diff --git a/Android.bp b/Android.bp
new file mode 100644
index 0000000..1bfbc0a
--- /dev/null
+++ b/Android.bp
@@ -0,0 +1,97 @@
+java_library {
+    name: "settings-logtags",
+    srcs: ["src/**/*.logtags"],
+}
+
+genrule {
+    name: "statslog-settings-java-gen",
+    tools: ["stats-log-api-gen"],
+    cmd: "$(location stats-log-api-gen) --java $(out) --module settings"
+        + " --javaPackage com.android.settings.core.instrumentation --javaClass SettingsStatsLog",
+    out: ["com/android/settings/core/instrumentation/SettingsStatsLog.java"],
+}
+
+java_library {
+    name: "statslog-settings",
+    srcs: [
+        ":statslog-settings-java-gen",
+    ],
+}
+
+// Build the Settings APK
+android_library {
+    name: "Settings-core",
+    platform_apis: true,
+    defaults: [
+        "SettingsLibDefaults",
+        "SettingsLib-search-defaults",
+    ],
+
+    srcs: ["src/**/*.java"],
+
+    static_libs: [
+        "androidx-constraintlayout_constraintlayout",
+        "androidx.slice_slice-builders",
+        "androidx.slice_slice-core",
+        "androidx.slice_slice-view",
+        "androidx.core_core",
+        "androidx.appcompat_appcompat",
+        "androidx.cardview_cardview",
+        "androidx.preference_preference",
+        "androidx.recyclerview_recyclerview",
+        "com.google.android.material_material",
+        "setupcompat",
+        "setupdesign",
+        "androidx-constraintlayout_constraintlayout-solver",
+        "androidx.lifecycle_lifecycle-runtime",
+        "androidx.lifecycle_lifecycle-extensions",
+        "guava",
+        "jsr305",
+        "settings-contextual-card-protos-lite",
+        "settings-log-bridge-protos-lite",
+        "contextualcards",
+        "settings-logtags",
+        "statslog-settings",
+        "zxing-core-1.7",
+        "android.hardware.dumpstate-V1.0-java",
+        "android.hardware.dumpstate-V1.1-java",
+    ],
+
+    libs: [
+        "telephony-common",
+        "ims-common",
+        "app-compat-annotations",
+    ],
+
+    plugins: [
+        "compat-changeid-annotation-processor",
+    ]
+}
+
+platform_compat_config {
+    name: "settings-platform-compat-config",
+    src: ":Settings-core",
+    system_ext_specific: true,
+}
+
+android_app {
+    name: "Settings",
+    platform_apis: true,
+    certificate: "platform",
+    system_ext_specific: true,
+    privileged: true,
+    required: [
+        "privapp_whitelist_com.android.settings",
+        "settings-platform-compat-config",
+    ],
+    static_libs: ["Settings-core"],
+    resource_dirs: [],
+    optimize: {
+        proguard_flags_files: ["proguard.flags"],
+    },
+}
+
+android_library_import {
+    name: "contextualcards",
+    aars: ["libs/contextualcards.aar"],
+}
diff --git a/Android.mk b/Android.mk
deleted file mode 100644
index 906cfc7..0000000
--- a/Android.mk
+++ /dev/null
@@ -1,78 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := \
-        $(call all-logtags-files-under, src)
-
-LOCAL_MODULE := settings-logtags
-
-include $(BUILD_STATIC_JAVA_LIBRARY)
-
-# Build the Settings APK
-include $(CLEAR_VARS)
-
-LOCAL_PACKAGE_NAME := Settings
-LOCAL_PRIVATE_PLATFORM_APIS := true
-LOCAL_CERTIFICATE := platform
-LOCAL_PRODUCT_MODULE := true
-LOCAL_PRIVILEGED_MODULE := true
-LOCAL_REQUIRED_MODULES := privapp_whitelist_com.android.settings
-LOCAL_MODULE_TAGS := optional
-LOCAL_USE_AAPT2 := true
-
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-
-LOCAL_STATIC_ANDROID_LIBRARIES := \
-    androidx-constraintlayout_constraintlayout \
-    androidx.slice_slice-builders \
-    androidx.slice_slice-core \
-    androidx.slice_slice-view \
-    androidx.core_core \
-    androidx.appcompat_appcompat \
-    androidx.cardview_cardview \
-    androidx.preference_preference \
-    androidx.recyclerview_recyclerview \
-    com.google.android.material_material \
-    setupcompat \
-    setupdesign
-
-LOCAL_JAVA_LIBRARIES := \
-    telephony-common \
-    ims-common
-
-LOCAL_STATIC_JAVA_LIBRARIES := \
-    androidx-constraintlayout_constraintlayout-solver \
-    androidx.lifecycle_lifecycle-runtime \
-    androidx.lifecycle_lifecycle-extensions \
-    guava \
-    jsr305 \
-    settings-contextual-card-protos-lite \
-    settings-log-bridge-protos-lite \
-    contextualcards \
-    settings-logtags \
-    zxing-core-1.7
-
-LOCAL_PROGUARD_FLAG_FILES := proguard.flags
-
-ifneq ($(INCREMENTAL_BUILDS),)
-    LOCAL_PROGUARD_ENABLED := disabled
-    LOCAL_JACK_ENABLED := incremental
-    LOCAL_JACK_FLAGS := --multi-dex native
-endif
-
-include frameworks/base/packages/SettingsLib/common.mk
-include frameworks/base/packages/SettingsLib/search/common.mk
-
-include $(BUILD_PACKAGE)
-
-# ====  prebuilt library  ========================
-include $(CLEAR_VARS)
-
-LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := \
-    contextualcards:libs/contextualcards.aar
-include $(BUILD_MULTI_PREBUILT)
-
-# Use the following include to make our test apk.
-ifeq (,$(ONE_SHOT_MAKEFILE))
-include $(call all-makefiles-under,$(LOCAL_PATH))
-endif
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 86cb3f2..17b498e 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -8,6 +8,7 @@
 
     <uses-permission android:name="android.permission.REQUEST_NETWORK_SCORES" />
     <uses-permission android:name="android.permission.WRITE_MEDIA_STORAGE" />
+    <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
     <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
     <uses-permission android:name="android.permission.WRITE_SETTINGS" />
@@ -30,8 +31,6 @@
     <uses-permission android:name="android.permission.WRITE_CONTACTS" />
     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
     <uses-permission android:name="android.permission.LOCAL_MAC_ADDRESS" />
-    <uses-permission android:name="android.permission.ACCESS_WIMAX_STATE" />
-    <uses-permission android:name="android.permission.CHANGE_WIMAX_STATE" />
     <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
     <uses-permission android:name="com.android.certinstaller.INSTALL_AS_USER" />
     <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
@@ -39,7 +38,9 @@
     <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" />
     <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
     <uses-permission android:name="android.permission.WRITE_APN_SETTINGS"/>
@@ -71,7 +72,7 @@
     <uses-permission android:name="android.permission.CONFIGURE_WIFI_DISPLAY" />
     <uses-permission android:name="android.permission.CONFIGURE_DISPLAY_COLOR_MODE" />
     <uses-permission android:name="android.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS" />
-    <uses-permission android:name="android.permission.SET_TIME" />
+    <uses-permission android:name="android.permission.SUGGEST_MANUAL_TIME_AND_ZONE" />
     <uses-permission android:name="android.permission.ACCESS_NOTIFICATIONS" />
     <uses-permission android:name="android.permission.REBOOT" />
     <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
@@ -81,7 +82,6 @@
     <uses-permission android:name="android.permission.OEM_UNLOCK_STATE" />
     <uses-permission android:name="android.permission.MANAGE_USER_OEM_UNLOCK_STATE" />
     <uses-permission android:name="android.permission.OVERRIDE_WIFI_CONFIG" />
-    <uses-permission android:name="android.permission.USE_FINGERPRINT" />
     <uses-permission android:name="android.permission.MANAGE_FINGERPRINT" />
     <uses-permission android:name="android.permission.USE_BIOMETRIC" />
     <uses-permission android:name="android.permission.USE_BIOMETRIC_INTERNAL" />
@@ -101,6 +101,8 @@
     <uses-permission android:name="android.permission.MANAGE_SCOPED_ACCESS_DIRECTORY_PERMISSIONS" />
     <uses-permission android:name="android.permission.CAMERA" />
     <uses-permission android:name="android.permission.MEDIA_CONTENT_CONTROL" />
+    <uses-permission android:name="android.permission.INSTALL_DYNAMIC_SYSTEM" />
+    <uses-permission android:name="android.permission.BIND_CELL_BROADCAST_SERVICE" />
 
     <application android:label="@string/settings_label"
             android:icon="@drawable/ic_launcher_settings"
@@ -120,7 +122,9 @@
         <activity android:name=".homepage.SettingsHomepageActivity"
                   android:label="@string/settings_label_launcher"
                   android:theme="@style/Theme.Settings.Home"
-                  android:launchMode="singleTask">
+                  android:taskAffinity="com.android.settings.root"
+                  android:launchMode="singleTask"
+                  android:configChanges="keyboard|keyboardHidden">
             <intent-filter android:priority="1">
                 <action android:name="android.settings.SETTINGS" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -134,6 +138,8 @@
                   android:theme="@style/Theme.Settings.Home"
                   android:launchMode="singleTask">
             <intent-filter android:priority="1">
+                <!-- Displays the MobileNetworkActivity and opt-in dialog for capability discovery. -->
+                <action android:name="android.telephony.ims.action.SHOW_CAPABILITY_DISCOVERY_OPT_IN" />
                 <action android:name="android.settings.NETWORK_OPERATOR_SETTINGS" />
                 <action android:name="android.settings.DATA_ROAMING_SETTINGS" />
                 <action android:name="android.settings.MMS_MESSAGE_SETTING" />
@@ -144,6 +150,7 @@
         <!-- Alias for launcher activity only, as this belongs to each profile. -->
         <activity-alias android:name="Settings"
                 android:label="@string/settings_label_launcher"
+                android:taskAffinity="com.android.settings.root"
                 android:launchMode="singleTask"
                 android:targetActivity=".homepage.SettingsHomepageActivity">
             <intent-filter>
@@ -161,9 +168,7 @@
             </intent-filter>
         </receiver>
 
-        <activity android:name=".SubSettings"
-                android:parentActivityName="Settings"
-                android:theme="@style/Theme.SubSettings"/>
+        <activity android:name=".SubSettings"/>
 
         <activity android:name=".Settings$CreateShortcutActivity"
                   android:label="@string/settings_shortcut">
@@ -180,8 +185,7 @@
         <activity
             android:name=".Settings$NetworkDashboardActivity"
             android:label="@string/network_dashboard_title"
-            android:icon="@drawable/ic_homepage_network"
-            android:parentActivityName="Settings">
+            android:icon="@drawable/ic_homepage_network">
             <intent-filter android:priority="1">
                 <action android:name="android.settings.WIRELESS_SETTINGS" />
                 <action android:name="android.settings.AIRPLANE_MODE_SETTINGS" />
@@ -200,8 +204,7 @@
         </activity>
 
         <activity android:name=".Settings$MobileNetworkListActivity"
-                  android:label="@string/network_settings_title"
-                  android:parentActivityName="Settings$NetworkDashboardActivity">
+                  android:label="@string/network_settings_title">
             <intent-filter android:priority="1">
                 <action android:name="android.settings.MOBILE_NETWORK_LIST" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -215,8 +218,7 @@
         <activity
             android:name=".Settings$ConnectedDeviceDashboardActivity"
             android:label="@string/connected_devices_dashboard_title"
-            android:icon="@drawable/ic_homepage_connected_device"
-            android:parentActivityName="Settings">
+            android:icon="@drawable/ic_devices_other">
             <intent-filter android:priority="1">
                 <action android:name="android.settings.BLUETOOTH_SETTINGS" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -252,8 +254,7 @@
             android:name="Settings$WifiSettingsActivity"
             android:label="@string/wifi_settings"
             android:icon="@drawable/ic_settings_wireless"
-            android:configChanges="orientation|keyboardHidden|screenSize"
-            android:parentActivityName="Settings">
+            android:configChanges="orientation|keyboardHidden|screenSize">
             <intent-filter android:priority="1">
                 <action android:name="android.settings.WIFI_SETTINGS" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -269,8 +270,26 @@
         </activity>
 
         <activity
-            android:name=".wifi.WifiPickerActivity"
-            android:parentActivityName="Settings">
+            android:name="Settings$WifiSettings2Activity"
+            android:label="@string/wifi_settings"
+            android:icon="@drawable/ic_settings_wireless"
+            android:configChanges="orientation|keyboardHidden|screenSize">
+            <intent-filter android:priority="1">
+                <action android:name="android.settings.WIFI_SETTINGS2" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+            <intent-filter android:priority="1">
+                <action android:name="android.intent.action.MAIN" />
+                <category android:name="com.android.settings.SHORTCUT" />
+            </intent-filter>
+            <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+                       android:value="com.android.settings.wifi.WifiSettings2" />
+            <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
+                       android:value="true" />
+        </activity>
+
+        <activity
+            android:name=".wifi.WifiPickerActivity">
             <intent-filter android:priority="1">
                 <action android:name="android.net.wifi.PICK_WIFI_NETWORK" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -283,8 +302,7 @@
             android:name="Settings$ConfigureWifiSettingsActivity"
             android:label="@string/wifi_configure_settings_preference_title"
             android:icon="@drawable/ic_settings_wireless"
-            android:configChanges="orientation|keyboardHidden|screenSize"
-            android:parentActivityName="Settings">
+            android:configChanges="orientation|keyboardHidden|screenSize">
             <intent-filter android:priority="1">
                 <action android:name="android.settings.WIFI_IP_SETTINGS" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -304,8 +322,7 @@
             android:name="Settings$SavedAccessPointsSettingsActivity"
             android:label="@string/wifi_saved_access_points_label"
             android:icon="@drawable/ic_settings_wireless"
-            android:configChanges="orientation|keyboardHidden|screenSize"
-            android:parentActivityName="Settings">
+            android:configChanges="orientation|keyboardHidden|screenSize">
             <intent-filter android:priority="1">
                 <action android:name="android.settings.WIFI_SAVED_NETWORK_SETTINGS" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -370,13 +387,10 @@
                 android:value="true" />
         </activity>
 
-        <!-- Runs in the phone process since it needs access to UiccController -->
         <activity android:name="Settings$ApnSettingsActivity"
                 android:label="@string/apn_settings"
                 android:launchMode="singleTask"
-                android:configChanges="orientation|keyboardHidden|screenSize"
-                android:parentActivityName="Settings$NetworkDashboardActivity"
-                android:process="com.android.phone">
+                android:configChanges="orientation|keyboardHidden|screenSize">
             <intent-filter android:priority="1">
                 <action android:name="android.settings.APN_SETTINGS" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -477,10 +491,10 @@
         <activity
             android:name="Settings$TetherSettingsActivity"
             android:label="@string/tether_settings_title_all"
-            android:icon="@drawable/ic_settings_wireless"
-            android:parentActivityName="Settings">
+            android:icon="@drawable/ic_settings_wireless">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
+                <action android:name="android.settings.TETHER_SETTINGS" />
                 <category android:name="android.intent.category.DEFAULT" />
                 <category android:name="android.intent.category.VOICE_LAUNCH" />
             </intent-filter>
@@ -491,8 +505,7 @@
         <activity
             android:name="Settings$WifiTetherSettingsActivity"
             android:label="@string/wifi_hotspot_checkbox_text"
-            android:icon="@drawable/ic_wifi_tethering"
-            android:parentActivityName="Settings">
+            android:icon="@drawable/ic_wifi_tethering">
             <intent-filter>
                 <action android:name="com.android.settings.WIFI_TETHER_SETTINGS" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -516,8 +529,7 @@
                 android:value="com.android.settings.TetherSettings" />
         </activity-alias>
 
-        <activity android:name="Settings$WifiP2pSettingsActivity"
-                  android:parentActivityName="Settings">
+        <activity android:name="Settings$WifiP2pSettingsActivity">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -530,8 +542,7 @@
         <activity
             android:name="Settings$VpnSettingsActivity"
             android:label="@string/vpn_settings_title"
-            android:icon="@drawable/ic_settings_wireless"
-            android:parentActivityName="Settings">
+            android:icon="@drawable/ic_settings_wireless">
             <intent-filter android:priority="1">
                 <action android:name="android.settings.VPN_SETTINGS" />
                 <action android:name="android.net.vpn.SETTINGS" />
@@ -549,8 +560,7 @@
 
         <activity
             android:name="Settings$DataSaverSummaryActivity"
-            android:label="@string/data_saver_title"
-            android:parentActivityName="Settings">
+            android:label="@string/data_saver_title">
             <intent-filter android:priority="1">
                 <action android:name="android.settings.DATA_SAVER_SETTINGS" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -562,8 +572,7 @@
         <activity
             android:name="Settings$DateTimeSettingsActivity"
             android:label="@string/date_and_time"
-            android:icon="@drawable/ic_settings_date_time"
-            android:parentActivityName="Settings">
+            android:icon="@drawable/ic_settings_date_time">
             <intent-filter android:priority="1">
                 <action android:name="android.settings.DATE_SETTINGS" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -574,14 +583,8 @@
                 <category android:name="android.intent.category.VOICE_LAUNCH" />
                 <category android:name="android.intent.category.DEFAULT" />
             </intent-filter>
-            <intent-filter>
-                <action android:name="com.android.settings.action.SETTINGS" />
-            </intent-filter>
-            <meta-data android:name="com.android.settings.category"
-                android:value="com.android.settings.category.ia.system" />
-            <meta-data android:name="com.android.settings.order" android:value="-240"/>
             <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
-                android:value="com.android.settings.DateTimeSettings" />
+                android:value="com.android.settings.datetime.DateTimeSettings" />
             <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
                 android:value="true" />
         </activity>
@@ -589,8 +592,7 @@
         <activity
             android:name="Settings$LocalePickerActivity"
             android:label="@string/language_picker_title"
-            android:icon="@drawable/ic_settings_language"
-            android:parentActivityName="Settings$LanguageAndInputSettingsActivity">
+            android:icon="@drawable/ic_settings_language">
             <intent-filter android:priority="1">
                 <action android:name="android.settings.LOCALE_SETTINGS" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -615,19 +617,12 @@
         <activity
             android:name=".Settings$LanguageAndInputSettingsActivity"
             android:label="@string/language_settings"
-            android:icon="@drawable/ic_settings_language"
-            android:parentActivityName="Settings">
+            android:icon="@drawable/ic_settings_language">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <category android:name="android.intent.category.VOICE_LAUNCH" />
                 <category android:name="android.intent.category.DEFAULT" />
             </intent-filter>
-            <intent-filter>
-                <action android:name="com.android.settings.action.SETTINGS"/>
-            </intent-filter>
-            <meta-data android:name="com.android.settings.order" android:value="-260"/>
-            <meta-data android:name="com.android.settings.category"
-                       android:value="com.android.settings.category.ia.system"/>
             <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
                        android:value="com.android.settings.language.LanguageAndInputSettings"/>
             <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
@@ -686,8 +681,7 @@
 
         <activity
             android:name="Settings$SpellCheckersSettingsActivity"
-            android:label="@string/spellcheckers_settings_title"
-            android:parentActivityName="Settings">
+            android:label="@string/spellcheckers_settings_title">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <category android:name="android.intent.category.VOICE_LAUNCH" />
@@ -713,8 +707,7 @@
 
         <activity
             android:name="Settings$UserDictionarySettingsActivity"
-            android:label="@string/user_dict_settings_title"
-            android:parentActivityName="Settings">
+            android:label="@string/user_dict_settings_title">
             <intent-filter android:priority="1">
                 <action android:name="android.settings.USER_DICTIONARY_SETTINGS" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -759,13 +752,13 @@
                 <category android:name="com.android.settings.SHORTCUT" />
             </intent-filter>
             <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
-                android:value="com.android.settings.notification.ZenModeSettings" />
+                android:value="com.android.settings.notification.zen.ZenModeSettings" />
             <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
                 android:value="true" />
         </activity>
 
         <activity
-            android:name=".notification.ZenSuggestionActivity"
+            android:name=".notification.zen.ZenSuggestionActivity"
             android:label="@string/zen_mode_settings_title"
             android:icon="@drawable/ic_suggestion_dnd"
             android:theme="@android:style/Theme.NoDisplay">
@@ -787,12 +780,11 @@
         </activity>
 
         <activity
-            android:name=".notification.ZenOnboardingActivity"
+            android:name=".notification.zen.ZenOnboardingActivity"
             android:label="@string/zen_onboarding_dnd_visual_disturbances_header"
             android:icon="@drawable/ic_notifications"
             android:theme="@*android:style/Theme.DeviceDefault.Settings.Dialog.NoActionBar"
-            android:exported="true"
-            android:parentActivityName="Settings">
+            android:exported="true">
             <intent-filter android:priority="1">
                 <action android:name="android.settings.ZEN_MODE_ONBOARDING" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -802,8 +794,7 @@
             android:name="Settings$ZenModeAutomationSettingsActivity"
             android:label="@string/zen_mode_automation_settings_title"
             android:icon="@drawable/ic_notifications"
-            android:exported="true"
-            android:parentActivityName="Settings$ZenModeSettingsActivity">
+            android:exported="true">
             <intent-filter android:priority="1">
                 <action android:name="android.settings.ZEN_MODE_AUTOMATION_SETTINGS" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -813,7 +804,7 @@
                 <category android:name="android.intent.category.DEFAULT" />
             </intent-filter>
             <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
-                       android:value="com.android.settings.notification.ZenModeAutomationSettings" />
+                       android:value="com.android.settings.notification.zen.ZenModeAutomationSettings" />
             <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
                        android:value="true" />
         </activity>
@@ -866,8 +857,7 @@
 
         <activity
             android:name="Settings$ZenModeScheduleRuleSettingsActivity"
-            android:exported="true"
-            android:parentActivityName="Settings$ZenModeAutomationSettingsActivity">
+            android:exported="true">
             <intent-filter android:priority="1">
                 <action android:name="android.settings.ZEN_MODE_SCHEDULE_RULE_SETTINGS" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -877,21 +867,20 @@
                 <category android:name="android.intent.category.DEFAULT" />
             </intent-filter>
             <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
-                android:value="com.android.settings.notification.ZenModeScheduleRuleSettings" />
+                android:value="com.android.settings.notification.zen.ZenModeScheduleRuleSettings" />
             <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
                 android:value="true" />
         </activity>
 
         <activity
             android:name="Settings$ZenModeEventRuleSettingsActivity"
-            android:exported="true"
-            android:parentActivityName="Settings$ZenModeAutomationSettingsActivity">
+            android:exported="true">
             <intent-filter android:priority="1">
                 <action android:name="android.settings.ZEN_MODE_EVENT_RULE_SETTINGS" />
                 <category android:name="android.intent.category.DEFAULT" />
             </intent-filter>
             <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
-                android:value="com.android.settings.notification.ZenModeEventRuleSettings" />
+                android:value="com.android.settings.notification.zen.ZenModeEventRuleSettings" />
             <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
                 android:value="true" />
         </activity>
@@ -899,8 +888,7 @@
         <activity
             android:name="Settings$DisplaySettingsActivity"
             android:label="@string/display_settings"
-            android:icon="@drawable/ic_homepage_display"
-            android:parentActivityName="Settings">
+            android:icon="@drawable/ic_homepage_display">
             <intent-filter android:priority="1">
                 <action android:name="com.android.settings.DISPLAY_SETTINGS" />
                 <action android:name="android.settings.DISPLAY_SETTINGS" />
@@ -994,8 +982,7 @@
         <activity
             android:name="SettingsLicenseActivity"
             android:label="@string/settings_license_activity_title"
-            android:configChanges="orientation|screenSize"
-            android:parentActivityName="Settings">
+            android:configChanges="orientation|screenSize">
             <intent-filter android:priority="1">
                 <action android:name="android.settings.LICENSE" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -1046,8 +1033,7 @@
 
         <activity
             android:name="Settings$ManageDomainUrlsActivity"
-            android:label="@string/domain_urls_title"
-            android:parentActivityName="Settings">
+            android:label="@string/domain_urls_title">
             <intent-filter>
                 <action android:name="android.settings.MANAGE_DOMAIN_URLS" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -1069,8 +1055,7 @@
 
         <activity
             android:name="Settings$HighPowerApplicationsActivity"
-            android:label="@string/high_power_apps"
-            android:parentActivityName="Settings">
+            android:label="@string/high_power_apps">
             <intent-filter android:priority="1">
                 <action android:name="android.settings.IGNORE_BATTERY_OPTIMIZATION_SETTINGS" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -1168,8 +1153,7 @@
 
         <!-- Provide direct entry into manage apps showing running services. -->
         <activity android:name="Settings$RunningServicesActivity"
-                android:label="@string/runningservices_settings_title"
-                android:parentActivityName="Settings">
+                android:label="@string/runningservices_settings_title">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -1185,8 +1169,7 @@
         <!-- Provide direct entry into manage apps showing storage usage of apps. -->
         <activity
             android:name="Settings$StorageUseActivity"
-            android:label="@string/storageuse_settings_title"
-            android:parentActivityName="Settings">
+            android:label="@string/storageuse_settings_title">
             <intent-filter android:priority="1">
                 <action android:name="android.intent.action.MANAGE_PACKAGE_STORAGE" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -1205,17 +1188,29 @@
 
         <activity
             android:name="Settings$NotificationStationActivity"
-            android:label="@string/notification_log_title"
-            android:parentActivityName="Settings">
+            android:label="@string/notification_log_title">
             <intent-filter android:priority="22">
                 <action android:name="android.intent.action.MAIN" />
                 <category android:name="com.android.settings.SHORTCUT" />
             </intent-filter>
             <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
-                android:value="com.android.settings.notification.NotificationStation" />
+                android:value="com.android.settings.notification.history.NotificationStation" />
         </activity>
 
-        <activity android:name=".notification.ZenModeVoiceActivity"
+        <activity
+            android:name=".notification.history.NotificationHistoryActivity"
+            android:label="@string/notification_history_title">
+            <intent-filter android:priority="1">
+                <action android:name="android.settings.NOTIFICATION_HISTORY" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+        </activity>
+
+        <activity android:name=".notification.zen.ZenModeVoiceActivity"
                 android:theme="@*android:style/Theme.DeviceDefault.Settings.Dialog.NoActionBar"
                 android:label="@string/zen_mode_settings_title">
             <intent-filter>
@@ -1228,9 +1223,8 @@
         <activity
             android:name="Settings$LocationSettingsActivity"
             android:label="@string/location_settings_title"
-            android:icon="@drawable/ic_homepage_location"
-            android:configChanges="orientation|keyboardHidden|screenSize"
-            android:parentActivityName="Settings">
+            android:icon="@drawable/ic_settings_location"
+            android:configChanges="orientation|keyboardHidden|screenSize">
             <intent-filter android:priority="1">
                 <action android:name="android.settings.LOCATION_SOURCE_SETTINGS" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -1248,8 +1242,7 @@
             android:name="Settings$ScanningSettingsActivity"
             android:label="@string/location_scanning_screen_title"
             android:icon="@drawable/ic_homepage_location"
-            android:configChanges="orientation|keyboardHidden|screenSize"
-            android:parentActivityName="Settings">
+            android:configChanges="orientation|keyboardHidden|screenSize">
             <intent-filter android:priority="1">
                 <action android:name="android.settings.LOCATION_SCANNING_SETTINGS" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -1264,8 +1257,7 @@
             android:name=".Settings$SecurityDashboardActivity"
             android:label="@string/security_settings_title"
             android:icon="@drawable/ic_homepage_security"
-            android:configChanges="orientation|keyboardHidden|screenSize"
-            android:parentActivityName="Settings">
+            android:configChanges="orientation|keyboardHidden|screenSize">
             <intent-filter android:priority="1">
                 <action android:name="android.settings.SECURITY_SETTINGS" />
                 <action android:name="android.credentials.UNLOCK" />
@@ -1295,8 +1287,7 @@
         <activity
             android:name="Settings$TrustedCredentialsSettingsActivity"
             android:label="@string/trusted_credentials"
-            android:icon="@drawable/ic_settings_security"
-            android:parentActivityName="Settings">
+            android:icon="@drawable/ic_settings_security">
             <intent-filter android:priority="1">
                 <action android:name="com.android.settings.TRUSTED_CREDENTIALS" />
                 <action android:name="com.android.settings.TRUSTED_CREDENTIALS_USER" />
@@ -1311,8 +1302,7 @@
         <activity android:name="Settings$PrivacySettingsActivity"
                 android:label="@string/privacy_settings_title"
                 android:icon="@drawable/ic_settings_backup"
-                android:configChanges="orientation|keyboardHidden|screenSize"
-                android:parentActivityName="Settings">
+                android:configChanges="orientation|keyboardHidden|screenSize">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -1356,10 +1346,14 @@
             </intent-filter>
         </activity>
 
+        <activity android:name=".security.InstallCaCertificateWarning"
+                  android:theme="@style/GlifV3Theme.Light"
+                  android:exported="false">
+        </activity>
+
         <activity
             android:name="Settings$DeviceAdminSettingsActivity"
-            android:label="@string/device_admin_settings_title"
-            android:parentActivityName="Settings">
+            android:label="@string/device_admin_settings_title">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -1406,12 +1400,13 @@
             </intent-filter>
             <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
                 android:value="com.android.settings.applications.manageapplications.ManageApplications" />
+            <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
+                       android:value="true" />
         </activity>
 
         <activity
             android:name="Settings$AppUsageAccessSettingsActivity"
-            android:label="@string/usage_access_title"
-            android:parentActivityName="Settings">
+            android:label="@string/usage_access_title">
             <intent-filter>
                 <action android:name="android.settings.USAGE_ACCESS_SETTINGS"/>
                 <category android:name="android.intent.category.DEFAULT"/>
@@ -1423,8 +1418,7 @@
         </activity>
 
         <activity android:name="Settings$IccLockSettingsActivity"
-                android:label="@string/sim_lock_settings"
-                android:process="com.android.phone">
+                android:label="@string/sim_lock_settings">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -1438,8 +1432,7 @@
             android:name="Settings$AccessibilitySettingsActivity"
             android:label="@string/accessibility_settings"
             android:icon="@drawable/ic_homepage_accessibility"
-            android:configChanges="orientation|keyboardHidden|screenSize"
-            android:parentActivityName="Settings">
+            android:configChanges="orientation|keyboardHidden|screenSize">
             <intent-filter android:priority="1">
                 <action android:name="android.settings.ACCESSIBILITY_SETTINGS" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -1500,8 +1493,7 @@
 
         <activity
             android:name="Settings$AccessibilityDaltonizerSettingsActivity"
-            android:label="@string/accessibility_display_daltonizer_preference_title"
-            android:parentActivityName="Settings">
+            android:label="@string/accessibility_display_daltonizer_preference_title">
             <intent-filter android:priority="1">
                 <action android:name="com.android.settings.ACCESSIBILITY_COLOR_SPACE_SETTINGS" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -1518,8 +1510,7 @@
 
         <activity
             android:name="Settings$CaptioningSettingsActivity"
-            android:label="@string/accessibility_captioning_title"
-            android:parentActivityName="Settings">
+            android:label="@string/accessibility_captioning_title">
             <intent-filter android:priority="1">
                 <action android:name="android.settings.CAPTIONING_SETTINGS" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -1550,8 +1541,7 @@
 
         <activity
             android:name="Settings$EnterprisePrivacySettingsActivity"
-            android:label="@string/enterprise_privacy_settings"
-            android:parentActivityName="Settings">
+            android:label="@string/enterprise_privacy_settings">
             <intent-filter>
                 <action android:name="android.settings.ENTERPRISE_PRIVACY_SETTINGS" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -1625,6 +1615,10 @@
             android:windowSoftInputMode="stateHidden|adjustResize"
             android:theme="@style/GlifTheme.Light"/>
 
+        <activity android:name=".password.ForgotPasswordActivity"
+            android:theme="@style/GlifV3Theme.Light"
+            android:exported="false"/>
+
         <activity android:name=".biometrics.face.FaceEnrollIntroduction"
             android:exported="false"
             android:screenOrientation="portrait"/>
@@ -1816,8 +1810,7 @@
         <activity
             android:name=".Settings$StorageDashboardActivity"
             android:label="@string/storage_settings"
-            android:icon="@drawable/ic_homepage_storage"
-            android:parentActivityName="Settings">
+            android:icon="@drawable/ic_homepage_storage">
             <intent-filter android:priority="1">
                 <action android:name="android.settings.INTERNAL_STORAGE_SETTINGS" />
                 <action android:name="android.settings.MEMORY_CARD_SETTINGS" />
@@ -1842,8 +1835,7 @@
 
         <activity
             android:name="Settings$PublicVolumeSettingsActivity"
-            android:label="@string/storage_settings_title"
-            android:parentActivityName="Settings">
+            android:label="@string/storage_settings_title">
             <intent-filter>
                 <action android:name="android.provider.action.DOCUMENT_ROOT_SETTINGS" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -1924,7 +1916,6 @@
             android:name="Settings$DevelopmentSettingsDashboardActivity"
             android:label="@string/development_settings_title"
             android:icon="@drawable/ic_settings_development"
-            android:parentActivityName="Settings"
             android:enabled="false">
             <intent-filter android:priority="1">
                 <action android:name="android.settings.APPLICATION_DEVELOPMENT_SETTINGS" />
@@ -1963,8 +1954,7 @@
         <activity
             android:name="Settings$PrintSettingsActivity"
             android:label="@string/print_settings"
-            android:icon="@drawable/ic_settings_print"
-            android:parentActivityName="Settings">
+            android:icon="@drawable/ic_settings_print">
             <intent-filter android:priority="1">
                 <action android:name="android.settings.ACTION_PRINT_SETTINGS" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -1979,8 +1969,7 @@
         </activity>
 
         <activity android:name="Settings$PrintJobSettingsActivity"
-                android:label="@string/print_print_job"
-                android:parentActivityName="Settings$PrintSettingsActivity">
+                android:label="@string/print_print_job">
             <intent-filter android:priority="1">
                 <action android:name="android.settings.ACTION_PRINT_SETTINGS" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -1994,9 +1983,28 @@
                   android:label="@string/select_application"
                   android:theme="@android:style/Theme.DeviceDefault.Light.Dialog" />
 
+        <activity android:name=".development.DSULoader"
+                  android:label="Select DSU Package"
+                  android:theme="@android:style/Theme.DeviceDefault.Light.Dialog" />
+        <activity android:name=".development.DSUTermsOfServiceActivity"
+                  android:label="Terms of Service"
+                  android:theme="@android:style/Theme.DeviceDefault.Light.Dialog" />
+
         <activity android:name="Settings$WebViewAppPickerActivity"
                   android:label="@string/select_webview_provider_dialog_title" />
 
+        <activity android:name="Settings$BugReportHandlerPickerActivity"
+            android:label="@string/bug_report_handler_title"
+            android:exported="true"
+            android:excludeFromRecents="true">
+            <intent-filter>
+                <action android:name="android.settings.BUGREPORT_HANDLER_SETTINGS" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+            <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+                android:value="com.android.settings.bugreporthandler.BugReportHandlerPicker" />
+        </activity>
+
         <activity android:name=".bluetooth.BluetoothPairingDialog"
                   android:excludeFromRecents="true"
                   android:windowSoftInputMode="stateVisible|adjustResize"
@@ -2096,8 +2104,7 @@
         <!-- NFC settings -->
         <activity
             android:name="Settings$AndroidBeamSettingsActivity"
-            android:label="@string/android_beam_settings_title"
-            android:parentActivityName="Settings">
+            android:label="@string/android_beam_settings_title">
             <intent-filter android:priority="1">
                 <action android:name="android.settings.NFCSHARING_SETTINGS" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -2111,42 +2118,15 @@
         <activity
             android:name="Settings$WifiDisplaySettingsActivity"
             android:label="@string/wifi_display_settings_title"
-            android:icon="@drawable/ic_cast_24dp"
-            android:parentActivityName="Settings">
+            android:icon="@drawable/ic_cast_24dp">
             <intent-filter android:priority="1">
                 <action android:name="android.settings.CAST_SETTINGS" />
                 <category android:name="android.intent.category.DEFAULT" />
             </intent-filter>
-            <intent-filter>
-                <action android:name="com.android.settings.action.SETTINGS"/>
-            </intent-filter>
-            <meta-data android:name="com.android.settings.order" android:value="-6"/>
-            <meta-data android:name="com.android.settings.category"
-                       android:value="com.android.settings.category.ia.device" />
             <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
                 android:value="com.android.settings.wfd.WifiDisplaySettings" />
         </activity>
 
-        <activity
-            android:name="RadioInfo"
-            android:label="@string/phone_info_label"
-            android:process="com.android.phone">
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN" />
-                <category android:name="android.intent.category.DEVELOPMENT_PREFERENCE" />
-            </intent-filter>
-        </activity>
-
-        <activity android:name="BandMode"
-                  android:label="@string/band_mode_title"
-                  android:process="com.android.phone">
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN" />
-                <category android:name="android.intent.category.DEFAULT" />
-                <category android:name="android.intent.category.VOICE_LAUNCH" />
-            </intent-filter>
-        </activity>
-
         <activity android:name="Settings$TestingSettingsActivity" android:label="@string/testing">
             <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
                 android:value="com.android.settings.TestingSettings" />
@@ -2154,7 +2134,7 @@
 
         <receiver android:name=".TestingSettingsBroadcastReceiver">
             <intent-filter>
-                 <action android:name="android.provider.Telephony.SECRET_CODE" />
+                 <action android:name="android.telephony.action.SECRET_CODE" />
                  <data android:scheme="android_secret_code" android:host="4636" />
             </intent-filter>
        </receiver>
@@ -2181,8 +2161,7 @@
         </activity>
 
         <activity android:name="UsageStatsActivity"
-                  android:label="@string/usage_stats_label"
-                  android:parentActivityName="Settings">
+                  android:label="@string/usage_stats_label">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <category android:name="android.intent.category.DEVELOPMENT_PREFERENCE" />
@@ -2192,8 +2171,7 @@
         <activity
             android:name="Settings$PowerUsageSummaryActivity"
             android:label="@string/power_usage_summary_title"
-            android:icon="@drawable/ic_settings_battery"
-            android:parentActivityName="Settings">
+            android:icon="@drawable/ic_settings_battery">
             <intent-filter android:priority="1">
                 <action android:name="android.intent.action.POWER_USAGE_SUMMARY" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -2209,8 +2187,7 @@
         <activity
             android:name="Settings$BatterySaverSettingsActivity"
             android:label="@string/battery_saver"
-            android:icon="@drawable/ic_settings_battery"
-            android:parentActivityName="Settings">
+            android:icon="@drawable/ic_settings_battery">
             <intent-filter android:priority="1">
                 <action android:name="android.settings.BATTERY_SAVER_SETTINGS" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -2234,8 +2211,7 @@
 
         <activity
             android:name="Settings$AccountSyncSettingsActivity"
-            android:label="@string/account_sync_settings_title"
-            android:parentActivityName="Settings">
+            android:label="@string/account_sync_settings_title">
             <intent-filter android:priority="1">
                 <action android:name="android.settings.ACCOUNT_SYNC_SETTINGS" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -2248,7 +2224,6 @@
         <activity
             android:name="Settings$ManagedProfileSettingsActivity"
             android:label="@string/managed_profile_settings_title"
-            android:parentActivityName="Settings"
             android:permission="android.permission.MANAGE_USERS">
             <intent-filter android:priority="1">
                 <action android:name="android.settings.MANAGED_PROFILE_SETTINGS" />
@@ -2262,8 +2237,7 @@
             android:name="com.android.settings.accounts.AddAccountSettings"
             android:theme="@android:style/Theme.Translucent.NoTitleBar"
             android:configChanges="orientation|keyboardHidden|screenSize"
-            android:label="@string/header_add_an_account"
-            android:parentActivityName="Settings">
+            android:label="@string/header_add_an_account">
             <intent-filter android:priority="1">
                 <action android:name="android.settings.ADD_ACCOUNT_SETTINGS" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -2336,8 +2310,7 @@
         <activity
             android:name="Settings$DataUsageSummaryActivity"
             android:label="@string/data_usage_summary_title"
-            android:icon="@drawable/ic_settings_data_usage"
-            android:parentActivityName="Settings">
+            android:icon="@drawable/ic_settings_data_usage">
             <intent-filter android:priority="1">
                 <action android:name="android.settings.DATA_USAGE_SETTINGS" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -2346,16 +2319,12 @@
                 <action android:name="android.intent.action.MAIN" />
                 <category android:name="com.android.settings.SHORTCUT" />
             </intent-filter>
-            <intent-filter>
-                <action android:name="com.android.settings.action.SETTINGS" />
-            </intent-filter>
             <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
                 android:value="com.android.settings.datausage.DataUsageSummary" />
         </activity>
         <activity
             android:name="Settings$MobileDataUsageListActivity"
-            android:label="@string/cellular_data_usage"
-            android:parentActivityName="Settings">
+            android:label="@string/cellular_data_usage">
             <intent-filter android:priority="1">
                 <action android:name="android.settings.MOBILE_DATA_USAGE" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -2367,8 +2336,7 @@
         <activity
             android:name="Settings$DreamSettingsActivity"
             android:label="@string/screensaver_settings_title"
-            android:icon="@drawable/ic_settings_display"
-            android:parentActivityName="Settings">
+            android:icon="@drawable/ic_settings_display">
             <intent-filter android:priority="1">
                 <action android:name="android.settings.DREAM_SETTINGS" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -2382,8 +2350,7 @@
         <activity
             android:name="Settings$UserSettingsActivity"
             android:label="@string/user_settings_title"
-            android:icon="@drawable/ic_settings_multiuser"
-            android:parentActivityName="Settings">
+            android:icon="@drawable/ic_settings_multiuser">
             <intent-filter android:priority="1">
                 <action android:name="android.settings.USER_SETTINGS" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -2393,18 +2360,19 @@
             </intent-filter>
             <meta-data android:name="com.android.settings.order" android:value="-45"/>
             <meta-data android:name="com.android.settings.category"
-                android:value="com.android.settings.category.ia.system" />
+                       android:value="com.android.settings.category.ia.system" />
+            <meta-data android:name="com.android.settings.summary_uri"
+                       android:value="content://com.android.settings.dashboard.SummaryProvider/user" />
             <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
-                android:value="com.android.settings.users.UserSettings" />
+                       android:value="com.android.settings.users.UserSettings" />
             <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
-                android:value="true" />
+                       android:value="true" />
         </activity>
 
         <activity
             android:name="Settings$PaymentSettingsActivity"
             android:label="@string/nfc_payment_settings_title"
-            android:icon="@drawable/ic_settings_nfc_payment"
-            android:parentActivityName="Settings">
+            android:icon="@drawable/ic_settings_nfc_payment">
             <intent-filter android:priority="1">
                 <action android:name="android.settings.NFC_PAYMENT_SETTINGS" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -2433,14 +2401,12 @@
 
         <activity android:name=".nfc.HowItWorks"
                   android:label="@string/nfc_payment_settings_title"
-                  android:parentActivityName="Settings$PaymentSettingsActivity"
                   android:excludeFromRecents="true">
         </activity>
 
         <activity
             android:name="Settings$NotificationAccessSettingsActivity"
-            android:label="@string/manage_notification_access_title"
-            android:parentActivityName="Settings">
+            android:label="@string/manage_notification_access_title">
             <intent-filter android:priority="1">
                 <action android:name="android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -2450,9 +2416,19 @@
         </activity>
 
         <activity
+            android:name="Settings$NotificationAccessDetailsActivity"
+            android:label="@string/manage_notification_access_title" >
+            <intent-filter android:priority="1">
+                <action android:name="android.settings.NOTIFICATION_LISTENER_DETAIL_SETTINGS" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+            <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+                       android:value="com.android.settings.applications.specialaccess.notificationaccess.NotificationAccessDetails" />
+        </activity>
+
+        <activity
             android:name="Settings$NotificationAssistantSettingsActivity"
-            android:label="@string/notification_assistant_title"
-            android:parentActivityName="Settings">
+            android:label="@string/notification_assistant_title">
             <intent-filter android:priority="1">
                 <action android:name="android.settings.NOTIFICATION_ASSISTANT_SETTINGS" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -2463,8 +2439,7 @@
 
         <activity
             android:name="Settings$VrListenersSettingsActivity"
-            android:label="@string/vr_listeners_title"
-            android:parentActivityName="Settings">
+            android:label="@string/vr_listeners_title">
             <intent-filter android:priority="1">
                 <action android:name="android.settings.VR_LISTENER_SETTINGS" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -2475,8 +2450,7 @@
 
         <activity
             android:name="Settings$PictureInPictureSettingsActivity"
-            android:label="@string/picture_in_picture_title"
-            android:parentActivityName="Settings">
+            android:label="@string/picture_in_picture_title">
             <intent-filter android:priority="1">
                 <action android:name="android.settings.PICTURE_IN_PICTURE_SETTINGS" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -2491,8 +2465,7 @@
 
         <activity
             android:name="Settings$AppPictureInPictureSettingsActivity"
-            android:label="@string/picture_in_picture_title"
-            android:parentActivityName="Settings">
+            android:label="@string/picture_in_picture_title">
             <intent-filter>
                 <action android:name="android.settings.PICTURE_IN_PICTURE_SETTINGS" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -2503,6 +2476,28 @@
         </activity>
 
         <activity
+            android:name="Settings$InteractAcrossProfilesSettingsActivity"
+            android:label="@string/interact_across_profiles_title">
+            <intent-filter android:priority="1">
+                <action android:name="android.settings.MANAGE_CROSS_PROFILE_ACCESS" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+            <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+                       android:value="com.android.settings.applications.specialaccess.interactacrossprofiles.InteractAcrossProfilesSettings" />
+        </activity>
+
+        <activity android:name="Settings$AppInteractAcrossProfilesSettingsActivity"
+                  android:label="@string/interact_across_profiles_title">
+            <intent-filter>
+                <action android:name="android.settings.MANAGE_CROSS_PROFILE_ACCESS" />
+                <category android:name="android.intent.category.DEFAULT" />
+                <data android:scheme="package" />
+            </intent-filter>
+            <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+                       android:value="com.android.settings.applications.specialaccess.interactacrossprofiles.InteractAcrossProfilesDetails" />
+        </activity>
+
+        <activity
             android:name="Settings$ZenAccessDetailSettingsActivity"
             android:label="@string/manage_zen_access_title"
             android:excludeFromRecents="true">
@@ -2517,21 +2512,19 @@
 
         <activity
             android:name="Settings$ZenAccessSettingsActivity"
-            android:label="@string/manage_zen_access_title"
-            android:parentActivityName="Settings">
+            android:label="@string/manage_zen_access_title">
             <intent-filter android:priority="1">
                 <action android:name="android.settings.NOTIFICATION_POLICY_ACCESS_SETTINGS" />
                 <category android:name="android.intent.category.DEFAULT" />
             </intent-filter>
             <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
-                       android:value="com.android.settings.notification.ZenAccessSettings" />
+                       android:value="com.android.settings.notification.zen.ZenAccessSettings" />
         </activity>
 
         <activity
             android:name="Settings$ConfigureNotificationSettingsActivity"
             android:label="@string/configure_notification_settings"
-            android:exported="true"
-            android:parentActivityName="Settings">
+            android:exported="true">
             <intent-filter android:priority="1">
                 <action android:name="android.settings.NOTIFICATION_SETTINGS" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -2540,14 +2533,6 @@
                 <action android:name="android.intent.action.MAIN" />
                 <category android:name="com.android.settings.SHORTCUT" />
             </intent-filter>
-            <intent-filter>
-                <action android:name="com.android.settings.action.SETTINGS"/>
-            </intent-filter>
-            <meta-data android:name="com.android.settings.order" android:value="-440"/>
-            <meta-data android:name="com.android.settings.category"
-                android:value="com.android.settings.category.ia.apps"/>
-            <meta-data android:name="com.android.settings.summary"
-                       android:resource="@string/summary_empty"/>
             <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
                 android:value="com.android.settings.notification.ConfigureNotificationSettings" />
             <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
@@ -2556,22 +2541,20 @@
 
         <activity
             android:name="Settings$AppBubbleNotificationSettingsActivity"
-            android:label="@string/bubbles_app_toggle_title"
-            android:parentActivityName="Settings$NotificationAppListActivity">
+            android:label="@string/bubbles_app_toggle_title">
             <intent-filter android:priority="1">
                 <action android:name="android.settings.APP_NOTIFICATION_BUBBLE_SETTINGS" />
                 <category android:name="android.intent.category.DEFAULT" />
             </intent-filter>
             <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
-                       android:value="com.android.settings.notification.AppBubbleNotificationSettings" />
+                       android:value="com.android.settings.notification.app.AppBubbleNotificationSettings" />
         </activity>
 
         <activity
             android:name="Settings$SoundSettingsActivity"
             android:label="@string/sound_settings"
             android:icon="@drawable/ic_homepage_sound"
-            android:exported="true"
-            android:parentActivityName="Settings">
+            android:exported="true">
             <intent-filter android:priority="1">
                 <action android:name="com.android.settings.SOUND_SETTINGS" />
                 <action android:name="android.settings.SOUND_SETTINGS" />
@@ -2609,7 +2592,7 @@
                 <category android:name="android.intent.category.DEFAULT" />
             </intent-filter>
             <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
-                android:value="com.android.settings.notification.AppNotificationSettings" />
+                android:value="com.android.settings.notification.app.AppNotificationSettings" />
         </activity>
 
         <!-- Show channel-level notification settings (channel passed in as extras) -->
@@ -2621,14 +2604,13 @@
                 <category android:name="android.intent.category.DEFAULT" />
             </intent-filter>
             <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
-                       android:value="com.android.settings.notification.ChannelNotificationSettings" />
+                       android:value="com.android.settings.notification.app.ChannelNotificationSettings" />
         </activity>
 
         <!-- Show Manual (from settings item) -->
         <activity
             android:name="ManualDisplayActivity"
             android:label="@string/manual"
-            android:parentActivityName="Settings"
             android:enabled="@bool/config_show_manual">
             <intent-filter>
                 <action android:name="android.settings.SHOW_MANUAL" />
@@ -2642,7 +2624,6 @@
         <activity
             android:name="RegulatoryInfoDisplayActivity"
             android:label="@string/regulatory_labels"
-            android:parentActivityName="Settings"
             android:enabled="@bool/config_show_regulatory_info">
             <intent-filter>
                 <action android:name="android.settings.SHOW_REGULATORY_INFO" />
@@ -2692,10 +2673,6 @@
             android:grantUriPermissions="true"
             android:exported="false"/>
 
-        <activity android:name=".sim.SimPreferenceDialog"
-            android:theme="@style/Theme.AlertDialog"
-            android:excludeFromRecents="true" />
-
         <activity
             android:name=".wifi.RequestToggleWiFiActivity"
             android:theme="@android:style/Theme.DeviceDefault.Light.Dialog.Alert"
@@ -2814,45 +2791,51 @@
 
         <activity
             android:name="Settings$OverlaySettingsActivity"
-            android:label="@string/draw_overlay"
-            android:parentActivityName="Settings">
+            android:label="@string/draw_overlay">
             <intent-filter android:priority="1">
                 <action android:name="android.settings.action.MANAGE_OVERLAY_PERMISSION" />
                 <category android:name="android.intent.category.DEFAULT" />
             </intent-filter>
-            <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
-                android:value="com.android.settings.applications.manageapplications.ManageApplications" />
-        </activity>
-
-        <activity
-            android:name="Settings$AppDrawOverlaySettingsActivity"
-            android:label="@string/draw_overlay"
-            android:parentActivityName="Settings">
             <intent-filter android:priority="1">
                 <action android:name="android.settings.action.MANAGE_OVERLAY_PERMISSION" />
                 <category android:name="android.intent.category.DEFAULT" />
                 <data android:scheme="package" />
             </intent-filter>
             <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
-                android:value="com.android.settings.applications.appinfo.DrawOverlayDetails" />
+                android:value="com.android.settings.applications.manageapplications.ManageApplications" />
+            <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
+                       android:value="true" />
+        </activity>
+
+        <activity
+            android:name="Settings$AppDrawOverlaySettingsActivity"
+            android:label="@string/draw_overlay"
+            android:permission="android.permission.INTERNAL_SYSTEM_WINDOW">
+            <intent-filter android:priority="1">
+                <action android:name="android.settings.MANAGE_APP_OVERLAY_PERMISSION" />
+                <category android:name="android.intent.category.DEFAULT" />
+                <data android:scheme="package" />
+            </intent-filter>
+            <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+                       android:value="com.android.settings.applications.appinfo.DrawOverlayDetails" />
         </activity>
 
         <activity
             android:name="Settings$WriteSettingsActivity"
-            android:label="@string/write_settings_title"
-            android:parentActivityName="Settings">
+            android:label="@string/write_settings_title">
             <intent-filter android:priority="1">
                 <action android:name="android.settings.action.MANAGE_WRITE_SETTINGS" />
                 <category android:name="android.intent.category.DEFAULT" />
             </intent-filter>
             <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
                 android:value="com.android.settings.applications.manageapplications.ManageApplications" />
+            <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
+                       android:value="true" />
         </activity>
 
         <activity
             android:name="Settings$AppWriteSettingsActivity"
-            android:label="@string/write_settings_title"
-            android:parentActivityName="Settings">
+            android:label="@string/write_settings_title">
             <intent-filter android:priority="1">
                 <action android:name="android.settings.action.MANAGE_WRITE_SETTINGS" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -2864,14 +2847,15 @@
 
         <activity
             android:name="Settings$ManageExternalSourcesActivity"
-            android:label="@string/install_other_apps"
-            android:parentActivityName="Settings">
+            android:label="@string/install_other_apps">
             <intent-filter android:priority="1">
                 <action android:name="android.settings.MANAGE_UNKNOWN_APP_SOURCES" />
                 <category android:name="android.intent.category.DEFAULT" />
             </intent-filter>
             <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
                 android:value="com.android.settings.applications.manageapplications.ManageApplications" />
+            <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
+                       android:value="true" />
         </activity>
 
         <activity android:name="Settings$ManageAppExternalSourcesActivity"
@@ -2896,6 +2880,31 @@
             </intent-filter>
         </activity>
 
+        <activity
+            android:name="Settings$ManageExternalStorageActivity"
+            android:label="@string/manage_external_storage_title">
+            <intent-filter android:priority="1">
+                <action android:name="android.settings.MANAGE_ALL_FILES_ACCESS_PERMISSION" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+            <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+                       android:value="com.android.settings.applications.manageapplications.ManageApplications" />
+            <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
+                       android:value="true" />
+        </activity>
+
+        <activity
+            android:name="Settings$AppManageExternalStorageActivity"
+            android:label="@string/manage_external_storage_title">
+            <intent-filter android:priority="1">
+                <action android:name="android.settings.MANAGE_APP_ALL_FILES_ACCESS_PERMISSION" />
+                <category android:name="android.intent.category.DEFAULT" />
+                <data android:scheme="package" />
+            </intent-filter>
+            <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+                       android:value="com.android.settings.applications.appinfo.ManageExternalStorageDetails" />
+        </activity>
+
         <!-- Keep compatibility with old WebView-picker implementation -->
         <activity-alias android:name=".WebViewImplementation"
                   android:targetActivity="Settings$WebViewAppPickerActivity"
@@ -2913,9 +2922,8 @@
         </activity-alias>
 
         <provider
-            android:name=".backup.BackupSettingsContentProvider"
-            android:authorities="com.android.settings.backup.BackupSettingsContentProvider"
-	    android:exported="true">
+            android:name=".dashboard.SummaryProvider"
+            android:authorities="com.android.settings.dashboard.SummaryProvider">
         </provider>
 
         <activity android:name=".backup.UserBackupSettingsActivity"
@@ -2934,15 +2942,14 @@
             <meta-data android:name="com.android.settings.category"
                        android:value="com.android.settings.category.ia.system" />
             <meta-data android:name="com.android.settings.summary_uri"
-		       android:value="content://com.android.settings.backup.BackupSettingsContentProvider/summary" />
+                       android:value="content://com.android.settings.dashboard.SummaryProvider/backup" />
             <meta-data android:name="com.android.settings.order" android:value="-60"/>
         </activity>
 
         <activity
             android:name="Settings$AutomaticStorageManagerSettingsActivity"
             android:exported="@bool/config_storage_manager_settings_enabled"
-            android:label="@string/automatic_storage_manager_settings"
-            android:parentActivityName="Settings">
+            android:label="@string/automatic_storage_manager_settings">
             <intent-filter android:priority="1">
                 <action android:name="android.settings.STORAGE_MANAGER_SETTINGS" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -2968,7 +2975,6 @@
             android:name=".Settings$AppAndNotificationDashboardActivity"
             android:label="@string/app_and_notification_dashboard_title"
             android:icon="@drawable/ic_homepage_apps"
-            android:parentActivityName="Settings"
             android:exported="true">
             <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
                        android:value="com.android.settings.applications.AppAndNotificationDashboardFragment"/>
@@ -2977,8 +2983,7 @@
         <activity
             android:name=".Settings$AccountDashboardActivity"
             android:label="@string/account_dashboard_title"
-            android:icon="@drawable/ic_homepage_accounts"
-            android:parentActivityName="Settings">
+            android:icon="@drawable/ic_homepage_accounts">
             <intent-filter android:priority="1">
                 <action android:name="android.settings.SYNC_SETTINGS" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -2996,8 +3001,7 @@
         <activity
             android:name=".Settings$SystemDashboardActivity"
             android:label="@string/header_category_system"
-            android:icon="@drawable/ic_homepage_system_dashboard"
-            android:parentActivityName="Settings">
+            android:icon="@drawable/ic_homepage_system_dashboard">
             <intent-filter android:priority="70">
                 <action android:name="android.intent.action.MAIN" />
                 <category android:name="com.android.settings.SHORTCUT" />
@@ -3032,6 +3036,8 @@
             <intent-filter>
                 <action android:name="android.service.quicksettings.action.QS_TILE" />
             </intent-filter>
+            <meta-data android:name="android.service.quicksettings.TOGGLEABLE_TILE"
+                       android:value="true"/>
         </service>
         <service
             android:name=".development.qstile.DevelopmentTiles$GPUProfiling"
@@ -3042,6 +3048,8 @@
             <intent-filter>
                 <action android:name="android.service.quicksettings.action.QS_TILE" />
             </intent-filter>
+            <meta-data android:name="android.service.quicksettings.TOGGLEABLE_TILE"
+                       android:value="true"/>
         </service>
         <service
             android:name=".development.qstile.DevelopmentTiles$ForceRTL"
@@ -3052,6 +3060,8 @@
             <intent-filter>
                 <action android:name="android.service.quicksettings.action.QS_TILE" />
             </intent-filter>
+            <meta-data android:name="android.service.quicksettings.TOGGLEABLE_TILE"
+                       android:value="true"/>
         </service>
         <service
             android:name=".development.qstile.DevelopmentTiles$AnimationSpeed"
@@ -3062,6 +3072,8 @@
             <intent-filter>
                 <action android:name="android.service.quicksettings.action.QS_TILE" />
             </intent-filter>
+            <meta-data android:name="android.service.quicksettings.TOGGLEABLE_TILE"
+                       android:value="true"/>
         </service>
 
         <service
@@ -3073,6 +3085,8 @@
             <intent-filter>
                 <action android:name="android.service.quicksettings.action.QS_TILE" />
             </intent-filter>
+            <meta-data android:name="android.service.quicksettings.TOGGLEABLE_TILE"
+                       android:value="true"/>
         </service>
 
         <service
@@ -3084,6 +3098,8 @@
             <intent-filter>
                 <action android:name="android.service.quicksettings.action.QS_TILE" />
             </intent-filter>
+            <meta-data android:name="android.service.quicksettings.TOGGLEABLE_TILE"
+                       android:value="true"/>
         </service>
 
         <activity
@@ -3113,8 +3129,7 @@
         </activity>
 
         <activity android:name="Settings$AdvancedConnectedDeviceActivity"
-                  android:label="@string/connected_device_connections_title"
-                  android:parentActivityName="Settings$ConnectedDeviceDashboardActivity">
+                  android:label="@string/connected_device_connections_title">
             <intent-filter android:priority="1">
                 <action android:name="android.settings.NFC_SETTINGS" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -3131,14 +3146,15 @@
 
         <activity android:name="Settings$BluetoothDeviceDetailActivity"
                   android:label="@string/device_details_title"
-                  android:permission="android.permission.BLUETOOTH_PRIVILEGED"
-                  android:parentActivityName="Settings$ConnectedDeviceDashboardActivity">
+                  android:permission="android.permission.BLUETOOTH_PRIVILEGED">
             <intent-filter android:priority="1">
                 <action android:name="com.android.settings.BLUETOOTH_DEVICE_DETAIL_SETTINGS" />
                 <category android:name="android.intent.category.DEFAULT" />
             </intent-filter>
             <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
                        android:value="com.android.settings.bluetooth.BluetoothDeviceDetailsFragment" />
+            <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
+                       android:value="true" />
         </activity>
 
         <activity android:name=".panel.SettingsPanelActivity"
@@ -3165,15 +3181,30 @@
                 </intent-filter>
         </activity>
 
+        <activity android:name=".wifi.addappnetworks.AddAppNetworksActivity"
+                  android:label="@string/settings_panel_title"
+                  android:theme="@style/Theme.Panel"
+                  android:launchMode="singleInstance"
+                  android:excludeFromRecents="true"
+                  android:configChanges="orientation|keyboardHidden|screenSize">
+            <intent-filter>
+                <action android:name="android.settings.WIFI_ADD_NETWORKS" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+        </activity>
+
         <activity-alias
             android:name="MediaOutputSlice"
             android:label="@string/media_output_panel_title"
-            android:permission="android.permission.BLUETOOTH_PRIVILEGED"
             android:targetActivity=".panel.SettingsPanelActivity">
                 <intent-filter>
                     <action android:name="com.android.settings.panel.action.MEDIA_OUTPUT" />
                     <category android:name="android.intent.category.DEFAULT" />
                 </intent-filter>
+                <intent-filter>
+                    <action android:name="com.android.settings.panel.action.MEDIA_OUTPUT_GROUP" />
+                    <category android:name="android.intent.category.DEFAULT" />
+                </intent-filter>
         </activity-alias>
 
         <provider android:name=".slices.SettingsSliceProvider"
@@ -3268,8 +3299,7 @@
         </activity>
 
         <activity android:name="Settings$BatterySaverScheduleSettingsActivity"
-            android:label="@string/battery_saver_schedule_settings_title"
-            android:parentActivityName="Settings">
+            android:label="@string/battery_saver_schedule_settings_title">
             <intent-filter>
                 <action android:name="com.android.settings.BATTERY_SAVER_SCHEDULE_SETTINGS" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -3288,6 +3318,24 @@
                 android:value="com.android.settings.gestures.GlobalActionsPanelSettings" />
         </activity>
 
+        <activity
+            android:name="Settings$GestureNavigationSettingsActivity"
+            android:label="@string/gesture_settings_activity_title"
+            android:enabled="true">
+            <intent-filter android:priority="32">
+                <action android:name="android.intent.action.MAIN" />
+                <category android:name="com.android.settings.SHORTCUT" />
+            </intent-filter>
+            <intent-filter android:priority="1">
+                <action android:name="com.android.settings.GESTURE_NAVIGATION_SETTINGS" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+            <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+                       android:value="com.android.settings.gestures.GestureNavigationSettingsFragment" />
+            <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
+                       android:value="true" />
+        </activity>
+
         <!-- This is the longest AndroidManifest.xml ever. -->
     </application>
 </manifest>
diff --git a/CleanSpec.mk b/CleanSpec.mk
index 93445f9..dd61019 100644
--- a/CleanSpec.mk
+++ b/CleanSpec.mk
@@ -47,6 +47,8 @@
 $(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS/Settings_intermediates)
 $(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS/Settings_intermediates)
 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/priv-app/Settings)
+$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/product/priv-app/Settings)
+$(call add-clean-step, rm -rf $(PRODUCT_OUT)/product/priv-app/Settings)
 
 # ************************************************
 # NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST
diff --git a/OWNERS b/OWNERS
index ccf8e81..47961cd 100644
--- a/OWNERS
+++ b/OWNERS
@@ -1,22 +1,15 @@
 # Use this reviewer by default.
-pixel-sw-exp-reviews+gerrit@google.com
+android-settings-core-eng+gerrit@google.com
 
 # People who can approve changes for submission
-asapperstein@google.com
-asargent@google.com
-dehboxturtle@google.com
-dhnishi@google.com
+chiujason@google.com
 edgarwang@google.com
 emilychuang@google.com
-jackqdyulei@google.com
-lindatseng@google.com
-mfritze@google.com
-rafftsai@google.com
+millchen@google.com
+stanleytfwang@google.com
+sunnyshao@google.com
 tmfang@google.com
-zhfan@google.com
-
-# Emergency approvers in case the above are not available
-miket@google.com
+yantingyang@google.com
 
 # Exempt resource files (because they are in a flat directory and too hard to manage via OWNERS)
 per-file *.xml=*
diff --git a/PREUPLOAD.cfg b/PREUPLOAD.cfg
index 8e1ab2b..883e968 100644
--- a/PREUPLOAD.cfg
+++ b/PREUPLOAD.cfg
@@ -3,3 +3,4 @@
 
 strings_lint_hook = ${REPO_ROOT}/frameworks/base/tools/stringslint/stringslint_sha.sh ${PREUPLOAD_COMMIT}
 
+checkstyle_hook = ${REPO_ROOT}/prebuilts/checkstyle/checkstyle.py --sha ${PREUPLOAD_COMMIT}
diff --git a/TEST_MAPPING b/TEST_MAPPING
new file mode 100644
index 0000000..4865e19
--- /dev/null
+++ b/TEST_MAPPING
@@ -0,0 +1,15 @@
+{
+  "postsubmit": [
+    {
+      "name": "SettingsUnitTests",
+      "options": [
+        {
+          "exclude-annotation": "androidx.test.filters.FlakyTest"
+        }
+      ]
+    },
+    {
+      "name": "SettingsPerfTests"
+    }
+  ]
+}
diff --git a/color-check-baseline.xml b/color-check-baseline.xml
index 3cb964f..75f46e5 100644
--- a/color-check-baseline.xml
+++ b/color-check-baseline.xml
@@ -2,18 +2,6 @@
 <issues format="4">
 
     <issue
-        id="LintError"
-        severity="Error"
-        message="No `.class` files were found in project &quot;.&quot;, so none of the classfile based checks could be run. Does the project need to be built first?"
-        category="Lint"
-        priority="10"
-        summary="Lint Failure"
-        explanation="This issue type represents a problem running lint itself. Examples include failure to find bytecode for source files (which means certain detectors could not be run), parsing errors in lint configuration files, etc.&#xA;These errors are not errors in your own code, but they are shown to make it clear that some checks were not completed.">
-        <location
-            file="."/>
-    </issue>
-
-    <issue
         id="HardCodedColor"
         severity="Error"
         message="Avoid using hardcoded color"
@@ -121,7 +109,7 @@
         errorLine2="                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/layout-land/choose_lock_pattern.xml"
-            line="178"
+            line="127"
             column="17"/>
     </issue>
 
@@ -1081,7 +1069,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="113"
+            line="111"
             column="5"/>
     </issue>
 
@@ -1097,7 +1085,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="114"
+            line="112"
             column="5"/>
     </issue>
 
@@ -1113,7 +1101,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="115"
+            line="113"
             column="5"/>
     </issue>
 
@@ -1129,7 +1117,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="116"
+            line="114"
             column="5"/>
     </issue>
 
@@ -1145,7 +1133,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="117"
+            line="115"
             column="5"/>
     </issue>
 
@@ -1161,7 +1149,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="118"
+            line="116"
             column="5"/>
     </issue>
 
@@ -1177,7 +1165,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="121"
+            line="119"
             column="5"/>
     </issue>
 
@@ -1193,7 +1181,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="122"
+            line="120"
             column="5"/>
     </issue>
 
@@ -1209,7 +1197,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="123"
+            line="121"
             column="5"/>
     </issue>
 
@@ -1225,7 +1213,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="124"
+            line="122"
             column="5"/>
     </issue>
 
@@ -1241,7 +1229,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="125"
+            line="123"
             column="5"/>
     </issue>
 
@@ -1257,7 +1245,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="128"
+            line="126"
             column="5"/>
     </issue>
 
@@ -1273,7 +1261,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="129"
+            line="127"
             column="5"/>
     </issue>
 
@@ -1289,7 +1277,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="130"
+            line="128"
             column="5"/>
     </issue>
 
@@ -1305,7 +1293,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="131"
+            line="129"
             column="5"/>
     </issue>
 
@@ -1321,7 +1309,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="132"
+            line="130"
             column="5"/>
     </issue>
 
@@ -1337,7 +1325,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="133"
+            line="131"
             column="5"/>
     </issue>
 
@@ -1353,7 +1341,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="139"
+            line="137"
             column="5"/>
     </issue>
 
@@ -1369,7 +1357,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="140"
+            line="138"
             column="5"/>
     </issue>
 
@@ -1385,7 +1373,295 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="141"
+            line="139"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="HardCodedColor"
+        severity="Error"
+        message="Avoid using hardcoded color"
+        category="Correctness"
+        priority="4"
+        summary="Using hardcoded color"
+        explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
+        errorLine1="    &lt;color name=&quot;face_intro_outline&quot;>#ffdadce0&lt;/color>"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="res/values/colors.xml"
+            line="148"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="HardCodedColor"
+        severity="Error"
+        message="Avoid using hardcoded color"
+        category="Correctness"
+        priority="4"
+        summary="Using hardcoded color"
+        explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
+        errorLine1="    &lt;color name=&quot;back_gesture_indicator&quot;>#4182ef&lt;/color>"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="res/values/colors.xml"
+            line="150"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="HardCodedColor"
+        severity="Error"
+        message="Avoid using hardcoded color"
+        category="Correctness"
+        priority="4"
+        summary="Using hardcoded color"
+        explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
+        errorLine1="    &lt;color name=&quot;palette_list_color_red&quot;>#d93025&lt;/color> &lt;!-- Material Red 600 -->"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="res/values/colors.xml"
+            line="154"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="HardCodedColor"
+        severity="Error"
+        message="Avoid using hardcoded color"
+        category="Correctness"
+        priority="4"
+        summary="Using hardcoded color"
+        explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
+        errorLine1="    &lt;color name=&quot;palette_list_color_orange&quot;>#e8710a&lt;/color> &lt;!-- Material Orange 600 -->"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="res/values/colors.xml"
+            line="155"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="HardCodedColor"
+        severity="Error"
+        message="Avoid using hardcoded color"
+        category="Correctness"
+        priority="4"
+        summary="Using hardcoded color"
+        explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
+        errorLine1="    &lt;color name=&quot;palette_list_color_yellow&quot;>#f9ab00&lt;/color> &lt;!-- Material Yellow 600 -->"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="res/values/colors.xml"
+            line="156"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="HardCodedColor"
+        severity="Error"
+        message="Avoid using hardcoded color"
+        category="Correctness"
+        priority="4"
+        summary="Using hardcoded color"
+        explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
+        errorLine1="    &lt;color name=&quot;palette_list_color_green&quot;>#1e8e3e&lt;/color> &lt;!-- Material Green 600 -->"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="res/values/colors.xml"
+            line="157"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="HardCodedColor"
+        severity="Error"
+        message="Avoid using hardcoded color"
+        category="Correctness"
+        priority="4"
+        summary="Using hardcoded color"
+        explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
+        errorLine1="    &lt;color name=&quot;palette_list_color_cyan&quot;>#12b5cb&lt;/color> &lt;!-- Material Cyan 600 -->"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="res/values/colors.xml"
+            line="158"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="HardCodedColor"
+        severity="Error"
+        message="Avoid using hardcoded color"
+        category="Correctness"
+        priority="4"
+        summary="Using hardcoded color"
+        explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
+        errorLine1="    &lt;color name=&quot;palette_list_color_blue&quot;>#1a73e8&lt;/color> &lt;!-- Material Blue 600 -->"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="res/values/colors.xml"
+            line="159"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="HardCodedColor"
+        severity="Error"
+        message="Avoid using hardcoded color"
+        category="Correctness"
+        priority="4"
+        summary="Using hardcoded color"
+        explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
+        errorLine1="    &lt;color name=&quot;palette_list_color_purple&quot;>#9334e6&lt;/color> &lt;!-- Material Purple 600 -->"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="res/values/colors.xml"
+            line="160"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="HardCodedColor"
+        severity="Error"
+        message="Avoid using hardcoded color"
+        category="Correctness"
+        priority="4"
+        summary="Using hardcoded color"
+        explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
+        errorLine1="    &lt;color name=&quot;palette_list_color_pink&quot;>#e52592&lt;/color> &lt;!-- Material Pink 600 -->"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="res/values/colors.xml"
+            line="161"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="HardCodedColor"
+        severity="Error"
+        message="Avoid using hardcoded color"
+        category="Correctness"
+        priority="4"
+        summary="Using hardcoded color"
+        explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
+        errorLine1="    &lt;color name=&quot;palette_list_dark_mode_color_red&quot;>#f28b82&lt;/color> &lt;!-- Material Red 300 -->"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="res/values/colors.xml"
+            line="164"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="HardCodedColor"
+        severity="Error"
+        message="Avoid using hardcoded color"
+        category="Correctness"
+        priority="4"
+        summary="Using hardcoded color"
+        explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
+        errorLine1="    &lt;color name=&quot;palette_list_dark_mode_color_orange&quot;>#fcad70&lt;/color> &lt;!-- Material Orange 300 -->"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="res/values/colors.xml"
+            line="165"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="HardCodedColor"
+        severity="Error"
+        message="Avoid using hardcoded color"
+        category="Correctness"
+        priority="4"
+        summary="Using hardcoded color"
+        explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
+        errorLine1="    &lt;color name=&quot;palette_list_dark_mode_color_yellow&quot;>#fdd663&lt;/color> &lt;!-- Material Yellow 300 -->"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="res/values/colors.xml"
+            line="166"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="HardCodedColor"
+        severity="Error"
+        message="Avoid using hardcoded color"
+        category="Correctness"
+        priority="4"
+        summary="Using hardcoded color"
+        explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
+        errorLine1="    &lt;color name=&quot;palette_list_dark_mode_color_green&quot;>#81c995&lt;/color> &lt;!-- Material Green 300 -->"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="res/values/colors.xml"
+            line="167"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="HardCodedColor"
+        severity="Error"
+        message="Avoid using hardcoded color"
+        category="Correctness"
+        priority="4"
+        summary="Using hardcoded color"
+        explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
+        errorLine1="    &lt;color name=&quot;palette_list_dark_mode_color_cyan&quot;>#78d9ec&lt;/color> &lt;!-- Material Cyan 300 -->"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="res/values/colors.xml"
+            line="168"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="HardCodedColor"
+        severity="Error"
+        message="Avoid using hardcoded color"
+        category="Correctness"
+        priority="4"
+        summary="Using hardcoded color"
+        explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
+        errorLine1="    &lt;color name=&quot;palette_list_dark_mode_color_blue&quot;>#8AB4F8&lt;/color> &lt;!-- Material Blue 300 -->"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="res/values/colors.xml"
+            line="169"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="HardCodedColor"
+        severity="Error"
+        message="Avoid using hardcoded color"
+        category="Correctness"
+        priority="4"
+        summary="Using hardcoded color"
+        explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
+        errorLine1="    &lt;color name=&quot;palette_list_dark_mode_color_purple&quot;>#c58af9&lt;/color> &lt;!-- Material Purple 300 -->"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="res/values/colors.xml"
+            line="170"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="HardCodedColor"
+        severity="Error"
+        message="Avoid using hardcoded color"
+        category="Correctness"
+        priority="4"
+        summary="Using hardcoded color"
+        explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
+        errorLine1="    &lt;color name=&quot;palette_list_dark_mode_color_pink&quot;>#ff8bcb&lt;/color> &lt;!-- Material Pink 300 -->"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="res/values/colors.xml"
+            line="171"
             column="5"/>
     </issue>
 
@@ -1433,7 +1709,7 @@
         errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/layout/crypt_keeper_emergency_button.xml"
-            line="36"
+            line="35"
             column="9"/>
     </issue>
 
@@ -1509,6 +1785,22 @@
         priority="4"
         summary="Using hardcoded color"
         explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
+        errorLine1="        android:fillColor=&quot;@color/face_intro_outline&quot;"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="res/drawable/face_enroll_introduction.xml"
+            line="25"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="HardCodedColor"
+        severity="Error"
+        message="Avoid using hardcoded color"
+        category="Correctness"
+        priority="4"
+        summary="Using hardcoded color"
+        explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
         errorLine1="    android:background=&quot;#80000000&quot;"
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
@@ -2393,7 +2685,7 @@
         errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/layout/running_processes_header.xml"
-            line="146"
+            line="129"
             column="13"/>
     </issue>
 
@@ -2581,27 +2873,11 @@
         priority="4"
         summary="Using hardcoded color"
         explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
-        errorLine1="    &lt;string name=&quot;sync_plug&quot; msgid=&quot;3905078969081888738&quot;>&quot;‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‎‎‎‏‏‎‎‎‏‏‎‏‎‎‎‎‎‏‎‏‎‎‎‎‏‏‏‏‎‎‎‏‏‏‏‏‏‏‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‎‏‎‎‎‏‎‎‏‏‎&quot;&lt;font fgcolor=&quot;#ffffffff&quot;>&quot;‎‏‎‎‏‏‏‎Welcome to Google sync!‎‏‎‎‏‏‎&quot;&lt;/font>&quot;‎‏‎‎‏‏‏‎ ‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎A Google approach to syncing data to allow access to your contacts, appointments, and more from wherever you are.‎‏‎‎‏‎&quot;&lt;/string>"
-        errorLine2="                                                                                                                                                                        ~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values-en-rXC/strings.xml"
-            line="2652"
-            column="169"/>
-    </issue>
-
-    <issue
-        id="HardCodedColor"
-        severity="Error"
-        message="Avoid using hardcoded color"
-        category="Correctness"
-        priority="4"
-        summary="Using hardcoded color"
-        explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
-        errorLine1="    &lt;string name=&quot;sync_plug&quot; msgid=&quot;3905078969081888738&quot;>&lt;font fgcolor=&quot;#ffffffff&quot;>&quot;Welcome to Google sync!&quot;&lt;/font>&quot; \nA Google approach to syncing data to allow access to your contacts, appointments and more from wherever you are.&quot;&lt;/string>"
+        errorLine1="    &lt;string name=&quot;sync_plug&quot; msgid=&quot;7956982719077985381&quot;>&lt;font fgcolor=&quot;#ffffffff&quot;>&quot;Welcome to Google sync!&quot;&lt;/font>&quot; \nA Google approach to syncing data to allow access to your contacts, appointments and more from wherever you are.&quot;&lt;/string>"
         errorLine2="                                                               ~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values-en-rAU/strings.xml"
-            line="2653"
+            line="2689"
             column="64"/>
     </issue>
 
@@ -2613,11 +2889,11 @@
         priority="4"
         summary="Using hardcoded color"
         explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
-        errorLine1="    &lt;string name=&quot;sync_plug&quot; msgid=&quot;3905078969081888738&quot;>&lt;font fgcolor=&quot;#ffffffff&quot;>&quot;Welcome to Google sync!&quot;&lt;/font>&quot; \nA Google approach to syncing data to allow access to your contacts, appointments and more from wherever you are.&quot;&lt;/string>"
+        errorLine1="    &lt;string name=&quot;sync_plug&quot; msgid=&quot;7956982719077985381&quot;>&lt;font fgcolor=&quot;#ffffffff&quot;>&quot;Welcome to Google sync!&quot;&lt;/font>&quot; \nA Google approach to syncing data to allow access to your contacts, appointments and more from wherever you are.&quot;&lt;/string>"
         errorLine2="                                                               ~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values-en-rCA/strings.xml"
-            line="2653"
+            line="2689"
             column="64"/>
     </issue>
 
@@ -2629,11 +2905,11 @@
         priority="4"
         summary="Using hardcoded color"
         explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
-        errorLine1="    &lt;string name=&quot;sync_plug&quot; msgid=&quot;3905078969081888738&quot;>&lt;font fgcolor=&quot;#ffffffff&quot;>&quot;Welcome to Google sync!&quot;&lt;/font>&quot; \nA Google approach to syncing data to allow access to your contacts, appointments and more from wherever you are.&quot;&lt;/string>"
+        errorLine1="    &lt;string name=&quot;sync_plug&quot; msgid=&quot;7956982719077985381&quot;>&lt;font fgcolor=&quot;#ffffffff&quot;>&quot;Welcome to Google sync!&quot;&lt;/font>&quot; \nA Google approach to syncing data to allow access to your contacts, appointments and more from wherever you are.&quot;&lt;/string>"
         errorLine2="                                                               ~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values-en-rGB/strings.xml"
-            line="2653"
+            line="2689"
             column="64"/>
     </issue>
 
@@ -2645,11 +2921,11 @@
         priority="4"
         summary="Using hardcoded color"
         explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
-        errorLine1="    &lt;string name=&quot;sync_plug&quot; msgid=&quot;3905078969081888738&quot;>&lt;font fgcolor=&quot;#ffffffff&quot;>&quot;Welcome to Google sync!&quot;&lt;/font>&quot; \nA Google approach to syncing data to allow access to your contacts, appointments and more from wherever you are.&quot;&lt;/string>"
+        errorLine1="    &lt;string name=&quot;sync_plug&quot; msgid=&quot;7956982719077985381&quot;>&lt;font fgcolor=&quot;#ffffffff&quot;>&quot;Welcome to Google sync!&quot;&lt;/font>&quot; \nA Google approach to syncing data to allow access to your contacts, appointments and more from wherever you are.&quot;&lt;/string>"
         errorLine2="                                                               ~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values-en-rIN/strings.xml"
-            line="2653"
+            line="2689"
             column="64"/>
     </issue>
 
@@ -2661,11 +2937,27 @@
         priority="4"
         summary="Using hardcoded color"
         explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
+        errorLine1="    &lt;string name=&quot;sync_plug&quot; msgid=&quot;7956982719077985381&quot;>&quot;‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‏‎‎‏‏‎‏‏‎‎‏‏‏‎‎‎‎‏‏‎‏‎‎‎‎‎‎‎‎‎‎‏‏‎‏‎‎‏‎‎‎‎‏‎‏‎‏‏‎‎‎‏‏‎‎‏‎‏‎‎‏‎‎‏‏‎&quot;&lt;font fgcolor=&quot;#ffffffff&quot;>&quot;‎‏‎‎‏‏‏‎Welcome to Google sync!‎‏‎‎‏‏‎&quot;&lt;/font>&quot;‎‏‎‎‏‏‏‎ ‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎A Google approach to syncing data to allow access to your contacts, appointments, and more from wherever you are.‎‏‎‎‏‎&quot;&lt;/string>"
+        errorLine2="                                                                                                                                                                         ~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="res/values-en-rXC/strings.xml"
+            line="2689"
+            column="170"/>
+    </issue>
+
+    <issue
+        id="HardCodedColor"
+        severity="Error"
+        message="Avoid using hardcoded color"
+        category="Correctness"
+        priority="4"
+        summary="Using hardcoded color"
+        explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
         errorLine1="    &lt;string name=&quot;sync_plug&quot;>&lt;font fgcolor=&quot;#ffffffff&quot;>Welcome to Google sync!&lt;/font>"
         errorLine2="                                   ~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/strings.xml"
-            line="6186"
+            line="6228"
             column="36"/>
     </issue>
 
@@ -2697,7 +2989,7 @@
         errorLine2="                                           ^">
         <location
             file="res/values/styles.xml"
-            line="380"
+            line="378"
             column="44"/>
     </issue>
 
@@ -2713,7 +3005,7 @@
         errorLine2="                                           ^">
         <location
             file="res/values/styles.xml"
-            line="386"
+            line="384"
             column="44"/>
     </issue>
 
@@ -2729,7 +3021,7 @@
         errorLine2="                                           ^">
         <location
             file="res/values/styles.xml"
-            line="387"
+            line="385"
             column="44"/>
     </issue>
 
@@ -2745,7 +3037,7 @@
         errorLine2="                                 ^">
         <location
             file="res/values/styles.xml"
-            line="423"
+            line="421"
             column="34"/>
     </issue>
 
@@ -2761,7 +3053,7 @@
         errorLine2="                                       ^">
         <location
             file="res/values/themes.xml"
-            line="103"
+            line="106"
             column="40"/>
     </issue>
 
@@ -2777,7 +3069,7 @@
         errorLine2="                                       ^">
         <location
             file="res/values/themes.xml"
-            line="103"
+            line="106"
             column="40"/>
     </issue>
 
@@ -2793,7 +3085,7 @@
         errorLine2="                                            ^">
         <location
             file="res/values/themes.xml"
-            line="171"
+            line="176"
             column="45"/>
     </issue>
 
@@ -2809,7 +3101,7 @@
         errorLine2="                                                ^">
         <location
             file="res/values/themes.xml"
-            line="172"
+            line="177"
             column="49"/>
     </issue>
 
@@ -2825,7 +3117,7 @@
         errorLine2="                                            ^">
         <location
             file="res/values/themes.xml"
-            line="180"
+            line="185"
             column="45"/>
     </issue>
 
@@ -2841,7 +3133,7 @@
         errorLine2="                                                ^">
         <location
             file="res/values/themes.xml"
-            line="181"
+            line="186"
             column="49"/>
     </issue>
 
@@ -2857,7 +3149,7 @@
         errorLine2="                                         ^">
         <location
             file="res/values/themes.xml"
-            line="249"
+            line="254"
             column="42"/>
     </issue>
 
@@ -2905,7 +3197,7 @@
         errorLine2="                                       ^">
         <location
             file="res/values/themes_suw.xml"
-            line="67"
+            line="66"
             column="40"/>
     </issue>
 
@@ -2921,7 +3213,7 @@
         errorLine2="                                       ^">
         <location
             file="res/values/themes_suw.xml"
-            line="86"
+            line="85"
             column="40"/>
     </issue>
 
@@ -2937,7 +3229,7 @@
         errorLine2="                                       ^">
         <location
             file="res/values/themes_suw.xml"
-            line="105"
+            line="103"
             column="40"/>
     </issue>
 
@@ -2953,7 +3245,7 @@
         errorLine2="                                       ^">
         <location
             file="res/values/themes_suw.xml"
-            line="124"
+            line="127"
             column="40"/>
     </issue>
 
@@ -2969,7 +3261,7 @@
         errorLine2="                                          ^">
         <location
             file="res/values/themes_suw.xml"
-            line="186"
+            line="188"
             column="43"/>
     </issue>
 
@@ -2985,7 +3277,7 @@
         errorLine2="                                         ^">
         <location
             file="res/values/themes_suw.xml"
-            line="187"
+            line="189"
             column="42"/>
     </issue>
 
@@ -3001,7 +3293,7 @@
         errorLine2="                                            ^">
         <location
             file="res/values/themes_suw.xml"
-            line="188"
+            line="190"
             column="45"/>
     </issue>
 
@@ -3037,36 +3329,4 @@
             column="5"/>
     </issue>
 
-    <issue
-        id="HardCodedColor"
-        severity="Error"
-        message="Avoid using hardcoded color"
-        category="Correctness"
-        priority="4"
-        summary="Using hardcoded color"
-        explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
-        errorLine1="    &lt;color name=&quot;face_intro_outline&quot;>#ffdadce0&lt;/color> &lt;/color>"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/colors.xml"
-            line="150"
-            column="40"/>
-    </issue>
-
-    <issue
-        id="HardCodedColor"
-        severity="Error"
-        message="Avoid using hardcoded color"
-        category="Correctness"
-        priority="4"
-        summary="Using hardcoded color"
-        explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
-        errorLine1="                android:fillColor=&quot;@color/face_intro_outline&quot;"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/drawable/face_enroll_introduction.xml"
-            line="25"
-            column="40"/>
-    </issue>
-
 </issues>
diff --git a/protos/contextual_card_list.proto b/protos/contextual_card_list.proto
index 69c3741..54e5654 100644
--- a/protos/contextual_card_list.proto
+++ b/protos/contextual_card_list.proto
@@ -19,6 +19,7 @@
     POSSIBLE = 2;
     IMPORTANT = 3;
     DEFERRED_SETUP = 5;
+    STICKY = 6;
   }
 
   /** Slice uri of the contextual card */
diff --git a/res/anim/enrollment_fingerprint_background_1_path_animation.xml b/res/anim/enrollment_fingerprint_background_1_path_animation.xml
index aed30c0..60654fc 100644
--- a/res/anim/enrollment_fingerprint_background_1_path_animation.xml
+++ b/res/anim/enrollment_fingerprint_background_1_path_animation.xml
@@ -23,14 +23,12 @@
             android:propertyName="fillColor"
             android:valueFrom="#000000"
             android:valueTo="#4285F4"
-            android:valueType="intType"
             android:interpolator="@android:interpolator/linear_out_slow_in" />
         <objectAnimator
             android:duration="300"
             android:propertyName="fillAlpha"
-            android:valueFrom="0.07f"
-            android:valueTo="0.65f"
-            android:valueType="floatType" />
+            android:valueFrom="0.07"
+            android:valueTo="0.65" />
     </set>
     <set
         android:ordering="together" >
@@ -39,13 +37,11 @@
             android:propertyName="fillColor"
             android:valueFrom="#4285F4"
             android:valueTo="#000000"
-            android:valueType="intType"
             android:interpolator="@android:interpolator/fast_out_slow_in" />
         <objectAnimator
             android:duration="300"
             android:propertyName="fillAlpha"
-            android:valueFrom="0.65f"
-            android:valueTo="0.07f"
-            android:valueType="floatType" />
+            android:valueFrom="0.65"
+            android:valueTo="0.07" />
     </set>
 </set>
diff --git a/res/anim/enrollment_fingerprint_background_2_path_animation.xml b/res/anim/enrollment_fingerprint_background_2_path_animation.xml
index aed30c0..60654fc 100644
--- a/res/anim/enrollment_fingerprint_background_2_path_animation.xml
+++ b/res/anim/enrollment_fingerprint_background_2_path_animation.xml
@@ -23,14 +23,12 @@
             android:propertyName="fillColor"
             android:valueFrom="#000000"
             android:valueTo="#4285F4"
-            android:valueType="intType"
             android:interpolator="@android:interpolator/linear_out_slow_in" />
         <objectAnimator
             android:duration="300"
             android:propertyName="fillAlpha"
-            android:valueFrom="0.07f"
-            android:valueTo="0.65f"
-            android:valueType="floatType" />
+            android:valueFrom="0.07"
+            android:valueTo="0.65" />
     </set>
     <set
         android:ordering="together" >
@@ -39,13 +37,11 @@
             android:propertyName="fillColor"
             android:valueFrom="#4285F4"
             android:valueTo="#000000"
-            android:valueType="intType"
             android:interpolator="@android:interpolator/fast_out_slow_in" />
         <objectAnimator
             android:duration="300"
             android:propertyName="fillAlpha"
-            android:valueFrom="0.65f"
-            android:valueTo="0.07f"
-            android:valueType="floatType" />
+            android:valueFrom="0.65"
+            android:valueTo="0.07" />
     </set>
 </set>
diff --git a/res/anim/enrollment_fingerprint_background_5_path_animation.xml b/res/anim/enrollment_fingerprint_background_5_path_animation.xml
index aed30c0..60654fc 100644
--- a/res/anim/enrollment_fingerprint_background_5_path_animation.xml
+++ b/res/anim/enrollment_fingerprint_background_5_path_animation.xml
@@ -23,14 +23,12 @@
             android:propertyName="fillColor"
             android:valueFrom="#000000"
             android:valueTo="#4285F4"
-            android:valueType="intType"
             android:interpolator="@android:interpolator/linear_out_slow_in" />
         <objectAnimator
             android:duration="300"
             android:propertyName="fillAlpha"
-            android:valueFrom="0.07f"
-            android:valueTo="0.65f"
-            android:valueType="floatType" />
+            android:valueFrom="0.07"
+            android:valueTo="0.65" />
     </set>
     <set
         android:ordering="together" >
@@ -39,13 +37,11 @@
             android:propertyName="fillColor"
             android:valueFrom="#4285F4"
             android:valueTo="#000000"
-            android:valueType="intType"
             android:interpolator="@android:interpolator/fast_out_slow_in" />
         <objectAnimator
             android:duration="300"
             android:propertyName="fillAlpha"
-            android:valueFrom="0.65f"
-            android:valueTo="0.07f"
-            android:valueType="floatType" />
+            android:valueFrom="0.65"
+            android:valueTo="0.07" />
     </set>
 </set>
diff --git a/res/anim/enrollment_fingerprint_background_6_path_animation.xml b/res/anim/enrollment_fingerprint_background_6_path_animation.xml
index aed30c0..60654fc 100644
--- a/res/anim/enrollment_fingerprint_background_6_path_animation.xml
+++ b/res/anim/enrollment_fingerprint_background_6_path_animation.xml
@@ -23,14 +23,12 @@
             android:propertyName="fillColor"
             android:valueFrom="#000000"
             android:valueTo="#4285F4"
-            android:valueType="intType"
             android:interpolator="@android:interpolator/linear_out_slow_in" />
         <objectAnimator
             android:duration="300"
             android:propertyName="fillAlpha"
-            android:valueFrom="0.07f"
-            android:valueTo="0.65f"
-            android:valueType="floatType" />
+            android:valueFrom="0.07"
+            android:valueTo="0.65" />
     </set>
     <set
         android:ordering="together" >
@@ -39,13 +37,11 @@
             android:propertyName="fillColor"
             android:valueFrom="#4285F4"
             android:valueTo="#000000"
-            android:valueType="intType"
             android:interpolator="@android:interpolator/fast_out_slow_in" />
         <objectAnimator
             android:duration="300"
             android:propertyName="fillAlpha"
-            android:valueFrom="0.65f"
-            android:valueTo="0.07f"
-            android:valueType="floatType" />
+            android:valueFrom="0.65"
+            android:valueTo="0.07" />
     </set>
 </set>
diff --git a/res/anim/enrollment_fingerprint_background_7_path_animation.xml b/res/anim/enrollment_fingerprint_background_7_path_animation.xml
index aed30c0..60654fc 100644
--- a/res/anim/enrollment_fingerprint_background_7_path_animation.xml
+++ b/res/anim/enrollment_fingerprint_background_7_path_animation.xml
@@ -23,14 +23,12 @@
             android:propertyName="fillColor"
             android:valueFrom="#000000"
             android:valueTo="#4285F4"
-            android:valueType="intType"
             android:interpolator="@android:interpolator/linear_out_slow_in" />
         <objectAnimator
             android:duration="300"
             android:propertyName="fillAlpha"
-            android:valueFrom="0.07f"
-            android:valueTo="0.65f"
-            android:valueType="floatType" />
+            android:valueFrom="0.07"
+            android:valueTo="0.65" />
     </set>
     <set
         android:ordering="together" >
@@ -39,13 +37,11 @@
             android:propertyName="fillColor"
             android:valueFrom="#4285F4"
             android:valueTo="#000000"
-            android:valueType="intType"
             android:interpolator="@android:interpolator/fast_out_slow_in" />
         <objectAnimator
             android:duration="300"
             android:propertyName="fillAlpha"
-            android:valueFrom="0.65f"
-            android:valueTo="0.07f"
-            android:valueType="floatType" />
+            android:valueFrom="0.65"
+            android:valueTo="0.07" />
     </set>
 </set>
diff --git a/res/drawable-hdpi/dotted_line_480px.png b/res/drawable-hdpi/dotted_line_480px.png
deleted file mode 100644
index 4c25bae..0000000
--- a/res/drawable-hdpi/dotted_line_480px.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_accessibility_generic.png b/res/drawable-hdpi/ic_accessibility_generic.png
deleted file mode 100644
index 2229409..0000000
--- a/res/drawable-hdpi/ic_accessibility_generic.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_menu_refresh_holo_dark.png b/res/drawable-hdpi/ic_menu_refresh_holo_dark.png
deleted file mode 100644
index 69ac31b..0000000
--- a/res/drawable-hdpi/ic_menu_refresh_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_network_signal_0.png b/res/drawable-hdpi/ic_network_signal_0.png
deleted file mode 100644
index 1629ae6..0000000
--- a/res/drawable-hdpi/ic_network_signal_0.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_network_signal_1.png b/res/drawable-hdpi/ic_network_signal_1.png
deleted file mode 100644
index 162ade2..0000000
--- a/res/drawable-hdpi/ic_network_signal_1.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_network_signal_2.png b/res/drawable-hdpi/ic_network_signal_2.png
deleted file mode 100644
index d91273c..0000000
--- a/res/drawable-hdpi/ic_network_signal_2.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_network_signal_3.png b/res/drawable-hdpi/ic_network_signal_3.png
deleted file mode 100644
index 5634bc9..0000000
--- a/res/drawable-hdpi/ic_network_signal_3.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_network_signal_4.png b/res/drawable-hdpi/ic_network_signal_4.png
deleted file mode 100644
index 0588950..0000000
--- a/res/drawable-hdpi/ic_network_signal_4.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_power_system.png b/res/drawable-hdpi/ic_power_system.png
deleted file mode 100644
index 3592466..0000000
--- a/res/drawable-hdpi/ic_power_system.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_settings_cell_standby.png b/res/drawable-hdpi/ic_settings_cell_standby.png
deleted file mode 100644
index 7d51c80..0000000
--- a/res/drawable-hdpi/ic_settings_cell_standby.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_settings_development_alpha.png b/res/drawable-hdpi/ic_settings_development_alpha.png
deleted file mode 100644
index 44cfb57..0000000
--- a/res/drawable-hdpi/ic_settings_development_alpha.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_settings_nfc_payment_am_alpha.png b/res/drawable-hdpi/ic_settings_nfc_payment_am_alpha.png
deleted file mode 100644
index 0a71416..0000000
--- a/res/drawable-hdpi/ic_settings_nfc_payment_am_alpha.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_settings_phone_idle.png b/res/drawable-hdpi/ic_settings_phone_idle.png
deleted file mode 100644
index 6ae7f5e..0000000
--- a/res/drawable-hdpi/ic_settings_phone_idle.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_settings_voice_calls.png b/res/drawable-hdpi/ic_settings_voice_calls.png
deleted file mode 100644
index b3cefda..0000000
--- a/res/drawable-hdpi/ic_settings_voice_calls.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_sim_card_alert_white_48dp.png b/res/drawable-hdpi/ic_sim_card_alert_white_48dp.png
deleted file mode 100644
index c8fbf42..0000000
--- a/res/drawable-hdpi/ic_sim_card_alert_white_48dp.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_sync_grey_holo.png b/res/drawable-hdpi/ic_sync_grey_holo.png
deleted file mode 100644
index ff927e9..0000000
--- a/res/drawable-hdpi/ic_sync_grey_holo.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_sync_red_holo.png b/res/drawable-hdpi/ic_sync_red_holo.png
deleted file mode 100644
index f7949ae..0000000
--- a/res/drawable-hdpi/ic_sync_red_holo.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_warning_googred_48dp.png b/res/drawable-hdpi/ic_warning_googred_48dp.png
new file mode 100644
index 0000000..70381dd
--- /dev/null
+++ b/res/drawable-hdpi/ic_warning_googred_48dp.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_wifi_lock_signal_1_dark.png b/res/drawable-hdpi/ic_wifi_lock_signal_1_dark.png
deleted file mode 100644
index d153336..0000000
--- a/res/drawable-hdpi/ic_wifi_lock_signal_1_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_wifi_lock_signal_2_dark.png b/res/drawable-hdpi/ic_wifi_lock_signal_2_dark.png
deleted file mode 100644
index 7ffbc84..0000000
--- a/res/drawable-hdpi/ic_wifi_lock_signal_2_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_wifi_lock_signal_3_dark.png b/res/drawable-hdpi/ic_wifi_lock_signal_3_dark.png
deleted file mode 100644
index 73ab082..0000000
--- a/res/drawable-hdpi/ic_wifi_lock_signal_3_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_wifi_lock_signal_4_dark.png b/res/drawable-hdpi/ic_wifi_lock_signal_4_dark.png
deleted file mode 100644
index 3b47049..0000000
--- a/res/drawable-hdpi/ic_wifi_lock_signal_4_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_wifi_signal_1_dark.png b/res/drawable-hdpi/ic_wifi_signal_1_dark.png
deleted file mode 100644
index 8b055b0..0000000
--- a/res/drawable-hdpi/ic_wifi_signal_1_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_wifi_signal_2_dark.png b/res/drawable-hdpi/ic_wifi_signal_2_dark.png
deleted file mode 100644
index 9514eae..0000000
--- a/res/drawable-hdpi/ic_wifi_signal_2_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_wifi_signal_3_dark.png b/res/drawable-hdpi/ic_wifi_signal_3_dark.png
deleted file mode 100644
index b8a4fe7..0000000
--- a/res/drawable-hdpi/ic_wifi_signal_3_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_wifi_signal_4_dark.png b/res/drawable-hdpi/ic_wifi_signal_4_dark.png
deleted file mode 100644
index ec697c8..0000000
--- a/res/drawable-hdpi/ic_wifi_signal_4_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/nav_divider.png b/res/drawable-hdpi/nav_divider.png
deleted file mode 100644
index b1f035c..0000000
--- a/res/drawable-hdpi/nav_divider.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-ldrtl-hdpi/ic_network_signal_0.png b/res/drawable-ldrtl-hdpi/ic_network_signal_0.png
deleted file mode 100644
index 54e7af9..0000000
--- a/res/drawable-ldrtl-hdpi/ic_network_signal_0.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-ldrtl-hdpi/ic_network_signal_1.png b/res/drawable-ldrtl-hdpi/ic_network_signal_1.png
deleted file mode 100644
index de959d5..0000000
--- a/res/drawable-ldrtl-hdpi/ic_network_signal_1.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-ldrtl-hdpi/ic_network_signal_2.png b/res/drawable-ldrtl-hdpi/ic_network_signal_2.png
deleted file mode 100644
index 097b9fb..0000000
--- a/res/drawable-ldrtl-hdpi/ic_network_signal_2.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-ldrtl-hdpi/ic_network_signal_3.png b/res/drawable-ldrtl-hdpi/ic_network_signal_3.png
deleted file mode 100644
index 11cb40b..0000000
--- a/res/drawable-ldrtl-hdpi/ic_network_signal_3.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-ldrtl-hdpi/ic_network_signal_4.png b/res/drawable-ldrtl-hdpi/ic_network_signal_4.png
deleted file mode 100644
index d741ffc..0000000
--- a/res/drawable-ldrtl-hdpi/ic_network_signal_4.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-ldrtl-mdpi/ic_network_signal_0.png b/res/drawable-ldrtl-mdpi/ic_network_signal_0.png
deleted file mode 100644
index 4cac9ed..0000000
--- a/res/drawable-ldrtl-mdpi/ic_network_signal_0.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-ldrtl-mdpi/ic_network_signal_1.png b/res/drawable-ldrtl-mdpi/ic_network_signal_1.png
deleted file mode 100644
index 9323a13..0000000
--- a/res/drawable-ldrtl-mdpi/ic_network_signal_1.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-ldrtl-mdpi/ic_network_signal_2.png b/res/drawable-ldrtl-mdpi/ic_network_signal_2.png
deleted file mode 100644
index e2f38a9..0000000
--- a/res/drawable-ldrtl-mdpi/ic_network_signal_2.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-ldrtl-mdpi/ic_network_signal_3.png b/res/drawable-ldrtl-mdpi/ic_network_signal_3.png
deleted file mode 100644
index b565289..0000000
--- a/res/drawable-ldrtl-mdpi/ic_network_signal_3.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-ldrtl-mdpi/ic_network_signal_4.png b/res/drawable-ldrtl-mdpi/ic_network_signal_4.png
deleted file mode 100644
index f63a426..0000000
--- a/res/drawable-ldrtl-mdpi/ic_network_signal_4.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-ldrtl-xhdpi/ic_network_signal_0.png b/res/drawable-ldrtl-xhdpi/ic_network_signal_0.png
deleted file mode 100644
index e4ec015..0000000
--- a/res/drawable-ldrtl-xhdpi/ic_network_signal_0.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-ldrtl-xhdpi/ic_network_signal_1.png b/res/drawable-ldrtl-xhdpi/ic_network_signal_1.png
deleted file mode 100644
index 712685a..0000000
--- a/res/drawable-ldrtl-xhdpi/ic_network_signal_1.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-ldrtl-xhdpi/ic_network_signal_2.png b/res/drawable-ldrtl-xhdpi/ic_network_signal_2.png
deleted file mode 100644
index 99fe1ac..0000000
--- a/res/drawable-ldrtl-xhdpi/ic_network_signal_2.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-ldrtl-xhdpi/ic_network_signal_3.png b/res/drawable-ldrtl-xhdpi/ic_network_signal_3.png
deleted file mode 100644
index 4ac2f10..0000000
--- a/res/drawable-ldrtl-xhdpi/ic_network_signal_3.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-ldrtl-xhdpi/ic_network_signal_4.png b/res/drawable-ldrtl-xhdpi/ic_network_signal_4.png
deleted file mode 100644
index 34608f1..0000000
--- a/res/drawable-ldrtl-xhdpi/ic_network_signal_4.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/dotted_line_480px.png b/res/drawable-mdpi/dotted_line_480px.png
deleted file mode 100755
index a52ca43..0000000
--- a/res/drawable-mdpi/dotted_line_480px.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_accessibility_generic.png b/res/drawable-mdpi/ic_accessibility_generic.png
deleted file mode 100644
index d59cda6..0000000
--- a/res/drawable-mdpi/ic_accessibility_generic.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_menu_refresh_holo_dark.png b/res/drawable-mdpi/ic_menu_refresh_holo_dark.png
deleted file mode 100644
index f68aacf..0000000
--- a/res/drawable-mdpi/ic_menu_refresh_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_network_signal_0.png b/res/drawable-mdpi/ic_network_signal_0.png
deleted file mode 100644
index a1b8431..0000000
--- a/res/drawable-mdpi/ic_network_signal_0.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_network_signal_1.png b/res/drawable-mdpi/ic_network_signal_1.png
deleted file mode 100644
index cc6179d..0000000
--- a/res/drawable-mdpi/ic_network_signal_1.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_network_signal_2.png b/res/drawable-mdpi/ic_network_signal_2.png
deleted file mode 100644
index 1373fb6..0000000
--- a/res/drawable-mdpi/ic_network_signal_2.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_network_signal_3.png b/res/drawable-mdpi/ic_network_signal_3.png
deleted file mode 100644
index 14468eb..0000000
--- a/res/drawable-mdpi/ic_network_signal_3.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_network_signal_4.png b/res/drawable-mdpi/ic_network_signal_4.png
deleted file mode 100644
index 43cdf26..0000000
--- a/res/drawable-mdpi/ic_network_signal_4.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_power_system.png b/res/drawable-mdpi/ic_power_system.png
deleted file mode 100644
index f9813d9..0000000
--- a/res/drawable-mdpi/ic_power_system.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_settings_cell_standby.png b/res/drawable-mdpi/ic_settings_cell_standby.png
deleted file mode 100644
index c922222..0000000
--- a/res/drawable-mdpi/ic_settings_cell_standby.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_settings_development_alpha.png b/res/drawable-mdpi/ic_settings_development_alpha.png
deleted file mode 100644
index cdc3ffe..0000000
--- a/res/drawable-mdpi/ic_settings_development_alpha.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_settings_nfc_payment_am_alpha.png b/res/drawable-mdpi/ic_settings_nfc_payment_am_alpha.png
deleted file mode 100644
index 1a66a30..0000000
--- a/res/drawable-mdpi/ic_settings_nfc_payment_am_alpha.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_settings_phone_idle.png b/res/drawable-mdpi/ic_settings_phone_idle.png
deleted file mode 100644
index 92b4b0a..0000000
--- a/res/drawable-mdpi/ic_settings_phone_idle.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_settings_voice_calls.png b/res/drawable-mdpi/ic_settings_voice_calls.png
deleted file mode 100644
index 9277295..0000000
--- a/res/drawable-mdpi/ic_settings_voice_calls.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_sim_card_alert_white_48dp.png b/res/drawable-mdpi/ic_sim_card_alert_white_48dp.png
deleted file mode 100644
index 18cd7f9..0000000
--- a/res/drawable-mdpi/ic_sim_card_alert_white_48dp.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_sync_grey_holo.png b/res/drawable-mdpi/ic_sync_grey_holo.png
deleted file mode 100644
index 822fa20..0000000
--- a/res/drawable-mdpi/ic_sync_grey_holo.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_sync_red_holo.png b/res/drawable-mdpi/ic_sync_red_holo.png
deleted file mode 100644
index 2fd7ae1..0000000
--- a/res/drawable-mdpi/ic_sync_red_holo.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_wifi_lock_signal_1_dark.png b/res/drawable-mdpi/ic_wifi_lock_signal_1_dark.png
deleted file mode 100644
index 03738de..0000000
--- a/res/drawable-mdpi/ic_wifi_lock_signal_1_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_wifi_lock_signal_2_dark.png b/res/drawable-mdpi/ic_wifi_lock_signal_2_dark.png
deleted file mode 100644
index b37d529..0000000
--- a/res/drawable-mdpi/ic_wifi_lock_signal_2_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_wifi_lock_signal_3_dark.png b/res/drawable-mdpi/ic_wifi_lock_signal_3_dark.png
deleted file mode 100644
index d456111..0000000
--- a/res/drawable-mdpi/ic_wifi_lock_signal_3_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_wifi_lock_signal_4_dark.png b/res/drawable-mdpi/ic_wifi_lock_signal_4_dark.png
deleted file mode 100644
index 435f768..0000000
--- a/res/drawable-mdpi/ic_wifi_lock_signal_4_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_wifi_signal_1_dark.png b/res/drawable-mdpi/ic_wifi_signal_1_dark.png
deleted file mode 100644
index 5e186b3..0000000
--- a/res/drawable-mdpi/ic_wifi_signal_1_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_wifi_signal_2_dark.png b/res/drawable-mdpi/ic_wifi_signal_2_dark.png
deleted file mode 100644
index eb0b290..0000000
--- a/res/drawable-mdpi/ic_wifi_signal_2_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_wifi_signal_3_dark.png b/res/drawable-mdpi/ic_wifi_signal_3_dark.png
deleted file mode 100644
index 47afa46..0000000
--- a/res/drawable-mdpi/ic_wifi_signal_3_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_wifi_signal_4_dark.png b/res/drawable-mdpi/ic_wifi_signal_4_dark.png
deleted file mode 100644
index df5cbf5..0000000
--- a/res/drawable-mdpi/ic_wifi_signal_4_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/nav_divider.png b/res/drawable-mdpi/nav_divider.png
deleted file mode 100644
index f7ed6df..0000000
--- a/res/drawable-mdpi/nav_divider.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/nfc_how_it_works.png b/res/drawable-mdpi/nfc_how_it_works.png
deleted file mode 100644
index 1dc272c..0000000
--- a/res/drawable-mdpi/nfc_how_it_works.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/tapandpay_emptystate.png b/res/drawable-mdpi/tapandpay_emptystate.png
deleted file mode 100644
index 1c0eb76..0000000
--- a/res/drawable-mdpi/tapandpay_emptystate.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-nodpi/accessibility_timeout b/res/drawable-nodpi/accessibility_timeout
deleted file mode 100644
index e69de29..0000000
--- a/res/drawable-nodpi/accessibility_timeout
+++ /dev/null
diff --git a/res/drawable-nodpi/accessibility_timeout.png b/res/drawable-nodpi/accessibility_timeout.png
new file mode 100644
index 0000000..887f117
--- /dev/null
+++ b/res/drawable-nodpi/accessibility_timeout.png
Binary files differ
diff --git a/res/drawable-xhdpi/dotted_line_480px.png b/res/drawable-xhdpi/dotted_line_480px.png
deleted file mode 100644
index 7a9d024..0000000
--- a/res/drawable-xhdpi/dotted_line_480px.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_accessibility_generic.png b/res/drawable-xhdpi/ic_accessibility_generic.png
deleted file mode 100644
index a4d4036..0000000
--- a/res/drawable-xhdpi/ic_accessibility_generic.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_menu_refresh_holo_dark.png b/res/drawable-xhdpi/ic_menu_refresh_holo_dark.png
deleted file mode 100644
index 3db90ee..0000000
--- a/res/drawable-xhdpi/ic_menu_refresh_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_network_signal_0.png b/res/drawable-xhdpi/ic_network_signal_0.png
deleted file mode 100644
index b609ecf..0000000
--- a/res/drawable-xhdpi/ic_network_signal_0.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_network_signal_1.png b/res/drawable-xhdpi/ic_network_signal_1.png
deleted file mode 100644
index 854921f..0000000
--- a/res/drawable-xhdpi/ic_network_signal_1.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_network_signal_2.png b/res/drawable-xhdpi/ic_network_signal_2.png
deleted file mode 100644
index 3db4ce6..0000000
--- a/res/drawable-xhdpi/ic_network_signal_2.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_network_signal_3.png b/res/drawable-xhdpi/ic_network_signal_3.png
deleted file mode 100644
index 18003e5..0000000
--- a/res/drawable-xhdpi/ic_network_signal_3.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_network_signal_4.png b/res/drawable-xhdpi/ic_network_signal_4.png
deleted file mode 100644
index 304108f..0000000
--- a/res/drawable-xhdpi/ic_network_signal_4.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_power_system.png b/res/drawable-xhdpi/ic_power_system.png
deleted file mode 100644
index 8671616..0000000
--- a/res/drawable-xhdpi/ic_power_system.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_settings_cell_standby.png b/res/drawable-xhdpi/ic_settings_cell_standby.png
deleted file mode 100644
index a02b5a2..0000000
--- a/res/drawable-xhdpi/ic_settings_cell_standby.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_settings_development_alpha.png b/res/drawable-xhdpi/ic_settings_development_alpha.png
deleted file mode 100644
index 3a4b3d9..0000000
--- a/res/drawable-xhdpi/ic_settings_development_alpha.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_settings_nfc_payment_am_alpha.png b/res/drawable-xhdpi/ic_settings_nfc_payment_am_alpha.png
deleted file mode 100644
index 9aa2fd2..0000000
--- a/res/drawable-xhdpi/ic_settings_nfc_payment_am_alpha.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_settings_phone_idle.png b/res/drawable-xhdpi/ic_settings_phone_idle.png
deleted file mode 100644
index 1f8bd65..0000000
--- a/res/drawable-xhdpi/ic_settings_phone_idle.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_settings_voice_calls.png b/res/drawable-xhdpi/ic_settings_voice_calls.png
deleted file mode 100644
index fac4916..0000000
--- a/res/drawable-xhdpi/ic_settings_voice_calls.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_sim_card_alert_white_48dp.png b/res/drawable-xhdpi/ic_sim_card_alert_white_48dp.png
deleted file mode 100644
index 6d983b7..0000000
--- a/res/drawable-xhdpi/ic_sim_card_alert_white_48dp.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_sync_grey_holo.png b/res/drawable-xhdpi/ic_sync_grey_holo.png
deleted file mode 100644
index 9b4662c..0000000
--- a/res/drawable-xhdpi/ic_sync_grey_holo.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_sync_red_holo.png b/res/drawable-xhdpi/ic_sync_red_holo.png
deleted file mode 100644
index a9e2b8c..0000000
--- a/res/drawable-xhdpi/ic_sync_red_holo.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_wifi_lock_signal_1_dark.png b/res/drawable-xhdpi/ic_wifi_lock_signal_1_dark.png
deleted file mode 100644
index c9dde7b..0000000
--- a/res/drawable-xhdpi/ic_wifi_lock_signal_1_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_wifi_lock_signal_2_dark.png b/res/drawable-xhdpi/ic_wifi_lock_signal_2_dark.png
deleted file mode 100644
index 4e8f631..0000000
--- a/res/drawable-xhdpi/ic_wifi_lock_signal_2_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_wifi_lock_signal_3_dark.png b/res/drawable-xhdpi/ic_wifi_lock_signal_3_dark.png
deleted file mode 100644
index c50c727..0000000
--- a/res/drawable-xhdpi/ic_wifi_lock_signal_3_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_wifi_lock_signal_4_dark.png b/res/drawable-xhdpi/ic_wifi_lock_signal_4_dark.png
deleted file mode 100644
index 7b3b9e5..0000000
--- a/res/drawable-xhdpi/ic_wifi_lock_signal_4_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_wifi_signal_1_dark.png b/res/drawable-xhdpi/ic_wifi_signal_1_dark.png
deleted file mode 100644
index 142db5b..0000000
--- a/res/drawable-xhdpi/ic_wifi_signal_1_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_wifi_signal_2_dark.png b/res/drawable-xhdpi/ic_wifi_signal_2_dark.png
deleted file mode 100644
index 0c41ae0..0000000
--- a/res/drawable-xhdpi/ic_wifi_signal_2_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_wifi_signal_3_dark.png b/res/drawable-xhdpi/ic_wifi_signal_3_dark.png
deleted file mode 100644
index 6f0d944..0000000
--- a/res/drawable-xhdpi/ic_wifi_signal_3_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_wifi_signal_4_dark.png b/res/drawable-xhdpi/ic_wifi_signal_4_dark.png
deleted file mode 100644
index 418d53c..0000000
--- a/res/drawable-xhdpi/ic_wifi_signal_4_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/nav_divider.png b/res/drawable-xhdpi/nav_divider.png
deleted file mode 100644
index 00e3852..0000000
--- a/res/drawable-xhdpi/nav_divider.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/nfc_how_it_works.png b/res/drawable-xhdpi/nfc_how_it_works.png
deleted file mode 100644
index e61d77f..0000000
--- a/res/drawable-xhdpi/nfc_how_it_works.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/tapandpay_emptystate.png b/res/drawable-xhdpi/tapandpay_emptystate.png
deleted file mode 100644
index f7f436b..0000000
--- a/res/drawable-xhdpi/tapandpay_emptystate.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_accessibility_generic.png b/res/drawable-xxhdpi/ic_accessibility_generic.png
deleted file mode 100644
index 361f5d5..0000000
--- a/res/drawable-xxhdpi/ic_accessibility_generic.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_network_signal_4.png b/res/drawable-xxhdpi/ic_network_signal_4.png
deleted file mode 100644
index dafe7c4..0000000
--- a/res/drawable-xxhdpi/ic_network_signal_4.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_power_system.png b/res/drawable-xxhdpi/ic_power_system.png
deleted file mode 100644
index 8d4979f..0000000
--- a/res/drawable-xxhdpi/ic_power_system.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_settings_cell_standby.png b/res/drawable-xxhdpi/ic_settings_cell_standby.png
deleted file mode 100644
index 07d5c85..0000000
--- a/res/drawable-xxhdpi/ic_settings_cell_standby.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_settings_development_alpha.png b/res/drawable-xxhdpi/ic_settings_development_alpha.png
deleted file mode 100644
index fc23084..0000000
--- a/res/drawable-xxhdpi/ic_settings_development_alpha.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_settings_nfc_payment_am_alpha.png b/res/drawable-xxhdpi/ic_settings_nfc_payment_am_alpha.png
deleted file mode 100644
index 6e09248..0000000
--- a/res/drawable-xxhdpi/ic_settings_nfc_payment_am_alpha.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_settings_phone_idle.png b/res/drawable-xxhdpi/ic_settings_phone_idle.png
deleted file mode 100644
index a6fe868..0000000
--- a/res/drawable-xxhdpi/ic_settings_phone_idle.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_settings_voice_calls.png b/res/drawable-xxhdpi/ic_settings_voice_calls.png
deleted file mode 100644
index 78e4483..0000000
--- a/res/drawable-xxhdpi/ic_settings_voice_calls.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_sim_card_alert_white_48dp.png b/res/drawable-xxhdpi/ic_sim_card_alert_white_48dp.png
deleted file mode 100644
index 6c8dd1f..0000000
--- a/res/drawable-xxhdpi/ic_sim_card_alert_white_48dp.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_sync_grey_holo.png b/res/drawable-xxhdpi/ic_sync_grey_holo.png
deleted file mode 100644
index 3b933be..0000000
--- a/res/drawable-xxhdpi/ic_sync_grey_holo.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_sync_red_holo.png b/res/drawable-xxhdpi/ic_sync_red_holo.png
deleted file mode 100644
index 9144709..0000000
--- a/res/drawable-xxhdpi/ic_sync_red_holo.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_wifi_lock_signal_1_dark.png b/res/drawable-xxhdpi/ic_wifi_lock_signal_1_dark.png
deleted file mode 100644
index d862a5e..0000000
--- a/res/drawable-xxhdpi/ic_wifi_lock_signal_1_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_wifi_lock_signal_2_dark.png b/res/drawable-xxhdpi/ic_wifi_lock_signal_2_dark.png
deleted file mode 100644
index 1f5e563..0000000
--- a/res/drawable-xxhdpi/ic_wifi_lock_signal_2_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_wifi_lock_signal_3_dark.png b/res/drawable-xxhdpi/ic_wifi_lock_signal_3_dark.png
deleted file mode 100644
index e02938b..0000000
--- a/res/drawable-xxhdpi/ic_wifi_lock_signal_3_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_wifi_lock_signal_4_dark.png b/res/drawable-xxhdpi/ic_wifi_lock_signal_4_dark.png
deleted file mode 100644
index b312c97..0000000
--- a/res/drawable-xxhdpi/ic_wifi_lock_signal_4_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_wifi_signal_1_dark.png b/res/drawable-xxhdpi/ic_wifi_signal_1_dark.png
deleted file mode 100644
index 45adfbe..0000000
--- a/res/drawable-xxhdpi/ic_wifi_signal_1_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_wifi_signal_2_dark.png b/res/drawable-xxhdpi/ic_wifi_signal_2_dark.png
deleted file mode 100644
index 711c1f7..0000000
--- a/res/drawable-xxhdpi/ic_wifi_signal_2_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_wifi_signal_3_dark.png b/res/drawable-xxhdpi/ic_wifi_signal_3_dark.png
deleted file mode 100644
index b8aef2d..0000000
--- a/res/drawable-xxhdpi/ic_wifi_signal_3_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_wifi_signal_4_dark.png b/res/drawable-xxhdpi/ic_wifi_signal_4_dark.png
deleted file mode 100644
index 6166fdc..0000000
--- a/res/drawable-xxhdpi/ic_wifi_signal_4_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/nfc_how_it_works.png b/res/drawable-xxhdpi/nfc_how_it_works.png
deleted file mode 100644
index 0c816bd..0000000
--- a/res/drawable-xxhdpi/nfc_how_it_works.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/tapandpay_emptystate.png b/res/drawable-xxhdpi/tapandpay_emptystate.png
deleted file mode 100644
index 6e60022..0000000
--- a/res/drawable-xxhdpi/tapandpay_emptystate.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxxhdpi/ic_accessibility_generic.png b/res/drawable-xxxhdpi/ic_accessibility_generic.png
deleted file mode 100644
index a960e79..0000000
--- a/res/drawable-xxxhdpi/ic_accessibility_generic.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxxhdpi/ic_network_signal_4.png b/res/drawable-xxxhdpi/ic_network_signal_4.png
deleted file mode 100644
index 622cc4c..0000000
--- a/res/drawable-xxxhdpi/ic_network_signal_4.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxxhdpi/ic_power_system.png b/res/drawable-xxxhdpi/ic_power_system.png
deleted file mode 100644
index bc92e90..0000000
--- a/res/drawable-xxxhdpi/ic_power_system.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxxhdpi/ic_settings_cell_standby.png b/res/drawable-xxxhdpi/ic_settings_cell_standby.png
deleted file mode 100644
index 3c864ce..0000000
--- a/res/drawable-xxxhdpi/ic_settings_cell_standby.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxxhdpi/ic_settings_development_alpha.png b/res/drawable-xxxhdpi/ic_settings_development_alpha.png
deleted file mode 100644
index 47f4547..0000000
--- a/res/drawable-xxxhdpi/ic_settings_development_alpha.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxxhdpi/ic_settings_nfc_payment_am_alpha.png b/res/drawable-xxxhdpi/ic_settings_nfc_payment_am_alpha.png
deleted file mode 100644
index 6c29a53..0000000
--- a/res/drawable-xxxhdpi/ic_settings_nfc_payment_am_alpha.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxxhdpi/ic_settings_phone_idle.png b/res/drawable-xxxhdpi/ic_settings_phone_idle.png
deleted file mode 100644
index 4851676..0000000
--- a/res/drawable-xxxhdpi/ic_settings_phone_idle.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxxhdpi/ic_settings_voice_calls.png b/res/drawable-xxxhdpi/ic_settings_voice_calls.png
deleted file mode 100644
index 633cfc1..0000000
--- a/res/drawable-xxxhdpi/ic_settings_voice_calls.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxxhdpi/ic_sim_card_alert_white_48dp.png b/res/drawable-xxxhdpi/ic_sim_card_alert_white_48dp.png
deleted file mode 100644
index e8b6667..0000000
--- a/res/drawable-xxxhdpi/ic_sim_card_alert_white_48dp.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxxhdpi/ic_sync_grey_holo.png b/res/drawable-xxxhdpi/ic_sync_grey_holo.png
deleted file mode 100644
index 7cff102..0000000
--- a/res/drawable-xxxhdpi/ic_sync_grey_holo.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxxhdpi/ic_sync_red_holo.png b/res/drawable-xxxhdpi/ic_sync_red_holo.png
deleted file mode 100644
index 115bb7a..0000000
--- a/res/drawable-xxxhdpi/ic_sync_red_holo.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxxhdpi/ic_wifi_lock_signal_1_dark.png b/res/drawable-xxxhdpi/ic_wifi_lock_signal_1_dark.png
deleted file mode 100644
index dfc176f..0000000
--- a/res/drawable-xxxhdpi/ic_wifi_lock_signal_1_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxxhdpi/ic_wifi_lock_signal_2_dark.png b/res/drawable-xxxhdpi/ic_wifi_lock_signal_2_dark.png
deleted file mode 100644
index 0386e0d..0000000
--- a/res/drawable-xxxhdpi/ic_wifi_lock_signal_2_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxxhdpi/ic_wifi_lock_signal_3_dark.png b/res/drawable-xxxhdpi/ic_wifi_lock_signal_3_dark.png
deleted file mode 100644
index 7a9349f..0000000
--- a/res/drawable-xxxhdpi/ic_wifi_lock_signal_3_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxxhdpi/ic_wifi_lock_signal_4_dark.png b/res/drawable-xxxhdpi/ic_wifi_lock_signal_4_dark.png
deleted file mode 100644
index aa2eb6d..0000000
--- a/res/drawable-xxxhdpi/ic_wifi_lock_signal_4_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxxhdpi/ic_wifi_signal_1_dark.png b/res/drawable-xxxhdpi/ic_wifi_signal_1_dark.png
deleted file mode 100644
index d8ba287..0000000
--- a/res/drawable-xxxhdpi/ic_wifi_signal_1_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxxhdpi/ic_wifi_signal_2_dark.png b/res/drawable-xxxhdpi/ic_wifi_signal_2_dark.png
deleted file mode 100644
index e700338..0000000
--- a/res/drawable-xxxhdpi/ic_wifi_signal_2_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxxhdpi/ic_wifi_signal_3_dark.png b/res/drawable-xxxhdpi/ic_wifi_signal_3_dark.png
deleted file mode 100644
index 8d3c446..0000000
--- a/res/drawable-xxxhdpi/ic_wifi_signal_3_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxxhdpi/ic_wifi_signal_4_dark.png b/res/drawable-xxxhdpi/ic_wifi_signal_4_dark.png
deleted file mode 100644
index c11b797..0000000
--- a/res/drawable-xxxhdpi/ic_wifi_signal_4_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxxhdpi/nfc_how_it_works.png b/res/drawable-xxxhdpi/nfc_how_it_works.png
deleted file mode 100644
index 0add50f..0000000
--- a/res/drawable-xxxhdpi/nfc_how_it_works.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxxhdpi/tapandpay_emptystate.png b/res/drawable-xxxhdpi/tapandpay_emptystate.png
deleted file mode 100644
index de8e437..0000000
--- a/res/drawable-xxxhdpi/tapandpay_emptystate.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable/accessibility_captions.png b/res/drawable/accessibility_captions.png
new file mode 100644
index 0000000..5467386
--- /dev/null
+++ b/res/drawable/accessibility_captions.png
Binary files differ
diff --git a/res/drawable/accessibility_dwell.png b/res/drawable/accessibility_dwell.png
new file mode 100644
index 0000000..b4f5598
--- /dev/null
+++ b/res/drawable/accessibility_dwell.png
Binary files differ
diff --git a/res/drawable/accessibility_magnification_full_screen.png b/res/drawable/accessibility_magnification_full_screen.png
new file mode 100644
index 0000000..7fcd17d
--- /dev/null
+++ b/res/drawable/accessibility_magnification_full_screen.png
Binary files differ
diff --git a/res/drawable/accessibility_magnification_window_screen.png b/res/drawable/accessibility_magnification_window_screen.png
new file mode 100644
index 0000000..db1f332
--- /dev/null
+++ b/res/drawable/accessibility_magnification_window_screen.png
Binary files differ
diff --git a/res/drawable/accessibility_shortcut_type_hardware.png b/res/drawable/accessibility_shortcut_type_hardware.png
new file mode 100644
index 0000000..664ceb3
--- /dev/null
+++ b/res/drawable/accessibility_shortcut_type_hardware.png
Binary files differ
diff --git a/res/drawable/accessibility_shortcut_type_software.png b/res/drawable/accessibility_shortcut_type_software.png
new file mode 100644
index 0000000..0212548
--- /dev/null
+++ b/res/drawable/accessibility_shortcut_type_software.png
Binary files differ
diff --git a/res/drawable/accessibility_shortcut_type_software_gesture.png b/res/drawable/accessibility_shortcut_type_software_gesture.png
new file mode 100644
index 0000000..0a2921a
--- /dev/null
+++ b/res/drawable/accessibility_shortcut_type_software_gesture.png
Binary files differ
diff --git a/res/drawable/accessibility_shortcut_type_software_gesture_talkback.png b/res/drawable/accessibility_shortcut_type_software_gesture_talkback.png
new file mode 100644
index 0000000..85fec85
--- /dev/null
+++ b/res/drawable/accessibility_shortcut_type_software_gesture_talkback.png
Binary files differ
diff --git a/res/drawable/accessibility_shortcut_type_triple_tap.png b/res/drawable/accessibility_shortcut_type_triple_tap.png
new file mode 100644
index 0000000..6a08d29
--- /dev/null
+++ b/res/drawable/accessibility_shortcut_type_triple_tap.png
Binary files differ
diff --git a/res/drawable/ic_accessibility_generic.xml b/res/drawable/ic_accessibility_generic.xml
new file mode 100644
index 0000000..2c7d413
--- /dev/null
+++ b/res/drawable/ic_accessibility_generic.xml
@@ -0,0 +1,30 @@
+<!--
+  Copyright 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.
+-->
+
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="24dp"
+        android:height="24dp"
+        android:viewportWidth="24"
+        android:viewportHeight="24">
+    <path
+        android:pathData="M5.6875,22.8235C4.9092,22.4776 4.8184,22.2615 2.8752,16.1257 1.8439,12.8691 1.0015,10.0882 1.0033,9.946 1.0137,9.1246 1.3166,8.8389 6.25,4.9976 9.2052,2.6966 11.2442,1.1943 11.5332,1.1049 11.8724,0.9999 12.1235,0.996 12.432,1.0907 12.9214,1.2408 22.3634,8.7104 22.6857,9.2024 23.1266,9.8752 23.0768,10.1907 22.0053,13.5155 19.0153,22.7935 19.1481,22.461 18.2853,22.8286 17.7053,23.0757 6.2446,23.0711 5.6875,22.8235Z"
+        android:strokeWidth="0.31999999"
+        android:fillColor="#ced6da"/>
+    <path
+        android:pathData="M10.0615,19.3507C10.028,19.2609 9.9864,17.362 9.9691,15.1308L9.9375,11.0741 8.5,10.853c-2.1981,-0.3381 -2.1924,-0.3355 -2.1619,-0.978 0.0141,-0.2963 0.074,-0.587 0.1331,-0.6462 0.06,-0.06 0.7667,0.0113 1.5994,0.1614 2.1217,0.3824 5.7371,0.3824 7.8588,0 0.8206,-0.1479 1.5349,-0.2259 1.5874,-0.1733 0.0525,0.0526 0.1334,0.3334 0.1799,0.624 0.078,0.4881 0.0598,0.5378 -0.2384,0.6512 -0.1776,0.0675 -1.0143,0.2259 -1.8593,0.352l-1.5364,0.2293 -0.0625,4.182 -0.0625,4.182l-0.625,0 -0.625,0l-0.0625,-1.875 -0.0625,-1.875l-0.5625,0L11.4375,15.6875l-0.0625,1.875 -0.0625,1.875 -0.595,0.0382c-0.4038,0.0259 -0.6146,-0.0143 -0.6559,-0.125zM11.3716,8.912c-0.4861,-0.3351 -0.6133,-0.5622 -0.6176,-1.1029 -0.0047,-0.6005 0.2255,-0.9684 0.739,-1.1811 0.8994,-0.3726 1.7571,0.2075 1.7571,1.1885 0,0.4533 -0.0659,0.5905 -0.4418,0.9206 -0.5007,0.4396 -0.9697,0.4967 -1.4366,0.1749z"
+        android:strokeWidth="0.31999999"
+        android:fillColor="#ffffff"/>
+</vector>
\ No newline at end of file
diff --git a/res/drawable/ic_accessibility_new.xml b/res/drawable/ic_accessibility_new.xml
index 6bfc6c6..1347239 100644
--- a/res/drawable/ic_accessibility_new.xml
+++ b/res/drawable/ic_accessibility_new.xml
@@ -18,7 +18,8 @@
     android:width="24dp"
     android:height="24dp"
     android:viewportWidth="24"
-    android:viewportHeight="24">
+    android:viewportHeight="24"
+    android:tint="?android:attr/colorControlNormal">
   <path
       android:fillColor="#757575"
       android:pathData="M20.5,6c-2.61,0.7 -5.67,1 -8.5,1s-5.89,-0.3 -8.5,-1L3,8c1.86,0.5 4,0.83 6,1v13h2v-6h2v6h2V9c2,-0.17 4.14,-0.5 6,-1l-0.5,-2zM12,6c1.1,0 2,-0.9 2,-2s-0.9,-2 -2,-2 -2,0.9 -2,2 0.9,2 2,2z"/>
diff --git a/res/drawable/ic_add_blue_24dp.xml b/res/drawable/ic_add_blue_24dp.xml
new file mode 100644
index 0000000..a9a2f60
--- /dev/null
+++ b/res/drawable/ic_add_blue_24dp.xml
@@ -0,0 +1,26 @@
+<!--
+  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">
+    <path
+        android:fillColor="#4285F4"
+        android:pathData="M20,13h-7v7h-2v-7H4v-2h7V4h2v7h7V13z"/>
+</vector>
+
diff --git a/res/drawable/ic_add_to_home.xml b/res/drawable/ic_add_to_home.xml
new file mode 100644
index 0000000..1f55b71
--- /dev/null
+++ b/res/drawable/ic_add_to_home.xml
@@ -0,0 +1,26 @@
+<!--
+  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.0"
+        android:viewportHeight="24.0"
+        android:tint="?android:attr/colorControlNormal">
+    <path
+        android:fillColor="@android:color/white"
+        android:pathData="M18,1.01L8,1c-1.1,0 -2,0.9 -2,2v3h2V5h10v14H8v-1H6v3c0,1.1 0.9,2 2,2h10c1.1,0 2,-0.9 2,-2V3c0,-1.1 -0.9,-1.99 -2,-1.99zM10,15h2V8H5v2h3.59L3,15.59 4.41,17 10,11.41V15z"/>
+</vector>
diff --git a/res/drawable/ic_analytics_grey.xml b/res/drawable/ic_analytics_grey.xml
new file mode 100644
index 0000000..f0bbdb9
--- /dev/null
+++ b/res/drawable/ic_analytics_grey.xml
@@ -0,0 +1,21 @@
+<!--
+  ~ 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 android:autoMirrored="true" android:height="24dp"
+    android:viewportHeight="24" android:viewportWidth="24"
+    android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
+    <path android:fillColor="#757575" android:pathData="M19,3L5,3c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2L21,5c0,-1.1 -0.9,-2 -2,-2zM9,17L7,17v-5h2v5zM13,17h-2v-3h2v3zM13,12h-2v-2h2v2zM17,17h-2L15,7h2v10z"/>
+</vector>
diff --git a/res/drawable/ic_check_box_anim.xml b/res/drawable/ic_check_box_anim.xml
new file mode 100644
index 0000000..f6aed8f
--- /dev/null
+++ b/res/drawable/ic_check_box_anim.xml
@@ -0,0 +1,25 @@
+<!--
+  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
+  -->
+
+<animated-selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item
+        android:id="@+id/checked"
+        android:state_checked="true"
+        android:drawable="@drawable/ic_check_box_blue_24dp" />
+    <item
+        android:id="@+id/unchecked"
+        android:drawable="@drawable/ic_check_box_outline_24dp" />
+</animated-selector>
diff --git a/res/drawable/ic_check_box_blue_24dp.xml b/res/drawable/ic_check_box_blue_24dp.xml
new file mode 100644
index 0000000..43cae69
--- /dev/null
+++ b/res/drawable/ic_check_box_blue_24dp.xml
@@ -0,0 +1,26 @@
+<!--
+  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">
+    <path
+        android:pathData="M19,3L5,3c-1.11,0 -2,0.9 -2,2v14c0,1.1 0.89,2 2,2h14c1.11,0 2,-0.9 2,-2L21,5c0,-1.1 -0.89,-2 -2,-2zM10,17l-5,-5 1.41,-1.41L10,14.17l7.59,-7.59L19,8l-9,9z"
+        android:fillColor="#4285F4"/>
+</vector>
+
diff --git a/res/drawable/ic_check_box_outline_24dp.xml b/res/drawable/ic_check_box_outline_24dp.xml
new file mode 100644
index 0000000..f6f453a
--- /dev/null
+++ b/res/drawable/ic_check_box_outline_24dp.xml
@@ -0,0 +1,26 @@
+<!--
+  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">
+    <path
+        android:pathData="M19,5v14H5V5h14m0,-2H5c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2V5c0,-1.1 -0.9,-2 -2,-2z"
+        android:fillColor="#757575"/>
+</vector>
+
diff --git a/res/drawable/ic_check_circle_green.xml b/res/drawable/ic_check_circle_green.xml
index 214d2cf..1c42607 100644
--- a/res/drawable/ic_check_circle_green.xml
+++ b/res/drawable/ic_check_circle_green.xml
@@ -15,8 +15,8 @@
 -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="24dp"
-    android:height="24dp"
+    android:width="16dp"
+    android:height="16dp"
     android:viewportWidth="64.0"
     android:viewportHeight="64.0">
     <path
diff --git a/res/drawable/ic_clear.xml b/res/drawable/ic_clear.xml
new file mode 100644
index 0000000..224425f
--- /dev/null
+++ b/res/drawable/ic_clear.xml
@@ -0,0 +1,26 @@
+<?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.
+    -->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:viewportWidth="24"
+    android:viewportHeight="24"
+    android:width="24dp"
+    android:height="24dp">
+    <path
+        android:pathData="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12Z"
+        android:fillColor="#FFFFFF" />
+</vector>
+
diff --git a/res/drawable/ic_create_bubble.xml b/res/drawable/ic_create_bubble.xml
new file mode 100644
index 0000000..e943355
--- /dev/null
+++ b/res/drawable/ic_create_bubble.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2020 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+
+<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="M12,3c-4.97,0 -9,4.03 -9,9c0,1.39 0.32,2.69 0.88,3.86l1.53,-1.53C5.15,13.6 5,12.82 5,12c0,-3.86 3.14,-7 7,-7s7,3.14 7,7s-3.14,7 -7,7c-0.83,0 -1.62,-0.15 -2.35,-0.42l-1.53,1.53C9.3,20.67 10.61,21 12,21c4.97,0 9,-4.03 9,-9C21,7.03 16.97,3 12,3z"
+        android:fillColor="#000000"/>
+    <path
+        android:pathData="M12.99,15.99l2,0l0,-7l-7,0l0,2l3.59,0l-8.79,8.8l1.41,1.41l8.79,-8.79z"
+        android:fillColor="#000000"/>
+</vector>
diff --git a/res/drawable/ic_demote_conversation.xml b/res/drawable/ic_demote_conversation.xml
new file mode 100644
index 0000000..ef25bad
--- /dev/null
+++ b/res/drawable/ic_demote_conversation.xml
@@ -0,0 +1,26 @@
+<!--
+  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.0"
+        android:viewportHeight="24.0"
+        android:tint="?android:attr/colorControlNormal">
+    <path
+        android:fillColor="@android:color/white"
+        android:pathData="M20,2L4.83,2l2,2L20,4v12h-1.17l1.87,1.87c0.75,-0.29 1.3,-1.02 1.3,-1.87L22,4c0,-1.1 -0.9,-2 -2,-2zM6,12h2v2L6,14zM18,11L18,9h-6.17l2,2zM18,6h-8v1.17l0.83,0.83L18,8zM0.69,3.51l1.32,1.32L2,22l4,-4h9.17l5.31,5.31 1.41,-1.41L2.1,2.1 0.69,3.51zM6,16h-0.83l-0.59,0.59 -0.58,0.58L4,6.83l2,2L6,11h2.17l5,5L6,16z"/>
+</vector>
\ No newline at end of file
diff --git a/res/drawable/ic_devices_check_circle_green.xml b/res/drawable/ic_devices_check_circle_green.xml
deleted file mode 100644
index 71c683b..0000000
--- a/res/drawable/ic_devices_check_circle_green.xml
+++ /dev/null
@@ -1,30 +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.
--->
-<layer-list
-    xmlns:android="http://schemas.android.com/apk/res/android">
-    <item
-        android:drawable="@drawable/ic_devices_other_opaque_black"
-        android:width="@dimen/wifi_dpp_fragment_icon_width_height"
-        android:height="@dimen/wifi_dpp_fragment_icon_width_height"
-        android:gravity="center"/>
-
-    <item
-        android:drawable="@drawable/ic_check_circle_green"
-        android:top="28dp"
-        android:left="44dp"
-        android:gravity="center"/>
-
-</layer-list>
diff --git a/res/drawable/ic_devices_check_circle_green_32dp.xml b/res/drawable/ic_devices_check_circle_green_32dp.xml
new file mode 100644
index 0000000..b964b15
--- /dev/null
+++ b/res/drawable/ic_devices_check_circle_green_32dp.xml
@@ -0,0 +1,30 @@
+<!--
+    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.
+-->
+<layer-list
+    xmlns:android="http://schemas.android.com/apk/res/android">
+    <item
+        android:drawable="@drawable/ic_devices_other_32dp"
+        android:width="40dp"
+        android:height="40dp"
+        android:gravity="center"/>
+
+    <item
+        android:drawable="@drawable/ic_check_circle_green"
+        android:top="16dp"
+        android:left="32dp"
+        android:gravity="center"/>
+
+</layer-list>
diff --git a/res/drawable/ic_devices_other_32dp.xml b/res/drawable/ic_devices_other_32dp.xml
new file mode 100644
index 0000000..7f9df8c
--- /dev/null
+++ b/res/drawable/ic_devices_other_32dp.xml
@@ -0,0 +1,25 @@
+<!--
+    Copyright 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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="32dp"
+    android:height="32dp"
+    android:tint="?android:attr/colorAccent"
+    android:viewportWidth="24"
+    android:viewportHeight="24">
+  <path
+      android:fillColor="@android:color/white"
+      android:pathData="M3,6h18L21,4L3,4c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h4v-2L3,18L3,6zM13,12L9,12v1.78c-0.61,0.55 -1,1.33 -1,2.22 0,0.89 0.39,1.67 1,2.22L9,20h4v-1.78c0.61,-0.55 1,-1.34 1,-2.22s-0.39,-1.67 -1,-2.22L13,12zM11,17.5c-0.83,0 -1.5,-0.67 -1.5,-1.5s0.67,-1.5 1.5,-1.5 1.5,0.67 1.5,1.5 -0.67,1.5 -1.5,1.5zM22,8h-6c-0.5,0 -1,0.5 -1,1v10c0,0.5 0.5,1 1,1h6c0.5,0 1,-0.5 1,-1L23,9c0,-0.5 -0.5,-1 -1,-1zM21,18h-4v-8h4v8z"/>
+</vector>
diff --git a/res/drawable/ic_devices_other_opaque_black.xml b/res/drawable/ic_devices_other_opaque_black.xml
deleted file mode 100644
index 40cf527..0000000
--- a/res/drawable/ic_devices_other_opaque_black.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<!--
-    Copyright 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.
--->
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="24dp"
-    android:height="24dp"
-    android:tint="@android:color/black"
-    android:viewportWidth="24"
-    android:viewportHeight="24">
-  <path
-      android:fillColor="@android:color/white"
-      android:pathData="M3,6h18L21,4L3,4c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h4v-2L3,18L3,6zM13,12L9,12v1.78c-0.61,0.55 -1,1.33 -1,2.22 0,0.89 0.39,1.67 1,2.22L9,20h4v-1.78c0.61,-0.55 1,-1.34 1,-2.22s-0.39,-1.67 -1,-2.22L13,12zM11,17.5c-0.83,0 -1.5,-0.67 -1.5,-1.5s0.67,-1.5 1.5,-1.5 1.5,0.67 1.5,1.5 -0.67,1.5 -1.5,1.5zM22,8h-6c-0.5,0 -1,0.5 -1,1v10c0,0.5 0.5,1 1,1h6c0.5,0 1,-0.5 1,-1L23,9c0,-0.5 -0.5,-1 -1,-1zM21,18h-4v-8h4v8z"/>
-</vector>
diff --git a/res/drawable/ic_enterprise.xml b/res/drawable/ic_enterprise.xml
new file mode 100644
index 0000000..c2d9df6
--- /dev/null
+++ b/res/drawable/ic_enterprise.xml
@@ -0,0 +1,25 @@
+<?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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="24dp"
+        android:height="24dp"
+        android:viewportWidth="24.0"
+        android:viewportHeight="24.0">
+    <path
+        android:pathData="M20,6h-4L16,4c0,-1.11 -0.89,-2 -2,-2h-4c-1.11,0 -2,0.89 -2,2v2L4,6c-1.11,0 -1.99,0.89 -1.99,2L2,19c0,1.11 0.89,2 2,2h16c1.11,0 2,-0.89 2,-2L22,8c0,-1.11 -0.89,-2 -2,-2zM12,15c-1.1,0 -2,-0.9 -2,-2s0.9,-2 2,-2 2,0.9 2,2 -0.9,2 -2,2zM14,6h-4L10,4h4v2z"
+        android:fillColor="?android:attr/colorPrimary"/>
+</vector>
\ No newline at end of file
diff --git a/res/drawable/ic_help_outline_32.xml b/res/drawable/ic_help_outline_32.xml
new file mode 100644
index 0000000..ffe673e
--- /dev/null
+++ b/res/drawable/ic_help_outline_32.xml
@@ -0,0 +1,9 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="32dp"
+        android:height="32dp"
+        android:viewportWidth="24"
+        android:viewportHeight="24">
+  <path
+      android:pathData="M11,18h2v-2h-2v2zM12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM12,20c-4.41,0 -8,-3.59 -8,-8s3.59,-8 8,-8 8,3.59 8,8 -3.59,8 -8,8zM12,6c-2.21,0 -4,1.79 -4,4h2c0,-1.1 0.9,-2 2,-2s2,0.9 2,2c0,2 -3,1.75 -3,5h2c0,-2.25 3,-2.5 3,-5 0,-2.21 -1.79,-4 -4,-4z"
+      android:fillColor="?android:attr/colorPrimary"/>
+</vector>
diff --git a/res/drawable/ic_history.xml b/res/drawable/ic_history.xml
new file mode 100644
index 0000000..c9f4524
--- /dev/null
+++ b/res/drawable/ic_history.xml
@@ -0,0 +1,25 @@
+<!--
+    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.0"
+        android:viewportHeight="24.0"
+        android:tint="?attr/colorControlNormal">
+    <path
+        android:fillColor="@android:color/white"
+        android:pathData="M13,3c-4.76,0 -8.64,3.69 -8.97,8.37L2.21,9.54 0.8,10.95 5,15.16l4.21,-4.21 -1.42,-1.41 -1.75,1.76C6.39,7.76 9.37,5 13,5c3.87,0 7,3.13 7,7s-3.13,7 -7,7c-1.93,0 -3.68,-0.79 -4.94,-2.06l-1.42,1.42C8.27,19.99 10.51,21 13,21c4.97,0 9,-4.03 9,-9s-4.03,-9 -9,-9zM4.71,12c-0.01,0.01 -0.01,0.02 -0.02,0.03L4.66,12h0.05zM14,7h-2v5.41l3.79,3.8 1.42,-1.42 -3.21,-3.2z"/>
+</vector>
\ No newline at end of file
diff --git a/res/drawable/ic_important_outline.xml b/res/drawable/ic_important_outline.xml
new file mode 100644
index 0000000..7a628bb
--- /dev/null
+++ b/res/drawable/ic_important_outline.xml
@@ -0,0 +1,27 @@
+<?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.
+-->
+
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="24dp"
+        android:height="24dp"
+        android:viewportWidth="24.0"
+        android:viewportHeight="24.0"
+        android:tint="?android:attr/colorControlNormal">
+    <path
+        android:fillColor="@android:color/white"
+        android:pathData="M15,19L3,19l4.5,-7L3,5h12c0.65,0 1.26,0.31 1.63,0.84L21,12l-4.37,6.16c-0.37,0.52 -0.98,0.84 -1.63,0.84zM6.5,17L15,17l3.5,-5L15,7L6.5,7l3.5,5 -3.5,5z"/>
+</vector>
\ No newline at end of file
diff --git a/res/drawable/ic_keyboard_arrow_down.xml b/res/drawable/ic_keyboard_arrow_down.xml
new file mode 100644
index 0000000..d72f3df
--- /dev/null
+++ b/res/drawable/ic_keyboard_arrow_down.xml
@@ -0,0 +1,25 @@
+<!--
+    Copyright (C) 2019 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:height="32dp"
+        android:viewportHeight="48"
+        android:viewportWidth="48"
+        android:width="32dp">
+    <path
+        android:fillColor="#757575"
+        android:pathData="M14.83,16.42L24,25.59l9.17,-9.17L36,19.25l-12,12 -12,-12z"/>
+</vector>
diff --git a/res/drawable/ic_local_phone_24_lib.xml b/res/drawable/ic_local_phone_24_lib.xml
index 094e0bd..c93f3ae 100644
--- a/res/drawable/ic_local_phone_24_lib.xml
+++ b/res/drawable/ic_local_phone_24_lib.xml
@@ -16,11 +16,10 @@
 <vector xmlns:android="http://schemas.android.com/apk/res/android"
         android:width="24dp"
         android:height="24dp"
-        android:tint="?android:attr/colorControlNormal"
-        android:viewportHeight="24"
-        android:viewportWidth="24">
-
+        android:viewportWidth="24.0"
+        android:viewportHeight="24.0"
+        android:tint="?android:attr/colorControlNormal">
     <path
-        android:fillColor="#000000"
-        android:pathData="M16.01,14.46l-2.62,2.62c-2.75,-1.49 -5.01,-3.75 -6.5,-6.5l2.62,-2.62c0.24,-0.24 0.34,-0.58 0.27,-0.9L9.13,3.8C9.04,3.34 8.63,3 8.15,3L4,3C3.44,3 2.97,3.47 3,4.03c0.17,2.91 1.04,5.63 2.43,8.01c1.57,2.69 3.81,4.93 6.5,6.5c2.38,1.39 5.1,2.26 8.01,2.43c0.56,0.03 1.03,-0.44 1.03,-1l0,-4.15c0,-0.48 -0.34,-0.89 -0.8,-0.98l-3.26,-0.65C16.58,14.12 16.24,14.23 16.01,14.46z"/>
+        android:fillColor="#FF000000"
+        android:pathData="M7.22,4l0.67,2.69 -2.29,2.3C4.65,6.86 4.32,5.03 4.18,4h3.04m10.09,12.05l2.69,0.68v3.09c-1.03,-0.14 -2.88,-0.47 -5.02,-1.43l2.33,-2.34M7.61,2H3.08c-0.57,0 -1.04,0.48 -1,1.05 0.9,12.4 12.04,18.88 18.94,18.88 0.54,0 0.98,-0.45 0.98,-1v-4.59c0,-0.69 -0.47,-1.29 -1.14,-1.45l-3.35,-0.84c-0.44,-0.11 -1,-0.03 -1.42,0.39l-2.98,2.98a18.57,18.57 0,0 1,-6.55 -6.57L9.5,7.91c0.37,-0.37 0.52,-0.91 0.39,-1.42l-0.82,-3.35C8.9,2.47 8.3,2 7.61,2z"/>
 </vector>
diff --git a/res/drawable/ic_mode_edit.xml b/res/drawable/ic_mode_edit.xml
new file mode 100644
index 0000000..60a0dd1
--- /dev/null
+++ b/res/drawable/ic_mode_edit.xml
@@ -0,0 +1,25 @@
+<!--
+    Copyright (C) 2019 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:height="24dp"
+        android:viewportHeight="24"
+        android:viewportWidth="24"
+        android:width="24dp" >
+    <path
+        android:fillColor="#757575"
+        android:pathData="M20.41,4.94l-1.35,-1.35c-0.78,-0.78 -2.05,-0.78 -2.83,0L13.4,6.41 3,16.82L3,21h4.18l10.46,-10.46 2.77,-2.77c0.79,-0.78 0.79,-2.05 0,-2.83zM6.41,19.06L5,19v-1.36l9.82,-9.82 1.41,1.41 -9.82,9.83z"/>
+</vector>
diff --git a/res/drawable/ic_notification_alert.xml b/res/drawable/ic_notification_alert.xml
index 927f7cc..c8efc7f 100644
--- a/res/drawable/ic_notification_alert.xml
+++ b/res/drawable/ic_notification_alert.xml
@@ -14,28 +14,13 @@
     See the License for the specific language governing permissions and
     limitations under the License.
 -->
-<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
-    <item
-        android:id="@+id/back">
-        <shape android:shape="oval">
-            <solid
-                android:color="@color/notification_alert_color" />
-            <size
-                android:height="24dp"
-                android:width="24dp"/>
-        </shape>
-    </item>
-    <item
-        android:id="@+id/fore"
-        android:gravity="center">
-        <vector
-            android:width="13dp"
-            android:height="13dp"
-            android:viewportWidth="24"
-            android:viewportHeight="24">
-            <path
-                android:fillColor="#FFFFFFFF"
-                android:pathData="M8.98,16.65c-0.47,0 -0.91,-0.27 -1.12,-0.69l-1.93,-4.61L5.46,12.3c-0.21,0.43 -0.64,0.69 -1.12,0.69H2v-2h1.88l1,-2C5.1,8.56 5.52,8.3 6,8.3s0.9,0.26 1.12,0.69l1.73,4.14l2,-7c0.2,-0.46 0.65,-0.76 1.15,-0.76s0.95,0.3 1.15,0.76l0.04,0.12l1.96,6.88l1.7,-4.08c0.49,-0.98 1.84,-0.91 2.26,-0.06l1,2H22v2h-2.35c-0.47,0 -0.91,-0.27 -1.12,-0.7l-0.47,-0.95l-1.9,4.55c-0.25,0.5 -0.69,0.77 -1.18,0.75c-0.48,-0.01 -0.92,-0.31 -1.11,-0.76l-0.04,-0.12L12,9.37l-1.87,6.52c-0.19,0.45 -0.63,0.74 -1.11,0.76C9.01,16.65 9,16.65 8.98,16.65zM20.32,11.4L20.32,11.4C20.32,11.4 20.32,11.4 20.32,11.4z" />
-        </vector>
-    </item>
-</layer-list>
\ No newline at end of file
+<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:fillColor="@android:color/white"
+        android:pathData="M18 17v-6c0-3.07-1.63-5.64-4.5-6.32V4c0-0.83-0.67-1.5-1.5-1.5s-1.5 0.67 -1.5 1.5v0.68C7.64 5.36 6 7.92 6 11v6H4v2h16v-2h-2zm-2 0H8v-6c0-2.48 1.51-4.5 4-4.5s4 2.02 4 4.5v6zm-6 3h4c0 1.1-0.9 2-2 2s-2-0.9-2-2zm12-9h-2c0-2.74-1.23-5.19-3.16-6.84l1.41-1.41C20.54 4.77 22 7.71 22 11zM5.75 2.75l1.41 1.41C5.23 5.81 4 8.26 4 11H2c0-3.29 1.46-6.23 3.75-8.25z" />
+</vector>
\ No newline at end of file
diff --git a/res/drawable/ic_notifications_alert.xml b/res/drawable/ic_notifications_alert.xml
index 5a25459..5df6b4f 100644
--- a/res/drawable/ic_notifications_alert.xml
+++ b/res/drawable/ic_notifications_alert.xml
@@ -14,10 +14,10 @@
     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:width="24dp"
+        android:height="24dp"
+        android:viewportWidth="24"
+        android:viewportHeight="24">
     <path
         android:fillColor="@android:color/white"
         android:pathData="M18 17v-6c0-3.07-1.63-5.64-4.5-6.32V4c0-0.83-0.67-1.5-1.5-1.5s-1.5 0.67 -1.5 1.5v0.68C7.64 5.36 6 7.92 6 11v6H4v2h16v-2h-2zm-2 0H8v-6c0-2.48 1.51-4.5 4-4.5s4 2.02 4 4.5v6zm-6 3h4c0 1.1-0.9 2-2 2s-2-0.9-2-2zm12-9h-2c0-2.74-1.23-5.19-3.16-6.84l1.41-1.41C20.54 4.77 22 7.71 22 11zM5.75 2.75l1.41 1.41C5.23 5.81 4 8.26 4 11H2c0-3.29 1.46-6.23 3.75-8.25z" />
diff --git a/res/drawable/ic_pan_tool_18dp.xml b/res/drawable/ic_pan_tool_18dp.xml
index 3ebfc9c..36b133b 100644
--- a/res/drawable/ic_pan_tool_18dp.xml
+++ b/res/drawable/ic_pan_tool_18dp.xml
@@ -1,10 +1,28 @@
+<?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.
+  -->
+
 <vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="18dp"
-    android:height="18dp"
-    android:viewportWidth="48"
-    android:viewportHeight="48">
+        android:width="18dp"
+        android:height="18dp"
+        android:viewportWidth="48"
+        android:viewportHeight="48">
   <group>
-    <clip-path android:pathData="M0,0h48v48H0z M 0,0"/>
+    <clip-path
+        android:pathData="M0,0h48v48H0z M 0,0"/>
     <path
         android:pathData="M46,11v29c0,4.4 -3.6,8 -8,8H23.4c-2.16,0 -4.2,-0.86 -5.7,-2.38L2,29.66s2.52,-2.46 2.6,-2.5c0.44,-0.38 0.98,-0.58 1.58,-0.58 0.44,0 0.84,0.12 1.2,0.32 0.08,0.02 8.62,4.92 8.62,4.92V8c0,-1.66 1.34,-3 3,-3s3,1.34 3,3v14h2V3c0,-1.66 1.34,-3 3,-3s3,1.34 3,3v19h2V5c0,-1.66 1.34,-3 3,-3s3,1.34 3,3v17h2V11c0,-1.66 1.34,-3 3,-3s3,1.34 3,3z"
         android:fillColor="#757575"/>
diff --git a/res/drawable/ic_power_system.xml b/res/drawable/ic_power_system.xml
new file mode 100644
index 0000000..3b84f59
--- /dev/null
+++ b/res/drawable/ic_power_system.xml
@@ -0,0 +1,26 @@
+<!--
+    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.
+-->
+
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="24dp"
+        android:height="24dp"
+        android:viewportWidth="24.0"
+        android:viewportHeight="24.0"
+        android:tint="?android:attr/colorControlNormal">
+    <path
+        android:fillColor="#000000"
+        android:pathData="M6,18c0,0.55 0.45,1 1,1h1v3.5c0,0.83 0.67,1.5 1.5,1.5s1.5,-0.67 1.5,-1.5L11,19h2v3.5c0,0.83 0.67,1.5 1.5,1.5s1.5,-0.67 1.5,-1.5L16,19h1c0.55,0 1,-0.45 1,-1L18,8L6,8v10zM3.5,8C2.67,8 2,8.67 2,9.5v7c0,0.83 0.67,1.5 1.5,1.5S5,17.33 5,16.5v-7C5,8.67 4.33,8 3.5,8zM20.5,8c-0.83,0 -1.5,0.67 -1.5,1.5v7c0,0.83 0.67,1.5 1.5,1.5s1.5,-0.67 1.5,-1.5v-7c0,-0.83 -0.67,-1.5 -1.5,-1.5zM15.53,2.16l1.3,-1.3c0.2,-0.2 0.2,-0.51 0,-0.71 -0.2,-0.2 -0.51,-0.2 -0.71,0l-1.48,1.48C13.85,1.23 12.95,1 12,1c-0.96,0 -1.86,0.23 -2.66,0.63L7.85,0.15c-0.2,-0.2 -0.51,-0.2 -0.71,0 -0.2,0.2 -0.2,0.51 0,0.71l1.31,1.31C6.97,3.26 6,5.01 6,7h12c0,-1.99 -0.97,-3.75 -2.47,-4.84zM10,5L9,5L9,4h1v1zM15,5h-1L14,4h1v1z"/>
+</vector>
diff --git a/res/drawable/ic_promote_conversation.xml b/res/drawable/ic_promote_conversation.xml
new file mode 100644
index 0000000..39f7658
--- /dev/null
+++ b/res/drawable/ic_promote_conversation.xml
@@ -0,0 +1,25 @@
+<!--
+  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.0"
+        android:viewportHeight="24.0"
+        android:tint="?android:attr/colorControlNormal">
+    <path
+        android:fillColor="@android:color/white"
+        android:pathData="M20,2H4c-1.1,0 -2,0.9 -2,2v18l4,-4h14c1.1,0 2,-0.9 2,-2V4c0,-1.1 -0.9,-2 -2,-2z"/>
+</vector>
diff --git a/res/drawable/ic_qrcode_32dp.xml b/res/drawable/ic_qrcode_32dp.xml
new file mode 100644
index 0000000..512d44e
--- /dev/null
+++ b/res/drawable/ic_qrcode_32dp.xml
@@ -0,0 +1,25 @@
+<!--
+    Copyright (C) 2019 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="32dp"
+    android:height="32dp"
+    android:viewportWidth="24"
+    android:viewportHeight="24"
+    android:tint="?android:attr/colorAccent">
+  <path
+      android:fillColor="#FF000000"
+      android:pathData="M3,9h6V3H3V9zM5,5h2v2H5V5zM15,3v6h6V3H15zM19,7h-2V5h2V7zM3,21h6v-6H3V21zM5,17h2v2H5V17zM13,15v2h-2v-2v-2v-2h2v2h2v-2h2v2v2H13zM17,19h4v2h-4h-2v-2v-2h2V19zM19,11h2v6h-2V11zM7,11h2v2H7V11zM11,19h2v2h-2V19zM5,13H3v-2h2V13zM13,9h-2V3h2V9z"/>
+</vector>
diff --git a/res/drawable/ic_scan_32dp.xml b/res/drawable/ic_scan_32dp.xml
new file mode 100644
index 0000000..d1eda4f
--- /dev/null
+++ b/res/drawable/ic_scan_32dp.xml
@@ -0,0 +1,25 @@
+<!--
+    Copyright (C) 2019 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="32dp"
+    android:height="32dp"
+    android:viewportWidth="24"
+    android:viewportHeight="24"
+    android:tint="?android:attr/colorAccent">
+  <path
+      android:fillColor="#FF000000"
+      android:pathData="M3,9h6V3H3V9zM5,5h2v2H5V5zM15,3v6h6V3H15zM19,7h-2V5h2V7zM3,21h6v-6H3V21zM5,17h2v2H5V17zM17,15h4v2h-4v4h-2v-4h-4v-2h4v-4h2V15zM7,11h2v2H7V11zM5,13H3v-2h2V13zM13,9h-2V3h2V9z"/>
+</vector>
diff --git a/res/drawable/ic_settings_cell_standby.xml b/res/drawable/ic_settings_cell_standby.xml
new file mode 100644
index 0000000..5a9a300
--- /dev/null
+++ b/res/drawable/ic_settings_cell_standby.xml
@@ -0,0 +1,27 @@
+<?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.
+-->
+<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="m11.986,12.0357c5.4299,-5.4312 9.9013,-9.875 9.9363,-9.875 0.035,0 0.0637,4.4437 0.0637,9.875v9.875L12.0497,21.9107 2.1134,21.9107ZM19.986,13.3522L19.986,6.7936l-3,2.9922 -3,2.9922v3.5664,3.5664h3,3z"
+        android:strokeWidth="0.25"
+        android:fillColor="#000000"/>
+</vector>
diff --git a/res/drawable/ic_settings_close.xml b/res/drawable/ic_settings_close.xml
index 058b4b5..141a2c3 100644
--- a/res/drawable/ic_settings_close.xml
+++ b/res/drawable/ic_settings_close.xml
@@ -18,7 +18,8 @@
     android:width="24dp"
     android:height="24dp"
     android:viewportWidth="24"
-    android:viewportHeight="24">
+    android:viewportHeight="24"
+    android:tint="?android:attr/colorControlNormal">
   <path
       android:fillColor="#FF000000"
       android:pathData="M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41z"/>
diff --git a/res/drawable/ic_settings_development.xml b/res/drawable/ic_settings_development.xml
index 211b3a2..a6577b4 100644
--- a/res/drawable/ic_settings_development.xml
+++ b/res/drawable/ic_settings_development.xml
@@ -15,7 +15,14 @@
      limitations under the License.
 -->
 
-<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
-    android:src="@drawable/ic_settings_development_alpha"
-    android:tint="?android:attr/colorControlNormal" />
-
+<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="m4.3301,20.7553c-0.9663,-0.9663 -0.9968,-1.0933 -0.9968,-4.1483 0,-3.2625 -0.1683,-3.7057 -1.5,-3.9507C0.6808,12.4444 0.8254,11.2374 2.0688,10.6903l1.0978,-0.483 0.1667,-3.2801c0.1577,-3.1043 0.218,-3.3242 1.1232,-4.1016 1.1668,-1.0022 2.7101,-0.9771 2.7101,0.0439 0,0.3936 -0.3717,0.8403 -0.9167,1.1015 -0.8964,0.4296 -0.9167,0.5037 -0.9167,3.347 0,2.0922 -0.1455,3.1154 -0.5189,3.6485 -0.4696,0.6705 -0.4696,0.8112 0,1.4817 0.3796,0.542 0.5189,1.5755 0.5189,3.8507v3.1098l1.0181,0.3549c0.7672,0.2674 0.9931,0.5301 0.9167,1.066 -0.1664,1.1666 -1.7368,1.127 -2.9379,-0.0742zM16.8889,21.485c-0.5444,-0.5444 -0.1586,-1.4014 0.7778,-1.7278l1,-0.3486v-3.1098c0,-2.2752 0.1393,-3.3087 0.5189,-3.8507 0.4696,-0.6705 0.4696,-0.8112 0,-1.4817 -0.3734,-0.5331 -0.5189,-1.5563 -0.5189,-3.6485 0,-2.8432 -0.0203,-2.9174 -0.9167,-3.347 -0.5449,-0.2612 -0.9167,-0.7079 -0.9167,-1.1015 0,-1.0211 1.5433,-1.0461 2.7101,-0.0439 0.9052,0.7775 0.9655,0.9974 1.1232,4.1016l0.1667,3.2801 1.0978,0.483c1.2434,0.5471 1.388,1.7541 0.2355,1.9661 -1.3317,0.2449 -1.5,0.6881 -1.5,3.9507 0,3.0388 -0.0349,3.1863 -0.9744,4.1259 -0.9044,0.9044 -2.2817,1.2739 -2.8034,0.7521z"
+        android:strokeWidth="0.33333334"
+        android:fillColor="#000000"/>
+</vector>
diff --git a/res/drawable/ic_settings_nfc_payment.xml b/res/drawable/ic_settings_nfc_payment.xml
index 555a6b4..f7fb288 100644
--- a/res/drawable/ic_settings_nfc_payment.xml
+++ b/res/drawable/ic_settings_nfc_payment.xml
@@ -14,9 +14,16 @@
      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="M4.7422,21.6746C4.6047,21.6205 4.1754,21.5061 3.7882,21.4204 2.4797,21.1309 2.3672,20.3896 2.3672,12.0568c0,-4.1205 0.1047,-7.7672 0.2328,-8.104 0.3419,-0.8993 2.1763,-1.2692 5.5101,-1.1111 2.904,0.1376 3.6549,0.3894 4.0191,1.3473 0.3107,0.8173 0.3107,15.3698 0,16.187 -0.1309,0.3443 -0.4965,0.7667 -0.8125,0.9385 -0.5355,0.2912 -5.9905,0.59 -6.5745,0.3601zM7.7422,20.2791c0,-0.5359 -0.7264,-0.4585 -0.8318,0.0886 -0.0643,0.3341 0.0375,0.4359 0.3716,0.3716 0.2531,-0.0487 0.4602,-0.2558 0.4602,-0.4602zM11.6172,11.5325v-6.5h-4.25,-4.25v6.5,6.5h4.25,4.25zM19.8405,17.0325c-0.3665,-0.2142 -0.3618,-0.3503 0.0543,-1.5549 0.596,-1.7254 0.5957,-4.4158 -0.0008,-6.1426C19.4486,8.0455 19.449,8.0063 19.9096,7.7597c0.4018,-0.215 0.5258,-0.1249 0.8301,0.6034 0.9392,2.2477 0.941,5.8365 0.0042,8.0787 -0.3921,0.9385 -0.3526,0.9127 -0.9034,0.5907zM17.4039,15.5602c-0.2801,-0.1773 -0.2823,-0.3164 -0.0128,-0.8084 0.4184,-0.7639 0.4225,-3.9174 0.0061,-4.6773 -0.2754,-0.5026 -0.2564,-0.63 0.1378,-0.9241 0.4109,-0.3066 0.492,-0.2601 0.8001,0.458 0.5034,1.1735 0.6184,3.6213 0.2304,4.9051 -0.3526,1.1669 -0.608,1.3971 -1.1615,1.0467zM15.0728,14.2726c-0.3388,-0.1977 -0.3753,-0.3984 -0.1901,-1.0443 0.1384,-0.4825 0.139,-1.1267 0.0016,-1.6244 -0.1944,-0.7041 -0.1543,-0.8642 0.274,-1.0934 0.276,-0.1477 0.5582,-0.2121 0.6272,-0.1431 0.2664,0.2664 0.5519,2.0703 0.4219,2.6651 -0.3596,1.6447 -0.388,1.6757 -1.1346,1.2401z"
+        android:strokeWidth="0.25"
+        android:fillColor="#000000"/>
+</vector>
 
-<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
-    android:src="@drawable/ic_settings_nfc_payment_am_alpha"
-    android:tint="?android:attr/colorControlNormal"
-    android:autoMirrored="true" />
 
diff --git a/res/drawable/ic_settings_sign_in.xml b/res/drawable/ic_settings_sign_in.xml
index e2fa5d8..5c055cf 100644
--- a/res/drawable/ic_settings_sign_in.xml
+++ b/res/drawable/ic_settings_sign_in.xml
@@ -17,7 +17,8 @@
         android:width="24.0dp"
         android:height="24.0dp"
         android:viewportWidth="24.0"
-        android:viewportHeight="24.0">
+        android:viewportHeight="24.0"
+        android:tint="?android:attr/colorControlNormal">
     <path
         android:fillColor="#FFFFFFFF"
         android:pathData="M11,7L9.6,8.4l2.6,2.6H2v2h10.2l-2.6,2.6L11,17l5-5L11,7z M20,19h-8v2h8c1.1,0,2-0.9,2-2V5c0-1.1-0.9-2-2-2h-8v2h8V19z"/>
diff --git a/res/drawable/ic_settings_sync_disabled.xml b/res/drawable/ic_settings_sync_disabled.xml
new file mode 100644
index 0000000..7dd71c7
--- /dev/null
+++ b/res/drawable/ic_settings_sync_disabled.xml
@@ -0,0 +1,27 @@
+<!--
+    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.
+-->
+
+<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:fillColor="#FF000000"
+        android:pathData="M19.78,22.61l-3.72,-3.72c-0.92,0.54 -1.95,0.91 -3.05,1.05v-2.02c0.56,-0.09 1.08,-0.28 1.57,-0.52L6.6,9.43c-0.38,0.78 -0.6,1.65 -0.6,2.57 0,2.22 1.21,4.15 3,5.19L9,14h2v6L5,20v-2h1.74C5.07,16.54 4,14.4 4,12c0,-1.48 0.41,-2.86 1.12,-4.05L1.39,4.22 2.8,2.81l18.38,18.38 -1.4,1.42zM15,6.81c1.79,1.04 3,2.97 3,5.19 0,0.92 -0.23,1.79 -0.6,2.57l1.49,1.49C19.59,14.87 20,13.48 20,12c0,-2.4 -1.07,-4.54 -2.74,-6L19,6L19,4h-6v6h2L15,6.81zM11,6.09L11,4.07c-1.11,0.14 -2.14,0.51 -3.05,1.05l1.49,1.49c0.49,-0.24 1.01,-0.43 1.56,-0.52z"/>
+</vector>
+
diff --git a/res/drawable/ic_settings_sync_failed.xml b/res/drawable/ic_settings_sync_failed.xml
new file mode 100644
index 0000000..8cb128a
--- /dev/null
+++ b/res/drawable/ic_settings_sync_failed.xml
@@ -0,0 +1,27 @@
+<!--
+    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.
+-->
+
+<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/colorError">
+    <path
+        android:fillColor="#FF000000"
+        android:pathData="M11,4.07v2.02C8.17,6.57 6,9.03 6,12c0,2.22 1.21,4.15 3,5.19L9,14h2v6L5,20v-2h1.74C5.07,16.54 4,14.4 4,12c0,-4.08 3.05,-7.44 7,-7.93zM19.51,14.74c0.3,0.52 0.49,1.11 0.49,1.76 0,1.93 -1.57,3.5 -3.5,3.5 -0.65,0 -1.25,-0.19 -1.77,-0.49 -0.65,-0.38 -1.17,-0.96 -1.46,-1.67 -0.17,-0.41 -0.27,-0.87 -0.27,-1.34 0,-1.93 1.57,-3.5 3.5,-3.5 0.48,0 0.93,0.1 1.35,0.27 0.09,-0.41 0.15,-0.83 0.15,-1.27 0,-2.22 -1.21,-4.15 -3,-5.19L15,10h-2L13,4h6v2h-1.74C18.93,7.46 20,9.6 20,12c0,0.96 -0.18,1.89 -0.49,2.74zM17,18h-1v1h1v-1zM17,14h-1v3h1v-3z"/>
+</vector>
+
diff --git a/res/drawable/ic_sim_alert.xml b/res/drawable/ic_sim_alert.xml
new file mode 100644
index 0000000..ed9aa43
--- /dev/null
+++ b/res/drawable/ic_sim_alert.xml
@@ -0,0 +1,27 @@
+<!--
+  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.
+  -->
+
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="24dp"
+        android:height="24dp"
+        android:viewportWidth="24"
+        android:viewportHeight="24">
+    <path
+        android:pathData="m4.8578,21.8264c-0.2247,-0.137 -0.5206,-0.4329 -0.6575,-0.6575 -0.2399,-0.3935 -0.2491,-0.6433 -0.2495,-6.7995l-0.0005,-6.391 2.9757,-2.9776 2.9757,-2.9776 4.3876,0.0005c4.1571,0.0004 4.4091,0.0135 4.7961,0.2495 0.2247,0.137 0.5206,0.4329 0.6575,0.6575 0.2422,0.3972 0.2491,0.6479 0.2491,9.1192 0,8.4712 -0.007,8.7219 -0.2491,9.1191 -0.137,0.2247 -0.4329,0.5206 -0.6575,0.6575 -0.3942,0.2403 -0.6436,0.2491 -7.1138,0.2491 -6.4703,0 -6.7197,-0.009 -7.1138,-0.2491zM12.9743,16.0604v-1.0027h-1.0027,-1.0027v1.0027,1.0027h1.0027,1.0027zM12.9743,10.5457L12.9743,8.039h-1.0027,-1.0027v2.5067,2.5067h1.0027,1.0027z"
+        android:strokeWidth="0.12533334"
+        android:fillColor="#ffffff"/>
+</vector>
+
diff --git a/res/drawable/ic_snooze.xml b/res/drawable/ic_snooze.xml
new file mode 100644
index 0000000..d7bbbaf
--- /dev/null
+++ b/res/drawable/ic_snooze.xml
@@ -0,0 +1,24 @@
+<!--
+  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.0"
+        android:viewportHeight="24.0">
+    <path
+        android:fillColor="@android:color/white"
+        android:pathData="M9,11h3.63L9,15.2L9,17h6v-2h-3.63L15,10.8L15,9L9,9v2zM16.056,3.346l1.282,-1.535 4.607,3.85 -1.28,1.54zM3.336,7.19l-1.28,-1.536L6.662,1.81l1.28,1.536zM12,6c3.86,0 7,3.14 7,7s-3.14,7 -7,7 -7,-3.14 -7,-7 3.14,-7 7,-7m0,-2c-4.97,0 -9,4.03 -9,9s4.03,9 9,9 9,-4.03 9,-9 -4.03,-9 -9,-9z"/>
+</vector>
diff --git a/res/drawable/ic_speaker_group_black_24dp.xml b/res/drawable/ic_speaker_group_black_24dp.xml
new file mode 100644
index 0000000..ae0d562
--- /dev/null
+++ b/res/drawable/ic_speaker_group_black_24dp.xml
@@ -0,0 +1,31 @@
+<!--
+  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">
+    <path
+        android:pathData="M18.2,1L9.8,1C8.81,1 8,1.81 8,2.8v14.4c0,0.99 0.81,1.79 1.8,1.79l8.4,0.01c0.99,0 1.8,-0.81 1.8,-1.8L20,2.8c0,-0.99 -0.81,-1.8 -1.8,-1.8zM14,3c1.1,0 2,0.89 2,2s-0.9,2 -2,2 -2,-0.89 -2,-2 0.9,-2 2,-2zM14,16.5c-2.21,0 -4,-1.79 -4,-4s1.79,-4 4,-4 4,1.79 4,4 -1.79,4 -4,4z"
+        android:fillColor="#000000"/>
+    <path
+        android:pathData="M14,12.5m-2.5,0a2.5,2.5 0,1 1,5 0a2.5,2.5 0,1 1,-5 0"
+        android:fillColor="#000000"/>
+    <path
+        android:pathData="M6,5H4v16c0,1.1 0.89,2 2,2h10v-2H6V5z"
+        android:fillColor="#000000"/>
+</vector>
diff --git a/res/drawable/ic_storage_grey.xml b/res/drawable/ic_storage_grey.xml
new file mode 100644
index 0000000..420aba8
--- /dev/null
+++ b/res/drawable/ic_storage_grey.xml
@@ -0,0 +1,21 @@
+<!--
+  ~ 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 android:autoMirrored="true" android:height="24dp"
+    android:viewportHeight="24" android:viewportWidth="24"
+    android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
+    <path android:fillColor="#757575" android:pathData="M2,20h20v-4L2,16v4zM4,17h2v2L4,19v-2zM2,4v4h20L22,4L2,4zM6,7L4,7L4,5h2v2zM2,14h20v-4L2,10v4zM4,11h2v2L4,13v-2z"/>
+</vector>
diff --git a/res/drawable/ic_suggestion_close_button.xml b/res/drawable/ic_suggestion_close_button.xml
index 615b215..8b1f0f8 100644
--- a/res/drawable/ic_suggestion_close_button.xml
+++ b/res/drawable/ic_suggestion_close_button.xml
@@ -18,8 +18,10 @@
         android:width="24dp"
         android:height="24dp"
         android:viewportWidth="24.0"
-        android:viewportHeight="24.0">
+        android:viewportHeight="24.0"
+        android:tint="?android:attr/colorControlNormal">
+
     <path
-        android:fillColor="#FF000000"
+        android:fillColor="@android:color/white"
         android:pathData="M18.3,5.71a0.996,0.996 0,0 0,-1.41 0L12,10.59 7.11,5.7A0.996,0.996 0,1 0,5.7 7.11L10.59,12 5.7,16.89a0.996,0.996 0,1 0,1.41 1.41L12,13.41l4.89,4.89a0.996,0.996 0,1 0,1.41 -1.41L13.41,12l4.89,-4.89c0.38,-0.38 0.38,-1.02 0,-1.4z"/>
 </vector>
diff --git a/res/drawable/ic_today.xml b/res/drawable/ic_today.xml
new file mode 100644
index 0000000..1d39610
--- /dev/null
+++ b/res/drawable/ic_today.xml
@@ -0,0 +1,24 @@
+<!--
+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.0"
+        android:viewportHeight="24.0">
+    <path
+        android:fillColor="@android:color/white"
+        android:pathData="M19,3h-1L18,1h-2v2L8,3L8,1L6,1v2L5,3c-1.11,0 -2,0.9 -2,2v14c0,1.1 0.89,2 2,2h14c1.1,0 2,-0.9 2,-2L21,5c0,-1.1 -0.9,-2 -2,-2zM19,19L5,19L5,8h14v11zM9,9.5c-1.38,0 -2.5,1.12 -2.5,2.5s1.12,2.5 2.5,2.5 2.5,-1.12 2.5,-2.5S10.38,9.5 9,9.5z"/>
+</vector>
\ No newline at end of file
diff --git a/res/drawable/ic_visibility_18dp.xml b/res/drawable/ic_visibility_18dp.xml
index 9e27815c..9dc269f 100644
--- a/res/drawable/ic_visibility_18dp.xml
+++ b/res/drawable/ic_visibility_18dp.xml
@@ -1,9 +1,26 @@
+<?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.
+  -->
+
 <vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="18dp"
-    android:height="18dp"
-    android:viewportWidth="48"
-    android:viewportHeight="48">
-  <path
-      android:pathData="M24,9C14,9 5.46,15.22 2,24c3.46,8.78 12,15 22,15 10.01,0 18.54,-6.22 22,-15 -3.46,-8.78 -11.99,-15 -22,-15zM24,34c-5.52,0 -10,-4.48 -10,-10s4.48,-10 10,-10 10,4.48 10,10 -4.48,10 -10,10zM24,18c-3.31,0 -6,2.69 -6,6s2.69,6 6,6 6,-2.69 6,-6 -2.69,-6 -6,-6z"
-      android:fillColor="#757575"/>
+        android:width="18dp"
+        android:height="18dp"
+        android:viewportWidth="48"
+        android:viewportHeight="48">
+    <path
+        android:pathData="M24,9C14,9 5.46,15.22 2,24c3.46,8.78 12,15 22,15 10.01,0 18.54,-6.22 22,-15 -3.46,-8.78 -11.99,-15 -22,-15zM24,34c-5.52,0 -10,-4.48 -10,-10s4.48,-10 10,-10 10,4.48 10,10 -4.48,10 -10,10zM24,18c-3.31,0 -6,2.69 -6,6s2.69,6 6,6 6,-2.69 6,-6 -2.69,-6 -6,-6z"
+        android:fillColor="#757575"/>
 </vector>
diff --git a/res/drawable/ic_wifi_signal_4_32dp.xml b/res/drawable/ic_wifi_signal_4_32dp.xml
new file mode 100644
index 0000000..64de14d
--- /dev/null
+++ b/res/drawable/ic_wifi_signal_4_32dp.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2019 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+        http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<com.android.settings.widget.TintDrawable
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:drawable="@*android:drawable/ic_wifi_signal_4"
+    android:width="32dp"
+    android:height="32dp"
+    android:tint="?android:attr/colorAccent"/>
diff --git a/res/drawable/nfc_how_it_works.xml b/res/drawable/nfc_how_it_works.xml
new file mode 100644
index 0000000..f2a6b61
--- /dev/null
+++ b/res/drawable/nfc_how_it_works.xml
@@ -0,0 +1,55 @@
+<!--
+  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.
+  -->
+
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="1120dp"
+        android:height="752dp"
+        android:viewportWidth="1120"
+        android:viewportHeight="752">
+    <path
+        android:pathData="M228,215l-60,220l140,40l60,-220z"
+        android:fillColor="#ffffff"/>
+    <path
+        android:pathData="m27.34,720.25c-0.94,-1.51 -2.24,-3.21 -2.91,-3.77 -0.66,-0.56 -3.09,-5.45 -5.39,-10.87 -4.21,-9.9 -6.51,-19.56 -5.45,-22.91 0.31,-0.99 -0.07,-2.79 -0.86,-4 -2.46,-3.8 -2.95,-10.2 -1.07,-14.14 1.58,-3.32 1.58,-3.63 -0.09,-5.48 -1.42,-1.56 -1.62,-2.83 -1.03,-6.27 1.09,-6.34 1.17,-11.08 0.22,-13.06 -0.46,-0.96 -0.54,-4 -0.17,-6.75C11.21,628.34 11.45,628 14.07,628c1.55,0 3.09,0.45 3.43,1 1.14,1.85 2.5,1.02 2.5,-1.52 0,-2.14 -0.35,-2.43 -2.32,-1.94 -1.48,0.37 -2.8,0.01 -3.62,-0.98C13.34,623.7 12.16,623 11.44,623c-2.3,0 -2.67,-2 -0.87,-4.74 1.19,-1.82 1.38,-2.78 0.59,-3.04C9.48,614.66 9.73,613.16 12,610.27c2.25,-2.86 2.59,-6.28 0.8,-8.07 -0.93,-0.93 -0.92,-1.2 0.05,-1.2 0.69,0 1.91,-1.58 2.71,-3.5 1.59,-3.8 4.32,-4.65 5.12,-1.59 0.27,1.05 1.47,2.18 2.66,2.52 2.02,0.57 2.05,0.69 0.41,1.95 -2.47,1.9 -2.19,3.82 0.5,3.44 1.61,-0.23 2.16,-0.89 1.94,-2.32 -0.17,-1.1 -0.31,-2.86 -0.3,-3.91C25.91,594.92 24.18,592 22.59,592 20.35,592 18.93,580.78 21,579.5c0.55,-0.34 1,-1.94 1,-3.56C22,574.32 22.39,573 22.86,573c1.32,0 6.17,-5.14 5.64,-5.99 -0.25,-0.41 -1.66,-0.52 -3.14,-0.23 -2.65,0.51 -2.67,0.47 -1.98,-3.88 0.38,-2.42 2.12,-7.55 3.87,-11.4 2.79,-6.15 5.75,-9.68 24.3,-29 11.62,-12.1 22.82,-23.91 24.9,-26.25 2.08,-2.34 4.29,-4.23 4.91,-4.21 0.62,0.02 3.15,1.81 5.61,3.97l4.48,3.93 3.27,-3.17c5.7,-5.53 8.01,-9.97 11.28,-21.78 5.61,-20.22 18.82,-58.92 23.34,-68.36C131.76,401.61 136.28,393.23 139.4,388 146.42,376.25 169,331.71 169,329.61c0,-2.61 10.03,-34.98 11.57,-37.34 1.92,-2.95 6.79,-5.39 11.45,-5.73 2.07,-0.15 4.19,-0.55 4.72,-0.88 0.53,-0.33 1.97,-4.32 3.21,-8.88 2.1,-7.74 4.18,-15.3 10.7,-38.78 6.8,-24.51 7.5,-26.38 11.24,-30.1 6.5,-6.48 4.78,-6.74 67.37,10.5 30.93,8.52 57.42,15.77 58.86,16.12 2.5,0.61 2.92,0.04 9.86,-13.48 5.44,-10.59 7.96,-14.47 10.09,-15.57 4.25,-2.2 183.6,-2.21 187.86,-0.01 3.01,1.56 4.03,3.52 33.55,64.67l13.82,28.63 11.17,0.43c13.2,0.51 16.9,2.18 21.29,9.65L638.5,313.5l0.28,94c0.25,83.94 0.11,94.45 -1.31,98.19 -3.56,9.37 -9.57,13.25 -20.61,13.29 -5.38,0.02 -6.78,0.35 -7.34,1.77 -0.39,0.96 -10.09,26.38 -21.57,56.48 -11.48,30.1 -21.55,56.05 -22.39,57.67 -0.91,1.76 -2.84,3.38 -4.81,4.03 -2.47,0.81 -39.57,2.19 -53.74,1.99 -32.95,-0.46 -60.93,-0.54 -62.38,-0.17 1.48,0.52 -3.13,0.3 -4.69,0.23 -7.01,-0.13 -48.46,-0.22 -52.06,-0.11 -3.73,0.11 -4.74,0.53 -5.16,2.14 -0.72,2.76 -2.57,2.5 -3.72,-0.52 -0.53,-1.38 -1.98,-2.91 -3.23,-3.39 -1.25,-0.48 -3.02,-1.71 -3.94,-2.73 -0.92,-1.03 -11.77,-26.41 -24.12,-56.41 -12.35,-30 -23.2,-55.99 -24.11,-57.75L321.95,519 309.22,518.98c-10.29,-0.02 -13.52,-0.38 -16.87,-1.9l-4.14,-1.88 -3.86,3.97c-10.12,10.41 -26.62,16.48 -53.86,19.83 -10.99,1.35 -27.33,4.93 -41.92,9.18 -9.87,2.88 -11.6,3.75 -17.95,9.07 -10.98,9.19 -10.88,8.48 -2.16,16.38 4.11,3.72 7.68,7.31 7.94,7.97 0.25,0.66 -6.15,7.69 -14.22,15.62 -13.49,13.26 -25.03,24.38 -93.18,89.74C31.89,722.56 31.41,723 30.2,723c-0.63,0 -1.92,-1.24 -2.85,-2.75zM19.57,678.62c0.53,-2.16 0.38,-2.77 -0.61,-2.44 -2.06,0.69 -3.35,3.37 -2.59,5.35 0.86,2.24 2.23,0.99 3.2,-2.91zM20.97,619.75c-0.03,-2.76 -0.19,-2.98 -1.08,-1.44 -0.58,1 -0.8,2.46 -0.5,3.25 0.92,2.41 1.62,1.62 1.58,-1.81zM300.03,450.12 L302.04,442.87 299.52,434.88c-3.05,-9.66 -3.06,-10.13 -0.44,-15.55 1.63,-3.36 3.15,-4.79 6.95,-6.54 5.48,-2.51 6.92,-5.42 4.5,-9.1C308.2,400.13 305,390.06 305,386.28c0,-6.54 4.05,-11.48 11.39,-13.88 2.81,-0.92 5.22,-1.76 5.36,-1.87C322.4,370.01 352,261.59 352,259.72c0,-0.86 -1.56,-1.9 -3.75,-2.49 -2.06,-0.56 -27.42,-7.59 -56.35,-15.62C242.6,227.92 236,226.25 236,227.49c0,0.27 -2.9,10.96 -6.44,23.75 -12.16,43.94 -37.79,137.28 -42.84,156.02 -2.78,10.31 -4.77,19.04 -4.42,19.39 1.25,1.25 114.2,32.15 114.95,31.45 0.42,-0.39 1.67,-3.98 2.77,-7.97zM261.36,374.99c-10.84,-2.22 -20.5,-10.47 -24.42,-20.84 -4.46,-11.82 -0.76,-26.73 8.72,-35.08 6.61,-5.82 14.03,-8.33 23.34,-7.89 8.97,0.42 14.94,3.01 21.1,9.13 6.36,6.32 9.32,13.53 9.35,22.74 0.02,6.54 -0.42,8.44 -3.26,14.22 -6.46,13.12 -21.05,20.54 -34.83,17.72zM273.7,345.63C287.16,337.1 291.69,333 287.65,333c-0.82,0 -7.22,3.6 -14.21,8 -6.99,4.4 -13.09,8 -13.54,8 -0.45,0 -2.68,-2.73 -4.94,-6.06 -3.82,-5.63 -6.62,-7.27 -6.34,-3.72 0.12,1.55 8.97,15.77 9.81,15.77 0.26,0 7.13,-4.22 15.27,-9.37zM474.98,278.43c2.07,-4.95 2.48,-7.58 2.5,-15.93 0.02,-10.36 -2.21,-20.2 -5.13,-22.63 -2.46,-2.04 -2.42,-0.33 0.14,6.5 3.54,9.41 3.54,22.52 -0.01,31.13 -2.81,6.83 -2.98,7.83 -1.23,7.26 0.69,-0.22 2.36,-3.07 3.73,-6.33zM464.69,275.2c3.45,-8.26 3.32,-19.33 -0.31,-27.45 -1.64,-3.67 -3.41,-4.99 -3.34,-2.5 0.02,0.69 0.9,3.72 1.97,6.75 1.06,3.03 1.93,7.53 1.93,10 0,2.47 -0.87,6.97 -1.93,10 -1.06,3.03 -1.95,6.09 -1.97,6.81 -0.06,2.24 2.1,0.11 3.66,-3.61zM453.93,273.13c3.34,-6.23 3.12,-17.93 -0.41,-22.77 -2.13,-2.92 -2.8,-0.96 -1.08,3.15 1.97,4.71 1.99,11.01 0.06,16.49 -1.77,5.03 -1.77,5 -0.54,5 0.53,0 1.42,-0.84 1.97,-1.87zM445.88,265.43c1.2,-3.42 1.17,-4.41 -0.2,-7.68 -0.87,-2.06 -2.1,-3.75 -2.73,-3.75 -0.75,0 -0.87,0.62 -0.34,1.75 1.08,2.32 1.1,9.15 0.04,12.12 -0.65,1.8 -0.53,2.26 0.51,1.93 0.75,-0.24 1.97,-2.21 2.73,-4.37zM717.07,510.07c-1.68,-1.07 -0.98,-5 4.49,-25.07 7.79,-28.58 13.04,-42.22 26.94,-70 18.38,-36.74 42.31,-73.47 66.99,-102.87 8.9,-10.6 15.7,-16.4 23.05,-19.68 3.86,-1.72 6.72,-4.25 12.19,-10.78 3.93,-4.69 8.02,-10.25 9.09,-12.35 7.38,-14.48 6.86,-31.36 -1.45,-47.82 -6.86,-13.58 -11.69,-18.93 -34.55,-38.25C806.34,168.46 804,165.25 804,156c0,-6.58 2.92,-13.05 7.56,-16.76l3.34,-2.66 -0.56,-14.54c-0.47,-12.18 -0.24,-16.08 1.43,-24.04 4.32,-20.65 13.45,-37.22 28.4,-51.56 29.53,-28.33 71.8,-35.99 110.73,-20.07 22.51,9.21 44.45,31.42 53.1,53.78 5.56,14.35 7.29,25.16 6.67,41.51l-0.54,14.16 3.81,2.52c4.5,2.98 9.06,11.34 9.05,16.6 -0.01,5.36 -1.77,10.63 -4.71,14.13 -1.45,1.73 -11.22,10.38 -21.71,19.24 -25.71,21.7 -32.2,28.04 -35.64,34.83 -5.63,11.12 -5.59,23.61 0.1,35.31 3.84,7.89 9.45,15.4 12.32,16.49 1.26,0.48 5.18,3.99 8.71,7.8 7.11,7.66 8.59,8.66 14.43,9.71 5.82,1.05 13.71,5.05 19.86,10.06 16.43,13.38 51.58,80 69.61,131.9 9.59,27.61 21.02,67.43 21.03,73.23 0,1.18 -0.71,2.42 -1.58,2.75 -2.6,1 -390.76,0.67 -392.35,-0.33z"
+        android:fillColor="#fcddaf"/>
+    <path
+        android:pathData="m27.34,720.25c-0.94,-1.51 -2.24,-3.21 -2.91,-3.77 -0.66,-0.56 -3.09,-5.45 -5.39,-10.87 -4.21,-9.9 -6.51,-19.56 -5.45,-22.91 0.31,-0.99 -0.07,-2.79 -0.86,-4 -2.46,-3.8 -2.95,-10.2 -1.07,-14.14 1.58,-3.32 1.58,-3.63 -0.09,-5.48 -1.42,-1.56 -1.62,-2.83 -1.03,-6.27 1.09,-6.34 1.17,-11.08 0.22,-13.06 -0.46,-0.96 -0.54,-4 -0.17,-6.75C11.21,628.34 11.45,628 14.07,628c1.55,0 3.09,0.45 3.43,1 1.14,1.85 2.5,1.02 2.5,-1.52 0,-2.14 -0.35,-2.43 -2.32,-1.94 -1.48,0.37 -2.8,0.01 -3.62,-0.98C13.34,623.7 12.16,623 11.44,623c-2.3,0 -2.67,-2 -0.87,-4.74 1.19,-1.82 1.38,-2.78 0.59,-3.04C9.48,614.66 9.73,613.16 12,610.27c2.25,-2.86 2.59,-6.28 0.8,-8.07 -0.93,-0.93 -0.92,-1.2 0.05,-1.2 0.69,0 1.91,-1.58 2.71,-3.5 1.59,-3.8 4.32,-4.65 5.12,-1.59 0.27,1.05 1.47,2.18 2.66,2.52 2.02,0.57 2.05,0.69 0.41,1.95 -2.47,1.9 -2.19,3.82 0.5,3.44 1.61,-0.23 2.16,-0.89 1.94,-2.32 -0.17,-1.1 -0.31,-2.86 -0.3,-3.91C25.91,594.92 24.18,592 22.59,592 20.35,592 18.93,580.78 21,579.5c0.55,-0.34 1,-1.94 1,-3.56C22,574.32 22.39,573 22.86,573c1.32,0 6.17,-5.14 5.64,-5.99 -0.25,-0.41 -1.66,-0.52 -3.14,-0.23 -2.65,0.51 -2.67,0.47 -1.98,-3.88 0.38,-2.42 2.12,-7.55 3.87,-11.4 2.79,-6.15 5.75,-9.68 24.3,-29 11.62,-12.1 22.82,-23.91 24.9,-26.25 2.08,-2.34 4.32,-4.25 4.98,-4.25 0.66,0 9.19,7.5 18.96,16.67 9.76,9.17 19.41,17.97 21.43,19.57 5.52,4.35 17.42,15.32 25.77,23.77C162.72,567.29 177,582.01 177,582.32c0,0.53 -27.59,27.49 -57,55.71C68.02,687.9 45.49,709.51 38.42,716.25c-3.89,3.71 -7.59,6.75 -8.23,6.75 -0.63,0 -1.92,-1.24 -2.85,-2.75zM19.57,678.62c0.53,-2.16 0.38,-2.77 -0.61,-2.44 -2.06,0.69 -3.35,3.37 -2.59,5.35 0.86,2.24 2.23,0.99 3.2,-2.91zM20.97,619.75c-0.03,-2.76 -0.19,-2.98 -1.08,-1.44 -0.58,1 -0.8,2.46 -0.5,3.25 0.92,2.41 1.62,1.62 1.58,-1.81zM379.29,641.99c-0.29,-1.11 -1.55,-2.27 -2.81,-2.58 -1.26,-0.32 -3.18,-1.55 -4.28,-2.74C371.1,635.47 359.75,609.08 346.97,578c-12.78,-31.08 -23.64,-57.02 -24.14,-57.66 -0.59,-0.74 -5.85,-1.28 -14.67,-1.5 -11.2,-0.28 -14.27,-0.68 -16.52,-2.16 -1.52,-1 -2.59,-2.35 -2.38,-3 0.46,-1.44 26.87,-23.17 35.24,-28.99 3.3,-2.3 7.65,-4.93 9.67,-5.85 4.38,-2 5.83,-4.38 5.83,-9.6 0,-5.46 -4.52,-18.13 -7.62,-21.37 -1.43,-1.49 -2.31,-3.19 -1.95,-3.76 0.36,-0.58 4.34,-2.2 8.86,-3.6 4.52,-1.4 9.24,-3.07 10.49,-3.72 3.27,-1.68 6.22,-6.94 6.22,-11.12 0,-5.87 -4.49,-16.82 -8.12,-19.77 -3.64,-2.97 -3.26,-4.45 1.38,-5.45 7.81,-1.68 12.61,-5.67 14.1,-11.69 1.04,-4.23 -2.21,-15.52 -5.56,-19.35 -5.09,-5.8 -7.95,-6.06 -21.23,-1.91C325.19,371.05 323,371.22 323,368.53c0,-0.74 2.91,-11.85 6.46,-24.69 19.87,-71.79 23.23,-84.41 22.61,-85.09 -1.4,-1.55 -114.36,-32.63 -115.37,-31.75 -0.44,0.38 -7.48,24.95 -15.64,54.6 -8.17,29.65 -18.76,68.08 -23.54,85.4 -16.22,58.77 -16.27,58.97 -15.11,59.88 1.21,0.95 114.67,32.38 115.15,31.9 0.17,-0.17 1.23,-3.63 2.35,-7.68 1.12,-4.06 2.3,-7.63 2.61,-7.94 0.91,-0.91 7.48,3.03 7.48,4.48 0,0.72 -1.34,2.01 -2.97,2.85 -5.73,2.97 -6.37,7.67 -2.66,19.7 2.47,8.01 2.18,9.82 -1.61,9.82 -2.22,0 -133.45,-35.76 -135.69,-36.97 -0.87,-0.47 -2.89,-2.23 -4.49,-3.92 -5.58,-5.86 -5.22,-8.39 7.94,-55.61 12.76,-45.79 31.84,-114.94 38.5,-139.5 7.43,-27.42 8.96,-31.91 12.15,-35.54 3.34,-3.81 9.15,-5.89 13.54,-4.87 1.53,0.36 27.92,7.57 58.63,16.03C324.06,228.08 349.57,235 350.03,235c0.46,0 4.12,-6.34 8.12,-14.09 5.32,-10.28 8.03,-14.47 10.02,-15.5 4.07,-2.11 183.58,-2.11 187.65,-0 2.94,1.52 4.8,5.09 32.63,62.71l14.79,30.62 11.29,0.5c13.32,0.59 16.87,2.19 21.22,9.61L638.5,313.5l0.27,93.32c0.18,61.03 -0.08,94.63 -0.75,97.1C635.35,513.83 628.11,519 616.9,519h-6.68l-1.7,4.25c-0.94,2.34 -10.62,27.65 -21.51,56.25 -10.9,28.6 -20.37,53.22 -21.04,54.7 -2.78,6.08 0.47,5.88 -95.01,6.01 -83.33,0.12 -87.1,0.2 -88.04,1.95 -1.29,2.41 -2.97,2.33 -3.62,-0.18zM375.33,350.83c4.06,-2.06 6.67,-6.56 6.67,-11.47 0,-3.23 -4.57,-15.13 -6.77,-17.62 -2.56,-2.9 -8.61,-4.24 -13.06,-2.91l-3.83,1.15 -5.2,18.76c-2.86,10.32 -5.19,19.28 -5.17,19.91 0.03,1.33 21.31,-4.76 27.35,-7.82zM473.55,281.9c4.92,-9.51 5.9,-23.61 2.37,-34.18 -2.01,-6.02 -4.31,-9.67 -5.42,-8.56 -0.3,0.3 0.59,3.54 1.98,7.21 3.28,8.71 3.46,21.36 0.43,29.63 -3.11,8.5 -3.23,9 -2.06,9 0.6,0 1.81,-1.4 2.7,-3.1zM464.35,276.25c2.69,-6.08 3.71,-13.64 2.63,-19.5 -1.13,-6.11 -3.86,-12.75 -5.25,-12.75 -1.01,0 -0.84,0.99 1.71,9.97C464.3,256.98 465,260.59 465,262c0,1.41 -0.7,5.02 -1.55,8.03 -2.55,8.98 -2.72,9.97 -1.71,9.97 0.53,0 1.71,-1.69 2.62,-3.75zM454.62,271.77C457.83,265.55 455.91,249 451.97,249c-1.25,0 -1.25,-0.03 0.53,5 0.82,2.34 1.5,6.01 1.5,8.16 0,2.15 -0.68,5.52 -1.5,7.5 -1.75,4.19 -1.86,5.35 -0.53,5.35 0.54,0 1.73,-1.46 2.65,-3.23zM444.93,268.59c2.07,-2.49 2.36,-7.97 0.65,-12.06 -2.02,-4.83 -4.21,-3.66 -2.48,1.32 1.07,3.06 0.96,4.77 -0.63,9.9 -0.78,2.53 0.65,3.02 2.46,0.84zM763.38,509.54c-0.31,-0.8 -0.08,-2.94 0.5,-4.75 0.58,-1.81 1.74,-7.92 2.57,-13.58 0.83,-5.66 2.68,-15.49 4.1,-21.85 1.43,-6.36 2.34,-11.81 2.04,-12.11 -0.3,-0.3 -9.3,-0.77 -19.98,-1.04 -10.69,-0.27 -20.01,-0.84 -20.71,-1.28 -1.62,-1 3.91,-14.33 16.15,-38.94 18.64,-37.44 42.41,-74.06 67.44,-103.87 8.93,-10.63 15.7,-16.4 23.14,-19.72 3.91,-1.74 6.6,-4.09 11.31,-9.85 3.4,-4.16 6.63,-7.56 7.19,-7.56 0.55,0 14.49,10.24 30.97,22.75 16.48,12.51 30.34,22.88 30.8,23.04 0.46,0.16 13.38,-9.89 28.72,-22.33 15.34,-12.44 28.52,-22.89 29.29,-23.21 0.9,-0.37 4.23,2.37 9.19,7.55 4.85,5.07 8.84,8.36 10.59,8.74 16.36,3.52 25.35,9.93 36.1,25.74 19.51,28.68 42.18,74.96 57.09,116.51 2.71,7.56 5.23,15.36 5.61,17.33l0.67,3.59 -30.61,0.5c-16.84,0.28 -30.91,0.8 -31.27,1.16 -0.36,0.36 0.59,8.41 2.12,17.89 1.53,9.48 3.42,21.2 4.2,26.05 0.78,4.85 1.16,9.24 0.84,9.75 -0.35,0.56 -55.27,0.93 -139.04,0.93 -120.42,0 -138.55,-0.19 -139.03,-1.46zM312.18,408.76c0.35,-2.43 2.5,-3.28 4.72,-1.86 2.13,1.37 0.51,4.1 -2.43,4.1 -2.12,0 -2.54,-0.41 -2.28,-2.24zM261.36,374.99c-10.84,-2.22 -20.5,-10.47 -24.42,-20.84 -4.46,-11.82 -0.76,-26.73 8.72,-35.08 6.61,-5.82 14.03,-8.33 23.34,-7.89 8.97,0.42 14.94,3.01 21.1,9.13 6.36,6.32 9.32,13.53 9.35,22.74 0.02,6.54 -0.42,8.44 -3.26,14.22 -6.46,13.12 -21.05,20.54 -34.83,17.72zM273.7,345.63C287.16,337.1 291.69,333 287.65,333c-0.82,0 -7.22,3.6 -14.21,8 -6.99,4.4 -13.09,8 -13.54,8 -0.45,0 -2.68,-2.73 -4.94,-6.06 -3.82,-5.63 -6.62,-7.27 -6.34,-3.72 0.12,1.55 8.97,15.77 9.81,15.77 0.26,0 7.13,-4.22 15.27,-9.37zM877.47,165.97c-2.79,-3.08 -1,-7.37 3.23,-7.78 2.49,-0.24 3.53,0.24 4.85,2.25 1.56,2.37 1.56,2.74 0.04,5.06 -2,3.05 -5.59,3.26 -8.12,0.47zM947.28,166.75c-3.31,-4.28 -1.05,-9.05 4.05,-8.56 4.2,0.41 5.97,4.71 3.2,7.78 -2.06,2.28 -5.78,2.68 -7.25,0.78zM817.26,133.36c-0.42,-1.02 -0.75,-8.84 -0.74,-17.36 0.01,-12.93 0.39,-16.88 2.28,-23.84 4.61,-17 12.91,-31.18 25.58,-43.7C862.23,30.82 884.1,21.43 910,20.31 938.83,19.06 964.19,28.54 984.03,48c13.12,12.87 21.06,26 26.02,43.07 2.41,8.29 3.87,33.73 2.28,39.78l-0.88,3.35 -7.73,0.28c-7.39,0.27 -7.76,0.18 -8.32,-2.06 -1.06,-4.2 -2.16,-4.38 -16.92,-2.77 -9.86,1.08 -18.83,1.35 -30.47,0.94 -30.69,-1.09 -49.16,-6.77 -64.2,-19.73l-5.7,-4.91 -4.59,4.59c-5.69,5.69 -15.97,10.68 -28.53,13.85 -9.19,2.32 -9.52,2.5 -10.86,6 -1.34,3.49 -1.55,3.61 -6.5,3.62 -2.81,0.01 -6.12,0.28 -7.35,0.61 -1.61,0.43 -2.45,0.08 -3,-1.26z"
+        android:fillColor="#aebbc3"/>
+    <path
+        android:pathData="m28.88,719.25c-0.06,-0.41 -0.04,-1.54 0.06,-2.5 0.12,-1.22 -0.53,-1.75 -2.19,-1.75 -1.81,0 -2.88,-1.05 -4.56,-4.53C20.99,707.98 20,705.43 20,704.79c0,-0.64 -0.85,-2.99 -1.9,-5.22 -1.04,-2.24 -2.18,-6.37 -2.52,-9.19 -0.55,-4.57 -0.4,-5.19 1.38,-5.65C19.13,684.15 21,680.33 21,676.49c0,-3.67 -1.98,-4.05 -4.59,-0.87 -1.99,2.42 -2.52,2.64 -3.37,1.38 -1.56,-2.32 -1.23,-10.29 0.53,-12.8 1.45,-2.07 1.41,-2.5 -0.5,-5.6 -1.75,-2.84 -1.86,-3.53 -0.68,-4.52 0.77,-0.64 1.78,-1.09 2.25,-1.01C17.03,653.51 18,652.77 18,650.5c0,-2.92 -2.39,-3.38 -3.92,-0.75 -0.87,1.5 -1.02,1.35 -1.05,-1 -0.02,-1.51 -0.14,-3.09 -0.28,-3.5 -0.14,-0.41 0.79,-0.9 2.06,-1.08 2.94,-0.42 2.56,-3.55 -0.48,-3.98 -2.71,-0.39 -3.38,-2.1 -2.63,-6.72 0.7,-4.33 2.63,-5.38 5.36,-2.92 2.93,2.65 4.08,0.82 5.46,-8.71C23.87,612.53 23.54,610 20.98,610c-1.47,0 -1.9,1.22 -2.48,7 -0.66,6.57 -1.55,8.35 -3,6 -0.34,-0.55 -1.49,-1 -2.56,-1C11.87,622 11,621.33 11,620.5c0,-0.82 0.34,-1.5 0.76,-1.5 1.86,0 3.59,-5.04 3.89,-11.27 0.17,-3.73 0.96,-8 1.74,-9.5l1.43,-2.72 0.67,4c0.37,2.2 0.85,4.56 1.06,5.25 0.52,1.67 3.61,1.59 5.99,-0.15 1.77,-1.3 1.82,-1.85 0.7,-7.25C26.56,594.13 25.41,591.05 24.67,590.5 21.15,587.88 19.96,582.11 22.5,580c0.82,-0.68 1.5,-2.23 1.5,-3.43 0,-1.27 1.26,-3.12 3,-4.41 4.09,-3.02 4.14,-6.98 0.11,-7.79 -2.75,-0.55 -2.85,-0.74 -1.95,-3.98 2.99,-10.83 6.05,-15.13 24.34,-34.16 9.9,-10.3 21.22,-22.08 25.16,-26.18l7.16,-7.45 11.34,10.95c15.77,15.23 28.02,26.58 31.98,29.64 1.85,1.43 13.91,13.03 26.8,25.79 17.72,17.54 23.21,23.54 22.5,24.59 -0.52,0.77 -15.34,15.22 -32.94,32.11 -17.6,16.89 -49.2,47.28 -70.22,67.52C36.23,716.95 29.42,722.74 28.88,719.25ZM375.29,637.99c-1.22,-0.49 -2.76,-1.78 -3.43,-2.85 -0.67,-1.07 -11.84,-27.76 -24.81,-59.3L323.45,518.5 308.98,518c-14.59,-0.5 -19.44,-1.66 -18.79,-4.48 0.32,-1.39 30.82,-26.25 34.37,-28.02 1.11,-0.55 4.6,-2.28 7.76,-3.84 6.95,-3.43 8.67,-5.83 8.81,-12.26 0.13,-5.76 -4.04,-18.6 -7.08,-21.84C332.93,446.36 332,445.08 332,444.72c0,-0.36 3.94,-1.84 8.75,-3.29 14.51,-4.37 19.04,-10.7 15.79,-22.03 -2.01,-7.01 -5.82,-13.91 -8.18,-14.81 -2.22,-0.85 -0.87,-2.03 4.14,-3.6 7.88,-2.48 12.5,-7.94 12.5,-14.78 0,-6.11 -3.84,-15.86 -7.53,-19.1 -5.35,-4.7 -7.22,-4.77 -19.39,-0.72C326.84,370.12 324,370.66 324,369.08c0,-0.79 12.02,-44.98 25.97,-95.48 2.26,-8.2 3.76,-15.25 3.32,-15.67 -1.94,-1.85 -116.45,-33.17 -117.49,-32.13 -0.46,0.46 -10.99,37.71 -23.4,82.77 -35.04,127.23 -32.55,117.73 -31.15,119.01 0.68,0.62 27.02,8.23 58.53,16.9 53.92,14.84 57.4,15.67 59.13,14.1 1.75,-1.59 1.87,-1.48 2.51,2.13 0.37,2.09 1.58,6.6 2.69,10.02 1.11,3.42 1.74,6.69 1.39,7.25 -0.35,0.56 -1.9,1.02 -3.45,1.02 -2.26,0 -67.28,-17.41 -125.36,-33.56 -11.21,-3.12 -14.82,-5.76 -16.78,-12.31 -1.53,-5.12 -2.19,-2.62 38.72,-148.12 5.8,-20.63 12.74,-45.32 15.42,-54.87 2.68,-9.55 5.6,-18.48 6.5,-19.84 2.3,-3.51 9.72,-6.61 13.75,-5.74 1.76,0.38 28.37,7.62 59.13,16.11 30.76,8.48 56.48,15.21 57.16,14.95 0.68,-0.26 4.27,-6.38 7.99,-13.59 3.71,-7.22 7.87,-14 9.23,-15.07C370.21,205.05 372.64,205 462.08,205h91.81l2.58,2.25c1.59,1.39 10.9,19.42 24.39,47.25l21.81,45 11.42,0.58c6.28,0.32 12.37,1.09 13.53,1.71 3.49,1.87 8.21,7.91 9.33,11.93 0.7,2.51 1.05,34.86 1.05,96.41l0.01,92.64 -2.76,5.29C631.5,515.21 626.35,518 616.88,518c-5.82,0 -6.96,0.29 -7.9,2.04 -0.6,1.12 -10.72,27.3 -22.49,58.18 -12.33,32.36 -22.28,57.02 -23.47,58.21 -2.06,2.06 -2.48,2.07 -93.79,2.27 -52.46,0.11 -92.67,-0.19 -93.94,-0.7zM438.37,611.75c1.04,-3.88 0.68,-11.29 -0.63,-13.09 -1.09,-1.5 -2.85,-1.69 -13.25,-1.44L412.5,597.5l-0.29,8.25 -0.29,8.25h12.92c12.56,0 12.94,-0.06 13.53,-2.25zM479.8,606.09c0.21,-5.25 -0.08,-7.65 -1,-8.23 -1.49,-0.95 -21.85,-1.16 -24.22,-0.25C453.34,598.08 453,599.77 453,605.44c0,3.97 0.31,7.54 0.7,7.92 0.38,0.38 6.34,0.57 13.25,0.42L479.5,613.5ZM437.96,576.07c1.13,-2.12 1.36,-9.26 0.4,-12.82 -0.59,-2.19 -0.97,-2.25 -13.49,-2.25L412,561v7.83c0,4.31 0.3,8.13 0.67,8.5C413.03,577.7 418.64,578 425.13,578c10.64,0 11.9,-0.19 12.83,-1.93zM478.8,577.15c0.92,-0.58 1.21,-2.98 1,-8.23L479.5,561.5h-13,-13l-0.3,7.41c-0.21,5.25 0.08,7.65 1,8.23 0.71,0.45 6.25,0.82 12.3,0.82 6.05,0 11.58,-0.37 12.3,-0.82zM438.37,538.75c0.33,-1.24 0.6,-3.6 0.6,-5.25 0,-7.61 0.21,-7.5 -14.09,-7.5L412,526v7.5,7.5h12.88c12.52,0 12.9,-0.06 13.49,-2.25zM479.5,533.5v-7h-13,-13l-0.3,5.89c-0.47,9.07 -1.04,8.71 13.53,8.39L479.5,540.5ZM356.43,358.87c20.36,-6.12 23.53,-7.82 25.96,-13.88 2.24,-5.61 2.13,-6.38 -2.38,-15.49C375.45,320.31 372.57,318 365.71,318c-7.11,0 -7.87,1.24 -13.6,22.23 -2.81,10.3 -5.11,19.19 -5.11,19.75 0,1.46 1.47,1.28 9.43,-1.11zM438.92,292.63C437.9,291.71 432,289 432,289.44c0,0.62 5.18,3.46 6.42,3.52 0.5,0.02 0.73,-0.13 0.5,-0.33zM495.49,291.01c0.35,-0.57 -0.05,-0.73 -0.94,-0.39 -1.73,0.66 -2.05,1.38 -0.61,1.38 0.52,0 1.22,-0.44 1.55,-0.99zM503.8,285.5c4.22,-3.05 5.43,-5.5 2.7,-5.5 -0.82,0 -1.5,0.84 -1.5,1.86 0,1.05 -1.76,3.08 -4,4.64 -2.2,1.52 -4,2.96 -4,3.19 0,0.54 1.7,-0.51 6.8,-4.19zM430.45,288.24c-5.21,-4.19 -5.97,-4.66 -3.23,-1.99 1.55,1.51 3.12,2.75 3.5,2.75 0.38,0 0.26,-0.34 -0.27,-0.76zM473.47,283.75c2.79,-3.96 5.53,-14.67 5.52,-21.61C478.97,251.17 474.55,238 470.89,238c-2.42,0 -2.38,0.44 0.61,8.4 3.57,9.49 3.55,22.14 -0.06,31.17 -2.4,6 -2.53,8.43 -0.43,8.43 0.49,0 1.6,-1.01 2.47,-2.25zM420.94,279.25c-4.05,-4.62 -4.28,-4.84 -3.44,-3.25 0.99,1.87 4.67,6 5.35,6 0.28,0 -0.58,-1.24 -1.91,-2.75zM465.12,276.45c2.78,-6.28 3.74,-13.41 2.7,-20.04C466.78,249.8 463.57,243 461.48,243c-1.96,0 -1.82,2.34 0.52,9 1.06,3.03 1.93,7.53 1.93,10 0,2.47 -0.87,6.97 -1.93,10 -2.37,6.73 -2.48,9 -0.44,9 0.89,0 2.42,-1.96 3.57,-4.55zM514,279.06c0,-1.68 -1.77,-2.09 -2.36,-0.55C511.29,279.41 511.64,280 512.53,280 513.34,280 514,279.58 514,279.06ZM455.52,271.75c2.3,-5.63 2.3,-14.6 -0.01,-19.72 -2.92,-6.48 -6.78,-5 -4.05,1.55 1.96,4.68 1.96,11.47 0,16.15 -0.84,2.02 -1.31,4.25 -1.03,4.97 1,2.59 3.38,1.21 5.09,-2.95zM511.36,274.5C510.75,272.91 509,272.42 509,273.83c0,1.06 1.09,2.17 2.14,2.17 0.44,0 0.54,-0.68 0.23,-1.5zM501,272.56c0,-0.24 -0.45,-0.72 -1,-1.06 -0.55,-0.34 -1,-0.14 -1,0.44 0,0.58 0.45,1.06 1,1.06 0.55,0 1,-0.2 1,-0.44zM446.5,266.65c1.35,-3.53 1.46,-5.11 0.58,-8.38 -1.28,-4.74 -3.59,-7.15 -5.26,-5.48 -0.8,0.8 -0.76,1.93 0.16,4.14 1.19,2.87 1.1,4.71 -0.53,11.32 -0.57,2.32 -0.36,2.75 1.36,2.75 1.48,0 2.49,-1.19 3.7,-4.35zM499,263.5c-1.33,-1.6 -4,-2.05 -4,-0.67 0,1.37 1.21,2.17 3.29,2.17 1.63,0 1.75,-0.25 0.71,-1.5zM506,256c0,-0.55 -0.7,-1 -1.56,-1 -0.86,0 -1.28,0.45 -0.94,1 0.34,0.55 1.04,1 1.56,1 0.52,0 0.94,-0.45 0.94,-1zM507.46,252.07c0.32,-0.51 0.12,-1.21 -0.44,-1.56 -0.56,-0.35 -1.02,0.07 -1.02,0.93 0,1.76 0.6,2.02 1.46,0.63zM513.98,251.25c-0.01,-0.41 -0.92,-1.88 -2.01,-3.25 -1.92,-2.41 -1.96,-2.19 -0.5,2.5 0.47,1.52 2.55,2.14 2.51,0.75zM429.5,236.12c1.65,-1.25 2.33,-1.94 1.5,-1.53 -3.23,1.6 -9.07,6.7 -11.13,9.73 -1.63,2.39 -1.07,2.05 2.23,-1.37 2.42,-2.5 5.74,-5.58 7.39,-6.82zM507.44,241.91c-1.62,-1.7 -4.29,-4.02 -5.94,-5.16 -1.65,-1.14 -0.52,0.23 2.5,3.05 6.17,5.74 7.88,6.79 3.44,2.11zM498,234.52c0,-0.61 -7.65,-4.54 -8.71,-4.48 -0.43,0.02 1.24,1.13 3.71,2.45 5.04,2.7 5,2.68 5,2.02zM435.53,232.19c-0.31,-0.31 -1.11,-0 -1.79,0.68 -0.98,0.99 -0.87,1.1 0.56,0.56 0.99,-0.38 1.54,-0.93 1.23,-1.24zM765.47,508.96c-0.35,-0.57 0.1,-5.19 1.02,-10.25 2.84,-15.77 6.54,-34.33 7.54,-37.8 0.52,-1.83 0.62,-3.63 0.21,-4 -1.14,-1.05 -21.67,-2.91 -31.99,-2.91 -7.02,0 -9.25,-0.32 -9.25,-1.32 0,-1.6 5.75,-14.94 13.22,-30.67 16.93,-35.67 44.39,-78.44 69.33,-108 9.9,-11.73 15.53,-16.67 22.92,-20.13 5.12,-2.4 7.49,-4.38 12.5,-10.48l6.17,-7.52 3.18,2.39c1.75,1.31 15.44,11.69 30.42,23.07C905.71,312.69 918.55,322 919.26,322c0.71,0 13.79,-10.11 29.06,-22.47 15.27,-12.36 28.15,-22.7 28.6,-22.98 0.46,-0.28 4.38,3.09 8.71,7.5 7.35,7.47 8.31,8.11 14.29,9.51 12.93,3.02 22.68,10.46 32.13,24.51 17.8,26.48 38.71,68.28 52.88,105.74 4.14,10.94 10.07,28.4 10.07,29.63 0,0.18 -13.93,0.51 -30.97,0.71 -18.49,0.23 -31.34,0.78 -31.9,1.36 -0.58,0.61 -0.2,4.98 1,11.48 3.5,19.06 6.8,41.29 6.27,42.15 -0.79,1.28 -273.14,1.09 -273.93,-0.19zM301.01,452.92c0.01,-2.83 2.11,-8.92 3.08,-8.92 0.54,0 2.11,0.73 3.47,1.63 1.94,1.27 2.24,1.92 1.34,3 -0.63,0.76 -1.62,1.37 -2.2,1.37 -0.58,0 -2.1,0.98 -3.38,2.17 -1.65,1.55 -2.31,1.76 -2.31,0.75zM313,408.43c0,-0.93 0.68,-1.44 1.67,-1.25C317.18,407.66 317.52,410 315.08,410 313.86,410 313,409.35 313,408.43ZM261.22,373.97c-24.27,-4.95 -33.57,-34.98 -16.33,-52.74 5.69,-5.86 12.17,-8.63 21.25,-9.06 6.65,-0.32 8.44,-0.01 13.75,2.37 11.82,5.31 18.51,15.6 18.49,28.47 -0.01,9.67 -2.78,16.22 -9.53,22.53 -7.96,7.44 -17.78,10.44 -27.64,8.43zM274.52,346.25c12.37,-7.77 15.47,-10.15 15.25,-11.74 -0.15,-1.09 -1.02,-2.13 -1.94,-2.31 -0.92,-0.17 -7.41,3.31 -14.43,7.74C266.39,344.37 260.31,348 259.89,348c-0.41,0 -2.39,-2.7 -4.39,-6 -2,-3.3 -4.23,-6 -4.95,-6 -1.91,0 -3.84,2.71 -2.99,4.21 4.12,7.24 9.82,15.79 10.54,15.79 0.49,0 7.88,-4.39 16.42,-9.75zM878.75,166.92c-2.01,-1.17 -2.35,-5.92 -0.55,-7.72 0.66,-0.66 2.14,-1.2 3.3,-1.2 4.63,0 6.17,5.71 2.28,8.44 -2.58,1.81 -2.72,1.82 -5.03,0.48zM948.17,166.4c-3.25,-2.28 -2.61,-6.54 1.19,-7.86 2.45,-0.86 3.12,-0.67 4.75,1.34 2.38,2.94 2.37,3.64 -0.1,6.12 -2.41,2.41 -2.91,2.45 -5.83,0.4zM817.26,133.36c-0.42,-1.02 -0.75,-8.84 -0.74,-17.36 0.01,-12.93 0.39,-16.88 2.28,-23.84 4.61,-17 12.91,-31.18 25.58,-43.7C862.23,30.82 884.1,21.43 910,20.31 938.83,19.06 964.19,28.54 984.03,48c13.12,12.87 21.06,26 26.02,43.07 2.41,8.29 3.87,33.73 2.28,39.78l-0.88,3.35 -7.73,0.28c-7.39,0.27 -7.76,0.18 -8.32,-2.06 -1.06,-4.2 -2.16,-4.38 -16.92,-2.77 -9.86,1.08 -18.83,1.35 -30.47,0.94 -30.69,-1.09 -49.16,-6.77 -64.2,-19.73l-5.7,-4.91 -4.59,4.59c-5.69,5.69 -15.97,10.68 -28.53,13.85 -9.19,2.32 -9.52,2.5 -10.86,6 -1.34,3.49 -1.55,3.61 -6.5,3.62 -2.81,0.01 -6.12,0.28 -7.35,0.61 -1.61,0.43 -2.45,0.08 -3,-1.26z"
+        android:fillColor="#8cc9c4"/>
+    <path
+        android:pathData="m40.33,703.22c-2.01,-1.28 -2.62,-5.74 -0.96,-7.12 1.22,-1.01 1.85,-0.89 3.42,0.68 1.72,1.72 1.77,2.2 0.53,4.57 -1.56,2.97 -1.41,2.88 -2.99,1.87zM70.49,678.99c-0.38,-0.61 0.03,-1.91 0.91,-2.88 2.01,-2.22 2,-3 -0.09,-7.19 -0.93,-1.86 -1.8,-4.41 -1.93,-5.65C69.18,661.37 69.62,661 72.1,661c3.55,0 4.68,-2.17 2.88,-5.53 -1.04,-1.94 -1.04,-2.69 -0.01,-3.93C76.43,649.78 79,649.48 79,651.07c0,0.59 1.01,0.93 2.25,0.75 1.93,-0.27 2.22,-0.86 2.03,-4.1 -0.19,-3.28 0.14,-3.92 2.5,-4.86 1.5,-0.59 3.52,-1.48 4.49,-1.98 0.97,-0.5 2.79,-0.65 4.04,-0.34 1.8,0.45 2.95,-0.27 5.49,-3.43 1.77,-2.2 3.21,-4.84 3.21,-5.88 0,-1.04 1.16,-2.98 2.59,-4.31 2.1,-1.97 2.49,-3.05 2.04,-5.8 -0.42,-2.62 0.03,-4.13 2.03,-6.75C111.08,612.52 113.11,611 114.19,611 116.84,611 123,606.16 123,604.07c0,-0.93 0.59,-2.49 1.3,-3.47 1.21,-1.66 1.59,-1.54 5.59,1.81 2.36,1.97 4.67,3.59 5.13,3.59 1.38,0 4.97,-5.66 4.97,-7.85 0,-1.12 0.45,-2.31 1,-2.65 0.55,-0.34 1,-1.77 1,-3.18 0,-2.67 -0.12,-2.66 6.16,-0.66 2.22,0.7 4.44,-3.22 2.89,-5.1 -1.88,-2.26 -0.19,-4.63 2.8,-3.93 1.46,0.34 2.93,0.9 3.27,1.24 0.34,0.34 0.25,3.92 -0.2,7.96l-0.82,7.34 -14.8,14.2c-35.08,33.66 -52.7,50.24 -55.02,51.77 -1.37,0.9 -4.21,1.91 -6.32,2.25 -4,0.64 -5.63,2.91 -4.55,6.36 0.59,1.89 0.01,3.03 -2.57,5.05 -1.19,0.93 -1.86,0.98 -2.35,0.19zM375.29,637.99c-1.22,-0.49 -2.76,-1.78 -3.43,-2.85 -0.67,-1.07 -11.84,-27.76 -24.81,-59.3L323.45,518.5 308.98,518c-14.59,-0.5 -19.44,-1.66 -18.79,-4.48 0.45,-1.97 32.52,-27.51 34.57,-27.54 0.96,-0.01 64.63,-0 141.49,0.02l139.75,0.05v-76.39,-76.39l-3.75,-0.61c-2.06,-0.34 -52.58,-0.59 -112.25,-0.57l-108.5,0.04 -2.76,-5.35C375.47,320.44 371.84,318 365.71,318c-7.11,0 -7.87,1.24 -13.6,22.23C349.3,350.54 347,359.9 347,361.03c0,1.4 -1.08,2.52 -3.34,3.46 -5.93,2.48 -18.59,5.91 -19.27,5.22 -0.37,-0.37 1.85,-9.79 4.91,-20.94 3.07,-11.15 9.9,-35.98 15.19,-55.18 5.28,-19.2 9.25,-35.25 8.81,-35.67 -1.94,-1.86 -116.45,-33.18 -117.49,-32.14 -0.46,0.46 -10.99,37.71 -23.4,82.77 -35.04,127.23 -32.55,117.73 -31.15,119.01 0.68,0.62 27.02,8.23 58.53,16.9 53.92,14.84 57.4,15.67 59.13,14.1 1.75,-1.59 1.87,-1.48 2.51,2.13 0.37,2.09 1.58,6.6 2.69,10.02 1.11,3.42 1.74,6.69 1.39,7.25 -0.35,0.56 -1.9,1.02 -3.45,1.02 -2.26,0 -67.28,-17.41 -125.36,-33.56 -11.21,-3.12 -14.82,-5.76 -16.78,-12.31 -1.53,-5.12 -2.19,-2.62 38.72,-148.12 5.8,-20.63 12.74,-45.32 15.42,-54.87 2.68,-9.55 5.6,-18.48 6.5,-19.84 2.3,-3.51 9.72,-6.61 13.75,-5.74 1.76,0.38 28.37,7.62 59.13,16.11 30.76,8.48 56.48,15.21 57.16,14.95 0.68,-0.26 4.27,-6.38 7.99,-13.59 3.71,-7.22 7.87,-14 9.23,-15.07C370.21,205.05 372.64,205 462.08,205h91.81l2.58,2.25c1.59,1.39 10.9,19.42 24.39,47.25l21.81,45 11.42,0.58c6.28,0.32 12.37,1.09 13.53,1.71 3.49,1.87 8.21,7.91 9.33,11.93 0.7,2.51 1.05,34.86 1.05,96.41l0.01,92.64 -2.76,5.29C631.5,515.21 626.35,518 616.88,518c-5.82,0 -6.96,0.29 -7.9,2.04 -0.6,1.12 -10.72,27.3 -22.49,58.18 -12.33,32.36 -22.28,57.02 -23.47,58.21 -2.06,2.06 -2.48,2.07 -93.79,2.27 -52.46,0.11 -92.67,-0.19 -93.94,-0.7zM438.37,611.75c1.04,-3.88 0.68,-11.29 -0.63,-13.09 -1.09,-1.5 -2.85,-1.69 -13.25,-1.44L412.5,597.5l-0.29,8.25 -0.29,8.25h12.92c12.56,0 12.94,-0.06 13.53,-2.25zM479.8,606.09c0.21,-5.25 -0.08,-7.65 -1,-8.23 -1.49,-0.95 -21.85,-1.16 -24.22,-0.25C453.34,598.08 453,599.77 453,605.44c0,3.97 0.31,7.54 0.7,7.92 0.38,0.38 6.34,0.57 13.25,0.42L479.5,613.5ZM437.96,576.07c1.13,-2.12 1.36,-9.26 0.4,-12.82 -0.59,-2.19 -0.97,-2.25 -13.49,-2.25L412,561v7.83c0,4.31 0.3,8.13 0.67,8.5C413.03,577.7 418.64,578 425.13,578c10.64,0 11.9,-0.19 12.83,-1.93zM478.8,577.15c0.92,-0.58 1.21,-2.98 1,-8.23L479.5,561.5h-13,-13l-0.3,7.41c-0.21,5.25 0.08,7.65 1,8.23 0.71,0.45 6.25,0.82 12.3,0.82 6.05,0 11.58,-0.37 12.3,-0.82zM438.37,538.75c0.33,-1.24 0.6,-3.6 0.6,-5.25 0,-7.61 0.21,-7.5 -14.09,-7.5L412,526v7.5,7.5h12.88c12.52,0 12.9,-0.06 13.49,-2.25zM479.5,533.5v-7h-13,-13l-0.3,5.89c-0.47,9.07 -1.04,8.71 13.53,8.39L479.5,540.5ZM438.92,292.63C437.9,291.71 432,289 432,289.44c0,0.62 5.18,3.46 6.42,3.52 0.5,0.02 0.73,-0.13 0.5,-0.33zM495.49,291.01c0.35,-0.57 -0.05,-0.73 -0.94,-0.39 -1.73,0.66 -2.05,1.38 -0.61,1.38 0.52,0 1.22,-0.44 1.55,-0.99zM503.8,285.5c4.22,-3.05 5.43,-5.5 2.7,-5.5 -0.82,0 -1.5,0.84 -1.5,1.86 0,1.05 -1.76,3.08 -4,4.64 -2.2,1.52 -4,2.96 -4,3.19 0,0.54 1.7,-0.51 6.8,-4.19zM430.45,288.24c-5.21,-4.19 -5.97,-4.66 -3.23,-1.99 1.55,1.51 3.12,2.75 3.5,2.75 0.38,0 0.26,-0.34 -0.27,-0.76zM473.47,283.75c2.79,-3.96 5.53,-14.67 5.52,-21.61C478.97,251.17 474.55,238 470.89,238c-2.42,0 -2.38,0.44 0.61,8.4 3.57,9.49 3.55,22.14 -0.06,31.17 -2.4,6 -2.53,8.43 -0.43,8.43 0.49,0 1.6,-1.01 2.47,-2.25zM420.94,279.25c-4.05,-4.62 -4.28,-4.84 -3.44,-3.25 0.99,1.87 4.67,6 5.35,6 0.28,0 -0.58,-1.24 -1.91,-2.75zM465.12,276.45c2.78,-6.28 3.74,-13.41 2.7,-20.04C466.78,249.8 463.57,243 461.48,243c-1.96,0 -1.82,2.34 0.52,9 1.06,3.03 1.93,7.53 1.93,10 0,2.47 -0.87,6.97 -1.93,10 -2.37,6.73 -2.48,9 -0.44,9 0.89,0 2.42,-1.96 3.57,-4.55zM514,279.06c0,-1.68 -1.77,-2.09 -2.36,-0.55C511.29,279.41 511.64,280 512.53,280 513.34,280 514,279.58 514,279.06ZM455.52,271.75c2.3,-5.63 2.3,-14.6 -0.01,-19.72 -2.92,-6.48 -6.78,-5 -4.05,1.55 1.96,4.68 1.96,11.47 0,16.15 -0.84,2.02 -1.31,4.25 -1.03,4.97 1,2.59 3.38,1.21 5.09,-2.95zM511.36,274.5C510.75,272.91 509,272.42 509,273.83c0,1.06 1.09,2.17 2.14,2.17 0.44,0 0.54,-0.68 0.23,-1.5zM501,272.56c0,-0.24 -0.45,-0.72 -1,-1.06 -0.55,-0.34 -1,-0.14 -1,0.44 0,0.58 0.45,1.06 1,1.06 0.55,0 1,-0.2 1,-0.44zM446.5,266.65c1.35,-3.53 1.46,-5.11 0.58,-8.38 -1.28,-4.74 -3.59,-7.15 -5.26,-5.48 -0.8,0.8 -0.76,1.93 0.16,4.14 1.19,2.87 1.1,4.71 -0.53,11.32 -0.57,2.32 -0.36,2.75 1.36,2.75 1.48,0 2.49,-1.19 3.7,-4.35zM499,263.5c-1.33,-1.6 -4,-2.05 -4,-0.67 0,1.37 1.21,2.17 3.29,2.17 1.63,0 1.75,-0.25 0.71,-1.5zM506,256c0,-0.55 -0.7,-1 -1.56,-1 -0.86,0 -1.28,0.45 -0.94,1 0.34,0.55 1.04,1 1.56,1 0.52,0 0.94,-0.45 0.94,-1zM507.46,252.07c0.32,-0.51 0.12,-1.21 -0.44,-1.56 -0.56,-0.35 -1.02,0.07 -1.02,0.93 0,1.76 0.6,2.02 1.46,0.63zM513.98,251.25c-0.01,-0.41 -0.92,-1.88 -2.01,-3.25 -1.92,-2.41 -1.96,-2.19 -0.5,2.5 0.47,1.52 2.55,2.14 2.51,0.75zM429.5,236.12c1.65,-1.25 2.33,-1.94 1.5,-1.53 -3.23,1.6 -9.07,6.7 -11.13,9.73 -1.63,2.39 -1.07,2.05 2.23,-1.37 2.42,-2.5 5.74,-5.58 7.39,-6.82zM507.44,241.91c-1.62,-1.7 -4.29,-4.02 -5.94,-5.16 -1.65,-1.14 -0.52,0.23 2.5,3.05 6.17,5.74 7.88,6.79 3.44,2.11zM498,234.52c0,-0.61 -7.65,-4.54 -8.71,-4.48 -0.43,0.02 1.24,1.13 3.71,2.45 5.04,2.7 5,2.68 5,2.02zM435.53,232.19c-0.31,-0.31 -1.11,-0 -1.79,0.68 -0.98,0.99 -0.87,1.1 0.56,0.56 0.99,-0.38 1.54,-0.93 1.23,-1.24zM95,629c0,-0.55 0.7,-1 1.56,-1 0.86,0 1.28,0.45 0.94,1 -0.34,0.55 -1.04,1 -1.56,1C95.42,630 95,629.55 95,629ZM149.08,577.42c0.05,-1.16 0.28,-1.4 0.6,-0.6 0.29,0.72 0.25,1.58 -0.08,1.92 -0.33,0.33 -0.57,-0.26 -0.53,-1.31zM154.67,569.33C153.7,568.36 153.85,566 154.88,566c0.49,0 1.12,0.9 1.41,2 0.51,1.97 -0.31,2.64 -1.62,1.33zM140,548.5c-0.69,-0.84 -0.8,-1.5 -0.24,-1.5 0.55,0 1.56,0.68 2.24,1.5 0.69,0.84 0.8,1.5 0.24,1.5 -0.55,0 -1.56,-0.68 -2.24,-1.5zM131.34,541.17c-5.57,-4.41 -7.87,-6.96 -7.04,-7.8 0.7,-0.7 11.38,8.35 12.12,10.28 0.76,1.99 0.25,1.74 -5.08,-2.48zM765.26,506.25c0.27,-1.51 1.44,-8.38 2.61,-15.25 1.17,-6.88 3.2,-17.23 4.52,-23 1.32,-5.78 2.2,-10.84 1.95,-11.25C774.09,456.34 772.4,456 770.59,456 766.81,456 761,454.19 761,453.01c0,-0.44 0.68,-1.05 1.5,-1.37 0.82,-0.32 1.5,-1.5 1.5,-2.63 0,-1.22 1.02,-2.52 2.5,-3.19 2.65,-1.21 3.26,-3.23 1.35,-4.41 -1.47,-0.91 1.75,-3.41 4.39,-3.41 1.17,0 1.74,-0.6 1.56,-1.65 -0.45,-2.54 1.8,-2.71 4.04,-0.3 2.23,2.39 4.17,1.88 4.17,-1.11 0,-2.34 1.55,-2.57 2.39,-0.36 1.15,2.99 0.6,6.09 -2.84,15.99 -1.9,5.46 -3.76,11.95 -4.14,14.43 -0.38,2.47 -1.05,4.97 -1.5,5.54 -0.45,0.57 -2.15,9 -3.79,18.73 -1.64,9.73 -3.27,18.15 -3.61,18.71 -0.35,0.56 -1.33,1.02 -2.18,1.02 -1.15,0 -1.43,-0.72 -1.07,-2.75zM1033.82,454.32c-1.6,-0.42 -2.39,-2.88 -4.36,-13.59 -0.73,-3.99 0.58,-6.74 3.22,-6.74 0.99,0 1.25,0.63 0.81,2 -0.49,1.54 -0.18,2 1.35,2 4.35,0 7.22,3.14 3.9,4.25 -1.62,0.55 0.83,3.75 2.87,3.75 0.76,0 1.38,0.75 1.38,1.67 0,0.92 0.73,2.48 1.63,3.47 1.53,1.69 1.46,1.87 -1.07,2.83 -2.71,1.03 -6.63,1.17 -9.75,0.35zM301.01,452.92c0.01,-2.83 2.11,-8.92 3.08,-8.92 0.54,0 2.11,0.73 3.47,1.63 1.94,1.27 2.24,1.92 1.34,3 -0.63,0.76 -1.62,1.37 -2.2,1.37 -0.58,0 -2.1,0.98 -3.38,2.17 -1.65,1.55 -2.31,1.76 -2.31,0.75zM827.26,431.33C822.99,430.44 822,427.44 822,415.39c0,-9.5 0.28,-11.52 1.91,-13.53L825.82,399.5L852.5,399.5 879.18,399.5l1.91,2.36C882.72,403.87 883,405.89 883,415.5c0,17.05 1.92,15.97 -28.66,16.15 -13.66,0.08 -25.85,-0.06 -27.08,-0.32zM768,418.96c0,-0.57 0.79,-0.91 1.75,-0.75 1.81,0.3 1.96,-0.77 0.68,-5.02 -0.55,-1.83 -0.26,-2.42 1.44,-2.87 2.28,-0.59 2.77,-1.81 1.14,-2.82 -1.99,-1.23 1.74,-6.24 5,-6.72 3.17,-0.46 4.87,0.55 2.93,1.75 -0.71,0.44 -0.31,1.51 1.16,3.07 2.83,3.02 3.67,3 5.07,-0.08 0.84,-1.85 0.83,-2.82 -0.04,-3.88 -0.91,-1.09 -0.79,-2.07 0.52,-4.36 1.1,-1.91 1.41,-3.63 0.89,-4.87 -1.1,-2.64 -1.28,-6.46 -0.33,-7.05 0.43,-0.27 0.53,-1.52 0.21,-2.78 -0.47,-1.87 0.51,-3.26 5.24,-7.48 5.35,-4.77 5.89,-5.03 6.69,-3.21 0.97,2.17 -4.47,19.25 -7.1,22.3 -0.8,0.93 -1.18,2.14 -0.84,2.69 0.34,0.55 -0.58,3.99 -2.04,7.64 -2.35,5.86 -3.17,6.89 -7.02,8.76 -2.4,1.17 -4.36,2.48 -4.36,2.92 0,0.44 -1.13,0.8 -2.5,0.8 -1.56,0 -2.5,0.57 -2.5,1.5 0,1 -1,1.5 -3,1.5 -1.65,0 -3,-0.47 -3,-1.04zM779,408.44c0,-0.86 -0.46,-1.28 -1.02,-0.93 -0.56,0.35 -0.76,1.05 -0.44,1.56 0.86,1.39 1.46,1.13 1.46,-0.63zM1034,418.44c0,-0.94 -0.7,-1.44 -1.76,-1.26 -2.39,0.41 -9.24,-4.97 -9.24,-7.25 0,-1.01 0.94,-2.72 2.1,-3.79 1.38,-1.29 1.88,-2.62 1.47,-3.92 -0.56,-1.76 -0.28,-1.9 2.64,-1.3 3.6,0.74 7.45,5.93 5.05,6.81 -1.97,0.72 -1.46,2.29 0.75,2.29 2.24,0 2.83,3.77 0.89,5.71 -1.45,1.45 -0.25,3.36 1.64,2.64 0.81,-0.31 1.47,-0.07 1.47,0.54 0,0.61 -1.13,1.11 -2.5,1.11 -1.6,0 -2.5,-0.56 -2.5,-1.56zM1030,407.94c0,-0.52 -0.45,-0.94 -1,-0.94 -0.55,0 -1,0.7 -1,1.56 0,0.86 0.45,1.28 1,0.94 0.55,-0.34 1,-1.04 1,-1.56zM313,408.43c0,-0.93 0.68,-1.44 1.67,-1.25C317.18,407.66 317.52,410 315.08,410 313.86,410 313,409.35 313,408.43ZM1018,385.94c0,-0.58 0.45,-0.78 1,-0.44 0.55,0.34 1,0.82 1,1.06 0,0.24 -0.45,0.44 -1,0.44 -0.55,0 -1,-0.48 -1,-1.06zM1016.6,382.41c-0.33,-0.87 -0.6,-2.27 -0.6,-3.12 0,-1.26 0.28,-1.31 1.5,-0.3 1.67,1.39 1.97,3.59 0.6,4.44 -0.49,0.3 -1.17,-0.16 -1.5,-1.02zM254.48,370.69c-11.3,-5.38 -18.25,-17.52 -17.24,-30.14 0.91,-11.34 7.28,-20.17 18.11,-25.12 5.16,-2.36 6.77,-2.62 13.61,-2.23 6.26,0.36 8.8,1.03 13.14,3.47 20.79,11.66 20.33,42.61 -0.78,53.35 -7.2,3.66 -19.9,3.98 -26.85,0.67zM273.91,347.85c8.03,-5.03 15.21,-9.72 15.97,-10.42 1.65,-1.52 0.81,-5.96 -1.28,-6.76 -0.78,-0.3 -6.97,2.93 -13.76,7.18 -6.79,4.25 -12.88,8.06 -13.54,8.46 -0.77,0.47 -2.66,-1.42 -5.29,-5.29C253.77,337.71 251.46,335 250.9,335 248.84,335 246,337.11 246,338.63 246,340.81 256.69,357 258.14,357c0.65,0 7.75,-4.12 15.77,-9.15zM801.5,368c0.34,-0.55 0.82,-1 1.06,-1 0.24,0 0.44,0.45 0.44,1 0,0.55 -0.48,1 -1.06,1 -0.58,0 -0.78,-0.45 -0.44,-1zM884.25,357.3c-2.72,-4.84 -12.25,-21.96 -21.18,-38.05l-16.24,-29.25 5.17,-6.5c2.84,-3.57 5.47,-6.49 5.84,-6.48 0.37,0.01 13.94,10.13 30.16,22.49 16.23,12.35 30.29,22.47 31.26,22.48 0.97,0.01 14.24,-10.11 29.5,-22.48 15.26,-12.37 28.02,-22.5 28.37,-22.5 0.34,-0 4.02,3.74 8.18,8.31l7.55,8.32 -21.4,35.93C959.68,349.33 949.53,365.5 948.9,365.5c-0.64,0 -7.18,-8.77 -14.55,-19.5 -8.03,-11.69 -14.04,-19.5 -15,-19.5 -0.96,0 -6.97,7.81 -15,19.5 -7.36,10.73 -13.79,19.64 -14.28,19.8 -0.49,0.17 -3.11,-3.66 -5.83,-8.5zM878.75,166.92c-2.01,-1.17 -2.35,-5.92 -0.55,-7.72 0.66,-0.66 2.14,-1.2 3.3,-1.2 4.63,0 6.17,5.71 2.28,8.44 -2.58,1.81 -2.72,1.82 -5.03,0.48zM948.17,166.4c-3.25,-2.28 -2.61,-6.54 1.19,-7.86 2.45,-0.86 3.12,-0.67 4.75,1.34 2.38,2.94 2.37,3.64 -0.1,6.12 -2.41,2.41 -2.91,2.45 -5.83,0.4zM817.26,133.36c-0.42,-1.02 -0.75,-8.84 -0.74,-17.36 0.01,-12.93 0.39,-16.88 2.28,-23.84 4.61,-17 12.91,-31.18 25.58,-43.7C862.23,30.82 884.1,21.43 910,20.31 938.83,19.06 964.19,28.54 984.03,48c13.12,12.87 21.06,26 26.02,43.07 2.41,8.29 3.87,33.73 2.28,39.78l-0.88,3.35 -7.73,0.28c-7.39,0.27 -7.76,0.18 -8.32,-2.06 -1.06,-4.2 -2.16,-4.38 -16.92,-2.77 -9.86,1.08 -18.83,1.35 -30.47,0.94 -30.69,-1.09 -49.16,-6.77 -64.2,-19.73l-5.7,-4.91 -4.59,4.59c-5.69,5.69 -15.97,10.68 -28.53,13.85 -9.19,2.32 -9.52,2.5 -10.86,6 -1.34,3.49 -1.55,3.61 -6.5,3.62 -2.81,0.01 -6.12,0.28 -7.35,0.61 -1.61,0.43 -2.45,0.08 -3,-1.26z"
+        android:fillColor="#8dafad"/>
+    <path
+        android:pathData="M400,220l0,80l150,0l0,-80z"
+        android:fillColor="#ffffff"/>
+    <path
+        android:pathData="m374.13,636.25c-1.28,-1.07 -10.83,-23.01 -24.62,-56.55 -12.39,-30.14 -23.44,-56.58 -24.54,-58.75L322.96,517L310.13,517c-12.78,0 -19.54,-1.2 -18.86,-3.36 0.2,-0.62 7.46,-6.87 16.14,-13.89L323.18,487L465.09,487 607,487l0.12,-2.75c0.37,-8.32 -0.34,-151.79 -0.75,-152.46C606.1,331.36 555.39,331 493.69,331L381.49,331l-2.32,-5.06c-3.19,-6.96 -6.89,-9.16 -14.55,-8.67 -3.93,0.25 -6.28,0.92 -7.07,2 -0.65,0.89 -3.54,10.31 -6.41,20.93 -2.88,10.62 -5.6,20.22 -6.06,21.34 -0.61,1.49 -3.3,2.78 -10.07,4.8 -5.08,1.52 -9.4,2.6 -9.59,2.41 -0.2,-0.2 6.41,-25.02 14.68,-55.16 8.27,-30.14 14.83,-55.34 14.58,-56 -0.25,-0.66 -3.77,-2.11 -7.81,-3.22 -4.04,-1.11 -30.66,-8.47 -59.14,-16.35 -31.04,-8.59 -52.14,-13.97 -52.67,-13.42 -0.74,0.76 -15.2,52.7 -50.75,182.23 -3.78,13.79 -5.25,20.64 -4.56,21.33 1.02,1.02 109.32,31.36 116.62,32.67 3.83,0.69 3.88,0.76 6.09,8.43 1.23,4.25 2,7.96 1.72,8.25 -1.21,1.21 -7.08,-0.23 -57.53,-14.05 -79.53,-21.79 -78.56,-21.5 -81.73,-24.17 -4.27,-3.59 -5.34,-8.82 -3.36,-16.5 2.33,-9.07 33.86,-122.8 38.47,-138.77 2.14,-7.43 7.29,-25.88 11.43,-41 4.14,-15.13 8.28,-28.95 9.19,-30.73 2.07,-4.05 9.2,-7.76 13.14,-6.83 1.5,0.35 28.33,7.67 59.62,16.28l56.9,15.64 1.79,-2.21c0.98,-1.21 4.52,-7.57 7.86,-14.13 3.34,-6.56 7.07,-12.62 8.28,-13.47 1.95,-1.37 12.8,-1.55 93.93,-1.55h91.72l2.45,2.25c1.37,1.26 11.59,21.24 23.15,45.25 11.39,23.65 21.34,44.01 22.13,45.25 1.32,2.09 2.15,2.25 11.34,2.25 13.85,0 18.27,2.1 22.15,10.5 1.75,3.8 1.85,8.73 1.87,97.28 0.02,101.03 0.22,97.16 -5.28,103.05 -3.67,3.93 -7.17,5.17 -14.63,5.17 -6.2,0 -7.19,0.27 -8.45,2.25 -0.78,1.24 -10.75,26.77 -22.15,56.75 -11.4,29.98 -21.35,55.72 -22.11,57.22 -0.76,1.5 -2.25,3.18 -3.3,3.75 -1.28,0.68 -32.57,1.03 -93.38,1.03 -85.64,0 -91.59,-0.11 -93.54,-1.75zM438.8,614.8c0.72,-0.72 1.2,-4.22 1.2,-8.8 0,-4.58 -0.48,-8.08 -1.2,-8.8 -0.81,-0.81 -5.33,-1.2 -13.8,-1.2 -8.47,0 -12.99,0.39 -13.8,1.2 -1.6,1.6 -1.6,16 0,17.6 0.81,0.81 5.33,1.2 13.8,1.2 8.47,0 12.99,-0.39 13.8,-1.2zM479.79,615.15c0.94,-0.59 1.21,-3.28 1,-9.73L480.5,596.5 466.8,596.22c-13.15,-0.27 -13.75,-0.19 -14.86,1.88 -1.63,3.04 -0.81,15.74 1.09,16.94 1.81,1.14 24.98,1.24 26.76,0.11zM438.8,577.8c0.72,-0.72 1.2,-4.22 1.2,-8.8 0,-4.58 -0.48,-8.08 -1.2,-8.8 -0.81,-0.81 -5.33,-1.2 -13.8,-1.2 -8.47,0 -12.99,0.39 -13.8,1.2 -1.6,1.6 -1.6,16 0,17.6 0.81,0.81 5.33,1.2 13.8,1.2 8.47,0 12.99,-0.39 13.8,-1.2zM480.79,569.58c0.21,-6.46 -0.06,-9.14 -1,-9.73 -1.78,-1.13 -24.95,-1.04 -26.76,0.11 -1.9,1.2 -2.72,13.9 -1.09,16.94 1.11,2.07 1.7,2.15 14.86,1.88L480.5,578.5ZM438.07,541.96C439.7,541.09 440,539.83 440,533.9 440,522.91 440.12,523 425.54,523 410.21,523 410,523.14 410,533.52c0,5.97 0.33,7.57 1.75,8.4 2.3,1.34 23.83,1.38 26.32,0.04zM479.07,541.96c1.66,-0.89 1.93,-2.15 1.93,-8.8 0,-4.71 -0.47,-8.24 -1.2,-8.96 -0.8,-0.8 -5.24,-1.2 -13.38,-1.2 -14.36,0 -14.65,0.18 -15.24,9.5 -0.34,5.38 -0.1,6.59 1.71,8.4 1.89,1.89 3.25,2.11 13.18,2.11 6.09,0 11.94,-0.47 13,-1.04zM481.38,297.49c8.81,-2.29 15.49,-5.47 22.23,-10.58 3.36,-2.54 6.57,-4.91 7.13,-5.26 0.56,-0.35 2.71,0.71 4.77,2.36 3.66,2.91 6.48,3.84 6.48,2.15 0,-0.46 -1.11,-1.34 -2.46,-1.96 -1.36,-0.62 -3.58,-3.33 -4.95,-6.03 -1.74,-3.43 -5.36,-7.38 -12.04,-13.12 -9.04,-7.78 -10.81,-10.15 -8.58,-11.52 0.53,-0.33 5.36,1.64 10.73,4.38 5.37,2.74 10,4.73 10.28,4.43 0.29,-0.3 -0.58,-1.28 -1.93,-2.19 -4.88,-3.28 -6.36,-4.84 -5.65,-5.98 0.88,-1.43 7.05,-1.53 9.62,-0.15 1.04,0.56 5.56,6.52 10.05,13.25 7.82,11.73 9.92,14.22 9.92,11.79 0,-2.26 -14.46,-22.75 -20.38,-28.89 -13.6,-14.09 -15.67,-15.89 -21.77,-18.95 -9.69,-4.86 -17.73,-6.61 -30.35,-6.59 -17.55,0.02 -30.62,4.69 -41.3,14.73 -7.49,7.04 -10.17,13.03 -10.19,22.71 -0.01,6.12 0.48,8.53 2.56,12.72 4.96,9.95 18.18,19.28 32.07,22.65 8,1.94 26.43,1.98 33.74,0.08zM451.49,294.98c-16.92,-3.36 -29.95,-12.79 -34.6,-25.02 -2.43,-6.41 -2.38,-9.57 0.26,-16.64 4.12,-11.02 15.86,-19.83 31.85,-23.91 5.01,-1.28 9.36,-1.54 19,-1.17 13.79,0.54 21.93,2.86 30.32,8.63 4.63,3.19 11.68,10.51 11.68,12.13 0,1.68 -1.87,1.11 -2.94,-0.9 -1.55,-2.9 -19.04,-5.56 -20.54,-3.13 -1.33,2.15 -3.19,14.85 -2.39,16.28 0.46,0.83 2.87,1.81 5.34,2.18 4.12,0.62 4.66,1.04 6.44,5.06 1.07,2.41 1.7,5.3 1.41,6.41 -0.4,1.54 0.34,2.53 3.12,4.18 2.01,1.18 3.49,2.64 3.29,3.23 -0.63,1.88 -9.55,7.47 -15.49,9.7 -3.16,1.18 -8.21,2.56 -11.24,3.06 -6.52,1.08 -19.87,1.02 -25.51,-0.1zM474.87,283.25c6.69,-13.13 6.79,-29.24 0.26,-42 -1.47,-2.87 -2.83,-4.25 -4.18,-4.25 -3.12,0 -3.21,2.02 -0.38,8.98 3.68,9.07 3.71,21.6 0.06,31.29 -1.4,3.72 -2.29,7.43 -1.98,8.25 1.07,2.78 4.24,1.62 6.22,-2.27zM466,276.5c2.14,-4.28 2.5,-6.37 2.5,-14.5 0,-8.13 -0.36,-10.22 -2.5,-14.5 -4.69,-9.37 -8.72,-6.35 -5.14,3.86 2.71,7.71 2.71,12.86 0.01,21.08 -1.17,3.56 -1.85,7.2 -1.5,8.09 1.11,2.89 4.07,1.09 6.63,-4.03zM456.03,272.75C459.92,264.17 457.34,247 452.16,247c-2.75,0 -3.38,2.53 -1.65,6.68C451.33,255.64 452,259.38 452,262c0,2.62 -0.67,6.36 -1.49,8.32 -3.07,7.35 2.22,9.69 5.52,2.43zM447.17,267.35c1.81,-4.09 1.91,-5.14 0.84,-8.75C446.52,253.58 445.31,252 442.94,252c-2.69,0 -3.21,1.59 -1.79,5.52 1.01,2.79 1.02,4.44 0.05,8.07 -1.37,5.12 -0.98,6.42 1.93,6.42 1.42,0 2.6,-1.36 4.05,-4.65zM501.86,276.98 L499.5,274.95 503.5,275.56c6.01,0.92 7.59,1.48 6.96,2.51 -1.02,1.64 -6.16,0.99 -8.59,-1.09zM501.74,271.34C498.35,268.93 496.75,266 498.82,266c1.51,0 9.09,6.34 8.57,7.18 -0.8,1.29 -1.65,1.01 -5.65,-1.84zM489,261.22c-3.48,-1.13 -3.77,-2.08 -2.42,-7.87 1.8,-7.73 2.16,-7.97 10.08,-6.61 7.44,1.27 9.48,2.93 7.49,6.07 -0.67,1.06 -1.51,0.98 -4.38,-0.38 -6.55,-3.12 -11.87,0.71 -8.38,6.03 1.65,2.52 0.61,3.73 -2.38,2.76zM303,449.08c0,-0.51 0.27,-1.62 0.6,-2.48 0.48,-1.25 1.01,-1.34 2.68,-0.45 2.02,1.08 2.02,1.16 0.21,2.48C304.32,450.22 303,450.39 303,449.08ZM878.6,164.85c-2.13,-3.04 -0.41,-6.07 3.21,-5.66 3.02,0.35 4.2,3.87 2.14,6.36 -1.7,2.05 -3.6,1.79 -5.35,-0.71zM948.2,165.8c-2.51,-2.51 -0.64,-6.8 2.96,-6.8 0.97,0 2.23,0.87 2.8,1.93 1.34,2.5 1.32,2.64 -0.54,4.49 -1.88,1.88 -3.6,2 -5.23,0.37zM817.26,133.36c-0.42,-1.02 -0.75,-8.84 -0.74,-17.36 0.01,-12.93 0.39,-16.88 2.28,-23.84 4.61,-17 12.91,-31.18 25.58,-43.7C862.23,30.82 884.1,21.43 910,20.31 938.83,19.06 964.19,28.54 984.03,48c13.12,12.87 21.06,26 26.02,43.07 2.41,8.29 3.87,33.73 2.28,39.78l-0.88,3.35 -7.73,0.28c-7.39,0.27 -7.76,0.18 -8.32,-2.06 -1.06,-4.2 -2.16,-4.38 -16.92,-2.77 -9.86,1.08 -18.83,1.35 -30.47,0.94 -30.69,-1.09 -49.16,-6.77 -64.2,-19.73l-5.7,-4.91 -4.59,4.59c-5.69,5.69 -15.97,10.68 -28.53,13.85 -9.19,2.32 -9.52,2.5 -10.86,6 -1.34,3.49 -1.55,3.61 -6.5,3.62 -2.81,0.01 -6.12,0.28 -7.35,0.61 -1.61,0.43 -2.45,0.08 -3,-1.26z"
+        android:fillColor="#e8a001"/>
+    <path
+        android:pathData="m374.13,636.25c-1.28,-1.07 -10.83,-23.01 -24.62,-56.55 -12.39,-30.14 -23.44,-56.58 -24.54,-58.75L322.96,517L310.13,517c-12.78,0 -19.54,-1.2 -18.86,-3.36 0.2,-0.62 7.46,-6.87 16.14,-13.89L323.18,487L465.09,487 607,487l0.12,-2.75c0.37,-8.32 -0.34,-151.79 -0.75,-152.46C606.1,331.36 555.39,331 493.69,331L381.49,331l-2.32,-5.06c-3.19,-6.96 -6.89,-9.16 -14.55,-8.67 -3.93,0.25 -6.28,0.92 -7.07,2 -0.65,0.89 -3.54,10.31 -6.41,20.93 -2.88,10.62 -5.6,20.22 -6.06,21.34 -0.61,1.49 -3.3,2.78 -10.07,4.8 -5.08,1.52 -9.4,2.6 -9.59,2.41 -0.2,-0.2 6.41,-25.02 14.68,-55.16 8.27,-30.14 14.83,-55.34 14.58,-56 -0.25,-0.66 -3.77,-2.11 -7.81,-3.22 -4.04,-1.11 -30.66,-8.47 -59.14,-16.35 -31.04,-8.59 -52.14,-13.97 -52.67,-13.42 -0.74,0.76 -15.2,52.7 -50.75,182.23 -3.78,13.79 -5.25,20.64 -4.56,21.33 1.02,1.02 109.32,31.36 116.62,32.67 3.83,0.69 3.88,0.76 6.09,8.43 1.23,4.25 2,7.96 1.72,8.25 -1.21,1.21 -7.08,-0.23 -57.53,-14.05 -79.53,-21.79 -78.56,-21.5 -81.73,-24.17 -4.27,-3.59 -5.34,-8.82 -3.36,-16.5 2.33,-9.07 33.86,-122.8 38.47,-138.77 2.14,-7.43 7.29,-25.88 11.43,-41 4.14,-15.13 8.28,-28.95 9.19,-30.73 2.07,-4.05 9.2,-7.76 13.14,-6.83 1.5,0.35 28.33,7.67 59.62,16.28l56.9,15.64 1.79,-2.21c0.98,-1.21 4.52,-7.57 7.86,-14.13 3.34,-6.56 7.07,-12.62 8.28,-13.47 1.95,-1.37 12.8,-1.55 93.93,-1.55h91.72l2.45,2.25c1.37,1.26 11.59,21.24 23.15,45.25 11.39,23.65 21.34,44.01 22.13,45.25 1.32,2.09 2.15,2.25 11.34,2.25 13.85,0 18.27,2.1 22.15,10.5 1.75,3.8 1.85,8.73 1.87,97.28 0.02,101.03 0.22,97.16 -5.28,103.05 -3.67,3.93 -7.17,5.17 -14.63,5.17 -6.2,0 -7.19,0.27 -8.45,2.25 -0.78,1.24 -10.75,26.77 -22.15,56.75 -11.4,29.98 -21.35,55.72 -22.11,57.22 -0.76,1.5 -2.25,3.18 -3.3,3.75 -1.28,0.68 -32.57,1.03 -93.38,1.03 -85.64,0 -91.59,-0.11 -93.54,-1.75zM438.8,614.8c0.72,-0.72 1.2,-4.22 1.2,-8.8 0,-4.58 -0.48,-8.08 -1.2,-8.8 -0.81,-0.81 -5.33,-1.2 -13.8,-1.2 -8.47,0 -12.99,0.39 -13.8,1.2 -1.6,1.6 -1.6,16 0,17.6 0.81,0.81 5.33,1.2 13.8,1.2 8.47,0 12.99,-0.39 13.8,-1.2zM479.79,615.15c0.94,-0.59 1.21,-3.28 1,-9.73L480.5,596.5 466.8,596.22c-13.15,-0.27 -13.75,-0.19 -14.86,1.88 -1.63,3.04 -0.81,15.74 1.09,16.94 1.81,1.14 24.98,1.24 26.76,0.11zM438.8,577.8c0.72,-0.72 1.2,-4.22 1.2,-8.8 0,-4.58 -0.48,-8.08 -1.2,-8.8 -0.81,-0.81 -5.33,-1.2 -13.8,-1.2 -8.47,0 -12.99,0.39 -13.8,1.2 -1.6,1.6 -1.6,16 0,17.6 0.81,0.81 5.33,1.2 13.8,1.2 8.47,0 12.99,-0.39 13.8,-1.2zM480.79,569.58c0.21,-6.46 -0.06,-9.14 -1,-9.73 -1.78,-1.13 -24.95,-1.04 -26.76,0.11 -1.9,1.2 -2.72,13.9 -1.09,16.94 1.11,2.07 1.7,2.15 14.86,1.88L480.5,578.5ZM521.8,577.8c0.72,-0.72 1.2,-4.22 1.2,-8.8 0,-4.58 -0.48,-8.08 -1.2,-8.8 -1.51,-1.51 -24.09,-1.65 -26.87,-0.16 -1.66,0.89 -1.93,2.15 -1.93,8.8 0,4.71 0.47,8.24 1.2,8.96 0.81,0.81 5.33,1.2 13.8,1.2 8.47,0 12.99,-0.39 13.8,-1.2zM438.07,541.96C439.7,541.09 440,539.83 440,533.9 440,522.91 440.12,523 425.54,523 410.21,523 410,523.14 410,533.52c0,5.97 0.33,7.57 1.75,8.4 2.3,1.34 23.83,1.38 26.32,0.04zM479.07,541.96c1.66,-0.89 1.93,-2.15 1.93,-8.8 0,-4.71 -0.47,-8.24 -1.2,-8.96 -0.8,-0.8 -5.24,-1.2 -13.38,-1.2 -14.36,0 -14.65,0.18 -15.24,9.5 -0.34,5.38 -0.1,6.59 1.71,8.4 1.89,1.89 3.25,2.11 13.18,2.11 6.09,0 11.94,-0.47 13,-1.04zM481.38,297.49c8.81,-2.29 15.49,-5.47 22.23,-10.58 3.36,-2.54 6.57,-4.91 7.13,-5.26 0.56,-0.35 2.71,0.71 4.77,2.36 3.66,2.91 6.48,3.84 6.48,2.15 0,-0.46 -1.11,-1.34 -2.46,-1.96 -1.36,-0.62 -3.58,-3.33 -4.95,-6.03 -1.74,-3.43 -5.36,-7.38 -12.04,-13.12 -9.04,-7.78 -10.81,-10.15 -8.58,-11.52 0.53,-0.33 5.36,1.64 10.73,4.38 5.37,2.74 10,4.73 10.28,4.43 0.29,-0.3 -0.58,-1.28 -1.93,-2.19 -4.88,-3.28 -6.36,-4.84 -5.65,-5.98 0.88,-1.43 7.05,-1.53 9.62,-0.15 1.04,0.56 5.56,6.52 10.05,13.25 7.82,11.73 9.92,14.22 9.92,11.79 0,-2.26 -14.46,-22.75 -20.38,-28.89 -13.6,-14.09 -15.67,-15.89 -21.77,-18.95 -9.69,-4.86 -17.73,-6.61 -30.35,-6.59 -17.55,0.02 -30.62,4.69 -41.3,14.73 -7.49,7.04 -10.17,13.03 -10.19,22.71 -0.01,6.12 0.48,8.53 2.56,12.72 4.96,9.95 18.18,19.28 32.07,22.65 8,1.94 26.43,1.98 33.74,0.08zM451.49,294.98c-16.92,-3.36 -29.95,-12.79 -34.6,-25.02 -2.43,-6.41 -2.38,-9.57 0.26,-16.64 4.12,-11.02 15.86,-19.83 31.85,-23.91 5.01,-1.28 9.36,-1.54 19,-1.17 13.79,0.54 21.93,2.86 30.32,8.63 4.63,3.19 11.68,10.51 11.68,12.13 0,1.68 -1.87,1.11 -2.94,-0.9 -1.55,-2.9 -19.04,-5.56 -20.54,-3.13 -1.33,2.15 -3.19,14.85 -2.39,16.28 0.46,0.83 2.87,1.81 5.34,2.18 4.12,0.62 4.66,1.04 6.44,5.06 1.07,2.41 1.7,5.3 1.41,6.41 -0.4,1.54 0.34,2.53 3.12,4.18 2.01,1.18 3.49,2.64 3.29,3.23 -0.63,1.88 -9.55,7.47 -15.49,9.7 -3.16,1.18 -8.21,2.56 -11.24,3.06 -6.52,1.08 -19.87,1.02 -25.51,-0.1zM474.87,283.25c6.69,-13.13 6.79,-29.24 0.26,-42 -1.47,-2.87 -2.83,-4.25 -4.18,-4.25 -3.12,0 -3.21,2.02 -0.38,8.98 3.68,9.07 3.71,21.6 0.06,31.29 -1.4,3.72 -2.29,7.43 -1.98,8.25 1.07,2.78 4.24,1.62 6.22,-2.27zM466,276.5c2.14,-4.28 2.5,-6.37 2.5,-14.5 0,-8.13 -0.36,-10.22 -2.5,-14.5 -4.69,-9.37 -8.72,-6.35 -5.14,3.86 2.71,7.71 2.71,12.86 0.01,21.08 -1.17,3.56 -1.85,7.2 -1.5,8.09 1.11,2.89 4.07,1.09 6.63,-4.03zM456.03,272.75C459.92,264.17 457.34,247 452.16,247c-2.75,0 -3.38,2.53 -1.65,6.68C451.33,255.64 452,259.38 452,262c0,2.62 -0.67,6.36 -1.49,8.32 -3.07,7.35 2.22,9.69 5.52,2.43zM447.17,267.35c1.81,-4.09 1.91,-5.14 0.84,-8.75C446.52,253.58 445.31,252 442.94,252c-2.69,0 -3.21,1.59 -1.79,5.52 1.01,2.79 1.02,4.44 0.05,8.07 -1.37,5.12 -0.98,6.42 1.93,6.42 1.42,0 2.6,-1.36 4.05,-4.65zM501.86,276.98 L499.5,274.95 503.5,275.56c6.01,0.92 7.59,1.48 6.96,2.51 -1.02,1.64 -6.16,0.99 -8.59,-1.09zM501.74,271.34C498.35,268.93 496.75,266 498.82,266c1.51,0 9.09,6.34 8.57,7.18 -0.8,1.29 -1.65,1.01 -5.65,-1.84zM489,261.22c-3.48,-1.13 -3.77,-2.08 -2.42,-7.87 1.8,-7.73 2.16,-7.97 10.08,-6.61 7.44,1.27 9.48,2.93 7.49,6.07 -0.67,1.06 -1.51,0.98 -4.38,-0.38 -6.55,-3.12 -11.87,0.71 -8.38,6.03 1.65,2.52 0.61,3.73 -2.38,2.76zM303,449.08c0,-0.51 0.27,-1.62 0.6,-2.48 0.48,-1.25 1.01,-1.34 2.68,-0.45 2.02,1.08 2.02,1.16 0.21,2.48C304.32,450.22 303,450.39 303,449.08ZM878.6,164.85c-2.13,-3.04 -0.41,-6.07 3.21,-5.66 3.02,0.35 4.2,3.87 2.14,6.36 -1.7,2.05 -3.6,1.79 -5.35,-0.71zM948.2,165.8c-2.51,-2.51 -0.64,-6.8 2.96,-6.8 0.97,0 2.23,0.87 2.8,1.93 1.34,2.5 1.32,2.64 -0.54,4.49 -1.88,1.88 -3.6,2 -5.23,0.37z"
+        android:fillColor="#e45224"/>
+    <path
+        android:pathData="m374.13,636.25c-1.28,-1.07 -10.83,-23.01 -24.62,-56.55 -12.39,-30.14 -23.44,-56.58 -24.54,-58.75L322.96,517L310.13,517c-12.78,0 -19.54,-1.2 -18.86,-3.36 0.2,-0.62 7.46,-6.87 16.14,-13.89L323.18,487L465.09,487 607,487l0.12,-2.75c0.37,-8.32 -0.34,-151.79 -0.75,-152.46C606.1,331.36 555.39,331 493.69,331L381.49,331l-2.32,-5.06c-3.19,-6.96 -6.89,-9.16 -14.55,-8.67 -3.93,0.25 -6.28,0.92 -7.07,2 -0.65,0.89 -3.54,10.31 -6.41,20.93 -2.88,10.62 -5.6,20.22 -6.06,21.34 -0.61,1.49 -3.3,2.78 -10.07,4.8 -5.08,1.52 -9.4,2.6 -9.59,2.41 -0.2,-0.2 6.41,-25.02 14.68,-55.16 8.27,-30.14 14.83,-55.34 14.58,-56 -0.25,-0.66 -3.77,-2.11 -7.81,-3.22 -4.04,-1.11 -30.66,-8.47 -59.14,-16.35 -31.04,-8.59 -52.14,-13.97 -52.67,-13.42 -0.74,0.76 -15.2,52.7 -50.75,182.23 -3.78,13.79 -5.25,20.64 -4.56,21.33 1.02,1.02 109.32,31.36 116.62,32.67 3.83,0.69 3.88,0.76 6.09,8.43 1.23,4.25 2,7.96 1.72,8.25 -1.21,1.21 -7.08,-0.23 -57.53,-14.05 -79.53,-21.79 -78.56,-21.5 -81.73,-24.17 -4.27,-3.59 -5.34,-8.82 -3.36,-16.5 2.33,-9.07 33.86,-122.8 38.47,-138.77 2.14,-7.43 7.29,-25.88 11.43,-41 4.14,-15.13 8.28,-28.95 9.19,-30.73 2.07,-4.05 9.2,-7.76 13.14,-6.83 1.5,0.35 28.33,7.67 59.62,16.28l56.9,15.64 1.79,-2.21c0.98,-1.21 4.52,-7.57 7.86,-14.13 3.34,-6.56 7.07,-12.62 8.28,-13.47 1.95,-1.37 12.8,-1.55 93.93,-1.55h91.72l2.45,2.25c1.37,1.26 11.59,21.24 23.15,45.25 11.39,23.65 21.34,44.01 22.13,45.25 1.32,2.09 2.15,2.25 11.34,2.25 13.85,0 18.27,2.1 22.15,10.5 1.75,3.8 1.85,8.73 1.87,97.28 0.02,101.03 0.22,97.16 -5.28,103.05 -3.67,3.93 -7.17,5.17 -14.63,5.17 -6.2,0 -7.19,0.27 -8.45,2.25 -0.78,1.24 -10.75,26.77 -22.15,56.75 -11.4,29.98 -21.35,55.72 -22.11,57.22 -0.76,1.5 -2.25,3.18 -3.3,3.75 -1.28,0.68 -32.57,1.03 -93.38,1.03 -85.64,0 -91.59,-0.11 -93.54,-1.75zM438.8,614.8c0.72,-0.72 1.2,-4.22 1.2,-8.8 0,-4.58 -0.48,-8.08 -1.2,-8.8 -0.81,-0.81 -5.33,-1.2 -13.8,-1.2 -8.47,0 -12.99,0.39 -13.8,1.2 -1.6,1.6 -1.6,16 0,17.6 0.81,0.81 5.33,1.2 13.8,1.2 8.47,0 12.99,-0.39 13.8,-1.2zM479.79,615.15c0.94,-0.59 1.21,-3.28 1,-9.73L480.5,596.5 466.8,596.22c-13.15,-0.27 -13.75,-0.19 -14.86,1.88 -1.63,3.04 -0.81,15.74 1.09,16.94 1.81,1.14 24.98,1.24 26.76,0.11zM438.8,577.8c0.72,-0.72 1.2,-4.22 1.2,-8.8 0,-4.58 -0.48,-8.08 -1.2,-8.8 -0.81,-0.81 -5.33,-1.2 -13.8,-1.2 -8.47,0 -12.99,0.39 -13.8,1.2 -1.6,1.6 -1.6,16 0,17.6 0.81,0.81 5.33,1.2 13.8,1.2 8.47,0 12.99,-0.39 13.8,-1.2zM480.79,569.58c0.21,-6.46 -0.06,-9.14 -1,-9.73 -1.78,-1.13 -24.95,-1.04 -26.76,0.11 -1.9,1.2 -2.72,13.9 -1.09,16.94 1.11,2.07 1.7,2.15 14.86,1.88L480.5,578.5ZM521.8,577.8c0.72,-0.72 1.2,-4.22 1.2,-8.8 0,-4.58 -0.48,-8.08 -1.2,-8.8 -1.51,-1.51 -24.09,-1.65 -26.87,-0.16 -1.66,0.89 -1.93,2.15 -1.93,8.8 0,4.71 0.47,8.24 1.2,8.96 0.81,0.81 5.33,1.2 13.8,1.2 8.47,0 12.99,-0.39 13.8,-1.2zM438.07,541.96C439.7,541.09 440,539.83 440,533.9 440,522.91 440.12,523 425.54,523 410.21,523 410,523.14 410,533.52c0,5.97 0.33,7.57 1.75,8.4 2.3,1.34 23.83,1.38 26.32,0.04zM479.07,541.96c1.66,-0.89 1.93,-2.15 1.93,-8.8 0,-4.71 -0.47,-8.24 -1.2,-8.96 -0.8,-0.8 -5.24,-1.2 -13.38,-1.2 -14.36,0 -14.65,0.18 -15.24,9.5 -0.34,5.38 -0.1,6.59 1.71,8.4 1.89,1.89 3.25,2.11 13.18,2.11 6.09,0 11.94,-0.47 13,-1.04zM521.07,541.96c1.66,-0.89 1.93,-2.15 1.93,-8.8 0,-4.71 -0.47,-8.24 -1.2,-8.96 -0.81,-0.81 -5.33,-1.2 -13.8,-1.2 -8.47,0 -12.99,0.39 -13.8,1.2 -0.73,0.73 -1.2,4.26 -1.2,8.95 0,6.33 0.32,7.94 1.75,8.77 2.3,1.34 23.83,1.38 26.32,0.04zM481.38,297.49c8.81,-2.29 15.49,-5.47 22.23,-10.58 3.36,-2.54 6.57,-4.91 7.13,-5.26 0.56,-0.35 2.71,0.71 4.77,2.36 3.66,2.91 6.48,3.84 6.48,2.15 0,-0.46 -1.11,-1.34 -2.46,-1.96 -1.36,-0.62 -3.58,-3.33 -4.95,-6.03 -1.74,-3.43 -5.36,-7.38 -12.04,-13.12 -9.04,-7.78 -10.81,-10.15 -8.58,-11.52 0.53,-0.33 5.36,1.64 10.73,4.38 5.37,2.74 10,4.73 10.28,4.43 0.29,-0.3 -0.58,-1.28 -1.93,-2.19 -4.88,-3.28 -6.36,-4.84 -5.65,-5.98 0.88,-1.43 7.05,-1.53 9.62,-0.15 1.04,0.56 5.56,6.52 10.05,13.25 7.82,11.73 9.92,14.22 9.92,11.79 0,-2.26 -14.46,-22.75 -20.38,-28.89 -13.6,-14.09 -15.67,-15.89 -21.77,-18.95 -9.69,-4.86 -17.73,-6.61 -30.35,-6.59 -17.55,0.02 -30.62,4.69 -41.3,14.73 -7.49,7.04 -10.17,13.03 -10.19,22.71 -0.01,6.12 0.48,8.53 2.56,12.72 4.96,9.95 18.18,19.28 32.07,22.65 8,1.94 26.43,1.98 33.74,0.08zM451.49,294.98c-16.92,-3.36 -29.95,-12.79 -34.6,-25.02 -2.43,-6.41 -2.38,-9.57 0.26,-16.64 4.12,-11.02 15.86,-19.83 31.85,-23.91 5.01,-1.28 9.36,-1.54 19,-1.17 13.79,0.54 21.93,2.86 30.32,8.63 4.63,3.19 11.68,10.51 11.68,12.13 0,1.68 -1.87,1.11 -2.94,-0.9 -1.55,-2.9 -19.04,-5.56 -20.54,-3.13 -1.33,2.15 -3.19,14.85 -2.39,16.28 0.46,0.83 2.87,1.81 5.34,2.18 4.12,0.62 4.66,1.04 6.44,5.06 1.07,2.41 1.7,5.3 1.41,6.41 -0.4,1.54 0.34,2.53 3.12,4.18 2.01,1.18 3.49,2.64 3.29,3.23 -0.63,1.88 -9.55,7.47 -15.49,9.7 -3.16,1.18 -8.21,2.56 -11.24,3.06 -6.52,1.08 -19.87,1.02 -25.51,-0.1zM474.87,283.25c6.69,-13.13 6.79,-29.24 0.26,-42 -1.47,-2.87 -2.83,-4.25 -4.18,-4.25 -3.12,0 -3.21,2.02 -0.38,8.98 3.68,9.07 3.71,21.6 0.06,31.29 -1.4,3.72 -2.29,7.43 -1.98,8.25 1.07,2.78 4.24,1.62 6.22,-2.27zM466,276.5c2.14,-4.28 2.5,-6.37 2.5,-14.5 0,-8.13 -0.36,-10.22 -2.5,-14.5 -4.69,-9.37 -8.72,-6.35 -5.14,3.86 2.71,7.71 2.71,12.86 0.01,21.08 -1.17,3.56 -1.85,7.2 -1.5,8.09 1.11,2.89 4.07,1.09 6.63,-4.03zM456.03,272.75C459.92,264.17 457.34,247 452.16,247c-2.75,0 -3.38,2.53 -1.65,6.68C451.33,255.64 452,259.38 452,262c0,2.62 -0.67,6.36 -1.49,8.32 -3.07,7.35 2.22,9.69 5.52,2.43zM447.17,267.35c1.81,-4.09 1.91,-5.14 0.84,-8.75C446.52,253.58 445.31,252 442.94,252c-2.69,0 -3.21,1.59 -1.79,5.52 1.01,2.79 1.02,4.44 0.05,8.07 -1.37,5.12 -0.98,6.42 1.93,6.42 1.42,0 2.6,-1.36 4.05,-4.65zM501.86,276.98 L499.5,274.95 503.5,275.56c6.01,0.92 7.59,1.48 6.96,2.51 -1.02,1.64 -6.16,0.99 -8.59,-1.09zM501.74,271.34C498.35,268.93 496.75,266 498.82,266c1.51,0 9.09,6.34 8.57,7.18 -0.8,1.29 -1.65,1.01 -5.65,-1.84zM489,261.22c-3.48,-1.13 -3.77,-2.08 -2.42,-7.87 1.8,-7.73 2.16,-7.97 10.08,-6.61 7.44,1.27 9.48,2.93 7.49,6.07 -0.67,1.06 -1.51,0.98 -4.38,-0.38 -6.55,-3.12 -11.87,0.71 -8.38,6.03 1.65,2.52 0.61,3.73 -2.38,2.76zM303,449.08c0,-0.51 0.27,-1.62 0.6,-2.48 0.48,-1.25 1.01,-1.34 2.68,-0.45 2.02,1.08 2.02,1.16 0.21,2.48C304.32,450.22 303,450.39 303,449.08ZM878.6,164.85c-2.13,-3.04 -0.41,-6.07 3.21,-5.66 3.02,0.35 4.2,3.87 2.14,6.36 -1.7,2.05 -3.6,1.79 -5.35,-0.71zM948.2,165.8c-2.51,-2.51 -0.64,-6.8 2.96,-6.8 0.97,0 2.23,0.87 2.8,1.93 1.34,2.5 1.32,2.64 -0.54,4.49 -1.88,1.88 -3.6,2 -5.23,0.37z"
+        android:fillColor="#4a5c64"/>
+    <path
+        android:pathData="m376.32,636c-1.2,-0.49 -2.66,-1.77 -3.23,-2.84 -0.57,-1.07 -10.47,-24.84 -21.98,-52.81 -11.52,-27.97 -22.31,-53.86 -24,-57.53l-3.06,-6.68 -14.48,-0.32c-8.88,-0.2 -14.91,-0.75 -15.59,-1.44 -0.82,-0.82 2.87,-4.34 13.89,-13.25L322.87,489h141.86c109,0 142.14,-0.28 143.06,-1.2 1.51,-1.51 1.73,-154.42 0.22,-156.8 -0.83,-1.32 -14.71,-1.53 -113.23,-1.77L382.5,328.96 380,324.23c-3.47,-6.56 -9.35,-9.6 -16.84,-8.7 -4.87,0.58 -5.29,0.47 -4.79,-1.2C364.12,295.24 374,256.79 374,253.47c0,-6.55 -4.16,-10.85 -13.11,-13.57C356.7,238.63 354,237.26 354,236.42c0,-2.47 13.12,-26.39 15.31,-27.93 1.85,-1.3 13.93,-1.48 92.66,-1.42 49.79,0.04 91.39,0.41 92.45,0.82 1.29,0.51 9.2,15.78 24.16,46.68 16.36,33.78 22.86,46.25 24.58,47.16 1.39,0.73 6.33,1.24 12.19,1.25 11.96,0.02 14.66,1.29 18.21,8.55l2.47,5.05 -0.27,93.46c-0.25,89.05 -0.35,93.64 -2.14,97.23 -3.05,6.14 -6.67,8.04 -16.31,8.54 -4.61,0.24 -8.67,0.94 -9.07,1.56 -1.44,2.26 -5.7,13.13 -24.91,63.62 -10.78,28.33 -20.45,52.4 -21.49,53.5 -1.87,1.97 -3.33,2 -92.62,2.19 -51.09,0.11 -91.68,-0.19 -92.91,-0.69zM440.59,614.51c1.25,-1.91 1.54,-4.26 1.25,-10.1C441.32,594.17 441.05,594 425,594c-16.41,0 -16.5,0.06 -16.5,11.27 0,11.93 -0.28,11.73 16.6,11.73 13.66,0 13.88,-0.03 15.49,-2.49zM481.8,615.8c0.75,-0.75 1.2,-4.48 1.2,-9.94C483,594.22 482.7,594 466.5,594c-16.2,0 -16.5,0.22 -16.5,11.86 0,5.47 0.45,9.19 1.2,9.94 0.82,0.82 5.67,1.2 15.3,1.2 9.63,0 14.48,-0.38 15.3,-1.2zM439.56,579.58c1.68,-1.23 1.94,-2.67 1.94,-10.54 0,-7.02 -0.35,-9.34 -1.5,-10.07 -0.82,-0.52 -7.63,-0.96 -15.13,-0.96C408.25,558 408.5,557.82 408.5,569.73 408.5,580.94 408.59,581 425,581c9.32,0 13.13,-0.37 14.56,-1.42zM480.78,579.44c2.01,-1.41 2.22,-2.4 2.22,-10.3 0,-5.47 -0.45,-9.19 -1.2,-9.94 -0.82,-0.82 -5.67,-1.2 -15.3,-1.2 -9.63,0 -14.48,0.38 -15.3,1.2 -0.75,0.75 -1.2,4.48 -1.2,9.94 0,11.64 0.3,11.86 16.5,11.86 9.29,0 12.56,-0.36 14.28,-1.56zM522.56,579.58c1.68,-1.23 1.94,-2.67 1.94,-10.54 0,-7.02 -0.35,-9.34 -1.5,-10.07 -2.27,-1.44 -28.33,-1.24 -29.8,0.22 -0.76,0.76 -1.2,4.61 -1.2,10.53 0,8.74 0.14,9.39 2.25,10.24 3.86,1.55 26.07,1.25 28.31,-0.39zM440.61,541.47c1.29,-1.97 1.55,-4.07 1.16,-9.49 -0.27,-3.83 -1.06,-7.64 -1.75,-8.47C439,522.3 436.07,522 425,522c-16.63,0 -16.5,-0.09 -16.5,11 0,11.1 -0.14,11 16.6,11 13.71,0 13.87,-0.03 15.51,-2.53zM481.43,542.43C482.58,541.28 483,538.84 483,533.36 483,521.67 483.47,522 466.5,522 449.53,522 450,521.67 450,533.36 450,543.96 450.06,544 466.5,544c10.81,0 13.66,-0.3 14.93,-1.57zM521.78,542.44C523.71,541.09 524,539.99 524,533.88 524,522.77 524.34,523 507.94,523L493.95,523l-0.98,2.57C492.44,526.98 492,531 492,534.51c0,8.88 1.02,9.49 16,9.49 8.84,0 12.08,-0.37 13.78,-1.56zM482.5,298.52c8.74,-2.33 17.32,-6.6 22.81,-11.36 5.24,-4.54 6.76,-4.99 8.74,-2.6 1.9,2.3 6.91,4.66 8.54,4.04 2.37,-0.91 1.57,-3.47 -1.59,-5.1 -1.78,-0.92 -3.99,-3.51 -5.45,-6.39 -1.72,-3.39 -5.37,-7.34 -12.18,-13.17 -5.35,-4.58 -9.22,-8.49 -8.6,-8.7 0.62,-0.21 5.49,1.91 10.81,4.7 7.27,3.81 10.01,4.81 10.99,3.99 1.97,-1.63 0.86,-3.25 -4.1,-5.95C510.01,256.64 508,255.19 508,254.77c0,-1.35 6.47,-0.83 8.64,0.69 1.14,0.8 5.79,7.13 10.33,14.05 5.73,8.74 8.75,12.5 9.88,12.28 0.9,-0.17 1.76,-0.98 1.92,-1.8 0.46,-2.39 -15.84,-26.21 -19.68,-28.75 -1.88,-1.25 -4.91,-4.48 -6.74,-7.19 -4.53,-6.73 -14.56,-13.65 -25.18,-17.39 -7.95,-2.8 -9.74,-3.05 -21.67,-3.06 -19.51,-0.01 -31.43,4 -42.81,14.41 -7.94,7.26 -10.95,13.81 -10.95,23.84 0,8.99 1.94,14.27 7.63,20.81 13.13,15.07 40.42,21.93 63.14,15.88zM453,294.06c-11.57,-2.17 -23.18,-8.08 -29.1,-14.83 -15,-17.09 -4.77,-39.35 22,-47.88 6.09,-1.94 24.2,-2.84 31.1,-1.54 8.35,1.57 16.12,4.8 22.43,9.32 3.13,2.24 5.49,4.29 5.23,4.54 -0.26,0.26 -4.17,-0.1 -8.7,-0.8 -8.02,-1.23 -8.28,-1.2 -10.01,0.93 -2.34,2.89 -4.69,15.81 -3.28,18.05 1.02,1.62 3.18,2.54 8.58,3.63 1.85,0.37 2.75,1.18 2.75,2.48 0,1.06 0.45,2.2 1,2.54 0.55,0.34 1,2.19 1,4.11 0,2.83 0.57,3.81 2.99,5.19 1.65,0.94 2.85,2.15 2.68,2.7 -0.57,1.83 -11.09,7.54 -17.67,9.59 -7.29,2.27 -23.79,3.32 -31,1.97zM474.4,286.11c0.94,-1.04 2.8,-4.98 4.13,-8.75 4.08,-11.57 3.06,-26.36 -2.61,-37.48 -2.14,-4.19 -4.24,-5.31 -7.11,-3.78 -2.34,1.25 -2.16,3.23 1.06,11.91 2.84,7.64 2.85,20.02 0.02,27.77 -3.16,8.68 -3.24,9.12 -1.91,10.73 1.69,2.04 4.34,1.88 6.4,-0.4zM466.23,279.35c1.01,-1.73 2.51,-6.39 3.33,-10.34 1.68,-8.07 0.95,-14.79 -2.45,-22.47 -2.51,-5.67 -5.13,-7.16 -8.21,-4.66l-2.28,1.84 2.16,5.02c3.61,8.38 3.84,14.64 0.87,23.19 -1.93,5.55 -2.31,7.85 -1.54,9.28 1.57,2.94 5.9,1.95 8.12,-1.86zM457.17,273.25C462.42,261.34 457.35,242.06 450,246c-2.39,1.28 -2.52,3.51 -0.5,8.35 1.96,4.7 1.91,10.05 -0.17,15.84 -1.93,5.39 -0.9,7.81 3.33,7.81 1.92,0 2.84,-0.97 4.51,-4.75zM448.09,268.6c1.02,-2.26 1.86,-5.23 1.86,-6.6 0,-3.88 -3.53,-10.73 -5.91,-11.49 -3.26,-1.03 -5.35,1.24 -4.54,4.93 0.91,4.1 0.89,9.42 -0.04,12.96 -0.58,2.2 -0.35,3.21 0.93,4.14 2.73,2 5.68,0.49 7.69,-3.95zM487.48,258.75c-0.64,-1.78 1.96,-11.26 3.08,-11.22 5.6,0.16 12.43,1.83 12.43,3.05 0,1.77 -0.81,1.75 -4,-0.07 -3.5,-2 -5.66,-1.84 -8.11,0.61 -1.62,1.62 -1.98,2.9 -1.56,5.5 0.52,3.22 -0.86,4.83 -1.84,2.14zM879.17,162.83C879.39,161.28 880.17,160.5 881.5,160.5c2.98,0 2.68,3.9 -0.33,4.33 -1.94,0.27 -2.27,-0.06 -2,-2zM948.32,163.4c-0.63,-1.65 1.4,-3.61 3.18,-3.05 0.55,0.17 1.14,1.29 1.32,2.48 0.24,1.64 -0.19,2.17 -1.78,2.17 -1.16,0 -2.38,-0.72 -2.72,-1.6z"
+        android:fillColor="#199657"/>
+    <path
+        android:pathData="m376.32,636c-1.2,-0.49 -2.66,-1.77 -3.23,-2.84 -0.57,-1.07 -10.47,-24.84 -21.98,-52.81 -11.52,-27.97 -22.31,-53.86 -24,-57.53l-3.06,-6.68 -14.48,-0.32c-8.88,-0.2 -14.91,-0.75 -15.59,-1.44 -0.82,-0.82 2.87,-4.34 13.89,-13.25L322.87,489h141.86c109,0 142.14,-0.28 143.06,-1.2 1.51,-1.51 1.73,-154.42 0.22,-156.8 -0.83,-1.32 -14.71,-1.53 -113.23,-1.77L382.5,328.96 380,324.23c-3.47,-6.56 -9.35,-9.6 -16.84,-8.7 -4.87,0.58 -5.29,0.47 -4.79,-1.2C364.12,295.24 374,256.79 374,253.47c0,-6.55 -4.16,-10.85 -13.11,-13.57C356.7,238.63 354,237.26 354,236.42c0,-2.47 13.12,-26.39 15.31,-27.93 1.85,-1.3 13.93,-1.48 92.66,-1.42 49.79,0.04 91.39,0.41 92.45,0.82 1.29,0.51 9.2,15.78 24.16,46.68 16.36,33.78 22.86,46.25 24.58,47.16 1.39,0.73 6.33,1.24 12.19,1.25 11.96,0.02 14.66,1.29 18.21,8.55l2.47,5.05 -0.27,93.46c-0.25,89.05 -0.35,93.64 -2.14,97.23 -3.05,6.14 -6.67,8.04 -16.31,8.54 -4.61,0.24 -8.67,0.94 -9.07,1.56 -1.44,2.26 -5.7,13.13 -24.91,63.62 -10.78,28.33 -20.45,52.4 -21.49,53.5 -1.87,1.97 -3.33,2 -92.62,2.19 -51.09,0.11 -91.68,-0.19 -92.91,-0.69zM440.59,614.51c1.25,-1.91 1.54,-4.26 1.25,-10.1C441.32,594.17 441.05,594 425,594c-16.41,0 -16.5,0.06 -16.5,11.27 0,11.93 -0.28,11.73 16.6,11.73 13.66,0 13.88,-0.03 15.49,-2.49zM481.8,615.8c0.75,-0.75 1.2,-4.48 1.2,-9.94C483,594.22 482.7,594 466.5,594c-16.2,0 -16.5,0.22 -16.5,11.86 0,5.47 0.45,9.19 1.2,9.94 0.82,0.82 5.67,1.2 15.3,1.2 9.63,0 14.48,-0.38 15.3,-1.2zM521.92,614.6c0.74,-0.89 1.06,-4.46 0.87,-9.75L522.5,596.5 509.14,596.22c-9,-0.19 -13.81,0.1 -14.75,0.87 -1.79,1.48 -1.94,15.95 -0.19,17.71 1.83,1.83 26.18,1.65 27.72,-0.2zM439.56,579.58c1.68,-1.23 1.94,-2.67 1.94,-10.54 0,-7.02 -0.35,-9.34 -1.5,-10.07 -0.82,-0.52 -7.63,-0.96 -15.13,-0.96C408.25,558 408.5,557.82 408.5,569.73 408.5,580.94 408.59,581 425,581c9.32,0 13.13,-0.37 14.56,-1.42zM480.78,579.44c2.01,-1.41 2.22,-2.4 2.22,-10.3 0,-5.47 -0.45,-9.19 -1.2,-9.94 -0.82,-0.82 -5.67,-1.2 -15.3,-1.2 -9.63,0 -14.48,0.38 -15.3,1.2 -0.75,0.75 -1.2,4.48 -1.2,9.94 0,11.64 0.3,11.86 16.5,11.86 9.29,0 12.56,-0.36 14.28,-1.56zM522.56,579.58c1.68,-1.23 1.94,-2.67 1.94,-10.54 0,-7.02 -0.35,-9.34 -1.5,-10.07 -2.27,-1.44 -28.33,-1.24 -29.8,0.22 -0.76,0.76 -1.2,4.61 -1.2,10.53 0,8.74 0.14,9.39 2.25,10.24 3.86,1.55 26.07,1.25 28.31,-0.39zM440.61,541.47c1.29,-1.97 1.55,-4.07 1.16,-9.49 -0.27,-3.83 -1.06,-7.64 -1.75,-8.47C439,522.3 436.07,522 425,522c-16.63,0 -16.5,-0.09 -16.5,11 0,11.1 -0.14,11 16.6,11 13.71,0 13.87,-0.03 15.51,-2.53zM481.43,542.43C482.58,541.28 483,538.84 483,533.36 483,521.67 483.47,522 466.5,522 449.53,522 450,521.67 450,533.36 450,543.96 450.06,544 466.5,544c10.81,0 13.66,-0.3 14.93,-1.57zM521.78,542.44C523.71,541.09 524,539.99 524,533.88 524,522.77 524.34,523 507.94,523L493.95,523l-0.98,2.57C492.44,526.98 492,531 492,534.51c0,8.88 1.02,9.49 16,9.49 8.84,0 12.08,-0.37 13.78,-1.56zM482.5,298.52c8.74,-2.33 17.32,-6.6 22.81,-11.36 5.24,-4.54 6.76,-4.99 8.74,-2.6 1.9,2.3 6.91,4.66 8.54,4.04 2.37,-0.91 1.57,-3.47 -1.59,-5.1 -1.78,-0.92 -3.99,-3.51 -5.45,-6.39 -1.72,-3.39 -5.37,-7.34 -12.18,-13.17 -5.35,-4.58 -9.22,-8.49 -8.6,-8.7 0.62,-0.21 5.49,1.91 10.81,4.7 7.27,3.81 10.01,4.81 10.99,3.99 1.97,-1.63 0.86,-3.25 -4.1,-5.95C510.01,256.64 508,255.19 508,254.77c0,-1.35 6.47,-0.83 8.64,0.69 1.14,0.8 5.79,7.13 10.33,14.05 5.73,8.74 8.75,12.5 9.88,12.28 0.9,-0.17 1.76,-0.98 1.92,-1.8 0.46,-2.39 -15.84,-26.21 -19.68,-28.75 -1.88,-1.25 -4.91,-4.48 -6.74,-7.19 -4.53,-6.73 -14.56,-13.65 -25.18,-17.39 -7.95,-2.8 -9.74,-3.05 -21.67,-3.06 -19.51,-0.01 -31.43,4 -42.81,14.41 -7.94,7.26 -10.95,13.81 -10.95,23.84 0,8.99 1.94,14.27 7.63,20.81 13.13,15.07 40.42,21.93 63.14,15.88zM453,294.06c-11.57,-2.17 -23.18,-8.08 -29.1,-14.83 -15,-17.09 -4.77,-39.35 22,-47.88 6.09,-1.94 24.2,-2.84 31.1,-1.54 8.35,1.57 16.12,4.8 22.43,9.32 3.13,2.24 5.49,4.29 5.23,4.54 -0.26,0.26 -4.17,-0.1 -8.7,-0.8 -8.02,-1.23 -8.28,-1.2 -10.01,0.93 -2.34,2.89 -4.69,15.81 -3.28,18.05 1.02,1.62 3.18,2.54 8.58,3.63 1.85,0.37 2.75,1.18 2.75,2.48 0,1.06 0.45,2.2 1,2.54 0.55,0.34 1,2.19 1,4.11 0,2.83 0.57,3.81 2.99,5.19 1.65,0.94 2.85,2.15 2.68,2.7 -0.57,1.83 -11.09,7.54 -17.67,9.59 -7.29,2.27 -23.79,3.32 -31,1.97zM474.4,286.11c0.94,-1.04 2.8,-4.98 4.13,-8.75 4.08,-11.57 3.06,-26.36 -2.61,-37.48 -2.14,-4.19 -4.24,-5.31 -7.11,-3.78 -2.34,1.25 -2.16,3.23 1.06,11.91 2.84,7.64 2.85,20.02 0.02,27.77 -3.16,8.68 -3.24,9.12 -1.91,10.73 1.69,2.04 4.34,1.88 6.4,-0.4zM466.23,279.35c1.01,-1.73 2.51,-6.39 3.33,-10.34 1.68,-8.07 0.95,-14.79 -2.45,-22.47 -2.51,-5.67 -5.13,-7.16 -8.21,-4.66l-2.28,1.84 2.16,5.02c3.61,8.38 3.84,14.64 0.87,23.19 -1.93,5.55 -2.31,7.85 -1.54,9.28 1.57,2.94 5.9,1.95 8.12,-1.86zM457.17,273.25C462.42,261.34 457.35,242.06 450,246c-2.39,1.28 -2.52,3.51 -0.5,8.35 1.96,4.7 1.91,10.05 -0.17,15.84 -1.93,5.39 -0.9,7.81 3.33,7.81 1.92,0 2.84,-0.97 4.51,-4.75zM448.09,268.6c1.02,-2.26 1.86,-5.23 1.86,-6.6 0,-3.88 -3.53,-10.73 -5.91,-11.49 -3.26,-1.03 -5.35,1.24 -4.54,4.93 0.91,4.1 0.89,9.42 -0.04,12.96 -0.58,2.2 -0.35,3.21 0.93,4.14 2.73,2 5.68,0.49 7.69,-3.95zM487.48,258.75c-0.64,-1.78 1.96,-11.26 3.08,-11.22 5.6,0.16 12.43,1.83 12.43,3.05 0,1.77 -0.81,1.75 -4,-0.07 -3.5,-2 -5.66,-1.84 -8.11,0.61 -1.62,1.62 -1.98,2.9 -1.56,5.5 0.52,3.22 -0.86,4.83 -1.84,2.14zM879.17,162.83C879.39,161.28 880.17,160.5 881.5,160.5c2.98,0 2.68,3.9 -0.33,4.33 -1.94,0.27 -2.27,-0.06 -2,-2zM948.32,163.4c-0.63,-1.65 1.4,-3.61 3.18,-3.05 0.55,0.17 1.14,1.29 1.32,2.48 0.24,1.64 -0.19,2.17 -1.78,2.17 -1.16,0 -2.38,-0.72 -2.72,-1.6z"
+        android:fillColor="#36454e"/>
+</vector>
diff --git a/res/drawable/rounded_bg.xml b/res/drawable/rounded_bg.xml
new file mode 100644
index 0000000..fcdd761
--- /dev/null
+++ b/res/drawable/rounded_bg.xml
@@ -0,0 +1,26 @@
+<?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.
+-->
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+       android:shape="rectangle">
+    <solid android:color="?android:attr/colorBackgroundFloating" />
+    <corners
+        android:bottomLeftRadius="?android:attr/dialogCornerRadius"
+        android:topLeftRadius="?android:attr/dialogCornerRadius"
+        android:bottomRightRadius="?android:attr/dialogCornerRadius"
+        android:topRightRadius="?android:attr/dialogCornerRadius"
+    />
+</shape>
\ No newline at end of file
diff --git a/res/drawable/signal.xml b/res/drawable/signal.xml
deleted file mode 100644
index f315600..0000000
--- a/res/drawable/signal.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2008 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<level-list xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:maxLevel="0" android:drawable="@drawable/ic_network_signal_0" />
-    <item android:maxLevel="1" android:drawable="@drawable/ic_network_signal_1" />
-    <item android:maxLevel="2" android:drawable="@drawable/ic_network_signal_2" />
-    <item android:maxLevel="3" android:drawable="@drawable/ic_network_signal_3" />
-    <item android:maxLevel="4" android:drawable="@drawable/ic_network_signal_4" />
-</level-list>
-
diff --git a/res/drawable/signal_strength_5g.xml b/res/drawable/signal_strength_5g.xml
new file mode 100644
index 0000000..dc89f9a
--- /dev/null
+++ b/res/drawable/signal_strength_5g.xml
@@ -0,0 +1,29 @@
+<?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.
+  -->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="9.208dp"
+    android:height="17dp"
+    android:viewportWidth="14.0"
+    android:viewportHeight="24.0"
+    android:tint="?android:attr/colorControlNormal">
+    <path
+        android:fillColor="#FFFFFFFF"
+        android:pathData="M13.9,12.24l-0.22,0.27c-0.63,0.73 -1.55,1.1 -2.76,1.1c-1.08,0 -1.92,-0.36 -2.53,-1.07s-0.93,-1.72 -0.94,-3.02V7.56c0,-1.39 0.28,-2.44 0.84,-3.13s1.39,-1.04 2.51,-1.04c0.95,0 1.69,0.26 2.23,0.79s0.83,1.28 0.89,2.26h-1.25c-0.05,-0.62 -0.22,-1.1 -0.52,-1.45s-0.74,-0.52 -1.34,-0.52c-0.72,0 -1.24,0.23 -1.57,0.7S8.72,6.37 8.71,7.4v2.03c0,1 0.19,1.77 0.57,2.31c0.38,0.54 0.93,0.8 1.65,0.8c0.67,0 1.19,-0.16 1.54,-0.49l0.18,-0.17V9.59h-1.82V8.52h3.07V12.24z"/>
+    <path
+        android:fillColor="#FFFFFFFF"
+        android:pathData="M1.15,8.47l0.43,-4.96h4.33v1.17H2.6L2.37,7.39C2.78,7.1 3.22,6.96 3.69,6.96c0.77,0 1.38,0.3 1.83,0.9s0.66,1.41 0.66,2.43c0,1.03 -0.24,1.84 -0.72,2.43S4.32,13.6 3.48,13.6c-0.75,0 -1.36,-0.24 -1.83,-0.73s-0.74,-1.16 -0.81,-2.02h1.13c0.07,0.57 0.23,1 0.49,1.29c0.26,0.29 0.59,0.43 1.01,0.43c0.47,0 0.84,-0.2 1.1,-0.61c0.26,-0.41 0.4,-0.96 0.4,-1.65c0,-0.65 -0.14,-1.18 -0.43,-1.59S3.88,8.09 3.4,8.09c-0.4,0 -0.72,0.1 -0.96,0.31L2.11,8.73L1.15,8.47z"/>
+</vector>
\ No newline at end of file
diff --git a/res/drawable/tapandpay_emptystate.xml b/res/drawable/tapandpay_emptystate.xml
new file mode 100644
index 0000000..8d623e8
--- /dev/null
+++ b/res/drawable/tapandpay_emptystate.xml
@@ -0,0 +1,34 @@
+<!--
+  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.
+  -->
+
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="288dp"
+        android:height="268dp"
+        android:viewportWidth="288"
+        android:viewportHeight="268">
+    <path
+        android:pathData="M67.607,266.417C67.273,265.547 67,248.757 67,229.105v-35.73l-3.06,-2.262c-1.683,-1.244 -3.931,-3.691 -4.996,-5.438 -3.791,-6.217 -3.22,-7.462 14.624,-31.954l16.568,-22.739 54.149,0.259 54.149,0.259 16.284,22.371c17.59,24.166 18.188,25.493 14.34,31.805 -1.065,1.747 -3.313,4.194 -4.996,5.438L221,193.375v35.73c0,19.652 -0.273,36.442 -0.607,37.312C219.847,267.84 212.184,267.999 144,267.999 75.816,267.999 68.153,267.84 67.607,266.417ZM113.5,107.312c-1.65,-0.884 -5.87,-3.646 -9.378,-6.139L97.744,96.64 85.122,95.432C71.183,94.097 69.957,93.78 65.241,90.293 60.593,86.856 58,81.207 58,74.518v-5.56l-3.75,1.878C46.077,74.931 42.461,74.476 33.011,68.165 27.951,64.786 26.029,64.113 19.795,63.536 9.981,62.629 6.537,61.426 3.533,57.855 1.611,55.572 1.001,53.718 1.004,50.172 1.009,43.588 3.677,39.66 9.665,37.422 12.587,36.329 15.861,34.056 17.939,31.676 22.055,26.964 26.34,24.999 32.5,24.999c5.66,0 9.867,1.716 16.695,6.809 7.619,5.684 11.075,7.19 16.506,7.194 5.852,0.005 10.555,2.634 12.878,7.202 0.922,1.812 1.832,3.47 2.022,3.684 0.191,0.215 2.208,-1.292 4.483,-3.347 5.729,-5.176 10.2,-6.866 18.416,-6.962 8.421,-0.098 14.071,2.336 25.526,10.998 8.543,6.459 14.217,9.367 18.34,9.399 2.509,0.019 2.783,-0.259 2.194,-2.228 -0.37,-1.237 -0.908,-4.95 -1.197,-8.25 -0.456,-5.221 -0.157,-6.713 2.306,-11.493 3.663,-7.11 9.662,-11.717 16.426,-12.614 3.782,-0.502 5.434,-1.277 6.711,-3.152 4.008,-5.884 11.018,-12.633 15.674,-15.09 4.461,-2.354 6.133,-2.65 15.02,-2.65 11.923,-0.001 15.396,1.431 30.523,12.584 13.5,9.954 17.755,11.826 29.061,12.788 10.057,0.856 13.827,2.269 18.103,6.788 3.593,3.798 4.98,7.726 5.063,14.343 0.098,7.78 -1.722,12.39 -6.506,16.485 -4.453,3.812 -9.064,5.498 -15.059,5.507 -4.525,0.007 -6.125,0.771 -14.684,7.013 -8.505,6.203 -11.888,7.855 -18.64,9.103 -8.125,1.502 -13.852,-0.179 -23.023,-6.76 -11.838,-8.494 -13.442,-9.09 -26.63,-9.902L171,71.727v6.404c0,5.158 -0.479,7.109 -2.463,10.029C165.568,92.529 158.841,95.999 153.341,95.999c-3.226,0 -5.469,1.012 -11.272,5.088 -3.985,2.798 -8.766,5.723 -10.625,6.5 -4.519,1.888 -14.182,1.74 -17.944,-0.275z"
+        android:fillColor="#f4f4f4"/>
+    <path
+        android:pathData="m68,266.999c0,-0.55 0.45,-1 1,-1 0.648,0 1,-12.651 1,-35.952v-35.952l-4.499,-3.095C60.613,187.637 58,183.611 58,179.443c0,-1.838 4.518,-8.859 14.671,-22.8 8.069,-11.079 15.572,-21.157 16.674,-22.394L91.349,131.999h53.141,53.141l16.185,22.239c17.417,23.933 18.014,25.248 14.258,31.409 -1.056,1.732 -3.323,3.977 -5.037,4.99 -1.715,1.013 -3.343,2.746 -3.618,3.852 -0.275,1.106 -0.369,18.098 -0.209,37.761l0.291,35.751 -47.5,-0 -47.5,-0L124.5,237.749 124.5,207.499L104,207.499 83.5,207.499v30.25,30.25l-7.75,-0C71.25,267.999 68,267.579 68,266.999ZM204.5,229.999L204.5,207.499L168,207.499 131.5,207.499l-0.271,21.475c-0.149,11.811 -0.048,22.055 0.223,22.763 0.393,1.024 7.922,1.233 36.771,1.025L204.5,252.499ZM152.689,235.355c-1.114,-1.114 -0.79,-10.176 0.39,-10.905 0.813,-0.502 26.581,-0.885 33.97,-0.505 0.642,0.033 0.933,2.288 0.75,5.804l-0.3,5.75 -17.061,0.273c-9.383,0.15 -17.371,-0.038 -17.75,-0.417zM112.794,104.732c-2.038,-1.228 -6.229,-3.964 -9.312,-6.078 -3.992,-2.738 -7.172,-4.057 -11.043,-4.583 -6.672,-0.905 -7.578,-1.664 -3.827,-3.201 4.155,-1.703 18.174,-1.875 18.805,-0.231 0.35,0.913 2.336,1.191 6.832,0.955 6.697,-0.35 11.023,-2.029 14.159,-5.494C129.454,84.945 130.884,83.999 131.587,83.999 134.768,83.999 150,69.744 150,66.767c0,-5.87 4.888,-7.396 12.025,-3.755 5.717,2.916 7.071,5.567 7.15,13.993 0.053,5.623 -0.354,7.757 -1.866,9.782 -3.397,4.549 -7.034,6.548 -13.255,7.281 -4.914,0.579 -7.151,1.539 -12.52,5.37 -8.571,6.116 -12.268,7.565 -19.252,7.545 -4.189,-0.012 -6.803,-0.632 -9.488,-2.25zM219.737,86.632C217.667,85.858 212.727,82.857 208.759,79.961 199.926,73.516 194.736,71.08 189.5,70.921c-2.2,-0.067 -5.072,-0.422 -6.383,-0.789 -3.145,-0.881 -1.5,-2.149 5.973,-4.603 5.242,-1.721 5.797,-1.733 8.9,-0.185 1.952,0.974 3.761,1.298 4.41,0.791 0.605,-0.473 2.338,-1.156 3.85,-1.517 2.28,-0.545 2.75,-0.326 2.75,1.28 0,1.692 0.727,1.936 5.75,1.932 8.089,-0.007 14.803,-2.194 19.356,-6.308C236.251,59.584 238.622,57.999 239.375,57.999 240.91,57.999 251.978,49.743 256.329,45.353 261.592,40.042 262,39.337 262,35.549v-3.783l6.463,0.412c5.32,0.339 7.107,0.934 10.103,3.366 8.204,6.659 10.614,16.478 6.057,24.678 -3.652,6.572 -8.97,9.827 -17.605,10.775 -6.419,0.705 -8.006,1.338 -14.142,5.648 -11.894,8.353 -16.165,10.373 -23.068,10.906 -4.094,0.316 -7.629,-0.006 -10.072,-0.919zM41.03,70.886c-1.359,-0.542 -3.834,-2.022 -5.5,-3.288C31.24,64.338 26.444,61.999 24.05,61.999 20.781,61.999 21.68,60.145 25.25,59.524c3.074,-0.535 5.571,-0.347 13.75,1.035 4.374,0.739 6.628,-0.239 15.957,-6.926 4.602,-3.298 8.181,-6.74 9.348,-8.989 2.087,-4.022 4.087,-4.528 8.624,-2.182 3.104,1.605 3.935,3.069 5.098,8.981 1.432,7.281 -1.597,10.767 -10.889,12.529 -2.885,0.547 -8.456,2.577 -12.381,4.51 -7.442,3.666 -9.61,4.046 -13.727,2.403z"
+        android:fillColor="#ececec"/>
+    <path
+        android:pathData="m208.605,191.077c-1.592,-1.05 -3.774,-3.297 -4.848,-4.993 -2.37,-3.743 -3.026,-3.819 -4.775,-0.551 -3.097,5.786 -12.577,8.278 -18.953,4.981 -1.579,-0.817 -3.854,-2.865 -5.056,-4.552l-2.184,-3.067 -3.672,3.977c-4.133,4.477 -7.33,5.625 -13.428,4.823 -3.304,-0.435 -4.982,-1.439 -7.94,-4.752l-3.75,-4.201 -3.75,4.201c-2.958,3.313 -4.635,4.318 -7.94,4.752 -6.098,0.802 -9.295,-0.347 -13.428,-4.823l-3.672,-3.977 -2.184,3.067c-1.201,1.687 -3.476,3.736 -5.056,4.552 -6.376,3.297 -15.856,0.806 -18.953,-4.981 -1.699,-3.174 -2.37,-3.172 -4.458,0.014 -2.319,3.54 -7.436,6.444 -11.36,6.449 -6.375,0.007 -12.894,-5.234 -13.809,-11.103 -0.487,-3.123 0.747,-5.147 15.484,-25.393l16.013,-22 52.305,-0.5c28.768,-0.275 52.755,-0.368 53.305,-0.207 0.55,0.161 7.975,9.97 16.5,21.798 13.958,19.365 15.491,21.897 15.414,25.446 -0.096,4.408 -1.946,6.971 -7.645,10.592 -4.505,2.863 -8.291,3.003 -12.165,0.449zM159.25,66.884C155.485,64.473 155.271,63.999 157.944,63.999c1.069,0 3.207,1.111 4.75,2.468 3.515,3.093 1.176,3.376 -3.444,0.417zM69,59.499c3.491,-1.996 5.656,-1.996 4,0 -0.685,0.825 -2.427,1.484 -3.872,1.465L66.5,60.928Z"
+        android:fillColor="#e0e0e0"/>
+    <path
+        android:pathData="m218.176,178.249c-1.621,-1.513 -3.226,-3.674 -3.567,-4.803 -0.341,-1.129 -3.741,-4.653 -7.556,-7.831 -3.815,-3.178 -7.075,-6.713 -7.245,-7.856 -0.17,-1.143 -1.119,-2.195 -2.109,-2.338 -3.855,-0.555 -6.374,-5.269 -3.7,-6.922 2.102,-1.299 0.882,-2.403 -1.47,-1.332 -3.076,1.402 -5.12,-0.028 -6.042,-4.226 -0.353,-1.606 -1.057,-3.176 -1.564,-3.49C184.415,139.138 184,137.815 184,136.512c0,-2.122 0.574,-2.441 5.508,-3.057 3.625,-0.453 5.979,-0.297 6.886,0.456C199.602,136.573 228,177.006 228,178.911c0,3.273 -6.043,2.866 -9.824,-0.663zM168.25,138.314C167.563,138.049 167,136.97 167,135.916 167,134.209 167.768,133.999 174,133.999c5.428,0 7,0.324 7,1.441 0,0.793 -0.449,1.719 -0.998,2.058 -1.32,0.816 -10.16,1.43 -11.752,0.816zM146.146,136.744C143.824,134.422 145.22,133.999 155.2,133.999c7.488,0 9.904,0.296 9.087,1.113 -0.612,0.612 -2.614,1.238 -4.45,1.39 -1.836,0.153 -3.337,0.383 -3.337,0.511 0,0.892 -9.438,0.648 -10.354,-0.269z"
+        android:fillColor="#dcdcdc"/>
+</vector>
\ No newline at end of file
diff --git a/res/drawable/tile_icon_sensors_off.xml b/res/drawable/tile_icon_sensors_off.xml
index 890fa83..b9b3500 100644
--- a/res/drawable/tile_icon_sensors_off.xml
+++ b/res/drawable/tile_icon_sensors_off.xml
@@ -18,7 +18,8 @@
         android:width="24dp"
         android:height="24dp"
         android:viewportWidth="24.0"
-        android:viewportHeight="24.0">
+        android:viewportHeight="24.0"
+        android:tint="?android:attr/colorControlNormal">
     <path
         android:pathData="M21.966,2 L2,22"
         android:strokeLineCap="round"
diff --git a/res/drawable/wifi_signal_dark.xml b/res/drawable/wifi_signal_dark.xml
deleted file mode 100644
index b578f47..0000000
--- a/res/drawable/wifi_signal_dark.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2008 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<selector xmlns:android="http://schemas.android.com/apk/res/android"
-        xmlns:settings="http://schemas.android.com/apk/res/com.android.settings">
-    <item settings:state_encrypted="true" android:drawable="@drawable/wifi_signal_lock_dark" />
-    <item settings:state_encrypted="false" android:drawable="@drawable/wifi_signal_open_dark" />
-</selector>
-
diff --git a/res/drawable/wifi_signal_lock_dark.xml b/res/drawable/wifi_signal_lock_dark.xml
deleted file mode 100644
index 37226a8..0000000
--- a/res/drawable/wifi_signal_lock_dark.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2008 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<level-list xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:maxLevel="0" android:drawable="@drawable/ic_wifi_lock_signal_1_dark" />
-    <item android:maxLevel="1" android:drawable="@drawable/ic_wifi_lock_signal_2_dark" />
-    <item android:maxLevel="2" android:drawable="@drawable/ic_wifi_lock_signal_3_dark" />
-    <item android:maxLevel="3" android:drawable="@drawable/ic_wifi_lock_signal_4_dark" />
-</level-list>
-
diff --git a/res/drawable/wifi_signal_open_dark.xml b/res/drawable/wifi_signal_open_dark.xml
deleted file mode 100644
index d696983..0000000
--- a/res/drawable/wifi_signal_open_dark.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2008 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<level-list xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:maxLevel="0" android:drawable="@drawable/ic_wifi_signal_1_dark" />
-    <item android:maxLevel="1" android:drawable="@drawable/ic_wifi_signal_2_dark" />
-    <item android:maxLevel="2" android:drawable="@drawable/ic_wifi_signal_3_dark" />
-    <item android:maxLevel="3" android:drawable="@drawable/ic_wifi_signal_4_dark" />
-</level-list>
-
diff --git a/res/layout-land/choose_lock_pattern.xml b/res/layout-land/choose_lock_pattern.xml
index 331d4a4..df40ed4 100644
--- a/res/layout-land/choose_lock_pattern.xml
+++ b/res/layout-land/choose_lock_pattern.xml
@@ -43,27 +43,27 @@
             android:clipToPadding="false"
             android:orientation="vertical">
 
-            <ImageView
-                android:id="@+id/sud_layout_icon"
-                style="@style/SudGlifIcon"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_gravity="?attr/sudGlifHeaderGravity"
-                android:layout_marginStart="0dp"
-                android:layout_marginEnd="0dp"
-                android:src="@drawable/ic_lock"/>
-
             <ScrollView
                 android:id="@+id/scroll_layout_title_header"
                 android:layout_width="match_parent"
                 android:layout_height="0dp"
-                android:layout_weight="3.0">
+                android:layout_weight="1">
 
                 <LinearLayout
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content"
                     android:orientation="vertical">
 
+                    <ImageView
+                        android:id="@+id/sud_layout_icon"
+                        style="@style/SudGlifIcon"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_gravity="?attr/sudGlifHeaderGravity"
+                        android:layout_marginStart="0dp"
+                        android:layout_marginEnd="0dp"
+                        android:src="@drawable/ic_lock"/>
+
                     <TextView
                         android:id="@+id/suc_layout_title"
                         style="@style/SudGlifHeaderTitle"
@@ -88,6 +88,14 @@
                         android:gravity="?attr/sudGlifHeaderGravity"
                         android:textSize="18sp"/>
 
+                    <TextView android:id="@+id/footerText"
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_centerHorizontal="true"
+                        android:layout_marginTop="10dp"
+                        android:textSize="14sp"
+                        android:visibility="gone" />
+
                     <Button
                         android:id="@+id/screen_lock_options"
                         style="@style/SudGlifButton.Tertiary"
@@ -102,65 +110,6 @@
 
             </ScrollView>
 
-            <!-- footer can show a message, or confirm / restart buttons -->
-            <RelativeLayout
-                android:layout_width="match_parent"
-                android:layout_height="0dip"
-                android:layout_weight="1.0"
-                android:clipChildren="false"
-                android:clipToPadding="false">
-
-                <!-- confirm / restart buttons -->
-                <LinearLayout android:id="@+id/buttonContainer"
-                    android:layout_width="match_parent"
-                    android:layout_height="wrap_content"
-                    android:layout_centerHorizontal="true"
-                    android:layout_alignParentBottom="true"
-                    android:clipChildren="false"
-                    android:clipToPadding="false"
-                    android:orientation="horizontal">
-
-                    <!-- left : skip -->
-                    <Button android:id="@+id/skip_button"
-                        style="@style/SudGlifButton.Secondary"
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:text="@string/skip_label"
-                        android:visibility="gone" />
-
-                    <!-- left / top button: skip, or re-try -->
-                    <Button android:id="@+id/footerLeftButton"
-                        style="@style/SetupWizardButton.Negative"
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:text="@string/lockpattern_restart_button_text" />
-
-                    <Space
-                        android:layout_width="0dp"
-                        android:layout_height="0dp"
-                        android:layout_weight="1" />
-
-                    <!-- right / bottom button: confirm or ok -->
-                    <Button android:id="@+id/footerRightButton"
-                        style="@style/SetupWizardButton.Positive"
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:text="@string/lockpattern_confirm_button_text" />
-
-                </LinearLayout>
-
-                <!-- message above buttons -->
-                <TextView android:id="@+id/footerText"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_above="@+id/buttonContainer"
-                    android:layout_centerHorizontal="true"
-                    android:layout_marginBottom="4dip"
-                    android:textSize="14sp"
-                    android:visibility="gone" />
-
-            </RelativeLayout>
-
         </LinearLayout>
 
         <!-- right side: lock pattern -->
diff --git a/res/layout-land/confirm_lock_password.xml b/res/layout-land/confirm_lock_password.xml
index 544dd26..cad1bfc 100644
--- a/res/layout-land/confirm_lock_password.xml
+++ b/res/layout-land/confirm_lock_password.xml
@@ -13,81 +13,108 @@
      See the License for the specific language governing permissions and
      limitations under the License.
 -->
-<FrameLayout
+<com.google.android.setupdesign.GlifLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/setup_wizard_layout"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    android:importantForAutofill="noExcludeDescendants">
+    android:icon="@drawable/ic_enterprise"
+    android:layout="@layout/sud_glif_blank_template">
 
-    <include layout="@layout/confirm_lock_background_base" />
-
-    <LinearLayout
+    <!--common_typos_disable-->
+    <com.android.internal.widget.LinearLayoutWithDefaultTouchRecepient
         android:id="@+id/topLayout"
-        android:orientation="vertical"
+        android:orientation="horizontal"
         android:layout_width="match_parent"
         android:layout_height="match_parent">
 
-        <TextView
-            style="@*android:style/TextAppearance.DeviceDefault.Title"
-            android:id="@+id/headerText"
-            android:layout_marginStart="24dp"
-            android:layout_marginEnd="24dp"
-            android:layout_marginTop="12dp"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:textColor="?android:attr/colorAccent"/>
-
-        <TextView
-            style="@*android:style/TextAppearance.DeviceDefault.Body1"
-            android:id="@+id/sud_layout_description"
-            android:layout_marginStart="24dp"
-            android:layout_marginEnd="24dp"
-            android:layout_marginTop="8dp"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"/>
-
-        <FrameLayout
+        <LinearLayout
             android:layout_width="match_parent"
-            android:layout_height="0dp"
-            android:layout_weight="1">
+            android:layout_height="wrap_content"
+            android:orientation="vertical">
 
-            <Button
-                style="@android:style/Widget.Material.Button.Borderless"
-                android:id="@+id/cancelButton"
+            <ImageView
+                android:id="@+id/sud_layout_icon"
+                style="@style/SudGlifIcon"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:layout_gravity="start|bottom"
-                android:text="@string/cancel"
-                android:layout_marginStart="8dp"
-                android:layout_marginEnd="8dp"
-                android:layout_marginBottom="14dp"/>
+                android:layout_gravity="?attr/sudGlifHeaderGravity"
+                android:src="@drawable/ic_enterprise" />
 
-            <LinearLayout
+            <TextView
+                android:id="@+id/headerText"
+                style="@style/SudGlifHeaderTitle"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content" />
+
+            <TextView
+                android:id="@+id/sud_layout_description"
+                style="@style/SudDescription.Glif"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
-                android:layout_gravity="center_vertical"
-                android:gravity="center_horizontal"
-                android:orientation="vertical">
+                android:layout_marginStart="?attr/sudMarginSides"
+                android:layout_marginEnd="?attr/sudMarginSides" />
 
-                <com.android.settings.widget.ScrollToParentEditText
-                    android:id="@+id/password_entry"
-                    android:layout_width="208dp"
-                    android:layout_height="wrap_content"
-                    android:inputType="textPassword"
-                    android:imeOptions="actionNext|flagNoFullscreen|flagForceAscii"
-                    android:gravity="center"
-                    style="@style/TextAppearance.PasswordEntry"/>
+            <Button
+                android:id="@+id/forgotButton"
+                style="@style/SudGlifButton.Secondary"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginStart="?attr/sudMarginSides"
+                android:layout_marginEnd="?attr/sudMarginSides"
+                android:layout_gravity="center"
+                android:visibility="gone" />
+        </LinearLayout>
 
-                <TextView style="@style/TextAppearance.ErrorText"
-                    android:accessibilityLiveRegion="polite"
-                    android:id="@+id/errorText"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_marginBottom="10dp"/>
+        <Space
+            android:layout_width="match_parent"
+            android:layout_height="0dp"
+            android:layout_weight="1" />
 
-            </LinearLayout>
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:gravity="center_horizontal"
+            android:orientation="vertical">
 
-        </FrameLayout>
+            <com.android.settings.widget.ScrollToParentEditText
+                android:id="@+id/password_entry"
+                android:layout_width="208dp"
+                android:layout_height="wrap_content"
+                android:layout_gravity="center_horizontal"
+                android:inputType="textPassword"
+                android:imeOptions="actionNext|flagNoFullscreen|flagForceAscii"
+                android:gravity="center"
+                style="@style/TextAppearance.PasswordEntry"/>
 
-    </LinearLayout>
-</FrameLayout>
\ No newline at end of file
+            <TextView
+                style="@style/TextAppearance.ErrorText"
+                android:accessibilityLiveRegion="polite"
+                android:id="@+id/errorText"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="8dp"
+                android:layout_marginStart="12dp"
+                android:layout_marginEnd="12dp"/>
+
+        </LinearLayout>
+
+        <Space
+            android:layout_width="match_parent"
+            android:layout_height="0dp"
+            android:layout_weight="1" />
+
+        <Button
+            android:id="@+id/cancelButton"
+            style="@style/SudGlifButton.Secondary"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="?attr/sudMarginSides"
+            android:layout_marginEnd="?attr/sudMarginSides"
+            android:layout_marginBottom="80dp"
+            android:layout_gravity="center_horizontal"
+            android:text="@string/cancel" />
+
+    <!--common_typos_disable-->
+    </com.android.internal.widget.LinearLayoutWithDefaultTouchRecepient>
+</com.google.android.setupdesign.GlifLayout>
\ No newline at end of file
diff --git a/res/layout-land/confirm_lock_pattern.xml b/res/layout-land/confirm_lock_pattern.xml
index 6ca9be4..861c00a 100644
--- a/res/layout-land/confirm_lock_pattern.xml
+++ b/res/layout-land/confirm_lock_pattern.xml
@@ -13,83 +13,77 @@
      See the License for the specific language governing permissions and
      limitations under the License.
 -->
-<FrameLayout
+<com.google.android.setupdesign.GlifLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/setup_wizard_layout"
     android:layout_width="match_parent"
-    android:layout_height="match_parent" >
-
-    <include layout="@layout/confirm_lock_background_base" />
+    android:layout_height="match_parent"
+    android:icon="@drawable/ic_enterprise"
+    android:layout="@layout/sud_glif_blank_template">
 
     <com.android.internal.widget.LinearLayoutWithDefaultTouchRecepient
-        xmlns:android="http://schemas.android.com/apk/res/android"
         android:id="@+id/topLayout"
         android:orientation="horizontal"
         android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:clipChildren="false"
-        android:clipToPadding="false">
+        android:layout_height="match_parent">
 
-        <LinearLayout
-            android:layout_width="0dp"
-            android:layout_height="wrap_content"
-            android:layout_gravity="center_vertical"
-            android:layout_weight="1"
-            android:orientation="vertical">
-
-            <TextView
-                style="@*android:style/TextAppearance.DeviceDefault.Headline"
-                android:id="@+id/headerText"
-                android:layout_marginStart="32dp"
-                android:layout_marginEnd="32dp"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:textColor="?android:attr/colorAccent"/>
-
-            <TextView
-                style="@*android:style/TextAppearance.DeviceDefault.Body1"
-                android:id="@+id/sud_layout_description"
-                android:layout_marginStart="32dp"
-                android:layout_marginEnd="32dp"
-                android:layout_marginTop="12dp"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"/>
-
-            <Button
-                style="@android:style/Widget.Material.Button.Borderless"
-                android:id="@+id/cancelButton"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:text="@string/cancel"
-                android:layout_marginStart="16dp"
-                android:layout_marginEnd="16dp"
-                android:layout_marginTop="16dp"/>
-        </LinearLayout>
-
-        <LinearLayout
+        <ScrollView
             android:layout_width="0dp"
             android:layout_height="match_parent"
             android:layout_weight="1"
-            android:orientation="horizontal"
-            android:clipChildren="false"
-            android:clipToPadding="false">
+            android:fillViewport="true">
 
-            <View
-                android:id="@+id/leftSpacer"
-                android:layout_width="0dp"
-                android:layout_height="match_parent"
-                android:layout_weight="0.4"/>
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:orientation="vertical"
+                android:paddingBottom="24dp">
 
-            <FrameLayout
-                android:layout_width="wrap_content"
-                android:layout_height="match_parent"
-                android:clipChildren="false"
-                android:clipToPadding="false">
+                <ImageView
+                    android:id="@+id/sud_layout_icon"
+                    style="@style/SudGlifIcon"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_gravity="?attr/sudGlifHeaderGravity"
+                    android:src="@drawable/ic_enterprise" />
 
-                <com.android.internal.widget.LockPatternView
-                    android:id="@+id/lockPattern"
+                <TextView
+                    android:id="@+id/headerText"
+                    style="@style/SudGlifHeaderTitle"
                     android:layout_width="match_parent"
-                    android:layout_height="match_parent"
-                    android:layout_gravity="center"/>
+                    android:layout_height="wrap_content" />
+
+                <TextView
+                    android:id="@+id/sud_layout_description"
+                    style="@style/SudDescription.Glif"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginStart="?attr/sudMarginSides"
+                    android:layout_marginEnd="?attr/sudMarginSides" />
+
+                <Button
+                    android:id="@+id/cancelButton"
+                    style="@style/SetupWizardButton.Negative"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginStart="?attr/sudMarginSides"
+                    android:layout_marginEnd="?attr/sudMarginSides"
+                    android:text="@string/cancel" />
+
+                <Button
+                    android:id="@+id/forgotButton"
+                    style="@style/SudGlifButton.Secondary"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginStart="?attr/sudMarginSides"
+                    android:layout_marginEnd="?attr/sudMarginSides"
+                    android:layout_gravity="center"
+                    android:visibility="gone" />
+
+                <Space
+                    android:layout_width="match_parent"
+                    android:layout_height="0dp"
+                    android:layout_weight="1" />
 
                 <TextView
                     style="@style/TextAppearance.ErrorText"
@@ -97,16 +91,30 @@
                     android:id="@+id/errorText"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
-                    android:layout_gravity="bottom|center_horizontal"
-                    android:layout_marginBottom="24dp"/>
-            </FrameLayout>
+                    android:layout_marginStart="?attr/sudMarginSides"
+                    android:layout_marginEnd="?attr/sudMarginSides"
+                    android:layout_marginBottom="24dp"
+                    android:gravity="center_vertical"/>
 
-            <View
-                android:id="@+id/rightSpacer"
-                android:layout_width="0dp"
+            </LinearLayout>
+
+        </ScrollView>
+
+        <com.google.android.setupdesign.view.FillContentLayout
+            style="@style/LockPatternContainerStyle"
+            android:layout_width="0dp"
+            android:layout_height="match_parent"
+            android:layout_weight="1"
+            android:paddingStart="0dp">
+
+            <com.android.internal.widget.LockPatternView
+                android:id="@+id/lockPattern"
+                android:layout_width="match_parent"
                 android:layout_height="match_parent"
-                android:layout_weight="1"/>
-        </LinearLayout>
+                android:layout_gravity="center" />
+
+        </com.google.android.setupdesign.view.FillContentLayout>
 
     </com.android.internal.widget.LinearLayoutWithDefaultTouchRecepient>
-</FrameLayout>
+</com.google.android.setupdesign.GlifLayout>
+
diff --git a/res/layout-land/nfc_payment_empty.xml b/res/layout-land/nfc_payment_empty.xml
new file mode 100644
index 0000000..842792c
--- /dev/null
+++ b/res/layout-land/nfc_payment_empty.xml
@@ -0,0 +1,36 @@
+<?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.
+-->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+              android:layout_width="match_parent"
+              android:layout_height="match_parent"
+              android:layout_gravity="center"
+              android:gravity="center"
+              android:orientation="horizontal">
+    <ImageView
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:gravity="center_vertical|right"
+        android:src="@drawable/tapandpay_emptystate"/>
+    <TextView
+        android:layout_width="264dp"
+        android:layout_height="wrap_content"
+        android:gravity="center"
+        android:paddingStart="36dp"
+        android:textAppearance="?android:attr/textAppearanceLarge"
+        android:textColor="?android:attr/textColorSecondary"
+        android:text="@string/nfc_payment_no_apps"/>
+</LinearLayout>
diff --git a/res/layout-land/storage_summary_donut.xml b/res/layout-land/storage_summary_donut.xml
index db91547..2e5ee93 100644
--- a/res/layout-land/storage_summary_donut.xml
+++ b/res/layout-land/storage_summary_donut.xml
@@ -60,7 +60,7 @@
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_below="@android:id/summary"
-            android:text="@string/storage_menu_free"
+            android:text="@string/storage_menu_manage"
             style="@style/ActionPrimaryButton" />
     </LinearLayout>
 
diff --git a/res/layout-land/wifi_dpp_qrcode_scanner_fragment.xml b/res/layout-land/wifi_dpp_qrcode_scanner_fragment.xml
index cfe6cc0..240dbb5 100644
--- a/res/layout-land/wifi_dpp_qrcode_scanner_fragment.xml
+++ b/res/layout-land/wifi_dpp_qrcode_scanner_fragment.xml
@@ -15,33 +15,33 @@
      limitations under the License.
 -->
 
-<LinearLayout
+<com.google.android.setupdesign.GlifLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@+id/root"
     android:layout_width="match_parent"
-    android:layout_height="match_parent">
+    android:layout_height="match_parent"
+    android:icon="@drawable/ic_scan_32dp">
 
-    <ScrollView
+    <LinearLayout
+        style="@style/SudContentFrame"
         android:layout_width="match_parent"
-        android:layout_height="match_parent">
+        android:layout_height="match_parent"
+        android:gravity="center_horizontal"
+        android:orientation="vertical">
+
+        <TextView
+            android:id="@android:id/summary"
+            style="@style/TextAppearance.SudGlifBody"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="?attr/sudMarginSides"
+            android:layout_marginEnd="?attr/sudMarginSides"
+            android:textAlignment="center"/>
 
         <LinearLayout
             android:layout_width="match_parent"
             android:layout_height="match_parent"
-            android:orientation="vertical"
-            android:gravity="center_horizontal">
-
-            <include layout="@layout/wifi_dpp_fragment_header"/>
-
-            <ProgressBar
-                android:id="@+id/indeterminate_bar"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:indeterminate="true"
-                android:paddingStart="16dp"
-                android:paddingEnd="16dp"
-                android:layout_marginBottom="8dp"
-                style="?android:attr/progressBarStyleHorizontal"/>
+            android:gravity="center"
+            android:orientation="vertical">
 
             <FrameLayout
                 android:layout_width="@dimen/qrcode_preview_size"
@@ -59,18 +59,18 @@
 
             <TextView
                 android:id="@+id/error_message"
+                style="@style/TextAppearance.ErrorText"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_marginTop="16dp"
-                android:layout_marginStart="24dp"
-                android:layout_marginEnd="24dp"
+                android:layout_marginStart="?attr/sudMarginSides"
+                android:layout_marginEnd="?attr/sudMarginSides"
                 android:textAlignment="center"
-                android:textColor="?android:attr/colorError"
                 android:visibility="invisible"/>
 
         </LinearLayout>
 
-    </ScrollView>
+    </LinearLayout>
 
-</LinearLayout>
+</com.google.android.setupdesign.GlifLayout>
 
diff --git a/res/layout-sw360dp/storage_summary_donut.xml b/res/layout-sw360dp/storage_summary_donut.xml
index db91547..2e5ee93 100644
--- a/res/layout-sw360dp/storage_summary_donut.xml
+++ b/res/layout-sw360dp/storage_summary_donut.xml
@@ -60,7 +60,7 @@
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_below="@android:id/summary"
-            android:text="@string/storage_menu_free"
+            android:text="@string/storage_menu_manage"
             style="@style/ActionPrimaryButton" />
     </LinearLayout>
 
diff --git a/res/layout-sw600dp/confirm_lock_password.xml b/res/layout-sw600dp/confirm_lock_password.xml
index 2bfc470..3925a69 100644
--- a/res/layout-sw600dp/confirm_lock_password.xml
+++ b/res/layout-sw600dp/confirm_lock_password.xml
@@ -14,15 +14,16 @@
   ~ See the License for the specific language governing permissions and
   ~ limitations under the License
   -->
-<FrameLayout
+<com.google.android.setupdesign.GlifLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/setup_wizard_layout"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    android:importantForAutofill="noExcludeDescendants">
+    android:layout="@layout/sud_glif_blank_template">
 
     <include
         layout="@layout/confirm_lock_password_base"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:layout_gravity="center_horizontal" />
-</FrameLayout>
+</com.google.android.setupdesign.GlifLayout>
diff --git a/res/layout-sw600dp/confirm_lock_pattern.xml b/res/layout-sw600dp/confirm_lock_pattern.xml
index c9a3dfa..51af1f3 100644
--- a/res/layout-sw600dp/confirm_lock_pattern.xml
+++ b/res/layout-sw600dp/confirm_lock_pattern.xml
@@ -13,12 +13,16 @@
      See the License for the specific language governing permissions and
      limitations under the License.
 -->
-<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<com.google.android.setupdesign.GlifLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/setup_wizard_layout"
     android:layout_width="match_parent"
-    android:layout_height="match_parent">
+    android:layout_height="match_parent"
+    android:layout="@layout/sud_glif_blank_template">
 
-    <include layout="@layout/confirm_lock_pattern_base"
+    <include
+        layout="@layout/confirm_lock_pattern_base"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
-        android:layout_gravity="center_horizontal"/>
-</FrameLayout>
+        android:layout_gravity="center_horizontal" />
+</com.google.android.setupdesign.GlifLayout>
diff --git a/res/layout/accessibility_autoclick_custom_seekbar.xml b/res/layout/accessibility_autoclick_custom_seekbar.xml
new file mode 100644
index 0000000..283530b
--- /dev/null
+++ b/res/layout/accessibility_autoclick_custom_seekbar.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  Copyright (C) 2020 The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:orientation="vertical"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:paddingStart="60dp"
+    android:paddingEnd="?android:attr/listPreferredItemPaddingEnd">
+
+    <TextView
+        android:id="@+id/current_label"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_gravity="center_horizontal"
+        android:textAppearance="@android:style/TextAppearance.DeviceDefault.Widget.TextView" />
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:gravity="center_vertical">
+
+        <ImageView
+            android:id="@+id/shorter"
+            android:layout_width="48dp"
+            android:layout_height="48dp"
+            android:background="?android:attr/selectableItemBackgroundBorderless"
+            android:src="@drawable/ic_remove_24dp"
+            android:tint="?android:attr/textColorPrimary"
+            android:tintMode="src_in"
+            android:scaleType="center"
+            android:focusable="true"
+            android:contentDescription="@string/accessibility_autoclick_shorter_desc" />
+
+        <SeekBar
+            android:id="@+id/autoclick_delay"
+            android:layout_width="0dp"
+            android:layout_height="48dp"
+            android:layout_weight="1"
+            android:contentDescription="@string/accessibility_autoclick_seekbar_desc" />
+
+        <ImageView
+            android:id="@+id/longer"
+            android:layout_width="48dp"
+            android:layout_height="48dp"
+            android:background="?android:attr/selectableItemBackgroundBorderless"
+            android:src="@drawable/ic_add_24dp"
+            android:tint="?android:attr/textColorPrimary"
+            android:tintMode="src_in"
+            android:scaleType="center"
+            android:focusable="true"
+            android:contentDescription="@string/accessibility_autoclick_longer_desc" />
+
+    </LinearLayout>
+
+</LinearLayout>
diff --git a/res/layout/accessibility_autoclick_preview.xml b/res/layout/accessibility_autoclick_preview.xml
new file mode 100644
index 0000000..4fa3f8f
--- /dev/null
+++ b/res/layout/accessibility_autoclick_preview.xml
@@ -0,0 +1,30 @@
+<?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.
+  -->
+
+<FrameLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content">
+
+    <ImageView
+        android:layout_width="match_parent"
+        android:layout_height="@dimen/autoclick_preview_height"
+        android:contentDescription="@null"
+        android:scaleType="fitCenter"
+        android:src="@drawable/accessibility_dwell"/>
+
+</FrameLayout>
diff --git a/res/layout/accessibility_captions_preview.xml b/res/layout/accessibility_captions_preview.xml
new file mode 100644
index 0000000..f3c0316
--- /dev/null
+++ b/res/layout/accessibility_captions_preview.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ~ Copyright (C) 2020 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+
+<FrameLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content">
+
+    <ImageView
+        android:layout_width="match_parent"
+        android:layout_height="@dimen/captioning_preview_height"
+        android:contentDescription="@null"
+        android:scaleType="fitCenter"
+        android:src="@drawable/accessibility_captions" />
+
+</FrameLayout>
diff --git a/res/layout/accessibility_edit_magnification_mode.xml b/res/layout/accessibility_edit_magnification_mode.xml
new file mode 100644
index 0000000..e34f32e
--- /dev/null
+++ b/res/layout/accessibility_edit_magnification_mode.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  Copyright (C) 2019 The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License
+  -->
+
+<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:scrollbarStyle="outsideOverlay">
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:orientation="vertical"
+        android:paddingEnd="24dp"
+        android:paddingStart="24dp">
+
+        <TextView
+            style="@style/AccessibilityDialogDescription"
+            android:text="@string/accessibility_magnification_area_settings_message" />
+
+        <include
+            android:id="@+id/magnify_full_screen"
+            layout="@layout/accessibility_edit_shortcut_component" />
+
+        <include
+            android:id="@+id/magnify_window_screen"
+            layout="@layout/accessibility_edit_shortcut_component" />
+
+    </LinearLayout>
+
+</ScrollView>
diff --git a/res/layout/accessibility_edit_shortcut.xml b/res/layout/accessibility_edit_shortcut.xml
new file mode 100644
index 0000000..412ce94
--- /dev/null
+++ b/res/layout/accessibility_edit_shortcut.xml
@@ -0,0 +1,41 @@
+<?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
+  -->
+
+<ScrollView
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:scrollbarStyle="outsideOverlay">
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:orientation="vertical"
+        android:padding="24dp">
+
+        <include android:id="@+id/software_shortcut"
+            layout="@layout/accessibility_edit_shortcut_component"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginBottom="32dp" />
+
+        <include android:id="@+id/hardware_shortcut"
+            layout="@layout/accessibility_edit_shortcut_component" />
+
+    </LinearLayout>
+
+</ScrollView>
\ No newline at end of file
diff --git a/res/layout/accessibility_edit_shortcut_component.xml b/res/layout/accessibility_edit_shortcut_component.xml
new file mode 100644
index 0000000..02938c3
--- /dev/null
+++ b/res/layout/accessibility_edit_shortcut_component.xml
@@ -0,0 +1,50 @@
+<?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
+  -->
+
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:orientation="vertical">
+
+    <CheckBox
+        android:id="@+id/checkbox"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:minHeight="?android:attr/listPreferredItemHeightSmall"
+        android:paddingStart="12dp"
+        android:saveEnabled="false"
+        android:textColor="?android:attr/textColorAlertDialogListItem"
+        android:textSize="16sp" />
+
+    <TextView
+        android:id="@+id/summary"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:paddingBottom="8dp"
+        android:paddingStart="44dp"
+        android:textAppearance="?android:attr/textAppearanceListItemSecondary"
+        android:textColor="?android:attr/textColorSecondary" />
+
+    <ImageView
+        android:id="@+id/image"
+        android:layout_width="176dp"
+        android:layout_height="176dp"
+        android:layout_marginStart="44dp"
+        android:scaleType="centerCrop" />
+
+</LinearLayout>
diff --git a/res/layout/accessibility_edit_shortcut_magnification.xml b/res/layout/accessibility_edit_shortcut_magnification.xml
new file mode 100644
index 0000000..0253edf
--- /dev/null
+++ b/res/layout/accessibility_edit_shortcut_magnification.xml
@@ -0,0 +1,77 @@
+<?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
+  -->
+
+<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:scrollbarStyle="outsideOverlay">
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:orientation="vertical"
+        android:padding="24dp">
+
+        <include
+            android:id="@+id/software_shortcut"
+            layout="@layout/accessibility_edit_shortcut_component"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginBottom="32dp" />
+
+        <include
+            android:id="@+id/hardware_shortcut"
+            layout="@layout/accessibility_edit_shortcut_component"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginBottom="32dp" />
+
+        <LinearLayout
+            android:id="@+id/advanced_shortcut"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:minHeight="?android:attr/listPreferredItemHeightSmall"
+            android:orientation="horizontal">
+
+            <ImageView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_gravity="center"
+                android:contentDescription="@null"
+                android:scaleType="centerCrop"
+                android:src="@drawable/ic_keyboard_arrow_down" />
+
+            <TextView
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:gravity="center_vertical"
+                android:paddingStart="12dp"
+                android:text="@string/accessibility_shortcut_edit_dialog_title_advance"
+                android:textAppearance="?android:attr/textAppearanceListItem"
+                android:textColor="?android:attr/colorAccent"
+                android:textSize="16sp" />
+
+        </LinearLayout>
+
+        <include
+            android:id="@+id/triple_tap_shortcut"
+            layout="@layout/accessibility_edit_shortcut_component"
+            android:visibility="gone" />
+
+    </LinearLayout>
+
+</ScrollView>
diff --git a/res/layout/accessibility_shortcut_secondary_action.xml b/res/layout/accessibility_shortcut_secondary_action.xml
new file mode 100644
index 0000000..a114f05
--- /dev/null
+++ b/res/layout/accessibility_shortcut_secondary_action.xml
@@ -0,0 +1,96 @@
+<?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
+  -->
+
+<LinearLayout
+    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:clipToPadding="false">
+
+    <LinearLayout
+        android:id="@+id/main_frame"
+        android:layout_width="0dp"
+        android:layout_height="wrap_content"
+        android:layout_weight="1"
+        android:gravity="start|center_vertical"
+        android:paddingStart="?android:attr/listPreferredItemPaddingStart"
+        android:paddingEnd="?android:attr/listPreferredItemPaddingEnd">
+
+        <FrameLayout
+            android:id="@+id/icon_frame"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:minWidth="56dp"
+            android:paddingEnd="12dp"
+            android:paddingTop="16dp"
+            android:paddingBottom="4dp">
+
+            <ImageView
+                android:id="@android:id/icon"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content" />
+            
+        </FrameLayout>
+
+        <RelativeLayout
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:paddingTop="16dp"
+            android:paddingBottom="16dp">
+
+            <TextView
+                android:id="@android:id/title"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:singleLine="true"
+                android:textAppearance="?android:attr/textAppearanceListItem"
+                android:ellipsize="marquee" />
+
+            <TextView
+                android:id="@android:id/summary"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_below="@android:id/title"
+                android:layout_alignStart="@android:id/title"
+                android:textAppearance="?android:attr/textAppearanceListItemSecondary"
+                android:textColor="?android:attr/textColorSecondary"
+                android:maxLines="10" />
+
+        </RelativeLayout>
+
+    </LinearLayout>
+
+    <View
+        android:id="@+id/divider"
+        android:layout_width="1dp"
+        android:layout_height="match_parent"
+        android:layout_marginTop="16dp"
+        android:layout_marginBottom="16dp"
+        android:background="?android:attr/listDivider" />
+
+    <!-- Preference should place its actual preference widget here. -->
+    <LinearLayout
+        android:id="@android:id/widget_frame"
+        android:layout_width="wrap_content"
+        android:layout_height="match_parent"
+        android:gravity="end|center_vertical"
+        android:minWidth="58dp"
+        android:orientation="vertical" />
+
+</LinearLayout>
diff --git a/res/layout/adb_qrcode_scanner_fragment.xml b/res/layout/adb_qrcode_scanner_fragment.xml
new file mode 100644
index 0000000..975256d
--- /dev/null
+++ b/res/layout/adb_qrcode_scanner_fragment.xml
@@ -0,0 +1,110 @@
+<?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.
+-->
+
+<com.google.android.setupdesign.GlifLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:theme="@style/GlifV3Theme.Light"
+    android:icon="@drawable/ic_scan_32dp">
+
+    <LinearLayout
+        style="@style/SudContentFrame"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:orientation="vertical"
+        android:gravity="center_horizontal">
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:orientation="vertical"
+            android:gravity="center_horizontal"
+            android:id="@+id/camera_layout">
+
+            <TextView
+                android:id="@android:id/summary"
+                style="@style/TextAppearance.SudGlifBody"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginStart="?attr/sudMarginSides"
+                android:layout_marginEnd="?attr/sudMarginSides"
+                android:textAlignment="center"
+                android:accessibilityLiveRegion="polite"/>
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:gravity="center"
+                android:orientation="vertical">
+
+                <FrameLayout
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:clipChildren="true">
+                    <TextureView
+                        android:id="@+id/preview_view"
+                        android:layout_width="match_parent"
+                        android:layout_height="@dimen/qrcode_preview_size"/>
+                    <com.android.settings.wifi.qrcode.QrDecorateView
+                        android:id="@+id/decorate_view"
+                        android:layout_width="match_parent"
+                        android:layout_height="@dimen/qrcode_preview_size"/>
+                </FrameLayout>
+
+                <TextView
+                    android:id="@+id/error_message"
+                    style="@style/TextAppearance.ErrorText"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="16dp"
+                    android:layout_marginStart="?attr/sudMarginSides"
+                    android:layout_marginEnd="?attr/sudMarginSides"
+                    android:textAlignment="center"
+                    android:visibility="invisible"/>
+
+            </LinearLayout>
+
+        </LinearLayout>
+
+        <!--
+             The spinner indicating that the device is waiting for pairing
+             after getting valid QR code
+        -->
+        <LinearLayout
+            android:id="@+id/verifying_layout"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:gravity="center"
+            android:orientation="vertical"
+            android:visibility="gone">
+
+            <ProgressBar
+                android:id="@+id/verifying_progress"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"/>
+
+            <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                style="@style/adb_wireless_item_progress_text"
+                android:text="@string/adb_wireless_verifying_qrcode_text"/>
+
+        </LinearLayout>
+
+    </LinearLayout>
+</com.google.android.setupdesign.GlifLayout>
diff --git a/res/layout/adb_wireless_dialog.xml b/res/layout/adb_wireless_dialog.xml
new file mode 100644
index 0000000..31f94c9
--- /dev/null
+++ b/res/layout/adb_wireless_dialog.xml
@@ -0,0 +1,112 @@
+<?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.
+-->
+
+<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
+        android:id="@+id/dialog_scrollview"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:fadeScrollbars="false"
+        android:scrollIndicators="top|bottom">
+
+    <LinearLayout
+            android:id="@+id/l_adbwirelessdialog"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:orientation="vertical"
+            android:paddingBottom="8dip">
+
+        <LinearLayout android:id="@+id/l_pairing_six_digit"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                style="@style/adb_wireless_section"
+                android:visibility="gone">
+
+            <LinearLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    style="@style/adb_wireless_item" >
+                <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        style="@style/adb_wireless_item_label"
+                        android:text="@string/adb_pairing_device_dialog_pairing_code_label"
+                        android:textDirection="locale" />
+
+                <TextView
+                    android:id="@+id/pairing_code"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    style="@style/adb_wireless_item_content" />
+
+                <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        style="@style/adb_wireless_item_label"
+                        android:text="@string/adb_wireless_ip_addr_preference_title"
+                        android:textDirection="locale"
+                        android:paddingTop="8dip"/>
+
+                <TextView
+                        android:id="@+id/ip_addr"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        style="@style/adb_wireless_item_label"
+                        android:text="@string/summary_placeholder"
+                        android:textDirection="locale" />
+            </LinearLayout>
+        </LinearLayout>
+
+        <LinearLayout android:id="@+id/l_pairing_failed"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                style="@style/adb_wireless_section"
+                android:visibility="gone">
+
+            <LinearLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    style="@style/adb_wireless_item" >
+                <TextView
+                        android:id="@+id/pairing_failed_label"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        style="@style/adb_wireless_item_label"
+                        android:textDirection="locale" />
+            </LinearLayout>
+        </LinearLayout>
+
+        <LinearLayout android:id="@+id/l_qrcode_pairing_failed"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                style="@style/adb_wireless_section"
+                android:visibility="gone">
+
+            <LinearLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    style="@style/adb_wireless_item" >
+                <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        style="@style/adb_wireless_item_label"
+                        android:textDirection="locale"
+                        android:text="@string/adb_qrcode_pairing_device_failed_msg"/>
+            </LinearLayout>
+        </LinearLayout>
+
+    </LinearLayout>
+</ScrollView>
+
diff --git a/res/layout/advanced_bt_entity_sub.xml b/res/layout/advanced_bt_entity_sub.xml
index f36379a..17ef865 100644
--- a/res/layout/advanced_bt_entity_sub.xml
+++ b/res/layout/advanced_bt_entity_sub.xml
@@ -38,10 +38,12 @@
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_gravity="center_horizontal"
+        android:gravity="center"
         android:singleLine="false"
         android:ellipsize="marquee"
         android:textDirection="locale"
-        android:layout_marginTop="24dp"/>
+        android:layout_marginTop="24dp"
+        android:textSize="@dimen/advanced_bluetooth_header_title_text_size"/>
 
     <LinearLayout
         android:layout_width="wrap_content"
diff --git a/res/layout/app_preferred_settings.xml b/res/layout/app_preferred_settings.xml
index 1f3b497..b3343f5 100644
--- a/res/layout/app_preferred_settings.xml
+++ b/res/layout/app_preferred_settings.xml
@@ -35,6 +35,7 @@
         android:layout_marginStart="-4dip"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:text="@string/clear_activities" />
+        android:text="@string/clear_activities"
+        style="@style/ActionPrimaryButton" />
 
 </LinearLayout>
diff --git a/res/layout/apps_filter_spinner.xml b/res/layout/apps_filter_spinner.xml
index 23465b9..13d8078 100644
--- a/res/layout/apps_filter_spinner.xml
+++ b/res/layout/apps_filter_spinner.xml
@@ -27,7 +27,8 @@
         android:layout_width="wrap_content"
         android:layout_centerHorizontal="true"
         android:layout_marginTop="16dp"
-        android:layout_marginBottom="8dp"/>
+        android:layout_marginBottom="8dp"
+        android:theme="@style/Widget.PopupWindow.Settings"/>
 
     <ImageView
         android:id="@+id/filter_settings"
diff --git a/res/layout/back_gesture_indicator_container.xml b/res/layout/back_gesture_indicator_container.xml
new file mode 100644
index 0000000..17b9126
--- /dev/null
+++ b/res/layout/back_gesture_indicator_container.xml
@@ -0,0 +1,41 @@
+<?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
+  -->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+              android:orientation="horizontal"
+              android:layout_width="match_parent"
+              android:layout_height="match_parent">
+
+    <ImageView
+        android:layout_width="@dimen/back_gesture_indicator_width"
+        android:layout_height="match_parent"
+        android:id="@+id/indicator_left">
+    </ImageView>
+
+    <Space
+        android:layout_width="0dp"
+        android:layout_height="0dp"
+        android:layout_weight="1" />
+
+    <ImageView
+        android:layout_width="@dimen/back_gesture_indicator_width"
+        android:layout_height="match_parent"
+        android:id="@+id/indicator_right">
+    </ImageView>
+
+</LinearLayout>
+
diff --git a/res/layout/band_mode.xml b/res/layout/band_mode.xml
deleted file mode 100644
index b43dd1d..0000000
--- a/res/layout/band_mode.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2007 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-  
-          http://www.apache.org/licenses/LICENSE-2.0
-  
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-              android:orientation="vertical"
-              android:padding="4dip"
-              android:gravity="center_horizontal"
-              android:layout_width="match_parent"
-              android:layout_height="wrap_content">
-
-    <ListView android:id="@+id/band"
-              android:layout_width="match_parent"
-              android:layout_height="match_parent"
-              android:textSize="7sp">
-    </ListView>
-
-</LinearLayout>
diff --git a/res/layout/bluetooth_audio_bit_per_sample_dialog.xml b/res/layout/bluetooth_audio_bit_per_sample_dialog.xml
new file mode 100644
index 0000000..f0a5dc5
--- /dev/null
+++ b/res/layout/bluetooth_audio_bit_per_sample_dialog.xml
@@ -0,0 +1,58 @@
+<?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.
+-->
+
+<ScrollView
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content">
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:orientation="vertical"
+        android:padding="8dp">
+
+        <RadioGroup
+            android:id="@+id/bluetooth_audio_bit_per_sample_radio_group"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="@dimen/developer_option_dialog_margin_start">
+
+            <include
+                android:id="@+id/bluetooth_audio_bit_per_sample_default"
+                layout="@layout/preference_widget_dialog_radiobutton"/>
+
+            <include
+                android:id="@+id/bluetooth_audio_bit_per_sample_16"
+                layout="@layout/preference_widget_dialog_radiobutton"/>
+
+            <include
+                android:id="@+id/bluetooth_audio_bit_per_sample_24"
+                layout="@layout/preference_widget_dialog_radiobutton"/>
+
+            <include
+                android:id="@+id/bluetooth_audio_bit_per_sample_32"
+                layout="@layout/preference_widget_dialog_radiobutton"/>
+        </RadioGroup>
+
+        <include
+            android:id="@+id/bluetooth_audio_codec_help_info"
+            layout="@layout/preference_widget_dialog_summary"/>
+
+    </LinearLayout>
+
+</ScrollView>
+
diff --git a/res/layout/bluetooth_audio_channel_mode_dialog.xml b/res/layout/bluetooth_audio_channel_mode_dialog.xml
new file mode 100644
index 0000000..9154ee4
--- /dev/null
+++ b/res/layout/bluetooth_audio_channel_mode_dialog.xml
@@ -0,0 +1,54 @@
+<?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.
+-->
+
+<ScrollView
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content">
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:orientation="vertical"
+        android:padding="8dp">
+
+        <RadioGroup
+            android:id="@+id/bluetooth_audio_channel_mode_radio_group"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="@dimen/developer_option_dialog_margin_start">
+
+            <include
+                android:id="@+id/bluetooth_audio_channel_mode_default"
+                layout="@layout/preference_widget_dialog_radiobutton"/>
+
+            <include
+                android:id="@+id/bluetooth_audio_channel_mode_mono"
+                layout="@layout/preference_widget_dialog_radiobutton"/>
+
+            <include
+                android:id="@+id/bluetooth_audio_channel_mode_stereo"
+                layout="@layout/preference_widget_dialog_radiobutton"/>
+        </RadioGroup>
+
+        <include
+                android:id="@+id/bluetooth_audio_codec_help_info"
+                layout="@layout/preference_widget_dialog_summary"/>
+
+    </LinearLayout>
+
+</ScrollView>
+
diff --git a/res/layout/bluetooth_audio_codec_dialog.xml b/res/layout/bluetooth_audio_codec_dialog.xml
new file mode 100644
index 0000000..9636427
--- /dev/null
+++ b/res/layout/bluetooth_audio_codec_dialog.xml
@@ -0,0 +1,66 @@
+<?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.
+-->
+
+<ScrollView
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content">
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:orientation="vertical"
+        android:padding="8dp">
+
+        <RadioGroup
+            android:id="@+id/bluetooth_audio_codec_radio_group"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="@dimen/developer_option_dialog_margin_start">
+
+            <include
+                android:id="@+id/bluetooth_audio_codec_default"
+                layout="@layout/preference_widget_dialog_radiobutton"/>
+
+            <include
+                android:id="@+id/bluetooth_audio_codec_sbc"
+                layout="@layout/preference_widget_dialog_radiobutton"/>
+
+            <include
+                android:id="@+id/bluetooth_audio_codec_aac"
+                layout="@layout/preference_widget_dialog_radiobutton"/>
+
+            <include
+                android:id="@+id/bluetooth_audio_codec_aptx"
+                layout="@layout/preference_widget_dialog_radiobutton"/>
+
+            <include
+                android:id="@+id/bluetooth_audio_codec_aptx_hd"
+                layout="@layout/preference_widget_dialog_radiobutton"/>
+
+            <include
+                android:id="@+id/bluetooth_audio_codec_ldac"
+                layout="@layout/preference_widget_dialog_radiobutton"/>
+        </RadioGroup>
+
+        <include
+                android:id="@+id/bluetooth_audio_codec_help_info"
+                layout="@layout/preference_widget_dialog_summary"/>
+
+    </LinearLayout>
+
+</ScrollView>
+
diff --git a/res/layout/bluetooth_audio_quality_dialog.xml b/res/layout/bluetooth_audio_quality_dialog.xml
new file mode 100644
index 0000000..c3c1977
--- /dev/null
+++ b/res/layout/bluetooth_audio_quality_dialog.xml
@@ -0,0 +1,59 @@
+<?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.
+-->
+
+<ScrollView
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content">
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:orientation="vertical"
+        android:padding="8dp">
+
+        <RadioGroup
+            android:id="@+id/bluetooth_audio_quality_radio_group"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="@dimen/developer_option_dialog_margin_start">
+
+            <include
+                android:id="@+id/bluetooth_audio_quality_default"
+                layout="@layout/preference_widget_dialog_radiobutton"/>
+
+            <include
+                android:id="@+id/bluetooth_audio_quality_optimized_quality"
+                layout="@layout/preference_widget_dialog_radiobutton"/>
+
+            <include
+                android:id="@+id/bluetooth_audio_quality_optimized_connection"
+                layout="@layout/preference_widget_dialog_radiobutton"/>
+
+            <include
+                android:id="@+id/bluetooth_audio_quality_best_effort"
+                layout="@layout/preference_widget_dialog_radiobutton"/>
+
+        </RadioGroup>
+
+        <include
+            android:id="@+id/bluetooth_audio_codec_help_info"
+            layout="@layout/preference_widget_dialog_summary"/>
+
+    </LinearLayout>
+
+</ScrollView>
+
diff --git a/res/layout/bluetooth_audio_sample_rate_dialog.xml b/res/layout/bluetooth_audio_sample_rate_dialog.xml
new file mode 100644
index 0000000..03bbe48
--- /dev/null
+++ b/res/layout/bluetooth_audio_sample_rate_dialog.xml
@@ -0,0 +1,61 @@
+<?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.
+-->
+
+<ScrollView
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content">
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:orientation="vertical"
+        android:padding="8dp">
+
+        <RadioGroup
+            android:id="@+id/bluetooth_audio_sample_rate_radio_group"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="@dimen/developer_option_dialog_margin_start">
+
+            <include
+                android:id="@+id/bluetooth_audio_sample_rate_default"
+                layout="@layout/preference_widget_dialog_radiobutton"/>
+
+            <include
+                android:id="@+id/bluetooth_audio_sample_rate_441"
+                layout="@layout/preference_widget_dialog_radiobutton"/>
+
+            <include
+                android:id="@+id/bluetooth_audio_sample_rate_480"
+                layout="@layout/preference_widget_dialog_radiobutton"/>
+
+            <include
+                android:id="@+id/bluetooth_audio_sample_rate_882"
+                layout="@layout/preference_widget_dialog_radiobutton"/>
+
+            <include
+                android:id="@+id/bluetooth_audio_sample_rate_960"
+                layout="@layout/preference_widget_dialog_radiobutton"/>
+        </RadioGroup>
+
+        <include
+            android:id="@+id/bluetooth_audio_codec_help_info"
+            layout="@layout/preference_widget_dialog_summary"/>
+
+    </LinearLayout>
+
+</ScrollView>
diff --git a/res/layout/ca_certificate_warning_dialog.xml b/res/layout/ca_certificate_warning_dialog.xml
new file mode 100644
index 0000000..d863b08
--- /dev/null
+++ b/res/layout/ca_certificate_warning_dialog.xml
@@ -0,0 +1,56 @@
+<?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.
+  -->
+<com.google.android.setupdesign.GlifLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/setup_wizard_layout"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
+
+    <LinearLayout
+        style="@style/SudContentFrame"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:orientation="vertical"
+        android:gravity="center_horizontal">
+
+        <ImageView
+            android:id="@+id/sud_layout_icon"
+            style="@style/SudGlifIcon"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:gravity="center"
+            android:src="@drawable/ic_warning_googred_48dp"/>
+
+        <TextView
+            android:id="@+id/sud_layout_title"
+            style="@style/SudGlifHeaderTitle"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:gravity="center"
+            android:text="@string/ca_certificate_warning_title"/>
+
+        <TextView
+            android:id="@+id/sud_layout_description"
+            style="@style/SudDescription.Glif"
+            android:layout_marginTop="16dp"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:text="@string/ca_certificate_warning_description"/>
+
+    </LinearLayout>
+
+</com.google.android.setupdesign.GlifLayout>
\ No newline at end of file
diff --git a/res/layout/choose_lock_password.xml b/res/layout/choose_lock_password.xml
index be947dc..3914551 100644
--- a/res/layout/choose_lock_password.xml
+++ b/res/layout/choose_lock_password.xml
@@ -63,6 +63,7 @@
                 style="@style/TextAppearance.PasswordEntry"/>
 
             <androidx.recyclerview.widget.RecyclerView
+                android:layout_marginTop="8dp"
                 android:id="@+id/password_requirements_view"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"/>
diff --git a/res/layout/conditional_card_full_tile.xml b/res/layout/conditional_card_full_tile.xml
index 81889fb..4c0da17 100644
--- a/res/layout/conditional_card_full_tile.xml
+++ b/res/layout/conditional_card_full_tile.xml
@@ -57,7 +57,7 @@
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:layout_marginBottom="@dimen/contextual_condition_card_title_margin_bottom"
-                    android:textAppearance="@style/TextAppearance.ConditionCardTitle"/>
+                    android:textAppearance="@style/TextAppearance.HomepageCardTitle"/>
 
                 <TextView
                     android:id="@android:id/summary"
diff --git a/res/layout/conditional_card_half_tile.xml b/res/layout/conditional_card_half_tile.xml
index 9bbaf86..6f83ef3 100644
--- a/res/layout/conditional_card_half_tile.xml
+++ b/res/layout/conditional_card_half_tile.xml
@@ -51,7 +51,7 @@
                 android:layout_marginStart="@dimen/contextual_card_text_padding_start"
                 android:layout_marginTop="@dimen/contextual_condition_half_card_title_margin_top"
                 android:layout_marginBottom="@dimen/contextual_condition_card_title_margin_bottom"
-                android:textAppearance="@style/TextAppearance.ConditionCardTitle"/>
+                android:textAppearance="@style/TextAppearance.HomepageCardTitle"/>
 
             <TextView
                 android:id="@android:id/summary"
diff --git a/res/layout/confirm_lock_password_base.xml b/res/layout/confirm_lock_password_base.xml
index ed25e74..a0935bf 100644
--- a/res/layout/confirm_lock_password_base.xml
+++ b/res/layout/confirm_lock_password_base.xml
@@ -13,55 +13,62 @@
      See the License for the specific language governing permissions and
      limitations under the License.
 -->
-<FrameLayout
+<com.google.android.setupdesign.GlifLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/setup_wizard_layout"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    android:importantForAutofill="noExcludeDescendants">
-
-    <include layout="@layout/confirm_lock_background_base" />
+    android:icon="@drawable/ic_enterprise"
+    android:layout="@layout/sud_glif_blank_template">
 
     <com.android.internal.widget.LinearLayoutWithDefaultTouchRecepient
-        xmlns:android="http://schemas.android.com/apk/res/android"
         android:id="@+id/topLayout"
         android:orientation="vertical"
-        android:layout_width="@dimen/confirm_credentials_layout_width"
-        android:layout_height="match_parent"
-        android:layout_gravity="top|center_horizontal"
-        android:paddingTop="@dimen/confirm_credentials_top_padding">
+        android:layout_width="match_parent"
+        android:layout_height="match_parent">
 
-        <TextView
-            style="@*android:style/TextAppearance.DeviceDefault.Headline"
-            android:id="@+id/headerText"
-            android:layout_marginStart="?attr/confirmDeviceCredentialsSideMargin"
-            android:layout_marginEnd="?attr/confirmDeviceCredentialsSideMargin"
-            android:layout_marginTop="?attr/confirmDeviceCredentialsTopMargin"
-            android:layout_width="wrap_content"
+        <LinearLayout
+            android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:textColor="?android:attr/colorAccent"/>
+            android:orientation="vertical">
 
-        <TextView
-            style="@*android:style/TextAppearance.DeviceDefault.Body1"
-            android:id="@+id/sud_layout_description"
-            android:layout_marginStart="?attr/confirmDeviceCredentialsSideMargin"
-            android:layout_marginEnd="?attr/confirmDeviceCredentialsSideMargin"
-            android:layout_marginTop="12dp"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content" />
+            <ImageView
+                android:id="@+id/sud_layout_icon"
+                style="@style/SudGlifIcon"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_gravity="?attr/sudGlifHeaderGravity"
+                android:src="@drawable/ic_enterprise" />
 
-        <Button
-            style="@android:style/Widget.Material.Button.Borderless"
-            android:id="@+id/cancelButton"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:text="@string/cancel"
-            android:layout_marginStart="16dp"
-            android:layout_marginEnd="16dp"
-            android:layout_marginTop="16dp"/>
+            <TextView
+                android:id="@+id/headerText"
+                style="@style/SudGlifHeaderTitle"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content" />
 
-        <View android:layout_width="match_parent"
-              android:layout_height="0dp"
-              android:layout_weight="1"/>
+            <TextView
+                android:id="@+id/sud_layout_description"
+                style="@style/SudDescription.Glif"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginStart="?attr/sudMarginSides"
+                android:layout_marginEnd="?attr/sudMarginSides" />
+
+            <Button
+                android:id="@+id/forgotButton"
+                style="@style/SudGlifButton.Secondary"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginStart="?attr/sudMarginSides"
+                android:layout_marginEnd="?attr/sudMarginSides"
+                android:layout_gravity="center"
+                android:visibility="gone" />
+        </LinearLayout>
+
+        <Space
+            android:layout_width="match_parent"
+            android:layout_height="0dp"
+            android:layout_weight="1" />
 
         <LinearLayout
             android:layout_width="match_parent"
@@ -73,6 +80,7 @@
                 android:id="@+id/password_entry"
                 android:layout_width="208dp"
                 android:layout_height="wrap_content"
+                android:layout_gravity="center_horizontal"
                 android:inputType="textPassword"
                 android:imeOptions="actionNext|flagNoFullscreen|flagForceAscii"
                 android:gravity="center"
@@ -84,10 +92,27 @@
                 android:id="@+id/errorText"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
+                android:layout_marginTop="8dp"
                 android:layout_marginStart="12dp"
                 android:layout_marginEnd="12dp"/>
 
         </LinearLayout>
 
+        <Space
+            android:layout_width="match_parent"
+            android:layout_height="0dp"
+            android:layout_weight="1" />
+
+        <Button
+            android:id="@+id/cancelButton"
+            style="@style/SudGlifButton.Secondary"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="?attr/sudMarginSides"
+            android:layout_marginEnd="?attr/sudMarginSides"
+            android:layout_marginBottom="80dp"
+            android:layout_gravity="center_horizontal"
+            android:text="@string/cancel" />
+
     </com.android.internal.widget.LinearLayoutWithDefaultTouchRecepient>
-</FrameLayout>
+</com.google.android.setupdesign.GlifLayout>
diff --git a/res/layout/confirm_lock_password_normal.xml b/res/layout/confirm_lock_password_normal.xml
index 61d8505..9021f24 100644
--- a/res/layout/confirm_lock_password_normal.xml
+++ b/res/layout/confirm_lock_password_normal.xml
@@ -61,6 +61,9 @@
                 style="@style/TextAppearance.ErrorText"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
+                android:layout_marginTop="8dp"
+                android:layout_marginStart="12dp"
+                android:layout_marginEnd="12dp"
                 android:accessibilityLiveRegion="polite"/>
 
         </LinearLayout>
diff --git a/res/layout/confirm_lock_pattern_base.xml b/res/layout/confirm_lock_pattern_base.xml
index b02f9c0..9a37eaa 100644
--- a/res/layout/confirm_lock_pattern_base.xml
+++ b/res/layout/confirm_lock_pattern_base.xml
@@ -13,91 +13,105 @@
      See the License for the specific language governing permissions and
      limitations under the License.
 -->
-<FrameLayout
+<com.google.android.setupdesign.GlifLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/setup_wizard_layout"
     android:layout_width="match_parent"
-    android:layout_height="match_parent" >
-
-    <include layout="@layout/confirm_lock_background_base" />
+    android:layout_height="match_parent"
+    android:icon="@drawable/ic_enterprise"
+    android:layout="@layout/sud_glif_blank_template">
 
     <com.android.internal.widget.LinearLayoutWithDefaultTouchRecepient
-        xmlns:android="http://schemas.android.com/apk/res/android"
         android:id="@+id/topLayout"
         android:orientation="vertical"
-        android:layout_width="@dimen/confirm_credentials_layout_width"
-        android:layout_height="match_parent"
-        android:layout_gravity="top|center_horizontal"
-        android:paddingTop="@dimen/confirm_credentials_top_padding">
-
-        <ScrollView
-            android:layout_width="match_parent"
-            android:layout_height="0dp"
-            android:layout_weight="2">
-
-            <LinearLayout
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:orientation="vertical">
-
-                <TextView
-                    style="@*android:style/TextAppearance.DeviceDefault.Headline"
-                    android:id="@+id/headerText"
-                    android:layout_marginStart="?attr/confirmDeviceCredentialsSideMargin"
-                    android:layout_marginEnd="?attr/confirmDeviceCredentialsSideMargin"
-                    android:layout_marginTop="?attr/confirmDeviceCredentialsTopMargin"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:textColor="?android:attr/colorAccent"/>
-
-                <TextView
-                    style="@*android:style/TextAppearance.DeviceDefault.Body1"
-                    android:id="@+id/sud_layout_description"
-                    android:layout_marginStart="?attr/confirmDeviceCredentialsSideMargin"
-                    android:layout_marginEnd="?attr/confirmDeviceCredentialsSideMargin"
-                    android:layout_marginTop="12dp"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"/>
-
-                <Button
-                    style="@android:style/Widget.Material.Button.Borderless"
-                    android:id="@+id/cancelButton"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:text="@string/cancel"
-                    android:layout_marginStart="16dp"
-                    android:layout_marginEnd="16dp"
-                    android:layout_marginTop="16dp"/>
-            </LinearLayout>
-
-        </ScrollView>
-
-        <com.android.internal.widget.LockPatternView
-            android:id="@+id/lockPattern"
-            android:layout_width="312dp"
-            android:layout_height="0dp"
-            android:layout_weight="3"
-            android:layout_gravity="center_horizontal"/>
+        android:layout_width="match_parent"
+        android:layout_height="match_parent">
 
         <LinearLayout
             android:layout_width="match_parent"
-            android:layout_height="0dp"
-            android:layout_weight="1"
-            android:orientation="vertical">
+            android:layout_height="wrap_content"
+            android:orientation="vertical"
+            android:paddingBottom="24dp">
+
+            <ImageView
+                android:id="@+id/sud_layout_icon"
+                style="@style/SudGlifIcon"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_gravity="?attr/sudGlifHeaderGravity"
+                android:src="@drawable/ic_enterprise" />
+
+            <TextView
+                android:id="@+id/headerText"
+                style="@style/SudGlifHeaderTitle"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content" />
+
+            <TextView
+                android:id="@+id/sud_layout_description"
+                style="@style/SudDescription.Glif"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginStart="?attr/sudMarginSides"
+                android:layout_marginEnd="?attr/sudMarginSides" />
+
+            <Button
+                android:id="@+id/cancelButton"
+                style="@style/SudGlifButton.Secondary"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginStart="?attr/sudMarginSides"
+                android:layout_marginEnd="?attr/sudMarginSides"
+                android:layout_marginBottom="80dp"
+                android:text="@string/cancel" />
+
+            <Button
+                android:id="@+id/forgotButton"
+                style="@style/SudGlifButton.Secondary"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginStart="?attr/sudMarginSides"
+                android:layout_marginEnd="?attr/sudMarginSides"
+                android:layout_gravity="center"
+                android:visibility="gone" />
+
+        </LinearLayout>
+
+        <LinearLayout
+            style="@style/SudContentFrame"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:orientation="vertical"
+            android:gravity="center"
+            android:paddingLeft="0dp"
+            android:paddingRight="0dp">
+
+            <com.google.android.setupdesign.view.FillContentLayout
+                style="@style/LockPatternContainerStyle"
+                android:layout_width="wrap_content"
+                android:layout_height="0dp"
+                android:layout_weight="1">
+
+                <com.android.internal.widget.LockPatternView
+                    android:id="@+id/lockPattern"
+                    android:layout_width="match_parent"
+                    android:layout_height="match_parent"
+                    android:layout_gravity="center" />
+
+            </com.google.android.setupdesign.view.FillContentLayout>
 
             <TextView
                 style="@style/TextAppearance.ErrorText"
                 android:accessibilityLiveRegion="polite"
                 android:id="@+id/errorText"
                 android:layout_width="wrap_content"
-                android:layout_height="0dp"
-                android:layout_weight="1"
+                android:layout_height="wrap_content"
                 android:layout_gravity="center_horizontal"
+                android:layout_marginHorizontal="?attr/sudMarginSides"
                 android:layout_marginTop="12dp"
-                android:layout_marginStart="12dp"
-                android:layout_marginEnd="12dp"
                 android:gravity="center_vertical"/>
 
         </LinearLayout>
 
     </com.android.internal.widget.LinearLayoutWithDefaultTouchRecepient>
-</FrameLayout>
+</com.google.android.setupdesign.GlifLayout>
diff --git a/res/layout/contextual_slice_deferred_setup.xml b/res/layout/contextual_slice_deferred_setup.xml
deleted file mode 100644
index 7d5b688..0000000
--- a/res/layout/contextual_slice_deferred_setup.xml
+++ /dev/null
@@ -1,72 +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.
-  -->
-
-<com.google.android.material.card.MaterialCardView
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    style="@style/ContextualCardStyle"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content">
-
-    <LinearLayout
-        android:id="@+id/content"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:gravity="start"
-        android:orientation="vertical"
-        android:paddingEnd="@dimen/contextual_card_padding_end"
-        android:paddingTop="@dimen/contextual_deferred_setup_card_padding_top"
-        android:paddingBottom="@dimen/contextual_deferred_setup_card_padding_bottom">
-
-        <ImageView
-            android:id="@android:id/icon"
-            android:layout_width="@dimen/contextual_card_icon_size"
-            android:layout_height="@dimen/contextual_card_icon_size"
-            android:layout_marginStart="@dimen/contextual_card_icon_padding_start"/>
-
-        <TextView
-            android:id="@android:id/title"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginStart="@dimen/contextual_card_text_padding_start"
-            android:layout_marginTop="@dimen/contextual_deferred_setup_card_title_margin_top"
-            android:ellipsize="end"
-            android:maxLines="2"
-            android:minLines="1"
-            android:textAppearance="@style/TextAppearance.DeferredSetupCardTitle"/>
-
-        <TextView
-            android:id="@android:id/summary"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginStart="@dimen/contextual_card_text_padding_start"
-            android:layout_marginTop="@dimen/contextual_deferred_setup_card_summary_margin_top"
-            android:ellipsize="end"
-            android:maxLines="2"
-            android:minLines="1"
-            android:textAppearance="@style/TextAppearance.DeferredSetupCardSummary"/>
-
-        <Button
-            android:id="@+id/finish_setup"
-            style="@style/DeferredSetupCardButton"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginStart="@dimen/contextual_card_text_padding_start"
-            android:layout_marginTop="@dimen/contextual_deferred_setup_card_button_margin_top"
-            android:text="@string/suggestion_button_text"/>
-
-    </LinearLayout>
-</com.google.android.material.card.MaterialCardView>
\ No newline at end of file
diff --git a/res/layout/contextual_slice_full_tile.xml b/res/layout/contextual_slice_full_tile.xml
index b67b777..4b1155e 100644
--- a/res/layout/contextual_slice_full_tile.xml
+++ b/res/layout/contextual_slice_full_tile.xml
@@ -21,22 +21,17 @@
     android:layout_height="wrap_content"
     style="@style/ContextualCardStyle">
 
-    <FrameLayout
+    <include layout="@layout/dismissal_swipe_background"/>
+
+    <androidx.slice.widget.SliceView
+        android:id="@+id/slice_view"
+        android:theme="@style/Theme.Settings.ContextualCard"
+        style="@style/ContextualCardSliceViewStyle"
         android:layout_width="match_parent"
-        android:layout_height="match_parent">
+        android:layout_height="wrap_content"
+        android:importantForAccessibility="no"/>
 
-        <include layout="@layout/dismissal_swipe_background"/>
+    <!--dismissal view-->
+    <include layout="@layout/contextual_card_dismissal_view"/>
 
-        <androidx.slice.widget.SliceView
-            android:id="@+id/slice_view"
-            style="@style/ContextualCardSliceViewStyle"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:layout_gravity="center_vertical"
-            android:importantForAccessibility="no"/>
-
-        <!--dismissal view-->
-        <include layout="@layout/contextual_card_dismissal_view"/>
-
-    </FrameLayout>
 </com.google.android.material.card.MaterialCardView>
\ No newline at end of file
diff --git a/res/layout/contextual_slice_half_tile.xml b/res/layout/contextual_slice_half_tile.xml
index 490b0ac..d2011ad 100644
--- a/res/layout/contextual_slice_half_tile.xml
+++ b/res/layout/contextual_slice_half_tile.xml
@@ -52,7 +52,7 @@
                 android:ellipsize="end"
                 android:layout_marginStart="@dimen/contextual_card_text_padding_start"
                 android:layout_marginTop="@dimen/contextual_half_card_title_margin_top"
-                android:textAppearance="@style/TextAppearance.ConditionCardTitle"/>
+                android:textAppearance="@style/TextAppearance.HomepageCardTitle"/>
 
         </LinearLayout>
 
diff --git a/res/layout/contextual_slice_sticky_tile.xml b/res/layout/contextual_slice_sticky_tile.xml
new file mode 100644
index 0000000..5991068
--- /dev/null
+++ b/res/layout/contextual_slice_sticky_tile.xml
@@ -0,0 +1,32 @@
+<?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.
+-->
+
+<com.google.android.material.card.MaterialCardView
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    style="@style/ContextualCardStyle">
+
+    <androidx.slice.widget.SliceView
+        android:id="@+id/slice_view"
+        android:theme="@style/Theme.Settings.ContextualCard"
+        style="@style/ContextualCardSliceViewStyle"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:importantForAccessibility="no"/>
+
+</com.google.android.material.card.MaterialCardView>
diff --git a/res/layout/crypt_keeper_emergency_button.xml b/res/layout/crypt_keeper_emergency_button.xml
index 0b6f810..6efcf5a 100644
--- a/res/layout/crypt_keeper_emergency_button.xml
+++ b/res/layout/crypt_keeper_emergency_button.xml
@@ -24,8 +24,7 @@
     android:layout_width="match_parent"
     android:layout_height="0dp"
     android:layout_weight="1"
-    android:orientation="vertical"
-    android:gravity="bottom">
+    android:orientation="vertical">
     <Button
         android:id="@+id/emergencyCallButton"
         android:layout_width="wrap_content"
diff --git a/res/layout/daltonizer_preview.xml b/res/layout/daltonizer_preview.xml
new file mode 100644
index 0000000..bdf1070
--- /dev/null
+++ b/res/layout/daltonizer_preview.xml
@@ -0,0 +1,29 @@
+<?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
+  -->
+
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/preview_viewport"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content">
+
+    <com.android.settings.accessibility.PaletteListView
+        android:id="@+id/palette_listView"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:importantForAccessibility="noHideDescendants" />
+
+</FrameLayout>
diff --git a/res/layout/data_usage_bytes_editor.xml b/res/layout/data_usage_bytes_editor.xml
index 2878c3e..a72352d 100644
--- a/res/layout/data_usage_bytes_editor.xml
+++ b/res/layout/data_usage_bytes_editor.xml
@@ -28,6 +28,7 @@
         android:layout_height="wrap_content"
         android:layout_weight="1"
         android:minWidth="48dip"
+        android:minHeight="48dp"
         android:layout_gravity="center_vertical"
         android:focusable="true"
         android:focusableInTouchMode="true"
@@ -36,7 +37,7 @@
     <Spinner
         android:id="@+id/size_spinner"
         android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
+        android:layout_height="match_parent"
         android:layout_gravity="center_vertical"
         android:entries="@array/bytes_picker_sizes" />
 
diff --git a/res/layout/device_admin_add.xml b/res/layout/device_admin_add.xml
index 29d7b53..7fdcd8d 100644
--- a/res/layout/device_admin_add.xml
+++ b/res/layout/device_admin_add.xml
@@ -86,13 +86,16 @@
                     android:orientation="horizontal"
                     android:gravity="center_vertical">
 
-                    <ImageView android:id="@+id/add_msg_expander"
+                    <ImageView
+                        android:id="@+id/add_msg_expander"
                         android:layout_width="wrap_content"
                         android:layout_height="wrap_content"
+                        android:importantForAccessibility="no"
                         android:gravity="center_vertical"
                         android:contentDescription="@null" />
 
-                    <TextView android:id="@+id/add_msg"
+                    <TextView
+                        android:id="@+id/add_msg"
                         android:layout_width="fill_parent"
                         android:layout_height="wrap_content"
                         android:gravity="center_vertical"
diff --git a/res/layout/dialog_back_gesture_sensitivity.xml b/res/layout/dialog_back_gesture_sensitivity.xml
deleted file mode 100644
index 37ef771..0000000
--- a/res/layout/dialog_back_gesture_sensitivity.xml
+++ /dev/null
@@ -1,67 +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
-  -->
-
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:orientation="vertical"
-    android:padding="12dp">
-
-    <SeekBar
-        android:id="@+id/back_sensitivity_seekbar"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_gravity="center"
-        android:min="0"
-        android:max="3"
-        style="@android:style/Widget.Material.SeekBar.Discrete"
-        android:theme="@*android:style/ThemeOverlay.DeviceDefault.Accent" />
-
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:orientation="horizontal"
-        android:layout_marginTop="2dp"
-        android:layout_marginBottom="8dp">
-
-        <TextView android:id="@+id/low_tick"
-                  android:layout_width="match_parent"
-                  android:layout_height="wrap_content"
-                  android:layout_weight="1"
-                  android:layout_marginBottom="2dp"
-                  android:layout_marginStart="12dp"
-                  android:gravity="start"
-                  android:text="@string/low_label"
-                  android:textAppearance="?android:attr/textAppearance"
-                  android:singleLine="true"
-                  android:ellipsize="marquee" />
-
-        <TextView android:id="@+id/high_tick"
-                  android:layout_width="match_parent"
-                  android:layout_height="wrap_content"
-                  android:layout_weight="1"
-                  android:layout_marginBottom="2dp"
-                  android:layout_marginEnd="12dp"
-                  android:gravity="end"
-                  android:text="@string/high_label"
-                  android:textAppearance="?android:attr/textAppearance"
-                  android:singleLine="true"
-                  android:ellipsize="marquee" />
-
-    </LinearLayout>
-</LinearLayout>
\ No newline at end of file
diff --git a/res/layout/dialog_edittext.xml b/res/layout/dialog_edittext.xml
index 22729b6..f7062f0 100644
--- a/res/layout/dialog_edittext.xml
+++ b/res/layout/dialog_edittext.xml
@@ -28,6 +28,7 @@
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:inputType="textCapSentences"
+        android:minHeight="@dimen/min_tap_target_size"
         android:maxLength="50"
         android:singleLine="true" />
 </LinearLayout>
diff --git a/res/layout/disable_accessibility_service_dialog_content.xml b/res/layout/disable_accessibility_service_dialog_content.xml
deleted file mode 100644
index e365484..0000000
--- a/res/layout/disable_accessibility_service_dialog_content.xml
+++ /dev/null
@@ -1,71 +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
-  -->
-
-<ScrollView
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="fill_parent"
-    android:layout_height="fill_parent"
-    android:textDirection="locale"
-    android:scrollbarStyle="outsideOverlay"
-    android:gravity="top">
-
-    <LinearLayout
-        android:theme="@style/Theme.AlertDialog"
-        style="@style/AccessibilityDialog">
-
-        <LinearLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:orientation="vertical"
-            android:gravity="center_horizontal"
-            android:paddingTop="32dp"
-            android:paddingLeft="24dp"
-            android:paddingRight="24dp">
-
-            <TextView
-                android:id="@+id/permissionDialog_disable_title"
-                style="@style/AccessibilityDialogTitle" />
-
-            <TextView
-                android:id="@+id/permissionDialog_disable_message"
-                android:gravity="center"
-                android:text="@string/accessibility_service_warning_description"
-                style="@style/AccessibilityDialogDescription" />
-
-        </LinearLayout>
-            <!-- Buttons on bottom of dialog -->
-            <LinearLayout
-                style="@style/AccessibilityDialogButtonList">
-
-                <Space
-                    style="@style/AccessibilityDialogButtonBarSpace"/>
-
-                <Button
-                    android:id="@+id/permission_disable_stop_button"
-                    android:text="@string/accessibility_dialog_button_stop"
-                    style="@style/AccessibilityDialogButtonAllow" />
-
-                <Button
-                    android:id="@+id/permission_disable_cancel_button"
-                    android:text="@string/accessibility_dialog_button_cancel"
-                    style="@style/AccessibilityDialogButtonDeny" />
-
-            </LinearLayout>
-
-    </LinearLayout>
-
-</ScrollView>
diff --git a/res/layout/dsu_terms_of_service.xml b/res/layout/dsu_terms_of_service.xml
new file mode 100644
index 0000000..8c75557
--- /dev/null
+++ b/res/layout/dsu_terms_of_service.xml
@@ -0,0 +1,45 @@
+<?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.
+-->
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical" >
+
+    <ScrollView
+        android:layout_width="match_parent"
+        android:layout_height="0dip"
+        android:layout_marginStart="16dp"
+        android:layout_marginEnd="16dp"
+        android:layout_marginTop="16dp"
+        android:layout_weight="1" >
+        <TextView android:id="@+id/tos_content"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="8dip"
+            android:layout_marginBottom="16dip"
+            android:textAppearance="?android:attr/textAppearanceSmall" />
+    </ScrollView>
+
+    <Button android:id="@+id/accept"
+        android:layout_gravity="center_horizontal"
+        android:layout_marginTop="16dip"
+        android:layout_marginBottom="16dip"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:text="@string/assistant_security_warning_agree"
+        android:gravity="center" />
+
+</LinearLayout>
diff --git a/res/layout/edit_user_info_dialog_content.xml b/res/layout/edit_user_info_dialog_content.xml
index 30ae1d8..62c711b 100644
--- a/res/layout/edit_user_info_dialog_content.xml
+++ b/res/layout/edit_user_info_dialog_content.xml
@@ -37,6 +37,7 @@
         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"
diff --git a/res/layout/enable_accessibility_service_dialog_content.xml b/res/layout/enable_accessibility_service_dialog_content.xml
index 066c339..59cb6dd 100644
--- a/res/layout/enable_accessibility_service_dialog_content.xml
+++ b/res/layout/enable_accessibility_service_dialog_content.xml
@@ -127,12 +127,12 @@
             <Button
                 android:id="@+id/permission_enable_allow_button"
                 android:text="@string/accessibility_dialog_button_allow"
-                style="@style/AccessibilityDialogButtonAllow" />
+                style="@style/AccessibilityDialogButton" />
 
             <Button
                 android:id="@+id/permission_enable_deny_button"
                 android:text="@string/accessibility_dialog_button_deny"
-                style="@style/AccessibilityDialogButtonDeny" />
+                style="@style/AccessibilityDialogButton" />
 
         </LinearLayout>
     </LinearLayout>
diff --git a/res/layout/face_enroll_button.xml b/res/layout/face_enroll_button.xml
index 2a6d676..f40c42c 100644
--- a/res/layout/face_enroll_button.xml
+++ b/res/layout/face_enroll_button.xml
@@ -17,7 +17,8 @@
 <LinearLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
-    android:layout_height="wrap_content">
+    android:layout_height="wrap_content"
+    android:minHeight="?android:attr/listPreferredItemHeight">
 
     <Button
         android:id="@+id/security_settings_face_settings_enroll_button"
diff --git a/res/layout/face_remove_button.xml b/res/layout/face_remove_button.xml
index 7fd28b6..98459f0 100644
--- a/res/layout/face_remove_button.xml
+++ b/res/layout/face_remove_button.xml
@@ -17,7 +17,8 @@
 <LinearLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
-    android:layout_height="wrap_content">
+    android:layout_height="wrap_content"
+    android:minHeight="?android:attr/listPreferredItemHeight">
 
     <Button
         android:id="@+id/security_settings_face_settings_remove_button"
diff --git a/res/layout/forgot_password_activity.xml b/res/layout/forgot_password_activity.xml
new file mode 100644
index 0000000..ed1e2d2
--- /dev/null
+++ b/res/layout/forgot_password_activity.xml
@@ -0,0 +1,40 @@
+<?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.
+  -->
+
+<com.google.android.setupdesign.GlifLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:id="@+id/setup_wizard_layout"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:icon="@drawable/ic_help_outline_32"
+    app:sucHeaderText="@string/forgot_password_title">
+
+    <LinearLayout
+        style="@style/SudContentFrame"
+        android:orientation="vertical"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent">
+
+        <TextView
+            style="@style/SudDescription.Glif"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:gravity="center"
+            android:text="@string/forgot_password_text" />
+    </LinearLayout>
+</com.google.android.setupdesign.GlifLayout>
diff --git a/res/layout/interact_across_profiles_consent_dialog.xml b/res/layout/interact_across_profiles_consent_dialog.xml
new file mode 100644
index 0000000..6052508
--- /dev/null
+++ b/res/layout/interact_across_profiles_consent_dialog.xml
@@ -0,0 +1,114 @@
+<?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.
+  -->
+
+<RelativeLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/interact_across_profiles_dialog_layout"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:paddingStart="24dp"
+    android:paddingEnd="24dp"
+    android:orientation="horizontal">
+
+    <ScrollView
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content">
+        <LinearLayout
+            android:id="@+id/interact_across_profiles_dialog"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_centerHorizontal="true"
+            android:gravity="start"
+            android:orientation="vertical">
+
+            <TextView
+                android:id="@+id/interact_across_profiles_consent_dialog_title"
+                android:text="@string/interact_across_profiles_consent_dialog_title"
+                style="@style/CrossProfileConsentDialogTitle"/>
+
+            <TextView
+                android:id="@+id/interact_across_profiles_consent_dialog_summary"
+                android:text="@string/interact_across_profiles_consent_dialog_summary"
+                style="@style/CrossProfileConsentDialogDescription"/>
+
+            <LinearLayout
+                android:id="@+id/app_data_content"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:paddingBottom="16pt"
+                android:gravity="start"
+                android:orientation="horizontal">
+
+                <ImageView
+                    android:id="@+id/app_data_icon"
+                    android:src="@drawable/ic_analytics_grey"
+                    style="@style/CrossProfileConsentDialogIcon"/>
+
+                <LinearLayout
+                    android:id="@+id/app_data_text"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:paddingStart="16dp"
+                    android:gravity="start"
+                    android:orientation="vertical">
+
+                    <TextView
+                        android:id="@+id/app_data_title"
+                        android:text="@string/interact_across_profiles_consent_dialog_app_data_title"
+                        style="@style/CrossProfileConsentDialogSubTitle"/>
+
+                    <TextView
+                        android:id="@+id/app_data_summary"
+                        android:text="@string/interact_across_profiles_consent_dialog_app_data_summary"
+                        style="@style/CrossProfileConsentDialogSubDescription"/>
+                </LinearLayout>
+            </LinearLayout>
+
+            <LinearLayout
+                android:id="@+id/permissions_content"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:gravity="start"
+                android:orientation="horizontal">
+
+                <ImageView
+                    android:id="@+id/permissions_icon"
+                    android:src="@drawable/ic_storage_grey"
+                    style="@style/CrossProfileConsentDialogIcon"/>
+
+                <LinearLayout
+                    android:id="@+id/permissions_text"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:gravity="start"
+                    android:paddingStart="16dp"
+                    android:orientation="vertical">
+
+                    <TextView
+                        android:id="@+id/permissions_title"
+                        android:text="@string/interact_across_profiles_consent_dialog_permissions_title"
+                        style="@style/CrossProfileConsentDialogSubTitle"/>
+
+                    <TextView
+                        android:id="@+id/permissions_summary"
+                        android:text="@string/interact_across_profiles_consent_dialog_permissions_summary"
+                        style="@style/CrossProfileConsentDialogSubDescription"/>
+                </LinearLayout>
+            </LinearLayout>
+        </LinearLayout>
+    </ScrollView>
+</RelativeLayout>
diff --git a/res/layout/legacy_suggestion_tile.xml b/res/layout/legacy_suggestion_tile.xml
index 9af5b6b..2a18403 100644
--- a/res/layout/legacy_suggestion_tile.xml
+++ b/res/layout/legacy_suggestion_tile.xml
@@ -42,6 +42,23 @@
                 android:layout_marginTop="16dp"
                 android:layout_marginBottom="6dp"/>
 
+            <FrameLayout
+                android:id="@+id/close_button"
+                android:layout_width="48dp"
+                android:layout_height="48dp"
+                android:layout_alignParentEnd="true"
+                android:paddingTop="8dp"
+                android:paddingEnd="8dp"
+                android:orientation="horizontal"
+                android:contentDescription="@string/suggestion_button_close">
+                <ImageView
+                    android:layout_width="18dp"
+                    android:layout_height="18dp"
+                    android:layout_gravity="end|top"
+                    android:alpha="0.54"
+                    android:src="@drawable/ic_suggestion_close_button"/>
+            </FrameLayout>
+
         </RelativeLayout>
 
         <TextView
diff --git a/res/layout/locale_drag_cell.xml b/res/layout/locale_drag_cell.xml
index db9454a..7b932f3 100644
--- a/res/layout/locale_drag_cell.xml
+++ b/res/layout/locale_drag_cell.xml
@@ -16,7 +16,6 @@
 
 <com.android.settings.localepicker.LocaleDragCell
               xmlns:android="http://schemas.android.com/apk/res/android"
-              xmlns:tools="http://schemas.android.com/tools"
               android:layout_width="match_parent"
               android:layout_height="wrap_content"
               android:minHeight="?android:listPreferredItemHeight"
@@ -27,22 +26,19 @@
     <CheckBox
         android:id="@+id/checkbox"
         style="@style/LanguageCheckboxAndLabel"
-        tools:text="French"
-        android:paddingStart="16dp"
+        android:paddingStart="24dp"
         android:layout_toStartOf="@+id/dragHandle"/>
 
     <TextView
         android:id="@+id/label"
         style="@style/LanguageCheckboxAndLabel"
-        tools:text="French"
-        android:paddingStart="48dp"
+        android:paddingStart="56dp"
         android:layout_toStartOf="@+id/dragHandle"/>
 
     <TextView
         android:id="@+id/miniLabel"
         style="@style/LanguageCheckboxAndLabel"
         android:layout_width="wrap_content"
-        tools:text="22"
         android:textColor="?android:attr/colorAccent"
         android:minWidth="24sp"
         android:gravity="center_vertical|center_horizontal"
@@ -53,7 +49,7 @@
         android:id="@+id/l10nWarn"
         style="@style/LanguageCheckboxAndLabel"
         android:layout_marginTop="-28dp"
-        android:paddingStart="48dp"
+        android:paddingStart="56dp"
         android:textAppearance="?android:attr/textAppearanceListItemSecondary"
         android:textColor="?android:textColorSecondary"
         android:text="@string/locale_not_translated"
diff --git a/res/layout/locale_order_list.xml b/res/layout/locale_order_list.xml
index d2ad072..929582f 100644
--- a/res/layout/locale_order_list.xml
+++ b/res/layout/locale_order_list.xml
@@ -23,9 +23,9 @@
     <LinearLayout
         android:layout_width="match_parent"
         android:layout_height="match_parent"
-        android:orientation="vertical"
-        android:paddingTop="8dp"
-        android:paddingBottom="8dp">
+        android:clipToPadding="true"
+        android:clipChildren="true"
+        android:orientation="vertical">
 
         <com.android.settings.localepicker.LocaleRecyclerView
             android:id="@+id/dragList"
@@ -40,7 +40,7 @@
             android:paddingStart="?android:attr/listPreferredItemPaddingStart"
             android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
             android:drawableStart="@drawable/ic_add_24dp"
-            android:drawablePadding="24dp"
+            android:drawablePadding="32dp"
             android:textAlignment="textStart"
             android:text="@string/add_a_language"
             style="@style/Base.Widget.AppCompat.Button.Borderless"
diff --git a/res/layout/manage_applications_apps.xml b/res/layout/manage_applications_apps.xml
index 9c90f02..bc6580a 100644
--- a/res/layout/manage_applications_apps.xml
+++ b/res/layout/manage_applications_apps.xml
@@ -37,6 +37,7 @@
                 android:layout_width="match_parent"
                 android:layout_height="match_parent"
                 android:clipToPadding="false"
+                android:scrollbars="none"
                 settings:fastScrollEnabled="true"
                 settings:fastScrollHorizontalThumbDrawable="@drawable/thumb_drawable"
                 settings:fastScrollHorizontalTrackDrawable="@drawable/line_drawable"
diff --git a/res/layout/mobile_network_settings_container.xml b/res/layout/mobile_network_settings_container.xml
deleted file mode 100644
index c88b512..0000000
--- a/res/layout/mobile_network_settings_container.xml
+++ /dev/null
@@ -1,50 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  Copyright (C) 2018 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
-  -->
-
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:orientation="vertical">
-
-    <Toolbar
-        android:id="@+id/mobile_action_bar"
-        style="?android:attr/actionBarStyle"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:navigationContentDescription="@*android:string/action_bar_up_description"
-        android:theme="?android:attr/actionBarTheme"/>
-
-    <FrameLayout
-        android:id="@+id/main_content"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_weight="1"/>
-
-    <com.google.android.material.bottomnavigation.BottomNavigationView
-        android:id="@+id/bottom_nav"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_alignParentBottom="true"
-        android:layout_marginEnd="0dp"
-        android:layout_marginStart="0dp"
-        android:background="?android:attr/windowBackground"
-        app:itemIconTint="@color/bottom_navigation_colors"
-        app:itemTextColor="@color/bottom_navigation_colors"
-        app:menu="@menu/home_bottom_navigation"/>
-</LinearLayout>
diff --git a/res/layout/mobile_network_settings_container_v2.xml b/res/layout/mobile_network_settings_container_v2.xml
deleted file mode 100644
index ed7296b..0000000
--- a/res/layout/mobile_network_settings_container_v2.xml
+++ /dev/null
@@ -1,39 +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.
-  -->
-
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:orientation="vertical">
-
-    <Toolbar
-        android:id="@+id/mobile_action_bar"
-        style="?android:attr/actionBarStyle"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:navigationContentDescription="@*android:string/action_bar_up_description"
-        android:theme="?android:attr/actionBarTheme"/>
-
-    <FrameLayout
-        android:id="@+id/main_content"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_weight="1"/>
-
-</LinearLayout>
diff --git a/res/layout/multi_sim_dialog.xml b/res/layout/multi_sim_dialog.xml
deleted file mode 100644
index d0e7df8..0000000
--- a/res/layout/multi_sim_dialog.xml
+++ /dev/null
@@ -1,120 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
-         android:layout_width="wrap_content"
-         android:layout_height="wrap_content">
-
-    <LinearLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:orientation="vertical">
-
-        <LinearLayout android:id="@+id/type"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:orientation="vertical">
-
-            <TextView
-                    android:layout_width="match_parent"
-                    android:layout_height="wrap_content"
-                    android:layout_marginTop="@dimen/sim_dialog_margin_top"
-                    android:paddingStart="@dimen/sim_content_padding"
-                    android:text="@string/sim_editor_name" />
-
-            <EditText android:id="@+id/sim_name"
-                    android:layout_width="match_parent"
-                    android:layout_height="wrap_content"
-                    android:singleLine="true"
-                    android:paddingStart="@dimen/sim_content_padding"
-                    android:paddingBottom="@dimen/sim_dialog_margin_bottom"
-                    android:hint="@string/sim_name_hint"
-                    android:inputType="textNoSuggestions"
-                    android:maxLength="@integer/sim_name_length"
-                    android:textColor="@android:color/black"
-                    style="?android:attr/textAppearanceMedium" />
-
-        </LinearLayout>
-
-        <LinearLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:orientation="vertical">
-
-            <TextView
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:layout_marginTop="@dimen/sim_dialog_margin_top"
-                android:paddingStart="@dimen/sim_content_padding"
-                android:text="@string/color_title" />
-
-            <Spinner
-                android:id="@+id/spinner"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:paddingStart="@dimen/sim_content_padding" />
-
-        </LinearLayout>
-
-        <LinearLayout
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:orientation="vertical">
-
-            <TextView
-                    android:layout_width="match_parent"
-                    android:layout_height="wrap_content"
-                    android:layout_marginTop="@dimen/sim_dialog_margin_top"
-                    android:paddingStart="@dimen/sim_content_padding"
-                    android:text="@string/sim_editor_carrier" />
-
-            <TextView android:id="@+id/carrier"
-                    android:textColor="@android:color/black"
-                    android:layout_width="match_parent"
-                    android:layout_height="wrap_content"
-                    android:paddingStart="@dimen/sim_content_padding"
-                    android:paddingBottom="@dimen/sim_dialog_margin_bottom"
-                    android:singleLine="true"
-                    style="?android:attr/textAppearanceMedium" />
-
-        </LinearLayout>
-
-        <LinearLayout
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:orientation="vertical">
-
-            <TextView
-                    android:layout_width="match_parent"
-                    android:layout_height="wrap_content"
-                    android:layout_marginTop="@dimen/sim_dialog_margin_top"
-                    android:paddingStart="@dimen/sim_content_padding"
-                    android:text="@string/sim_editor_number" />
-
-            <TextView android:id="@+id/number"
-                    android:layout_width="match_parent"
-                    android:layout_height="wrap_content"
-                    android:paddingBottom="@dimen/sim_dialog_margin_bottom"
-                    android:paddingStart="@dimen/sim_content_padding"
-                    android:singleLine="true"
-                    android:textColor="@android:color/black"
-                    style="?android:attr/textAppearanceMedium" />
-
-        </LinearLayout>
-
-    </LinearLayout>
-
-</ScrollView>
diff --git a/res/layout/nfc_payment.xml b/res/layout/nfc_payment.xml
deleted file mode 100644
index c7039cf..0000000
--- a/res/layout/nfc_payment.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2015 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:orientation="vertical">
-
-    <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent">
-        <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-            xmlns:tools="http://schemas.android.com/tools"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:orientation="vertical" >
-            <ImageView
-                android:id="@+id/nfc_payment_tap_image"
-                android:layout_width="fill_parent"
-                android:layout_height="wrap_content"
-                android:gravity="center"
-                android:visibility="gone"
-                android:src="@drawable/tapandpay_emptystate"/>
-            <TextView
-                android:id="@+id/nfc_payment_empty_text"
-                android:layout_width="fill_parent"
-                android:layout_height="wrap_content"
-                android:gravity="center"
-                android:textSize="24sp"
-                android:visibility="gone"
-                android:paddingTop="32dp"
-                android:text="@string/nfc_payment_no_apps"/>
-        </LinearLayout>
-        <ListView android:id="@android:id/list"
-            android:drawSelectorOnTop="false"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:clipToPadding="false" />
-    </FrameLayout>
-</LinearLayout>
diff --git a/res/layout/nfc_payment_empty.xml b/res/layout/nfc_payment_empty.xml
index 74c15bc..c9a83a5 100644
--- a/res/layout/nfc_payment_empty.xml
+++ b/res/layout/nfc_payment_empty.xml
@@ -15,24 +15,22 @@
 -->
 
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:layout_gravity="center"
-        android:gravity="center"
-        android:orientation="vertical">
+              android:layout_width="match_parent"
+              android:layout_height="match_parent"
+              android:layout_gravity="center"
+              android:gravity="center"
+              android:orientation="vertical">
 
-        <ImageView
-            android:id="@+id/nfc_payment_tap_image"
-            android:layout_width="288dp"
-            android:layout_height="wrap_content"
-            android:src="@drawable/tapandpay_emptystate"/>
-        <TextView
-            android:id="@+id/nfc_payment_empty_text"
-            android:layout_width="264dp"
-            android:layout_height="wrap_content"
-            android:gravity="center"
-            android:textAppearance="?android:attr/textAppearanceLarge"
-            android:textColor="?android:attr/textColorSecondary"
-            android:paddingTop="36dp"
-            android:text="@string/nfc_payment_no_apps"/>
+    <ImageView
+        android:layout_width="288dp"
+        android:layout_height="wrap_content"
+        android:src="@drawable/tapandpay_emptystate"/>
+    <TextView
+        android:layout_width="264dp"
+        android:layout_height="wrap_content"
+        android:gravity="center"
+        android:textAppearance="?android:attr/textAppearanceLarge"
+        android:textColor="?android:attr/textColorSecondary"
+        android:paddingTop="36dp"
+        android:text="@string/nfc_payment_no_apps"/>
 </LinearLayout>
diff --git a/res/layout/night_display_activation_button.xml b/res/layout/night_display_activation_button.xml
index b0bfe86..8765ff7 100644
--- a/res/layout/night_display_activation_button.xml
+++ b/res/layout/night_display_activation_button.xml
@@ -15,25 +15,28 @@
   limitations under the License.
   -->
 
-<FrameLayout
+<LinearLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
-    android:layout_height="wrap_content">
+    android:layout_height="wrap_content"
+    android:minHeight="?android:attr/listPreferredItemHeight">
 
     <Button
         android:id="@+id/night_display_turn_on_button"
         style="@style/ActionPrimaryButton"
+        android:focusableInTouchMode="true"
         android:layout_marginStart="@dimen/screen_margin_sides"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:layout_gravity="start" />
+        android:layout_gravity="center_vertical" />
 
     <Button
         android:id="@+id/night_display_turn_off_button"
         style="@style/ActionSecondaryButton"
+        android:focusableInTouchMode="true"
         android:layout_marginStart="@dimen/screen_margin_sides"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:layout_gravity="start" />
+        android:layout_gravity="center_vertical" />
 
-</FrameLayout>
\ No newline at end of file
+</LinearLayout>
\ No newline at end of file
diff --git a/res/layout/notif_importance_preference.xml b/res/layout/notif_importance_preference.xml
index 44c135b..edc2bb1 100644
--- a/res/layout/notif_importance_preference.xml
+++ b/res/layout/notif_importance_preference.xml
@@ -67,7 +67,7 @@
             android:visibility="gone" />
     </com.android.settings.notification.NotificationButtonRelativeLayout>
 
-    <RelativeLayout
+    <com.android.settings.notification.NotificationButtonRelativeLayout
         android:id="@+id/silence"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
@@ -109,6 +109,6 @@
             android:layout_below="@id/silence_icon"
             android:textAppearance="@style/TextAppearance.NotificationImportanceDetail"
             android:visibility="gone" />
-    </RelativeLayout>
+    </com.android.settings.notification.NotificationButtonRelativeLayout>
 
 </LinearLayout>
\ No newline at end of file
diff --git a/res/layout/notification_history.xml b/res/layout/notification_history.xml
new file mode 100644
index 0000000..b3308c5
--- /dev/null
+++ b/res/layout/notification_history.xml
@@ -0,0 +1,178 @@
+<?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.
+-->
+
+<ScrollView
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:settings="http://schemas.android.com/apk/res-auto"
+    android:id="@+id/scroll"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:orientation="vertical">
+
+        <include layout="@layout/styled_switch_bar"/>
+
+        <LinearLayout
+            android:id="@+id/history_off"
+            android:visibility="gone"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="164dp"
+            android:orientation="vertical">
+
+            <ImageView
+                android:id="@+id/history_image"
+                android:layout_width="67dp"
+                android:layout_height="67dp"
+                android:layout_gravity="center_horizontal"
+                android:contentDescription="@string/notification_history"
+                android:scaleType="fitCenter"
+                android:tint="?android:attr/colorControlNormal"
+                android:src="@drawable/ic_history" />
+
+            <TextView
+                android:id="@+id/history_off_title"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_below="@+id/history_image"
+                android:layout_marginTop="48dp"
+                android:layout_marginStart="48dp"
+                android:layout_marginEnd="48dp"
+                android:layout_gravity="center_horizontal"
+                android:textAppearance="?android:attr/textAppearanceMedium"
+                android:text="@string/notification_history_off_title_extended" />
+
+            <TextView
+                android:id="@+id/history_off_summary"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_below="@+id/history_off_title"
+                android:layout_marginStart="48dp"
+                android:layout_marginEnd="48dp"
+                android:layout_marginTop="16dp"
+                android:layout_gravity="center_horizontal"
+                android:textAlignment="center"
+                android:textAppearance="?android:attr/textAppearanceSmall"
+                android:text="@string/notification_history_summary" />
+        </LinearLayout>
+
+        <LinearLayout
+            android:id="@+id/history_on"
+            android:visibility="gone"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:orientation="vertical"
+            android:padding="16dp">
+
+            <LinearLayout
+                android:id="@+id/snoozed_list"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:orientation="vertical"
+                android:layout_marginBottom="28dp">
+                <TextView
+                    android:layout_height="wrap_content"
+                    android:layout_width="wrap_content"
+                    android:text="@string/notification_history_snooze"
+                    android:textColor="?android:attr/textColorPrimary"
+                    android:textAppearance="?android:attr/textAppearanceMedium"
+                    android:paddingBottom="16dp" />
+                <androidx.constraintlayout.widget.ConstraintLayout
+                    android:id="@+id/list_container"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:clipChildren="true"
+                    android:elevation="3dp"
+                    android:background="@drawable/rounded_bg">
+
+                    <androidx.recyclerview.widget.RecyclerView
+                        android:id="@+id/notification_list"
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:clipChildren="true"
+                        settings:fastScrollEnabled="true"
+                        settings:fastScrollHorizontalThumbDrawable="@drawable/thumb_drawable"
+                        settings:fastScrollHorizontalTrackDrawable="@drawable/line_drawable"
+                        settings:fastScrollVerticalThumbDrawable="@drawable/thumb_drawable"
+                        settings:fastScrollVerticalTrackDrawable="@drawable/line_drawable"/>
+
+                </androidx.constraintlayout.widget.ConstraintLayout>
+            </LinearLayout>
+
+            <LinearLayout
+                android:id="@+id/recently_dismissed_list"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:orientation="vertical"
+                android:layout_marginBottom="28dp">
+
+                <TextView
+                    android:layout_height="wrap_content"
+                    android:layout_width="wrap_content"
+                    android:text="@string/notification_history_dismiss"
+                    android:textColor="?android:attr/textColorPrimary"
+                    android:textAppearance="?android:attr/textAppearanceMedium"
+                    android:paddingBottom="16dp" />
+                <androidx.constraintlayout.widget.ConstraintLayout
+                    android:id="@+id/list_container"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:elevation="3dp"
+                    android:clipChildren="true"
+                    android:background="@drawable/rounded_bg">
+                    <androidx.recyclerview.widget.RecyclerView
+                        android:id="@+id/notification_list"
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:clipChildren="true"
+                        settings:fastScrollEnabled="true"
+                        settings:fastScrollHorizontalThumbDrawable="@drawable/thumb_drawable"
+                        settings:fastScrollHorizontalTrackDrawable="@drawable/line_drawable"
+                        settings:fastScrollVerticalThumbDrawable="@drawable/thumb_drawable"
+                        settings:fastScrollVerticalTrackDrawable="@drawable/line_drawable"/>
+
+                </androidx.constraintlayout.widget.ConstraintLayout>
+            </LinearLayout>
+
+            <LinearLayout
+                android:id="@+id/today_list"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:orientation="vertical">
+                <TextView
+                    android:layout_height="wrap_content"
+                    android:layout_width="wrap_content"
+                    android:text="@string/notification_history_today"
+                    android:textColor="?android:attr/textColorPrimary"
+                    android:textAppearance="?android:attr/textAppearanceMedium"
+                    android:paddingBottom="16dp" />
+                <LinearLayout
+                    android:id="@+id/apps"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:elevation="3dp"
+                    android:orientation="vertical"
+                    android:background="@drawable/rounded_bg">
+                    <!-- app based recycler views added here -->
+                </LinearLayout>
+            </LinearLayout>
+        </LinearLayout>
+
+    </LinearLayout>
+</ScrollView>
\ No newline at end of file
diff --git a/res/layout/notification_history_app_layout.xml b/res/layout/notification_history_app_layout.xml
new file mode 100644
index 0000000..5d8ff3f
--- /dev/null
+++ b/res/layout/notification_history_app_layout.xml
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="utf-8"?>
+    <!-- Copyright (C) 2020 The Android Open Source Project
+
+         Licensed under the Apache License, Version 2.0 (the "License");
+         you may not use this file except in compliance with the License.
+         You may obtain a copy of the License at
+
+              http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing, software
+         distributed under the License is distributed on an "AS IS" BASIS,
+         WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+         See the License for the specific language governing permissions and
+         limitations under the License.
+    -->
+
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:settings="http://schemas.android.com/apk/res-auto"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:orientation="vertical">
+
+    <RelativeLayout
+        android:id="@+id/app_header"
+        android:layout_height="wrap_content"
+        android:layout_width="match_parent"
+        android:paddingTop="12dp"
+        android:paddingBottom="12dp"
+        android:paddingStart="16dp">
+        <LinearLayout
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:orientation="vertical">
+            <LinearLayout
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:orientation="horizontal">
+                <ImageView
+                    android:id="@+id/icon"
+                    android:layout_height="24dp"
+                    android:layout_width="24dp"
+                    android:layout_gravity="center_vertical"
+                    android:scaleType="centerInside"/>
+                <TextView
+                    android:id="@+id/label"
+                    android:layout_height="wrap_content"
+                    android:layout_width="wrap_content"
+                    android:layout_gravity="center_vertical"
+                    android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Notification"
+                    android:paddingStart="8dp" />
+            </LinearLayout>
+            <TextView
+                android:id="@+id/count"
+                android:layout_height="wrap_content"
+                android:layout_width="wrap_content"
+                android:paddingStart="6dp"
+                android:layout_gravity="center_vertical"
+                android:paddingTop="8dp"
+                android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Notification.Title"/>
+        </LinearLayout>
+        <ImageButton
+            android:id="@+id/expand"
+            android:layout_alignParentEnd="true"
+            android:layout_centerVertical="true"
+            android:layout_height="48dp"
+            android:layout_width="48dp"
+            android:background="@drawable/button_ripple_radius"
+            android:src="@*android:drawable/ic_expand_more"/>
+    </RelativeLayout>
+
+    <View
+        android:layout_width="match_parent"
+        android:layout_height="1dp"
+        android:background="?android:attr/listDivider"/>
+
+    <androidx.constraintlayout.widget.ConstraintLayout
+        android:id="@+id/list_container"
+        android:layout_width="match_parent"
+        android:clipChildren="true"
+        android:layout_height="wrap_content">
+        <androidx.recyclerview.widget.RecyclerView
+            android:id="@+id/notification_list"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:clipChildren="true"
+            settings:fastScrollEnabled="true"
+            settings:fastScrollHorizontalThumbDrawable="@drawable/thumb_drawable"
+            settings:fastScrollHorizontalTrackDrawable="@drawable/line_drawable"
+            settings:fastScrollVerticalThumbDrawable="@drawable/thumb_drawable"
+            settings:fastScrollVerticalTrackDrawable="@drawable/line_drawable"/>
+
+    </androidx.constraintlayout.widget.ConstraintLayout>
+
+</LinearLayout>
\ No newline at end of file
diff --git a/res/layout/notification_history_log_row.xml b/res/layout/notification_history_log_row.xml
new file mode 100644
index 0000000..c77b005
--- /dev/null
+++ b/res/layout/notification_history_log_row.xml
@@ -0,0 +1,88 @@
+<!--
+     Copyright (C) 2020 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:paddingBottom="6dp"
+    android:paddingTop="6dp"
+    android:paddingStart="?android:attr/listPreferredItemPaddingStart"
+    android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
+    android:orientation="vertical"
+    android:background="?android:attr/selectableItemBackground">
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:orientation="vertical"
+        android:layout_marginBottom="6dp">
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="@*android:dimen/status_bar_icon_size"
+            android:gravity="center_vertical">
+
+            <TextView
+                android:id="@+id/title"
+                android:layout_weight="1"
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_centerVertical="true"
+                android:ellipsize="end"
+                android:singleLine="true"
+                android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Notification.Title"
+                android:layout_toStartOf="@id/alerted_icon"
+                android:textAlignment="viewStart"/>
+
+            <ImageView
+                android:id="@+id/alerted_icon"
+                android:layout_width="@*android:dimen/status_bar_icon_size"
+                android:layout_height="@*android:dimen/status_bar_icon_size"
+                android:layout_centerVertical="true"
+                android:layout_marginStart="6dp"
+                android:paddingTop="1dp"
+                android:scaleType="fitCenter"
+                android:visibility="invisible"
+                android:layout_toEndOf="@id/title"
+                android:layout_toStartOf="@id/timestamp"
+                android:tint="?android:attr/textColorSecondary"
+                android:src="@drawable/ic_notifications_alert"/>
+
+            <DateTimeView
+                android:id="@+id/timestamp"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_alignParentEnd="true"
+                android:layout_centerVertical="true"
+                android:ellipsize="end"
+                android:singleLine="true"
+                android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Notification"
+                android:textAlignment="viewEnd"
+                />
+        </LinearLayout>
+
+        <TextView
+            android:id="@+id/text"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_gravity="left|center_vertical"
+            android:ellipsize="end"
+            android:singleLine="true"
+            android:paddingTop="3dp"
+            android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Notification"
+            android:textAlignment="viewStart" />
+
+    </LinearLayout>
+
+</LinearLayout>
diff --git a/res/layout/notification_log_row.xml b/res/layout/notification_log_row.xml
index e76835e..fea8a29 100644
--- a/res/layout/notification_log_row.xml
+++ b/res/layout/notification_log_row.xml
@@ -26,8 +26,7 @@
 
     <RelativeLayout
         android:layout_width="match_parent"
-        android:layout_height="@*android:dimen/status_bar_icon_size"
-        android:layout_marginBottom="6dp"
+        android:layout_height="wrap_content"
         >
 
         <ImageView
@@ -46,24 +45,50 @@
             android:scaleType="fitCenter" />
 
         <TextView
-            android:id="@+id/title"
-            android:layout_width="match_parent"
+            android:id="@+id/pkgname"
+            android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_centerVertical="true"
-            android:layout_toStartOf="@+id/timestamp"
             android:layout_toEndOf="@id/icon"
             android:ellipsize="end"
             android:singleLine="true"
             android:textColor="?android:attr/textColorPrimary"
             android:textAppearance="?android:attr/textAppearanceSmall"
             android:textStyle="bold"
-            android:textAlignment="viewStart"
-            android:labelFor="@android:id/button2" />
+            android:textAlignment="viewStart" />
+
+        <ImageView
+            android:id="@+id/alerted_icon"
+            android:layout_width="@*android:dimen/status_bar_icon_size"
+            android:layout_height="@*android:dimen/status_bar_icon_size"
+            android:layout_centerVertical="true"
+            android:layout_marginStart="6dp"
+            android:paddingTop="1dp"
+            android:scaleType="fitCenter"
+            android:visibility="gone"
+            android:layout_toEndOf="@id/pkgname"
+            android:tint="?android:attr/textColorSecondary"
+            android:src="@drawable/ic_notifications_alert"
+        />
+
+        <ImageView
+            android:id="@+id/profile_badge"
+            android:layout_width="@*android:dimen/status_bar_icon_size"
+            android:layout_height="@*android:dimen/status_bar_icon_size"
+            android:layout_centerVertical="true"
+            android:layout_marginEnd="6dp"
+            android:paddingTop="1dp"
+            android:scaleType="fitCenter"
+            android:visibility="gone"
+            android:layout_toStartOf="@id/timestamp"
+        />
 
         <DateTimeView
             android:id="@+id/timestamp"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
+            android:paddingTop="13dp"
+            android:paddingBottom="13dp"
             android:layout_alignBottom="@android:id/widget_frame"
             android:layout_alignParentEnd="true"
             android:layout_alignTop="@android:id/widget_frame"
@@ -78,26 +103,25 @@
 
     <LinearLayout
         android:layout_width="match_parent"
-        android:layout_height="@*android:dimen/status_bar_icon_size"
-        android:orientation="horizontal"
+        android:layout_height="wrap_content"
+        android:orientation="vertical"
         android:layout_marginStart="30dp"
         android:layout_marginBottom="6dp"
         >
 
-        <ImageView
-            android:id="@+id/pkgicon"
-            android:layout_width="@*android:dimen/status_bar_icon_size"
-            android:layout_height="@*android:dimen/status_bar_icon_size"
-            android:layout_marginStart="0dp"
-            android:layout_marginEnd="6dp"
-            android:contentDescription="@null"
-            android:adjustViewBounds="true"
-            android:maxHeight="@*android:dimen/status_bar_icon_size"
-            android:maxWidth="@*android:dimen/status_bar_icon_size"
-            android:scaleType="fitCenter" />
+        <TextView
+            android:id="@+id/title"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_gravity="left|center_vertical"
+            android:ellipsize="end"
+            android:singleLine="true"
+            android:textColor="?android:attr/textColorPrimary"
+            android:textAlignment="viewStart"
+        />
 
         <TextView
-            android:id="@+id/pkgname"
+            android:id="@+id/text"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:layout_gravity="left|center_vertical"
@@ -106,12 +130,30 @@
             android:textColor="?android:attr/textColorPrimary"
             android:textAppearance="?android:attr/textAppearanceSmall"
             android:textAlignment="viewStart"
-            />
+        />
 
     </LinearLayout>
 
-    <TextView
-            android:id="@+id/extra"
+    <LinearLayout
+        android:id="@+id/extra"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:orientation="vertical"
+    >
+        <TextView
+                android:id="@+id/notification_extra"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:orientation="horizontal"
+                android:layout_marginStart="30dp"
+                android:singleLine="false"
+                android:textColor="?android:attr/textColorPrimary"
+                android:textSize="10sp"
+                android:fontFamily="monospace"
+                android:textAlignment="viewStart"
+        />
+        <TextView
+            android:id="@+id/ranking_extra"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:orientation="horizontal"
@@ -122,6 +164,7 @@
             android:textSize="10sp"
             android:fontFamily="monospace"
             android:textAlignment="viewStart"
-    />
+        />
+    </LinearLayout>
 
 </LinearLayout>
diff --git a/res/layout/notification_sbn_log_row.xml b/res/layout/notification_sbn_log_row.xml
new file mode 100644
index 0000000..40c81fa
--- /dev/null
+++ b/res/layout/notification_sbn_log_row.xml
@@ -0,0 +1,133 @@
+<!--
+     Copyright (C) 2020 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:paddingBottom="6dp"
+    android:paddingTop="6dp"
+    android:paddingStart="?android:attr/listPreferredItemPaddingStart"
+    android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
+    android:orientation="vertical"
+    android:background="?android:attr/selectableItemBackground"
+    >
+
+    <RelativeLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        >
+
+        <ImageView
+            android:id="@+id/icon"
+            android:layout_width="@*android:dimen/status_bar_icon_size"
+            android:layout_height="@*android:dimen/status_bar_icon_size"
+            android:layout_centerVertical="true"
+            android:layout_toEndOf="@+id/pkgicon"
+            android:layout_marginStart="0dp"
+            android:layout_marginEnd="8dp"
+            android:contentDescription="@null"
+            android:adjustViewBounds="true"
+            android:tint="?android:attr/textColorPrimary"
+            android:maxHeight="@*android:dimen/status_bar_icon_size"
+            android:maxWidth="@*android:dimen/status_bar_icon_size"
+            android:scaleType="fitCenter" />
+
+        <TextView
+            android:id="@+id/pkgname"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_centerVertical="true"
+            android:layout_toEndOf="@id/icon"
+            android:ellipsize="end"
+            android:singleLine="true"
+            android:textColor="?android:attr/textColorPrimary"
+            android:textAppearance="?android:attr/textAppearanceSmall"
+            android:textStyle="bold"
+            android:textAlignment="viewStart" />
+
+        <ImageView
+            android:id="@+id/alerted_icon"
+            android:layout_width="@*android:dimen/status_bar_icon_size"
+            android:layout_height="@*android:dimen/status_bar_icon_size"
+            android:layout_centerVertical="true"
+            android:layout_marginStart="6dp"
+            android:paddingTop="1dp"
+            android:scaleType="fitCenter"
+            android:visibility="gone"
+            android:layout_toEndOf="@id/pkgname"
+            android:tint="?android:attr/textColorSecondary"
+            android:src="@drawable/ic_notifications_alert"
+        />
+
+        <ImageView
+            android:id="@+id/profile_badge"
+            android:layout_width="@*android:dimen/status_bar_icon_size"
+            android:layout_height="@*android:dimen/status_bar_icon_size"
+            android:layout_centerVertical="true"
+            android:layout_marginEnd="6dp"
+            android:paddingTop="1dp"
+            android:scaleType="fitCenter"
+            android:layout_toStartOf="@id/timestamp"
+        />
+
+        <DateTimeView
+            android:id="@+id/timestamp"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:paddingTop="13dp"
+            android:paddingBottom="13dp"
+            android:layout_alignBottom="@android:id/widget_frame"
+            android:layout_alignParentEnd="true"
+            android:layout_alignTop="@android:id/widget_frame"
+            android:layout_centerVertical="true"
+            android:ellipsize="end"
+            android:singleLine="true"
+            android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Notification"
+            android:textAlignment="viewEnd"
+            />
+    </RelativeLayout>
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:orientation="vertical"
+        android:layout_marginStart="30dp"
+        android:layout_marginBottom="6dp"
+        >
+
+        <TextView
+            android:id="@+id/title"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_gravity="left|center_vertical"
+            android:ellipsize="end"
+            android:singleLine="true"
+            android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Notification.Title"
+            android:textAlignment="viewStart"
+        />
+
+        <TextView
+            android:id="@+id/text"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_gravity="left|center_vertical"
+            android:ellipsize="end"
+            android:singleLine="true"
+            android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Notification"
+            android:textAlignment="viewStart"
+        />
+
+    </LinearLayout>
+</LinearLayout>
diff --git a/res/layout/palette_listview_item.xml b/res/layout/palette_listview_item.xml
new file mode 100644
index 0000000..e67b7cb
--- /dev/null
+++ b/res/layout/palette_listview_item.xml
@@ -0,0 +1,33 @@
+<?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
+  -->
+
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content">
+
+    <TextView
+        android:id="@+id/item_textview"
+        android:layout_width="match_parent"
+        android:layout_height="42dp"
+        android:fontFamily="roboto-bold"
+        android:gravity="center_vertical"
+        android:maxLength="20"
+        android:paddingLeft="@dimen/accessibility_layout_margin_start_end"
+        android:singleLine="true"
+        android:textSize="14sp" />
+
+</FrameLayout>
diff --git a/res/layout/panel_layout.xml b/res/layout/panel_layout.xml
index abe8f41..7a60dad 100644
--- a/res/layout/panel_layout.xml
+++ b/res/layout/panel_layout.xml
@@ -27,6 +27,51 @@
         android:layout_height="wrap_content"
         android:orientation="vertical">
 
+        <LinearLayout
+            android:id="@+id/panel_header"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:gravity="start|center_vertical"
+            android:orientation="horizontal"
+            android:visibility="gone">
+
+            <LinearLayout
+                android:layout_width="49dp"
+                android:layout_height="49dp"
+                android:gravity="center_vertical|center_horizontal"
+                android:orientation="horizontal"
+                android:layout_marginStart="10dp">
+                <ImageView
+                    android:id="@+id/title_icon"
+                    android:layout_height="wrap_content"
+                    android:layout_width="wrap_content"/>
+            </LinearLayout>
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginStart="25dp"
+                android:gravity="center_vertical"
+                android:orientation="vertical"
+                android:paddingBottom="9dp"
+                android:paddingTop="9dp">
+                <TextView
+                    android:id="@+id/header_title"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:textColor="?android:attr/textColorPrimary"
+                    android:textSize="20sp"/>
+
+                <TextView
+                    android:id="@+id/header_subtitle"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:ellipsize="end"
+                    android:maxLines="1" />
+
+            </LinearLayout>
+        </LinearLayout>
+
         <TextView
             android:id="@+id/panel_title"
             android:layout_width="match_parent"
diff --git a/res/layout/panel_slice_list.xml b/res/layout/panel_slice_list.xml
index 842441c..28d5894 100644
--- a/res/layout/panel_slice_list.xml
+++ b/res/layout/panel_slice_list.xml
@@ -20,5 +20,6 @@
     android:id="@+id/panel_parent_layout"
     android:scrollbars="vertical"
     android:layout_width="match_parent"
-    android:layout_height="wrap_content"
+    android:layout_height="0dp"
+    android:layout_weight="1"
     android:overScrollMode="never"/>
\ No newline at end of file
diff --git a/res/layout/panel_slice_slider_row.xml b/res/layout/panel_slice_slider_row.xml
new file mode 100644
index 0000000..f886a85
--- /dev/null
+++ b/res/layout/panel_slice_slider_row.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+     Copyright (C) 2020 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:orientation="vertical">
+
+    <androidx.slice.widget.SliceView
+        android:id="@+id/slice_view"
+        style="@style/SliceViewSliderStyle"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:paddingStart="8dp"
+        android:paddingEnd="8dp"/>
+</LinearLayout>
\ No newline at end of file
diff --git a/res/layout/password_requirement_item.xml b/res/layout/password_requirement_item.xml
index ff7e04c..40bf742 100644
--- a/res/layout/password_requirement_item.xml
+++ b/res/layout/password_requirement_item.xml
@@ -19,4 +19,4 @@
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:gravity="?attr/sudGlifHeaderGravity"
-    android:textSize="14sp"/>
+    android:textSize="@*android:dimen/text_size_body_1_material"/>
diff --git a/res/layout/preference.xml b/res/layout/preference.xml
deleted file mode 100644
index 195671b..0000000
--- a/res/layout/preference.xml
+++ /dev/null
@@ -1,65 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2011 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:minHeight="?android:attr/listPreferredItemHeightSmall"
-    android:gravity="center_vertical"
-    android:paddingStart="?android:attr/listPreferredItemPaddingStart"
-    android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
-    android:background="?android:attr/selectableItemBackground">
-
-    <RelativeLayout
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_weight="1"
-        android:paddingTop="16dip"
-        android:paddingBottom="16dip">
-
-        <TextView
-            android:id="@android:id/title"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:singleLine="true"
-            android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Subhead"
-            android:textColor="?android:attr/textColorPrimary"
-            android:ellipsize="marquee"
-            android:fadingEdge="horizontal" />
-
-        <TextView
-            android:id="@android:id/summary"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_below="@android:id/title"
-            android:layout_alignStart="@android:id/title"
-            android:visibility="gone"
-            android:textAlignment="viewStart"
-            android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Body1"
-            android:textColor="?android:attr/textColorSecondary"
-            android:maxLines="10" />
-
-    </RelativeLayout>
-
-    <LinearLayout
-        android:id="@android:id/widget_frame"
-        android:layout_width="wrap_content"
-        android:layout_height="match_parent"
-        android:minWidth="58dip"
-        android:gravity="end|center_vertical"
-        android:orientation="vertical" />
-
-</LinearLayout>
diff --git a/res/layout/preference_animated_image.xml b/res/layout/preference_animated_image.xml
new file mode 100644
index 0000000..305b036
--- /dev/null
+++ b/res/layout/preference_animated_image.xml
@@ -0,0 +1,33 @@
+<?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.
+  -->
+
+<FrameLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:clipToPadding="false"
+    android:importantForAccessibility="noHideDescendants">
+
+    <ImageView
+        android:id="@+id/animated_img"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_gravity="center"
+        android:focusable="false"
+        android:clickable="false"
+        android:adjustViewBounds="true"/>
+</FrameLayout>
\ No newline at end of file
diff --git a/res/layout/preference_labeled_slider.xml b/res/layout/preference_labeled_slider.xml
new file mode 100644
index 0000000..42ad988
--- /dev/null
+++ b/res/layout/preference_labeled_slider.xml
@@ -0,0 +1,79 @@
+<?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
+  -->
+
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:gravity="center_vertical"
+    android:layout_height="wrap_content"
+    android:orientation="vertical"
+    android:paddingStart="56dp"
+    android:paddingEnd="8dp"
+    android:paddingTop="16dp"
+    android:paddingBottom="8dp">
+
+    <TextView
+        android:id="@android:id/title"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginStart="16dp"
+        android:layout_alignParentTop="true"
+        android:ellipsize="marquee"
+        android:fadingEdge="horizontal"
+        android:singleLine="true"
+        android:textAppearance="@android:style/TextAppearance.Material.Subhead"
+        android:textColor="?android:attr/textColorPrimary" />
+
+    <SeekBar
+        android:id="@*android:id/seekbar"
+        android:layout_below="@android:id/title"
+        android:layout_gravity="center_vertical"
+        android:layout_width="match_parent"
+        android:layout_height="70dp"
+        android:layout_marginTop="-20dp"
+        android:layout_marginBottom="-28dp"
+        style="@android:style/Widget.Material.SeekBar.Discrete" />
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_below="@*android:id/seekbar"
+        android:paddingBottom="8dp"
+        android:orientation="horizontal">
+
+        <TextView
+            android:id="@android:id/text1"
+            android:layout_marginStart="16dp"
+            android:layout_width="0dp"
+            android:layout_height="wrap_content"
+            android:layout_gravity="start|top"
+            android:gravity="start"
+            android:layout_weight="1"/>
+
+        <TextView
+            android:id="@android:id/text2"
+            android:layout_marginEnd="16dp"
+            android:layout_width="0dp"
+            android:layout_height="wrap_content"
+            android:layout_gravity="end|top"
+            android:gravity="end"
+            android:layout_weight="1"/>
+
+    </LinearLayout>
+
+</RelativeLayout>
+
diff --git a/res/layout/preference_list_fragment.xml b/res/layout/preference_list_fragment.xml
index 6dfc8a3..7225df1 100644
--- a/res/layout/preference_list_fragment.xml
+++ b/res/layout/preference_list_fragment.xml
@@ -17,7 +17,9 @@
 */
 -->
 
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
     android:id="@+id/container_material"
     android:orientation="vertical"
     android:layout_width="match_parent"
@@ -49,44 +51,41 @@
         android:gravity="center_vertical"
         android:visibility="gone" />
 
-    <RelativeLayout android:id="@+id/button_bar"
-        android:layout_height="wrap_content"
+    <LinearLayout
+        android:theme="@style/Theme.TabTheme"
+        android:id="@+id/tab_container"
+        android:clipToPadding="true"
+        android:clipChildren="true"
         android:layout_width="match_parent"
-        android:layout_weight="0"
+        android:layout_height="match_parent"
+        android:orientation="vertical"
         android:visibility="gone">
 
-        <Button android:id="@+id/back_button"
-            style="?android:attr/buttonBarButtonStyle"
-            android:layout_width="150dip"
+        <com.google.android.material.tabs.TabLayout
+            android:background="@android:color/transparent"
+            android:id="@+id/tabs"
+            android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:layout_margin="5dip"
-            android:layout_alignParentStart="true"
-            android:text="@*android:string/back_button_label" />
+            android:layoutDirection="ltr"
+            app:tabMaxWidth="0dp"
+            app:tabGravity="fill"
+            app:tabMode="fixed"
+            app:tabIndicatorColor="@*android:color/accent_device_default"
+            app:tabSelectedTextColor="@*android:color/accent_device_default"
+            app:tabTextAppearance="@style/TextAppearance.Tab"
+            app:tabTextColor="?android:attr/textColorSecondary"/>
+        <View
+            android:layout_width="match_parent"
+            android:layout_height="1dp"
+            android:background="?android:attr/listDivider"/>
 
-        <LinearLayout
-            android:orientation="horizontal"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_alignParentEnd="true">
+        <androidx.viewpager.widget.ViewPager
+            android:id="@+id/view_pager"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent">
 
-            <Button android:id="@+id/skip_button"
-                style="?android:attr/buttonBarButtonStyle"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_margin="5dip"
-                android:text="@*android:string/skip_button_label"
-                android:visibility="gone" />
-
-            <Button android:id="@+id/next_button"
-                style="?android:attr/buttonBarButtonStyle"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_margin="5dip"
-                android:text="@*android:string/next_button_label" />
-
-        </LinearLayout>
-
-    </RelativeLayout>
+        </androidx.viewpager.widget.ViewPager>
+    </LinearLayout>
 
 </LinearLayout>
 
diff --git a/res/layout/preference_radio.xml b/res/layout/preference_radio.xml
deleted file mode 100644
index cd486ca..0000000
--- a/res/layout/preference_radio.xml
+++ /dev/null
@@ -1,104 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2018 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-<!-- This file is copied from preference_app.xml with modification to
-     support widget on the opposite side horizontally -->
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:settings="http://schemas.android.com/apk/res-auto"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:background="?android:attr/selectableItemBackground"
-    android:gravity="center_vertical"
-    android:minHeight="?android:attr/listPreferredItemHeightSmall"
-    android:paddingEnd="?android:attr/listPreferredItemPaddingEnd">
-
-    <LinearLayout
-        android:id="@android:id/widget_frame"
-        android:layout_width="wrap_content"
-        android:layout_height="match_parent"
-        android:gravity="center"
-        android:minWidth="56dp"
-        android:layout_marginEnd="16dp"
-        android:orientation="vertical" />
-
-    <LinearLayout
-        android:id="@+id/icon_frame"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:gravity="center_vertical"
-        android:minWidth="32dp"
-        android:orientation="horizontal"
-        android:layout_marginEnd="16dp"
-        android:paddingTop="4dp"
-        android:paddingBottom="4dp">
-        <androidx.preference.internal.PreferenceImageView
-            android:id="@android:id/icon"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            settings:maxWidth="@dimen/secondary_app_icon_size"
-            settings:maxHeight="@dimen/secondary_app_icon_size" />
-    </LinearLayout>
-
-    <LinearLayout
-        android:layout_width="0dp"
-        android:layout_height="wrap_content"
-        android:layout_weight="1"
-        android:orientation="vertical"
-        android:paddingTop="16dp"
-        android:paddingBottom="16dp">
-
-        <TextView android:id="@android:id/title"
-                  android:layout_width="wrap_content"
-                  android:layout_height="wrap_content"
-                  android:singleLine="true"
-                  android:textAppearance="@style/TextAppearance.TileTitle"
-                  android:ellipsize="marquee"
-                  android:fadingEdge="horizontal" />
-
-        <LinearLayout
-            android:id="@+id/summary_container"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:visibility="gone">
-            <TextView android:id="@android:id/summary"
-                      android:layout_width="0dp"
-                      android:layout_height="wrap_content"
-                      android:layout_weight="1"
-                      android:textAppearance="@style/TextAppearance.Small"
-                      android:textAlignment="viewStart"
-                      android:textColor="?android:attr/textColorSecondary" />
-
-            <TextView android:id="@+id/appendix"
-                      android:layout_width="0dp"
-                      android:layout_height="wrap_content"
-                      android:layout_weight="1"
-                      android:textAppearance="@style/TextAppearance.Small"
-                      android:textAlignment="viewEnd"
-                      android:textColor="?android:attr/textColorSecondary"
-                      android:maxLines="1"
-                      android:ellipsize="end" />
-        </LinearLayout>
-        <ProgressBar
-            android:id="@android:id/progress"
-            style="?android:attr/progressBarStyleHorizontal"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:layout_marginTop="4dp"
-            android:max="100"
-            android:visibility="gone" />
-    </LinearLayout>
-
-</LinearLayout>
diff --git a/res/layout/preference_radio_with_extra_widget.xml b/res/layout/preference_radio_with_extra_widget.xml
index 00c428f..c3470c0 100644
--- a/res/layout/preference_radio_with_extra_widget.xml
+++ b/res/layout/preference_radio_with_extra_widget.xml
@@ -65,7 +65,7 @@
                   android:layout_width="wrap_content"
                   android:layout_height="wrap_content"
                   android:singleLine="true"
-                  android:textAppearance="@style/TextAppearance.TileTitle"
+                  android:textAppearance="?android:attr/textAppearanceListItem"
                   android:ellipsize="marquee"
                   android:fadingEdge="horizontal" />
 
@@ -73,7 +73,7 @@
                   android:layout_width="match_parent"
                   android:layout_height="wrap_content"
                   android:layout_weight="1"
-                  android:textAppearance="@style/TextAppearance.Small"
+                  android:textAppearance="?android:attr/textAppearanceSmall"
                   android:textAlignment="viewStart"
                   android:textColor="?android:attr/textColorSecondary" />
     </LinearLayout>
diff --git a/res/layout/preference_static_text.xml b/res/layout/preference_static_text.xml
new file mode 100644
index 0000000..41968a2
--- /dev/null
+++ b/res/layout/preference_static_text.xml
@@ -0,0 +1,66 @@
+<?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.
+  -->
+
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:minHeight="?android:attr/listPreferredItemHeight"
+    android:paddingStart="?android:attr/listPreferredItemPaddingStart"
+    android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
+    android:background="?android:attr/selectableItemBackground"
+    android:clipToPadding="false">
+
+    <FrameLayout
+        android:id="@+id/icon_frame"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:minWidth="56dp"
+        android:paddingEnd="12dp"
+        android:paddingTop="16dp"
+        android:paddingBottom="4dp">
+        <ImageView
+            android:id="@android:id/icon"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content" />
+    </FrameLayout>
+
+    <RelativeLayout
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:paddingBottom="16dp"
+        android:paddingTop="16dp">
+
+        <TextView android:id="@android:id/title"
+                  android:layout_width="wrap_content"
+                  android:layout_height="wrap_content"/>
+
+        <TextView android:id="@android:id/summary"
+                  android:layout_width="wrap_content"
+                  android:layout_height="wrap_content"
+                  android:layout_below="@android:id/title"
+                  android:layout_alignStart="@android:id/title"
+                  android:textColor="?android:attr/textColorSecondary"/>
+    </RelativeLayout>
+
+    <LinearLayout android:id="@android:id/widget_frame"
+                  android:layout_width="wrap_content"
+                  android:layout_height="match_parent"
+                  android:gravity="center_vertical"
+                  android:orientation="vertical" />
+
+</LinearLayout>
\ No newline at end of file
diff --git a/res/layout/preference_widget_dialog_radiobutton.xml b/res/layout/preference_widget_dialog_radiobutton.xml
new file mode 100644
index 0000000..1cebd1b
--- /dev/null
+++ b/res/layout/preference_widget_dialog_radiobutton.xml
@@ -0,0 +1,23 @@
+<?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.
+-->
+
+<!-- Layout used by BaseBluetoothDialogPreference for the radio button in developer option dialog. -->
+
+<RadioButton
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:minHeight="@dimen/developer_option_dialog_min_height"/>
diff --git a/res/layout/preference_widget_dialog_summary.xml b/res/layout/preference_widget_dialog_summary.xml
new file mode 100644
index 0000000..2978efb
--- /dev/null
+++ b/res/layout/preference_widget_dialog_summary.xml
@@ -0,0 +1,27 @@
+<?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.
+-->
+
+<!-- Layout used by BaseBluetoothDialogPreference for the summary in developer option dialog. -->
+
+<TextView
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:text="@string/bluetooth_select_a2dp_codec_type_help_info"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:layout_marginTop="@dimen/developer_option_dialog_margin_top"
+    android:minHeight="@dimen/developer_option_dialog_min_height"
+    android:paddingStart="@dimen/developer_option_dialog_padding_start"
+    android:textAppearance="?android:attr/textAppearanceSmall"/>
diff --git a/res/layout/preference_widget_summary.xml b/res/layout/preference_widget_summary.xml
index fae5027..bee46db 100644
--- a/res/layout/preference_widget_summary.xml
+++ b/res/layout/preference_widget_summary.xml
@@ -18,6 +18,7 @@
     android:id="@+id/widget_summary"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
+    android:layout_marginStart="8dp"
     android:drawablePadding="8dp"
     android:gravity="center_vertical|end"
     android:textAlignment="viewEnd"
diff --git a/res/layout/preference_widget_two_summary.xml b/res/layout/preference_widget_two_summary.xml
new file mode 100644
index 0000000..3f951da
--- /dev/null
+++ b/res/layout/preference_widget_two_summary.xml
@@ -0,0 +1,38 @@
+<?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.
+-->
+
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:orientation="vertical"
+    android:paddingTop="16dp"
+    android:paddingBottom="16dp"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
+    <TextView
+        android:id="@+id/widget_summary1"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:textAppearance="?android:attr/textAppearanceSmall"
+        android:textColor="?android:attr/textColorSecondary"/>
+
+    <TextView
+        android:id="@+id/widget_summary2"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_gravity="bottom"
+        android:textAppearance="?android:attr/textAppearanceSmall"
+        android:textColor="?android:attr/textColorSecondary"/>
+</LinearLayout>
diff --git a/res/layout/private_dns_mode_dialog.xml b/res/layout/private_dns_mode_dialog.xml
index 641905d..0b4f4db 100644
--- a/res/layout/private_dns_mode_dialog.xml
+++ b/res/layout/private_dns_mode_dialog.xml
@@ -28,31 +28,20 @@
         <RadioGroup
             android:id="@+id/private_dns_radio_group"
             android:layout_width="match_parent"
-            android:layout_height="wrap_content">
+            android:layout_height="wrap_content"
+            android:layout_marginStart="@dimen/developer_option_dialog_margin_start">
 
-            <RadioButton
+            <include
                 android:id="@+id/private_dns_mode_off"
-                android:text="@string/private_dns_mode_off"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginStart="8dp"
-                android:minHeight="48dp"/>
+                layout="@layout/preference_widget_dialog_radiobutton"/>
 
-            <RadioButton
+            <include
                 android:id="@+id/private_dns_mode_opportunistic"
-                android:text="@string/private_dns_mode_opportunistic"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginStart="8dp"
-                android:minHeight="48dp"/>
+                layout="@layout/preference_widget_dialog_radiobutton"/>
 
-            <RadioButton
+            <include
                 android:id="@+id/private_dns_mode_provider"
-                android:text="@string/private_dns_mode_provider"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginStart="8dp"
-                android:minHeight="48dp"/>
+                layout="@layout/preference_widget_dialog_radiobutton"/>
 
             <EditText
                 android:id="@+id/private_dns_mode_provider_hostname"
@@ -64,17 +53,12 @@
                 android:layout_height="wrap_content"
                 android:layout_marginStart="40dp"
                 android:layout_marginEnd="8dp"
-                android:minHeight="48dp"/>
+                android:minHeight="@dimen/developer_option_dialog_min_height"/>
         </RadioGroup>
 
-        <TextView
+        <include
             android:id="@+id/private_dns_help_info"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:layout_marginTop="8dp"
-            android:minHeight="48dp"
-            android:paddingStart="16dp"
-            android:textAppearance="?android:attr/textAppearanceSmall"/>
+            layout="@layout/preference_widget_dialog_summary"/>
     </LinearLayout>
 
 </ScrollView>
diff --git a/res/layout/profile_select_tablayout.xml b/res/layout/profile_select_tablayout.xml
new file mode 100644
index 0000000..3e83bb9
--- /dev/null
+++ b/res/layout/profile_select_tablayout.xml
@@ -0,0 +1,49 @@
+<!--
+  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.
+  -->
+
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:theme="@style/Theme.MaterialComponents.DayNight"
+    android:clipToPadding="true"
+    android:clipChildren="true"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical">
+
+    <com.google.android.material.tabs.TabLayout
+        android:background="@android:color/transparent"
+        android:id="@+id/tabs"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        app:tabMaxWidth="0dp"
+        app:tabGravity="fill"
+        app:tabMode="fixed"
+        app:tabIndicatorColor="@*android:color/accent_device_default"
+        app:tabSelectedTextColor="@*android:color/accent_device_default"
+        app:tabTextColor="?android:attr/textColorSecondary" />
+    <View
+        android:layout_width="match_parent"
+        android:layout_height="1dp"
+        android:background="?android:attr/listDivider"/>
+
+    <androidx.viewpager.widget.ViewPager
+        android:id="@+id/view_pager"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent">
+
+    </androidx.viewpager.widget.ViewPager>
+</LinearLayout>
diff --git a/res/layout/radio_info.xml b/res/layout/radio_info.xml
deleted file mode 100644
index 5c918fc..0000000
--- a/res/layout/radio_info.xml
+++ /dev/null
@@ -1,414 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/* //device/apps/Settings/assets/res/any/layout/radio_info.xml
-**
-** Copyright 2006, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License"); 
-** you may not use this file except in compliance with the License. 
-** You may obtain a copy of the License at 
-**
-**     http://www.apache.org/licenses/LICENSE-2.0 
-**
-** Unless required by applicable law or agreed to in writing, software 
-** distributed under the License is distributed on an "AS IS" BASIS, 
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
-** See the License for the specific language governing permissions and 
-** limitations under the License.
-*/
--->
-<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent">
-
-    <LinearLayout style="@style/info_layout"
-        android:descendantFocusability="beforeDescendants"
-        android:focusableInTouchMode="true">
-
-        <!-- Phone index -->
-        <TextView
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:text="@string/phone_index_label"
-                style="@style/info_label"
-                />
-
-        <Spinner android:id="@+id/phoneIndex"
-                 android:layout_width="match_parent"
-                 android:layout_height="wrap_content"
-                />
-
-        <!-- IMEI -->
-        <LinearLayout style="@style/entry_layout">
-            <TextView android:text="@string/radio_info_imei_label" style="@style/info_label" />
-            <TextView android:id="@+id/imei" style="@style/info_value" />
-        </LinearLayout>
-
-        <!-- Phone Number -->
-        <LinearLayout style="@style/entry_layout">
-            <TextView android:text="@string/radio_info_phone_number_label" style="@style/info_label" />
-            <TextView android:id="@+id/number" style="@style/info_value" />
-        </LinearLayout>
-
-        <!-- Subscription ID -->
-        <LinearLayout style="@style/entry_layout">
-            <TextView android:text="@string/radio_info_subid" style="@style/info_label" />
-            <TextView android:id="@+id/subid" style="@style/info_value" />
-        </LinearLayout>
-
-        <!-- Default data subscription -->
-        <LinearLayout style="@style/entry_layout">
-            <TextView android:text="@string/radio_info_dds" style="@style/info_label" />
-            <TextView android:id="@+id/dds" style="@style/info_value" />
-        </LinearLayout>
-
-        <!-- IMSI -->
-        <LinearLayout style="@style/entry_layout">
-            <TextView android:text="@string/radio_info_imsi_label" style="@style/info_label" />
-            <TextView android:id="@+id/imsi" style="@style/info_value" />
-        </LinearLayout>
-
-        <!-- Network Identifier -->
-        <LinearLayout style="@style/entry_layout">
-            <TextView android:text="@string/radio_info_current_network_label" style="@style/info_label" />
-            <TextView android:id="@+id/operator" style="@style/info_value" />
-        </LinearLayout>
-
-        <!-- Roaming -->
-        <LinearLayout style="@style/entry_layout">
-            <TextView android:text="@string/radio_info_roaming_label" style="@style/info_label" />
-            <TextView android:id="@+id/roaming" style="@style/info_value" />
-        </LinearLayout>
-
-        <!-- Data Service Status -->
-        <LinearLayout style="@style/entry_layout">
-            <TextView android:text="@string/radio_info_gprs_service_label" style="@style/info_label" />
-            <TextView android:id="@+id/gprs" style="@style/info_value" />
-        </LinearLayout>
-
-        <!-- Data Network Type -->
-        <LinearLayout style="@style/entry_layout">
-            <TextView android:text="@string/radio_info_data_network_type_label" style="@style/info_label" />
-            <TextView android:id="@+id/data_network" style="@style/info_value" />
-        </LinearLayout>
-
-        <!-- Voice Service Status -->
-        <LinearLayout style="@style/entry_layout">
-            <TextView android:text="@string/radio_info_gsm_service_label" style="@style/info_label" />
-            <TextView android:id="@+id/gsm" style="@style/info_value" />
-        </LinearLayout>
-
-        <!-- Voice Network Type -->
-        <LinearLayout style="@style/entry_layout">
-            <TextView android:text="@string/radio_info_voice_network_type_label" style="@style/info_label" />
-            <TextView android:id="@+id/voice_network" style="@style/info_value" />
-        </LinearLayout>
-
-        <!-- Signal Strength -->
-        <LinearLayout style="@style/entry_layout">
-            <TextView android:text="@string/radio_info_signal_strength_label" style="@style/info_label" />
-            <TextView android:id="@+id/dbm" style="@style/info_value" />
-        </LinearLayout>
-
-        <!-- Link Bandwidth -->
-        <LinearLayout style="@style/entry_layout" android:orientation="horizontal">
-            <TextView android:text="@string/radio_info_dl_kbps" style="@style/info_label" />
-            <TextView android:id="@+id/dl_kbps" style="@style/info_value" />
-        </LinearLayout>
-
-        <!-- Link Bandwidth -->
-        <LinearLayout style="@style/entry_layout" android:orientation="horizontal">
-            <TextView android:text="@string/radio_info_ul_kbps" style="@style/info_label" />
-            <TextView android:id="@+id/ul_kbps" style="@style/info_value" />
-        </LinearLayout>
-
-        <!-- Physical Channel Config -->
-        <LinearLayout style="@style/entry_layout">
-            <TextView android:text="@string/radio_info_phy_chan_config" style="@style/info_label" />
-            <TextView android:id="@+id/phy_chan_config" style="@style/info_value" />
-        </LinearLayout>
-
-        <!-- Horizontal Rule -->
-        <View
-            android:layout_width="fill_parent"
-            android:layout_height="1dip"
-            android:background="?android:attr/listDivider" />
-
-        <!-- Preferred Network Type -->
-        <TextView
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:text="@string/radio_info_set_perferred_label"
-                style="@style/info_label"
-                />
-
-        <Spinner android:id="@+id/preferredNetworkType"
-                 android:layout_width="match_parent"
-                 android:layout_height="wrap_content"
-                />
-
-        <!-- Horizontal Rule -->
-        <View
-            android:layout_width="fill_parent"
-            android:layout_height="1dip"
-            android:background="?android:attr/listDivider" />
-
-        <!-- Radio Power -->
-        <Switch android:id="@+id/radio_power"
-                android:textSize="14sp"
-                android:layout_marginTop="8dip"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:text="@string/radio_info_radio_power"/>
-
-        <!-- VoLTE provisioned -->
-        <Switch android:id="@+id/volte_provisioned_switch"
-                android:textSize="14sp"
-                android:layout_marginTop="8dip"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:text="@string/volte_provisioned_switch_string"/>
-
-        <!-- VT provisioned -->
-        <Switch android:id="@+id/vt_provisioned_switch"
-                android:textSize="14sp"
-                android:layout_marginTop="8dip"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:text="@string/vt_provisioned_switch_string"/>
-
-        <!-- Wifi Calling provisioned -->
-        <Switch android:id="@+id/wfc_provisioned_switch"
-                android:textSize="14sp"
-                android:layout_marginTop="8dip"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:text="@string/wfc_provisioned_switch_string"/>
-
-        <!-- EAB/Presence provisioned -->
-        <Switch android:id="@+id/eab_provisioned_switch"
-                android:textSize="14sp"
-                android:layout_marginTop="8dip"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:text="@string/eab_provisioned_switch_string"/>
-
-        <!-- Horizontal Rule -->
-        <View
-            android:layout_width="fill_parent"
-            android:layout_height="1dip"
-            android:background="?android:attr/listDivider" />
-
-        <!-- Enable/Disable CBRS data -->
-        <Switch android:id="@+id/cbrs_data_switch"
-                android:textSize="14sp"
-                android:layout_marginTop="8dip"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:text="@string/cbrs_data_switch_string" />
-
-        <!-- Switch between SSSS(single sim single standby) and DSDS(dual sim dual standby). -->
-        <Switch android:id="@+id/dsds_switch"
-                android:textSize="14sp"
-                android:layout_marginTop="8dip"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:text="@string/dsds_switch_string" />
-
-        <!-- Horizontal Rule -->
-        <View
-            android:layout_width="fill_parent"
-            android:layout_height="1dip"
-            android:background="?android:attr/listDivider" />
-
-        <!-- Ping stats -->
-        <Button android:id="@+id/ping_test"
-                android:textSize="14sp"
-                android:layout_marginTop="8dip"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:text="@string/ping_test_label"
-                />
- 
-        <LinearLayout style="@style/entry_layout">
-            <TextView android:text="@string/radio_info_ping_hostname_v4" style="@style/info_label" />
-            <TextView android:id="@+id/pingHostnameV4" style="@style/info_value" />
-        </LinearLayout>
-
-        <LinearLayout style="@style/entry_layout">
-            <TextView android:text="@string/radio_info_ping_hostname_v6" style="@style/info_label" />
-            <TextView android:id="@+id/pingHostnameV6" style="@style/info_value" />
-        </LinearLayout>
-
-        <LinearLayout style="@style/entry_layout">
-            <TextView android:text="@string/radio_info_http_client_test" style="@style/info_label" />
-            <TextView android:id="@+id/httpClientTest" style="@style/info_value" />
-        </LinearLayout>
-
-        <!-- Horizontal Rule -->
-        <View
-            android:layout_width="fill_parent"
-            android:layout_height="1dip"
-            android:background="?android:attr/listDivider" />
-
-        <!-- PPP Sent -->
-        <LinearLayout style="@style/entry_layout">
-            <TextView android:text="@string/radio_info_ppp_sent_label"
-                style="@style/info_label" />
-            <TextView android:id="@+id/sent" style="@style/info_value" />
-        </LinearLayout>
-
-        <!-- PPP Received -->
-        <LinearLayout style="@style/entry_layout">
-            <TextView android:text="@string/radio_info_ppp_received_label"
-                style="@style/info_label" />
-            <TextView android:id="@+id/received" style="@style/info_value" />
-        </LinearLayout>
-
-        <!-- PPP Sent since last received -->
-        <LinearLayout style="@style/entry_layout">
-            <TextView android:text="@string/radio_info_ppp_resets_label"
-                style="@style/info_label" />
-            <TextView android:id="@+id/sentSinceReceived" style="@style/info_value" />
-        </LinearLayout>
-
-        <!-- Horizontal Rule -->
-        <View
-            android:layout_width="fill_parent"
-            android:layout_height="1dip"
-            android:background="?android:attr/listDivider" />
-
-        <!-- Call Status -->
-        <LinearLayout style="@style/entry_layout">
-            <TextView android:text="@string/radio_info_call_status_label" style="@style/info_label" />
-            <TextView android:id="@+id/call" style="@style/info_value" />
-        </LinearLayout>
-
-        <!-- Message Waiting Indicator -->
-        <LinearLayout style="@style/entry_layout">
-            <TextView android:text="@string/radio_info_message_waiting_label" style="@style/info_label" />
-            <TextView android:id="@+id/mwi" style="@style/info_value" />
-        </LinearLayout>
-
-        <!-- Call Forwarding Indicator -->
-        <LinearLayout style="@style/entry_layout">
-            <TextView android:text="@string/radio_info_call_redirect_label" style="@style/info_label" />
-            <TextView android:id="@+id/cfi" style="@style/info_value" />
-        </LinearLayout>
-
-        <!-- Horizontal Rule -->
-        <View
-            android:layout_width="fill_parent"
-            android:layout_height="1dip"
-            android:background="?android:attr/listDivider" />
-
-        <!-- CellInfoListRate Selection -->
-        <!-- Location -->
-        <LinearLayout style="@style/entry_layout">
-            <TextView android:text="@string/radio_info_signal_location_label" style="@style/info_label" />
-            <TextView android:id="@+id/location" style="@style/info_value" />
-        </LinearLayout>
-
-        <TextView
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:text="@string/radio_info_cell_info_refresh_rate"
-                style="@style/info_label"
-                />
-
-        <Spinner android:id="@+id/cell_info_rate_select"
-                 android:layout_width="match_parent"
-                 android:layout_height="wrap_content"
-                />
-
-        <!-- CellInfo -->
-        <LinearLayout style="@style/entry_layout">
-            <TextView android:text="@string/radio_info_cellinfo_label"
-                      style="@style/info_label" />
-        </LinearLayout>
-        <LinearLayout style="@style/entry_layout">
-            <TextView android:id="@+id/cellinfo"
-                      style="@style/info_value"
-                      android:minHeight="300dip"
-                      android:textSize="12sp" />
-        </LinearLayout>
-
-        <!-- Horizontal Rule -->
-        <View
-            android:layout_width="fill_parent"
-            android:layout_height="1dip"
-            android:background="?android:attr/listDivider" />
-
-        <!-- Launch OEM-specific Info/Settings Activity (if any) -->
-        <!-- Carrier Provisioning -->
-        <LinearLayout style="@style/entry_layout"
-                      android:orientation="horizontal" >
-            <Button android:id="@+id/carrier_provisioning"
-                    android:layout_marginTop="8dip"
-                    android:layout_weight="1"
-                    android:layout_width="0dp"
-                    android:layout_height="wrap_content"
-                    android:text="@string/carrier_provisioning"
-                    android:textSize="14sp"/>
-            <Button android:id="@+id/trigger_carrier_provisioning"
-                    android:layout_marginTop="8dip"
-                    android:layout_weight="1"
-                    android:layout_width="0dp"
-                    android:layout_height="wrap_content"
-                    android:text="@string/trigger_carrier_provisioning"
-                    android:textSize="14sp"/>
-            <Button android:id="@+id/oem_info"
-                    android:layout_marginTop="8dip"
-                    android:layout_weight="1"
-                    android:layout_width="0dp"
-                    android:layout_height="wrap_content"
-                    android:text="@string/oem_radio_info_label"
-                    android:textSize="14sp"/>
-        </LinearLayout>
-
-        <!-- SMSC -->
-        <RelativeLayout android:layout_width="match_parent"
-                        android:layout_height="wrap_content">
-            <TextView android:id="@+id/smsc_label"
-                      android:text="@string/radio_info_smsc_label"
-                      android:layout_alignBaseline="@+id/update_smsc"
-                      style="@style/info_label" />
-            <Button android:id="@+id/refresh_smsc"
-                    android:textSize="14sp"
-                    android:layout_marginTop="8dip"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:text="@string/radio_info_smsc_refresh_label"
-                    android:layout_alignParentEnd="true"
-                    />
-            <Button android:id="@+id/update_smsc"
-                    android:textSize="14sp"
-                    android:layout_marginTop="8dip"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:text="@string/radio_info_smsc_update_label"
-                    android:layout_toStartOf="@+id/refresh_smsc"
-                    android:layout_alignBaseline="@+id/refresh_smsc"
-                    />
-            <EditText android:id="@+id/smsc"
-                      style="@style/form_value"
-                      android:layout_alignBaseline="@+id/refresh_smsc"
-                      android:layout_toStartOf="@id/update_smsc"
-                      android:layout_toEndOf="@id/smsc_label" />
-        </RelativeLayout>
-
-        <!-- Test setting to ignore bad DNS, useful in lab environments -->
-        <LinearLayout style="@style/entry_layout">
-            <Button android:id="@+id/dns_check_toggle"
-                    android:textSize="14sp"
-                    android:layout_marginTop="8dip"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:text="@string/radio_info_toggle_dns_check_label"
-                    />
-            <TextView android:id="@+id/dnsCheckState" style="@style/info_value" />
-        </LinearLayout>
-
-
-    </LinearLayout>
-</ScrollView>
diff --git a/res/layout/reset_network.xml b/res/layout/reset_network.xml
index 2c31d1a..9181ed8 100644
--- a/res/layout/reset_network.xml
+++ b/res/layout/reset_network.xml
@@ -19,7 +19,6 @@
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:orientation="vertical" >
-
     <ScrollView
         android:layout_width="match_parent"
         android:layout_height="0dip"
@@ -27,39 +26,33 @@
         android:layout_marginEnd="@dimen/reset_network_margin_end"
         android:layout_marginTop="12dp"
         android:layout_weight="1">
-
         <LinearLayout
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:orientation="vertical">
-
             <TextView
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:textSize="18sp"
                 android:textDirection="locale"
                 android:text="@string/reset_network_desc" />
-
             <include layout="@layout/reset_esim_checkbox"/>
-
         </LinearLayout>
-
     </ScrollView>
-
     <Spinner android:id="@+id/reset_network_subscription"
         android:layout_gravity="center_horizontal"
-        android:layout_marginTop="20dip"
+        android:layout_marginTop="20dp"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content" />
-
     <Button
         android:id="@+id/initiate_reset_network"
-        android:layout_gravity="center_horizontal"
-        android:layout_marginTop="20dip"
-        android:layout_marginBottom="12dip"
+        android:layout_gravity="end"
+        android:layout_marginEnd="@dimen/suc_customization_button_margin_end"
+        android:layout_marginTop="20dp"
+        android:layout_marginBottom="12dp"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="@string/reset_network_button_text"
-        android:gravity="center" />
-
+        android:gravity="center"
+        style="@style/ActionPrimaryButton"/>
 </LinearLayout>
diff --git a/res/layout/reset_network_confirm.xml b/res/layout/reset_network_confirm.xml
index 0e5327f..1ec446e 100644
--- a/res/layout/reset_network_confirm.xml
+++ b/res/layout/reset_network_confirm.xml
@@ -17,23 +17,25 @@
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:orientation="vertical">
-
     <TextView
         android:id="@+id/reset_network_confirm"
         android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginStart="12dp"
-        android:layout_marginEnd="12dp"
+        android:layout_height="0dp"
+        android:layout_weight="1"
+        android:layout_marginStart="@dimen/reset_network_margin_start"
+        android:layout_marginEnd="@dimen/reset_network_margin_end"
         android:layout_marginTop="12dp"
-        android:textSize="20sp"
+        android:textSize="18sp"
         android:text="@string/reset_network_final_desc" />
-
-    <Button android:id="@+id/execute_reset_network"
-        android:layout_gravity="center_horizontal"
-        android:layout_marginTop="40dip"
+    <Button
+        android:id="@+id/execute_reset_network"
+        android:layout_gravity="end"
+        android:layout_marginEnd="@dimen/suc_customization_button_margin_end"
+        android:layout_marginTop="20dp"
+        android:layout_marginBottom="12dp"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="@string/reset_network_final_button_text"
-        android:gravity="center" />
-
+        android:gravity="center"
+        style="@style/ActionPrimaryButton"/>
 </LinearLayout>
diff --git a/res/layout/restricted_preference_widget_master_switch.xml b/res/layout/restricted_preference_widget_master_switch.xml
new file mode 100644
index 0000000..60abeb2
--- /dev/null
+++ b/res/layout/restricted_preference_widget_master_switch.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ~ Copyright (C) 2019 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+
+<merge xmlns:android="http://schemas.android.com/apk/res/android">
+    <include layout="@layout/restricted_icon"/>
+
+    <include layout="@layout/preference_widget_master_switch"/>
+</merge>
\ No newline at end of file
diff --git a/res/layout/running_processes_header.xml b/res/layout/running_processes_header.xml
index b2db025..384c0b6 100644
--- a/res/layout/running_processes_header.xml
+++ b/res/layout/running_processes_header.xml
@@ -55,38 +55,29 @@
             android:scaleType="centerInside"
             android:src="@color/running_processes_system_ram"
             android:contentDescription="@null" />
-        <LinearLayout
+        <RelativeLayout
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:layout_gravity="center"
-            android:orientation="horizontal">
+            android:layout_gravity="center">
             <TextView
                 android:id="@+id/systemSizePrefix"
                 android:text="@string/running_processes_header_system_prefix"
                 android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Body1"
                 android:textColor="?android:attr/textColorSecondary"
+                android:layout_alignParentStart="true"
                 android:layout_height="wrap_content"
                 android:layout_width="wrap_content"
                 android:layout_marginLeft="16dp"
                 android:maxLines="1" />
-            <ImageView
-                android:src="@drawable/dotted_line_480px"
-                android:layout_width="0dip"
-                android:layout_weight="1"
-                android:layout_height="1px"
-                android:layout_marginStart="1dip"
-                android:layout_marginEnd="1dip"
-                android:baselineAlignBottom="true"
-                android:scaleType="center"
-                android:contentDescription="@null" />
             <TextView
                 android:id="@+id/systemSize"
                 android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Body1"
                 android:textColor="?android:attr/textColorSecondary"
                 android:layout_height="wrap_content"
                 android:layout_width="wrap_content"
+                android:layout_alignParentEnd="true"
                 android:maxLines="1" />
-        </LinearLayout>
+        </RelativeLayout>
     </LinearLayout>
 
     <LinearLayout
@@ -100,7 +91,7 @@
             android:scaleType="centerInside"
             android:src="?android:attr/colorAccent"
             android:contentDescription="@null" />
-        <LinearLayout
+        <RelativeLayout
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:layout_gravity="center"
@@ -113,25 +104,17 @@
                 android:layout_height="wrap_content"
                 android:layout_width="wrap_content"
                 android:layout_marginLeft="16dp"
+                android:layout_alignParentStart="true"
                 android:maxLines="1" />
-            <ImageView
-                android:src="@drawable/dotted_line_480px"
-                android:layout_width="0dip"
-                android:layout_weight="1"
-                android:layout_height="1px"
-                android:baselineAlignBottom="true"
-                android:layout_marginStart="1dip"
-                android:layout_marginEnd="1dip"
-                android:scaleType="center"
-                android:contentDescription="@null" />
             <TextView
                 android:id="@+id/appsSize"
                 android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Body1"
                 android:textColor="?android:attr/textColorSecondary"
                 android:layout_height="wrap_content"
                 android:layout_width="wrap_content"
+                android:layout_alignParentEnd="true"
                 android:maxLines="1" />
-        </LinearLayout>
+        </RelativeLayout>
     </LinearLayout>
 
     <LinearLayout
@@ -145,7 +128,7 @@
             android:scaleType="centerInside"
             android:src="@color/running_processes_free_ram"
             android:contentDescription="@null" />
-        <LinearLayout
+        <RelativeLayout
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:layout_gravity="center"
@@ -158,25 +141,17 @@
                 android:layout_height="wrap_content"
                 android:layout_width="wrap_content"
                 android:layout_marginLeft="16dp"
+                android:layout_alignParentStart="true"
                 android:maxLines="1" />
-            <ImageView
-                android:src="@drawable/dotted_line_480px"
-                android:layout_width="0dip"
-                android:layout_weight="1"
-                android:layout_height="1px"
-                android:baselineAlignBottom="true"
-                android:layout_marginStart="1dip"
-                android:layout_marginEnd="1dip"
-                android:scaleType="center"
-                android:contentDescription="@null" />
             <TextView
                 android:id="@+id/freeSize"
                 android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Body1"
                 android:textColor="?android:attr/textColorSecondary"
                 android:layout_height="wrap_content"
                 android:layout_width="wrap_content"
+                android:layout_alignParentEnd="true"
                 android:maxLines="1" />
-        </LinearLayout>
+        </RelativeLayout>
     </LinearLayout>
 
     <TextView
diff --git a/res/layout/running_processes_item.xml b/res/layout/running_processes_item.xml
index 45121eb..2bca90e 100644
--- a/res/layout/running_processes_item.xml
+++ b/res/layout/running_processes_item.xml
@@ -17,71 +17,19 @@
 */
 -->
 
-<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<RelativeLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:minHeight="?android:attr/listPreferredItemHeight"
-    android:paddingStart="?android:attr/listPreferredItemPaddingStart"
-    android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
-    android:paddingTop="8dip"
-    android:paddingBottom="8dip"
-    android:columnCount="2">
-
-    <ImageView
-        android:id="@+id/icon"
-        android:layout_width="@android:dimen/app_icon_size"
-        android:layout_height="@android:dimen/app_icon_size"
-        android:layout_rowSpan="2"
-        android:layout_marginEnd="8dip"
-        android:scaleType="centerInside"
-        android:contentDescription="@null" />
-
-    <LinearLayout
-        android:layout_width="0dip"
-        android:layout_gravity="fill_horizontal"
-        android:layout_marginTop="2dip">
-
-        <TextView
-            android:id="@+id/name"
-            android:layout_width="0dip"
-            android:layout_height="wrap_content"
-            android:layout_weight="1"
-            android:singleLine="true"
-            android:ellipsize="marquee"
-            android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Subhead"
-            android:textAlignment="viewStart" />
-
-        <TextView
-            android:id="@+id/size"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginStart="8dip"
-            android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Body1"
-            android:textColor="?android:attr/textColorSecondary" />
-
-    </LinearLayout>
-
-    <LinearLayout
-        android:layout_width="0dip"
-        android:layout_gravity="fill_horizontal|top">
-
-        <TextView
-            android:id="@+id/description"
-            android:layout_width="0dip"
-            android:layout_height="wrap_content"
-            android:layout_weight="1"
-            android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Body1"
-            android:textColor="?android:attr/textColorSecondary"
-            android:textAlignment="viewStart" />
-
-        <TextView
-            android:id="@+id/uptime"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginStart="8dip"
-            android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Body1"
-            android:textColor="?android:attr/textColorSecondary" />
-
-    </LinearLayout>
-
-</GridLayout>
+    android:layout_height="match_parent">
+    <include
+        android:layout_width="60dp"
+        android:layout_height="match_parent"
+        android:layout_alignParentEnd="true"
+        android:id="@+id/widget_summary"
+        layout="@layout/preference_widget_two_summary"/>
+    <include
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:layout_toStartOf="@id/widget_summary"
+        layout="@layout/preference_material"/>
+</RelativeLayout>
\ No newline at end of file
diff --git a/res/layout/running_processes_view.xml b/res/layout/running_processes_view.xml
index 19293ab..a1cc6ab 100644
--- a/res/layout/running_processes_view.xml
+++ b/res/layout/running_processes_view.xml
@@ -15,26 +15,31 @@
  * limitations under the License.
  -->
 
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:orientation="vertical">
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical">
     <FrameLayout
+        android:layout_width="match_parent"
+        android:layout_height="0dp"
+        android:layout_weight="1">
+        <ListView
+            android:id="@android:id/list"
+            style="@style/PreferenceFragmentListSinglePane"
             android:layout_width="match_parent"
-            android:layout_height="0px"
-            android:layout_weight="1">
-        <ListView android:id="@android:id/list"
-                style="@style/PreferenceFragmentListSinglePane"
-                android:layout_width="match_parent" 
-                android:layout_height="match_parent"
-                android:drawSelectorOnTop="false"
-                android:scrollbarStyle="outsideOverlay"
-                android:fastScrollEnabled="true" />
-        <TextView android:id="@android:id/empty"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:gravity="center"
-                android:text="@string/no_running_services"
-                android:textAppearance="?android:attr/textAppearanceLarge" />
+            android:layout_height="match_parent"
+            android:paddingStart="0dp"
+            android:paddingEnd="0dp"
+            android:drawSelectorOnTop="false"
+            android:scrollbarStyle="outsideOverlay"
+            android:fastScrollEnabled="true"/>
+        <TextView
+            android:id="@android:id/empty"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:gravity="center"
+            android:text="@string/no_running_services"
+            android:textAppearance="?android:attr/textAppearanceLarge"/>
     </FrameLayout>
 </LinearLayout>
diff --git a/res/layout/screen_pinning_instructions.xml b/res/layout/screen_pinning_instructions.xml
deleted file mode 100644
index fea5ed8..0000000
--- a/res/layout/screen_pinning_instructions.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2014, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<ScrollView
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@+id/instructions_area"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent">
-
-    <TextView
-        android:id="@+id/screen_pinning_description"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_alignParentTop="true"
-        android:paddingTop="@dimen/screen_pinning_textview_padding"
-        android:text="@string/screen_pinning_description"
-        android:textAppearance="@style/TextAppearance.Medium"
-        android:paddingStart="@dimen/screen_pinning_padding_start"
-        android:paddingEnd="@dimen/screen_pinning_padding_end"
-        />
-
-</ScrollView>
diff --git a/res/layout/separator_label.xml b/res/layout/separator_label.xml
deleted file mode 100644
index b0e69fa..0000000
--- a/res/layout/separator_label.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2008, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<TextView xmlns:android="http://schemas.android.com/apk/res/android"
-    style="?android:attr/listSeparatorTextViewStyle" />
diff --git a/res/layout/settings_base_layout.xml b/res/layout/settings_base_layout.xml
index f94d25d..0a4437e 100644
--- a/res/layout/settings_base_layout.xml
+++ b/res/layout/settings_base_layout.xml
@@ -27,7 +27,7 @@
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:theme="?android:attr/actionBarTheme"
-        android:navigationContentDescription="@*android:string/action_bar_up_description" />
+        android:navigationContentDescription="@*android:string/back_button_label" />
     <FrameLayout
         android:id="@+id/content_frame"
         android:layout_width="match_parent"
diff --git a/res/layout/settings_color_picker_item.xml b/res/layout/settings_color_picker_item.xml
deleted file mode 100644
index c171950..0000000
--- a/res/layout/settings_color_picker_item.xml
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:orientation="horizontal"
-    android:background="?android:attr/selectableItemBackground" >
-
-    <ImageView
-        android:id="@+id/color_icon"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:paddingRight="8dp"
-        android:paddingLeft="6dp"
-        android:paddingTop="8dp"
-        android:paddingBottom="8dp"
-        android:layout_gravity="center_vertical" />
-
-    <TextView
-        android:id="@+id/color_text"
-        android:gravity="center_vertical"
-        android:layout_height="wrap_content"
-        android:layout_width="0dp"
-        android:layout_weight="1"
-        android:paddingTop="8dp"
-        android:paddingBottom="8dp"
-        android:paddingRight="8dp"
-        android:paddingLeft="8dp"
-        android:textColor="@android:color/black"
-        style="?android:attr/textAppearanceMedium" />
-
-</LinearLayout>
\ No newline at end of file
diff --git a/res/layout/slice_preference_layout.xml b/res/layout/slice_preference_layout.xml
index 4cea9c0..f78b1cf 100644
--- a/res/layout/slice_preference_layout.xml
+++ b/res/layout/slice_preference_layout.xml
@@ -15,15 +15,12 @@
   limitations under the License.
   -->
 
-<FrameLayout
+<androidx.slice.widget.SliceView
     xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/slice_view"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
-    android:gravity="center_vertical"
+    android:paddingTop="12dp"
+    android:paddingBottom="8dp"
     android:paddingStart="?android:attr/listPreferredItemPaddingStart"
-    android:paddingEnd="?android:attr/listPreferredItemPaddingEnd">
-    <androidx.slice.widget.SliceView
-        android:id="@+id/slice_view"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"/>
-</FrameLayout>
+    android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"/>
\ No newline at end of file
diff --git a/res/layout/storage_summary_donut.xml b/res/layout/storage_summary_donut.xml
index 88f5b36..cc4df20 100644
--- a/res/layout/storage_summary_donut.xml
+++ b/res/layout/storage_summary_donut.xml
@@ -56,7 +56,7 @@
         android:id="@+id/deletion_helper_button"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:text="@string/storage_menu_free"
+        android:text="@string/storage_menu_manage"
         style="@style/ActionPrimaryButton" />
 
 </LinearLayout>
diff --git a/res/layout/tall_preference_category.xml b/res/layout/tall_preference_category.xml
deleted file mode 100644
index 7eefdab..0000000
--- a/res/layout/tall_preference_category.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2015 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Based on frameworks/base/core/res/res/layout/preference_category_material.xml.
-     except has paddingBottom set.-->
-<TextView xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@android:id/title"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:layout_marginBottom="16dip"
-    android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Body2"
-    android:textColor="?android:attr/colorAccent"
-    android:paddingStart="?android:attr/listPreferredItemPaddingStart"
-    android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
-    android:paddingBottom="8dp"
-    android:paddingTop="16dip" />
diff --git a/res/layout/time_zone_items_list.xml b/res/layout/time_zone_items_list.xml
deleted file mode 100644
index 9c929ee..0000000
--- a/res/layout/time_zone_items_list.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  Copyright (C) 2018 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
-  -->
-<androidx.recyclerview.widget.RecyclerView
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@+id/recycler_view"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:scrollbars="vertical"/>
diff --git a/res/layout/trusted_credential_list_container.xml b/res/layout/trusted_credential_list_container.xml
index aca0bc8..42dbfd9 100644
--- a/res/layout/trusted_credential_list_container.xml
+++ b/res/layout/trusted_credential_list_container.xml
@@ -16,6 +16,8 @@
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
               android:layout_width="match_parent"
               android:layout_height="match_parent"
+              android:clipToPadding="true"
+              android:clipChildren="true"
               android:orientation="vertical">
     <LinearLayout
         android:id="@+id/header_view"
diff --git a/res/layout/tutorial_dialog_launch_by_gesture_navigation_settings.xml b/res/layout/tutorial_dialog_launch_by_gesture_navigation_settings.xml
index fb4b6cc..524f7c9 100644
--- a/res/layout/tutorial_dialog_launch_by_gesture_navigation_settings.xml
+++ b/res/layout/tutorial_dialog_launch_by_gesture_navigation_settings.xml
@@ -57,4 +57,4 @@
 
     </LinearLayout>
 
-</ScrollView>
\ No newline at end of file
+</ScrollView>
diff --git a/res/layout/tutorial_dialog_launch_service_by_accessibility_button.xml b/res/layout/tutorial_dialog_launch_service_by_accessibility_button.xml
index caa91a8..ecbccab 100644
--- a/res/layout/tutorial_dialog_launch_service_by_accessibility_button.xml
+++ b/res/layout/tutorial_dialog_launch_service_by_accessibility_button.xml
@@ -58,4 +58,4 @@
 
     </LinearLayout>
 
-</ScrollView>
\ No newline at end of file
+</ScrollView>
diff --git a/res/layout/tutorial_dialog_launch_service_by_gesture_navigation.xml b/res/layout/tutorial_dialog_launch_service_by_gesture_navigation.xml
index 454029b..7c4971f 100644
--- a/res/layout/tutorial_dialog_launch_service_by_gesture_navigation.xml
+++ b/res/layout/tutorial_dialog_launch_service_by_gesture_navigation.xml
@@ -57,4 +57,4 @@
 
     </LinearLayout>
 
-</ScrollView>
\ No newline at end of file
+</ScrollView>
diff --git a/res/layout/two_state_button.xml b/res/layout/two_state_button.xml
index 3ad1634..162465e 100644
--- a/res/layout/two_state_button.xml
+++ b/res/layout/two_state_button.xml
@@ -22,7 +22,8 @@
     android:paddingStart="72dp"
     android:paddingEnd="72dp"
     android:layout_width="match_parent"
-    android:layout_height="match_parent">
+    android:layout_height="wrap_content"
+    android:minHeight="?android:attr/listPreferredItemHeight">
 
     <Button
         android:id="@+id/state_on_button"
diff --git a/res/layout/usage_view.xml b/res/layout/usage_view.xml
index c24f289..a98ec3e 100644
--- a/res/layout/usage_view.xml
+++ b/res/layout/usage_view.xml
@@ -35,7 +35,8 @@
             android:orientation="vertical">
 
             <include android:id="@+id/label_top"
-                layout="@layout/usage_side_label" />
+                layout="@layout/usage_side_label"
+                android:contentDescription="@null" />
 
             <Space
                 android:id="@+id/space1"
@@ -44,7 +45,8 @@
                 android:layout_weight="1" />
 
             <include android:id="@+id/label_middle"
-                layout="@layout/usage_side_label" />
+                layout="@layout/usage_side_label"
+                android:contentDescription="@null" />
 
             <Space
                 android:id="@+id/space2"
@@ -53,7 +55,8 @@
                 android:layout_weight="1" />
 
             <include android:id="@+id/label_bottom"
-                layout="@layout/usage_side_label" />
+                layout="@layout/usage_side_label"
+                android:contentDescription="@null" />
 
         </LinearLayout>
 
@@ -82,7 +85,8 @@
             android:layout_weight="1"
             android:orientation="horizontal">
             <include android:id="@+id/label_start"
-                     layout="@layout/usage_side_label" />
+                layout="@layout/usage_side_label"
+                android:contentDescription="@null" />
 
             <Space
                 android:id="@+id/spacer"
@@ -91,7 +95,8 @@
                 android:layout_weight="1" />
 
             <include android:id="@+id/label_end"
-                     layout="@layout/usage_side_label" />
+                layout="@layout/usage_side_label"
+                android:contentDescription="@null" />
         </com.android.settings.widget.BottomLabelLayout>
     </LinearLayout>
 
diff --git a/res/layout/vpn_dialog.xml b/res/layout/vpn_dialog.xml
index a626205..73f669b 100644
--- a/res/layout/vpn_dialog.xml
+++ b/res/layout/vpn_dialog.xml
@@ -65,7 +65,7 @@
                         android:hint="@string/vpn_not_used"/>
             </LinearLayout>
 
-            <LinearLayout android:id="@+id/ipsec_psk"
+            <LinearLayout android:id="@+id/options_ipsec_identity"
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content"
                     android:orientation="vertical"
@@ -75,7 +75,13 @@
                         android:labelFor="@+id/ipsec_identifier"/>
                 <EditText style="@style/vpn_value" android:id="@+id/ipsec_identifier"
                         android:hint="@string/vpn_not_used"/>
+            </LinearLayout>
 
+            <LinearLayout android:id="@+id/ipsec_psk"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:orientation="vertical"
+                    android:visibility="gone">
                 <TextView style="@style/vpn_label"
                         android:text="@string/vpn_ipsec_secret"
                         android:labelFor="@+id/ipsec_secret"/>
@@ -123,23 +129,28 @@
                 android:layout_height="wrap_content"
                 android:orientation="vertical"
                 android:visibility="gone">
-            <TextView style="@style/vpn_label"
-                    android:text="@string/vpn_search_domains"
-                    android:labelFor="@+id/search_domains"/>
-            <EditText style="@style/vpn_value" android:id="@+id/search_domains"
-                    android:hint="@string/vpn_not_used"/>
+            <LinearLayout android:id="@+id/network_options"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:orientation="vertical">
+                <TextView style="@style/vpn_label"
+                        android:text="@string/vpn_search_domains"
+                        android:labelFor="@+id/search_domains"/>
+                <EditText style="@style/vpn_value" android:id="@+id/search_domains"
+                        android:hint="@string/vpn_not_used"/>
 
-            <TextView style="@style/vpn_label"
-                    android:text="@string/vpn_dns_servers"
-                    android:labelFor="@+id/dns_servers"/>
-            <EditText style="@style/vpn_value" android:id="@+id/dns_servers"
-                    android:hint="@string/vpn_not_used"/>
+                <TextView style="@style/vpn_label"
+                        android:text="@string/vpn_dns_servers"
+                        android:labelFor="@+id/dns_servers"/>
+                <EditText style="@style/vpn_value" android:id="@+id/dns_servers"
+                        android:hint="@string/vpn_not_used"/>
 
-            <TextView style="@style/vpn_label"
-                    android:text="@string/vpn_routes"
-                    android:labelFor="@+id/routes"/>
-            <EditText style="@style/vpn_value" android:id="@+id/routes"
-                    android:hint="@string/vpn_not_used"/>
+                <TextView style="@style/vpn_label"
+                        android:text="@string/vpn_routes"
+                        android:labelFor="@+id/routes"/>
+                <EditText style="@style/vpn_value" android:id="@+id/routes"
+                        android:hint="@string/vpn_not_used"/>
+            </LinearLayout>
 
             <TextView android:id="@+id/vpn_proxy_settings_title"
                       style="@style/vpn_label"
@@ -182,11 +193,10 @@
             </LinearLayout>
         </LinearLayout>
 
-        <LinearLayout android:id="@+id/login"
+        <LinearLayout android:id="@+id/userpass"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
-                android:orientation="vertical"
-                android:animateLayoutChanges="true">
+                android:orientation="vertical">
 
             <TextView style="@style/vpn_label"
                     android:text="@string/vpn_username"
@@ -202,6 +212,13 @@
             <CheckBox style="@style/vpn_value" android:id="@+id/save_login"
                     android:singleLine="false"
                     android:text="@string/vpn_save_login"/>
+        </LinearLayout>
+
+        <LinearLayout android:id="@+id/connect"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:orientation="vertical"
+                android:animateLayoutChanges="true">
             <CheckBox style="@style/vpn_value" android:id="@+id/always_on_vpn"
                 android:singleLine="false"
                 android:text="@string/vpn_menu_lockdown"/>
diff --git a/res/layout/widget_text_views.xml b/res/layout/widget_text_views.xml
deleted file mode 100644
index 9f0506e..0000000
--- a/res/layout/widget_text_views.xml
+++ /dev/null
@@ -1,50 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2015 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:orientation="horizontal"
-    android:duplicateParentState="true">
-
-    <TextView
-        android:id="@+id/widget_text1"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_weight="1"
-        android:layout_gravity="fill_horizontal|top"
-        android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Body1"
-        android:textColor="?android:attr/textColorSecondary"
-        android:textAlignment="viewStart"
-        android:singleLine="true"
-        android:ellipsize="marquee"
-        android:duplicateParentState="true" />
-
-    <TextView
-        android:id="@+id/widget_text2"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_weight="1"
-        android:layout_marginStart="8dip"
-        android:layout_gravity="fill_horizontal|top"
-        android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Body1"
-        android:textColor="?android:attr/textColorSecondary"
-        android:textAlignment="viewEnd"
-        android:singleLine="true"
-        android:ellipsize="marquee"
-        android:duplicateParentState="true" />
-
-</LinearLayout>
diff --git a/res/layout/wifi_add_app_networks.xml b/res/layout/wifi_add_app_networks.xml
new file mode 100644
index 0000000..6f7de20
--- /dev/null
+++ b/res/layout/wifi_add_app_networks.xml
@@ -0,0 +1,165 @@
+<?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
+  -->
+
+<FrameLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:settings="http://schemas.android.com/apk/res-auto"
+    android:id="@+id/panel_container"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:background="@drawable/settings_panel_background">
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:orientation="vertical">
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:layout_weight="1"
+            android:gravity="start|center_vertical"
+            android:clipToPadding="false"
+            android:paddingStart="12dp"
+            android:paddingEnd="?android:attr/listPreferredItemPaddingEnd">
+
+            <LinearLayout
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:gravity="start|center_vertical"
+                android:minWidth="68dp"
+                android:orientation="horizontal"
+                android:clipToPadding="false"
+                android:paddingTop="4dp"
+                android:paddingBottom="4dp">
+                <androidx.preference.internal.PreferenceImageView
+                    android:id="@+id/app_icon"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_gravity="center"
+                    settings:maxWidth="48dp"
+                    settings:maxHeight="48dp"/>
+            </LinearLayout>
+
+            <RelativeLayout
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_weight="1"
+                android:paddingTop="16dp"
+                android:paddingBottom="16dp">
+
+                <TextView
+                    android:id="@+id/app_title"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:singleLine="true"
+                    android:textAppearance="?android:attr/textAppearanceListItem"
+                    android:ellipsize="marquee"/>
+
+                <TextView
+                    android:id="@+id/app_summary"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_below="@+id/app_title"
+                    android:layout_alignStart="@+id/app_title"
+                    android:textAppearance="?android:attr/textAppearanceListItemSecondary"
+                    android:textColor="?android:attr/textColorSecondary"
+                    android:maxLines="10"/>
+            </RelativeLayout>
+        </LinearLayout>
+
+        <include layout="@layout/horizontal_divider"/>
+
+        <LinearLayout
+            android:id="@+id/single_network"
+            android:layout_width="match_parent"
+            android:layout_height="144dp"
+            android:paddingTop="24dp"
+            android:paddingBottom="16dp"
+            android:orientation="vertical">
+
+            <ImageView
+                android:id="@+id/signal_strength"
+                android:layout_width="48dp"
+                android:layout_height="48dp"
+                android:layout_gravity="center_horizontal"/>
+
+            <TextView
+                android:id="@+id/single_ssid"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:paddingTop="8dp"
+                android:singleLine="true"
+                android:gravity="center"
+                android:textAppearance="?android:attr/textAppearanceListItem"
+                android:ellipsize="marquee"/>
+
+            <TextView
+                android:id="@+id/single_status"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:paddingTop="2dp"
+                android:gravity="center"
+                android:accessibilityLiveRegion="polite"
+                android:textColor="?android:attr/textColorSecondary"/>
+        </LinearLayout>
+
+        <LinearLayout
+            android:id="@+id/multiple_networks"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:orientation="vertical">
+            <ListView
+                android:id="@+id/config_list"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:divider="@null"
+                android:scrollbarStyle="insideOverlay"/>
+        </LinearLayout>
+
+        <include layout="@layout/horizontal_divider"/>
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:orientation="horizontal"
+            android:paddingTop="8dp"
+            android:paddingBottom="8dp">
+
+            <Button
+                android:id="@+id/cancel"
+                style="@android:style/Widget.DeviceDefault.Button.Borderless.Colored"
+                android:layout_width="wrap_content"
+                android:layout_height="48dp"
+                android:layout_marginStart="12dp"
+                android:text="@string/cancel"/>
+
+            <Space
+                android:layout_weight="1"
+                android:layout_width="0dp"
+                android:layout_height="match_parent"/>
+
+            <Button
+                android:id="@+id/save"
+                style="@android:style/Widget.DeviceDefault.Button.Borderless.Colored"
+                android:layout_width="wrap_content"
+                android:layout_height="48dp"
+                android:layout_marginEnd="12dp"
+                android:text="@string/save"/>
+        </LinearLayout>
+    </LinearLayout>
+</FrameLayout>
diff --git a/res/layout/wifi_add_network_view.xml b/res/layout/wifi_add_network_view.xml
index 9185c97..33154f6 100644
--- a/res/layout/wifi_add_network_view.xml
+++ b/res/layout/wifi_add_network_view.xml
@@ -19,6 +19,8 @@
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
+    android:clipToPadding="true"
+    android:clipChildren="true"
     android:orientation="vertical">
 
         <include
diff --git a/res/layout/wifi_button_preference_widget.xml b/res/layout/wifi_button_preference_widget.xml
index 4b004e3..f4f1618 100644
--- a/res/layout/wifi_button_preference_widget.xml
+++ b/res/layout/wifi_button_preference_widget.xml
@@ -19,7 +19,7 @@
            android:id="@+id/button_icon"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
-           android:minWidth="@dimen/min_tap_target_size"
+           android:minWidth="64dp"
            android:minHeight="@dimen/min_tap_target_size"
            android:layout_gravity="center"
            android:background="?android:attr/selectableItemBackground"/>
diff --git a/res/layout/wifi_dialog.xml b/res/layout/wifi_dialog.xml
index 50c22a2..45ecd61 100644
--- a/res/layout/wifi_dialog.xml
+++ b/res/layout/wifi_dialog.xml
@@ -177,6 +177,25 @@
                             android:prompt="@string/wifi_eap_ca_cert" />
                 </LinearLayout>
 
+                <LinearLayout android:id="@+id/l_ocsp"
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:visibility="gone"
+                        style="@style/wifi_item" >
+                    <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            style="@style/wifi_item_label"
+                            android:text="@string/wifi_eap_ocsp" />
+
+                    <Spinner android:id="@+id/ocsp"
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            style="@style/wifi_item_spinner"
+                            android:prompt="@string/wifi_eap_ocsp"
+                            android:entries="@array/eap_ocsp_type" />
+                </LinearLayout>
+
                 <LinearLayout android:id="@+id/no_ca_cert_warning"
                         android:layout_width="match_parent"
                         android:layout_height="wrap_content"
@@ -237,6 +256,18 @@
                             android:prompt="@string/wifi_eap_user_cert" />
                 </LinearLayout>
 
+                <LinearLayout android:id="@+id/no_user_cert_warning"
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:visibility="gone"
+                        style="@style/wifi_item" >
+                    <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            style="@style/wifi_item_warning"
+                            android:text="@string/wifi_no_user_cert_warning" />
+                </LinearLayout>
+
                 <LinearLayout android:id="@+id/l_identity"
                         android:layout_width="match_parent"
                         android:layout_height="wrap_content"
@@ -286,30 +317,12 @@
                         style="@style/wifi_item_label"
                         android:text="@string/wifi_password" />
 
-                <androidx.constraintlayout.widget.ConstraintLayout
-                    xmlns:app="http://schemas.android.com/apk/res-auto"
-                    android:layout_width="match_parent"
-                    android:layout_height="wrap_content">
-                    <EditText android:id="@+id/password"
-                              android:layout_width="0dp"
-                              android:layout_height="wrap_content"
-                              app:layout_constraintStart_toStartOf="parent"
-                              app:layout_constraintEnd_toStartOf="@+id/password_scanner_button"
-                              style="@style/wifi_item_edit_content"
-                              android:singleLine="true"
-                              android:password="true"/>
-
-                    <ImageButton
-                        android:id="@+id/password_scanner_button"
-                        android:layout_width="wrap_content"
+                <EditText android:id="@+id/password"
+                        android:layout_width="match_parent"
                         android:layout_height="wrap_content"
-                        android:minWidth="@dimen/min_tap_target_size"
-                        android:minHeight="@dimen/min_tap_target_size"
-                        app:layout_constraintEnd_toEndOf="parent"
-                        android:background="?android:attr/selectableItemBackground"
-                        android:src="@drawable/ic_scan_24dp"
-                        android:contentDescription="@string/wifi_dpp_scan_qr_code"/>
-                </androidx.constraintlayout.widget.ConstraintLayout>
+                        style="@style/wifi_item_edit_content"
+                        android:singleLine="true"
+                        android:password="true"/>
             </LinearLayout>
 
             <LinearLayout android:id="@+id/show_password_layout"
@@ -335,14 +348,14 @@
                 android:layout_height="wrap_content"
                 style="@style/wifi_item"
                 android:paddingBottom="4dp"
-                android:importantForAccessibility="yes"
-                android:contentDescription="@string/wifi_advanced_toggle_description_collapsed"
+                android:importantForAccessibility="no"
                 android:visibility="gone">
             <CheckBox android:id="@+id/wifi_advanced_togglebox"
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content"
                     style="@style/wifi_advanced_toggle"
-                    android:importantForAccessibility="noHideDescendants"
+                    android:importantForAccessibility="yes"
+                    android:contentDescription="@string/wifi_advanced_toggle_description"
                     android:text="@string/wifi_show_advanced" />
         </LinearLayout>
 
@@ -352,6 +365,34 @@
                     android:orientation="vertical"
                     android:visibility="gone">
 
+            <LinearLayout android:id="@+id/hidden_settings_field"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:visibility="gone"
+                style="@style/wifi_item">
+
+                <TextView android:id="@+id/hidden_settings_title"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    style="@style/wifi_item_label"
+                    android:text="@string/wifi_hidden_network" />
+
+                <Spinner android:id="@+id/hidden_settings"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    style="@style/wifi_item_spinner"
+                    android:prompt="@string/wifi_hidden_network"
+                    android:entries="@array/wifi_hidden_entries"/>
+
+                <TextView android:id="@+id/hidden_settings_warning"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:padding="8dp"
+                    android:text="@string/wifi_hidden_network_warning"
+                    android:textAppearance="?android:attr/textAppearanceSmall"
+                    android:visibility="gone"/>
+            </LinearLayout>
+
             <LinearLayout android:id="@+id/metered_settings_fields"
                           android:layout_width="match_parent"
                           android:layout_height="wrap_content"
@@ -429,7 +470,7 @@
                     <EditText android:id="@+id/proxy_pac"
                             android:layout_width="match_parent"
                             android:layout_height="wrap_content"
-                            style="@style/wifi_item_content"
+                            style="@style/wifi_item_edit_content"
                             android:hint="@string/proxy_url_hint"
                             android:inputType="textNoSuggestions"
                             android:singleLine="true"/>
@@ -518,27 +559,6 @@
 
             </LinearLayout>
 
-            <LinearLayout android:id="@+id/privacy_settings_fields"
-                          android:layout_width="match_parent"
-                          android:layout_height="wrap_content"
-                          style="@style/wifi_item"
-                          android:visibility="gone">
-
-                <TextView android:id="@+id/privacy_settings_title"
-                          android:layout_width="wrap_content"
-                          android:layout_height="wrap_content"
-                          style="@style/wifi_item_label"
-                          android:text="@string/wifi_privacy_settings" />
-
-                <Spinner android:id="@+id/privacy_settings"
-                         android:layout_width="match_parent"
-                         android:layout_height="wrap_content"
-                         style="@style/wifi_item_spinner"
-                         android:prompt="@string/wifi_privacy_settings"
-                         android:entries="@array/wifi_privacy_entries"/>
-
-            </LinearLayout>
-
             <LinearLayout android:id="@+id/staticip"
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content"
@@ -639,6 +659,26 @@
                 </LinearLayout>
             </LinearLayout>
 
+            <LinearLayout android:id="@+id/privacy_settings_fields"
+                          android:layout_width="match_parent"
+                          android:layout_height="wrap_content"
+                          style="@style/wifi_item"
+                          android:visibility="gone">
+
+                <TextView android:id="@+id/privacy_settings_title"
+                          android:layout_width="wrap_content"
+                          android:layout_height="wrap_content"
+                          style="@style/wifi_item_label"
+                          android:text="@string/wifi_privacy_settings" />
+
+                <Spinner android:id="@+id/privacy_settings"
+                         android:layout_width="match_parent"
+                         android:layout_height="wrap_content"
+                         style="@style/wifi_item_spinner"
+                         android:prompt="@string/wifi_privacy_settings"
+                         android:entries="@array/wifi_privacy_entries"/>
+            </LinearLayout>
+
             <LinearLayout
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content"
@@ -656,34 +696,6 @@
                             android:checked="true" />
                 </LinearLayout>
             </LinearLayout>
-
-            <LinearLayout android:id="@+id/hidden_settings_field"
-                          android:layout_width="match_parent"
-                          android:layout_height="wrap_content"
-                          android:visibility="gone"
-                          style="@style/wifi_item">
-
-                <TextView android:id="@+id/hidden_settings_title"
-                          android:layout_width="wrap_content"
-                          android:layout_height="wrap_content"
-                          style="@style/wifi_item_label"
-                          android:text="@string/wifi_hidden_network" />
-
-                <Spinner android:id="@+id/hidden_settings"
-                         android:layout_width="match_parent"
-                         android:layout_height="wrap_content"
-                         style="@style/wifi_item_spinner"
-                         android:prompt="@string/wifi_hidden_network"
-                         android:entries="@array/wifi_hidden_entries"/>
-
-                <TextView android:id="@+id/hidden_settings_warning"
-                          android:layout_width="wrap_content"
-                          android:layout_height="wrap_content"
-                          android:padding="8dp"
-                          android:text="@string/wifi_hidden_network_warning"
-                          android:textAppearance="?android:attr/textAppearanceSmall"
-                          android:visibility="gone"/>
-            </LinearLayout>
         </LinearLayout>
     </LinearLayout>
 </ScrollView>
diff --git a/res/layout/wifi_display_preference.xml b/res/layout/wifi_display_preference.xml
deleted file mode 100644
index 4532441..0000000
--- a/res/layout/wifi_display_preference.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2012 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:gravity="center_vertical">
-
-    <!-- Divider -->
-    <ImageView
-        android:id="@+id/divider"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_gravity="center_vertical"
-        android:src="@drawable/nav_divider"
-        android:contentDescription="@null"
-         />
-
-    <!-- Details button -->
-    <ImageView
-        android:id="@+id/deviceDetails"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_gravity="center_vertical"
-        android:padding="8dip"
-        android:background="?android:attr/selectableItemBackground"
-        android:src="@drawable/ic_settings_accent"
-        android:contentDescription="@string/wifi_display_details" />
-
-</LinearLayout>
diff --git a/res/layout/wifi_dpp_add_device_fragment.xml b/res/layout/wifi_dpp_add_device_fragment.xml
index 3ffdeef..8ad6391 100644
--- a/res/layout/wifi_dpp_add_device_fragment.xml
+++ b/res/layout/wifi_dpp_add_device_fragment.xml
@@ -15,62 +15,53 @@
      limitations under the License.
 -->
 
-<androidx.constraintlayout.widget.ConstraintLayout
+<com.google.android.setupdesign.GlifLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    android:id="@+id/root"
     android:layout_width="match_parent"
-    android:layout_height="match_parent">
+    android:layout_height="match_parent"
+    android:icon="@drawable/ic_devices_other_32dp">
 
-    <ScrollView
+    <LinearLayout
+        style="@style/SudContentFrame"
         android:layout_width="match_parent"
-        android:layout_height="match_parent">
+        android:layout_height="match_parent"
+        android:gravity="center_horizontal"
+        android:orientation="vertical">
+
+        <TextView
+            android:id="@android:id/summary"
+            style="@style/TextAppearance.SudGlifBody"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="?attr/sudMarginSides"
+            android:layout_marginEnd="?attr/sudMarginSides"
+            android:textAlignment="center"
+            android:accessibilityLiveRegion="polite"/>
 
         <LinearLayout
             android:layout_width="match_parent"
             android:layout_height="match_parent"
-            android:gravity="center_horizontal"
+            android:gravity="center"
             android:orientation="vertical">
 
-            <include layout="@layout/wifi_dpp_fragment_header"/>
-
-            <ProgressBar
-                android:id="@+id/indeterminate_bar"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:indeterminate="true"
-                android:paddingStart="16dp"
-                android:paddingEnd="16dp"
-                android:layout_marginBottom="8dp"
-                style="?android:attr/progressBarStyleHorizontal"
-                android:visibility="invisible"/>
-
             <ImageView
                 android:id="@+id/wifi_ap_picture_view"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:src="@drawable/wifi_dpp_success"
-                android:scaleType="fitCenter"
-                app:layout_constraintTop_toBottomOf="@+id/header"/>
+                android:scaleType="fitCenter"/>
 
             <Button
                 android:id="@+id/choose_different_network"
                 style="@style/SudGlifButton.Secondary"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                app:layout_constraintTop_toBottomOf="@+id/wifi_ap_picture_view"
                 android:layout_marginTop="8dp"
                 android:text="@string/wifi_dpp_choose_different_network"/>
 
         </LinearLayout>
 
-    </ScrollView>
+    </LinearLayout>
 
-    <include
-        layout="@layout/wifi_dpp_fragment_footer"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        app:layout_constraintBottom_toBottomOf="parent"/>
-
-</androidx.constraintlayout.widget.ConstraintLayout>
+</com.google.android.setupdesign.GlifLayout>
 
diff --git a/res/layout/wifi_dpp_choose_saved_wifi_network_fragment.xml b/res/layout/wifi_dpp_choose_saved_wifi_network_fragment.xml
index 3606ccd..534f32e 100644
--- a/res/layout/wifi_dpp_choose_saved_wifi_network_fragment.xml
+++ b/res/layout/wifi_dpp_choose_saved_wifi_network_fragment.xml
@@ -15,22 +15,28 @@
      limitations under the License.
 -->
 
-<androidx.constraintlayout.widget.ConstraintLayout
+<com.google.android.setupdesign.GlifLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    android:id="@+id/root"
     android:layout_width="match_parent"
-    android:layout_height="match_parent">
+    android:layout_height="match_parent"
+    android:icon="@drawable/ic_wifi_signal_4_32dp">
 
     <LinearLayout
+        style="@style/SudContentFrame"
         android:layout_width="match_parent"
-        android:layout_height="0dp"
+        android:layout_height="match_parent"
         android:gravity="center_horizontal"
-        android:orientation="vertical"
-        app:layout_constraintTop_toTopOf="parent"
-        app:layout_constraintBottom_toTopOf="@+id/footer">
+        android:orientation="vertical">
 
-        <include layout="@layout/wifi_dpp_fragment_header"/>
+        <TextView
+            android:id="@android:id/summary"
+            style="@style/TextAppearance.SudGlifBody"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="?attr/sudMarginSides"
+            android:layout_marginEnd="?attr/sudMarginSides"
+            android:textAlignment="center"
+            android:accessibilityLiveRegion="polite"/>
 
         <LinearLayout android:id="@+id/wifi_network_list_container"
             android:layout_width="match_parent"
@@ -38,12 +44,5 @@
 
     </LinearLayout>
 
-    <include
-        android:id="@+id/footer"
-        layout="@layout/wifi_dpp_fragment_footer"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        app:layout_constraintBottom_toBottomOf="parent"/>
-
-</androidx.constraintlayout.widget.ConstraintLayout>
+</com.google.android.setupdesign.GlifLayout>
 
diff --git a/res/layout/wifi_dpp_fragment_footer.xml b/res/layout/wifi_dpp_fragment_footer.xml
deleted file mode 100644
index d29f16e..0000000
--- a/res/layout/wifi_dpp_fragment_footer.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-     Copyright (C) 2018 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    style="@style/SudGlifButtonBar">
-
-    <Button
-        android:id="@+id/button_left"
-        style="@style/SudGlifButton.Secondary"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_gravity="start"/>
-
-    <Space
-        android:layout_width="0dp"
-        android:layout_height="0dp"
-        android:layout_weight="1"/>
-
-    <Button
-        android:id="@+id/button_right"
-        style="@style/SudGlifButton.Primary"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_gravity="end"/>
-
-</LinearLayout>
diff --git a/res/layout/wifi_dpp_fragment_header.xml b/res/layout/wifi_dpp_fragment_header.xml
deleted file mode 100644
index 364f360..0000000
--- a/res/layout/wifi_dpp_fragment_header.xml
+++ /dev/null
@@ -1,74 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-     Copyright (C) 2018 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    style="@style/EntityHeader"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:layout_centerHorizontal="true"
-    android:gravity="center_horizontal"
-    android:orientation="vertical"
-    android:paddingStart="16dp"
-    android:paddingEnd="16dp">
-
-    <ImageView
-        android:id="@android:id/icon"
-        android:layout_width="@dimen/wifi_dpp_fragment_icon_width_height"
-        android:layout_height="@dimen/wifi_dpp_fragment_icon_width_height"
-        android:scaleType="fitCenter"/>
-
-    <!-- Special header icon only for ic_devices_check_circle_green -->
-    <ImageView
-        android:id="@+id/devices_check_circle_green_icon"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:src="@drawable/ic_devices_check_circle_green"
-        android:scaleType="fitCenter"/>
-
-    <!-- Add title_summary_container to group content for Talkback -->
-    <LinearLayout
-        android:id="@+id/title_summary_container"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:orientation="vertical"
-        android:focusable="true">
-
-        <TextView
-            android:id="@android:id/title"
-            style="@style/TextAppearance.EntityHeaderTitle"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:gravity="center_horizontal"
-            android:textAlignment="center"
-            android:layout_marginTop="8dp"
-            android:paddingStart="32dp"
-            android:paddingEnd="32dp"/>
-
-        <TextView
-            android:id="@android:id/summary"
-            style="@style/TextAppearance.EntityHeaderSummary"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:singleLine="false"
-            android:gravity="center_horizontal"
-            android:textAlignment="center"
-            android:layout_marginTop="2dp"
-            android:paddingStart="32dp"
-            android:paddingEnd="32dp"/>
-    </LinearLayout>
-</LinearLayout>
diff --git a/res/layout/wifi_dpp_qrcode_generator_fragment.xml b/res/layout/wifi_dpp_qrcode_generator_fragment.xml
index 31bf7cc..1f8b37c 100644
--- a/res/layout/wifi_dpp_qrcode_generator_fragment.xml
+++ b/res/layout/wifi_dpp_qrcode_generator_fragment.xml
@@ -15,25 +15,35 @@
      limitations under the License.
 -->
 
-<LinearLayout
+<com.google.android.setupdesign.GlifLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@+id/root"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    android:orientation="vertical">
+    android:icon="@drawable/ic_qrcode_32dp">
 
-    <ScrollView
+    <LinearLayout
+        style="@style/SudContentFrame"
         android:layout_width="match_parent"
-        android:layout_height="match_parent">
+        android:layout_height="match_parent"
+        android:gravity="center_horizontal"
+        android:orientation="vertical">
+
+        <TextView
+            android:id="@android:id/summary"
+            style="@style/TextAppearance.SudGlifBody"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="?attr/sudMarginSides"
+            android:layout_marginEnd="?attr/sudMarginSides"
+            android:textAlignment="center"
+            android:accessibilityLiveRegion="polite"/>
 
         <LinearLayout
             android:layout_width="match_parent"
             android:layout_height="match_parent"
-            android:gravity="center_horizontal"
+            android:gravity="center"
             android:orientation="vertical">
 
-            <include layout="@layout/wifi_dpp_fragment_header"/>
-
             <ImageView
                 android:id="@+id/qrcode_view"
                 android:layout_width="@dimen/qrcode_size"
@@ -50,7 +60,7 @@
                 android:textColor="?android:attr/textColorSecondary"/>
         </LinearLayout>
 
-    </ScrollView>
+    </LinearLayout>
 
-</LinearLayout>
+</com.google.android.setupdesign.GlifLayout>
 
diff --git a/res/layout/wifi_dpp_qrcode_scanner_fragment.xml b/res/layout/wifi_dpp_qrcode_scanner_fragment.xml
index 01b9e34..3d1e99b 100644
--- a/res/layout/wifi_dpp_qrcode_scanner_fragment.xml
+++ b/res/layout/wifi_dpp_qrcode_scanner_fragment.xml
@@ -15,33 +15,34 @@
      limitations under the License.
 -->
 
-<LinearLayout
+<com.google.android.setupdesign.GlifLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@+id/root"
     android:layout_width="match_parent"
-    android:layout_height="match_parent">
+    android:layout_height="match_parent"
+    android:icon="@drawable/ic_scan_32dp">
 
-    <ScrollView
+    <LinearLayout
+        style="@style/SudContentFrame"
         android:layout_width="match_parent"
-        android:layout_height="match_parent">
+        android:layout_height="match_parent"
+        android:orientation="vertical"
+        android:gravity="center_horizontal">
+
+        <TextView
+            android:id="@android:id/summary"
+            style="@style/TextAppearance.SudGlifBody"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="?attr/sudMarginSides"
+            android:layout_marginEnd="?attr/sudMarginSides"
+            android:textAlignment="center"
+            android:accessibilityLiveRegion="polite"/>
 
         <LinearLayout
             android:layout_width="match_parent"
             android:layout_height="match_parent"
-            android:orientation="vertical"
-            android:gravity="center_horizontal">
-
-            <include layout="@layout/wifi_dpp_fragment_header"/>
-
-            <ProgressBar
-                android:id="@+id/indeterminate_bar"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:indeterminate="true"
-                android:paddingStart="16dp"
-                android:paddingEnd="16dp"
-                android:layout_marginBottom="8dp"
-                style="?android:attr/progressBarStyleHorizontal"/>
+            android:gravity="center"
+            android:orientation="vertical">
 
             <FrameLayout
                 android:layout_width="wrap_content"
@@ -59,18 +60,18 @@
 
             <TextView
                 android:id="@+id/error_message"
+                style="@style/TextAppearance.ErrorText"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_marginTop="16dp"
-                android:layout_marginStart="24dp"
-                android:layout_marginEnd="24dp"
+                android:layout_marginStart="?attr/sudMarginSides"
+                android:layout_marginEnd="?attr/sudMarginSides"
                 android:textAlignment="center"
-                android:textColor="?android:attr/colorError"
                 android:visibility="invisible"/>
 
         </LinearLayout>
 
-    </ScrollView>
+    </LinearLayout>
 
-</LinearLayout>
+</com.google.android.setupdesign.GlifLayout>
 
diff --git a/res/layout/zen_mode_settings_button.xml b/res/layout/zen_mode_settings_button.xml
index 7db52a2..49aa287 100644
--- a/res/layout/zen_mode_settings_button.xml
+++ b/res/layout/zen_mode_settings_button.xml
@@ -18,24 +18,40 @@
 <LinearLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
-    android:layout_height="wrap_content">
+    android:layout_height="wrap_content"
+    android:orientation="vertical"
+    android:paddingVertical="@dimen/zen_mode_button_padding_vertical">
+
+    <TextView
+        android:text="@string/zen_mode_settings_summary"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginStart="@dimen/screen_margin_sides"
+        android:paddingTop="@dimen/zen_mode_button_padding_vertical"
+        android:paddingBottom="@dimen/zen_mode_button_padding_vertical"/>
 
     <Button
         android:id="@+id/zen_mode_settings_turn_on_button"
         style="@style/ActionPrimaryButton"
+        android:focusableInTouchMode="true"
         android:layout_marginStart="@dimen/screen_margin_sides"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_gravity="left"
+        android:gravity="center"
+        android:paddingTop="@dimen/zen_mode_button_padding_vertical"
         android:text="@string/zen_mode_button_turn_on"/>
 
     <Button
         android:id="@+id/zen_mode_settings_turn_off_button"
         style="@style/ActionSecondaryButton"
+        android:focusableInTouchMode="true"
         android:layout_marginStart="@dimen/screen_margin_sides"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_gravity="left"
+        android:gravity="center"
+        android:paddingTop="@dimen/zen_mode_button_padding_vertical"
         android:text="@string/zen_mode_button_turn_off" />
 
 </LinearLayout>
\ No newline at end of file
diff --git a/res/layout/zen_rule_name.xml b/res/layout/zen_rule_name.xml
index 90b4fbe..afa97ac 100755
--- a/res/layout/zen_rule_name.xml
+++ b/res/layout/zen_rule_name.xml
@@ -21,7 +21,7 @@
     <EditText
         android:id="@+id/zen_mode_rule_name"
         android:layout_width="match_parent"
-        android:layout_height="wrap_content"
+        android:layout_height="48dp"
         android:singleLine="true"
         android:inputType="textCapSentences"
         android:hint="@string/zen_mode_rule_name_hint"
diff --git a/res/raw/accessibility_color_inversion.mp4 b/res/raw/accessibility_color_inversion.mp4
new file mode 100644
index 0000000..d28b9b4
--- /dev/null
+++ b/res/raw/accessibility_color_inversion.mp4
Binary files differ
diff --git a/res/raw/accessibility_timeout.mp4 b/res/raw/accessibility_timeout.mp4
index e69de29..2214e2b 100644
--- a/res/raw/accessibility_timeout.mp4
+++ b/res/raw/accessibility_timeout.mp4
Binary files differ
diff --git a/res/values-af/arrays.xml b/res/values-af/arrays.xml
index c8b0d47..2a61968 100644
--- a/res/values-af/arrays.xml
+++ b/res/values-af/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"Dadelik"</item>
     <item msgid="463591454172790676">"5 sekondes"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"Moenie staaf nie"</item>
+    <item msgid="5703177653586269306">"Versoek sertifikaatstatus"</item>
+    <item msgid="326388247868439528">"Vereis sertifikaatstatus"</item>
+    <item msgid="1090956283885790552">"Vereis statusse van alle nievertroude sertifikate"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"Druk knoppie"</item>
     <item msgid="2630618799033509548">"PIN van eweknietoestel"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"Geen"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"IPSec VPN met voorafgedeelde sleutels en Xauth-stawing"</item>
     <item msgid="2484564813864139237">"IPSec VPN met sertifikate en Xauth-stawing"</item>
     <item msgid="68918911194507915">"IPSec VPN met sertifikate en hibriedstawing"</item>
+    <item msgid="4631647675167100375">"IKEv2/IPSec VPN met sertifikate en gebruikernaam-/wagwoordstawing"</item>
+    <item msgid="8812228622975052811">"IKEv2/IPSec VPN met voorafgedeelde sleutels"</item>
+    <item msgid="6630554779981113046">"IKEv2/IPSec VPN met sertifikate"</item>
   </string-array>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"Geen"</item>
diff --git a/res/values-af/config.xml b/res/values-af/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-af/config.xml
+++ b/res/values-af/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index 1dd9d77..d2904a4 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -31,49 +31,17 @@
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Aktiveer asseblief eers ontwikkelaaropsies."</string>
     <string name="header_category_wireless_networks" msgid="303445626075235229">"Draadloos en netwerke"</string>
     <string name="header_category_system" msgid="1665516346845259058">"Stelsel"</string>
-    <string name="radio_info_data_connection_enable" msgid="7500945447906187613">"Aktiveer dataverbinding"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"Deaktiveer dataverbinding"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"VoLTE-voorbereid"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"Video-oproepe is opgestel"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"Wi-Fi-oproepe is opgestel"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"EAB/teenwoordigheid is opgestel"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"Cbrs-data"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"Aktiveer DSDS"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"Herbegin toestel?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"Jy moet jou toestel herbegin om hierdie instelling te verander."</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"Herbegin"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"Kanselleer"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"Mobieleradiokrag"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"Bekyk SIM-adresboek"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"Kyk na vaste skakelnommers"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"Bekyk skakeldiensnommers"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"IMS-diensstatus"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"IMS-status"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"Geregistreer"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"Nie geregistreer nie"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"Beskikbaar"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"Onbeskikbaar"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"IMS-registrasie: <xliff:g id="STATUS">%1$s</xliff:g>\nStem oor LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nStem oor Wi-Fi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideo-oproepe: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT-koppelvlak: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"In diens"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Diens is nie beskikbaar nie"</string>
     <string name="radioInfo_service_emergency" msgid="6838935881091760942">"Net noodoproepe"</string>
     <string name="radioInfo_service_off" msgid="6184928420860868571">"Radio is af"</string>
     <string name="radioInfo_roaming_in" msgid="8892550453644088692">"Swerwing"</string>
     <string name="radioInfo_roaming_not" msgid="3137594549464975054">"Swerf nie"</string>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"Luier"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"Lui"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"Besig met oproep"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"Ontkoppel"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"Koppel"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"Gekoppel"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Afgelas"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Onbekend"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"pkts"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"grepe"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"Ontheg USB-berging"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"Ontkoppel SD-kaart"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"Vee USB-berging uit"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"Maak die teks op die skerm kleiner of groter."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Maak kleiner"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Maak groter"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"Voorbeeldteks"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"Die Wonderlike Towenaar van Oz"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"Hoofstuk 11: Die Wonderlike Smaragstad van Oz"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"Jy moet jou toestel herbegin om dié instelling te verander."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"Herbegin"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"Kanselleer"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"Beskikbare mediatoestelle"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"Beskikbare oproeptoestelle"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"Tans gekoppel"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"Mediatoestelle"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"Oproeptoestelle"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"Ander toestelle"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Gestoorde toestelle"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth sal aangeskakel word om saam te bind"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Verbindingvoorkeure"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"Die poort wat jy ingevoer het, is nie geldig nie."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"Die HTTP-instaanbediener word deur die blaaier gebruik, maar kan nie deur die ander programme gebruik word nie."</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"PAC-URL: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"Huidige sub-ID:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"Sub-ID van verstekdata-SIM:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"Aflaaibandwydte (kbps):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"Oplaaibandwydte (kbps):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"Selligginginligting (opgeskort):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"Fisieke LTE-kanaalopstelling:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"Herlaaikoers van selinligting:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"Alle selmetingsinligting:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"Datadiens:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"Swerwing:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"Oproepherleiding:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"Aantal PPP-terugstellings sedert herlaai:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"Huidige netwerk:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"Data ontvang:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"Stemdiens:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"Seinsterkte:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"Stemoproepstatus:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"Data gestuur:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"Boodskap wag:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"Foonnommer:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"Kies radioband"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"Stemnetwerktipe:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"Datanetwerktipe:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"Kies foonindeks"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"Stel voorkeurnetwerktipe:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"Pieng gasheernaam(www.google.com) IPv4:"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"Pieng gasheernaam(www.google.com) IPv6:"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"HTTP-kliënttoets:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"Doen piengtoets"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"Opdateer"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"Herlaai"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"Wissel DNS-kontrole"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"OEM-spesifieke inligting/instellings"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"Stel radiobandmodus"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"Laai tans bandlys …"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"Stel"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"Onsuksesvol"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"Suksesvol"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"Veranderings tree in werking wanneer USB-kabel herkoppel word."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"Aktiveer USB-massastoorfunksie"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"Totale grepe:"</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"Skuif na onder"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"Verwyder taal"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"Kies aktiwiteit"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"Toestelinligting"</string>
     <string name="display_label" msgid="3056320781191343221">"Skerm"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"Tabletinligting"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"Fooninligting"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"USB-berging"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"SD-kaart"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"Instaan-instellings"</string>
@@ -306,9 +234,6 @@
     <string name="airplane_mode" msgid="3196085857882526817">"Vliegtuigmodus"</string>
     <string name="wireless_networks_settings_title" msgid="8557542379234105369">"Draadloos en netwerke"</string>
     <string name="radio_controls_summary" msgid="9028430178697624501">"Bestuur Wi-Fi, Bluetooth, vliegtuigmodus, mobiele netwerke en VPN\'e"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"Mobiele data"</string>
-    <string name="calls_title" msgid="6334813967619899114">"Laat oproepe toe"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"SMS-boodskappe"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"Laat datagebruik oor mobiele netwerk toe"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"Laat datagebruik met swerf toe"</string>
     <string name="roaming" msgid="3055365654530847985">"Swerwing"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"Verbind aan datadienste tydens swerf"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"Jy het dataverbinding verloor omdat jy wegbeweeg het van jou tuisnetwerk af sonder om dataswerwing weer aan te skakel."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"Skakel dit aan"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"Dit kan baie duur wees."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"As jy dataswerwing toelaat, kan hoë swerwingskoste jou in die gesig staar! \n\nHierdie instelling beïnvloed alle gebruikers op hierdie tablet."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"As jy dataswerwing toelaat, kan hoë swerwingskoste jou in die gesig staar! \n\nHierdie instelling beïnvloed alle gebruikers op hierdie foon."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"Swerwingheffings kan geld."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"Wanneer jy dataswerwing toelaat, kan swerkingheffings geld.\n\nHierdie instelling raak alle gebruikers op hierdie tablet."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"Wanneer jy dataswerwing toelaat, kan swerkingheffings geld.\n\nHierdie instelling raak alle gebruikers op hierdie foon."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"Laat dataswerwing toe?"</string>
     <string name="networks" msgid="5184501333492775095">"Operateurkeuse"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"Kies \'n netwerkoperateur"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"Gedeaktiveer deur administrateur"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"Wys snelsluitopsie"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"Wys aan/af-skakelaaropsie wat Smart Lock, biometriese ontsluiting en kennisgewings op die sluitskerm afskakel"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"Vertrouensagente brei net ontsluit uit"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"As dit geaktiveer is, sal vertrouensagente jou toestel langer ontsluit hou, maar kan dit nie meer \'n geslote toestel ontsluit nie."</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"Sluit skerm wanneer vertroue verloor word"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"As dit geaktiveer is, sal die toestel sluit wanneer die laaste vertrouensagent vertroue verloor"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"Geen"</string>
@@ -390,7 +313,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"Stel my ligging, ontsluit skerm, sluit SIM-kaart, eiebewys sluit"</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"Stel my ligging, skermontsluiting, eiebewysbergingslot"</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"Privaatheid"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"Gedeaktiveer deur administrateur"</string>
+    <string name="disabled_by_administrator_summary" msgid="5424846182313851124">"Nie beskikbaar nie"</string>
     <string name="security_status_title" msgid="6958004275337618656">"Sekuriteitstatus"</string>
     <string name="security_dashboard_summary_face" msgid="4198949293847206382">"Skermslot, gesigslot"</string>
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Skermslot, vingerafdruk"</string>
@@ -693,7 +616,6 @@
       <item quantity="other">Moet minder as <xliff:g id="NUMBER_1">%d</xliff:g> syfers wees</item>
       <item quantity="one">Moet minder as <xliff:g id="NUMBER_0">%d</xliff:g> syfer wees</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"Mag net syfers 0-9 bevat"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"Toesteladministrateur laat nie toe dat jy \'n onlangse PIN gebruik nie"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"Jou IT-administrateur blokkeer algemene PIN\'e. Probeer \'n ander PIN."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"Dit mag nie \'n ongeldige karakter insluit nie"</string>
@@ -724,6 +646,10 @@
       <item quantity="other">Moet minstens <xliff:g id="COUNT">%d</xliff:g> nieletterkarakters bevat</item>
       <item quantity="one">Moet minstens 1 nieletterkarakter bevat</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="other">Moet minstens <xliff:g id="COUNT">%d</xliff:g> nienumeriese karakters bevat</item>
+      <item quantity="one">Moet minstens 1 nienumeriese karakter bevat</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"Toesteladministrateur laat nie toe dat jy \'n onlangse wagwoord gebruik nie"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"Jou IT-administrateur blokkeer algemene wagwoorde. Probeer \'n ander wagwoord."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"Stygende, dalende of herhalende volgorde van syfers word nie toegelaat nie"</string>
@@ -837,19 +763,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2,4 GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"Meld aan"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"Maak werf oop"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"<xliff:g id="REMAINING_TIME">%1$s</xliff:g> oor"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"Verval op <xliff:g id="EXPIRY_TIME">%1$s</xliff:g>"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"Tik hier om by die netwerk aan te meld"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"<xliff:g id="REQUESTER">%s</xliff:g> wil Wi-Fi aanskakel"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"<xliff:g id="REQUESTER">%s</xliff:g> wil Wi-Fi afskakel"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"Verifieer greepkode van ontfoutbare programme"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Laat ART toe om greepkode vir ontfoutbare programme te verifieer"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"Wys herlaaikoers"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Wys die huidige vertoonskermherlaaikoers"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"Laat dataruiling toe wanneer die tablet aan \'n ander toestel raak"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"Laat dataruiling toe wanneer die foon aan \'n ander toestel raak"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"Laat dataruiling toe wanneer die tablet aan \'n NFC-toestel raak"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"Laat dataruiling toe wanneer die foon aan \'n NFC-toestel raak"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"Skakel NFC aan"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"NFC ruil data uit tussen hierdie toestel en ander nabygeleë toestelle of teikens, soos byvoorbeeld betaalterminale, toeganglesers en interaktiewe advertensies of merkers."</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"Veilige NFC"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Vereis toestelontsluiting vir NFC"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"Laat die gebruik van NFC-betalings en Publieke Vervoer net toe wanneer die skerm ontsluit is"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"Gereed om programinhoud te stuur via NFC"</string>
@@ -923,8 +855,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Skakel aan"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Wi‑Fi-opsporing is aangeskakel"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Gevorderde opsies"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"Aftreklys met gevorderde opsies. Dubbeltik om in te vou."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"Aftreklys met gevorderde opsies. Dubbeltik om uit te vou."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Gevorderde Opsies-aftreklys"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"vou uit"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"Netwerknaam"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"Voer die SSID in"</string>
     <string name="wifi_security" msgid="9095934643631406913">"Sekuriteit"</string>
@@ -934,6 +866,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"Status"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"Oordragskakelspoed"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"Ontvangskakelspoed"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"Koppelspoed"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"Frekwensie"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"IP-adres"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"Gestoor via"</string>
@@ -941,6 +874,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"EAP-metode"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"Fase 2-stawing"</string>
     <string name="wifi_eap_ca_cert" msgid="8033404008276298886">"CA-sertifikaat"</string>
+    <string name="wifi_eap_ocsp" msgid="8713933962516871238">"Status van aanlyn sertifikaat"</string>
     <string name="wifi_eap_domain" msgid="8304301470752333203">"Domein"</string>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"Gebruikersertifikaat"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"Identiteit"</string>
@@ -957,6 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"Kies minstens een band vir Wi-Fi-warmkol:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"IP-instellings"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"Privaatheid"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"Intekening"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"Bekyk of verander intekening"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"Ewekansige MAC"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"Voeg \'n toestel by"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"Sentreer die QR-kode hieronder om die toestel by “<xliff:g id="SSID">%1$s</xliff:g>” te voeg"</string>
@@ -966,12 +902,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"Deel Wi‑Fi"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"Skandeer hierdie QR-kode om aan “<xliff:g id="SSID">%1$s</xliff:g>” te koppel en die wagwoord te deel"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"Skandeer hierdie QR-kode om aan “<xliff:g id="SSID">%1$s</xliff:g>” te koppel"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"Kon nie QR-kode lees nie. Voer kode weer in en probeer weer"</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"Probeer weer. Kontak die toestelvervaardiger as die kwessie voortduur"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"Iets is fout"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"Maak seker dat die toestel ingeprop is, gelaai is, en aangeskakel is"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"Maak seker dat die toestel ingeprop is, gelaai is, en aangeskakel is. Kontak die toestelvervaardiger as die kwessie voortduur"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"Hierdie toestel steun nie byvoeging van “<xliff:g id="SSID">%1$s</xliff:g>” nie"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"Probeer om die toestel nader aan jou Wi-Fi-toegangspunt / -roeteerder te skuif"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"Gaan die wagwoord na en probeer weer"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"Kontak die toestelvervaardiger"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"Gaan verbinding na en probeer weer"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"Kies netwerk"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"Kies \'n netwerk om jou toestel te koppel"</string>
@@ -984,11 +922,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"Deel tans Wi‑Fi met hierdie toestel …"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"Koppel tans …"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"Deel warmkol"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"Verifieer dat dit jy is"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"Verifieer dat dit jy is"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"Wi-Fi-wagwoord: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"Warmkolwagwoord: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"Outokoppel"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"Laat foon toe om outomaties te koppel naby hierdie netwerk"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"Laat tablet toe om outomaties te koppel naby hierdie netwerk"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"Voeg toestel by"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"Gebruik \'n QR-kode om \'n toestel by hierdie netwerk te voeg"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"QR-kode is nie \'n geldige formaat nie"</string>
     <string name="retry" msgid="7542103800274026915">"Herprobeer"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"Deel met ander toestelgebruikers"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(onveranderd)"</string>
@@ -1000,6 +942,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"Geen sertifikaat is gespesifiseer nie. Jou verbinding sal nie privaat wees nie."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"Netwerknaam is te lank."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"Moet \'n domein spesifiseer."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"Sertifikaat word vereis."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"WPS beskikbaar"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (WPS beskikbaar)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"Diensverskaffer-Wi‑Fi-netwerk"</string>
@@ -1051,7 +994,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"Gevorderde Wi-Fi"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"MAC-adres"</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_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>
@@ -1103,7 +1047,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"Gebruik warmkol om \'n Wi-Fi-netwerk vir jou ander toestelle te skep. Warmkol verskaf internet deur jou mobiele dataverbinding te gebruik. Bykomende dataheffings kan dalk geld."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"Programme kan \'n warmkol skep om inhoud met nabygeleë toestelle te deel."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Skakel warmkol outomaties af"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"Wi-Fi-warmkol sal afskakel as geen toestelle gekoppel is nie"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Wanneer geen toestelle gekoppel is nie"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"Skakel tans Wi-Fi-warmkol aan..."</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"Skakel tans Wi-Fi-warmkol af..."</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> is aktief"</string>
@@ -1112,6 +1056,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"Wi‑Fi-warmkolopstelling"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"AndroidAP WPA2 PSK-warmkol"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"AndroidHotspot"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"Stoor hierdie netwerk?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"<xliff:g id="APPNAME">%1$s</xliff:g> wil \'n netwerk op jou foon stoor"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"<xliff:g id="APPNAME">%1$s</xliff:g> wil \'n netwerk op jou tablet stoor"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"Stoor tans …"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"Gestoor"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"Kan nie stoor nie. Probeer weer."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"Stoor netwerke?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"<xliff:g id="APPNAME">%1$s</xliff:g> wil hierdie netwerke op jou foon stoor"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"<xliff:g id="APPNAME">%1$s</xliff:g> wil hierdie netwerke op jou tablet stoor"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"Stoor tans <xliff:g id="NUMBER">%d</xliff:g> netwerke …"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"Netwerke gestoor"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"Wi-Fi-oproepe"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"Brei oproepe uit met Wi‑Fi"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"Skakel Wi‑Fi-oproepe aan om dekking te vergroot"</string>
@@ -1138,16 +1093,18 @@
     <string name="emergency_address_title" msgid="3490633500025717573">"Noodadres"</string>
     <string name="emergency_address_summary" msgid="3022628750270626473">"Word as jou ligging gebruik wanneer jy \'n noodoproep oor Wi-Fi maak"</string>
     <string name="private_dns_help_message" msgid="851221502063782306"><annotation id="url">"Kom meer te wete"</annotation>" oor Private DNS-kenmerke"</string>
+    <string name="private_dns_mode_on" msgid="8878679071975375696">"Aan"</string>
     <string name="wifi_calling_pref_managed_by_carrier" msgid="129524064888622179">"Instelling word deur diensverskaffer bestuur"</string>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"Aktiveer Wi-Fi-oproepe"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"Skakel Wi-Fi-oproepe aan"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"Wi‑Fi-oproepe word nie gesteun vir %1$s nie"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"Is ontkoppel van <xliff:g id="SSID">%1$s</xliff:g>"</string>
     <string name="carrier" msgid="1755020806290963951">"Diensverskaffer"</string>
     <string name="display_settings_title" msgid="626835071804834218">"Skerm"</string>
     <string name="sound_settings" msgid="5514582720435174014">"Klank"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"Volumes"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"Musiekeffekte"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"Luivolume"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"Lui- en kennisgewingvolume"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"Vibreer wanneer stil"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"Verstek kennisgewingklank"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"Luitoon"</string>
@@ -1272,13 +1229,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"Skedule"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"Geen"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"Skakel aan van sonsondergang tot -opkoms"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"Skakel aan op gepasmaakte tyd"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"Status"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"Af / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"Sal nooit outomaties aanskakel nie"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"Sal outomaties aanskakel met sonsondergang"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"Sal outomaties aanskakel om <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"Aan/<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"Sal nooit outomaties afskakel nie"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"Sal outomaties afskakel met sonsopkoms"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"Sal outomaties afskakel om <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"Skakel aan tot <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"Skakel af tot <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"Donkertema gebruik op sommige skerms \'n swart agtergrond om te help om die battery langer te laat hou. Donkertemaskedules wag totdat jou skerm af is voordat hulle aanskakel."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"Skermuitteltyd"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"Skerm skakel af"</string>
@@ -1290,7 +1252,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"Verander muurpapier"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"Personaliseer jou skerm"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"Kies muurpapier uit"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"Pasmaak jou Pixel"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"Pasmaak jou foon"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"Probeer verskillende style, muurpapiere, en meer"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"Sluimerskerm"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Terwyl dit laai of gedok is"</string>
@@ -1379,6 +1341,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"Ontheg USB-berging, sien beskikbare berging"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"Ontheg SD-kaart, kyk hoeveel stoorplek beskikbaar is"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (SIM-gleuf %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"Kies gestoorde netwerk om te bekyk"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"Foonnommer"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (SIM-gleuf %1$d)"</string>
@@ -1405,6 +1368,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"Swerwing"</string>
     <string name="status_operator" msgid="4335640583552058491">"Netwerk"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"Wi-Fi-MAC-adres"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"Toestel se Wi‑Fi-MAC-adres"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"Bluetooth-adres"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Reeksnommer"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Tyd aanlyn"</string>
@@ -1617,6 +1581,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Terugstel van verstek APN-instellings voltooi"</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"Stel opsies terug"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"Netwerk, programme of toestel kan teruggestel word"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"Programme kan teruggestel word"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"Stel terug: Wi-Fi, mobiel en Bluetooth"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"Dit sal alle netwerkinstellings terugstel, insluitend:\n\n"<li>"Wi‑Fi"</li>\n<li>"Mobiele data"</li>\n<li>"Bluetooth"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"Vee afgelaaide SIM-kaarte uit"</string>
@@ -1666,6 +1631,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"Warmkol is aan"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"Verbinding"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"Kan nie verbind of Wi-Fi-warmkol gebruik wanneer Databespaarder aan is nie"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"Net warmkol"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"Net USB"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"Net Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"Warmkol, USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"Warmkol, Bluetooth"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB, Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"Warmkol, USB, Bluetooth"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"Deel nie tans internet met ander toestelle nie"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"Verbinding"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Moenie Wi-Fi-warmkol gebruik nie"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Deel internet net deur USB"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Deel internet net deur Bluetooth"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Deel internet net deur USB en Bluetooth"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB-verbinding"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"Deel foon se internetverbinding via USB"</string>
@@ -1756,9 +1734,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"Veiligheidsinligting"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"Jy het nie \'n dataverbinding nie. Gaan na %s op enige rekenaar wat aan die internet gekoppel is om hierdie inligting nou te bekyk."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"Laai tans…"</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"Gebruik PIN"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"Gebruik patroon"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"Gebruik wagwoord"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"Stel skermslot"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"Stel wagwoord vir sekuriteit"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"Stel wagwoord vir vingerafdruk"</string>
@@ -1767,8 +1742,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"Stel PIN vir vingerafdruk"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"Stel patroon vir sekuriteit"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"Voer jou wagwoord weer in"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"Voer jou werkwagwoord in"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"Bevestig jou patroon"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"Voer jou werkpatroon in"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"Voer jou PIN weer in"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"Voer jou werk-PIN in"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"Wagwoorde stem nie ooreen nie"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"PIN\'e stem nie ooreen nie"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"Teken weer jou patroon"</string>
@@ -1779,6 +1757,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"Stel wagwoord om gesigslot te gebruik"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"Stel patroon om gesigslot te gebruik"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"Stel PIN om gesigslot te gebruik"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"Jou wagwoord vergeet?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"Jou patroon vergeet?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"Jou PIN vergeet?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"Gebruik jou toestelpatroon om voort te gaan"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"Voer jou toestel-PIN in om voort te gaan"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"Voer jou toestelwagwoord in om voort te gaan"</string>
@@ -1846,6 +1827,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"Laat alle programbronne toe"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"Programme wat onlangs oopgemaak is"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"Sien al <xliff:g id="COUNT">%1$d</xliff:g> programme"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"Kontak jou IT-administrateur"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"Hulle kan jou help om jou PIN, patroon of wagwoord terug te stel"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"Jou tablet en persoonlike data is meer kwesbaar vir aanvalle deur onbekende programme. Deur programme van hierdie bron af te installeer, stem jy in dat jy verantwoordelik is vir enige skade aan jou tablet of verlies van data wat uit hul gebruik kan spruit."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"Jou foon en persoonlike data is meer kwesbaar vir aanvalle deur onbekende programme. Deur programme van hierdie bron af te installeer, stem jy in dat jy verantwoordelik is vir enige skade aan jou foon of verlies van data wat uit hul gebruik kan spruit."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"Jou toestel en persoonlike data is meer kwesbaar vir aanvalle deur onbekende programme. Deur programme van hierdie bron af te installeer, stem jy in dat jy verantwoordelikheid aanvaar vir enige skade aan jou toestel of verlies van data wat uit die gebruik van hierdie programme kan spruit."</string>
@@ -1897,7 +1880,7 @@
     <string name="default_emergency_app" msgid="1929974800666613803">"Noodprogram"</string>
     <string name="reset_app_preferences" msgid="8861758340732716573">"Stel programvoorkeure terug"</string>
     <string name="reset_app_preferences_title" msgid="8935136792316050759">"Stel programvoorkeure terug?"</string>
-    <string name="reset_app_preferences_desc" msgid="1377296810290814749">"Dit sal al die voorkeure terugstel vir:\n\n"<li>"Gedeaktiveerde programme"</li>\n<li>"Gedeaktiveerde programkennisgewings"</li>\n<li>"Verstek programme vir handelinge"</li>\n<li>"Agtergronddatabeperkings vir programme"</li>\n<li>"Enige toestemmingbeperkings"</li>\n\n" Jy sal nie enige programdata verloor nie."</string>
+    <string name="reset_app_preferences_desc" msgid="6509978724602405805">"Dit sal al die voorkeure terugstel vir:\n\n"<li>"Gedeaktiveerde programme"</li>\n<li>"Gedeaktiveerdeprogram-kennisgewings"</li>\n<li>"Verstekprogramme vir handelinge"</li>\n<li>"Agtergronddatabeperkings vir programme"</li>\n<li>"Enige toestemmingbeperkings"</li>\n\n"Jy sal geen programdata verloor nie."</string>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"Stel programme terug"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"Bestuur spasie"</string>
     <string name="filter" msgid="9039576690686251462">"Filter"</string>
@@ -2097,7 +2080,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"Oudio en teks op skerm"</string>
     <string name="display_category_title" msgid="6638191682294461408">"Vertoon"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"Interaksiekontroles"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"Laai dienste af"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"Afgelaaide program"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"Eksperimenteel"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"Kenmerkvlae"</string>
     <string name="talkback_title" msgid="8756080454514251327">"TalkBack"</string>
@@ -2105,27 +2088,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"Tik op items op jou skerm om te hoor hoe hulle hardop gelees word"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"Onderskrifvoorkeure"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"Vergroting"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"Vergrotingarea"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"Vergroting is geaktiveer"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"Kies die vergrotingarea(s) wat jy wil gebruik wanneer jy die skerm vergroot"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"Volskerm"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"Deel van skerm"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"Volskerm en deel van skerm"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"Vergroot die hele skerm"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"Vergroot deel van skerm"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Vergrotinginstellings"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"Vergroot met trippeltik"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Vergroot met kortpad"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Vergroot met kortpad en trippeltik"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"Meer oor <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"Opsies"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"Zoem in op skerm"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"Tik 3 keer om te zoem"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Tik op \'n knoppie om te zoem"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><b>"Om te zoem"</b>", tik 3 keer vinnig op die skerm.\n"<ul><li>"Sleep 2 of meer vingers om te rollees"</li>\n<li>"Knyp 2 of meer vingers om zoem te verstel"</li></ul>\n\n<b>"Om tydelik te zoem"</b>", tik 3 keer vinnig op die skerm en hou jou vinger op die skerm met die derde tik.\n"<ul><li>"Sleep om op die skerm rond te beweeg"</li>\n<li>"Lig vinger op om uit te zoem"</li></ul>\n\n"Jy kan nie op die sleutelbord en navigasiebalk inzoem nie."</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"Wanneer vergroting aangeskakel is, kan jy op jou skerm inzoem.\n\n"<b>"Om te zoem"</b>", begin vergroting, en tik dan op enige plek op die skerm.\n"<ul><li>"• Sleep 2 of meer vingers om te rollees"</li>\n<li>"• Knyp 2 of meer vingers om die zoem te verstel"</li></ul>\n\n<b>"Om tydelik te zoem"</b>", begin vergroting, en raak en hou dan enige plek op die skerm.\n"<ul><li>"• Sleep om op die skerm rond te beweeg"</li>\n<li>"• Lig jou vinger op om uit te zoem"</li></ul>\n\n"Jy kan nie op die sleutelbord of die navigasiebalk inzoem nie."</string>
+    <string name="accessibility_screen_magnification_summary" msgid="7617931632990040045">"Zoem vinnig op die skerm in om inhoud duideliker te sien.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Om in te zoem:&lt;/b&gt;&lt;br/&gt;	1. Gebruik kortpad om vergroting te begin&lt;br/&gt;	2. Tik op die skerm&lt;br/&gt;	3. Sleep 2 vingers om op skerm rond te beweeg&lt;br/&gt;	4. Knyp met 2 vingers om zoem te verstel&lt;br/&gt;	5. Gebruik kortpad om vergroting te stop&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Om tydelik in te zoem:&lt;/b&gt;&lt;br/&gt;	1. Gebruik kortpad om vergroting te begin&lt;br/&gt;	2. Raak en hou enige plek op die skerm&lt;br/&gt;	3. Sleep vinger om op skerm rond te beweeg&lt;br/&gt;	4. Lig vinger om vergroting te stop"</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Wanneer vergroting aangeskakel is, kan jy op jou skerm inzoem.\n\n"<b>"Om te zoem"</b>", moet jy vergroting begin en dan op enige plek op die skerm tik.\n"<ul><li>"Sleep 2 of meer vingers om te rollees"</li>\n<li>"Knyp 2 of meer vingers om zoem te verstel"</li></ul>\n\n<b>"Om tydelik te zoem"</b>", moet jy vergroting begin en dan enige plek op die skerm raak en hou.\n"<ul><li>"Sleep om op die skerm rond te beweeg"</li>\n<li>"Lig jou vinger op om uit te zoem"</li></ul>\n\n"Jy kan nie op die sleutelbord of die navigasiebalk inzoem nie."</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Gebruik toeganklikheidknoppie om oop te maak"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Gebruik gebaar om oop te maak"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"Gebruik nuwe toeganklikheidgebaar"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"Tik op die toeganklikheidknoppie <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>onderaan jou skerm om hierdie diens aan of af te skakel.\n\nRaak en hou die toeganklikheidknoppie om tussen dienste te wissel."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"Swiep op met twee vingers van die onderkant van die skerm af om hierdie diens aan of af te skakel.\n\nSwiep op met twee vingers en hou om tussen dienste te wissel."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"Swiep op met drie vingers van die onderkant van die skerm af om hierdie diens aan of af te skakel.\n\nSwiep op met drie vingers en hou om tussen dienste te wissel."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"Swiep op met twee vingers van die onderkant van die skerm af om \'n toeganklikheiddiens aan of af te skakel.\n\nSwiep op met twee vingers en hou om tussen dienste te wissel."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"Swiep op met drie vingers van die onderkant van die skerm af om \'n toeganklikheiddiens aan of af te skakel.\n\nSwiep op met drie vingers en hou om tussen dienste te wissel."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"Tik op die toeganklikheidknoppie <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>onderaan jou skerm om hierdie diens aan of af te skakel.\n\nRaak en hou die toeganklikheidknoppie om tussen dienste te wissel."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"Swiep met twee vingers van die onderkant van die skerm af op om hierdie diens aan of af te skakel.\n\nSwiep op met twee vingers en hou om tussen dienste te wissel."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"Swiep met drie vingers van die onderkant van die skerm af op om hierdie diens aan of af te skakel.\n\nSwiep op met drie vingers en hou om tussen dienste te wissel."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"Swiep met twee vingers van die onderkant van die skerm af op om \'n toeganklikheiddiens aan of af te skakel.\n\nSwiep op met twee vingers en hou om tussen dienste te wissel."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"Swiep met drie vingers van die onderkant van die skerm af op om \'n toeganklikheiddiens aan of af te skakel.\n\nSwiep op met drie vingers en hou om tussen dienste te wissel."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"Het dit"</string>
+    <string name="accessibility_shortcut_title" msgid="8125867833704517463">"<xliff:g id="SERVICE">%1$s</xliff:g>-kortpad"</string>
+    <string name="accessibility_shortcut_edit_summary_software" msgid="2820923641553461297">"Toeganklikheidknoppie"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture" msgid="8078659880723370597">"Swiep op met 2 vingers"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture_talkback" msgid="7422753388389160524">"Swiep op met 3 vingers"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software" msgid="4796192466943479849">"Tik op toeganklikheidknoppie"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8922102767509399352">"Tik op die toeganklikheidknoppie <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> onderaan jou skerm"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"Swiep met 2 vingers op van die onderkant van die skerm af"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"Swiep met 3 vingers op van die onderkant van die skerm af"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Hou volumesleutels"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"Druk en hou albei volumesleutels 1 sekonde lank"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Tik 3 keer op skerm"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"Tik 3 keer vinnig op skerm. Hierdie kortpad kan jou toestel stadiger maak."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"Gevorderd"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"Die Toeganklikheidsknoppie is gestel op <xliff:g id="SERVICE">%1$s</xliff:g>. Raak en hou die Toeganklikheidsknoppie en kies vergroting as jy vergroting wil gebruik."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"Die toeganklikheidgebaar is gestel op die <xliff:g id="SERVICE">%1$s</xliff:g>. Swiep met twee vingers op van die onderkant van die skerm af en hou om vergroting te gebruik. Kies dan vergroting."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"Volumesleutelkortpad"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"Kortpaddiens"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Kortpadinstellings"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"Laat vanaf sluitskerm toe"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"Wanneer die kortpad aan is, kan jy albei volumesleutels 3 sekondes lank druk om \'n toeganklikheidkenmerk te begin."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"Hoëkontras-teks"</string>
@@ -2149,24 +2157,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"Kies hoe lank om boodskappe te wys wat jou vra om iets te doen, maar wat net tydelik sigbaar is.\n\nNie alle programme ondersteun hierdie instelling nie."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"Raak-en-hou-vertraging"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"Kleuromkering"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"Kan prestasie beïnvloed"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"Stilstandtydstelling"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"Gebruik kleuromkering"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"Kleuromkering maak ligte skerms donker. Dit help mense wat sensitief is vir helder lig om die skerm makliker te sien.&lt;br/&gt;&lt;br/&gt;Let wel: Donker kleure sal lig word. Kleure in media en prente sal verander. Jy kan ook Donkertema gebruik (Instellings &gt; Skerm)."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"Outoklik (stilstandtydtelling)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"As jy \'n muis gebruik, kan jy die merker stel om outomaties op te tree wanneer dit vir \'n sekere tydperk nie beweeg het nie."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"Vertraging voor klik"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"Moenie outoklik gebruik nie (verstek)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"Kort"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0,2 sekondes"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"Medium"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0,6 sekondes"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"Lank"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 sekonde"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"Gepasmaak"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"Korter"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"Langer"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"Outokliktyd"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"Vibrasie en fisiese sterkte"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Kennisgewingvibrasie"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Luivibrasie"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Raakterugvoer"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"Gebruik diens"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"Gebruik <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"Maak <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g> oop"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"Gebruik kleurregstelling"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"Gebruik onderskrifte"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"Wys onderskrifte"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"Onderskrifvoorkoms"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"Teksgrootte, onderskrifstyl"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"Meer opsies"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"Nie alle programme steun hierdie instelling nie."</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"Toeganklikheidknoppie"</string>
+    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"Swiep met 2 vingers van onder na bo"</string>
+    <string name="accessibility_shortcut_type_hardware" msgid="4834144210432451916">"Hou volumesleutels"</string>
+    <string name="accessibility_shortcut_type_triple_tap" msgid="7717524216825494543">"Tripeltik op skerm"</string>
     <string name="accessibility_hearingaid_instruction_continue_button" msgid="3367260988024430722">"Gaan voort"</string>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"Gehoortoestelle"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"Geen gehoortoestelle is gekoppel nie"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"Voeg gehoortoestelle by"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"Soek en tik op jou toestel op die volgende skerm om jou gehoortoestelle saam te bind."</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"Maak seker dat jou gehoortoestelle in saambindmodus is."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"Soek en tik op jou toestel op die volgende skerm om jou gehoortoestelle saam te bind. Maak seker dat jou gehoortoestelle in saambindmodus is."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> is aktief"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> gestoorde gehoortoestelle</item>
@@ -2178,25 +2204,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Hierdie diens werk nie."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Wys in Vinnige instellings"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"Regstellingmodus"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="other">Uiters kort vertraging (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Uiters kort vertraging (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Rooi-groen"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"Groen-rooi"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Blou-geel"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"Deuteranomalie"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"Protanomalie"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"Tritanomalie"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="other">Uiters kort vertraging (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekondes)</item>
+      <item quantity="one">Uiters kort vertraging (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> sekonde)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="other">Baie kort vertraging (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Baie kort vertraging (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="other">Baie kort vertraging (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekondes)</item>
+      <item quantity="one">Baie kort vertraging (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> sekonde)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="other">Kort vertraging (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Kort vertraging (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="other">Kort vertraging (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekondes)</item>
+      <item quantity="one">Kort vertraging (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> sekonde)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="other">Lang vertraging (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Lang vertraging (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="other">Lang vertraging (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekondes)</item>
+      <item quantity="one">Lang vertraging (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> sekonde)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="other">Baie lang vertraging (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Baie lang vertraging (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="other">Baie lang vertraging (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekondes)</item>
+      <item quantity="one">Baie lang vertraging (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> sekonde)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekondes</item>
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> sekonde</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"Lui is <xliff:g id="SUMMARY_RING">%1$s</xliff:g>, kennisgewing is <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>, raak is <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"Lui- en kennisgewingvibrasie is op af gestel"</string>
@@ -2513,7 +2549,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"Sedert laas uitgeprop vir <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"Gebruikstotale"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"Herlaai"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"Android-bedryfstelsel"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"Mediabediener"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"Programoptimering"</string>
     <string name="battery_saver" msgid="7737147344510595864">"Batterybespaarder"</string>
@@ -2594,8 +2629,7 @@
     <string name="tts_play" msgid="2945513377250757221">"Speel"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"Eiebewysberging"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"Installeer uit berging"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"Installeer vanaf SD-kaart"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"Installeer \'n sertifikaat"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"Installeer sertifikate uit berging"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"Installeer sertifikate uit SD-kaart"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"Vee eiebewyse uit"</string>
@@ -2615,6 +2649,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"Eiebewysberging is uitgevee."</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"Eiebewysberging kon nie uitgevee word nie."</string>
     <string name="usage_access_title" msgid="1580006124578134850">"Programme met gebruiktoegang"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"CA-sertifikaat"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"VPN-/programgebruikersertifikaat"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"Wi‑Fi-sertifikaat"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"Jou privaatheid word bedreig"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"CA-sertifikate word deur webwerwe, programme en VPN\'e vir enkripsie gebruik. Installeer net CA-sertifikate vanaf organisasies wat jy vertrou. \n\n As jy \'n CA-sertifikaat installeer, kan die sertifikaateienaar dalk toegang kry tot jou inligting, soos wagwoorde, boodskappe of kredietkaartbesonderhede, vanaf webwerwe wat jy besoek of programme wat jy gebruik – selfs al is daardie inligting geënkripteer."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"Moenie installeer nie"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"Installeer in elk geval"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"Sertifikaat is nie geïnstalleer nie"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"Noodoproepsein"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Stel gedrag wanneer \'n noodoproep gemaak word"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Rugsteun"</string>
@@ -2642,10 +2684,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"Deaktiveer en deïnstalleer"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"Toesteladministrateurprogramme"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"Geen toesteladministrateurprogramme beskikbaar nie"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"Persoonlik"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"Werk"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"Beperk SMS- en oproeprekordtoegang"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"Net verstekfoon- en -boodskapprogramme het SMS- en oproeprekordtoestemmings"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"Geen beskikbare vertrouensagente nie"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"Aktiveer toesteladministrasieprogram?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"Aktiveer toesteladministrasieprogram"</string>
@@ -2659,6 +2697,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"Jou administrateur het ander opsies gedeaktiveer"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"Meer besonderhede"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"Kennisgewing-loglêer"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"Kennisgewinggeskiedenis"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"Vandag"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"Gesluimer"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"Onlangs toegemaak"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> kennisgewings</item>
+      <item quantity="one"><xliff:g id="NUMBER_0">%d</xliff:g> kennisgewing</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"Oproep se luitoon en vibrasie"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"Netwerkdetails"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"Sinkronisasie geaktiveer"</string>
@@ -3008,7 +3054,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"Beperkings"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"Verwyder beperkings"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"Verander PIN"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"Wys kennisgewings"</string>
     <string name="help_label" msgid="2896538416436125883">"Hulp en terugvoer"</string>
     <string name="support_summary" msgid="1034146931237148885">"Hulpartikels, foon en klets, kom aan die gang"</string>
     <string name="user_account_title" msgid="6389636876210834864">"Rekening vir die inhoud"</string>
@@ -3033,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G-Oproepe"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Gebruik LTE-dienste om stem- en ander kommunikasie te verbeter (aanbeveel)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Gebruik 4G-dienste om stem- en ander kommunikasie te verbeter (aanbeveel)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Kontakontdekking"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Laat jou diensverskaffer toe om te ontdek watter oproepkenmerke jou kontakte steun."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Aktiveer kontakontdekking?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"As hierdie kenmerk geaktiveer word, sal dit jou diensverskaffer toegang tot foonnommers in jou kontakte gee om uit te vind watter oproepkenmerke hulle steun."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Voorkeurnetwerktipe"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (aanbeveel)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS-boodskappe"</string>
@@ -3077,7 +3126,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"Bel met"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"Kies \'n SIM-kaart"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"SIM <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"SIM leeg"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"SIM-naam"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"Voer SIM-naam in"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"SIM-gleuf %1$d"</string>
@@ -3087,6 +3135,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"Kies SIM-kaart"</string>
     <string name="color_orange" msgid="216547825489739010">"Oranje"</string>
     <string name="color_purple" msgid="6603701972079904843">"Pers"</string>
+    <string name="color_pink" msgid="8596872110888626708">"Pienk"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"Geen SIM-kaarte ingevoeg nie"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"SIM-status"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"SIM-status (SIM-gleuf %1$d)"</string>
@@ -3100,7 +3149,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"SIM-kaarte het verander."</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Tik om op te stel"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"Voorkeur-SIM vir"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Vra elke keer"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Keuse vereis"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"SIM-keuse"</string>
@@ -3118,6 +3166,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"Bluetooth, rymodus"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"Bluetooth, NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"Bluetooth"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"Nie beskikbaar nie want NFC is af"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"Programme en kennisgewings"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Onlangse programme, verstekprogramme"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Kennisgewingtoegang is nie vir programme in die werkprofiel beskikbaar nie."</string>
@@ -3128,13 +3177,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"Instellings"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"wifi, wi-fi, netwerkverbinding, internet, draadloos, data, wi fi"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"Wi‑Fi-kennisgewing, wifi-kennisgewing"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"datagebruik"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"Stop vibrasie, tik, sleutelbord"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"Gebruik 24-uurformaat"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"Laai af"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"Maak oop met"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"Programme"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"tydsone"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"Kletskop-ikoon"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"Kletskop, stelsel, opletberig, venster, dialoog, skerm, bo-op ander programme, teken"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"Flitslig, Lig, Flits"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"wifi, wi-fi, wissel, beheer"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"sellulêr, mobiel, selfoondiensverskaffer, draadloos, data, 4g, 3g, 2g, lte"</string>
@@ -3158,7 +3208,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"moenie moenie pla nie, onderbreek, onderbreking, pouse"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"naby, ligging, geskiedenis, rapportering, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"rekening"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"rekening, voeg \'n rekening by, werkprofiel, voeg rekening by"</string>
     <string name="keywords_users" msgid="3497517660077620843">"beperking, beperk, is beperk"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"teksregstelling, korrek, klank, vibreer, outomaties, taal, gebaar, stel voor, voorstel, tema, aanstootlik, woord, tik, emosiekoon, internasionaal"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"stel terug, voorkeure, verstek"</string>
@@ -3196,6 +3246,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"geheue, kas, data, vee uit, maak skoon, maak beskikbaar, spasie"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"gekoppel, toestel, oorfone, kopstuk, luidspreker, draadloos, bind saam, oorfoonknoppies, musiek, media"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"agtergrond, skerm, sluitskerm, tema"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"ikoonvorm, aksentkleur, lettertipe"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"verstek, assistent"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"betaling, verstek"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"inkomende kennisgewing"</string>
@@ -3205,18 +3256,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"raakinteraksie, vibreer, sensitiwiteit"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"batterybespaarder, vaste, volhard, kragbespaarder, battery"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"roetine, skedule, batterybespaarder, kragbespaarder, battery, outomaties, persent"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"werkprofiel"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"VolTE, gevorderde oproepe, 4G-oproepe"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"voeg taal by, voeg \'n taal by"</string>
     <string name="default_sound" msgid="6604374495015245195">"Verstekgeluid"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"Luivolume op <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"Lui- en kennisgewingvolume is op <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Volume, vibrasie, Moenie Steur Nie"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"Luitoestel is op vibreer gestel"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"Luitoestel is op stil gestel"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"Luivolume op 80%"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"Lui- en kennisgewingvolume is op 80%"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Mediavolume"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Uitsaaivolume"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"Oproepvolume"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"Wekkervolume"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"Luivolume"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"Lui- en kennisgewingvolume"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"Kennisgewingvolume"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"Foonluitoon"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"Verstekkennisgewingklank"</string>
@@ -3224,6 +3276,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"Verstekkennisgewingklank"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"Verstekwekkerklank"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"Vibreer vir oproepe"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"Moet nooit vibreer nie"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"Vibreer altyd"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"Vibreer eers en lui dan geleidelik"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"Ander klanke"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"Belbladklanke"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"Skermsluitklanke"</string>
@@ -3247,6 +3302,7 @@
       <item quantity="one">1 is geaktiveer</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Moenie Steur Nie"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Word net deur belangrike mense en programme in kennis gestel"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Beperk onderbrekings"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Skakel Moenie steur nie aan"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"Uitsonderings"</string>
@@ -3273,7 +3329,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Blokkeer visuele steurings"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Laat visuele tekens toe"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"Wanneer Moenie Steur Nie aan is"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"Laat onderbrekings wat klanke maak toe"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"Beperk kennisgewings"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Geen klank van kennisgewings af nie"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"Jy sal kennisgewings op jou skerm sien"</string>
@@ -3304,7 +3360,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"Klank en vibrasie"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"Klank, vibrasie en \'n paar visuele tekens van kennisgewings"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"Klank, vibrasie en visuele tekens van kennisgewings"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"Kennisgewings wat nodig is vir basiese foonaktiwiteit en -status sal nooit versteek word nie"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"Kennisgewings wat nodig is vir basiese foonaktiwiteit en -status sal nooit versteek word nie."</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"Geen"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"ander opsies"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"Voeg by"</string>
@@ -3334,10 +3390,12 @@
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> skedules kan outomaties aanskakel</item>
       <item quantity="one">1 skedule kan outomaties aanskakel</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"Demp toestel, maar laat uitsonderings toe"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"Uitsonderings"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"Skedule"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"Sien alle uitsonderings"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"Uitsonderings wanneer Moenie Steur Nie aan is"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"Mense"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"Programme"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"Wekkers en ander onderbrekings"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"Skedules"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"Kennisgewings wat stilgemaak is"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"Klank en vibrasie sal gedemp word wanneer Moenie Steur Nie aan is, met die uitsondering van die items wat jy hierbo toelaat."</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"Demp almal behalwe"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"Gedemp"</string>
@@ -3381,16 +3439,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"Aanpasbare kennisgewings"</string>
     <string name="asst_capability_prioritizer_title" msgid="1181272430009156556">"Aanpasbare kennisgewingprioriteit"</string>
     <string name="asst_capability_prioritizer_summary" msgid="954988212366568737">"Stel kennisgewings met laer prioriteit outomaties op Lig"</string>
+    <string name="asst_capability_ranking_title" msgid="312998580233257581">"Aanpasbare kennisgewingrangskikking"</string>
+    <string name="asst_capability_ranking_summary" msgid="2293524677144599450">"Rangskik kennisgewings outomaties volgens relevantheid"</string>
     <string name="asst_capabilities_actions_replies_title" msgid="4392470465646394289">"Voorgestelde handelinge en antwoorde"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"Wys voorgestelde handelinge en antwoorde outomaties"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"Skakel kennisgewinggeskiedenis aan om tred te hou met vorige kennisgewings en kennisgewings wat jy laat sluimer het"</string>
+    <string name="notification_history" msgid="8663811361243456201">"Kennisgewinggeskiedenis"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"Skakel geskiedenis aan"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"Skakel geskiedenis af"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"Kennisgewinggeskiedenis is afgeskakel"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"bekyk kennisgewinginstellings"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Laat toe dat kennisgewings gesluimer word"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"Versteek ikone op ligte kennisgewings"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"Ikone vir ligte kennisgewings word nie op die statusbalk gewys nie"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"Laat kennisgewingkolle toe"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"Wys strook met onlangse gesprekke"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Borrels"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"Sommige kennisgewings kan as borrels op die skerm verskyn"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"Party kennsgewings en ander inhoud kan as borrels op die skerm verskyn. Tik op \'n borrel om dit oop te maak. Sleep dit na onder op die skerm om dit toe te maak."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Borrels"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"Nuwe boodskappe sal op skerm verskyn"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"Laat <xliff:g id="APP_NAME">%1$s</xliff:g> toe om sekere kennisgewings as borrels te wys"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"Skakel borrels aan"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"Om borrels vir hierdie program aan te skakel, moet jy hulle eers vir jou toestel aanskakel. Dit raak ander programme waarin jy voorheen borrels aangeskakel het."</string>
@@ -3408,6 +3476,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"Wys op aftrekskerm en op sluitskerm"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"Wys op aftrekskerm en statusbalk"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"Wys op aftrekskerm, statusbalk en sluitskerm"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"Versteek stil kennisgewings in statusbalk"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"Flikkerende lig"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"Sluitskerm"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"Slaan sluitskerm oor"</string>
@@ -3438,6 +3507,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"Gedrag"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"Laat klank toe"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"Moet nooit kennisgewings wys nie"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"Gesprekke"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"Gesprek"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"Nie \'n gesprek nie"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"Verwyder uit die gesprekafdeling"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"Dit is \'n gesprek"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"Voeg by die gesprekafdeling"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"Bestuur gesprekke"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"Belangrike gesprekke"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"Alle gesprekke"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"Plaas belangrike gesprekke in borrels"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"Belangrike gesprekke word aan die bokant van die kennisgewingskerm gewys. Jy kan ook stel dat dit in borrels verskyn en Moenie Steur Nie onderbreek."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"Wys stil en maak klein"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"Wys sonder klank"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"Maak geluid"</string>
@@ -3456,7 +3536,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"Help jou om te fokus sonder klank of vibrasie"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"Kry jou aandag met klank of vibrasie"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"Wys kennisgewings as \'n banier boaan die skerm wanneer die toestel ontsluit is"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"Wys kennisgewings"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"Alle <xliff:g id="APP_NAME">%1$s</xliff:g>-kennisgewings"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"Aanpasbare kennisgewings"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="other">~<xliff:g id="NUMBER_1">%d</xliff:g> kennisgewings per dag</item>
@@ -3477,6 +3557,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"Aanpasbare kennisgewings"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"Geen"</string>
     <string name="no_notification_listeners" msgid="2839354157349636000">"Geen geïnstalleerde programme het kennisgewingtoegang versoek nie."</string>
+    <string name="notification_access_detail_switch" msgid="46386786409608330">"Laat kennisgewingtoegang toe"</string>
     <string name="notification_assistant_security_warning_title" msgid="2972346436050925276">"Laat kennisgewingtoegang vir <xliff:g id="SERVICE">%1$s</xliff:g> toe?"</string>
     <string name="notification_assistant_security_warning_summary" msgid="3119843404577399036">"<xliff:g id="NOTIFICATION_ASSISTANT_NAME">%1$s</xliff:g> sal alle kennisgewings kan lees, insluitend persoonlike inligting soos kontakname en die teks van boodskappe wat jy ontvang. Dit sal ook kennisgewings kan wysig of toemaak, of handelingknoppies wat hulle bevat, kan gebruik. \n\nDit sal die program ook in staat stel om Moenie Steur Nie aan of af te skakel en verwante instellings te verander."</string>
     <string name="notification_listener_security_warning_title" msgid="5791700876622858363">"Laat kennisgewingtoegang vir <xliff:g id="SERVICE">%1$s</xliff:g> toe?"</string>
@@ -3538,8 +3619,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"Klaar"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"Belangrikheid"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"Flikkerende lig"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"Vibreer"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"Vibrasie"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"Klank"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"Belangrik"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"Voeg by huis"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"Vee uit"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"Hernoem"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"Skedule se naam"</string>
@@ -3593,6 +3676,10 @@
       <item quantity="other"><xliff:g id="NUM_PEOPLE">%d</xliff:g> ander mense</item>
       <item quantity="one">1 ander persoon</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Gesprekke"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"Vanaf alle gesprekke"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"Vanaf belangrike gesprekke"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"Moet geen gesprekke toelaat nie"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"Laat boodskappe toe"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"Kyk of jou toestel op lui, vibreer of stil gestel is om seker te wees dat toegelate boodskappe klank maak."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"Inkomende boodskappe word vir \"<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>\" geblokkeer. Jy kan instellings verstel om dit vir jou vriende, familielede of ander kontakte moontlik te maak om jou te bereik."</string>
@@ -3606,15 +3693,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"Geen"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"Moet geen oproepe toelaat nie"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"Moet geen boodskappe toelaat nie"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"Laat wekkers toe"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"Wekkers"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"Van aftellers, wekkers, sekuriteitstelsels en ander programme af"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"wekkers"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"Speel mediaklanke"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"Mediaklanke"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"Van video\'s, speletjies en ander media af"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"media"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"Laat raakklanke toe"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"Raakklanke"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"Van jou sleutelbord- en ander knoppies af"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"raakklanke"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"Laat onthounotas toe"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"Onthounotas"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"Van take en onthounotas af"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"onthounotas"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"Laat geleenthede toe"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"Geleenthede"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"Van komende kalendergeleenthede af"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Laat programme toe om te ignoreer"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"Programuitsonderings"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3657,6 +3749,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"Laat kennisgewings wat stilgemaak is deur Moenie Steur Nie die skerm aanskakel"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"Kennisgewingsinstellings"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"OK"</string>
+    <string name="suggestion_button_close" msgid="6865170855573283759">"Maak toe"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Stuur terugvoer oor hierdie toestel"</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"Voer admin-PIN in"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"Aan"</string>
@@ -3667,6 +3760,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Vra PIN voordat jy ontspeld"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Vra wagwoord voordat jy ontspeld"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Sluit toestel terwyl jy ontspeld"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Bevestig dat SIM uitgevee word"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"Verifieer dat dit jy is voordat jy \'n afgelaaide SIM uitvee"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"Hierdie werkprofiel word bestuur deur:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"Bestuur deur <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(Eksperimenteel)"</string>
@@ -3741,8 +3836,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"Alle programme"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Geïnstalleerde programme"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Kitsprogramme"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"Persoonlik"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"Werk"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"Programme: Alle"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"Afgeskakel"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"Kategorieë: Dringend"</string>
@@ -3754,6 +3847,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"Onbekende program"</string>
     <string name="app_permissions" msgid="8666537659217653626">"Toestemmingbestuurder"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"Programme wat <xliff:g id="APPS">%1$s</xliff:g> gebruik"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"Programme wat <xliff:g id="APPS">%1$s</xliff:g> gebruik, en meer"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"Tik om wakker te maak"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"Dubbeltik enige plek op die skerm om die toestel wakker te maak"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"Oopmaak van skakels"</string>
@@ -3765,9 +3859,14 @@
       <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> programme wat gesteunde skakels oopmaak</item>
       <item quantity="one">Een program wat gesteunde skakels oopmaak</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"Maak in hierdie program oop"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"Laat program toe om gesteunde skakels oop te maak"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"Vra elke keer"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"Moenie in hierdie program oopmaak nie"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"Moenie program toelaat om skakels oop te maak nie"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="other">Program beweer dat dit <xliff:g id="COUNT_1">%d</xliff:g> skakels hanteer</item>
+      <item quantity="one">Program beweer dat dit <xliff:g id="COUNT_0">%d</xliff:g> skakel hanteer</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"Program beweer dat dit die volgende skakels hanteer:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"Verstek"</string>
     <string name="default_for_work" msgid="537558180548617528">"Verstek vir werk"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"Bystand en steminvoer"</string>
@@ -3911,8 +4010,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"Wys bo-oor ander programme"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Laat toe dat dit bo-oor ander programme wys"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"Laat hierdie program toe om te wys bo-oor ander programme wat jy gebruik. Dit kan met jou gebruik van daardie programme inmeng of die manier verander waarop hulle voorkom of optree."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"Toegang tot alle lêers"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"Laat toegang toe om alle lêers te bestuur"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Laat hierdie program toe om alle lêers op hierdie toestel of enige gekoppelde bergingvolumes te lees, te wysig en uit te vee. Indien toestemming verleen word, kan die program sonder jou uitdruklike medewete by lêers ingaan."</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"Kan by alle lêers ingaan"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"vr virtuele realiteit luisteraar stereo helper diens"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"stelselwaarskuwingvenster-dialoog wys bo-oor ander programme"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"Wys bo-oor ander programme"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"<xliff:g id="COUNT_0">%1$d</xliff:g> van <xliff:g id="COUNT_1">%2$d</xliff:g> programme word toegelaat om oor ander te wys"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"Programme met toestemming"</string>
@@ -4078,6 +4180,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"<xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g> is gebruik"</string>
     <string name="data_overusage" msgid="3680477320458707259">"<xliff:g id="ID_1">^1</xliff:g> oor"</string>
     <string name="data_remaining" msgid="6316251496381922837">"<xliff:g id="ID_1">^1</xliff:g> oor"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"Grafiek wat datagebruik tussen <xliff:g id="START_DATE">%1$s</xliff:g> en <xliff:g id="END_DATE">%2$s</xliff:g> wys."</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"Geen data in hierdie datumreeks nie"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="other">%d dae oor</item>
       <item quantity="one">%d dag oor</item>
@@ -4141,14 +4245,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"pakkiegrootte"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"kennisgewing gewaarsku"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"klank"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"vibreer"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"patroon"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"verstek"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"kanaal"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"geen"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"Graderingvoorwerp ontbreek."</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"Graderingvoorwerp bevat nie hierdie sleutel nie."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"Temas"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"Toestelverstek"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"Skermuitsnede"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"skermuitsnede, uitkeep"</string>
@@ -4237,8 +4337,12 @@
     <string name="information_label" msgid="6939310810756569298">"Inligting"</string>
     <string name="low_label" msgid="6525629096999711220">"Laag"</string>
     <string name="high_label" msgid="357503396626018487">"Hoog"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"Hoër sensitiwiteit kan konflik met enige programgebare aan die rande van die skerm veroorsaak."</string>
+    <string name="left_edge" msgid="1513576842959071849">"Linkerrand"</string>
+    <string name="right_edge" msgid="1505309103265829121">"Regterrand"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"Hoër sensitiwiteit kan konflik met enige programgebare aan die rande van die skerm veroorsaak."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"Agtersensitiwiteit"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"Gebaarinstellings"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"gebaarnavigasie, agtersensitiwiteit, teruggebaar"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"Dubbeltik om na foon te kyk"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"Dubbeltik om na tablet te kyk"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"Dubbeltik om na toestel te kyk"</string>
@@ -4393,7 +4497,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"Trigger-diensverskaffervoorsiening"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"Dateer Moenie Steur Nie op"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"Onderbreek kennisgewings om gefokus te bly"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"Hierdie kenmerk is nie op hierdie toestel beskikbaar nie"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"Kenmerk is nie beskikbaar nie"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"Hierdie kenmerk is afgeskakel omdat dit jou foon stadiger maak"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"Dwing vol GNSS-metings af"</string>
@@ -4403,20 +4506,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"Kies ANGLE-geaktiveerde program"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"Geen ANGLE-gekativeerde program gestel nie"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"ANGLE-geaktiveerde program: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"Speletjiedrywer-voorkeure"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"Wysig speletjiedrywer-instellings"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"Wanneer die speletjiedrywer aangeskakel is, kan jy kies om die opgedateerde grafikadrywer vir programme wat op die toestel geïnstalleer is, te gebruik."</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"Aktiveer vir alle programme"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"Kies grafikadrywer"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"Verstek"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"Speletjiedrywer"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"Voorbekendstellingdrywer"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"Stelselgrafikadrywer"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"Grafikadrywervoorkeure"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"Wysig grafikadrywerinstellings"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"Wanneer daar veelvuldige grafikadrywers is, kan jy kies om die opgedateerde grafikadrywer te gebruik vir programme wat op die toestel geïnstalleer is."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"Aktiveer vir alle programme"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"Kies grafikadrywer"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"Verstek"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"Speletjiedrywer"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"Ontwikkelaardrywer"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Stelselgrafikadrywer"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Veranderinge aan programversoenbaarheid"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Wissel veranderinge aan programversoenbaarheid"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Veranderinge aan by verstek geaktiveer"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Veranderinge aan by verstek gedeaktiveer"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"Instelling word nie op hierdie foon gesteun nie"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"Instelling word nie op hierdie tablet gesteun nie"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"Instelling word nie op hierdie toestel gesteun nie"</string>
@@ -4435,6 +4544,11 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"Toestel"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Onbeskikbaar tydens oproepe"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"Onbeskikbaar"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"Voeg uitvoere by"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"Groep"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 toestel gekies"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> toestelle gekies"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"Skakel tans oor …"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Antwoord oproep op"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Hierdie toegangspuntnaam kan nie verander word nie."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Verbeter tablet se batterylewe"</string>
@@ -4552,10 +4666,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Net een afgelaaide SIM kan op \'n slag aktief wees.\n\nOorskakeling na <xliff:g id="CARRIER1">%1$s</xliff:g> sal nie jou <xliff:g id="CARRIER2">%2$s</xliff:g>-diens kanselleer nie."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Skakel oor na <xliff:g id="CARRIER">%1$s</xliff:g>?"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Vee SIM uit"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Vee hierdie afgelaaide SIM uit?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"As jy hierdie SIM uitvee, word <xliff:g id="CARRIER_0">%1$s</xliff:g>-diens van hierdie toestel af uitgevee.\n\nDiens vir <xliff:g id="CARRIER_1">%2$s</xliff:g> sal nie gekanselleer word nie."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Vee uit"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Vee tans SIM uit …"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Kan nie SIM uitvee nie"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Hierdie SIM kan weens \'n fout nie uitgevee word nie.\n\nHerbegin jou toestel en probeer weer."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Voorkeurnetwerktipe"</string>
@@ -4580,7 +4690,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Ongeldige netwerkmodus <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Ignoreer."</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Toegangspuntname"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Onbeskikbaar wanneer gekoppel aan <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"Mediese inligting, noodkontakte"</string>
     <string name="see_more" msgid="7499355691042812723">"Sien meer"</string>
     <string name="see_less" msgid="2642392725363552793">"Sien minder"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"Toestel om saam met <xliff:g id="APPNAME">%1$s</xliff:g> te gebruik"</string>
@@ -4589,11 +4698,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"Iets het voorgeval. Die program het die versoek gekanselleer om \'n toestel te kies."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"Verbinding suksesvol"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"Wys alles"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> toestelle is gekoppel</item>
-      <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_0">%1$d</xliff:g> toestel is gekoppel</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"Geen Bluetooth-toestelle nie"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"Soek tans na toestel …"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"Koppel tans aan toestel …"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"Links"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"Regs"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Houer"</string>
@@ -4603,6 +4709,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"Onbeskibaar tydens vliegtuigmodus"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"Dwangrekenaarmodus"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Verplig eksperimentele rekenaarmodus op sekondêre skerms"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"Aktiveer versoenbare groottes in vrye vorm"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"Laai toe dat programme met versoenbare groottes in vrye vorm is"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Ignoreer gedwonge donkermodus"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"Ignoreer die gedwonge donkermoduskenmerk om altyd aan te wees"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"Privaatheid"</string>
@@ -4639,6 +4747,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Jy het hierdie program onlangs geïnstalleer."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Wissel uitvoer"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Speel tans op <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (ontkoppel)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Kan nie wissel nie. Tik om weer te probeer."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Belangrike inligting"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"GAAN VOORT"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"NEE, DANKIE"</string>
@@ -4666,8 +4776,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"SIM-kombinasie"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Jou werkbeleidinligting"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Instellings wat deur jou IT-admin bestuur word"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"Foutverslaghanteerder"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Bepaal watter program die Foutverslag-kortpad op jou toestel hanteer."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Persoonlik"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"Werk"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"Stelselverstek"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"Hierdie keuse is nie meer geldig nie. Probeer weer."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"Hou op uitsaai"</string>
 </resources>
diff --git a/res/values-am/arrays.xml b/res/values-am/arrays.xml
index 722b48c..92cf060 100644
--- a/res/values-am/arrays.xml
+++ b/res/values-am/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"ወዲያውኑ"</item>
     <item msgid="463591454172790676">"5 ሰከንዶች"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"አታረጋግጥ"</item>
+    <item msgid="5703177653586269306">"የዕውቅና ማረጋገጫ ሁኔታን ጠይቅ"</item>
+    <item msgid="326388247868439528">"የዕውቅና ማረጋገጫ ሁኔታን ጠይቅ"</item>
+    <item msgid="1090956283885790552">"ሁሉንም ያልታመኑ የዕውቅና ማረጋገጫ ሁኔታዎችን ጠይቅ"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"አዝራር ተጫን"</item>
     <item msgid="2630618799033509548">"ፒን ከአቻ መሣሪያ"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"ምንም"</item>
@@ -404,6 +412,9 @@
     <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>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"ምንም"</item>
diff --git a/res/values-am/config.xml b/res/values-am/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-am/config.xml
+++ b/res/values-am/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index f9784a1..8c05d03 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -31,49 +31,17 @@
     <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="radio_info_data_connection_enable" msgid="7500945447906187613">"የውሂብ ግንኙነትን አንቃ"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"የውሂብ ግንኙነትን አሰናክል"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"በVoLTE የቀረበ"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"የቪዲዮ ጥሪ ቀርቧል"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"የWifi ጥሪ ቀርቧል"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"የEAB/ተገኝነት ቀርቧል"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"የሲቢአርኤስ ውሂብ"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"DSDSን አንቃ"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"መሣሪያ ዳግም ይጀምር?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"ይህን ቅንብር ለመለወጥ የእርስዎን መሣሪያ ዳግም ማስጀመር ያስፈልግዎታል።"</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"ዳግም አስነሳ"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"ይቅር"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"የተንቀሳቃሽ ሬዲዮ ኃይል"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"የሲም አድራሻ ደብተር አሳይ"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"በቋሚነት የሚደወልባቸው  ቁጥሮች"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"የአገልግሎት መደወያ ቁጥሮችን ዕይ"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"IMS አገልግሎት ሁነታ"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"IMS ሁነታ"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"የተመዘገበ"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"አልተመዘገበም"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"የሚገኙ"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"አይገኝም"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"የIMS ምዝገባ፦ <xliff:g id="STATUS">%1$s</xliff:g>\nበLTE በኩል ድምፅ፦ <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nበWiFi በኩል ድምፅ፦ <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nየቪድዮ ጥሪ፦ <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT በይነገጽ፦ <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"በአገልግሎት ውስጥ"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"ከአገልግሎት ውጪ"</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>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"ስራ ፈት"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"እየጠራ ነው"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"መደወል በሂደት ላይ"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"ተለያይቷል"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"በማገናኘት ላይ"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"ተገናኝቷል"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"ታግዷል"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"ያልታወቀ"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"pkts"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"ባይትስ"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"የUSB  ማከማቻ ንቀል"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"SD ካርድ ንቀል"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"USB ማከማቻ አጥፋ"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"በማያ ገጽ ላይ ያለውን ጽሑፍ ያሳንሱ ወይም ያተልቁ።"</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"አነስ አድርግ"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"ተለቅ አድርግ"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"የናሙና ጽሑፍ"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"አስደናቂው የኦዝ ምትሃተኛ"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"ምዕራፍ 11፦ ኦዝ፣ አስደናቂዋ የኤምራልድ ከተማ"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"ይህን ቅንብር ለመለወጥ የእርስዎን መሣሪያ ዳግም ማስጀመር ያስፈልግዎታል።"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"ዳግም ጀምር"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"ይቅር"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"የሚገኙ የማህደረመረጃ መሣሪያዎች"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"የሚገኙ የጥሪ መሣሪያዎች"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"አሁን ላይ ተገናኝቷል"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"የማህደረ መረጃ መሣሪያዎች"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"ወደ መሣሪያዎች ደውል"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"ሌሎች መሣሪያዎች"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"የተቀመጡ መሣሪያዎች"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"ብሉቱዝ ለማጣመር ይበራል"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"የግንኙነት ምርጫዎች"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"የተየብከው ወደብ ትክክል አይደለም።"</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"አሳሹ የHTTP ተተኪ ተጠቅሟል ሆኖም በሌሎች መተግበሪያዎች ላይጠቀም ይችላል።"</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"የፒኤሲ ዩአርኤል፦ "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"የአሁኑ subId፦"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"የነባሪ ውሂብ ሲም SubId፦"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"የውርድ መተላለፊያ ይዘት (ኪቢ/ሴ)፦"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"የሰቀላ መተላለፊያ ይዘት (ኪቢ/ሴ)፦"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"የሕዋስ የአካባቢ መረጃ (የተቋረጠ)፦"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"የLTE አካላዊ ሰርጥ ውቅረት፦"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"ሕዋስ መረጃ እድሳት ፍጥነት፦"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"ሁሉም የሕዋስ መለኪያ መረጃ፦"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"የውሂብ አገልግሎት፦"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"በመንቀሳቀስ ላይ:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"ጥሪ ተዛውሯል፦"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"ከተነሳ ጀምሮ የPPP ድጋሚ ጅምር ብዛት"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"የአሁኑ አውታረ መረብ፦"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"ውሂብ ተቀብሏል"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"የድምፅ አገልግሎት፦"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"የሲግናል ጥንካሬ፦"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"የድምጽ ጥሪ ሁኔታ፦"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"የተላከው ውሂብ፦"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"መልዕክት በመጠበቅ ላይ፦"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"ስልክ ቁጥር፦"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"የሬዲዮ ባንድ ይምረጡ"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"የድምፅ የአውታረ መረብ ዓይነት፦"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"የውሂብ አውታረ መረብ ዓይነት፦"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"የስልክ መረጃ ጠቋሚን ይምረጡ"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"ተመራጩ የአውታረ መረብ አይነት ያቀናብሩ፦"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"ፒንግ ስመ ከዳም(www.google.com) IPv4፦"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"ፒንግ ስመ ካዳም(www.google.com) IPv6፦"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"የኤችቲቲፒ ደንበኛ ፍተሻ፦"</string>
     <string name="ping_test_label" msgid="265427033290391845">"የፒንግ ሙከራን አስሂድ"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"አዘምን"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"አድስ"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"የDNS ፍተሻን ቀያይር"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"OEM-የተወሰነ መረጃ/ቅንብሮች"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"የሬዲዮ ባንድ ሁነታን ያቀናብሩ"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"የባንድ ዝርዝርን በመጫን ላይ…"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"አዘጋጅ"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"አልተሳካም"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"ስኬታማ"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"የUSB ሽቦ ድጋሚ ሲገናኝ ለውጡ ስራ ላይ ይውላል።"</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"የUSB  ሰፊማከማቻ አንቃ"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"ጠቅላላ ባይቶች፡"</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"ወደ ታች ውሰድ"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"ቋንቋን አስወግድ"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"እንቅስቃሴ ምረጥ"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"የመሣሪያ መረጃ"</string>
     <string name="display_label" msgid="3056320781191343221">"ማያ"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"የጡባዊ መረጃ"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"የስልክ መረጃ"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"የUSB  ማከማቻ"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"SD ካርድ"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"የእጅ አዙር ቅንብሮች"</string>
@@ -306,9 +234,6 @@
     <string name="airplane_mode" msgid="3196085857882526817">"የአውሮፕላን ሁነታ"</string>
     <string name="wireless_networks_settings_title" msgid="8557542379234105369">"ገመድ አልባ&amp; አውታረ መረቦች"</string>
     <string name="radio_controls_summary" msgid="9028430178697624501">"Wi-Fi፣ ብሉቱዝ፣ የአውሮፕላን ሁነታ፣ የተንቀሳቃሽ አውታረ መረቦች፣ እና VPNዎችን ያቀናብሩ"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"የተንቀሳቃሽ ስልክ ውሂብ"</string>
-    <string name="calls_title" msgid="6334813967619899114">"ጥሪዎችን ፍቀድ"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"የኤስኤምኤስ መልዕክቶች"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"በተንቀሳቃሽ ስልክ አውታረ መረብ ላይ ውሂብ መጠቀም ፍቀድ"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"በሌላ የስልክ አውታረ መረብ መንቀሳቀስ ላይ ሳሉ የውሂብ መጠቀም ይፈቀድ"</string>
     <string name="roaming" msgid="3055365654530847985">"ማንዣበብ"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"በእንቅስቃሴ ላይ ሲሆን ወደ ውሂብ አገልግሎቶች ተያያዝ"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"የውሂብዎ ተያያዥነት ጠፍቷል ምክንያቱም የቤትዎን አውታረመረብ በእንቅስቃሴ ላይ አጥፋተው በመተዎ ነው።"</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"አብራው"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"ቀላል የማይባል ክፍያ ሊጠየቁ ይችሉ ይሆናል።"</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"የውሂብ ዝውውር ሲፈቅዱ ጉልህ የሆኑ የውሂብ ዝውውር ክፍያዎች ሊደርስብዎት ይችላል!\n\nይህ ቅንብር እዚህ ጡባዊ ላይ ያሉት ሁሉም ተጠቃሚዎች ይመለከታቸዋል።"</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"የውሂብ ዝውውር ሲፈቅዱ ጉልህ የሆኑ የውሂብ ዝውውር ክፍያዎች ሊደርስብዎት ይችላል!\n\nይህ ቅንብር እዚህ ስልክ ላይ ያሉት ሁሉም ተጠቃሚዎች ይመለከታቸዋል።"</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"የዝውውር ክፍያዎች ሊተገበሩ ይችላሉ።"</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"የውሂብ ዝውውርን ስሲፈቅዱ የዝውውር ክፍያዎች ሊከፈልባቸው ይችላሉ።\n\nይህ ቅንብር በዚህ ጡባዊ ላይ ያሉ ሁሉንም ተጤቃሚዎች ላይ ተጽዕኖ ያሳርፋል።"</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"የውሂብ ዝውውርን ስሲፈቅዱ የዝውውር ክፍያዎች ሊከፈልባቸው ይችላሉ።\n\nይህ ቅንብር በዚህ ስልክ ላይ ያሉ ሁሉንም ተጤቃሚዎች ላይ ተጽዕኖ ያሳርፋል።"</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"የውሂብ ዝውውር ፍቀድ?"</string>
     <string name="networks" msgid="5184501333492775095">"የከዋኝ ምርጫ"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"የአውታረ መረብ ከዋኝ ምረጥ"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"በአስተዳዳሪ ተሰናክሏል"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"የመቆለፊያ አማራጭን አሳይ"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"Smart Lockን፣ ባዮሜትሪክስን መክፈት እና በማያ ገጹ ቁልፉ ላይ ማሳወቂያዎችን የሚያጠፋ የኃይል አዝራር አማራጩን አሳይ"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"የእምነት ወኪሎች መክፈትን ብቻ ነው የሚያስቀጥሉት"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"ከነቃ የእምነት ወኪሎች ለረዥም ጊዜ መሣሪያውን እንደተከፈተ ያቆዩታል፣ ሆኖም ግን የተቆለፈ መሣሪያን ከእንግዲህ መክፈት አይችሉም።"</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"እምነት ሲጠፋ ማያ ገጽን ቆልፍ"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"ከነቃ፣ መሣሪያው የመጨረሻው የታመነ ወኪል እምነት ሲያጣ ይቆለፋል"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"ምንም"</string>
@@ -390,7 +313,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"የእኔን ስፍራ፣ማያ ክፈት፣SIM ካርድ ሽንጉር፣ መረጃ ማከማቻ ሽንጉር አዘጋጅ።"</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"የእኔን ስፍራ፣ማያ ክፈት፣ መረጃ ማከማቻ ሽንጉር አዘጋጅ።"</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"ግላዊነት"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"በአስተዳዳሪ ተሰናክሏል"</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>
@@ -693,7 +616,6 @@
       <item quantity="one">ከ<xliff:g id="NUMBER_1">%d</xliff:g> አሃዞች ያነሰ መሆን አለበት</item>
       <item quantity="other">ከ<xliff:g id="NUMBER_1">%d</xliff:g> አሃዞች ያነሰ መሆን አለበት</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"ከ0-9 የሆኑ አሃዞችን ብቻ ነው መያዝ አለበት"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"የመሣሪያ አስተዳዳሪው የቅርብ ጊዜ ፒን መጠቀም አይፈቅድም"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"የተለመዱ ፒኖች በአይቲ አስተዳዳሪዎ የታገዱ ናቸው። የተለየ ፒን ይሞክሩ።"</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"ይህ ልክ ያልሆነ ቁምፊ ማካተት አይችልም"</string>
@@ -724,6 +646,10 @@
       <item quantity="one">ቢያንስ <xliff:g id="COUNT">%d</xliff:g> ፊደል ያልሆኑ ቁምፊዎችን መያዝ አለበት</item>
       <item quantity="other">ቢያንስ <xliff:g id="COUNT">%d</xliff:g> ፊደል ያልሆኑ ቁምፊዎችን መያዝ አለበት</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="one">ቢያንስ <xliff:g id="COUNT">%d</xliff:g> ቁጥር ያልሆኑ ቁምፊዎች ሊኖረው ይገባል</item>
+      <item quantity="other">ቢያንስ <xliff:g id="COUNT">%d</xliff:g> ቁጥር ያልሆኑ ቁምፊዎች ሊኖረው ይገባል</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"የመሣሪያ አስተዳዳሪው የቅርብ ጊዜ የይለፍ ቃልን መጠቀም አይፈቅድም"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"የተለመዱ የይለፍ ቃላት በአይቲ አስተዳዳሪዎ የታገዱ ናቸው። የተለየ የይለፍ ቃል ይሞክሩ።"</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"ሽቅብ፣ ቁልቁል ወይም ተደጋጋሚ የአኃዞች ተከታታይ አይፈቀድም"</string>
@@ -837,19 +763,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2.4 ጊኸ"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 ጊኸ"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"ግባ"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"ጣቢያን ክፈት"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"<xliff:g id="REMAINING_TIME">%1$s</xliff:g> ይቀራል"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"<xliff:g id="EXPIRY_TIME">%1$s</xliff:g> ላይ የአገልግሎት ጊዜው ያበቃል"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"በመለያ ወደ አውታረ መረብ ለመግባት እዚህ ላይ መታ ያድርጉ"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> ሜብስ"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> ሜብስ"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> ሜቢ/ሴ"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"<xliff:g id="REQUESTER">%s</xliff:g> Wi-Fiን ማብራት ይፈልጋል"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"<xliff:g id="REQUESTER">%s</xliff:g> Wi-Fiን ማጥፋት ይፈልጋል"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"ሊታረሙ የሚችሉ የመተግበሪያዎች ባይት ኮድን ያረጋግጡ"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"ART ሊታረሙ ለሚችሉ መተግበሪያዎች ባይት ኮድን እንዲያረጋግጥ ይፍቀዱ"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"የዕድሳት ድግምግሞሽ መጠንን አሳይ"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"አሁን ያለውን የማሳያ ዕድሳት ድግምግሞሽ መጠንን አሳይ"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"ጡባዊ ቱኮው ሌላ መሳሪያ ሲነካ የውሂብ ልውውጥ ፍቀድ"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"ስልኩ ሌላ መሳሪያ ሲነካ የውሂብ ልውውጥ ፍቀድ"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"ጡባዊው አንድ የNFC መሣሪያ ሲነካ የውሂብ ልውውጥ ፍቀድ"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"ስልኩ አንድ የNFC መሣሪያ ሲነካ የውሂብ ልውውጥ ፍቀድ"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"NFC ያብሩ"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"NFC ውሂብን በዚህ መሣሪያ እና በአቅራቢያ ባሉ ሌሎች መሣሪያዎች ወይም እንደ የመክፈያ ጣቢአይዎች፣ የመዳረሻ አንባቢዎች እና በይነተገናኝ ማስታወቂያዎች ወይም መለያዎች ያሉ ዒላማዎች መካከል ውሂብ ያለዋውጣል።"</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"ደህንነቱ የተጠበቀ NFC"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"ለNFC የመሣሪያ መከፈት ይፈለግ"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"የNFC ክፍያ እና ማስተላለፍ መጠቀምን ማያ ገጽ ሲከፈት ብቻ ፍቀድ"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"በNFC በኩልየመተግበሪያ ይዘት ለማስተላለፍ ዝግጁ ነው"</string>
@@ -923,8 +855,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"አብራ"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Wi‑Fi ቅኝት በርቷል"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"የላቁ አማራጮች"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"የተቆልቋይ ዝርዝር የላቁ አማራጮች። ለመሰብሰብ ሁለቴ መታ ያድርጉ።"</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"የተቆልቋይ ዝርዝር የላቁ አማራጮች። ለመዘርጋት ሁለቴ መታ ያድርጉ።"</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"የተቆልቋይ ዝርዝር የላቁ አማራጮች"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"ዘርጋ"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"አውታረ መረብ ስም"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"SSID ያስገቡ"</string>
     <string name="wifi_security" msgid="9095934643631406913">"ደህንነት"</string>
@@ -934,6 +866,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"ሁኔታ"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"የማስተላለፊያ አገናኝ ፍጥነት"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"የአገናኝ ፍጥነት ተቀበል"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"ፍጥነት አገናኝ"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"ተደጋጋሚነት"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"የIP አድራሻ"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"ተቀምጧል በ"</string>
@@ -941,6 +874,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"EAP ሜተድ"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"ክፍል 2  ማረጋገጥ"</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>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"የተጠቃሚ ምስክር"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"መታወቂያ"</string>
@@ -957,6 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"ለWi-Fi መገናኛ ነጥብ ቢያንስ አንድ ሞገድ ይምረጡ፦"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"IP ቅንብሮች"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"ግላዊነት"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"የደንበኝነት ምዝገባ"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"የደንበኝነት ምዝገባን ይመልከቱ ወይም ይቀይሩ"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"የዘፈቀደ የተደረገ ማክ"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"መሣሪያ ያክሉ"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"ወደ «<xliff:g id="SSID">%1$s</xliff:g>» መሣሪያ ለማከል የQR ኮዱን ከዚህ በታች መሃል ላይ ያስቀምጡት"</string>
@@ -966,12 +902,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"Wi‑Fiን አጋራ"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"ወደ «<xliff:g id="SSID">%1$s</xliff:g>»ን ለማገናኘት ይህን የQR ኮድ ይቃኙ እና የይለፍ ቃሉን ያጋሩ"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"ወደ «<xliff:g id="SSID">%1$s</xliff:g>» ለማገናኘት ይህን የQR ኮድ ይቃኙት"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"የQR ኮድን ማንበብ አልተቻለም። ኮድን ዳግም ያማክሉና እንደገና ይሞክሩ"</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"እንደገና ይሞክሩ። ችግሩ ከቀጠለ የመሣሪያ አምራቹን ያነጋግሩ"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"የሆነ ችግር ተፈጥሯል"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"መሣሪያው መሰካቱን፣ ኃይል መሙላቱን እና መብራቱን ያረጋግጡ"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"መሣሪያው መሰካቱን፣ ኃይል መሙላቱን እና መብራቱን ያረጋግጡ። ችግሩ ከቀጠለ የመሣሪያ አምራቹን ያነጋግሩ"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"«<xliff:g id="SSID">%1$s</xliff:g>»ን ማከል በዚህ መሣሪያ አይደገፍም"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"ወደ የእርስዎ Wi‑Fi መዳረሻ ነጥብ/ራውተር መሣሪያውን ለማስጠጋት ይሞክሩ"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"የይለፍ ቃሉን ይፈትሹ እና እንደገና ይሞክሩ"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"የመሣሪያውን አምራች ያነጋግሩ"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"ግንኙነትን ይፈትሹና እንደገና ይሞክሩ"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"አውታረ መረብ ይምረጡ"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"የእርስዎን መሣሪያ ለማገናኘት አውታረ መረብ ይምረጡ"</string>
@@ -984,11 +922,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"ከዚህ መሣሪያ ጋር Wi‑Fi በማጋራት ላይ…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"በመገናኘት ላይ…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"መገናኛ ነጥብን አጋራ"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"እርስዎ መሆንዎን ያረጋግጡ"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"እርስዎ መሆንዎን ያረጋግጡ"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"የWi-Fi ይለፍ ቃል፦ <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"የመገናኛ ነጥብ የይለፍ ቃል፦ <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"በራስ-ሰር ተገናኝ"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"ስልክ ከዚህ አውታረ መረብ አቅራቢያ በራስ-ሰር እንዲገናኝ ይፍቀዱለት"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"ጡባዊ ከዚህ አውታረ መረብ አቅራቢያ በራስ-ሰር እንዲገናኝ ይፍቀዱለት"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"መሣሪያ ያክሉ"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"አንድ መሣሪያ ወደዚህ አውታረ መረብ ለማከል የQR ኮድ ይጠቀሙ"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"QR ኮድ ልክ ያልኾነ ቅርጸት ነው"</string>
     <string name="retry" msgid="7542103800274026915">"እንደገና ይሞክሩ"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"ለሌሎች የመሣሪያ ተጠቃሚዎች አጋራ"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(ያልተለወጠ)"</string>
@@ -1000,6 +942,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"ምንም የእውቅና ማረጋገጫ አልተጠቀሰም። የእርስዎ ግንኙነት የግል አይሆንም።"</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"የአውታረ መረብ ስም ከልክ በላይ ረዥም ነው።"</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"ጎራ መጠቀስ አለበት።"</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"የእውቅና ማረጋገጫ ያስፈልጋል።"</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"WPS አለ"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" WPS አለ"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"የአገልግሎት አቅራቢ የWi‑Fi አውታረ መረብ"</string>
@@ -1051,7 +994,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"የላቀ Wi-Fi"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"ኤስኤስአይዲ"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"MAC አድራሻ"</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_ip_address_title" msgid="4265355419782184514">"IP አድራሻ"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"የአውታረ መረብ ዝርዝሮች"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"የንዑስ አውታር ጭንብል"</string>
@@ -1103,7 +1047,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"ለሌሎች መሣሪያዎችዎ የWi‑Fi አውታረ መረብን ለመፍጠር መገናኛ ነጥብብ ይጠቀሙ። መገናኛ ነጥብ የእርስዎን የሞባይል ውሂብ ግንኙነት በመጠቀም በይነመረብን ያቀርባል። ተጨማሪ የሞባይል ውሂብ ክፍያዎች ሊከፈልባቸው ይችላል።"</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"መተግበሪያዎች በአቅራቢያ ካሉ መሣሪያዎች ጋር ይዘትን ለመጋራት መገናኛ ነጥብ ሊፈጥሩ ይችላሉ።"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"መገናኛ ነጥብን በራስሰር አጥፋ"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"Wi‑Fi መገናኛ ነጥብ ምንም መሣሪያዎች ካልተገናኙ ይጠፋል"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"ምንም መሣሪያዎች ካልተገናኙ"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"የመገናኛ ነጥብን በማብራት ላይ…"</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"የመገናኛ ነጥብን በማጥፋት ላይ…"</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> ገቢር ነው"</string>
@@ -1112,6 +1056,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"የWi‑Fi መገናኛ ነጥብ ማዋቀር"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"AndroidAP WPA2 PSK መገናኛ ነጥብ"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"Android ድረስ ነጥብ"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"ይህ አውታረ መረብ ይቀመጥ?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"<xliff:g id="APPNAME">%1$s</xliff:g> አውታረ መረብ ወደ የእርስዎ ስልክ ማስቀመጥ ይፈልጋል"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"<xliff:g id="APPNAME">%1$s</xliff:g> አንድ አውታረ መረብ ወደ የእርስዎ ጡባዊ ማስቀመጥ ይፈልጋል"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"በማስቀመጥ ላይ…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"ተቀምጧል"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"ማስቀመጥ አልተቻለም። እንደገና ይሞክሩ።"</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"አውታረ መረቦች ይቀመጡ?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"<xliff:g id="APPNAME">%1$s</xliff:g> እነዚህን አውታረ መረቦች ወደ የእርስዎ ስልክ ማስቀመጥ ይፈልጋል"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"<xliff:g id="APPNAME">%1$s</xliff:g> እነዚህን አውታረ መረቦች ወደ የእርስዎ ጡባዊ ማስቀመጥ ይፈልጋል"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"<xliff:g id="NUMBER">%d</xliff:g> አውታረ መረቦችን በማስቀመጥ ላይ…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"አውታረ መረቦች ተቀምጠዋል"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"የWi-Fi ጥሪ ማድረጊያ"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"ጥሪዎችን በWi‑Fi ያስቀጥሉ"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"ሽፋንን ለመቀጠል የWi‑Fi ጥሪን ያብሩ"</string>
@@ -1138,16 +1093,18 @@
     <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">"ስለግል ዲኤንኤስ ባህሪያት "<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>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"የWi-Fi ጥሪ አደራረግን አግብር"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"Wi-Fi Callingን ያብሩ"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"የWi‑Fi ጥሪ አደራረግ ለ%1$s ከእንግዲህ አይደገፍም"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"ከ<xliff:g id="SSID">%1$s</xliff:g> ጋር ያለው ግንኙነት ተቋርጧል"</string>
     <string name="carrier" msgid="1755020806290963951">"አገልግሎት አቅራቢ"</string>
     <string name="display_settings_title" msgid="626835071804834218">"አሳይ"</string>
     <string name="sound_settings" msgid="5514582720435174014">"ድምፅ"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"ድምፆች"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"የሙዚቃ ማሳመሪያዎች"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"የጥሪ የድምጽ መጠን"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"የጥሪ ድምጽ እና ማሳወቂያ ድምጽ መጠን"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"ፀጥ ሲል ንዘር"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"ነባሪ የማሳወቂያ ድምጽ"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"የስልክ ጥሪ ድምፅ"</string>
@@ -1272,13 +1229,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"መርሐግብር"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"ምንም"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"ከፀሐይ መውጣት ጀምሮ እስከ ፀሐይ ግባት ድረስ ይበራል"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"በብጁ ጊዜ ላይ ይበራል"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"ሁኔታ"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"ጠፍቷል / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"በጭራሽ በራስ-ሰር አይበራም"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"ፀሐይ ስትጠልቅ በራስ-ሰር ይበራል"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"<xliff:g id="ID_1">%1$s</xliff:g> ላይ በራስ-ሰር ይበራል"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"በርቷል / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"በጭራሽ በራስ-ሰር አይጠፋም"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"ፀሐይ ስትወጣ በራስ-ሰር ይጠፋል"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"<xliff:g id="ID_1">%1$s</xliff:g> ላይ በራስ-ሰር ይጠፋል"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"እስከ <xliff:g id="ID_1">%1$s</xliff:g> ድረስ አጥፋ"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"እስከ <xliff:g id="ID_1">%1$s</xliff:g> ድረስ አጥፋ"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"ጨለማ ገጽታ ላይ የባትሪ ዕድሜ እንዲራዘም ለማገዝ በአንዳንድ ማያ ገጾች ጥቁር ጀርባን ይጠቀማል። የጨለማ ገጽታ መርሐግብሮች ለመብራት ማያ ገጽዎ እስኪጠፋ ድረስ ይጠብቃሉ።"</string>
     <string name="screen_timeout" msgid="7709947617767439410">"ማያ ጊዜው እረፍት"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"ማያ ገጽ የሚጠፋው"</string>
@@ -1290,7 +1252,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"ልጣፍ ለውጥ"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"የእርስዎን ማያ ገጽ ግላዊነት ያላብሱ"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"ልጣፍ ምረጥ ከ"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"የእርስዎን Pixel ያብጁት"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"ስልክዎን ያብጁት"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"የተለያዩ ቅጦችን፣ ልጣፎችን እና ተጨማሪ ነገሮችን ይሞክሩ"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"የማያ ገጽ ማቆያ"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"ኃይል እየሞላ ወይም ተተክሎ ሳለ"</string>
@@ -1379,6 +1341,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"የUSB  ማከማቻ ንቀል፣የቀረማከማቻ እይ"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"የSD ካርድ ንቀል፣ የሚገኝ ማከማቻ ዕይ"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (የሲም ማስገቢያ %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"ለመመልከት የተቀመጠ አውታረ መረብን ይምረጡ"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"የስልክ ቁጥር"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (የሲም ማስገቢያ %1$d)"</string>
@@ -1405,6 +1368,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"በመንቀሳቀስ ላይ"</string>
     <string name="status_operator" msgid="4335640583552058491">"አውታረመረብ"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"የWi-Fi ማክ አድራሻ"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"የመሣሪያ Wi‑Fi ማክ አድራሻ"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"የብሉቱዝ አድራሻ"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"መለያ ቁጥር"</string>
     <string name="status_up_time" msgid="1274778533719495438">"የቆየበት ሰዓት"</string>
@@ -1617,6 +1581,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"የዳግም አስጀምር ነባሪ APN ቅንብሮች ተጠናቀዋል"</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"የዳግም ማስጀመሪያ አማራጮች"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"አውታረ መረብ፣ መተግበሪያዎች ወይም መሣሪያ ዳግም ሊዋቀሩ ይችላሉ"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"መተግበሪያዎች ዳግም ሊጀመሩ ይችላሉ"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"Wi-Fi፣ ተንቀሳቃሽ ስልክ እና ብሉቱዝን ዳግም አስጀምር"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"የሚከተሉትን ጨምሮ ይህ ሁሉንም የአውታረ መረብ ቅንብሮችን ዳግም ያቀናብራል፦\n\n"<li>"Wi‑Fi"</li>\n<li>"የተንቀሳቃሽ ስልክ ውሂብ"</li>\n<li>"ብሉቱዝ"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"የወረዱ ሲሞችን ይደምስሱ"</string>
@@ -1666,6 +1631,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"መገናኛ ነጥብ በርቷል"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"እንደ ሞደም መሰካት"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"ውሂብ ቆጣቢ በርቶ ሳለ ግንኙነት መዘርጋት ወይም ተንቀሳቃሽ የመገናኛ ነጥቦችን መጠቀም አይቻልም።"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"መገናኛ ነጥብ ብቻ"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"ዩኤስቢ ብቻ"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"ብሉቱዝ ብቻ"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"መገናኛ ነጥብ፣ ዩኤስቢ"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"መገናኛ ነጥብ፣ ብሉቱዝ"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"ዩኤስቢ፣ ብሉቱዝ"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"መገናኛ ነጥብ፣ ዩኤስቢ፣ ብሉቱዝ"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"በይነመረብ ለሌሎች መሣሪያዎች አይጋራም"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"እንደ ሞደም መሰካት"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"የWi‑Fi መገናኛ ነጥብን አትጠቀም"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"በዩኤስቢ በኩል ብቻ በይነመረብን አጋራ"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"በብሉቱዝ በኩል ብቻ በይነመረብን አጋራ"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"በዩኤስቢ እና በብሉቱዝ በኩል ብቻ አጋራ"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB መሰካት"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"የስልክ በይነመረብ ግንኙነትን በዩኤስቢ በኩል አጋራ"</string>
@@ -1756,9 +1734,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"የደህንነት መረጃ"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"የውሂብ ግንኙነት የለዎትም። ይህን መረጃ አሁን ለማየት ከበይነመረብ ጋር ከተገናኘ ማንኛውም ኮምፒዩተር ሆነው ወደ %s ይሂዱ።"</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"በማስገባት ላይ..."</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"ፒን ይጠቀሙ"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"ሥርዓተ ጥለትን ተጠቀም"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"የይለፍ ቃል ተጠቀም"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"ማያ ገጽ መቆለፊያውን ያዘጋጁ"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"ለደህንነት ሲባል የይለፍ ቃል ያቀናብሩ"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"የጣት አሻራን ለመጠቀም የይለፍ ቃል ያቀናብሩ"</string>
@@ -1767,8 +1742,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"የጣት አሻራን ለመጠቀም ፒን ያቀናብሩ"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"ለደህንነት ሲባል ሥርዓተ-ጥለትን ያቀናብሩ"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"የእርስዎን ይለፍ ቃል ደግመው ያስገቡ"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"የስራ ይለፍ ቃልዎን ያስገቡ"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"ስርዓተ ጥለትዎን ያረጋግጡ"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"የስራ ስርዓተ-ጥለትዎን ያስገቡ"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"የእርስዎን ፒን ደግመው ያስገቡ"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"የስራ ፒንዎን ያስገቡ"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"የይለፍ ቃላት አይዛመዱም"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"ያስገቡት ፒን አይዛመዱም"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"የእርስዎን ሥርዓተ-ጥለት እንደገና ይሣሉ"</string>
@@ -1779,6 +1757,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"በመልክ መክፈቻን ለመጠቀም የይለፍ ቃል ይጠቀሙ"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"በመልክ መክፈትን ለመጠቀም ስርዓተ-ጥለትን ያቀናብሩ"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"በመልክ መክፈቻን ለመጠቀም ፒን ያቀናብሩ"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"የእርስዎን የይለፍ ቃል ረሱት?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"የእርስዎን ስርዓተ-ጥለት ረሱት?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"የእርስዎን ፒን ረሱት?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"ለመቀጠል የመሣሪያዎን ስርዓተ ጥለት ይጠቀሙ"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"ለመቀጠል የመሣሪያዎን ፒን ያስገቡ"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"ለመቀጠል የመሣሪያዎን ይለፍ ቃል ያስገቡ"</string>
@@ -1846,6 +1827,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"የሁሉም መተግበሪያ ምንጮችን ፍቀድ"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"በቅርቡ የተከፈቱ መተግበሪያዎች"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"ሁሉንም <xliff:g id="COUNT">%1$d</xliff:g> መተግበሪያዎች ይመልከቱ"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"የአይቲ አስተዳዳሪዎን ያነጋግሩ"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"የእርስዎ ፒን፣ ስርዓተ-ጥለት ወይም የይለፍ ቃል ዳግም እንዲያስጀምሩ ሊያግዙዎ ይችላሉ"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"የእርስዎ ጡባዊ እና የግል ውሂብ ባልታወቁ መተግበሪያዎች ለሚፈጸም ጥቃት ይበልጥ ተጋላጭ ናቸው። ከዚህ ምንጭ የመጡ መተግበሪያዎችን በመጫን እነሱን በመጠቀምዎ በጡባዊዎ ላይ ለሚከሰት ማንኛውም ጉዳት ወይም ለውሂብ መጥፋት ኃላፊነቱን የሚወስዱት እርስዎ መሆኑን ተስማምተዋል።"</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"የእርስዎ ስልክ እና የግል ውሂብ ባልታወቁ መተግበሪያዎች ለሚፈጸም ጥቃት ይበልጥ ተጋላጭ ናቸው። ከዚህ ምንጭ የመጡ መተግበሪያዎችን በመጫን እነሱን በመጠቀምዎ በስልክዎ ላይ ለሚከሰት ማንኛውም ጉዳት ወይም ለውሂብ መጥፋት ኃላፊነቱን የሚወስዱት እርስዎ መሆኑን ተስማምተዋል።"</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"የእርስዎ መሣሪያ እና የግል ውሂብ ባልታወቁ መተግበሪያዎች ለሚፈጸም ጥቃት ይበልጥ ተጋላጭ ናቸው። ከዚህ ምንጭ የመጡ መተግበሪያዎችን በመጫን እነሱን በመጠቀምዎ በመሣሪያዎ ላይ ለሚከሰት ማንኛውም ጉዳት ወይም የውሂብ መጥፋት ኃላፊነቱን የሚወስዱት እርስዎ መሆኑን ተስማምተዋል።"</string>
@@ -1897,7 +1880,7 @@
     <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="1377296810290814749">"ይሄ ሁሉንም የእነኚህ ምርጫዎችን ዳግም ያስጀምራቸዋል፦\n\n "<li>"የተሰናከሉ መተግበሪያዎች"</li>\n" "<li>"የተሰናከሉ መተግበሪያ ማሳወቂያዎች"</li>\n" "<li>"ለሁሉም እርምጃዎች ነባሪ መተግበሪያዎች"</li>\n" "<li>"የመተግበሪያዎች የጀርባ ውሂብ ገደቦች"</li>\n" "<li>"ማንኛቸውም የፍቃድ ገደቦች"</li>\n\n"ምንም የመተግበሪያ ውሂብ አይጠፋብዎትም።"</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>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"መተግበሪያዎችን ዳግም አስጀምር"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"ባዶ ቦታ አደራጅ"</string>
     <string name="filter" msgid="9039576690686251462">"አጣራ"</string>
@@ -2097,7 +2080,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"ኦዲዮ እና የማያ ገጽ ላይ ጽሑፍ"</string>
     <string name="display_category_title" msgid="6638191682294461408">"አሳይ"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"የመስተጋብር መቆጣጠሪያዎች"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"የወረዱ አገልግሎቶች"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"እንዲወረዱ የተደረጉ መተግበሪያዎች"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"የሙከራ"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"የባህሪ ጥቆማዎች"</string>
     <string name="talkback_title" msgid="8756080454514251327">"Talkback"</string>
@@ -2105,27 +2088,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"በማያ ገጽዎ ላይ ያሉ ንጥሎች ጮክ ተብለው ሲነበቡ ለማዳመጥ መታ ያድርጓቸው"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"የመግለጫ ጽሑፍ ምርጫዎች"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"ማጉላት"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"የማጉያ አካባቢ"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"ማጉላትን አንቃ"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"ማያ ገጹን በሚያጎሉበት ጊዜ መጠቀም የሚፈልጉትን(ዋቸውን) የማጉያ አካባቢ(ዎች) ይምረጡ"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"ሙሉ ማያ ገጽ"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"የማያ ገጽ ክፍል"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"ሙሉ ማያ ገጽ እና የማያ ገጽ ክፍል"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"ሙሉውን ማያ ገጽ አጉላ"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"የማያ ገጹን ክፍል አጉላ"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"የማጉያ ቅንብሮች"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"ሶስቴ መታ በማድረግ ያጉሉ"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"በአቋራጭ ያጉሉ"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"በአቋራጭ እና ሦስቴ መታ በማድረግ ያጉሉ"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"ስለ<xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"አማራጮች"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"በማያ ገጹ ላይ ያጉሉ"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"ለማጉላት 3 ጊዜ መታ ያድርጉ"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"ለማጉላት አንድ አዝራር መታ ያድርጉ"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><b>"ለማጉላት"</b>" ማያ ገጹን በፍጥነት 3 ጊዜ መታ ያድርጉት።\n"<ul><li>"ለማሸብለል 2 ወይም ተጨማሪ ጣቶችን ይጎትቱ"</li>\n<li>"ማጉላትን ለማስተካከል በ2 ወይም ተጨማሪ ጣቶች ይቆንጥጡ"</li></ul>\n\n<b>"ለጊዜው ለማጉላት"</b>" ማያ ገጹን በፍጥነት ሶስቴ መታ ያድርጉና ለሶስተኛ ጊዜ መታ ሲያደርጉት በዚያው ያዝ ያድርጉት።\n"<ul><li>"በማያ ገጹ ላይ ለማንቀሳቀስ ይጎትቱ"</li>\n<li>"ለማሳነስ ጣት ያንሱ"</li></ul>\n\n"ቁልፍ ሰሌዳውን እና የአሰሳ አሞሌውን ማጉላት አይችሉም።"</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"ማጉያ ሲበራ ማያ ገጽዎን ማጉላት ይችላሉ።\n\n"<b>"ለማጉላት"</b>" ማጉያን ያስጀምሩ፣ ከዚያ በማያ ገጹ ማንኛውም ክፍል ላይ መታ ያድርጉ።\n"<ul><li>"• ለማሸብለል 2 ወይም ተጨማሪ ጣቶችን ይጎትቱ"</li>\n<li>"• ማጉያን ለማስተካከል በ2 ወይም ተጨማሪ ጣቶችን ይቆንጥጡ"</li></ul>\n\n<b>"ለጊዜው ለማጉላት"</b>" ማጉያን ያስጀምሩ፣ ከዚያ በማያ ገጹ ማንኛውም ቦታ ላይ ነክተው ይያዙ።\n"<ul><li>"• በማያ ገጹ ዙሪያ ለመንቀሳቀስ ይጎትቱ"</li>\n<li>"• ለማሳነስ ጣትን ያንሱ"</li></ul>\n\n"ቁልፍ ሰሌዳውን ወይም የመዳሰሻ አሞሌውን ማጉላት አይችሉም።"</string>
+    <string name="accessibility_screen_magnification_summary" msgid="7617931632990040045">"ይዘትን በበለጠ ግልጽነት ለማየት በፍጥነት በማያ ገጹ ላይ ያጉሉ።&lt;br/&gt;&lt;br/&gt;&lt;b&gt;ለማጉላት፦ in:&lt;/b&gt;&lt;br/&gt;	1. ማጉላትን ለመጀመር አቋራጭ ይጠቀሙ&lt;br/&gt;	2. ማያ ገጽን መታ ያድርጉ&lt;br/&gt;	3. በማያ ገጹ ዙሪያ ላይ ለመንቀሳቀስ በ2 ጣቶች ይጎትቱ&lt;br/&gt;	4. ማጉላትን ለማስተካከል በ2 ጣቶች ይቆንጥጡ&lt;br/&gt;	5. ማጉላትን ለማስቆም አቋራጭ ይጠቀሙ&lt;br/&gt;&lt;br/&gt;&lt;b&gt;ለጊዜው ለማጉላት፦&lt;/b&gt;&lt;br/&gt;	1. ማጉላትን ለመጀመር አቋራጭ ይጠቀሙ&lt;br/&gt;	2. በማያ ገጹ ማናቸውም ቦታ ላይ ይንኩ እና ይያዙ&lt;br/&gt;	3. በማያ ገጹ ዙሪያ ለማንቀሳቀስ ጣትን ይጎትቱ&lt;br/&gt;	4. ማጉላትን ለማስቆም ጣትን ያንሱ"</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"ማጉያ ሲበራ ማያ ገጽዎን ማጉላት ይችላሉ።\n\n"<b>"ለማጉላት"</b>"፣ ማጉያን ያስጀምሩ፣ ከዚያ በማያ ገጹ ማንኛውም ክፍል ላይ መታ ያድርጉ።\n"<ul><li>"ለማሸብለል 2 ወይም ተጨማሪ ጣቶችን ይጎትቱ"</li>\n<li>"ማጉላትን ለማስተካከል በ2 ወይም ተጨማሪ ጣቶችን ይቆንጥጡ"</li></ul>\n\n<b>"ለጊዜው ለማጉላት"</b>"፣ ማጉላትን ይጀምሩ፣ በመቀጠል በማያ ገጹ ላይ በማናቸውም ቦታ ላይ ነካ ያድርጉ እና ይያዙ።\n"<ul><li>"በማያ ገጹ ላይ ለማንቀሳቀስ ይጎትቱ"</li>\n<li>"ከማጉላት ለመውጣት ጣትን ያንሡ"</li></ul>\n\n"ቁልፍ ሰሌዳውን ወይም የአሰሳ አሞሌውን ማጉላት አይችሉም።"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"ለመክፈት የተደራሽነት አዝራር ይጠቀሙ"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"ለመክፈት የጣት ምልክትን ይጠቀሙ"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"አዲስ የተደራሽነት የጣት ምልክትን ይጠቀሙ"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"ይህን አገልግሎት ለማጥፋት በማያ ገጽዎ ግርጌ ላይ ያለውን የተደራሽነት አዝራሩን<xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> መታ ያድርጉ።\n\nበአገልግሎቶች መካከል ለመቀያየር የተደራሽነት አአዝራሩን ነክተው ይያዙ።"</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"ይህን አገልግሎት ለማብራት ወይም ለማጥፋት በሁለት ጣቶች ከማያ ገጹ ግርጌው ወደ ላይ ይጥረጉ።\n\nበአገልግሎቶች መካከል ለመቀያየር በሁለት ጣቶች ወደ ላይ ይጥረጉና ይያዙ።"</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"ይህን አገልግሎት ለማብራት ወይም ለማጥፋት በሶስት ጣቶች ከማያ ገጹ ግርጌ ወደ ላይ ይጥረጉ።\n\nበአገልግሎቶች መካከል ለመቀያየር በሶስት ጣቶች ወደ ላይ ጠርገው ይያዙ።"</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"አንድ የተደራሽነት አገልግሎትን ለማብራት ወይም ለማጥፋት በሁለት ጣቶት ከማያ ገጹ ግርጌ ወደ ላይ ይጥረጉ።\n\nበአገልግሎቶች መካከል ለመቀያየር በሁለት ጣቶች ወደ ላይ ጠርገው ይያዙ።"</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"አንድ የተደራሽነት አገልግሎትን ለማብራት ወይም ለማጥፋት በሶስት ጣቶት ከማያ ገጹ ግርጌ ወደ ላይ ይጥረጉ።\n\nበአገልግሎቶች መካከል ለመቀያየር በሶስት ጣቶች ወደ ላይ ጠርገው ይያዙ።"</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"ይህን አገልግሎት ለማጥፋት በማያ ገጽዎ ግርጌ ላይ ያለውን የተደራሽነት አዝራሩን <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> መታ ያድርጉ።\n\nበአገልግሎቶች መካከል ለመቀያየር የተደራሽነት አዝራሩን ነክተው ይያዙ።"</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"ይህን አገልግሎት ለማብራት ወይም ለማጥፋት በሁለት ጣቶች ከማያ ገጹ ግርጌው ወደ ላይ ይጥረጉ።\n\nበአገልግሎቶች መካከል ለመቀያየር በሁለት ጣቶች ወደ ላይ ይጥረጉና ይያዙ።"</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"ይህን አገልግሎት ለማብራት ወይም ለማጥፋት በሶስት ጣቶች ከማያ ገጹ ግርጌ ወደ ላይ ይጥረጉ።\n\nበአገልግሎቶች መካከል ለመቀያየር በሶስት ጣቶች ወደ ላይ ጠርገው ይያዙ።"</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"አንድ የተደራሽነት አገልግሎትን ለማብራት ወይም ለማጥፋት በሁለት ጣቶት ከማያ ገጹ ግርጌ ወደ ላይ ይጥረጉ።\n\nበአገልግሎቶች መካከል ለመቀያየር በሁለት ጣቶች ወደ ላይ ጠርገው ይያዙ።"</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"አንድ የተደራሽነት አገልግሎትን ለማብራት ወይም ለማጥፋት በሶስት ጣቶት ከማያ ገጹ ግርጌ ወደ ላይ ይጥረጉ።\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="2820923641553461297">"የተደራሽነት አዝራር"</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="8922102767509399352">"በማያ ገጽዎ ግርጌ ላይ የ<xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> ተደራሽነት አዝራሩን መታ ያድርጉት"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"በ2 ጣቶች ከማያ ገጹ ግርጌ ወደ ላይ ይጥረጉ"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"በ3 ጣቶች ከማያ ገጹ ግርጌ ወደ ላይ ይጥረጉ"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"የድምፅ አዝራሮችን ይያዙ"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"ሁለቱንም የድምጽ ቁልፎች ለ1 ሰከንድ ተጭነው ያይዟቸው"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"ማያ ገጽን ሦስቴ መታ ያድርጉ"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"ማያ ገጹን በፍጥነት 3 ጊዜ መታ ያድርጉ። ይህ አቋራጭ መሣሪያዎን ሊያንቀራፍፈው ይችላል።"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"የላቀ"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"የተደራሽነት አዝራሩ ወደ <xliff:g id="SERVICE">%1$s</xliff:g> ተቀናብሯል። ማጉላትን ለመጠቀም የተደራሽነት አዛሩን ነክተው ይያዙ፣ ከዚያ ማጉላትን ይምረጡ።"</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"የተደራሽነት ጣት ምልክት ወደ <xliff:g id="SERVICE">%1$s</xliff:g> ተቀናብሯል። ማጉላትን ልለመጠቀም በሁለት ጣቶች ከማያ ገጹ ግርጌ ወደ ላይ ጠርገው ይያዙ። ከዚያ ማጉላትን ይምረጡ።"</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"የድምፅ ቁልፍ አቋራጭ"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"የአቋራጭ አገልግሎት"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"የአቋራጭ ቅንብሮች"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"ከማያ ገጽ ቁልፍ ፍቀድ"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"አቋራጩ ሲበራ የተደራሽነት ባህሪውን ለማስጀመር ሁለቱንም የድምፅ አዝራሮች ለ3 ሰከንዶች ተጭነው መያዝ ይችላሉ።"</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"ከፍተኛ ንጽጽር ጽሁፍ"</string>
@@ -2149,24 +2157,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"እርስዎ እርምጃ እንዲወስዱ የሚጠይቁ ሆኖም ግን ለጊዜው ብቻ የሚታዩ መልዕክቶች ምን ያክል ጊዜ መታየት እንዳለባቸው ይምረጡ።\n\nይህን ቅንብር ሁሉም መተግበሪያዎች አይደሉም የሚደግፉት።"</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"የመንካት እና ይዞ ማቆየት"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"ተቃራኒ ቀለም"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"በአፈጻጸም ላይ ተጽዕኖ ሊኖረው ይችላል"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"መቆያ ጊዜ"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"የቀለም ግልበጣን ተጠቀም"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"የቀለም ግልበጣ ብርሃን ማያ ገጾችን ወደ ጨለማ ይቀይራል። ይህ ብሩህ ብርሃን የሚያስቸግራቸው ሰዎች ማያ ገጹን በበለጠ ቅለት እንዲመለከቱት ያስችላቸዋል።&lt;br/&gt;&lt;br/&gt;ማስታወሻ፦ ጨለማ ቀለማት ብርሃን ይሆናሉ። በሚዲያ እና ምስሎች ውስጥ ቀለሞች ይቀየራሉ። እንዲሁም ጨለማ ገጽታን መጠቀም ይችላሉ (ቅንብሮች &gt; ማሳያ)።"</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"በራስ-ሰር ጠቅ አድርግ (መቆያ ጊዜ)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"መዳፊት እየተጠቀሙ ከሆነ ለተወሰነ ያህል ጊዜ መንቀሳቀስ ሲቆም ጠቋሚው በራስ-ሰር እርምጃ እንዲወስድ ሊያቀናብሩት ይችላሉ።"</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"ጠቅ ከማድረግ በፊት መዘግየት"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"ራስ-ሰር ጠቅታን አይጠቀሙ (ነባሪ)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"አጭር"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0.2 ሰከንዶች"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"መካከለኛ"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0.6 ሰከንዶች"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"ረጅም"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 ሰከንድ"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"ብጁ"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"አጭር"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"የበለጠ ጊዜ"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"ጊዜን በራስ-ሰር ጠቅ ያድርጉ"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"የንዝረት ጥንካሬ"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"የማሳወቂያ ንዝረት"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"የጥሪ ንዝረት"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"የንክኪ ግብረመልስ"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"አገልግሎትን ተጠቀም"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g> ን ይጠቀሙ"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>ን ክፈት"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"የቀለም ማስተካከያን ተጠቀም"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"መግለጫ ጽሑፎችን ተጠቀም"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"መግለጫ ጽሑፎችን አሳይ"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"የመግለጫ ጽሑፍ መልክ"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"ጽሑፍ መጠን፣ የመግለጫ ጽሑፍ ቅጥ"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"ተጨማሪ አማራጮች"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"ሁሉም መተግበሪያዎች አይደሉም ይህን ቅንብር የሚጠቀሙበት።"</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"የተደራሽነት አዝራር"</string>
+    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"ከግርጌ በ2 ጣት ወደ ላይ ይጥረጉ"</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>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"አጋዥ መስሚያዎች"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"ምንም አጋዥ መስሚያዎች አልተገናኙም"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"የአጋዥ መስሚያዎችን ያክሉ"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"የእርስዎን አጋዥ መስሚያዎች ለማጣመር የእርስዎን መሣሪያ በቀጣዩ ማያ ገጽ ላይ ያግኙ እና መታ ያድርጉት።"</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"የእርስዎ አጋዥ መስሚያዎች በእርስዎ የጥምረት ሁነታ ውስጥ መሆኑን ያረጋግጡ።"</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"የእርስዎን አጋዥ መስሚያዎች ለማጣመር የእርስዎን መሣሪያ በቀጣዩ ማያ ገጽ ላይ ያግኙ እና መታ ያድርጉት። የእርስዎ አጋዥ መስሚያዎች በእርስዎ የጥምረት ሁነታ ውስጥ መሆኑን ያረጋግጡ።"</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ገቢር ነው"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> የተቀመጡ አጋዥ መስሚያዎች</item>
@@ -2178,25 +2204,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"ይህ አገልግሎት በአግባቡ እየሰራ አይደለም።"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"በፈጣን ቅንብሮች ውስጥ አሳይ"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"የእርማት ሁነታ"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="one">እጅግ በጣም አጭር መዘግየት (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ሚሴ)</item>
-      <item quantity="other">እጅግ በጣም አጭር መዘግየት (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ሚሴ)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"ቀይ-አረንጓዴ"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"አረንጓዴ-ቀይ"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"ሰማያዊ-ቢጫ"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"ዲውተራኖማሊ"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"ፕሮታኖማሊ"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"ትራይታኖማሊ"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="one">እጅግ በጣም አጭር መዘግየት (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ሰከንዶች)</item>
+      <item quantity="other">እጅግ በጣም አጭር መዘግየት (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ሰከንዶች)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="one">በጣም አጭር መዘግየት (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ሚሴ)</item>
-      <item quantity="other">በጣም አጭር መዘግየት (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ሚሴ)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="one">በጣም አጭር መዘግየት (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ሰከንዶች)</item>
+      <item quantity="other">በጣም አጭር መዘግየት (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ሰከንዶች)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="one">አጭር መዘግየት (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ሚሴ)</item>
-      <item quantity="other">አጭር መዘግየት (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ሚሴ)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="one">አጭር መዘግየት (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ሰከንዶች)</item>
+      <item quantity="other">አጭር መዘግየት (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ሰከንዶች)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="one">ረጅም መዘግየት (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ሚሴ)</item>
-      <item quantity="other">ረጅም መዘግየት (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ሚሴ)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="one">ረጅም መዘግየት (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ሰከንዶች)</item>
+      <item quantity="other">ረጅም መዘግየት (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ሰከንዶች)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="one">በጣም ረጅም መዘግየት (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ሚሴ)</item>
-      <item quantity="other">በጣም ረጅም መዘግየት (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ሚሴ)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="one">በጣም ረጅም መዘግየት (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ሰከንዶች)</item>
+      <item quantity="other">በጣም ረጅም መዘግየት (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ሰከንዶች)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ሰከንዶች</item>
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ሰከንዶች</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"<xliff:g id="SUMMARY_RING">%1$s</xliff:g> ደውል፣ ማሳወቂያ <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>፣  <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g> ይንኩ"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"የጥሪ ድምፅ እና ማሳወቂያ ወደ አጥፋ ተቀናብረዋል"</string>
@@ -2513,7 +2549,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"በመጨረሻ ለ<xliff:g id="UNPLUGGED">%1$s</xliff:g>  አልተሰካም"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"ጠቅላላ አጠቃቀም"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"አድስ"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"Android  ስርዓተ ክወና"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"ማህደረ መረጃ አገልጋይ"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"የመተግበሪያ ማትባት"</string>
     <string name="battery_saver" msgid="7737147344510595864">"ባትሪ ቆጣቢ"</string>
@@ -2594,8 +2629,7 @@
     <string name="tts_play" msgid="2945513377250757221">"አጫውት"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"መረጃ ማከማቻ"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"ከUSB  ማከማቻ ጫን"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"ከSD  ካርድ ጫን"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"የእውቅና ማረጋገጫ ይጫኑ"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"ከማከማቻ ምስክሮች ጫን"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"ከ SD ካርድ ምስክሮችንጫን"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"መረጃዎች አጽዳ"</string>
@@ -2615,6 +2649,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"የመረጃው ማከማቻ ጠፍቷል"</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"የማስረጃ ማከማቻ መጥፋት አልተቻለም።"</string>
     <string name="usage_access_title" msgid="1580006124578134850">"የአጠቃቀም መዳረሻ ያላቸው መተግበሪያዎች"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"CA የእውቅና ማረጋገጫ"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"VPN &amp; መተግበሪያ የተጠቃሚ የእውቅና ማረጋገጫ"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"Wi‑Fi የእውቅና ማረጋገጫ"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"የእርስዎ ግላዊነት አደጋ ላይ ነው"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"CA የእውቅና ማረጋገጫዎች በድር ጣቢያዎች፣ መተግበሪኣይዎች እና VPNዎች ለምሥጠራ ጥቅም ላይ ይውላል እርስዎ ከሚያምኑዋቸው ድርጅቶች የመጡ የ CA የእውቅና ማረጋገጫዎችን ብቻ ይጫኑ። \n\n የ CA እውቅና ማረጋገጫ ከጫኑ፣ የእውቅና ማረጋገጫው ባለቤት እንደ የይለፍ ቃላት፣ መልዕክቶች፣ ወይም የክሬዲት ካርድ ዝርዝሮች የመሳሰሉ የእርስዎን መረጃዎች እርስዎ ከሚጎበኟቸው የድር ጣቢያዎች ወይም የሚጠቀሙባቸው መተግበሪያዎች - ምንም እንኳ ያ መረጃ የተመሳጠረ እንኳ ቢሆንም መድረስ ይችላል።"</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"አትጫን"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"የሆነው ሆኖ ጫን"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"የእውቅና ማረጋገጫ አልተጫነም"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"የድንገተኛ አደጋ መወደያ ሲግናል"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"የአደጋጊዜ ጥሪ ሲደረግ ባህሪ አዘጋጅ"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"ምትኬ"</string>
@@ -2642,10 +2684,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"አቦዝን እና አራግፍ"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"የመሣሪያ አስተዳደር መተግበሪያዎች"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"ምንም የመሣሪያ አስተዳዳሪ መተግበሪያዎች አይገኙም"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"የግል"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"ስራ"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"የኤስኤምኤስ እና የጥሪ ምዝግብ መዳረሻን ገድብ"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"ነባሪ የስልክ እና የመልዕክት መላላኪያ መተግበሪያዎች ብቻ የኤስኤምኤስ እና የጥሪ ምዝግብ ማስታወሻ ፈቃዶች አላቸው"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"ምንም የሚገኙ የተአማኒነት ወኪሎች የሉም"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"የመሣሪያ አስተዳዳሪ መተግበሪያ ገቢር ይሁን?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"የዚህ መሣሪያ አስተዳዳሪ መተግበሪያን አግብር"</string>
@@ -2659,6 +2697,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"ሌሎች አማራጮች በእርስዎ አስተዳዳሪ ተሰናክለዋል"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"ተጨማሪ ዝርዝሮች"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"የማሳወቂያ ምዝግብ ማስታወሻ"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"የማሳወቂያ ታሪክ"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"ዛሬ"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"አሸልቧል"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"በቅርቡ የተሰናበተ"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="one"><xliff:g id="NUMBER_1">%d</xliff:g> ማሳወቂያዎች</item>
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> ማሳወቂያዎች</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"የጥሪ ደውል ቅላጼ እና ንዝረት"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"የአውታረ መረብ ዝርዝሮች"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"አሳምርነቅቷል"</string>
@@ -3008,7 +3054,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"ገደቦች"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"ገደቦችን አስወግድ"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"ፒን ቀይር"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"ማሳወቂያዎች አሳይ"</string>
     <string name="help_label" msgid="2896538416436125883">"እገዛ እና ግብረመልስ"</string>
     <string name="support_summary" msgid="1034146931237148885">"የእገዛ መጣጥፎች፣ ስልክ እና ውይይት፣ ማስጀመሪያ"</string>
     <string name="user_account_title" msgid="6389636876210834864">"መለያ ለይዘት"</string>
@@ -3033,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G ጥሪ"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"የድምፅ እና ሌሎች የመልዕክት ልውውጦችን ለማሻሻል LTE አገልግሎቶችን ይጠቀሙ (የሚመከር)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"የድምፅ እና ሌሎች ግንኙነቶችን ለማሻሻል 4G አገልግሎቶችን ይጠቀሙ (የሚመከር)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"የእውቂያ ማግኘት"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"የእርስዎ አገልግሎት አቅራቢ የትኛውን የስልክ መደወያ ባሕሪን የእርስዎ እውቂያዎች እንደሚደግፍ ለማወቅ እንዲችል ይፈቅድለታል።"</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"የእውቂያ መገኘት ይንቃ?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"ይህን ባሕሪ ማንቃት የትኛውን የስልክ መደወያ ባሕሪ እንደሚደግፉ ለማወቅ የእርስዎ አገልግሎት አቅራቢ በእርስዎ እውቂያዎች ውስጥ ወደ ያሉ ስልክ ቁጥሮች ለመድረስ እንዲችል ይፈቅድለታል።"</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"የሚመረጠው የአውታረ መረብ አይነት"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (የሚመከር)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"የኤምኤምኤስ መልዕክቶች"</string>
@@ -3077,7 +3126,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"ይደውሉ ከዚህ ጋር"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"ሲም ካርድ ይምረጡ"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"ሲም <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"ሲም ባዶ ነው"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"የሲም ስም"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"የሲም ስም ያስገቡ"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"የሲም ማስገቢያ %1$d"</string>
@@ -3087,6 +3135,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"SIM ካርድ ይምረጡ"</string>
     <string name="color_orange" msgid="216547825489739010">"ብርቱካናማ"</string>
     <string name="color_purple" msgid="6603701972079904843">"ወይን ጠጅ"</string>
+    <string name="color_pink" msgid="8596872110888626708">"ሮዝ"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"ምንም ሲም ካርዶች አልገቡም"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"የSIM ሁኔታ"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"የሲም ሁኔታ (የሲም ማስገቢያ %1$d)"</string>
@@ -3100,7 +3149,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> ል.ም/በደ. <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"ሲም ካርዶች ተቀይረዋል።"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"ለማዋቀር ነካ ያድርጉ"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"ተመራጭ ሲም ለ"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"ሁልጊዜ ጠይቅ"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"መምረጥ ይጠየቃል"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"የሲም ምርጫ"</string>
@@ -3118,6 +3166,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"ብሉቱዝ፣ የመንዳት ሁነታ"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"ብሉቱዝ፣ NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"ብሉቱዝ"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"NFC ስለጠፋ አይገኝም"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"መተግበሪያዎች እና ማሳወቂያዎች"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"የቅርብ ጊዜ መተግበሪያዎች፣ ነባሪ መተግበሪያዎች"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"የማሳወቂያ መዳረሻ በስራ መገለጫ ውስጥ ላሉ መተግበሪያዎች አይገኝም።"</string>
@@ -3128,13 +3177,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"ቅንብሮች"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"wifi, wi-fi፣ አውታረ መረብ ግንኙነት፣ በይነመርብ፣ ገመድ አልባ፣ ውሂብ፣ wi fi"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"Wi‑Fi ማሳወቂያ፣ wifi ማሳወቂያ"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"የውሂብ አጠቃቀም"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"ንዝረትን አቁም፣ መታ አድርግ፣ የቁልፍ ሰሌዳ"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"የ24-ሰዓት ቅርጸት ተጠቀም"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"አውርድ"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"ክፈት በ"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"መተግበሪያዎች"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"የጊዜ ሰቅ"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"የውይይት አናት"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"የውይይት አናት፣ ሥርዓት፣ ማንቂያ፣ መስኮት፣ መገናኛ፣ ማሳያ፣ በሌሎች መተግበሪያዎች ላይ፣ ሳል"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"የእጅ መብራት፣ ብርሃን፣ ላምባዲና"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"wifi፣ wi-fi፣ ቀያይር፣ ቁጥጥር"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"የተንቀሳቃሽ ስልክ፣ የተንቀሳቃሽ ስልክ አገልግሎት አቅራቢ፣ ገመድ-አልባ፣ ውሂብ፣ 4ጂ፣ 3ጂ፣ 2ጂ፣ lte"</string>
@@ -3158,7 +3208,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"አትረብሽ፣ አቋርጥ፣ ማቋረጥ፣ እረፍት"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"አቅራቢያ፣ አካባቢ፣ ታሪክ፣ ሪፖርት ማድረግ"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"መለያ"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"መለያ፣ መለያ ያክሉ፣ የሥራ መገለጫ፣ መለያ ያክሉ"</string>
     <string name="keywords_users" msgid="3497517660077620843">"ገደብ፣ ገድብ፣ የተገደበ"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"የጽሑፍ እርማት፣ ትክክል፣ ድምፅ፣ ንዘር፣ ራስ-ሰር፣ ቋንቋ፣ የጣት ምልክት፣ ጠቁም፣ የአስተያየት ጥቆማ፣ ገጽታ፣ የሚያስከፋ፣ ቃል፣ ተይብ፣ ስሜት ገላጭ ምስል፣ አለምአቀፍ"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"ዳግም አስጀምር፣ ምርጫዎች፣ ነባሪ"</string>
@@ -3196,6 +3246,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"ማህደረ ትውስታ፣ ውሂብ፣ ሰርዝ፣ አፅዳ፣ ነጻ፣ ባዶ ቦታ"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"ተገናኝቷል፣ መሣሪያ፣ የጆሮ ማዳመጫዎች፣ ማዳመጫዎች፣ ስፒከር፣ ገመድ አልባ፣ አጣምር፣ ጆሮ ተሰኪዎች፣ ሙዚቃ፣ ማህደረ መረጃ"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"በስተጀርባ፣ ማያ ገጽ፣ ማያ ገጽ መቆለፊያ፣ ገጽታ"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"አዶ ቅርጽ፣ የድፋት ቀለም፣ ቅርጸ ቁምፊ"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"ነባሪ፣ ረዳት"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"ክፍያ፣ ነባሪ"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"ገቢ ማሳወቂያ"</string>
@@ -3205,18 +3256,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"ሃፕቲክስ፣ ንዘር፣ አደገኛነት"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"ባትሪ ቆጣቢ፣ ተለጣፊ፣ ጽና፣ የኃይል ቆጣቢ፣ ባትሪ"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"ዕለታዊ ተግባር፣ መርሐግብር፣ ባትሪ ቆጣቢ፣ ኃይል ቆጣቢ፣ ባትሪ፣ ራስ-ሰር፣ በመቶ"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"የሥራ መገለጫ"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"ቮልት፣ የላቀ ጥሪ አደራረግ፣ 4g ጥሪ አደራረግ"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"ቋንቋ ያክሉ፣ አንድ ቋንቋ ያክሉ"</string>
     <string name="default_sound" msgid="6604374495015245195">"ነባሪ ድምፅ"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"የጥሪ ድምጽ መጠን <xliff:g id="PERCENTAGE">%1$s</xliff:g> ላይ"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"የጥሪ ድምጽ እና ማሳወቂያ ድምጽ መጠን <xliff:g id="PERCENTAGE">%1$s</xliff:g> ላይ"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"ድምፅ፣ ንዝረት፣ አትረብሽ"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"ደዋዩ ወደ ንዘር ተቀናብሯል"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"ደዋዩ ወደ ጸጥታ ተቀናብሯል"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"የጥሪ ድምጽ መጠን 80% ላይ"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"የጥሪ ድምጽ እና ማሳወቂያ ድምጽ መጠን 80% ላይ"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"የማህደረመረጃ ክፍልፍል"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"ድምፅን Cast አድርግ"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"የስልክ ጥሪ ድምጽ መጠን"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"የማንቂያ ድምፅ መጠን"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"የጥሪ ድምጽ መጠን"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"የጥሪ ድምጽ እና ማሳወቂያ ድምጽ መጠን"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"የማሳወቂያ ድምጽ መጠን"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"የስልክ ጥሪ ድምፅ"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"ነባሪ የማሳወቂያ ድምጽ"</string>
@@ -3224,6 +3276,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"ነባሪ የማሳወቂያ ድምጽ"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"ነባሪ የማንቂያ ድምጽ"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"ለጥሪዎች ንዘር"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"በጭራሽ አትንዘር"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"ሁልጊዜ ንዘር"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"በመጀመሪያ ንዘር በመቀጠል በዝግታ ደውል"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"ሌሎች ድምጾች"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"የመደወያ ሰሌዳ ድምጾች"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"የማያ ገጾ መቆለፍ ድምጾች"</string>
@@ -3247,6 +3302,7 @@
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> ነቅቷል</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"አይረብሹ"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"በአስፈላጊ ሰዎች እና መተግበሪያዎች ብቻ ማሳወቂያን ያግኙ"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"መቆራረጦችን ይገድቡ"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"አትረብሽን አብራ"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"የማይካተቱት"</string>
@@ -3273,7 +3329,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>፦ <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"ምስላዊ ረብሻዎችን አግድ"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"ምስላዊ ምልክቶችን ፍቀድ"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"አትረብሽ ሲበራ"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"ድምፅ የሚፈጥሩ ረብሻዎችን ፍጠር"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"ማሳወቂያዎችን ገድብ"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"ከማሳወቂያዎች ምንም ድምጽ የለም"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"ማሳወቂያዎችን በማያዎ ላይ ይመለከታሉ"</string>
@@ -3304,7 +3360,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"ድምጽ እና ንዝረት"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"የማሳወቂያዎች ድምጽ፣ ንዝረት እና አንዳንድ ምስላዊ ምልክቶች"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"የማሳወቂያዎች ድምጽ፣ ንዝረት እና ምስላዊ ምልክቶች"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"ማሳወቂያዎች ለመሠረታዊ የስልክ እንቅስቃሴ ያስፈልጋሉ፣ እና ሁኔታ በጭራሽ አይደበቅም"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"ማሳወቂያዎች ለመሠረታዊ የስልክ እንቅስቃሴ ያስፈልጋሉ፣ እና ሁኔታ በጭራሽ አይደበቅም።"</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"ምንም"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"ሌሎች አማራጮች"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"አክል"</string>
@@ -3334,10 +3390,12 @@
       <item quantity="one"><xliff:g id="ON_COUNT">%d</xliff:g> መርሐ ግብሮች በራስ ሰር ሊበሩ ይችላሉ</item>
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> መርሐ ግብሮች በራስ ሰር ሊበሩ ይችላሉ</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"መሣሪያን ድምፀከል አድርግ ግን ልዩ ሁኔታዎች ፍቀድ"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"የማይካተቱት"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"መርሐግብር"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"ሁሉንም የማይካተቱትን ይመልከቱ"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"አትረብሽ ሲበራ በልዩ ሁኔታ የሚታዩ"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"ሰዎች"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"መተግበሪያዎች"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"ማንቂያዎች እና ሌሎች ረብሻዎች"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"መርሐግብሮች"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"ጸጥ እንዲሉ የተደረጉ ማሳወቂያዎች"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"አትረብሽ ሲበራ ከላይ ከሚፈቅዷቸው ንጥሎች በስተቀር ድምጽ እና ንዝረት ድምጸ-ከል ይደረግባቸዋል።"</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"ከእነዚህ በስተቀር ሁሉንም ድምጸ-ከል አድርግባቸው"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"ድምጸ-ከል ተደርጓል"</string>
@@ -3381,16 +3439,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"እንደሁኔታው ተስማሚ ማሳወቂያዎች"</string>
     <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_capabilities_actions_replies_title" msgid="4392470465646394289">"በጥቆማ የቀረቡ እርምጃዎች እና ምላሾች"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"በጥቆማ የቀረቡ እርምጃዎችን እና ምላሾችን በራስሰር አሳይ"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"ያለፉ እና ያሸለቡ ማሳወቂያዎችን ለመከታተል የማሳወቂያ ታሪክን ያብሩ"</string>
+    <string name="notification_history" msgid="8663811361243456201">"የማሳወቂያ ታሪክ"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"ታሪክ አብራ"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"ታሪክን አጥፋ"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"የማሳወቂያ ታሪክ ጠፍቷል"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"የማሳወቂያ ቅንብሮችን ይመልከቱ"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"የማሳወቂያ ማሸለብን ፍቀድ"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"ከተረጋጉ ማሳወቂያዎች አዶዎችን ደብቅ"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"ከተረጋጋ ማሳወቂያዎች የሚመጡ አዶዎች በሁነታ አሞሌ ውስጥ አይታዩም"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"የማሳወቂያ ነጥቦችን ፍቀድ"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"የቅርብ ጊዜ ውይይቶች ሐረግን ያሳያል"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"ዓረፋዎች"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"አንዳንድ ማሳወቂያዎች በማያ ገጹ ላይ እንደ አረፈ ብቅ ሊሉ ይችላሉ"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"አንዳንድ ማሳወቂያዎች እና ሌላ ይዘት በማያ ገጽ ላይ እንደ አረፋዎች ብቅ ሊሉ ይችላሉ። አረፋን ለመክፈት፣ መታ ያድርጉት። ለማሰናበት፣ በማያ ገጹ ላይ ወደ ታች ይጎትቱት።"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"ዓረፋዎች"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"አዲስ መልዕክቶች በማያ ገጹ ላይ ይታያሉ"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"አንዳንድ ማሳወቂያዎችን እንደ አረፋ ለማሳየት እንዲችል <xliff:g id="APP_NAME">%1$s</xliff:g> ን ይፍቀዱለት"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"አረፋዎችን አብራ"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"ለዚህ መተግበሪያ አረፋዎችን ለማብራት መጀመሪያ በመሣሪያዎ ላይ እነሱን ማብራት አለብዎት። ይህ ከዚህ ቀደም አረፋዎች ባበሩባቸው መተግበሪያዎች ላይ ተጽዕኖ ያሳርፋል።"</string>
@@ -3408,6 +3476,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"በታች ተጎታች ጥላ ውስጥ እና በማያ ገጽ ቁልፍ ላይ አሳይ"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"በታች ተጎታች ጥላ ውስጥ እና በሁኔታ አሞሌ ላይ አሳይ"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"በታች ተጎታች ጥላ ውስጥ፣ በሁኔታ አሞሌ እና በማያ ገጽ ቁልፍ ላይ አሳይ"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"በሁኔታ አሞሌ ላይ ጸጥ ያሉ ማሳወቂያዎችን ደብቅ"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"ብርሃን አብለጭለጭ"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"ማያ ገጽ ቁልፍ"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"የማያ ገጽ ቁልፍን ይዝለሉ"</string>
@@ -3438,6 +3507,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"ባህሪ"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"ድምፅ ይፍቀዱ"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"ማሳወቂያዎችን በጭራሽ አታሳይ"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"ውይይቶች"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"ውይይት"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"ውይይት አይደለም"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"ከውይይት ክፍሉ ያስወግዱ"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"ይህ ውይይት ነው"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"ወደ የውይይት ክፍል ያክሉ"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"ውይይቶችን አቀናብር"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"አስፈላጊ ውይይቶች"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"ሁሉም ውይይቶች"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"አስፈላጊ ውይይቶችን በአረፋ ውስጥ ያቆዩ"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"አስፈላጊ ውይይቶች በተሳቢ መጋረጃው አናት ላይ ይታያሉ። እንዲሁም ወደ አረፋ እና አትረብሽን እንዲያቋርጡ ማቀናበር ይችላሉ።"</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"በጸጥታ አሳይ እና አሳንስ"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"በፀጥታ አሳይ"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"ድምፅ ፍጠር"</string>
@@ -3456,7 +3536,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"ያለ ድምፅ ወይም ንዝረት እርስዎ ትኩረት እንዲያደርጉ ያግዛል"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"ከድምፅ ወይም ንዝረት ጋር የእርስዎን ትኩረት ይስባል"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"መሣሪያ ሲከፈት፣ ማሳወቂያዎችን እንደ ሰንደቅ በማያ ገጹ አናት ላይ እንዳለ አሳይ"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"ማሳወቂያዎችን አሳይ"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"ሁሉም የ<xliff:g id="APP_NAME">%1$s</xliff:g> ማሳወቂያዎች"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"እንደሁኔታው ተስማሚ ማሳወቂያዎች"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="one">~<xliff:g id="NUMBER_1">%d</xliff:g> ማሳወቂያዎች በቀን</item>
@@ -3477,6 +3557,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"እንደሁኔታው ተስማሚ ማሳወቂያዎች"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"ምንም"</string>
     <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="3119843404577399036">"<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>
@@ -3538,8 +3619,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"ተከናውኗል"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"አስፈላጊነት"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"ብርሃን አብለጭለጭ"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"ንዘር"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"ንዝረት"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"ድምፅ"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"አስፈላጊ"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"ወደ መነሻ ገጽ ያክሉ"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"ሰርዝ"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"እንደገና ሰይም"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"የመርሐግብር ስም"</string>
@@ -3593,6 +3676,10 @@
       <item quantity="one"><xliff:g id="NUM_PEOPLE">%d</xliff:g> ሌሎች</item>
       <item quantity="other"><xliff:g id="NUM_PEOPLE">%d</xliff:g> ሌሎች</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"ውይይቶች"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"ከሁሉም ውይይቶች"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"ከአስፈላጊ ውይይቶች"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"ምንም ውይይቶችን አትፍቀድ"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"መልዕክቶችን ፍቀድ"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"የተፈቀደላቸው መልዕክቶች ድምጽ እንደሚፈጥሩ እርግጠኛ ለመሆን መሣሪያዎ ወደ መደወል፣ ንዝረት ወይም ጸጥ ያለ ተቀናብሮ እንደሆነ ይመልከቱ።"</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"ለ«<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>» ገቢ መልዕክቶች ይታገዳሉ። የእርስዎ ጓደኛዎች፣ ቤተሰብ ወይም ሌሎች እውቂያዎች እርስዎን ማግኘት እንዲችሉ ቅንብሮችን ማስተካከል ይችላሉ።"</string>
@@ -3606,15 +3693,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"ምንም"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"ማናቸውንም ጥሪዎች አይፍቀዱ"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"ምንም አስተያየቶች አይፍቀዱ"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"ማንቂያዎችን ፍቀድ"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"ማንቂያዎች"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"ከጊዜ ቆጣሪዎች፣ ማንቂያዎች፣ የደህንነት ሥርዓቶች፣ እና ሌሎች መተግበሪያዎች"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"ማንቂያዎች"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"የሚዲያ ድምጾችን አጫውት"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"የማህደረ መረጃ ድምፆች"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"ከቪዲዮዎች፣ ጨዋታዎች እና ሌሎች ማህደረ መረጃዎች"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"ሚዲያ"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"የንክኪ ድምጾችን ፍቀድ"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"ድምፆችን ይንኩ"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"ከቁልፍ ሰሌዳ እና ሌሎች አዝራሮች"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"ድምፆችን ይንኩ"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"አስታዋሾችን ፍቀድ"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"አስታወሾች"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"ከተግባራት እና አስታዋሾች"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"አስታዋሾች"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"ክስተቶችን ፍቀድ"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"ክስተቶች"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"ከመጻኢ የቀን መቁጠሪያ ክስተቶች"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"መተግበሪያዎች እንዲሽሩ ይፍቀዱ"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"የመተግበሪያ ልዩ ሁኔታዎች"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3657,6 +3749,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"በአትረብሽ ጸጥ የተሰኙ ማሳወቂያዎች ማያ ገጹን ያብሩት"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"የማሳወቂያ ቅንብሮች"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"እሺ"</string>
+    <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>
@@ -3667,6 +3760,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"ከመንቀል በፊት ፒን ጠይቅ"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"ከመንቀል በፊት የይለፍ ቃል ጠይቅ"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"ሲነቀል መሣሪያ ቆልፍ"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"የሲም ስረዛን ያረጋግጡ"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"የወረደ ሲም ከመደምሰስዎ በፊት እርስዎ መሆንዎን ያረጋግጡ"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"ይህ የስራ መገለጫ የሚቀናበረው በ፦"</string>
     <string name="managing_admin" msgid="2633920317425356619">"በ<xliff:g id="ADMIN_APP_LABEL">%s</xliff:g> የሚቀናበር"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(የሙከራ)"</string>
@@ -3741,8 +3836,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"ሁሉም መተግበሪያዎች"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"የተጫኑ መተግበሪያዎች"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"ቅጽበታዊ መተግበሪያዎች"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"የግል"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"ስራ"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"መተግበሪያዎች፦ ሁሉም"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"ጠፍተዋል"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"ምድቦች፦ በጣም አስቸኳይ አስፈላጊነት"</string>
@@ -3754,6 +3847,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"ያልታወቀ መተግበሪያ"</string>
     <string name="app_permissions" msgid="8666537659217653626">"የፈቃድ አቀናባሪ"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"<xliff:g id="APPS">%1$s</xliff:g>ን የሚጠቀሙ መተግበሪያዎች"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"<xliff:g id="APPS">%1$s</xliff:g>ን የሚጠቀም መተግበሪያዎች፣ እና ተጨማሪ"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"ለማንቃት መታ ያድርጉ"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"መሣሪያን ለማንቃት በማያ ገጹ ማንኛውም ቦታ ላይ ሁለቴ መታ ያድርጉ"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"አገናኞችን በመክፈት ላይ"</string>
@@ -3765,9 +3859,14 @@
       <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> መተግበሪያዎች የሚደገፉ አገናኞችን በመክፈት ላይ</item>
       <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> መተግበሪያዎች የሚደገፉ አገናኞችን በመክፈት ላይ</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"በዚህ መተግበሪያ ውስጥ ክፈት"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"መተግበሪያ የማይደገፉ አገናኞችን እንዲከፍት ይፍቀዱ"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"ሁልጊዜ ጊዜ ጠይቅ"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"በዚህ መተግበሪያ ውስጥ አትክፈት"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"መተግበሪያ አገናኞችን እንዲከፍት አይፍቀዱ"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="one">መተግበሪያ <xliff:g id="COUNT_1">%d</xliff:g> አገናኞችን እንደሚይዝ ይገልጻል</item>
+      <item quantity="other">መተግበሪያ <xliff:g id="COUNT_1">%d</xliff:g> አገናኞችን እንደሚይዝ ይገልጻል</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"መተግበሪያ የሚከተሉትን አገናኞች እንደሚይዝ ይገልጻል፦"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"ነባሪ"</string>
     <string name="default_for_work" msgid="537558180548617528">"ለሥራ ነባሪ"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"እገዛ እና ድምጽ ግቤት"</string>
@@ -3911,8 +4010,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"በሌሎች መተግበሪያዎች ላይ አሳይ"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"በሌሎች መተግበሪያዎች ላይ ማሳየትን ፍቀድ"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"ይህ መተግበሪያ እየተጠቀሙ ባሉ ሌሎች መተግበሪያዎች ላይ እንዲያሳይ ይፍቀዱለት። በእነዚያ መተግበሪያዎች አጠቃቀምዎ ላይ ጣልቃ ሊገባ፣ ወይም መልካቸውን ወይም ባህሪያቸው ሊቀይር ይችላል።"</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"የሁሉም ፋይሎች መዳረሻ"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"ሁሉንም ፋይሎች ለማስተዳደር መዳረሻ ፍቀድ"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"ይህ መተግበሪያ በዚህ መሣሪያ ላይ ወይም በማናቸውም የተገናኙ የማከማቻ መጠኖች ላይ ሁሉንም ፋይሎች እንዲያነብ፣ እንዲያሻሽል እና እንዲሰርዝ ይፍቀዱ። ፈቃድ ከተሰጠ፣ መተግበሪያ ያለ የእርስዎ ግልጽ የሆነ ዕውቀት ፋይሎችን መድረስ ይችላል።"</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"ሁሉንም ፋይሎች መድረስ ይችላል"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"ምናባዊ ዕውነታ አዳማጭ ስቲሪዮ አጋዥ አገልግሎት"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"ሥርዓት ማንቂያ መስኮት መገናኛ ማሳያ በሌሎች መተግበሪያዎች ላይ አሳይ"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"በሌሎች መተግበሪያዎች ላይ አሳይ"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"<xliff:g id="COUNT_0">%1$d</xliff:g> ከ<xliff:g id="COUNT_1">%2$d</xliff:g> መተግበሪያዎች በሌሎች መተግበሪያዎች ላይ እንዲያሳዩ ተፈቅዶላቸዋል"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"ፍቃድ ያላቸው መተግበሪያዎች"</string>
@@ -4078,6 +4180,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"<xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g> ጥቅም ላይ ውሏል"</string>
     <string name="data_overusage" msgid="3680477320458707259">"ከ<xliff:g id="ID_1">^1</xliff:g> በላይ"</string>
     <string name="data_remaining" msgid="6316251496381922837">"<xliff:g id="ID_1">^1</xliff:g> ቀርቷል"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"በ<xliff:g id="START_DATE">%1$s</xliff:g> እና <xliff:g id="END_DATE">%2$s</xliff:g> መካከል ያለ የውሂብ አጠቃቀምን የሚያሳይ ግራፍ።"</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"በዚህ የጊዜ ክልል ውስጥ ውሂብ የለም"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="one">%d ቀኖች ቀርተዋል</item>
       <item quantity="other">%d ቀኖች ቀርተዋል</item>
@@ -4141,14 +4245,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"የእሽግ መጠን"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"ማሳወቂያ ማስጠንቀቂያ ተሰጥቷል"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"ድምጽ"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"ንዘር"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"ሥርዓተ ጥለት"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"ነባሪ"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"ሰርጥ"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"ምንም"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"ደረጃ ያለው ነገር ይጎድላል።"</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"ደረጃ ያለው ነገር ይህን ቁልፍ አይዝም።"</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"ገጽታ በማዘጋጀት ላይ"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"የመሣሪያ ነባሪ"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"የማሳያ ቅርጽ"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"የማሳያ ቅርጽ፣ ስርጉድ"</string>
@@ -4237,8 +4337,12 @@
     <string name="information_label" msgid="6939310810756569298">"መረጃ"</string>
     <string name="low_label" msgid="6525629096999711220">"ዝቅተኛ"</string>
     <string name="high_label" msgid="357503396626018487">"ከፍተኛ"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"ከፍ ያለ ትብነት በማያ ገጹ ጠርዞች ላይ ከማንኛውም የመተግበሪያ ጣት ምልክት ጋር ሊጋጭ ይችላል።"</string>
+    <string name="left_edge" msgid="1513576842959071849">"የግራ ጠርዝ"</string>
+    <string name="right_edge" msgid="1505309103265829121">"የቀኝ ጠርዝ"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"ከፍ ያለ ትብነት በማያ ገጹ ጠርዞች ላይ ከማንኛውም የመተግበሪያ ጣት ምልክት ጋር ሊጋጭ ይችላል።"</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"የጀርባ ትብነት"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"የእጅ ምልክት ቅንብሮች"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"የእጅ ምልክት ዳሰሳ፣ የመመለስ ስሜታዊነት፣ የመመለስ ምልክት"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"ስልኩን ለመመልከት ሁለቴ መታ ያድርጉ"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"ጡባዊውን ለመመልከት ሁለቴ መታ ያድርጉ"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"መሣሪያውን ለመመልከት ሁለቴ መታ ያድርጉ"</string>
@@ -4393,7 +4497,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"የቀስቃሴ አገልግሎት አቅራቢ አቅርቦት"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"አትረብሽን አዘምን"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"ትኩረት እንደሰጡ ለመቆየት ማሳወቂያዎችን ባሉበት አቁም"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"ይህ ባህሪ በዚህ መሣሪያ ላይ አይገኝም"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"ባህሪ አይገኝም"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"የእርስዎን ስልክ ፍጥነት ስለሚቀንስ ይህ ባህሪ ጠፍቷል"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"ሙሉ የGNSS መለኪያዎች አስገድድ"</string>
@@ -4403,20 +4506,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"በANGLE የነቃ መተግበሪያ ይምረጡ"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"ምንም በANGLE የነቃ መተግበሪያ አልተቀናበረም"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"በANGLE የነቃ መተግበሪያ፦ <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"የጨዋታ አንጻፊ ምርጫዎች"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"የጨዋታ አንጻፊ ቅንብሮችን አሻሽል"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"የጨዋታ አንጻፊ በሚበራበት ጊዜ በመሣሪያው ላይ ለተጫኑ መተግበሪያዎች የተዘመነውን የግራፊክስ አንጻፊ ለመጠቀም መምረጥ ይችላሉ።"</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"ለሁሉም መተግበሪያዎች አንቃ"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"የግራፊክስ አንጻፊ ይምረጡ"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"ነባሪ"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"የጨዋታ አንጻፊ"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"የቅድመ-ልቀት ነጂ"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"የሥርዓት ግራፊክስ አንጻፊ"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"የግራፊክስ ነጂ ምርጫዎች"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"የግራፊክስ ነጂ ቅንብሮችን ይቀይሩ"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"በርካታ የግራፊክስ ነጂዎች ሲኖሩ በመሣሪያው ላይ ሲጫኑ ለመተግበሪያዎች የተዘመነው የግራፊክስ ነጂውን ለመጠቀም መምረጥ ይችላሉ።"</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"ለሁሉም መተግበሪያዎች አንቃ"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"የግራፊክስ ነጂ ይምረጡ"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"ነባሪ"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"የጨዋታ ነጂ"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"የገንቢ ነጂ"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"የሥርዓት ግራፊክስ ነጂ"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"የመተግበሪያ ተኳኋኝነት ለውጦች"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"የመተግበሪያ ተኳኋኝነት ለውጦችን ይቀያይሩ"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"ነባሪ የነቁ ለውጦች"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"ነባሪ የተሰናከሉ ለውጦች"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"ቅንብር በዚህ ስልክ ላይ አይደገፍም"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"ቅንብር በዚህ ጡባዊ ላይ አይደገፍም"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"በዚህ መሣሪያ ላይ መልሶ ማጫወት አይደገፍም"</string>
@@ -4435,6 +4544,12 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"መሣሪያ"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"በጥሪዎች ጊዜ አይገኝም"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"አይገኝም"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"ውጽዓቶችን ያክሉ"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"ቡድን"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 መሣሪያ ተመርጧል"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> መሣሪያዎች ተመርጠዋል"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"ጥሪው ባዶ እጅ ይነሳ"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"ይህን ኤፒኤን ሊለወጥ አይችልም።"</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"የጡባዊ ባትሪ ህይወትን ያሻሽሉ"</string>
@@ -4552,10 +4667,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"አንድ ብቻ የወረደ ሲም በአንድ ጊዜ ገባሪ ሊሆን ይችላል።\n\nወደ <xliff:g id="CARRIER1">%1$s</xliff:g> መቀየር የእርስዎን <xliff:g id="CARRIER2">%2$s</xliff:g> አገልግሎት አይሰርዘውም።"</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"ወደ <xliff:g id="CARRIER">%1$s</xliff:g> ቀይር"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"ሲምን ደምስስ"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"ይህ የወረደ ሲም ይደምሰስ?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"ይህን ሲም መደምሰስ <xliff:g id="CARRIER_0">%1$s</xliff:g> አገግሎትን ከዚህ መሣሪያ ላይ ያስወግደዋል።\n\nለ <xliff:g id="CARRIER_1">%2$s</xliff:g> የሚሆኑ አገልግሎቶች አይሰረዙም።"</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"ደምስስ"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"ሲም በመሰረዝ ላይ…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"ሲምን ማስወገድ አይቻልም"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"ይኼ ሲም በስህተት ምክንያት ሊደመሰስ አይችልም።\n\nየእርስዎን መሣሪያ ዳግም ያስጀምሩ እና እንደገና ይሞክሩ።"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"የሚመረጠው የአውታረ መረብ አይነት"</string>
@@ -4580,7 +4691,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"ልክ ያልሆነ አውታረ መረብ ሁነታ <xliff:g id="NETWORKMODEID">%1$d</xliff:g>። ችላ በል።"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"የመዳረሻ ነጥብ ስም"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"ከ<xliff:g id="CARRIER">%1$s</xliff:g> ጋር ሲገናኝ የማይገኝ"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"የሕክምና መረጃ፣ የድንገተኛ እውቂያዎች"</string>
     <string name="see_more" msgid="7499355691042812723">"ተጨማሪ ይመልከቱ"</string>
     <string name="see_less" msgid="2642392725363552793">"ያነሰ ይመልከቱ"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"ከ<xliff:g id="APPNAME">%1$s</xliff:g> ጋር የሚጠቀሙበት መሣሪያ"</string>
@@ -4589,11 +4699,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"የሆነ ነገር መጥቷል። መተግበሪያው መሣሪያን የመምረጥ ጥያቄውን ሰርዞታል።"</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"ግንኙነት ተሳክቷል"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"ሁሉንም አሳይ"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> መሣሪያዎች ተገናኝተዋል</item>
-      <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> መሣሪያዎች ተገናኝተዋል</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"ምንም የብሉቱዝ መሣሪያዎች የሉም"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"መሣሪያ በመፈለግ ላይ…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"ወደ መሣሪያ በማገናኘት ላይ…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"ግራ"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"ቀኝ"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"መያዣ"</string>
@@ -4603,6 +4710,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"በአይሮፕላን ሁነታ ወቅት የማይገኝ"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"የዴስክቶፕ ሁነታን አስገድድ"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"በሁለተኛ ማሳያዎች ላይ የሙከራ ዴስክቶፕ ሁነታን አስገድድ"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"ነጻ ቅርጽ በመጠድን ተኳኝን አንቃ"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"በመጠን ተኳዃኝ የሆኑ መተግበሪያዎችን በነጻ ቅርጽ እንዲሆኑ ይፈቅዳል"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"አስገዳጅ ጨለማን ሻር"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"አስገዳጅ ጨለማ ባህሪን ሁልጊዜ እንዲበራ የተቀመጠውን ደንብ ይሽራል"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"ግላዊነት"</string>
@@ -4639,6 +4748,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"እርስዎ በቅርቡ ይህን መተግበሪያ ጭነዋል።"</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"ውጽዓትን ቀይር"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"በአሁኑ ጊዜ በ<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ላይ በመጫወት ያለ"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (ግንኙነት ተቋርጧል)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"መቀየር አይቻልም። እንደገና ለመሞከር መታ ያድርጉ።"</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"አስፈላጊ መረጃ"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"ቀጥል"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"አይ አመሰግናለሁ"</string>
@@ -4666,8 +4777,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"የሲም ጥምረት"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"የእርስዎ የስራ መመሪያ መረጃ"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"በአይቲ አስተዳዳሪዎ የሚቀናበሩ ቅንብሮች"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"ጂፒዩ"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"የሳንካ ሪፖርት ተቆጣጣሪ"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"በእርስዎ መሣሪያ ላይ የሳንካ ሪፖርት አቋራጭን የትኛው መተግበሪያ እንደሚቆጣጠር ይወስናል።"</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"የግል"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"ሥራ"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"የሥርዓት ነባሪ"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"ይህ ምርጫ ከአሁን በኋላ የሚሠራ አይደለም። እንደገና ይሞክሩ።"</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"Cast ማድረግ አቁም"</string>
 </resources>
diff --git a/res/values-ar/arrays.xml b/res/values-ar/arrays.xml
index f6e693f..c5bdaef 100644
--- a/res/values-ar/arrays.xml
+++ b/res/values-ar/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"فورًا"</item>
     <item msgid="463591454172790676">"٥ ثوانٍ"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"عدم التحقق"</item>
+    <item msgid="5703177653586269306">"طلب حالة الشهادة"</item>
+    <item msgid="326388247868439528">"يتم طلب حالة الشهادة."</item>
+    <item msgid="1090956283885790552">"يتم طلب جميع حالات الشهادات غير الموثوقة."</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"زر الدفع"</item>
     <item msgid="2630618799033509548">"رقم تعريف شخصي من جهاز نظير"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"بدون"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"‏شبكة افتراضية خاصة (VPN) لـ IPSec مزودة بمفاتيح مشتركة مسبقًا ومصادقة Xauth"</item>
     <item msgid="2484564813864139237">"‏شبكة افتراضية خاصة (VPN) لـ IPSec مزودة بشهادات ومصادقة Xauth"</item>
     <item msgid="68918911194507915">"‏شبكة افتراضية خاصة (VPN) لـ IPSec مزودة بشهادات ومصادقة مختلطة"</item>
+    <item msgid="4631647675167100375">"‏شبكة افتراضية خاصة (VPN) باستخدام بروتوكول IKEv2/IPSec وشهادات ومصادقة اسم المستخدم/كلمة المرور"</item>
+    <item msgid="8812228622975052811">"‏شبكة افتراضية خاصة (VPN) باستخدام بروتوكول IKEv2/IPSec ومفاتيح مشتركة مسبقًا"</item>
+    <item msgid="6630554779981113046">"‏شبكة افتراضية خاصة (VPN) باستخدام بروتوكول IKEv2/IPSec وشهادات"</item>
   </string-array>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"بدون خادم وكيل"</item>
diff --git a/res/values-ar/config.xml b/res/values-ar/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-ar/config.xml
+++ b/res/values-ar/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index 0ac0e9d..18a8804 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -35,49 +35,17 @@
     <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="radio_info_data_connection_enable" msgid="7500945447906187613">"تفعيل اتصال البيانات"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"إيقاف اتصال البيانات"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"‏خاضع لإدارة حسابات VoLTE"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"مكالمات الفيديو متوفِّرة"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"‏اتصال Wifi متوفِّر"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"‏توفير EAB/وجوده مسبقًا"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"‏بيانات CBRS"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"‏تفعيل DSDS"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"هل تريد إعادة تشغيل الجهاز؟"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"يجب إعادة تشغيل جهازك لتغيير هذا الإعداد."</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"إعادة تشغيل"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"إلغاء"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"طاقة راديو الجوال"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"‏عرض دفتر عناوين SIM"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"عرض أرقام الاتصال الثابت"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"عرض أرقام اتصال الخدمة"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"حالة خدمة الرسائل الفورية"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"حالة الرسائل الفورية"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"مسجل"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"غير مسجل"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"متاح"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"غير متاح"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"‏تسجيل الرسائل الفورية: <xliff:g id="STATUS">%1$s</xliff:g>\nالصوت عبر LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nالصوت عبر WiFi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nمكالمات الفيديو: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nواجهةUT: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"قيد الخدمة"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"خارج نطاق الخدمة"</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>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"متوقف"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"الرنين"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"الاتصال قيد التقدم"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"غير متصل"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"جارٍ الاتصال"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"متصل"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"معلق"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"غير معروف"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"الحزم"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"بايت"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"بالديسيبل"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"‏إلغاء تثبيت وحدة تخزين USB"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"‏إلغاء تثبيت بطاقة SD"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"‏محو وحدة تخزين USB"</string>
@@ -87,7 +55,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"يمكنك تصغير النص الظاهر على الشاشة أو تكبيره."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"تصغير"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"تكبير"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"نموذج نص"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"ساحر أوز العجيب"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"الفصل ۱۱: مدينة أوز الزمردية العجيبة"</string>
@@ -178,9 +145,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"يجب إعادة تشغيل جهازك لتغيير هذا الإعداد."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"إعادة تشغيل"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"إلغاء"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"أجهزة الوسائط المتوفرة"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"أجهزة الاتصال المتاحة"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"الأجهزة المتصلة حاليًا"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"أجهزة الوسائط"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"أجهزة الاتصال"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"أجهزة أخرى"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"الأجهزة المحفوظة"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"سيتم تفعيل بلوتوث للإقران"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"إعدادات الاتصال المفضّلة"</string>
@@ -213,46 +180,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"المنفذ الذي كتبته غير صالح."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"‏يستخدم المتصفح الخادم الوكيل HTTP، ولكنه ربما لا تستخدمه التطبيقات الأخرى."</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"‏عنوان URL لتهيئة PAC: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"المعرّف الفرعي الحالي:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"‏المعرّف الفرعي لشريحة SIM التلقائية للبيانات:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"‏معدّل نقل بيانات DL (كيلوبت في الثانية):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"‏معدّل نقل بيانات UL (كيلوبت في الثانية):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"معلومات الموقع الخلوية (تم الإيقاف):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"‏تهيئة قناة LTE Physical:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"معدل إعادة تحميل المعلومات الخلوية:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"جميع معلومات القياس الخلوية:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"خدمة البيانات:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"تجوال:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"إعادة توجيه الاتصال:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"‏عدد مرات إعادة ضبط PPP منذ التشغيل:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"الشبكة الحالية:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"البيانات المستلمة:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"الخدمة الصوتية:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"قوة الإشارة:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"حالة المكالمة الصوتية:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"البيانات المرسلة:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"انتظار الرسائل:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"رقم الهاتف:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"تحديد النطاق اللاسلكي"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"نوع الشبكة الصوتية:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"نوع شبكة البيانات:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"اختيار فهرس الهاتف"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"تعيين نوع الشبكة المفضل:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"‏فحص اتصال اسم المضيف (www.google.com) عبر IPv4:"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"‏فحص اتصال اسم المضيف (www.google.com) عبر IPv6:"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"‏اختبار عميل HTTP:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"‏تشغيل اختبار Ping"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"تحديث"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"إعادة تحميل"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"تبديل فحص نظام أسماء النطاقات"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"‏المعلومات/الإعدادات الخاصة بـ OEM"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"تحديد وضع النطاق اللاسلكي"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"جارٍ تحميل قائمة النطاقات…"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"تعيين"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"غير ناجح"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"تم بنجاح"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"‏تدخل التغييرات حيز التنفيذ عند إعادة توصيل كابل USB."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"‏تفعيل تخزين USB كبير السعة"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"إجمالي وحدات البايت:"</string>
@@ -293,10 +224,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"نقل إلى الأسفل"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"إزالة اللغة"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"اختيار نشاط"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"معلومات الجهاز"</string>
     <string name="display_label" msgid="3056320781191343221">"شاشة العرض"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"معلومات الجهاز اللوحي"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"معلومات الهاتف"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"‏وحدة تخزين USB"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"‏بطاقة SD"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"إعدادات الخادم الوكيل"</string>
@@ -314,9 +242,6 @@
     <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 والبلوتوث ووضع الطائرة وشبكات الجوّال والشبكات الافتراضية الخاصة (VPN)"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"بيانات الجوّال"</string>
-    <string name="calls_title" msgid="6334813967619899114">"السماح بالمكالمات"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"‏الرسائل القصيرة SMS"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"السماح باستخدام البيانات عبر شبكة الجوال"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"السماح باستخدام بيانات التجوال"</string>
     <string name="roaming" msgid="3055365654530847985">"التجوال"</string>
@@ -324,9 +249,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"الاتصال بخدمات البيانات عند التجوال"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"لقد فقدت اتصال البيانات نظرًا لأنك أوقفت تفعيل تجوال البيانات بشبكتك الرئيسية."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"تشغيل"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"قد يكلف ذلك رسومًا مرتفعة."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"عند السماح بتجوال البيانات، قد تتكلف رسوم تجوال مرتفعة!\n\nيؤثر هذا الإعداد على جميع مستخدمي هذا الجهاز اللوحي."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"عند السماح بتجوال البيانات، قد تتكلف رسوم تجوال مرتفعة!\n\nيؤثر هذا الإعداد على جميع مستخدمي هذا الهاتف."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"قد تسري رسوم تجوال."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"عند السماح بتجوال البيانات، قد تسري رسوم تجوال.\n\nيؤثر هذا الإعداد على جميع مستخدمي هذا الجهاز اللوحي."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"عند السماح بتجوال البيانات، قد تسري رسوم تجوال.\n\nيؤثر هذا الإعداد على جميع مستخدمي هذا الهاتف."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"السماح بتجوال البيانات؟"</string>
     <string name="networks" msgid="5184501333492775095">"تحديد المشغل"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"اختيار مشغل شبكة"</string>
@@ -367,8 +292,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"تم إيقاف الإعداد بواسطة المشرف"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"عرض خيار التأمين"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"‏عرض خيار زر التشغيل الذي يوقِف Smart Lock، وفتح القفل باستخدام البيانات الحيوية، والإشعارات على شاشة التأمين"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"بإمكان الوكلاء المعتمَدين تمديد فتح القفل فقط"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"في حال تفعيل هذه الميزة، سيُبقي الوكلاء المعتمَدون الجهاز مفتوحًا لوقت أطول، إلا أنّهم لن يتمكنوا بعد ذلك من فتح جهاز تمّ قفله."</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"قفل الشاشة عند فقدان الثقة"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"في حال تفعيل الميزة، سيتم قفل الجهاز عندما يفقد الوكيل المعتمد الأخير الثقة."</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"بدون"</string>
@@ -402,7 +325,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"‏تعيين موقعي، فتح قفل الشاشة، تأمين شريحة SIM، تأمين تخزين الاعتماد"</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"تعيين موقعي، فتح قفل الشاشة، تأمين تخزين الاعتماد"</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"الخصوصية"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"تم إيقاف الإعداد بواسطة المشرف"</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>
@@ -725,7 +648,6 @@
       <item quantity="other">يجب ألا يزيد رقم التعريف الشخصي عن <xliff:g id="NUMBER_1">%d</xliff:g> رقم.</item>
       <item quantity="one">يجب ألا يزيد رقم التعريف الشخصي عن رقم واحد (<xliff:g id="NUMBER_0">%d</xliff:g>).</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"يجب أن يحتوي رقم التعريف الشخصي على أرقام من ۰–٩ فقط."</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"لا يسمح مشرف الجهاز باستخدام رقم تعريف شخصي تم استخدامه مؤخرًا"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"حظرَ مشرف تكنولوجيا المعلومات استخدام أرقام التعريف الشخصية الشائعة. جرِّب استخدام رقم تعريف شخصي مختلف."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"لا يجب أن تتضمن كلمة المرور حرفًا غير صالح."</string>
@@ -780,6 +702,14 @@
       <item quantity="other">يجب أن تحتوي كلمة المرور على <xliff:g id="COUNT">%d</xliff:g> حرف ليس من الأحرف الأبجدية على الأقل</item>
       <item quantity="one">يجب أن تحتوي كلمة المرور على حرف واحد ليس من الأحرف الأبجدية على الأقل</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="zero">يجب أن تحتوي كلمة المرور على <xliff:g id="COUNT">%d</xliff:g> حرف أبجدي على الأقل.</item>
+      <item quantity="two">يجب أن تحتوي كلمة المرور على حرفين (<xliff:g id="COUNT">%d</xliff:g>) أبجديين على الأقل.</item>
+      <item quantity="few">يجب أن تحتوي كلمة المرور على <xliff:g id="COUNT">%d</xliff:g> أحرف أبجدية على الأقل.</item>
+      <item quantity="many">يجب أن تحتوي كلمة المرور على <xliff:g id="COUNT">%d</xliff:g> حرفًا أبجديًا على الأقل.</item>
+      <item quantity="other">يجب أن تحتوي كلمة المرور على <xliff:g id="COUNT">%d</xliff:g> حرف أبجدي على الأقل.</item>
+      <item quantity="one">يجب أن تحتوي كلمة المرور على حرف أبجدي واحد على الأقل.</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"لا يسمح مشرف الجهاز باستخدام كلمة مرور تم استخدامها مؤخرًا"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"حظرَ مشرف تكنولوجيا المعلومات استخدام كلمات المرور الشائعة. جرِّب استخدام كلمة مرور مختلفة."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"غير مسموح باستخدام الترتيب التصاعدي أو التنازلي أو المكرر للأرقام"</string>
@@ -901,19 +831,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"٢٫٤ غيغاهرتز"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"٥ غيغاهرتز"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"تسجيل الدخول"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"فتح الموقع الإلكتروني"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"يتبقى <xliff:g id="REMAINING_TIME">%1$s</xliff:g>."</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"تنتهي الصلاحية في <xliff:g id="EXPIRY_TIME">%1$s</xliff:g>."</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"انقر هنا لتسجيل الدخول إلى الشبكة."</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> ميغابت في الثانية"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> ميغابت في الثانية"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> ميغابت في الثانية"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"‏يريد <xliff:g id="REQUESTER">%s</xliff:g> تفعيل Wi-Fi"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"‏يريد <xliff:g id="REQUESTER">%s</xliff:g> إيقاف Wi-Fi"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"تحقُّق من رمز بايت لتطبيقات يمكن تصحيحها"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"‏تمكين ART من التحقُّق من رمز البايت للتطبيقات القابلة للتصحيح"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"إظهار معدّل إعادة التحميل"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"إظهار معدّل إعادة التحميل الحالي للشاشة"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"‏الاتصالات قصيرة المدى (NFC)"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"السماح بتبادل البيانات عندما يلمس الجهاز اللوحي جهازًا آخر"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"السماح بتبادل البيانات عندما يلمس الهاتف جهازًا آخر"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"‏السماح بتبادل البيانات عند لمس الجهاز اللوحي لجهاز من خلال تقنية \"الاتصال قصير المدى\" (NFC)"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"‏السماح بتبادل البيانات عند لمس الهاتف لجهاز من خلال تقنية \"الاتصال قصير المدى\" (NFC)"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"‏تفعيل NFC"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"‏يتم من خلال تقنية الاتصال بالحقل القريب (NFC) تبادل البيانات بين هذا الجهاز والأجهزة أو الأهداف المجاورة الأخرى، مثل محطات الدفع وبرامج قراءة الوصول والعلامات أو الإعلانات التفاعلية."</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"‏تأمين الاتصال بالحقل القريب (NFC)"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"‏يجب فتح قفل الجهاز لاستخدام تقنية الاتصال القصير المدى (NFC)"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"‏السماح باستخدام \"الدفع والتقل عبر تقنية NFC\" فقط عندما تكون الشاشة مفتوحة"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"‏شعاع Android"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"‏جاهز لنقل محتوى التطبيق عبر الاتصالات قصيرة المدى (NFC)"</string>
@@ -987,8 +923,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"تفعيل"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"‏ميزة \"البحث عن شبكات Wi‑Fi\" مفعّلة"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"الخيارات المتقدمة"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"الخيارات المتقدمة للقائمة المنسدلة. انقر مرّتين للتصغير."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"الخيارات المتقدمة للقائمة المنسدلة. انقر مرّتين للتوسيع."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"القائمة المنسدلة \"الخيارات المتقدمة\""</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"توسيع"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"اسم الشبكة"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"‏يُرجى إدخال اسم SSID"</string>
     <string name="wifi_security" msgid="9095934643631406913">"الأمان"</string>
@@ -998,6 +934,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"الحالة"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"سرعة نقل الرابط"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"سرعة تلقّي الرابط"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"سرعة الربط"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"التردد"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"‏عنوان IP"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"تم الحفظ عبر"</string>
@@ -1005,6 +942,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"‏طريقة EAP"</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>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"شهادة المستخدم"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"الهوية"</string>
@@ -1021,6 +959,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"‏اختر نطاقًا واحدًا على الأقل لنقطة اتصال Wi‑Fi:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"‏إعدادات IP"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"الخصوصية"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"الاشتراك"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"عرض الاشتراك أو تغييره"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"‏عنوان MAC العشوائي"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"إضافة جهاز"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"توسيط رمز الاستجابة السريعة أدناه لإضافة الجهاز إلى \"<xliff:g id="SSID">%1$s</xliff:g>\""</string>
@@ -1030,12 +970,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"‏مشاركة اتصال Wi‑Fi"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"يمكنك مسح رمز الاستجابة السريعة هذا ضوئيًا للاتصال بشبكة \"<xliff:g id="SSID">%1$s</xliff:g>\" ومشاركة كلمة المرور."</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"يمكنك مسح رمز الاستجابة السريعة ضوئيًا للاتصال بشبكة \"<xliff:g id="SSID">%1$s</xliff:g>\""</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"تعذَّرت قراءة رمز الاستجابة السريعة. يُرجى إعادة توسيط الرمز والمحاولة مرة أخرى."</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"يُرجى إعادة المحاولة. وإذا استمرّت المشكلة، عليك الاتصال بالشركة المصنِّعة للجهاز."</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"حدث خطأ."</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"تأكَّد من أنه تمّ توصيل الجهاز وشحنه وتشغيله."</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"تأكَّد من أنه تمّ توصيل الجهاز وشحنه وتشغيله. وإذا استمرّت المشكلة، عليك الاتصال بالشركة المصنِّعة للجهاز."</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"لا يتيح هذا الجهاز إضافة \"<xliff:g id="SSID">%1$s</xliff:g>\"."</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"‏حاوِل نقل الجهاز ليقترب من جهاز توجيه/نقطة وصول شبكة Wi-Fi."</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"تحقَّق من كلمة المرور وأعِد المحاولة."</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"يمكنك التواصل مع الشركة المصنّعة للجهاز."</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"يُرجى التحقّق من الاتصال والمحاولة مرة أخرى."</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"اختيار شبكة"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"للاتصال بجهازك، اختَر شبكة."</string>
@@ -1048,11 +990,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"‏جارٍ مشاركة Wi‑Fi مع هذا الجهاز…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"جارٍ الاتصال…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"مشاركة نقطة الاتصال"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"التحقق من هويتك"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"إثبات هويتك"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"‏كلمة مرور Wi-Fi هي:  <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"كلمة مرور نقطة الاتصال: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"اتصال تلقائي"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"السماح للهاتف بالاتصال بالإنترنت تلقائيًا بالقرب من هذه الشبكة"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"السماح للجهاز اللوحي بالاتصال بالإنترنت تلقائيًا بالقرب من هذه الشبكة"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"إضافة جهاز"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"استخدِم رمز استجابة سريعة لإضافة جهاز إلى هذه الشبكة."</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"تنسيق رمز الاستجابة السريعة غير صالح."</string>
     <string name="retry" msgid="7542103800274026915">"إعادة المحاولة"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"المشاركة مع مستخدمي الجهاز الآخرين"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(لم يتم التغيير)"</string>
@@ -1064,6 +1010,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"لم يتم تحديد أي شهادات. لن يكون اتصالك خاصًا."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"اسم الشبكة طويل جدًا."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"يجب تحديد نطاق."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"يجب تقديم شهادة."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"‏WPS متاح"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" ‏ (WPS متاح)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"‏شبكة Wi‑Fi لمشغِّل شبكة الجوّال"</string>
@@ -1127,7 +1074,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"‏إعدادات Wi-Fi المتقدمة"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"‏عنوان Mac"</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_ip_address_title" msgid="4265355419782184514">"‏عنوان IP"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"تفاصيل الشبكة"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"قناع الشبكة الفرعية"</string>
@@ -1179,7 +1127,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"‏يمكنك استخدام نقطة اتصال لإنشاء شبكة Wi‑Fi لأجهزتك الأخرى. حيث توفِّر نقطة الاتصال إمكانية الاتصال بالإنترنت باستخدام اتصال بيانات الجوّال. وقد يتم فرض رسوم إضافية على بيانات الجوّال."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"يمكن للتطبيقات إنشاء نقطة اتصال لمشاركة المحتوى مع الأجهزة المجاورة."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"إيقاف نقطة الاتصال تلقائيًا"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"‏سيتم إيقاف نقطة اتصال Wi‑Fi في حال عدم اتصال أي أجهزة."</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"عندما لا يكون هناك أي أجهزة متصلة"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"جارٍ تفعيل نقطة الاتصال…"</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"جارٍ إيقاف نقطة الاتصال…"</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> نشطة"</string>
@@ -1188,6 +1136,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"‏إعداد نقطة اتصال Wi‑Fi"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"‏نقطة اتصال AndroidAP WPA2 PSK"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"AndroidHotspot"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"هل تريد حفظ هذه الشبكة؟"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"يريد التطبيق <xliff:g id="APPNAME">%1$s</xliff:g> حفظ شبكة على هاتفك."</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"يريد تطبيق <xliff:g id="APPNAME">%1$s</xliff:g> حفظ شبكة على جهازك اللوحي."</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"جارٍ حفظ الشبكة…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"تم حفظ الشبكة."</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"لا يمكن حفظ الشبكة. يُرجى إعادة المحاولة."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"هل تريد حفظ الشبكات؟"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"يريد التطبيق <xliff:g id="APPNAME">%1$s</xliff:g> حفظ هذه الشبكات على هاتفك."</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"يريد تطبيق <xliff:g id="APPNAME">%1$s</xliff:g> حفظ هذه الشبكات على جهازك اللوحي."</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"جارٍ حفظ <xliff:g id="NUMBER">%d</xliff:g> شبكة…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"تم حفظ الشبكات"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"‏الاتصال عبر Wi-Fi"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"‏تمديد وقت المكالمات باستخدام Wi-Fi"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"‏تفعيل الاتصال عبر Wi-Fi لتوسيع نطاق التغطية"</string>
@@ -1214,16 +1173,18 @@
     <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"><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>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"‏تفعيل الاتصال عبر Wi‑Fi"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"‏تفعيل الاتصال عبر Wi-Fi"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"‏لا يوفّر مشغِّل شبكة الجوّال %1$s ميزة \"الاتصال عبر Wi-Fi\""</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"تم قطع الاتصال بشبكة <xliff:g id="SSID">%1$s</xliff:g>."</string>
     <string name="carrier" msgid="1755020806290963951">"مشغّل شبكة جوّال"</string>
     <string name="display_settings_title" msgid="626835071804834218">"العرض"</string>
     <string name="sound_settings" msgid="5514582720435174014">"الصوت"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"مستويات الصوت"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"تأثيرات موسيقية"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"مستوى صوت الرنين"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"مستوى صوت الرنين والإشعار"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"اهتزاز عند تفعيل الوضع صامت"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"الصوت التلقائي للإشعارات"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"نغمة الرنين"</string>
@@ -1348,13 +1309,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"جدولة"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"مطلقًا"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"التفعيل من غروب الشمس حتى شروقها"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"تفعيل الإعداد في وقت مخصّص"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"الحالة"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"غير مفعَّل / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"لن يتم مطلقًا تفعيل الوضع تلقائيًا."</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"سيتم تفعيل الوضع تلقائيًا عند غروب الشمس"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"سيتم تفعيل الإعداد تلقائيًا في <xliff:g id="ID_1">%1$s</xliff:g>."</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"مفعَّل / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"لن يتم مطلقًا إيقاف الوضع تلقائيًا."</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"سيتم إيقاف الوضع تلقائيًا عند شروق الشمس"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"سيتم إيقاف الإعداد تلقائيًا في <xliff:g id="ID_1">%1$s</xliff:g>."</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"تفعيل الميزة حتى <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"إيقاف الميزة حتى <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"يستخدم \"التصميم الداكن\" خلفية سوداء لتوفير طاقة البطارية والحفاظ عليها لفترة أطول في بعض الشاشات. لا يتم تفعيل الجداول الزمنية لعمل \"التصميم الداكن\" إلا بعد قفل الشاشة."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"مهلة غلق الشاشة"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"إيقاف الشاشة"</string>
@@ -1366,7 +1332,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"تغيير الخلفية"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"تخصيص شاشتك"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"اختيار خلفية من"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"‏تخصيص هاتف Pixel"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"تخصيص الهاتف"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"يمكنك تجربة أنماط وخلفيات مختلفة، والمزيد."</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"شاشة التوقف"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"أثناء الشحن أو الإرساء"</string>
@@ -1459,6 +1425,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"‏إلغاء تثبيت وحدة تخزين USB، وعرض مساحة التخزين المتاحة"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"‏إلغاء تثبيت بطاقة SD، عرض مساحة التخزين المتاحة"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"‏IMEI (المنفذ %1$d لشريحة SIM)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"‏لعرض عنوان MAC، اختَر شبكة محفوظة."</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"‏MDN (رقم دليل الجوال)"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"رقم الهاتف"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"‏MDN (المنفذ %1$d لشريحة SIM)"</string>
@@ -1485,6 +1452,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"التجوال"</string>
     <string name="status_operator" msgid="4335640583552058491">"الشبكة"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"‏عنوان MAC لشبكة Wi-Fi"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"‏عنوان MAC للجهاز على شبكة Wi‑Fi"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"عنوان البلوتوث"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"الرقم التسلسلي"</string>
     <string name="status_up_time" msgid="1274778533719495438">"وقت التشغيل"</string>
@@ -1697,6 +1665,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"‏اكتملت إعادة ضبط إعدادات APN التلقائية."</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"خيارات إعادة الضبط"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"يمكن إعادة ضبط الشبكة أو التطبيقات أو الجهاز"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"يمكن إعادة ضبط التطبيقات."</string>
     <string name="reset_network_title" msgid="1395494440355807616">"‏إعادة ضبط شبكة Wi-Fi والجوّال والبلوتوث"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"‏سيؤدي هذا إلى إعادة ضبط كل إعدادات الشبكة، بما فيها:\n\n"<li>"شبكة Wi‑Fi"</li>\n<li>"بيانات الجوّال"</li>\n<li>"البلوتوث"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"‏محو بيانات شرائح SIM التي تم تنزيلها"</string>
@@ -1746,6 +1715,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"تم تفعيل نقطة الاتصال"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"تم تفعيل إعداد التوصيل"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"يتعذر توصيل نقاط الاتصال المحمولة أو استخدامها أثناء تفعيل توفير البيانات"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"نقطة الاتصال فقط"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"‏USB فقط"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"البلوتوث فقط"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"‏نقطة الاتصال، USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"نقطة الاتصال، البلوتوث"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"‏USB، البلوتوث"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"‏نقطة الاتصال، USB، البلوتوث"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"عدم مشاركة الإنترنت مع الأجهزة الأخرى"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"التوصيل"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"‏عدم استخدام نقطة اتصال Wi‑Fi"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"‏مشاركة اتصال الإنترنت من خلال USB فقط"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"مشاركة اتصال الإنترنت من خلال البلوتوث فقط"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"‏مشاركة اتصال الإنترنت من خلال USB والبلوتوث فقط"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"‏التوصيل عبر USB"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"‏مشاركة اتصال الإنترنت على الهاتف عبر USB"</string>
@@ -1840,9 +1822,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"معلومات الأمان"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"‏ليس لديك اتصال بيانات. لعرض هذه المعلومات الآن، انتقل إلى %s من أي كمبيوتر متصل بالإنترنت."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"جارٍ التحميل…"</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"استخدام رقم التعريف الشخصي"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"استخدام النقش"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"استخدام كلمة المرور"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"ضبط قفل الشاشة"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"لتعزيز أمان الجهاز، يجب تحديد كلمة مرور"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"لاستخدام بصمة الإصبع، يُرجى إعداد كلمة مرور"</string>
@@ -1851,8 +1830,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"لاستخدام بصمة الإصبع، يُرجى إعداد رقم تعريف شخصي"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"لتعزيز أمان الجهاز، يجب تحديد نقش"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"أعِد إدخال كلمة المرور"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"أدخِل كلمة مرور العمل"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"تأكيد نقشك"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"أدخِل نقش العمل"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"أعِد إدخال رقم التعريف الشخصي"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"أدخِل رقم التعريف الشخصي للعمل"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"كلمات المرور غير متطابقة"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"أرقام التعريف الشخصي غير متطابقة"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"ارسم النقش مرة أخرى"</string>
@@ -1863,6 +1845,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"لاستخدام فتح القفل بالوجه، حدد كلمة مرور"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"لاستخدام \"فتح القفل بالوجه\"، حدّد نقشًا."</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"‏لاستخدام فتح القفل بالوجه، حدّد رقم PIN."</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"هل نسيت كلمة المرور؟"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"هل نسيت النقش؟"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"هل نسيت رقم التعريف الشخصي؟"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"استخدم النقش الذي حددته على جهازك للمتابعة."</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"أدخل رقم التعريف الشخصي للجهاز للمتابعة."</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"أدخل كلمة مرور الجهاز للمتابعة."</string>
@@ -1930,6 +1915,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"السماح بكل مصادر التطبيقات"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"التطبيقات التي تم فتحها مؤخرًا"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"عرض كل التطبيقات البالغ عددها <xliff:g id="COUNT">%1$d</xliff:g>"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"تواصَل مع مشرف تكنولوجيا معلومات."</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"يمكن أن يساعدك مشرف تكنولوجيا المعلومات في إعادة ضبط رقم التعريف الشخصي أو النقش أو كلمة المرور."</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"جهازك اللوحي والبيانات الشخصية عُرضة لهجمات أكثر من قِبل تطبيقات غير معروفة. يعني تثبيت التطبيقات من هذا المصدر أنك توافق على تحملك المسؤولية عن أي ضرر يحدث لجهازك اللوحي أو أي فقد للبيانات ينتج عن استخدامها."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"هاتفك والبيانات الشخصية عُرضة للهجمات من قِبل تطبيقات غير معروفة. يعني تثبيت التطبيقات من هذا المصدر أنك توافق على تحملك المسؤولية عن أي ضرر يحدث لهاتفك أو أي فقد للبيانات ينتج عن استخدامها."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"تزداد احتمالات تعرّض جهازك وبيانات الشخصية لهجمات أكثر عن طريق تطبيقات غير معروفة. ويعني تثبيت التطبيقات من هذا المصدر أنك توافق على تحملك المسؤولية عن أي ضرر يحدث لجهازك أو أي فقد للبيانات ينتج عن استخدامها."</string>
@@ -1985,7 +1972,7 @@
     <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="1377296810290814749">"سيؤدي هذا إلى إعادة ضبط كل الإعدادات المفضّلة لما يلي:\n\n "<li>"التطبيقات غير المفعّلة"</li>\n" "<li>"إشعارات التطبيقات غير المفعّلة"</li>\n" "<li>"التطبيقات التلقائية للإجراءات"</li>\n" "<li>"القيود على البيانات الخلفية للتطبيقات"</li>\n" "<li>"القيود على الأذونات"</li>\n\n"لن تفقد أي بيانات للتطبيقات."</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>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"إعادة ضبط التطبيقات"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"إدارة المساحة"</string>
     <string name="filter" msgid="9039576690686251462">"تصفية"</string>
@@ -2185,7 +2172,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"الصوت والنص على الشاشة"</string>
     <string name="display_category_title" msgid="6638191682294461408">"العرض"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"عناصر التحكم في التفاعل"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"الخدمات التي تم تنزيلها"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"التطبيقات التي تم تنزيلها"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"إعدادات تجريبية"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"عناصر التحكّم في الميزات"</string>
     <string name="talkback_title" msgid="8756080454514251327">"Talkback"</string>
@@ -2193,27 +2180,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"يمكنك النقر على بيانات على شاشتك لتتم قراءتها بصوت عالٍ"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"الإعدادات المفضّلة للترجمة"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"التكبير"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"منطقة التكبير"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"Magnification enable"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"اختَر مناطق التكبير التي تريد استخدامها عند تكبير الشاشة."</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"ملء الشاشة"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"جزء من الشاشة"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"ملء الشاشة أو جزء من الشاشة"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"تكبير الشاشة بالكامل"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"تكبير جزء من الشاشة"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"إعدادات التكبير"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"التكبير بالنقر ثلاث مرّات"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"التكبير باستخدام الاختصار"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"التكبير باستخدام الزر والنقر الثلاثي"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"لمحة عن <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"الخيارات"</string>
     <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="2831926970059739911"><b>"للتكبير أو التصغير"</b>"، انقر على الشاشة 3 مرات بسرعة.\n"<ul><li>"اسحب بإصبعين أو أكثر للتمرير"</li>\n<li>"اضغط بإصبعين أو أكثر على الشاشة لضبط التكبير/التصغير"</li></ul>\n\n<b>"للتكبير أو التصغير مؤقتًا"</b>"، انقر على الشاشة 3 مرات بسرعة واستمر بالضغط بإصبعك بعد النقرة الثالثة.\n"<ul><li>"اسحب للتنقل على الشاشة"</li>\n<li>"ارفع إصبعك للتصغير"</li></ul>\n\n"لا يمكنك استخدام التكبير عند استخدام لوحة المفاتيح وشريط التنقل."</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"عند تفعيل ميزة التكبير، يمكنك تكبير حجم المحتوى على الشاشة.\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_screen_magnification_summary" msgid="7617931632990040045">"‏يمكنك تكبير المحتوى بسرعة على الشاشة لرؤيته بشكل أكثر وضوحًا.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;لتكبير المحتوى، نفِّذ الخطوات التالية:&lt;/b&gt;&lt;br/&gt;	1. استخدِم الاختصار لبدء تكبير المحتوى&lt;br/&gt;	2. انقر على الشاشة&lt;br/&gt;	3. اسحب إصبعين للتنقّل على الشاشة&lt;br/&gt;	4. باعِد أو قارِب بين إصبعيك لتعديل مستوى التكبير/التصغير&lt;br/&gt;	5. استخدِم الاختصار لإيقاف تكبير المحتوى&lt;br/&gt;&lt;br/&gt;&lt;b&gt;لتكبير المحتوى مؤقتًا، نفِّذ الخطوات التالية:&lt;/b&gt;&lt;br/&gt;	1. استخدِم الاختصار لبدء تكبير المحتوى&lt;br/&gt;	2. انقر مع الاستمرار على أي مكان على الشاشة&lt;br/&gt;	3. اسحب إصبعًا للتنقّل على الشاشة&lt;br/&gt;	4. ارفع إصبعك لإيقاف تكبير المحتوى"</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"عند تفعيل ميزة \"التكبير\"، يمكنك تكبير حجم المحتوى على الشاشة.\n\n"<b>"للتكبير"</b>"، يمكنك تفعيل ميزة \"التكبير\" والنقر بعد ذلك على أي مكان في الشاشة.\n"<ul><li>"يمكنك سحب إصبعين أو أكثر للتمرير."</li>\n<li>"يمكنك ضمّ إصبعين أو أكثر لتعديل حجم المحتوى."</li></ul>\n\n<b>"للتكبير مؤقتًا"</b>"، يمكنك تفعيل ميزة التكبير والنقر مع الاستمرار على أي مكان في الشاشة.\n"<ul><li>"يمكنك السحب للتنقّل داخل الشاشة."</li>\n<li>"يمكنك رفع إصبعك للتصغير."</li></ul>\n\n"لن يكون بإمكانك التكبير على لوحة المفاتيح أو شريط التنقل."</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"استخدام زر \"سهولة الاستخدام\" في الفتح"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"الفتح بحركة واحدة"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"استخدام إيماءة \"سهولة الاستخدام\" الجديدة"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"لتفعيل هذه الخدمة أو إيقافها، يمكنك النقر على زر \"سهولة الاستخدام\" <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> في أسفل الشاشة.\n\nوللتبديل بين الخدمات، يمكنك النقر مع الاستمرار على زر \"سهولة الاستخدام\"."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"لتفعيل هذه الخدمة أو إيقافها، يمكنك التمرير سريعًا من أسفل الشاشة إلى أعلاها باستخدام إصبعين.\n\nوللتبديل بين الخدمات، يمكنك التمرير سريعًا للأعلى باستخدام إصبعين ثمّ تثبيتهما."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"لتفعيل هذه الخدمة أو إيقافها، يمكنك التمرير سريعًا من أسفل الشاشة إلى أعلاها باستخدام ثلاثة أصابع.\n\nوللتبديل بين الخدمات، يمكنك التمرير سريعًا للأعلى باستخدام ثلاثة أصابع مع تثبيت الأصابع."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"لتفعيل خدمة \"سهولة الاستخدام\" أو إيقافها، يمكنك التمرير سريعًا من أسفل الشاشة إلى أعلاها باستخدام إصبعين.\n\nوللتبديل بين الخدمات، يمكنك التمرير سريعًا إلى الأعلى بإصبعين ثمّ تثبيتهما."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"لتفعيل خدمة \"سهولة الاستخدام\" أو إيقافها، يمكنك التمرير سريعًا من أسفل الشاشة إلى أعلاها باستخدام ثلاثة أصابع.\n\nوللتبديل بين الخدمات، يمكنك التمرير سريعًا إلى الأعلى بثلاثة أصابع مع تثبيتها."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"لتفعيل هذه الخدمة أو إيقافها، انقر على زر أدوات تمكين الوصول <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> في أسفل الشاشة.\n\nوللتبديل بين الخدمات، المس مع الاستمرار زر أدوات تمكين الوصول."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"لتفعيل هذه الخدمة أو إيقافها، يمكنك التمرير سريعًا من أسفل الشاشة إلى أعلاها بإصبعين.\n\nوللتبديل بين الخدمات، يمكنك التمرير سريعًا للأعلى بإصبعين ثمّ تثبيتهما."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"لتفعيل هذه الخدمة أو إيقافها، يمكنك التمرير سريعًا من أسفل الشاشة إلى أعلاها بثلاثة أصابع.\n\nوللتبديل بين الخدمات، يمكنك التمرير سريعًا إلى الأعلى بثلاثة أصابع ثم تثبيتها."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"لتفعيل خدمة \"سهولة الاستخدام\" أو إيقافها، يمكنك التمرير سريعًا من أسفل الشاشة إلى أعلاها بإصبعين.\n\nوللتبديل بين الخدمات، يمكنك التمرير سريعًا إلى الأعلى بإصبعين ثم تثبيتهما."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"لتفعيل خدمة \"سهولة الاستخدام\" أو إيقافها، يمكنك التمرير سريعًا من أسفل الشاشة إلى أعلاها بثلاثة أصابع.\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="2820923641553461297">"زر أدوات تمكين الوصول"</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>
+    <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8922102767509399352">"انقر على زر أدوات تمكين الوصول <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> في أسفل الشاشة."</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"مرّر سريعًا إلى الأعلى من أسفل الشاشة بإصبعين."</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"مرّر سريعًا إلى الأعلى من أسفل الشاشة بثلاثة أصابع."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"الضغط مع الاستمرار على مفاتيح التحكم في مستوى الصوت"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"اضغط مع الاستمرار على مفتاحَي التحكّم في مستوى الصوت لمدة ثانية واحدة."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"النقر ثلاث مرات على الشاشة"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"انقر على الشاشة 3 مرات بسرعة. يمكن أن يؤدي استخدام هذا الاختصار إلى إبطاء الجهاز."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"خيارات متقدمة"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"تم ضبط زر \"سهولة الاستخدام\" لخدمة <xliff:g id="SERVICE">%1$s</xliff:g>. لاستخدام التكبير، المس زر \"سهولة الاستخدام\" مع الاستمرار ثم اختَر التكبير."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"تم ضبط إيماءة تمكين الوصول على <xliff:g id="SERVICE">%1$s</xliff:g>. للتكبير، مرّر سريعًا من أسفل الشاشة إلى أعلاها باستخدام إصبعين مع تثبيتهما. ثم اختَر التكبير."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"مفتاح الاختصار لمستوى الصوت"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"خدمة الاختصار"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"إعدادات الاختصارات"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"السماح من شاشة التأمين"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"عندما يكون مفتاح الاختصار قيد التفعيل، يمكنك الضغط على مفتاحي مستوى الصوت لمدة 3 ثوانٍ لبدء تفعيل إحدى ميزات \"سهولة الاستخدام\"."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"نص ذو درجة تباين عالية"</string>
@@ -2237,24 +2249,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"اختَر مدة عرض الرسائل التي تطلب منك اتخاذ إجراء، ولكن يقتصر عرضها على فترة مؤقتة.\n\nلا تتوافق بعض التطبيقات مع هذا الإعداد."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"مهلة النقر مع الاستمرار"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"عكس اللون"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"قد يؤثر في الأداء"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"فترة الثبات"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"استخدام قلب الألوان"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"‏يؤدي خيار \"قلب الألوان\" إلى تحويل الشاشات المضيئة إلى شاشات معتمة. يساعد ذلك من يعانون من الحساسية ضد الإضاءة الساطعة على رؤية الشاشة بشكلٍ أسهل.&lt;br/&gt;&lt;br/&gt;ملاحظة: سيتم تحويل الألوان الداكنة إلى ألوان فاتحة. ستتغيّر الألوان في الوسائط والصور. يمكنك أيضًا استخدام \"المظهر الداكن\" (الإعدادات والعرض)."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"النقر التلقائي (فترة الثبات)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"إذا كنت تستخدم ماوس، يمكنك ضبط المؤشر بحيث يتم تلقائيًا اتخاذ الإجراء المطلوب عند توقف المؤشّر عن الحركة لمدة زمنية معينة."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"مهلة قبل النقر"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"عدم استخدام نقر تلقائي (افتراضي)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"قصيرة"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0.2 ثانية"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"متوسطة"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0.6 ثوانٍ"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"طويلة"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"ثانية واحدة"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"مخصّص"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"أقصر"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"أطول"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"وقت النقر التلقائي"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"الاهتزاز وقوة اللمس"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"الاهتزاز عند تلقّي إشعارات"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"الاهتزاز عند الرنين"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"الاهتزاز عند لمس الشاشة"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"استخدام الخدمة"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"استخدام <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"فتح <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"استخدام تصحيح الألوان"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"استخدام الترجمة"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"عرض الشرح"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"مظهر الشرح"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"حجم النص وشكل الشرح"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"خيارات أكثر"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"لا تتيح بعض التطبيقات هذا الإعداد."</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>
     <string name="accessibility_hearingaid_instruction_continue_button" msgid="3367260988024430722">"متابعة"</string>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"سماعات الأذن الطبية"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"لم يتم توصيل سماعات أذن طبية"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"إضافة سمّاعات الأذن الطبية"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"لإقران سماعات الأذن الطبية، ابحث عن جهازك ثم انقر عليه في الشاشة التالية."</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"تأكد من أن سماعات الأذن الطبية في وضع الإقران."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"لإقران سماعات الأذن الطبية، ابحث عن جهازك ثم انقر عليه في الشاشة التالية. احرص على أن تكون سماعات الأذن الطبية في وضع الإقران."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> مفعَّل"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="zero">تم حفظ <xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> سماعة أذن طبية</item>
@@ -2270,45 +2300,59 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"هذه الخدمة مُعطَّلة."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"إظهار في الإعدادات السريعة"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"وضع التصحيح"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="zero">مهلة قصيرة للغاية (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> مللي ثانية)</item>
-      <item quantity="two">مهلة قصيرة للغاية (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> مللي ثانية)</item>
-      <item quantity="few">مهلة قصيرة للغاية (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> مللي ثانية)</item>
-      <item quantity="many">مهلة قصيرة للغاية (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> مللي ثانية)</item>
-      <item quantity="other">مهلة قصيرة للغاية (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> مللي ثانية)</item>
-      <item quantity="one">مهلة قصيرة للغاية (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> مللي ثانية)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"الأحمر والأخضر"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"الأخضر والأحمر"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"الأزرق والأصفر"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"شذوذ إبصار الأخضر والأحمر"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"غطش الأحمر"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"غمش الأزرق"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="zero">مهلة قصيرة جدًا (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ثانية)</item>
+      <item quantity="two">مهلة قصيرة جدًا (ثانيتان (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g>))</item>
+      <item quantity="few">مهلة قصيرة جدًا (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ثوانٍ)</item>
+      <item quantity="many">مهلة قصيرة جدًا (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ثانية)</item>
+      <item quantity="other">مهلة قصيرة جدًا (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ثانية)</item>
+      <item quantity="one">مهلة قصيرة جدًا (ثانية واحدة (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g>))</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="zero">مهلة قصيرة جدًا (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> مللي ثانية)</item>
-      <item quantity="two">مهلة قصيرة جدًا (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> مللي ثانية)</item>
-      <item quantity="few">مهلة قصيرة جدًا (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> مللي ثانية)</item>
-      <item quantity="many">مهلة قصيرة جدًا (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> مللي ثانية)</item>
-      <item quantity="other">مهلة قصيرة جدًا (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> مللي ثانية)</item>
-      <item quantity="one">مهلة قصيرة جدًا (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> مللي ثانية)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="zero">مهلة قصيرة جدًا (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ثانية)</item>
+      <item quantity="two">مهلة قصيرة جدًا (ثانيتان (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g>))</item>
+      <item quantity="few">مهلة قصيرة جدًا (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ثوانٍ)</item>
+      <item quantity="many">مهلة قصيرة جدًا (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ثانية)</item>
+      <item quantity="other">مهلة قصيرة جدًا (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ثانية)</item>
+      <item quantity="one">مهلة قصيرة جدًا (ثانية واحدة (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g>))</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="zero">مهلة قصيرة (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> مللي ثانية)</item>
-      <item quantity="two">مهلة قصيرة (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> مللي ثانية)</item>
-      <item quantity="few">مهلة قصيرة (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> مللي ثانية)</item>
-      <item quantity="many">مهلة قصيرة (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> مللي ثانية)</item>
-      <item quantity="other">مهلة قصيرة (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> مللي ثانية)</item>
-      <item quantity="one">مهلة قصيرة (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> مللي ثانية)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="zero">مهلة قصيرة (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ثانية)</item>
+      <item quantity="two">مهلة قصيرة (ثانيتان (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g>))</item>
+      <item quantity="few">مهلة قصيرة (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ثوانٍ)</item>
+      <item quantity="many">مهلة قصيرة (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ثانية)</item>
+      <item quantity="other">مهلة قصيرة (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ثانية)</item>
+      <item quantity="one">مهلة قصيرة (ثانية واحدة (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g>))</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="zero">مهلة طويلة (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> مللي ثانية)</item>
-      <item quantity="two">مهلة طويلة (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> مللي ثانية)</item>
-      <item quantity="few">مهلة طويلة (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> مللي ثانية)</item>
-      <item quantity="many">مهلة طويلة (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> مللي ثانية)</item>
-      <item quantity="other">مهلة طويلة (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> مللي ثانية)</item>
-      <item quantity="one">مهلة طويلة (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> مللي ثانية)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="zero">مهلة طويلة (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ثانية)</item>
+      <item quantity="two">مهلة طويلة (ثانيتان (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g>))</item>
+      <item quantity="few">مهلة طويلة (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ثوانٍ)</item>
+      <item quantity="many">مهلة طويلة (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ثانية)</item>
+      <item quantity="other">مهلة طويلة (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ثانية)</item>
+      <item quantity="one">مهلة طويلة (ثانية واحدة (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g>))</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="zero">مهلة طويلة جدًا (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> مللي ثانية)</item>
-      <item quantity="two">مهلة طويلة جدًا (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> مللي ثانية)</item>
-      <item quantity="few">مهلة طويلة جدًا (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> مللي ثانية)</item>
-      <item quantity="many">مهلة طويلة جدًا (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> مللي ثانية)</item>
-      <item quantity="other">مهلة طويلة جدًا (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> مللي ثانية)</item>
-      <item quantity="one">مهلة طويلة جدًا (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> مللي ثانية)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="zero">مهلة طويلة جدًا (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ثانية)</item>
+      <item quantity="two">مهلة طويلة جدًا (ثانيتان (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g>))</item>
+      <item quantity="few">مهلة طويلة جدًا (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ثوانٍ)</item>
+      <item quantity="many">مهلة طويلة جدًا (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ثانية)</item>
+      <item quantity="other">مهلة طويلة جدًا (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ثانية)</item>
+      <item quantity="one">مهلة طويلة جدًا (ثانية واحدة (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g>))</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="zero"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ثانية</item>
+      <item quantity="two">ثانيتان (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g>)</item>
+      <item quantity="few"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ثوانٍ</item>
+      <item quantity="many"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ثانية</item>
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ثانية</item>
+      <item quantity="one">ثانية واحدة (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g>)</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"الرنين <xliff:g id="SUMMARY_RING">%1$s</xliff:g>، الإشعار <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>، اللمس <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"تم ضبط الرنين والإشعار على \"غير مفعّل\"."</string>
@@ -2661,7 +2705,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"أثناء آخر فترة من عدم التوصيل بـ <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"إجمالي الاستخدام"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"إعادة تحميل"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"‏نظام التشغيل Android"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"خادم الوسائط"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"تحسين التطبيقات"</string>
     <string name="battery_saver" msgid="7737147344510595864">"توفير شحن البطارية"</string>
@@ -2742,8 +2785,7 @@
     <string name="tts_play" msgid="2945513377250757221">"تشغيل"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"الشبكات الافتراضية الخاصة"</string>
     <string name="credentials_title" msgid="7535942196886123656">"تخزين بيانات الاعتماد"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"التثبيت من وحدة تخزين"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"‏التثبيت من بطاقة SD"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"تثبيت شهادة"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"تثبيت الشهادات من وحدة تخزين"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"‏تثبيت الشهادات من بطاقة SD"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"محو بيانات الاعتماد"</string>
@@ -2763,6 +2805,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"تم مسح تخزين بيانات الاعتماد."</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"تعذر محو وحدة تخزين بيانات الاعتماد."</string>
     <string name="usage_access_title" msgid="1580006124578134850">"تطبيقات مع بيانات الاستخدام"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"‏شهادة CA"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"‏شهادة مستخدم التطبيق وVPN"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"‏شهادة شبكة Wi‑Fi"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"خصوصيتك معرَّضة للخطر"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"‏المواقع الإلكترونية والتطبيقات والشبكات الافتراضية الخاصة (VPN) تستخدِم شهادات CA للترميز. لا تثبِّت شهادات CA إلا من المؤسسات التي تثق فيها. \n\n إذا ثبَّت شهادة CA، يمكن لمالك الشهادة الوصول إلى معلوماتك، مثلاً كلمات المرور أو الرسائل أو تفاصيل بطاقة الائتمان من المواقع الإلكترونية التي زرتها أو التطبيقات التي تستخدمها حتى إذا تم ترميز هذه المعلومات."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"عدم التثبيت"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"التثبيت على أي حال"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"لم يتم تثبيت الشهادة."</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"إشارة اتصال الطوارئ"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"تعيين السلوك عند إجراء اتصال بالطوارئ"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"الاحتفاظ بنسخة احتياطية"</string>
@@ -2790,10 +2840,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"إيقاف وإلغاء التثبيت"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"تطبيقات مشرف الجهاز"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"لا تتوفر تطبيقات لمشرف الجهاز"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"شخصي"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"العمل"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"تقييد الوصول إلى الرسائل القصيرة وسجلّ المكالمات"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"منح أذونات الوصول إلى الرسائل القصيرة وسجلّ المكالمات لتطبيقات الرسائل والهاتف التلقائية فقط"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"ليس هناك وكلاء معتمدون متاحون"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"هل تريد تفعيل تطبيق مشرف الجهاز؟"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"تفعيل تطبيق مشرف الجهاز هذا"</string>
@@ -2807,6 +2853,18 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"تم إيقاف الخيارات الأخرى بواسطة المشرف"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"مزيد من التفاصيل"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"سجل الإشعارات"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"سجلّ الإشعارات"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"اليوم"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"المؤجلة"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"التي تم تجاهلها مؤخرًا"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="zero"><xliff:g id="NUMBER_1">%d</xliff:g> إشعار</item>
+      <item quantity="two">إشعاران (<xliff:g id="NUMBER_1">%d</xliff:g>)</item>
+      <item quantity="few"><xliff:g id="NUMBER_1">%d</xliff:g> إشعارات</item>
+      <item quantity="many"><xliff:g id="NUMBER_1">%d</xliff:g> إشعارًا</item>
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> إشعار</item>
+      <item quantity="one">إشعار واحد (<xliff:g id="NUMBER_0">%d</xliff:g>)</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"نغمة الرنين والاهتزاز عند الاتصال"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"تفاصيل الشبكة"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"تم تفعيل المزامنة"</string>
@@ -3172,7 +3230,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"القيود"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"إزالة القيود"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"‏تغيير رمز PIN"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"إظهار الإشعارات"</string>
     <string name="help_label" msgid="2896538416436125883">"المساعدة والتعليقات"</string>
     <string name="support_summary" msgid="1034146931237148885">"مقالات المساعدة والاتصال الهاتفي والمحادثة والبدء"</string>
     <string name="user_account_title" msgid="6389636876210834864">"حساب المحتوى"</string>
@@ -3197,6 +3254,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"‏الاتصال في وضع 4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"‏استخدام خدمات LTE لتحسين الصوت والاتصالات الأخرى (مستحسن)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"‏استخدام خدمات 4G لتحسين الصوت والاتصالات الأخرى (مُستحسَن)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"التعرّف على جهة الاتصال التي تدعم الميزات"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"يسمح هذا الإعداد لمشغّل شبكة الجوّال بالتعرّف على ميزات الاتصال التي تدعمها جهات الاتصال."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"هل تريد تفعيل التعرّف على جهة الاتصال؟"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"سيسمح تفعيل هذه الميزة لمشغّل شبكة الجوّال بالوصول إلى أرقام الهواتف في جهات اتصالك ليتعرّف على ميزات الاتصال التي تدعمها جهات الاتصال."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"نوع الشبكة المفضّل"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"‏LTE (مستحسن)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"رسائل الوسائط المتعددة"</string>
@@ -3241,7 +3302,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"الاتصال باستخدام"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"‏تحديد شريحة SIM"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"‏شريحة SIM <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"‏شريحة SIM فارغة"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"‏اسم شريحة SIM"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"‏إدخال اسم SIM"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"‏%1$d لمنفذ SIM"</string>
@@ -3251,6 +3311,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"‏تحديد شريحة SIM"</string>
     <string name="color_orange" msgid="216547825489739010">"برتقالي"</string>
     <string name="color_purple" msgid="6603701972079904843">"أرجواني"</string>
+    <string name="color_pink" msgid="8596872110888626708">"قرنفلي"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"‏لم يتم إدراج بطاقات SIM"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"‏وضع شريحة SIM"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"‏حالة شريحة SIM (المنفذ %1$d لشريحة SIM)"</string>
@@ -3264,7 +3325,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> ديسبل ميلي واط <xliff:g id="ASU">%2$d</xliff:g> وحدة إشارة واحدة"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"‏تم تغيير بطاقات SIM."</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"انقر للإعداد."</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"‏شريحة SIM المفضلة لـ"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"طرح السؤال كل مرة"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"يلزم التحديد"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"‏اختيار شريحة SIM"</string>
@@ -3286,6 +3346,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"بلوتوث، وضع القيادة"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"‏بلوتوث وNFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"بلوتوث"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"‏الإعدادات غير متاحة بسبب إيقاف تقنية الاتصال القصير المدى (NFC)."</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"التطبيقات والإشعارات"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"أحدث التطبيقات، التطبيقات التلقائية"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"لا تتوفر إمكانية الدخول إلى الإشعارات للتطبيقات في الملف الشخصي للعمل."</string>
@@ -3296,13 +3357,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"الإعدادات"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"‏لاسلكي، wi-fi، اتصال شبكة، إنترنت، لاسلكي، بيانات، واي فاي"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"‏إشعار Wi-Fi، إشعار wifi"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"استخدام البيانات"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"وقف الاهتزاز، نقر، لوحة مفاتيح"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"استخدام تنسيق 24 ساعة"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"تنزيل"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"فتح باستخدام"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"التطبيقات"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"المنطقة الزمنية"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"رأس قائمة تطبيقات المحادثة"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"عنوان المحادثة، نظام، تنبيه، نافذة، مربع حوار، عرض، في مقدمة التطبيقات الأخرى، رسم"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"مصباح يدوي، ضوء، فلاش"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"‏wifi، wi-fi، تبديل، التحكم"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"‏خلوي، جوّال، مشغل شبكة جوال، لاسلكي، بيانات، جيل رابع، جيل ثالث، جيل ثاني، lte"</string>
@@ -3326,7 +3388,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"ممنوع الإزعاج، ممنوع، المقاطعة، مقاطعة"</string>
     <string name="keywords_app" msgid="7983814237980258061">"ذاكرة الوصول العشوائي"</string>
     <string name="keywords_location" msgid="8016374808099706213">"‏الأجهزة المجاورة، الموقع الجغرافي، السجلّ، إعداد التقارير، نظام تحديد المواقع العالمي (GPS)"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"الحساب"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"حساب، إضافة إلى حساب، الملف الشخصي للعمل، إضافة إلى الحساب"</string>
     <string name="keywords_users" msgid="3497517660077620843">"تقييد، يقيد، مقيد"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"تصحيح نص، تصحيح، صوت، اهتزاز، تلقائي، لغة، إيماءة، اقتراح، يقترح، مظهر، مسيء، كلمة، نوع، رمز تعبيري، دولي"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"إعادة ضبط، إعدادات مفضّلة، تلقائي"</string>
@@ -3364,6 +3426,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"ذاكرة، تخزين مؤقت، بيانات، حذف، محو، فارغة، مساحة"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"متصل، جهاز، سماعات رأس، سماعة، مكبر صوت، لاسلكي، إقران، سمّاعات أذن، موسيقى، وسائط"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"خلفية، شاشة، شاشة تأمين، موضوع"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"شكل الرمز، لون التمييز، الخط"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"تلقائي، مساعد"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"دفع، تلقائي"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"إشعار وارد"</string>
@@ -3373,18 +3436,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"أجهزة تعمل باللمس، اهتزاز، حساسية"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"توفير شحن البطارية، ثابت، مستمر، توفير طاقة، بطارية"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"سلسلة إجراءات، جدول زمني، توفير شحن البطارية، توفير الطاقة، بطارية، تلقائي، نسبة مئوية"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"الملف الشخصي للعمل"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"‏خدمة volte، الاتصال المتقدم، اتصال 4g"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"إضافة اللغة، إضافة لغة"</string>
     <string name="default_sound" msgid="6604374495015245195">"الصوت التلقائي"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"مستوى صوت الرنين على <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"تم ضبط مستوى صوت الرنين والإشعار على <xliff:g id="PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"مستوى الصوت والاهتزاز ووضع\"عدم الإزعاج\""</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"تم تعيين الرنين على اهتزاز"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"تم تعيين الرنين على صامت"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"مستوى صوت الرنين على ۸۰٪"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"تم ضبط مستوى صوت الرنين والإشعار على 80%."</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"مستوى صوت الوسائط"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"مستوى صوت الإرسال"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"مستوى صوت المكالمة"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"مستوى صوت المنبّه"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"مستوى صوت الرنين"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"مستوى صوت الرنين والإشعار"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"مستوى صوت الإشعارات"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"نغمة رنين الهاتف"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"الصوت التلقائي للإشعارات"</string>
@@ -3392,6 +3456,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"الصوت التلقائي للإشعارات"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"الصوت التلقائي للمنبّه"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"الاهتزاز مع المكالمات"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"عدم الاهتزاز مطلقًا"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"الاهتزاز دائمًا"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"الاهتزاز أولاً ثم الرنين تدريجيًا"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"أصوات أخرى"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"نغمات لوحة الاتصال"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"أصوات قفل الشاشة"</string>
@@ -3419,6 +3486,7 @@
       <item quantity="one">تم تفعيل قاعدة واحدة.</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"وضع \"عدم الإزعاج\""</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"عدم الحصول على إشعار إلا من المستخدمين المهمين والتطبيقات المهمة"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"الحد من المقاطعات"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"تفعيل وضع \"الرجاء عدم الإزعاج\""</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"الاستثناءات"</string>
@@ -3445,7 +3513,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"حظر الإشعارات المرئية"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"السماح بالإشارات المرئية"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"عند تفعيل إعداد \"عدم الإزعاج\""</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"السماح بالمقاطعات التي تصدر صوتًا"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"تقييد الإشعارات"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"بدون تنبيهات صوتية من الإشعارات"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"سترى الإشعارات على شاشتك"</string>
@@ -3476,7 +3544,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"الصوت والاهتزاز"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"الصوت والاهتزاز وبعض الإشارات المرئية للإشعارات"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"الصوت والاهتزاز والإشارات المرئية للإشعارات"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"لن يتم أبدًا إخفاء الإشعارات اللازمة لأنشطة الهاتف الأساسية وحالته."</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"لن يتم أبدًا إخفاء الإشعارات اللازمة لأنشطة الهاتف الأساسية وحالته."</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"بدون"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"خيارات أخرى"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"إضافة"</string>
@@ -3514,10 +3582,12 @@
       <item quantity="other">يمكن تفعيل <xliff:g id="ON_COUNT">%d</xliff:g> جدول زمني تلقائيًا.</item>
       <item quantity="one">يمكن تفعيل جدول زمني واحد تلقائيًا.</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"كتْم صوت الجهاز مع السماح باستثناءات"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"الاستثناءات"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"الجدول الزمني"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"عرض جميع الاستثناءات"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"الاستثناءات عند تفعيل إعداد \"عدم الإزعاج\""</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"المستخدمون"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"التطبيقات"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"الإنذارات والمقاطعات الأخرى"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"الجداول الزمنية"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"الإشعارات التي تم كتم صوتها"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"عند تفعيل الوضع \"عدم الإزعاج\"، سيتم كتم الصوت ومنع الاهتزاز عند تلقّي أي عناصر باستثناء تلك التي تسمح بها أعلاه."</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"تمّ كتم جميع الأصوات باستثناء"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"تمّ كتم الصوت."</string>
@@ -3561,16 +3631,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"الإشعارات التكيّفية"</string>
     <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_capabilities_actions_replies_title" msgid="4392470465646394289">"الإجراءات والردود المقترَحة"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"عرض الإجراءات والردود المقترحة تلقائيًا"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"فعِّل سجلّ الإشعارات لتتبّع الإشعارات السابقة والإشعارات المؤجلة"</string>
+    <string name="notification_history" msgid="8663811361243456201">"سجلّ الإشعارات"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"تفعيل السجلّ"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"إيقاف السجلّ"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"سجلّ الإشعارات غير مفعّل."</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"عرض إعدادات الإشعارات"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"السماح بتأجيل الإشعارات"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"إخفاء الرموز من الإشعارات الهادئة"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"لا تظهر الرموز من الإشعارات الهادئة في شريط الحالة."</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"السماح بنقاط الإشعارات"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"عرض شريط أحدث الإشعارات"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"الفقاعات التفسيرية"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"قد تظهر بعض الإشعارات في شكل فقاعات تفسيرية على الشاشة."</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"يمكن أن تظهر بعض الإشعارات وأنواع المحتوى الأخرى في شكل فقاعات تفسيرية على الشاشة. لفتح فقاعة تفسيرية، يمكنك النقر عليها. ولإخفائها، يمكنك سحبها لأسفل الشاشة."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"الفقاعات التفسيرية"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"ستظهر الرسائل الجديدة على الشاشة"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"السماح لتطبيق <xliff:g id="APP_NAME">%1$s</xliff:g> بعرض بعض الإشعارات في شكل فقاعات تفسيرية"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"تفعيل الفقاعات التفسيرية"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"لتفعيل الفقاعات التفسيرية في هذا التطبيق، يجب تفعيلها أولاً في جهازك. وهذا يؤثر في التطبيقات الأخرى التي سبق لك تفعيل الفقاعات التفسيرية فيها."</string>
@@ -3588,6 +3668,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"يظهر في خيار منسدِل وعلى شاشة التأمين."</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"يظهر في خيار منسدل وفي شريط الحالة"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"يظهر في خيار منسدل وفي شريط الحالة وفي شاشة التأمين"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"إخفاء الإشعارات الصامتة في شريط الحالة"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"وميض الضوء"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"شاشة القفل"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"تخطي شاشة التأمين"</string>
@@ -3618,6 +3699,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"السُلوك"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"السماح بالصوت"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"عدم عرض الإشعارات"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"المحادثات"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"المحادثة"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"ليست محادثة"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"الإزالة من قسم المحادثات"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"هذه محادثة."</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"إضافة إلى قسم المحادثات"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"إدارة المحادثات"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"المحادثات المهمة"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"كل المحادثات"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"إظهار فقاعات لإشعارات المحادثات المهمة"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"تظهر المحادثات المهمة في أعلى مركز الإشعارات المنسدل. يمكنك أيضًا ضبطها لتظهر كفقاعات وتقاطِع ميزة \"عدم الإزعاج\"."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"إظهار بدون إزعاج مع التصغير"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"عرض بدون تنبيه صوتي"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"إصدار تنبيه صوتي"</string>
@@ -3636,7 +3728,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"يساعدك هذا الإشعار على التركيز بدون صوت أو اهتزاز."</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"يلفت هذا الإشعار انتباهك باستخدام الصوت والاهتزاز."</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"عند فتح قفل الجهاز، تظهر الإشعارات في صور بانر أعلى الشاشة."</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"عرض الإشعارات"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"جميع إشعارات <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"الإشعارات التكيّفية"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="zero"><xliff:g id="NUMBER_1">%d</xliff:g> إشعار تقريبًا في اليوم</item>
@@ -3669,6 +3761,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"الإشعارات التكيّفية"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"بلا"</string>
     <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="3119843404577399036">"سيكون بإمكان \"<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>
@@ -3742,8 +3835,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"تم"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"الأهمية"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"وميض الضوء"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"اهتزاز"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"الاهتزاز"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"صوت"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"محادثة مهمة"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"إضافة إلى الشاشة الرئيسية"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"حذف"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"إعادة التسمية"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"اسم الجدول الزمني"</string>
@@ -3777,7 +3872,7 @@
     <string name="zen_mode_rule_summary_enabled_combination" msgid="1183604368083885789">"تشغيل / <xliff:g id="MODE">%1$s</xliff:g>"</string>
     <string name="zen_mode_rule_summary_provider_combination" msgid="785343032708491365">"<xliff:g id="PACKAGE">%1$s</xliff:g>\n<xliff:g id="SUMMARY">%2$s</xliff:g>"</string>
     <string name="zen_mode_schedule_rule_days" msgid="8633770815307716351">"الأيام"</string>
-    <string name="zen_mode_schedule_rule_days_none" msgid="5636604196262227070">"بدون جدول زمني"</string>
+    <string name="zen_mode_schedule_rule_days_none" msgid="5636604196262227070">"بدون"</string>
     <string name="zen_mode_schedule_rule_days_all" msgid="1583884351893245169">"كل يوم"</string>
     <string name="zen_mode_schedule_alarm_title" msgid="305237266064819345">"يمكن للمنبّه أن يحل محل وقت الانتهاء"</string>
     <string name="zen_mode_schedule_alarm_summary" msgid="9162760856136645133">"إيقاف الجدول الزمني عند رنين المُنبّه"</string>
@@ -3801,6 +3896,10 @@
       <item quantity="other"><xliff:g id="NUM_PEOPLE">%d</xliff:g> شخص آخر</item>
       <item quantity="one">شخص واحد آخر</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"المحادثات"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"من جميع المحادثات"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"من المحادثات المهمة"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"عدم السماح بأي محادثات"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"السماح بالرسائل"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"للتأكُد من إصدار الرسائل المسموح بها لتنبيه صوتي، تحقَّق من ضبط جهازك على الرنين أو الاهتزاز أو الصمت."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"وفقًا للجدول الزمني \"<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>\"، يتم حظر الرسائل الواردة. ويمكنك ضبط الإعدادات للسماح لأصدقائك أو أفراد عائلتك أو جهات الاتصال الأخرى بالتواصل معك."</string>
@@ -3814,15 +3913,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"لا أحد"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"حظر تلقّي أي مكالمات"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"حظر تلقّي أي رسائل"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"السماح بالمنبّهات"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"التنبيهات"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"من الموقتات والإنذارات وأنظمة الأمان والتطبيقات الأخرى"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"المنبِّهات"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"تشغيل أصوات الوسائط"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"أصوات الوسائط"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"من الفيديوهات والألعاب والوسائط الأخرى"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"الوسائط"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"السماح بأصوات اللمس"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"أصوات اللمس"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"من لوحة المفاتيح والأزرار الأخرى"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"أصوات اللمس"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"السماح بالتذكيرات"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"التذكيرات"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"من المهام والتنبيهات"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"التذكيرات"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"السماح بالأحداث"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"الأحداث"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"من أحداث التقويم القادمة"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"السماح للتطبيقات بإلغاء وضع \"عدم الإزعاج\""</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"التطبيقات المُستثناة"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3877,6 +3981,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"السماح للإشعارات التي يتجاهلها وضع \"الرجاء عدم الإزعاج\" بتشغيل الشاشة"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"إعدادات الإشعارات"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"حسنًا"</string>
+    <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>
@@ -3887,6 +3992,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"طلب إدخال رقم التعريف الشخصي قبل إزالة التثبيت"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"المطالبة بكلمة المرور قبل إزالة التثبيت"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"إقفال الجهاز عند إزالة التثبيت"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"‏تأكيد حذف بيانات شريحة SIM"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"‏عليك إثبات هويتك قبل محو بيانات شريحة SIM التي تم تنزيلها."</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"تتم إدارة الملف الشخصي للعمل هذا بواسطة:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"يديرها <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(تجريبي)"</string>
@@ -3977,8 +4084,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"جميع التطبيقات"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"التطبيقات المثبَّتة"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"التطبيقات الفورية"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"شخصي"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"العمل"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"التطبيقات: الكل"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"تطبيقات تم إيقاف إشعاراتها"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"الفئات: أهمية ملحّة"</string>
@@ -3990,6 +4095,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"تطبيق غير معروف"</string>
     <string name="app_permissions" msgid="8666537659217653626">"مدير الأذونات"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"التطبيقات التي تستخدم <xliff:g id="APPS">%1$s</xliff:g>"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"التطبيقات التي تستخدم <xliff:g id="APPS">%1$s</xliff:g> والمزيد"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"انقر للتنبيه من وضع السكون"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"انقر مرّتين على أي مكان بالشاشة لتنبيه الجهاز من وضع السكون"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"فتح الروابط"</string>
@@ -4005,9 +4111,18 @@
       <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> تطبيق يفتح الروابط المتوافقة</item>
       <item quantity="one">تطبيق واحد يفتح الروابط المتوافقة</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"فتح في هذا التطبيق"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"السماح للتطبيق بفتح الروابط المعتمدة"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"طرح السؤال كل مرة"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"عدم الفتح في هذا التطبيق"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"عدم السماح للتطبيق بفتح الروابط"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="zero">يطلب التطبيق معالجة <xliff:g id="COUNT_1">%d</xliff:g> رابط.</item>
+      <item quantity="two">يطلب التطبيق معالجة رابطين (<xliff:g id="COUNT_1">%d</xliff:g>).</item>
+      <item quantity="few">يطلب التطبيق معالجة <xliff:g id="COUNT_1">%d</xliff:g> روابط.</item>
+      <item quantity="many">يطلب التطبيق معالجة <xliff:g id="COUNT_1">%d</xliff:g> رابطًا.</item>
+      <item quantity="other">يطلب التطبيق معالجة <xliff:g id="COUNT_1">%d</xliff:g> رابط.</item>
+      <item quantity="one">يطلب التطبيق معالجة رابط واحد (<xliff:g id="COUNT_0">%d</xliff:g>).</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"يطلب التطبيق معالجة الروابط التالية:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"التطبيقات التلقائية"</string>
     <string name="default_for_work" msgid="537558180548617528">"التطبيقات التلقائية للعمل"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"المساعد والإدخال الصوتي"</string>
@@ -4163,8 +4278,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"إظهار فوق التطبيقات الأخرى"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"السماح بظهور التطبيق فوق التطبيقات الأخرى"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"السماح بعرض واجهة هذا التطبيق فوق تطبيقات أخرى تستخدمها. وقد يتداخل التطبيق مع استخدامك لهذه التطبيقات أو يغيِّر طريقة ظهورها أو عملها."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"الوصول إلى كل الملفات"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"السماح بالوصول إلى كل الملفات لإدارتها"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"يسمح هذا الإعداد لهذا التطبيق بقراءة كل الملفات وتعديلها وحذفها من هذا الجهاز أو أي وحدات تخزين متصلة. في حال تفعيله، يمكن أن يصل التطبيق إلى الملفات بدون إعلامك بذلك."</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"يمكن الوصول إلى كل الملفات"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"خدمة مساعد استريو مستمع الواقع الافتراضي"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"يظهر مربع حوار نافذة تنبيه النظام أمام التطبيقات الأخرى"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"إظهار فوق التطبيقات الأخرى"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"يتم السماح لعدد <xliff:g id="COUNT_0">%1$d</xliff:g> من <xliff:g id="COUNT_1">%2$d</xliff:g> تطبيق بالظهور فوق التطبيقات الأخرى"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"التطبيقات التي تحمل أذونات"</string>
@@ -4350,6 +4468,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"تم استخدام <xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g>"</string>
     <string name="data_overusage" msgid="3680477320458707259">"يزيد عن <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="data_remaining" msgid="6316251496381922837">"يتبقى <xliff:g id="ID_1">^1</xliff:g>"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"رسم بياني يوضح استخدام البيانات بين <xliff:g id="START_DATE">%1$s</xliff:g> و<xliff:g id="END_DATE">%2$s</xliff:g>."</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"لا تتوفر بيانات لهذه المرحلة الزمنية"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="zero">‏يتبقى %d يوم</item>
       <item quantity="two">‏يتبقى يومان (%d)</item>
@@ -4417,14 +4537,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"حجم طرد"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"تمّ تفعيل التنبيه للإشعار."</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"صوت"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"اهتزاز"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"النقش"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"تلقائي"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"قناة"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"بدون"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"ترتيب العناصر مفقود."</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"لا يحتوي ترتيب العناصر على هذا المفتاح."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"التصميم"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"الإعداد التلقائي للجهاز"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"صورة مقطوعة للشاشة"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"جزء مقتطع من الشاشة، قطع علوي"</string>
@@ -4529,8 +4645,12 @@
     <string name="information_label" msgid="6939310810756569298">"معلومات"</string>
     <string name="low_label" msgid="6525629096999711220">"منخفضة"</string>
     <string name="high_label" msgid="357503396626018487">"مرتفعة"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"قد تتعارض الحساسية العالية مع أي إيماءات للتطبيقات على حواف الشاشة."</string>
+    <string name="left_edge" msgid="1513576842959071849">"الحافة اليسرى"</string>
+    <string name="right_edge" msgid="1505309103265829121">"الحافة اليمنى"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"قد تتعارض الحساسية العالية مع أي إيماءات للتطبيقات على حواف الشاشة."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"حساسية الرجوع للخلف"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"إعدادات الإيماءات"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"التنقُّل بالإيماءات، حساسية الرجوع، إيماءة الرجوع"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"النقر مرّتين للاطّلاع على الهاتف"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"انقر مرّتين للاطلاع على الجهاز اللوحي"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"انقر مرّتين للاطلاع على الجهاز"</string>
@@ -4713,7 +4833,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"بدء توفير خدمة مشغل شبكة الجوال"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"تحديث إعداد \"الرجاء عدم الإزعاج\""</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"إيقاف الإشعارات مؤقتًا للحفاظ على التركيز"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"لا تتوفر هذه الميزة على هذا الجهاز"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"الميزة غير متوفرة"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"تم إيقاف هذه الميزة لأنها تبطئ هاتفك."</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"‏فرض كامل لقياسات GNSS"</string>
@@ -4723,20 +4842,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"‏تحديد التطبيق الذي يستخدم ANGLE"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"‏لم يتم تعيين تطبيق لاستخدام ANGLE"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"‏التطبيق الذي يستخدم ANGLE: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"‏إعدادات Game Driver المفضّلة"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"‏تعديل إعدادات Game Driver"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"‏عند تفعيل Game Driver، يمكنك اختيار استخدام برنامج تشغيل الرسومات المحدّث للتطبيقات المثبتة على الجهاز."</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"التفعيل على جميع التطبيقات"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"اختيار برنامج تشغيل الرسومات"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"تلقائي"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"‏تطبيق Game Driver"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"‏إصدار تجريبي من Driver"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"برنامج تشغيل رسومات النظام"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"الإعدادات المفضّلة لبرنامج تشغيل الرسومات"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"تعديل إعدادات برنامج تشغيل الرسومات"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"في حال وجود العديد من برامج تشغيل الرسومات، يمكنك اختيار استخدام برنامج التشغيل المحدّث للتطبيقات المثبّتة على الجهاز."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"التفعيل على جميع التطبيقات"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"اختيار برنامج تشغيل الرسومات"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"تلقائي"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"Game Driver"</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) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"التغييرات في توافق التطبيقات"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"التبديل بين تغييرات توافق التطبيقات"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"التغييرات التي يتم تفعيلها تلقائيًا"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"التغييرات التي يتم إيقافها تلقائيًا"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"الإعداد غير متوافق مع هذا الهاتف"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"الإعداد غير متوافق مع هذا الجهاز اللوحي"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"الإعداد غير متوافق مع هذا الجهاز"</string>
@@ -4755,6 +4880,12 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"جهاز"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"غير متاح أثناء المكالمات"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"غير متاح"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"إضافة مخرجات"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"المجموعة"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"تم اختيار جهاز واحد."</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"تم اختيار <xliff:g id="COUNT">%1$d</xliff:g> جهاز."</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"تلقي المكالمة على"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"‏لا يمكن تغيير اسم APN هذا."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"تحسين عمر بطارية الجهاز اللوحي"</string>
@@ -4876,10 +5007,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"‏لا يمكن تفعيل أكثر من شريحة SIM واحدة تم تنزيلها في آن واحد.\n\nلن يؤدي اختيار <xliff:g id="CARRIER1">%1$s</xliff:g> كبديل إلى إلغاء خدمة <xliff:g id="CARRIER2">%2$s</xliff:g>."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"التبديل إلى <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"‏محو بيانات شريحة SIM"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"‏هل تريد محو بيانات شريحة SIM التي تم تنزيلها هذه؟"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"‏سيؤدي محو بيانات شريحة SIM هذه إلى إزالة خدمة <xliff:g id="CARRIER_0">%1$s</xliff:g> من هذا الجهاز.\n\nلن يتم إلغاء خدمة <xliff:g id="CARRIER_1">%2$s</xliff:g>."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"محو البيانات"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"‏جارٍ محو بيانات شريحة SIM…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"‏يتعذّر محو بيانات شريحة SIM"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"‏يتعذّر محو بيانات شريحة SIM هذه بسبب خطأ.\n\nيمكنك إعادة تشغيل الجهاز والمحاولة مرة أخرى."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"نوع الشبكة المفضّل"</string>
@@ -4904,7 +5031,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"وضع الشبكة <xliff:g id="NETWORKMODEID">%1$d</xliff:g> غير صالح، وعليك تجاهله."</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"أسماء نقاط الوصول"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"عدم التوفُّر عند الربط بمشغّل شبكة الجوّال <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"المعلومات الطبية، جهات الاتصال في حالات الطوارئ"</string>
     <string name="see_more" msgid="7499355691042812723">"عرض المزيد"</string>
     <string name="see_less" msgid="2642392725363552793">"عرض عناصر أقل"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"الجهاز المُستخدَم مع <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
@@ -4913,15 +5039,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"حدث خطأ. ألغى التطبيق طلب اختيار أحد الأجهزة."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"تمّ الاتصال."</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"عرض الكل"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="zero">تم توصيل <xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> جهاز.</item>
-      <item quantity="two">تم توصيل جهازين (<xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g>).</item>
-      <item quantity="few">تم توصيل <xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> أجهزة.</item>
-      <item quantity="many">تم توصيل <xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> جهازًا.</item>
-      <item quantity="other">تم توصيل <xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> جهاز.</item>
-      <item quantity="one">تم توصيل جهاز واحد (<xliff:g id="NUMBER_DEVICE_COUNT_0">%1$d</xliff:g>).</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"ليست هناك أجهزة بلوتوث."</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"جارٍ البحث عن جهاز…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"جارٍ الاتصال بجهاز…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"جهاز البلوتوث الأيسر"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"جهاز البلوتوث الأيمن"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"الحافظة"</string>
@@ -4931,6 +5050,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"غير متاح أثناء وضع الطائرة"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"فرض وضع سطح المكتب"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"فرض وضع سطح المكتب التجريبي على شاشات العرض الثانوية"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"تفعيل الشكل الحر للتطيبقات المتوافقة الحجم"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"السماح بالشكل الحر للتطبيقات المتوافقة الحجم."</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"إلغاء ميزة فرض تعتيم الشاشة"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"لإلغاء ميزة فرض تعتيم الشاشة بحيث يتم تفعيلها دائمًا"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"الخصوصية"</string>
@@ -4979,6 +5100,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"لقد ثبّت هذا التطبيق مؤخرًا."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"تبديل جهاز إخراج الصوت"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"يتمّ تشعيل الوسائط الآن على <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (غير متّصل)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"لا يمكن التبديل. انقر للمحاولة مرة أخرى."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"معلومات مهمة"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"متابعة"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"لا، شكرًا"</string>
@@ -5006,8 +5129,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"‏مجموعة بطاقة SIM"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"معلومات سياسة العمل"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"يتولى مشرف تكنولوجيا المعلومات إدارة الإعدادات."</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"وحدة معالجة الرسومات"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"معالِج تقرير الخطأ"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"يحدّد هذا الإعداد التطبيق الذي سيتعامل مع اختصار \"تقرير الخطأ\" على جهازك."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"شخصي"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"العمل"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"الإعداد التلقائي للنظام"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"لم يعد هذا الاختيار صالحًا. يُرجى إعادة المحاولة."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"إيقاف الإرسال"</string>
 </resources>
diff --git a/res/values-as/arrays.xml b/res/values-as/arrays.xml
index 07c7b3d..c1a8a78 100644
--- a/res/values-as/arrays.xml
+++ b/res/values-as/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"তৎক্ষণাৎ"</item>
     <item msgid="463591454172790676">"৫ ছেকেণ্ড"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"মান্য নকৰিব"</item>
+    <item msgid="5703177653586269306">"প্ৰমাণপত্ৰৰ স্থিতিৰ অনুৰোধ কৰক"</item>
+    <item msgid="326388247868439528">"প্ৰমাণপত্ৰৰ স্থিতিৰ প্ৰয়োজন"</item>
+    <item msgid="1090956283885790552">"সকলো অবিশ্বাসযোগ্য প্ৰমাণপত্ৰৰ স্থিতিসমূহৰ প্ৰয়োজন"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"পুশ্ব বুটাম"</item>
     <item msgid="2630618799033509548">"সংযুক্ত ডিভাইচৰ পৰা পিন"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"নাই"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"পূৰ্বতে শ্বেয়াৰ কৰা কী আৰু Xauth সত্যাপনসহ IPSec ভিপিএন"</item>
     <item msgid="2484564813864139237">"প্ৰমাণপত্ৰ আৰু Xauth বিশ্ৱাসযোগ্যতা প্ৰামাণিকৰণৰ সৈতে IPSec ভিপিএন"</item>
     <item msgid="68918911194507915">"প্ৰমাণপত্ৰ আৰু হাইব্ৰিড সত্যাপনসহ IPSec ভিপিএন"</item>
+    <item msgid="4631647675167100375">"প্ৰমাণপত্ৰ আৰু ব্যৱহাৰকাৰীৰ নাম/পাছৱৰ্ডৰ বিশ্বাসযোগ্যতা প্ৰমাণীকৰণৰ সৈতে IKEv2/IPSec VPN"</item>
+    <item msgid="8812228622975052811">"পূৰ্বতে শ্বেয়াৰ কৰা চাবিৰ সৈতে IKEv2/IPSec VPN"</item>
+    <item msgid="6630554779981113046">"প্ৰমাণপত্ৰৰ সৈতে IKEv2/IPSec VPN"</item>
   </string-array>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"এটাও নাই"</item>
diff --git a/res/values-as/config.xml b/res/values-as/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-as/config.xml
+++ b/res/values-as/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-as/strings.xml b/res/values-as/strings.xml
index b5aa3ca..f7585b0 100644
--- a/res/values-as/strings.xml
+++ b/res/values-as/strings.xml
@@ -31,49 +31,17 @@
     <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="radio_info_data_connection_enable" msgid="7500945447906187613">"ডেটা সংযোগ সক্ৰিয় কৰক"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"ডেটা সংযোগ নিষ্ক্ৰিয় কৰক"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"VoLTE প্ৰ\'ভিজন কৰা হৈছে"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"ভিডিঅ\' কলিং প্ৰ\'ভিজন কৰা হৈছে"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"ৱাইফাই কলিং প্ৰ\'ভিজন কৰা হৈছে"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"ইএবি/উপস্থিতি বিধান"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"Cbrs ডেটা"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"DSDS সক্ষম কৰক"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"ডিভাইচটো ৰিষ্টার্ট কৰিবনে?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"আপুনি এই ছেটিঙটো সলনি কৰিবলৈ ডিভাইচটো ৰিষ্টার্ট কৰিব লাগিব।"</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"ৰিষ্টাৰ্ট কৰক"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"বাতিল কৰক"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"ম’বাইল ৰেডিঅ\' পাৱাৰ"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"ছিম ঠিকনা সূচী চাওক"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"ফিক্সড্ ডায়েলিং নম্বৰসমূহ চাওক"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"সেৱা ডায়েলিং নম্বৰসমূহ চাওক"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"IMS সেৱাৰ স্থিতি"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"আইএমএছৰ স্থিতি"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"পঞ্জীকৃত"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"পঞ্জীকৃত নহয়"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"উপলব্ধ"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"উপলব্ধ নহয়"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"IMS পঞ্জীয়ন: <xliff:g id="STATUS">%1$s</xliff:g>\nভইচ অভাৰ LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nভইচ অভাৰ ৱাই-ফাই: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nভিডিঅ\' কলিং: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT ইণ্টাৰফেইচ: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"সেৱাত আছে"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"সেৱাত নাই"</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>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"কৰ্মহীন"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"ৰিং কৰি আছে"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"কল চলি আছে"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"সংযোগ বিচ্ছিন্ন"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"সংযোগ কৰি থকা হৈছে"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"সংযোগ কৰা হ’ল"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"স্থগিত"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"অজ্ঞাত"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"pkts"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"বাইট"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"এএছইউ"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"এলএচি"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"চিআইডি"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"ইউএছবি সঞ্চয়াগাৰ অসংলগ্ন কৰক"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"এছডি কাৰ্ড অসংলগ্ন কৰক"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"USB সঞ্চয়াগাৰ মচক"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"স্ক্ৰীণৰ আখৰ সৰু বা ডাঙৰ কৰক।"</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"সৰু কৰক"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"ডাঙৰ কৰক"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"পাঠৰ নমুনা"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"অষ্ট্ৰেলিয়াৰ বিস্ময়কৰ যাদুকৰ"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"অধ্যায় ১১: অষ্ট্ৰেলিয়াৰ বিস্ময়কৰ পান্নাৰ মহানগৰ"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"আপুনি এই ছেটিঙটো সলনি কৰিবলৈ ডিভাইচটো ৰিষ্টার্ট কৰিব লাগিব।"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"ৰিষ্টাৰ্ট কৰক"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"বাতিল কৰক"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"মিডিয়াৰ বাবে উপলব্ধ ডিভাইচবোৰ"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"কল কৰিবৰ বাবে উপলব্ধ ডিভাইচবোৰ"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"বৰ্তমান সংযোজিত হৈ আছে"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"মিডিয়া ডিভাইচসমূহ"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"কল ডিভাইচসমূহ"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"অন্য ডিভাইচসমূহ"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"ছেভ কৰি থোৱা ডিভাইচসমূহ"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"যোৰা লগাবলৈ ব্লুটুথ অন হ\'ব"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"সংযোগৰ অগ্ৰাধিকাৰসমূহ"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"আপুনি টাইপ কৰা প\'ৰ্টটো মান্য নহয়।"</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"HTTP প্ৰক্সিটো ব্ৰাউজাৰে ব্যৱহাৰ কৰি আছে, কিন্তু তাক অইন এপে ব্যৱহাৰ নকৰিবও পাৰে।"</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"পিএচি ইউআৰএল: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"বৰ্তমানৰ ছাবআইডি:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"ডিফ’ল্ট ডেটা ছিমৰ ছাবআইডি:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"ডাউনল’ড বেণ্ডৱিথ (কেবিপিএছ):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"আপল\'ড বেণ্ডৱিথ (কেবিপিএছ):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"চেল অৱস্থানৰ তথ্য (অপ্ৰচলিত):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"এলটিই ফিজিকেল চ্চেনেল কনফিগাৰেশ্বন:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"চেল তথ্য ৰিফ্ৰেশ্ব কৰাৰ হাৰ:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"সকলো চেল পৰিমাপৰ তথ্য:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"ডেটা সেৱা:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"ৰ\'মিং:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"কল ৰিডাইৰেক্ট কৰক:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"বুট কৰা পিছত PPP ৰিছেটৰ পৰিমাণ:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"বৰ্তমান নেটৱৰ্ক:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"লাভ কৰা ডেটা:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"ভইচ সেৱা:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"সংকেতৰ শক্তি:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"ভইচ কলৰ স্থিতি:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"প্ৰেৰণ কৰা ডেটা:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"মেছেজ অপেক্ষাৰত:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"ফ\'ন নম্বৰ:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"ৰেডিঅ\' বেণ্ড বাছনি কৰক"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"ভইচ নেটৱৰ্কৰ প্ৰকাৰ:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"ডেটা নেটৱৰ্কৰ প্ৰকাৰ:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"ফ’ন ইনডেক্স বাছনি কৰক"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"পচন্দৰ নেটৱৰ্ক নিৰ্ধাৰণ কৰক:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"হ\'ষ্টনাম (www.google.com) IPv4 পিং কৰক:"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"হ\'ষ্টনাম (www.google.com) IPv6 পিং কৰক:"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"HTTP ক্লায়েণ্ট পৰীক্ষা:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"পিং টেষ্ট চলাওক"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"আপডে’ট"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"ৰিফ্ৰেশ্ব"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"ডিএনএছ পৰীক্ষা ট’গল কৰক"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"OEM বিশেষৰ তথ্য/ছেটিংবোৰ"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"ৰেডিঅ\' বেণ্ড ম\'ড ছেট কৰক"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"বেণ্ডৰ সূচী ল’ড হৈ আছে…"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"ছেট কৰক"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"অসফল"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"সফল হৈছে"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"USB কেৱ\'ল পুনঃসংযোগ কৰাৰ পিছত পৰিবৰ্তনসমূহ স্থায়ী হ\'ব।"</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"ইউএছবি সঞ্চয়াগাৰক গুচাব পৰা সঞ্চয়াগাৰ হিচাপে ব্যৱহাৰৰ ম\'ড সক্ষম কৰক"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"সৰ্বমুঠ বাইট:"</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"তললৈ নিয়ক"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"ভাষা আঁতৰাওক"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"কাৰ্যকলাপ বাছক"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"ডিভাইচ সম্পৰ্কীয় তথ্য"</string>
     <string name="display_label" msgid="3056320781191343221">"স্ক্ৰীণ"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"টে\'বলেটৰ তথ্য"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"ফ\'নৰ তথ্য"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"ইউএছবি সঞ্চয়াগাৰ"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"এছডি কাৰ্ড"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"প্ৰক্সি ছেটিংসমূহ"</string>
@@ -306,9 +234,6 @@
     <string name="airplane_mode" msgid="3196085857882526817">"এয়াৰপ্লেইন ম\'ড"</string>
     <string name="wireless_networks_settings_title" msgid="8557542379234105369">"বেতাঁৰ আৰু নেটৱৰ্কসমূহ"</string>
     <string name="radio_controls_summary" msgid="9028430178697624501">"ৱাই-ফাই, ব্লুটুথ, এয়াৰপ্লেন ম\'ড, ম’বাইল নেটৱৰ্ক আৰু ভিপিএনবোৰ পৰিচালনা কৰক"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"ম’বাইল ডেটা"</string>
-    <string name="calls_title" msgid="6334813967619899114">"কলৰ অনুমতি দিয়ক"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"এছএমএছ বাৰ্তাসমূহ"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"ম’বাইল নেটৱৰ্কত ডেটা ব্যৱহাৰ কৰিবলৈ দিয়ক"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"ৰ\'মিঙত থাকোতে ডেটা ব্যৱহাৰৰ অনুমতি দিয়ক"</string>
     <string name="roaming" msgid="3055365654530847985">"ৰ’মিং"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"ৰ’মিঙৰ সময়ত ডেটা সেৱাৰ সৈতে সংযোগ কৰক"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"আপুনি ডেটা ৰ\'মিং অফ হৈ থকা অৱস্থাত আপোনাৰ হ\'ম নেটৱৰ্কটো এৰি অহা বাবে ডেটা সংযোগ হেৰুৱাইছে।"</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"অন কৰক"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"আপুনি যথেষ্ট পৰিমাণৰ খৰচ বহন কৰিবলগীয়া হ’ব পাৰে।"</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"আপুনি ৰ’মিঙৰ অনুমতি দিলে যথেষ্ট ৰ’মিং মাচুল ভৰিবলগীয়া হ’ব পাৰে!\n\nএই ছেটিঙটোৱে এই টেবলেটোৰ সকলো ব্যৱহাৰকাৰীকে প্ৰভাৱান্বিত কৰিব।"</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"আপুনি ৰ\'মিঙৰ অনুমতি দিলে যথেষ্ট ৰ\'মিং মাচুল ভৰিবলগীয়া হ\' পাৰে!\n\nএই ছেটিঙটোৱে এই ফ\'নটোৰ সকলো ব্যৱহাৰকাৰীকে প্ৰভাৱান্বিত কৰিব।"</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"ৰ’মিঙৰ মাচুলসমূহ প্ৰযোজ্য হ’ব পাৰে।"</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"আপুনি ডেটা ৰ’মিঙৰ অনুমতি দিলে ৰ’মিঙৰ মাচুলসমূহ প্ৰযোজ্য হ’ব পাৰে।\n\nএই ছেটিংটোৱে এই টেবলেটটোৰ সকলো ব্যৱহাৰকাৰীকে প্ৰভাৱান্বিত কৰে।"</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"আপুনি ডেটা ৰ’মিঙৰ অনুমতি দিলে ৰ’মিঙৰ মাচুলসমূহ প্ৰযোজ্য হ’ব পাৰে।\n\nএই ছেটিংটোৱে এই ফ’নটোৰ সকলো ব্যৱহাৰকাৰীকে প্ৰভাৱান্বিত কৰে।"</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"ডেটা ৰ\'মিঙৰ অনুমতি দিয়েনে?"</string>
     <string name="networks" msgid="5184501333492775095">"অপাৰেটৰ বাছনি"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"এটা নেটৱৰ্ক অপাৰেটৰ বাছক"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"প্ৰশাসকৰ দ্বাৰা অক্ষম কৰা হৈছে"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"লকডাউন বিকল্পসমূহ দেখুৱাওক"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"লক স্ক্ৰীণত স্মাৰ্ট লক, বায়’মেট্ৰিকৰ জৰিয়তে আনলক কৰাৰ সুবিধা আৰু জাননীসমূহ অফ কৰা পাৱাৰ বুটামৰ বিকল্প দেখুৱাওক"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"বিশ্বাসী এজেণ্টে কেৱল আনলকৰ সময় বৃদ্ধি কৰিব পাৰে"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"যদি সক্ষম কৰা হয় তেন্তে বিশ্বাসী এজেণ্টে আপোনাৰ ডিভাইচটো দীর্ঘ সময় ধৰি আনলক কৰি ৰাখিব কিন্তু কোনো লক হৈ থকা ডিভাইচ আনলক কৰিব নোৱাৰে।"</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"বিশ্বাস হেৰুৱালে স্ক্ৰীণ লক হ’ব"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"সক্ষম কৰিলে অন্তিম বিশ্বাসী এজেণ্টটোৱে বিশ্বাস হেৰুৱালে ডিভাইচটো লক হ’ব"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"নাই"</string>
@@ -390,7 +313,7 @@
     <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="disabled_by_administrator_summary" msgid="4181894719300350343">"প্ৰশাসকে অক্ষম কৰিছে"</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>
@@ -693,7 +616,6 @@
       <item quantity="one"><xliff:g id="NUMBER_1">%d</xliff:g>টা সংখ্যাতকৈ কম হ\'বই লাগিব</item>
       <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g>টা সংখ্যাতকৈ কম হ\'বই লাগিব</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"কেৱল অংকহে থাকিব লাগিব ০-৯"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"ডিভাইচ এডমিনে আপুনি ব্যৱহাৰ কৰা অন্তিমটো পিন আকৌ ব্যৱহাৰ কৰিবলৈ অনুমতি দিয়া নাই"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"আপোনাৰ আইটি প্ৰশাসকে বিশেষত্বহীন পিনবোৰ অৱৰোধ কৰি থৈছে৷ এটা পৃথক পিনেৰে চেষ্টা কৰক৷"</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"কেৱল বৈধ বৰ্ণহে দিয়ক"</string>
@@ -724,6 +646,10 @@
       <item quantity="one">অতি কমেও <xliff:g id="COUNT">%d</xliff:g>টা সংখ্যা বা প্ৰতীক থাকিব লাগিব</item>
       <item quantity="other">অতি কমেও <xliff:g id="COUNT">%d</xliff:g>টা সংখ্যা বা প্ৰতীক থাকিব লাগিব</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="one">অতি কমেও <xliff:g id="COUNT">%d</xliff:g>টা এনেকুৱা বৰ্ণ থাকিবই লাগিব যিটো সংখ্যা নহয়</item>
+      <item quantity="other">অতি কমেও <xliff:g id="COUNT">%d</xliff:g>টা এনেকুৱা বৰ্ণ থাকিবই লাগিব যিটো সংখ্যা নহয়</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"ডিভাইচৰ প্ৰশাসকে শেহতীয়া পাছৱৰ্ড ব্যৱহাৰ কৰিব নিদিয়ে"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"আইটি এডমিনে উমৈহতীয়া পাছৱৰ্ডসমূহ অৱৰোধ কৰি থৈছে। এটা পৃথক পাছৱৰ্ডেৰে চেষ্টা কৰক।"</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"সংখ্যাবোৰৰ ঊৰ্দ্ধগামী, অধোগামী বা পুনৰাবৃত্তি ক্ৰম অনুমোদিত নহয়"</string>
@@ -837,19 +763,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"২.৪ গিগাহাৰ্টজ"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"৫ গিগাহাৰ্টজ"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"ছাইন ইন কৰক"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"ছাইটটো খোলক"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"<xliff:g id="REMAINING_TIME">%1$s</xliff:g> বাকী আছে"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"<xliff:g id="EXPIRY_TIME">%1$s</xliff:g>ত ম্যাদ উকলিব"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"নেটৱৰ্কত ছাইন ইন কৰিবলৈ ইয়াত টিপক"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> এম.বি./ছেকেণ্ডত"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> এম.বি./ছেকেণ্ডত"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> এমবিপিএছ"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"<xliff:g id="REQUESTER">%s</xliff:g>এ ৱাই-ফাই অন কৰিব বিচাৰে"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"<xliff:g id="REQUESTER">%s</xliff:g> এ ৱাই-ফাই অফ কৰিব বিচাৰিছে"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"debuggable এপৰ bytecode সত্যাপন কৰক"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"বাগ সমাধান কৰিব পৰা এপ্‌সমূহৰ বাবে বাইটক’ড সত্যাপন কৰিবলৈ ARTক অনুমতি দিয়ক"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"ৰিফ্ৰেশ্বৰ হাৰ দেখুৱাওক"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"বৰ্তমানৰ ডিছপ্লে’ ৰিফ্ৰেশ্বৰ হাৰ দেখুৱাওক"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"টেবলেটটোৱে অইন এটা ডিভাইচ স্পৰ্শ কৰোঁতে ডেটা বিনিময় কৰিবলৈ অনুমতি দিয়ক"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"ফ\'নটোৱে অন্য ডিভাইচ স্পৰ্শ কৰিলে ডেটা বিনিময় কৰিবলৈ অনুমতি দিয়ক"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"টেবলেটটোৱে এটা NFC ডিভাইচ স্পর্শ কৰিলে ডেটা বিনিময় কৰিবলৈ অনুমতি দিয়ক"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"ফ\'নটোৱে এটা NFC ডিভাইচ স্পর্শ কৰিলে ডেটা বিনিময় কৰিবলৈ অনুমতি দিয়ক"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"NFC অন কৰক"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"NFCএ এইটো ডিভাইচ আৰু অন্যান্য নিকটৱৰ্তী ডিভাইচসমূহ বা লক্ষ্যসমূহ যেনে পৰিশোধ টাৰ্মিনেল, এক্সেছ ৰিডাৰ আৰু ইণ্টাৰেক্টিভ এড বা টেগসমূহৰ মাজত ডেটা বিনিময় কৰিব পাৰে৷"</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"সুৰক্ষিত NFC"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFCৰ বাবে ডিভাইচ আনলক কৰাৰ প্ৰয়োজন"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"কেৱল স্ক্ৰীণখন আনলক হৈ থকাৰ সময়তহে NFC পৰিশোধ আৰু পৰিবহণৰ ব্যৱহাৰৰ অনুমতি দিয়ক"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android বীম"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"NFCৰ জৰিয়তে এপৰ সমলবিলাক পঠালৈ সাজু"</string>
@@ -923,8 +855,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"অন কৰক"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"ৱাই-ফাই স্কেনিং অন আছে"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"উচ্চখাপৰ বিকল্প"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"ড্ৰপ ডাউন সূচীৰ উচ্চাখাপৰ বিকল্পসমূহ৷ সংকুচিত হ’বলৈ দুবাৰ টিপক৷"</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"উচ্চখাপৰ বিকল্পসমূহৰ ড্ৰপ ডাউন সূচী। বিস্তাৰিত কৰিবলৈ দুবাৰ টিপক।"</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"ড্ৰ’প ডাউন তালিকাৰ উন্নত বিকল্পসমূহ"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"বিস্তাৰিত কৰক"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"নেটৱৰ্কৰ নাম"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"SSID দিয়ক"</string>
     <string name="wifi_security" msgid="9095934643631406913">"সুৰক্ষা"</string>
@@ -934,6 +866,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"স্থিতি"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"ট্রেন্সমিট লিংকৰ গতিবেগ"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"গ্ৰহণ কৰি থকা লিংকৰ গতিবেগ"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"লিংকৰ বেগ"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"ফ্ৰিকুৱেন্সী"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"IP ঠিকনা"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"ৰ মাধ্যমেৰে ছেভ কৰা হৈছে"</string>
@@ -941,6 +874,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"ইএপি পদ্ধতি"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"পৰ্যায় ২ প্ৰমাণীকৰণ"</string>
     <string name="wifi_eap_ca_cert" msgid="8033404008276298886">"চিএ প্ৰমাণপত্ৰ"</string>
+    <string name="wifi_eap_ocsp" msgid="8713933962516871238">"প্ৰমাণপত্ৰৰ অনলাইন স্থিতি"</string>
     <string name="wifi_eap_domain" msgid="8304301470752333203">"ডমেইন"</string>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"ব্যৱহাৰকাৰীৰ প্ৰমাণপত্ৰ"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"পৰিচয়"</string>
@@ -957,6 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"ৱাই-ফাই হ\'টস্প\'টৰ বাবে কমেও এটা বেণ্ড বাছনি কৰক:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"আইপি ছেটিংসমূহ"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"গোপনীয়তা"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"ছাবস্ক্ৰিপশ্বন"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"ছাবস্ক্ৰিপশ্বন চাওক অথবা সলনি কৰক"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"যাদৃচ্ছিক MAC"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"এটা ডিভাইচ যোগ কৰক"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"“<xliff:g id="SSID">%1$s</xliff:g>”ৰ সৈতে সংযোগ কৰিবলৈ তলৰ কিউআৰ ক’ডটো কেমেৰা ৱিণ্ড’ৰ মাজত ৰাখক"</string>
@@ -966,12 +902,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"ৱাই-ফাই শ্বেয়াৰ কৰক"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"“<xliff:g id="SSID">%1$s</xliff:g>”ৰ সৈতে সংযোগ কৰিবলৈ কিউআৰ ক’ডটো স্কেন কৰক আৰু পাছৱৰ্ড শ্বেয়াৰ কৰক"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"“<xliff:g id="SSID">%1$s</xliff:g>”ৰ সৈতে সংযোগ কৰিবলৈ এই কিউআৰ ক’ডটো স্কেন কৰক"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"কিউআৰ ক’ডটো পঢ়িব পৰা নগ’ল। ক’ডটো পুনৰ সোঁমাজলৈ আনি আকৌ চেষ্টা কৰক"</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"আকৌ চেষ্টা কৰক। যদি এই সমস্যাটো চলি থাকে তেন্তে ডিভাইচ নিৰ্মাতাৰ সৈতে যোগাযোগ কৰক"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"কিবা সমস্যা হৈছে"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"ডিভাইচটো যাতে প্লাগ কৰি থোৱা হয়, চ্চাৰ্জ হৈ থাকে আৰু অন থাকে সেইটো নিশ্চিত কৰক"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"ডিভাইচটো যাতে প্লাগ কৰি থোৱা হয়, চ্চাৰ্জ হৈ থাকে আৰু অন থাকে সেইটো নিশ্চিত কৰক যদি এই সমস্যাটো চলি থাকে তেন্তে ডিভাইচ নিৰ্মাতাৰ সৈতে যোগাযোগ কৰক"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"এই ডিভাইচটোত“<xliff:g id="SSID">%1$s</xliff:g>” যোগ কৰিব পৰা নাযায়"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"ডিভাইচটো আপোনাৰ ৱাই-ফাই এক্সেছ পইণ্ট/ৰাউটাৰৰ ওচৰলৈ স্থানান্তৰ কৰি চাওক"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"পাছৱৰ্ডটো পৰীক্ষা কৰক আৰু পুনৰ চেষ্টা কৰক"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"ডিভাইচ নিৰ্মাতাৰ সৈতে যোগাযোগ কৰক"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"সংযোগ পৰীক্ষা কৰি আকৌ চেষ্টা কৰক"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"নেটৱৰ্ক বাছনি কৰক"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"আপোনাৰ ডিভাইচটো সংযোগ কৰিবলৈ এটা নেটৱৰ্ক বাছনি কৰক"</string>
@@ -984,11 +922,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"এই ডিভাইচটোৰ সৈতে ৱাই-ফাই শ্বেয়াৰ কৰি থকা হৈছে…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"সংযোগ কৰি থকা হৈছে…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"হ’টস্প’ট শ্বেয়াৰ কৰক"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"এইজন আপুনি বুলি ভেৰিফাই কৰক"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"এইজন আপুনিয়েই বুলি সত্যাপন কৰক"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"ৱাই-ফাইৰ পাছৱৰ্ড: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"হটস্পটৰ পাছৱৰ্ড: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"স্বয়ং-সংযোগ"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"ফ\'নটো এই নেটৱর্কটোৰ কাষত থাকিলে স্বয়ংক্ৰিয়ভাৱে সংযোগ হ\'বলৈ অনুমতি দিয়ক"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"টেবলেটটো এই নেটৱর্কটোৰ কাষত থাকিলে স্বয়ংক্ৰিয়ভাৱে সংযোগ হ\'বলৈ অনুমতি দিয়ক"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"ডিভাইচ যোগ কৰক"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"এই নেটৱৰ্কটোত কোনো ডিভাইচ যোগ কৰিবলৈ এটা কিউআৰ ক’ড ব্যৱহাৰ কৰক"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"কিউআৰ ক\'ডটো মান্য ফৰ্মেট নহয়"</string>
     <string name="retry" msgid="7542103800274026915">"আকৌ চেষ্টা কৰক"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"ডিভাইচৰ অন্য ব্যৱহাৰকাৰীৰ সৈতে শ্বেয়াৰ কৰক"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(সালসলনি নাই)"</string>
@@ -1000,6 +942,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"কোনো প্ৰমাণপত্ৰ নিৰ্দিষ্ট কৰা হোৱা নাই। আপোনাৰ সংযোগ ব্যক্তিগত ৰূপত নাথাকিব।"</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"নেটৱৰ্কৰ নাম অতি দীঘল হৈছে৷"</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"এটা ড\'মেইন নিৰ্দিষ্ট কৰিবই লাগিব"</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"প্ৰমাণপত্ৰৰ প্ৰয়োজন।"</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"WPS উপলব্ধ"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (WPS উপলব্ধ)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"বাহকৰ ৱাই-ফাই নেটৱৰ্ক"</string>
@@ -1051,7 +994,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"উচ্চখাপৰ ৱাই-ফাই ছেটিং"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"মেক ঠিকনা"</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_ip_address_title" msgid="4265355419782184514">"আইপি ঠিকনা"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"নেটৱৰ্কৰ সবিশেষ"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"ছাবনেট মাস্ক"</string>
@@ -1103,7 +1047,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"আপোনাৰ অইন ডিভাইচসমূহৰ বাবে ৱাই-ফাই নেটৱৰ্ক সৃষ্টি কৰিবলৈ এটা হটস্পট  ব্যৱহাৰ কৰক। হটস্পটে আপোনাৰ ম’বাইল ডেটা সংযোগ ব্যৱহাৰ কৰি ইণ্টাৰনেট যোগান ধৰে। ম’বাইল ডেটাৰ বাবদ অতিৰিক্ত মাচুল ভৰিবলগীয়া হ’ব পাৰে।"</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"নিকটৱৰ্তী ডিভাইচৰ সৈতে সমল শ্বেয়াৰ কৰিবলৈ এপে হটস্পট  সৃষ্টি কৰিব পাৰে।"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"স্বয়ংক্ৰিয়ভাৱে হটস্পট  অফ কৰক"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"যদি কোনো ডিভাইচ সংযোগ হৈ নাথাকে, তেন্তে ৱাই-ফাই হটস্পট  অফ হ’ব"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"যেতিয়া কোনো ডিভাইচ সংযোজিত হৈ নাথাকে"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"হটস্পট  অন কৰি থকা হৈছে…"</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"হটস্পট  অফ কৰি থকা হৈছে…"</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> সক্ৰিয় আছে"</string>
@@ -1112,6 +1056,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"ৱাই-ফাই হটস্পট  ছেটআপ"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"AndroidAP WPA2 PSK হটস্পট"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"AndroidHotspot"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"এই নেটৱৰ্কটো ছেভ কৰিবনে?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"<xliff:g id="APPNAME">%1$s</xliff:g>এ আপোনাৰ ফ’নত এটা নেটৱৰ্ক ছেভ কৰিবলৈ বিচাৰে"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"<xliff:g id="APPNAME">%1$s</xliff:g>এ আপোনাৰ টেবলেটত এটা নেটৱৰ্ক ছেভ কৰিবলৈ বিচাৰে"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"ছেভ কৰি থকা হৈছে…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"ছেভ কৰা আছে"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"ছেভ কৰিব নোৱাৰি। পুনৰ চেষ্টা কৰক।"</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"নেটৱৰ্কসমূহ ছেভ কৰিবনে?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"<xliff:g id="APPNAME">%1$s</xliff:g>এ আপোনাৰ ফ’নত এই নেটৱৰ্কসমূহ ছেভ কৰিবলৈ বিচাৰে"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"<xliff:g id="APPNAME">%1$s</xliff:g>এ আপোনাৰ টেবলেটত এই নেটৱৰ্কসমূহ ছেভ কৰিবলৈ বিচাৰে"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"<xliff:g id="NUMBER">%d</xliff:g> টা নেটৱৰ্ক ছেভ কৰি থকা হৈছে…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"নেটৱৰ্কসমূহ ছেভ কৰা হ’ল"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"ৱাই-ফাই কলিং"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"ৱাই-ফাইৰ জৰিয়তে কলৰ কৰোঁতে অধিক কভাৰেজ পাওক"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"অধিক কভাৰেজ ক্ষেত্ৰৰ বাবে ৱাই-ফাই কলিং সুবিধা অন কৰক"</string>
@@ -1138,16 +1093,18 @@
     <string name="emergency_address_title" msgid="3490633500025717573">"জৰূৰীকালীন ঠিকনা"</string>
     <string name="emergency_address_summary" msgid="3022628750270626473">"আপুনি ৱাই-ফাইৰ জৰিয়তে জৰুৰীকালীন কল কৰাৰ সময়ত আপোনাৰ অৱস্থান হিচাপে ব্যৱহাৰ কৰা হৈছে"</string>
     <string name="private_dns_help_message" msgid="851221502063782306">"ব্যক্তিগত ডিএনএছ সুবিধাসমূহৰ বিষয়ে "<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>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"ৱাই-ফাইৰ জৰিয়তে কল কৰা সুবিধা সক্ৰিয় কৰক"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"ৱাই-ফাইৰ জৰিয়তে কল কৰাৰ সুবিধা অন কৰক"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"%1$sত ৱাই-ফাইৰ জৰিয়তে কল কৰাৰ সুবিধা নাই"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"<xliff:g id="SSID">%1$s</xliff:g>ৰ পৰা সংযোগ বিচ্ছিন্ন কৰা হ’ল"</string>
     <string name="carrier" msgid="1755020806290963951">"বাহক"</string>
     <string name="display_settings_title" msgid="626835071804834218">"ডিছপ্লে’"</string>
     <string name="sound_settings" msgid="5514582720435174014">"ধ্বনি"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"ভলিউম"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"সংগীতৰ প্ৰভাৱবোৰ"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"ৰিঙৰ ভলিউম"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"ৰিং আৰু জাননীৰ ভলিউম"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"নীৰৱ হৈ থাকোতে কম্পন হ\'ব"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"জাননীৰ ডিফ\'ল্ট ধ্বনি"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"ৰিংট’ন"</string>
@@ -1272,13 +1229,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"সময়সূচী"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"একো নাই"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"সূৰ্যাস্তৰ পৰা সূৰ্যোদয়লৈ অন হয়"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"কাষ্টম সময়ত অন কৰে"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"স্থিতি"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"অফ / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"স্বয়ংক্ৰিয়ভাৱে কেতিয়াও অন নহ’ব"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"সূৰ্যাস্তৰ সময়ত স্বয়ংক্ৰিয়ভাৱে অন হ’ব"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"<xliff:g id="ID_1">%1$s</xliff:g>ত স্বয়ংক্ৰিয়ভাৱে অন হ’ব"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"অন / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"কেতিয়াও স্বয়ংক্ৰিয়ভাৱে অফ নহ’ব"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"সূৰ্যোদয়ৰ সময়ত স্বয়ংক্ৰিয়ভাৱে অফ হ’ব"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"<xliff:g id="ID_1">%1$s</xliff:g> বজাত স্বয়ংক্ৰিয়ভাৱে অফ হ’ব"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"<xliff:g id="ID_1">%1$s</xliff:g> নবজালৈকে অন কৰি ৰাখক"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"<xliff:g id="ID_1">%1$s</xliff:g> নবজালৈকে অফ কৰি ৰাখক"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"আপোনাৰ বেটাৰীটোত চাৰ্জ কিছুমান স্ক্ৰীনত অধিক সময়ৰ বাবে ৰখাত সহায় কৰিবলৈ গাঢ় ৰঙৰ থীমে গাঢ় ক’লা ৰং ব্যৱহাৰ কৰে। গাঢ় ৰঙৰ থীমে আপোনাৰ স্ক্রীনখন অফ হোৱালৈ অপেক্ষা কৰিবলগীয়া সময় নিৰ্ধাৰণ কৰে।"</string>
     <string name="screen_timeout" msgid="7709947617767439410">"স্ক্রীণ বন্ধ হোৱা সময়"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"স্ক্ৰীণ অফ হৈ যায়"</string>
@@ -1290,7 +1252,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"ৱালপেপাৰ সলনি কৰক"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"আপোনাৰ স্ক্ৰীণখনক ব্যক্তিগত ৰূপ দিয়ক"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"ৱালপেপাৰ বাছক"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"আপোনাৰ Pixel কাষ্টমাইজ কৰক"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"আপোনাৰ ফ’নটো কাষ্টমাইজ কৰক"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"বিভিন্ন শৈলী, ৱালপেপাৰ আৰু অধিক বস্তু ব্যৱহাৰ কৰি চাওক"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"স্ক্ৰীণ ছেভাৰ"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"চ্চাৰ্জ কৰোঁতে বা ডক কৰি থওঁতে"</string>
@@ -1379,6 +1341,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"ইউএছবি সঞ্চয়াগাৰ অসংলগ্ন কৰক, উপলব্ধ খালী ঠাই চাওক"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"SD কাৰ্ড অসংলগ্ন কৰক, উপলব্ধ খালী ঠাই চাওক"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (ছিম শ্ল\'ট %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"চাবলৈ ছেভ কৰি থোৱা নেটৱর্ক বাছনি কৰক"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"এমডিএন"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"ফ\'ন নম্বৰ"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (ছিম শ্ল\'ট %1$d)"</string>
@@ -1405,6 +1368,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"ৰ\'মিং"</string>
     <string name="status_operator" msgid="4335640583552058491">"নেটৱৰ্ক"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"ৱাই-ফাই মেক ঠিকনা"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"ডিভাইচৰ ৱাই-ফাই MAC ঠিকনা"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"ব্লুটুথৰ ঠিকনা"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"ক্ৰমিক নম্বৰ"</string>
     <string name="status_up_time" msgid="1274778533719495438">"চলি থকা সময়"</string>
@@ -1617,6 +1581,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"ডিফ’ল্ট এপিএন ছেটিংসমূহৰ ৰিছেট কৰা সম্পূৰ্ণ হৈছে৷"</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"বিকল্পসমূহ ৰিছেট কৰক"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"নেটৱৰ্ক, এপ্ বা ডিভাইচ ৰিছেট কৰিব পৰা যায়"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"এপ্‌সমূহ ৰিছেট কৰিব পাৰি"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"ৱাই-ফাই, ম’বাইল আৰু ব্লুটুথ ৰিছেট কৰক"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"ইয়ে :\n\n"<li>"ৱাই-ফাই"</li>\n<li>"ম\'বাইল ডেটা"</li>\n<li>"ব্লুটুথ"</li>"কে আদি কৰি সকলো নেটৱৰ্ক ছেটিং ৰিছেট কৰিব"</string>
     <string name="reset_esim_title" msgid="6152167073280852849">"ডাউনল’ড কৰা ছিমবোৰ মচক"</string>
@@ -1666,6 +1631,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"হটস্পট  অন হৈ আছে"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"টেডাৰ কৰি থকা হৈছে"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"ডেটা সঞ্চয়কাৰী অন হৈ থাকোতে টেডাৰ কৰিব বা প\'ৰ্টেবল হটস্পট  ব্যৱহাৰ কৰিব নোৱাৰি"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"কেৱল হটস্পট"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"কেৱল ইউএছবি"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"কেৱল ব্লুটুথ"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"হটস্পট, ইউএছবি"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"হটস্পট, ব্লুটুথ"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"ইউএছবি, ব্লুটুথ"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"হটস্পট, ইউএছবি, ব্লুটুথ"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"অন্য ডিভাইচৰ সৈতে ইণ্টাৰনেট শ্বেয়াৰ কৰা হোৱা নাই"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"টিথাৰিং কৰি থকা হৈছে"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"ৱাই-ফাই হ\'টস্প\'ট ব্যৱহাৰ নকৰিব"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"কেৱল ইউএছবিৰ জৰিয়তে ইণ্টাৰনেট শ্বেয়াৰ কৰক"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"কেৱল ব্লুটুথৰ জৰিয়তে ইণ্টাৰনেট শ্বেয়াৰ কৰক"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"কেৱল ব্লুটুথ আৰু ইউএছবিৰ জৰিয়তে ইণ্টাৰনেট শ্বেয়াৰ কৰক"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"ইউএছবি টেডাৰিং"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"ইউএছবিৰ মাধ্যমেৰে ফ\'নৰ ইণ্টাৰনেট সংযোগ শ্বেয়াৰ কৰক"</string>
@@ -1756,9 +1734,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"সুৰক্ষা তথ্য"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"আপুনি ডেটা সংযোগ নাই। এই তথ্য এতিয়াই চাবলৈ ইণ্টাৰনেট সংযোগ থকা কোনোবা কম্পিউটাৰৰ পৰা %sলৈ যাওক।"</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"ল’ড হৈ আছে…"</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"পিন ব্যৱহাৰ কৰক"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"আৰ্হি ব্যৱহাৰ কৰক"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"পাছৱৰ্ড ব্যৱহাৰ কৰক"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"স্ক্ৰীণ লক ছেট কৰক"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"সুৰক্ষাৰ বাবে পাছৱৰ্ড দিয়ক"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"ফিংগাৰপ্ৰিণ্ট ব্যৱহাৰ কৰিবলৈ পাছৱৰ্ড ছেট কৰক"</string>
@@ -1767,8 +1742,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"ফিংগাৰপ্ৰিণ্ট ব্যৱহাৰ কৰিবলৈ এটা পিন ছেট কৰক"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"সুৰক্ষাৰ বাবে আৰ্হি দিয়ক"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"আপোনাৰ পাছৱৰ্ডটো আকৌ দিয়ক"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"আপোনাৰ কর্মস্থানৰ পাছৱৰ্ড দিয়ক"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"আপোনাৰ আৰ্হি নিশ্চিত কৰক"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"আপোনাৰ কর্মস্থানৰ আর্হি দিয়ক"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"আপোনাৰ পিনটো আকৌ দিয়ক"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"আপোনাৰ কর্মস্থানৰ পিন দিয়ক"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"পাছৱৰ্ড দুটা একেই নহয়"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"পিনবিলাক মিলা নাই"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"আপোনাৰ আৰ্হিটো আকৌ আঁকক"</string>
@@ -1779,6 +1757,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"মুখাৱয়বৰদ্বাৰা আনলকৰ বেক আপ ছেট কৰক"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"মুখাৱয়বৰদ্বাৰা কৰা আনলকৰ বেকআপ ছেট কৰক"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"মুখাৱয়বৰদ্বাৰা কৰা আনলকৰ বেকআপ ছেট কৰক"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"আপোনাৰ পাছৱর্ডটো পাহৰিলে নেকি?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"আপোনাৰ আর্হিটো পাহৰিলে নেকি?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"আপোনাৰ পিনটো পাহৰিলে নেকি?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"অব্যাহত ৰাখিবলৈ আপোনাৰ ডিভাইচৰ আৰ্হিটো দিয়ক।"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"অব্যাহত ৰাখিবলৈ আপোনাৰ ডিভাইচৰ পিন দিয়ক"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"অব্যাহত ৰাখিবলৈ আপোনাৰ ডিভাইচৰ পাছৱৰ্ডটো দিয়ক"</string>
@@ -1846,6 +1827,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"সকলো এপৰ উৎসক অনুমতি দিয়ক"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"অলপতে খোলা এপসমূহ"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"সকলো <xliff:g id="COUNT">%1$d</xliff:g> এপ্ চাওক"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"আপোনাৰ আইটি প্ৰশাসকৰ সৈতে যোগাযোগ কৰক"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"তেওঁলোকে আপোনাক অপোনাৰ পিন, আৰ্হি অথবা পাছৱৰ্ড ৰিছেট কৰাত সহায় কৰিব পাৰে"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"আপোনাৰ টে\'বলেট আৰু ব্যক্তিগত ডেটা অজ্ঞাত এপৰ আক্ৰমণৰ বলি হোৱাৰ সম্ভাৱনা অধিক। এই উৎসৰ পৰা এপ্ ইনষ্টল কৰি, আপুনি সেইবিলাক ব্যৱহাৰ কৰাৰ ফলত আপোনাৰ টে\'বলেটৰ হ\'ব পৰা ক্ষতি বা ডেটা হানিৰ বাবে আপুনিয়ে দায়বব্ধ হ\'ব বুলি সন্মতি দিছে।"</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"আপোনাৰ ফ\'ন আৰু ব্যক্তিগত ডেটা অজ্ঞাত এপৰ আক্ৰমণৰ বলি হোৱাৰ সম্ভাৱনা অধিক। এই উৎসৰ পৰা এপ্ ইনষ্টল কৰি, আপুনি সেইবিলাক ব্যৱহাৰ কৰাৰ ফলত আপোনাৰ ফ\'নৰ হ\'ব পৰা ক্ষতি বা ডেটা হানিৰ বাবে আপুনিয়ে দায়বব্ধ হ\'ব বুলি সন্মতি দিছে।"</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"আপোনাৰ ডিভাইচ আৰু ব্যক্তিগত ডেটা অজ্ঞাত এপৰ আক্ৰমণৰ বলি হোৱাৰ সম্ভাৱনা অধিক। এই উৎসৰ পৰা এপ্ ইনষ্টল কৰি, আপুনি সেইবিলাক ব্যৱহাৰ কৰাৰ ফলত আপোনাৰ ডিভাইচৰ হ\'ব পৰা ক্ষতি বা ডেটা হানিৰ বাবে আপুনিয়েই দায়বব্ধ হ\'ব বুলি সন্মতি দিছে।"</string>
@@ -1897,7 +1880,7 @@
     <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="1377296810290814749">"ইয়ে:\n\n "<li>"নিষ্ক্ৰিয় এপবিলাক"</li>\n" "<li>"নিষ্ক্ৰিয় এপবিলাকৰ জাননীসমূহ"</li>\n" "<li>"বিভিন্ন কাৰ্য সম্পাদনৰ বাবে ডিফ\'ল্ট এপ্লিকেশ্বনসমূহ"</li>\n" "<li>"এপৰ বাবে নেপথ্য ডেটা নিয়ন্ত্ৰণ"</li>\n" "<li>"যিকোনো অনুমতি নিয়ন্ত্ৰণৰ অগ্ৰাধিকাৰসমূহ ৰিছেট কৰিব"</li>\n\n"আপুনি এপৰ কোনো ডেটা নেহেৰুৱায়।"</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>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"এপ্ ৰিছেট কৰক"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"ঠাই পৰিচালনা কৰক"</string>
     <string name="filter" msgid="9039576690686251462">"ফিল্টাৰ"</string>
@@ -2097,7 +2080,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"অডিঅ\' আৰু স্ক্ৰীণত প্ৰদৰ্শিত পাঠ"</string>
     <string name="display_category_title" msgid="6638191682294461408">"ডিছপ্লে’"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"ভাব-বিনিময় নিয়ন্ত্ৰণ"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"ডাউনলোড কৰা সেৱাসমূহ"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"ডাউনল’ড কৰা এপ্"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"পৰীক্ষামূলক"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"বৈশিষ্ট সম্পৰ্কীয় পতাকাবোৰ"</string>
     <string name="talkback_title" msgid="8756080454514251327">"টকবেক"</string>
@@ -2105,27 +2088,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"ডাঙৰকৈ পঢ়ি দিয়া শুনিবলৈ স্ক্ৰীণত থকা বস্তুবোৰ স্পৰ্শ কৰক"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"কেপশ্বনৰ অগ্ৰাধিকাৰসমূহ"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"বিবৰ্ধন"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"বিবৰ্ধন কৰা অংশ"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"বিবৰ্ধন সক্ষম"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"স্ক্ৰীনখন বিবৰ্ধন কৰোঁতে আপুনি ব্যৱহাৰ কৰিব খোজা বিবৰ্ধন কৰা অংশ(সমূহ) বাছনি কৰক"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"পূৰ্ণ স্ক্ৰীন"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"স্ক্ৰীনৰ কিছু অংশ"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"পূৰ্ণ স্ক্ৰীন আৰু স্ক্ৰীনৰ অংশ"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"গোটেই স্ক্ৰীনখন বিবৰ্ধন কৰক"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"স্ক্ৰীনৰ কিছু অংশ বিবৰ্ধন কৰক"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"বিবৰ্ধন কৰাৰ ছেটিংসমূহ"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"তিনিবাৰ টুকুৰিয়াই বিবৰ্ধন কৰক"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"শ্বৰ্টকাটৰ দ্বাৰা বিৱৰ্ধিত কৰক"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"শ্বৰ্টকাটৰ দ্বাৰা আৰু তিনিবাৰ টিপি বিৱৰ্ধিত কৰক"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"<xliff:g id="SERVICE">%1$s</xliff:g>ৰ বিষয়ে"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"বিকল্পসমূহ"</string>
     <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="2831926970059739911"><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_screen_magnification_navbar_summary" msgid="5603519616005297803">"বিৱৰ্ধন অন কৰা থাকিলে আপুনি নিজৰ স্ক্রীণখনত জুম ইন কৰিব পাৰে।\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_screen_magnification_summary" msgid="7617931632990040045">"সমল অধিক স্পষ্টকৈ চাবলৈ স্ক্ৰীনখনত ক্ষিপ্ৰতাৰে জুম ইন কৰক।&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_dialog_title_button" msgid="4681164949716215131">"খুলিবলৈ সাধ্য সুবিধাৰ বুটাম ব্যৱহাৰ কৰক"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"খুলিবলৈ ভংগিমা ব্যৱহাৰ কৰক"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"সাধ্য সুবিধাৰ নতুন ভংগিমা ব্যৱহাৰ কৰক"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"এই সেৱাটো অন বা অফ কৰিবলৈ আপোনাৰ স্ক্রীণৰ একেবাৰে তলিত থকা সাধ্য সুবিধাৰ বুটামটো<xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> টিপক।\n\nসেৱাসমূহ সালসলনিকৈ ব্যৱহাৰ কৰিবলৈ সাধ্য সুবিধাৰ বুটামটো স্পর্শ কৰি ধৰি ৰাখক।"</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"এই সেৱাটো অন বা অফ কৰিবলৈ স্ক্রীণখনৰ একেবাৰে তলিৰ পৰা ওপৰলৈ দুটা আঙুলিৰে ছোৱাইপ কৰক।\n\nসেৱাসমূহ সালসলনিকৈ ব্যৱহাৰ কৰিবলৈ দুটা আঙুলিৰে ওপৰলৈ ছোৱাইপ কৰি ধৰি ৰাখক।"</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"এই সেৱাটো অন বা অফ কৰিবলৈ স্ক্রীণখনৰ একেবাৰে তলিৰ পৰা ওপৰলৈ তিনিটা আঙুলিৰে ছোৱাইপ কৰক।\n\nসেৱাসমূহ সালসলনিকৈ ব্যৱহাৰ কৰিবলৈ তিনিটা আঙুলিৰে ওপৰলৈ ছোৱাইপ কৰি ধৰি ৰাখক।"</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"কোনো সাধ্য সুবিধাৰ সেৱা অন বা অফ কৰিবলৈ স্ক্রীণখনৰ একেবাৰে তলিৰ পৰা ওপৰলৈ দুটা আঙুলিৰে ছোৱাইপ কৰক।\n\nসেৱাসমূহ সালসলনিকৈ ব্যৱহাৰ কৰিবলৈ দুটা আঙুলিৰে ওপৰলৈ ছোৱাইপ কৰি ধৰি ৰাখক।"</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"কোনো সাধ্য সুবিধাৰ সেৱা অন বা অফ কৰিবলৈ স্ক্রীণখনৰ একেবাৰে তলিৰ পৰা ওপৰলৈ তিনিটা আঙুলিৰে ছোৱাইপ কৰক।\n\nসেৱাসমূহ সালসলনিকৈ ব্যৱহাৰ কৰিবলৈ তিনিটা আঙুলিৰে ওপৰলৈ ছোৱাইপ কৰি ধৰি ৰাখক।"</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"এই সেৱাটো অন বা অফ কৰিবলৈ আপোনাৰ স্ক্রীণৰ একেবাৰে তলিত থকা সাধ্য সুবিধাৰ বুটামটো<xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> টিপক।\n\nসেৱাসমূহ সালসলনিকৈ ব্যৱহাৰ কৰিবলৈ সাধ্য সুবিধাৰ বুটামটো স্পর্শ কৰি ধৰি ৰাখক।"</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"এই সেৱাটো অন অথবা অফ কৰিবলৈ স্ক্রীনখনৰ একেবাৰে তলিৰ পৰা ওপৰলৈ দুটা আঙুলিৰে ছোৱাইপ কৰক।\n\nসেৱাসমূহ সালসলনিকৈ ব্যৱহাৰ কৰিবলৈ দুটা আঙুলিৰে ওপৰলৈ ছোৱাইপ কৰি ধৰি ৰাখক।"</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"এই সেৱাটো অন অথবা অফ কৰিবলৈ স্ক্রীনখনৰ একেবাৰে তলিৰ পৰা ওপৰলৈ তিনিটা আঙুলিৰে ছোৱাইপ কৰক।\n\nসেৱাসমূহ সালসলনিকৈ ব্যৱহাৰ কৰিবলৈ তিনিটা আঙুলিৰে ওপৰলৈ ছোৱাইপ কৰি ধৰি ৰাখক।"</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"কোনো সাধ্য সুবিধাৰ সেৱা অন অথবা অফ কৰিবলৈ স্ক্রীনখনৰ একেবাৰে তলিৰ পৰা ওপৰলৈ দুটা আঙুলিৰে ছোৱাইপ কৰক।\n\nসেৱাসমূহ সালসলনিকৈ ব্যৱহাৰ কৰিবলৈ দুটা আঙুলিৰে ওপৰলৈ ছোৱাইপ কৰি ধৰি ৰাখক।"</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"কোনো সাধ্য সুবিধাৰ সেৱা অন অথবা অফ কৰিবলৈ স্ক্রীনখনৰ একেবাৰে তলিৰ পৰা ওপৰলৈ তিনিটা আঙুলিৰে ছোৱাইপ কৰক।\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="2820923641553461297">"সাধ্য সুবিধাৰ বুটাম"</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>
+    <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8922102767509399352">"আপোনাৰ স্ক্রীনখনৰ একেবাৰে তলৰ অংশত থকা সাধ্য সুবিধাৰ বুটামটো <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> টিপক"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"২ টা আঙুলিৰে স্ক্রীনখনৰ একেবাৰে তলিৰ পৰা ওপৰলৈ ছোৱাইপ কৰক"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"৩ টা আঙুলিৰে স্ক্রীনখনৰ একেবাৰে তলিৰ পৰা ওপৰলৈ ছোৱাইপ কৰক"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"ভলিউম কীসমূহ ধৰি ৰখক"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"১ ছেকেণ্ডৰ বাবে দুয়োটা ভলিউম কী টিপি ধৰি থাকক"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"স্ক্রীনখনত তিনিবাৰ টিপক"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"ক্ষিপ্ৰতাৰে স্ক্ৰীনখনত ৩ বাৰ টিপক। এইটোৱে আপোনাৰ ডিভাইচটো লেহেমীয়া কৰিব পাৰে।"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"উচ্চখাপৰ"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"দিব্যাংগসকলৰ সুবিধাৰ বুটামটো <xliff:g id="SERVICE">%1$s</xliff:g> হিচাপে ছেট কৰা হৈ আছে। বিবৰ্ধন ব্যৱহাৰ কৰিবলৈ বুটামটো হেঁচি ৰাখক আৰু তাৰ পিছত বিবৰ্ধন বাছনি কৰক।"</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"সাধ্য সুবিধাৰ নিৰ্দেশ <xliff:g id="SERVICE">%1$s</xliff:g>ত ছেট কৰা হৈছে। বিবৰ্ধন ব্যৱহাৰ কৰিবলৈ দুটা আঙুলিৰে স্ক্ৰীণৰ তলৰ পৰা ওপৰলৈ ছোৱাইপ কৰক আৰু ধৰি ৰাখক। তাৰপাছত বিবৰ্ধন বাছনি কৰক।"</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"ভলিউম চাবিৰ শ্বৰ্টকাট"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"সেৱা শ্বৰ্টকাট"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"শ্বৰ্টকাটৰ ছেটিংসমূহ"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"লক স্ক্ৰীণৰ পৰা নিয়ন্ত্ৰণ কৰক"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"শ্বৰ্টকাটটো অন হৈ থকা অৱস্থাত, আপুনি দুয়োটা ভলিউম বুটাম ৩ ছেকেণ্ডৰ বাবে হেঁচি ৰাখি দিব্যাংগসকলৰ বাবে থকা সুবিধা এটা আৰম্ভ কৰিব পাৰে।"</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"ৰঙৰ উচ্চ প্ৰভেদযুক্ত পাঠ"</string>
@@ -2149,24 +2157,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"আপোনাক কোনো কার্যপন্থা গ্ৰহণ কৰিবলৈ কোৱা অস্থায়ীভাৱে দৃশ্যমান হোৱা বার্তাসমূহ কিমান সময় প্ৰদর্শন কৰিব খোজে সেয়া বাছনি কৰক।\n\nএই ছেটিংসমূহে প্ৰতিটো এপতে কাম নকৰে।"</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"স্পৰ্শ কৰি হেঁচি ধৰি থকাৰ সময়"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"ৰং বিপৰীতকৰণ"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"কাৰ্যদক্ষতাত প্ৰভাৱ পৰিব পাৰে"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"কোনো বস্তুত কাৰ্ছাৰ ৰখা সময়"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"ৰং বিপৰীতকৰণ ব্যৱহাৰ কৰক"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"ৰং বিপৰীত কৰা সুবিধাটোৱে পাতল স্ক্ৰীনসমূহ গাঢ় কৰি তোলে। এইটোৱে উজ্জ্বল পোহৰৰ প্ৰতি সংবেদনশীল লোকসকলক স্ক্ৰীনখন অধিক সহজে দেখাত সহায় কৰে।&lt;br/&gt;&lt;br/&gt;টোকা: গাঢ় ৰংসমূহ পাতল হৈ পৰিব। মিডিয়া আৰু প্ৰতিচ্ছবিসমূহত ৰংসমূহ সলনি হ’ব। আপুনি গাঢ় ৰঙৰ থীমো ব্যৱহাৰ কৰিব পাৰে (ছেটিংসমূহ &gt; ডিছপ্লে’)।"</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"স্বয়ং ক্লিক (কোনো বস্তুত কাৰ্ছাৰ ৰখা সময়)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"আপুনি যদি কোনো মাউছ ব্যৱহাৰ কৰি আছে তেন্তে ই নিশ্চিত সময়লৈকে লৰচৰ নকৰিলে আপুনি কাৰ্ছাৰক স্বয়ংক্ৰিয়ভাৱে কাৰ্য কৰিব পৰাকৈ ছেট কৰিব পাৰে।"</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"ক্লিক কৰাৰ আগত বিলম্ব"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"স্বয়ং ক্লিক ব্যৱহাৰ নকৰিব (ডিফ’ল্ট)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"চুটি"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"০.২ ছেকেণ্ড"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"মধ্যমীয়া"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"০.৬ ছেকেণ্ড"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"দীঘল"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"১ ছেকেণ্ড"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"কাষ্টম"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"বেছি চুটি"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"বেছি দীঘল"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"স্বয়ংক্ৰিয় ক্লিকৰ সময়"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"কম্পন আৰু হেপ্‌টিক ষ্ট্ৰেংথ"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"জাননীৰ কম্পন"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"ৰিং কম্পন"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"স্পৰ্শৰ প্ৰতিক্ৰিয়া"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"সেৱা ব্যৱহাৰ কৰক"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g> ব্যৱহাৰ কৰক"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g> খোলক"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"ৰং শুধৰণি ব্যৱহাৰ কৰক"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"কেপশ্বন ব্যৱহাৰ কৰক"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"কেপশ্বনসমূহ দেখুৱাওক"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"কেপশ্বনৰ ৰূপ"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"পাঠৰ আকাৰ, কেপশ্বনৰ শৈলী"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"অধিক বিকল্প"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"সকলো এপে এই ছেটিংটো সমর্থন নকৰে।"</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>
     <string name="accessibility_hearingaid_instruction_continue_button" msgid="3367260988024430722">"অব্যাহত ৰাখক"</string>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"শ্ৰৱণ যন্ত্ৰ"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"কোনো শ্ৰৱণ যন্ত্ৰ সংযুক্ত হৈ থকা নাই"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"শ্ৰৱণ যন্ত্ৰ যোগ কৰক"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"শ্ৰৱণ যন্ত্ৰ যোৰ পতাবলৈ পৰৱৰ্তী স্ক্ৰীণত আপোনাৰ ডিভাইচটো বিচাৰি তাত টিপক।"</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"শ্ৰৱণ যন্ত্ৰটো যোৰ পতোৱা ম\'ডত থকাটো নিশ্চিত কৰক।"</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"শ্ৰৱণ যন্ত্ৰ যোৰা পতাবলৈ পৰৱৰ্তী স্ক্ৰীণত আপোনাৰ ডিভাইচটো বিচাৰি তাত টিপক। শ্ৰৱণ যন্ত্ৰটো যোৰা পতোৱা ম\'ডত থকাটো নিশ্চিত কৰক।"</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> সক্ৰিয় হৈ আছে"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> ছেভ কৰি থোৱা শ্ৰৱণ যন্ত্ৰ</item>
@@ -2178,25 +2204,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"এই সেৱাএ ভালকৈ কাম কৰা নাই।"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"দ্ৰুত ছেটিংসমূত দেখুৱাওক"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"শুধৰণী ম\'ড"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="one">অতি কম সময়ৰ বিলম্ব (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> মি.ছে.)</item>
-      <item quantity="other">অতি কম সময়ৰ বিলম্ব (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> মি.ছে.)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"ৰঙা-সেউজীয়া"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"সেউজীয়া-ৰঙা"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"নীলা-হালধীয়া"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"ডিউটাৰএন\'মেলী"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"প্ৰ’টানোমালি"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"ট্ৰাইটান\'মেলী"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="one">অত্যন্ত চুটি বিলম্ব (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ছেকেণ্ড)</item>
+      <item quantity="other">অত্যন্ত চুটি বিলম্ব (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ছেকেণ্ড)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="one">অতি কম বিলম্ব (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> মি.ছে.)</item>
-      <item quantity="other">অতি কম বিলম্ব (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> মি.ছে.)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="one">অতি চুটি বিলম্ব (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ছেকেণ্ড)</item>
+      <item quantity="other">অতি চুটি বিলম্ব (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ছেকেণ্ড)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="one">কম সময়ৰ বিলম্ব (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> মি.ছে.)</item>
-      <item quantity="other">কম সময়ৰ বিলম্ব (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> মি.ছে.)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="one">চুটি বিলম্ব (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ছেকেণ্ড)</item>
+      <item quantity="other">চুটি বিলম্ব (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ছেকেণ্ড)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="one">দীৰ্ঘ সময়ৰ বিলম্ব (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> মি. ছে.)</item>
-      <item quantity="other">দীৰ্ঘ সময়ৰ বিলম্ব (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> মি. ছে.)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="one">দীঘলীয়া বিলম্ব (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ছেকেণ্ড)</item>
+      <item quantity="other">দীঘলীয়া বিলম্ব (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ছেকেণ্ড)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="one">বহু বেছি সময়ৰ বিলম্ব (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> মি. ছে.)</item>
-      <item quantity="other">বহু বেছি সময়ৰ বিলম্ব (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> মি. ছে.)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="one">অতি দীঘলীয়া বিলম্ব (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ছেকেণ্ড)</item>
+      <item quantity="other">অতি দীঘলীয়া বিলম্ব (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ছেকেণ্ড)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ছেকেণ্ড</item>
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ছেকেণ্ড</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"ৰিং <xliff:g id="SUMMARY_RING">%1$s</xliff:g>, জাননী <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>, স্পৰ্শ <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"ৰিং আৰু জাননীৰ ধ্বনি অফ হিচাপে ছেট কৰা হৈছে"</string>
@@ -2513,7 +2549,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"যেতিয়া <xliff:g id="UNPLUGGED">%1$s</xliff:g> অন্তিমবাৰ আনপ্লাগ কৰা হৈছিল"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"ব্য়ৱহাৰৰ মুঠ"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"ৰিফ্ৰেশ্ব"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"Android OS"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"মিডিয়াছাৰ্ভাৰ"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"এপ অপ্টিমাইজেশ্বন"</string>
     <string name="battery_saver" msgid="7737147344510595864">"বেটাৰি সঞ্চয়কাৰী"</string>
@@ -2594,8 +2629,7 @@
     <string name="tts_play" msgid="2945513377250757221">"চলাওক"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"ভিপিএন"</string>
     <string name="credentials_title" msgid="7535942196886123656">"ক্ৰেডেনশ্বিয়েল সঞ্চয়াগাৰ"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"সঞ্চয়াগাৰৰ পৰা ইনষ্টল কৰক"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"SD কাৰ্ডৰ পৰা ইনষ্টল কৰক"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"এখন প্ৰমাণপত্ৰ ইনষ্টল কৰক"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"সঞ্চয়াগাৰৰ পৰা প্ৰমাণপত্ৰ ইনষ্টল কৰক"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"এছডি কাৰ্ডৰ পৰা প্ৰমাণপত্ৰ ইনষ্টল কৰক"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"ক্ৰেডেনশ্বিয়েল গুচাওক"</string>
@@ -2615,6 +2649,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"ক্ৰেডেনশ্বিয়েল সঞ্চয়াগাৰ মচা হ’ল।"</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"ক্ৰেডেনশ্বিয়েল সঞ্চয়াগাৰ মচিব নোৱাৰি৷"</string>
     <string name="usage_access_title" msgid="1580006124578134850">"ব্যৱহাৰ কৰাৰ সুবিধা পোৱা এপবোৰ"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"CA প্ৰমাণপত্ৰ"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"VPN আৰু এপ্‌ ব্যৱহাৰকাৰীৰ প্ৰমাণপত্ৰ"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"ৱাই-ফাই প্ৰমাণপত্ৰ"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"আপোনাৰ গোপনীয়তা অসুৰক্ষিত অৱস্থাত আছে"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"এনক্ৰিপশ্বনৰ বাবে ৱেবছাইট, এপ্‌ আৰু VPNসমূহে CA প্ৰমাণপত্ৰসমূহ ব্যৱহাৰ কৰে। কেৱল আপুনি বিশ্বাস কৰা প্ৰতিষ্ঠানসমূহৰ পৰাহে CA প্ৰমাণপত্ৰসমূহ ইনষ্টল কৰক। \n\n আপুনি যদি এখন CA প্ৰমাণপত্ৰ ইনষ্টল কৰে, প্ৰমাণপত্ৰৰ গৰাকীজনে আপুনি খোলা ৱেবছাইট অথবা আপুনি ব্যৱহাৰ কৰা এপ্‌সমূহৰ পৰা পাছৱৰ্ড, বাৰ্তা অথবা ক্ৰেডিট কাৰ্ডৰ সবিশেষৰ দৰে তথ্যবোৰ এক্সেছ কৰিব পাৰে - লাগিলে সেই তথ্যখিনি এনক্ৰিপ্ট কৰাই নাথাকক কিয়।"</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"ইনষ্টল নকৰিব"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"যি হ’লেও ইনষ্টল কৰক"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"প্ৰমাণপত্ৰ ইনষ্টল নহ’ল"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"জৰুৰীকালীন অৱস্থাত ডায়েল কৰা ছিগনেল"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"জৰুৰীকালীন কল কৰোতে কৰিবলগীয়া আচৰণ ছেট কৰক"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"বেকআপ"</string>
@@ -2642,10 +2684,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"নিষ্ক্ৰিয় আৰু আনইনষ্টল কৰক"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"ডিভাইচৰ প্ৰশাসকৰ এপসমূহ"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"কোনো ডিভাইচ প্ৰশাসকৰ এপ্ উপলব্ধ নাই"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"ব্যক্তিগত"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"কৰ্মস্থান"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"এছএমএছ আৰু কল লগ প্ৰতিবন্ধিত কৰক"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"কেৱল ডিফ\'ল্ট ফ\'ন আৰু মেছেজিং এপতহে এছএমএছ আৰু কল লগৰ অনুমতি আছে"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"কোনো বিশ্বাসী এজেণ্ট পোৱা নগ\'ল"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"এই ডিভাইচ প্ৰশাসক এপটো সক্ৰিয় কৰেনে?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"এই ডিভাইচ এডমিন এপটো সক্ৰিয় কৰক"</string>
@@ -2659,6 +2697,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"আপোনাৰ এডমিনে অইন বিকল্পসমূহ নিষ্ক্ৰিয় কৰি ৰাখিছে"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"অধিক বিৱৰণ"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"জাননীৰ লগ"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"জাননীৰ ইতিহাস"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"আজি"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"স্নুজ কৰা হ’ল"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"শেহতীয়াকৈ অগ্ৰাহ্য কৰা হ\'ল"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="one"><xliff:g id="NUMBER_1">%d</xliff:g> খন জাননী</item>
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> খন জাননী</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"কলৰ ৰিংট’ন আৰু কম্পন"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"নেটৱৰ্কৰ সবিশেষ"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"ছিংক সক্ষম কৰা হৈছে"</string>
@@ -3008,7 +3054,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"সীমাবদ্ধতাসমূহ"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"সীমাবদ্ধতা আঁতৰাওক"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"পিন সলনি কৰক"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"জাননী দেখুৱাওক"</string>
     <string name="help_label" msgid="2896538416436125883">"সহায় আৰু প্ৰতিক্ৰিয়া"</string>
     <string name="support_summary" msgid="1034146931237148885">"সহায়ক লেখা, ফ\'ন আৰু চ্চাট, আৰম্ভ কৰা"</string>
     <string name="user_account_title" msgid="6389636876210834864">"সমলৰ একাউণ্ট"</string>
@@ -3033,6 +3078,14 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G কলিং"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"ধ্বনি আৰু অইন যোগাযোগ উন্নত কৰিবলৈ LTE সেৱা ব্যৱহাৰ কৰক (চুপাৰিছ কৰা হয়)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"ভইচ কল আৰু অন্য যোগাযোগৰ সুবিধাসমূহ উন্নত কৰিবলৈ 4G সেৱাসমূহ ব্যৱহাৰ কৰক (চুপাৰিছ কৰা)"</string>
+    <!-- no translation found for contact_discovery_opt_in_title (4076990635900099116) -->
+    <skip />
+    <!-- no translation found for contact_discovery_opt_in_summary (4104310593310967300) -->
+    <skip />
+    <!-- no translation found for contact_discovery_opt_in_dialog_title (6278407286820554079) -->
+    <skip />
+    <!-- no translation found for contact_discovery_opt_in_dialog_message (5787751513924920435) -->
+    <skip />
     <string name="preferred_network_type_title" msgid="812509938714590857">"অগ্ৰাধিকাৰপ্ৰাপ্ত নেটৱৰ্কৰ প্ৰকাৰ"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (অনুমোদিত)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"এমএমএছ বাৰ্তা"</string>
@@ -3077,7 +3130,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"এই ছিমৰ সহায়ত কল কৰক"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"এখন ছিম কাৰ্ড বাছনি কৰক"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"ছিম <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"ছিম খালী"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"ছিমৰ নাম"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"ছিমৰ নাম দিয়ক"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"ছিমৰ শ্লট %1$d"</string>
@@ -3087,6 +3139,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"ছিম কাৰ্ড বাছনি কৰক"</string>
     <string name="color_orange" msgid="216547825489739010">"কমলা"</string>
     <string name="color_purple" msgid="6603701972079904843">"বেঙুনীয়া"</string>
+    <string name="color_pink" msgid="8596872110888626708">"গুলপীয়া"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"কোনো ছিম কাৰ্ড ভৰোৱা নাই"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"ছিমৰ স্থিতি"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"ছিমৰ স্থিতি (ছিমৰ শ্লট %1$d)"</string>
@@ -3100,7 +3153,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"ছিম কাৰ্ড সলনি কৰা হৈছে"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"ছেট আপ কৰিবলৈ টিপক"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"ইয়াৰ বাবে অগ্ৰাধিকাৰপ্ৰাপ্ত ছিম"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"প্ৰতিবাৰতে সোধক"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"বাছনি কৰা প্ৰয়োজন"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"ছিম নিৰ্বাচন"</string>
@@ -3118,6 +3170,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"ব্লুটুথ, গাড়ী চালনা ম\'ড"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"ব্লুটুথ, NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"ব্লুটুথ"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"NFC অফ হৈ থকাৰ কাৰণে উপলব্ধ নহয়"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"এপ্ আৰু জাননীসমূহ"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"শেহতীয়া এপ্‌সমূহ, ডিফ’ল্ট এপ্‌সমূহ"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"কৰ্মস্থলৰ প্ৰ’ফাইলত থকা এপৰ বাবে জাননী সম্পৰ্কীয় এক্সেছ নাথাকে।"</string>
@@ -3128,13 +3181,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"ছেটিংসমূহ"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"ৱাইফাই, ৱাই-ফাই, নেটৱৰ্ক সংযোগ, ইণ্টাৰনেট, বেঁতাৰ, ডেটা, ৱাই ফাই"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"ৱাই-ফাই জাননী, ৱাইফাই জাননী"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"ডেটাৰ ব্যৱহাৰ"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"কম্পন বন্ধ কৰক, টিপক, কীব’ৰ্ড"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"২৪ ঘণ্টীয়া ফৰমেট ব্যৱহাৰ কৰক"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"ডাউনল’ড কৰক"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"ইয়াৰ জৰিয়তে খোলক"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"এপ্লিকেশ্বনসমূহ"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"সময় মণ্ডল"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"চাট হে’ড"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"চাট হে’ড, ছিষ্টেম, সতৰ্কবাৰ্তা, ৱিণ্ড’, ডায়লগ, ডিছপ্লে’, অন্য এপ্‌সমূহৰ ওপৰত, অংকন"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"ফ্লাশ্বলাইট, লাইট, টৰ্চ"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"ৱাইফাই, ৱাই-ফাই, ট\'গল, নিয়ন্ত্ৰণ"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"চেলুলাৰ, ম’বাইল, ম’বাইল সেৱা প্ৰদানকাৰী, ৱায়াৰলেচ, ডেটা, 4g,3g, 2g, lte"</string>
@@ -3158,7 +3212,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"অসুবিধা নিদিব, অসুবিধা, অসুবিধা, বিৰতি"</string>
     <string name="keywords_app" msgid="7983814237980258061">"ৰেম"</string>
     <string name="keywords_location" msgid="8016374808099706213">"নিকটৱৰ্তী, অৱস্থান, ইতিহাস, ৰিপ’ৰ্টিং, জিপিএছ"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"একাউণ্ট"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"একাউণ্ট, এটা একাউণ্ট যোগ কৰক, কৰ্মস্থানৰ প্ৰ’ফাইল, একাউণ্ট যোগ কৰক"</string>
     <string name="keywords_users" msgid="3497517660077620843">"সীমাবদ্ধতা, সীমাবদ্ধ কৰা, সীমাবদ্ধ কাৰ হোৱা"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"পাঠ শুধৰণী, শুদ্ধ, ধ্বনি, কম্পন, স্বয়ং, ভাষা, নিৰ্দেশ, পৰামৰ্শ দিয়া, পৰামৰ্শ, থিম, অশালীন, শব্দ, প্ৰকাৰ, ইম’জি, আন্তৰ্জাতিক"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"ৰিছেট, অগ্ৰাধিকাৰ, ডিফ’ল্ট"</string>
@@ -3196,6 +3250,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"মেম’ৰি, কেশ্ব, ডেটা, মচা, খালী, ঠাই"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"সংযুক্ত, ডিভাইচ, হেডফ\'ন, হেডছেট, স্পীকাৰ, বেঁতাৰ, যোৰ, ইয়েৰবাড, সংগীত, মিডিয়া"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"পটভূমি, স্ক্ৰীণ, লকস্ক্ৰীণ, থীম"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"আইকনৰ আকৃতি, এক্সেণ্টৰ ৰং, ফণ্ট"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"ডিফ\'ল্ট, সহায়ক"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"পেমেণ্ট, ডিফ’ল্ট"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"অন্তৰ্গামী জাননী"</string>
@@ -3205,18 +3260,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"হেপটিক্স, কম্পন, সংবেদনশীলতা"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"বেটাৰি সঞ্চয়কাৰী, ষ্টিকি, পাৰছিষ্ট, পাৱাৰ ছেভাৰ, বেটাৰি"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"ৰুটিন, সময়সূচী, বেটাৰী সঞ্চয়কাৰী, পাৱাৰ ছেভাৰ, বেটাৰী, স্বয়ংক্ৰিয়, শতাংশ"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"কৰ্মস্থানৰ প্ৰ’ফাইল"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"volte, উচ্চখাপৰ কলিং, 4g কলিং"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"ভাষা যোগ কৰক, এটা ভাষা যোগ কৰক"</string>
     <string name="default_sound" msgid="6604374495015245195">"ডিফ\'ল্ট ধ্বনি"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"ৰিঙৰ ভলিউম <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"ৰিং আৰু জাননীৰ ভলিউম <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"ভলিউম, কম্পন, অসুবিধা নিদিব"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"ৰিংগাৰ কম্পন হ\'বলৈ ছেট কৰা হৈছে"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"ৰিংগাৰ নীৰৱ হিচাপে ছেট কৰা হৈছে"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"ৰিঙৰ ভলিউম ৮০%"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"ৰিং আৰু জাননীৰ ভলিউম ৮০%"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"মিডিয়াৰ ভলিউম"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"ভলিউম কাষ্ট কৰক"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"কলৰ ভলিউম"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"এলাৰ্মৰ ভলিউম"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"ৰিঙৰ ভলিউম"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"ৰিং আৰু জাননীৰ ভলিউম"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"জাননী-ধ্বনিৰ ভলিউম"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"ফ\'নৰ ৰিংট\'ন"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"ডিফ\'ল্ট জাননী ধ্বনি"</string>
@@ -3224,6 +3280,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"জাননীৰ ডিফ\'ল্ট ধ্বনি"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"এলাৰ্মৰ ডিফ\'ল্ট ধ্বনি"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"কল আহিলে কম্পন হ\'ব"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"কেতিয়াও কম্পন হ’ব নালাগে"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"সদায় কম্পন হ’ব লাগে"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"প্ৰথমে কম্পন হৈ তাৰপাছত ক্ৰমে ৰিং হ’ব লাগে"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"অইন ধ্বনিসমূহ"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"ডায়েল পেডৰ ট\'নসমূহ"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"স্ক্ৰীণ লকৰ ধ্বনি"</string>
@@ -3247,6 +3306,7 @@
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g>টা সক্ষম কৰা হ’ল</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"অসুবিধা নিদিব"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"কেৱল গুৰুত্বপূর্ণ লোক আৰু এপ্‌সমূহৰ পৰা জাননী পাওক"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"বাধাবোৰ সীমিত কৰক"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"অসুবিধা নিদিব অন কৰক"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"ব্যতিক্রম"</string>
@@ -3273,7 +3333,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"দৃশ্যমান বিঘিনি প্ৰতিৰোধ কৰক"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"দৃশ্যমান সংকেতৰ অনুমতি দিয়ক"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"‘অসুবিধা নিদিব ম\'ড’ অন হৈ থাকিলে"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"ধ্বনিৰ সৃষ্টি কৰা বাধাসমূহৰ বাবে অনুমতি দিয়ক"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"জাননী সীমিত কৰক"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"জাননীৰ লগত জড়িত ধ্বনি নিষেধ"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"আপুনি স্ক্ৰীণত জাননী দেখা পাব"</string>
@@ -3304,7 +3364,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"ধ্বনি আৰু কম্পন"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"জাননীসমূহৰ ধ্বনি, কম্পন আৰু কিছুমান দৃশ্যগত সংকেত"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"জাননীসমূহৰ ধ্বনি, কম্পন আৰু দৃশ্যগত সংকেতসমূহ"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"ফ\'নৰ প্ৰাথমিক কাৰ্যকলাপৰ কাৰণে জাননীসমূহৰ প্ৰয়োজন হয় আৰু ফ\'নৰ স্থিতি কেতিয়াও লুকুওৱা নহয়"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"ফ\'নৰ প্ৰাথমিক কাৰ্যকলাপৰ কাৰণে জাননীসমূহৰ প্ৰয়োজন হয় আৰু ফ\'নৰ স্থিতি কেতিয়াও লুকুওৱা নহয়।"</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"এটাও নহয়"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"অন্য বিকল্পসমূহ"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"যোগ কৰক"</string>
@@ -3334,10 +3394,12 @@
       <item quantity="one"><xliff:g id="ON_COUNT">%d</xliff:g>টা সময়সূচী স্বয়ংক্ৰিয়ভাৱে অন হ’ব পাৰে</item>
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g>টা সময়সূচী স্বয়ংক্ৰিয়ভাৱে অন হ’ব পাৰে</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"ডিভাইচটো মিউট কৰক কিন্তু ব্যতিক্ৰমসমূহক অনুমতি দিয়ক"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"ব্যতিক্রম"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"সূচীৰ পৰা"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"সকলো ব্যতিক্ৰম দেখুৱাওক"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"‘অসুবিধা নিদিব ম\'ড’ অন হৈ থকা অৱস্থাৰ ব্যতিক্ৰমসমূহ"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"লোক"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"এপ্‌সমূহ"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"এলাৰ্ম আৰু অন্যান্য ব্যাঘাতসমূহ"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"সময়সূচী"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"অসুবিধা নিদিবৰ বাবে থকা জাননীসমূহ"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"অসুবিধা নিদিব ম\'ড অন থকা অৱস্থাত আপুনি ওপৰত অনুমতি দিয়া বস্তুবোৰৰ বাহিৰে ধ্বনি আৰু কম্পনক মিউট কৰা হ\'ব।"</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"ইয়াৰ বাহিৰে সকলোকে মিউট কৰক"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"মিউট আছে"</string>
@@ -3381,16 +3443,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"অভিযোজিত জাননীসমূহ"</string>
     <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_capabilities_actions_replies_title" msgid="4392470465646394289">"পৰামর্শ হিচাপে পোৱা কার্য আৰু প্ৰত্যুত্তৰসমূহ"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"পৰামর্শ হিচাপে পোৱা কার্য &amp; প্ৰত্যুত্তৰসমূহ স্বয়ংক্ৰিয়ভাৱে দেখুৱাওক"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"পূৰ্বৰ আৰু স্নুজ কৰা জাননীসমূহ ট্ৰেক কৰিবলৈ জাননীৰ ইতিহাস অন কৰক"</string>
+    <string name="notification_history" msgid="8663811361243456201">"জাননীৰ ইতিহাস"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"ইতিহাস অন কৰক"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"ইতিহাস অফ কৰক"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"জাননীৰ ইতিহাস অফ কৰি থোৱা আছে"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"জাননীৰ ছেটিংসমূহ চাওক"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"জাননী স্নুজ কৰাৰ অনুমতি দিয়ক"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"সাধাৰণ জাননীসমূহৰ পৰা আইকনসমূহ লুকুৱাওক"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"সাধাৰণ জাননীসমূহৰ আইকনসমূহ স্থিতিৰ দণ্ডত দেখুওৱা নহয়"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"জাননী বিন্দুক অনুমতি দিয়ক"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"শেহতীয়া বাৰ্তালাপসমূহৰ ষ্ট্ৰিপটো দেখুৱাওক"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"বাবল"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"কিছুমান জাননী স্ক্ৰীণত বাবল হিচাপে দেখা যাব পাৰে"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"কিছুমান জাননী আৰু অন্য সমল স্ক্ৰীণত বাবল হিচাপে দেখা যাব পাৰে। কোনো এটা বাবল খুলিবলৈ তাত টিপক। সোইটো অগ্ৰাহ্য কৰিবলৈ, টানি আনি স্ক্ৰীণৰ তলৰ অংশত এৰক।"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"বাবল"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"নতুন বাৰ্তাসমূহ স্ক্ৰীনত দেখা পোৱা যাব"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"<xliff:g id="APP_NAME">%1$s</xliff:g> এপক কিছুমান জাননী বাবল হিচাপে দেখুৱাবলৈ অনুমতি দিয়ক"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"বাবল অন কৰক"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"আপুনি এই এপ্‌টোৰ বাবল অন কৰিবলৈ প্ৰথমে নিজৰ ডিভাইচৰ বাবল অন কৰাৰ প্ৰয়োজন। এই কাৰ্যই আপুনি আগতে বাবল অন কৰা অন্য এপ্‌বোৰৰ ক্ষেত্ৰত প্ৰভাৱ পেলায়।"</string>
@@ -3408,6 +3480,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"পুল-ডাউন শ্বেড আৰু লক স্ক্ৰীণত দেখুৱাওক"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"পুল-ডাউন শ্বেড আৰু ষ্টেটাছ বাৰত দেখুৱাওক"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"পুল-ডাউন শ্বেড, ষ্টেটাছ বাৰ আৰু লক স্ক্ৰীণত দেখুৱাওক"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"স্থিতি দণ্ডত নীৰৱ জাননীসমূহ লুকুৱাওক"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"অনুজ্জ্বল পোহৰ"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"লক স্ক্ৰীণ"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"লক স্ক্ৰীণ বাদ দিয়ক"</string>
@@ -3438,6 +3511,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"আচৰণ"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"ধ্বনি বাজিবলৈ দিয়ক"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"কেতিয়াও জাননী নেদেখুৱাব"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"বাৰ্তালাপসমূহ"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"বাৰ্তালাপ"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"এটা বাৰ্তালাপ নহয়"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"বাৰ্তালাপ শিতানটোৰ পৰা আঁতৰাওক"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"এইটো এটা বাৰ্তালাপ"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"বাৰ্তালাপ শাখাটোত যোগ কৰক"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"বাৰ্তালাপসমূহ পৰিচলনা কৰক"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"গুৰুত্বপূর্ণ বার্তালাপসমূহ"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"সকলো বাৰ্তালাপ"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"গুৰুত্বপূর্ণ বার্তালাপসমূহ বাবল কৰক"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"গুৰুত্বপূর্ণ বার্তালাপসমূহ পুল-ডাউন শ্বেডৰ একেবাৰে ওপৰত দেখুওৱা হয়। আপুনি সেইবোৰ বাবললৈ ছেট কৰিব পাৰে আৰু অসুবিধা নিদিবত ব্যাঘাত জন্মাব পাৰে।"</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"নিৰৱে দেখুৱাওক আৰু মিনিমাইজ কৰক"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"নিৰৱে দেখুৱাওক"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"ধ্বনি বজাওক"</string>
@@ -3456,7 +3540,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"কোনো ধ্বনি অথবা কম্পন অবিহনে আপোনাক মনোযোগ দিয়াত সহায় কৰে"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"ধ্বনি অথবা কম্পনৰ জৰিয়তে আপোনাৰ মনোযোগ আকৰ্ষণ কৰে"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"ডিভাইচটো আনলক কৰি ৰাখিলে, স্ক্ৰীণৰ ওপৰ অংশত বেনাৰ হিচাপে জাননীসমূহ দেখুৱাওক"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"জাননী দেখুৱাওক"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"<xliff:g id="APP_NAME">%1$s</xliff:g>ৰ সকলো জাননী"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"অভিযোজিত জাননী"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="one">~প্ৰতিদিনে <xliff:g id="NUMBER_1">%d</xliff:g>টা জাননী</item>
@@ -3477,6 +3561,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"অভিযোজিত জাননী"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"নাই"</string>
     <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="3119843404577399036">"<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>
@@ -3538,8 +3623,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"হ’ল"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"প্ৰাধান্যতা"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"অনুজ্জ্বল পোহৰ"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"কম্পন"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"কম্পন"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"ধ্বনি"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"গুৰুত্বপূর্ণ"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"গৃহত যোগ কৰক"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"মচক"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"নতুন নাম দিয়ক"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"সময়সূচীৰ নাম"</string>
@@ -3593,6 +3680,10 @@
       <item quantity="one"><xliff:g id="NUM_PEOPLE">%d</xliff:g> অন্য</item>
       <item quantity="other"><xliff:g id="NUM_PEOPLE">%d</xliff:g> অন্য</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"বাৰ্তালাপসমূহ"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"সকলো বার্তালাপৰ পৰা"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"সকলো গুৰুত্বপূর্ণ বার্তালাপৰ পৰা"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"কোনো বার্তালাপৰ অনুমতি নিদিব"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"বাৰ্তাৰ অনুমতি দিয়ক"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"অনুমতি দিয়া নম্বৰৰ পৰা বাৰ্তা আহিলে যাতে ধ্বনি বজোৱা হয় তাক নিশ্চিত কৰিবলৈ আপোনাৰ ডিভাইচটো ৰিং কৰিবলৈ, কম্পন কৰিবলৈ বা নীৰৱ হৈ থাকিবলৈ ছেট কৰা আছে পৰীক্ষা কৰক।"</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"‘<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>’ৰ ক্ষেত্ৰত অন্তৰ্গামী বাৰ্তাসমূহ অৱৰোধ কৰা হয়। আপুনি আপোনাৰ বন্ধুবৰ্গ, পৰিয়ালৰ লোক বা অইন সম্পৰ্কসমূহে আপোনাৰ সৈতে যোগাযোগ কৰিব পৰাকৈ ছেটিংসমূহ মিলাব পাৰে।"</string>
@@ -3606,15 +3697,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"নাই"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"কোনো কলৰ অনুমতি নিদিব"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"বাৰ্তাৰ অনুমতি নিদিব"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"এলাৰ্ম এক্সেছ কৰিবলৈ অনুমতি দিয়ক"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"এলাৰ্মসমূহ"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"টাইমাৰ, এলার্ম, সুৰক্ষাৰ ছিষ্টেমসমূহ আৰু অন্য এপ্‌সমূহৰ পৰা"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"এলাৰ্ম"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"মিডিয়া ধ্বনি বজাওক"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"মিডিয়া ধ্বনিসমূহ"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"ভিডিঅ\', গে\'ম আৰু অন্য মিডিয়াৰ পৰা"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"মিডিয়া"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"স্পৰ্শৰ ধ্বনি এক্সেছ কৰাৰ অনুমতি দিয়ক"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"স্পৰ্শৰ ধ্বনিবোৰ"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"আপোনাৰ কীবর্ড আৰু অন্য বুটামসমূহৰ পৰা"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"স্পৰ্শৰ ধ্বনি"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"ৰিমাইণ্ডাৰ এক্সেছ কৰিবলৈ অনুমতি দিয়ক"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"সোঁৱৰণিসমূহ"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"কাম আৰু ৰিমাইণ্ডাৰসমূহৰ পৰা"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"ৰিমাইণ্ডাৰ"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"কাৰ্যক্ৰমসমূহ চাবলৈ অনুমতি দিয়ক"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"কাৰ্যক্ৰমসমূহ"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"অনাগত কেলেণ্ডাৰৰ অনুষ্ঠানসমূহৰ পৰা"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"এপক অ\'ভাৰৰাইডৰ অনুমতি দিয়ক"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"ব্যতিক্ৰম যোগ কৰক"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3657,6 +3753,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"অসুবিধা নিদিবৰ দ্বাৰা নিৰৱ কৰা হোৱা জাননীসমূহক স্ক্ৰীণ অন কৰিবলৈ দিয়ক"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"জাননীৰ ছেটিংসমূহ"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"ঠিক"</string>
+    <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>
@@ -3667,6 +3764,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"আনপিন কৰোতে পাছৱৰ্ড বিচাৰক"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"আনপিন কৰোতে পাছৱৰ্ড বিচাৰক"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"আনপিন কৰোঁতে ডিভাইচ লক কৰক"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"ছিম মচাটো নিশ্চিত কৰক"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"এখন ডাউনল\'ড কৰা ছিম মচাৰ পূর্বে এইজন আপুনিয়েই বুলি সত্যাপন কৰক"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"এই কৰ্মস্থানৰ প্ৰ’ফাইলটো পৰিচালিত কৰিছে:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"<xliff:g id="ADMIN_APP_LABEL">%s</xliff:g> দ্ৱাৰা পৰিচালিত"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(পৰীক্ষামূলক)"</string>
@@ -3741,8 +3840,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"সকলো এপ্"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"ইনষ্টল কৰা হোৱা এপসমূহ"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"তাৎক্ষণিক এপ্‌সমূহ"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"ব্যক্তিগত"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"কৰ্মস্থান"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"এপ্: সকলো"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"অফ কৰা হ’ল"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"শ্ৰেণী: অতি গুৰুত্বপূৰ্ণ"</string>
@@ -3754,6 +3851,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"অজ্ঞাত এপ্"</string>
     <string name="app_permissions" msgid="8666537659217653626">"অনুমতি পৰিচালক"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"এপে ব্যৱহাৰ কৰিছে <xliff:g id="APPS">%1$s</xliff:g>"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"এপ্‌সমূহে <xliff:g id="APPS">%1$s</xliff:g> আৰু অধিক ব্যৱহাৰ কৰি আছে"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"জাগ্ৰত কৰিবলৈ টিপক"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"ডিভাইচটোক সাৰ পোৱাবলৈ স্ক্ৰীণৰ যিকোনো স্থানত দুবাৰ টিপক"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"লিংক খোলাৰ অগ্ৰাধিকাৰ"</string>
@@ -3765,9 +3863,14 @@
       <item quantity="one"><xliff:g id="COUNT">%d</xliff:g>টা এপে সমৰ্থিত লিংকবোৰ খুলি আছে</item>
       <item quantity="other"><xliff:g id="COUNT">%d</xliff:g>টা এপে সমৰ্থিত লিংকবোৰ খুলি আছে</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"এই এপত খোলক"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"এপ্‌টোক সমৰ্থিত লিংকসমূহ খুলিবলৈ অনুমতি দিয়ক"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"প্ৰতিবাৰতে সোধক"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"এই এপত নুখুলিব"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"এপ্‌টোক সমৰ্থিত লিংকসমূহ খুলিবলৈ অনুমতি নিদিব"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="one">এপ্‌টোৱে <xliff:g id="COUNT_1">%d</xliff:g> টা লিংক ব্যৱহাৰ কৰিবলৈ দাবী কৰে</item>
+      <item quantity="other">এপ্‌টোৱে <xliff:g id="COUNT_1">%d</xliff:g> টা লিংক ব্যৱহাৰ কৰিবলৈ দাবী কৰে</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"এপ্‌টোৱে তলত উল্লেখ কৰা লিংকসমূহ ব্যৱহাৰ কৰিবলৈ দাবী কৰে:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"ডিফ\'ল্ট"</string>
     <string name="default_for_work" msgid="537558180548617528">"কৰ্মস্থানৰ বাবে ডিফ\'ল্ট"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"সহায়তা আৰু ধ্বনি ইনপুট"</string>
@@ -3911,8 +4014,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"অন্য এপসমূহত দেখুৱাওক"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"অইন এপৰ ওপৰত দেখুৱাবলৈ অনুমতি দিয়ক"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"আপুনি ব্যৱহাৰ কৰি থকা অইন এপৰ ওপৰত দেখুৱাবলৈ এই এপটোক অনুমতি দিয়ক। ইয়ে আপুনি ব্যৱহাৰ কৰি থকা এপসমূহ চলাত ব্যাঘাত জন্মাব পাৰে বা সেইবিলাক স্ক্ৰীণত কেনেধৰণে ওলাই বা আচৰণ কৰে তাক সলনি কৰিব পাৰে।"</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"সকলো ফাইলৰ এক্সেছ"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"সকলো ফাইল পৰিচালনা কৰিবলৈ এক্সেছ দিয়ক"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"এই এপ্‌টোক এই ডিভাইচটোত অথবা অন্য যিকোনো সংযুক্ত ষ্ট\'ৰৰ ভলিউমসমূহত সকলো ফাইল পঢ়িব, সংশোধন কৰিব আৰু মচিবলৈ অনুমতি দিয়ক। যদি অনুমতি দিয়ে, আপোনাৰ নিশ্চিত জ্ঞানৰ অবিহনে এপে ফাইলবোৰ এক্সেছ কৰিব পাৰে।"</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"সকলো ফাইল এক্সেছ কৰিব পাৰে"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"ভিআৰ ভাৰ্শ্বুৱেল ৰিয়েলিটি শ্ৰোতা ষ্টেৰিঅ\' সহায়ক সেৱা"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"অইন এপৰ ওপৰত ছিষ্টেমৰ আগজাননী ৱিণ্ড\' উক্তি প্ৰদৰ্শন"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"অন্য এপৰ ওপৰত দেখুৱাওক"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"<xliff:g id="COUNT_1">%2$d</xliff:g>ৰ ভিতৰত <xliff:g id="COUNT_0">%1$d</xliff:g> টা এপক অন্য এপ্‌সমূহত প্ৰদৰ্শিত হ’বলৈ অনুমতি দিছে"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"অনুমতি লাভ কৰা এপসমূহ"</string>
@@ -4078,6 +4184,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"<xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g> ব্যৱহাৰ কৰা হ’ল"</string>
     <string name="data_overusage" msgid="3680477320458707259">"<xliff:g id="ID_1">^1</xliff:g> বেছি খৰছ হ’ল"</string>
     <string name="data_remaining" msgid="6316251496381922837">"<xliff:g id="ID_1">^1</xliff:g> বাকী আছে"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"গ্ৰাফে <xliff:g id="START_DATE">%1$s</xliff:g> আৰু <xliff:g id="END_DATE">%2$s</xliff:g>ৰ ভিতৰৰ ডেটাৰ ব্যৱহাৰ দেখুৱাইছে।"</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"এই তাৰিখৰ পৰিসৰৰ ভিতৰত কোনো ডেটা নাই"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="one">%d দিন বাকী আছে</item>
       <item quantity="other">%d দিন বাকী আছে</item>
@@ -4141,14 +4249,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"পাৰ্চেলৰ আকাৰ"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"এশ্বমেম"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"প্ৰদৰ্শিত জাননী"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"ধ্বনি"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"কম্পন"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"আৰ্হি"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"ডিফ\'ল্ট"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"চেনেল"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"নাই"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"ৰেংকিং অবজেক্ট পোৱা নগ\'ল।"</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"ৰেংকিং অৱজেক্টেত এই কীটো নাই৷"</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"থিম বনাই থকা হৈছে"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"ডিভাইচৰ ডিফ’ল্ট ছেটিং"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"ডিছপ্লে’ কাটআউট"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"ডিছপ্লে’ কাটআউট, ন’চ্চ"</string>
@@ -4237,8 +4341,12 @@
     <string name="information_label" msgid="6939310810756569298">"তথ্য"</string>
     <string name="low_label" msgid="6525629096999711220">"নিম্ন"</string>
     <string name="high_label" msgid="357503396626018487">"উচ্চ"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"সংবেদনশীলতা বৃদ্ধি কৰিলে স্ক্ৰীণৰ কাষবোৰৰ লগতে যিকোনো এপৰ নির্দেশসমূহত প্ৰভাৱ পৰে।"</string>
+    <string name="left_edge" msgid="1513576842959071849">"বাওঁ কাষ"</string>
+    <string name="right_edge" msgid="1505309103265829121">"সোঁ কাষ"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"উচ্চ সংবেদনশীলতাৰ স্ক্ৰীনৰ কাষবোৰৰ লগতে যিকোনো এপৰ নির্দেশসমূহৰ সৈতে সংঘাত হ’ব পাৰে।"</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"উভতি যোৱা নির্দেশৰ সংবেদনশীলতা"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"নিৰ্দেশৰ ছেটিংসমূহ"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"আঙুলিৰ স্পৰ্শৰ নিৰ্দেশেৰে কৰা নেভিগেশ্বন, উভতি যোৱা নির্দেশৰ সংবেদনশীলতা, উভতি যোৱা নির্দেশ"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"ফ\'ন চাবলৈ দুবাৰ টুকুৰিয়াওক"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"টেবলেটো চাবলৈ দুবাৰ টুকুৰিয়াওক"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"ডিভাইচ চাবলৈ দুবাৰ টুকুৰিয়াওক"</string>
@@ -4393,7 +4501,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"কেৰিয়াৰ প্ৰভিজনিং সূচনা কৰক"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"অসুবিধা নিদিব-ক আপডে’ট কৰক"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"মনোযোগ বৰ্তাই ৰাখিবলৈ জাননী বন্ধ কৰক"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"এই ডিভাইচটোত এই সুবিধাটো উপলব্ধ নহয়"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"সুবিধাসমূহ উপলব্ধ নহয়"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"এই সুবিধাটোৱে আপোনাৰ ফ\'নটোৰ কার্যকলাপ লেহেমীয়া কৰে বাবে ইয়াক অফ কৰা হৈছে"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"সম্পূৰ্ণ জিএনএছএছ পৰিমাপ প্ৰয়োগ কৰক"</string>
@@ -4403,20 +4510,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"ANGLE সক্ষম কৰি ৰখা এপ্লিকেশ্বন বাছনি কৰক"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"কোনো ANGLE সক্ষম কৰি নৰখা এপ্লিকেশ্বন"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"ANGLE সক্ষম কৰি ৰখা এপ্লিকেশ্বন: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"গে’ম ড্ৰাইভাৰৰ অগ্ৰাধিকাৰ"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"গে’ম ড্ৰাইভাৰৰ ছেটিং সংশোধন কৰক"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"যেতিয়া গে’ম ড্ৰাইভাৰ অন থাকে, তেতিয়া আপুনি ডিভাইচটোত ইনষ্টল কৰি থোৱা এপৰ বাবে আপডে’ট কৰা গ্ৰাফিক্স ড্ৰাইভাৰ বাছনি কৰিব পাৰে।"</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"সকলো এপৰ বাবে সক্ষম কৰক"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"গ্ৰাফিক্স ড্ৰাইভাৰ বাছনি কৰক"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"ডিফ’ল্ট"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"গে’ম ড্ৰাইভাৰ"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"আগতীয়াকৈ ৰিলীজ হোৱা ড্ৰাইভাৰ"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"ছিষ্টেম গ্ৰাফিক্স ড্ৰাইভাৰ"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"গ্ৰাফিক্স ড্ৰাইভাৰৰ অগ্ৰাধিকাৰসমূহ"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"গ্ৰাফিক্স ড্ৰাইভাৰৰ ছেটিংসমূহ সংশোধন কৰক"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"যেতিয়া একাধিক গ্ৰাফিক্স ড্ৰাইভাৰ থাকে, তেতিয়া আপুনি ডিভাইচটোত ইনষ্টল কৰি থোৱা এপ্‌সমূহৰ ক্ষেত্ৰত ব্যৱহাৰ কৰিবলৈ আপডে’ট কৰা গ্ৰাফিক্স ড্ৰাইভাৰটো বাছনি কৰিব পাৰে।"</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"সকলো এপৰ বাবে সক্ষম কৰক"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"গ্ৰাফিক্স ড্ৰাইভাৰ বাছনি কৰক"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"ডিফ’ল্ট"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"গে’ম ড্ৰাইভাৰ"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"বিকাশকৰ্তাৰ ড্ৰাইভাৰ"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"ছিষ্টেম গ্ৰাফিক্স ড্ৰাইভাৰ"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"এপৰ সুসমতা সম্পৰ্কীয় সালসলনিসমূহ"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"এপৰ সুসংগতাৰ সালসলনিসমূহ ট’গল কৰক"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"সক্ষম কৰা ডিফ’ল্ট সালসলনিসমূহ"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"অক্ষম কৰি থোৱা ডিফ’ল্ট সালসলনিসমূহ"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"এইটো ফ\'নত ছেটিং ব্যৱহাৰ কৰিব নোৱাৰি"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"এইটো টেবলেটত ছেটিং ব্যৱহাৰ কৰিব নোৱাৰি"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"এইটো ডিভাইচত ছেটিং ব্যৱহাৰ কৰিব নোৱাৰি"</string>
@@ -4435,6 +4548,12 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"ডিভাইচ"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"কল চলি থকাৰ সময়ত অনুপলব্ধ"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"উপলব্ধ নহয়"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"আউটপুটবোৰ যোগ দিয়ক"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"গোট"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"১ টা বাছনি কৰা হ’ল"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> টা বাছনি কৰা হ’ল"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"ইয়াৰ জৰিয়তে কলৰ প্ৰত্য়ুত্তৰ দিয়ক"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"এই APN সলনি কৰিব নোৱাৰি।"</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"টেবলেটৰ বেটাৰিৰ অৱস্থা উন্নত কৰক"</string>
@@ -4552,10 +4671,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"এটা সময়ত ডাউনল’ড কৰা এখন ছিমহে সক্ৰিয় কৰিব পাৰি। \n\n<xliff:g id="CARRIER1">%1$s</xliff:g>লৈ সলনি কৰিলে <xliff:g id="CARRIER2">%2$s</xliff:g> সেৱা বাতিল নহয়।"</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"<xliff:g id="CARRIER">%1$s</xliff:g>লৈ সলনি কৰক"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"ছিম মচক"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"এই ডাউনল’ড কৰা ছিমটো মচিবনে?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"এই ছিমটো আঁতৰালে এই ডিভাইচটোৰ পৰা <xliff:g id="CARRIER_0">%1$s</xliff:g> সেৱা আঁতৰোৱা হ’ব।\n\n<xliff:g id="CARRIER_1">%2$s</xliff:g>ৰ সেৱা বাতিল কৰা নহয়।"</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"মচক"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"ছিম মচি থকা হৈছে…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"ছিম মচিব নোৱাৰি"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"এই ছিমটো কোনো অজ্ঞাত আসোঁৱাহৰ বাবে আঁতৰাব নোৱাৰি।\n\nআপোনাৰ ডিভাইচটো ৰিষ্টাৰ্ট কৰি আকৌ চেষ্টা কৰক।"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"অগ্ৰাধিকাৰ দিয়া নেটৱৰ্কৰ প্ৰকাৰ"</string>
@@ -4580,7 +4695,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"অমান্য নেটৱৰ্কৰ ম’ড <xliff:g id="NETWORKMODEID">%1$d</xliff:g>। উপেক্ষা কৰক।"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"এক্সেছ পইণ্টৰ নাম"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"<xliff:g id="CARRIER">%1$s</xliff:g>ৰ সৈতে সংযোগ কৰিলে উপলব্ধ নহয়"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"মেডিকেল সম্পৰ্কিত তথ্য, জৰুৰীকালীন অৱস্থাত যোগাযোগ কৰিবলগীয়া লোকৰ সম্পৰ্কসূচী"</string>
     <string name="see_more" msgid="7499355691042812723">"অধিক চাওক"</string>
     <string name="see_less" msgid="2642392725363552793">"কমকৈ চাওক"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"<xliff:g id="APPNAME">%1$s</xliff:g>ৰ সৈতে ব্যৱহাৰ কৰিবলগীয়া ডিভাইচ"</string>
@@ -4589,11 +4703,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"কিবা এটা সমস্যা হৈছে। এপ্লিকেশ্বনটোৱে ডিভাইচ বাচনি কৰাৰ অনুৰোধ বাতিল কৰিলে।"</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"সংযোগ সফল হৈছে"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"সকলো দেখুৱাওক"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> টা ডিভাইচ সংযোগ কৰা হৈছে</item>
-      <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> টা ডিভাইচ সংযোগ কৰা হৈছে</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"কোনো ব্লুটুথ ডিভাইচ নাই"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"ডিভাইচৰ সন্ধান কৰি থকা হৈছে…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"ডিভাইচৰ সৈতে সংযোগ কৰি থকা হৈছে…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"বাওঁ"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"সোঁ"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"কে’ছ"</string>
@@ -4603,6 +4714,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"এয়াৰপ্লেইন ম’ড অন থাকিলে উপলব্ধ নহয়"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"বলপূৰ্বক ডেস্কটপ ম’ড"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"দ্বিতীয় ডিছপ্লে’ত পৰীক্ষামূলক ডেস্কটপ ম’ড বলপূৰ্বকভাৱে প্ৰয়োগ কৰক"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"ফ্ৰীফৰ্ম ছাইজকম্পেক্ট সক্ষম কৰক"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"ছাইজকম্পেক্ট এপ্‌সমূহক ফ্ৰীফৰ্মত থাকিবলৈ দিয়ে"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"বলপূর্বকভাৱে গাঢ় ৰঙৰ থীম ব্যৱহাৰ কৰা সুবিধাটো অ\'ভাৰৰাইড কৰক"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"বলপূর্বকভাৱে গাঢ় ৰঙৰ থীম ব্যৱহাৰ কৰা সুবিধাটো সদায় অন হৈ থাকিবলৈ অ\'ভাৰৰাইড কৰে"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"গোপনীয়তা"</string>
@@ -4639,6 +4752,10 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"আপুনি শেহতীয়াকৈ এই এপ্‌টো ইনষ্টল কৰিছে।"</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"আউটপুট সলনি কৰক"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"বৰ্তমান <xliff:g id="DEVICE_NAME">%1$s</xliff:g>ত প্লে’ হৈ আছে"</string>
+    <!-- no translation found for media_output_disconnected_status (5567111639832431865) -->
+    <skip />
+    <!-- no translation found for media_output_switch_error_text (603563475910236831) -->
+    <skip />
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"জৰুৰী তথ্য"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"অব্যাহত ৰাখক"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"নালাগে, ধন্যবাদ"</string>
@@ -4666,8 +4783,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"SIMৰ সংমিশ্রণ"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"আপোনাৰ কর্মস্থান নীতিৰ তথ্য"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"আপোনাৰ আইটি প্ৰশাসকে পৰিচালনা কৰা ছেটিংসমূহ"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"বাগ ৰিপ’ৰ্ট নিয়ন্ত্ৰণ কৰোঁতা"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"আপোনাৰ ডিভাইচত কোনটো এপে বাগ ৰিপ’ৰ্টৰ শ্বৰ্টকাট নিয়ন্ত্ৰণ কৰে সেয়া নিৰ্ধাৰণ কৰে।"</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"ব্যক্তিগত"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"কৰ্মস্থান"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"ছিষ্টেম ডিফ’ল্ট"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"এই বাছনিটো আৰু মান্য নহয়। পুনৰ চেষ্টা কৰক।"</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"কাষ্ট কৰা বন্ধ কৰক"</string>
 </resources>
diff --git a/res/values-az/arrays.xml b/res/values-az/arrays.xml
index 1e8758f..8212e26 100644
--- a/res/values-az/arrays.xml
+++ b/res/values-az/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"Dərhal"</item>
     <item msgid="463591454172790676">"5 saniyə"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"Təsdiq etməyin"</item>
+    <item msgid="5703177653586269306">"Sertifikat statusu tələb edin"</item>
+    <item msgid="326388247868439528">"Sertifikat statusu tələb edin"</item>
+    <item msgid="1090956283885790552">"Bütün etibarsız sertifikat statuslarını tələb edin"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"Düyməyə basın"</item>
     <item msgid="2630618799033509548">"Eynisəviyyəli cihazdan PIN"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"Heç biri"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"Öncədən paylaşılmış açarlar və Xauth identifikasiyasılı IPSec VPN"</item>
     <item msgid="2484564813864139237">"Sertifikat və Xauth autentifikasiyalı IPSec VPN"</item>
     <item msgid="68918911194507915">"IPSec VPN sertifikatlarla və hibrid identifikasiyaları ilə"</item>
+    <item msgid="4631647675167100375">"Sertifikatlar və istifadəçi adı/parol doğrulaması ilə IKEv2/IPSec VPN"</item>
+    <item msgid="8812228622975052811">"Öncədən paylaşılmış açarlar ilə L2TP/IPSec VPN"</item>
+    <item msgid="6630554779981113046">"Sertifikatlar ilə IKEv2/IPSec VPN"</item>
   </string-array>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"Heç biri"</item>
diff --git a/res/values-az/config.xml b/res/values-az/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-az/config.xml
+++ b/res/values-az/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-az/strings.xml b/res/values-az/strings.xml
index fda7e8e..55ff63d 100644
--- a/res/values-az/strings.xml
+++ b/res/values-az/strings.xml
@@ -31,49 +31,17 @@
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Əvvəlcə developer seçimlərini aktiv edin."</string>
     <string name="header_category_wireless_networks" msgid="303445626075235229">"Simsiz və şəbəkələr"</string>
     <string name="header_category_system" msgid="1665516346845259058">"Sistem"</string>
-    <string name="radio_info_data_connection_enable" msgid="7500945447906187613">"Data Bağlantısını Aktiv Edin"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"Data Bağlantısını Deaktiv Edin"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"VoLTE Təmin edildi"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"Video Zəngi Təmin Edildi"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"Wifi Zəngi Təmin Edildi"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"EAB/İştirak Təmin edildi"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"Cbrs Datası"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"DSDS-i aktiv edin"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"Cihaz yenidən başladılsın?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"Bu ayarı dəyişmək üçün cihazı yenidən başlatmalısınız."</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"Yenidən başladın"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"Ləğv edin"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"Mobil Radio Enerjisi"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"SIM Ünvanları Kitabçasına Baxın"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"Stabil Yığım Nömrələrinə Baxın"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"Xidmət Yığım Nömrələrinə Baxın"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"IMS Xidmət Statusu"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"IMS Statusu"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"Qeydiyyatlı"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"Qeydiyyatsız"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"Mövcud"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"Əlçatmaz"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"IMS Qeydiyyatı: <xliff:g id="STATUS">%1$s</xliff:g>\nLTE üzərindən Səsli: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nWiFi üzərindən Səsli: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideo Zəngi: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT İnterfeysi: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"Xidmətdə"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Xidmətdən Kənarda"</string>
     <string name="radioInfo_service_emergency" msgid="6838935881091760942">"Yalnız təcili zənglər"</string>
     <string name="radioInfo_service_off" msgid="6184928420860868571">"Radio Deaktivdir"</string>
     <string name="radioInfo_roaming_in" msgid="8892550453644088692">"Roaminq"</string>
     <string name="radioInfo_roaming_not" msgid="3137594549464975054">"Rominq Deyil"</string>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"Boşda"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"Zəng"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"Zəng Davam Edir"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"Əlaqə kəsildi"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"Qoşulur"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"Qoşulu"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Dayandırılıb"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Naməlum"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"pkt"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"bayt"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"USB yaddaşı çıxarın"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"SD kartı çıxarın"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"USB yaddaşı silin"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"Ekrandakı mətni kiçildin və ya böyüdün."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Kiçildin"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Böyüdün"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"Mətn nümunəsi"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"Ozlu Heyrətamiz Sehrbaz"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"Fəsil 11: Məftunedici Zümrüd Şəhəri Oz"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"Bu ayarı dəyişmək üçün cihazı yenidən başlatmalısınız."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"Yenidən başladın"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"Ləğv edin"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"Əlçatan media cihazları"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"Əlçatan zəng cihazları"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"Ən son qoşulmuş cihazlar"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"Media cihazları"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"Zəng cihazları"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"Digər cihazlar"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Yadda saxlanmış cihazlar"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth qoşulmaq üçün aktiv ediləcək"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Bağlantı tərcihləri"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"Daxil etdiyiniz port etibarlı deyil."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"HTTP proksi brauzer tərəfindən istifadə olunur və digər tətbiqlər tərəfindən istifadə edilə bilməz."</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"PAC URL: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"Cari alt Id:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"Defolt data SIM üçün alt Id:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"DL Buraxılışı (kbps):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"UL Buraxılışı (kbps):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"Xananın məkan infosu (tövsiyə olunmur):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"LTE Fiziki Kanal Konfiqurasiyası:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"Mobil İnfo Təzələmə Ölçüsü:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"Bütün Mobil Ölçmə İnfosu:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"Data Xidməti:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"Roaminq:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"Zəng Yönləndirməsi:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"Yükləmədən bəri sıfırlanan PPP sayı:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"Cari Şəbəkə:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"Data qəbul edildi:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"Səs Xidməti:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"Siqnal gücü:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"Səsli Çağrı Statusu:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"Data göndərildi:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"Mesaj Gözlənilir:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"Telefon nömrəsi:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"Radio Diapazon Seçin"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"Səs Şəbəkə Növü:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"Data Şəbəkə Növü:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"Telefon indeksini seçin"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"Tərcih Olunmuş Şəbəkə Növü Seçin:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"Ping Hostname(www.google.com) IPv4:"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"Ping Hostname(www.google.com) IPv6:"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"HTTP Müştəri Testi:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"Ping Testi Çalışdırın"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"Güncəllə"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"Təzələyin"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"DNS Yoxlama Keçidi"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"Original Avadanlıq İstehsalçısı-xüsusi İnfo/Ayarlar"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"Radio Diapazon Rejimini Quraşdırın"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"Diapazon Siyahısı Yüklənir…"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"Ayarlayın"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"Uğursuz"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"Uğurlu"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"Dəyişikliklər USB kabelinin ayrılmasından sonra qüvvəyə minəcək."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"USB kütləvi yaddaşına icazə verin"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"Toplam bayt:"</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"Aşağı köçürün"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"Dili silin"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"Fəaliyyəti seçin"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"Cihaz info"</string>
     <string name="display_label" msgid="3056320781191343221">"Ekran"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"Planşet infosu"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"Telefon info"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"USB yaddaş"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"SD kart"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"Proksi parametrləri"</string>
@@ -306,9 +234,6 @@
     <string name="airplane_mode" msgid="3196085857882526817">"Uçuş rejimi"</string>
     <string name="wireless_networks_settings_title" msgid="8557542379234105369">"Simsiz &amp; şəbəkələr"</string>
     <string name="radio_controls_summary" msgid="9028430178697624501">"WiFi, Bluetooth, uçuş rejimi, mobil şəbəkələr, &amp; VPNs idarə edin"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"Mobil data"</string>
-    <string name="calls_title" msgid="6334813967619899114">"Zənglərə icazə verin"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"SMS mesajları"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"Mobil data istifadəsinə icazə verin"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"Rominq zamanı data istifadəsinə icazə verin"</string>
     <string name="roaming" msgid="3055365654530847985">"Rouminq"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"Rominq zamanı data xidmətlərinə qoşulun"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"Siz data rominq yanılı olmadan ana şəbəkəni tərk etdiyiniz üçün data bağlantını itirdiniz."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"Aktiv edin"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"Sizə əhəmiyyətli xərclər tətbiq edilə bilər."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"Data rouminqinə icazə verdiyiniz zaman sizdən əlavə rüsumlar tutula bilər!\n\nBu ayar bu planşetin bütün istifadəçilərinə təsir edir."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"Data rominqinə icazə verməyiniz əhəmiyyətli rominq sərfiyyatına səbəb ola bilər!\n\nBu parametr bu telefondakı bütün istifadəçilərə təsir edir."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"Rominq xərcləri çıxıla bilər."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"Data rominqə icazə versəniz, rominq xərcləri çıxıla bilər.\n\nBu ayar bu planşetin bütün istifadəçilərinə təsir edir."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"Data rominqə icazə versəniz, rominq xərcləri çıxıla bilər.\n\nBu ayar bu telefonun bütün istifadəçilərinə təsir edir."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"Data rominqə icazə verilsin?"</string>
     <string name="networks" msgid="5184501333492775095">"Operator seçimi"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"Şəbəkə operatoru seçin"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"Admin tərəfindən deaktiv edildi"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"Kilid seçimini göstərin"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"Kilid ekranında Ağıllı Kilidi, biometrik kilidi və bilidirişləri deaktiv edən yandırıb-söndürmək düyməsini göstərin"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"İnam agentləri yalnız kiliddən çıxarmanı genişləndirir"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"Aktiv edilərsə, cihaz kilidlənənə qədər inam agentləri cihazı kilidsiz saxlayacaq, lakin kilidli cihazı kiliddən çıxara bilməyəcək."</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"Təhlükəli mühitlərdə ekranı kilidləyin"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"Aktiv edilsə, cihaz təhlükəli mühitlərdə avtomatik kilidlənəcək"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"Heç biri"</string>
@@ -390,7 +313,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"Məkanım\'ı, ekranı kiliddən çıxarmanı, hesab yaddaş kilidini ayarlayın,"</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"Məkanım\'ı, ekranı kiliddən çıxarmanı, hesab yaddaş kilidini ayarlayın,"</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"Məxfilik"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"Admin tərəfindən deaktiv edildi"</string>
+    <string name="disabled_by_administrator_summary" msgid="5424846182313851124">"Əlçatmazdır"</string>
     <string name="security_status_title" msgid="6958004275337618656">"Təhlükəsizlik statusu"</string>
     <string name="security_dashboard_summary_face" msgid="4198949293847206382">"Ekran kilidi, üzün kiliddən çıxarılması"</string>
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Ekran kilidi, barmaq izi"</string>
@@ -693,7 +616,6 @@
       <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> rəqəmdən az olmalıdır</item>
       <item quantity="one"><xliff:g id="NUMBER_0">%d</xliff:g> rəqəmdən az olmalıdır</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"Yalnız 0-9 rəqəmlərindən ibarət olmalıdır"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"Cihaz admini son vaxtlardakı PIN kodu istifadə etməyə icazə vermir"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"Ümumi PIN-lər IT admini tərəfindən blok edilib. Fərqli PIN-i sınayın."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"Yalnış simvol daxil edə bilməzsiniz"</string>
@@ -724,6 +646,10 @@
       <item quantity="other">Ən azı hərf olmayan <xliff:g id="COUNT">%d</xliff:g> simvol olmalıdır</item>
       <item quantity="one">Ən azı hərf olmayan 1 simvol olmalıdır</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="other">Ən azı rəqəm olmayan <xliff:g id="COUNT">%d</xliff:g> simvol olmalıdır</item>
+      <item quantity="one">Ən azı rəqəm olmayan 1 simvol olmalıdır</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"Cihaz admini son vaxtlardakı parolu istifadə etməyə icazə vermir"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"Ümumi parollar IT admini tərəfindən blok edilib. Fərqli parolu sınayın."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"Artan, azalan və ya təkrarlanan rəqəm ardıcıllığı qadağandır"</string>
@@ -837,19 +763,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2.4 GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"Giriş"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"Saytı açın"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"<xliff:g id="REMAINING_TIME">%1$s</xliff:g> qalıb"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"<xliff:g id="EXPIRY_TIME">%1$s</xliff:g> tarixində müddəti bitir"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"Şəbəkəyə daxil olmaq üçün bura klikləyin"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Mb/san"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"<xliff:g id="REQUESTER">%s</xliff:g> Wi-Fi yandırmaq istəyir"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"<xliff:g id="REQUESTER">%s</xliff:g> Wi-Fi söndürmək istəyir"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"Sazlanan tətbiqlərin bayt kodunu təsdiq edin"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Sazlana bilən tətbiqlərin bayt kodunu təsdiq etmək üçün ART-a icazə verin"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"Təzələmə tempini göstərin"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Displeyin cari təzələnmə tempini göstərin"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"Planşetin başqa cihaza toxunması zamanı data mübadiləsinə icazə verin"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"Telefon digər cihazla əlaqədə olduqda data mübadiləsinə icazə verin"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"Planşet NFC cihazı ilə əlaqədə olduqda data mübadiləsinə icazə verin"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"Telefon NFC cihazı ilə əlaqədə olduqda data mübadiləsinə icazə verin"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"NFC aktiv edin"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"NFC, bu cihaz və yaxınlıqdakı gidər cihaz və nişangahlar arasında ödəniş terminalları, giriş oxuyucuları və interaktiv reklam və ya işarələr kimi data mübadiləsi edir."</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"NFC-ni Qoruyun"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFC üçün cihaz kilidaçması tələb edin"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"NFC Payment və Tranzit istifadəsinə yalnız ekran kilidli olduqda icazə verin"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"Tətbiq kontenti NFC vasitəsilə göndərilməyə hazırdır"</string>
@@ -923,8 +855,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Aktiv edin"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Wi‑Fi skanı deaktiv edildi"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Qabaqcıl seçimlər"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"Aşağı açılan siyahı Qabaqcıl Seçimlər. Yığcamlaşdırmaq üçün iki dəfə tıklayın."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"Aşağı açılan siyahı Qabaqcıl Seçimlər. Genişləndirmək üçün iki dəfə tıklayın."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Aşağıya açılan siyahı Qabaqcıl Seçimləri"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"genişləndirin"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"Şəbəkə adı"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"SSID daxil edin"</string>
     <string name="wifi_security" msgid="9095934643631406913">"Təhlükəsizlik"</string>
@@ -934,6 +866,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"Status"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"Link sürətini ötürün"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"Link sürətini əldə edin"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"Link sürəti"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"Tezlik"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"IP ünvanı"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"Yadda saxlama vasitəsi:"</string>
@@ -941,6 +874,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"EAP üsulu"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"Faza 2 autentifikasiya"</string>
     <string name="wifi_eap_ca_cert" msgid="8033404008276298886">"CA sertifikatı"</string>
+    <string name="wifi_eap_ocsp" msgid="8713933962516871238">"Onlayn Sertifikat Statusu"</string>
     <string name="wifi_eap_domain" msgid="8304301470752333203">"Domen"</string>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"İstifadəçi sertifikatı"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"İdentiklik"</string>
@@ -957,6 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"Wi‑Fi hotspotu üçün minimum bir bağlantı seçin:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"IP parametrləri"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"Məxfilik"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"Abunəlik"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"Abunəliyə baxın və ya dəyişin"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"Təsadüfi MAC"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"Cihaz əlavə edin"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"Cihazı \"<xliff:g id="SSID">%1$s</xliff:g>\" şəbəkəsinə əlavə etmək üçün aşağıdakı QR kodunu kameranın mərkəzinə tutun"</string>
@@ -966,12 +902,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"Wi‑Fi şəbəkəsini paylaşın"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"\"<xliff:g id="SSID">%1$s</xliff:g>\" şəbəkəsinə qoşulmaq və parolu paylaşmaq üçün bu QR kodu skan edin"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"\"<xliff:g id="SSID">%1$s</xliff:g>\" şəbəkəsinə qoşulmaq üçün bu QR kodu skan edin"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"QR kodunu oxumaq mümkün olmadı. Kodu mərkəzə tutduqdan sonra yenidən cəhd edin"</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"Yenidən cəhd edin. Problem davam edərsə, cihaz istehsalçısı ilə əlaqə saxlayın"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"Xəta baş verdi"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"Cihazın elektrik mənbəyinə qoşulu olduğuna, batareya yığdığına və aktiv olduğuna əmin olun"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"Cihazın elektrik mənbəyinə qoşulu olduğuna, batareya yığdığına və aktiv olduğuna əmin olun. Problem davam edərsə, cihaz istehsalçısı ilə əlaqə saxlayın"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"\"<xliff:g id="SSID">%1$s</xliff:g>\" əlavə etmək bu cihazda dəstəklənmir"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"Cihazı Wi‑Fi giriş nöqtəsinə/ruterə yaxınlaşdırın"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"Parolu yoxlayıb yenidən cəhd edin"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"Cihazın istehsalçısı ilə əlaqə saxlayın"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"Bağlantını yoxlayın və yenidən cəhd edin"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"Şəbəkə seçin"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"Cihazın qoşulması üçün şəbəkə seçin"</string>
@@ -984,11 +922,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"Wi‑Fi bu cihazla paylaşılır…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"Qoşulur..."</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"Hotspot\'u paylaşın"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"Siz olduğunuzu təsdiqləyin"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"Siz olduğunuzu doğrulayın"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"Wi-Fi parolu: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"Hotspot parolu: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"Avto bağlantı"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"Bu şəbəkənin yaxınlığında telefonun avtomatik qoşulmasına icazə verin"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"Bu şəbəkənin yaxınlığında planşetin avtomatik qoşulmasına icazə verin"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"Cihaz əlavə edin"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"Bu şəbəkəyə cihaz əlavə etmək üçün QR kodundan istifadə edin"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"QR kodu doğru formatda deyil"</string>
     <string name="retry" msgid="7542103800274026915">"Yenidən cəhd edin"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"Digər cihaz istifadəçiləri ilə paylaşın"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(dəyişilməyən)"</string>
@@ -1000,6 +942,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"Sertifikat təyin olunmayıb. Bağlantınız şəxsi olmayacaq."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"Şəbəkə adı çox uzundur."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"Domen göstərilməlidir."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"Sertifikat tələb edilir."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"Əlçatımlı WPS"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (WPS mövcuddur)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"Operator Wi‑Fi şəbəkəsi"</string>
@@ -1051,7 +994,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"Qabaqcıl Wi-Fi"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"MAC ünvanı"</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_ip_address_title" msgid="4265355419782184514">"IP ünvanı"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"Şəbəkə məlumatları"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Alt şəbəkə maskası"</string>
@@ -1103,7 +1047,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"Digər cihazlara Wi‑Fi şəbəkəsi yaratmaq üçün hotspot istifadə edin. Hotspot mobil data bağlantısından istifadə edərək internet təmin edir. Əlavə mobil data xərcləri tətbiq edilə bilər."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"Tətbiq yaxınlıqdakı cihazlarla kontenti paylaşmaq üçün hotspot yarada bilər."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Hotspotu avtomatik deaktiv edin"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"Heç bir cihaz qoşulu olmazsa, Wi‑Fi hotspot\'u deaktiv ediləcək"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Heç bir cihaz qoşulmadıqda"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"Hotspot yandırılır..."</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"Hotspot söndürülür…"</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> aktivdir"</string>
@@ -1112,6 +1056,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"Wi‑Fi hotspot quraşdırma"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"AndroidAP WPA2 PSK hotspot"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"AndroidHotspot"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"Bu şəbəkə yadda saxlanılsın?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"<xliff:g id="APPNAME">%1$s</xliff:g> şəbəkəni telefonunuzda yadda saxlamaq istəyir"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"<xliff:g id="APPNAME">%1$s</xliff:g> şəbəkəni planşetinizdə yadda saxlamaq istəyir"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"Yadda saxlanılır…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"Yadda saxlandı"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"Yadda saxlamaq mümkün deyil. Yenə cəhd edin."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"Şəbəkələr yadda saxlanılsın?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"<xliff:g id="APPNAME">%1$s</xliff:g> bu şəbəkələri telefonunuzda yadda saxlamaq istəyir"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"<xliff:g id="APPNAME">%1$s</xliff:g> bu şəbəkələri planşetinizdə yadda saxlamaq istəyir"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"<xliff:g id="NUMBER">%d</xliff:g> şəbəkə saxlanılır…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"Şəbəkələr yadda saxlanılıb"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"Wi-Fi zəngi"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"Wi‑Fi ilə zəngləri genişləndirin"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"Əhatəni genişləndirmək üçün Wi‑Fi zəngini aktiv edin"</string>
@@ -1138,16 +1093,18 @@
     <string name="emergency_address_title" msgid="3490633500025717573">"Fövqəladə Ünvan"</string>
     <string name="emergency_address_summary" msgid="3022628750270626473">"Wi‑Fi vasitəilə təcili zəng etdiyiniz zaman məkanınız kimi istidafə edilir"</string>
     <string name="private_dns_help_message" msgid="851221502063782306">"Fərdi DNS funksiyaları haqqında "<annotation id="url">"ətraflı məlumat"</annotation></string>
+    <string name="private_dns_mode_on" msgid="8878679071975375696">"Aktiv"</string>
     <string name="wifi_calling_pref_managed_by_carrier" msgid="129524064888622179">"Operator tərəfindən idarə olunan ayar"</string>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"Wi-Fi Zəngini aktiv edin"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"Wi-Fi zəngini aktiv edin"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"Wi‑Fi zəngi %1$s üçün dəstəklənmir"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"<xliff:g id="SSID">%1$s</xliff:g> ilə bağlantı kəsildi"</string>
     <string name="carrier" msgid="1755020806290963951">"Operator"</string>
     <string name="display_settings_title" msgid="626835071804834218">"Göstər"</string>
     <string name="sound_settings" msgid="5514582720435174014">"Səs"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"Həcmlər"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"Musiqi effektləri"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"Zəng həcmi"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"Zəng &amp; bildiriş səsi səviyyəsi"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"Səssiz rejimdə vibrasiya etsin"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"Defolt bildiriş səsi"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"Zəng səsi"</string>
@@ -1272,13 +1229,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"Cədvəl"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"Yoxdur"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"Gün çıxandan batanadək aktiv"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"Xüsusi vaxtda aktiv olur"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"Status"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"Deaktiv / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"Heç vaxt avtomatik aktiv olmayacaq"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"Gün batanda avtomatik aktiv olacaq"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"Bu vaxt avtomatik aktiv olacaq: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"Aktiv/ <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"Heç vaxt avtomatik deaktiv olmayacaq"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"Gün çıxanda avtomatik deaktiv olacaq"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"Bu vaxt avtomatik deaktiv olacaq: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"Bu vaxtadək aktiv edin: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"Bu vaxtadək deaktiv edin: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"Tünd tema bəzi ekranlarda batareya istifadəsini artırmaq üçün qara arxa fondan istifadə edir. Tünd tema ekran sönənə qədər gözləmə vaxtının aktiv olmasını planlaşdırır."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"Avtomatik ekran sönməsi"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"Ekran sönür"</string>
@@ -1290,7 +1252,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"Divar kağızını dəyişin"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"Ekranınızı fərdiləşdirin"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"Divar kağızı seçin"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"Pixel\'i fərdiləşdirin"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"Telefonunuzu fərdiləşdirin"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"Fərqli üslub, divar kağızı və s. sınayın"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"Ekran qoruyucu"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Enerji doldurulan və ya bərkidilən zaman"</string>
@@ -1379,6 +1341,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"USB yaddaşı çıxarın və mövcud yaddaşa baxın"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"SD kartı çıxarın və mövcud yaddaşa baxın"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (sim slot %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"Baxmaq üçün yadda saxlanan şəbəkə seçin"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"Telefon nömrəsi"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (sim slot %1$d)"</string>
@@ -1405,6 +1368,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"Roaminq"</string>
     <string name="status_operator" msgid="4335640583552058491">"Şəbəkə"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"Wi-Fi MAC ünvanı"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"Cihazın Wi‑Fi MAC ünvanı"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"Bluetooth ünvanı"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Seriya nömrəsi"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Müddəti"</string>
@@ -1617,6 +1581,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Varsayılan APN ayarlarının sıfırlanması tamamlandı."</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"Seçimləri sıfırlayın"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"Şəbəkə, tətbiqlər və ya cihazı sıfırlamaq mümkündür"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"Tətbiqlər sıfırlana bilər"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"Wi-Fi, mobil və Bluetooth\'u sıfırlayın"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"Bununla bütün şəbəkə ayarları sıfırlanacaq, bura daxildir:\n\n"<li>"Wi‑Fi"</li>\n<li>"Mobil data"</li>\n<li>"Bluetooth"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"Endirilən SIM-ləri silin"</string>
@@ -1666,6 +1631,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"Hotspot aktivdir"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"Birləşmə"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"Data Qənaəti aktiv olduqda daşınan hotspotları birləşdirmək və ya istifadə etmək olmur"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"Yalnız hotspot"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"Yalnız USB"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"Yalnız Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"Hotspot, USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"Hotspot, Bluetooth"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB, Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"Hotspot, USB, Bluetooth"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"İnternet digər cihazlarla paylaşılmır"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"Birləşmə"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Wi‑Fi hotspot istifadə etməyin"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"İnterneti yalnız USB vasitəsilə paylaşın"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"İnterneti yalnız Bluetooth vasitəsilə paylaşın"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"İnterneti yalnız USB və Bluetooth vasitəsilə paylaşın"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB Birləşmə"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"USB vasitəsilə telefonun internet bağlantısını paylaşın"</string>
@@ -1756,9 +1734,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"Təhlükəsizlik məlumatı"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"Data bağlantınız yoxdur. Bu informasiyaya indi baxmaq üçün internetə qoşulu olan istənilən kompüterdən %s ünvanına daxil olun."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"Yüklənir…"</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"PIN istifadə edin"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"Model istifadə edin"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"Parol istifadə edin"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"Ekran kilidini quraşdırın"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"Təhlükəsizlik üçün parol ayarlayın"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"Barmaq izi üçün parol seçin"</string>
@@ -1767,8 +1742,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"Barmaq izi üçün PIN ayarlayın"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"Təhlükəsizlik üçün nümunə ayarlayın"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"Parolu yenidən daxil edin."</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"İş parolunuzu daxil edin"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"Modeli təsdiq edin"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"İş modelinizi daxil edin"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"PIN\'i yenidən daxil edin"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"İş PIN kodunuzu daxil edin"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"Parollar uyğun gəlmir"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"PIN-lər üst-üstə düşmür"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"Modeli yenidən çəkin"</string>
@@ -1779,6 +1757,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"Üz kilidi üçün parol ayarlayın"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"Üz kilidindən üçün model ayarlayın"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"Üz kilidi istifadə etmək üçün PIN ayarlayın"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"Parolu unutmusunuz?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"Modeli unutmusunuz?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"PIN\'i unutmusunuz?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"Davam etmək üçün cihaz modelinizi istifadə edin"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"Davam etmək üçün cihaz PİN kodunu daxil edin"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"Davam etmək üçün cihaz parolunu daxil edin"</string>
@@ -1846,6 +1827,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"Tətbiq mənbələrinə icazə verin"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"Ən son istifadə edilən tətbiqlər"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"Bütün <xliff:g id="COUNT">%1$d</xliff:g> tətbiqə baxın"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"İT admini ilə əlaqə saxlayın"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"PIN, model və ya parolu sıfırlamanıza yardım edə bilər"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"Planşet və şəxsi datanız naməlum tətbiqlərin hücumuna qarşı daha həssasdır. Bu mənbədən tətbiq quraşdırmaqla planşetinə dəyə biləcək zərər və ya həmin tətbiqlərin istifadəsi nəticəsində baş verən data itkisinə görə məsuliyyət daşıdığınızı qəbul edirsiniz."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"Telefon və şəxsi datanız naməlum tətbiqlərin hücumuna qarşı daha həssasdır. Bu mənbədən tətbiq quraşdırmaqla telefona dəyə biləcək zərər və ya həmin tətbiqlərin istifadəsi nəticəsində baş verən data itkisinə görə məsuliyyət daşıdığınızı qəbul edirsiniz."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"Cihaz və şəxsi datanız naməlum tətbiqlərin hücumuna qarşı daha həssasdır. Bu mənbədən tətbiq quraşdırmaqla cihaza dəyə biləcək zərər və ya həmin tətbiqlərin istifadəsi nəticəsində baş verən data itkisinə görə məsuliyyət daşıdığınızı qəbul edirsiniz."</string>
@@ -1897,7 +1880,7 @@
     <string name="default_emergency_app" msgid="1929974800666613803">"Təcili tətbiq"</string>
     <string name="reset_app_preferences" msgid="8861758340732716573">"Tətbiq tərcihlərini sıfırla"</string>
     <string name="reset_app_preferences_title" msgid="8935136792316050759">"Tətbiq tərcihləri sıfırlansın?"</string>
-    <string name="reset_app_preferences_desc" msgid="1377296810290814749">"Bu seçimlər sıfırlanacaq:\n\n"<li>"Deaktiv tətbiqlər"</li>\n<li>"Deaktiv tətbiq bildirişləri"</li>\n<li>"Əməliyyatlar üçün deaktiv tətbiq bildirişləri"</li>\n<li>"Tətbiqlər üçün arxa fon limitləri"</li>\n<li>"İcazə limitləri"</li>\n\n"Heç bir tətbiq datası itirməyəcəksiniz."</string>
+    <string name="reset_app_preferences_desc" msgid="6509978724602405805">"Bu, aşağıdakılar üçün bütün tərcihləri sıfırlayacaq:\n\n"<li>" Deaktiv edilmiş tətbiqlər"</li>\n<li>"Deaktiv edilmiş tətbiq bildirişləri"</li>\n<li>"Əməliyyatlar üçün defolt tətbiqlər"</li>\n<li>"Tətbiqlər üçün arxa fon məlumatlarının məhdudlaşdırılması"</li>\n<li>"İstənilən icazə məhdudiyyətləri"</li>\n\n"Hər hansı tətbiq məlumatınız silinməyəcək."</string>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"Tətbiqləri sıfırla"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"Boşluğu idarə edin"</string>
     <string name="filter" msgid="9039576690686251462">"Filter"</string>
@@ -2097,7 +2080,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"Audio və ekran mətni"</string>
     <string name="display_category_title" msgid="6638191682294461408">"Görüntü"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"Qarşılıqlı əlaqə nəzarəti"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"Endirilmiş xidmətlər"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"Endirilmiş tətbiqlər"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"Eksperimental"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"Eksperimental funksiyalar"</string>
     <string name="talkback_title" msgid="8756080454514251327">"Talkback"</string>
@@ -2105,27 +2088,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"Səsli oxunuş üçün ekrandakı elementlərə toxunun"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"Subtitr tərcihləri"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"Böyütmə"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"Böyütmə sahəsi"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"Böyütmənin aktivləşdirilməsi"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"Ekranı böyüdərkən istifadə etmək istədiyiniz böyütmə sahələrini seçin"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"Tam ekran"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"Ekranın bir hissəsi"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"Tam ekran &amp; ekranın bir hissəsi"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"Bütün ekranı böyüdün"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"Ekranın bir hissəsini böyüdün"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Böyütmə ayarları"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"Üç dəfə klikləməklə böyüdün"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Qısayol ilə böyüdün"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Qısayol &amp; üç toxunuşla böyüdün"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"<xliff:g id="SERVICE">%1$s</xliff:g> haqqında"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"Seçimlər"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"Ekranda yaxınlaşdırın"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"Miqyası dəyişmək üçün 3 dəfə tıklayın"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Yaxınlaşdırmaq üçün düyməyə klikləyin"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><b>"Yaxınlaşdırmaq üçün"</b>" ekrana 3 dəfə cəld klikləyin.\n"<ul><li>"Sürüşdürmək üçün 2 və ya daha çox barmağınızla çəkin"</li>\n<li>"Yaxınlaşdırmağı tənzimləmək üçün 2 və ya daha çox barmağınızla sürüşdürün"</li></ul>\n\n<b>"Müvəqqəti böyütmək üçün"</b>" ekrana 3 dəfə cəld vurun və üçüncü klikdə barmağınızı basıb saxlayın.\n"<ul><li>"Ekranda hərəkət etmək üçün çəkin"</li>\n<li>"Uzaqlaşdırmaq üçün barmağınızı qaldırın"</li></ul>\n\n"Klaviatura və naviqasiya panelində böyüdə bilməzsiniz."</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"Böyütmə aktiv edildikdə ekrandakını yaxınlaşdıra bilərsiniz.\n\n"<b>"Miqyaslamaq üçün"</b>" böyütməni başlatdıqdan sonra ekranda istənilən yerə toxunun.\n"<ul><li>"• Sürüşdürmək üçün ən azı 2 barmağınızla çəkin"</li>\n<li>"• Miqyası tənzimləmək üçün ən azı 2 barmağınızla sürüşdürərək yaxınlaşdırın"</li></ul>\n\n<b>"Müvəqqəti miqyaslamaq üçün "</b>" böyütməni başladıb ekranda istənilən yerə basın &amp; saxlayın.\n"<ul><li>"• Ekranda hərəkət etmək üçün çəkin"</li>\n<li>"• Uzaqlaşdırmaq üçün barmağınızı qaldırın"</li></ul>\n\n"Klaviatura və ya naviqasiya panelində yaxınlaşdıra bilməzsiniz."</string>
+    <string name="accessibility_screen_magnification_summary" msgid="7617931632990040045">"Məzmunu daha aydın görmək üçün ekranı sürətlə yaxınlaşdırın.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Yaxınlaşdırmaq üçün:&lt;/b&gt;&lt;br/&gt;	1. Böyütməyə başlamaq üçün qısayoldan istifadə edin&lt;br/&gt;	2. Ekrana toxunun&lt;br/&gt;	3. Ekranı hərəkət etdirmək üçün 2 barmaqla çəkin&lt;br/&gt;	4. Miqyası tənzimləmək üçün 2 barmağı birləşdirin&lt;br/&gt;	5. Böyütməni dayandırmaq üçün qısayoldan istifadə edin&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Müvəqqəti yaxınlaşdırmaq üçün:&lt;/b&gt;&lt;br/&gt;	1. Böyütməyə başlamaq üçün qısayoldan istifadə edin&lt;br/&gt;	2. Ekranın istənilən yerinə toxunub saxlayın&lt;br/&gt;	3. Ekranı hərəkət etdirmək üçün barmaqla çəkin&lt;br/&gt;	4. Böyütməni dayandırmaq üçün barmağınızı qaldırın"</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Böyütmə aktiv edildikdə ekranda yaxınlaşdıra bilərsiniz.\n\n"<b>"Miqyası dəyişmək üçün"</b>" böyütməni başlatdıqdan sonra ekranda istənilən yerə toxunun.\n"<ul><li>"Sürüşdürmək üçün ən azı 2 barmağınızla çəkin"</li>\n<li>"Miqyası tənzimləmək üçün ən azı 2 barmağınızla sürüşdürərək yaxınlaşdırın"</li></ul>\n\n<b>"Miqyası müvəqqəti dəyişmək üçün"</b>" böyütməni başladıb ekranda istənilən yerə basın &amp; saxlayın.\n"<ul><li>"Ekranda hərəkət etmək üçün çəkin"</li>\n<li>"Uzaqlaşdırmaq üçün barmağınızı qaldırın"</li></ul>\n\n"Klaviatura və ya naviqasiya panelində yaxınlaşdıra bilməzsiniz."</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Açmaq üçün əlçatımlılıq düyməsindən istifadə edin"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Açmaq üçün jestdən istifadə edin"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"Yeni əlçatımlılıq jestindən istifadə edin"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"Bu xidməti aktiv və ya deaktiv etmək üçün ekranın aşağısında əlçatımlılıq düyməsinə <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> toxunun.\n\nXidmətlər arasında keçid etmək üçün əlçatımlılıq düyməsinə basın &amp; saxlayın."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"Bu xidməti aktiv və ya deaktiv etmək üçün iki barmağınızla ekranın aşağısından yuxarı doğru sürüşdürün.\n\nXidmətlər arasında keçid etmək üçün ekranı iki barmağınızla yuxarı sürüşdürüb saxlayın."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"Bu xidməti aktiv və ya deaktiv etmək üçün üç barmağınızla ekranın aşağısından yuxarı doğru sürüşdürün.\n\nXidmətlər arasında keçid etmək üçün ekranı üç barmağınızla yuxarı sürüşdürüb saxlayın."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"Əlçatımlılıq xidmətini aktiv və ya deaktiv etmək üçün iki barmağınızla ekranın aşağısından yuxarı doğru sürüşdürün.\n\nXidmətlər arasında keçid etmək üçün ekranı iki barmağınızla yuxarı sürüşdürüb saxlayın."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"Əlçatımlılıq xidmətini aktiv və ya deaktiv etmək üçün üç barmağınızla ekranın aşağısından yuxarı doğru sürüşdürün.\n\nXidmətlər arasında keçid etmək üçün ekranı üç barmağınızla yuxarı sürüşdürüb saxlayın."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"Bu xidməti aktiv və ya deaktiv etmək üçün ekranın aşağısında əlçatımlılıq düyməsinə <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> toxunun.\n\nXidmətlər arasında keçid etmək üçün əlçatımlılıq düyməsinə basın &amp; saxlayın."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"Bu xidməti aktiv və ya deaktiv etmək üçün iki barmağınızla ekranın aşağısından yuxarı doğru sürüşdürün.\n\nXidmətlər arasında keçid etmək üçün ekranı iki barmağınızla yuxarı sürüşdürüb saxlayın."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"Bu xidməti aktiv və ya deaktiv etmək üçün üç barmağınızla ekranın aşağısından yuxarı doğru sürüşdürün.\n\nXidmətlər arasında keçid etmək üçün ekranı üç barmağınızla yuxarı sürüşdürüb saxlayın."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"Əlçatımlılıq xidmətini aktiv və ya deaktiv etmək üçün iki barmağınızla ekranın aşağısından yuxarı doğru sürüşdürün.\n\nXidmətlər arasında keçid etmək üçün ekranı iki barmağınızla yuxarı sürüşdürüb saxlayın."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"Əlçatımlılıq xidmətini aktiv və ya deaktiv etmək üçün üç barmağınızla ekranın aşağısından yuxarı doğru sürüşdürün.\n\nXidmətlər arasında keçid etmək üçün ekranı üç barmağınızla yuxarı sürüşdürüb saxlayın."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"Anladım"</string>
+    <string name="accessibility_shortcut_title" msgid="8125867833704517463">"<xliff:g id="SERVICE">%1$s</xliff:g> qısayolu"</string>
+    <string name="accessibility_shortcut_edit_summary_software" msgid="2820923641553461297">"Əlçatımlılıq Düyməsi"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture" msgid="8078659880723370597">"2 barmaqla yuxarıya çəkin"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture_talkback" msgid="7422753388389160524">"3 barmaqla yuxarıya çəkin"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software" msgid="4796192466943479849">"Əlçatımlılıq düyməsinə toxunun"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8922102767509399352">"Ekranınızın aşağısında əlçatımlılıq düyməsinə <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> toxunun"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"2 barmaqla ekranın aşağısından yuxarıya çəkin"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"3 barmaqla ekranın aşağısından yuxarıya çəkin"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Səs düymələrini basıb saxlayın"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"Hər iki səs səviyyəsi düyməsinə 1 saniyəlik basıb saxlayın"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Ekrana üç dəfə toxunun"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"Ekrana sürətlə 3 dəfə toxunun. Bu qısayol cihazınızı yavaşlada bilər."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"Qabaqcıl"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"Əlçatımlılıq düyməsi <xliff:g id="SERVICE">%1$s</xliff:g> xidmətinə ayarlanıb. Böyütməni istifadə etmək üçün Əlçatımlılıq düyməsinə toxunaraq basıb saxlayın, daha sonra böyütmə seçin."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"Əlçatımlılıq jesti <xliff:g id="SERVICE">%1$s</xliff:g> funksiyasına ayarlanıb. Miqyasdan istifadə etmək üçün ekranın yuxarısndan iki barmağınızla sürüşdürüb saxlayın. Sonra miqyası seçin."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"Səs düyməsi qısayolu"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"Qısa yol xidməti"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Qısayol ayarları"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"Ekran kilidindən icazə verin"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"Qısayol aktiv olduqda əlçatımlılıq funksiyasına başlamaq üçün 3 saniyədə hər iki səs düyməsini basın."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"Yüksək kontrastlı mətn"</string>
@@ -2149,24 +2157,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"Əməliyyatın icrasını tələb edən, lakin müvəqqəti görünən mesajların görünmə müddətini seçin.\n\nBu ayarı bütün tətbiqlər dəstəkləmir."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"Toxunma və basılı saxlama müddəti"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"Rəng inversiyası"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"Performansa təsir edə bilər"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"Dayanma vaxtı"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"Rəng inversiyasından istifadə edin"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"Rəng inversiyası açıq rəngli ekranları tündləşdirir. Bu, parlaq işığa qarşı həssas olan insanların ekrana daha rahat baxmasına imkan verir.&lt;br/&gt;&lt;br/&gt;Qeyd: Tünd rənglər açıq rənglərə çevriləcək. Rənglər media və şəkillərdə dəyişəcək. Tünd temadan da istifadə edə bilərsiniz (Ayarlar &gt; Displey)."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"Avtomatik toxunma (fasilə zamanlaması)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"Siçandan istifadə edirsinizsə, kursorun müəyyən vaxt ərzində hərəkət edib dayamasından sonra onu avtomatik başlayacaq şəkildə ayarlaya bilərsiniz."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"Klikləmədən əvvəl gözləyin"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"Avto-klik istifadə etməyin (defolt)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"Qısa"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0,2 saniyə"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"Orta"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0,6 saniyə"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"Uzun"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 saniyə"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"Fərdi"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"Daha qısa"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"Daha uzun"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"Avtomatik toxunma vaxtı"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"Vibrasiya &amp; toxunuş gücü"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Bildiriş vibrasiyası"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Zəng vibrasiyası"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Toxunuş rəyi"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"Xidmətdən istifadə edin"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g> istifadə edin"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g> tətbiqini açın"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"Rəng korreksiyasından istifadə edin"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"Başlıqlardan istifadə edin"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"Başlıqları göstərin"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"Başlığın görünməsi"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"Mətn ölçüsü, başlıq üslubu"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"Daha çox seçim"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"Bütün tətbiqlər bu ayarı dəstəkləmir."</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"Əlçatımlılıq düyməsi"</string>
+    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"2 barmaqla aşağıdan yuxarıya sürüşdürün"</string>
+    <string name="accessibility_shortcut_type_hardware" msgid="4834144210432451916">"Səs düymələrini basıb saxlayın"</string>
+    <string name="accessibility_shortcut_type_triple_tap" msgid="7717524216825494543">"Ekrana üç dəfə toxunun"</string>
     <string name="accessibility_hearingaid_instruction_continue_button" msgid="3367260988024430722">"Davam edin"</string>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"Qulaqlıq"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"Qulaqlıq qoşulmayıb"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"Eşitmə aparatları əlavə edin"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"Qulaqlığı birləşdirmək üçün növbəti ekranda cihazı taparaq ona klikləyin."</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"Əmin olun ki, qulaqlıq birləşmə rejimindədir."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"Eşitmə aparatını qoşmaq üçün növbəti ekranda cihazınızı tapın və ona klikləyin. Əmin olun ki, eşitmə aparatı birləşmə rejimindədir."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> aktivdir"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> yadda saxlanmış qulaqlıq</item>
@@ -2178,25 +2204,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Xidmətdə problem var."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Sürətli Ayarlarda Göstər"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"Korreksiya rejimi"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="other">Çox qısa gecikmə (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Çox qısa gecikmə (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Qırmızı-yaşıl"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"Yaşıl-qırmızı"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Mavi-sarı"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"Deyteranomaliya"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"Protanomaliya"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"Tritanomaliya"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="other">Çox qısa gecikmə (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> saniyə)</item>
+      <item quantity="one">Çox qısa gecikmə (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> saniyə)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="other">Çox qısa gecikmə (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Çox qısa gecikmə (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="other">Çox qısa gecikmə (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> saniyə)</item>
+      <item quantity="one">Çox qısa gecikmə (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> saniyə)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="other">Qısa gecikmə (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Qısa gecikmə (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="other">Qısa gecikmə (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> saniyə)</item>
+      <item quantity="one">Qısa gecikmə (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> saniyə)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="other">Uzun gecikmə (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Uzun gecikmə (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="other">Uzun gecikmə (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> saniyə)</item>
+      <item quantity="one">Uzun gecikmə (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> saniyə)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="other">Çox uzun gecikmə (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Çox uzun gecikmə (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="other">Çox uzun gecikmə (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> saniyə)</item>
+      <item quantity="one">Çox uzun gecikmə (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> saniyə)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> saniyə</item>
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> saniyə</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"Zəng <xliff:g id="SUMMARY_RING">%1$s</xliff:g>, bildiriş <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>, toxunuş <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"Zəng və bildirişlər deaktiv olaraq ayarlanıb"</string>
@@ -2513,7 +2549,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"<xliff:g id="UNPLUGGED">%1$s</xliff:g> ərzində elektrikə qoşulmayıb"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"Ümumi istifadə"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"Təzələ"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"Android OS"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"Mediaserver"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"Tətbiq optimallaşdırması"</string>
     <string name="battery_saver" msgid="7737147344510595864">"Batareya Qənaəti"</string>
@@ -2594,8 +2629,7 @@
     <string name="tts_play" msgid="2945513377250757221">"Oxutma"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN (Virtual Şəxsi Şəbəkələr)"</string>
     <string name="credentials_title" msgid="7535942196886123656">"Etimadnamə yaddaşı"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"Yaddaşdan quraşdır"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"SD kartdan quraşdırın"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"Sertifikat quraşdırın"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"Sertifikatları yaddaşdan quraşdırın"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"Sertifikatları SD kartdan quraşdır"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"Etimadı silin"</string>
@@ -2615,6 +2649,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"Etimadnamə yaddaşı silindi."</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"Etimad yaddaşı silinə bilmədi."</string>
     <string name="usage_access_title" msgid="1580006124578134850">"İstifadə girişi olan tətbiqlər"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"CA sertifikatı"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"VPN, tətbiq istifadəçi sertifikatı"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"Wi‑Fi sertifikatı"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"Məxfiliyiniz təhlükə altındadır"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"CA sertifikatları şifrləmə üçün veb saytlar, tətbiqlər və VPN\'lər tərəfindən istifadə edilir. Yalnız güvəndiyiniz təşkilatlardan CA sertifikatları quraşdırın. \n\n CA sertifikatı quraşdırsanız, sertifikat sahibinin daxil olduğunuz veb saytlar və ya istifadə etdiyiniz tətbiqlərdən parollar, mesajlar və ya kredit kartı təfsilatları kimi məlumatlara (hətta bu məlumatlar şifrlənmiş olsa da) giriş imkanı olacaq."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"Quraşdırmayın"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"Yenə də quraşdırın"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"Sertifikat quraşdırılmadı"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"Təcili zəng siqnalı"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Təcili zəng olduqda davranış təyin et"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Yedək"</string>
@@ -2642,10 +2684,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"Deaktiv edin və silin"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"Cihaz admin tətbiqləri"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"Əlçatan cihaz admin tətbiqi yoxdur"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"Şəxsi"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"İş"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"SMS və zəng siyahısına girişin məhdudlaşdırılması"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"Yalnız defolt telefon və mesajlaşma tətbiqlərinin SMS və zəng siyahısına giriş icazələri var"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"Əlçatımlı əmanət agenti yoxdur"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"Cihaz admin tətbiqi aktiv edilsin?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"Bu cihazın admin tətbiqini aktiv edin"</string>
@@ -2659,6 +2697,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"Digər seçimlər admin tərəfindən deaktiv edildi"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"Daha ətraflı"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"Bildiriş jurnalı"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"Bildiriş tarixçəsi"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"Bugün"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"Ertələnib"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"Bu yaxınlarda ləğv edilib"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> bildiriş</item>
+      <item quantity="one"><xliff:g id="NUMBER_0">%d</xliff:g> bildiriş</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"Çağrı səsi &amp; vibrasiya"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"Şəbəkə detalları"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"Sinxronizasiya aktivdir"</string>
@@ -3008,7 +3054,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"Məhdudiyyətlər"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"Məhdudiyyətləri silin"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"PIN kodu dəyişin"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"Bildirişləri göstər"</string>
     <string name="help_label" msgid="2896538416436125883">"Yardım və geri əlaqə"</string>
     <string name="support_summary" msgid="1034146931237148885">"Yardım haqqında məqalə, telefon və söhbət, başlanılır"</string>
     <string name="user_account_title" msgid="6389636876210834864">"Məzmun üçün hesab"</string>
@@ -3033,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G Zəngi"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Səs və digər kommunikasiyaları təkmilləşdirmək üçün LTE xidmətlərini işlədin (tövsiyə olunur)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Səs və digər kommunikasiyaları təkmilləşdirmək üçün 4G xidmətlərindən istifadə edin (tövsiyə olunur)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Kontakt kəşfi"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Opratorunuza kontaktlarınızın hansı zəng funksiyalarını dəstəklədiyini kəşf etmək imkanı verir."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Kontakt kəşfi aktiv edilsin?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Bu funksiyanın aktivləşdirilməsi hansı zəng funksiyalarının dəstəkləndiyini kəşf etməsi üçün operatorunuza kontaktlardakı telefon nömrələrinə giriş imkanı verir."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Tərcih edilən şəbəkə növü"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (məsləhətlidir)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS mesajları"</string>
@@ -3077,7 +3126,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"Çağrı üçün SIM:"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"SIM kart seçin"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"SIM <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"SIM boşdur"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"SIM adı"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"SIM adını daxil edin"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"SIM slot %1$d"</string>
@@ -3087,6 +3135,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"SIM kart seçin"</string>
     <string name="color_orange" msgid="216547825489739010">"Narıncı"</string>
     <string name="color_purple" msgid="6603701972079904843">"Bənövşəyi"</string>
+    <string name="color_pink" msgid="8596872110888626708">"Çəhrayı"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"Heç bir SIM kart taxılmayıb"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"SIM statusu"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"SIM statusu (sim slot %1$d)"</string>
@@ -3100,7 +3149,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"SİM kartlar dəyişib."</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Quraşdırmaq üçün tıklayın"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"Bunun üçün seçilmiş SIM:"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Hər dəfə soruşun"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Seçim tələb olunur"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"SIM seçimi"</string>
@@ -3118,6 +3166,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"Bluetooth, sürücülük rejimi"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"Bluetooth, NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"Bluetooth"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"NFC sönülü olduğu üçün əlçatan deyil"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"Tətbiq və bildirişlər"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Ən son istifadə edilən tətbiqlər, defolt tətbiqlər"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Bildiriş girişi iş profilindəki tətbiqlər üçün əlçatan deyil."</string>
@@ -3128,13 +3177,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"Ayarlar"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"wifi, wi-fi, şəbəkə, internet, simsiz, data, wi fi"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"Wi‑Fi bildirişi, wifi bildirişi"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"data istifadəsi"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"Vibrasiyanı dayandırın, klikləyin, klaviatura"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"24 saat formatından istifadə edin"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"Endirin"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"Bununla açın:"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"Tətbiqlər"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"saat qurşağı"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"Çat başlığı"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"Söhbət başlığı, sistem, bildiriş, pəncərə, dialoq, ekran, digər tətbiqlərin üstündə, çəkmək"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"Fleş işığı, İşıq, Fənər"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"wifi, wi-fi, aktiv, nəzarət"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"şəbəkə, mobil, şəbəkə operatoru, simsiz, data, 4g, 3g, 2g, lte"</string>
@@ -3158,7 +3208,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"narahat etməyin, bölməyin, bölmək, fasilə"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"yaxınlıqda, məkan, tarixçə, hesabat, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"hesab"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"hesab, hesab əlavə edin, iş profili, hesab əlavə edin"</string>
     <string name="keywords_users" msgid="3497517660077620843">"məhdudiyyət, məhdudlaşma, məhdudlaşıb"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"mətn düzəlişi, bağlantı, səs, titrəyiş, avtomatik, dil, jest, təklif etmək, təklif, tema, incidici, söz, növ, emosiya işarəsi, beynəlxalq"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"sıfırlama, tərcihlər, defolt"</string>
@@ -3196,6 +3246,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"yaddaş, data, silin, təmizləyin, pulsuz, yaddaş"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"qoşulu, cihaz, qulaqlıq, qulaqlıq, spiker, simsiz, cüt, qulaqlıq, musiqi, media"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"arxa fon, ekran, ekran kilidi, tema"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"ikona forması, rəng çaları, şrift"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"defolt, assistent"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"ödəniş, defolt"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"gələn bildiriş"</string>
@@ -3205,18 +3256,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"haptik, vibrasiya, həssaslıq"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"enerjiyə qənaət, sabit, davamlı, enerji qənaəti, batareya"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"rejim, cədvəl, enerjiyə qənaət, batareyaya qənaət, batareya, avtomatik, faiz"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"iş profili"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"volt, qabaqcıl zəng, 4g zəng"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"dil əlavə edin, bir dil əlavə edin"</string>
     <string name="default_sound" msgid="6604374495015245195">"Defolt səs"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"Zəng səsi <xliff:g id="PERCENTAGE">%1$s</xliff:g> faizdir"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"Zəng &amp; bildiriş səsi səviyyəsi <xliff:g id="PERCENTAGE">%1$s</xliff:g> faizdir"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Səs, vibrasiya, \"Narahat etməyin\" rejimi"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"Zəng səsi vibrasiya rejimindədir"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"Zəng səsi səssiz rejimdədir"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"Zəng səsi 80% faizdir"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"Zəng &amp; bildiriş səsi səviyyəsi 80%-dir"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Media həcmi"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Yayım həcmi"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"Zəng səsi"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"Siqnal səsi həcmi"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"Zəng həcmi"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"Zəng &amp; bildiriş səsi səviyyəsi"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"Bildiriş səsi"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"Telefon zəng səsi"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"Defolt bildiriş səsi"</string>
@@ -3224,6 +3276,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"Defolt bildiriş səsi"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"Defolt zəngli saat səsi"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"Zənglər üçün vibrasiya"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"Heç vaxt vibrasiya etməsin"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"Həmişə vibrasiya etsin"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"Əvvəlcə vibrasiya etsin, sonra tədricən zəng çalsın"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"Digər səslər"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"Klaviş tonları"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"Ekran kilidləmə səsləri"</string>
@@ -3247,6 +3302,7 @@
       <item quantity="one">1 nəzarət aktiv edildi</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Narahat Etməyin"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Yalnız vacib şəxs və tətbiqlərdən bildiriş alın."</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Kəsintiləri məhdudlaşdırın"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"\"Narahat Etməyin\" rejimini aktiv edin"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"İstisnalar"</string>
@@ -3273,7 +3329,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Vizual fəsadları blok edin"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Görünən siqnallara icazə verin"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"Narahat Etməyin rejimi aktiv olduqda"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"Səsli xəbərdarlıqlara icazə verin"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"Bildirişləri məhdudlaşdırın"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Bildirişlər səs çıxarmır"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"Ekranda bildirişləri görəcəksiniz"</string>
@@ -3304,7 +3360,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"Səsi və vibrasiya"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"Bildirişlərin səsi, vibrasiyası və bəzi vizual işarələri"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"Bildirişlərin səsi, vibrasiyası və vizual işarələri"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"Əsas telefon fəaliyyəti və status üçün lazım olan bildirişlər heç vaxt gizlədilməyəcək"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"Əsas telefon fəaliyyəti və status üçün lazım olan bildirişlər heç vaxt gizlədilməyəcək."</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"Yoxdur"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"digər seçimlər"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"Əlavə edin"</string>
@@ -3334,10 +3390,12 @@
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> nəzarət avtomatik aktiv edilə bilər</item>
       <item quantity="one">1 nəzarət avtomatik aktiv edilə bilər</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"İstisnalara icazə verməklə telefonu səssiz rejimə keçirin"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"İstisnalar"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"Cədvəl"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"Bütün istisnalara baxın"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"Narahat Etməyin rejimi aktiv olduqda istisnalar"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"Şəxslər"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"Tətbiqlər"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"Siqnallar və digər xəbərdarlıqlar"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"Cədvəllər"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"Səssiz bildirişlər"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"\"Narahat Etməyin\" rejimi aktiv olduğu zaman, yuxarıda icazə verdiyiniz elementlərdən başqa səs və vibrasiya susdurulacaq."</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"Hamısını susdurun"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"Səssiz"</string>
@@ -3381,16 +3439,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"Adaptiv bildirişlər"</string>
     <string name="asst_capability_prioritizer_title" msgid="1181272430009156556">"Adaptiv bildiriş prioriteti"</string>
     <string name="asst_capability_prioritizer_summary" msgid="954988212366568737">"Mühüm olmayan bildirişləri avtomatik olaraq \"Daha az əhəmiyyətli\" seçiminə ayarlayın"</string>
+    <string name="asst_capability_ranking_title" msgid="312998580233257581">"Adaptiv bildiriş sıralaması"</string>
+    <string name="asst_capability_ranking_summary" msgid="2293524677144599450">"Bildirişləri avtomatik olaraq aktuallığına görə sıralayın"</string>
     <string name="asst_capabilities_actions_replies_title" msgid="4392470465646394289">"Təklif edilən əməliyyat və cavablar"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"Təklif edilən əməliyyat və cavabları avtomatik göstərin"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"Keçmiş bildirişləri və mürgüləyən bildirişləri izləmək üçün bildiriş tarixçəsini yandırın"</string>
+    <string name="notification_history" msgid="8663811361243456201">"Bildiriş tarixçəsi"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"Tarixçəni yandırın"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"Tarixçəni söndürün"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"Bildiriş tarixçəsi sönülüdür"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"bildiriş ayarlarına baxın"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Bildirişin mürgü rejiminə keçirilməsinə icazə verin"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"Daha az əhəmiyyətli bildirişlərin işarələrini gizlədin"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"Daha az əhəmiyyətli bildirişlərin işarələri status panelində görünmür"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"Bildiriş nöqtələrinə icazə verin"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"Son söhbətlər zolağını göstərin"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Qabarcıqlar"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"Bəzi bildirişlər ekranda qabarcıqlar kimi görünə bilər"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"Bəzi bildirişlər və başqa kontent ekranda qabarcıqlar kimi görünə bilər. Qabarcığı açmaq üçün ona klikləyin. Qabarcığı kənarlaşdırmaq üçün onu ekranın aşağısına çəkin."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Qabarcıqlar"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"Yeni mesajlar ekranda görünəcək"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"<xliff:g id="APP_NAME">%1$s</xliff:g> tətbiqinə bəzi bildirişləri qabarcıq kimi göstərmək üçün icazə verin"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"Qabarcıqları aktiv edin"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"Bu tətbiqdə qabarcıqları aktiv etmək üçün, əvvəlcə, cihazda qabarcıqları aktiv etməlisiniz. Bu, əvvəllər qabarcıqları aktiv etdiyiniz digər tətbiqlərə tətbiq edilir."</string>
@@ -3408,6 +3476,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"Aşağı açılan menyu &amp; kilid ekranında görünür"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"Aşağı açılan menyu &amp; status panelidə görünür"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"Aşağı açılan menyu, status paneli &amp; kilid ekranında görünür"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"Status panelində səssiz bildirişləri gizlədin"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"Parıltı işığı"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"Ekran kilidi"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"Kilid ekranını keçin"</string>
@@ -3438,6 +3507,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"Davranış"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"Səsə icazə verin"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"Bildirişləri heç vaxt göstərməyin"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"Söhbətlər"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"Söhbət"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"Söhbət deyil"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"Söhbət bölməsindən silin"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"Bu, söhbətdir"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"Söhbət bölməsinə əlavə edin"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"Söhbətləri idarə edin"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"Vacib söhbətlər"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"Bütün söhbətlər"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"Vacib söhbətlərə qabaqcıq əlavə edin"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"Vacib söhbətlər bildiriş panelinin yuxarısında göstərilir. Həmçinin, onlara qabaqcıq əlavə edilməsini və \"Narahat Etməyin\" rejimini bölməsini ayarlayın."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"Səssiz şəkildə göstərin və kiçildin"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"Sakit səsli"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"Səsli"</string>
@@ -3456,7 +3536,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"Səs və ya vibrasiya olmadan foksulanmağınıza kömək edir"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"Səs və ya vibrasiya ilə diqqətinizi çəkir"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"Cihaz kilidli olduğu zaman bildirişlər ekranının yuxarısında baner ilə göstərilsin"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"Bildirişləri göstərin"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"Bütün <xliff:g id="APP_NAME">%1$s</xliff:g> bildirişləri"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"Adaptiv bildirişlər"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="other">Gün ərzində ~<xliff:g id="NUMBER_1">%d</xliff:g> bildiriş</item>
@@ -3477,6 +3557,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"Adaptiv bildirişlər"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"Heç biri"</string>
     <string name="no_notification_listeners" msgid="2839354157349636000">"Heç bir quraşdırılmış tətbiq bildiriş girişi almayıb."</string>
+    <string name="notification_access_detail_switch" msgid="46386786409608330">"Bildiriş girişinə icazə verin"</string>
     <string name="notification_assistant_security_warning_title" msgid="2972346436050925276">"<xliff:g id="SERVICE">%1$s</xliff:g> üçün bildiriş icazəsi verilsin?"</string>
     <string name="notification_assistant_security_warning_summary" msgid="3119843404577399036">"<xliff:g id="NOTIFICATION_ASSISTANT_NAME">%1$s</xliff:g> kontakt adları və aldığınız mesajların mətni kimi şəxsi məlumatlar daxil olmaqla, bütün bildirişləri oxuyacaq. Həmçinin, bildirişləri dəyişə, yaxud ləğv edə və ya onların əməliyyat düymələrini işə sala bilər. \n\nBu, tətbiqə, \"Narahat Etməyin\" funksiyasını aktiv və ya deaktiv etmək, həmçinin əlaqədar ayarları dəyişmək imkanı verəcək."</string>
     <string name="notification_listener_security_warning_title" msgid="5791700876622858363">"<xliff:g id="SERVICE">%1$s</xliff:g> üçün bildiriş girişinə icazə verilsin?"</string>
@@ -3538,8 +3619,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"Hazır"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"Əhəmiyyət"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"Parıltı işığı"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"Vibrasiya"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"Vibrasiya"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"Səs"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"Vacib"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"Əsas səhifəyə əlavə edin"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"Silin"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"Adını dəyişin"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"Cədvəlin adı"</string>
@@ -3593,6 +3676,10 @@
       <item quantity="other"><xliff:g id="NUM_PEOPLE">%d</xliff:g> digər</item>
       <item quantity="one">1 digər</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Söhbətlər"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"Bütün söhbətlərdən"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"Önəmli söhbətlərdən"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"Söhbətlərə icazə verməyin"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"Mesajlara icazə verin"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"İcazəli mesajların səsli olduğuna əmin olmaq üçün cihazın səsli, vibrasiya yoxsa səssiz olaraq ayarlanıb-ayarlanmadığını yoxlayın."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"\"<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>\" üçün gələn mesajlar blok edilir. Dostlar, ailə və ya digər kontakların Sizinlə əlaqə saxlaması üçün ayarları tənzimləyə bilərsiniz."</string>
@@ -3606,15 +3693,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"Heç biri"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"Zəngələrə icazə verməyin"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"Mesaja icazə verməyin"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"Siqnallara icazə verin"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"Siqnallar"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"Taymerlər, siqnallar, təhlükəsizlik sistemləri və digər tətbiqlərdən"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"siqnallar"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"Media səslərini oxudun"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"Media səsləri"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"Videolar, oyunlar və digər mediadan"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"media"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"Toxunuş səslərinə icazə verin"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"Toxunma səsləri"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"Klaviatura və digər düymələrdən"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"klik səsləri"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"Xatırladıcılara icazə verin"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"Xatırlamalar"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"Tapşırıqlar və xatırladıcılardan"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"xatırlatmalar"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"Tədbirlərə icazə verin"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"Tədbirlər"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"Gələcək təqvim tədbirlərindən"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Tətbiqlərin rejimdən imtina etməsinə icazə verin"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"Tətbiq istisnaları"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3657,6 +3749,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"\"Narahat Etməyin\" rejimi ilə susdurulan mesajlar ekranda aktiv olsun"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"Bildiriş ayarları"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"Ok"</string>
+    <string name="suggestion_button_close" msgid="6865170855573283759">"Bağlayın"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Bu cihaz haqqında fikrinizi bildirin"</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"Admin PIN kodunu daxil edin"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"Aktiv"</string>
@@ -3667,6 +3760,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Ayırmadan öncə PIN istənilsin"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Ayırmadan öncə parol istənilsin"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Ekranı açarkən cihazı kilidləyin"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"SIM\'in silinməsini təsdiq edin"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"Endirilmiş SIM\'i silməzdən əvvəl kimliyinizi doğrulayın"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"Bu iş profilini idarə edir:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"<xliff:g id="ADMIN_APP_LABEL">%s</xliff:g> tərəfindən idarə olunur"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(Eksperimental)"</string>
@@ -3741,8 +3836,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"Bütün proqramlar"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Quraşdırılmış tətbiqlər"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Ani tətbiqlər"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"Şəxsi"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"İş"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"Tətbiqlər: Hamısı"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"Deaktiv edildi"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"Kateqoriyalar: Çox əhəmiyyətli"</string>
@@ -3754,6 +3847,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"Naməlum tətbiq"</string>
     <string name="app_permissions" msgid="8666537659217653626">"İcazə meneceri"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"<xliff:g id="APPS">%1$s</xliff:g> istifadə edən tətbiqlər"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"<xliff:g id="APPS">%1$s</xliff:g> və digərlərindən istifadə edən tətbiqlər"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"Oyatmaq üçün tıklayın"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"Cihazı oyatmaq üçün ekranın istənilən yerində iki dəfə basın"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"Linklər açılır"</string>
@@ -3765,9 +3859,14 @@
       <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> tətbiq dəstəklənən linki açır</item>
       <item quantity="one">Bir tətbiq dəstəklənən linki açır</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"Bu tətbiqdə açın"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"Tətbiqə dəstəklənən keçidləri açmaq icazəsi verin"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"Hər dəfə soruşun"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"Bu tətbiqdə açmayın"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"Tətbiqə keçidləri açmaq icazəsi verməyin"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="other">Tətbiq <xliff:g id="COUNT_1">%d</xliff:g> keçidi idarə etmək istəyir</item>
+      <item quantity="one">Tətbiq <xliff:g id="COUNT_0">%d</xliff:g> keçidi idarə etmək istəyir</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"Tətbiq bu keçidləri idarə etmək istəyir:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"Defolt"</string>
     <string name="default_for_work" msgid="537558180548617528">"İş üçün defolt"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"Yardım və səsli daxiletmə"</string>
@@ -3911,8 +4010,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"Tətbiqlər üzərindən görüntüləmə"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Digər tətbiq üzərindən görüntüləmək icazəsi"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"Bu tətbiqə istifadə etdiyiniz digər tətbiqlərin üzərində göstərilmək icazəsi verin. Bu tətbiq həmin tətbiqlərin istifadəsinə müdaxilə edə və ya tətbiqlərin görünüş və davranışını dəyişə bilər."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"Bütün fayllara giriş"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"Bütün faylları idarə etmək üçün giriş icazəsi verin"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Bu tətbiqə bu cihazda və ya qoşulmuş cihazların yaddaşındakı bütün faylları oxumaq, dəyişmək və silmək icazəsi verin. İcazə verilsə, tətbiq xəbəriniz olmadan fayllara daxil ola bilər."</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"Bütün fayllara daxil ola bilər"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"vr virtual reallıq dinləyici stereo köməkçi xidməti"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"digər tətbiqlərin üzərində sistem siqnalının pəncərə dialoq görüntüsü"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"Tətbiqlər üzərindən görüntüləmə"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"Digər tətbiqlərin üzərindən görüntülənən <xliff:g id="COUNT_1">%2$d</xliff:g> tətbiqdən <xliff:g id="COUNT_0">%1$d</xliff:g> tətbiq"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"Icazəsi ilə Apps"</string>
@@ -4078,6 +4180,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"<xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g> istifadə edildi"</string>
     <string name="data_overusage" msgid="3680477320458707259">"<xliff:g id="ID_1">^1</xliff:g> və daha çox"</string>
     <string name="data_remaining" msgid="6316251496381922837">"<xliff:g id="ID_1">^1</xliff:g> qalıb"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"<xliff:g id="START_DATE">%1$s</xliff:g> və <xliff:g id="END_DATE">%2$s</xliff:g> tarixləri arasındakı data istifadəsini göstərən qrafik."</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"Bu tarix diapazonunda heç bir data yoxdur"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="other">%d gün qalır</item>
       <item quantity="one">%d gün qalır</item>
@@ -4141,14 +4245,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"bağlama ölçüsü"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"bildiriş xəbərdarlığı"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"səs"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"vibrasiya"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"model"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"defolt"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"kanal"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"heç biri"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"Sıralama obyekti yoxdur."</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"Obyekt sıralamasında bu açar yoxdur."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"Temalar"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"Cihaz defoltu"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"Ekran kəsimi"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"ekran kəsimi, nişan"</string>
@@ -4237,8 +4337,12 @@
     <string name="information_label" msgid="6939310810756569298">"Məlumat"</string>
     <string name="low_label" msgid="6525629096999711220">"Aşağı"</string>
     <string name="high_label" msgid="357503396626018487">"Yüksək"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"Yüksək həssaslıq ekranın kənarları boyunca hər hansı tətbiq jestləri ilə ziddiyyətə səbəb ola bilər."</string>
+    <string name="left_edge" msgid="1513576842959071849">"Sol kənar"</string>
+    <string name="right_edge" msgid="1505309103265829121">"Sağ kənar"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"Yüksək həssaslıq ekranın kənarları boyunca hər hansı tətbiq jestləri ilə ziddiyyətə səbəb ola bilər."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"Arxa Həssaslıq"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"Jest ayarları"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"jest naviqasiyası, geri həssaslıq, geri jest"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"Telefonu yoxlamaq üçün iki dəfə tıklayın"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"Planşeti yoxlamaq üçün iki dəfə tıklayın"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"Cihazı yoxlamaq üçün iki dəfə tıklayın"</string>
@@ -4393,7 +4497,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"Operator Təchizatlanmasını Tətikləyin"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"\"Narahat Etməyin\" rejimini yeniləyin"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"Foksulanmağa davam etmək üçün bildirişləri dayandırın"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"Bu funksiya artıq bu cihazda əlçatan deyil"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"Funksiya əlçatan deyil"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"Bu funksiya telefonu yavaşlatdığı üçün deaktiv edilib"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"Tam GNSS ölçülərini icra edin"</string>
@@ -4403,20 +4506,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"ANGLE aktiv olan tətbiq seçin"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"ANGLE aktiv olan tətbiq ayarlanmayıb"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"ANGLE aktiv olan tətbiq: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"Game Driver Tərcihləri"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"Game Driver ayarlarını dəyişin"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"Game Driver aktiv olduqda bu cihazda quraşdırılmış Tətbiqlər üçün yenilənmiş qrafik drayverdən istifadə edə bilərsiniz."</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"Bütün tətbiqlər üçün aktiv edin"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"Qrafik Drayverini Seçin"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"Defolt"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"Game Driver"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"Diskin önizləməsi"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"Sistem Qrafik Drayveri"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"Qrafik Disk Tərcihləri"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"Qrafik disk ayarlarına dəyişiklik edin"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"Çoxsaylı qrafik disk olduqda cihazda quraşdırılmış Tətbiqlər üçün güncəllənmiş qrafik diskdən istifadə etməyi seçə bilərsiniz."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"Bütün tətbiqlər üçün aktivləşdirin"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"Qrafik Disk seçin"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"Defolt"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"Oyun Diski"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"Tərtibatçı Sürücüsü"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Qrafik Sistem Diski"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Tətbiq Uyğunluğu Dəyişiklikləri"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Tətbiq uyğunluq dəyişikliklərini dəyişdirin"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Dəyişikliklər standart olaraq aktivdir"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Dəyişikliklər standart olaraq deaktivdir"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"Ayar bu telefonda dəstəklənmir"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"Ayar bu planşetdə dəstəklənmir"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"Ayar bu cihazda dəstəklənmir"</string>
@@ -4435,6 +4544,12 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"Cihaz"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Zənglər zamanı əlçatan deyil"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"Əlçatmaz"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"Nəticələri əlavə edin"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"Qrup"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 cihaz seçilib"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> cihaz seçilib"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"Zəng qəbul edin"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Bu APN-i dəyişmək mümkün deyil."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Planşetin batareya istifadəsini təkmilləşdirin"</string>
@@ -4552,10 +4667,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Eyni vaxtda yalnız bir endirilmiş SIM aktiv ola bilər.\n\n<xliff:g id="CARRIER1">%1$s</xliff:g> operatoruna keçdikdə <xliff:g id="CARRIER2">%2$s</xliff:g> xidməti ləğv edilməyəcək."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"<xliff:g id="CARRIER">%1$s</xliff:g> operatoruna keçin"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"SIM-i silin"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Endirilən SIM silinsin?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Bu SIM silindikdə <xliff:g id="CARRIER_0">%1$s</xliff:g> xidməti bu cihazdan silinir.\n\n<xliff:g id="CARRIER_1">%2$s</xliff:g> üçün xidmət ləğv edilməyəcək."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Silin"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"SIM silinir…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"SIM silinmədi"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Xəta baş verdiyinə görə bu SIM-i silmək mümkün deyil.\n\nCihazı yenidən başlatdıqdan sonra cəhd edin."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Tərcih edilmiş şəbəkə növü"</string>
@@ -4580,7 +4691,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Yanlış Şəbəkə Rejimi <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. İqnor edin."</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Giriş Nöqtəsi Adları"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"<xliff:g id="CARRIER">%1$s</xliff:g> ünvanına qoşulduqda əlçatan deyil"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"Tibbi məlumat, təcili kontaktlar"</string>
     <string name="see_more" msgid="7499355691042812723">"Ətraflı"</string>
     <string name="see_less" msgid="2642392725363552793">"Baxışı kiçildin"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"<xliff:g id="APPNAME">%1$s</xliff:g> ilə istifadə ediləcək cihaz"</string>
@@ -4589,11 +4699,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"Xəta baş verdi. Bu tətbiq cihaz seçmək üçün sorğunu ləğv etdi."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"Qoşuldu"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"Hamısına baxın"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> cihaz qoşuldu</item>
-      <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_0">%1$d</xliff:g> cihaz qoşuldu</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"Heç bir Bluetooth cihazı qoşulmayıb"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"Cihaz axtarılır..."</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"Cihaza qoşulur…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"Sol"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"Sağ"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Qutu"</string>
@@ -4603,6 +4710,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"Təyyarə rejimində əlçatan deyil"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"Masaüstü rejiminə keçin"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"İkinci displeylərdə eksperimental masaüstü rejimə keçin"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"Sərbəst formalı tətbiqləri aktiv edin"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"Ölçüsü dəyişdirilə bilən tətbiqlərə sərbəst formada olmağa imkan verir"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Qaranlıq rejimini ləğv edir"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"Qaranlıq rejiminin həmişə aktiv olmasını ləğv edir"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"Məxfilik"</string>
@@ -4639,6 +4748,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Bu tətbiqi son vaxtlarda quraşdırmısıız."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Çıxış açarı"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Hazırda <xliff:g id="DEVICE_NAME">%1$s</xliff:g> cihazında oxudulur"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (bağlantı kəsilib)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Dəyişmək olmur. Yenidən cəhd etmək üçün toxunun."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Vacib məlumat"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"DAVAM EDİN"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"XEYR, TƏŞƏKKÜRLƏR"</string>
@@ -4666,8 +4777,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"SIM kombinasiyası"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"İş siyasətiniz haqqında məlumat"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Ayarlar IT admininiz tərəfindən idarə edilir"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"Baq hesabatı idarəedicisi"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Hansı tətbiqin cihazınızda Baq Hesabatı qısayolunu idarə etdiyini təyin edin."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Şəxsi"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"İş"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"Sistem defoltu"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"Bu seçim artıq etibarlı deyil. Yenidən cəhd edin."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"Yayımı dayandırın"</string>
 </resources>
diff --git a/res/values-b+sr+Latn/arrays.xml b/res/values-b+sr+Latn/arrays.xml
index b355390..8abe485 100644
--- a/res/values-b+sr+Latn/arrays.xml
+++ b/res/values-b+sr+Latn/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"Odmah"</item>
     <item msgid="463591454172790676">"5 sekundi"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"Ne proveravaj"</item>
+    <item msgid="5703177653586269306">"Zatraži status sertifikata"</item>
+    <item msgid="326388247868439528">"Zahtevaj status sertifikata"</item>
+    <item msgid="1090956283885790552">"Zahtevaj statuse svih nepouzdanih sertifikata"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"Pritiskanje dugmeta"</item>
     <item msgid="2630618799033509548">"PIN sa ravnopravnog uređaja"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"Nijedan"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"IPSec VPN sa unapred deljenim ključevima i Xauth potvrdom identiteta"</item>
     <item msgid="2484564813864139237">"IPSec VPN sa sertifikatima i Xauth potvrdom identiteta"</item>
     <item msgid="68918911194507915">"IPSec VPN sa sertifikatima i hibridnom potvrdom identiteta"</item>
+    <item msgid="4631647675167100375">"VPN sa IKEv2/IPSec protokolom sa sertifikatima i potvrdom identiteta korisničkim imenom/lozinkom"</item>
+    <item msgid="8812228622975052811">"VPN sa IKEv2/IPSec protokolom sa unapred deljenim ključevima"</item>
+    <item msgid="6630554779981113046">"VPN sa IKEv2/IPSec protokolom sa sertifikatima"</item>
   </string-array>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"Nema"</item>
diff --git a/res/values-b+sr+Latn/config.xml b/res/values-b+sr+Latn/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-b+sr+Latn/config.xml
+++ b/res/values-b+sr+Latn/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml
index 014cbcf..f1b03b2 100644
--- a/res/values-b+sr+Latn/strings.xml
+++ b/res/values-b+sr+Latn/strings.xml
@@ -32,49 +32,17 @@
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Prvo omogućite opcije za programere."</string>
     <string name="header_category_wireless_networks" msgid="303445626075235229">"Bežična veza i mreže"</string>
     <string name="header_category_system" msgid="1665516346845259058">"Sistem"</string>
-    <string name="radio_info_data_connection_enable" msgid="7500945447906187613">"Omogući vezu za prenos podataka"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"Onemogući vezu za prenos podataka"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"Dodeljeno za VoLTE"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"Video pozivanje je dodeljeno"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"Pozivanje preko Wifi veze je dodeljeno"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"EAB/Dodeljeno prisustvo"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"Cbrs podaci"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"Omogući DSDS"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"Želite li da restartujete uređaj?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"Restartujte uređaj da biste promenili ovo podešavanje."</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"Restartuj"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"Otkaži"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"Napajanje za radio na mobilnim uređajima"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"Prikaži SIM adresar"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"Prikaži brojeve za fiksno biranje"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"Prikaži brojeve za servisno biranje"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"Status usluge za razmenu trenutnih poruka"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"Status razmene trenutnih poruka"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"Registrovano je"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"Nije registrovano"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"Dostupno"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"Nedostupno"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"Registracija usluge za razmenu trenutnih poruka: <xliff:g id="STATUS">%1$s</xliff:g>\nGlas preko LTE-a: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nGlas preko WiFi-ja: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideo poziv: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT interfejs: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"Radi"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Ne radi"</string>
     <string name="radioInfo_service_emergency" msgid="6838935881091760942">"Samo hitni pozivi"</string>
     <string name="radioInfo_service_off" msgid="6184928420860868571">"Radio je isključen"</string>
     <string name="radioInfo_roaming_in" msgid="8892550453644088692">"Roming"</string>
     <string name="radioInfo_roaming_not" msgid="3137594549464975054">"Nije u romingu"</string>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"Neaktivan/na"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"Zvonjava"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"Pozivanje je u toku"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"Veza je prekinuta"</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">"Obustavljeno"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Nepoznato"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"pak."</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"bajta(ova)"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"ID klijenta"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"Isključi USB memoriju"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"Oslobađanje SD kartice"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"Brisanje USB memorije"</string>
@@ -84,7 +52,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"Omogućava da tekst na ekranu bude manji ili veći."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Umanji"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Uvećaj"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"Primer teksta"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"Čarobnjak iz Oza"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"Poglavlje 11: Čudesni Smaragdni grad Oza"</string>
@@ -175,9 +142,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"Restartujte uređaj da biste promenili ovo podešavanje."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"Restartuj"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"Otkaži"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"Dostupni medijski uređaji"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"Dostupni uređaji za pozivanje"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"Trenutno povezani"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"Medijski uređaji"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"Uređaji za pozivanje"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"Drugi uređaji"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Sačuvani uređaji"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth će se uključiti radi uparivanja"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Povezivanja"</string>
@@ -210,46 +177,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"Uneli ste nevažeći port."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"Pregledač koristi HTTP proksi, ali druge aplikacije ne mogu da ga koriste."</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"PAC URL: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"Aktuelni rezervisani ID:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"Rezervisani ID podrazumevanog SIM-a za podatke:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"DL propusni opseg (kb/s):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"UL propusni opseg (kb/s):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"Informacije o lokaciji predajnika (zastarelo):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"Konfiguracija LTE fizičkog kanala:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"Brzina osvežavanja informacija o predajniku:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"Sve informacije o merenju za predajnik:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"Usluga prenosa podataka:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"Roming:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"Preusmeravanje poziva:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"Broj PPP resetovanja od pokretanja:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"Aktuelna mreža:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"Primljeni podaci:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"Glasovna usluga:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"Jačina signala:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"Status glasovnog poziva:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"Poslati podaci:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"Poruka na čekanju:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"Broj telefona:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"Izaberite radio opseg"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"Tip glasovne mreže:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"Tip mreže za prenos podataka:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"Izaberite indeks telefona"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"Podesite željeni tip mreže:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"IPv4 imena hosta za pingovanje (www.google.com):"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"IPv6 imena hosta za pingovanje (www.google.com):"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"Test za HTTP klijenta:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"Pokreni test pingovanja"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"Ažuriraj"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"Osveži"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"Uključi/isključi DNS proveru"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"Informacije/podešavanja specifična za OEM"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"Podesite režim radio opsega"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"Učitava se lista opsega…"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"Podesi"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"Neuspešno"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"Uspešno"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"Promene će stupiti na snagu kada USB kabl bude ponovo povezan."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"Omogući USB masovno skladištenje"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"Ukupno bajtova:"</string>
@@ -287,10 +218,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"Premesti na dno"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"Ukloni jezik"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"Izbor aktivnosti"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"Informacije o uređaju"</string>
     <string name="display_label" msgid="3056320781191343221">"Ekran"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"Informacije o tabletu"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"Informacije o telefonu"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"USB memorija"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"SD kartica"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"Podešavanja za proksi"</string>
@@ -308,9 +236,6 @@
     <string name="airplane_mode" msgid="3196085857882526817">"Režim rada u avionu"</string>
     <string name="wireless_networks_settings_title" msgid="8557542379234105369">"Bežična veza i mreže"</string>
     <string name="radio_controls_summary" msgid="9028430178697624501">"Upravljanje Wi-Fi mrežom, Bluetooth-om, režimom rada u avionu, mobilnim mrežama i VPN-om"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"Mobilni podaci"</string>
-    <string name="calls_title" msgid="6334813967619899114">"Dozvoli pozive"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"SMS poruke"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"Omogućava potrošnju podataka na mob. mreži"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"Dozvoli potr. podat. u romingu"</string>
     <string name="roaming" msgid="3055365654530847985">"Roming"</string>
@@ -318,9 +243,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"Poveži sa uslugom za podatke u romingu"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"Veza za prenos podataka je prekinuta zato što ste napustili matičnu mrežu sa isključenim prenosom podataka u romingu."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"Uključi"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"Mogu da nastanu značajni troškovi."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"Kada omogućite prenos podataka u romingu, možete da napravite velike troškove u romingu!\n\nOvo podešavanje utiče na sve korisnike ovog tableta."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"Kada omogućite prenos podataka u romingu, možete da napravite velike troškove u romingu!\n\nOvo podešavanje utiče na sve korisnike ovog telefona."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"Važe naknade za roming."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"Kada omogućite prenos podataka u romingu, važe naknade za roming.\n\nOvo podešavanje utiče na sve korisnike ovog tableta."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"Kada omogućite prenos podataka u romingu, važe naknade za roming.\n\nOvo podešavanje utiče na sve korisnike ovog telefona."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"Dozvolite prenos podataka u romingu?"</string>
     <string name="networks" msgid="5184501333492775095">"Izbor operatera"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"Izbor mrežnog operatera"</string>
@@ -361,8 +286,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"Administrator je onemogućio"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"Prikaži opciju zaključavanja"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"Prikazuje opciju dugmeta za napajanje koja isključuje Smart Lock, biometrijsko otključavanje i obaveštenja na zaključanom ekranu"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"Pouzdani agenti - duže otključano"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"Ako je omogućeno, pouzdani agenti će omogućiti da uređaj duže ostane otključan, ali ne mogu više da otključavaju zaključan uređaj."</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"Zaključaj ekran kada je agent nepouzdan"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"Ako se omogući, uređaj će se zaključati kada poslednji pouzdani agent više ne bude pouzdan"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"Ništa"</string>
@@ -393,7 +316,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"Podešavanje Moje lokacije, otključavanja ekrana, zaključavanja SIM kartice i zaključavanja akreditiva skladišta"</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"Podešavanje Moje lokacije, otključavanja ekrana, zaključavanja skladišta akreditiva"</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"Privatnost"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"Administrator je onemogućio"</string>
+    <string name="disabled_by_administrator_summary" msgid="5424846182313851124">"Nije dostupno"</string>
     <string name="security_status_title" msgid="6958004275337618656">"Bezbednosni status"</string>
     <string name="security_dashboard_summary_face" msgid="4198949293847206382">"Zaključavanje ekrana, otključavanje licem"</string>
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Zaključavanje ekrana, otisak prsta"</string>
@@ -701,7 +624,6 @@
       <item quantity="few">Mora da sadrži manje od <xliff:g id="NUMBER_1">%d</xliff:g> cifre</item>
       <item quantity="other">Mora da sadrži manje od <xliff:g id="NUMBER_1">%d</xliff:g> cifara</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"Mora da sadrži samo cifre 0–9"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"Administrator uređaja ne dozvoljava upotrebu nedavno korišćenog PIN-a"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"IT administrator blokira česte PIN-ove. Izaberite drugi PIN."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"Ne sme da obuhvata nevažeći znak"</string>
@@ -738,6 +660,11 @@
       <item quantity="few">Mora da sadrži najmanje <xliff:g id="COUNT">%d</xliff:g> znaka koji nisu slova</item>
       <item quantity="other">Mora da sadrži najmanje <xliff:g id="COUNT">%d</xliff:g> znakova koji nisu slova</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="one">Mora da sadrži najmanje <xliff:g id="COUNT">%d</xliff:g> znak koji nije broj</item>
+      <item quantity="few">Mora da sadrži najmanje <xliff:g id="COUNT">%d</xliff:g> znaka koji nisu brojevi</item>
+      <item quantity="other">Mora da sadrži najmanje <xliff:g id="COUNT">%d</xliff:g> znakova koji nisu brojevi</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"Administrator uređaja ne dozvoljava upotrebu nedavno korišćene lozinke"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"IT administrator blokira česte lozinke. Izaberite drugu lozinku."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"Rastući, opadajući ili ponovljeni niz cifara nije dozvoljen"</string>
@@ -853,19 +780,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2,4 GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"Prijavi me"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"Otvori sajt"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"Još <xliff:g id="REMAINING_TIME">%1$s</xliff:g>"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"Ističe <xliff:g id="EXPIRY_TIME">%1$s</xliff:g>"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"Dodirnite ovde da biste se prijavili na mrežu"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Mb/s"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Mb/s"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Mb/s"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"<xliff:g id="REQUESTER">%s</xliff:g> želi da uključi Wi-Fi"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"<xliff:g id="REQUESTER">%s</xliff:g> želi da isključi Wi-Fi"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"Potvrdi binarni kôd aplikacija iz kojih mogu da se otklone greške"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Dozvoli da ART potvrdi binarni kôd aplikacija iz kojih mogu da se otklone greške"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"Prikaži učestalost osvežavanja"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Prikaži aktuelnu učestalost osvežavanja ekrana"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"Omogućava razmenu podataka kada tablet dodirne drugi uređaj"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"Omogućava razmenu podataka kada telefon dodirne drugi uređaj"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"Dozvolite razmenu podataka kada tablet dodirne NFC uređaj"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"Dozvolite razmenu podataka kada telefon dodirne NFC uređaj"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"Uključite NFC"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"NFC razmenjuje podatke između ovog uređaja i drugih obližnjih uređaja ili meta, poput terminala za plaćanje, čitača za kontrolu pristupa i interaktivnih oglasa ili oznaka."</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"Zaštiti NFC"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Za korišćenje NFC-a mora da se otključa uređaj"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"Dozvoli korišćenje NFC opcija za plaćanje i javni prevoz samo kada je ekran otključan"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"Spremno za prenos sadržaja aplikacija preko NFC-a"</string>
@@ -939,8 +872,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Uključi"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Wi‑Fi skeniranje je uključeno"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Napredne opcije"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"Padajuća lista Napredne opcije. Dvaput dodirnite da biste skupili."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"Padajuća lista Napredne opcije. Dvaput dodirnite da biste proširili."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Padajuća lista sa naprednim opcijama"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"proširite"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"Ime mreže"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"Unesite SSID"</string>
     <string name="wifi_security" msgid="9095934643631406913">"Bezbednost"</string>
@@ -950,6 +883,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"Status"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"Brzina linka za prenos"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"Brzina linka za prijem"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"Brzina veze"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"Učestalost"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"IP adresa"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"Sačuvano preko"</string>
@@ -957,6 +891,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"EAP metod"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"Potvrda identiteta druge faze"</string>
     <string name="wifi_eap_ca_cert" msgid="8033404008276298886">"CA sertifikat"</string>
+    <string name="wifi_eap_ocsp" msgid="8713933962516871238">"Status onlajn sertifikata"</string>
     <string name="wifi_eap_domain" msgid="8304301470752333203">"Domen"</string>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"Korisnički sertifikat"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"Identitet"</string>
@@ -973,6 +908,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"Izaberite barem jedan opseg za Wi‑Fi hotspot:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"IP podešavanja"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"Privatnost"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"Pretplata"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"Pregledajte ili promenite pretplatu"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"Nasumično izabrani MAC"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"Dodaj uređaj"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"Postavite QR kôd u nastavku da biste dodali uređaj na mrežu „<xliff:g id="SSID">%1$s</xliff:g>“"</string>
@@ -982,12 +919,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"Deli Wi‑Fi"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"Skenirajte ovaj QR kôd da biste se povezali sa „<xliff:g id="SSID">%1$s</xliff:g>“ i delili lozinku"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"Skenirajte ovaj QR kôd da biste se pridružili mreži „<xliff:g id="SSID">%1$s</xliff:g>“"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"Čitanje QR koda nije uspelo. Ponovo centrirajte kôd, pa probajte ponovo"</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"Probajte ponovo. Ako se problem nastavi, kontaktirajte proizvođača uređaja"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"Došlo je do greške"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"Uverite se da je uređaj priključen na izvor napajanja, napunjen i uključen"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"Uverite se da je uređaj priključen na izvor napajanja, napunjen i uključen. Ako se problem nastavi, kontaktirajte proizvođača uređaja"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"Ovaj uređaj ne podržava dodavanje mreže „<xliff:g id="SSID">%1$s</xliff:g>“"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"Probajte da približite uređaj Wi‑Fi pristupnoj tački/ruteru"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"Proverite lozinku i probajte ponovo"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"Obratite se proizvođaču uređaja"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"Proverite vezu i probajte ponovo"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"Odaberite mrežu"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"Da biste povezali uređaj, odaberite mrežu"</string>
@@ -1000,11 +939,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"Deli se Wi‑Fi sa ovim uređajem…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"Povezuje se…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"Delite hotspot"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"Potvrdite da ste to vi"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"Potvrdite svoj identitet"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"Lozinka za Wi-Fi: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"Lozinka hotspota: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"Automatsko povezivanje"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"Dozvolite telefonu da se automatski povezuje u blizini ove mreže"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"Dozvolite tabletu da se automatski povezuje u blizini ove mreže"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"Dodajte uređaj"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"Koristite QR kôd da biste dodali uređaj na ovu mrežu"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"QR kôd nije u važećem formatu"</string>
     <string name="retry" msgid="7542103800274026915">"Probaj ponovo"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"Deli sa drugim korisnicima uređaja"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(nepromenjeno)"</string>
@@ -1016,6 +959,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"Nije naveden nikakav sertifikat. Veza neće biti privatna."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"Naziv mreže je predugačak."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"Morate da navedete domen."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"Sertifikat je obavezan."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"WPS je dostupan"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (WPS je dostupan)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"Wi‑Fi mreža mobilnog operatera"</string>
@@ -1070,7 +1014,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"Napredna Wi-Fi podešavanja"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"MAC adresa"</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_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>
@@ -1122,7 +1067,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"Koristite hotspot da biste napravili Wi‑Fi mrežu za druge uređaje. Hotspot pruža internet pomoću veze za mobilne podatke. Možda će važiti dodatne tarife za mobilne podatke."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"Aplikacije mogu da prave hotspotove za deljenje sadržaja sa obližnjim uređajima."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Automatski isključi hotspot"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"Wi‑Fi hotspot će se isključiti ako nijedan uređaj nije povezan"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Kada nijedan uređaj nije povezan"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"Uključivanje hotspota…"</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"Isključivanje hotspota..."</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> je aktivan"</string>
@@ -1131,6 +1076,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"Podešavanje Wi‑Fi hotspota"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"AndroidAP WPA2 PSK hotspot"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"AndroidHotspot"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"Želite li da sačuvate ovu mrežu?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"<xliff:g id="APPNAME">%1$s</xliff:g> želi da sačuva mrežu na telefonu"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"<xliff:g id="APPNAME">%1$s</xliff:g> želi da sačuva mrežu na telefonu"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"Čuva se…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"Sačuvano"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"Čuvanje nije uspelo. Probajte ponovo."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"Želite li da sačuvate mreže?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"<xliff:g id="APPNAME">%1$s</xliff:g> želi da sačuva ove mreže na telefonu"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"<xliff:g id="APPNAME">%1$s</xliff:g> želi da sačuva ove mreže na tabletu"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"Čuvaju se mreže (<xliff:g id="NUMBER">%d</xliff:g>)…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"Mreže su sačuvane"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"Pozivanje preko Wi-Fi-ja"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"Produžite pozive pomoću Wi‑Fi-ja"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"Uklj. pozivanje preko Wi‑Fi-ja da proširite pokrivenost"</string>
@@ -1157,16 +1113,18 @@
     <string name="emergency_address_title" msgid="3490633500025717573">"Adresa za hitne slučajeve"</string>
     <string name="emergency_address_summary" msgid="3022628750270626473">"Koristi se kao vaša lokacija kada uputite hitni poziv pomoću Wi-Fi-ja"</string>
     <string name="private_dns_help_message" msgid="851221502063782306"><annotation id="url">"Saznajte više"</annotation>" o funkcijama Privatnog DNS-a"</string>
+    <string name="private_dns_mode_on" msgid="8878679071975375696">"Uključeno"</string>
     <string name="wifi_calling_pref_managed_by_carrier" msgid="129524064888622179">"Mobilni operater upravlja podešavanjem"</string>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"Aktivirajte Pozivanje preko Wi-Fi-ja"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"Uključite pozivanje preko Wi-Fi-ja"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"Pozivanje preko Wi-Fi-ja nije podržano za %1$s"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"Prekinuta je veza sa: <xliff:g id="SSID">%1$s</xliff:g>"</string>
     <string name="carrier" msgid="1755020806290963951">"Mobilni operater"</string>
     <string name="display_settings_title" msgid="626835071804834218">"Prikaz"</string>
     <string name="sound_settings" msgid="5514582720435174014">"Zvuk"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"Jačine zvuka"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"Muzički efekti"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"Jačina zvuka zvona"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"Jačina zvuka za zvono i obaveštenja"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"Vibracija u nečujnom režimu"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"Podrazumevani zvuk obaveštenja"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"Zvuk zvona"</string>
@@ -1291,13 +1249,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"Zakažite"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"Ništa"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"Uključuje se od sumraka do svitanja"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"Uključuje se u željeno vreme"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"Status"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"Isključeno/<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"Nikada se ne uključuje automatski"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"Uključuje se automatski kada sunce zađe"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"Uključuje se automatski u <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"Uključeno/<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"Nikada se ne isključuje automatski"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"Isključuje se automatski kada sunce izađe"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"Isključuje se automatski u <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"Uključi do <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"Isključi do <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"Tamna tema koristi crnu pozadinu da bi baterija trajala duže na nekim ekranima. Rasporedi tamne teme se ne uključuju dok se ekran ne isključi."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"Gašenje ekrana"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"Ekran se isključuje"</string>
@@ -1309,7 +1272,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"Promenite pozadinu"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"Personalizujte ekran"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"Izaberite pozadinu iz"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"Prilagodite Pixel"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"Prilagodite telefon"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"Probajte drugačije stilove, pozadine i još toga"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"Čuvar ekrana"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Tokom punjenja ili na baznoj stanici"</string>
@@ -1399,6 +1362,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"Isključivanje USB memorije, prikaz dostupne memorije"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"Oslobađanje SD kartice, prikaz dostupnog skladišta"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (otvor za SIM: %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"Da biste videli, odaberite sačuvanu mrežu"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"Broj mobilnog direktorijuma"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"Broj telefona"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (otvor za SIM: %1$d)"</string>
@@ -1425,6 +1389,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"Roming"</string>
     <string name="status_operator" msgid="4335640583552058491">"Mreža"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"Wi-Fi MAC adresa"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"MAC adresa uređaja za Wi‑Fi"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"Bluetooth adresa"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Serijski broj"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Vreme rada"</string>
@@ -1637,6 +1602,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Ponovno postavljanje podrazumevanih podešavanja naziva pristupne tačke je završeno"</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"Opcije za resetovanje"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"Mreža, aplikacije ili uređaj mogu da se resetuju"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"Aplikacije mogu da se resetuju"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"Resetuj Wi-Fi, mobilnu mrežu i Bluetooth"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"Ovim resetujete sva podešavanja mreže, uključujući:\n\n"<li>"Wi‑Fi"</li>\n<li>"Mobilne podatke"</li>\n<li>"Bluetooth"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"Obriši preuzete SIM kartice"</string>
@@ -1686,6 +1652,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"Hotspot je uključen"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"Privezivanje"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"Nije moguće privezivanje niti korišćenje prenosivih hotspotova dok je Ušteda podataka uključena"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"Samo hotspot"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"Samo USB"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"Samo Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"Hotspot, USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"Hotspot, Bluetooth"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB, Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"Hotspot, USB, Bluetooth"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"Internet se ne deli sa drugim uređajima"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"Privezivanje"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Nemoj da koristiš Wi‑Fi hotspot"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Deli internet samo preko USB-a"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Deli internet samo preko Bluetooth-a"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Deli internet samo preko USB-a i Bluetooth-a"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB povezivanje"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"Deljenje internet veze telefona preko USB-a"</string>
@@ -1777,9 +1756,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"Bezbednosne informacije"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"Nemate vezu za prenos podataka. Da biste odmah pogledali ove informacije, idite na %s sa bilo kog računara koji je povezan na internet."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"Učitava se…"</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"Koristite PIN"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"Koristite šablon"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"Koristite lozinku"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"Podesite zaključavanje ekrana"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"Podesite lozinku iz bezbednosnih razloga"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"Podesite lozinku da biste koristili otisak"</string>
@@ -1788,8 +1764,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"Podesite PIN da biste koristili otisak"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"Podesite šablon iz bezbednosnih razloga"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"Ponovo unesite lozinku"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"Unesite lozinku profila za Work"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"Potvrdite šablon"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"Unesite šablon profila za Work"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"Ponovo unesite PIN"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"Unesite PIN profila za Work"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"Lozinke se ne podudaraju"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"PIN-ovi se ne podudaraju"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"Ponovo nacrtajte šablon"</string>
@@ -1800,6 +1779,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"Otključavanje licem zahteva lozinku"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"Otključavanje licem zahteva šablon"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"Otključavanje licem zahteva PIN"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"Zaboravili ste lozinku?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"Zaboravili ste šablon?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"Zaboravili ste PIN?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"Upotrebite šablon za uređaj da biste nastavili"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"Unesite PIN uređaja da biste nastavili"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"Unesite lozinku uređaja da biste nastavili"</string>
@@ -1867,6 +1849,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"Dozvoli sve izvore aplikacija"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"Nedavno otvarane aplikacije"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"Prikaži sve aplikacije: <xliff:g id="COUNT">%1$d</xliff:g>"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"Obratite se IT administratoru"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"On može da vam pomogne da resetujete PIN, šablon ili lozinku"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"Tablet i lični podaci su podložniji napadu nepoznatih aplikacija. Instaliranjem aplikacija iz ovog izvora prihvatate da ste odgovorni za oštećenja telefona ili gubitak podataka do kojih može da dođe zbog njihovog korišćenja."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"Telefon i lični podaci su podložniji napadu nepoznatih aplikacija. Instaliranjem aplikacija iz ovog izvora prihvatate da ste odgovorni za oštećenja telefona ili gubitak podataka do kojih može da dođe zbog njihovog korišćenja."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"Uređaj i lični podaci su podložniji napadu nepoznatih aplikacija. Ako instalirate aplikacije iz ovog izvora, prihvatate da ste odgovorni za eventualna oštećenja uređaja ili gubitak podataka do kojih može da dođe zbog njihovog korišćenja."</string>
@@ -1919,7 +1903,7 @@
     <string name="default_emergency_app" msgid="1929974800666613803">"Aplikacija za hitne slučajeve"</string>
     <string name="reset_app_preferences" msgid="8861758340732716573">"Resetuj podešavanja aplikacije"</string>
     <string name="reset_app_preferences_title" msgid="8935136792316050759">"Želite da resetujete podešavanja aplikacije?"</string>
-    <string name="reset_app_preferences_desc" msgid="1377296810290814749">"Ovim ćete vratiti na početne vrednosti sva podešavanja za:\n\n"<li>"Onemogućene aplikacije"</li>\n<li>"Obaveštenja o onemogućenim aplikacijama"</li>\n<li>"Podrazumevane aplikacije za radnje"</li>\n<li>"Ograničenja za pozadinske podatke za aplikacije"</li>\n<li>"Bilo kakva ograničenja za dozvole"</li>\n\n" Nećete izgubiti podatke aplikacija."</string>
+    <string name="reset_app_preferences_desc" msgid="6509978724602405805">"Ovim će se resetovati sva podešavanja za:\n\n"<li>"Onemogućene aplikacije"</li>\n<li>"Obaveštenja o onemogućenim aplikacijama"</li>\n<li>"Podrazumevane aplikacije za radnje"</li>\n<li>"Ograničenja za pozadinske podatke za aplikacije"</li>\n<li>"Sva ograničenja za dozvole"</li>\n\n"Nećete izgubiti nikakve podatke aplikacije."</string>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"Resetuj aplikacije"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"Upravljaj prostorom"</string>
     <string name="filter" msgid="9039576690686251462">"Filtriraj"</string>
@@ -2119,7 +2103,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"Zvuk i tekst na ekranu"</string>
     <string name="display_category_title" msgid="6638191682294461408">"Prikaz"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"Kontrole interakcije"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"Preuzete usluge"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"Preuzete aplikacije"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"Eksperimentalno"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"Oznake funkcija"</string>
     <string name="talkback_title" msgid="8756080454514251327">"TalkBack"</string>
@@ -2127,27 +2111,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"Dodirnite stavke na ekranu da biste ih čuli"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"Podešavanja titla"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"Uvećanje"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"Oblast za uvećanje"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"Omogućite uvećanje"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"Odaberite oblasti za uvećanje koje želite da koristite kada uvećavate ekran"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"Ceo ekran"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"Deo ekrana"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"Ceo ekran i deo ekrana"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"Uvećajte ceo ekran"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"Uvećajte deo ekrana"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Podešavanja uvećanja"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"Uvećanje pomoću trostrukog dodira"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Uvećavajte pomoću prečice"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Uvećavajte pomoću prečice i trostrukog dodira"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"O usluzi <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"Opcije"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"Uvećajte prikaz na ekranu"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"Dodirnite 3 puta da biste zumirali"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Dodirnite dugme da biste zumirali"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><b>"Da biste zumirali"</b>", brzo dodirnite ekran 3 puta.\n"<ul><li>"Prevucite pomoću 2 ili više prstiju da biste pomerali prikaz"</li>\n<li>"Skupite 2 ili više prstiju da biste prilagodili zumiranje"</li></ul>\n\n<b>"Za privremeno zumiranje"</b>" brzo dodirnite ekran 3 puta i zadržite prst pri trećem dodiru.\n"<ul><li>"Prevlačite prstom da biste se kretali po ekranu"</li>\n<li>"Podignite prst da biste umanjili prikaz"</li></ul>\n\n"Ne možete da zumirate tastaturu ni traku za navigaciju."</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"Kada je uvećanje uključeno, možete da uvećate ekran.\n\n"<b>"Da biste zumirali"</b>", pokrenite uvećanje, pa dodirnite bilo koji deo ekrana.\n"<ul><li>"• Prevucite pomoću 2 ili više prstiju da biste pomerali prikaz"</li>\n<li>"• Skupite 2 ili više prstiju da biste prilagodili zumiranje"</li></ul>\n\n<b>"Za privremeno zumiranje"</b>" pokrenite uvećanje, pa dodirnite i zadržite bilo koji deo ekrana.\n"<ul><li>"• Prevlačite prstom da biste se kretali po ekranu"</li>\n<li>"• Podignite prst da biste umanjili prikaz"</li></ul>\n\n"Ne možete da uvećavate tastaturu ili traku za navigaciju."</string>
+    <string name="accessibility_screen_magnification_summary" msgid="7617931632990040045">"Brzo uvećajte ekran da biste videli sadržaj jasnije.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Da biste uvećali:&lt;/b&gt;&lt;br/&gt;	1. Koristite prečicu da biste pokrenuli uvećanje&lt;br/&gt;	2. Dodirnite ekran&lt;br/&gt;	3. Prevlačite pomoću 2 prsta da biste se kretali po ekranu&lt;br/&gt;	4. Skupite 2 prsta da biste prilagodili zumiranje&lt;br/&gt;	5. Koristite prečicu da biste zaustavili uvećanje&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Da biste privremeno uvećali:&lt;/b&gt;&lt;br/&gt;	1. Koristite prečicu da biste pokrenuli uvećanje&lt;br/&gt;	2. Dodirnite i zadržite bilo koji deo ekrana&lt;br/&gt;	3. Prevlačite prst da biste se kretali po ekranu&lt;br/&gt;	4. Podignite prst da biste zaustavili uvećanje"</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Kada je uvećanje uključeno, možete da uvećate ekran.\n\n"<b>"Da biste zumirali"</b>", pokrenite uvećanje, pa dodirnite bilo koji deo ekrana.\n"<ul><li>"Prevlačite pomoću 2 ili više prstiju da biste pomerali prikaz"</li>\n<li>"Skupite 2 ili više prstiju da biste prilagodili zumiranje"</li></ul>\n\n<b>"Za privremeno zumiranje"</b>" pokrenite uvećanje, pa dodirnite i zadržite bilo koji deo ekrana.\n"<ul><li>"Prevlačite da biste se kretali po ekranu"</li>\n<li>"Podignite prst da biste umanjili prikaz"</li></ul>\n\n"Ne možete da uvećavate tastaturu ili traku za navigaciju."</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Otvarajte pomoću dugmeta za pristupačnost"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Otvarajte pomoću pokreta"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"Koristite novi pokret za pristupačnost"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"Da biste uključili ili isključili ovu uslugu, dodirnite dugme za pristupačnost <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> u dnu ekrana.\n\nDa biste prelazili sa jedne usluge na drugu, dodirnite i zadržite dugme za pristupačnost."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"Da biste uključili ili isključili ovu uslugu, prevlačite nagore od dna ekrana pomoću dva prsta.\n\nDa biste prelazili sa jedne usluge na drugu, prevlačite nagore pomoću dva prsta i zadržite."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"Da biste uključili ili isključili ovu uslugu, prevlačite nagore od dna ekrana pomoću tri prsta.\n\nDa biste prelazili sa jedne usluge na drugu, prevlačite nagore pomoću tri prsta i zadržite."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"Da biste uključili ili isključili uslugu pristupačnosti, prevlačite nagore od dna ekrana pomoću dva prsta.\n\nDa biste prelazili sa jedne usluge na drugu, prevlačite nagore pomoću dva prsta i zadržite."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"Da biste uključili ili isključili uslugu pristupačnosti, prevlačite nagore od dna ekrana pomoću tri prsta.\n\nDa biste prelazili sa jedne usluge na drugu, prevlačite nagore pomoću tri prsta i zadržite."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"Da biste uključili ili isključili ovu uslugu, dodirnite dugme za pristupačnost <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> u dnu ekrana.\n\nDa biste prelazili sa jedne usluge na drugu, dodirnite i zadržite dugme za pristupačnost."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"Da biste uključili ili isključili ovu uslugu, prevucite nagore od dna ekrana pomoću dva prsta.\n\nDa biste prelazili sa jedne usluge na drugu, prevucite nagore pomoću dva prsta i zadržite."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"Da biste uključili ili isključili ovu uslugu, prevucite nagore od dna ekrana pomoću tri prsta.\n\nDa biste prelazili sa jedne usluge na drugu, prevucite nagore pomoću tri prsta i zadržite."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"Da biste uključili ili isključili uslugu pristupačnosti, prevucite nagore od dna ekrana pomoću dva prsta.\n\nDa biste prelazili sa jedne usluge na drugu, prevucite nagore pomoću dva prsta i zadržite."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"Da biste uključili ili isključili uslugu pristupačnosti, prevucite nagore od dna ekrana pomoću tri prsta.\n\nDa biste prelazili sa jedne usluge na drugu, prevucite nagore pomoću tri prsta i zadržite."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"Važi"</string>
+    <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Prečica usluge <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_edit_summary_software" msgid="2820923641553461297">"Dugme Pristupačnost"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture" msgid="8078659880723370597">"Prevucite nagore pomoću 2 prsta"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture_talkback" msgid="7422753388389160524">"Prevucite nagore pomoću 3 prsta"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software" msgid="4796192466943479849">"Dodirnite dugme Pristupačnost"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8922102767509399352">"Dodirnite dugme Pristupačnost <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> u dnu ekrana"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"Prevucite nagore od dna ekrana pomoću 2 prsta"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"Prevucite nagore od dna ekrana pomoću 3 prsta"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Zadržite tastere za jačinu zvuka"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"Pritisnite i zadržite oba tastera za jačinu zvuka 1 sekundu"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Dodirnite ekran triput"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"Brzo dodirnite ekran 3 puta. Ova prečica može da uspori uređaj."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"Napredno"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"Dugme za pristupačnost je podešeno na <xliff:g id="SERVICE">%1$s</xliff:g>. Da biste koristili uvećanje, dodirnite i zadržite dugme za pristupačnost, pa izaberite uvećanje."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"Pokret za pristupačnost je podešen na funkciju <xliff:g id="SERVICE">%1$s</xliff:g>. Da biste koristili uvećanje, prevlačite nagore od dna ekrana pomoću dva prsta i zadržite. Zatim odaberite uvećanje."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"Taster jačine zvuka kao prečica"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"Usluga prečice"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Podešavanja prečica"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"Omogući na zaključanom ekranu"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"Kada je prečica uključena, možete da pritisnete oba tastera za jačinu zvuka i zadržite ih 3 sekunde da biste pokrenuli funkciju pristupačnosti."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"Tekst visokog kontrasta"</string>
@@ -2171,24 +2180,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"Odaberite koliko dugo će se prikazivati poruke koje traže da reagujete, ali su vidljive samo privremeno.\n\nOvo podešavanje ne podržavaju sve aplikacije."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"Odlaganje dodira i zadržavanja"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"Inverzija boja"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"Može da utiče na kvalitet rada"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"Vreme zadržavanja"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"Koristi inverziju boja"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"Inverzija boja menja svetle ekrane u tamne. To pomaže ljudima koji su osetljivi na jako svetlo da lakše vide ekran.&lt;br/&gt;&lt;br/&gt;Napomena: tamne boje će se promeniti u svetle. Boje se menjaju u medijima i na slikama. Možete da koristite i tamnu temu (Podešavanja &gt; Prikaz)."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"Automatski klik (vreme zadržavanja)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"Ako koristite miš, možete da podesite kursor da automatski klikne kada prestane da se kreće određeni vremenski period."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"Odlaganje pre klika"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"Ne koristi automatski klik (podrazumevano)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"Kratko"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0,2 sekunde"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"Srednje"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0,6 sekundi"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"Dugo"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 sekunda"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"Prilagođeno"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"Kraće"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"Duže"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"Trajanje automatskog klika"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"Vibracije i jačina dodira"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Vibriranje obaveštenja"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Vibriranje zvona"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Dodirne povratne informacije"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"Koristi uslugu"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"Koristite aplikaciju <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"Otvorite aplikaciju <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"Koristi korekciju boja"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"Koristi natpise"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"Prikaži titl"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"Izgled titla"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"Veličina teksta, stil titla"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"Još opcija"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"Ne podržavaju sve aplikacije ovo podešavanje."</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"dugme Pristupačnost"</string>
+    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"Prevucite nagore od donjeg dela ekrana pomoću 2 prsta"</string>
+    <string name="accessibility_shortcut_type_hardware" msgid="4834144210432451916">"Zadržite tastere za jačinu zvuka"</string>
+    <string name="accessibility_shortcut_type_triple_tap" msgid="7717524216825494543">"Dodirnite ekran triput"</string>
     <string name="accessibility_hearingaid_instruction_continue_button" msgid="3367260988024430722">"Nastavi"</string>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"Slušni aparati"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"Nije povezan nijedan slušni aparat"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"Dodajte slušne aparate"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"Da biste uparili slušne aparate, pronađite i dodirnite svoj uređaj na sledećem ekranu."</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"Proverite da li su slušni aparati u režimu uparivanja."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"Da biste uparili slušne aparate, pronađite i dodirnite uređaj na sledećem ekranu. Proverite da li su slušni aparati u režimu uparivanja."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"Aktivan: <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> sačuvani slušni aparat</item>
@@ -2201,30 +2228,41 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Ova usluga nije ispravna."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Prikaži u Brzim podešavanjima"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"Režim ispravljanja"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="one">Izuzetno kratak period (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="few">Izuzetno kratak period (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Izuzetno kratak period (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Crveno-zeleno"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"Zeleno-crveno"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Plavo-žuto"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"Deuteranomalija"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"Protanomalija"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"Tritanomalija"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="one">Veoma kratko kašnjenje (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunda)</item>
+      <item quantity="few">Veoma kratko kašnjenje (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunde)</item>
+      <item quantity="other">Veoma kratko kašnjenje (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundi)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="one">Veoma kratak period (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="few">Veoma kratak period (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Veoma kratak period (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="one">Veoma kratko kašnjenje (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunda)</item>
+      <item quantity="few">Veoma kratko kašnjenje (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunde)</item>
+      <item quantity="other">Veoma kratko kašnjenje (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundi)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="one">Kratak period (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="few">Kratak period (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Kratak period (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="one">Kratko kašnjenje (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunda)</item>
+      <item quantity="few">Kratko kašnjenje (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunde)</item>
+      <item quantity="other">Kratko kašnjenje (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundi)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="one">Dug period (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="few">Dug period (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Dug period (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="one">Dugo kašnjenje (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunda)</item>
+      <item quantity="few">Dugo kašnjenje (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunde)</item>
+      <item quantity="other">Dugo kašnjenje (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundi)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="one">Veoma dug period (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="few">Veoma dug period (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Veoma dug period (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="one">Veoma dugo kašnjenje (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunda)</item>
+      <item quantity="few">Veoma dugo kašnjenje (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunde)</item>
+      <item quantity="other">Veoma dugo kašnjenje (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundi)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunda</item>
+      <item quantity="few"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunde</item>
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundi</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"Zvono <xliff:g id="SUMMARY_RING">%1$s</xliff:g>, obaveštenje <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>, dodir <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"Zvono i obaveštenja su isključena"</string>
@@ -2550,7 +2588,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"Tokom poslednjeg isključivanja za <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"Ukupno korišćeno"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"Osveži"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"Android OS"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"Medija server"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"Optimizacija aplikacija"</string>
     <string name="battery_saver" msgid="7737147344510595864">"Ušteda baterije"</string>
@@ -2631,8 +2668,7 @@
     <string name="tts_play" msgid="2945513377250757221">"Pusti"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"Skladište akreditiva"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"Instaliranje iz memorije"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"Instaliranje sa SD kartice"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"Instaliraj sertifikat"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"Instaliraj sertifikate iz memorije"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"Instaliranje sertifikata sa SD kartice"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"Brisanje akreditiva"</string>
@@ -2652,6 +2688,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"Skladište akreditiva je izbrisano."</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"Nije moguće obrisati skladište akreditiva."</string>
     <string name="usage_access_title" msgid="1580006124578134850">"Apl. sa pristupom podacima o korišćenju"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"CA sertifikat"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"Korisnički sertifikat za VPN i aplikaciju"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"Sertifikat za Wi‑Fi"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"Vaša privatnost je ugrožena"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"Veb-sajtovi, aplikacije i VPN-ovi koriste CA sertifikate za šifrovanje. Instalirajte CA sertifikate samo iz organizacija u koje imate poverenja. \n\n Ako instalirate CA sertifikat, vlasnik sertifikata bi mogao da pristupi informacijama, poput lozinki, poruka ili podataka o kreditnoj kartici, sa veb-sajtova koje posećujete ili iz aplikacija koje koristite – čak i ako su te informacije šifrovane."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"Ne instaliraj"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"Ipak instaliraj"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"Sertifikat nije instaliran"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"Signal za hitne pozive"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Podešavanje ponašanja kada se uspostavlja hitan poziv"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Rezervne kopije"</string>
@@ -2679,10 +2723,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"Deaktiviraj i deinstaliraj"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"Aplikacije za administratora"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"Nema dostupnih aplikacija za administratora uređaja"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"Lični"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"Posao"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"Ograniči pristup SMS-ovima i evidenciji poziva"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"Samo podrazumevane aplikacije za pozive i razmenu SMS-ova imaju dozvole za pristup SMS-ovima i evidenciji poziva"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"Nema dostupnih pouzdanih agenata"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"Aktiviraj aplikaciju za administratore?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"Aktiviraj ovu aplikaciju za administratore uređaja"</string>
@@ -2696,6 +2736,15 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"Administrator je onemogućio druge opcije"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"Još detalja"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"Evidencija obaveštenja"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"Istorija obaveštenja"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"Danas"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"Odloženo"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"Nedavno odbačeno"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="one"><xliff:g id="NUMBER_1">%d</xliff:g> obaveštenje</item>
+      <item quantity="few"><xliff:g id="NUMBER_1">%d</xliff:g> obaveštenja</item>
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> obaveštenja</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"Melodija zvona i vibracija poziva"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"Mrežni detalji"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"Sinhronizacija je omogućena"</string>
@@ -3049,7 +3098,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"Ograničenja"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"Ukloni ograničenja"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"Promeni PIN"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"Prikazuj obaveštenja"</string>
     <string name="help_label" msgid="2896538416436125883">"Pomoć i povratne inf."</string>
     <string name="support_summary" msgid="1034146931237148885">"Članci pomoći, podrška telefonom i ćaskanjem, početni koraci"</string>
     <string name="user_account_title" msgid="6389636876210834864">"Nalog za sadržaj"</string>
@@ -3074,6 +3122,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G pozivanje"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Korišćenje LTE usluga za poboljšanje glasovnih i drugih komunikacija (preporučeno)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Koristi 4G usluge za poboljšanje glasovne i druge komunikacije (preporučeno)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Otkrivanje kontakata"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Omogućava mobilnom operateru da otkrije koje funkcije pozivanja podržavaju vaši kontakti."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Želite li da omogućite otkrivanje kontakata?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Ako omogućite ovu funkciju, mobilni operater će moći da pristupi brojevima telefona iz vaših kontakata da bi otkrio koje funkcije pozivanja podržavaju."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Željeni tip mreže"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (preporučeno)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS poruke"</string>
@@ -3118,7 +3170,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"Pozovi pomoću"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"Izbor SIM kartice"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"SIM kartica <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"Otvor za SIM karticu je prazan"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"Naziv SIM kartice"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"Unesite ime SIM kartice"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"Otvor za SIM karticu %1$d"</string>
@@ -3128,6 +3179,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"Izaberite SIM karticu"</string>
     <string name="color_orange" msgid="216547825489739010">"Narandžasta"</string>
     <string name="color_purple" msgid="6603701972079904843">"Ljubičasta"</string>
+    <string name="color_pink" msgid="8596872110888626708">"Roze"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"Nije ubačena nijedna SIM kartica"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"Status SIM kartice"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"Status SIM kartice (otvor za SIM: %1$d)"</string>
@@ -3141,7 +3193,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"SIM kartice su promenjene."</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Dodirnite da biste podesili"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"Željena SIM kartica za"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Pitaj svaki put"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Potrebno je da izaberete nešto"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"Izbor SIM kartice"</string>
@@ -3160,6 +3211,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"Bluetooth, režim za vožnju"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"Bluetooth, NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"Bluetooth"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"Nije dostupno zato što je NFC isključen"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"Aplikacije i obaveštenja"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Nedavne aplikacije, podrazumevane aplikacije"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Pristup obaveštenjima nije dostupan za aplikacije na radnom profilu."</string>
@@ -3170,13 +3222,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"Podešavanja"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"wifi, wi-fi, veza sa mrežom, internet, bežično, podaci, wi fi"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"Wi‑Fi obaveštenje, wifi obaveštenje"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"potrošnja podataka"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"Prekid vibracije, dodir, tastatura"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"Koristi 24-časovni format"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"Preuzmi"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"Otvori pomoću"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"Aplikacije"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"vremenska zona"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"Prikaz ćaskanja preko drugih aplikacija"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"Oblačić za ćaskanje, sistem, obaveštenje, prozor, dijalog, prikaz, preko drugih aplikacija, prevlačenje"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"Baterijska lampa, svetlo, lampa"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"wifi, wi-fi, uključi/isključi, kontrola"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"mobilna mreža, mobilni podaci, mobilni operater, bežično, podaci, 4g, 3g, 2g, lte"</string>
@@ -3200,7 +3253,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"ne ometati, prekidati, prekid, prekinuti"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"u blizini, lokacija, istorija, izveštavanje, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"nalog"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"nalog, dodajte nalog, profil za Work, dodavanje naloga"</string>
     <string name="keywords_users" msgid="3497517660077620843">"ograničenje, ograničiti, ograničeno"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"ispravka teksta, ispraviti, zvuk, vibrirati, automatski, jezik, pokret, predlagati, predlog, tema, uvredljivo, reč, kucati, emodži, međunarodno"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"resetovanje, podešavanja, podrazumevano"</string>
@@ -3238,6 +3291,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"memorija, keš, podaci, izbriši, obriši, slobodno, prostor"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"povezano, uređaj, slušalice, hedset, zvučnik, bežično, upari, bubice, muzika, mediji"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"pozadina, ekran, zaključani ekran, tema"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"oblik ikone, boja za naglašavanje, font"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"podrazumevano, pomoćnik"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"plaćanje, podrazumevano"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"dolazno obaveštenje"</string>
@@ -3247,18 +3301,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"dodirne povratne informacije, vibriranje, osetljivost"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"ušteda baterije, lepljivo, trajno, ušteda energije, baterija"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"rutina, raspored, ušteda baterije, ušteda energije, baterija, automatsko, procenat"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"profil za Work"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"volte, napredno pozivanje, 4g pozivanje"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"dodaj jezik, dodajte jezik"</string>
     <string name="default_sound" msgid="6604374495015245195">"Podrazumevani zvuk"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"Jačina zvona je <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"Jačina zvuka za zvono i obaveštenja je na <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Jačina zvuka, vibracija, Ne uznemiravaj"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"Zvono je podešeno na vibraciju"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"Zvono je podešeno na nečujno"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"Jačina zvona je 80%"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"Jačina zvuka za zvono i obaveštenja je na 80%"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Jačina zvuka medija"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Jačina zvuka za prebacivanje"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"Jačina zvuka poziva"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"Jačina zvuka alarma"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"Jačina zvuka zvona"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"Jač. zvuka za zvono i obaveš."</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"Jačina zvuka za obaveštenja"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"Zvuk zvona telefona"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"Podrazumevani zvuk obaveštenja"</string>
@@ -3266,6 +3321,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"Podrazumevani zvuk obaveštenja"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"Podrazumevani zvuk alarma"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"Vibriraj za pozive"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"Nikad ne uključuj vibraciju"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"Uvek vibriraj"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"Vibriraj, pa postepeno zvoni"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"Drugi zvukovi"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"Tonovi numeričke tastature"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"Zvukovi zaključavanja ekrana"</string>
@@ -3290,6 +3348,7 @@
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> je omogućeno</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Ne uznemiravaj"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Dobijajte obaveštenja samo od važnih osoba i aplikacija"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Ograničite prekide"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Uključite režim Ne uznemiravaj"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"Izuzeci"</string>
@@ -3316,7 +3375,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Blokiraj vizuelna ometanja"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Dozvoli vizuelne signale"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"Kada je uključen režim Ne uznemiravaj"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"Omogućite prekide koji proizvode zvuk"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"Ograničite obaveštenja"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Bez zvučnog signala za obaveštenja"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"Videćete obaveštenja na ekranu"</string>
@@ -3347,7 +3406,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"Zvuk i vibracija"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"Zvuk, vibracija i neki vizuelni znakovi obaveštenja"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"Zvuk, vibracija i vizuelni znakovi obaveštenja"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"Obaveštenja koja su potrebna za osnovne aktivnosti i status telefona nikada neće biti sakrivene."</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"Obaveštenja koja su potrebna za osnovne aktivnosti i status telefona nikada neće biti sakrivena."</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"Ništa"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"druge opcije"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"Dodaj"</string>
@@ -3379,10 +3438,12 @@
       <item quantity="few"><xliff:g id="ON_COUNT">%d</xliff:g> rasporeda mogu da se uključuju automatski</item>
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> rasporeda može da se uključuje automatski</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"Isključi zvuk uređaja ali dozvoli izuzetke"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"Izuzeci"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"Raspored"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"Pogledajte sve izuzetke"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"Izuzeci kada je uključen režim Ne uznemiravaj"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"Ljudi"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"Aplikacije"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"Alarmi i drugi prekidi"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"Rasporedi"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"Obaveštenja za koje je isključen zvuk"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"Kada je uključen režim Ne uznemiravaj, zvuk i vibracija biće isključeni, osim za stavke koje ste dozvolili iznad."</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"Isključi zvuk za sve osim za:"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"Zvuk je isključen"</string>
@@ -3426,16 +3487,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"Prilagodljiva obaveštenja"</string>
     <string name="asst_capability_prioritizer_title" msgid="1181272430009156556">"Prioritet prilagodljivog obaveštenja"</string>
     <string name="asst_capability_prioritizer_summary" msgid="954988212366568737">"Automatski podešava obaveštenja nižeg prioriteta na Diskretno"</string>
+    <string name="asst_capability_ranking_title" msgid="312998580233257581">"Prilagodljivo rangiranje obaveštenja"</string>
+    <string name="asst_capability_ranking_summary" msgid="2293524677144599450">"Automatski rangira obaveštenja prema relevantnosti"</string>
     <string name="asst_capabilities_actions_replies_title" msgid="4392470465646394289">"Predložene radnje i odgovori"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"Automatski prikazuje predložene radnje i odgovore"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"Isključite istoriju obaveštenja da biste pratili ranija i odložena obaveštenja"</string>
+    <string name="notification_history" msgid="8663811361243456201">"Istorija obaveštenja"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"Uključite istoriju"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"Isključite istoriju"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"Istorija obaveštenja je isključena"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"prikaži podešavanja obaveštenja"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Omogući odlaganje obaveštenja"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"Sakrij ikone iz diskretnih obaveštenja"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"Ikone iz diskretnih obaveštenja se ne prikazuju na statusnoj traci"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"Dozvoli tačke za obaveštenja"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"Prikaži traku sa nedavnim konverzacijama"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Oblačići"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"Neka obaveštenja mogu da se pojavljuju kao oblačići na ekranu"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"Neka obaveštenja i drugi sadržaj mogu da se prikazuju kao oblačići na ekranu. Da biste otvorili oblačić, dodirnite ga. Da biste ga odbacili, prevucite ga nadole na ekranu."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Oblačići"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"Nove poruke će se prikazati na ekranu"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"Dozvolite aplikaciji <xliff:g id="APP_NAME">%1$s</xliff:g> da prikazuje neka obaveštenja kao oblačiće"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"Uključite oblačiće"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"Da biste uključili oblačiće za ovu aplikaciju, prvo treba da ih uključite na nivou uređaja. To utiče na druge aplikacije u kojima ste prethodno uključili oblačiće."</string>
@@ -3453,6 +3524,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"Prikaži na kliznom panelu i zaključanom ekranu"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"Prikaži na kliznom panelu i statusnoj traci"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"Prikaži na kliznom panelu, statusnoj traci i zaključanom ekranu"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"Sakrijte nečujna obaveštenja na statusnoj traci"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"Uključi treperenje lampice"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"Zaključan ekran"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"Preskakanje zaključanog ekrana"</string>
@@ -3483,6 +3555,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"Ponašanje"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"Dozvoli zvuk"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"Nikada ne prikazuj obaveštenja"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"Konverzacije"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"Konverzacija"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"Nije konverzacija"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"Uklonite iz odeljka konverzacija"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"Ovo je konverzacija"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"Dodajte u odeljak konverzacija"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"Upravljajte razgovorima"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"Važni razgovori"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"Svi razgovori"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"Označi važne razgovore oblačićima"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"Važni razgovori se prikazuju u vrhu kliznog panela. Možete i da ih podesite tako da imaju oblačiće i da prekidaju režim Ne uznemiravaj."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"Prikazuj bez zvučnog signala i umanji"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"Prikazuje se bez zvučnog signala"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"Emituje se zvučni signal"</string>
@@ -3501,7 +3584,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"Pomaže vam da se koncentrišete bez zvuka ili vibracije"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"Privlači vam pažnju pomoću zvuka ili vibracije"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"Kada je uređaj otključan, prikazuje obaveštenja kao baner u vrhu ekrana"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"Prikazuj obaveštenja"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"Sva obaveštenja aplikacije <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"Prilagodljiva obaveštenja"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="one">~<xliff:g id="NUMBER_1">%d</xliff:g> obaveštenje dnevno</item>
@@ -3525,6 +3608,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"Prilagodljiva obaveštenja"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"Nema"</string>
     <string name="no_notification_listeners" msgid="2839354157349636000">"Nijedna instalirana aplikacija nije zahtevala pristup obaveštenjima."</string>
+    <string name="notification_access_detail_switch" msgid="46386786409608330">"Dozvoli pristup obaveštenjima"</string>
     <string name="notification_assistant_security_warning_title" msgid="2972346436050925276">"Želite li da dozvolite da <xliff:g id="SERVICE">%1$s</xliff:g> ima pristup obaveštenjima?"</string>
     <string name="notification_assistant_security_warning_summary" msgid="3119843404577399036">"<xliff:g id="NOTIFICATION_ASSISTANT_NAME">%1$s</xliff:g> će moći da čita sva obaveštenja, uključujući lične podatke, poput imena kontakata i teksta poruka koje primate. Moći će i da menja ili odbacuje obaveštenja ili da koristi dugmad za radnje koja sadrže. \n\nOvo će aplikaciji omogućiti i da uključuje ili isključuje režim Ne uznemiravaj i menja srodna podešavanja."</string>
     <string name="notification_listener_security_warning_title" msgid="5791700876622858363">"Želite li da omogućite pristup obaveštenjima za <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
@@ -3589,8 +3673,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"Gotovo"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"Važnost"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"Uključi treperenje lampice"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"Vibracija"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"Vibriranje"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"Zvuk"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"Važno"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"Dodajte u dom"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"Izbriši"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"Preimenuj"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"Naziv rasporeda"</string>
@@ -3645,6 +3731,10 @@
       <item quantity="few">Još <xliff:g id="NUM_PEOPLE">%d</xliff:g> osobe</item>
       <item quantity="other">Još <xliff:g id="NUM_PEOPLE">%d</xliff:g> osoba</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Konverzacije"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"Iz svih razgovora"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"Iz važnih razgovora"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"Ne dozvoljavaj nikakve razgovore"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"Dozvoli poruke"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"Da biste bili sigurni da će se dozvoljene poruke čuti, proverite da li je uređaj podešen da zvoni, vibrira ili je u nečujnom režimu."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"Dolazne poruke su blokirane za „<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>“. Možete da prilagodite podešavanja da biste dozvolili prijateljima, članovima porodice ili drugim kontaktima da vas kontaktiraju."</string>
@@ -3658,15 +3748,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"Ni od koga"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"Ne dozvoli pozive"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"Ne dozvoljavaj nikakve poruke"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"Dozvoli alarme"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"Alarmi"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"Obaveštenja tajmera, alarma, bezbednosnih sistema i drugih aplikacija"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"alarmi"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"Puštaj medijske zvuke"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"Zvukovi medija"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"Obaveštenja video snimaka, igara i drugih medija"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"mediji"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"Dozvoli zvukove pri dodiru"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"Zvukovi pri dodiru"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"Obaveštenja tastature i druge dugmadi"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"zvukovi pri dodiru"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"Dozvoli podsetnike"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"Podsetnici"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"Obaveštenja o zadacima i podsetnicima"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"podsetnici"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"Dozvoli događaje"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"Događaji"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"Obaveštenja o predstojećim događajima iz kalendara"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Dozvoli da aplikacije zanemaruju"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"Izuzeci za aplikacije"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3712,6 +3807,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"Neka obaveštenja koja su isključena režimom Ne uznemiravaj uključe ekran"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"Podešavanja obaveštenja"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"Potvrdi"</string>
+    <string name="suggestion_button_close" msgid="6865170855573283759">"Zatvori"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Šalji povratne informacije o uređaju"</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"Unesite PIN administratora"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"Uključeno"</string>
@@ -3722,6 +3818,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Traži PIN pre otkačinjanja"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Traži lozinku pre otkačinjanja"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Zaključaj uređaj pre otkačinjanja"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Potvrdite brisanje SIM kartice"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"Potvrdite da ste to vi pre nego što obrišete preuzetu SIM karticu"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"Ovim profilom za Work upravlja:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"Upravlja <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(Eksperimentalno)"</string>
@@ -3800,8 +3898,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"Sve aplikacije"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Instalirane aplikacije"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Instant aplikacije"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"Lične"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"Posao"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"Aplikacije: sve"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"Isključeno"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"Kategorije: visok prioritet"</string>
@@ -3813,6 +3909,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"Nepoznata aplikacija"</string>
     <string name="app_permissions" msgid="8666537659217653626">"Menadžer dozvola"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"Aplikacije u kojima se koristi <xliff:g id="APPS">%1$s</xliff:g>"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"Aplikacije koje koriste dozvolu <xliff:g id="APPS">%1$s</xliff:g> i drugo"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"Dodirnite za buđenje"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"Dvaput dodirnite bilo koji deo ekrana da biste probudili uređaj"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"Otvaranje linkova"</string>
@@ -3825,9 +3922,15 @@
       <item quantity="few"><xliff:g id="COUNT">%d</xliff:g> aplikacije otvaraju podržane linkove</item>
       <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> aplikacija otvara podržane linkove</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"Otvaraj u ovoj aplikaciji"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"Dozvoli aplikaciji da otvara podržane linkove"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"Pitaj svaki put"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"Ne otvaraj u ovoj aplikaciji"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"Ne dozvoli aplikaciji da otvara linkove"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="one">Aplikacija tvrdi da obrađuje <xliff:g id="COUNT_1">%d</xliff:g> link</item>
+      <item quantity="few">Aplikacija tvrdi da obrađuje <xliff:g id="COUNT_1">%d</xliff:g> linka</item>
+      <item quantity="other">Aplikacija tvrdi da obrađuje <xliff:g id="COUNT_1">%d</xliff:g> linkova</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"Aplikacija tvrdi da obrađuje sledeće linkove:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"Podrazumevana"</string>
     <string name="default_for_work" msgid="537558180548617528">"Podrazumevana za posao"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"Pomoć i glasovni unos"</string>
@@ -3974,8 +4077,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"Prikaz preko drugih aplikacija"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Dozvoli prikaz preko drugih aplikacija"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"Omogućite ovoj aplikaciji da se prikazuje preko drugih aplikacija koje koristite. To može da ometa korišćenje tih aplikacija ili da promeni njihov izgled ili ponašanje."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"Pristup svim datotekama"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"Dozvoli pristup za upravljanje svim datotekama"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Dozvolite da ova aplikacija čita, menja i briše sve datoteke na ovom uređaju ili svim povezanim uređajima za skladištenje. Ako to dozvolite, aplikacija može da pristupa datotekama bez vašeg znanja."</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"Može da pristupa svim datotekama"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"vr virtuelna realnost obrađivač usluga stereo pomagača"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"sistem obaveštenje prozor dijalog prikaz preko drugih aplikacija"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"Prikaz preko drugih aplikacija"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"Aplikacije sa dozvolom za prikaz preko drugih: <xliff:g id="COUNT_0">%1$d</xliff:g> od <xliff:g id="COUNT_1">%2$d</xliff:g>"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"Aplikacije sa dozvolom"</string>
@@ -4146,6 +4252,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"<xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g> potrošeno"</string>
     <string name="data_overusage" msgid="3680477320458707259">"<xliff:g id="ID_1">^1</xliff:g> preko ograničenja"</string>
     <string name="data_remaining" msgid="6316251496381922837">"Još <xliff:g id="ID_1">^1</xliff:g>"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"Grafikon prikazuje potrošnju podataka između: <xliff:g id="START_DATE">%1$s</xliff:g> i <xliff:g id="END_DATE">%2$s</xliff:g>."</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"Nema podataka iz ovog perioda"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="one">Ostao je još %d dan</item>
       <item quantity="few">Ostala su još %d dana</item>
@@ -4210,14 +4318,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"veličina paketa"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"obaveštenje je poslato"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"zvuk"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"vibracija"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"šablon"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"podrazumevano"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"kanal"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"nijedno"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"Nedostaje objekat za rangiranje."</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"Objekat za rangiranje ne sadrži ovu šifru."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"Teme"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"Podrazumevano podešavanje za uređaj"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"Izrez ekrana"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"izrezana slika za ekran, urez"</string>
@@ -4310,8 +4414,12 @@
     <string name="information_label" msgid="6939310810756569298">"Informacije"</string>
     <string name="low_label" msgid="6525629096999711220">"Niska"</string>
     <string name="high_label" msgid="357503396626018487">"Visoka"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"Viša osetljivost može da izazove neslaganje sa pokretima u aplikaciji duž ivica ekrana."</string>
+    <string name="left_edge" msgid="1513576842959071849">"Leva ivica"</string>
+    <string name="right_edge" msgid="1505309103265829121">"Desna ivica"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"Veća osetljivost može da izazove neslaganje sa pokretima u aplikaciji duž ivica ekrana."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"Pozadinska osetljivost"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"Podešavanja pokreta"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"navigacija pomoću pokreta, osetljivost pokreta za nazad, pokret za nazad"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"Dvaput dodirnite telefon da biste ga proverili"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"Dvaput dodirnite tablet da biste ga proverili"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"Dvaput dodirnite uređaj da biste ga proverili"</string>
@@ -4473,7 +4581,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"Pokretanje dodele mobilnog operatera"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"Ažurirajte režim Ne uznemiravaj"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"Pauzirajte obaveštenja radi bolje koncentracije"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"Ova funkcija nije dostupna na ovom uređaju."</string>
     <string name="disabled_feature" msgid="7151433782819744211">"Funkcija nije dostupna"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"Ova funkcija je isključena jer usporava telefon"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"Prinudno pokreni puna GNSS merenja"</string>
@@ -4483,20 +4590,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"Izaberi aplikaciju omogućenu za ANGLE"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"Nije podešena aplikacija omogućena za ANGLE"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"Aplikacija omogućena za ANGLE: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"Podešavanja upravljačkog programa za igre"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"Promenite podešavanja upravljačkog programa za igre"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"Kada je upravljački program za igre uključen, možete da izaberete da koristite ažurirani upravljački program za grafiku za aplikacije instalirane na uređaju."</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"Omogući za sve aplikacije"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"Izaberite upravljački program za grafiku"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"Podrazumevano"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"Upravljački program za igre"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"Upravljački program za neobjavljenu verziju"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"Sistemski upravljački program za grafiku"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"Podešavanja upravljačkog programa za grafiku"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"Izmena podešavanja upravljačkog programa za grafiku"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"Kada postoji više upravljačkih programa za grafiku, možete da izaberete da koristite ažurirani upravljački program za grafiku za aplikacije instalirane na uređaju."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"Omogući za sve aplikacije"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"Izaberite upravljački program za grafiku"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"Podrazumevano"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"Upravljački program za igre"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"Upravljački program za programere"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Sistemski upravljački program za grafiku"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Promene kompatibilnosti aplikacije"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Uključite/isključite promene kompatibilnosti aplikacije"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Podrazumevane omogućene promene"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Podrazumevane onemogućene promene"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"Podešavanje nije podržano na ovom telefonu"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"Podešavanje nije podržano na ovom tabletu"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"Podešavanje nije podržano na ovom uređaju"</string>
@@ -4515,6 +4628,11 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"Uređaj"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Nedostupno tokom poziva"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"Nedostupno"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"Dodajte izlaze"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"Grupa"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"Izabran je 1 uređaj"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"Izabranih uređaja: <xliff:g id="COUNT">%1$d</xliff:g>"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"Menja se…"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Preuzmi poziv"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Naziv pristupne tačke ne može da se menja."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Produžite trajanje baterije tableta"</string>
@@ -4633,10 +4751,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"U datom trenutku može da bude aktivna samo jedna SIM kartica.\n\nPrebacivanje na <xliff:g id="CARRIER1">%1$s</xliff:g> neće otkazati <xliff:g id="CARRIER2">%2$s</xliff:g> uslugu."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Pređi na <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Obriši SIM"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Želite li da obrišete preuzeti SIM?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Brisanjem ove SIM kartice uklonićete <xliff:g id="CARRIER_0">%1$s</xliff:g> uslugu sa ovog uređaja.\n\n<xliff:g id="CARRIER_1">%2$s</xliff:g> usluga neće biti otkazana."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Obriši"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"SIM se briše…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Brisanje SIM-a nije uspelo"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Ovaj SIM ne može da se obriše zbog greške.\n\nRestartujte uređaj i probajte ponovo."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Željeni tip mreže"</string>
@@ -4661,7 +4775,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Nevažeći režim mreže <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Ignorišite."</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Nazivi pristupnih tačaka"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Nedostupno kada je uspostavljena veza sa operaterom <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"Zdravstveni podaci, kontakti za hitne slučajeve"</string>
     <string name="see_more" msgid="7499355691042812723">"Prikaži još"</string>
     <string name="see_less" msgid="2642392725363552793">"Prikaži manje"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"Uređaj koji će se koristiti za <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
@@ -4670,12 +4783,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"Došlo je do nekog problema. Aplikacija je otkazala zahtev za izbor uređaja."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"Povezivanje je uspelo"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"Prikaži sve"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="one">Povezan je <xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> uređaj</item>
-      <item quantity="few">Povezana su <xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> uređaja</item>
-      <item quantity="other">Povezano je <xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> uređaja</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"Nema Bluetooth uređaja"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"Traži se uređaj…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"Povezuje se sa uređajem…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"Levo"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"Desno"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Futrola"</string>
@@ -4685,6 +4794,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"Nedostupno tokom režima rada u avionu"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"Nametni režim računara"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Nametni eksperimentalni režim računara na sekundarnim ekranima"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"Omogući slobodni oblik aplikacija sa nepromenjivom veličinom"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"Omogućava aplikacijama sa nepromenjivom veličinom da budu u slobodnom obliku"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Zameni funkciju nametanja tamne teme"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"Menja funkciju nametanja tamne teme tako da bude uvek uključena"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"Privatnost"</string>
@@ -4724,6 +4835,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Nedavno ste instalirali ovu aplikaciju."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Promenite izlaz"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Trenutno se pušta na uređaju <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (veza je prekinuta)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Prebacivanje nije uspelo. Probajte opet."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Važne informacije"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"NASTAVI"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"NE, HVALA"</string>
@@ -4751,8 +4864,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"SIM kombinacija"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Informacije o smernicama za Work"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Podešavanjima upravlja IT administrator"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"Obrađivač izveštaja o grešci"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Određuje koja aplikacija upravlja prečicom za izveštaj o grešci na uređaju."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Lični"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"Poslovni"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"Podrazumevana sistemska"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"Ovaj izbor više nije važeći. Probajte ponovo."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"Zaustavi prebacivanje"</string>
 </resources>
diff --git a/res/values-be/arrays.xml b/res/values-be/arrays.xml
index e1038b9..c87d433 100644
--- a/res/values-be/arrays.xml
+++ b/res/values-be/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"Неадкладна"</item>
     <item msgid="463591454172790676">"5 секунд"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"Не правяраць"</item>
+    <item msgid="5703177653586269306">"Запыт стану сертыфікату"</item>
+    <item msgid="326388247868439528">"Патрэбны стан сертыфікату"</item>
+    <item msgid="1090956283885790552">"Патрабуюцца станы ўсіх недавераных сертыфікатаў"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"Націсніце кнопку"</item>
     <item msgid="2630618799033509548">"PIN-код ад пірынгавай прылады"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"Няма"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"IPSec VPN з папярэдне размеркаванымі ключамі і аўтэнтыфікацыяй Xauth"</item>
     <item msgid="2484564813864139237">"IPSec VPN з сертыфікатамі і аўтэнтыфікацыяй Xauth"</item>
     <item msgid="68918911194507915">"IPSec VPN з сертыфікатамі і гібрыднай аўтэнтыфікацыяй"</item>
+    <item msgid="4631647675167100375">"VPN-сетка з пратаколам IKEv2/IPSec з сертыфікатамі і аўтэнтыфікацыяй па імені карыстальніка/паролю"</item>
+    <item msgid="8812228622975052811">"VPN-сетка з пратаколам IKEv2/IPSec з абагуленымі ключамі"</item>
+    <item msgid="6630554779981113046">"VPN-сетка з пратаколам IKEv2/IPSec з сертыфікатамі"</item>
   </string-array>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"Няма"</item>
diff --git a/res/values-be/config.xml b/res/values-be/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-be/config.xml
+++ b/res/values-be/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml
index 3ae85f2..576d1ff 100644
--- a/res/values-be/strings.xml
+++ b/res/values-be/strings.xml
@@ -33,49 +33,17 @@
     <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="radio_info_data_connection_enable" msgid="7500945447906187613">"Уключыць злучэнне для перадачы даных"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"Адключыць перадачу даных"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"VoLTE уключана"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"Відэавыклікі забяспечаны"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"Wi-Fi-тэлефанія забяспечана"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"EAB/Presence уключана"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"Даныя CBRS"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"Уключыць DSDS"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"Перазапусціць прыладу?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"Каб змяніць гэту наладу, трэба перазапусціць прыладу."</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"Перазапусціць"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"Скасаваць"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"Магутнасць радыёсігналу"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"Прагляд адраснай кнігі на SIM-карце"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"Прагляд фіксаваных нумароў"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"Паглядзець сэрвісныя нумары набору"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"Стан сэрвісу IMS"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"Стан IMS"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"Зарэгістраваны"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"Не зарэгістраваны"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"Даступны"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"Недаступны"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"Рэгістрацыя IMS: <xliff:g id="STATUS">%1$s</xliff:g>\nГолас па LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nГолас па WiFi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nВідэавыклік: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nІнтэрфейс UT: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"Працуе"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Не працуе"</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>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"Бяздзейнасць"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"Званіць"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"Ідзе выклік…"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"Адключана"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"Падключэнне"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"Падключаны"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Прыпынена"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Невядома"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"пак."</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"байтаў"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"дБм"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"Адключыць USB-назапашвальнiк"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"Адключыць SD-карту"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"Ачысціць USB-назапашвальнiк"</string>
@@ -85,7 +53,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"Павелічэнне або памяншэнне тэксту на экране."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Паменшыць"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Павялічыць"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"Прыклад тэксту"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"Чараўнік краіны Оз"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"Раздзел 11. Цудоўны Смарагдавы Горад у краіне Оз"</string>
@@ -176,9 +143,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"Каб змяніць гэту наладу, трэба перазапусціць прыладу."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"Перазапуск"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"Скасаваць"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"Даступныя медыяпрылады"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"Даступныя прылады для выклікаў"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"Зараз падключана"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"Носьбіты даных"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"Выклікаць прылады"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"Іншыя прылады"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Захаваныя прылады"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth уключыцца, каб выканаць спалучэнне"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Параметры падключэння"</string>
@@ -211,46 +178,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"Вы ўвялі несапраўднае імя порта."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"Проксі HTTP выкарыстоўваецца браўзэрам, але ён не можа выкарыстоўвацца іншымі прыкладаннямi"</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"URL аўтаканфіг. проксі: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"Дадатковы ідэнтыфікатар:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"Дадатковы ідэнтыфікатар даных стандартнай SIM:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"Паласа прапускання спампоўкі (кбіт/с):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"Паласа прапускання запампоўкі (кбіт/с):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"Інфармацыя пра месцазнаходжанне сотавай ячэйкі (састарэлая):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"Канфігурацыя фізічнага канала LTE:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"Частата абнаўлення даных сотавай ячэйкі:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"Усе даныя вымярэнняў сотавай ячэйкі:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"Служба перадачы даных:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"Роўмінг:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"Перанакіраванне выкліку:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"Колькасць PPP, скінутых з моманту загрузкі:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"Бягучая сетка:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"Атрыманыя даныя:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"Галасавая служба:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"Магутнасць сігналу:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"Статус галасавога выкліку:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"Перададзеныя даныя:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"Паведамленне ў рэжыме чакання:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"Нумар тэлефона:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"Выберыце радыёдыяпазон"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"Тып галасавой сеткі:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"Тып сеткі перадачы даных:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"Выберыце тэлефонны код"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"Задаць прыярытэтны тып сеткі:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"Каманда ping для вузла(www.google.com) IPv4:"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"Каманда ping для вузла(www.google.com) IPv6:"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"Тэст HTTP-кліента:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"Выканаць праверку ping"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"Абнавіць"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"Абнавіць"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"Пераключыць праверку DNS"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"Інфармацыя/налады для пастаўшчыка"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"Задаць рэжым радыёдыяпазону"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"Загрузка спіса дыяпазонаў…"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"Задаць"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"Няўдала"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"Паспяхова"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"Змены ўступяць у сілу, калі USB-кабель зноў будзе падлучаны."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"Уключыць USB-накапляльнік"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"Усяго байт:"</string>
@@ -289,10 +220,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"Перамясціць уніз"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"Выдаліць мову"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"Выберыце дзеянне"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"Звесткі аб прыладзе"</string>
     <string name="display_label" msgid="3056320781191343221">"Экран"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"Інфармацыя аб планшэце"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"Звесткі аб тэлефоне"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"USB-назапашвальнік"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"SD-карта"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"Налады проксі"</string>
@@ -310,9 +238,6 @@
     <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="cellular_data_title" msgid="8072108204621057526">"Мабільная перадача даных"</string>
-    <string name="calls_title" msgid="6334813967619899114">"Дазволіць выклікі"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"SMS-паведамленні"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"Дазволіць выкарыст. трафіка па маб. сетцы"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"Дазволіць выкарыстанне даных у роўмінгу"</string>
     <string name="roaming" msgid="3055365654530847985">"Роўмінг"</string>
@@ -320,9 +245,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"Падключацца да сэрвісаў перадачы даных у роўмінгу"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"Вы страцілі падключэнне для перадачы дадзеных, таму што вы пакінулі сваю хатнюю сетку з адключаным параметрам перадачы дадзеных у роўмінгу."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"Уключыць"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"Гэта можа прывесці да значных выдаткаў."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"За перадачу дадзеных у роўмінгу з вас могуць спаганяцца немаленькiя сумы.\n\nГэты параметр распаўсюджваецца на ўсіх карыстальнікаў гэтага планшэта."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"За перадачу дадзеных у роўмінгу з вас могуць спаганяцца немаленькiя сумы.\n\nГэты параметр распаўсюджваецца на ўсіх карыстальнікаў гэтага тэлефона."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"Можа спаганяцца плата за роўмінг."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"Калі вы ўключыце інтэрнэт-роўмінг, за яго можа спаганяцца плата.\n\nГэта налада ўплывае на ўсіх карыстальнікаў гэтага планшэта."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"Калі вы ўключыце інтэрнэт-роўмінг, за яго можа спаганяцца плата.\n\nГэта налада ўплывае на ўсіх карыстальнікаў гэтага тэлефона."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"Дазволіць перадачу дадзеных у роўмінгу?"</string>
     <string name="networks" msgid="5184501333492775095">"Выбар аператара"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"Выбраць аператара сеткі"</string>
@@ -363,8 +288,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"Адключана адміністратарам"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"Паказаць параметр блакіроўкі"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"Дадаць у меню кнопкі сілкавання функцыю, якая выключае разумную блакіроўку, біяметрычную разблакіроўку і апавяшчэнні на экране блакіроўкі"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"Давераныя агенты падаўжаюць разблакіроўку"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"Калі функцыя ўключана, давераныя агенты будуць даўжэй трымаць прыладу разблакіраванай, аднак не змогуць разблакіраваць ужо заблакіраваную прыладу."</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"Блакіраваць экран, калі давер страчаны"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"Пры ўключанай функцыі прылада будзе заблакіравана, калі страціць давер апошні агент"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"Няма"</string>
@@ -396,7 +319,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"Задаць Маё месцазнаходжанне, разблакаванне экрана, блакаванне SIM-карты, блакаванне сховішча ўліковых дадзеных"</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"Устанавіць маё месцазнаходжанне, разблакаванне экрана, блакаванне сховішча ўліковых дадзеных"</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"Прыватнасць"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"Адключана адміністратарам"</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>
@@ -709,7 +632,6 @@
       <item quantity="many">PIN-код павінен змяшчаць менш за <xliff:g id="NUMBER_1">%d</xliff:g> лічбаў</item>
       <item quantity="other">PIN-код павінен змяшчаць менш за <xliff:g id="NUMBER_1">%d</xliff:g> лічбы</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"Павінен змяшчаць толькі лічбы 0-9"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"Адміністратар прылады не дазваляе выкарыстоўваць апошні PIN-код"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"IT адміністратар блакіруе папулярныя PIN-коды. Паспрабуйце іншы PIN-код."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"Не можа змяшчаць недапушчальны сімвал"</string>
@@ -752,6 +674,12 @@
       <item quantity="many">Павінен змяшчаць не менш за <xliff:g id="COUNT">%d</xliff:g> сімвалаў, якія не з\'яўляюцца літарамі</item>
       <item quantity="other">Павінен змяшчаць не менш за <xliff:g id="COUNT">%d</xliff:g> сімвала, якія не з\'яўляюцца літарамі</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="one">Павінен змяшчаць не менш за <xliff:g id="COUNT">%d</xliff:g> сімвал, які не з\'яўляецца лічбай</item>
+      <item quantity="few">Павінен змяшчаць не менш за <xliff:g id="COUNT">%d</xliff:g> сімвалы, якія не з\'яўляюцца лічбамі</item>
+      <item quantity="many">Павінен змяшчаць не менш за <xliff:g id="COUNT">%d</xliff:g> сімвалаў, якія не з\'яўляюцца лічбамі</item>
+      <item quantity="other">Павінен змяшчаць не менш за <xliff:g id="COUNT">%d</xliff:g> сімвала, якія не з\'яўляюцца лічбамі</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"Адміністратар прылады не дазваляе выкарыстоўваць апошні пароль"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"IT адміністратар блакіруе папулярныя паролі. Паспрабуйце іншы пароль."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"Забаронена ўводзіць узрастаючую, убываючую або паўторную паслядоўнасць лічбаў"</string>
@@ -869,19 +797,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2,4 ГГц"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 ГГц"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"Увайсці"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"Адкрыць сайт"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"Засталося <xliff:g id="REMAINING_TIME">%1$s</xliff:g>"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"Заканчваецца <xliff:g id="EXPIRY_TIME">%1$s</xliff:g>"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"Націсніце тут, каб увайсці ў сетку"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> мбіт/с"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> мбіт/с"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> мбіт/с"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"<xliff:g id="REQUESTER">%s</xliff:g> хоча ўключыць Wi-Fi"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"<xliff:g id="REQUESTER">%s</xliff:g> хоча адключыць Wi-Fi"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"Спраўдзіць байт-код праграм з адладкай"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Дазволіць ART спраўдзіць байт-код праграм з магчымасцю адладкі"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"Паказваць хуткасць"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Паказваць цяперашнюю хуткасць абнаўлення дысплэя"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"Дазволіць абмен данымі пры спалучэнні планшэта з іншымі прыладамі"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"Дазволіць абмен данымі пры спалучэнні тэлефона з іншымі прыладамі"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"Дазволіць абмен данымі пры спалучэнні планшэта з прыладай NFC"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"Дазволіць абмен данымі пры спалучэнні тэлефона з прыладай NFC"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"Уключыць NFC"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"NFC абменьваецца данымі паміж гэтай прыладай і іншымі прыладамі або аб\'ектамі паблізу, такімі як плацежныя тэрміналы, прылады счытвання правоў доступу і інтэрактыўная рэклама ці цэтлікі."</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"Абараніць NFC"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Патрабаваць разблакіроўку прылады для NFC"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"Дазваляць плацяжы і перадачу праз NFC толькі пры разблакіраваным экране"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"Гатовы да абмену данымі па NFC"</string>
@@ -955,8 +889,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Уключыць"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Пошук сетак Wi-Fi уключаны"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Дадатковыя параметры"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"Выпадальны спіс \"Дадатковыя параметры\". Двойчы дакраніцеся, каб згарнуць."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"Выпадальны спіс \"Дадатковыя параметры\". Двойчы дакраніцеся, каб разгарнуць."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Выпадны спіс \"Дадатковыя параметры\""</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"разгарнуць"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"Імя сеткі"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"Увядзіце SSID"</string>
     <string name="wifi_security" msgid="9095934643631406913">"Бяспека"</string>
@@ -966,6 +900,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"Стан"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"Хуткасць перадачы даных"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"Хуткасць атрымання даных"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"Хуткасць злучэння"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"Частата"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"IP-адрас"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"Захавана з дапамогай"</string>
@@ -973,6 +908,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"Метад EAP"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"Фаза 2 праверкі сапраўднасці"</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>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"Сертыфікат карыстальніка"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"Ідэнтыфікатар"</string>
@@ -989,6 +925,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"Выберыце як мінімум адзін дыяпазон для хот-спота Wi‑Fi:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"Налады IP"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"Прыватнасць"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"Падпіска"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"Праглядзець або змяніць падпіску"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"Выпадковы MAC-адрас"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"Дадаць прыладу"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"Каб дадаць прыладу ў сетку \"<xliff:g id="SSID">%1$s</xliff:g>\", навядзіце камеру на QR-код, паказаны ніжэй"</string>
@@ -998,12 +936,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"Абагуліць Wi‑Fi"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"Прасканіруйце QR-код, каб падключыцца да сеткі \"<xliff:g id="SSID">%1$s</xliff:g>\" і абагуліць пароль"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"Каб падключыцца да \"<xliff:g id="SSID">%1$s</xliff:g>\", прасканіруйце гэты QR-код"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"Не ўдалося прачытаць QR-код. Паўторна ўвядзіце код і паўтарыце спробу"</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"Паўтарыце спробу. Калі памылка застанецца, звярніцеся да вытворцы прылады"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"Нешта пайшло не так"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"Пераканайцеся, што прылада падключана, зараджана і ўключана"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"Пераканайцеся, што прылада падключана, зараджана і ўключана. Калі памылка застанецца, звярніцеся да вытворцы прылады"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"Дадаванне \"<xliff:g id="SSID">%1$s</xliff:g>\" не падтрымліваецца гэтай прыладай"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"Наблізьце прыладу да пункта доступу/маршрутызатара Wi‑Fi"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"Праверце пароль і паўтарыце спробу"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"Звярніцеся да вытворцы прылады"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"Праверце падключэнне і паўтарыце спробу"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"Выбраць сетку"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"Каб падключыць прыладу, выберыце сетку"</string>
@@ -1016,11 +956,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"Wi‑Fi абагульваецца з гэтай прыладай…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"Ідзе падключэнне…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"Абагульванне хот-спота"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"Пацвердзіце, што гэта вы"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"Пацвердзіце, што гэта вы"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"Пароль Wi-Fi: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"Пароль хот-спота: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"Аўтаматычнае падключэнне"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"Дазвольце тэлефону аўтаматычна падключацца да гэтай сеткі, калі ён знаходзіцца паблізу ад яе"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"Дазвольце планшэту аўтаматычна падключацца да гэтай сеткі, калі ён знаходзіцца паблізу ад яе"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"Дадаць прыладу"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"Каб дадаць прыладу ў гэту сетку, скарыстайце QR-код"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"QR-код мае несапраўдны фармат"</string>
     <string name="retry" msgid="7542103800274026915">"Паўтарыць"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"Падзяліцца з іншымі карыстальнікамі прылады"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(не зменена)"</string>
@@ -1032,6 +976,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"Сертыфікат не пазначаны. Ваша падлучэнне не будзе прыватным."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"Імя сеткі занадта доўгае."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"Неабходна ўказаць дамен."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"Патрэбны сертыфікат."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"WPS даступная"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (WPS даступная)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"Сетка Wi‑Fi аператара"</string>
@@ -1089,7 +1034,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"Пашыраны Wi-Fi"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"MAC-адрас"</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_ip_address_title" msgid="4265355419782184514">"IP-адрас"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"Інфармацыя аб сетцы"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Маска падсеткі"</string>
@@ -1141,7 +1087,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"Выкарыстоўвайце хот-спот для стварэння сеткі Wi‑Fi для іншых прылад. Хот-спот дае доступ да інтэрнэту праз падключэнне да мабільнай перадачы даных. Мабільны аператар можа спаганяць дадатковую плату."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"Праграмы могуць ствараць хот-спот для абагульвання змесціва з прыладамі паблізу."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Аўтаматычна выключыць хот-спот"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"Хот-спот Wi‑Fi выключыцца, калі прылады непадключаныя"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Калі няма падключаных прылад"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"Уключэнне хот-спота..."</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"Выключэнне хот-спота..."</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"Сетка <xliff:g id="NETWORK_SSID">%1$s</xliff:g> актыўная"</string>
@@ -1150,6 +1096,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"Усталёўка хот-спота Wi‑Fi"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"Хот-спот AndroidAP WPA2 PSK"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"AndroidHotspot"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"Захаваць гэту сетку?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"Праграма \"<xliff:g id="APPNAME">%1$s</xliff:g>\" запытвае дазвол на захаванне сеткі на ваш тэлефон"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"Праграма \"<xliff:g id="APPNAME">%1$s</xliff:g>\" запытвае дазвол на захаванне сеткі на ваш планшэт"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"Ідзе захаванне…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"Захавана"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"Не ўдалося захаваць. Паўтарыце спробу."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"Захаваць сеткі?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"Праграма \"<xliff:g id="APPNAME">%1$s</xliff:g>\" запытвае дазвол на захаванне гэтых сетак на ваш тэлефон"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"Праграма \"<xliff:g id="APPNAME">%1$s</xliff:g>\" запытвае дазвол на захаванне гэтых сетак на ваш планшэт"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"Сеткі (<xliff:g id="NUMBER">%d</xliff:g>) захоўваюцца…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"Сеткі захаваны"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"Wi-Fi-тэлефанія"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"Выклікі па Wi‑Fi"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"Званіце па сетцы Wi‑Fi, калі няма сотавай сувязі"</string>
@@ -1176,16 +1133,18 @@
     <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"><annotation id="url">"Дадатковыя звесткі"</annotation>" аб функцыях Прыватнай DNS"</string>
+    <string name="private_dns_mode_on" msgid="8878679071975375696">"Уключана"</string>
     <string name="wifi_calling_pref_managed_by_carrier" msgid="129524064888622179">"Наладамі кіруе аператар"</string>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"Актываваць Wi-Fi-тэлефанію"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"Уключыць Wi-Fi-тэлефанію"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"Wi‑Fi-тэлефанія не падтрымліваецца аператарам %1$s"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"Адключана ад сеткі \"<xliff:g id="SSID">%1$s</xliff:g>\""</string>
     <string name="carrier" msgid="1755020806290963951">"Аператар"</string>
     <string name="display_settings_title" msgid="626835071804834218">"Экран"</string>
     <string name="sound_settings" msgid="5514582720435174014">"Гук"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"Гучнасць"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"Музычныя эфекты"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"Гучнасць званка"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"Гучнасць званкоў і апавяшчэнняў"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"Вібрацыя ў бязгучным рэжыме"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"Гук паведамлення па змаўчаннi"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"Рынгтон"</string>
@@ -1310,13 +1269,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"Расклад"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"Ніколі"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"Уключаецца ад захаду да ўсходу"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"Уключаецца ў вызначаны час"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"Стан"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"Выключана / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"Не ўключаецца аўтаматычна"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"Уключыцца аўтаматычна на захадзе сонца"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"Уключыцца аўтаматычна ў <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"Уключана / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"Ніколі не выключыцца аўтаматычна"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"Выключыцца аўтаматычна на ўсходзе сонца"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"Выключыцца аўтаматычна ў <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"Уключыць да <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"Выключыць да <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"У цёмнай тэме на некаторых экранах выкарыстоўваецца чорны фон, які эканоміць узровень зараду акумулятара. Калі вы будзеце карыстацца тэлефонам у момант запланаванага ўключэння цёмнай тэмы, яна актывуецца пасля выключэння экрана."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"Час чакання экрана"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"Экран выключаецца"</string>
@@ -1328,7 +1292,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"Змяніць шпалеры"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"Персаналізуйце свой экран"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"Выбраць шпалеры ў"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"Наладзьце свой Pixel"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"Наладзіць тэлефон"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"Спрабуйце розныя стылі, шпалеры і іншае"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"Экранная застаўка"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Пакуль прылада зараджаецца ці прыстыкавана"</string>
@@ -1419,6 +1383,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"Выдалiць USB-назапашвальнiк, прагледзець даступную памяць"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"Адмацаваць SD-карту, прагледзець даступныя сховішчы"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (слот для SIM-карты %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"Для прагляду выберыце захаваную сетку"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"Нумар тэлефону"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (слот для SIM-карты %1$d)"</string>
@@ -1445,6 +1410,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"Роўмінг"</string>
     <string name="status_operator" msgid="4335640583552058491">"Сетка"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"MAC-адрас Wi-Fi"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"MAC-адрас сеткі Wi‑Fi прылады"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"Адрас Bluetooth"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Серыйны нумар"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Час працы пасля апошняй загрузкі"</string>
@@ -1657,6 +1623,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Скід налад кропкі доступу па змаўчанні завершаны."</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"Параметры скіду"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"Налады сеткі, праграмы або прылады могуць быць скінуты"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"Праграмы могуць быць скінуты"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"Скінуць налады Wi-Fi, мабільнай перадачы даных і Bluetooth"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"Гэта прывядзе да скіду ўсіх налад сеткі, у тым ліку:\n\n"<li>"Wi‑Fi"</li>\n<li>"мабільнай перадачы даных"</li>\n<li>"Bluetooth"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"Сцерці даныя спампаваных SIM"</string>
@@ -1706,6 +1673,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"Хот-спот уключаны"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"Мадэм"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"У рэжыме эканоміі трафіка нельга падключацца да кропак доступу"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"Толькі хот-спот"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"Толькі USB"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"Толькі Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"Хот-спот, USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"Хот-спот, Bluetooth"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB, Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"Хот-спот, USB, Bluetooth"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"Інтэрнэт не абагульваецца з іншымі прыладамі"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"Мадэм"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Не выкарыстоўваць хот-спот Wi‑Fi"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Абагульваць інтэрнэт толькі праз USB"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Абагульваць інтэрнэт толькі праз Bluetooth"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Абагульваць інтэрнэт толькі праз USB і Bluetooth"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB-мадэм"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"Абагуліць падключэнне да інтэрнэту гэтага тэлефона праз USB"</string>
@@ -1798,9 +1778,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"Інфармацыя аб бяспецы"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"Падключэнне да інтэрнэту адсутнічае. Каб праглядзець гэтую інфармацыю, наведайце %s з любога камп\'ютара, падключанага да інтэрнэту."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"Загрузка..."</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"Увесці PIN-код"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"Выкарыстоўваць узор"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"Выкарыстаць пароль"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"Наладзьце блакіроўку экрана"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"Задайце пароль, каб абараніць прыладу"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"Задайце пароль для выкарыстання адбітка"</string>
@@ -1809,8 +1786,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"Задайце PIN-код для выкарыстання адбітка"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"Задайце ўзор разблакіроўкі, каб абараніць прыладу"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"Увядзіце пароль яшчэ раз"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"Увядзіце пароль працоўнага профілю"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"Пацвердзіце ўзор"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"Увядзіце ўзор разблакіроўкі"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"Увядзіце PIN-код яшчэ раз"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"Увядзіце PIN-код працоўнага профілю"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"Паролі не супадаюць"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"PIN-коды не супадаюць"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"Нарысуйце ўзор разблакіроўкі яшчэ раз"</string>
@@ -1821,6 +1801,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"Для распазнавання твару задайце пароль"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"Для распазнавання твару наладзьце ўзор"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"Для распазнавання твару задайце PIN-код"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"Забылі пароль?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"Забылі ўзор разблакіроўкі?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"Забылі PIN-код?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"Каб працягнуць, выкарыстайце ўзор разблакіроўкі прылады"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"Каб працягнуць, увядзіце PIN-код прылады"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"Каб працягнуць, увядзіце пароль прылады"</string>
@@ -1888,6 +1871,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"Дазволіць усе крыніцы дадаткаў"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"Нядаўна адкрытыя праграмы"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"Паказаць усе праграмы (<xliff:g id="COUNT">%1$d</xliff:g> шт.)"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"Звярніцеся да ІТ-адміністратара"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"ІТ-адміністратары могуць дапамагчы вам скінуць PIN-код, узор разблакіроўкі ці пароль"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"Ваш планшэт і асабістыя даныя больш уразлівыя для нападаў невядомых праграм. Пры ўсталёўцы праграм з гэтай крыніцы вы згаджаецеся, што несяце адказнасць за любыя пашкоджанні планшэта ці страту даных, якія могуць адбыцца ў выніку выкарыстання гэтых праграм."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"Ваш тэлефон і асабістыя даныя больш уразлівыя для нападаў невядомых праграм. Пры ўсталёўцы праграм з гэтай крыніцы вы згаджаецеся, што несяце адказнасць за любыя пашкоджанні тэлефона ці страту даных, якія могуць адбыцца ў выніку выкарыстання гэтых праграм."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"Ваша прылада і асабістыя даныя больш прыступныя для нападаў невядомых праграм. Усталёўваючы праграмы з гэтай крыніцы вы згаджаецеся, што несяце адказнасць за любыя пашкоджанні прылады ці страту даных, якія могуць адбыцца ў выніку выкарыстання гэтых праграм."</string>
@@ -1941,7 +1926,7 @@
     <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="1377296810290814749">"Будуць скінуты наступныя налады:\n\n"<li>"Адключаныя праграмы"</li>\n<li>"Адключаныя апавяшчэнні з праграм"</li>\n<li>"Перадвызначаныя праграмы"</li>\n<li>"Абмежаванні на перадачу даных у фонавым рэжыме"</li>\n<li>"Любыя абмежаванні правоў доступу"</li>\n\n"Даныя праграм выдалены не будуць."</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>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"Скінуць праграмы"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"Кіраванне вольным месцам"</string>
     <string name="filter" msgid="9039576690686251462">"Фільтр"</string>
@@ -2141,7 +2126,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"Аўдыя і тэкст на экране"</string>
     <string name="display_category_title" msgid="6638191682294461408">"Дысплэй"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"Элементы кіравання ўзаемадзеяннем"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"Спампаваныя сэрвісы"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"Спампаваныя праграмы"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"Эксперыментальныя"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"Эксперыментальныя функцыі"</string>
     <string name="talkback_title" msgid="8756080454514251327">"Talkback"</string>
@@ -2149,27 +2134,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"Дакранайцеся да элементаў на экране, каб пачуць, як іх чытаюць услых"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"Налады субцітраў"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"Павелічэнне"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"Вобласць павелічэння"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"Уключэнне павелічэння"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"Выберыце вобласць павелічэння, якую хочаце выкарыстоўваць падчас павелічэння экрана"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"Поўнаэкранны рэжым"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"Частка экрана"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"Поўнаэкранны рэжым і рэжым паказу часткі экрана"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"Павялічыць увесь экран"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"Павялічыць частку экрана"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Налады павелічэння"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"Павялічваць трайным дотыкам"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Павялічваць спалучэннем клавіш"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Павялічваць спалучэннем клавіш і трайным дотыкам"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"Інфармацыя пра службу \"<xliff:g id="SERVICE">%1$s</xliff:g>\""</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"Параметры"</string>
     <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="2831926970059739911"><b>"Каб павялічыць маштаб"</b>", хутка краніце экран 3 разы.\n"<ul><li>"Правядзіце 2 ці некалькімі пальцамі па экране, каб выканаць пракрутку"</li>\n<li>"Звядзіце 2 ці некалькі пальцаў, каб адрэгуляваць маштаб"</li></ul>\n\n<b>"Каб павялічыць маштаб часова"</b>", хутка краніце экран 3 разы і ўтрымлівайце палец падчас трэцяга дотыку.\n"<ul><li>"Праводзьце пальцам, каб перамяшчацца па экране"</li>\n<li>"Падніміце палец, каб паменшыць маштаб"</li></ul>\n\n"На клавіятуры і панэлі навігацыі павялічваць маштаб нельга."</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"Калі ўключана функцыя павелічэння, вы можаце павялічыць маштаб на экране.\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_screen_magnification_summary" msgid="7617931632990040045">"Хутка павялічвайце маштаб экрана, каб бачыць змесціва больш выразна.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Для павелічэння маштабу:&lt;/b&gt;&lt;br/&gt;	1. Скарыстайце хуткі доступ для запуску функцыі павелічэння&lt;br/&gt;	2. Націсніце на экран&lt;br/&gt;	3. Прыклаўшы два пальцы да дысплэя, рухайце імі для перамяшчэння па экране&lt;br/&gt;	4. Звядзіце ці развядзіце два пальцы, каб змяніць маштаб&lt;br/&gt;	5. Скарыстайце хуткі доступ, каб выключыць функцыю павелічэння&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Для часовага павелічэння маштабу:&lt;/b&gt;&lt;br/&gt;	1. Скарыстайце хуткі доступ для запуску функцыі павелічэння&lt;br/&gt;	2. Утрымлівайце палец націснутым у любым месцы экрана&lt;br/&gt;	3. Прыклаўшы палец да дысплэя, рухайце ім для перамяшчэння па экране&lt;br/&gt;	4. Падніміце палец, каб спыніць функцыю павелічэння"</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Калі ўключана функцыя павелічэння, вы можаце павялічыць маштаб на экране.\n\n"<b>"Для гэтага"</b>" запусціце функцыю павелічэння, а пасля націсніце ў любым месцы экрана.\n"<ul><li>"Каб прагартаць, перацягніце пальцамі (двума ці больш)."</li>\n<li>"Каб адрэгуляваць маштаб, звядзіце ці развядзіце пальцы (два ці больш)."</li></ul>\n\n<b>"Каб часова змяніць маштаб"</b>", запусціце функцыю павелічэння, потым утрымлівайце націснутым любое месца на экране.\n"<ul><li>"Перацягніце для навігацыі па экране."</li>\n<li>"Падыміце палец, каб паменшыць маштаб."</li></ul>\n\n"Павелічэнне маштабу клавіятуры ці панэлі навігацыі не прадугледжана."</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Адкрывайце кнопкай спецыяльных магчымасцей"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Адкрывайце жэстам"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"Выкарыстоўвайце новы жэст спецыяльных магчымасцей"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"Каб уключыць ці выключыць гэту службу, націсніце ўнізе экрана кнопку спецыяльных магчымасцей <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>.\n\nКаб пераключыцца на другую службу, утрымлівайце кнопку спецыяльных магчымасцей націснутай."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"Каб уключыць ці выключыць гэту службу, правядзіце па экране двума пальцамі знізу ўверх.\n\nКаб пераключыцца на другую службу, прагартайце ўверх двума пальцамі, утрымліваючы іх на экране."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"Каб уключыць ці выключыць гэту службу, правядзіце трыма пальцамі па экране знізу ўверх.\n\nКаб пераключыцца на другую службу, прагартайце ўверх трыма пальцамі, утрымліваючы іх на экране."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"Каб уключыць ці выключыць службу спецыяльных магчымасцей, правядзіце двума пальцамі па экране знізу ўверх.\n\nКаб пераключыцца на другую службу, прагартайце ўверх двума пальцамі, утрымліваючы іх на экране."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"Каб уключыць ці выключыць службу спецыяльных магчымасцей, правядзіце трыма пальцамі па экране знізу ўверх.\n\nКаб пераключыцца на другую службу, прагартайце ўверх трыма пальцамі, утрымліваючы іх на экране."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"Каб уключыць або выключыць гэту службу, націсніце ўнізе экрана кнопку спецыяльных магчымасцей <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>.\n\nКаб пераключыцца на другую службу, утрымлівайце кнопку спецыяльных магчымасцей націснутай."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"Каб уключыць або выключыць гэту службу, правядзіце па экране двума пальцамі знізу ўверх.\n\nКаб пераключыцца на іншую службу, прагартайце ўверх двума пальцамі, утрымліваючы іх на экране."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"Каб уключыць або выключыць гэту службу, правядзіце трыма пальцамі па экране знізу ўверх.\n\nКаб пераключыцца на іншую службу, прагартайце ўверх трыма пальцамі, утрымліваючы іх на экране."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"Каб уключыць або выключыць службу спецыяльных магчымасцей, правядзіце двума пальцамі па экране знізу ўверх.\n\nКаб пераключыцца на іншую службу, прагартайце ўверх двума пальцамі, утрымліваючы іх на экране."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"Каб уключыць або выключыць службу спецыяльных магчымасцей, правядзіце трыма пальцамі па экране знізу ўверх.\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="2820923641553461297">"Кнопка спецыяльных магчымасцей"</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>
+    <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8922102767509399352">"Націснуць кнопку спецыяльных магчымасцей \"<xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>\", якая знаходзіцца ўнізе экрана"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"Правесці двума пальцамі па экране знізу ўверх"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"Правесці трыма пальцамі па экране знізу ўверх"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Утрымліваць клавішы гучнасці націснутымі"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"Націснуць і ўтрымліваць на працягу секунды абедзве клавішы гучнасці"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Тройчы націснуць на экран"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"Хутка тройчы націснуць на экран. Выкарыстанне гэтага хуткага доступу можа запаволіць працу прылады."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"Пашыраныя"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"Для кнопкі \"Спецыяльныя магчымасці\" зададзена наступнае: <xliff:g id="SERVICE">%1$s</xliff:g>. Каб павялічваць маштаб з яе дапамогай, краніце і ўтрымлівайце кнопку \"Спецыяльныя магчымасці\", а потым выберыце функцыю павелічэння."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"Жэст спецыяльных магчымасцей усталяваны для службы \"<xliff:g id="SERVICE">%1$s</xliff:g>\". Каб выкарыстоўваць функцыю павелічэння, правядзіце двума пальцамі па экране знізу ўверх і затрымайце іх. Пасля выберыце функцыю павелічэння."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"Спалучэнне з клавішамі гучнасці"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"Служба хуткага доступу"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Налады хуткага доступу"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"Дазволіць з экрана блакіроўкі"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"Каб выкарыстоўваць функцыю спецыяльных магчымасцей, калі яна ўключана, націсніце і ўтрымлівайце на працягу 3 секунд абедзве клавішы гучнасці."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"Высокая кантраснасць тэксту"</string>
@@ -2193,24 +2203,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"Выберыце, колькі часу паказваць часова бачныя паведамленні з заклікамі да дзеянняў.\n\nНе ўсе праграмы падтрымліваюць такую наладу."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"Затрымка пры націсканні і ўтрыманні"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"Інверсія колеру"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"Можа паўплываць на прадукцыйнасць"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"Час затрымкі"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"Ужыць інверсію колеру"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"Інверсія колеру мяняе светлыя колеры на экране на цёмныя. Гэта забяспечвае больш зручнае карыстанне прыладай для ўсіх, хто адчувальны да яркага святла.&lt;br/&gt;&lt;br/&gt;Увага. Цёмныя колеры стануць светлымі. Колеры зменяцца ў мультымедыя і на відарысах. Вы можаце таксама выкарыстоўваць цёмную тэму (Налады &gt; Дысплэй)."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"Аўтаматычнае націсканне (час чакання)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"Калі вы карыстаецеся мышшу, можна наладзіць аўтаматычнае націсканне, калі курсор не рухаецца пэўны перыяд часу."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"Затрымка перад націсканнем"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"Без аўтанаціскання (стандартна)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"Кароткі"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0,2 секунды"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"Сярэдні"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0,6 секунды"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"Доўгі"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 секунда"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"Карыстальніцкі"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"Карацей"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"Даўжэй"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"Час аўтаматычнага націскання"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"Моц вібрацыі і тактыльнага водгуку"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Вібрацыя пры апавяшчэнні"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Вібрацыя пры выкліку"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Тактыльны водгук"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"Карыстанне сэрвісам"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"Выкарыстоўваць праграму \"<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>\""</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"Адкрыць праграму \"<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>\""</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"Карыстанне карэкцыяй колераў"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"Карыстанне цітрамі"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"Паказваць субцітры"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"Выгляд субцітраў"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"Памер тэксту, стыль субцітраў"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"Дадатковыя параметры"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"Не ўсе праграмы падтрымліваюць гэту наладу."</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>
     <string name="accessibility_hearingaid_instruction_continue_button" msgid="3367260988024430722">"Далей"</string>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"Слыхавы апарат"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"Няма падключаных слыхавых апаратаў"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"Дадаць слыхавыя апараты"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"Каб спалучыць слыхавы апарат, націсн. на яго на наступ. экране."</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"Пераканайцеся, што слыхавы апарат знаходзіцца ў рэжыме спалучэння."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"Каб спалучыць слыхавы апарат, націсн. на яго на наступ. экране. Пераканайцеся, што слыхавы апарат знаходзіцца ў рэжыме спалучэння."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"Прылада <xliff:g id="DEVICE_NAME">%1$s</xliff:g> актыўная"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="one">Захаваны <xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> слыхавы апарат</item>
@@ -2224,35 +2252,47 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Сэрвіс працуе некарэктна."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Паказваць у Хуткіх наладах"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"Рэжым карэкцыі"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="one">Надзвычай кароткая затрымка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мс)</item>
-      <item quantity="few">Надзвычай кароткая затрымка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мс)</item>
-      <item quantity="many">Надзвычай кароткая затрымка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мс)</item>
-      <item quantity="other">Надзвычай кароткая затрымка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мс)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Чырвоны-зялёны"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"Зялёны-чырвоны"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Сіні-жоўты"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"Дэйтэранамалія"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"Пратанамалія"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"Трытанамалія"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="one">Надзвычай кароткая затрымка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунда)</item>
+      <item quantity="few">Надзвычай кароткая затрымка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунды)</item>
+      <item quantity="many">Надзвычай кароткая затрымка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунд)</item>
+      <item quantity="other">Надзвычай кароткая затрымка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунды)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="one">Вельмі кароткая затрымка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мс)</item>
-      <item quantity="few">Вельмі кароткая затрымка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мс)</item>
-      <item quantity="many">Вельмі кароткая затрымка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мс)</item>
-      <item quantity="other">Вельмі кароткая затрымка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мс)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="one">Вельмі кароткая затрымка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунда)</item>
+      <item quantity="few">Вельмі кароткая затрымка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунды)</item>
+      <item quantity="many">Вельмі кароткая затрымка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунд)</item>
+      <item quantity="other">Вельмі кароткая затрымка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунды)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="one">Кароткая затрымка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мс)</item>
-      <item quantity="few">Кароткая затрымка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мс)</item>
-      <item quantity="many">Кароткая затрымка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мс)</item>
-      <item quantity="other">Кароткая затрымка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мс)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="one">Кароткая затрымка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунда)</item>
+      <item quantity="few">Кароткая затрымка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунды)</item>
+      <item quantity="many">Кароткая затрымка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунд)</item>
+      <item quantity="other">Кароткая затрымка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунды)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="one">Доўгая затрымка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мс)</item>
-      <item quantity="few">Доўгая затрымка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мс)</item>
-      <item quantity="many">Доўгая затрымка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мс)</item>
-      <item quantity="other">Доўгая затрымка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мс)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="one">Доўгая затрымка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунда)</item>
+      <item quantity="few">Доўгая затрымка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунды)</item>
+      <item quantity="many">Доўгая затрымка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунд)</item>
+      <item quantity="other">Доўгая затрымка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунды)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="one">Вельмі доўгая затрымка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мс)</item>
-      <item quantity="few">Вельмі доўгая затрымка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мс)</item>
-      <item quantity="many">Вельмі доўгая затрымка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мс)</item>
-      <item quantity="other">Вельмі доўгая затрымка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мс)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="one">Вельмі доўгая затрымка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунда)</item>
+      <item quantity="few">Вельмі доўгая затрымка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунды)</item>
+      <item quantity="many">Вельмі доўгая затрымка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунд)</item>
+      <item quantity="other">Вельмі доўгая затрымка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунды)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунда</item>
+      <item quantity="few"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунды</item>
+      <item quantity="many"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунд</item>
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунды</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"Выклік: <xliff:g id="SUMMARY_RING">%1$s</xliff:g>, апавяшчэнне: <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>, націсканне: <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"Вібрацыя пры выкліках і атрыманні апавяшчэнняў выключана"</string>
@@ -2587,7 +2627,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"Адключаны ад сілкавання на працягу <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"Вынікі выкарыстання"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"Абнавіць"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"АС Android"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"Сервер медыя"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"Аптымізацыя дадаткаў"</string>
     <string name="battery_saver" msgid="7737147344510595864">"Эканомія зараду"</string>
@@ -2668,8 +2707,7 @@
     <string name="tts_play" msgid="2945513377250757221">"Прайграць"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"Сховішча ўліковых даных"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"Усталяваць са сховішча"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"Усталёўка з SD-карты"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"Усталяваць сертыфікат"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"Усталяваць сертыфікаты са сховішча"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"Усталяваць сертыфікаты з SD-карты"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"Выдаліць уліковыя даныя"</string>
@@ -2689,6 +2727,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"Захаваныя ўліковыя дадзеныя сціраюцца."</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"Нельга ачысц. схов. сертыфік."</string>
     <string name="usage_access_title" msgid="1580006124578134850">"Праграмы з доступам да даных"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"Cертыфікат ЦС"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"Сертыфікат карыстальніка VPN і праграм"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"Сертыфікат Wi‑Fi"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"Ваша прыватнасць пад пагрозай"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"Сертыфікаты ЦС выкарыстоўваюцца вэб-сайтамі, праграмамі і VPN для шыфравання. Усталёўвайце сертыфікаты ЦС толькі ад арганізацый, якім давяраеце. \n\n Калі вы ўсталюеце сертыфікат ЦС, уладальнік сертыфіката зможа атрымаць доступ да вашай інфармацыі, напрыклад пароляў, паведамленняў ці звестак пра крэдытныя карткі, пра вэб-сайты, якія вы наведвалі, ці праграмы, якімі карысталіся, нават калі такая інфармацыя зашыфравана."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"Не ўсталёўваць"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"Усталяваць"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"Сертыфікат не ўсталяваны"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"Сігнал набору нумару ў аварыйнай сітуацыі"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Задаць паводзіны на выпадак экстранага выкліку"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Рэзервовае капіраванне"</string>
@@ -2716,10 +2762,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"Дэактываваць і выдаліць"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"Праграмы адміністратара прылады"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"Няма даступных праграм адміністратара прылады"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"Персанальныя"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"Рабочыя"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"Абмежаваць доступ да SMS і журналу выклікаў"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"Толькі стандартныя праграмы \"Тэлефон\" і праграмы-месенджары маюць дазволы на доступ да SMS і журналу выклікаў"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"Няма даступных давераных агентаў"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"Актываваць праграму адміністратара?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"Актываваць гэту праграму адміністратара прылады"</string>
@@ -2733,6 +2775,16 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"Іншыя параметры адключаны вашым адміністратарам"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"Дадатковая інфармацыя"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"Журнал апавяшчэнняў"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"Гісторыя апавяшчэнняў"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"Сёння"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"Адкладзена"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"Нядаўна адхілена"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="one"><xliff:g id="NUMBER_1">%d</xliff:g> апавяшчэнне</item>
+      <item quantity="few"><xliff:g id="NUMBER_1">%d</xliff:g> апавяшчэнні</item>
+      <item quantity="many"><xliff:g id="NUMBER_1">%d</xliff:g> апавяшчэнняў</item>
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> апавяшчэння</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"Мелодыя выкліка і вібрацыя"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"Інфармацыя аб сетцы"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"Сінхранізацыя ўкл."</string>
@@ -3090,7 +3142,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"Абмежаванні"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"Выдаліць абмежаванні"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"Змяніць PIN-код"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"Уключыць апавяшчэнні"</string>
     <string name="help_label" msgid="2896538416436125883">"Даведка і водгукі"</string>
     <string name="support_summary" msgid="1034146931237148885">"Артыкулы даведкі, падтрымка па тэлефоне і ў чаце, інструкцыі па пачатку працы"</string>
     <string name="user_account_title" msgid="6389636876210834864">"Уліковы запіс для змесціва"</string>
@@ -3115,6 +3166,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"Выклік у 4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Карыстайцеся стандартам LTE, каб палепшыць якасць галасавога і іншых тыпаў сувязі (рэкамендуецца)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Карыстайцеся стандартам 4G, каб палепшыць якасць галасавога і іншых тыпаў сувязі (рэкамендуецца)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Атрыманне звестак пра кантакты"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Дазваляе аператару атрымліваць звесткі пра тое, якія функцыі выклікаў падтрымліваюць вашы кантакты."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Уключыць атрыманне звестак пра кантакты?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Уключэнне гэтай функцыі дазволіць вашаму аператару мець доступ да нумароў тэлефонаў вашых кантактаў, каб атрымліваць звесткі пра тое, якія функцыі выклікаў яны падтрымліваюць."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Прыярытэтны тып сеткі"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (рэкамендуецца)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS-паведамленні"</string>
@@ -3159,7 +3214,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"Выклікаць праз"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"Выбар SIM-карты"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"SIM <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"SIM-карта пустая"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"Імя SIM"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"Увядзіце імя SIM-карты"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"Слот SIM-карты %1$d"</string>
@@ -3169,6 +3223,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"Выбраць SIM-карту"</string>
     <string name="color_orange" msgid="216547825489739010">"Аранжавы"</string>
     <string name="color_purple" msgid="6603701972079904843">"Фіялетавы"</string>
+    <string name="color_pink" msgid="8596872110888626708">"Ружовы"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"Няма ўстаўленых SIM-карт"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"Статус SIM-карты"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"Стан SIM-карты (слот для SIM-карты %1$d)"</string>
@@ -3182,7 +3237,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> дБм <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"SIM-карты зменены."</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Краніце, каб наладзіць"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"Пажаданая SIM-карта для"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Заўсёды пытацца"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Трэба выбраць"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"Выбар SIM-карты"</string>
@@ -3202,6 +3256,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"Bluetooth, рэжым \"За рулём\""</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"Bluetooth, NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"Bluetooth"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"Недаступна, таму што тэхналогія NFC выключана"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"Праграмы і апавяшчэнні"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Нядаўнія праграмы, стандартныя праграмы"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Праграмы ў працоўным профілі не маюць доступу да апавяшчэнняў."</string>
@@ -3212,13 +3267,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"Налады"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"wifi, wi-fi, злучэнне, інтэрнэт, бесправадны, даныя, wi fi"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"Апавяшчэнне Wi‑Fi, Wi-Fi-апавяшчэнне"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"выкарыстанне трафіка"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"Спыніць вібрацыю, націснуць, клавіятура"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"Выкарыстоўваць 24-гадзінны фармат"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"Спампаваць"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"Адкрыць з дапамогай"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"Праграмы"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"часавы пояс"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"Загаловак чата"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"Загаловак чата, сістэма, абвестка, акно, дыялог, дысплэй, паверх іншых праграм, намаляваць"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"Успышка, святло, ліхтарык"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"wifi, wi-fi, пераключэнне, кіраванне"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"сотавы, мабільны, сотавы аператар, бесправадны, даныя, 4g, 3g, 2g, lte"</string>
@@ -3242,7 +3298,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"не турбаваць, умешвацца, умяшанне, перапыняць"</string>
     <string name="keywords_app" msgid="7983814237980258061">"аператыўная памяць"</string>
     <string name="keywords_location" msgid="8016374808099706213">"паблізу, месцазнаходжанне, гісторыя, справаздачы, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"уліковы запіс"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"уліковы запіс, дадаць нейкі ўліковы запіс, працоўны профіль, дадаць уліковы запіс"</string>
     <string name="keywords_users" msgid="3497517660077620843">"абмежаванне, абмяжоўваць, абмежаваны"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"выпраўленне тэксту, правільны, гук, вібрацыя, аўтаматычна, мова, жэст, прапанаваць, прапанова, тэма, абразлівы, слова, набіраць, эмодзі, міжнародны"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"скінуць, параметры, стандартныя"</string>
@@ -3280,6 +3336,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"памяць, кэш, даныя, выдаліць, ачысціць, вызваліць, месца"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"падключаны, прылада, навушнікі, гарнітура, дынамік, бесправадны, спалучыць, навушнікі-ўкладышы, музыка, медыя"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"фон, экран, экран блакіроўкі, тэма"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"форма значка, колер акцэнту, шрыфт"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"стандартны, памочнік"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"аплата, стандартная"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"уваходнае апавяшчэнне"</string>
@@ -3289,18 +3346,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"дотык, вібрацыя, адчувальнасць"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"эканомія зараду, замацаваны, захаваць, эканомія энергіі, акумулятар"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"працэдура, расклад, эканомія зараду, эканомія энергіі, акумулятар, аўтаматычна, працэнт"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"працоўны профіль"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"volte, пашыраныя магчымасці выкліку, выклік у 4g"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"дадаць мову, дадаць мову"</string>
     <string name="default_sound" msgid="6604374495015245195">"Гук па змаўчанні"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"Гучнасць званка – <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"Гучнасць званкоў і апавяшчэнняў: <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Гучнасць, вібрацыя, рэжым \"Не турбаваць\""</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"Для гуку выкліку заданы рэжым вібрацыі"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"Для гуку выкліку заданы бязгучны рэжым"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"Гучнасць званка – 80 %"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"Гучнасць званкоў і апавяшчэнняў: 80%"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Гучнасць медыя"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Гучнасць трансляцыі"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"Гучнасць выкліку"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"Гучнасць будзільніка"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"Гучнасць званка"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"Гучнасць званка і апавяшчэнняў"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"Гучнасць апавяшчэнняў"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"Мелодыя тэлефона"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"Стандартны гук апавяшчэння"</string>
@@ -3308,6 +3366,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"Стандартны гук апавяшчэння"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"Стандартны сігнал будзільніка"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"Вібрацыя падчас выклікаў"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"Ніколі не вібрыраваць"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"Заўсёды ўключаць вібрацыю"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"Вібрацыя, потым званок з ростам гучнасці"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"Іншыя гукі"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"Гукі панэлі набору"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"Гукі блакіроўкі экрана"</string>
@@ -3333,6 +3394,7 @@
       <item quantity="other">Уключана: <xliff:g id="ON_COUNT">%d</xliff:g></item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Не турбаваць"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Атрымліваць апавяшчэнні толькі ад важных людзей і праграм"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Абмежаванне колькасці непатрэбных апавяшчэнняў"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Уключэнне рэжыму \"Не турбаваць\""</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"Выключэнні"</string>
@@ -3359,7 +3421,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Блакіроўка візуальных апавяшчэнняў"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Дазволіць візуальныя сігналы"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"Калі рэжым \"Не турбаваць\" уключаны"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"Дазволіць перарыванні з гукам"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"Абмежаваць апавяшчэнні"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Апавяшчэнні без гуку"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"Апавяшчэнні будуць паказвацца на экране"</string>
@@ -3390,7 +3452,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"Гук і вібрацыя"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"Гук, вібрацыя і некаторыя візуальныя апавяшчэнні"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"Гук, вібрацыя і візуальныя апавяшчэнні"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"Стан і апавяшчэнні, неабходныя для забеспячэння базавых дзеянняў тэлефона, ніколі не будуць схаванымі"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"Стан і апавяшчэнні, неабходныя пры асноўных дзеяннях тэлефона, ніколі не будуць схаванымі."</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"Няма"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"іншыя параметры"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"Дадаць"</string>
@@ -3424,10 +3486,12 @@
       <item quantity="many"><xliff:g id="ON_COUNT">%d</xliff:g> раскладаў могуць уключацца аўтаматычна</item>
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> раскладу могуць уключацца аўтаматычна</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"Адключыць гук прылады, аднак дазволіць выключэнні з правілаў"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"Выключэнні"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"Расклад"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"Паказаць усе выключэнні з правіла"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"Калі рэжым \"Не турбаваць\" уключаны"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"Людзі"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"Праграмы"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"Будзільнікі і іншыя перарыванні"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"Расклады"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"Апавяшчэнні без гуку"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"Калі ўключаны рэжым \"Не турбаваць\", выключаюцца гук і вібрацыя для ўсіх элементаў, акрамя выбраных вамі вышэй."</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"Выключыць гук для ўсяго, акрамя"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"Без гуку"</string>
@@ -3471,16 +3535,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"Адаптыўныя апавяшчэнні"</string>
     <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_capabilities_actions_replies_title" msgid="4392470465646394289">"Прапанаваныя дзеянні і адказы"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"Аўтаматычна паказваць прапанаваныя дзеянні і адказы"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"Уключыць гісторыю апавяшчэнняў, каб адсочваць ранейшыя і адкладзеныя апавяшчэнні"</string>
+    <string name="notification_history" msgid="8663811361243456201">"Гісторыя апавяшчэнняў"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"Уключыць запіс гісторыі"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"Выключыць запіс гісторыі"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"Гісторыя апавяшчэнняў выключана"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"паказ налад апавяшчэнняў"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Дазволіць адкладванне апавяшчэнняў"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"У ціхім рэжыме хаваць значкі апавяшчэнняў"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"У ціхім рэжыме значкі апавяшчэнняў не паказваюцца на панэлі стану"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"Паказваць значкі апавяшчэнняў"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"Паказваць панэль нядаўніх размоў"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Дыялогі"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"Некаторыя апавяшчэнні могуць паказвацца на экране ў выглядзе дыялогаў"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"Некаторыя апавяшчэнні і іншае змесціва могуць паказвацца на экране ў выглядзе дыялогаў. Каб адкрыць дыялог, націсніце на яго. Каб закрыць дыялог, перацягніце яго ўніз экрана."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Дыялогі"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"Новыя паведамленні будуць паказвацца на экране"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"Дазваляе праграме \"<xliff:g id="APP_NAME">%1$s</xliff:g>\" паказваць некаторыя апавяшчэнні ў выглядзе дыялогаў"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"Уключыце дыялогі"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"Каб уключыць дыялогі для гэтай праграмы, уключыце дыялогі для прылады. Гэта паўплывае на іншыя праграмы, у якіх вы раней уключалі дыялогі."</string>
@@ -3498,6 +3572,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"Паказваць на апушчанай шторцы і на экране блакіроўкі"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"Паказваць на апушчанай шторцы і на панэлі стану"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"Паказваць на апушчанай шторцы, панэлі стану і на экране блакіроўкі"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"Хаваць апавяшчэнні без гуку на панэлі стану"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"Мігценне святла"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"Экран блакіроўкі"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"Прапускаць экран блакіроўкі"</string>
@@ -3528,6 +3603,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"Паводзіны"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"Дазволіць прайграванне гуку"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"Ніколі не паказваць апавяшчэнні"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"Размовы"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"Размова"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"Не размова"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"Выдаліць з раздзела размоў"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"Гэта размова"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"Дадаць у раздзел размоў"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"Кіраваць размовамі"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"Важныя размовы"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"Усе размовы"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"Паказваць важныя размовы як усплывальныя апавяшчэнні"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"Важныя размовы паказваюцца ў верхняй частцы панэлі апавяшчэнняў. Вы можаце таксама наладзіць іх паказ у выглядзе ўсплывальных апавяшчэнняў і пры ўключаным рэжыме \"Не турбаваць\"."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"Паказваць бязгучна і згортваць"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"Паказваць бязгучна"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"Прайграваць гук"</string>
@@ -3546,7 +3632,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"Не адцягвае ўвагу дзякуючы выключаным гуку і вібрацыі"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"Прыцягвае ўвагу гукам і вібрацыяй"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"Калі прылада разблакіравана, паказваць апавяшчэнні ў выглядзе банера ўверсе экрана"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"Уключыць апавяшчэнні"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"Усе апавяшчэнні праграмы \"<xliff:g id="APP_NAME">%1$s</xliff:g>\""</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"Адаптыўныя апавяшчэнні"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="one">~<xliff:g id="NUMBER_1">%d</xliff:g> апавяшчэнне ў дзень</item>
@@ -3573,6 +3659,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"Адаптыўныя апавяшчэнні"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"Няма"</string>
     <string name="no_notification_listeners" msgid="2839354157349636000">"Няма праграм з доступам да платных SMS."</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="3119843404577399036">"Праграма \"<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>
@@ -3640,8 +3727,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"Гатова"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"Важнасць"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"Мігценне святла"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"Вібрацыя"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"Вібрацыя"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"Гук"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"Важная"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"Дадаць на галоўную старонку"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"Выдаліць"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"Перайменаваць"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"Назва раскладу"</string>
@@ -3697,6 +3786,10 @@
       <item quantity="many">Яшчэ <xliff:g id="NUM_PEOPLE">%d</xliff:g></item>
       <item quantity="other">Яшчэ <xliff:g id="NUM_PEOPLE">%d</xliff:g></item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Размовы"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"З усіх размоў"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"З важных размоў"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"Не дазваляць размовы"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"Дазволіць паведамленні"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"Каб прылада апавяшчала аб дазволеных паведамленнях гукам, праверце, як яна наладжана: на званок, вібрацыю або бязгучны рэжым."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"Для раскладу \"<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>\" прыём уваходных паведамленняў заблакіраваны. Вы можаце змяніць налады, каб дазволіць сябрам, членам сям\'і і іншым кантактам звязвацца з вамі."</string>
@@ -3710,15 +3803,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"Ні ад каго"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"Не дазваляць выклікаў"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"Не дазваляць паведамленні"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"Дазволіць будзільнікі"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"Будзільнікі"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"Ад таймераў, будзільнікаў, сістэм бяспекі і іншых праграм"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"будзільнікі"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"Прайграваць гукі мультымедыя"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"Гукі мультымедыя"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"Ад відэа, гульняў і іншых мультымедыя"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"мультымедыя"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"Дазволіць гукі пры дотыку"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"Гукі пры дотыку"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"Ад клавіятуры і іншых кнопак"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"гукі пры дотыку"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"Дазволіць напаміны"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"Напаміны"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"Ад задач і напамінаў"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"напаміны"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"Дазволіць падзеі"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"Падзеі"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"Ад падзей календара, якія павінны адбыцца"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Дазволіць праграмам перавызначаць"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"Выключэнні з правілаў для праграм"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3767,6 +3865,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"Уключаць экран для апавяшчэнняў, адключаных у рэжыме \"Не турбаваць\""</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"Налады апавяшчэнняў"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"ОК"</string>
+    <string name="suggestion_button_close" msgid="6865170855573283759">"Закрыць"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Адправіць водгук пра гэту прыладу"</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"Увядзіце PIN-код адміністратара"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"Уключана"</string>
@@ -3777,6 +3876,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Запытваць PIN-код перад адмацаваннем"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Запытваць пароль перад адмацаваннем"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Заблакіраваць прыладу падчас адмацавання"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Пацвярджаць выдаленне даных SIM"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"Перш чым сціраць даныя спампаванай SIM, пацвердзіце, што гэта вы"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"Гэты рабочы профіль знаходзіцца пад кіраваннем:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"Пад кіраваннем <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(Эксперыментальныя)"</string>
@@ -3859,8 +3960,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"Усе праграмы"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Усталяваныя праграмы"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Імгненныя праграмы"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"Персанальныя"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"Працоўныя"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"Праграмы: усе"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"Апавяшчэнні адключаны"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"Катэгорыі: тэрміновыя"</string>
@@ -3872,6 +3971,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"Невядомая праграма"</string>
     <string name="app_permissions" msgid="8666537659217653626">"Менеджар дазволаў"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"Праграмы, якія выкарыстоўваюць <xliff:g id="APPS">%1$s</xliff:g>"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"Праграмы, якія маюць дазвол на доступ да праграм <xliff:g id="APPS">%1$s</xliff:g>, і іншае"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"Краніце, каб абудзіць"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"Дакраніцеся двойчы ў любым месцы экрана, каб уключыць прыладу"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"Адкрыццё спасылак"</string>
@@ -3885,9 +3985,16 @@
       <item quantity="many"><xliff:g id="COUNT">%d</xliff:g> праграм адкрываюць спасылкі, якія падтрымліваюцца</item>
       <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> праграмы адкрываюць спасылкі, якія падтрымліваюцца</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"Адкрываць у гэтым дадатку"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"Дазволіць праграме адкрываць спасылкі, якія падтрымліваюцца"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"Заўсёды пытацца"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"Не адкрываць у гэтым дадатку"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"Не дазваляць праграме адкрываць спасылкі"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="one">Праграме неабходна апрацаваць <xliff:g id="COUNT_1">%d</xliff:g> спасылку</item>
+      <item quantity="few">Праграме неабходна апрацаваць <xliff:g id="COUNT_1">%d</xliff:g> спасылкі</item>
+      <item quantity="many">Праграме неабходна апрацаваць <xliff:g id="COUNT_1">%d</xliff:g> спасылак</item>
+      <item quantity="other">Праграме неабходна апрацаваць <xliff:g id="COUNT_1">%d</xliff:g> спасылкі</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"Праграме неабходна апрацаваць наступныя спасылкі:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"Стандартныя"</string>
     <string name="default_for_work" msgid="537558180548617528">"Стандартныя для працы"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"Памочнік і галасавы ўвод"</string>
@@ -4037,8 +4144,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"Паказваць паверх іншых праграм"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Дазволіць паказ паверх іншых праграм"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"Дазволіць гэтай праграме паказвацца паверх іншых праграм, якія вы выкарыстоўваеце. Гэта можа перашкодзіць выкарыстанню гэтых праграм або змяніць спосаб, якім яны могуць паказвацца або працаваць."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"Доступ да ўсіх файлаў"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"Дазволіць доступ да кіравання ўсімі файламі"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Дазвольце гэтай праграме счытваць, змяняць і выдаляць усе файлы на гэтай прыладзе ці ў падключаных сховішчах. З такім дазволам праграма зможа атрымліваць доступ да файлаў без вашага ведама."</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"Магчымы доступ да ўсіх файлаў"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"vr віртуальная рэальнасць сродак праслухоўвання стэрэа служба-памочнік"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"паказваць дыялог акна сістэмных абвестак паверх іншых праграм"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"Паказваць паверх іншых праграм"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"<xliff:g id="COUNT_0">%1$d</xliff:g> з <xliff:g id="COUNT_1">%2$d</xliff:g> праграм(-ы) дазволена паказвацца паверх іншых праграм"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"Дадаткі з дазволам"</string>
@@ -4214,6 +4324,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"Выкарыстана <xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g>"</string>
     <string name="data_overusage" msgid="3680477320458707259">"Перавышэнне: <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="data_remaining" msgid="6316251496381922837">"Засталося: <xliff:g id="ID_1">^1</xliff:g>"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"Графік, які паказвае выкарыстанне трафіка з <xliff:g id="START_DATE">%1$s</xliff:g> па <xliff:g id="END_DATE">%2$s</xliff:g>."</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"У гэтым дыяпазоне дат даныя адсутнічаюць"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="one">Застаўся %d дзень</item>
       <item quantity="few">Засталося %d дні</item>
@@ -4279,14 +4391,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"памер пасылкі"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"апавяшчэнне з гукам"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"гук"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"вібрацыя"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"узор разблакіроўкі"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"стандартна"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"версія"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"няма"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"Аб\'ект ранжыравання адсутнічае."</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"Аб\'ект ранжыравання не ўтрымлівае гэты сімвал."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"Тэмы"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"Стандартная налада"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"Выраз на экране"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"выраз дысплея, выемка"</string>
@@ -4383,8 +4491,12 @@
     <string name="information_label" msgid="6939310810756569298">"Інфармацыя"</string>
     <string name="low_label" msgid="6525629096999711220">"Нізкая"</string>
     <string name="high_label" msgid="357503396626018487">"Высокая"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"Павышаная адчувальнасць можа негатыўна паўплываць на ўспрыманне жэстаў па краях экрана."</string>
+    <string name="left_edge" msgid="1513576842959071849">"Левы край"</string>
+    <string name="right_edge" msgid="1505309103265829121">"Правы край"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"Павышаная адчувальнасць можа негатыўна паўплываць на ўспрыманне жэстаў па краях экрана."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"Адчувальнасць задняй часткі"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"Налады жэстаў"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"навігацыя жэстамі, адчувальнасць задняй часткі, жэст вяртання"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"Двойчы дакрануцца, каб праверыць апавяшчэнні"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"Двойчы дакраніцеся, каб праверыць планшэт"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"Двойчы дакраніцеся, каб праверыць прыладу"</string>
@@ -4553,7 +4665,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"Запусціць сінхранізацыю з аператарам"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"Абнавіце рэжым \"Не турбаваць\""</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"Прыпыніце апавяшчэнні, каб яны не адцягвалі ўвагу"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"Гэта функцыя недаступная на гэтай прыладзе"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"Функцыя недаступная"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"Гэта функцыя выключана, таму што яна запавольвае працу вашага тэлефона"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"Прымусова правесці поўныя вымярэнні GNSS"</string>
@@ -4563,20 +4674,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"Выбраць праграму з падтрымкай ANGLE"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"Няма праграм з падтрымкай ANGLE"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"Праграма з падтрымкай ANGLE: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"Налады драйвера гульні"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"Змяніць налады драйвера гульні"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"Калі драйвер гульні ўключаны, вы можаце выкарыстоўваць абноўлены драйвер графічнай сістэмы для ўсталяваных на прыладзе праграм."</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"Уключыць для ўсіх праграм"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"Выбраць драйвер графічнай сістэмы"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"Стандартна"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"Драйвер гульні"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"Драйвер папярэдняга выпуску"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"Драйвер графічнай сістэмы"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"Параметры драйвера графічнай сістэмы"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"Змяніць налады драйвера графічнай сістэмы"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"Калі ёсць некалькі драйвераў графічнай сістэмы, вы можаце выбраць для ўсталяваных на прыладзе праграм абноўлены драйвер."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"Уключыць для ўсіх праграм"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"Выбраць драйвер графічнай сістэмы"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"Стандартна"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"Драйвер гульні"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"Драйвер распрацоўшчыка"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Драйвер графічнай сістэмы"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Змяненні ў сумяшчальнасці праграм"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Пераключыць на змяненні ў сумяшчальнасці праграм"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Стандартныя ўключаныя змяненні"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Стандартныя адключаныя змяненні"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"Налада не падтрымліваецца на гэтым тэлефоне"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"Налада не падтрымліваецца на гэтым планшэце"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"Налада не падтрымліваецца на гэтай прыладзе"</string>
@@ -4595,6 +4712,12 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"Прылада"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Недаступна падчас выклікаў"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"Недаступна"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"Дадаць вывады"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"Група"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"Выбрана 1 прылада"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"Выбрана прылад: <xliff:g id="COUNT">%1$d</xliff:g>"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"Адказаць"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Не ўдалося змяніць APN."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Як прадоўжыць час працы акумулятара планшэта"</string>
@@ -4714,10 +4837,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Нельга актываваць адначасова некалькі спампаваных SIM.\n\nПераключэнне на аператара \"<xliff:g id="CARRIER1">%1$s</xliff:g>\" не скасуе абслугоўванне ў аператара \"<xliff:g id="CARRIER2">%2$s</xliff:g>\"."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Пераключыцца на <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Сцерці даныя SIM"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Сцерці даныя гэтай спампаванай SIM?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Сціранне даных гэтай SIM выдаляе з прылады магчымасць карыстацца паслугамі аператара \"<xliff:g id="CARRIER_0">%1$s</xliff:g>\".\n\nАбслугоўванне ў аператара \"<xliff:g id="CARRIER_1">%2$s</xliff:g>\" будзе працягнута."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Сцерці даныя"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Сціраюцца даныя SIM…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Не ўдалося сцерці даныя SIM"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Памылка сцірання даных гэтай SIM.\n\nПеразапусціце прыладу і паўтарыце спробу."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Прыярытэтны тып сеткі"</string>
@@ -4742,7 +4861,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Несапраўдны рэжым сеткі <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Ігнараваць."</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Назвы пунктаў доступу"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Недаступна праз аператара \"<xliff:g id="CARRIER">%1$s</xliff:g>\""</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"Медыцынская інфармацыя, кантакты для экстранных сітуацый"</string>
     <string name="see_more" msgid="7499355691042812723">"Яшчэ"</string>
     <string name="see_less" msgid="2642392725363552793">"Паказаць менш"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"Прылада для выкарыстання з праграмай <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
@@ -4751,13 +4869,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"Нешта здарылася. Праграма скасавала запыт на выбар прылады."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"Падключэнне выканана"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"Паказаць усе"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="one">Падключана <xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> прылада</item>
-      <item quantity="few">Падключаны <xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> прылады</item>
-      <item quantity="many">Падключаны <xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> прылад</item>
-      <item quantity="other">Падключаны <xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> прылады</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"Няма прылад Bluetooth"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"Ідзе пошук прылады…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"Ідзе падключэнне да прылады…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"Левая"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"Правая"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Чахол"</string>
@@ -4767,6 +4880,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"Недаступна ў рэжыме палёту"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"Прымусова ўключаць рэжым працоўнага стала"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Прымусова ўключаць эксперыментальны рэжым працоўнага стала на дадатковых экранах"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"Уключыць адвольную форму sizecompat"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"Дазваляе праграмам sizecompat мець адвольную форму"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Перавызначэнне ўключэння цёмнай тэмы"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"Змяняе наладу прымусовага ўключэння цёмнай тэмы на \"Заўсёды ўключана\""</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"Прыватнасць"</string>
@@ -4809,6 +4924,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Вы нядаўна ўсталявалі гэту праграму."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Пераключыць вывад"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Зараз прайграецца на прыладзе <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (адключана)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Не ўдалося пераключыцца. Паўтарыце."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Важная інфармацыя"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"ПРАЦЯГНУЦЬ"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"НЕ, ДЗЯКУЙ"</string>
@@ -4836,8 +4953,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"Камбінацыя SIM-карт"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Інфармацыя пра вашу працоўную палітыку"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Наладамі кіруе ваш ІТ-адміністратар"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"Графічны працэсар"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"Апрацоўшчык справаздачы пра памылкі"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Вызначае, якая праграма апрацоўвае ярлык справаздачы пра памылкі на вашай прыладзе."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Асабістая"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"Працоўны"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"Стандартная сістэмная"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"Гэты варыянт больш не даступны. Паўтарыце спробу."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"Спыніць трансляцыю"</string>
 </resources>
diff --git a/res/values-bg/arrays.xml b/res/values-bg/arrays.xml
index f37ecea..fbb507d 100644
--- a/res/values-bg/arrays.xml
+++ b/res/values-bg/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"Незабавно"</item>
     <item msgid="463591454172790676">"5 секунди"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"Без удостоверяване"</item>
+    <item msgid="5703177653586269306">"Заявка за състоянието на сертификата"</item>
+    <item msgid="326388247868439528">"Изискване на състоянието на сертификата"</item>
+    <item msgid="1090956283885790552">"Изискване на състоянията на всички ненадеждни сертификати"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"Бутон"</item>
     <item msgid="2630618799033509548">"ПИН от съответното устройство"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"Няма"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"VPN с IPSec с предварително споделени ключове и удостоверяване за Xauth"</item>
     <item msgid="2484564813864139237">"VPN с IPSec със сертификати и удостоверяване за Xauth"</item>
     <item msgid="68918911194507915">"VPN с IPSec със сертификати и хибридно удостоверяване"</item>
+    <item msgid="4631647675167100375">"VPN с IKEv2/IPSec със сертификати и удостоверяване на потребителското име/паролата"</item>
+    <item msgid="8812228622975052811">"VPN с IKEv2/IPSec с предварително споделени ключове"</item>
+    <item msgid="6630554779981113046">"VPN с IKEv2/IPSec със сертификати"</item>
   </string-array>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"Без"</item>
diff --git a/res/values-bg/config.xml b/res/values-bg/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-bg/config.xml
+++ b/res/values-bg/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index 252862e..f42f4b2 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -31,49 +31,17 @@
     <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="radio_info_data_connection_enable" msgid="7500945447906187613">"Активиране на връзката за данни"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"Деактивиране на връзката за данни"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"Обезпечено за VoLTE"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"Видеообажданията са обезпечени"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"Обажданията през Wi-Fi са обезпечени"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"Обезпечено за EAB/присъствие"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"Данни чрез CBRS"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"Активиране на DSDS"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"Искате ли да рестартирате устройството?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"За да промените настройката, трябва да рестартирате устройството си."</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"Рестартиране"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"Отказ"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"Мощност на мобилното радио"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"Преглед на указателя на SIM картата"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"Преглед на фиксирани номера за набиране"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"Преглед на номера за набиране на услуги"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"Състояние на услугата за незабавни съобщения"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"Състояние на услугата за незабавни съобщения"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"Регистрирано"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"Не е регистрирано"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"Налице"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"Не е налице"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"Регистрация за услугата за незабавни съобщения: <xliff:g id="STATUS">%1$s</xliff:g>\nLTE телефония: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nWi-Fi телефония: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nВидеообаждания: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nИнтерфейс на UT: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"В употреба"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Не работи"</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>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"Не се използва"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"Звънене"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"Извършва се обаждане"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"Изкл."</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"Установява се връзка"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"Установена е връзка"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Прекъсната"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Неизвестно"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"pkts"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"байта"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"Идентификация на обаждането"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"Спиране на USB"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"Деактивиране на SD карта"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"Изтриване на USB"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"Намаляване или уголемяване на текста на екрана."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Намаляване на размера"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Увеличаване на размера"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"Примерен текст"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"Вълшебникът от Оз"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"Глава 11: Удивителният изумруден град на Оз"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"За да промените настройката, трябва да рестарт. у-вото си."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"Рестарт"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"Отказ"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"Налични устройства за мултимедия"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"Налични устройства за обаждания"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"Понастоящем свързано"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"Мултимедийни устройства"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"Устройства за обаждания"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"Други устройства"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Запазени устройства"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth ще се включи с цел сдвояване"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Предпочитания за свързването"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"Въведеният от вас порт е невалиден."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"HTTP прокси сървърът се използва от браузъра, но не и от други приложения."</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"URL адрес на PAC файла: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"Настоящ идентификационен подномер:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"Идентификационен подномер на SIM картата за данни по подразбиране:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"Скорост на връзката за DL (кб/сек):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"Скорост на връзката за UL (кб/сек):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"Информация за местоположението на клетките (оттеглено):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"Конфигурация на физическия канал на LTE:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"Честота на опресняване на информацията за клетките:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"Цялата измервателна информация за клетките:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"Услуга за данни:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"Роуминг:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"Пренасочване на обаждането:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"Брой PPP възстановявания от зареждането:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"Текуща мрежа:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"Получени данни:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"Гласова услуга:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"Сила на сигнала:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"Състояние на гласовото обаждане:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"Изпратени данни:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"Изчакващо съобщение:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"Телефонен номер:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"Избиране на радиодиапазон"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"Тип на гласовата мрежа:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"Тип на мрежата за данни:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"Избиране на индекс за телефон"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"Задаване на предпочитан тип мрежа:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"Име на хост за позив (www.google.com) IPv4:"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"Име на хост за позив (www.google.com) IPv6:"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"HTTP тест на клиентската програма:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"Изпълняване на тест „ping“"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMS център:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"Актуализиране"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"Опресняване"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"Превключване на проверката на DNS"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"Информация/Настройки специфични за ОЕМ"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"Задаване на режим за радиодиапазон"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"Списъкът с диапазони се зарежда…"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"Задаване"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"Неуспешно"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"Успех"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"Промените влизат в сила, когато USB кабелът се свърже отново."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"Активиране на USB устройство за масово съхранение"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"Общо байтове:"</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"Преместване най-долу"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"Премахване на езика"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"Избор на активност"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"Информация за устройство"</string>
     <string name="display_label" msgid="3056320781191343221">"Екран"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"Информация за таблета"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"Информация за телефон"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"USB хранилище"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"SD карта"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"Настройки за прокси сървър"</string>
@@ -306,9 +234,6 @@
     <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="cellular_data_title" msgid="8072108204621057526">"Мобилни данни"</string>
-    <string name="calls_title" msgid="6334813967619899114">"Разрешаване на обаждания"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"SMS съобщения"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"Разр. на преноса на данни през моб. мрежа"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"Пренос на данни при роуминг"</string>
     <string name="roaming" msgid="3055365654530847985">"Роуминг"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"Свързване с услуги за данни при роуминг"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"Изгубихте връзката за данни, защото сте оставили домашната си мрежа с изключен роуминг на данни."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"Включване"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"Това може да доведе до високи такси."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"Разрешаването на роуминг на данни може да доведе до високи такси!\n\nНастройката засяга всички потребители на този таблет."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"Разрешаването на роуминг на данни може да доведе до високи такси!\n\nНастройката засяга всички потребители на този телефон."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"Възможно е да ви бъдат начислени такси за роуминг."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"Разрешаването на роуминг на данни може да доведе до таксуване.\n\nНастройката засяга всички потребители на този таблет."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"Разрешаването на роуминг на данни може да доведе до таксуване.\n\nНастройката засяга всички потребители на този телефон."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"Да се разреши ли роуминг на данни?"</string>
     <string name="networks" msgid="5184501333492775095">"Избор на оператора"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"Избиране на мрежов оператор"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"Деактивирано от администратора"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"Показване на опция за заключване"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"Показване на опция за бутона за захранване, която изключва Smart Lock, биометричното отключване и известията на заключения екран"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"Удължено откл. само за надеждни агенти"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"Ако функцията е активирана, надеждните агенти ще поддържат устройството ви отключено за по-дълъг период от време, но повече няма да могат да го отключват, ако е заключено."</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"Заключ. на екрана при изгубено доверие"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"Ако функцията е активирана, устройството ще се заключи, когато бъде изгубено доверието в последния надежден агент"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"Няма"</string>
@@ -390,7 +313,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"Задаване на Моето местоположение, отключване на екран, заключване на SIM картата и на хранилището за идентификационни данни"</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"Задаване на Моето местоположение, отключване на екран и заключване на хранилището за идентификационни данни"</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"Поверителност"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"Деактивирано от администратора"</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>
@@ -693,7 +616,6 @@
       <item quantity="other">Трябва да съдържа по-малко от <xliff:g id="NUMBER_1">%d</xliff:g> цифри</item>
       <item quantity="one">Трябва да съдържа по-малко от <xliff:g id="NUMBER_0">%d</xliff:g> цифра</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"Трябва да съдържа само цифри (от 0 до 9)"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"Администраторът на у-вото не разрешава ползването на скорошен ПИН"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"Често срещаните ПИН кодове се блокират от системния ви администратор. Опитайте с друг ПИН код."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"Не може да включва невалиден знак"</string>
@@ -724,6 +646,10 @@
       <item quantity="other">Трябва да съдържа поне <xliff:g id="COUNT">%d</xliff:g> небуквени знака</item>
       <item quantity="one">Трябва да съдържа поне 1 небуквен знак</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="other">Трябва да съдържа поне <xliff:g id="COUNT">%d</xliff:g> нецифрени знака</item>
+      <item quantity="one">Трябва да съдържа поне 1 нецифрен знак</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"Администраторът на у-вото не разрешава ползването на скорошна парола"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"Често срещаните пароли се блокират от системния ви администратор. Опитайте с друга парола."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"Възходящите, низходящите и повтарящите се поредици от цифри не са разрешени"</string>
@@ -837,19 +763,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2,4 ГХц"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 ГХц"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"Вход"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"Отваряне на сайта"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"Оставащо време: <xliff:g id="REMAINING_TIME">%1$s</xliff:g>"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"Изтича на <xliff:g id="EXPIRY_TIME">%1$s</xliff:g>"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"Докоснете тук, за да влезете в мрежата"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Мб/сек"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Мб/сек"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Мб/сек"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"<xliff:g id="REQUESTER">%s</xliff:g> иска да включи Wi-Fi"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"<xliff:g id="REQUESTER">%s</xliff:g> иска да изключи Wi-Fi"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"Потвържд. на байткода за прил. с възможн. за отстр. на грешки"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Разрешаване на ART да потвърждава байткода за приложенията с възможност за отстраняване на грешки"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"Честота на опресняване"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Показва текущата честота на опресняване на екрана"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"КБП"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"Разрешаване на обмен на данни, когато таблетът докосва друго устройство"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"Разрешаване на обмен на данни, когато телефонът докосва друго устройство"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"Разрешаване на обмен на данни, когато таблетът се докосва до устройство с NFC"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"Разрешаване на обмен на данни, когато телефонът се докосва до устройство с NFC"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"Включване на КБП"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"Чрез КБП се обменят данни между това устройство и други в близост или целеви такива, като например терминали за плащане, четци за достъп и интерактивни реклами или маркери."</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"Безопасна КБП"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Изискване за отключване на устройството за NFC"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"Разрешаване на използването на КБП за плащане и прехвърляне само при отключен екран"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"В готовност за предаване на съдържание на приложения чрез КБП"</string>
@@ -923,8 +855,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Включване"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Сканирането за Wi-Fi е включено"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Разширени опции"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"Падащ списък с разширени опции. Докоснете двукратно за свиване."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"Падащ списък с разширени опции. Докоснете двукратно за разгъване."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Падащ списък за разширени опции"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"разгъване"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"Име на мрежата"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"Въведете SSID"</string>
     <string name="wifi_security" msgid="9095934643631406913">"Сигурност"</string>
@@ -934,6 +866,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"Състояние"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"Скорост на връзката за предаване"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"Скорост на връзката за получав."</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"Скорост на връзката"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"Честота"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"IP адрес"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"Запазено чрез"</string>
@@ -941,6 +874,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"Метод за редактиране на точка за достъп"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"Фаза 2 на удостоверяване"</string>
     <string name="wifi_eap_ca_cert" msgid="8033404008276298886">"сертификат от сертифициращ орган"</string>
+    <string name="wifi_eap_ocsp" msgid="8713933962516871238">"Състояние на онлайн сертификата"</string>
     <string name="wifi_eap_domain" msgid="8304301470752333203">"Домейн"</string>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"Потребителски сертификат"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"Самоличност"</string>
@@ -957,6 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"Изберете поне една честота за точката за достъп до Wi‑Fi:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"Настройки за IP"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"Поверителност"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"Абонамент"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"Преглед или промяна на абонамента"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"Рандомизиран MAC адрес"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"Добавяне на устройство"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"За да добавите устройството към „<xliff:g id="SSID">%1$s</xliff:g>“, центрирайте по-долу кода за бърза реакция"</string>
@@ -966,12 +902,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"Споделяне на Wi‑Fi мрежата"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"Сканирайте този код за бърза реакция, за да се свържете към „<xliff:g id="SSID">%1$s</xliff:g>“ и да споделите паролата"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"Сканирайте този код за бърза реакция, за да се свържете към „<xliff:g id="SSID">%1$s</xliff:g>“"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"Кодът за бърза реакция не можа да бъде прочетен. Центрирайте го отново и опитайте пак"</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"Опитайте отново. Ако проблемът не се отстрани, свържете се с производителя на устройството."</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"Нещо се обърка"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"Уверете се, че устройството е включено в захранването, заредено и включено"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"Уверете се, че устройството е включено в захранването, заредено и включено. Ако проблемът не се отстрани, свържете се с производителя на устройството."</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"Добавянето на „<xliff:g id="SSID">%1$s</xliff:g>“ не се поддържа на това устройство"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"Опитайте да преместите устройството по-близо до точката за достъп до Wi‑Fi/рутера"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"Проверете паролата и опитайте отново"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"Свържете се с производителя на устройството"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"Проверете връзката и опитайте отново"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"Избиране на мрежа"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"За да свържете устройството си, изберете мрежа"</string>
@@ -984,11 +922,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"Wi-Fi мрежата се споделя с това устройство…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"Свързва се…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"Споделяне на точката за достъп"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"Потвърдете, че сте вие"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"Потвърдете, че това сте вие"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"Парола за Wi-Fi: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"Парола за точката за достъп: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"Автоматично свързване"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"Разрешаване телефонът автоматично да се свързва в района на тази мрежа"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"Разрешаване таблетът автоматично да се свързва в района на тази мрежа"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"Добавяне на устройство"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"Използвайте код за бърза реакция, за да добавите устройство към тази мрежа"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"Невалиден формат на кода за бърза реакция"</string>
     <string name="retry" msgid="7542103800274026915">"Нов опит"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"Споделяне с другите потребители на устройството"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(непроменени)"</string>
@@ -1000,6 +942,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"Не е посочен сертификат. Връзката ви няма да бъде частна."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"Името на мрежата е твърде дълго."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"Трябва да посочите домейн."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"Изисква се сертификат."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"Налице е WPS"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (Налице е WPS)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"Wi‑Fi мрежа на оператор"</string>
@@ -1051,7 +994,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"Wi‑Fi: разширени настр."</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"MAC адрес"</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_ip_address_title" msgid="4265355419782184514">"IP адрес"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"Подробно за мрежата"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Подмрежова маска"</string>
@@ -1103,7 +1047,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"Използвайте точка за достъп, за да създадете Wi‑Fi мрежа за другите си устройства. Точката осигурява достъп до интернет посредством мобилната ви връзка за данни. Може да бъдете таксувани допълнително за пренос на мобилни данни."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"Приложенията могат да създават точки за достъп, за да споделят съдържание с устройства в близост."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Автоматично изключване на точката за достъп"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"Точката за достъп до Wi‑Fi ще се изключва, когато няма свързани устройства"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Когато няма свързани устройства"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"Точката за достъп се включва…"</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"Точката за достъп се изключва…"</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"Мрежата „<xliff:g id="NETWORK_SSID">%1$s</xliff:g>“ е активна"</string>
@@ -1112,6 +1056,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"Точка за достъп до Wi‑Fi: Настр."</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"AndroidAP – точка за достъп до Wi‑Fi с WPA2 PSK"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"AndroidHotspot"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"Да се запази ли тази мрежа?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"<xliff:g id="APPNAME">%1$s</xliff:g> иска да запази мрежа на телефона ви"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"<xliff:g id="APPNAME">%1$s</xliff:g> иска да запази мрежа на таблета ви"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"Запазва се…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"Запазено"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"Не може да се запази. Опитайте отново."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"Искате ли да запазите мрежите?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"<xliff:g id="APPNAME">%1$s</xliff:g> иска да запази тези мрежи на телефона ви"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"<xliff:g id="APPNAME">%1$s</xliff:g> иска да запази тези мрежи на таблета ви"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"<xliff:g id="NUMBER">%d</xliff:g> мрежи се запазват…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"Мрежите са запазени"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"Обаждания през Wi-Fi"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"Разширете обхвата на обажданията чрез Wi‑Fi"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"Включване на Обаждания през Wi-Fi за разшир. на обхвата"</string>
@@ -1138,16 +1093,18 @@
     <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"><annotation id="url">"Научете повече"</annotation>" за функциите на частния DNS"</string>
+    <string name="private_dns_mode_on" msgid="8878679071975375696">"Включено"</string>
     <string name="wifi_calling_pref_managed_by_carrier" msgid="129524064888622179">"Настройката се управлява от оператора"</string>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"Активиране на функцията за обаждания през Wi-Fi"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"Включване на функцията за обаждания през Wi-Fi"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"Функцията за обаждания през Wi-Fi не се поддържа за %1$s"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"Връзката с(ъс) <xliff:g id="SSID">%1$s</xliff:g> е прекратена"</string>
     <string name="carrier" msgid="1755020806290963951">"Оператор"</string>
     <string name="display_settings_title" msgid="626835071804834218">"Дисплей"</string>
     <string name="sound_settings" msgid="5514582720435174014">"Звук"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"Сила на звука"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"Музикални ефекти"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"Сила на звука при звънене"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"Сила на звука за звъненето и известията"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"Вибрира при тих режим"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"Стандартен звук за известяване"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"Мелодия"</string>
@@ -1272,13 +1229,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"График"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"Без"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"Включва се от залез до изгрев"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"Включва се в избран час"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"Състояние"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"Изкл./<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"Няма да се включи автоматично"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"Ще се включва автоматично при залез"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"Ще се включи автоматично в <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"Вкл./<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"Няма да се изключва автоматично"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"Ще се изключва автоматично при изгрев"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"Ще се изключи автоматично в <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"Включване до <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"Изключване до <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"Тъмната тема използва черен фон с цел удължаване на живота на батерията на някои екрани. Графиците за нея изчакват с включването, докато екранът ви не се изключи."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"Време за изчакване на екрана"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"Екранът се изключва"</string>
@@ -1290,7 +1252,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"Промяна на тапета"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"Персонализиране на екрана ви"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"Избор на тапет от"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"Персонализирайте своя Pixel"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"Персонализиране на телефона ви"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"Изпробвайте различни стилове, тапети и др."</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"Скрийнсейвър"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"При зареждане или връзка с докинг станция"</string>
@@ -1379,6 +1341,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"Спиране на USB хранилището, преглед на наличното хранилище"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"Деактивиране на SD картата, преглед на налично хранилище"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (слот %1$d за SIM карта)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"За преглед изберете запазена мрежа"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"Телефонен номер"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (слот %1$d за SIM карта)"</string>
@@ -1405,6 +1368,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"Роуминг"</string>
     <string name="status_operator" msgid="4335640583552058491">"Мрежа"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"MAC адрес за Wi‑Fi"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"MAC адрес за Wi‑Fi на устройството"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"Адрес на Bluetooth"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Сериен номер"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Време на активност"</string>
@@ -1617,6 +1581,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Възстановяването на стандартните настройките за името на точката за достъп (APN) завърши."</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"Опции за нулиране"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"Мрежата, приложенията или устройството могат да бъдат нулирани"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"Приложенията могат да бъдат нулирани"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"Нулиране на настройките за Wi-Fi, мобилни данни и Bluetooth"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"Така ще нулирате всички мрежови настройки, включително тези за:\n\n"<li>"Wi‑Fi;"</li>\n<li>"мобилни данни;"</li>\n<li>"Bluetooth."</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"Изтеглени SIM карти: Изтриване"</string>
@@ -1666,6 +1631,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"Точката за достъп е включена"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"Тетърингът е включен"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"При включена Икономия на данни не можете да активирате функцията за тетъринг, нито да използвате преносими точки за достъп"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"Само точка за достъп"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"Само USB"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"Само Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"Точка за достъп, USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"Точка за достъп, Bluetooth"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB, Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"Точка за достъп, USB, Bluetooth"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"Не споделяте връзката с интернет с други устройства"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"Тетъринг"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Без използване на точка за достъп до Wi-Fi"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Споделяне на достъпа до интернет само през USB"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Споделяне на достъпа до интернет само през Bluetooth"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Споделяне на достъпа до интернет само през USB и Bluetooth"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"Тетъринг през USB"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"Споделете връзката с интернет на телефона през USB"</string>
@@ -1756,9 +1734,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"Информация за безопасност"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"Нямате връзка за данни. За да видите тази информация сега, отворете %s от компютър, свързан с интернет."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"Зарежда се…"</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"Използване на ПИН"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"Използване на фигура"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"Използване на парола"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"Задаване на заключване на екрана"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"От съображения за сигурност задайте парола"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"Задайте парола, за да ползвате отпечатък"</string>
@@ -1767,8 +1742,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"Задайте ПИН, за да ползвате отпечатък"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"От съображения за сигурност задайте фигура"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"Въведете отново паролата си"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"Въведете служебната си парола"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"Потвърдете фигурата си"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"Въведете служебната си фигура"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"Въведете отново ПИН кода си"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"Въведете служебния си ПИН код"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"Паролите не си съответстват"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"ПИН кодовете не са идентични"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"Начертайте отново фигурата си"</string>
@@ -1779,6 +1757,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"За да отключвате с лице, задайте парола"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"За да отключвате с лице, задайте фигура"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"За да отключвате с лице, задайте ПИН"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"Забравили сте паролата?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"Забравили сте фигурата?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"Забравили сте ПИН кода?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"Използвайте фигурата за устройството си, за да продължите"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"Въведете ПИН кода за устройството си, за да продължите"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"Въведете паролата за устройството си, за да продължите"</string>
@@ -1846,6 +1827,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"Всички източници: Разрешаване"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"Наскоро отворени приложения"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"Преглед на всички приложения (<xliff:g id="COUNT">%1$d</xliff:g>)"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"Обърнете се към администратора"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"Можете да получите помощ за задаването на нов ПИН код, фигура или парола"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"Таблетът и личните ви данни са по-уязвими към атаки от неизвестни приложения. С инсталирането на приложения от този източник приемате, че вие носите отговорност в случай на повреда на устройството ви или при загуба на данни вследствие използването на такива приложения."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"Телефонът и личните ви данни са по-уязвими към атаки от неизвестни приложения. С инсталирането на приложения от този източник приемате, че вие носите отговорност в случай на повреда на устройството ви или при загуба на данни вследствие използването на такива приложения."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"Устройството и личните ви данни са по-уязвими към атаки от неизвестни приложения. С инсталирането на приложения от този източник приемате, че вие носите отговорност в случай на повреда на устройството ви или при загуба на данни вследствие използването на такива приложения."</string>
@@ -1897,7 +1880,7 @@
     <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="1377296810290814749">"Това ще нулира всички предпочитания за:\n\n"<li>"деактивираните приложения;"</li>\n<li>"известията за деактивирани приложения;"</li>\n<li>"стандартните приложения за действия;"</li>\n<li>"ограниченията за данни на заден план за приложенията;"</li>\n<li>"ограниченията за всички разрешения."</li>\n\n" Няма да загубите данни от приложенията."</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>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"Нулиране на приложенията"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"Управление на място"</string>
     <string name="filter" msgid="9039576690686251462">"Филтриране"</string>
@@ -2097,7 +2080,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"Аудио и екранен текст"</string>
     <string name="display_category_title" msgid="6638191682294461408">"Дисплей"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"Контроли за взаимодействие"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"Изтеглени услуги"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"Изтеглени приложения"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"Експериментални"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"Флагове за функции"</string>
     <string name="talkback_title" msgid="8756080454514251327">"TalkBack"</string>
@@ -2105,27 +2088,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"Докоснете елементи на екрана си, за да ги чуете прочетени на глас"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"Предпочитания за надписите"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"Ниво на мащаба"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"Област за увеличаване"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"Режим за увеличение: Активиране"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"Изберете кои области от екрана да бъдат увеличени при използване на съответната функция"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"Цял екран"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"Част от екрана"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"Целият екран и част от екрана"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"Увеличаване на целия екран"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"Увеличаване на част от екрана"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Настройки за увеличението"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"Увеличаване с трикратно докосване"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Увеличаване на мащаба с пряк път"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Увелич. на мащаба с пряк път и трикратно докосване"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"Всичко за „<xliff:g id="SERVICE">%1$s</xliff:g>“"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"Опции"</string>
     <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="2831926970059739911"><b>"За да промените мащаба"</b>", докоснете бързо екрана 3 пъти.\n"<ul><li>"Плъзнете 2 или повече пръсти, за да превъртите."</li>\n<li>"Съберете или разтворете 2 или повече пръсти, за да коригирате мащаба."</li></ul>\n\n<b>"За да промените временно мащаба"</b>", докоснете бързо екрана 3 пъти и задръжте пръста си при третото докосване.\n"<ul><li>"Плъзнете пръста си, за да се придвижите на екрана."</li>\n<li>"Вдигнете пръста си, за да намалите мащаба."</li></ul>\n\n"Не можете да увеличавате мащаба на клавиатурата или лентата за навигация."</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"Когато функцията за увеличение е включена, можете да увеличавате мащаба на екрана.\n\n"<b>"За да промените мащаба"</b>", стартирайте функцията за увеличение, след което докоснете произволно място на екрана.\n"<ul><li>"• Плъзнете 2 или повече пръсти, за да превъртите."</li>\n<li>"• Съберете или разтворете 2 или повече пръсти, за да коригирате мащаба."</li></ul>\n\n<b>"За да промените временно мащаба"</b>", стартирайте функцията за увеличение, след което докоснете и задръжте произволно място на екрана.\n"<ul><li>"• Плъзнете пръста си, за да се придвижите на екрана."</li>\n<li>"• Вдигнете пръста си, за да намалите мащаба."</li></ul>\n\n"Не можете да увеличавате мащаба на клавиатурата или лентата за навигация."</string>
+    <string name="accessibility_screen_magnification_summary" msgid="7617931632990040045">"Бързо увеличавайте мащаба на екрана, за да виждате съдържанието по-ясно.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;За целта:&lt;/b&gt;&lt;br/&gt;	1. Използвайте прекия път за стартиране на увеличението.&lt;br/&gt;	2. Докоснете екрана.&lt;br/&gt;	3. Плъзнете с 2 пръста, за да се придвижвате на екрана.&lt;br/&gt;	4. Съберете 2 пръста, за да коригирате мащаба.&lt;br/&gt;	5. Използвайте прекия път за спиране на увеличението.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;За временно увеличаване на мащаба:&lt;/b&gt;&lt;br/&gt;	1. Използвайте прекия път за стартиране на увеличението.&lt;br/&gt;	2. Докоснете и задръжте произволно място на екрана.&lt;br/&gt;	3. Плъзнете с пръст, за да се придвижвате на екрана.&lt;br/&gt;	4. Вдигнете пръста си, за да спрете увеличението."</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Когато функцията за увеличение е включена, можете да увеличавате мащаба на екрана.\n\n"<b>"За да промените мащаба"</b>", стартирайте функцията за увеличение, след което докоснете произволно място на екрана.\n"<ul><li>"Плъзнете 2 или повече пръсти, за да превъртите."</li>\n<li>"Съберете или разтворете 2 или повече пръсти, за да коригирате мащаба."</li></ul>\n\n<b>"За да промените временно мащаба"</b>", стартирайте функцията за увеличение, след което докоснете и задръжте произволно място на екрана.\n"<ul><li>"Плъзнете пръста си, за да се придвижите на екрана."</li>\n<li>"Вдигнете пръста си, за да намалите мащаба."</li></ul>\n\n"Не можете да увеличавате мащаба на клавиатурата или лентата за навигация."</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Отваряне с бутона за достъпност"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Отваряне с жест"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"Използване на новите жестове за достъпност"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"За да включите или изключите тази услуга, докоснете бутона за достъпност <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> в долната част на екрана.\n\nЗа превключване между услугите докоснете и задръжте бутона за достъпност."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"За да включите или изключите тази услуга, прекарайте два пръста нагоре от долната част на екрана.\n\nЗа превключване между услугите прекарайте два пръста нагоре и задръжте."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"За да включите или изключите тази услуга, прекарайте три пръста нагоре от долната част на екрана.\n\nЗа превключване между услугите прекарайте три пръста нагоре и задръжте."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"За да включите или изключите услуга за достъпност, прекарайте два пръста нагоре от долната част на екрана.\n\nЗа превключване между услугите прекарайте два пръста нагоре и задръжте."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"За да включите или изключите услуга за достъпност, прекарайте три пръста нагоре от долната част на екрана.\n\nЗа превключване между услугите прекарайте три пръста нагоре и задръжте."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"За да включите или изключите тази услуга, докоснете бутона за достъпност <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> в долната част на екрана.\n\nЗа превключване между услугите докоснете и задръжте бутона за достъпност."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"За да включите или изключите тази услуга, прекарайте два пръста нагоре от долната част на екрана.\n\nЗа превключване между услугите прекарайте два пръста нагоре и задръжте."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"За да включите или изключите тази услуга, прекарайте три пръста нагоре от долната част на екрана.\n\nЗа превключване между услугите прекарайте три пръста нагоре и задръжте."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"За да включите или изключите услуга за достъпност, прекарайте два пръста нагоре от долната част на екрана.\n\nЗа превключване между услугите прекарайте два пръста нагоре и задръжте."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"За да включите или изключите услуга за достъпност, прекарайте три пръста нагоре от долната част на екрана.\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="2820923641553461297">"Бутон за достъпност"</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="8922102767509399352">"Докоснете бутона за достъпност <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> в долната част на екрана"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"Прекарайте 2 пръста нагоре от долната част на екрана"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"Прекарайте 3 пръста нагоре от долната част на екрана"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Задържане на бутоните за силата на звука"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"Натиснете двата бутона за силата на звука и ги задръжте за 1 секунда"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Трикратно докосване на екрана"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"Бързо докоснете екрана 3 пъти. Това може да забави работата на устройството ви."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"Разширени"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"Бутонът за достъпност е настроен за <xliff:g id="SERVICE">%1$s</xliff:g>. За да използвате функцията за увеличение, докоснете и задръжте бутона за достъпност, след което я изберете."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"За жеста за достъпност е зададено „<xliff:g id="SERVICE">%1$s</xliff:g>“. За да използвате функцията за увеличение, прекарайте два пръста нагоре от долната част на екрана и задръжте. След това изберете опцията."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"Бутони за силата на звука: Пряк път"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"Услуга за прекия път"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Настройки за преките пътища"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"Разрешаване за заключения екран"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"Когато прекият път е включен, можете да стартирате дадена функция за достъпност, като натиснете двата бутона за силата на звука и ги задържите за 3 секунди."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"Текст с висок контраст"</string>
@@ -2149,24 +2157,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"Изберете колко дълго да се показват съобщенията, които изискват да предприемете действие, но са видими само временно.\n\nНе всички приложения поддържат тази настройка."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"Забавяне при докосване/задържане"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"Инвертиране на цветовете"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"Може да засегне ефективността"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"Време на задържане"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"Използване на функцията за инвертиране на цветовете"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"Функцията за инвертиране на цветовете превръща светлите цветове на екрана в тъмни. Това помага на хората, които са чувствителни към ярка светлина, да виждат екрана по-лесно.&lt;br/&gt;&lt;br/&gt;Забележка: Тъмните цветове ще станат светли. Цветовете в мултимедийното съдържание и изображенията ще се променят. Можете също да използвате тъмната тема („Настройки“ &gt; „Дисплей“)."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"Автоматично кликване (време на задържане на курсора на мишката)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"Ако използвате мишка, можете да зададете курсорът да извършва действие автоматично, когато спре да се движи за определен период от време."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"Забавяне преди кликване"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"Без автом. кликване (стандартно)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"Кратко"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0,2 секунди"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"Средно"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0,6 секунди"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"Продължително"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 секунда"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"Персонализирано"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"По-кратко"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"По-дълго"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"Време на автоматично кликване"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"Сила на вибрирането и осезателната обратна връзка"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Вибриране при известия"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Вибриране при звънене"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Обратна връзка при докосване"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"Използване на услугата"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"Използване на <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"Отваряне на <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"Използване на корекция на цветовете"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"Използване на надписи"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"Показване на надписите"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"Облик на надписите"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"Размер на текста, стил на надписите"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"Още опции"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"Не всички приложения поддържат тази настройка."</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"Бутон за достъпност"</string>
+    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"Прекарване на 2 пръста нагоре от долната част"</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>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"Слухови апарати"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"Няма свързани слухови апарати"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"Добавяне на слухови апарати"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"За да сдвоите слухов апарат, на следващия екран намерете устройството си и го докоснете."</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"Уверете се, че слуховите ви апарати са в режим за сдвояване."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"За да сдвоите слухов апарат, на следващия екран намерете устройството си и го докоснете. Слуховият апарат трябва да е в режим за сдвояване."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"Устройството „<xliff:g id="DEVICE_NAME">%1$s</xliff:g>“ е активно"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="other">Запазени са <xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> слухови апарата</item>
@@ -2178,25 +2204,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Услугата не функционира правилно."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Показване в „Бързи настройки“"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"Режим на коригиране"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="other">Изключително кратко забавяне (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> милисек)</item>
-      <item quantity="one">Изключително кратко забавяне (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> милисек)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Червено-зелено"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"Зелено-червено"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Синьо-жълто"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"Деутераномалия"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"Протаномалия"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"Тританомалия"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="other">Изключително кратко забавяне (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунди)</item>
+      <item quantity="one">Изключително кратко забавяне (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> секунда)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="other">Много кратко забавяне (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> милисек)</item>
-      <item quantity="one">Много кратко забавяне (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> милисек)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="other">Много кратко забавяне (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунди)</item>
+      <item quantity="one">Много кратко забавяне (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> секунда)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="other">Кратко забавяне (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> милисек)</item>
-      <item quantity="one">Кратко забавяне (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> милисек)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="other">Кратко забавяне (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунди)</item>
+      <item quantity="one">Кратко забавяне (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> секунда)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="other">Дълго забавяне (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> милисек)</item>
-      <item quantity="one">Дълго забавяне (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> милисек)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="other">Дълго забавяне (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунди)</item>
+      <item quantity="one">Дълго забавяне (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> секунда)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="other">Много дълго забавяне (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> милисек)</item>
-      <item quantity="one">Много дълго забавяне (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> милисек)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="other">Много дълго забавяне (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунди)</item>
+      <item quantity="one">Много дълго забавяне (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> милисек)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунди</item>
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> секунда</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"Звънене <xliff:g id="SUMMARY_RING">%1$s</xliff:g>, известие <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>, докосване <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"За звъненето и известията е зададено „Изключено“"</string>
@@ -2513,7 +2549,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"При последното изключване за <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"Обща употреба"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"Опресняване"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"Android (ОС)"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"Медиен сървър"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"Оптимизиране на приложенията"</string>
     <string name="battery_saver" msgid="7737147344510595864">"Режим за запазване на батерията"</string>
@@ -2594,8 +2629,7 @@
     <string name="tts_play" msgid="2945513377250757221">"Възпроизвеждане"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"Хранилище за идент. данни"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"Инсталиране от хранилището"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"Инсталиране от SD картата"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"Инсталиране на сертификат"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"Инсталиране на сертификати от хранилището"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"Инсталиране на сертификати от SD картата"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"Изчистване на идент. данни"</string>
@@ -2615,6 +2649,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"Хранилище с данни: изтрито."</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"Хран. за идент. данни не можа да бъде изтрито."</string>
     <string name="usage_access_title" msgid="1580006124578134850">"Прил. с достъп до използването"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"Сертификат от сертифиц. орган"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"VPN и потр. сертификат за прил."</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"Сертификат за Wi‑Fi"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"Поверителността ви е изложена на риск"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"Сертификатите от сертифициращ орган се използват от уебсайтове, приложения и виртуални частни мрежи (VPN) с цел шифроване. Инсталирайте само сертификати от организации, на които имате доверие. \n\n Ако инсталирате сертификат от сертифициращ орган, собственикът му може да осъществява достъп до информацията ви, като например пароли, съобщения или данни за кредитни карти, от посещаваните от вас уебсайтове или от приложенията, които използвате, дори ако тази информация е шифрована."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"Без инсталиране"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"Инсталиране въпреки това"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"Сертификатът не е инсталиран"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"Сигнал за набиране при спешен случай"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Задаване на поведение при спешно обаждане"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Резервно копие"</string>
@@ -2642,10 +2684,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"Деактивиране и деинсталиране"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"Приложения за администриране на устройството"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"Няма приложения за администриране на устройството"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"Лично"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"Служебно"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"Огранич. на достъпа до SMS и списъка с обажданията"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"Само стандартните приложения за телефон и съобщения имат разрешения за SMS и списъка с обажданията"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"Няма налични trust agents"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"Да се активира ли прилож. за администр.?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"Активиране на това приложение за администриране на устройството"</string>
@@ -2659,6 +2697,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"Другите опции са деактивирани от администратора ви"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"Още подробности"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"Регистрационен файл за известията"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"История на известията"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"Днес"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"Отложено"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"Наскоро отхвърлено"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> известия</item>
+      <item quantity="one"><xliff:g id="NUMBER_0">%d</xliff:g> известие</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"Мелодия на обаждане и вибриране"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"Подробно за мрежата"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"Синхронизирането е активирано"</string>
@@ -3008,7 +3054,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"Ограничения"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"Oграничения: Премахване"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"Промяна на ПИН кода"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"Известия: Показване"</string>
     <string name="help_label" msgid="2896538416436125883">"Помощ и отзиви"</string>
     <string name="support_summary" msgid="1034146931237148885">"Помощни статии, телефон и чат, първи стъпки"</string>
     <string name="user_account_title" msgid="6389636876210834864">"Профил за съдържание"</string>
@@ -3033,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"Обаждания през 4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Използване на LTE услуги за подобряване на гласовите и други комуникации (препоръчително)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Използване на 4G услуги за подобряване на гласовите и други комуникации (препоръчително)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Анализ на контактите"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Дава възможност на оператора ви да открива кои са поддържаните от контактите ви функции за обаждане."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Да се активира ли анализът на контактите?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Активирането на тази функция ще даде възможност на оператора ви да осъществява достъп до телефонните номера в контактите ви, за да открие кои са поддържаните от тях функции за обаждане."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Предпочитан тип мрежа"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (препоръчително)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS съобщения"</string>
@@ -3077,7 +3126,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"Обаждане чрез"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"Изберете SIM карта"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"SIM карта <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"Слотът за SIM карта е празен"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"Име на SIM картата"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"Въведете името на SIM картата"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"Слот за SIM карта: %1$d"</string>
@@ -3087,6 +3135,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"Избиране на SIM карта"</string>
     <string name="color_orange" msgid="216547825489739010">"оранжево"</string>
     <string name="color_purple" msgid="6603701972079904843">"лилаво"</string>
+    <string name="color_pink" msgid="8596872110888626708">"розово"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"Няма поставени SIM карти"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"Състояние на SIM картата"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"Съст. на SIM картата (слот %1$d за SIM)"</string>
@@ -3100,7 +3149,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm, <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"SIM картите са променени."</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Докоснете, за да настроите"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"Предпочитана SIM карта за"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Извеждане на запитване всеки път"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Изборът е задължителен"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"Избиране на SIM карта"</string>
@@ -3118,6 +3166,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"Bluetooth, режим за шофиране"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"Bluetooth, КБП"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"Bluetooth"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"Не е налице, защото функцията за NFC е изключена"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"Приложения и известия"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Скорошни и стандартни приложения"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Достъпът до известията не е налице за приложенията в служебния потребителски профил."</string>
@@ -3128,13 +3177,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"Настройки"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"Wi-Fi, Wi-Fi, връзка с мрежата, интернет, безжично, пренос на данни, Wi-Fi"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"известие за Wi‑Fi, известие за wifi"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"пренос на данни"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"спиране на вибрирането, докосване, клавиатура"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"Използване на 24-часов формат"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"Изтегляне"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"Отваряне чрез"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"Приложения"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"часова зона"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"Балонче за разговор"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"балонче за разговор, системни, сигнал, прозорец, диалогов прозорец, показване, върху други приложения, изобразяване"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"фенерче, светлина, фенер"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"wifi, wi-fi, превключване, контрола"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"мобилни данни, мобилна мрежа, мобилен оператор, безжична мрежа, данни, 4g, 3g, 2g, lte"</string>
@@ -3158,7 +3208,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"не, не безпокойте, прекъсвам, прекъсване, почивка"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"в района, местоположение, история, отчитане, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"профил"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"профил, добавяне на профил, служебен потребителски профил, добавете профил"</string>
     <string name="keywords_users" msgid="3497517660077620843">"ограничение, ограничаване, ограничено"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"коригиране на текст, коригиране, звук, вибриране, автоматично, език, жест, предлагане, предложение, тема, обидно, дума, тип, емотикони, международно"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"нулиране, предпочитания, по подразбиране"</string>
@@ -3196,6 +3246,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"памет, кеш, данни, изтриване, изчистване, освобождаване, място"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"свързано, устройство, слушалки, слушалки, високоговорител, безжично, сдвояване, слушалки, музика, мултимедия"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"фон, екран, заключване на екрана, тема"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"форма на иконите, цвят на акцентирането, шрифт"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"по подразбиране, Асистент"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"плащане, по подразбиране"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"входящо известие"</string>
@@ -3205,18 +3256,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"осезателна обратна връзка, вибриране, чувствителност"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"режим за запазване на батерията, фиксиран, винаги включен, енергоспестяващ режим, батерия"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"поредица, график, режим за запазване на батерията, енергоспестяващ режим, батерия, автоматично, процент"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"служебен потребителски профил"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"volte, разширени обаждания, обаждане през 4g"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"добавяне на език, език: добавяне"</string>
     <string name="default_sound" msgid="6604374495015245195">"Стандартен звук"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"Сила на звука при звънене: <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"Силата на звука за звъненето и известията е зададена на <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Сила на звука, вибриране, „Не безпокойте“"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"Зададено е вибриране при звънене"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"Зададен е тих режим при звънене"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"Сила на звука при звънене: 80%"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"Силата на звука за звъненето и известията е зададена на 80%"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Сила на звука за мултимедия"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Сила на звука при предаване"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"Сила на звука за обаждания"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"Сила на звука на будилника"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"Сила на звука при звънене"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"Звън./известия: Сила на звука"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"Сила на звука при известие"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"Мелодия на телефона"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"Стандартен звук за известяване"</string>
@@ -3224,6 +3276,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"Стандартен звук за известяване"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"Стандартен звук за будилника"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"Вибриране при обаждания"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"Без вибриране"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"Известяване с вибриране"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"Вибриране, след което постепенно звънене"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"Други звуци"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"Тонове при набиране"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"При заключване на екрана"</string>
@@ -3247,6 +3302,7 @@
       <item quantity="one">Активирахте 1</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Не безпокойте"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Получаване на известия само от важни хора и приложения"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Ограничаване на прекъсванията"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Включване на режима „Не безпокойте“"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"Изключения"</string>
@@ -3273,7 +3329,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Виз. предупрежд.: Блокиране"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Визуални сигнали: Разрешаване"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"Когато режимът „Не безпокойте“ е включен"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"Разрешаване на звуковите прекъсвания"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"Огран. на известията"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Без звук от известията"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"Ще виждате известия на екрана си"</string>
@@ -3304,7 +3360,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"Звук и вибриране"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"Звук, вибриране и някои визуални знаци за известия"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"Звук, вибриране и визуални знаци за известия"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"Известията, необходими за основната активност и основното състояние на телефона, никога няма да бъдат скрити"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"Известията, необходими за основната активност и основното състояние на телефона, никога няма да бъдат скрити."</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"Няма"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"други опции"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"Добавяне"</string>
@@ -3334,10 +3390,12 @@
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> графика могат да се включват автоматично</item>
       <item quantity="one">1 график може да се включва автоматично</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"Спиране на звука на устройството, но разрешаване на изключенията"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"Изключения"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"График"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"Вижте всички изключения"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"Изключения, когато режимът „Не безпокойте“ е включен"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"Хора"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"Приложения"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"Будилници и други прекъсвания"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"Графици"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"Заглушени известия"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"Когато режимът „Не безпокойте“ е включен, звуците и вибрирането ще бъдат спрени – това не се отнася за елементите, разрешени от вас по-горе."</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"Спиране на звука за всичко освен за"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"Звукът е спрян"</string>
@@ -3381,16 +3439,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"Адаптивни известия"</string>
     <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_capabilities_actions_replies_title" msgid="4392470465646394289">"Предложени действия и отговори"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"Автоматично показване на предложените действия и отговори"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"За да следите миналите и отложените известия, включете съответната история"</string>
+    <string name="notification_history" msgid="8663811361243456201">"История на известията"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"Включване на историята"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"Изключване на историята"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"Историята на известията е изключена"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"преглед на настройките за известия"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Разрешаване на отлагането на известията"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"Скриване на иконите от ненатрапчивите известия"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"Иконите от ненатрапчивите известия не се показват в лентата на състоянието"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"Разрешав. на точки за известия"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"Показване на лента с последните разговори"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Балончета"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"Някои известия могат да се показват като балончета на екрана"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"Някои известия и друго съдържание могат да се показват като балончета на екрана. За да отворите балонче, докоснете го. За да го отхвърлите, плъзнете го в долната част на екрана."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Балончета"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"Новите съобщения ще се показват на екрана"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"Разрешаване на <xliff:g id="APP_NAME">%1$s</xliff:g> да показва някои известия като балончета"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"Включване на балончетата"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"За да включите балончетата за това приложение, първо трябва да ги включите за устройството си. Това засяга други приложения, в които вече сте включили балончетата."</string>
@@ -3408,6 +3476,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"Показване в падащия панел и на заключения екран"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"Показване в падащия панел и в лентата на състоянието"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"Показване в падащия панел, в лентата на състоянието и на заключения екран"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"Скриване на беззвучните известия в лентата на състоянието"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"Премигваща светлина"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"Заключен екран"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"Пропускане на заключения екран"</string>
@@ -3438,6 +3507,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"Поведение"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"Разрешаване на звуковия сигнал"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"Без показване на известия"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"Разговори"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"Разговор"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"Не е разговор"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"Премахване от секцията с разговори"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"Това е разговор"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"Добавяне към секцията с разговори"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"Управление на разговорите"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"Важни разговори"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"Всички разговори"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"Показване на балончета за важните разговори"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"Важните разговори се показват най-горе в падащия панел. Можете също да зададете да се поставят в балонче и да ви прекъсват, когато използвате режима „Не безпокойте“."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"Показване без звук и намаляване"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"Показване без звук"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"Възпроизвеждане на звук"</string>
@@ -3456,7 +3536,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"Помага ви да се фокусирате без звук или вибриране"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"Привлича вниманието ви със звук или вибриране"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"Когато устройството е отключено, известията се показват като банер в горната част на екрана"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"Показване на известията"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"Всички известия от <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"Адаптивни известия"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="other">~<xliff:g id="NUMBER_1">%d</xliff:g> известия на ден</item>
@@ -3477,6 +3557,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"Адаптивни известия"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"Без"</string>
     <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="3119843404577399036">"<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>
@@ -3538,8 +3619,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"Готово"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"Важност"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"Премигваща светлина"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"Вибриране"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"Вибриране"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"Звук"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"Важно"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"Добавяне към началния екран"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"Изтриване"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"Преименуване"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"Име на графика"</string>
@@ -3593,6 +3676,10 @@
       <item quantity="other">Още <xliff:g id="NUM_PEOPLE">%d</xliff:g></item>
       <item quantity="one">Още 1</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Разговори"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"От всички разговори"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"От важните разговори"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"Забраняване на всички разговори"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"Разрешаване на съобщения"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"За да е сигурно, че за разрешените съобщения се възпроизвежда звук, проверете дали за устройството ви е зададено звънене, вибриране, или тих режим."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"Входящите съобщения са блокирани за „<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>“. Можете да коригирате настройките, за да разрешите на близки, приятели и други контакти да се свързват с вас."</string>
@@ -3606,15 +3693,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"Никакви"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"Забраняване на всички обаждания"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"Забраняване на всички съобщения"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"Разрешаване на будилници"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"Будилници"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"От таймери, будилници, охранителни системи и други приложения"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"будилници"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"Възпроизвеждане на звуците от мултимедия"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"Звуци от мултимедийно съдържание"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"От видеоклипове, игри и друго мултимедийно съдържание"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"мултимедия"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"Разрешаване на звуци при докосване"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"Звуци при докосване"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"От клавиатурата ви и други бутони"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"звуци при докосване"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"Разрешаване на напомняния"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"Напомняния"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"От задачи и напомняния"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"напомняния"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"Разрешаване на събития"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"Събития"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"От предстоящи събития в календара"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Разрешаване на приложения да отменят режима"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"Изключения за приложения"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3657,6 +3749,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"Разрешаване на известията, блокирани чрез „Не безпокойте“, да включват екрана"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"Настройки за известяване"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"OK"</string>
+    <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>
@@ -3667,6 +3760,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"ПИН код преди освобождаване"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Запитване за парола преди освобождаване"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Заключване на устройството при освобождаване"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Потвърждаване на изтриването на SIM картата"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"Потвърдете, че това сте вие, преди да изтриете изтеглената SIM карта"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"Този служебен потребителски профил се управлява от:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"Управлява се от <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(Експериментално)"</string>
@@ -3741,8 +3836,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"Всички приложения"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Инсталирани приложения"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Мигновени приложения"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"Лични"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"Служебни"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"Приложения: Всички"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"Изключени"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"Категории: Неотложна важност"</string>
@@ -3754,6 +3847,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"Неизвестно приложение"</string>
     <string name="app_permissions" msgid="8666537659217653626">"Мениджър на разрешенията"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"Приложения, използващи <xliff:g id="APPS">%1$s</xliff:g>"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"Приложения, които използват <xliff:g id="APPS">%1$s</xliff:g> и др."</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"Докоснете за „събуждане“"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"Докоснете два пъти произволно място на екрана, за да „събудите“ устройството"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"Отваряне на връзки"</string>
@@ -3765,9 +3859,14 @@
       <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> приложения могат да отварят поддържаните връзки</item>
       <item quantity="one">1 приложение може да отваря поддържаните връзки</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"Отваряне в това приложение"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"Разрешаване на приложението да отваря поддържаните връзки"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"Извеждане на запитване всеки път"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"Без отваряне в това приложение"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"Да не се разрешава на приложението да отваря връзки"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="other">Приложението твърди, че може да обработи <xliff:g id="COUNT_1">%d</xliff:g> връзки</item>
+      <item quantity="one">Приложението твърди, че може да обработи <xliff:g id="COUNT_0">%d</xliff:g> връзка</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"Приложението твърди, че може да обработи следните връзки:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"По подразбиране"</string>
     <string name="default_for_work" msgid="537558180548617528">"По подразбиране за работа"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"Помощник и гласово въвеждане"</string>
@@ -3911,8 +4010,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"Показване върху други приложения"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Разрешаване на показв. върху други приложения"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"Разрешава на приложението да се показва върху другите използвани от вас приложения. Това може да възпрепятства работата ви с тях или да промени поведението им или начина, по който ги виждате."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"Достъп до всички файлове"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"Разрешете достъп за управл. на всички файлове"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Разрешете на това приложение да чете, променя и изтрива всички файлове на устройството или обемите на свързаните хранилища. Ако то получи разрешението, може да осъществява достъп до файловете без изричното ви знание."</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"Може да осъществява достъп до всички файлове"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"vr виртуална реалност приемател стерео помощна услуга"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"системен сигнал прозорец диалогов прозорец показване върху други приложения"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"Показв. върху други приложения"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"<xliff:g id="COUNT_0">%1$d</xliff:g> от <xliff:g id="COUNT_1">%2$d</xliff:g> приложения имат разрешение да се показват върху други"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"Приложения с разрешение"</string>
@@ -4078,6 +4180,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"Използвани: <xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g>"</string>
     <string name="data_overusage" msgid="3680477320458707259">"<xliff:g id="ID_1">^1</xliff:g> над лимита"</string>
     <string name="data_remaining" msgid="6316251496381922837">"Остават: <xliff:g id="ID_1">^1</xliff:g>"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"Графика, показваща преноса на данни между <xliff:g id="START_DATE">%1$s</xliff:g> и <xliff:g id="END_DATE">%2$s</xliff:g>."</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"Няма данни за този период от време"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="other">Остават %d дни</item>
       <item quantity="one">Остава %d ден</item>
@@ -4141,14 +4245,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"размер на пратката"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"сигналът за известието е изпратен"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"звук"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"вибриране"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"фигура"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"по подразбиране"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"канал"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"няма"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"Класиращият се обект липсва."</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"Класиращият се обект не съдържа този ключ."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"Теми"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"Стандартна настройка за устройството"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"Прорез на екрана"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"прорез на екрана, изрез"</string>
@@ -4237,8 +4337,12 @@
     <string name="information_label" msgid="6939310810756569298">"Информация"</string>
     <string name="low_label" msgid="6525629096999711220">"Ниска"</string>
     <string name="high_label" msgid="357503396626018487">"Висока"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"По-високата чувствителност може да предизвика конфликт с жестове за приложение, изпълнявани по продължението на краищата на екрана."</string>
+    <string name="left_edge" msgid="1513576842959071849">"Ляв край"</string>
+    <string name="right_edge" msgid="1505309103265829121">"Десен край"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"По-високата чувствителност може да предизвика конфликт с жестове за приложение, изпълнявани по продължението на краищата на екрана."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"Чувствителност за жеста за връщане назад"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"Настройки за жестовете"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"навигиране с жестове, чувствителност за жеста за връщане назад, жест за връщане назад"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"Двукратно докосване за проверка на телефона"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"Двукратно докосване за проверка на таблета"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"Двукратно докосване за проверка на устройството"</string>
@@ -4393,7 +4497,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"Задействане на обезпечаването от оператора"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"Актуализиране на режима „Не безпокойте“"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"Поставете известията на пауза, за да не ви разсейват"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"Тази функция не е налице на устройството"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"Функцията не е налице"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"Тази функция бе изключена, защото забавя телефона ви"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"Налагане на пълно проследяване на измерванията с GNSS"</string>
@@ -4403,20 +4506,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"Избиране на активирано за ANGLE приложение"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"Няма зададено приложение, активирано за ANGLE"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"Активирано за ANGLE приложение: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"Предпочитания за драйвера за игри"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"Промяна на настройките за драйвера за игри"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"Когато драйверът за игри е включен, можете да изберете за приложенията, инсталирани на устройството, да се използва актуализираният графичен драйвер."</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"Активиране за всички приложения"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"Избиране на графичен драйвер"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"По подразбиране"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"Драйвер за игри"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"Prerelease Driver"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"Системен графичен драйвер"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"Предпочитания за графичния драйвер"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"Промяна на настройките за графичния драйвер"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"Когато имате няколко графични драйвера, можете да изберете за инсталираните на устройството приложения да се използва актуализираният."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"Активиране за всички приложения"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"Избиране на графичен драйвер"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"По подразбиране"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"Драйвер за игри"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"Драйвер за програмисти"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Системен графичен драйвер"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Промени в съвместимостта на приложенията"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Включване/изключване на промените в съвместимостта на приложенията"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Промени, свързани с активирането по подразбиране"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Промени, свързани с деактивирането по подразбиране"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"Настройката не се поддържа на този телефон"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"Настройката не се поддържа на този таблет"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"Настройката не се поддържа на това устройство"</string>
@@ -4435,6 +4544,11 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"Устройство"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Заето по време на обаждания"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"Заето"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"Добавяне на изходящи устройства"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"Група"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 избрано устройство"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> избрани устройства"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"Превключва се…"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Устройство за приемане на обаждането"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Това име на точката за достъп (APN) не може да бъде променено."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Подобряване на живота на батерията на таблета"</string>
@@ -4552,10 +4666,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Само една изтеглена SIM карта може да бъде активна в даден момент.\n\nПревключването към <xliff:g id="CARRIER1">%1$s</xliff:g> няма да анулира услугата на <xliff:g id="CARRIER2">%2$s</xliff:g>."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Превключване към <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Изтриване на SIM картата"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Да се изтрие ли тази изтеглена SIM карта?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"С изтриването на тази SIM карта услугата на <xliff:g id="CARRIER_0">%1$s</xliff:g> се премахва от устройството.\n\nУслугата за <xliff:g id="CARRIER_1">%2$s</xliff:g> няма да бъде анулирана."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Изтриване"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"SIM картата се изтрива…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"SIM картата не може да се изтрие"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Тази SIM карта не може да бъде изтрита поради грешка.\n\nРестартирайте устройството си и опитайте отново."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Предпочитан тип мрежа"</string>
@@ -4580,7 +4690,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Невалиден мрежов режим <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Пренебрегване."</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Имена на точки за достъп"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Не е налице, когато е установена връзка с(ъс) <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"Медицинска информация, контакти при спешни случаи"</string>
     <string name="see_more" msgid="7499355691042812723">"Вижте още"</string>
     <string name="see_less" msgid="2642392725363552793">"Преглед на по-малко"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"Устройство, което да се използва с(ъс) „<xliff:g id="APPNAME">%1$s</xliff:g>“"</string>
@@ -4589,11 +4698,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"Нещо стана. Приложението анулира заявката за избиране на устройство."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"Връзката е успешна"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"Показване на всички"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> свързани устройства</item>
-      <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_0">%1$d</xliff:g> свързано устройство</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"Няма устройства с Bluetooth"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"Търси се устройство…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"Установява се връзка с устройството…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"Лява"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"Дясно"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Калъф"</string>
@@ -4603,6 +4709,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"Не е налице в самолетен режим"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"Принудително задаване на настолен режим"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Принудително задаване на експерименталния настолен режим на алтернативни дисплеи"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"Непреоразмерими приложения в свободна форма: Акт."</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"Разрешава на приложенията, които не могат да се преоразмеряват, да бъдат в свободна форма"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Отмяна на налагането на тъмен режим"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"Отменя постоянното включено състояние на функцията за налагане на тъмен режим"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"Поверителност"</string>
@@ -4639,6 +4747,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Наскоро инсталирахте това приложение."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Превключване на изхода"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Понастоящем се възпроизвежда на <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (връзката е прекратена)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Възникна грешка. Докоснете за нов опит."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Важна информация"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"НАПРЕД"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"НЕ, БЛАГОДАРЯ"</string>
@@ -4666,8 +4776,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"Комбинация на SIM карти"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Информация за служебните правила"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Настройки, управлявани от системния администратор"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"ГП"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"Манипулатор за сигналите за програмни грешки"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Определя кое приложение да обработва прекия път за сигнали за програмни грешки на устройството ви."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Лично"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"Служебно"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"Стандартно за системата"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"Този избор вече не е валиден. Опитайте отново."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"Спиране на предаването"</string>
 </resources>
diff --git a/res/values-bn/arrays.xml b/res/values-bn/arrays.xml
index f14398a..83de117 100644
--- a/res/values-bn/arrays.xml
+++ b/res/values-bn/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"অবিলম্বে"</item>
     <item msgid="463591454172790676">"৫ সেকেন্ড"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"যাচাই করা হয়নি"</item>
+    <item msgid="5703177653586269306">"সার্টিফিকেট স্ট্যাটাসের অনুরোধ করুন"</item>
+    <item msgid="326388247868439528">"সার্টিফিকেট স্ট্যাটাসের প্রয়োজন আছে"</item>
+    <item msgid="1090956283885790552">"বিশ্বস্ত নয় এমন সব সার্টিফিকেটের স্ট্যাটাসের প্রয়োজন"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"পুশ বোতাম"</item>
     <item msgid="2630618799033509548">"চেনা ডিভাইস থেকে পিন"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"কোনো কিছুই নয়"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"আগে থেকে শেয়ার করা কীগুলি এবং Xauth প্রমাণীকরণের সাথে IPSec VPN"</item>
     <item msgid="2484564813864139237">"শংসাপত্রগুলি এবং Xauth প্রমাণীকরণের সাথে IPSec VPN"</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>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"কোনওটিই নয়"</item>
diff --git a/res/values-bn/config.xml b/res/values-bn/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-bn/config.xml
+++ b/res/values-bn/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-bn/strings.xml b/res/values-bn/strings.xml
index cf3d05d..339d6f8 100644
--- a/res/values-bn/strings.xml
+++ b/res/values-bn/strings.xml
@@ -31,49 +31,17 @@
     <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="radio_info_data_connection_enable" msgid="7500945447906187613">"ডেটা কানেকশন সক্রিয় আছে"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"ডেটা কানেকশন নিষ্ক্রিয় আছে"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"VoLTE প্রস্তুত"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"ভিডিও কলিং এর ব্যবস্থা আছে"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"ওয়াই ফাই কলিং এর ব্যবস্থা আছে"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"EAB/উপস্থিতির বন্দোবস্ত"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"Cbrs ডেটা"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"DSDS চালু করুন"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"ডিভাইস রিস্টার্ট করতে চান?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"এই সেটিং পরিবর্তন করতে আপনার ডিভাইস রিস্টার্ট করতে হবে।"</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"রিস্টার্ট করুন"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"বাতিল করুন"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"মোবাইল রেডিওর গুণমান"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"সিম ঠিকানা বই দেখুন"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"স্থায়ী ডায়াল নম্বরগুলি দেখুন"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"সার্ভিস ডায়াল নম্বরগুলি দেখুন"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"IMS পরিষেবার স্থিতি"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"IMS স্থিতি"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"নিবন্ধিত হয়েছে"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"নিবন্ধিত নয়"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"উপলব্ধ"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"অনুপলব্ধ"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"IMS নিবন্ধীকরণ: <xliff:g id="STATUS">%1$s</xliff:g>\nভয়েস ওভার LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nভয়েস ওভার ওয়াই ফাই: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nভিডিও কলিং: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT ইন্টারফেস: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"পরিষেবায়"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"পরিষেবার বাইরে"</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>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"নিষ্ক্রিয়"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"রিং হচ্ছে"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"কল করা হচ্ছে"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"ডিসকানেক্ট করা হয়েছে"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"কানেক্ট হচ্ছে"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"কানেক্ট হয়েছে"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"স্থগিত করা হয়েছে"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"অজানা"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"pkts"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"বাইট"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"USB স্টোরেজ আনমাউন্ট করুন"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"SD কার্ড আনমাউন্ট করুন"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"USB স্টোরেজ মুছে ফেলুন"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"স্ক্রিনের টেক্সট ছোট বা বড় করুন।"</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"আরো ছোট করুন"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"আরো বড় করুন"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"স্যাম্পেল টেক্সট"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"দ্যা ওয়ান্ডারফুল উইজার্ড অফ অজ"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"অধ্যায় ১১: দ্যা ওয়ান্ডারফুল এমারল্ড সিটি অফ ওজ"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"এই সেটিং পরিবর্তন করতে আপনার ডিভাইস রিস্টার্ট করতে হবে"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"রিস্টার্ট"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"বাতিল"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"উপলভ্য মিডিয়া ডিভাইস"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"কল করার জন্য উপলভ্য ডিভাইস"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"এখন কানেক্ট রয়েছে"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"মিডিয়া ডিভাইস"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"কল করার ডিভাইস"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"অন্যান্য ডিভাইস"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"সেভ করে রাখা ডিভাইস"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"পেয়ার করার জন্য ব্লুটুথ চালু হবে"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"কানেকশন অভিরুচি"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"আপনার টাইপ করা পোর্টটি বৈধ নয।"</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"HTTP প্রক্সি ব্রাউজার দ্বারা ব্যবহৃত হয় কিন্তু অন্য অ্যাপ্লিকেশানগুলির দ্বারা ব্যবহৃত না হতেও পারে৷"</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"PAC URL: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"বর্তমান SUBID:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"ডিফল্ট ডেটা সিমের SUBID:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"ডিএল ব্যান্ডউইথ (কেবিপিএস):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"ইউএল ব্যান্ডউইথ (কেবিপিএস):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"সেল লোকেশন তথ্য (থামানো হয়েছে):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"এলটিই ফিজিক্যাল চ্যানেল কনফিগারেশন:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"সেল তথ্যে রিফ্রেশ রেট:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"সমস্ত সেল পরিমাপ তথ্য:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"ডেটা পরিষেবা:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"রোমিং:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"কল পুনঃনির্দেশ:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"বুট করার পর থেকে এই পরিমাণ PPP পুনরায় সেট করা হয়েছে:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"বর্তমান নেটওয়ার্ক:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"ডেট প্রাপ্ত হয়েছে:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"ভয়েস পরিষেবা:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"সিগন্যাল ক্ষমতা:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"ভয়েস কলের স্থিতি:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"ডেটা পাঠানো হয়েছে:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"মেসেজ অপেক্ষ:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"ফোন নম্বর:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"রেডিও ব্যান্ড বেছে নিন"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"ভয়েস নেটওয়ার্কের প্রকার:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"ডেটা নেটওয়ার্কের প্রকার:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"ফোনের ইন্ডেক্স বেছে নিন"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"পছন্দের নেটওয়ার্ক সেট করুন:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"হোস্টনামে(www.google.com) IPv4 পিং করুন:"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"হোস্টনামে(www.google.com) IPv6 পিং করুন:"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"HTTP ক্লায়েন্ট পরীক্ষা:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"পিং পরীক্ষা চালান"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"আপডেট করুন"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"রিফ্রেশ করুন"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"DNS চেক টগল করুন"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"OEM-নির্দিষ্ট তথ্য/সেটিংস"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"রেডিও ব্যান্ড মোড সেট করুন"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"ব্যান্ড তালিকা লোড হচ্ছে..."</string>
-    <string name="band_mode_set" msgid="494968379352406359">"সেট"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"অসফল"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"সফল"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"USB কেবল আবার কানেক্ট করা হলে পরিবর্তনগুলি কার্যকরী হবে।"</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"USB বিপুল স্টোরেজ সক্রিয় করুন"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"মোট বাইট:"</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"নিচে সরান"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"ভাষা সরান"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"অ্যাক্টিভিটি বেছে নিন"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"ডিভাইস তথ্য"</string>
     <string name="display_label" msgid="3056320781191343221">"স্ক্রিন"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"ট্যাবলেট তথ্য"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"ফোন তথ্য"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"USB স্টোরেজ"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"SD কার্ড"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"প্রক্সি সেটিংস"</string>
@@ -306,9 +234,6 @@
     <string name="airplane_mode" msgid="3196085857882526817">"বিমান মোড"</string>
     <string name="wireless_networks_settings_title" msgid="8557542379234105369">"ওয়্যারলেস ও নেটওয়ার্ক"</string>
     <string name="radio_controls_summary" msgid="9028430178697624501">"ওয়াই-ফাই, ব্লুটুথ, বিমান মোড, মোবাইল নেটওয়ার্কগুলি ও VPNs পরিচালনা করুন"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"মোবাইল ডেটা"</string>
-    <string name="calls_title" msgid="6334813967619899114">"কলের অনুমতি দিন"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"এসএমএসগুলি"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"মোবাইল নেটওয়ার্কে ডেটা ব্যবহারের অনুমতি"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"রোমিংয়ের সময় ডাটা ব্যবহারের অনুমতি দিন"</string>
     <string name="roaming" msgid="3055365654530847985">"রোমিং"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"রোমিংয়ে থাকলেও ডেটা পরিষেবাতে কানেক্ট করুন"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"আপনি আপনার হোম নেটওয়ার্ক থেকে ডেটা রোমিং বন্ধ করে দেওয়ার কারণে আপনি ডেটা কানেকশন হারিয়েছেন।"</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"এটি চালু করুন"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"আপনার ব্যালেন্স খরচ হতে পারে৷"</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"যখন আপনি ডেটা রোমিংয়ের অনুমতি দেবেন, তখন আপনাকে রোমিং চার্জ ধার্য করা হতে পারে!\n\nএই সেটিংস এই ট্যাবলেটের সমস্ত ব্যবহারকারীর উপর প্রভাব ফেলবে।"</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"যখন আপনি ডেটা রোমিংয়ের অনুমতি দেবেন, তখন আপনাকে রোমিং চার্জ ধার্য করা হতে পারে!\n\nএই সেটিংস এই ফোনের সমস্ত ব্যবহারকারীর উপর প্রভাব ফেলবে।"</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"রোমিং চার্জ প্রযোজ্য হতে পারে।"</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"আপনি যখন ডেটা রোমিংয়ের চালু করবেন, তখন রোমিং চার্জ প্রযোজ্য হতে পারে। \n\n এই ট্যাবলেটের সমস্ত ব্যবহারকারীর ক্ষেত্রে এই সেটিংটি কার্যকর হবে।"</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"আপনি যখন ডেটা রোমিং চালু করবেন, তখন রোমিং চার্জ প্রযোজ্য হতে পারে। \n\n এই ফোনের সমস্ত ব্যবহারকারীর ক্ষেত্রে এই সেটিংটি কার্যকর হবে।"</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"ডেটা রোমিংয়ের অনুমতি দেবেন?"</string>
     <string name="networks" msgid="5184501333492775095">"অপারেটর নির্বাচন"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"একটি নেটওয়ার্ক অপারেটর বেছে নিন"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"প্রশাসক দ্বারা অক্ষম করা হয়েছে"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"লকডাউনের বিকল্পগুলি দেখুন"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"পাওয়ার বোতামের যে বিকল্পে স্মার্ট লক, বায়োমেট্রিক আনলক করার সুবিধা এবং লক স্ক্রিনে বিজ্ঞপ্তি দেখতে পাওয়ার বৈশিষ্ট্য বন্ধ করা যায়, সেটি দেখুন"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"ট্রাস্ট এজেন্ট শুধু আনলকের সময়সীমা বাড়ায়"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"যদি চালু করা হয় তাহলে ট্রাস্ট এজেন্ট বেশি সময় ধরে আপনার ডিভাইস আনলক করে রাখতে পারবে, কিন্তু লক করা ডিভাইস আনলক করতে পারবে না।"</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"\"বিশ্বস্ত\" না হওয়ায় লক স্ক্রিন"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"যদি এটি চালু করেন, তাহলে শেষ বিশ্বস্ত এজেন্টকে বিশ্বস্ত হিসেবে চিহ্নিত করা না হলে ডিভাইসটি লক হয়ে যাবে"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"কোনো কিছুই নয়"</string>
@@ -390,7 +313,7 @@
     <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="disabled_by_administrator_summary" msgid="4181894719300350343">"প্রশাসক দ্বারা অক্ষম করা হয়েছে"</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>
@@ -693,7 +616,6 @@
       <item quantity="one">অবশ্যই <xliff:g id="NUMBER_1">%d</xliff:g>টি সংখ্যার থেকে কম হতে হবে</item>
       <item quantity="other">অবশ্যই <xliff:g id="NUMBER_1">%d</xliff:g>টি সংখ্যার থেকে কম হতে হবে</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"শুধুমাত্র ০-৯ সংখ্যাগুলি থাকবে"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"ডিভাইস প্রশাসক একটি সাম্প্রতিক পিন ব্যবহার করতে দেয় না"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"একইধরনের পিন আপনার আইটি অ্যাডমিনের মাধ্যমে ব্লক করা হয়। অন্য একটি পিন ব্যবহার করার চেষ্টা করুন।"</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"এতে কোনো অবৈধ অক্ষর অন্তর্ভুক্ত করা যাবে না"</string>
@@ -724,6 +646,10 @@
       <item quantity="one">কমপক্ষে এমন <xliff:g id="COUNT">%d</xliff:g>টি অক্ষর থাকতে হবে যেটি বর্ণ নয়</item>
       <item quantity="other">কমপক্ষে এমন <xliff:g id="COUNT">%d</xliff:g>টি অক্ষর থাকতে হবে যেটি বর্ণ নয়</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="one">কমপক্ষে এমন <xliff:g id="COUNT">%d</xliff:g>টি অক্ষর থাকতে হবে যেটি সংখ্যা নয়</item>
+      <item quantity="other">কমপক্ষে এমন <xliff:g id="COUNT">%d</xliff:g>টি অক্ষর থাকতে হবে যেটি সংখ্যা নয়</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"ডিভাইস প্রশাসক একটি সাম্প্রতিক পাসওয়ার্ড ব্যবহার করতে দেয় না"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"একইধরনের পাসওয়ার্ড আপনার আইটি অ্যাডমিনের মাধ্যমে ব্লক করা হয়। অন্য একটি পাসওয়ার্ড ব্যবহার করার চেষ্টা করুন।"</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"সংখ্যাগুলি ছোট থেকে বড় ক্রমে, বড় থেকে ছোট ক্রমে বা একই সংখ্যাকে বার বার লেখা যাবে না"</string>
@@ -837,19 +763,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2.4 GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"সাইন-ইন করুন"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"সাইট খুলুন"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"<xliff:g id="REMAINING_TIME">%1$s</xliff:g> বাকি"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"<xliff:g id="EXPIRY_TIME">%1$s</xliff:g>-এ মেয়াদ শেষ হবে"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"নেটওয়ার্কে সাইন-ইন করতে এখানে ট্যাপ করুন"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> এমবিপিএস"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> এমবিপিএস"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> এমবিপিএস"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"<xliff:g id="REQUESTER">%s</xliff:g> ওয়াই-ফাই চালু করতে চাইছে"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"<xliff:g id="REQUESTER">%s</xliff:g> ওয়াই-ফাই বন্ধ করতে চাইছে"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"ডিবাগযোগ্য অ্যাপের বাইটকোড যাচাই করুন"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"ডিবাগযোগ্য অ্যাপের বাইটকোট যাচাই করতে ART-কে অনুমতি দিন"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"রিফ্রেশ রেট দেখান"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"সাম্প্রতিক সময়ের ডিসপ্লে রিফ্রেশ রেট দেখান"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"যখন ট্যাবলেট অন্য ডিভাইসে স্পর্শ করে তখন ডেটা বিনিময়ের অনুমতি দিন"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"যখন ফোন অন্য ডিভাইসে স্পর্শ করে তখন ডেটা বিনিময়ের অনুমতি দিন"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"ট্যাবলেট যখন কোনও NFC ডিভাইসে স্পর্শ করে তখন ডেটা বিনিময়ের অনুমতি দিন"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"ফোন যখন কোনও NFC ডিভাইসে স্পর্শ করে তখন ডেটা বিনিময়ের অনুমতি দিন"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"NFC চালু করুন"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"অর্থপ্রদান টার্মিনাল, অ্যাক্সেস রিডারগুলির এবং ইন্টারঅ্যাক্টিভ বিজ্ঞাপণ বা ট্যাগগুলির মত NFC এই ডিভাইস এবং আশেপাশে থাকা কোনো ডিভাইস বা টার্গেটগুলির মধ্যে ডেটা বিনিময় করে।"</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"সুরক্ষিত NFC"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFC-এর জন্য ডিভাইস আনলক প্রয়োজন"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"NFC পেমেন্ট ও ট্রানজিটের জন্য অনুমতি দিন এবং স্ক্রিন আনলক করা থাকলে তবেই ব্যবহার করুন"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android বীম"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"NFC এর মাধ্যমে অ্যাপ্লিকেশন কন্টেন্ট পাঠাতে প্রস্তুত"</string>
@@ -923,8 +855,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"চালু করুন"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"ওয়াই-ফাই স্ক্যানিং চালু করা হয়েছে"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"উন্নত বিকল্প"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"উন্নত বিকল্পগুলির ড্রপ-ডাউন তালিকা৷ সঙ্কুচিত করতে দুবার আলতো চাপুন৷"</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"উন্নত বিকল্পগুলির ড্রপ-ডাউন তালিকা৷ প্রসারিত করতে দুবার আলতো চাপুন৷"</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"ড্রপ-ডাউন তালিকায় থাকা উন্নত বিকল্প"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"বড় করুন"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"নেটওয়ার্ক নাম"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"SSID লিখুন"</string>
     <string name="wifi_security" msgid="9095934643631406913">"নিরাপত্তা"</string>
@@ -934,6 +866,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"স্থিতি"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"ট্রান্সমিট লিঙ্কের গতি"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"যে লিঙ্কে কানেকশন আসবে তার গতি"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"লিঙ্ক গতি"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"ফ্রিকোয়েন্সী"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"আইপি অ্যাড্রেস"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"এর মাধ্যমে সংরক্ষিত"</string>
@@ -941,6 +874,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"EAP পদ্ধতি"</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>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"ব্যবহারকারীর সার্টিফিকেট"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"পরিচয়"</string>
@@ -957,6 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"ওয়াই-ফাই হটস্পটের জন্য অন্তত একটি ব্যান্ড বেছে নিন:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"IP সেটিংস"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"গোপনীয়তা"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"সাবস্ক্রিপশন"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"সাবস্ক্রিপশন দেখুন বা পরিবর্তন করুন"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"র‍্যান্ডামাইজ করা MAC"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"একটি ডিভাইস যোগ করুন"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"“<xliff:g id="SSID">%1$s</xliff:g>”-এর সাথে ডিভাইস যোগ করতে নিচে ডিভাইসের QR কোড মাঝখানে রাখুন"</string>
@@ -966,12 +902,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"ওয়াই-ফাই শেয়ার করুন"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"“<xliff:g id="SSID">%1$s</xliff:g>”-এর সাথে কানেক্ট করতে এই QR কোড স্ক্যান করুন ও পাসওয়ার্ড শেয়ার করুন"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"“<xliff:g id="SSID">%1$s</xliff:g>”-এর সাথে কানেক্ট করতে এই QR কোড স্ক্যান করুন"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"QR কোড পড়া যায়নি। কোড আবার লিখুন এবং আবার চেষ্টা করুন"</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"আবার চেষ্টা করুন৷ সমস্যা যদি তাও থেকে যায় তাহলে ডিভাইসের প্রস্তুতকারকের সাথে যোগাযোগ করুন"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"কোনও সমস্যা হয়েছে"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"ডিভাইসটি প্লাগ-ইন করা আছে কিনা, চার্জ দেওয়া আছে কিনা এবং চালু আছে কিনা তা দেখে নিন"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"ডিভাইসটি প্লাগ-ইন করা আছে কিনা, চার্জ দেওয়া আছে কিনা এবং চালু আছে কিনা তা দেওয়া সমস্যা যদি তাও থেকে যায় তাহলে ডিভাইসের প্রস্তুতকারকের সাথে যোগাযোগ করুন"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"“<xliff:g id="SSID">%1$s</xliff:g>” যোগ করা এই ডিভাইসে কাজ করে না"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"আপনার ওয়াই-ফাই অ্যাক্সেস পয়েন্ট/রাউটারের কাছাকাছি ডিভাইস সরানোর চেষ্টা করুন"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"পাসওয়ার্ড দেখে নিয়ে আবার চেষ্টা করুন"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"ডিভাইস প্রস্তুতকারকের সাথে যোগাযোগ করুন"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"কানেকশন দেখে নিয়ে আবার চেষ্টা করুন"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"নেটওয়ার্ক বেছে নিন"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"আপনার ডিভাইস কানেক্ট করতে নেটওয়ার্ক বেছে নিন"</string>
@@ -984,11 +922,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"এই ডিভাইসটি ওয়াই-ফাই-এর সাথে কানেক্ট করা আছে…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"কানেক্ট হচ্ছে…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"হটস্পট শেয়ার করুন"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"আপনার পরিচয় যাচাই করুন"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"এটি যে আপনি তা যাচাই করুন"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"ওয়াই-ফাইয়ের পাসওয়ার্ড: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"হটস্পটের পাসওয়ার্ড: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"অটো-কানেক্ট"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"এই নেটওয়ার্কের কাছাকাছি আসলেই আপনার ফোন যাতে অটোমেটিক কানেক্ট হয়ে যায়, তার অনুমতি দিন"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"এই নেটওয়ার্কের কাছাকাছি আসলেই আপনার ট্যাবলেট যাতে অটোমেটিক কানেক্ট হয়ে যায়, তার অনুমতি দিন"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"ডিভাইস যোগ করুন"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"এই নেটওয়ার্কে কোনও ডিভাইস যোগ করার জন্য QR কোড ব্যবহার করুন"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"QR কোড ফর্ম্যাট ভুল"</string>
     <string name="retry" msgid="7542103800274026915">"আবার করুন"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"অন্য ডিভাইস ব্যবহারকারীদের সাথে শেয়ার করুন"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(অপরিবর্তিত)"</string>
@@ -1000,6 +942,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"কোনও সার্টিফিকেট নির্দিষ্ট করা নেই৷ আপনার কানেকশন ব্যক্তিগত করা হবে না৷"</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"নেটওয়ার্কের নাম খুব বড়।"</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"একটি ডোমেন উল্লেখ করা আবশ্যক৷"</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"সার্টিফিকেট প্রয়োজন।"</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"WPS উপলব্ধ"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (WPS উপলব্ধ)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"পরিষেবা প্রদানকারীর ওয়াই-ফাই নেটওয়ার্ক"</string>
@@ -1051,7 +994,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"উন্নত ওয়াই-ফাই"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"MAC অ্যাড্রেস"</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_ip_address_title" msgid="4265355419782184514">"আইপি অ্যাড্রেস"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"নেটওয়ার্কের বিবরণ"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"সাবনেট মাস্ক"</string>
@@ -1103,7 +1047,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"আপনার অন্যান্য ডিভাইসের জন্য একটি ওয়াই-ফাই নেটওয়ার্ক তৈরি করতে হটস্পট ব্যবহার করুন। হটস্পটের মাধ্যমে আপনার মোবাইলের ডেটা ব্যবহার করে ইন্টারনেট কানেকশন দেওয়া হয়। মোবাইলের ডেটার জন্য অতিরিক্ত চার্জ প্রযোজ্য হতে পারে।"</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"অ্যাপগুলি আশেপাশের ডিভাইসের সাথে কন্টেন্ট শেয়ার করার জন্য হটস্পট তৈরি করতে পারে।"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"নিজে থেকে হটস্পট বন্ধ করুন"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"কোনও ডিভাইস কানেক্ট না থাকলে ওয়াই-ফাই হটস্পট বন্ধ হয়ে যাবে"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"যখন কোনও ডিভাইস কানেক্ট করা থাকে না"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"হটস্পট চালু হচ্ছে..."</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"হটস্পট বন্ধ হচ্ছে..."</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> সক্রিয় আছে"</string>
@@ -1112,6 +1056,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"ওয়াই-ফাই হটস্পট সেটআপ"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"AndroidAP WPA2 PSK হটস্পট"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"AndroidHotspot"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"এই নেটওয়ার্ক সেভ করতে চান?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"আপনার ফোনে <xliff:g id="APPNAME">%1$s</xliff:g> একটি নেটওয়ার্ক সেভ করতে চায়"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"আপনার ট্যাবলেটে <xliff:g id="APPNAME">%1$s</xliff:g> একটি নেটওয়ার্ক সেভ করতে চায়"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"সেভ করা হচ্ছে…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"সেভ করা হয়েছে"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"সেভ করা যাচ্ছে না। আবার চেষ্টা করুন।"</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"নেটওয়ার্ক সেভ করতে চান?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"আপনার ফোনে <xliff:g id="APPNAME">%1$s</xliff:g> এই নেটওয়ার্কগুলি সেভ করতে চায়"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"আপনার ট্যাবলেটে <xliff:g id="APPNAME">%1$s</xliff:g> এই নেটওয়ার্কগুলি সেভ করতে চায়"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"<xliff:g id="NUMBER">%d</xliff:g>টি নেটওয়ার্ক সেভ করা হচ্ছে…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"নেটওয়ার্ক সেভ করা হয়েছে"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"ওয়াই-ফাই কলিং"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"ওয়াই-ফাই ব্যবহার করে আরও ভালভাবে কথা বলুন"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"আরও বেশি কভারেজ পেতে ওয়াই-ফাই কলিং চালু করুন"</string>
@@ -1138,16 +1093,18 @@
     <string name="emergency_address_title" msgid="3490633500025717573">"জরুরি ঠিকানা"</string>
     <string name="emergency_address_summary" msgid="3022628750270626473">"ওয়াই-ফাই নেটওয়ার্ক ব্যবহার করে জরুরি কল করার সময় আপনার লোকেশন হিসেবে ব্যবহার করা হয়"</string>
     <string name="private_dns_help_message" msgid="851221502063782306">"ব্যক্তিগত ডিএনএস বৈশিষ্ট্যের বিষয়ে "<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>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"ওয়াই-ফাই দিয়ে কল করার সুবিধা অ্যাক্টিভেট করুন"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"ওয়াই-ফাই দিয়ে কল করার সুবিধা চালু করুন"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"%1$s-এ ওয়াই-ফাই দিয়ে কল করা যায় না"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"<xliff:g id="SSID">%1$s</xliff:g> থেকে ডিসকানেক্ট করা হয়েছে"</string>
     <string name="carrier" msgid="1755020806290963951">"পরিষেবা প্রদানকারী"</string>
     <string name="display_settings_title" msgid="626835071804834218">"ডিসপ্লে"</string>
     <string name="sound_settings" msgid="5514582720435174014">"সাউন্ড"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"ভলিউম"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"সঙ্গীত প্রভাব"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"রিং ভলিউম"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"রিং ও বিজ্ঞপ্তির ভলিউম"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"মিউট থাকাকালীন ভাইব্রেট"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"ডিফল্ট বিজ্ঞপ্তির সাউন্ড"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"রিংটোন"</string>
@@ -1272,13 +1229,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"সময়সূচি"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"কোনওটিই নয়"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"সূর্যাস্ত থেকে সূর্যোদয়ের সময়ে চালু করুন"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"কাস্টম সময়ে চালু করুন"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"স্ট্যাটাস"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"বন্ধ / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"কখনই নিজে থেকে চালু হবে না"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"সূর্যাস্তের সময়ে নিজে থেকে চালু হবে"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"<xliff:g id="ID_1">%1$s</xliff:g> টার সময় নিজে থেকে চালু হবে"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"চালু / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"কখনই নিজে থেকে বন্ধ হবে না"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"সূর্যোদয়ের সময় নিজে থেকে বন্ধ হবে"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"<xliff:g id="ID_1">%1$s</xliff:g> টার সময় নিজে থেকে বন্ধ হবে"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"<xliff:g id="ID_1">%1$s</xliff:g> পর্যন্ত চালু রাখুন"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"<xliff:g id="ID_1">%1$s</xliff:g> পর্যন্ত বন্ধ রাখুন"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"ব্যাটারি যাতে অনেক্ষণ চলতে পারে সেই জন্য গাঢ় থিম কিছু স্ক্রিনে কালো রঙয়ের ব্যাকগ্রাউন্ড ব্যবহার করে। গাঢ় থিমের সময়সূচি আপনার স্ক্রিনটি বন্ধ না হওয়া পর্যন্ত চালু হওয়ার জন্য অপেক্ষা করে।"</string>
     <string name="screen_timeout" msgid="7709947617767439410">"স্ক্রিন টাইম-আউট"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"স্ক্রিন বন্ধ হয়"</string>
@@ -1290,7 +1252,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"ওয়ালপেপার পরিবর্তন করুন"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"আপনার স্ক্রিন ব্যক্তিগতকৃত করুন"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"ওয়ালপেপার বেছে নিন"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"আপনার Pixel কাস্টমাইজ করুন"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"আপনার ফোন কাস্টমাইজ করুন"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"বিভিন্ন স্টাইল, ওয়ালপেপার ও অনেক কিছু ব্যবহার করুন"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"স্ক্রিন সেভার"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"চার্জ অথবা ডক করার সময়"</string>
@@ -1379,6 +1341,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"USB স্টোরেজ আনমাউন্ট করুন, উপলব্ধ স্টোরেজ দেখুন"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"SD কার্ড আনমাউন্ট করুন, উপলব্ধ স্টোরেজ দেখুন"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (সিম স্লট %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"দেখার জন্য সেভ করা নেটওয়ার্ক বেছে নিন"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"ফোন নম্বর"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (সিম স্লট %1$d)"</string>
@@ -1405,6 +1368,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"রোমিং"</string>
     <string name="status_operator" msgid="4335640583552058491">"নেটওয়ার্ক"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"ওয়াই-ফাই MAC অ্যাড্রেস"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"ডিভাইস ওয়াই-ফাই MAC অ্যাড্রেস"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"ব্লুটুথ অ্যাড্রেস"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"সিরিয়াল নম্বর"</string>
     <string name="status_up_time" msgid="1274778533719495438">"আপ টাইম"</string>
@@ -1617,6 +1581,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"ডিফল্ট APN সেটিংস আবার সেট করা সম্পন্ন হয়েছে।"</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"রিসেটের বিকল্পগুলি"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"নেটওয়ার্ক, অ্যাপ, অথবা ডিভাইস রিসেট করা যায়"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"অ্যাপ রিসেট করা যেতে পারে"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"ওয়াই-ফাই, মোবাইল ও ব্লুটুথ রিসেট"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"এগুলি সহ সমস্ত নেটওয়ার্ক সেটিংস আবার সেট করবে:\n\n"<li>"ওয়াই ফাই "</li>\n<li>"সেলুলার ডেটা "</li>\n<li>"ব্লুটুথ"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"ডাউনলোড করা সিম মুছে ফেলা"</string>
@@ -1666,6 +1631,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"হটস্পট চালু আছে"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"টিথারিং চালু আছে"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"ডেটা সেভার চালু থাকা অবস্থায় টেদার করা যাবে না বা পোর্টেবল হটস্পট ব্যবহার করা যাবে না"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"শুধুমাত্র হটস্পট"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"শুধুমাত্র ইউএসবি"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"শুধুমাত্র ব্লুটুথ"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"হটস্পট, ইউএসবি"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"হটস্পট, ব্লুটুথ"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"ইউএসবি, ব্লুটুথ"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"হটস্পট, ইউএসবি, ব্লুটুথ"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"অন্যান্য ডিভাইসের সাথে ইন্টারনেট শেয়ার করা হচ্ছে না"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"টিথারিং"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"ওয়াই-ফাই হটস্পট ব্যবহার করবেন না"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"শুধুমাত্র ইউএসবির মাধ্যমে ইন্টারনেট শেয়ার করুন"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"শুধুমাত্র ব্লুটুথের মাধ্যমে ইন্টারনেট শেয়ার করুন"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"শুধুমাত্র ইউএসবি এবং ব্লুটুথের মাধ্যমে ইন্টারনেট শেয়ার করুন"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB টিথারিং"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"USB এর মাধ্যমে ফোনের ইন্টারনেট কানেকশন শেয়ার করুন"</string>
@@ -1756,9 +1734,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"নিরাপত্তা তথ্য"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"ডেটা কানেকশন নেই। এই তথ্য এখনই দেখার জন্য ইন্টারনেটে কানেক্ট যে কোনও কম্পিউটার থেকে %s এ যান।"</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"লোড হচ্ছে..."</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"পিন ব্যবহার করুন"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"প্যাটার্ন ব্যবহার করুন"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"পাসওয়ার্ড ব্যবহার করুন"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"স্ক্রিন লক সেট করুন"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"নিরাপত্তার জন্য, পাসওয়ার্ড সেট করুন"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"আঙ্গুলের ছাপ ব্যবহার করার জন্য পাসওয়ার্ড সেট করুন"</string>
@@ -1767,8 +1742,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"আঙ্গুলের ছাপ ব্যবহার করার জন্য পিন সেট করুন"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"নিরাপত্তার জন্য, প্যাটার্ন সেট করুন"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"আপনার পাসওয়ার্ডটি আবার লিখুন"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"আপনার অফিসের পাসওয়ার্ড লিখুন"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"আপনার প্যাটার্ন নিশ্চিত করুন"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"আপনার অফিসের প্যাটার্ন লিখুন"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"আপনার পিনটি আবার লিখুন"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"আপনার পিনটি লিখুন"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"পাসওয়ার্ডগুলি মিলছে না"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"পিন মিলছে না"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"আবার প্যাটার্ন আঁকুন"</string>
@@ -1779,6 +1757,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"মুখের সাহায্যে আনলক করতে পাসওয়ার্ড সেট"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"মুখের সাহায্যে আনলক করতে প্যাটার্ন সেট"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"মুখের সাহায্যে আনলক করতে পিন সেট করা"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"পাসওয়ার্ড ভুলে গেছেন?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"প্যাটার্ন ভুলে গেছেন?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"পিন ভুলে গেছেন?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"চালিয়ে যেতে আপনার ডিভাইসের প্যাটার্ন ব্যবহার করুন"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"চালিয়ে যেতে আপনার ডিভাইসের পিন লিখুন"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"চালিয়ে যেতে আপনার ডিভাইসের পাসওয়ার্ড লিখুন"</string>
@@ -1846,6 +1827,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"সব অ্যাপ্লিকেশান উৎসকে অনুমতি দিন"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"সম্প্রতি চালু করা অ্যাপ"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"<xliff:g id="COUNT">%1$d</xliff:g>টি অ্যাপের সবকটি দেখুন"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"আপনার আইটি অ্যাডমিনের সাথে যোগাযোগ করুন"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"পিন, প্যাটার্ন বা পাসওয়ার্ড রিসেট করতে তারা সাহায্য করতে পারে"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"অজানা অ্যাপের দ্বারা আপনার ট্যাবলেট এবং ব্যক্তিগত তথ্য আক্রান্ত হওয়ার সম্ভাবনা সবচেয়ে বেশি। এই উৎস থেকে আসা অ্যাপগুলি ইনস্টল করে আপনি সম্মত হচ্ছেন যে সেগুলি ব্যবহারের ফলে আপনার ট্যাবলেটের কোনো ক্ষতি হলে বা ডেটা হারিয়ে গেলে তার জন্য আপনিই দায়ী থাকবেন।"</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"অজানা অ্যাপের দ্বারা আপনার ফোন এবং ব্যক্তিগত তথ্য আক্রান্ত হওয়ার সম্ভাবনা সবচেয়ে বেশি। এই উৎস থেকে আসা অ্যাপগুলি ইনস্টল করে আপনি সম্মত হচ্ছেন যে সেগুলি ব্যবহারের ফলে আপনার ফোনের কোনো ক্ষতি হলে বা ডেটা হারিয়ে গেলে তার জন্য আপনিই দায়ী থাকবেন।"</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"অজানা অ্যাপের দ্বারা আপনার ফোন এবং ব্যক্তিগত তথ্য আক্রান্ত হওয়ার সম্ভাবনা সবচেয়ে বেশি। এই উৎস থেকে আসা অ্যাপগুলি ইনস্টল করে আপনি সম্মত হচ্ছেন যে সেগুলি ব্যবহারের ফলে আপনার ফোনের কোনও ক্ষতি হলে বা ডেটা হারিয়ে গেলে তার জন্য আপনিই দায়ী থাকবেন।"</string>
@@ -1897,7 +1880,7 @@
     <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="1377296810290814749">"এটি এগুলির জন্য সমস্ত পছন্দ পরিবর্তন করবে:\n\n"<li>"বন্ধ করা অ্যাপ"</li>\n<li>"বন্ধ করা অ্যাপ বিজ্ঞপ্তি"</li>\n<li>"কাজের জন্য ডিফল্ট অ্যাপ"</li>\n<li>"অ্যাপের জন্য ব্যাকগ্রাউন্ড ডেটার সীমাবদ্ধতা"</li>\n<li>"যেকোনও অনুমতির সীমাবদ্ধতা"</li>\n\n"আপনি কোনও অ্যাপ ডেটা হারাবেন না।"</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>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"অ্যাপ রিসেট করুন"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"জায়গা পরিচালনা করুন"</string>
     <string name="filter" msgid="9039576690686251462">"ফিল্টার"</string>
@@ -2097,7 +2080,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"অডিও এবং অন-স্ক্রিন পাঠ্য"</string>
     <string name="display_category_title" msgid="6638191682294461408">"ডিসপ্লে"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"ইন্টারঅ্যাকশন নিয়ন্ত্রণগুলি"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"ডাউনলোড করা পরিষেবাগুলি"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"ডাউনলোড করা অ্যাপ"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"পরীক্ষামূলক"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"ফিচারের ফ্ল্যাগ"</string>
     <string name="talkback_title" msgid="8756080454514251327">"Talkback"</string>
@@ -2105,27 +2088,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"স্ক্রিনের আইটেমগুলিতে আলতো চাপ দিলে সেগুলি উচ্চারণ করে শোনানো হবে"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"ক্যাপশন অভিরুচি"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"বড় করে দেখা"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"বড় করার জায়গা"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"স্ক্রিন বড় করে দেখা চালু করার মোড"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"স্ক্রিনকে বড় করার সময় আপনি যে জায়গা বড় করতে চান তা বেছে নিন"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"ফুল স্ক্রিন"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"স্ক্রিনের অংশ"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"ফুল স্ক্রিন এবং স্ক্রিনের অংশ"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"সম্পূর্ণ স্ক্রিন বড় করুন"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"স্ক্রিনের অংশ বড় করুন"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"বড় করে দেখার সেটিংস"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"তিনবার ট্যাপ করে বড় করে দেখুন"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"শর্টকাটের সাহায্যে বড় করে দেখা"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"শর্টকাটের মাধ্যমে ও তিনবার ট্যাপ করে বড় করুন"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"প্রায় <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"বিকল্প"</string>
     <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="2831926970059739911"><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_screen_magnification_navbar_summary" msgid="5603519616005297803">"ম্যাগনিফিকেশন চালু করা থাকলে, আপনি স্ক্রিনে জুম বাড়াতে পারবেন।\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_screen_magnification_summary" msgid="7617931632990040045">"কন্টেন্টটি আরও স্পষ্টভাবে দেখতে স্ক্রিনে দ্রুত জুম করুন।&lt;br/&gt;&lt;br/&gt;&lt;b&gt;জুম করতে:&lt;/b&gt;&lt;br/&gt;	1. \'বড় করে দেখা\' ফিচার চালু করার জন্য শর্টকাট ব্যবহার করুন&lt;br/&gt;	2. স্ক্রিনে ট্যাপ করুন&lt;br/&gt;	3. স্ক্রিনের মধ্যে যে কোনও জায়গায় সরাতে ২টি আঙুল ব্যবহার করে টেনে আনুন&lt;br/&gt;	4. জুম অ্যাডজাস্ট করতে ২টি আঙুল ব্যবহার করে পিঞ্চ করুন&lt;br/&gt;	5. \'বড় করে দেখা\' ফিচারটি বন্ধ করতে চাইলে শর্টকাট ব্যবহার করুন&lt;br/&gt;&lt;br/&gt;&lt;b&gt;অস্থায়ীভাবে জুম করতে:&lt;/b&gt;&lt;br/&gt;	1. \'বড় করে দেখা\' ফিচার চালু করার জন্য শর্টকাট ব্যবহার করুন&lt;br/&gt;	2. স্ক্রিনের যেকোনও জায়গায় স্পর্শ করে ধরে থাকুন&lt;br/&gt;	3. স্ক্রিনের যেকোনও জায়গায় আঙুল ব্যবহার করে টানুন&lt;br/&gt;	4. \'বড় করে দেখা\' ফিচারটি বন্ধ করতে চাইলে আঙুল সরিয়ে নিন"</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"ম্যাগনিফিকেশন চালু করা থাকলে, আপনি স্ক্রিনে জুম বাড়াতে পারবেন।\n\n"<b>"জুম করতে"</b>", ম্যাগনিফিকেশন চালু করে স্ক্রিনের যেকোনও জায়গায় ট্যাপ করুন।\n"<ul><li>"• স্ক্রল করতে ২ বা তার বেশি আঙ্গুল দিয়ে টানুন"</li>\n<li>"• জুম অ্যাডজাস্ট করতে ২ বা তার বেশি আঙ্গুল দিয়ে পিঞ্চ করুন"</li></ul>\n\n<b>"সাময়িকভাবে জুম করতে"</b>", ম্যাগনিফিকেশন চালু করে স্ক্রিনের যেকোনও জায়গায় টাচ করে ধরে থাকুন।\n"<ul><li>"• টেনে স্ক্রিনের বিভিন্ন জায়গায় সরান"</li>\n<li>"• জুম কমাতে স্ক্রিন থেকে আঙ্গুল তুলে নিন"</li></ul>\n\n"কীবোর্ড বা নেভিগেশন বারে আপনি জুম করতে পারবেন না।"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"অ্যাক্সেসিবিলিটি বোতাম ব্যবহার করে খোলা"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"ইঙ্গিতের মাধ্যমে খোলা"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"নতুন অ্যাক্সেসিবিলিটি ইঙ্গিত ব্যবহার করা"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"এই পরিষেবা চালু বা বন্ধ করতে, স্ক্রিনের নিচে অ্যাক্সেসিবিলিটি বোতামে<xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>ট্যাপ করুন।\n\nএকটি পরিষেবা থেকে অন্যটিতে যেতে, অ্যাক্সেসিবিলিটি বোতাম টাচ করে ধরে থাকুন।"</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"এই পরিষেবা চালু বা বন্ধ করতে, স্ক্রিনের নিচে থেকে উপরের দিকে দুটি আঙ্গুল দিয়ে সোয়াইপ করুন।\n\nএকটি পরিষেবা থেকে অন্যটিতে যেতে, দুটি আঙ্গুল দিয়ে উপরের দিকে সোয়াইপ করে ধরে থাকুন।"</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"এই পরিষেবা চালু বা বন্ধ করতে, স্ক্রিনের নিচে থেকে উপরের দিকে তিনটি আঙ্গুল দিয়ে সোয়াইপ করুন।\n\nএকটি পরিষেবা থেকে অন্যটিতে যেতে, তিনটি আঙ্গুল দিয়ে উপরের দিকে সোয়াইপ করে ধরে থাকুন।"</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"অ্যাক্সেসিবিলিটি পরিষেবা চালু বা বন্ধ করতে, স্ক্রিনের নিচে থেকে উপরের দিকে দুটি আঙ্গুল দিয়ে সোয়াইপ করুন।\n\nএকটি পরিষেবা থেকে অন্যটিতে যেতে, দুটি আঙ্গুল দিয়ে উপরের দিকে সোয়াইপ করে ধরে থাকুন।"</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"অ্যাক্সেসিবিলিটি পরিষেবা চালু বা বন্ধ করতে, স্ক্রিনের নিচে থেকে উপরের দিকে তিনটি আঙ্গুল দিয়ে সোয়াইপ করুন।\n\nএকটি পরিষেবা থেকে অন্যটিতে যেতে, তিনটি আঙ্গুল দিয়ে উপরের দিকে সোয়াইপ করে ধরে থাকুন।"</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"এই পরিষেবা চালু বা বন্ধ করতে, স্ক্রিনের নিচের দিকে অ্যাক্সেসিবিলিটি বোতামে <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> ট্যাপ করুন।\n\nএকটি পরিষেবা থেকে অন্যটিতে যেতে, অ্যাক্সেসিবিলিটি বোতাম টাচ করে ধরে থাকুন।"</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"এই পরিষেবা চালু বা বন্ধ করতে, স্ক্রিনের নিচে থেকে উপরের দিকে দুটি আঙ্গুল দিয়ে সোয়াইপ করুন।\n\nএকটি পরিষেবা থেকে অন্যটিতে যেতে, দুটি আঙ্গুল দিয়ে উপরের দিকে সোয়াইপ করে ধরে থাকুন।"</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"এই পরিষেবা চালু বা বন্ধ করতে, স্ক্রিনের নিচে থেকে উপরের দিকে তিনটি আঙ্গুল দিয়ে সোয়াইপ করুন।\n\nএকটি পরিষেবা থেকে অন্যটিতে যেতে, তিনটি আঙ্গুল দিয়ে উপরের দিকে সোয়াইপ করে ধরে থাকুন।"</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"অ্যাক্সেসিবিলিটি পরিষেবা চালু বা বন্ধ করতে, স্ক্রিনের নিচে থেকে উপরের দিকে দুটি আঙ্গুল দিয়ে সোয়াইপ করুন।\n\nএকটি পরিষেবা থেকে অন্যটিতে যেতে, দুটি আঙ্গুল দিয়ে উপরের দিকে সোয়াইপ করে ধরে থাকুন।"</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"অ্যাক্সেসিবিলিটি পরিষেবা চালু বা বন্ধ করতে, স্ক্রিনের নিচে থেকে উপরের দিকে তিনটি আঙ্গুল দিয়ে সোয়াইপ করুন।\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="2820923641553461297">"অ্যাক্সেসিবিলিটি বোতাম"</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>
+    <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8922102767509399352">"স্ক্রিনের একদম নিচে অ্যাক্সেসিবিলিটি বোতামে <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> ট্যাপ করুন"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"২টি আঙ্গুল দিয়ে স্ক্রিনের নিচ থেকে উপরের দিকে সোয়াইপ করুন"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"৩টি আঙ্গুল দিয়ে স্ক্রিনের নিচ থেকে উপরের দিকে সোয়াইপ করুন"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"ভলিউম কী কিছু সময় প্রেস করে রাখুন"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"১ সেকেন্ডের জন্য উভয় ভলিউম কী প্রেস করে ধরে রাখুন"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"ট্রিপল-ট্যাপ স্ক্রিন"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"ঝটপট স্ক্রিনে ৩ বার ট্যাপ করুন। এই শর্টকাট ব্যবহারের ফলে আপনার ডিভাইসের গতি কমে যেতে পারে।"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"উন্নত"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"অ্যাক্সেসযোগ্যতা বোতামটি <xliff:g id="SERVICE">%1$s</xliff:g> এর সাথে সেট করা আছে। ম্যাগনিফিকেশন ব্যবহার করার জন্য অ্যাক্সেসযোগ্যতা বোতামটি স্পর্শ করে টিপে ধরুন, তারপর ম্যাগনিফিকেশন বেছে নিন।"</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"অ্যাক্সেসিবিলিটি জেসচার <xliff:g id="SERVICE">%1$s</xliff:g>-এ সেট করা আছে। ম্যাগনিফিকেশন ব্যবহার করার জন্য, স্ক্রিনের নিচ থেকে দুটি আঙুল দিয়ে উপরের দিকে সোয়াইপ করুন এবং ধরে থাকুন। তার পরে ম্যাগনিফিকেশন বেছে নিন।"</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"ভলিউম কী শর্টকাট"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"শর্টকাট সার্ভিসগুলি"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"শর্টকাটের সেটিংস"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"লক স্ক্রিন থেকে অনুমতি নিন"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"যখন শর্টকাটটি চালু থাকবে, তখন দুটি ভলিউম বোতাম ৩ সেকেন্ডের জন্য চেপে ধরে রেখে আপনি কোনও অ্যাক্সেসযোগ্যতা বৈশিষ্ট্য চালু করতে পারেন।"</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"উচ্চ কনট্রাস্ট যুক্ত পাঠ্য"</string>
@@ -2149,24 +2157,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"যে মেসেজ আপনাকে অ্যাকশন নিতে বলবে সেই মেসেজ কতক্ষণ দেখা যাবে তা আপনি ঠিক করতে পারেন, তবে তা শুধুমাত্র সাময়িকভাবে দেখা যায়।\n\nসব অ্যাপ এই সেটিংসে কাজ করে না।"</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"স্পর্শ করে ধরে রাখায় বিলম্ব"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"রঙ বিলোমক্রিয়া"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"কার্য-সম্পাদনায় প্রভাব রাখতে পারে"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"দেখার সময়"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"বিপরীত রঙ ব্যবহার করুন"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"বিপরীত রঙে পরিবর্তনের ফিচার স্ক্রিনের হালকা রঙকে গাঢ় করে। এটি জোরালো আলোর প্রতি সংবেদনশীল ব্যক্তিকে আরও সহজে স্ক্রিনটি দেখতে সাহায্য করে।&lt;br/&gt;&lt;br/&gt;মনে রাখবেন: গাঢ় রঙ হালকা হয়ে যাবে। মিডিয়া এবং ছবিতে রঙ পরিবর্তিত হবে। এছাড়াও, আপনি গাঢ় থিম ব্যবহার করতে পারেন (সেটিংস &gt; ডিসপ্লে)।"</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"অটো ক্লিক(দেখার সময়টা)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"আপনি যদি মাউস ব্যবহার করেন তাহলে কার্সার এমনভাবে সেট করতে পারেন যাতে নির্দিষ্ট কিছুক্ষণ মাউস ব্যবহার করা না হলে নিজে থেকেই বিশেষ কোনও অ্যাকশন নেওয়া হয়।"</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"ক্লিক করার আগে বিলম্ব"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"অটো ক্লিক ব্যবহার করবেন না (ডিফল্ট)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"ছোট"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"০.২ সেকেন্ড"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"মাঝারি"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"০.৬ সেকেন্ড"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"দীর্ঘ"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"১ সেকেন্ড"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"কাস্টম"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"খুব কম"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"খুব বেশি"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"অটোমেটিক ক্লিক করার সময়"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"ভাইব্রেশন ও হ্যাপটিক মাত্রা"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"বিজ্ঞপ্তির ভাইব্রেশন"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"রিং ভাইব্রেশন"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"টাচ ফিডব্যাক"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"পরিষেবা ব্যবহার করুন"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g> ব্যবহার করুন"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g> খুলুন"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"কালার কারেকশন ব্যবহার করুন"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"ক্যাপশন ব্যবহার করুন"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"ক্যাপশন দেখুন"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"ক্যাপশন কেমন দেখাবে"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"টেক্সটের সাইজ, ক্যাপশনের স্টাইল"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"আরও বিকল্প"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"সমস্ত অ্যাপে এই সেটিংস কাজ করে না।"</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>
     <string name="accessibility_hearingaid_instruction_continue_button" msgid="3367260988024430722">"এগিয়ে যান"</string>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"হিয়ারিং এড"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"কোনও হিয়ারিং এড কানেক্ট করা নেই"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"হিয়ারিং এড যোগ করুন"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"আপনার হিয়ারিং এড পেয়ার করতে পরবর্তী স্ক্রিনে আপনার ডিভাইসটি খুঁজে নিয়ে ট্যাপ করুন।"</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"আপনার হিয়ারিং এডটি পেয়ারিং মোডে আছে কিনা তা দেখে নিন।"</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"আপনার হিয়ারিং এড পেয়ার করার জন্য, পরের স্ক্রিনে আপনার ডিভাইসটি খুঁজে নিয়ে ট্যাপ করুন। হিয়ারিং এড পেয়ারিং মোডে আছে কিনা দেখে নিন।"</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> চালু আছে"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g>টি সেভ করা হিয়ারিং এড</item>
@@ -2178,25 +2204,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"এই পরিষেবাটি ঠিকভাবে কাজ করছে না।"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"দ্রুত সেটিংসে দেখান"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"সংশোধন মোড"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="one">অত্যন্ত কম সময়ের ব্যবধানে (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> মিলি-সেকেন্ড)</item>
-      <item quantity="other">অত্যন্ত কম সময়ের ব্যবধানে (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> মিলি-সেকেন্ড)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"লাল-সবুজ"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"সবুজ-লাল"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"নীল-হলুদ"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"ডিউটারনোম্যালি"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"প্রোটানোম্যালি"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"ট্রিট্যানোম্যালি"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="one">খুবই অল্প সময়ের ব্যবধানে (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> সেকেন্ড)</item>
+      <item quantity="other">খুবই অল্প সময়ের ব্যবধানে (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> সেকেন্ড)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="one">খুব অল্প সময়ের ব্যবধানে (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> মিলি-সেকেন্ড)</item>
-      <item quantity="other">খুব অল্প সময়ের ব্যবধানে (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> মিলি-সেকেন্ড)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="one">খুব অল্প সময়ের ব্যবধানে (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> সেকেন্ড)</item>
+      <item quantity="other">খুব অল্প সময়ের ব্যবধানে (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> সেকেন্ড)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="one">অল্প সময়ের ব্যবধানে (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> মিলি-সেকেন্ড)</item>
-      <item quantity="other">অল্প সময়ের ব্যবধানে (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> মিলি-সেকেন্ড)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="one">অল্প সময়ের ব্যবধানে (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> সেকেন্ড)</item>
+      <item quantity="other">অল্প সময়ের ব্যবধানে (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> সেকেন্ড)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="one">দীর্ঘ সময়ের ব্যবধানে (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> মিলি-সেকেন্ড)</item>
-      <item quantity="other">দীর্ঘ সময়ের ব্যবধানে (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> মিলি-সেকেন্ড)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="one">দীর্ঘ সময়ের ব্যবধানে (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> সেকেন্ড)</item>
+      <item quantity="other">দীর্ঘ সময়ের ব্যবধানে (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> সেকেন্ড)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="one">অত্যন্ত দীর্ঘ সময়ের ব্যবধানে (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> মিলি-সেকেন্ড)</item>
-      <item quantity="other">অত্যন্ত দীর্ঘ সময়ের ব্যবধানে (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> মিলি-সেকেন্ড)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="one">খুব দীর্ঘ সময়ের ব্যবধানে (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> সেকেন্ড)</item>
+      <item quantity="other">খুব দীর্ঘ সময়ের ব্যবধানে (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> সেকেন্ড)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> সেকেন্ড</item>
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> সেকেন্ড</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"রিং <xliff:g id="SUMMARY_RING">%1$s</xliff:g>, বিজ্ঞপ্তি <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>, টাচ <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"রিং ও বিজ্ঞপ্তির আওয়াজ বন্ধ করা হল"</string>
@@ -2513,7 +2549,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"<xliff:g id="UNPLUGGED">%1$s</xliff:g> এর জন্য শেষ আনপ্ল্যাগ করার সময়"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"মোট ব্যবহার"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"রিফ্রেশ করুন"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"Android OS"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"মিডিয়াসার্ভার"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"অ্যাপ অপটিমাইজেশান"</string>
     <string name="battery_saver" msgid="7737147344510595864">"ব্যাটারি সেভার"</string>
@@ -2594,8 +2629,7 @@
     <string name="tts_play" msgid="2945513377250757221">"চালান"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"ক্রেডেনশিয়াল স্টোরেজ"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"স্টোরেজ থেকে ইনস্টল করুন"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"SD কার্ড থেকে ইনস্টল করুন"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"সার্টিফিকেট ইনস্টল করা"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"স্টোরেজ থেকে সার্টিফিকেট ইনস্টল করুন"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"এসডি কার্ড থেকে সার্টিফিকেট ইনস্টল করুন"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"ক্রেডেনশিয়াল সাফ করুন"</string>
@@ -2615,6 +2649,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"ক্রেডেনশিয়াল স্টোরেজ মুছে ফেলা হয়েছে।"</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"ক্রেডেনশিয়াল স্টোরেজ মুছে ফেলা যাবে না।"</string>
     <string name="usage_access_title" msgid="1580006124578134850">"ব্যবহারের অ্যাক্সেস যুক্ত অ্যাপ্স"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"CA সার্টিফিকেট"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"VPN ও অ্যাপ ব্যবহারকারী সার্টিফিকেট"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"ওয়াই-ফাই সার্টিফিকেট"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"আপনার গোপনীয়তা সুরক্ষিত নেই"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"এনক্রিপশনের জন্য ওয়েবসাইট, অ্যাপ ও VPN CA সার্টিফিকেট ব্যবহার করে। শুধুমাত্র বিশ্বস্ত প্রতিষ্ঠান থেকেই CA সার্টিফিকেট ইনস্টল করুন। \n\nCA সার্টিফিকেট ইনস্টল করলে, সার্টিফিকেটের মালিক আপনার ভিজিট করা ওয়েবসাইট বা ব্যবহার করা অ্যাপ থেকে পাসওয়ার্ড, মেসেজ বা ক্রেডিট কার্ডের বিবরণ অ্যাক্সেস করতে পারবে - এমনকি সেই তথ্য এনক্রিপ্ট করা থাকলেও।"</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"ইনস্টল করবেন না"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"তবে চাইলে ইনস্টল করুন"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"সার্টিফিকেট ইনস্টল করা হয়নি"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"আপদকালীন ডায়ালিং সিগন্যাল"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"জরুরি কল স্থাপন করা সময় কি ধরণের অ্যাক্টিভিটি করবে তা সেট করুন"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"ব্যাক-আপ"</string>
@@ -2642,10 +2684,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"নিস্ক্রিয় করুন এবং আনইনস্টল করুন"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"ডিভাইস প্রশাসক অ্যাপ"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"কোনো ডিভাইস প্রশাসক অ্যাপ উপলব্ধ নেই"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"ব্যক্তিগত"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"কর্মস্থল"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"এসএমএস ও কল লগে অ্যাক্সেস সীমাবদ্ধ করুন"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"শুধুমাত্র ডিফল্ট ফোন এবং মেসেজ পাঠানোর অ্যাপের এসএমএস ও কল লগ অ্যাক্সেস করার অনুমতি রয়েছে"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"কোনো বিশ্বস্ত এজেন্ট উপলব্ধ নেই"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"ডিভাইস প্রশাসক অ্যাপটি সক্রিয় করবেন?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"এই ডিভাইস প্রশাসক অ্যাপটি সক্রিয় করুন"</string>
@@ -2659,6 +2697,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"আপনার প্রশাসক অন্যান্য বিকল্পগুলিকে অক্ষম করেছেন"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"আরো বিশদ বিবরণ"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"বিজ্ঞপ্তির লগ"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"বিজ্ঞপ্তির ইতিহাস"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"আজ"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"স্নুজ করা হয়েছে"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"সম্প্রতি খারিজ করা হয়েছে"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="one"><xliff:g id="NUMBER_1">%d</xliff:g>টি বিজ্ঞপ্তি</item>
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g>টি বিজ্ঞপ্তি</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"রিংটোন ও ভাইব্রেট"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"নেটওয়ার্ক বিশদ বিবরণ"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"সমন্বয় সক্ষম করা আছে"</string>
@@ -3008,7 +3054,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"সীমাবদ্ধ"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"সীমাবদ্ধগুলি সরান"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"পিন পরিবর্তন করুন"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"বিজ্ঞপ্তিগুলি প্রদর্শন করুন"</string>
     <string name="help_label" msgid="2896538416436125883">"সহায়তা ও মতামত"</string>
     <string name="support_summary" msgid="1034146931237148885">"সহায়তা বিষয়ক নিবন্ধ, ফোন এবং চ্যাট, শুরু করার জন্য টিপ্স"</string>
     <string name="user_account_title" msgid="6389636876210834864">"সামগ্রীর জন্য অ্যাকাউন্ট"</string>
@@ -3033,6 +3078,14 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G কলিং"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"ভয়েস ও অন্যান্য কমিউনিকেশনের উন্নতি করতে LTE পরিষেবা ব্যবহার করুন (সাজেস্ট করা হয়েছে)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"ভয়েস ও অন্যান্য কমিউনিকেশনের উন্নতি করতে 4G পরিষেবা ব্যবহার করুন (সাজেস্ট করা হয়েছে)"</string>
+    <!-- no translation found for contact_discovery_opt_in_title (4076990635900099116) -->
+    <skip />
+    <!-- no translation found for contact_discovery_opt_in_summary (4104310593310967300) -->
+    <skip />
+    <!-- no translation found for contact_discovery_opt_in_dialog_title (6278407286820554079) -->
+    <skip />
+    <!-- no translation found for contact_discovery_opt_in_dialog_message (5787751513924920435) -->
+    <skip />
     <string name="preferred_network_type_title" msgid="812509938714590857">"পছন্দের নেটওয়ার্ক"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (প্রস্তাবিত)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"এমএমএস মেসেজ"</string>
@@ -3077,7 +3130,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"এর মাধ্যমে কল করুন"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"একটি সিম কার্ড বেছে নিন"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"সিম <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"সিম খালি"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"সিম এর নাম"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"সিম নাম লিখুন"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"সিম স্লট %1$d"</string>
@@ -3087,6 +3139,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"সিম কার্ড বেছে নিন"</string>
     <string name="color_orange" msgid="216547825489739010">"কমলা"</string>
     <string name="color_purple" msgid="6603701972079904843">"বেগুনী"</string>
+    <string name="color_pink" msgid="8596872110888626708">"গোলাপী"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"কোনো সিম কার্ড ঢোকানো নেই"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"সিম-এর স্ট্যাটাস"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"সিম স্ট্যাটাস (সিম স্লট %1$d)"</string>
@@ -3100,7 +3153,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"সিম কার্ডগুলি পরিবর্তন করা হয়েছে৷"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"সেট-আপ করার জন্য আলতো চাপুন"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"এর জন্য পছন্দসই সিম"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"প্রতিবার জিজ্ঞাসা করুন"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"নির্বাচন করার প্রয়োজন"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"সিম বেছে নেওয়া"</string>
@@ -3118,6 +3170,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"ব্লুটুথ, ড্রাইভিং মোড"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"ব্লুটুথ, এনএফসি"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"ব্লুটুথ"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"NFC বন্ধ থাকার জন্য উপলভ্য নেই"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"অ্যাপ ও বিজ্ঞপ্তি"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"সাম্প্রতিক অ্যাপ, ডিফল্ট অ্যাপ"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"কাজের প্রোফাইলে অ্যাপের জন্য বিজ্ঞপ্তি অ্যাক্সেস উপলভ্য নয়।"</string>
@@ -3128,13 +3181,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"সেটিংস"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"ওয়াই-ফাই, ওয়াই-ফাই, নেটওয়ার্ক কানেকশন, ইন্টারনেট, ওয়্যারলেস, ডেটা, ওয়াই-ফাই"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"ওয়াই-ফাই বিজ্ঞপ্তি, ওয়াই-ফাই বিজ্ঞপ্তি"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"ডেটার ব্যবহার"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"ট্যাপ ও কীবোর্ড ব্যবহার করার সময় ভাইব্রেশন বন্ধ করুন"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"২৪ ঘণ্টার ফর্ম্যাট ব্যবহার করুন"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"ডাউনলোড"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"এটি দিয়ে খুলুন"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"অ্যাপ্লিকেশন"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"টাইমজোন"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"চ্যাটের শীর্ষক"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"চ্যাটের শীর্ষক, সিস্টেম, সতর্কতা, ডায়ালগ, ডিসপ্লে, অন্য অ্যাপের উপরে, ড্র"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"ফ্ল্যাশলাইট, আলো, টর্চ"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"ওয়াইফাই, ওয়াই-ফাই, চালু বন্ধ, নিয়ন্ত্রণ"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"সেলুলার, মোবাইল, সেলুলার পরিষেবা প্রদানকারী, ওয়্যারলেস, ডেটা, 4g, 3g, 2g, lte"</string>
@@ -3158,7 +3212,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"বিরক্ত করবে না, বাধা দেওয়া, বাধা, বিরতি"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"আশেপাশে, লোকেশন, ইতিহাস, রিপোর্টিং, জিপিএস"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"অ্যাকাউন্ট"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"অ্যাকাউন্ট, অ্যাকাউন্ট যোগ করুন, অফিস প্রোফাইল, অ্যাকাউন্ট যোগ করুন"</string>
     <string name="keywords_users" msgid="3497517660077620843">"বাধানিষেধ, বাধানিষেধ আরোপ করা, বাধানিষেধযুক্ত"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"টেক্সট সংশোধন, সঠিক, শব্দ, স্পন্দন, স্বয়ং, ভাষা, ইঙ্গিত, প্রস্তাব, প্রস্তাবনা, থিম, আপত্তিজনক, শব্দ, লেখা, ইমোজি, আন্তর্জাতিক"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"আবার সেট করুন, পছন্দগুলি, ডিফল্ট"</string>
@@ -3196,6 +3250,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"মেমরি, ক্যাশে, ডেটা, মুছে ফেলা, পরিষ্কার করা, খালি, জায়গা"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"কানেক্ট, ডিভাইস, হেডফোন, হেডসেট, স্পিকার, ওয়্যারলেস, পেয়ার, মিউজিক, মিডিয়া"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"ব্যাকগ্রাউন্ড, স্ক্রিন, লকস্ক্রিন, থিম"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"আইকনের আকার, অ্যাকসেন্টের রঙ, ফন্ট"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"ডিফল্ট অ্যাসিস্ট্যান্ট"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"পেমেন্ট, ডিফল্ট"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"ইনকামিং বিজ্ঞপ্তি"</string>
@@ -3205,18 +3260,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"হ্যাপটিক, ভাইব্রেট, সংবেদনশীলতা"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"ব্যাটারি সেভার, স্টিকি, লেগে থাকা, পাওয়ার সেভার, ব্যাটারি"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"রুটিন, সময়সূচি, ব্যাটারি সেভার, পাওয়ার সেভার, ব্যাটারি, অটোমেটিক, শতাংশ"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"অফিসের প্রোফাইল"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"VoLTE, উন্নত কলিং, 4G কলিং"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"ভাষা যোগ করুন, কোনও একটি ভাষা যোগ করুন"</string>
     <string name="default_sound" msgid="6604374495015245195">"ডিফল্ট সাউন্ড"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"রিং ভলিউম <xliff:g id="PERCENTAGE">%1$s</xliff:g> তে রয়েছে"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"রিং ও বিজ্ঞপ্তির ভলিউম <xliff:g id="PERCENTAGE">%1$s</xliff:g>-এ সেট করা আছে"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"ভলিউম, ভাইব্রেশন, বিরক্ত করবে না"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"রিঙ্গারকে ভাইব্রেট অবস্থায় সেট করা হয়েছে"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"রিঙ্গারকে নীরব অবস্থায় সেট করা হয়েছে"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"রিং ভলিউম ৮০% তে রয়েছে"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"রিং ও বিজ্ঞপ্তির ভলিউম ৮০%-এ সেট করা আছে"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"মিডিয়া ভলিউম"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"কাস্টের ভলিউম"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"কলের ভলিউম"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"অ্যালার্মের ভলিউম"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"রিং ভলিউম"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"রিং ও বিজ্ঞপ্তির ভলিউম"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"বিজ্ঞপ্তির ভলিউম"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"ফোন রিংটোন"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"ডিফল্ট বিজ্ঞপ্তির সাউন্ড"</string>
@@ -3224,6 +3280,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"ডিফল্ট বিজ্ঞপ্তির সাউন্ড"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"ডিফল্ট অ্যালার্মের সাউন্ড"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"কল এলে ভাইব্রেশন"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"কল এলে কখনও ভাইব্রেট করবে না"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"কল এলে সর্বদাই ভাইব্রেট করতে থাকবে"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"প্রথমে ভাইব্রেট করবে এবং তারপরে রিঙ্গিংয়ের আওয়াজ ক্রমশ বাড়বে"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"অন্যান্য শব্দগুলি"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"ডায়াল প্যাডের টোনগুলি"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"স্ক্রিন লক হওয়ার শব্দ"</string>
@@ -3247,6 +3306,7 @@
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g>টি চালু করা আছে</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"বিরক্ত করবে না"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"শুধু গুরুত্বপূর্ণ লোকজন এবং অ্যাপ থেকে বিজ্ঞপ্তি পান"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"বিরক্তিকর কন্টেন্ট বন্ধ করা"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"\'বিরক্ত করবে না\' মোড চালু করুন"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"ব্যতিক্রম"</string>
@@ -3273,7 +3333,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"ভিজ্যুয়াল ব্যাঘাতগুলিকে ব্লক করুন"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"ভিজুয়াল সঙ্কেতগুলি চালু করুন"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"যখন \'বিরক্ত করবে না চালু\' থাকবে"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"যেসব বিজ্ঞপ্তি এলে আওয়াজ হয় সেগুলিকে অনুমতি দিন"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"বিজ্ঞপ্তি ব্লক করুন"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"বিজ্ঞপ্তি থেকে কোনও সাউন্ড হবে না"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"আপনার স্ক্রিনে বিজ্ঞপ্তি দেখতে পাবেন"</string>
@@ -3304,7 +3364,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"সাউন্ড এবং ভাইব্রেশন"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"সাউন্ড, ভাইব্রেশন এবং বিজ্ঞপ্তির যে চিহ্নগুলি দেখা যায় তার মধ্যে কয়েকটি"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"সাউন্ড, ভাইব্রেশন এবং বিজ্ঞপ্তির যে চিহ্নগুলি দেখা যায়"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"ফোনের মৌলিক অ্যাক্টিভিটি এবং স্ট্যাটাসের জন্য প্রয়োজনীয় বিজ্ঞপ্তি কখনও আড়াল করা হবে না"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"ফোনের সাধারণ অ্যাক্টিভিটি এবং স্ট্যাটাসের ব্যাপারে দেওয়া প্রয়োজনীয় বিজ্ঞপ্তিগুলি কখনও আড়াল করা হবে না।"</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"কোনওটিই নয়"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"অন্যান্য বিকল্প"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"যোগ করুন"</string>
@@ -3334,10 +3394,12 @@
       <item quantity="one"><xliff:g id="ON_COUNT">%d</xliff:g>টি সময়সূচী নিজে থেকে চালু হতে পারে</item>
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g>টি সময়সূচী নিজে থেকে চালু হতে পারে</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"ডিভাইস মিউট করুন কিন্তু কিছু ক্ষেত্রে সাউন্ডের অনুমতি দিন"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"ব্যতিক্রম"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"সময় ঠিক করুন"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"সবগুলি দেখুন"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"\'বিরক্ত করবে না\' মোড চালু থাকলেও এইসবের আওয়াজ শোনা যাবে"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"লোকজন"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"অ্যাপ"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"অ্যালার্ম ও বিভিন্ন বাধা"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"সময়সূচি"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"বিজ্ঞপ্তির আওয়াজ শোনা যাবে না"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"\'বিরক্ত করবে না\' মোড চালু থাকলে আপনি উপরে যে আইটেমগুলি ব্যতিক্রম হিসেবে চিহ্নিত করবেন সেগুলি ছাড়া বাকি সবকিছুর ক্ষেত্রে সাউন্ড এবং ভাইব্রেশন মিউট করা হবে।"</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"এগুলি ছাড়া সবকিছু মিউট করুন"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"মিউট করা আছে"</string>
@@ -3381,16 +3443,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"অ্যাডাপটিভ বিজ্ঞপ্তি"</string>
     <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_capabilities_actions_replies_title" msgid="4392470465646394289">"সাজেস্ট করা অ্যাকশন ও উত্তর"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"সাজেস্ট করা অ্যাকশন ও উত্তর অটোমেটিক দেখানো হয়"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"অতীতের বিজ্ঞপ্তি এবং স্নুজ করা বিজ্ঞপ্তি ট্র্যাক করার জন্য বিজ্ঞপ্তি ইতিহাস চালু করুন"</string>
+    <string name="notification_history" msgid="8663811361243456201">"বিজ্ঞপ্তির ইতিহাস"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"ইতিহাস চালু করুন"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"ইতিহাস বন্ধ করুন"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"বিজ্ঞপ্তি সংক্রান্ত ইতিহাস বন্ধ আছে"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"বিজ্ঞপ্তির সেটিংস দেখুন"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"বিজ্ঞপ্তি স্নুজ করার অনুমতি দিন"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"সাইলেন্ট মোডে বিজ্ঞপ্তির আইকন লুকিয়ে রাখুন"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"সাইলেন্ট মোডে বিজ্ঞপ্তির আইকন স্ট্যাটাস বারে দেখানো হয় না"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"একাধিক বিজ্ঞপ্তি ডট দেখাতে দিন"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"সাম্প্রতিক কথোপকথনের স্ট্রিপ দেখান"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"বাবল"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"কিছু বিজ্ঞপ্তি স্ক্রিনে বাবল হিসেবে দেখানো হতে পারে"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"কিছু বিজ্ঞপ্তি ও অন্যান্য কন্টেন্ট স্ক্রিনে বাবল হিসেবে দেখানো হতে পারে। বাবল খুলতে সেটিতে ট্যাপ করুন। খারিজ করতে সেটিকে স্ক্রিনের নিচের দিকে টেনে আনুন।"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"বাবল"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"নতুন মেসেজগুলি স্ক্রিনে দেখানো হবে"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"<xliff:g id="APP_NAME">%1$s</xliff:g> অ্যাপকে কিছু বিজ্ঞপ্তি বাবল হিসেবে দেখানোর অনুমতি দিন"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"বাবল চালু করুন"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"এই অ্যাপে বুদবুদ চালু করতে, প্রথমে আপনার ডিভাইসে চালু করতে হবে। এটা অন্য অ্যাপকেও প্রভাবিত করে যেখানে আগে বুদবুদ চালু করা ছিল।"</string>
@@ -3408,6 +3480,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"পুল-ডাউন শেড ও লক স্ক্রিনে দেখানো হয়"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"পুল-ডাউন শেড ও স্ট্যাটাস বারে দেখানো হয়"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"পুল-ডাউন শেড, স্ট্যাটাস বার ও লক স্ক্রিনে দেখানো হয়"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"স্ট্যাটাস বারে সাইলেন্ট বিজ্ঞপ্তি লুকান"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"মিটমিট করা আলো"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"লক স্ক্রিন"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"লক স্ক্রিন এড়িয়ে যান"</string>
@@ -3438,6 +3511,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"আচরণ"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"সাউন্ডের অনুমতি দিন"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"কখনোই বিজ্ঞপ্তগুলি দেখায় না"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"কথোপকথন"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"কথোপকথন"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"কোনও কথোপকথন নয়"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"কথোপকথন বিভাগ থেকে সরিয়ে দিন"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"এটি হল কথোপকথন"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"কথোপকথন বিভাগে যোগ করুন"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"কথোপকথন যোগ করুন"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"গুরুত্বপূর্ণ কথোপকথন"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"সমস্ত কথোপকথন"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"গুরুত্বপূর্ণ কথোপকথন বাবলে সেট করুন"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"পুল-ডাউন শেডের উপরে গুরুত্বপূর্ণ কথোপকথন দেখায়। আপনি এগুলি বাবলে সেট করতে পারেন এবং \'বিরক্ত করবেন না\' মোড থামাতে পারেন।"</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"নিঃশব্দে দেখুন এবং ছোট করুন"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"নিঃশব্দে দেখান"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"শব্দ করে"</string>
@@ -3456,7 +3540,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"সাউন্ড বা ভাইব্রেশন ছাড়া ফোকাস করতে সাহায্য করে"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"সাউন্ড বা ভাইব্রেশনের সাহায্যে দৃষ্টি আকর্ষণ করে"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"কোনও ডিভাইস আনলক করা হলে বিজ্ঞপ্তি, স্ক্রিনের উপরে একটি ব্যানার হিসেবে দেখানো হয়"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"বিজ্ঞপ্তি দেখুন"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"সমস্ত <xliff:g id="APP_NAME">%1$s</xliff:g> সংক্রান্ত বিজ্ঞপ্তি"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"অ্যাডাপটিভ বিজ্ঞপ্তি"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="one">~<xliff:g id="NUMBER_1">%d</xliff:g>টি বিজ্ঞপ্তি প্রতিদিন</item>
@@ -3477,6 +3561,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"অ্যাডাপটিভ বিজ্ঞপ্তি"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"কোনওটিই নয়"</string>
     <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="3119843404577399036">"<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>
@@ -3538,8 +3623,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"সম্পন্ন হয়েছে"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"গুরুত্ব"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"মিটমিট করা আলো"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"ভাইব্রেট"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"ভাইব্রেশন"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"সাউন্ড"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"গুরুত্বপূর্ণ"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"হোমে যোগ করুন"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"মুছুন"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"নাম বদলান"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"সময়সূচির নাম"</string>
@@ -3593,6 +3680,10 @@
       <item quantity="one">আরও <xliff:g id="NUM_PEOPLE">%d</xliff:g>টি</item>
       <item quantity="other">আরও <xliff:g id="NUM_PEOPLE">%d</xliff:g>টি</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"কথোপকথন"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"সমস্ত কথোপকথন থেকে পাওয়া"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"গুরুত্বপূর্ণ কথোপকথন থেকে পাওয়া"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"কোনও কথোপকথনকে অনুমতি দেবেন না"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"মেসেজের অনুমতি দিন"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"আপনার ডিভাইসে অনুমতি দেওয়া আছে এমন নম্বর থেকে মেসেজ এলে রিং বাজবে কিনা নিশ্চিত করতে সেটি রিং, ভাইব্রেশন অথবা মিউট মোডে আছে কিনা দেখে নিন।"</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"‘<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>’-এর জন্য ইনকামিং মেসেজ ব্লক করা হয়েছে। আপনার বন্ধুবান্ধব, পরিবারের সদস্য অথবা অন্য পরিচিতিরা যাতে আপনার সাথে যোগাযোগ করতে পারেন তার জন্য আপনি সেটিংস অ্যাডজাস্ট করে নিতে পারেন।"</string>
@@ -3606,15 +3697,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"কোনো কিছুই নয়"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"কলের অনুমতি দেবেন না"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"কোনও মেসেজের অনুমতি নেই"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"অ্যালার্ম বাজার অনুমতি দিন"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"অ্যালার্মগুলি"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"টাইমার, অ্যালার্ম, সিকিউরিটি সিস্টেম এবং অন্যান্য অ্যাপ থেকে"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"অ্যালার্ম"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"মিডিয়া সাউন্ড চালান"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"মিডিয়ার শব্দ"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"ভিডিও, গেম এবং অন্যান্য মিডিয়া থেকে"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"মিডিয়া"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"টাচ সাউন্ডের অনুমতি দিন"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"টাচ সাউন্ড"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"কীবোর্ড এবং অন্যান্য বোতাম থেকে"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"টাচ সাউন্ড"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"রিমাইন্ডারের অনুমতি দিন"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"রিমাইন্ডার"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"টাস্ক এবং রিমাইন্ডার থেকে"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"রিমাইন্ডার"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"ইভেন্টের অনুমতি দিন"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"ইভেন্টগুলি"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"ক্যালেন্ডারে শিডিউল করে রাখা ইভেন্ট থেকে"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"অ্যাপ ওভাররাইডের অনুমতি দিন"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"অ্যাপ এক্সেপশন"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3657,6 +3753,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"\'বিরক্ত করবে না\' দ্বারা নীরব করা বিজ্ঞপ্তিগুলিকে স্ক্রিন চালু করতে দিন"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"বিজ্ঞপ্তির সেটিংস"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"ঠিক আছে"</string>
+    <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>
@@ -3667,6 +3764,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"আনপিন করার আগে পিন চান"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"আনপিন করার আগে পাসওয়ার্ড চান"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"আনপিন করার সময় ডিভাইস লক করুন"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"সিম মুছে ফেলার বিষয়টি কনফার্ম করুন"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"ডাউনলোড করা সিম মুছে ফেলার আগে যাচাই করে নিন যে এটি আপনি"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"এর দ্বারা এই কাজের প্রোফাইলটি পরিচালিত হয়:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"<xliff:g id="ADMIN_APP_LABEL">%s</xliff:g> এর দ্বারা পরিচালিত"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(পরীক্ষামূলক)"</string>
@@ -3741,8 +3840,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"সমস্ত অ্যাপ্লিকেশন"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"ইনস্টল করা অ্যাপগুলি"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"ইনস্ট্যান্ট অ্যাপ"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"ব্যক্তিগত"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"কাজ"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"অ্যাপ: সমস্ত"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"বন্ধ করা আছে"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"বিভাগগুলি: জরুরী গুরুত্বের"</string>
@@ -3754,6 +3851,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"অজানা অ্যাপ্লিকেশান"</string>
     <string name="app_permissions" msgid="8666537659217653626">"অনুমতি ম্যানেজার"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"যে অ্যাপগুলি <xliff:g id="APPS">%1$s</xliff:g> ব্যবহার করছে"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"অ্যাপটি <xliff:g id="APPS">%1$s</xliff:g> এবং আরও অনেক কিছু ব্যবহার করছে"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"জাগাতে আলতো চাপুন"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"ডিভাইসকে জাগাতে স্ক্রিনের যেকোনও জায়গায় ডাবল-ট্যাপ করুন"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"লিঙ্ক খোলা"</string>
@@ -3765,9 +3863,14 @@
       <item quantity="one"><xliff:g id="COUNT">%d</xliff:g>টি অ্যাপ সমর্থিত লিঙ্কগুলি খুলছে</item>
       <item quantity="other"><xliff:g id="COUNT">%d</xliff:g>টি অ্যাপ সমর্থিত লিঙ্কগুলি খুলছে</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"এই অ্যাপ্লিকেশানটির মধ্যে খুলুন"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"সমর্থিত লিঙ্ক খোলার জন্য অ্যাপকে অনুমতি দিন"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"প্রতিবার জিজ্ঞাসা করুন"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"এই অ্যাপ্লিকেশানটির মধ্যে খুলবেন না"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"লিঙ্ক খোলার জন্য অ্যাপকে অনুমতি দেবেন না"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="one">অ্যাপ <xliff:g id="COUNT_1">%d</xliff:g>টি লিঙ্ক খুলতে চায়</item>
+      <item quantity="other">অ্যাপ <xliff:g id="COUNT_1">%d</xliff:g>টি লিঙ্ক খুলতে চায়</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"অ্যাপ নিম্নলিখিত লিঙ্ক খুলতে চায়:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"ডিফল্ট"</string>
     <string name="default_for_work" msgid="537558180548617528">"কর্মস্থলের জন্য ডিফল্ট"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"সহায়তা এবং ভয়েস ইনপুট"</string>
@@ -3911,8 +4014,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"অন্য অ্যাপের উপরে দেখুন"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"অন্য অ্যাপের উপর প্রদর্শিত হওয়ার অনুমতি দিন"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"আপনি অন্য যে সমস্ত অ্যাপ ব্যবহার করছেন, সেগুলির উপরে এই অ্যাপটিকে প্রদর্শিত হওয়ার অনুমতি দিন। এর ফলে বাকি অ্যাপগুলি ব্যবহারে ব্যাঘাত ঘটতে পারে এবং স্ক্রিনে সেগুলির উপস্থিতি অথবা আচরণে পরিবর্তন হতে পারে।"</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"সব ফাইলে অ্যাক্সেস"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"সব ফাইল ম্যানেজ করতে অ্যাক্সেস দিন"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"এই ডিভাইস অথবা এতে কানেক্ট রয়েছে এমন যেকোনও স্টোরেজের ভলিউমে থাকা সব ফাইল পড়তে, পরিবর্তন করতে এবং মুছতে এই অ্যাপকে অনুমতি দিন। অনুমতি দিলে এই অ্যাপ আপনাকে না জানিয়েই ফাইলগুলি অ্যাক্সেস করতে পারবে।"</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"সব ফাইল অ্যাক্সেস করতে পারে"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"ভার্চুয়াল রিয়েলিটিVR লিসনার স্টিরিও সহায়তাকারী পরিষেবা"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"সিস্টেম সতর্কতা উইন্ডো ডায়লগ অন্যান্য অ্যাপের উপরে দেখুন"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"অন্য অ্যাপের উপরে দেখুন"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"<xliff:g id="COUNT_1">%2$d</xliff:g>টির মধ্যে <xliff:g id="COUNT_0">%1$d</xliff:g>টি অ্যাপকে বাকিগুলির উপরে দেখতে পাওয়া যাবে"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"অনুমতি সহ অ্যাপ্লিকেশানগুলি"</string>
@@ -4078,6 +4184,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"<xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g> ব্যবহৃত হয়েছে"</string>
     <string name="data_overusage" msgid="3680477320458707259">"<xliff:g id="ID_1">^1</xliff:g> শেষ"</string>
     <string name="data_remaining" msgid="6316251496381922837">"<xliff:g id="ID_1">^1</xliff:g> বাকি আছে"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"<xliff:g id="START_DATE">%1$s</xliff:g> এবং <xliff:g id="END_DATE">%2$s</xliff:g>-এর ডেটা ব্যবহারের উপর গ্রাফ দেখানো হচ্ছে।"</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"এই সময়সীমার মধ্যে কোনও ডেটা নেই"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="one">%d দিন বাকি আছে</item>
       <item quantity="other">%d দিন বাকি আছে</item>
@@ -4141,14 +4249,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"পার্সেলের আকার"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"বিজ্ঞপ্তির সতর্ক"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"সাউন্ড"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"ভাইব্রেট"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"প্যাটার্ন"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"ডিফল্ট"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"চ্যানেল"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"কোনো কিছুই নয়"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"রেঙ্কিং অবজেক্ট অনুপস্থিত।"</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"রেঙ্কিং অবজেক্টে এই কী থাকে না।"</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"থিমিং"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"ডিভাইসের ডিফল্ট"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"ডিসপ্লে কাট-আউট"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"ডিসপ্লে কাট-আউট, নচ"</string>
@@ -4237,8 +4341,12 @@
     <string name="information_label" msgid="6939310810756569298">"তথ্য"</string>
     <string name="low_label" msgid="6525629096999711220">"কম করুন"</string>
     <string name="high_label" msgid="357503396626018487">"বাড়ান"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"সংবেদনশীলতা বাড়িয়ে দিলে যে কাজটি করতে চান সেটি না করে স্ক্রিনের বর্ডারে অ্যাপের জেসচার হিসেবে কাজ করতে পারে।"</string>
+    <string name="left_edge" msgid="1513576842959071849">"বাঁদিকের প্রান্ত"</string>
+    <string name="right_edge" msgid="1505309103265829121">"ডানদিকের প্রান্ত"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"সংবেদনশীলতা বেড়ে গেলে সেটি স্ক্রিনের প্রান্তে যেকোনও অ্যাপ জেসচারের সেটিংসকে ভালভাবে কাজ করতে দেয় না।"</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"আগের স্ক্রিনে ফিরে যাওয়ার সংবেদনশীলতা"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"জেসচার সেটিংস"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"জেসচার নেভিগেশন, ফিরে যাওয়ার সংবেদনশীলতা, ফিরে যাওয়ার জেসচার"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"ফোন চেক করতে ডাবল-ট্যাপ করুন"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"ট্যাবলেট চেক করতে ডাবল-ট্যাপ করুন"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"ডিভাইস চেক করতে ডাবল-ট্যাপ করুন"</string>
@@ -4393,7 +4501,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"ট্রিগার পরিষেবা প্রদানকারীর ব্যবস্থা"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"\'বিরক্ত করবে না\' মোডটি আপডেট করুন"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"যাতে বিরক্ত হতে না হয় তার জন্য বিজ্ঞপ্তি পজ করুন"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"এই বৈশিষ্ট্যটি এই ডিভাইসে উপলব্ধ নেই"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"ফিচারটি উপলভ্য নেই"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"এই ফিচারটি বন্ধ করা হয়েছে কারণ এটি আপনার ফোনের স্পিড কমিয়ে দেয়"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"GnssMeasurement সম্পূর্ণভাবে ট্র্যাক করুন"</string>
@@ -4403,20 +4510,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"ANGLE চালু আছে এমন অ্যাপ বেছে নিন"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"ANGLE চালু আছে এমন কোনও অ্যাপ্লিকেশন সেট নেই"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"ANGLE চালু আছে এমন অ্যাপ্লিকেশন: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"গেম ড্রাইভারের অভিরুচি"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"গেম ড্রাইভারের সেটিংস পরিবর্তন করুন"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"গেম ড্রাইভার চালু করা থাকলে, এই ডিভাইসে ইনস্টল করা অ্যাপের জন্য আপডেট করা গ্রাফিক্স ড্রাইভার বেছে নিতে পারেন।"</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"সব অ্যাপের জন্য চালু করুন"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"গ্রাফিক্স ড্রাইভার বেছে নিন"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"ডিফল্ট"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"গেম ড্রাইভার"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"আগে থেকে প্রকাশিত ড্রাইভার"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"সিস্টেম গ্রাফিক্স ড্রাইভার"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"গ্রাফিক্স ড্রাইভারের অভিরুচি"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"গ্রাফিক্স ড্রাইভার সেটিংস পরিবর্তন করুন"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"একাধিক গ্রাফিক্স ড্রাইভার থাকলে, এই ডিভাইসে ইনস্টল করা অ্যাপের জন্য আপডেট করা গ্রাফিক্স ড্রাইভার বেছে নিতে পারেন।"</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"সব অ্যাপের জন্য চালু করুন"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"গ্রাফিক্স ড্রাইভার বেছে নিন"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"ডিফল্ট"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"গেম ড্রাইভার"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"ডেভেলপার ড্রাইভার"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"সিস্টেম গ্রাফিক্স ড্রাইভার"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"ডিভাইসে অ্যাপ মানানসই করা সম্পর্কিত পরিবর্তন"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"অ্যাপ মানানসই করা সম্পর্কিত পরিবর্তন টগল করুন"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"ডিফল্ট হিসেবে চালু করা পরিবর্তন"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"ডিফল্ট হিসেবে বন্ধ করে দেওয়া পরিবর্তন"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"এই ফোনে সেটিং সমর্থিত নয়"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"এই ট্যাবলেটে সেটিং সমর্থিত নয়"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"এই ডিভাইসে সেটিং সমর্থিত নয়"</string>
@@ -4435,6 +4548,12 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"ডিভাইস"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"কলের সময় অনুপলভ্য"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"অনুপলভ্য"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"আউটপুট যোগ করুন"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"গ্রুপ"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"১টি ডিভাইস বেছে নেওয়া হয়েছে"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g>টি ডিভাইস বেছে নেওয়া হয়েছে"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"এতে কথা বলুন:"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"এই APN পরিবর্তন করা যাবে না।"</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"ট্যাবলেটের ব্যাটারি আরও বেশিক্ষণ চালান"</string>
@@ -4552,10 +4671,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"যেকোনও সময় শুধুমাত্র একটি ডাউনলোড করা সিম কাজ করবে।\n\n<xliff:g id="CARRIER1">%1$s</xliff:g> পাল্টালে <xliff:g id="CARRIER2">%2$s</xliff:g>-এর পরিষেবা বাতিল হয়ে যাবে না।"</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"<xliff:g id="CARRIER">%1$s</xliff:g>-এ পাল্টান"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"সিম মুছে ফেলুন"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"এই ডাউনলোড করা সিম মুছে ফেলতে চান?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"সিম মুছে দিলে এই ডিভাইসে <xliff:g id="CARRIER_0">%1$s</xliff:g>-এর পরিষেবা আর পাওয়া যাবে না।\n\n<xliff:g id="CARRIER_1">%2$s</xliff:g>-এর পরিষেবা কিন্তু বাতিল হবে না।"</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"মুছুন"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"সিম মোছা হচ্ছে…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"সিম মোছা যাচ্ছে না"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"কোনও সমস্যার জন্য এই সিম মোছা যাচ্ছে না।\n\nআপনার ডিভাইস আবার চালু করে চেষ্টা করুন।"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"পছন্দের নেটওয়ার্ক"</string>
@@ -4580,7 +4695,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"ভুল নেটওয়ার্ক মোড <xliff:g id="NETWORKMODEID">%1$d</xliff:g>। এড়িয়ে যান।"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"অ্যাক্সেস পয়েন্টের নাম"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"<xliff:g id="CARRIER">%1$s</xliff:g>-এ কনেক্ট থাকলে উপলভ্য থাকে না"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"চিকিৎসা সংক্রান্ত তথ্য, আপতকালীন যোগাযোগ"</string>
     <string name="see_more" msgid="7499355691042812723">"আরও দেখুন"</string>
     <string name="see_less" msgid="2642392725363552793">"কম দেখুন"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"<xliff:g id="APPNAME">%1$s</xliff:g> ব্যবহার করা যাবে এমন ডিভাইস"</string>
@@ -4589,11 +4703,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"কোনও সমস্যা হয়েছে। ডিভাইস বেছে নেওয়ার আবেদনটি এই অ্যাপ্লিকেশনের মাধ্যমে বাতিল করা হয়েছে।"</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"কানেক্ট করা হয়েছে"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"সব দেখুন"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g>টি ডিভাইস কানেক্ট করা হয়েছে</item>
-      <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g>টি ডিভাইস কানেক্ট করা হয়েছে</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"কোনও ব্লুটুথ ডিভাইস নেই"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"ডিভাইস সার্চ করা হচ্ছে…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"ডিভাইসে কানেক্ট করা হচ্ছে…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"বাঁদিক"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"ডান"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"কেস"</string>
@@ -4603,6 +4714,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"বিমান মোডে উপলভ্য নয়"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"ফোর্স ডেস্কটপ মোড"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"সেকেন্ডারি ডিসপ্লেতে ফোর্স এক্সপেরিমেন্টাল ডেস্কটপ মোড চালু করা আছে"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"সাইজ দিয়ে কম্প্রেস করা থেকে ফ্রি-ফর্ম-মোডে চালু করুন"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"সাইজ অনুযায়ী কম্প্রেস করে রাখা অ্যাপগুলিকে ফ্রি-ফর্ম মোডে চালু করুন"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"ফোর্স-ডার্ক ফিচার ওভাররাইড করুন"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"ফোর্স-ডার্ক ফিচার চালু রাখার জন্য ওভাররাইড করা হয়"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"গোপনীয়তা"</string>
@@ -4639,6 +4752,10 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"এই অ্যাপ আপনি সম্প্রতি ইনস্টল করেছেন।"</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"আউটপুট পরিবর্তন করুন"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>-এ চালানো হচ্ছে"</string>
+    <!-- no translation found for media_output_disconnected_status (5567111639832431865) -->
+    <skip />
+    <!-- no translation found for media_output_switch_error_text (603563475910236831) -->
+    <skip />
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"গুরুত্বপূর্ণ তথ্য"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"চালিয়ে যান"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"না থাক"</string>
@@ -4666,8 +4783,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"সিম কম্বিনেশন"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"অফিসের নীতি সংক্রান্ত তথ্য"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"আইটি অ্যাডমিন সেটিংস ম্যানেজ করে"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"সমস্যার রিপোর্টের পরিচালক"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"আপনার ডিভাইসে কোন অ্যাপটি সমস্যার রিপোর্টের শর্টকাট পরিচালনা করবে তা নির্ধারণ করে।"</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"ব্যক্তিগত"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"অফিস"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"সিস্টেম ডিফল্ট"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"এই বিকল্পটি আর কাজ করবে না। আবার চেষ্টা করে দেখুন।"</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"কাস্ট করা বন্ধ করুন"</string>
 </resources>
diff --git a/res/values-bs/arrays.xml b/res/values-bs/arrays.xml
index 365473e..aceeb2a 100644
--- a/res/values-bs/arrays.xml
+++ b/res/values-bs/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"Odmah"</item>
     <item msgid="463591454172790676">"5 sekundi"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"Ne potvrđuj valjanost"</item>
+    <item msgid="5703177653586269306">"Zatraži status potvrde"</item>
+    <item msgid="326388247868439528">"Zahtijevaj status potvrde"</item>
+    <item msgid="1090956283885790552">"Zahtijevaj statuse svih nepouzdanih potvrda"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"Pritisnite dugme"</item>
     <item msgid="2630618799033509548">"PIN ravnopravnog uređaja"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"Nema"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"IPSec VPN sa pre-shared lozinkama i Xauth autentifikacijom"</item>
     <item msgid="2484564813864139237">"IPSec VPN sa certifikatima i Xauth autentifikacijom"</item>
     <item msgid="68918911194507915">"IPSec VPN sa certifikatima i hibridnom autentifikacijom"</item>
+    <item msgid="4631647675167100375">"IKEv2/IPSec VPN s potvrdama i autentifikacijom putem korisničkog imena/lozinke"</item>
+    <item msgid="8812228622975052811">"IKEv2/IPSec VPN s unaprijed dijeljenim ključevima"</item>
+    <item msgid="6630554779981113046">"IKEv2/IPSec VPN s potvrdama"</item>
   </string-array>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"Nema"</item>
diff --git a/res/values-bs/config.xml b/res/values-bs/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-bs/config.xml
+++ b/res/values-bs/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-bs/strings.xml b/res/values-bs/strings.xml
index 11d96af..7bd1ead 100644
--- a/res/values-bs/strings.xml
+++ b/res/values-bs/strings.xml
@@ -32,49 +32,17 @@
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Prvo omogućite opcije za programere."</string>
     <string name="header_category_wireless_networks" msgid="303445626075235229">"Bežična veza i mreže"</string>
     <string name="header_category_system" msgid="1665516346845259058">"Sistem"</string>
-    <string name="radio_info_data_connection_enable" msgid="7500945447906187613">"Omogućite vezu za prijenos podataka"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"Onemogućite podatkovnu mrežu"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"VoLTE omogućen"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"Video poziv obezbijeđen"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"WiFi poziv obezbijeđen"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"EAB/Omogućeno prisustvo"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"Cbrs podaci"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"Omogući DSDS"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"Ponovo pokrenuti uređaj?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"Da promijenite ovu postavku, trebate ponovo pokrenuti uređaj."</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"Ponovo pokreni"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"Otkaži"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"Snaga mobilnog radija"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"Prikaži SIM adresar"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"Prikaži brojeve fiksnog biranja"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"Prikaži brojeve biranja usluga"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"Status IMS usluge"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"Status za IMS"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"Registrirano"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"Nije registrirano"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"Dostupno"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"Nedostupno"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"IMS registracija: <xliff:g id="STATUS">%1$s</xliff:g>\nGovor putem LTE mreže: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nGovor putem WiFi mreže: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideo pozivanje: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT interfejs: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"Aktivan"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Ne radi"</string>
     <string name="radioInfo_service_emergency" msgid="6838935881091760942">"Samo pozivi za hitne slučajeve"</string>
     <string name="radioInfo_service_off" msgid="6184928420860868571">"Radio je isključen"</string>
     <string name="radioInfo_roaming_in" msgid="8892550453644088692">"Roming"</string>
     <string name="radioInfo_roaming_not" msgid="3137594549464975054">"Nije u romingu"</string>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"U stanju mirovanja"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"Zvonjava"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"Poziv je u toku"</string>
     <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_unknown" msgid="2892562356748600367">"Nepoznato"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"paketi"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"bajtova"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</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>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"Izbriši USB pohranu"</string>
@@ -84,7 +52,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"Smanjite ili povećajte tekst na ekranu."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Napravi manji"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Napravi veći"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"Uzorak teksta"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"Čarobnjak iz Oza"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"Poglavlje 11: Smaragdni grad Oz"</string>
@@ -175,9 +142,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"Da promijenite ovu postavku, treba ponovo pokrenuti uređaj."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"Pokreni opet"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"Otkaži"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"Dostupni mediji"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"Dostupni uređaji za pozivanje"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"Trenutno povezano"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"Uređaji za medije"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"Uređaji za pozive"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"Drugi uređaji"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Sačuvani uređaji"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth će se uključiti za uparivanje"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Postavke veze"</string>
@@ -210,46 +177,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"Uneseni port nije važeći."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"Preglednik koristi HTTP proksi, ali ga druge aplikacije ne mogu koristiti."</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"URL za PAC: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"Trenutni pomoćni ID:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"Pomoćni ID za zadani podatkovni SIM:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"DL propusnost (kbps):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"UL propusnost (kbps):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"Informacije o lokaciji ćelije (zastarjele):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"Konfiguracija LTE fizičkog kanala:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"Interval osvježavanja informacija o ćeliji"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"Sve informacije o mjerenju ćelije"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"Prijenos podataka:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"Roming:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"Preusmjeravanje poziva:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"Broj vraćanja PPP na početne vrijednosti od posljednjeg pokretanja:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"Trenutna mreža:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"Primljeni podaci:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"Govorna usluga:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"Jačina signala:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"Status glasovnog poziva:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"Poslani podaci:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"Poruka na čekanju:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"Broj telefona:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"Odaberite radijski opseg"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"Tip glasovne mreže:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"Tip podatkovne mreže:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"Odaberite indeks telefona"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"Postavite preferiranu vrstu mreže:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"Pinguj ime računara (www.google.com) IPv4:"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"Pinguj ime računara (www.google.com) IPv6:"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"Test HTTP klijenta:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"Pokreni ping test"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"Ažuriraj"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"Osvježi"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"Prebaci provjeru DNS-a"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"OEM-specifične informacije/postavke"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"Postavite način radijskog opsega"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"Učitavanje popisa opsega…"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"Postavi"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"Neuspješno"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"Uspješno"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"Promjene stupaju na snagu kada se ponovo poveže USB kabl."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"Omogući USB masovnu pohranu"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"Ukupno bajtova:"</string>
@@ -287,10 +218,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"Pomjeri na dno"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"Ukloni jezik"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"Odaberite aktivnost"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"Informacije o uređaju"</string>
     <string name="display_label" msgid="3056320781191343221">"Ekran"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"Informacije o tabletu"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"Informacije o telefonu"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"USB pohrana"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"SD kartica"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"Postavke proksija"</string>
@@ -308,9 +236,6 @@
     <string name="airplane_mode" msgid="3196085857882526817">"Način rada u avionu"</string>
     <string name="wireless_networks_settings_title" msgid="8557542379234105369">"Bežična veza i mreže"</string>
     <string name="radio_controls_summary" msgid="9028430178697624501">"Upravljanje značajkama Wi-Fi, Bluetooth, način rada u zrakoplovu, mobilne mreže i VPN-ovi"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"Prijenos podataka na mobilnoj mreži"</string>
-    <string name="calls_title" msgid="6334813967619899114">"Dozvoli pozive"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"SMS poruke"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"Dopusti prijenos podataka mobilnom mrežom"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"Dozvoli prijenos podataka u romingu"</string>
     <string name="roaming" msgid="3055365654530847985">"Roming"</string>
@@ -318,9 +243,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"Povezivanje na usluge prijenosa podataka u romingu"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"Ostali ste bez veze za prijenos podataka jer ste napustili matičnu mrežu dok je roming podataka isključen."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"Uključi"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"Može doći do značajnih troškova."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"Ako dozvolite prijenos podataka u romingu, može doći do značajnih troškova rominga!\n\nOva postavka utiče na sve korisnike na ovom tabletu."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"Kada dozvolite podatkovni roming mogu nastati značajni troškovi !\n\nOva postavka se odnosi na sve korisnike telefona."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"Mogući su troškovi za roming."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"Kada dozvolite prijenos podataka u romingu, mogući su troškovi za roaming.\n\nOva postavka utiče na sve korisnike ovog tableta."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"Kada dozvolite prijenos podataka u romingu, mogući su troškovi za roaming.\n\nOva postavka utiče na sve korisnike ovog telefona."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"Dozvoliti roming podataka?"</string>
     <string name="networks" msgid="5184501333492775095">"Izbor operatera"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"Odaberite operatera"</string>
@@ -361,8 +286,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"Onemogućio administrator"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"Prikaži opciju zaključavanja"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"Prikaz opcije dugmeta za uključivanje koja isključuje Smart Lock, biometrijsko otključavanje i obavještenja na zaključanom ekranu."</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"Pouzdani agenti produžuju otključavanje"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"Ako je omogućeno, pouzdani agenti će vaš uređaj držati otključanim duže, ali ne mogu otključati zaključan uređaj."</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"Zaključan ekran kad nema pouzdanosti"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"Ako je omogućeno, uređaj će se zaključati kad zadnji pouzdani agent više ne bude pouzdan"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"Ništa"</string>
@@ -393,7 +316,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"Postavite Moju lokaciju, otključavanje ekrana, zaključavanje SIM kartice, zaključavanje pohrane akreditiva"</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"Postavite Moju lokaciju, otključavanje ekrana, zaključavanje pohrane akreditiva"</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"Privatnost"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"Onemogućio administrator"</string>
+    <string name="disabled_by_administrator_summary" msgid="5424846182313851124">"Nije dostupno"</string>
     <string name="security_status_title" msgid="6958004275337618656">"Sigurnosni status"</string>
     <string name="security_dashboard_summary_face" msgid="4198949293847206382">"Zaključavanje ekrana, otključavanje licem"</string>
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Zaključavanje ekrana, otisak prsta"</string>
@@ -701,7 +624,6 @@
       <item quantity="few">Ukupan broj cifara mora biti manji od <xliff:g id="NUMBER_1">%d</xliff:g></item>
       <item quantity="other">Ukupan broj cifara mora biti manji od <xliff:g id="NUMBER_1">%d</xliff:g></item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"Mora sadržavati isključivo cifre 0-9."</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"Administrator uređaja ne dozvoljava korištenje nedavnog PIN-a"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"Vaš IT administrator je blokirao česte PIN kôdove. Probajte drugi PIN kôd."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"Ne može sadržavati nevažeći znak"</string>
@@ -738,6 +660,11 @@
       <item quantity="few">Mora sadržavati najmanje <xliff:g id="COUNT">%d</xliff:g> znaka koja nisu slova</item>
       <item quantity="other">Mora sadržavati najmanje <xliff:g id="COUNT">%d</xliff:g> znakova koji nisu slova</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="one">Mora sadržavati najmanje <xliff:g id="COUNT">%d</xliff:g> znak koji nije broj</item>
+      <item quantity="few">Mora sadržavati najmanje <xliff:g id="COUNT">%d</xliff:g> znaka koji nisu brojevi</item>
+      <item quantity="other">Mora sadržavati najmanje <xliff:g id="COUNT">%d</xliff:g> znakova koji nisu brojevi</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"Administrator uređaja ne dozvoljava korištenje nedavne lozinke"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"Vaš IT administrator je blokirao česte lozinke. Probajte drugu lozinku."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"Nije dozvoljen rastući, opadajući ili ponavljajući niz cifara"</string>
@@ -853,19 +780,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2,4 GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"Prijava"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"Otvori web lokaciju"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"Još <xliff:g id="REMAINING_TIME">%1$s</xliff:g>"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"Ističe <xliff:g id="EXPIRY_TIME">%1$s</xliff:g>"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"Dodirnite ovdje za prijavu na mrežu"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"<xliff:g id="REQUESTER">%s</xliff:g> želi uključiti WiFi"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"<xliff:g id="REQUESTER">%s</xliff:g> želi isključiti WiFi"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"Potvrdi bajtni kôd aplikacija iz kojih se mogu uklanjati greške"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Dopustite ART-u da potvrdi bajtni kôd za aplikacije iz kojih se mogu uklanjati greške"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"Prikaži brzinu osvježav."</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Prikaz trenutne brzine osvježavanja ekrana"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"Dopusti razmjenu podataka kada tablet dodirne drugi uređaj"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"Omogućavanje razmjene podataka kada telefon dodirne drugi uređaj"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"Omogućavanje razmjene podataka kada tablet dodirne NFC uređaj"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"Omogućavanje razmjene podataka kada telefon dodirne NFC uređaj"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"Uključite NFC"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"NFC razmjenjuje podatke između ovog i drugih uređaja ili ciljeva u blizini, kao što su terminali za plaćanje, čitači pristupa i interaktivni oglasi ili oznake."</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"Osiguraj NFC"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Zahtijevaj otključavanje uređaja za NFC"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"Dozvoli NFC plaćanje i korištenje u javnom prijevozu samo kada je ekran otključan"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"Spremno za prijenos sadržaja aplikacije putem NFC-a"</string>
@@ -939,8 +872,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Uključi"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Skeniranje WiFi mreže je isključeno"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Napredne opcije"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"Padajući spisak Naprednih opcija. Kliknite dvaput za sužavanje spiska."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"Padajući spisak Naprednih opcija. Kliknite dvaput za proširenje."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Padajuća lista Naprednih opcija"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"proširivanje"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"Naziv mreže"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"Unesite SSID"</string>
     <string name="wifi_security" msgid="9095934643631406913">"Sigurnost"</string>
@@ -950,6 +883,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"Status"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"Brzina prijenosa veze"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"Primite info. o brzini veze"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"Brzina veze"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"Frekvencija"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"IP adresa"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"Sačuvano pomoću"</string>
@@ -957,6 +891,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"EAP metoda"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"Autentifikacija Faza 2"</string>
     <string name="wifi_eap_ca_cert" msgid="8033404008276298886">"CA certifikat"</string>
+    <string name="wifi_eap_ocsp" msgid="8713933962516871238">"Status online potvrde"</string>
     <string name="wifi_eap_domain" msgid="8304301470752333203">"Domena"</string>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"Korisnički certifikat"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"Identitet"</string>
@@ -973,6 +908,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"Odaberite barem jedan frekvencijski pojas za Wi‑Fi pristupnu tačku:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"IP postavke"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"Privatnost"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"Pretplata"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"Pregledajte ili promijenite pretplatu"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"Nasumično odabrani MAC"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"Dodajte uređaj"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"Centrirajte QR kôd ispod da uređaj dodate na mrežu “<xliff:g id="SSID">%1$s</xliff:g>”"</string>
@@ -982,12 +919,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"Dijeljenje WiFi mreže"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"Skenirajte ovaj QR kôd da se povežete na mrežu “<xliff:g id="SSID">%1$s</xliff:g>” i dijelite lozinku"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"Skenirajte ovaj QR kôd da se povežete na mrežu “<xliff:g id="SSID">%1$s</xliff:g>”"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"Očivatanje QR kôda nije uspjelo. Centrirajte kôd i pokušajte ponovo"</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"Pokušajte ponovo. Ako se problem ne riješi, kontaktirajte proizvođača uređaja"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"Nešto nije uredu"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"Provjerite je li uređaj priključen, napunjen i uključen"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"Provjerite je li uređaj priključen, napunjen i uključen. Ako se problem ne riješi, kontaktirajte proizvođača uređaja"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"Ovaj uređaj ne podržava dodavanje mreže“<xliff:g id="SSID">%1$s</xliff:g>”"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"Pokušajte približiti uređaj WiFi pristupnoj tački/ruteru"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"Provjerite lozinku i pokušajte ponovo"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"Kontaktirajte proizvođača uređaja"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"Provjerite vezu i pokušajte ponovo"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"Odaberite mrežu"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"Za povezivanje uređaja, odaberite mrežu"</string>
@@ -1000,11 +939,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"Dijeljenje WiFi mreže s ovim uređajem…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"Povezivanje…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"Dijeljenje pristupne tačke"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"Potvrdite da ste to vi"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"Potvrdite svoj identitet"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"Lozinka WiFi mreže: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"Lozinka pristupne tačke: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"Automatsko povezivanje"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"Dozvoli telefonu da se automatski poveže kada je u blizini ove mreže"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"Dozvoli tabletu da se automatski poveže kada je u blizini ove mreže"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"Dodajte uređaj"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"Dodajte uređaj na ovu mrežu pomoću QR koda"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"Format QR koda nije važeći"</string>
     <string name="retry" msgid="7542103800274026915">"Pokušaj ponovo"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"Dijeli s ostalim korisnicima uređaja"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(nepromijenjeno)"</string>
@@ -1016,6 +959,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"Nije naveden certifikat. Veza neće biti privatna."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"Naziv mreže je predug."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"Morate navesti domenu."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"Potrebna je potvrda."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"WPS dostupan"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (WPS dostupan)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"WiFi mreža mobilnog operatera"</string>
@@ -1070,7 +1014,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"Napredni WiFi"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"MAC adresa"</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_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>
@@ -1122,7 +1067,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"Koristite pristupnu tačku da kreirate Wi‑Fi mrežu za ostale svoje uređaje. Pristupna tačka pruža internet koristeći vašu vezu za prijenos podataka na mobilnoj mreži. Mogu nastati dodatni troškovi prijenosa mobilnih podataka."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"Aplikacije mogu kreirati pristupnu tačku za dijeljenje sadržaja s uređajima u blizini."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Automatski isključi pristupnu tačku"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"WiFi pristupna tačka će se isključiti ako nijedan uređaj nije povezan"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Kada nijedan uređaj nije povezan"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"Uključivanje pristupne tačke…"</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"Isključivanje pristupne tačke…"</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> je aktivna"</string>
@@ -1131,6 +1076,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"Postavke WiFi pristupne tačke"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"AndroidAP WPA2 PSK pristupna tačka"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"Android pristupna tačka"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"Sačuvati ovu mrežu?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"<xliff:g id="APPNAME">%1$s</xliff:g> želi sačuvati mrežu na vaš telefon"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"<xliff:g id="APPNAME">%1$s</xliff:g> želi sačuvati mrežu na vaš tablet"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"Pohranjivanje…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"Sačuvano"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"Nije moguće sačuvati. Pokušajte ponovo."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"Sačuvati mreže?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"<xliff:g id="APPNAME">%1$s</xliff:g> želi sačuvati ove mreže na vaš telefon"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"<xliff:g id="APPNAME">%1$s</xliff:g> želi sačuvati ove mreže na vaš tablet"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"Čuvanje mreža (<xliff:g id="NUMBER">%d</xliff:g>)…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"Mreže su sačuvane"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"Pozivanje putem WiFi-ja"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"Proširite mogućnost pozivanja s Wi‑Fi-jem"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"Uključite pozivanje putem Wi‑Fi-ja za veću pokrivenost"</string>
@@ -1157,16 +1113,18 @@
     <string name="emergency_address_title" msgid="3490633500025717573">"Adresa za hitne slučajeve"</string>
     <string name="emergency_address_summary" msgid="3022628750270626473">"Koristi se kao vaša lokacija prilikom hitnog poziva putem Wi‑Fi mreže"</string>
     <string name="private_dns_help_message" msgid="851221502063782306"><annotation id="url">"Saznajte više"</annotation>" o funkcijama Privatnog DNS-a"</string>
+    <string name="private_dns_mode_on" msgid="8878679071975375696">"Uključeno"</string>
     <string name="wifi_calling_pref_managed_by_carrier" msgid="129524064888622179">"Postavkom upravlja mobilni operater"</string>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"Aktivirajte pozivanje putem WiFi-ja"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"Uključite pozivanje putem WiFi-ja"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"Pozivanje putem WiFi-ja nije podržano za mobilnog operatera %1$s"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"Prekinuta je veza s mrežom <xliff:g id="SSID">%1$s</xliff:g>"</string>
     <string name="carrier" msgid="1755020806290963951">"Mobilni operater"</string>
     <string name="display_settings_title" msgid="626835071804834218">"Prikaz"</string>
     <string name="sound_settings" msgid="5514582720435174014">"Zvuk"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"Jačine zvuka"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"Muzički efekti"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"Jačina zvuka zvona"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"Zvuk zvona i obavještenja"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"Vibriraj u nečujnom načinu rada"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"Zadani zvuk obavještenja"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"Melodija zvona"</string>
@@ -1291,13 +1249,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"Zakaži"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"Nikada"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"Uključeno od sumraka do svitanja"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"Uključuje se u zadano vrijeme"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"Status"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"Isključeno / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"Neće se nikada automatski uključiti"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"Automatski će se uključiti u sumrak"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"Automatski će se uključiti u <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"Uključeno / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"Neće se nikada automatski isključiti"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"Automatski će se isključiti u svitanje"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"Automatski će se isključiti u <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"Uključi do <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"Isključi do <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"Tamna tema koristi crnu pozadinu da bi se trajanje baterije produžilo na nekim ekranima. Tamna tema zakazuje čekanje uključivanja dok se ekran ne isključi."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"Istek vremena ekrana"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"Ekran se isključuje"</string>
@@ -1309,7 +1272,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"Promijenite pozadinsku sliku"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"Prilagodite svoj ekran"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"Odabir pozadinske slike iz"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"Prilagodite svoj Pixel"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"Prilagodite telefon"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"Isprobajte različite stilove, pozadinske slike i još mnogo toga"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"Čuvar ekrana"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Tokom punjenja ili kada je na priključnoj stanici"</string>
@@ -1399,6 +1362,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"Deaktiviraj USB pohranu, prikaži dostupnu pohranu"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"Deaktiviraj SD karticu, prikaži dostupnu pohranu"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (utor za sim %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"Za prikaz odaberite sačuvanu mrežu"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"Broj telefona"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (utor za sim %1$d)"</string>
@@ -1425,6 +1389,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"Roming"</string>
     <string name="status_operator" msgid="4335640583552058491">"Mreža"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"MAC adresa WiFi mreže"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"MAC adresa uređaja za WiFi mrežu"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"Bluetooth adresa"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Serijski broj"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Vrijeme aktivnosti"</string>
@@ -1637,6 +1602,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Vraćanje zadanih postavki za APN dovršeno."</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"Opcije vraćanja na zadano"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"Mreža, aplikacije ili uređaj mogu se vratiti na zadano"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"Aplikacije se mogu vratiti na zadano"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"Vrati WiFi, mobilnu i Bluetooth vezu na zadano"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"Sve postavke mreže vratit će se na zadano, uključujući:\n\n"<li>"WiFi"</li>\n<li>"Prijenos podataka na mobilnoj mreži"</li>\n<li>"Bluetooth"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"Izbriši preuzete SIM-ove"</string>
@@ -1686,6 +1652,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"Pristupna tačka je uključena"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"Povezivanje putem mobitela"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"Dok je upaljena Ušteda podataka nije moguće povezati uređaj niti koristiti prijenosne pristupne tačke"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"Samo pristupna tačka"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"Samo USB"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"Samo Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"Pristupna tačka, USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"Pristupna tačka, Bluetooth"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB, Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"Pristupna tačka, USB, Bluetooth"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"Internet se ne dijeli s drugim uređajima"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"Povezivanje putem mobitela"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Ne koristi WiFi pristupnu tačku"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Dijeljenje interneta isključivo putem USB-a"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Dijeljenje interneta isključivo putem Bluetootha"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Dijeljenje interneta isključivo putem USB-a i Bluetootha"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"Dijeljenje USB veze"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"Dijeljenje internetske veze telefona putem USB-a"</string>
@@ -1777,9 +1756,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"Sigurnosne informacije"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"Nemate vezu za prijenos podataka. Za trenutni prikaz tih informacija idite na %s s bilo kojeg računara koji je povezan na internet."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"Učitavanje…"</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"Koristi PIN"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"Koristi uzorak"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"Koristi lozinku"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"Postavite zaključavanje ekrana"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"Postavite lozinku radi sigurnosti"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"Da koristite otisak prsta, postavite lozinku"</string>
@@ -1788,8 +1764,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"Da koristite otisak prsta, postavite PIN"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"Postavite uzorak radi sigurnosti"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"Ponovo unesite lozinku"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"Unesite radnu lozinku"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"Potvrdite uzorak"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"Unesite radni uzorak"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"Ponovo unesite PIN"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"Unesite radni PIN"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"Lozinke se ne podudaraju"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"PIN-ovi se ne podudaraju"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"Ponovo nacrtajte uzorak"</string>
@@ -1800,6 +1779,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"Za otključavanje licem postavite lozinku"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"Za otključavanje licem, postavite uzorak"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"Za otključavanje licem, postavite PIN"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"Zaboravili ste lozinku?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"Zaboravili ste uzorak?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"Zaboravili ste PIN?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"Za nastavak, koristite uzorak uređaja."</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"Za nastavak, unesite PIN uređaja."</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"Za nastavak, unesite lozinku uređaja."</string>
@@ -1867,6 +1849,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"Dopusti sve izvore aplikacija"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"Nedavno otvarane aplikacije"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"Prikaži sve aplikacije: <xliff:g id="COUNT">%1$d</xliff:g>"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"Kontaktirajte IT administratora"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"Može vam pomoći s poništavanjem PIN-a, uzorka ili lozinke"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"Vaši podaci na tabletu i lični podaci su više izloženi napadima aplikacija iz nepoznatih izvora. Instaliranjem aplikacija iz takvih izvora, saglasni ste da ste vi odgovorni za bilo kakvu štetu na telefonu ili gubitak podataka koji mogu nastati korištenjem tih aplikacija."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"Vaši podaci na telefonu i lični podaci više su izloženi napadima aplikacija iz nepoznatih izvora. Instaliranjem aplikacija iz takvih izvora, saglasni ste da ste vi odgovorni za bilo kakvu štetu na telefonu ili gubitak podataka koji mogu nastati korištenjem tih aplikacija."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"Podaci s vašeg uređaja i vaši lični podaci su izloženiji napadima nepoznatih aplikacija. Instaliranjem aplikacija iz ovog izvora prihvatate odgovornost za bilo kakvu štetu na uređaju ili gubitak podataka uzrokovan njihovim korištenjem."</string>
@@ -1919,7 +1903,7 @@
     <string name="default_emergency_app" msgid="1929974800666613803">"Aplikacija za hitne situacije"</string>
     <string name="reset_app_preferences" msgid="8861758340732716573">"Vrati postavke aplikacije na zadano"</string>
     <string name="reset_app_preferences_title" msgid="8935136792316050759">"Vratiti postavke aplikacije na zadano?"</string>
-    <string name="reset_app_preferences_desc" msgid="1377296810290814749">"Ovim će se vratiti sve postavke na zadano za:\n\n"<li>"onemogućene aplikacije"</li>\n<li>"obavještenja za onemogućene aplikacije"</li>\n<li>"zadane aplikacije za radnje"</li>\n<li>"ograničenja pozadinskih podataka za aplikacije"</li>\n<li>"sva ograničenja za odobrenja"</li>\n\n" Nećete izgubiti podatke iz aplikacija."</string>
+    <string name="reset_app_preferences_desc" msgid="6509978724602405805">"Na ovaj način će se vratiti sve postavke na zadano za:\n\n"<li>" Onemogućene aplikacije"</li>\n<li>"Obavještenja za onemogućene aplikacije"</li>\n<li>"Zadane aplikacije za radnje"</li>\n<li>" Ograničenje pozadinskih podataka za aplikacije"</li>\n<li>" Sva ograničenja za odobrenja"</li>\n\n" Nećete izgubiti podatke iz aplikacija."</string>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"Vrati aplikacije na zadano"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"Upravljaj prostorom"</string>
     <string name="filter" msgid="9039576690686251462">"Filter"</string>
@@ -2119,7 +2103,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"Zvuk i tekst na ekranu"</string>
     <string name="display_category_title" msgid="6638191682294461408">"Prikaz"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"Kontrole za interakciju"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"Preuzete usluge"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"Preuzete aplikacije"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"Eksperimentalno"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"Oznake funkcija"</string>
     <string name="talkback_title" msgid="8756080454514251327">"Talkback"</string>
@@ -2127,27 +2111,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"Dodirnite stavke na ekranu da se naglas pročitaju"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"Postavke titlova"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"Uvećavanje"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"Područje uvećavanja"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"Omogućavanje uvećavanja"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"Odabir područja uvećavanja koja želite koristiti prilikom uvećavanja ekrana"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"Cijeli ekran"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"Dio ekrana"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"Cijeli ekran i dio ekrana"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"Povećavanje cijelog ekrana"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"Uvećavanje dijela ekrana"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Postavke uvećavanja"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"Uvećavanje trostrukim dodirom"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Uvećavanje pomoću prečice"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Uvećajte pomoću prečice i trostrukog dodira"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"O usluzi <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"Opcije"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"Uvećajte prikaz na ekranu"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"Dodirnite tri puta da zumirate"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Dodirnite dugme da zumirate"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><b>"Da zumirate "</b>", brzo dodirnite ekran 3 puta.\n"<ul><li>"Povlačite s 2 ili više prstiju da pomjerate prikaz"</li>\n<li>"Sastavite 2 ili više prstiju da podesite zumiranje"</li></ul>\n\n<b>"Da privremeno zumirate prikaz"</b>", brzo dodirnite ekran 3 puta i zadržite prst na trećem dodiru.\n"<ul><li>"Povlačite prstom da pregledate ekran"</li>\n<li>"Podignite prst da umanjite prikaz"</li></ul>\n\n"Ne možete uvećati prikaz na tastaturi i navigacionoj traci."</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"Kada je uvećavanje uključeno, možete uvećavati sadržaj na ekranu.\n\n"<b>"Da zumirate"</b>", pokrenite uvećavanje, a zatim dodirnite ekran bilo gdje.\n"<ul><li>"• Prevucite s dva ili više prstiju za klizanje"</li>\n<li>"• Uhvatite s dva ili više prstiju za podešavanje zumiranja"</li></ul>\n\n<b>"Za privremeno zumiranje,"</b>" pokrenite uvećanje, a zatim dodirnite ekran bilo gdje i zadržite.\n"<ul><li>"• Prevucite za kretanje po ekranu"</li>\n<li>"• Podignite prst za umanjivanje"</li></ul>\n\n"Nije moguće uvećati na tastaturi ili traci za navigaciju."</string>
+    <string name="accessibility_screen_magnification_summary" msgid="7617931632990040045">"Brzo uvećajte ekran da jasnije vidite sadržaj.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Da uvećate:&lt;/b&gt;&lt;br/&gt;	1. Koristite prečicu da pokrenete uvećavanje&lt;br/&gt;	2. Dodirnite ekran&lt;br/&gt;	3. Prevlačite s 2 prsta za kretanje ekranom&lt;br/&gt;	4. Uhvatite s dva prsta da podesite zumiranje&lt;br/&gt;	5. Koristite prečicu da prestanete uvećavanje&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Da uvećate privremeno:&lt;/b&gt;&lt;br/&gt;	1. Koristite prečicu da pokrenete uvećavanje&lt;br/&gt;	2. Dodirnite i držite bilo gdje na ekranu&lt;br/&gt;	3. Prevucite prstom da se krećete po ekranu&lt;br/&gt;	4. Podignite prst da zaustavite uvećavanje"</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Kada je uvećavanje uključeno, možete uvećavati sadržaj na ekranu.\n\n"<b>"Da zumirate"</b>", pokrenite uvećavanje, a zatim dodirnite ekran bilo gdje.\n"<ul><li>"Prevucite dva ili više prstiju za klizanje"</li>\n<li>"Uhvatite s dva ili više prstiju za podešavanje zumiranja"</li></ul>\n\n<b>"Za privremeno zumiranje"</b>" pokrenite uvećanje, a zatim dodirnite ekran bilo gdje i zadržite.\n"<ul><li>"Prevucite za kretanje po ekranu"</li>\n<li>"Podignite prst za umanjivanje"</li></ul>\n\n"Nije moguće uvećati na tastaturi ili traci za navigaciju."</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Otvorite pomoću dugmeta za pristupačnost"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Otvorite pokretom"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"Koristite novi pokret za pristupačnost"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"Da uključite ili isključite ovu uslugu, dodirnite dugme za pristupačnost<xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>na dnu ekrana.\n\nZa prebacivanje između usluga dodirnite i zadržite dugme za pristupačnost."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"Da uključite ili isključite ovu uslugu, s dva prsta prevucite prema gore s dna ekrana.\n\nZa prebacivanje između usluga s dva prsta prevucite prema gore i zadržite."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"Da uključite ili isključite ovu uslugu, s tri prsta prevucite prema gore s dna ekrana.\n\nZa prebacivanje između usluga s tri prsta prevucite prema gore i zadržite."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"Da uključite ili isključite uslugu za pristupačnost, s dva prsta prevucite prema gore s dna ekrana.\n\nZa prebacivanje između usluga s dva prsta prevucite prema gore i zadržite."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"Da uključite ili isključite uslugu za pristupačnost, s tri prsta prevucite prema gore s dna ekrana.\n\nZa prebacivanje između usluga s tri prsta prevucite prema gore i zadržite."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"Da uključite ili isključite ovu uslugu, dodirnite dugme za pristupačnost <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> na dnu ekrana.\n\nDa prebacujete između usluga, dodirnite i zadržite dugme za pristupačnost."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"Da uključite ili isključite ovu uslugu, s dva prsta prevucite prema gore s dna ekrana.\n\nDa prebacujete između usluga, s dva prsta prevucite prema gore i zadržite."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"Da uključite ili isključite ovu uslugu, s tri prsta prevucite prema gore s dna ekrana.\n\nDa prebacujete između usluga, s tri prsta prevucite prema gore i zadržite."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"Da uključite ili isključite uslugu za pristupačnost, s dva prsta prevucite prema gore s dna ekrana.\n\nDa prebacujete između usluga, s dva prsta prevucite prema gore i zadržite."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"Da uključite ili isključite uslugu za pristupačnost, s tri prsta prevucite prema gore s dna ekrana.\n\nDa prebacujete između usluga, s tri prsta prevucite prema gore i zadržite."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"Razumijem"</string>
+    <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Prečica za uslugu <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_edit_summary_software" msgid="2820923641553461297">"Dugme Pristupačnost"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture" msgid="8078659880723370597">"Prevucite prema gore s 2 prsta"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture_talkback" msgid="7422753388389160524">"Prevucite prema gore s 3 prsta"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software" msgid="4796192466943479849">"Dodirnite dugme Pristupačnost"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8922102767509399352">"Dodirnite dugme Pristupačnost<xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> na dnu ekrana"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"Kliznite prema gore s dna ekrana s 2 prsta"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"Kliznite prema gore s dna ekrana s 3 prsta"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Držite tipke za jačinu zvuka"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"Pritisnite obje tipke za jačinu zvuka i držite ih 1 sekundu"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Dodirnite ekran triput"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"Brzo dodirnite ekran 3 puta. Ova prečica može usporiti vaš uređaj."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"Napredno"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"Dugme Pirstupačnost podešeno je za aktiviranje usluge <xliff:g id="SERVICE">%1$s</xliff:g>. Da koristite uvećavanje, dodirnite i držite dugme Pristupačnost, zatim odaberite uvećavanje."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"Pokret za pristupačnost je postavljen na <xliff:g id="SERVICE">%1$s</xliff:g>. Za korištenje uvećavanja prevucite s dva prsta prema gore s dna ekrana i zadržite. Nakon toga odaberite uvećavanje."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"Prečica tipke za jačinu zvuka"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"Usluga prečice"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Postavke prečice"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"Dopusti iz zaključanog ekrana"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"Kada je uključena prečica, možete pritisnuti obje tipke za podešavanje jačine zvuka i držati ih 3 sekunde da pokrenete funkciju pristupačnosti."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"Tekst visokog kontrasta"</string>
@@ -2171,24 +2180,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"Odaberite koliko dugo želite da se prikazuju poruke koje od vas zahtijevaju da poduzmete radnju, a koje će biti vidljive samo privremeno.\n\nOvu postavku ne podržavaju sve aplikacije."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"Odgoda za dodirivanje i držanje"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"Inverzija boja"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"Može uticati na performanse"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"Vrijeme zadržavanja"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"Korištenje inverzije boja"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"Inverzijom boje svijetli ekrani postaju tamni. Na taj način osobe osjetljive na jaku svjetlost mogu lakše gledati u ekran.&lt;br/&gt;&lt;br/&gt;Napomena: Tamne boje će postati svijetle. Boje će se promijeniti u medijima i na slikama. Možete koristiti i Tamnu temu (Postavke &gt; Prikaz)."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"Automatski klik (vrijeme zadržavanja)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"Ako koristite miš, kursor možete podesiti tako da automatski preuzme radnju kada se prestane kretati određeno vrijeme."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"Odgoda prije klika"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"Ne koristi automatski klik (zadano)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"Kratko"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0,2 sekunde"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"Srednje"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0,6 sekundi"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"Dugo"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 sekunda"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"Prilagođeno"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"Kraće"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"Duže"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"Trajanje automatskog klika"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"Vibracija i heptička snaga"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Vibracija obavještenja"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Vibracija pri zvonu"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Povratne informacije na dodir"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"Koristi uslugu"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"Koristi <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"Otvori aplikaciju <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"Koristi ispravku boje"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"Koristi titlove"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"Prikaži titlove"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"Izgled titlova"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"Veličina teksta, stil titlova"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"Više opcija"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"Neke aplikacije ne podržavaju ovu postavku."</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"Dugme Pristupačnost"</string>
+    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"Prevlačenje pomoću 2 prsta s dna ekrana prema gore"</string>
+    <string name="accessibility_shortcut_type_hardware" msgid="4834144210432451916">"Držite tipke za jačinu zvuka"</string>
+    <string name="accessibility_shortcut_type_triple_tap" msgid="7717524216825494543">"Trostruki dodir ekrana"</string>
     <string name="accessibility_hearingaid_instruction_continue_button" msgid="3367260988024430722">"Nastavi"</string>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"Slušni aparat"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"Nije povezan nijedan slušni aparat"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"Dodaj slušne aparate"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"Da uparite slušne aparate, pronađite i dodirnite svoj uređaj na sljedećem ekranu."</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"Provjerite jesu li slušni aparati u načinu rada uparivanja."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"Da uparite slušne aparate, pronađite i dodirnite svoj uređaj na sljedećem ekranu. Provjerite jesu li slušni aparati u načinu rada uparivanja."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> aktivan"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> slušni aparat sačuvan</item>
@@ -2201,30 +2228,41 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Ova usluga ne radi ispravno."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Prikaži u Brzim postavkama"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"Način rada za korekciju"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="one">Izuzetno kratko kašnjenje (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="few">Izuzetno kratko kašnjenje (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Izuzetno kratko kašnjenje (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Crveno-zeleno"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"Zeleno-crveno"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Plavo-žuto"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"Deuteranomalija"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"Protanomalija"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"Tritanomalija"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="one">Izuzetno kratko kašnjenje (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunda)</item>
+      <item quantity="few">Izuzetno kratko kašnjenje (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunde)</item>
+      <item quantity="other">Izuzetno kratko kašnjenje (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundi)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="one">Veoma kratko kašnjenje (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="few">Veoma kratko kašnjenje (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Veoma kratko kašnjenje (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="one">Veoma kratko kašnjenje (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunda)</item>
+      <item quantity="few">Veoma kratko kašnjenje (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunde)</item>
+      <item quantity="other">Veoma kratko kašnjenje (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundi)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="one">Kratko kašnjenje ( <xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="few">Kratko kašnjenje (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Kratko kašnjenje (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="one">Kratko kašnjenje (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunda)</item>
+      <item quantity="few">Kratko kašnjenje (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunde)</item>
+      <item quantity="other">Kratko kašnjenje (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundi)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="one">Značajno kašnjenje (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="few">Značajno kašnjenje (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Značajno kašnjenje (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="one">Značajno kašnjenje (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunda)</item>
+      <item quantity="few">Značajno kašnjenje (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunde)</item>
+      <item quantity="other">Značajno kašnjenje (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundi)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="one">Veoma dugo kašnjenje (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="few">Veoma dugo kašnjenje (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Veoma dugo kašnjenje (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="one">Veoma dugo kašnjenje (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunda)</item>
+      <item quantity="few">Veoma dugo kašnjenje (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunde)</item>
+      <item quantity="other">Veoma dugo kašnjenje (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundi)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunda</item>
+      <item quantity="few"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunde</item>
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundi</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"Jačina zvuka zvona <xliff:g id="SUMMARY_RING">%1$s</xliff:g>, obavještenje <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>, dodir <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"Zvono i obavještenje su postavljeni na isključeno"</string>
@@ -2550,7 +2588,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"Tokom posljednjeg isključivanja s napajanja <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"Ukupno korištenje"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"Osvježi"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"Android OS"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"Server za medijske sadržaje"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"Optimizacija aplikacija"</string>
     <string name="battery_saver" msgid="7737147344510595864">"Ušteda baterije"</string>
@@ -2631,8 +2668,7 @@
     <string name="tts_play" msgid="2945513377250757221">"Pokreni"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"Pohrana akreditiva"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"Instaliranje iz pohrane"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"Instaliraj sa SD kartice"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"Instaliranje potvrde"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"Instaliranje certifikata iz pohrane"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"Instaliraj certifikate sa SD kartice"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"Brisanje akreditiva"</string>
@@ -2652,6 +2688,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"Pohrana akreditiva je izbrisana."</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"Nije uspjelo bris. memorije vjerodaj."</string>
     <string name="usage_access_title" msgid="1580006124578134850">"Apl. s pristupom pod. o korišt."</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"CA certifikat"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"Potvrda za VPN i korisnika aplikacije"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"Potvrda za WiFi"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"Vaša privatnost je izložena riziku"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"Web lokacije, aplikacije i VPN-ovi koriste CA certifikate za šifriranje. Instalirajte CA certifikate samo ako dolaze od organizacija kojima vjerujete. \n\n Ako instalirate CA certifikat, vlasnik tog certifikata može pristupiti vašim podacima, kao što su lozinke, poruke ili detalji kreditne kartice, s web lokacija koje posjetite ili aplikacija koje koristite – čak i ako su ti podaci šifrirani."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"Nemoj instalirati"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"Ipak instaliraj"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"Potvrda nije instalirana"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"Signal za hitne pozive"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Postavi ponašanje prilikom upućivanja poziva za hitne situacije"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Izrada sigurnosnih kopija"</string>
@@ -2679,10 +2723,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"Deaktiviraj i deinstaliraj"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"Aplikacije administratora uređaja"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"Nema dostupnih aplikacija administratora uređaja"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"Lični"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"Work"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"Ograniči pristup SMS-u i zapisniku poziva"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"Samo zadane aplikacije za telefon i poruke imaju odobrenja za SMS i zapisnike poziva"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"Nema dostupnih pouzdanih agenata"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"Aktivirati aplikaciju administratora uređaja?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"Aktiviraj aplikaciju administratora uređaja"</string>
@@ -2696,6 +2736,15 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"Administrator je onemogućio ostale opcije"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"Više detalja"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"Zapisnik obavještenja"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"Historija obavještenja"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"Danas"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"Odgođeno"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"Nedavno odbačeno"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="one"><xliff:g id="NUMBER_1">%d</xliff:g> obavještenje</item>
+      <item quantity="few"><xliff:g id="NUMBER_1">%d</xliff:g> obavještenja</item>
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> obavještenja</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"Melodija zvona telefona i vibracija"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"Detalji o mreži"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"Sinhronizacija omogućena"</string>
@@ -3049,7 +3098,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"Ograničenja"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"Ukloni ograničenja"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"Promijeni PIN"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"Prikaži obavještenja"</string>
     <string name="help_label" msgid="2896538416436125883">"Pomoć i pov. inform."</string>
     <string name="support_summary" msgid="1034146931237148885">"Članci za pomoć, telefon i chat, početak"</string>
     <string name="user_account_title" msgid="6389636876210834864">"Račun za sadržaj"</string>
@@ -3074,6 +3122,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"Pozivanje putem 4G mreže"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Koristite LTE usluge za poboljšanje glasovne i drugih komunikacija (preporučeno)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Koristite usluge 4G mreže za poboljšanje glasovne i drugih komunikacija (preporučeno)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Otkrivanje kontakata"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Omogućava mobilnom operateru da otkriva koje funkcije pozivanja kontakti podržavaju."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Omogućiti otkrivanje kontakata?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Omogućavanjem ove funkcije ćete dozvoliti mobilnom operateru da pristupa brojevima telefona u vašim kontaktima kako bi otkrio koje funkcije pozivanja podržavaju."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Tip preferirane mreže"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (preporučeno)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS poruke"</string>
@@ -3118,7 +3170,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"Poziv putem"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"Odaberite SIM karticu"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"SIM <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"SIM kartica je prazna"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"Ime SIM-a"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"Unesite ime SIM-a"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"SIM slot %1$d"</string>
@@ -3128,6 +3179,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"Odaberite SIM karticu"</string>
     <string name="color_orange" msgid="216547825489739010">"Narandžasta"</string>
     <string name="color_purple" msgid="6603701972079904843">"Ljubičasta"</string>
+    <string name="color_pink" msgid="8596872110888626708">"Ružičasta"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"SIM kartica nije umetnuta"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"Status SIM-a"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"Status SIM-a (utor za sim %1$d)"</string>
@@ -3141,7 +3193,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"SIM kartice promijenjene."</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Dodirnite za postavke"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"Željeni SIM za"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Pitaj svaki put"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Potreban odabir"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"Odabir SIM-a"</string>
@@ -3160,6 +3211,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"Bluetooth, način rada za vožnju"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"Bluetooth, NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"Bluetooth"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"Nije dostupno jer je NFC isključen"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"Aplikacije i obavještenja"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Nedavne aplikacije, zadane aplikacije"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Pristup obavještenjima nije dostupan za aplikacije u novom radnom profilu."</string>
@@ -3170,13 +3222,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"Postavke"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"wifi, wi-fi, veza s mrežom, internet, bežično, podaci, wi fi"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"WiFi obavještenje, wifi obavještenje"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"prijenos podataka"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"Zaustavi vibriranje, dodir, tastaturu"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"Koristi 24-satni format"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"Preuzmi"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"Otvori koristeći"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"Aplikacije"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"vremenska zona"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"Skočni prozor za chat"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"Skočni prozor za chat, sistem, obavještenje, prozor, dijalog, ekran, prikazivanje preko drugih aplikacija, crtanje"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"Svjetiljka, svjetlo, lampa"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"wifi, wi-fi, aktivacija/deaktivacija, kontrola"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"mobilni, mobilni operater, bežični, podaci, 4g, 3g, 2g, lte"</string>
@@ -3200,7 +3253,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"ne ne uznemiravaj, prekinuti, prekidanje, pauza"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"u blizini, lokacija, historija, izvještavanje, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"račun"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"račun, dodavanje računa, radni profil, dodaj račun"</string>
     <string name="keywords_users" msgid="3497517660077620843">"ograničenje, ograničavanje, ograničen"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"korekcija teksta, ispravan, zvuk, vibrirati, auto, jezik, gest, predložiti, prijedlog, tema, uvredljivo, riječ, vrsta, emoji, međunarodna"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"ponovo podesi, željene postavke, zadano"</string>
@@ -3238,6 +3291,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"memorija, keš memorija, podaci, izbrisati, obrisati, osloboditi, prostor"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"povezan, uređaj, slušalice, slušalice s mikrofonom, zvučnik, bežično, uparivanje, slušalice za umetanje u uho, muzika, medij"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"pozadina, ekran, zaključani ekran, tema"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"oblik ikone, boja za isticanje, font"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"zadani, asistent"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"plaćanje, zadano"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"dolazno obavještenje"</string>
@@ -3247,18 +3301,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"haptika, vibriranje, osjetljivost"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"ušteda baterije, ljepljivo, istrajnost, ušteda energije, baterija"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"rutina, raspored, ušteda baterije, ušteda energije, baterija, automatski, procenat"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"radni profil"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"volte, napredno pozivanje, 4g pozivanje"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"dodavanje jezika, dodaj jezik"</string>
     <string name="default_sound" msgid="6604374495015245195">"Podrazumijevani zvuk"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"Jačina zvuka zvona je na <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"Zvuk zvona i obavještenja postavljen je na <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Jačina zvuka, vibracija, Ne ometaj"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"Zvono je postavljeno da vibrira"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"Zvono je utišano"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"Jačina zvuka zvona je na 80%"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"Zvuk zvona i obavještenja postavljen je na 80%"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Jačina zvuka medija"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Jačina zvuka emitiranja"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"Jačina zvuka tokom poziva"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"Jačina zvuka alarma"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"Jačina zvuka zvona"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"Zvuk zvona i obavještenja"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"Jačina zvuka za obavještenja"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"Melodija zvona telefona"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"Zadani zvuk obavještenja"</string>
@@ -3266,6 +3321,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"Zadani zvuk obavještenja"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"Zadani zvuk alarma"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"Vibriranje za pozive"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"Bez vibracije"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"Uvijek vibriraj"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"Prvo vibriraj, a zatim postepeno zvoni"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"Drugi zvukovi"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"Tonovi tastature telefona"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"Zvukovi zaključavanja ekrana"</string>
@@ -3290,6 +3348,7 @@
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> pravila je omogućeno</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Ne ometaj"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Primajte obavještenja samo od važnih osoba i aplikacija"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Ograničite ometanja"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Uključi način rada Ne ometaj"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"Izuzeci"</string>
@@ -3316,7 +3375,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Blokiranje vizuelnih ometanja"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Dozvolite vizualnu signalizaciju"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"Kada je uključen način rada Ne ometaj"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"Dozvoli ometanja koja proizvode zvuk"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"Ograničite obavještenja"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Obavještenja bez zvuka"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"Obavještenja ćete vidjeti na ekranu"</string>
@@ -3347,7 +3406,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"Zvuk i vibracija"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"Zvuk, vibracija i neki vizuelni znakovi obavještenja"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"Zvuk, vibracija i vizuelni znakovi obavještenja"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"Obavještenja koja su potrebna za osnovne radnje i status telefona nikada se neće sakriti"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"Obavještenja koja su potrebna za osnovne radnje i status telefona nikada se neće sakriti."</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"Ništa"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"druge opcije"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"Dodaj"</string>
@@ -3379,10 +3438,12 @@
       <item quantity="few"><xliff:g id="ON_COUNT">%d</xliff:g> rasporeda se mogu automatski uključiti</item>
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> rasporeda se može automatski uključiti</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"Isključi zvuk uređaja, ali dozvoli izuzetke"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"Izuzeci"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"Raspored"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"Pogledajte sve izuzetke"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"Izuzeci kada je uključen način rada Ne ometaj"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"Osobe"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"Aplikacije"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"Alarmi i druga ometanja"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"Rasporedi"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"Utišana obavještenja"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"Kada je uključen način rada Ne ometaj, zvuk i vibracija će biti isključeni, osim za stavke koje omogućite iznad."</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"Isključi zvuk za sve osim"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"Isključen zvuk"</string>
@@ -3426,16 +3487,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"Prilagodljiva obavještenja"</string>
     <string name="asst_capability_prioritizer_title" msgid="1181272430009156556">"Prilagodljivi prioritet obavještenja"</string>
     <string name="asst_capability_prioritizer_summary" msgid="954988212366568737">"Obavještenja niskog prioriteta automatski će se postaviti na Diskretno"</string>
+    <string name="asst_capability_ranking_title" msgid="312998580233257581">"Prilagodljivo rangiranje obavještenja"</string>
+    <string name="asst_capability_ranking_summary" msgid="2293524677144599450">"Automatski rangira obavještenja prema relevantnosti"</string>
     <string name="asst_capabilities_actions_replies_title" msgid="4392470465646394289">"Predložene radnje i odgovori"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"Automatski se prikazuju predložene radnje i odgovori"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"Uključite historiju obavještenja da pratite prošla i odgođena obavještenja"</string>
+    <string name="notification_history" msgid="8663811361243456201">"Historija obavještenja"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"Uključi historiju"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"Isključi historiju"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"Historija obavještenja je isključena"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"prikaži postavke obavještenja"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Dozvoli odgađanje obavještenja"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"Sakrij ikone diskretnih obavještenja"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"Ikone diskretnih obavještenje nisu prikazane na statusnoj traci"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"Dozvoli tačke za obavještenja"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"Prikaži nedavne razgovore u traci"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Oblačići"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"Neka obavještenja se na ekranu mogu pojaviti u vidu oblačića"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"Neka obavještenja i drugi sadržaj se mogu prikazati kao oblačići na ekranu. Dodirnite oblačić da ga otvorite. Da ga odbacite, povucite ga prema dolje na ekranu."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Oblačići"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"Nove poruke će se pojaviti na ekranu"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"Dozvoli da aplikacija <xliff:g id="APP_NAME">%1$s</xliff:g> prikazuje neka obavještenja kao oblačiće"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"Uključite oblačiće"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"Da uključite oblačiće za ovu aplikaciju, prvo ih morate uključiti na uređaju. To će uticati na druge aplikacije u kojima ste prethodno uključili oblačiće."</string>
@@ -3453,6 +3524,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"Prikaži na padajućoj traci i zaključanom ekranu"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"Prikaži na padajućoj traci i statusnoj traci"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"Prikaži na padajućoj traci, statusnoj traci i zaključanom ekranu"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"Sakrij nečujna obavještenja na statusnoj traci"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"Trepćuće svjetlo"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"Zaključani ekran"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"Preskoči zaključavanje ekrana"</string>
@@ -3483,6 +3555,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"Ponašanje"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"Dozvoli zvuk"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"Nikad ne prikazuj obavještenja"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"Razgovori"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"Razgovor"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"Nije razgovor"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"Uklanjanje iz odjeljka za razgovor"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"Ovo je razgovor"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"Dodavanje u odjeljak za razgovor"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"Upravljajte razgovorima"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"Važni razgovori"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"Svi razgovori"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"Prikaži važne razgovore u oblačićima"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"Važni razgovori se prikazuju na vrhu padajuće trake. Razgovore možete postaviti i u oblačić i prekinuti funkciju Ne ometaj."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"Prikaži bez zvuka i minimiziraj"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"Prikaži bez zvuka"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"Reproduciraj zvuk"</string>
@@ -3501,7 +3584,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"Pomaže vam da se koncentrirate bez zvuka ili vibracije"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"Privlači vašu pažnju pomoću zvuka ili vibracije"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"Kada je uređaj otključan, prikažite obavještenja u vidu banera na vrhu ekrana"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"Prikaži obavještenja"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"Sva obavještenja aplikacije <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"Prilagodljiva obavještenja"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="one">~<xliff:g id="NUMBER_1">%d</xliff:g> obavještenje dnevno</item>
@@ -3525,6 +3608,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"Prilagodljiva obavještenja"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"Nema"</string>
     <string name="no_notification_listeners" msgid="2839354157349636000">"Nijedna instalirana aplikacija nije zatražila pristup obavještenjima."</string>
+    <string name="notification_access_detail_switch" msgid="46386786409608330">"Dozvoli pristup obavještenjima"</string>
     <string name="notification_assistant_security_warning_title" msgid="2972346436050925276">"Dozvoliti pristup obavještenjima za uslugu <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
     <string name="notification_assistant_security_warning_summary" msgid="3119843404577399036">"<xliff:g id="NOTIFICATION_ASSISTANT_NAME">%1$s</xliff:g> će moći čitati sva obavještenja, uključujući lične informacije kao što su imena kontakata i tekst primljenih poruka. Takođe će moći izmijeniti ili odbaciti obavještenja ili koristiti dugmad za radnje u obavještenjima. \n\nNa ovaj način će se aplikaciji dati i mogućnost da uključi i isključi način rada Ne ometaj te da promijeni postavke povezane s tom opcijom."</string>
     <string name="notification_listener_security_warning_title" msgid="5791700876622858363">"Želite li dozvoliti pristup obavještenjima za uslugu <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
@@ -3589,8 +3673,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"Gotovo"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"Važnost"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"Trepćuće svjetlo"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"Vibracija"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"Vibracija"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"Zvuk"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"Važno"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"Dodavanje u dom"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"Izbriši"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"Promijeni naziv"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"Naziv rasporeda"</string>
@@ -3645,6 +3731,10 @@
       <item quantity="few">Još <xliff:g id="NUM_PEOPLE">%d</xliff:g> osobe</item>
       <item quantity="other">Još <xliff:g id="NUM_PEOPLE">%d</xliff:g> osoba</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Razgovori"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"Iz svih razgovora"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"Iz važnih razgovora"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"Zabrani sve razgovore"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"Dozvoli poruke"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"Da budete sigurni da čujete dozvoljene dolazne poruke, provjerite je li vaš uređaj postavljen da zvoni, vibrira ili je u tihom načinu."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"Dolazne poruke su blokirane za raspored \"<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>\". Postavke možete podesiti da prijateljima, porodici ili drugim kontaktima dozvolite da vas kontaktiraju."</string>
@@ -3658,15 +3748,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"Ništa"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"Zabrani sve pozive"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"Zabrani sve poruke"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"Dozvoli alarme"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"Alarmi"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"Obavještenja tajmera, alarma, sigurnosnih sistema i drugih aplikacija"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"alarmi"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"Reproduciraj zvukove medija"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"Zvukovi medija"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"Obavještenja videozapisa, igara i drugih medija"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"mediji"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"Dozvoli zvukove dodira"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"Zvuci dodira"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"Obavještenja tastature i drugih dugmadi"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"zvuci dodira"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"Dozvoli podsjetnike"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"Podsjetnici"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"Obavještenja o zadacima i podsjetnicima"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"podsjetnici"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"Dozvoli događaje"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"Događaji"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"Obavještenja nadolazećih događaja iz kalendara"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Dozvolite aplikacijama da zanemaruju"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"Izuzeci za aplikacije"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3712,6 +3807,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"Dopustite da obavještenja koja su utišana načinom rada Ne ometaj uključe ekran"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"Postavke za obavještenja"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"Uredu"</string>
+    <string name="suggestion_button_close" msgid="6865170855573283759">"Zatvori"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Slanje informacija o uređaju"</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"Upišite PIN administratora"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"Uključeno"</string>
@@ -3722,6 +3818,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Traži PIN prije poništavanja kačenja"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Traži lozinku prije poništavanja kačenja"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Zaključaj uređaj kada se ekran otkači"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Potvrdite brisanje SIM-a"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"Potvrdite identitet prije potpunog brisanja preuzetog SIM-a"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"Ovim profilom za Work upravlja:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"Profilom upravlja <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(Eksperimentalno)"</string>
@@ -3800,8 +3898,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"Sve aplikacije"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Instalirane aplikacije"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Instant aplikacije"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"Lične"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"Work"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"Aplikacije: Sve"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"Isključeno"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"Kategorije: hitno"</string>
@@ -3813,6 +3909,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"Nepoznata aplikacija"</string>
     <string name="app_permissions" msgid="8666537659217653626">"Upravitelj odobrenja"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"Aplikacije koje koriste: <xliff:g id="APPS">%1$s</xliff:g>"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"Aplikacije koje koriste odobrenje <xliff:g id="APPS">%1$s</xliff:g> i drugo"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"Dodirnite za buđenje"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"Dva puta dodirnite bilo gdje na zaslonu da probudite uređaj"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"Otvaranje linkova"</string>
@@ -3825,9 +3922,15 @@
       <item quantity="few"><xliff:g id="COUNT">%d</xliff:g> aplikacije koje otvaraju podržane linkove</item>
       <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> aplikacija koje otvaraju podržane linkove</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"Otvori u ovoj aplikaciji"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"Dozvoli aplikaciji da otvara podržane linkove"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"Pitaj svaki put"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"Nemoj otvarati u ovoj aplikaciji"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"Nemoj dozvoliti aplikaciji da otvara linkove"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="one">Aplikacija polaže pravo da obrađuje <xliff:g id="COUNT_1">%d</xliff:g> link</item>
+      <item quantity="few">Aplikacija polaže pravo da obrađuje <xliff:g id="COUNT_1">%d</xliff:g> linka</item>
+      <item quantity="other">Aplikacija polaže pravo da obrađuje <xliff:g id="COUNT_1">%d</xliff:g> linkova</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"Aplikacija polaže pravo da obrađuje sljedeće linkove:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"Zadano"</string>
     <string name="default_for_work" msgid="537558180548617528">"Uobičajeno za rad"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"Pomoć i glasovni unos"</string>
@@ -3974,8 +4077,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"Prikaz preko drugih aplikacija"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Dozvoli prikaz preko drugih aplikacija"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"Dozvolite ovoj aplikaciji da prekrije ostale aplikacije koje koristite. Može vas ometati u korištenju tih aplikacija ili promijeniti način na koji se one prikazuju ili ponašaju."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"Pristup svim fajlovima"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"Dozvoli pristup za upravljanje svim fajlovima"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Dozvolite ovoj aplikaciji da čita, mijenja i briše sve fajlove na ovom uređaju ili svim povezanim uređajima za pohranu. Ako to dozvolite, aplikacija može pristupati fajlovima bez vašeg znanja."</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"Može da pristupa svim fajlovima"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"vr slušalac virtuelne realnosti stereo pomoćna usluga"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"sistem upozorenje prozor dijaloški okvir prikazivanje preko drugih aplikacija"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"Prikaz preko drugih aplikacija"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"Aplikacije s odobrenjem za prikaz preko drugih aplikacija: <xliff:g id="COUNT_0">%1$d</xliff:g> od <xliff:g id="COUNT_1">%2$d</xliff:g>"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"Aplikacije s odobrenjem"</string>
@@ -4146,6 +4252,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"Iskorišteno je <xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g>"</string>
     <string name="data_overusage" msgid="3680477320458707259">"Prekoračenje: <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="data_remaining" msgid="6316251496381922837">"Još <xliff:g id="ID_1">^1</xliff:g>"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"Grafikon koji prikazuje potrošnju prijenosa podataka od <xliff:g id="START_DATE">%1$s</xliff:g> do <xliff:g id="END_DATE">%2$s</xliff:g>."</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"Nema potrošnje prijenosa podataka u ovom rasponu datuma"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="one">Još %d dan</item>
       <item quantity="few">Još %d dana</item>
@@ -4210,14 +4318,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"veličina paketa"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"izdato obavještenje"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"zvuk"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"vibracija"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"uzorak"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"standardno/default"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"kanal"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"ništa"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"Rangirani objekt nedostaje."</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"Rangirani objekt ne sadrži ovu tipku."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"Prilagođavanje teme"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"Zadana postavka uređaja"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"Urez u ekranu"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"urez ekrana, urez"</string>
@@ -4310,8 +4414,12 @@
     <string name="information_label" msgid="6939310810756569298">"Informacije"</string>
     <string name="low_label" msgid="6525629096999711220">"Nisko"</string>
     <string name="high_label" msgid="357503396626018487">"Visoko"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"Veća osjetljivost može izazvati probleme prilikom korištenja pokreta aplikacija na rubovima ekrana."</string>
+    <string name="left_edge" msgid="1513576842959071849">"Lijeva ivica"</string>
+    <string name="right_edge" msgid="1505309103265829121">"Desna ivica"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"Veća osjetljivost može izazvati probleme prilikom korištenja pokreta aplikacija na rubovima ekrana."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"Osjetljivost sa zadnje strane"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"Postavke pokreta"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"navigiranje pokretima, osjetljivost pokreta za povratak, pokret za povratak"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"Dodirnite dvaput da provjerite telefon"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"Provjera tableta dvostrukim dodirom"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"Provjera uređaja dvostrukim dodirom"</string>
@@ -4473,7 +4581,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"Aktiviranje dodjele resursa operatera"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"Ažurirajte način rada Ne ometaj"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"Pauzirajte obavještenja da ostanete fokusirani"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"Ova funkcija nije dostupna na ovom uređaju"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"Funkcija nije dostupna"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"Ova funkcija je isključena jer usporava vaš telefon"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"Prisilno omogući potpuno GNSS mjerenje"</string>
@@ -4483,20 +4590,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"Odaberite aplikaciju u kojoj je omogućen ANGLE"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"Aplikacija u kojoj je omogućen ANGLE nije postavljena"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"Aplikacija u kojoj je omogućen ANGLE: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"Postavke drajvera za igru"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"Promijenite postavke drajvera za igru"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"Kada je drajver za igru uključen možete odabrati da za aplikacije koje su instalirane na uređaju koristite ažurirani drajver za grafiku."</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"Omogućeno za sve aplikacije"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"Odabir drajvera za grafiku"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"Zadano"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"Drajver za igru"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"Beta drajver"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"Drajver za grafiku sistema"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"Postavke drajvera za grafiku"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"Promjena postavki drajvera za grafiku"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"Kada je uključeno više drajvera za grafiku možete odabrati da za aplikacije koje su instalirane na uređaju koristite ažurirani drajver za grafiku."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"Omogućeno za sve aplikacije"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"Odabir drajvera za grafiku"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"Zadano"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"Drajver za igru"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"Drajver programera"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Drajver za grafiku sistema"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Izmjene kompatibilnosti aplikacije"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Uključivanje/isključivanje izmjena kompatibilnosti aplikacije"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Zadano omogućene izmjene"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Zadano onemogućene izmjene"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"Postavka nije podržana na ovom telefonu"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"Postavka nije podržana na ovom tabletu"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"Postavka nije podržana na ovom uređaju"</string>
@@ -4515,6 +4628,11 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"Uređaj"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Nedostupno za vrijeme poziva"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"Nedostupno"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"Dodavanje izlaza"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"Grupa"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 odabrani uređaj"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"Broj odabranih uređaja: <xliff:g id="COUNT">%1$d</xliff:g>"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"Prebacivanje…"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Primanje poziva"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Ovaj APN se ne može promijeniti."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Poboljšanje trajanja baterije tableta"</string>
@@ -4633,10 +4751,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Aktivan može biti samo po jedan SIM.\n\nPrebacivanjem na operatera <xliff:g id="CARRIER1">%1$s</xliff:g> neće se otkazati usluga operatera <xliff:g id="CARRIER2">%2$s</xliff:g>."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Prebaci na operatera <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Izbriši SIM"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Izbrisati ovaj preuzeti SIM?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Brisanjem ovog SIM-a, s ovog uređaja će se ukloniti usluga operatera <xliff:g id="CARRIER_0">%1$s</xliff:g>.\n\nUsluga za operatera <xliff:g id="CARRIER_1">%2$s</xliff:g> neće se otkazati."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Izbriši"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Brisanje SIM-a…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Nije moguće izbrisati SIM"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Nije moguće izbrisati ovaj SIM zbog greške.\n\nPonovo pokrenite uređaj i pokušajte ponovo."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Vrsta preferirane mreže"</string>
@@ -4661,7 +4775,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Mrežni način <xliff:g id="NETWORKMODEID">%1$d</xliff:g> nije važeći. Zanemarite."</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Nazivi pristupne tačke"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Nedostupno kada ste povezani s operaterom <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"Medicinske informacije, kontakti za hitne slučajeve"</string>
     <string name="see_more" msgid="7499355691042812723">"Pogledajte više"</string>
     <string name="see_less" msgid="2642392725363552793">"Prikaži manje"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"Korištenje uređaja s aplikacijom <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
@@ -4670,12 +4783,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"Nešto se dogodilo. Ova aplikacija je otkazala zahtjev za odabir uređaja."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"Uspješno povezivanje"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"Prikaži sve"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> povezan uređaj</item>
-      <item quantity="few"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> povezana uređaja</item>
-      <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> povezanih uređaja</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"Nema Bluetooth uređaja"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"Traženje uređaja…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"Povezivanje s uređajem…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"Lijeva"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"Desni"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Maska"</string>
@@ -4685,6 +4794,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"Nije dostupno dok je aktiviran način rada u avionu"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"Nametni način rada na računaru"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Nametanje eksperimentalnog načina rada na računaru na sekundarnim ekranima"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"Omogući slobodni oblik aplikacija nepromenljive veličine"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"Omogućava aplikacijama nepromenljive veličine da budu u slobodnom obliku"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Nadjačaj nametanje tamne teme"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"Nadjačava funkciju nametanja tamne teme tako da je uvijek uključena"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"Privatnost"</string>
@@ -4724,6 +4835,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Nedavno ste instalirali ovu aplikaciju."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Prebacite izlaz"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Trenutno se reproducira na uređaju <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (veza je prekinuta)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Nije mog. prebaciti. Dod. da pok. pon."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Važne informacije"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"NASTAVI"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"NE, HVALA"</string>
@@ -4751,8 +4864,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"SIM kombinacija"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Informacije o radnim pravilima"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Postavkama upravlja vaš IT administrator"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"Obrađivač izvještaja o greškama"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Određuje koja aplikacija obrađuje prečicu za Izvještaj o greškama na uređaju."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Lično"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"Posao"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"Sistemski zadano"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"Ovaj odabir više nije važeći. Pokušajte ponovo."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"Zaustavi emitiranje"</string>
 </resources>
diff --git a/res/values-ca/arrays.xml b/res/values-ca/arrays.xml
index 81e9f83..353743a 100644
--- a/res/values-ca/arrays.xml
+++ b/res/values-ca/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"Immediatament"</item>
     <item msgid="463591454172790676">"5 segons"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"No validis"</item>
+    <item msgid="5703177653586269306">"Sol·licita l\'estat de certificat"</item>
+    <item msgid="326388247868439528">"Requereix l\'estat de certificat"</item>
+    <item msgid="1090956283885790552">"Requereix tots els estats de certificat que no siguin de confiança"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"Botó per prémer"</item>
     <item msgid="2630618799033509548">"PIN de l\'altre dispositiu"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"Cap"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"VPN IPSec amb claus prèviament compartides i autenticació Xauth"</item>
     <item msgid="2484564813864139237">"VPN IPSec amb certificats i autenticació Xauth"</item>
     <item msgid="68918911194507915">"VPN IPSec amb certificats i autenticació híbrida"</item>
+    <item msgid="4631647675167100375">"VPN IKEv2/IPSec amb certificats i autenticació mitjançant nom d\'usuari i contrasenya"</item>
+    <item msgid="8812228622975052811">"VPN IKEv2/IPSec amb claus precompartides"</item>
+    <item msgid="6630554779981113046">"VPN IKEv2/IPSec amb certificats"</item>
   </string-array>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"Cap"</item>
diff --git a/res/values-ca/config.xml b/res/values-ca/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-ca/config.xml
+++ b/res/values-ca/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index 0171a06..7161f99 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -31,49 +31,17 @@
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Primer activa les opcions per a desenvolupadors."</string>
     <string name="header_category_wireless_networks" msgid="303445626075235229">"Connexions sense fil i xarxes"</string>
     <string name="header_category_system" msgid="1665516346845259058">"Sistema"</string>
-    <string name="radio_info_data_connection_enable" msgid="7500945447906187613">"Activa la connexió de dades"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"Desactiva la connexió de dades"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"VoLTE administrada"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"Es proporcionen videotrucades"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"Es proporcionen trucades per Wi-Fi"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"EAB/presència proporcionats"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"Dades CBRS"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"Activa DSDS"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"Vols reiniciar el dispositiu?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"Has de reiniciar el dispositiu per canviar aquesta opció."</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"Reinicia"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"Cancel·la"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"Potència de la ràdio mòbil"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"Mostra la llibreta d\'adreces de la SIM"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"Mostra els números de marcatge fix"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"Visualitza els números de marcatge de serveis"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"Estat del servei MI"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"Estat de MI"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"Registrat"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"Sense registrar"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"Disponible"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"No disponible"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"Registre de MI: <xliff:g id="STATUS">%1$s</xliff:g>\nVeu per LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nVeu per Wi-Fi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideotrucades: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nInterfície d\'UT: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"En servei"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Sense servei"</string>
     <string name="radioInfo_service_emergency" msgid="6838935881091760942">"Només trucades d\'emergència"</string>
     <string name="radioInfo_service_off" msgid="6184928420860868571">"Senyal mòbil desactivat"</string>
     <string name="radioInfo_roaming_in" msgid="8892550453644088692">"Itinerància"</string>
     <string name="radioInfo_roaming_not" msgid="3137594549464975054">"No està en itinerància"</string>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"Inactiu"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"Està sonant"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"Trucada en curs"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"Desconnectat"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"S\'està connectant"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"Connectat"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Suspesa"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Desconegut"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"paquets"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"bytes"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"Desactiva USB"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"Desactiva la targeta SD"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"Esborra l\'emmagatzematge USB"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"Amplia o redueix la mida del text de la pantalla."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Redueix"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Amplia"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"Text de mostra"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"El meravellós mag d\'Oz"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"Capítol 11: La meravellosa Ciutat Maragda d\'Oz"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"Has de reiniciar el dispositiu per canviar aquesta opció."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"Reinicia"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"Cancel·la"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"Dispositius multimèdia disponibles"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"Dispositius de trucada disponibles"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"Connectats actualment"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"Dispositius multimèdia"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"Dispositius de trucada"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"Altres dispositius"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Dispositius desats"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"El Bluetooth s\'activarà per vincular"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Preferències de connexió"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"El port que has escrit no és vàlid."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"El navegador utilitza un servidor intermediari HTTP, però pot ser que la resta d\'aplicacions no."</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"URL PAC: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"Subidentificador actual:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"Subidentificador de la SIM de dades predeterminada:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"Amplada de banda de baixada (kbps):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"Amplada de banda de pujada (kbps):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"Informació d\'ubicació del mòbil (obsoleta):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"Configuració del canal físic d\'LTE:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"Freqüència d\'actualització de la informació del mòbil:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"Tota la informació de mesures del mòbil:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"Servei de dades:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"Itinerància:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"Redirecció de trucada:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"Nombre de PPP restablerts des de l\'inici:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"Xarxa actual:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"Dades rebudes:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"Servei de veu:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"Intensitat del senyal:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"Estat de la trucada de veu:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"Dades enviades:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"Missatge en espera:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"Número de telèfon:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"Selecciona la banda de senyal mòbil"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"Tipus de xarxa de veu:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"Tipus de xarxa de dades:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"Selecciona la guia telefònica"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"Defineix el tipus de xarxa preferit:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"Fer ping a IPv4 de nom d\'amfitrió (www.google.com):"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"Fer ping a IPv6 de nom d\'amfitrió (www.google.com):"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"Prova de client HTTP:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"Executa la prova de ping"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"Actualitza"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"Actualitza"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"Activa o desactiva la comprovació de DNS"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"Informació/configuració específica d\'OEM"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"Configura el mode de banda de senyal mòbil"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"S\'està carregant la llista de bandes…"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"Defineix"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"Incorrecte"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"Correcte"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"Els canvis s\'aplicaran quan es torni a connectar el cable USB."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"Activa l\'emmagatzematge massiu USB"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"Total de bytes:"</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"Mou a la part inferior"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"Suprimeix l\'idioma"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"Selecció de l\'activitat"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"Informació del dispositiu"</string>
     <string name="display_label" msgid="3056320781191343221">"Pantalla"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"Informació de la tauleta"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"Informació del telèfon"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"Emmagatzematge USB"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"Targeta SD"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"Configuració del servidor intermediari"</string>
@@ -306,9 +234,6 @@
     <string name="airplane_mode" msgid="3196085857882526817">"Mode d\'avió"</string>
     <string name="wireless_networks_settings_title" msgid="8557542379234105369">"Connexions sense fil i xarxes"</string>
     <string name="radio_controls_summary" msgid="9028430178697624501">"Gestiona la Wi-Fi, el Bluetooth, el mode d\'avió, les xarxes mòbils i les VPN"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"Dades mòbils"</string>
-    <string name="calls_title" msgid="6334813967619899114">"Permet les trucades"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"Missatges SMS"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"Permet l\'ús de dades amb una xarxa mòbil"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"Permet ús dades en itinerància"</string>
     <string name="roaming" msgid="3055365654530847985">"Itinerància"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"Connecta\'t a serveis de dades en itinerància"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"Has perdut la connectivitat de dades, perquè has abandonat la xarxa domèstica i la itinerància de dades està desactivada."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"Activa-la"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"És possible que s\'apliquin càrrecs elevats."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"Si permets la itinerància de dades, és possible que se\'t facturin càrrecs d\'itinerància elevats.\n\nAquesta configuració afecta tots els usuaris de la tauleta."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"Si permets la itinerància de dades, és possible que se\'t facturin càrrecs d\'itinerància elevats.\n\nAquesta configuració afecta tots els usuaris del telèfon."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"Es poden aplicar càrrecs per itinerància."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"Si permets la itinerància de dades, és possible que s\'apliquen càrrecs d\'itinerància.\n\nAquesta opció de configuració afecta tots els usuaris de la tauleta."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"Si permets la itinerància de dades, és possible que s\'apliquen càrrecs d\'itinerància.\n\nAquesta opció de configuració afecta tots els usuaris del telèfon."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"Permetre la itinerància de dades?"</string>
     <string name="networks" msgid="5184501333492775095">"Selecció d\'operador"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"Tria un operador de xarxa"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"Desactivada per l\'administrador"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"Mostra l\'opció de bloqueig de seguretat"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"Mostra l\'opció del botó d\'engegada que desactiva Smart Lock, el desbloqueig biomètric i les notificacions a la pantalla de bloqueig"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"Desbloqueig ampliat per a agents de confiança"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"Si s\'activa, els agents de confiança mantindran el dispositiu desbloquejat durant més temps, però ja no podran desbloquejar un dispositiu bloquejat."</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"Bloqueja pantalla si no és de confiança"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"Si s\'activa aquesta opció, el dispositiu es bloquejarà quan l\'últim agent de confiança deixi de ser-ho"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"Cap"</string>
@@ -390,7 +313,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"Defineix La meva ubicació, el desbloqueig de la pantalla, el bloqueig de la targeta SIM i el bloqueig de l\'emmagatzematge de credencials"</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"Defineix La meva ubicació, el desbloqueig de pantalla i el bloqueig d\'emmagatzematge de credencials"</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"Privadesa"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"Desactivada per l\'administrador"</string>
+    <string name="disabled_by_administrator_summary" msgid="5424846182313851124">"No disponible"</string>
     <string name="security_status_title" msgid="6958004275337618656">"Estat de seguretat"</string>
     <string name="security_dashboard_summary_face" msgid="4198949293847206382">"Bloqueig de pantalla, desbloqueig facial"</string>
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Bloqueig de pantalla, empremta digital"</string>
@@ -693,7 +616,6 @@
       <item quantity="other">Ha de tenir <xliff:g id="NUMBER_1">%d</xliff:g> dígits o menys</item>
       <item quantity="one">Ha de tenir <xliff:g id="NUMBER_0">%d</xliff:g> dígit o menys</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"Només pot contenir dígits del 0 al 9"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"L\'administrador del dispositiu no permet que s\'utilitzi un PIN recent"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"L\'administrador de TI ha bloquejat els PIN més comuns. Prova un altre PIN."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"No pot incloure un caràcter no vàlid"</string>
@@ -724,6 +646,10 @@
       <item quantity="other">Ha de contenir com a mínim <xliff:g id="COUNT">%d</xliff:g> caràcters que no siguin lletres</item>
       <item quantity="one">Ha de contenir com a mínim 1 caràcter que no sigui una lletra</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="other">Ha de contenir com a mínim <xliff:g id="COUNT">%d</xliff:g> caràcters que no siguin números</item>
+      <item quantity="one">Ha de contenir com a mínim 1 caràcter que no sigui un número</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"L\'administrador del dispositiu no permet que s\'utilitzi una contrasenya recent"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"L\'administrador de TI ha bloquejat les contrasenyes més comunes. Prova una altra contrasenya."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"No es permet cap seqüència de dígits ascendents, descendents ni repetits"</string>
@@ -837,19 +763,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2,4 GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"Inicia la sessió"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"Obre el lloc web"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"Temps restant: <xliff:g id="REMAINING_TIME">%1$s</xliff:g>"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"Caduca el dia <xliff:g id="EXPIRY_TIME">%1$s</xliff:g>"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"Toca aquí per iniciar la sessió a la xarxa"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"<xliff:g id="REQUESTER">%s</xliff:g> vol activar la Wi-Fi"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"<xliff:g id="REQUESTER">%s</xliff:g> vol desactivar la Wi-Fi"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"Verifica el bytecode d\'aplicacions depurables"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Permet que ART verifiqui el bytecode de les aplicacions depurables"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"Freqüència d\'actualització"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Freqüència d\'actualització de pantalla actual"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"Permet l\'intercanvi de dades quan la tauleta toqui un altre dispositiu"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"Permet l\'intercanvi de dades quan el telèfon toqui un altre dispositiu"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"Permet l\'intercanvi de dades quan la tauleta toqui un dispositiu NFC"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"Permet l\'intercanvi de dades quan el telèfon toqui un dispositiu NFC"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"Activa l\'NFC"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"L\'NFC permet que aquest dispositiu pugui intercanviar dades amb altres dispositius o objectius propers, com ara terminals de pagament, lectors d\'accés o anuncis i etiquetes interactius."</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"Protegeix NFC"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Sol·licita el desbloqueig del dispositiu per a l\'NFC"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"Permet el pagament amb NFC i l\'ús en transport públic només quan la pantalla estigui desbloquejada"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"Preparat per compartir contingut d\'aplicacions per NFC"</string>
@@ -923,8 +855,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Activa"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"S\'ha activat la cerca de xarxes Wi‑Fi"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Opcions avançades"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"Llista desplegable Opcions avançades. Fes doble toc per replegar-la."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"Llista desplegable Opcions avançades. Fes doble toc per desplegar-la."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Llista desplegable Opcions avançades"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"desplega"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"Nom de la xarxa"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"Introdueix l\'SSID"</string>
     <string name="wifi_security" msgid="9095934643631406913">"Seguretat"</string>
@@ -934,6 +866,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"Estat"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"Transmet la velocitat de l\'enllaç"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"Rep la velocitat de l\'enllaç"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"Velocitat d\'enllaç"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"Freqüència"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"Adreça IP"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"Desada mitjançant"</string>
@@ -941,6 +874,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"Mètode EAP"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"Autenticació de fase 2"</string>
     <string name="wifi_eap_ca_cert" msgid="8033404008276298886">"Certificat de CA"</string>
+    <string name="wifi_eap_ocsp" msgid="8713933962516871238">"Estat de certificat en línia"</string>
     <string name="wifi_eap_domain" msgid="8304301470752333203">"Domini"</string>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"Certificat d\'usuari"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"Identitat"</string>
@@ -957,6 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"Tria almenys una banda per al punt d\'accés Wi-Fi:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"Configuració IP"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"Privadesa"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"Subscripció"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"Consulta o canvia la subscripció"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"Adreça MAC aleatòria"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"Afegeix un dispositiu"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"Centra el codi QR a sota per afegir el dispositiu a \"<xliff:g id="SSID">%1$s</xliff:g>\""</string>
@@ -966,12 +902,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"Comparteix la Wi‑Fi"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"Escaneja aquest codi QR per connectar-te a <xliff:g id="SSID">%1$s</xliff:g> i compartir la contrasenya"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"Escaneja aquest codi QR per conectar-te a <xliff:g id="SSID">%1$s</xliff:g>"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"No s\'ha pogut llegir el codi QR. Torna\'l a centrar i prova-ho una altra vegada."</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"Torna-ho a provar. Si el problema continua, contacta amb el fabricant del dispositiu"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"S\'ha produït un error"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"Comprova que el dispositiu tingui bateria i estigui connectat i encès"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"Comprova que el dispositiu tingui bateria i estigui connectat i encès. Si el problema continua, contacta amb el fabricant del dispositiu"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"En aquest dispositiu no es pot afegir \"<xliff:g id="SSID">%1$s</xliff:g>\""</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"Prova d\'acostar el dispositiu al punt d\'accés Wi‑Fi o l\'encaminador"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"Comprova la contrasenya i torna-ho a provar"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"Contacta amb el fabricant del dispositiu"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"Comprova la connexió i torna-ho a provar"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"Tria una xarxa"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"Per connectar el dispositiu, tria una xarxa"</string>
@@ -984,11 +922,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"S\'està compartint la Wi‑Fi amb aquest dispositiu…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"S\'està connectant…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"Comparteix el punt d\'accés Wi‑Fi"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"Verifica que ets tu"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"Verifica que ets tu"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"Contrasenya de la Wi‑Fi: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"Contrasenya del punt d\'accés Wi‑Fi: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"Connexió automàtica"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"Permet que el telèfon es connecti automàticament quan sigui a prop d\'aquesta xarxa"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"Permet que la tauleta es connecti automàticament quan sigui a prop d\'aquesta xarxa"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"Afegeix un dispositiu"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"Utilitza un codi QR per afegir un dispositiu a aquesta xarxa"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"El codi QR no té un format vàlid"</string>
     <string name="retry" msgid="7542103800274026915">"Torna-ho a provar"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"Comparteix amb altres usuaris del dispositiu"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(sense canvis)"</string>
@@ -1000,6 +942,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"No s\'ha especificat cap certificat. La connexió no serà privada."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"El nom de la xarxa és massa llarg."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"Has d\'especificar un domini."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"Es necessita un certificat."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"WPS disponible"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (WPS disponible)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"Xarxa Wi-Fi de l\'operador"</string>
@@ -1051,7 +994,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"Config. avançada de Wi-Fi"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"Adreça MAC"</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_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>
@@ -1103,7 +1047,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"Utilitza el punt d\'accés Wi-Fi per crear una xarxa Wi-Fi per a altres dispositius. El punt d\'accés Wi-Fi proporciona Internet mitjançant la teva connexió de dades mòbils. És possible que s\'hi apliquin càrrecs addicionals per l\'ús de dades mòbils."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"Les aplicacions poden crear un punt d\'accés Wi-Fi per compartir contingut amb els dispositius que es trobin a prop."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Desactiva el punt d\'accés Wi-Fi automàticament"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"El punt d\'accés Wi-Fi es desactivarà si no hi ha cap dispositiu connectat"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Quan no hi ha cap dispositiu connectat"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"S\'està activant el punt d\'accés Wi-Fi…"</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"S\'està desactivant el punt d\'accés Wi-Fi…"</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> està actiu"</string>
@@ -1112,6 +1056,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"Configuració del punt d\'accés Wi-Fi"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"Punt d\'accés Wi-Fi PSK AndroidAP WPA2"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"AndroidHotspot"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"Vols desar aquesta xarxa?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"<xliff:g id="APPNAME">%1$s</xliff:g> vol desar una xarxa al teu telèfon"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"<xliff:g id="APPNAME">%1$s</xliff:g> vol desar una xarxa a la teva tauleta"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"S\'està desant…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"S\'ha desat"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"No es pot desar. Torna-ho a provar."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"Vols desar les xarxes?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"<xliff:g id="APPNAME">%1$s</xliff:g> vol desar aquestes xarxes al teu telèfon"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"<xliff:g id="APPNAME">%1$s</xliff:g> vol desar aquestes xarxes a la teva tauleta"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"S\'estan desant <xliff:g id="NUMBER">%d</xliff:g> xarxes…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"S\'han desat les xarxes"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"Trucades per Wi-Fi"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"Amplia les trucades amb una connexió Wi-Fi"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"Activa Trucades per Wi-Fi per ampliar la cobertura"</string>
@@ -1138,16 +1093,18 @@
     <string name="emergency_address_title" msgid="3490633500025717573">"Adreça d\'emergència"</string>
     <string name="emergency_address_summary" msgid="3022628750270626473">"S\'utilitza com la teva ubicació si fas una trucada d\'emergència per Wi-Fi"</string>
     <string name="private_dns_help_message" msgid="851221502063782306"><annotation id="url">"Més informació"</annotation>" sobre les funcions de DNS privat"</string>
+    <string name="private_dns_mode_on" msgid="8878679071975375696">"Activat"</string>
     <string name="wifi_calling_pref_managed_by_carrier" msgid="129524064888622179">"Opció gestionada per l\'operador de telefonia mòbil"</string>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"Activa Trucades per Wi-Fi"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"Activa Trucades per Wi-Fi"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"Les trucades per Wi‑Fi no són compatibles amb %1$s"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"S\'ha desconnectat de la xarxa <xliff:g id="SSID">%1$s</xliff:g>"</string>
     <string name="carrier" msgid="1755020806290963951">"Operador de telefonia mòbil"</string>
     <string name="display_settings_title" msgid="626835071804834218">"Pantalla"</string>
     <string name="sound_settings" msgid="5514582720435174014">"So"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"Volum"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"Efectes musicals"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"Volum del to"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"Volum de les trucades i notificacions"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"Vibra quan estigui en silenci"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"So de notificació predeterminat"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"So de trucada"</string>
@@ -1272,13 +1229,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"Programa"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"Cap"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"S\'activa del vespre a l\'alba"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"S\'activa a una hora personalitzada"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"Estat"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"Desactivat (<xliff:g id="ID_1">%1$s</xliff:g>)"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"No s\'activarà mai automàticament"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"S\'activarà automàticament al vespre"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"S\'activarà automàticament a les <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"Activat / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"No es desactivarà mai automàticament"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"Es desactivarà automàticament a l\'alba"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"Es desactivarà automàticament a les <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"Activa fins a les <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"Desactiva fins a les <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"El tema fosc utilitza un fons negre en algunes pantalles perquè la bateria duri més. Les programacions del tema fosc no s\'activen fins que la pantalla està desactivada."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"Temps d\'espera de la pantalla"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"La pantalla s\'apaga"</string>
@@ -1290,7 +1252,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"Canvia el fons de pantalla"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"Personalitza la pantalla"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"Selecciona fons de pantalla de"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"Personalitza el teu Pixel"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"Personalitza el telèfon"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"Prova diferents estils, fons de pantalla i més"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"Estalvi de pantalla"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Mentre es carrega o està acoblat a la base"</string>
@@ -1379,6 +1341,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"Desactiva l\'emmagatzematge USB, mostra l\'emmagatzematge disponible"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"Desactiva la targeta SD, visualitza l\'emmagatzematge disponible"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (ranura de la targeta SIM %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"Selecciona una xarxa desada per veure-la"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"Número de telèfon"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (ranura de la SIM %1$d)"</string>
@@ -1405,6 +1368,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"Itinerància"</string>
     <string name="status_operator" msgid="4335640583552058491">"Xarxa"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"Adreça MAC de Wi-Fi"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"Adreça MAC de la xarxa Wi‑Fi del dispositiu"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"Adreça Bluetooth"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Número de sèrie"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Temps actiu"</string>
@@ -1617,6 +1581,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"S\'ha restablert la configuració predeterminada d\'APN."</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"Opcions de restabliment"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"Es poden restablir la xarxa, les aplicacions o el dispositiu"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"Les aplicacions es poden restablir"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"Restableix Wi-Fi, dades mòbils i Bluetooth"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"Es restabliran totes les opcions de configuració de la xarxa, inclosos:\n\n"<li>"la Wi‑Fi"</li>\n<li>"les dades mòbils"</li>\n<li>"el Bluetooth"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"Esborra les SIM baixades"</string>
@@ -1666,6 +1631,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"Punt d\'accés Wi-Fi activat"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"Compartició de xarxa"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"No es pot compartir la xarxa ni utilitzar punts d\'accés Wi-Fi mentre la funció Economitzador de dades està activada"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"Només punt d\'accés Wi‑Fi"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"Només USB"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"Només Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"Punt d\'accés Wi‑Fi i USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"Punt d\'accés Wi‑Fi i Bluetooth"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB i Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"Punt d\'accés Wi‑Fi, USB i Bluetooth"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"No s\'està compartint la connexió a Internet amb altres dispositius"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"Compartició de xarxa"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"No utilitzis el punt d\'accés Wi‑Fi"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Comparteix Internet només per USB"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Comparteix Internet només per Bluetooth"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Comparteix Internet només per USB i Bluetooth"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"Compartició de xarxa per USB"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"Comparteix la connexió a Internet del telèfon per USB"</string>
@@ -1756,9 +1734,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"Informació de seguretat"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"No tens cap connexió de dades. Per visualitzar aquesta informació ara, dirigeix-te a %s des d\'un ordinador connectat a Internet."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"S\'està carregant…"</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"Utilitza el PIN"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"Utilitza el patró"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"Utilitza la contrasenya"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"Defineix un bloqueig de pantalla"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"Per motius de seguretat, cal que defineixis una contrasenya"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"Defineix una contrasenya"</string>
@@ -1767,8 +1742,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"Per utilitzar l\'empremta, defineix un PIN"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"Per motius de seguretat, cal que defineixis un patró"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"Torna a introduir la contrasenya"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"Introdueix la contrasenya de la feina"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"Confirma el patró"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"Introdueix el patró de la feina"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"Torna a introduir el PIN"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"Introdueix el PIN de la feina"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"Les contrasenyes no coincideixen"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"Els codis PIN no coincideixen"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"Torna a dibuixar el patró"</string>
@@ -1779,6 +1757,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"Desbloqueig facial: cal una contrasenya"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"Per al desbloqueig facial, cal un patró"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"Per al desbloqueig facial, cal un PIN"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"Has oblidat la contrasenya?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"Has oblidat el patró?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"Has oblidat el PIN?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"Utilitza el patró del dispositiu per continuar"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"Introdueix el PIN del dispositiu per continuar"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"Introdueix la contrasenya del dispositiu per continuar"</string>
@@ -1846,6 +1827,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"Permet totes les fonts d\'apl."</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"Aplicacions obertes fa poc"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"Mostra totes les aplicacions (<xliff:g id="COUNT">%1$d</xliff:g>)"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"Contacta amb l\'administrador de TI"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"Et poden ajudar a restablir el PIN, el patró o la contrasenya"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"La tauleta i les dades personals són més vulnerables a atacs d\'aplicacions desconegudes. En instal·lar aplicacions d\'aquesta font, acceptes que ets responsable de qualsevol dany a la tauleta i qualsevol pèrdua de dades que es pugui produir per l\'ús d\'aquestes aplicacions."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"El telèfon i les dades personals són més vulnerables a atacs d\'aplicacions desconegudes. En instal·lar aplicacions d\'aquesta font, acceptes que ets responsable de qualsevol dany al telèfon i qualsevol pèrdua de dades que es pugui produir per l\'ús d\'aquestes aplicacions."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"El dispositiu i les dades personals són més vulnerables a atacs d\'aplicacions desconegudes. En instal·lar aplicacions d\'aquesta font, acceptes que ets responsable de qualsevol dany al dispositiu i de qualsevol pèrdua de dades que es pugui produir per l\'ús d\'aquestes aplicacions."</string>
@@ -1897,7 +1880,7 @@
     <string name="default_emergency_app" msgid="1929974800666613803">"Aplicació en casos d\'emergència"</string>
     <string name="reset_app_preferences" msgid="8861758340732716573">"Restableix les preferències d\'aplicacions"</string>
     <string name="reset_app_preferences_title" msgid="8935136792316050759">"Restablir les preferències d\'aplicacions?"</string>
-    <string name="reset_app_preferences_desc" msgid="1377296810290814749">"Es restabliran les preferències de:\n\n "<li>"Aplicacions desactivades"</li>\n" "<li>"Notificacions d\'aplicacions desactivades"</li>\n" "<li>"Aplicacions predeterminades per a accions"</li>\n" "<li>"Restriccions de dades en segon pla per a aplicacions"</li>\n" "<li>"Restriccions de permisos"</li>\n\n" No es perdran les dades de les aplicacions."</string>
+    <string name="reset_app_preferences_desc" msgid="6509978724602405805">"Amb aquesta acció, es restabliran les preferències dels elements següents:\n\n"<li>"aplicacions desactivades"</li>\n<li>"notificacions d\'aplicacions desactivades"</li>\n<li>"aplicacions predeterminades per a les accions"</li>\n<li>"restriccions de dades en segon pla per a les aplicacions"</li>\n<li>"restriccions de permisos"</li>\n\n"No perdràs les dades de les aplicacions."</string>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"Restableix aplicacions"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"Gestiona l\'espai"</string>
     <string name="filter" msgid="9039576690686251462">"Filtra"</string>
@@ -2097,7 +2080,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"Àudio i text en pantalla"</string>
     <string name="display_category_title" msgid="6638191682294461408">"Pantalla"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"Controls d\'interacció"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"Serveis baixats"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"Aplicacions baixades"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"Experimental"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"Marques de funcions"</string>
     <string name="talkback_title" msgid="8756080454514251327">"Talkback"</string>
@@ -2105,27 +2088,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"Toca els elements de la pantalla per sentir-los en veu alta"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"Preferències dels subtítols"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"Ampliació"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"Àrea d\'ampliació"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"Activa l\'ampliació"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"Tria les àrees d\'ampliació que vols utilitzar en ampliar la pantalla"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"Pantalla completa"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"Pantalla parcial"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"Pantalla completa i pantalla parcial"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"Amplia tota la pantalla"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"Amplia una part de la pantalla"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Configuració de l\'ampliació"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"Amplia amb tres tocs"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Amplia amb una drecera"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Amplia amb una drecera i tres tocs"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"Sobre <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"Opcions"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"Amplia la pantalla"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"Toca tres cops per fer zoom"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Toca un botó per fer zoom"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><b>"Per ampliar la imatge"</b>", fes tres tocs ràpids a la pantalla.\n"<ul><li>"Arrossega dos dits o més per desplaçar-la"</li>\n<li>"Pinça la pantalla unint dos dits o més per ajustar el zoom"</li></ul>\n\n<b>"Per fer zoom de manera temporal"</b>", fes tres tocs ràpids a la pantalla i mantén-la premuda al tercer toc.\n"<ul><li>"Arrossega el dit per desplaçar-te per la pantalla"</li>\n<li>"Aixeca\'l per allunyar la imatge"</li></ul>\n\n"No pots fer zoom al teclat ni a la barra de navegació."</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"Quan l\'opció d\'ampliació està activada, pots ampliar la pantalla.\n\n"<b>"Per ampliar-la"</b>", activa l\'opció i toca qualsevol punt de la pantalla.\n"<ul><li>"• Arrossega dos o més dits per desplaçar-te"</li>\n<li>"• Pinça amb dos o més dits per ajustar el zoom"</li></ul>\n\n<b>"Per fer zoom temporalment"</b>", activa l\'ampliació i mantén premut qualsevol punt de la pantalla.\n"<ul><li>"• Arrossega per moure\'t per la pantalla"</li>\n<li>"• Aixeca els dits per allunyar la pantalla"</li></ul>\n\n"No es pot ampliar el teclat ni la barra de navegació."</string>
+    <string name="accessibility_screen_magnification_summary" msgid="7617931632990040045">"Amplia la pantalla ràpidament per veure més clarament el contingut.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Per ampliar-la:&lt;/b&gt;&lt;br/&gt;	1. Utilitza una drecera per iniciar l\'ampliació.&lt;br/&gt;	2. Toca la pantalla.&lt;br/&gt;	3. Arrossega 2 dits per moure\'t per la pantalla.&lt;br/&gt;	4. Pinça amb 2 dits per ajustar el zoom.&lt;br/&gt;	5. Utilitza una drecera per aturar l\'ampliació.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Per ampliar la pantalla temporalment:&lt;/b&gt;&lt;br/&gt;	1. Utilitza una drecera per iniciar l\'ampliació.&lt;br/&gt;	2. Mantén premut qualsevol punt de la pantalla.&lt;br/&gt;	3. Arrossega un dit per moure\'t per la pantalla.&lt;br/&gt;	4. Aixeca el dit per aturar l\'ampliació."</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Quan l\'opció d\'ampliació està activada, pots ampliar la pantalla.\n\n"<b>"Per ampliar-la"</b>", activa l\'opció i toca qualsevol punt de la pantalla.\n"<ul><li>"Arrossega dos o més dits per desplaçar-te."</li>\n<li>"Pinça amb dos o més dits per ajustar el zoom."</li></ul>\n\n<b>"Per fer zoom temporalment"</b>", activa l\'ampliació i mantén premut qualsevol punt de la pantalla.\n"<ul><li>"Arrossega per moure\'t per la pantalla."</li>\n<li>"Aixeca el dit per allunyar la pantalla."</li></ul>\n\n"No es pot ampliar el teclat ni la barra de navegació."</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Utilitza el botó d\'accessibilitat per obrir"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Utilitza un gest per obrir"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"Utilitza un nou gest d\'accessibilitat"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"Per activar o desactivar aquest servei, toca el botó d\'accessibilitat <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> a la part inferior de la pantalla.\n\nPer canviar entre serveis, mantén premut el botó d\'accessibilitat."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"Per activar o desactivar aquest servei, llisca cap amunt amb dos dits des de la part inferior de la pantalla.\n\nPer canviar entre serveis, llisca cap amunt amb dos dits i mantén premut."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"Per activar o desactivar aquest servei, llisca cap amunt amb tres dits des de la part inferior de la pantalla.\n\nPer canviar entre serveis, llisca cap amunt amb tres dits i mantén premut."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"Per activar o desactivar un servei d\'accessibilitat, llisca cap amunt amb dos dits des de la part inferior de la pantalla.\n\nPer canviar entre serveis, llisca cap amunt amb dos dits i mantén premut."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"Per activar o desactivar un servei d\'accessibilitat, llisca cap amunt amb tres dits des de la part inferior de la pantalla.\n\nPer canviar entre serveis, llisca cap amunt amb tres dits i mantén premut."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"Per activar o desactivar aquest servei, toca el botó d\'accessibilitat <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> a la part inferior de la pantalla.\n\nPer canviar entre serveis, mantén premut el botó d\'accessibilitat."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"Per activar o desactivar aquest servei, llisca cap amunt amb dos dits des de la part inferior de la pantalla.\n\nPer canviar entre serveis, llisca cap amunt amb dos dits i mantén premut."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"Per activar o desactivar aquest servei, llisca cap amunt amb tres dits des de la part inferior de la pantalla.\n\nPer canviar entre serveis, llisca cap amunt amb tres dits i mantén premut."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"Per activar o desactivar un servei d\'accessibilitat, llisca cap amunt amb dos dits des de la part inferior de la pantalla.\n\nPer canviar entre serveis, llisca cap amunt amb dos dits i mantén premut."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"Per activar o desactivar un servei d\'accessibilitat, llisca cap amunt amb tres dits des de la part inferior de la pantalla.\n\nPer canviar entre serveis, llisca cap amunt amb tres dits i mantén premut."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"Entesos"</string>
+    <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Drecera de <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_edit_summary_software" msgid="2820923641553461297">"Botó d\'accessibilitat"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture" msgid="8078659880723370597">"Llisca cap amunt amb 2 dits"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture_talkback" msgid="7422753388389160524">"Llisca cap amunt amb 3 dits"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software" msgid="4796192466943479849">"Toca el botó d\'accessibilitat"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8922102767509399352">"Toca el botó d\'accessibilitat <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> a la part inferior de la pantalla"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"Llisca cap amunt amb 2 dits des de la part inferior de la pantalla"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"Llisca cap amunt amb 3 dits des de la part inferior de la pantalla"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Mantén premudes les tecles de volum"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"Mantén premudes les dues tecles de volum durant 1 segon"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Fes tres tocs a la pantalla"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"Toca la pantalla 3 cops ràpidament. És possible que aquesta drecera alenteixi el dispositiu."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"Configuració avançada"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"El botó d\'accessibilitat està configurat per a <xliff:g id="SERVICE">%1$s</xliff:g>. Per utilitzar la funció d\'ampliació, toca i mantén premut el botó d\'accessibilitat i, a continuació, selecciona l\'ampliació."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"El gest d\'accessibilitat està definit per a la funció <xliff:g id="SERVICE">%1$s</xliff:g>. Per utilitzar l\'ampliació, fes lliscar els dos dits cap amunt des de la part inferior de la pantalla i mantén premut. A continuació, selecciona l\'amplificació."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"Drecera per a tecles de volum"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"Servei associat a la drecera"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Configuració de dreceres"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"Permet a la pantalla de bloqueig"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"Quan la drecera està activada, pots prémer les dues tecles de volum durant 3 segons per iniciar una funció d\'accessibilitat."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"Text d\'alt contrast"</string>
@@ -2149,24 +2157,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"Selecciona el temps que vols tenir per llegir els missatges que es mostren temporalment i et demanen que duguis a terme una acció.\n\nAquesta opció no és compatible amb totes les aplicacions."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"Retard en mantenir premut"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"Inversió dels colors"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"Pot afectar el rendiment"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"Temps de permanència"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"Utilitza la inversió dels colors"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"La inversió de color converteix les pantalles clares en fosques. Això ajuda les persones sensibles a les llums brillants a veure millor la pantalla.&lt;br/&gt;&lt;br/&gt;Nota: els colors foscos es tornaran clars. Els colors canviaran al contingut multimèdia i a les imatges. També pots utilitzar el tema fosc (Configuració &gt; Pantalla)."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"Clic automàtic (temps de permanència)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"Si utilitzes un ratolí, pots configurar-lo perquè el cursor faci accions automàticament quan deixi de moure\'s durant un determinat període de temps."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"Retard abans del clic"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"Desactiva el clic automàtic (pred.)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"Curt"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0,2 segons"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"Mitjà"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0,6 segons"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"Llarg"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 segon"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"Personalitzat"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"Més curt"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"Més llarg"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"Temps del clic automàtic"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"Vibració i força hàptica"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Vibració de les notificacions"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Vibració de les trucades"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Resposta tàctil"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"Utilitza el servei"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"Utilitza <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"Obre <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"Utilitza la correcció del color"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"Utilitza subtítols"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"Mostra els subtítols"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"Aparença dels subtítols"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"Mida del text, estil dels subtítols"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"Més opcions"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"No totes les aplicacions són compatibles amb aquesta opció de configuració."</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"Botó d\'accessibilitat"</string>
+    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"Llisca amb dos dits des de la part inferior"</string>
+    <string name="accessibility_shortcut_type_hardware" msgid="4834144210432451916">"Mantén premudes les tecles de volum"</string>
+    <string name="accessibility_shortcut_type_triple_tap" msgid="7717524216825494543">"Tres tocs a la pantalla"</string>
     <string name="accessibility_hearingaid_instruction_continue_button" msgid="3367260988024430722">"Continua"</string>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"Audiòfons"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"No hi ha cap audiòfon connectat"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"Afegeix uns audiòfons"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"Per vincular els audiòfons, cerca i toca el dispositiu a la pantalla següent."</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"Comprova que els audiòfons estiguin en mode de vinculació."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"Per vincular els audiòfons, cerca i toca el dispositiu a la pantalla següent. Comprova que els audiòfons estiguin en mode de vinculació."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"El dispositiu <xliff:g id="DEVICE_NAME">%1$s</xliff:g> està actiu"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="other">S\'han desat <xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> audiòfons</item>
@@ -2178,25 +2204,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Aquest servei no funciona correctament."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Mostra a configuració ràpida"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"Mode de correcció"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="other">Retard molt breu (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Retard molt breu (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Vermell-verd"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"Verd-vermell"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Blau-groc"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"Deuteranomalia"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"Protanomalia"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"Tritanomalia"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="other">Retard extremament breu (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> segons)</item>
+      <item quantity="one">Retard extremament breu (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> segon)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="other">Retard molt breu (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Retard molt breu (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="other">Retard molt breu (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> segons)</item>
+      <item quantity="one">Retard molt breu (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> segon)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="other">Retard breu (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Retard breu (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="other">Retard breu (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> segons)</item>
+      <item quantity="one">Retard breu (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> segon)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="other">Retard llarg (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Retard llarg (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="other">Retard llarg (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> segons)</item>
+      <item quantity="one">Retard llarg (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> segon)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="other">Retard molt llarg (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Retard molt llarg (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="other">Retard molt llarg (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> segons)</item>
+      <item quantity="one">Retard molt llarg (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> segon)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> segons</item>
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> segon</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"Trucades: <xliff:g id="SUMMARY_RING">%1$s</xliff:g>; notificacions: <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>; tocs: <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"S\'ha desactivat la vibració per als sons i per a les notificacions"</string>
@@ -2513,7 +2549,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"Mentre es va desconnectar per darrera vegada durant <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"Totals d\'ús"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"Actualitza"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"Android OS"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"Servidor multimèdia"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"Optimització de l\'aplicació"</string>
     <string name="battery_saver" msgid="7737147344510595864">"Estalvi de bateria"</string>
@@ -2594,8 +2629,7 @@
     <string name="tts_play" msgid="2945513377250757221">"Reprodueix"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"Emmagatzematge de credencials"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"Instal·la des de l\'emmagatzematge"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"Instal·la des de la targeta SD"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"Instal·la un certificat"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"Instal·la els certificats des de l\'emmagatzematge"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"Instal·la els certificats des de la targeta SD"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"Esborra els certificats"</string>
@@ -2615,6 +2649,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"Emmagatzematge de credencials esborrat."</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"L\'emmagatzematge de credencials no s\'ha esborrat."</string>
     <string name="usage_access_title" msgid="1580006124578134850">"Apps amb accés a dades d\'ús"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"Certificat de CA"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"Certificat d\'usuari d\'app i VPN"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"Certificat de Wi‑Fi"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"La teva privadesa està en perill"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"Els certificats de CA s\'utilitzen en llocs web, aplicacions i VPN per a l\'encriptació. Instal·la només certificats de CA d\'\'organitzacions en què confiïs. \n\n Si instal·les un certificat de CA, el propietari del certificat pot accedir a la teva informació (com ara contrasenyes, missatges o detalls de la targeta de crèdit), als llocs web que visitis o a les aplicacions que utilitzis, fins i tot encara que la informació estigui encriptada."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"No instal·lis"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"Instal·la igualment"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"No s\'ha instal·lat el certificat"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"Senyal de trucada d\'emergència"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Defineix el comportament quan es fa una trucada d\'emergència"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Còpia de seguretat"</string>
@@ -2642,10 +2684,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"Desactiva i desinstal·la"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"Aplicacions d\'administració del dispositiu"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"No hi ha cap aplicació d\'administració disponible"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"Personal"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"Professional"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"Restringeix accés a SMS i registre de trucades"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"Només les aplicacions de trucades i missatgeria predeterminades tenen accés als SMS i al registre de trucades"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"No hi ha agents de confiança disponibles."</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"Activar l\'app d\'admin. del dispositiu?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"Activa l\'aplicació d\'administració d\'aquest dispositiu"</string>
@@ -2659,6 +2697,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"L\'administrador ha desactivat altres opcions"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"Més dades"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"Registre de notificacions"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"Historial de notificacions"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"Avui"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"Posposades"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"Ignorades recentment"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> notificacions</item>
+      <item quantity="one"><xliff:g id="NUMBER_0">%d</xliff:g> notificació</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"So de trucada i vibració"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"Detalls de la xarxa"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"Sincronització activada"</string>
@@ -3008,7 +3054,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"Restriccions"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"Suprimeix restriccions"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"Canvia el PIN"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"Mostra les notificacions"</string>
     <string name="help_label" msgid="2896538416436125883">"Ajuda i suggeriments"</string>
     <string name="support_summary" msgid="1034146931237148885">"Articles d\'ajuda, telèfon i xat, com començar"</string>
     <string name="user_account_title" msgid="6389636876210834864">"Compte per al contingut"</string>
@@ -3033,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"Trucades 4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Utilitza els serveis LTE per millorar la veu i la comunicació (opció recomanada)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Utilitza els serveis 4G per millorar la veu i la comunicació (opció recomanada)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Detecció de contactes"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Permet que el teu operador detecti quines funcions de trucada admeten els teus contactes."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Vols activar la detecció de contactes?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Si actives aquesta funció, el teu operador tindrà accés als números de telèfon dels teus contactes per detectar quines funcions de trucada admeten."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Tipus de xarxa preferent"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (opció recomanada)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"Missatges MMS"</string>
@@ -3077,7 +3126,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"Truca mitjançant"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"Selecciona una targeta SIM"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"SIM <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"Targeta SIM buida"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"Nom de la SIM"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"Introdueix el nom de la SIM"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"Ranura de la targeta SIM %1$d"</string>
@@ -3087,6 +3135,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"Selecciona una targeta SIM"</string>
     <string name="color_orange" msgid="216547825489739010">"Taronja"</string>
     <string name="color_purple" msgid="6603701972079904843">"Porpra"</string>
+    <string name="color_pink" msgid="8596872110888626708">"Rosa"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"No s\'ha inserit cap targeta SIM."</string>
     <string name="sim_status_title" msgid="6188770698037109774">"Estat de la SIM"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"Estat de la SIM (ranura de la SIM %1$d)"</string>
@@ -3100,7 +3149,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"S\'han canviat les targetes SIM"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Toca per configurar"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"SIM preferida per a"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Pregunta sempre"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Has de seleccionar una preferència."</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"Selecció de SIM"</string>
@@ -3118,6 +3166,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"Bluetooth, mode de conducció"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"Bluetooth, NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"Bluetooth"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"No està disponible perquè la funció NFC està desactivada"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"Aplicacions i notificacions"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Aplicacions recents, aplicacions predeterminades"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Les aplicacions del perfil de treball no tenen accés a les notificacions."</string>
@@ -3128,13 +3177,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"Configuració"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"wi-fi, Wi-Fi, connexió de xarxa, Internet, sense fil, dades, wifi"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"notificació Wi‑Fi, notificació wifi"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"ús de dades"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"aturar la vibració, tocar, teclat"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"Utilitza el format de 24 hores"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"baixar"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"Obre amb"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"Aplicacions"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"zona horària"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"Principi del xat"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"Principi del xat, sistema, alerta, finestra, diàleg, mostrar, sobre altres aplicacions, dibuixar"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"Llanterna, Llum"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"wifi, wi-fi, commutador, control"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"telèfon, mòbil, operador de telefonia mòbil, sense fil, dades, 4g, 3g, 2g, lte"</string>
@@ -3158,7 +3208,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"no molestis, interrompeixis interrupció, pausa"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"a prop, ubicació, historial, informes, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"compte"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"compte, afegir un compte, perfil de treball, afegir compte"</string>
     <string name="keywords_users" msgid="3497517660077620843">"restricció, restringir, restringit"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"text, correcció, correcte, so, vibració, automàtic, idioma, gest, suggerir, suggeriment, tema, ofensiu, paraula, tipus, emoji, internacional"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"restablir, preferències, predeterminades"</string>
@@ -3196,6 +3246,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"memòria, memòria cau, dades, suprimir, esborrar, alliberar, espai"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"connectat, dispositiu, auriculars, auriculars amb micro, altaveu, sense fil, vincular, música, multimèdia"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"fons, pantalla, pantalla de bloqueig, tema"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"forma de la icona, color per destacar, tipus de lletra"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"predeterminat, assistent"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"pagament, predeterminat"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"notificació entrant"</string>
@@ -3205,18 +3256,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"sensors tàctils, vibrar, sensibilitat"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"estalvi de bateria, fixa, duració, estalvi d\'energia, bateria"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"rutina, programació, estalvi de bateria, estalvi d\'energia, bateria, automàtic, percentatge"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"perfil de treball"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"volte, trucades avançades, trucades 4g"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"afegir idioma, afegir un idioma"</string>
     <string name="default_sound" msgid="6604374495015245195">"So predeterminat"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"Volum del to: <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"El volum de les trucades i notificacions està establert al <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Volum, vibració, No molestis"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"Timbre en vibració"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"Timbre en silenci"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"Volum del to: 80%"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"El volum de les trucades i notificacions està establert al 80%"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Volum de multimèdia"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Volum emès"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"Volum de trucada"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"Volum de l\'alarma"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"Volum del to"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"Volum trucades i notificacions"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"Volum de notificació"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"So de trucada"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"So de notificació predeterminat"</string>
@@ -3224,6 +3276,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"So de notificació predeterminat"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"So d\'alarma predeterminat"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"Vibra en trucades"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"Sense vibració"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"Vibra sempre"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"Vibra i després sona amb augment gradual"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"Altres sons"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"Tons del teclat"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"Sons de bloqueig de pantalla"</string>
@@ -3247,6 +3302,7 @@
       <item quantity="one">S\'ha activat 1 programació</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"No molestis"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Rebre notificacions només de persones i aplicacions importants"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Restringeix les interrupcions"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Activa el mode No molestis"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"Excepcions"</string>
@@ -3273,7 +3329,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Bloqueja interrupcions visuals"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Permet senyals visuals"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"Quan està activat el mode No molestis"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"Permet les interrupcions que reprodueixen algun so"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"Restringeix les notificacions"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Notificacions sense so"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"Veuràs notificacions a la pantalla"</string>
@@ -3304,7 +3360,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"So i vibració"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"So, vibració i alguns senyals visuals de les notificacions"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"So, vibració i senyals visuals de les notificacions"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"Les notificacions necessàries per a l\'estat i les activitats bàsiques del telèfon no s\'amagaran mai"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"Les notificacions necessàries per a l\'estat i les activitats bàsiques del telèfon no s\'amagaran mai."</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"Cap"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"Altres opcions"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"Afegeix"</string>
@@ -3334,10 +3390,12 @@
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> programacions es poden activar automàticament</item>
       <item quantity="one">1 programació es pot activar automàticament</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"Silencia el dispositiu, però permet excepcions"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"Excepcions"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"Programació"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"Mostra totes les excepcions"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"Excepcions si està activat el mode No molestis"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"Persones"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"Aplicacions"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"Alarmes i altres interrupcions"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"Programacions"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"Notificacions silenciades"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"Quan actives el mode No molestis, el so i la vibració se silencien excepte per a aquells elements que hagis permès més amunt."</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"Silencia-ho tot excepte"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"Silenciat"</string>
@@ -3381,16 +3439,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"Notificacions adaptatives"</string>
     <string name="asst_capability_prioritizer_title" msgid="1181272430009156556">"Prioritat de notificacions adaptativa"</string>
     <string name="asst_capability_prioritizer_summary" msgid="954988212366568737">"Estableix automàticament les notificacions de prioritat baixa com a discretes"</string>
+    <string name="asst_capability_ranking_title" msgid="312998580233257581">"Classificació de les notificacions adaptatives"</string>
+    <string name="asst_capability_ranking_summary" msgid="2293524677144599450">"Classifica automàticament les notificacions per ordre de rellevància"</string>
     <string name="asst_capabilities_actions_replies_title" msgid="4392470465646394289">"Accions i respostes suggerides"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"Mostra automàticament les accions i respostes suggerides"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"Activa l\'historial de notificacions per fer un seguiment de les notificacions passades i posposades"</string>
+    <string name="notification_history" msgid="8663811361243456201">"Historial de notificacions"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"Activa l\'historial"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"Desactiva l\'historial"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"L\'historial de notificacions està desactivat"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"mostrar la configuració de notificacions"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Permet posposar les notificacions"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"Amaga les icones de les notificacions discretes"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"Les icones de les notificacions discretes no es mostren a la barra d\'estat"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"Permet els punts de notificació"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"Mostra la barra de converses recents"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Bombolles"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"Algunes notificacions poden mostrar-se en forma de bombolles a la pantalla"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"Algunes notificacions i altres tipus de contingut poden mostrar-se en forma de bombolles a la pantalla. Toca una bombolla per obrir-la. Per ignorar-la, arrossega-la fins a la part inferior de la pantalla."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Bombolles"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"Els missatges nous es mostraran a la pantalla"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"Permet que <xliff:g id="APP_NAME">%1$s</xliff:g> mostri algunes notificacions com a bombolles"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"Activa les bombolles"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"Per activar els quadres d\'ajuda en aquesta aplicació, primer els has d\'activar al dispositiu. Això afecta altres aplicacions en què has activat els quadres d\'ajuda."</string>
@@ -3408,6 +3476,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"Es mostra a l\'àrea de notificacions i a la pantalla de bloqueig"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"Es mostra a l\'àrea desplegable i la barra d\'estat"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"Es mostra a l\'àrea desplegable, la barra d\'estat i la pantalla de bloqueig"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"Amaga les notificacions silencioses a la barra d\'estat"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"Llum intermitent"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"Pantalla de bloqueig"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"Omet la pantalla de bloqueig"</string>
@@ -3438,6 +3507,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"Comportament"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"Permet el so"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"No mostris mai notificacions"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"Converses"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"Conversa"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"No és una conversa"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"Suprimeix de la secció de converses"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"És una conversa"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"Afegeix a la secció de converses"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"Gestiona les converses"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"Converses importants"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"Totes les converses"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"Mostra les converses importants com a bombolles"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"Les converses importants es mostren a la part superior de l\'àrea desplegable. També pots definir que es mostrin com a bombolla i interrompin el mode No molestis."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"Mostra silenciosament i minimitza"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"Mostra silenciosament"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"Emet so"</string>
@@ -3456,7 +3536,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"T\'ajuda a concentrar-te sense so ni vibració"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"Atrau la teva atenció amb so i vibració"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"Quan el dispositiu estigui desbloquejat, mostra les notificacions en forma de bàner a la part superior de la pantalla"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"Mostra les notificacions"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"Totes les notificacions de l\'aplicació <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"Notificacions adaptatives"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="other">~<xliff:g id="NUMBER_1">%d</xliff:g> notificacions al dia</item>
@@ -3477,6 +3557,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"Notificacions adaptatives"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"Cap"</string>
     <string name="no_notification_listeners" msgid="2839354157349636000">"Cap aplicació instal·lada no ha sol·licitat accés a les notificacions."</string>
+    <string name="notification_access_detail_switch" msgid="46386786409608330">"Permet l\'accés a les notificacions"</string>
     <string name="notification_assistant_security_warning_title" msgid="2972346436050925276">"Vols que <xliff:g id="SERVICE">%1$s</xliff:g> tingui accés a les notificacions?"</string>
     <string name="notification_assistant_security_warning_summary" msgid="3119843404577399036">"<xliff:g id="NOTIFICATION_ASSISTANT_NAME">%1$s</xliff:g> podrà llegir totes les notificacions, inclosa la informació personal, com ara els noms dels contactes i el text dels missatges que rebis. També podrà modificar o ignorar les notificacions o activar els botons d\'acció que continguin. \n\nL\'aplicació també podrà activar i desactivar el mode No molestis i canviar la configuració que hi estigui relacionada."</string>
     <string name="notification_listener_security_warning_title" msgid="5791700876622858363">"Vols que <xliff:g id="SERVICE">%1$s</xliff:g> tingui accés a les notificacions?"</string>
@@ -3538,8 +3619,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"Fet"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"Importància"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"Llum intermitent"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"Vibra"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"Vibració"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"So"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"Important"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"Afegeix a l\'inici"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"Suprimeix"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"Canvia el nom"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"Nom de la programació"</string>
@@ -3593,6 +3676,10 @@
       <item quantity="other"><xliff:g id="NUM_PEOPLE">%d</xliff:g> persones més</item>
       <item quantity="one">1 persona més</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Converses"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"De totes les converses"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"De les converses importants"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"No permetis cap conversa"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"Permet els missatges"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"Per assegurar-te que els missatges permesos emetin so, comprova les opcions de configuració del dispositiu (so, vibració o silenci)."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"Amb la programació \"<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>\", els missatges entrants es bloquegen. Pots ajustar la configuració per permetre que els teus amics, familiars o altres persones contactin amb tu."</string>
@@ -3606,15 +3693,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"Cap"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"No permetis cap trucada"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"No permetis cap missatge"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"Permet les alarmes"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"Alarmes"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"De temporitzadors, alarmes, sistemes de seguretat i altres aplicacions"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"alarmes"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"Reprodueix els sons multimèdia"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"Sons multimèdia"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"De vídeos, jocs i altre contingut multimèdia"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"multimèdia"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"Permet els sons tàctils"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"Sons en tocar"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"Del teclat i altres botons"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"sons en tocar"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"Permet els recordatoris"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"Recordatoris"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"De tasques i recordatoris"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"recordatoris"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"Permet els esdeveniments"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"Esdeveniments"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"De pròxims esdeveniments del calendari"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Permet que les aplicacions ignorin el mode No molestis"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"Excepcions d\'aplicacions"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3657,6 +3749,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"Permet que les notificacions silenciades pel mode No molestis encenguin la pantalla"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"Configuració de les notificacions"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"D\'acord"</string>
+    <string name="suggestion_button_close" msgid="6865170855573283759">"Tanca"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Envia suggeriments sobre el dispositiu"</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"Introdueix el PIN d\'administrador"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"Activat"</string>
@@ -3667,6 +3760,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Demana el codi PIN per deixar de fixar"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Demana la contrasenya per deixar de fixar"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Bloqueja el dispositiu en deixar de fixar"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Confirma la supressió de la SIM"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"Verifica la teva identitat abans d\'esborrar una SIM baixada"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"L\'administrador d\'aquest perfil de treball és:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"Gestionat per <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(Experimental)"</string>
@@ -3741,8 +3836,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"Totes les aplicacions"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Aplicacions instal·lades"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Aplicacions instantànies"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"Personals"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"Professionals"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"Aplicacions: totes"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"Desactivades"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"Categories: urgents"</string>
@@ -3754,6 +3847,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"Aplicació desconeguda"</string>
     <string name="app_permissions" msgid="8666537659217653626">"Gestor de permisos"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"Aplicacions que utilitzen <xliff:g id="APPS">%1$s</xliff:g>"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"Aplicacions que utilitzen <xliff:g id="APPS">%1$s</xliff:g> i molt més"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"Toca per activar"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"Toca dos cops un punt de la pantalla per activar el dispositiu"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"Obertura d\'enllaços"</string>
@@ -3765,9 +3859,14 @@
       <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> aplicacions que permeten obrir enllaços compatibles</item>
       <item quantity="one">1 aplicació que permet obrir enllaços compatibles</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"Obre en aquesta aplicació"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"Permet que l\'aplicació obri els enllaços admesos"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"Pregunta sempre"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"No obris en aquesta aplicació"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"No permetis que l\'aplicació obri enllaços"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="other">L\'aplicació vol gestionar <xliff:g id="COUNT_1">%d</xliff:g> enllaços</item>
+      <item quantity="one">L\'aplicació vol gestionar <xliff:g id="COUNT_0">%d</xliff:g> enllaç</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"L\'aplicació vol gestionar aquests enllaços:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"Predeterminada"</string>
     <string name="default_for_work" msgid="537558180548617528">"Predeterminada per a la feina"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"Assistència i entrada de veu"</string>
@@ -3911,8 +4010,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"Mostra sobre altres aplicacions"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Permet mostrar sobre altres aplicacions"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"Permet que aquesta aplicació es mostri sobre les altres aplicacions que estiguis utilitzant. És possible que interfereixi amb l\'ús que fas d\'aquestes aplicacions i canviï la manera com es mostren o es comporten."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"Accés a tots els fitxers"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"Permet l\'accés per gestionar tots els fitxers"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Permet que aquesta aplicació llegeixi, modifiqui i suprimeixi tots els fitxers d\'aquest dispositiu o de qualsevol volum d\'emmagatzematge connectat. L\'aplicació podrà accedir als fitxers sense el teu coneixement explícit."</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"Pot accedir a tots els fitxers"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"RV realitat virtual processador estèreo servei ajuda"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"sistema alerta finestra diàleg mostrar-se sobre altres aplicacions"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"Mostra sobre altres aplicacions"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"<xliff:g id="COUNT_0">%1$d</xliff:g> de <xliff:g id="COUNT_1">%2$d</xliff:g> aplicacions que poden es mostrar sobre altres"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"Aplicacions amb permís"</string>
@@ -4078,6 +4180,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"Dades utilitzades: <xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g>"</string>
     <string name="data_overusage" msgid="3680477320458707259">"<xliff:g id="ID_1">^1</xliff:g> per sobre del límit"</string>
     <string name="data_remaining" msgid="6316251496381922837">"Queden <xliff:g id="ID_1">^1</xliff:g>"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"El gràfic mostra dades d\'ús entre el <xliff:g id="START_DATE">%1$s</xliff:g> i el <xliff:g id="END_DATE">%2$s</xliff:g>."</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"No hi ha dades en aquest interval de dates"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="other">Queden %d dies</item>
       <item quantity="one">Queda %d dia</item>
@@ -4141,14 +4245,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"mida del paquet"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"notificació enviada"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"so"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"vibració"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"patró"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"opció predeterminada"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"canal"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"cap"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"Falta l\'objecte de classificació."</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"L\'objecte de classificació no conté aquesta clau."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"Temes"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"Opció predeterminada del dispositiu"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"Retall de pantalla"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"retall de pantalla, tall"</string>
@@ -4237,8 +4337,12 @@
     <string name="information_label" msgid="6939310810756569298">"Informació"</string>
     <string name="low_label" msgid="6525629096999711220">"Baixa"</string>
     <string name="high_label" msgid="357503396626018487">"Alta"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"Una sensibilitat alta pot entrar en conflicte amb altres gestos de l\'aplicació que es facin als extrems de la pantalla."</string>
+    <string name="left_edge" msgid="1513576842959071849">"Vora esquerra"</string>
+    <string name="right_edge" msgid="1505309103265829121">"Vora dreta"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"Una sensibilitat alta pot entrar en conflicte amb altres gestos de l\'aplicació que es facin als extrems de la pantalla."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"Sensibilitat cap enrere"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"Configuració de gestos"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"navegació amb gestos, sensibilitat cap enrere, gest cap enrere"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"Doble toc per consultar el telèfon"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"Per consultar la tauleta, fes-hi doble toc"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"Per consultar el dispositiu, fes-hi doble toc"</string>
@@ -4393,7 +4497,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"Activa els serveis de l\'operador de telefonia mòbil"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"Actualitza el mode No molestis"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"Posa en pausa les notificacions per centrar l\'atenció"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"Aquesta funció no està disponible en aquest dispositiu"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"Funció no disponible"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"Aquesta funció s\'ha desactivat perquè alenteix el telèfon"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"Força mesuraments de GNSS complets"</string>
@@ -4403,20 +4506,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"Selecciona l\'aplicació compatible amb ANGLE"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"No s\'ha definit cap aplicació compatible amb ANGLE"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"Aplicació compatible amb ANGLE: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"Preferències del controlador de jocs"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"Modifica la configuració del controlador de jocs"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"Quan el controlador de jocs està activat, tens l\'opció de fer servir el controlador de gràfics actualitzat per a les aplicacions instal·lades al dispositiu."</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"Activa per a totes les aplicacions"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"Selecciona un controlador de gràfics"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"Predeterminat"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"Controlador de jocs"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"Controlador de prova"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"Controlador de gràfics del sistema"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"Preferències del controlador de gràfics"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"Modifica la configuració del controlador de gràfics"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"Quan hi ha diversos controladors de gràfics, tens l\'opció de fer servir el controlador de gràfics actualitzat per a les aplicacions instal·lades al dispositiu."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"Activa per a totes les aplicacions"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"Selecciona un controlador de gràfics"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"Predeterminat"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"Controlador de jocs"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"Controlador per a desenvolupadors"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Controlador de gràfics del sistema"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Canvis en la compatibilitat de les aplicacions"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Commuta els canvis en la compatibilitat de les aplicacions"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Canvis activats de manera predeterminada"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Canvis desactivats de manera predeterminada"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"L\'opció de configuració no és compatible amb aquest telèfon"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"L\'opció de configuració no és compatible amb aquesta tauleta"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"L\'opció de configuració no és compatible amb aquest dispositiu"</string>
@@ -4435,6 +4544,11 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"Dispositiu"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"No està disponible durant les trucades"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"No disponible"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"Afegeix sortides"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"Grup"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 dispositiu seleccionat"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> dispositius seleccionats"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"S\'està canviant…"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Accepta la trucada a"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"No es pot canviar l\'APN."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Millora la durada de la bateria de la tauleta"</string>
@@ -4552,10 +4666,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Només pot haver-hi una SIM baixada activa.\n\nSi canvies a <xliff:g id="CARRIER1">%1$s</xliff:g>, el teu servei <xliff:g id="CARRIER2">%2$s</xliff:g> no es cancel·larà."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Canvia a <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Esborra la targeta SIM"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Vols esborrar la SIM que has baixat?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Si esborres aquesta targeta SIM, el servei <xliff:g id="CARRIER_0">%1$s</xliff:g> se suprimirà del dispositiu.\n\nEl servei <xliff:g id="CARRIER_1">%2$s</xliff:g> no es cancel·larà."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Esborra"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"S\'està esborrant la SIM…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"No es pot esborrar la SIM"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"No s\'ha pogut esborrar la targeta SIM a causa d\'un error.\n\nReinicia el dispositiu i torna-ho a provar."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Tipus de xarxa preferent"</string>
@@ -4580,7 +4690,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"El mode de xarxa <xliff:g id="NETWORKMODEID">%1$d</xliff:g> no és vàlid. Ignora."</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Noms de punts d\'accés"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"No està disponible quan està connectat a <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"Informació mèdica, contactes d\'emergència"</string>
     <string name="see_more" msgid="7499355691042812723">"Mostra\'n més"</string>
     <string name="see_less" msgid="2642392725363552793">"Mostra\'n menys"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"Dispositiu per fer servir amb <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
@@ -4589,11 +4698,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"S\'ha produït un error. L\'aplicació ha cancel·lat la sol·licitud per seleccionar un dispositiu."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"S\'ha connectat correctament"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"Mostra-ho tot"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> dispositius connectats</item>
-      <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_0">%1$d</xliff:g> dispositiu connectat</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"No hi ha cap dispositiu Bluetooth"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"S\'està cercant el dispositiu…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"S’està connectant amb el dispositiu…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"Esquerre"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"Dret"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Funda"</string>
@@ -4603,6 +4709,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"No disponible en mode d\'avió"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"Força el mode d\'escriptori"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Força el mode d\'escriptori experimental en pantalles secundàries"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"Activa les apps de mida compatible amb format lliure"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"Permet que les aplicacions de mida compatible tinguin un format lliure"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Substitueix forçar el mode fosc"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"Substitueix la funció forçar el mode fosc perquè estigui sempre activada"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"Privadesa"</string>
@@ -4639,6 +4747,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Has instal·lat aquesta aplicació recentment."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Canvia la sortida"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"S\'està reproduint al dispositiu <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (desconnectat)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"No es pot canviar. Torna-ho a provar."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Informació important"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"CONTINUA"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"NO, GRÀCIES"</string>
@@ -4666,8 +4776,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"Combinació de SIM"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Informació de les teves polítiques professionals"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Configuració gestionada per l\'administrador de TI"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"Gestor de l\'informe d\'errors"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Determina quina aplicació gestiona la drecera per a l\'informe d\'errors al dispositiu."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Personal"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"Feina"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"Opció predeterminada del sistema"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"Aquesta opció ja no és vàlida. Torna-ho a provar."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"Atura l\'emissió"</string>
 </resources>
diff --git a/res/values-cs/arrays.xml b/res/values-cs/arrays.xml
index f44b947..3d9cb11 100644
--- a/res/values-cs/arrays.xml
+++ b/res/values-cs/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"Okamžitě"</item>
     <item msgid="463591454172790676">"5 sekund"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"Neověřovat"</item>
+    <item msgid="5703177653586269306">"Vyžadovat stav certifikátu"</item>
+    <item msgid="326388247868439528">"Požadovat stav certifikátu"</item>
+    <item msgid="1090956283885790552">"Požadovat stav všech certifikátů, které nejsou důvěryhodné"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"Stisknutí tlačítka"</item>
     <item msgid="2630618799033509548">"PIN ze sdíleného zařízení"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1×RTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"Žádné"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"IPSec VPN s předsdílenými klíči a ověřením Xauth"</item>
     <item msgid="2484564813864139237">"IPSec VPN s certifikáty a ověřením Xauth"</item>
     <item msgid="68918911194507915">"IPSec VPN s certifikáty a hybridním ověřením"</item>
+    <item msgid="4631647675167100375">"IKEv2/IPSec VPN s certifikáty a ověřením uživatelského jména a hesla"</item>
+    <item msgid="8812228622975052811">"IKEv2/IPSec VPN s předem sdílenými klíči"</item>
+    <item msgid="6630554779981113046">"IKEv2/IPSec VPN s certifikáty"</item>
   </string-array>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"Žádné"</item>
diff --git a/res/values-cs/config.xml b/res/values-cs/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-cs/config.xml
+++ b/res/values-cs/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index a73d51f..15e7192 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -33,49 +33,17 @@
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Nejprve prosím aktivujte možnosti pro vývojáře."</string>
     <string name="header_category_wireless_networks" msgid="303445626075235229">"Bezdrátová připojení a sítě"</string>
     <string name="header_category_system" msgid="1665516346845259058">"Systém"</string>
-    <string name="radio_info_data_connection_enable" msgid="7500945447906187613">"Povolit datové připojení"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"Zakázat datové připojení"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"Poskytnutí VoLTE"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"Zajištění videohovoru"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"Zajištění volání přes Wi-Fi"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"Zajištění EAB/přítomnosti"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"Data CBRS"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"Aktivovat DSDS"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"Restartovat zařízení?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"Ke změně nastavení je nutné restartovat zařízení."</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"Restartovat"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"Zrušit"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"Výkon mobilního přijímače"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"Zobrazit adresář SIM karty"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"Zobrazit povolená telefonní čísla"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"Zobrazit čísla volání služeb"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"Stav služby IMS"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"Stav IMS"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"Registrováno"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"Neregistrováno"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"Dostupné"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"Nedostupné"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"Registrace IMS: <xliff:g id="STATUS">%1$s</xliff:g>\nVolání přes LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nVolání přes Wi-Fi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideohovory: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nRozhraní UT: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"V provozu"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Mimo provoz"</string>
     <string name="radioInfo_service_emergency" msgid="6838935881091760942">"Pouze tísňová volání"</string>
     <string name="radioInfo_service_off" msgid="6184928420860868571">"Bezdrátový modul je vypnut"</string>
     <string name="radioInfo_roaming_in" msgid="8892550453644088692">"Roaming"</string>
     <string name="radioInfo_roaming_not" msgid="3137594549464975054">"Bez roamingu"</string>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"Nečinný"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"Vyzvánění"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"Probíhá hovor"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"Odpojeno"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"Připojování"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"Připojeno"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Pozastaveno"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Neznámé"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"pakety"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"B"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"Odpojit úložiště USB"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"Odpojit kartu SD"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"Smazat úložiště USB"</string>
@@ -85,7 +53,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"Umožňuje zvětšit nebo zmenšit text na obrazovce."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Zmenšit"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Zvětšit"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Příliš žluťoučký kůň úpěl ďábelské ódy."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"Ukázkový text"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"Čaroděj ze země Oz"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"Kapitola 11: Smaragdové město v zemi Oz"</string>
@@ -176,9 +143,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"Ke změně nastavení je nutné restartovat zařízení."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"Restartovat"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"Zrušit"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"Dostupná mediální zařízení"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"Dostupná telefonní zařízení"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"Momentálně připojeno"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"Mediální zařízení"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"Volání na zařízení"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"Ostatní zařízení"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Uložená zařízení"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Zapne se Bluetooth za účelem spárování"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Předvolby připojení"</string>
@@ -211,46 +178,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"Zadaný port není platný."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"Proxy server protokolu HTTP může používat prohlížeč, ale nesmí jej používat další aplikace."</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"Adresa URL PAC: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"Stávající subId:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"SubId výchozí datové SIM karty:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"Rychlost stahování (kB/s):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"Rychlost nahrávání (kB/s):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"Informace o poloze mobilní sítě (podpora ukončena):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"Konfigurace fyzického kanálu LTE:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"Interval obnovení informací o mobilní síti:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"Všechny údaje o měření mobilní sítě:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"Datová služba:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"Roaming:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"Přesměrování hovoru:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"Počet obnovení protokolu PPP od spuštění:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"Aktuální síť:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"Přijatá data:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"Hlasová služba:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"Síla signálu:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"Stav hlasového hovoru:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"Odeslaná data:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"Čekající zpráva:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"Telefonní číslo:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"Zvolit pásmo bezdrátového modulu"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"Typ hlasové sítě:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"Typ datové sítě:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"Vybrat telefonní seznam"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"Nastavit upřednostňovaný typ sítě:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"Ping názvu hostitele (www.google.com) IPv4:"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"Ping názvu hostitele (www.google.com) IPv6:"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"Test klienta HTTP:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"Spustit test Ping"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"Aktualizovat"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"Aktualizovat"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"Přepnout kontrolu DNS"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"Informace a nastavení specifické pro výrobce OEM"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"Nastavit režim pásma bezdrátového modulu"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"Načítání seznamu pásem…"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"Nastavit"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"Neúspěšné"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"Pásmo nastaveno."</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"Změny se projeví při příštím připojení kabelu USB."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"Povolit velkokapacitní úložiště USB"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"Celková paměť (bajty):"</string>
@@ -289,10 +220,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"Přesunout na konec"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"Odstranit jazyk"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"Vybrat aktivitu"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"Info o zařízení"</string>
     <string name="display_label" msgid="3056320781191343221">"Displej"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"Informace o tabletu"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"Informace o telefonu"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"Úložiště USB"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"Karta SD"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"Nastavení proxy serveru"</string>
@@ -310,9 +238,6 @@
     <string name="airplane_mode" msgid="3196085857882526817">"Režim Letadlo"</string>
     <string name="wireless_networks_settings_title" msgid="8557542379234105369">"Bezdrátová připojení a sítě"</string>
     <string name="radio_controls_summary" msgid="9028430178697624501">"Spravovat Wi-Fi, Bluetooth, režim Letadlo, mobilní sítě a sítě VPN"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"Mobilní data"</string>
-    <string name="calls_title" msgid="6334813967619899114">"Povolit hovory"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"Zprávy SMS"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"Povolit využití dat přes mobilní síť"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"Povolit data při roamingu"</string>
     <string name="roaming" msgid="3055365654530847985">"Roaming"</string>
@@ -320,9 +245,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"Používat datové služby při roamingu"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"Připojení datových služeb bylo přerušeno, protože jste opustili domovskou síť a máte vypnutý datový roaming."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"Zapnout"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"Mohou vám být účtovány vysoké poplatky."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"Pokud aktivujete datový roaming, mohou vám být za roaming účtovány nemalé poplatky.\n\nToto nastavení ovlivní všechny uživatele tohoto tabletu."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"Pokud aktivujete datový roaming, mohou vám být za roaming účtovány nemalé poplatky.\n\nToto nastavení ovlivní všechny uživatele tohoto telefonu."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"Mohou vám být účtovány poplatky za roaming."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"Když aktivujete datový roaming, mohou vám být za něj účtovány poplatky.\n\nToto nastavení ovlivní všechny uživatele tohoto tabletu."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"Když aktivujete datový roaming, mohou vám být za něj účtovány poplatky.\n\nToto nastavení ovlivní všechny uživatele tohoto telefonu."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"Povolit datový roaming?"</string>
     <string name="networks" msgid="5184501333492775095">"Výběr operátora"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"Vybrat síťového operátora"</string>
@@ -363,8 +288,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"Zakázáno administrátorem"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"Zobrazit možnost uzamčení"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"Zobrazí vypínač, který vypíná funkci Smart Lock, biometrické odemykání a oznámení na obrazovce uzamčení"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"Agenti důvěry jen prodlužují odemčení"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"Bude-li tato možnost aktivována, agenti důvěry ponechají vaše zařízení odemčená delší dobu, ale uzamčené zařízení už nebudou moci odemknout."</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"Zamknout obrazovku při ztrátě důvěry"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"Když bude možnost aktivována a poslední agent důvěry přestane být důvěryhodný, zařízení se zamkne."</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"Žádná"</string>
@@ -396,7 +319,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"Moje poloha, odemknutí obrazovky, zámek SIM, zámek úložiště pověření"</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"Nastavení funkce Moje poloha, odemknutí obrazovky a zamknutí úložiště pověření"</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"Ochrana soukromí"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"Zakázáno administrátorem"</string>
+    <string name="disabled_by_administrator_summary" msgid="5424846182313851124">"Nedostupné"</string>
     <string name="security_status_title" msgid="6958004275337618656">"Stav zabezpečení"</string>
     <string name="security_dashboard_summary_face" msgid="4198949293847206382">"Zámek obrazovky, odemknutí obličejem"</string>
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Zámek obrazovky, otisky prstů"</string>
@@ -709,7 +632,6 @@
       <item quantity="other">Musí obsahovat méně než <xliff:g id="NUMBER_1">%d</xliff:g> číslic</item>
       <item quantity="one">Musí obsahovat méně než <xliff:g id="NUMBER_0">%d</xliff:g> číslici</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"PIN smí obsahovat pouze číslice 0 až 9."</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"Administrátor zařízení nedovoluje použití nedávno použitého kódu PIN"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"Obvyklé kódy PIN jsou blokovány administrátorem IT. Použijte jiný PIN."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"Heslo nesmí obsahovat neplatné znaky."</string>
@@ -752,6 +674,12 @@
       <item quantity="other">Heslo musí obsahovat alespoň <xliff:g id="COUNT">%d</xliff:g> znaků jiných než písmeno</item>
       <item quantity="one">Heslo musí obsahovat alespoň 1 znak jiný než písmeno</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="few">Musí obsahovat alespoň <xliff:g id="COUNT">%d</xliff:g> znaky jiné než číslice</item>
+      <item quantity="many">Musí obsahovat alespoň <xliff:g id="COUNT">%d</xliff:g> znaku jiného než číslice</item>
+      <item quantity="other">Musí obsahovat alespoň <xliff:g id="COUNT">%d</xliff:g> znaků jiných než číslice</item>
+      <item quantity="one">Musí obsahovat alespoň 1 znak jiný než číslici</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"Administrátor zařízení neumožňuje použít heslo, které jste použili nedávno"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"Obvyklá hesla jsou blokována administrátorem IT. Použijte jiné heslo."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"Posloupnost rostoucích, klesajících nebo opakujících se číslic není povolena"</string>
@@ -869,19 +797,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2,4 GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"Přihlásit se"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"Otevřít web"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"Zbývá: <xliff:g id="REMAINING_TIME">%1$s</xliff:g>"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"Platnost vyprší <xliff:g id="EXPIRY_TIME">%1$s</xliff:g>"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"Klepnutím sem se přihlásíte do sítě"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Mb/s"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Mb/s"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Mb/s"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"Aplikace <xliff:g id="REQUESTER">%s</xliff:g> chce zapnout Wi-Fi"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"Aplikace <xliff:g id="REQUESTER">%s</xliff:g> chce vypnout Wi-Fi"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"Ověření bajtkódu aplikací k ladění"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Povolit nástroji ART ověřovat bajtkód aplikací k ladění"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"Zobrazit obnov. frekvenci"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Zobrazit aktuální obnovovací frekvenci displeje"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"Povolit výměnu dat, pokud se tablet dotkne jiného zařízení"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"Povolit výměnu dat, pokud se telefon dotkne jiného zařízení"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"Povolit výměnu dat, pokud se tablet dotkne jiného zařízení s NFC"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"Povolit výměnu dat, pokud se telefon dotkne jiného zařízení s NFC"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"Zapnout NFC"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"Technologie NFC vyměňuje data mezi tímto zařízením a dalšími zařízeními a cíli v okolí, jako jsou platební terminály, systémy kontroly přístupu a interaktivní reklamy či značky."</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"Zabezpečení NFC"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Před použitím NFC vyžadovat odemknutí zařízení"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"Povolit platby a přenosy přes NFC pouze při odemknuté obrazovce"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"Přenos obsahu aplikace prostřednictvím NFC je připraven"</string>
@@ -955,8 +889,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Zapnout"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Vyhledávání Wi‑Fi je zapnuto"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Rozšířené možnosti"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"Rozbalovací seznam Rozšířené možnosti. Dvojitým klepnutím jej sbalíte."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"Rozbalovací seznam Rozšířené možnosti. Dvojitým klepnutím jej rozbalíte."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Rozbalovací seznam Pokročilé možnosti"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"rozbalit"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"Název sítě"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"Zadejte SSID"</string>
     <string name="wifi_security" msgid="9095934643631406913">"Zabezpečení"</string>
@@ -966,6 +900,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"Stav"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"Rychlost odkazu pro přenos"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"Rychlost odkazu k přijímání"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"Rychlost připojení"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"Frekvence"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"IP adresa"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"Uloženo pomocí"</string>
@@ -973,6 +908,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"Metoda EAP"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"Ověření Phase 2"</string>
     <string name="wifi_eap_ca_cert" msgid="8033404008276298886">"Certifikát CA"</string>
+    <string name="wifi_eap_ocsp" msgid="8713933962516871238">"Stav online certifikátu"</string>
     <string name="wifi_eap_domain" msgid="8304301470752333203">"Doména"</string>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"Certifikát uživatele"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"Identita"</string>
@@ -989,6 +925,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"Vyberte alespoň jedno pásmo pro hotspot Wi-Fi:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"Nastavení IP adresy"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"Ochrana soukromí"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"Odběr"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"Zobrazení nebo změna odběru"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"Náhodná adresa MAC"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"Přidat zařízení"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"Chcete-li zařízení přidat do sítě <xliff:g id="SSID">%1$s</xliff:g>, níže vycentrujte QR kód"</string>
@@ -998,12 +936,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"Sdílení sítě Wi-Fi"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"Chcete-li se připojit k síti <xliff:g id="SSID">%1$s</xliff:g>, naskenujte tento QR kód a sdílejte heslo"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"Chcete-li se připojit k síti <xliff:g id="SSID">%1$s</xliff:g>, naskenujte tento QR kód"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"QR kód se nepodařilo přečíst. Zadejte ho znovu."</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"Zkuste to znovu. Pokud problém přetrvává, obraťte se na výrobce zařízení"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"Něco se pokazilo"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"Zkontrolujte, zda je zařízení zapojeno, nabito a zapnuto"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"Zkontrolujte, zda je zařízení zapojeno, nabito a zapnuto. Pokud problém přetrvává, obraťte se na výrobce zařízení"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"Toto zařízení neumožňuje přidání sítě <xliff:g id="SSID">%1$s</xliff:g>"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"Zkuste zařízení přesunout blíže k přístupovému bodu / routeru Wi‑Fi"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"Zkontrolujte heslo a zkuste to znovu"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"Kontaktujte výrobce zařízení"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"Zkontrolujte připojení a zkuste to znovu"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"Vybrat síť"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"Chcete-li zařízení připojit, vyberte síť"</string>
@@ -1016,11 +956,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"Sdílení Wi‑Fi s tímto zařízením…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"Připojování…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"Sdílet hotspot"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"Potvrďte, že jste to vy"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"Ověřte svou totožnost"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"Heslo k Wi-Fi: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"Heslo k hotspotu: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"Automatické připojení"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"Povolit telefonu automatické připojování v dosahu této sítě"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"Povolit tabletu automatické připojování v dosahu této sítě"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"Přidat zařízení"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"Pomocí QR kódu přidejte zařízení do této sítě"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"QR kód není platný formát"</string>
     <string name="retry" msgid="7542103800274026915">"Zkusit znovu"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"Sdílet s ostatními uživateli zařízení"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(nezměněno)"</string>
@@ -1032,6 +976,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"Není určen žádný certifikát. Připojení nebude soukromé."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"Název sítě je příliš dlouhý."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"Zadejte doménu."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"Je vyžadován certifikát."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"WPS je k dispozici"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (WPS je k dispozici)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"Síť Wi-Fi operátora"</string>
@@ -1089,7 +1034,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"Rozšířené nastavení"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"Adresa MAC"</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_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>
@@ -1141,7 +1087,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"Pomocí hotspotu můžete vytvořit síť Wi‑Fi pro další zařízení. Hotspot poskytuje připojení k internetu pomocí vašeho mobilního datového připojení. Mohou být účtovány dodatečné poplatky za mobilní data."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"Aplikace mohou vytvořit hotspot ke sdílení obsahu s okolními zařízeními."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Automatické vypnutí hotspotu"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"Pokud nebudou připojena žádná zařízení, hotspot Wi-Fi se vypne"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Když nejsou připojena žádná zařízení"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"Zapínání hotspotu…"</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"Vypínání hotspotu…"</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"Síť <xliff:g id="NETWORK_SSID">%1$s</xliff:g> je aktivní"</string>
@@ -1150,6 +1096,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"Nastavení Wi‑Fi hotspotu"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"Hotspot AndroidAP WPA2 PSK"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"AndroidHotspot"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"Uložit tuto síť?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"Aplikace <xliff:g id="APPNAME">%1$s</xliff:g> chce do telefonu uložit síť"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"Aplikace <xliff:g id="APPNAME">%1$s</xliff:g> chce do tabletu uložit síť"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"Ukládání…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"Uloženo"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"Uložení se nezdařilo. Zkuste to znovu."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"Uložit sítě?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"Aplikace <xliff:g id="APPNAME">%1$s</xliff:g> chce do telefonu uložit tyto sítě"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"Aplikace <xliff:g id="APPNAME">%1$s</xliff:g> chce do tabletu uložit tyto sítě"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"Ukládání <xliff:g id="NUMBER">%d</xliff:g> sítí…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"Sítě byly uloženy"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"Volání přes Wi-Fi"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"Rozšiřte volání pomocí Wi-Fi"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"Chcete-li rozšířit pokrytí, zapněte volání přes Wi-Fi"</string>
@@ -1176,16 +1133,18 @@
     <string name="emergency_address_title" msgid="3490633500025717573">"Nouzová adresa"</string>
     <string name="emergency_address_summary" msgid="3022628750270626473">"Použije se jako vaše poloha, pokud uskutečníte tísňové volání přes Wi-Fi"</string>
     <string name="private_dns_help_message" msgid="851221502063782306"><annotation id="url">"Další informace"</annotation>" o funkcích soukromého režimu DNS"</string>
+    <string name="private_dns_mode_on" msgid="8878679071975375696">"Zapnuto"</string>
     <string name="wifi_calling_pref_managed_by_carrier" msgid="129524064888622179">"Nastavení spravováno operátorem"</string>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"Aktivujte volání přes Wi-Fi"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"Zapněte volání přes Wi-Fi"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"Volání přes Wi‑Fi operátor %1$s nepodporuje"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"Odpojeno od sítě <xliff:g id="SSID">%1$s</xliff:g>"</string>
     <string name="carrier" msgid="1755020806290963951">"Operátor"</string>
     <string name="display_settings_title" msgid="626835071804834218">"Displej"</string>
     <string name="sound_settings" msgid="5514582720435174014">"Zvuk"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"Hlasitost"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"Hudební efekty"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"Hlasitost vyzvánění"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"Hlasitost vyzvánění a oznámení"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"Vibrovat v tichém režimu"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"Výchozí zvuk oznámení"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"Vyzváněcí tón"</string>
@@ -1310,13 +1269,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"Plán"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"Nikdy"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"Zapne se od soumraku do úsvitu"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"Zapne se ve zvoleném čase"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"Stav"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"Vypnuto / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"Nikdy se automaticky nezapne"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"Zapne se automaticky za soumraku"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"Zapne se automaticky v <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"Zapnuto / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"Nikdy se automaticky nevypne"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"Vypne se automaticky za úsvitu"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"Vypne se automaticky v <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"Zapnout do <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"Vypnout do <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"Tmavý motiv u některých obrazovek používá černé pozadí a prodlužuje tak výdrž baterie. Plány tmavého motivu čekají na zapnutí, dokud se obrazovka nevypne."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"Interval vypnutí obrazovky"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"Vypnutí obrazovky"</string>
@@ -1328,7 +1292,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"Změňte si tapetu"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"Přizpůsobte si obrazovku"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"Vybrat tapetu"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"Přizpůsobte si svůj Pixel"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"Přizpůsobení telefonu"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"Vyzkoušejte různé styly, tapety apod."</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"Spořič obrazovky"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Při nabíjení nebo v doku"</string>
@@ -1419,6 +1383,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"Odpojení úložiště USB a zobrazení dostupného úložiště"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"Umožňuje odpojit kartu SD a zobrazit dostupnou paměť"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (slot na SIM kartu %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"K zobrazení je třeba vybrat uloženou síť"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"Telefonní číslo"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (slot na SIM kartu %1$d)"</string>
@@ -1445,6 +1410,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"Roaming"</string>
     <string name="status_operator" msgid="4335640583552058491">"Síť"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"Adresa MAC sítě Wi-Fi"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"Adresa MAC zařízení Wi-Fi"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"Adresa Bluetooth"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Sériové číslo"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Doba provozu"</string>
@@ -1657,6 +1623,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Výchozí nastavení přístupového bodu bylo obnoveno."</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"Možnosti resetu"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"Lze resetovat síť, aplikace nebo zařízení"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"Aplikace lze resetovat"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"Resetovat Wi-Fi, data a Bluetooth"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"Budou resetována nastavení všech sítí, včetně následujících:\n\n"<li>"Wi‑Fi"</li>\n<li>"Mobilní data"</li>\n<li>"Bluetooth"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"Vymazat stažení SIM karty"</string>
@@ -1706,6 +1673,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"Hotspot je zapnutý"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"Sdílení datového připojení"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"Když je zapnutý Spořič obrazovky, nelze sdílet datové připojení ani používat přenosné hotspoty"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"Pouze hotspot"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"Pouze USB"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"Pouze Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"Hotspot, USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"Hotspot, Bluetooth"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB, Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"Hotspot, USB, Bluetooth"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"Internet není sdílen s dalšími zařízeními"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"Tethering"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Nepoužívat Wi‑Fi hotspot"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Sdílet internet pouze přes USB"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Sdílet internet pouze přes Bluetooth"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Sdílet internet pouze přes USB a Bluetooth"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"Připojení přes USB"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"Sdílet připojení telefonu k internetu přes USB"</string>
@@ -1798,9 +1778,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"Bezpečnostní informace"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"Datové připojení momentálně není k dispozici. Chcete-li tyto informace zobrazit, přejděte z libovolného počítače připojeného k internetu na stránku %s."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"Načítání..."</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"Použít kód PIN"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"Použít gesto"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"Použít heslo"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"Nastavení zámku obrazovky"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"Z bezpečnostních důvodů nastavte heslo"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"Otisk vyžaduje nastavení hesla"</string>
@@ -1809,8 +1786,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"Otisk vyžaduje nastavení PINu"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"Z bezpečnostních důvodů nastavte gesto"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"Znovu zadejte heslo"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"Zadejte pracovní heslo"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"Potvrďte své gesto"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"Zadejte pracovní gesto"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"Znovu zadejte PIN"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"Zadejte pracovní PIN"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"Hesla nejsou shodná"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"Kódy PIN nejsou shodné"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"Znovu zadejte gesto"</string>
@@ -1821,6 +1801,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"Nastavte heslo pro odemknutí obličejem"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"Nastavte gesto pro odemknutí obličejem"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"Nastavte PIN pro odemknutí obličejem"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"Zapomněli jste heslo?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"Zapomněli jste gesto?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"Zapomněli jste PIN?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"Chcete-li pokračovat, zadejte gesto zařízení."</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"Chcete-li pokračovat, zadejte PIN zařízení."</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"Chcete-li pokračovat, zadejte heslo zařízení."</string>
@@ -1888,6 +1871,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"Povolit všechny zdroje aplikací"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"Nedávno otevřené aplikace"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"Zobrazit všechny aplikace (<xliff:g id="COUNT">%1$d</xliff:g>)"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"Kontaktujte administrátora IT"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"Mohou vám pomoci resetovat PIN, gesto či heslo"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"Tablet a osobní údaje jsou zranitelnější vůči útoku ze strany neznámých aplikací. Instalací aplikací z tohoto zdroje vyjadřujete souhlas s tím, že nesete odpovědnost za případné poškození tabletu nebo ztrátu dat, které jejich používání může způsobit."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"Telefon a osobní údaje jsou zranitelnější vůči útoku ze strany neznámých aplikací. Instalací aplikací z tohoto zdroje vyjadřujete souhlas s tím, že nesete odpovědnost za případné poškození telefonu nebo ztrátu dat, které jejich používání může způsobit."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"Zařízení a osobní údaje jsou zranitelnější vůči útoku ze strany neznámých aplikací. Instalací aplikací z tohoto zdroje vyjadřujete souhlas s tím, že nesete odpovědnost za případné poškození zařízení nebo ztrátu dat, které jejich používání může způsobit."</string>
@@ -1941,7 +1926,7 @@
     <string name="default_emergency_app" msgid="1929974800666613803">"Aplikace k příjmu výstražných zpráv"</string>
     <string name="reset_app_preferences" msgid="8861758340732716573">"Obnovit nastavení aplikací"</string>
     <string name="reset_app_preferences_title" msgid="8935136792316050759">"Obnovit nastavení aplikací?"</string>
-    <string name="reset_app_preferences_desc" msgid="1377296810290814749">"Tímto obnovíte všechna nastavení následujících položek:\n\n"<li>"deaktivované aplikace,"</li>\n<li>"deaktivovaná oznámení aplikací,"</li>\n<li>"výchozí aplikace pro různé akce,"</li>\n<li>"omezení datových přenosů na pozadí pro aplikace,"</li>\n<li>"veškerá omezení oprávnění."</li>\n\n"Nepřijdete o žádná data aplikací."</string>
+    <string name="reset_app_preferences_desc" msgid="6509978724602405805">"Touto akcí obnovíte všechna nastavení pro:\n\n"<li>"deaktivované aplikace,"</li>\n<li>"deaktivovaná oznámení aplikací,"</li>\n<li>"výchozí aplikace k provádění akcí,"</li>\n<li>"omezení dat na pozadí pro aplikace,"</li>\n<li>"omezení oprávnění."</li>\n\n"O žádná data aplikací nepřijdete."</string>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"Obnovit aplikace"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"Správa paměti"</string>
     <string name="filter" msgid="9039576690686251462">"Filtrovat"</string>
@@ -2141,7 +2126,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"Zvuk a text na obrazovce"</string>
     <string name="display_category_title" msgid="6638191682294461408">"Zobrazení"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"Interaktivní ovládací prvky"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"Stažené služby"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"Stažené aplikace"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"Experimentální"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"Příznaky experimentálních funkcí"</string>
     <string name="talkback_title" msgid="8756080454514251327">"TalkBack"</string>
@@ -2149,27 +2134,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"Klepněte na položky na obrazovce, které chcete přečíst"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"Předvolby titulků"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"Zvětšení"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"Oblast zvětšení"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"Povolit zvětšení"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"Vyberte oblast zvětšení, kterou chcete použít při zvětšení obrazovky"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"Celá obrazovka"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"Část obrazovky"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"Celá obrazovka a část obrazovky"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"Zvětšit celou obrazovku"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"Zvětšit část obrazovky"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Nastavení zvětšení"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"Zvětšení trojitým klepnutím"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Zvětšení zkratkou"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Zvětšení zkratkou a trojitým klepnutím"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"O službě <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"Možnosti"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"Přiblížení obrazovky"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"Trojitým klepnutím aktivujete přiblížení"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Přiblížení zobrazení klepnutím na tlačítko"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><b>"Přiblížení"</b>" provedete tak, že třikrát klepnete na obrazovku.\n"<ul><li>"Přetažením dvěma prsty zobrazení posunete."</li>\n<li>"Úroveň přiblížení upravíte stažením nebo roztažením dvou nebo více prstů."</li></ul>\n\n"Chcete-li zobrazení "<b>"přiblížit dočasně"</b>", rychle na obrazovku klepněte třikrát za sebou a při posledním klepnutí prst přidržte.\n"<ul><li>"Přetažením se můžete pohybovat po obrazovce."</li>\n<li>"Zvednutím prstu zobrazení vrátíte do původního stavu."</li></ul>\n\n"Na klávesnici a navigačním panelu přiblížení není k dispozici."</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"Když je zapnuté zvětšení, můžete přibližovat obsah na obrazovce.\n\n"<b>"Chcete-li obsah přiblížit"</b>", spusťte zvětšení a poté klepněte kamkoliv na obrazovku.\n"<ul><li>"• Přetažením dvěma nebo více prsty můžete obsah posouvat."</li>\n<li>"• Stažením nebo roztažením dvou či více prstů upravíte přiblížení."</li></ul>\n\n<b>"Chcete-li obsah přiblížit dočasně"</b>", spusťte zvětšení a poté se dotkněte libovolného místa na obrazovce a podržte ho.\n"<ul><li>"• Přetažením se můžete pohybovat po obrazovce."</li>\n<li>"• Zvednutím prstu obsah oddálíte."</li></ul>\n\n"Na klávesnici a navigačním panelu přiblížení není k dispozici."</string>
+    <string name="accessibility_screen_magnification_summary" msgid="7617931632990040045">"Obrazovku si můžete rychle přiblížit, abyste lépe viděli na obsah.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Přiblížení:&lt;/b&gt;&lt;br/&gt;	1. Spusťte zvětšení pomocí zkratky&lt;br/&gt;	2. Klepněte na obrazovku&lt;br/&gt;	3. Přetažením dvěma prsty se pohybujte po obrazovce&lt;br/&gt;	4. Stažením a roztažením dvou prstů upravíte přiblížení&lt;br/&gt;	5. Ukončete zvětšení pomocí zkratky&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Dočasně zvětšení:&lt;/b&gt;&lt;br/&gt;	1. Spusťte zvětšení pomocí zkratky&lt;br/&gt;	2. Podržte jakékoli místo na obrazovce&lt;br/&gt;	3. Přetažením prstu se pohybujte po obrazovce&lt;br/&gt;	4. Zvednutím prstu ukončete zvětšení"</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Když je zapnuté zvětšení, můžete přibližovat obsah na obrazovce.\n\n"<b>"Chcete-li obsah přiblížit"</b>", spusťte zvětšení a poté klepněte kamkoliv na obrazovku.\n"<ul><li>"Přetažením dvěma nebo více prsty můžete obsah posouvat."</li>\n<li>"Stažením nebo roztažením dvou či více prstů upravíte přiblížení."</li></ul>\n\n<b>"Chcete-li obsah přiblížit dočasně"</b>", spusťte zvětšení a poté se dotkněte libovolného místa na obrazovce a podržte ho.\n"<ul><li>"Přetažením se můžete pohybovat po obrazovce."</li>\n<li>"Zvednutím prstu zobrazení vrátíte do původního stavu."</li></ul>\n\n"Na klávesnici a navigačním panelu přiblížení není k dispozici."</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Otevření pomocí tlačítka přístupnosti"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Otevření gestem"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"Použití nového gesta pro usnadnění přístupu"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"Tuto službu můžete zapnout nebo vypnout klepnutím na tlačítko přístupnosti<xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>v dolní části obrazovky.\n\nPodržením tlačítka přístupnosti můžete přepínat mezi službami."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"Tuto službu můžete zapnout nebo vypnout přejetím dvěma prsty nahoru od dolního okraje obrazovky.\n\nChcete-li přepnout mezi službami, přejeďte nahoru dvěma prsty a podržte je."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"Tuto službu můžete zapnout nebo vypnout přejetím třemi prsty nahoru od dolního okraje obrazovky.\n\nChcete-li přepnout mezi službami, přejeďte nahoru třemi prsty a podržte je."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"Službu přístupnosti můžete zapnout nebo vypnout přejetím dvěma prsty nahoru od dolního okraje obrazovky.\n\nChcete-li přepnout mezi službami, přejeďte nahoru dvěma prsty a podržte je."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"Službu přístupnosti můžete zapnout nebo vypnout přejetím třemi prsty nahoru od dolního okraje obrazovky.\n\nChcete-li přepnout mezi službami, přejeďte nahoru třemi prsty a podržte je."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"Tuto službu můžete zapnout nebo vypnout klepnutím na tlačítko přístupnosti <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> v dolní části obrazovky.\n\nPodržením tlačítka přístupnosti můžete přepínat mezi službami."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"Tuto službu můžete zapnout nebo vypnout přejetím dvěma prsty nahoru od dolního okraje obrazovky.\n\nChcete-li přepnout mezi službami, přejeďte nahoru dvěma prsty a podržte je."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"Tuto službu můžete zapnout nebo vypnout přejetím třemi prsty nahoru od dolního okraje obrazovky.\n\nChcete-li přepnout mezi službami, přejeďte nahoru třemi prsty a podržte je."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"Službu přístupnosti můžete zapnout nebo vypnout přejetím dvěma prsty nahoru od dolního okraje obrazovky.\n\nChcete-li přepnout mezi službami, přejeďte nahoru dvěma prsty a podržte je."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"Službu přístupnosti můžete zapnout nebo vypnout přejetím třemi prsty nahoru od dolního okraje obrazovky.\n\nChcete-li přepnout mezi službami, přejeďte nahoru třemi prsty a podržte je."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"OK"</string>
+    <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Zkratka <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_edit_summary_software" msgid="2820923641553461297">"Tlačítko Přístupnost"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture" msgid="8078659880723370597">"Přejetí nahoru dvěma prsty"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture_talkback" msgid="7422753388389160524">"Přejetí nahoru třemi prsty"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software" msgid="4796192466943479849">"Klepnutí na tlačítko přístupnosti"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8922102767509399352">"Klepněte na tlačítko přístupnosti <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> ve spodní části obrazovky"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"Přejeďte dvěma prsty ze spodní části obrazovky nahoru"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"Přejeďte třemi prsty ze spodní části obrazovky nahoru"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Podržení tlačítek hlasitosti"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"Podržte obě tlačítka hlasitosti po dobu jedné sekundy"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Přiblížení trojitým klepnutím"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"Rychle třikrát klepněte na obrazovku. Tato zkratka může zařízení zpomalit."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"Rozšířené"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"Tlačítko Přístupnost je nastaveno na službu <xliff:g id="SERVICE">%1$s</xliff:g>. Chcete-li použít zvětšení, klepněte na tlačítko Přístupnost, podržte jej a vyberte zvětšení."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"Gesto usnadnění přístupu je nastaveno na funkci <xliff:g id="SERVICE">%1$s</xliff:g>. Chcete-li použít zvětšení, přejeďte dvěma prsty ze spodní části obrazovky nahoru a podržte obrazovku. Potom vyberte zvětšení."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"Zkratka tlačítka hlasitosti"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"Služba ovládaná zkratkou"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Nastavení zkratek"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"Povolit na obrazovce uzamčení"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"Když je tato zkratka zapnutá, můžete funkci přístupnosti spustit tím, že na tři sekundy podržíte obě tlačítka hlasitosti."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"Text s vysokým kontrastem"</string>
@@ -2193,24 +2203,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"Určete, jak dlouho se mají zobrazovat zprávy s výzvami k akci, které jsou viditelné jen po omezenou dobu.\n\nToto nastavení podporují jen některé aplikace."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"Prodleva přidržení"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"Převrácení barev"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"Toto nastavení může mít dopad na výkon"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"Doba setrvání"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"Použít převrácení barev"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"Převrácení barev změní světlou obrazovku na tmavou. Bude se na ni lépe dívat lidem citlivým na jasné světlo.&lt;br/&gt;&lt;br/&gt;Poznámka: Tmavé barvy se zesvětlí. Změní se barvy v médiích a obrázcích. Můžete také použít Tmavý motiv (Nastavení &gt; Displej)."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"Automatické klikání (doba setrvání)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"Pokud používáte myš, můžete kurzor nastavit tak, aby automaticky klikl, jakmile se na určitou dobu zastaví."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"Prodleva před kliknutím"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"Bez automatického klikání (výchozí)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"Krátká"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0,2 sekundy"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"Střední"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0,6 sekundy"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"Dlouhá"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 sekunda"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"Vlastní"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"Kratší"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"Delší"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"Doba automatického klikání"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"Síla vibrací a hmatové odezvy"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Vibrace při oznámení"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Vibrace při vyzvánění"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Odezva klepnutí"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"Používat službu"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"Použít aplikaci <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"Otevřít aplikaci <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"Používat korekci barev"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"Používat titulky"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"Zobrazit titulky"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"Vzhled titulků"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"Velikost textu, styl titulků"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"Více možností"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"Toto nastavení podporují jen některé aplikace."</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"Tlačítko Přístupnost"</string>
+    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"Přejetí dvěma prsty zdola nahoru"</string>
+    <string name="accessibility_shortcut_type_hardware" msgid="4834144210432451916">"Podržení tlačítek hlasitosti"</string>
+    <string name="accessibility_shortcut_type_triple_tap" msgid="7717524216825494543">"Přiblížení trojitým klepnutím"</string>
     <string name="accessibility_hearingaid_instruction_continue_button" msgid="3367260988024430722">"Pokračovat"</string>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"Naslouchátka"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"Nejsou připojena žádná naslouchátka"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"Přidat naslouchátka"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"Chcete-li spárovat naslouchátka, na další obrazovce klepněte na své zařízení."</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"Ujistěte se, zda jsou naslouchátka v režimu párování."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"Chcete-li spárovat naslouchátka, na další obrazovce najděte své zařízení a klepněte na něj. Ujistěte se, zda jsou naslouchátka v režimu párování."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"Zařízení <xliff:g id="DEVICE_NAME">%1$s</xliff:g> je aktivní"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="few"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> uložená naslouchátka</item>
@@ -2224,35 +2252,47 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Tato služba nefunguje."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Zobrazit v rychlém nastavení"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"Režim korekce"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="few">Mimořádně krátká prodleva (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="many">Mimořádně krátká prodleva (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Mimořádně krátká prodleva (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Mimořádně krátká prodleva (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Červená a zelená"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"Zelená a červená"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Modrá a žlutá"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"Deuteranomálie"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"Protanomálie"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"Tritanomálie"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="few">Mimořádně krátká prodleva (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundy)</item>
+      <item quantity="many">Mimořádně krátká prodleva (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundy)</item>
+      <item quantity="other">Mimořádně krátká prodleva (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekund)</item>
+      <item quantity="one">Mimořádně krátká prodleva (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> sekunda)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="few">Velmi krátká prodleva (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="many">Velmi krátká prodleva (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Velmi krátká prodleva (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Velmi krátká prodleva (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="few">Velmi krátká prodleva (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundy)</item>
+      <item quantity="many">Velmi krátká prodleva (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundy)</item>
+      <item quantity="other">Velmi krátká prodleva (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekund)</item>
+      <item quantity="one">Velmi krátká prodleva (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> sekunda)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="few">Krátká prodleva (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="many">Krátká prodleva (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Krátká prodleva (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Krátká prodleva (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="few">Krátká prodleva (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundy)</item>
+      <item quantity="many">Krátká prodleva (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundy)</item>
+      <item quantity="other">Krátká prodleva (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekund)</item>
+      <item quantity="one">Krátká prodleva (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> sekunda)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="few">Dlouhá prodleva (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="many">Dlouhá prodleva (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Dlouhá prodleva (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Dlouhá prodleva (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="few">Dlouhá prodleva (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundy)</item>
+      <item quantity="many">Dlouhá prodleva (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundy)</item>
+      <item quantity="other">Dlouhá prodleva (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekund)</item>
+      <item quantity="one">Dlouhá prodleva (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> sekunda)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="few">Velmi dlouhá prodleva (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="many">Velmi dlouhá prodleva (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Velmi dlouhá prodleva (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Velmi dlouhá prodleva (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="few">Velmi dlouhá prodleva (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundy)</item>
+      <item quantity="many">Velmi dlouhá prodleva (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundy)</item>
+      <item quantity="other">Velmi dlouhá prodleva (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekund)</item>
+      <item quantity="one">Velmi dlouhá prodleva (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> sekunda)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="few"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundy</item>
+      <item quantity="many"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundy</item>
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekund</item>
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> sekunda</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"Vyzvánění <xliff:g id="SUMMARY_RING">%1$s</xliff:g>, oznámení <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>, klepnutí <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"Vibrace pro vyzvánění a oznámení jsou vypnuty"</string>
@@ -2587,7 +2627,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"Při posledním odpojení pro <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"Využití baterie celkem"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"Aktualizovat"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"OS Android"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"Mediaserver"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"Optimalizace aplikací"</string>
     <string name="battery_saver" msgid="7737147344510595864">"Spořič baterie"</string>
@@ -2668,8 +2707,7 @@
     <string name="tts_play" msgid="2945513377250757221">"Přehrát"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"Síť VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"Úložiště pověření"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"Instalovat z úložiště"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"Instalace z karty SD"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"Instalace certifikátu"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"Nainstalovat certifikáty z úložiště"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"Nainstalovat certifikáty z karty SD"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"Vymazat pověření"</string>
@@ -2689,6 +2727,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"Úložiště pověření je vymazáno."</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"Úložiště pověření nelze smazat."</string>
     <string name="usage_access_title" msgid="1580006124578134850">"Přístup k dat. o používání"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"Certifikát CA"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"Certifikát pro VPN a aplikaci"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"Certifikát Wi‑Fi"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"Vaše soukromí je ohroženo"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"Certifikáty CA slouží k šifrování na webech, v aplikacích a v sítích VPN. Instalujte pouze certifikáty CA od organizací, kterým důvěřujete. \n\n Pokud nainstalujete certifikát CA, jeho vlastník může získat přístup k vašim údajům, jako jsou hesla, zprávy nebo údaje platebních karet z webů a aplikací, které používáte – a to i když tyto informace budou šifrované."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"Neinstalovat"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"Přesto nainstalovat"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"Certifikát nebyl nainstalován"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"Signál nouzového vytáčení"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Nastavit chování při tísňovém volání"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Záloha"</string>
@@ -2716,10 +2762,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"Deaktivovat a odinstalovat"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"Aplikace pro správu zařízení"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"Nejsou k dispozici žádné aplikace pro správu zařízení"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"Osobní"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"Pracovní"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"Omezit přístup k SMS a seznamu hovorů"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"Přístup k SMS a seznamu hovorů mají jen výchozí aplikace na telefonování a odesílání zpráv"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"Nejsou k dispozici žádní zástupci důvěryhodnosti."</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"Aktivovat aplikaci pro správu zařízení?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"Aktivovat tuto aplikaci pro správu zařízení"</string>
@@ -2733,6 +2775,16 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"Ostatní možnosti váš administrátor zakázal"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"Další podrobnosti"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"Protokol oznámení"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"Historie oznámení"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"Dnes"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"Odloženo"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"Nedávno zavřené"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="few"><xliff:g id="NUMBER_1">%d</xliff:g> oznámení</item>
+      <item quantity="many"><xliff:g id="NUMBER_1">%d</xliff:g> oznámení</item>
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> oznámení</item>
+      <item quantity="one"><xliff:g id="NUMBER_0">%d</xliff:g> oznámení</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"Tón vyzvánění a vibrace"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"Podrobnosti sítě"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"Synchronizace zapnuta"</string>
@@ -3090,7 +3142,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"Omezení"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"Odebrat omezení"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"Změnit PIN"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"Zobrazovat oznámení"</string>
     <string name="help_label" msgid="2896538416436125883">"Nápověda a zpětná vazba"</string>
     <string name="support_summary" msgid="1034146931237148885">"Články nápovědy, telefon a chat, začínáme"</string>
     <string name="user_account_title" msgid="6389636876210834864">"Účet pro obsah"</string>
@@ -3115,6 +3166,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"Volání přes síť 4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Používat ke zlepšení hlasové a další komunikace služby LTE (doporučeno)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Používat ke zlepšení hlasové a další komunikace služby 4G (doporučeno)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Zjišťování kontaktů"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Povoluje operátorovi zjistit, které funkce volání vaše kontakty podporují."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Povolit zjišťování kontaktů?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Aktivací této funkce povolíte operátorovi přístup k telefonním číslům v kontaktech, aby mohl zjistit, které funkce volání podporují."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Preferovaný typ sítě"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (doporučeno)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"Zprávy MMS"</string>
@@ -3159,7 +3214,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"Volat pomocí"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"Vyberte SIM kartu"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"SIM karta <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"Prázdná SIM"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"Název SIM karty"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"Zadejte název SIM karty"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"Slot pro SIM kartu %1$d"</string>
@@ -3169,6 +3223,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"Vybrat SIM kartu"</string>
     <string name="color_orange" msgid="216547825489739010">"Oranžová"</string>
     <string name="color_purple" msgid="6603701972079904843">"Nachová"</string>
+    <string name="color_pink" msgid="8596872110888626708">"Růžová"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"Nejsou vloženy žádné SIM karty"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"Stav SIM karty"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"Stav SIM karty (slot na SIM kartu %1$d)"</string>
@@ -3182,7 +3237,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"SIM karty byly změněny."</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Klepnutím přejděte do Nastavení"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"Preferovaná SIM karta"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Pokaždé se zeptat"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Vyžadován výběr"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"Výběr SIM karty"</string>
@@ -3202,6 +3256,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"Bluetooth, režim jízdy autem"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"Bluetooth, NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"Bluetooth"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"Nedostupné, protože je vypnutá funkce NFC"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"Aplikace a oznámení"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Nedávné aplikace, výchozí aplikace"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Aplikace v pracovním profilu nemají přístup k oznámením."</string>
@@ -3212,13 +3267,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"Nastavení"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"wifi, wi-fi, síť, připojení, internet, bezdrátové, data"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"Oznámení Wi‑Fi, oznámení wifi"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"využití dat"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"Zastavení vibrací, klepnutí, klávesnice"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"Používat 24hodinový formát"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"Stažení"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"Otevřít pomocí aplikace"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"Aplikace"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"časové pásmo"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"Hlava chatu"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"Hlava chatu, systém, upozornění, okno, dialog, displej, nad jinými aplikacemi"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"Svítilna, světlo, baterka"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"wifi, wi-fi, přepnout, ovládání"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"mobilní síť, mobilní operátor, mobilní data, bezdrátové, data, 4g, 3g, 2g, lte"</string>
@@ -3242,7 +3298,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"nerušit, vyrušit, vyrušení, pauza"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"okolí, poloha, historie, hlášení, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"účet"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"účet, přidání účtu, pracovní profil, přidat účet"</string>
     <string name="keywords_users" msgid="3497517660077620843">"omezení, omezit, omezeno"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"oprava textu, opravit, zvuk, vibrace, auto, jazyk, gesto, navrhnout, návrh, motiv, nevhodné, slovo, typ, emodži, mezinárodní"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"resetování, předvolby, výchozí"</string>
@@ -3280,6 +3336,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"paměť, mezipaměť, data, smazat, vymazat, uvolnit, místo"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"připojené, zařízení, sluchátka, náhlavní souprava, reproduktor, bezdrátové, párování, hudba, média"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"pozadí, obrazovka, obrazovka uzamčení, motiv"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"tvar ikony, barva zvýraznění, písmo"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"výchozí, asistent"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"placení, výchozí"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"příchozí oznámení"</string>
@@ -3289,18 +3346,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"hmatová odezva, vibrace, citlivost"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"spořič baterie, pevné, trvalé, úspora energie, baterie"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"sled činností, plán, spořič baterie, úspora energie, baterie, automatické, procenta"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"pracovní profil"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"volte, rozšířené volání, volání 4g"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"přidat jazyk, přidání jazyka"</string>
     <string name="default_sound" msgid="6604374495015245195">"Výchozí zvuk"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"Hlasitost vyzvánění: <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"Hlasitost vyzvánění a oznámení je na <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Hlasitost, vibrace, režim Nerušit"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"Vyzvánění bylo nastaveno na vibrace"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"Vyzvánění bylo ztlumeno"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"Hlasitost vyzvánění: 80 %"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"Hlasitost vyzvánění a oznámení je na 80 %"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Hlasitost médií"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Hlasitost odesílání"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"Hlasitost hovoru"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"Hlasitost budíku"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"Hlasitost vyzvánění"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"Hlasitost vyzvánění a oznámení"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"Hlasitost oznámení"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"Vyzváněcí tón telefonu"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"Výchozí zvuk oznámení"</string>
@@ -3308,6 +3366,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"Výchozí zvuk oznámení"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"Výchozí zvuk budíku"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"Vibrace u volání"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"Vypnout vibrace"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"Vždy vibrovat"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"Nejdřív vibrace a postupně vyzvánění"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"Ostatní zvuky"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"Tóny číselníku"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"Zvuky zámku obrazovky"</string>
@@ -3333,6 +3394,7 @@
       <item quantity="one">1 aktivováno</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Nerušit"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Přijímat pouze oznámení od důležitých lidí a z důležitých aplikací"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Omezení vyrušení"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Zapněte funkci Nerušit"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"Výjimky"</string>
@@ -3359,7 +3421,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Blokovat vizuální vyrušení"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Povolit vizuální signály"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"Když je zapnut režim Nerušit"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"Povolit vyrušení, která vydávají zvuk"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"Omezit oznámení"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Oznámení bez zvukového upozornění"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"Oznámení se zobrazí na obrazovce"</string>
@@ -3390,7 +3452,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"Zvuk a vibrace"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"Zvuk, vibrace a některá vizuální upozornění na oznámení"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"Zvuk, vibrace a vizuální upozornění na oznámení"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"Oznámení potřebná pro základní činnost a stav telefonu nebudou skryta nikdy"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"Oznámení potřebná pro základní činnost a stav telefonu nebudou skryta nikdy."</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"Žádné"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"další možnosti"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"Přidat"</string>
@@ -3424,10 +3486,12 @@
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> plánů se může zapnout automaticky</item>
       <item quantity="one">1 plán se může zapnout automaticky</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"Vypnout zvuk zařízení, ale povolit výjimky"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"Výjimky"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"Plán"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"Zobrazit všechny výjimky"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"Výjimky při zapnutém režimu Nerušit"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"Lidé"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"Aplikace"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"Budíky a další vyrušení"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"Plány"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"Ztlumená oznámení"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"Když je zapnut režim Nerušit, zvuky a vibrace budou ztlumeny (kromě položek, které povolíte výše)."</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"Ztlumeno vše kromě"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"Ztlumeno"</string>
@@ -3471,16 +3535,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"Adaptivní oznámení"</string>
     <string name="asst_capability_prioritizer_title" msgid="1181272430009156556">"Adaptivní priorita oznámení"</string>
     <string name="asst_capability_prioritizer_summary" msgid="954988212366568737">"Oznámení s nižší prioritou automaticky nastavit na Nenápadná"</string>
+    <string name="asst_capability_ranking_title" msgid="312998580233257581">"Adaptivní hodnocení oznámení"</string>
+    <string name="asst_capability_ranking_summary" msgid="2293524677144599450">"Automaticky oznámení hodnotit podle relevance"</string>
     <string name="asst_capabilities_actions_replies_title" msgid="4392470465646394289">"Navrhované akce a odpovědi"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"Automaticky zobrazovat navrhované akce a odpovědi"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"Zapnutím historie oznámení začnete sledovat minulá a odložená oznámení"</string>
+    <string name="notification_history" msgid="8663811361243456201">"Historie oznámení"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"Zapnout historii"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"Vypnout historii"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"Historie oznámení je vypnutá"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"zobrazit nastavení oznámení"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Povolit odložení oznámení"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"Skrýt ikony z nenápadných oznámení"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"Ikony nenápadných oznámení nejsou zobrazovány na stavovém řádku"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"Povolit puntíky s oznámením"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"Zobrazit lištu s nedávnými konverzacemi"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Bubliny"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"Některá oznámení se mohou zobrazovat jako bubliny na obrazovce"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"Některá oznámení a další obsah se mohou zobrazovat jako bubliny na obrazovce. Bublinu otevřete klepnutím. Zavřete ji přetažením dolů."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Bubliny"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"Na obrazovce se budou zobrazovat nové zprávy"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"Povolit aplikaci <xliff:g id="APP_NAME">%1$s</xliff:g> zobrazovat některá oznámení jako bubliny"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"Zapnutí bublin"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"Chcete-li u této aplikace zapnout bubliny, musíte je nejdřív zapnout v zařízení. Toto nastavení má vliv na ostatní aplikace, u kterých jste bubliny již dříve zapnuli."</string>
@@ -3498,6 +3572,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"Zobrazí se na vysouvacím panelu a obrazovce uzamčení"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"Zobrazí se na vysouvacím panelu a stavovém řádku"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"Zobrazí se na vysouvacím panelu, stavovém řádku a obrazovce uzamčení"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"Skrýt tichá oznámení na stavovém řádku"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"Blikání kontrolky"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"Obrazovka uzamčení"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"Přeskočit obrazovku uzamčení"</string>
@@ -3528,6 +3603,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"Chování"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"Povolit zvuk"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"Oznámení nikdy nezobrazovat"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"Konverzace"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"Konverzace"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"Není konverzace"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"Odstranit ze sekce konverzace"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"Toto je konverzace"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"Přidat do sekce konverzace"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"Správa konverzací"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"Důležité konverzace"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"Všechny konverzace"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"Důležité konverzace v bublinách"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"Důležité konverzace se zobrazují v horní části vysouvacího panelu. Můžete také nastavit, aby se zobrazovaly v bublinách a v režimu Nerušit."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"Zobrazit tiše a minimalizovat"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"Zobrazovat tiše"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"Vydat zvukový signál"</string>
@@ -3546,7 +3632,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"Pomáhá vám soustředit se vypnutím zvuku a vibrací"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"Upozorňuje vás pomocí zvuku a vibrací"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"Když je zařízení odemčené, zobrazovat oznámení jako banner v horní části obrazovky"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"Zobrazit oznámení"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"Všechna oznámení aplikace <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"Adaptivní oznámení"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="few">~<xliff:g id="NUMBER_1">%d</xliff:g> oznámení za den</item>
@@ -3573,6 +3659,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"Adaptivní oznámení"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"Žádné"</string>
     <string name="no_notification_listeners" msgid="2839354157349636000">"Žádné nainstalované aplikace o přístup k oznámením nepožádaly."</string>
+    <string name="notification_access_detail_switch" msgid="46386786409608330">"Povolit přístup k oznámením"</string>
     <string name="notification_assistant_security_warning_title" msgid="2972346436050925276">"Povolit službě <xliff:g id="SERVICE">%1$s</xliff:g> přístup k oznámením?"</string>
     <string name="notification_assistant_security_warning_summary" msgid="3119843404577399036">"Aplikace <xliff:g id="NOTIFICATION_ASSISTANT_NAME">%1$s</xliff:g> bude moci číst všechna oznámení, včetně osobních údajů, jako jsou jména kontaktů a texty zpráv, které obdržíte. Bude také moci oznámení změnit, zavřít nebo aktivovat tlačítka akcí, která obsahují. \n\nTímto také aplikaci umožníte zapínat nebo vypínat režim Nerušit a měnit související nastavení."</string>
     <string name="notification_listener_security_warning_title" msgid="5791700876622858363">"Povolit službě <xliff:g id="SERVICE">%1$s</xliff:g> přístup k oznámením?"</string>
@@ -3640,8 +3727,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"Hotovo"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"Důležitost"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"Blikání kontrolky"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"Vibrace"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"Vibrace"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"Zvuk"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"Důležité"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"Přidat do domácnosti"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"Smazat"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"Přejmenovat"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"Název plánu"</string>
@@ -3697,6 +3786,10 @@
       <item quantity="other"><xliff:g id="NUM_PEOPLE">%d</xliff:g> dalších</item>
       <item quantity="one">1 další</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Konverzace"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"Ze všech konverzací"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"Z důležitých konverzací"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"Nepovolit žádné konverzace"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"Povolit zprávy"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"Chcete-li zajistit, aby povolené zprávy vydávaly zvuk, zkontrolujte, zda je zařízení nastavené na vyzvánění, vibraci či tichý režim."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"V plánu <xliff:g id="SCHEDULE_NAME">%1$s</xliff:g> jsou blokovány příchozí zprávy. Nastavení můžete upravit, aby se vám dovolali kamarádi, členové rodiny nebo jiné vybrané kontakty."</string>
@@ -3710,15 +3803,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"Žádné"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"Nepovolit žádné hovory"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"Nepovolit žádné zprávy"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"Povolit budíky"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"Budíky"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"Z časovačů, budíků, bezpečnostních systémů a dalších aplikací"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"budíky"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"Přehrávat zvuky médií"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"Zvuky médií"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"Z videí, her a dalších médií"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"média"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"Povolit zvuky při dotyku"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"Zvuky při dotyku"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"Z klávesnice a dalších tlačítek"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"zvuky při dotyku"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"Povolit připomenutí"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"Připomenutí"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"Z úkolů a připomenutí"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"připomenutí"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"Povolit události"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"Události"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"Z nadcházejících událostí v kalendáři"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Povolit přepisování aplikací"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"Výjimky aplikací"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3767,6 +3865,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"Povolit, aby se při doručení oznámení v režimu Nerušit zapínala obrazovka"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"Nastavení oznámení"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"OK"</string>
+    <string name="suggestion_button_close" msgid="6865170855573283759">"Zavřít"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Odeslat zpětnou vazbu o tomto zařízení"</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"Zadejte PIN administrátora"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"Zapnuto"</string>
@@ -3777,6 +3876,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Před uvolněním požádat o PIN"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Před uvolněním požádat o heslo"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Při uvolnění uzamknout zařízení"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Potvrdit smazání SIM karty"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"Před vymazáním stažené SIM karty ověřte svou totožnost"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"Tento pracovní profil je spravován pomocí aplikace:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"Spravováno aplikací <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(Experimentální)"</string>
@@ -3859,8 +3960,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"Všechny aplikace"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Nainstalované aplikace"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Okamžité aplikace"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"Osobní"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"Práce"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"Aplikace: Vše"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"Vypnuto"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"Kategorie: Urgentní důležitost"</string>
@@ -3872,6 +3971,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"Neznámá aplikace"</string>
     <string name="app_permissions" msgid="8666537659217653626">"Správce oprávnění"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"Aplikace, které používají oprávnění <xliff:g id="APPS">%1$s</xliff:g>"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"Aplikace používající oprávnění <xliff:g id="APPS">%1$s</xliff:g> a další"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"Probudit klepnutím"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"Dvojitým klepnutím kamkoli na obrazovku zařízení probudíte"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"Otevírání odkazů"</string>
@@ -3885,9 +3985,16 @@
       <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> aplikace k otevírání podporovaných odkazů</item>
       <item quantity="one">Jedna aplikace k otevírání podporovaných odkazů</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"Otevírat v této aplikaci"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"Povolit aplikaci otevírat podporované odkazy"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"Pokaždé se zeptat"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"Neotevírat v této aplikaci"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"Nepovolovat aplikaci otevírat odkazy"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="few">Aplikace tvdí, že spravuje <xliff:g id="COUNT_1">%d</xliff:g> odkazy</item>
+      <item quantity="many">Aplikace tvdí, že spravuje <xliff:g id="COUNT_1">%d</xliff:g> odkazu</item>
+      <item quantity="other">Aplikace tvdí, že spravuje <xliff:g id="COUNT_1">%d</xliff:g> odkazů</item>
+      <item quantity="one">Aplikace tvdí, že spravuje <xliff:g id="COUNT_0">%d</xliff:g> odkaz</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"Aplikace tvrdí, že spravuje následující odkazy:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"Výchozí"</string>
     <string name="default_for_work" msgid="537558180548617528">"Výchozí pracovní"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"Asistence a hlasové zadávání"</string>
@@ -4037,8 +4144,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"Zobrazit přes ostatní aplikace"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Povolit zobrazení přes jiné aplikace"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"Umožní této aplikaci zobrazovat se přes ostatní aplikace, které používáte. Může tak narušit vaši práci s těmito aplikacemi a změnit způsob jejich zobrazování nebo chování."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"Přístup ke všem souborům"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"Povolte přístup ke správě všech souborů"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Povolte aplikaci načítat, upravovat a mazat soubory v tomto zařízení a v připojených úložištích. Pokud aplikaci oprávnění udělíte, bude moci k souborům přistupovat i bez vašeho vědomí."</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"Mají přístup ke všem souborům"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"VR virtuální realita přijímač stereo pomocná služba"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"systém upozornění okno dialog zobrazení nad jinými aplikacemi"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"Zobrazit přes ostatní aplikace"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"Aplikace s povolením k zobrazení přes ostatní aplikace: <xliff:g id="COUNT_0">%1$d</xliff:g> z <xliff:g id="COUNT_1">%2$d</xliff:g>"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"Aplikace s oprávněním"</string>
@@ -4214,6 +4324,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"Využito <xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g>"</string>
     <string name="data_overusage" msgid="3680477320458707259">"<xliff:g id="ID_1">^1</xliff:g> nad limit"</string>
     <string name="data_remaining" msgid="6316251496381922837">"Zbývá: <xliff:g id="ID_1">^1</xliff:g>"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"Graf zobrazuje využití dat od <xliff:g id="START_DATE">%1$s</xliff:g> do <xliff:g id="END_DATE">%2$s</xliff:g>."</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"Pro zadané období nejsou k dispozici žádná data"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="few">Zbývají %d dny</item>
       <item quantity="many">Zbývá %d dne</item>
@@ -4279,14 +4391,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"velikost zásilky"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"bylo zobrazeno oznámení"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"zvuk"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"vibrace"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"vzor"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"výchozí"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"kanál"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"žádné"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"Objekt hodnocení chybí."</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"Objekt hodnocení tento klíč neobsahuje."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"Nastavování motivů"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"Výchozí nastavení zařízení"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"Výřez displeje"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"výřez displeje"</string>
@@ -4383,8 +4491,12 @@
     <string name="information_label" msgid="6939310810756569298">"Informace"</string>
     <string name="low_label" msgid="6525629096999711220">"Nízká"</string>
     <string name="high_label" msgid="357503396626018487">"Vysoká"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"Vyšší citlivost může narušovat gesta v aplikacích prováděná u okrajů obrazovky."</string>
+    <string name="left_edge" msgid="1513576842959071849">"Levý okraj"</string>
+    <string name="right_edge" msgid="1505309103265829121">"Pravý okraj"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"Vyšší citlivost může narušovat gesta v aplikacích prováděná u okrajů obrazovky."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"Citlivost na zpětné gesto"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"Nastavení gest"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"navigace gesty, citlivost na zpětné gesto, zpětné gesto"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"Kontrola telefonu dvojitým klepnutím"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"Kontrola tabletu dvojitým klepnutím"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"Kontrola zařízení dvojitým klepnutím"</string>
@@ -4553,7 +4665,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"Spustit zprovoznění služby u operátora"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"Aktualizujte režim Nerušit"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"Pokud nechcete být rušeni, oznámení pozastavte"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"Funkce v tomto zařízení není k dispozici"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"Funkce není k dispozici"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"Tato funkce byla vypnuta, protože zpomaluje telefon"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"Vynutit úplné měření GNSS"</string>
@@ -4563,20 +4674,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"Vyberte aplikaci podporující ANGLE"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"Není nastavena žádná aplikace podporující ANGLE"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"Aplikace podporující ANGLE: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"Předvolby herního ovladače"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"Upravit nastavení herního ovladače"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"Když je zapnutý herní ovladač, můžete pro aplikace nainstalované v zařízení používat aktualizovaný ovladač grafiky."</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"Zapnout pro všechny aplikace"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"Vyberte ovladač grafiky"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"Výchozí"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"Herní ovladač"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"Předběžně vydaný ovladač"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"Systémový ovladač grafiky"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"Předvolby ovladače grafiky"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"Úprava nastavení ovladače grafiky"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"Když je zapnuto několik ovladačů grafiky, můžete pro aplikace nainstalované v zařízení používat aktualizovaný ovladač grafiky."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"Zapnout pro všechny aplikace"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"Vyberte ovladač grafiky"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"Výchozí"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"Herní ovladač"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"Ovladač pro vývojáře"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Systémový ovladač grafiky"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Změny kompatibility aplikací"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Přepnout změny kompatibility aplikace"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Změny, které jsou ve výchozím nastavení povoleny"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Změny, které jsou ve výchozím nastavení zakázány"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"Nastavení v tomto telefonu není podporováno"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"Nastavení v tomto tabletu není podporováno"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"Nastavení v tomto zařízení není podporováno"</string>
@@ -4595,6 +4712,12 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"Zařízení"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Při volání nedostupné"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"Nedostupné"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"Přidání výstupů"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"Skupina"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"Je vybráno 1 zařízení"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"Vybraná zařízení: <xliff:g id="COUNT">%1$d</xliff:g>"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"Přijmout hovor v zařízení"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Tento APN nelze změnit."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Zvyšte životnost baterie tabletu"</string>
@@ -4714,10 +4837,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"V jednu chvíli může být aktivní pouze jedna stažená SIM karta.\n\nPřepnutím na operátora <xliff:g id="CARRIER1">%1$s</xliff:g> nezrušíte službu <xliff:g id="CARRIER2">%2$s</xliff:g>."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Přepnout na síť <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Vymazat SIM kartu"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Vymazat staženou SIM kartu?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Když vymažete tuto SIM kartu, ze zařízení bude odebrána služba <xliff:g id="CARRIER_0">%1$s</xliff:g>.\n\nSlužba operátora <xliff:g id="CARRIER_1">%2$s</xliff:g> zrušena nebude."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Vymazat"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Mazání SIM karty…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"SIM kartu nelze vymazat"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Tuto SIM kartu nelze vymazat z důvodu chyby.\n\nRestartujte zařízení a zkuste to znovu."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Preferovaný typ sítě"</string>
@@ -4742,7 +4861,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Neplatný režim sítě <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Ignorovat."</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Názvy přístupových bodů"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Při připojení k operátorovi <xliff:g id="CARRIER">%1$s</xliff:g> nedostupné"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"Zdravotní údaje, nouzové kontakty"</string>
     <string name="see_more" msgid="7499355691042812723">"Zobrazit další"</string>
     <string name="see_less" msgid="2642392725363552793">"Zobrazit méně"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"Zařízení, které chcete používat s aplikací <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
@@ -4751,13 +4869,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"Něco se stalo. Aplikace zrušila požadavek na výběr zařízení."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"Připojení úspěšně navázáno"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"Zobrazit vše"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="few"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> připojená zařízení</item>
-      <item quantity="many"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> připojeného zařízení</item>
-      <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> připojených zařízení</item>
-      <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_0">%1$d</xliff:g> připojené zařízení</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"Žádná zařízení Bluetooth"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"Vyhledávání zařízení…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"Připojování k zařízení…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"Levé"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"Pravé"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Hlavní díl"</string>
@@ -4767,6 +4880,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"V režimu Letadlo nedostupné"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"Vynutit režim počítače"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Vynutit na sekundárních displejích experimentální režim počítače"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"Povolit volný tvar u kompatibility rozměru"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"Umožňuje, aby aplikace s kompatibilitou rozměru měly volný tvar"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Přepsat vynucení tmavého režimu"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"Přepíše vynucení stálého zapnutí tmavého režimu"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"Ochrana soukromí"</string>
@@ -4809,6 +4924,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Tuto aplikaci jste nedávno nainstalovali."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Přepnout výstup"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Právě se přehrává na zařízení <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (odpojeno)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Nelze přepnout. Klepnutím opakujte akci."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Důležité informace"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"POKRAČOVAT"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"NE, DĚKUJI"</string>
@@ -4836,8 +4953,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"Kombinace SIM karet"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Informace o vašich pracovních zásadách"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Nastavení spravováno administrátorem IT"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"Obslužný nástroj pro zprávy o chybách"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Určuje, která aplikace na vašem zařízení zpracovává zkratku k odeslání zprávy o chybě."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Osobní"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"Práce"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"Výchozí nastavení systému"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"Tato volba již není platná. Zkuste to znovu."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"Zastavit odesílání"</string>
 </resources>
diff --git a/res/values-da/arrays.xml b/res/values-da/arrays.xml
index fd4e58d..8080e89 100644
--- a/res/values-da/arrays.xml
+++ b/res/values-da/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"Straks"</item>
     <item msgid="463591454172790676">"5 sekunder"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"Bekræft ikke"</item>
+    <item msgid="5703177653586269306">"Anmod om certifikatstatus"</item>
+    <item msgid="326388247868439528">"Kræv certifikatstatus"</item>
+    <item msgid="1090956283885790552">"Kræv alle ikke-godkendte certifikatstatusser"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"Trykknap"</item>
     <item msgid="2630618799033509548">"Pinkode fra din vens enhed"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"Ingen"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"IPSec VPN med forhåndsdelte nøgler og Xauth- godkendelse"</item>
     <item msgid="2484564813864139237">"IPSec VPN med certifikater og Xauth-godkendelse"</item>
     <item msgid="68918911194507915">"IPSec VPN med certifikater og hybridgodkendelse"</item>
+    <item msgid="4631647675167100375">"IKEv2/IPSec VPN med certifikater og godkendelse via brugernavn/adgangskode"</item>
+    <item msgid="8812228622975052811">"IKEv2/IPSec VPN med forhåndsdelte nøgler"</item>
+    <item msgid="6630554779981113046">"IKEv2/IPSec VPN med certifikater"</item>
   </string-array>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"Ingen"</item>
diff --git a/res/values-da/config.xml b/res/values-da/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-da/config.xml
+++ b/res/values-da/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index af3fadc..046fd81 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -31,49 +31,17 @@
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Aktivér Indstillinger for udviklere først."</string>
     <string name="header_category_wireless_networks" msgid="303445626075235229">"Trådløs og netværk"</string>
     <string name="header_category_system" msgid="1665516346845259058">"System"</string>
-    <string name="radio_info_data_connection_enable" msgid="7500945447906187613">"Aktivér dataforbindelse"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"Deaktiver dataforbindelse"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"VoLTE er provisioneret"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"Videoopkald er provisioneret"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"Wi-Fi-opkald er provisioneret"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"EAB/tilstedeværelse er provisioneret"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"CBRS-data"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"Aktivér DSDS"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"Vil du genstarte enheden?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"Genstart enheden for at skifte indstilling."</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"Genstart"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"Annuller"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"Mobilsendestyrke"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"Vis adressebog på SIM-kortet"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"Vis numre til begrænset opkald"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"Vis tjenesten faste opkaldsnumre"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"IMS-tjenestestatus"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"IMS-status"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"Registreret"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"Ikke registreret"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"Tilgængelig"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"Ikke tilgængelig"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"IMS-registrering: <xliff:g id="STATUS">%1$s</xliff:g>\nVoLTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nVoWiFi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideoopkald: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT-grænseflade: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"I drift"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Ude af drift"</string>
     <string name="radioInfo_service_emergency" msgid="6838935881091760942">"Kun nødopkald"</string>
     <string name="radioInfo_service_off" msgid="6184928420860868571">"Radioen er slukket"</string>
     <string name="radioInfo_roaming_in" msgid="8892550453644088692">"Roaming"</string>
     <string name="radioInfo_roaming_not" msgid="3137594549464975054">"Roamer ikke"</string>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"Ikke aktiv"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"Ringer"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"Opkald i gang"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"Afbrudt"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"Forbinder"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"Tilsluttet"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Sat på pause"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Ukendt"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"pk."</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"bytes"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"Demonter USB-lager"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"Demonter SD-kort"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"Slet USB-lager"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"Gør teksten på skærmen mindre eller større."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Formindsk"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Forstør"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"Eksempeltekst"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"Den vidunderlige troldmand fra Oz"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"Kapitel 11: Den vidunderlige smaragdby i Oz"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"Genstart enheden for at skifte indstilling"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"Genstart"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"Annuller"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"Tilgængelige medieenheder"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"Tilgængelige opkaldsenheder"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"Forbundet lige nu"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"Medieenheder"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"Opkaldsenheder"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"Andre enheder"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Gemte enheder"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth aktiveres for at parre"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Forbindelsespræferencer"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"Den indtastede port er ikke gyldig."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"HTTP-proxyen anvendes af browseren, men må ikke bruges af andre apps."</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"Webadresse til PAC: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"Nuværende under-id:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"Under-id for standard-SIM-kort til data:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"Båndbredde til download (kbps):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"Båndbredde til upload (kbps):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"Oplysning om placering af celle (udfaset):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"Fysisk kanalkonfiguration for LTE:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"Opdateringsfrekvens for celleoplysninger:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"Alle oplysninger om cellemåling:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"Datatjeneste:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"Roaming:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI-nummer:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"Omdirigering af opkald:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"Antal PPP-nulstillinger siden start:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"Aktuelt netværk:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"Data modtaget:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"Taletjeneste:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"Signalstyrke:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"Status for taleopkald:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"Data sendt:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"Besked venter:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"Telefonnummer:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"Vælg radiobånd"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"Talenetværkstype:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"Datanetværkstype:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"Vælg telefonindeks"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"Angiv den foretrukne netværkstype:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"Ping værtsnavn (www.google.com) IPv4:"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"Ping værtsnavn (www.google.com) IPv6:"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"HTTP-klienttest:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"Kør ping-test"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"Opdater"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"Opdater"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"Skift DNS-kontrol"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"OEM-specifikke oplysninger/indstillinger"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"Konfigurer radiobåndstilstand"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"Indlæser båndliste…"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"Angiv"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"Mislykkedes"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"Lykkedes"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"Ændringerne træder i kraft, når USB-kablet tilsluttes igen."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"Aktivér USB-masselagring"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"Bytes i alt:"</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"Flyt til bunden"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"Fjern sprog"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"Vælg aktivitet"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"Enhedsoplysninger"</string>
     <string name="display_label" msgid="3056320781191343221">"Skærm"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"Oplysninger om tabletcomputeren"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"Telefonoplysninger"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"USB-lager"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"SD-kort"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"Proxyindstillinger"</string>
@@ -306,9 +234,6 @@
     <string name="airplane_mode" msgid="3196085857882526817">"Flytilstand"</string>
     <string name="wireless_networks_settings_title" msgid="8557542379234105369">"Trådløs og netværk"</string>
     <string name="radio_controls_summary" msgid="9028430178697624501">"Administrer Wi-Fi, Bluetooth, flytilstand, mobilnetværk og VPN-netværk"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"Mobildata"</string>
-    <string name="calls_title" msgid="6334813967619899114">"Tillad opkald"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"Sms-beskeder"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"Tillad databrug via mobilnetværk"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"Tillad dataforbrug ved roaming"</string>
     <string name="roaming" msgid="3055365654530847985">"Roaming"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"Opret forbindelse til datatjenester ved roaming"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"Du har mistet dataforbindelsen, fordi du har forladt dit hjemmenetværk med dataroaming slået fra."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"Slå det til"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"Du kan risikere at skulle betale høje gebyrer."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"Når du tillader dataroaming, kan du blive udsat for væsentlige roamingudgifter.\n\nDenne indstilling påvirker alle brugere på denne tablet."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"Når du tillader dataroaming, kan du blive udsat for væsentlige roamingudgifter.\n\nDenne indstilling påvirker alle brugere på denne telefon."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"Du skal muligvis betale roaminggebyrer."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"Når du tillader dataroaming, skal du muligvis betale roaminggebyrer.\n\nDenne indstilling påvirker alle brugere på denne tablet."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"Når du tillader dataroaming, skal du muligvis betale roaminggebyrer.\n\nDenne indstilling påvirker alle brugere på denne telefon."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"Vil du tillade dataroaming?"</string>
     <string name="networks" msgid="5184501333492775095">"Valg af udbyder"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"Vælg en netværksudbyder"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"Deaktiveret af administratoren"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"Se mulighed for lukning"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"Vis mulighed for afbryderknap, der deaktiverer Smart Lock, biometrisk oplåsning og notifikationer på låseskærmen"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"Trust agents låser kun op"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"Hvis denne indstilling aktiveres, vil trust agents holde din enhed oplåst i længere tid, men en låst enhed kan ikke længere låses op."</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"Lås skærmen, når der ikke længere er sikkert"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"Hvis denne indstilling er aktiveret, låses enheden, når den sidste trust agent ikke længere er sikker"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"Ingen"</string>
@@ -390,7 +313,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"Angiv Min placering, oplåsning af skærmen, låst SIM-kort og lager for loginoplysninger"</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"Angiv Min placering, oplåsning af skærmen, lager for loginoplysninger"</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"Privatliv"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"Deaktiveret af administratoren"</string>
+    <string name="disabled_by_administrator_summary" msgid="5424846182313851124">"Ikke tilgængelig"</string>
     <string name="security_status_title" msgid="6958004275337618656">"Sikkerhedsstatus"</string>
     <string name="security_dashboard_summary_face" msgid="4198949293847206382">"Skærmlås, Ansigtslås"</string>
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Skærmlås, fingeraftryk"</string>
@@ -693,7 +616,6 @@
       <item quantity="one">Skal indeholde færre end <xliff:g id="NUMBER_1">%d</xliff:g> ciffer</item>
       <item quantity="other">Skal indeholde færre end <xliff:g id="NUMBER_1">%d</xliff:g> cifre</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"Må kun indeholde tallene 0-9"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"Enhedens administrator tillader ikke brug af en nylig brugt pinkode"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"Brug af almindelige pinkoder er blokeret af din it-administrator. Prøv en anden pinkode."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"Der kan ikke bruges et ugyldigt tegn"</string>
@@ -724,6 +646,10 @@
       <item quantity="one">Skal indeholde mindst <xliff:g id="COUNT">%d</xliff:g> tegn, der ikke er et bogstav</item>
       <item quantity="other">Skal indeholde mindst <xliff:g id="COUNT">%d</xliff:g> tegn, der ikke er bogstaver</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="one">Skal indeholde mindst <xliff:g id="COUNT">%d</xliff:g> tegn, som ikke er et tal</item>
+      <item quantity="other">Skal indeholde mindst <xliff:g id="COUNT">%d</xliff:g> tegn, som ikke er et tal</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"Enhedens administrator tillader ikke brug af en nylig brugt adgangskode"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"Brug af almindelige adgangskoder er blokeret af din it-administrator. Prøv en anden adgangskode."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"Stigende eller faldende talsekvens og gentagne tal er ikke tilladt"</string>
@@ -837,19 +763,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2,4 GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"Log ind"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"Åbn website"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"<xliff:g id="REMAINING_TIME">%1$s</xliff:g> tilbage"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"Udløber <xliff:g id="EXPIRY_TIME">%1$s</xliff:g>"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"Tryk her for at logge ind på netværket"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Mbit/s"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"<xliff:g id="REQUESTER">%s</xliff:g> ønsker at aktivere Wi-Fi"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"<xliff:g id="REQUESTER">%s</xliff:g> ønsker at deaktivere Wi-Fi"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"Bekræft bytekoden for apps, der kan fejlrettes"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Tillad, at ART bekræfter bytekoden for apps, der kan fejlrettes"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"Vis opdateringshastighed"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Vis skærmens aktuelle opdateringshastighed"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"Tillad dataudveksling, når tabletten rører en anden enhed"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"Tillad dataudveksling, når telefonen rører en anden enhed"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"Tillad dataudveksling, når tabletten rører en NFC-enhed"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"Tillad dataudveksling, når telefonen rører en NFC-enhed"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"Slå NFC til"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"NFC udveksler data mellem denne enhed og andre enheder eller mål i nærheden, f.eks. betalingsterminaler, adgangslæsere og interaktive annoncer eller tags."</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"Sikker NFC"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Kræver, at enheden låses op til NFC"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"Tillad kun brug af NFC-betaling og Transit, når skærmen er låst op"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"Klar til at overføre appindhold via NFC"</string>
@@ -923,8 +855,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Aktivér"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Wi‑Fi-scanning blev aktiveret"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Avancerede valgmuligheder"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"Rullelisten Avancerede valgmuligheder. Tryk to gange for at skjule listen."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"Rullelisten Avancerede valgmuligheder. Tryk to gange for at udvide listen."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Rulleliste med avancerede valgmuligheder"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"udvid"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"Netværksnavn"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"Angiv SSID"</string>
     <string name="wifi_security" msgid="9095934643631406913">"Sikkerhed"</string>
@@ -934,6 +866,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"Status"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"Overførselshastighed"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"Modtag linkhastighed"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"Linkhastighed"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"Frekvens"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"IP-adresse"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"Gemt via"</string>
@@ -941,6 +874,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"EAP-metode"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"Fase 2-godkendelse"</string>
     <string name="wifi_eap_ca_cert" msgid="8033404008276298886">"CA-certifikat"</string>
+    <string name="wifi_eap_ocsp" msgid="8713933962516871238">"Certifikatstatus online"</string>
     <string name="wifi_eap_domain" msgid="8304301470752333203">"Domæne"</string>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"Brugercertifikat"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"Identitet"</string>
@@ -957,6 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"Vælg mindst ét frekvensbånd til Wi‑Fi-hotspottet:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"IP-indstillinger"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"Privatliv"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"Abonnement"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"Se eller skift abonnement"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"Tilfældig MAC"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"Tilføj en enhed"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"Centrer QR-koden nedenfor for at føje enheden til \"<xliff:g id="SSID">%1$s</xliff:g>\""</string>
@@ -966,12 +902,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"Del Wi‑Fi"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"Scan denne QR-kode for at oprette forbindelse til \"<xliff:g id="SSID">%1$s</xliff:g>\" og dele adgangskoden"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"Scan denne QR-kode for at oprette forbindelse til \"<xliff:g id="SSID">%1$s</xliff:g>\""</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"QR-koden kunne ikke læses. Sørg for, at koden er i midten af feltet, og prøv igen"</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"Prøv igen. Hvis problemet fortsætter, skal du kontakte enhedsproducenten"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"Noget gik galt"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"Sørg for, at enheden er tilsluttet, opladet og tændt"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"Sørg for, at enheden er tilsluttet, opladet og tændt. Hvis problemet fortsætter, skal du kontakte enhedsproducenten"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"Tilføjelse af “<xliff:g id="SSID">%1$s</xliff:g>\" understøttes ikke på denne enhed"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"Prøv at rykke enheden tættere på dit Wi-Fi-adgangspunkt/din router"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"Tjek adgangskoden, og prøv igen"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"Kontakt producenten af enheden"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"Tjek forbindelsen, og prøv igen"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"Vælg netværk"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"Vælg et netværk for at oprette forbindelse til din enhed"</string>
@@ -984,11 +922,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"Deler Wi-Fi med denne enhed…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"Opretter forbindelse…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"Del hotspot"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"Bekræft, at det er dig"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"Bekræft, at det er dig"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"Adgangskode til Wi-Fi-netværk: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"Adgangskode til hotspot: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"Opret automatisk forbindelse"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"Tillad, at telefonen automatisk opretter forbindelse, når den er i nærheden af dette netværk"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"Tillad, at din tablet automatisk opretter forbindelse, når den er i nærheden af dette netværk"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"Tilføj enhed"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"Brug en QR-kode til at føje en enhed til dette netværk"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"QR-koden har ikke et gyldigt format"</string>
     <string name="retry" msgid="7542103800274026915">"Prøv igen"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"Del med andre enhedsbrugere"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(uændret)"</string>
@@ -1000,6 +942,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"Der er ikke angivet noget certifikat. Din forbindelse er ikke privat."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"Netværksnavnet er for langt."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"Domæne skal angives."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"Certifikat er påkrævet."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"WPS er tilgængelig"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (WPS er tilgængelig)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"Wi-Fi-netværk for mobilselskab"</string>
@@ -1051,7 +994,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"Avanceret Wi-Fi"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"MAC-adresse"</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_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>
@@ -1103,7 +1047,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"Brug hotspot til at oprette et Wi-Fi-netværk til dine andre enheder. Hotspot leverer internet via din mobildataforbindelse. Yderligere mobildatagebyrer kan forekomme."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"Apps kan oprette et hotspot for at dele indhold med enheder i nærheden."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Deaktiver hotspot automatisk"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"Wi‑Fi-hotspot deaktiveres, hvis der ikke er nogen forbundne enheder"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Når der ikke er forbundet nogen enheder"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"Aktiverer hotspot..."</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"Deaktiverer hotspot..."</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> er aktivt"</string>
@@ -1112,6 +1056,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"Konfiguration af Wi-Fi-hotspot"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"AndroidAP WPA2 PSK-hotspot"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"AndroidHotspot"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"Vil du gemme dette netværk?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"<xliff:g id="APPNAME">%1$s</xliff:g> vil gerne gemme et netværk på din telefon"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"<xliff:g id="APPNAME">%1$s</xliff:g> vil gerne gemme et netværk på din tablet"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"Gemmer…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"Gemt"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"Der kan ikke gemmes. Prøv igen."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"Vil du gemme netværkene?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"<xliff:g id="APPNAME">%1$s</xliff:g> vil gerne gemme disse netværk på din telefon"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"<xliff:g id="APPNAME">%1$s</xliff:g> vil gerne gemme disse netværk på din tablet"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"Gemmer <xliff:g id="NUMBER">%d</xliff:g> netværk…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"Netværkene blev gemt"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"Opkald via Wi-Fi"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"Udvid opkaldsdækningen med Wi‑Fi"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"Aktivér Wi-Fi-opkald for at udvide dækningen"</string>
@@ -1138,16 +1093,18 @@
     <string name="emergency_address_title" msgid="3490633500025717573">"Adresse til nødstilfælde"</string>
     <string name="emergency_address_summary" msgid="3022628750270626473">"Anvendes som din placering, hvis du foretager et nødopkald via Wi-Fi"</string>
     <string name="private_dns_help_message" msgid="851221502063782306"><annotation id="url">"Få flere oplysninger"</annotation>" om private DNS-funktioner"</string>
+    <string name="private_dns_mode_on" msgid="8878679071975375696">"Til"</string>
     <string name="wifi_calling_pref_managed_by_carrier" msgid="129524064888622179">"Indstillingen administreres af mobilselskabet"</string>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"Aktivér Wi-Fi-opkald"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"Aktivér Wi-Fi-opkald"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"Wi-Fi-opkald understøttes ikke for %1$s"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"Forbindelsen til <xliff:g id="SSID">%1$s</xliff:g> er afbrudt"</string>
     <string name="carrier" msgid="1755020806290963951">"Mobilselskab"</string>
     <string name="display_settings_title" msgid="626835071804834218">"Visning"</string>
     <string name="sound_settings" msgid="5514582720435174014">"Lyd"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"Lydstyrke"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"Musikeffekter"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"Lydstyrke for ringetone"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"Lydstyrke for ringetone og notifikationer"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"Vibrer ved lydløs"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"Standardlyd for notifikationer"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"Ringetone"</string>
@@ -1272,13 +1229,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"Tidsplan"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"Ingen"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"Aktiveres fra solnedgang til solopgang"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"Aktiveres på valgt tidspunkt"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"Status"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"Fra/<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"Aktiveres aldrig automatisk"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"Aktiveres automatisk ved solnedgang"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"Aktiveres automatisk kl. <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"Til/<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"Deaktiveres aldrig automatisk"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"Deaktiveres automatisk ved solopgang"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"Deaktiveres automatisk kl. <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"Aktivér indtil <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"Deaktiver indtil <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"Mørkt tema bruger en sort baggrund på nogle skærme for at spare på batteriet. Tidsplaner for Mørkt tema aktiveres først, når din skærm er slukket."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"Timeout for skærmen"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"Skærmen slukker"</string>
@@ -1290,7 +1252,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"Skift baggrund"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"Tilpas din skærm"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"Vælg baggrund fra"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"Tilpas din Pixel"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"Tilpas din telefon"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"Prøv forskellige layout, baggrunde og meget mere"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"Pauseskærm"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Under opladning, eller når enheden er tilsluttet en dockingstation"</string>
@@ -1379,6 +1341,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"Demonter USB-lager, vis ledig lagerplads"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"Demonter SD-kort, vis ledig lagerplads"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI-nummer (SIM-kortrille %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"Vælg et gemt netværk for at se"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"Telefonnummer"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN-nummer (SIM-kortrille %1$d)"</string>
@@ -1405,6 +1368,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"Roaming"</string>
     <string name="status_operator" msgid="4335640583552058491">"Netværk"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"MAC-adresse for Wi-Fi"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"Enhedens MAC-adresse for Wi-Fi"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"Bluetooth-adresse"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Serienummer"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Oppetid"</string>
@@ -1617,6 +1581,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Standardindstillingerne for adgangspunktet er nulstillet."</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"Nulstil valg"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"Netværk, apps eller enheden kan nulstilles"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"Apps kan nulstilles"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"Nulstil Wi-Fi, mobil og Bluetooth"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"Denne handling nulstiller alle netværksindstillinger, bl.a.:\n\n"<li>"Wi‑Fi"</li>\n<li>"Mobildata"</li>\n<li>"Bluetooth"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"Ryd downloadede SIM-kort"</string>
@@ -1666,6 +1631,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"Hotspot er slået til"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"Netdeling"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"Der kan ikke bruges netdeling eller hotspots, når Datasparefunktion er aktiveret"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"Kun hotspot"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"Kun USB"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"Kun Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"Hotspot, USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"Hotspot, Bluetooth"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB, Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"Hotspot, USB, Bluetooth"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"Deler ikke internet med andre enheder"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"Netdeling"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Brug ikke Wi-Fi-hotspot"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Del kun internet via USB"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Del kun internet via Bluetooth"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Del kun internet via USB og Bluetooth"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"Netdeling via USB"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"Del telefonens internetforbindelse via USB"</string>
@@ -1756,9 +1734,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"Sikkerhedsoplysninger"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"Du har ingen dataforbindelse. Se disse oplysninger nu ved at gå til %s på en computer, der har forbindelse til internettet."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"Indlæser..."</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"Brug pinkode"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"Brug mønster"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"Brug adgangskode"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"Konfigurer skærmlås"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"Angiv en adgangskode af hensyn til sikkerheden"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"Angiv adgangskode for at bruge fingeraftryk"</string>
@@ -1767,8 +1742,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"Angiv pinkode for at bruge fingeraftryk"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"Angiv et mønster af hensyn til sikkerheden"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"Angiv din adgangskode igen"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"Angiv adgangskoden til din arbejdsprofil"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"Bekræft dit mønster"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"Angiv mønsteret til din arbejdsprofil"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"Angiv din pinkode igen"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"Angiv pinkoden til din arbejdsprofil"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"Adgangskoderne matcher ikke"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"Pinkoderne matcher ikke"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"Tegn dit mønster igen"</string>
@@ -1779,6 +1757,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"Angiv sikkerhedskopi for ansigtslås"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"Angiv mønster for at bruge ansigtslås"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"Angiv pinkode for at bruge ansigtslås"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"Har du glemt din adgangskode?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"Har du glemt dit mønster?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"Har du glemt din pinkode?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"Brug mønsteret til din enhed for at fortsætte"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"Angiv pinkoden til din enhed for at fortsætte"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"Angiv adgangskoden til din enhed for at fortsætte"</string>
@@ -1846,6 +1827,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"Tillad alle appkilder"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"Senest åbnede apps"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"Se alle <xliff:g id="COUNT">%1$d</xliff:g> apps"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"Kontakt din it-administrator"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"Vedkommende kan hjælpe dig med at nulstille din pinkode, dit mønster eller din adgangskode"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"Din tablet og dine personlige data er mere sårbare over for angreb fra ukendte apps. Når du installerer apps fra denne kilde, accepterer du, at du er ansvarlig for skader på din tablet eller tab af data, der kan skyldes brug af disse apps."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"Din telefon og dine personlige data er mere sårbare over for angreb fra ukendte apps. Når du installerer apps fra denne kilde, accepterer du, at du er ansvarlig for skader på din telefon eller tab af data, der kan skyldes brug af disse apps."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"Din enhed og dine personlige data er mere sårbare over for angreb fra ukendte apps. Når du installerer apps fra denne kilde, accepterer du, at du er ansvarlig for skade på din enhed eller tab af data, der kan skyldes brug af disse apps."</string>
@@ -1897,7 +1880,7 @@
     <string name="default_emergency_app" msgid="1929974800666613803">"Nødapp"</string>
     <string name="reset_app_preferences" msgid="8861758340732716573">"Nulstil app-præferencer"</string>
     <string name="reset_app_preferences_title" msgid="8935136792316050759">"Nulstil app-præferencer?"</string>
-    <string name="reset_app_preferences_desc" msgid="1377296810290814749">"Dette vil nulstille alle præferencer for:\n\n"<li>"Deaktiverede apps"</li>\n<li>"Deaktiverede appnotifikationer"</li>\n<li>"Standardapps til handlinger"</li>\n<li>"Begrænsning af baggrundsdata for apps"</li>\n<li>"Eventuelle begrænsede tilladelser"</li>\n\n"Du vil ikke miste nogen appdata."</string>
+    <string name="reset_app_preferences_desc" msgid="6509978724602405805">"Dette nulstiller alle præferencer for:\n\n "<li>"Deaktiverede apps"</li>\n" "<li>"Deaktiverede appnotifikationer"</li>\n" "<li>"Standardapps til handlinger"</li>\n" "<li>"Begrænsning af baggrundsdata for apps"</li>\n<li>" "</li>"Eventuelle begrænsede tilladelser\n\n Du vil ikke miste nogen appdata."</string>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"Nulstil apps"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"Administrer plads"</string>
     <string name="filter" msgid="9039576690686251462">"Filter"</string>
@@ -2097,7 +2080,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"Lyd og tekst på skærmen"</string>
     <string name="display_category_title" msgid="6638191682294461408">"Visning"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"Interaktionsstyring"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"Downloadede tjenester"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"Apps, du har downloadet"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"Eksperimentel"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"Aktivering og deaktivering af demofunktioner"</string>
     <string name="talkback_title" msgid="8756080454514251327">"TalkBack"</string>
@@ -2105,27 +2088,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"Tryk på elementer på din skærm for at få dem læst op"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"Præferencer for undertekster"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"Forstørrelse"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"Forstørrelsesområde"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"Aktivering af forstørrelse"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"Vælg de områder, du vil bruge, når du forstørrer skærmen"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"Fuld skærm"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"En del af skærmen"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"Fuld skærm og en del af skærmen"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"Forstør hele skærmen"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"Forstør en del af skærmen"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Forstørrelsesindstillinger"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"Tryk tre gange for at forstørre"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Brug en genvej til forstørrelse"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Brug en genvej til forstørrelse med tre tryk"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"Om <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"Valgmuligheder"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"Zoom ind på skærmen"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"Tryk tre gange for at zoome ind"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Tryk på en knap for at zoome"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><b>"Hvis du vil zoome"</b>", skal du hurtigt trykke tre gange på skærmen.\n"<ul><li>"Træk med to eller flere fingre for at rulle"</li>\n<li>"Knib sammen med to eller flere fingre for at justere zoomniveauet"</li></ul>\n\n<b>"Hvis du vil zoome midlertidigt"</b>", skal du hurtigt trykke tre gange på skærmen og holde fingeren nede på det tredje tryk.\n"<ul><li>"Træk for at udforske forskellige dele af skærmen"</li>\n<li>"Løft fingeren for at zoome ud"</li></ul>\n\n"Du kan ikke zoome ind på tastaturet eller navigationslinjen."</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"Når forstørrelse er aktiveret, kan du zoome ind på skærmen.\n\n"<b>"Hvis du vil zoome"</b>", skal du åbne forstørrelse og derefter trykke et vilkårligt sted på skærmen.\n"<ul><li>"• Træk to eller flere fingre for at rulle"</li>\n<li>"• Knib to eller flere fingre sammen for at justere zoomniveauet"</li></ul>\n\n<b>"Hvis du vil zoome midlertidigt"</b>", skal du åbne forstørrelse og derefter holde et vilkårligt sted på skærmen nede.\n"<ul><li>"• Træk for at bevæge dig rundt på siden"</li>\n<li>"• Løft fingeren for at zoome ud"</li></ul>\n\n"Du kan ikke zoome ind på tastaturet eller navigationslinjen."</string>
+    <string name="accessibility_screen_magnification_summary" msgid="7617931632990040045">"Zoom hurtigt ind på skærmen for at se indhold mere tydeligt.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Sådan zoomer du ind:&lt;/b&gt;&lt;br/&gt;	1. Brug genvejen til at starte forstørrelse&lt;br/&gt;	2. Tryk på skærmen&lt;br/&gt;	3. Flyt rundt på skærmen ved at trække med to fingre&lt;br/&gt;	4. Knib med to fingre for at zoome ind eller ud&lt;br/&gt;	5. Brug genvejen til at stoppe forstørrelse&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Sådan zoomer du ind midlertidigt:&lt;/b&gt;&lt;br/&gt;	1. Brug genvejen til at starte forstørrelse&lt;br/&gt;	2. Hold fingeren nede et vilkårligt sted på skærmen&lt;br/&gt;	3. Flyt rundt på skærmen ved at trække med fingeren&lt;br/&gt;	4. Løft fingeren for at stoppe forstørrelse"</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Når forstørrelse er aktiveret, kan du zoome ind på skærmen.\n\n"<b>"Hvis du vil zoome"</b>", skal du åbne forstørrelse og derefter trykke et vilkårligt sted på skærmen.\n"<ul><li>"Træk med to eller flere fingre for at rulle"</li>\n<li>"Knib sammen med to eller flere fingre for at justere zoomniveauet"</li></ul>\n\n<b>"Hvis du vil zoome midlertidigt"</b>", skal du åbne forstørrelse og holde fingeren nede et vilkårligt sted på skærmen.\n"<ul><li>"Træk for at udforske forskellige dele af skærmen"</li>\n<li>"Løft fingeren for at zoome ud"</li></ul>\n\n"Du kan ikke zoome ind på tastaturet eller navigationslinjen."</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Brug knappen Hjælpefunktioner til at åbne"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Brug en bevægelse til at åbne"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"Brug den nye bevægelse for hjælpefunktioner"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"Du kan aktivere eller deaktivere denne funktion ved at trykke på knappen Hjælpefunktioner<xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>nederst på skærmen.\n\nDu kan skifte mellem funktioner ved at holde knappen Hjælpefunktioner nede."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"Du kan aktivere eller deaktivere denne funktion ved at stryge opad med to fingre fra bunden af skærmen.\n\nDu kan skifte mellem funktioner ved at stryge opad med to fingre og holde dem nede."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"Du kan aktivere eller deaktivere denne funktion ved at stryge opad med tre fingre fra bunden af skærmen.\n\nDu kan skifte mellem funktioner ved at stryge opad med tre fingre og holde dem nede."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"Du kan aktivere eller deaktivere en hjælpefunktion ved at stryge opad med to fingre fra bunden af skærmen.\n\nDu kan skifte mellem funktioner ved at stryge opad med to fingre og holde dem nede."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"Du kan aktivere eller deaktivere en hjælpefunktion ved at stryge opad med tre fingre fra bunden af skærmen.\n\nDu kan skifte mellem funktioner ved at stryge opad med tre fingre og holde dem nede."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"Du kan aktivere eller deaktivere denne funktion ved at trykke på knappen Hjælpefunktioner<xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> nederst på skærmen.\n\nDu kan skifte mellem funktioner ved at holde knappen Hjælpefunktioner nede."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"Du kan aktivere eller deaktivere denne funktion ved at stryge opad med to fingre fra bunden af skærmen.\n\nDu kan skifte mellem funktioner ved at stryge opad med to fingre og holde dem nede."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"Du kan aktivere eller deaktivere denne funktion ved at stryge opad med tre fingre fra bunden af skærmen.\n\nDu kan skifte mellem funktioner ved at stryge opad med tre fingre og holde dem nede."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"Du kan aktivere eller deaktivere en hjælpefunktion ved at stryge opad med to fingre fra bunden af skærmen.\n\nDu kan skifte mellem funktioner ved at stryge opad med to fingre og holde dem nede."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"Du kan aktivere eller deaktivere en hjælpefunktion ved at stryge opad med tre fingre fra bunden af skærmen.\n\nDu kan skifte mellem funktioner ved at stryge opad med tre fingre og holde dem nede."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"OK"</string>
+    <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Genvej for <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_edit_summary_software" msgid="2820923641553461297">"Knappen Hjælpefunktioner"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture" msgid="8078659880723370597">"Stryg op med to fingre"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture_talkback" msgid="7422753388389160524">"Stryg op med tre fingre"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software" msgid="4796192466943479849">"Tryk på knappen Hjælpefunktioner"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8922102767509399352">"Tryk på knappen Hjælpefunktioner <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> nederst på skærmen"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"Stryg op fra bunden af skærmen med to fingre"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"Stryg op fra bunden af skærmen med tre fingre"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Hold lydstyrkeknapperne nede"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"Hold begge lydstyrkeknapper nede i ét sekund"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Tryk tre gange på skærmen"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"Tryk hurtigt på skærmen tre gange. Denne genvej kan gøre din enhed langsom."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"Avanceret"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"Knappen Hjælpefunktioner er angivet til <xliff:g id="SERVICE">%1$s</xliff:g>. Hvis du vil bruge forstørrelse, skal du trykke på knappen Hjælpefunktioner, holde fingeren nede og derefter vælge forstørrelse."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"Bevægelsen for hjælpefunktioner er indstillet til <xliff:g id="SERVICE">%1$s</xliff:g>. Hvis du vil bruge forstørrelse, kan du stryge opad med to fingre fra bunden af skærmen og holde dem nede. Vælg derefter forstørrelse."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"Genvej via lydstyrkeknapperne"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"Genvejstjeneste"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Indstillinger for genvej"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"Tillad fra låseskærm"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"Når genvejen er slået til, kan du starte en hjælpefunktion ved at trykke på begge lydstyrkeknapper i tre sekunder."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"Tekst med stor kontrast"</string>
@@ -2149,24 +2157,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"Vælg, hvor længe du vil have vist beskeder, der beder dig om at foretage en handling, men som kun vises midlertidigt.\n\nDenne indstilling understøttes ikke i alle apps."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"Forsinkelse på tryk og hold nede"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"Ombytning af farver"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"Kan påvirke ydeevnen"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"Dvæletid"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"Brug ombytning af farver"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"Farveombytning gør lyse skærme mørke. Dette gør det nemmere for personer, der er følsomme over for skarpt lys, at se skærmen.&lt;br/&gt;&lt;br/&gt;Bemærk! Mørke farver bliver lyse. Farver bliver ændret i medier og på billeder. Du kan også bruge Mørkt tema (Indstillinger &gt; Skærm)."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"Automatisk klik (dvæletid)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"Hvis du bruger en mus, kan du indstille markøren til automatisk at foretage en handling, når den ikke har bevæget sig et stykke tid."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"Forsinkelse forud for klik"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"Brug ikke automatisk klik (standard)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"Kort"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0,2 sekunder"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"Mellem"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0,6 sekunder"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"Lang"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 sekund"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"Tilpasset"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"Kortere"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"Længere"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"Varighed af automatisk klik"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"Styrke for vibration og feedback ved berøring"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Vibration ved notifikation"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Vibration ved opkald"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Feedback ved tryk"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"Brug tjenesten"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"Brug <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"Åbn <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"Brug farvekorrigering"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"Brug undertekster"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"Vis undertekster"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"Underteksttypografi"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"Tekststørrelse, underteksttypografi"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"Flere valgmuligheder"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"Denne indstilling understøttes ikke i alle apps."</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"Knappen Hjælpefunktioner"</string>
+    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"Stryg opad med to fingre fra bunden af skærmen"</string>
+    <string name="accessibility_shortcut_type_hardware" msgid="4834144210432451916">"Hold lydstyrketasterne inde"</string>
+    <string name="accessibility_shortcut_type_triple_tap" msgid="7717524216825494543">"Tryk tre gange på skærmen"</string>
     <string name="accessibility_hearingaid_instruction_continue_button" msgid="3367260988024430722">"Fortsæt"</string>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"Høreapparater"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"Der er ikke tilknyttet nogen høreapparater"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"Tilføj høreapparater"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"Find og tryk på din enhed på næste skærm for at parre dine høreapparater."</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"Sørg for, at dine høreapparater er i parringstilstand."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"Find og tryk på din enhed på næste skærm for at parre dine høreapparater. Sørg for, at dine høreapparater er i parringstilstand."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> er aktiv"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> gemt høreapparat</item>
@@ -2178,25 +2204,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Denne tjeneste fungerer ikke korrekt."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Vis i Kvikmenu"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"Korrektionstilstand"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="one">Ekstremt lille forsinkelse (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Ekstremt lille forsinkelse (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Rød-grøn"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"Grøn-rød"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Blå-gul"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"Deuteranomali"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"Protanomali"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"Tritanomali"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="one">Ekstremt lille forsinkelse (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekund)</item>
+      <item quantity="other">Ekstremt lille forsinkelse (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunder)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="one">Meget lille forsinkelse (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Meget lille forsinkelse (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="one">Meget lille forsinkelse (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekund)</item>
+      <item quantity="other">Meget lille forsinkelse (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunder)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="one">Lille forsinkelse (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Lille forsinkelse (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="one">Lille forsinkelse (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekund)</item>
+      <item quantity="other">Lille forsinkelse (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunder)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="one">Stor forsinkelse (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Stor forsinkelse (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="one">Stor forsinkelse (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekund)</item>
+      <item quantity="other">Stor forsinkelse (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunder)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="one">Meget stor forsinkelse (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Meget stor forsinkelse (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="one">Meget stor forsinkelse (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekund)</item>
+      <item quantity="other">Meget stor forsinkelse (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunder)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekund</item>
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunder</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"Ringetone <xliff:g id="SUMMARY_RING">%1$s</xliff:g>, notifikation <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>, berøring<xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"Vibration ved opkald og notifikationer er slået fra"</string>
@@ -2513,7 +2549,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"Siden sidste afbrydelse for <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"Brugstotal"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"Opdater"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"Android OS"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"Medieserver"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"Appoptimering"</string>
     <string name="battery_saver" msgid="7737147344510595864">"Batterisparefunktion"</string>
@@ -2594,8 +2629,7 @@
     <string name="tts_play" msgid="2945513377250757221">"Afspil"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"Lager for loginoplysninger"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"Installer fra lager"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"Installer fra SD-kort"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"Installer et certifikat"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"Installer certifikater fra lager"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"Installer certifikater fra SD-kortet"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"Ryd oplysninger"</string>
@@ -2615,6 +2649,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"Lager for loginoplysninger er slettet."</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"Loginlageret kan ikke ryddes."</string>
     <string name="usage_access_title" msgid="1580006124578134850">"Apps med adgang til telefonbrug"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"CA-certifikat"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"VPN og appbrugercertifikat"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"Wi‑Fi-certifikat"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"Dit privatliv er i fare"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"CA-certifikater bruges af websites, apps og VPN-netværk til kryptering. Du bør kun installere CA-certifikater fra organisationer, du har tillid til. \n\n Hvis du installerer et CA-certifikat, kan ejeren af certifikatet få adgang til dine oplysninger, f.eks. adgangskoder, beskeder og betalingskortoplysninger, fra websites og apps, du bruger, selv hvis oplysningerne er krypteret."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"Installer ikke"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"Installer alligevel"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"Certifikatet er ikke installeret"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"Ringesignal i nødsituationer"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Angiv adfærd ved nødopkald"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Backup"</string>
@@ -2642,10 +2684,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"Deaktiver og afinstaller"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"Apps til enhedsadministration"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"Der er ikke nogen tilgængelige apps til enhedsadministration"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"Personlig"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"Arbejde"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"Begræns adgang til sms og opkaldsliste"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"Det er kun standardapps til opkald og beskeder, der har tilladelser for sms og opkaldsliste"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"Der er ingen tilgængelige trust agents"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"Aktiver appen til enhedsadministration?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"Aktivér denne app til enhedsadministration"</string>
@@ -2659,6 +2697,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"Andre valgmuligheder er deaktiveret af din administrator"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"Mere info"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"Notifikationslogfil"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"Notifikationshistorik"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"I dag"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"Udsat"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"Afvist for nylig"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="one"><xliff:g id="NUMBER_1">%d</xliff:g> notifikation</item>
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> notifikationer</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"Ringetone og vibration ved opkald"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"Netværksoplysninger"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"Synkronisering aktiveret"</string>
@@ -3008,7 +3054,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"Begrænsninger"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"Fjern begrænsninger"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"Skift pinkode"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"Vis notifikationer"</string>
     <string name="help_label" msgid="2896538416436125883">"Hjælp og feedback"</string>
     <string name="support_summary" msgid="1034146931237148885">"Artikler i Hjælp, telefon- og chatsupport, kom godt i gang"</string>
     <string name="user_account_title" msgid="6389636876210834864">"Konto til indhold"</string>
@@ -3033,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G-opkald"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Anvend LTE-tjenester til at forbedre tale og anden kommunikation (anbefales)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Anvend 4G-tjenester til at forbedre tale og anden kommunikation (anbefales)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Funktionstjek for kontakter"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Giver dit mobilselskab mulighed for at se, hvilke opkaldsfunktioner dine kontakter kan bruge."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Vil du aktivere funktionstjek for kontakter?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Hvis du aktiverer denne funktion, får dit mobilselskab adgang til dine kontakters telefonnumre for at se de understøttede opkaldsfunktioner."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Foretrukken netværkstype"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (anbefales)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS-beskeder"</string>
@@ -3077,7 +3126,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"Ring med"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"Vælg et SIM-kort"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"SIM-kort: <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"Intet SIM-kort"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"Navn på SIM-kort"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"Angiv SIM-kortnavn"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"SIM-kortrille %1$d"</string>
@@ -3087,6 +3135,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"Vælg SIM-kort"</string>
     <string name="color_orange" msgid="216547825489739010">"Orange"</string>
     <string name="color_purple" msgid="6603701972079904843">"Lilla"</string>
+    <string name="color_pink" msgid="8596872110888626708">"Lyserød"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"Der er ikke isat et SIM-kort"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"SIM-status"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"SIM-status (SIM-kortrille %1$d)"</string>
@@ -3100,7 +3149,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"SIM-kortene er ændret."</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Tryk for at konfigurere"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"Foretrukket SIM-kort til"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Spørg hver gang"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Du har ikke valgt endnu"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"Valg af SIM-kort"</string>
@@ -3118,6 +3166,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"Bluetooth, køretilstand"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"Bluetooth, NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"Bluetooth"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"Ikke tilgængelig, fordi NFC er deaktiveret"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"Apps og notifikationer"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Seneste apps, standardapps"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Apps i arbejdsprofilen har ikke adgang til notifikationsindstillingerne."</string>
@@ -3128,13 +3177,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"Indstillinger"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"wifi, wi-fi, netværksforbindelse, internet, trådløs, data, wi fi"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"Wi‑Fi-notifikation, wifi-notifikation"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"dataforbrug"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"Stop vibration, tryk, tastatur"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"Brug 24-timersformat"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"Download"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"Åbn med"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"Apps"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"tidszone"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"Chathoved"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"Chathoved, system, underretning, vindue, dialogboks, skærm, oven på andre apps, tegn"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"Lommelygte, lys, lygte"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"wifi, wi-fi, skift, styring"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"mobil, mobilselskab, trådløs, data, 4g, 3g, 2g, lte"</string>
@@ -3158,7 +3208,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"forstyr ikke, afbryd, afbrydelse, pause"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"tæt på, placering, historik, rapportering, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"konto"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"konto, tilføj en konto, arbejdsprofil, tilføj konto"</string>
     <string name="keywords_users" msgid="3497517660077620843">"begrænsning, begræns, begrænset"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"rettelser, ret, lyd, vibrer, automatisk, sprog, bevægelse, anbefale, forslag, tema, stødende, ord, type, emoji, international"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"nulstilling, præferencer, standard"</string>
@@ -3196,6 +3246,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"hukommelse, cache, data, slet, ryd, frigør, plads"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"forbundet, enhed, høretelefoner, headset, højttaler, trådløs, parre, øretelefoner, musik, medier"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"baggrund, skærm, låseskærm, tema"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"ikonform, kontrastfarve, skrifttype"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"standard, assistent"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"betaling, standard"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"ny notifikation"</string>
@@ -3205,18 +3256,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"berøringssensorer, vibration, følsomhed"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"batterisparefunktion, klæbende, vedvare, strømbesparelse, batteri"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"rutine, tidsplan, batterisparefunktion, strømsparefunktion, batteri, automatisk, procent"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"arbejdsprofil"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"volte, avancerede opkald, 4g-opkald"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"tilføj sprog, tilføj et sprog"</string>
     <string name="default_sound" msgid="6604374495015245195">"Standardlyd"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"Lydstyrken for ringesignalet er på <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"Lydstyrken for ringetone og notifikationer er på <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Lydstyrke, vibration, Forstyr ikke"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"Ringesignalet er indstillet til vibration"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"Ringesignalet er indstillet til lydløs"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"Lydstyrken for ringetonen er på 80 %"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"Lydstyrken for ringetone og notifikationer er på 80 %"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Lydstyrke for medier"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Lydstyrke for castet indhold"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"Lydstyrke for opkald"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"Lydstyrke for alarmer"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"Lydstyrke for ringetone"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"Lydstyrke for ringetone og notifikationer"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"Lydstyrke for notifikationer"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"Ringetone ved opkald"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"Standardlyd for notifikationer"</string>
@@ -3224,6 +3276,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"Standardlyd for notifikationer"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"Standardlyd for alarmer"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"Vibrer ved opkald"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"Vibrer aldrig"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"Vibrer altid"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"Vibrer først, og ring så gradvist højere"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"Andre lyde"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"Toner for numerisk tastatur"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"Lyd ved skærmlås"</string>
@@ -3247,6 +3302,7 @@
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> er aktiveret</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Forstyr ikke"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Få kun notifikationer om vigtige personer og apps"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Begræns antallet af afbrydelser"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Aktivér Forstyr ikke"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"Undtagelser"</string>
@@ -3273,7 +3329,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Bloker visuelle forstyrrelser"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Tillad visuelle signaler"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"Når Forstyr ikke er aktiveret"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"Tillad afbrydelser, der laver lyd"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"Begræns notifikationer"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Ingen lyd fra notifikationer"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"Notifikationer vises på skærmen"</string>
@@ -3304,7 +3360,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"Lyd og vibration"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"Lyd, vibration og visse visuelle tegn på notifikationer"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"Lyd, vibration og visuelle tegn på notifikationer"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"Notifikationer om grundlæggende telefonaktivitet og -status skjules aldrig"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"Notifikationer om grundlæggende telefonaktivitet og -status skjules aldrig."</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"Ingen"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"andre valgmuligheder"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"Tilføj"</string>
@@ -3334,10 +3390,12 @@
       <item quantity="one"><xliff:g id="ON_COUNT">%d</xliff:g> tidsplan kan starte automatisk</item>
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> tidsplaner kan starte automatisk</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"Sæt enheden på lydløs, men tillad undtagelser"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"Undtagelser"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"Tidsplan"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"Se alle undtagelser"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"Undtagelser når \"Forstyr ikke\" er aktiveret"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"Personer"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"Apps"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"Alarmer og andre afbrydelser"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"Tidsplaner"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"Lydløse notifikationer"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"Når Forstyr ikke er aktiveret, er der kun lyd eller vibration ved de elementer, du tillader ovenfor."</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"Slå lyden fra for alle med undtagelse af"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"Lyden er slået fra"</string>
@@ -3381,16 +3439,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"Automatiske notifikationer"</string>
     <string name="asst_capability_prioritizer_title" msgid="1181272430009156556">"Automatisk prioritetsniveau for notifikationer"</string>
     <string name="asst_capability_prioritizer_summary" msgid="954988212366568737">"Angiv automatisk notifikationer med lavere prioritet som Diskret"</string>
+    <string name="asst_capability_ranking_title" msgid="312998580233257581">"Automatisk rangering af notifikationer"</string>
+    <string name="asst_capability_ranking_summary" msgid="2293524677144599450">"Ranger automatisk notifikationer efter relevans"</string>
     <string name="asst_capabilities_actions_replies_title" msgid="4392470465646394289">"Foreslåede handlinger og svar"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"Vis automatisk foreslåede handlinger og svar"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"Aktivér notifikationshistorik for at holde styr på tidligere notifikationer og notifikationer, der er udsat"</string>
+    <string name="notification_history" msgid="8663811361243456201">"Notifikationshistorik"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"Aktivér historik"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"Deaktiver historikken"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"Notifikationshistorik er deaktiveret"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"se indstillinger for notifikationer"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Tillad udsættelse af notifikationer"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"Skjul ikoner fra diskrete notifikationer"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"Ikoner fra diskrete notifikationer vises ikke på statusbjælken"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"Tillad notifikationscirkler"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"Vis linje med seneste samtaler"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Bobler"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"Nogle notifikationer kan blive vist som bobler på skærmen"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"Nogle notifikationer og andet indhold kan blive vist som bobler på skærmen. Tryk på en boble for at åbne den. Træk den ned ad skærmen for at lukke den."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Bobler"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"Nye meddelelser vises på skærmen"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"Giv <xliff:g id="APP_NAME">%1$s</xliff:g> tilladelse til at vise nogle notifikationer som bobler"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"Aktivér bobler"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"Hvis du vil aktivere bobler for denne app, skal du først aktivere dem på enheden. Dette påvirker andre apps, hvor du tidligere har aktiveret bobler."</string>
@@ -3408,6 +3476,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"Vises i panelet, der trækkes ned, og på låseskærmen"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"Vises i panelet, der trækkes ned, og på statusbjælken."</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"Vises i panelet, der trækkes ned, på statusbjælken og på låseskærmen."</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"Skjul lydløse notifikationer på statusbjælken"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"Blinkende lys"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"Låseskærm"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"Spring låseskærmen over"</string>
@@ -3438,6 +3507,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"Adfærd"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"Tillad lyd"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"Vis aldrig notifikationer"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"Samtaler"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"Samtale"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"Ikke en samtale"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"Fjern fra samtalesektionen"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"Dette er en samtale"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"Føj til samtalesektionen"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"Administrer samtaler"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"Vigtige samtaler"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"Alle samtaler"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"Vis vigtige samtaler som bobler"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"Vigtige samtaler vises øverst i rullepanelet. Du kan også vise dem som bobler og afbryde Forstyr ikke."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"Vis lydløst, og minimer"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"Vis lydløst"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"Med lyd"</string>
@@ -3456,7 +3536,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"Ingen lyde eller vibrationer, der forstyrrer dig"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"Fanger din opmærksomhed med lyd eller vibration"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"Når enheden er låst op, vises notifikationer som et banner øverst på skærmen"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"Vis notifikationer"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"Alle notifikationer for <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"Automatiske notifikationer"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="one">~<xliff:g id="NUMBER_1">%d</xliff:g> notifikation om dagen</item>
@@ -3477,6 +3557,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"Automatiske notifikationer"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"Ingen"</string>
     <string name="no_notification_listeners" msgid="2839354157349636000">"Ingen installerede apps har anmodet om adgang til notifikationer."</string>
+    <string name="notification_access_detail_switch" msgid="46386786409608330">"Giv adgang til notifikationer"</string>
     <string name="notification_assistant_security_warning_title" msgid="2972346436050925276">"Vil du give <xliff:g id="SERVICE">%1$s</xliff:g> adgang til notifikationer?"</string>
     <string name="notification_assistant_security_warning_summary" msgid="3119843404577399036">"<xliff:g id="NOTIFICATION_ASSISTANT_NAME">%1$s</xliff:g> kan læse alle notifikationer, inklusive personlige oplysninger såsom navne på kontakter og tekst i beskeder, som du modtager. Den kan også afvise notifikationer eller aktivere handlingsknapper i dem. \n\nDette gør det også muligt for appen at aktivere eller deaktivere Forstyr ikke og ændre relaterede indstillinger."</string>
     <string name="notification_listener_security_warning_title" msgid="5791700876622858363">"Tillad adgang til notifikationer for <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
@@ -3538,8 +3619,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"Udfør"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"Vigtighed"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"Blinkende lys"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"Vibrer"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"Vibration"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"Lyd"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"Vigtigt"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"Føj til startskærm"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"Slet"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"Omdøb"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"Navn på tidsplan"</string>
@@ -3593,6 +3676,10 @@
       <item quantity="one"><xliff:g id="NUM_PEOPLE">%d</xliff:g> anden</item>
       <item quantity="other"><xliff:g id="NUM_PEOPLE">%d</xliff:g> andre</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Samtaler"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"Fra alle samtaler"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"Fra vigtige samtaler"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"Tillad ingen samtaler"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"Tillad beskeder"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"Hvis du vil være sikker på, at tilladte beskeder kan høres, kan du tjekke, om din enhed er indstillet til at ringe eller vibrere, eller om lyden er slået fra."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"Indgående beskeder er blokeret for \"<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>\". Du kan ændre indstillingerne, så dine venner, din familie eller andre kontakter kan få fat i dig."</string>
@@ -3606,15 +3693,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"Ingen"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"Tillad ingen opkald"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"Tillad ingen beskeder"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"Tillad alarmer"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"Alarmer"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"Fra timere, alarmer, sikkerhedssystemer og andre apps"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"alarmer"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"Afspil medielyde"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"Lyd fra medier"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"Fra videoer, spil og andre medier"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"medier"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"Tillad lyd ved berøring"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"Lyd ved berøring"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"Fra tastaturet og andre knapper"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"lyd ved berøring"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"Tillad påmindelser"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"Påmindelser"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"Fra opgaver og påmindelser"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"påmindelser"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"Tillad begivenheder"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"Begivenheder"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"Fra kommende kalenderbegivenheder"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Tillad, at apps tilsidesætter"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"Appundtagelser"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3657,6 +3749,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"Tillad, at notifikationer, der gøres lydløse af Forstyr ikke, tænder skærmen"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"Notifikationsindstillinger"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"OK"</string>
+    <string name="suggestion_button_close" msgid="6865170855573283759">"Luk"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Send feedback om denne enhed"</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"Angiv administratorpinkoden"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"Til"</string>
@@ -3667,6 +3760,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Bed om pinkode inden frigørelse"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Bed om adgangskode inden frigørelse"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Lås enheden ved frigørelse"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Bekræft sletning af SIM-kort"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"Bekræft din identitet, før du sletter et downloadet SIM-kort"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"Denne arbejdsprofil administreres af:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"Administreret af <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(Eksperimentel)"</string>
@@ -3741,8 +3836,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"Alle apps"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Installerede aps"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Instant apps"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"Personlig"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"Arbejde"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"Apps: Alle"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"Slået fra"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"Kategorier: Stor vigtighed"</string>
@@ -3754,6 +3847,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"Ukendt app"</string>
     <string name="app_permissions" msgid="8666537659217653626">"Tilladelsesadministrator"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"Apps, der bruger <xliff:g id="APPS">%1$s</xliff:g>"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"Apps bruger <xliff:g id="APPS">%1$s</xliff:g> og andet"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"Tryk for at vække"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"Tryk to gange et vilkårligt sted på skærmen for at vække enheden"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"Åbning af links"</string>
@@ -3765,9 +3859,14 @@
       <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> app, der kan åbne understøttede links</item>
       <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> apps, der kan åbne understøttede links</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"Åbn i denne app"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"Giv appen tilladelse til at åbne understøttede links"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"Spørg hver gang"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"Åbn ikke i denne app"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"Giv ikke appen tilladelse til at åbne links"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="one">Appen påstår, at den håndterer <xliff:g id="COUNT_1">%d</xliff:g> link</item>
+      <item quantity="other">Appen påstår, at den håndterer <xliff:g id="COUNT_1">%d</xliff:g> links</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"Appen påstår, at den håndterer de følgende links:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"Standard"</string>
     <string name="default_for_work" msgid="537558180548617528">"Standard til arbejdet"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"Assistance og indtaling"</string>
@@ -3911,8 +4010,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"Vis oven på andre apps"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Tillad visning over andre apps"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"Tillad, at denne app vises oven på andre apps, du bruger. Dette kan forstyrre din brug af disse apps eller ændre deres udseende eller adfærd."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"Adgang til alle filer"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"Tillad administrationsadgang til alle filer"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Giv denne app tilladelse til at læse, ændre og slette alle filer på denne enhed eller andre tilsluttede lagringsløsninger. Hvis du giver tilladelse til dette, kan appen få adgang til dine filer, uden du specifikt bliver gjort opmærksom på det."</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"Kan få adgang til alle filer"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"vr virtual reality lyttefunktion stereo hjælpetjeneste"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"dialogboks med systemadvarsel vises oven på andre apps"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"Vis oven på andre apps"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"<xliff:g id="COUNT_0">%1$d</xliff:g> af <xliff:g id="COUNT_1">%2$d</xliff:g> apps må vises oven på andre apps"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"Apps med tilladelse"</string>
@@ -4078,6 +4180,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"<xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g> data brugt"</string>
     <string name="data_overusage" msgid="3680477320458707259">"Overskredet med <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="data_remaining" msgid="6316251496381922837">"Der er <xliff:g id="ID_1">^1</xliff:g> tilbage"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"Graf, der viser dataforbrug mellem den <xliff:g id="START_DATE">%1$s</xliff:g> og <xliff:g id="END_DATE">%2$s</xliff:g>."</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"Der er ingen data i dette datointerval"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="one">%d dag tilbage</item>
       <item quantity="other">%d dage tilbage</item>
@@ -4141,14 +4245,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"pakkestørrelse"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"underrettet via notifikation"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"lyd"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"vibrer"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"mønster"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"standard"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"kanal"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"intet"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"Rangeringsobjektet mangler."</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"Rangeringobjektet indeholder ikke denne nøgle."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"Tilpasning af tema"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"Enhedens standardindstilling"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"Skærmhak"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"udskæring på skærmen, hak"</string>
@@ -4237,8 +4337,12 @@
     <string name="information_label" msgid="6939310810756569298">"Oplysninger"</string>
     <string name="low_label" msgid="6525629096999711220">"Lav"</string>
     <string name="high_label" msgid="357503396626018487">"Høj"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"Højere følsomhed kan gå i konflikt med appbevægelser langs skærmens kant."</string>
+    <string name="left_edge" msgid="1513576842959071849">"Venstre kant"</string>
+    <string name="right_edge" msgid="1505309103265829121">"Højre kant"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"Højere følsomhed kan komme i konflikt med appbevægelser langs skærmens kant."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"Følsomhed for bevægelse fra kant"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"Indstillinger for bevægelser"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"navigation med bevægelser, følsomhed for bevægelse fra kant, bevægelse til at gå tilbage"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"Tryk to gange for at tjekke telefonen"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"Tryk to gange for at tjekke din tablet"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"Tryk to gange for at tjekke enheden"</string>
@@ -4393,7 +4497,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"Aktivér mobilselskab"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"Opdater Forstyr ikke"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"Sæt notifikationer på pause, så du kan koncentrere dig"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"Denne funktion er ikke tilgængelig på denne enhed"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"Funktionen er ikke tilgængelig"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"Denne funktion er blevet deaktiveret, fordi den gør din telefon langsom"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"Gennemtving fuld GNSS-måling"</string>
@@ -4403,20 +4506,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"Vælg ANGLE-aktiveret app"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"Der er ikke angivet nogen ANGLE-aktiveret app"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"ANGLE-aktiveret app: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"Præferencer for Game Driver"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"Skift indstillinger for Game Driver"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"Når Game Driver er aktiveret, kan du vælge at bruge den opdaterede grafikdriver til apps, der er installeret på enheden."</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"Aktivér for alle apps"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"Vælg grafikdriver"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"Standard"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"Game Driver"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"Driver til forhåndsudgivelse"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"Grafikdriver til system"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"Indstillinger for grafikdriver"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"Skift indstillingerne for grafikdriver"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"Når der er flere grafikdrivere, kan du vælge at bruge den opdaterede grafikdriver til apps, der er installeret på enheden."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"Aktivér for alle apps"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"Vælg grafikdriver"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"Standard"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"Game Driver"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"Udviklerdriver"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Grafikdriver til system"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Ændringer i appkompatibilitet"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Skift appens kompatibilitetsændringer"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Ændringer i standardvalg for aktiveret"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Ændringer i standardvalg for deaktiveret"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"Indstillingen understøttes ikke på denne telefon"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"Indstillingen understøttes ikke på denne tablet"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"Indstillingen understøttes ikke på denne enhed"</string>
@@ -4435,6 +4544,12 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"Enhed"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Enheden kan ikke bruges under opkald"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"Ikke tilgængelig"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"Tilføj medieudgange"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"Gruppér"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"Der er valgt 1 enhed"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"Der er valgt <xliff:g id="COUNT">%1$d</xliff:g> enheder"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"Besvar opkald på"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Dette adgangspunkt kan ikke ændres."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Forlæng din tablets batteritid"</string>
@@ -4552,10 +4667,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Der kan kun være ét downloadet SIM-kort ad gangen.\n\nSelvom du skifter til <xliff:g id="CARRIER1">%1$s</xliff:g>, opsiger det ikke din tjeneste fra <xliff:g id="CARRIER2">%2$s</xliff:g>."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Skift til <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Ryd SIM-kort"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Vil du rydde dette downloadede SIM-kort?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Hvis du sletter dette SIM-kort, fjernes tjenesten fra <xliff:g id="CARRIER_0">%1$s</xliff:g> på denne enhed.\n\nTjenesten fra <xliff:g id="CARRIER_1">%2$s</xliff:g> opsiges ikke."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Ryd"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Rydder SIM-kort…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"SIM-kortet kan ikke ryddes"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Dette SIM-kort kan ikke ryddes på grund af en fejl.\n\nGenstart din enhed, og prøv igen."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Foretrukken netværkstype"</string>
@@ -4580,7 +4691,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Ugyldig netværkstilstand <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Ignorer."</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Adgangspunkter"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Utilgængelig ved forbindelse til <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"Helbredoplysninger, kontaktpersoner ved nødsituationer"</string>
     <string name="see_more" msgid="7499355691042812723">"Se mere"</string>
     <string name="see_less" msgid="2642392725363552793">"Se mindre"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"Enhed, der skal bruges sammen med <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
@@ -4589,11 +4699,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"Der opstod et problem Appen har annulleret anmodningen om at vælge en enhed."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"Der blev oprettet forbindelse"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"Vis alle"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> enhed er tilsluttet</item>
-      <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> enheder er tilsluttet</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"Der er ingen Bluetooth-enheder"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"Søger efter enhed…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"Opretter forbindelse til enhed…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"Venstre"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"Højre"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Etui"</string>
@@ -4603,6 +4710,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"Der er ingen forbindelse i flytilstand"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"Gennemtving skrivebordstilstand"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Gennemtving eksperimentel skrivebordstilstand på sekundære skærme"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"Aktivér frit format for sizecompat"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"Tillad, at sizecompat-apps har frit format"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Tilsidesæt force-dark"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"Tilsidesætter funktionen force-dark og anvender Altid aktiveret"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"Privatliv"</string>
@@ -4639,6 +4748,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Du har installeret denne app for nylig."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Skift udgang"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Afspilles i øjeblikket på <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (ingen forbindelse)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Kan ikke skifte. Tryk for at prøve igen."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Vigtige oplysninger"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"FORTSÆT"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"NEJ TAK"</string>
@@ -4666,8 +4777,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"SIM-kombination"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Oplysninger om din arbejdspolitik"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Indstillinger, som administreres af din it-administrator"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"Grafikprocessor"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"Håndtering af fejlrapport"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Fastslår, hvilken app der håndterer genvejen til fejlrapporten på din enhed."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Personlig"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"Arbejde"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"Systemstandard"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"Dette valg er ikke længere gyldigt. Prøv igen."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"Stop med at caste"</string>
 </resources>
diff --git a/res/values-de/arrays.xml b/res/values-de/arrays.xml
index 886c9f6..4a64b25 100644
--- a/res/values-de/arrays.xml
+++ b/res/values-de/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"Sofort"</item>
     <item msgid="463591454172790676">"5 Sekunden"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"Nicht validieren"</item>
+    <item msgid="5703177653586269306">"Zertifikatstatus anfordern"</item>
+    <item msgid="326388247868439528">"Zertifikatstatus fordern"</item>
+    <item msgid="1090956283885790552">"Alle nicht vertrauenswürdigen Zertifikatstatus fordern"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"Push-Schaltfläche"</item>
     <item msgid="2630618799033509548">"PIN von Peer-Gerät"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"Keiner"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"IPSec-VPN mit vorinstallierten Schlüsseln und Xauth-Authentifizierung"</item>
     <item msgid="2484564813864139237">"IPSec-VPN mit Zertifikaten und Xauth-Authentifizierung"</item>
     <item msgid="68918911194507915">"IPSec-VPN mit Zertifikaten und Hybrid-Authentifizierung"</item>
+    <item msgid="4631647675167100375">"IKEv2/IPSec-VPN mit Zertifikaten und Authentifizierung durch Nutzername und Passwort"</item>
+    <item msgid="8812228622975052811">"IKEv2/IPSec-VPN mit vorinstallierten Schlüsseln"</item>
+    <item msgid="6630554779981113046">"IKEv2/IPSec-VPN mit Zertifikaten"</item>
   </string-array>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"Kein Proxy"</item>
diff --git a/res/values-de/config.xml b/res/values-de/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-de/config.xml
+++ b/res/values-de/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index a8aa292..ec75ae3 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -31,49 +31,17 @@
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Bitte aktiviere die Entwickleroptionen zuerst."</string>
     <string name="header_category_wireless_networks" msgid="303445626075235229">"Drahtlos &amp; Netzwerke"</string>
     <string name="header_category_system" msgid="1665516346845259058">"System"</string>
-    <string name="radio_info_data_connection_enable" msgid="7500945447906187613">"Datenverbindung aktivieren"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"Datenverbindung deaktivieren"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"VoLTE-Kennzeichnung"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"Videoanrufe eingerichtet"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"WLAN-Anrufe eingerichtet"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"EAB/Präsenz bereitgestellt"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"CBRS-Daten"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"DSDS aktivieren"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"Gerät neu starten?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"Die Änderung erfordert einen Neustart des Geräts."</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"Neu starten"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"Abbrechen"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"Mobilfunkstärke"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"SIM-Adressbuch anzeigen"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"Zugelassene Rufnummern anzeigen"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"Servicerufnummern anzeigen"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"IMS-Dienststatus"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"IMS-Status"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"Registriert"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"Nicht registriert"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"Verfügbar"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"Nicht verfügbar"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"IMS-Registrierung: <xliff:g id="STATUS">%1$s</xliff:g>\nVoice-over-LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nVoice-over-WLAN: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideoanrufe: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT-Oberfläche: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"In Betrieb"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Außer Betrieb"</string>
     <string name="radioInfo_service_emergency" msgid="6838935881091760942">"Nur Notrufe"</string>
     <string name="radioInfo_service_off" msgid="6184928420860868571">"Funkschnittstelle deaktiviert"</string>
     <string name="radioInfo_roaming_in" msgid="8892550453644088692">"Roaming"</string>
     <string name="radioInfo_roaming_not" msgid="3137594549464975054">"Kein Roaming"</string>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"Ruhezustand"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"Klingelton"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"Anruf wird getätigt"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"Nicht verbunden"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"Verbindung wird hergestellt"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"Verbunden"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Angehalten"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Unbekannt"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"Pakete"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"Bytes"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"ASU"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"USB-Speicher trennen"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"SD-Karte entnehmen"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"USB-Speicher löschen"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"Text auf dem Display verkleinern oder vergrößern."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Verkleinern"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Vergrößern"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"Beispieltext"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"Der Zauberer von Oz"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"Kapitel 11: Die wundervolle Smaragdstadt von Oz"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"Die Änderung erfordert einen Neustart des Geräts."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"Neu starten"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"Abbrechen"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"Verfügbare Mediengeräte"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"Verfügbare Anrufgeräte"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"Derzeit verbunden"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"Mediengeräte"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"Anrufgeräte"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"Andere Geräte"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Gespeicherte Geräte"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth wird aktiviert, um das Koppeln zu ermöglichen"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Verbindungseinstellungen"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"Der eingegebene Port ist ungültig."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"Der HTTP-Proxy wird vom Browser verwendet, eventuell aber nicht von anderen Apps."</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"PAC-URL: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"Aktuelle Unter-ID:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"Unter-ID der standardmäßigen Daten-SIM:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"DL-Bandbreite (kbit/s):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"UL-Bandbreite (kbit/s):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"Standortinformationen des Mobiltelefons (eingestellt):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"Konfiguration des physischen LTE-Kanals:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"Aktualisierungsrate der Mobiltelefoninformationen:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"Alle Informationen zu Mobiltelefonmesswerten:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"Datendienst:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"Roaming:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"Rufumleitung:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"Anzahl der PPP-Zurücksetzungen seit dem Start:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"Aktuelles Netzwerk:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"Empfangene Daten:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"Sprachdienst:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"Signalstärke:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"Anrufstatus:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"Gesendete Daten:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"Nachricht liegt vor:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"Telefonnummer:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"Frequenzbereich auswählen"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"Sprachnetzwerktyp:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"Datennetzwerktyp:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"Smartphone-Index auswählen"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"Bevorzugten Netzwerktyp festlegen:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"Hostnamen (www.google.com) IPv4 pingen:"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"Hostnamen (www.google.com) IPv6 pingen:"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"HTTP-Client-Test:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"Pingtest ausführen"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"Aktualisierung"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"Aktualisieren"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"DNS-Überprüfung ein-/ausschalten"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"OEM-spezifische Infos/Einstellungen"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"Frequenzbereichmodus festlegen"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"Bandliste wird geladen…"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"Festlegen"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"Fehlgeschlagen"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"Erfolgreich"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"Die Änderungen werden nach dem erneuten Anschließen des USB-Kabels übernommen."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"USB-Massenspeicher aktivieren"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"Bytes insgesamt:"</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"Ganz nach unten"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"Sprache entfernen"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"Aktivität auswählen"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"Geräteinfo"</string>
     <string name="display_label" msgid="3056320781191343221">"Display"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"Tablet-Informationen"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"Über das Telefon"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"USB-Speicher"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"SD-Karte"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"Proxy-Einstellungen"</string>
@@ -306,9 +234,6 @@
     <string name="airplane_mode" msgid="3196085857882526817">"Flugmodus"</string>
     <string name="wireless_networks_settings_title" msgid="8557542379234105369">"Drahtlos &amp; Netzwerke"</string>
     <string name="radio_controls_summary" msgid="9028430178697624501">"WLAN, Bluetooth, Flugmodus, Mobilfunknetze und VPNs verwalten"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"Mobile Daten"</string>
-    <string name="calls_title" msgid="6334813967619899114">"Anrufe zulassen"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"SMS"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"Datennutzung über Mobilfunknetz zulassen"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"Datennutzung bei Roaming zulassen"</string>
     <string name="roaming" msgid="3055365654530847985">"Roaming"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"Mobile Daten auch bei Roaming nutzen"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"Die Datenkonnektivität wurde unterbrochen, weil du dein Heimnetzwerk verlassen hast und Daten-Roaming nicht aktiviert ist."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"Aktivieren"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"Es können hohe Gebühren anfallen."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"Wenn du Daten-Roaming zulässt, können erhebliche Roaming-Gebühren entstehen.\n\nDiese Einstellung betrifft alle Nutzer auf diesem Tablet."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"Wenn du Daten-Roaming zulässt, können erhebliche Roaming-Gebühren entstehen.\n\nDiese Einstellung betrifft alle Nutzer auf diesem Telefon."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"Eventuell fallen Roaminggebühren an."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"Wenn du Daten-Roaming zulässt, fallen eventuell Roaminggebühren an.\n\nDiese Einstellung betrifft alle Nutzer auf diesem Tablet."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"Wenn du Daten-Roaming zulässt, fallen eventuell Roaminggebühren an.\n\nDiese Einstellung betrifft alle Nutzer auf diesem Smartphone."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"Daten-Roaming zulassen?"</string>
     <string name="networks" msgid="5184501333492775095">"Netzbetreiberauswahl"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"Netzbetreiber auswählen"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"Vom Administrator deaktiviert"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"Option zum Sperren anzeigen"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"Option für Ein/Aus-Taste des Displays, durch die Smart Lock, das biometrische Entsperren und Benachrichtigungen auf dem Sperrbildschirm deaktiviert werden"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"Trust Agents können Entsperrung nur verlängern"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"Wenn aktiviert, halten Trust Agents das Gerät länger entsperrt, sie können aber gesperrte Geräte nicht mehr entsperren"</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"Bildschirm sperren, wenn nicht mehr vertrauenswürdig"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"Wenn aktiviert, wird das Gerät gesperrt, sobald der letzte Trust Agent nicht mehr vertrauenswürdig ist"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"Keine"</string>
@@ -390,7 +313,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"Meinen Standort, Display-Entsperrung, SIM-Kartensperre und Sperre für Anmeldedatenspeicher festlegen"</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"Meinen Standort, Display-Entsperrung, SIM-Kartensperrung und Sperrung des Anmeldedatenspeichers festlegen"</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"Datenschutz"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"Vom Administrator deaktiviert"</string>
+    <string name="disabled_by_administrator_summary" msgid="5424846182313851124">"Nicht verfügbar"</string>
     <string name="security_status_title" msgid="6958004275337618656">"Sicherheitsstatus"</string>
     <string name="security_dashboard_summary_face" msgid="4198949293847206382">"Displaysperre, Face Unlock"</string>
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Displaysperre und Fingerabdruck"</string>
@@ -693,7 +616,6 @@
       <item quantity="other">Muss weniger als <xliff:g id="NUMBER_1">%d</xliff:g> Ziffern haben</item>
       <item quantity="one">Muss weniger als <xliff:g id="NUMBER_0">%d</xliff:g> Ziffer haben</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"Es dürfen nur Ziffern von 0 bis 9 enthalten sein"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"Der Geräteadministrator lässt die Verwendung einer früheren PIN nicht zu"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"Häufig verwendete PINs werden von deinem IT-Administrator blockiert. Versuch es mit einer anderen PIN."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"Es sind keine ungültigen Zeichen zulässig"</string>
@@ -724,6 +646,10 @@
       <item quantity="other">Das Passwort muss mindestens <xliff:g id="COUNT">%d</xliff:g> Zeichen enthalten, die keine Buchstaben sind</item>
       <item quantity="one">Das Passwort muss mindestens ein Zeichen enthalten, das kein Buchstabe ist</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="other">Passwort muss mindestens <xliff:g id="COUNT">%d</xliff:g> Zeichen enthalten, die keine Ziffern sind</item>
+      <item quantity="one">Passwort muss mindestens ein Zeichen enthalten, das keine Ziffer ist</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"Der Geräteadministrator lässt die Verwendung eines früheren Passworts nicht zu"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"Häufig verwendete Passwörter werden von deinem IT-Administrator blockiert. Versuch es mit einem anderen Passwort."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"Aufsteigende, absteigende oder wiederholte Ziffernfolgen sind unzulässig"</string>
@@ -838,19 +764,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2,4 GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"Anmelden"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"Website öffnen"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"Noch <xliff:g id="REMAINING_TIME">%1$s</xliff:g>"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"Läuft am <xliff:g id="EXPIRY_TIME">%1$s</xliff:g> ab"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"Tippe hier, um dich im Netzwerk anzumelden"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Mbit/s"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Mbit/s"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Mbit/s"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"<xliff:g id="REQUESTER">%s</xliff:g> fordert die Berechtigung, das WLAN für dieses Gerät zu aktivieren"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"<xliff:g id="REQUESTER">%s</xliff:g> fordert die Berechtigung, das WLAN für dieses Gerät zu deaktivieren"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"Bytecode von Debug-fähigen Apps prüfen"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"ART die Überprüfung des Bytecodes für Debug-fähige Apps gestatten"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"Aktualisierungsrate anzeigen"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Aktuelle Aktualisierungsrate des Displays anzeigen"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"Datenaustausch bei Kontakt mit anderen Geräten zulassen"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"Datenaustausch zulassen, wenn das Smartphone ein anderes Gerät berührt"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"Datenaustausch bei Kontakt des Tablets mit NFC-Geräten zulassen"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"Datenaustausch bei Kontakt des Smartphones mit NFC-Geräten zulassen"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"NFC aktivieren"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"NFC tauscht Daten zwischen diesem Gerät und anderen Geräten oder Zielen in der Nähe aus, darunter Zahlungsterminals, Zutrittsleser und interaktive Werbung oder Tags."</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"NFC sichern"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Für NFC muss das Gerät entsperrt werden"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"Zahlungen und Passieren von Schranken per NFC nur bei entsperrtem Gerätebildschirm zulassen"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"Bereit zur Übertragung von App-Inhalten über NFC"</string>
@@ -924,8 +856,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Aktivieren"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"WLAN-Suche aktiviert"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Erweiterte Optionen"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"Drop-down-Liste mit erweiterten Optionen. Zum Minimieren doppeltippen."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"Drop-down-Liste mit erweiterten Optionen. Zum Maximieren doppeltippen."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Drop-down-Liste \"Erweiterte Optionen\""</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"maximieren"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"Netzwerkname"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"SSID eingeben"</string>
     <string name="wifi_security" msgid="9095934643631406913">"Sicherheit"</string>
@@ -935,6 +867,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"Status"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"Übertragungsgeschwindigkeit"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"Geschwindigkeit abrufen"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"Geschwindigkeit"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"Frequenz"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"IP-Adresse"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"Gespeichert über"</string>
@@ -942,6 +875,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"EAP-Methode"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"Phase 2-Authentifizierung"</string>
     <string name="wifi_eap_ca_cert" msgid="8033404008276298886">"CA-Zertifikat"</string>
+    <string name="wifi_eap_ocsp" msgid="8713933962516871238">"Online-Zertifikatstatus"</string>
     <string name="wifi_eap_domain" msgid="8304301470752333203">"Domain"</string>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"Nutzerzertifikat"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"Identität"</string>
@@ -958,6 +892,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"Bitte für den WLAN-Hotspot mindestens eine Bandbreite auswählen:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"IP-Einstellungen"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"Datenschutz"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"Abo"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"Abo ansehen oder ändern"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"Zufällig festgelegte MAC"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"Gerät hinzufügen"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"Wenn du das Gerät zu \"<xliff:g id="SSID">%1$s</xliff:g>\" hinzufügen möchtest, scanne den QR-Code unten"</string>
@@ -967,12 +903,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"WLAN teilen"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"Scanne diesen QR-Code, um eine Verbindung mit \"<xliff:g id="SSID">%1$s</xliff:g>\" herzustellen und das Passwort zu teilen"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"Diesen QR-Code scannen, um eine Verbindung mit \"<xliff:g id="SSID">%1$s</xliff:g>\" herzustellen"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"Lesen des QR-Codes nicht möglich. Halte die Kamera so, dass der Code in der Mitte des Felds zu sehen ist, und versuche es noch einmal"</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"Versuche es noch einmal. Falls das Problem weiterhin besteht, wende dich an den Hersteller des Geräts"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"Fehler"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"Prüfe, ob das Gerät angeschlossen, aufgeladen und eingeschaltet ist"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"Prüfe, ob das Gerät angeschlossen, aufgeladen und eingeschaltet ist. Falls das Problem weiterhin besteht, wende dich an den Hersteller des Geräts"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"Das Hinzufügen von \"<xliff:g id="SSID">%1$s</xliff:g>\" wird von diesem Gerät nicht unterstützt"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"Versuche, die Entfernung zwischen dem Gerät und deinem WLAN-Zugangspunkt oder Router zu verringern"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"Prüfe das Passwort und versuch es noch einmal"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"Wende dich an den Hersteller des Geräts"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"Prüfe die Verbindung und versuche es noch einmal"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"Mobilfunknetz auswählen"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"Wenn du dein Gerät verbinden möchtest, wähle ein Netzwerk"</string>
@@ -985,11 +923,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"WLAN wird für dieses Gerät freigegeben…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"Verbindung wird hergestellt…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"Hotspot teilen"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"Identität bestätigen"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"Deine Identität bestätigen"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"WLAN-Passwort: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"Passwort des Hotspots: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"Automatische Verbindung"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"Zulassen, dass das Smartphone automatisch eine Verbindung herstellt, wenn es in der Nähe dieses Netzwerks ist"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"Zulassen, dass das Tablet automatisch eine Verbindung herstellt, wenn es in der Nähe dieses Netzwerks ist"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"Gerät hinzufügen"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"QR-Code verwenden, um diesem Netzwerk ein Gerät hinzuzufügen"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"QR-Code ist kein gültiges Format"</string>
     <string name="retry" msgid="7542103800274026915">"Noch mal versuchen"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"Für andere Gerätenutzer freigeben"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(nicht geändert)"</string>
@@ -1001,6 +943,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"Kein Zertifikat angegeben. Es wird keine private Verbindung hergestellt."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"Der Netzwerkname ist zu lang."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"Angabe einer Domain erforderlich."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"Zertifikat erforderlich."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"WPS verfügbar"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (WPS verfügbar)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"WLAN eines Mobilfunkanbieters"</string>
@@ -1052,7 +995,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"Erweiterte WLAN-Einstellungen"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"MAC-Adresse"</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_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>
@@ -1104,7 +1048,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"Mit einem Hotspot kannst du ein WLAN für andere Geräte einrichten. Die Internetverbindung wird über deine mobilen Daten hergestellt, sodass zusätzliche Kosten anfallen können."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"In Apps können über einen Hotspot Inhalte mit Geräten in der Nähe geteilt werden."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Hotspot automatisch deaktivieren"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"Der WLAN-Hotspot wird deaktiviert, wenn keine Geräte verbunden sind"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Wenn keine Geräte verbunden sind"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"Hotspot wird aktiviert…"</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"Hotspot wird deaktiviert…"</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> ist aktiviert"</string>
@@ -1113,6 +1057,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"WLAN-Hotspot-Einrichtung"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"Hotspot AndroidAP WPA2-PSK"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"AndroidHotspot"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"Dieses Netzwerk speichern?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"<xliff:g id="APPNAME">%1$s</xliff:g> möchte ein Netzwerk auf deinem Smartphone speichern"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"<xliff:g id="APPNAME">%1$s</xliff:g> möchte ein Netzwerk auf deinem Tablet speichern"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"Wird gespeichert…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"Gespeichert"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"Speichern nicht möglich. Noch einmal versuchen."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"Netzwerke speichern?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"<xliff:g id="APPNAME">%1$s</xliff:g> möchte diese Netzwerke auf deinem Smartphone speichern"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"<xliff:g id="APPNAME">%1$s</xliff:g> möchte diese Netzwerke auf deinem Tablet speichern"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"<xliff:g id="NUMBER">%d</xliff:g> Netzwerke werden gespeichert…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"Netzwerke gespeichert"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"WLAN-Telefonie"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"Anrufoptionen um WLAN-Anrufe erweitern"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"\"WLAN-Telefonie\" aktivieren, um Abdeckung zu erweitern"</string>
@@ -1139,16 +1094,18 @@
     <string name="emergency_address_title" msgid="3490633500025717573">"Notfalladresse"</string>
     <string name="emergency_address_summary" msgid="3022628750270626473">"Wird als dein Standort verwendet, wenn du einen Notruf über WLAN tätigst"</string>
     <string name="private_dns_help_message" msgid="851221502063782306"><annotation id="url">"Weitere Informationen zu privaten DNS-Funktionen"</annotation></string>
+    <string name="private_dns_mode_on" msgid="8878679071975375696">"An"</string>
     <string name="wifi_calling_pref_managed_by_carrier" msgid="129524064888622179">"Einstellung wird vom Mobilfunkanbieter verwaltet"</string>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"WLAN-Telefonie aktivieren"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"WLAN-Telefonie verwenden"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"WLAN-Telefonie wird von %1$s nicht unterstützt"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"Verbindung zu <xliff:g id="SSID">%1$s</xliff:g> getrennt"</string>
     <string name="carrier" msgid="1755020806290963951">"Mobilfunkanbieter"</string>
     <string name="display_settings_title" msgid="626835071804834218">"Display"</string>
     <string name="sound_settings" msgid="5514582720435174014">"Töne"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"Lautstärke"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"Musikeffekte"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"Klingeltonlautstärke"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"Lautstärke bei Klingeln und Benachrichtigungseingang"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"Im Lautlos-Modus vibrieren"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"Standard-Benachrichtigungston"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"Klingelton"</string>
@@ -1273,13 +1230,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"Zeitplan"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"Niemals"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"An von Sonnenuntergang bis -aufgang"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"Zu benutzerdefinierter Zeit"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"Status"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"Aus/<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"Wird nie automatisch aktiviert"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"Wird automatisch bei Sonnenuntergang aktiviert"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"Wird automatisch um <xliff:g id="ID_1">%1$s</xliff:g> aktiviert"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"An/<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"Wird nie automatisch deaktiviert"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"Wird automatisch bei Sonnenaufgang deaktiviert"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"Wird automatisch um <xliff:g id="ID_1">%1$s</xliff:g> deaktiviert"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"Bis <xliff:g id="ID_1">%1$s</xliff:g> aktivieren"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"Bis <xliff:g id="ID_1">%1$s</xliff:g> deaktivieren"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"Beim dunklen Design ist der Hintergrund einiger Bildschirme schwarz, damit dein Akku länger hält. Zeitpläne für das dunkle Design werden erst aktiviert, wenn das Display aus ist."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"Display automatisch ausschalten"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"Display wird ausgeschaltet."</string>
@@ -1291,7 +1253,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"Hintergrund ändern"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"Display personalisieren"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"Hintergrund auswählen"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"Pixel personalisieren"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"Smartphone personalisieren"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"Verschiedene Designs und Hintergründe ausprobieren"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"Bildschirmschoner"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Beim Aufladen oder wenn in Dockingstation"</string>
@@ -1380,6 +1342,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"USB-Speicher trennen, verfügbaren Speicher anzeigen"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"SD-Karte entnehmen, verfügbaren Speicher anzeigen"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (SIM-Steckplatz %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"Wähle zum Ansehen ein gespeichertes Netzwerk aus"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"Telefonnummer"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (SIM-Steckplatz %1$d)"</string>
@@ -1406,6 +1369,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"Roaming"</string>
     <string name="status_operator" msgid="4335640583552058491">"Mobilfunknetz"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"WLAN-MAC-Adresse"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"WLAN-MAC-Adresse des Geräts"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"Bluetooth-Adresse"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Seriennummer"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Betriebszeit"</string>
@@ -1618,6 +1582,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Zurücksetzen auf Standard-APN-Einstellungen abgeschlossen"</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"Optionen zum Zurücksetzen"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"Zurückgesetzt werden können das Netzwerk, Apps und das Gerät"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"Apps können zurückgesetzt werden"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"WLAN, mobile Daten &amp; Bluetooth zurücksetzen"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"Hierdurch werden sämtliche Netzwerkeinstellungen zurückgesetzt, einschließlich:\n\n"<li>"WLAN"</li>\n<li>"Mobile Daten"</li>\n<li>"Bluetooth"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"Heruntergeladene SIMs löschen"</string>
@@ -1667,6 +1632,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"Hotspot aktiviert"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"Tethering"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"Tethering oder Verwendung von mobilen Hotspots nicht möglich, während der Datensparmodus aktiviert ist"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"Nur Hotspot"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"Nur USB"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"Nur Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"Hotspot, USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"Hotspot, Bluetooth"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB, Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"Hotspot, USB, Bluetooth"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"Internetverbindung wird nicht für andere Geräte freigegeben"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"Tethering"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"WLAN-Hotspot nicht verwenden"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Internet nur über USB teilen"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Internet nur über Bluetooth teilen"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Internet nur über USB und Bluetooth teilen"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB-Tethering"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"Internetverbindung des Smartphones wird über USB freigegeben"</string>
@@ -1757,9 +1735,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"Sicherheitsinformationen"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"Es ist keine Datenverbindung vorhanden. Wenn Sie diese Informationen jetzt sehen möchten, gehen Sie auf einem beliebigen Computer mit Internetanschluss zu %s."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"Wird geladen..."</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"PIN nutzen"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"Muster verwenden"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"Passwort nutzen"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"Displaysperre einrichten"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"Richte zur Sicherheit ein Passwort ein"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"Passwort festlegen, um Fingerabdruck zu verwenden"</string>
@@ -1768,8 +1743,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"PIN festlegen, um Fingerabdruck zu verwenden"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"Richte zur Sicherheit ein Muster ein"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"Passwort noch einmal eingeben"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"Passwort deines Arbeitsprofils eingeben"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"Muster bestätigen"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"Arbeitsprofil-Muster eingeben"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"PIN noch einmal eingeben"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"PIN deines Arbeitsprofils eingeben"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"Die Passwörter stimmen nicht überein."</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"Die PINs stimmen nicht überein"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"Muster noch einmal zeichnen"</string>
@@ -1780,6 +1758,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"Für Face Unlock Passwort festlegen"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"Für Face Unlock Muster festlegen"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"Für Face Unlock PIN festlegen"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"Passwort vergessen?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"Muster vergessen?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"PIN vergessen?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"Gib zum Fortfahren das Muster für dein Gerät ein"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"Gib zum Fortfahren die PIN für dein Gerät ein"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"Gib zum Fortfahren das Passwort für dein Gerät ein"</string>
@@ -1847,6 +1828,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"Alle App-Quellen zulassen"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"Kürzlich geöffnete Apps"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"Alle <xliff:g id="COUNT">%1$d</xliff:g> Apps anzeigen"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"IT-Administrator kontaktieren"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"Der IT-Administrator hilft dir beim Zurücksetzen deiner PIN, deines Musters oder Passworts"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"Apps mit unbekannter Herkunft können gefährlich für dein Tablet und deine personenbezogenen Daten sein. Wenn du Apps aus dieser Quelle installierst, erklärst du dich damit einverstanden, dass du die Verantwortung für alle Schäden an deinem Tablet und jegliche Datenverluste trägst, die aus der Verwendung dieser Apps entstehen können."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"Apps mit unbekannter Herkunft können gefährlich für dein Smartphone und deine personenbezogenen Daten sein. Wenn du Apps aus dieser Quelle installierst, erklärst du dich damit einverstanden, dass du die Verantwortung für alle Schäden an deinem Smartphone und jegliche Datenverluste trägst, die aus der Verwendung dieser Apps entstehen können."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"Apps mit unbekannter Herkunft können gefährlich für dein Gerät und deine personenbezogenen Daten sein. Wenn du Apps aus dieser Quelle installierst, erklärst du dich damit einverstanden, dass du die Verantwortung für alle Schäden an deinem Gerät und sämtliche Datenverluste trägst, die aus der Verwendung dieser Apps entstehen können."</string>
@@ -1898,7 +1881,7 @@
     <string name="default_emergency_app" msgid="1929974800666613803">"App für Notfallbenachrichtigungen"</string>
     <string name="reset_app_preferences" msgid="8861758340732716573">"App-Einstellungen zurücksetzen"</string>
     <string name="reset_app_preferences_title" msgid="8935136792316050759">"App-Einstellungen zurücksetzen?"</string>
-    <string name="reset_app_preferences_desc" msgid="1377296810290814749">"Hierdurch werden die folgenden Einstellungen zurückgesetzt:\n\n"<li>"Deaktivierung von Apps"</li>\n<li>"Deaktivierung von App-Benachrichtigungen"</li>\n<li>"Festlegung von Standard-Apps für bestimmte Aktionen"</li>\n<li>"Einschränkungen der Hintergrunddaten für Apps"</li>\n<li>"Jegliche Zugriffsbeschränkungen"</li>\n\n"Alle App-Daten bleiben erhalten."</string>
+    <string name="reset_app_preferences_desc" msgid="6509978724602405805">"Hierdurch werden die folgenden Einstellungen zurückgesetzt:\n\n "<li>"Deaktivierung von Apps"</li>\n" "<li>"Deaktivierung von App-Benachrichtigungen"</li>\n" "<li>"Festlegung von Standard-Apps für bestimmte Aktionen"</li>\n<li>"Einschränkungen der Hintergrunddaten für Apps"</li>\n<li>"Jegliche Zugriffsbeschränkungen"</li>\n\n"Alle App-Daten bleiben erhalten."</string>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"Apps zurücksetzen"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"Speicherplatz verwalten"</string>
     <string name="filter" msgid="9039576690686251462">"Filter"</string>
@@ -2098,7 +2081,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"Audiodienste und Text auf dem Bildschirm"</string>
     <string name="display_category_title" msgid="6638191682294461408">"Bildschirm"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"Interaktionssteuerung"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"Heruntergeladene Dienste"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"Heruntergeladene Apps"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"Experimentell"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"Funktions-Flags"</string>
     <string name="talkback_title" msgid="8756080454514251327">"TalkBack"</string>
@@ -2106,27 +2089,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"Tippe auf dem Bildschirm auf Elemente, damit sie vorgelesen werden"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"Untertitel-Einstellungen"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"Vergrößerung"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"Vergrößerungsbereich"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"Vergrößerung aktivieren"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"Wähle die Bereiche aus, die bei der Bildschirmvergrößerung verwendet werden sollen"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"Ganzer Bildschirm"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"Teil des Bildschirms"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"Ganzer Bildschirm und Teil des Bildschirms"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"Ganzen Bildschirm vergrößern"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"Teil des Bildschirms vergrößern"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Vergrößerungseinstellungen"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"Dreimal tippen zum Vergrößern"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Mit Tastenkombination vergrößern"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Mit Tastenkombination und 3-mal Tippen vergrößern"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"Über <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"Optionen"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"Auf dem Bildschirm heranzoomen"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"Zum Zoomen dreimal tippen"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Zum Zoomen auf eine Schaltfläche tippen"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><b>"Wenn du zoomen möchtest"</b>", brauchst du einfach dreimal schnell auf das Display zu tippen.\n"<ul><li>"Zum Scrollen ziehst du mindestens zwei Finger über das Display."</li>\n<li>"Um den Zoom anzupassen, ziehst du einfach mindestens zwei Finger zusammen."</li></ul>\n\n<b>"Wenn du einen Bereich vorübergehend heranzoomen möchtest"</b>", tippe dreimal schnell auf das Display und halte deinen Finger beim dritten Tippen auf das Display gedrückt.\n"<ul><li>"Ziehe den Finger über das Display, um dich auf dem Display hin- und herzubewegen."</li>\n<li>"Um wieder herauszuzoomen, hebe den Finger an."</li></ul>\n\n"Auf der Tastatur und in der Navigationsleiste kann nicht gezoomt werden."</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"Wenn die Vergrößerung aktiviert ist, kannst du Elemente auf dem Bildschirm heranzoomen.\n\n"<b>"Wenn du zoomen möchtest"</b>", starte die Vergrößerung und tippe dann auf eine beliebige Stelle auf dem Bildschirm.\n"<ul><li>"• Zum Scrollen ziehe mit zwei oder mehr Fingern"</li>\n<li>"• Zum Anpassen des Zooms ziehe zwei oder mehr Finger zusammen bzw. auseinander"</li></ul>\n\n<b>"Wenn du vorübergehend heranzoomen möchtest"</b>", starte die Vergrößerung und tippe dann auf eine beliebige Stelle auf dem Bildschirm und halte sie gedrückt.\n"<ul><li>"• Wenn du dich im Bildschirm bewegen möchtest, ziehe den Bildschirm"</li>\n<li>"• Zum Herauszoomen hebe den Finger"</li></ul>\n\n"In die Tastatur oder Navigationsleiste kann nicht hineingezoomt werden."</string>
+    <string name="accessibility_screen_magnification_summary" msgid="7617931632990040045">"Du kannst auf dem Display schnell heranzoomen, um Inhalte deutlicher zu sehen.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;So zoomst du heran:&lt;/b&gt;&lt;br/&gt;	1. Starte die Vergrößerung über die Verknüpfung&lt;br/&gt;	2. Tippe auf das Display&lt;br/&gt;	3. Ziehe zwei Finger, um dich auf dem Display zu bewegen&lt;br/&gt;	4. Ziehe zwei Finger auseinander oder zusammen, um den Zoom anzupassen&lt;br/&gt;	5. Beende die Vergrößerung über die Verknüpfung&lt;br/&gt;&lt;br/&gt;&lt;b&gt;So zoomst du vorübergehend heran:&lt;/b&gt;&lt;br/&gt;	1. Starte die Vergrößerung über die Verknüpfung&lt;br/&gt;	2. Halte einen Finger auf eine beliebige Stelle auf dem Display&lt;br/&gt;	3. Ziehe den Finger, um dich auf dem Display zu bewegen&lt;br/&gt;	4. Hebe den Finger, um die Vergrößerung zu beenden"</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Wenn die Vergrößerung aktiviert ist, kannst du Elemente auf dem Bildschirm heranzoomen.\n\n"<b>"Wenn du zoomen möchtest"</b>", starte die Vergrößerung und tippe dann auf eine beliebige Stelle auf dem Bildschirm.\n"<ul><li>"Zum Scrollen ziehe mit zwei oder mehr Fingern"</li>\n<li>"Zum Anpassen des Zooms ziehe zwei oder mehr Finger zusammen bzw. auseinander"</li></ul>\n\n<b>"Wenn du vorübergehend heranzoomen möchtest"</b>", starte die Vergrößerung und tippe dann auf eine beliebige Stelle auf dem Bildschirm und halte sie gedrückt.\n"<ul><li>"Wenn du dich im Bildschirm bewegen möchtest, ziehe den Bildschirm"</li>\n<li>"Zum Herauszoomen hebe den Finger"</li></ul>\n\n"In die Tastatur oder Navigationsleiste kann nicht hineingezoomt werden."</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Zum Öffnen Schaltfläche \"Bedienungshilfen\" nutzen"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Zum Öffnen Touch-Geste verwenden"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"Neue Touch-Geste für Bedienungshilfen verwenden"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"Du kannst diesen Dienst aktivieren oder deaktivieren, indem du unten auf dem Bildschirm auf die Schaltfläche \"Bedienungshilfen\" <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> tippst.\n\nWenn du zwischen den Diensten wechseln möchtest, halte die Schaltfläche für die Bedienungshilfen gedrückt."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"Du kannst diesen Dienst aktivieren und deaktivieren, indem du vom unteren Bildschirmrand mit zwei Fingern nach oben wischst.\n\nWenn du zwischen den Diensten wechseln möchtest, wische mit zwei Fingern über das Display nach oben und halte es gedrückt."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"Du kannst diesen Dienst aktivieren und deaktivieren, indem du vom unteren Bildschirmrand mit drei Fingern nach oben wischst.\n\nWenn du zwischen den Diensten wechseln möchtest, wische mit drei Fingern über das Display nach oben und halte es gedrückt."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"Du kannst die Bedienungshilfen aktivieren und deaktivieren, indem du vom unteren Bildschirmrand mit zwei Fingern nach oben wischst.\n\nWenn du zwischen den Diensten wechseln möchtest, wische mit zwei Fingern über das Display nach oben und halte es gedrückt."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"Du kannst die Bedienungshilfen aktivieren und deaktivieren, indem du vom unteren Bildschirmrand mit drei Fingern nach oben wischst.\n\nWenn du zwischen den Diensten wechseln möchtest, wische mit drei Fingern über das Display nach oben und halte es gedrückt."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"Du kannst diesen Dienst aktivieren oder deaktivieren, indem du unten auf dem Bildschirm auf die Schaltfläche \"Bedienungshilfen\" <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> tippst.\n\nWenn du zwischen den Diensten wechseln möchtest, halte die Schaltfläche für die Bedienungshilfen gedrückt."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"Du kannst diesen Dienst aktivieren und deaktivieren, indem du vom unteren Bildschirmrand mit zwei Fingern nach oben wischst.\n\nWenn du zwischen den Diensten wechseln möchtest, wische mit zwei Fingern über das Display nach oben und halte es gedrückt."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"Du kannst diesen Dienst aktivieren und deaktivieren, indem du vom unteren Bildschirmrand mit drei Fingern nach oben wischst.\n\nWenn du zwischen den Diensten wechseln möchtest, wische mit drei Fingern über das Display nach oben und halte es gedrückt."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"Du kannst die Bedienungshilfen aktivieren und deaktivieren, indem du vom unteren Bildschirmrand mit zwei Fingern nach oben wischst.\n\nWenn du zwischen den Diensten wechseln möchtest, wische mit zwei Fingern über das Display nach oben und halte es gedrückt."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"Du kannst die Bedienungshilfen aktivieren und deaktivieren, indem du vom unteren Bildschirmrand mit drei Fingern nach oben wischst.\n\nWenn du zwischen den Diensten wechseln möchtest, wische mit drei Fingern über das Display nach oben und halte es gedrückt."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"OK"</string>
+    <string name="accessibility_shortcut_title" msgid="8125867833704517463">"\"<xliff:g id="SERVICE">%1$s</xliff:g>\"-Verknüpfung"</string>
+    <string name="accessibility_shortcut_edit_summary_software" msgid="2820923641553461297">"Schaltfläche \"Bedienungshilfen\""</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture" msgid="8078659880723370597">"Mit zwei Fingern nach oben wischen"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture_talkback" msgid="7422753388389160524">"Mit drei Fingern nach oben wischen"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software" msgid="4796192466943479849">"Tippe auf die Schaltfläche \"Bedienungshilfen\""</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8922102767509399352">"Tippe unten auf dem Bildschirm auf die Schaltfläche \"Bedienungshilfen\" <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"Wische mit zwei Fingern vom unteren Bildschirmrand nach oben"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"Wische mit drei Fingern vom unteren Bildschirmrand nach oben"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Lautstärketasten gedrückt halten"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"Halte beide Lautstärketasten 1 Sekunde lang gedrückt"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Dreimal auf den Bildschirm tippen"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"Tippe schnell dreimal hintereinander auf den Bildschirm. Durch diese Verknüpfung kann dein Gerät langsamer werden."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"Erweitert"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"Die Schaltfläche für die Bedienungshilfen ist auf <xliff:g id="SERVICE">%1$s</xliff:g> gestellt. Um die Vergrößerung nutzen zu können, tippe &amp; halte die Schaltfläche für die Bedienungshilfen gedrückt und wähle anschließend \"Vergrößerung\" aus."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"Die Touch-Geste für die Bedienungshilfen ist auf den Dienst \"<xliff:g id="SERVICE">%1$s</xliff:g>\" eingestellt. Wenn du die Vergrößerung verwenden möchtest, wische mit zwei Fingern vom unteren Bildschirmrand nach oben und halte den Bildschirm gedrückt. Wähle dann \"Vergrößerung\" aus."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"Verknüpfung für Lautstärketaste"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"Verknüpfter Dienst"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Einstellungen für Verknüpfungen"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"Auf dem Sperrbildschirm erlauben"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"Wenn die Verknüpfung aktiviert ist, kannst du Bedienungshilfen starten, indem du die beiden Lautstärketasten drei Sekunden lang gedrückt hältst."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"Text mit hohem Kontrast"</string>
@@ -2150,24 +2158,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"Hier kannst du auswählen, wie lange Nachrichten sichtbar sind, die eine Reaktion erfordern, aber nur vorübergehend angezeigt werden.\n\nDiese Einstellung wird nicht von allen Apps unterstützt."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"\"Berühren und halten\"-Reaktionszeit"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"Farbumkehr"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"Kann sich auf die Leistung auswirken"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"Verweildauer"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"Farbumkehr aktivieren"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"Die Farbumkehr macht helle Displays dunkel. Das hilft Menschen mit lichtempfindlichen Augen, die Bildschirminhalte besser zu erkennen.&lt;br/&gt;&lt;br/&gt;Hinweis: Dunkle Farben werden hell. Das führt zu einer veränderten Wiedergabe der Farben in Medien und Bildern. Du kannst auch das dunkle Design verwenden (\"Einstellungen\" &gt; \"Display\")."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"Automatischer Klick (Verweildauer)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"Wenn du eine Maus verwendest, kannst du sie so einstellen, dass der Mauszeiger automatisch wieder aktiv wird, wenn er sich eine bestimmte Zeit lang nicht mehr bewegt."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"Verzögerung vor Klick"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"Keine automatischen Klicks (Standard)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"Kurz"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0,2 Sekunden"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"Mittel"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0,6 Sekunden"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"Lang"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 Sekunde"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"Benutzerdefiniert"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"Kürzer"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"Länger"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"Zeit vor automatischem Klick"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"Vibration &amp; Stärke des haptischen Feedbacks"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Vibration bei Benachrichtigungseingang"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Vibration bei Klingeln"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Haptisches Feedback"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"Dienst aktivieren"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g> verwenden"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g> öffnen"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"Farbkorrektur aktivieren"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"Untertitel aktivieren"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"Untertitel anzeigen"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"Untertiteldesign"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"Textgröße, Untertitelstil"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"Weitere Optionen"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"Diese Einstellung wird nicht von allen Apps unterstützt."</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"Schaltfläche \"Bedienungshilfen\""</string>
+    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"Mit zwei Fingern nach oben wischen"</string>
+    <string name="accessibility_shortcut_type_hardware" msgid="4834144210432451916">"Lautstärketasten gedrückt halten"</string>
+    <string name="accessibility_shortcut_type_triple_tap" msgid="7717524216825494543">"Dreimal auf den Bildschirm tippen"</string>
     <string name="accessibility_hearingaid_instruction_continue_button" msgid="3367260988024430722">"Weiter"</string>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"Hörhilfen"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"Keine Hörhilfen verbunden"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"Hörhilfen hinzufügen"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"Um deine Hörhilfen zu koppeln, tippe auf dem nächsten Bildschirm auf dein Gerät."</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"Sorge dafür, dass deine Hörhilfen im Kopplungsmodus sind."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"Wenn du deine Hörhilfen koppeln möchtest, tippe auf dem nächsten Bildschirm auf dein Gerät. Deine Hörhilfen müssen im Kopplungsmodus sein."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> aktiv"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> gespeicherte Hörhilfen</item>
@@ -2179,25 +2205,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Dieser Dienst funktioniert nicht."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"In Schnelleinstellungen anzeigen"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"Korrekturmodus"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="other">Extrem kurze Verzögerung (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Extrem kurze Verzögerung (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Rot-Grün-Sehschwäche"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"Grün-Rot-Sehschwäche"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Blau-Gelb-Sehschwäche"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"Deuteranomalie"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"Protanomalie"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"Tritanomalie"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="other">Extrem kurze Verzögerung (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> Sekunden)</item>
+      <item quantity="one">Extrem kurze Verzögerung (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> Sekunde)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="other">Sehr kurze Verzögerung (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Sehr kurze Verzögerung (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="other">Sehr kurze Verzögerung (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> Sekunden)</item>
+      <item quantity="one">Sehr kurze Verzögerung (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> Sekunde)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="other">Kurze Verzögerung (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Kurze Verzögerung (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="other">Kurze Verzögerung (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> Sekunden)</item>
+      <item quantity="one">Kurze Verzögerung (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> Sekunde)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="other">Lange Verzögerung (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Lange Verzögerung (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="other">Lange Verzögerung (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> Sekunden)</item>
+      <item quantity="one">Lange Verzögerung (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> Sekunde)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="other">Sehr lange Verzögerung (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Sehr lange Verzögerung (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="other">Sehr lange Verzögerung (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> Sekunden)</item>
+      <item quantity="one">Sehr lange Verzögerung (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> Sekunde)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> Sekunden</item>
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> Sekunde</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"Klingeln: <xliff:g id="SUMMARY_RING">%1$s</xliff:g>, Benachrichtigung: <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>, Berührung: <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"Vibration bei Klingeln und Benachrichtigungseingang auf \"Aus\" eingestellt"</string>
@@ -2514,7 +2550,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"Seit dem letzten Ausstecken für <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"Verbrauch insgesamt"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"Aktualisieren"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"Android OS"</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">"Energiesparmodus"</string>
@@ -2595,8 +2630,7 @@
     <string name="tts_play" msgid="2945513377250757221">"Wiedergeben"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"Anmeldedatenspeicher"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"Von Speicher installieren"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"Von SD-Karte installieren"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"Ein Zertifikat installieren"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"Zertifikate von Speicher installieren"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"Zertifikate von SD-Karte installieren"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"Anmeldedaten löschen"</string>
@@ -2616,6 +2650,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"Speicher wurde gelöscht."</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"Anmeldedaten nicht gelöscht"</string>
     <string name="usage_access_title" msgid="1580006124578134850">"Apps mit Nutzungsdatenzugriff"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"CA-Zertifikat"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"VPN- &amp; App-Nutzerzertifikat"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"WLAN-Zertifikat"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"Deine Privatsphäre ist gefährdet"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"CA-Zertifikate werden von Websites, Apps und VPNs zur Verschlüsselung verwendet. Du solltest nur CA-Zertifikate von Organisationen installieren, denen du vertraust. \n\n Wenn du ein CA-Zertifikat installierst, kann dessen Inhaber auf deine Informationen wie Passwörter, Nachrichten oder Kreditkartendetails von Websites, die du besuchst, oder Apps, die du verwendest, zugreifen – auch wenn diese Informationen verschlüsselt sind."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"Nicht installieren"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"Trotzdem installieren"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"Zertifikat nicht installiert"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"Notrufsignal"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Verhalten bei einem Notruf festlegen"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Sicherung"</string>
@@ -2643,10 +2685,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"Deaktivieren &amp; deinstallieren"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"Apps zur Geräteverwaltung"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"Keine App zur Geräteverwaltung verfügbar"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"Nutzer"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"Geschäftlich"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"Zugriff auf SMS und Anrufliste einschränken"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"Nur standardmäßige Telefon- und Nachrichten-Apps haben Zugriff auf SMS und Anruflisteneinträge"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"Keine verfügbaren Trust Agents"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"App zur Geräteverwaltung aktivieren?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"Diese App zur Geräteverwaltung aktivieren"</string>
@@ -2660,6 +2698,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"Andere Optionen wurden von deinem Administrator deaktiviert"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"Weitere Details"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"Benachrichtigungsprotokoll"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"Benachrichtigungsverlauf"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"Heute"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"Im Schlummermodus"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"Kürzlich geschlossen"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> Benachrichtigungen</item>
+      <item quantity="one"><xliff:g id="NUMBER_0">%d</xliff:g> Benachrichtigung</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"Klingelton &amp; Vibration für Anrufe"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"Netzwerkdetails"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"Synchronisierung aktiviert"</string>
@@ -3009,7 +3055,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"Einschränkungen"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"Einschränkungen aufheben"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"PIN ändern"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"Benachrichtigungen zeigen"</string>
     <string name="help_label" msgid="2896538416436125883">"Hilfe &amp; Feedback"</string>
     <string name="support_summary" msgid="1034146931237148885">"Hilfeartikel, Telefon- &amp; Chatsupport, erste Schritte"</string>
     <string name="user_account_title" msgid="6389636876210834864">"Konto für Inhalte"</string>
@@ -3034,6 +3079,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G-Anrufe"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Zur Verbesserung von Sprache und Kommunikation LTE-Dienste verwenden (empfohlen)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Zur Verbesserung von Sprache und Kommunikation 4G-Dienste verwenden (empfohlen)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Kontakterkennung"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Dadurch kann dein Mobilfunkanbieter prüfen, welche Anruffunktionen deine Kontakte unterstützen."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Die Funktion \"Kontakterkennung\" aktivieren?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Wenn du diese Funktion aktivierst, kann dein Mobilfunkanbieter auf die Telefonnummern in deinen Kontakten zugreifen, um zu prüfen, welche Anruffunktionen sie unterstützen."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Bevorzugter Netztyp"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (empfohlen)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS"</string>
@@ -3078,7 +3127,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"Anrufen mit"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"SIM-Karte auswählen"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"SIM-Karte <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"SIM-Karte ist leer."</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"Name der SIM-Karte"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"Namen der SIM-Karte eingeben"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"SIM-Steckplatz %1$d"</string>
@@ -3088,6 +3136,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"SIM-Karte auswählen"</string>
     <string name="color_orange" msgid="216547825489739010">"Orange"</string>
     <string name="color_purple" msgid="6603701972079904843">"Lila"</string>
+    <string name="color_pink" msgid="8596872110888626708">"Pink"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"Keine SIM-Karte eingelegt"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"Status der SIM-Karte"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"SIM-Status (SIM-Steckplatz %1$d)"</string>
@@ -3101,7 +3150,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"SIM-Karten wurden geändert"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Zum Einrichten tippen"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"Bevorzugte SIM für"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Jedes Mal fragen"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Auswahl erforderlich"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"SIM-Auswahl"</string>
@@ -3119,6 +3167,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"Bluetooth, Fahrmodus"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"Bluetooth, NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"Bluetooth"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"Nicht verfügbar, weil NFC deaktiviert ist"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"Apps &amp; Benachrichtigungen"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Kürzlich verwendete Apps, Standard-Apps"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Für Apps im Arbeitsprofil ist der Benachrichtigungszugriff nicht verfügbar."</string>
@@ -3129,13 +3178,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"Einstellungen"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"wlan, wi-fi, netzwerkverbindung, internet, kabellos, daten, wifi, wi-fi, w-lan"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"WLAN-Benachrichtigung, WLAN-Benachrichtigung"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"Datennutzung"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"Vibration abschalten, tippen, Tastatur"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"24-Stunden-Format verwenden"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"Download"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"Öffnen mit"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"Anwendungen"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"Zeitzone"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"Chat Head"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"Chat Head, System, Benachrichtigung, Fenster, Dialogfeld, einblenden, über anderen Apps, anzeigen"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"Taschenlampe, Licht, Lampe"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"wlan, umschalten, steuern"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"mobilfunk, mobil, mobilfunkanbieter, kabellos, drahtlos, daten, 4g, 3g, 2g, lte"</string>
@@ -3159,7 +3209,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"bitte nicht stören, unterbrechen, unterbrechung, pause"</string>
     <string name="keywords_app" msgid="7983814237980258061">"ram"</string>
     <string name="keywords_location" msgid="8016374808099706213">"in der nähe, ort, standort, verlauf, berichterstellung, bericht erstellung, bericht erstellen, berichte erstellen, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"konto"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"Konto, ein Konto hinzufügen, Arbeitsprofil hinzufügen, Konto hinzufügen"</string>
     <string name="keywords_users" msgid="3497517660077620843">"einschränkung, einschränken, eingeschränkt"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"text korrektur, textkorrektur, korrigieren, sound, ton, vibrieren, automatisch, sprache, geste, touch-geste, vorschlagen, vorschlag, design, anstößig, wort, eingeben, emoji, international"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"zurücksetzen, einstellungen, standard, standardeinstellung"</string>
@@ -3197,6 +3247,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"Speicher, Cache, Daten, löschen, entfernen, frei machen, Platz"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"verbunden, gerät, kopfhörer, headset, lautsprecher, drahtlos, koppeln, ohrhörer, musik, medien"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"hintergrund, bildschirm, sperrbildschirm, design"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"Symbolform, Akzentfarbe, Schriftart"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"standard, assistent"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"zahlung, standard"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"eingehende Benachrichtigung"</string>
@@ -3206,18 +3257,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"Haptik, vibrieren, Empfindlichkeit"</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_add_an_account" msgid="2428051177661688842">"Arbeitsprofil"</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>
     <string name="default_sound" msgid="6604374495015245195">"Standardton"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"Klingeltonlautstärke: <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"Lautstärke bei Klingeln und Benachrichtigungseingang auf <xliff:g id="PERCENTAGE">%1$s</xliff:g> %% eingestellt"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Lautstärke, Vibration, Bitte nicht stören"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"Klingelton auf Vibrieren gestellt"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"Klingelton auf lautlos gestellt"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"Klingeltonlautstärke: 80 %"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"Lautstärke bei Klingeln und Benachrichtigungseingang auf 80 % eingestellt"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Medienlautstärke"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Streaminglautstärke"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"Anruflautstärke"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"Weckruflautstärke"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"Klingeltonlautstärke"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"Lautstärke bei Klingeln und Benachrichtigungseingang"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"Benachrichtigungslautstärke"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"Klingelton"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"Standard-Benachrichtigungston"</string>
@@ -3225,6 +3277,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"Standard-Benachrichtigungston"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"Standard-Weckton"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"Bei Anrufen vibrieren"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"Nie vibrieren"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"Immer vibrieren"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"Erst vibrieren, dann immer lauter klingeln"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"Andere Töne"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"Wähltastentöne"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"Töne für die Displaysperre"</string>
@@ -3248,6 +3303,7 @@
       <item quantity="one">1 aktiviert</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Bitte nicht stören"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Benachrichtigungen nur von wichtigen Personen und Apps"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Unterbrechungen einschränken"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"\"Bitte nicht stören\" aktivieren"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"Ausnahmen"</string>
@@ -3274,7 +3330,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Visuelle Störungen blockieren"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Visuelle Signale zulassen"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"Wenn \"Bitte nicht stören\" aktiviert ist"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"Unterbrechungen mit Tönen zulassen"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"Benachrichtigungen einschränken"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Kein akustisches Signal bei Benachrichtigungen"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"Benachrichtigungen werden angezeigt"</string>
@@ -3305,7 +3361,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"Töne und Vibration"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"Töne, Vibration und einige visuelle Elemente von Benachrichtigungen"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"Töne, Vibration und visuelle Elemente von Benachrichtigungen"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"Benachrichtigungen für grundlegende Smartphone-Aktivitäten und den Smartphone-Status werden nie ausgeblendet"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"Benachrichtigungen für grundlegende Smartphone-Aktivitäten und den Smartphone-Status werden nie ausgeblendet."</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"Keine"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"sonstige Optionen"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"Hinzufügen"</string>
@@ -3335,10 +3391,12 @@
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> Zeitpläne können automatisch aktiviert werden</item>
       <item quantity="one">1 Zeitplan kann automatisch aktiviert werden</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"Gerät stummschalten, aber Ausnahmen zulassen"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"Ausnahmen"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"Zeitplan"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"Alle Ausnahmen anzeigen"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"Ausnahmen, wenn \"Bitte nicht stören\" aktiviert ist"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"Personen"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"Apps"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"Alarme &amp; sonstige Unterbrechungen"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"Zeitpläne"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"Stumm geschaltete Benachrichtigungen"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"Wenn \"Bitte nicht stören\" aktiviert ist, ist weder ein akustisches Signal zu hören noch eine Vibration zu spüren. Mit den Einstellungen oben kannst du festlegen, welche Ausnahmen gelten sollten."</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"Alle stummschalten außer"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"Stummgeschaltet"</string>
@@ -3382,16 +3440,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"Adaptive Benachrichtigungen"</string>
     <string name="asst_capability_prioritizer_title" msgid="1181272430009156556">"Adaptive Priorität der Benachrichtigungen"</string>
     <string name="asst_capability_prioritizer_summary" msgid="954988212366568737">"Benachrichtigungen mit niedriger Priorität automatisch auf \"Stumm\" schalten"</string>
+    <string name="asst_capability_ranking_title" msgid="312998580233257581">"Adaptive Sortierung der Benachrichtigungen"</string>
+    <string name="asst_capability_ranking_summary" msgid="2293524677144599450">"Benachrichtigungen automatisch nach Relevanz sortieren"</string>
     <string name="asst_capabilities_actions_replies_title" msgid="4392470465646394289">"Maßnahmen- und Antwortvorschläge"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"Es werden automatisch Vorschläge für Maßnahmen und Antworten angezeigt"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"Benachrichtigungsverlauf aktivieren, um vergangene und zurückgestellte Benachrichtigungen im Blick zu behalten"</string>
+    <string name="notification_history" msgid="8663811361243456201">"Benachrichtigungsverlauf"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"Verlauf aktivieren"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"Verlauf deaktivieren"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"Benachrichtigungsverlauf ist deaktiviert"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"Benachrichtigungseinstellungen anzeigen"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Schlummerfunktion für Benachrichtigungen zulassen"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"Bei stummen Benachrichtigungen keine Symbole anzeigen"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"Bei stummen Benachrichtigungen werden in der Statusleiste keine Symbole angezeigt"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"Benachrichtigungspunkte zulassen"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"Leiste mit den neuesten Unterhaltungen anzeigen"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Bubbles"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"Einige Benachrichtigungen können auf dem Bildschirm als Bubbles angezeigt werden"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"Bestimmte Benachrichtigungen und Inhalte können als \"Bubbles\" angezeigt werden. Tippe auf die Bubble, um sie zu öffnen. Wenn du sie wieder schließen möchtest, ziehe sie an den unteren Bildschirmrand."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Bubbles"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"Neue Nachrichten erscheinen auf dem Bildschirm"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"<xliff:g id="APP_NAME">%1$s</xliff:g> erlauben, einige Benachrichtigungen als Bubbles anzuzeigen"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"Bubbles aktivieren"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"Damit du Bubbles für diese App aktivieren kannst, musst du die Funktion zuerst auf deinem Gerät aktivieren. Das wirkt sich auch auf andere Apps aus, in denen du Bubbles bereits aktiviert hast."</string>
@@ -3409,6 +3477,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"Benachrichtigungen erscheinen in Benachrichtigungsleiste und auf Sperrbildschirm"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"Benachrichtigungen erscheinen in Benachrichtigungs- und Statusleiste"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"Benachrichtigungen erscheinen in Benachrichtigungs-/Statusleiste und auf Sperrbildschirm"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"Lautlose Benachrichtigungen in der Statusleiste ausblenden"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"Benachrichtigungslicht blinkt"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"Sperrbildschirm"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"Sperrbildschirm überspringen"</string>
@@ -3439,6 +3508,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"Verhalten"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"Akustisches Signal erlauben"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"Nie Benachrichtigungen anzeigen"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"Unterhaltungen"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"Unterhaltung"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"Keine Unterhaltung"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"Aus dem Bereich für Unterhaltungen entfernen"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"Dies ist eine Unterhaltung"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"Dem Bereich für Unterhaltungen hinzufügen"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"Unterhaltungen verwalten"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"Wichtige Unterhaltungen"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"Alle Unterhaltungen"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"Wichtige Unterhaltungen als Bubble anzeigen"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"Wichtige Unterhaltungen werden oben in der Benachrichtigungsleiste angezeigt. Du kannst auch einstellen, dass sie als Bubbles angezeigt werden oder den \"Bitte nicht stören\"-Modus unterbrechen können."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"Lautlos anzeigen und minimieren"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"Ohne Ton anzeigen"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"Akustisches Signal"</string>
@@ -3457,7 +3537,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"Benachrichtigungen werden ohne Ton oder Vibration angekündigt, um deine Konzentration nicht zu stören"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"Benachrichtigungen werden mit einem Ton oder einer Vibration angekündigt, um dich auf sie aufmerksam zu machen"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"Bei entsperrtem Gerät Benachrichtigungen als Banner oben auf dem Bildschirm anzeigen"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"Benachrichtigungen anzeigen"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"Alle \"<xliff:g id="APP_NAME">%1$s</xliff:g>\"-Benachrichtigungen"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"Adaptive Benachrichtigungen"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="other">Ungefähr <xliff:g id="NUMBER_1">%d</xliff:g> Benachrichtigungen pro Tag</item>
@@ -3478,6 +3558,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"Adaptive Benachrichtigungen"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"Kein Dienst"</string>
     <string name="no_notification_listeners" msgid="2839354157349636000">"Keine installierte App hat Benachrichtigungszugriff angefordert."</string>
+    <string name="notification_access_detail_switch" msgid="46386786409608330">"Benachrichtigungszugriff erlauben"</string>
     <string name="notification_assistant_security_warning_title" msgid="2972346436050925276">"<xliff:g id="SERVICE">%1$s</xliff:g> Zugriff auf Benachrichtigungen erlauben?"</string>
     <string name="notification_assistant_security_warning_summary" msgid="3119843404577399036">"Bei Aktivierung kann der <xliff:g id="NOTIFICATION_ASSISTANT_NAME">%1$s</xliff:g> alle Benachrichtigungen lesen, also auch persönliche Informationen wie Kontaktnamen und eingehende Nachrichten, sowie Benachrichtigungen ändern oder schließen oder in ihnen enthaltene Aktionen auslösen. \n\nZusätzlich wird die App in die Lage versetzt, die \"Bitte nicht stören\"-Funktion zu aktivieren bzw. zu deaktivieren und zugehörige Einstellungen zu ändern."</string>
     <string name="notification_listener_security_warning_title" msgid="5791700876622858363">"Benachrichtigungszugriff für <xliff:g id="SERVICE">%1$s</xliff:g> zulassen?"</string>
@@ -3539,8 +3620,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"Fertig"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"Wichtigkeit"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"Benachrichtigungslicht blinkt"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"Vibrieren"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"Vibration"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"Ton"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"Wichtig"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"Zum Startbildschirm hinzufügen"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"Löschen"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"Umbenennen"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"Name des Zeitplans"</string>
@@ -3594,6 +3677,10 @@
       <item quantity="other"><xliff:g id="NUM_PEOPLE">%d</xliff:g> weitere Personen</item>
       <item quantity="one">1 weitere Person</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Unterhaltungen"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"Von allen Unterhaltungen"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"Von wichtigen Unterhaltungen"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"Keine Unterhaltungen zulassen"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"Nachrichten zulassen"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"Damit sichergestellt ist, dass bei einer zugelassenen Nachricht auch wirklich ein akustisches Signal ertönt, solltest du kontrollieren, dass der Klingeltonmodus aktiviert ist. Beim Vibrationsmodus oder beim Lautlosmodus ertönt kein solches Signal."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"Eingehende Nachrichten für \"<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>\" werden blockiert. Du kannst die Einstellungen anpassen, sodass dich Freunde, Familie oder andere Kontakte erreichen können."</string>
@@ -3607,15 +3694,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"Keine"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"Keine Anrufe zulassen"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"Keine Nachrichten zulassen"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"Weckrufe zulassen"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"Weckrufe"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"Von Timern, Alarmen, Sicherheitssystemen und sonstigen Apps"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"Wecker"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"Medientöne abspielen"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"Medientöne"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"Von Videos, Spielen und sonstigen Medien"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"Medien"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"Töne bei Berührung zulassen"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"Töne bei Berührung"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"Von meiner Tastatur und sonstigen Schaltflächen"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"Töne bei Berührung"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"Erinnerungen zulassen"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"Erinnerungen"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"Von Aufgaben und Erinnerungen"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"Erinnerungen"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"Termine zulassen"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"Termine"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"Von anstehenden Terminen"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Überschreiben durch Apps zulassen"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"App-Ausnahmen"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3658,6 +3750,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"Bei Benachrichtigungen, die durch \"Bitte nicht stören\" stummgeschaltet wurden, Bildschirm aktivieren"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"Benachrichtigungseinstellungen"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"Ok"</string>
+    <string name="suggestion_button_close" msgid="6865170855573283759">"Schließen"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Feedback zu diesem Gerät senden"</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"Administrator-PIN eingeben"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"An"</string>
@@ -3668,6 +3761,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Vor Beenden nach PIN fragen"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Vor dem Beenden nach Passwort fragen"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Gerät beim Beenden sperren"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Löschen der SIM bestätigen"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"Bestätige deine Identität, um eine heruntergeladene SIM zu löschen"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"Dieses Arbeitsprofil wird verwaltet von:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"Verwaltet von <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(Experimentell)"</string>
@@ -3742,8 +3837,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"Alle Apps"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Installierte Apps"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Instant-Apps"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"Nutzer"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"Geschäftlich"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"Apps: alle"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"Deaktiviert"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"Kategorien: sehr hohe Wichtigkeit"</string>
@@ -3755,6 +3848,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"Unbekannte App"</string>
     <string name="app_permissions" msgid="8666537659217653626">"Berechtigungsmanager"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"Apps, die <xliff:g id="APPS">%1$s</xliff:g> verwenden"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"Apps, die <xliff:g id="APPS">%1$s</xliff:g> verwenden, und mehr"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"Zum Aktivieren tippen"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"Tippe doppelt auf den Bildschirm, um das Gerät zu aktivieren."</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"Links öffnen"</string>
@@ -3766,9 +3860,14 @@
       <item quantity="other"> Apps öffnen unterstützte Links</item>
       <item quantity="one">1 App öffnet unterstützte Links</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"In dieser App öffnen"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"App darf unterstützte Links öffnen"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"Jedes Mal fragen"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"In dieser App nicht öffnen"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"App darf keine Links öffnen"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="other">App gibt an, <xliff:g id="COUNT_1">%d</xliff:g> Links zu verarbeiten</item>
+      <item quantity="one">App gibt an, <xliff:g id="COUNT_0">%d</xliff:g> Link zu verarbeiten</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"App gibt an, die folgenden Links zu verarbeiten:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"Standardeinstellung"</string>
     <string name="default_for_work" msgid="537558180548617528">"Standardeinstellung für Arbeit"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"Assistent &amp; Spracheingabe"</string>
@@ -3912,8 +4011,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"Über anderen Apps einblenden"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Einblendung über anderen Apps zulassen"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"Erlaube, dass diese App über anderen Apps eingeblendet wird. Dies beeinträchtigt möglicherweise deine Nutzung dieser Apps oder ändert deren Darstellung oder Verhalten."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"Zugriff auf alle Dateien"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"Zugriff zum Verwalten aller Dateien zulassen"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Du kannst dieser App erlauben, alle Dateien auf diesem Gerät bzw. allen verknüpften Speicherlaufwerken zu lesen, zu ändern und zu löschen. Sie kann dann ohne deine explizite Zustimmung auf Dateien zugreifen."</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"Auf alle Dateien zugreifen"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"vr virtuelle realität listener stereo hilfe dienst"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"systemwarnung fenster dialogfeld einblenden über anderen apps"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"Über anderen Apps einblenden"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"<xliff:g id="COUNT_0">%1$d</xliff:g> von <xliff:g id="COUNT_1">%2$d</xliff:g> Apps dürfen über anderen eingeblendet werden"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"Apps mit Berechtigung"</string>
@@ -4079,6 +4181,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"<xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g> verbraucht"</string>
     <string name="data_overusage" msgid="3680477320458707259">"<xliff:g id="ID_1">^1</xliff:g> über dem Limit"</string>
     <string name="data_remaining" msgid="6316251496381922837">"<xliff:g id="ID_1">^1</xliff:g> verbleibend"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"Grafik zeigt Datennutzung zwischen dem <xliff:g id="START_DATE">%1$s</xliff:g> und dem <xliff:g id="END_DATE">%2$s</xliff:g>."</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"Keine Daten für diesen Zeitraum vorhanden"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="other">Noch %d Tage</item>
       <item quantity="one">Noch %d Tag</item>
@@ -4142,14 +4246,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"Größe des Pakets"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"Benachrichtigungsalarm"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"Ton"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"Vibration"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"Muster"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"Standard"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"Kanal"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"Keine"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"Das Rangobjekt fehlt."</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"Dieser Schlüssel ist in dem Rangobjekt nicht enthalten."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"Designs"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"Gemäß Standard fürs Gerät"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"Display-Aussparung"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"display aussparung, notch"</string>
@@ -4238,8 +4338,12 @@
     <string name="information_label" msgid="6939310810756569298">"Information"</string>
     <string name="low_label" msgid="6525629096999711220">"Niedrig"</string>
     <string name="high_label" msgid="357503396626018487">"Hoch"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"Wenn du die Empfindlichkeit erhöhst, werden eventuell Gesten am Bildschirmrand beeinträchtigt."</string>
+    <string name="left_edge" msgid="1513576842959071849">"Linker Rand"</string>
+    <string name="right_edge" msgid="1505309103265829121">"Rechter Rand"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"Wenn du die Empfindlichkeit erhöhst, werden eventuell Touch-Gesten am Bildschirmrand beeinträchtigt."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"Empfindlichkeit bei Touch-Geste \"Zurück\""</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"Einstellungen für Touch-Gesten"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"bedienung über gesten, gestensteuerung, gestenbedienung, empfindlichkeit bei touch-geste zurück, empfindlichkeit geste zurück, empfindlichkeit zurückgeste, touch-geste zurück, geste zurück, zurückgeste"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"Für Blick aufs Display doppeltippen"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"Doppeltippen für schnellen Blick auf das Display des Tablets"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"Doppeltippen für schnellen Blick auf das Display des Geräts"</string>
@@ -4394,7 +4498,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"Nutzerverwaltung durch den Anbieter auslösen"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"\"Bitte nicht stören\" aktualisieren"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"Zur besseren Konzentration Benachrichtigungen pausieren"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"Diese Funktion ist auf diesem Gerät nicht verfügbar"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"Funktion nicht verfügbar"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"Diese Funktion wurde deaktiviert, weil sie dein Smartphone langsamer macht"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"Vollständige GNSS-Messung erzwingen"</string>
@@ -4404,20 +4507,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"ANGLE-App auswählen"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"Keine ANGLE-App festgelegt"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"ANGLE-App: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"Game Driver-Einstellungen"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"Game Driver-Einstellungen ändern"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"Wenn Game Driver aktiviert ist, kannst du für Apps auf diesem Gerät den aktualisierten Grafiktreiber nutzen."</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"Für alle Apps aktivieren"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"Grafiktreiber auswählen"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"Standard"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"Game Driver"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"Prerelase-Treiber"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"Grafiktreiber des Systems"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"Grafiktreiber-Einstellungen"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"Grafiktreiber-Einstellungen ändern"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"Wenn es mehrere Grafiktreiber gibt, kannst du für Apps auf diesem Gerät den aktualisierten Grafiktreiber nutzen."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"Für alle Apps aktivieren"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"Grafiktreiber auswählen"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"Standard"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"Game Driver"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"Entwickler-Treiber"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Grafiktreiber des Systems"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Änderungen der Kompatibilität von Apps"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Änderungen bei der Kompatibilität von Apps festlegen"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Standardmäßig aktivierte Änderungen"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Standardmäßig deaktivierte Änderungen"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"Die Einstellung wird auf diesem Smartphone nicht unterstützt"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"Die Einstellung wird auf diesem Tablet nicht unterstützt"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"Die Einstellung wird auf diesem Gerät nicht unterstützt"</string>
@@ -4436,6 +4545,12 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"Gerät"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Während Anrufen nicht verfügbar"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"Nicht verfügbar"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"Ausgabegeräte hinzufügen"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"Gruppe"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"Ein Gerät ausgewählt"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> Geräte ausgewählt"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"Anruf annehmen auf"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Dieser APN kann nicht geändert werden."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Akkulaufzeit des Tablets verbessern"</string>
@@ -4553,10 +4668,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Es kann immer nur eine heruntergeladene SIM aktiv sein.\n\nDurch Umschalten zu <xliff:g id="CARRIER1">%1$s</xliff:g> wird dein <xliff:g id="CARRIER2">%2$s</xliff:g>-Dienst nicht beendet."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Zu <xliff:g id="CARRIER">%1$s</xliff:g> wechseln"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"SIM löschen"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Diese heruntergeladene SIM löschen?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Wenn du diese SIM löschst, wird der <xliff:g id="CARRIER_0">%1$s</xliff:g>-Dienst von diesem Gerät entfernt.\n\nDer Dienst für <xliff:g id="CARRIER_1">%2$s</xliff:g> wird nicht storniert."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Löschen"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"SIM wird gelöscht…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"SIM kann nicht gelöscht werden"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Diese SIM kann aufgrund eines Fehlers nicht gelöscht werden.\n\nStarte dein Gerät neu und versuche es noch einmal."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Bevorzugter Netztyp"</string>
@@ -4581,7 +4692,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Ungültiger Netzmodus <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Ignorieren."</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Zugangspunkte (APNs)"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Bei Verbindung mit <xliff:g id="CARRIER">%1$s</xliff:g> nicht verfügbar"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"Medizinische Informationen und Notfallkontakte"</string>
     <string name="see_more" msgid="7499355691042812723">"Mehr anzeigen"</string>
     <string name="see_less" msgid="2642392725363552793">"Weniger anzeigen"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"Gerät zur Nutzung mit <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
@@ -4590,11 +4700,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"Ein Fehler ist aufgetreten. Die Anwendung hat die Anfrage zur Auswahl eines Geräts abgebrochen."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"Verbindung hergestellt"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"Alle anzeigen"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> Geräte verbunden</item>
-      <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_0">%1$d</xliff:g> Gerät verbunden</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"Keine Bluetooth-Geräte"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"Gerät wird gesucht…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"Verbindung mit Gerät wird hergestellt…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"Links"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"Rechts"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Etui"</string>
@@ -4604,6 +4711,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"Im Flugmodus nicht verfügbar"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"Desktop-Modus erzwingen"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Experiementellen Desktop-Modus auf sekundären Bildschirmen erzwingen"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"Größenkompatible Freiform-Apps aktivieren"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"Größenkompatible Apps können in Freiform sein"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Erzwingen des dunklen Modus außer Kraft setzen"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"Apps werden nicht gezwungen, den dunklen Modus zu verwenden"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"Datenschutz"</string>
@@ -4640,6 +4749,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Du hast diese App kürzlich installiert."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Ausgabe wechseln"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Die Wiedergabe läuft derzeit auf <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (nicht verbunden)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Wechseln nicht möglich. Tippe, um es nochmals zu versuchen."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Wichtige Informationen"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"WEITER"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"NEIN DANKE"</string>
@@ -4667,8 +4778,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"SIM-Kombination"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Informationen zu den Arbeitsrichtlinien"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Einstellungen, die von deinem IT-Administrator verwaltet werden"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"Fehlerbericht-Handler"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Bestimmt, welche App die Verknüpfung zum Fehlerbericht auf deinem Gerät verarbeitet."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Persönlich"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"Arbeit"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"Systemstandardeinstellung"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"Diese Auswahl ist nicht mehr gültig. Bitte versuch es noch einmal."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"Streamen beenden"</string>
 </resources>
diff --git a/res/values-el/arrays.xml b/res/values-el/arrays.xml
index 6b4a697..d6ce8ee 100644
--- a/res/values-el/arrays.xml
+++ b/res/values-el/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"Άμεσα"</item>
     <item msgid="463591454172790676">"5 δευτερόλεπτα"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"Χωρίς επικύρωση"</item>
+    <item msgid="5703177653586269306">"Αίτημα κατάστασης πιστοποιητικού"</item>
+    <item msgid="326388247868439528">"Απαίτηση κατάστασης πιστοποιητικού"</item>
+    <item msgid="1090956283885790552">"Απαίτηση των καταστάσεων όλων των μη αξιόπιστων πιστοποιητικών"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"Πάτημα κουμπιού"</item>
     <item msgid="2630618799033509548">"PIN από ομότιμη συσκευή"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"Κανένα"</item>
@@ -404,6 +412,9 @@
     <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>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"Κανένα"</item>
diff --git a/res/values-el/config.xml b/res/values-el/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-el/config.xml
+++ b/res/values-el/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index b58ddf8..8b0f98a 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -31,49 +31,17 @@
     <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="radio_info_data_connection_enable" msgid="7500945447906187613">"Ενεργοποίηση σύνδεσης δεδομένων"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"Απενεργοποίηση σύνδεσης δεδομένων"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"Παρέχεται από την VoLTE"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"Παρέχεται δυνατότητα βιντεοκλήσης"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"Παρέχεται δυνατότητα κλήσης μέσω Wi-Fi"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"Παρέχεται EAB/παρουσία"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"Δεδομένα Cbrs"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"Ενεργοποίηση DSDS"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"Επανεκκίνηση συσκευής;"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"Πρέπει να επανεκκινηθεί η συσκευή για να αλλάξετε αυτήν τη ρύθμιση."</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"Επανεκκίνηση"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"Ακύρωση"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"Ισχύς πομπού κινητής τηλεφωνίας"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"Προβολή βιβλίου διευθύνσεων κάρτας SIM"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"Προβολή προκαθορισμένων αριθμών κλήσης"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"Προβολή αριθμών κλήσης υπηρεσίας"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"Κατάσταση υπηρεσίας IMS"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"Κατάσταση IMS"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"Εγγεγραμμένη"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"Μη εγγεγραμμένη"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"Διαθέσιμη"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"Μη διαθέσιμη"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"Εγγραφή IMS: <xliff:g id="STATUS">%1$s</xliff:g>\nΦωνή μέσω LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nΦωνή μέσω δικτύου Wi-Fi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nΒιντεοκλήσεις: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nΔιεπαφή UT: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"Σε υπηρεσία"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Εκτός υπηρεσίας"</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>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"Κατάσταση αδράνειας"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"Ήχος κλήσης"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"Κλήση σε εξέλιξη"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"Αποσυνδέθηκε"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"Σύνδεση"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"Συνδεδεμένο"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Σε αναστολή"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Άγνωστη"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"pkts"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"bytes"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"αρχ."</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"Αποπροσ. αποθ. χώρου USB"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"Αφαίρεση κάρτας SD"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"Διαγρ. αποθ. χώρου USB"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"Κάντε το κείμενο στην οθόνη μικρότερο ή μεγαλύτερο."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Να γίνουν μικρότερα"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Να γίνουν μεγαλύτερα"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"Δείγμα κειμένου"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"Ο Θαυμάσιος Μάγος του Οζ"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"Κεφάλαιο 11: Η Θαυμάσια Πόλη Έμεραλντ του Οζ"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"Πρέπει να επανεκκινηθεί η συσκευή για να αλλάξει η ρύθμιση."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"Επανεκ."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"Ακύρωση"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"Διαθέσιμες συσκευές μέσων"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"Διαθέσιμες συσκευές κλήσης"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"Συνδεδεμένες αυτήν τη στιγμή"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"Συσκευές μέσων"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"Συσκευές κλήσεων"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"Άλλες συσκευές"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Αποθηκευμένες συσκευές"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Το Bluetooth θα ενεργοποιηθεί για σύζευξη"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Προτιμήσεις σύνδεσης"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"Η θύρα που πληκτρολογήσατε δεν είναι έγκυρη."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"Ο διακ/στής μεσ/σης ΗΤΤΡ μπορεί να χρησ/θεί απο το πρ/μα περ/σης, αλλά όχι από άλλες εφαρμογές."</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"URL PAC: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"Τρέχον subId:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"SubId προεπιλεγμένης SIM δεδομένων:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"Εύρος ζώνης DL (kbps):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"Εύρος ζώνης UL (kbps):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"Πληροφορίες τοποθεσίας κινητής τηλεφωνίας (καταργήθηκε):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"Διαμόρφωση φυσικού καναλιού LTE:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"Ρυθμός ανανέωσης στοιχείων κινητής τηλεφωνίας:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"Όλα τα στοιχεία μετρήσεων κινητής τηλεφωνίας:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"Υπηρεσία δεδομένων:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"Περιαγωγή:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"Αριθμός IMEI:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"Ανακατεύθυνση κλήσης:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"Αριθμός επαναφορών PPP από την εκκίνηση:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"Τρέχον δίκτυο:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"Δεδομένα που λήφθηκαν:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"Φωνητική υπηρεσία:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"Ισχύς σήματος:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"Κατάσταση φωνητικής κλήσης:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"Τα δεδομένα στάλθηκαν:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"Αναμονή μηνύματος:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"Αριθμός τηλεφώνου:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"Επιλογή ζώνης συχνοτήτων πομπού"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"Τύπος φωνής δικτύου:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"Τύπος δικτύου δεδομένων:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"Επιλογή ευρετηρίου τηλεφώνου"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"Ορισμός προτιμώμενου τύπου δικτύου:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"Όνομα κεντρικού υπολογιστή Ping (www.google.com) IPv4:"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"Όνομα κεντρικού υπολογιστή Ping (www.google.com) IPv6:"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"Δοκιμή πελάτη HTTP:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"Εκτέλεση δοκιμής ping"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"Ενημέρωση"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"Ανανέωση"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"Εναλλαγή ελέγχου DNS"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"Πληροφορίες/ρυθμίσεις για OEM"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"Ρύθμιση λειτουργίας ζώνης συχνοτήτων πομπού"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"Φόρτωση λίστας ζωνών…"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"Ορισμός"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"Ανεπιτυχής"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"Επιτυχής"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"Οι αλλαγές εφαρμόζονται όταν επανασυνδέεται το καλώδιο USB."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"Ενεργοποίηση χώρου μαζικής αποθήκευσης USB"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"Συνολικός αριθμός byte:"</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"Μετακίνηση κάτω"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"Κατάργηση γλώσσας"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"Επιλογή δραστηριότητας"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"Πληροφορίες συσκευής"</string>
     <string name="display_label" msgid="3056320781191343221">"Οθόνη"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"Πληροφορίες tablet"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"Πληροφορίες τηλεφώνου"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"Αποθ. χώρος USB"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"Κάρτα SD"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"Ρυθμίσεις διακομιστή μεσολάβησης"</string>
@@ -306,9 +234,6 @@
     <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="cellular_data_title" msgid="8072108204621057526">"Δεδομένα κινητής τηλεφωνίας"</string>
-    <string name="calls_title" msgid="6334813967619899114">"Να επιτρέπονται οι κλήσεις"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"Μηνύματα SMS"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"Επιτρ. χρήση δεδομ. σε δίκτυο κιν. τηλ."</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"Επιτρ. η χρήση δεδ. σε περιαγ."</string>
     <string name="roaming" msgid="3055365654530847985">"Περιαγωγή"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"Σύνδεση στις υπηρεσίες δεδομένων κατά την περιαγωγή"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"Χάσατε τη σύνδεση δεδομένων επειδή φύγατε από το οικείο δίκτυο έχοντας την περιαγωγή δεδομένων απενεργοποιημένη."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"Ενεργοποίηση"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"Ενδέχεται να επιβαρυνθείτε με σημαντικές χρεώσεις."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"Όταν επιτρέπετε την περιαγωγή δεδομένων, ενδέχεται να ισχύσουν σημαντικές χρεώσεις περιαγωγής!\n\nΑυτή η ρύθμιση επηρεάζει όλους τους χρήστες στο συγκεκριμένο tablet."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"Όταν επιτρέπετε την περιαγωγή δεδομένων, ενδέχεται να ισχύσουν σημαντικές χρεώσεις περιαγωγής!\n\nΑυτή η ρύθμιση επηρεάζει όλους τους χρήστες στο συγκεκριμένο τηλέφωνο."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"Ενδέχεται να ισχύουν χρεώσεις περιαγωγής."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"Όταν επιτρέπετε την περιαγωγή δεδομένων, ενδέχεται να ισχύουν χρεώσεις περιαγωγής.\n\nΑυτή η ρύθμιση επηρεάζει όλους τους χρήστες αυτού του tablet."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"Όταν επιτρέπετε την περιαγωγή δεδομένων, ενδέχεται να ισχύουν χρεώσεις περιαγωγής.\n\nΑυτή η ρύθμιση επηρεάζει όλους τους χρήστες αυτού του τηλεφώνου."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"Να επιτρέπεται η περιαγωγή δεδομένων;"</string>
     <string name="networks" msgid="5184501333492775095">"Επιλογή παρόχου"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"Επιλέξτε μια εταιρεία δικτύου"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"Απενεργοποιήθηκε από τον διαχειριστή"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"Εμφάνιση επιλογής κλειδώματος"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"Προβάλετε την επιλογή του κουμπιού λειτουργίας που απενεργοποιεί το Smart Lock, το ξεκλείδωμα με βιομετρικά χαρακτηριστικά και τις ειδοποιήσεις στην οθόνη κλειδώματος."</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"Οι παράγ. εμπιστοσ. μόνο επεκτ. το ξεκλ."</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"Αν ενεργοποιήσετε την επιλογή, οι παράγοντες εμπιστοσύνης θα διατηρούν τη συσκευή ξεκλείδωτη για μεγαλύτερο χρονικό διάστημα, αλλά δεν θα μπορούν να ξεκλειδώνουν πλέον μια κλειδωμένη συσκευή."</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"Κλείδωμα οθόνης όταν χαθεί η εμπιστοσύνη"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"Εάν ενεργοποιηθεί, η συσκευή θα κλειδωθεί όταν χαθεί η εμπιστοσύνη για τον τελευταίο παράγοντα εμπιστοσύνης"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"Κανένα"</string>
@@ -390,7 +313,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"Ορισμός του \"Η τοποθεσία μου\", ξεκλειδώματος οθόνης, κλειδώματος κάρτας SIM, κλειδώματος αποθηκευτικού χώρου διαπιστευτηρίων"</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"Ορισμός του \"Η τοποθεσία μου\", του ξεκλειδώματος οθόνης και του κλειδώματος αποθηκευτικού χώρου διαπιστευτηρίων"</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"Απόρρητο"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"Απενεργοποιήθηκε από τον διαχειριστή"</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">"Κλείδωμα οθόνης, Face Unlock"</string>
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Κλείδωμα οθόνης, δακτυλικό αποτύπωμα"</string>
@@ -693,7 +616,6 @@
       <item quantity="other">Πρέπει να αποτελείται από λιγότερα από <xliff:g id="NUMBER_1">%d</xliff:g> ψηφία</item>
       <item quantity="one">Πρέπει να αποτελείται από λιγότερα από <xliff:g id="NUMBER_0">%d</xliff:g> ψηφίο</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"Πρέπει να περιέχει μόνο ψηφία από το 0 έως το 9"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"Ο διαχειριστής της συσκευής δεν επιτρέπει τη χρήση πρόσφατου PIN"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"Τα συνηθισμένα PIN αποκλείονται από τον διαχειριστή IT. Δοκιμάστε να χρησιμοποιήσετε διαφορετικό PIN."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"Δεν μπορεί να περιλαμβάνει μη έγκυρο χαρακτήρα"</string>
@@ -724,6 +646,10 @@
       <item quantity="other">Πρέπει να περιέχει τουλάχιστον <xliff:g id="COUNT">%d</xliff:g> χαρακτήρες που δεν είναι γράμματα</item>
       <item quantity="one">Πρέπει να περιέχει τουλάχιστον 1 χαρακτήρα που δεν είναι γράμμα</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="other">Πρέπει να περιέχει τουλάχιστον <xliff:g id="COUNT">%d</xliff:g> μη αριθμητικούς χαρακτήρες</item>
+      <item quantity="one">Πρέπει να περιέχει τουλάχιστον 1 μη αριθμητικό χαρακτήρα</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"Ο διαχειριστής της συσκευής δεν επιτρέπει τη χρήση πρόσφατου κωδικού πρόσβασης"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"Οι συνηθισμένοι κωδικοί πρόσβασης αποκλείονται από τον διαχειριστή IT. Δοκιμάστε να χρησιμοποιήσετε διαφορετικό κωδικό πρόσβασης."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"Δεν επιτρέπεται η αύξουσα, φθίνουσα ή επαναλαμβανόμενη ακολουθία ψηφίων"</string>
@@ -837,19 +763,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2,4 GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"Σύνδεση"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"Άνοιγμα ιστοτόπου"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"<xliff:g id="REMAINING_TIME">%1$s</xliff:g> ακόμη"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"Λήγει στις <xliff:g id="EXPIRY_TIME">%1$s</xliff:g>"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"Πατήστε εδώ για να συνδεθείτε σε δίκτυο"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"Η εφαρμογή <xliff:g id="REQUESTER">%s</xliff:g> θέλει να ενεργοποιήσει το Wi-Fi"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"Η εφαρμογή <xliff:g id="REQUESTER">%s</xliff:g> θέλει να απενεργοποιήσει το Wi-Fi"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"Επαλ. κώδ. byte εφαρμ. με δυν. εντ. σφ."</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Επιτρέψτε στο ART να επαληθεύσει τον κώδικα byte για εφαρμογές με δυνατότητα εντοπισμού σφαλμάτων"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"Εμφάνιση ρυθμού ανανέωσης"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Εμφάνιση του τρέχοντα ρυθμού ανανέωσης"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"Να επιτρέπεται η ανταλλαγή δεδομένων όταν το tablet έρχεται σε επαφή με μια άλλη συσκευή"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"Να επιτρέπεται η ανταλλαγή δεδομένων όταν το τηλέφωνο αγγίζει μια άλλη συσκευή"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"Να επιτρέπεται η ανταλλαγή δεδομένων όταν το tablet έρχεται σε επαφή με μια συσκευή NFC."</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"Να επιτρέπεται η ανταλλαγή δεδομένων όταν το τηλέφωνο έρχεται σε επαφή με μια συσκευή NFC."</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"Ενεργοποίηση NFC"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"Το NFC ανταλλάσσει δεδομένα μεταξύ αυτής της συσκευής και άλλων κοντινών συσκευών ή στόχων, όπως τερματικών πληρωμής, συστημάτων ελέγχου πρόσβασης και διαδραστικών διαφημίσεων ή ετικετών."</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"Ασφαλές NFC"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Να απαιτείται ξεκλείδωμα της συσκευής για το NFC"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"Να επιτρέπονται οι πληρωμές και η χρήση καρτών συγκοινωνιών μέσω NFC όταν η οθόνη είναι ξεκλείδωτη"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"Έτοιμο για μετάδοση περιεχομένου εφαρμογής μέσω ΕΚΠ"</string>
@@ -923,8 +855,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Ενεργοποίηση"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Ενεργοποιήθηκε η σάρωση Wi‑Fi"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Σύνθετες επιλογές"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"Αναπτυσσόμενη λίστα \"Σύνθετες επιλογές\". Πατήστε δύο φορές για σύμπτυξη."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"Αναπτυσσόμενη λίστα \"Σύνθετες επιλογές\". Πατήστε δύο φορές για ανάπτυξη."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Σύνθετες επιλογές αναπτυσσόμενης λίστας"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"ανάπτυξη"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"Όνομα δικτύου"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"Πληκτρολογήστε το SSID"</string>
     <string name="wifi_security" msgid="9095934643631406913">"Ασφάλεια"</string>
@@ -934,6 +866,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"Κατάσταση"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"Ταχύτητα μετάδοσης συνδέσμου"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"Ταχύτητα λήψης συνδέσμου"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"Ταχύτητα σύνδεσης"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"Συχνότητα"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"Διεύθυνση IP"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"Αποθηκεύτηκε μέσω"</string>
@@ -941,6 +874,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"Μέθοδος EAP"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"2η φάση ελέγχου ταυτότητας"</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>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"Πιστοποιητικό χρήστη"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"Ταυτότητα"</string>
@@ -957,6 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"Επιλέξτε τουλάχιστον μία ζώνη συχνοτήτων για το σημείο πρόσβασης Wi‑Fi:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"Ρυθμίσεις IP"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"Απόρρητο"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"Συνδρομή"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"Προβολή ή αλλαγή συνδρομής"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"Τυχαίο MAC"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"Προσθήκη συσκευής"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"Κεντράρετε τον κωδικό QR παρακάτω για να συνδέσετε τη συσκευή στο \"<xliff:g id="SSID">%1$s</xliff:g>\""</string>
@@ -966,12 +902,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"Μοιραστείτε το Wi‑Fi"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"Σαρώστε αυτόν τον κωδικό QR για σύνδεση στο δίκτυο \"<xliff:g id="SSID">%1$s</xliff:g>\" και κοινοποιήστε τον κωδικό πρόσβασης"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"Σάρωση αυτού του κωδικού QR για σύνδεση στο δίκτυο \"<xliff:g id="SSID">%1$s</xliff:g>\""</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"Δεν ήταν δυνατή η ανάγνωση του κωδικού QR. Κεντράρετε ξανά τον κωδικό και δοκιμάστε ξανά"</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"Δοκιμάστε ξανά. Εάν το πρόβλημα παραμένει, επικοινωνήστε με τον κατασκευαστή της συσκευής"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"Παρουσιάστηκε κάποιο πρόβλημα"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"Βεβαιωθείτε ότι η συσκευή έχει συνδεθεί, έχει φορτιστεί και ενεργοποιηθεί"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"Βεβαιωθείτε ότι η συσκευή έχει συνδεθεί, έχει φορτιστεί και ενεργοποιηθεί. Εάν το πρόβλημα παραμένει, επικοινωνήστε με τον κατασκευαστή της συσκευής"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"Η προσθήκη του \"<xliff:g id="SSID">%1$s</xliff:g>\" δεν υποστηρίζεται από αυτήν τη συσκευή"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"Δοκιμάστε να μεταφέρετε τη συσκευή πιο κοντά στο σημείο πρόσβασης/δρομολογητή Wi‑Fi."</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"Ελέγξτε τον κωδικό πρόσβασης και δοκιμάστε ξανά."</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"Επικοινωνήστε με τον κατασκευαστή της συσκευής."</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"Ελέγξτε τη σύνδεση και δοκιμάστε ξανά"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"Επιλογή δικτύου"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"Για να συνδέσετε τη συσκευή σας, επιλέξτε ένα δίκτυο"</string>
@@ -984,11 +922,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"Κοινή χρήση Wi‑Fi με αυτήν τη συσκευή…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"Σύνδεση…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"Κοινή χρήση σημείου πρόσβασης Wi-Fi"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"Επαλήθευση ταυτότητας"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"Επαληθεύστε την ταυτότητά σας"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"Κωδικός πρόσβασης Wi-Fi: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"Κωδικός πρόσβασης σημείου πρόσβασης Wi-Fi: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"Αυτόματη σύνδεση"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"Επιτρέψτε στο τηλέφωνο να συνδέεται αυτόματα όταν βρίσκεται κοντά σε αυτό το δίκτυο."</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"Επιτρέψτε στο tablet να συνδέεται αυτόματα όταν βρίσκεται κοντά σε αυτό το δίκτυο."</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"Προσθήκη συσκευής"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"Χρησιμοποιήστε έναν κωδικό QR για να προσθέσετε μια συσκευή σε αυτό το δίκτυο"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"Ο κωδικός QR δεν έχει έγκυρη μορφή"</string>
     <string name="retry" msgid="7542103800274026915">"Επανάληψη"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"Κοινή χρήση με άλλους χρήστες της συσκευής"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(δεν έγινε αλλαγή)"</string>
@@ -1000,6 +942,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"Δεν έχει καθοριστεί πιστοποιητικό. Η σύνδεσή σας δεν θα είναι ιδιωτική."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"Το όνομα δικτύου είναι υπερβολικά μεγάλο."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"Πρέπει να καθορίσετε έναν τομέα."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"Απαιτείται πιστοποιητικό."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"Διαθέσιμο WPS"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (Διαθέσιμο WPS)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"Δίκτυο Wi‑Fi εταιρείας κιν. τηλεφωνίας"</string>
@@ -1051,7 +994,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"Σύνθετο Wi-Fi"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"Διεύθυνση MAC"</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_ip_address_title" msgid="4265355419782184514">"Διεύθυνση IP"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"Λεπτομέρειες δικτύου"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Μάσκα υποδικτύου"</string>
@@ -1103,7 +1047,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"Χρησιμοποιήστε σημείο πρόσβασης Wi-Fi, για να δημιουργήσετε ένα δίκτυο Wi-Fi για τις άλλες συσκευές σας. Το σημείο πρόσβασης Wi-Fi παρέχει πρόσβαση στο διαδίκτυο χρησιμοποιώντας τη σύνδεση δεδομένων κινητής τηλεφωνίας σας. Μπορεί να ισχύουν επιπρόσθετες χρεώσεις δεδομένων κινητής τηλεφωνίας."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"Οι εφαρμογές μπορούν να δημιουργούν ένα σημείο πρόσβασης Wi-Fi, για να μοιράζονται περιεχόμενο με κοντινές συσκευές."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Αυτόματη απενεργοποίηση σημείου πρόσβασης Wi-Fi"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"Το σημείο πρόσβασης Wi‑Fi θα απενεργοποιηθεί εάν δεν υπάρχουν συνδεδεμένες συσκευές"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Όταν δεν υπάρχουν συνδεδεμένες συσκευές"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"Ενεργοποίηση σημείου πρόσβασης…"</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"Απενεργοποίηση σημείου πρόσβασης…"</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"Το <xliff:g id="NETWORK_SSID">%1$s</xliff:g> είναι ενεργό"</string>
@@ -1112,6 +1056,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"Ρύθμ. σημείου πρόσβασης Wi-Fi"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"Σημείο πρόσβασης Wi-Fi AndroidAP WPA2 PSK"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"AndroidHotspot"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"Αποθήκευση αυτού του δικτύου;"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"Η εφαρμογή <xliff:g id="APPNAME">%1$s</xliff:g> θέλει να αποθηκεύσει ένα δίκτυο στο τηλέφωνό σας."</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"Η εφαρμογή <xliff:g id="APPNAME">%1$s</xliff:g> θέλει να αποθηκεύσει ένα δίκτυο στο tablet σας"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"Αποθήκευση…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"Αποθηκευμένα"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"Δεν είναι δυνατή η αποθήκευση. Δοκιμάστε ξανά."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"Αποθήκευση δικτύων;"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"Η εφαρμογή <xliff:g id="APPNAME">%1$s</xliff:g> θέλει να αποθηκεύσει αυτά τα δίκτυα στο τηλέφωνό σας."</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"Η εφαρμογή <xliff:g id="APPNAME">%1$s</xliff:g> θέλει να αποθηκεύσει αυτά τα δίκτυα στο tablet σας"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"Αποθήκευση <xliff:g id="NUMBER">%d</xliff:g> δικτύων…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"Τα δίκτυα αποθηκεύτηκαν"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"Κλήση Wi-Fi"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"Επέκταση κλήσεων με Wi‑Fi"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"Ενεργοποίηση Κλήσης Wi‑Fi για επέκταση της κάλυψης"</string>
@@ -1138,16 +1093,18 @@
     <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"><annotation id="url">"Περισσότερα"</annotation>" σχετικά με τις λειτουργίες Ιδιωτικού DNS"</string>
+    <string name="private_dns_mode_on" msgid="8878679071975375696">"Ενεργό"</string>
     <string name="wifi_calling_pref_managed_by_carrier" msgid="129524064888622179">"Η διαχείριση της ρύθμισης πραγματοποιείται από την εταιρεία κινητής τηλεφωνίας"</string>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"Ενεργοποίηση Κλήσης Wi-Fi"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"Ενεργοποίηση Κλήσης Wi-Fi"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"Η Κλήση Wi‑Fi δεν υποστηρίζεται για την εταιρεία κινητής τηλεφωνίας %1$s"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"Αποσυνδέθηκε από <xliff:g id="SSID">%1$s</xliff:g>"</string>
     <string name="carrier" msgid="1755020806290963951">"Εταιρεία κινητής τηλεφωνίας"</string>
     <string name="display_settings_title" msgid="626835071804834218">"Προβολή"</string>
     <string name="sound_settings" msgid="5514582720435174014">"Ήχος"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"Ρυθμίσεις έντασης"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"Μουσικά εφέ"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"Ένταση ήχου κλήσης"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"Ένταση ήχου κουδουνίσματος και ειδοποιήσεων"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"Δόνηση στο αθόρυβο"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"Προεπιλεγμένος ήχος ειδοποίησης"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"Ήχος κλήσης"</string>
@@ -1272,13 +1229,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"Χρονοδιάγραμμα"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"Δεν υπάρχει"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"Ενεργό από τη δύση ως το πρωι"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"Ενεργοποίηση σε προσαρμ. ώρα"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"Κατάσταση"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"Ανενεργός / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"Δεν θα ενεργοποιείται ποτέ αυτόματα"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"Θα ενεργοποιείται αυτόματα με τη δύση του ηλίου"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"Θα ενεργοποιείται αυτόματα στις <xliff:g id="ID_1">%1$s</xliff:g>."</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"Ενεργή / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"Δεν θα απενεργοποιείται ποτέ αυτόματα"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"Θα απενεργοποιείται αυτόματα κατά την ανατολή του ηλίου"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"Θα απενεργοποιείται αυτόματα στις <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"Ενεργοποίηση έως τις <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"Απενεργοποίηση έως τις <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"Το Σκούρο θέμα χρησιμοποιεί μαύρο φόντο, για να συμβάλλει στην αύξηση της διάρκειας της μπαταρίας σε ορισμένες οθόνες. Τα χρονοδιαγράμματα για το Σκούρο θέμα περιμένουν να σβήσει η οθόνη, για να ενεργοποιηθούν."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"Λήξη χρονικού ορίου οθόνης"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"Η οθόνη απενεργοποιείται"</string>
@@ -1290,7 +1252,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"Αλλαγή ταπετσαρίας"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"Εξατομίκευση της οθόνης σας"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"Επιλογή ταπετσαρίας από"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"Προσαρμόστε το Pixel"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"Προσαρμογή του τηλεφώνου σας"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"Δοκιμάστε διαφορετικά στιλ, ταπετσαρίες και άλλα"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"Προφύλαξη οθόνης"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"κατά τη φόρτιση ή την τοποθέτηση στη βάση σύνδεσης"</string>
@@ -1379,6 +1341,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"Αποπροσάρτηση αποθηκευτικού χώρου USB, προβολή διαθέσιμου αποθηκευτικού χώρου"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"Αφαίρεση κάρτας SD, προβολή διαθέσιμου αποθηκευτικού χώρου"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"Αριθμός IMEI (υποδοχή κάρτας %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"Για προβολή, επιλέξτε το αποθηκευμένο δίκτυο"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"Αριθμός τηλεφώνου"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (υποδοχή sim %1$d)"</string>
@@ -1405,6 +1368,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"Περιαγωγή"</string>
     <string name="status_operator" msgid="4335640583552058491">"Δίκτυο"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"Διεύθυνση MAC Wi-Fi"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"Διεύθυνση MAC Wi‑Fi συσκευής"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"Διεύθυνση Bluetooth"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Σειριακός αριθμός"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Χρόνος από την τελευταία εκκίνηση"</string>
@@ -1617,6 +1581,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Η επαναφορά των προεπιλογών APN ολοκληρώθηκε."</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"Επαναφορά επιλογών"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"Μπορεί να γίνει επαναφορά δικτύου, εφαρμογών ή συσκευής"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"Μπορεί να γίνει επαναφορά των εφαρμογών"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"Επαναφ. Wi-Fi/mobile/Bluetooth"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"Με αυτόν τον τρόπο θα γίνει επαναφορά όλων των ρυθμίσεων δικτύου, μεταξύ των οποίων για:\n\n"<li>"Wi‑Fi"</li>\n<li>"Δεδομένα κινητής τηλεφωνίας"</li>\n<li>"Bluetooth"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"Διαγραφή ληφθεισών SIM"</string>
@@ -1666,6 +1631,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"Το σημείο πρόσβασης είναι ενεργό"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"Σύνδεση"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"Δεν είναι δυνατή η σύνδεση σε φορητό σημείο πρόσβασης Wi-Fi, ενώ είναι ενεργοποιημένη η Εξοικονόμηση δεδομένων"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"Μόνο σημείο πρόσβασης Wi-Fi"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"Μόνο USB"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"Μόνο Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"Σημείο πρόσβασης Wi-Fi, USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"Σημείο πρόσβασης Wi-Fi, Bluetooth"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB, Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"Σημείο πρόσβασης Wi-Fi, USB, Bluetooth"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"Δεν γίνεται κοινή χρήση του διαδικτύου με άλλες συσκευές"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"Σύνδεση"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Να μην χρησιμοποιηθεί σημείο πρόσβασης Wi‑Fi"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Κοινή χρήση διαδικτύου μόνο μέσω USB"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Κοινοποίηση μόνο μέσω Bluetooth"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Κοινή χρήση διαδικτύου μόνο μέσω USB και Bluetooth"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"Πρόσδεση USB"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"Μοιραστείτε τη σύνδεση του τηλεφώνου στο διαδίκτυο μέσω USB"</string>
@@ -1756,9 +1734,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"Πληροφορίες ασφάλειας"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"Δεν είστε συνδεδεμένοι σε σύνδεση δεδομένων. Για να προβάλετε αυτές τις πληροφορίες τώρα, μεταβείτε στο %s από οποιονδήποτε υπολογιστή με σύνδεση στο διαδίκτυο."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"Φόρτωση..."</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"Χρήση PIN"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"Χρήση μοτίβου"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"Χρήση κωδικού πρόσβασης"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"Ρύθμιση κλειδώματος οθόνης"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"Για λόγους ασφαλείας, ορίστε έναν κωδικό πρόσβασης"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"Για χρήση δακτ. αποτ. ορίστε κωδ. πρόσβ."</string>
@@ -1767,8 +1742,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"Για δακτ. αποτυπ. ορίστε PIN"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"Για λόγους ασφαλείας, ορίστε ένα μοτίβο"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"Εισαγάγετε ξανά τον κωδικό πρόσβασής σας"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"Εισαγάγετε κωδικό πρόσβασης εργασίας"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"Επιβεβαίωση μοτίβου"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"Εισαγάγετε μοτίβο εργασίας"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"Εισαγάγετε ξανά τον αριθμό PIN"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"Εισαγάγετε PIN εργασίας"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"Οι κωδικοί πρόσβασης δεν ταιριάζουν"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"Οι αριθμοί PIN δεν ταιριάζουν"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"Σχεδιάστε ξανά το μοτίβο σας"</string>
@@ -1779,6 +1757,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"Ρυθμ. κωδ. πρ. για χρήση του Face Unlock"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"Ρυθμ. μοτίβο για χρήση του Face Unlock"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"Για να χρησιμοποιήσετε το Face Unlock, ορίστε ένα PIN"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"Ξεχάσατε τον κωδικό πρόσβασής σας;"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"Ξεχάσατε το μοτίβο σας;"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"Ξεχάσατε το PIN σας;"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"Χρησιμοποιήστε το μοτίβο της συσκευής σας για να συνεχίσετε"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"Εισαγάγετε το PIN της συσκευής σας για να συνεχίσετε"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"Εισαγάγετε τον κωδικό πρόσβασης της συσκευής σας για να συνεχίσετε"</string>
@@ -1846,6 +1827,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"Αποδ. όλων των πηγών εφαρμογής"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"Εφαρμογές που ανοίχτηκαν πρόσφατα"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"Δείτε και τις <xliff:g id="COUNT">%1$d</xliff:g> εφαρμογές"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"Επικοινωνήστε με τον διαχειριστή IT"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"Μπορεί να σας βοηθήσει με την επαναφορά του PIN, του μοτίβου ή του κωδικού πρόσβασης."</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"Το tablet σας και τα προσωπικά δεδομένα σας είναι πιο ευάλωτα σε επιθέσεις από άγνωστες εφαρμογές. Με την εγκατάσταση εφαρμογών από αυτήν την πηγή, συμφωνείτε ότι είστε υπεύθυνοι για οποιαδήποτε ζημιά στο tablet ή απώλεια δεδομένων που μπορεί να προκύψει από τη χρήση τους."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"Το τηλέφωνό σας και τα προσωπικά δεδομένα σας είναι πιο ευάλωτα σε επιθέσεις από άγνωστες εφαρμογές. Με την εγκατάσταση εφαρμογών από αυτήν την πηγή, συμφωνείτε ότι είστε υπεύθυνοι για οποιαδήποτε ζημιά στο τηλέφωνο ή απώλεια δεδομένων που μπορεί να προκύψει από τη χρήση τους."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"Η συσκευή σας και τα προσωπικά δεδομένα σας είναι πιο ευάλωτα σε επιθέσεις από άγνωστες εφαρμογές. Με την εγκατάσταση εφαρμογών από αυτήν την πηγή, συμφωνείτε ότι είστε υπεύθυνοι για οποιαδήποτε ζημιά στη συσκευή σας ή για τυχόν απώλεια δεδομένων που μπορεί να προκύψει από τη χρήση τους."</string>
@@ -1897,7 +1880,7 @@
     <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="1377296810290814749">"Θα γίνει επαναφορά όλων των προτιμήσεων για:\n\n"<li>"Απενεργοποιημένες εφαρμογές"</li>\n<li>"Απενεργοποιημένες ειδοποιήσεις εφ."</li>\n<li>"Προεπιλεγμένες εφ. για ενέργειες"</li>\n<li>"Περιορισμούς δεδ/νων παρασκηνίου για εφ."</li>\n<li>"Τυχόν περιορισμούς αδειών"</li>\n\n" Δεν θα χάσετε δεδομένα εφαρμογών."</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>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"Επαναφορά εφαρμογών"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"Διαχείριση χώρου"</string>
     <string name="filter" msgid="9039576690686251462">"Φίλτρο"</string>
@@ -2097,7 +2080,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"Ήχος και κείμενο στην οθόνη"</string>
     <string name="display_category_title" msgid="6638191682294461408">"Οθόνη"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"Στοιχεία ελέγχου αλληλεπίδρασης"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"Υπηρεσίες που έχουν ληφθεί"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"Ληφθείσες εφαρμογές"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"Σε πειραματικό στάδιο"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"Επισημάνσεις λειτουργιών"</string>
     <string name="talkback_title" msgid="8756080454514251327">"TalkBack"</string>
@@ -2105,27 +2088,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"Πατήστε στοιχεία στην οθόνη σας για να ακούσετε την εκφώνησή τους"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"Προτιμήσεις υπότιτλων"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"Μεγιστοποίηση"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"Περιοχή μεγέθυνσης"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"Ενεργοποίηση μεγέθυνσης"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"Επιλέξτε τις περιοχές μεγέθυνσης που θέλετε να χρησιμοποιήσετε κατά τη μεγέθυνση της οθόνης"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"Πλήρης οθόνη"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"Μέρος της οθόνης"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"Πλήρης οθόνη και μέρος της οθόνης"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"Μεγέθυνση ολόκληρης της οθόνης"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"Μεγέθυνση μέρους της οθόνης"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Ρυθμίσεις μεγέθυνσης"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"Μεγέθ. με 3πλό πάτημα"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Συντόμ. μεγέθυνσης"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Μεγέθυνση με συντόμευση και τριπλό πάτημα"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"Σχετικά με <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"Επιλογές"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"Μεγέθυνση στην οθόνη"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"Πατήστε 3 φορές για εστίαση"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Πατήστε ένα κουμπί για εστίαση"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><b>"Για να κάνετε εστίαση"</b>", πατήστε γρήγορα 3 φορές στην οθόνη.\n"<ul><li>"Σύρετε 2 ή περισσότερα δάχτυλα για να κάνετε κύλιση"</li>\n<li>"Πλησιάστε 2 ή περισσότερα δάχτυλα για να προσαρμόσετε την εστίαση"</li></ul>\n\n<b>"Για προσωρινή εστίαση"</b>", πατήστε γρήγορα 3 φορές στην οθόνη και κρατήστε το δάχτυλό σας πατημένο κατά το τρίτο πάτημα.\n"<ul><li>"Σύρετε για να την μετακινήσετε στην οθόνη"</li>\n<li>"Ανασηκώστε το δάχτυλο για να κάνετε σμίκρυνση"</li></ul>\n\n"Δεν είναι δυνατή η μεγέθυνση στο πληκτρολόγιο ή στη γραμμή πλοήγησης."</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"Όταν η μεγέθυνση είναι ενεργοποιημένη, μπορείτε να μεγεθύνετε την οθόνη σας.\n\n"<b>"Για εστίαση "</b>", ανοίξτε τη μεγέθυνση και, στη συνέχεια, πατήστε οπουδήποτε στην οθόνη σας.\n"<ul><li>"• Σύρετε 2 ή περισσότερα δάχτυλα για κύλιση"</li>\n<li>"• Πλησιάστε 2 ή περισσότερα δάχτυλα για να προσαρμόσετε την εστίαση"</li></ul>\n\n<b>"Για προσωρινή εστίαση"</b>", ανοίξτε τη μεγέθυνση και, στη συνέχεια, αγγίξτε παρατεταμένα οπουδήποτε στην οθόνη.\n"<ul><li>"• Σύρετε για να μετακινηθείτε στην οθόνη"</li>\n<li>"• Ανασηκώστε το δάχτυλο για σμίκρυνση"</li></ul>\n\n"Δεν μπορείτε να κάνετε μεγέθυνση στο πληκτρολόγιο ή τη γραμμή πλοήγησης."</string>
+    <string name="accessibility_screen_magnification_summary" msgid="7617931632990040045">"Μεγεθύνετε γρήγορα την οθόνη για να κάνετε πιο ευδιάκριτο το περιεχόμενο.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Για μεγέθυνση:&lt;/b&gt;&lt;br/&gt;	1. Χρησιμοποιήστε τη συντόμευση για να ξεκινήσετε τη μεγιστοποίηση&lt;br/&gt;	2. Πατήστε την οθόνη&lt;br/&gt;	3. Σύρετε δύο δάχτυλα για κίνηση στην οθόνη&lt;br/&gt;	4. Πλησιάστε δύο δάχτυλα μεταξύ τους για προσαρμογή της εστίασης&lt;br/&gt;	5. Χρησιμοποιήσετε τη συντόμευση για να διακόψετε τη μεγιστοποίηση&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Για προσωρινή μεγέθυνση:&lt;/b&gt;&lt;br/&gt;	1. Χρησιμοποιήστε τη συντόμευση για να ξεκινήσετε τη μεγιστοποίηση&lt;br/&gt;	2. Αγγίξτε παρατεταμένα οπουδήποτε στην οθόνη&lt;br/&gt;	3. Σύρετε το δάχτυλό σας για κίνηση στην οθόνη&lt;br/&gt;	4. Σηκώστε το δάχτυλό σας για διακοπή της μεγιστοποίησης."</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Όταν η μεγέθυνση είναι ενεργοποιημένη, μπορείτε να μεγεθύνετε την οθόνη σας.\n\n"<b>"Για εστίαση "</b>", ανοίξτε τη μεγέθυνση και, στη συνέχεια, πατήστε οπουδήποτε στην οθόνη σας.\n"<ul><li>"Σύρετε 2 ή περισσότερα δάχτυλα για κύλιση"</li>\n<li>"Πλησιάστε 2 ή περισσότερα δάχτυλα για να προσαρμόσετε την εστίαση"</li></ul>\n\n<b>"Για προσωρινή εστίαση"</b>", ανοίξτε τη μεγέθυνση και, στη συνέχεια, αγγίξτε παρατεταμένα οπουδήποτε στην οθόνη.\n"<ul><li>"Σύρετε για να μετακινηθείτε στην οθόνη"</li>\n<li>"Ανασηκώστε το δάχτυλο για σμίκρυνση"</li></ul>\n\n"Δεν μπορείτε να κάνετε μεγέθυνση στο πληκτρολόγιο ή τη γραμμή πλοήγησης."</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Χρήση κουμπιού προσβασιμότητας για άνοιγμα"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Χρήση κίνησης για άνοιγμα"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"Χρήση της νέας κίνησης προσβασιμότητας"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"Για να ενεργοποιήσετε ή να απενεργοποιήσετε αυτήν την υπηρεσία, πατήστε το κουμπί προσβασιμότητας <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>στο κάτω μέρος της οθόνης.\n\nΓια εναλλαγή μεταξύ υπηρεσιών, αγγίξτε παρατεταμένα το κουμπί προσβασιμότητας."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"Για να ενεργοποιήσετε ή να απενεργοποιήσετε αυτήν την υπηρεσία, σύρετε με δύο δάχτυλα προς τα επάνω από το κάτω μέρος της οθόνης.\n\nΓια εναλλαγή μεταξύ υπηρεσιών, σύρετε προς τα επάνω με δύο δάχτυλα και μην τα απομακρύνετε από την οθόνη."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"Για να ενεργοποιήσετε ή να απενεργοποιήσετε αυτήν την υπηρεσία, σύρετε με τρία δάχτυλα προς τα επάνω από το κάτω μέρος της οθόνης.\n\nΓια εναλλαγή μεταξύ υπηρεσιών, σύρετε παρατεταμένα με τρία δάχτυλα προς τα επάνω."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"Για να ενεργοποιήσετε ή να απενεργοποιήσετε μια υπηρεσία προσβασιμότητας, σύρετε με δύο δάχτυλα προς τα επάνω από το κάτω μέρος της οθόνης.\n\nΓια εναλλαγή μεταξύ υπηρεσιών, σύρετε παρατεταμένα με δύο δάχτυλα προς τα επάνω."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"Για να ενεργοποιήσετε ή να απενεργοποιήσετε μια υπηρεσία προσβασιμότητας, σύρετε με τρία δάχτυλα προς τα επάνω από το κάτω μέρος της οθόνης.\n\nΓια εναλλαγή μεταξύ υπηρεσιών, σύρετε παρατεταμένα με τρία δάχτυλα προς τα επάνω."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"Για να ενεργοποιήσετε ή να απενεργοποιήσετε αυτήν την υπηρεσία, πατήστε το κουμπί προσβασιμότητας <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> στο κάτω μέρος της οθόνης.\n\nΓια εναλλαγή μεταξύ υπηρεσιών, αγγίξτε παρατεταμένα το κουμπί προσβασιμότητας."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"Για να ενεργοποιήσετε ή να απενεργοποιήσετε αυτήν την υπηρεσία, σύρετε με δύο δάχτυλα προς τα επάνω από το κάτω μέρος της οθόνης.\n\nΓια εναλλαγή μεταξύ υπηρεσιών, σύρετε προς τα επάνω με δύο δάχτυλα και μην τα απομακρύνετε από την οθόνη."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"Για να ενεργοποιήσετε ή να απενεργοποιήσετε αυτήν την υπηρεσία, σύρετε με τρία δάχτυλα προς τα επάνω από το κάτω μέρος της οθόνης.\n\nΓια εναλλαγή μεταξύ υπηρεσιών, σύρετε παρατεταμένα με τρία δάχτυλα προς τα επάνω."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"Για να ενεργοποιήσετε ή να απενεργοποιήσετε μια υπηρεσία προσβασιμότητας, σύρετε με δύο δάχτυλα προς τα επάνω από το κάτω μέρος της οθόνης.\n\nΓια εναλλαγή μεταξύ υπηρεσιών, σύρετε παρατεταμένα με δύο δάχτυλα προς τα επάνω."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"Για να ενεργοποιήσετε ή να απενεργοποιήσετε μια υπηρεσία προσβασιμότητας, σύρετε με τρία δάχτυλα προς τα επάνω από το κάτω μέρος της οθόνης.\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="2820923641553461297">"Κουμπί προσβασιμότητας"</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="8922102767509399352">"Πατήστε το κουμπί προσβασιμότητας <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> στο κάτω μέρος της οθόνης"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"Σύρετε προς τα επάνω από το κάτω μέρος της οθόνης με 2 δάχτυλα"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"Σύρετε προς τα επάνω από το κάτω μέρος της οθόνης με 3 δάχτυλα"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Παρατεταμένο πάτημα πλήκτρων έντασης"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"Πατήστε παρατεταμένα τα δύο πλήκτρα έντασης ήχου για 1 δευτερόλεπτο"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Τριπλό πάτημα οθόνης"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"Πατήστε γρήγορα την οθόνη 3 φορές. Αυτή η συντόμευση μπορεί να μειώσει την ταχύτητα της συσκευής σας."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"Σύνθετες"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"Το κουμπί Προσβασιμότητας έχει οριστεί σε <xliff:g id="SERVICE">%1$s</xliff:g>. Για να χρησιμοποιήσετε τη μεγέθυνση, αγγίξτε παρατεταμένα το κουμπί Προσβασιμότητας και έπειτα επιλέξτε να κάνετε μεγέθυνση."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"Η κίνηση προσβασιμότητας ορίστηκε στην υπηρεσία <xliff:g id="SERVICE">%1$s</xliff:g>. Για να χρησιμοποιήσετε τη μεγιστοποίηση, σύρετε παρατεταμένα προς τα επάνω με δύο δάχτυλα από το κάτω μέρος της οθόνης και μην τα απομακρύνετε από την οθόνη. Στη συνέχεια, επιλέξτε μεγιστοποίηση."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"Συντόμευση κουμπιού έντασης ήχου"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"Υπηρεσία συντόμευσης"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Ρυθμίσεις συντόμευσης"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"Να επιτρέπεται από οθ. κλειδώματος"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"Όταν είναι ενεργή η συντόμευση, μπορείτε να πατήσετε και τα δύο κουμπιά έντασης ήχου για 3 δευτερόλεπτα, για να ξεκινήσει μια λειτουργία προσβασιμότητας."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"Κείμενο υψηλής αντίθεσης"</string>
@@ -2149,24 +2157,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"Επιλέξτε το χρονικό διάστημα για το οποίο θέλετε να εμφανίζονται τα μηνύματα που σας ζητούν να προβείτε σε κάποια ενέργεια, αλλά τα οποία είναι ορατά μόνο προσωρινά.\n\nΑυτή η ρύθμιση δεν υποστηρίζεται από όλες τις εφαρμογές."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"Καθυστέρηση παρατετ. αγγίγματος"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"Αντιστροφή χρωμάτων"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"Ενδέχεται να επηρεάσει την απόδοση"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"Χρόνος παραμονής"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"Χρήση αντιστροφής χρωμάτων"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"Η αντιστροφή χρωμάτων μετατρέπει τις ανοιχτόχρωμες οθόνες σε σκουρόχρωμες. Με αυτόν τον τρόπο, άτομα που έχουν ευαισθησία σε έντονο φως μπορούν να κοιτάξουν πιο εύκολα την οθόνη.&lt;br/&gt;&lt;br/&gt;Σημείωση: Τα σκοτεινά χρώματα θα γίνουν φωτεινά. Τα χρώματα θα αλλάξουν στα πολυμέσα και τις εικόνες. Επίσης, μπορείτε να χρησιμοποιήσετε το Σκούρο θέμα (Ρυθμίσεις &gt; Οθόνη)."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"Αυτόματο κλικ (χρόνος παραμονής)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"Εάν χρησιμοποιείτε ποντίκι, μπορείτε να ρυθμίσετε τον κέρσορα ούτως ώστε να εκτελεί ενέργειες αυτόματα όταν σταματά να κινείται για συγκεκριμένο χρόνο."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"Καθυστέρηση πριν από το κλικ"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"Να μην χρησ. το αυτ. κλικ (προεπ.)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"Σύντομο"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0,2 δευτερόλεπτα"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"Μέτριο"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0,6 δευτερόλεπτα"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"Μεγάλο"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 δευτερόλεπτο"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"Προσαρμογή"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"Πιο σύντομη"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"Πιο παρατεταμένη"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"Διάρκεια αυτόματου κλικ"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"Ισχύς δόνησης και απτικής ανάδρασης"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Δόνηση ειδοποίησης"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Δόνηση κλήσης"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Ανάδραση αφής"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"Χρήση υπηρεσίας"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"Χρήση <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"Άνοιγμα <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"Χρήση διόρθωσης χρωμάτων"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"Χρήση υποτίτλων"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"Εμφάνιση υποτίτλων"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"Εμφάνιση υποτίτλων"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"Μέγεθος κειμένου, στιλ υποτίτλων"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"Περισσότερες επιλογές"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"Δεν υποστηρίζουν όλες οι εφαρμογές αυτήν τη ρύθμιση."</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"Κουμπί προσβασιμότητας"</string>
+    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"Ολίσθηση προς τα επάνω με 2 δάχτυλα από το κάτω μέρος"</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>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"Ακουστικά βοηθήματα"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"Δεν έχουν συνδεθεί ακουστικά βοηθήματα"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"Προσθήκη βοηθημάτων ακοής"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"Για να κάνετε σύζευξη των ακουστικών βοηθημάτων σας, βρείτε και πατήστε τη συσκευή σας στην επόμενη οθόνη."</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"Βεβαιωθείτε ότι τα ακουστικά βοηθήματά σας βρίσκονται σε λειτουργία σύζευξης."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"Για να κάνετε σύζευξη των βοηθημάτων ακοής σας, βρείτε και πατήστε τη συσκευή σας στην επόμενη οθόνη. Βεβαιωθείτε ότι τα ακουστικά βοηθήματά σας βρίσκονται σε λειτουργία σύζευξης."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"Η συσκευή <xliff:g id="DEVICE_NAME">%1$s</xliff:g> είναι ενεργοποιημένη"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> αποθηκευμένα ακουστικά βοηθήματα</item>
@@ -2178,25 +2204,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Αυτή η υπηρεσία δεν λειτουργεί σωστά."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Εμφάνιση στις Γρήγορες ρυθμίσεις"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"Λειτουργία διόρθωσης"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="other">Εξαιρετικά μικρή καθυστέρηση (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> χιλιοστά δευτερολέπτου)</item>
-      <item quantity="one">Εξαιρετικά μικρή καθυστέρηση (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> χιλιοστό δευτερολέπτου)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Κόκκινο-πράσινο"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"Πράσινο-κόκκινο"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Μπλε-κίτρινο"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"Δευτερανοπία"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"Πρωτανοπία"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"Τριτανοπία"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="other">Εξαιρετικά μικρή καθυστέρηση (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> δευτερόλεπτα)</item>
+      <item quantity="one">Εξαιρετικά μικρή καθυστέρηση (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> δευτερόλεπτο)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="other">Πολύ μικρή καθυστέρηση (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> χιλιοστά δευτερολέπτου)</item>
-      <item quantity="one">Πολύ μικρή καθυστέρηση (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> χιλιοστό δευτερολέπτου)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="other">Πολύ μικρή καθυστέρηση (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> δευτερόλεπτα)</item>
+      <item quantity="one">Πολύ μικρή καθυστέρηση (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> δευτερόλεπτο)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="other">Σύντομη καθυστέρηση (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> χιλιοστά δευτερολέπτου)</item>
-      <item quantity="one">Σύντομη καθυστέρηση (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> χιλιοστό δευτερολέπτου)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="other">Μικρή καθυστέρηση (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> δευτερόλεπτα)</item>
+      <item quantity="one">Μικρή καθυστέρηση (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> δευτερόλεπτο)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="other">Μεγάλη καθυστέρηση (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> χιλιοστά δευτερολέπτου)</item>
-      <item quantity="one">Μεγάλη καθυστέρηση (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> χιλιοστό δευτερολέπτου)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="other">Μεγάλη καθυστέρηση (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> δευτερόλεπτα)</item>
+      <item quantity="one">Μεγάλη καθυστέρηση (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> δευτερόλεπτο)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="other">Πολύ μεγάλη καθυστέρηση (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> χιλιοστά δευτερολέπτου)</item>
-      <item quantity="one">Πολύ μεγάλη καθυστέρηση (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> χιλιοστό δευτερολέπτου)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="other">Πολύ μεγάλη καθυστέρηση (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> δευτερόλεπτα)</item>
+      <item quantity="one">Πολύ μεγάλη καθυστέρηση (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> δευτερόλεπτο)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> δευτερόλεπτα</item>
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> δευτερόλεπτο</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"Κουδούνισμα <xliff:g id="SUMMARY_RING">%1$s</xliff:g>, ειδοποίηση <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>, αφή <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"Η δόνηση κλήσεων και ειδοποιήσεων έχει οριστεί ως ανενεργή"</string>
@@ -2513,7 +2549,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"Από την τελευταία αποσύνδεση για <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"Συνολικές τιμές χρήσης"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"Ανανέωση"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"Λειτουργικό σύστημα Android"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"Mediaserver"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"Βελτιστοποίηση εφαρμογών"</string>
     <string name="battery_saver" msgid="7737147344510595864">"Εξοικονόμηση μπαταρίας"</string>
@@ -2594,8 +2629,7 @@
     <string name="tts_play" msgid="2945513377250757221">"Αναπαραγωγή"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"Αποθηκ. χώρος διαπιστευτηρίων"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"Εγκατάσταση από συσκευή αποθ."</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"Εγκατάσταση από κάρτα SD"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"Εγκαταστήστε ένα πιστοποιητικό"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"Εγκατάσταση πιστοποιητικών από συσκευή αποθήκευσης"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"Εγκατάσταση πιστοποιητικών από την κάρτα SD"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"Διαγραφή διαπιστευτηρίων"</string>
@@ -2615,6 +2649,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"Ο αποθ. χώρος διαπιστ. διαγρ."</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"Αδυν. διαγρ. αποθ. χώρ. διαπιστ."</string>
     <string name="usage_access_title" msgid="1580006124578134850">"Εφ/γές με πρόσβ. χρ."</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"Πιστοποιητικό CA"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"Πιστ. χρήστη VPN και εφαρμογής"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"Πιστοποιητικό Wi‑Fi"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"Το απόρρητό σας διατρέχει κίνδυνο"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"Τα πιστοποιητικά CA χρησιμοποιούνται από ιστοτόπους, εφαρμογές και VPN για κρυπτογράφηση. Εγκαθιστάτε πιστοποιητικά CA μόνο από οργανισμούς που εμπιστεύεστε. \n\nΕάν εγκαταστήσετε ένα πιστοποιητικό CA, ο κάτοχος του πιστοποιητικού μπορεί να αποκτήσει πρόσβαση στις πληροφορίες σας, όπως τους κωδικούς πρόσβασης, τα μηνύματα ή τα στοιχεία πιστωτικών καρτών, από ιστοτόπους που επισκέπτεστε ή εφαρμογές που χρησιμοποιείτε, ακόμη και αν γίνεται κρυπτογράφηση αυτών των πληροφοριών."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"Να μην γίνει εγκατάσταση"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"Εγκατάσταση ούτως ή άλλως"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"Δεν εγκαταστάθηκε πιστοποιητικό"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"Σήμα κλήσης έκτακτης ανάγκης"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Ορισμός συμπεριφοράς κατά την πραγματοποίηση κλήσης επείγουσας ανάγκης"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Δημιουργία αντιγράφων ασφαλείας"</string>
@@ -2642,10 +2684,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"Απενεργοποίηση και απεγκατάσταση"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"Εφαρμογές διαχειριστή συσκευής"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"Δεν υπάρχουν διαθέσιμες εφαρμογές διαχειριστή συσκευής"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"Προσωπική"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"Εργασία"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"Περιορ. πρόσβασης σε αρχεία καταγρ SMS και κλήσεων"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"Μόνο οι προεπιλεγμένες εφαρμογές τηλεφώνου και ανταλλαγής μηνυμάτων έχουν άδειες καταγραφής SMS και κλήσεων"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"Δεν υπάρχουν διαθέσιμοι trust agents"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"Ενεργοπ. εφαρμογής διαχειριστή συσκευής;"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"Ενεργοποίηση αυτής της εφαρμογής διαχειριστή συσκευής"</string>
@@ -2659,6 +2697,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"Άλλες επιλογές απενεργοποιούνται από τον διαχειριστή σας"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"Περισσότερες λεπτομέρειες"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"Αρχείο καταγραφής ειδοποιήσεων"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"Ιστορικό ειδοποιήσεων"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"Σήμερα"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"Σε αναβολή"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"Έγινε παράβλεψη πρόσφατα"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> ειδοποιήσεις</item>
+      <item quantity="one"><xliff:g id="NUMBER_0">%d</xliff:g> ειδοποίηση</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"Ήχος κλήσης και δόνηση"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"Λεπτομέρειες δικτύου"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"Ενεργοποιημένος συγχρονισμός"</string>
@@ -3008,7 +3054,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"Περιορισμοί"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"Κατάργηση περιορισμών"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"Αλλαγή κωδικού PIN"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"Εμφάν. ειδοποιήσεων"</string>
     <string name="help_label" msgid="2896538416436125883">"Βοήθεια και σχόλια"</string>
     <string name="support_summary" msgid="1034146931237148885">"Άρθρα βοήθειας, τηλέφωνο και συζήτηση, έναρξη"</string>
     <string name="user_account_title" msgid="6389636876210834864">"Λογαριασμός για περιεχόμενο"</string>
@@ -3033,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"Κλήσεις 4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Χρήση υπηρεσιών LTE για τη βελτίωση της φωνητικής επικοινωνίας και άλλων επικοινωνιών (συνιστάται)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Χρήση υπηρεσιών 4G για τη βελτίωση της φωνητικής επικοινωνίας και άλλων επικοινωνιών (συνιστάται)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Εντοπισμός επαφών"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Επιτρέπει τον εντοπισμό υποστηριζόμενων λειτουργιών των επαφών από την εταιρεία κινητής τηλεφωνίας."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Ενεργοποίηση εντοπισμού επαφών;"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Η ενεργοποίηση αυτής της λειτουργίας θα επιτρέψει στην εταιρεία κινητής τηλεφωνίας σας να έχει πρόσβαση στους αριθμούς τηλεφώνου στις επαφές σας, προκειμένου να εντοπίζει τις λειτουργίες κλήσης που υποστηρίζουν."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Προτιμώμενος τύπος δικτύου"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (συνιστάται)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"Μηνύματα MMS"</string>
@@ -3077,7 +3126,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"Κλήση με"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"Επιλογή κάρτας SIM"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"SIM <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"Κενή SIM"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"Όνομα SIM"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"Πληκτρολογήστε το όνομα SIM"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"Υποδοχή SIM %1$d"</string>
@@ -3087,6 +3135,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"Επιλογή κάρτας SIM"</string>
     <string name="color_orange" msgid="216547825489739010">"Πορτοκαλί"</string>
     <string name="color_purple" msgid="6603701972079904843">"Μοβ"</string>
+    <string name="color_pink" msgid="8596872110888626708">"Ροζ"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"Δεν έχουν τοποθετηθεί κάρτες SIM"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"Κατάσταση κάρτας SIM"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"Κατάσταση SIM (υποδοχή sim %1$d)"</string>
@@ -3100,7 +3149,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"Οι κάρτες SIM άλλαξαν."</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Πατήστε για ρύθμιση"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"Προτιμώμενη SIM για"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Ερώτηση κάθε φορά"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Απαιτείται επιλογή"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"Επιλογή SIM"</string>
@@ -3118,6 +3166,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"Bluetooth, λειτουργία οδήγησης"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"Bluetooth, NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"Bluetooth"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"Μη διαθέσιμο επειδή το NFC είναι απενεργοποιημένο"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"Εφαρμ. - ειδοπ/σεις"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Πρόσφατες εφαρμογές, προεπιλεγμένες εφαρμογές"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Η πρόσβαση ειδοποίησης δεν είναι διαθέσιμη για εφαρμογές στο προφίλ εργασίας."</string>
@@ -3128,13 +3177,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"Ρυθμίσεις"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"wifi, wi-fi, σύνδεση δικτύου, διαδίκτυο, ασύρματο, δεδομένα, wi fi"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"ειδοποίηση Wi‑Fi, ειδοποίηση wifi"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"χρήση δεδομένων"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"Διακοπή δόνησης, πάτημα, πληκτρολόγιο"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"Χρήση μορφής 24ώρου"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"Λήψη"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"Άνοιγμα με"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"Εφαρμογές"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"ζώνη ώρας"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"Εικονίδιο συζήτησης"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"Εικονίδιο συζήτησης, σύστημα, ειδοποίηση, παράθυρο, παράθυρο διαλόγου, οθόνη, πάνω από άλλες εφαρμογές, σχεδίαση"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"Φακός, λυχνία, φως"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"wifi, wi-fi, ενλλαγή, έλεγχος"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"δίκτυο κινητής τηλεφωνίας, εταιρεία κινητής τηλεφωνίας, ασύρματο, δεδομένα, 4g, 3g, 2g, lte"</string>
@@ -3158,7 +3208,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"μην μην ενοχλείτε, διακόπτω, διακοπή, διάλειμμα"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"nearby, τοποθεσία, ιστορικό, αναφορές, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"λογαριασμός"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"λογαριασμός, προσθέστε έναν λογαριασμό, προφίλ εργασίας, προσθήκη λογαριασμού"</string>
     <string name="keywords_users" msgid="3497517660077620843">"περιορισμός, περιορίζω, περιορισμένο"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"διόρθωση κειμένου, διόρθωση, ήχος, δόνηση, αυτόματο, γλώσσα, κίνηση, προτείνω, πρόταση, θέμα, προσβλητικό, λέξη, πληκτρολόγηση, emoji, διεθνές"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"επαναφορά, προτιμήσεις, προεπιλογή"</string>
@@ -3196,6 +3246,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"μνήμη, κρυφή μνήμη, δεδομένα, διαγραφή, απαλοιφή, δωρεάν, χώρος"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"συνδεδεμένο, συσκευή, ακουστικά, ακουστικό, ηχείο, ασύρματο, σύζευξη, ακουστικά ψείρες, μουσική, μέσα"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"φόντο, οθόνη, οθόνη κλειδώματος, θέμα"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"σχήμα εικονιδίου, χρώμα έμφασης, γραμματοσειρά"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"προεπιλογή, βοηθός"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"πληρωμή, προεπιλογή"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"εισερχόμενη ειδοποίηση"</string>
@@ -3205,18 +3256,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"απτική, δόνηση, ευαισθησία"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"εξοικονόμηση μπαταρίας, σταθερή, μόνιμη, εξοικονόμηση ενέργειας, μπαταρία"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"ρουτίνα, χρονοδιάγραμμα, εξοικονόμηση μπαταρίας, εξοικονόμηση ενέργειας, μπαταρία, αυτόματα, ποσοστό"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"προφίλ εργασίας"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"volte, σύνθετες λειτουργίες κλήσης, κλήσεις 4g"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"προσθήκη γλώσσας, προσθέστε μια γλώσσα"</string>
     <string name="default_sound" msgid="6604374495015245195">"Προεπιλεγμένος ήχος"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"Ένταση ήχου κλήσης στο <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"Ένταση ήχου κουδουνίσματος και ειδοποιήσεων στο <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Ένταση ήχου, δόνηση, λειτουργία \"Μην ενοχλείτε\""</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"Η ειδοποίηση ήχου ορίστηκε σε δόνηση"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"Η ειδοποίηση ήχου τέθηκε σε σίγαση"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"Ένταση ήχου κλήσης στο 80%"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"Ένταση ήχου κουδουνίσματος και ειδοποιήσεων στο 80%"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Ένταση ήχου πολυμέσων"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Ένταση ήχου μετάδοσης"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"Ένταση ήχου κλήσεων"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"Ένταση ήχου ξυπνητηριού"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"Ένταση ήχου κλήσης"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"Ένταση κουδουν. και ειδοποιήσ."</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"Ένταση ήχου ειδοποίησης"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"Ήχος κλήσης τηλεφώνου"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"Προεπιλεγμ. ήχος ειδοποίησης"</string>
@@ -3224,6 +3276,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"Προεπιλεγμένος ήχος ειδοποίησης"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"Προεπιλεγμ. ήχος ξυπνητηριού"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"Δόνηση για κλήσεις"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"Να μην χρησιμοποιείται ποτέ δόνηση"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"Να χρησιμοποιείται πάντα δόνηση"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"Δόνηση αρχικά και σταδιακό κουδούνισμα"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"Άλλοι ήχοι"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"Ήχοι πληκτρολογίου κλήσης"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"Ήχοι κλειδώματος οθόνης"</string>
@@ -3247,6 +3302,7 @@
       <item quantity="one">1 ενεργός</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Μην ενοχλείτε"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Λήψη ειδοποιήσεων μόνο από Σημαντικά άτομα και εφαρμογές"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Περιορισμός διακοπών"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Ενεργοποίηση λειτουργίας \"Μην ενοχλείτε\""</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"Εξαιρέσεις"</string>
@@ -3273,7 +3329,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Αποκλ. οπτικών αντιπ/σμών"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Να επιτρέπονται οπτικά σήματα"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"Όταν είναι ενεργή η λειτουργία \"Μην ενοχλείτε\""</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"Να επιτρέπονται οι διακοπές που συνοδεύονται από ήχο"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"Περιορισμός ειδοποιήσεων"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Ειδοποιήσεις χωρίς ήχο"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"Θα βλέπετε ειδοποιήσεις στην οθόνη σας"</string>
@@ -3304,7 +3360,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"Ήχος και δόνηση"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"Ήχος, δόνηση και ορισμένα οπτικά σήματα ειδοποιήσεων"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"Ήχος, δόνηση και οπτικά σήματα ειδοποιήσεων"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"Οι ειδοποιήσεις που απαιτούνται για τη βασική δραστηριότητα και την κατάσταση του τηλεφώνου θα εμφανίζονται πάντα"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"Οι ειδοποιήσεις που απαιτούνται για τη βασική δραστηριότητα και την κατάσταση του τηλεφώνου θα εμφανίζονται πάντα."</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"Κανένας"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"άλλες επιλογές"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"Προσθήκη"</string>
@@ -3334,10 +3390,12 @@
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> πργράμματα μπορούν να ενεργοποιηθούν αυτόματα</item>
       <item quantity="one">Ένα πρόγραμμα μπορεί να ενεργοποιηθεί αυτόματα</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"Σίγαση συσκευής αλλά αποδοχή εξαιρέσεων"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"Εξαιρέσεις"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"Πρόγραμμα"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"Εμφάνιση όλων των εξαιρέσεων"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"Εξαιρέσεις όταν είναι ενεργή η λειτουργία Μην ενοχλείτε"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"Άτομα"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"Εφαρμογές"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"Ξυπνητήρια και άλλες διακοπές"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"Χρονοδιαγράμματα"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"Ειδοποιήσεις σε σίγαση"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"Όταν είναι ενεργή η λειτουργία \"Μην ενοχλείτε\", ο ήχος και η δόνηση θα τίθενται σε σίγαση, εκτός από τα στοιχεία που επιτρέπετε παραπάνω."</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"Σίγαση όλων εκτός"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"Σε σίγαση"</string>
@@ -3381,16 +3439,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"Προσαρμοστικές ειδοποιήσεις"</string>
     <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_capabilities_actions_replies_title" msgid="4392470465646394289">"Προτεινόμενες ενέργειες και απαντήσεις"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"Αυτόματη εμφάνιση προτεινόμενων ενεργειών και απαντήσεων"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"Ενεργοποιήστε το ιστορικό ειδοποιήσεων, για να παρακολουθείτε τις προηγούμενες ειδοποιήσεις και τις ειδοποιήσεις που έχουν αναβληθεί"</string>
+    <string name="notification_history" msgid="8663811361243456201">"Ιστορικό ειδοποιήσεων"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"Ενεργοποίηση ιστορικού"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"Απενεργοποίηση ιστορικού"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"Το ιστορικό ειδοποιήσεων είναι απενεργοποιημένο"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"προβολή ρυθμίσεων ειδοποιήσεων"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Να επιτρέπεται η αναβολή των ειδοποιήσεων"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"Απόκρυψη εικονιδίων των διακριτικών ειδοποιήσεων"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"Τα εικονίδια των διακριτικών ειδοποιήσεων δεν εμφανίζονται στη γραμμή κατάστασης"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"Να επιτρέπονται οι κουκκίδες ειδοποίησης"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"Εμφάνιση γραμμής πρόσφατων συνομιλιών"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Συννεφάκια"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"Ορισμένες ειδοποιήσεις μπορεί να εμφανίζονται ως συννεφάκια στην οθόνη"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"Ορισμένες ειδοποιήσεις και άλλο περιεχόμενο μπορούν να εμφανίζονται ως συννεφάκια στην οθόνη. Για να ανοίξετε ένα συννεφάκι, πατήστε το. Για να κάνετε παράβλεψη, σύρετέ το προς τα κάτω στην οθόνη."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Συννεφάκια"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"Τα νέα μηνύματα θα εμφανιστούν στην οθόνη"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"Να επιτρέπεται στην εφαρμογή <xliff:g id="APP_NAME">%1$s</xliff:g> να εμφανίζει ορισμένες ειδοποιήσεις ως συννεφάκια"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"Ενεργοποίηση ρύθμισης για συννεφάκια"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"Για να ενεργοποιήσετε τα συννεφάκια για αυτήν την εφαρμογή, θα πρέπει να τα ενεργοποιήσετε για τη συσκευή σας. Αυτή η ενέργεια επηρεάζει και άλλες εφαρμογές για τις οποίες είχατε ενεργοποιήσει τα συννεφάκια."</string>
@@ -3408,6 +3476,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"Εμφανίζονται στο αναπτυσσόμενο πλαίσιο σκίασης και την οθόνη κλειδώματος"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"Εμφανίζονται στο αναπτυσσόμενο πλαίσιο σκίασης και τη γραμμή κατάστασης"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"Εμφανίζονται στο αναπτυσσόμενο πλαίσιο σκίασης, τη γραμμή κατάστασης και την οθόνη κλειδώματος"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"Απόκρυψη αθόρυβων ειδοποιήσεων στη γραμμή κατάστασης"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"Φως που αναβοσβήνει"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"Οθόνη κλειδώματος"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"Παράβλεψη οθόνης κλειδώματος"</string>
@@ -3438,6 +3507,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"Συμπεριφορά"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"Να επιτρέπεται ο ήχος"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"Να μην εμφανίζονται ποτέ ειδοποιήσεις"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"Συνομιλίες"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"Συνομιλία"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"Δεν είναι συνομιλία"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"Κατάργηση από την ενότητα συνομιλιών"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"Αυτή είναι μια συνομιλία"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"Προσθήκη στην ενότητα συνομιλίας"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"Διαχείριση συνομιλιών"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"Σημαντικές συνομιλίες"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"Όλες οι συνομιλίες"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"Εμφάνιση σημαντικών συνομιλιών με συννεφάκι"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"Οι σημαντικές συνομιλίες εμφανίζονται στο επάνω μέρος του αναπτυσσόμενου πλαισίου σκίασης. Μπορείτε επίσης να τις ρυθμίσετε ώστε να εμφανίζονται σε συννεφάκι και να διακόψετε την επιλογή Μην ενοχλείτε."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"Εμφάνιση σιωπηλά και ελαχιστοποίηση"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"Εμφάνιση χωρίς ειδοποίηση"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"Αναπαραγωγή ήχου"</string>
@@ -3456,7 +3536,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"Σας βοηθά να συγκεντρωθείτε χωρίς ήχο και δόνηση"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"Τραβά την προσοχή σας με ήχο ή δόνηση"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"Όταν η συσκευή είναι ξεκλειδωμένη, οι ειδοποιήσεις εμφανίζονται ως banner επάνω στην οθόνη"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"Εμφάνιση ειδοποιήσεων"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"Όλες οι ειδοποιήσεις <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"Προσαρμοστικές ειδοποιήσεις"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="other">~<xliff:g id="NUMBER_1">%d</xliff:g> ειδοποιήσεις ανά ημέρα</item>
@@ -3477,6 +3557,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"Προσαρμοστικές ειδοποιήσεις"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"Καμία"</string>
     <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="3119843404577399036">"Η εφαρμογή <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>
@@ -3538,8 +3619,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"Τέλος"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"Βαρύτητα"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"Φως που αναβοσβήνει"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"Δόνηση"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"Δόνηση"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"Ήχος"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"Σημαντικό"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"Προσθήκη στην αρχική οθόνη"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"Διαγραφή"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"Μετονομασία"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"Όνομα προγράμματος"</string>
@@ -3593,6 +3676,10 @@
       <item quantity="other"><xliff:g id="NUM_PEOPLE">%d</xliff:g> ακόμα</item>
       <item quantity="one">1 ακόμα</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Συνομιλίες"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"Από όλες τις συζητήσεις"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"Από σημαντικές συζητήσεις"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"Να μην επιτρέπονται καθόλου συζητήσεις"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"Να επιτρέπονται τα μηνύματα"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"Για να βεβαιωθείτε ότι γίνεται αναπαραγωγή ήχου για τα επιτρεπόμενα μηνύματα, ελέγξτε εάν έχει ρυθμιστεί το κουδούνισμα, η δόνηση ή η αθόρυβη λειτουργία στη συσκευή σας."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"Τα εισερχόμενα μηνύματα έχουν αποκλειστεί για το <xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>. Μπορείτε να προσαρμόσετε τις ρυθμίσεις για να επιτρέψετε στους φίλους, στην οικογένεια και σε άλλες επαφές να επικοινωνήσουν μαζί σας."</string>
@@ -3606,15 +3693,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"Κανένα"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"να μην επιτρέπονται οι κλήσεις"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"να μην επιτρέπονται μηνύματα"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"Να επιτρέπονται τα ξυπνητήρια"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"Ξυπνητήρια"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"Από χρονόμετρα, ξυπνητήρια, συστήματα ασφαλείας και άλλες εφαρμογές"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"ξυπνητήρια"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"Αναπαραγωγή ήχων μέσων"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"Ήχοι μέσων"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"Από βίντεο, παιχνίδια και άλλα μέσα"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"μέσα"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"Να επιτρέπονται οι ήχοι αφής"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"Ήχοι αφής"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"Από το πληκτρολόγιό σας και άλλα κουμπιά"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"ήχοι αφής"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"Να επιτρέπονται οι υπενθυμίσεις"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"Υπενθυμίσεις"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"Από εργασίες και υπενθυμίσεις"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"υπενθυμίσεις"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"Να επιτρέπονται οι εκδηλώσεις"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"Συμβάντα"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"Από επερχόμενα συμβάντα ημερολογίου"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Να επιτρέπεται στις εφαρμογές η παράκαμψη"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"Εξαιρέσεις εφαρμογών"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3657,6 +3749,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"Να επιτρέπεται η ενεργοποίηση της οθόνης από ειδοποιήσεις που έχουν τεθεί σε σίγαση με τη λειτουργία \"Μην ενοχλείτε\""</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"Ρυθμίσεις ειδοποιήσεων"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"ΟΚ"</string>
+    <string name="suggestion_button_close" msgid="6865170855573283759">"Κλείσιμο"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Αποστολή σχολίων για τη συσκευή"</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"Εισαγωγή PIN διαχειριστή"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"Ενεργό"</string>
@@ -3667,6 +3760,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Να ζητείται το PIN πριν από το ξεκαρφίτσωμα"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Να ζητείται κωδικός πρόσβασης πριν από το ξεκαρφίτσωμα"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Κλείδωμα της συσκευής κατά το ξεκαρφίτσωμα"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Επιβεβαίωση διαγραφής SIM"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"Επαληθεύστε την ταυτότητά σας πριν από τη διαγραφή μιας ληφθείσας κάρτας SIM."</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"Η διαχείριση αυτού του προφίλ γίνεται από:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"Διαχείριση από <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(Πειραματικό)"</string>
@@ -3741,8 +3836,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"Όλες οι εφαρμογές"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Εγκατεστημένες εφαρμογές"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Instant Εφαρμογές"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"Προσωπικό"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"Εργασία"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"Εφαρμογές: Όλες"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"Απενεργοποιημένες"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"Κατηγορίες: Επείγουσες"</string>
@@ -3754,6 +3847,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"Άγνωστη εφαρμογή"</string>
     <string name="app_permissions" msgid="8666537659217653626">"Διαχείριση αδειών"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"Εφαρμογές που χρησιμοποιούν <xliff:g id="APPS">%1$s</xliff:g>"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"Εφαρμογές που χρησιμοποιούν <xliff:g id="APPS">%1$s</xliff:g> και άλλα"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"Πατήστε για αφύπνιση"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"Πατήστε δύο φορές οπουδήποτε στην οθόνη για αφύπνιση της συσκευής"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"Σύνδεσμοι ανοίγματος"</string>
@@ -3765,9 +3859,14 @@
       <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> εφαρμογές που ανοίγουν υποστηριζόμενους συνδέσμους</item>
       <item quantity="one">Μία εφαρμογή που ανοίγει υποστηριζόμενους συνδέσμους</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"Να ανοίγει σε αυτήν την εφαρμογή"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"Να επιτρέπεται στην εφαρμογή να ανοίγει τους υποστηριζόμενους συνδέσμους"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"Να γίνεται ερώτηση κάθε φορά"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"Να μην ανοίγει σε αυτήν την εφαρμογή"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"Να μην επιτρέπεται στην εφαρμογή να ανοίγει τους υποστηριζόμενους συνδέσμους"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="other">Η εφαρμογή ζητά να χρησιμοποιήσει <xliff:g id="COUNT_1">%d</xliff:g> συνδέσμους</item>
+      <item quantity="one">Η εφαρμογή ζητά να χρησιμοποιήσει <xliff:g id="COUNT_0">%d</xliff:g> σύνδεσμο</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"Η εφαρμογή ζητά να χρησιμοποιήσει τους παρακάτω συνδέσμους:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"Προεπιλογή"</string>
     <string name="default_for_work" msgid="537558180548617528">"Προεπιλογή για εργασία"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"Βοήθεια/φων/κές εντ."</string>
@@ -3911,8 +4010,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"Εμφάνιση πάνω σε άλλες εφαρμογές"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Να επιτρέπεται η εμφάνιση πάνω σε άλλες εφαρμογές"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"Επιτρέψτε σε αυτήν την εφαρμογή να εμφανίζεται πάνω από άλλες εφαρμογές που χρησιμοποιείτε. Μπορεί να επηρεάσει τη χρήση αυτών των εφαρμογών ή να αλλάξει τον τρόπο εμφάνισης ή συμπεριφοράς τους."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"Πρόσβαση σε όλα τα αρχεία"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"Να επιτρέπεται η πρόσβαση για τη διαχείριση όλων των αρχείων"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Να επιτρέπεται σε αυτήν την εφαρμογή η ανάγνωση, η τροποποίηση και η διαγραφή όλων των αρχείων σε αυτήν τη συσκευή και σε κάθε συνδεδεμένη μονάδα αποθήκευσης. Εάν εκχωρηθούν σχετικά δικαιώματα, η εφαρμογή μπορεί να έχει πρόσβαση σε αρχεία χωρίς να έχετε ενημερωθεί ρητά."</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"Με πρόσβαση σε όλα τα αρχεία"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"βοηθητική υπηρεσία στερεοφωνική ακρόαση εικονική πραγματικότητα vr"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"εμφάνιση πλαισίου διαλόγου παράθυρου ειδοποίησης συστήματος πάνω από άλλες εφαρμογές"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"Εμφάνιση πάνω σε άλλες εφαρμογές"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"<xliff:g id="COUNT_0">%1$d</xliff:g> από τις <xliff:g id="COUNT_1">%2$d</xliff:g> εφαρμογές μπορούν να εμφανίζονται πάνω σε άλλες"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"Εφαρμογές με άδεια"</string>
@@ -4078,6 +4180,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"Χρησιμοποιούνται <xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g>"</string>
     <string name="data_overusage" msgid="3680477320458707259">"Υπέρβαση ορίου κατά <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="data_remaining" msgid="6316251496381922837">"Απομένει/ουν <xliff:g id="ID_1">^1</xliff:g>"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"Γράφημα που εμφανίζει δεδομένα χρήσης μεταξύ <xliff:g id="START_DATE">%1$s</xliff:g> και <xliff:g id="END_DATE">%2$s</xliff:g>."</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"Δεν υπάρχουν δεδομένα για αυτό το εύρος ημερομηνιών"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="other">%d ημέρες ακόμα</item>
       <item quantity="one">%d ημέρα ακόμα</item>
@@ -4141,14 +4245,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"μέγεθος πακέτου"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"ειδοποιήθηκε"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"ήχος"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"δόνηση"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"μοτίβο"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"προεπιλογή"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"κανάλι"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"κανένα"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"Το αντικείμενο κατάταξης λείπει."</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"Το αντικείμενο κατάταξης δεν περιέχει αυτό το κλειδί."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"Χρήση θεμάτων"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"Προεπιλογή συσκευής"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"Εγκοπή οθόνης"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"διακοπή οθόνης, εγκοπή"</string>
@@ -4237,8 +4337,12 @@
     <string name="information_label" msgid="6939310810756569298">"Πληροφορίες"</string>
     <string name="low_label" msgid="6525629096999711220">"Χαμηλή"</string>
     <string name="high_label" msgid="357503396626018487">"Υψηλή"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"Η υψηλότερη ευαισθησία μπορεί να παρουσιάσει διένεξη με τυχόν κινήσεις εφαρμογής στα άκρα της οθόνης."</string>
+    <string name="left_edge" msgid="1513576842959071849">"Αριστερή άκρη"</string>
+    <string name="right_edge" msgid="1505309103265829121">"Δεξιά άκρη"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"Η υψηλότερη ευαισθησία μπορεί να παρουσιάσει διένεξη με τυχόν κινήσεις εφαρμογής στα άκρα της οθόνης."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"Πίσω ευαισθησία"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"Ρυθμίσεις κινήσεων"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"πλοήγηση με κινήσεις, ευαισθησία κίνησης επιστροφής, κίνηση επιστροφής"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"Πατήστε δύο φορές για να ελέγξετε το τηλέφωνο"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"Πατήστε δύο φορές για να ελέγξετε το tablet"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"Πατήστε δύο φορές για να ελέγξετε τη συσκευή"</string>
@@ -4393,7 +4497,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"Ενεργοποίηση παροχής εταιρείας κινητής τηλεφωνίας"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"Ενημέρωση λειτουργίας \"Μην ενοχλείτε\""</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"Θέστε σε παύση τις ειδοποιήσεις για να παραμένετε συγκεντρωμένοι"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"Αυτή η λειτουργία δεν είναι διαθέσιμη σε αυτήν τη συσκευή"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"Η λειτουργία δεν είναι διαθέσιμη"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"Αυτή η λειτουργία απενεργοποιήθηκε επειδή καθυστερεί το τηλέφωνό σας"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"Αναγκαστικές πλήρεις μετρήσεις GNSS"</string>
@@ -4403,20 +4506,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"Επιλογή εφαρμογής με δυνατότητα χρήσης ANGLE"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"Δεν έχει οριστεί κάποια εφαρμογή με δυνατότητα χρήσης ANGLE"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"Εφαρμογή με δυνατότητα χρήσης ANGLE: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"Προτιμήσεις προγράμματος οδήγησης παιχνιδιών"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"Τροποποίηση ρυθμίσεων προγράμ. οδήγησης παιχνιδιών"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"Όταν το πρόγραμμα οδήγησης παιχνιδιών είναι ενεργοποιημένο, μπορείτε να επιλέξετε να χρησιμοποιείτε το ενημερωμένο πρόγραμμα οδήγησης γραφικών για τις εφαρμογές που είναι εγκατεστημένες στη συσκευή."</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"Ενεργοποίηση για όλες τις εφαρμογές"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"Επιλέξτε πρόγραμμα οδήγησης γραφικών"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"Προεπιλογή"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"Πρόγραμμα οδήγησης παιχνιδιών"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"Πρόγραμμα οδήγησης προέκδοσης"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"Πρόγραμμα οδήγησης γραφικών συστήματος"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"Προτιμήσεις προγράμματος οδήγησης γραφικών"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"Τροποποίηση ρυθμίσεων προγράμματος οδήγησης γραφικών"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"Όταν υπάρχουν πολλά προγράμματα οδήγησης γραφικών, μπορείτε να επιλέξετε να χρησιμοποιείτε το ενημερωμένο πρόγραμμα οδήγησης γραφικών για τις εφαρμογές που είναι εγκατεστημένες στη συσκευή."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"Ενεργοποίηση για όλες τις εφαρμογές"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"Επιλογή προγράμματος οδήγησης γραφικών"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"Προεπιλογή"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"Πρόγραμμα οδήγησης παιχνιδιών"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"Developer Driver"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Πρόγραμμα οδήγησης γραφικών συστήματος"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Αλλαγές συμβατότητας εφαρμογής"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Εναλλαγή αλλαγών συμβατότητας εφαρμογών"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Αλλαγές που είναι ενεργοποιημένες από προεπιλογή"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Αλλαγές που είναι απενεργοποιημένες από προεπιλογή"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"Η ρύθμιση δεν υποστηρίζεται σε αυτό το τηλέφωνο"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"Η ρύθμιση δεν υποστηρίζεται σε αυτό το tablet"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"Η ρύθμιση δεν υποστηρίζεται σε αυτήν τη συσκευή"</string>
@@ -4435,6 +4544,11 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"Συσκευή"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Μη διαθέσιμη κατά τη διάρκεια κλήσεων"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"Μη διαθέσιμη"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"Προσθήκη εξόδων"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"Ομάδα"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"Επιλέχτηκε 1 συσκευή"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"Επιλέχτηκαν <xliff:g id="COUNT">%1$d</xliff:g> συσκευές"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"Εναλλαγή…"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Αποδοχή κλήσης"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Δεν είναι δυνατή η αλλαγή αυτού του APN."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Βελτίωση διάρκειας ζωής μπαταρίας tablet"</string>
@@ -4552,10 +4666,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Μόνο μία ληφθείσα SIM μπορεί να είναι ενεργή κάθε φορά.\n\nΗ εναλλαγή στο δίκτυο <xliff:g id="CARRIER1">%1$s</xliff:g> δεν θα ακυρώσει την υπηρεσία <xliff:g id="CARRIER2">%2$s</xliff:g>."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Εναλλαγή σε <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Διαγραφή SIM"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Διαγραφή αυτής της SIM της οποίας έγινε λήψη;"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Η διαγραφή αυτής της SIM καταργεί την υπηρεσία <xliff:g id="CARRIER_0">%1$s</xliff:g> από αυτήν τη συσκευή.\n\nΗ υπηρεσία για <xliff:g id="CARRIER_1">%2$s</xliff:g> δεν θα ακυρωθεί."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Διαγραφή"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Διαγραφή SIM…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Δεν είναι δυνατή η διαγραφή της SIM"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Δεν είναι δυνατή η διαγραφή της SIM λόγω ενός σφάλματος .\n\nΕπανεκκινήστε τη συσκευή σας και δοκιμάστε ξανά."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Προτιμώμενος τύπος δικτύου"</string>
@@ -4580,7 +4690,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Μη έγκυρη λειτουργία δικτύου <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Παράβλεψη."</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Ονόματα σημείων πρόσβασης"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Δεν διατίθεται κατά τη σύνδεση σε <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"Ιατρικές πληροφορίες, επαφές έκτακτης ανάγκης"</string>
     <string name="see_more" msgid="7499355691042812723">"Δείτε περισσότερα"</string>
     <string name="see_less" msgid="2642392725363552793">"Εμφάνιση λιγότερων"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"Συσκευή για χρήση με την εφαρμογή <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
@@ -4589,11 +4698,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"Παρουσιάστηκε κάποιο πρόβλημα. Η εφαρμογή ακύρωσε το αίτημα για επιλογή συσκευής."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"Η σύνδεση είναι επιτυχής"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"Εμφάνιση όλων"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> συνδεδεμένες συσκευές</item>
-      <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_0">%1$d</xliff:g> συνδεδεμένη συσκευή</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"Δεν υπάρχουν συσκευές Bluetooth"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"Αναζήτηση συσκευής…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"Σύνδεση με συσκευή…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"Αριστερά"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"Δεξιά"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Θήκη"</string>
@@ -4603,6 +4709,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"Μη διαθέσιμο κατά τη λειτουργία πτήσης"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"Αναγκαστική λειτουργία επιτραπέζιου υπολογιστή"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Αναγκαστική πειραματική λειτουργία επιτραπέζιου υπολογιστή σε δευτερεύουσες οθόνες"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"Ενεργοποίηση sizecompat ελεύθερης μορφής."</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"Επιτρέπει σε εφαρμογές sizecompat να εμφανίζονται με ελεύθερη μορφή."</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Παράκαμψη αναγκ. χρήσης σκούρου θέματος"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"Παρακάμπτει τη λειτουργία σκούρου θέματος προκειμένου να είναι πάντα ενεργή"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"Απόρρητο"</string>
@@ -4639,6 +4747,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Εγκαταστήσατε πρόσφατα αυτήν την εφαρμογή."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Εναλλαγή εξόδου"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Παίζει τώρα στη συσκευή <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (αποσυνδέθηκε)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Αδύνατη εναλλαγή. Πατήστε για επανάληψη."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Σημαντικές πληροφορίες"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"ΣΥΝΕΧΕΙΑ"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"ΟΧΙ, ΕΥΧΑΡΙΣΤΩ"</string>
@@ -4666,8 +4776,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"Συνδυασμός SIM"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Οι πληροφορίες πολιτικής εργασίας σας"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Η διαχείριση των ρυθμίσεων πραγματοποιείται από τον διαχειριστή IT"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"Δείκτης χειρισμού Αναφοράς σφάλματος"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Καθορίζει ποια εφαρμογή διαχειρίζεται τη συντόμευση της Αναφοράς σφάλματος στη συσκευή σας."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Προσωπικό"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"Εργασία"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"Προεπιλογή συστήματος"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"Αυτή η επιλογή δεν είναι πια έγκυρη. Δοκιμάστε ξανά."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"Διακοπή μετάδοσης"</string>
 </resources>
diff --git a/res/values-en-rAU/arrays.xml b/res/values-en-rAU/arrays.xml
index 62498e8..b769066 100644
--- a/res/values-en-rAU/arrays.xml
+++ b/res/values-en-rAU/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"Immediately"</item>
     <item msgid="463591454172790676">"5 seconds"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"Do not validate"</item>
+    <item msgid="5703177653586269306">"Request certificate status"</item>
+    <item msgid="326388247868439528">"Require certificate status"</item>
+    <item msgid="1090956283885790552">"Require all non-trusted certificate statuses"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"Push button"</item>
     <item msgid="2630618799033509548">"PIN from peer device"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"None"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"IPSec VPN with preshared keys and Xauth authentication"</item>
     <item msgid="2484564813864139237">"IPSec VPN with certificates and Xauth authentication"</item>
     <item msgid="68918911194507915">"IPSec VPN with certificates and hybrid authentication"</item>
+    <item msgid="4631647675167100375">"IKEv2/IPSec VPN with certificates and username/password authentication"</item>
+    <item msgid="8812228622975052811">"IKEv2/IPSec VPN with pre-shared keys"</item>
+    <item msgid="6630554779981113046">"IKEv2/IPSec VPN with certificates"</item>
   </string-array>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"None"</item>
diff --git a/res/values-en-rAU/config.xml b/res/values-en-rAU/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-en-rAU/config.xml
+++ b/res/values-en-rAU/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml
index 79ffd6c..74d3a1e 100644
--- a/res/values-en-rAU/strings.xml
+++ b/res/values-en-rAU/strings.xml
@@ -31,49 +31,17 @@
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Please enable developer options first."</string>
     <string name="header_category_wireless_networks" msgid="303445626075235229">"Wireless &amp; networks"</string>
     <string name="header_category_system" msgid="1665516346845259058">"System"</string>
-    <string name="radio_info_data_connection_enable" msgid="7500945447906187613">"Enable data connection"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"Disable data connection"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"VoLTE provisioned"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"Video Calling provisioned"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"Wi-Fi Calling provisioned"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"EAB/Presence Provisioned"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"CBRS Data"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"Enable DSDS"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"Restart Device?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"You need to restart your device to change this setting."</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"Restart"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"Cancel"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"Mobile Radio Power"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"View SIM address book"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"View fixed dialling numbers"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"View Service Dialling Numbers"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"IMS Service Status"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"IMS Status"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"Registered"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"Not Registered"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"Available"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"Unavailable"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"IMS Registration: <xliff:g id="STATUS">%1$s</xliff:g>\nVoice over LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nVoice over Wi-Fi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideo Calling: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT Interface: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"In service"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Out of service"</string>
     <string name="radioInfo_service_emergency" msgid="6838935881091760942">"Emergency Calls Only"</string>
     <string name="radioInfo_service_off" msgid="6184928420860868571">"Radio off"</string>
     <string name="radioInfo_roaming_in" msgid="8892550453644088692">"Roaming"</string>
     <string name="radioInfo_roaming_not" msgid="3137594549464975054">"Not roaming"</string>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"Idle"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"Ringing"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"Call in progress"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"Disconnected"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"Connecting"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"Connected"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Suspended"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"unknown"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"pkts"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"bytes"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"Unmount USB storage"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"Unmount SD card"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"Erase USB storage"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"Make the text on screen smaller or larger."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Make smaller"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Make larger"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"Sample text"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"The Wonderful Wizard of Oz"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"Chapter 11: The Wonderful Emerald City of Oz"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"You need to restart your device to change this setting."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"Restart"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"Cancel"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"Available media devices"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"Available call devices"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"Currently connected"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"Media devices"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"Call devices"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"Other devices"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Saved devices"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth will turn on to pair"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Connection preferences"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"The port that you typed is not valid."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"The HTTP proxy is used by the browser but may not be used by the other apps."</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"PAC URL: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"Current subId:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"SubId of default data SIM:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"DL Bandwidth (kbps):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"UL Bandwidth (kbps):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"Mobile location info (deprecated):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"LTE Physical Channel Configuration:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"Mobile info refresh rate:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"All mobile measurement info:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"Data service:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"Roaming:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"Call redirect:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"Number of PPP reset since boot:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"Current network:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"Data Received:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"Voice service:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"Signal strength"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"Voice call status:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"Data sent"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"Message waiting:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"Phone number:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"Select radio band"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"Voice network type:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"Data network type:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"Select phone index"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"Set preferred network type:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"Ping Hostname(www.google.com) IPv4:"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"Ping Hostname(www.google.com) IPv6:"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"HTTP Client test:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"Run ping test"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"Update"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"Refresh"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"Toggle DNS check"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"OEM-specific Info/Settings"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"Set Radio Band Mode"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"Loading band list…"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"Set"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"Unsuccessful"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"Successful"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"Changes take effect when the USB cable is reconnected."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"Enable USB mass storage"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"Total bytes:"</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"Move to bottom"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"Remove language"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"Choose activity"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"Device info"</string>
     <string name="display_label" msgid="3056320781191343221">"Screen"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"Tablet info"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"Phone info"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"USB storage"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"SD card"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"Proxy settings"</string>
@@ -306,9 +234,6 @@
     <string name="airplane_mode" msgid="3196085857882526817">"Aeroplane mode"</string>
     <string name="wireless_networks_settings_title" msgid="8557542379234105369">"Wireless &amp; networks"</string>
     <string name="radio_controls_summary" msgid="9028430178697624501">"Manage Wi‑Fi, Bluetooth, aeroplane mode, mobile networks, &amp; VPNs"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"Mobile data"</string>
-    <string name="calls_title" msgid="6334813967619899114">"Allow calls"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"SMS messages"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"Allow data usage over mobile network"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"Allow data usage when roaming"</string>
     <string name="roaming" msgid="3055365654530847985">"Roaming"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"Connect to data services when roaming"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"You have lost data connectivity because you left your home network with data roaming turned off."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"Turn it on"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"You may incur significant charges."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"When you allow data roaming, you may incur significant roaming charges!\n\nThis setting affects all users on this tablet."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"When you allow data roaming, you may incur significant roaming charges!\n\nThis setting affects all users on this phone."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"Roaming charges may apply."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"When you allow data roaming, roaming charges may apply.\n\nThis setting affects all users on this tablet."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"When you allow data roaming, roaming charges may apply.\n\nThis setting affects all users on this phone."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"Allow data roaming?"</string>
     <string name="networks" msgid="5184501333492775095">"Operator selection"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"Choose a network operator"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"Disabled by admin"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"Show lockdown option"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"Display power button option that turns off Smart Lock, biometric unlocking and notifications on the lock screen"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"Trust agents only extend unlock"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"If enabled, trust agents will keep your device unlocked for longer, but can no longer unlock a locked device."</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"Lock screen when trust is lost"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"If enabled, the device will lock when the last trust agent loses trust"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"None"</string>
@@ -390,7 +313,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"Set My Location, screen unlock, SIM card lock, credential storage lock"</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"Set My Location, screen unlock, credential storage lock"</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"Privacy"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"Disabled by admin"</string>
+    <string name="disabled_by_administrator_summary" msgid="5424846182313851124">"Not available"</string>
     <string name="security_status_title" msgid="6958004275337618656">"Security status"</string>
     <string name="security_dashboard_summary_face" msgid="4198949293847206382">"Screen lock, face unlock"</string>
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Screen lock, fingerprint"</string>
@@ -693,7 +616,6 @@
       <item quantity="other">Must be fewer than <xliff:g id="NUMBER_1">%d</xliff:g> digits</item>
       <item quantity="one">Must be fewer than <xliff:g id="NUMBER_0">%d</xliff:g> digit</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"Must only contain digits 0-9"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"Device admin doesn\'t allow using a recent PIN"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"Common PINs are blocked by your IT admin. Try a different PIN."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"This can\'t include an invalid character"</string>
@@ -724,6 +646,10 @@
       <item quantity="other">Must contain at least <xliff:g id="COUNT">%d</xliff:g> non-letter characters</item>
       <item quantity="one">Must contain at least 1 non-letter character</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="other">Must contain at least <xliff:g id="COUNT">%d</xliff:g> non-numeric characters</item>
+      <item quantity="one">Must contain at least 1 non-numeric character</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"Device admin doesn\'t allow using a recent password"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"Common passwords are blocked by your IT admin. Try a different password."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"Ascending, descending or repeated sequence of digits isn\'t allowed"</string>
@@ -837,19 +763,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2.4 GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"Sign in"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"Open site"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"<xliff:g id="REMAINING_TIME">%1$s</xliff:g> left"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"Expires on <xliff:g id="EXPIRY_TIME">%1$s</xliff:g>"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"Tap here to sign in to network"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"<xliff:g id="REQUESTER">%s</xliff:g> wants to turn on Wi-Fi"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"<xliff:g id="REQUESTER">%s</xliff:g> wants to turn off Wi-Fi"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"Verify bytecode of debuggable apps"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Allow ART to verify bytecode for debuggable apps"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"Show refresh rate"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Show the current display refresh rate"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"Allow data exchange when the tablet touches another device"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"Allow data exchange when the phone touches another device"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"Allow data exchange when the tablet touches an NFC device"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"Allow data exchange when the phone touches an NFC device"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"Turn on NFC"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"NFC exchanges data between this device and other nearby devices or targets, such as payment terminals, access readers and interactive ads or tags."</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"Secure NFC"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Require device unlock for NFC"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"Allow NFC Payment and Public Transport use only when screen is unlocked"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"Ready to transmit app content via NFC"</string>
@@ -923,8 +855,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Turn on"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Wi‑Fi scanning turned on"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Advanced options"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"Drop down list Advanced Options. Double-tap to collapse."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"Drop down list Advanced Options. Double-tap to expand."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Drop-down list Advanced Options"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"expand"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"Network name"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"Enter the SSID"</string>
     <string name="wifi_security" msgid="9095934643631406913">"Security"</string>
@@ -934,6 +866,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"Status"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"Transmit link speed"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"Receive link speed"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"Link speed"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"Frequency"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"IP address"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"Saved via"</string>
@@ -941,6 +874,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"EAP method"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"Phase-2 authentication"</string>
     <string name="wifi_eap_ca_cert" msgid="8033404008276298886">"CA certificate"</string>
+    <string name="wifi_eap_ocsp" msgid="8713933962516871238">"Online certificate status"</string>
     <string name="wifi_eap_domain" msgid="8304301470752333203">"Domain"</string>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"User certificate"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"Identity"</string>
@@ -957,6 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"Choose at least one band for Wi‑Fi hotspot:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"IP settings"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"Privacy"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"Subscription"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"View or change subscription"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"Randomised MAC"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"Add a device"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"Centre the QR code below to add the device to \'<xliff:g id="SSID">%1$s</xliff:g>\'"</string>
@@ -966,12 +902,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"Share Wi‑Fi"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"Scan this QR code to connect to \'<xliff:g id="SSID">%1$s</xliff:g>\' and share the password"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"Scan this QR code to connect to \'<xliff:g id="SSID">%1$s</xliff:g>\'"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"Couldn’t read QR code. Re-centre code and try again"</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"Try again. If the issue continues, contact the device manufacturer"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"Something went wrong"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"Make sure that the device has been plugged in, charged and turned on"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"Make sure that the device has been plugged in, charged and turned on. If the issue continues, contact the device manufacturer"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"Adding \'<xliff:g id="SSID">%1$s</xliff:g>\' isn’t supported by this device"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"Try moving the device closer to your Wi‑Fi access point/router"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"Check the password and try again"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"Contact the device manufacturer"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"Check connection and try again"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"Choose network"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"To connect your device, choose a network"</string>
@@ -984,11 +922,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"Sharing Wi‑Fi with this device…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"Connecting…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"Share hotspot"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"Verify that it\'s you"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"Verify that it\'s you"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"Wi‑Fi password: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"Hotspot password: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"Auto‑connect"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"Allow phone to automatically connect near this network"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"Allow tablet to automatically connect near this network"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"Add device"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"Use a QR code to add a device to this network"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"QR code isn\'t a valid format"</string>
     <string name="retry" msgid="7542103800274026915">"Retry"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"Share with other device users"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(unchanged)"</string>
@@ -1000,6 +942,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"No certificate specified. Your connection will not be private."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"Network name is too long."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"Must specify a domain."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"Certificate required."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"WPS available"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (WPS available)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"Operator Wi‑Fi network"</string>
@@ -1051,7 +994,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"Advanced Wi‑Fi"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"MAC address"</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_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>
@@ -1103,7 +1047,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"Use hotspot to create a Wi‑Fi network for your other devices. Hotspot provides Internet using your mobile data connection. Additional mobile data charges may apply."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"Apps can create a hotspot to share content with nearby devices."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Turn off hotspot automatically"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"Wi‑Fi hotspot will turn off if no devices are connected"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"When no devices are connected"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"Turning hotspot on…"</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"Turning off hotspot…"</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> is active"</string>
@@ -1112,6 +1056,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"Wi‑Fi hotspot setup"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"AndroidAP WPA2 PSK hotspot"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"Android Hotspot"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"Save this network?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"<xliff:g id="APPNAME">%1$s</xliff:g> wants to save a network to your phone"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"<xliff:g id="APPNAME">%1$s</xliff:g> wants to save a network to your tablet"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"Saving…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"Saved"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"Can’t save. Try again."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"Save networks?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"<xliff:g id="APPNAME">%1$s</xliff:g> wants to save these networks to your phone"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"<xliff:g id="APPNAME">%1$s</xliff:g> wants to save these networks to your tablet"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"Saving <xliff:g id="NUMBER">%d</xliff:g> networks…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"Networks saved"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"Wi-Fi Calling"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"Extend calls with Wi‑Fi"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"Turn on Wi‑Fi calling to extend coverage"</string>
@@ -1138,16 +1093,18 @@
     <string name="emergency_address_title" msgid="3490633500025717573">"Emergency Address"</string>
     <string name="emergency_address_summary" msgid="3022628750270626473">"Used as your location when you make an emergency call over Wi‑Fi"</string>
     <string name="private_dns_help_message" msgid="851221502063782306"><annotation id="url">"Learn more"</annotation>" about Private DNS features"</string>
+    <string name="private_dns_mode_on" msgid="8878679071975375696">"On"</string>
     <string name="wifi_calling_pref_managed_by_carrier" msgid="129524064888622179">"Setting managed by operator"</string>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"Activate Wi‑Fi Calling"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"Turn on Wi‑Fi calling"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"Wi‑Fi calling is not supported for %1$s"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"Disconnected from <xliff:g id="SSID">%1$s</xliff:g>"</string>
     <string name="carrier" msgid="1755020806290963951">"Operator"</string>
     <string name="display_settings_title" msgid="626835071804834218">"Display"</string>
     <string name="sound_settings" msgid="5514582720435174014">"Sound"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"Volumes"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"Music effects"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"Ring volume"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"Ring &amp; notification volume"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"Vibrate when silent"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"Default notification sound"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"Ringtone"</string>
@@ -1272,13 +1229,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"Schedule"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"None"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"Turns on from sunset to sunrise"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"Turns on at custom time"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"Status"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"Off/<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"Will never turn on automatically"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"Will turn on automatically at sunset"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"Will turn on automatically at <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"On/<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"Will never turn off automatically"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"Will turn off automatically at sunrise"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"Will turn off automatically at <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"Turn on until <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"Turn off until <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"Dark theme uses a black background to help keep battery alive longer on some screens. Dark theme schedules wait to turn on until your screen is off."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"Screen timeout"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"Screen turns off"</string>
@@ -1290,7 +1252,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"Change wallpaper"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"Personalise your screen"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"Choose wallpaper from"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"Customise your Pixel"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"Customise your phone"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"Try different styles, wallpapers and more"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"Screen saver"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"While charging or docked"</string>
@@ -1379,6 +1341,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"Unmount USB storage, view available storage"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"Unmount SD card, view available storage"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (sim slot %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"To view, choose saved network"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"Phone number"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (sim slot %1$d)"</string>
@@ -1405,6 +1368,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"Roaming"</string>
     <string name="status_operator" msgid="4335640583552058491">"Network"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"Wi‑Fi MAC address"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"Device Wi‑Fi MAC address"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"Bluetooth address"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Serial number"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Uptime"</string>
@@ -1617,6 +1581,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Reset default APN settings completed"</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"Reset options"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"Network, apps or device can be reset"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"Apps can be reset"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"Reset Wi-Fi, mobile &amp; Bluetooth"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"This will reset all network settings, including:\n\n"<li>"Wi‑Fi"</li>\n<li>"Mobile data"</li>\n<li>"Bluetooth"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"Erase downloaded SIMs"</string>
@@ -1666,6 +1631,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"Hotspot on"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"Tethering"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"Can’t tether or use portable hotspots while Data Saver is on"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"Hotspot only"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"USB only"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"Bluetooth only"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"Hotspot, USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"Hotspot, Bluetooth"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB, Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"Hotspot, USB, Bluetooth"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"Not sharing Internet with other devices"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"Tethering"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Don’t use Wi‑Fi hotspot"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Only share Internet via USB"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Only share Internet via Bluetooth"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Only share Internet via USB and Bluetooth"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB tethering"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"Share phone’s Internet connection via USB"</string>
@@ -1756,9 +1734,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"Safety information"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"You don’t have a data connection. To view this information now, go to %s from any computer connected to the Internet."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"Loading…"</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"Use PIN"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"Use pattern"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"Use password"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"Set screen lock"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"For security, set password"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"To use fingerprint, set password"</string>
@@ -1767,8 +1742,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"To use fingerprint, set PIN"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"For security, set pattern"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"Re-enter your password"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"Enter your work password"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"Confirm your pattern"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"Enter your work pattern"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"Re-enter your PIN"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"Enter your work PIN"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"Passwords don\'t match"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"PINs don\'t match"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"Draw your pattern again"</string>
@@ -1779,6 +1757,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"To use face unlock, set password"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"To use face unlock, set pattern"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"To use face unlock, set PIN"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"Forgot your password?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"Forgot your pattern?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"Forgotten your PIN?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"Use your device pattern to continue"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"Enter your device PIN to continue"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"Enter your device password to continue"</string>
@@ -1846,6 +1827,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"Allow all app sources"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"Recently opened apps"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"See all <xliff:g id="COUNT">%1$d</xliff:g> apps"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"Contact your IT admin"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"They can help you reset your PIN, pattern or password"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"Your tablet and personal data are more vulnerable to attack by unknown apps. By installing apps from this source, you agree that you are responsible for any damage to your tablet or loss of data that may result from their use."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"Your phone and personal data are more vulnerable to attack by unknown apps. By installing apps from this source, you agree that you are responsible for any damage to your phone or loss of data that may result from their use."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"Your device and personal data are more vulnerable to attack by unknown apps. By installing apps from this source, you agree that you are responsible for any damage to your device or loss of data that may result from their use."</string>
@@ -1897,7 +1880,7 @@
     <string name="default_emergency_app" msgid="1929974800666613803">"Emergency app"</string>
     <string name="reset_app_preferences" msgid="8861758340732716573">"Reset app preferences"</string>
     <string name="reset_app_preferences_title" msgid="8935136792316050759">"Reset app preferences?"</string>
-    <string name="reset_app_preferences_desc" msgid="1377296810290814749">"This will reset all preferences for:\n\n"<li>"Disabled apps"</li>\n<li>"Disabled app notifications"</li>\n<li>"Default applications for actions"</li>\n<li>"Background data restrictions for apps"</li>\n<li>"Any permission restrictions"</li>\n\n"You will not lose any app data."</string>
+    <string name="reset_app_preferences_desc" msgid="6509978724602405805">"This will reset all preferences for:\n\n"<li>"Disabled apps"</li>\n<li>"Disabled app notifications"</li>\n<li>"Default applications for actions"</li>\n<li>"Background data restrictions for apps"</li>\n<li>"Any permission restrictions"</li>\n\n"You will not lose any app data."</string>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"Reset apps"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"Manage space"</string>
     <string name="filter" msgid="9039576690686251462">"Filter"</string>
@@ -2097,7 +2080,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"Audio and on-screen text"</string>
     <string name="display_category_title" msgid="6638191682294461408">"Display"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"Interaction controls"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"Downloaded services"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"Downloaded apps"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"Experimental"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"Feature flags"</string>
     <string name="talkback_title" msgid="8756080454514251327">"Talkback"</string>
@@ -2105,27 +2088,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"Tap items on your screen to hear them read aloud"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"Caption preferences"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"Magnification"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"Magnification area"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"Magnification enable"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"Choose the magnification area(s) that you want to use when magnifying the screen"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"Full screen"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"Part of screen"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"Full screen &amp; part of screen"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"Magnify entire screen"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"Magnify part of screen"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Magnification settings"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"Magnify with triple-tap"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Magnify with shortcut"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Magnify with shortcut &amp; triple-tap"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"About <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"Options"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"Zoom in on screen"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"Tap 3 times to zoom"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Tap a button to zoom"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><b>"To zoom"</b>", quickly tap the screen 3 times.\n"<ul><li>"Drag 2 or more fingers to scroll"</li>\n<li>"Pinch 2 or more fingers to adjust zoom"</li></ul>\n\n<b>"To zoom temporarily"</b>", quickly tap the screen 3 times and hold down your finger on the third tap.\n"<ul><li>"Drag to move around the screen"</li>\n<li>"Lift finger to zoom out"</li></ul>\n\n"You can\'t zoom in on the keyboard and navigation bar."</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"When magnification is turned on, you can zoom in on your screen.\n\n"<b>"To zoom"</b>", start magnification, then tap anywhere on the screen.\n"<ul><li>"• Drag two or more fingers to scroll"</li>\n<li>"• Pinch two or more fingers to adjust zoom"</li></ul>\n\n<b>"To zoom temporarily"</b>", start magnification, then touch and hold anywhere on the screen.\n"<ul><li>"• Drag to move around the screen"</li>\n<li>"• Lift finger to zoom out"</li></ul>\n\n"You can’t zoom in on the keyboard or navigation bar."</string>
+    <string name="accessibility_screen_magnification_summary" msgid="7617931632990040045">"Quickly zoom in on the screen to see content more clearly.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;To zoom in:&lt;/b&gt;&lt;br/&gt;	1. Use shortcut to start magnification&lt;br/&gt;	2. Tap the screen&lt;br/&gt;	3. Drag two fingers to move around screen&lt;br/&gt;	4. Pinch with two fingers to adjust zoom&lt;br/&gt;	5. Use shortcut to stop magnification&lt;br/&gt;&lt;br/&gt;&lt;b&gt;To zoom in temporarily:&lt;/b&gt;&lt;br/&gt;	1. Use shortcut to start magnification&lt;br/&gt;	2. Touch and hold anywhere on the screen&lt;br/&gt;	3. Drag finger to move around screen&lt;br/&gt;	4. Lift finger to stop magnification"</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"When magnification is turned on, you can zoom in on your screen.\n\n"<b>"To zoom"</b>", start magnification, then tap anywhere on the screen.\n"<ul><li>"Drag 2 or more fingers to scroll"</li>\n<li>"Pinch 2 or more fingers to adjust zoom"</li></ul>\n\n<b>"To zoom temporarily"</b>", start magnification, then touch and hold anywhere on the screen.\n"<ul><li>"Drag to move around the screen"</li>\n<li>"Lift finger to zoom out"</li></ul>\n\n"You can’t zoom in on the keyboard or navigation bar."</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Use accessibility button to open"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Use gesture to open"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"Use new accessibility gesture"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"To turn this service on or off, tap the accessibility button<xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>at the bottom of your screen.\n\nTo switch between services, touch &amp; hold the accessibility button."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"To turn this service on or off, swipe up from the bottom of the screen with two fingers.\n\nTo switch between services, swipe up with two fingers and hold."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"To turn this service on or off, swipe up from the bottom of the screen with three fingers.\n\nTo switch between services, swipe up with three fingers and hold."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"To turn an accessibility service on or off, swipe up from the bottom of the screen with two fingers.\n\nTo switch between services, swipe up with two fingers and hold."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"To turn an accessibility service on or off, swipe up from the bottom of the screen with three fingers.\n\nTo switch between services, swipe up with three fingers and hold."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"To turn this service on or off, tap the accessibility button <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> on the bottom of your screen.\n\nTo switch between services, touch and hold the accessibility button."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"To turn this service on or off, swipe up from the bottom of the screen with two fingers.\n\nTo switch between services, swipe up with two fingers and hold."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"To turn this service on or off, swipe up from the bottom of the screen with three fingers.\n\nTo switch between services, swipe up with three fingers and hold."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"To turn an accessibility service on or off, swipe up from the bottom of the screen with two fingers.\n\nTo switch between services, swipe up with two fingers and hold."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"To turn an accessibility service on or off, swipe up from the bottom of the screen with three fingers.\n\nTo switch between services, swipe up with three fingers and hold."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"OK"</string>
+    <string name="accessibility_shortcut_title" msgid="8125867833704517463">"<xliff:g id="SERVICE">%1$s</xliff:g> shortcut"</string>
+    <string name="accessibility_shortcut_edit_summary_software" msgid="2820923641553461297">"Accessibility button"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture" msgid="8078659880723370597">"Swipe up with two fingers"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture_talkback" msgid="7422753388389160524">"Swipe up with three fingers"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software" msgid="4796192466943479849">"Tap accessibility button"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8922102767509399352">"Tap the accessibility button <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> at the bottom of your screen"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"Swipe up from the bottom of the screen with two fingers"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"Swipe up from the bottom of the screen with three fingers"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Hold volume keys"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"Press &amp; hold both volume keys for one second"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Triple-tap screen"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"Quickly tap screen three times. This shortcut may slow down your device."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"Advanced"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"The accessibility button is set to <xliff:g id="SERVICE">%1$s</xliff:g>. To use magnification, touch &amp; hold the accessibility button, then select magnification."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"The accessibility gesture is set to the <xliff:g id="SERVICE">%1$s</xliff:g>. To use magnification, swipe up with two fingers from the bottom of the screen and hold. Then select magnification."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"Volume key shortcut"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"Shortcut service"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Shortcut settings"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"Allow from lock screen"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"When the shortcut is on, you can press both volume keys for 3 seconds to start an accessibility feature."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"High-contrast text"</string>
@@ -2149,24 +2157,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"Choose how long to show messages that ask you to take action, but are visible only temporarily.\n\nNot all apps support this setting."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"Touch and hold delay"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"Colour inversion"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"May affect performance"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"Dwell timing"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"Use colour inversion"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"Colour inversion turns light screens dark. This helps people who are sensitive to bright light see the screen more easily.&lt;br/&gt;&lt;br/&gt;Note: Dark colours will turn light. Colours will change in media and images. You can also use Dark theme (Settings &gt; Display)."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"Auto click (dwell timing)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"If you are using a mouse, you can set the cursor to take action automatically when it stops moving for a certain amount of time."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"Delay before click"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"Don’t use auto click (default)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"Short"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0.2 seconds"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"Medium"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0.6 seconds"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"Long"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 second"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"Custom"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"Shorter"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"Longer"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"Auto click time"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"Vibration and haptic strength"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Notification vibration"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Ring vibration"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Touch feedback"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"Use service"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"Use <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"Open <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"Use colour correction"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"Use captions"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"Show captions"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"Caption appearance"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"Text size, caption style"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"More options"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"Not all apps support this setting."</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"Accessibility button"</string>
+    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"2-finger swipe up from bottom"</string>
+    <string name="accessibility_shortcut_type_hardware" msgid="4834144210432451916">"Hold volume keys"</string>
+    <string name="accessibility_shortcut_type_triple_tap" msgid="7717524216825494543">"Triple-tap screen"</string>
     <string name="accessibility_hearingaid_instruction_continue_button" msgid="3367260988024430722">"Continue"</string>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"Hearing aids"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"No hearing aids connected"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"Add hearing aids"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"To pair your hearing aids, find and tap your device on the next screen."</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"Make sure that your hearing aids are in pairing mode."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"To pair your hearing aids, find and tap your device on the next screen. Make sure that your hearing aids are in pairing mode."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> active"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> saved hearing aids</item>
@@ -2178,25 +2204,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"This service is malfunctioning."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Show in Quick Settings"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"Correction mode"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="other">Extremely short delay (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Extremely short delay (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Red-green"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"Green-red"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Blue-yellow"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"Deuteranomaly"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"Protanomaly"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"Tritanomaly"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="other">Extremely short delay (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> seconds)</item>
+      <item quantity="one">Extremely short delay (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> second)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="other">Very short delay (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Very short delay (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="other">Very short delay (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> seconds)</item>
+      <item quantity="one">Very short delay (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> second)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="other">Short delay (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Short delay (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="other">Short delay (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> seconds)</item>
+      <item quantity="one">Short delay (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> second)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="other">Long delay (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Long delay (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="other">Long delay (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> seconds)</item>
+      <item quantity="one">Long delay (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> second)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="other">Very long delay (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Very long delay (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="other">Very long delay (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> seconds)</item>
+      <item quantity="one">Very long delay (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> second)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> seconds</item>
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> second</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"Ring <xliff:g id="SUMMARY_RING">%1$s</xliff:g>, notification <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>, touch <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"Ring &amp; notification set to off"</string>
@@ -2513,7 +2549,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"While last for unplugged for <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"Usage totals"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"Refresh"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"Android OS"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"Media server"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"App optimisation"</string>
     <string name="battery_saver" msgid="7737147344510595864">"Battery Saver"</string>
@@ -2594,8 +2629,7 @@
     <string name="tts_play" msgid="2945513377250757221">"Play"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"Credential storage"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"Install from storage"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"Install from SD card"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"Install a certificate"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"Install certificates from storage"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"Install certificates from SD card"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"Clear credentials"</string>
@@ -2615,6 +2649,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"Credential storage has been erased."</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"Credential storage couldn\'t be erased."</string>
     <string name="usage_access_title" msgid="1580006124578134850">"Apps with usage access"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"CA certificate"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"VPN and app user certificate"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"Wi‑Fi certificate"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"Your privacy is at risk"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"CA certificates are used by websites, apps and VPNs for encryption. Only install CA certificates from organisations that you trust. \n\n If you install a CA certificate, the certificate owner could access your information, such as passwords, messages or credit card details, from websites that you visit or apps that you use – even if that information is encrypted."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"Don’t install"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"Install anyway"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"Certificate not installed"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"Emergency dialling signal"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Set behaviour when an emergency call is placed"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Backup"</string>
@@ -2642,10 +2684,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"Deactivate &amp; uninstall"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"Device admin apps"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"No device admin apps available"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"Personal"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"Work"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"Restrict SMS &amp; call log access"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"Only default phone and messaging apps have SMS &amp; call log permissions"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"No available trust agents"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"Activate device admin app?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"Activate this device admin app"</string>
@@ -2659,6 +2697,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"Other options are disabled by your admin"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"More details"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"Notification log"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"Notification history"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"Today"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"Snoozed"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"Recently dismissed"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> notifications</item>
+      <item quantity="one"><xliff:g id="NUMBER_0">%d</xliff:g> notification</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"Call ringtone &amp; vibrate"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"Network details"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"Sync enabled"</string>
@@ -3008,7 +3054,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"Restrictions"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"Remove restrictions"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"Change PIN"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"Show notifications"</string>
     <string name="help_label" msgid="2896538416436125883">"Help &amp; feedback"</string>
     <string name="support_summary" msgid="1034146931237148885">"Help articles, phone &amp; chat, getting started"</string>
     <string name="user_account_title" msgid="6389636876210834864">"Account for content"</string>
@@ -3033,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G Calling"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Use LTE services to improve voice and other communications (recommended)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Use 4G services to improve voice and other communications (recommended)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Contact discovery"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Allows your operator to discover which calling features your contacts support."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Enable contact discovery?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Enabling this feature will allow your operator access to phone numbers in your contacts in order to discover which calling features they support."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Preferred network type"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (recommended)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS messages"</string>
@@ -3077,7 +3126,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"Call with"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"Select a SIM card"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"SIM <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"SIM empty"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"SIM name"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"Enter SIM name"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"SIM slot %1$d"</string>
@@ -3087,6 +3135,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"Select SIM card"</string>
     <string name="color_orange" msgid="216547825489739010">"Orange"</string>
     <string name="color_purple" msgid="6603701972079904843">"Purple"</string>
+    <string name="color_pink" msgid="8596872110888626708">"Pink"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"No SIM cards inserted"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"SIM status"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"SIM status (sim slot %1$d)"</string>
@@ -3100,7 +3149,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"SIM cards changed."</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Tap to set up"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"Preferred SIM for"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Ask every time"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Selection required"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"SIM selection"</string>
@@ -3118,6 +3166,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"Bluetooth, driving mode"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"Bluetooth, NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"Bluetooth"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"Unavailable because NFC is off"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"Apps and notifications"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Recent apps, default apps"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Notification access is not available for apps in the work profile."</string>
@@ -3128,13 +3177,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"Settings"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"wifi, wi-fi, network connection, internet, wireless, data, wi fi"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"Wi‑Fi notification, wi-fi notification"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"data usage"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"Stop vibration, tap, keyboard"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"Use 24-hour format"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"Download"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"Open with"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"Applications"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"time zone"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"Chat head"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"Chat head, system, alert, window, dialogue, display, on top other apps, draw"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"Flashlight, Light, Torch"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"wifi, wi-fi, toggle, control"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"mobile, mobile operator, wireless, data, 4g,3g, 2g, lte"</string>
@@ -3158,7 +3208,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"don\'t disturb, interrupt, interruption, break"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"nearby, location, history, reporting, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"account"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"account, add an account, work profile, add account"</string>
     <string name="keywords_users" msgid="3497517660077620843">"restriction, restrict, restricted"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"text correction, correct, sound, vibrate, auto, language, gesture, suggest, suggestion, theme, offensive, word, type, emoji, international"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"reset, preferences, default"</string>
@@ -3196,6 +3246,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"memory, cache, data, delete, clear, free, space"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"connected, device, headphones, headset, speaker, wireless, pair, earbuds, music, media"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"background, screen, lockscreen, theme"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"icon shape, accent colour, font"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"default, assistant"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"payment, default"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"incoming notification"</string>
@@ -3205,18 +3256,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"haptics, vibrate, sensitivity"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"battery saver, sticky, persist, power saver, battery"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"routine, schedule, battery saver, power saver, battery, automatic, per cent"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"work profile"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"VoLTE, advanced calling, 4G calling"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"add language, add a language"</string>
     <string name="default_sound" msgid="6604374495015245195">"Default sound"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"Ring volume at <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"Ring &amp; notification volume at <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Volume, vibration, Do Not Disturb"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"Ringer set to vibrate"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"Ringer set to silent"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"Ring volume at 80%"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"Ring &amp; notification volume at 80%"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Media volume"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Cast volume"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"Call volume"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"Alarm volume"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"Ring volume"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"Ring &amp; notification volume"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"Notification volume"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"Phone ringtone"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"Default notification sound"</string>
@@ -3224,6 +3276,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"Default notification sound"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"Default alarm sound"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"Vibrate for calls"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"Never vibrate"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"Always vibrate"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"Vibrate first, then ring gradually"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"Other sounds"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"Dial pad tones"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"Screen-locking sounds"</string>
@@ -3247,6 +3302,7 @@
       <item quantity="one">1 enabled</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Do not disturb"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Only get notified by important people and apps"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Limit interruptions"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Turn on Do Not Disturb"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"Exceptions"</string>
@@ -3273,7 +3329,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Block visual disturbances"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Allow visual signals"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"When Do Not Disturb is on"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"Allow interruptions that make sound"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"Restrict notifications"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"No sound from notifications"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"You will see notifications on your screen"</string>
@@ -3304,7 +3360,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"Sound and vibration"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"Sound, vibration and some visual signs of notifications"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"Sound, vibration and visual signs of notifications"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"Notifications needed for basic phone activity and status will never be hidden"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"Notifications needed for basic phone activity and status will never be hidden."</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"None"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"other options"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"Add"</string>
@@ -3334,10 +3390,12 @@
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> schedules can turn on automatically</item>
       <item quantity="one">1 schedule can turn on automatically</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"Mute device but allow exceptions"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"Exceptions"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"Schedule"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"See all exceptions"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"Exceptions when Do Not Disturb is on"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"People"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"Apps"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"Alarms and other interruptions"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"Schedules"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"Silenced notifications"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"When Do Not Disturb is on, sound and vibration will be muted, except for the items that you allow above."</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"Mute all except"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"Muted"</string>
@@ -3381,16 +3439,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"Adaptive notifications"</string>
     <string name="asst_capability_prioritizer_title" msgid="1181272430009156556">"Adaptive notification priority"</string>
     <string name="asst_capability_prioritizer_summary" msgid="954988212366568737">"Automatically set lower priority notifications to Gentle"</string>
+    <string name="asst_capability_ranking_title" msgid="312998580233257581">"Adaptive notification ranking"</string>
+    <string name="asst_capability_ranking_summary" msgid="2293524677144599450">"Automatically rank notifications by relevance"</string>
     <string name="asst_capabilities_actions_replies_title" msgid="4392470465646394289">"Suggested actions and replies"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"Automatically show suggested actions and replies"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"Turn on notification history to keep track of past notifications and snoozed notifications"</string>
+    <string name="notification_history" msgid="8663811361243456201">"Notification history"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"Turn on history"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"Turn off history"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"Notification history is turned off"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"view notification settings"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Allow notification snoozing"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"Hide icons from gentle notifications"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"Icons from gentle notifications aren\'t shown in the status bar"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"Allow notification dots"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"Show strip of recent conversations"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Bubbles"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"Some notifications can appear as bubbles on the screen"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"Some notifications and other content can appear as bubbles on the screen. To open a bubble, tap it. To dismiss it, drag it down the screen."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Bubbles"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"New messages will appear on screen"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"Allow <xliff:g id="APP_NAME">%1$s</xliff:g> to show some notifications as bubbles"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"Turn on bubbles"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"To turn on bubbles for this app, first you need to turn them on for your device. This affects other apps in which you previously turned on bubbles."</string>
@@ -3408,6 +3476,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"Display in pull-down shade &amp; on lock screen"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"Display in pull-down shade &amp; status bar"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"Display in pull-down shade, status bar &amp; on lock screen"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"Hide silent notifications in status bar"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"Blink light"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"Lock screen"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"Skip lock screen"</string>
@@ -3438,6 +3507,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"Behaviour"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"Allow sound"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"Never show notifications"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"Conversations"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"Conversation"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"Not a conversation"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"Remove from the conversation section"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"This is a conversation"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"Add to the conversation section"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"Manage conversations"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"Important conversations"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"All conversations"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"Bubble important conversations"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"Important conversations show at the top of the pull-down shade. You can also set them to bubble and interrupt Do Not Disturb."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"Show silently and minimise"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"Show silently"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"Make sound"</string>
@@ -3456,7 +3536,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"Helps you focus without sound or vibration"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"Gets your attention with sound or vibration"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"When device is unlocked, show notifications as a banner across the top of the screen"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"Show notifications"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"All <xliff:g id="APP_NAME">%1$s</xliff:g> notifications"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"Adaptive Notifications"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="other">~<xliff:g id="NUMBER_1">%d</xliff:g> notifications per day</item>
@@ -3477,6 +3557,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"Adaptive Notifications"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"None"</string>
     <string name="no_notification_listeners" msgid="2839354157349636000">"No installed apps have requested notification access."</string>
+    <string name="notification_access_detail_switch" msgid="46386786409608330">"Allow notification access"</string>
     <string name="notification_assistant_security_warning_title" msgid="2972346436050925276">"Allow notification access for <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
     <string name="notification_assistant_security_warning_summary" msgid="3119843404577399036">"<xliff:g id="NOTIFICATION_ASSISTANT_NAME">%1$s</xliff:g> will be able to read all notifications, including personal information such as contact names, and the text of messages that you receive. It will also be able to modify or dismiss notifications or trigger action buttons that they contain. \n\nThis will also give the app the ability to turn Do Not Disturb on or off and change related settings."</string>
     <string name="notification_listener_security_warning_title" msgid="5791700876622858363">"Allow notification access for <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
@@ -3538,8 +3619,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"Done"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"Importance"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"Blink light"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"Vibrate"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"Vibration"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"Sound"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"Important"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"Add to home"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"Delete"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"Rename"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"Schedule name"</string>
@@ -3593,6 +3676,10 @@
       <item quantity="other"><xliff:g id="NUM_PEOPLE">%d</xliff:g> others</item>
       <item quantity="one">1 other</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Conversations"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"From all conversations"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"From important conversations"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"Don’t allow any conversations"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"Allow messages"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"To make sure that allowed messages make sound, check whether your device is set to ring, vibrate or silent."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"For ‘<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>’, incoming messages are blocked. You can adjust settings to allow your friends, family or other contacts to reach you."</string>
@@ -3606,15 +3693,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"None"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"Don’t allow any calls"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"Don’t allow any messages"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"Allow alarms"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"Alarms"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"From timers, alarms, security systems and other apps"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"alarms"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"Play media sounds"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"Media sounds"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"From videos, games and other media"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"media"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"Allow touch sounds"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"Touch sounds"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"From your keyboard and other buttons"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"touch sounds"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"Allow reminders"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"Reminders"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"From tasks and reminders"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"reminders"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"Allow events"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"Events"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"From upcoming calendar events"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Allow apps to override"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"App exceptions"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3657,6 +3749,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"Let notifications silenced by Do Not Disturb turn on the screen"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"Notification settings"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"OK"</string>
+    <string name="suggestion_button_close" msgid="6865170855573283759">"Close"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Send feedback about this device"</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"Enter admin PIN"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"On"</string>
@@ -3667,6 +3760,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Ask for PIN before unpinning"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Ask for password before unpinning"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Lock device when unpinning"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Confirm SIM deletion"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"Verify that it\'s you before erasing a downloaded SIM"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"This work profile is managed by:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"Managed by <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(Experimental)"</string>
@@ -3741,8 +3836,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"All apps"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Installed apps"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Instant Apps"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"Personal"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"Work"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"Apps: All"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"Turned off"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"Categories: Urgent importance"</string>
@@ -3754,6 +3847,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"Unknown app"</string>
     <string name="app_permissions" msgid="8666537659217653626">"Permission manager"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"Apps using <xliff:g id="APPS">%1$s</xliff:g>"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"Apps using <xliff:g id="APPS">%1$s</xliff:g>, and more"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"Tap to wake"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"Double-tap anywhere on the screen to wake device"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"Opening links"</string>
@@ -3765,9 +3859,14 @@
       <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> apps opening supported links</item>
       <item quantity="one">One app opening supported links</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"Open in this app"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"Allow app to open supported links"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"Ask every time"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"Don’t open in this app"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"Don’t allow app to open links"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="other">App claims to handle <xliff:g id="COUNT_1">%d</xliff:g> links</item>
+      <item quantity="one">App claims to handle <xliff:g id="COUNT_0">%d</xliff:g> link</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"App claims to handle following links:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"Default"</string>
     <string name="default_for_work" msgid="537558180548617528">"Default for work"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"Assist and voice input"</string>
@@ -3911,8 +4010,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"Display over other apps"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Allow display over other apps"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"Allow this app to display on top of other apps that you’re using. It may interfere with your use of those apps or change the way they seem to appear or behave."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"All files access"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"Allow access to manage all files"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Allow this app to read, modify and delete all files on this device or any connected storage volumes. If granted, app may access files without your explicit knowledge."</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"Can access all files"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"VR virtual reality listener stereo helper service"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"system alert window dialogue display on top of other apps"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"Display over other apps"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"<xliff:g id="COUNT_0">%1$d</xliff:g> of <xliff:g id="COUNT_1">%2$d</xliff:g> apps allowed to display over other apps"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"Apps with permission"</string>
@@ -4078,6 +4180,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"<xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g> used"</string>
     <string name="data_overusage" msgid="3680477320458707259">"<xliff:g id="ID_1">^1</xliff:g> over"</string>
     <string name="data_remaining" msgid="6316251496381922837">"<xliff:g id="ID_1">^1</xliff:g> left"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"Graph showing data usage between <xliff:g id="START_DATE">%1$s</xliff:g> and <xliff:g id="END_DATE">%2$s</xliff:g>."</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"No data in this date range"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="other">%d days left</item>
       <item quantity="one">%d day left</item>
@@ -4141,14 +4245,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"parcel size"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"notification alerted"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"sound"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"vibrate"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"pattern"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"Default"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"channel"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"None"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"Ranking object is missing."</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"Ranking object doesn\'t contain this key."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"Theming"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"Device default"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"Display cutout"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"display cutout, notch"</string>
@@ -4237,8 +4337,12 @@
     <string name="information_label" msgid="6939310810756569298">"Information"</string>
     <string name="low_label" msgid="6525629096999711220">"Low"</string>
     <string name="high_label" msgid="357503396626018487">"High"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"Higher sensitivity may conflict with any app gestures along the edges of the screen."</string>
+    <string name="left_edge" msgid="1513576842959071849">"Left edge"</string>
+    <string name="right_edge" msgid="1505309103265829121">"Right edge"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"Higher sensitivity may conflict with any app gestures along the edges of the screen."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"Back sensitivity"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"Gesture settings"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"gesture navigation, back sensitivity, back gesture"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"Double-tap to check phone"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"Double-tap to check tablet"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"Double-tap to check device"</string>
@@ -4393,7 +4497,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"Trigger Operator Provisioning"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"Update Do Not Disturb"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"Pause notifications to stay focused"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"This feature is not available on this device"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"Feature not available"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"This feature has been turned off because it slows down your phone"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"Force full GNSS measurements"</string>
@@ -4403,20 +4506,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"Select ANGLE enabled app"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"No ANGLE enabled application set"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"ANGLE enabled application: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"Game Driver Preferences"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"Modify Game Driver settings"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"When Game Driver is turned on, you can choose to use the updated graphics driver for Apps installed on the device."</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"Enable for all apps"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"Select Graphics Driver"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"Default"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"Game Driver"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"Pre-release Driver"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"System Graphics Driver"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"Graphics driver preferences"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"Modify graphics driver settings"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"When there are multiple graphics drivers, you can pick to use the updated graphics driver for apps installed on the device."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"Enable for all apps"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"Select graphics driver"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"Default"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"Game driver"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"Developer driver"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"System graphics driver"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"App compatibility changes"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Toggle app compatibility changes"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Default enabled changes"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Default disabled changes"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"Setting isn’t supported on this phone"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"Setting isn’t supported on this tablet"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"Setting isn’t supported on this device"</string>
@@ -4435,6 +4544,11 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"Device"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Unavailable during calls"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"Unavailable"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"Add outputs"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"Group"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 device selected"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> devices selected"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"Switching…"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Take call on"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"This APN cannot be changed."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Improve tablet\'s battery life"</string>
@@ -4552,10 +4666,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Only one downloaded SIM can be active at a time.\n\nSwitching to <xliff:g id="CARRIER1">%1$s</xliff:g> won\'t cancel your <xliff:g id="CARRIER2">%2$s</xliff:g> service."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Switch to <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Delete SIM"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Delete this downloaded SIM?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Erasing this SIM removes <xliff:g id="CARRIER_0">%1$s</xliff:g> service from this device.\n\nService for <xliff:g id="CARRIER_1">%2$s</xliff:g> won’t be cancelled."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Delete"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Erasing SIM…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Can’t delete SIM"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"This SIM can’t be deleted due to an error.\n\nRestart your device and try again."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Preferred network type"</string>
@@ -4580,7 +4690,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Invalid network mode <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Ignore."</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Access point names"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Unavailable when connected to <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"Medical info, emergency contacts"</string>
     <string name="see_more" msgid="7499355691042812723">"See more"</string>
     <string name="see_less" msgid="2642392725363552793">"See less"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"Device to use with <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
@@ -4589,11 +4698,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"Something came up. The application has cancelled the request to choose a device."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"Connection successful"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"Show all"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> devices connected</item>
-      <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_0">%1$d</xliff:g> device connected</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"No Bluetooth devices"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"Searching for device…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"Connecting to device…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"Left"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"Right"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Case"</string>
@@ -4603,6 +4709,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"Unavailable during airplane mode"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"Force desktop mode"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Force experimental desktop mode on secondary displays"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"Enable free-form sizecompat"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"Allows sizecompat apps to be in free form"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Override force-dark"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"Overrides the force-dark feature to be always on"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"Privacy"</string>
@@ -4639,6 +4747,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"You recently installed this app."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Switch output"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Currently playing on <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (disconnected)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Can’t switch. Tap to try again"</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Important information"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"CONTINUE"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"NO THANKS"</string>
@@ -4666,8 +4776,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"SIM combination"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Your work policy info"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Settings managed by your IT admin"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"Bug report handler"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Determines which app handles the bug report shortcut on your device."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Personal"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"Work"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"System default"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"This choice is no longer valid. Try again."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"Stop casting"</string>
 </resources>
diff --git a/res/values-en-rCA/arrays.xml b/res/values-en-rCA/arrays.xml
index 62498e8..b769066 100644
--- a/res/values-en-rCA/arrays.xml
+++ b/res/values-en-rCA/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"Immediately"</item>
     <item msgid="463591454172790676">"5 seconds"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"Do not validate"</item>
+    <item msgid="5703177653586269306">"Request certificate status"</item>
+    <item msgid="326388247868439528">"Require certificate status"</item>
+    <item msgid="1090956283885790552">"Require all non-trusted certificate statuses"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"Push button"</item>
     <item msgid="2630618799033509548">"PIN from peer device"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"None"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"IPSec VPN with preshared keys and Xauth authentication"</item>
     <item msgid="2484564813864139237">"IPSec VPN with certificates and Xauth authentication"</item>
     <item msgid="68918911194507915">"IPSec VPN with certificates and hybrid authentication"</item>
+    <item msgid="4631647675167100375">"IKEv2/IPSec VPN with certificates and username/password authentication"</item>
+    <item msgid="8812228622975052811">"IKEv2/IPSec VPN with pre-shared keys"</item>
+    <item msgid="6630554779981113046">"IKEv2/IPSec VPN with certificates"</item>
   </string-array>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"None"</item>
diff --git a/res/values-en-rCA/config.xml b/res/values-en-rCA/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-en-rCA/config.xml
+++ b/res/values-en-rCA/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-en-rCA/strings.xml b/res/values-en-rCA/strings.xml
index 6e1c1eb..b46069e 100644
--- a/res/values-en-rCA/strings.xml
+++ b/res/values-en-rCA/strings.xml
@@ -31,49 +31,17 @@
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Please enable developer options first."</string>
     <string name="header_category_wireless_networks" msgid="303445626075235229">"Wireless &amp; networks"</string>
     <string name="header_category_system" msgid="1665516346845259058">"System"</string>
-    <string name="radio_info_data_connection_enable" msgid="7500945447906187613">"Enable data connection"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"Disable data connection"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"VoLTE provisioned"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"Video Calling provisioned"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"Wi-Fi Calling provisioned"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"EAB/Presence Provisioned"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"CBRS Data"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"Enable DSDS"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"Restart Device?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"You need to restart your device to change this setting."</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"Restart"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"Cancel"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"Mobile Radio Power"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"View SIM address book"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"View fixed dialling numbers"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"View Service Dialling Numbers"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"IMS Service Status"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"IMS Status"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"Registered"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"Not Registered"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"Available"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"Unavailable"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"IMS Registration: <xliff:g id="STATUS">%1$s</xliff:g>\nVoice over LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nVoice over Wi-Fi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideo Calling: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT Interface: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"In service"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Out of service"</string>
     <string name="radioInfo_service_emergency" msgid="6838935881091760942">"Emergency Calls Only"</string>
     <string name="radioInfo_service_off" msgid="6184928420860868571">"Radio off"</string>
     <string name="radioInfo_roaming_in" msgid="8892550453644088692">"Roaming"</string>
     <string name="radioInfo_roaming_not" msgid="3137594549464975054">"Not roaming"</string>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"Idle"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"Ringing"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"Call in progress"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"Disconnected"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"Connecting"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"Connected"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Suspended"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"unknown"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"pkts"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"bytes"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"Unmount USB storage"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"Unmount SD card"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"Erase USB storage"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"Make the text on screen smaller or larger."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Make smaller"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Make larger"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"Sample text"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"The Wonderful Wizard of Oz"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"Chapter 11: The Wonderful Emerald City of Oz"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"You need to restart your device to change this setting."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"Restart"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"Cancel"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"Available media devices"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"Available call devices"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"Currently connected"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"Media devices"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"Call devices"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"Other devices"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Saved devices"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth will turn on to pair"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Connection preferences"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"The port that you typed is not valid."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"The HTTP proxy is used by the browser but may not be used by the other apps."</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"PAC URL: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"Current subId:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"SubId of default data SIM:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"DL Bandwidth (kbps):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"UL Bandwidth (kbps):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"Mobile location info (deprecated):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"LTE Physical Channel Configuration:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"Mobile info refresh rate:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"All mobile measurement info:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"Data service:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"Roaming:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"Call redirect:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"Number of PPP reset since boot:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"Current network:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"Data Received:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"Voice service:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"Signal strength"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"Voice call status:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"Data sent"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"Message waiting:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"Phone number:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"Select radio band"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"Voice network type:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"Data network type:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"Select phone index"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"Set preferred network type:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"Ping Hostname(www.google.com) IPv4:"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"Ping Hostname(www.google.com) IPv6:"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"HTTP Client test:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"Run ping test"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"Update"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"Refresh"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"Toggle DNS check"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"OEM-specific Info/Settings"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"Set Radio Band Mode"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"Loading band list…"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"Set"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"Unsuccessful"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"Successful"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"Changes take effect when the USB cable is reconnected."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"Enable USB mass storage"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"Total bytes:"</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"Move to bottom"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"Remove language"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"Choose activity"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"Device info"</string>
     <string name="display_label" msgid="3056320781191343221">"Screen"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"Tablet info"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"Phone info"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"USB storage"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"SD card"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"Proxy settings"</string>
@@ -306,9 +234,6 @@
     <string name="airplane_mode" msgid="3196085857882526817">"Airplane mode"</string>
     <string name="wireless_networks_settings_title" msgid="8557542379234105369">"Wireless &amp; networks"</string>
     <string name="radio_controls_summary" msgid="9028430178697624501">"Manage Wi‑Fi, Bluetooth, airplane mode, mobile networks, &amp; VPNs"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"Mobile data"</string>
-    <string name="calls_title" msgid="6334813967619899114">"Allow calls"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"SMS messages"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"Allow data usage over mobile network"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"Allow data usage when roaming"</string>
     <string name="roaming" msgid="3055365654530847985">"Roaming"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"Connect to data services when roaming"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"You have lost data connectivity because you left your home network with data roaming turned off."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"Turn it on"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"You may incur significant charges."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"When you allow data roaming, you may incur significant roaming charges!\n\nThis setting affects all users on this tablet."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"When you allow data roaming, you may incur significant roaming charges!\n\nThis setting affects all users on this phone."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"Roaming charges may apply."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"When you allow data roaming, roaming charges may apply.\n\nThis setting affects all users on this tablet."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"When you allow data roaming, roaming charges may apply.\n\nThis setting affects all users on this phone."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"Allow data roaming?"</string>
     <string name="networks" msgid="5184501333492775095">"Operator selection"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"Choose a network operator"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"Disabled by admin"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"Show lockdown option"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"Display power button option that turns off Smart Lock, biometric unlocking and notifications on the lock screen"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"Trust agents only extend unlock"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"If enabled, trust agents will keep your device unlocked for longer, but can no longer unlock a locked device."</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"Lock screen when trust is lost"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"If enabled, the device will lock when the last trust agent loses trust"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"None"</string>
@@ -390,7 +313,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"Set My Location, screen unlock, SIM card lock, credential storage lock"</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"Set My Location, screen unlock, credential storage lock"</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"Privacy"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"Disabled by admin"</string>
+    <string name="disabled_by_administrator_summary" msgid="5424846182313851124">"Not available"</string>
     <string name="security_status_title" msgid="6958004275337618656">"Security status"</string>
     <string name="security_dashboard_summary_face" msgid="4198949293847206382">"Screen lock, face unlock"</string>
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Screen lock, fingerprint"</string>
@@ -693,7 +616,6 @@
       <item quantity="other">Must be fewer than <xliff:g id="NUMBER_1">%d</xliff:g> digits</item>
       <item quantity="one">Must be fewer than <xliff:g id="NUMBER_0">%d</xliff:g> digit</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"Must only contain digits 0-9"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"Device admin doesn\'t allow using a recent PIN"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"Common PINs are blocked by your IT admin. Try a different PIN."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"This can\'t include an invalid character"</string>
@@ -724,6 +646,10 @@
       <item quantity="other">Must contain at least <xliff:g id="COUNT">%d</xliff:g> non-letter characters</item>
       <item quantity="one">Must contain at least 1 non-letter character</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="other">Must contain at least <xliff:g id="COUNT">%d</xliff:g> non-numeric characters</item>
+      <item quantity="one">Must contain at least 1 non-numeric character</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"Device admin doesn\'t allow using a recent password"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"Common passwords are blocked by your IT admin. Try a different password."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"Ascending, descending or repeated sequence of digits isn\'t allowed"</string>
@@ -837,19 +763,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2.4 GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"Sign in"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"Open site"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"<xliff:g id="REMAINING_TIME">%1$s</xliff:g> left"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"Expires on <xliff:g id="EXPIRY_TIME">%1$s</xliff:g>"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"Tap here to sign in to network"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"<xliff:g id="REQUESTER">%s</xliff:g> wants to turn on Wi-Fi"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"<xliff:g id="REQUESTER">%s</xliff:g> wants to turn off Wi-Fi"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"Verify bytecode of debuggable apps"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Allow ART to verify bytecode for debuggable apps"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"Show refresh rate"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Show the current display refresh rate"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"Allow data exchange when the tablet touches another device"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"Allow data exchange when the phone touches another device"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"Allow data exchange when the tablet touches an NFC device"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"Allow data exchange when the phone touches an NFC device"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"Turn on NFC"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"NFC exchanges data between this device and other nearby devices or targets, such as payment terminals, access readers and interactive ads or tags."</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"Secure NFC"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Require device unlock for NFC"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"Allow NFC Payment and Public Transport use only when screen is unlocked"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"Ready to transmit app content via NFC"</string>
@@ -923,8 +855,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Turn on"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Wi‑Fi scanning turned on"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Advanced options"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"Drop down list Advanced Options. Double-tap to collapse."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"Drop down list Advanced Options. Double-tap to expand."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Drop-down list Advanced Options"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"expand"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"Network name"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"Enter the SSID"</string>
     <string name="wifi_security" msgid="9095934643631406913">"Security"</string>
@@ -934,6 +866,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"Status"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"Transmit link speed"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"Receive link speed"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"Link speed"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"Frequency"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"IP address"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"Saved via"</string>
@@ -941,6 +874,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"EAP method"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"Phase-2 authentication"</string>
     <string name="wifi_eap_ca_cert" msgid="8033404008276298886">"CA certificate"</string>
+    <string name="wifi_eap_ocsp" msgid="8713933962516871238">"Online certificate status"</string>
     <string name="wifi_eap_domain" msgid="8304301470752333203">"Domain"</string>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"User certificate"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"Identity"</string>
@@ -957,6 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"Choose at least one band for Wi‑Fi hotspot:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"IP settings"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"Privacy"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"Subscription"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"View or change subscription"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"Randomised MAC"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"Add a device"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"Centre the QR code below to add the device to \'<xliff:g id="SSID">%1$s</xliff:g>\'"</string>
@@ -966,12 +902,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"Share Wi‑Fi"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"Scan this QR code to connect to \'<xliff:g id="SSID">%1$s</xliff:g>\' and share the password"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"Scan this QR code to connect to \'<xliff:g id="SSID">%1$s</xliff:g>\'"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"Couldn’t read QR code. Re-centre code and try again"</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"Try again. If the issue continues, contact the device manufacturer"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"Something went wrong"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"Make sure that the device has been plugged in, charged and turned on"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"Make sure that the device has been plugged in, charged and turned on. If the issue continues, contact the device manufacturer"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"Adding \'<xliff:g id="SSID">%1$s</xliff:g>\' isn’t supported by this device"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"Try moving the device closer to your Wi‑Fi access point/router"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"Check the password and try again"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"Contact the device manufacturer"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"Check connection and try again"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"Choose network"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"To connect your device, choose a network"</string>
@@ -984,11 +922,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"Sharing Wi‑Fi with this device…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"Connecting…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"Share hotspot"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"Verify that it\'s you"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"Verify that it\'s you"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"Wi‑Fi password: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"Hotspot password: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"Auto‑connect"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"Allow phone to automatically connect near this network"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"Allow tablet to automatically connect near this network"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"Add device"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"Use a QR code to add a device to this network"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"QR code isn\'t a valid format"</string>
     <string name="retry" msgid="7542103800274026915">"Retry"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"Share with other device users"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(unchanged)"</string>
@@ -1000,6 +942,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"No certificate specified. Your connection will not be private."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"Network name is too long."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"Must specify a domain."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"Certificate required."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"WPS available"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (WPS available)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"Operator Wi‑Fi network"</string>
@@ -1051,7 +994,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"Advanced Wi‑Fi"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"MAC address"</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_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>
@@ -1103,7 +1047,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"Use hotspot to create a Wi‑Fi network for your other devices. Hotspot provides Internet using your mobile data connection. Additional mobile data charges may apply."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"Apps can create a hotspot to share content with nearby devices."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Turn off hotspot automatically"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"Wi‑Fi hotspot will turn off if no devices are connected"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"When no devices are connected"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"Turning hotspot on…"</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"Turning off hotspot…"</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> is active"</string>
@@ -1112,6 +1056,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"Wi‑Fi hotspot setup"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"AndroidAP WPA2 PSK hotspot"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"Android Hotspot"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"Save this network?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"<xliff:g id="APPNAME">%1$s</xliff:g> wants to save a network to your phone"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"<xliff:g id="APPNAME">%1$s</xliff:g> wants to save a network to your tablet"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"Saving…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"Saved"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"Can’t save. Try again."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"Save networks?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"<xliff:g id="APPNAME">%1$s</xliff:g> wants to save these networks to your phone"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"<xliff:g id="APPNAME">%1$s</xliff:g> wants to save these networks to your tablet"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"Saving <xliff:g id="NUMBER">%d</xliff:g> networks…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"Networks saved"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"Wi-Fi Calling"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"Extend calls with Wi‑Fi"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"Turn on Wi‑Fi calling to extend coverage"</string>
@@ -1138,16 +1093,18 @@
     <string name="emergency_address_title" msgid="3490633500025717573">"Emergency Address"</string>
     <string name="emergency_address_summary" msgid="3022628750270626473">"Used as your location when you make an emergency call over Wi‑Fi"</string>
     <string name="private_dns_help_message" msgid="851221502063782306"><annotation id="url">"Learn more"</annotation>" about Private DNS features"</string>
+    <string name="private_dns_mode_on" msgid="8878679071975375696">"On"</string>
     <string name="wifi_calling_pref_managed_by_carrier" msgid="129524064888622179">"Setting managed by operator"</string>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"Activate Wi‑Fi Calling"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"Turn on Wi‑Fi calling"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"Wi‑Fi calling is not supported for %1$s"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"Disconnected from <xliff:g id="SSID">%1$s</xliff:g>"</string>
     <string name="carrier" msgid="1755020806290963951">"Carrier"</string>
     <string name="display_settings_title" msgid="626835071804834218">"Display"</string>
     <string name="sound_settings" msgid="5514582720435174014">"Sound"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"Volumes"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"Music effects"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"Ring volume"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"Ring &amp; notification volume"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"Vibrate when silent"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"Default notification sound"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"Ringtone"</string>
@@ -1272,13 +1229,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"Schedule"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"None"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"Turns on from sunset to sunrise"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"Turns on at custom time"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"Status"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"Off/<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"Will never turn on automatically"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"Will turn on automatically at sunset"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"Will turn on automatically at <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"On/<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"Will never turn off automatically"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"Will turn off automatically at sunrise"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"Will turn off automatically at <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"Turn on until <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"Turn off until <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"Dark theme uses a black background to help keep battery alive longer on some screens. Dark theme schedules wait to turn on until your screen is off."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"Screen timeout"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"Screen turns off"</string>
@@ -1290,7 +1252,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"Change wallpaper"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"Personalise your screen"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"Choose wallpaper from"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"Customise your Pixel"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"Customise your phone"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"Try different styles, wallpapers and more"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"Screen saver"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"While charging or docked"</string>
@@ -1379,6 +1341,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"Unmount USB storage, view available storage"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"Unmount SD card, view available storage"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (sim slot %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"To view, choose saved network"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"Phone number"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (sim slot %1$d)"</string>
@@ -1405,6 +1368,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"Roaming"</string>
     <string name="status_operator" msgid="4335640583552058491">"Network"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"Wi‑Fi MAC address"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"Device Wi‑Fi MAC address"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"Bluetooth address"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Serial number"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Uptime"</string>
@@ -1617,6 +1581,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Reset default APN settings completed"</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"Reset options"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"Network, apps or device can be reset"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"Apps can be reset"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"Reset Wi-Fi, mobile &amp; Bluetooth"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"This will reset all network settings, including:\n\n"<li>"Wi‑Fi"</li>\n<li>"Mobile data"</li>\n<li>"Bluetooth"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"Erase downloaded SIMs"</string>
@@ -1666,6 +1631,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"Hotspot on"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"Tethering"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"Can’t tether or use portable hotspots while Data Saver is on"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"Hotspot only"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"USB only"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"Bluetooth only"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"Hotspot, USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"Hotspot, Bluetooth"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB, Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"Hotspot, USB, Bluetooth"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"Not sharing Internet with other devices"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"Tethering"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Don’t use Wi‑Fi hotspot"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Only share Internet via USB"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Only share Internet via Bluetooth"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Only share Internet via USB and Bluetooth"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB tethering"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"Share phone’s Internet connection via USB"</string>
@@ -1756,9 +1734,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"Safety information"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"You don’t have a data connection. To view this information now, go to %s from any computer connected to the Internet."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"Loading…"</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"Use PIN"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"Use pattern"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"Use password"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"Set screen lock"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"For security, set password"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"To use fingerprint, set password"</string>
@@ -1767,8 +1742,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"To use fingerprint, set PIN"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"For security, set pattern"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"Re-enter your password"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"Enter your work password"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"Confirm your pattern"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"Enter your work pattern"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"Re-enter your PIN"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"Enter your work PIN"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"Passwords don\'t match"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"PINs don\'t match"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"Draw your pattern again"</string>
@@ -1779,6 +1757,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"To use face unlock, set password"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"To use face unlock, set pattern"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"To use face unlock, set PIN"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"Forgot your password?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"Forgot your pattern?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"Forgotten your PIN?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"Use your device pattern to continue"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"Enter your device PIN to continue"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"Enter your device password to continue"</string>
@@ -1846,6 +1827,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"Allow all app sources"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"Recently opened apps"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"See all <xliff:g id="COUNT">%1$d</xliff:g> apps"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"Contact your IT admin"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"They can help you reset your PIN, pattern or password"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"Your tablet and personal data are more vulnerable to attack by unknown apps. By installing apps from this source, you agree that you are responsible for any damage to your tablet or loss of data that may result from their use."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"Your phone and personal data are more vulnerable to attack by unknown apps. By installing apps from this source, you agree that you are responsible for any damage to your phone or loss of data that may result from their use."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"Your device and personal data are more vulnerable to attack by unknown apps. By installing apps from this source, you agree that you are responsible for any damage to your device or loss of data that may result from their use."</string>
@@ -1897,7 +1880,7 @@
     <string name="default_emergency_app" msgid="1929974800666613803">"Emergency app"</string>
     <string name="reset_app_preferences" msgid="8861758340732716573">"Reset app preferences"</string>
     <string name="reset_app_preferences_title" msgid="8935136792316050759">"Reset app preferences?"</string>
-    <string name="reset_app_preferences_desc" msgid="1377296810290814749">"This will reset all preferences for:\n\n"<li>"Disabled apps"</li>\n<li>"Disabled app notifications"</li>\n<li>"Default applications for actions"</li>\n<li>"Background data restrictions for apps"</li>\n<li>"Any permission restrictions"</li>\n\n"You will not lose any app data."</string>
+    <string name="reset_app_preferences_desc" msgid="6509978724602405805">"This will reset all preferences for:\n\n"<li>"Disabled apps"</li>\n<li>"Disabled app notifications"</li>\n<li>"Default applications for actions"</li>\n<li>"Background data restrictions for apps"</li>\n<li>"Any permission restrictions"</li>\n\n"You will not lose any app data."</string>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"Reset apps"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"Manage space"</string>
     <string name="filter" msgid="9039576690686251462">"Filter"</string>
@@ -2097,7 +2080,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"Audio and on-screen text"</string>
     <string name="display_category_title" msgid="6638191682294461408">"Display"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"Interaction controls"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"Downloaded services"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"Downloaded apps"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"Experimental"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"Feature flags"</string>
     <string name="talkback_title" msgid="8756080454514251327">"Talkback"</string>
@@ -2105,27 +2088,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"Tap items on your screen to hear them read aloud"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"Caption preferences"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"Magnification"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"Magnification area"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"Magnification enable"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"Choose the magnification area(s) that you want to use when magnifying the screen"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"Full screen"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"Part of screen"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"Full screen &amp; part of screen"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"Magnify entire screen"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"Magnify part of screen"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Magnification settings"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"Magnify with triple-tap"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Magnify with shortcut"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Magnify with shortcut &amp; triple-tap"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"About <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"Options"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"Zoom in on screen"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"Tap 3 times to zoom"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Tap a button to zoom"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><b>"To zoom"</b>", quickly tap the screen 3 times.\n"<ul><li>"Drag 2 or more fingers to scroll"</li>\n<li>"Pinch 2 or more fingers to adjust zoom"</li></ul>\n\n<b>"To zoom temporarily"</b>", quickly tap the screen 3 times and hold down your finger on the third tap.\n"<ul><li>"Drag to move around the screen"</li>\n<li>"Lift finger to zoom out"</li></ul>\n\n"You can\'t zoom in on the keyboard and navigation bar."</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"When magnification is turned on, you can zoom in on your screen.\n\n"<b>"To zoom"</b>", start magnification, then tap anywhere on the screen.\n"<ul><li>"• Drag two or more fingers to scroll"</li>\n<li>"• Pinch two or more fingers to adjust zoom"</li></ul>\n\n<b>"To zoom temporarily"</b>", start magnification, then touch and hold anywhere on the screen.\n"<ul><li>"• Drag to move around the screen"</li>\n<li>"• Lift finger to zoom out"</li></ul>\n\n"You can’t zoom in on the keyboard or navigation bar."</string>
+    <string name="accessibility_screen_magnification_summary" msgid="7617931632990040045">"Quickly zoom in on the screen to see content more clearly.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;To zoom in:&lt;/b&gt;&lt;br/&gt;	1. Use shortcut to start magnification&lt;br/&gt;	2. Tap the screen&lt;br/&gt;	3. Drag two fingers to move around screen&lt;br/&gt;	4. Pinch with two fingers to adjust zoom&lt;br/&gt;	5. Use shortcut to stop magnification&lt;br/&gt;&lt;br/&gt;&lt;b&gt;To zoom in temporarily:&lt;/b&gt;&lt;br/&gt;	1. Use shortcut to start magnification&lt;br/&gt;	2. Touch and hold anywhere on the screen&lt;br/&gt;	3. Drag finger to move around screen&lt;br/&gt;	4. Lift finger to stop magnification"</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"When magnification is turned on, you can zoom in on your screen.\n\n"<b>"To zoom"</b>", start magnification, then tap anywhere on the screen.\n"<ul><li>"Drag 2 or more fingers to scroll"</li>\n<li>"Pinch 2 or more fingers to adjust zoom"</li></ul>\n\n<b>"To zoom temporarily"</b>", start magnification, then touch and hold anywhere on the screen.\n"<ul><li>"Drag to move around the screen"</li>\n<li>"Lift finger to zoom out"</li></ul>\n\n"You can’t zoom in on the keyboard or navigation bar."</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Use accessibility button to open"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Use gesture to open"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"Use new accessibility gesture"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"To turn this service on or off, tap the accessibility button<xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>at the bottom of your screen.\n\nTo switch between services, touch &amp; hold the accessibility button."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"To turn this service on or off, swipe up from the bottom of the screen with two fingers.\n\nTo switch between services, swipe up with two fingers and hold."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"To turn this service on or off, swipe up from the bottom of the screen with three fingers.\n\nTo switch between services, swipe up with three fingers and hold."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"To turn an accessibility service on or off, swipe up from the bottom of the screen with two fingers.\n\nTo switch between services, swipe up with two fingers and hold."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"To turn an accessibility service on or off, swipe up from the bottom of the screen with three fingers.\n\nTo switch between services, swipe up with three fingers and hold."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"To turn this service on or off, tap the accessibility button <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> on the bottom of your screen.\n\nTo switch between services, touch and hold the accessibility button."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"To turn this service on or off, swipe up from the bottom of the screen with two fingers.\n\nTo switch between services, swipe up with two fingers and hold."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"To turn this service on or off, swipe up from the bottom of the screen with three fingers.\n\nTo switch between services, swipe up with three fingers and hold."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"To turn an accessibility service on or off, swipe up from the bottom of the screen with two fingers.\n\nTo switch between services, swipe up with two fingers and hold."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"To turn an accessibility service on or off, swipe up from the bottom of the screen with three fingers.\n\nTo switch between services, swipe up with three fingers and hold."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"OK"</string>
+    <string name="accessibility_shortcut_title" msgid="8125867833704517463">"<xliff:g id="SERVICE">%1$s</xliff:g> shortcut"</string>
+    <string name="accessibility_shortcut_edit_summary_software" msgid="2820923641553461297">"Accessibility button"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture" msgid="8078659880723370597">"Swipe up with two fingers"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture_talkback" msgid="7422753388389160524">"Swipe up with three fingers"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software" msgid="4796192466943479849">"Tap accessibility button"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8922102767509399352">"Tap the accessibility button <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> at the bottom of your screen"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"Swipe up from the bottom of the screen with two fingers"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"Swipe up from the bottom of the screen with three fingers"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Hold volume keys"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"Press &amp; hold both volume keys for one second"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Triple-tap screen"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"Quickly tap screen three times. This shortcut may slow down your device."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"Advanced"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"The accessibility button is set to <xliff:g id="SERVICE">%1$s</xliff:g>. To use magnification, touch &amp; hold the accessibility button, then select magnification."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"The accessibility gesture is set to the <xliff:g id="SERVICE">%1$s</xliff:g>. To use magnification, swipe up with two fingers from the bottom of the screen and hold. Then select magnification."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"Volume key shortcut"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"Shortcut service"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Shortcut settings"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"Allow from lock screen"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"When the shortcut is on, you can press both volume keys for 3 seconds to start an accessibility feature."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"High-contrast text"</string>
@@ -2149,24 +2157,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"Choose how long to show messages that ask you to take action, but are visible only temporarily.\n\nNot all apps support this setting."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"Touch and hold delay"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"Colour inversion"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"May affect performance"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"Dwell timing"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"Use colour inversion"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"Colour inversion turns light screens dark. This helps people who are sensitive to bright light see the screen more easily.&lt;br/&gt;&lt;br/&gt;Note: Dark colours will turn light. Colours will change in media and images. You can also use Dark theme (Settings &gt; Display)."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"Auto click (dwell timing)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"If you are using a mouse, you can set the cursor to take action automatically when it stops moving for a certain amount of time."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"Delay before click"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"Don’t use auto click (default)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"Short"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0.2 seconds"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"Medium"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0.6 seconds"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"Long"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 second"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"Custom"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"Shorter"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"Longer"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"Auto click time"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"Vibration and haptic strength"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Notification vibration"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Ring vibration"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Touch feedback"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"Use service"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"Use <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"Open <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"Use colour correction"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"Use captions"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"Show captions"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"Caption appearance"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"Text size, caption style"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"More options"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"Not all apps support this setting."</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"Accessibility button"</string>
+    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"2-finger swipe up from bottom"</string>
+    <string name="accessibility_shortcut_type_hardware" msgid="4834144210432451916">"Hold volume keys"</string>
+    <string name="accessibility_shortcut_type_triple_tap" msgid="7717524216825494543">"Triple-tap screen"</string>
     <string name="accessibility_hearingaid_instruction_continue_button" msgid="3367260988024430722">"Continue"</string>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"Hearing aids"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"No hearing aids connected"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"Add hearing aids"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"To pair your hearing aids, find and tap your device on the next screen."</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"Make sure that your hearing aids are in pairing mode."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"To pair your hearing aids, find and tap your device on the next screen. Make sure that your hearing aids are in pairing mode."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> active"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> saved hearing aids</item>
@@ -2178,25 +2204,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"This service is malfunctioning."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Show in Quick Settings"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"Correction mode"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="other">Extremely short delay (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Extremely short delay (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Red-green"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"Green-red"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Blue-yellow"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"Deuteranomaly"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"Protanomaly"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"Tritanomaly"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="other">Extremely short delay (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> seconds)</item>
+      <item quantity="one">Extremely short delay (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> second)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="other">Very short delay (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Very short delay (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="other">Very short delay (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> seconds)</item>
+      <item quantity="one">Very short delay (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> second)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="other">Short delay (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Short delay (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="other">Short delay (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> seconds)</item>
+      <item quantity="one">Short delay (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> second)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="other">Long delay (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Long delay (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="other">Long delay (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> seconds)</item>
+      <item quantity="one">Long delay (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> second)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="other">Very long delay (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Very long delay (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="other">Very long delay (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> seconds)</item>
+      <item quantity="one">Very long delay (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> second)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> seconds</item>
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> second</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"Ring <xliff:g id="SUMMARY_RING">%1$s</xliff:g>, notification <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>, touch <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"Ring &amp; notification set to off"</string>
@@ -2513,7 +2549,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"While last for unplugged for <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"Usage totals"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"Refresh"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"Android OS"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"Media server"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"App optimisation"</string>
     <string name="battery_saver" msgid="7737147344510595864">"Battery Saver"</string>
@@ -2594,8 +2629,7 @@
     <string name="tts_play" msgid="2945513377250757221">"Play"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"Credential storage"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"Install from storage"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"Install from SD card"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"Install a certificate"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"Install certificates from storage"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"Install certificates from SD card"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"Clear credentials"</string>
@@ -2615,6 +2649,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"Credential storage has been erased."</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"Credential storage couldn\'t be erased."</string>
     <string name="usage_access_title" msgid="1580006124578134850">"Apps with usage access"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"CA certificate"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"VPN and app user certificate"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"Wi‑Fi certificate"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"Your privacy is at risk"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"CA certificates are used by websites, apps and VPNs for encryption. Only install CA certificates from organisations that you trust. \n\n If you install a CA certificate, the certificate owner could access your information, such as passwords, messages or credit card details, from websites that you visit or apps that you use – even if that information is encrypted."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"Don’t install"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"Install anyway"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"Certificate not installed"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"Emergency dialling signal"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Set behaviour when an emergency call is placed"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Backup"</string>
@@ -2642,10 +2684,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"Deactivate &amp; uninstall"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"Device admin apps"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"No device admin apps available"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"Personal"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"Work"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"Restrict SMS &amp; call log access"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"Only default phone and messaging apps have SMS &amp; call log permissions"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"No available trust agents"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"Activate device admin app?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"Activate this device admin app"</string>
@@ -2659,6 +2697,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"Other options are disabled by your admin"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"More details"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"Notification log"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"Notification history"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"Today"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"Snoozed"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"Recently dismissed"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> notifications</item>
+      <item quantity="one"><xliff:g id="NUMBER_0">%d</xliff:g> notification</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"Call ringtone &amp; vibrate"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"Network details"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"Sync enabled"</string>
@@ -3008,7 +3054,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"Restrictions"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"Remove restrictions"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"Change PIN"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"Show notifications"</string>
     <string name="help_label" msgid="2896538416436125883">"Help &amp; feedback"</string>
     <string name="support_summary" msgid="1034146931237148885">"Help articles, phone &amp; chat, getting started"</string>
     <string name="user_account_title" msgid="6389636876210834864">"Account for content"</string>
@@ -3033,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G Calling"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Use LTE services to improve voice and other communications (recommended)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Use 4G services to improve voice and other communications (recommended)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Contact discovery"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Allows your operator to discover which calling features your contacts support."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Enable contact discovery?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Enabling this feature will allow your operator access to phone numbers in your contacts in order to discover which calling features they support."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Preferred network type"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (recommended)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS messages"</string>
@@ -3077,7 +3126,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"Call with"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"Select a SIM card"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"SIM <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"SIM empty"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"SIM name"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"Enter SIM name"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"SIM slot %1$d"</string>
@@ -3087,6 +3135,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"Select SIM card"</string>
     <string name="color_orange" msgid="216547825489739010">"Orange"</string>
     <string name="color_purple" msgid="6603701972079904843">"Purple"</string>
+    <string name="color_pink" msgid="8596872110888626708">"Pink"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"No SIM cards inserted"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"SIM status"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"SIM status (sim slot %1$d)"</string>
@@ -3100,7 +3149,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"SIM cards changed."</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Tap to set up"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"Preferred SIM for"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Ask every time"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Selection required"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"SIM selection"</string>
@@ -3118,6 +3166,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"Bluetooth, driving mode"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"Bluetooth, NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"Bluetooth"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"Unavailable because NFC is off"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"Apps and notifications"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Recent apps, default apps"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Notification access is not available for apps in the work profile."</string>
@@ -3128,13 +3177,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"Settings"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"wifi, wi-fi, network connection, internet, wireless, data, wi fi"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"Wi‑Fi notification, wi-fi notification"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"data usage"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"Stop vibration, tap, keyboard"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"Use 24-hour format"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"Download"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"Open with"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"Applications"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"time zone"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"Chat head"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"Chat head, system, alert, window, dialogue, display, on top other apps, draw"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"Flashlight, Light, Torch"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"wifi, wi-fi, toggle, control"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"mobile, mobile operator, wireless, data, 4g,3g, 2g, lte"</string>
@@ -3158,7 +3208,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"don\'t disturb, interrupt, interruption, break"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"nearby, location, history, reporting, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"account"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"account, add an account, work profile, add account"</string>
     <string name="keywords_users" msgid="3497517660077620843">"restriction, restrict, restricted"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"text correction, correct, sound, vibrate, auto, language, gesture, suggest, suggestion, theme, offensive, word, type, emoji, international"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"reset, preferences, default"</string>
@@ -3196,6 +3246,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"memory, cache, data, delete, clear, free, space"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"connected, device, headphones, headset, speaker, wireless, pair, earbuds, music, media"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"background, screen, lockscreen, theme"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"icon shape, accent colour, font"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"default, assistant"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"payment, default"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"incoming notification"</string>
@@ -3205,18 +3256,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"haptics, vibrate, sensitivity"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"battery saver, sticky, persist, power saver, battery"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"routine, schedule, battery saver, power saver, battery, automatic, per cent"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"work profile"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"VoLTE, advanced calling, 4G calling"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"add language, add a language"</string>
     <string name="default_sound" msgid="6604374495015245195">"Default sound"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"Ring volume at <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"Ring &amp; notification volume at <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Volume, vibration, Do Not Disturb"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"Ringer set to vibrate"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"Ringer set to silent"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"Ring volume at 80%"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"Ring &amp; notification volume at 80%"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Media volume"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Cast volume"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"Call volume"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"Alarm volume"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"Ring volume"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"Ring &amp; notification volume"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"Notification volume"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"Phone ringtone"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"Default notification sound"</string>
@@ -3224,6 +3276,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"Default notification sound"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"Default alarm sound"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"Vibrate for calls"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"Never vibrate"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"Always vibrate"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"Vibrate first, then ring gradually"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"Other sounds"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"Dial pad tones"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"Screen-locking sounds"</string>
@@ -3247,6 +3302,7 @@
       <item quantity="one">1 enabled</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Do not disturb"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Only get notified by important people and apps"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Limit interruptions"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Turn on Do Not Disturb"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"Exceptions"</string>
@@ -3273,7 +3329,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Block visual disturbances"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Allow visual signals"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"When Do Not Disturb is on"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"Allow interruptions that make sound"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"Restrict notifications"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"No sound from notifications"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"You will see notifications on your screen"</string>
@@ -3304,7 +3360,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"Sound and vibration"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"Sound, vibration and some visual signs of notifications"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"Sound, vibration and visual signs of notifications"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"Notifications needed for basic phone activity and status will never be hidden"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"Notifications needed for basic phone activity and status will never be hidden."</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"None"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"other options"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"Add"</string>
@@ -3334,10 +3390,12 @@
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> schedules can turn on automatically</item>
       <item quantity="one">1 schedule can turn on automatically</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"Mute device but allow exceptions"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"Exceptions"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"Schedule"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"See all exceptions"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"Exceptions when Do Not Disturb is on"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"People"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"Apps"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"Alarms and other interruptions"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"Schedules"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"Silenced notifications"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"When Do Not Disturb is on, sound and vibration will be muted, except for the items that you allow above."</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"Mute all except"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"Muted"</string>
@@ -3381,16 +3439,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"Adaptive notifications"</string>
     <string name="asst_capability_prioritizer_title" msgid="1181272430009156556">"Adaptive notification priority"</string>
     <string name="asst_capability_prioritizer_summary" msgid="954988212366568737">"Automatically set lower priority notifications to Gentle"</string>
+    <string name="asst_capability_ranking_title" msgid="312998580233257581">"Adaptive notification ranking"</string>
+    <string name="asst_capability_ranking_summary" msgid="2293524677144599450">"Automatically rank notifications by relevance"</string>
     <string name="asst_capabilities_actions_replies_title" msgid="4392470465646394289">"Suggested actions and replies"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"Automatically show suggested actions and replies"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"Turn on notification history to keep track of past notifications and snoozed notifications"</string>
+    <string name="notification_history" msgid="8663811361243456201">"Notification history"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"Turn on history"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"Turn off history"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"Notification history is turned off"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"view notification settings"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Allow notification snoozing"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"Hide icons from gentle notifications"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"Icons from gentle notifications aren\'t shown in the status bar"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"Allow notification dots"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"Show strip of recent conversations"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Bubbles"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"Some notifications can appear as bubbles on the screen"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"Some notifications and other content can appear as bubbles on the screen. To open a bubble, tap it. To dismiss it, drag it down the screen."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Bubbles"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"New messages will appear on screen"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"Allow <xliff:g id="APP_NAME">%1$s</xliff:g> to show some notifications as bubbles"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"Turn on bubbles"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"To turn on bubbles for this app, first you need to turn them on for your device. This affects other apps in which you previously turned on bubbles."</string>
@@ -3408,6 +3476,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"Display in pull-down shade &amp; on lock screen"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"Display in pull-down shade &amp; status bar"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"Display in pull-down shade, status bar &amp; on lock screen"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"Hide silent notifications in status bar"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"Blink light"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"Lock screen"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"Skip lock screen"</string>
@@ -3438,6 +3507,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"Behaviour"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"Allow sound"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"Never show notifications"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"Conversations"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"Conversation"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"Not a conversation"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"Remove from the conversation section"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"This is a conversation"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"Add to the conversation section"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"Manage conversations"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"Important conversations"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"All conversations"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"Bubble important conversations"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"Important conversations show at the top of the pull-down shade. You can also set them to bubble and interrupt Do Not Disturb."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"Show silently and minimise"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"Show silently"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"Make sound"</string>
@@ -3456,7 +3536,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"Helps you focus without sound or vibration"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"Gets your attention with sound or vibration"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"When device is unlocked, show notifications as a banner across the top of the screen"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"Show notifications"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"All <xliff:g id="APP_NAME">%1$s</xliff:g> notifications"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"Adaptive Notifications"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="other">~<xliff:g id="NUMBER_1">%d</xliff:g> notifications per day</item>
@@ -3477,6 +3557,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"Adaptive Notifications"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"None"</string>
     <string name="no_notification_listeners" msgid="2839354157349636000">"No installed apps have requested notification access."</string>
+    <string name="notification_access_detail_switch" msgid="46386786409608330">"Allow notification access"</string>
     <string name="notification_assistant_security_warning_title" msgid="2972346436050925276">"Allow notification access for <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
     <string name="notification_assistant_security_warning_summary" msgid="3119843404577399036">"<xliff:g id="NOTIFICATION_ASSISTANT_NAME">%1$s</xliff:g> will be able to read all notifications, including personal information such as contact names, and the text of messages that you receive. It will also be able to modify or dismiss notifications or trigger action buttons that they contain. \n\nThis will also give the app the ability to turn Do Not Disturb on or off and change related settings."</string>
     <string name="notification_listener_security_warning_title" msgid="5791700876622858363">"Allow notification access for <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
@@ -3538,8 +3619,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"Done"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"Importance"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"Blink light"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"Vibrate"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"Vibration"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"Sound"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"Important"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"Add to home"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"Delete"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"Rename"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"Schedule name"</string>
@@ -3593,6 +3676,10 @@
       <item quantity="other"><xliff:g id="NUM_PEOPLE">%d</xliff:g> others</item>
       <item quantity="one">1 other</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Conversations"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"From all conversations"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"From important conversations"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"Don’t allow any conversations"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"Allow messages"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"To make sure that allowed messages make sound, check whether your device is set to ring, vibrate or silent."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"For ‘<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>’, incoming messages are blocked. You can adjust settings to allow your friends, family or other contacts to reach you."</string>
@@ -3606,15 +3693,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"None"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"Don’t allow any calls"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"Don’t allow any messages"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"Allow alarms"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"Alarms"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"From timers, alarms, security systems and other apps"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"alarms"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"Play media sounds"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"Media sounds"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"From videos, games and other media"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"media"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"Allow touch sounds"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"Touch sounds"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"From your keyboard and other buttons"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"touch sounds"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"Allow reminders"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"Reminders"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"From tasks and reminders"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"reminders"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"Allow events"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"Events"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"From upcoming calendar events"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Allow apps to override"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"App exceptions"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3657,6 +3749,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"Let notifications silenced by Do Not Disturb turn on the screen"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"Notification settings"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"OK"</string>
+    <string name="suggestion_button_close" msgid="6865170855573283759">"Close"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Send feedback about this device"</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"Enter admin PIN"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"On"</string>
@@ -3667,6 +3760,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Ask for PIN before unpinning"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Ask for password before unpinning"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Lock device when unpinning"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Confirm SIM deletion"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"Verify that it\'s you before erasing a downloaded SIM"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"This work profile is managed by:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"Managed by <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(Experimental)"</string>
@@ -3741,8 +3836,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"All apps"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Installed apps"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Instant Apps"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"Personal"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"Work"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"Apps: All"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"Turned off"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"Categories: Urgent importance"</string>
@@ -3754,6 +3847,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"Unknown app"</string>
     <string name="app_permissions" msgid="8666537659217653626">"Permission manager"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"Apps using <xliff:g id="APPS">%1$s</xliff:g>"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"Apps using <xliff:g id="APPS">%1$s</xliff:g>, and more"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"Tap to wake"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"Double-tap anywhere on the screen to wake device"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"Opening links"</string>
@@ -3765,9 +3859,14 @@
       <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> apps opening supported links</item>
       <item quantity="one">One app opening supported links</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"Open in this app"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"Allow app to open supported links"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"Ask every time"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"Don’t open in this app"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"Don’t allow app to open links"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="other">App claims to handle <xliff:g id="COUNT_1">%d</xliff:g> links</item>
+      <item quantity="one">App claims to handle <xliff:g id="COUNT_0">%d</xliff:g> link</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"App claims to handle following links:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"Default"</string>
     <string name="default_for_work" msgid="537558180548617528">"Default for work"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"Assist and voice input"</string>
@@ -3911,8 +4010,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"Display over other apps"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Allow display over other apps"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"Allow this app to display on top of other apps that you’re using. It may interfere with your use of those apps or change the way they seem to appear or behave."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"All files access"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"Allow access to manage all files"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Allow this app to read, modify and delete all files on this device or any connected storage volumes. If granted, app may access files without your explicit knowledge."</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"Can access all files"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"VR virtual reality listener stereo helper service"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"system alert window dialogue display on top of other apps"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"Display over other apps"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"<xliff:g id="COUNT_0">%1$d</xliff:g> of <xliff:g id="COUNT_1">%2$d</xliff:g> apps allowed to display over other apps"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"Apps with permission"</string>
@@ -4078,6 +4180,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"<xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g> used"</string>
     <string name="data_overusage" msgid="3680477320458707259">"<xliff:g id="ID_1">^1</xliff:g> over"</string>
     <string name="data_remaining" msgid="6316251496381922837">"<xliff:g id="ID_1">^1</xliff:g> left"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"Graph showing data usage between <xliff:g id="START_DATE">%1$s</xliff:g> and <xliff:g id="END_DATE">%2$s</xliff:g>."</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"No data in this date range"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="other">%d days left</item>
       <item quantity="one">%d day left</item>
@@ -4141,14 +4245,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"parcel size"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"notification alerted"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"sound"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"vibrate"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"pattern"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"Default"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"channel"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"None"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"Ranking object is missing."</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"Ranking object doesn\'t contain this key."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"Theming"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"Device default"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"Display cutout"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"display cutout, notch"</string>
@@ -4237,8 +4337,12 @@
     <string name="information_label" msgid="6939310810756569298">"Information"</string>
     <string name="low_label" msgid="6525629096999711220">"Low"</string>
     <string name="high_label" msgid="357503396626018487">"High"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"Higher sensitivity may conflict with any app gestures along the edges of the screen."</string>
+    <string name="left_edge" msgid="1513576842959071849">"Left edge"</string>
+    <string name="right_edge" msgid="1505309103265829121">"Right edge"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"Higher sensitivity may conflict with any app gestures along the edges of the screen."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"Back sensitivity"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"Gesture settings"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"gesture navigation, back sensitivity, back gesture"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"Double-tap to check phone"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"Double-tap to check tablet"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"Double-tap to check device"</string>
@@ -4393,7 +4497,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"Trigger Operator Provisioning"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"Update Do Not Disturb"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"Pause notifications to stay focused"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"This feature is not available on this device"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"Feature not available"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"This feature has been turned off because it slows down your phone"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"Force full GNSS measurements"</string>
@@ -4403,20 +4506,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"Select ANGLE enabled app"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"No ANGLE enabled application set"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"ANGLE enabled application: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"Game Driver Preferences"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"Modify Game Driver settings"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"When Game Driver is turned on, you can choose to use the updated graphics driver for Apps installed on the device."</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"Enable for all apps"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"Select Graphics Driver"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"Default"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"Game Driver"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"Pre-release Driver"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"System Graphics Driver"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"Graphics driver preferences"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"Modify graphics driver settings"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"When there are multiple graphics drivers, you can pick to use the updated graphics driver for apps installed on the device."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"Enable for all apps"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"Select graphics driver"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"Default"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"Game driver"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"Developer driver"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"System graphics driver"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"App compatibility changes"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Toggle app compatibility changes"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Default enabled changes"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Default disabled changes"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"Setting isn’t supported on this phone"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"Setting isn’t supported on this tablet"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"Setting isn’t supported on this device"</string>
@@ -4435,6 +4544,11 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"Device"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Unavailable during calls"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"Unavailable"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"Add outputs"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"Group"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 device selected"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> devices selected"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"Switching…"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Take call on"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"This APN cannot be changed."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Improve tablet\'s battery life"</string>
@@ -4552,10 +4666,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Only one downloaded SIM can be active at a time.\n\nSwitching to <xliff:g id="CARRIER1">%1$s</xliff:g> won\'t cancel your <xliff:g id="CARRIER2">%2$s</xliff:g> service."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Switch to <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Delete SIM"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Delete this downloaded SIM?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Erasing this SIM removes <xliff:g id="CARRIER_0">%1$s</xliff:g> service from this device.\n\nService for <xliff:g id="CARRIER_1">%2$s</xliff:g> won’t be cancelled."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Delete"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Erasing SIM…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Can’t delete SIM"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"This SIM can’t be deleted due to an error.\n\nRestart your device and try again."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Preferred network type"</string>
@@ -4580,7 +4690,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Invalid network mode <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Ignore."</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Access point names"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Unavailable when connected to <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"Medical info, emergency contacts"</string>
     <string name="see_more" msgid="7499355691042812723">"See more"</string>
     <string name="see_less" msgid="2642392725363552793">"See less"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"Device to use with <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
@@ -4589,11 +4698,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"Something came up. The application has cancelled the request to choose a device."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"Connection successful"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"Show all"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> devices connected</item>
-      <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_0">%1$d</xliff:g> device connected</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"No Bluetooth devices"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"Searching for device…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"Connecting to device…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"Left"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"Right"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Case"</string>
@@ -4603,6 +4709,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"Unavailable during airplane mode"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"Force desktop mode"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Force experimental desktop mode on secondary displays"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"Enable free-form sizecompat"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"Allows sizecompat apps to be in free form"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Override force-dark"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"Overrides the force-dark feature to be always on"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"Privacy"</string>
@@ -4639,6 +4747,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"You recently installed this app."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Switch output"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Currently playing on <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (disconnected)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Can’t switch. Tap to try again"</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Important information"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"CONTINUE"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"NO THANKS"</string>
@@ -4666,8 +4776,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"SIM combination"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Your work policy info"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Settings managed by your IT admin"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"Bug report handler"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Determines which app handles the bug report shortcut on your device."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Personal"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"Work"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"System default"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"This choice is no longer valid. Try again."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"Stop casting"</string>
 </resources>
diff --git a/res/values-en-rGB/arrays.xml b/res/values-en-rGB/arrays.xml
index 62498e8..b769066 100644
--- a/res/values-en-rGB/arrays.xml
+++ b/res/values-en-rGB/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"Immediately"</item>
     <item msgid="463591454172790676">"5 seconds"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"Do not validate"</item>
+    <item msgid="5703177653586269306">"Request certificate status"</item>
+    <item msgid="326388247868439528">"Require certificate status"</item>
+    <item msgid="1090956283885790552">"Require all non-trusted certificate statuses"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"Push button"</item>
     <item msgid="2630618799033509548">"PIN from peer device"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"None"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"IPSec VPN with preshared keys and Xauth authentication"</item>
     <item msgid="2484564813864139237">"IPSec VPN with certificates and Xauth authentication"</item>
     <item msgid="68918911194507915">"IPSec VPN with certificates and hybrid authentication"</item>
+    <item msgid="4631647675167100375">"IKEv2/IPSec VPN with certificates and username/password authentication"</item>
+    <item msgid="8812228622975052811">"IKEv2/IPSec VPN with pre-shared keys"</item>
+    <item msgid="6630554779981113046">"IKEv2/IPSec VPN with certificates"</item>
   </string-array>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"None"</item>
diff --git a/res/values-en-rGB/config.xml b/res/values-en-rGB/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-en-rGB/config.xml
+++ b/res/values-en-rGB/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index 79ffd6c..74d3a1e 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -31,49 +31,17 @@
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Please enable developer options first."</string>
     <string name="header_category_wireless_networks" msgid="303445626075235229">"Wireless &amp; networks"</string>
     <string name="header_category_system" msgid="1665516346845259058">"System"</string>
-    <string name="radio_info_data_connection_enable" msgid="7500945447906187613">"Enable data connection"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"Disable data connection"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"VoLTE provisioned"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"Video Calling provisioned"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"Wi-Fi Calling provisioned"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"EAB/Presence Provisioned"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"CBRS Data"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"Enable DSDS"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"Restart Device?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"You need to restart your device to change this setting."</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"Restart"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"Cancel"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"Mobile Radio Power"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"View SIM address book"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"View fixed dialling numbers"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"View Service Dialling Numbers"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"IMS Service Status"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"IMS Status"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"Registered"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"Not Registered"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"Available"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"Unavailable"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"IMS Registration: <xliff:g id="STATUS">%1$s</xliff:g>\nVoice over LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nVoice over Wi-Fi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideo Calling: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT Interface: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"In service"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Out of service"</string>
     <string name="radioInfo_service_emergency" msgid="6838935881091760942">"Emergency Calls Only"</string>
     <string name="radioInfo_service_off" msgid="6184928420860868571">"Radio off"</string>
     <string name="radioInfo_roaming_in" msgid="8892550453644088692">"Roaming"</string>
     <string name="radioInfo_roaming_not" msgid="3137594549464975054">"Not roaming"</string>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"Idle"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"Ringing"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"Call in progress"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"Disconnected"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"Connecting"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"Connected"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Suspended"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"unknown"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"pkts"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"bytes"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"Unmount USB storage"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"Unmount SD card"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"Erase USB storage"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"Make the text on screen smaller or larger."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Make smaller"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Make larger"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"Sample text"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"The Wonderful Wizard of Oz"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"Chapter 11: The Wonderful Emerald City of Oz"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"You need to restart your device to change this setting."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"Restart"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"Cancel"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"Available media devices"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"Available call devices"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"Currently connected"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"Media devices"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"Call devices"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"Other devices"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Saved devices"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth will turn on to pair"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Connection preferences"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"The port that you typed is not valid."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"The HTTP proxy is used by the browser but may not be used by the other apps."</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"PAC URL: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"Current subId:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"SubId of default data SIM:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"DL Bandwidth (kbps):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"UL Bandwidth (kbps):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"Mobile location info (deprecated):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"LTE Physical Channel Configuration:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"Mobile info refresh rate:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"All mobile measurement info:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"Data service:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"Roaming:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"Call redirect:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"Number of PPP reset since boot:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"Current network:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"Data Received:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"Voice service:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"Signal strength"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"Voice call status:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"Data sent"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"Message waiting:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"Phone number:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"Select radio band"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"Voice network type:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"Data network type:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"Select phone index"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"Set preferred network type:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"Ping Hostname(www.google.com) IPv4:"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"Ping Hostname(www.google.com) IPv6:"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"HTTP Client test:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"Run ping test"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"Update"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"Refresh"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"Toggle DNS check"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"OEM-specific Info/Settings"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"Set Radio Band Mode"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"Loading band list…"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"Set"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"Unsuccessful"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"Successful"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"Changes take effect when the USB cable is reconnected."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"Enable USB mass storage"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"Total bytes:"</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"Move to bottom"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"Remove language"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"Choose activity"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"Device info"</string>
     <string name="display_label" msgid="3056320781191343221">"Screen"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"Tablet info"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"Phone info"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"USB storage"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"SD card"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"Proxy settings"</string>
@@ -306,9 +234,6 @@
     <string name="airplane_mode" msgid="3196085857882526817">"Aeroplane mode"</string>
     <string name="wireless_networks_settings_title" msgid="8557542379234105369">"Wireless &amp; networks"</string>
     <string name="radio_controls_summary" msgid="9028430178697624501">"Manage Wi‑Fi, Bluetooth, aeroplane mode, mobile networks, &amp; VPNs"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"Mobile data"</string>
-    <string name="calls_title" msgid="6334813967619899114">"Allow calls"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"SMS messages"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"Allow data usage over mobile network"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"Allow data usage when roaming"</string>
     <string name="roaming" msgid="3055365654530847985">"Roaming"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"Connect to data services when roaming"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"You have lost data connectivity because you left your home network with data roaming turned off."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"Turn it on"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"You may incur significant charges."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"When you allow data roaming, you may incur significant roaming charges!\n\nThis setting affects all users on this tablet."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"When you allow data roaming, you may incur significant roaming charges!\n\nThis setting affects all users on this phone."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"Roaming charges may apply."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"When you allow data roaming, roaming charges may apply.\n\nThis setting affects all users on this tablet."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"When you allow data roaming, roaming charges may apply.\n\nThis setting affects all users on this phone."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"Allow data roaming?"</string>
     <string name="networks" msgid="5184501333492775095">"Operator selection"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"Choose a network operator"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"Disabled by admin"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"Show lockdown option"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"Display power button option that turns off Smart Lock, biometric unlocking and notifications on the lock screen"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"Trust agents only extend unlock"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"If enabled, trust agents will keep your device unlocked for longer, but can no longer unlock a locked device."</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"Lock screen when trust is lost"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"If enabled, the device will lock when the last trust agent loses trust"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"None"</string>
@@ -390,7 +313,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"Set My Location, screen unlock, SIM card lock, credential storage lock"</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"Set My Location, screen unlock, credential storage lock"</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"Privacy"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"Disabled by admin"</string>
+    <string name="disabled_by_administrator_summary" msgid="5424846182313851124">"Not available"</string>
     <string name="security_status_title" msgid="6958004275337618656">"Security status"</string>
     <string name="security_dashboard_summary_face" msgid="4198949293847206382">"Screen lock, face unlock"</string>
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Screen lock, fingerprint"</string>
@@ -693,7 +616,6 @@
       <item quantity="other">Must be fewer than <xliff:g id="NUMBER_1">%d</xliff:g> digits</item>
       <item quantity="one">Must be fewer than <xliff:g id="NUMBER_0">%d</xliff:g> digit</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"Must only contain digits 0-9"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"Device admin doesn\'t allow using a recent PIN"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"Common PINs are blocked by your IT admin. Try a different PIN."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"This can\'t include an invalid character"</string>
@@ -724,6 +646,10 @@
       <item quantity="other">Must contain at least <xliff:g id="COUNT">%d</xliff:g> non-letter characters</item>
       <item quantity="one">Must contain at least 1 non-letter character</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="other">Must contain at least <xliff:g id="COUNT">%d</xliff:g> non-numeric characters</item>
+      <item quantity="one">Must contain at least 1 non-numeric character</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"Device admin doesn\'t allow using a recent password"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"Common passwords are blocked by your IT admin. Try a different password."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"Ascending, descending or repeated sequence of digits isn\'t allowed"</string>
@@ -837,19 +763,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2.4 GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"Sign in"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"Open site"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"<xliff:g id="REMAINING_TIME">%1$s</xliff:g> left"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"Expires on <xliff:g id="EXPIRY_TIME">%1$s</xliff:g>"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"Tap here to sign in to network"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"<xliff:g id="REQUESTER">%s</xliff:g> wants to turn on Wi-Fi"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"<xliff:g id="REQUESTER">%s</xliff:g> wants to turn off Wi-Fi"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"Verify bytecode of debuggable apps"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Allow ART to verify bytecode for debuggable apps"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"Show refresh rate"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Show the current display refresh rate"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"Allow data exchange when the tablet touches another device"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"Allow data exchange when the phone touches another device"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"Allow data exchange when the tablet touches an NFC device"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"Allow data exchange when the phone touches an NFC device"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"Turn on NFC"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"NFC exchanges data between this device and other nearby devices or targets, such as payment terminals, access readers and interactive ads or tags."</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"Secure NFC"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Require device unlock for NFC"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"Allow NFC Payment and Public Transport use only when screen is unlocked"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"Ready to transmit app content via NFC"</string>
@@ -923,8 +855,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Turn on"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Wi‑Fi scanning turned on"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Advanced options"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"Drop down list Advanced Options. Double-tap to collapse."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"Drop down list Advanced Options. Double-tap to expand."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Drop-down list Advanced Options"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"expand"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"Network name"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"Enter the SSID"</string>
     <string name="wifi_security" msgid="9095934643631406913">"Security"</string>
@@ -934,6 +866,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"Status"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"Transmit link speed"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"Receive link speed"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"Link speed"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"Frequency"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"IP address"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"Saved via"</string>
@@ -941,6 +874,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"EAP method"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"Phase-2 authentication"</string>
     <string name="wifi_eap_ca_cert" msgid="8033404008276298886">"CA certificate"</string>
+    <string name="wifi_eap_ocsp" msgid="8713933962516871238">"Online certificate status"</string>
     <string name="wifi_eap_domain" msgid="8304301470752333203">"Domain"</string>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"User certificate"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"Identity"</string>
@@ -957,6 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"Choose at least one band for Wi‑Fi hotspot:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"IP settings"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"Privacy"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"Subscription"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"View or change subscription"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"Randomised MAC"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"Add a device"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"Centre the QR code below to add the device to \'<xliff:g id="SSID">%1$s</xliff:g>\'"</string>
@@ -966,12 +902,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"Share Wi‑Fi"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"Scan this QR code to connect to \'<xliff:g id="SSID">%1$s</xliff:g>\' and share the password"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"Scan this QR code to connect to \'<xliff:g id="SSID">%1$s</xliff:g>\'"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"Couldn’t read QR code. Re-centre code and try again"</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"Try again. If the issue continues, contact the device manufacturer"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"Something went wrong"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"Make sure that the device has been plugged in, charged and turned on"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"Make sure that the device has been plugged in, charged and turned on. If the issue continues, contact the device manufacturer"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"Adding \'<xliff:g id="SSID">%1$s</xliff:g>\' isn’t supported by this device"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"Try moving the device closer to your Wi‑Fi access point/router"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"Check the password and try again"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"Contact the device manufacturer"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"Check connection and try again"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"Choose network"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"To connect your device, choose a network"</string>
@@ -984,11 +922,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"Sharing Wi‑Fi with this device…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"Connecting…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"Share hotspot"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"Verify that it\'s you"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"Verify that it\'s you"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"Wi‑Fi password: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"Hotspot password: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"Auto‑connect"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"Allow phone to automatically connect near this network"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"Allow tablet to automatically connect near this network"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"Add device"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"Use a QR code to add a device to this network"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"QR code isn\'t a valid format"</string>
     <string name="retry" msgid="7542103800274026915">"Retry"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"Share with other device users"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(unchanged)"</string>
@@ -1000,6 +942,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"No certificate specified. Your connection will not be private."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"Network name is too long."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"Must specify a domain."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"Certificate required."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"WPS available"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (WPS available)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"Operator Wi‑Fi network"</string>
@@ -1051,7 +994,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"Advanced Wi‑Fi"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"MAC address"</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_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>
@@ -1103,7 +1047,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"Use hotspot to create a Wi‑Fi network for your other devices. Hotspot provides Internet using your mobile data connection. Additional mobile data charges may apply."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"Apps can create a hotspot to share content with nearby devices."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Turn off hotspot automatically"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"Wi‑Fi hotspot will turn off if no devices are connected"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"When no devices are connected"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"Turning hotspot on…"</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"Turning off hotspot…"</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> is active"</string>
@@ -1112,6 +1056,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"Wi‑Fi hotspot setup"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"AndroidAP WPA2 PSK hotspot"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"Android Hotspot"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"Save this network?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"<xliff:g id="APPNAME">%1$s</xliff:g> wants to save a network to your phone"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"<xliff:g id="APPNAME">%1$s</xliff:g> wants to save a network to your tablet"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"Saving…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"Saved"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"Can’t save. Try again."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"Save networks?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"<xliff:g id="APPNAME">%1$s</xliff:g> wants to save these networks to your phone"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"<xliff:g id="APPNAME">%1$s</xliff:g> wants to save these networks to your tablet"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"Saving <xliff:g id="NUMBER">%d</xliff:g> networks…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"Networks saved"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"Wi-Fi Calling"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"Extend calls with Wi‑Fi"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"Turn on Wi‑Fi calling to extend coverage"</string>
@@ -1138,16 +1093,18 @@
     <string name="emergency_address_title" msgid="3490633500025717573">"Emergency Address"</string>
     <string name="emergency_address_summary" msgid="3022628750270626473">"Used as your location when you make an emergency call over Wi‑Fi"</string>
     <string name="private_dns_help_message" msgid="851221502063782306"><annotation id="url">"Learn more"</annotation>" about Private DNS features"</string>
+    <string name="private_dns_mode_on" msgid="8878679071975375696">"On"</string>
     <string name="wifi_calling_pref_managed_by_carrier" msgid="129524064888622179">"Setting managed by operator"</string>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"Activate Wi‑Fi Calling"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"Turn on Wi‑Fi calling"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"Wi‑Fi calling is not supported for %1$s"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"Disconnected from <xliff:g id="SSID">%1$s</xliff:g>"</string>
     <string name="carrier" msgid="1755020806290963951">"Operator"</string>
     <string name="display_settings_title" msgid="626835071804834218">"Display"</string>
     <string name="sound_settings" msgid="5514582720435174014">"Sound"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"Volumes"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"Music effects"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"Ring volume"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"Ring &amp; notification volume"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"Vibrate when silent"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"Default notification sound"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"Ringtone"</string>
@@ -1272,13 +1229,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"Schedule"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"None"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"Turns on from sunset to sunrise"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"Turns on at custom time"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"Status"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"Off/<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"Will never turn on automatically"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"Will turn on automatically at sunset"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"Will turn on automatically at <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"On/<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"Will never turn off automatically"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"Will turn off automatically at sunrise"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"Will turn off automatically at <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"Turn on until <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"Turn off until <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"Dark theme uses a black background to help keep battery alive longer on some screens. Dark theme schedules wait to turn on until your screen is off."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"Screen timeout"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"Screen turns off"</string>
@@ -1290,7 +1252,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"Change wallpaper"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"Personalise your screen"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"Choose wallpaper from"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"Customise your Pixel"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"Customise your phone"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"Try different styles, wallpapers and more"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"Screen saver"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"While charging or docked"</string>
@@ -1379,6 +1341,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"Unmount USB storage, view available storage"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"Unmount SD card, view available storage"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (sim slot %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"To view, choose saved network"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"Phone number"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (sim slot %1$d)"</string>
@@ -1405,6 +1368,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"Roaming"</string>
     <string name="status_operator" msgid="4335640583552058491">"Network"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"Wi‑Fi MAC address"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"Device Wi‑Fi MAC address"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"Bluetooth address"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Serial number"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Uptime"</string>
@@ -1617,6 +1581,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Reset default APN settings completed"</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"Reset options"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"Network, apps or device can be reset"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"Apps can be reset"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"Reset Wi-Fi, mobile &amp; Bluetooth"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"This will reset all network settings, including:\n\n"<li>"Wi‑Fi"</li>\n<li>"Mobile data"</li>\n<li>"Bluetooth"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"Erase downloaded SIMs"</string>
@@ -1666,6 +1631,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"Hotspot on"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"Tethering"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"Can’t tether or use portable hotspots while Data Saver is on"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"Hotspot only"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"USB only"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"Bluetooth only"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"Hotspot, USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"Hotspot, Bluetooth"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB, Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"Hotspot, USB, Bluetooth"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"Not sharing Internet with other devices"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"Tethering"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Don’t use Wi‑Fi hotspot"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Only share Internet via USB"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Only share Internet via Bluetooth"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Only share Internet via USB and Bluetooth"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB tethering"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"Share phone’s Internet connection via USB"</string>
@@ -1756,9 +1734,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"Safety information"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"You don’t have a data connection. To view this information now, go to %s from any computer connected to the Internet."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"Loading…"</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"Use PIN"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"Use pattern"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"Use password"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"Set screen lock"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"For security, set password"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"To use fingerprint, set password"</string>
@@ -1767,8 +1742,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"To use fingerprint, set PIN"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"For security, set pattern"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"Re-enter your password"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"Enter your work password"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"Confirm your pattern"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"Enter your work pattern"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"Re-enter your PIN"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"Enter your work PIN"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"Passwords don\'t match"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"PINs don\'t match"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"Draw your pattern again"</string>
@@ -1779,6 +1757,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"To use face unlock, set password"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"To use face unlock, set pattern"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"To use face unlock, set PIN"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"Forgot your password?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"Forgot your pattern?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"Forgotten your PIN?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"Use your device pattern to continue"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"Enter your device PIN to continue"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"Enter your device password to continue"</string>
@@ -1846,6 +1827,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"Allow all app sources"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"Recently opened apps"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"See all <xliff:g id="COUNT">%1$d</xliff:g> apps"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"Contact your IT admin"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"They can help you reset your PIN, pattern or password"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"Your tablet and personal data are more vulnerable to attack by unknown apps. By installing apps from this source, you agree that you are responsible for any damage to your tablet or loss of data that may result from their use."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"Your phone and personal data are more vulnerable to attack by unknown apps. By installing apps from this source, you agree that you are responsible for any damage to your phone or loss of data that may result from their use."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"Your device and personal data are more vulnerable to attack by unknown apps. By installing apps from this source, you agree that you are responsible for any damage to your device or loss of data that may result from their use."</string>
@@ -1897,7 +1880,7 @@
     <string name="default_emergency_app" msgid="1929974800666613803">"Emergency app"</string>
     <string name="reset_app_preferences" msgid="8861758340732716573">"Reset app preferences"</string>
     <string name="reset_app_preferences_title" msgid="8935136792316050759">"Reset app preferences?"</string>
-    <string name="reset_app_preferences_desc" msgid="1377296810290814749">"This will reset all preferences for:\n\n"<li>"Disabled apps"</li>\n<li>"Disabled app notifications"</li>\n<li>"Default applications for actions"</li>\n<li>"Background data restrictions for apps"</li>\n<li>"Any permission restrictions"</li>\n\n"You will not lose any app data."</string>
+    <string name="reset_app_preferences_desc" msgid="6509978724602405805">"This will reset all preferences for:\n\n"<li>"Disabled apps"</li>\n<li>"Disabled app notifications"</li>\n<li>"Default applications for actions"</li>\n<li>"Background data restrictions for apps"</li>\n<li>"Any permission restrictions"</li>\n\n"You will not lose any app data."</string>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"Reset apps"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"Manage space"</string>
     <string name="filter" msgid="9039576690686251462">"Filter"</string>
@@ -2097,7 +2080,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"Audio and on-screen text"</string>
     <string name="display_category_title" msgid="6638191682294461408">"Display"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"Interaction controls"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"Downloaded services"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"Downloaded apps"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"Experimental"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"Feature flags"</string>
     <string name="talkback_title" msgid="8756080454514251327">"Talkback"</string>
@@ -2105,27 +2088,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"Tap items on your screen to hear them read aloud"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"Caption preferences"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"Magnification"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"Magnification area"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"Magnification enable"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"Choose the magnification area(s) that you want to use when magnifying the screen"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"Full screen"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"Part of screen"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"Full screen &amp; part of screen"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"Magnify entire screen"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"Magnify part of screen"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Magnification settings"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"Magnify with triple-tap"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Magnify with shortcut"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Magnify with shortcut &amp; triple-tap"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"About <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"Options"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"Zoom in on screen"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"Tap 3 times to zoom"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Tap a button to zoom"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><b>"To zoom"</b>", quickly tap the screen 3 times.\n"<ul><li>"Drag 2 or more fingers to scroll"</li>\n<li>"Pinch 2 or more fingers to adjust zoom"</li></ul>\n\n<b>"To zoom temporarily"</b>", quickly tap the screen 3 times and hold down your finger on the third tap.\n"<ul><li>"Drag to move around the screen"</li>\n<li>"Lift finger to zoom out"</li></ul>\n\n"You can\'t zoom in on the keyboard and navigation bar."</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"When magnification is turned on, you can zoom in on your screen.\n\n"<b>"To zoom"</b>", start magnification, then tap anywhere on the screen.\n"<ul><li>"• Drag two or more fingers to scroll"</li>\n<li>"• Pinch two or more fingers to adjust zoom"</li></ul>\n\n<b>"To zoom temporarily"</b>", start magnification, then touch and hold anywhere on the screen.\n"<ul><li>"• Drag to move around the screen"</li>\n<li>"• Lift finger to zoom out"</li></ul>\n\n"You can’t zoom in on the keyboard or navigation bar."</string>
+    <string name="accessibility_screen_magnification_summary" msgid="7617931632990040045">"Quickly zoom in on the screen to see content more clearly.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;To zoom in:&lt;/b&gt;&lt;br/&gt;	1. Use shortcut to start magnification&lt;br/&gt;	2. Tap the screen&lt;br/&gt;	3. Drag two fingers to move around screen&lt;br/&gt;	4. Pinch with two fingers to adjust zoom&lt;br/&gt;	5. Use shortcut to stop magnification&lt;br/&gt;&lt;br/&gt;&lt;b&gt;To zoom in temporarily:&lt;/b&gt;&lt;br/&gt;	1. Use shortcut to start magnification&lt;br/&gt;	2. Touch and hold anywhere on the screen&lt;br/&gt;	3. Drag finger to move around screen&lt;br/&gt;	4. Lift finger to stop magnification"</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"When magnification is turned on, you can zoom in on your screen.\n\n"<b>"To zoom"</b>", start magnification, then tap anywhere on the screen.\n"<ul><li>"Drag 2 or more fingers to scroll"</li>\n<li>"Pinch 2 or more fingers to adjust zoom"</li></ul>\n\n<b>"To zoom temporarily"</b>", start magnification, then touch and hold anywhere on the screen.\n"<ul><li>"Drag to move around the screen"</li>\n<li>"Lift finger to zoom out"</li></ul>\n\n"You can’t zoom in on the keyboard or navigation bar."</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Use accessibility button to open"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Use gesture to open"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"Use new accessibility gesture"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"To turn this service on or off, tap the accessibility button<xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>at the bottom of your screen.\n\nTo switch between services, touch &amp; hold the accessibility button."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"To turn this service on or off, swipe up from the bottom of the screen with two fingers.\n\nTo switch between services, swipe up with two fingers and hold."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"To turn this service on or off, swipe up from the bottom of the screen with three fingers.\n\nTo switch between services, swipe up with three fingers and hold."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"To turn an accessibility service on or off, swipe up from the bottom of the screen with two fingers.\n\nTo switch between services, swipe up with two fingers and hold."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"To turn an accessibility service on or off, swipe up from the bottom of the screen with three fingers.\n\nTo switch between services, swipe up with three fingers and hold."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"To turn this service on or off, tap the accessibility button <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> on the bottom of your screen.\n\nTo switch between services, touch and hold the accessibility button."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"To turn this service on or off, swipe up from the bottom of the screen with two fingers.\n\nTo switch between services, swipe up with two fingers and hold."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"To turn this service on or off, swipe up from the bottom of the screen with three fingers.\n\nTo switch between services, swipe up with three fingers and hold."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"To turn an accessibility service on or off, swipe up from the bottom of the screen with two fingers.\n\nTo switch between services, swipe up with two fingers and hold."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"To turn an accessibility service on or off, swipe up from the bottom of the screen with three fingers.\n\nTo switch between services, swipe up with three fingers and hold."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"OK"</string>
+    <string name="accessibility_shortcut_title" msgid="8125867833704517463">"<xliff:g id="SERVICE">%1$s</xliff:g> shortcut"</string>
+    <string name="accessibility_shortcut_edit_summary_software" msgid="2820923641553461297">"Accessibility button"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture" msgid="8078659880723370597">"Swipe up with two fingers"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture_talkback" msgid="7422753388389160524">"Swipe up with three fingers"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software" msgid="4796192466943479849">"Tap accessibility button"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8922102767509399352">"Tap the accessibility button <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> at the bottom of your screen"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"Swipe up from the bottom of the screen with two fingers"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"Swipe up from the bottom of the screen with three fingers"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Hold volume keys"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"Press &amp; hold both volume keys for one second"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Triple-tap screen"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"Quickly tap screen three times. This shortcut may slow down your device."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"Advanced"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"The accessibility button is set to <xliff:g id="SERVICE">%1$s</xliff:g>. To use magnification, touch &amp; hold the accessibility button, then select magnification."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"The accessibility gesture is set to the <xliff:g id="SERVICE">%1$s</xliff:g>. To use magnification, swipe up with two fingers from the bottom of the screen and hold. Then select magnification."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"Volume key shortcut"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"Shortcut service"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Shortcut settings"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"Allow from lock screen"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"When the shortcut is on, you can press both volume keys for 3 seconds to start an accessibility feature."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"High-contrast text"</string>
@@ -2149,24 +2157,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"Choose how long to show messages that ask you to take action, but are visible only temporarily.\n\nNot all apps support this setting."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"Touch and hold delay"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"Colour inversion"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"May affect performance"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"Dwell timing"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"Use colour inversion"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"Colour inversion turns light screens dark. This helps people who are sensitive to bright light see the screen more easily.&lt;br/&gt;&lt;br/&gt;Note: Dark colours will turn light. Colours will change in media and images. You can also use Dark theme (Settings &gt; Display)."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"Auto click (dwell timing)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"If you are using a mouse, you can set the cursor to take action automatically when it stops moving for a certain amount of time."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"Delay before click"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"Don’t use auto click (default)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"Short"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0.2 seconds"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"Medium"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0.6 seconds"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"Long"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 second"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"Custom"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"Shorter"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"Longer"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"Auto click time"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"Vibration and haptic strength"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Notification vibration"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Ring vibration"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Touch feedback"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"Use service"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"Use <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"Open <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"Use colour correction"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"Use captions"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"Show captions"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"Caption appearance"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"Text size, caption style"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"More options"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"Not all apps support this setting."</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"Accessibility button"</string>
+    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"2-finger swipe up from bottom"</string>
+    <string name="accessibility_shortcut_type_hardware" msgid="4834144210432451916">"Hold volume keys"</string>
+    <string name="accessibility_shortcut_type_triple_tap" msgid="7717524216825494543">"Triple-tap screen"</string>
     <string name="accessibility_hearingaid_instruction_continue_button" msgid="3367260988024430722">"Continue"</string>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"Hearing aids"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"No hearing aids connected"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"Add hearing aids"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"To pair your hearing aids, find and tap your device on the next screen."</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"Make sure that your hearing aids are in pairing mode."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"To pair your hearing aids, find and tap your device on the next screen. Make sure that your hearing aids are in pairing mode."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> active"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> saved hearing aids</item>
@@ -2178,25 +2204,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"This service is malfunctioning."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Show in Quick Settings"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"Correction mode"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="other">Extremely short delay (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Extremely short delay (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Red-green"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"Green-red"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Blue-yellow"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"Deuteranomaly"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"Protanomaly"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"Tritanomaly"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="other">Extremely short delay (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> seconds)</item>
+      <item quantity="one">Extremely short delay (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> second)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="other">Very short delay (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Very short delay (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="other">Very short delay (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> seconds)</item>
+      <item quantity="one">Very short delay (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> second)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="other">Short delay (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Short delay (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="other">Short delay (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> seconds)</item>
+      <item quantity="one">Short delay (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> second)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="other">Long delay (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Long delay (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="other">Long delay (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> seconds)</item>
+      <item quantity="one">Long delay (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> second)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="other">Very long delay (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Very long delay (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="other">Very long delay (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> seconds)</item>
+      <item quantity="one">Very long delay (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> second)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> seconds</item>
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> second</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"Ring <xliff:g id="SUMMARY_RING">%1$s</xliff:g>, notification <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>, touch <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"Ring &amp; notification set to off"</string>
@@ -2513,7 +2549,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"While last for unplugged for <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"Usage totals"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"Refresh"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"Android OS"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"Media server"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"App optimisation"</string>
     <string name="battery_saver" msgid="7737147344510595864">"Battery Saver"</string>
@@ -2594,8 +2629,7 @@
     <string name="tts_play" msgid="2945513377250757221">"Play"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"Credential storage"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"Install from storage"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"Install from SD card"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"Install a certificate"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"Install certificates from storage"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"Install certificates from SD card"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"Clear credentials"</string>
@@ -2615,6 +2649,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"Credential storage has been erased."</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"Credential storage couldn\'t be erased."</string>
     <string name="usage_access_title" msgid="1580006124578134850">"Apps with usage access"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"CA certificate"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"VPN and app user certificate"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"Wi‑Fi certificate"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"Your privacy is at risk"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"CA certificates are used by websites, apps and VPNs for encryption. Only install CA certificates from organisations that you trust. \n\n If you install a CA certificate, the certificate owner could access your information, such as passwords, messages or credit card details, from websites that you visit or apps that you use – even if that information is encrypted."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"Don’t install"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"Install anyway"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"Certificate not installed"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"Emergency dialling signal"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Set behaviour when an emergency call is placed"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Backup"</string>
@@ -2642,10 +2684,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"Deactivate &amp; uninstall"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"Device admin apps"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"No device admin apps available"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"Personal"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"Work"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"Restrict SMS &amp; call log access"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"Only default phone and messaging apps have SMS &amp; call log permissions"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"No available trust agents"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"Activate device admin app?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"Activate this device admin app"</string>
@@ -2659,6 +2697,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"Other options are disabled by your admin"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"More details"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"Notification log"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"Notification history"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"Today"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"Snoozed"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"Recently dismissed"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> notifications</item>
+      <item quantity="one"><xliff:g id="NUMBER_0">%d</xliff:g> notification</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"Call ringtone &amp; vibrate"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"Network details"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"Sync enabled"</string>
@@ -3008,7 +3054,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"Restrictions"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"Remove restrictions"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"Change PIN"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"Show notifications"</string>
     <string name="help_label" msgid="2896538416436125883">"Help &amp; feedback"</string>
     <string name="support_summary" msgid="1034146931237148885">"Help articles, phone &amp; chat, getting started"</string>
     <string name="user_account_title" msgid="6389636876210834864">"Account for content"</string>
@@ -3033,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G Calling"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Use LTE services to improve voice and other communications (recommended)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Use 4G services to improve voice and other communications (recommended)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Contact discovery"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Allows your operator to discover which calling features your contacts support."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Enable contact discovery?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Enabling this feature will allow your operator access to phone numbers in your contacts in order to discover which calling features they support."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Preferred network type"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (recommended)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS messages"</string>
@@ -3077,7 +3126,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"Call with"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"Select a SIM card"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"SIM <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"SIM empty"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"SIM name"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"Enter SIM name"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"SIM slot %1$d"</string>
@@ -3087,6 +3135,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"Select SIM card"</string>
     <string name="color_orange" msgid="216547825489739010">"Orange"</string>
     <string name="color_purple" msgid="6603701972079904843">"Purple"</string>
+    <string name="color_pink" msgid="8596872110888626708">"Pink"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"No SIM cards inserted"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"SIM status"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"SIM status (sim slot %1$d)"</string>
@@ -3100,7 +3149,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"SIM cards changed."</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Tap to set up"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"Preferred SIM for"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Ask every time"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Selection required"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"SIM selection"</string>
@@ -3118,6 +3166,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"Bluetooth, driving mode"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"Bluetooth, NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"Bluetooth"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"Unavailable because NFC is off"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"Apps and notifications"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Recent apps, default apps"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Notification access is not available for apps in the work profile."</string>
@@ -3128,13 +3177,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"Settings"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"wifi, wi-fi, network connection, internet, wireless, data, wi fi"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"Wi‑Fi notification, wi-fi notification"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"data usage"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"Stop vibration, tap, keyboard"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"Use 24-hour format"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"Download"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"Open with"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"Applications"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"time zone"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"Chat head"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"Chat head, system, alert, window, dialogue, display, on top other apps, draw"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"Flashlight, Light, Torch"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"wifi, wi-fi, toggle, control"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"mobile, mobile operator, wireless, data, 4g,3g, 2g, lte"</string>
@@ -3158,7 +3208,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"don\'t disturb, interrupt, interruption, break"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"nearby, location, history, reporting, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"account"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"account, add an account, work profile, add account"</string>
     <string name="keywords_users" msgid="3497517660077620843">"restriction, restrict, restricted"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"text correction, correct, sound, vibrate, auto, language, gesture, suggest, suggestion, theme, offensive, word, type, emoji, international"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"reset, preferences, default"</string>
@@ -3196,6 +3246,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"memory, cache, data, delete, clear, free, space"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"connected, device, headphones, headset, speaker, wireless, pair, earbuds, music, media"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"background, screen, lockscreen, theme"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"icon shape, accent colour, font"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"default, assistant"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"payment, default"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"incoming notification"</string>
@@ -3205,18 +3256,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"haptics, vibrate, sensitivity"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"battery saver, sticky, persist, power saver, battery"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"routine, schedule, battery saver, power saver, battery, automatic, per cent"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"work profile"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"VoLTE, advanced calling, 4G calling"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"add language, add a language"</string>
     <string name="default_sound" msgid="6604374495015245195">"Default sound"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"Ring volume at <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"Ring &amp; notification volume at <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Volume, vibration, Do Not Disturb"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"Ringer set to vibrate"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"Ringer set to silent"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"Ring volume at 80%"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"Ring &amp; notification volume at 80%"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Media volume"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Cast volume"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"Call volume"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"Alarm volume"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"Ring volume"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"Ring &amp; notification volume"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"Notification volume"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"Phone ringtone"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"Default notification sound"</string>
@@ -3224,6 +3276,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"Default notification sound"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"Default alarm sound"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"Vibrate for calls"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"Never vibrate"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"Always vibrate"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"Vibrate first, then ring gradually"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"Other sounds"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"Dial pad tones"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"Screen-locking sounds"</string>
@@ -3247,6 +3302,7 @@
       <item quantity="one">1 enabled</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Do not disturb"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Only get notified by important people and apps"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Limit interruptions"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Turn on Do Not Disturb"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"Exceptions"</string>
@@ -3273,7 +3329,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Block visual disturbances"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Allow visual signals"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"When Do Not Disturb is on"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"Allow interruptions that make sound"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"Restrict notifications"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"No sound from notifications"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"You will see notifications on your screen"</string>
@@ -3304,7 +3360,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"Sound and vibration"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"Sound, vibration and some visual signs of notifications"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"Sound, vibration and visual signs of notifications"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"Notifications needed for basic phone activity and status will never be hidden"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"Notifications needed for basic phone activity and status will never be hidden."</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"None"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"other options"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"Add"</string>
@@ -3334,10 +3390,12 @@
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> schedules can turn on automatically</item>
       <item quantity="one">1 schedule can turn on automatically</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"Mute device but allow exceptions"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"Exceptions"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"Schedule"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"See all exceptions"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"Exceptions when Do Not Disturb is on"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"People"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"Apps"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"Alarms and other interruptions"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"Schedules"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"Silenced notifications"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"When Do Not Disturb is on, sound and vibration will be muted, except for the items that you allow above."</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"Mute all except"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"Muted"</string>
@@ -3381,16 +3439,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"Adaptive notifications"</string>
     <string name="asst_capability_prioritizer_title" msgid="1181272430009156556">"Adaptive notification priority"</string>
     <string name="asst_capability_prioritizer_summary" msgid="954988212366568737">"Automatically set lower priority notifications to Gentle"</string>
+    <string name="asst_capability_ranking_title" msgid="312998580233257581">"Adaptive notification ranking"</string>
+    <string name="asst_capability_ranking_summary" msgid="2293524677144599450">"Automatically rank notifications by relevance"</string>
     <string name="asst_capabilities_actions_replies_title" msgid="4392470465646394289">"Suggested actions and replies"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"Automatically show suggested actions and replies"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"Turn on notification history to keep track of past notifications and snoozed notifications"</string>
+    <string name="notification_history" msgid="8663811361243456201">"Notification history"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"Turn on history"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"Turn off history"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"Notification history is turned off"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"view notification settings"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Allow notification snoozing"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"Hide icons from gentle notifications"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"Icons from gentle notifications aren\'t shown in the status bar"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"Allow notification dots"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"Show strip of recent conversations"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Bubbles"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"Some notifications can appear as bubbles on the screen"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"Some notifications and other content can appear as bubbles on the screen. To open a bubble, tap it. To dismiss it, drag it down the screen."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Bubbles"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"New messages will appear on screen"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"Allow <xliff:g id="APP_NAME">%1$s</xliff:g> to show some notifications as bubbles"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"Turn on bubbles"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"To turn on bubbles for this app, first you need to turn them on for your device. This affects other apps in which you previously turned on bubbles."</string>
@@ -3408,6 +3476,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"Display in pull-down shade &amp; on lock screen"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"Display in pull-down shade &amp; status bar"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"Display in pull-down shade, status bar &amp; on lock screen"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"Hide silent notifications in status bar"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"Blink light"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"Lock screen"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"Skip lock screen"</string>
@@ -3438,6 +3507,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"Behaviour"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"Allow sound"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"Never show notifications"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"Conversations"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"Conversation"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"Not a conversation"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"Remove from the conversation section"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"This is a conversation"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"Add to the conversation section"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"Manage conversations"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"Important conversations"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"All conversations"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"Bubble important conversations"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"Important conversations show at the top of the pull-down shade. You can also set them to bubble and interrupt Do Not Disturb."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"Show silently and minimise"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"Show silently"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"Make sound"</string>
@@ -3456,7 +3536,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"Helps you focus without sound or vibration"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"Gets your attention with sound or vibration"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"When device is unlocked, show notifications as a banner across the top of the screen"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"Show notifications"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"All <xliff:g id="APP_NAME">%1$s</xliff:g> notifications"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"Adaptive Notifications"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="other">~<xliff:g id="NUMBER_1">%d</xliff:g> notifications per day</item>
@@ -3477,6 +3557,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"Adaptive Notifications"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"None"</string>
     <string name="no_notification_listeners" msgid="2839354157349636000">"No installed apps have requested notification access."</string>
+    <string name="notification_access_detail_switch" msgid="46386786409608330">"Allow notification access"</string>
     <string name="notification_assistant_security_warning_title" msgid="2972346436050925276">"Allow notification access for <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
     <string name="notification_assistant_security_warning_summary" msgid="3119843404577399036">"<xliff:g id="NOTIFICATION_ASSISTANT_NAME">%1$s</xliff:g> will be able to read all notifications, including personal information such as contact names, and the text of messages that you receive. It will also be able to modify or dismiss notifications or trigger action buttons that they contain. \n\nThis will also give the app the ability to turn Do Not Disturb on or off and change related settings."</string>
     <string name="notification_listener_security_warning_title" msgid="5791700876622858363">"Allow notification access for <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
@@ -3538,8 +3619,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"Done"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"Importance"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"Blink light"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"Vibrate"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"Vibration"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"Sound"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"Important"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"Add to home"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"Delete"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"Rename"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"Schedule name"</string>
@@ -3593,6 +3676,10 @@
       <item quantity="other"><xliff:g id="NUM_PEOPLE">%d</xliff:g> others</item>
       <item quantity="one">1 other</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Conversations"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"From all conversations"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"From important conversations"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"Don’t allow any conversations"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"Allow messages"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"To make sure that allowed messages make sound, check whether your device is set to ring, vibrate or silent."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"For ‘<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>’, incoming messages are blocked. You can adjust settings to allow your friends, family or other contacts to reach you."</string>
@@ -3606,15 +3693,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"None"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"Don’t allow any calls"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"Don’t allow any messages"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"Allow alarms"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"Alarms"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"From timers, alarms, security systems and other apps"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"alarms"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"Play media sounds"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"Media sounds"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"From videos, games and other media"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"media"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"Allow touch sounds"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"Touch sounds"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"From your keyboard and other buttons"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"touch sounds"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"Allow reminders"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"Reminders"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"From tasks and reminders"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"reminders"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"Allow events"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"Events"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"From upcoming calendar events"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Allow apps to override"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"App exceptions"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3657,6 +3749,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"Let notifications silenced by Do Not Disturb turn on the screen"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"Notification settings"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"OK"</string>
+    <string name="suggestion_button_close" msgid="6865170855573283759">"Close"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Send feedback about this device"</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"Enter admin PIN"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"On"</string>
@@ -3667,6 +3760,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Ask for PIN before unpinning"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Ask for password before unpinning"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Lock device when unpinning"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Confirm SIM deletion"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"Verify that it\'s you before erasing a downloaded SIM"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"This work profile is managed by:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"Managed by <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(Experimental)"</string>
@@ -3741,8 +3836,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"All apps"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Installed apps"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Instant Apps"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"Personal"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"Work"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"Apps: All"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"Turned off"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"Categories: Urgent importance"</string>
@@ -3754,6 +3847,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"Unknown app"</string>
     <string name="app_permissions" msgid="8666537659217653626">"Permission manager"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"Apps using <xliff:g id="APPS">%1$s</xliff:g>"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"Apps using <xliff:g id="APPS">%1$s</xliff:g>, and more"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"Tap to wake"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"Double-tap anywhere on the screen to wake device"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"Opening links"</string>
@@ -3765,9 +3859,14 @@
       <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> apps opening supported links</item>
       <item quantity="one">One app opening supported links</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"Open in this app"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"Allow app to open supported links"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"Ask every time"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"Don’t open in this app"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"Don’t allow app to open links"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="other">App claims to handle <xliff:g id="COUNT_1">%d</xliff:g> links</item>
+      <item quantity="one">App claims to handle <xliff:g id="COUNT_0">%d</xliff:g> link</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"App claims to handle following links:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"Default"</string>
     <string name="default_for_work" msgid="537558180548617528">"Default for work"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"Assist and voice input"</string>
@@ -3911,8 +4010,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"Display over other apps"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Allow display over other apps"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"Allow this app to display on top of other apps that you’re using. It may interfere with your use of those apps or change the way they seem to appear or behave."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"All files access"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"Allow access to manage all files"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Allow this app to read, modify and delete all files on this device or any connected storage volumes. If granted, app may access files without your explicit knowledge."</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"Can access all files"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"VR virtual reality listener stereo helper service"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"system alert window dialogue display on top of other apps"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"Display over other apps"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"<xliff:g id="COUNT_0">%1$d</xliff:g> of <xliff:g id="COUNT_1">%2$d</xliff:g> apps allowed to display over other apps"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"Apps with permission"</string>
@@ -4078,6 +4180,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"<xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g> used"</string>
     <string name="data_overusage" msgid="3680477320458707259">"<xliff:g id="ID_1">^1</xliff:g> over"</string>
     <string name="data_remaining" msgid="6316251496381922837">"<xliff:g id="ID_1">^1</xliff:g> left"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"Graph showing data usage between <xliff:g id="START_DATE">%1$s</xliff:g> and <xliff:g id="END_DATE">%2$s</xliff:g>."</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"No data in this date range"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="other">%d days left</item>
       <item quantity="one">%d day left</item>
@@ -4141,14 +4245,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"parcel size"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"notification alerted"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"sound"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"vibrate"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"pattern"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"Default"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"channel"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"None"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"Ranking object is missing."</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"Ranking object doesn\'t contain this key."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"Theming"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"Device default"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"Display cutout"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"display cutout, notch"</string>
@@ -4237,8 +4337,12 @@
     <string name="information_label" msgid="6939310810756569298">"Information"</string>
     <string name="low_label" msgid="6525629096999711220">"Low"</string>
     <string name="high_label" msgid="357503396626018487">"High"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"Higher sensitivity may conflict with any app gestures along the edges of the screen."</string>
+    <string name="left_edge" msgid="1513576842959071849">"Left edge"</string>
+    <string name="right_edge" msgid="1505309103265829121">"Right edge"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"Higher sensitivity may conflict with any app gestures along the edges of the screen."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"Back sensitivity"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"Gesture settings"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"gesture navigation, back sensitivity, back gesture"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"Double-tap to check phone"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"Double-tap to check tablet"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"Double-tap to check device"</string>
@@ -4393,7 +4497,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"Trigger Operator Provisioning"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"Update Do Not Disturb"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"Pause notifications to stay focused"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"This feature is not available on this device"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"Feature not available"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"This feature has been turned off because it slows down your phone"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"Force full GNSS measurements"</string>
@@ -4403,20 +4506,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"Select ANGLE enabled app"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"No ANGLE enabled application set"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"ANGLE enabled application: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"Game Driver Preferences"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"Modify Game Driver settings"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"When Game Driver is turned on, you can choose to use the updated graphics driver for Apps installed on the device."</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"Enable for all apps"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"Select Graphics Driver"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"Default"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"Game Driver"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"Pre-release Driver"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"System Graphics Driver"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"Graphics driver preferences"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"Modify graphics driver settings"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"When there are multiple graphics drivers, you can pick to use the updated graphics driver for apps installed on the device."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"Enable for all apps"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"Select graphics driver"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"Default"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"Game driver"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"Developer driver"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"System graphics driver"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"App compatibility changes"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Toggle app compatibility changes"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Default enabled changes"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Default disabled changes"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"Setting isn’t supported on this phone"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"Setting isn’t supported on this tablet"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"Setting isn’t supported on this device"</string>
@@ -4435,6 +4544,11 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"Device"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Unavailable during calls"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"Unavailable"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"Add outputs"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"Group"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 device selected"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> devices selected"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"Switching…"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Take call on"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"This APN cannot be changed."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Improve tablet\'s battery life"</string>
@@ -4552,10 +4666,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Only one downloaded SIM can be active at a time.\n\nSwitching to <xliff:g id="CARRIER1">%1$s</xliff:g> won\'t cancel your <xliff:g id="CARRIER2">%2$s</xliff:g> service."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Switch to <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Delete SIM"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Delete this downloaded SIM?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Erasing this SIM removes <xliff:g id="CARRIER_0">%1$s</xliff:g> service from this device.\n\nService for <xliff:g id="CARRIER_1">%2$s</xliff:g> won’t be cancelled."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Delete"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Erasing SIM…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Can’t delete SIM"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"This SIM can’t be deleted due to an error.\n\nRestart your device and try again."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Preferred network type"</string>
@@ -4580,7 +4690,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Invalid network mode <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Ignore."</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Access point names"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Unavailable when connected to <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"Medical info, emergency contacts"</string>
     <string name="see_more" msgid="7499355691042812723">"See more"</string>
     <string name="see_less" msgid="2642392725363552793">"See less"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"Device to use with <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
@@ -4589,11 +4698,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"Something came up. The application has cancelled the request to choose a device."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"Connection successful"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"Show all"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> devices connected</item>
-      <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_0">%1$d</xliff:g> device connected</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"No Bluetooth devices"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"Searching for device…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"Connecting to device…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"Left"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"Right"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Case"</string>
@@ -4603,6 +4709,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"Unavailable during airplane mode"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"Force desktop mode"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Force experimental desktop mode on secondary displays"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"Enable free-form sizecompat"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"Allows sizecompat apps to be in free form"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Override force-dark"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"Overrides the force-dark feature to be always on"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"Privacy"</string>
@@ -4639,6 +4747,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"You recently installed this app."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Switch output"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Currently playing on <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (disconnected)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Can’t switch. Tap to try again"</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Important information"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"CONTINUE"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"NO THANKS"</string>
@@ -4666,8 +4776,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"SIM combination"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Your work policy info"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Settings managed by your IT admin"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"Bug report handler"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Determines which app handles the bug report shortcut on your device."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Personal"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"Work"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"System default"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"This choice is no longer valid. Try again."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"Stop casting"</string>
 </resources>
diff --git a/res/values-en-rIN/arrays.xml b/res/values-en-rIN/arrays.xml
index 62498e8..b769066 100644
--- a/res/values-en-rIN/arrays.xml
+++ b/res/values-en-rIN/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"Immediately"</item>
     <item msgid="463591454172790676">"5 seconds"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"Do not validate"</item>
+    <item msgid="5703177653586269306">"Request certificate status"</item>
+    <item msgid="326388247868439528">"Require certificate status"</item>
+    <item msgid="1090956283885790552">"Require all non-trusted certificate statuses"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"Push button"</item>
     <item msgid="2630618799033509548">"PIN from peer device"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"None"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"IPSec VPN with preshared keys and Xauth authentication"</item>
     <item msgid="2484564813864139237">"IPSec VPN with certificates and Xauth authentication"</item>
     <item msgid="68918911194507915">"IPSec VPN with certificates and hybrid authentication"</item>
+    <item msgid="4631647675167100375">"IKEv2/IPSec VPN with certificates and username/password authentication"</item>
+    <item msgid="8812228622975052811">"IKEv2/IPSec VPN with pre-shared keys"</item>
+    <item msgid="6630554779981113046">"IKEv2/IPSec VPN with certificates"</item>
   </string-array>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"None"</item>
diff --git a/res/values-en-rIN/config.xml b/res/values-en-rIN/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-en-rIN/config.xml
+++ b/res/values-en-rIN/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
index 0913f0a..db51bb6 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -31,49 +31,17 @@
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Please enable developer options first."</string>
     <string name="header_category_wireless_networks" msgid="303445626075235229">"Wireless &amp; networks"</string>
     <string name="header_category_system" msgid="1665516346845259058">"System"</string>
-    <string name="radio_info_data_connection_enable" msgid="7500945447906187613">"Enable data connection"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"Disable data connection"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"VoLTE provisioned"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"Video Calling provisioned"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"Wi-Fi Calling provisioned"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"EAB/Presence Provisioned"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"CBRS Data"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"Enable DSDS"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"Restart Device?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"You need to restart your device to change this setting."</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"Restart"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"Cancel"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"Mobile Radio Power"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"View SIM address book"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"View fixed dialling numbers"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"View Service Dialling Numbers"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"IMS Service Status"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"IMS Status"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"Registered"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"Not Registered"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"Available"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"Unavailable"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"IMS Registration: <xliff:g id="STATUS">%1$s</xliff:g>\nVoice over LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nVoice over Wi-Fi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideo Calling: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT Interface: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"In service"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Out of service"</string>
     <string name="radioInfo_service_emergency" msgid="6838935881091760942">"Emergency Calls Only"</string>
     <string name="radioInfo_service_off" msgid="6184928420860868571">"Radio off"</string>
     <string name="radioInfo_roaming_in" msgid="8892550453644088692">"Roaming"</string>
     <string name="radioInfo_roaming_not" msgid="3137594549464975054">"Not roaming"</string>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"Idle"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"Ringing"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"Call in progress"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"Disconnected"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"Connecting"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"Connected"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Suspended"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"unknown"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"pkts"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"bytes"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"Unmount USB storage"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"Unmount SD card"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"Erase USB storage"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"Make the text on screen smaller or larger."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Make smaller"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Make larger"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"Sample text"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"The Wonderful Wizard of Oz"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"Chapter 11: The Wonderful Emerald City of Oz"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"You need to restart your device to change this setting."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"Restart"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"Cancel"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"Available media devices"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"Available call devices"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"Currently connected"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"Media devices"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"Call devices"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"Other devices"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Saved devices"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth will turn on to pair"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Connection preferences"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"The port that you typed is not valid."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"The HTTP proxy is used by the browser but may not be used by the other apps."</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"PAC URL: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"Current subId:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"SubId of default data SIM:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"DL Bandwidth (kbps):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"UL Bandwidth (kbps):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"Mobile location info (deprecated):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"LTE Physical Channel Configuration:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"Mobile info refresh rate:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"All mobile measurement info:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"Data service:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"Roaming:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"Call redirect:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"Number of PPP reset since boot:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"Current network:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"Data Received:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"Voice service:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"Signal strength"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"Voice call status:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"Data sent"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"Message waiting:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"Phone number:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"Select radio band"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"Voice network type:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"Data network type:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"Select phone index"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"Set preferred network type:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"Ping Hostname(www.google.com) IPv4:"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"Ping Hostname(www.google.com) IPv6:"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"HTTP Client test:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"Run ping test"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"Update"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"Refresh"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"Toggle DNS check"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"OEM-specific Info/Settings"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"Set Radio Band Mode"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"Loading band list…"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"Set"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"Unsuccessful"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"Successful"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"Changes take effect when the USB cable is reconnected."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"Enable USB mass storage"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"Total bytes:"</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"Move to bottom"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"Remove language"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"Choose activity"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"Device info"</string>
     <string name="display_label" msgid="3056320781191343221">"Screen"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"Tablet info"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"Phone info"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"USB storage"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"SD card"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"Proxy settings"</string>
@@ -306,9 +234,6 @@
     <string name="airplane_mode" msgid="3196085857882526817">"Aeroplane mode"</string>
     <string name="wireless_networks_settings_title" msgid="8557542379234105369">"Wireless &amp; networks"</string>
     <string name="radio_controls_summary" msgid="9028430178697624501">"Manage Wi‑Fi, Bluetooth, aeroplane mode, mobile networks, &amp; VPNs"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"Mobile data"</string>
-    <string name="calls_title" msgid="6334813967619899114">"Allow calls"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"SMS messages"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"Allow data usage over mobile network"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"Allow data usage when roaming"</string>
     <string name="roaming" msgid="3055365654530847985">"Roaming"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"Connect to data services when roaming"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"You have lost data connectivity because you left your home network with data roaming turned off."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"Turn it on"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"You may incur significant charges."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"When you allow data roaming, you may incur significant roaming charges!\n\nThis setting affects all users on this tablet."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"When you allow data roaming, you may incur significant roaming charges!\n\nThis setting affects all users on this phone."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"Roaming charges may apply."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"When you allow data roaming, roaming charges may apply.\n\nThis setting affects all users on this tablet."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"When you allow data roaming, roaming charges may apply.\n\nThis setting affects all users on this phone."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"Allow data roaming?"</string>
     <string name="networks" msgid="5184501333492775095">"Operator selection"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"Choose a network operator"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"Disabled by admin"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"Show lockdown option"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"Display power button option that turns off Smart Lock, biometric unlocking and notifications on the lock screen"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"Trust agents only extend unlock"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"If enabled, trust agents will keep your device unlocked for longer, but can no longer unlock a locked device."</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"Lock screen when trust is lost"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"If enabled, the device will lock when the last trust agent loses trust"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"None"</string>
@@ -390,7 +313,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"Set My Location, screen unlock, SIM card lock, credential storage lock"</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"Set My Location, screen unlock, credential storage lock"</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"Privacy"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"Disabled by admin"</string>
+    <string name="disabled_by_administrator_summary" msgid="5424846182313851124">"Not available"</string>
     <string name="security_status_title" msgid="6958004275337618656">"Security status"</string>
     <string name="security_dashboard_summary_face" msgid="4198949293847206382">"Screen lock, face unlock"</string>
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Screen lock, fingerprint"</string>
@@ -693,7 +616,6 @@
       <item quantity="other">Must be fewer than <xliff:g id="NUMBER_1">%d</xliff:g> digits</item>
       <item quantity="one">Must be fewer than <xliff:g id="NUMBER_0">%d</xliff:g> digit</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"Must only contain digits 0-9"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"Device admin doesn\'t allow using a recent PIN"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"Common PINs are blocked by your IT admin. Try a different PIN."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"This can\'t include an invalid character"</string>
@@ -724,6 +646,10 @@
       <item quantity="other">Must contain at least <xliff:g id="COUNT">%d</xliff:g> non-letter characters</item>
       <item quantity="one">Must contain at least 1 non-letter character</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="other">Must contain at least <xliff:g id="COUNT">%d</xliff:g> non-numeric characters</item>
+      <item quantity="one">Must contain at least 1 non-numeric character</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"Device admin doesn\'t allow using a recent password"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"Common passwords are blocked by your IT admin. Try a different password."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"Ascending, descending or repeated sequence of digits isn\'t allowed"</string>
@@ -837,19 +763,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2.4 GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"Sign in"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"Open site"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"<xliff:g id="REMAINING_TIME">%1$s</xliff:g> left"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"Expires on <xliff:g id="EXPIRY_TIME">%1$s</xliff:g>"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"Tap here to sign in to network"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"<xliff:g id="REQUESTER">%s</xliff:g> wants to turn on Wi-Fi"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"<xliff:g id="REQUESTER">%s</xliff:g> wants to turn off Wi-Fi"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"Verify bytecode of debuggable apps"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Allow ART to verify bytecode for debuggable apps"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"Show refresh rate"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Show the current display refresh rate"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"Allow data exchange when the tablet touches another device"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"Allow data exchange when the phone touches another device"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"Allow data exchange when the tablet touches an NFC device"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"Allow data exchange when the phone touches an NFC device"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"Turn on NFC"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"NFC exchanges data between this device and other nearby devices or targets, such as payment terminals, access readers and interactive ads or tags."</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"Secure NFC"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Require device unlock for NFC"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"Allow NFC Payment and Public Transport use only when screen is unlocked"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"Ready to transmit app content via NFC"</string>
@@ -923,8 +855,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Turn on"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Wi‑Fi scanning turned on"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Advanced options"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"Drop down list Advanced Options. Double-tap to collapse."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"Drop down list Advanced Options. Double-tap to expand."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Drop-down list Advanced Options"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"expand"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"Network name"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"Enter the SSID"</string>
     <string name="wifi_security" msgid="9095934643631406913">"Security"</string>
@@ -934,6 +866,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"Status"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"Transmit link speed"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"Receive link speed"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"Link speed"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"Frequency"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"IP address"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"Saved via"</string>
@@ -941,6 +874,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"EAP method"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"Phase-2 authentication"</string>
     <string name="wifi_eap_ca_cert" msgid="8033404008276298886">"CA certificate"</string>
+    <string name="wifi_eap_ocsp" msgid="8713933962516871238">"Online certificate status"</string>
     <string name="wifi_eap_domain" msgid="8304301470752333203">"Domain"</string>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"User certificate"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"Identity"</string>
@@ -957,6 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"Choose at least one band for Wi‑Fi hotspot:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"IP settings"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"Privacy"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"Subscription"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"View or change subscription"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"Randomised MAC"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"Add a device"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"Centre the QR code below to add the device to \'<xliff:g id="SSID">%1$s</xliff:g>\'"</string>
@@ -966,12 +902,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"Share Wi‑Fi"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"Scan this QR code to connect to \'<xliff:g id="SSID">%1$s</xliff:g>\' and share the password"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"Scan this QR code to connect to \'<xliff:g id="SSID">%1$s</xliff:g>\'"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"Couldn’t read QR code. Re-centre code and try again"</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"Try again. If the issue continues, contact the device manufacturer"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"Something went wrong"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"Make sure that the device has been plugged in, charged and turned on"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"Make sure that the device has been plugged in, charged and turned on. If the issue continues, contact the device manufacturer"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"Adding \'<xliff:g id="SSID">%1$s</xliff:g>\' isn’t supported by this device"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"Try moving the device closer to your Wi‑Fi access point/router"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"Check the password and try again"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"Contact the device manufacturer"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"Check connection and try again"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"Choose network"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"To connect your device, choose a network"</string>
@@ -984,11 +922,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"Sharing Wi‑Fi with this device…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"Connecting…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"Share hotspot"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"Verify that it\'s you"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"Verify that it\'s you"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"Wi‑Fi password: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"Hotspot password: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"Auto‑connect"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"Allow phone to automatically connect near this network"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"Allow tablet to automatically connect near this network"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"Add device"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"Use a QR code to add a device to this network"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"QR code isn\'t a valid format"</string>
     <string name="retry" msgid="7542103800274026915">"Retry"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"Share with other device users"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(unchanged)"</string>
@@ -1000,6 +942,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"No certificate specified. Your connection will not be private."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"Network name is too long."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"Must specify a domain."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"Certificate required."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"WPS available"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (WPS available)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"Operator Wi‑Fi network"</string>
@@ -1051,7 +994,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"Advanced Wi‑Fi"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"MAC address"</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_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>
@@ -1103,7 +1047,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"Use hotspot to create a Wi‑Fi network for your other devices. Hotspot provides Internet using your mobile data connection. Additional mobile data charges may apply."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"Apps can create a hotspot to share content with nearby devices."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Turn off hotspot automatically"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"Wi‑Fi hotspot will turn off if no devices are connected"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"When no devices are connected"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"Turning hotspot on…"</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"Turning off hotspot…"</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> is active"</string>
@@ -1112,6 +1056,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"Wi‑Fi hotspot setup"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"AndroidAP WPA2 PSK hotspot"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"Android Hotspot"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"Save this network?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"<xliff:g id="APPNAME">%1$s</xliff:g> wants to save a network to your phone"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"<xliff:g id="APPNAME">%1$s</xliff:g> wants to save a network to your tablet"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"Saving…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"Saved"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"Can’t save. Try again."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"Save networks?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"<xliff:g id="APPNAME">%1$s</xliff:g> wants to save these networks to your phone"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"<xliff:g id="APPNAME">%1$s</xliff:g> wants to save these networks to your tablet"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"Saving <xliff:g id="NUMBER">%d</xliff:g> networks…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"Networks saved"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"Wi-Fi Calling"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"Extend calls with Wi‑Fi"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"Turn on Wi‑Fi calling to extend coverage"</string>
@@ -1138,16 +1093,18 @@
     <string name="emergency_address_title" msgid="3490633500025717573">"Emergency Address"</string>
     <string name="emergency_address_summary" msgid="3022628750270626473">"Used as your location when you make an emergency call over Wi‑Fi"</string>
     <string name="private_dns_help_message" msgid="851221502063782306"><annotation id="url">"Learn more"</annotation>" about Private DNS features"</string>
+    <string name="private_dns_mode_on" msgid="8878679071975375696">"On"</string>
     <string name="wifi_calling_pref_managed_by_carrier" msgid="129524064888622179">"Setting managed by operator"</string>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"Activate Wi‑Fi Calling"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"Turn on Wi‑Fi calling"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"Wi‑Fi calling is not supported for %1$s"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"Disconnected from <xliff:g id="SSID">%1$s</xliff:g>"</string>
     <string name="carrier" msgid="1755020806290963951">"Operator"</string>
     <string name="display_settings_title" msgid="626835071804834218">"Display"</string>
     <string name="sound_settings" msgid="5514582720435174014">"Sound"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"Volumes"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"Music effects"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"Ring volume"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"Ring &amp; notification volume"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"Vibrate when silent"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"Default notification sound"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"Ringtone"</string>
@@ -1272,13 +1229,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"Schedule"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"None"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"Turns on from sunset to sunrise"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"Turns on at custom time"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"Status"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"Off/<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"Will never turn on automatically"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"Will turn on automatically at sunset"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"Will turn on automatically at <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"On/<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"Will never turn off automatically"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"Will turn off automatically at sunrise"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"Will turn off automatically at <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"Turn on until <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"Turn off until <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"Dark theme uses a black background to help keep battery alive longer on some screens. Dark theme schedules wait to turn on until your screen is off."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"Screen timeout"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"Screen turns off"</string>
@@ -1290,7 +1252,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"Change wallpaper"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"Personalise your screen"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"Choose wallpaper from"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"Customise your Pixel"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"Customise your phone"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"Try different styles, wallpapers and more"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"Screen saver"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"While charging or docked"</string>
@@ -1379,6 +1341,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"Unmount USB storage, view available storage"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"Unmount SD card, view available storage"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (sim slot %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"To view, choose saved network"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"Phone number"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (sim slot %1$d)"</string>
@@ -1405,6 +1368,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"Roaming"</string>
     <string name="status_operator" msgid="4335640583552058491">"Network"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"Wi‑Fi MAC address"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"Device Wi‑Fi MAC address"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"Bluetooth address"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Serial number"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Uptime"</string>
@@ -1617,6 +1581,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Reset default APN settings completed"</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"Reset options"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"Network, apps or device can be reset"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"Apps can be reset"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"Reset Wi-Fi, mobile &amp; Bluetooth"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"This will reset all network settings, including:\n\n"<li>"Wi‑Fi"</li>\n<li>"Mobile data"</li>\n<li>"Bluetooth"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"Erase downloaded SIMs"</string>
@@ -1666,6 +1631,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"Hotspot on"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"Tethering"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"Can’t tether or use portable hotspots while Data Saver is on"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"Hotspot only"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"USB only"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"Bluetooth only"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"Hotspot, USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"Hotspot, Bluetooth"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB, Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"Hotspot, USB, Bluetooth"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"Not sharing Internet with other devices"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"Tethering"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Don’t use Wi‑Fi hotspot"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Only share Internet via USB"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Only share Internet via Bluetooth"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Only share Internet via USB and Bluetooth"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB tethering"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"Share phone’s Internet connection via USB"</string>
@@ -1756,9 +1734,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"Safety information"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"You don’t have a data connection. To view this information now, go to %s from any computer connected to the Internet."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"Loading…"</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"Use PIN"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"Use pattern"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"Use password"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"Set screen lock"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"For security, set password"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"To use fingerprint, set password"</string>
@@ -1767,8 +1742,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"To use fingerprint, set PIN"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"For security, set pattern"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"Re-enter your password"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"Enter your work password"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"Confirm your pattern"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"Enter your work pattern"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"Re-enter your PIN"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"Enter your work PIN"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"Passwords don\'t match"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"PINs don\'t match"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"Draw your pattern again"</string>
@@ -1779,6 +1757,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"To use face unlock, set password"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"To use face unlock, set pattern"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"To use face unlock, set PIN"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"Forgot your password?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"Forgot your pattern?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"Forgotten your PIN?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"Use your device pattern to continue"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"Enter your device PIN to continue"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"Enter your device password to continue"</string>
@@ -1846,6 +1827,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"Allow all app sources"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"Recently opened apps"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"See all <xliff:g id="COUNT">%1$d</xliff:g> apps"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"Contact your IT admin"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"They can help you reset your PIN, pattern or password"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"Your tablet and personal data are more vulnerable to attack by unknown apps. By installing apps from this source, you agree that you are responsible for any damage to your tablet or loss of data that may result from their use."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"Your phone and personal data are more vulnerable to attack by unknown apps. By installing apps from this source, you agree that you are responsible for any damage to your phone or loss of data that may result from their use."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"Your device and personal data are more vulnerable to attack by unknown apps. By installing apps from this source, you agree that you are responsible for any damage to your device or loss of data that may result from their use."</string>
@@ -1897,7 +1880,7 @@
     <string name="default_emergency_app" msgid="1929974800666613803">"Emergency app"</string>
     <string name="reset_app_preferences" msgid="8861758340732716573">"Reset app preferences"</string>
     <string name="reset_app_preferences_title" msgid="8935136792316050759">"Reset app preferences?"</string>
-    <string name="reset_app_preferences_desc" msgid="1377296810290814749">"This will reset all preferences for:\n\n"<li>"Disabled apps"</li>\n<li>"Disabled app notifications"</li>\n<li>"Default applications for actions"</li>\n<li>"Background data restrictions for apps"</li>\n<li>"Any permission restrictions"</li>\n\n"You will not lose any app data."</string>
+    <string name="reset_app_preferences_desc" msgid="6509978724602405805">"This will reset all preferences for:\n\n"<li>"Disabled apps"</li>\n<li>"Disabled app notifications"</li>\n<li>"Default applications for actions"</li>\n<li>"Background data restrictions for apps"</li>\n<li>"Any permission restrictions"</li>\n\n"You will not lose any app data."</string>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"Reset apps"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"Manage space"</string>
     <string name="filter" msgid="9039576690686251462">"Filter"</string>
@@ -2097,7 +2080,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"Audio and on-screen text"</string>
     <string name="display_category_title" msgid="6638191682294461408">"Display"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"Interaction controls"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"Downloaded services"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"Downloaded apps"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"Experimental"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"Feature flags"</string>
     <string name="talkback_title" msgid="8756080454514251327">"Talkback"</string>
@@ -2105,27 +2088,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"Tap items on your screen to hear them read aloud"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"Caption preferences"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"Magnification"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"Magnification area"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"Magnification enable"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"Choose the magnification area(s) that you want to use when magnifying the screen"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"Full screen"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"Part of screen"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"Full screen &amp; part of screen"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"Magnify entire screen"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"Magnify part of screen"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Magnification settings"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"Magnify with triple-tap"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Magnify with shortcut"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Magnify with shortcut &amp; triple-tap"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"About <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"Options"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"Zoom in on screen"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"Tap 3 times to zoom"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Tap a button to zoom"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><b>"To zoom"</b>", quickly tap the screen 3 times.\n"<ul><li>"Drag 2 or more fingers to scroll"</li>\n<li>"Pinch 2 or more fingers to adjust zoom"</li></ul>\n\n<b>"To zoom temporarily"</b>", quickly tap the screen 3 times and hold down your finger on the third tap.\n"<ul><li>"Drag to move around the screen"</li>\n<li>"Lift finger to zoom out"</li></ul>\n\n"You can\'t zoom in on the keyboard and navigation bar."</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"When magnification is turned on, you can zoom in on your screen.\n\n"<b>"To zoom"</b>", start magnification, then tap anywhere on the screen.\n"<ul><li>"• Drag two or more fingers to scroll"</li>\n<li>"• Pinch two or more fingers to adjust zoom"</li></ul>\n\n<b>"To zoom temporarily"</b>", start magnification, then touch and hold anywhere on the screen.\n"<ul><li>"• Drag to move around the screen"</li>\n<li>"• Lift finger to zoom out"</li></ul>\n\n"You can’t zoom in on the keyboard or navigation bar."</string>
+    <string name="accessibility_screen_magnification_summary" msgid="7617931632990040045">"Quickly zoom in on the screen to see content more clearly.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;To zoom in:&lt;/b&gt;&lt;br/&gt;	1. Use shortcut to start magnification&lt;br/&gt;	2. Tap the screen&lt;br/&gt;	3. Drag two fingers to move around screen&lt;br/&gt;	4. Pinch with two fingers to adjust zoom&lt;br/&gt;	5. Use shortcut to stop magnification&lt;br/&gt;&lt;br/&gt;&lt;b&gt;To zoom in temporarily:&lt;/b&gt;&lt;br/&gt;	1. Use shortcut to start magnification&lt;br/&gt;	2. Touch and hold anywhere on the screen&lt;br/&gt;	3. Drag finger to move around screen&lt;br/&gt;	4. Lift finger to stop magnification"</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"When magnification is turned on, you can zoom in on your screen.\n\n"<b>"To zoom"</b>", start magnification, then tap anywhere on the screen.\n"<ul><li>"Drag 2 or more fingers to scroll"</li>\n<li>"Pinch 2 or more fingers to adjust zoom"</li></ul>\n\n<b>"To zoom temporarily"</b>", start magnification, then touch and hold anywhere on the screen.\n"<ul><li>"Drag to move around the screen"</li>\n<li>"Lift finger to zoom out"</li></ul>\n\n"You can’t zoom in on the keyboard or navigation bar."</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Use accessibility button to open"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Use gesture to open"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"Use new accessibility gesture"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"To turn this service on or off, tap the accessibility button<xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>at the bottom of your screen.\n\nTo switch between services, touch &amp; hold the accessibility button."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"To turn this service on or off, swipe up from the bottom of the screen with two fingers.\n\nTo switch between services, swipe up with two fingers and hold."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"To turn this service on or off, swipe up from the bottom of the screen with three fingers.\n\nTo switch between services, swipe up with three fingers and hold."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"To turn an accessibility service on or off, swipe up from the bottom of the screen with two fingers.\n\nTo switch between services, swipe up with two fingers and hold."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"To turn an accessibility service on or off, swipe up from the bottom of the screen with three fingers.\n\nTo switch between services, swipe up with three fingers and hold."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"To turn this service on or off, tap the accessibility button <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> on the bottom of your screen.\n\nTo switch between services, touch and hold the accessibility button."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"To turn this service on or off, swipe up from the bottom of the screen with two fingers.\n\nTo switch between services, swipe up with two fingers and hold."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"To turn this service on or off, swipe up from the bottom of the screen with three fingers.\n\nTo switch between services, swipe up with three fingers and hold."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"To turn an accessibility service on or off, swipe up from the bottom of the screen with two fingers.\n\nTo switch between services, swipe up with two fingers and hold."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"To turn an accessibility service on or off, swipe up from the bottom of the screen with three fingers.\n\nTo switch between services, swipe up with three fingers and hold."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"OK"</string>
+    <string name="accessibility_shortcut_title" msgid="8125867833704517463">"<xliff:g id="SERVICE">%1$s</xliff:g> shortcut"</string>
+    <string name="accessibility_shortcut_edit_summary_software" msgid="2820923641553461297">"Accessibility button"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture" msgid="8078659880723370597">"Swipe up with two fingers"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture_talkback" msgid="7422753388389160524">"Swipe up with three fingers"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software" msgid="4796192466943479849">"Tap accessibility button"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8922102767509399352">"Tap the accessibility button <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> at the bottom of your screen"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"Swipe up from the bottom of the screen with two fingers"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"Swipe up from the bottom of the screen with three fingers"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Hold volume keys"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"Press &amp; hold both volume keys for one second"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Triple-tap screen"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"Quickly tap screen three times. This shortcut may slow down your device."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"Advanced"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"The accessibility button is set to <xliff:g id="SERVICE">%1$s</xliff:g>. To use magnification, touch &amp; hold the accessibility button, then select magnification."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"The accessibility gesture is set to the <xliff:g id="SERVICE">%1$s</xliff:g>. To use magnification, swipe up with two fingers from the bottom of the screen and hold. Then select magnification."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"Volume key shortcut"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"Shortcut service"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Shortcut settings"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"Allow from lock screen"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"When the shortcut is on, you can press both volume keys for 3 seconds to start an accessibility feature."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"High-contrast text"</string>
@@ -2149,24 +2157,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"Choose how long to show messages that ask you to take action, but are visible only temporarily.\n\nNot all apps support this setting."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"Touch and hold delay"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"Colour inversion"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"May affect performance"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"Dwell timing"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"Use colour inversion"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"Colour inversion turns light screens dark. This helps people who are sensitive to bright light see the screen more easily.&lt;br/&gt;&lt;br/&gt;Note: Dark colours will turn light. Colours will change in media and images. You can also use Dark theme (Settings &gt; Display)."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"Auto click (dwell timing)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"If you are using a mouse, you can set the cursor to take action automatically when it stops moving for a certain amount of time."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"Delay before click"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"Don’t use auto click (default)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"Short"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0.2 seconds"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"Medium"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0.6 seconds"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"Long"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 second"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"Custom"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"Shorter"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"Longer"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"Auto click time"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"Vibration and haptic strength"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Notification vibration"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Ring vibration"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Touch feedback"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"Use service"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"Use <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"Open <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"Use colour correction"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"Use captions"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"Show captions"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"Caption appearance"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"Text size, caption style"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"More options"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"Not all apps support this setting."</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"Accessibility button"</string>
+    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"2-finger swipe up from bottom"</string>
+    <string name="accessibility_shortcut_type_hardware" msgid="4834144210432451916">"Hold volume keys"</string>
+    <string name="accessibility_shortcut_type_triple_tap" msgid="7717524216825494543">"Triple-tap screen"</string>
     <string name="accessibility_hearingaid_instruction_continue_button" msgid="3367260988024430722">"Continue"</string>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"Hearing aids"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"No hearing aids connected"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"Add hearing aids"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"To pair your hearing aids, find and tap your device on the next screen."</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"Make sure that your hearing aids are in pairing mode."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"To pair your hearing aids, find and tap your device on the next screen. Make sure that your hearing aids are in pairing mode."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> active"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> saved hearing aids</item>
@@ -2178,25 +2204,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"This service is malfunctioning."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Show in Quick Settings"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"Correction mode"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="other">Extremely short delay (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Extremely short delay (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Red-green"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"Green-red"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Blue-yellow"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"Deuteranomaly"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"Protanomaly"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"Tritanomaly"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="other">Extremely short delay (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> seconds)</item>
+      <item quantity="one">Extremely short delay (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> second)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="other">Very short delay (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Very short delay (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="other">Very short delay (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> seconds)</item>
+      <item quantity="one">Very short delay (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> second)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="other">Short delay (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Short delay (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="other">Short delay (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> seconds)</item>
+      <item quantity="one">Short delay (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> second)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="other">Long delay (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Long delay (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="other">Long delay (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> seconds)</item>
+      <item quantity="one">Long delay (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> second)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="other">Very long delay (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Very long delay (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="other">Very long delay (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> seconds)</item>
+      <item quantity="one">Very long delay (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> second)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> seconds</item>
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> second</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"Ring <xliff:g id="SUMMARY_RING">%1$s</xliff:g>, notification <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>, touch <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"Ring &amp; notification set to off"</string>
@@ -2513,7 +2549,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"While last for unplugged for <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"Usage totals"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"Refresh"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"Android OS"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"Media server"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"App optimisation"</string>
     <string name="battery_saver" msgid="7737147344510595864">"Battery Saver"</string>
@@ -2594,8 +2629,7 @@
     <string name="tts_play" msgid="2945513377250757221">"Play"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"Credential storage"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"Install from storage"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"Install from SD card"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"Install a certificate"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"Install certificates from storage"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"Install certificates from SD card"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"Clear credentials"</string>
@@ -2615,6 +2649,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"Credential storage has been erased."</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"Credential storage couldn\'t be erased."</string>
     <string name="usage_access_title" msgid="1580006124578134850">"Apps with usage access"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"CA certificate"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"VPN and app user certificate"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"Wi‑Fi certificate"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"Your privacy is at risk"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"CA certificates are used by websites, apps and VPNs for encryption. Only install CA certificates from organisations that you trust. \n\n If you install a CA certificate, the certificate owner could access your information, such as passwords, messages or credit card details, from websites that you visit or apps that you use – even if that information is encrypted."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"Don’t install"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"Install anyway"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"Certificate not installed"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"Emergency dialling signal"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Set behaviour when an emergency call is placed"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Backup"</string>
@@ -2642,10 +2684,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"Deactivate &amp; uninstall"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"Device admin apps"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"No device admin apps available"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"Personal"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"Work"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"Restrict SMS &amp; call log access"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"Only default phone and messaging apps have SMS &amp; call log permissions"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"No available trust agents"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"Activate device admin app?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"Activate this device admin app"</string>
@@ -2659,6 +2697,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"Other options are disabled by your admin"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"More details"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"Notification log"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"Notification history"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"Today"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"Snoozed"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"Recently dismissed"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> notifications</item>
+      <item quantity="one"><xliff:g id="NUMBER_0">%d</xliff:g> notification</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"Call ringtone &amp; vibrate"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"Network details"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"Sync enabled"</string>
@@ -3008,7 +3054,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"Restrictions"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"Remove restrictions"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"Change PIN"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"Show notifications"</string>
     <string name="help_label" msgid="2896538416436125883">"Help &amp; feedback"</string>
     <string name="support_summary" msgid="1034146931237148885">"Help articles, phone &amp; chat, getting started"</string>
     <string name="user_account_title" msgid="6389636876210834864">"Account for content"</string>
@@ -3033,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G Calling"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Use LTE services to improve voice and other communications (recommended)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Use 4G services to improve voice and other communications (recommended)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Contact discovery"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Allows your operator to discover which calling features your contacts support."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Enable contact discovery?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Enabling this feature will allow your operator access to phone numbers in your contacts in order to discover which calling features they support."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Preferred network type"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (recommended)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS messages"</string>
@@ -3077,7 +3126,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"Call with"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"Select a SIM card"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"SIM <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"SIM empty"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"SIM name"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"Enter SIM name"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"SIM slot %1$d"</string>
@@ -3087,6 +3135,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"Select SIM card"</string>
     <string name="color_orange" msgid="216547825489739010">"Orange"</string>
     <string name="color_purple" msgid="6603701972079904843">"Purple"</string>
+    <string name="color_pink" msgid="8596872110888626708">"Pink"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"No SIM cards inserted"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"SIM status"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"SIM status (sim slot %1$d)"</string>
@@ -3100,7 +3149,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"SIM cards changed."</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Tap to set up"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"Preferred SIM for"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Ask every time"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Selection required"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"SIM selection"</string>
@@ -3118,6 +3166,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"Bluetooth, driving mode"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"Bluetooth, NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"Bluetooth"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"Unavailable because NFC is off"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"Apps and notifications"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Recent apps, default apps"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Notification access is not available for apps in the work profile."</string>
@@ -3128,13 +3177,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"Settings"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"wifi, wi-fi, network connection, internet, wireless, data, wi fi"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"Wi‑Fi notification, wi-fi notification"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"data usage"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"Stop vibration, tap, keyboard"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"Use 24-hour format"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"Download"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"Open with"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"Applications"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"time zone"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"Chat head"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"Chat head, system, alert, window, dialogue, display, on top other apps, draw"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"Flashlight, Light, Torch"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"wifi, wi-fi, toggle, control"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"mobile, mobile operator, wireless, data, 4g,3g, 2g, lte"</string>
@@ -3158,7 +3208,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"don\'t disturb, interrupt, interruption, break"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"nearby, location, history, reporting, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"account"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"account, add an account, work profile, add account"</string>
     <string name="keywords_users" msgid="3497517660077620843">"restriction, restrict, restricted"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"text correction, correct, sound, vibrate, auto, language, gesture, suggest, suggestion, theme, offensive, word, type, emoji, international"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"reset, preferences, default"</string>
@@ -3196,6 +3246,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"memory, cache, data, delete, clear, free, space"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"connected, device, headphones, headset, speaker, wireless, pair, earbuds, music, media"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"background, screen, lockscreen, theme"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"icon shape, accent colour, font"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"default, assistant"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"payment, default"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"incoming notification"</string>
@@ -3205,18 +3256,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"haptics, vibrate, sensitivity"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"battery saver, sticky, persist, power saver, battery"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"routine, schedule, battery saver, power saver, battery, automatic, per cent"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"work profile"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"VoLTE, advanced calling, 4G calling"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"add language, add a language"</string>
     <string name="default_sound" msgid="6604374495015245195">"Default sound"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"Ring volume at <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"Ring &amp; notification volume at <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Volume, vibration, Do Not Disturb"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"Ringer set to vibrate"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"Ringer set to silent"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"Ring volume at 80%"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"Ring &amp; notification volume at 80%"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Media volume"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Cast volume"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"Call volume"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"Alarm volume"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"Ring volume"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"Ring &amp; notification volume"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"Notification volume"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"Phone ringtone"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"Default notification sound"</string>
@@ -3224,6 +3276,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"Default notification sound"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"Default alarm sound"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"Vibrate for calls"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"Never vibrate"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"Always vibrate"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"Vibrate first, then ring gradually"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"Other sounds"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"Dial pad tones"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"Screen-locking sounds"</string>
@@ -3247,6 +3302,7 @@
       <item quantity="one">1 enabled</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Do not disturb"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Only get notified by important people and apps"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Limit interruptions"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Turn on Do Not Disturb"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"Exceptions"</string>
@@ -3273,7 +3329,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Block visual disturbances"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Allow visual signals"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"When Do Not Disturb is on"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"Allow interruptions that make sound"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"Restrict notifications"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"No sound from notifications"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"You will see notifications on your screen"</string>
@@ -3304,7 +3360,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"Sound and vibration"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"Sound, vibration and some visual signs of notifications"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"Sound, vibration and visual signs of notifications"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"Notifications needed for basic phone activity and status will never be hidden"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"Notifications needed for basic phone activity and status will never be hidden."</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"None"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"other options"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"Add"</string>
@@ -3334,10 +3390,12 @@
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> schedules can turn on automatically</item>
       <item quantity="one">1 schedule can turn on automatically</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"Mute device but allow exceptions"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"Exceptions"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"Schedule"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"See all exceptions"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"Exceptions when Do Not Disturb is on"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"People"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"Apps"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"Alarms and other interruptions"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"Schedules"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"Silenced notifications"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"When Do Not Disturb is on, sound and vibration will be muted, except for the items that you allow above."</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"Mute all except"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"Muted"</string>
@@ -3381,16 +3439,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"Adaptive notifications"</string>
     <string name="asst_capability_prioritizer_title" msgid="1181272430009156556">"Adaptive notification priority"</string>
     <string name="asst_capability_prioritizer_summary" msgid="954988212366568737">"Automatically set lower priority notifications to Gentle"</string>
+    <string name="asst_capability_ranking_title" msgid="312998580233257581">"Adaptive notification ranking"</string>
+    <string name="asst_capability_ranking_summary" msgid="2293524677144599450">"Automatically rank notifications by relevance"</string>
     <string name="asst_capabilities_actions_replies_title" msgid="4392470465646394289">"Suggested actions and replies"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"Automatically show suggested actions and replies"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"Turn on notification history to keep track of past notifications and snoozed notifications"</string>
+    <string name="notification_history" msgid="8663811361243456201">"Notification history"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"Turn on history"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"Turn off history"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"Notification history is turned off"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"view notification settings"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Allow notification snoozing"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"Hide icons from gentle notifications"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"Icons from gentle notifications aren\'t shown in the status bar"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"Allow notification dots"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"Show strip of recent conversations"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Bubbles"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"Some notifications can appear as bubbles on the screen"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"Some notifications and other content can appear as bubbles on the screen. To open a bubble, tap it. To dismiss it, drag it down the screen."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Bubbles"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"New messages will appear on screen"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"Allow <xliff:g id="APP_NAME">%1$s</xliff:g> to show some notifications as bubbles"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"Turn on bubbles"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"To turn on bubbles for this app, first you need to turn them on for your device. This affects other apps in which you previously turned on bubbles."</string>
@@ -3408,6 +3476,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"Display in pull-down shade &amp; on lock screen"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"Display in pull-down shade &amp; status bar"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"Display in pull-down shade, status bar &amp; on lock screen"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"Hide silent notifications in status bar"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"Blink light"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"Lock screen"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"Skip lock screen"</string>
@@ -3438,6 +3507,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"Behaviour"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"Allow sound"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"Never show notifications"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"Conversations"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"Conversation"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"Not a conversation"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"Remove from the conversation section"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"This is a conversation"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"Add to the conversation section"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"Manage conversations"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"Important conversations"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"All conversations"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"Bubble important conversations"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"Important conversations show at the top of the pull-down shade. You can also set them to bubble and interrupt Do Not Disturb."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"Show silently and minimise"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"Show silently"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"Make sound"</string>
@@ -3456,7 +3536,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"Helps you focus without sound or vibration"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"Gets your attention with sound or vibration"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"When device is unlocked, show notifications as a banner across the top of the screen"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"Show notifications"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"All <xliff:g id="APP_NAME">%1$s</xliff:g> notifications"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"Adaptive Notifications"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="other">~<xliff:g id="NUMBER_1">%d</xliff:g> notifications per day</item>
@@ -3477,6 +3557,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"Adaptive Notifications"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"None"</string>
     <string name="no_notification_listeners" msgid="2839354157349636000">"No installed apps have requested notification access."</string>
+    <string name="notification_access_detail_switch" msgid="46386786409608330">"Allow notification access"</string>
     <string name="notification_assistant_security_warning_title" msgid="2972346436050925276">"Allow notification access for <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
     <string name="notification_assistant_security_warning_summary" msgid="3119843404577399036">"<xliff:g id="NOTIFICATION_ASSISTANT_NAME">%1$s</xliff:g> will be able to read all notifications, including personal information such as contact names, and the text of messages that you receive. It will also be able to modify or dismiss notifications or trigger action buttons that they contain. \n\nThis will also give the app the ability to turn Do Not Disturb on or off and change related settings."</string>
     <string name="notification_listener_security_warning_title" msgid="5791700876622858363">"Allow notification access for <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
@@ -3538,8 +3619,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"Done"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"Importance"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"Blink light"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"Vibrate"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"Vibration"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"Sound"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"Important"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"Add to home"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"Delete"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"Rename"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"Schedule name"</string>
@@ -3593,6 +3676,10 @@
       <item quantity="other"><xliff:g id="NUM_PEOPLE">%d</xliff:g> others</item>
       <item quantity="one">1 other</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Conversations"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"From all conversations"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"From important conversations"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"Don’t allow any conversations"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"Allow messages"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"To make sure that allowed messages make sound, check whether your device is set to ring, vibrate or silent."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"For ‘<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>’, incoming messages are blocked. You can adjust settings to allow your friends, family or other contacts to reach you."</string>
@@ -3606,15 +3693,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"None"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"Don’t allow any calls"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"Don’t allow any messages"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"Allow alarms"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"Alarms"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"From timers, alarms, security systems and other apps"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"alarms"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"Play media sounds"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"Media sounds"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"From videos, games and other media"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"media"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"Allow touch sounds"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"Touch sounds"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"From your keyboard and other buttons"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"touch sounds"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"Allow reminders"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"Reminders"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"From tasks and reminders"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"reminders"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"Allow events"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"Events"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"From upcoming calendar events"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Allow apps to override"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"App exceptions"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3657,6 +3749,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"Let notifications silenced by Do Not Disturb turn on the screen"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"Notification settings"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"OK"</string>
+    <string name="suggestion_button_close" msgid="6865170855573283759">"Close"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Send feedback about this device"</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"Enter admin PIN"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"On"</string>
@@ -3667,6 +3760,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Ask for PIN before unpinning"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Ask for password before unpinning"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Lock device when unpinning"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Confirm SIM deletion"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"Verify that it\'s you before erasing a downloaded SIM"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"This work profile is managed by:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"Managed by <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(Experimental)"</string>
@@ -3741,8 +3836,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"All apps"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Installed apps"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Instant Apps"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"Personal"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"Work"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"Apps: All"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"Turned off"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"Categories: Urgent importance"</string>
@@ -3754,6 +3847,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"Unknown app"</string>
     <string name="app_permissions" msgid="8666537659217653626">"Permission manager"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"Apps using <xliff:g id="APPS">%1$s</xliff:g>"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"Apps using <xliff:g id="APPS">%1$s</xliff:g>, and more"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"Tap to wake"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"Double-tap anywhere on the screen to wake device"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"Opening links"</string>
@@ -3765,9 +3859,14 @@
       <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> apps opening supported links</item>
       <item quantity="one">One app opening supported links</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"Open in this app"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"Allow app to open supported links"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"Ask every time"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"Don’t open in this app"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"Don’t allow app to open links"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="other">App claims to handle <xliff:g id="COUNT_1">%d</xliff:g> links</item>
+      <item quantity="one">App claims to handle <xliff:g id="COUNT_0">%d</xliff:g> link</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"App claims to handle following links:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"Default"</string>
     <string name="default_for_work" msgid="537558180548617528">"Default for work"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"Assist and voice input"</string>
@@ -3911,8 +4010,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"Display over other apps"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Allow display over other apps"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"Allow this app to display on top of other apps that you’re using. It may interfere with your use of those apps or change the way they seem to appear or behave."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"All files access"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"Allow access to manage all files"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Allow this app to read, modify and delete all files on this device or any connected storage volumes. If granted, app may access files without your explicit knowledge."</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"Can access all files"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"VR virtual reality listener stereo helper service"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"system alert window dialogue display on top of other apps"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"Display over other apps"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"<xliff:g id="COUNT_0">%1$d</xliff:g> of <xliff:g id="COUNT_1">%2$d</xliff:g> apps allowed to display over other apps"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"Apps with permission"</string>
@@ -4078,6 +4180,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"<xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g> used"</string>
     <string name="data_overusage" msgid="3680477320458707259">"<xliff:g id="ID_1">^1</xliff:g> over"</string>
     <string name="data_remaining" msgid="6316251496381922837">"<xliff:g id="ID_1">^1</xliff:g> left"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"Graph showing data usage between <xliff:g id="START_DATE">%1$s</xliff:g> and <xliff:g id="END_DATE">%2$s</xliff:g>."</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"No data in this date range"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="other">%d days left</item>
       <item quantity="one">%d day left</item>
@@ -4141,14 +4245,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"parcel size"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"notification alerted"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"sound"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"vibrate"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"pattern"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"Default"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"channel"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"None"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"Ranking object is missing."</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"Ranking object doesn\'t contain this key."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"Theming"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"Device default"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"Display cutout"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"display cutout, notch"</string>
@@ -4237,8 +4337,12 @@
     <string name="information_label" msgid="6939310810756569298">"Information"</string>
     <string name="low_label" msgid="6525629096999711220">"Low"</string>
     <string name="high_label" msgid="357503396626018487">"High"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"Higher sensitivity may conflict with any app gestures along the edges of the screen."</string>
+    <string name="left_edge" msgid="1513576842959071849">"Left edge"</string>
+    <string name="right_edge" msgid="1505309103265829121">"Right edge"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"Higher sensitivity may conflict with any app gestures along the edges of the screen."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"Back sensitivity"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"Gesture settings"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"gesture navigation, back sensitivity, back gesture"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"Double-tap to check phone"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"Double-tap to check tablet"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"Double-tap to check device"</string>
@@ -4393,7 +4497,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"Trigger Operator Provisioning"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"Update Do Not Disturb"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"Pause notifications to stay focused"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"This feature is not available on this device"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"Feature not available"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"This feature has been turned off because it slows down your phone"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"Force full GNSS measurements"</string>
@@ -4403,20 +4506,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"Select ANGLE enabled app"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"No ANGLE enabled application set"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"ANGLE enabled application: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"Game Driver Preferences"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"Modify Game Driver settings"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"When Game Driver is turned on, you can choose to use the updated graphics driver for Apps installed on the device."</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"Enable for all apps"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"Select Graphics Driver"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"Default"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"Game Driver"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"Pre-release Driver"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"System Graphics Driver"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"Graphics driver preferences"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"Modify graphics driver settings"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"When there are multiple graphics drivers, you can pick to use the updated graphics driver for apps installed on the device."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"Enable for all apps"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"Select graphics driver"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"Default"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"Game driver"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"Developer driver"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"System graphics driver"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"App compatibility changes"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Toggle app compatibility changes"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Default enabled changes"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Default disabled changes"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"Setting isn’t supported on this phone"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"Setting isn’t supported on this tablet"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"Setting isn’t supported on this device"</string>
@@ -4435,6 +4544,11 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"Device"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Unavailable during calls"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"Unavailable"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"Add outputs"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"Group"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 device selected"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> devices selected"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"Switching…"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Take call on"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"This APN cannot be changed."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Improve tablet\'s battery life"</string>
@@ -4552,10 +4666,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Only one downloaded SIM can be active at a time.\n\nSwitching to <xliff:g id="CARRIER1">%1$s</xliff:g> won\'t cancel your <xliff:g id="CARRIER2">%2$s</xliff:g> service."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Switch to <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Delete SIM"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Delete this downloaded SIM?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Erasing this SIM removes <xliff:g id="CARRIER_0">%1$s</xliff:g> service from this device.\n\nService for <xliff:g id="CARRIER_1">%2$s</xliff:g> won’t be cancelled."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Delete"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Erasing SIM…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Can’t delete SIM"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"This SIM can’t be deleted due to an error.\n\nRestart your device and try again."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Preferred network type"</string>
@@ -4580,7 +4690,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Invalid network mode <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Ignore."</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Access point names"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Unavailable when connected to <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"Medical info, emergency contacts"</string>
     <string name="see_more" msgid="7499355691042812723">"See more"</string>
     <string name="see_less" msgid="2642392725363552793">"See less"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"Device to use with <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
@@ -4589,11 +4698,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"Something came up. The application has cancelled the request to choose a device."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"Connection successful"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"Show all"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> devices connected</item>
-      <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_0">%1$d</xliff:g> device connected</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"No Bluetooth devices"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"Searching for device…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"Connecting to device…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"Left"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"Right"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Case"</string>
@@ -4603,6 +4709,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"Unavailable during airplane mode"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"Force desktop mode"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Force experimental desktop mode on secondary displays"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"Enable free-form sizecompat"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"Allows sizecompat apps to be in free form"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Override force-dark"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"Overrides the force-dark feature to be always on"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"Privacy"</string>
@@ -4639,6 +4747,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"You recently installed this app."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Switch output"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Currently playing on <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (disconnected)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Can’t switch. Tap to try again"</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Important information"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"CONTINUE"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"NO THANKS"</string>
@@ -4666,8 +4776,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"SIM combination"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Your work policy info"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Settings managed by your IT admin"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"Bug report handler"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Determines which app handles the bug report shortcut on your device."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Personal"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"Work"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"System default"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"This choice is no longer valid. Try again."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"Stop casting"</string>
 </resources>
diff --git a/res/values-en-rXC/arrays.xml b/res/values-en-rXC/arrays.xml
index 1faec91..b0b80fb 100644
--- a/res/values-en-rXC/arrays.xml
+++ b/res/values-en-rXC/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‏‎‏‏‎‏‏‏‎‎‏‎‎‎‏‏‏‎‎‏‏‏‎‎‎‎‎‎‎‎‏‎‎‏‏‏‎‏‎‎‏‏‎‎‎‎‏‎‎‎‏‎‎‏‎‏‎‏‎Immediately‎‏‎‎‏‎"</item>
     <item msgid="463591454172790676">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‏‎‎‏‏‎‏‏‏‏‎‎‎‎‎‎‎‏‏‏‏‏‏‎‎‎‏‎‏‎‏‎‏‎‏‏‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‎‎‏‎‏‎‎‎5 seconds‎‏‎‎‏‎"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‏‏‏‏‏‏‎‏‎‏‏‏‎‎‏‎‎‏‎‎‎‎‏‎‎‏‏‎‏‏‏‏‏‎‏‏‎‎‎‏‎‎‏‏‎‏‏‏‎‎‏‎‏‎‏‎‎‎‎Do not validate‎‏‎‎‏‎"</item>
+    <item msgid="5703177653586269306">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‏‏‎‎‏‎‎‏‎‏‏‏‎‎‎‎‎‏‏‏‎‏‏‎‏‏‏‏‏‏‎‏‎‎‏‏‏‏‎‏‎‎‏‎‎‏‎‏‎‎‎‏‏‏‏‎‏‎‎Request certificate status‎‏‎‎‏‎"</item>
+    <item msgid="326388247868439528">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‎‎‏‎‎‎‎‏‏‏‏‎‎‏‎‎‎‎‎‏‏‎‎‎‎‏‏‏‎‏‎‏‎‏‎‎‎‎‏‏‏‏‎‏‏‏‏‎‏‏‏‏‏‎‏‎‎‎‎Require certificate status‎‏‎‎‏‎"</item>
+    <item msgid="1090956283885790552">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‏‏‎‎‏‎‎‎‏‏‏‏‎‏‏‎‏‎‏‏‏‏‎‏‎‏‏‏‎‎‎‏‏‎‎‏‏‏‏‏‏‎‎‎‏‎‎‏‎‏‎‏‎‏‏‎‎‎‎Require all non-trusted certificate statuses‎‏‎‎‏‎"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‎‎‎‎‎‏‎‎‏‏‏‏‎‎‎‏‎‏‏‎‎‎‏‎‏‎‎‏‎‎‎‎‏‎‎‎‏‏‏‎‏‏‏‏‏‎‏‎‏‎‎‎‏‎‎‎‎‎‎Push button‎‏‎‎‏‎"</item>
     <item msgid="2630618799033509548">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‎‎‏‎‎‎‎‎‎‏‏‏‎‏‎‏‎‏‏‏‎‏‏‏‎‎‎‎‏‎‏‏‏‏‏‏‎‏‏‎‏‏‎‏‏‎‎‏‏‎‏‎‏‎‏‏‎‎‎PIN from peer device‎‏‎‎‏‎"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‏‏‎‏‏‎‎‎‏‏‎‎‏‎‎‎‎‏‏‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‏‎‏‎‏‏‏‏‎‏‏‏‏‏‏‎‎‎1xRTT‎‏‎‎‏‎"</item>
     <item msgid="3658086883471544773">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‏‎‏‏‎‎‎‏‎‎‎‎‏‎‎‎‏‎‏‎‏‎‎‎‏‏‏‎‎‏‏‏‏‎‏‏‎‏‎‏‏‎‎‏‎‏‎‎‎‏‏‏‎‎‎‏‎‏‎IS95B‎‏‎‎‏‎"</item>
     <item msgid="6208908029106498824">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‏‎‎‎‏‎‏‎‏‎‎‏‏‏‏‎‎‎‏‏‏‏‎‏‎‎‏‏‎‎‏‏‎‏‏‏‏‏‎‏‏‎‏‎‏‎‏‏‎‏‎‎‎‎‏‎‎‎‎IS95A‎‏‎‎‏‎"</item>
+    <item msgid="5043127102327682718">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‎‎‏‎‎‏‎‏‏‎‎‎‎‏‎‏‎‎‎‎‏‏‎‏‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‎‎‏‏‏‏‎‎NR‎‏‎‎‏‎"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‏‎‏‎‎‎‎‎‎‏‎‏‎‏‏‎‏‏‎‎‏‏‏‏‎‎‏‎‎‏‎‎‏‏‎‏‏‎‎‎‏‎‏‎‏‎‏‎‎‏‏‎‎‏‎‏‎‏‎None‎‏‎‎‏‎"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‎‎‏‎‏‎‎‎‎‏‎‏‎‎‏‎‎‏‏‏‎‏‏‎‏‎‎‎‎‏‎‏‎‏‏‎‎‎‏‎‏‎‏‏‏‎‏‎‎‎‏‎‎‏‎‏‎‏‎IPSec VPN with pre-shared keys and Xauth authentication‎‏‎‎‏‎"</item>
     <item msgid="2484564813864139237">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‎‎‏‏‏‏‎‏‎‏‏‏‏‎‎‏‎‏‎‎‎‏‎‎‎‏‏‎‎‏‏‏‏‏‏‎‎‏‏‏‎‎‏‏‏‏‎‎‏‏‏‏‎‎‏‎‏‎IPSec VPN with certificates and Xauth authentication‎‏‎‎‏‎"</item>
     <item msgid="68918911194507915">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‎‎‏‏‏‏‎‏‎‎‏‏‎‏‏‎‎‏‎‏‏‎‎‎‏‎‎‏‏‏‎‏‎‎‎‎‎‎‏‏‏‎‎‎‏‎‏‎‏‎‏‎‎‎‏‎‏‏‎IPSec VPN with certificates and hybrid authentication‎‏‎‎‏‎"</item>
+    <item msgid="4631647675167100375">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‎‏‎‏‏‎‎‎‎‎‏‎‏‎‏‏‎‎‎‏‏‎‎‎‏‏‎‎‏‎‏‎‎‏‏‎‏‏‏‎‏‎‏‏‏‎IKEv2/IPSec VPN with certificates and username/password authentication‎‏‎‎‏‎"</item>
+    <item msgid="8812228622975052811">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‏‎‎‏‎‎‏‎‏‏‎‏‎‏‎‎‏‏‎‎‏‏‏‏‏‎‎‏‎‎‏‏‏‏‏‏‏‏‎‏‎‏‎‎‏‎‏‏‎‎‎‎‎‎‏‎‏‏‎IKEv2/IPSec VPN with pre-shared keys‎‏‎‎‏‎"</item>
+    <item msgid="6630554779981113046">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‎‎‎‎‎‎‏‎‎‎‏‏‏‎‏‏‎‎‏‏‏‎‎‎‏‎‎‏‏‎‏‎‎‏‎‎‎‏‎‏‎‏‏‏‎‎‏‏‎‏‏‎‏‎‏‏‎‎IKEv2/IPSec VPN with certificates‎‏‎‎‏‎"</item>
   </string-array>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‏‏‎‏‏‏‎‎‎‏‎‎‎‏‏‎‏‏‎‎‎‏‏‏‎‎‏‏‎‏‏‎‎‏‎‎‎‎‎‏‏‎‎‎‏‏‎‏‏‎‎‎‏‏‎‏‎‏‎None‎‏‎‎‏‎"</item>
diff --git a/res/values-en-rXC/config.xml b/res/values-en-rXC/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-en-rXC/config.xml
+++ b/res/values-en-rXC/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-en-rXC/strings.xml b/res/values-en-rXC/strings.xml
index 9886ac6..0796cb3 100644
--- a/res/values-en-rXC/strings.xml
+++ b/res/values-en-rXC/strings.xml
@@ -31,49 +31,17 @@
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‎‎‏‏‎‎‎‎‎‏‎‎‎‎‏‏‎‎‎‎‎‏‏‏‏‏‎‎‏‏‎‎‎‎‏‏‎‏‏‏‏‎‏‏‏‎‎‎‏‎‎‏‎‎‏‏‎‎‎Please enable developer options first.‎‏‎‎‏‎"</string>
     <string name="header_category_wireless_networks" msgid="303445626075235229">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‎‎‎‎‏‏‎‏‏‎‎‎‎‎‏‏‏‎‎‎‏‏‎‎‎‎‎‏‏‎‏‏‏‎‏‏‎‏‏‏‎‎‎‏‎‎‎‎‏‏‏‎‎‏‏‏‎‏‎Wireless &amp; networks‎‏‎‎‏‎"</string>
     <string name="header_category_system" msgid="1665516346845259058">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‏‏‎‎‎‏‏‏‎‏‎‎‎‏‏‎‏‎‎‏‎‎‏‎‏‏‎‎‎‎‏‏‎‏‎‏‎‏‎‎‎‏‎‏‏‎‎‏‎‏‎‎‏‏‎‎‏‎‎System‎‏‎‎‏‎"</string>
-    <string name="radio_info_data_connection_enable" msgid="7500945447906187613">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‎‎‎‎‎‏‏‎‎‎‏‎‏‏‎‏‏‎‎‎‏‎‎‏‎‎‏‎‏‎‎‏‏‎‎‎‎‎‏‎‎‎‎‎‎‏‏‎‎‏‎‏‎‏‏‏‎‏‎Enable Data Connection‎‏‎‎‏‎"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‏‏‎‏‏‎‏‎‏‎‏‎‎‎‏‎‏‎‎‎‏‎‏‏‎‏‏‏‏‎‎‎‎‏‎‎‏‎‏‏‏‎‏‏‏‏‎‎‏‎‎‏‏‏‎‏‎‎‎Disable Data Connection‎‏‎‎‏‎"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‏‏‏‏‏‏‏‏‎‎‎‏‎‎‏‎‏‏‎‎‎‏‏‎‏‏‏‎‎‎‎‏‎‏‎‏‏‎‏‏‎‏‏‎‎‎‏‎‏‎‎‏‏‎‏‏‏‏‎VoLTE Provisioned‎‏‎‎‏‎"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‎‎‎‏‏‏‎‎‎‏‏‎‏‏‎‏‏‏‏‎‏‎‎‏‏‎‏‎‏‎‎‎‏‎‏‎‏‎‎‏‎‏‏‏‎‏‏‎‎‏‎‏‏‎‎‎‎‏‎Video Calling Provisioned‎‏‎‎‏‎"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‎‏‎‏‎‏‏‏‏‎‏‎‏‏‎‏‎‏‎‎‎‎‎‎‎‏‎‎‏‏‎‎‎‎‎‎‎‏‎‏‎‏‎‏‎‏‏‏‏‎‎‎‎‏‏‎‏‎‎Wifi Calling Provisioned‎‏‎‎‏‎"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‎‏‎‏‎‎‏‎‏‏‎‏‏‏‏‎‏‎‎‏‏‏‏‏‏‏‎‏‏‏‏‎‎‏‎‎‎‏‎‏‎‎‎‏‎‏‏‏‎‎‎‏‏‎‏‏‎‎‎EAB/Presence Provisioned‎‏‎‎‏‎"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‎‎‎‏‏‎‎‏‎‏‎‏‏‎‎‏‎‏‎‏‏‏‎‎‎‎‏‎‏‎‏‏‎‏‏‏‎‎‎‎‎‎‎‎‏‏‏‎‏‏‎‎‎‏‎‏‏‎Cbrs Data‎‏‎‎‏‎"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‎‎‎‎‏‏‎‏‎‎‏‏‏‎‏‏‎‏‏‎‏‏‏‏‎‏‏‏‏‏‎‎‏‎‏‏‎‏‏‏‎‎‏‏‎‎‎‏‏‎‎‏‏‏‏‎‏‎Enable DSDS‎‏‎‎‏‎"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‏‎‏‏‏‎‏‎‎‏‏‎‎‎‎‏‏‏‎‎‎‏‏‎‎‎‎‏‏‎‎‏‏‏‎‏‏‏‎‏‏‎‏‏‎‎‏‎‏‎‎‏‎‎‏‎‏‏‎Restart Device?‎‏‎‎‏‎"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‏‎‏‎‎‎‎‎‏‎‎‎‎‏‎‏‏‎‎‎‎‏‎‎‎‏‎‏‎‏‏‏‏‏‎‏‎‏‎‎‏‏‏‏‎‎‏‎‎‏‎‏‎‏‎‎‎‏‎You need to restart your device to change this setting.‎‏‎‎‏‎"</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‏‎‎‏‎‏‎‎‎‏‏‎‏‎‏‎‏‎‏‏‎‎‎‏‏‎‎‎‏‏‎‏‏‎‎‏‏‎‎‏‏‎‏‎‎‎‎‎‏‏‎‎‎‎‎‎‎‏‎Restart‎‏‎‎‏‎"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‎‎‎‏‏‎‏‏‏‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‎‏‏‏‎‏‎‏‏‎‎‎‏‎‎‎‏‏‎‏‎‎‏‎‏‎‎‎‎‎Cancel‎‏‎‎‏‎"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‎‎‏‎‏‎‎‎‏‏‎‏‎‏‏‏‏‎‏‎‎‏‎‏‏‎‎‎‎‏‏‏‏‏‎‏‎‎‏‎‏‎‎‎‏‎‎‏‎‏‎‏‏‏‎‏‏‎‎Mobile Radio Power‎‏‎‎‏‎"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‏‏‎‏‎‏‎‎‎‎‏‎‎‎‎‏‏‎‏‏‎‎‏‏‎‏‎‏‎‎‏‎‏‎‏‎‏‎‏‏‎‎‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‏‎View SIM Address Book‎‏‎‎‏‎"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‎‎‎‎‏‏‎‎‎‏‏‎‎‏‏‎‏‏‏‎‏‎‎‎‏‎‏‏‎‎‎‎‏‎‎‏‎‎‏‏‏‎‎‏‏‎‎‎‎‎‎‏‏‏‎‎‎‎View Fixed Dialing Numbers‎‏‎‎‏‎"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‎‎‏‏‏‎‏‏‏‏‎‏‎‏‏‎‏‎‏‎‎‏‏‏‏‏‏‏‏‎‏‎‏‏‏‎‏‏‎‏‎‏‎‎‏‏‎‏‏‎‎‏‎‎‏‏‎‎View Service Dialing Numbers‎‏‎‎‏‎"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‏‏‏‎‎‎‏‏‏‏‏‎‏‎‏‏‏‎‎‎‎‏‎‏‏‏‎‎‏‎‏‎‎‏‏‏‎‎‏‎‏‏‎‎‎‏‏‏‏‎‎‎‏‎‎‏‏‎IMS Service Status‎‏‎‎‏‎"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‏‎‎‎‎‎‏‏‏‎‏‏‏‏‎‏‏‏‏‎‏‏‏‏‏‎‎‏‏‎‏‎‏‎‏‎‏‏‏‎‏‏‏‏‎‏‎‎‏‏‏‏‎‏‎‏‏‎‎IMS Status‎‏‎‎‏‎"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‏‏‏‎‏‏‎‏‏‏‎‎‏‏‎‎‎‏‎‏‏‏‎‏‏‎‎‏‎‏‏‎‏‏‏‏‏‎‎‎‏‎‏‎‏‏‏‎‏‏‏‏‎‎‎‎‎‏‎Registered‎‏‎‎‏‎"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‎‎‏‎‎‏‎‏‏‏‏‎‏‏‎‎‎‎‎‎‎‏‏‎‏‏‎‏‎‎‏‎‏‏‏‎‏‏‎‏‏‏‎‏‏‏‏‏‏‏‎‏‏‏‏‎‎‎‎Not Registered‎‏‎‎‏‎"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‎‏‏‎‏‎‎‎‎‏‎‎‏‏‎‎‎‎‎‎‎‎‏‎‏‎‎‏‎‎‎‏‏‎‏‎‎‎‏‎‎‏‏‎‎‎‎‎‎‎‏‎‏‎‎‎‎‎Available‎‏‎‎‏‎"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‏‏‎‏‎‎‎‎‎‎‎‎‎‎‏‎‎‏‏‎‏‏‎‎‏‏‏‎‎‎‎‎‏‏‏‏‏‏‏‎‎‏‏‏‏‏‎‏‏‏‏‎‏‏‏‎‏‎‎Unavailable‎‏‎‎‏‎"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‏‏‏‏‏‎‎‎‎‏‏‏‎‏‎‏‏‎‏‏‏‏‏‏‎‎‏‎‏‏‏‎‏‎‎‏‎‏‏‎‏‏‎‏‏‏‏‎‏‎‎‎‎‏‎‏‎‏‎IMS Registration: ‎‏‎‎‏‏‎<xliff:g id="STATUS">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎Voice over LTE: ‎‏‎‎‏‏‎<xliff:g id="AVAILABILITY_0">%2$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎Voice over WiFi: ‎‏‎‎‏‏‎<xliff:g id="AVAILABILITY_1">%3$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎Video Calling: ‎‏‎‎‏‏‎<xliff:g id="AVAILABILITY_2">%4$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎UT Interface: ‎‏‎‎‏‏‎<xliff:g id="AVAILABILITY_3">%5$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‏‎‎‎‏‎‎‎‎‏‎‏‎‏‎‎‏‏‏‏‏‎‎‎‎‎‎‏‎‎‏‏‎‎‏‏‎‎‏‏‎‎‏‏‎‏‏‏‏‏‎‏‏‏‏‏‏‏‎In Service‎‏‎‎‏‎"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‎‏‏‏‏‎‏‏‎‏‏‎‏‏‎‏‎‎‎‎‎‎‎‎‎‎‎‏‎‏‎‎‎‏‏‎‏‏‎‏‎‎‎‏‏‏‎‎‎‎‎‏‎‏‎‏‏‏‎Out of Service‎‏‎‎‏‎"</string>
     <string name="radioInfo_service_emergency" msgid="6838935881091760942">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‏‎‏‏‏‎‏‎‎‎‏‏‎‎‎‏‏‏‏‏‏‏‎‎‏‏‎‎‎‏‏‎‏‎‎‎‏‎‎‏‎‏‏‏‎‎‎‎‏‏‎‎‏‎‏‏‏‎‎Emergency Calls Only‎‏‎‎‏‎"</string>
     <string name="radioInfo_service_off" msgid="6184928420860868571">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‎‏‏‏‎‏‎‏‎‏‎‏‎‎‎‏‏‏‏‎‏‎‎‎‎‏‎‎‏‎‏‏‏‎‏‎‏‎‎‎‎‏‎‎‏‏‎‏‏‏‏‏‎‏‏‎‏‏‎Radio Off‎‏‎‎‏‎"</string>
     <string name="radioInfo_roaming_in" msgid="8892550453644088692">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‏‏‎‏‏‎‏‎‎‎‏‎‏‎‏‏‏‏‏‎‎‎‎‏‎‏‏‏‎‏‏‎‎‎‏‎‏‏‎‎‎‏‏‏‎‏‎‏‎‏‎‏‏‏‎‏‎‎‎Roaming‎‏‎‎‏‎"</string>
     <string name="radioInfo_roaming_not" msgid="3137594549464975054">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‏‏‎‎‎‏‎‏‎‏‏‏‏‏‎‎‏‏‎‎‏‏‏‏‎‎‏‏‏‏‎‏‎‎‎‎‎‏‏‏‏‏‏‎‎‎‏‏‎‏‏‎‎‏‏‏‎‎Not Roaming‎‏‎‎‏‎"</string>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‎‏‏‎‏‏‎‎‏‎‎‎‏‎‎‎‎‎‏‎‏‏‎‏‎‏‎‎‏‎‏‎‏‏‏‏‎‎‏‏‎‏‏‎‎‎‎‏‏‏‎‏‏‏‎‏‏‏‎Idle‎‏‎‎‏‎"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‏‎‏‏‏‎‎‎‏‎‏‏‎‏‏‏‏‎‏‏‎‎‎‎‏‏‎‏‎‏‏‎‏‏‏‏‏‏‎‏‏‏‎‎‎‎‏‏‏‏‎‏‎‎‎‎‏‏‎Ringing‎‏‎‎‏‎"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‎‎‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‏‎‏‎‏‏‎‏‎‎‏‎‏‎‏‎‏‎‎‎‏‏‏‏‎‏‎‏‎‎‎‎‏‎‏‏‏‎‎Call in Progress‎‏‎‎‏‎"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‎‏‎‎‎‎‏‎‎‎‎‎‏‏‏‎‏‎‏‎‎‎‏‎‎‏‎‎‎‎‎‎‎‏‏‏‎‎‎‎‎‎‏‏‎‎‏‎‎‎‎‏‏‎‏‏‎‎‎Disconnected‎‏‎‎‏‎"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‎‏‎‎‎‎‏‎‏‎‏‎‏‎‏‎‏‎‏‏‎‏‏‎‎‏‎‏‎‏‎‏‏‎‎‎‏‏‎‏‏‏‎‏‎‎‏‏‎‎‏‎‎‎‎‎‎‎‎Connecting‎‏‎‎‏‎"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‏‎‎‏‎‏‏‎‏‎‎‏‏‎‎‎‏‎‏‏‏‎‏‎‎‎‏‎‎‏‎‏‏‎‏‏‎‎‏‎‏‏‎‏‏‏‏‏‎‎‏‏‏‎‏‏‎‏‎Connected‎‏‎‎‏‎"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‏‏‏‏‎‎‎‏‎‏‏‏‏‎‎‎‏‎‎‏‎‎‏‎‎‏‏‎‏‎‏‎‎‎‏‏‏‏‎‏‏‎‏‏‏‏‎‎‏‎‎‎‎‏‎‎‏‏‎Suspended‎‏‎‎‏‎"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‎‎‎‏‎‎‏‎‎‎‏‏‏‎‎‏‎‎‎‏‎‎‎‏‏‎‏‎‏‎‏‎‎‏‎‏‎‏‎‏‎‏‏‎‎‎‏‎‎‎‎‏‎‏‏‏‏‎Unknown‎‏‎‎‏‎"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‎‎‏‎‎‎‏‎‏‏‏‎‎‎‏‏‎‏‏‎‏‎‎‏‏‏‎‏‎‏‏‏‎‎‎‎‏‏‏‏‎‏‎‎‏‎‏‎‏‏‎‎‏‎‎‎‎‎pkts‎‏‎‎‏‎"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‏‏‏‏‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‏‏‎‏‎‎‎‎‏‎‎‎‎‏‏‏‏‎‏‎‏‎‏‎‎‎‎‏‎‎‎‎‎‎‎‎‏‎bytes‎‏‎‎‏‎"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‏‏‎‎‏‏‏‎‎‏‏‏‏‎‏‎‎‏‏‏‏‏‎‎‎‎‏‎‏‏‏‎‏‏‏‏‎‎‏‏‎‎‏‎‎‎‏‎‏‎‎‏‏‎‏‏‎‎dBm‎‏‎‎‏‎"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‎‏‏‏‎‎‏‏‏‏‎‎‏‏‏‏‏‏‏‏‏‏‏‏‏‎‏‏‏‏‎‏‏‏‏‏‎‎‎‎‎‎‏‎‏‏‎‏‎‏‎‏‏‏‏‎‎‎‎asu‎‏‎‎‏‎"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‎‎‏‎‎‎‏‎‏‎‏‎‎‎‏‏‎‎‏‎‏‎‏‏‏‎‎‏‏‎‎‏‎‎‎‎‎‏‏‎‎‏‏‎‏‏‎‎‎‏‎‏‏‎‏‏‎‏‎LAC‎‏‎‎‏‎"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‏‎‏‎‏‎‎‏‏‏‎‏‎‏‏‏‎‎‎‏‏‎‎‏‎‏‎‎‏‎‎‏‏‏‏‏‎‏‏‎‏‎‏‏‏‎‏‏‎‏‎‏‎‎‏‏‎‎CID‎‏‎‎‏‎"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‎‏‎‎‏‏‎‏‎‎‏‏‎‏‎‎‎‎‏‏‏‏‏‎‎‏‏‏‎‎‏‎‎‏‏‏‎‏‎‎‏‏‎‎‎‎‏‏‎‎‏‎‏‎‏‏‏‎‎Unmount USB storage‎‏‎‎‏‎"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‎‎‎‎‎‏‏‏‎‎‏‏‎‏‏‎‎‎‏‏‎‏‏‏‏‏‎‏‏‏‎‏‏‎‎‏‎‏‏‏‏‎‏‎‏‏‏‎‏‏‏‏‏‏‎‏‏‏‎Unmount SD card‎‏‎‎‏‎"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‎‏‎‎‎‏‎‏‎‏‏‏‏‎‏‎‏‎‎‏‏‎‎‏‎‏‎‎‎‏‏‏‏‏‎‎‎‏‏‏‎‏‏‎‎‎‎‎‏‏‏‏‎‏‎‏‏‎‎Erase USB storage‎‏‎‎‏‎"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‏‏‏‏‏‏‏‏‏‎‏‎‎‏‎‎‏‎‏‎‏‎‏‏‎‎‏‏‏‏‏‎‏‎‎‏‏‎‎‏‏‏‏‏‏‏‏‎‎‎‏‏‏‎‏‎‎‎Make the text on screen smaller or larger.‎‏‎‎‏‎"</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‏‎‎‎‏‎‏‎‏‏‎‎‎‏‎‏‏‎‎‏‏‏‏‎‎‏‎‎‏‏‎‏‏‎‏‏‎‏‎‎‎‏‏‎‏‏‎‏‎‎‏‏‏‏‏‎‎‎Make smaller‎‏‎‎‏‎"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‎‏‎‏‏‏‏‎‏‎‏‏‏‏‎‏‏‎‏‏‎‎‏‎‎‏‏‎‎‎‎‎‎‎‎‏‎‏‏‏‏‏‎‎‎‎‏‎‎‎‏‎‎‎‎‏‏‏‎Make larger‎‏‎‎‏‎"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‎‏‎‏‏‎‏‎‏‏‏‏‎‏‏‎‎‏‏‏‎‏‏‏‏‎‎‎‏‏‏‎‏‎‏‎‎‎‎‎‏‏‏‎‏‏‎‏‎‎‏‎‎‏‎‏‏‏‎Servez à ce monsieur une bière et des kiwis.‎‏‎‎‏‎"</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‎‎‏‎‎‎‏‏‏‏‎‏‏‎‎‏‏‏‎‏‎‎‎‏‎‎‏‏‎‎‎‏‏‎‎‎‎‎‎‏‎‏‏‏‎‎‏‎‏‏‎‏‎‎‏‎‎‎Sample text‎‏‎‎‏‎"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‎‎‎‏‎‎‏‏‏‏‏‏‏‎‏‎‎‏‎‎‎‎‏‎‏‎‏‎‎‎‎‏‏‎‏‎‎‏‎‎‎‏‏‏‏‎‎‎‎‏‏‎‎‏‏‏‏‎‎The Wonderful Wizard of Oz‎‏‎‎‏‎"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‎‎‏‎‎‏‎‏‎‎‎‏‎‎‏‏‎‎‎‎‏‎‎‎‎‏‎‎‎‎‎‏‏‏‎‎‏‎‏‏‏‎‏‎‏‏‎‎‏‎‏‎‏‎‎‏‏‎‎Chapter 11: The Wonderful Emerald City of Oz‎‏‎‎‏‎"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‏‏‎‏‎‎‏‎‎‏‏‎‏‏‏‎‏‏‏‎‏‏‎‏‏‎‏‎‏‏‏‏‎‏‏‎‏‎‏‎‎‏‎‏‏‏‎‎‏‏‎‎‏‏‏‎‎‎You need to restart your device to change this setting.‎‏‎‎‏‎"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‎‎‎‏‏‎‏‎‏‎‎‏‎‏‎‏‎‏‏‏‏‏‏‏‏‏‏‎‏‏‏‎‏‎‏‎‎‏‏‎‏‎‎‎‎‏‏‎‏‏‎‎‎‏‏‏‏‎‎Restart‎‏‎‎‏‎"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‎‎‏‏‎‏‏‎‏‏‏‎‏‎‎‎‎‏‏‏‏‎‏‏‏‏‎‎‎‎‏‏‏‎‏‎‎‎‏‎‎‎‏‎‏‏‎‎‏‎‏‏‏‏‏‏‏‎Cancel‎‏‎‎‏‎"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‏‎‎‏‏‎‎‏‎‎‏‏‏‎‎‏‎‎‎‏‏‏‎‎‏‏‎‏‎‏‏‏‎‎‎‎‏‏‎‎‎‎‏‎‏‎‏‏‎‏‏‏‎‏‏‏‏‏‎Available media devices‎‏‎‎‏‎"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‎‏‏‎‎‎‏‏‎‏‎‎‏‎‎‎‏‏‎‎‎‎‏‎‎‏‏‏‎‏‎‎‎‏‏‏‏‏‎‎‏‎‏‎‏‏‎‏‏‎‎‎‏‎‎‎‏‏‎Available call devices‎‏‎‎‏‎"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‏‏‏‎‏‏‏‏‎‎‏‏‎‎‏‏‏‏‏‎‏‎‏‏‏‏‎‏‏‏‏‎‎‎‏‏‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‎‎‏‏‏‏‎Currently connected‎‏‎‎‏‎"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‎‎‏‎‎‎‎‎‎‏‎‏‎‎‏‎‏‏‏‎‎‏‎‎‎‎‏‏‏‎‎‎‎‏‎‏‎‎‎‎‏‏‎‎‎‎‎‏‎‎‎‏‎‎‏‏‏‎‎Media devices‎‏‎‎‏‎"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‎‏‏‎‎‏‏‏‎‏‏‎‎‏‏‏‏‎‏‏‎‏‎‎‎‏‏‏‎‎‏‏‏‎‏‏‏‏‎‎‎‏‏‎‎‎‎‏‏‏‎‏‏‎‏‏‎‎‎‎Call devices‎‏‎‎‏‎"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‏‏‏‎‏‎‎‏‏‎‏‏‏‎‎‎‏‎‎‎‏‏‎‏‏‏‎‎‏‏‎‎‎‎‎‎‎‏‎‏‎‎‎‎‏‎‏‎‎‏‎Other devices‎‏‎‎‏‎"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‎‏‏‏‎‏‎‎‎‏‎‎‎‎‏‎‏‎‎‏‎‏‎‏‏‎‏‏‎‎‎‏‎‏‏‎‎‏‏‏‎‏‏‏‏‏‎‎‎‏‏‎‏‎‎‏‏‏‎Saved devices‎‏‎‎‏‎"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‎‎‏‎‏‎‏‎‏‏‎‎‏‏‏‎‏‏‎‎‎‏‎‏‏‎‏‏‏‏‎‏‎‏‎‏‏‏‏‏‏‎‎‏‎‎‏‏‏‎‎‏‎‎‎‏‎‎Bluetooth will turn on to pair‎‏‎‎‏‎"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‎‏‏‏‎‎‏‎‎‏‏‏‏‎‏‏‎‏‎‎‏‎‏‏‏‎‏‎‏‏‎‏‎‎‏‏‏‏‏‏‏‎‎‏‎‏‎‎‏‏‏‎‏‎‎‎‏‎‎Connection preferences‎‏‎‎‏‎"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‏‏‎‏‎‎‎‏‏‎‎‏‎‏‏‏‏‏‏‎‏‏‏‏‏‏‎‏‏‏‎‏‎‏‏‏‏‎‎‏‎‎‎‎‎‏‎‎‏‏‏‎‎‎‏‏‏‎‎The port you typed isn’t valid.‎‏‎‎‏‎"</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‎‏‎‏‏‏‏‎‏‎‏‎‎‏‏‏‎‎‏‏‎‏‏‏‏‏‎‎‎‏‎‏‎‎‎‏‎‎‎‏‏‏‏‏‏‎‎‎‎‎‎‎‎‎‎‏‏‎‎The HTTP proxy is used by the browser but may not be used by the other apps.‎‏‎‎‏‎"</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‎‎‏‎‎‏‏‎‏‏‏‏‎‏‎‎‏‏‏‎‎‏‎‎‏‏‏‎‎‏‎‏‎‏‏‎‏‏‏‎‏‎‏‏‏‏‎‏‏‏‎‏‏‎‏‎‎‏‎PAC URL: ‎‏‎‎‏‎ "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‎‏‏‎‏‏‎‎‎‏‏‎‎‏‎‎‏‏‏‎‎‏‏‏‏‏‎‎‎‎‎‎‎‎‏‎‎‏‎‎‏‏‏‏‏‎‏‎‏‏‎‏‏‎‎‏‎‎‎Current subId:‎‏‎‎‏‎"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‎‏‏‏‏‎‎‎‎‏‎‏‏‏‎‎‏‎‏‎‎‎‏‏‏‎‏‎‏‎‎‏‎‎‏‏‎‏‏‏‏‏‎‎‎‎‎‏‏‏‎‎‎‎‎‎‏‏‎SubId of default data SIM:‎‏‎‎‏‎"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‏‏‏‏‏‏‏‏‎‎‎‏‎‏‎‏‏‎‎‎‏‏‏‏‎‏‎‎‎‎‎‎‎‎‏‏‏‏‎‎‏‎‏‏‎‏‎‏‏‎‏‏‏‏‏‏‏‎‎DL Bandwidth (kbps):‎‏‎‎‏‎"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‎‎‎‏‎‎‏‏‎‏‎‎‏‏‎‎‎‎‎‏‏‎‏‎‏‎‏‏‏‏‎‏‎‎‏‏‏‏‎‎‎‏‏‏‏‏‏‏‏‏‏‏‎‏‎‏‏‏‎UL Bandwidth (kbps):‎‏‎‎‏‎"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‎‎‎‎‎‏‏‎‎‎‎‎‎‏‏‎‎‏‎‎‏‎‎‎‎‎‏‎‏‏‎‎‏‎‎‏‏‏‏‎‎‏‏‏‎‏‏‎‎‎‏‏‏‎‏‏‎‏‎Cell Location Info (deprecated):‎‏‎‎‏‎"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‎‎‏‎‎‏‏‏‏‏‎‎‎‏‎‏‏‏‏‎‎‏‎‎‏‎‎‏‏‎‏‎‏‏‏‎‎‏‎‏‏‏‏‏‏‎‏‎‏‏‎‏‎‏‎‎‎‏‎LTE Physical Channel Configuration:‎‏‎‎‏‎"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‎‏‏‎‏‎‏‏‎‎‎‎‎‏‏‏‏‎‏‎‎‎‏‏‏‏‏‎‎‏‏‏‎‎‏‎‏‎‏‎‎‎‎‏‎‏‎‎‏‎‏‏‎‎‎‏‎‎‏‎Cell Info Refresh Rate:‎‏‎‎‏‎"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‏‏‎‏‏‏‎‏‎‏‏‎‏‏‎‏‎‎‎‏‏‏‏‏‏‎‏‏‏‎‎‎‏‏‎‏‏‎‎‏‏‏‏‎‏‎‎‎‏‏‎‎‎‎‎‎‏‏‎All Cell Measurement Info:‎‏‎‎‏‎"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‏‏‏‏‎‏‎‎‎‏‏‎‎‎‏‎‎‏‏‏‎‎‏‎‏‏‎‎‏‏‎‏‎‏‎‎‏‎‎‎‎‏‏‎‎‎‎‏‏‏‏‏‎‎‎‏‎‏‎Data Service:‎‏‎‎‏‎"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‎‎‎‏‎‎‎‎‎‎‏‏‏‏‏‎‏‎‎‎‎‎‏‎‏‎‎‎‎‏‏‎‏‎‎‏‎‏‎‏‎‎‏‏‏‎‏‏‏‏‎‏‎‎‏‎‏‏‎Roaming:‎‏‎‎‏‎"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‏‏‎‏‎‏‏‏‎‎‏‎‎‏‎‏‏‎‎‎‏‏‎‏‏‏‎‏‏‏‎‎‏‏‎‏‎‏‎‎‎‏‎‏‏‎‏‏‎‎‎‏‏‏‎‎‎‎IMEI:‎‏‎‎‏‎"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‎‎‏‎‏‎‏‎‎‎‎‎‎‏‏‎‏‏‏‎‏‎‏‎‏‎‎‏‏‎‎‏‏‏‎‎‎‎‏‏‏‎‏‏‎‏‎‎‎‏‎‏‏‎‏‏‏‏‎Call Redirect:‎‏‎‎‏‎"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‏‏‏‏‎‎‏‏‎‎‏‎‎‎‏‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‏‎‏‏‏‏‎‏‎‏‎‏‏‎‎‎‎‏‏‏‏‎‎‏‎‎‎‏‎Number of PPP Reset Since Boot:‎‏‎‎‏‎"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‎‏‏‎‎‎‎‏‏‏‏‎‎‎‏‎‎‏‎‎‏‏‏‏‏‎‏‎‎‏‏‏‎‎‏‎‎‏‎‏‏‎‎‏‎‎‏‏‏‎‎‏‏‏‏‏‏‎‎Current Network:‎‏‎‎‏‎"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‏‏‏‏‎‏‎‎‎‎‏‎‎‏‎‏‎‏‏‎‎‏‎‏‏‏‎‏‎‏‏‎‎‎‏‏‏‏‏‎‎‎‏‎‏‎‎‏‏‎‏‎‏‏‏‏‎‎Data Received:‎‏‎‎‏‎"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‎‏‏‎‏‏‎‏‏‎‏‏‏‏‎‎‎‏‎‏‏‎‎‎‎‎‏‏‏‏‎‏‏‎‏‏‏‏‎‎‏‏‏‏‏‎‎‏‏‏‎‎‎‎‎‏‎‏‏‎Voice Service:‎‏‎‎‏‎"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‎‏‎‎‏‎‎‎‏‏‏‏‏‏‏‎‎‎‏‏‏‎‎‎‎‏‎‎‏‏‎‎‎‎‎‎‎‏‎‏‏‏‏‎‎‎‎‎‎‎‎‏‎‏‏‏‏‏‎Signal Strength:‎‏‎‎‏‎"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‎‏‎‏‎‏‎‏‏‎‏‎‎‏‏‎‏‎‏‏‎‏‎‏‏‏‎‏‎‎‏‎‏‎‏‎‏‏‏‎‏‏‎‎‎‎‎‏‎‏‏‏‏‎‎‏‏‎‎Voice Call Status:‎‏‎‎‏‎"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‏‎‎‏‏‏‎‏‏‎‎‏‎‎‎‎‎‎‎‏‎‎‏‏‎‏‎‎‎‏‎‎‏‏‎‎‏‏‏‏‏‏‎‏‎‏‎‎‏‏‏‎‎‏‎‏‎‎Data Sent:‎‏‎‎‏‎"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‎‏‏‏‎‏‎‎‏‎‏‏‎‏‎‎‏‎‏‏‎‎‎‏‏‎‏‎‏‏‏‏‏‎‏‎‏‎‎‏‎‏‎‎‎‎‏‏‏‎‏‎‏‏‎‏‏‎Message Waiting:‎‏‎‎‏‎"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‏‏‏‏‏‏‏‎‎‎‏‏‏‏‏‏‎‎‏‎‎‎‎‎‏‏‏‏‎‎‎‏‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‏‏‎‎‎‎‎‎‎‎‏‎Phone Number:‎‏‎‎‏‎"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‎‎‎‎‏‏‏‏‏‎‏‎‎‎‏‎‏‏‏‎‏‏‏‎‎‏‏‏‏‏‎‎‏‏‎‏‏‏‏‎‏‎‎‏‏‏‏‏‏‎‏‎‏‎‏‎‏‏‎Select Radio Band‎‏‎‎‏‎"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‎‎‏‏‏‏‏‎‏‎‏‏‎‏‎‎‎‏‎‎‏‏‎‎‎‏‏‎‎‎‏‏‎‏‏‏‏‏‎‏‏‎‎‏‎‏‎‎‎‎‎‎‎‎‏‎‏‎‎Voice Network Type:‎‏‎‎‏‎"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‎‎‏‎‎‏‎‏‎‏‎‎‏‎‎‏‎‏‏‏‎‎‎‎‏‏‏‏‏‏‎‏‏‏‏‏‏‎‎‏‏‏‏‏‎‏‎‎‎‎‏‏‏‎‏‎‏‎Data Network Type:‎‏‎‎‏‎"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‎‎‏‎‎‎‏‏‏‎‎‎‎‏‏‎‎‏‎‏‎‎‎‏‎‏‏‎‏‎‏‏‏‎‎‏‏‏‎‏‎‎‎‏‎‏‎‎‏‎‎‎‎‏‏‎‏‎‎Select phone index‎‏‎‎‏‎"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‎‎‏‎‎‏‏‎‎‎‏‎‏‎‎‎‎‎‎‎‏‎‎‎‏‎‎‏‏‏‎‏‎‎‎‎‏‏‏‏‏‎‏‎‏‎‎‏‏‎‎‎‏‏‎‏‏‎‎Set Preferred Network Type:‎‏‎‎‏‎"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‏‎‎‏‏‏‏‎‏‏‏‎‎‎‏‏‎‏‎‎‎‏‎‏‏‏‏‎‎‎‏‎‏‎‎‏‏‏‎‎‎‏‏‎‏‏‎‏‏‏‏‎‏‏‎‎‎‎‎Ping Hostname(www.google.com) IPv4:‎‏‎‎‏‎"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‏‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‎‏‎‎‎‎‏‎‏‏‎‏‎‎‎‏‏‏‎‏‏‎‎‏‏‏‏‏‎‎‎‎‎‏‎‎‏‎Ping Hostname(www.google.com) IPv6:‎‏‎‎‏‎"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‏‎‏‎‏‏‏‏‏‎‎‎‎‎‎‎‏‎‏‏‎‏‎‎‎‏‎‎‎‎‎‎‏‏‏‏‏‏‏‎‏‎‎‎‎‏‎‎‎‏‎‎‎‏‎‏‎‏‎HTTP Client Test:‎‏‎‎‏‎"</string>
     <string name="ping_test_label" msgid="265427033290391845">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‎‏‏‏‎‏‎‏‏‏‎‏‏‏‏‏‏‎‎‎‏‏‏‏‎‏‏‎‎‎‎‎‎‎‏‎‎‎‎‏‏‏‏‎‏‎‎‎‎‎‏‎‎‏‎‎‏‎‏‎Run Ping Test‎‏‎‎‏‎"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‏‎‎‎‎‎‎‎‏‎‏‏‏‎‏‏‎‏‏‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‎‏‏‎‏‏‏‎‎‏‏‎‏‎‎‎‏‏‎‎‏‎‏‎SMSC:‎‏‎‎‏‎"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‎‎‎‎‎‎‎‎‎‎‎‎‎‏‎‏‎‏‎‏‎‎‎‎‎‏‎‏‏‎‎‏‎‏‎‏‎‏‏‎‎‎‏‏‎‎‎‎‏‏‎‎‏‏‎‎‏‎‎Update‎‏‎‎‏‎"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‎‎‎‎‎‏‎‎‏‏‏‎‏‎‏‏‎‎‎‏‏‎‎‏‎‎‏‏‏‏‎‏‏‎‏‎‏‏‎‏‎‎‎‎‎‎‏‏‎‏‎‎‎‎‏‎‎‎Refresh‎‏‎‎‏‎"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‎‏‎‏‏‎‎‏‎‎‏‏‏‎‏‎‎‏‏‎‎‎‎‏‎‎‎‏‎‏‎‏‏‏‎‏‏‏‎‎‏‎‏‎‏‎Toggle DNS Check‎‏‎‎‏‎"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‎‏‏‎‎‎‏‏‏‎‎‎‎‎‎‏‎‎‏‏‎‎‎‏‎‎‏‎‏‎‎‎‎‏‏‏‎‏‏‏‎‎‎‏‏‏‎‏‎‎‎‏‎‏‎‏‎‎‎OEM-specific Info/Settings‎‏‎‎‏‎"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‏‎‎‎‎‏‎‏‏‎‎‏‎‏‏‏‏‎‎‏‏‏‏‏‏‎‏‏‏‎‏‎‎‎‎‎‎‏‏‎‎‏‏‎‏‏‎‏‏‏‏‏‏‏‎‏‏‎‎Set Radio Band Mode‎‏‎‎‏‎"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‎‏‎‏‎‎‏‏‎‎‏‎‏‎‏‏‏‎‏‎‏‎‎‏‏‏‎‎‏‎‏‎‏‎‏‏‏‏‏‏‏‎‏‎‏‏‎‏‎‎‏‎‎‏‎‎‎‏‎Loading Band List…‎‏‎‎‏‎"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‏‎‏‏‎‏‏‏‏‎‎‏‏‏‏‎‏‏‎‎‎‏‏‏‏‎‎‏‎‏‏‎‏‎‎‏‎‏‏‎‎‏‏‏‎‏‏‎‎‏‎‏‎‏‎‏‏‏‎Set‎‏‎‎‏‎"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‏‏‏‎‎‎‎‏‎‎‏‏‏‏‏‏‏‏‎‏‏‎‎‎‎‏‏‏‎‏‎‎‏‏‏‏‏‎‏‎‎‏‏‎‎‎‏‏‏‏‏‎‏‏‏‏‏‏‎Unsuccessful‎‏‎‎‏‎"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‏‎‎‏‏‎‏‏‏‏‎‎‎‏‎‎‏‎‎‎‏‎‎‏‏‎‏‏‏‎‎‎‏‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‎‏‏‎‏‎‏‎‎‎Successful‎‏‎‎‏‎"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‎‎‎‏‎‏‏‏‎‎‏‏‎‏‎‎‎‏‏‏‏‎‏‎‎‎‎‎‎‏‏‎‎‎‏‎‎‏‎‎‎‏‎‏‎‎‏‎‎‏‏‏‎‎‏‏‎‏‎Changes take effect when USB cable is reconnected.‎‏‎‎‏‎"</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‎‏‏‏‏‎‎‏‎‏‎‏‎‎‎‎‎‏‏‎‏‏‎‎‎‎‎‎‏‎‎‏‏‏‏‎‎‎‏‎‎‏‏‎‏‏‎‏‏‏‎‎‏‎‎‎‎‏‎‎Enable USB mass storage‎‏‎‎‏‎"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‎‏‏‎‎‎‏‎‎‎‎‎‎‏‏‎‎‎‎‎‎‏‎‎‏‎‏‏‎‎‏‎‏‏‏‏‎‏‏‏‏‎‎‏‎‎‎‎‎‏‎‏‏‏‏‏‏‏‎Total bytes:‎‏‎‎‏‎"</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‏‎‏‏‏‏‎‏‎‏‏‏‏‎‎‏‎‎‎‎‎‎‏‏‎‎‎‎‏‏‏‏‏‎‎‏‎‏‏‎‏‏‎‏‎‏‎‏‏‎‎‏‏‏‏‎‏‏‎Move to bottom‎‏‎‎‏‎"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‏‎‎‏‎‏‏‏‎‎‏‎‏‏‎‏‎‎‎‏‏‎‏‎‎‏‎‎‎‏‎‏‎‎‎‏‏‏‏‏‏‎‏‎‏‎‎‎‏‎‎‎‎‏‏‎‎‎‎Remove language‎‏‎‎‏‎"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‎‎‏‏‎‏‏‏‏‏‏‏‏‎‎‏‎‎‎‏‏‎‎‎‎‏‎‎‎‏‎‏‏‎‎‎‎‎‎‏‏‎‏‏‎‎‎‏‎‏‎‎‏‏‎‏‏‎‎Choose activity‎‏‎‎‏‎"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‎‏‎‏‏‏‎‏‏‏‏‏‎‏‎‏‏‎‎‏‏‎‎‎‎‏‏‎‏‏‏‎‎‎‏‎‎‏‎‎‏‏‏‏‏‏‎‏‏‏‎‎‎‎‏‎‎‎Device info‎‏‎‎‏‎"</string>
     <string name="display_label" msgid="3056320781191343221">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‎‎‏‏‎‏‎‏‎‎‎‏‏‏‎‏‏‏‎‎‎‏‏‏‎‏‎‏‏‎‎‏‎‏‎‎‎‏‏‎‏‏‏‏‎‏‏‎‎‎‏‏‏‎‏‎‏‎Screen‎‏‎‎‏‎"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‎‎‎‏‎‏‎‏‏‎‎‎‎‎‎‎‏‎‎‎‏‏‏‏‏‎‏‏‏‎‎‏‏‎‎‎‏‎‎‎‏‏‎‎‏‎‎‎‎‏‎‎‎‎‏‏‏‎‎Tablet info‎‏‎‎‏‎"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‎‏‎‏‎‏‎‎‏‏‎‏‎‏‎‏‎‏‎‏‏‏‏‏‎‎‏‏‏‏‏‎‏‎‏‎‎‎‎‎‎‎‏‎‏‎‏‏‎‏‏‏‎‎‎‎‏‎‎Phone info‎‏‎‎‏‎"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‎‏‏‎‏‎‏‏‏‎‎‏‎‏‎‎‎‎‏‎‏‎‎‎‏‎‏‎‎‏‎‏‏‎‏‎‎‎‏‎‏‎‏‏‏‏‏‎‏‎‏‎‏‎‎‎‏‎‎USB storage‎‏‎‎‏‎"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‎‏‏‏‏‎‎‏‏‏‎‏‎‏‏‏‏‏‎‏‏‏‎‎‎‏‏‏‏‎‏‎‎‎‎‎‏‏‎‏‎‎‎‏‎‏‏‏‎‏‎‏‏‎‏‎‎‎SD card‎‏‎‎‏‎"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‏‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‎‏‎‎‎‎‎‎‎‏‎‏‏‏‏‎‏‏‎‏‏‏‎‎‏‏‏‏‎‎‎‎‏‎‏‎‏‎‎‏‏‎Proxy settings‎‏‎‎‏‎"</string>
@@ -306,9 +234,6 @@
     <string name="airplane_mode" msgid="3196085857882526817">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‎‎‎‏‎‏‏‎‏‎‏‏‎‎‎‏‏‏‎‎‏‎‎‏‏‏‎‏‏‏‎‏‏‎‏‎‏‏‏‏‎‎‏‏‎‏‎‏‎‎‎‏‏‎‎‎‎‏‎Airplane mode‎‏‎‎‏‎"</string>
     <string name="wireless_networks_settings_title" msgid="8557542379234105369">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‏‎‏‏‎‎‎‎‏‎‎‏‏‏‏‏‏‏‎‏‏‏‎‏‎‎‎‏‎‎‎‎‎‎‏‎‎‏‏‎‎‏‏‎‎‏‏‎‎‎‎‎‎‏‏‎‎‏‎Wireless &amp; networks‎‏‎‎‏‎"</string>
     <string name="radio_controls_summary" msgid="9028430178697624501">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‏‎‏‎‎‏‎‏‏‎‏‏‎‏‏‎‏‎‏‏‎‏‎‎‏‏‎‏‏‎‎‎‎‏‎‏‏‎‎‎‎‎‎‏‏‏‎‏‏‏‎‏‏‎‏‎‏‎Manage Wi‑Fi, Bluetooth, airplane mode, mobile networks, &amp; VPNs‎‏‎‎‏‎"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‎‎‎‎‎‎‎‏‎‏‏‏‏‎‎‎‏‏‏‎‏‎‎‏‎‎‏‏‏‎‏‏‎‎‏‏‏‏‎‏‎‎‎‏‎‎‏‏‎‏‏‏‏‏‎‏‏‎‎Mobile data‎‏‎‎‏‎"</string>
-    <string name="calls_title" msgid="6334813967619899114">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‏‏‏‏‏‎‏‎‎‏‏‏‎‎‎‏‏‏‏‎‏‏‏‏‎‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‏‎‏‎‏‏‏‏‏‎‏‏‏‎‏‎‏‎‎Allow calls‎‏‎‎‏‎"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‏‏‎‎‎‎‎‏‎‎‎‎‏‏‎‎‎‎‎‏‎‏‏‏‏‎‏‎‏‏‎‎‎‏‎‏‏‎‏‏‏‏‏‎‏‏‏‏‏‎‎‏‎‎‏‎‏‏‎SMS messages‎‏‎‎‏‎"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‎‏‏‏‎‏‎‏‏‎‏‎‏‏‏‏‏‎‎‏‏‏‏‏‎‎‏‎‏‏‎‏‏‎‏‏‏‏‎‏‎‏‏‏‎‏‏‎‏‏‎‏‎‏‏‏‏‎Allow data usage over mobile network‎‏‎‎‏‎"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‎‎‏‎‏‏‏‎‎‎‎‏‎‏‏‎‎‏‏‎‏‎‏‏‎‎‏‏‎‏‎‏‎‏‎‎‏‎‎‎‏‎‎‎‎‏‏‏‏‏‎‏‏‏‏‏‏‏‎Allow data usage when roaming‎‏‎‎‏‎"</string>
     <string name="roaming" msgid="3055365654530847985">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‎‎‏‏‎‎‏‏‎‏‏‎‏‎‏‏‎‏‏‎‏‏‏‏‏‏‏‏‏‎‎‎‏‎‎‏‏‏‏‎‏‎‏‏‏‎‏‎‎‏‏‏‏‎‎‎‏‎Roaming‎‏‎‎‏‎"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‏‎‎‎‎‏‏‏‏‏‏‏‎‎‎‎‎‎‎‎‎‏‏‏‎‎‏‏‎‏‎‏‎‎‎‎‏‎‏‏‎‏‏‎‏‎‏‎‏‎‏‏‎‎‎‏‎‎‎Connect to data services when roaming‎‏‎‎‏‎"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‏‏‎‏‏‏‏‎‎‏‏‏‏‏‏‎‏‏‎‎‏‏‎‏‏‎‏‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‎‏‎‎‎‏‏‎‏‎‎‎‏‎‎‎You have lost data connectivity because you left your home network with data roaming turned off.‎‏‎‎‏‎"</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‎‏‎‎‏‎‎‎‏‎‎‏‏‏‎‎‏‏‏‎‎‎‏‎‏‎‏‏‎‎‏‎‏‏‏‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‎‎‏‏‏‎‎‎‎Turn it on‎‏‎‎‏‎"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‎‎‏‎‎‎‏‎‎‎‎‎‎‎‏‏‎‎‏‎‎‎‎‎‎‎‎‏‏‎‏‎‎‏‎‎‎‎‏‎‎‏‏‎‏‎‎‏‏‏‎‎‎‎‏‏‏‎‎You may incur significant charges.‎‏‎‎‏‎"</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‎‏‎‏‏‏‏‏‎‏‎‎‎‎‏‏‏‏‎‏‏‏‎‏‎‎‏‎‏‎‏‎‏‏‎‎‎‏‏‎‏‎‎‎‎‎‏‎‏‎‏‎‏‎‎‏‎‏‎When you allow data roaming, you may incur significant roaming charges!‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎This setting affects all users on this tablet.‎‏‎‎‏‎"</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‎‎‎‎‏‏‏‎‏‏‎‏‎‎‏‎‏‏‎‏‎‎‏‎‏‏‎‎‎‎‏‏‎‏‏‎‏‏‏‏‏‎‎‏‎‎‏‎‏‏‏‏‎‏‏‏‎‎‎When you allow data roaming, you may incur significant roaming charges!‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎This setting affects all users on this phone.‎‏‎‎‏‎"</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‎‏‏‏‎‏‎‎‎‏‏‎‏‏‎‏‎‏‏‏‏‎‎‎‎‎‏‏‏‏‏‎‎‏‏‏‎‏‏‏‎‎‏‎‎‎‎‏‎‏‎‎‏‎‏‎‏‎Roaming charges may apply.‎‏‎‎‏‎"</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‏‎‎‎‏‎‎‎‎‏‏‎‎‏‏‏‎‎‏‎‏‏‎‏‏‎‎‎‎‏‎‎‏‏‏‏‎‎‎‏‏‎‏‏‎‎‎‎‏‎‏‏‏‏‎‏‏‎‎When you allow data roaming, roaming charges may apply.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎This setting affects all users on this tablet.‎‏‎‎‏‎"</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‏‏‎‏‎‎‎‎‏‎‏‎‏‏‏‎‏‎‏‎‎‎‏‎‎‏‏‎‏‏‏‎‏‏‏‎‏‏‎‏‏‏‎‏‏‎‏‏‎‎‎‏‎‎‏‏‏‎‎When you allow data roaming, roaming charges may apply.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎This setting affects all users on this phone.‎‏‎‎‏‎"</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‏‎‏‎‏‏‎‎‏‎‏‎‎‎‎‏‎‏‎‎‏‏‎‏‎‏‎‏‎‎‏‎‎‏‎‏‎‏‎‏‏‏‏‏‎‎‎‏‏‎‎‏‎‎‎‏‎‎‎Allow data roaming?‎‏‎‎‏‎"</string>
     <string name="networks" msgid="5184501333492775095">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‏‏‏‏‏‏‎‎‏‏‎‎‎‎‏‏‎‎‎‏‏‏‏‏‏‎‏‎‎‎‎‎‎‎‎‏‏‎‎‎‎‎‎‎‏‏‏‎‎‎‏‎‏‏‎‏‏‏‎Operator selection‎‏‎‎‏‎"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‏‏‎‎‏‎‏‏‎‎‏‎‏‏‎‏‏‏‏‏‏‎‏‏‏‎‎‎‏‏‎‎‏‎‎‎‎‏‎‏‎‏‏‎‏‏‏‎‏‏‏‎‎‎‏‏‎‎‎Choose a network operator‎‏‎‎‏‎"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‎‎‎‎‎‎‏‏‎‎‎‏‏‎‎‏‏‏‎‎‎‎‏‎‏‏‎‏‎‎‎‎‎‏‎‎‎‎‎‎‎‏‎‏‏‏‎‎‎‏‏‏‎‎‎‎‏‎‎Disabled by admin‎‏‎‎‏‎"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‎‏‎‏‏‏‏‏‏‎‎‏‏‏‏‎‎‏‏‏‎‎‏‎‏‎‎‎‎‏‎‎‏‎‏‏‏‎‎‎‎‏‏‎‏‎‎‎‎‏‎‎‏‎‎‏‏‎Show lockdown option‎‏‎‎‏‎"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‏‏‎‎‎‎‎‎‏‎‎‎‎‏‏‎‎‎‎‏‏‏‎‎‏‎‎‎‎‎‏‎‏‏‎‎‏‏‎‏‎‏‏‎‎‏‏‎‎‎‎‎‎‏‎‏‏‎‎Display power button option that turns off Smart Lock, biometric unlocking, and notifications on the lock screen‎‏‎‎‏‎"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‏‎‎‎‎‏‏‎‎‎‎‏‏‏‎‏‏‎‏‎‎‎‏‏‎‏‎‎‎‎‏‏‎‎‏‏‎‏‎‏‎‏‏‎‎‎‎‏‎‎‏‏‏‎‏‎‏‎Trust agents only extend unlock‎‏‎‎‏‎"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‏‏‎‏‎‎‎‎‎‎‎‎‏‎‏‏‏‏‏‎‎‎‏‎‎‏‎‎‎‎‎‎‎‎‎‎‎‎‏‎‎‎‎‎‏‎‏‎‏‎‏‎‎‏‎‏‏‎If enabled, trust agents will keep your device unlocked for longer, but can no longer unlock a locked device.‎‏‎‎‏‎"</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‏‎‏‎‏‏‏‎‎‎‎‏‎‏‏‎‏‏‎‎‏‏‎‏‏‏‏‎‏‎‏‎‏‏‎‎‎‎‎‏‏‏‎‏‎‎‏‎‎‏‎‎‎‎‏‏‎‎‎Lock screen when trust is lost‎‏‎‎‏‎"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‎‏‏‏‏‏‏‎‎‎‎‎‏‎‏‏‎‏‏‎‎‎‏‏‎‎‎‏‏‏‎‏‎‏‎‎‏‎‎‎‏‏‏‎‏‎‏‎‏‏‎‏‎‏‎‎‎‏‎If enabled, the device will lock when the last trust agent loses trust‎‏‎‎‏‎"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‎‎‏‏‎‏‎‎‎‏‏‎‏‎‎‎‏‏‎‏‏‎‏‎‎‎‎‎‎‎‎‎‎‏‏‏‏‎‎‏‏‏‎‎‎‎‏‎‎‎‎‏‏‎‎‎‎‏‎None‎‏‎‎‏‎"</string>
@@ -390,7 +313,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‏‎‏‎‎‏‎‏‎‎‎‏‏‏‏‎‏‎‎‎‎‎‎‎‏‎‎‏‏‎‎‏‏‏‎‎‏‏‎‎‎‎‏‎‎‏‏‏‎‏‎‏‏‏‏‎‎‏‎Set My Location, screen unlock, SIM card lock, credential storage lock‎‏‎‎‏‎"</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‎‎‎‎‏‎‎‏‏‏‏‎‎‎‎‎‎‏‎‎‎‎‏‏‎‎‏‎‏‏‎‎‏‎‎‏‎‏‎‏‎‏‏‏‎‎‏‎‏‎‎‎‏‏‎‏‎‎Set My Location, screen unlock, credential storage lock‎‏‎‎‏‎"</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‎‏‏‎‏‎‎‏‏‏‎‏‏‏‎‏‏‏‏‏‎‏‎‎‏‏‎‏‎‏‏‏‏‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‎‏‎‏‎Privacy‎‏‎‎‏‎"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‎‏‏‎‎‎‏‎‏‏‏‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‎‏‎‏‏‎‎‎‏‏‎‎‎‎‏‏‏‎Disabled by admin‎‏‎‎‏‎"</string>
+    <string name="disabled_by_administrator_summary" msgid="5424846182313851124">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‏‏‎‏‎‎‏‎‎‎‏‏‏‎‏‏‎‎‏‏‎‏‏‏‎‎‎‏‎‏‏‎‎‏‏‏‏‏‎‎‏‏‎‏‏‏‏‎‎‎‏‏‏‏‎‏‎‎‎Not available‎‏‎‎‏‎"</string>
     <string name="security_status_title" msgid="6958004275337618656">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‎‎‏‎‎‎‏‏‏‏‏‏‎‎‏‏‎‎‎‎‎‎‎‏‎‏‏‏‏‏‏‎‎‏‎‎‏‎‎‏‎‏‏‏‏‎‎‏‎‎‏‏‏‎‎‎‎‎‎Security status‎‏‎‎‏‎"</string>
     <string name="security_dashboard_summary_face" msgid="4198949293847206382">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‏‎‎‏‎‎‎‏‎‏‏‎‏‎‏‎‏‎‎‎‏‎‎‎‏‎‏‏‎‎‎‎‎‏‏‎‏‎‎‎‏‏‏‏‎‏‏‎‎‏‏‏‏‎‏‏‏‎‎Screen lock, face unlock‎‏‎‎‏‎"</string>
     <string name="security_dashboard_summary" msgid="8750183806533140464">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‏‎‏‏‎‏‏‏‎‏‏‏‎‎‏‎‏‏‏‎‎‏‏‏‏‏‏‎‎‎‎‏‏‏‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‎‎‎‎‎Screen lock, fingerprint‎‏‎‎‏‎"</string>
@@ -693,7 +616,6 @@
       <item quantity="other">‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‎‏‏‎‏‎‏‎‏‎‏‏‏‎‎‏‏‎‏‏‎‎‏‏‎‏‎‎‎‎‎‏‏‎‏‏‏‏‎‎‎‏‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‎Must be fewer than ‎‏‎‎‏‏‎<xliff:g id="NUMBER_1">%d</xliff:g>‎‏‎‎‏‏‏‎ digits‎‏‎‎‏‎</item>
       <item quantity="one">‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‎‏‏‎‏‎‏‎‏‎‏‏‏‎‎‏‏‎‏‏‎‎‏‏‎‏‎‎‎‎‎‏‏‎‏‏‏‏‎‎‎‏‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‎Must be fewer than ‎‏‎‎‏‏‎<xliff:g id="NUMBER_0">%d</xliff:g>‎‏‎‎‏‏‏‎ digit‎‏‎‎‏‎</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‏‎‏‏‎‏‏‎‏‏‏‏‎‎‎‎‏‎‎‎‎‏‎‏‎‎‏‎‎‏‏‏‏‏‏‎‎‎‎‏‎‏‏‎‏‎‏‎‏‎‏‏‎‏‎‏‏‎Must contain only digits 0-9‎‏‎‎‏‎"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‎‎‏‎‎‏‎‏‎‏‎‎‎‎‏‏‏‏‏‎‎‎‎‎‎‏‎‎‏‎‏‏‎‏‏‎‎‎‏‎‏‎‎‎‎‎‏‎‎‏‏‎‎‏‎‎‏‎Device admin doesn\'t allow using a recent PIN‎‏‎‎‏‎"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‎‏‏‏‎‎‏‏‏‎‎‎‎‎‏‏‎‎‎‎‎‏‎‏‏‎‏‏‎‏‎‏‏‏‎‎‎‏‏‎‏‏‏‎‎‎‏‏‏‏‎‎‎‎‏‏‎‎‎‎Common PINs are blocked by your IT admin. Try a different PIN.‎‏‎‎‏‎"</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‏‏‏‎‏‎‏‎‎‎‎‎‏‎‎‎‎‏‎‎‏‏‎‎‎‏‎‏‏‏‎‏‏‏‏‎‏‏‏‎‏‏‎‏‏‎‎‎‏‎‎‏‏‎‎‎‎‏‎This can\'t include an invalid character‎‏‎‎‏‎"</string>
@@ -724,6 +646,10 @@
       <item quantity="other">‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‎‏‏‏‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‎‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‏‏‏‏‏‎‏‏‏‎‎‎‏‏‏‏‎‎‏‏‎Must contain at least ‎‏‎‎‏‏‎<xliff:g id="COUNT">%d</xliff:g>‎‏‎‎‏‏‏‎ non-letter characters‎‏‎‎‏‎</item>
       <item quantity="one">‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‎‏‏‏‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‎‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‏‏‏‏‏‎‏‏‏‎‎‎‏‏‏‏‎‎‏‏‎Must contain at least 1 non-letter character‎‏‎‎‏‎</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="other">‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‏‎‎‎‏‎‏‏‎‏‎‎‏‎‏‎‎‏‏‏‎‏‏‎‏‎‎‏‏‏‎‏‏‏‎‏‎‏‎‎‎‏‏‎‏‎‎‏‏‏‏‏‎‏‏‎‏‏‎Must contain at least ‎‏‎‎‏‏‎<xliff:g id="COUNT">%d</xliff:g>‎‏‎‎‏‏‏‎ non-numerical characters‎‏‎‎‏‎</item>
+      <item quantity="one">‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‏‎‎‎‏‎‏‏‎‏‎‎‏‎‏‎‎‏‏‏‎‏‏‎‏‎‎‏‏‏‎‏‏‏‎‏‎‏‎‎‎‏‏‎‏‎‎‏‏‏‏‏‎‏‏‎‏‏‎Must contain at least 1 non-numerical character‎‏‎‎‏‎</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‏‎‎‎‎‏‏‏‏‏‏‏‎‏‎‎‎‏‏‎‎‎‏‎‏‏‎‏‏‎‎‏‏‎‎‎‏‏‎‏‎‏‏‏‏‎‏‏‎‏‏‎‎‏‎‏‏‏‎Device admin doesn\'t allow using a recent password‎‏‎‎‏‎"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‎‎‏‎‎‏‎‏‎‎‏‏‏‏‏‏‎‏‏‎‏‎‏‏‎‎‏‏‏‎‏‎‏‏‏‏‎‏‏‏‏‏‎‏‏‎‎‏‎‎‏‎‎‎‎‎‏‎Common passwords are blocked by your IT admin. Try a different password.‎‏‎‎‏‎"</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‎‏‎‎‎‏‏‎‎‎‏‏‎‎‎‏‏‎‏‏‏‏‎‎‎‏‎‏‏‏‏‏‎‎‎‏‎‎‏‏‎‎‏‎‎‏‏‎‎‏‎‎‏‎‏‎‎‎‎Ascending, descending, or repeated sequence of digits isn\'t allowed‎‏‎‎‏‎"</string>
@@ -837,19 +763,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‎‏‏‎‎‏‏‏‎‏‏‏‏‏‏‏‎‎‏‏‏‎‏‏‎‎‎‎‎‏‏‏‏‏‎‏‏‏‏‏‏‎‎‎‎‎‎‎‎‎‏‏‎‏‏‎‎‎‎2.4 GHz‎‏‎‎‏‎"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‏‎‏‏‏‏‎‏‎‎‏‎‏‎‏‏‎‎‏‎‎‏‎‎‏‏‎‏‎‏‎‎‏‏‎‎‏‏‎‎‎‏‏‎‏‎‎‎‏‎‎‏‏‏‏‏‎‏‎5 GHz‎‏‎‎‏‎"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‎‏‏‎‏‏‏‏‎‎‏‏‎‏‎‏‏‎‏‏‏‎‏‏‏‏‏‎‏‎‎‏‏‎‏‏‏‏‎‎‏‏‎‎‏‎‏‏‏‏‎‏‎‎‎‎‏‎‎Sign in‎‏‎‎‏‎"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‏‏‎‎‎‏‎‏‏‎‏‎‎‎‎‏‎‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‏‎‎‏‏‎‎‎‎‎‏‎‏‎‎‎‎‏‏‏‎‏‏‎‎Open site‎‏‎‎‏‎"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‏‎‎‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‏‎‏‏‎‎‏‏‏‏‎‎‏‎‎‎‎‏‏‎‎‎‎‏‏‎‎‏‏‎‎‏‎‎‏‏‎‏‎‎‎‏‎‎‏‏‎<xliff:g id="REMAINING_TIME">%1$s</xliff:g>‎‏‎‎‏‏‏‎ left‎‏‎‎‏‎"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‏‏‎‎‏‏‎‏‏‎‏‏‎‏‏‎‎‏‏‎‏‎‏‏‏‏‏‏‏‎‏‎‎‎‎‏‏‏‎‎‏‎‎‎‎‏‏‏‎‏‏‎‏‎‏‎‎‎‎Expires on ‎‏‎‎‏‏‎<xliff:g id="EXPIRY_TIME">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‎‎‎‏‎‏‎‎‏‎‎‏‏‎‎‎‏‏‏‏‎‎‏‎‏‎‎‏‎‎‎‏‏‎‏‏‎‎‏‎‎‎‏‏‏‏‏‏‎‎‎‏‎‏‎‏‏‎Tap here to sign in to network‎‏‎‎‏‎"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‎‏‎‏‎‎‎‎‏‏‏‎‎‎‏‏‎‏‏‏‏‎‏‏‎‏‏‏‎‏‏‏‎‎‎‏‎‏‏‏‎‎‏‏‏‏‏‏‏‏‎‎‏‎‎‎‏‎‎‏‎‎‏‏‎<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g>‎‏‎‎‏‏‏‎ Mbps‎‏‎‎‏‎"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‏‏‎‏‎‏‎‎‏‎‎‏‏‏‏‏‎‏‎‎‎‏‏‎‎‏‏‎‏‏‏‎‏‏‎‎‎‎‏‎‎‎‏‎‏‏‎‎‎‏‏‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g>‎‏‎‎‏‏‏‎ Mbps‎‏‎‎‏‎"</string>
+    <string name="link_speed" msgid="931786745741016446">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‎‎‏‏‏‎‏‏‏‎‎‏‎‏‏‏‏‏‎‎‎‏‏‎‏‏‏‏‎‎‎‎‏‎‎‏‎‎‏‏‏‏‎‏‏‏‏‏‎‏‎‏‏‏‏‏‏‎‎‎‏‎‎‏‏‎<xliff:g id="LINK_SPEED">%1$d</xliff:g>‎‏‎‎‏‏‏‎ Mbps‎‏‎‎‏‎"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‏‏‎‎‏‏‎‎‏‏‏‏‎‏‎‎‎‎‏‎‏‎‎‎‎‏‎‎‏‏‏‎‎‎‎‎‏‏‎‏‏‎‏‎‎‏‎‏‎‏‏‎‎‏‎‎‎‏‎‎‏‎‎‏‏‎<xliff:g id="REQUESTER">%s</xliff:g>‎‏‎‎‏‏‏‎ wants to turn on Wi-Fi‎‏‎‎‏‎"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‏‏‎‎‎‏‎‏‎‎‏‏‏‎‎‏‏‎‏‏‏‏‎‎‏‏‏‎‎‎‎‏‏‎‏‏‎‏‏‎‎‎‎‎‏‎‎‏‏‎‏‎‎‎‎‏‏‏‎‎‏‎‎‏‏‎<xliff:g id="REQUESTER">%s</xliff:g>‎‏‎‎‏‏‏‎ wants to turn off Wi-Fi‎‏‎‎‏‎"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‏‎‏‎‏‏‏‏‎‎‎‎‎‏‏‏‎‎‎‎‏‏‏‏‎‎‎‎‏‎‎‎‎‏‎‏‎‎‏‏‎‎‏‏‎‏‏‏‎‎‏‎‎‎‏‏‏‏‎Verify bytecode of debuggable apps‎‏‎‎‏‎"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‏‎‏‎‏‎‎‏‏‏‎‎‏‏‏‏‏‎‎‎‏‎‎‎‎‏‏‎‏‎‎‏‏‎‏‎‎‎‎‏‏‏‎‏‎‏‎‎‏‏‏‏‎‎‏‏‏‏‎Allow ART to verify bytecode for debuggable apps‎‏‎‎‏‎"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‏‏‏‎‏‏‎‎‏‎‎‎‏‎‎‎‎‏‎‎‎‎‏‏‏‎‏‎‏‏‎‎‏‏‎‏‎‎‏‏‏‎‏‏‏‎‎‏‏‎‏‎‎‏‏‏‎‏‎Show refresh rate‎‏‎‎‏‎"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‎‏‎‏‏‎‎‎‎‎‏‏‏‏‏‎‎‏‏‎‎‏‎‏‎‎‏‎‏‎‎‎‎‏‎‎‎‎‎‏‎‎‏‎‏‏‏‎‏‎‏‏‏‏‏‏‏‏‎Show the current display refresh rate‎‏‎‎‏‎"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‏‎‎‎‎‏‎‎‎‎‏‏‎‏‎‏‏‏‏‏‏‎‏‎‏‎‏‏‎‏‏‎‏‏‏‎‎‏‏‎‎‏‎‏‏‎‏‏‎‏‎‎‏‏‎‎‏‎‎NFC‎‏‎‎‏‎"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‏‎‏‎‎‎‏‏‎‎‏‏‏‎‏‎‎‎‏‏‏‏‏‎‏‏‎‏‎‏‎‎‎‎‏‎‏‏‎‎‎‏‎‎‏‏‏‏‏‎‏‏‏‏‏‎‏‎Allow data exchange when the tablet touches another device‎‏‎‎‏‎"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‏‎‏‎‏‏‏‎‏‎‏‎‏‎‏‎‏‎‎‏‎‏‎‎‏‏‏‎‏‏‎‏‎‎‎‎‏‎‏‏‎‎‏‏‏‎‎‎‏‏‎‏‎‎‎‎‏‎‎Allow data exchange when the phone touches another device‎‏‎‎‏‎"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‏‎‎‏‎‎‎‏‎‏‎‎‎‏‎‏‏‎‏‏‎‎‏‏‏‎‎‏‎‎‎‏‎‏‎‎‎‏‏‎‏‏‏‎‎‎‏‏‎‏‏‏‏‎‎‎‎‏‎Allow data exchange when the tablet touches an NFC device‎‏‎‎‏‎"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‎‎‎‏‎‎‎‏‏‎‎‎‎‎‏‏‏‎‎‏‏‏‏‎‏‏‎‏‏‎‏‏‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‏‎‎‏‏‏‎‎‏‎‎‎Allow data exchange when the phone touches an NFC device‎‏‎‎‏‎"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‏‏‎‏‎‎‏‏‎‎‏‏‏‎‎‏‎‎‏‎‎‎‏‏‏‎‎‏‏‎‏‎‏‎‎‏‎‏‏‎‎‏‎‎‎‏‏‎‏‎‏‏‏‎‎‏‏‏‎Turn on NFC‎‏‎‎‏‎"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‎‏‎‎‏‎‏‎‏‏‎‎‏‏‎‏‎‏‎‏‏‎‏‎‏‏‏‎‏‎‎‎‏‏‎‏‎‏‎‏‎‎‏‏‎‎‏‏‏‎‎‏‎‏‏‏‏‎NFC exchanges data between this device and other nearby devices or targets, such as payment terminals, access readers, and interactive ads or tags.‎‏‎‎‏‎"</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‎‎‎‏‎‏‎‏‏‎‏‏‏‏‎‏‏‎‏‎‏‏‏‏‎‎‏‎‎‏‏‏‏‏‎‏‏‏‏‏‏‏‎‎‎‏‎‏‎‎‎‏‎‏‏‎‎‎Secure NFC‎‏‎‎‏‎"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‎‎‎‎‏‏‎‎‏‎‎‎‎‎‏‎‎‏‎‏‏‎‎‎‎‏‏‏‎‏‏‎‎‏‎‏‎‎‎‏‏‎‎‏‏‏‎‏‎‎‎‏‎‏‏‎‏‎Require device unlock for NFC‎‏‎‎‏‎"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‏‏‏‎‏‏‎‏‏‏‏‎‎‎‎‏‏‎‎‏‏‎‎‏‎‎‎‎‎‎‎‏‏‎‏‏‏‏‏‏‏‎‎‏‎‎‏‎‏‏‏‎‎‎‎‏‎‏‎Allow NFC Payment and Transit use only when screen is unlocked‎‏‎‎‏‎"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‏‎‏‏‎‏‎‏‎‎‎‏‎‏‏‏‎‏‎‏‎‎‎‏‏‎‎‎‏‎‏‏‎‏‎‎‏‎‏‎‎‎‏‏‏‎‏‏‎‎‏‎‏‏‏‏‏‏‎Android Beam‎‏‎‎‏‎"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‎‎‎‎‏‏‎‏‎‎‏‏‎‏‏‏‏‏‏‏‏‎‎‎‎‏‏‎‏‏‎‎‏‎‏‏‏‎‏‏‏‎‎‎‏‏‎‎‎‎‏‏‎‏‎‎‎‎‎Ready to transmit app content via NFC‎‏‎‎‏‎"</string>
@@ -923,8 +855,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‏‏‎‏‏‎‏‏‏‏‎‏‏‎‏‎‎‏‎‎‎‏‏‎‏‎‏‎‏‎‎‎‏‏‏‏‏‎‏‎‏‏‎‎‎‎‎‎‎‎‏‏‏‏‎‏‏‏‎Turn on‎‏‎‎‏‎"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‏‏‎‎‎‎‏‏‎‏‏‏‏‎‎‏‏‏‎‏‎‎‏‏‏‎‎‏‏‏‎‏‏‎‏‏‏‎‏‎‎‏‏‎‏‏‏‎‏‎‏‏‏‏‏‎‏‎Wi‑Fi scanning turned on‎‏‎‎‏‎"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‏‎‎‏‏‎‏‎‏‎‏‎‏‏‎‎‏‏‎‏‎‏‎‎‎‏‎‎‏‎‏‏‎‏‏‏‎‏‎‏‏‎‎‎‎‎‎‎‏‏‎‏‏‏‏‎‏‎Advanced options‎‏‎‎‏‎"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‎‏‏‏‏‏‏‏‎‏‏‎‏‏‎‎‏‎‏‎‏‎‎‎‏‎‎‏‎‏‎‎‏‏‏‎‏‏‎‎‏‎‏‎‏‎‏‎‏‎‎‏‎‎‎‎‏‎‏‎Drop down list Advanced Options. Double-tap to collapse.‎‏‎‎‏‎"</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‏‎‏‎‎‏‎‎‎‏‎‏‎‎‏‎‎‎‎‏‏‏‎‏‎‏‏‎‎‎‎‏‎‎‎‎‎‏‎‏‎‎‏‎‏‏‏‎‎‎‏‏‎‏‏‎‎‎Drop down list Advanced Options. Double-tap to expand.‎‏‎‎‏‎"</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‎‏‎‏‎‎‏‎‏‏‏‏‏‎‎‏‎‏‎‏‎‏‏‎‏‎‎‎‏‏‎‏‏‏‏‎‏‎‏‏‎‏‎‎‏‎‏‏‏‏‏‎‏‎‎‏‎‏‎Drop down list Advanced Options‎‏‎‎‏‎"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‏‎‎‎‏‎‏‎‏‏‏‎‎‎‏‏‏‏‎‏‎‎‏‏‏‏‏‏‏‎‎‎‎‎‏‎‏‏‎‎‏‎‎‏‎‏‏‏‎‎‏‏‎‏‎‎‎‏‎expand‎‏‎‎‏‎"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‎‏‏‎‏‎‎‏‏‎‏‎‏‏‏‎‏‏‏‎‏‎‎‎‏‎‎‎‏‎‏‏‎‎‎‎‎‎‎‏‏‏‏‎‏‏‏‏‎‎‏‎‏‎‏‏‏‏‎Network name‎‏‎‎‏‎"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‏‎‏‏‏‎‏‏‏‎‎‏‎‏‎‎‎‏‎‎‎‎‎‎‎‎‏‏‎‎‏‎‎‎‎‎‎‎‏‎‎‎‎‎‎‎‏‏‏‎‏‎‎‎‎‏‎‎‎Enter the SSID‎‏‎‎‏‎"</string>
     <string name="wifi_security" msgid="9095934643631406913">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‏‎‎‎‏‏‏‎‏‏‎‏‎‎‎‎‎‎‎‏‎‏‏‏‎‏‏‎‏‏‎‏‎‏‏‏‎‏‎‎‎‏‏‎‏‏‏‏‏‏‎‏‎‎‎‎‎‏‎Security‎‏‎‎‏‎"</string>
@@ -934,6 +866,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‏‎‎‎‏‏‏‏‎‎‎‎‏‎‏‏‎‎‎‏‎‏‎‎‏‎‎‎‏‎‏‏‎‏‎‏‏‏‎‏‏‎‏‎‏‏‏‎‏‎‏‎‎‏‏‎‏‎‎Status‎‏‎‎‏‎"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‎‎‏‏‏‎‎‎‎‎‎‏‎‏‎‏‎‎‏‏‎‎‏‎‎‏‏‎‏‎‏‏‎‏‎‏‏‏‎‎‏‏‎‎‏‏‏‎‏‎‏‏‏‏‎‎‎‏‎Transmit link speed‎‏‎‎‏‎"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‏‏‏‎‏‏‏‎‎‎‎‏‎‎‏‏‎‏‏‏‎‎‎‏‎‎‏‎‎‏‏‎‏‎‏‏‏‎‎‎‏‎‏‎‎‎‏‏‎‎‎‏‎‎‎‎‎‎‎Receive link speed‎‏‎‎‏‎"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‏‎‎‎‏‎‎‎‏‎‏‏‎‏‏‏‎‏‎‎‏‏‎‎‎‏‏‎‎‏‎‏‎‎‏‏‎‏‎‎‎‎‎‏‏‎‏‎‎‏‎‎‏‎‎‎‏‎Link speed‎‏‎‎‏‎"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‏‎‏‎‏‎‎‎‎‎‎‎‎‎‎‏‏‏‎‎‎‎‏‏‏‎‎‎‎‎‎‏‏‏‎‏‎‏‎‏‎‎‎‎‏‏‏‏‏‎‏‏‏‎‎‏‎‎Frequency‎‏‎‎‏‎"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‏‏‏‎‎‎‏‏‏‏‏‏‎‏‏‏‎‎‎‏‎‏‎‏‏‎‎‏‎‏‏‏‏‎‎‏‏‏‏‏‎‎‎‏‏‎‎‎‏‎‏‏‏‏‎‎‎‏‎IP address‎‏‎‎‏‎"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‎‎‏‏‎‎‏‎‏‎‎‏‏‎‏‎‎‎‎‎‏‎‏‎‎‎‎‎‎‏‎‏‎‎‏‎‏‏‏‏‏‎‏‎‏‏‏‎‏‏‏‎‏‎‎‏‎‎Saved via‎‏‎‎‏‎"</string>
@@ -941,6 +874,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‎‎‎‏‏‎‎‏‏‏‎‎‎‏‎‏‎‎‏‎‏‎‎‏‏‏‎‏‎‎‏‏‎‎‏‎‎‎‎‏‎‏‏‏‎‎‏‏‏‎‎‏‏‎‏‏‏‎‎EAP method‎‏‎‎‏‎"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‎‎‎‎‎‎‎‏‎‎‎‎‏‎‏‎‏‎‏‏‏‎‏‏‎‏‏‎‎‏‎‏‎‎‎‎‎‎‏‏‏‎‎‏‎‎‏‏‎‏‎‏‏‎‎‏‏‎‎Phase 2 authentication‎‏‎‎‏‎"</string>
     <string name="wifi_eap_ca_cert" msgid="8033404008276298886">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‏‏‎‏‏‏‏‏‎‎‎‏‏‎‎‎‏‎‎‏‏‎‎‎‎‏‏‏‏‏‏‎‏‎‏‎‎‎‎‎‏‎‎‎‎‎‏‏‎‎‏‎‎‎‎‏‏‎‎CA certificate‎‏‎‎‏‎"</string>
+    <string name="wifi_eap_ocsp" msgid="8713933962516871238">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‎‏‏‏‎‏‏‏‎‎‎‎‏‏‏‎‎‏‏‎‎‎‏‎‏‎‏‎‎‎‎‎‎‎‎‎‎‎‏‏‏‏‎‏‏‏‎‎‎‎‏‎‎‎‏‏‎‎Online Certificate Status‎‏‎‎‏‎"</string>
     <string name="wifi_eap_domain" msgid="8304301470752333203">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‏‎‎‏‏‏‏‏‎‏‏‎‎‏‏‏‎‎‎‏‏‎‎‎‎‏‎‎‎‎‏‏‏‏‏‏‏‎‎‏‎‎‏‎‏‏‏‎‏‏‎‎‏‎‎‏‏‎Domain‎‏‎‎‏‎"</string>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‎‏‏‎‎‎‏‎‎‎‎‏‎‎‏‎‎‎‏‎‎‎‎‎‏‎‏‎‏‏‎‏‏‎‎‎‎‏‏‎‎‏‎‎‏‏‏‎‏‎‏‏‏‎‎‏‎‎‎User certificate‎‏‎‎‏‎"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‏‎‎‏‎‏‏‏‏‎‎‎‏‏‏‏‏‎‎‏‎‏‏‎‎‏‎‎‎‏‏‏‎‏‎‏‏‏‎‎‎‎‏‎‏‏‏‎‏‎‏‏‎‎‎‏‎‎‎Identity‎‏‎‎‏‎"</string>
@@ -957,6 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‎‎‎‏‏‏‎‏‎‏‎‏‏‎‏‎‎‎‎‎‎‎‏‎‎‏‏‎‏‎‏‏‏‏‎‏‏‎‎‎‏‏‏‎‎‏‏‏‎‎‎‏‏‏‏‎‏‏‎Choose at least one band for Wi‑Fi hotspot:‎‏‎‎‏‎"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‎‏‎‎‎‏‏‎‏‎‎‎‏‏‎‎‎‏‏‎‎‏‏‎‎‎‎‎‏‏‏‏‏‎‏‎‏‏‎‎‎‎‎‏‎‏‏‏‎‏‏‏‎‏‏‏‎‏‎IP settings‎‏‎‎‏‎"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‎‏‏‎‎‏‎‎‏‎‏‏‏‎‏‎‏‏‎‏‏‏‏‏‏‏‎‎‎‎‎‎‎‎‎‎‎‎‏‏‎‎‏‏‎‎‏‏‎‎‏‏‎‎‎‎‏‎‎Privacy‎‏‎‎‏‎"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‎‏‏‎‎‎‎‎‏‏‎‎‏‎‎‎‏‎‎‎‎‏‎‏‏‎‎‏‏‏‏‏‏‏‎‏‏‏‎‎‎‎‏‏‏‎‎‏‎‏‎‏‏‎‎‎‎‏‎Subscription‎‏‎‎‏‎"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‎‏‏‏‏‎‎‎‎‏‎‏‏‎‎‏‏‎‎‏‎‏‏‏‏‏‏‎‏‏‏‎‎‎‎‏‎‏‎‎‎‎‏‏‏‏‏‎‎‏‎‎‎‎‏‎‏‏‎‎View or change subscription‎‏‎‎‏‎"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‎‏‏‏‏‏‏‏‎‏‎‏‏‏‏‎‎‎‏‏‏‏‏‎‏‏‎‏‎‎‏‏‏‎‏‎‏‎‏‎‎‏‏‏‏‏‎‎‏‎‎‏‎‏‏‏‎‎‎Randomized MAC‎‏‎‎‏‎"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‎‏‎‎‏‏‏‎‏‎‎‎‎‏‎‏‏‏‎‏‏‎‏‎‎‏‎‏‏‎‏‏‏‎‎‎‎‎‎‎‏‎‎‎‎‎‎‎‏‎‎‏‏‎‎‎‎‎‎Add a device‎‏‎‎‏‎"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‎‏‎‎‏‎‎‏‎‏‏‎‎‏‎‏‎‎‏‎‎‎‏‏‎‏‏‏‎‏‎‎‏‎‎‏‎‎‎‏‏‎‏‎‏‎‎‏‎‎‎‎‏‏‏‎‎‎‎Center the QR code below to add the device to “‎‏‎‎‏‏‎<xliff:g id="SSID">%1$s</xliff:g>‎‏‎‎‏‏‏‎”‎‏‎‎‏‎"</string>
@@ -966,12 +902,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‎‏‏‎‏‏‏‏‏‏‎‏‎‎‏‎‏‎‏‎‏‏‎‎‎‎‏‏‏‎‏‏‎‎‎‏‏‎‎‏‎‎‎‏‏‎‎‎‎‎‎‎‎‎‏‎‏‎‎Share Wi‑Fi‎‏‎‎‏‎"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‎‏‎‎‏‎‎‎‏‎‏‏‎‏‎‎‏‏‏‎‏‏‏‎‏‏‏‎‏‏‎‏‏‎‎‏‏‎‎‎‏‏‏‎‎‎‏‎‏‏‏‏‏‏‎‎‎‏‎Scan this QR code to connect to “‎‏‎‎‏‏‎<xliff:g id="SSID">%1$s</xliff:g>‎‏‎‎‏‏‏‎” and share the password‎‏‎‎‏‎"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‏‎‏‏‏‎‏‎‏‏‏‏‎‎‎‎‎‎‎‎‎‎‎‎‏‏‎‎‎‏‏‎‏‎‏‎‏‎‏‎‎‏‏‏‎‏‎‏‏‎‎‎‎‏‎‏‏‏‎Scan this QR code to connect to “‎‏‎‎‏‏‎<xliff:g id="SSID">%1$s</xliff:g>‎‏‎‎‏‏‏‎”‎‏‎‎‏‎"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‏‎‏‎‏‎‎‏‎‏‏‎‎‏‏‏‎‎‎‎‏‎‏‏‏‎‎‏‏‏‎‎‏‏‏‏‎‏‏‎‏‏‏‏‏‎‎‎‏‏‎‏‏‎‏‎‎‎Couldn’t read QR code. Re-center code and try again‎‏‎‎‏‎"</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‏‏‏‏‎‎‎‎‏‏‎‎‎‏‏‎‏‏‏‎‏‏‎‏‏‎‏‏‎‎‏‏‏‎‎‎‎‎‏‏‎‎‏‏‏‏‏‎‏‎‏‏‏‎‏‏‎‎‎Try again. If the issue continues, contact the device manufacturer‎‏‎‎‏‎"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‎‏‏‏‎‎‏‏‏‎‏‏‏‏‏‏‎‏‏‎‎‎‎‏‎‎‎‏‎‏‎‏‏‎‎‎‎‏‎‏‏‎‎‎‏‏‎‏‏‎‎‎‎‎‎‎‎‏‎Something went wrong‎‏‎‎‏‎"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‎‏‏‎‏‎‏‏‎‎‏‏‏‏‏‏‏‎‏‎‎‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‎‏‏‏‎‎‏‎‎‎‎‎‎‏‎‏‎‏‏‏‎‎‎Make sure the device has been plugged in, charged, and turned on‎‏‎‎‏‎"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‏‎‎‎‎‎‏‏‏‏‏‎‏‎‎‏‎‏‎‎‎‏‏‏‎‏‎‏‏‎‎‎‏‏‏‏‎‏‎‎‏‎‎‎‏‎‏‎‏‏‎‏‏‏‎‏‎‎Make sure the device has been plugged in, charged, and turned on. If the issue continues, contact the device manufacturer‎‏‎‎‏‎"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‎‎‏‎‏‏‏‏‎‏‎‏‏‎‏‎‏‎‎‎‏‎‏‏‏‏‏‏‎‎‏‎‎‏‎‎‎‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‎‎‎‎‎Adding “‎‏‎‎‏‏‎<xliff:g id="SSID">%1$s</xliff:g>‎‏‎‎‏‏‏‎” isn’t supported by this device‎‏‎‎‏‎"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‏‎‎‎‏‏‏‎‏‏‏‎‎‏‎‏‎‏‏‏‎‎‎‏‏‎‏‏‎‏‎‏‏‏‏‎‎‎‎‎‎‎‏‎‎‎‏‎‏‏‎‎‎‏‎‏‎‎‎Try moving the device closer to your Wi‑Fi access point/router‎‏‎‎‏‎"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‎‏‎‏‎‎‎‏‎‎‎‏‏‎‎‏‏‏‏‎‎‏‏‏‎‎‏‏‏‎‎‏‎‏‏‏‎‏‎‎‎‎‎‎‏‏‎‏‎‎‎‏‎‏‎‏‎‎‎Check the password and try again‎‏‎‎‏‎"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‎‏‏‎‏‎‎‎‎‏‏‏‎‏‏‏‎‏‏‏‎‎‎‏‎‏‎‏‏‎‏‏‏‎‏‏‏‎‏‎‏‎‏‎‏‏‏‏‏‎‎‎‏‏‏‏‏‎‎Contact the device manufacturer‎‏‎‎‏‎"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‎‎‏‏‏‎‏‎‏‎‏‎‏‎‏‏‎‎‏‎‏‏‎‎‏‏‏‏‏‏‎‎‏‎‎‎‎‎‏‎‎‎‎‎‎‎‎‎‏‎‏‎‏‎‎‏‏‏‎Check connection and try again‎‏‎‎‏‎"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‏‎‏‎‏‎‏‎‎‏‎‏‏‎‎‏‎‎‏‎‏‏‏‎‏‎‏‎‏‏‎‎‏‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‎‎‏‏‎Choose network‎‏‎‎‏‎"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‏‏‏‏‏‏‏‎‎‏‎‏‏‏‏‎‎‏‎‎‎‎‎‏‎‎‎‎‏‏‎‏‏‎‎‎‎‎‏‎‏‎‏‎‎‏‏‏‏‏‏‏‎‏‏‎‎‏‎To connect your device, choose a network‎‏‎‎‏‎"</string>
@@ -984,11 +922,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‎‎‏‎‎‏‏‏‏‎‎‏‏‏‏‏‎‏‎‎‎‎‏‎‏‏‎‎‏‎‎‎‏‎‎‎‎‎‎‏‏‏‎‎‎‏‏‎‎‏‎‏‏‎‏‎‏‏‎Sharing Wi‑Fi with this device…‎‏‎‎‏‎"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‎‎‎‎‎‏‏‎‎‎‏‎‎‏‏‎‏‏‎‏‎‏‎‎‏‏‏‏‏‎‎‎‎‎‎‏‎‏‎‎‏‏‎‏‎‏‎‎‏‎‏‎‏‏‎‏‎‏‎Connecting…‎‏‎‎‏‎"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‎‏‏‏‎‏‏‎‏‎‏‎‏‏‎‎‏‎‎‎‎‎‎‏‏‎‏‏‎‏‎‏‏‏‏‎‏‎‏‏‎‎‏‎‎‎‏‏‎‏‎‏‏‏‎‏‎‎‎Share hotspot‎‏‎‎‏‎"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‎‎‏‏‎‎‏‏‏‏‏‏‎‏‎‎‎‎‎‏‏‏‏‏‎‎‏‏‏‏‏‎‎‎‎‎‎‏‏‎‏‏‎‎‏‏‎‏‏‏‎‎‎‎‎‎‏‏‎Verify it\'s you‎‏‎‎‏‎"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‏‎‏‎‏‏‏‎‎‏‎‎‎‏‎‏‏‎‏‎‎‏‏‎‏‎‎‎‎‎‎‎‏‎‏‎‏‏‏‏‎‎‎‎‏‎‏‏‏‏‎‏‏‏‎‏‎‎‎Verify that it\'s you‎‏‎‎‏‎"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‏‎‏‎‎‏‎‏‎‏‎‏‎‎‏‏‎‏‎‎‏‏‎‏‎‏‎‎‏‏‎‎‎‎‏‏‏‏‎‏‎‎‎‏‎‏‏‎‏‎‏‏‎‏‏‎‏‎Wi‑Fi password: ‎‏‎‎‏‏‎<xliff:g id="PASSWORD">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‎‏‏‎‎‎‏‏‎‏‏‏‏‎‏‎‏‎‏‎‏‎‏‏‎‎‎‎‎‎‏‎‎‎‎‎‏‏‏‎‎‏‏‎‎‏‎‏‏‏‎‏‎‎‎‏‎‎‎Hotspot password: ‎‏‎‎‏‏‎<xliff:g id="PASSWORD">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‏‎‎‎‏‏‏‎‏‏‏‏‎‏‏‎‎‎‎‎‎‏‎‏‎‎‏‎‎‏‏‏‏‎‎‎‎‎‏‏‎‏‎‎‎‏‎‏‎‎‎‏‏‎‎‏‎‎‎Auto‑connect‎‏‎‎‏‎"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‏‎‏‎‏‏‎‏‏‎‏‏‏‎‏‎‏‏‏‎‎‏‎‎‎‎‎‎‏‎‎‏‎‏‏‏‏‎‎‏‎‎‎‏‎‎‏‎‎‎‎‏‏‎‏‏‏‎‎Allow phone to automatically connect near this network‎‏‎‎‏‎"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‎‎‎‏‎‎‏‏‎‎‏‏‏‎‏‏‎‎‏‏‎‎‎‎‏‏‏‎‏‎‏‏‏‏‎‏‎‎‏‎‎‏‎‎‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎Allow tablet to automatically connect near this network‎‏‎‎‏‎"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‎‏‎‏‎‏‏‎‏‎‎‏‎‏‏‎‏‎‎‏‎‏‎‏‏‏‏‏‎‎‏‏‏‏‎‎‏‏‎‎‏‎‏‎‎‎‏‏‎‎‎‏‏‎‏‏‏‎Add device‎‏‎‎‏‎"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‎‎‏‏‎‎‏‏‎‏‎‎‎‏‏‎‎‎‎‎‏‏‎‎‏‏‏‎‎‏‏‎‏‏‏‎‎‎‎‎‏‏‏‎‎‎‏‏‎‏‎‏‎‏‏‎‎‏‎Use a QR code to add a device to this network‎‏‎‎‏‎"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‎‎‎‏‎‎‏‏‎‎‏‏‏‏‏‏‏‏‎‏‏‎‏‎‎‎‎‏‏‏‎‎‎‏‏‎‎‎‏‎‏‏‏‎QR code isn\'t a valid format‎‏‎‎‏‎"</string>
     <string name="retry" msgid="7542103800274026915">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‎‎‏‎‏‎‏‎‏‎‏‏‏‎‏‏‏‏‎‏‏‏‎‎‏‎‎‏‎‏‎‎‏‎‎‏‏‏‎‏‎‏‎‎‎‎‎‎‎‏‏‎‏‎‎‎‏‏‎Retry‎‏‎‎‏‎"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‏‎‏‏‎‏‎‏‎‎‎‎‏‎‏‏‎‏‎‏‎‎‎‎‎‎‏‎‏‎‏‏‏‏‏‎‏‎‎‎‎‏‎‎‎‎‎‏‏‎‎‎‎‏‎‏‏‎‎Share with other device users‎‏‎‎‏‎"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‏‏‎‏‏‎‎‎‏‎‎‎‏‏‏‏‎‏‏‎‏‎‏‎‏‏‎‎‎‏‎‎‎‎‏‎‏‎‏‏‎‏‎‏‏‏‎‏‎‎‏‎‏‎‏‏‏‏‎(unchanged)‎‏‎‎‏‎"</string>
@@ -1000,6 +942,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‏‏‏‎‏‎‏‏‏‎‏‎‏‏‎‏‏‏‎‎‏‏‎‎‏‏‎‏‎‏‏‏‎‎‏‏‏‏‏‎‏‏‏‏‎‎‏‎‏‏‎‏‎‎‏‏‏‏‎No certificate specified. Your connection will not be private.‎‏‎‎‏‎"</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‏‎‏‎‏‏‏‏‎‎‎‏‎‎‎‏‏‏‏‏‏‎‎‏‎‏‏‎‏‏‏‎‎‎‏‏‎‎‏‎‎‏‏‏‎‏‏‏‎‎‎‏‏‏‎‎‏‏‎Network name is too long.‎‏‎‎‏‎"</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‎‎‎‎‏‎‎‏‏‏‎‎‎‎‎‎‏‏‏‎‎‎‏‏‏‎‏‏‎‎‎‎‏‎‎‏‏‎‏‎‏‏‏‏‏‎‏‏‎‏‏‎‏‏‎‏‎‎‎Must specify a domain.‎‏‎‎‏‎"</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‎‏‎‏‏‏‏‏‏‎‏‎‎‏‏‏‎‎‏‏‏‏‎‎‏‏‎‏‏‎‏‏‎‏‏‎‏‏‏‏‎‏‏‎‏‏‏‏‏‏‎‎‏‏‏‏‎‎‎Certificate required.‎‏‎‎‏‎"</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‎‎‎‎‏‏‏‎‎‎‎‏‏‏‎‏‏‏‎‎‏‎‏‎‏‏‏‏‎‏‎‎‎‎‎‏‎‎‏‏‎‎‏‏‏‏‏‎‏‎‏‏‏‎‏‏‎‏‎WPS available‎‏‎‎‏‎"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" ‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‏‏‏‏‎‏‎‏‎‎‎‎‎‏‏‎‎‎‎‏‎‏‎‎‏‏‎‎‏‎‎‏‎‎‎‎‏‏‎‎‎‎‎‎‎‎‎‏‎‏‏‏‏‎‎‏‎‎‎ (WPS available)‎‏‎‎‏‎"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‏‎‏‎‎‏‏‏‎‎‎‎‏‏‎‏‎‎‎‎‏‎‏‏‏‎‎‏‏‏‏‎‏‎‎‏‏‏‏‎‏‎‏‏‏‏‎‏‏‎‏‎‎‏‏‏‎‏‎Carrier Wi‑Fi network‎‏‎‎‏‎"</string>
@@ -1051,7 +994,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‏‎‎‏‎‎‎‎‎‏‎‎‏‎‏‎‏‎‎‏‎‏‎‎‏‏‎‏‏‎‏‏‎‎‏‏‎‎‎‎‏‏‏‎‎‏‎‏‎‎‏‏‏‎‏‏‎‎Advanced Wi‑Fi‎‏‎‎‏‎"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‎‏‏‎‏‎‏‎‏‏‎‏‎‏‎‏‏‏‎‏‎‎‎‏‎‏‎‎‎‏‏‏‏‎‏‎‏‏‏‎‏‏‏‎‎‏‏‎‏‏‎‎‎‏‏‎‎‏‎SSID‎‏‎‎‏‎"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‎‏‏‎‏‎‎‏‏‏‏‎‎‏‏‏‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‎‎‎‏‎‎‏‎‎‎‎‏‎‎‏‎‏‎‏‏‏‎‎‎‎‏‎MAC address‎‏‎‎‏‎"</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_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>
@@ -1103,7 +1047,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‏‏‏‎‏‏‏‏‏‏‎‏‏‏‎‏‏‏‎‏‎‎‏‎‏‎‎‏‏‎‏‏‎‎‎‏‎‎‏‏‎‎‏‎‏‎‎‏‎‎‎‎‏‎‏‎‏‎Use hotspot to create a Wi‑Fi network for your other devices. Hotspot provides internet using your mobile data connection. Additional mobile data charges may apply.‎‏‎‎‏‎"</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‎‎‏‏‏‎‏‎‏‏‏‎‎‏‏‎‏‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‎‎‎‏‏‎‎‎‎‎‏‎‎‏‏‏‎‎‎‏‏‏‎Apps can create a hotspot to share content with nearby devices.‎‏‎‎‏‎"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‏‎‏‏‏‎‎‏‎‏‏‏‎‎‏‏‏‎‏‏‏‏‎‎‏‏‎‏‏‏‏‏‏‎‎‏‎‏‎‎‎‎‎‎‏‎‎‏‎‏‎‏‏‏‎‎‏‎‎Turn off hotspot automatically‎‏‎‎‏‎"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‎‏‏‏‏‎‎‏‎‏‎‏‏‏‏‎‏‎‎‎‏‎‎‏‏‎‎‏‎‎‏‎‏‏‏‏‎‏‎‏‏‏‏‏‎‏‎‏‎‏‎‎‎‎‎‎‎‏‎Wi‑Fi hotspot will turn off if no devices are connected‎‏‎‎‏‎"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‎‏‏‏‏‎‏‎‏‎‏‏‏‎‏‎‏‎‏‎‎‏‏‏‎‏‎‎‏‎‏‎‏‏‎‏‏‏‎‏‏‎‏‎‎‎‎‎‎‏‏‏‏‏‎‏‎‎When no devices are connected‎‏‎‎‏‎"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‏‏‎‎‏‏‏‎‏‏‏‎‏‎‎‏‏‎‏‎‎‎‎‏‎‏‏‏‎‏‎‏‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‎‎‏‎‎‎‏‎‏‏‎‎Turning hotspot on…‎‏‎‎‏‎"</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‎‏‎‏‎‎‏‎‏‎‏‎‎‎‏‎‎‎‏‏‏‏‎‏‎‎‎‏‏‎‏‏‏‏‏‏‎‎‏‏‏‎‏‎‏‏‏‎‎‏‎‎‏‎‎‏‎‎‎Turning off hotspot…‎‏‎‎‏‎"</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‏‎‏‎‎‏‎‎‎‏‏‎‎‎‏‏‏‎‏‏‎‎‎‎‏‎‏‎‏‎‏‏‏‏‏‎‏‎‎‏‏‏‏‏‏‏‏‎‎‎‎‎‎‎‎‎‎‎‎‎‏‎‎‏‏‎<xliff:g id="NETWORK_SSID">%1$s</xliff:g>‎‏‎‎‏‏‏‎ is active‎‏‎‎‏‎"</string>
@@ -1112,6 +1056,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‏‎‏‎‎‎‏‏‎‏‎‎‏‏‎‏‏‎‎‎‎‏‎‎‏‏‏‏‎‎‎‎‎‎‏‎‎‏‏‏‎‏‏‏‏‏‏‏‎‏‏‏‏‎‎‎‏‎Wi‑Fi hotspot setup‎‏‎‎‏‎"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‎‎‎‎‎‎‏‏‏‎‎‎‏‏‏‎‏‏‎‎‎‎‎‏‎‏‎‏‏‎‏‏‎‏‎‏‎‎‏‎‎‏‏‏‎‎‏‎‎‎‏‎‎‎‏‎‏‎‎AndroidAP WPA2 PSK hotspot‎‏‎‎‏‎"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‏‏‏‎‏‏‏‎‎‏‎‎‎‎‎‎‎‎‎‎‎‎‏‎‎‎‏‏‎‎‏‏‏‎‏‏‎‎‏‏‏‎‎‏‎‎‏‏‏‎‏‎‏‎‎‏‎‎‎AndroidHotspot‎‏‎‎‏‎"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‏‏‏‎‏‎‏‏‎‎‎‏‏‎‏‎‎‎‏‎‏‎‎‎‎‏‏‎‏‎‏‎‎‏‏‎‎‏‏‏‎‏‏‎‎‎‎‏‎‏‏‏‎‎‏‎‎‏‎Save this network?‎‏‎‎‏‎"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‏‏‏‎‎‎‎‎‎‎‏‏‎‎‎‎‎‏‎‏‏‎‎‏‏‎‏‏‏‏‎‎‏‏‎‏‏‏‎‏‏‏‏‏‏‏‎‎‎‎‎‏‎‎‎‎‏‎‎‎‏‎‎‏‏‎<xliff:g id="APPNAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎ wants to save a network to your phone‎‏‎‎‏‎"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‎‏‎‏‎‏‏‎‎‎‎‏‏‎‎‎‏‎‏‏‎‏‎‏‎‏‎‎‎‎‏‏‏‎‏‎‏‎‎‏‏‏‏‏‏‏‏‏‎‎‎‎‏‏‏‎‎‎‎‎‏‎‎‏‏‎<xliff:g id="APPNAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎ wants to save a network to your tablet‎‏‎‎‏‎"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‏‎‎‎‏‏‏‎‏‎‎‏‏‏‏‏‎‎‏‎‏‏‎‎‏‎‎‎‏‏‏‎‎‎‎‏‏‎‏‎‏‎‎‏‏‎‏‎‏‏‏‎‎‏‏‏‏‏‎Saving…‎‏‎‎‏‎"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‏‏‎‎‎‎‎‏‎‎‏‎‏‎‏‎‏‏‏‎‎‎‏‎‎‏‎‎‎‎‏‎‎‏‎‎‎‏‏‎‎‎‎‎‏‏‎‎‏‎‏‎‎‏‎‎‎‏‎Saved‎‏‎‎‏‎"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‎‎‎‏‎‎‎‎‎‎‎‎‏‎‎‏‏‏‏‏‏‏‏‏‏‏‏‏‏‎‎‏‎‎‏‎‏‏‎‎‏‎‎‎‎‏‎‎‏‎‎‎‏‏‏‏‎‎‎Can’t save. Try again.‎‏‎‎‏‎"</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‎‎‏‏‎‏‏‎‎‏‎‎‏‏‎‏‎‏‏‏‎‎‏‏‎‎‏‎‏‎‏‏‏‎‎‎‏‎‎‎‏‏‎‏‎‏‏‏‏‏‏‎‏‎‎‎‏‏‎Save networks?‎‏‎‎‏‎"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‎‏‎‎‎‎‏‏‏‎‏‎‎‎‎‎‏‏‎‎‎‎‏‎‏‏‎‎‎‏‏‎‏‎‎‏‏‎‏‏‎‏‎‎‎‎‏‎‎‏‎‏‎‏‏‏‏‏‎‎‏‎‎‏‏‎<xliff:g id="APPNAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎ wants to save these networks to your phone‎‏‎‎‏‎"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‎‏‏‏‏‏‏‎‏‏‎‎‎‎‎‎‎‏‎‎‏‎‏‏‎‎‎‏‎‎‏‎‎‎‏‎‎‏‎‏‏‏‎‏‏‎‏‏‏‏‎‏‏‎‏‏‎‎‎‏‎‎‏‏‎<xliff:g id="APPNAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎ wants to save these networks to your tablet‎‏‎‎‏‎"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‎‎‎‎‎‎‎‏‎‎‎‏‎‏‎‏‎‏‎‎‏‎‎‎‎‎‏‎‏‎‎‏‏‏‏‏‏‎‏‎‏‎‎‏‏‏‏‎‎‏‎‎‎‏‎‎‎‏‎Saving ‎‏‎‎‏‏‎<xliff:g id="NUMBER">%d</xliff:g>‎‏‎‎‏‏‏‎ networks…‎‏‎‎‏‎"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‏‎‏‏‏‎‎‎‎‎‎‏‎‏‏‎‏‏‎‎‎‏‏‎‎‏‎‏‏‏‏‏‏‎‎‎‎‏‎‏‎‎‎‎‎‎‎‏‎‏‏‎‎‎‏‎‎‏‎Networks saved‎‏‎‎‏‎"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‎‏‏‏‎‏‎‏‏‎‎‎‏‎‎‎‏‏‏‏‎‏‎‎‏‏‏‏‏‏‎‎‏‎‏‎‎‎‎‏‎‏‏‏‏‎‏‎‎‏‎‏‎‎‏‏‎‎‎‎Wi-Fi calling‎‏‎‎‏‎"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‏‎‎‏‏‏‏‏‏‎‏‎‎‏‏‎‎‎‏‏‎‏‎‏‏‏‏‏‏‎‏‏‎‎‏‏‏‏‏‎‎‎‏‏‎‏‎‎‏‎‎‎‏‎‎‏‏‏‎Extend calls with Wi‑Fi‎‏‎‎‏‎"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‏‏‎‎‎‏‏‏‏‎‏‏‏‎‏‏‎‏‎‏‎‎‎‏‎‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‏‏‎‎‎‏‏‏‏‏‏‎‎‎‏‎‏‎‎Turn on Wi‑Fi calling to extend coverage‎‏‎‎‏‎"</string>
@@ -1138,16 +1093,18 @@
     <string name="emergency_address_title" msgid="3490633500025717573">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‎‎‎‏‏‏‎‎‎‏‎‎‏‏‏‎‎‎‏‎‏‎‏‏‎‎‏‎‎‏‎‎‏‎‎‎‎‏‏‏‎‎‏‎‎‎‎‎‏‏‎‏‎‎‎‏‎‏‎Emergency Address‎‏‎‎‏‎"</string>
     <string name="emergency_address_summary" msgid="3022628750270626473">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‏‏‏‏‏‎‎‏‎‏‎‎‎‏‎‎‎‏‏‎‏‎‏‎‏‎‏‏‏‎‎‏‏‏‏‎‎‎‎‏‏‎‏‏‏‏‎‏‎‏‎‏‎‏‎‎‏‎Used as your location when you make an emergency call over Wi‑Fi‎‏‎‎‏‎"</string>
     <string name="private_dns_help_message" msgid="851221502063782306">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‏‏‏‏‎‏‎‎‎‎‎‎‏‎‎‏‎‏‎‏‏‏‎‎‏‎‎‎‏‏‎‏‏‏‏‎‏‎‏‏‏‏‏‎‏‎‏‎‎‏‏‎‏‎‎‎‏‎‎‎‏‎‎‏‏‎"<annotation id="url">"‎‏‎‎‏‏‏‎Learn more‎‏‎‎‏‏‎"</annotation>"‎‏‎‎‏‏‏‎ about Private DNS features‎‏‎‎‏‎"</string>
+    <string name="private_dns_mode_on" msgid="8878679071975375696">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‏‏‎‎‏‏‎‏‏‏‎‏‏‎‎‏‏‏‏‎‎‏‎‎‏‏‎‎‎‏‏‏‏‏‏‏‎‎‏‎‎‏‏‎‎‎‎‎‏‏‎‏‎‏‎‎‎‎‎On‎‏‎‎‏‎"</string>
     <string name="wifi_calling_pref_managed_by_carrier" msgid="129524064888622179">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‎‏‏‏‏‎‎‏‏‎‎‎‎‏‎‏‎‎‏‎‏‏‏‎‎‏‏‎‏‏‎‎‏‎‏‏‎‎‎‏‏‎‏‎‎‎‎‏‏‎‎‎‏‏‎‎‎‏‏‎Setting managed by carrier‎‏‎‎‏‎"</string>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‎‏‎‎‏‏‏‏‏‏‎‏‏‏‎‎‎‎‏‏‎‎‏‏‏‏‏‏‎‏‏‎‎‎‎‏‎‏‎‏‏‏‏‎‏‏‎‏‏‎‎‏‏‏‎‏‎‎Activate Wi‑Fi Calling‎‏‎‎‏‎"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‎‏‎‏‏‎‎‎‎‏‏‎‏‏‎‏‏‏‏‎‏‎‎‏‎‎‎‎‏‎‎‎‏‎‎‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‏‎‏‎‏‏‏‎Turn on Wi‑Fi calling‎‏‎‎‏‎"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‎‏‏‏‎‏‏‎‎‏‏‏‎‏‏‏‏‏‏‎‏‎‏‏‎‏‎‏‏‏‏‎‏‏‏‎‏‎‎‎‎‎‎‎‎‏‎‎‎‎‎‎‎‏‎‏‏‏‎Wi‑Fi calling is not supported for %1$s‎‏‎‎‏‎"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‎‎‏‏‎‏‏‎‏‎‎‎‏‏‏‏‏‎‎‎‏‏‏‎‎‏‏‏‏‏‎‏‏‎‏‎‎‎‏‎‏‏‏‏‏‏‎‏‎‎‏‏‎‏‏‏‎‎‎Disconnected from ‎‏‎‎‏‏‎<xliff:g id="SSID">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
     <string name="carrier" msgid="1755020806290963951">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‎‎‎‏‎‏‏‎‏‏‎‎‎‏‎‏‏‎‎‎‎‏‏‏‏‏‏‏‏‏‎‏‎‎‎‏‏‎‎‏‎‎‎‏‏‏‏‏‎‏‏‏‏‎‏‏‏‏‎Carrier‎‏‎‎‏‎"</string>
     <string name="display_settings_title" msgid="626835071804834218">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‎‎‏‎‏‏‎‎‏‎‏‏‏‏‎‏‏‏‎‎‏‎‏‏‎‏‎‎‏‏‏‎‏‏‏‎‏‎‏‏‏‏‎‎‎‎‎‎‎‏‏‎‏‎‏‎‏‎‎Display‎‏‎‎‏‎"</string>
     <string name="sound_settings" msgid="5514582720435174014">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‎‎‏‎‎‎‎‏‏‏‏‎‏‏‏‎‏‏‏‏‎‎‎‏‎‎‎‏‎‎‏‎‎‎‎‎‎‎‏‎‏‏‏‎‏‏‏‎‏‎‎‏‏‏‏‏‏‎‎Sound‎‏‎‎‏‎"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‎‏‏‏‏‏‏‏‎‏‏‏‏‎‏‎‏‏‏‎‎‎‏‎‏‎‏‎‎‏‏‎‏‏‎‏‏‏‏‏‏‎‎‏‏‎‏‎‎‎‏‎‎‎‏‎‎‏‎Volumes‎‏‎‎‏‎"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‏‏‏‏‎‎‎‎‎‎‏‏‎‎‎‎‎‎‏‏‎‎‏‏‏‎‏‏‏‎‏‎‏‏‎‎‎‎‏‏‎‎‎‎‏‏‎‏‏‏‎‏‎‏‎‎‎‏‎Music effects‎‏‎‎‏‎"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‏‎‎‎‏‎‎‎‏‏‏‏‎‏‎‏‎‎‏‏‎‏‏‏‏‎‎‎‎‎‏‎‎‏‎‎‏‏‎‏‏‎‎‎‏‏‎‏‏‎‏‎‏‎‎‎‎‎Ring volume‎‏‎‎‏‎"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‏‏‏‎‎‏‎‎‏‎‎‏‎‎‏‎‎‏‎‎‏‎‏‎‏‎‏‎‏‏‏‏‏‎‏‏‎‏‎‎‏‏‏‎‎‎‎‏‎‎‎‎‏‎‏‏‎‏‎Ring &amp; notification volume‎‏‎‎‏‎"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‏‎‎‏‏‏‎‎‏‏‏‎‏‎‎‎‎‏‏‏‎‎‏‎‏‏‏‎‎‏‎‎‏‎‏‎‎‎‏‏‎‏‏‎‎‏‏‎‎‏‎‏‏‎‎‎‏‏‎Vibrate when silent‎‏‎‎‏‎"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‏‎‏‏‎‎‏‎‏‏‎‎‏‏‎‏‎‏‎‏‏‎‎‎‎‏‏‏‎‏‎‏‎‎‎‏‎‎‎‏‎‏‏‏‎‎‎‏‏‏‎‏‎‎‏‎‏‎Default notification sound‎‏‎‎‏‎"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‎‏‎‎‏‏‎‏‎‎‎‎‎‏‏‏‏‎‎‎‎‏‎‏‎‎‎‏‏‏‏‎‎‏‏‎‎‎‎‏‏‏‏‏‏‏‎‎‎‏‏‏‏‏‎‏‎‏‎Ringtone‎‏‎‎‏‎"</string>
@@ -1272,13 +1229,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‏‎‏‎‎‏‎‎‎‎‎‏‏‏‎‎‏‏‎‏‎‏‎‏‎‏‏‏‎‎‏‏‏‏‏‏‎‏‎‏‎‏‎‎‏‏‏‎‎‎‎‏‏‏‎‏‏‎Schedule‎‏‎‎‏‎"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‏‎‎‏‏‏‏‎‏‎‏‎‎‎‏‎‎‎‎‏‎‎‏‏‏‏‎‎‎‏‎‎‏‏‎‎‏‎‎‎‏‎‎‎‏‏‎‎‏‏‎‎‎‏‏‏‎‎None‎‏‎‎‏‎"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‎‎‏‏‎‏‎‎‏‎‎‏‏‎‎‏‎‎‏‏‏‏‎‏‏‎‏‎‏‏‏‏‎‏‏‏‎‏‎‎‎‎‎‎‏‎‏‎‏‏‎‎‎‏‏‏‏‎Turns on from sunset to sunrise‎‏‎‎‏‎"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‎‎‏‎‏‏‏‏‎‎‏‏‎‎‏‏‎‏‏‎‎‎‏‎‏‏‏‎‏‎‎‏‏‎‎‎‏‎‎‎‎‎‏‏‏‏‎‏‎‏‏‏‎‏‏‎‏‎‎Turns on at custom time‎‏‎‎‏‎"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‎‎‏‎‏‎‎‏‎‎‏‎‏‎‏‏‏‏‎‏‎‎‏‎‎‏‏‏‎‎‏‎‎‎‏‏‎‏‎‎‏‎‎‎‎‏‏‎‎‏‏‏‏‏‏‎‎‏‎Status‎‏‎‎‏‎"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‎‎‎‎‏‎‏‏‎‎‏‏‏‏‎‏‏‏‏‎‎‏‎‎‏‏‎‎‏‎‎‏‏‎‏‎‎‎‎‎‏‏‏‏‏‎‏‎‎‎‏‏‏‏‎‏‏‎Off / ‎‏‎‎‏‏‎<xliff:g id="ID_1">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‎‎‏‏‏‎‎‎‏‎‎‎‏‏‎‏‏‏‎‎‏‏‎‎‎‎‏‎‎‎‏‏‏‏‎‏‏‏‎‏‏‎‎‏‎‏‎‎‏‎‏‏‏‏‎‏‏‎‎Will never turn on automatically‎‏‎‎‏‎"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‏‏‏‏‎‏‎‎‎‏‎‎‏‏‏‎‏‎‏‎‎‏‏‎‏‎‏‏‎‏‎‏‏‏‏‎‎‏‏‏‎‎‎‏‎‏‏‏‎‎‎‏‎‏‏‎‏‎Will turn on automatically at sunset‎‏‎‎‏‎"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‏‎‏‎‏‎‏‏‎‏‏‎‎‏‏‏‏‎‎‏‏‏‎‏‎‎‏‏‎‏‎‏‏‏‏‎‏‏‏‏‏‏‏‎‏‏‏‏‎‎‏‎‎‏‏‎‎‎‎Will turn on automatically at ‎‏‎‎‏‏‎<xliff:g id="ID_1">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‎‏‏‏‏‏‎‎‎‏‎‏‏‎‎‏‎‎‎‎‏‏‎‏‎‏‏‎‏‏‏‏‏‎‎‏‏‎‏‎‏‎‏‏‏‏‏‏‏‎‏‎‎‎‎‎‎‎‎On / ‎‏‎‎‏‏‎<xliff:g id="ID_1">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‎‎‏‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‎‎‏‎‏‏‏‏‎‏‎‏‎‏‏‎‏‎‏‎‎‎‎‏‎‎‎‏‎‎‎‎‎‎‎‏‎Will never turn off automatically‎‏‎‎‏‎"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‎‏‎‎‎‏‎‎‎‏‏‎‎‎‏‏‏‎‎‎‏‎‎‏‏‏‎‏‎‏‎‏‎‎‎‎‏‏‏‏‎‎‎‏‏‏‎‎‏‎‏‎‏‏‏‏‎‎‎Will turn off automatically at sunrise‎‏‎‎‏‎"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‏‎‎‎‏‎‎‎‏‎‏‏‏‏‎‏‎‏‎‎‏‏‏‎‎‏‏‏‎‎‏‏‏‎‎‎‏‎‎‎‏‏‎‎‏‎‏‎‎‏‎‎‎‎‎‎‎‎Will turn off automatically at ‎‏‎‎‏‏‎<xliff:g id="ID_1">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‏‎‎‎‏‏‏‎‎‎‎‏‏‎‏‏‎‎‏‎‎‎‏‏‏‎‎‏‏‏‏‎‎‏‎‏‏‎‏‏‎‏‏‏‎‎‎‏‎‏‏‏‎‏‏‏‎‏‎Turn on until ‎‏‎‎‏‏‎<xliff:g id="ID_1">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‏‎‎‏‏‎‏‏‏‎‏‏‎‏‏‏‎‎‎‎‏‎‏‏‏‎‏‎‏‎‏‏‎‎‎‏‎‎‎‏‎‎‎‎‎‏‎‏‎‏‎‎‏‏‎‏‏‏‎Turn off until ‎‏‎‎‏‏‎<xliff:g id="ID_1">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‎‎‏‏‏‏‎‏‎‏‏‏‎‏‎‎‎‎‎‏‏‎‎‏‏‏‏‎‏‏‎‎‎‎‎‏‏‏‏‏‏‏‎‏‎‎‎‏‎‏‏‎‎‎‏‎‏‎‎Dark theme uses a black background to help keep battery alive longer on some screens. Dark theme schedules wait to turn on until your screen is off.‎‏‎‎‏‎"</string>
     <string name="screen_timeout" msgid="7709947617767439410">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‎‏‏‏‏‏‏‏‏‎‎‏‏‏‏‎‎‏‎‎‎‎‎‏‎‎‏‏‎‎‎‎‏‏‏‏‎‎‏‎‏‏‎‏‏‏‏‎‎‎‎‏‏‎‎‏‎‎Screen timeout‎‏‎‎‏‎"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‏‎‏‏‏‎‎‏‎‏‎‏‎‏‏‎‏‏‏‎‎‏‎‎‏‎‎‎‏‏‎‎‏‎‏‏‎‎‎‎‎‏‎‎‏‎‏‏‎‎‎‏‏‏‏‎‎‏‎Screen turns off‎‏‎‎‏‎"</string>
@@ -1290,7 +1252,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‎‎‏‏‏‎‏‎‎‏‏‏‏‏‎‎‎‎‎‏‎‎‎‎‎‎‎‎‏‎‏‎‏‏‎‎‏‏‏‏‎‏‏‏‎‎‎‏‎‏‏‏‎‏‎‎‏‎‎Change wallpaper‎‏‎‎‏‎"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‏‏‏‏‏‏‎‎‎‎‎‏‏‎‎‏‏‎‏‎‏‎‏‎‎‎‏‏‏‎‎‎‎‎‎‏‎‎‎‎‏‏‎‎‏‏‎‏‏‎‏‏‎‎‎‎‎‎Personalize your screen‎‏‎‎‏‎"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‎‏‎‎‏‏‎‏‏‎‎‎‎‏‎‏‏‏‎‏‎‏‏‏‎‏‏‎‎‎‏‎‏‏‎‏‎‏‏‏‏‏‏‎‎‎‎‎‎‎‎‏‏‏‏‏‎‏‎Choose wallpaper from‎‏‎‎‏‎"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‎‎‎‏‎‏‏‎‎‎‎‏‏‏‎‎‎‎‏‏‏‏‏‏‎‎‏‎‏‎‏‏‏‎‏‎‏‎‎‎‎‎‏‏‎‏‎‎‎‎‏‎‏‎‎‎‏‎‎Customize your Pixel‎‏‎‎‏‎"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‎‏‏‎‏‏‎‎‎‎‎‎‏‏‎‎‎‏‏‏‎‏‎‎‎‎‎‎‏‏‏‎‏‎‏‏‏‏‎‏‎‎‎‎‎‏‎‎‎‎‏‏‎‎‏‏‏‎Customize your phone‎‏‎‎‏‎"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‏‏‎‏‎‎‎‏‏‎‎‎‎‏‏‎‏‏‏‏‎‏‎‎‎‎‎‎‏‏‏‏‎‏‎‎‏‎‏‏‎‎‎‏‏‏‏‏‏‏‏‏‎‏‏‏‏‏‎Try different styles, wallpapers, and more‎‏‎‎‏‎"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‎‏‏‏‎‎‏‏‎‏‎‎‎‎‏‎‏‎‎‎‏‎‎‏‏‎‏‏‎‎‎‎‏‎‏‎‎‎‎‎‎‎‎‎‏‎‎‎‎‏‎‏‎‏‎‎‏‏‎Screen saver‎‏‎‎‏‎"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‎‏‎‎‏‎‏‎‎‏‎‏‏‎‏‏‎‏‏‏‎‎‎‏‎‏‏‎‎‎‎‏‎‎‎‏‏‎‎‎‏‏‏‏‎‏‎‎‏‏‏‏‎‎‏‏‏‏‎While charging or docked‎‏‎‎‏‎"</string>
@@ -1379,6 +1341,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‎‏‏‎‎‎‏‎‏‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‏‎‎‎‎‎‏‎‎‎‎‏‎‏‎‎‏‎‎‏‎‏‏‎‎‎‎‎‏‏‏‎‎Unmount USB storage, view available storage‎‏‎‎‏‎"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‎‏‏‏‎‏‏‎‏‏‎‏‎‎‎‏‏‏‎‎‏‎‎‏‏‏‎‏‎‎‎‎‏‎‎‎‏‎‏‎‏‏‎‏‎‎‎‏‏‎‎‎‎‏‎‏‎‎‏‎Unmount SD card, view available storage‎‏‎‎‏‎"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‎‎‏‏‏‏‏‏‎‏‏‏‏‏‎‎‎‎‎‎‎‎‏‎‎‎‎‏‏‎‏‎‎‎‏‏‎‏‏‏‏‎‎‎‎‏‎‏‎‏‎‏‎‎‎‏‏‏‎IMEI (sim slot %1$d)‎‏‎‎‏‎"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‏‎‎‎‏‏‎‏‎‎‏‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‎‏‎‏‎‎‎‎‏‏‎‎‏‏‏‎‎‎‎‏‎‏‏‏‏‎‎‏‏‏‎‎To view, choose saved network‎‏‎‎‏‎"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‎‏‏‏‏‎‏‏‏‎‎‏‏‏‏‎‎‎‎‏‎‎‏‎‏‎‏‎‏‏‏‎‏‎‎‏‏‎‏‏‎‏‎‏‏‏‎‎‏‏‎‏‏‏‏‏‏‏‎MDN‎‏‎‎‏‎"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‎‎‏‎‏‎‏‏‏‏‎‎‏‏‎‏‏‏‎‎‎‏‏‏‎‏‎‏‏‏‏‏‎‏‎‏‏‎‏‎‎‏‏‏‏‏‏‎‏‏‎‎‎‏‏‏‏‏‎Phone number‎‏‎‎‏‎"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‏‎‏‎‏‏‎‎‎‏‎‏‎‏‏‏‏‏‎‏‎‎‏‏‏‎‏‏‎‏‎‏‎‎‎‎‎‏‏‎‏‎‎‎‎‏‏‎‏‏‏‎‎‏‎‎‏‎MDN (sim slot %1$d)‎‏‎‎‏‎"</string>
@@ -1405,6 +1368,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‏‎‏‏‎‎‏‎‏‏‎‏‎‏‎‏‏‏‏‏‏‏‏‎‏‎‎‎‏‎‎‏‎‎‏‎‏‏‏‎‎‎‏‎‎‎‏‎‏‏‎‏‎‎‎‏‎‎Roaming‎‏‎‎‏‎"</string>
     <string name="status_operator" msgid="4335640583552058491">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‎‎‎‎‏‎‏‎‏‏‎‏‎‎‏‎‏‎‎‎‏‎‎‎‏‏‏‎‏‏‏‎‎‎‎‏‏‎‎‎‏‏‎‏‎‎‎‏‎‎‎‏‏‏‏‎‏‏‎Network‎‏‎‎‏‎"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‎‏‏‎‏‏‏‎‎‏‎‎‎‏‎‏‏‏‎‏‎‏‎‎‏‏‏‎‎‎‏‏‎‎‏‎‏‎‎‏‎‎‎‏‏‏‏‎‎‎‏‎‏‏‎‎‏‎‎Wi‑Fi MAC address‎‏‎‎‏‎"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‏‎‎‏‎‏‎‎‎‎‎‏‏‎‎‎‎‎‏‎‏‎‎‎‏‎‏‎‎‎‏‎‎‏‏‎‏‏‎‎‏‏‎‏‎‎‏‏‎‎‏‏‏‎‏‏‏‎‎Device Wi‑Fi MAC address‎‏‎‎‏‎"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‎‎‎‎‎‎‎‏‏‏‏‎‎‏‎‎‏‎‎‏‏‎‎‎‏‎‏‎‎‏‎‏‎‎‏‏‎‎‎‏‎‏‎‏‏‏‏‎‏‎‎‎‎‎‎‎‏‏‎Bluetooth address‎‏‎‎‏‎"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‏‏‎‏‏‏‎‏‏‏‏‎‏‎‎‎‎‎‏‎‏‏‎‏‎‏‏‏‎‏‏‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎‎‎‎‎‎‏‎‎‏‎‏‎Serial number‎‏‎‎‏‎"</string>
     <string name="status_up_time" msgid="1274778533719495438">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‏‏‎‏‏‎‎‎‎‏‏‏‎‏‏‎‎‎‏‎‏‎‎‏‎‏‎‎‎‎‏‎‏‏‎‏‎‎‏‎‎‏‏‎‏‎‎‏‏‎‎‎‎‏‏‏‎‎Up time‎‏‎‎‏‎"</string>
@@ -1617,6 +1581,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‏‏‏‎‏‏‎‏‏‎‏‎‏‎‏‎‏‎‎‏‏‏‏‏‏‏‏‎‎‎‎‎‏‎‎‏‎‏‎‏‎‎‎‎‎‏‎‏‏‎‏‎‏‎‎‎‎‎‎Reset default APN settings completed.‎‏‎‎‏‎"</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‎‎‏‎‏‎‎‏‏‎‎‎‏‎‏‎‏‏‏‎‏‏‏‎‎‎‎‎‎‏‎‏‏‎‎‏‏‎‎‎‏‏‎‎Reset options‎‏‎‎‏‎"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‎‎‏‏‏‎‏‏‏‏‎‎‏‎‏‏‏‏‎‏‎‏‎‎‎‏‎‏‏‎‎‎‎‎‎‏‎‏‏‎‎‏‎‏‏‎‏‏‎‏‏‏‎‏‏‏‎‎‎Network, apps, or device can be reset‎‏‎‎‏‎"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‎‏‏‏‎‏‏‎‏‏‎‎‎‎‏‏‏‏‏‏‏‎‏‏‎‎‎‏‏‏‏‏‏‏‏‏‏‎‏‏‏‎‎‏‏‎‎‏‏‎‏‏‎‎‎‎‎‎‎Apps can be reset‎‏‎‎‏‎"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‏‏‎‏‎‏‏‏‎‏‏‏‎‎‏‎‏‎‏‏‎‎‏‏‎‎‏‏‎‎‎‎‏‏‎‏‏‏‎‎‎‎‏‏‎‎‎‎‎‏‏‎‎‎‎‎‎‎‎Reset Wi-Fi, mobile &amp; Bluetooth‎‏‎‎‏‎"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‏‏‎‏‏‏‎‎‎‎‎‏‏‏‏‎‏‎‎‏‏‏‏‎‎‎‎‏‎‎‎‎‏‏‎‎‎‎‏‎‎‎‎‎‏‏‎‏‎‏‏‏‎‏‎‏‏‎‎This will reset all network settings, including:‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎"<li>"‎‏‎‎‏‏‏‎Wi‑Fi‎‏‎‎‏‏‎"</li>"‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎"<li>"‎‏‎‎‏‏‏‎Mobile data‎‏‎‎‏‏‎"</li>"‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎"<li>"‎‏‎‎‏‏‏‎Bluetooth‎‏‎‎‏‏‎"</li>"‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
     <string name="reset_esim_title" msgid="6152167073280852849">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‎‏‎‏‏‎‎‎‎‎‏‏‏‎‎‎‏‏‎‏‎‏‏‎‏‏‏‎‎‎‏‎‎‏‏‏‎‎‎‎‏‎‏‎‎‎‎‎‏‏‎‏‏‏‎‎‎‏‎Erase downloaded SIMs‎‏‎‎‏‎"</string>
@@ -1666,6 +1631,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‏‎‎‎‏‏‎‎‎‎‎‎‏‏‎‎‏‏‎‏‏‏‎‏‎‏‎‏‏‏‏‏‎‏‎‏‏‏‎‎‏‎‏‏‏‏‎‏‏‏‎‏‎‏‏‏‎‎‎Hotspot on‎‏‎‎‏‎"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‏‏‏‎‏‎‏‎‎‏‏‏‏‎‎‎‎‎‏‎‏‏‎‎‏‎‏‎‎‏‏‎‎‏‎‎‎‎‎‏‎‎‏‏‎‎‏‏‎‏‏‎‏‏‎‎‎‎‎Tethering‎‏‎‎‏‎"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‏‏‎‏‎‎‏‏‎‏‎‎‎‎‏‎‎‎‎‏‏‎‏‎‎‏‏‎‏‏‎‏‏‎‏‎‎‎‏‏‎‎‏‏‎‏‏‎‏‏‏‏‏‎‎‎‏‎Can’t tether or use portable hotspots while Data Saver is on‎‏‎‎‏‎"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‏‎‎‏‎‏‏‏‎‏‎‎‎‏‏‏‏‏‏‎‏‏‏‎‎‎‏‏‎‎‎‎‏‏‏‏‏‎‏‏‎‏‎‏‎‎‏‏‏‎‏‎‏‏‎‏‏‏‎Hotspot only‎‏‎‎‏‎"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‎‎‎‎‏‎‎‏‎‏‏‎‎‎‎‎‎‎‏‏‎‏‎‏‎‏‏‏‎‎‏‏‎‏‎‏‏‏‎‏‎‏‎‏‎‎‎‎‏‏‎‎‏‏‏‏‎‏‎USB only‎‏‎‎‏‎"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‎‎‎‎‏‎‎‎‏‏‎‎‎‎‎‏‎‎‏‎‏‎‏‎‎‎‎‎‏‎‏‏‏‏‏‎‎‏‏‏‎‏‎‎‎‏‏‏‏‏‏‎‏‏‎‎‏‎‎Bluetooth only‎‏‎‎‏‎"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‏‏‎‏‎‎‎‎‎‏‏‏‏‏‏‎‎‎‏‎‏‏‎‏‏‏‎‎‎‎‏‎‎‏‎‏‎‏‎‎‎‏‏‎‏‏‎‏‏‎‎‏‏‏‏‎‎‎‎Hotspot, USB‎‏‎‎‏‎"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‏‏‎‎‏‏‏‏‏‏‏‎‎‎‎‏‏‎‏‏‎‎‎‏‏‎‏‏‎‏‎‎‎‎‎‎‎‎‎‏‏‎‎‏‏‏‎‎‏‎‎‎‎‎‏‏‎‏‎Hotspot, Bluetooth‎‏‎‎‏‎"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‏‎‏‏‎‏‎‎‎‎‎‏‎‏‏‎‎‎‎‎‎‏‎‏‎‎‎‎‏‏‏‎‏‏‏‏‏‏‏‎‎‎‏‎‏‎‏‎‏‏‎‎‎‎‏‏‏‏‎USB, Bluetooth‎‏‎‎‏‎"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‎‏‏‏‎‏‏‎‏‎‎‎‏‏‎‏‏‎‏‏‏‎‏‏‎‎‎‎‏‏‎‏‏‎‎‏‏‎‎‎‎‎‏‏‎‏‎‏‎‏‏‏‏‎‏‎‎‎Hotspot, USB, Bluetooth‎‏‎‎‏‎"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‏‎‎‎‎‏‏‏‎‏‎‏‏‏‏‎‏‏‎‎‏‎‏‏‏‎‏‏‏‎‎‎‎‏‎‏‏‏‎‎‏‏‎‏‎‎‎‎‏‎‏‏‎‎‎‎‎‎Not sharing internet with other devices‎‏‎‎‏‎"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‎‏‎‎‏‎‎‎‎‏‏‎‏‏‎‏‎‏‏‏‎‎‎‎‎‎‏‏‎‏‏‎‏‏‏‎‎‎‎‏‎‎‏‏‎‎‎‎‎‎‏‏‏‎‎‎‏‎‎Tethering‎‏‎‎‏‎"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‏‎‎‎‎‏‎‏‏‎‎‎‏‏‏‎‏‏‎‏‎‎‏‏‎‎‎‎‎‏‎‏‎‏‎‎‏‏‏‏‎‎‎‎‏‎‏‎‏‎‏‏‏‎‏‏‏‎‎Don’t use Wi‑Fi hotspot‎‏‎‎‏‎"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‎‏‏‎‎‎‎‏‏‏‏‎‎‏‎‏‎‎‎‎‎‏‎‏‎‎‎‎‎‏‎‏‏‎‏‏‎‏‎‏‏‏‏‎‏‎‏‏‏‏‏‏‏‎‏‎‏‏‏‎Only share internet via USB‎‏‎‎‏‎"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‏‎‏‏‎‎‎‏‏‎‏‏‎‎‏‏‏‎‏‏‎‎‎‎‎‏‎‏‎‎‎‎‏‎‏‎‎‏‎‎‏‎‎‏‎‎‎‎‎‎‏‏‏‏‎‎‏‎Only share internet via Bluetooth‎‏‎‎‏‎"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‎‎‏‏‏‏‏‎‏‎‏‏‏‎‏‎‏‏‏‏‎‎‏‎‏‎‎‏‏‏‎‎‏‏‎‏‎‎‎‎‏‎‏‎‏‏‏‏‎‏‎‎‏‎‎‏‎‎‎Only share internet via USB and Bluetooth‎‏‎‎‏‎"</string>
     <string name="usb_title" msgid="1157283449840612901">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‎‎‎‎‎‏‏‏‏‎‏‏‏‏‏‏‏‎‎‏‎‏‎‏‎‏‎‎‎‎‏‎‎‎‎‏‏‎‎‎‎‎‎‏‏‎‏‏‎‎‎‏‎‎‏‎‏‎USB‎‏‎‎‏‎"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‏‎‎‎‏‏‎‏‎‎‎‏‏‎‏‏‏‏‎‏‏‏‎‎‎‏‎‏‎‏‎‎‏‏‏‎‎‎‎‏‏‎‎‏‏‏‏‏‎‎‎‏‏‏‎‎‎‏‎USB tethering‎‏‎‎‏‎"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‏‏‏‏‏‏‎‎‏‎‏‎‎‎‎‏‎‎‎‏‏‎‎‎‏‏‏‏‏‎‎‎‏‏‏‎‎‎‏‏‏‎‎‎‏‏‏‏‏‏‏‏‏‎‏‎‏‎Share phone’s internet connection via USB‎‏‎‎‏‎"</string>
@@ -1756,9 +1734,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‏‎‏‏‎‎‏‎‏‎‎‎‎‎‎‎‎‏‎‎‏‎‏‎‏‏‎‎‎‏‏‎‎‏‏‏‎‎‎‏‏‏‎‎‏‎‎‎‏‏‏‏‏‎‏‏‏‎‎Safety information‎‏‎‎‏‎"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‏‎‎‏‏‎‎‏‏‎‏‎‏‏‎‎‏‏‏‏‎‏‏‏‏‏‏‏‎‎‏‎‏‎‎‎‎‎‏‏‏‎‏‏‎‎‎‎‏‎‏‏‎‎‎‏‏‎You don’t have a data connection. To view this information now, go to %s from any computer connected to the internet.‎‏‎‎‏‎"</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‎‎‎‏‏‎‎‏‎‏‎‎‏‎‏‏‎‎‎‏‏‏‏‎‎‎‎‏‎‎‎‎‏‎‏‎‎‏‏‎‎‎‏‏‏‎‏‏‏‏‎‏‏‎‎‎‏‏‎Loading…‎‏‎‎‏‎"</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‏‏‎‎‏‏‎‏‏‏‎‎‎‎‎‎‏‏‎‏‎‎‏‏‎‎‏‏‏‏‏‏‏‏‏‎‎‎‏‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‎‎‏‎‎Use PIN‎‏‎‎‏‎"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‏‎‏‏‎‏‎‎‏‎‏‎‏‎‏‎‎‏‏‎‎‎‏‏‏‏‏‏‎‎‎‎‏‎‏‏‎‏‎‎‎‎‏‎‎‏‏‏‎‏‏‏‎Use pattern‎‏‎‎‏‎"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‎‎‏‎‎‏‎‏‏‏‎‏‏‎‏‏‎‎‎‎‏‎‏‎‏‏‎‏‏‎‏‏‏‏‎‏‎‏‎‏‏‎‎‏‎‏‎‏‎‎‏‏‏‏‏‏‎‎Use password‎‏‎‎‏‎"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‎‏‎‏‎‎‏‎‏‏‎‎‏‎‎‏‎‎‎‏‏‏‎‏‏‏‎‏‎‏‎‏‏‎‏‏‏‏‏‎‏‎‎‎‎‏‎‏‎‎‎‎‎‏‎‏‎‎‎Set screen lock‎‏‎‎‏‎"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‏‎‎‎‎‏‏‎‎‏‎‏‏‎‏‏‎‏‏‏‎‏‎‏‏‏‎‏‎‏‎‏‎‏‎‎‏‎‏‏‎‎‏‎‎‎‏‎‎‏‎‎‏‏‏‎‏‏‎For security, set password‎‏‎‎‏‎"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‏‏‏‏‏‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‏‏‎‏‏‏‏‎‎‎‎‎‎‎‏‏‎‏‏‎‏‎‎‎‎‏‏‏‎‎‏‎‏‎‎To use fingerprint, set password‎‏‎‎‏‎"</string>
@@ -1767,8 +1742,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‏‎‏‎‏‎‎‎‏‎‎‏‎‏‎‎‏‏‏‏‏‎‎‎‎‎‏‎‎‏‎‏‎‎‎‎‏‎‎‏‏‏‏‎‏‎‎‎‎‎‏‎‏‎‏‏‎‎‎To use fingerprint, set PIN‎‏‎‎‏‎"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‎‎‏‎‏‏‎‏‎‏‏‏‎‎‏‏‎‏‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‎‏‎‏‎‏‎‎‏‎‎‏‎‏‏‏‏‏‎‏‏‏‎‎‎For security, set pattern‎‏‎‎‏‎"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‎‏‎‎‎‏‏‎‏‎‎‏‎‏‏‎‏‎‎‎‎‎‎‎‏‏‏‎‏‏‎‎‏‏‏‎‎‏‏‎‏‎‏‏‎‏‏‏‎‎‎‏‏‏‎‏‏‎‎Re-enter your password‎‏‎‎‏‎"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‎‎‏‏‏‏‏‎‏‏‎‏‏‎‏‏‎‏‎‏‎‏‎‎‏‏‏‏‏‏‎‏‏‏‎‎‎‏‏‎‏‎‏‎‎‎‏‏‏‏‎‏‏‎‎‎‏‎Enter your work password‎‏‎‎‏‎"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‎‎‎‎‎‎‏‎‎‎‏‏‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‏‎‎‏‎‎‏‎‎‎‎‏‎‎‏‏‏‏‏‎‏‏‏‏‎‎‏‏‎‏‏‎Confirm your pattern‎‏‎‎‏‎"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‎‏‎‎‎‎‏‎‎‏‏‏‎‎‎‏‏‏‎‎‎‎‏‏‎‎‎‎‎‏‏‎‎‏‎‎‏‎‎‏‎‏‏‎‏‏‎‏‎‎‎‎‎‏‎‏‎‎‎Enter your work pattern‎‏‎‎‏‎"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‏‏‎‎‎‏‏‏‎‎‎‎‏‏‎‎‏‏‎‎‏‎‏‎‏‎‎‎‏‎‎‎‎‏‎‏‏‏‏‏‎‎‏‏‎‎‎‎‎‎‏‎‏‎‏‏‎‎‎Re-enter your PIN‎‏‎‎‏‎"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‏‎‏‎‏‏‎‎‏‏‎‎‏‎‎‏‎‏‎‏‎‏‎‏‎‎‏‏‎‏‏‎‎‏‏‏‎‎‎‎‏‏‎‏‎‎‎‎‎‎‏‎‏‏‏‏‏‏‎Enter your work PIN‎‏‎‎‏‎"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‏‎‎‏‎‎‏‎‎‏‏‏‏‎‎‏‏‏‏‎‎‎‏‎‏‎‏‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‎‎‎‏‏‎‏‎‏‏‎‎‎‎‎Passwords don’t match‎‏‎‎‏‎"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‏‏‎‏‎‏‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‎‏‎‏‎‏‎‎‎‏‏‏‏‏‏‎‎‏‎‏‏‏‎‎‏‎‎‎‎‏‏‎‎‎‏‏‎‎PINs don’t match‎‏‎‎‏‎"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‏‎‏‎‎‎‎‎‏‎‏‏‎‏‏‎‏‎‎‎‏‏‏‏‏‏‏‎‎‏‎‏‎‎‏‏‏‏‏‏‎‏‎‏‎‏‏‏‎‏‎‎‏‎‎‏‏‎‎Draw your pattern again‎‏‎‎‏‎"</string>
@@ -1779,6 +1757,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‏‎‎‏‏‎‎‎‎‏‎‏‎‎‏‏‎‏‎‎‏‏‏‎‏‏‎‎‎‏‎‎‎‏‏‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‏‎‎‏‎‏‏‏‎To use face unlock, set password‎‏‎‎‏‎"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‎‏‎‏‏‎‏‏‏‎‏‎‎‎‎‏‎‎‏‎‎‎‏‎‎‎‏‏‎‎‎‎‎‏‏‎‎‏‏‏‏‏‏‏‏‏‎‏‏‎‎‎‎To use face unlock, set pattern‎‏‎‎‏‎"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‏‏‏‎‏‏‎‏‏‏‎‏‏‎‎‎‎‎‎‏‎‎‏‎‏‎‎‏‎‎‏‎‏‏‎‎‎‏‎‏‏‏‏‎‏‎‎‎‏‏‏‎‎‏‎‏‎‏‎To use face unlock, set PIN‎‏‎‎‏‎"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‏‏‏‎‎‎‎‏‏‏‎‎‏‎‎‎‏‏‎‎‏‎‎‏‎‎‏‏‏‏‎‏‎‏‎‎‎‏‎‎‏‏‏‎‎‎‎‏‎‎‎‎‎‎‎‏‏‏‎Forgot your password?‎‏‎‎‏‎"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‎‏‎‎‏‏‎‎‏‎‏‏‏‎‏‎‏‏‎‏‎‏‎‏‎‎‎‎‎‎‎‎‎‎‎‏‏‎‏‎‎‏‏‎‎‏‎‏‏‏‏‎‏‏‏‎‎‎Forgot your pattern?‎‏‎‎‏‎"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‏‏‎‏‏‎‏‏‎‎‎‏‏‏‎‏‏‏‎‏‎‎‎‎‏‎‎‏‏‏‏‏‏‎‎‎‎‎‏‎‎‏‏‏‏‏‏‏‏‎‏‏‎‏‏‎‎‎‎Forgot your PIN?‎‏‎‎‏‎"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‎‏‏‎‎‎‎‏‎‎‏‎‎‏‎‏‏‏‏‎‎‎‏‎‏‏‏‎‏‏‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‎‎‏‎‏‏‎‏‎‏‎‎Use your device pattern to continue‎‏‎‎‏‎"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‎‎‎‏‎‏‏‎‎‏‎‏‎‎‏‏‎‎‎‏‎‏‎‎‏‏‎‎‏‎‎‏‏‏‎‎‏‎‏‏‎‏‎‎‏‎‏‎‏‎‎‏‏‎‎Enter your device PIN to continue‎‏‎‎‏‎"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‎‎‎‏‎‎‏‏‏‎‎‏‎‏‏‎‏‎‎‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‏‏‎‎‏‎‏‎‏‏‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎Enter your device password to continue‎‏‎‎‏‎"</string>
@@ -1846,6 +1827,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‎‏‎‏‏‏‏‏‏‏‏‎‏‏‏‏‎‏‏‏‎‎‏‎‏‎‎‎‎‎‎‏‏‎‎‎‎‎‏‏‏‏‎‏‎‎‏‏‏‎‎‎‎‎‏‎‏‎‎Allow all app sources‎‏‎‎‏‎"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‎‏‎‏‎‏‎‎‎‏‎‎‎‏‎‏‎‎‎‎‏‎‎‎‏‏‎‏‎‎‎‏‏‏‎‎‏‎‏‏‏‏‏‏‎‎‎‎‎‎‏‎‎‎‎‏‏‎‏‎Recently opened apps‎‏‎‎‏‎"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‎‎‎‎‎‏‎‎‎‎‎‏‏‏‏‎‏‏‏‎‏‎‏‎‏‎‏‏‏‏‏‎‏‏‎‎‏‎‏‎‏‎‎‎‎‏‎‏‏‎‏‎‏‏‏‎‏‎‎See all ‎‏‎‎‏‏‎<xliff:g id="COUNT">%1$d</xliff:g>‎‏‎‎‏‏‏‎ apps‎‏‎‎‏‎"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‏‎‎‎‏‎‎‎‎‏‎‏‏‎‏‏‏‏‏‏‎‏‎‎‎‎‏‏‏‏‏‎‏‎‏‎‎‎‎‏‎‏‏‏‎‏‎‎‏‏‏‎‎‏‏‎‏‎Contact your IT admin‎‏‎‎‏‎"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‏‏‏‎‏‏‎‎‏‎‏‎‏‏‎‎‏‏‎‏‎‏‏‏‏‎‏‎‎‏‏‏‏‏‏‎‏‏‎‏‏‎‏‎‏‎‏‎‎‏‏‏‎‏‎‏‏‎They can help you reset your PIN, pattern, or password‎‏‎‎‏‎"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‎‏‎‏‎‎‏‎‏‏‎‎‏‎‏‏‏‏‎‏‎‎‎‏‎‎‏‏‏‎‎‏‏‏‏‏‎‎‎‏‎‏‎‏‏‏‏‎‏‎‏‏‎‏‎‎‎‎‎Your tablet and personal data are more vulnerable to attack by unknown apps. By installing apps from this source, you agree that you are responsible for any damage to your tablet or loss of data that may result from their use.‎‏‎‎‏‎"</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‎‏‎‎‎‎‏‏‏‎‎‎‏‏‎‏‎‎‎‎‏‏‏‏‎‏‏‎‏‏‏‎‎‎‏‎‎‎‏‎‏‎‏‎‏‏‎‎‏‎‎‎‏‎‏‏‏‏‎Your phone and personal data are more vulnerable to attack by unknown apps. By installing apps from this source, you agree that you are responsible for any damage to your phone or loss of data that may result from their use.‎‏‎‎‏‎"</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‎‎‏‎‎‏‎‏‏‎‏‎‏‏‎‏‎‎‎‏‏‎‎‏‏‎‏‏‏‎‏‎‎‏‎‏‏‎‎‎‎‎‎‎‏‏‏‏‎‎‏‎‎‎‎‏‎‎‎Your device and personal data are more vulnerable to attack by unknown apps. By installing apps from this source, you agree that you are responsible for any damage to your device or loss of data that may result from their use.‎‏‎‎‏‎"</string>
@@ -1897,7 +1880,7 @@
     <string name="default_emergency_app" msgid="1929974800666613803">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‏‎‏‏‎‎‏‎‎‎‏‎‏‎‎‏‎‏‏‏‎‏‏‎‏‏‎‎‎‏‎‎‏‏‎‎‏‏‎‎‎‎‎‏‎‏‏‎‎‎‎‎‏‎‏‎‏‏‎Emergency app‎‏‎‎‏‎"</string>
     <string name="reset_app_preferences" msgid="8861758340732716573">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‏‎‏‏‏‏‏‎‏‏‎‏‎‎‏‎‏‎‎‏‎‎‎‎‏‎‎‏‏‎‎‎‎‎‏‎‏‏‏‎‏‎‏‎‎‎‎‏‏‎‎‎‎‏‏‏‎‏‎Reset app preferences‎‏‎‎‏‎"</string>
     <string name="reset_app_preferences_title" msgid="8935136792316050759">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‎‏‏‏‎‎‏‎‎‏‎‎‏‏‏‏‏‎‏‏‎‎‎‎‏‎‏‎‏‏‏‏‏‎‏‎‏‎‎‎‏‏‏‎Reset app preferences?‎‏‎‎‏‎"</string>
-    <string name="reset_app_preferences_desc" msgid="1377296810290814749">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‏‏‎‎‎‏‏‏‎‏‎‎‏‎‎‏‎‎‎‎‏‎‎‏‏‎‏‏‎‏‎‏‏‏‏‎‏‎‏‎‎‏‏‎‎‏‏‏‏‏‎‎‎‏‏‏‎‏‎This will reset all preferences for:‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎ ‎‏‎‎‏‏‎"<li>"‎‏‎‎‏‏‏‎Disabled apps‎‏‎‎‏‏‎"</li>"‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎ ‎‏‎‎‏‏‎"<li>"‎‏‎‎‏‏‏‎Disabled app notifications‎‏‎‎‏‏‎"</li>"‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎ ‎‏‎‎‏‏‎"<li>"‎‏‎‎‏‏‏‎Default applications for actions‎‏‎‎‏‏‎"</li>"‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎ ‎‏‎‎‏‏‎"<li>"‎‏‎‎‏‏‏‎Background data restrictions for apps‎‏‎‎‏‏‎"</li>"‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎ ‎‏‎‎‏‏‎"<li>"‎‏‎‎‏‏‏‎Any permission restrictions‎‏‎‎‏‏‎"</li>"‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎ You will not lose any app data.‎‏‎‎‏‎"</string>
+    <string name="reset_app_preferences_desc" msgid="6509978724602405805">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‎‎‏‎‏‏‎‎‎‎‎‎‏‎‏‏‏‎‎‏‎‏‎‎‎‏‎‎‏‏‏‏‏‎‏‎‎‎‏‏‎‏‏‏‎‎‎‏‏‏‎‏‎‏‏‎‏‎This will reset all preferences for:‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎"<li>"‎‏‎‎‏‏‏‎Disabled apps‎‏‎‎‏‏‎"</li>"‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎"<li>"‎‏‎‎‏‏‏‎Disabled app notifications‎‏‎‎‏‏‎"</li>"‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎"<li>"‎‏‎‎‏‏‏‎Default applications for actions‎‏‎‎‏‏‎"</li>"‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎"<li>"‎‏‎‎‏‏‏‎Background data restrictions for apps‎‏‎‎‏‏‎"</li>"‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎"<li>"‎‏‎‎‏‏‏‎Any permission restrictions‎‏‎‎‏‏‎"</li>"‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎You will not lose any app data.‎‏‎‎‏‎"</string>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‏‏‏‏‏‎‏‏‎‎‎‏‏‎‏‏‎‏‎‏‎‎‎‏‏‎‏‏‏‏‎‏‏‎‎‏‏‎‎‏‏‏‎‏‎‎‎‏‏‏‎‎‎‏‎‏‎‎Reset apps‎‏‎‎‏‎"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‏‎‎‎‏‎‏‏‎‎‎‎‏‎‏‎‎‏‏‏‎‏‎‎‎‏‎‏‎‎‎‏‏‎‏‎‏‎‎‎‎‏‎‏‏‏‏‎‏‏‎‏‏‎‏‎‏‎Manage space‎‏‎‎‏‎"</string>
     <string name="filter" msgid="9039576690686251462">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‏‎‏‏‏‎‎‏‏‎‎‎‎‎‏‏‏‎‎‎‏‏‎‏‏‎‏‎‎‎‎‎‎‎‏‎‎‎‎‎‏‎‏‎‏‎‎‎‏‏‏‎‎‎‏‏‎‎Filter‎‏‎‎‏‎"</string>
@@ -2097,7 +2080,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‏‎‎‎‎‏‎‎‏‎‎‎‎‏‎‏‏‎‎‎‎‎‏‏‎‏‎‎‏‏‏‎‎‏‎‏‏‏‎‎‏‏‏‎‎‎‎‎‎‎‎‏‎‏‎‎‏‎‎Audio &amp; on-screen text‎‏‎‎‏‎"</string>
     <string name="display_category_title" msgid="6638191682294461408">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‎‎‎‎‏‏‏‏‏‏‎‎‏‏‎‎‎‎‎‏‎‏‎‏‎‎‎‎‏‎‏‏‎‎‎‎‏‏‏‎‏‎‎‏‏‎‎‏‏‏‏‏‎‎‎‎‎‎Display‎‏‎‎‏‎"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‎‏‎‏‏‎‏‎‏‏‏‏‎‎‏‏‎‏‎‏‏‎‎‎‎‎‏‎‎‏‏‏‎‎‏‏‏‎‎‎‎‎‎‏‏‎‏‏‏‎‏‎‎‎‎‏‎‎‎Interaction controls‎‏‎‎‏‎"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‏‏‏‏‏‏‏‏‎‎‏‎‏‏‏‏‎‏‏‏‎‏‏‎‏‏‎‏‎‏‏‎‏‏‏‏‏‎‎‏‏‎‎‎‏‎‏‎‎‏‎‏‏‏‎‎‏‎‎Downloaded services‎‏‎‎‏‎"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‎‎‏‎‏‎‎‎‎‏‎‏‎‎‏‎‎‎‏‎‏‎‎‏‎‎‏‏‎‎‏‏‏‏‏‎‏‎‎‏‏‎‎‏‎‎‏‎‏‏‎‏‏‏‎‎‏‏‎Downloaded apps‎‏‎‎‏‎"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‎‎‎‏‏‏‏‎‎‏‏‎‎‎‏‏‎‎‏‏‎‎‏‎‎‏‎‏‎‎‎‎‎‏‎‎‏‎‎‏‎‎‎‏‏‎‎‏‎‏‏‏‎‏‏‎‎‎‎Experimental‎‏‎‎‏‎"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‎‎‏‏‎‏‎‏‏‏‏‏‎‏‏‏‎‎‏‏‏‎‎‏‎‏‎‏‎‏‎‏‏‏‎‏‏‎‏‎‎‏‏‎‎‎‏‎‎‎‎‏‏‏‎‎‎‏‎Feature flags‎‏‎‎‏‎"</string>
     <string name="talkback_title" msgid="8756080454514251327">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‏‏‎‎‎‎‎‏‏‏‏‎‏‏‎‎‎‏‏‎‎‏‎‎‎‎‎‎‏‏‏‎‎‎‎‎‏‎‎‎‎‎‎‎‏‎‏‏‎‎‎‏‏‏‏‏‏‎Talkback‎‏‎‎‏‎"</string>
@@ -2105,27 +2088,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‏‏‏‎‏‏‎‎‎‎‏‎‏‎‏‏‎‏‏‎‎‎‏‎‏‎‏‏‎‏‏‎‎‎‎‎‎‎‏‏‎‎‏‎‎‎‎‏‎‎‏‏‎‏‏‏‎‏‎Tap items on your screen to hear them read aloud‎‏‎‎‏‎"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‏‏‎‏‎‎‏‏‏‏‎‎‎‎‎‏‏‎‎‏‏‎‎‎‎‎‎‏‏‏‏‎‎‎‏‎‎‎‏‏‏‏‏‏‏‎‎‏‎‏‏‎‏‎‏‎‎‏‎Caption preferences‎‏‎‎‏‎"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‎‏‏‎‎‏‏‏‎‏‏‏‏‎‎‎‎‏‎‏‎‏‏‎‏‎‎‎‏‏‏‏‎‏‎‏‏‏‎‎‎‎‎‎‎‏‏‎‏‎‏‎‏‏‏‏‏‎Magnification‎‏‎‎‏‎"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‎‎‎‎‏‏‎‎‏‏‏‎‏‏‏‎‏‎‎‎‎‎‎‎‎‏‎‎‏‏‎‏‎‎‎‏‏‎‏‎‎‎‏‏‏‎‏‏‎‎‎‎‎‎‏‎‎‏‎Magnification area‎‏‎‎‏‎"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‎‎‏‏‏‎‏‏‏‎‎‎‏‎‎‏‎‏‏‎‎‏‏‎‏‏‎‎‎‎‎‎‎‎‏‏‎‏‎‎‏‏‎‏‏‎‎‎‏‎‏‏‎‏‎‏‎‎‎Magnification enable‎‏‎‎‏‎"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‏‎‏‏‏‎‏‎‎‏‎‏‎‎‎‎‏‏‎‎‏‎‏‏‎‏‏‏‎‏‎‏‏‏‏‎‏‏‏‎‏‎‏‏‏‏‏‏‎‏‏‏‎‏‎‏‏‎‎Choose the magnification area(s) you want to use when magnifying the screen‎‏‎‎‏‎"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‎‏‏‏‎‏‏‏‏‏‎‎‏‏‏‎‎‏‎‎‏‏‎‎‎‏‏‎‎‎‏‎‎‎‎‏‎‏‏‎‏‏‏‏‎‏‏‏‏‏‎‏‏‏‎‎‏‎‎Full screen‎‏‎‎‏‎"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‏‎‎‎‏‎‎‎‎‏‏‏‏‎‎‏‎‎‏‏‎‏‎‎‎‏‎‎‏‏‎‏‎‏‎‏‎‏‏‏‏‏‏‏‏‏‏‎‏‎‎‏‏‎‎‎‎‏‎Part of screen‎‏‎‎‏‎"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‏‏‎‏‎‏‎‏‎‎‏‏‎‎‏‎‎‏‎‏‎‏‏‏‏‏‏‎‎‎‏‎‎‎‏‎‎‎‏‏‏‎‎‎‎‏‏‎‏‏‏‏‏‎‏‏‎‏‎Full screen &amp; part of screen‎‏‎‎‏‎"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‏‎‎‎‏‎‎‏‎‎‎‏‎‏‏‎‏‏‏‎‎‎‏‏‏‏‎‎‏‏‏‎‏‎‎‏‏‎‎‎‏‏‎‎‏‎‏‏‏‎‎‏‎‎‎‎‎‎‎Magnify entire screen‎‏‎‎‏‎"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‏‏‎‎‏‎‎‎‎‏‏‎‏‎‎‏‎‎‏‎‏‏‏‎‎‏‎‎‏‏‎‎‎‏‏‎‏‎‏‎‏‏‎‎‏‎‎‎‎‏‏‏‎‏‎‎‎‎‎Magnify part of screen‎‏‎‎‏‎"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‎‎‎‎‎‏‏‎‎‎‎‎‏‏‎‎‎‎‏‏‎‏‏‏‎‏‏‏‏‎‏‎‎‎‎‎‎‎‏‏‏‎‎‎‏‎Magnification settings‎‏‎‎‏‎"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‏‎‏‎‏‎‎‏‎‏‎‎‎‏‏‏‎‎‏‏‏‎‎‏‏‎‏‏‏‏‏‎‎‎‏‏‏‏‎‎‏‎‏‎‎‏‎‏‏‎‎‏‏‎‏‏‏‎Magnify with triple-tap‎‏‎‎‏‎"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‏‎‏‎‏‎‏‏‎‎‎‏‎‏‎‏‎‏‏‎‎‎‏‏‏‎‎‎‎‎‎‏‎‎‎‎‏‎‏‎‏‏‏‎‎‏‏‏‎‎‏‏‏‏‎‎‎‎‎Magnify with shortcut‎‏‎‎‏‎"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‏‏‏‏‏‏‎‎‏‏‏‏‏‎‎‏‎‎‏‎‎‎‏‏‏‏‏‏‎‏‎‎‎‏‏‎‎‎‏‏‎‎‏‎‏‎‎‏‎‏‏‏‏‏‎‏‏‏‎Magnify with shortcut &amp; triple-tap‎‏‎‎‏‎"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‏‎‏‎‎‏‏‏‎‎‎‎‎‎‏‏‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‎‏‏‎‎‏‎‏‏‏‎‎‎‏‏‏‎‎‎‏‏‏‏‏‏‎‎‎About ‎‏‎‎‏‏‎<xliff:g id="SERVICE">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‎‏‎‏‏‏‏‎‏‎‏‏‎‎‏‏‏‏‏‏‏‎‏‏‏‏‎‎‎‏‎‎‎‎‏‎‎‏‏‎‎‏‎‎‏‏‎‏‎‏‏‏‎‎‎‎‎‏‎Options‎‏‎‎‏‎"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‏‏‏‏‏‎‎‏‏‏‏‏‏‎‎‏‎‏‎‎‏‏‎‏‎‏‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‎‏‎‎‎‏‏‏‎‎‎‎Zoom in on screen‎‏‎‎‏‎"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‏‎‏‎‏‎‎‎‎‏‎‎‎‎‎‎‏‎‏‏‎‏‏‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‏‏‏‎‎‏‎‏‏‏‎‏‏‏‎‎‏‏‏‎‎Tap 3 times to zoom‎‏‎‎‏‎"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‏‏‏‏‎‎‏‎‏‏‎‎‎‏‎‎‏‎‎‏‎‎‏‎‎‎‎‏‎‎‎‏‎‏‏‎‏‏‎‏‏‏‏‏‎‎‎‏‏‎‏‏‎‎‎‏‎‏‎Tap a button to zoom‎‏‎‎‏‎"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‏‏‎‏‎‎‏‏‎‏‎‎‎‎‎‏‏‎‏‎‎‏‎‎‏‏‎‎‏‏‏‎‎‎‎‏‎‎‎‎‏‎‎‏‎‏‎‎‏‏‎‎‎‎‎‏‏‏‎‎‏‎‎‏‏‎"<b>"‎‏‎‎‏‏‏‎To zoom‎‏‎‎‏‏‎"</b>"‎‏‎‎‏‏‏‎, quickly tap the screen 3 times.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎"<ul>"‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎"<li>"‎‏‎‎‏‏‏‎Drag 2 or more fingers to scroll‎‏‎‎‏‏‎"</li>"‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎"<li>"‎‏‎‎‏‏‏‎Pinch 2 or more fingers to adjust zoom‎‏‎‎‏‏‎"</li>"‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎"</ul>"‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎"<b>"‎‏‎‎‏‏‏‎To zoom temporarily‎‏‎‎‏‏‎"</b>"‎‏‎‎‏‏‏‎, quickly tap the screen 3 times and hold down your finger on the third tap.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎"<ul>"‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎"<li>"‎‏‎‎‏‏‏‎Drag to move around the screen‎‏‎‎‏‏‎"</li>"‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎"<li>"‎‏‎‎‏‏‏‎Lift finger to zoom out‎‏‎‎‏‏‎"</li>"‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎"</ul>"‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎You can\'t zoom in on the keyboard and navigation bar.‎‏‎‎‏‎"</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‎‏‏‏‎‎‎‎‏‏‏‎‏‏‎‎‏‏‎‏‏‎‎‏‏‎‏‏‏‎‏‎‏‏‏‏‏‎‏‏‎‏‏‏‎‏‎‏‏‎‏‎‎‎‏‎‏‏‎When magnification is turned on, you can zoom in on your screen.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎"<b>"‎‏‎‎‏‏‏‎To zoom‎‏‎‎‏‏‎"</b>"‎‏‎‎‏‏‏‎, start magnification, then tap anywhere on the screen.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎"<ul>"‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎"<li>"‎‏‎‎‏‏‏‎• Drag 2 or more fingers to scroll‎‏‎‎‏‏‎"</li>"‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎"<li>"‎‏‎‎‏‏‏‎• Pinch 2 or more fingers to adjust zoom‎‏‎‎‏‏‎"</li>"‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎"</ul>"‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎"<b>"‎‏‎‎‏‏‏‎To zoom temporarily‎‏‎‎‏‏‎"</b>"‎‏‎‎‏‏‏‎, start magnification, then touch &amp; hold anywhere on the screen.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎"<ul>"‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎"<li>"‎‏‎‎‏‏‏‎• Drag to move around the screen‎‏‎‎‏‏‎"</li>"‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎"<li>"‎‏‎‎‏‏‏‎• Lift finger to zoom out‎‏‎‎‏‏‎"</li>"‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎"</ul>"‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎You can’t zoom in on the keyboard or navigation bar.‎‏‎‎‏‎"</string>
+    <string name="accessibility_screen_magnification_summary" msgid="7617931632990040045">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‎‏‏‎‏‏‏‎‎‎‎‏‎‏‎‏‎‎‎‏‏‏‎‏‎‏‎‏‏‎‏‎‏‏‏‎‎‏‎‏‎‏‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‎Quickly zoom in on the screen to see content more clearly.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;To zoom in:&lt;/b&gt;&lt;br/&gt;	1. Use shortcut to start magnification&lt;br/&gt;	2. Tap the screen&lt;br/&gt;	3. Drag 2 fingers to move around screen&lt;br/&gt;	4. Pinch with 2 fingers to adjust zoom&lt;br/&gt;	5. Use shortcut to stop magnification&lt;br/&gt;&lt;br/&gt;&lt;b&gt;To zoom in temporarily:&lt;/b&gt;&lt;br/&gt;	1. Use shortcut to start magnification&lt;br/&gt;	2. Touch &amp; hold anywhere on the screen&lt;br/&gt;	3. Drag finger to move around screen&lt;br/&gt;	4. Lift finger to stop magnification‎‏‎‎‏‎"</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‏‏‎‎‏‏‎‏‏‎‏‎‎‎‏‎‏‎‏‎‎‎‏‎‎‎‎‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‎‏‏‏‎‎‎‎‎‏‏‏‏‎‎‎‎When magnification is turned on, you can zoom in on your screen.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎"<b>"‎‏‎‎‏‏‏‎To zoom‎‏‎‎‏‏‎"</b>"‎‏‎‎‏‏‏‎, start magnification, then tap anywhere on the screen.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎"<ul>"‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎"<li>"‎‏‎‎‏‏‏‎Drag 2 or more fingers to scroll‎‏‎‎‏‏‎"</li>"‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎"<li>"‎‏‎‎‏‏‏‎Pinch 2 or more fingers to adjust zoom‎‏‎‎‏‏‎"</li>"‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎"</ul>"‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎"<b>"‎‏‎‎‏‏‏‎To zoom temporarily‎‏‎‎‏‏‎"</b>"‎‏‎‎‏‏‏‎, start magnification, then touch &amp; hold anywhere on the screen.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎"<ul>"‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎"<li>"‎‏‎‎‏‏‏‎Drag to move around the screen‎‏‎‎‏‏‎"</li>"‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎"<li>"‎‏‎‎‏‏‏‎Lift finger to zoom out‎‏‎‎‏‏‎"</li>"‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎"</ul>"‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎You can’t zoom in on the keyboard or navigation bar.‎‏‎‎‏‎"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‎‏‏‏‏‎‏‏‎‏‏‎‏‎‏‏‎‏‎‏‏‏‎‎‎‎‏‎‎‏‎‏‎‏‏‎‏‏‎‎‎‎‎‏‎‎‏‎‏‎‏‎‏‏‎‏‏‎Use accessibility button to open‎‏‎‎‏‎"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‎‏‏‏‎‏‎‏‎‎‎‎‏‏‎‎‏‏‏‏‏‏‎‎‏‎‏‎‎‏‏‎‎‎‏‎‎‎‏‏‎‏‏‏‎‎‏‏‏‎‎‎‎‎‏‎‎‎Use gesture to open‎‏‎‎‏‎"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‎‏‏‏‎‎‎‎‏‎‎‏‎‏‏‏‏‎‎‎‎‎‏‏‏‏‎‏‏‏‏‏‎‎‏‏‎‏‎‎‏‎‏‏‎‏‎‏‎‎‎‎‏‏‎‏‎‎‎Use new accessibility gesture‎‏‎‎‏‎"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‏‎‎‎‏‎‏‎‎‏‎‎‏‏‏‎‏‎‏‏‎‎‎‎‏‎‎‏‏‏‎‎‏‏‏‏‎‎‏‎‏‏‏‎‎‎‎‏‏‏‎‏‏‏‎‎‏‏‎To turn this service on or off, tap the accessibility button‎‏‎‎‏‏‎<xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>‎‏‎‎‏‏‏‎on the bottom of your screen.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎To switch between services, touch &amp; hold the accessibility button.‎‏‎‎‏‎"</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‎‎‎‎‎‎‎‏‏‎‏‏‏‏‏‎‏‎‏‎‏‏‎‎‎‏‎‏‏‎‎‎‏‏‏‏‎‎‎‏‏‎‎‎‎‎‎‏‎‏‎‏‎‏‎‎‎‏‎To turn this service on or off, swipe up from the bottom of the screen with two fingers.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎To switch between services, swipe up with two fingers and hold.‎‏‎‎‏‎"</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‏‎‏‏‎‎‎‏‏‎‎‏‏‎‎‏‎‏‏‎‏‏‎‎‏‏‏‎‎‎‏‏‏‏‎‎‏‏‏‎‎‏‏‎‏‎‏‎‎‏‎‎‎‎‎‏‏‏‎To turn this service on or off, swipe up from the bottom of the screen with three fingers.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎To switch between services, swipe up with three fingers and hold.‎‏‎‎‏‎"</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‏‎‏‎‏‏‏‎‎‎‏‏‎‏‎‎‎‏‎‎‏‎‎‎‏‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‏‎‎‎‎‏‏‏‏‏‎‎‏‎‎To turn an accessibility service on or off, swipe up from the bottom of the screen with two fingers.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎To switch between services, swipe up with two fingers and hold.‎‏‎‎‏‎"</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‏‎‏‎‏‎‎‎‎‏‎‎‏‎‎‎‎‏‎‎‎‏‏‎‎‏‎‎‎‏‏‎‎‎‎‏‏‎‎‏‏‎‎‏‎‏‏‏‎‏‏‏‎‎‏‎‏‎‎To turn an accessibility service on or off, swipe up from the bottom of the screen with three fingers.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎To switch between services, swipe up with three fingers and hold.‎‏‎‎‏‎"</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‏‎‏‏‏‏‏‎‎‎‏‏‏‏‏‏‏‏‎‎‎‎‏‏‎‏‏‎‏‎‎‎‏‏‎‏‏‏‎‏‎‏‎‎‏‎‎‏‎‏‎‎‎‏‏‎‏‏‎To turn this service on or off, tap the accessibility button ‎‏‎‎‏‏‎<xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>‎‏‎‎‏‏‏‎ on the bottom of your screen.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎To switch between services, touch &amp; hold the accessibility button.‎‏‎‎‏‎"</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‎‎‏‎‏‎‎‏‎‏‎‏‏‎‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‎‎‎‏‏‏‎‎‏‎‏‎‎‎‏‎‎‎‎‏‎‎‎‎‎‏‏‏‎To turn this service on or off, swipe up from the bottom of the screen with two fingers.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎To switch between services, swipe up with two fingers and hold.‎‏‎‎‏‎"</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‏‎‎‎‏‏‎‎‎‎‏‏‏‎‏‎‏‏‏‎‎‏‏‎‎‏‏‏‏‎‎‎‏‏‎‎‏‎‏‎‏‏‎‎‏‏‎‎‏‎‎‎‏‎‎‎‏‏‎To turn this service on or off, swipe up from the bottom of the screen with three fingers.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎To switch between services, swipe up with three fingers and hold.‎‏‎‎‏‎"</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‎‏‎‏‎‎‎‎‏‏‏‏‏‏‎‎‏‎‎‎‏‏‏‏‎‎‏‏‎‏‎‎‏‏‎‎‏‎‏‏‎‎‎‎‎‎‏‎‏‎‏‏‎‏‎‎‏‏‎To turn an accessibility service on or off, swipe up from the bottom of the screen with two fingers.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎To switch between services, swipe up with two fingers and hold.‎‏‎‎‏‎"</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‏‎‎‎‎‎‎‎‎‏‎‏‏‏‎‏‎‎‏‏‏‎‎‎‏‎‏‏‎‎‎‎‏‏‎‏‎‎‏‎‏‎‏‏‎‎‎‏‎‎‏‎‎‏‎‏‎‎‎To turn an accessibility service on or off, swipe up from the bottom of the screen with three fingers.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎To switch between services, swipe up with three fingers and hold.‎‏‎‎‏‎"</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‎‎‎‏‏‎‎‏‎‎‏‎‎‏‏‏‎‏‏‏‏‎‎‏‏‎‎‎‎‏‎‏‏‏‏‎‎‎‏‎‎‎‏‎‎‏‏‎‎‎‏‎‏‎‏‎‎‎Got it‎‏‎‎‏‎"</string>
+    <string name="accessibility_shortcut_title" msgid="8125867833704517463">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‎‎‏‏‎‎‎‏‎‎‏‏‏‎‎‎‎‏‏‎‏‏‏‏‎‏‏‏‏‏‎‏‏‏‏‎‏‏‏‎‏‏‎‎‎‎‏‏‏‏‎‏‎‏‎‏‏‏‎‎‏‎‎‏‏‎<xliff:g id="SERVICE">%1$s</xliff:g>‎‏‎‎‏‏‏‎ shortcut‎‏‎‎‏‎"</string>
+    <string name="accessibility_shortcut_edit_summary_software" msgid="2820923641553461297">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‏‏‎‎‏‎‎‏‎‏‏‏‏‎‏‏‏‏‎‎‎‏‏‎‏‏‎‎‏‎‏‎‎‏‎‏‎‎‏‎‏‏‏‎‏‎‎‎‎‎‎‎‏‏‎‎‎‏‎Accessibility Button‎‏‎‎‏‎"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture" msgid="8078659880723370597">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‎‎‎‎‎‏‏‏‎‏‎‎‏‎‏‎‏‎‎‏‎‏‏‎‏‏‏‏‏‎‎‎‏‏‏‎‏‏‎‏‏‏‎‏‎‏‎‎‏‎‎‏‏‎‎‏‎‏‎Swipe up with 2 fingers‎‏‎‎‏‎"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture_talkback" msgid="7422753388389160524">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‏‏‎‎‎‎‎‎‏‎‏‏‏‎‏‎‏‎‏‏‏‎‎‎‎‏‎‎‎‏‏‎‏‎‎‏‎‎‎‎‏‏‎‏‎‏‎‏‏‎‎‏‎‎‏‏‎‎‎Swipe up with 3 fingers‎‏‎‎‏‎"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software" msgid="4796192466943479849">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‏‎‏‎‎‎‏‏‏‏‎‏‏‏‏‏‏‏‏‎‏‎‎‎‏‏‎‎‏‎‏‎‏‎‏‎‎‏‎‎‏‎‎‎‎‏‎‎‎‎‎‎‏‎‏‎‎‏‎Tap accessibility button‎‏‎‎‏‎"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8922102767509399352">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‏‏‏‏‎‏‎‎‎‏‏‎‏‎‏‏‎‏‎‎‏‏‎‎‏‎‎‎‎‏‏‎‏‎‏‏‏‎‏‏‎‏‎‏‏‎‎‏‏‏‎‎‏‏‏‎‎‎‎Tap the accessibility button ‎‏‎‎‏‏‎<xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>‎‏‎‎‏‏‏‎ at the bottom of your screen‎‏‎‎‏‎"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‎‏‎‏‏‎‏‎‎‏‎‏‎‎‎‎‏‏‏‏‏‎‎‏‎‎‎‎‎‏‎‎‏‏‎‏‏‏‏‏‎‏‎‎‏‏‎‎‏‎‏‎‎‏‏‏‏‏‎Swipe up from the bottom of the screen with 2 fingers‎‏‎‎‏‎"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‏‎‏‏‎‏‎‎‎‏‏‏‎‏‎‏‏‎‏‏‎‎‏‎‎‎‎‎‏‎‏‏‎‎‏‏‏‎‏‎‎‎‏‎‏‎‏‎‎‏‎‎‎‎‏‏‎‏‎Swipe up from the bottom of the screen with 3 fingers‎‏‎‎‏‎"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‎‎‏‎‏‏‎‏‎‏‎‎‏‏‏‎‎‏‎‏‏‎‏‏‎‏‎‏‎‏‏‎‎‏‎‏‎‎‏‎‎‎‎‎‏‎‏‎‏‏‎‎‎‏‎‎‏‎‎Hold volume keys‎‏‎‎‏‎"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‎‏‏‎‎‎‏‏‏‏‏‎‏‏‏‎‏‎‏‎‏‎‎‎‎‏‏‏‏‎‏‎‏‎‏‎‏‏‏‎‏‏‎‏‏‏‎‏‏‏‎‎‏‏‏‎‎‎‎Press &amp; hold both volume keys for 1 second‎‏‎‎‏‎"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‎‏‎‎‏‏‎‏‎‏‎‎‎‏‎‏‎‎‏‏‎‏‏‏‎‏‏‏‏‏‏‏‎‏‏‎‏‏‏‎‏‏‏‎‎‏‏‏‎‎‎‎‎‎‎‎‏‎Triple-tap screen‎‏‎‎‏‎"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‎‏‏‎‎‎‏‎‎‎‏‏‎‏‏‏‏‎‏‏‎‎‏‎‎‏‏‎‏‏‎‏‏‏‎‎‎‏‎‎‎‏‎‎‏‏‏‏‎‎‎‏‎‎‎‎‏‎Quickly tap screen 3 times. This shortcut may slow down your device.‎‏‎‎‏‎"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‏‏‎‏‏‎‎‏‎‎‎‏‎‏‎‏‎‎‎‏‎‏‎‎‎‏‎‏‏‎‎‏‏‎‏‏‏‎‎‎‎‎‎‏‏‎‎‏‎‎‎‏‎‏‎‎‏‎‎Advanced‎‏‎‎‏‎"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‎‏‏‏‎‏‏‎‎‏‏‏‎‏‎‎‎‏‏‏‏‎‎‎‎‎‎‏‏‎‏‏‎‎‎‏‎‎‎‎‏‏‏‎‏‏‎‎‏‎‏‏‎‎‎‎‎‎‎‎The Accessibility button is set to ‎‏‎‎‏‏‎<xliff:g id="SERVICE">%1$s</xliff:g>‎‏‎‎‏‏‏‎. To use magnification, touch &amp; hold the Accessibility button, then select magnification.‎‏‎‎‏‎"</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‎‏‏‏‎‎‎‎‎‎‏‏‎‎‏‏‎‏‎‏‏‎‏‎‎‏‎‎‏‏‎‎‏‏‎‎‏‏‎‎‎‏‎‎‏‏‎‏‎‎‏‎‏‎‏‏‏‎‎The accessibility gesture is set to the ‎‏‎‎‏‏‎<xliff:g id="SERVICE">%1$s</xliff:g>‎‏‎‎‏‏‏‎. To use magnification, swipe up with two fingers from the bottom of the screen and hold. Then select magnification.‎‏‎‎‏‎"</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‏‏‏‎‎‎‏‎‎‏‎‏‏‏‏‏‎‎‏‏‏‎‏‏‏‎‏‏‎‎‎‎‎‏‏‏‏‏‎‏‏‎‎‎‏‏‎‎‏‏‎‏‎‎‏‏‏‏‎Volume key shortcut‎‏‎‎‏‎"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‏‎‏‏‏‏‎‏‏‎‏‏‎‎‏‏‏‎‎‏‏‏‏‎‎‎‎‏‏‏‏‎‏‏‏‎‏‏‎‎‏‎‎‎‏‏‏‏‎‏‎‎‎‏‏‎‏‏‎Shortcut service‎‏‎‎‏‎"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‏‏‏‎‎‏‏‏‎‎‏‏‎‏‏‎‏‎‎‎‎‏‏‎‏‏‏‎‎‎‏‏‎‏‏‎‎‏‎‏‎‏‏‏‎‏‎‎‏‎‎‏‏‏‏‎‏‏‎Shortcut settings‎‏‎‎‏‎"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‏‎‎‎‏‎‎‎‏‎‏‎‎‎‎‏‏‏‏‎‏‎‏‎‎‎‎‎‎‏‎‎‏‏‎‎‏‏‎‏‏‎‎‏‏‏‏‏‏‎‏‎‏‎‏‏‎‏‎Allow from lock screen‎‏‎‎‏‎"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‏‏‎‎‏‏‏‎‏‎‏‎‏‎‎‏‎‏‎‎‏‎‎‎‎‏‏‎‎‏‏‏‏‏‏‎‎‎‎‎‏‏‎‏‏‎‏‎‎‎‏‏‎‎‎‎‏‎When the shortcut is on, you can press both volume keys for 3 seconds to start an accessibility feature.‎‏‎‎‏‎"</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‎‏‎‏‏‎‎‏‏‎‎‎‏‎‎‎‏‏‏‏‎‎‎‏‏‎‎‎‏‎‎‎‏‎‎‏‎‎‏‏‏‎‏‎‎‎‎‎‏‎‏‎‏‏‏‎‏‎‎High contrast text‎‏‎‎‏‎"</string>
@@ -2149,24 +2157,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‎‏‎‏‎‏‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‏‏‏‏‏‎‏‏‏‏‎‎‏‏‏‎‏‎‎‏‎‎‎‎‎‏‏‎‏‏‎‎‏‎‏‎‎Choose how long to show messages that ask you to take action, but are visible only temporarily.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎Not all apps support this setting.‎‏‎‎‏‎"</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‎‎‏‎‏‏‎‎‎‎‎‏‎‎‎‏‏‏‎‎‏‏‏‎‏‎‎‏‏‏‎‎‎‏‏‏‏‎‏‎‎‏‎‏‏‏‏‎‏‎‏‏‎‏‎‏‏‏‎Touch &amp; hold delay‎‏‎‎‏‎"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‏‎‎‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‏‎‎‏‎‎‏‏‏‏‎‎‏‏‎‏‎‏‏‎‏‎‎‎‎‎Color inversion‎‏‎‎‏‎"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‏‎‏‏‏‏‏‏‏‎‎‏‏‏‏‏‏‏‎‏‎‏‏‏‏‎‏‎‏‎‎‎‏‎‎‏‎‎‎‎‏‎‎‎‏‎‏‏‏‏‏‎‎‏‏‎‎‎May affect performance‎‏‎‎‏‎"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‏‏‏‏‏‏‎‏‎‏‎‏‎‏‏‎‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‏‏‏‎‎‎‎‏‏‏‎‎‎‏‏‏‎‎‏‏‏‏‎‎‏‎‎Dwell timing‎‏‎‎‏‎"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‎‏‎‎‏‎‏‎‏‏‎‏‎‏‏‎‎‎‎‎‎‎‎‏‎‎‎‏‎‏‏‎‎‏‎‎‏‏‏‏‎Use color inversion‎‏‎‎‏‎"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‎‎‎‏‎‏‏‎‎‏‎‏‎‎‏‎‎‏‏‏‏‎‎‏‎‏‎‎‏‎‎‎‏‏‎‏‎‎‎‎‏‎‏‎‏‏‏‎‎‎‏‎‏‎‎‏‎‎‎Color inversion turns light screens dark. This helps people who are sensitive to bright light see the screen more easily.&lt;br/&gt;&lt;br/&gt;Note: Dark colors will turn light. Colors will change in media and images. You can also use Dark theme (Settings &gt; Display).‎‏‎‎‏‎"</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‎‎‎‏‎‎‎‎‏‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‎‏‏‎‎‎‏‎‎‎‎‏‏‎‏‎‏‎‎‏‏‎‏‏‏‏‏‎‏‏‎‎‏‏‎Auto click (dwell timing)‎‏‎‎‏‎"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‎‏‎‏‎‏‎‎‏‎‏‎‎‎‎‏‏‎‎‏‎‎‎‏‎‏‎‎‎‏‏‏‏‏‎‎‏‏‎‏‎‏‎‏‏‏‏‏‎‎‎‏‏‎‎‏‎‏‎If you are using a mouse, you can set the cursor to take action automatically when it stops moving for a certain amount of time.‎‏‎‎‏‎"</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‏‏‏‏‎‎‏‎‎‏‏‏‎‎‎‎‏‏‏‎‏‏‎‎‎‎‏‎‏‎‎‏‎‏‏‏‎‏‎‎‎‎‎‎‎‎‏‎‏‏‎‎‎‎‏‏‎‎‎Delay before click‎‏‎‎‏‎"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‎‏‎‎‏‏‎‎‏‏‏‎‏‎‎‏‎‏‎‏‏‎‏‎‏‎‏‎‏‏‎‎‏‏‎‎‎‎‎‎‏‎‎‏‏‏‎‎‎‏‏‏‎‎‎‎‏‎Don’t use auto click (default)‎‏‎‎‏‎"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‏‎‎‎‏‎‏‎‏‎‏‎‎‎‎‏‎‎‎‎‎‏‎‎‎‏‏‎‎‏‏‎‏‏‏‏‏‎‏‎‎‎‎‎‏‎‎‎‏‏‏‏‎‏‏‎‎‎‎Short‎‏‎‎‏‎"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‎‎‏‏‏‏‏‏‏‎‏‏‎‏‎‏‎‎‏‏‎‏‎‏‏‎‏‏‏‏‏‏‏‏‎‏‏‎‎‎‏‎‏‎‎‏‏‏‎‎‎‏‎‎‏‎‏‎‎0.2 seconds‎‏‎‎‏‎"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‏‎‏‏‏‏‏‏‎‏‏‎‏‎‎‏‏‏‎‏‎‏‎‎‏‏‏‏‏‎‎‏‏‎‎‎‎‏‎‎‏‎‎‎‎‏‏‎‏‎‎‎‏‎‎‎‎‎Medium‎‏‎‎‏‎"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‏‎‏‎‏‎‎‏‎‎‏‎‏‎‏‏‏‎‏‎‏‏‎‏‏‎‎‎‏‏‏‎‎‎‎‎‏‏‏‏‏‏‏‎‎‏‎‏‏‏‎‎‎‏‎‏‏‏‎0.6 seconds‎‏‎‎‏‎"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‏‎‎‏‎‏‏‏‎‎‎‎‎‎‎‎‏‎‎‎‎‏‎‎‏‏‏‎‎‏‏‎‏‎‎‏‏‏‎‏‏‎‎‏‎‏‏‎‎‎‏‎‏‏‎‏‏‏‎Long‎‏‎‎‏‎"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‎‎‎‎‎‎‎‎‎‎‏‎‎‎‏‏‏‏‏‏‏‏‎‎‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‏‏‏‏‎‎‏‏‏‏‏‏‏‏‎‏‎‏‎1 second‎‏‎‎‏‎"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‏‏‏‏‎‎‏‏‏‎‏‎‏‎‎‎‏‏‏‎‏‎‏‏‎‏‏‎‎‏‎‏‏‎‏‏‎‎‏‎‎‎‎‏‎‎‎‏‎‎‏‏‏‎‎‏‏‎‎Custom‎‏‎‎‏‎"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‎‏‏‏‏‎‎‏‏‎‏‏‎‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‎‎‏‏‏‏‏‏‎‎‎‎‏‎‎‎‏‏‎‎‎‏‎‏‎‏‏‏‎‎‎Shorter‎‏‎‎‏‎"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‏‏‎‎‏‏‏‎‎‎‏‎‏‏‎‏‎‏‎‎‏‏‎‎‏‎‏‏‏‏‏‎‏‏‏‎‎‏‏‎‏‏‏‏‏‏‎‏‏‎‏‎‏‎‎‏‏‎Longer‎‏‎‎‏‎"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‎‎‎‎‎‏‎‎‏‎‏‏‎‎‎‎‎‎‏‎‏‎‎‏‏‎‎‎‏‎‎‏‎‏‏‏‏‏‏‎‎‏‎‎‏‎‎‎‏‏‏‎‏‏‏‏‏‎‎Auto click time‎‏‎‎‏‎"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‎‎‎‎‏‎‎‎‏‏‏‎‏‎‏‎‎‏‎‏‎‏‏‎‏‏‎‎‎‏‏‏‏‏‏‎‎‏‏‏‎‎‎‎‏‎‎‏‎‏‏‏‏‎‏‎‏‎‎Vibration &amp; haptic strength‎‏‎‎‏‎"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‏‎‎‎‎‏‏‏‏‏‎‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‏‏‎‎‎‏‏‏‏‎‏‎‎‎‏‏‎‎‏‏‏‎‏‎‏‏‏‏‎‎Notification vibration‎‏‎‎‏‎"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‏‏‎‎‎‏‏‏‎‏‎‎‎‎‏‏‏‎‎‎‎‏‏‎‎‎‏‎‎‏‏‎‎‏‎‏‎‏‏‏‎‏‏‏‏‎‏‎‏‎Ring vibration‎‏‎‎‏‎"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‏‏‎‏‏‎‏‎‎‎‏‏‏‎‎‏‏‏‏‏‎‏‎‎‏‏‎‏‏‏‏‎‏‎‎‏‎‎‏‎‎‎‏‏‎‎‏‏‎‎‎‏‎‏‎‏‎‏‎Touch feedback‎‏‎‎‏‎"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‎‏‏‎‎‏‎‏‏‎‎‏‏‏‎‏‏‎‎‎‎‏‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‎‏‏‎‎‎‏‎‏‎‎‎‏‎‏‎‎‎‏‎Use service‎‏‎‎‏‎"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‏‏‎‏‎‏‎‎‎‎‎‎‏‎‎‎‎‎‎‏‎‎‎‏‏‏‏‎‎‏‏‎‎‏‎‎‏‏‎‏‏‏‏‎‎‏‎‏‏‏‎‏‎‏‎‎‎‎Use ‎‏‎‎‏‏‎<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‏‏‎‎‏‏‏‎‎‎‏‏‏‎‏‏‏‎‎‏‎‎‎‎‎‏‏‎‏‏‎‎‏‏‏‎‏‏‎‏‎‎‎‎‎‏‏‎‎‏‎‏‎‎‎‎‎‏‎Open ‎‏‎‎‏‏‎<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‎‏‏‎‏‏‎‎‎‎‏‎‏‏‎‏‏‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‎‏‏‎‎‏‏‏‎‏‎‏‏‏‏‎‎‎‎‏‎‏‎‎Use color correction‎‏‎‎‏‎"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‎‏‏‏‏‎‎‏‏‎‎‎‎‏‎‏‎‎‏‎‏‎‎‎‏‎‎‎‏‎‎‏‎‎‎‏‏‎‎‏‏‎‎‏‏‎‏‎‏‎‏‏‏‏‏‏‏‎Use captions‎‏‎‎‏‎"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‎‏‎‎‎‎‎‏‏‏‎‏‎‏‏‏‎‏‎‎‎‏‏‎‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‏‎‏‏‏‎‏‎‎‏‏‏‎‏‏‏‏‎Show captions‎‏‎‎‏‎"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‏‏‎‏‏‎‏‏‏‏‏‎‏‎‎‏‏‎‏‏‏‎‎‎‏‎‏‎‏‎‎‏‏‎‎‏‏‎‏‏‎‎‏‏‏‎‏‏‎‏‏‏‏‏‏‎‎‎Caption appearance‎‏‎‎‏‎"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‎‏‎‏‏‎‎‏‎‎‎‏‎‏‎‏‏‎‏‎‎‎‏‏‏‎‏‏‎‎‎‏‏‏‏‎‎‏‏‎‎‎‏‏‏‎‎‏‎‏‎‎‏‎‏‏‏‎‎Text size, caption style‎‏‎‎‏‎"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‎‎‎‏‎‏‏‎‏‏‎‏‏‎‏‎‏‏‎‏‏‏‎‏‎‎‎‎‎‏‎‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‎‏‏‏‏‎‎‎‎‏‎‎‎More options‎‏‎‎‏‎"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‏‏‏‎‎‎‎‏‏‎‏‏‎‎‏‎‎‏‏‎‎‎‏‎‎‎‎‏‎‎‏‎‎‏‏‎‏‏‎‎‏‏‎‎‏‏‏‎‎‎‏‏‎‏‎‏‏‏‎Not all apps support this setting.‎‏‎‎‏‎"</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‏‎‏‏‎‏‏‎‏‎‎‏‎‎‎‎‎‏‏‎‎‎‎‏‎‎‏‎‏‎‎‏‎‎‏‏‎‏‏‏‎‏‏‏‏‎‏‏‏‎‏‎‏‏‎‏‏‎Accessibility button‎‏‎‎‏‎"</string>
+    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‎‏‏‏‎‏‎‏‏‏‎‎‎‎‎‏‏‏‎‎‎‏‏‏‏‏‏‏‎‎‎‏‎‎‎‎‏‏‏‏‎‏‏‏‏‏‏‎‏‏‎‎‏‏‎‎‏‏‎2-finger swipe up from bottom‎‏‎‎‏‎"</string>
+    <string name="accessibility_shortcut_type_hardware" msgid="4834144210432451916">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‏‏‎‎‎‏‎‏‏‎‎‏‎‏‎‏‎‎‏‎‎‎‏‏‎‎‎‎‎‎‎‏‏‏‏‏‎‏‎‏‏‎‎‏‏‎‎‏‎‏‎‏‎‎‏‏‎‎‎Hold volume keys‎‏‎‎‏‎"</string>
+    <string name="accessibility_shortcut_type_triple_tap" msgid="7717524216825494543">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‏‎‎‎‏‏‎‏‎‎‎‏‎‎‏‏‏‎‏‏‎‎‎‏‎‏‏‎‏‎‎‎‏‎‏‎‏‏‎‏‏‏‎‏‏‏‏‎‎‎‎‎‎‏‏‏‏‎Triple tap screen‎‏‎‎‏‎"</string>
     <string name="accessibility_hearingaid_instruction_continue_button" msgid="3367260988024430722">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‏‎‏‎‏‏‏‎‏‎‏‏‏‎‏‎‏‎‎‎‎‎‎‏‏‏‎‎‏‏‎‎‎‏‎‎‏‏‏‎‏‎‎‎‏‎‎‎‎‎‏‎‎‎‎‎‏‎‎Continue‎‏‎‎‏‎"</string>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‎‏‏‏‏‎‏‏‎‏‏‎‏‎‎‎‎‎‎‎‏‏‎‎‏‎‎‏‏‏‎‎‏‎‎‏‏‏‎‏‎‏‏‏‏‎‎‏‎‏‎‏‏‏‎‏‏‏‎Hearing aids‎‏‎‎‏‎"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‏‎‏‏‎‎‏‎‎‏‏‎‏‏‎‏‏‏‎‏‎‏‎‎‏‏‏‏‎‏‎‏‏‎‎‎‎‏‎‏‎‏‏‎‎‏‏‎‏‏‎‏‎‏‏‏‏‏‎No hearing aids connected‎‏‎‎‏‎"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‎‏‏‏‎‏‏‏‎‏‎‏‎‏‏‎‎‎‎‎‏‎‎‏‎‏‏‎‎‎‎‏‎‏‏‏‎‏‎‏‏‎‏‏‎‏‎‎‏‎‏‏‎‎‏‏‏‏‎Add hearing aids‎‏‎‎‏‎"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‎‎‏‏‏‏‏‏‏‎‎‏‏‎‏‏‏‎‏‏‎‎‏‎‎‏‎‎‏‎‎‎‎‏‏‏‎‏‏‎‏‏‏‎‏‏‏‏‏‏‏‎‏‏‏‏‎‏‎To pair your hearing aids, find and tap your device on the next screen.‎‏‎‎‏‎"</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‎‎‏‎‏‏‏‎‏‎‏‎‎‏‎‏‎‏‎‎‎‎‏‏‎‏‎‏‏‎‏‎‏‏‏‎‏‎‎‏‏‏‏‏‏‏‎‎‏‎‎‏‎‎‎‎‏‏‎Make sure your hearing aids are in pairing mode.‎‏‎‎‏‎"</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‏‏‏‎‏‏‎‎‏‎‏‏‎‎‏‎‏‎‏‏‏‎‏‏‏‏‎‏‏‎‏‎‎‎‏‎‏‎‎‏‎‏‏‎‏‎‏‏‎‏‎‏‎‎‏‎‎‏‎To pair your hearing aids, find and tap your device on the next screen. Make sure your hearing aids are in pairing mode.‎‏‎‎‏‎"</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‏‏‎‎‎‏‎‎‏‎‏‏‎‏‎‏‎‎‏‎‎‏‎‎‏‏‏‎‎‏‏‎‎‎‎‎‎‏‎‎‎‏‏‏‎‏‎‏‎‏‎‏‏‎‏‏‏‏‎‎‏‎‎‏‏‎<xliff:g id="DEVICE_NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎ active‎‏‎‎‏‎"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="other">‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‏‎‏‏‎‎‎‏‎‎‏‏‏‎‏‎‎‎‎‏‏‎‏‎‏‎‏‎‏‎‏‏‎‏‎‎‏‎‎‏‎‏‎‏‎‎‏‎‏‎‎‏‎‎‎‏‎‎‎‎‏‎‎‏‏‎<xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g>‎‏‎‎‏‏‏‎ saved hearing aids‎‏‎‎‏‎</item>
@@ -2178,25 +2204,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‏‎‎‏‏‏‎‎‏‏‎‏‏‎‏‏‎‏‏‏‏‏‎‏‏‏‏‏‏‏‎‏‎‎‏‏‏‎‎‎‏‎‎‎‎‏‎‎‏‏‎‎‎‏‏‏‎‏‎This service is malfunctioning.‎‏‎‎‏‎"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‎‎‏‎‎‎‎‏‎‏‎‏‏‎‎‏‏‎‏‏‏‎‏‏‎‏‏‏‎‎‏‏‎‎‎‏‏‏‎‎‎‎‏‏‎‏‏‎‎‎‎‎‏‎‏‎‎‎Show in Quick Settings‎‏‎‎‏‎"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‏‏‏‏‎‎‏‏‎‏‎‏‏‏‎‏‎‎‎‎‎‏‏‎‎‎‎‏‎‎‏‏‎‎‎‎‏‎‏‎‎‎‏‎‏‎‎‎‏‏‏‏‏‎‏‎‏‏‎Correction mode‎‏‎‎‏‎"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="other">‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‏‎‎‏‏‎‏‎‎‎‎‏‏‏‏‎‏‎‎‎‏‏‏‎‎‎‏‏‏‎‎‏‏‏‏‏‏‏‎‎‎‎‏‎‏‏‎‏‎‎‎‏‎‎‏‎‎‎‎Extremely short delay (‎‏‎‎‏‏‎<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g>‎‏‎‎‏‏‏‎ ms)‎‏‎‎‏‎</item>
-      <item quantity="one">‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‏‎‎‏‏‎‏‎‎‎‎‏‏‏‏‎‏‎‎‎‏‏‏‎‎‎‏‏‏‎‎‏‏‏‏‏‏‏‎‎‎‎‏‎‏‏‎‏‎‎‎‏‎‎‏‎‎‎‎Extremely short delay (‎‏‎‎‏‏‎<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g>‎‏‎‎‏‏‏‎ ms)‎‏‎‎‏‎</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‏‎‎‏‏‏‎‎‎‎‎‏‎‎‏‏‎‎‎‎‏‎‏‎‏‏‎‏‎‎‏‏‏‏‏‎‎‎‏‏‎‎‏‏‏‏‏‏‏‎‎‎‏‏‏‎‏‎‎Red-green‎‏‎‎‏‎"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‎‏‎‏‎‎‏‏‏‎‎‏‎‏‎‎‎‏‏‎‎‏‏‎‎‎‏‎‎‏‏‎‎‏‎‏‎‎‏‏‏‎‎‏‏‎‎‏‏‎‏‎‎‏‎‎‎‎Green-red‎‏‎‎‏‎"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‏‏‏‎‎‏‏‏‏‏‏‏‎‏‏‏‏‏‏‏‏‏‏‏‏‎‎‎‎‏‎‎‎‎‎‏‏‎‎‏‏‎‏‎‎‎‎‏‏‎‎‎‏‎‎‏‏‎‎Blue-yellow‎‏‎‎‏‎"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‎‏‎‏‏‎‏‏‏‏‎‏‎‏‎‎‎‏‎‏‎‎‎‎‏‏‎‎‎‎‎‎‎‏‎‎‎‎‎‎‎‏‏‏‎‎‎‎‎‎‏‏‏‎‏‏‏‏‎Deuteranomaly‎‏‎‎‏‎"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‎‎‎‎‏‎‏‏‏‏‎‎‏‎‏‏‏‎‎‏‏‏‏‎‏‎‏‎‏‎‎‎‏‏‎‏‎‏‏‏‏‏‎‎‏‏‏‎‎‏‎‎‏‏‏‎‎‎‎Protanomaly‎‏‎‎‏‎"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‎‏‏‎‏‏‎‎‏‎‏‏‎‎‎‎‏‏‏‎‏‏‎‎‏‎‎‏‏‎‎‏‏‏‏‎‏‏‏‏‎‏‎‏‏‎‏‎‎‎‏‏‏‎‎‏‏‎‎Tritanomaly‎‏‎‎‏‎"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="other">‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‎‎‎‏‎‏‎‎‏‎‎‎‏‏‎‏‎‏‎‎‎‎‏‏‏‎‏‎‎‏‏‎‎‏‏‏‎‎‏‏‎‏‎‏‎‏‏‏‏‏‎‎‏‏‎‏‏‎Extremely short delay (‎‏‎‎‏‏‎<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g>‎‏‎‎‏‏‏‎ seconds)‎‏‎‎‏‎</item>
+      <item quantity="one">‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‎‎‎‏‎‏‎‎‏‎‎‎‏‏‎‏‎‏‎‎‎‎‏‏‏‎‏‎‎‏‏‎‎‏‏‏‎‎‏‏‎‏‎‏‎‏‏‏‏‏‎‎‏‏‎‏‏‎Extremely short delay (‎‏‎‎‏‏‎<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g>‎‏‎‎‏‏‏‎ second)‎‏‎‎‏‎</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="other">‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‏‎‎‏‎‏‎‏‎‎‎‏‏‏‎‏‏‎‎‏‎‏‏‎‏‏‏‏‏‏‏‏‎‎‎‎‏‏‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‎‎‏‎‏‎Very short delay (‎‏‎‎‏‏‎<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g>‎‏‎‎‏‏‏‎ ms)‎‏‎‎‏‎</item>
-      <item quantity="one">‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‏‎‎‏‎‏‎‏‎‎‎‏‏‏‎‏‏‎‎‏‎‏‏‎‏‏‏‏‏‏‏‏‎‎‎‎‏‏‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‎‎‏‎‏‎Very short delay (‎‏‎‎‏‏‎<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g>‎‏‎‎‏‏‏‎ ms)‎‏‎‎‏‎</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="other">‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‎‏‏‎‏‎‎‎‎‎‎‏‏‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‏‎‏‏‎‎‏‎‏‎‎‏‎‎‎‏‎‎‏‏‎‏‎‏‏‏‏‎Very short delay (‎‏‎‎‏‏‎<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g>‎‏‎‎‏‏‏‎ seconds)‎‏‎‎‏‎</item>
+      <item quantity="one">‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‎‏‏‎‏‎‎‎‎‎‎‏‏‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‏‎‏‏‎‎‏‎‏‎‎‏‎‎‎‏‎‎‏‏‎‏‎‏‏‏‏‎Very short delay (‎‏‎‎‏‏‎<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g>‎‏‎‎‏‏‏‎ second)‎‏‎‎‏‎</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="other">‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‎‏‏‏‎‎‎‏‏‎‎‎‏‎‎‎‎‎‎‎‎‏‏‏‎‎‏‏‏‏‏‎‏‎‎‏‎‏‎‏‏‎‎‎‏‎‏‏‏‏‎‏‎‎‎‎‎‎‎Short delay (‎‏‎‎‏‏‎<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g>‎‏‎‎‏‏‏‎ ms)‎‏‎‎‏‎</item>
-      <item quantity="one">‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‎‏‏‏‎‎‎‏‏‎‎‎‏‎‎‎‎‎‎‎‎‏‏‏‎‎‏‏‏‏‏‎‏‎‎‏‎‏‎‏‏‎‎‎‏‎‏‏‏‏‎‏‎‎‎‎‎‎‎Short delay (‎‏‎‎‏‏‎<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g>‎‏‎‎‏‏‏‎ ms)‎‏‎‎‏‎</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="other">‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‏‎‏‎‎‏‎‏‏‏‏‎‏‏‎‏‎‏‏‏‎‏‏‎‏‏‏‎‎‏‏‎‎‏‎‏‏‎‎‏‏‏‎‎‏‏‎‎‎‎‎‏‎‏‏‎‎‎‎Short delay (‎‏‎‎‏‏‎<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g>‎‏‎‎‏‏‏‎ seconds)‎‏‎‎‏‎</item>
+      <item quantity="one">‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‏‎‏‎‎‏‎‏‏‏‏‎‏‏‎‏‎‏‏‏‎‏‏‎‏‏‏‎‎‏‏‎‎‏‎‏‏‎‎‏‏‏‎‎‏‏‎‎‎‎‎‏‎‏‏‎‎‎‎Short delay (‎‏‎‎‏‏‎<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g>‎‏‎‎‏‏‏‎ second)‎‏‎‎‏‎</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="other">‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‏‏‏‎‏‏‏‎‎‎‏‏‎‏‎‎‎‏‎‎‎‏‎‏‎‎‏‎‏‏‏‎‎‎‏‏‏‏‎‎‎‏‏‏‏‎‏‎‏‎‎‎‎‏‏‏‎‏‎Long delay (‎‏‎‎‏‏‎<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g>‎‏‎‎‏‏‏‎ ms)‎‏‎‎‏‎</item>
-      <item quantity="one">‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‏‏‏‎‏‏‏‎‎‎‏‏‎‏‎‎‎‏‎‎‎‏‎‏‎‎‏‎‏‏‏‎‎‎‏‏‏‏‎‎‎‏‏‏‏‎‏‎‏‎‎‎‎‏‏‏‎‏‎Long delay (‎‏‎‎‏‏‎<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g>‎‏‎‎‏‏‏‎ ms)‎‏‎‎‏‎</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="other">‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‏‏‏‎‏‎‎‎‏‎‏‎‎‎‎‏‎‎‎‎‏‏‏‏‏‎‏‏‎‎‎‎‎‎‏‏‎‏‏‏‏‏‎‎‏‎‏‎‏‎‏‎‎‎‏‏‏‏‎Long delay (‎‏‎‎‏‏‎<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g>‎‏‎‎‏‏‏‎ seconds)‎‏‎‎‏‎</item>
+      <item quantity="one">‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‏‏‏‎‏‎‎‎‏‎‏‎‎‎‎‏‎‎‎‎‏‏‏‏‏‎‏‏‎‎‎‎‎‎‏‏‎‏‏‏‏‏‎‎‏‎‏‎‏‎‏‎‎‎‏‏‏‏‎Long delay (‎‏‎‎‏‏‎<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g>‎‏‎‎‏‏‏‎ second)‎‏‎‎‏‎</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="other">‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‏‎‎‎‎‏‏‎‏‎‎‎‎‎‏‏‏‎‎‎‏‏‎‏‏‏‎‏‏‎‏‎‎‎‏‎‎‎‏‎‎‎‏‏‏‎‏‎‏‎‎‎‏‏‎‏‎‏‎Very long delay (‎‏‎‎‏‏‎<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g>‎‏‎‎‏‏‏‎ ms)‎‏‎‎‏‎</item>
-      <item quantity="one">‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‏‎‎‎‎‏‏‎‏‎‎‎‎‎‏‏‏‎‎‎‏‏‎‏‏‏‎‏‏‎‏‎‎‎‏‎‎‎‏‎‎‎‏‏‏‎‏‎‏‎‎‎‏‏‎‏‎‏‎Very long delay (‎‏‎‎‏‏‎<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g>‎‏‎‎‏‏‏‎ ms)‎‏‎‎‏‎</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="other">‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‏‏‏‏‏‎‎‎‎‏‎‏‎‎‎‎‏‎‏‎‏‏‎‎‎‏‏‎‏‏‏‏‏‎‎‎‎‏‎‎‏‎‏‏‏‎‏‏‏‎‏‎‎‏‏‏‏‎Very long delay (‎‏‎‎‏‏‎<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g>‎‏‎‎‏‏‏‎ seconds)‎‏‎‎‏‎</item>
+      <item quantity="one">‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‏‏‏‏‏‎‎‎‎‏‎‏‎‎‎‎‏‎‏‎‏‏‎‎‎‏‏‎‏‏‏‏‏‎‎‎‎‏‎‎‏‎‏‏‏‎‏‏‏‎‏‎‎‏‏‏‏‎Very long delay (‎‏‎‎‏‏‎<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g>‎‏‎‎‏‏‏‎ second)‎‏‎‎‏‎</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="other">‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‎‎‏‏‎‏‏‏‎‏‏‏‏‏‏‏‎‏‎‏‏‎‎‎‏‏‏‎‎‏‎‎‏‎‏‎‎‏‏‎‎‏‎‎‎‎‎‏‎‎‎‎‏‏‏‎‎‎‎‎‏‎‎‏‏‎<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g>‎‏‎‎‏‏‏‎ seconds‎‏‎‎‏‎</item>
+      <item quantity="one">‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‎‎‏‏‎‏‏‏‎‏‏‏‏‏‏‏‎‏‎‏‏‎‎‎‏‏‏‎‎‏‎‎‏‎‏‎‎‏‏‎‎‏‎‎‎‎‎‏‎‎‎‎‏‏‏‎‎‎‎‎‏‎‎‏‏‎<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g>‎‏‎‎‏‏‏‎ second‎‏‎‎‏‎</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‎‏‏‏‏‏‎‎‎‏‏‎‎‏‎‎‎‏‎‏‎‎‏‎‎‏‏‎‏‎‎‏‎‎‏‏‎‎‎‎‏‎‏‏‏‏‎‏‎‏‏‎‎‎‏‏‏‎‎‎Ring ‎‏‎‎‏‏‎<xliff:g id="SUMMARY_RING">%1$s</xliff:g>‎‏‎‎‏‏‏‎, notification ‎‏‎‎‏‏‎<xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>‎‏‎‎‏‏‏‎, touch ‎‏‎‎‏‏‎<xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‏‏‏‏‎‏‎‏‎‎‏‎‎‎‏‏‎‏‎‏‏‎‏‎‏‎‎‎‏‎‎‏‎‎‎‏‏‎‏‎‏‎‏‏‎‎‎‎‏‎‎‏‏‏‎‎‎‎Ring &amp; notification set to off‎‏‎‎‏‎"</string>
@@ -2513,7 +2549,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‎‏‏‎‎‏‏‎‎‏‏‏‎‎‎‏‎‎‎‏‎‎‎‏‎‎‎‏‏‎‏‎‎‏‏‏‏‏‎‏‎‎‏‏‎‏‏‏‏‏‏‏‏‏‎‏‏‏‏‎While last unplugged for ‎‏‎‎‏‏‎<xliff:g id="UNPLUGGED">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‎‏‏‎‏‎‏‎‎‎‎‎‎‏‏‎‎‎‎‎‏‏‎‏‏‎‎‏‎‎‏‎‏‎‏‏‏‎‎‏‎‎‎‏‎‏‏‎‎‏‏‏‏‏‎‏‏‎‎Usage totals‎‏‎‎‏‎"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‏‎‏‎‏‏‏‎‏‎‏‎‏‎‏‏‎‎‎‏‎‎‏‏‎‎‎‎‎‎‎‎‏‎‎‎‎‎‎‎‎‎‏‏‎‎‏‏‏‏‏‎‏‎‎‏‏‎Refresh‎‏‎‎‏‎"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‎‎‏‎‏‎‏‎‏‎‏‎‏‎‎‏‏‏‎‏‏‏‏‎‎‏‎‏‏‏‏‏‎‏‎‎‏‎‏‏‏‎‎‎‎‎‎‏‏‏‏‎‎‎‏‏‎‎Android OS‎‏‎‎‏‎"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‎‏‎‎‏‎‎‏‎‎‏‏‎‏‎‎‏‎‏‎‏‎‏‎‎‏‎‎‎‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‏‎‎‏‎‎‎‏‏‎‏‎‎‎Mediaserver‎‏‎‎‏‎"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‎‏‎‎‎‎‏‎‎‎‏‏‏‏‎‎‎‎‏‏‏‏‏‎‎‏‎‎‎‎‏‎‎‎‏‏‏‏‎‏‎‏‏‏‏‏‎‎‏‎‏‏‏‎‎‎‏‎App optimization‎‏‎‎‏‎"</string>
     <string name="battery_saver" msgid="7737147344510595864">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‏‎‏‎‏‏‏‏‏‏‏‎‏‏‏‏‎‏‎‎‎‎‏‎‎‎‏‎‎‎‏‎‎‎‏‏‎‏‎‎‏‎‎‏‏‎‎‏‏‎‎‎‏‏‎‎‎‎Battery Saver‎‏‎‎‏‎"</string>
@@ -2594,8 +2629,7 @@
     <string name="tts_play" msgid="2945513377250757221">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‎‎‏‏‏‏‏‎‎‎‎‏‎‎‎‎‏‏‎‎‎‏‎‏‎‎‏‎‏‎‎‏‏‎‎‏‎‏‎Play‎‏‎‎‏‎"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‏‎‏‎‏‏‏‎‎‎‏‏‏‏‎‎‏‏‎‎‏‏‎‏‎‏‏‎‏‎‎‎‏‏‏‏‏‎‎‏‏‎‎‎‎‎‎‎‏‏‎‏‏‏‏‎‎‎‎VPN‎‏‎‎‏‎"</string>
     <string name="credentials_title" msgid="7535942196886123656">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‎‎‏‎‎‏‎‏‎‏‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‎‎‎‏‏‏‏‎‏‎‏‎‎‎‏‏‎‎‎‏‏‎‏‎‎‏‎‎‎‏‎‎‎‎Credential storage‎‏‎‎‏‎"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‎‏‏‎‎‏‎‏‏‏‏‎‏‎‎‏‎‏‎‏‎‏‎‏‏‎‎‎‎‏‏‏‏‎‏‏‎‏‏‎‎‏‏‏‏‎‏‎‎‏‎‎‏‎‏‏‏‎‎Install from storage‎‏‎‎‏‎"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‎‎‎‏‎‏‏‏‎‎‏‎‏‏‏‏‎‎‎‎‏‏‎‎‏‏‏‏‎‏‎‏‏‏‎‎‎‎‎‎‏‏‏‏‏‎‏‏‎‎‏‎‎‏‏‏‎‎‎Install from SD card‎‏‎‎‏‎"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‎‏‎‎‏‎‏‎‏‏‎‎‏‏‎‎‏‎‏‎‎‏‏‎‏‎‏‏‏‏‎‎‎‏‏‏‎‏‏‏‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‏‏‎Install a certificate‎‏‎‎‏‎"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‎‎‎‏‏‎‏‎‎‏‎‏‎‎‏‎‎‏‏‎‎‎‎‎‏‎‎‏‏‎‎‎‎‏‏‏‎‏‎‎‏‎‎‏‎‎‏‏‏‎‏‏‏‎‏‏‏‎Install certificates from storage‎‏‎‎‏‎"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‎‏‎‏‎‎‎‎‏‎‏‏‏‏‎‎‏‎‎‏‎‏‏‎‏‏‏‎‏‏‏‎‎‏‏‏‏‎‏‏‏‏‎‎‏‎‏‏‏‏‎‏‏‏‏‏‎‎‎Install certificates from SD card‎‏‎‎‏‎"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‏‎‏‏‏‎‏‏‏‏‎‎‎‎‏‏‏‎‎‎‎‎‎‏‎‏‎‏‎‎‎‎‎‏‎‏‎‎‎‏‏‎‏‏‎‏‎‎‎‏‏‎‏‎‏‏‏‏‎Clear credentials‎‏‎‎‏‎"</string>
@@ -2615,6 +2649,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‏‎‏‎‎‏‎‏‎‎‎‏‏‏‏‏‎‎‏‎‎‎‎‎‏‎‎‏‎‏‎‏‏‎‎‎‏‏‎‏‎‏‏‏‎‎‎‎‎‏‏‏‏‎‎‎‎‏‎Credential storage is erased.‎‏‎‎‏‎"</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‏‎‎‎‎‏‏‏‎‏‎‎‎‎‏‏‏‎‎‏‏‏‏‏‏‎‎‏‏‏‏‏‏‏‎‎‏‎‏‎‏‎‏‏‎‎‎‏‏‏‏‎‎‏‏‏‏‏‎Credential storage couldn’t be erased.‎‏‎‎‏‎"</string>
     <string name="usage_access_title" msgid="1580006124578134850">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‎‏‏‏‏‎‏‏‎‏‎‏‎‎‏‏‏‏‎‎‏‏‎‎‏‎‏‏‏‏‎‏‏‎‎‏‏‎‏‎‏‏‏‏‎‏‏‎‏‏‎‏‎‎‎‎‏‎‎Apps with usage access‎‏‎‎‏‎"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‎‏‎‏‏‎‎‎‏‏‏‎‏‏‏‏‎‎‎‏‎‏‏‎‏‏‎‎‎‏‏‎‏‎‎‏‎‎‏‏‏‏‏‏‎‎‎‏‏‎‏‏‏‏‎‏‏‎CA certificate‎‏‎‎‏‎"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‏‏‏‎‏‏‎‏‏‏‎‎‏‎‎‏‏‏‎‏‎‏‎‏‎‎‎‏‏‏‎‏‏‎‎‏‏‎‏‎‎‏‏‎‎‎‎‎‏‏‎‏‎‎‎‎‏‎‎VPN &amp; app user certificate‎‏‎‎‏‎"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‎‏‎‏‏‎‏‏‏‎‏‎‏‏‏‎‏‎‎‎‏‎‏‎‎‎‎‏‎‏‏‏‎‏‏‎‏‏‎‏‎‏‏‎‎‏‎‏‏‎‎‎‏‎‎‎‏‏‎Wi‑Fi certificate‎‏‎‎‏‎"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‎‎‎‏‏‎‎‏‏‏‎‏‎‏‎‎‏‏‎‎‏‎‎‏‏‏‏‎‏‎‏‏‎‎‎‏‏‏‏‏‏‎‏‏‎‎‏‎‎‎‎‎‏‎‎‏‏‎Your privacy is at risk‎‏‎‎‏‎"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‏‎‎‎‎‏‏‎‏‏‎‏‎‎‏‏‏‏‎‎‎‎‏‏‏‎‎‏‎‎‏‎‎‎‎‎‏‎‏‎‎‏‎‏‎‏‎‎‎‏‎‎‎‏‎‎‎‎‎CA certificates are used by websites, apps, and VPNs for encryption. Only install CA certificates from organizations you trust. ‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎ If you install a CA certificate, the certificate owner could access your information, such as passwords, messages, or credit card details, from websites you visit or apps you use - even if that information is encrypted.‎‏‎‎‏‎"</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‎‎‏‎‏‎‏‎‎‎‎‏‎‎‏‏‎‎‎‎‏‎‏‎‎‎‎‎‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‎‎‏‏‎‏‎‏‏‎‏‏‏‎‏‎Don’t install‎‏‎‎‏‎"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‎‎‏‏‏‏‏‎‏‏‏‏‎‎‎‏‎‏‏‏‎‏‏‏‏‏‏‎‎‏‎‏‏‎‎‎‏‎‏‎‎‎‎‏‏‏‏‏‏‎‏‏‎‏‎‏‎‎‎Install anyways‎‏‎‎‏‎"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‏‎‏‎‏‎‏‎‎‎‏‏‏‏‏‎‏‎‎‏‎‏‏‎‎‎‏‏‏‏‎‏‎‎‎‎‎‎‎‎‏‏‏‏‏‎‎‏‏‏‏‏‏‏‎‏‎‎Certificate not installed‎‏‎‎‏‎"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‎‏‎‎‏‏‎‏‏‏‎‏‎‏‏‎‏‏‏‏‎‏‏‎‎‏‎‏‏‏‏‏‎‏‏‏‎‏‏‏‎‎‎‎‏‏‏‎‏‏‏‏‏‎‎‎‎‎Emergency dialing signal‎‏‎‎‏‎"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‎‏‏‏‏‏‎‎‎‎‎‎‎‏‎‏‏‎‎‏‎‎‏‏‏‎‎‏‏‏‏‏‏‎‏‏‎‎‎‎‏‎‏‎‏‏‎‏‎‏‎‎‏‏‏‎‎‎Set behavior when an emergency call is placed‎‏‎‎‏‎"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‎‏‎‏‎‏‎‏‎‏‎‎‎‎‎‏‎‏‎‏‏‏‎‎‎‏‏‎‏‏‎‎‎‏‎‎‎‎‏‏‏‎‏‏‎‏‎‏‎‎‏‎‏‏‎‎‎‏‎Backup‎‏‎‎‏‎"</string>
@@ -2642,10 +2684,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‎‏‏‏‎‏‎‎‏‏‎‎‎‎‎‎‏‎‎‎‏‏‏‎‎‏‏‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‎‎‎‎‎‏‏‎‏‎‎‏‏‏‎Deactivate &amp; uninstall‎‏‎‎‏‎"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‎‎‎‏‎‏‏‎‎‎‏‏‎‎‎‎‏‎‎‎‎‎‏‏‎‏‏‎‏‏‏‎‎‏‏‏‎‎‎‏‎‎‏‏‏‎‏‎‏‏‎‎‏‏‎‏‏‎‎Device admin apps‎‏‎‎‏‎"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‏‏‎‏‎‏‏‎‏‏‎‏‎‎‏‎‏‎‎‎‏‏‎‏‏‎‏‎‏‎‎‏‎‏‎‎‎‎‎‏‎‏‎‎‏‏‏‏‏‏‏‎‏‎‏‏‏‎‎No device admin apps available‎‏‎‎‏‎"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‎‎‎‎‏‎‏‏‏‎‎‏‎‎‏‏‎‎‎‎‏‏‏‎‏‏‎‏‎‏‏‎‏‏‏‏‎‏‎‎‎‏‎‏‏‏‎‎‏‎‏‏‏‎‏‏‎‏‎Personal‎‏‎‎‏‎"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‏‏‎‎‏‏‎‏‎‏‏‏‎‏‏‎‎‏‏‏‎‏‎‎‎‎‏‎‎‏‏‏‏‏‎‏‎‎‏‎‎‏‎‏‏‏‏‏‎‎‏‏‏‎‏‎‏‎‎Work‎‏‎‎‏‎"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‏‎‏‏‏‎‎‎‏‎‎‎‏‎‏‏‏‏‏‏‎‎‎‏‏‎‎‏‎‎‏‏‎‏‎‏‎‎‏‎‏‏‎‏‎‎‏‏‏‎‎‎‎‏‎‏‏‎‎Restrict SMS &amp; call log access‎‏‎‎‏‎"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‏‏‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‏‏‏‎‎‎‎‎‎‏‏‎‏‎‏‎‏‏‎‏‏‏‎‏‎‏‏‏‏‏‎‏‏‎‏‎‎‎‎‎‏‎Only default phone and messaging apps have SMS &amp; call log permissions‎‏‎‎‏‎"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‎‎‎‏‎‏‎‏‏‎‏‎‎‏‏‎‎‎‏‏‎‏‎‎‏‏‏‎‎‏‏‏‎‎‎‏‎‏‏‎‎‎‎‏‏‎‏‏‎‎‏‏‏‎‎‎‎‎No available trust agents‎‏‎‎‏‎"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‏‎‏‎‎‎‏‏‎‏‎‎‎‎‎‎‎‎‎‎‎‎‏‎‎‏‏‏‎‎‏‏‎‏‏‏‎‎‏‎‏‎‎‏‏‏‎‏‏‎‎‎‎‎‏‏‏‎Activate device admin app?‎‏‎‎‏‎"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‏‎‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‎‎‎‎‎‎‏‏‏‏‏‎‏‏‎‏‏‎‎‎‏‏‏‏‏‏‏‏‏‎‎‎‏‎‏‏‎‎‏‏‏‎Activate this device admin app‎‏‎‎‏‎"</string>
@@ -2659,6 +2697,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‎‎‏‎‏‏‎‏‏‏‎‏‎‎‎‏‏‏‎‏‏‏‏‎‏‏‎‎‏‏‎‎‎‏‎‏‎‎‎‏‎‏‏‎‎‏‎‏‎‏‎‎‏‎‏‎‏‏‎Other options are disabled by your admin‎‏‎‎‏‎"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‎‏‏‏‏‎‏‎‏‏‎‎‏‎‏‏‎‎‎‎‎‎‏‏‎‎‏‎‏‏‎‏‏‎‎‏‏‎‎‎‎‎‎‏‎‏‎‎‏‎‏‎‏‎‏‎‏‎More details‎‏‎‎‏‎"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‏‏‎‎‎‎‏‎‎‎‎‏‎‏‏‎‎‎‎‎‏‏‎‎‎‏‎‎‎‎‏‏‏‎‏‎‎‏‏‏‎‎‏‎‏‎‏‎‏‎‏‎‏‏‏‎‏‏‎Notification log‎‏‎‎‏‎"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‏‎‎‏‏‎‏‎‏‎‏‎‏‏‎‏‎‎‎‎‏‎‏‎‎‏‏‏‏‏‎‏‏‏‏‏‎‎‏‏‎‎‏‏‎‏‎‏‏‏‎‎‎‏‏‏‎‏‎Notification history‎‏‎‎‏‎"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‏‏‏‎‎‏‏‎‎‏‎‏‏‏‎‏‏‏‎‎‎‏‎‏‎‏‎‎‎‏‎‎‏‏‎‎‏‏‎‎‎‎‎‏‏‏‎‏‎‏‎‎‏‎‏‏‏‎Today‎‏‎‎‏‎"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‏‎‎‏‏‏‏‎‏‏‏‎‏‎‎‏‎‎‏‎‏‎‎‎‏‏‎‎‎‏‎‎‎‏‎‎‎‏‏‎‎‏‏‏‏‏‏‏‏‏‎‎‎‎‎‎‏‎Snoozed‎‏‎‎‏‎"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‎‏‏‏‎‎‎‏‎‎‏‏‏‎‏‎‎‏‎‏‏‎‎‏‏‏‎‎‎‎‎‏‏‏‎‏‏‏‏‏‎‏‎‏‎‏‏‏‎‏‏‎‏‎‎‏‏‎‎Recently dismissed‎‏‎‎‏‎"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="other">‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‎‏‏‏‎‎‏‏‎‏‏‎‎‏‎‎‏‏‏‏‎‎‎‎‏‎‏‎‎‏‎‎‏‎‏‏‏‎‎‏‎‏‎‏‎‎‏‎‏‏‏‎‎‎‎‏‏‏‎‎‏‎‎‏‏‎<xliff:g id="NUMBER_1">%d</xliff:g>‎‏‎‎‏‏‏‎ notifications‎‏‎‎‏‎</item>
+      <item quantity="one">‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‎‏‏‏‎‎‏‏‎‏‏‎‎‏‎‎‏‏‏‏‎‎‎‎‏‎‏‎‎‏‎‎‏‎‏‏‏‎‎‏‎‏‎‏‎‎‏‎‏‏‏‎‎‎‎‏‏‏‎‎‏‎‎‏‏‎<xliff:g id="NUMBER_0">%d</xliff:g>‎‏‎‎‏‏‏‎ notification‎‏‎‎‏‎</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‏‎‎‎‏‎‏‎‎‎‏‎‏‎‎‎‎‏‎‏‏‏‏‏‎‎‎‎‎‎‎‏‏‏‎‎‏‎‏‎‏‏‏‎‎‎‎‎‎‏‏‎‎‎‎‎‎‎‎Call ringtone &amp; vibrate‎‏‎‎‏‎"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‏‏‏‏‏‎‏‏‏‏‎‏‎‎‎‎‎‎‏‏‎‎‏‎‏‏‎‏‎‏‏‎‎‎‏‏‏‎‎‎‎‏‏‎‎‎‏‏‎‎‏‎‏‎‎‏‏‎‎Network details‎‏‎‎‏‎"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‎‏‏‎‏‎‏‏‎‎‏‏‏‎‎‎‎‎‎‏‎‎‎‎‏‏‎‏‎‎‏‏‎‎‎‎‎‏‏‎‎‎‎‎‎‏‎‏‏‏‏‏‏‎‎‎‎‏‎Sync enabled‎‏‎‎‏‎"</string>
@@ -3008,7 +3054,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‏‏‏‎‎‏‎‏‏‎‎‏‏‎‎‏‎‏‏‎‏‏‎‎‎‎‎‏‏‏‏‏‏‏‎‎‏‎‎‎‏‎‏‎‏‎‎‎‏‏‎‏‎‎‏‏‎‏‎Restrictions‎‏‎‎‏‎"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‎‏‏‎‏‎‎‏‎‎‏‏‏‏‎‎‏‏‏‎‎‏‏‎‎‎‎‏‏‏‎‎‎‎‎‏‏‏‏‎‏‎‎‎‏‏‎‎‎‎‎‎‎‏‏‏‏‎‎‎Remove restrictions‎‏‎‎‏‎"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‎‏‏‎‎‎‏‏‎‏‏‎‏‎‎‏‏‏‏‏‏‏‏‎‎‎‏‎‎‏‎‎‏‏‎‏‎‎‏‎‎‏‎‎‏‏‏‎‎‎‏‎‎‎‏‏‎‎Change PIN‎‏‎‎‏‎"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‎‏‏‏‏‏‏‎‎‎‏‎‎‏‏‎‏‏‎‏‏‎‎‎‏‎‏‎‎‏‏‏‏‏‏‎‏‏‏‏‏‎‎‏‏‎‏‏‏‏‎‏‎‏‏‎‏‎Show notifications‎‏‎‎‏‎"</string>
     <string name="help_label" msgid="2896538416436125883">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‎‎‎‏‏‎‎‏‎‏‎‎‏‎‎‏‎‎‏‎‏‎‏‏‏‏‏‎‏‏‏‎‏‏‏‏‏‎‎‏‎‏‎‏‎‎‎‎‎‏‎‏‏‏‎‏‏‎Help &amp; feedback‎‏‎‎‏‎"</string>
     <string name="support_summary" msgid="1034146931237148885">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‏‎‎‏‎‏‏‎‏‎‎‎‎‎‎‏‏‏‎‎‏‎‎‏‏‏‏‎‏‎‎‎‎‏‏‏‏‏‎‎‏‏‎‏‎‏‏‎‎‎‏‏‎‏‎‏‎‏‎Help articles, phone &amp; chat, getting started‎‏‎‎‏‎"</string>
     <string name="user_account_title" msgid="6389636876210834864">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‎‎‏‎‏‎‏‏‎‎‏‎‎‎‏‏‎‎‏‏‏‎‎‎‏‎‏‎‎‏‏‎‏‎‎‏‎‎‏‎‎‎‏‎‎‎‏‏‎‏‏‎‏‏‎‎‎‎‎Account for content‎‏‎‎‏‎"</string>
@@ -3033,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‏‏‎‏‎‏‎‏‎‎‏‏‏‏‏‏‎‎‎‏‎‏‏‏‏‎‎‏‏‏‏‏‎‏‏‏‎‏‏‎‎‏‎‎‏‏‏‎‏‎‏‎‎‏‎‎‏‏‎4G Calling‎‏‎‎‏‎"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‏‎‎‎‎‎‏‎‎‏‏‏‎‏‏‏‎‏‎‎‎‏‎‏‏‎‎‏‎‎‏‎‏‏‎‏‏‎‎‏‎‏‏‎‎‎‎‎‎‎‎‏‏‎‏‎‎‎‎Use LTE services to improve voice and other communications (recommended)‎‏‎‎‏‎"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‎‎‎‏‏‏‎‎‎‎‏‏‏‎‏‏‎‏‎‎‏‎‎‏‎‎‏‎‏‏‏‏‏‎‎‎‏‎‎‏‏‎‏‏‏‏‏‎‎‎‎‏‏‏‎‎‎‎‎Use 4G services to improve voice and other communications (recommended)‎‏‎‎‏‎"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‎‎‏‎‎‏‎‏‎‎‎‏‏‎‎‎‎‏‎‏‏‎‎‎‎‏‏‏‏‎‏‏‎‏‎‏‏‎‏‎‏‏‎‏‎‏‏‎‏‎‎‎‏‎‏‏‎‎‎Contact discovery‎‏‎‎‏‎"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‎‎‏‏‏‏‎‏‎‏‎‏‏‏‎‎‎‎‏‎‏‏‏‏‎‏‎‎‏‏‎‎‏‎‎‎‏‎‏‏‎‎‎‏‎‎‎‏‏‎‎‎‎‎‎‏‎‎‎Allows your carrier to discover which calling features your contacts support.‎‏‎‎‏‎"</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‏‏‎‎‏‎‎‎‎‏‎‏‏‎‎‎‏‎‎‎‏‎‏‎‎‏‏‎‏‏‎‏‏‎‎‎‏‎‏‎‎‏‏‏‎‎‎‏‎‏‎‏‎‏‏‏‏‏‎Enable contact discovery?‎‏‎‎‏‎"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‎‎‎‏‎‏‎‎‏‎‎‎‏‏‏‎‎‏‎‏‎‏‎‏‏‎‎‏‎‎‏‎‏‏‏‎‏‏‏‎‎‏‎‏‏‎‎‏‎‎‎‏‏‏‎‎‏‏‎Enabling this feature will allow your carrier access to phone numbers in your contacts in order to discover which calling features they support.‎‏‎‎‏‎"</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‏‏‎‏‎‎‎‏‏‎‏‎‎‏‏‏‎‏‎‏‏‏‏‏‎‎‎‎‎‎‎‎‎‏‏‎‎‎‏‏‏‎‏‎‏‏‏‏‏‎‏‎‎‎‏‎‎‏‎Preferred network type‎‏‎‎‏‎"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‏‏‏‏‎‏‏‏‏‎‎‏‎‏‏‎‏‏‏‏‏‎‏‎‎‏‏‎‎‎‏‎‏‎‏‏‏‎‏‏‏‎‎‏‏‏‏‎‎‏‎‏‏‎‏‎‏‎LTE (recommended)‎‏‎‎‏‎"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‏‏‏‏‎‏‏‏‎‏‏‏‏‏‎‎‎‎‏‏‎‎‎‎‎‏‎‏‏‎‎‎‎‎‎‎‏‎‏‏‎‏‎‎‎‎‎‎‎‏‏‎‏‏‏‎‎‎MMS messages‎‏‎‎‏‎"</string>
@@ -3077,7 +3126,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‎‎‏‏‎‏‏‎‎‎‎‏‎‏‎‎‎‎‎‏‎‎‎‏‏‎‏‎‏‏‎‎‏‎‎‏‎‎‏‏‏‏‎‏‎‎‎‎‎‎‎‏‏‎‏‏‎‎‎Call with‎‏‎‎‏‎"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‏‎‎‎‎‎‏‎‎‎‏‎‎‎‏‏‎‎‏‏‏‎‎‏‎‎‎‎‎‎‏‏‏‎‎‎‎‏‎‎‏‏‏‎‏‎‏‏‏‎‏‎‎‎‏‎‏‎Select a SIM card‎‏‎‎‏‎"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‏‏‎‏‎‎‎‎‎‎‎‎‎‎‎‎‎‏‏‎‎‎‎‏‎‏‎‎‏‏‏‏‏‏‏‏‏‎‏‏‎‏‏‏‏‏‎‏‏‏‎‏‎‎‏‎‏‎SIM ‎‏‎‎‏‏‎<xliff:g id="CARD_NUMBER">%1$d</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‎‏‎‏‏‎‏‎‎‏‎‏‏‏‎‎‏‏‎‎‎‏‎‏‎‏‎‏‏‏‏‏‏‎‏‎‏‎‎‎‏‎‏‎‎‎‎‏‎‎‎‏‎‏‏‏‏‎‎SIM empty‎‏‎‎‏‎"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‎‏‏‏‏‎‎‎‎‏‏‎‏‎‎‏‎‎‏‎‏‎‏‎‏‎‎‏‏‎‎‎‎‎‎‏‎‏‎‎‎‎‎‎‎‎‏‎‏‏‏‎‏‏‏‏‎‏‎SIM name‎‏‎‎‏‎"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‎‎‎‏‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‎‎‎‎‎‏‏‎‎‎‎‏‏‏‏‏‏‏‎‎‎‎‏‏‏‏‏‎‏‏‎‏‎‏‏‏‏‏‎Enter SIM name‎‏‎‎‏‎"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‎‎‎‎‏‏‎‏‏‎‎‎‏‏‎‎‏‎‎‎‎‏‏‎‏‏‎‎‏‎‏‏‎‎‎‎‎‏‏‎‏‏‎SIM slot %1$d‎‏‎‎‏‎"</string>
@@ -3087,6 +3135,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‎‏‎‎‎‎‏‏‏‎‎‏‎‎‎‎‏‏‏‎‎‎‎‎‏‏‎‎‎‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‏‏‏‏‏‏‏‎‏‏‎‎‏‎Select SIM card‎‏‎‎‏‎"</string>
     <string name="color_orange" msgid="216547825489739010">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‎‏‏‎‎‎‎‎‎‎‏‎‏‎‏‎‏‎‏‎‎‎‏‏‎‎‏‏‎‎‏‎‏‏‏‎‎‏‏‎‎‏‎‏‏‏‏‏‏‎‏‎‎‎‎‎‎‏‎‎Orange‎‏‎‎‏‎"</string>
     <string name="color_purple" msgid="6603701972079904843">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‏‏‎‏‎‎‏‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‏‎‎‏‎‏‎‏‎‎‎‎‏‎‏‏‏‏‎‏‎‎‎‏‎‎‎‎‏‎‎‏‎‏‏‎Purple‎‏‎‎‏‎"</string>
+    <string name="color_pink" msgid="8596872110888626708">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‏‏‎‏‎‎‏‏‏‎‎‎‏‏‏‎‎‏‏‎‏‎‎‎‏‎‏‏‏‏‏‏‎‎‏‏‏‏‏‎‏‎‏‎‏‎‏‎‏‎‎‎‎‏‎‏‎‎‎Pink‎‏‎‎‏‎"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‎‎‏‏‏‎‏‏‎‏‏‏‎‏‏‏‎‎‎‎‎‏‏‎‎‏‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‏‏‎‏‎‎‎‏‎‏‎‏‎‎‏‏‏‎No SIM cards inserted‎‏‎‎‏‎"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‎‏‏‏‏‎‎‎‏‎‏‏‏‎‏‏‏‎‎‎‏‎‏‎‎‏‎‎‎‎‏‏‎‎‏‏‎‏‏‎‎‏‎‎‏‎‎‏‎‎‎‎‎‎‏‏‏‎‎SIM status‎‏‎‎‏‎"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‎‎‏‏‏‎‏‎‏‏‎‎‎‎‏‏‎‎‏‏‏‏‏‎‏‎‎‏‏‎‏‏‎‎‏‎‏‎‎‎‎‎‎‎‎‎‎‎‏‏‎‎‎‎‎‎‏‎SIM status (sim slot %1$d)‎‏‎‎‏‎"</string>
@@ -3100,7 +3149,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‎‎‎‏‏‏‎‎‏‎‎‎‏‎‏‏‎‏‏‎‎‏‏‎‎‎‎‎‎‏‏‎‏‏‏‎‏‏‎‎‏‎‏‎‎‏‎‎‏‏‎<xliff:g id="DBM">%1$d</xliff:g>‎‏‎‎‏‏‏‎ dBm ‎‏‎‎‏‏‎<xliff:g id="ASU">%2$d</xliff:g>‎‏‎‎‏‏‏‎ asu‎‏‎‎‏‎"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‎‎‎‎‎‏‏‏‎‏‎‏‏‏‎‏‎‏‏‎‏‏‏‏‎‏‎‏‏‎‏‎‏‏‏‏‏‏‎‏‏‏‎‎‏‎‏‎‎‎‎‏‏‏‎‏‎‎‎SIM cards changed.‎‏‎‎‏‎"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‎‏‏‎‎‏‏‏‏‏‏‎‎‎‏‎‎‎‏‏‏‏‎‏‎‎‏‎‎‏‎‏‏‏‎‎‏‎‏‎‏‏‎‎‏‎‎‎‏‏‏‏‏‎‎‏‏‏‎Tap to set up‎‏‎‎‏‎"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‎‎‏‏‎‏‏‎‏‎‎‎‎‏‏‏‎‎‏‎‎‏‏‏‏‎‏‏‏‏‎‏‎‎‎‏‏‏‏‎‏‏‏‏‏‎‎‏‏‏‏‏‎‏‏‏‎‎‎Preferred SIM for‎‏‎‎‏‎"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‎‏‎‏‏‎‏‏‎‎‎‏‎‏‎‏‎‏‏‏‎‏‏‎‏‎‏‎‏‏‏‏‏‎‏‎‏‏‎‎‏‏‏‏‎‏‏‏‏‎‏‎‎‏‏‎‏‎Ask every time‎‏‎‎‏‎"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‎‏‏‎‎‏‏‎‏‏‎‎‎‏‏‏‎‏‏‎‏‎‏‎‎‎‏‎‏‎‎‎‎‎‏‏‏‏‏‏‎‏‎‏‎‏‏‎‏‎‎‏‏‏‏‎‏‏‏‎Selection required‎‏‎‎‏‎"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‎‎‎‏‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‎‎‏‎‏‏‏‏‏‏‎‎‎‎‎‏‏‏‎‏‎‏‏‏‎‎‎‎‎‎‎‎‎‎‎‎‏‎‎‎SIM selection‎‏‎‎‏‎"</string>
@@ -3118,6 +3166,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‎‎‏‏‏‎‏‎‏‎‏‏‏‎‎‎‎‏‏‎‏‏‏‏‎‏‏‎‏‎‎‏‎‏‎‎‏‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‎‎‏‎‎‎‎Bluetooth, driving mode‎‏‎‎‏‎"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‏‏‎‏‎‎‏‏‏‎‏‏‎‎‏‏‎‏‎‏‎‏‎‏‎‎‎‎‏‎‏‎‏‏‏‏‎‎‎‏‏‏‎‏‎‏‎‎‎‎‎‏‏‏‏‎‏‏‎Bluetooth, NFC‎‏‎‎‏‎"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‎‎‏‎‎‏‏‏‏‎‏‎‏‎‏‏‏‎‏‎‏‎‏‏‎‏‎‎‏‏‎‎‏‎‎‎‎‎‏‎‏‎‎‏‎‎‏‏‏‎‏‎‏‎‎‎‎‎Bluetooth‎‏‎‎‏‎"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‎‏‏‎‎‏‎‎‎‎‎‎‏‏‏‎‏‏‎‏‎‏‎‎‎‎‏‏‏‎‎‎‏‎‎‏‏‏‎‎‎‏‏‎‎‏‎Unavailable because NFC is off‎‏‎‎‏‎"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‏‏‏‎‏‏‎‏‏‏‎‎‎‏‎‏‏‏‎‏‎‎‏‎‎‎‎‎‏‏‎‎‎‎‎‏‎‎‎‎‎‎‎‎‏‎‎‎‎‏‎‏‏‎‏‏‏‏‎Apps &amp; notifications‎‏‎‎‏‎"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‏‏‏‎‏‎‏‏‏‏‎‎‎‏‏‏‎‏‎‎‎‎‏‏‏‏‎‏‎‏‏‏‏‎‏‎‏‎‏‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‎‏‎‎Recent apps, default apps‎‏‎‎‏‎"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‎‎‎‏‎‏‎‎‏‏‎‎‎‎‏‎‏‎‎‏‏‏‏‏‎‎‎‎‏‎‎‎‏‎‏‎‏‎‎‏‎‎‎‏‏‎‏‎‏‎‎‎‏‏‎‏‏‏‎Notification access is not available for apps in the work profile.‎‏‎‎‏‎"</string>
@@ -3128,13 +3177,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‏‎‏‎‏‎‎‎‏‏‎‏‏‎‎‏‎‎‎‎‏‏‎‎‏‏‎‎‏‎‎‏‏‎‎‎‎‎‏‏‎‏‎‎‎‏‎‎‏‎‎‏‎‎‎‏‎‏‎Settings‎‏‎‎‏‎"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‎‏‎‎‏‏‎‎‎‏‏‏‎‎‏‏‏‏‎‎‏‏‏‎‎‎‏‎‏‎‎‎‏‏‏‏‎‏‎‎‏‏‏‎‎‏‏‏‎‎‏‎‎‎‎‎‏‎‎wifi, wi-fi, network connection, internet, wireless, data, wi fi‎‏‎‎‏‎"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‏‎‏‎‏‎‏‎‎‎‎‎‎‏‎‏‎‏‎‎‎‏‏‎‏‎‎‎‎‏‎‏‏‎‎‏‎‏‏‎‏‎‎‎‏‎‎‎‏‎‎‎‎‏‏‎‎‎Wi‑Fi notification, wifi notification‎‏‎‎‏‎"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‏‎‏‏‏‏‎‏‏‏‎‏‎‏‏‎‏‎‎‏‎‎‏‎‏‎‎‏‎‎‏‏‏‏‏‏‎‏‎‏‏‎‏‏‎‏‏‎‏‎‏‎‎‎‏‎‏‎data usage‎‏‎‎‏‎"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‎‎‎‏‎‎‏‎‎‏‏‎‎‎‎‎‎‎‎‏‏‎‏‏‎‎‏‏‏‎‎‎‏‏‎‏‏‏‏‎‎‎‎‎‎‏‏‏‎‎‏‎‎‏‎‏‎‏‎Stop vibration, tap, keyboard‎‏‎‎‏‎"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‏‎‏‎‏‏‏‎‏‎‏‎‏‎‏‎‎‏‏‏‏‎‎‎‏‏‎‏‏‎‏‏‏‏‎‏‏‎‎‎‎‏‎‏‎‎‏‎‏‏‎‎‏‎‎‏‎‎‎Use 24-hour format‎‏‎‎‏‎"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‏‎‏‎‎‏‎‏‎‏‏‎‏‎‏‎‎‎‎‏‏‏‏‏‎‏‎‏‏‏‎‏‎‎‎‏‏‏‎‏‏‎‎‏‎‎‎‎‎‏‎‏‏‎‏‏‏‎‎Download‎‏‎‎‏‎"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‎‏‎‎‏‎‏‏‏‎‎‏‏‏‎‎‎‎‏‎‎‎‏‏‎‏‏‎‏‏‎‏‎‏‏‎‏‎‎‎‏‏‏‏‎‎‏‏‏‏‏‏‎‎‎‏‎‎Open with‎‏‎‎‏‎"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‎‏‏‏‏‎‎‎‎‎‎‏‏‏‎‏‎‎‎‎‏‎‎‎‏‎‏‏‏‏‏‏‎‏‏‏‎‎‏‏‎‏‎‎‎‏‏‎‏‏‏‎‏‎‎‎‎‎‎Applications‎‏‎‎‏‎"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‎‎‏‏‎‏‏‎‏‏‏‎‏‏‏‏‎‏‎‎‎‎‏‏‎‎‏‎‏‎‎‏‎‏‎‎‎‏‏‎‏‏‎‏‏‏‎‎‏‏‏‏‏‏‏‏‏‏‎timezone‎‏‎‎‏‎"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‏‏‎‏‏‎‏‏‎‏‎‏‏‏‎‎‎‎‎‏‏‏‏‎‎‎‎‏‏‏‏‏‏‎‎‎‎‏‎‏‎‏‎‏‎‎‎‎‏‏‏‏‏‎‏‎‏‏‎Chat head‎‏‎‎‏‎"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‏‏‏‏‏‏‏‏‎‎‎‏‏‏‎‏‏‎‎‎‏‎‏‎‎‎‎‎‏‎‏‏‏‏‎‏‎‎‎‎‏‏‎‎‏‏‏‏‎‎‏‏‎‏‎‎‎‎Chat head, system, alert, window, dialog, display, on top other apps, draw‎‏‎‎‏‎"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‏‏‎‎‏‏‎‏‎‎‎‏‏‏‎‎‎‎‏‎‎‏‎‏‎‎‏‏‎‎‏‎‏‏‎‏‎‎‏‏‏‏‎‏‏‏‏‎‎‏‏‎‎‎‏‏‏‎Flashlight, Light, Torch‎‏‎‎‏‎"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‎‏‎‎‎‏‏‎‎‎‏‏‎‏‎‏‏‏‎‏‏‎‏‏‏‎‏‏‎‎‏‏‏‎‎‎‏‎‎‏‏‎‎‏‏‎‏‏‎‎‏‏‏‎‎‏‎‏‎wifi, wi-fi, toggle, control‎‏‎‎‏‎"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‎‏‏‎‎‏‎‏‏‎‏‎‏‎‎‎‎‎‏‎‎‏‏‎‏‎‏‎‏‏‏‏‏‏‎‎‏‎‎‏‎‎‎‎‎‎‎‎cellular, mobile, cell carrier, wireless, data, 4g,3g, 2g, lte‎‏‎‎‏‎"</string>
@@ -3158,7 +3208,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‎‎‏‏‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‎‎‏‏‏‏‎‏‎‏‎‎‏‏‎‏‏‏‏‎‎‎‏‏‎‏‎‏‎‎‏‏‏‏‎‎‎‏‏‎dont don’t disturb, interrupt, interruption, break‎‏‎‎‏‎"</string>
     <string name="keywords_app" msgid="7983814237980258061">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‏‎‏‏‎‎‏‏‎‎‎‎‏‏‎‏‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‏‏‏‎‎‎‎‏‎‎‏‏‏‎‏‏‏‏‎‎‎‎‏‏‎‏‎RAM‎‏‎‎‏‎"</string>
     <string name="keywords_location" msgid="8016374808099706213">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‏‏‎‎‏‏‏‏‏‏‏‏‏‎‎‎‏‎‎‏‏‎‏‎‏‎‎‏‎‏‎‏‏‏‎‎‏‎‏‏‎‎‎‏‎‏‎‏‎‏‎‏‏‎‎‏‎‏‎nearby, location, history, reporting, GPS‎‏‎‎‏‎"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‏‎‏‎‏‎‎‎‎‎‎‏‏‏‎‎‎‎‎‎‎‏‏‎‏‏‏‎‏‏‎‎‏‏‎‏‎‏‎‏‏‎‎‏‏‎‎‏‎‎‏‏‎‏‎‎‎‎account‎‏‎‎‏‎"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‎‎‎‏‎‏‎‎‏‎‏‎‏‏‏‏‎‎‎‏‏‎‎‎‎‎‏‏‏‏‎‎‏‏‏‎‏‏‎‎‎‎‏‎‎‏‏‎‎‎‏‎‎‏‎‏‎‏‎account, add an account, work profile, add account‎‏‎‎‏‎"</string>
     <string name="keywords_users" msgid="3497517660077620843">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‎‎‏‎‎‎‏‎‎‏‏‎‏‎‏‏‎‏‏‏‎‎‎‏‏‏‏‏‏‏‏‏‎‎‏‎‎‏‎‏‎‎‏‏‏‏‏‏‏‎‎‏‏‎‏‎‏‏‎restriction, restrict, restricted‎‏‎‎‏‎"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‏‏‏‎‎‏‎‏‏‏‏‎‎‎‏‎‎‎‎‎‏‏‎‏‎‎‎‎‎‎‎‏‎‏‎‏‎‎‎‏‏‏‎‎‎‎‎‎‎‏‏‎‎‏‎‏‎‎text correction, correct, sound, vibrate, auto, language, gesture, suggest, suggestion, theme, offensive, word, type, emoji, international‎‏‎‎‏‎"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‎‏‎‎‎‏‏‎‏‎‎‏‏‏‎‎‎‎‏‏‏‎‎‏‎‏‏‎‎‏‏‎‎‏‏‏‎‎‏‎‎‎‏‎‏‎‏‏‎‏‎‏‎‏‏‏‎‎reset, preferences, default‎‏‎‎‏‎"</string>
@@ -3196,6 +3246,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‏‏‏‎‎‎‎‏‏‏‎‏‎‎‎‏‎‏‏‏‎‏‎‎‎‏‏‎‏‏‎‎‏‎‏‎‎‏‎‎‎‎‏‏‏‏‎‎‎‎‏‎‏‎‏‎‏‎‎memory, cache, data, delete, clear, free, space‎‏‎‎‏‎"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‏‏‏‏‎‏‎‏‎‏‏‏‏‏‏‎‏‎‏‏‎‎‎‎‏‎‏‏‏‏‎‎‎‏‏‏‎‎‏‏‏‏‎‎‏‎‎‎‏‎‎‎‏‏‏‎‎‎connected, device, headphones, headset, speaker, wireless, pair, earbuds, music, media‎‏‎‎‏‎"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‏‎‎‏‎‏‎‎‎‏‎‎‏‎‎‏‏‎‎‎‎‎‎‎‎‏‏‎‏‏‎‏‎‏‎‏‏‎‏‏‏‏‏‎‏‎‏‎‎‏‏‎‏‎‏‏‏‎background, screen, lockscreen, theme‎‏‎‎‏‎"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‏‏‏‎‎‏‏‎‎‏‎‎‏‏‎‏‎‎‎‏‏‎‏‏‏‏‎‏‎‎‎‏‏‎‏‏‎‏‏‎‎‎‎‎‎‏‏‎‎‏‏‎‎‎‎‎‏‎‎icon shape, accent color, font‎‏‎‎‏‎"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‎‏‏‎‏‎‏‎‎‏‎‏‏‎‎‏‏‏‏‏‏‏‎‎‏‏‏‎‏‎‎‏‏‎‎‏‏‎‎‎‏‎‎‏‎‏‎‏‎‎‎‎‎‏‎‎‏‎default, assistant‎‏‎‎‏‎"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‏‏‏‎‏‎‎‏‎‎‎‎‏‎‏‎‏‎‏‏‎‏‏‎‏‏‎‎‏‎‏‎‎‎‎‏‏‎‎‏‎‏‎‏‎‎‏‎‎‏‏‎‏‏‏‎‎‎‎payment, default‎‏‎‎‏‎"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‏‏‎‏‏‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‏‏‏‏‎‏‏‏‏‎‏‏‏‏‎‏‎‎‏‏‎‎‏‎‏‎‏‎‏‏‏‎‎‎‏‎incoming notification‎‏‎‎‏‎"</string>
@@ -3205,18 +3256,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‏‏‎‎‏‎‎‏‏‎‏‏‏‎‎‏‎‎‏‏‏‎‏‎‎‎‎‏‎‏‎‎‏‏‎‏‏‏‎‎‏‎‏‏‏‏‎‎‎‎‎‏‎‎‏‏‏‏‎haptics, vibrate, sensitivity‎‏‎‎‏‎"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‏‎‏‏‎‏‏‎‎‎‎‏‏‏‎‎‏‎‏‎‏‎‎‏‎‏‎‏‏‏‏‎‎‏‏‎‏‏‎‏‎‎‏‎‏‏‏‏‏‏‎‎‎‎‎‏‏‎‎battery saver, sticky, persist, power saver, battery‎‏‎‎‏‎"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‎‎‏‎‏‏‏‎‎‎‎‎‏‎‏‎‎‎‏‏‏‏‎‏‎‎‏‏‏‎‏‎‏‎‏‎‏‏‎‎‎‎‏‎‏‏‏‎‎‏‏‏‏‏‎‏‎‎routine, schedule, battery saver, power saver, battery, automatic, percent‎‏‎‎‏‎"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‎‏‏‎‏‏‎‎‏‎‎‎‏‎‏‎‏‏‏‎‏‎‏‏‏‎‏‎‎‎‎‏‎‎‏‏‏‏‏‏‏‎‎‏‏‎‏‏‎‎‎‎‎‎‏‎‏‎‎work profile‎‏‎‎‏‎"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‎‏‎‎‏‎‎‏‎‎‏‏‎‏‏‎‎‎‎‏‏‎‎‎‎‏‏‏‏‎‎‏‏‎‎‎‎‏‏‎‎‏‏‎‎‏‏‏‏‎‎‏‎‏‎‎‏‎‎volte, advanced calling, 4g calling‎‏‎‎‏‎"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‏‎‎‎‏‎‎‎‎‎‏‏‏‎‎‎‎‎‎‏‎‏‎‏‎‏‎‎‎‏‏‎‏‎‎‏‎‏‏‎‏‏‏‏‏‎‎‏‎‏‎‏‏‎‏‏‎‎‎add language, add a language‎‏‎‎‏‎"</string>
     <string name="default_sound" msgid="6604374495015245195">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‏‏‎‏‎‎‏‏‏‎‏‏‏‎‎‏‏‏‎‎‏‏‏‎‎‏‎‎‏‏‎‏‏‎‎‎‎‏‎‎‎‏‎‎‏‎‏‎‏‏‎‎‎‏‎‏‏‎Default sound‎‏‎‎‏‎"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‏‎‏‎‎‏‏‎‎‏‏‏‏‏‏‏‏‎‏‎‎‎‏‎‏‏‏‎‏‏‏‏‏‎‏‏‎‏‎‏‎‏‎‎‏‎‎‎‎‎‎‏‎‏‏‏‎‎Ring volume at ‎‏‎‎‏‏‎<xliff:g id="PERCENTAGE">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‎‏‎‎‎‏‏‏‎‎‎‏‏‏‎‏‏‏‏‏‏‏‎‎‏‎‏‏‎‎‏‏‎‎‎‎‏‎‎‏‎‎‏‏‎‎‏‎‎‎‎‎‏‎‎‏‎‏‎Ring &amp; notification volume at ‎‏‎‎‏‏‎<xliff:g id="PERCENTAGE">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‏‎‎‏‏‏‏‎‏‎‎‎‏‏‏‏‎‏‎‏‏‏‎‎‎‏‏‏‎‏‎‎‎‎‏‏‎‎‏‏‎‏‎‎‎‏‏‏‎‏‏‏‏‎‎‎‎‎Volume, vibration, Do Not Disturb‎‏‎‎‏‎"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‏‏‏‏‎‎‏‏‏‏‏‏‏‎‏‎‎‏‎‎‎‏‏‎‏‏‎‏‎‎‎‏‏‎‏‏‎‏‏‎‎‏‎‎‎‎‏‎‎‎‏‎‎‏‏‎‏‎‎Ringer set to vibrate‎‏‎‎‏‎"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‏‎‎‏‎‏‏‏‎‎‏‎‏‎‏‏‎‏‏‏‎‏‏‎‏‏‎‎‎‎‏‏‎‏‏‏‏‎‎‏‏‎‏‏‏‏‏‏‎‏‎‏‏‏‏‎‎‏‎Ringer set to silent‎‏‎‎‏‎"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‏‏‎‎‏‏‏‎‏‏‎‎‎‎‏‏‏‏‎‏‎‎‏‏‏‏‎‏‏‎‎‎‎‏‏‎‎‎‏‏‏‎‎‎‏‏‎‏‏‏‏‏‎‎‎‏‎‎‎Ring volume at 80%‎‏‎‎‏‎"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‎‎‏‏‎‎‎‎‏‎‎‎‏‏‎‎‎‏‎‎‏‎‎‎‎‎‎‎‏‎‎‏‎‏‎‏‎‏‎‎‏‏‎‎‎‎‎‎‏‏‎‏‎‏‎‏‎‏‎Ring &amp; notification volume at 80%‎‏‎‎‏‎"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‏‎‏‏‎‎‏‏‎‏‏‎‎‎‎‎‏‏‏‎‎‎‎‏‎‎‎‎‏‏‎‎‎‏‎‎‏‎‏‎‎‏‎‎‎‏‏‏‏‏‏‎‏‎‏‏‏‎‎Media volume‎‏‎‎‏‎"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‏‏‎‎‏‎‏‎‎‏‏‎‎‎‏‏‏‏‎‏‏‎‎‏‎‎‏‎‏‏‎‎‎‎‏‏‎‎‎‎‎‏‏‎‏‏‎‏‎‎‎‏‎‎‏‎‎‎Cast volume‎‏‎‎‏‎"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‎‎‎‏‎‎‎‏‏‎‏‏‏‎‎‏‎‎‎‎‏‎‎‏‏‏‎‏‎‎‎‏‎‎‏‏‎‎‏‎‏‎‎‏‎‎‎‏‎‏‏‎‏‏‏‏‎‎‎Call volume‎‏‎‎‏‎"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‎‎‏‏‎‎‏‏‎‎‏‎‎‎‏‎‏‎‏‏‎‎‎‏‎‎‏‏‏‏‏‏‏‎‎‏‏‏‎‎‎‏‎‏‎‏‏‎‏‏‎‏‏‏‎‏‎‎‎Alarm volume‎‏‎‎‏‎"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‏‎‏‎‎‏‏‎‏‎‏‎‎‏‏‎‏‎‏‎‏‎‎‏‏‎‏‏‏‏‎‎‏‏‎‎‏‏‏‎‏‎‎‎‎‏‏‏‎‎‏‎‎‎‎‎‏‏‎Ring volume‎‏‎‎‏‎"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‎‏‎‎‎‏‏‎‏‎‏‏‏‏‏‎‎‏‎‏‏‎‎‎‏‎‏‎‏‎‏‏‎‏‎‏‏‏‎‎‏‎‏‎‎‎‎‏‎‏‎‏‏‎‎‎‎‎‎Ring &amp; notification volume‎‏‎‎‏‎"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‏‏‎‎‏‎‎‏‏‎‏‏‏‏‎‎‎‎‎‎‎‎‏‏‎‏‏‏‎‎‏‎‏‎‏‏‎‎‏‎‎‏‎‏‏‎‏‏‎‎‏‏‏‎‏‎‏‎‎Notification volume‎‏‎‎‏‎"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‎‏‎‏‏‎‎‏‏‎‏‎‎‎‏‎‎‏‎‏‎‎‎‏‎‏‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‎‎‏‏‎‎‎‎‎‏‎‎‏‏‎‎‎‎Phone ringtone‎‏‎‎‏‎"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‎‎‎‎‎‏‏‎‎‎‏‏‎‎‎‏‎‏‏‎‎‎‏‎‎‏‎‏‏‏‏‎‎‎‏‏‏‎‏‏‎‎‏‎‎‎‎‏‎‏‎‎‎‏‏‎‎‎‎Default notification sound‎‏‎‎‏‎"</string>
@@ -3224,6 +3276,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‏‏‏‏‎‎‎‏‎‏‎‎‏‎‏‏‎‎‏‏‏‏‎‏‏‏‎‏‏‎‎‎‎‎‏‎‏‎‎‎‏‏‎‏‏‏‏‎‏‎‎‏‎‏‏‎‏‏‎Default notification sound‎‏‎‎‏‎"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‎‏‎‏‏‎‏‏‎‏‏‎‏‎‏‎‎‏‎‏‏‏‏‎‏‏‎‎‎‎‏‏‏‎‎‏‎‎‎‎‏‏‏‏‎‏‏‎‏‏‏‏‏‎‏‏‎‎Default alarm sound‎‏‎‎‏‎"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‏‏‏‎‏‎‏‏‏‏‏‏‎‏‏‎‎‏‎‎‎‎‎‏‏‏‎‎‏‏‎‎‎‏‎‏‎‏‏‎‎‎‎‎‏‏‏‏‏‏‎‎‏‏‏‏‎‎‎Vibrate for calls‎‏‎‎‏‎"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‎‎‏‏‏‏‎‎‎‎‎‎‏‎‎‏‎‏‎‎‏‏‎‎‎‏‎‎‏‏‏‎‎‏‎‎‎‎‏‏‎‎‎‎‏‏‎‏‏‏‎‏‎‎‏‎‏‎Never vibrate‎‏‎‎‏‎"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‎‏‎‏‏‏‎‎‎‏‎‏‎‏‏‎‎‎‎‏‏‏‎‏‏‏‏‏‏‏‏‏‎‏‎‎‎‏‏‎‏‎‎‎‏‏‏‏‏‎‏‏‎‎‏‎‏‎‎Always vibrate‎‏‎‎‏‎"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‏‎‏‏‎‏‎‏‏‏‏‎‎‎‎‎‏‎‎‏‎‎‏‎‎‏‏‎‎‎‏‎‏‎‏‎‎‏‏‏‎‏‎‏‎‎‏‎‏‏‎‏‎‏‏‏‎‎‎Vibrate first then ring gradually‎‏‎‎‏‎"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‏‏‏‏‏‎‎‎‏‏‏‎‎‎‎‏‎‎‏‎‏‏‎‎‎‏‎‎‏‏‏‏‏‎‎‎‏‏‏‏‎‎‏‏‎‎‎‏‎‏‏‎‎‏‏‎‎‎‎Other sounds‎‏‎‎‏‎"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‎‏‎‎‎‏‎‏‎‏‏‏‎‎‎‎‎‏‎‎‎‎‏‎‏‏‎‎‎‎‎‎‎‎‏‎‎‏‎‏‎‎‎‏‎‏‎‏‎‏‏‎‎‎‏‏‎‎‎Dial pad tones‎‏‎‎‏‎"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‎‎‏‏‎‏‏‎‏‎‎‏‏‏‏‏‏‏‏‏‎‏‏‏‏‎‏‏‎‏‏‎‎‎‏‎‏‎‎‏‏‎‏‏‏‎‏‏‎‏‏‏‏‏‎‎‎‎‎Screen locking sounds‎‏‎‎‏‎"</string>
@@ -3247,6 +3302,7 @@
       <item quantity="one">‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‎‏‎‎‏‎‏‎‏‏‏‎‏‏‎‎‎‏‏‎‏‎‏‎‏‏‎‎‎‎‏‏‎‏‎‏‏‏‏‏‏‏‏‎‏‏‏‏‏‎‏‏‎‎‎‎‎‏‎1 enabled‎‏‎‎‏‎</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‎‏‎‏‏‏‏‎‎‏‎‏‎‏‏‎‏‎‏‏‏‎‎‏‎‎‏‏‏‎‏‏‎‎‏‎‎‏‎‎‎‏‎‏‎‏‏‏‏‏‎‏‏‏‎‎‏‏‎Do Not Disturb‎‏‎‎‏‎"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‏‏‏‏‎‏‎‏‎‏‎‏‏‏‎‏‎‎‏‎‏‏‎‎‎‎‎‎‏‏‏‏‏‏‎‏‏‎‏‎‏‏‏‏‏‏‏‎‎‎‏‏‎‏‎‏‏‏‎Only get notified by important people and apps‎‏‎‎‏‎"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‏‏‎‎‎‎‏‏‎‏‏‏‎‏‏‎‏‏‏‎‏‎‎‏‎‎‎‏‎‏‏‏‎‎‎‏‏‏‎‎‏‏‏‏‎‎‏‎‏‎‎‎‎‎‎‎‎‎‎Limit interruptions‎‏‎‎‏‎"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‎‎‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‏‎‏‎‎‎‏‎‏‎‏‏‏‎‎‎‎‏‏‎‏‎‏‎‏‏‏‏‎Turn on Do Not Disturb‎‏‎‎‏‎"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‎‏‏‎‏‏‎‎‏‎‎‎‎‎‎‎‏‎‎‏‎‏‏‎‏‏‏‎‏‏‎‏‎‏‎‏‏‏‎‏‎‏‏‏‏‏‎‏‎‏‎‏‎‏‎‏‏‎Exceptions‎‏‎‎‏‎"</string>
@@ -3273,7 +3329,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‏‎‎‏‏‏‏‏‏‏‏‏‎‎‎‏‏‏‎‏‏‎‏‏‏‎‎‏‎‏‏‎‎‏‏‎‎‏‏‎‏‎‎‎‏‎‎‎‏‏‎‎‏‏‎‏‎‎‎‎‏‎‎‏‏‎<xliff:g id="MODE">%1$s</xliff:g>‎‏‎‎‏‏‏‎: ‎‏‎‎‏‏‎<xliff:g id="EXIT_CONDITION">%2$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‎‎‎‏‎‏‎‏‎‏‎‎‏‎‎‎‎‎‎‏‎‏‏‏‏‏‏‎‏‏‎‏‏‎‎‎‏‎‏‎‏‏‏‏‏‎‏‏‏‎‎‏‏‏‏‏‏‎‎Block visual disturbances‎‏‎‎‏‎"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‏‏‎‎‏‎‎‏‏‏‏‎‎‏‏‎‎‎‏‎‏‎‎‏‎‎‎‎‏‎‏‏‎‏‎‎‎‎‏‎‎‎‎‏‏‎‎‏‏‎‎‏‎‎‎‎‎‎‎Allow visual signals‎‏‎‎‏‎"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‎‏‎‎‎‎‎‎‎‏‎‎‏‏‎‎‎‎‎‏‏‏‏‏‎‏‏‎‎‏‎‎‎‎‏‎‎‎‏‎‎‏‎‎‏‎‏‎‎‏‏‏‎‏‏‎‏‎‎When Do Not Disturb is on‎‏‎‎‏‎"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‎‎‏‎‏‎‏‎‏‎‎‏‏‎‎‏‎‎‏‏‏‏‏‎‏‏‏‏‎‏‎‏‏‎‏‏‎‏‎‎‏‎‏‏‏‏‏‎‎‎‎‏‎‏‎‏‏‏‎Allow interruptions that make sound‎‏‎‎‏‎"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‎‏‏‎‏‎‎‎‎‎‏‏‏‎‎‎‎‎‏‏‎‎‎‏‏‎‏‎‎‏‎‎‏‏‎‎‎‏‎‎‎‎‏‏‏‏‎‎‎‏‎‎‏‏‏‎‏‏‎Restrict notifications‎‏‎‎‏‎"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‎‏‏‎‏‏‏‏‏‎‎‎‎‎‏‎‎‏‏‎‎‏‎‏‎‎‎‏‎‎‎‎‏‎‏‎‏‎‏‎‏‏‎‏‏‏‏‎‎‏‎‏‎‏‏‏‏‎No sound from notifications‎‏‎‎‏‎"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‎‏‎‏‏‎‏‎‏‎‎‎‎‎‏‎‏‏‎‏‎‎‎‏‎‎‏‎‏‏‏‎‏‏‎‎‏‎‎‎‎‏‎‎‎‏‎‎‎‏‏‎‎‏‎‏‎‏‎You will see notifications on your screen‎‏‎‎‏‎"</string>
@@ -3304,7 +3360,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‎‏‏‎‏‎‎‏‏‎‎‎‎‏‏‏‏‏‎‏‏‏‎‎‎‎‏‏‎‏‏‎‏‎‏‏‎‎‏‎‏‎‎‏‎‏‎‏‎‏‎‎‎‏‎‏‎‏‎Sound and vibration‎‏‎‎‏‎"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‎‏‏‏‏‎‎‏‎‎‎‏‎‎‎‏‎‏‎‏‎‎‏‎‎‎‏‏‏‏‎‏‎‏‏‎‏‎‎‎‎‎‎‎‎‎‎‎‏‏‏‎‎‏‎‎‏‎‎Sound, vibration, and some visual signs of notifications‎‏‎‎‏‎"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‏‎‏‏‏‎‏‏‎‏‏‎‎‏‏‏‎‏‏‏‎‎‎‎‏‏‎‏‎‏‎‎‏‏‎‏‎‏‏‎‏‎‎‏‏‏‏‏‎‎‎‎‎‎‏‏‎‎Sound, vibration, and visual signs of notifications‎‏‎‎‏‎"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‏‏‎‎‎‎‎‏‎‏‏‎‎‎‎‎‏‏‏‎‏‏‎‎‎‎‎‎‎‎‎‎‎‏‎‏‏‎‏‏‎‎‏‎‎‎‏‎‎‎‎‏‏‏‎‏‎‏‎Notifications needed for basic phone activity and status will never be hidden‎‏‎‎‏‎"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‏‏‎‏‏‏‏‏‎‎‏‎‎‎‎‏‏‎‏‎‎‏‏‏‎‏‎‏‏‏‎‎‎‎‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‎‏‏‎‎‎Notifications needed for basic phone activity and status will never be hidden.‎‏‎‎‏‎"</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‎‏‏‏‏‎‏‏‎‏‏‏‎‎‎‏‎‏‎‏‏‎‎‎‎‎‎‎‏‏‏‎‎‎‏‏‎‎‎‎‎‎‏‎‎‎‎‏‏‎‏‎‎‏‎‎‎‏‎None‎‏‎‎‏‎"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‏‏‎‎‏‎‏‏‏‏‎‎‎‏‏‏‎‎‎‎‏‎‏‏‏‎‏‏‏‎‏‎‏‎‏‏‎‏‏‏‏‏‎‎‏‎‎‏‏‏‏‏‎‎‎‏‎‏‎other options‎‏‎‎‏‎"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‏‏‏‏‏‏‎‎‎‏‏‏‎‎‎‏‎‏‏‎‎‏‎‎‏‎‎‏‏‏‎‏‏‏‏‎‎‏‏‏‎‏‏‎‎‎‎‎‏‏‎‏‏‎‏‏‎‎Add‎‏‎‎‏‎"</string>
@@ -3334,10 +3390,12 @@
       <item quantity="other">‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‎‎‏‏‏‎‏‎‎‏‎‎‏‏‎‎‎‏‏‏‎‏‏‎‎‎‏‎‏‏‏‎‏‏‏‎‎‏‏‎‏‏‎‎‎‏‎‎‏‎‏‎‏‏‎‏‎‎‎‎‏‎‎‏‏‎<xliff:g id="ON_COUNT">%d</xliff:g>‎‏‎‎‏‏‏‎ schedules can turn on automatically‎‏‎‎‏‎</item>
       <item quantity="one">‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‎‎‏‏‏‎‏‎‎‏‎‎‏‏‎‎‎‏‏‏‎‏‏‎‎‎‏‎‏‏‏‎‏‏‏‎‎‏‏‎‏‏‎‎‎‏‎‎‏‎‏‎‏‏‎‏‎‎‎1 schedule can turn on automatically‎‏‎‎‏‎</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‎‏‏‏‎‏‏‎‎‎‏‎‎‎‎‏‏‎‏‏‎‏‏‎‎‏‏‏‏‏‏‎‏‎‏‏‎‏‏‎‎‏‎‎‏‎‎‏‎‏‎‎‏‏‏‏‏‎‎Mute device but allow exceptions‎‏‎‎‏‎"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‏‏‏‏‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‎‏‎‎‏‎‏‏‏‏‎‏‎‎‎‎‎‏‎‏‎‎‎‏‎‎‏‎‏‎‎‎‏‏‏‎‎‎‏‎Exceptions‎‏‎‎‏‎"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‎‎‏‏‏‎‎‏‎‏‎‏‎‎‏‎‏‏‎‏‎‏‎‏‎‎‏‎‎‎‎‎‎‏‏‎‏‏‎‏‎‏‏‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎Schedule‎‏‎‎‏‎"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‎‏‏‏‏‎‏‏‏‏‏‎‎‏‏‎‎‎‎‎‎‎‎‏‏‏‎‏‏‎‎‏‎‎‏‏‏‏‏‏‏‎‏‎‎‎‏‏‏‎‏‎‏‏‏‏‏‎‎See all exceptions‎‏‎‎‏‎"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‏‏‏‎‎‎‎‎‏‏‏‏‏‎‏‎‏‎‏‎‎‏‎‎‏‏‎‎‏‎‎‏‎‏‎‎‏‎‎‎‎‏‎‏‎‏‎‏‏‎‎‎‏‎‏‎‎‎‎Exceptions when Do Not Disturb is on‎‏‎‎‏‎"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‎‏‎‎‎‏‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‎‏‏‎‏‏‎‏‎‎‏‎‏‎‎‎‎‎‎‎‎‎‏‎‏‎‎‎‏‏‎‏‏‏‎People‎‏‎‎‏‎"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‎‎‎‏‏‎‎‏‏‎‏‎‏‏‎‎‎‏‏‏‏‎‏‏‎‏‏‎‏‎‏‏‏‎‏‏‎‏‎‏‏‏‎‏‏‏‏‎‏‏‏‎‏‎‏‎‏‎Apps‎‏‎‎‏‎"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‏‎‎‏‎‎‎‎‏‏‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‎‎‏‎‏‎‎‏‎‎‎‎‏‎‎‎‎‏‎‎‏‏‏‎‏‎‏‎‏‏‎Alarms &amp; other interruptions‎‏‎‎‏‎"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‏‏‏‏‎‎‏‏‏‎‏‎‎‏‏‎‎‏‎‎‎‎‏‏‏‎‏‎‎‎‏‎‎‎‎‏‏‏‎‎‏‎‎‎‏‏‎‎‎‎‏‎‏‎‎‏‎‎‎Schedules‎‏‎‎‏‎"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‏‏‏‏‏‎‎‏‏‎‎‎‏‎‏‏‏‏‎‎‏‏‏‎‎‏‏‎‏‏‏‎‏‏‎‏‎‏‎‎‏‎‏‎‏‎‏‎‏‎‏‏‏‎‏‏‏‏‎Silenced notifications‎‏‎‎‏‎"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‎‎‏‏‎‎‎‎‏‏‏‎‏‎‎‎‏‎‎‏‎‏‎‎‎‎‎‎‏‏‎‎‏‎‎‎‎‏‎‎‎‏‎‏‏‏‏‎‏‎‎‏‏‎‏‎‎‏‎When Do Not Disturb is on, sound and vibration will be muted, except for the items you allow above.‎‏‎‎‏‎"</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‎‏‏‏‎‏‎‏‎‏‎‏‎‏‏‏‎‎‏‏‏‏‏‎‎‏‎‏‎‏‎‏‏‏‏‎‎‎‏‏‎‏‏‎‎‎‏‎‏‏‏‎‎‎‏‏‎‎Mute all except‎‏‎‎‏‎"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‏‏‏‎‏‏‏‏‏‏‎‎‏‎‏‏‎‎‏‏‏‏‏‏‎‏‎‏‏‏‏‏‎‎‏‎‎‎‏‎‏‏‎‎‎‏‏‎‏‎‏‎‎‎‎‎‏‏‎Muted‎‏‎‎‏‎"</string>
@@ -3381,16 +3439,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‎‏‏‎‏‎‏‎‏‏‎‏‎‏‏‏‏‎‎‎‏‏‏‏‎‏‎‏‎‎‏‎‏‎‎‏‏‎‎‏‏‏‏‎‏‏‎‎‏‎‎‎‎‏‏‏‏‎Adaptive notifications‎‏‎‎‏‎"</string>
     <string name="asst_capability_prioritizer_title" msgid="1181272430009156556">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‎‎‏‏‎‎‏‎‎‏‎‏‏‏‎‎‏‎‎‎‎‎‏‎‎‎‎‏‏‎‏‎‏‏‎‏‎‏‎‎‎‏‎‎‎‎‎‏‏‏‏‎‎‏‏‎‎‎Adaptive notification priority‎‏‎‎‏‎"</string>
     <string name="asst_capability_prioritizer_summary" msgid="954988212366568737">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‎‏‎‏‎‎‎‎‎‎‏‏‎‎‏‏‎‎‏‎‏‏‏‎‎‎‎‎‏‎‏‎‏‎‏‏‎‎‏‎‏‏‎‏‏‎‏‏‎‏‎‎‏‎‎‎‎‏‎Automatically set lower priority notifications to Gentle‎‏‎‎‏‎"</string>
+    <string name="asst_capability_ranking_title" msgid="312998580233257581">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‎‎‎‏‎‏‎‏‏‏‏‏‏‏‏‏‏‎‏‎‎‎‏‏‎‎‏‏‏‎‎‏‏‎‎‎‎‎‎‎‎‏‎‏‎‎‎‎‏‎‎‏‏‎‏‏‎‏‎Adaptive notification ranking‎‏‎‎‏‎"</string>
+    <string name="asst_capability_ranking_summary" msgid="2293524677144599450">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‏‏‏‏‎‏‎‏‎‎‎‎‏‏‏‏‎‎‏‎‎‎‏‎‏‎‏‏‎‏‎‎‎‎‏‏‎‎‏‎‏‏‏‏‎‏‏‎‏‏‏‎‎‏‏‎‏‎‎Automatically rank notifications by relevance‎‏‎‎‏‎"</string>
     <string name="asst_capabilities_actions_replies_title" msgid="4392470465646394289">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‎‎‏‏‏‏‎‏‎‏‎‎‏‏‎‎‎‎‏‎‎‏‏‏‎‏‏‎‏‏‏‏‏‏‎‎‏‏‏‏‏‏‎‏‏‏‏‎‏‏‏‎‏‏‎‎‎‏‎Suggested actions and replies‎‏‎‎‏‎"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‎‏‏‏‎‎‎‏‏‎‏‏‎‎‎‎‏‎‏‏‏‎‏‎‎‏‎‏‏‎‏‎‏‏‏‎‎‎‏‎‎‎‏‏‎‎‏‏‏‎‎‎‏‎‏‏‏‏‎Automatically show suggested actions &amp; replies‎‏‎‎‏‎"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‏‎‏‎‏‎‏‎‏‎‎‏‎‎‎‎‏‎‎‎‏‎‎‏‏‏‎‏‏‎‏‏‏‏‎‎‏‎‏‎‏‎‎‎‏‏‎‎‏‎‏‏‏‎‏‏‎‏‎Turn on notification history to keep track of past notifications and snoozed notifications‎‏‎‎‏‎"</string>
+    <string name="notification_history" msgid="8663811361243456201">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‎‎‎‏‏‏‏‎‎‎‎‎‎‏‎‏‎‏‎‎‎‎‏‏‏‏‎‏‏‏‎‏‏‏‏‏‎‏‎‎‎‏‏‏‎‎‎‏‎‏‏‎‎‏‎‎‏‎Notification history‎‏‎‎‏‎"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‎‏‏‏‎‎‎‏‎‏‎‏‏‏‏‏‎‎‎‏‎‎‎‏‏‏‏‏‎‎‎‎‏‏‎‎‎‏‎‏‎‏‏‎‎‏‎‎‏‏‎‏‎‏‎‎‎‏‎Turn on history‎‏‎‎‏‎"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‏‏‎‎‏‎‏‏‏‎‏‎‎‎‎‎‎‏‏‏‎‎‎‎‎‎‎‎‏‎‎‏‏‎‎‏‎‎‎‎‏‎‏‎‎‎‏‎‎‎‎‏‏‏‎‎‎‎Turn off history‎‏‎‎‏‎"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‏‎‎‎‏‎‏‎‏‏‏‏‎‎‎‎‎‎‏‏‏‎‏‎‎‎‎‏‏‎‏‎‏‏‎‏‏‎‎‎‎‏‏‏‎‎‏‎‎‏‏‏‎‎‏‏‎‏‎Notification history is turned off‎‏‎‎‏‎"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‎‏‎‎‏‎‎‎‎‎‎‏‏‎‎‎‎‎‏‎‎‏‏‏‏‎‏‎‏‎‏‏‏‎‎‏‏‎‎‏‎‏‎‎‏‏‏‎‎‏‎‏‏‎‏‎‏‎‎view notification settings‎‏‎‎‏‎"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‏‎‏‎‎‎‏‏‏‎‏‏‏‏‏‏‏‏‏‏‎‎‏‎‎‎‏‏‏‎‎‎‎‏‏‎‏‎‎‎‎‎‏‏‎‏‎‏‎‎‎‏‎‏‎‎‏‎Allow notification snoozing‎‏‎‎‏‎"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‏‎‏‎‎‏‎‏‏‏‏‎‎‏‎‏‏‏‏‎‎‎‎‎‏‏‎‏‏‏‏‏‎‏‏‏‎‏‎‏‏‏‎‎‏‏‏‏‎‎‏‏‎‏‏‎‎‏‎Hide icons from gentle notifications‎‏‎‎‏‎"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‎‎‏‎‏‎‏‎‎‎‎‎‎‎‏‏‎‏‏‎‎‎‏‎‏‎‏‎‏‎‏‎‏‏‏‏‏‎‏‎‎‏‎‎‎‎‎‏‏‎‏‏‏‏‎‎‎‎‎Icons from gentle notifications aren\'t shown in the status bar‎‏‎‎‏‎"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‏‏‎‏‏‎‏‎‏‎‏‏‏‎‎‎‎‏‎‎‎‎‎‏‏‎‏‎‎‏‎‎‏‎‎‏‎‏‏‏‎‎‏‏‎‏‏‏‎‎‏‏‎‎‎‎‏‎Allow notification dots‎‏‎‎‏‎"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‎‎‏‏‏‎‏‎‏‎‎‎‎‎‎‏‏‎‏‏‎‏‎‎‎‎‎‎‏‏‎‏‎‏‎‏‎‏‏‎‎‏‎‏‏‎‎‎‏‏‎‏‏‎‎‏‏‎Show strip of recent conversations‎‏‎‎‏‎"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‏‎‏‏‎‏‏‎‎‎‏‏‎‎‎‏‎‎‎‎‏‏‎‏‎‏‏‏‎‎‏‏‏‏‏‎‎‎‏‏‎‏‎‎‏‏‎‏‎‎‏‏‎‏‎‏‎‏‎Bubbles‎‏‎‎‏‎"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‏‏‎‎‎‎‎‎‏‎‏‎‏‏‎‎‏‏‏‎‏‎‎‎‏‎‏‎‎‎‏‎‏‏‏‏‏‏‎‎‏‎‏‎‏‏‏‎‎‏‎‏‎‏‏‏‎‏‎Some notifications can appear as bubbles on the screen‎‏‎‎‏‎"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‎‎‏‎‏‏‏‏‎‎‎‏‏‏‏‎‎‏‎‎‏‎‏‏‏‎‏‎‎‏‎‎‏‏‎‎‎‏‏‎‎‎‏‎‎‏‏‎‏‏‎‏‎‏‎‎‏‎‎Some notifications and other content can appear as bubbles on the screen. To open a bubble, tap it. To dismiss it, drag it down the screen.‎‏‎‎‏‎"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‎‏‏‏‎‏‎‎‎‎‏‏‏‏‎‏‎‏‏‎‏‎‎‏‏‏‏‎‎‏‎‎‎‎‎‏‎‏‎‏‏‏‏‏‎‏‏‎‏‏‎‎‎‏‎‏‏‎‎Bubbles‎‏‎‎‏‎"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‎‎‎‏‎‏‎‏‏‎‏‎‎‎‎‏‎‎‎‎‏‏‎‏‎‏‎‏‎‏‎‏‏‏‏‏‎‎‎‎‏‏‎‎‎‏‏‎‎‏‎‎‎‏‎‎‏‎‎New messages will appear on screen‎‏‎‎‏‎"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‎‏‏‏‎‏‏‎‎‏‏‏‎‎‏‏‎‏‏‎‏‎‏‏‏‏‏‎‎‎‏‎‏‎‎‏‏‎‏‎‏‏‎‎‏‎‎‏‏‎‏‎‏‎‏‏‎‎‎Allow ‎‏‎‎‏‏‎<xliff:g id="APP_NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎ to show some notifications as bubbles‎‏‎‎‏‎"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‏‎‎‎‏‏‏‎‏‏‏‎‏‏‎‏‏‎‎‎‏‎‏‏‏‏‎‎‎‏‎‎‏‎‎‎‎‏‎‏‎‎‎‏‏‎‏‎‎‏‎‏‏‎‏‎‎‎Turn on bubbles‎‏‎‎‏‎"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‎‎‏‎‏‏‎‏‏‏‎‎‎‏‏‎‏‎‏‏‎‏‎‎‏‏‎‎‏‎‎‎‏‏‏‏‎‎‏‎‏‎‏‏‏‏‎‎‏‎‎‏‎‏‎‏‏‏‎To turn on bubbles for this app, first you need to turn them on for your device. This affects other apps in which you previously turned on bubbles.‎‏‎‎‏‎"</string>
@@ -3408,6 +3476,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‎‏‎‎‏‏‏‏‏‏‏‎‎‏‎‏‏‎‎‏‏‏‎‎‏‎‏‏‎‏‏‏‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‎‏‎‎‏‏‎‎‏‎Display in pull-down shade &amp; on lock screen‎‏‎‎‏‎"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‏‎‏‎‏‎‏‏‎‎‎‏‎‎‎‏‎‎‎‎‎‎‏‏‏‏‎‎‏‎‏‏‏‎‎‎‏‏‎‏‎‏‎‏‎‎‏‎‎‎‎‎‏‎‎‎‏‏‎Display in pull-down shade &amp; status bar‎‏‎‎‏‎"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‎‏‎‏‏‎‏‎‏‏‎‏‎‎‎‏‏‎‎‎‎‏‎‎‏‏‏‏‎‎‏‎‎‎‎‏‏‏‎‎‏‎‏‏‏‏‎‏‎‎‏‎‏‎‏‎‎‎Display in pull-down shade, status bar &amp; on lock screen‎‏‎‎‏‎"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‎‎‏‏‎‏‎‏‏‎‏‏‎‏‎‏‎‎‏‏‏‎‎‏‎‎‎‎‏‎‎‏‏‏‏‏‏‎‎‎‎‏‏‏‎‎‏‎‎‏‎‎‎‏‏‏‎‎‎Hide silent notifications in status bar‎‏‎‎‏‎"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‏‏‎‎‏‏‎‏‎‎‏‎‎‎‎‏‏‏‎‏‎‏‏‎‎‏‎‏‎‎‏‏‏‏‎‎‎‎‎‏‏‏‎‏‎‎‏‎‎‎‏‎‏‎‏‎‎‏‎Blink light‎‏‎‎‏‎"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‏‎‎‏‎‎‎‎‏‎‎‎‎‎‏‎‏‏‏‏‎‎‎‏‏‏‏‏‎‏‎‎‎‎‏‎‎‎‏‏‏‏‏‏‎‏‎‏‎‏‎‎‏‎‏‏‎‏‎Lock screen‎‏‎‎‏‎"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‎‎‏‏‏‏‎‏‏‏‎‎‏‎‎‎‎‏‏‏‎‎‏‎‎‏‎‎‎‎‏‏‏‎‎‏‏‎‎‏‎‎‏‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎Skip lock screen‎‏‎‎‏‎"</string>
@@ -3438,6 +3507,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‎‏‎‏‏‏‎‎‎‏‏‎‎‎‎‎‎‏‏‎‎‏‏‏‎‎‎‏‏‎‏‎‏‏‏‏‎‎‏‏‏‎‎‎‎‏‏‏‏‏‏‎‏‎‏‏‏‏‎Behavior‎‏‎‎‏‎"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‎‏‎‏‏‎‏‎‏‎‎‏‏‎‏‏‎‎‏‏‎‏‏‏‏‏‏‏‎‎‏‎‎‏‏‏‏‎‎‎‎‏‏‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎Allow sound‎‏‎‎‏‎"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‎‎‏‏‏‎‏‏‎‏‎‎‎‏‏‎‏‎‎‏‎‎‏‏‎‏‏‎‎‏‏‏‎‎‏‎‎‎‏‎‏‏‎‎‏‏‏‎‏‎‎‎‎‎‎‏‎‎Never show notifications‎‏‎‎‏‎"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‎‏‏‎‎‎‎‏‏‏‎‏‏‎‎‎‎‏‏‏‎‎‎‎‎‎‎‎‏‏‎‎‎‎‎‎‏‏‎‏‎‏‏‏‏‏‎‏‏‏‎‎‏‏‎‏‏‎‎Conversations‎‏‎‎‏‎"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‏‎‎‎‎‎‏‏‎‏‎‎‏‏‏‎‎‏‎‎‎‏‎‏‏‏‎‎‏‎‏‏‏‏‎‏‎‏‏‏‏‎‎‏‏‏‎‎‎‏‏‎‎‎‎‏‎‏‎Conversation‎‏‎‎‏‎"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‎‎‎‎‏‏‎‎‏‎‏‏‎‏‏‎‏‏‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‎‎‏‏‏‏‎‏‎‎‏‏‎‎‏‎‎‎‏‎‏‎Not a conversation‎‏‎‎‏‎"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‏‏‏‏‏‏‎‎‏‏‎‏‏‏‏‎‎‎‏‏‎‏‎‏‏‎‏‎‏‏‎‏‏‎‏‏‏‎‏‎‏‎‏‎‏‎‏‎‎‏‎‎‎‏‎‎‎‎‎Remove from the conversation section‎‏‎‎‏‎"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‏‏‎‏‎‏‎‎‎‎‏‏‎‏‎‏‎‏‎‏‏‏‏‎‏‎‏‎‏‎‎‎‎‏‎‏‏‎‏‏‎‏‏‏‏‏‏‎‎‏‎‎‎‎‎‏‎‎This is a conversation‎‏‎‎‏‎"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‎‎‎‎‎‏‏‏‏‏‎‎‎‎‎‏‎‎‏‎‏‏‏‏‏‎‎‎‎‎‎‏‎‎‎‎‏‏‎‎‏‏‎‏‏‎Add to the conversation section‎‏‎‎‏‎"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‎‏‏‎‎‏‏‏‏‏‎‎‎‏‎‎‏‏‏‏‎‏‏‏‏‎‏‎‏‏‎‏‏‏‎‎‏‏‎‎‏‎‏‏‎‎‎‏‏‏‏‏‎‏‎‎‎‏‎Manage conversations‎‏‎‎‏‎"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‎‏‏‎‎‎‎‎‏‏‏‎‎‎‏‏‎‏‎‎‏‎‎‎‎‏‎‎‎‎‏‎‏‏‎‎‏‏‎‎‏‏‏‎‏‏‏‎‏‎‎‏‎‏‎‏‏‎Important conversations‎‏‎‎‏‎"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‎‏‎‎‏‎‎‎‏‏‏‎‎‎‎‏‎‎‎‏‏‎‏‎‏‏‏‎‏‏‎‎‎‎‏‏‏‏‏‎‎‎‏‏‏‏‎‏‎‏‏‎‏‏‏‎‏‏‎All conversations‎‏‎‎‏‎"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‎‏‎‎‎‎‎‏‏‎‎‏‎‎‎‎‏‎‎‎‎‎‏‏‎‏‏‎‏‎‏‏‏‎‏‎‏‏‏‏‎‏‎‎‎‏‎‎‏‏‎‏‏‏‎‎‎‎‎Bubble important conversations‎‏‎‎‏‎"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‎‎‏‏‏‎‏‏‎‏‎‎‏‎‏‎‏‎‏‎‏‎‏‏‎‏‎‎‏‎‎‏‎‏‎‏‎‎‎‎‎‏‎‎‎‎‎‎‏‎‎‏‏‏‎‎‏‏‎Important conversations show at the top of the pull-down shade. You can also set them to bubble and interrupt Do Not Disturb.‎‏‎‎‏‎"</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‏‏‏‏‏‏‏‎‎‎‏‏‏‎‎‏‏‏‎‏‏‎‎‏‎‏‏‏‎‎‎‏‏‏‏‏‎‎‎‎‎‏‏‏‏‎‎‎‎‎‏‎‏‏‏‏‏‎‎Show silently and minimize‎‏‎‎‏‎"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‎‎‏‏‏‏‎‎‏‏‏‎‎‎‎‏‏‎‎‎‏‏‎‏‏‎‎‎‎‎‏‎‎‎‏‏‎‏‎‎‏‎‏‎‎‎‎‏‎‏‏‏‎‏‏‎‎‏‎Show silently‎‏‎‎‏‎"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‏‏‏‏‎‏‏‏‎‎‎‎‏‎‏‏‎‏‎‏‎‎‏‏‎‏‎‎‏‏‎‎‏‎‏‎‏‏‎‎‎‎‎‏‎‏‏‏‏‏‏‎‎‏‎‎‏‏‎Make sound‎‏‎‎‏‎"</string>
@@ -3456,7 +3536,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‏‏‎‎‏‏‎‏‎‎‎‎‎‏‏‏‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‏‏‏‎‎‎‏‎‎‏‏‏‎‏‎‎‎‎‎‏‏‎‏‎‎‎‏‎Helps you focus without sound or vibration‎‏‎‎‏‎"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‎‏‎‎‎‎‎‏‏‎‎‏‎‎‏‏‏‎‎‎‏‏‎‎‏‏‏‎‏‎‏‎‏‏‎‏‏‎‎‎‏‎‎‎‏‏‎‎‎‎‏‏‏‎‏‎‏‎Gets your attention with sound or vibration‎‏‎‎‏‎"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‏‏‎‏‎‏‏‎‎‎‏‎‎‏‎‎‏‎‎‎‎‎‏‏‏‎‏‎‏‎‎‏‏‎‏‏‏‎‏‎‎‎‏‎‏‏‏‎‎‎‏‎‎‏‎‏‎‏‎When device is unlocked, show notifications as a banner across the top of the screen‎‏‎‎‏‎"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‎‏‏‏‏‎‎‎‏‎‏‎‏‏‎‏‏‏‏‏‏‏‎‎‏‏‎‏‎‏‏‎‎‎‎‎‏‏‏‏‏‎‏‏‏‎‎‎‎‏‏‎‏‎‏‎‏‎Show notifications‎‏‎‎‏‎"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎‏‎‎‏‎‎‎‏‎‏‎‎‏‎‎‎‎‏‎‎‏‎‎‏‎‏‏‎‏‏‏‎‎‏‎‏‎‎‎‏‏‏‏‏‏‎‎‎All ‎‏‎‎‏‏‎<xliff:g id="APP_NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎ notifications‎‏‎‎‏‎"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‎‏‏‎‏‏‎‎‎‎‏‏‏‎‏‏‏‎‎‎‏‎‎‏‎‎‎‏‏‎‎‎‎‎‏‎‎‎‏‏‏‎‎‏‎‎‎‏‎‎‏‏‏‎‎‏‎‏‎‎Adaptive Notifications‎‏‎‎‏‎"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="other">‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‎‎‏‎‎‎‎‏‏‏‎‏‏‏‏‎‎‎‏‎‎‏‏‏‎‏‏‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‎‎‎‎‏‏‎‎‎‎‏‏‏‏‏‎‎~‎‏‎‎‏‏‎<xliff:g id="NUMBER_1">%d</xliff:g>‎‏‎‎‏‏‏‎ notifications per day‎‏‎‎‏‎</item>
@@ -3477,6 +3557,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‎‎‏‏‏‎‏‎‏‏‏‏‏‏‎‎‎‏‏‎‏‏‎‏‎‎‎‎‏‏‏‏‎‎‏‎‏‎‎‏‏‏‏‏‏‏‏‎‎‎‏‎‏‎‎‏‎‏‎Adaptive Notifications‎‏‎‎‏‎"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‏‎‎‏‎‏‎‎‎‎‎‏‎‏‏‎‎‎‎‏‏‎‏‎‏‎‎‏‎‎‎‎‎‏‏‎‏‏‎‎‎‎‎‏‏‏‎‎‎‏‏‏‏‎‎‎‎‎None‎‏‎‎‏‎"</string>
     <string name="no_notification_listeners" msgid="2839354157349636000">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‏‏‎‏‏‎‎‏‏‏‎‏‏‎‏‎‎‏‏‎‎‏‎‎‎‎‎‎‎‎‎‏‎‎‎‏‎‏‏‎‏‎‏‎‎‎‎‏‏‏‏‎‏‎‎‎‎‎‎No installed apps have requested notification access.‎‏‎‎‏‎"</string>
+    <string name="notification_access_detail_switch" msgid="46386786409608330">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‎‎‏‎‏‎‎‏‎‎‏‏‎‎‏‏‎‎‏‎‎‎‏‎‎‏‎‏‎‏‎‏‏‎‎‎‏‏‎‏‏‏‎‏‏‏‎‏‎‎‏‎‎‎‏‎‏‎‎Allow notification access‎‏‎‎‏‎"</string>
     <string name="notification_assistant_security_warning_title" msgid="2972346436050925276">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‏‎‎‏‏‏‏‏‏‏‏‏‎‎‏‎‏‎‏‎‏‎‏‎‏‏‏‎‏‏‏‏‎‎‎‏‏‎‏‏‎‏‎‏‏‎‏‏‎‏‏‎‏‏‏‎‎‎Allow notification access for ‎‏‎‎‏‏‎<xliff:g id="SERVICE">%1$s</xliff:g>‎‏‎‎‏‏‏‎?‎‏‎‎‏‎"</string>
     <string name="notification_assistant_security_warning_summary" msgid="3119843404577399036">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‏‎‏‎‎‏‎‏‏‏‏‏‎‏‎‎‏‎‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‎‏‎‏‏‏‎‎‏‏‎‎‎‎‎‏‏‏‏‏‏‎‎‎‎‏‎‎‏‏‎<xliff:g id="NOTIFICATION_ASSISTANT_NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎ will be able to read all notifications, including personal information such as contact names and the text of messages you receive. It will also be able to modify or dismiss notifications or trigger action buttons they contain. ‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎This will also give the app the ability to turn Do Not Disturb on or off and change related settings.‎‏‎‎‏‎"</string>
     <string name="notification_listener_security_warning_title" msgid="5791700876622858363">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‎‎‎‏‏‎‎‎‎‎‎‏‎‎‎‎‎‏‎‏‎‎‎‎‏‎‏‏‏‏‎‏‎‎‎‏‏‎‏‏‎‎‏‎‎‎‏‎‎‎‎‏‏‏‏‎‏‏‎Allow notification access for ‎‏‎‎‏‏‎<xliff:g id="SERVICE">%1$s</xliff:g>‎‏‎‎‏‏‏‎?‎‏‎‎‏‎"</string>
@@ -3538,8 +3619,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‏‏‏‏‏‏‎‏‏‎‎‏‎‎‎‎‎‎‎‎‏‏‎‏‏‏‎‏‎‎‎‏‏‏‏‎‎‏‏‏‏‎‏‎‎‏‏‏‎‎‏‎‏‎‏‏‎‎‎Done‎‏‎‎‏‎"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‏‎‎‎‏‎‏‏‏‎‏‎‏‎‏‏‏‎‏‏‏‏‏‏‎‏‎‎‏‎‏‏‏‎‎‏‏‏‎‏‏‎‏‎‎‏‏‏‎‏‏‏‏‏‏‏‎‎Importance‎‏‎‎‏‎"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‎‏‎‎‏‏‏‎‎‎‎‏‏‎‏‎‏‏‏‏‏‎‎‏‏‎‏‏‏‎‎‎‏‎‏‏‎‎‎‏‎‎‏‎‏‎‏‏‏‎‏‏‏‏‎‏‏‏‎Blink light‎‏‎‎‏‎"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‏‎‎‎‏‎‎‏‎‏‎‏‏‎‏‏‎‏‏‎‎‎‏‏‎‏‎‎‏‎‏‏‎‏‏‏‎‏‏‎‎‎‎‏‏‎‎‎‏‎‎‏‎‎‎‏‎‏‎Vibrate‎‏‎‎‏‎"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‏‏‏‎‏‏‏‏‎‏‎‎‏‎‎‎‏‎‎‏‎‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‏‎‎‎‎‎‏‎‎‎‎‏‏‎‏‏‏‏‎‏‏‏‎Vibration‎‏‎‎‏‎"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‏‎‎‏‎‎‏‏‎‎‏‏‏‏‎‏‏‏‎‏‎‎‎‎‎‎‎‎‏‏‎‎‎‎‎‏‏‎‏‏‏‏‎‎‎‏‎‎‏‎‎‎‎‎‏‎‎‎Sound‎‏‎‎‏‎"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‎‎‏‎‎‏‏‏‎‎‎‏‎‎‎‏‎‎‎‎‏‎‏‎‏‏‎‏‏‎‏‎‎‏‎‏‏‎‎‎‎‏‏‏‎‏‎‎‏‎‎‏‎‏‏‎‏‏‎Important‎‏‎‎‏‎"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‎‎‏‏‏‎‏‎‎‏‏‏‎‏‎‏‎‏‏‏‏‏‎‎‎‎‏‎‎‏‎‏‏‏‎‏‏‎‎‎‏‏‎‎‎‏‎‎‏‎‎‏‎‏‏‏‎‏‎Add to home‎‏‎‎‏‎"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‎‎‎‎‎‏‏‏‎‎‎‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‏‏‎‎‎‏‎‏‎‏‏‎‎‏‏‏‎‏‎‏‎‏‏‎‏‎‏‏‏‎‎Delete‎‏‎‎‏‎"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‎‏‏‎‏‏‎‏‎‏‏‎‎‎‎‏‏‎‎‏‏‎‎‎‏‎‎‏‎‏‎‎‏‎‎‏‏‏‏‏‏‏‎‏‎‎‎‏‏‏‎‏‏‎‏‎‎‎‎Rename‎‏‎‎‏‎"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‎‏‎‏‎‏‏‎‎‏‏‏‎‎‎‎‎‎‏‏‏‏‎‏‎‎‎‏‏‏‏‎‎‏‏‏‎‏‏‎‏‎‏‏‏‏‏‏‎‎‎‏‎‎‎‏‏‎‎Schedule name‎‏‎‎‏‎"</string>
@@ -3593,6 +3676,10 @@
       <item quantity="other">‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‎‏‎‎‏‎‏‎‏‏‎‎‎‏‏‏‏‏‎‏‏‏‏‎‎‏‏‏‎‏‎‏‏‎‏‏‎‏‏‎‏‎‏‎‏‎‎‎‏‏‏‏‏‏‏‏‎‏‎‎‏‎‎‏‏‎<xliff:g id="NUM_PEOPLE">%d</xliff:g>‎‏‎‎‏‏‏‎ others‎‏‎‎‏‎</item>
       <item quantity="one">‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‎‏‎‎‏‎‏‎‏‏‎‎‎‏‏‏‏‏‎‏‏‏‏‎‎‏‏‏‎‏‎‏‏‎‏‏‎‏‏‎‏‎‏‎‏‎‎‎‏‏‏‏‏‏‏‏‎‏‎1 other‎‏‎‎‏‎</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‎‎‎‎‏‏‎‏‏‏‎‎‏‏‎‎‎‏‏‏‎‎‎‎‎‎‏‎‎‎‎‎‎‎‎‎‏‏‎‏‎‎‏‎‏‎‏‎‏‏‎‎‎‎‏‎‏‏‎Conversations‎‏‎‎‏‎"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‎‎‏‏‏‏‎‏‏‎‎‎‏‎‏‏‎‎‏‏‎‏‎‎‎‏‏‎‏‏‏‏‎‎‏‎‏‏‎‎‎‏‏‏‏‎‎‎‏‎‏‏‏‎‎‎‎‎From all conversations‎‏‎‎‏‎"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‎‎‏‏‎‏‏‎‎‏‎‎‏‎‏‏‏‏‎‎‎‏‏‏‏‏‎‏‎‏‎‏‏‏‎‏‎‎‎‎‏‏‎‏‎‎‎‎‎‏‏‏‎‎‎‎‎‏‎From important conversations‎‏‎‎‏‎"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‏‎‎‎‎‏‎‏‏‏‏‎‎‏‏‎‎‎‎‏‎‏‎‎‏‏‎‎‎‏‏‎‎‎‎‏‏‎‎‎‏‎‎‏‏‎‎‏‏‎‎‏‎‏‏‏‎‎Don’t allow any conversations‎‏‎‎‏‎"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‎‎‏‎‏‏‏‏‎‏‎‏‏‎‏‎‏‏‏‎‎‏‎‎‏‏‎‏‎‎‏‎‏‏‏‎‏‏‏‏‎‏‎‎‏‏‎‎‎‏‏‏‎‎‎‏‎‏‎Allow messages‎‏‎‎‏‎"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‎‏‎‎‎‏‏‎‎‎‎‎‎‏‏‏‏‎‎‏‎‎‏‎‎‎‏‏‎‎‏‎‎‎‏‏‏‏‏‏‏‏‎‏‎‏‎‏‎‎‏‎‎‎‎‎‏‏‎To be sure allowed messages make sound, check whether your device is set to ring, vibrate, or silent.‎‏‎‎‏‎"</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‎‎‏‎‏‏‎‏‎‏‏‏‎‏‏‏‎‏‎‏‎‎‎‏‎‎‎‏‏‏‏‏‎‎‏‎‏‏‏‏‏‏‎‎‏‎‎‏‏‎‏‏‏‎‏‏‏‎‎For ‘‎‏‎‎‏‏‎<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎’ incoming messages are blocked. You can adjust settings to allow your friends, family, or other contacts to reach you.‎‏‎‎‏‎"</string>
@@ -3606,15 +3693,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‎‏‎‏‎‏‏‏‎‎‎‏‏‎‎‏‎‎‏‏‏‏‎‎‎‏‎‏‏‎‎‏‏‏‎‎‏‏‎‎‎‏‎‏‎‏‏‎‎‎‎‎‏‎‎‎‎‏‎None‎‏‎‎‏‎"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‎‏‏‏‎‏‎‎‏‎‎‏‏‎‏‎‏‎‎‎‏‏‎‏‎‏‎‏‎‏‎‎‎‎‎‏‏‎‎‎‎‏‏‏‎‎‏‎‏‏‎‏‎‏‎‏‏‎‎Don’t allow any calls‎‏‎‎‏‎"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‎‏‏‏‎‏‏‎‎‏‏‎‎‎‎‏‏‏‎‏‏‏‎‏‎‏‎‎‎‎‎‏‎‎‎‎‏‏‎‏‎‎‏‏‏‏‎‎‎‏‎‏‏‎‎‎‏‎‎‎Don’t allow any messages‎‏‎‎‏‎"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‏‏‎‏‏‎‏‎‏‏‎‎‏‏‏‎‏‏‎‏‎‏‏‏‎‎‏‎‏‏‎‎‎‎‏‏‎‎‎‎‎‎‎‎‏‏‏‏‎‏‏‏‎‏‏‏‎‎‎Allow alarms‎‏‎‎‏‎"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‏‏‎‎‎‏‏‏‏‎‎‏‏‎‏‎‏‏‏‏‎‎‎‏‏‏‏‎‏‏‏‏‏‏‎‏‎‎‎‎‎‏‏‏‏‎‏‏‎‏‎‎‎‏‏‎‏‏‎Alarms‎‏‎‎‏‎"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‏‏‎‎‎‎‎‏‏‏‎‎‎‎‎‎‎‏‏‏‎‎‎‎‏‎‎‎‎‎‎‏‏‎‎‎‎‏‏‎‎‏‏‏‎‎‏‎‎‏‎‎‎‏‏‏‏‏‎From timers, alarms, security systems, and other apps‎‏‎‎‏‎"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‎‎‏‎‏‎‎‏‎‏‎‏‏‎‎‎‏‎‏‎‏‎‏‎‏‎‏‏‎‎‏‏‏‏‎‎‎‏‎‏‏‏‏‎‏‎‎‏‎‎‎‎‎‏‏‏‎‏‎alarms‎‏‎‎‏‎"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‎‎‎‎‏‎‏‎‏‏‎‏‎‎‎‎‏‎‎‏‎‎‏‏‎‏‏‏‏‎‎‏‎‎‏‎‏‏‎‏‎‎‎‏‎‏‎‎‎‎‏‎‏‎‏‎‏‎‎Play media sounds‎‏‎‎‏‎"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‎‎‎‏‎‎‏‎‎‎‎‎‏‏‎‏‏‎‏‏‏‎‎‎‏‎‎‏‎‎‎‏‏‎‎‏‏‏‎‏‏‎‏‎‎‎‏‎‎‏‎‎‎‏‏‏‏‏‎Media sounds‎‏‎‎‏‎"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‎‎‏‎‏‏‏‎‎‎‏‎‏‎‏‎‎‎‎‎‏‎‎‎‎‏‏‏‎‏‏‎‎‏‎‏‏‎‎‎‎‎‏‏‎‎‎‎‏‎‏‎‏‎‏‏‏‎From videos, games, and other media‎‏‎‎‏‎"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‏‏‏‏‎‏‏‎‎‎‎‎‏‏‎‏‏‎‎‏‏‎‏‏‎‏‎‎‏‏‎‎‎‏‎‎‎‏‎‎‎‏‎‎‎‎‏‏‎‎‎‏‏‏‎‏‎‎‎media‎‏‎‎‏‎"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‏‎‏‎‏‎‏‏‏‎‏‎‏‏‎‏‏‏‎‏‎‎‏‎‎‏‎‎‏‎‏‏‏‏‎‎‎‏‎‏‎‏‏‎‎‏‏‏‎‎‎‏‎‎‎‏‏‎Allow touch sounds‎‏‎‎‏‎"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‎‏‎‏‎‏‎‏‎‎‏‎‏‏‏‎‎‏‏‎‏‎‎‏‏‎‏‎‏‏‏‎‏‏‎‏‏‎‎‏‏‎‏‏‎‏‎‏‎‏‎‎‎‎‏‏‏‎‎Touch sounds‎‏‎‎‏‎"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‎‏‏‎‏‏‎‏‏‎‎‎‎‏‎‏‏‏‎‏‏‎‎‏‎‏‎‎‎‎‎‎‎‎‎‎‏‏‏‎‏‎‎‏‏‏‏‎‏‏‎‎‎‏‏‏‎‏‎From your keyboard and other buttons‎‏‎‎‏‎"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‏‏‎‏‎‎‏‏‏‏‏‎‏‏‎‎‏‏‎‎‎‎‏‎‎‏‏‎‎‏‎‎‏‏‎‎‏‏‏‏‏‎‎‎‎‏‏‎‏‏‏‎‎‎‎‎‏‎‎touch sounds‎‏‎‎‏‎"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‏‏‎‎‏‎‏‎‏‎‎‎‎‎‎‎‏‎‎‏‏‏‎‏‏‎‏‎‏‎‎‎‏‏‎‎‎‎‎‎‎‎‏‎‏‏‎‏‎‏‎‎‎‎‎‎‏‏‎Allow reminders‎‏‎‎‏‎"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‏‏‎‏‎‏‎‏‏‏‏‎‏‎‎‏‎‎‏‏‏‎‏‎‏‏‎‎‎‏‎‎‏‏‏‎‏‎‎‎‎‎‎‎‏‏‎‏‏‎‎‎‏‏‎‎‏‎‎Reminders‎‏‎‎‏‎"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‎‏‏‏‏‏‎‏‎‏‎‎‎‎‏‏‎‏‏‎‎‏‏‎‏‎‎‎‎‏‎‏‎‏‎‎‏‎‎‎‎‎‎‏‏‎‎‏‎‎‎‎‏‏‏‏‎‎From tasks and reminders‎‏‎‎‏‎"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‏‎‏‏‏‏‏‎‎‎‏‏‏‏‎‏‎‎‎‎‎‏‎‎‏‏‎‎‎‎‎‎‏‎‎‎‎‎‏‏‎‎‏‏‏‎‎‎‎‏‎‏‏‎‎‏‎‎reminders‎‏‎‎‏‎"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‏‏‎‎‎‎‏‎‏‏‎‎‏‏‏‏‏‏‏‎‎‏‏‎‏‏‏‎‎‎‏‎‏‎‏‏‎‏‏‎‎‏‎‎‏‏‏‏‏‎‏‎‎‎‎‏‏‏‎Allow events‎‏‎‎‏‎"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‏‏‎‏‏‏‎‏‏‎‏‎‎‏‎‎‏‏‎‏‏‏‏‎‎‎‎‎‏‏‏‎‏‎‎‎‏‎‎‎‏‎‎‏‏‎‎‎‏‎‎‏‎‎‎‎‎‎‎Events‎‏‎‎‏‎"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‎‎‏‏‏‏‏‏‎‏‏‎‎‎‏‏‏‎‎‎‎‎‏‎‏‎‎‎‏‏‎‏‏‏‏‎‎‏‎‎‏‎‎‎‏‎‎‎‏‏‎‎‎‏‏‏‎‎‎From upcoming calendar events‎‏‎‎‏‎"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‎‎‏‎‏‎‏‏‎‏‏‎‎‎‏‎‏‏‏‎‏‎‎‎‎‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‏‏‏‏‏‎‏‏‏‎‏‎‏‎‎‎‏‎Allow apps to override‎‏‎‎‏‎"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‎‏‎‏‏‏‏‎‏‏‏‏‏‎‎‎‏‏‏‎‏‏‎‏‎‏‎‏‏‏‎‏‎‎‎‏‏‏‎‎‏‏‎‏‏‎‏‎‎‎‎‏‏‎‏‎‎‏‎App exceptions‎‏‎‎‏‎"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3657,6 +3749,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‏‏‎‎‏‎‏‏‎‏‎‎‏‎‏‏‎‏‏‏‏‎‎‎‎‏‎‏‏‏‏‎‎‏‏‎‏‏‎‏‏‏‎‏‏‏‏‎‎‏‎‏‏‏‏‏‎‎‎Let notifications silenced by Do Not Disturb turn on the screen‎‏‎‎‏‎"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‏‎‎‎‏‏‏‏‏‎‏‎‎‏‎‎‏‎‏‎‎‎‎‎‏‏‎‎‎‏‎‏‏‏‎‏‏‏‎‏‏‎‎‎‏‎‏‏‎‏‎‏‏‎‎‎‎‎Notification settings‎‏‎‎‏‎"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‎‎‏‎‏‎‎‏‏‏‏‏‎‎‎‎‎‎‏‎‏‎‏‏‏‎‎‏‏‎‎‏‏‏‎‏‏‏‎‎‎‏‏‎‎‎‏‏‎‎‎‎‎‎‏‎‎‏‎Ok‎‏‎‎‏‎"</string>
+    <string name="suggestion_button_close" msgid="6865170855573283759">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‏‏‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‎‎‎‏‎‏‎‎‎‏‏‎‎‎‏‏‎‎‏‏‏‏‎‏‏‎‎‎‏‏‏‎‏‎‏‏‏‏‎Close‎‏‎‎‏‎"</string>
     <string name="device_feedback" msgid="5351614458411688608">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‏‎‎‏‎‎‎‏‎‎‏‏‎‎‎‎‎‎‏‏‏‏‏‏‏‎‏‏‏‏‎‎‎‎‎‏‏‏‏‎‎‏‎‎‏‎‎‎‏‎‏‎‏‎‎‎‎‎‎Send feedback about this device‎‏‎‎‏‎"</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‎‏‏‎‎‎‏‏‎‏‏‎‏‏‏‏‏‎‎‏‏‏‏‎‏‏‏‎‏‏‎‏‎‎‎‎‎‏‏‎‏‎‎‎‎‏‏‏‎‏‏‏‏‎‏‏‏‎‎Enter admin PIN‎‏‎‎‏‎"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‏‎‏‎‎‏‏‏‎‎‎‏‏‏‏‏‏‏‎‎‏‏‏‏‎‎‎‎‏‎‏‏‏‎‎‏‎‎‎‎‎‏‏‏‎‏‏‏‎‏‎‏‏‎‎‎‎‏‎On‎‏‎‎‏‎"</string>
@@ -3667,6 +3760,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‎‏‏‏‏‎‏‏‏‏‎‏‏‏‎‎‎‏‏‏‏‎‎‏‎‏‎‏‎‎‏‎‏‏‎‎‎‎‏‎‎‏‎‏‎‏‏‏‏‎‎‏‏‏‏‏‏‎Ask for PIN before unpinning‎‏‎‎‏‎"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‎‏‏‎‎‏‏‏‎‎‎‏‏‏‏‏‏‎‎‎‏‏‎‏‎‎‏‎‎‏‎‎‎‏‏‎‏‎‎‎‎‎‎‎‏‎‏‎‎‎‎‏‎‏‏‎‏‎Ask for password before unpinning‎‏‎‎‏‎"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‎‎‏‎‏‏‎‎‎‏‏‎‏‎‎‏‎‏‎‏‎‏‏‏‎‏‎‎‏‎‎‎‎‏‎‎‏‎‏‎‎‎‎‎‏‏‏‏‎‏‎‏‏‏‏‎‎‎Lock device when unpinning‎‏‎‎‏‎"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‏‏‏‎‏‎‏‎‏‎‏‎‏‏‏‎‎‏‎‏‎‏‏‏‏‎‎‏‎‎‏‏‎‏‎‎‏‎‏‎‎‎‏‎‏‏‎‏‏‏‏‎‏‎‏‏‏‏‎Confirm SIM deletion‎‏‎‎‏‎"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‎‎‏‎‎‎‏‏‎‎‏‏‏‏‎‎‏‎‎‎‎‏‏‎‏‎‏‎‏‏‎‎‎‏‎‏‎‎‎‎‏‎‏‎‎‎Verify it\'s you before erasing a downloaded SIM‎‏‎‎‏‎"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‎‏‏‏‏‎‏‎‏‎‏‎‎‏‎‏‏‏‎‎‎‏‎‏‏‎‏‎‎‎‎‏‏‏‎‏‏‎‎‎‏‏‏‏‎‎‏‏‏‏‎‎‏‎‏‏‏‎This work profile is managed by:‎‏‎‎‏‎"</string>
     <string name="managing_admin" msgid="2633920317425356619">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‎‎‏‎‎‎‏‏‎‏‏‎‎‏‎‎‎‎‏‎‎‏‎‎‏‎‏‏‎‏‎‏‏‎‏‏‎‏‎‎‏‎‏‎‎‎‏‏‏‏‎‏‎‎‏‎‏‏‎Managed by ‎‏‎‎‏‏‎<xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
     <string name="experimental_preference" msgid="869354050717870055">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‎‎‎‎‎‏‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‎‎‏‏‏‎‎‏‏‎‎‎‏‎‎‎‏‎‏‎‏‏‏‏‎‎‏‏‏‏‏‏‎‎‏‏‏‎(Experimental)‎‏‎‎‏‎"</string>
@@ -3741,8 +3836,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‎‎‎‏‏‏‎‎‏‏‎‏‏‎‎‏‏‎‎‏‏‎‎‎‎‎‎‎‎‏‎‏‎‏‎‏‎‎‏‎‎‏‏‎‎‏‎‎‏‏‏‏‎‏‎‏‏‎All apps‎‏‎‎‏‎"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‏‏‎‎‎‏‎‎‏‎‏‎‏‏‏‎‏‏‎‏‎‏‏‎‏‏‎‎‎‏‎‏‎‏‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‎‏‎‏‎‎‎Installed apps‎‏‎‎‏‎"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‏‏‏‏‎‎‏‏‏‏‎‎‏‏‎‏‎‎‏‎‎‎‎‎‎‏‏‎‏‏‎‎‏‏‎‏‏‎‏‎‏‎‎‎‏‏‎‏‏‏‏‎‏‎‎‏‎‎‎Instant apps‎‏‎‎‏‎"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‎‎‏‎‎‎‏‏‏‎‎‏‎‏‏‎‏‎‏‏‎‎‏‏‎‏‎‎‏‎‎‎‏‎‎‎‎‎‏‎‏‏‏‎‏‎‎‏‎‎‏‏‎‏‏‏‎‏‎Personal‎‏‎‎‏‎"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‏‎‏‎‎‎‎‎‎‎‎‏‎‏‏‎‎‏‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎‏‎‏‏‏‎‏‏‏‏‏‎‎‏‎‎‎‏‏‏‏‏‏‏‎‎Work‎‏‎‎‏‎"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‏‎‎‏‎‏‏‏‎‏‏‏‎‎‏‏‎‎‏‎‏‏‎‎‏‏‎‎‎‏‎‏‎‎‎‏‏‎‏‏‎‎‎‏‎‏‎‎‏‎‏‏‏‏‎‎‏‎‎Apps: All‎‏‎‎‏‎"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‏‎‏‏‎‎‏‎‎‏‏‏‏‏‎‏‏‎‏‎‎‎‏‏‎‎‎‎‏‏‎‎‏‎‎‏‎‏‎‎‏‏‎‏‏‎‎‎‎‎‏‎‏‎‎‏‎‏‎Turned off‎‏‎‎‏‎"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‎‎‎‎‏‎‎‏‎‏‏‏‏‏‏‎‏‎‏‏‏‏‏‏‏‏‎‎‎‎‎‎‎‏‎‏‎‏‎‏‎‎‎‎‎‏‏‏‏‏‏‎‎‏‏‏‏‎‎Categories: Urgent importance‎‏‎‎‏‎"</string>
@@ -3754,6 +3847,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‎‎‎‏‎‎‎‏‎‎‎‏‏‏‏‎‎‎‎‏‎‏‎‎‎‎‎‏‏‏‎‎‎‏‏‎‏‎‎‏‏‏‎‏‎‏‎‏‎‎‏‎‏‏‎‏‎‎Unknown app‎‏‎‎‏‎"</string>
     <string name="app_permissions" msgid="8666537659217653626">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‎‎‏‎‎‎‏‎‏‏‎‏‏‏‎‏‎‎‎‎‏‎‏‎‏‎‏‏‏‎‎‏‎‎‎‏‏‎‏‏‎‏‎‏‎‏‏‏‏‎‏‏‏‏‎‏‎‎Permission manager‎‏‎‎‏‎"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‎‏‏‎‎‏‏‎‏‏‎‎‏‏‎‏‏‎‎‎‏‏‏‎‎‏‎‏‎‏‎‏‎‏‏‎‏‏‏‏‎‎‏‎‎‎‎‎‏‏‎‏‏‎‏‏‎‎‎Apps using ‎‏‎‎‏‏‎<xliff:g id="APPS">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‏‎‏‎‏‏‎‏‎‏‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‏‏‏‏‏‎‎‏‏‎‏‎‏‏‏‎‏‏‏‎‎‎‎‏‎‎‎‎‏‏‏‏‎‎Apps using ‎‏‎‎‏‏‎<xliff:g id="APPS">%1$s</xliff:g>‎‏‎‎‏‏‏‎, and more‎‏‎‎‏‎"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‎‏‏‏‏‏‏‎‏‏‏‎‏‎‏‏‏‎‎‎‏‏‏‏‏‎‏‏‏‏‎‎‏‏‏‎‏‏‏‎‏‎‏‏‎‎‎‎‏‎‎‏‎‎‎‏‎‎‎Tap to wake‎‏‎‎‏‎"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‎‎‎‏‎‏‎‎‏‏‎‏‏‎‏‏‎‏‎‎‏‎‎‎‎‏‎‏‏‏‎‎‏‏‎‏‏‎‎‏‏‏‎‏‎‎‏‎‏‎‏‎‎‎‎‎‎‎Double-tap anywhere on the screen to wake device‎‏‎‎‏‎"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‎‏‎‏‎‏‎‎‎‎‎‏‎‏‏‏‏‏‏‎‎‏‏‏‏‎‎‎‎‎‎‎‎‏‎‏‏‏‎‎‏‏‎‏‏‏‏‎‏‎‎‎‎‏‏‏‎‎‎Opening links‎‏‎‎‏‎"</string>
@@ -3765,9 +3859,14 @@
       <item quantity="other">‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‎‏‎‎‏‎‎‏‎‏‎‏‏‏‎‎‎‏‎‏‎‎‎‏‎‎‎‏‎‎‏‏‎‏‎‏‎‏‏‎‏‏‎‏‎‏‎‏‎‏‎‎‏‎‏‎‏‏‎‎‏‎‎‏‏‎<xliff:g id="COUNT">%d</xliff:g>‎‏‎‎‏‏‏‎ apps opening supported links‎‏‎‎‏‎</item>
       <item quantity="one">‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‎‏‎‎‏‎‎‏‎‏‎‏‏‏‎‎‎‏‎‏‎‎‎‏‎‎‎‏‎‎‏‏‎‏‎‏‎‏‏‎‏‏‎‏‎‏‎‏‎‏‎‎‏‎‏‎‏‏‎One app opening supported links‎‏‎‎‏‎</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‏‎‏‎‏‎‏‎‏‎‏‏‎‏‎‎‎‎‎‏‏‎‏‏‎‏‏‏‏‏‎‏‎‏‏‏‎‏‎‎‎‏‏‎‏‎‏‏‏‏‎‏‏‏‏‏‎‎Open in this app‎‏‎‎‏‎"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‏‏‎‎‏‏‎‏‏‏‏‏‏‏‎‏‎‏‎‏‏‏‏‏‏‏‏‎‎‏‏‎‏‎‎‎‎‏‎‏‎‏‎‎‎‏‎‎‎‎‏‏‎‏‏‏‏‏‎Allow app to open supported links‎‏‎‎‏‎"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‎‏‏‎‎‏‏‏‏‎‎‏‎‎‎‏‎‏‏‎‎‎‏‎‏‎‎‏‎‎‏‏‏‏‎‎‏‏‏‎‏‎‎‏‏‎‎‏‏‎‏‎‏‏‎‎‏‏‎Ask every time‎‏‎‎‏‎"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‎‎‎‎‎‎‎‏‎‎‎‎‏‎‎‏‏‏‎‎‏‏‎‏‎‏‏‏‏‏‏‎‎‎‏‏‎‏‎‎‎‏‏‏‏‏‎‏‎‏‏‏‏‏‎‎‏‏‎Don’t open in this app‎‏‎‎‏‎"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‎‏‏‎‎‎‏‏‎‎‏‎‏‏‎‎‏‏‏‏‎‏‏‎‎‎‏‏‎‏‎‏‎‏‏‎‎‏‏‎‎‎‎‎‎‏‎‎‏‎‏‏‏‏‏‏‏‎‎Don’t allow app to open links‎‏‎‎‏‎"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="other">‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‎‏‎‎‏‏‎‏‎‎‎‏‎‎‏‏‎‏‎‎‏‏‎‏‎‎‏‏‎‏‎‎‏‎‏‏‎‎‏‎‏‎‎‎‎‏‏‏‎‎‏‏‏‎‏‏‏‎‎App claims to handle ‎‏‎‎‏‏‎<xliff:g id="COUNT_1">%d</xliff:g>‎‏‎‎‏‏‏‎ links‎‏‎‎‏‎</item>
+      <item quantity="one">‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‎‏‎‎‏‏‎‏‎‎‎‏‎‎‏‏‎‏‎‎‏‏‎‏‎‎‏‏‎‏‎‎‏‎‏‏‎‎‏‎‏‎‎‎‎‏‏‏‎‎‏‏‏‎‏‏‏‎‎App claims to handle ‎‏‎‎‏‏‎<xliff:g id="COUNT_0">%d</xliff:g>‎‏‎‎‏‏‏‎ link‎‏‎‎‏‎</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‎‎‎‏‎‎‎‎‎‎‏‏‏‎‏‏‎‎‎‎‎‏‏‏‎‎‎‏‎‎‏‎‏‎‏‎‎‏‎‏‎‎‎‏‎‏‏‏‎‏‏‏‎‏‏‏‎‏‎App claims to handle following links:‎‏‎‎‏‎"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‎‎‎‏‎‏‏‏‎‎‎‎‏‎‏‎‏‎‎‏‏‎‎‎‏‏‎‏‏‎‎‎‎‏‎‎‎‏‏‎‏‎‏‎‎‎‎‎‏‏‏‎‎‎‏‎‎‎‎Default‎‏‎‎‏‎"</string>
     <string name="default_for_work" msgid="537558180548617528">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‏‏‎‏‏‏‎‏‎‏‏‏‎‎‏‎‏‎‎‏‎‏‎‎‎‏‎‎‏‎‏‏‎‏‏‎‏‏‎‏‎‎‏‎‏‎‎‏‎‏‎‎‏‏‏‎‎‎‎Default for work‎‏‎‎‏‎"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‏‏‏‎‏‎‏‏‎‏‏‏‎‏‎‎‎‎‏‎‎‎‏‏‏‎‏‎‎‏‏‎‎‏‎‎‏‏‎‏‏‏‎‎‏‎‎‏‏‏‎‎‏‎‏‎‏‎‎Assist &amp; voice input‎‏‎‎‏‎"</string>
@@ -3911,8 +4010,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‎‏‎‏‎‏‎‏‏‎‎‎‏‎‏‎‎‏‎‎‏‏‎‎‏‎‏‎‎‎‏‏‎‎‏‏‏‎‏‎‎‏‏‏‏‎‎‏‏‎‎‎‏‎‎‎‏‎Display over other apps‎‏‎‎‏‎"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‏‎‎‎‎‎‎‏‎‏‎‎‎‎‏‏‏‎‎‏‏‎‎‏‏‎‎‎‏‎‏‎‏‎‎‎‏‏‎‏‏‏‎‏‎‎‎‏‏‎‏‏‏‎‏‎‏‏‎Allow display over other apps‎‏‎‎‏‎"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‏‏‎‏‏‏‎‏‎‏‏‎‎‏‏‎‎‏‎‎‏‏‎‏‎‎‏‎‏‎‎‎‎‏‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‏‏‎‏‏‏‎‏‏‎Allow this app to display on top of other apps you’re using. It may interfere with your use of those apps or change the way they seem to appear or behave.‎‏‎‎‏‎"</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‏‏‎‏‎‏‏‏‎‎‏‏‎‏‎‎‏‏‎‏‏‎‏‏‎‎‏‎‏‏‎‎‎‎‏‎‎‎‎‏‎‎‏‏‏‏‏‏‏‏‎‏‏‎‎‏‎‎‎All files access‎‏‎‎‏‎"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‎‎‎‎‏‎‏‎‎‎‎‎‏‏‎‏‎‏‏‏‏‎‎‏‎‎‎‎‏‎‎‏‎‎‎‏‏‎‏‏‎‎‎‏‎‎‏‏‏‏‏‎‏‎‎‎‎‏‎Allow access to manage all files‎‏‎‎‏‎"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‏‏‎‎‏‏‎‏‏‎‏‎‏‏‎‏‎‎‏‎‎‏‏‎‏‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‎‏‏‎‎‎‏‏‏‏‏‎‏‎‎‏‎Allow this app to read, modify and delete all files on this device or any connected storage volumes. If granted, app may access files without your explicit knowledge.‎‏‎‎‏‎"</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‏‏‎‏‏‎‎‏‎‏‎‏‎‎‏‎‏‎‏‎‏‎‏‎‎‎‎‎‎‏‎‎‎‎‎‏‏‎‏‎‏‎‏‎‏‎‏‎‏‏‎‏‏‏‏‎‎‎Can access all files‎‏‎‎‏‎"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‎‎‏‎‎‎‎‏‏‏‎‎‏‎‏‎‏‎‏‏‏‏‎‏‏‎‏‏‏‎‏‎‎‎‏‏‏‏‏‎‎‏‏‏‎‏‎‎‎‎‎‏‏‎‏‎‏‏‎vr virtual reality listener stereo helper service‎‏‎‎‏‎"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‎‎‏‎‏‎‎‎‏‏‏‎‏‎‎‎‎‎‎‎‏‎‎‎‏‏‏‎‏‏‏‏‎‎‎‏‎‏‎‎‎‏‎‎‎‏‏‏‏‏‎‏‏‎‏‎‏‏‎system alert window dialog display on top other apps‎‏‎‎‏‎"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‎‎‎‏‎‏‏‏‎‏‏‏‏‏‎‏‏‎‏‏‎‏‏‏‎‏‎‎‎‏‎‎‎‎‎‎‏‏‎‏‏‎‏‎‏‎‏‎‏‏‎‎‎‏‏‎‏‎Display over other apps‎‏‎‎‏‎"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‏‏‏‏‏‎‏‏‎‏‎‎‏‏‎‎‎‎‎‎‎‏‏‎‏‏‎‏‏‎‏‏‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‎‎‏‏‏‎‏‏‎‏‏‎‎‏‎‎‏‏‎<xliff:g id="COUNT_0">%1$d</xliff:g>‎‏‎‎‏‏‏‎ of ‎‏‎‎‏‏‎<xliff:g id="COUNT_1">%2$d</xliff:g>‎‏‎‎‏‏‏‎ apps allowed to display over other apps‎‏‎‎‏‎"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‎‎‏‏‏‏‎‎‎‏‏‏‎‏‏‏‏‎‎‏‏‎‏‏‏‏‎‏‏‏‎‎‏‏‏‏‏‎‎‏‏‎‎‏‎‏‎‎‏‏‏‎‏‎‏‏‎‎Apps with permission‎‏‎‎‏‎"</string>
@@ -4078,6 +4180,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‎‏‏‏‎‏‎‎‏‏‏‏‏‎‎‏‎‎‏‎‎‏‎‎‎‎‎‎‏‎‏‎‏‎‎‏‏‏‏‎‎‎‏‏‎‏‎‎‎‏‎‎‏‏‎‎‏‎‎‎‏‎‎‏‏‎<xliff:g id="ID_1">^1</xliff:g>‎‏‎‎‏‏‏‎ ‎‏‎‎‏‏‎<xliff:g id="ID_2">^2</xliff:g>‎‏‎‎‏‏‏‎ used‎‏‎‎‏‎"</string>
     <string name="data_overusage" msgid="3680477320458707259">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‏‏‎‎‎‏‎‎‏‏‏‎‏‎‏‏‏‎‏‎‎‏‏‏‏‏‎‏‏‏‏‎‎‏‏‏‎‏‎‎‏‎‏‎‏‎‎‎‎‏‎‎‏‏‏‎‏‏‎‎‏‎‎‏‏‎<xliff:g id="ID_1">^1</xliff:g>‎‏‎‎‏‏‏‎ over‎‏‎‎‏‎"</string>
     <string name="data_remaining" msgid="6316251496381922837">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‏‏‏‎‏‎‎‏‏‏‏‏‎‏‎‏‎‏‎‏‎‎‎‏‎‏‎‏‏‎‎‎‎‏‏‏‎‏‏‏‏‏‏‎‏‏‏‏‏‎‎‎‎‏‎‏‎‏‎‎‏‎‎‏‏‎<xliff:g id="ID_1">^1</xliff:g>‎‏‎‎‏‏‏‎ left‎‏‎‎‏‎"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‎‎‏‏‏‏‏‏‏‎‏‎‏‏‎‏‏‏‏‏‏‏‏‎‎‎‏‏‎‏‎‎‎‏‎‏‎‏‎‏‏‎‎‎‎‏‎‎‏‏‏‏‏‏‏‎‏‎‎Graph showing data usage between ‎‏‎‎‏‏‎<xliff:g id="START_DATE">%1$s</xliff:g>‎‏‎‎‏‏‏‎ and ‎‏‎‎‏‏‎<xliff:g id="END_DATE">%2$s</xliff:g>‎‏‎‎‏‏‏‎.‎‏‎‎‏‎"</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‎‎‎‎‎‏‎‎‏‏‏‏‎‏‏‏‎‏‏‎‎‏‏‏‎‏‎‏‎‎‏‎‏‏‎‎‎‏‎‏‏‏‏‎‎‏‏‎‎‎‏‏‎‏‏‏‏‏‎No data in this date range‎‏‎‎‏‎"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="other">‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‎‏‎‎‏‎‏‏‏‏‎‎‏‎‏‎‎‎‏‏‎‎‏‎‏‏‎‏‏‏‏‏‎‎‎‎‎‏‎‎‎‏‎‎‎‏‎‏‎‏‎‏‏‎‎‎‎‏‎%d days left‎‏‎‎‏‎</item>
       <item quantity="one">‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‎‏‎‎‏‎‏‏‏‏‎‎‏‎‏‎‎‎‏‏‎‎‏‎‏‏‎‏‏‏‏‏‎‎‎‎‎‏‎‎‎‏‎‎‎‏‎‏‎‏‎‏‏‎‎‎‎‏‎%d day left‎‏‎‎‏‎</item>
@@ -4141,14 +4245,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‏‎‎‎‏‏‏‏‏‎‎‏‏‎‏‎‏‎‏‏‎‎‎‏‎‏‏‎‏‏‏‏‏‏‎‏‏‎‏‎‏‏‎‏‎‎‎‏‏‎‎‎‎‎‎‏‏‎parcel size‎‏‎‎‏‎"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‎‏‏‎‎‎‏‎‎‎‎‏‏‏‏‏‎‎‎‏‏‎‏‏‎‏‎‎‏‎‎‏‏‎‏‏‏‎‏‏‎‎‎‎‎‏‎‎‏‏‏‎‏‏‎‏‏‏‎ashmem‎‏‎‎‏‎"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‎‏‎‏‎‏‏‎‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‎‏‏‏‎‏‎‏‏‏‎‎‎‏‏‎‎‏‏‎‏‎‎‎‏‏‎‏‎‏‎‏‏‎‎notification alerted‎‏‎‎‏‎"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‏‏‎‎‏‎‏‎‏‎‎‎‏‎‎‎‎‎‏‏‏‏‎‎‏‏‏‏‎‎‏‎‎‏‏‎‏‏‎‎‎‎‏‎‏‎‎‏‎‎‏‎‎‎‏‏‎‏‎sound‎‏‎‎‏‎"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‏‏‎‏‏‏‎‎‏‎‎‏‏‎‎‎‏‎‎‎‎‏‏‏‏‏‎‏‎‏‎‏‏‏‎‎‏‎‏‎‎‎‎‎‏‎‏‏‎‎‏‎‎‏‎‎‏‎‎vibrate‎‏‎‎‏‎"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‏‎‏‏‏‎‏‎‎‎‏‏‏‏‎‎‎‏‏‏‎‎‏‎‏‎‏‎‏‎‎‎‏‏‏‎‎‏‎‏‎‎‎‏‎‎‎‏‎‎‎‏‏‎‎‎‏‎pattern‎‏‎‎‏‎"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‎‏‏‎‏‏‎‏‎‎‏‏‎‎‎‎‎‎‎‎‎‏‎‎‎‏‎‎‎‏‎‏‏‎‎‎‎‎‎‎‏‏‏‎‏‏‏‏‎‏‏‏‎‏‏‏‏‎‎default‎‏‎‎‏‎"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‏‏‎‏‎‎‎‏‏‏‎‎‏‎‏‎‏‎‏‏‎‎‏‎‏‏‎‏‎‎‎‎‏‏‎‎‎‏‏‏‎‎‏‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎channel‎‏‎‎‏‎"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‏‏‎‎‏‎‎‎‏‏‎‏‏‏‏‏‎‎‏‏‏‎‎‏‎‎‎‎‎‏‎‎‏‎‎‏‎‎‏‎‏‏‎‎‎‏‎‏‎‎‎‏‎‎‎‏‏‏‎none‎‏‎‎‏‎"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‏‏‎‏‏‎‎‏‎‏‏‏‎‎‏‎‏‏‎‏‏‎‏‏‏‎‎‎‏‎‎‎‎‎‏‏‎‏‎‏‎‎‎‎‏‎‎‎‏‎‏‎‏‎‏‎‎‎Ranking object is missing.‎‏‎‎‏‎"</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‎‎‏‏‏‏‎‎‏‎‏‎‏‎‎‎‎‏‎‏‎‎‏‎‎‏‏‎‏‏‎‏‏‏‏‏‏‎‏‎‏‎‎‏‎‏‎‏‎‎‎‏‏‏‏‎‏‎Ranking object doesn\'t contain this key.‎‏‎‎‏‎"</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‏‏‏‎‏‏‎‏‎‏‏‏‎‎‎‏‏‎‏‎‎‎‎‏‏‏‎‏‎‎‎‎‏‏‎‏‎‎‎‏‏‏‏‎‎‏‎‏‏‏‎‏‏‎‎‏‏‎‎Theming‎‏‎‎‏‎"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‎‎‎‎‎‏‏‎‏‎‎‏‎‏‏‎‎‎‏‏‏‎‏‎‎‏‎‏‏‏‎‏‏‎‏‏‏‏‏‎‏‏‎‎‏‏‎‏‎‏‏‏‏‎‏‏‎‎Device default‎‏‎‎‏‎"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‏‏‏‎‏‏‏‎‏‎‏‎‏‏‎‏‎‏‏‎‏‎‏‎‏‎‎‏‎‎‏‎‏‏‏‎‏‏‏‎‎‎‏‏‎‎‎‏‏‎‏‎‎‏‏‏‎‎‎Display cutout‎‏‎‎‏‎"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‏‎‏‎‎‎‏‎‏‎‏‎‎‏‎‏‏‏‎‏‎‎‎‏‎‏‏‏‏‏‎‎‏‎‎‎‎‏‎‎‎‏‎‏‎‎‎‏‎‎‏‎‏‎‏‏‏‏‎display cutout, notch‎‏‎‎‏‎"</string>
@@ -4237,8 +4337,12 @@
     <string name="information_label" msgid="6939310810756569298">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‎‎‎‏‎‎‏‏‎‏‎‏‏‎‎‎‏‎‎‏‏‎‏‎‏‎‏‎‎‏‎‏‎‏‎‎‏‎‏‏‎‎‎‏‎‏‏‎‎‎‏‏‎‏‎‎‏‎‎Information‎‏‎‎‏‎"</string>
     <string name="low_label" msgid="6525629096999711220">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‎‏‎‎‎‏‏‏‏‏‎‏‏‎‎‎‏‎‎‎‏‎‏‏‎‏‏‏‎‎‏‏‎‏‎‎‏‏‏‏‎‏‏‏‏‎‎‎‏‏‏‏‏‎‏‎‎‎Low‎‏‎‎‏‎"</string>
     <string name="high_label" msgid="357503396626018487">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‎‎‏‏‏‏‎‏‏‎‎‎‎‏‏‎‏‏‎‏‏‏‎‎‎‏‏‏‏‏‎‎‎‏‏‏‏‎‎‎‏‏‏‎‏‏‎‎‎‎‏‎‏‏‎‏‏‏‎High‎‏‎‎‏‎"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‎‎‏‎‎‎‎‎‏‎‎‏‏‎‏‎‎‏‎‎‏‏‏‎‏‏‏‎‏‎‏‏‎‎‏‎‏‎‎‏‏‏‎‎‏‏‎‎‏‎‎‎‏‎‏‏‏‎‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎Higher sensitivity may conflict with any app gestures along the edges of the screen.‎‏‎‎‏‎"</string>
+    <string name="left_edge" msgid="1513576842959071849">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‎‏‎‎‎‎‎‎‎‏‎‏‎‎‏‏‏‎‎‎‎‏‏‏‏‎‏‎‎‏‎‎‎‎‏‏‎‏‎‏‎‏‎‎‏‎‏‎‏‎‎‏‏‎‏‎‎‏‎Left edge‎‏‎‎‏‎"</string>
+    <string name="right_edge" msgid="1505309103265829121">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‎‎‏‏‏‎‎‎‏‏‏‏‏‎‏‏‏‎‏‎‏‎‎‏‏‏‎‏‏‎‏‎‎‏‎‏‎‏‎‎‏‎‎‏‎‏‎‎‎‏‎‎‎‎‎‎‎‏‎Right edge‎‏‎‎‏‎"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‎‎‎‏‎‎‎‎‎‎‎‏‏‏‎‎‎‎‏‎‎‎‏‎‎‎‏‎‎‏‏‏‏‎‏‎‏‎‏‏‎‎‏‎‏‏‏‏‏‏‎‎‎‏‎‏‎‎Higher sensitivity may conflict with any app gestures along the edges of the screen.‎‏‎‎‏‎"</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‎‏‎‏‏‎‎‏‏‎‎‎‎‎‎‎‏‎‏‎‏‏‎‎‎‏‏‏‏‏‎‎‏‏‏‎‏‎‏‎‏‏‎‎‏‎‎‏‎‏‏‏‏‎‏‎‎‎‎Back Sensitivity‎‏‎‎‏‎"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‏‏‏‏‏‎‏‏‎‎‏‏‎‎‏‎‏‏‎‏‎‎‏‏‎‎‎‏‏‎‎‎‎‏‏‎‏‎‎‏‎‏‎‏‎‏‎‎‏‏‏‎‏‎‎‎‏‎‎Gesture Settings‎‏‎‎‏‎"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‎‏‎‏‎‎‎‎‏‏‏‎‏‎‎‏‏‏‎‏‏‎‎‏‎‏‎‎‏‎‏‎‎‏‏‏‏‎‎‎‏‎‏‏‏‎‏‏‏‎‏‎‎‏‎‎‏‏‎gesture navigation, back sensitivity, back gesture‎‏‎‎‏‎"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‎‏‏‎‏‎‏‏‎‎‎‎‏‏‎‏‎‎‎‎‎‎‏‏‏‎‎‏‏‎‎‏‎‏‎‎‎‏‏‏‏‏‎‎‏‏‏‎‎‏‏‏‏‎‎‏‎‎‎Double-tap to check phone‎‏‎‎‏‎"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‎‏‎‏‏‎‏‏‎‏‎‏‏‏‏‎‎‏‏‎‏‏‏‏‎‏‎‏‎‎‎‏‎‏‎‏‏‏‏‎‎‏‎‎‎‏‏‎‎‏‎‎‎‏‎‏‎‎‏‎Double-tap to check tablet‎‏‎‎‏‎"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‎‏‏‏‎‎‏‎‎‏‏‏‎‏‏‏‏‎‎‎‎‎‎‎‎‎‏‎‎‏‏‎‎‎‏‏‏‏‏‏‎‏‎‎‎‏‏‎‏‎‏‏‎‏‎‎‏‎‎Double-tap to check device‎‏‎‎‏‎"</string>
@@ -4393,7 +4497,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‎‏‏‎‏‎‎‏‎‎‎‎‏‎‏‏‏‏‎‏‏‎‎‏‎‏‏‏‏‎‏‎‏‏‏‏‏‎‏‎‏‎‏‏‎‎‎‏‎‎‏‎‏‎‎‏‎‏‎Trigger Carrier Provisioning‎‏‎‎‏‎"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‏‏‎‎‏‏‎‏‏‏‏‎‎‎‏‎‎‏‎‎‏‎‎‎‎‎‎‏‏‎‏‏‎‏‎‏‎‏‎‎‎‎‎‎‎‎‎‏‎‏‏‎‎‎‎‏‎‎‎Update Do Not Disturb‎‏‎‎‏‎"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‎‎‏‏‏‏‏‎‎‎‎‏‏‎‏‎‏‎‏‎‏‏‎‏‎‏‏‎‏‏‎‏‎‏‏‎‎‏‎‏‏‏‎‏‏‏‏‏‎‏‏‎‎‎‏‎Pause notifications to stay focused‎‏‎‎‏‎"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‏‏‏‎‏‏‏‎‎‎‏‎‏‏‏‎‏‎‏‏‎‏‏‏‏‎‎‏‎‏‏‎‏‎‎‏‎‎‏‏‎‎‏‏‏‎‏‎‏‎‏‏‏‏‏‏‏‎‎This feature is not available on this device‎‏‎‎‏‎"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‏‏‎‎‏‏‏‏‏‎‏‏‏‏‏‏‏‏‎‎‏‎‎‎‏‎‏‎‏‏‎‎‏‏‏‎‏‏‎‎‏‎‏‏‏‎‏‎‎‏‏‏‎‏‎‎‏‏‎Feature not available‎‏‎‎‏‎"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‏‏‏‎‏‏‎‏‎‏‎‏‎‎‎‎‎‏‏‏‎‎‏‏‏‎‏‏‎‏‎‎‎‏‎‎‎‏‏‏‏‏‏‎‎‎‏‏‏‎‏‏‎‎‎‏‎‎‎This feature has been turned off because it slows down your phone‎‏‎‎‏‎"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‏‏‎‏‎‎‎‎‎‏‎‏‏‏‎‎‏‎‏‏‎‏‎‏‏‎‏‎‏‎‎‎‏‎‎‎‎‎‎‎‏‏‎‏‎Force full GNSS measurements‎‏‎‎‏‎"</string>
@@ -4403,20 +4506,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‏‏‏‏‏‎‎‎‏‏‏‏‏‏‎‎‎‏‏‏‎‏‏‎‎‏‏‏‏‏‏‎‏‏‎‎‎‏‏‎‎‎‏‏‎‎‎‎‏‏‏‏‏‎‎‏‎‎‎Select ANGLE enabled app‎‏‎‎‏‎"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‏‎‎‎‎‏‎‎‎‏‏‏‎‎‎‏‎‎‏‎‏‏‏‏‎‏‏‏‏‎‏‎‎‎‎‏‎‏‏‎‏‎‏‎‎‏‎‎‏‎‎‏‏‏‎‎‏‏‎No ANGLE enabled application set‎‏‎‎‏‎"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‎‎‎‏‏‎‏‎‎‏‎‎‏‏‎‎‎‏‎‏‏‎‏‏‏‏‏‎‎‎‏‏‎‏‎‏‎‏‏‎‎‎‎‏‏‏‏‎‏‏‎‎‏‏‏‏‎‏‎ANGLE enabled application: ‎‏‎‎‏‏‎<xliff:g id="APP_NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‏‏‏‎‎‎‎‏‏‎‎‎‏‎‎‏‏‏‎‏‎‏‎‏‏‎‏‏‏‏‏‏‎‎‎‏‏‎‎‏‎‏‏‏‎‎‎‎‏‏‏‏‏‏‏‎‏‎‎Game Driver Preferences‎‏‎‎‏‎"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‎‎‏‎‏‎‏‏‏‏‏‏‏‎‎‏‎‏‎‎‏‏‏‎‎‎‎‏‎‏‎‏‎‎‎‏‏‏‏‏‏‎‏‏‏‏‏‏‎‏‎‏‎‏‏‏‏‎‎Modify Game Driver settings‎‏‎‎‏‎"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‏‏‎‏‏‎‏‏‏‏‏‎‏‎‏‎‏‎‎‏‏‏‎‎‏‏‎‏‎‏‎‎‎‎‎‎‎‏‎‎‎‏‏‎‎‏‏‏‎‎‎‎‎‏‏‎‎‏‎When Game Driver is turned on, you can pick to use the updated graphics driver for Apps installed on the device.‎‏‎‎‏‎"</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‎‎‎‎‏‎‎‏‎‎‏‎‎‎‎‏‏‏‎‏‏‎‏‎‎‎‎‎‎‏‎‎‎‏‎‎‎‎‏‏‎‎‎‎‏‏‎‏‎‏‏‏‎‎‏‎‏‏‎Enable for all apps‎‏‎‎‏‎"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‏‏‎‎‏‏‏‏‏‏‏‏‎‏‏‏‎‏‎‎‏‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‏‎‏‏‏‏‎‎‏‏‎‏‎‎‎‎‏‏‎‎‏‏‎Select Graphics Driver‎‏‎‎‏‎"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‏‏‎‎‏‏‏‏‎‏‏‎‏‎‎‏‏‎‎‏‏‏‎‏‏‎‏‏‎‎‎‏‏‏‏‏‏‎‎‏‎‎‎‏‏‎‎‏‏‏‎‏‎‎‎‏‎‎Default‎‏‎‎‏‎"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‎‎‎‏‎‏‎‎‏‎‎‏‏‏‎‏‏‏‎‎‎‎‎‎‎‎‏‎‎‎‏‏‎‎‏‏‎‎‎‎‏‎‎‏‏‎‎‎‏‎‎‎‏‏‏‏‏‏‎Game Driver‎‏‎‎‏‎"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‎‎‏‎‏‏‏‏‎‎‎‎‏‎‏‎‎‎‏‎‏‎‏‎‏‏‏‎‏‏‎‏‏‏‏‏‏‎‏‎‏‎‏‏‏‎‎‏‏‎‎‎‎‎‏‎‎‏‎Prerelease Driver‎‏‎‎‏‎"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‎‎‏‎‏‏‎‏‎‎‏‎‎‏‎‏‎‏‎‎‏‎‎‏‎‎‎‏‎‏‎‏‏‎‎‎‏‎‎‎‎‎‎‏‏‏‏‎‎‎‏‏‏‎‎‎‏‏‎System Graphics Driver‎‏‎‎‏‎"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‏‎‏‎‎‏‎‎‎‎‎‎‏‏‎‏‏‎‏‎‏‎‎‏‎‏‏‏‎‏‎‏‏‎‎‎‎‎‎‎‎‎‏‎‏‏‎‏‎‏‎‎‎‏‎‏‎‎‎Graphics Driver Preferences‎‏‎‎‏‎"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‎‎‎‎‎‏‏‎‏‏‎‏‎‏‎‎‏‏‎‏‏‏‏‎‏‎‏‎‎‎‎‎‎‎‎‏‏‏‏‏‏‏‎‏‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎Modify graphics driver settings‎‏‎‎‏‎"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‏‏‎‎‎‏‏‎‏‏‎‎‏‏‏‎‏‏‏‎‎‏‎‏‏‏‎‏‎‏‏‎‎‏‎‎‎‎‏‎‏‎‏‎‏‏‏‎‎‏‏‏‎‎‎‏‏‎‎When there are multiple graphics drivers, you can pick to use the updated graphics driver for Apps installed on the device.‎‏‎‎‏‎"</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‏‎‏‎‏‎‎‎‏‏‏‎‎‎‎‏‏‎‏‏‎‏‏‎‎‏‏‎‎‏‎‎‎‏‏‏‎‎‎‏‎‎‎‏‎‏‎‎‏‎‎‎‎‎‎‎‎‎‎Enable for all apps‎‏‎‎‏‎"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‏‎‏‏‏‏‎‏‏‏‎‎‎‏‏‏‏‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‏‎‎‎‎‏‎‎‏‎‏‏‎‎‏‏‎‏‏‎‏‎‎‏‎Select Graphics Driver‎‏‎‎‏‎"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‏‎‏‎‎‏‏‎‏‏‏‏‎‎‏‏‏‏‎‏‎‎‎‏‎‏‏‏‎‎‎‎‎‏‏‏‏‎‎‎‎‎‏‏‎‎‏‏‏‏‎‎‎‎‏‏‏‏‎Default‎‏‎‎‏‎"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‏‎‎‏‏‏‎‏‏‏‎‏‏‎‎‎‎‏‎‎‎‎‎‏‏‎‎‏‎‏‎‏‎‎‏‏‏‎‎‎‎‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‎‎Game Driver‎‏‎‎‏‎"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‏‎‎‎‎‏‎‏‎‏‏‎‎‎‎‎‏‎‏‎‎‏‏‎‎‏‎‏‏‎‏‎‏‎‎‏‎‏‏‏‏‏‏‎‎‏‎‏‎‏‎‏‏‎‏‎‎‎‎Developer Driver‎‏‎‎‏‎"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‎‎‎‎‎‏‏‎‏‏‏‎‎‎‏‎‏‏‏‎‎‎‏‏‎‎‎‏‎‏‎‎‎‎‏‏‏‏‎‎‏‎‎‏‎‏‏‏‏‏‎‏‏‏‏‏‏‎‎System Graphics Driver‎‏‎‎‏‎"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‏‎‎‏‎‏‏‏‏‏‏‎‏‏‏‎‎‏‎‏‎‎‏‎‏‎‏‏‏‎‎‏‎‏‎‎‎‎‏‏‎‏‎‏‎‏‎‏‏‎‏‎‎‏‏‏‎‎‎App Compatibility Changes‎‏‎‎‏‎"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‎‎‎‎‎‎‎‏‎‎‏‎‏‏‎‎‎‏‏‏‎‎‎‎‎‎‏‏‎‏‏‏‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‏‏‏‏‎‏‎‏‎‎‏‎Toggle app compatibility changes‎‏‎‎‏‎"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‎‏‎‎‎‎‏‏‎‏‏‏‏‏‏‎‎‏‏‎‏‏‏‎‏‏‏‏‏‎‎‎‎‏‎‏‏‎‎‎‎‏‏‏‎‎‎‏‎‎‎‏‏‏‎‎‎‎Default enabled changes‎‏‎‎‏‎"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‏‎‎‏‎‏‏‎‏‎‎‎‎‏‎‏‏‏‏‏‏‎‎‏‎‎‎‏‏‎‏‎‏‏‏‏‏‏‏‎‏‎‎‏‏‎‏‎‎‎‏‎‎‎‎‏‎‎Default disabled changes‎‏‎‎‏‎"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‏‏‎‎‎‎‏‏‏‏‏‎‎‎‎‎‏‎‎‏‏‎‎‏‏‏‏‏‎‏‏‎‏‎‎‎‎‏‎‎‏‎‏‎‎‎‏‏‎‏‎‏‎‏‏‏‎‎‎Setting isn’t supported on this phone‎‏‎‎‏‎"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‏‎‏‎‏‏‏‎‏‎‏‎‏‎‏‎‎‎‎‏‏‎‏‏‏‎‎‏‏‎‏‏‏‎‎‏‎‎‎‎‎‏‏‎‎‎‏‎‏‏‎‏‎‎‎‎‎‎‎Setting isn’t supported on this tablet‎‏‎‎‏‎"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‏‏‏‎‎‎‎‎‎‎‏‏‎‎‎‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‎‏‏‎‏‏‎‏‏‏‎‏‏‏‎‏‎‎‏‏‏‏‎‎‎‏‎Setting isn’t supported on this device‎‏‎‎‏‎"</string>
@@ -4435,6 +4544,11 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‎‏‏‏‏‎‏‏‏‏‏‎‏‏‏‎‏‏‎‎‏‎‏‏‏‏‎‎‏‏‎‎‏‏‏‎‎‎‏‎‎‎‏‎‎‏‏‏‏‏‎‏‎‏‏‏‎‏‎Device‎‏‎‎‏‎"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‏‎‏‎‎‏‏‎‎‎‎‎‏‏‎‏‎‏‏‎‏‎‎‎‎‏‎‎‏‎‎‎‎‏‎‎‏‎‏‎‏‏‎‏‏‏‎‏‎‏‎‏‏‏‏‎‏‏‎Unavailable during calls‎‏‎‎‏‎"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‎‏‎‏‏‎‎‏‏‎‏‏‎‎‎‏‎‏‏‏‎‏‏‎‎‏‏‎‏‏‎‏‏‎‏‎‎‎‏‎‎‎‏‏‎‎‏‎‎‎‎‎‏‎‎‏‎‏‎Unavailable‎‏‎‎‏‎"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‎‏‏‎‏‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‎‎‎‏‏‏‎‎‎‎‎‏‏‏‏‎‎‏‏‏‎‏‎‎‎‏‎‎‎‎‎‎‎‏‏‎‏‎Add outputs‎‏‎‎‏‎"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‎‏‏‏‏‎‎‎‏‏‎‎‏‏‎‏‎‏‏‏‎‏‏‎‎‎‏‎‏‎‏‏‎‏‏‏‏‏‎‏‏‎‎‏‎‏‎‏‏‎‏‎‎‏‏‏‎‎‎Group‎‏‎‎‏‎"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‏‏‏‎‎‎‏‏‎‏‎‏‎‎‎‎‏‏‏‏‎‏‏‎‎‏‎‎‏‏‎‎‏‏‏‏‎‎‏‏‏‏‎‎‎‏‏‏‎‎‎‏‎‎‏‎‎‎1 device selected‎‏‎‎‏‎"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‏‏‎‎‏‎‎‏‎‏‎‎‎‏‏‏‎‏‎‏‏‏‎‏‎‏‎‎‎‎‎‏‏‏‎‏‎‏‏‏‏‎‎‎‏‎‎‏‎‎‎‎‎‏‎‎‎‎‎‎‏‎‎‏‏‎<xliff:g id="COUNT">%1$d</xliff:g>‎‏‎‎‏‏‏‎ devices selected‎‏‎‎‏‎"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‏‏‏‏‏‎‏‎‏‏‎‏‏‏‏‏‎‏‎‏‎‏‎‎‎‏‏‎‏‏‏‏‏‎‎‏‏‏‎‏‏‎‏‏‏‎‏‎‎‏‎‏‎‎‎‎‏‎‎Switching…‎‏‎‎‏‎"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‏‎‎‎‏‏‎‏‏‏‎‎‏‏‏‏‏‏‎‏‏‏‏‎‎‏‎‎‎‎‏‏‏‏‎‎‎‎‎‎‏‎‏‎Take call on‎‏‎‎‏‎"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‎‎‎‎‎‏‏‏‎‏‏‎‎‎‎‏‏‎‎‎‏‏‎‏‏‏‏‎‏‎‏‎‎‎‏‏‎‎‎‏‏‎‏‎‏‏‏‎‏‏‎‏‎‏‎‏‎‏‎This APN cannot be changed.‎‏‎‎‏‎"</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‎‏‎‎‏‎‏‏‎‏‎‎‏‏‏‎‏‎‏‏‎‎‏‎‏‏‏‏‏‏‎‏‏‏‏‏‎‏‎‏‏‎‎‏‎‎‏‏‎‏‏‏‏‏‏‎‎‏‎Improve tablet\'s battery life‎‏‎‎‏‎"</string>
@@ -4552,10 +4666,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‎‏‎‏‎‏‏‏‎‎‏‏‏‏‏‎‏‏‏‏‏‏‎‎‎‏‏‎‏‎‏‏‎‎‎‏‏‏‎‎‎‏‎‏‎‎‎‏‎‏‏‎‏‎‎‏‎‏‎Only one downloaded SIM can be active at a time.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎Switching to ‎‏‎‎‏‏‎<xliff:g id="CARRIER1">%1$s</xliff:g>‎‏‎‎‏‏‏‎ won\'t cancel your ‎‏‎‎‏‏‎<xliff:g id="CARRIER2">%2$s</xliff:g>‎‏‎‎‏‏‏‎ service.‎‏‎‎‏‎"</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‎‏‎‏‎‏‏‎‏‏‎‎‏‎‏‏‏‎‎‏‏‏‎‏‏‏‎‎‎‏‎‏‏‏‎‎‎‏‏‎‎‎‎‏‎‎‏‎‏‎‏‏‎‏‏‏‏‎Switch to ‎‏‎‎‏‏‎<xliff:g id="CARRIER">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‎‎‎‏‏‏‏‎‏‏‏‎‎‎‎‏‏‏‎‏‏‎‎‏‏‏‎‎‏‎‎‏‎‏‎‎‏‎‏‏‏‏‎‏‏‎‎‎‎‏‎‏‏‎‎‏‎‎Erase SIM‎‏‎‎‏‎"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‏‎‎‎‏‏‎‎‎‎‏‎‏‎‏‎‏‎‏‏‎‏‎‎‏‏‎‏‎‏‎‏‏‏‎‏‎‎‎‎‎‎‎‏‏‎‏‎‏‎‎‎‎‎‏‏‏‎‎Erase this downloaded SIM?‎‏‎‎‏‎"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‎‎‎‎‎‏‎‏‎‎‎‎‎‎‏‏‏‎‏‏‎‏‏‎‏‏‏‎‏‎‎‏‏‎‏‏‎‎‏‏‏‏‏‎‏‏‏‏‎‎‎‏‎‎‎‏‏‎Erasing this SIM removes ‎‏‎‎‏‏‎<xliff:g id="CARRIER_0">%1$s</xliff:g>‎‏‎‎‏‏‏‎ service from this device.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎Service for ‎‏‎‎‏‏‎<xliff:g id="CARRIER_1">%2$s</xliff:g>‎‏‎‎‏‏‏‎ won’t be canceled.‎‏‎‎‏‎"</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‏‏‎‏‏‏‏‎‏‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‎‎‏‏‎‎‏‏‎‎‎‏‏‏‏‏‎‏‏‏‏‎‏‎‎‏‏‏‏‎‎‎‏‎‎Erase‎‏‎‎‏‎"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‎‏‏‏‏‏‎‎‎‏‎‎‏‎‎‏‎‏‏‎‎‏‎‎‎‏‎‎‎‎‏‏‏‏‏‎‎‎‎‎‏‏‏‏‏‎‎‏‎‎‏‏‏‎‎‏‎‏‎‎Erasing SIM…‎‏‎‎‏‎"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‎‏‎‏‏‎‏‏‏‏‎‎‎‏‎‎‏‎‏‎‏‎‎‏‎‎‏‏‏‏‏‎‎‎‎‎‏‎‎‎‏‎‎‎‎‏‎‎‎‎‎‏‎‎‏‏‎‎Can’t erase SIM‎‏‎‎‏‎"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‎‎‏‏‎‏‏‎‎‎‎‎‏‏‎‎‏‎‏‏‏‎‏‏‏‎‎‎‏‏‏‎‏‏‏‏‏‎‎‏‎‎‎‎‏‎‎‏‎‎‏‏‏‎‎‏‏‎‎This SIM can’t be erased due to an error.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎Restart your device and try again.‎‏‎‎‏‎"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‎‏‏‎‎‏‎‏‎‏‎‎‎‏‏‎‎‎‏‎‎‏‏‏‏‏‎‏‏‏‏‎‎‏‏‏‎‏‏‎‏‏‏‎‏‏‎‏‏‎‏‎‎‏‏‎‎‎Preferred network type‎‏‎‎‏‎"</string>
@@ -4580,7 +4690,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‎‏‏‎‏‎‏‎‎‏‏‎‎‏‏‎‎‎‎‏‎‎‎‏‎‎‏‎‎‏‏‏‏‏‏‏‏‎‎‎‏‎‏‏‎‎‎‏‎‏‎‎Invalid Network Mode ‎‏‎‎‏‏‎<xliff:g id="NETWORKMODEID">%1$d</xliff:g>‎‏‎‎‏‏‏‎. Ignore.‎‏‎‎‏‎"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‎‏‎‏‏‏‏‎‏‎‏‏‎‎‏‎‎‎‏‏‎‏‏‏‏‏‎‏‏‏‎‏‎‎‏‏‎‎‏‏‏‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‎‎Access Point Names‎‏‎‎‏‎"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‏‎‏‏‏‎‎‎‏‎‏‎‏‎‏‎‏‏‏‏‎‎‎‎‎‏‎‏‎‎‎‏‎‏‏‎‎‎‏‎‏‎‎‎‏‏‎‏‏‎‎‏‏‎‏‏‏‏‎Unavailable when connected to ‎‏‎‎‏‏‎<xliff:g id="CARRIER">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‏‎‎‎‎‏‎‎‎‏‏‏‎‎‎‏‏‏‎‏‏‏‏‎‎‏‏‎‎‎‎‏‏‎‏‏‏‏‎‎‎‏‏‎‏‎‎‏‏‎‏‎‏‎‏‏‏‏‎Medical info, emergency contacts‎‏‎‎‏‎"</string>
     <string name="see_more" msgid="7499355691042812723">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‎‎‎‎‎‏‎‎‏‏‎‎‎‏‎‎‎‎‎‏‎‎‎‏‎‎‏‎‎‎‏‎‎‎‏‏‏‎‏‎‎‏‎‎‏‏‎‎‏‏‎‎‏‏‎‎‏‏‎See more‎‏‎‎‏‎"</string>
     <string name="see_less" msgid="2642392725363552793">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‎‎‏‎‏‎‏‎‏‏‏‎‏‎‏‎‏‎‎‎‏‎‏‏‏‏‎‎‎‎‏‎‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‎‏‎‎‎‎‏‏‎‎‏‎See less‎‏‎‎‏‎"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‎‏‏‏‏‏‏‎‏‏‎‎‎‏‎‎‎‏‏‏‏‎‏‎‎‎‎‎‎‎‏‏‎‎‎‏‎‏‎‏‏‏‎‏‏‎‏‎‎‏‎‏‏‎‎‎‎‎Device to use with ‎‏‎‎‏‏‎<xliff:g id="APPNAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
@@ -4589,11 +4698,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‏‎‏‎‏‎‎‎‏‏‏‎‏‎‎‏‏‏‏‏‎‏‏‏‏‎‏‎‏‏‏‏‎‏‎‎‏‏‎‏‏‏‎‎‎‏‎‎‏‎‎‎‏‎‎‏‏‏‎Something came up. The application has cancelled the request to choose a device.‎‏‎‎‏‎"</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‏‏‏‏‎‎‏‏‏‏‏‏‏‏‏‎‎‎‏‏‏‎‎‏‎‎‎‎‎‏‎‏‎‎‎‏‏‏‎‎‏‎‏‎‏‏‏‏‎‎‏‏‎‏‏‎‎‎Connection successful‎‏‎‎‏‎"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‎‎‏‎‏‏‎‏‎‏‎‎‏‎‏‎‎‎‎‏‏‏‏‎‏‏‏‏‎‏‎‏‎‏‏‏‏‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‎‎‎‎‎‎‎Show all‎‏‎‎‏‎"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="other">‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‎‎‏‏‎‏‎‎‏‎‎‎‏‏‎‎‏‏‏‎‏‎‎‏‎‏‏‎‏‏‎‎‎‎‏‎‏‏‏‎‏‎‏‏‎‏‏‎‏‏‎‏‏‎‏‏‎‎‎‎‏‎‎‏‏‎<xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g>‎‏‎‎‏‏‏‎ devices connected‎‏‎‎‏‎</item>
-      <item quantity="one">‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‎‎‏‏‎‏‎‎‏‎‎‎‏‏‎‎‏‏‏‎‏‎‎‏‎‏‏‎‏‏‎‎‎‎‏‎‏‏‏‎‏‎‏‏‎‏‏‎‏‏‎‏‏‎‏‏‎‎‎‎‏‎‎‏‏‎<xliff:g id="NUMBER_DEVICE_COUNT_0">%1$d</xliff:g>‎‏‎‎‏‏‏‎ device connected‎‏‎‎‏‎</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‏‏‏‎‎‏‎‎‎‏‏‎‏‏‎‏‏‏‎‎‏‎‎‎‎‏‏‏‎‎‎‏‏‎‏‎‎‎‎‎‎‏‎‎‏‎‏‎‏‎‎‏‏‏‏‏‎‎‎No Bluetooth devices‎‏‎‎‏‎"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‏‎‎‏‎‎‎‎‏‏‏‎‎‏‎‏‎‏‏‏‎‎‏‏‎‎‎‎‎‎‏‎‏‏‏‎‏‎‏‏‎‏‏‏‏‏‎‎‏‎‎‎‎‏‎‎‏‎‎Searching for device…‎‏‎‎‏‎"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‏‎‎‎‎‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‎‏‏‏‏‎‏‎‎‎‎‎‎‏‏‎‎‏‏‏‏‎‎‎‏‏‏‏‎‎‎‎‏‎‎‏‎Connecting to device…‎‏‎‎‏‎"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‏‏‎‏‎‎‎‎‎‎‎‏‏‎‏‎‏‎‏‏‎‏‏‎‎‏‏‏‎‎‎‎‎‏‏‏‏‎‏‏‎‏‏‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‎Left‎‏‎‎‏‎"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‎‏‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎‏‏‏‏‎‎‏‏‎‎‎‎‎‎‎‏‎‎‏‏‎‏‎‎‏‎‎‎‏‏‏‏‏‎‎‎‏‎‏‎‏‎Right‎‏‎‎‏‎"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‎‎‏‎‎‎‎‎‎‏‏‏‎‎‎‎‏‎‎‎‏‎‏‎‎‏‎‎‏‏‎‎‎‏‏‎‏‎‏‏‏‎‏‏‏‎‎‏‎‎‎‎‎‏‏‏‏‎Case‎‏‎‎‏‎"</string>
@@ -4603,6 +4709,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‎‎‎‎‏‏‎‏‎‏‏‎‏‏‏‎‎‏‎‎‎‎‎‎‏‏‎‏‎‏‎‎‏‏‏‎‎‎‎‏‏‎‏‎‏‏‏‏‎‏‎‎‎‎‎‏‏‏‎Unavailable during airplane mode‎‏‎‎‏‎"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‏‎‏‎‎‎‏‏‎‏‏‎‏‎‏‎‏‏‏‏‎‏‎‏‏‏‎‎‏‎‏‏‏‎‏‏‎‏‏‎‏‏‎‎‎‏‏‎‎‎‎‏‎‏‏‏‏‎‎Force desktop mode‎‏‎‎‏‎"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‏‏‏‎‏‎‏‎‎‏‏‏‎‎‎‏‏‏‎‏‎‏‎‏‏‎‎‎‎‎‏‏‎‎‏‎‏‎‎‏‏‎‏‏‎‎‎‎‎‎‎‎‏‎‏‏‏‏‎Force experimental desktop mode on secondary displays‎‏‎‎‏‎"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‎‎‏‎‏‏‏‎‏‏‎‏‏‏‎‎‎‏‎‎‏‎‏‏‏‏‏‏‎‎‏‏‏‏‏‎‎‏‏‎‎‎‎‎‏‎‏‏‏‏‏‎‎‏‎‏‎‏‎Enable freeform sizecompat‎‏‎‎‏‎"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‎‎‏‎‎‏‏‎‎‎‎‏‏‎‎‏‏‏‏‏‎‎‎‏‎‏‎‏‎‏‏‎‏‎‎‎‏‏‎‏‎‎‏‎‏‏‏‎‎‏‏‎‎‏‏‎‏‏‎Allows sizecompat apps to be in freeform‎‏‎‎‏‎"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‏‏‎‎‎‏‎‎‏‏‏‎‎‏‎‎‎‎‎‏‏‏‎‏‎‏‎‎‏‎‎‏‏‎‏‏‎‏‎‎‎‎‎‎‎‏‎‎‎‏‎‏‏‎‏‎‏‏‎Override force-dark‎‏‎‎‏‎"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‎‎‏‏‎‏‏‎‎‏‎‎‏‎‏‏‎‏‏‏‏‏‏‏‎‏‎‏‎‏‏‏‎‎‏‎‎‎‏‏‎‎‎‎‏‎‎‏‏‏‎‎‎‎‎‎‏‎Overrides the force-dark feature to be always-on‎‏‎‎‏‎"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‏‎‏‏‏‏‏‏‏‏‏‏‎‎‎‎‏‎‏‎‎‎‎‎‏‎‏‏‎‎‏‎‎‏‏‎‏‏‎‎‎‏‎‏‏‏‎‎‎‏‎‎‏‏‎‏‏‎‎Privacy‎‏‎‎‏‎"</string>
@@ -4639,6 +4747,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‎‎‎‏‏‏‏‏‎‎‏‏‎‎‎‎‎‏‎‎‏‎‎‏‎‎‎‏‎‎‏‏‏‏‏‏‏‏‎‏‎‎‎‏‏‎‎‎‎‎‎‎‏‏‏‎‎‎You recently installed this app.‎‏‎‎‏‎"</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‏‎‎‎‏‎‏‎‏‏‎‏‏‎‏‏‎‏‏‎‏‏‏‏‎‏‎‏‎‏‎‏‏‎‏‎‎‏‏‏‎‏‏‎‎‏‏‏‎‎‎‎‎‎‎‏‏‏‎Switch output‎‏‎‎‏‎"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‎‏‎‎‏‎‎‎‎‎‏‎‎‏‎‏‏‎‎‎‏‎‏‏‏‎‏‎‎‏‎‏‏‎‎‎‎‏‎‎‏‎‏‎‏‏‏‎‏‏‏‏‎‎‎‎‏‏‎Currently playing on ‎‏‎‎‏‏‎<xliff:g id="DEVICE_NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‎‏‎‏‎‎‎‎‏‎‎‏‎‏‏‎‏‎‏‎‎‎‏‎‏‎‎‏‏‎‎‏‎‏‎‎‏‎‎‏‏‏‏‎‎‎‏‏‎‎‏‏‏‏‏‎‎‏‎‎‏‎‎‏‏‎<xliff:g id="DEVICE_NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎ (disconnected)‎‏‎‎‏‎"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‎‎‎‏‏‎‎‎‎‎‎‏‎‎‏‎‎‏‏‏‎‎‏‎‎‎‏‎‎‏‎‏‎‏‎‎‎‎‎‏‏‏‏‎‎‏‏‎‏‎‏‎‎‏‏‏‏‏‎Can’t switch. Tap to try again.‎‏‎‎‏‎"</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‎‎‎‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎‎‏‏‏‏‎‏‎‎‏‏‏‏‎‎‏‎‎‏‎‏‎‎‎‎‏‏‎‎‎‏‏‎‏‎‏‏‏‏‎Important information‎‏‎‎‏‎"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‎‎‏‎‏‎‏‎‎‏‎‏‎‎‎‏‏‎‏‎‏‏‎‏‏‏‏‏‏‎‏‎‏‎‎‎‏‏‏‎‏‏‎‎‏‎‏‎‎‎‏‎‏‎‏‎‎‎‎CONTINUE‎‏‎‎‏‎"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‎‎‏‏‏‎‏‎‎‏‏‎‏‎‏‏‏‏‎‏‎‏‏‏‎‏‏‎‏‎‎‏‎‎‏‎‎‎‎‎‏‏‏‎‏‏‎‏‎‎‏‏‏‎‎‏‏‏‎NO THANKS‎‏‎‎‏‎"</string>
@@ -4666,8 +4776,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‏‎‏‎‎‎‏‏‏‏‎‏‎‏‏‏‏‎‎‏‏‏‎‏‎‏‎‏‏‏‏‏‎‎‏‎‏‎‎‏‏‎‎‏‎‏‎‎‏‎‎‏‏‏‏‏‎‎‎SIM combination‎‏‎‎‏‎"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‎‏‏‎‎‎‎‎‎‏‏‎‏‏‏‎‎‏‎‎‏‎‏‎‏‎‎‏‏‏‏‎‏‏‎‎‏‎‏‎‏‏‏‏‎‏‎‎‎‏‏‏‏‎‎‏‎‎‎Your work policy info‎‏‎‎‏‎"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‎‏‏‎‎‏‎‎‏‏‏‏‎‎‏‎‏‏‎‏‎‎‎‏‏‎‎‏‎‎‏‏‏‎‎‎‏‎‏‏‏‎‏‎‎‎‎‏‎‎‎‎‎‎‎‏‎‏‎Settings managed by your IT admin‎‏‎‎‏‎"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‎‏‎‏‏‎‏‏‏‎‎‏‎‏‏‎‏‏‎‎‏‎‏‏‏‏‏‎‏‎‏‏‏‏‏‏‏‏‎‏‎‎‎‎‏‎‏‎‏‎‏‎‏‏‏‏‏‏‎GPU‎‏‎‎‏‎"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‎‏‏‏‏‎‎‏‏‎‏‎‏‎‎‏‎‏‏‏‎‏‏‏‎‎‏‏‏‎‎‎‏‏‏‎‎‎‎‎‏‏‏‎‏‏‎‏‎‏‎‏‎‎‏‏‎‏‎Bug report handler‎‏‎‎‏‎"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‎‎‏‏‏‏‏‏‏‎‏‎‏‎‏‏‎‎‎‎‎‏‏‎‎‏‎‎‎‎‎‏‏‎‏‏‏‎‏‏‏‎‏‎‏‎‏‏‏‎‏‎‎‏‎‎‏‎Determines which app handles the Bug Report shortcut on your device.‎‏‎‎‏‎"</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‎‏‏‎‎‎‎‏‎‏‏‎‏‎‏‏‎‎‏‎‏‏‎‏‎‏‎‎‏‎‏‏‏‎‏‏‎‎‏‎‏‎‏‏‎‎‎‏‏‏‏‎‎‏‏‏‎‎‎Personal‎‏‎‎‏‎"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‏‎‎‏‏‎‏‎‎‎‏‏‏‎‏‏‎‏‏‎‎‎‏‏‎‏‏‏‎‎‏‎‎‎‎‏‏‏‎‎‎‎‏‏‏‎Work‎‏‎‎‏‎"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‎‎‎‏‎‏‎‏‎‎‏‏‏‏‎‎‎‎‏‎‎‏‎‏‎‎‏‎‎‏‎‎‏‏‏‏‏‏‏‏‎‏‎‎‎‎‎‎‏‏‏‎‏‎‎‏‏‏‎System default‎‏‎‎‏‎"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‏‎‏‏‏‎‏‎‏‏‏‎‎‎‏‎‏‏‎‏‎‏‏‏‏‏‎‏‏‎‎‏‏‎‏‎‏‏‎‎‏‏‎‎‏‏‎‏‎‎‎‏‎‎‎‏‎‎‎This choice is no longer valid. Try again.‎‏‎‎‏‎"</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‎‎‏‎‎‏‎‏‎‏‎‏‎‏‏‎‎‏‎‏‎‏‎‎‏‎‏‏‎‏‏‏‏‎‎‎‎‏‎‏‏‏‏‎‏‎‏‏‏‏‏‏‏‏‏‎‏‏‎Stop casting‎‏‎‎‏‎"</string>
 </resources>
diff --git a/res/values-es-rUS/arrays.xml b/res/values-es-rUS/arrays.xml
index b5cee26..75c783e 100644
--- a/res/values-es-rUS/arrays.xml
+++ b/res/values-es-rUS/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"De inmediato"</item>
     <item msgid="463591454172790676">"5 segundos"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"No validar"</item>
+    <item msgid="5703177653586269306">"Solicita el estado de certificado"</item>
+    <item msgid="326388247868439528">"Requiere el estado de certificado"</item>
+    <item msgid="1090956283885790552">"Requiere todos los estados de certificados que no sean de confianza"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"Presionar botón"</item>
     <item msgid="2630618799033509548">"PIN del dispositivo par"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"Ninguno"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"VPN IPSec con claves precompartidas y autenticación Xauth"</item>
     <item msgid="2484564813864139237">"VPN IPSec con certificados y autenticación Xauth"</item>
     <item msgid="68918911194507915">"VPN IPSec con certificados y autenticación híbrida"</item>
+    <item msgid="4631647675167100375">"VPN IKEv2/IPSec con certificados y autenticación con usuario y contraseña"</item>
+    <item msgid="8812228622975052811">"VPN L2TP/IPSec con claves precompartidas"</item>
+    <item msgid="6630554779981113046">"VPN L2TP/IPSec con certificados"</item>
   </string-array>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"Ninguno"</item>
diff --git a/res/values-es-rUS/config.xml b/res/values-es-rUS/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-es-rUS/config.xml
+++ b/res/values-es-rUS/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index e1b9072..edf8800 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -31,49 +31,17 @@
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Primero habilita las opciones para programador."</string>
     <string name="header_category_wireless_networks" msgid="303445626075235229">"Conexiones inalámbricas y redes"</string>
     <string name="header_category_system" msgid="1665516346845259058">"Sistema"</string>
-    <string name="radio_info_data_connection_enable" msgid="7500945447906187613">"Habilitar la conexión de datos"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"Inhabilitar la conexión de datos"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"VoLTE suministrada"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"Videollamadas suministradas"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"Llamadas por Wi-Fi suministradas"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"EAB/Presence suministrados"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"Datos de CBRS"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"Habilitar DSDS"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"¿Reiniciar dispositivo?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"Para cambiar esta configuración, debes reiniciar el dispositivo."</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"Reiniciar"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"Cancelar"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"Potencia de la señal móvil"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"Ver libreta de direcciones de SIM"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"Ver números fijos"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"Ver números del servicio técnico"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"Estado del servicio de IMS"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"Estado de IMS"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"Registrado"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"No registrado"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"Disponible"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"No disponible"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"Registro de IMS: <xliff:g id="STATUS">%1$s</xliff:g>\nVoz mediante LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nVoz por Wi-Fi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideollamada: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nInterfaz de UT: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"En servicio"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Fuera de servicio"</string>
     <string name="radioInfo_service_emergency" msgid="6838935881091760942">"Solo emergencia"</string>
     <string name="radioInfo_service_off" msgid="6184928420860868571">"Radio desactivada"</string>
     <string name="radioInfo_roaming_in" msgid="8892550453644088692">"Roaming"</string>
     <string name="radioInfo_roaming_not" msgid="3137594549464975054">"Sin roaming"</string>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"Inactivo"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"Timbrando"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"Llamada en curso"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"Desconectado"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"Conectando"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"Conectado"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Suspendido"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Desconocida"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"paquetes"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"bytes"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"Desmontar almacenamiento USB"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"Desmontar la tarjeta SD"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"Eliminar almacenamiento USB"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"Aumenta o reduce el tamaño del texto en pantalla."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Reducir el tamaño"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Aumentar el tamaño"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"Texto de muestra"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"El maravilloso mago de Oz"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"Capítulo 11: La maravillosa Ciudad Esmeralda de Oz"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"Debes reiniciar el dispositivo para cambiar esta opción."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"Reiniciar"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"Cancelar"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"Dispositivos de medios disponibles"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"Dispositivos de llamada disponibles"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"Conectados actualmente"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"Dispositivos de medios"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"Dispositivos para llamar"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"Otros dispositivos"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Dispositivos guardados"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Se activará el Bluetooth para sincronizar"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Preferencias de conexión"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"El puerto que has escrito no es válido."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"El navegador usa el proxy HTTP, pero tal vez las demás aplicaciones no lo usen."</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"URL config. autom. proxy: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"ID secundario actual:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"ID secundario de la SIM de datos predeterminada:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"Ancho de banda de DL (kbps):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"Ancho de banda de UL (kbps):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"Información sobre la ubicación del teléfono (no disponible):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"Configuración del canal físico de LTE:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"Frecuencia de actualización de la información del teléfono:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"Información sobre las dimensiones de los teléfonos:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"Servicio de datos:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"Roaming:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"Redireccionamiento de llamada:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"Cantidad de PPP restablecidos desde el inicio:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"Red actual:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"Datos recibidos:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"Servicio de voz:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"Potencia de la señal:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"Estado de la llamada de voz:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"Datos enviados:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"Mensaje en espera:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"Número de teléfono:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"Seleccionar banda de radio"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"Tipo de red de voz:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"Tipo de red de datos:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"Seleccionar guía telefónica"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"Establecer el tipo de red preferida:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"Hacer ping a IPv4 de nombre de host (www.google.com):"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"Hacer ping a IPv6 de nombre de host (www.google.com):"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"Prueba de cliente HTTP:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"Ejecutar prueba de ping"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"Actualizar"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"Actualizar"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"Activar o desactivar la comprobación de DNS"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"Configuración/Información específica a OEM"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"Establecer modo de banda de radio"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"Cargando lista de banda…"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"Establecer"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"Incorrecto"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"Correcto"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"Los cambios entran en vigencia cuando se vuelve a conectar el cable USB."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"Activar el espacio de almacenamiento masivo USB"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"Total de bytes:"</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"Mover al final"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"Quitar el idioma"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"Elige actividad"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"Información de dispositivo"</string>
     <string name="display_label" msgid="3056320781191343221">"Pantalla"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"Información del tablet"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"Información del dispositivo"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"Almacenamiento USB"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"Tarjeta SD"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"Configuración de proxy"</string>
@@ -306,9 +234,6 @@
     <string name="airplane_mode" msgid="3196085857882526817">"Modo avión"</string>
     <string name="wireless_networks_settings_title" msgid="8557542379234105369">"Conexiones inalámbricas y redes"</string>
     <string name="radio_controls_summary" msgid="9028430178697624501">"Administrar Wi-Fi, Bluetooth, modo avión, redes móviles y VPN"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"Datos móviles"</string>
-    <string name="calls_title" msgid="6334813967619899114">"Permitir llamadas"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"Mensajes SMS"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"Permitir el uso de datos en redes móviles"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"Permitir usar datos en roaming"</string>
     <string name="roaming" msgid="3055365654530847985">"Roaming"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"Conectar a servicios de datos en roaming"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"Has perdido la conectividad de los datos porque has dejado la red doméstica con roaming de datos desactivado."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"Enciéndelo"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"Es posible que incurras en gastos importantes."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"Al permitir el roaming de datos, los costos de roaming que deberás asumir pueden ser altos.\n\nEsta configuración afecta a todos los usuarios de esta tablet."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"Al permitir el roaming de datos, los costos de roaming que deberás asumir pueden ser altos.\n\nEsta configuración afecta a todos los usuarios de este dispositivo."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"Es posible que se apliquen cargos de roaming."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"Si permites el roaming de datos, es posible que se apliquen cargos de roaming.\n\nEsa configuración afecta a todos los usuarios de esta tablet."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"Si permites el roaming de datos, es posible que se apliquen cargos de roaming.\n\nEsa configuración afecta a todos los usuarios de este teléfono."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"¿Permitir el roaming de datos?"</string>
     <string name="networks" msgid="5184501333492775095">"Selección de operador"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"Elegir un operador de red"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"El administrador inhabilitó la opción"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"Mostrar opción de bloqueo"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"Mostrar la opción del botón de encendido que desactiva Smart Lock, el desbloqueo biométrico y las notificaciones en la pantalla bloqueada"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"Los agentes de confianza solo extienden el desbloqueo"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"Si habilitas la opción, los agentes de confianza mantendrán el dispositivo desbloqueado durante más tiempo, pero ya no podrán desbloquear un dispositivo bloqueado."</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"Bloquear pantalla al perder confianza"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"Si habilitas la opción, el dispositivo se bloqueará cuando el último agente de confianza pierda este privilegio"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"Ninguno"</string>
@@ -390,7 +313,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"Establecer Mi ubicación, desbloqueo de pantalla, bloqueo de la tarjeta SIM, bloqueo de almacenamiento de credenciales"</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"Establecer Mi ubicación, desbloqueo de pantalla, bloqueo de almacenamiento de credencial"</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"Privacidad"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"El administrador inhabilitó esta opción"</string>
+    <string name="disabled_by_administrator_summary" msgid="5424846182313851124">"No disponible"</string>
     <string name="security_status_title" msgid="6958004275337618656">"Estado de seguridad"</string>
     <string name="security_dashboard_summary_face" msgid="4198949293847206382">"Bloqueo de pantalla, desbloqueo facial"</string>
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Bloqueo de pantalla, huella digital"</string>
@@ -693,7 +616,6 @@
       <item quantity="other">Debe tener menos de <xliff:g id="NUMBER_1">%d</xliff:g> dígitos</item>
       <item quantity="one">Debe tener menos de <xliff:g id="NUMBER_0">%d</xliff:g> dígito</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"Solo puede contener dígitos entre el 0 y el 9"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"El administrador del dispositivo no permite el uso de un PIN reciente"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"Tu administrador de TI bloquea los PIN comunes. Prueba uno diferente."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"No puede incluir un carácter no válido"</string>
@@ -724,6 +646,10 @@
       <item quantity="other">Debe tener al menos <xliff:g id="COUNT">%d</xliff:g> caracteres que no sean letras</item>
       <item quantity="one">Debe tener al menos 1 carácter que no sea una letra</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="other">Debe tener al menos <xliff:g id="COUNT">%d</xliff:g> caracteres no numéricos</item>
+      <item quantity="one">Debe tener al menos 1 carácter no numérico</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"El administrador del dispositivo no permite el uso de contraseñas recientes"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"Tu administrador de TI bloquea las contraseñas comunes. Prueba una diferente."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"No se permiten secuencias de dígitos ascendentes, descendentes ni repetidas"</string>
@@ -837,19 +763,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2.4 GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"Acceder"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"Abrir sitio"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"Tiempo restante: <xliff:g id="REMAINING_TIME">%1$s</xliff:g>"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"Finalizará a las <xliff:g id="EXPIRY_TIME">%1$s</xliff:g>"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"Presiona aquí para acceder a la red"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"<xliff:g id="REQUESTER">%s</xliff:g> quiere activar la conexión Wi-Fi"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"<xliff:g id="REQUESTER">%s</xliff:g> quiere desactivar la conexión Wi-Fi"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"Verificar bytecode de apps depurables"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Permitir que ART verifique el bytecode de apps depurables"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"Frec. de actualización"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Mostrar frec. de actualización actual de pantalla"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"Permitir el intercambio de datos cuando la tablet entre en contacto con otro dispositivo"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"Permitir el intercambio de datos cuando el dispositivo toque otro dispositivo"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"Permitir el intercambio de datos cuando la tablet entre en contacto con un dispositivo NFC"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"Permitir el intercambio de datos cuando el teléfono entre en contacto con un dispositivo NFC"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"Activa NFC"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"NFC intercambia datos entre este dispositivo y otras orientaciones o dispositivos cercanos, como terminales de pago, lectores de acceso o etiquetas."</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"Proteger NFC"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Requerir el desbloqueo del dispositivo para la NFC"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"Permitir uso de pagos NFC y Transit solo cuando la pantalla está desbloqueada"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"Listo para transmitir contenido de aplicaciones por NFC"</string>
@@ -923,8 +855,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Activar"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Se activó la búsqueda de Wi‑Fi"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Opciones avanzadas"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"Lista desplegable Opciones avanzadas. Presiona dos veces para contraerla."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"Lista desplegable Opciones avanzadas. Presiona dos veces para expandirla."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Lista desplegable \"Opciones avanzadas\""</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"expandir"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"Nombre de la red"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"Ingresa el SSID"</string>
     <string name="wifi_security" msgid="9095934643631406913">"Seguridad"</string>
@@ -934,6 +866,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"Estado"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"Transmitir velocidad de vínculo"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"Recibir velocidad de vínculo"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"Velocidad del vínculo"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"Frecuencia"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"Dirección IP"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"Se guardó mediante"</string>
@@ -941,6 +874,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"Método EAP"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"Autenticación de fase 2"</string>
     <string name="wifi_eap_ca_cert" msgid="8033404008276298886">"Certificado de CA"</string>
+    <string name="wifi_eap_ocsp" msgid="8713933962516871238">"Estado de certificado en línea"</string>
     <string name="wifi_eap_domain" msgid="8304301470752333203">"Dominio"</string>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"Certificado del usuario"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"Identidad"</string>
@@ -957,6 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"Elige al menos una banda para el hotspot de Wi-Fi:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"Configuración de IP"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"Privacidad"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"Suscripción"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"Ver o cambiar la suscripción"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"Dirección MAC aleatoria"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"Agregar un dispositivo"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"Centra el código QR debajo para agregar el dispositivo a \"<xliff:g id="SSID">%1$s</xliff:g>\""</string>
@@ -966,12 +902,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"Compartir Wi‑Fi"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"Escanea este código QR para conectarte a \"<xliff:g id="SSID">%1$s</xliff:g>\" y compartir la contraseña"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"Escanea este código QR para conectarte a \"<xliff:g id="SSID">%1$s</xliff:g>\""</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"No se pudo leer el código QR. Centra el código de nuevo y vuelve a intentarlo"</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"Vuelve a intentarlo. Si el problema persiste, comunícate con el fabricante del dispositivo"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"Se produjo un error"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"Asegúrate de que el dispositivo se haya enchufado, cargado y encendido"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"Asegúrate de que el dispositivo se haya enchufado, cargado y encendido. Si el problema persiste, comunícate con el fabricante"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"No se puede agregar \"<xliff:g id="SSID">%1$s</xliff:g>\" a este dispositivo"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"Acerca el dispositivo a tu punto de acceso o router Wi-Fi"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"Revisa la contraseña y vuelve a intentarlo"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"Comunícate con el fabricante del dispositivo"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"Comprueba la conexión y vuelve a intentarlo"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"Elegir una red"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"Selecciona una red para conectar tu dispositivo"</string>
@@ -984,11 +922,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"Compartiendo Wi-Fi con este dispositivo…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"Conectando…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"Compartir hotspot"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"Verifica tu identidad"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"Verifica tu identidad"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"Contraseña de Wi-Fi: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"Contraseña del hotspot: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"Conectar automáticamente"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"Permite que el teléfono se conecte automáticamente cerca de esta red"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"Permite que la tablet se conecte automáticamente cerca de esta red"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"Agregar dispositivo"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"Usar un código QR para agregar un dispositivo a esta red"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"El código QR no es un formato válido"</string>
     <string name="retry" msgid="7542103800274026915">"Reintentar"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"Compartir con otros usuarios del dispositivo"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(sin cambios)"</string>
@@ -1000,6 +942,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"No especificaste ningún certificado. Tu conexión no será privada."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"El nombre de la red es demasiado largo."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"Se debe especificar un dominio."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"Se requiere un certificado."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"WSP disponible"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (WSP disponible)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"Red Wi‑Fi del proveedor"</string>
@@ -1051,7 +994,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"Config. avanzada de Wi-Fi"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"Dirección MAC"</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_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>
@@ -1103,7 +1047,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"Los hotspots brindan acceso a Internet mediante una conexión de datos móviles. Configura uno a fin de crear una red Wi‑Fi para otros dispositivos. Es posible que se apliquen cargos por el uso de datos móviles."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"Las apps pueden crear un hotspot para compartir contenido con dispositivos cercanos."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Desactivar el hotspot de manera automática"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"Si no hay dispositivos conectados, se desactivará el hotspot de Wi‑Fi"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Cuando no hay dispositivos conectados"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"Activando hotspot…"</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"Desactivando hotspot…"</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> está activa"</string>
@@ -1112,6 +1056,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"Configuración de hotspot Wi-Fi"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"Hotspot WPA2 PSK de AndroidAP"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"Android Hotspot"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"¿Quieres guardar esta red?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"<xliff:g id="APPNAME">%1$s</xliff:g> quiere guardar una red en tu teléfono"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"<xliff:g id="APPNAME">%1$s</xliff:g> quiere guardar una red en tu tablet"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"Guardando…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"Guardada"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"No se puede guardar. Vuelve a intentarlo."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"¿Deseas guardar las redes?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"<xliff:g id="APPNAME">%1$s</xliff:g> quiere guardar estas redes en tu teléfono"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"<xliff:g id="APPNAME">%1$s</xliff:g> quiere guardar estas redes en tu tablet"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"Guardando <xliff:g id="NUMBER">%d</xliff:g> redes…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"Redes guardadas"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"Llamadas por Wi-Fi"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"Recibe más llamadas gracias a la red Wi‑Fi"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"Activa Llamada con Wi‑Fi para extender la cobertura"</string>
@@ -1138,16 +1093,18 @@
     <string name="emergency_address_title" msgid="3490633500025717573">"Dirección de emergencia"</string>
     <string name="emergency_address_summary" msgid="3022628750270626473">"Se usa como tu ubicación cuando haces una llamada de emergencia mediante Wi-Fi"</string>
     <string name="private_dns_help_message" msgid="851221502063782306"><annotation id="url">"Más información"</annotation>" sobre las funciones de DNS privado"</string>
+    <string name="private_dns_mode_on" msgid="8878679071975375696">"Activado"</string>
     <string name="wifi_calling_pref_managed_by_carrier" msgid="129524064888622179">"Configuración que administra el proveedor"</string>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"Habilitar Llamada por Wi-Fi"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"Activar Llamada por Wi-Fi"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"La Llamada por Wi‑Fi no es compatible con %1$s"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"Te desconectaste de <xliff:g id="SSID">%1$s</xliff:g>"</string>
     <string name="carrier" msgid="1755020806290963951">"Proveedor"</string>
     <string name="display_settings_title" msgid="626835071804834218">"Pantalla"</string>
     <string name="sound_settings" msgid="5514582720435174014">"Sonido"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"Volumen"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"Efectos de la música"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"Volumen de tono"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"Volumen de tono y notificaciones"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"Vibrar en modo silencioso"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"Sonido de notificación predeterminado"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"Tono de llamada"</string>
@@ -1272,13 +1229,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"Programar"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"Nunca"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"Activar de atardecer a amanecer"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"Activar a una hora personalizada"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"Estado"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"Desactivado/<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"Nunca se activará automáticamente"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"Se activará automáticamente al atardecer"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"Se activará automáticamente a la(s) <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"Activado/<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"Nunca se desactivará automáticamente"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"Se desactivará automáticamente al amanecer"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"Se desactivará automáticamente a la(s) <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"Activar hasta la(s) <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"Desactivar hasta la(s) <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"El Tema oscuro usa un fondo negro para conservar la batería durante más tiempo en algunas pantallas y se programa a fin de esperar a que se apague la pantalla para activarse."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"Tiempo de espera de la pantalla"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"Cuando se apaga la pantalla"</string>
@@ -1290,7 +1252,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"Cambiar fondo de pantalla"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"Personalizar tu pantalla"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"Elegir fondo de pantalla"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"Personaliza tu Pixel"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"Personaliza tu teléfono"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"Prueba diferentes estilos, fondos de pantalla y mucho más"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"Protector de pantalla"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Mientras se carga o está conectado"</string>
@@ -1379,6 +1341,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"Desmontar almacenamiento USB, ver almacenamiento disponible"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"Desmontar tarjeta SD, ver espacio de almacenamiento disponible"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (ranura de SIM %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"Elige una red guardada para verla"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"Número de teléfono"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (ranura de SIM %1$d)"</string>
@@ -1405,6 +1368,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"Roaming"</string>
     <string name="status_operator" msgid="4335640583552058491">"Red"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"Dirección MAC de Wi-Fi"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"Dirección MAC de Wi-Fi del dispositivo"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"Dirección de Bluetooth"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Número de serie"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Tiempo de actividad"</string>
@@ -1617,6 +1581,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Se restableció la configuración predeterminada de APN."</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"Opciones de restablecimiento"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"Se pueden restablecer las redes, las apps y los dispositivos"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"Se pueden restablecer las apps"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"Restablecer configuración de Wi-Fi, datos móviles y Bluetooth"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"Se restablecerán las opciones de configuración de todas las redes, lo que incluye:\n\n"<li>"Wi‑Fi"</li>\n<li>"Datos móviles"</li>\n<li>"Bluetooth"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"Borrar tarjeta SIM descargada"</string>
@@ -1666,6 +1631,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"Hotspot activado"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"Conexión mediante dispositivo móvil"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"No podrán establecerse conexiones a través del dispositivo portátil ni hotspots portátiles cuando se active el modo Ahorro de datos."</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"Solo hotspot"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"Solo USB"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"Solo Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"Hotspot y USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"Hotspot y Bluetooth"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB y Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"Hotspot, USB y Bluetooth"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"No se comparte Internet con otros dispositivos"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"Conexión mediante dispositivo móvil"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"No usar hotspot de Wi‑Fi"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Solo compartir la conexión a Internet mediante USB"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Solo compartir la conexión a Internet mediante Bluetooth"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Solo compartir la conexión a Internet mediante USB y Bluetooth"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"Conexión a red por USB"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"Compartir la conexión a Internet del teléfono mediante USB"</string>
@@ -1756,9 +1734,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"Información de seguridad"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"No tienes conexión de datos. Para ver esta información, accede a %s desde cualquier computadora conectada a Internet."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"Cargando…"</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"Usar PIN"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"Usar patrón"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"Usar contraseña"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"Establecer bloqueo de pantalla"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"Por motivos de seguridad, establece una contraseña"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"Configura la contraseña de respaldo"</string>
@@ -1767,8 +1742,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"Configura el PIN para usar la huella"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"Por motivos de seguridad, establece un patrón"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"Vuelve a ingresar tu contraseña"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"Ingresa tu contraseña de trabajo"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"Confirma el patrón"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"Ingresa tu patrón de trabajo"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"Vuelve a ingresar el PIN"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"Ingresa tu PIN de trabajo"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"Las contraseñas no coinciden"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"Los PIN no coinciden"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"Dibuja el patrón una vez más"</string>
@@ -1779,6 +1757,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"Establece contraseña para desb. facial"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"Establece patrón para Desbloqueo facial"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"Establece PIN para Desbloqueo facial"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"¿Olvidaste la contraseña?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"¿Olvidaste el patrón?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"¿Olvidaste el PIN?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"Para continuar, usa el patrón del dispositivo"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"Para continuar, ingresa el PIN del dispositivo"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"Para continuar, ingresa la contraseña del dispositivo"</string>
@@ -1846,6 +1827,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"Permitir todas las fuentes"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"Apps abiertas recientemente"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"Ver las <xliff:g id="COUNT">%1$d</xliff:g> apps"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"Comunícate con tu administrador de TI"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"Te puede ayudar a restablecer el PIN, el patrón o la contraseña"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"Tu tablet y tus datos personales son más vulnerables a los ataques de apps desconocidas. Si instalas apps de esta fuente, serás responsable de los daños que sufra tu tablet y la pérdida de datos debido al uso de estas apps."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"Tu teléfono y tus datos personales son más vulnerables a los ataques de apps desconocidas. Si instalas apps de esta fuente, serás responsable de los daños que sufra tu teléfono y la pérdida de datos debido al uso de estas apps."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"Tu dispositivo y tus datos personales son más vulnerables a los ataques de apps desconocidas. Si instalas apps de esta fuente, serás responsable de los daños que sufra el dispositivo o de la pérdida de datos que se pueda derivar de su uso."</string>
@@ -1897,7 +1880,7 @@
     <string name="default_emergency_app" msgid="1929974800666613803">"Aplicación de emergencia"</string>
     <string name="reset_app_preferences" msgid="8861758340732716573">"Restablecer preferencias de apps"</string>
     <string name="reset_app_preferences_title" msgid="8935136792316050759">"¿Restablecer preferencias?"</string>
-    <string name="reset_app_preferences_desc" msgid="1377296810290814749">"Se restablecerán las preferencias de:\n\n"<li>"Apps inhabilitadas"</li>\n<li>"Notificaciones de apps inhabilitadas"</li>\n<li>"Apps predeterminadas para realizar acciones"</li>\n<li>"Restricciones de datos en segundo plano para apps"</li>\n<li>"Restricciones de permisos"</li>\n\n"No se perderán los datos de las apps."</string>
+    <string name="reset_app_preferences_desc" msgid="6509978724602405805">"Se restablecerán todas las preferencias de lo siguiente:\n\n"<li>"Apps inhabilitadas"</li>\n<li>"Notificaciones de apps inhabilitadas"</li>\n<li>"Apps predeterminadas para realizar acciones"</li>\n<li>"Restricciones de datos en segundo plano para apps"</li>\n<li>"Restricciones de permisos"</li>\n\n"No perderás los datos de las apps."</string>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"Restablecer apps"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"Administrar el espacio"</string>
     <string name="filter" msgid="9039576690686251462">"Filtro"</string>
@@ -2097,7 +2080,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"Audio y texto en pantalla"</string>
     <string name="display_category_title" msgid="6638191682294461408">"Pantalla"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"Controles de interacción"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"Servicios descargados"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"Apps descargadas"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"Experimental"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"Funciones experimentales"</string>
     <string name="talkback_title" msgid="8756080454514251327">"Talkback"</string>
@@ -2105,27 +2088,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"Presiona los elementos en tu pantalla para escuchar la lectura en voz alta"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"Preferencias de subtítulos"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"Ampliación"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"Área de ampliación"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"Habilitar ampliación"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"Selecciona las áreas en las que quieres implementar la ampliación de pantalla al usar la función"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"Pantalla completa"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"Parte de la pantalla"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"Pantalla completa y parte de la pantalla"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"Ampliar toda la pantalla"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"Ampliar parte de la pantalla"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Configuración de ampliación"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"Ampliar presionando tres veces"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Ampliar con gesto"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Ampliar con acceso directo y presionar tres veces"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"Información sobre <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"Opciones"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"Ampliar la pantalla"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"Presiona tres veces para ampliar"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Presiona un botón para ampliar"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><b>"Para ampliar"</b>", presiona la pantalla 3 veces rápidamente \n"<ul><li>"Arrastra 2 o más dedos para desplazarte."</li>\n<li>"Pellizca con 2 o más dedos para ajustar el zoom."</li></ul>\n\n<b>"Para hacer zoom de manera temporal"</b>", presiona la pantalla 3 veces rápidamente y mantén presionado la última vez.\n"<ul><li>"Arrastra el dedo para moverte por la pantalla."</li>\n<li>"Levanta el dedo para alejar la imagen."</li></ul>\n\n"No se puede ampliar el teclado ni la barra de navegación."</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"Cuando la ampliación esté activada, podrás acercar el contenido en la pantalla.\n\n"<b>"Para usar el zoom"</b>", inicia la ampliación y, luego, presiona cualquier parte de la pantalla.\n"<ul><li>"• Arrastra 2 o más dedos para desplazarte."</li>\n<li>"• Pellizca con 2 o más dedos para ajustar el zoom."</li></ul>\n\n<b>"Para hacer zoom de manera temporal"</b>", inicia la ampliación y, luego, mantén presionada cualquier parte de la pantalla.\n"<ul><li>"• Arrastra el dedo para moverte por la pantalla."</li>\n<li>"• Levanta el dedo para alejar el contenido."</li></ul>\n\n"No se puede ampliar el teclado ni la barra de navegación."</string>
+    <string name="accessibility_screen_magnification_summary" msgid="7617931632990040045">"Acerca rápidamente la pantalla si deseas ver mejor el contenido.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Para ello, haz lo siguiente:&lt;/b&gt;&lt;br/&gt;	1. Usa la combinación de teclas para comenzar la ampliación.&lt;br/&gt;	2. Presiona la pantalla.&lt;br/&gt;	3. Arrastra dos dedos para moverte por la pantalla.&lt;br/&gt;	4. Pellizca con dos dedos para ajustar el zoom.&lt;br/&gt;	5. Usa la combinación de teclas para detener la ampliación.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Para acercar de manera temporal, haz lo siguiente:&lt;/b&gt;&lt;br/&gt;	1. Usa la combinación de teclas para comenzar la ampliación.&lt;br/&gt;	2. Mantén presionada cualquier parte de la pantalla.&lt;br/&gt;	3. Arrastra el dedo para moverte por la pantalla.&lt;br/&gt;	4. Levanta el dedo para detener la ampliación."</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Cuando la ampliación esté activada, podrás acercar el contenido en pantalla.\n\n"<b>"Para usar el zoom"</b>", inicia la ampliación y, luego, presiona cualquier parte de la pantalla.\n"<ul><li>"Arrastra 2 o más dedos para desplazarte."</li>\n<li>"Pellizca con 2 o más dedos para ajustar el zoom."</li></ul>\n\n<b>"Para hacer zoom de manera temporal"</b>", inicia la ampliación y, luego, mantén presionada cualquier parte de la pantalla.\n"<ul><li>"Arrastra el dedo para moverte por la pantalla."</li>\n<li>"Levanta el dedo para alejar el contenido."</li></ul>\n\n"No puedes acercar con el teclado ni en la barra de navegación."</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Usa el botón de accesibilidad para abrir"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Usa el gesto para abrir"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"Usa el nuevo gesto de accesibilidad"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"Para activar o desactivar este servicio, presiona el botón de accesibilidad<xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>en la parte inferior de la pantalla.\n\nSi quieres cambiar de servicio, mantén presionado ese botón."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"Para activar o desactivar este servicio, desliza dos dedos hacia arriba desde la parte inferior de la pantalla.\n\nPara cambiar de servicio, desliza dos dedos hacia arriba y mantén presionado."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"Para activar o desactivar este servicio, desliza tres dedos hacia arriba desde la parte inferior de la pantalla.\n\nPara cambiar de servicio, desliza tres dedos hacia arriba y mantén presionado."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"Para activar o desactivar un servicio de accesibilidad, desliza dos dedos hacia arriba desde la parte inferior de la pantalla.\n\nSi quieres cambiar de servicio, desliza dos dedos hacia arriba y mantén presionado."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"Para activar o desactivar un servicio de accesibilidad, desliza tres dedos hacia arriba desde la parte inferior de la pantalla.\n\nPara cambiar de servicio, desliza tres dedos hacia arriba y mantén presionado."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"Para activar o desactivar este servicio, presiona el botón de accesibilidad<xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>en la parte inferior de la pantalla.\n\nSi quieres cambiar de servicio, mantén presionado ese botón."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"Para activar o desactivar este servicio, desliza dos dedos hacia arriba desde la parte inferior de la pantalla.\n\nPara cambiar de servicio, desliza dos dedos hacia arriba y mantén presionado."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"Para activar o desactivar este servicio, desliza tres dedos hacia arriba desde la parte inferior de la pantalla.\n\nPara cambiar de servicio, desliza tres dedos hacia arriba y mantén presionado."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"Para activar o desactivar un servicio de accesibilidad, desliza dos dedos hacia arriba desde la parte inferior de la pantalla.\n\nPara cambiar de servicio, desliza dos dedos hacia arriba y mantén presionado."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"Para activar o desactivar un servicio de accesibilidad, desliza tres dedos hacia arriba desde la parte inferior de la pantalla.\n\nPara cambiar de servicio, desliza tres dedos hacia arriba y mantén presionado."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"Entendido"</string>
+    <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Combinación de teclas de <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_edit_summary_software" msgid="2820923641553461297">"Botón de accesibilidad"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture" msgid="8078659880723370597">"Deslizar dos dedos hacia arriba"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture_talkback" msgid="7422753388389160524">"Deslizar tres dedos hacia arriba"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software" msgid="4796192466943479849">"Presionar el botón de accesibilidad"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8922102767509399352">"Presiona el botón de accesibilidad <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> en la parte inferior de la pantalla"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"Desliza dos dedos hacia arriba desde la parte inferior de la pantalla"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"Desliza tres dedos hacia arriba desde la parte inferior de la pantalla"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Mantener presionadas las teclas de volumen"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"Mantén presionadas las teclas de volumen durante 1 segundo"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Presionar tres veces la pantalla"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"Presiona rápidamente la pantalla 3 veces. Esta combinación de teclas podría ralentizar el dispositivo."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"Avanzada"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"El botón de Accesibilidad está configurado para <xliff:g id="SERVICE">%1$s</xliff:g>. Para ampliar, mantén presionado el botón y, luego, selecciona ampliación."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"El gesto de accesibilidad se configuró en <xliff:g id="SERVICE">%1$s</xliff:g>. Para usar la ampliación, desliza dos dedos hacia arriba desde la parte inferior de la pantalla y mantén presionado. Luego, selecciona la ampliación."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"Combinación de teclas de volumen"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"Servicio de combinación de teclas"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Configuración de combinación de teclas"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"Habilitar en pantalla bloqueada"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"Si activas la combinación de teclas, podrás presionar ambas teclas de volumen durante 3 segundos para iniciar una función de accesibilidad."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"Texto de alto contraste"</string>
@@ -2149,24 +2157,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"Selecciona el tiempo de visualización de mensajes que requieren acciones, pero que solo se muestran temporalmente.\n\nNo todas las apps admiten esta opción."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"Tiempo de respuesta táctil"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"Inversión de color"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"Puede afectar el rendimiento"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"Tiempo de permanencia"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"Usar inversión de color"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"La inversión de color oscurece la pantalla, lo que ayuda las personas sensibles a las luces brillantes a verla mejor.&lt;br/&gt;&lt;br/&gt;Nota: Los tonos oscuros se aclararán. Además, cambiarán los colores del contenido multimedia y las imágenes. También puedes usar el Tema oscuro (Configuración &gt; Pantalla)."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"Clic automático (tiempo de permanencia)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"Si usas un mouse, puedes configurar el cursor para que haga clic automáticamente cuando se detiene durante un período determinado."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"Tiempo de espera antes del clic"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"No usar clic automático (pred.)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"Corto"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0.2 segundos"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"Medio"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0.6 segundos"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"Largo"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 segundo"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"Personalizado"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"Más corto"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"Más largo"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"Tiempo de clic automático"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"Intensidad de la respuesta táctil y vibración"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Vibración de las notificaciones"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Vibración del tono"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Respuesta táctil"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"Usar el servicio"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"Usar <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"Abrir <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"Usar la corrección de color"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"Usar subtítulos"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"Mostrar subtítulos"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"Aspecto de los subtítulos"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"Tamaño del texto y estilo de los subtítulos"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"Más opciones"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"No todas las apps admiten esta opción de configuración."</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"Botón de accesibilidad"</string>
+    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"Deslizar dos dedos hacia arriba desde la parte inferior"</string>
+    <string name="accessibility_shortcut_type_hardware" msgid="4834144210432451916">"Mantener presionadas las teclas de volumen"</string>
+    <string name="accessibility_shortcut_type_triple_tap" msgid="7717524216825494543">"Presionar tres veces la pantalla"</string>
     <string name="accessibility_hearingaid_instruction_continue_button" msgid="3367260988024430722">"Continuar"</string>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"Audífonos"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"No hay audífonos conectados"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"Agregar audífonos"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"Para sincronizar tus audífonos, busca y presiona tu dispositivo en la pantalla siguiente."</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"Asegúrate de que tus audífonos estén en modo de sincronización."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"Para sincronizar tus audífonos, busca y presiona tu dispositivo en la pantalla siguiente. Asegúrate de que tus audífonos estén en modo de sincronización."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> activo"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> audífonos guardados</item>
@@ -2178,25 +2204,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Este servicio no funciona correctamente."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Mostrar en Configuración rápida"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"Modo de corrección"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="other">Demora extremadamente breve (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Demora extremadamente breve (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Rojo-verde"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"Verde-rojo"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Azul-amarillo"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"Deuteronomalía"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"Protanomalía"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"Tritanomalía"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="other">Demora sumamente breve (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> segundos)</item>
+      <item quantity="one">Demora sumamente breve (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> segundo)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="other">Demora muy breve (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Demora muy breve (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="other">Demora muy breve (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> segundos)</item>
+      <item quantity="one">Demora muy breve (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> segundo)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="other">Demora breve (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Demora breve (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="other">Demora breve (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> segundos)</item>
+      <item quantity="one">Demora breve (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> segundo)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="other">Demora prolongada (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Demora prolongada (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="other">Demora prolongada (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> segundos)</item>
+      <item quantity="one">Demora prolongada (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> segundo)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="other">Demora muy prolongada (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Demora muy prologada (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="other">Demora muy prolongada (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> segundos)</item>
+      <item quantity="one">Demora muy prolongada (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> segundo)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> segundos</item>
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> segundo</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"Tono (<xliff:g id="SUMMARY_RING">%1$s</xliff:g>), notificación (<xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>) y respuesta táctil (<xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>)"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"Desactivada para notificaciones y llamadas"</string>
@@ -2513,7 +2549,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"Durante la última desconexión para <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"Total de usos"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"Actualizar"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"SO Android"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"Servidor de medios"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"Optimización de las aplicaciones"</string>
     <string name="battery_saver" msgid="7737147344510595864">"Ahorro de batería"</string>
@@ -2594,8 +2629,7 @@
     <string name="tts_play" msgid="2945513377250757221">"Reproducir"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"Almacenamiento de credenciales"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"Instalar desde almacenamiento"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"Instalar desde la tarjeta SD"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"Instala un certificado"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"Instalar certificados desde el almacenamiento"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"Instalar certificados desde la tarjeta SD"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"Borrar credenciales"</string>
@@ -2615,6 +2649,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"Credenciales borradas"</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"Imposible borrar almac credenc"</string>
     <string name="usage_access_title" msgid="1580006124578134850">"Acceso a datos de uso"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"Certificado de CA"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"Cert. de usuario de app y VPN"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"Certificado de Wi‑Fi"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"Tu privacidad está en riesgo"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"Los sitios web, las apps y las VPN usan Certificados de CA para la encriptación. Instala Certificados de CA solo de organizaciones que sean de confianza. \n\n Si instalas un Certificado de CA, el propietario podría acceder a tu información, como contraseñas, mensajes o detalles de tarjetas de crédito, desde sitios web que visitas o apps que usas, incluso aunque la información esté encriptada."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"No instalar"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"Instalar de todas formas"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"No se instaló el certificado"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"Indicador de marcado de emergencia"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Establecer el comportamiento cuando se establece una llamada de emergencia"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Copia de seguridad"</string>
@@ -2642,10 +2684,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"Desactivar y desinstalar"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"Apps del dispositivo del administrador"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"No hay apps de administración de dispositivo disponibles"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"Personal"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"Trabajo"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"Restringir acceso a SMS y registro de llamadas"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"Solo las apps de teléfono y mensajes predeterminadas tienen permiso de acceso a los SMS y el registro de llamadas"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"No hay agentes de confianza disponibles."</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"¿Activar la app de administración?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"Activar la app de administración de este dispositivo"</string>
@@ -2659,6 +2697,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"El administrador inhabilitó algunas opciones"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"Más información"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"Registro de notificaciones"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"Historial de notificaciones"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"Hoy"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"Se pospuso"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"Se descartó recientemente"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> notificaciones</item>
+      <item quantity="one"><xliff:g id="NUMBER_0">%d</xliff:g> notificación</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"Vibración y tono de llamada"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"Detalles de la red"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"Sincronización habilitada"</string>
@@ -3008,7 +3054,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"Restricciones"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"Eliminar restricciones"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"Cambiar PIN"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"Mostrar notificaciones"</string>
     <string name="help_label" msgid="2896538416436125883">"Ayuda y comentarios"</string>
     <string name="support_summary" msgid="1034146931237148885">"Artículos de ayuda, teléfono y chat, comenzar"</string>
     <string name="user_account_title" msgid="6389636876210834864">"Cuenta para contenido"</string>
@@ -3033,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"Llamadas mediante 4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Usa servicios de LTE para mejorar comunicaciones de voz y otras (recomendado)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Usar servicios 4G para mejorar comunicaciones de voz y otras (recomendado)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Descubrimiento de contactos"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Permite que tu proveedor descubra qué funciones de llamadas admiten tus contactos."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"¿Deseas habilitar el descubrimiento de contactos?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Si habilitas esta función, se permitirá que tu proveedor acceda a los números de teléfono de tus contactos para descubrir qué funciones de llamadas admiten."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Tipo de red preferido"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (recomendado)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"Mensajes MMS"</string>
@@ -3077,7 +3126,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"Llamar con"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"Seleccionar una tarjeta SIM"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"SIM <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"SIM vacía"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"Nombre de SIM"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"Ingresar nombre de tarjeta SIM"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"Ranura de SIM %1$d"</string>
@@ -3087,6 +3135,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"Seleccionar tarjeta SIM"</string>
     <string name="color_orange" msgid="216547825489739010">"Naranja"</string>
     <string name="color_purple" msgid="6603701972079904843">"Púrpura"</string>
+    <string name="color_pink" msgid="8596872110888626708">"Rosa"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"No se insertó ninguna tarjeta SIM."</string>
     <string name="sim_status_title" msgid="6188770698037109774">"Estado de SIM"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"Estado de SIM (ranura de SIM %1$d)"</string>
@@ -3100,7 +3149,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm y <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"Tarjetas SIM modificadas"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Presiona para configurar"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"SIM preferida para"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Preguntar siempre"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Selección requerida"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"Selección de SIM"</string>
@@ -3118,6 +3166,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"Bluetooth, En automóvil"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"Bluetooth, NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"Bluetooth"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"No disponible porque la NFC está desactivada"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"Apps y notificaciones"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Apps recientes y predeterminadas"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Las apps del perfil de trabajo no tienen acceso a las notificaciones."</string>
@@ -3128,13 +3177,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"Configuración"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"Wi-Fi, wi-fi, conexión de red, Internet, inalámbrico, datos, wifi"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"notificación de Wi-Fi, notificación de wifi"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"uso de datos"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"Detener vibración, presionar, teclado"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"Usar formato de 24 horas"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"Descarga"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"Abrir con"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"Apps"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"zona horaria"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"Burbuja de chat"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"burbuja de chat, sistema, alerta, ventana, diálogo, mostrar, sobre otras apps, dibujo"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"Linterna, luz"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"Wi-Fi, activar o desactivar, control"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"celular, móvil, operador de telefonía celular, inalámbrico, datos, 4G, 3G, 2G, LTE"</string>
@@ -3158,7 +3208,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"no interrumpir, interrumpir, interrupción, descanso"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"nearby, ubicación, historial, informe, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"cuenta"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"cuenta, agregar una cuenta, perfil de trabajo, agregar cuenta"</string>
     <string name="keywords_users" msgid="3497517660077620843">"restricción, restringir, restringido"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"corrección de texto, corregir, sonido, vibrar, automático, idioma, gesto, sugerir, sugerencia, tema, ofensivo, palabra, tipo, emoji, internacional"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"restablecer, preferencias, predeterminadas"</string>
@@ -3196,6 +3246,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"memoria, caché, datos, eliminar, borrar, liberar, espacio"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"conectado, dispositivo, audífonos, auriculares, bocina, inalámbrico, sincronizar, auricular, música, multimedia"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"fondo, pantalla, pantalla bloqueada, tema"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"forma del ícono, color destacado, fuente"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"predeterminado, asistente"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"pago, predeterminado"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"notificación entrante"</string>
@@ -3205,18 +3256,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"háptica, vibrar, sensibilidad"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"ahorro de batería, fijo, permanente, ahorro de energía, batería"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"rutina, programa, ahorro de batería, ahorro de energía, batería, automático, porcentaje"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"perfil de trabajo"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"volte, llamadas avanzadas, llamadas mediante 4G"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"agregar idioma, agregar un idioma"</string>
     <string name="default_sound" msgid="6604374495015245195">"Sonido predeterminado"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"Volumen de tono: <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"Volumen de tono y notificaciones al <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Volumen, vibración, No interrumpir"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"Timbre en vibración"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"Timbre en silencio"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"Volumen de tono: 80%"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"Volumen de tono y notificaciones al 80%"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Volumen multimedia"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Volumen de transmisión"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"Volumen de llamada"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"Volumen de alarma"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"Volumen de tono"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"Volumen de tono y notificac."</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"Volumen de notificación"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"Tono de llamada"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"Sonido predeterminado"</string>
@@ -3224,6 +3276,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"Sonido de notificaciones predeterminado"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"Sonido de alarma predeterminado"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"Vibrar para llamadas"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"Nunca vibrar"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"Siempre vibrar"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"Primero vibrar, luego sonar gradualmente"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"Otros sonidos"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"Tonos del teclado"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"Bloqueo de pantalla"</string>
@@ -3247,6 +3302,7 @@
       <item quantity="one">1 habilitada</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"No interrumpir"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Solo recibe notificaciones de las personas y apps que más te interesan"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Limitar las interrupciones"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Activar No interrumpir"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"Excepciones"</string>
@@ -3273,7 +3329,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Bloquear alteraciones visuales"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Permitir señales visuales"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"Cuando se activa No interrumpir"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"Habilitar interrupciones con sonido"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"Restringir notificaciones"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Notificaciones sin sonido"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"Verás las notificaciones en la pantalla"</string>
@@ -3304,7 +3360,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"Sonido y vibración"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"Sonido, vibración y algunos signos visuales de notificaciones"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"Sonido, vibración y signos visuales de notificaciones"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"Nunca se ocultarán las notificaciones necesarias para el estado y las actividades básicas del teléfono"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"Nunca se ocultarán las notificaciones necesarias sobre el estado y las actividades básicas del teléfono."</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"Nada"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"otras opciones"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"Agregar"</string>
@@ -3334,10 +3390,12 @@
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> programas se pueden actualizar automáticamente</item>
       <item quantity="one">1 programa se puede actualizar automáticamente</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"Silenciar dispositivo, pero permitir excepciones"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"Excepciones"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"Horarios"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"Ver todas las excepciones"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"Excepciones cuando está activada la función No interrumpir"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"Personas"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"Apps"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"Alarmas y otras interrupciones"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"Programas"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"Notificaciones silenciadas"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"Si activas el modo No interrumpir, se silenciarán el sonido y la vibración, excepto para los elementos que habilites arriba."</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"Silenciar todo excepto"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"Silenciar"</string>
@@ -3381,16 +3439,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"Notificaciones adaptables"</string>
     <string name="asst_capability_prioritizer_title" msgid="1181272430009156556">"Prioridad de notificación adaptable"</string>
     <string name="asst_capability_prioritizer_summary" msgid="954988212366568737">"Configurar automáticamente las notificaciones de menor prioridad a silenciosas"</string>
+    <string name="asst_capability_ranking_title" msgid="312998580233257581">"Clasificación de notificaciones adaptables"</string>
+    <string name="asst_capability_ranking_summary" msgid="2293524677144599450">"Clasificar las notificaciones automáticamente por relevancia"</string>
     <string name="asst_capabilities_actions_replies_title" msgid="4392470465646394289">"Respuestas y acciones sugeridas"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"Mostrar automáticamente respuestas y acciones sugeridas"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"Activar el historial de notificaciones para realizar un seguimiento de las notificaciones anteriores y las pospuestas"</string>
+    <string name="notification_history" msgid="8663811361243456201">"Historial de notificaciones"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"Activar historial"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"Desactivar historial"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"El historial de notificaciones está desactivado"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"ver configuración de notificaciones"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Permitir posponer alarmas"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"Ocultar íconos de las notificaciones silenciosas"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"Los íconos de las notificaciones silenciosas no se muestran en la barra de estado"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"Activar puntos de notificación"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"Mostrar la barra de conversaciones recientes"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Cuadros"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"Algunas notificaciones pueden aparecer como cuadros en la pantalla"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"Algunas notificaciones y otro contenido pueden aparecer como cuadros en la pantalla. Para abrir un cuadro, presiónalo. Para descartarlo, arrástralo hacia el extremo inferior de la pantalla."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Burbujas"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"Los mensajes nuevos aparecerán en la pantalla"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"Permitir que <xliff:g id="APP_NAME">%1$s</xliff:g> muestre algunas notificaciones como cuadros"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"Activar cuadros"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"Si quieres activar los cuadros para esta app, primero debes activarlos en el dispositivo. Esto afecta a otras apps en las que ya habías activado los cuadros."</string>
@@ -3408,6 +3476,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"Mostrar en banner desplegable y pantalla bloqueada"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"Mostrar en banner desplegable y barra de estado"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"Mostrar en banner desplegable, barra de estado y pantalla bloqueada"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"Ocultar las notificaciones silenciosas en la barra de estado"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"Luz intermitente"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"Pantalla de bloqueo"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"Omitir pantalla bloqueada"</string>
@@ -3438,6 +3507,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"Comportamiento"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"Permitir sonido"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"No mostrar notificaciones"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"Conversaciones"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"Conversación"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"No es una conversación"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"Quitar de la sección de conversaciones"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"Esta es una conversación"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"Agregar a la sección de conversaciones"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"Administrar conversaciones"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"Conversaciones importantes"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"Todas las conversaciones"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"Mostrar notificaciones importantes como burbujas"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"Las conversaciones importantes se muestran en la parte superior del panel desplegable. También puedes configurarlas para que aparezcan como burbujas y que suspendan la función No interrumpir."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"Mostrar en silencio y minimizar"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"Mostrar sin emitir sonido"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"Emitir sonido"</string>
@@ -3456,7 +3536,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"Te ayuda a concentrarte sin sonar ni vibrar"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"Capta tu atención con sonido o vibración"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"Con el dispositivo desbloqueado, mostrar notificaciones como banners en la parte superior de la pantalla"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"Ver notificaciones"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"Todas las notificaciones de <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"Notificaciones adaptables"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="other">Aproximadamente <xliff:g id="NUMBER_1">%d</xliff:g> notificaciones por día</item>
@@ -3475,6 +3555,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"Notificaciones adaptables"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"Nada"</string>
     <string name="no_notification_listeners" msgid="2839354157349636000">"Ninguna aplicación instalada solicitó acceso a las notificaciones."</string>
+    <string name="notification_access_detail_switch" msgid="46386786409608330">"Permitir acceso a las notificaciones"</string>
     <string name="notification_assistant_security_warning_title" msgid="2972346436050925276">"¿Quieres permitir que <xliff:g id="SERVICE">%1$s</xliff:g> tenga acceso a las notificaciones?"</string>
     <string name="notification_assistant_security_warning_summary" msgid="3119843404577399036">"<xliff:g id="NOTIFICATION_ASSISTANT_NAME">%1$s</xliff:g> podrá leer todas las notificaciones, incluidas las que contengan información personal, como nombres de contactos o el texto de los mensajes que recibas. También podrá modificar y descartar notificaciones, así como utilizar los botones de acción que aparezcan. \n\nLa app podrá activar y desactivar el modo No interrumpir, además de cambiar la configuración relacionada."</string>
     <string name="notification_listener_security_warning_title" msgid="5791700876622858363">"¿Deseas permitir que <xliff:g id="SERVICE">%1$s</xliff:g> tenga acceso a las notificaciones?"</string>
@@ -3536,8 +3617,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"Listo"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"Importancia"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"Luz intermitente"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"Vibrar"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"Vibración"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"Sonido"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"Importante"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"Agregar al hogar"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"Borrar"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"Cambiar nombre"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"Nombre"</string>
@@ -3591,6 +3674,10 @@
       <item quantity="other"><xliff:g id="NUM_PEOPLE">%d</xliff:g> más</item>
       <item quantity="one">1 más</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Conversaciones"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"De todas las conversaciones"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"De conversaciones importantes"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"No permitir ninguna conversación"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"Permitir mensajes"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"Para asegurarte de que el dispositivo suene cuando recibas mensajes permitidos, verifica si está configurado para sonar, vibrar o en silencio."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"Se bloquearán los mensajes entrantes durante \"<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>\". Puedes ajustar la configuración para permitir que tus amigos, familiares y otros contactos se comuniquen contigo."</string>
@@ -3604,15 +3691,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"No hay"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"No permitir llamadas"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"No permitir mensajes"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"Permitir alarmas"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"Alarmas"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"De temporizadores, alarmas, sistemas de seguridad y otras apps"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"alarmas"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"Reproducir sonidos multimedia"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"Sonidos multimedia"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"De videos, juegos y otro contenido multimedia"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"contenido multimedia"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"Permitir tonos táctiles"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"Tonos táctiles"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"Del teclado y otros botones"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"tonos táctiles"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"Permitir recordatorios"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"Recordatorios"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"De tareas y recordatorios"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"recordatorios"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"Permitir eventos"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"Eventos"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"De próximos eventos del calendario"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Permitir que las apps anulen No interrumpir"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"Excepciones de apps"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3655,6 +3747,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"Permitir que las notificaciones silenciadas por el modo \"No interrumpir\" activen la pantalla"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"Configuración de notificaciones"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"Aceptar"</string>
+    <string name="suggestion_button_close" msgid="6865170855573283759">"Cerrar"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Enviar comentarios del dispositivo"</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"Ingresa el PIN de administrador"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"Activado"</string>
@@ -3665,6 +3758,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Solicitar PIN para quitar fijación"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Solicitar contraseña para quitar fijación"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Bloquear dispositivo al quitar fijación"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Confirmar eliminación de SIM"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"Verifica que tu identidad antes de borrar una SIM descargada"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"La siguiente aplicación administra este perfil de trabajo:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"Administrado por <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(Experimental)"</string>
@@ -3739,8 +3834,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"Todas las apps"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Apps instaladas"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Apps instantáneas"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"Personales"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"Trabajo"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"Apps: Todas"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"Desactivadas"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"Categoría: Urgente"</string>
@@ -3752,6 +3845,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"Aplicación desconocida"</string>
     <string name="app_permissions" msgid="8666537659217653626">"Administrador de permisos"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"Apps que usan <xliff:g id="APPS">%1$s</xliff:g>"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"Apps que usan <xliff:g id="APPS">%1$s</xliff:g> y más"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"Presionar para activar"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"Presiona dos veces en cualquier lugar de la pantalla para activar el dispositivo."</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"Abrir vínculos"</string>
@@ -3763,9 +3857,14 @@
       <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> apps que abren vínculos compatibles</item>
       <item quantity="one">1 app que abre vínculos compatibles</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"Abrir en esta aplicación"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"Permitir que la app abra vínculos compatibles"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"Preguntar siempre"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"No abrir en esta aplicación"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"No permitir que la app abra vínculos compatible"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="other">La app indica que procesa <xliff:g id="COUNT_1">%d</xliff:g> vínculos</item>
+      <item quantity="one">La app indica que procesa <xliff:g id="COUNT_0">%d</xliff:g> vínculo</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"La app indica que procesa los siguientes vínculos:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"Predeterminada"</string>
     <string name="default_for_work" msgid="537558180548617528">"Predeterminada para el trabajo"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"Asistencia y entrada de voz"</string>
@@ -3909,8 +4008,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"Mostrar sobre otras apps"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Permitir mostrar sobre otras apps"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"Permite que esta app se muestre sobre otras en uso. Es posible que interfiera con el uso de esas apps o cambie afecte su apariencia o el comportamiento."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"Acceso a todos los archivos"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"Permitir administrar todos los archivos"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Permite que esta app lea, modifique y borre todos los archivos en el dispositivo o cualquier volumen de almacenamiento conectado. Si habilitas el permiso, es posible que la app acceda a archivos sin tu conocimiento explícito."</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"Pueden acceder a todos los archivos"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"rv, procesador de realidad virtual, estéreo, servicio de ayuda"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"sistema, alerta, ventana, cuadro de diálogo, mostrar sobre otras apps"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"Mostrar sobre otras apps"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"<xliff:g id="COUNT_0">%1$d</xliff:g> de <xliff:g id="COUNT_1">%2$d</xliff:g> apps que pueden mostrarse sobre otras apps"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"Aplicaciones con permiso"</string>
@@ -4076,6 +4178,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"Se usaron <xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g>"</string>
     <string name="data_overusage" msgid="3680477320458707259">"Exceso: <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="data_remaining" msgid="6316251496381922837">"Datos restantes: <xliff:g id="ID_1">^1</xliff:g>"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"Un gráfico que muestra el uso de datos entre el <xliff:g id="START_DATE">%1$s</xliff:g> y el <xliff:g id="END_DATE">%2$s</xliff:g>"</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"No hay datos en este período"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="other">Quedan %d días</item>
       <item quantity="one">Queda %d día</item>
@@ -4139,14 +4243,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"tamaño del paquete"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"notificación enviada"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"sonido"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"vibrar"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"patrón"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"predeterminado"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"canal"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"ninguno"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"Falta el objeto de la clasificación."</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"El objeto de la clasificación no incluye esta tecla."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"Temas"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"Opción predeterminada del dispositivo"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"Corte de pantalla"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"recorte de la pantalla, corte"</string>
@@ -4235,8 +4335,12 @@
     <string name="information_label" msgid="6939310810756569298">"Información"</string>
     <string name="low_label" msgid="6525629096999711220">"Baja"</string>
     <string name="high_label" msgid="357503396626018487">"Alta"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"La sensibilidad alta puede entrar en conflicto con los gestos de la app que se hagan en los bordes de la pantalla."</string>
+    <string name="left_edge" msgid="1513576842959071849">"Borde izquierdo"</string>
+    <string name="right_edge" msgid="1505309103265829121">"Borde derecho"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"La sensibilidad alta puede entrar en conflicto con los gestos de la app que se hagan en los bordes de la pantalla."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"Sensibilidad posterior"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"Configuración de gestos"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"navegación por gestos, sensibilidad posterior, gesto de retroceso"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"Presiona la pantalla dos veces para consultar el teléfono"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"Presionar dos veces la tablet para revisarla"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"Presionar dos veces el dispositivo para revisarlo"</string>
@@ -4391,7 +4495,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"Activar aprovisionamiento del proveedor"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"Actualizar el modo No interrumpir"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"Pausa las notificaciones para concentrarte"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"La función no está disponible en este dispositivo"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"Función no disponible"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"Se desactivó esta función porque ralentiza el teléfono"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"Forzar dimensiones GNSS completas"</string>
@@ -4401,20 +4504,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"Seleccionar app compatible con ANGLE"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"No se estableció ninguna app compatible con ANGLE"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"App compatible con ANGLE: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"Preferencias del controlador de juegos"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"Modificar configuración del controlador de juegos"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"Cuando el controlador de juegos está activado, puedes elegir si quieres usar el controlador gráfico actualizado para las apps instaladas en el dispositivo."</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"Habilitar para todas las apps"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"Seleccionar controlador gráfico"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"Predeterminado"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"Controlador de juegos"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"Controlador previo al lanzamiento"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"Controlador gráfico del sistema"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"Preferencias del controlador gráfico"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"Modificar configuración del controlador gráfico"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"Cuando hay varios controladores gráficos, puedes elegir usar el que esté actualizado para las apps instaladas en el dispositivo."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"Habilitar para todas las apps"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"Seleccionar controlador gráfico"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"Predeterminado"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"Controlador de juegos"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"Controlador para desarrolladores"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Controlador gráfico del sistema"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Cambios en la compatibilidad de la app"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Activar o desactivar los cambios de compatibilidad de la app"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Cambios habilitados de manera predeterminada"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Cambios inhabilitados de manera predeterminada"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"Este teléfono no admite esa opción de configuración"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"Esta tablet no admite esa opción de configuración"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"Este dispositivo no admite esa opción de configuración"</string>
@@ -4433,6 +4542,12 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"Dispositivo"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"No disponible durante llamadas"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"No disponible"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"Agregar salida de contenido multimedia"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"Grupo"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"Se seleccionó 1 dispositivo"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"Se seleccionaron <xliff:g id="COUNT">%1$d</xliff:g> dispositivos"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"Atender llamada en"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"No se puede cambiar este APN."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Mejorar duración de la batería de la tablet"</string>
@@ -4550,10 +4665,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Solo puede activarse una sola tarjeta SIM descargada a la vez.\n\nSi cambias a <xliff:g id="CARRIER1">%1$s</xliff:g> no se cancelará el servicio de <xliff:g id="CARRIER2">%2$s</xliff:g>."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Cambiar a <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Borrar tarjeta SIM"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"¿Quieres borrar esta tarjeta SIM descargada?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Si borras esta tarjeta SIM, se quitará el servicio de <xliff:g id="CARRIER_0">%1$s</xliff:g> de este dispositivo.\n\nSin embargo, no se cancelará el servicio de <xliff:g id="CARRIER_1">%2$s</xliff:g>."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Borrar"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Borrando SIM…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"No se puede borrar la tarjeta SIM"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"No es posible borrar esta tarjeta SIM debido a un error.\n\nReinicia el dispositivo y vuelve a intentarlo."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Tipo de red preferido"</string>
@@ -4578,7 +4689,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"El modo de red no es válido: <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Ignorar."</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Nombres de puntos de acceso"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"No está disponible cuando estás conectado a <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"Información médica y contactos de emergencia"</string>
     <string name="see_more" msgid="7499355691042812723">"Ver más"</string>
     <string name="see_less" msgid="2642392725363552793">"Ver menos"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"Dispositivo para usar con <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
@@ -4587,11 +4697,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"Se produjo un error. La aplicación canceló la solicitud para elegir un dispositivo."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"Conexión exitosa"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"Mostrar todo"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> dispositivos conectados</item>
-      <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_0">%1$d</xliff:g> dispositivo conectado</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"No hay dispositivos Bluetooth"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"Buscando dispositivo…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"Estableciendo conexión con dispositivo…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"Izquierdo"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"Derecho"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Funda"</string>
@@ -4601,6 +4708,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"No disponible en modo de avión"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"Forzar modo de escritorio"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Forzar el modo de escritorio experimental en pantallas secundarias"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"Habilitar sizecompat para freeform"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"Permite que las apps sizecompat usen el formato freeform"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Anular forzar el modo oscuro"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"Anula la función forzar el modo oscuro para que esté siempre activo"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"Privacidad"</string>
@@ -4637,6 +4746,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Instalaste esta app recientemente."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Cambiar de salida"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Reproduciendo en <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (desconectado)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Error: Presiona, y vuelve a intentarlo."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Información importante"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"CONTINUAR"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"NO, GRACIAS"</string>
@@ -4664,8 +4775,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"Combinación de SIM"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Información sobre la política de tu trabajo"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Configuración gestionada por tu administrador de TI"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"Controlador de informes de errores"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Determina qué app controla el acceso directo a los informes de errores en el dispositivo."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Personal"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"Trabajo"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"Predeterminada del sistema"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"Esta opción ya no es válida. Vuelve a intentarlo."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"Detener transmisión"</string>
 </resources>
diff --git a/res/values-es/arrays.xml b/res/values-es/arrays.xml
index 0c8de0e..e6c303f 100644
--- a/res/values-es/arrays.xml
+++ b/res/values-es/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"Inmediatamente"</item>
     <item msgid="463591454172790676">"5 segundos"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"No validar"</item>
+    <item msgid="5703177653586269306">"Solicitar estado de certificado"</item>
+    <item msgid="326388247868439528">"Pedir estado de certificado"</item>
+    <item msgid="1090956283885790552">"Pedir todos los estados de certificado que no sean de confianza"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"Botón WPS"</item>
     <item msgid="2630618799033509548">"PIN del otro dispositivo"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"Ninguno"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"Red privada virtual IPSec con claves precompartidas y autenticación XAuth"</item>
     <item msgid="2484564813864139237">"Red privada virtual IPSec con certificados y autenticación XAuth"</item>
     <item msgid="68918911194507915">"Red privada virtual IPSec con certificados y autenticación híbrida"</item>
+    <item msgid="4631647675167100375">"VPN IKEv2/IPSec con certificados y autenticación de nombres de usuario y contraseñas"</item>
+    <item msgid="8812228622975052811">"VPN IKEv2/IPSec con claves precompartidas"</item>
+    <item msgid="6630554779981113046">"VPN IKEv2/IPSec con certificados"</item>
   </string-array>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"Ninguno"</item>
diff --git a/res/values-es/config.xml b/res/values-es/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-es/config.xml
+++ b/res/values-es/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index 06a25d9..3144ac7 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -31,49 +31,17 @@
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Habilita primero las opciones para desarrolladores."</string>
     <string name="header_category_wireless_networks" msgid="303445626075235229">"Conexiones inalámbricas y redes"</string>
     <string name="header_category_system" msgid="1665516346845259058">"Sistema"</string>
-    <string name="radio_info_data_connection_enable" msgid="7500945447906187613">"Habilitar conexión de datos"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"Inhabilitar conexión de datos"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"VoLTE administrada"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"Videollamada preparada"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"Llamada Wi-Fi preparada"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"EAB/Presence asignados"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"Datos de CBRS"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"Habilitar DSDS"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"¿Quieres reiniciar el dispositivo?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"Debes reiniciar el dispositivo para cambiar este ajuste."</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"Reiniciar"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"Cancelar"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"Potencia de la señal móvil"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"Ver libreta de direcciones de tarjeta SIM"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"Ver números de marcación fija"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"Ver números de marcación de servicio"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"Estado del servicio IMS"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"Estado de IMS"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"Registrado"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"No registrado"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"Disponible"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"No disponible"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"Registro en IMS: <xliff:g id="STATUS">%1$s</xliff:g>\nVoz a través de LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nVoz a través de Wi-Fi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideollamadas: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nInterfaz UT: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"En servicio"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Fuera de servicio"</string>
     <string name="radioInfo_service_emergency" msgid="6838935881091760942">"Solo llamadas de emergencia"</string>
     <string name="radioInfo_service_off" msgid="6184928420860868571">"Señal móvil desactivada"</string>
     <string name="radioInfo_roaming_in" msgid="8892550453644088692">"Itinerancia"</string>
     <string name="radioInfo_roaming_not" msgid="3137594549464975054">"Sin itinerancia"</string>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"Inactivo"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"Sonando"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"Llamada en curso"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"Desconectado"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"Estableciendo conexión"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"Conectado"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Suspendido"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Desconocido"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"pqts"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"bytes"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"Desconectar USB"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"Desconectar tarjeta SD"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"Borrar almacenamiento USB"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"Aumenta o disminuye el tamaño del texto de la pantalla."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Reducir el tamaño"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Aumentar el tamaño"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"Texto de ejemplo"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"El maravilloso mago de Oz"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"Capítulo 11: La maravillosa Ciudad Esmeralda de Oz"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"Debes reiniciar el dispositivo para cambiar este ajuste."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"Reiniciar"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"Cancelar"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"Dispositivos multimedia disponibles"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"Dispositivos de llamada disponibles"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"Conectados actualmente"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"Dispositivos multimedia"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"Dispositivos de llamada"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"Otros dispositivos"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Dispositivos guardados"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"El Bluetooth se activará para vincular"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Preferencias de conexión"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"El puerto que has introducido no es válido."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"El navegador utiliza el proxy HTTP, pero otras aplicaciones no pueden usarlo."</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"URL PAC "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"ID secundario actual:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"ID secundario de la SIM de datos predeterminada:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"Ancho de banda de bajada (Kbps):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"Ancho de banda de subida (Kbps):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"Información sobre la ubicación del teléfono (obsoleto):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"Configuración del canal físico de LTE:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"Frecuencia de actualización de la información del teléfono:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"Información sobre las dimensiones de los teléfonos:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"Servicio de datos:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"Itinerancia:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"Desvío de llamadas:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"Número de PPP restablecido desde el inicio:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"Red actual:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"Datos recibidos:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"Servicio de voz:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"Intensidad de la señal:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"Estado de la llamada de voz:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"Datos enviados:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"Mensaje en espera:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"Número de teléfono:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"Seleccionar banda de señal móvil"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"Tipo de red de voz:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"Tipo de red de datos:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"Seleccionar guía telefónica"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"Establecer tipo de red preferido:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"Hacer ping a IPv4 de nombre de host (www.google.com):"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"Hacer ping a IPv6 de nombre de host (www.google.com):"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"Prueba de cliente HTTP:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"Ejecutar prueba de ping"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"Actualizar"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"Actualizar"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"Alternar comprobación de DNS"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"Ajustes/información específica de OEM"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"Establecer modo de banda de señal móvil"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"Cargando lista de bandas…"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"Establecer"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"Con error"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"Correcto"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"Los cambios se aplicarán cuando se vuelva a conectar el cable USB."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"Habilitar almacenamiento masivo USB"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"Bytes totales:"</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"Mover al final"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"Quitar idioma"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"Seleccionar actividad"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"Información del dispositivo"</string>
     <string name="display_label" msgid="3056320781191343221">"Pantalla"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"Información del tablet"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"Información sobre el teléfono"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"Almacenamiento USB"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"Tarjeta SD"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"Ajustes de proxy"</string>
@@ -306,9 +234,6 @@
     <string name="airplane_mode" msgid="3196085857882526817">"Modo avión"</string>
     <string name="wireless_networks_settings_title" msgid="8557542379234105369">"Conexiones inalámbricas y redes"</string>
     <string name="radio_controls_summary" msgid="9028430178697624501">"Administrar Wi‑Fi, Bluetooth, modo avión, redes móviles y redes VPN"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"Datos móviles"</string>
-    <string name="calls_title" msgid="6334813967619899114">"Permitir llamadas"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"Mensajes SMS"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"Permitir el uso de datos en redes móviles"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"Permitir uso datos itinerancia"</string>
     <string name="roaming" msgid="3055365654530847985">"Itinerancia"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"Conectarse a servicios de datos en itinerancia"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"Has perdido la conectividad de datos porque has dejado desactivada la itinerancia de datos de tu red doméstica."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"Activarla"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"El coste de este servicio puede ser significativo."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"Al permitir la itinerancia de datos, los costes de itinerancia que deberás asumir pueden ser significativos.\n\nEsta configuración afecta a todos los usuarios de este tablet."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"Al permitir la itinerancia de datos, los costes de itinerancia que deberás asumir pueden ser significativos.\n\nEsta configuración afecta a todos los usuarios de este teléfono."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"Es posible que se apliquen cargos por itinerancia."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"Si permites la itinerancia de datos, es posible que se apliquen cargos adicionales.\n\nEste ajuste afecta a todos los usuarios de este tablet."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"Si permites la itinerancia de datos, es posible que se apliquen cargos adicionales.\n\nEste ajuste afecta a todos los usuarios de este teléfono."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"¿Permitir la itinerancia de datos?"</string>
     <string name="networks" msgid="5184501333492775095">"Selección de operador"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"Selecciona un operador de red"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"Inhabilitado por el administrador"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"Mostrar opción de bloqueo de seguridad"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"Mostrar la opción del botón de encendido que desactiva Smart Lock, el desbloqueo por biometría y las notificaciones en la pantalla de bloqueo"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"Los agentes de confianza solo extienden el desbloqueo"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"Si se habilita esta opción, los agentes de confianza mantendrán el dispositivo desbloqueado durante más tiempo, pero ya no podrán desbloquear un dispositivo bloqueado"</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"Bloquear pantalla si no hay confianza"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"Si se habilita esta opción, el dispositivo se bloqueará cuando el último agente de confianza pierda la confianza"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"Ninguno"</string>
@@ -390,7 +313,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"Establecer Mi ubicación, bloqueo de pantalla, bloqueo de tarjeta SIM y bloqueo de almacenamiento de credenciales"</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"Establecer ubicación, bloqueo de pantalla y bloqueo de almacenamiento de credenciales"</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"Privacidad"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"Inhabilitado por el administrador"</string>
+    <string name="disabled_by_administrator_summary" msgid="5424846182313851124">"No disponible"</string>
     <string name="security_status_title" msgid="6958004275337618656">"Estado de seguridad"</string>
     <string name="security_dashboard_summary_face" msgid="4198949293847206382">"Bloqueo de pantalla, desbloqueo facial"</string>
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Bloqueo de pantalla y huella digital"</string>
@@ -693,7 +616,6 @@
       <item quantity="other">Debe tener menos de <xliff:g id="NUMBER_1">%d</xliff:g> dígitos</item>
       <item quantity="one">Debe tener menos de <xliff:g id="NUMBER_0">%d</xliff:g> dígito</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"Solo debe tener dígitos comprendidos entre el 0 y el 9"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"El administrador de dispositivos no permite utilizar un PIN reciente"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"El administrador de TI bloquea los PIN comunes. Prueba a utilizar otro PIN."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"No puede incluir un carácter que no sea válido"</string>
@@ -724,6 +646,10 @@
       <item quantity="other">Debe tener al menos <xliff:g id="COUNT">%d</xliff:g> caracteres que no sean una letra</item>
       <item quantity="one">Debe tener al menos 1 carácter que no sea una letra</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="other">Debe contener al menos <xliff:g id="COUNT">%d</xliff:g> caracteres no numéricos</item>
+      <item quantity="one">Debe contener al menos 1 carácter no numérico</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"El administrador de dispositivos no permite utilizar una contraseña reciente"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"El administrador de TI bloquea las contraseñas comunes. Prueba a utilizar otra contraseña."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"No se permite utilizar una secuencia ascendente, descendente ni repetida de dígitos"</string>
@@ -837,19 +763,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2,4 GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"Iniciar sesión"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"Abrir sitio web"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"Tiempo restante: <xliff:g id="REMAINING_TIME">%1$s</xliff:g>"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"Caduca el <xliff:g id="EXPIRY_TIME">%1$s</xliff:g>"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"Toca para iniciar sesión en la red"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"<xliff:g id="REQUESTER">%s</xliff:g> quiere activar la conexión Wi-Fi"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"<xliff:g id="REQUESTER">%s</xliff:g> quiere desactivar la conexión Wi-Fi"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"Verificar bytecode de aplicaciones depurables"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Permitir que ART verifique el bytecode de aplicaciones depurables"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"Mostrar frecuencia de actualización"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Mostrar la frecuencia de actualización de pantalla"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"Permitir intercambio de datos cuando el tablet toque otro dispositivo"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"Permitir el intercambio de datos cuando el teléfono toque otro dispositivo"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"Permitir el intercambio de datos cuando el tablet toque un dispositivo NFC"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"Permitir el intercambio de datos cuando el teléfono toque un dispositivo NFC"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"Activar NFC"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"La tecnología NFC permite intercambiar datos entre este dispositivo y otros dispositivos u objetivos cercanos, como terminales de pago, lectores de acceso y etiquetas o anuncios interactivos."</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"Proteger NFC"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Usar NFC solo si el dispositivo está desbloqueado"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"Permitir uso de NFC en pagos y transporte público solo con la pantalla desbloqueada"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"Listo para compartir contenido de aplicaciones por NFC"</string>
@@ -923,8 +855,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Activar"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Se ha activado la búsqueda de redes Wi‑Fi"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Opciones avanzadas"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"Lista desplegable Opciones Avanzadas. Tócala dos veces para ocultarla."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"Lista desplegable Opciones Avanzadas. Tócala dos veces para mostrarla."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Lista desplegable de opciones avanzadas"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"mostrar"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"Nombre de la red"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"Introduce el SSID"</string>
     <string name="wifi_security" msgid="9095934643631406913">"Seguridad"</string>
@@ -934,6 +866,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"Estado"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"Transmitir velocidad de enlace"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"Recibir velocidad de enlace"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"Velocidad de enlace"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"Frecuencia"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"Dirección IP"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"Guardada a través de"</string>
@@ -941,6 +874,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"Método EAP"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"Autenticación de fase 2"</string>
     <string name="wifi_eap_ca_cert" msgid="8033404008276298886">"Certificado de CA"</string>
+    <string name="wifi_eap_ocsp" msgid="8713933962516871238">"Estado de certificado online"</string>
     <string name="wifi_eap_domain" msgid="8304301470752333203">"Dominio"</string>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"Certificado de usuario"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"Identidad"</string>
@@ -957,6 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"Selecciona al menos una banda para el punto de acceso Wi‑Fi:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"Ajustes de IP"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"Privacidad"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"Suscripción"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"Ver o cambiar la suscripción"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"Dirección MAC aleatoria"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"Añadir un dispositivo"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"Encuadra el código QR para añadir el dispositivo a \"<xliff:g id="SSID">%1$s</xliff:g>\""</string>
@@ -966,12 +902,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"Compartir Wi‑Fi"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"Escanea el código QR con otro dispositivo para conectarlo a \"<xliff:g id="SSID">%1$s</xliff:g>\" y compartir la contraseña"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"Escanea el código QR con otro dispositivo para conectarte a \"<xliff:g id="SSID">%1$s</xliff:g>\""</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"No se ha podido leer el código QR. Encuadra bien el código y vuelve a intentarlo."</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"Vuelve a intentarlo. Si el problema persiste, ponte en contacto con el fabricante del dispositivo"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"Ha habido un error"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"Comprueba que el dispositivo esté enchufado, cargado y encendido"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"Comprueba que el dispositivo esté enchufado, cargado y encendido. Si el problema persiste, ponte en contacto con el fabricante del dispositivo"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"No se puede añadir \"<xliff:g id="SSID">%1$s</xliff:g>\" a este dispositivo"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"Prueba a colocar el dispositivo más cerca de tu punto de acceso o router Wi‑Fi"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"Comprueba que la contraseña sea correcta y vuelve a intentarlo"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"Ponte en contacto con el fabricante del dispositivo"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"Comprueba la conexión y vuelve a intentarlo"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"Elegir red"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"Elige una red para conectar tu dispositivo"</string>
@@ -984,11 +922,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"Compartiendo Wi‑Fi con este dispositivo…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"Conectando…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"Compartir punto de red Wi‑Fi"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"Verifica que eres tú"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"Demuestra que eres tú"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"Contraseña de la red Wi‑Fi: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"Contraseña del punto de acceso: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"Conexión automática"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"Permitir que el teléfono se conecte automáticamente a esta red cuando esté cerca"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"Permitir que el tablet se conecte automáticamente a esta red cuando esté cerca"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"Añadir dispositivo"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"Usa un código QR para añadir un dispositivo a esta red"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"El formato del código QR no es válido"</string>
     <string name="retry" msgid="7542103800274026915">"Reintentar"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"Compartir con otros usuarios del dispositivo"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(no modificada)"</string>
@@ -1000,6 +942,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"No se ha especificado ningún certificado. La conexión no será privada."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"El nombre de la red es demasiado largo."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"Se debe especificar un dominio."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"Se necesita un certificado."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"WPS disponible"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (WPS disponible)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"Red Wi‑Fi del operador"</string>
@@ -1051,7 +994,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"Ajustes avanzados de Wi-Fi"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"Dirección MAC"</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_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>
@@ -1103,7 +1047,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"Utiliza un punto de acceso para crear una red Wi‑Fi que puedan usar otros dispositivos. Los puntos de acceso permiten acceder a Internet con una conexión de datos móviles. Es posible que se apliquen cargos adicionales por el uso de datos."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"Las aplicaciones pueden crear un punto de acceso para compartir contenido con dispositivos cercanos."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Desactivar punto de acceso automáticamente"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"El punto de acceso Wi‑Fi se desactivará si no hay dispositivos conectados"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Cuando no hay dispositivos conectados"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"Activando zona Wi-Fi…"</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"Desactivando zona Wi-Fi…"</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> está activa"</string>
@@ -1112,6 +1056,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"Configuración del punto de acceso Wi-Fi"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"Punto de acceso AndroidAP WPA2 PSK"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"AndroidHotspot"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"¿Quieres guardar esta red?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"<xliff:g id="APPNAME">%1$s</xliff:g> quiere guardar una red en tu teléfono"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"<xliff:g id="APPNAME">%1$s</xliff:g> quiere guardar una red en tu tablet"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"Guardando…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"Guardada"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"No se ha podido guardar. Inténtalo de nuevo."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"¿Quieres guardar las redes?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"<xliff:g id="APPNAME">%1$s</xliff:g> quiere guardar estas redes en tu teléfono"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"<xliff:g id="APPNAME">%1$s</xliff:g> quiere guardar estas redes en tu tablet"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"Guardando <xliff:g id="NUMBER">%d</xliff:g> redes…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"Se han guardado las redes"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"Llamada por Wi-Fi"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"Recibe más llamadas gracias a la red Wi‑Fi"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"Activa la llamada por Wi‑Fi para tener más cobertura"</string>
@@ -1138,16 +1093,18 @@
     <string name="emergency_address_title" msgid="3490633500025717573">"Dirección de emergencia"</string>
     <string name="emergency_address_summary" msgid="3022628750270626473">"Se utiliza como tu ubicación al hacer una llamada de emergencia por Wi‑Fi"</string>
     <string name="private_dns_help_message" msgid="851221502063782306"><annotation id="url">"Más información"</annotation>" sobre las funciones de DNS privado"</string>
+    <string name="private_dns_mode_on" msgid="8878679071975375696">"Activado"</string>
     <string name="wifi_calling_pref_managed_by_carrier" msgid="129524064888622179">"Ajuste gestionado por el operador"</string>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"Activar la función de llamada por Wi‑Fi"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"Activar la función de llamada por Wi‑Fi"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"La función de llamada por Wi‑Fi no es compatible con %1$s"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"Desconectado de <xliff:g id="SSID">%1$s</xliff:g>"</string>
     <string name="carrier" msgid="1755020806290963951">"Operador"</string>
     <string name="display_settings_title" msgid="626835071804834218">"Pantalla"</string>
     <string name="sound_settings" msgid="5514582720435174014">"Sonido"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"Volumen"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"Efectos de música"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"Volumen del tono"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"Volumen del tono y de las notificaciones"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"Vibrar en modo silencio"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"Sonido de notificación predeterminado"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"Tono"</string>
@@ -1272,13 +1229,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"Programar"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"Nunca"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"Activar del anochecer al amanecer"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"Activar a una hora concreta"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"Estado"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"Desactivado/<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"No se activará nunca automáticamente"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"Se activará automáticamente al anochecer"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"Se activará automáticamente a las <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"Activado/<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"No se desactivará nunca automáticamente"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"Se desactivará automáticamente al amanecer"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"Se desactivará automáticamente a las <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"Activar hasta las <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"Desactivar hasta las <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"El tema oscuro utiliza un fondo negro en algunas pantallas para que la batería dure más. Si lo programas, se activará después de que apagues la pantalla."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"Tiempo de espera de la pantalla"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"La pantalla se apaga"</string>
@@ -1290,7 +1252,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"Cambiar el fondo de pantalla"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"Personaliza la pantalla"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"Seleccionar fondo de..."</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"Personalizar tu Pixel"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"Personalizar el teléfono"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"Prueba diferentes estilos, fondos de pantalla y mucho más"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"Salvapantallas"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Durante la carga o si el dispositivo está conectado a una base"</string>
@@ -1379,6 +1341,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"Desconectar almacenamiento USB, ver almacenamiento disponible"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"Desconectar tarjeta SD, ver almacenamiento disponible."</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (ranura SIM %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"Para verla, selecciona una red que tengas guardada"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"Número de teléfono"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (ranura SIM %1$d)"</string>
@@ -1405,6 +1368,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"Itinerancia"</string>
     <string name="status_operator" msgid="4335640583552058491">"Red"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"Dirección MAC de la red Wi‑Fi"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"Dirección MAC de la red Wi‑Fi del dispositivo"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"Dirección de Bluetooth"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Número de serie"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Tiempo de actividad"</string>
@@ -1617,6 +1581,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Se ha restablecido la configuración predeterminada de APN."</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"Opciones de recuperación"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"Se puede recuperar la configuración de la red, de las aplicaciones o del dispositivo"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"Las aplicaciones se pueden reiniciar"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"Recuperar Wi-Fi, red móvil y Bluetooth"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"Se recuperarán todos los ajustes de red, como:\n\n"<li>"Wi‑Fi"</li>\n<li>"Datos móviles"</li>\n<li>"Bluetooth"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"Borrar las SIM descargadas"</string>
@@ -1666,6 +1631,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"Punto de acceso activado"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"Compartir conexión"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"No se puede hacer el anclaje de red ni utilizar zonas Wi-Fi portátiles mientras el ahorro de datos esté activado"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"Solo punto de acceso"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"Solo USB"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"Solo Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"Punto de acceso y USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"Punto de acceso y Bluetooth"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB y Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"Punto de acceso, USB y Bluetooth"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"No se está compartiendo la conexión a Internet con otros dispositivos"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"Compartir conexión"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"No usar el punto de acceso Wi‑Fi"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Compartir Internet solo mediante USB"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Compartir Internet solo mediante Bluetooth"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Compartir Internet solo mediante USB y Bluetooth"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"Compartir conexión por USB"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"Compartir la conexión a Internet del teléfono por USB"</string>
@@ -1756,9 +1734,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"Información de seguridad"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"No tienes conexión de datos. Para ver esta información, accede a %s desde cualquier ordenador conectado a Internet."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"Cargando…"</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"Usar PIN"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"Usar patrón"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"Usar contraseña"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"Establecer el bloqueo de pantalla"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"Por seguridad, establece una contraseña"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"Para usar la huella, añade una contraseña"</string>
@@ -1767,8 +1742,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"Para usar la huella, añade un PIN"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"Por seguridad, establece un patrón"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"Vuelve a introducir tu contraseña"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"Escribe tu contraseña del trabajo"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"Confirma el patrón"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"Dibuja tu patrón del trabajo"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"Vuelve a introducir tu PIN"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"Introduce tu PIN del trabajo"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"Las contraseñas no coinciden"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"Los números PIN no coinciden"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"Dibuja tu patrón de nuevo"</string>
@@ -1779,6 +1757,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"Define una contraseña para desbl. facial"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"Define un patrón para el desbloq. facial"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"Define un PIN para el desbloqueo facial"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"¿Has olvidado la contraseña?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"¿Has olvidado el patrón?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"¿Has olvidado el PIN?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"Utiliza el patrón del dispositivo para continuar"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"Introduce el PIN del dispositivo para continuar"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"Introduce la contraseña del dispositivo para continuar"</string>
@@ -1846,6 +1827,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"Permitir todas las fuentes"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"Aplicaciones abiertas recientemente"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"Ver todas las aplicaciones (<xliff:g id="COUNT">%1$d</xliff:g>)"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"Contacta con tu administrador de TI"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"Te podrá ayudar a cambiar el PIN, el patrón o la contraseña"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"Tu tablet y tus datos personales son más vulnerables a los ataques de aplicaciones desconocidas. Al instalar aplicaciones de esta fuente, aceptas ser responsable de cualquier daño que sufra tu tablet o la pérdida de datos que se pueda derivar de su uso."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"Tu teléfono y tus datos personales son más vulnerables a los ataques de aplicaciones desconocidas. Al instalar aplicaciones de esta fuente, aceptas ser responsable de cualquier daño que sufra tu teléfono o la pérdida de datos que se pueda derivar de su uso."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"Tu dispositivo y tus datos personales son más vulnerables a los ataques de aplicaciones desconocidas. Al instalar aplicaciones de esta fuente, aceptas ser responsable de cualquier daño que sufra tu dispositivo o de la pérdida de datos que se pueda derivar de su uso."</string>
@@ -1897,7 +1880,7 @@
     <string name="default_emergency_app" msgid="1929974800666613803">"Aplicación Emergencia"</string>
     <string name="reset_app_preferences" msgid="8861758340732716573">"Recuperar ajustes de aplicaciones"</string>
     <string name="reset_app_preferences_title" msgid="8935136792316050759">"¿Recuperar preferencias de las aplicaciones?"</string>
-    <string name="reset_app_preferences_desc" msgid="1377296810290814749">"Se recuperarán todas las preferencias de:\n\n"<li>"Aplicaciones inhabilitadas"</li>\n<li>"Notificaciones de aplicaciones inhabilitadas"</li>\n<li>"Aplicaciones predeterminadas"</li>\n<li>"Restricciones de datos móviles de aplicaciones"</li>\n<li>"Restricciones de permisos"</li>\n\n"No se perderán los datos de las aplicaciones."</string>
+    <string name="reset_app_preferences_desc" msgid="6509978724602405805">"Se restablecerán todas las preferencias de:\n\n"<li>"Aplicaciones desactivadas"</li>\n<li>"Notificaciones de aplicaciones desactivadas"</li>\n<li>"Aplicaciones para acciones predeterminadas"</li>\n<li>"Restricciones de datos en segundo plano de aplicaciones"</li>\n<li>"Restricciones de permisos"</li>\n\n"No se perderán los datos de las aplicaciones."</string>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"Recuperar aplicaciones"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"Administrar espacio"</string>
     <string name="filter" msgid="9039576690686251462">"Filtrar"</string>
@@ -2097,7 +2080,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"Audio y texto en pantalla"</string>
     <string name="display_category_title" msgid="6638191682294461408">"Pantalla"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"Controles de interacción"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"Servicios descargados"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"Aplicaciones descargadas"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"Experimental"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"Flags de funciones"</string>
     <string name="talkback_title" msgid="8756080454514251327">"TalkBack"</string>
@@ -2105,27 +2088,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"Toca cualquier elemento de la pantalla para escucharlo"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"Preferencias de subtítulos"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"Ampliar"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"Área de ampliación"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"Habilitar la ampliación"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"Selecciona qué áreas quieres ver al ampliar la pantalla"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"Pantalla completa"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"Parte de la pantalla"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"Pantalla completa y parte de la pantalla"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"Ampliar toda la pantalla"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"Ampliar parte de la pantalla"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Ajustes de ampliación"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"Ampliar con tres toques"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Ampliar con atajo"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Amplía con una combinación de teclas y tres toques"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"Acerca de <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"Opciones"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"Ampliar la pantalla"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"Toca tres veces para hacer zoom"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Toca un botón para ampliar"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><b>"Para ampliar el contenido"</b>", toca la pantalla tres veces rápidamente.\n"<ul><li>"Arrastra dos o más dedos para desplazarte."</li>\n<li>"Pellizca la pantalla con dos dedos o más para ajustar el zoom."</li></ul>\n\n<b>"Para ampliar elementos de forma temporal"</b>", toca la pantalla tres veces rápidamente y mantenla pulsada en el tercer toque.\n"<ul><li>"Arrastra el dedo para desplazarte por la pantalla."</li>\n<li>"Levanta el dedo para reducir la imagen."</li></ul>\n\n"El teclado y la barra de navegación no se pueden ampliar."</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"Si la ampliación está activada, puedes ampliar la pantalla.\n\n"<b>"Para aumentar"</b>", inicia la ampliación y, a continuación toca cualquier parte de la pantalla.\n"<ul><li>"• Arrastra dos o más dedos para desplazarte."</li>\n<li>"• Pellizca la pantalla con dos o más dedos para ajustar el zoom."</li></ul>\n\n<b>"Para hacer zoom temporalmente"</b>", inicia la ampliación y mantén pulsada cualquier parte de la pantalla.\n"<ul><li>"• Arrastra el dedo para desplazarte por la pantalla."</li>\n<li>"• Levanta el dedo para dejar de ampliar."</li></ul>\n\n"El teclado y la barra de navegación no se pueden ampliar."</string>
+    <string name="accessibility_screen_magnification_summary" msgid="7617931632990040045">"Aumenta rápidamente la pantalla para ver mejor el contenido.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Para ampliarlo, haz lo siguiente:&lt;/b&gt;&lt;br/&gt;	1. Utiliza el acceso directo para iniciar la función de ampliación&lt;br/&gt;	2. Toca la pantalla&lt;br/&gt;	3. Arrastra 2 dedos para moverte por la pantalla&lt;br/&gt;	4. Pellizca con 2 dedos para ajustar el zoom&lt;br/&gt;	5. Utiliza el acceso directo para detener la función de ampliación&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Para ampliar contenido temporalmente, haz lo siguiente:&lt;/b&gt;&lt;br/&gt;	1. Utiliza el acceso directo para iniciar la función de ampliación&lt;br/&gt;	2. Mantén pulsado cualquier punto de la pantalla&lt;br/&gt;	3. Arrastra el dedo para moverte por la pantalla&lt;br/&gt;	4. Levanta el dedo para dejar de ampliar"</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Si la ampliación está activada, puedes ampliar la pantalla.\n\n"<b>"Para ampliar"</b>", inicia la ampliación y toca la parte de la pantalla que quieras ampliar.\n"<ul><li>"Arrastra al menos dos dedos para desplazarte."</li>\n<li>"Pellizca la pantalla con al menos dos dedos para ajustar el zoom."</li></ul>\n\n<b>"Para ampliar elementos temporalmente"</b>", inicia la ampliación y mantén pulsada cualquier parte de la pantalla.\n"<ul><li>"Arrastra un dedo para desplazarte por la pantalla."</li>\n<li>"Levanta el dedo para reducir la imagen."</li></ul>\n\n"El teclado y la barra de navegación no se pueden ampliar."</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Usa el botón de accesibilidad para abrir"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Usar gesto para abrir"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"Usa el nuevo gesto de accesibilidad"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"Para activar o desactivar este servicio, toca el botón de accesibilidad <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> situado en la parte inferior de la pantalla.\n\nPara cambiar de servicio, mantén pulsado el botón de accesibilidad."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"Para activar o desactivar este servicio, desliza dos dedos hacia arriba desde la parte inferior de la pantalla.\n\nPara cambiar de servicio, desliza dos dedos hacia arriba y mantén pulsada la pantalla."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"Para activar o desactivar este servicio, desliza tres dedos hacia arriba desde la parte inferior de la pantalla.\n\nPara cambiar de servicio, desliza tres dedos hacia arriba y mantén pulsada la pantalla."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"Para activar o desactivar el servicio de accesibilidad, desliza dos dedos hacia arriba desde la parte inferior de la pantalla.\n\nPara cambiar de servicio, desliza dos dedos hacia arriba y mantén pulsada la pantalla."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"Para activar o desactivar un servicio de accesibilidad, desliza tres dedos hacia arriba desde la parte inferior de la pantalla.\n\nPara cambiar de servicio, desliza tres dedos hacia arriba y mantén pulsada la pantalla."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"Para activar o desactivar este servicio, toca el botón Accesibilidad <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>, situado en la parte inferior de la pantalla.\n\nPara cambiar de servicio, mantén pulsado el botón Accesibilidad."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"Para activar o desactivar este servicio, desliza dos dedos hacia arriba, desde la parte inferior de la pantalla.\n\nPara cambiar de servicio, desliza dos dedos hacia arriba y mantén pulsada la pantalla."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"Para activar o desactivar este servicio, desliza tres dedos hacia arriba, desde la parte inferior de la pantalla.\n\nPara cambiar de servicio, desliza tres dedos hacia arriba y mantén pulsada la pantalla."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"Para activar o desactivar un servicio de accesibilidad, desliza dos dedos hacia arriba, desde la parte inferior de la pantalla.\n\nPara cambiar de servicio, desliza dos dedos hacia arriba y mantén pulsada la pantalla."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"Para activar o desactivar un servicio de accesibilidad, desliza tres dedos hacia arriba, desde la parte inferior de la pantalla.\n\nPara cambiar de servicio, desliza tres dedos hacia arriba y mantén pulsada la pantalla."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"Entendido"</string>
+    <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Acceso directo a <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_edit_summary_software" msgid="2820923641553461297">"Botón Accesibilidad"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture" msgid="8078659880723370597">"Desliza dos dedos hacia arriba"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture_talkback" msgid="7422753388389160524">"Desliza tres dedos hacia arriba"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software" msgid="4796192466943479849">"Toca el botón Accesibilidad"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8922102767509399352">"En la parte inferior de la pantalla, toca el botón Accesibilidad <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"Desde la parte inferior de la pantalla, desliza dos dedos hacia arriba"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"Desde la parte inferior de la pantalla, desliza tres dedos hacia arriba"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Mantén pulsadas las teclas de volumen"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"Mantén pulsadas ambas teclas de volumen durante un segundo"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Toca tres veces la pantalla"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"Toca la pantalla tres veces rápidamente (esta acción puede hacer que tu dispositivo funcione más lento)."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"Avanzado"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"Se ha definido <xliff:g id="SERVICE">%1$s</xliff:g> como preferencia de Accesibilidad. Para utilizar la ampliación, mantén pulsado el botón Accesibilidad y selecciona esa opción."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"Se ha definido el gesto de accesibilidad para <xliff:g id="SERVICE">%1$s</xliff:g>. Para usar la función de ampliación, desliza dos dedos hacia arriba desde la parte inferior de la pantalla y mantenla pulsada. A continuación, selecciona la ampliación."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"Función de las teclas de volumen"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"Servicio del acceso directo"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Ajustes de accesos directos"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"Permitir en la pantalla de bloqueo"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"Si la opción está activada, puedes pulsar las dos teclas de volumen durante 3 segundos para iniciar una función de accesibilidad."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"Texto de alto contraste"</string>
@@ -2149,24 +2157,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"Elige el tiempo que quieres tener para leer los mensajes que te piden que realices una acción, pero que se muestran solo temporalmente.\n\nEsta opción no funciona con todas las aplicaciones."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"Retraso al mantener pulsado"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"Invertir colores"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"Puede afectar al rendimiento"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"Tiempo de permanencia"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"Utilizar inversión de color"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"La inversión de color oscurece los colores claros para que las personas sensibles a la luz puedan ver mejor la pantalla.&lt;br/&gt;&lt;br/&gt;Nota: Los colores oscuros pasan a ser claros. Cambiarán los colores del contenido multimedia y las imágenes. También puedes activar el tema oscuro (Ajustes &gt; Pantalla)."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"Clic automático (tiempo de permanencia)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"Si utilizas un ratón, puedes definir que el cursor realice acciones automáticamente cuando deja de moverse durante cierto tiempo."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"Retraso antes del clic"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"No usar clic automático (predet.)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"Corto"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0,2 segundos"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"Medio"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0,6 segundos"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"Largo"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 segundo"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"Personalizado"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"Más corto"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"Más largo"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"Tiempo de clic automático"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"Intensidad de la respuesta táctil y vibración"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Vibración de las notificaciones"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Vibración del tono"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Respuesta táctil"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"Usar servicio"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"Utilizar <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"Abrir <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"Utilizar la corrección de color"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"Utilizar subtítulos"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"Mostrar subtítulos"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"Aspecto de los subtítulos"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"Tamaño del texto y estilo de los subtítulos"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"Más opciones"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"Algunas aplicaciones no admiten este ajuste."</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"Botón Accesibilidad"</string>
+    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"Desliza dos dedos hacia arriba desde la parte inferior"</string>
+    <string name="accessibility_shortcut_type_hardware" msgid="4834144210432451916">"Mantén pulsadas las teclas de volumen"</string>
+    <string name="accessibility_shortcut_type_triple_tap" msgid="7717524216825494543">"Toca tres veces la pantalla"</string>
     <string name="accessibility_hearingaid_instruction_continue_button" msgid="3367260988024430722">"Continuar"</string>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"Audífonos"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"No hay audífonos conectados"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"Añadir audífonos"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"Para vincular audífonos, toca tu dispositivo en la siguiente pantalla."</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"Comprueba que tus audífonos estén en modo de vinculación."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"Para vincular audífonos, toca tu dispositivo en la siguiente pantalla. Comprueba que tus audífonos estén en modo de vinculación."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> está activo"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="other">Se han guardado <xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> audífonos</item>
@@ -2178,25 +2204,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Este servicio no funciona correctamente."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Mostrar en ajustes rápidos"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"Modo de corrección"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="other">Retraso demasiado corto (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Retraso demasiado corto (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Rojo-verde"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"Verde-rojo"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Azul-amarillo"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"Deuteronomalía"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"Protanomalía"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"Tritanomalía"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="other">Retraso extremadamente corto (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> segundos)</item>
+      <item quantity="one">Retraso extremadamente corto (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> segundo)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="other">Retraso muy corto (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Retraso muy corto (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="other">Retraso muy corto (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> segundos)</item>
+      <item quantity="one">Retraso muy corto (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> segundo)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="other">Retraso corto (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Retraso corto (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="other">Retraso corto (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> segundos)</item>
+      <item quantity="one">Retraso corto (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> segundo)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="other">Retraso largo (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Retraso largo (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="other">Retraso largo (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> segundos)</item>
+      <item quantity="one">Retraso largo (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> segundo)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="other">Retraso muy largo (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Retraso muy largo (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="other">Retraso muy largo (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> segundos)</item>
+      <item quantity="one">Retraso muy largo (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> segundo)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> segundos</item>
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> segundo</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"Tono (<xliff:g id="SUMMARY_RING">%1$s</xliff:g>), notificación (<xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>) y respuesta táctil (<xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>)"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"Desactivada para notificaciones y llamadas"</string>
@@ -2513,7 +2549,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"Desde la última vez que se desenchufó para <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"Total de consumo"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"Actualizar"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"SO Android"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"Servidor multimedia"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"Optimización de aplicación"</string>
     <string name="battery_saver" msgid="7737147344510595864">"Ahorro de batería"</string>
@@ -2594,8 +2629,7 @@
     <string name="tts_play" msgid="2945513377250757221">"Reproducir"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"Almacenamiento de credenciales"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"Instalar desde almacenamiento"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"Instalar desde la tarjeta SD"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"Instalar certificados"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"Instalar certificados desde almacenamiento"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"Instalar certificados desde la tarjeta SD"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"Eliminar certificados"</string>
@@ -2615,6 +2649,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"Almacenamiento de credenciales borrado"</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"No se ha podido borrar el almacenamiento de credenciales."</string>
     <string name="usage_access_title" msgid="1580006124578134850">"Apps con acceso de uso"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"Certificado de CA"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"Certificado de usuario"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"Certificado de Wi‑Fi"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"Tu privacidad está en riesgo"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"Los sitios web, las aplicaciones y las VPN utilizan los certificados de CA para cifrar datos. Instala solo certificados de CA de organizaciones de confianza. \n\n Si instalas un certificado de CA, el propietario del certificado podrá acceder a la información que tengas en los sitios web que visitas o las aplicaciones que usas, aunque esté cifrada. Por ejemplo, puede tener acceso a contraseñas, mensajes o datos de tarjetas de crédito."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"No instalar"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"Instalar de todos modos"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"No se ha instalado el certificado"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"Señal de llamada de emergencia"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Establecer comportamiento al realizar una llamada de emergencia"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Copia de seguridad"</string>
@@ -2642,10 +2684,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"Desactivar y desinstalar"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"Aplicaciones de admin. de dispositivos"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"No hay aplicaciones de administrador de dispositivos disponibles"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"Personal"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"Trabajo"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"Restringir acceso al registro de llamadas y SMS"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"Solo las aplicaciones de teléfono y mensajería predeterminadas tienen permiso para acceder al registro de llamadas y SMS"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"No hay agentes de confianza disponibles"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"¿Activar administrador de dispositivos?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"Activar esta aplicación de administrador de dispositivos"</string>
@@ -2659,6 +2697,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"El administrador ha inhabilitado otras opciones"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"Más información"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"Registro de notificaciones"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"Historial de notificaciones"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"Hoy"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"Pospuestas"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"Cerradas recientemente"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> notificaciones</item>
+      <item quantity="one"><xliff:g id="NUMBER_0">%d</xliff:g> notificación</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"Tono de llamada y vibración"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"Información de la red"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"Sincronización habilitada"</string>
@@ -3008,7 +3054,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"Restricciones"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"Quitar restricciones"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"Cambiar PIN"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"Mostrar notificaciones"</string>
     <string name="help_label" msgid="2896538416436125883">"Ayuda y sugerencias"</string>
     <string name="support_summary" msgid="1034146931237148885">"Artículos de ayuda, teléfono y chat, y cómo empezar"</string>
     <string name="user_account_title" msgid="6389636876210834864">"Cuenta para contenido"</string>
@@ -3033,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"Llamadas 4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Usar servicios LTE para mejorar la voz y otras comunicaciones (recomendado)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Usar servicios 4G para mejorar la voz y otras comunicaciones (recomendado)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Detección de contactos"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Permite que tu operador detecte qué funciones de llamada admiten tus contactos."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"¿Quieres habilitar la detección de contactos?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Si habilitas esta función, tu operador podrá acceder a los números de teléfono de tus contactos para detectar qué funciones de llamada admiten."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Tipo de red preferido"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (recomendado)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"Mensajes MMS"</string>
@@ -3077,7 +3126,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"Llamar con"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"Selecciona una tarjeta SIM"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"SIM <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"SIM vacía"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"Nombre de la SIM"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"Introduce el nombre de SIM"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"Ranura de la SIM %1$d"</string>
@@ -3087,6 +3135,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"Selecciona una tarjeta SIM"</string>
     <string name="color_orange" msgid="216547825489739010">"Naranja"</string>
     <string name="color_purple" msgid="6603701972079904843">"Violeta"</string>
+    <string name="color_pink" msgid="8596872110888626708">"Rosa"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"No se ha insertado ninguna tarjeta SIM"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"Estado de la SIM"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"Estado de la SIM (ranura SIM %1$d)"</string>
@@ -3100,7 +3149,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"Tarjetas SIM cambiadas."</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Toca para configurar"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"SIM preferida para"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Preguntar siempre"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Debes seleccionar una opción"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"Selección de SIM"</string>
@@ -3118,6 +3166,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"Bluetooth, modo de conducción"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"Bluetooth y NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"Bluetooth"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"No está disponible porque la NFC está desactivada"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"Aplicaciones y notificaciones"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Aplicaciones recientes y aplicaciones predeterminadas"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Las aplicaciones del perfil de trabajo no tienen acceso a las notificaciones."</string>
@@ -3128,13 +3177,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"Ajustes"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"wifi, wi‑fi, conexión de red, internet, inalámbrica, datos, wi fi"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"Notificación Wi‑Fi, notificación Wi‑Fi"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"uso de datos"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"Parar vibración, tocar, teclado"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"Usar formato de 24 horas"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"Descargar"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"Abrir con"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"Aplicaciones"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"Zona horaria"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"Encabezado del chat"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"encabezado del chat, sistema, alerta, ventana, cuadro de diálogo, mostrar sobre otras aplicaciones, dibujar"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"Linterna, luz"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"wifi, wi‑fi, alternar, controlar"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"móvil, operador móvil, conexión inalámbrica, datos, 4G, 3G, 2G, LTE"</string>
@@ -3158,7 +3208,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"no molestar, interrumpir, interrupción, descanso"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"cercano, ubicación, historial, informes, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"cuenta"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"cuenta, añadir una cuenta, perfil de trabajo, añadir cuenta"</string>
     <string name="keywords_users" msgid="3497517660077620843">"restricción, restringir, restringido"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"corrección de texto, corregir, sonido, vibración, automático, idioma, gesto, sugerencia, tema, ofensivo, palabra, escribir, emoji, internacional"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"recuperar, preferencias, predeterminadas"</string>
@@ -3196,6 +3246,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"memoria, caché, eliminar, borrar, liberar, espacio"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"conectado, dispositivo, auriculares, cascos, altavoz, inalámbrico, vincular, auriculares de botón, música, contenido multimedia"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"fondo, pantalla, pantalla de bloqueo, tema"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"forma del icono, color para destacar, fuente"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"predeterminado, asistente"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"pago, predeterminado"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"notificación entrante"</string>
@@ -3205,18 +3256,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"háptica, vibrar, sensibilidad"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"ahorro de batería, batería fija, duradera, ahorro de batería, batería"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"rutina, horario, ahorro de batería, ahorro de corriente, batería, automático, porcentaje"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"perfil de trabajo"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"volte, llamadas avanzadas, llamadas 4g"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"añadir idioma, añadir un idioma, añadir lengua, añadir una lengua"</string>
     <string name="default_sound" msgid="6604374495015245195">"Sonido predeterminado"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"Volumen del tono de llamada al <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"El volumen del tono de llamada y de las notificaciones está al <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Volumen, vibración y No molestar"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"Timbre en vibración"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"Timbre en silencio"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"Volumen del tono de llamada al 80 %"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"El volumen del tono de llamada y de las notificaciones está al 80 %"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Volumen de multimedia"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Volumen de envío"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"Volumen de llamada"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"Volumen de alarma"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"Volumen del tono"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"Volumen de tono y notificación"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"Volumen de notificaciones"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"Tono del teléfono"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"Sonido de notificación predeterminado"</string>
@@ -3224,6 +3276,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"Sonido de notificación predeterminado"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"Sonido de alarma predeterminado"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"Vibrar en llamadas"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"No vibrar nunca"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"Vibrar siempre"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"Vibrar primero y sonar cada vez más alto"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"Otros sonidos"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"Tonos del teclado"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"Sonidos de bloqueo de pantalla"</string>
@@ -3247,6 +3302,7 @@
       <item quantity="one">1 habilitada</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"No molestar"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Recibir notificaciones solo de personas y aplicaciones importantes"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Limitar interrupciones"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Activar el modo No molestar"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"Excepciones"</string>
@@ -3273,7 +3329,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Bloquear interrupciones visuales"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Permitir señales visuales"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"Cuando el modo No molestar esté activado"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"Permitir interrupciones que reproduzcan sonido"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"Restringir notificaciones"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Notificaciones sin sonido"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"Las notificaciones aparecerán en la pantalla"</string>
@@ -3304,7 +3360,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"Sonido y vibración"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"Sonido, vibración y algunas señales visuales de las notificaciones"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"Sonido, vibración y señales visuales de las notificaciones"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"Las notificaciones necesarias para el estado y las actividades básicas del teléfono no se ocultarán nunca"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"Nunca se ocultarán las notificaciones necesarias para las funciones y el estado básicos del teléfono."</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"Nada"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"otras opciones"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"Añadir"</string>
@@ -3334,10 +3390,12 @@
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> programaciones se pueden activar automáticamente</item>
       <item quantity="one">1 programación se puede activar automáticamente</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"Silenciar el dispositivo, pero permitir excepciones"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"Excepciones"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"Programación"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"Ver todas las excepciones"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"Excepciones si el modo No molestar está activado"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"Personas"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"Aplicaciones"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"Alarmas y otras interrupciones"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"Horarios"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"Notificaciones silenciadas"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"Cuando el modo No molestar esté activado, el sonido y la vibración se silenciarán, excepto en los casos que permitas arriba."</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"Silenciar todo excepto"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"Silenciados"</string>
@@ -3381,16 +3439,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"Notificaciones adaptables"</string>
     <string name="asst_capability_prioritizer_title" msgid="1181272430009156556">"Prioridad de notificaciones adaptable"</string>
     <string name="asst_capability_prioritizer_summary" msgid="954988212366568737">"Establece automáticamente las notificaciones prioritarias como Discretas"</string>
+    <string name="asst_capability_ranking_title" msgid="312998580233257581">"Clasificación de notificaciones adaptable"</string>
+    <string name="asst_capability_ranking_summary" msgid="2293524677144599450">"Clasificar las notificaciones por importancia automáticamente"</string>
     <string name="asst_capabilities_actions_replies_title" msgid="4392470465646394289">"Acciones y respuestas sugeridas"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"Muestra automáticamente las acciones y las respuestas sugeridas"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"Activar el historial de notificaciones para tener un registro de notificaciones pasadas y pospuestas"</string>
+    <string name="notification_history" msgid="8663811361243456201">"Historial de notificaciones"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"Activar historial"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"Desactivar historial"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"Historial de notificaciones desactivado"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"ver ajustes de notificaciones"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Permitir que se pospongan las notificaciones"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"Ocultar iconos de las notificaciones discretas"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"Los iconos de las notificaciones discretas no se muestran la barra de estado."</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"Permitir burbujas de notificación"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"Mostrar barra de conversaciones recientes"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Burbujas"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"Algunas notificaciones pueden aparecer como burbujas en la pantalla"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"Algunas notificaciones y otro tipo de contenido aparecerá como burbujas en la pantalla. Para abrir una burbuja, tócala. Para cerrarla, arrástrala hacia la parte de abajo de la pantalla."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Burbujas"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"Los nuevos mensajes aparecerán en pantalla"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"Permitir a <xliff:g id="APP_NAME">%1$s</xliff:g> mostrar algunas notificaciones como burbujas"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"Activar burbujas"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"Para activar las burbujas de esta aplicación, debes activarlas primero en el dispositivo. Esto afecta a otras aplicaciones en las que las hayas activado previamente."</string>
@@ -3408,6 +3476,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"Se muestra en la pantalla desplegable y en la pantalla de bloqueo"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"Se muestra en la pantalla desplegable y en la barra de estado"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"Se muestra en el desplegable, la barra de estado y la pantalla de bloqueo"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"No mostrar notificaciones silenciosas en la barra de estado"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"Luz parpadeante"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"Pantalla de bloqueo"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"Saltar pantalla de bloqueo"</string>
@@ -3438,6 +3507,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"Qué hacer"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"Permitir sonido"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"No mostrar notificaciones nunca"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"Conversaciones"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"Conversación"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"No es una conversación"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"Quitar de la sección de conversaciones"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"Es una conversación"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"Añadir a la sección de conversación"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"Gestionar conversaciones"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"Conversaciones importantes"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"Todas las conversaciones"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"Mostrar conversaciones importantes en burbujas"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"Las conversaciones importantes se muestran en la parte superior del panel desplegable. También puedes configurarlas para que se muestren en burbujas y no verse afectadas por el modo No molestar."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"Mostrar en silencio y minimizar"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"Mostrar en silencio"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"Emitir sonido"</string>
@@ -3456,7 +3536,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"Te ayuda a concentrarte sin sonido ni vibración"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"Llama tu atención con sonido o vibración."</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"Con el dispositivo desbloqueado, muestra las notificaciones en la parte superior"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"Mostrar notificaciones"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"Todas las notificaciones de <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"Notificaciones adaptables"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="other">Aproximadamente <xliff:g id="NUMBER_1">%d</xliff:g> notificaciones al día</item>
@@ -3477,6 +3557,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"Notificaciones adaptables"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"Nada"</string>
     <string name="no_notification_listeners" msgid="2839354157349636000">"Ninguna aplicación instalada ha solicitado acceso a las notificaciones."</string>
+    <string name="notification_access_detail_switch" msgid="46386786409608330">"Permitir acceso a las notificaciones"</string>
     <string name="notification_assistant_security_warning_title" msgid="2972346436050925276">"¿Permitir que <xliff:g id="SERVICE">%1$s</xliff:g> acceda a las notificaciones?"</string>
     <string name="notification_assistant_security_warning_summary" msgid="3119843404577399036">"<xliff:g id="NOTIFICATION_ASSISTANT_NAME">%1$s</xliff:g> podrá leer todas las notificaciones, incluidas aquellas relacionadas con información personal, como nombres de contactos y texto de mensajes que hayas recibido. También podrá ignorar las notificaciones o utilizar los botones de acción que incluyan. \n\nAdemás, concede a la aplicación la capacidad de activar o desactivar el modo No molestar y de cambiar las opciones de configuración relacionadas."</string>
     <string name="notification_listener_security_warning_title" msgid="5791700876622858363">"¿Permitir que <xliff:g id="SERVICE">%1$s</xliff:g> acceda a las notificaciones?"</string>
@@ -3538,8 +3619,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"Listo"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"Importancia"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"Luz parpadeante"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"Vibrar"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"Vibración"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"Sonido"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"Importante"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"Añadir a la página principal"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"Eliminar"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"Cambiar nombre"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"Nombre de la programación"</string>
@@ -3593,6 +3676,10 @@
       <item quantity="other"><xliff:g id="NUM_PEOPLE">%d</xliff:g> más</item>
       <item quantity="one">1 más</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Conversaciones"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"De todas las conversaciones"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"De las conversaciones importantes"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"No permitir ninguna conversación"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"Permitir mensajes"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"Para que el dispositivo suene al recibir los mensajes permitidos, comprueba si tiene activado el sonido, la vibración o el modo silencio."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"Los mensajes entrantes se bloquean en la programación \"<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>\". Cambia los ajustes para que tus amigos, familiares u otros puedan contactar contigo."</string>
@@ -3606,15 +3693,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"Nada"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"No permitir ninguna llamada"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"No permitir ningún mensaje"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"Permitir alarmas"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"Alarmas"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"De temporizadores, alarmas, sistemas de seguridad y otras aplicaciones"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"alarmas"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"Reproducir sonidos multimedia"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"Sonidos multimedia"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"De vídeos, juegos y otro tipo de contenido multimedia"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"multimedia"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"Permitir sonidos táctiles"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"Sonidos al tocar"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"Del teclado y otros botones"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"sonidos al tocar"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"Permitir recordatorios"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"Recordatorios"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"De tareas y recordatorios"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"recordatorios"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"Permitir eventos"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"Eventos"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"De futuros eventos del calendario"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Permitir que las aplicaciones anulen el modo No molestar"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"Excepciones de aplicaciones"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3657,6 +3749,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"Permitir que las notificaciones silenciadas por el modo No molestar activen la pantalla"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"Ajustes de notificaciones"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"Aceptar"</string>
+    <string name="suggestion_button_close" msgid="6865170855573283759">"Cerrar"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Enviar comentarios sobre el dispositivo"</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"Introducir el PIN del administrador"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"Activado"</string>
@@ -3667,6 +3760,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Solicitar PIN para desactivar"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Solicitar contraseña para desactivar"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Bloquear dispositivo al desactivar"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Confirmar la eliminación de la SIM"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"Verifica tu identidad antes de borrar una SIM descargada"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"Este perfil de trabajo está administrado por:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"Administrado por <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(Experimental)"</string>
@@ -3741,8 +3836,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"Todas las aplicaciones"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Aplicaciones instaladas"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Aplicaciones instantáneas"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"Personales"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"Trabajo"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"Aplicaciones: todas"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"Desactivadas"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"Categorías: urgente"</string>
@@ -3754,6 +3847,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"Aplicación desconocida"</string>
     <string name="app_permissions" msgid="8666537659217653626">"Gestor de permisos"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"Aplicaciones que utilizan <xliff:g id="APPS">%1$s</xliff:g>"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"Aplicaciones que están usando el permiso de <xliff:g id="APPS">%1$s</xliff:g>, entre otros"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"Tocar para activar"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"Toca dos veces cualquier punto de la pantalla para activar el dispositivo"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"Abrir enlaces"</string>
@@ -3765,9 +3859,14 @@
       <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> aplicaciones que abren enlaces compatibles</item>
       <item quantity="one">Una aplicación que abre enlaces compatibles</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"Abrir en esta aplicación"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"Permitir que la aplicación abra enlaces admitidos"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"Preguntar siempre"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"No abrir en esta aplicación"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"No permitir que la aplicación abra enlaces"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="other">La aplicación quiere abrir <xliff:g id="COUNT_1">%d</xliff:g> enlaces</item>
+      <item quantity="one">La aplicación quiere abrir <xliff:g id="COUNT_0">%d</xliff:g> enlace</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"La aplicación quiere abrir los siguientes enlaces:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"Predeterminadas"</string>
     <string name="default_for_work" msgid="537558180548617528">"Predeterminadas para trabajo"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"Asistencia y entrada de voz"</string>
@@ -3911,8 +4010,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"Mostrar sobre otras aplicaciones"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Permitir mostrar sobre otras aplicaciones"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"Permite que esta aplicación se muestre sobre otras aplicaciones que estés utilizando. Esto puede interferir en el uso de dichas aplicaciones o cambiar el modo en el que se muestran o se comportan."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"Acceso a todos los archivos"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"Dar acceso para gestionar todos los archivos"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Permitir que esta aplicación lea, modifique y elimine todos los archivos de este dispositivo o de cualquier volumen de almacenamiento conectado. Si le das permiso, podrá acceder a archivos sin que lo sepas."</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"Puede acceder a todos los archivos"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"rv realidad virtual procesador estéreo servicio ayuda"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"sistema alerta ventana cuadro de diálogo mostrar sobre otras aplicaciones"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"Mostrar sobre otras apps"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"<xliff:g id="COUNT_0">%1$d</xliff:g> de <xliff:g id="COUNT_1">%2$d</xliff:g> aplicaciones que se pueden mostrar sobre otras"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"Aplicaciones con permiso"</string>
@@ -4078,6 +4180,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"<xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g> usados"</string>
     <string name="data_overusage" msgid="3680477320458707259">"<xliff:g id="ID_1">^1</xliff:g> por encima del límite"</string>
     <string name="data_remaining" msgid="6316251496381922837">"Restantes: <xliff:g id="ID_1">^1</xliff:g>"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"Gráfico que muestra el uso de datos entre el <xliff:g id="START_DATE">%1$s</xliff:g> y el <xliff:g id="END_DATE">%2$s</xliff:g>."</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"No hay datos en este periodo"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="other">Quedan %d días</item>
       <item quantity="one">Queda %d día</item>
@@ -4141,14 +4245,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"tamaño del paquete"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"notificación enviada"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"sonido"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"vibrar"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"patrón"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"opción predeterminada"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"canal"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"ninguno"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"Falta un objeto de la clasificación."</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"El objeto de la clasificación no incluye esta tecla."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"Temas"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"Opción predeterminada del dispositivo"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"Recorte de la pantalla"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"recorte de la pantalla, corte"</string>
@@ -4237,8 +4337,12 @@
     <string name="information_label" msgid="6939310810756569298">"Información"</string>
     <string name="low_label" msgid="6525629096999711220">"Baja"</string>
     <string name="high_label" msgid="357503396626018487">"Alta"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"Una mayor sensibilidad podría entrar en conflicto con los gestos de otras aplicaciones que se hagan en los bordes de la pantalla."</string>
+    <string name="left_edge" msgid="1513576842959071849">"Borde izquierdo"</string>
+    <string name="right_edge" msgid="1505309103265829121">"Borde derecho"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"Si la sensibilidad aumenta, quizá se produzcan conflictos con los gestos de aplicaciones que se hagan en los bordes de la pantalla."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"Sensibilidad del gesto Atrás"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"Ajustes de gestos"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"navegación por gestos, sensibilidad del gesto para volver, gesto para volver"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"Tocar el teléfono dos veces para consultarlo"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"Tocar el tablet dos veces para comprobar notificaciones"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"Tocar el dispositivo dos veces para comprobar notificaciones"</string>
@@ -4393,7 +4497,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"Activar servicios del operador"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"Actualizar el modo No molestar"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"Pausa las notificaciones para concentrarte"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"Esta función no está disponible en este dispositivo"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"Función no disponible"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"Esta función se ha desactivado porque ralentiza el teléfono"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"Forzar mediciones de GNSS completas"</string>
@@ -4403,20 +4506,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"Seleccionar una aplicación para usar ANGLE"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"No se ha seleccionado ninguna aplicación para usar ANGLE"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"Aplicación para usar ANGLE: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"Preferencias de controlador de juegos"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"Modificar ajustes del controlador de juegos"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"Si el controlador de juegos está activado, puedes utilizar el controlador de gráficos actualizados con las aplicaciones instaladas en el dispositivo."</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"Activar en todas las aplicaciones"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"Seleccionar controlador de gráficos"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"Predeterminado"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"Controlador de juegos"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"Controlador previo al lanzamiento"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"Controlador de gráficos del sistema"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"Preferencias del controlador de gráficos"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"Configurar controlador de gráficos"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"Cuando hay varios controladores de gráficos, puedes elegir usar el que esté actualizado para las aplicaciones instaladas en el dispositivo."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"Habilitar en todas las aplicaciones"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"Seleccionar controlador de gráficos"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"Opción predeterminada"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"Controlador de juegos"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"Controlador para desarrolladores"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Controlador de gráficos del sistema"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Cambios de compatibilidad de aplicaciones"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Activar o desactivar cambios de compatibilidad de la aplicación"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Cambios habilitados de manera predeterminada"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Cambios inhabilitados de manera predeterminada"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"El teléfono no admite esta opción"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"El tablet no admite esta opción"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"El dispositivo no admite esta opción"</string>
@@ -4435,6 +4544,11 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"Dispositivo"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"No disponible durante las llamadas"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"No disponible"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"Añadir dispositivos de salida"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"Grupo"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 dispositivo seleccionado"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> dispositivos seleccionados"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"Cambiando…"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Atender llamada en"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"No se puede cambiar este APN."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Mejorar duración de la batería del tablet"</string>
@@ -4552,10 +4666,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Sólo una tarjeta SIM descargada puede estar activa a la vez.\n\nCambiar a <xliff:g id="CARRIER1">%1$s</xliff:g> no cancelará tu servicio de <xliff:g id="CARRIER2">%2$s</xliff:g>."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Cambiar a <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Borrar SIM"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"¿Quieres borrar esta SIM descargada?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Al borrar esta SIM, se quitará el servicio de <xliff:g id="CARRIER_0">%1$s</xliff:g> en este dispositivo.\n\nNo se cancelará el servicio de <xliff:g id="CARRIER_1">%2$s</xliff:g>."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Borrar"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Borrando SIM…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"No se puede borrar la SIM"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"No se puede eliminar esta SIM debido a un error.\n\nReinicia el dispositivo y vuelve a intentarlo."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Preferencia de tipo de red"</string>
@@ -4580,7 +4690,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"El modo de red <xliff:g id="NETWORKMODEID">%1$d</xliff:g> no es válido. Ignorar."</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Nombres de puntos de acceso"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"No está disponible cuando se está conectado a <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"Información médica y contactos de emergencia"</string>
     <string name="see_more" msgid="7499355691042812723">"Ver más"</string>
     <string name="see_less" msgid="2642392725363552793">"Ver menos"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"Dispositivo para usar con <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
@@ -4589,11 +4698,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"Se ha producido un error. La aplicación ha cancelado la solicitud para elegir un dispositivo."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"Se ha conectado correctamente"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"Mostrar todo"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> dispositivos conectados</item>
-      <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_0">%1$d</xliff:g> dispositivo conectado</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"No hay dispositivos Bluetooth"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"Buscando dispositivo…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"Conectando con el dispositivo…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"Izquierdo"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"Derecho"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Funda"</string>
@@ -4603,6 +4709,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"No están disponibles en modo avión"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"Forzar modo de escritorio"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Forzar el modo de escritorio experimental en pantallas secundarias"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"Activar formato libre de aplicaciones compatibles"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"Permitir que las aplicaciones con tamaño compatible tengan formato libre"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Forzar el modo oscuro"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"Forzar el modo oscuro para que esté siempre activo"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"Privacidad"</string>
@@ -4639,6 +4747,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Has instalado esta aplicación recientemente."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Cambiar salida"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Reproduciendo contenido en <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (desconectado)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"No se puede cambiar; toca para reintentar."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Información importante"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"CONTINUAR"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"NO, GRACIAS"</string>
@@ -4666,8 +4776,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"Combinación de SIM"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Información de tu política de trabajo"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Ajustes gestionados por tu administrador de TI"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"Controlador de informes de errores"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Determina qué aplicación controla el acceso directo a los informes de errores del dispositivo."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Personal"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"Trabajo"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"Predeterminada del sistema"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"Esta opción ya no es válida. Vuelve a intentarlo."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"Detener envío"</string>
 </resources>
diff --git a/res/values-et/arrays.xml b/res/values-et/arrays.xml
index 0836f3a..816c6f4 100644
--- a/res/values-et/arrays.xml
+++ b/res/values-et/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"Kohe"</item>
     <item msgid="463591454172790676">"5 sekundit"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"Ära kinnita"</item>
+    <item msgid="5703177653586269306">"Sertifikaadioleku taotlemine"</item>
+    <item msgid="326388247868439528">"Sertifikaadioleku nõudmine"</item>
+    <item msgid="1090956283885790552">"Kõigi mitteusaldusväärsete sertifikaadiolekute nõudmine"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"Vajutusnupp"</item>
     <item msgid="2630618799033509548">"PIN-kood partnerseadmest"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"Puudub"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"IPSec VPN eeljagatud võtmete ja Xauth-i autentimisega"</item>
     <item msgid="2484564813864139237">"IPSec VPN sertifikaatide ja Xauth-i autentimisega"</item>
     <item msgid="68918911194507915">"IPSec VPN sertifikaatide ja hübriidautentimisega"</item>
+    <item msgid="4631647675167100375">"IKEv2/IPSec VPN sertifikaatide ja kasutajanime/parooliga autentimisega"</item>
+    <item msgid="8812228622975052811">"IKEv2/IPSec VPN eeljagatud võtmetega"</item>
+    <item msgid="6630554779981113046">"IKEv2/IPSec VPN sertifikaatidega"</item>
   </string-array>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"Puudub"</item>
diff --git a/res/values-et/config.xml b/res/values-et/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-et/config.xml
+++ b/res/values-et/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml
index cc6f33d..d72c49f 100644
--- a/res/values-et/strings.xml
+++ b/res/values-et/strings.xml
@@ -31,49 +31,17 @@
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Lubage esmalt arendaja valikud."</string>
     <string name="header_category_wireless_networks" msgid="303445626075235229">"Traadita ühendus ja võrgud"</string>
     <string name="header_category_system" msgid="1665516346845259058">"Süsteem"</string>
-    <string name="radio_info_data_connection_enable" msgid="7500945447906187613">"Luba andmesideühendus"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"Keela andmesideühendus"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"VoLTE on ette valmistatud"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"Videokõne ettevalmistamine"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"WiFi-kõne ettevalmistamine"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"EAB/Presence\'i ettevalmistatud"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"CBRS-i andmed"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"Luba DSDS"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"Kas soovite seadme taaskäivitada?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"Selle seade muutmiseks peate seadme taaskäivitama."</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"Taaskäivita"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"Tühista"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"Mobiiliraadio toide"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"SIM-kaardi aadressiraamatu kuvamine"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"Kuva määratud valimisnumbrid"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"Kuva teenuse valimise numbrid"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"IMS-teenuse olek"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"IMS-i olek"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"Registreeritud"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"Ei ole registreeritud"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"Saadaval"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"Pole saadaval"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"IMS-i registreerimine: <xliff:g id="STATUS">%1$s</xliff:g>\nHäälvestlus LTE kaudu: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nHäälvestlus WiFi kaudu: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideokõne: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT-liides: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"Teenus toimib"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Teenus ei toimi"</string>
     <string name="radioInfo_service_emergency" msgid="6838935881091760942">"Ainult hädaabikõned"</string>
     <string name="radioInfo_service_off" msgid="6184928420860868571">"Raadio on väljas"</string>
     <string name="radioInfo_roaming_in" msgid="8892550453644088692">"Rändlus"</string>
     <string name="radioInfo_roaming_not" msgid="3137594549464975054">"Rändlus puudub"</string>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"Tegevusetu"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"Helisemine"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"Kõne on pooleli"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"Ühendus katkestatud"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"Ühendamine"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"Ühendatud"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Peatatud"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Teadmata"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"pkts"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"baiti"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"Lahuta USB-mäluseade"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"SD-kaardi lahutamine"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"Kustuta USB-mäluseade"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"Muutke ekraanil kuvatavat tekst suuremaks või väiksemaks."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Vähendamine"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Suurendamine"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"Näidistekst"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"Võlur Oz"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"11. peatükk: Ozi imeline smaragdlinn"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"Selle seade muutmiseks peate seadme taaskäivitama."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"Taaskäivita"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"Loobu"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"Saadaolevad meediaseadmed"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"Saadaolevad helistamisseadmed"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"Praegu ühendatud"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"Meediaseadmed"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"Helistamisseadmed"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"Muud seadmed"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Salvestatud seadmed"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth lülitatakse sidumiseks sisse"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Ühenduse eelistused"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"Sisestatud port on kehtetu."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"Brauser kasutab HTTP-puhverserverit, kuid muud rakendused ei pruugi seda kasutada."</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"PAC URL: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"Praegune alam-ID:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"Andmete vaike-SIM-kaardi alam-ID:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"DL ribalaius (kbit/s):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"UL ribalaius (kbit/s):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"Kärje asukohateave (tugi on katkestatud):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"LTE füüsilise kanali konfiguratsioon:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"Kärje teabe värskendamissagedus:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"Kõik kärje mõõteandmed:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"Andmesideteenus:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"Rändlus:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"Kõne ümbersuunamine:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"PPP lähtestuste arv alates käivitumisest:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"Praegune võrk:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"Vastuvõetud andmed:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"Häälteenus:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"Signaali tugevus:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"Häälkõne olek:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"Saadetud andmed:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"Ootel sõnum:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"Telefoninumber:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"Raadioriba valimine"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"Häälvõrgu tüüp:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"Andmesidevõrgu tüüp:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"Telefoni registri valimine"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"Eelistatud võrgutüübi määramine:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"Pingi hosti nimi (www.google.com) IPv4:"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"Pingi hosti nimi (www.google.com) IPv6:"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"HTTP-kliendi test:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"Pingimistesti käitamine"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"Värskenda"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"Värskenda"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"DNS-i kontrolli sisse- või väljalülitamine"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"OEM-i teave/seaded"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"Raadio ribarežiimi määramine"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"Ribaloendi laadimine …"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"Määra"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"Ebaõnnestus"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"Õnnestunud"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"Muudatused jõustuvad siis, kui USB-kaabel on uuesti ühendatud."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"USB massmälu lubamine"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"Baite kokku:"</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"Teisalda kõige alla"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"Eemalda keel"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"Tegevuse valimine"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"Seadme teave"</string>
     <string name="display_label" msgid="3056320781191343221">"Ekraan"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"Teave tahvelarvuti kohta"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"Telefoniteave"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"USB-mäluseade"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"SD-kaart"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"Puhverserveri seaded"</string>
@@ -306,9 +234,6 @@
     <string name="airplane_mode" msgid="3196085857882526817">"Lennukirežiim"</string>
     <string name="wireless_networks_settings_title" msgid="8557542379234105369">"Traadita ühendus ja võrgud"</string>
     <string name="radio_controls_summary" msgid="9028430178697624501">"WiFi, Bluetoothi, lennurežiimi ja mobiilsidevõrkude ning VPN-ide haldamine"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"Mobiilne andmeside"</string>
-    <string name="calls_title" msgid="6334813967619899114">"Luba kõned"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"SMS-sõnumid"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"Luba andmekasutus mobiilsidevõrgu kaudu"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"Luba andmekas. rändluse ajal"</string>
     <string name="roaming" msgid="3055365654530847985">"Rändlus"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"Ühenda rändluse ajal andmesideteenustega"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"Kaotasite andmesideühenduse, kuna jätsite oma koduvõrgu andmerändluse väljalülitatuks."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"Lülita sisse"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"See võib põhjustada suuri andmesidetasusid."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"Kui lubate andmeside rändluse, siis võivad sellega kaasneda rändlustasud!\n\nSeade mõjutab tahvelarvuti kõiki kasutajaid."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"Kui lubate andmeside rändluse, siis võivad sellega kaasneda rändlustasud!\n\nSeade mõjutab telefoni kõiki kasutajaid."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"Rakenduda võivad rändlustasud."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"Kui lubate andmeside rändluse, võivad rakenduda rändlustasud.\n\nSee seade mõjutab kõiki selle tahvelarvuti kasutajaid."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"Kui lubate andmeside rändluse, võivad rakenduda rändlustasud.\n\nSee seade mõjutab kõiki selle telefoni kasutajaid."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"Kas lubada andmesiderändlus?"</string>
     <string name="networks" msgid="5184501333492775095">"Operaatori valik"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"Võrguoperaatori valimine"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"Administraatori keelatud"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"Kuva lukustamise valik"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"Kuvatakse toitenupu valik, mis lülitab funktsiooni Smart Lock, biomeetrilise avamise ja lukustuskuval kuvatavad märguanded välja"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"Usaldusväärsed agendid hoiavad kauem avatuna"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"Kui see on lubatud, hoiavad usaldusväärsed agendid teie seadme kauem avatuna, kuid ei saa enam avada lukustatud seadet."</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"Lukusta ekraan usalduse kadumisel"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"Kui see on lubatud, lukustub seade, kui viimane usaldusväärne agent kaotab usalduse"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"Puudub"</string>
@@ -390,7 +313,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"Määrake Minu asukoht, ekraani avamine, SIM-kaardi lukk, mandaadi talletuslukk"</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"Määrake oma asukoht, ekraani avamine, mandaadi talletuslukk"</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"Privaatsus"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"Administraatori keelatud"</string>
+    <string name="disabled_by_administrator_summary" msgid="5424846182313851124">"Pole saadaval"</string>
     <string name="security_status_title" msgid="6958004275337618656">"Turvalisuse olek"</string>
     <string name="security_dashboard_summary_face" msgid="4198949293847206382">"Ekraanilukk, Face Unlock"</string>
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Ekraanilukk, sõrmejälg"</string>
@@ -693,7 +616,6 @@
       <item quantity="other">Peab olema alla <xliff:g id="NUMBER_1">%d</xliff:g> numbri</item>
       <item quantity="one">Peab olema alla <xliff:g id="NUMBER_0">%d</xliff:g> numbri</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"Tohib sisaldada ainult numbreid 0–9."</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"Seadme administraator ei luba kasutada viimast PIN-koodi"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"IT-administraator on levinud PIN-koodid blokeerinud. Proovige muud PIN-koodi."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"See ei tohi sisaldada sobimatut tähemärki"</string>
@@ -724,6 +646,10 @@
       <item quantity="other">Peab sisaldama vähemalt <xliff:g id="COUNT">%d</xliff:g> tähemärki, mis ei ole täht</item>
       <item quantity="one">Peab sisaldama vähemalt 1 tähemärki, mis ei ole täht</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="other">Peab sisaldama vähemalt <xliff:g id="COUNT">%d</xliff:g> tähemärki, mis ei ole number</item>
+      <item quantity="one">Peab sisaldama vähemalt 1 tähemärki, mis ei ole number</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"Seadme administraator ei luba kasutada hiljutist parooli"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"IT-administraator on levinud paroolid blokeerinud. Proovige muud parooli."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"Kasvavad, kahanevad või korduvad numbrijadad on keelatud"</string>
@@ -837,19 +763,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2,4 GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"Logi sisse"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"Ava sait"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"<xliff:g id="REMAINING_TIME">%1$s</xliff:g> on jäänud"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"Aegub <xliff:g id="EXPIRY_TIME">%1$s</xliff:g>"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"Puudutage siin, et võrku sisse logida"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Mbit/s"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Mbit/s"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Mbit/s"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"Rakendus <xliff:g id="REQUESTER">%s</xliff:g> soovib WiFi sisse lülitada"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"Rakendus <xliff:g id="REQUESTER">%s</xliff:g> soovib WiFi välja lülitada"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"Silutavate rakenduste baidikoodi kinnitamine"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Luba ART silutavate rakenduste baidikoodi kinnitamiseks"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"Kuva värskendussagedus"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Kuva ekraani praegune värskendussagedus"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"Lubab andmevahetuse, kui tahvelarvuti puudutab teist seadet"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"Lubab andmevahetuse, kui telefon puudutab teist seadet"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"Lubab andmevahetuse, kui tahvelarvuti puudutab NFC-seadet"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"Lubab andmevahetuse, kui telefon puudutab NFC-seadet"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"NFC sisselülitamine"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"NFC vahetab andmeid selle seadme ja muude läheduses asuvate seadmete või sihtmärkide vahel (nt makseterminalid, juurdepääsulugejad ja interaktiivsed reklaamid või märgendid)."</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"NFC turve"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Nõua NFC puhul seadme avamist"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"NFC kasutuse lubamine makseteks ja ühistranspordiks vaid siis, kui ekraan on avatud"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"Valmis edastama rakenduse sisu NFC kaudu"</string>
@@ -923,8 +855,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Lülita sisse"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"WiFi-skannimine on lülitatud sisse"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Täpsemad valikud"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"Rippmenüü loend Täpsemad valikud. Topeltpuudutage ahendamiseks."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"Rippmenüü loend Täpsemad valikud. Topeltpuudutage laiendamiseks."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Rippmenüü loend Täpsemad valikud"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"laienda"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"Võrgu nimi"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"Sisestage SSID"</string>
     <string name="wifi_security" msgid="9095934643631406913">"Turvalisus"</string>
@@ -934,6 +866,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"Olek"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"Edastuslingi kiirus"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"Vastuvõtmislingi kiirus"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"Lingi kiirus"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"Sagedus"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"IP-aadress"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"Salvestusviis:"</string>
@@ -941,6 +874,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"EAP meetod"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"2. etapi autentimine"</string>
     <string name="wifi_eap_ca_cert" msgid="8033404008276298886">"CA-sertifikaat"</string>
+    <string name="wifi_eap_ocsp" msgid="8713933962516871238">"Sertifikaadi olek veebis"</string>
     <string name="wifi_eap_domain" msgid="8304301470752333203">"Domeen"</string>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"Kasutaja sertifikaat"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"Identiteet"</string>
@@ -957,6 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"Valige WiFi-kuumkoha lubamiseks vähemalt üks sagedusriba:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"IP-seaded"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"Privaatsus"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"Tellimus"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"Tellimuse vaatamine või muutmine"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"Juhuslik MAC-aadress"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"Seadme lisamine"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"Seadme võrku „<xliff:g id="SSID">%1$s</xliff:g>” lisamiseks paigutage allolev QR-kood aknas keskele"</string>
@@ -966,12 +902,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"WiFi jagamine"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"Skannige see QR-kood, et luua ühendus võrguga „<xliff:g id="SSID">%1$s</xliff:g>” ja jagada parooli"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"Võrguga „<xliff:g id="SSID">%1$s</xliff:g>” ühenduse loomiseks skannige see QR-kood"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"Ei õnnestunud QR-koodi lugeda. Sisestage kood uuesti ja proovige uuesti"</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"Proovige uuesti. Kui see probleem jätkub, võtke ühendust seadme tootjaga"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"Midagi läks valesti"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"Veenduge, et seade oleks ühendatud, laetud ja sisse lülitatud"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"Veenduge, et seade oleks ühendatud, laetud ja sisse lülitatud. Kui see probleem jätkub, võtke ühendust seadme tootjaga"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"See seade ei toeta SSID „<xliff:g id="SSID">%1$s</xliff:g>” lisamist"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"Liigutage seade WiFi-pääsupunktile/-ruuterile lähemale"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"Kontrollige parooli ja proovige uuesti"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"Võtke ühendust seadme tootjaga"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"Kontrollige ühendust ja proovige uuesti"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"Võrgu valimine"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"Oma seadme ühendamiseks valige võrk"</string>
@@ -984,11 +922,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"WiFi-võrgu jagamine selle seadmega …"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"Ühendamine …"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"Kuumkoha jagamine"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"Kinnitage oma isik"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"Kinnitage, et see olete teie"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"WiFi-võrgu parool: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"Kuumkoha parool: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"Automaatne ühendamine"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"Luba telefonil selle võrgu läheduses automaatselt ühendada"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"Luba tahvelarvutil selle võrgu läheduses automaatselt ühendada"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"Lisa seade"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"Kasutage sellesse võrku seadme lisamiseks QR-koodi"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"QR-kood ei ole sobilik vorming"</string>
     <string name="retry" msgid="7542103800274026915">"Proovi uuesti"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"Jaga seadme teiste kasutajatega"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(muutmata)"</string>
@@ -1000,6 +942,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"Sertifikaati pole määratud. Teie ühendus pole privaatne."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"Võrgu nimi on liiga pikk."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"Tuleb määrata domeen."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"Sertifikaat on nõutav."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"WPS on saadaval"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" WPS on saadaval"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"Operaatori WiFi-võrk"</string>
@@ -1051,7 +994,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"Täpsemad WiFi-seaded"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"MAC-aadress"</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">"Juhuslik MAC-aadress"</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>
@@ -1103,7 +1047,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"Teiste seadmete jaoks WiFi-võrgu loomiseks kasutage kuumkohta. Kuumkoht kasutab Interneti pakkumiseks mobiilset andmesideühendust. Rakenduda võivad mobiilse andmeside tasud."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"Rakendused saavad luua kuumkoha, et jagada läheduses olevate seadmetega sisu."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Lülita kuumkoht automaatselt välja"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"Kui ükski seade pole ühendatud, lülitatakse WiFi-kuumkoht välja"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Kui ükski seade pole ühendatud"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"Kuumkoha sisselülitamine ..."</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"Kuumkoha väljalülitamine ..."</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> on aktiivne"</string>
@@ -1112,6 +1056,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"WiFi-kuumkoha seadistamine"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"AndroidAP WPA2 PSK-kuumkoht"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"AndroidHotspot"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"Kas soovite võrgu salvestada?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"<xliff:g id="APPNAME">%1$s</xliff:g> soovib võrgu teie telefoni salvestada"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"<xliff:g id="APPNAME">%1$s</xliff:g> soovib võrgu teie tahvelarvutisse salvestada"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"Salvestamine …"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"Salvestatud"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"Ei saa salvestada. Proovige uuesti."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"Kas salvestada võrgud?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"<xliff:g id="APPNAME">%1$s</xliff:g> soovib need võrgud teie telefoni salvestada"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"<xliff:g id="APPNAME">%1$s</xliff:g> soovib need võrgud teie tahvelarvutisse salvestada"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"Salvestatakse <xliff:g id="NUMBER">%d</xliff:g> võrku …"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"Võrgud salvestati"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"WiFi-kõned"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"Suurendage WiFi abil helistamisulatust"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"Lülitage WiFi-kõned sisse, et ulatust suurendada"</string>
@@ -1138,16 +1093,18 @@
     <string name="emergency_address_title" msgid="3490633500025717573">"Hädaolukorra aadress"</string>
     <string name="emergency_address_summary" msgid="3022628750270626473">"Seda kasutatakse WiFi kaudu hädaabikõne tegemisel teie asukohana"</string>
     <string name="private_dns_help_message" msgid="851221502063782306"><annotation id="url">"Lisateave"</annotation>" privaatse DNS-i funktsioonide kohta"</string>
+    <string name="private_dns_mode_on" msgid="8878679071975375696">"Sees"</string>
     <string name="wifi_calling_pref_managed_by_carrier" msgid="129524064888622179">"Seadet haldab operaator"</string>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"Aktiveerige WiFi-kõned"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"Lülitage WiFi-kõned sisse"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"Operaator %1$s ei toeta WiFi-kõnesid"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"Ühendus võrguga <xliff:g id="SSID">%1$s</xliff:g> katkestati"</string>
     <string name="carrier" msgid="1755020806290963951">"Operaator"</string>
     <string name="display_settings_title" msgid="626835071804834218">"Ekraan"</string>
     <string name="sound_settings" msgid="5514582720435174014">"Heli"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"Helitugevused"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"Muusikaefektid"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"Helina helitugevus"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"Helina ja märguannete helitugevus"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"Vibreeri hääletus režiimis"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"Märguande vaikeheli"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"Helin"</string>
@@ -1272,13 +1229,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"Ajakava"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"Puudub"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"Sees loojangust päikesetõusuni"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"Lülitub sisse kohandatud ajal"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"Olek"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"Väljas / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"Ei lülitu kunagi automaatselt sisse"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"Lülitub automaatselt sisse päikeseloojangul"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"Lülitub automaatselt sisse kell <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"Sees / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"Ei lülitu kunagi automaatselt välja"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"Lülitub automaatselt välja päikesetõusul"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"Lülitub automaatselt välja kell <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"Lülita sisse kuni <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"Lülita välja kuni <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"Tume teema kasutab musta tausta, et teie aku kestaks mõne ekraani puhul kauem. Tumeda teema ajakava lülitatakse sisse siis, kui ekraan on väljas."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"Ekraani ajalõpp"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"Ekraan lülitub välja"</string>
@@ -1290,7 +1252,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"Muutke taustapilti"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"Isikupärastage ekraani"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"Taustapildi valimine:"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"Pixeli kohandamine"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"Telefoni kohandamine"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"Proovige eri stiile, taustapilte ja muud"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"Ekraanisäästja"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Laadimise ajal või dokis"</string>
@@ -1379,6 +1341,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"USB-mäluseadme lahutamine, saadaoleva mäluruumi kuvamine"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"Eemalda SD-kaart, kuva saadaolev mäluruum"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (SIM-kaardi pesa %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"Vaatamiseks valige salvestatud võrk"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"Telefoninumber"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (SIM-kaardi pesa %1$d)"</string>
@@ -1405,6 +1368,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"Rändlus"</string>
     <string name="status_operator" msgid="4335640583552058491">"Võrk"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"WiFi MAC-aadress"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"Seadme WiFi MAC-aadress"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"Bluetoothi aadress"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Seerianumber"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Talitlusaeg"</string>
@@ -1617,6 +1581,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"APN-i vaikeseadete lähtestamine on lõpule viidud."</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"Lähtestamise valikud"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"Võrgu, rakendused või seadme saab lähtestada"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"Rakendused saab lähtestada"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"Lähtesta WiFi, mobiilne andmeside ja Bluetooth"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"See lähtestab kõik võrguseaded, sh:\n\n"<li>"WiFi"</li>\n<li>"Mobiilne andmeside"</li>\n<li>"Bluetooth"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"Kustuta allalaaditud SIM-id"</string>
@@ -1666,6 +1631,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"Kuumkoht on sees"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"Jagamine"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"Kui andmemahu säästja on sisse lülitatud, siis ei saa jagada ega kasutada teisaldatavat kuumkohta"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"Ainult kuumkoht"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"Ainult USB"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"Ainult Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"Kuumkoht, USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"Kuumkoht, Bluetooth"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB, Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"Kuumkoht, USB, Bluetooth"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"Internetiühendust ei jagata teiste seadmetega"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"Jagamine"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Ära kasuta WiFi-kuumkohta"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Jaga internetti ainult USB kaudu"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Jaga internetti ainult Bluetoothi kaudu"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Jaga internetti ainult USB või Bluetoothi kaudu"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB jagamine"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"Telefoni Interneti-ühenduse jagamine USB kaudu"</string>
@@ -1756,9 +1734,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"Ohutusteave"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"Teil ei ole andmesideühendust. Selle teabe praegu vaatamiseks minge Interneti-ühendusega arvutis aadressile %s."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"Laadimine ..."</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"Kasuta PIN-koodi"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"Kasuta mustrit"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"Kasuta parooli"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"Ekraaniluku seadistamine"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"Turvalisuse huvides määrake parool"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"Sõrmejälje kasutamiseks määrake parool"</string>
@@ -1767,8 +1742,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"Sõrmejälje kasutamiseks määrake PIN-kood"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"Turvalisuse huvides määrake muster"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"Sisestage oma parool uuesti"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"Sisestage tööprofiili parool"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"Mustri kinnitamine"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"Sisestage tööprofiili muster"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"Sisestage oma PIN-kood uuesti"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"Sisestage tööprofiili PIN-kood"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"Paroolid ei ühti"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"PIN-koodid ei ühti"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"Joonistage oma muster uuesti"</string>
@@ -1779,6 +1757,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"Face Unlocki kasutamiseks määrake parool"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"Face Unlocki kasutamiseks määrake muster"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"Face Unlocki kasutamiseks määrake PIN"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"Kas unustasite parooli?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"Kas unustasite mustri?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"Kas unustasite PIN-koodi?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"Jätkamiseks kasutage seadme mustrit"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"Jätkamiseks sisestage seadme PIN-kood"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"Jätkamiseks sisestage seadme parool"</string>
@@ -1846,6 +1827,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"Luba kõik rakenduse allikad"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"Hiljuti avatud rakendused"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"Kuva kõik <xliff:g id="COUNT">%1$d</xliff:g> rakendust"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"Võtke ühendust IT-administraatoriga"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"Need aitavad teil lähtestada PIN-koodi, mustri või parooli"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"Teie tahvelarvuti ja isiklikud andmed on tundmatute rakenduste rünnakute suhtes haavatavamad. Sellest allikast rakendusi installides nõustute, et vastutate tahvelarvuti kahjude ja andmekao eest, mis võib selliste rakenduste kasutamisest tuleneda."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"Teie telefon ja isiklikud andmed on tundmatute rakenduste rünnakute suhtes haavatavamad. Sellest allikast rakendusi installides nõustute, et vastutate telefoni kahjude ja andmekao eest, mis võib selliste rakenduste kasutamisest tuleneda."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"Teie seade ja isiklikud andmed on tundmatute rakenduste rünnakute suhtes haavatavamad. Sellest allikast rakendusi installides nõustute, et vastutate seadme kõigi kahjude ja andmekao eest, mis võivad selliste rakenduste kasutamisest tuleneda."</string>
@@ -1897,7 +1880,7 @@
     <string name="default_emergency_app" msgid="1929974800666613803">"Hädaabirakendus"</string>
     <string name="reset_app_preferences" msgid="8861758340732716573">"Lähtesta rakenduste eelistused"</string>
     <string name="reset_app_preferences_title" msgid="8935136792316050759">"Lähtestada rakenduste eelistused?"</string>
-    <string name="reset_app_preferences_desc" msgid="1377296810290814749">"See lähtestab kõik järgmised eelistused:\n\n "<li>"Keelatud rakendused"</li>\n" "<li>"Keelatud rakenduste märguanded"</li>\n" "<li>"Toimingute vaikerakendused"</li>\n" "<li>"Rakenduste taustaandmete piirangud"</li>\n" "<li>"Igasugused lubade piirangud"</li>\n\n"Rakenduste andmed säilivad."</string>
+    <string name="reset_app_preferences_desc" msgid="6509978724602405805">"See lähtestab kõik järgmised eelistused.\n\n"<li>"Keelatud rakendused"</li>\n<li>"Keelatud rakenduste märguanded"</li>\n<li>"Toimingute vaikerakendused"</li>\n<li>"Rakenduste taustaandmete piirangud"</li>\n<li>"Mis tahes lubade piirangud"</li>\n\n"Rakenduste andmed säilivad."</string>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"Lähtesta rakendused"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"Halda ruumi"</string>
     <string name="filter" msgid="9039576690686251462">"Filter"</string>
@@ -2097,7 +2080,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"Heli ja ekraanil kuvatud tekst"</string>
     <string name="display_category_title" msgid="6638191682294461408">"Ekraan"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"Interaktsiooni juhtnupud"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"Allalaaditud teenused"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"Allalaaditud rakendused"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"Katseline"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"Funktsiooni märgistamised"</string>
     <string name="talkback_title" msgid="8756080454514251327">"TalkBack"</string>
@@ -2105,27 +2088,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"Ekraanil olevate üksuste ettelugemise kuulmiseks puudutage neid"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"Subtiitrite eelistused"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"Suurendus"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"Suurendusala"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"Suurendamise lubamine"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"Valige ala(d), mida ekraanikuva suurendamisel suurendada"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"Täisekraan"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"Osa ekraanikuvast"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"Täisekraan ja osa ekraanikuvast"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"Kogu ekraanikuva suurendamine"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"Ekraanikuva osa suurendamine"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Suurendamisseaded"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"Kolmikpuudutusega suurendamine"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Otsetee abil suurendamine"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Otsetee ja kolmikpuudutusega suurendamine"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"Teave teenuse <xliff:g id="SERVICE">%1$s</xliff:g> kohta"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"Valikud"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"Suumige ekraanil sisse"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"Suumimiseks puudutage kolm korda"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Suumimiseks puudutage nuppu"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><b>"Suumimiseks"</b>" puudutage ekraani kiiresti kolm korda.\n"<ul><li>"Kerimiseks lohistage vähemalt kahe sõrmega"</li>\n<li>"Suumi reguleerimiseks suruge vähemalt kaht sõrme kokku"</li></ul>\n\n<b>"Ajutiselt suumimiseks"</b>" puudutage ekraani kiiresti kolm korda ja hoidke pärast kolmandat puudutust sõrme ekraanil.\n"<ul><li>"Lohistage ekraanil liikumiseks"</li>\n<li>"Väljasuumimiseks tõstke sõrm ekraanilt"</li></ul>\n\n"Klaviatuuril ja navigeerimisribal ei saa suumida."</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"Kui suurendus on sisse lülitatud, võite oma ekraanil sisse suumida.\n\n"<b>"Suumimiseks"</b>" alustage suurendamist, seejärel puudutage ekraanil mis tahes kohta.\n"<ul><li>"• Lohistage kerimiseks vähemalt kahe sõrmega"</li>\n<li>"• Liigutage suumi reguleerimiseks vähemalt kahte sõrme kokku-lahku"</li></ul>\n\n<b>"Ajutiselt suumimiseks"</b>" alustage suurendamist, seejärel puudutage ekraanil pikalt mis tahes kohta.\n"<ul><li>"• Lohistage ekraanikuval ringi liikumiseks"</li>\n<li>"• Tõstke väljasuumimiseks sõrm üles"</li></ul>\n\n"Te ei saa sisse suumida klaviatuuril ega navigeerimisribal."</string>
+    <string name="accessibility_screen_magnification_summary" msgid="7617931632990040045">"Sisu nägemiseks selgemalt suumige ekraanikuval kiiresti sisse.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Sissesuumimiseks toimige järgmiselt.&lt;/b&gt;&lt;br/&gt;	1. Kasutage suurendamise alustamiseks otseteed.&lt;br/&gt;	2. Puudutage ekraanikuva.&lt;br/&gt;	3. Ekraanikuval liikumiseks lohistage kahe sõrmega.&lt;br/&gt;	4. Suumi kohandamiseks pigistage kahte sõrme kokku-lahku.&lt;br/&gt;	5. Kasutage suurendamise lõpetamiseks otseteed.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Ajutiseks sissesuumimiseks toimige järgmiselt.&lt;/b&gt;&lt;br/&gt;	1. Kasutage suurendamise alustamiseks otseteed.&lt;br/&gt;	2. Hoidke sõrme kus tahes ekraanikuval.&lt;br/&gt;	3. Lohistage ekraanikuval liikumiseks sõrme.&lt;br/&gt;	4. Suurendamise lõpetamiseks tõstke sõrm ekraanikuvalt."</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Kui suurendusfunktsioon on sisse lülitatud, saate oma ekraanikuval sisse suumida.\n\n"<b>"Suumimiseks"</b>" käivitage suurendusfunktsioon ja puudutage siis ekraanikuval mis tahes kohta.\n"<ul><li>"Kerimiseks lohistage kahe või enama sõrmega."</li>\n<li>"Suumi kohandamiseks pigistage kahte või enamat sõrme kokku."</li></ul>\n\n<b>"Ajutiseks suumimiseks"</b>" käivitage suurendusfunktsioon ja puudutage siis ekraanikuval pikalt mis tahes kohta.\n"<ul><li>"Ekraanikuval teisaldamiseks lohistage sõrme."</li>\n<li>"Väljasuumimiseks tõstke sõrm ekraanilt."</li></ul>\n\n"Klaviatuuril ega navigeerimisribal ei saa sisse suumida."</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Kasutage avamiseks juurdepääsetavuse nuppu"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Kasutage avamiseks liigutust"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"Kasutage uut juurdepääsetavuse liigutust"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"Selle teenuse sisse- või väljalülitamiseks puudutage oma ekraanikuva allosas juurdepääsetavuse nuppu <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>.\n\nTeenuste vahel vahetamiseks vajutage pikalt juurdepääsetavuse nuppu."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"Selle teenuse sisse- või väljalülitamiseks pühkige kahe sõrmega ekraanikuva allosast üles.\n\nTeenuste vahel vahetamiseks pühkige kahe sõrmega üles ja hoidke."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"Selle teenuse sisse- või väljalülitamiseks pühkige kolme sõrmega ekraanikuva allosast üles.\n\nTeenuste vahel vahetamiseks pühkige kolme sõrmega üles ja hoidke."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"Juurdepääsetavuse teenuse sisse- või väljalülitamiseks pühkige kahe sõrmega ekraanikuva allosast üles.\n\nTeenuste vahel vahetamiseks pühkige kahe sõrmega üles ja hoidke."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"Juurdepääsetavuse teenuse sisse- või väljalülitamiseks pühkige kolme sõrmega ekraanikuva allosast üles.\n\nTeenuste vahel vahetamiseks pühkige kolme sõrmega üles ja hoidke."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"Selle teenuse sisse- või väljalülitamiseks puudutage oma ekraanikuva allosas juurdepääsetavuse nuppu <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>.\n\nTeenuste vahel vahetamiseks vajutage pikalt juurdepääsetavuse nuppu."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"Selle teenuse sisse- või väljalülitamiseks pühkige kahe sõrmega ekraanikuva allosast üles.\n\nTeenuste vahel vahetamiseks pühkige kahe sõrmega üles ja hoidke."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"Selle teenuse sisse- või väljalülitamiseks pühkige kolme sõrmega ekraanikuva allosast üles.\n\nTeenuste vahel vahetamiseks pühkige kolme sõrmega üles ja hoidke."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"Juurdepääsetavuse teenuse sisse- või väljalülitamiseks pühkige kahe sõrmega ekraanikuva allosast üles.\n\nTeenuste vahel vahetamiseks pühkige kahe sõrmega üles ja hoidke."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"Juurdepääsetavuse teenuse sisse- või väljalülitamiseks pühkige kolme sõrmega ekraanikuva allosast üles.\n\nTeenuste vahel vahetamiseks pühkige kolme sõrmega üles ja hoidke."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"Selge"</string>
+    <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Teenuse <xliff:g id="SERVICE">%1$s</xliff:g> otsetee"</string>
+    <string name="accessibility_shortcut_edit_summary_software" msgid="2820923641553461297">"Juurdepääsetavuse nupp"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture" msgid="8078659880723370597">"Pühkige kahe sõrmega üles"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture_talkback" msgid="7422753388389160524">"Pühkige kolme sõrmega üles"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software" msgid="4796192466943479849">"Puudutage juurdepääsetavuse nuppu"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8922102767509399352">"Puudutage ekraanikuva allosas olevat juurdepääsetavuse nuppu <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>."</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"Pühkige ekraanikuva allosast kahe sõrmega üles."</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"Pühkige ekraanikuva allosast kolme sõrmega üles."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Helitugevuse klahvide allhoidmine"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"Hoidke mõlemat helitugevuse klahvi üks sekund all."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Puudutage ekraani kolm korda"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"Puudutage ekraani kiirelt kolm korda. See otsetee võib teie seadme tööd aeglustada."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"Täpsemad"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"Juurdepääsetavuse nupu jaoks on valitud seade <xliff:g id="SERVICE">%1$s</xliff:g>. Suurenduse kasutamiseks puudutage ja hoidke juurdepääsetavuse nuppu ning seejärel valige suurendus."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"See juurdepääsetavuse liigutus on määratud teenusele <xliff:g id="SERVICE">%1$s</xliff:g>. Suurenduse kasutamiseks pühkige kahe sõrmega ekraanikuva allosast üles ja hoidke sõrmi ekraanil. Seejärel tehke valik Suurendus."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"Helitugevuse nupu otsetee"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"Otsetee teenus"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Otsetee seaded"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"Lukustuskuval lubamine"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"Kui otsetee on sisse lülitatud, võite hõlbustusfunktsiooni käivitamiseks hoida mõlemat helitugevuse nuppu 3 sekundit all."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"Suure kontrastsusega tekst"</string>
@@ -2149,24 +2157,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"Valige, kui kaua soovite kuvada sõnumeid, milles palutakse teil toiminguid teha, kuid mis on nähtaval ainult ajutiselt.\n\nKõik rakendused seda seadet ei toeta."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"Puute ja hoidmise viide"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"Värvuste ümberpööramine"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"Võib mõjutada toimivust"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"Peatumisaeg"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"Värvide ümberpööramise kasutamine"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"Värvide ümberpööramine muudab ekraanikuva tumedaks. See aitab ereda valguse suhtes tundlikel inimestel ekraani hõlpsamini vaadata.&lt;br/&gt;&lt;br/&gt;Märkus. Tumedad värvid muutuvad heledaks. Värvid muutuvad meedias ja piltidel. Võite kasutada ka tumedat teemat (Seaded &gt; Ekraanikuva)."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"Automaatne klikk (peatumisaeg)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"Kui kasutate hiirt, võite kursori seadistada automaatselt mõne toimingu tegema, kui see teatud aja jooksul ei liigu."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"Viide enne klikki"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"Ära kasuta autom. klikki (vaik.)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"Lühike"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0,2 sekundit"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"Keskmine"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0,6 sekundit"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"Pikk"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 sekund"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"Kohandatud"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"Lühem"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"Pikem"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"Automaatse kliki aeg"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"Vibreerimise ja värintagasiside tugevus"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Märguanne koos vibreerimisega"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Helin koos vibreerimisega"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Puudutuste tagasiside"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"Kasuta teenust"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"Kasuta rakendust <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"Ava <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"Kasuta värvikorrigeerimist"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"Kasuta subtiitreid"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"Kuva subtiitrid"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"Subtiitrite ilme"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"Teksti suurus, subtiitrite stiil"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"Rohkem valikuid"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"Kõik rakendused seda seadet ei toeta."</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"Juurdepääsetavuse nupp"</string>
+    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"Kahe sõrmega alt üles pühkimine"</string>
+    <string name="accessibility_shortcut_type_hardware" msgid="4834144210432451916">"Helitugevuse klahvide allhoidmine"</string>
+    <string name="accessibility_shortcut_type_triple_tap" msgid="7717524216825494543">"Kolmikpuudutuse ekraanikuva"</string>
     <string name="accessibility_hearingaid_instruction_continue_button" msgid="3367260988024430722">"Jätka"</string>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"Kuuldeaparaadid"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"Ühtegi kuuldeaparaati pole ühendatud"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"Lisa kuuldeaparaate"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"Sidumiseks leidke järgmisel kuval oma seade ja puudutage seda."</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"Veenduge, et kuuldeaparaat oleks sidumisrežiimis."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"Kuuldeaparaatide sidumiseks leidke järgmisel kuval oma seade ja puudutage seda. Veenduge, et kuuldeaparaat oleks sidumisrežiimis."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> on aktiivne"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> salvestatud kuuldeaparaati</item>
@@ -2178,25 +2204,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Selle teenuse töös esineb häireid."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Kuva kiirseadetes"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"Korrigeerimise režiim"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="other">Äärmiselt lühike viivitus (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Äärmiselt lühike viivitus (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Punane-roheline"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"Roheline-punane"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Sinine-kollane"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"Deuteranomaalia"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"Protanomaalia"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"Tritanomaalia"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="other">Ülilühike viide (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundit)</item>
+      <item quantity="one">Ülilühike viide (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> sekund)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="other">Väga lühike viivitus (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Väga lühike viivitus (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="other">Väga lühike viide (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundit)</item>
+      <item quantity="one">Väga lühike viide (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> sekund)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="other">Lühike viivitus (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Lühike viivitus (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="other">Lühike viide (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundit)</item>
+      <item quantity="one">Lühike viide (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> sekund)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="other">Pikk viivitus (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Pikk viivitus (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="other">Pikk viide (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundit)</item>
+      <item quantity="one">Pikk viide (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> sekund)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="other">Väga pikk viivitus (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Väga pikk viivitus (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="other">Väga pikk viide (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundit)</item>
+      <item quantity="one">Väga pikk viide (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> sekund)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundit</item>
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> sekund</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"Helin – <xliff:g id="SUMMARY_RING">%1$s</xliff:g>, märguanne – <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>, puudutus – <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"Helina ja märguannete vibreerimine lülitati välja"</string>
@@ -2513,7 +2549,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"Alates viimasest lahutamisest <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"Kasutus kokku"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"Värskenda"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"Android OS"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"Meediumiserver"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"Rakenduse optimeerimine"</string>
     <string name="battery_saver" msgid="7737147344510595864">"Akusäästja"</string>
@@ -2594,8 +2629,7 @@
     <string name="tts_play" msgid="2945513377250757221">"Esita"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"Mandaatide salvestusruum"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"Salvestusseadmelt installimine"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"SD-kaardilt installimine"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"Sertifikaadi installimine"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"Sertifikaatide installimine salvestusseadmelt"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"Sertifikaatide installimine SD-kaardilt"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"Mandaatide kustutamine"</string>
@@ -2615,6 +2649,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"Mandaatide mälu kustutatakse."</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"Mand. mälu ei saanud kustut."</string>
     <string name="usage_access_title" msgid="1580006124578134850">"Kasutusjuurdepääsuga rakend."</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"CA-sertifikaat"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"VPN ja rak. kasut. sertifikaat"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"WiFi-sertifikaat"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"Teie privaatsus on ohus"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"CA-sertifikaate kasutavad krüpteerimiseks veebisaidid, rakendused ja VPN-id. Installige CA-sertifikaate ainult usaldusväärsetelt ettevõtetelt. \n\n Kui installite CA-sertifikaadi, pääseb sertifikaadi omanik teie külastatud veebisaitidel või kasutatud rakendustes teie teabele (nt paroolidele, sõnumitele või krediitkaardi üksikasjadele) juurde isegi siis, kui see teave on krüpteeritud."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"Ära installi"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"Installi ikkagi"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"Sertifikaat on installimata"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"Hädaabikõne signaal"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Määra käitumine hädaabikõne korral"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Varundamine"</string>
@@ -2642,10 +2684,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"Inaktiveeri ja desinstalli"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"Seadme admin. rakendused"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"Saadaval ei ole ühtki seadme administraatori rakendust"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"Isiklik"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"Töö"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"SMS-idele ja kõnelogile juurdepääsu piiramine"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"SMS-idele ja kõnelogile pääsevad juurde ainult telefoni ning sõnumside vaikerakendused"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"Saadaval pole ühtegi usaldusväärset agenti"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"Kas aktiveerida admin. rakendus?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"Aktiveeri seadme administraatori rakendus"</string>
@@ -2659,6 +2697,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"Administraator on muud valikud keelanud."</string>
     <string name="admin_more_details" msgid="6698424974827333973">"Rohkem üksikasju"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"Märguannete logi"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"Märguannete ajalugu"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"Täna"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"Edasi lükatud"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"Hiljuti loobutud"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> märguannet</item>
+      <item quantity="one"><xliff:g id="NUMBER_0">%d</xliff:g> märguanne</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"Kõne helin ja vibreerimine"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"Võrgu üksikasjad"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"Sünkroonimine lubatud"</string>
@@ -3008,7 +3054,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"Piirangud"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"Eemalda piirangud"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"Muuda PIN-koodi"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"Kuva teatised"</string>
     <string name="help_label" msgid="2896538416436125883">"Abi ja tagasiside"</string>
     <string name="support_summary" msgid="1034146931237148885">"Abiartiklid, telefon ja vestlus, alustamine"</string>
     <string name="user_account_title" msgid="6389636876210834864">"Sisu konto"</string>
@@ -3033,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G-helistamine"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Parema hääl- ja muu side kvaliteedi tagamiseks LTE-teenuste kasutamine (soovitatav)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Parema hääl- ja muu side kvaliteedi tagamiseks 4G-teenuste kasutamine (soovitatav)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Kontaktide teabe uurimine"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Võimaldab operaatoril välja uurida, milliseid helistamisfunktsioone kontaktide seadmed toetavad."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Kas lubada kontaktide teabe uurimine?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Selle funktsiooni lubamisel pääseb operaator juurde teie kontaktide telefoninumbritele, et välja uurida, milliseid helistamisfunktsioone nende seadmed toetavad."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Eelistatud võrgutüüp"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (soovitatav)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"Multimeediumsõnumid"</string>
@@ -3077,7 +3126,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"Helistamine SIM-kaardiga"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"SIM-kaardi valimine"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"SIM <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"SIM-kaart on tühi"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"SIM-kaardi nimi"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"Sisestage SIM-kaardi nimi"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"SIM-kaardi pesa %1$d"</string>
@@ -3087,6 +3135,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"SIM-kaardi valimine"</string>
     <string name="color_orange" msgid="216547825489739010">"Oranž"</string>
     <string name="color_purple" msgid="6603701972079904843">"Lilla"</string>
+    <string name="color_pink" msgid="8596872110888626708">"Roosa"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"Ühtegi SIM-kaarti pole sisestatud"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"SIM-kaardi olek"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"SIM-kaardi olek (SIM-kaardi pesa %1$d)"</string>
@@ -3100,7 +3149,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"SIM-kaardid on muutunud."</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Puudutage seadistamiseks"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"Eelistatud SIM-kaart:"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Küsi iga kord"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Valik on tegemata"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"SIM-kaardi valik"</string>
@@ -3118,6 +3166,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"Bluetooth, sõidurežiim"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"Bluetooth, NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"Bluetooth"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"Pole saadaval, kuna NFC on väljas"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"Rakendused ja märguanded"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Hiljutised rakendused, vaikerakendused"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Tööprofiilil pole märguannete juurdepääs rakenduste puhul saadaval."</string>
@@ -3128,13 +3177,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"Seaded"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"wifi, wi-fi, võrguühendus, internet, juhtmeta, andmed, wi fi"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"WiFi märguanne, wifi märguanne"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"andmekasutus"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"Vibreerimise peatamine, puudutus, klaviatuur"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"Kasuta 24-tunnist vormingut"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"Allalaadimine"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"Ava rakendusega"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"Rakendused"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"ajavöönd"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"Vestlusmull"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"Vestlusmull, süsteem, teatis, aken, dialoog, kuvamine, muude rakenduste peal, joonistamine"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"Taskulamp, valgus, lamp"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"wifi, WiFi, lüliti, juhtimine"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"mobiilne, mobiil, mobiilioperaator, juhtmeta, andmed, 4g,3g, 2g, lte"</string>
@@ -3158,7 +3208,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"mitte segada, katkesta, katkestus, paus"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"läheduses, asukoht, ajalugu, aruandlus, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"konto"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"konto, konto lisamine, tööprofiil, lisa konto"</string>
     <string name="keywords_users" msgid="3497517660077620843">"piirang, piira, piiratud"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"tekstiparandus, paranda, heli, vibreeri, automaatne, keel, liigutus, soovita, soovitus, teema, solvav, sõna, tüüp, emotikon, rahvusvaheline"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"lähtestamine, eelistused, vaikeseade"</string>
@@ -3196,6 +3246,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"mälu, vahemälu, andmed, kustutamine, tühjendamine, vaba, ruum"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"ühendatud, seade, kõrvaklapid, peakomplekt, kõlar, juhtmeta, sidumine, nööpkõrvaklapid, muusika, meedia"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"taust, kuva, lukustuskuva, teema"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"ikooni kuju, aktsentvärv, font"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"vaikimisi, assistent"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"makse, vaikeseade"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"sissetulev märguanne"</string>
@@ -3205,18 +3256,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"puutepõhine, vibreerimine, tundlikkus"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"akusäästja, kinnitatav, pidev, aku säästmine, aku"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"rutiin, ajakava, akusäästja, toite säästmine, aku, automaatne, protsent"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"tööprofiil"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"volte, täiustatud helistamine, 4g-kõned"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"lisa keel, keele lisamine"</string>
     <string name="default_sound" msgid="6604374495015245195">"Vaikeheli"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"Helina helitugevus on <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"Helina ja märguannete helitugevus on <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Helitugevus, vibreerimine, režiim Mitte segada"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"Telefonihelin on seatud vibreerima"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"Telefonihelin on seatud hääletuks"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"Helina helitugevus on 80%"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"Helina ja märguannete helitugevus on 80%"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Meedia helitugevus"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Ülekantava sisu helitugevus"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"Kõne helitugevus"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"Äratuse helitugevus"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"Helina helitugevus"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"Helina ja märguannete helitug."</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"Märguande helitugevus"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"Telefoni helin"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"Märguande vaikeheli"</string>
@@ -3224,6 +3276,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"Märguande vaikeheli"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"Äratuse vaikeheli"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"Vibreerimine kõnede puhul"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"Ära kunagi vibreeri"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"Vibreeri alati"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"Vibreeri ja siis helise valjenedes"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"Muud helid"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"Valimisklahvistiku toonid"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"Ekraani lukustamise helid"</string>
@@ -3247,6 +3302,7 @@
       <item quantity="one">1 on lubatud</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Mitte segada"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Ainult oluliste inimeste ja rakendustega seotud märguanded"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Katkestuste piiramine"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Valiku Mitte segada sisselülitamine"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"Erandid"</string>
@@ -3273,7 +3329,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Visuaalsete häirimiste blok."</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Luba visuaalsed signaalid"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"Kui funktsioon Mitte segada on sisse lülitatud"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"Luba helimärguandega katkestused"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"Märguannete piiramine"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Hääletud märguanded"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"Näete ekraanil märguandeid"</string>
@@ -3304,7 +3360,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"Heli ja vibreerimine"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"Märguannete heli, vibreerimine ja mõned visuaalsed märgid"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"Märguannete heli, vibreerimine ja visuaalsed märgid"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"Märguandeid, mis on vajalikud telefoni põhitoiminguteks ja oleku kuvamiseks, ei peideta kunagi"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"Märguandeid, mis on vajalikud telefoni põhitoiminguteks ja oleku kuvamiseks, ei peideta kunagi."</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"Puudub"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"muud valikud"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"Lisa"</string>
@@ -3334,10 +3390,12 @@
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> ajakava saab automaatselt sisse lülitada</item>
       <item quantity="one">1 ajakava saab automaatselt sisse lülitada</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"Vaigista seade, kuid luba erandid"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"Erandid"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"Ajakava"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"Kuva kõik erandid"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"Erandid, kui funktsioon Mitte segada on sisse lülitatud"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"Inimesed"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"Rakendused"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"Alarmid ja muud katkestused"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"Ajakavad"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"Vaigistatud märguanded"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"Kui funktsioon Mitte segada on sisse lülitatud, vaigistatakse heli ja vibreerimine (v.a ülal lubatud üksuste puhul)."</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"Vaigista kõik, v.a"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"Vaigistatud"</string>
@@ -3381,16 +3439,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"Kohanduvad märguanded"</string>
     <string name="asst_capability_prioritizer_title" msgid="1181272430009156556">"Kohanduvate märguannete prioriteet"</string>
     <string name="asst_capability_prioritizer_summary" msgid="954988212366568737">"Madalama prioriteediga märguanded määratakse automaatselt leebeteks märguanneteks"</string>
+    <string name="asst_capability_ranking_title" msgid="312998580233257581">"Märguannete kohanduv järjestamine"</string>
+    <string name="asst_capability_ranking_summary" msgid="2293524677144599450">"Järjesta märguanded automaatselt asjakohasuse järgi"</string>
     <string name="asst_capabilities_actions_replies_title" msgid="4392470465646394289">"Soovitatud toimingud ja vastused"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"Kuva automaatselt soovitatud toimingud ja vastused"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"Lülitage märguannete ajalugu sisse, et varasematel ja edasilükatud märguannetel silma peal hoida"</string>
+    <string name="notification_history" msgid="8663811361243456201">"Märguannete ajalugu"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"Lülita ajalugu sisse"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"Lülita ajalugu välja"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"Märguannete ajalugu on välja lülitatud"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"kuva märguandeseaded"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Märguannete edasilükkamise lubamine"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"Leebete märguannete ikoonide peitmine"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"Leebete märguannete ikoone ei kuvata olekuribal"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"Luba märguandetäpid"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"Kuva hiljutiste vestluste riba"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Mullid"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"Teatud märguanded võidakse ekraanil kuvada mullidena"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"Teatud märguanded ja muu sisu võidakse kuvada mullidena. Mulli avamiseks puudutage seda. Mulli eemaldamiseks lohistage seda ekraanil allapoole."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Mullid"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"Uued sõnumid kuvatakse ekraanil"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"Luba rakendusel <xliff:g id="APP_NAME">%1$s</xliff:g> kuvada teatud märguanded mullidena"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"Mullide sisselülitamine"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"Selles rakenduses mullide sisselülitamiseks peate need esmalt sisse lülitama oma seadmes. See mõjutab teisi rakendusi, milles olete mullid eelnevalt sisse lülitanud."</string>
@@ -3408,6 +3476,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"Kuva allatõmmatavas menüüs ja lukustuskuval"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"Kuva allatõmmatavas menüüs ja olekuribal"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"Kuva allatõmmatavas menüüs, olekuribal ja lukustuskuval"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"Peida vaiksed märguanded olekuribal"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"Vilkuv tuli"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"Lukustuskuva"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"Lukustuskuva vahelejätmine"</string>
@@ -3438,6 +3507,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"Käitumine"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"Heli lubamine"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"Ära kunagi kuva märguandeid"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"Vestlused"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"Vestlus"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"Pole vestlus"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"Eemaldamine vestluste jaotisest"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"See on vestlus"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"Lisa vestluste jaotisse"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"Vestluste haldamine"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"Olulised vestlused"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"Kõik vestlused"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"Kuva olulised vestlused mullis"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"Olulised vestlused kuvatakse allatõmmatava ala ülaosas. Saate lasta need kuvada ka mullis ja katkestada funktsiooni Mitte segada."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"Kuva vaikselt ja minimeeri"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"Kuva hääletult"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"Esita heli"</string>
@@ -3456,7 +3536,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"Aitab teil keskenduda (heli või vibreerimine puudub)"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"Haarab heli või vibreerimisega teie tähelepanu"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"Kui seade on avatud, kuvatakse märguanded bännerina ekraanikuva ülaosas"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"Kuva märguanded"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"Kõik rakenduse <xliff:g id="APP_NAME">%1$s</xliff:g> märguanded"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"Kohanduvad märguanded"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="other">~<xliff:g id="NUMBER_1">%d</xliff:g> märguannet päevas</item>
@@ -3477,6 +3557,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"Kohanduvad märguanded"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"Puudub"</string>
     <string name="no_notification_listeners" msgid="2839354157349636000">"Ükski installitud rakendus pole taotlenud juurdepääsu märguannetele."</string>
+    <string name="notification_access_detail_switch" msgid="46386786409608330">"Luba juurdepääs märguannetele"</string>
     <string name="notification_assistant_security_warning_title" msgid="2972346436050925276">"Kas lubada teenusel <xliff:g id="SERVICE">%1$s</xliff:g> märguannetele juurde pääseda?"</string>
     <string name="notification_assistant_security_warning_summary" msgid="3119843404577399036">"<xliff:g id="NOTIFICATION_ASSISTANT_NAME">%1$s</xliff:g> saab lugeda kõiki märguandeid, sh isiklikke andmeid, nagu kontaktide nimed ja teile saadetud tekstsõnumid. See saab ka märguandeid muuta või nendest loobuda või aktiveerida märguannetes olevaid toimingunuppe. \n\nSee võimaldab rakendusel ka lülitada sisse või välja funktsiooni Mitte segada ja muuta sellega seotud seadeid."</string>
     <string name="notification_listener_security_warning_title" msgid="5791700876622858363">"Kas lubada teenusel <xliff:g id="SERVICE">%1$s</xliff:g> märguannetele juurde pääseda?"</string>
@@ -3538,8 +3619,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"Valmis"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"Tähtsus"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"Vilkuv tuli"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"Vibreerimine"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"Vibreerimine"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"Heli"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"Tähtis"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"Avalehele lisamine"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"Kustuta"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"Nimeta ümber"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"Ajakava nimi"</string>
@@ -3593,6 +3676,10 @@
       <item quantity="other">Veel <xliff:g id="NUM_PEOPLE">%d</xliff:g> inimest</item>
       <item quantity="one">Veel 1 inimene</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Vestlused"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"Kõikidest vestlustest"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"Olulistest vestlustest"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"Ära luba vestlusi"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"Luba sõnumid"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"Selleks et lubatud sõnumite puhul telefon heliseks, kontrollige, kas seadmes on aktiveeritud helisemis-, vibreerimis- või vaikne režiim."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"Ajakava „<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>” puhul on sissetulevad sõnumid blokeeritud Võite seadeid kohandada, et võimaldada sõpradel, pereliikmetel või muudel kontaktidel teiega ühendust võtta."</string>
@@ -3606,15 +3693,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"Mitte kelleltki"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"Ära luba kõnesid"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"Ära luba ühtki sõnumit"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"Luba märguanded"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"Äratused"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"Taimeritelt, alarmidelt, turvasüsteemidelt ja muudelt rakendustelt"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"äratused"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"Esita meedia helisid"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"Meediahelid"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"Videotelt, mängudelt ja muult meedialt"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"meedia"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"Luba puutehelid"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"Puutehelid"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"Teie klaviatuurilt ja muudelt nuppudelt"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"puutehelid"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"Luba meeldetuletused"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"Meeldetuletused"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"Ülesannetelt ja meeldetuletustelt"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"meeldetuletused"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"Luba sündmused"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"Sündmused"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"Tulevastelt kalendrisündmustelt"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Luba rakendustel alistada"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"Rakenduse erandid"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3657,6 +3749,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"Luba märguannetel, mille funktsioon Mitte segada on vaigistanud, ekraan sisse lülitada"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"Märguandeseaded"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"OK"</string>
+    <string name="suggestion_button_close" msgid="6865170855573283759">"Sule"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Seadme kohta tagasiside saatmine"</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"Sisestage administraatori PIN-kood"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"Sees"</string>
@@ -3667,6 +3760,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Enne vabastamist küsi PIN-koodi"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Enne vabastamist küsi parooli"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Vabastamise korral lukusta seade"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"SIM-i kustutamise kinnitamine"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"Enne allalaaditud SIM-i tühjendamist kinnitage oma isik"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"Seda tööprofiili hallatakse rakendusega"</string>
     <string name="managing_admin" msgid="2633920317425356619">"Haldab <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(Katseline)"</string>
@@ -3741,8 +3836,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"Kõik rakendused"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Installitud rakendused"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Installimata avat. rakendused"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"Isiklik"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"Töö"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"Rakendused: kõik"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"Välja lülitatud"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"Kategooriad: kiireloomuline"</string>
@@ -3754,6 +3847,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"Tundmatu rakendus"</string>
     <string name="app_permissions" msgid="8666537659217653626">"Lubade haldur"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"Rakendused, mis kasutavad: <xliff:g id="APPS">%1$s</xliff:g>"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"Rakendust <xliff:g id="APPS">%1$s</xliff:g> ja muid kasutavad rakendused"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"Puudutusega äratamine"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"Seadme äratamiseks topeltpuudutage ekraani"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"Linkide avamine"</string>
@@ -3765,9 +3859,14 @@
       <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> rakendust, mis avavad toetatud linke</item>
       <item quantity="one">Üks rakendus, mis avab toetatud linke</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"Ava selles rakenduses"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"Luba rakendusel avada toetatud lingid"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"Küsi iga kord"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"Ära ava selles rakenduses"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"Ära luba rakendusel avada toetatud linke"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="other">Rakendus käsitleb väidetavalt <xliff:g id="COUNT_1">%d</xliff:g> linki</item>
+      <item quantity="one">Rakendus käsitleb väidetavalt <xliff:g id="COUNT_0">%d</xliff:g> linki</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"Rakendus käsitleb väidetavalt järgmisi linke:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"Vaikeseade"</string>
     <string name="default_for_work" msgid="537558180548617528">"Vaikimisi töö jaoks"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"Abirakendus ja häälsisend"</string>
@@ -3911,8 +4010,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"Muude rakenduste peal kuvamine"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Luba muude rakenduste peal kuvamine"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"Lubage see rakendus kuvada muude kasutatavate rakenduste peal. See võib häirida nende rakenduste kasutamist või muuta nende käitumist või kuvamisviisi."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"Juurdepääs kõikidele failidele"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"Juurdepääsu andmine kõigi failide haldamiseks"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Sellel rakendusel lubatakse lugeda, muuta ja kustutada kõiki selles seadmes ning ühendatud andmekandjatel olevaid faile. Loa andmisel võib rakendus failidele juurde pääseda ilma teie teadmata."</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"Pääseb failidele juurde"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"VR virtuaalreaalne kuulaja stereo abiline teenus"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"süsteem teatis aken dialoog muude rakenduste peal kuvamine"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"Muude rakenduste peal kuvamine"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"<xliff:g id="COUNT_0">%1$d</xliff:g> rakendusel <xliff:g id="COUNT_1">%2$d</xliff:g>-st on lubatud muude rakenduste peal kuvada"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"Loaga rakendused"</string>
@@ -4078,6 +4180,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"Kasutatud on <xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g>"</string>
     <string name="data_overusage" msgid="3680477320458707259">"<xliff:g id="ID_1">^1</xliff:g> üle"</string>
     <string name="data_remaining" msgid="6316251496381922837">"Jäänud on <xliff:g id="ID_1">^1</xliff:g>"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"Graafikus on kuvatud andmekasutus kuupäevavahemikus <xliff:g id="START_DATE">%1$s</xliff:g> kuni <xliff:g id="END_DATE">%2$s</xliff:g>."</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"Selle kuupäevavahemiku kohta pole andmeid"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="other">%d päeva jäänud</item>
       <item quantity="one">%d päev jäänud</item>
@@ -4141,14 +4245,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"paki suurus"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"märguandest teavitati"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"heli"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"vibreerimine"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"muster"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"vaikeseade"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"kanal"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"puudub"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"Asetuse objekt puudub."</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"Asetuse objekt ei sisalda seda võtit."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"Teema määramine"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"Seadme vaikeseade"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"Ekraani väljalõige"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"ekraani väljalõige, lõige"</string>
@@ -4237,8 +4337,12 @@
     <string name="information_label" msgid="6939310810756569298">"Teave"</string>
     <string name="low_label" msgid="6525629096999711220">"Väike"</string>
     <string name="high_label" msgid="357503396626018487">"Suur"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"Suurem tundlikkus võib ekraani servades mõne rakenduse liigutusega vastuolus olla."</string>
+    <string name="left_edge" msgid="1513576842959071849">"Vasak serv"</string>
+    <string name="right_edge" msgid="1505309103265829121">"Parem serv"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"Suurem tundlikkus võib ekraani servades mõne rakenduse liigutusega vastuolus olla."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"Tagasiliigutuse tundlikkus"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"Liigutuste seaded"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"liigutustega navigeerimine, tagasiliigutuse tundlikkus, tagasiliigutus"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"Telefoni kontrollimiseks topeltpuudutamine"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"Topeltpuudutage tahvelarvuti kontrollimiseks"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"Topeltpuudutage seadme kontrollimiseks"</string>
@@ -4393,7 +4497,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"Operaatori ettevalmistamise päästik"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"Värskendage režiimi Mitte segada"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"Keskendumiseks peatage märguanded"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"Sellel seadmel pole see funktsioon saadaval"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"Funktsioon pole saadaval"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"See funktsioon on välja lülitatud, kuna see muudab teie telefoni aeglaseks"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"Jõusta GNSS-i täielikud mõõtmistulemused"</string>
@@ -4403,20 +4506,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"Valige rakendus, milles ANGLE on lubatud"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"Seadistatud pole ühtegi rakendust, milles ANGLE on lubatud"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"Rakendus, milles ANGLE on lubatud: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"Mängudraiveri eelistused"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"Mängudraiveri seadete muutmine"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"Kui mängudraiver on sisse lülitatud, saate seadmesse installitud rakenduste puhul soovi korral kasutada värskendatud graafikadraiverit"</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"Luba kõigi rakenduste puhul"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"Graafikadraiveri valimine"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"Vaikeseade"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"Mängudraiver"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"Draiveri eelväljalase"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"Süsteemi graafikadraiver"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"Graafikadraiveri eelistused"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"Graafikadraiveri seadete muutmine"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"Kui graafikadraivereid on mitu, saate seadmesse installitud rakenduste puhul soovi korral kasutada värskendatud graafikadraiverit."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"Luba kõigi rakenduste puhul"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"Graafikadraiveri valimine"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"Vaikeseade"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"Mängudraiver"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"Arendaja draiver"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Süsteemi graafikadraiver"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Rakenduste ühilduvuse muudatused"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Rakenduse ühilduvuse muudatuste lüliti"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Vaikimisi lubatud rakenduste muudatused"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Vaikimisi keelatud rakenduste muudatused"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"Seadet selles telefonis ei toetata"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"Seadet selles tahvelarvutis ei toetata"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"Seadet selles seadmes ei toetata"</string>
@@ -4435,6 +4544,11 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"Seade"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Pole kõnede ajal saadaval"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"Pole saadaval"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"Lisa väljundid"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"Grupp"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 seade on valitud"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> seadet on valitud"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"Vahetamine …"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Vasta kõnele seadmes"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Seda APN-i ei saa muuta."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Parandage tahvelarvuti aku tööiga"</string>
@@ -4552,10 +4666,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Korraga saab aktiivne olla vaid üks allalaaditud SIM-kaart.\n\nOperaatori <xliff:g id="CARRIER1">%1$s</xliff:g> aktiveerimisel ei tühistata operaatori <xliff:g id="CARRIER2">%2$s</xliff:g> teenust."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Aktiveeri <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Kustuta SIM-kaart"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Kas soovite allalaaditud SIM-kaardi kustutada?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"SIM-kaardi kustutamisel eemaldatakse seadmest operaatori <xliff:g id="CARRIER_0">%1$s</xliff:g> teenus.\n\nOperaatori <xliff:g id="CARRIER_1">%2$s</xliff:g> teenust ei tühistata."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Kustuta"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"SIM-kaardi kustutamine …"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"SIM-kaarti ei saa kustutada"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Seda SIM-kaarti ei saa vea tõttu kustutada.\n\nTaaskäivitage seade ja proovige uuesti."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Eelistatud võrgutüüp"</string>
@@ -4580,7 +4690,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Võrgu režiim <xliff:g id="NETWORKMODEID">%1$d</xliff:g> on sobimatu. Eirake seda."</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Pääsupunktide nimed"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Pole saadaval, kui on ühendus on loodud operaatoriga <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"Meditsiiniline teave, hädaolukorra kontaktid"</string>
     <string name="see_more" msgid="7499355691042812723">"Kuva rohkem"</string>
     <string name="see_less" msgid="2642392725363552793">"Kuva vähem"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"Seade, mida rakendusega <xliff:g id="APPNAME">%1$s</xliff:g> kasutada"</string>
@@ -4589,11 +4698,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"Midagi tuli vahele. Rakendus tühistas seadme valimise taotluse."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"Ühendamine õnnestus"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"Kuva kõik"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="other">Ühendatud on <xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> seadet</item>
-      <item quantity="one">Ühendatud on <xliff:g id="NUMBER_DEVICE_COUNT_0">%1$d</xliff:g> seade</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"Bluetoothi seadmed puuduvad"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"Seadme otsimine …"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"Seadmega ühendamine …"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"Vasak"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"Parem"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Ümbris"</string>
@@ -4603,6 +4709,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"Ei ole lennukirežiimis saadaval"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"Töölauarežiimi jõustamine"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Katselise töölauarežiimi jõustamine teisestel ekraanidel"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"Luba kohandumatu suurusega rakendustele vaba vorm"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"Võimaldab kohandumatu suurusega rakendustel kasutada vaba vormi"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Funktsiooni Sunnitud tume alistamine"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"Alistab funktsiooni Sunnitud tume ja lülitab selle alaliselt sisse"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"Privaatsus"</string>
@@ -4639,6 +4747,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Installisite selle rakenduse hiljuti."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Väljundi vahetamine"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Praegu seadmes <xliff:g id="DEVICE_NAME">%1$s</xliff:g> esitamisel"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (pole ühendatud)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Ei saa lülitada. Puudutage, et uuesti proovida."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Oluline teave"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"JÄTKA"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"EI, TÄNAN"</string>
@@ -4666,8 +4776,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"SIM-kombinatsioon"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Teie tööeeskirjade teave"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Seadeid haldab teie IT-administraator"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"Veaaruannete töötleja"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Määrab, milline rakendus töötleb teie seadmes veaaruannete otseteed."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Isiklik"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"Töö"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"Süsteemi vaikeseade"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"See valik ei kehti enam. Proovige uuesti."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"Peata ülekandmine"</string>
 </resources>
diff --git a/res/values-eu/arrays.xml b/res/values-eu/arrays.xml
index 5924a7c..8a105f6 100644
--- a/res/values-eu/arrays.xml
+++ b/res/values-eu/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"Berehala"</item>
     <item msgid="463591454172790676">"5 segundo"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"Ez balidatu"</item>
+    <item msgid="5703177653586269306">"Eskatu ziurtagirien egoera"</item>
+    <item msgid="326388247868439528">"Eskatu ziurtagirien egoera"</item>
+    <item msgid="1090956283885790552">"Eskatu fidagarritzat jotzen ez diren ziurtagiri guztien egoera"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"Sakatu botoia"</item>
     <item msgid="2630618799033509548">"Pareko gailuaren PINa"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"Bat ere ez"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"L2TP/IPSec VPNa aurrez partekatutako gakoekin eta Xauth autentifikazioarekin"</item>
     <item msgid="2484564813864139237">"L2TP/IPSec VPNa ziurtagiriekin eta Xauth autentifikazioarekin"</item>
     <item msgid="68918911194507915">"L2TP/IPSec VPNa ziurtagiriekin eta autentifikazio hibridoarekin"</item>
+    <item msgid="4631647675167100375">"IKEv2/IPSec VPNa ziurtagiriekin eta erabiltzaile/pasahitz autentifikazioarekin"</item>
+    <item msgid="8812228622975052811">"IKEv2/IPSec VPNa aurrez partekatutako gakoekin"</item>
+    <item msgid="6630554779981113046">"IKEv2/IPSec VPNa ziurtagiriekin"</item>
   </string-array>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"Bat ere ez"</item>
diff --git a/res/values-eu/config.xml b/res/values-eu/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-eu/config.xml
+++ b/res/values-eu/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml
index 4bcbcda..432fbdd 100644
--- a/res/values-eu/strings.xml
+++ b/res/values-eu/strings.xml
@@ -31,49 +31,17 @@
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Lehendabizi, gaitu garatzaileen aukerak."</string>
     <string name="header_category_wireless_networks" msgid="303445626075235229">"Hari gabekoak eta sareak"</string>
     <string name="header_category_system" msgid="1665516346845259058">"Sistema"</string>
-    <string name="radio_info_data_connection_enable" msgid="7500945447906187613">"Gaitu datu-konexioa"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"Desgaitu datu-konexioa"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"VoLTE hornituta"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"Bideo-deiak aktibatuta"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"Wi-Fi bidezko deiak aktibatuta"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"EAB/Presence hornitu da"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"CBRS datuak"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"Gaitu DSDS"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"Gailua berrabiarazi nahi duzu?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"Ezarpen hau aldatzeko, gailua berrabiarazi egin behar duzu."</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"Berrabiarazi"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"Utzi"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"Sare mugikor bidezko irratiaren indarra"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"Ikusi SIMeko kontaktuak"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"Ikusi markatze finkoko zenbakiak"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"Ikusi zerbitzuaren markatze-zenbakiak"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"IMS zerbitzuaren egoera"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"IMS egoera"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"Erregistratuta"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"Erregistratu gabe"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"Erabilgarri"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"Ez dago erabilgarri"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"IMS erregistroa: <xliff:g id="STATUS">%1$s</xliff:g>\nLTE bidezko ahots-deiak: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nWi-Fi bidezko ahots-deiak: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nBideo-deiak: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT interfazea: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"Erabilgarri"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Ez erabilgarri"</string>
     <string name="radioInfo_service_emergency" msgid="6838935881091760942">"Larrialdi-deiak soilik"</string>
     <string name="radioInfo_service_off" msgid="6184928420860868571">"Irratia desaktibatuta dago"</string>
     <string name="radioInfo_roaming_in" msgid="8892550453644088692">"Ibiltaritza"</string>
     <string name="radioInfo_roaming_not" msgid="3137594549464975054">"Ez dago ibiltaritzan"</string>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"Inaktibo"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"Deitzen"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"Deia abian da"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"Deskonektatuta"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"Konektatzen"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"Konektatuta"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Etenda"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Ezezaguna"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"pkts"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"byte"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"Desmuntatu USB memoria"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"Desmuntatu SD txartela"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"Ezabatu USB memoria"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"Handitu edo txikitu pantailako testua."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Txikitu"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Handitu"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"Testu-lagina"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"Ozeko azti miragarria"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"11. kapitulua: Esmeraldazko Oz hiri harrigarria"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"Ezarpen hau aldatzeko, gailua berrabiarazi egin behar duzu."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"Berrabiarazi"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"Utzi"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"Multimedia-gailu erabilgarriak"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"Deitzeko balio duten gailu erabilgarriak"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"Konektatuta daudenak"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"Multimedia-gailuak"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"Deiak jaso eta egiteko gailuak"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"Beste gailu batzuk"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Gordetako gailuak"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth konexioa aktibatuko da parekatu ahal izateko"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Konexio-hobespenak"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"Idatzi duzun ataka ez da baliozkoa."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"Arakatzaileak HTTP proxya erabiltzen du baina ezin dute beste aplikazioek erabili."</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"Proxya auto. konf. URLa: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"Uneko azpiIDa:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"Datu-konexioetarako SIM lehenetsiaren azpiIDa:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"Deskargatzeko banda-zabalera (Kb/s):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"Kargen banda-zabalera (Kb/s):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"Sare mugikorraren kokapenaren informazioa (zaharkitua):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"LTE kanal fisikoaren konfigurazioa:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"Sare mugikorraren informazioa eguneratzeko maiztasuna:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"Sare mugikorraren neurketa guztien informazioa:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"Datu-zerbitzua:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"Ibiltaritza:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI zk.:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"Dei-desbideratzea:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"PPP berrezarpen kopurua abiarazi ezkero:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"Uneko sarea:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"Jasotako datuak:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"Ahots-deien zerbitzua:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"Seinalearen indarra:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"Ahots-deiaren egoera:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"Bidalitako datuak:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"Mezua zain:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"Telefono-zenbakia:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"Hautatu irrati-banda"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"Ahots-deien sare mota:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"Datu-sare mota:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"Hautatu telefonoaren indizea"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"Zehaztu sare mota hobetsia:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"Ping egiteko ostalari-izena (www.google.com) IPv4:"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"Ping egiteko ostalari-izena (www.google.com) IPv6:"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"HTTP bezeroaren proba:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"Egin ping-proba"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"Eguneratu"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"Freskatu"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"Aldatu DNS egiaztapenaren egoera"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"Jatorrizko fabrikatzailearen berariazko informazioa edota ezarpenak"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"Ezarri irrati-bandaren modua"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"Banden zerrenda kargatzen…"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"Ezarri"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"Ezin izan da egin"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"Ongi"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"Aldaketek USB kablea berriro konektatzean izango dute eragina."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"Gaitu USB bidezko biltegiratze masiboa"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"Byteak, guztira:"</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"Eraman beheraino"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"Kendu hizkuntza"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"Aukeratu jarduera"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"Gailuari buruzko informazioa"</string>
     <string name="display_label" msgid="3056320781191343221">"Pantaila"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"Tabletaren informazioa"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"Telefonoaren informazioa"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"USB bidezko memoria"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"SD txartela"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"Proxy-ezarpenak"</string>
@@ -306,9 +234,6 @@
     <string name="airplane_mode" msgid="3196085857882526817">"Hegaldi modua"</string>
     <string name="wireless_networks_settings_title" msgid="8557542379234105369">"Hari gabeko konexioak eta sareak"</string>
     <string name="radio_controls_summary" msgid="9028430178697624501">"Kudeatu wifia, Bluetooth-a, hegaldi modua, sare mugikorrak eta VPNak"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"Datu-konexioa"</string>
-    <string name="calls_title" msgid="6334813967619899114">"Baimendu deiak"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"SMS mezuak"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"Onartu datu-konexioa erabiltzea"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"Onartu datuak ibiltaritzan"</string>
     <string name="roaming" msgid="3055365654530847985">"Ibiltaritza"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"Konektatu datu-zerbitzuetara ibiltaritzan"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"Datuen konexioa galdu duzu tokiko saretik irten zarelako ibiltaritza desaktibatuta daukazula."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"Aktibatu"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"Baliteke kostu handiak ordaindu behar izatea."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"Ibiltaritzako datuak baimentzen badituzu, baliteke ibiltaritza-kostu handiak ordaindu behar izatea!\n\nEzarpenak tableta honen erabiltzaile guztiei eragiten die."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"Ibiltaritzako datuak baimentzen badituzu, baliteke ibiltaritza-kostu handiak ordaindu behar izatea!\n\nEzarpenak telefono honen erabiltzaile guztiei eragiten die."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"Baliteke ibiltaritza-kostuak ordaindu behar izatea."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"Datu-ibiltaritza erabiltzeko baimena ematen baduzu, baliteke ibiltaritza-kostuak ordaindu behar izatea.\n\nTableta hau darabilten erabiltzaile guztiei aplikatzen zaie ezarpen hau."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"Datu-ibiltaritza erabiltzeko baimena ematen baduzu, baliteke ibiltaritza-kostuak ordaindu behar izatea.\n\nTelefono hau darabilten erabiltzaile guztiei aplikatzen zaie ezarpen hau."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"Ibiltaritzako datuak baimendu nahi dituzu?"</string>
     <string name="networks" msgid="5184501333492775095">"Operadorea hautatzea"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"Aukeratu sare-operadorea"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"Administratzaileak desgaitu du"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"Erakutsi blokeatzeko aukera"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"Bistaratu etengailu bat pantaila blokeatuan, Smart Lock, desblokeo biometrikoak eta jakinarazpenak desaktibatzeko aukera ematen duena"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"Fidagarritasun-agenteek soilik luzatzen dute desblokeoa"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"Gaitzen bada, fidagarritasun-agenteek denbora luzeagoz mantenduko dute gailua desblokeatuta, baina ezingo dituzte desblokeatu blokeatuta dauden gailuak"</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"Blokeatu pantaila fidagarritasuna galtzean"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"Gaitzen bada, gailua blokeatu egingo da azken fidagarritasun-agenteak fidagarritasuna galtzen duenean"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"Bat ere ez"</string>
@@ -390,7 +313,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"Ezarri Nire kokapena, pantailaren desblokeoa, SIM txartelaren blokeoa, kredentzialen biltegiaren blokeoa"</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"Ezarri Nire kokapena, pantailaren desblokeoa, kredentzialen biltegiaren blokeoa."</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"Pribatutasuna"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"Administratzaileak desgaitu du"</string>
+    <string name="disabled_by_administrator_summary" msgid="5424846182313851124">"Ez dago erabilgarri"</string>
     <string name="security_status_title" msgid="6958004275337618656">"Segurtasunaren egoera"</string>
     <string name="security_dashboard_summary_face" msgid="4198949293847206382">"Pantailaren blokeoa, aurpegiaren bidez desblokeatzea"</string>
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Pantailaren blokeoa, hatz-marka"</string>
@@ -693,7 +616,6 @@
       <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> digitu baino gutxiago izan behar ditu</item>
       <item quantity="one"><xliff:g id="NUMBER_0">%d</xliff:g> digitu baino gutxiago izan behar du</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"0 eta 9 arteko digituak soilik izan ditzake"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"Gailuaren administratzaileak ez du eman beste PIN kode bat erabiltzeko baimenik"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"IKT administratzaileak blokeatu egiten ditu asmatzen errazak diren PIN kodeak. Erabili beste PIN bat."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"Ezin da erabili onartzen ez den karaktererik"</string>
@@ -724,6 +646,10 @@
       <item quantity="other">Hizkiak ez diren <xliff:g id="COUNT">%d</xliff:g> karaktere bat izan behar du gutxienez</item>
       <item quantity="one">Hizkia ez den karaktere bat izan behar du gutxienez</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="other">Gutxienez, zenbakizkoa ez den <xliff:g id="COUNT">%d</xliff:g> karaktere izan behar ditu</item>
+      <item quantity="one">Gutxienez, zenbakizkoa ez den 1 karaktere izan behar du</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"Gailuaren administratzaileak ez du eman beste pasahitz bat erabiltzeko baimenik"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"IKT administratzaileak blokeatu egiten ditu asmatzen errazak diren pasahitzak. Erabili beste pasahitz bat."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"Ezin da erabili goranzko, beheranzko edo errepikatutako digitu-sekuentziarik"</string>
@@ -837,19 +763,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2,4 GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"Hasi saioa"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"Ireki webgunea"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"<xliff:g id="REMAINING_TIME">%1$s</xliff:g>"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"Iraungitze-data: <xliff:g id="EXPIRY_TIME">%1$s</xliff:g>"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"Sakatu hau sarean saioa hasteko"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Mb/s"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Mb/s"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Mb/s"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"<xliff:g id="REQUESTER">%s</xliff:g> aplikazioak Wi-Fi konexioa aktibatu nahi du"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"<xliff:g id="REQUESTER">%s</xliff:g> aplikazioak Wi-Fi konexioa desaktibatu nahi du"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"Egiaztatu araz daitezkeen aplikazioen byte-kodea"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Eman araz daitezkeen aplikazioen byte-kodea egiaztatzeko baimena ART egiaztatzaileari"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"Erakutsi freskatze-abiadura"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Erakutsi pantailaren uneko freskatze-abiadura"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"Eman datuak trukatzeko baimena tabletak beste gailu bat ukitzean."</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"Onartu datuen trukea telefonoak beste gailu bat ukitzen duenean"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"Eman datuak trukatzeko baimena tabletak NFC darabilen beste gailu bat ukitzean"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"Eman datuak trukatzeko baimena telefonoak NFC darabilen beste gailu bat ukitzean"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"Aktibatu NFC"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"NFC eginbideak datuak trukatzen ditu gailu honen eta inguruko beste gailu edo helburu batzuen artean (adibidez, ordainketa-terminalak, sarbide-irakurgailuak, eta iragarki edo etiketa interaktiboak)."</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"Babestu NFC konexioak"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Derrigortu gailua desblokeatzera NFC erabiltzeko"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"Onartu NFC ordainketak eta garraio publikoetan ordaintzeko aukera pantaila desblokeatuta dagoenean soilik"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"Aplikazioaren edukia NFC bidez transmititzeko prest"</string>
@@ -864,7 +796,7 @@
     <string name="wifi_settings_category" msgid="3523464780563778321">"Wi-Fi ezarpenak"</string>
     <string name="wifi_settings_title" msgid="3879649725059512799">"Wifia"</string>
     <string name="wifi_settings_summary" msgid="784074686763572811">"Konfiguratu eta kudeatu hari gabeko sarbide-puntuak"</string>
-    <string name="wifi_select_network" msgid="6692897876718813259">"Hautatu wifi-sarea"</string>
+    <string name="wifi_select_network" msgid="6692897876718813259">"Hautatu Wi-Fi sarea"</string>
     <string name="wifi_starting" msgid="6147022683967506341">"Wi-Fi konexioa aktibatzen…"</string>
     <string name="wifi_stopping" msgid="4471699665741299711">"Wi-Fia desaktibatzen…"</string>
     <string name="wifi_error" msgid="4903954145386086899">"Errorea"</string>
@@ -914,7 +846,7 @@
     <string name="wifi_menu_modify" msgid="7246143391161038875">"Aldatu sarea"</string>
     <string name="wifi_empty_list_wifi_off" msgid="7697422506708419298">"Sare erabilgarriak ikusteko, aktibatu wifi-konexioa."</string>
     <string name="wifi_empty_list_wifi_on" msgid="5043989454000825717">"Wi-Fi sareak bilatzen…"</string>
-    <string name="wifi_empty_list_user_restricted" msgid="454861411536708709">"Ez duzu wifi-sarea aldatzeko baimenik."</string>
+    <string name="wifi_empty_list_user_restricted" msgid="454861411536708709">"Ez duzu Wi-Fi sarea aldatzeko baimenik."</string>
     <string name="wifi_more" msgid="8742256421693351035">"Gehiago"</string>
     <string name="wifi_setup_wps" msgid="4303694722593999931">"Konf. automatikoa (WPS)"</string>
     <string name="wifi_settings_scanning_required_title" msgid="1088663325396007484">"Wifi-sareen bilaketa aktibatu nahi al duzu?"</string>
@@ -923,8 +855,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Aktibatu"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Aktibatu da Wifi-sareen bilaketa"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Aukera aurreratuak"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"Aukera aurreratuen goitibeherako zerrenda. Tolesteko, sakatu birritan."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"Aukera aurreratuen goitibeherako zerrenda. Zabaltzeko, sakatu birritan."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Aukera aurreratuak dago hautatuta goitibeherako zerrendan"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"zabaldu"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"Sarearen izena"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"Idatzi SSIDa"</string>
     <string name="wifi_security" msgid="9095934643631406913">"Segurtasuna"</string>
@@ -934,6 +866,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"Egoera"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"Transmititzeko lotura-abiadura"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"Jasotzeko lotura-abiadura"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"Lotura-abiadura"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"Frekuentzia"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"IP helbidea"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"Honen bidez gorde da:"</string>
@@ -941,6 +874,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"EAP metodoa"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"2. faseko autentifikazioa"</string>
     <string name="wifi_eap_ca_cert" msgid="8033404008276298886">"CA ziurtagiria"</string>
+    <string name="wifi_eap_ocsp" msgid="8713933962516871238">"Interneteko ziurtagirien egoera"</string>
     <string name="wifi_eap_domain" msgid="8304301470752333203">"Domeinua"</string>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"Erabiltzaile-ziurtagiria"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"Identitatea"</string>
@@ -954,9 +888,11 @@
     <string name="wifi_ap_prefer_5G" msgid="2520628479818369902">"5,0 GHz-ko banda hobetsia"</string>
     <string name="wifi_ap_2G" msgid="4099628221864343015">"2,4 GHz"</string>
     <string name="wifi_ap_5G" msgid="3493942667238551207">"5,0 GHz"</string>
-    <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"Aukeratu gutxienez banda bat wifi-sare publikorako:"</string>
+    <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"Aukeratu gutxienez banda bat Wi-Fi sare publikorako:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"IP ezarpenak"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"Pribatutasuna"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"Harpidetza"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"Ikusi edo aldatu harpidetza"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"Ausaz aukeratutako MACa"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"Gehitu gailua"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"Gailua \"<xliff:g id="SSID">%1$s</xliff:g>\" sarean gehitzeko, erdiratu QR kodea hemen behean"</string>
@@ -966,12 +902,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"Partekatu wifi-konexioa"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"Eskaneatu QR kode hau \"<xliff:g id="SSID">%1$s</xliff:g>\" sarera konektatu eta pasahitza partekatzeko"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"Eskaneatu QR kode hau \"<xliff:g id="SSID">%1$s</xliff:g>\" sarera konektatzeko"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"Ezin izan da irakurri QR kodea. Jarri kodea pantailaren erdian eta saiatu berriro."</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"Saiatu berriro. Arazoak badirau, jarri gailuaren fabrikatzailearekin harremanetan."</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"Arazoren bat izan da"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"Ziurtatu gailua entxufatuta, kargatuta eta piztuta dagoela"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"Ziurtatu gailua entxufatuta, kargatuta eta piztuta dagoela. Arazoak badirau, jarri gailuaren fabrikatzailearekin harremanetan."</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"Ezin da gehitu \"<xliff:g id="SSID">%1$s</xliff:g>\" gailu honetan"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"Hurbildu gailua wifi bidezko sarbide-puntura edo bideratzailera"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"Egiaztatu pasahitza eta saiatu berriro"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"Jarri harremanetan gailuaren fabrikatzailearekin"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"Egiaztatu konexioa eta saiatu berriro"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"Aukeratu sarea"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"Gailua konektatzeko, aukeratu sare bat"</string>
@@ -984,11 +922,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"Gailu honekin wifi-konexioa partekatzen…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"Konektatzen…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"Partekatu sare publikoa"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"Egiaztatu zeu zarela"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"Egiaztatu zeu zarela"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"Wifi-sarearen pasahitza: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"Sare publikoaren pasahitza: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"Konexio automatikoa"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"Baimendu telefonoari automatikoki konektatzea sare honetatik gertu dagoenean"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"Baimendu tabletari automatikoki konektatzea sare honetatik gertu dagoenean"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"Gehitu gailu bat"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"Erabili QR kode bat sare honetan gailu bat gehitzeko"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"QR kodearen formatua ez da baliozkoa"</string>
     <string name="retry" msgid="7542103800274026915">"Saiatu berriro"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"Partekatu gailuaren gainerako erabiltzaileekin"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(aldatu gabea)"</string>
@@ -1000,6 +942,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"Ez da zehaztu ziurtagiririk. Konexioa ez da izango pribatua."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"Sarearen izena luzeegia da."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"Domeinua zehaztu behar da."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"Ziurtagiria behar da."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"WPSa erabilgarri"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (WPSa erabilgarri)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"Operadorearen Wi‑Fi sarea"</string>
@@ -1015,7 +958,7 @@
     <string name="no_internet_access_text" msgid="3611993143350310936">"Sare hau ezin da konektatu Internetera. Konektatuta jarraitu nahi duzu?"</string>
     <string name="partial_connectivity_text" msgid="8874614799723694554">"Baliteke aplikazio eta zerbitzu batzuk ez funtzionatzea konexio mugatua dela eta. Hala ere erabili?"</string>
     <string name="no_internet_access_remember" msgid="5113610157731269258">"Ez galdetu berriro sarea hau bada"</string>
-    <string name="lost_internet_access_title" msgid="9032463989950384698">"Wifi-sarea ez dago Internetera konektatuta"</string>
+    <string name="lost_internet_access_title" msgid="9032463989950384698">"Wi-Fi sarea ez dago Internetera konektatuta"</string>
     <string name="lost_internet_access_text" msgid="1535911323549496789">"Sare mugikorra erabil dezakezu Wi-Fi sareak konexio txarra badu. Agian datuen erabilera ordaindu beharko duzu."</string>
     <string name="lost_internet_access_switch" msgid="7935665847081706202">"Aldatu datu-konexiora"</string>
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"Jarraitu Wi‑Fi konexioa erabiltzen"</string>
@@ -1051,7 +994,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"Wi-Fi ezarpen aurreratuak"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"MAC helbidea"</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_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>
@@ -1100,18 +1044,29 @@
     <string name="wifi_hotspot_name_summary_connected" msgid="6935457127884928249">"<xliff:g id="WIFI_HOTSPOT_NAME">%1$s</xliff:g> sarera konekta daitezke beste gailuak"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"Sare publikoaren pasahitza"</string>
     <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"Sarbide-puntuaren banda"</string>
-    <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"Erabili sare publikoa beste gailuentzako wifi-sare bat sortzeko. Sare publikoen bidez, Interneteko konexioa ematen da datu-konexioa erabilita. Baliteke datu-konexioa erabiltzeagatiko kostu gehigarriak ordaindu behar izatea."</string>
+    <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"Erabili sare publikoa beste gailuentzako Wi-Fi sare bat sortzeko. Sare publikoen bidez, Interneteko konexioa ematen da datu-konexioa erabilita. Baliteke datu-konexioa erabiltzeagatiko kostu gehigarriak ordaindu behar izatea."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"Aplikazioek sare publikoak sor ditzakete edukia inguruko gailuekin partekatzeko."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Desaktibatu automatikoki sare publikoa"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"Wifi-sare publikoa desaktibatu egingo da ez badago gailurik konektatuta"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Gailurik konektatuta ez dagoenean"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"Sare publikoa aktibatzen…"</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"Sare publikoa desaktibatzen…"</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"Aktibatu da <xliff:g id="NETWORK_SSID">%1$s</xliff:g>"</string>
-    <string name="wifi_tether_failed_subtext" msgid="437190628041885500">"wifi-sare publiko eramangarriaren errorea gertatu da"</string>
-    <string name="wifi_tether_configure_ap_text" msgid="7072559431286459122">"Konfiguratu wifi-sare publikoa"</string>
+    <string name="wifi_tether_failed_subtext" msgid="437190628041885500">"Wi-Fi sare publiko eramangarriaren errorea gertatu da"</string>
+    <string name="wifi_tether_configure_ap_text" msgid="7072559431286459122">"Konfiguratu Wi-Fi sare publikoa"</string>
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"Wi‑Fi publikoaren konfigurazioa"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"AndroidAP WPA2 PSK sare publikoa"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"AndroidSarePublikoa"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"Sarea gorde nahi duzu?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"<xliff:g id="APPNAME">%1$s</xliff:g> aplikazioak sare bat gorde nahi dizu telefonoan"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"<xliff:g id="APPNAME">%1$s</xliff:g> aplikazioak tabletan gorde nahi du sare bat"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"Gordetzen…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"Gorde da"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"Ezin da gorde. Saiatu berriro."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"Sareak gorde nahi dituzu?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"<xliff:g id="APPNAME">%1$s</xliff:g> aplikazioak sare hauek gorde nahi dizkizu telefonoan"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"<xliff:g id="APPNAME">%1$s</xliff:g> aplikazioak tabletan gorde nahi ditu sare hauek"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"<xliff:g id="NUMBER">%d</xliff:g> sare gordetzen…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"Gorde dira sareak"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"Wi-Fi bidezko deiak"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"Zabaldu deiak egiteko aukera Wi‑Fi konexioarekin"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"Aktibatu Wi‑Fi bidezko deiak estaldura zabaltzeko"</string>
@@ -1124,7 +1079,7 @@
   <string-array name="wifi_calling_mode_choices_v2">
     <item msgid="6052353275413974742">"Wifia"</item>
     <item msgid="8622872038388687383">"Datu-konexioa"</item>
-    <item msgid="3027927219952052398">"Wifi-sarea soilik"</item>
+    <item msgid="3027927219952052398">"Wi-Fi sarea soilik"</item>
   </string-array>
   <string-array name="wifi_calling_mode_choices_v2_without_wifi_only">
     <item msgid="588620799769664461">"Wifia"</item>
@@ -1138,16 +1093,18 @@
     <string name="emergency_address_title" msgid="3490633500025717573">"Larrialdietarako helbidea"</string>
     <string name="emergency_address_summary" msgid="3022628750270626473">"Kokapen gisa erabiliko da larrialdi-zerbitzuetara Wi-Fi bidez deituz gero"</string>
     <string name="private_dns_help_message" msgid="851221502063782306"><annotation id="url">"Lortu informazio gehiago"</annotation>" DNS pribatuaren eginbideei buruz"</string>
+    <string name="private_dns_mode_on" msgid="8878679071975375696">"Aktibatuta"</string>
     <string name="wifi_calling_pref_managed_by_carrier" msgid="129524064888622179">"Operadoreak kudeatzen du ezarpen hau"</string>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"Aktibatu Wi-Fi bidezko deiak"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"Aktibatu Wi-Fi bidezko deiak"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"%1$s operadoreak ez ditu onartzen Wi‑Fi bidezko deiak"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"<xliff:g id="SSID">%1$s</xliff:g> saretik deskonektatu zara"</string>
     <string name="carrier" msgid="1755020806290963951">"Operadorea"</string>
     <string name="display_settings_title" msgid="626835071804834218">"Bistaratzea"</string>
     <string name="sound_settings" msgid="5514582720435174014">"Soinua"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"Bolumenak"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"Musika-efektuak"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"Tonuaren bolumena"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"Deien tonuaren eta jakinarazpenen bolumena"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"Dardara modu isilean dagoenean"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"Jakinarazpenen soinu lehenetsia"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"Tonua"</string>
@@ -1272,13 +1229,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"Programazioa"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"Bat ere ez"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"Ilunabarretik egunsentira"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"Ordu jakinetan aktibatzen da"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"Egoera"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"Desaktibatuta / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"Ez da aktibatuko inoiz automatikoki"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"Ilunabarrean aktibatuko da automatikoki"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"Ordu honetan aktibatuko da automatikoki: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"Aktibatuta / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"Ez da desaktibatuko inoiz automatikoki"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"Egunsentian desaktibatuko da automatikoki"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"Ordu honetan desaktibatuko da automatikoki: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"Aktibatu ordu hau arte: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"Desaktibatu ordu hau arte: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"Gai ilunak atzeko plano beltza erabiltzen du bateriak gehiago iraun dezan pantaila batzuetan. Gai ilunaren ordutegiak ez dira aktibatzen pantaila itzaltzen den arte."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"Pantailaren denbora-muga"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"Pantaila itzaltzen da"</string>
@@ -1290,7 +1252,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"Aldatu horma-papera"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"Pertsonalizatu pantaila"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"Aukeratu horma-papera"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"Pertsonalizatu Pixel gailua"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"Pertsonalizatu telefonoa"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"Probatu askotariko estiloak, horma-paperak, etab."</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"Pantaila-babeslea"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Kargatzen ari denean edo oinarrira konektatuta dagoenean"</string>
@@ -1379,6 +1341,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"Desmuntatu USB bidezko memoria, ikusi erabilgarri dagoen memoria"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"Desmuntatu SD txartela, ikusi memoria erabilgarria"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI zk. (%1$d. SIM zirrikitua)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"Hura ikusteko, aukeratu gordetako sarea"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"Telefono-zenbakia"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (%1$d. SIM zirrikitua)"</string>
@@ -1405,6 +1368,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"Ibiltaritza"</string>
     <string name="status_operator" msgid="4335640583552058491">"Sarea"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"Wifi-sarearen MAC helbidea"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"Gailuaren wifi-egokigailuaren MAC helbidea"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"Bluetooth helbidea"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Serie-zenbakia"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Berrabiarazi ondoren abian izandako denbora"</string>
@@ -1617,6 +1581,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"APN ezarpen lehenetsiak berrezarri dira."</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"Berrezartzeko aukerak"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"Sarea, aplikazioak edota gailua berrezar daitezke"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"Berrezar daitezke aplikazioak"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"Berrezarri wifi, Bluetooth eta sare mugikorrak"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"Hori eginez gero, sare guztien ezarpenak berrezarri egingo dira, besteak beste: \n\n"<li>"Wifia"</li>\n<li>"Datu-konexioa"</li>\n<li>"Bluetooth-a"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"Ezabatu deskargatutako SIMen edukia"</string>
@@ -1666,6 +1631,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"Sare publikoa aktibatuta"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"Konexioa partekatzea"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"Datu-aurrezlea aktibatuta badago, ezin da partekatu konexioa, ezta sare publiko eramangarriak erabili ere"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"Sare publikoen bidez soilik"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"USB bidez soilik"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"Bluetooth bidez soilik"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"Sare publiko eta USB bidez"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"Sare publiko eta Bluetooth bidez"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB eta Bluetooth bidez"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"Sare publiko, USB eta Bluetooth bidez"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"Ez zara partekatzen ari Interneteko konexiorik beste gailuekin"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"Konexioa partekatzea"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Ez erabili wifi-sare publikorik"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Partekatu Interneteko konexioa USB bidez"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Partekatu Interneteko konexioa Bluetooth bidez"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Partekatu Interneteko konexioa USB eta Bluetooth bidez"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"Konexioa partekatzea (USB)"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"Partekatu telefonoaren Interneteko konexioa USB bidez"</string>
@@ -1756,9 +1734,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"Segurtasun-informazioa"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"Ez duzu datu-konexiorik. Informazioa orain ikusteko, joan %s webgunera Internetera konektatutako ordenagailu batetik."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"Kargatzen…"</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"Erabili PIN kodea"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"Erabili eredua"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"Erabili pasahitza"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"Ezarri pantailaren blokeoa"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"Babestuta egoteko, ezarri pasahitz bat"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"Hatz-marka erabiltzeko, ezarri pasahitza"</string>
@@ -1767,8 +1742,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"Hatz-marka erabiltzeko, ezarri PIN kodea"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"Babestuta egoteko, ezarri eredu bat"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"Idatzi berriro pasahitza"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"Idatzi pasahitza"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"Berretsi eredua"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"Idatzi laneko eredua"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"Idatzi berriro PIN kodea"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"Idatzi laneko PIN kodea"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"Pasahitzak ez datoz bat"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"PIN kodeak ez datoz bat"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"Marraztu berriro eredua"</string>
@@ -1779,6 +1757,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"Aurpegiaren bidez desblokeatzeko, ezarri pasahitza"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"Aurpegiaren bidez desblokeatzeko, ezarri eredua"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"Aurpegiaren bidez desblokeatzeko, ezarri PINa"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"Pasahitza ahaztu zaizu?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"Eredua ahaztu zaizu?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"PIN kodea ahaztu zaizu?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"Aurrera egiteko, marraztu gailuaren eredua"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"Aurrera egiteko, idatzi gailuaren PIN kodea"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"Aurrera egiteko, idatzi gailuaren pasahitza"</string>
@@ -1846,6 +1827,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"Onartu iturburu guztiak"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"Azkenaldian irekitako aplikazioak"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"Ikusi <xliff:g id="COUNT">%1$d</xliff:g> aplikazioak"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"Galdetu IKT saileko administratzaileari"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"PIN kodea, eredua edo pasahitza berrezartzen lagunduko dizu"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"Tabletak eta datu pertsonalek aplikazio ezezagunen erasoak jaso ditzakete. Iturburu honetako aplikazioak instalatzen badituzu, onartzen duzu haiek erabiltzeagatik tabletari gerta dakizkiokeen kalteen edo datu-galeren erantzulea zu zarela."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"Telefonoak eta datu pertsonalek aplikazio ezezagunen erasoak jaso ditzakete. Iturburu honetako aplikazioak instalatzen badituzu, onartzen duzu haiek erabiltzeagatik telefonoari gerta dakizkiokeen kalteen edo datu-galeren erantzulea zu zarela."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"Gailuak eta datu pertsonalek aplikazio ezezagunen erasoak jaso ditzakete. Iturburu honetako aplikazioak instalatzen badituzu, onartu egingo duzu haiek erabiltzeagatik gailuari agian gertatuko zaizkion kalteen edo datu-galeren erantzulea zeu izango zarela."</string>
@@ -1897,7 +1880,7 @@
     <string name="default_emergency_app" msgid="1929974800666613803">"Larrialdietarako aplikazioa"</string>
     <string name="reset_app_preferences" msgid="8861758340732716573">"Berrezarri aplikazioen hobespenak"</string>
     <string name="reset_app_preferences_title" msgid="8935136792316050759">"Aplikazioen hobespenak berrezarri nahi dituzu?"</string>
-    <string name="reset_app_preferences_desc" msgid="1377296810290814749">"Hauen hobespen guztiak berrezarriko dira:\n\n"<li>"desgaitutako aplikazioak,"</li>\n<li>"desgaitutako aplikazio-jakinarazpenak,"</li>\n<li>"ekintza jakinetarako aplikazio lehenetsiak,"</li>\n<li>"aplikazioen atzeko planoko datuen murriztapenak eta"</li>\n<li>"baimen-murriztapenak."</li>\n\n"Ez dituzu galduko aplikazioetako datuak."</string>
+    <string name="reset_app_preferences_desc" msgid="6509978724602405805">"Hauen hobespen guztiak berrezarriko dira:\n\n"<li>"desgaitutako aplikazioak,"</li>\n<li>"desgaitutako aplikazio-jakinarazpenak,"</li>\n<li>"ekintza jakinetarako aplikazio lehenetsiak,"</li>\n<li>"aplikazioen atzeko planoko datuen murriztapenak eta"</li>\n<li>"baimen-murriztapenak."</li>\n\n"Ez dituzu galduko aplikazioetako datuak."</string>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"Berrezarri aplikazioak"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"Kudeatu tokia"</string>
     <string name="filter" msgid="9039576690686251462">"Iragazi"</string>
@@ -2097,7 +2080,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"Audioa eta pantailako testua"</string>
     <string name="display_category_title" msgid="6638191682294461408">"Pantaila"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"Interakzioa kontrolatzeko aukerak"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"Deskargatutako zerbitzuak"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"Deskargatutako aplikazioak"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"Esperimentalak"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"Eginbideen markak"</string>
     <string name="talkback_title" msgid="8756080454514251327">"Talkback"</string>
@@ -2105,27 +2088,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"Sakatu pantailako elementuak eta zer diren entzungo duzu"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"Azpitituluen hobespenak"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"Lupa"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"Handitutako zatia"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"Gaitu lupa"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"Aukeratu pantailako zer zati handitu behar diren pantaila handitzean"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"Pantaila osoa"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"Pantailaren zati bat"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"Pantaila osoa eta pantailaren zati bat"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"Handitu pantaila osoa"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"Handitu pantailaren zati bat"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Luparen ezarpenak"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"Handitzeko, sakatu hiru aldiz"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Handitu pantaila lasterbidearekin"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Handitu pantaila lasterbide eta hiru ukitutxorekin"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"<xliff:g id="SERVICE">%1$s</xliff:g> zerbitzuari buruz"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"Aukerak"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"Handitu pantaila"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"Zooma aplikatzeko, sakatu hirutan"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Zooma aplikatzeko, sakatu botoi bat"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><b>"Zooma aplikatzeko"</b>", sakatu pantaila bizkor hiru aldiz.\n"<ul><li>"Gora edo behera egiteko, arrastatu gutxienez bi hatz."</li>\n<li>"Zooma doitzeko, atximurkatu pantaila gutxienez bi hatzekin."</li></ul>\n\n<b>"Zooma une batez bakarrik aplikatzeko"</b>", sakatu pantaila bizkor hiru aldiz eta, hirugarren aldian, utzi hatza pantailan jarrita.\n"<ul><li>"Pantailan mugitzeko, arrastatu hatza."</li>\n<li>"Zooma aplikatzeari uzteko, altxatu hatza."</li></ul>\n\n"Zooma ezin da aplikatu ez teklatuan ez nabigazio-barran."</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"Zooma aktibatuta badago, pantailan aplika dezakezu.\n\n"<b>"Handitzeko"</b>", ireki zooma eta sakatu pantailako edozein puntu.\n"<ul><li>"• Arrastatu bi hatz edo gehiago gora eta behera egiteko."</li>\n<li>"• Atximurkatu bi hatz edo gehiago zooma doitzeko."</li></ul>\n\n<b>"Zooma unetxo batez aplikatzeko"</b>", ireki zooma eta eduki sakatuta pantailako edozein puntu.\n"<ul><li>"• Arrastatu hatza toki batetik bestera joateko."</li>\n<li>"• Altxatu hatza txikitzeko."</li></ul>\n\n"Ezin da aplikatu zooma teklatuan edo nabigazio-barran."</string>
+    <string name="accessibility_screen_magnification_summary" msgid="7617931632990040045">"Handitu pantaila bizkor edukiak hobeto ikusteko.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Pantaila handitzeko:&lt;/b&gt;&lt;br/&gt;	1. Erabili lasterbide bat luparen eginbidea abiarazteko&lt;br/&gt;	2. Sakatu pantaila&lt;br/&gt;	3. Arrastatu bi hatz pantailan zehar mugitzeko&lt;br/&gt;	4. Atximurkatu bi hatzekin zooma doitzeko&lt;br/&gt;	5. Erabili lasterbide bat luparen eginbidea gelditzeko&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Pantaila aldi baterako handitzeko:&lt;/b&gt;&lt;br/&gt;	1. Erabili lasterbide bat luparen eginbidea abiarazteko&lt;br/&gt;	2. Eduki sakatuta pantailako edozein puntu&lt;br/&gt;	3. Arrastatu hatza pantailan zehar mugitzeko&lt;br/&gt;	4. Altxatu hatza luparen eginbidea gelditzeko"</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Zooma aktibatuta badago, pantailan aplika dezakezu.\n\n"<b>"Handitzeko"</b>", ireki zooma eta sakatu pantailako edozein puntu.\n"<ul><li>"Arrastatu bi hatz edo gehiago gora eta behera egiteko."</li>\n<li>"Atximurkatu bi hatz edo gehiago zooma doitzeko."</li></ul>\n\n<b>"Zooma unetxo batez aplikatzeko"</b>", ireki zooma eta eduki sakatuta pantailako edozein puntu.\n"<ul><li>"Arrastatu hatza toki batetik bestera joateko."</li>\n<li>"Altxatu hatza txikitzeko."</li></ul>\n\n"Ezin da aplikatu zooma teklatuan edo nabigazio-barran."</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Erabili Erabilerraztasuna botoia irekitzeko"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Erabili keinua irekitzeko"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"Erabili erabilerraztasun-keinu berria"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"Zerbitzua aktibatzeko edo desaktibatzeko, sakatu pantailaren behealdean dagoen Erabilerraztasuna botoia <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>.\n\nZerbitzu batetik bestera aldatzeko, eduki sakatuta Erabilerraztasuna botoia."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"Zerbitzua aktibatzeko edo desaktibatzeko, pasatu bi hatz pantailaren behealdetik gorantz.\n\nZerbitzu batetik bestera aldatzeko, pasatu bi hatz gorantz eta eduki sakatuta."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"Zerbitzua aktibatzeko edo desaktibatzeko, pasatu hiru hatz pantailaren behealdetik gorantz.\n\nZerbitzu batetik bestera aldatzeko, pasatu hiru hatz gorantz eta eduki sakatuta."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"Erabilerraztasun-zerbitzu bat aktibatzeko edo desaktibatzeko, pasatu bi hatz pantailaren behealdetik gorantz.\n\nZerbitzu batetik bestera aldatzeko, pasatu bi hatz gorantz eta eduki sakatuta."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"Erabilerraztasun-zerbitzu bat aktibatzeko edo desaktibatzeko, pasatu hiru hatz pantailaren behealdetik gorantz.\n\nZerbitzu batetik bestera aldatzeko, pasatu hiru hatz gorantz eta eduki sakatuta."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"Zerbitzua aktibatzeko edo desaktibatzeko, sakatu pantailaren behealdean dagoen Erabilerraztasuna botoia <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>.\n\nZerbitzu batetik bestera aldatzeko, eduki ukituta Erabilerraztasuna botoia."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"Zerbitzua aktibatzeko edo desaktibatzeko, pasatu bi hatz pantailaren behealdetik gorantz.\n\nZerbitzu batetik bestera aldatzeko, pasatu bi hatz gorantz eta eduki pantaila sakatuta."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"Zerbitzua aktibatzeko edo desaktibatzeko, pasatu hiru hatz pantailaren behealdetik gorantz.\n\nZerbitzu batetik bestera aldatzeko, pasatu hiru hatz gorantz eta eduki pantaila sakatuta."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"Erabilerraztasun-zerbitzu bat aktibatzeko edo desaktibatzeko, pasatu bi hatz pantailaren behealdetik gorantz.\n\nZerbitzu batetik bestera aldatzeko, pasatu bi hatz gorantz eta eduki pantaila sakatuta."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"Erabilerraztasun-zerbitzu bat aktibatzeko edo desaktibatzeko, pasatu hiru hatz pantailaren behealdetik gorantz.\n\nZerbitzu batetik bestera aldatzeko, pasatu hiru hatz gorantz eta eduki pantaila sakatuta."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"Ados"</string>
+    <string name="accessibility_shortcut_title" msgid="8125867833704517463">"<xliff:g id="SERVICE">%1$s</xliff:g> zerbitzuaren lasterbidea"</string>
+    <string name="accessibility_shortcut_edit_summary_software" msgid="2820923641553461297">"Erabilerraztasuna botoia"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture" msgid="8078659880723370597">"Pasatu bi hatz gora"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture_talkback" msgid="7422753388389160524">"Pasatu hiru hatz gora"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software" msgid="4796192466943479849">"Sakatu erabilerraztasun-botoia"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8922102767509399352">"Sakatu pantailaren behealdeko <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> erabilerraztasun-botoia"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"Pasatu bi hatz pantailaren behealdetik gora"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"Pasatu hiru hatz pantailaren behealdetik gora"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Eduki sakatuta bolumen-teklak"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"Eduki sakatuta bolumen-teklak segundo batez"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Sakatu pantaila hiru aldiz"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"Sakatu pantaila bizkor hiru aldiz. Baliteke lasterbide honek gailua moteltzea."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"Aurreratuak"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"Erabilerraztasuna botoia labur sakatuta \"<xliff:g id="SERVICE">%1$s</xliff:g>\" aukera aktibatzen da. Lupa aplikatzeko, eduki sakatuta Erabilerraztasuna botoia eta, ondoren, hautatu lupa."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"<xliff:g id="SERVICE">%1$s</xliff:g> erabiltzeko konfiguratu da erabilerraztasun-keinua. Lupa erabili nahi baduzu, pasatu bi hatz pantailaren behealdetik gora eta eduki sakatuta une batez. Ondoren, hautatu lupa."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"Bolumen-teklen lasterbidea"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"Lasterbideari esleitutako zerbitzua"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Lasterbidearen ezarpenak"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"Baimendu pantaila blokeatuan"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"Lasterbidea aktibatuta dagoenean, bi bolumen-teklak hiru segundoz sakatuta abiarazten da erabilerraztasun-eginbidea."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"Kontraste handiko testua"</string>
@@ -2149,24 +2157,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"Aukeratu zenbat denboraz erakutsi behar diren mezuak, zerbait egiteko eskatzen badizute baina aldi baterako soilik badaude ikusgai.\n\nAplikazio guztiek ez dute onartzen ezarpen hau."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"Sakatuta edukitzearen atzerapena"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"Koloreen alderantzikatzea"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"Baliteke errendimenduan eragina izatea"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"Itxarote-denbora"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"Erabili koloreen alderantzikatzea"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"Koloreen alderantzikatzeak ilun bihurtzen ditu pantaila argiak. Argi distiratsuekiko sentikortasuna dutenei hobeto ikusten laguntzen die horrek.&lt;br/&gt;&lt;br/&gt;Oharra: kolore ilunak argitu egingo dira. Multimedia-edukien eta irudien koloreak aldatu egingo dira. Gai iluna ere erabil dezakezu (Ezarpenak &gt; Pantaila)."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"Sakatze automatikoa (itxarote-denbora)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"Sagua erabiltzen ari bazara, denbora tarte jakin batean geldirik egon ondoren ekintzaren bat automatikoki gauza dezan konfigura dezakezu kurtsorea."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"Klik egin aurretiko atzerapena"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"Ez erabili sakatze auto. (lehenetsia)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"Laburra"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0,2 segundo"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"Ertaina"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0,6 segundo"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"Luzea"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 segundo"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"Pertsonalizatua"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"Laburtu"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"Luzatu"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"Sakatze automatikoaren denbora"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"Dardara/Ukipen bidezko interakzioen intentsitatea"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Jakinarazpenen dardara"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Tonuaren dardara"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Ukipen bidezko interakzioa"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"Erabili zerbitzua"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"Erabili <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"Ireki <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"Erabili koloreen zuzenketa"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"Erabili azpitituluak"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"Erakutsi azpitituluak"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"Azpitituluen itxura"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"Testuaren tamaina, azpitituluen estiloa"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"Aukera gehiago"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"Aplikazio batzuek ez dute onartzen ezarpen hau."</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"Erabilerraztasuna botoia"</string>
+    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"Pasatu bi hatz behetik gora"</string>
+    <string name="accessibility_shortcut_type_hardware" msgid="4834144210432451916">"Eduki sakatuta bolumen-teklak"</string>
+    <string name="accessibility_shortcut_type_triple_tap" msgid="7717524216825494543">"Sakatu pantaila hiru aldiz"</string>
     <string name="accessibility_hearingaid_instruction_continue_button" msgid="3367260988024430722">"Egin aurrera"</string>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"Audiofonoak"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"Ez dago audiofonorik konektatuta"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"Gehitu audifonoak"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"Audiofonoak parekatzeko, bilatu eta sakatu gailua hurrengo pantailan."</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"Ziurtatu audiofonoak parekatze moduan daudela."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"Audiofonoak parekatzeko, bilatu eta sakatu gailua hurrengo pantailan. Ziurtatu audiofonoak parekatze moduan daudela."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> aktibo dago"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> audifono gorde dira</item>
@@ -2178,25 +2204,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Zerbitzu hau ez dabil behar bezala."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Erakutsi Ezarpen bizkorretan"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"Zuzenketa modua"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="other">Oso-oso atzerapen laburra (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Oso-oso atzerapen laburra (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Gorri-berdea"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"Berde-gorria"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Urdin-horia"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"Daltonismoa"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"Protanopia"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"Tritanopia"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="other">Atzerapen oso-oso laburra (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> segundo)</item>
+      <item quantity="one">Atzerapen oso-oso laburra (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> segundo)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="other">Oso atzerapen laburra (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Oso atzerapen laburra (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="other">Atzerapen oso laburra (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> segundo)</item>
+      <item quantity="one">Atzerapen oso laburra (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> segundo)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="other">Atzerapen laburra (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Atzerapen laburra (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="other">Atzerapen laburra (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> segundo)</item>
+      <item quantity="one">Atzerapen laburra (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> segundo)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="other">Atzerapen luzea (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Atzerapen luzea (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="other">Atzerapen luzea (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> segundo)</item>
+      <item quantity="one">Atzerapen luzea (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> segundo)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="other">Oso atzerapen luzea (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Oso atzerapen luzea (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="other">Atzerapen oso luzea (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> segundo)</item>
+      <item quantity="one">Atzerapen oso luzea (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> segundo)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> segundo</item>
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> segundo</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"Tonua: <xliff:g id="SUMMARY_RING">%1$s</xliff:g>. Jakinarazpenak: <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>. Ukipena: <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>."</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"Dardara desaktibatuta tonua jotzean eta jakinarazpenak daudenean"</string>
@@ -2513,7 +2549,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"Azken aldiz entxufea atera ondoren (<xliff:g id="UNPLUGGED">%1$s</xliff:g>)"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"Erabilera, guztira"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"Freskatu"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"Android sistema eragilea"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"Multimedia-zerbitzaria"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"Aplikazio-optimizazioa"</string>
     <string name="battery_saver" msgid="7737147344510595864">"Bateria-aurrezlea"</string>
@@ -2594,8 +2629,7 @@
     <string name="tts_play" msgid="2945513377250757221">"Erreproduzitu"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"Kredentzialen biltegia"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"Instalatu biltegitik"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"Instalatu SD txarteletik"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"Instalatu ziurtagiri bat"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"Instalatu ziurtagiriak biltegitik"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"Instalatu ziurtagiriak SD txarteletik"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"Garbitu kredentzialak"</string>
@@ -2615,6 +2649,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"Kredentz. biltegia ezabatu da."</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"Ezin izan da kredentzialen biltegia ezabatu."</string>
     <string name="usage_access_title" msgid="1580006124578134850">"Erabilera-baimena dutenak"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"CA ziurtagiria"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"VPN eta aplikazioetarako erabiltzaile-ziurtagiria"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"Wifi-ziurtagiria"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"Zure pribatutasuna arriskuan dago"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"Webguneek, aplikazioek eta VPNek erabiltzen dituzte CA ziurtagiriak enkriptatze-helburuetarako. Erakunde fidagarrien CA ziurtagiriak soilik instalatu. \n\n CA ziurtagiri bat instalatzen baduzu, ziurtagiriaren jabea zure informazioa atzitzeko gai izango da; besteak beste, irekitzen dituzun webgune eta aplikazioetako pasahitzak, mezuak edo kreditu-txartelen xehetasunak atzitu ahal izango ditu, baita informazio hori enkriptatuta badago ere."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"Ez instalatu"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"Instalatu, hala ere"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"Ziurtagiria ez dago instalatuta"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"Larrialdi-deien seinalea"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Ezarri larrialdi-deiak egitean izan beharreko portaera."</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Babeskopiak"</string>
@@ -2642,10 +2684,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"Desaktibatu eta desinstalatu"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"Gailua administratzeko aplikazioak"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"Ez dago gailua administratzeko aplikaziorik"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"Pertsonala"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"Lanekoak"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"Mugatu SMSetarako eta deien erregistrorako sarbidea"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"Telefonoak eta mezularitza-aplikazio lehenetsiek soilik dute SMSak eta deien erregistroa atzitzeko baimena"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"Ez dago agente fidagarririk erabilgarri"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"Gailua administratzeko aplikazioa aktibatu?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"Aktibatu gailua administratzeko aplikazioa"</string>
@@ -2659,6 +2697,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"Gainerako aukerak desgaitu egin ditu administratzaileak"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"Xehetasun gehiago"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"Jakinarazpenen erregistroa"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"Jakinarazpenen historia"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"Gaur"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"Atzeratutakoak"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"Azkenaldian baztertutakoak"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> jakinarazpen</item>
+      <item quantity="one"><xliff:g id="NUMBER_0">%d</xliff:g> jakinarazpen</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"Tonua eta dardara"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"Sarearen xehetasunak"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"Sinkronizazioa gaituta dago"</string>
@@ -2669,7 +2715,7 @@
     <string name="sync_active" msgid="5787407579281739975">"Sinkronizazioa aktibo"</string>
     <string name="account_sync_settings_title" msgid="2684888109902800966">"Sinkronizatu"</string>
     <string name="sync_is_failing" msgid="6738004111400633331">"Sinkronizazioak arazoak ditu. Laster egongo da berriro erabilgarri."</string>
-    <string name="add_account_label" msgid="7134707140831385869">"Gehitu kontu bat"</string>
+    <string name="add_account_label" msgid="7134707140831385869">"Gehitu kontua"</string>
     <string name="managed_profile_not_available_label" msgid="7500578232182547365">"Laneko profila ez dago oraindik erabilgarri"</string>
     <string name="work_mode_label" msgid="1001415270126064436">"Laneko profila"</string>
     <string name="work_mode_on_summary" msgid="2042885311126239961">"Erakundeak kudeatzen du"</string>
@@ -2790,9 +2836,9 @@
     <string name="data_usage_limit_dialog_mobile" product="tablet" msgid="6000062970083379466">"Zehaztu duzun mugara iristean, tabletak desaktibatu egingo du datu-konexioa.\n\nZentzuzko muga bat ezartzea gomendatzen dizugu, datuen erabilera tabletak neurtuko duelako eta litekeena delako operadoreak datuak bestela neurtzea."</string>
     <string name="data_usage_limit_dialog_mobile" product="default" msgid="4942895670789168024">"Zehaztu duzun mugara iristean, telefonoak desaktibatu egingo du datu-konexioa.\n\nZentzuzko muga bat ezartzea gomendatzen dizugu, datuen erabilera telefonoak neurtuko duelako eta litekeena delako operadoreak datuak bestela neurtzea."</string>
     <string name="data_usage_restrict_background_title" msgid="2745551538820692821">"Atzeko planoko datuak mugatu?"</string>
-    <string name="data_usage_restrict_background" msgid="1893102079135282794">"Atzeko planoan datu-konexioa erabiltzeko aukera mugatzen baduzu, aplikazio eta zerbitzu batzuek ez dute funtzionatuko wifi-sare batera konektatu ezean."</string>
-    <string name="data_usage_restrict_background_multiuser" product="tablet" msgid="5588623586867665419">"Atzeko planoan datu-konexioa erabiltzeko aukera mugatzen baduzu, aplikazio eta zerbitzu batzuek ez dute funtzionatuko wifi-sare batera konektatu ezean.\n\nTabletako erabiltzaile guztiei eragingo die ezarpen honek."</string>
-    <string name="data_usage_restrict_background_multiuser" product="default" msgid="6402714504088590463">"Atzeko planoan datu-konexioa erabiltzeko aukera mugatzen baduzu, aplikazio eta zerbitzu batzuek ez dute funtzionatuko wifi-sare batera konektatu ezean.\n\nTelefonoko erabiltzaile guztiei eragingo die ezarpen honek."</string>
+    <string name="data_usage_restrict_background" msgid="1893102079135282794">"Atzeko planoan datu-konexioa erabiltzeko aukera mugatzen baduzu, aplikazio eta zerbitzu batzuek ez dute funtzionatuko Wi-Fi sare batera konektatu ezean."</string>
+    <string name="data_usage_restrict_background_multiuser" product="tablet" msgid="5588623586867665419">"Atzeko planoan datu-konexioa erabiltzeko aukera mugatzen baduzu, aplikazio eta zerbitzu batzuek ez dute funtzionatuko Wi-Fi sare batera konektatu ezean.\n\nTabletako erabiltzaile guztiei eragingo die ezarpen honek."</string>
+    <string name="data_usage_restrict_background_multiuser" product="default" msgid="6402714504088590463">"Atzeko planoan datu-konexioa erabiltzeko aukera mugatzen baduzu, aplikazio eta zerbitzu batzuek ez dute funtzionatuko Wi-Fi sare batera konektatu ezean.\n\nTelefonoko erabiltzaile guztiei eragingo die ezarpen honek."</string>
     <string name="data_usage_sweep_warning" msgid="2072854703184614828"><font size="18">"<xliff:g id="NUMBER">^1</xliff:g>"</font>" "<font size="9">"<xliff:g id="UNIT">^2</xliff:g>"</font>\n<font size="12">"abisua"</font></string>
     <string name="data_usage_sweep_limit" msgid="6947019190890086284"><font size="18">"<xliff:g id="NUMBER">^1</xliff:g>"</font>" "<font size="9">"<xliff:g id="UNIT">^2</xliff:g>"</font>\n<font size="12">"muga"</font></string>
     <string name="data_usage_uninstalled_apps" msgid="9065885396147675694">"Kendutako aplikazioak"</string>
@@ -3008,7 +3054,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"Murriztapenak"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"Kendu murrizketak"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"Aldatu PIN kodea"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"Erakutsi jakinarazpenak"</string>
     <string name="help_label" msgid="2896538416436125883">"Laguntza eta iritziak"</string>
     <string name="support_summary" msgid="1034146931237148885">"Laguntza-artikuluak, telefono eta txat bidezko laguntza, lehen urratsen gidak"</string>
     <string name="user_account_title" msgid="6389636876210834864">"Edukia gordetzeko kontua"</string>
@@ -3033,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G bidezko deiak"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Erabili LTE zerbitzuak ahotsa eta bestelako komunikazioak hobetzeko (gomendatua)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Erabili 4G bidezko zerbitzuak ahotsa eta bestelako komunikazioak hobetzeko (gomendatua)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Kontaktuak ikusteko aukera"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Zure kontaktuekin erabil daitezkeen dei-eginbideak ikusteko aukera ematen du horrek."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Kontaktuak ikusteko aukera eman nahi duzu?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Eginbide hau gaituz gero, operadoreak zure kontaktuetako telefono-zenbakiak atzitu ahalko ditu, deiak egiteko zein eginbide erabil daitezkeen ikusteko."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Sare mota lehenetsia"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (gomendatua)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS mezuak"</string>
@@ -3077,7 +3126,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"Deitu SIM honekin:"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"Hautatu SIM txartela"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"<xliff:g id="CARD_NUMBER">%1$d</xliff:g>. SIM txartela"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"SIM txartela hutsik dago"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"SIM txartelaren izena"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"Idatzi SIM txartelaren izena"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"%1$d. SIM zirrikitua"</string>
@@ -3087,6 +3135,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"Hautatu SIM txartela"</string>
     <string name="color_orange" msgid="216547825489739010">"Laranja"</string>
     <string name="color_purple" msgid="6603701972079904843">"Morea"</string>
+    <string name="color_pink" msgid="8596872110888626708">"Arrosa"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"Ez dago SIM txartelik sartuta"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"SIMaren egoera"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"SIMaren egoera (%1$d. SIM zirrikitua)"</string>
@@ -3100,7 +3149,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"SIM txartelak aldatu egin dira."</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Konfiguratzeko, sakatu hau"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"Hauetarako SIM lehenetsia"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Galdetu beti"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Zerbait hautatu behar da"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"SIMaren hautapena"</string>
@@ -3118,6 +3166,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"Bluetooth, gidatze modua"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"Bluetooth, NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"Bluetooth-a"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"Ez dago erabilgarri NFC desaktibatuta dagoelako"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"Aplikazioak eta jakinarazpenak"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Azken aplikazioak, aplikazio lehenetsiak"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Laneko profilaren aplikazioek ezin dituzte atzitu jakinarazpenak."</string>
@@ -3128,13 +3177,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"Ezarpenak"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"wifi, wi-fi, sareko konexioa, internet, haririk gabekoa, datuak, wi fi"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"Wi‑Fi konexioari buruzko jakinarazpena, wifi konexioari buruzko jakinarazpena"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"datuen erabilera"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"Geldiarazi dardara, sakatu, teklatua"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"Erabili 24 orduko formatua"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"Deskargatu"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"Ireki honekin"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"Aplikazioak"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"ordu-zona"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"Txat-goiburua"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"Txateko buruaren ikonoa, sistema, alerta, leihoa, elkarrizketa, pantaila, beste aplikazioen gainean, marraztu"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"Argia, linterna"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"wifi, wi-fi, aldatu, kontrola"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"sare mugikorrak, operadorea, hari gabeko konexioak, datuak, 4g, 3g, 2g, lte"</string>
@@ -3158,7 +3208,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"ez molestatu, eten, etenaldi, atseden"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"ingurua, kokapena, historia, hautematea, hauteman, GPSa"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"kontu"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"kontua, gehitu kontu bat, laneko profila, gehitu kontua"</string>
     <string name="keywords_users" msgid="3497517660077620843">"muga, mugatu, murriztu, murriztapen, debekatu, debeku"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"testua, zuzenketa, zuzendu, soinua, dardara, automatikoa, hizkuntza, keinua, iradoki, iradokizuna, gaia, iraingarria, hitza, mota, emojia, nazioartekoa"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"berrezarri, hobespen, lehenetsi"</string>
@@ -3196,6 +3246,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"memoria, cachea, datuak, ezabatu, garbitu, tokia egin, tokia"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"konektatuta, gailua, aurikularrak, entzungailua, bozgorailua, hari gabekoak, parekatu, musika, multimedia-edukia"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"atzeko planoa, pantaila, pantaila blokeatua, gaia"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"ikonoaren forma, nabarmentzeko kolorea, letra"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"lehenetsia, laguntzailea"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"ordaindu, lehenetsia"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"jasotako jakinarazpena"</string>
@@ -3205,18 +3256,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"ukipena, dardara, sentikortasuna"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"bateria-aurrezlea, finkoa, iraunkorra, energia-aurrezlea, bateria"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"ohitura, ordutegia, programazioa, programatu, bateria-aurrezlea, aurreztu bateria, bateria automatikoa, ehunekoa"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"laneko profila"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"volte, deitzeko aukera aurreratuak, 4G bidezko deiak"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"gehitu hizkuntza, gehitu hizkuntza bat"</string>
     <string name="default_sound" msgid="6604374495015245195">"Soinu lehenetsia"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"Tonuaren bolumena: <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"Deien tonuaren eta jakinarazpenen bolumena: <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Bolumena, dardara, ez molestatzeko modua"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"Dardara moduan ezarri da gailua"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"Isilik moduan ezarri da gailua"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"Tonuaren bolumena: % 80"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"Deien tonuaren eta jakinarazpenen bolumena: % 80"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Multimedia-edukiaren bolumena"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Igorpenaren bolumena"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"Deien bolumena"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"Alarmaren bolumena"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"Tonuaren bolumena"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"Tonu eta jakinarazpenen bol."</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"Jakinarazpenen bolumena"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"Telefonoaren tonua"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"Jakinarazpenen soinu lehenetsia"</string>
@@ -3224,6 +3276,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"Jakinarazpenen soinu lehenetsia"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"Alarmaren soinu lehenetsia"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"Egin dar-dar deiak jasotzean"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"Ez egin dar-dar inoiz"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"Egin dar-dar beti"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"Hasi dardararekin eta jo tonua pixkanaka"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"Beste soinu batzuk"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"Markagailuaren tonuak"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"Pantaila blokeatzearen soinuak"</string>
@@ -3247,6 +3302,7 @@
       <item quantity="one">1 gaituta</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Ez molestatzeko modua"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Jaso soilik jende eta aplikazio garrantzitsuen jakinarazpenak"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Mugatu etenaldiak"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Aktibatu ez molestatzeko modua"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"Salbuespenak"</string>
@@ -3273,7 +3329,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Blokeatu oztopo bisualak"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Baimendu seinale bisualak"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"Ez molestatzeko modua aktibatuta dagoenean"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"Baimendu soinua duten etenaldiak"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"Murriztu jakinarazpenak"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Ez egin soinurik jakinarazpenak jasotzean"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"Jakinarazpenak ikusiko dituzu pantailan"</string>
@@ -3304,7 +3360,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"Audioa eta dardara"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"Audioa, dardara eta jakinarazpenen ikusizko adierazpen batzuk"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"Audioa, dardara eta jakinarazpenen ikusizko adierazpenak"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"Telefonoaren egoerarekin eta oinarrizko jarduerekin erlazionatutako jakinarazpenak ez dira ezkutatuko inoiz"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"Telefonoaren egoerarekin eta oinarrizko jarduerekin erlazionatutako jakinarazpenak ez dira ezkutatuko inoiz."</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"Bat ere ez"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"aukera gehiago"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"Gehitu"</string>
@@ -3334,10 +3390,12 @@
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> programazio aktiba daitezke automatikoki</item>
       <item quantity="one">1 programazio aktiba daiteke automatikoki</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"Desaktibatu gailuaren audioa, baina onartu salbuespenak"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"Salbuespenak"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"Programazioa"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"Ikusi salbuespen guztiak"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"Ez molestatzeko modua aktibatuta dagoeneko salbuespenak"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"Jendea"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"Aplikazioak"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"Alarmak eta bestelako etenaldiak"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"Ordutegiak"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"Isilarazitako jakinarazpenak"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"Ez molestatzeko modua aktibatuta dagoenean, audioa eta dardara desaktibatuta egongo dira, goian baimendutako elementuetan izan ezik."</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"Desaktibatu guztien audioa eta dardara, hauena izan ezik:"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"Audioa eta dardara desaktibatuta"</string>
@@ -3381,16 +3439,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"Jakinarazpen doigarriak"</string>
     <string name="asst_capability_prioritizer_title" msgid="1181272430009156556">"Jakinarazpenen lehentasun doigarria"</string>
     <string name="asst_capability_prioritizer_summary" msgid="954988212366568737">"Ezarri lehentasun txikiagoko jakinarazpenak soinurik gabeko jakinarazpen gisa automatikoki"</string>
+    <string name="asst_capability_ranking_title" msgid="312998580233257581">"Jakinarazpenen sailkapen doigarria"</string>
+    <string name="asst_capability_ranking_summary" msgid="2293524677144599450">"Sailkatu jakinarazpenak automatikoki garrantziaren arabera"</string>
     <string name="asst_capabilities_actions_replies_title" msgid="4392470465646394289">"Ekintza eta erantzun iradokiak"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"Erakutsi automatikoki ekintza eta erantzun iradokiak"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"Aktibatu jakinarazpenen historia iraganeko eta atzeratutako jakinarazpenen jarraipena egiteko"</string>
+    <string name="notification_history" msgid="8663811361243456201">"Jakinarazpenen historia"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"Aktibatu historia"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"Desaktibatu historia"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"Jakinarazpenen historia desaktibatuta dago"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"ikusi jakinarazpen-ezarpenak"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Eman jakinarazpenak atzeratzeko baimena"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"Ezkutatu soinurik gabeko jakinarazpenen ikonoak"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"Soinurik gabeko jakinarazpenen ikonoak ez dira bistaratzen egoera-barran"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"Baimendu jakinarazpen-biribiltxoak"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"Erakutsi azken elkarrizketen zerrenda"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Burbuilak"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"Jakinarazpen batzuk burbuila gisa ager daitezke pantailan"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"Jakinarazpen batzuk eta bestelako edukia burbuila gisa ager daitezke pantailan. Burbuilak irekitzeko, saka itzazu. Baztertzeko, ordea, arrasta itzazu pantailan behera."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Burbuilak"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"Mezu berriak pantailan agertuko dira"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"Baimendu <xliff:g id="APP_NAME">%1$s</xliff:g> aplikazioari jakinarazpen batzuk burbuila gisa erakustea"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"Aktibatu burbuilak"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"Aplikazio honetan burbuilak aktibatu ahal izateko, gailuan aktibatu behar dituzu lehendabizi. Ekintza horrek eragina izango du burbuilak lehendik ere aktibatuta dituzten aplikazioetan."</string>
@@ -3408,6 +3476,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"Bistaratu goitibeherako barran eta pantaila blokeatuan"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"Bistaratu goitibeherako barran eta egoera-barran"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"Bistaratu goitibeherako barran, egoera-barran eta pantaila blokeatuan"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"Ezkutatu soinurik gabeko jakinarazpenak egoera-barran"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"Argi keinukaria"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"Pantaila blokeatua"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"Saltatu pantaila blokeatua"</string>
@@ -3438,6 +3507,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"Jokabidea"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"Baimendu soinua egitea"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"Ez erakutsi jakinarazpenik inoiz"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"Elkarrizketak"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"Elkarrizketa"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"Ez da elkarrizketa bat"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"Kendu elkarrizketaren ataletik"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"Elkarrizketa bat da hau"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"Gehitu elkarrizketaren atalean"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"Kudeatu elkarrizketak"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"Elkarrizketa garrantzitsuak"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"Elkarrizketa guztiak"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"Ezarri burbuilatan elkarrizketa garrantzitsuak"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"Elkarrizketa garrantzitsuak goitibeherako barraren goialdean agertzen dira. Nahi izanez gero, burbuilatan jar ditzakezu, ez molestatzeko moduan salbuespen izan daitezen."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"Erakutsi isilpean eta minimizatu"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"Erakutsi soinurik egin gabe"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"Egin soinua"</string>
@@ -3456,7 +3536,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"Ez du egiten soinu edo dardararik, arretarik gal ez dezazun"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"Arreta erakartzen du soinua eta dardara eginda"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"Gailua desblokeatuta dagoenean, erakutsi jakinarazpenak banda gisa pantailaren goialdean"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"Erakutsi jakinarazpenak"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"<xliff:g id="APP_NAME">%1$s</xliff:g> aplikazioaren jakinarazpen guztiak"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"Jakinarazpen doigarriak"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> jakinarazpen inguru eguneko</item>
@@ -3477,6 +3557,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"Jakinarazpen doigarriak"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"Bat ere ez"</string>
     <string name="no_notification_listeners" msgid="2839354157349636000">"Ez dago jakinarazpenetarako sarbidea eskatu duen aplikaziorik."</string>
+    <string name="notification_access_detail_switch" msgid="46386786409608330">"Eman jakinarazpenak atzitzeko baimena"</string>
     <string name="notification_assistant_security_warning_title" msgid="2972346436050925276">"<xliff:g id="SERVICE">%1$s</xliff:g> zerbitzuari jakinarazpenetarako sarbidea eman nahi diozu?"</string>
     <string name="notification_assistant_security_warning_summary" msgid="3119843404577399036">"<xliff:g id="NOTIFICATION_ASSISTANT_NAME">%1$s</xliff:g> aplikazioak jakinarazpen guztiak irakurri ahalko ditu eta, haien barnean, informazio pertsonala egon daiteke (adibidez, kontaktuen izenak eta jasotzen dituzun testu-mezuak). Gainera, jakinarazpen horiek aldatu edo baztertu egin ahal izango ditu, baita haietako ekintza-botoiak sakatu ere. \n\nHorrez gain, ez molestatzeko modua aktibatzeko eta desaktibatzeko aukera izango du aplikazioak, baita harekin erlazionatutako ezarpenak aldatzekoa ere."</string>
     <string name="notification_listener_security_warning_title" msgid="5791700876622858363">"Jakinarazpenak atzitzeko baimena eman nahi diozu <xliff:g id="SERVICE">%1$s</xliff:g> zerbitzuari?"</string>
@@ -3538,8 +3619,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"Eginda"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"Garrantzia"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"Egin keinu argiarekin"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"Dardara"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"Dardara"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"Soinua"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"Garrantzitsua"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"Gehitu hasierako pantailan"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"Ezabatu"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"Aldatu izena"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"Programazioaren izena"</string>
@@ -3593,6 +3676,10 @@
       <item quantity="other">Beste <xliff:g id="NUM_PEOPLE">%d</xliff:g></item>
       <item quantity="one">Beste bat</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Elkarrizketak"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"Elkarrizketa guztietatik"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"Elkarrizketa garrantzitsuetatik"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"Ez onartu elkarrizketarik"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"Baimendu mezuak"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"Onartutako mezuak jasotzean soinua entzuten dela bermatzeko, egiaztatu gailua tonua jotzeko, dar-dar egiteko edo isilik egoteko ezarrita dagoen."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"“<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>” antolaketan, blokeatuta dago mezuak jasotzeko aukera. Lagunak, familia eta beste kontaktu batzuk zurekin harremanetan jartzeko aukera izan dezaten, aldatu ezarpenak."</string>
@@ -3606,15 +3693,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"Bat ere ez"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"Ez baimendu deiak"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"Ez onartu inolako mezurik"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"Baimendu alarmak"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"Alarmak"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"Tenporizadore, alarma, segurtasun-sistema eta bestelako aplikazioetatik"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"alarmak"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"Erreproduzitu multimedia-edukien soinuak"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"Multimedia-soinuak"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"Bideo, joko eta bestelako multimedia-fitxategietatik"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"multimedia-edukia"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"Baimendu ukipen-soinuak"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"Sakatze-soinuak"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"Teklatutik eta bestelako botoietatik"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"sakatze-soinuak"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"Baimendu abisuak"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"Abisuak"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"Zeregin eta abisuetatik"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"abisuak"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"Baimendu gertaerak"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"Gertaerak"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"Datozen egunetarako egutegiko gertaeretatik"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Eman \"Ez molestatu\" ez aplikatzeko baimena aplikazioei"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"Gehitu salbuespenak"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3657,6 +3749,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"Eman pantaila pizteko baimena ez molestatzeko moduan ezkutatu beharreko jakinarazpenei"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"Jakinarazpen-ezarpenak"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"Ados"</string>
+    <string name="suggestion_button_close" msgid="6865170855573283759">"Itxi"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Bidali gailu honi buruzko oharrak"</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"Idatzi administratzailearen PIN kodea"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"Aktibatuta"</string>
@@ -3667,6 +3760,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Eskatu PIN kodea aingura kendu aurretik"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Eskatu pasahitza aingura kendu aurretik"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Blokeatu gailua aingura kentzean"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Berretsi SIMeko edukia ezabatu nahi duzula"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"Deskargatutako SIM bateko eduki guztia ezabatu aurretik, egiaztatu zeu zarela"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"Laneko profil hau honen bidez kudeatzen da:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"Kudeatzailea: <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(Esperimentala)"</string>
@@ -3741,8 +3836,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"Aplikazio guztiak"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Instalatutako aplikazioak"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Zuzeneko aplikazioak"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"Pertsonalak"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"Lanekoak"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"Aplikazioak: guztiak"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"Desaktibatuta"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"Kategoriak: premiazkoak"</string>
@@ -3754,6 +3847,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"Aplikazio ezezaguna"</string>
     <string name="app_permissions" msgid="8666537659217653626">"Baimenen kudeatzailea"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"Hauek atzi ditzaketen aplikazioak: <xliff:g id="APPS">%1$s</xliff:g>"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"<xliff:g id="APPS">%1$s</xliff:g> aplikazioak erabiltzen dituzten aplikazioak eta beste"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"Sakatu aktibatzeko"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"Sakatu birritan pantailako edozein puntu gailua aktibatzeko"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"Irekiko diren estekak"</string>
@@ -3765,9 +3859,14 @@
       <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> aplikaziok ireki ditzakete onartutako estekak</item>
       <item quantity="one">Aplikazio batek ireki ditzake onartutako estekak</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"Ireki aplikazio honetan"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"Baimendu aplikazioari onartutako estekak irekitzea"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"Galdetu beti"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"Ez ireki aplikazio honetan"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"Ez baimendu aplikazioari estekak irekitzea"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="other">Aplikazioak <xliff:g id="COUNT_1">%d</xliff:g> esteka kudeatzen dituela dio</item>
+      <item quantity="one">Aplikazioak <xliff:g id="COUNT_0">%d</xliff:g> esteka kudeatzen duela dio</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"Aplikazioak esteka hauek kudeatzen dituela dio:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"Lehenetsia"</string>
     <string name="default_for_work" msgid="537558180548617528">"Lanerako aplikazio lehenetsiak"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"Laguntza eta ahozko idazketa"</string>
@@ -3911,8 +4010,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"Beste aplikazioen gainean bistaratzea"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Baimendu beste aplikazioen gainean bistaratzea"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"Baimendu aplikazioari erabiltzen ari zaren aplikazioen gainean agertzea. Eginbide honek abian diren aplikazioen erabilera oztopa dezake, edo haien itxura edo portaera aldatu."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"Fitxategi orotarako sarbidea"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"Eman fitxategi guztiak kudeatzeko baimena"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Baimendu aplikazio honek gailuko edo konektatutako biltegiratze-unitateetako edozein fitxategi irakurri, aldatu eta ezabatzea. Baimena emanez gero, baliteke aplikazioak fitxategiak atzitzea zuk jakin ez arren."</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"Fitxategi guztiak atzi ditzake"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"eb errealitate birtuala hautemailea estereoa laguntzailea laguntza zerbitzua"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"sistema alerta leiho koadro bistaratu beste aplikazio gainean"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"Bistaratu aplikazioen gainean"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"<xliff:g id="COUNT_0">%1$d</xliff:g>/<xliff:g id="COUNT_1">%2$d</xliff:g> aplikaziok dute besteen gainean bistaratzeko baimena"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"Baimena duten aplikazioak"</string>
@@ -4078,6 +4180,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"<xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g> erabilita"</string>
     <string name="data_overusage" msgid="3680477320458707259">"Muga baino <xliff:g id="ID_1">^1</xliff:g> gehiago"</string>
     <string name="data_remaining" msgid="6316251496381922837">"<xliff:g id="ID_1">^1</xliff:g> gelditzen dira"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"<xliff:g id="START_DATE">%1$s</xliff:g> eta <xliff:g id="END_DATE">%2$s</xliff:g> arteko datuen erabilera erakusten duen grafikoa."</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"Ez dago daturik data tarte horretan"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="other">%d egun gelditzen dira</item>
       <item quantity="one">%d egun gelditzen da</item>
@@ -4141,14 +4245,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"paketearen tamaina"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"bidali da jakinarazpena"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"soinua"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"dardara"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"eredua"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"lehenetsia"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"katea"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"bat ere ez"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"Sailkapen-objektua falta da."</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"Sailkapen-objektuak ez du gako hau."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"Gaiak"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"Gailuaren balio lehenetsiak"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"Pantailaren mozketa"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"pantailaren mozketa, koska"</string>
@@ -4237,8 +4337,12 @@
     <string name="information_label" msgid="6939310810756569298">"Informazioa"</string>
     <string name="low_label" msgid="6525629096999711220">"Txikia"</string>
     <string name="high_label" msgid="357503396626018487">"Handia"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"Sentikortasun handiagoa ezarriz gero, baliteke gatazkak sortzea pantailaren ertzetan egiten diren aplikazioen keinuekin."</string>
+    <string name="left_edge" msgid="1513576842959071849">"Ezkerreko ertza"</string>
+    <string name="right_edge" msgid="1505309103265829121">"Eskuineko ertza"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"Sentikortasun handiagoa ezarriz gero, baliteke gatazkak sortzea pantailaren ertzetan egiten diren aplikazioen keinuekin."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"Atzeko egiteko keinuaren sentikortasuna"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"Keinuen ezarpenak"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"keinu bidezko nabigazioa, atzera egiteko keinuaren sentikortasuna, atzera egiteko keinua"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"Sakatu birritan telefonoa pantailako informazioa ikusteko"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"Sakatu birritan tableta bertan dagoela ikusteko"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"Sakatu birritan gailua bertan dagoela ikusteko"</string>
@@ -4393,7 +4497,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"Abiarazi operadorearen hornikuntza"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"Eguneratu ez molestatzeko modua"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"Pausatu jakinarazpenak arreta ez galtzeko"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"Eginbidea ez dago erabilgarri gailu honetan"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"Eginbidea ez dago erabilgarri"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"Eginbidea desaktibatu egin da, telefonoa moteltzen duelako"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"Behartu GNSS neurketa osoak gauzatzera"</string>
@@ -4403,20 +4506,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"Hautatu ANGLE-rekin bateragarria den aplikazio bat"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"Ez da gaitu ANGLE-rekiko bateragarritasuna"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"ANGLE-rekin bateragarria den aplikazioa: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"Jokoen kontrolatzailearen hobespenak"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"Aldatu jokoen kontrolatzailearen ezarpenak"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"Jokoen kontrolatzailea aktibatzen denean, gailuan instalatuta dauden aplikazioetan grafikoen kontrolatzaile eguneratua erabiltzea aukera dezakezu."</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"Gaitu aplikazio guztietan"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"Hautatu grafikoen kontrolatzailea"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"Balio lehenetsia"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"Jokoen kontrolatzailea"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"Kaleratu aurreko bertsioaren kontrolatzailea"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"Sistemaren grafikoen kontrolatzailea"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"Grafikoen kontrolatzailearen hobespenak"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"Aldatu grafikoen kontrolatzailearen ezarpenak"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"Grafikoen hainbat kontrolatzaile daudenean, gailuan instalatuta dauden aplikazioetan grafikoen kontrolatzaile eguneratua erabiltzea aukera dezakezu."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"Gaitu aplikazio guztietan"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"Hautatu grafikoen kontrolatzailea"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"Lehenetsia"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"Jokoen kontrolatzailea"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"Developer Driver"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Sistemaren grafikoen kontrolatzailea"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Aplikazioaren bateragarritasun-aldaketak"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Aldatu aplikazioaren bateragarritasunaren aldaketak"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Gaitutako aldaketa lehenetsiak"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Desgaitutako aldaketa lehenetsiak"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"Telefono honek ez du ezarpena onartzen"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"Tableta honek ez du ezarpena onartzen"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"Gailu honek ez du ezarpena onartzen"</string>
@@ -4435,6 +4544,12 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"Gailua"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Ez dago erabilgarri deiak egin bitartean"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"Ez dago erabilgarri"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"Gehitu irteerak"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"Taldea"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 gailu hautatu da"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> gailu hautatu dira"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"Erantzun deiei hemen:"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Ezin da aldatu APNa."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Hobetu tabletaren bateriaren iraupena"</string>
@@ -4552,10 +4667,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Deskargatutako SIM txartel bakarra aktiba daiteke aldiko.\n\n<xliff:g id="CARRIER1">%1$s</xliff:g> operadorera aldatuta ere ez da bertan behera utziko <xliff:g id="CARRIER2">%2$s</xliff:g> zerbitzua."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Aldatu <xliff:g id="CARRIER">%1$s</xliff:g> operadorera"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Ezabatu SIM txarteleko eduki guztia"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Deskargatutako SIM txartel honetako eduki guztia ezabatu?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"SIM txartel honetako eduki guztia ezabatuz gero, <xliff:g id="CARRIER_0">%1$s</xliff:g> operadorearen zerbitzua kenduko da gailu honetatik.\n\nEz da utziko bertan behera <xliff:g id="CARRIER_1">%2$s</xliff:g> operadorearen zerbitzua."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Ezabatu eduki guztia"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"SIM txarteleko eduki guztia ezabatzen…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Ezin da ezabatu SIM txartela"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Ezin da ezabatu SIM txarteleko eduki guztia errore bat gertatu delako.\n\nBerrabiarazi gailua eta saiatu berriro."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Sare mota lehenetsia"</string>
@@ -4580,7 +4691,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"<xliff:g id="NETWORKMODEID">%1$d</xliff:g> sare moduak ez du balio. Egin ez ikusi."</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Sarbide-puntuen izenak"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Ez dago erabilgarri <xliff:g id="CARRIER">%1$s</xliff:g> operadorera konektatuta egoteagatik"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"Osasun-informazioa eta larrialdietarako kontaktuak"</string>
     <string name="see_more" msgid="7499355691042812723">"Ikusi gehiago"</string>
     <string name="see_less" msgid="2642392725363552793">"Ikusi gutxiago"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"<xliff:g id="APPNAME">%1$s</xliff:g> aplikazioarekin erabili behar den gailua"</string>
@@ -4589,11 +4699,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"Arazoren bat izan da. Aplikazioak bertan behera utzi du gailu bat aukeratzeko eskaera."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"Konektatu da"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"Erakutsi guztiak"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> gailu daude konektatuta</item>
-      <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_0">%1$d</xliff:g> gailu dago konektatuta</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"Ez dago Bluetooth bidezko gailurik"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"Gailua bilatzen…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"Gailura konektatzen…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"Ezkerrekoa"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"Eskuinekoa"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Kaxa"</string>
@@ -4603,6 +4710,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"Ez dago erabilgarri hegaldi moduan"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"Behartu mahaigainerako modua erabiltzera"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Behartu mahaigainerako modu esperimentala erabiltzera bigarren mailako pantailetan"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"Gaitu estilo librea tamaina-bateragarritasunetan"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"Estilo libreko leihoak erabiltzeko baimena ematen die tamaina-bateragarritasuna duten aplikazioei"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Ez aplikatu gai iluna"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"Gai iluna beti aktibatuta egoteko eskakizuna gainidazten du"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"Pribatutasuna"</string>
@@ -4639,6 +4748,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Duela gutxi instalatu duzu aplikazio hau"</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Aldatu irteera"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> gailuan erreproduzitzen"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (deskonektatuta)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Ezin da aldatu. Berriro saiatzeko, sakatu hau."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Informazio garrantzitsua"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"AURRERA"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"EZ, ESKERRIK ASKO"</string>
@@ -4666,8 +4777,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"SIM txartelen konbinazioa"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Laneko gidalerroen informazioa"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"IKTen administratzaileak kudeatzen ditu ezarpenak"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPUa"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"Akatsen txostenaren kudeatzailea"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Akatsen txostenaren lasterbidea gailuan zer aplikaziok kontrolatzen duen zehazten du."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Pertsonala"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"Laneko aplikazioa"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"Sistemaren aplikazio lehenetsia"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"Jada ez dago erabilgarri aukera hori. Saiatu berriro."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"Utzi igortzeari"</string>
 </resources>
diff --git a/res/values-fa/arrays.xml b/res/values-fa/arrays.xml
index a44cefd..52b1af3 100644
--- a/res/values-fa/arrays.xml
+++ b/res/values-fa/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"فوری"</item>
     <item msgid="463591454172790676">"۵ ثانیه"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"راستی‌آزمایی نشود"</item>
+    <item msgid="5703177653586269306">"درخواست وضعیت گواهی"</item>
+    <item msgid="326388247868439528">"نیاز به وضعیت گواهی"</item>
+    <item msgid="1090956283885790552">"نیاز به همه وضعیت‌های گواهی غیرقابل‌اطمینان"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"فشار دکمه"</item>
     <item msgid="2630618799033509548">"پین از دستگاه مرتبط شده"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"خالی"</item>
@@ -264,7 +272,7 @@
     <item msgid="2297727967385895059">"کنترل مکان پرقدرت"</item>
     <item msgid="8700593962030471569">"دریافت آمار استفاده"</item>
     <item msgid="4140820386622184831">"صدادار/بی‌صدا کردن میکروفن"</item>
-    <item msgid="317746827951691657">"نمایش پنجره خبری"</item>
+    <item msgid="317746827951691657">"نمایش تست"</item>
     <item msgid="5679422988212309779">"فرستادن رسانه"</item>
     <item msgid="6454031639780101439">"‏فعال کردن VPN"</item>
     <item msgid="2441327072846850561">"نوشتن کاغذدیواری"</item>
@@ -331,7 +339,7 @@
     <item msgid="5186169827582545242">"مکان"</item>
     <item msgid="6122293931012635638">"دریافت آمار استفاده"</item>
     <item msgid="2526677383312751932">"صدادار/بی‌صدا کردن میکروفن"</item>
-    <item msgid="4000577305179914546">"نمایش پنجره خبری"</item>
+    <item msgid="4000577305179914546">"نمایش تست"</item>
     <item msgid="8660207174515570558">"فرستادن رسانه"</item>
     <item msgid="3904996949561946108">"‏فعال کردن VPN"</item>
     <item msgid="504052124101832515">"نوشتن کاغذدیواری"</item>
@@ -404,6 +412,9 @@
     <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>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"خالی"</item>
diff --git a/res/values-fa/config.xml b/res/values-fa/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-fa/config.xml
+++ b/res/values-fa/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index 0482464..1767cc6 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -31,49 +31,17 @@
     <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="radio_info_data_connection_enable" msgid="7500945447906187613">"فعال کردن اتصال داده"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"غیرفعال کردن اتصال داده"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"‏مشروط به VoLTE"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"مجوز تماس تصویری داده شد"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"‏مجوز تماس با Wifi داده شد"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"‏EAB/حضور مشروط است"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"‏داده‌های Cbrs"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"‏فعال کردن DSDS"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"دستگاه بازراه‌اندازی شود؟"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"برای تغییر این تنظیم، باید دستگاه را بازراه‌اندازی کنید"</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"بازراه‌اندازی"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"لغو"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"توان رادیوی همراه"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"مشاهده دفترچه نشانی سیم‌کارت"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"مشاهده شماره‌های شماره‌گیری ثابت"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"مشاهده شماره‌های شماره گیری سرویس"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"‏وضعیت سرویس IMS"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"‏وضعیت IMS"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"ثبت‌شده"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"ثبت‌نشده"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"در دسترس"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"در دسترس نیست"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"‏ثبت IMS:‏ <xliff:g id="STATUS">%1$s</xliff:g>\nصدا ازطریق LTE‏: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nصدا ازطریق WiFi‏: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\n‏تماس ویدیویی: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nواسط UT: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"سرویس دارد"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"خارج از سرویس"</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>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"بلااستفاده"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"زنگ زدن"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"تماس در حال انجام"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"اتصال قطع شد"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"درحال اتصال"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"متصل"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"معلق"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"نامشخص"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"pkts"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"بایت"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"‏قطع اتصال حافظهٔ USB"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"‏جدا کردن کارت SD"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"‏پاک کردن حافظهٔ USB"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"نوشتار روی صفحه‌نمایش را بزرگ‌تر یا کوچک‌تر کنید."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"کوچک‌تر کردن"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"بزرگ‌تر کردن"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"برای این آقا آبجو و کیوی سرو کنید."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"نوشتار نمونه"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"جادوگر شهر اوز"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"فصل ۱۱: شهر زمردی شگفت‌انگیز اوز"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"برای تغییر این تنظیم، باید دستگاه را بازراه‌اندازی کنید"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"بازراه‌اندازی"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"لغو"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"دستگاه‌های رسانه موجود"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"دستگاه‌های برقراری تماس موجود"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"درحال‌حاضر متصل"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"دستگاه‌های ذخیره‌سازی"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"دستگاه‌های برقراری تماس"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"دستگاه‌های دیگر"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"دستگاه‌های ذخیره‌شده"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"بلوتوث برای مرتبط شدن روشن خواهد شد"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"اولویت‌های اتصال"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"درگاهی که وارد کردید معتبر نیست."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"‏این مرورگر از پروکسی HTTP استفاده می‌کند اما ممکن است برنامه‌های دیگر از آن استفاده نکنند."</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"‏نشانی وب PAC: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"‏subId کنونی:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"‏SubId مربوط به سیم‌کارت داده پیش‌فرض:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"‏پهنای باند DL (کیلوبیت بر ثانیه):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"‏پهنای باند UL (کیلوبیت بر ثانیه):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"اطلاعات مکان شبکه همراه (منسوخ شده):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"‏پیکربندی کانال فیزیکی LTE:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"نرخ بازخوانی اطلاعات شبکه همراه:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"همه اطلاعات اندازه‌گیری شبکه همراه:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"سرویس داده:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"فراگردی:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"هدایت تماس:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"‏تعداد بازنشانی PPP از زمان راه‌اندازی:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"شبکه کنونی:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"داده دریافت شده:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"سرویس صوتی:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"قدرت سیگنال:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"وضعیت تماس صوتی:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"داده ارسال شده:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"پیام در انتظار:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"شماره تلفن:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"انتخاب باند رادیو"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"نوع شبکه صوتی:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"نوع شبکه داده:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"انتخاب نمایه تلفن"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"تنظیم نوع شبکه برگزیده:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"‏پینگ کردن نام میزبان (www.google.com)‏ IPv4:"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"‏پینگ کردن نام میزبان (www.google.com)‏ IPv6:"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"‏آزمایش کارخواه HTTP:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"اجرای آزمایش پینگ"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"به‌روزرسانی"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"بازخوانی"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"‏تغییر وضعیت علامت DNS"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"‏تنظیمات/اطلاعات خاص OEM"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"تنظیم حالت باند رادیو"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"در حال بار کردن فهرست باند…"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"تنظیم"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"ناموفق"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"موفقت آمیز"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"‏تغییرات با اتصال مجدد کابل USB اعمال می‌شوند."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"‏فعال کردن ذخیره‌سازی انبوه USB"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"مجموع بایت‌ها:"</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"انتقال به آخر"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"حذف زبان"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"انتخاب فعالیت"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"اطلاعات دستگاه"</string>
     <string name="display_label" msgid="3056320781191343221">"صفحه‌نمایش"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"اطلاعات رایانهٔ لوحی"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"اطلاعات تلفن"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"‏حافظهٔ USB"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"‏کارت SD"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"تنظیمات پروکسی"</string>
@@ -306,9 +234,6 @@
     <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، بلوتوث، حالت هواپیما، شبکه‌های تلفن همراه، و VPNها"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"داده شبکه تلفن همراه"</string>
-    <string name="calls_title" msgid="6334813967619899114">"اجازه به تماس‌ها"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"پیامک‌ها"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"مجاز بودن مصرف داده‌ ازطریق شبکه همراه"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"مصرف داده هنگام فراگردی مجاز است"</string>
     <string name="roaming" msgid="3055365654530847985">"فراگردی"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"اتصال به سرویس‌های داده هنگام فراگردی"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"شما اتصال داده خود را از دست داده‌اید زیرا فراگردی داده را در شبکه اصلی خود خاموش کرده‌اید."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"روشن کنید"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"ممکن است هزینه قابل‌توجهی برای شما داشته باشد."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"وقتی به فراگردی داده اجازه می‌دهید، ممکن است فراگردی، هزینه‌های بسیار زیادی برای شما در پی داشته باشد!\n\nاین تنظیم روی همه کاربران موجود در این رایانه لوحی تأثیر می‌گذارد."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"وقتی به فراگردی داده اجازه می‌دهید، ممکن است هزینه‌های بسیار زیادی برای شما در پی داشته باشد!\n\nاین تنظیم روی همه کاربران موجود در این تلفن تأثیر می‌گذارد."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"ممکن است هزینه‌های فراگردی اعمال شود."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"وقتی رومینگ داده را مجاز می‌کنید، ممکن است هزینه‌های فراگردی اعمال شود.\n\nاین تنظیم روی همه کاربران در این رایانه لوحی تأثیر می‌گذارد."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"وقتی رومینگ داده را مجاز می‌کنید، ممکن است هزینه‌های فراگردی اعمال شود.\n\nاین تنظیم روی همه کاربران در این تلفن تأثیر می‌گذارد."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"فراگردی داده مجاز است؟"</string>
     <string name="networks" msgid="5184501333492775095">"انتخاب اپراتور"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"انتخاب یک اپراتور شبکه"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"غیرفعال‌شده توسط سرپرست"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"نمایش گزینه «قفل همه»"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"‏نمایش گزینه دکمه روشن/خاموش که Smart Lock، باز کردن قفل مبتنی بر زیست‌سنجی و اعلان‌های صفحه قفل را خاموش می‌کند"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"نماینده‌های معتمد فقط تمدید حالت باز"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"اگر فعال شود، نماینده‌های معتمد برای مدت طولانی‌تری دستگاهتان را باز نگه می‌دارند اما دیگر نمی‌توانند دستگاه قفلی را باز کنند."</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"صفحه قفل وقتی اعتماد از بین می‌رود"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"اگر فعال باشد، وقتی اعتماد آخرین نماینده معتمد دستگاه از بین برود، دستگاه قفل می‌شود"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"خالی"</string>
@@ -390,7 +313,7 @@
     <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="disabled_by_administrator_summary" msgid="4181894719300350343">"غیرفعال‌شده توسط سرپرست"</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>
@@ -693,7 +616,6 @@
       <item quantity="one">باید کمتر از <xliff:g id="NUMBER_1">%d</xliff:g> رقم باشد</item>
       <item quantity="other">باید کمتر از <xliff:g id="NUMBER_1">%d</xliff:g> رقم باشد</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"فقط می‌تواند شامل اعداد ۰ تا ۹ باشد"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"سرپرست دستگاه اجازه استفاده از پین اخیر را نمی‌دهد"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"پین‌های رایج توسط سرپرست فناوری اطلاعات شما مسدود شده‌اند. پین متفاوتی را امتحان کنید."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"نمی‌تواند نویسه نامعتبر داشته باشد"</string>
@@ -724,6 +646,10 @@
       <item quantity="one">باید حداقل <xliff:g id="COUNT">%d</xliff:g> نویسه غیرحرف داشته باشد</item>
       <item quantity="other">باید حداقل <xliff:g id="COUNT">%d</xliff:g> نویسه غیرحرف داشته باشد</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="one">باید حداقل <xliff:g id="COUNT">%d</xliff:g> نویسه غیرعددی داشته باشد</item>
+      <item quantity="other">باید حداقل <xliff:g id="COUNT">%d</xliff:g> نویسه غیرعددی داشته باشد</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"سرپرست دستگاه اجازه استفاده از گذرواژه اخیر را نمی‌دهد"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"گذرواژه‌های رایج توسط سرپرست فناوری اطلاعات شما مسدود شده‌اند. گذرواژه متفاوتی را امتحان کنید."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"ترتیب صعودی، نزولی یا تکراری ارقام مجاز نیست"</string>
@@ -837,19 +763,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"۲٫۴ گیگاهرتز"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"۵ گیگاهرتز"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"ورود به سیستم"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"باز کردن سایت"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"<xliff:g id="REMAINING_TIME">%1$s</xliff:g> باقی مانده است"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"در <xliff:g id="EXPIRY_TIME">%1$s</xliff:g> منقضی می‌شود"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"برای ورود به سیستم شبکه، اینجا ضربه بزنید"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> مگابیت در ثانیه"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> مگابیت در ثانیه"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> مگابیت در ثانیه"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"‏<xliff:g id="REQUESTER">%s</xliff:g> می‌خواهد Wi-Fi را روشن کند"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"‏<xliff:g id="REQUESTER">%s</xliff:g> می‌خواهد Wi-Fi را خاموش کند"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"تأیید بایت‌کد برنامه‌های اشکال‌زدا"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"‏به ART برای تأیید بایت‌کد برنامه‌های اشکال‌زدا اجازه داده شود"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"نمایش نرخ بازخوانی"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"نمایش نرخ فعلی بازخوانی نمایشگر"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"تبادل داده هنگامیکه رایانهٔ لوحی در تماس با دستگاه دیگر است مجاز باشد"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"اجازه برای تبادل داده‌ها هنگامی که تلفن دستگاه دیگری را لمس می‌کند"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"‏تبادل داده‌ها هنگامی‌که رایانه لوحی دستگاه مجهزبه NFC را لمس می‌کند مجاز شود"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"‏تبادل داده‌ها هنگامی‌که تلفن دستگاه مجهزبه NFC را لمس می‌کند مجاز شود"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"‏روشن کردن NFC"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"‏NFC داده‌ها را میان این دستگاه و سایر دستگا‌ه‌ها یا اهداف اطراف (مانند پایانه‌های پرداخت، کارت‌خوان‌ها و آگهی‌ها یا برچسب‌های تعاملی) مبادله می‌کند."</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"‏NFC ایمن"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"‏برای NFC لازم است که قفل دستگاه باز باشد"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"‏استفاده از حمل‌و‌نقل عمومی و پرداخت NFC تنها وقتی قفل صفحه باز است مجاز شود"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"‏آماده برای انتقال محتوای برنامه از طریق NFC"</string>
@@ -923,8 +855,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"روشن کردن"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"‏«اسکن کردن Wi‑Fi» روشن شد"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"گزینه‌های پیشرفته"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"فهرست کرکره‌ای. گزینه‌های پیشرفته. دو ضربه سریع برای کوچک کردن."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"فهرست کرکره‌ای. گزینه‌های پیشرفته. دو ضربه سریع برای بزرگ کردن."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"گزینه‌های پیشرفتهٔ فهرست کرکره‌ای"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"بزرگ کردن"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"نام شبکه"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"‏SSID را وارد کنید"</string>
     <string name="wifi_security" msgid="9095934643631406913">"امنیت"</string>
@@ -934,6 +866,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"وضعیت"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"سرعت پیوند انتقال"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"سرعت پیوند دریافتی"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"سرعت پیوند"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"فرکانس"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"‏نشانی IP"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"ذخیره از طریق"</string>
@@ -941,6 +874,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"‏روش EAP"</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>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"گواهی کاربر"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"هویت"</string>
@@ -957,6 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"‏حداقل یک باند برای نقطه اتصال Wi‑Fi انتخاب کنید:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"‏تنظیمات IP"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"حریم خصوصی"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"اشتراک"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"مشاهده یا تغییر اشتراک"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"‏MAC تصادفی‌سازی‌شده"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"افزودن دستگاه"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"‏برای افزودن دستگاه به «<xliff:g id="SSID">%1$s</xliff:g>»،‌ کد QR را در مرکز پنجره زیر قرار دهید"</string>
@@ -966,12 +902,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"‏استفاده مشترک از Wi‑Fi"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"‏برای اتصال به «<xliff:g id="SSID">%1$s</xliff:g>»، این کد QR را اسکن کنید و گذرواژه مربوطه را به اشتراک گذارید"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"‏برای اتصال به «<xliff:g id="SSID">%1$s</xliff:g>»، این کد QR را اسکن کنید"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"‏کد QR خوانده نشد. کد را در مرکز قرار دهید و دوباره امتحان کنید"</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"دوباره امتحان کنید. اگر مشکل همچنان ادامه دارد، با سازنده دستگاه تماس بگیرید"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"مشکلی رخ داده است"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"مطمئن شوید دستگاه متصل، شارژ و روشن شده است"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"مطمئن شوید دستگاه متصل، شارژ و روشن شده است. اگر مشکل همچنان ادامه دارد، با سازنده دستگاه تماس بگیرید"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"این دستگاه از افرودن «<xliff:g id="SSID">%1$s</xliff:g>» پشتیبانی نمی‌کند"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"‏دستگاهتان را به رهیاب/نقطه دسترسی Wi‑Fi نزدیک‌تر کنید"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"گذرواژه را بررسی و دوباره امتحان کنید"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"با سازنده دستگاه تماس بگیرید"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"اتصال را بررسی کنید و دوباره امتحان کنید"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"انتخاب شبکه"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"برای متصل کردن دستگاهتان،‌ شبکه‌ای انتخاب کنید"</string>
@@ -984,11 +922,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"‏درحال هم‌رسانی Wi‑Fi با این دستگاه…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"درحال اتصال…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"اشتراک‌گذاری نقطه اتصال"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"تأیید کنید این شما هستید"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"تأیید اینکه این فرد شما هستید"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"‏گذرواژه Wi-Fi: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"گذرواژه نقطه اتصال: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"اتصال خودکار"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"به تلفن اجازه داده شود نزدیک این شبکه به‌طور خودکار متصل شود"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"به رایانه لوحی اجازه داده شود نزدیک این شبکه به‌طور خودکار متصل شود"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"افزودن دستگاه"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"‏برای افزودن دستگاه به این شبکه، از کد QR استفاده کنید"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"‏کد QR، قالب معتبری نیست"</string>
     <string name="retry" msgid="7542103800274026915">"امتحان مجدد"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"اشتراک‌گذاری با دیگر استفاده‌کنندگان از دستگاه"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(بدون تغییر)"</string>
@@ -1000,6 +942,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"مجوزی مشخص نشده است. اتصال شما خصوصی نخواهد بود."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"نام شبکه خیلی طولانی است."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"باید دامنه‌ای مشخص کنید."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"به گواهینامه نیاز است."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"‏WPS در دسترس است"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" ‏ (WPS در دسترس است)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"‏شبکه Wi‑Fi شرکت مخابراتی"</string>
@@ -1051,7 +994,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"‏Wi-Fi پیشرفته"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"‏نشانی MAC"</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_ip_address_title" msgid="4265355419782184514">"‏نشانی IP"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"جزئیات شبکه"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"پوشش زیرشبکه"</string>
@@ -1103,7 +1047,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"‏برای ایجاد یک شبکه Wi‑Fi برای سایر دستگاه‌ها، از نقطه اتصال استفاده کنید. نقطه اتصال با استفاده از اتصال داده تلفن همراه، اینترنت ارائه می‌دهد. ممکن است هزینه‌های داده تلفن همراه اضافه اعمال شوند."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"برنامه‌ها می‌توانند نقطه اتصالی ایجاد کنند تا محتوا را با دستگاه‌های اطراف به اشتراک بگذارند."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"خاموش شدن خودکار نقطه اتصال"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"‏اگر دستگاهی متصل نباشد، نقطه اتصال Wi‑Fi خاموش خواهد شد"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"وقتی هیچ دستگاهی متصل نیست"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"در حال روشن کردن نقطه اتصال…"</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"در حال خاموش کردن نقطه اتصال…"</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> فعال است"</string>
@@ -1112,6 +1056,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"‏راه‌اندازی نقطه اتصال Wi-Fi"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"‏نقطه اتصال AndroidAP WPA2 PSK"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"AndroidHotspot"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"این شبکه ذخیره شود؟"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"<xliff:g id="APPNAME">%1$s</xliff:g> می‌خواهد شبکه‌ای را در تلفنتان ذخیره کند"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"<xliff:g id="APPNAME">%1$s</xliff:g> می‌خواهد شبکه‌ای را در رایانه لوحی شما ذخیره کند"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"درحال ذخیره کردن…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"ذخیره‌ شد"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"ذخیره نمی‌شود. دوباره امتحان کنید."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"شبکه‌ها ذخیره شوند؟"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"<xliff:g id="APPNAME">%1$s</xliff:g> می‌خواهد این شبکه‌ها را در تلفنتان ذخیره کند"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"<xliff:g id="APPNAME">%1$s</xliff:g> می‌خواهد این شبکه‌ها را در رایانه لوحی شما ذخیره کند"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"درحال ذخیره <xliff:g id="NUMBER">%d</xliff:g> شبکه…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"شبکه‌ها ذخیره شدند"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"‏تماس از طریق Wi-Fi"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"‏با Wi-Fi تماس‌ها را گسترش دهید"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"‏با روشن کردن تماس ازطریق Wi-Fi، پوشش را افزایش دهید"</string>
@@ -1138,16 +1093,18 @@
     <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>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"‏فعال کردن تماس ازطریق Wi-Fi"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"‏روشن کردن تماس ازطریق Wi-Fi"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"‏%1$s از تماس ازطریق Wi-Fi پشتیبانی نمی‌کند"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"اتصال <xliff:g id="SSID">%1$s</xliff:g> قطع شد"</string>
     <string name="carrier" msgid="1755020806290963951">"شرکت مخابراتی"</string>
     <string name="display_settings_title" msgid="626835071804834218">"صفحه‌نمایش"</string>
     <string name="sound_settings" msgid="5514582720435174014">"صدا"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"میزان صدا"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"جلوه‌های موسیقی"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"میزان صدای زنگ"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"میزان صدای زنگ و اعلان"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"لرزش در حالت بی‌صدا"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"صدای اعلان پیش‌فرض"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"آهنگ زنگ"</string>
@@ -1272,13 +1229,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"زمان‌بندی"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"هیچ‌کدام"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"از غروب تا طلوع روشن می‌شود"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"در زمان سفارشی روشن می‌شود"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"وضعیت"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"خاموش / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"هرگز به‌طور خودکار روشن نمی‌شود"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"در غروب به‌طور خودکار روشن می‌شود"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"در ساعت <xliff:g id="ID_1">%1$s</xliff:g> به‌طور خودکار روشن می‌شود"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"روشن / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"هرگز به‌طور خودکار خاموش نمی‌شود"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"به‌طور خودکار در طلوع خاموش می‌شود"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"در ساعت <xliff:g id="ID_1">%1$s</xliff:g> به‌طور خودکار خاموش می‌شود"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"تا <xliff:g id="ID_1">%1$s</xliff:g> روشن شود"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"تا <xliff:g id="ID_1">%1$s</xliff:g> خاموش شود"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"«طرح زمینه تیره» در برخی صفحه‌ها از پس‌زمینه سیاه استفاده می‌کند تا شارژ باتری برای مدتی طولانی‌تر حفظ شود. «طرح زمینه تیره» تا زمانی که صفحه خاموش است، زمان انتظاری برای روشن شدن تنظیم می‌کند."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"وقفه زمانی صفحه"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"صفحه نمایش خاموش می‌شود"</string>
@@ -1290,7 +1252,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"تغییر کاغذدیواری"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"شخصی‌سازی صفحه‌نمایش"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"انتخاب کاغذدیواری از"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"‏شخصی‌سازی Pixel"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"سفارشی کردن تلفن"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"انواع سبک‌ها، کاغذدیواری‌ها، و موارد دیگر را امتحان کنید"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"محافظ صفحه"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"هنگام شارژ یا اتصال به پایه"</string>
@@ -1379,6 +1341,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"‏قطع اتصال حافظهٔ USB، مشاهده حافظه موجود"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"‏جدا کردن کارت SD، مشاهده محل ذخیره موجود"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"‏IMEI (شیار سیم‌کارت %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"برای مشاهده، شبکه ذخیره‌شده را انتخاب کنید"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"شماره تلفن"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"‏MDN (شیار سیم‌کارت %1$d)"</string>
@@ -1405,6 +1368,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"فراگردی"</string>
     <string name="status_operator" msgid="4335640583552058491">"شبکه"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"‏آدرس Wi-Fi MAC"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"‏نشانی Wi‑Fi MAC دستگاه"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"آدرس بلوتوث"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"شمارهٔ سریال"</string>
     <string name="status_up_time" msgid="1274778533719495438">"زمان فعالیت"</string>
@@ -1617,6 +1581,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"بازنشانی تنظیمات پیش‌فرض نام نقطه دستیابی انجام شد."</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"بازنشانی گزینه‌ها"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"شبکه، برنامه‌ها یا دستگاه می‌توانند بازنشانی شوند"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"برنامه‌ها را می‌توان بازنشانی کرد"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"‏بازنشانی Wi-Fi، داده شبکه همراه و بلوتوث"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"‏این کار همه تنظیمات شبکه را بازنشانی می‌کند، ازجمله:\n\n"<li>"Wi-Fi‏"</li>\n<li>"داده شبکه تلفن همراه"</li>\n<li>"بلوتوث"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"پاک‌سازی سیم‌کارت‌های بارشده"</string>
@@ -1666,6 +1631,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"نقطه اتصال روشن"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"اشتراک‌گذاری اینترنت"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"هنگامی که محافظ صفحه روشن است نمی‌توانید از نقاط اتصال قابل حمل یا اتصال به اینترنت با تلفن همراه استفاده کنید"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"فقط نقطه اتصال"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"‏فقط USB"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"فقط بلوتوث"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"‏نقطه اتصال، USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"نقطه اتصال، بلوتوث"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"‏USB، بلوتوث"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"‏نقطه اتصال، USB، بلوتوث"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"اینترنت با دستگاه‌های دیگر هم‌رسانی نمی‌شود"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"اشتراک‌گذاری اینترنت"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"‏استفاده نکردن از نقطه اتصال Wi-Fi"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"‏اینترنت را فقط ازطریق USB هم‌رسانی کنید"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"اینترنت را فقط ازطریق بلوتوث هم‌رسانی کنید"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"‏اینترنت را فقط ازطریق USB و بلوتوث هم‌رسانی کنید"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"‏اشتراک‌گذاری اینترنت با USB"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"‏هم‌رسانی اتصال اینترنت تلفن ازطریق USB"</string>
@@ -1756,9 +1734,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"اطلاعات ایمنی"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"‏شما اتصال داده ندارید. برای اینکه هم‌اکنون این اطلاعات را مشاهده کنید، از هر رایانه متصل به اینترنت به %s بروید."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"در حال بارگیری…"</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"استفاده از پین"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"استفاده از الگو"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"استفاده از گذرواژه"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"تنظیم قفل صفحه"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"برای امنیت، گذرواژه تنظیم کنید"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"تنظیم گذرواژه برای استفاده از اثر انگشت"</string>
@@ -1767,8 +1742,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"تنظیم پین برای استفاده از اثر انگشت"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"برای امنیت، الگو تنظیم کنید"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"گذرواژه‌ خود را دوباره وارد کنید"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"گذرواژه نمایه کاری را وارد کنید"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"تأیید الگو"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"الگوی نمایه کاری را وارد کنید"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"پین خود را دوباره وارد کنید"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"پین نمایه کاری را وارد کنید"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"گذرواژه‌ها مطابقت ندارند"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"پین ها با یکدیگر مطابقت ندارند"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"الگویتان را دوباره بکشید"</string>
@@ -1779,6 +1757,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"برای استفاده از «بازگشایی با چهره»، گذرواژه تنظیم کنید"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"برای استفاده از «بازگشایی با چهره»، الگو تنظیم کنید"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"برای استفاده از «بازگشایی با چهره»، پین تنظیم کنید"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"گذرواژه را فراموش کردید؟"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"الگو را فراموش کردید؟"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"پین خود را فراموش کرده‌اید؟"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"برای ادامه، از الگوی دستگاهتان استفاده کنید"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"برای ادامه، کد پین دستگاهتان را وارد کنید"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"برای ادامه گذرواژه دستگاهتان را وارد کنید"</string>
@@ -1846,6 +1827,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"همه منابع برنامه مجاز است"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"برنامه‌های اخیراً بازشده"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"مشاهده همه <xliff:g id="COUNT">%1$d</xliff:g> برنامه"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"با سرپرست فناوری اطلاعات تماس بگیرید"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"او می‌تواند به شما کمک کند پین، الگو، یا گذرواژه را بازنشانی کنید"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"رایانه لوحی و داده‌های شخصی شما بیشتر درمعرض خطر حمله برنامه‌های ناشناس هستند. با نصب برنامه از این منبع، موافقت می‌کنید که درقبال هرگونه آسیب وارده به رایانه لوحی یا از دست دادن داده‌هایتان که در نتیجه استفاده از این برنامه‌ها روی دهد، خودتان مسئول هستید."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"تلفن و داده‌های شخصی شما بیشتر درمعرض خطر حمله برنامه‌های ناشناس هستند. با نصب برنامه از این منبع، موافقت می‌کنید که درقبال هرگونه آسیب وارده به تلفن یا از دست دادن داده‌هایتان که در نتیجه استفاده از این برنامه‌ها روی دهد، خودتان مسئول هستید."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"دستگاه و داده‌های شخصی شما دربرابر حمله برنامه‌های ناشناس آسیب‌پذیری بیشتری دارند. با نصب برنامه از این منبع، موافقت می‌کنید خود شما مسئول هرگونه آسیب به دستگاه یا از دست رفتن داده‌ای هستید که ممکن است در اثر استفاده از این برنامه روی دهد."</string>
@@ -1897,7 +1880,7 @@
     <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="1377296810290814749">"این کار همه اولویت‌های موارد زیر را بازنشانی می‌کند:\n\n "<li>"برنامه‌های غیرفعال‌شده"</li>\n" "<li>"اعلان‌های برنامه غیرفعال‌شده"</li>\n" "<li>"برنامه‌های پیش‌فرض برای عمل"</li>\n" "<li>"محدودیت‌های داده پس‌زمینه برای برنامه‌ها"</li>\n" "<li>"هرگونه محدودیت‌های مجوز"</li>\n\n" هیچ داده برنامه‌ای را از دست نخواهید داد."</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>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"بازنشانی برنامه‌ها"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"مدیریت فضا"</string>
     <string name="filter" msgid="9039576690686251462">"فیلتر"</string>
@@ -2097,7 +2080,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"صدا و نوشتار روی صفحه"</string>
     <string name="display_category_title" msgid="6638191682294461408">"نمایشگر"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"کنترل‌های تعامل"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"سرویس‌های بارگیری‌شده"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"برنامه‌های بارگیری‌شده"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"آزمایشی"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"پرچم‌های ویژه"</string>
     <string name="talkback_title" msgid="8756080454514251327">"Talkback"</string>
@@ -2105,27 +2088,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"روی موارد موجود در صفحه‌تان ضربه بزنید تا بلند خوانده شوند"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"اولویت‌های زیرنویس"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"بزرگ‌نمایی"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"ناحیه بزرگ‌نمایی"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"فعال کردن بزرگ‌نمایی"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"ناحیه(های) بزرگ‌نمایی موردنظر را برای استفاده هنگام بزرگ‌نمایی صفحه‌نمایش انتخاب کنید"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"تمام‌صفحه"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"بخشی از صفحه"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"تمام‌صفحه و بخشی از صفحه"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"بزرگ‌نمایی تمام صفحه"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"بزرگ‌نمایی بخشی از صفحه"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"تنظیمات بزرگ‌نمایی"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"درشت‌نمایی با سه ضربه"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"درشت‌نمایی بااستفاده از میان‌بر"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"درشت‌نمایی بااستفاده از میان‌بر و سه ضربه"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"درباره <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"گزینه‌ها"</string>
     <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="2831926970059739911"><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_screen_magnification_navbar_summary" msgid="5603519616005297803">"با روشن کردن درشت‌نمایی، می‌توانید روی صفحه بزرگ‌نمایی کنید.\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_screen_magnification_summary" msgid="7617931632990040045">"‏به‌سرعت صفحه‌نمایش را بزرگ کنید تا محتوا را واضح‌تر ببینید.&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_dialog_title_button" msgid="4681164949716215131">"استفاده از دکمه دسترس‌پذیری برای باز کردن"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"استفاده از اشاره برای باز کردن"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"استفاده از اشاره دسترس‌پذیری جدید"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"برای روشن یا خاموش کردن این سرویس، در پایین صفحه، روی دکمه دسترس‌پذیری<xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>ضربه بزنید.\n\nبرای جابه‌جایی بین سرویس‌ها، دکمه دسترس‌پذیری را لمس کنید و نگه‌دارید."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"برای روشن یا خاموش کردن این سرویس، با دو انگشت، از پایین صفحه تند به بالا بکشید.\n\nبرای جابه‌جایی بین سرویس‌ها، با دو انگشت تند به بالا بکشید و نگه‌دارید."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"برای روشن یا خاموش کردن این سرویس، با سه انگشت، از پایین صفحه تند به بالا بکشید.\n\nبرای جابه‌جایی بین سرویس‌ها، با سه انگشت تند به بالا بکشید و نگه‌دارید."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"برای روشن یا خاموش کردن سرویس‌های دستری‌پذیری، با دو انگشت، از پایین صفحه تند به بالا بکشید.\n\nبرای جابه‌جایی بین سرویس‌ها، با دو انگشت تند به بالا بکشید و نگه‌دارید."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"برای روشن یا خاموش کردن سرویس‌های دسترس‌پذیری، با سه انگشت، از پایین صفحه تند به بالا بکشید.\n\nبرای جابه‌جایی بین سرویس‌ها، با سه انگشت تند به بالا بکشید و نگه‌دارید."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"برای روشن یا خاموش کردن این سرویس، در پایین صفحه، روی دکمه دسترس‌پذیری <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> ضربه بزنید.\n\nبرای جابه‌جایی بین سرویس‌ها، دکمه دسترس‌پذیری را لمس کنید و نگه دارید."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"برای روشن یا خاموش کردن این سرویس، با دو انگشت، از پایین صفحه تند به بالا بکشید.\n\nبرای جابه‌جایی بین سرویس‌ها، با دو انگشت تند به بالا بکشید و نگه‌دارید."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"برای روشن یا خاموش کردن این سرویس، با سه انگشت، از پایین صفحه تند به بالا بکشید.\n\nبرای جابه‌جایی بین سرویس‌ها، با سه انگشت تند به بالا بکشید و نگه‌دارید."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"برای روشن یا خاموش کردن سرویس‌های دستری‌پذیری، با دو انگشت، از پایین صفحه تند به بالا بکشید.\n\nبرای جابه‌جایی بین سرویس‌ها، با دو انگشت تند به بالا بکشید و نگه‌دارید."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"برای روشن یا خاموش کردن سرویس‌های دسترس‌پذیری، با سه انگشت، از پایین صفحه تند به بالا بکشید.\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="2820923641553461297">"دکمه دسترس‌پذیری"</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>
+    <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8922102767509399352">"روی دکمه دسترس‌پذیری <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> در پایین صفحه‌نمایش ضربه بزنید"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"از پایین صفحه‌نمایش با ۲ انگشت تند به‌طرف بالا بکشید"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"از پایین صفحه‌نمایش با ۳ انگشت تند به‌طرف بالا بکشید"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"نگه‌داشتن کلیدهای میزان صدا"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"هردو کلید میزان صدا را فشار دهید و ۱ ثانیه نگه‌دارید"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"روی صفحه‌نمایش سه ضربه سریع بزنید"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"به‌سرعت ۳ بار روی صفحه‌نمایش ضربه بزنید. ممکن است این میان‌بر سرعت دستگاه را کاهش دهد."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"پیشرفته"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"دکمه دسترس‌پذیری روی <xliff:g id="SERVICE">%1$s</xliff:g> تنظیم شده است. برای استفاده از درشت‌نمایی، دکمه دسترس‌پذیری را لمس کنید و نگه‌دارید، سپس درشت‌نمایی را انتخاب کنید."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"اشاره دسترس‌پذیری روی <xliff:g id="SERVICE">%1$s</xliff:g> تنظیم شده است. برای استفاده از بزرگ‌نمایی، با دو انگشت از پایین صفحه به بالا بکشید و نگه‌دارید. سپس بزرگ‌نمایی را انتخاب کنید."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"میان‌بر کلید بلندی صدا"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"سرویس میان‌بر"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"تنظیمات میان‌بر"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"اجازه دادن از صفحه قفل"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"وقتی میان‌بر روشن است، می‌توانید هر دو کلید بلندی صدا را ۳ ثانیه فشار دهید تا ویژگی دسترس‌پذیری فعال شود."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"نوشتار با کنتراست بالا"</string>
@@ -2149,24 +2157,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"مدت‌زمان موردنظرتان را برای نمایش پیام‌هایی که می‌خواهند اقدامی بکنید، اما به‌طور موقت نمایش داده می‌شوند، انتخاب کنید.\n\nهمه برنامه‌ها از این تنظیم پشتیبانی نمی‌کنند."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"تأخیر لمس کردن و نگه داشتن"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"وارونگی رنگ"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"تآثیر احتمالی برعملکرد"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"مدت توقف"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"استفاده از وارونگی رنگ"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"‏وارونگی رنگْ صفحه‌نمایش روشن را تیره می‌کند. این به افرادی که به نور زیاد حساس هستند کمک می‌کند تا صفحه‌نمایش را راحت‌تر ببینند.&lt;br/&gt;&lt;br/&gt;توجه: رنگ‌های تیره، روشن می‌شوند. رنگ‌ها در رسانه و تصویرها تغییر خواهند کرد. از «طرح زمینه تیره» نیز می‌توانید استفاده کنید («تنظیمات &gt; نمایشگر»)."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"کلیک خودکار (مدت توقف)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"اگر از موشواره استفاده می‌کنید، می‌توانید نشانگر را طوری تنظیم کنید که وقتی برای مدت زمان مشخصی متوقف می‌شود، به‌طور خودکار اقدامی انجام دهد."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"تأخیر قبل از کلیک"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"از کلیک خودکار استفاده نکنید (پیش‌فرض)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"کوتاه"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"۰٫۲ ثانیه"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"متوسط"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"۰٫۶ ثانیه"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"بلند"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"۱ ثانیه"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"سفارشی"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"کوتاه‌تر"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"طولانی‌تر"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"زمان کلیک خودکار"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"لرزش و قدرت لمسی"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"لرزش برای اعلان"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"لرزش هنگام زنگ خوردن"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"بازخورد لمسی"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"استفاده از سرویس"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"استفاده از <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"باز کردن <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"استفاده از تصحیح رنگ"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"استفاده از زیرنویس"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"نمایش شرح‌ها"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"ظاهر شرح"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"اندازه نوشتار، سبک شرح"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"گزینه‌های دیگر"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"همه برنامه‌ها از این تنظیم پشتیبانی نمی‌کنند."</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>
     <string name="accessibility_hearingaid_instruction_continue_button" msgid="3367260988024430722">"ادامه"</string>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"سمعک‌ها"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"هیچ سمعکی متصل نشده است"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"افزودن سمعک‌ها"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"برای مرتبط‌سازی سمعکتان، دستگاهتان را در صفحه بعدی پیدا کنید و روی آن ضربه بزنید."</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"مطمئن شوید سمعکتان در حالت مرتبط‌سازی باشد."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"برای مرتبط‌سازی سمعکتان، دستگاهتان را در صفحه بعدی پیدا کنید و روی آن ضربه بزنید. مطمئن شوید سمعکتان در حالت مرتبط‌سازی باشد."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> فعال"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> سمعک ذخیره‌شده</item>
@@ -2178,25 +2204,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"این سرویس درست کار نمی‌کند."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"نمایش در تنظیمات سریع"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"حالت تصحیح"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="one">تأخیر فوق‌العاده کوتاه (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> میلی‌ثانیه)</item>
-      <item quantity="other">تأخیر فوق‌العاده کوتاه (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> میلی‌ثانیه)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"قرمز-سبز"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"سبز-قرمز"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"آبی-زرد"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"سبزدشواربینی"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"قرمزدشواربینی"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"آبی‌دشواربینی"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="one">تأخیر فوق‌العاده کوتاه (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ثانیه)</item>
+      <item quantity="other">تأخیر فوق‌العاده کوتاه (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ثانیه)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="one">تأخیر بسیار کوتاه (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> میلی‌ثانیه)</item>
-      <item quantity="other">تأخیر بسیار کوتاه (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> میلی‌ثانیه)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="one">تأخیر خیلی کوتاه (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ثانیه)</item>
+      <item quantity="other">تأخیر خیلی کوتاه (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ثانیه)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="one">تأخیر کوتاه (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> میلی‌ثانیه)</item>
-      <item quantity="other">تأخیر کوتاه (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> میلی‌ثانیه)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="one">تأخیر کوتاه (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ثانیه)</item>
+      <item quantity="other">تأخیر کوتاه (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ثانیه)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="one">تأخیر طولانی (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> میلی‌ثانیه)</item>
-      <item quantity="other">تأخیر طولانی (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> میلی‌ثانیه)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="one">تأخیر طولانی (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ثانیه)</item>
+      <item quantity="other">تأخیر طولانی (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ثانیه)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="one">تأخیر بسیار طولانی (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> میلی‌ثانیه)</item>
-      <item quantity="other">تأخیر بسیار طولانی (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> میلی‌ثانیه)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="one">تأخیر خیلی طولانی (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ثانیه)</item>
+      <item quantity="other">تأخیر خیلی طولانی (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ثانیه)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ثانیه</item>
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ثانیه</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"صدای زنگ <xliff:g id="SUMMARY_RING">%1$s</xliff:g>، اعلان <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>، لمس کردن <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"زنگ زدن و اعلان روی «خاموش» تنظیم شده است"</string>
@@ -2513,7 +2549,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"در حین قطع اتصال آخر برای <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"مقدار کل استفاده"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"بازخوانی"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"‏سیستم عامل Android"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"سرور رسانه"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"بهینه‌سازی برنامه"</string>
     <string name="battery_saver" msgid="7737147344510595864">"بهینه‌سازی باتری"</string>
@@ -2594,8 +2629,7 @@
     <string name="tts_play" msgid="2945513377250757221">"پخش"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"حافظه اطلاعات کاربری"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"نصب از حافظه"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"‏نصب از کارت SD"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"نصب گواهینامه"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"نصب گواهی‌ها از حافظه"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"‏نصب گواهی‌ها از کارت SD"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"پاک کردن اطلاعات کاربری"</string>
@@ -2615,6 +2649,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"حافظه اطلاعات کاربری پاک شد."</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"حافظه اطلاعات کاربری پاک نمی‌شود."</string>
     <string name="usage_access_title" msgid="1580006124578134850">"برنامه‌های مجاز به دسترسی"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"گواهینامه مرکز صدور گواهی"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"‏گواهینامه کاربر برنامه و VPN"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"‏گواهینامه Wi-Fi"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"حریم‌خصوصی درمعرض خطر است"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"‏وب‌سایت‌ها، برنامه‌ها، و شبکه‌های VPN از «گواهینامه‌های مرکز صدور گواهی» برای رمزگذاری استفاده می‌کنند. «گواهینامه‌های مرکز صدور گواهی» را فقط از سازمان‌هایی که مورداعتمادتان هستند نصب کنید. \n\n اگر یک «گواهینامه مرکز صدور گواهی» نصب کنید، مالک گواهینامه می‌تواند ازطریق وب‌سایت‌هایی که بازدید می‌کنید یا برنامه‌هایی که استفاده می‌کنید، به اطلاعات شما (ازجمله گذرواژه‌ها، پیام‌ها، یا جزئیات کارت اعتباری) دسترسی پیدا کند، حتی اگر این اطلاعات رمزگذاری شده باشند."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"نصب نشود"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"در هرصورت نصب شود"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"گواهینامه نصب نشد"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"سیگنال شماره‌گیری اضطراری"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"واکنش موجود در هنگام برقراری تماس اضطراری را تنظیم کنید"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"پشتیبان‌گیری"</string>
@@ -2642,10 +2684,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"غیرفعال‌ کردن و حذف نصب"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"برنامه‌های سرپرست دستگاه"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"هیچ‌یک از برنامه‌‌های سرپرست دستگاه در دسترس نیستند"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"شخصی"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"کاری"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"محدود کردن دسترسی به پیامک و گزارش تماس"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"فقط برنامه‌های پیش‌فرض تلفن و پیام‌رسانی مجوز پیامک و گزارش تماس دارند"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"نمایندگان مورداعتماد در دسترس نیست"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"برنامه سرپرست دستگاه فعال شود؟"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"فعال کردن این برنامه سرپرست دستگاه"</string>
@@ -2659,6 +2697,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"گزینه‌های دیگر را سرپرستتان غیرفعال کرده است"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"جزئیات بیشتر"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"گزارش اعلان"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"سابقه اعلان"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"امروز"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"به تعویق‌افتاده"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"اخیراً ردشده"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="one"><xliff:g id="NUMBER_1">%d</xliff:g> اعلان</item>
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> اعلان</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"لرزش و آهنگ زنگ تماس"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"جزئیات شبکه"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"همگام‌سازی فعال شد"</string>
@@ -3008,7 +3054,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"محدودیت‌ها"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"حذف محدودیت‌ها"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"تغییر پین"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"نمایش اعلان‌ها"</string>
     <string name="help_label" msgid="2896538416436125883">"راهنما و بازخورد"</string>
     <string name="support_summary" msgid="1034146931237148885">"مقاله‌های راهنما، تلفن و گپ، شروع‌به‌کار"</string>
     <string name="user_account_title" msgid="6389636876210834864">"حساب برای محتوا"</string>
@@ -3033,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"‏تماس 4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"‏استفاده از سرویس‌های LTE جهت بهبود ارتباطات صوتی و سایر ارتباطات (توصیه می‌شود)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"‏استفاده از سرویس‌های 4G برای بهبود صدا و سایر ارتباطات (توصیه می‌شود)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"کاوش مخاطب"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"به شرکت مخابراتی‌تان اجازه می‌دهد کاوش کند مخاطبینتان از کدام ویژگی‌های تماس پشتیبانی می‌کنند."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"«کاوش مخاطب» فعال شود؟"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"فعال کردن این ویژگی به شرکت مخابراتی‌تان اجازه می‌دهد به شماره‌های تلفن مخاطبینتان دسترسی داشته باشد تا کاوش کند مخاطبینتان از کدام ویژگی‌های تماس پشتیبانی می‌کنند."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"نوع شبکه ترجیحی"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"‏LTE (توصیه می‌شود)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"فراپیام"</string>
@@ -3077,7 +3126,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"تماس با"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"انتخاب سیم‌کارت"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"سیم‌کارت <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"سیم‌کارت خالی است"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"نام سیم‌کارت"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"نام سیم‌کارت را وارد کنید"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"‏شیار سیم‌کارت %1$d"</string>
@@ -3087,6 +3135,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"انتخاب سیم‌کارت"</string>
     <string name="color_orange" msgid="216547825489739010">"نارنجی"</string>
     <string name="color_purple" msgid="6603701972079904843">"بنفش"</string>
+    <string name="color_pink" msgid="8596872110888626708">"صورتی"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"هیچ سیم‌کارتی جاگذاری نشده است"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"وضعیت سیم‌کارت"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"‏وضعیت سیم‌کارت (شیار سیم‌کارت %1$d)"</string>
@@ -3100,7 +3149,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"سیم‌کارت‌ها تغییر یافتند."</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"برای راه‌اندازی ضربه بزنید"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"سیم‌کارت ترجیحی برای"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"هر بار پرسیده شود"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"انتخاب مورد نیاز است"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"انتخاب سیم‌کارت"</string>
@@ -3118,6 +3166,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"بلوتوث، حالت رانندگی"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"‏بلوتوث، NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"بلوتوث"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"‏غیرقابل‌دسترسی چون NFC خاموش است"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"برنامه‌ها و اعلان‌ها"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"برنامه‌های اخیر، برنامه‌ها پیش‌فرض"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"برنامه‌ها نمی‌توانند در نمایه کاری به اعلان‌ها دسترسی داشته باشند."</string>
@@ -3128,13 +3177,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"تنظیمات"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"‏wifi، ‏Wi-Fi، اتصال شبکه، اینترنت، بی‌سیم، داده، wi fi"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"‏اعلان Wi-Fi، اعلان wifi"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"مصرف داده"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"توقف لرزش، ضربه زدن، صفحه‌کلید"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"استفاده از قالب ۲۴ ساعته"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"بارگیری"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"باز کردن با"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"برنامه‌ها"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"منطقه زمانی"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"حباب گپ"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"تصویر گپ، سیستم، هشدار، پنجره، گفتگو، نمایش، روی سایر برنامه‌ها، طراحی"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"چراغ قوه، چراغ"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"‏wifi،‏ wi-fi، روشن/خاموش کردن، کنترل کردن"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"‏شبکه همراه، دستگاه همراه، شرکت مخابراتی تلفن همراه، بی‌سیم، داده 4g،‏ 3g،‏ 2g،‏ lte"</string>
@@ -3158,7 +3208,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"مزاحم نشوید، قطع، وقفه، توقف"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"‏اطراف، مکان، سابقه، گزارش، GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"حساب"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"حساب، افزودن حساب، نمایه کاری، افزودن حساب"</string>
     <string name="keywords_users" msgid="3497517660077620843">"محدودیت، محدود، محدودشده"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"تصحیح نوشتار، تصحیح، صدا، لرزش، خودکار، زبان، اشاره، پیشنهاد دادن، پیشنهاد، طرح زمینه، توهین‌آمیز، کلمه، نوع، اموجی، بین‌المللی"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"بازنشانی، اولویت‌ها، پیش‌فرض"</string>
@@ -3196,6 +3246,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"حافظه، حافظه پنهان، داده، حذف، پاک کردن، آزاد، فضا"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"متصل، دستگاه، هدفون‌ها، هدست‌ها، بلندگو، بی‌سیم، مرتبط‌سازی، هدفون‌های توگوشی، موسیقی، رسانه"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"پس‌زمینه، صفحه نمایش، صفحه در حالت قفل، طرح زمینه"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"شکل نماد، رنگ تأکیدی، قلم"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"پیش‌فرض، دستیار"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"پرداخت، پیش‌فرض"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"اعلان ورودی"</string>
@@ -3205,18 +3256,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"لمس، لرزش، حساسیت"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"بهینه‌سازی باتری، چسبان، باقی ماندن، بهینه‌سازی نیرو، باتری"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"روال، زمان‌بندی، بهینه‌سازی باتری، بهینه‌سازی نیرو، باتری، خودکار، درصد"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"نمایه کاری"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"‏volte، تماس پیشرفته، تماس 4g"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"افزودن زبان، افزودن یک زبان"</string>
     <string name="default_sound" msgid="6604374495015245195">"صدای پیش‌فرض"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"بلندی صدای زنگ <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"میزان صدای زنگ و اعلان <xliff:g id="PERCENTAGE">%1$s</xliff:g> است"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"میزان صدا، لرزش، «مزاحم نشوید»"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"زنگ روی لرزش تنظیم شده است"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"زنگ روی سکوت تنظیم شده است"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"بلندی صدای زنگ ۸۰٪"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"میزان صدای زنگ و اعلان ٪۸۰ است"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"میزان صدای رسانه"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"میزان صدای محتوای ارسالی"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"میزان صدای تماس"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"میزان صدای زنگ"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"میزان صدای زنگ"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"میزان صدای زنگ و اعلان"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"میزان صدای اعلان"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"آهنگ زنگ تلفن"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"صدای اعلان پیش‌فرض"</string>
@@ -3224,6 +3276,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"صدای اعلان پیش‌فرض"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"صدای زنگ پیش‌فرض"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"لرزش برای تماس‌ها"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"هیچ‌وقت نلرزد"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"همیشه بلرزد"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"ابتدا بلرزد و سپس به‌تدریج زنگ بخورد"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"سایر صداها"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"آهنگ‌های صفحه شماره‌گیری"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"صداهای قفل شدن صفحه"</string>
@@ -3247,6 +3302,7 @@
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> مورد فعال شد</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"مزاحم نشوید"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"فقط در ارتباط با افراد و برنامه‌های مهم اعلان دریافت کنید"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"محدود کردن وقفه‌ها"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"روشن کردن «مزاحم نشوید»"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"استثناها"</string>
@@ -3273,7 +3329,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: ‏<xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"مسدود کردن مزاحمت‌های بصری"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"مجاز کردن همه سیگنال‌های تصویری"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"وقتی «مزاحم نشوید» روشن است"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"مجاز کردن وقفه‌هایی که صدا ایجاد می‌کنند"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"محدود کردن اعلان‌ها"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"بدون صدای اعلان‌ها"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"اعلان‌ها را روی صفحه‌تان خواهید دید"</string>
@@ -3304,7 +3360,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"صدا و لرزش"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"صدا، لرزش و بعضی از نشانه‌های بصری اعلان‌ها"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"صدا، لرزش و نشانه‌های بصری اعلان‌ها"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"اعلان‌های لازم برای وضعیت و فعالیت اصلی تلفن مخفی نخواهد شد"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"اعلان‌های لازم مربوط به وضعیت و فعالیت اصلی تلفن هرگز مخفی نخواهد شد."</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"خالی"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"گزینه‌های دیگر"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"افزودن"</string>
@@ -3334,10 +3390,12 @@
       <item quantity="one"><xliff:g id="ON_COUNT">%d</xliff:g> زمان‌بندی می‌تواند به‌طور خودکار روشن شود</item>
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> زمان‌بندی می‌تواند به‌طور خودکار روشن شود</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"صامت کردن دستگاه، جز در موارد استثنا"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"استثناها"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"زمان‌بندی"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"مشاهده همه استثناها"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"استثناها وقتی «مزاحم نشوید» روشن است"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"افراد"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"برنامه‌ها"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"هشدارها و دیگر وقفه‌ها"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"زمان‌بندی‌ها"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"اعلان‌های بی‌صداشده"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"وقتی «مزاحم نشوید» روشن باشد، به‌غیراز مواردی که در بالا مجاز می‌کنید، صدا و لرزش صامت می‌شوند."</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"صامت کردن همه به‌جز"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"صامت"</string>
@@ -3381,16 +3439,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"اعلان‌های تطبیقی"</string>
     <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_capabilities_actions_replies_title" msgid="4392470465646394289">"پاسخ‌ها و اقدامات پیشنهادی"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"نمایش خودکار اقدامات و پاسخ‌های پیشنهادی"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"برای پیگیری اعلان‌های گذشته و اعلان‌های به‌تعویق افتاده، سابقه اعلان را روشن کنید"</string>
+    <string name="notification_history" msgid="8663811361243456201">"سابقه اعلان"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"روشن‌کردن سابقه"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"خاموش کردن سابقه"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"سابقه اعلان خاموش است"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"مشاهده تنظیمات اعلان"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"مجاز کردن تعویق اعلان"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"پنهان کردن نماد اعلان‌های آرام"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"نمادهای اعلان‌های آرام در نوار وضعیت نشان داده نمی‌شود"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"اجازه به نقطه‌های اعلان"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"نمایش نوار مکالمه‌های اخیر"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"ابزارک‌های اعلان"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"برخی اعلان‌ها می‌توانند درقالب ابزارک اعلان روی صفحه نشان داده شوند"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"برخی اعلان‌ها و سایر محتواها می‌تواند درقالب ابزارک اعلان روی صفحه نشان داده شود. برای باز کردن ابزارک اعلان، روی آن ضربه بزنید. برای رد کردن، آن را به پایین صفحه بکشید."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"ابزارک‌های اعلان"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"پیام‌های جدیدی روی صفحه‌نمایش ظاهر خواهند شد"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"مجاز کردن <xliff:g id="APP_NAME">%1$s</xliff:g> برای نمایش برخی اعلان‌ها درقالب ابزارک اعلان"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"روشن کردن ابزارک اعلان"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"برای روشن کردن ابزارک‌های اعلان برای این برنامه، ابتدا باید آن‌ها را برای این دستگاه روشن کنید. این کار بر سایر برنامه‌هایی که قبلاً ابزارک‌های اعلان را در آن‌ها روشن کرده‌اید تأثیر می‌گذارد."</string>
@@ -3408,6 +3476,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"در کشوی اعلان‌های پایین‌کش و در صفحه قفل نشان داده می‌شود"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"در کشوی اعلان‌های پایین‌کش و نوار وضعیت نشان داده می‌شود"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"در کشوی اعلان‌های پایین‌کش، نوار وضعیت و صفحه قفل نشان داده می‌شود"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"پنهان کردن اعلان‌های ساکت در نوار وضعیت"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"نور چشمک‌زن"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"صفحه قفل"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"رد کردن صفحه قفل"</string>
@@ -3438,6 +3507,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"رفتار"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"صدا مجاز است"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"هرگز اعلان‌ها نمایش داده نشوند"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"مکالمه‌ها"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"مکالمه"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"مکالمه نیست"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"برداشتن از بخش مکالمه"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"این مکالمه است"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"افزودن به بخش مکالمه"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"مدیریت مکالمه‌ها"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"مکالمه‌های مهم"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"همه مکالمه‌ها"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"نمایش مکالمه‌های مهم به‌صورت ابزارک اعلان"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"مکالمه‌های مهم در بالای کشوی پایین‌بر نمایش داده می‌شوند. به‌علاوه می‌توانید تنظیم کنید به‌صورت ابزارک اعلان ظاهر شوند و در حالت «مزاحم نشوید» وقفه ایجاد کنند."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"نمایش در سکوت و اهمیت پایین"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"نمایش به‌صورت بی‌صدا"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"پخش صدا"</string>
@@ -3456,7 +3536,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"به شما کمک می‌کند بدون صدا یا لرزش تمرکز کنید"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"با صدا و لرزش توجه شما را جلب می‌کند"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"وقتی قفل دستگاه باز می‌شود، اعلان‌ها به‌صورت برنمایی در بالای صفحه‌نمایش نشان داده شود"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"نمایش اعلان‌ها"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"همه اعلان‌های <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"اعلان‌های تطبیقی"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="one">~<xliff:g id="NUMBER_1">%d</xliff:g> اعلان در روز</item>
@@ -3477,6 +3557,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"اعلان‌های تطبیقی"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"خالی"</string>
     <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="3119843404577399036">"<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>
@@ -3538,8 +3619,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"تمام"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"اهمیت"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"نور چشمک‌زن"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"لرزش"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"لرزش"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"صدا"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"مهم"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"افزودن به صفحه اصلی"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"حذف"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"تغییر نام"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"نام زمان‌بندی"</string>
@@ -3593,6 +3676,10 @@
       <item quantity="one"><xliff:g id="NUM_PEOPLE">%d</xliff:g> نفر دیگر</item>
       <item quantity="other"><xliff:g id="NUM_PEOPLE">%d</xliff:g> نفر دیگر</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"مکالمات"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"از همه مکالمه‌ها"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"از مکالمه‌های مهم"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"هیچ مکالمه‌ای مجاز نیست"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"اجازه دادن به پیام‌ها"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"برای اینکه ببینید پیام‌های مجاز صدا دارند، ببینید دستگاهتان را برای زنگ زدن، یا حالت بی‌صدا، یا روی لرزش تنظیم کرده‌اید یا نه."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"پیام‌های ورودی برای «<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>» مسدود شده‌اند. برای اینکه به دوستان و خانواده و سایر مخاطبین امکان دهید به شما دسترسی داشته باشند، می‌توانید تنظیمات را تغییر دهید."</string>
@@ -3606,15 +3693,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"خالی"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"عدم‌اجازه به هیچ تماسی"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"هیچ پیامی مجاز نیست"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"مجاز کردن زنگ‌های ساعت"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"هشدارها"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"از زمان‌سنج‌ها، هشدارها، سیستم‌های امنیتی، و دیگر برنامه‌ها"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"هشدارها"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"پخش صداهای رسانه"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"صدای رسانه"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"از ویدیوها، بازی‌ها، و دیگر رسانه‌ها"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"رسانه‌ها"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"مجاز کردن صداهای لمس"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"صداهای لمس"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"از صفحه‌کلید و دیگر دکمه‌ها"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"صداهای لمس"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"مجاز کردن یادآوری‌ها"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"یادآوری‌ها"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"از کارها و یادآوری‌ها"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"یادآوری‌ها"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"مجاز کردن رویدادها"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"رویدادها"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"از رویدادهای تقویم آتی"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"مجاز کردن برنامه‌ها برای لغو"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"برنامه‌های مستثنا"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3657,6 +3749,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"با «مزاحم نشوید»‌ که باعث روشن شدن صفحه‌نمایش می‌شود، اعلان‌ها را بی‌صدا کنید"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"تنظیمات اعلان"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"تأیید"</string>
+    <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>
@@ -3667,6 +3760,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"درخواست کد پین قبل از برداشتن پین"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"درخواست گذرواژه قبل از برداشتن پین"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"قفل کردن دستگاه هنگام برداشتن پین"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"تأیید حذف سیم‌کارت"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"قبل از پاک کردن سیم‌کارت بارگیری‌شده، هویت خود را به تأیید برسانید"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"سرپرست زیر این نمایه کاری را مدیریت می‌کند:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"مدیریت شده توسط <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(آزمایشی)"</string>
@@ -3741,8 +3836,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"همه برنامه‌ها"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"برنامه‌های نصب‌شده"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"برنامه‌های فوری"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"شخصی"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"کاری"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"برنامه‌ها: همه موارد"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"خاموش"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"دسته‌ها: موارد با اهمیت فوری"</string>
@@ -3754,6 +3847,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"برنامه ناشناس"</string>
     <string name="app_permissions" msgid="8666537659217653626">"مدیر مجوز"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"برنامه‌های درحال استفاده از <xliff:g id="APPS">%1$s</xliff:g>"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"برنامه‌هایی که از <xliff:g id="APPS">%1$s</xliff:g> و موارد دیگر استفاده می‌کنند"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"ضربه برای بیدار شدن"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"برای بیدار کردن دستگاه روی قسمتی از صفحه دوبار ضربه بزنید"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"باز کردن پیوندها"</string>
@@ -3765,9 +3859,14 @@
       <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> برنامه برای باز کردن پیوندهای پشتیبانی‌شده</item>
       <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> برنامه برای باز کردن پیوندهای پشتیبانی‌شده</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"در این برنامه باز شود"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"برنامه اجازه دارد پیوندهای پشتیبانی‌شده را باز کند"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"هر بار پرسیده شود"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"در این برنامه باز نشود"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"برنامه اجازه ندارد پیوندها را باز کند"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="one">برنامه درخواست دارد <xliff:g id="COUNT_1">%d</xliff:g> پیوند را مدیریت کند</item>
+      <item quantity="other">برنامه درخواست دارد <xliff:g id="COUNT_1">%d</xliff:g> پیوند را مدیریت کند</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"برنامه درخواست دارد پیوندهای زیر را مدیریت کند:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"پیش‌فرض"</string>
     <string name="default_for_work" msgid="537558180548617528">"پیش‌فرض برای کار"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"همیار و ورودی گفتاری"</string>
@@ -3911,8 +4010,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"نمایش روی سایر برنامه‌ها"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"مجاز کردن نمایش روی سایر برنامه‌ها"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"به برنامه‌‌‌ اجازه می‌دهد روی سایر برنامه‌هایی که درحال استفاده از آن‌ها هستید نشان داده شود. ممکن است این قابلیت در استفاده شما از آن برنامه‌ها تداخل ایجاد کند یا طرز نمایش یا عملکرد آن‌ها را تغییر دهد."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"دسترسی به همه فایل‌ها"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"دسترسی دادن برای مدیریت همه فایل‌ها"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"به این برنامه اجازه می‌دهد همه فایل‌های موجود در این دستگاه یا فضاهای ذخیره‌سازی متصل‌شده به آن را بخواند، تغییر دهد، و حذف کند. اگر این مجوز به برنامه داده شود، ممکن است بدون اطلاع صریح شما به فایل‌ها دسترسی یابد."</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"می‌توانند به همه فایل‌ها دسترسی داشته باشند"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"‏vr واقعیت مجازی شنونده استریو یاور خدمات"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"نمایش کادر گفتگوی هشدار سیستم روی سایر برنامه‌ها"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"نمایش روی سایر برنامه‌ها"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"برای نمایش روی سایر برنامه‌ها، <xliff:g id="COUNT_0">%1$d</xliff:g> مورد از <xliff:g id="COUNT_1">%2$d</xliff:g> برنامه مجاز شده‌اند"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"برنامه‌های دارای مجوز"</string>
@@ -4078,6 +4180,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"<xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g> مصرف شده است"</string>
     <string name="data_overusage" msgid="3680477320458707259">"<xliff:g id="ID_1">^1</xliff:g> بیش از محدودیت داده"</string>
     <string name="data_remaining" msgid="6316251496381922837">"<xliff:g id="ID_1">^1</xliff:g> باقی مانده است"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"نموداری که مصرف داده را بین <xliff:g id="START_DATE">%1$s</xliff:g> و <xliff:g id="END_DATE">%2$s</xliff:g> نشان می‌دهد."</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"در این محدوده تاریخ، داده‌ای وجود ندارد"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="one">‏%d روز باقی‌مانده است</item>
       <item quantity="other">‏%d روز باقی‌مانده است</item>
@@ -4141,14 +4245,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"اندازه بسته"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"اعلان هشدار‌"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"صدا"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"لرزش"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"الگو"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"پیش‌فرض"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"کانال"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"خالی"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"شیء رتبه‌بندی وجود ندارد."</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"شیء رتبه‌بندی حاوی این کلید نیست."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"سفارشی‌سازی طرح زمینه"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"پیش‌فرض دستگاه"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"برش نمایشگر"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"بریدگی حاشیه نمایشگر، حاشیه بالای نمایشگر"</string>
@@ -4237,8 +4337,12 @@
     <string name="information_label" msgid="6939310810756569298">"اطلاعات"</string>
     <string name="low_label" msgid="6525629096999711220">"کم"</string>
     <string name="high_label" msgid="357503396626018487">"بالا"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"حساسیت بالاتر ممکن است با اشاره‌های برنامه در راستای لبه صفحه تداخل داشته باشد."</string>
+    <string name="left_edge" msgid="1513576842959071849">"لبه راست"</string>
+    <string name="right_edge" msgid="1505309103265829121">"لبه چپ"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"حساسیت بالاتر ممکن است با اشاره‌های برنامه در راستای لبه صفحه تداخل داشته باشد."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"حساسیت «برگشت»"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"تنظیمات اشاره"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"پیمایش اشاره‌ای، حساسیت برگشت، اشاره برگشت"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"دو ضربه برای چک کردن تلفن"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"برای بررسی رایانه لوحی، دو ضربه سریع بزنید"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"برای بررسی دستگاه، دو ضربه سریع بزنید"</string>
@@ -4393,7 +4497,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"شروع ارائه شرکت مخابراتی"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"به‌روزرسانی «مزاحم نشوید»"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"توقف موقت اعلان‌ها برای متمرکز ماندن"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"این ویدیو در این دستگاه دردسترس نیست."</string>
     <string name="disabled_feature" msgid="7151433782819744211">"ویژگی دردسترس نیست."</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"این ویژگی غیرفعال شده است چون سرعت تلفنتان را کاهش می‌دهد"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"‏اجرای کامل اندازه‌گیری GNSS"</string>
@@ -4403,20 +4506,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"‏برنامه دارای ANGLE فعال انتخاب کنید"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"‏هیچ برنامه دارای ANGLE فعال تنظیم نشده است"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"‏برنامه دارای ANGLE فعال: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"اولویت‌ها درایور بازی"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"تغییر تنظیمات «درایور بازی»"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"وقتی «درایور بازی» روشن است، می‌توانید انتخاب کنید که درایور گرافیک به‌روزرسانی‌شده برای برنامه‌های نصب‌شده در دستگاه استفاده شود."</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"فعال کردن برای همه برنامه‌ها"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"انتخاب درایور گرافیک"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"پیش‌فرض"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"درایور بازی"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"درایور پیش‌انتشار"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"درایور گرافیک سیستم"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"اولویت‌های درایور گرافیک"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"تغییر تنظیمات درایور گرافیک"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"وقتی چند درایور گرافیک وجود دارد، می‌توانید انتخاب کنید درایور گرافیک به‌روزرسانی‌شده برای برنامه‌های نصب‌شده در دستگاه استفاده شود."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"فعال کردن برای همه برنامه‌ها"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"انتخاب درایور گرافیک"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"پیش‌فرض"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"درایور بازی"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"درایور برنامه‌نویس"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"درایور گرافیک سیستم"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"تغییرات در سازگاری برنامه"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"روشن/خاموش کردن تغییرات سازگاری برنامه"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"تغییرات فعال پیش‌فرض"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"تغییرات غیرفعال پیش‌فرض"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"تنظیم در این تلفن پشتیبانی نمی‌شود"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"تنظیم در این رایانه لوحی پشتیبانی نمی‌شود"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"تنظیم در این دستگاه پشتیبانی نمی‌شود"</string>
@@ -4435,6 +4544,12 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"دستگاه"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"غیر قابل دسترسی درطول تماس"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"دردسترس نیست"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"افزودن خروجی‌ها"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"گروه"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"۱ دستگاه انتخاب شد"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> دستگاه انتخاب شد"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"دریافت تماس با"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"‏این APN قابل‌تغییر نیست."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"بهبود عمر باتری رایانه لوحی"</string>
@@ -4552,10 +4667,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"هربار فقط یک سیم‌کارت بارگیری‌شده می‌تواند فعال شود.\n\nبا انتقال به <xliff:g id="CARRIER1">%1$s</xliff:g>، سرویس <xliff:g id="CARRIER2">%2$s</xliff:g> لغو نمی‌شود."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"رفتن به <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"پاک‌سازی سیم‌کارت"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"این سیم‌کارت بارگیری‌شده پاک‌سازی شود؟"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"با پاک‌سازی این سیم‌کارت، سرویس <xliff:g id="CARRIER_0">%1$s</xliff:g> از این دستگاه برداشته می‌شود.\n\nسرویس مربوط به <xliff:g id="CARRIER_1">%2$s</xliff:g> لغو نمی‌شود."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"پاک‌سازی"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"درحال پاک‌سازی سیم‌کارت…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"سیم‌کارت پاک‌سازی نشد"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"به‌دلیل بروز خطا، این سیم‌کارت پاک‌سازی نشد.\n\nدستگاه را بازراه‌اندازی کنید و دوباره امتحان کنید."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"نوع شبکه برگزیده"</string>
@@ -4580,7 +4691,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"حالت شبکه نامعتبر <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. نادیده گرفته شود."</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"نام‌های نقطه دسترسی"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"هنگام اتصال به <xliff:g id="CARRIER">%1$s</xliff:g>، دردسترس نیست"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"اطلاعات پزشکی، شماره تماس‌های اضطراری"</string>
     <string name="see_more" msgid="7499355691042812723">"موارد بیشتر"</string>
     <string name="see_less" msgid="2642392725363552793">"مشاهده موارد کمتر"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"دستگاه مورداستفاده با <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
@@ -4589,11 +4699,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"مشکلی رخ داد. برنامه درخواست انتخاب دستگاه را لغو کرد."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"اتصال برقرار شد"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"نمایش همه"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> دستگاه متصل</item>
-      <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> دستگاه متصل</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"هیچ دستگاه بلوتوثی وجود ندارد"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"درحال جستجوی دستگاه…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"درحال اتصال به دستگاه…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"چپ"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"راست"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"جلد محاف"</string>
@@ -4603,6 +4710,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"عدم‌دسترسی در حالت هواپیما"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"اجرای اجباری حالت دسک‌‌تاپ"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"اجرای اجباری حالت دسک‌تاپ آزمایشی در نمایشگرهای ثانوی"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"فعال کردن سازگاری اندازه در قالب آزاد"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"به برنامه‌هایی با سازگاری اندازه اجازه می‌دهد قالب آزاد داشته باشند"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"لغو اجبار حالت تاریک"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"ویژگی اجبار حالت تاریک را برای همیشه روشن بودن لغو می‌کند"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"حریم خصوصی"</string>
@@ -4639,6 +4748,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"این برنامه را اخیراً نصب کرده‌اید."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"تغییر خروجی"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"درحال‌حاضر در <xliff:g id="DEVICE_NAME">%1$s</xliff:g> درحال پخش است"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (اتصال قطع شد)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"عوض نمی‌شود. برای امتحان مجدد ضربه بزنید."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"اطلاعات مهم"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"ادامه"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"نه متشکرم"</string>
@@ -4666,8 +4777,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"ترکیب سیم‌کارت"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"اطلاعات خط‌مشی کار شما"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"تنظیمات مدیریت‌شده توسط سرپرست فناوری اطلاعات شما"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"‏واحد پردازش گرافیکی (GPU)"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"کنترل‌کننده گزارش اشکال"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"تعیین می‌کند کدام برنامه میان‌بر «گزارش اشکال» را در دستگاه کنترل کند."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"شخصی"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"کاری"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"پیش‌فرض سیستم"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"این انتخاب دیگر معتبر نیست. دوباره امتحان کنید."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"توقف ارسال محتوا"</string>
 </resources>
diff --git a/res/values-fi/arrays.xml b/res/values-fi/arrays.xml
index 65d7b2c..d979b56 100644
--- a/res/values-fi/arrays.xml
+++ b/res/values-fi/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"Heti"</item>
     <item msgid="463591454172790676">"5 sekuntia"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"Älä vahvista"</item>
+    <item msgid="5703177653586269306">"Pyydä varmenteen tilaa"</item>
+    <item msgid="326388247868439528">"Edellytä varmenteen tilaa"</item>
+    <item msgid="1090956283885790552">"Edellytä kaikkien ei-luotettujen varmenteiden tilaa"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"Paina painiketta"</item>
     <item msgid="2630618799033509548">"Vertaislaitteen PIN-koodi"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"Ei mitään"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"Esijaettuun avaimeen perustuva IPSec-suojattu VPN-verkko Xauth-todennuksella"</item>
     <item msgid="2484564813864139237">"IPSec-suojattu VPN-verkko varmenteilla ja Xauth-todennuksella"</item>
     <item msgid="68918911194507915">"IPSec-suojattu VPN-verkko varmenteilla ja hybriditodennuksella"</item>
+    <item msgid="4631647675167100375">"IKEv2- ja IPSec-pohjainen VPN varmenteilla ja käyttäjänimen sekä salasanan todennuksella"</item>
+    <item msgid="8812228622975052811">"Esijaettuja avaimia käyttäviä IKEv2- ja IPSec-pohjainen VPN"</item>
+    <item msgid="6630554779981113046">"IKEv2- ja IPSec-pohjainen VPN varmenteilla"</item>
   </string-array>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"–"</item>
diff --git a/res/values-fi/config.xml b/res/values-fi/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-fi/config.xml
+++ b/res/values-fi/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index 16ed2b9..62182f0 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -31,49 +31,17 @@
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Ota kehittäjäasetukset ensin käyttöön."</string>
     <string name="header_category_wireless_networks" msgid="303445626075235229">"Langaton verkko ja verkot"</string>
     <string name="header_category_system" msgid="1665516346845259058">"Järjestelmä"</string>
-    <string name="radio_info_data_connection_enable" msgid="7500945447906187613">"Ota tiedonsiirto käyttöön"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"Poista tiedonsiirto käytöstä"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"VoLTEn hallinnoima"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"Videopuhelukäyttäjiä hallitaan"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"Wi-Fi-puhelukäyttäjiä hallitaan"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"EAB/läsnäolo hallinnoitu"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"Cbrs-data"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"Ota DSDS käyttöön"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"Käynnistetäänkö laite uudelleen?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"Laite on käynnistettävä uudelleen asetuksen muuttamiseksi."</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"Käynnistä uudelleen"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"Peruuta"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"Mobiiliradion voimakkuus"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"Näytä SIM-kortin osoitekirja"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"Näytä sallitut numerot"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"Näytä sallitut palvelunumerot"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"IMS-palvelun tila"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"IMS-tila"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"Rekisteröity"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"Ei rekisteröity"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"Käytettävissä"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"Ei käytettävissä"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"IMS-rekisteröinti: <xliff:g id="STATUS">%1$s</xliff:g>\nLTE-äänipuhelut: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nWi-Fi-äänipuhelut: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideopuhelut: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT-käyttöliittymä: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"Kuuluvuusalueella"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Katvealueella"</string>
     <string name="radioInfo_service_emergency" msgid="6838935881091760942">"Vain hätäpuhelut"</string>
     <string name="radioInfo_service_off" msgid="6184928420860868571">"Radio pois käytöstä"</string>
     <string name="radioInfo_roaming_in" msgid="8892550453644088692">"Roaming"</string>
     <string name="radioInfo_roaming_not" msgid="3137594549464975054">"Ei roaming-tilassa"</string>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"Käyttämätön"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"Soitto"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"Puhelu kesken"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"Yhteys katkaistu"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"Yhdistetään"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"Yhdistetty"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Pidätetty"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Ei tiedossa"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"paketteja"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"tavua"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"Poista USB-tila käytöstä"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"Poista SD-kortti käytöstä"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"Tyhjennä USB-tila"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"Suurenna tai pienennä tekstiä näytöllä."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Pienennä"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Suurenna"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"Esimerkkiteksti"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"Ihmemaa Oz"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"Luku 11: Ozin ihastuttava smaragdikaupunki"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"Laite on käynnistettävä uudelleen asetuksen muuttamiseksi."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"Käyn. uud."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"Peruuta"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"Käytettävissä olevat medialaitteet"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"Käytettävissä olevat soittolaitteet"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"Yhdistetty tällä hetkellä"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"Medialaitteet"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"Soittolaitteet"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"Muut laitteet"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Tallennetut laitteet"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth käynnistetään parinmuodostusta varten."</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Yhteysasetukset"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"Antamasi portti on virheellinen."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"Selain saa käyttää HTTP-välityspalvelinta mutta muut sovellukset eivät."</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"Välitysp. aut. määr. URL: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"Nykyinen alitunnus:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"Oletusarvoisen data-SIM-kortin alitunnus:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"DL-kaistanleveys (kt/s):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"UL-kaistanleveys (kt/s):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"Matkapuhelimen sijaintitiedot (poistettu käytöstä):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"Fyysisen LTE-kanavan kokoonpano:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"Matkapuhelintietojen päivitysaikaväli:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"Matkapuhelimen kaikki mittaustiedot:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"Datapalvelu:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"Roaming:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI-koodi:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"Puhelujen uudelleenohjaus:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"PPP-palautuksien lukumäärä käynnistyksen jälkeen:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"Nykyinen verkko:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"Vastaanotetut tiedot:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"Puhelupalvelu:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"Signaalin vahvuus:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"Äänipuhelun tila:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"Lähetetyt tiedot:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"Viesti odottaa:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"Puhelinnumero:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"Valitse radiotaajuus"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"Äänipuhelujen verkon tyyppi:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"Tietoverkon tyyppi:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"Valitse puhelimen hakemisto"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"Aseta ensisijainen verkon tyyppi:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"Ping-kutsu isäntänimelle (www.google.com), IPv4:"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"Ping-kutsu isäntänimelle (www.google.com), IPv6:"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"HTTP-asiakastesti:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"Suorita ping-testi"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"Päivitä"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"Päivitä"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"Ota DNS-tarkistus käyttöön tai poista se käytöstä"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"OEM-kohtaiset tiedot/asetukset"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"Radion taajuustilan valinta"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"Ladataan taajuusluetteloa…"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"Aseta"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"Epäonnistui"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"Onnistui"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"Muutokset tulevat voimaan, kun USB-kaapeli kytketään uudelleen."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"Ota USB-massamuisti käyttöön"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"Tavuja yhteensä:"</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"Siirrä viimeiseksi"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"Poista kieli"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"Valitse toiminto"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"Laitteen tiedot"</string>
     <string name="display_label" msgid="3056320781191343221">"Näyttö"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"Tablet-laitteen tiedot"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"Puhelimen tiedot"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"USB-tallennustila"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"SD-kortti"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"Välityspalvelimen asetukset"</string>
@@ -306,9 +234,6 @@
     <string name="airplane_mode" msgid="3196085857882526817">"Lentokonetila"</string>
     <string name="wireless_networks_settings_title" msgid="8557542379234105369">"Langaton verkko ja verkot"</string>
     <string name="radio_controls_summary" msgid="9028430178697624501">"Hallinnoi Wi-Fi- ja Bluetooth-yhteyksiä, lentokonetilaa ja mobiili- ja VPN-verkkoja"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"Mobiilidata"</string>
-    <string name="calls_title" msgid="6334813967619899114">"Salli puhelut"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"Tekstiviestit"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"Salli tiedonsiirto mobiiliverkossa"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"Salli roaming-tiedonsiirto"</string>
     <string name="roaming" msgid="3055365654530847985">"Roaming"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"Yhdistä verkkoon roaming-tilassa."</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"Verkkoyhteys katkesi, koska poistuit kotiverkkosi alueelta eikä roaming-tilaa ole otettu käyttöön."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"Ota käyttöön"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"Tästä voi aiheutua huomattavia kuluja."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"Jos sallit tiedonsiirron roaming-tilassa, sinulle voi koitua suuria roaming-maksuja.\n\nTämä asetus vaikuttaa kaikkiin tämän tablet-laitteen käyttäjiin."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"Jos sallit tiedonsiirron roaming-tilassa, sinulle voi koitua suuria roaming-maksuja.\n\nTämä asetus vaikuttaa kaikkiin tämän puhelimen käyttäjiin."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"Datan käytöstä saatetaan periä roaming-maksuja."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"Datan käytöstä roaming-tilassa saatetaan periä roaming-maksuja.\n\nTämä asetus vaikuttaa kaikkiin tämän tabletin käyttäjiin."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"Datan käytöstä roaming-tilassa saatetaan periä roaming-maksuja.\n\nTämä asetus vaikuttaa kaikkiin tämän puhelimen käyttäjiin."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"Sallitaanko tiedonsiirto roaming-tilassa?"</string>
     <string name="networks" msgid="5184501333492775095">"Operaattorin valinta"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"Valitse verkko-operaattori"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"Järjestelmänvalvojan estämä"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"Näytä lukitusasetus"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"Näytä virtapainikeasetus, joka poistaa käytöstä Smart Lockin, lukituksen biometrisen avaamisen ja lukitusnäytön ilmoitukset."</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"Luotettavat tahot vain pitävät avattuna"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"Kun tämä on käytössä, luotettavat tahot pitävät puhelimen avattuna pidempään mutta eivät voi enää avata lukittua laitetta."</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"Lukitse näyttö ilman luotettavaa tahoa"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"Kun tämä on käytössä ja edellinen luotettava taho lakkaa olemasta luotettava, laite lukitaan."</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"Ei mitään"</string>
@@ -390,7 +313,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"Aseta Oma sijainti, näytön lukituksen poisto, SIM-kortin lukitus, käyttöoikeustietojen tallennustilan lukitus"</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"Aseta Oma sijainti, näytön lukituksen poisto, käyttöoikeustietojen tallennustilan lukitus"</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"Tietosuoja"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"Järjestelmänvalvojan estämä"</string>
+    <string name="disabled_by_administrator_summary" msgid="5424846182313851124">"Ei käytettävissä"</string>
     <string name="security_status_title" msgid="6958004275337618656">"Suojaustila"</string>
     <string name="security_dashboard_summary_face" msgid="4198949293847206382">"Näytön lukitus, Face Unlock"</string>
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Näytön lukitus, sormenjälki"</string>
@@ -693,7 +616,6 @@
       <item quantity="other">PIN-koodissa saa olla enintään <xliff:g id="NUMBER_1">%d</xliff:g> numeroa.</item>
       <item quantity="one">PIN-koodissa saa olla enintään <xliff:g id="NUMBER_0">%d</xliff:g> numero.</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"PIN-koodi saa sisältää vain numeroita 0–9."</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"Järjestelmänvalvoja esti PIN-koodin, koska sitä on käytetty hiljattain."</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"IT-järjestelmänvalvoja on estänyt yleiset PIN-koodit. Kokeile eri PIN-koodia."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"Salasanassa ei saa olla virheellisiä merkkejä."</string>
@@ -724,6 +646,10 @@
       <item quantity="other">Salasanassa on oltava vähintään <xliff:g id="COUNT">%d</xliff:g> merkkiä, jotka eivät ole kirjaimia.</item>
       <item quantity="one">Salasanassa on oltava vähintään 1 merkki, joka ei ole kirjain.</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="other">Salasanassa on oltava vähintään <xliff:g id="COUNT">%d</xliff:g> merkkiä, jotka eivät ole numeroita</item>
+      <item quantity="one">Salasanassa on oltava vähintään 1 merkki, joka ei ole numero</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"Järjestelmänvalvoja esti salasanan, koska sitä on käytetty hiljattain."</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"IT-järjestelmänvalvoja on estänyt yleiset salasanat. Kokeile eri salasanaa."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"Nousevat, laskevat tai toistuvat numerosarjat on kielletty."</string>
@@ -837,19 +763,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2,4 GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"Kirjaudu sisään"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"Avaa sivusto"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"<xliff:g id="REMAINING_TIME">%1$s</xliff:g> jäljellä"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"Vanhenee <xliff:g id="EXPIRY_TIME">%1$s</xliff:g>"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"Napauta tästä kirjautuaksesi verkkoon"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Mt/s"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Mt/s"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Mt/s"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"<xliff:g id="REQUESTER">%s</xliff:g> haluaa ottaa Wi-Fin käyttöön."</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"<xliff:g id="REQUESTER">%s</xliff:g> haluaa poistaa Wi-Fin käytöstä."</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"Vahvista korjattavien sovell. tavukoodi"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Salli ART vahvistaaksesi korjattavien sovellusten tavukoodi."</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"Näytä päivitysväli"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Näytä nykyisen näytön päivitysväli"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"Salli tiedonsiirto, kun tabletti koskettaa toista laitetta"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"Salli tiedonsiirto, kun puhelin koskettaa toista laitetta."</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"Salli datansiirto, kun tabletti koskettaa NFC-laitetta"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"Salli datansiirto, kun puhelin koskettaa NFC-laitetta"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"NFC käyttöön"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"NFC vaihtaa tietoja tämän ja muiden lähellä olevien laitteiden tai kohteiden, esimerkiksi maksupäätteiden, syötteenlukijoiden tai interaktiivisten mainosten/tagien, kanssa."</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"Suojaa NFC-käyttö"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Vaadi laitteen lukituksen avaamista NFC:n käyttämiseksi"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"Salli NFC-maksut ja käyttö julkisissa vain kun näytön lukitus on auki"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"Valmis lähettämään sovelluksen sisältöä NFC:n kautta"</string>
@@ -923,8 +855,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Ota käyttöön"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Wi-Fi-haku on käytössä"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Lisäasetukset"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"Avattava Lisäasetukset-luettelo. Tiivistä kaksoisnapauttamalla."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"Avattava Lisäasetukset-luettelo. Laajenna kaksoisnapauttamalla."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Lisäasetusten avattava luettelo"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"laajenna"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"Verkon nimi"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"Anna SSID"</string>
     <string name="wifi_security" msgid="9095934643631406913">"Suojaus"</string>
@@ -934,6 +866,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"Tila"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"Välityslinkin nopeus"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"Vastaanottolinkin nopeus"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"Yhteyden nopeus"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"Taajuus"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"IP-osoite"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"Tallennettu seuraavan kautta:"</string>
@@ -941,6 +874,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"EAP-tapa"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"Todennus: vaihe 2"</string>
     <string name="wifi_eap_ca_cert" msgid="8033404008276298886">"CA-varmenne"</string>
+    <string name="wifi_eap_ocsp" msgid="8713933962516871238">"Verkkovarmenteen tila"</string>
     <string name="wifi_eap_domain" msgid="8304301470752333203">"Verkkotunnus"</string>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"Käyttäjävarmenne"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"Identiteetti"</string>
@@ -957,6 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"Valitse vähintään yksi kaista Wi‑Fi-hotspotille:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"IP-asetukset"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"Tietosuoja"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"Tilaus"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"Katso tai muuta tilausta"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"Satunnaistettu MAC-osoite"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"Lisää laite"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"Lisää laite verkkoon <xliff:g id="SSID">%1$s</xliff:g> keskittämällä alla olevaan QR-koodiin."</string>
@@ -966,12 +902,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"Jaa Wi‑Fi"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"Yhdistä <xliff:g id="SSID">%1$s</xliff:g> ja jaa salasana lukemalla tämä QR-koodi."</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"Yhdistä <xliff:g id="SSID">%1$s</xliff:g> skannaamalla tämä QR-koodi"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"QR-koodin luku epäonnistui. Keskitä koodi ja yritä uudelleen."</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"Yritä uudelleen. Jos ongelma ei ratkea, ota yhteyttä laitteen valmistajaan"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"Jotain meni pieleen"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"Varmista, että laite on liitetty virtalähteeseen, ladattu ja päällä"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"Varmista, että laite on liitetty virtalähteeseen, ladattu ja päällä. Jos ongelma ei ratkea, ota yhteyttä laitteen valmistajaan"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"Tämä laite ei tue <xliff:g id="SSID">%1$s</xliff:g>:n lisäämistä"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"Kokeile siirtää laite lähemmäs Wi-Fi-tukiasemaa tai ‑reititintä"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"Tarkista salasana ja yritä uudelleen"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"Ota yhteyttä laitteen valmistajaan"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"Tarkista yhteys ja yritä uudelleen"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"Valitse verkko"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"Yhdistä laitteesi valitsemalla verkko"</string>
@@ -984,11 +922,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"Jaetaan Wi-Fi-yhteys tämän laitteen kanssa…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"Yhdistetään…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"Jaa hotspot"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"Vahvista henkilöllisyys"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"Henkilöllisyyden vahvistaminen"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"Wi-Fi-verkon salasana: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"Hotspotin salasana: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"Automaattinen yhdistäminen"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"Salli puhelimen yhdistää automaattisesti tämän verkon lähellä"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"Salli tabletin yhdistää automaattisesti tämän verkon lähellä"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"Lisää laite"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"Lisää laite tähän verkkoon QR-koodin avulla."</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"QR-koodin muoto ei kelpaa"</string>
     <string name="retry" msgid="7542103800274026915">"Yritä uudelleen"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"Jaa muiden laitteen käyttäjien kanssa"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(ei muutettu)"</string>
@@ -1000,6 +942,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"Ei määritettyä varmennetta. Yhteytesi ei ole yksityinen."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"Verkon nimi on liian pitkä."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"Määritä verkkotunnus."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"Varmenne vaaditaan."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"WPS käytettävissä"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (WPS käytettävissä)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"Operaattorin Wi‑Fi-verkko"</string>
@@ -1051,7 +994,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"Wi-Fi-lisäasetukset"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"MAC-osoite"</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_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>
@@ -1103,7 +1047,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"Hotspot-ominaisuudella voit luoda muille laitteillesi Wi-Fi-verkon. Ominaisuus jakaa internetyhteyden muille laitteille mobiilidatayhteydellä. Lisämaksuja mobiilidatan käytöstä voidaan periä."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"Sovellukset voivat luoda hotspotin ja jakaa sisältöä lähellä olevien laitteiden kanssa."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Poista hotspot käytöstä automaattisesti"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"Wi‑Fi-hotspot poistetaan käytöstä, jos laitteita ei ole yhdistetty."</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Kun laitteita ei ole yhdistetty"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"Otetaan yhteyspiste käyttöön..."</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"Poistetaan yhteyspiste käytöstä..."</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> on aktiivinen"</string>
@@ -1112,6 +1056,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"Wi‑Fi-hotspotin määritys"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"Hotspot: AndroidAP WPA2 PSK"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"AndroidHotspot"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"Tallennetaanko tämä verkko?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"<xliff:g id="APPNAME">%1$s</xliff:g> haluaa tallentaa verkon puhelimeesi"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"<xliff:g id="APPNAME">%1$s</xliff:g> haluaa tallentaa verkon tablettiisi"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"Tallennetaan…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"Tallennettu"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"Tallennus ei onnistu. Yritä uudelleen."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"Tallennetaanko verkot?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"<xliff:g id="APPNAME">%1$s</xliff:g> haluaa tallentaa nämä verkot puhelimeesi"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"<xliff:g id="APPNAME">%1$s</xliff:g> haluaa tallentaa nämä verkot tablettiisi"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"Tallennetaan <xliff:g id="NUMBER">%d</xliff:g> verkkoa…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"Verkot tallennettu"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"Wi-Fi-puhelut"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"Laajenna puhelumahdollisuuksia Wi‑Fillä"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"Paranna tavoittavuutta ottamalla Wi-Fi-puhelut käyttöön"</string>
@@ -1138,16 +1093,18 @@
     <string name="emergency_address_title" msgid="3490633500025717573">"Hätäosoite"</string>
     <string name="emergency_address_summary" msgid="3022628750270626473">"Sijaintisi, kun soitat hätäpuhelun Wi-Fillä"</string>
     <string name="private_dns_help_message" msgid="851221502063782306"><annotation id="url">"Lisätietoja"</annotation>" yksityisistä DNS-ominaisuuksista"</string>
+    <string name="private_dns_mode_on" msgid="8878679071975375696">"Päällä"</string>
     <string name="wifi_calling_pref_managed_by_carrier" msgid="129524064888622179">"Operaattorin ylläpitämä laite"</string>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"Aktivoi Wi-Fi-puhelut"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"Ota Wi-Fi-puhelut käyttöön"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"%1$s ei tue Wi-Fi-puheluja"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"Yhteys katkaistu: <xliff:g id="SSID">%1$s</xliff:g>"</string>
     <string name="carrier" msgid="1755020806290963951">"Operaattori"</string>
     <string name="display_settings_title" msgid="626835071804834218">"Näyttö"</string>
     <string name="sound_settings" msgid="5514582720435174014">"Ääni"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"Äänenvoimakkuudet"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"Musiikkitehosteet"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"Soittoäänen voimakkuus"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"Soitt. ja ilm. äänenvoimakkuus"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"Käytä värinää äänettömässä tilassa"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"Ilmoituksen oletusääni"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"Soittoääni"</string>
@@ -1272,13 +1229,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"Aikataulu"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"Ei mitään"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"Auringonlaskusta sen nousuun"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"Menee päälle valitsemaasi aikaan"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"Tila"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"Pois käytöstä / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"Ei käynnisty automaattisesti"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"Käynnistyy automaattisesti, kun aurinko laskee"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"Menee automaattisesti päälle kello <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"Päällä / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"Ei sammu automaattisesti"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"Sammuu automaattisesti, kun aurinko nousee"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"Menee automaattisesti pois päältä kello <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"Pidä päällä <xliff:g id="ID_1">%1$s</xliff:g> asti"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"Pidä pois päältä <xliff:g id="ID_1">%1$s</xliff:g> asti"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"Tumman teeman musta tausta auttaa pidentämään akunkestoa joillain näytöillä. Tumman teeman aikataulut otetaan käyttöön vasta, kun näyttö on sammutettu."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"Näytön aikakatkaisu"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"Näyttö sammuu"</string>
@@ -1290,7 +1252,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"Vaihda taustakuva"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"Muokkaa näyttöäsi"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"Valitse taustakuva"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"Tee Pixelistä näköisesi"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"Puhelimen yksilöiminen"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"Kokeile eri tyylejä, taustakuvia ja muuta"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"Näytönsäästäjä"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Latauksen aikana tai telakoituna"</string>
@@ -1379,6 +1341,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"Poista USB-tila käytöstä, katso käytettävissä oleva tallennustila"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"Poista SD-kortti käytöstä, näytä käytettävissä oleva tallennustila"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (SIM-paikka %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"Valitse tallennettu verkko nähdäksesi tämän"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"Puhelinnumero"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (SIM-paikka %1$d)"</string>
@@ -1405,6 +1368,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"Roaming"</string>
     <string name="status_operator" msgid="4335640583552058491">"Verkko"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"Wi-Fi-yhteyden MAC-osoite"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"Laitteen Wi-Fi-yhteyden MAC-osoite"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"Bluetooth-osoite"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Sarjanumero"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Käynnissäoloaika"</string>
@@ -1617,6 +1581,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"APN-oletusasetukset on palautettu."</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"Palautusvalinnat"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"Voit nollata verkon, sovellusten tai laitteen asetukset."</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"Sovellukset voidaan nollata"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"Nollaa Wi-Fin, mobiiliverkon ja Bluetoothin asetukset"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"Tämä nollaa kaikki verkkoasetukset, esimerkiksi seuraavat:\n\n"<li>"Wi‑Fi"</li>\n<li>"Mobiilidata"</li>\n<li>"Bluetooth"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"Tyhjennä ladatut SIM-kortit"</string>
@@ -1666,6 +1631,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"Hotspot käytössä"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"Jaettu yhteys"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"Kun Data Saver on käytössä, puhelinta ei voi käyttää modeemina eikä kannettavien hotspotien käyttäminen onnistu."</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"Vain hotspot"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"Vain USB"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"Vain Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"Hotspot, USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"Hotspot, Bluetooth"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB, Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"Hotspot, USB, Bluetooth"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"Internetyhteyttä ei jaeta muiden laitteiden kanssa."</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"Puhelimen käyttäminen modeemina"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Älä käytä Wi-Fi-hotspotia"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Jaa verkkoyhteys vain USB:n kautta"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Jaa verkkoyhteys vain Bluetoothin kautta"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Jaa verkkoyhteys USB:n ja Bluetoothin kautta"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"Internetin jakaminen USB:n kautta"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"Jaa puhelimen internetyhteys USB:llä."</string>
@@ -1756,9 +1734,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"Suojaustiedot"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"Laite ei ole yhteydessä verkkoon. Voit tarkastella näitä tietoja osoitteessa %s tietokoneella, jolla on internetyhteys."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"Ladataan…"</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"Käytä PIN-koodia"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"Käytä kuviota"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"Käytä salasanaa"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"Näytön lukituksen käyttöönotto"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"Aseta salasana tietoturvan parantamiseksi."</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"Sormenjälki: aseta salasana"</string>
@@ -1767,8 +1742,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"Sormenjälki: aseta PIN-koodi"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"Aseta kuvio tietoturvan parantamiseksi."</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"Lisää salasana uudelleen"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"Työprofiilin salasanan lisääminen"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"Vahvista kuvio"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"Työprofiilin lisääminen"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"Anna PIN-koodi uudelleen"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"Työprofiilin PIN-koodin lisääminen"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"Salasanat eivät täsmää"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"PIN-koodit eivät täsmää"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"Piirrä kuvio uudelleen"</string>
@@ -1779,6 +1757,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"Määritä salasana Face Unlockia varten"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"Valitse kuvio Face Unlockia varten"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"Määritä PIN-koodi Face Unlockia varten"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"Unohditko salasanasi?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"Unohditko kuviosi?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"Unohditko PIN-koodisi?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"Jatka piirtämällä laitteesi kuvio."</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"Jatka antamalla laitteesi PIN-koodi."</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"Jatka antamalla laitteesi salasana."</string>
@@ -1846,6 +1827,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"Salli kaikki lähteet"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"Viimeksi avatut sovellukset"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"Näytä kaikki <xliff:g id="COUNT">%1$d</xliff:g> sovellusta"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"Ota yhteyttä IT-järjestelmänvalvojaan"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"Järjestelmänvalvoja voi auttaa PIN-koodin, kuvion tai salasanan nollauksessa"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"Tuntemattomista lähteistä tulevat sovellukset voivat helpommin kaapata tablettisi ja henkilötietosi. Lataamalla sovelluksia tästä lähteestä hyväksyt, että olet itse vastuussa tabletillesi aiheutuvista vahingoista tai tietojen katoamisesta, joka saattaa johtua sovellusten käytöstä."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"Tuntemattomista lähteistä tulevat sovellukset voivat helpommin kaapata puhelimesi ja henkilötietosi. Lataamalla sovelluksia tästä lähteestä hyväksyt, että olet itse vastuussa puhelimellesi aiheutuvista vahingoista tai tietojen katoamisesta, joka saattaa johtua sovellusten käytöstä."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"Tuntemattomista lähteistä tulevat sovellukset voivat helpommin kaapata laitteesi ja henkilötietosi. Lataamalla sovelluksia tästä lähteestä hyväksyt, että olet itse vastuussa laitteellesi aiheutuvista vahingoista tai tietojen katoamisesta, joka saattaa johtua sovellusten käytöstä."</string>
@@ -1897,7 +1880,7 @@
     <string name="default_emergency_app" msgid="1929974800666613803">"Hätäsovellus"</string>
     <string name="reset_app_preferences" msgid="8861758340732716573">"Nollaa sovellusasetukset"</string>
     <string name="reset_app_preferences_title" msgid="8935136792316050759">"Nollaa sovellusasetukset?"</string>
-    <string name="reset_app_preferences_desc" msgid="1377296810290814749">"Tämä palauttaa kaikki asetukset seuraaville:\n\n"<li>"Käytöstä poistetut sovellukset"</li>\n<li>"Käytöstä poistetut sovellusilmoitukset"</li>\n<li>"Toimintojen oletussovellukset"</li>\n<li>"Sovellusten taustatietorajoitukset"</li>\n<li>"Kaikki oikeuksien rajoitukset"</li>\n\n"Et menetä mitään sovellustietoja."</string>
+    <string name="reset_app_preferences_desc" msgid="6509978724602405805">"Kaikki seuraavien asetukset nollataan:\n\n"<li>"Käytöstä poistetut sovellukset"</li>\n<li>"Käytöstä poistetut sovellusilmoitukset"</li>\n<li>"Toimintojen oletussovellukset"</li>\n<li>" Sovellusten taustadatan käyttörajoitukset"</li>\n<li>"Käyttöoikeusrajoitukset"</li>\n\n"Et menetä mitään sovellusten dataa."</string>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"Nollaa sovellukset"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"Hallinnoi tallennustilaa"</string>
     <string name="filter" msgid="9039576690686251462">"Suodata"</string>
@@ -2097,7 +2080,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"Ääni ja näyttöteksti"</string>
     <string name="display_category_title" msgid="6638191682294461408">"Näyttö"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"Käytönhallinta"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"Ladatut palvelut"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"Ladatut sovellukset"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"Kokeellinen"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"Ominaisuusilmoitukset"</string>
     <string name="talkback_title" msgid="8756080454514251327">"TalkBack"</string>
@@ -2105,27 +2088,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"Napauta kohteita näytöllä, niin ne luetaan ääneen."</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"Tekstitysvalinnat"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"Suurennus"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"Suurennettava alue"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"Suurennuksen käyttöönotto"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"Valitse alueet, joihin näytön suurennusta käytetään"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"Koko näyttö"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"Osa näytöstä"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"Koko näyttö ja osa näytöstä"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"Suurenna koko näyttö"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"Suurenna osa näytöstä"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Suurennusasetukset"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"Suurenna kolmoisnapautuksella"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Suurenna pikanäppäimellä"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Suurenna pikanäppäimellä ja kolmoisnapautuksella."</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"Tietoja: <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"Asetukset"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"Lähennä näkymää."</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"Lähennä napauttamalla kolme kertaa."</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Zoomaa napauttamalla painiketta."</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><b>"Zoomaa"</b>" napauttamalla näyttöä nopeasti kolme kertaa.\n"<ul><li>"Vieritä näyttöä vetämällä kahta tai useampaa sormea näytöllä."</li>\n<li>"Säädä zoomausta nipistämällä kahdella tai useammalla sormella."</li></ul>\n\n<b>"Zoomaa väliaikaisesti"</b>" napauttamalla näyttöä nopeasti kolme kertaa ja pitämällä sormesi näytöllä kolmannen napautuksen jälkeen.\n"<ul><li>"Siirry eri kohtaan vetämällä sormeasi näytöllä."</li>\n<li>"Zoomaa ulos nostamalla sormesi näytöltä."</li></ul>\n\n"Et voi zoomata näppäimistöön tai navigointipalkkiin."</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"Kun suurennus on käytössä, voit suurentaa näytöllä olevia kohteita.\n\n"<b>"Zoomaa:"</b>" käynnistä suurennus ja napauta sitten haluamaasi kohtaa näytöllä\n"<ul><li>"• Vieritä: vedä vähintään kahta sormea näytön poikki"</li>\n<li>"• Säädä zoomausta: nipistä vähintään kaksi sormea yhteen tai levitä ne erilleen"</li></ul>\n\n<b>"Zoomaa väliaikaisesti:"</b>" käynnistä suurennus ja paina pitkään missä tahansa näytöllä\n"<ul><li>"• Liiku näytöllä: vedä sormea eri suuntiin"</li>\n<li>"• Loitonna: nosta sormi"</li></ul>\n\n"Suurennus ei toimi näppäimistöllä tai siirtymispalkissa."</string>
+    <string name="accessibility_screen_magnification_summary" msgid="7617931632990040045">"Lähennä näyttöä nopeasti, niin näet sisällön selkeämmin.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Lähentäminen:&lt;/b&gt;&lt;br/&gt;	1. Aloita suurennus käyttämällä pikanäppäintä&lt;br/&gt;	2. Kosketa näyttöä&lt;br/&gt;	3. Liiku näytöllä vetämällä kahdella sormella&lt;br/&gt;	4. Säädä zoomausta nipistämällä kahdella sormella&lt;br/&gt;	5. Lopeta suurennus käyttämällä pikanäppäintä&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Väliaikainen lähentäminen:&lt;/b&gt;&lt;br/&gt;	1. Aloita suurennus käyttämällä pikanäppäintä&lt;br/&gt;	2. Kosketa näyttöä pitkään&lt;br/&gt;	3. Liiku näytöllä vetämällä sormea&lt;br/&gt;	4. Lopeta suurennus nostamalla sormi näytöltä"</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Kun suurennus on käytössä, voit suurentaa näytöllä olevia kohteita.\n\n"<b>"Zoomaa:"</b>" käynnistä suurennus ja napauta sitten haluamaasi kohtaa näytöllä\n"<ul><li>"Vieritä: vedä vähintään kahta sormea näytön poikki"</li>\n<li>"Säädä zoomausta: nipistä vähintään kaksi sormea yhteen tai levitä ne erilleen"</li></ul>\n\n<b>"Zoomaa väliaikaisesti:"</b>" käynnistä suurennus ja paina pitkään missä tahansa näytöllä\n"<ul><li>"Liiku näytöllä: vedä sormea eri suuntiin"</li>\n<li>"Loitonna: nosta sormi"</li></ul>\n\n"Suurennus ei toimi näppäimistöllä tai siirtymispalkissa."</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Avaa esteettömyyspainikkeella"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Avaa eleellä"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"Käytä uutta esteettömyyselettä"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"Käynnistä tai sammuta palvelu napauttamalla esteettömyyspainiketta <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> näytön alalaidassa.\n\nVaihda palveluiden välillä painamalla painiketta pitkään."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"Käynnistä tai sammuta palvelu pyyhkäisemällä näytön alalaidasta ylös kahdella sormella.\n\nVaihda palveluiden välillä pyyhkäisemällä ylös kahdella sormella ja koskettamalla pitkään."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"Käynnistä tai sammuta palvelu pyyhkäisemällä näytön alalaidasta ylös kolmella sormella.\n\nVaihda palveluiden välillä pyyhkäisemällä ylös kolmella sormella ja koskettamalla pitkään."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"Käynnistä tai sammuta esteettömyyspalvelu pyyhkäisemällä näytön alalaidasta ylös kahdella sormella.\n\nVaihda palveluiden välillä pyyhkäisemällä ylös kahdella sormella ja koskettamalla pitkään."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"Käynnistä tai sammuta esteettömyyspalvelu pyyhkäisemällä näytön alalaidasta ylös kolmella sormella.\n\nVaihda palveluiden välillä pyyhkäisemällä ylös kolmella sormella ja koskettamalla pitkään."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"Käynnistä tai sammuta palvelu napauttamalla esteettömyyspainiketta <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> näytön alareunasta.\n\nVaihda palveluiden välillä painamalla painiketta pitkään."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"Laita palvelu päälle tai pois päältä pyyhkäisemällä näytön alalaidasta ylös kahdella sormella.\n\nVaihda palvelusta toiseen pyyhkäisemällä ylös kahdella sormella ja koskettamalla pitkään."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"Laita palvelu päälle tai pois päältä pyyhkäisemällä näytön alalaidasta ylös kolmella sormella.\n\nVaihda palvelusta toiseen pyyhkäisemällä ylös kolmella sormella ja koskettamalla pitkään."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"Laita esteettömyyspalvelu päälle tai pois päältä pyyhkäisemällä näytön alalaidasta ylös kahdella sormella.\n\nVaihda palvelusta toiseen pyyhkäisemällä ylös kahdella sormella ja koskettamalla pitkään."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"Laita esteettömyyspalvelu päälle tai pois päältä pyyhkäisemällä näytön alalaidasta ylös kolmella sormella.\n\nVaihda palvelusta toiseen pyyhkäisemällä ylös kolmella sormella ja koskettamalla pitkään."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"OK"</string>
+    <string name="accessibility_shortcut_title" msgid="8125867833704517463">"<xliff:g id="SERVICE">%1$s</xliff:g> – pikanäppäin"</string>
+    <string name="accessibility_shortcut_edit_summary_software" msgid="2820923641553461297">"Esteettömyyspainike"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture" msgid="8078659880723370597">"Pyyhkäise kahdella sormella ylöspäin"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture_talkback" msgid="7422753388389160524">"Pyyhkäise kolmella sormella ylöspäin"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software" msgid="4796192466943479849">"Napauta esteettömyyspainiketta"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8922102767509399352">"Napauta näytön alareunassa olevaa esteettömyyspainiketta <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"Pyyhkäise näytön alareunasta ylöspäin kahdella sormella"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"Pyyhkäise näytön alareunasta ylöspäin kolmella sormella"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Paina äänenvoimakkuuspainikkeita pitkään"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"Paina äänenvoimakkuuspainikkeita sekunnin ajan"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Kolmoisnapauta näyttöä"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"Napauta näyttöä nopeasti kolme kertaa. Tämän pikanäppäimen käyttö voi hidastaa laitettasi."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"Lisätiedot"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"Esteettömyys-painikkeen toiminnoksi on valittu <xliff:g id="SERVICE">%1$s</xliff:g>. Jos haluat käyttää suurennusta, kosketa Esteettömyys-painiketta pitkään ja valitse suurennus."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"Esteettömyyseleen asetus on <xliff:g id="SERVICE">%1$s</xliff:g>. Jos haluat käyttää suurennusta, pyyhkäise kahdella sormella ylös näytön alalaidasta ja paina pitkään. Valitse sitten suurennus."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"Pikakomento: äänenvoimakkuuspainike"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"Pikanäppäinpalvelu"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Pikanäppäinasetukset"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"Salli käyttö lukitusnäytöllä"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"Kun pikakomento on käytössä, voit käynnistää esteettömyystoiminnon painamalla molempia äänenvoimakkuuspainikkeita kolmen sekunnin ajan."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"Suurikontrastinen teksti"</string>
@@ -2149,24 +2157,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"Valitse, miten pitkään haluat nähdä viestit, jotka pyytävät reagoimaan mutta näkyvät vain väliaikaisesti.\n\nKaikki sovellukset eivät tue tätä asetusta."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"Pitkäkestoisen kosketuksen viive"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"Käänteiset värit"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"Voi vaikuttaa suorituskykyyn"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"Viiveajoitus"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"Käytä käänteisiä värejä"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"Käänteiset värit muuttaa kirkkaat näytöt tummiksi. Tämä tekee näytön katsomisesta helpompaa kirkkaalle valolle herkille ihmisille.&lt;br/&gt;&lt;br/&gt;Huom. Tummista väreistä tulee vaaleita. Mediasisällön ja kuvien väri muuttuu. Voit myös käyttää tummaa teemaa (Asetukset &gt; Näyttö)."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"Automaattinen klikkaus (viiveaika)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"Jos käytät hiirtä, voit asettaa osoittimen klikkaamaan automaattisesti, kun se on ollut paikoillaan tietyn aikaa."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"Viive ennen klikkausta"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"Ei autom. klikkausta (oletus)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"Lyhyt"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0,2 sekuntia"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"Keskipitkä"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0,6 sekuntia"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"Pitkä"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 sekunti"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"Oma"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"Lyhyempi"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"Pidempi"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"Automaattisen klikkauksen aika"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"Värinän ja haptisen palautteen voimakkuus"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Ilmoitusvärinä"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Soittoäänen värinä"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Kosketuspalaute"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"Käytä palvelua"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"Valitse <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"Avaa <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"Käytä värinkorjausta"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"Käytä tekstityksiä"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"Näytä tekstitykset"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"Tekstityksen ulkonäkö"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"Tekstin koko, tekstityksen tyyli"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"Lisää asetuksia"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"Kaikki sovellukset eivät tue tätä asetusta."</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"Esteettömyyspainike"</string>
+    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"Pyyhkäisy kahdella sormella alhaalta ylöspäin"</string>
+    <string name="accessibility_shortcut_type_hardware" msgid="4834144210432451916">"Paina äänenvoimakkuuspainikkeita pitkään"</string>
+    <string name="accessibility_shortcut_type_triple_tap" msgid="7717524216825494543">"Kolmoisnapauta näyttöä"</string>
     <string name="accessibility_hearingaid_instruction_continue_button" msgid="3367260988024430722">"Jatka"</string>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"Kuulolaitteet"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"Ei yhdistettyjä kuulolaitteita"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"Lisää kuulolaitteita"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"Muodosta pari kuulolaitteen kanssa etsimällä se seuraavalta näytöltä ja napauttamalla sitä."</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"Varmista, että kuulolaitteesi on laiteparin muodostustilassa."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"Jos haluat muodostaa parin kuulolaitteen kanssa, etsi laitteesi seuraavalta näytöltä ja napauta sitä. Varmista, että kuulolaitteesi on laiteparin muodostustilassa."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> aktiivinen"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> tallennettua kuulolaitetta</item>
@@ -2178,25 +2204,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Tämä palvelu ei toimi oikein."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Näytä pika-asetuksissa"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"Korjaustila"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="other">Äärimmäisen lyhyt viive (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Äärimmäisen lyhyt viive (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Puna-vihersokeus"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"Viher-punasokeus"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Sini-keltasokeus"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"Deuteranomalia"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"Protanomalia"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"Tritanomalia"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="other">Äärimmäisen lyhyt viive(<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekuntia)</item>
+      <item quantity="one">Äärimmäisen lyhyt viive (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> sekunti)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="other">Erittäin lyhyt viive (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Erittäin lyhyt viive (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="other">Erittäin lyhyt viive (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekuntia)</item>
+      <item quantity="one">Erittäin lyhyt viive (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> sekunti)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="other">Lyhyt viive (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Lyhyt viive (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="other">Lyhyt viive (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekuntia)</item>
+      <item quantity="one">Lyhyt viive (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> sekunti)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="other">Pitkä viive (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Pitkä viive (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="other">Pitkä viive (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekuntia)</item>
+      <item quantity="one">Pitkä viive (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> sekunti)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="other">Erittäin pitkä viive (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Erittäin pitkä viive (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="other">Erittäin pitkä viive (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekuntia)</item>
+      <item quantity="one">Erittäin pitkä viive (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> sekunti)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekuntia</item>
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> sekunti</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"Soittoääni <xliff:g id="SUMMARY_RING">%1$s</xliff:g>, ilmoitus <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>, kosketus <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"Puhelu- ja ilmoitusvärinä on pois käytöstä"</string>
@@ -2513,7 +2549,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"Laturin irrottamisen jälkeen (<xliff:g id="UNPLUGGED">%1$s</xliff:g>)"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"Käyttö yhteensä"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"Päivitä"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"Android-käyttöjärjestelmä"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"Mediapalvelin"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"Sovellusoptimointi"</string>
     <string name="battery_saver" msgid="7737147344510595864">"Virransäästö"</string>
@@ -2594,8 +2629,7 @@
     <string name="tts_play" msgid="2945513377250757221">"Toista"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"Kirjautumistietojen tallennustila"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"Asenna tallennustilasta"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"Asenna SD-kortilta"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"Varmenteen asentaminen"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"Asenna varmenteet tallennustilasta."</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"Asenna varmenteet SD-kortilta."</string>
     <string name="credentials_reset" msgid="4246628389366452655">"Tyhjennä käyttöoikeustiedot"</string>
@@ -2615,6 +2649,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"Käyttöoikeustietojen tallennustila on tyhjennetty."</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"Käyttöoik.tiet. ei poistettu."</string>
     <string name="usage_access_title" msgid="1580006124578134850">"Sovellukset, joilla käyttölupa"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"CA-varmenne"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"VPN- &amp; sovelluskäytön varmenne"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"Wi‑Fi-varmenne"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"Tietosuojasi on vaarassa"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"Sivustot, sovellukset ja VPN:t käyttävät CA-varmenteita salaamiseen. Lataa CA-varmenteita vain tahoilta, joihin luotat. \n\n Jos asennat CA-varmenteen, sen omistaja voi päästä sivustoilta ja sovelluksista saatuihin tietoihisi, esimerkiksi salasanoihin, viesteihin tai credit-kortin tietoihin, vaikka tiedot olisi salattu."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"Älä asenna"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"Asenna silti"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"Varmennetta ei asennettu."</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"Hätäpuhelun äänimerkki"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Aseta toiminta hätäpuhelun tapauksessa"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Varmuuskopiointi"</string>
@@ -2642,10 +2684,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"Poista käytöstä ja kokonaan laitteelta"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"Laitteenhallintasovellukset"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"Laitteenhallintasovelluksia ei ole saatavilla."</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"Henkilökohtainen"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"Työ"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"Rajoita tekstiviesti- ja puhelulokien käyttöä"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"Vain oletuspuhelin- ja viestisovellukset pääsevät tekstiviestien ja puhelujen lokitietoihin."</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"Ei luotettavia tahoja"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"Aktivoidaanko laitteenhallintasovellus?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"Aktivoi laitteenhallintasovellus"</string>
@@ -2659,6 +2697,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"Järjestelmänvalvoja on poistanut joitakin asetuksia käytöstä."</string>
     <string name="admin_more_details" msgid="6698424974827333973">"Lisätietoja"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"Ilmoitusloki"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"Ilmoitushistoria"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"Tänään"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"Torkutettu"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"Äskettäin hylätyt"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> ilmoitusta</item>
+      <item quantity="one"><xliff:g id="NUMBER_0">%d</xliff:g> ilmoitus</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"Soittoääni ja värinä"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"Verkon tiedot"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"Synkronointi käytössä"</string>
@@ -3008,7 +3054,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"Rajoitukset"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"Poista rajoitukset"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"Vaihda PIN-koodi"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"Näytä ilmoitukset"</string>
     <string name="help_label" msgid="2896538416436125883">"Ohjeet ja palaute"</string>
     <string name="support_summary" msgid="1034146931237148885">"Ohjeartikkelit, puhelin ja chat, aloitus"</string>
     <string name="user_account_title" msgid="6389636876210834864">"Käytettävä tili"</string>
@@ -3033,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G-puhelut"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Käytä LTE-palveluita puheviestinnän ja muiden viestintätapojen parantamiseen (suositeltu)."</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Käytä 4G-palveluita puheviestinnän ja muiden viestintätapojen parantamiseen (suositeltu)."</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Kontaktihaku"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Sallii operaattorin selvittää, mitä puheluominaisuuksia kontaktisi tukevat."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Otetaanko kontaktihaku käyttöön?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Tämän ominaisuuden käyttöön ottaminen sallii operaattorille pääsyn kontaktien puhelinnumeroihin tuettujen puheluominaisuuksien selvittämistä varten."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Ensisijainen verkko"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (suositus)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS-viestit"</string>
@@ -3077,7 +3126,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"Valitse puhelinoperaattori:"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"SIM-kortin valinta"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"SIM-kortti <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"Tyhjä SIM"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"SIM-kortin nimi"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"Anna SIM-kortin nimi"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"SIM-korttipaikka %1$d"</string>
@@ -3087,6 +3135,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"Valitse SIM-kortti"</string>
     <string name="color_orange" msgid="216547825489739010">"Oranssi"</string>
     <string name="color_purple" msgid="6603701972079904843">"Violetti"</string>
+    <string name="color_pink" msgid="8596872110888626708">"Vaaleanpunainen"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"Laitteessa ei ole SIM-kortteja"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"SIM-kortin tila"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"SIM-tila (SIM-paikka %1$d)"</string>
@@ -3100,7 +3149,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"SIM-kortteja on muutettu."</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Määritä koskettamalla."</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"Ensisijainen SIM-kortti seuraaville toiminnoille:"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Kysy aina"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Valinta on pakollinen"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"SIM-valinta"</string>
@@ -3118,6 +3166,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"Bluetooth, ajotila"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"Bluetooth, NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"Bluetooth"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"Ei saatavilla, koska NFC on pois päältä"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"Sovellukset ja ilmoitukset"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Viimeaikaiset sovellukset, oletussovellukset"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Työprofiilin sovelluksilla ei voi olla ilmoitusten käyttöoikeuksia."</string>
@@ -3128,13 +3177,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"Asetukset"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"wifi, wi-fi, verkkoyhteys, internet, langaton, data, wi fi"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"Wi‑Fi ilmoitus, wifi ilmoitus"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"datan käyttö"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"Lopeta värinä, napauta, näppäimistö"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"Käytä 24 tunnin kelloa"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"Lataa"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"Avaa:"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"Sovellukset"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"aikavyöhyke"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"Chat-kuvake"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"Chat-kuvake, järjestelmä, ilmoitus, ikkuna, valintaikkuna, näyttö, näkyminen muiden sovellusten päällä, piirtäminen"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"Taskulamppu, valo"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"wifi, wi-fi, päälle/pois, hallinta"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"matkapuhelin, mobiili, puhelinoperaattori, langaton, tiedonsiirto, 4g, 3g, 2g, lte"</string>
@@ -3158,7 +3208,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"älä häiritse, keskeytä, keskeytys, tauko"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"nearby, sijaintihistoria, sijainnin ilmoittaminen, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"tili"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"tili, lisää tili, työprofiili, tilin lisääminen"</string>
     <string name="keywords_users" msgid="3497517660077620843">"rajoitus, rajoittaa, rajoitettu"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"tekstin korjaus, korjaa, ääni, värinä, automaattinen, kieli, ele, ehdottaa, ehdotus, teema, loukkaava, sana, kirjoita, emoji, kansainvälinen"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"nollaa, asetukset, oletus"</string>
@@ -3196,6 +3246,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"muisti, välimuisti, data, poista, tyhjennä, vapauta, tila"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"yhdistetty, laite, kuulokkeet, kuulokemikrofoni, kaiutin, langaton, pari, nappikuulokkeet, musiikki, media"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"tausta, näyttö, lukitusnäyttö, teema"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"kuvakkeen muoto, korostusväri, fontti"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"oletus, assistant"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"maksu, oletus"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"saapuva ilmoitus"</string>
@@ -3205,18 +3256,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"haptinen teknologia, värinä, herkkyys"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"virransäästö, kiinnitetty, käytä aina, virran säästäminen, akku"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"ohjelma, aikataulu, virransäästö, virran säästäminen, akku, automaattinen, prosentti"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"työprofiili"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"volte, puhelujen lisävaihtoehdot, 4g-puhelut"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"lisää kieli"</string>
     <string name="default_sound" msgid="6604374495015245195">"Oletusääni"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"Soittoäänen voimakkuus: <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"Soittoäänen ja ilmoitusten äänenvoimakkuus <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Äänenvoimakkuus, värinä, Älä häiritse"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"Soittoääni on mykistetty. Puhelin värisee, kun saat puhelun."</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"Soittoääni on mykistetty."</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"Soittoäänen voimakkuus: 80 %"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"Soittoäänen ja ilmoitusten äänenvoimakkuus 80 %"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Median äänenvoimakkuus"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Suoratoiston äänenvoimakkuus"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"Puhelun äänenvoimakkuus"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"Hälytyksen voimakkuus"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"Soittoäänen voimakkuus"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"Soitt. ja ilm. äänenvoimakkuus"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"Ilmoituksen äänenvoimakkuus"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"Puhelimen soittoääni"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"Ilmoituksen oletusääni"</string>
@@ -3224,6 +3276,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"Ilmoituksen oletusääni"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"Herätyksen oletusääni"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"Värinä puheluille"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"Älä käytä värinää"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"Käytä aina värinää"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"Värinä ensin ja lisää sitten soittoääntä"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"Muut äänet"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"Näppäimistön näppäinäänet"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"Näytön lukitusäänet"</string>
@@ -3247,6 +3302,7 @@
       <item quantity="one">1 käytössä</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Älä häiritse"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Salli ilmoitukset vain tärkeiltä ihmisiltä ja sovelluksilta"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Keskeytysten rajoittaminen"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Ota Älä häiritse ‑tila käyttöön"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"Poikkeukset"</string>
@@ -3273,7 +3329,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Estä näkyvät häiriötekijät"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Salli visuaaliset signaalit"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"Kun älä häiritse -tila on käytössä"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"Salli keskeytykset, jotka antavat äänimerkin"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"Rajoita ilmoituksia"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Ei ilmoitusääniä"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"Näet ilmoituksia näytöllä."</string>
@@ -3304,7 +3360,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"Äänet ja värinä"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"Äänet, värinä ja jotkin ilmoitusten visuaalisista esitystavoista"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"Äänet, värinä ja ilmoitusten visuaaliset esitystavat"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"Puhelimen perustoimintoja ja tilaa koskevia ilmoituksia ei piiloteta koskaan."</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"Puhelimen perustoimintoja ja tilaa koskevia ilmoituksia ei piiloteta koskaan."</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"–"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"muut vaihtoehdot"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"Lisää"</string>
@@ -3334,10 +3390,12 @@
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> aikataulua voi käynnistyä automaattisesti</item>
       <item quantity="one">1 aikataulu voi käynnistyä automaattisesti</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"Mykistä laite, mutta salli poikkeukset"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"Poikkeukset"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"Aikataulu"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"Näytä kaikki poikkeukset"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"Poikkeukset, kun Älä häiritse -tila on käytössä"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"Ihmiset"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"Sovellukset"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"Hälytykset ja muut keskeytykset"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"Aikataulut"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"Hiljennetyt ilmoitukset"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"Älä häiritse ‑tilassa äänimerkit ja värinä mykistetään yllä määritettyjä poikkeuksia lukuun ottamatta."</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"Mykistä kaikki paitsi"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"Mykistetty"</string>
@@ -3381,16 +3439,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"Mukautuvat ilmoitukset"</string>
     <string name="asst_capability_prioritizer_title" msgid="1181272430009156556">"Mukautuva ilmoitusten tärkeys"</string>
     <string name="asst_capability_prioritizer_summary" msgid="954988212366568737">"Aseta alemman prioriteetin ilmoitukset automaattisesti varovaisiksi."</string>
+    <string name="asst_capability_ranking_title" msgid="312998580233257581">"Ilmoitusten mukautuva järjestäminen"</string>
+    <string name="asst_capability_ranking_summary" msgid="2293524677144599450">"Järjestä ilmoitukset automaattisesti olennaisuuden mukaan"</string>
     <string name="asst_capabilities_actions_replies_title" msgid="4392470465646394289">"Toiminta- ja vastausehdotukset"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"Näytä toiminta- ja vastausehdotukset automaattisesti."</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"Laita ilmoitushistoria päälle, niin voit seurata aiempia ilmoituksia ja myöhemmäksi siirrettyjä ilmoituksia"</string>
+    <string name="notification_history" msgid="8663811361243456201">"Ilmoitushistoria"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"Laita historia päälle"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"Laita historia pois päältä"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"Ilmoitushistoria on pois päältä"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"näytä ilmoitusasetukset"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Salli ilmoitusten torkuttaminen"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"Piilota varovaisten ilmoitusten kuvakkeet"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"Varovaisten ilmoitusten kuvakkeita ei näytetä tilapalkissa."</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"Salli pistemerkit"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"Näytä äskeiset keskustelut rivissä"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Kuplat"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"Osa ilmoituksista voi näkyä näytöllä kuplina."</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"Osa ilmoituksista ja muusta sisällöstä voi näkyä näytöllä kuplina. Avaa kupla napauttamalla sitä. Ohita se vetämällä sitä alaspäin näytöllä."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Kuplat"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"Uudet viestit näkyvät näytöllä"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"<xliff:g id="APP_NAME">%1$s</xliff:g> saa näyttää joitakin ilmoituksia kuplina"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"Ota kuplat käyttöön"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"Sinun on otettava kuplat käyttöön laitteella, jotta voit ottaa ne käyttöön tässä sovelluksessa. Tämä vaikuttaa muihin sovelluksiin, joissa olet aiemmin ottanut kuplat käyttöön."</string>
@@ -3408,6 +3476,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"Näytä vedettävällä ilmoitusalueella ja lukitusnäytöllä"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"Näytä vedettävällä ilmoitusalueella ja tilapalkissa"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"Näytä vedettävällä ilmoitusalueella, tilapalkissa ja lukitusnäytöllä"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"Piilota hiljaiset ilmoitukset tilapalkista"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"Vilkuta valoa"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"Lukitusnäyttö"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"Lukitusnäytön ohittaminen"</string>
@@ -3438,6 +3507,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"Käyttäytyminen"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"Salli ääni"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"Älä näytä ilmoituksia"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"Keskustelut"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"Keskustelu"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"Ei keskustelu"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"Poista keskusteluosiosta"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"Tämä on keskustelu"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"Lisää keskusteluosioon"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"Keskustelujen ylläpito"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"Tärkeät keskustelut"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"Kaikki keskustelut"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"Näytä tärkeät keskustelut ohjekuplina"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"Tärkeät keskustelut näkyvät vedettävän ilmoitusalueen yläreunassa. Voit myös valita, että ne näkyvät ohjekuplina ja keskeyttävät Älä häiritse ‑tilan."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"Näytä äänettömästi ja pienennä"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"Näkyy ilman ääntä"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"Ääni"</string>
@@ -3456,7 +3536,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"Keskittyminen on helpompaa ilman ääntä tai värinää"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"Kiinnittää huomion äänellä tai värinällä"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"Kun laitteen lukitus on avattu, näytä ilmoitukset bannerina sivun yläreunassa."</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"Näytä ilmoitukset"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"Kaikki ilmoitukset: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"Mukautuvat ilmoitukset"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="other">~<xliff:g id="NUMBER_1">%d</xliff:g> ilmoitusta päivässä</item>
@@ -3477,6 +3557,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"Mukautuvat ilmoitukset"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"–"</string>
     <string name="no_notification_listeners" msgid="2839354157349636000">"Yksikään asennettu sovellus ei ole pyytänyt ilmoituksien käyttöoikeutta."</string>
+    <string name="notification_access_detail_switch" msgid="46386786409608330">"Salli pääsy ilmoituksiin"</string>
     <string name="notification_assistant_security_warning_title" msgid="2972346436050925276">"Saako <xliff:g id="SERVICE">%1$s</xliff:g> ilmoitusten käyttöoikeuden?"</string>
     <string name="notification_assistant_security_warning_summary" msgid="3119843404577399036">"<xliff:g id="NOTIFICATION_ASSISTANT_NAME">%1$s</xliff:g> voi lukea kaikki ilmoitukset ja niiden sisältämät henkilökohtaiset tiedot, kuten yhteystietojen nimet ja saamiesi viestien sisällön. Se voi myös ohittaa ilmoitukset, muokata niitä tai käyttää niiden toimintopainikkeita. \n\nTämä antaa sovellukselle myös oikeuden ottaa Älä häiritse ‑tilan käyttöön, poistaa sen käytöstä ja muokata siihen liittyviä asetuksia."</string>
     <string name="notification_listener_security_warning_title" msgid="5791700876622858363">"Saako <xliff:g id="SERVICE">%1$s</xliff:g> ilmoituksien käyttöoikeuden?"</string>
@@ -3538,8 +3619,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"Valmis"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"Tärkeys"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"Vilkuta valoa"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"Värinä"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"Värinä"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"Ääni"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"Tärkeä"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"Lisää aloitusnäytölle"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"Poista"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"Nimeä uudelleen"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"Aikataulun nimi"</string>
@@ -3593,6 +3676,10 @@
       <item quantity="other"><xliff:g id="NUM_PEOPLE">%d</xliff:g> muuta</item>
       <item quantity="one">1 muu</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Keskustelut"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"Kaikista keskusteluista"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"Tärkeistä keskusteluista"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"Älä salli keskusteluita"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"Salli viestit"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"Varmista sallittujen viestien kuuluminen tarkistamalla, onko laitteen tila soittoääni, värinä vai äänetön."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"Saapuvat viestit estetään: <xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>. Voit määrittää asetukset niin, että ystävät, perheenjäsenet tai muut yhteyshenkilöt saavat sinuun yhteyden."</string>
@@ -3606,15 +3693,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"Ei keneltäkään"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"Älä salli puheluja"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"Älä salli viestejä."</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"Salli hälytykset"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"Herätykset"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"Ajastimista, hälytyksistä, turvajärjestelmistä ja muista sovelluksista"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"herätykset"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"Toista median äänet"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"Median äänet"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"Videoista, peleistä ja muusta mediasta"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"media"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"Salli kosketusäänet"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"Kosketusäänet"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"Näppäimistöstä ja muista painikkeista"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"kosketusäänet"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"Salli muistutukset"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"Muistutukset"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"Tehtävistä ja muistutuksista"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"muistutukset"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"Salli tapahtumat"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"Tapahtumat"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"Tulevista kalenteritapahtumista"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Salli ohittaminen sovelluksille"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"Lisää poikkeuksia"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3657,6 +3749,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"Anna Älä häiritse ‑tilan hiljentämien ilmoitusten käynnistää näyttö"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"Ilmoitusasetukset"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"OK"</string>
+    <string name="suggestion_button_close" msgid="6865170855573283759">"Sulje"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Lähetä palautetta tästä laitteesta"</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"Anna järjestelmänvalvojan PIN-koodi"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"Käytössä"</string>
@@ -3667,6 +3760,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Pyydä PIN ennen irrotusta"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Pyydä salasana ennen irrotusta"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Lukitse laite irrotuksen aikana"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Vahvista SIM-kortin poisto"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"Vahvista henkilöllisyytesi ennen ladatun SIM-kortin tyhjentämistä"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"Tätä työprofiilia hallinnoi"</string>
     <string name="managing_admin" msgid="2633920317425356619">"Hallinnoija: <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(Kokeellinen)"</string>
@@ -3741,8 +3836,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"Kaikki sovellukset"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Asennetut sovellukset"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Pikasovellukset"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"Henkilökohtaiset"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"Työ"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"Sovellukset: kaikki"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"Poistettu käytöstä"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"Luokat: kiireellinen"</string>
@@ -3754,6 +3847,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"Tuntematon sovellus"</string>
     <string name="app_permissions" msgid="8666537659217653626">"Käyttöoikeuksien ylläpitäjä"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"Sovellukset, joilla on lupa käyttää seuraavia: <xliff:g id="APPS">%1$s</xliff:g>"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"Sovellukset, joilla on esimerkiksi <xliff:g id="APPS">%1$s</xliff:g> käytössä"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"Herätä napauttamalla"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"Herätä laite napauttamalla näyttöä kahdesti."</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"Linkkien avautuminen"</string>
@@ -3765,9 +3859,14 @@
       <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> sovellusta avaa tuettuja linkkejä</item>
       <item quantity="one">Yksi sovellus avaa tuettuja linkkejä</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"Avaa tässä sovelluksessa."</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"Anna sovelluksen avata tuetut linkit"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"Kysy aina."</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"Älä avaa tässä sovelluksessa."</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"Älä anna sovelluksen avata linkkejä"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="other">Sovellus sanoo käsittelevänsä <xliff:g id="COUNT_1">%d</xliff:g> linkkiä</item>
+      <item quantity="one">Sovellus sanoo käsittelevänsä <xliff:g id="COUNT_0">%d</xliff:g> linkin</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"Sovellus sanoo käsittelevänsä näitä linkkejä:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"Oletus"</string>
     <string name="default_for_work" msgid="537558180548617528">"Työkäytön oletus"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"Avustus ja äänisyöte"</string>
@@ -3911,8 +4010,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"Näkyminen muiden päällä"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Salli näyttäminen muiden sovellusten päällä"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"Anna sovelluksen näkyä muiden avoimien sovellusten päällä. Se voi häiritä muiden sovellusten käyttöä tai muuttaa niiden ulkoasua tai käyttäytymistä."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"Pääsy kaikkiin tiedostoihin"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"Salli pääsy tiedostojen ylläpitoa varten"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Salli sovelluksen lukea, muokata ja poistaa kaikkia tiedostoja tällä laitteella ja yhdistetyillä tallennuslaitteilla. Jos sallit tämän, sovelluksella on pääsy tiedostoihin ilman, että sinulle ilmoitetaan asiasta erikseen."</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"Voi päästä kaikkiin tiedostoihin"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"VR virtuaalitodellisuus kuuntelija stereo avustinpalvelu"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"järjestelmäilmoitus ikkuna valintaikkuna näkyy muiden sovellusten päällä"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"Näkyminen muiden päällä"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"<xliff:g id="COUNT_0">%1$d</xliff:g>/<xliff:g id="COUNT_1">%2$d</xliff:g> sovellusta saa näkyä muiden sovellusten päällä."</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"Sovellukset, joilla on käyttöoikeus"</string>
@@ -4078,6 +4180,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"<xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g> käytetty"</string>
     <string name="data_overusage" msgid="3680477320458707259">"<xliff:g id="ID_1">^1</xliff:g> yli rajan"</string>
     <string name="data_remaining" msgid="6316251496381922837">"<xliff:g id="ID_1">^1</xliff:g> jäljellä"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"Kaavio datan käytöstä <xliff:g id="START_DATE">%1$s</xliff:g>–<xliff:g id="END_DATE">%2$s</xliff:g>"</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"Ei dataa tältä aikaväliltä"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="other">%d päivää jäljellä</item>
       <item quantity="one">%d päivä jäljellä</item>
@@ -4141,14 +4245,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"paketin koko"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"Ilmoitus tehty"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"ääni"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"värinä"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"kuvio"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"oletus"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"kanava"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"ei mitään"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"Sijoitustiedot puuttuvat."</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"Tätä avainta ei ole sijoitustiedoissa."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"Teema"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"Laitteen oletusasetus"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"Näyttölovi"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"näyttölovi, näytön lovi"</string>
@@ -4237,8 +4337,12 @@
     <string name="information_label" msgid="6939310810756569298">"Tiedot"</string>
     <string name="low_label" msgid="6525629096999711220">"Matala"</string>
     <string name="high_label" msgid="357503396626018487">"Korkea"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"Korkeampi herkkyys voi olla ristiriidassa näytön reunan sovelluseleiden kanssa."</string>
+    <string name="left_edge" msgid="1513576842959071849">"Vasen reuna"</string>
+    <string name="right_edge" msgid="1505309103265829121">"Oikea reuna"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"Suurempi herkkyys voi olla ristiriidassa näytön reunan sovelluseleiden kanssa."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"Takaisin-eleen herkkyys"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"Eleasetukset"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"eleillä navigointi, Takaisin-eleen herkkyys, Takaisin-ele"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"Tarkista ilmoitukset kaksoisnapauttamalla puhelimen näyttöä"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"Tarkista ilmoitukset kaksoisnapauttamalla tabletin näyttöä"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"Tarkista ilmoitukset kaksoisnapauttamalla laitteen näyttöä"</string>
@@ -4393,7 +4497,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"Ota operaattorin hallinta käyttöön"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"Päivitä Älä häiritse ‑tila"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"Keskeytä ilmoitukset, jotta voit keskittyä"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"Ominaisuus ei ole käytettävissä tällä laitteella."</string>
     <string name="disabled_feature" msgid="7151433782819744211">"Ominaisuutta ei ole saatavilla"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"Tämä ominaisuus on poistettu käytöstä, koska se hidastaa puhelintasi."</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"Pakota täydet GNSS-mitat"</string>
@@ -4403,20 +4506,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"Valitse ANGLE-yhteensopiva sovellus"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"Ei määritettyä ANGLE-yhteensopivaa sovellusta"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"ANGLE-yhteensopiva sovellus: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"Peliajurin asetukset"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"Muokkaa peliajurin asetuksia."</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"Kun peliajuri on käytössä, voit valita päivitetyn grafiikkaohjaimen käytön laitteeseen asennetuissa sovelluksissa."</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"Ota käyttöön kaikissa sovelluksissa"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"Valitse grafiikkaohjain"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"Oletus"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"Peliajuri"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"Esijulkaisuajuri"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"Järjestelmän grafiikkaohjain"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"Grafiikkaohjaimen asetukset"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"Muokkaa grafiikkaohjaimen asetuksia"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"Kun grafiikkaohjaimia on useita, voit valita päivitetyn grafiikkaohjaimen käytön laitteeseen asennetuissa sovelluksissa."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"Ota käyttöön kaikissa sovelluksissa"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"Valitse grafiikkaohjain"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"Oletus"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"Peliajuri"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"Kehittäjän ajuri"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Järjestelmän grafiikkaohjain"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Sovelluksen yhteensopivuuden muutokset"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Sovellusten yhteensopivuuden muutokset päälle/pois"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Oletusarvoisesti käyttöön otettujen muutokset"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Oletusarvoisesti käytöstä poistettujen muutokset"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"Asetusta ei tueta tällä puhelimella."</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"Asetusta ei tueta tällä tabletilla"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"Asetusta ei tueta tällä laitteella"</string>
@@ -4435,6 +4544,11 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"Laite"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Ei käytettävissä puhelujen aikana"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"Ei käytettävissä"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"Lisää toistotapoja"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"Ryhmä"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 laite valittu"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> laitetta valittu"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"Vaihdetaan…"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Vastaa puheluun:"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Tätä APN:ää ei voi muuttaa."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Paranna tabletin akunkestoa"</string>
@@ -4552,10 +4666,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Vain yksi ladattu SIM-kortti voi olla kerrallaan aktiivinen.\n\nVanhaa palvelua (<xliff:g id="CARRIER2">%2$s</xliff:g>) ei peruuteta, jos <xliff:g id="CARRIER1">%1$s</xliff:g> otetaan käyttöön."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Vaihda: <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Tyhjennä SIM-kortti"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Tyhjennetäänkö ladattu SIM-kortti?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Tämän SIM-kortin tyhjentäminen poistaa palvelun (<xliff:g id="CARRIER_0">%1$s</xliff:g>) laitteelta.\n\nPalvelua (<xliff:g id="CARRIER_1">%2$s</xliff:g>) ei peruuteta."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Tyhjennä"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Tyhjennetään SIM-korttia…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"SIM-korttia ei voi tyhjentää"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"SIM-korttia ei voi tyhjentää virheen vuoksi.\n\nKäynnistä laite uudelleen ja yritä sitten uudelleen."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Ensisijainen verkko"</string>
@@ -4580,7 +4690,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Virheellinen verkkotila <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Ohita."</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Tukiasemien nimet"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Ei käytettävissä <xliff:g id="CARRIER">%1$s</xliff:g> ‑käytön aikana"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"Terveystiedot, hätäyhteystiedot"</string>
     <string name="see_more" msgid="7499355691042812723">"Lisää"</string>
     <string name="see_less" msgid="2642392725363552793">"Näytä vähemmän"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"Käytettävä laite: <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
@@ -4589,11 +4698,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"Jotain meni pieleen.. Sovellus peruutti laitteenvalintapyynnön."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"Yhteyden muodostus onnistui"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"Näytä kaikki"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> laitetta yhdistetty</item>
-      <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_0">%1$d</xliff:g> laite yhdistetty</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"Ei Bluetooth-laitteita"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"Haetaan laitetta…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"Yhdistetään laitteeseen…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"Vasen"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"Oikea"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Kotelo"</string>
@@ -4603,6 +4709,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"Ei käytettävissä lentokonetilassa"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"Pakota työpöytätila"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Pakota kokeellinen työpöytätila toissijaisille näytöille."</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"Salli vapaamuotoinen sizecompat"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"Sallii vapaamuotoiset sizecompat-sovellukset"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Ohita SmartDarkin pakottaminen päälle"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"Ohittaa toiminnon, joka pakottaa SmartDark-ominaisuuden aina päälle"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"Tietosuoja"</string>
@@ -4639,6 +4747,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Asensit tämän sovelluksen äskettäin."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Vaihda syötettä"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Toistetaan nyt: <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (yhteys katkaistu)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Ei voi vaihtaa. Yritä uudelleen."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Tärkeää tietoa"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"JATKA"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"EI KIITOS"</string>
@@ -4666,8 +4776,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"SIM-yhdistelmä"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Työkäytäntötietosi"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"IT-järjestelmänvalvojan ylläpitämät asetukset"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"Grafiikkasuoritin"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"Virheraportin käsittelijä"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Valitsee, mikä sovellus käsittelee laitteen virheraportti-pikanäppäintä."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Henkilökohtainen"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"Työ"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"Järjestelmän oletusarvo"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"Tämä valinta ei enää kelpaa. Yritä uudestaan."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"Lopeta striimaus"</string>
 </resources>
diff --git a/res/values-fr-rCA/arrays.xml b/res/values-fr-rCA/arrays.xml
index ea4cb2d..848cd3f 100644
--- a/res/values-fr-rCA/arrays.xml
+++ b/res/values-fr-rCA/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"Immédiatement"</item>
     <item msgid="463591454172790676">"5 secondes"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"Ne pas valider"</item>
+    <item msgid="5703177653586269306">"Demander l\'état du certificat"</item>
+    <item msgid="326388247868439528">"Exiger l\'état du certificat"</item>
+    <item msgid="1090956283885790552">"Exiger tous les états de certificat non fiable"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"Bouton de commande"</item>
     <item msgid="2630618799033509548">"NIP de l\'appareil associé"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"Aucun"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"RPV IPSec avec clés pré-partagées et authentification Xauth"</item>
     <item msgid="2484564813864139237">"RPV IPSec avec certificats et authentification Xauth"</item>
     <item msgid="68918911194507915">"RPV IPSec avec certificats et authentification hybride"</item>
+    <item msgid="4631647675167100375">"RPV IKEv2/IPSec avec certificats et authentification par nom d\'utilisateur et mot de passe"</item>
+    <item msgid="8812228622975052811">"RPV IKEv2/IPSec avec clés prépartagées"</item>
+    <item msgid="6630554779981113046">"RPV IKEv2/IPSec avec certificats"</item>
   </string-array>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"Aucun"</item>
diff --git a/res/values-fr-rCA/config.xml b/res/values-fr-rCA/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-fr-rCA/config.xml
+++ b/res/values-fr-rCA/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index 503df4c..0f044d6 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -31,49 +31,17 @@
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Veuillez d\'abord activer les options pour les concepteurs"</string>
     <string name="header_category_wireless_networks" msgid="303445626075235229">"Sans fil et réseaux"</string>
     <string name="header_category_system" msgid="1665516346845259058">"Système"</string>
-    <string name="radio_info_data_connection_enable" msgid="7500945447906187613">"Activer la connexion de données"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"Désactiver la connexion de données"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"Indicateur de configuration VoLTE activé"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"Appel vidéo géré"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"Appel Wi-Fi géré"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"Configuration EAB/Présence effectuée"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"Données CBRS"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"Activer DSDS"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"Redémarrer l\'appareil?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"Vous devez redémarrer votre appareil pour modifier ce paramètre."</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"Redémarrer"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"Annuler"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"Alimentation de radio cellulaire"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"Afficher le carnet d\'adresses de la carte SIM"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"Afficher les numéros autorisés"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"Afficher les numéros de service"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"État du service IMS"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"État IMS"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"Enregistré"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"Non enregistré"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"Accessible"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"Non accessible"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"Enregistrement IMS : <xliff:g id="STATUS">%1$s</xliff:g>\nVoix sur LTE : <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nVoix sur Wi-Fi : <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nAppels vidéo : <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nInterface UT : <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"En service"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Hors service"</string>
     <string name="radioInfo_service_emergency" msgid="6838935881091760942">"Appels d\'urgence seulement"</string>
     <string name="radioInfo_service_off" msgid="6184928420860868571">"Signal radio désactivé"</string>
     <string name="radioInfo_roaming_in" msgid="8892550453644088692">"Itinérance"</string>
     <string name="radioInfo_roaming_not" msgid="3137594549464975054">"Pas en itinérance"</string>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"Absent(e)"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"Sonnerie"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"Appel en cours"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"Déconnecté"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"Connexion en cours…"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"Connecté"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Suspendu"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Inconnu"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"paquets"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"octets"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID ou IDC"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"Désinstaller la mémoire de stockage USB"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"Désinstaller la carte SD"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"Effacer la mémoire de stockage USB"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"Agrandissez ou réduisez le texte affiché."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Rapetisser"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Agrandir"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"Exemple de texte"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"Le Magicien d\'Oz"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"Chapitre 11 : La merveilleuse cité d\'émeraude d\'Oz"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"Vous devez redémarrer votre appareil pour modifier ce param."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"Redémarrer"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"Annuler"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"Appareils multimédias disponibles"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"Appareils d\'appels accessibles"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"Actuellement connecté"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"Appareils de stockage multimédia"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"Appareils avec fonctionnalités d\'appel"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"Autres appareils"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Appareils enregistrés"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Le Bluetooth s\'activera pour l\'association"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Préférences de connexion"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"Le port indiqué n\'est pas valide."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"Le serveur mandataire HTTP est utilisé par le navigateur, mais ne peut pas l\'être par les autres applications."</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"URL config. auto mand. : "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"Sous-identifiant actuel :"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"Sous-identifiant de la carte SIM par défaut pour les données :"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"Bande passante de téléchargement (kb/s) :"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"Bande passante de téléversement (kb/s) :"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"Données de la position de la cellule (discontinuées) :"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"Configuration du canal physique LTE :"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"Taux d\'actualisation des données de la cellule :"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"Données des mesures de toutes les cellules :"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"Service de données :"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"Itinérance :"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"Code IIEM :"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"Transfert d\'appel :"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"Nombre de réinitialisations PPP depuis le démarrage :"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"Réseau actuel :"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"Données reçues :"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"Service vocal :"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"Force du signal :"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"État de l\'appel vocal :"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"Données envoyées :"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"Message en attente :"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"Numéro de téléphone :"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"Sélectionnez la bande radio"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"Type de réseau vocal :"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"Type de réseau de données :"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"Sélectionner un index téléphonique"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"Définir le type de réseau préféré :"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"Faire un ping de l\'IPv4 du nom d\'hôte (www.google.com) :"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"Faire un ping de l\'IPv6 du nom d\'hôte (www.google.com) :"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"Test du client HTTP :"</string>
     <string name="ping_test_label" msgid="265427033290391845">"Effectuer le test de ping"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC :"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"Mettre à jour"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"Actualiser"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"Basculer la vérification DNS"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"Infos/paramètres OEM"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"Définir le mode de bande radio"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"Chargement de la liste de bandes en cours..."</string>
-    <string name="band_mode_set" msgid="494968379352406359">"Définir"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"Échec"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"Opération effectuée"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"Les modifications prendront effet lors de la prochaine connexion du câble USB."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"Activer la mémoire de stockage USB de masse"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"Nombre d\'octets au total :"</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"Déplacer dans le bas"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"Supprimer la langue"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"Sélectionnez une activité"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"Informations sur l\'appareil"</string>
     <string name="display_label" msgid="3056320781191343221">"Écran"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"Informations sur la tablette"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"Informations sur le téléphone"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"Mémoire de stockage USB"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"Carte SD"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"Paramètres du serveur mandataire"</string>
@@ -306,9 +234,6 @@
     <string name="airplane_mode" msgid="3196085857882526817">"Mode avion"</string>
     <string name="wireless_networks_settings_title" msgid="8557542379234105369">"Sans fil et réseaux"</string>
     <string name="radio_controls_summary" msgid="9028430178697624501">"Gérer le Wi-Fi, le Bluetooth, le mode Avion, les réseaux mobiles et les RPV"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"Données cellulaires"</string>
-    <string name="calls_title" msgid="6334813967619899114">"Autoriser les appels"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"Messages texte"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"Auto. utilisation données sur réseau cell."</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"Autor. util. données en itin."</string>
     <string name="roaming" msgid="3055365654530847985">"Itinérance"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"Se connecter aux services de données lors de l\'itinérance"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"Vous avez été déconnecté, car vous avez quitté votre réseau domestique et l\'itinérance des données est désactivée."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"Activer"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"Des frais importants peuvent s\'appliquer."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"Lorsque vous autorisez l\'itinérance des données, des frais d\'itinérance importants peuvent s\'appliquer!\n\nCe paramètre affecte tous les utilisateurs de cette tablette."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"Lorsque vous autorisez l\'itinérance des données, des frais d\'itinérance importants peuvent s\'appliquer!\n\nCe paramètre affecte tous les utilisateurs de ce téléphone."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"Des frais d\'itinérance peuvent s\'appliquer."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"Lorsque vous autorisez les données en itinérance, des frais d\'itinérance peuvent s\'appliquer.\n\nCe réglage touche tous les utilisateurs définis sur cette tablette."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"Lorsque vous autorisez les données en itinérance, des frais d\'itinérance peuvent s\'appliquer.\n\nCe réglage touche tous les utilisateurs définis sur ce téléphone."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"Autoriser l\'itinérance des données?"</string>
     <string name="networks" msgid="5184501333492775095">"Sélection de l\'opérateur"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"Sélectionner un opérateur réseau"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"Désactivé par l\'administrateur"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"Afficher l\'option de verrouillage"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"Afficher l\'option de l\'interrupteur qui désactive Smart Lock, le déverrouillage biométrique et les notifications sur l\'écran de verrouillage"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"Déverrouillage prolongé pour les agents confiance"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"Si cette option est activée, les agents de confiance garderont votre appareil déverrouillé pendant plus longtemps, mais ne pourront plus déverrouiller un appareil verrouillé."</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"Verr. écran en cas de perte de confiance"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"Si cette fonction est activée, l\'appareil sera verrouillé lorsque le dernier agent de confiance perd sa marque de confiance"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"Aucun"</string>
@@ -390,7 +313,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"Définir les paramètres de l\'option Ma position et de verrouillage"</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"Définir les paramètres de la fonction Ma position, de déverrouillage de l\'écran et de verrouillage du stockage des identifiants"</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"Confidentialité"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"Désactivé par l\'administrateur"</string>
+    <string name="disabled_by_administrator_summary" msgid="5424846182313851124">"Non accessible"</string>
     <string name="security_status_title" msgid="6958004275337618656">"État de la sécurité"</string>
     <string name="security_dashboard_summary_face" msgid="4198949293847206382">"Verrouillage de l\'écran, déverrouillage par reconnaissance du visage"</string>
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Verrouillage de l\'écran, empreintes digitales"</string>
@@ -693,7 +616,6 @@
       <item quantity="one">Doit contenir moins de <xliff:g id="NUMBER_1">%d</xliff:g> chiffre</item>
       <item quantity="other">Doit contenir moins de <xliff:g id="NUMBER_1">%d</xliff:g> chiffres</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"Doit contenir uniquement des chiffres contenus entre 0 et 9"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"L\'administrateur de l\'appareil ne permet pas l\'utilisation d\'un NIP récent"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"Les NIP communs sont bloqués par l\'administrateur de votre service informatique. Essayez un NIP différent."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"Vous ne pouvez pas inclure de caractère non valide"</string>
@@ -724,6 +646,10 @@
       <item quantity="one">Doit contenir au moins <xliff:g id="COUNT">%d</xliff:g> caractère autre qu\'une lettre</item>
       <item quantity="other">Doit contenir au moins <xliff:g id="COUNT">%d</xliff:g> caractères autres qu\'une lettre</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="one">Doit contenir au moins <xliff:g id="COUNT">%d</xliff:g> caractère non numérique</item>
+      <item quantity="other">Doit contenir au moins <xliff:g id="COUNT">%d</xliff:g> caractères non numériques</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"L\'administrateur de l\'appareil ne permet pas l\'utilisation d\'un mot de passe récent"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"Les mots de passe communs sont bloqués par l\'administrateur de votre service informatique. Essayez un mot de passe différent."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"Les suites croissantes, décroissantes ou répétitives de chiffres ne sont pas autorisées"</string>
@@ -837,19 +763,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2,4 GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"Connexion"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"Ouvrir le site"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"Il reste <xliff:g id="REMAINING_TIME">%1$s</xliff:g>"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"Expire le <xliff:g id="EXPIRY_TIME">%1$s</xliff:g>"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"Touchez ici pour vous connecter au réseau"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Mb/s"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Mb/s"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Mb/s"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"<xliff:g id="REQUESTER">%s</xliff:g> souhaite activer le Wi-Fi"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"<xliff:g id="REQUESTER">%s</xliff:g> souhaite désactiver le Wi-Fi"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"Vérif. code à octets des applis déboguables"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Autoriser ART à vérifier le code à octets pour les applications débogables"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"Afficher le taux d\'actualisation"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Afficher le taux d\'actualisation actuel"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"Autoriser l\'échange de données lorsque la tablette est en contact avec un autre appareil"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"Autoriser l\'échange de données lorsque le téléphone est en contact avec un autre appareil"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"Autoriser l\'échange de données lorsque la tablette touche un appareil NFC"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"Autoriser l\'échange de données lorsque le téléphone touche un appareil NFC"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"Activer la fonction NFC"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"La technologie NFC échange des données entre cet appareil et d\'autres appareils ou cibles à proximité, tels que les terminaux de paiement, les lecteurs d\'accès et les annonces ou les balises interactifs"</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"NFC sécurisée"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Déverrouillage de l\'appareil requis pour utiliser la fonctionnalité NFC"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"Autoriser l\'utilisation de la technologie NFC pour les paiements et les transports en commun uniquement lorsque l\'écran est déverrouillé"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"Prêt à partager le contenu de l\'application par NFC"</string>
@@ -923,8 +855,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Activer"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"La recherche de réseaux Wi-Fi est activée"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Options avancées"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"Liste déroulante Options avancées. Touchez deux fois pour la réduire."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"Liste déroulante Options avancées. Touchez deux fois pour la développer."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Liste déroulante des options avancées"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"développer"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"Nom du réseau"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"Entrez le SSID"</string>
     <string name="wifi_security" msgid="9095934643631406913">"Sécurité"</string>
@@ -934,6 +866,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"État"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"Vitesse du lien de transmission"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"Recevoir la vitesse du lien"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"Vitesse de connexion"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"Fréquence"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"Adresse IP"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"Enregistré par"</string>
@@ -941,6 +874,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"Méthode EAP"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"Authentification de la phase 2"</string>
     <string name="wifi_eap_ca_cert" msgid="8033404008276298886">"Certificat CA"</string>
+    <string name="wifi_eap_ocsp" msgid="8713933962516871238">"État du certificat en ligne"</string>
     <string name="wifi_eap_domain" msgid="8304301470752333203">"Domaine"</string>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"Certificat utilisateur"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"Identité"</string>
@@ -957,6 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"Choisissez au moins une bande pour le point d\'accès Wi-Fi :"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"Paramètres IP"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"Confidentialité"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"Abonnement"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"Affichez ou modifiez l\'abonnement"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"Adresse MAC aléatoire"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"Ajouter un appareil"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"Centrez le code QR ci-dessous pour ajouter l\'appareil à « <xliff:g id="SSID">%1$s</xliff:g> »"</string>
@@ -966,12 +902,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"Partager le Wi‑Fi"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"Numérisez ce code QR pour établir la connexion au réseau « <xliff:g id="SSID">%1$s</xliff:g> » et partager le mot de passe"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"Numérisez ce code QR pour établir la connexion au réseau « <xliff:g id="SSID">%1$s</xliff:g> »"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"Impossible de lire le code QR. Recentrez le code et réessayez"</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"Réessayez. Si le problème persiste, communiquez avec le fabricant de l\'appareil"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"Un problème s\'est produit"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"Assurez-vous que l\'appareil a été branché, chargé et allumé"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"Assurez-vous que l\'appareil a été branché, chargé et allumé. Si le problème persiste, communiquez avec le fabricant de l\'appareil"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"L\'ajout de « <xliff:g id="SSID">%1$s</xliff:g> » n\'est pas pris en charge sur cet appareil"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"Essayez de rapprocher l\'appareil du point d\'accès ou du routeur Wi‑Fi"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"Vérifiez votre mot de passe, puis réessayez"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"Communiquez avec le fabricant de l\'appareil"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"Vérifiez votre connexion et réessayez"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"Choisir un réseau"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"Pour connecter votre appareil, choisissez un réseau"</string>
@@ -984,11 +922,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"Partage du Wi‑Fi avec cet appareil en cours…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"Connexion en cours…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"Partager le point d\'accès"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"Confirmer que c\'est bien vous"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"Vérifier qu\'il s\'agit bien de vous"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"Mot de passe Wi-Fi : <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"Mot de passe du point d\'accès : <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"Connexion automatique"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"Autoriser le téléphone à se connecter automatiquement lorsqu\'il est à proximité de ce réseau"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"Autoriser la tablette à se connecter automatiquement lorsqu\'elle est à proximité de ce réseau"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"Ajouter un appareil"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"Utiliser un code QR pour ajouter un appareil à ce réseau"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"Le format du code QR est incorrect"</string>
     <string name="retry" msgid="7542103800274026915">"Réessayer"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"Partager avec d\'autres utilisateurs d\'appareils"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(aucune modification)"</string>
@@ -1000,6 +942,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"Aucun certificat indiqué. Votre connexion ne sera pas privée."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"Le nom du réseau est trop long."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"Vous devez spécifier un domaine."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"Certificat obligatoire."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"WPS disponible"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (WPS disponible)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"Réseau Wi-Fi du fournisseur de services"</string>
@@ -1051,7 +994,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"Paramètres Wi-Fi avancés"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"Adresse MAC"</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_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>
@@ -1103,7 +1047,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"Un point d\'accès vous permet de créer un réseau Wi-Fi pour vos autres appareils. Il les connecte à Internet en utilisant votre connexion de données cellulaires. Des frais supplémentaires peuvent s\'appliquer."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"Les applications peuvent créer un point d\'accès pour partager du contenu avec les appareils à proximité."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Désactiver automatiquement le point d\'accès Wi‑Fi"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"Le point d\'accès Wi‑Fi se désactive si aucun appareil n\'est connecté"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Lorsqu\'aucun appareil n\'est connecté"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"Activation du point d\'accès Wi-Fi en cours…"</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"Désactivation du point d\'accès Wi-Fi en cours…"</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> est actif"</string>
@@ -1112,6 +1056,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"Configuration point accès Wi‑Fi"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"Point d\'accès AndroidAP WPA2 PSK"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"AndroidHotspot"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"Enregistrer ce réseau?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"<xliff:g id="APPNAME">%1$s</xliff:g> souhaite enregistrer un réseau sur votre téléphone"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"<xliff:g id="APPNAME">%1$s</xliff:g> souhaite enregistrer un réseau sur votre tablette"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"Enregistrement en cours…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"Enregistré"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"Enregistrement impossible. Réessayez."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"Enregistrer les réseaux?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"<xliff:g id="APPNAME">%1$s</xliff:g> souhaite enregistrer ces réseaux sur votre téléphone"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"<xliff:g id="APPNAME">%1$s</xliff:g> souhaite enregistrer ces réseaux sur votre tablette"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"Enregistrement <xliff:g id="NUMBER">%d</xliff:g> de réseaux en cours…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"Réseaux enregistrés"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"Appels Wi-Fi"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"Étendez la portée des appels avec le Wi-Fi"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"Activez les appels Wi-Fi pour étendre la couverture"</string>
@@ -1138,16 +1093,18 @@
     <string name="emergency_address_title" msgid="3490633500025717573">"Adresse d\'urgence"</string>
     <string name="emergency_address_summary" msgid="3022628750270626473">"Cette adresse sera définie comme votre position géographique lorsque vous effectuerez des appels d\'urgence par Wi-Fi"</string>
     <string name="private_dns_help_message" msgid="851221502063782306"><annotation id="url">"En savoir plus"</annotation>" sur la fonctionnalité de DNS privé"</string>
+    <string name="private_dns_mode_on" msgid="8878679071975375696">"Activé"</string>
     <string name="wifi_calling_pref_managed_by_carrier" msgid="129524064888622179">"Ce paramètre est géré par votre fournisseur de services"</string>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"Activer les appels Wi-Fi"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"Activer les appels Wi-Fi"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"%1$s ne prend pas en charge les appels Wi-Fi"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"Déconnecté de <xliff:g id="SSID">%1$s</xliff:g>"</string>
     <string name="carrier" msgid="1755020806290963951">"Fournisseur de service"</string>
     <string name="display_settings_title" msgid="626835071804834218">"Affichage"</string>
     <string name="sound_settings" msgid="5514582720435174014">"Son"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"Volume"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"Effets musicaux"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"Volume de la sonnerie"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"Vibration pour la sonnerie et les notifications"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"Vibrer en mode silencieux"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"Son de notification par défaut"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"Sonnerie"</string>
@@ -1272,13 +1229,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"Horaire"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"Aucun"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"Actif toute la nuit"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"S\'active à l\'heure de votre choix"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"État"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"Désactivé : <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"Ne s\'activera jamais automatiquement"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"S\'activera automatiquement au coucher du soleil."</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"S\'activera automatiquement à <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"Activé : <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"Ne se désactivera jamais automatiquement"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"Se désactivera automatiquement au lever du soleil"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"Se désactivera automatiquement à <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"Activer jusqu\'à <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"Désactiver jusqu\'à <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"Le thème sombre utilise un arrière-plan noir pour aider à prolonger l\'autonomie de votre pile sur certains écrans. Les horaires du thème sombre attendent que votre écran soit éteint pour s\'activer."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"Mise en veille de l\'écran"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"L\'écran s\'éteint"</string>
@@ -1290,7 +1252,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"Changer le fond d\'écran"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"Personnalisez votre écran"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"Sélectionner un fond d\'écran dans"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"Personnaliser votre Pixel"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"Personnaliser votre téléphone"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"Essayez différents styles, fonds d\'écran, etc."</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"Écran de veille"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Pendant la charge ou sur la station d\'accueil"</string>
@@ -1379,6 +1341,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"Désinstaller la mémoire de stockage USB, afficher l\'espace disponible"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"Désinstaller la carte SD, afficher la mémoire disponible"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"Code IIEM (fente pour carte SIM n° %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"Pour l\'afficher, sélectionnez un réseau enregistré"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"Numéro de téléphone"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (fente carte SIM n° %1$d)"</string>
@@ -1405,6 +1368,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"Itinérance"</string>
     <string name="status_operator" msgid="4335640583552058491">"Réseau"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"Adresse MAC Wi-Fi"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"Adresse MAC Wi‑Fi de l\'appareil"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"Adresse Bluetooth"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Numéro de série"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Durée d\'activité"</string>
@@ -1617,6 +1581,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"La réinitialisation des paramètres APN par défaut est terminée."</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"Options de réinitialisation"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"Vous pouvez réinitialiser le réseau, les applications ou l\'appareil"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"Les applications peuvent être réinitialisées"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"Réinitialiser les paramètres Wi-Fi, cellulaires et Bluetooth"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"Cette opération entraîne la réinitialisation de tous les paramètres réseau, y compris :\n\n"<li>"Le Wi‑Fi"</li>\n<li>"Les données cellulaires"</li>\n<li>"Le Bluetooth"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"Effacer cartes SIM téléchargées"</string>
@@ -1666,6 +1631,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"Point d\'accès activé"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"Partage de connexion"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"Impossible de partager la connexion ou d\'utiliser des points d\'accès mobiles lorsque la fonction Économiseur de données est activée"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"Point d\'accès sans fil uniquement"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"USB uniquement"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"Bluetooth uniquement"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"Point d\'accès sans fil, USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"Point d\'accès sans fil, Bluetooth"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB, Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"Point d\'accès sans fil, USB, Bluetooth"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"Connexion Internet non partagée avec d\'autres appareils"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"Partage de connexion"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Ne pas utiliser les points d\'accès Wi‑Fi"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Uniquement partager la connexion Internet par USB"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Uniquement partager la connexion Internet par Bluetooth"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Uniquement partager la connexion Internet par USB et par Bluetooth"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"Partage de connexion par USB"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"Partager la connexion Internet du téléphone par connexion USB"</string>
@@ -1756,9 +1734,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"Informations de sécurité"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"Vous n\'avez pas de connexion Internet. Pour consulter ces renseignements maintenant, accédez à %s sur un ordinateur connecté à Internet."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"Chargement en cours..."</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"Utiliser un NIP"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"Utiliser un schéma"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"Utiliser un mot de passe"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"Configurer le verrouillage de l\'écran"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"Pour votre sécurité, définissez un mot de passe"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"Pour util. empr. digit., config. m. de passe"</string>
@@ -1767,8 +1742,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"Pour util. empr. digit., config. NIP"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"Pour votre sécurité, définissez un schéma de verrouillage"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"Entrez de nouveau votre mot de passe"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"Entrez votre mot de passe professionnel"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"Confirmez votre schéma"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"Entrez votre schéma profess."</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"Entrer de nouveau votre NIP"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"Entrez votre NIP professionnel"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"Les mots de passe ne correspondent pas."</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"Les NIP ne correspondent pas."</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"Tracer votre schéma à nouveau"</string>
@@ -1779,6 +1757,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"Pour util. dév. par rec. faciale, créez m.d.p."</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"Pour util. dév. par rec. faciale, config. schéma"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"Pour util. dév. par rec. faciale, config. NIP"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"Mot de passe oublié?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"Schéma oublié?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"NIP oublié?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"Entrez le schéma de l\'appareil pour continuer"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"Entrez le NIP de l\'appareil pour continuer."</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"Entrez le mot de passe de l\'appareil pour continuer."</string>
@@ -1846,6 +1827,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"Autoriser toutes sources appli"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"Applications récemment ouvertes"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"Afficher les <xliff:g id="COUNT">%1$d</xliff:g> applications"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"Contacter l\'administrateur informatique"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"Il peut vous aider à réinitialiser votre NIP, votre schéma ou votre mot de passe"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"Votre tablette et vos données personnelles sont plus vulnérables aux attaques provenant d\'applications inconnues. En installant des applications provenant de cette source, vous acceptez d\'être le seul responsable de tout dommage causé à votre tablette ou de toute perte de données pouvant découler de l\'utilisation de telles applications."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"Votre téléphone et vos données personnelles sont plus vulnérables aux attaques provenant d\'applications inconnues. En installant des applications provenant de cette source, vous acceptez d\'être le seul responsable de tout dommage causé à votre téléphone ou de toute perte de données pouvant découler de l\'utilisation de telles applications."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"Votre appareil et vos données personnelles sont plus vulnérables aux attaques provenant d\'applications inconnues. En installant des applications provenant de cette source, vous acceptez d\'être responsable de tout dommage causé à votre appareil ou de toute perte de données pouvant découler de l\'utilisation de telles applications."</string>
@@ -1897,7 +1880,7 @@
     <string name="default_emergency_app" msgid="1929974800666613803">"Application d\'urgence"</string>
     <string name="reset_app_preferences" msgid="8861758340732716573">"Réinitialiser préférences applis"</string>
     <string name="reset_app_preferences_title" msgid="8935136792316050759">"Réinitialiser préférences applis?"</string>
-    <string name="reset_app_preferences_desc" msgid="1377296810290814749">"Cette opération a pour effet de réinitialiser toutes les préférences relatives aux éléments suivants :\n\n "<li>"Applications désactivées"</li>\n" "<li>"Notifications associées aux applications désactivées"</li>\n" "<li>"Applications par défaut pour les actions"</li>\n" "<li>"Restrictions de données en arrière-plan pour les applications"</li>\n" "<li>"Toutes les restrictions d\'autorisations"</li>\n\n"Vous ne perdrez aucune donnée liée aux applications."</string>
+    <string name="reset_app_preferences_desc" msgid="6509978724602405805">"Cette opération réinitialise toutes les préférences relatives aux éléments suivants :\n\n"<li>"Applications désactivées"</li>\n<li>"Notifications associées aux applications désactivées"</li>\n<li>"Applications par défaut pour les actions"</li>\n<li>"Restrictions de données en arrière-plan pour les applications"</li>\n<li>"Toutes les restrictions d\'autorisations"</li>\n\n"Vous ne perdrez aucune donnée liée aux applications."</string>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"Réinitialiser applis"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"Gérer l\'espace"</string>
     <string name="filter" msgid="9039576690686251462">"Filtre"</string>
@@ -2097,7 +2080,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"Audio et texte à l\'écran"</string>
     <string name="display_category_title" msgid="6638191682294461408">"Affichage"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"Commandes d\'interaction"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"Services téléchargés"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"Applications téléchargées"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"Fonctions expérimentales"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"Indicateurs de fonctionnalité"</string>
     <string name="talkback_title" msgid="8756080454514251327">"TalkBack"</string>
@@ -2105,27 +2088,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"Touchez les éléments à l\'écran pour les entendre à haute voix"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"Préférences de sous-titres"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"Zoom"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"Région d\'agrandissement"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"Activer l\'agrandissement"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"Choisir la ou les régions d\'agrandissement que vous voulez utiliser quand vous agrandissez l\'écran"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"Plein écran"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"Partie de l\'écran"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"Plein écran et partie de l\'écran"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"Agrandir l\'écran entier"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"Agrandir une partie de l\'écran"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Paramètres d\'agrandissement"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"Agrandir en touchant 3 fois"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Agrandir avec un raccourci"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Agrandir avec le raccourci et en touchant trois fois"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"À propos de <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"Options"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"Zoom avant sur l\'écran"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"Touchez trois fois pour zoomer vers l\'avant"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Touchez un bouton pour zoomer"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><b>"Pour zoomer,"</b>" touchez rapidement l\'écran trois fois.\n"<ul><li>"Glissez deux doigts ou plus sur l\'écran pour le faire défiler"</li>\n<li>"Pincez deux doigts ou plus pour ajuster le zoom"</li></ul>\n\n<b>"Pour zoomer temporairement,"</b>" touchez rapidement l\'écran trois fois et, au troisième toucher, laissez le doigt sur l\'écran\n"<ul><li>"Glissez votre doigt vous vous déplacer sur l\'écran."</li>\n<li>"Relevez le doigt pour zoomer vers l\'arrière"</li></ul>\n\n"On ne peut pas zoomer sur le clavier ou la barre de navigation."</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"Lorsque le zoom est activé, vous pouvez agrandir ce qui est affiché sur l\'écran.\n\n"<b>"Pour effectuer un zoom,"</b>" activez cette fonction, puis touchez une zone de l\'écran.\n"<ul><li>"• Glissez deux doigts ou plus pour faire défiler l\'écran"</li>\n<li>"• Pincez deux doigts ou plus pour ajuster le facteur de zoom"</li></ul>\n\n<b>"Pour effectuer un zoom temporaire,"</b>" activez cette fonction, puis laissez le doigt sur une zone de l\'écran.\n"<ul><li>"• Pour vous déplacer dans l\'écran, glissez le doigt"</li>\n<li>"• Pour rétablir le zoom par défaut, retirez le doigt de l\'écran"</li></ul>\n\n"On ne peut pas effectuer de zoom avant sur le clavier ni sur la barre de navigation."</string>
+    <string name="accessibility_screen_magnification_summary" msgid="7617931632990040045">"Effectuez rapidement un zoom avant pour afficher le contenu plus clairement.<br/><br/><b>Pour effectuer un zoom avant :</b><br/>	1. Utilisez le raccourci pour commencer l\'agrandissement&lt;br/&gt;	2. Touchez l\'écran&lt;br/&gt;	3. Faites glisser deux doigts pour vous déplacer dans l\'écran&lt;br/&gt;	4. Pincez avec deux doigts pour ajuster le zoom&lt;br/&gt;	5. Utilisez le raccourci pour arrêter l\'agrandissement&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Pour zoomer vers l\'avant temporairement :&lt;/b&gt;&lt;br/&gt;	1. Utilisez le raccourci pour commencer l\'agrandissement&lt;br/&gt;	2. Laissez le doigt sur une zone de l\'écran&lt;br/&gt;	3. Faites glisser votre doigt pour vous déplacer sur l\'écran&lt;br/&gt;	4. Levez le doigt pour arrêter l\'agrandissement"</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"When magnification is turned on, you can zoom in on your screen.\n\n"<b>"Pour effectuer un zoom,"</b>", activez cette fonction, puis touchez une zone de l\'écran.\n"<ul><li>"Glissez deux doigts ou plus sur l\'écran pour le faire défiler"</li>\n<li>"Pincez deux doigts ou plus pour ajuster le zoom"</li></ul>\n\n<b>"Pour zoomer temporairement l\'écran"</b>", touchez le bouton d\'accessibilité, puis maintenez le doigt sur ailleurs sur l\'écran.\n"<ul><li>"Glissez votre doigt sur l\'écran à l\'endroit désiré"</li>\n<li>"Relevez le doigt pour zoomer vers l\'arrière"</li></ul>\n\n"On ne peut pas zoomer sur le clavier ou la barre de navigation."</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Utiliser le bouton d\'accessibilité pour ouvrir"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Utiliser un geste pour activer le service"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"Utiliser le nouveau geste d\'accessibilité"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"Pour activer ou désactiver ce service, touchez le bouton d\'accessibilité <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> dans le bas de l\'écran.\n\nPour basculer entre les services, maintenez le doigt sur le bouton d\'accessibilité."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"Pour activer ou désactiver ce service, balayez l\'écran de bas en haut avec deux doigts.\n\nPour basculer entre les services, balayez l\'écran vers le haut avec deux doigts et maintenez-les-y."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"Pour activer ou désactiver ce service, balayez l\'écran de bas en haut avec trois doigts.\n\nPour basculer entre les services, balayez l\'écran vers le haut avec trois doigts et maintenez-les-y."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"Pour activer ou désactiver le service d\'accessibilité, balayez l\'écran de bas en haut avec deux doigts.\n\nPour basculer entre les services, balayez l\'écran vers le haut avec deux doigts et maintenez-les-y."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"Pour activer ou désactiver le service d\'accessibilité, balayez l\'écran de bas en haut avec trois doigts.\n\nPour basculer entre les services, balayez l\'écran vers le haut avec trois doigts et maintenez-les-y."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"Pour activer ou désactiver ce service, touchez le bouton d\'accessibilité <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> dans le bas de l\'écran.\n\nPour basculer entre les services, maintenez le doigt sur le bouton d\'accessibilité."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"Pour activer ou désactiver ce service, balayez l\'écran de bas en haut avec deux doigts.\n\nPour basculer entre les services, balayez l\'écran vers le haut avec deux doigts et maintenez-les-y."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"Pour activer ou désactiver ce service, balayez l\'écran de bas en haut avec trois doigts.\n\nPour basculer entre les services, balayez l\'écran vers le haut avec trois doigts et maintenez-les-y."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"Pour activer ou désactiver le service d\'accessibilité, balayez l\'écran de bas en haut avec deux doigts.\n\nPour basculer entre les services, balayez l\'écran vers le haut avec deux doigts et maintenez-les-y."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"Pour activer ou désactiver le service d\'accessibilité, balayez l\'écran de bas en haut avec trois doigts.\n\nPour basculer entre les services, balayez l\'écran vers le haut avec trois doigts et maintenez-les-y."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"OK"</string>
+    <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Raccourci pour <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_edit_summary_software" msgid="2820923641553461297">"Bouton d\'accessibilité"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture" msgid="8078659880723370597">"Balayez l\'écran vers le haut avec deux doigts"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture_talkback" msgid="7422753388389160524">"Balayez l\'écran vers le haut avec trois doigts"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software" msgid="4796192466943479849">"Touchez le bouton d\'accessibilité"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8922102767509399352">"Touchez le bouton d\'accessibilité <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> dans le bas de l\'écran"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"Balayez l\'écran du bas vers le haut avec deux doigts"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"Balayez l\'écran vers le bas avec trois doigts"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Maintenez enfoncées les touches de volume"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"Maintenez enfoncées les deux touches de volume pendant une seconde"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Touchez l\'écran trois fois"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"Touchez rapidement l\'écran trois fois. Ce raccourci peut ralentir votre appareil."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"Avancé"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"Le bouton d\'accessibilité est défini à <xliff:g id="SERVICE">%1$s</xliff:g>. Pour utiliser cette fonction, maintenez enfoncé le bouton d\'accessibilité, puis sélectionnez l\'agrandissement."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"Le geste d\'accessibilité est défini pour <xliff:g id="SERVICE">%1$s</xliff:g>. Pour utiliser le zoom, balayez l\'écran de bas en haut deux avec doigts, puis maintenez-les-y. Sélectionnez ensuite Zoom."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"Raccourci touches volume"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"Service de raccourcis"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Paramètres du raccourci"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"Autoriser à l\'écran de verrouillage"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"Lorsque le raccourci est activé, vous pouvez appuyer sur les deux boutons de volume pendant trois secondes pour démarrer une fonctionnalité d\'accessibilité."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"Texte de contraste élevé"</string>
@@ -2149,24 +2157,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"Choisissez la durée d\'affichage des messages vous demandant d\'agir, mais qui ne sont visibles que temporairement.\n\nCe ne sont pas toutes les applications qui prennent en charge ce paramètre."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"Délai de pression"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"Inversion des couleurs"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"Pourrait nuire aux performances"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"Temps d\'arrêt"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"Utiliser l\'inversion des couleurs"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"L\'inversion des couleurs assombrit les écrans lumineux. Cela aide les personnes sensibles à la lumière à regarder l\'écran avec moins de difficulté. &lt;br/&gt;&lt;br/&gt;Remarque : Les couleurs sombres deviendront claires. Les couleurs des contenus multimédias et des images seront modifiées. Vous pouvez également utiliser le thème sombre (Paramètres &gt; Affichage)."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"Clic automatique (temps d\'arrêt)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"Si vous utilisez une souris, vous pouvez configurer votre appareil de façon à ce qu\'un clic s\'effectue automatiquement lorsque le curseur s\'immobilise pendant un certain temps."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"Délai précédant le clic"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"Ne pas utiliser le clic automatique (défaut)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"Court"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0,2 seconde"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"Moyen"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0,6 seconde"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"Long"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 seconde"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"Personnalisé"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"Plus court"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"Plus long"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"Durée du clic automatique"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"Vibrations et intensité du retour haptique"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Vibration pour les notifications"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Vibration pour la sonnerie"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Retour tactile"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"Utiliser le service"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"Utiliser <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"Ouvrir <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"Utiliser la correction des couleurs"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"Utiliser les légendes"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"Afficher les sous-titres"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"Apparence des sous-titres"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"Taille du texte, style des sous-titres"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"Autres options"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"Ce ne sont pas toutes les applications qui prennent en charge ce paramètre."</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"bouton d\'accessibilité"</string>
+    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"Balayer l\'écran du bas vers le haut avec deux doigts"</string>
+    <string name="accessibility_shortcut_type_hardware" msgid="4834144210432451916">"Tenir enfoncées les touches de volume"</string>
+    <string name="accessibility_shortcut_type_triple_tap" msgid="7717524216825494543">"Toucher l\'écran trois fois"</string>
     <string name="accessibility_hearingaid_instruction_continue_button" msgid="3367260988024430722">"Continuer"</string>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"Prothèses auditives"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"Aucune prothèse auditive connectée"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"Ajouter des prothèses auditives"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"Pour associer votre prothèse auditive, trouvez-la dans la liste de l\'écran suivant et touchez-la."</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"Assurez-vous que votre prothèse auditive est en mode d\'association."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"Pour associer votre prothèse auditive, trouvez-la dans la liste de l\'écran suivant et touchez-la. Assurez-vous que votre prothèse auditive est en mode d\'association."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> est actif"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> prothèse auditive enregistrée</item>
@@ -2178,25 +2204,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Ce service est défectueux."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Afficher dans la fenêtre de configuration rapide"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"Mode de correction"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="one">Délai extrêmement court (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Délai extrêmement court (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Rouge-vert"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"Vert-rouge"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Bleu-jaune"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"Deutéranomalie"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"Protanomalie"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"Tritanomalie"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="one">Délai extrêmement court (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> seconde)</item>
+      <item quantity="other">Délai extrêmement court (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> secondes)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="one">Très court délai (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Très court délai (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="one">Délai très court (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> seconde)</item>
+      <item quantity="other">Délai très court (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> secondes)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="one">Court délai (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Court délai (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="one">Court délai (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> seconde)</item>
+      <item quantity="other">Court délai (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> secondes)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="one">Long délai (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Long délai (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="one">Long délai (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> seconde)</item>
+      <item quantity="other">Long délai (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> secondes)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="one">Très long délai (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Très long délai (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="one">Délai très long (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> seconde)</item>
+      <item quantity="other">Délai très long (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> secondes)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> seconde</item>
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> secondes</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"Sonnerie : <xliff:g id="SUMMARY_RING">%1$s</xliff:g>. Notifications : <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>. Toucher : <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>."</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"La vibration pour la sonnerie et les notifications est désactivée"</string>
@@ -2513,7 +2549,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"Depuis le dernier débranchement (<xliff:g id="UNPLUGGED">%1$s</xliff:g>)"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"Utilisation totale"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"Actualiser"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"Système d\'exploitation Android"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"Serveur multimédia"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"Optimisation des applications"</string>
     <string name="battery_saver" msgid="7737147344510595864">"Économie d\'énergie"</string>
@@ -2594,8 +2629,7 @@
     <string name="tts_play" msgid="2945513377250757221">"Lire"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"RPV"</string>
     <string name="credentials_title" msgid="7535942196886123656">"Stockage des identifiants"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"Installer à partir de la mémoire"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"Installer à partir de la carte SD"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"Installer un certificat"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"Installer les certificats à partir de la mémoire de stockage"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"Installer les certificats à partir de la carte SD"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"Effacer les identifiants"</string>
@@ -2615,6 +2649,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"Les identifiants sont effacés."</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"Impossible eff. stockage identifiants."</string>
     <string name="usage_access_title" msgid="1580006124578134850">"Applis avec accès données"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"Certificat CA"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"Certif. RPV et d\'appli de l\'util."</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"Certificat Wi‑Fi"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"Votre confidentialité est en danger"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"Les certificats CA sont employés par les sites Web, les applications et les RPV pour le chiffrement. Installez uniquement les certificats CA provenant d\'organisations en qui vous avez confiance. \n\n Si vous installez un certificat CA, sont propriétaire pour accéder à vos données, comme des mots de passe, des messages ou des détails de cartes de crédit, provenant de sites Web que vous visitez ou d\'applications que vous utilisez, même si ces données sont chiffrées."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"Ne pas installer"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"Installer quand même"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"Certificat non installé"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"Signal de composition d\'urgence"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Définir le comportement en cas d\'appel d\'urgence"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Sauvegarde"</string>
@@ -2642,10 +2684,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"Désactiver et désinstaller"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"Applications d\'administration d\'appareils"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"Il n\'y a aucune application d\'administration d\'appareil"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"Personnel"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"Travail"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"Restreindre accès aux journaux mess. texte et appels"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"Seules les applications de téléphonie et de messagerie par défaut sont accès aux journaux des appels et des messages texte"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"Aucun agent de confiance disponible"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"Activer l\'appli d\'admin de l\'appareil?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"Activer l\'application d\'administration de l\'appareil"</string>
@@ -2659,6 +2697,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"D\'autres options sont désactivées par votre administrateur"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"Détails supplémentaires"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"Journal des notifications"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"Historique des notifications"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"Aujourd\'hui"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"Reportées"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"Récemment ignorées"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="one"><xliff:g id="NUMBER_1">%d</xliff:g> notification</item>
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> notifications</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"Sonnerie et vibreur pour les appels"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"Informations sur le réseau"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"Synchronisation activée"</string>
@@ -3008,7 +3054,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"Restrictions"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"Annuler les restrictions"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"Modifier le NIP"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"Afficher les notifications"</string>
     <string name="help_label" msgid="2896538416436125883">"Aide et commentaires"</string>
     <string name="support_summary" msgid="1034146931237148885">"Articles d\'aide, assistance par téléphone et par clavardage, premiers pas"</string>
     <string name="user_account_title" msgid="6389636876210834864">"Compte pour contenu"</string>
@@ -3033,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"Appels 4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Utiliser les services LTE pour améliorer les communications vocales et autres (recommandé)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Utiliser les services 4G pour améliorer les communications vocales et autres (recommandé)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Analyse des contacts"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Permet à votre fourn. de serv. d\'analyser quelles fonct. d\'appels vos contacts prennent en charge."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Activer l\'analyse des contacts?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"En activant cette fonction, vous autorisez votre fournisseur de services d\'accéder aux numéros de téléphone dans vos contacts afin d\'analyser quelles fonctionnalités d\'appels ils prennent en charge."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Type de réseau préféré"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (recommandé)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"Messages multimédias"</string>
@@ -3077,7 +3126,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"Appeler avec"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"Sélectionnez une carte SIM"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"Carte SIM <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"La fente pour carte SIM est vide"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"Nom de la carte SIM"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"Entrez le nom de la carte SIM"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"Fente pour carte SIM %1$d"</string>
@@ -3087,6 +3135,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"Sélectionner une carte SIM"</string>
     <string name="color_orange" msgid="216547825489739010">"Orange"</string>
     <string name="color_purple" msgid="6603701972079904843">"Mauve"</string>
+    <string name="color_pink" msgid="8596872110888626708">"Rose"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"Aucune carte SIM insérée"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"État de la carte SIM"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"État de la carte SIM (fente SIM n° %1$d)"</string>
@@ -3100,7 +3149,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"Les cartes SIM ont été changées."</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Touchez pour configurer"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"Carte SIM préférée pour"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Toujours demander"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Veuillez indiquer votre préférence"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"Sélection de carte SIM"</string>
@@ -3118,6 +3166,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"Bluetooth, mode Voiture"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"Bluetooth, NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"Bluetooth"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"Non accessible parce que la fonctionnalité NFC est désactivée"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"Applis et notifications"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Applications récentes, applications par défaut"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Les applications du profil professionnel n\'ont pas accès aux notifications."</string>
@@ -3128,13 +3177,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"Paramètres"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"wifi, wi-fi, connexion réseau, internet, sans fil, données, wi fi"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"notification Wi‑Fi, notification wifi"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"utilisation de données"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"Arrêter les vibrations, toucher, clavier"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"Utiliser le format 24 heures"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"Télécharger"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"Ouvrir avec"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"Applications"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"fuseau horaire"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"Bulle de clavardage"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"Bulle de clavardage, système, alerte, fenêtre, boîte de dialogue, écran, superposition autres applis, dessin"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"Lampe de poche, lumière"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"wifi, wi-fi, activer, désactiver, gestion"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"cellulaire, mobile, fournisseur de services, sans fil, données, 4g, 3g, 2g, lte"</string>
@@ -3158,7 +3208,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"ne pas déranger, interrompre, interruption, pause"</string>
     <string name="keywords_app" msgid="7983814237980258061">"Mémoire vive"</string>
     <string name="keywords_location" msgid="8016374808099706213">"à proximité, position, historique, signalement, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"compte"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"compte, ajouter un compte, profil professionnel, ajouter compte"</string>
     <string name="keywords_users" msgid="3497517660077620843">"restriction, restreindre, restreint"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"correction de texte, corriger, son, vibreur, automatique, langue, geste, suggérer, suggestion, thème, choquant, mot, type, emoji, international"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"réinitialiser, préférences, par défaut"</string>
@@ -3196,6 +3246,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"mémoire, cache, données, supprimer, effacer, libre, espace"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"connecté, appareil, casque d\'écoute, casque, haut-parleur, sans fil, associer, écouteurs, musique, médias"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"fond d\'écran, écran, écran de verrouillage, thème"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"forme de l\'icône, couleur d\'accent, police"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"par défaut, assistant"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"paiement, par défaut"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"notification entrante"</string>
@@ -3205,18 +3256,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"haptique, vibration, sensibilité"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"économiseur de pile, fixe, persistant, économie d\'énergie, pile"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"routine, horaire, économiseur de pile, économie d\'énergie, pile, automatique, pour cent"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"profil professionnel"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"volte, appels avancés, appels 4g"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"ajouter langue, ajoutez une langue"</string>
     <string name="default_sound" msgid="6604374495015245195">"Son par défaut"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"Le volume de la sonnerie est à <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"Le volume pour la sonnerie et les notifications est réglé à <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Volume, vibration, Ne pas déranger"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"Sonnerie en mode vibration"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"Sonnerie en mode silencieux"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"Le volume de la sonnerie est à 80 %"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"Le volume pour la sonnerie et les notifications est réglé à 80 %"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Volume du contenu multimédia"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Volume de diffusion"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"Volume des appels"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"Volume de l\'alarme"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"Volume de la sonnerie"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"Volume sonnerie et notifications"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"Volume des notifications"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"Sonnerie du téléphone"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"Son de notification par défaut"</string>
@@ -3224,6 +3276,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"Son de notification par défaut"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"Son de l\'alarme par défaut"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"Vibrer pour les appels"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"Ne jamais vibrer"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"Toujours vibrer"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"Vibrer en premier, puis sonnerie graduelle"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"Autres sons"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"Tonalités du clavier"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"Sons du verrouillage d\'écran"</string>
@@ -3247,6 +3302,7 @@
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> règles activées</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Ne pas déranger"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Recevez uniquement les notifications des gens et des applications importants"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Limiter les interruptions"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Activer la fonction « Ne pas déranger »"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"Exceptions"</string>
@@ -3273,7 +3329,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g> : <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Bloquer dérangements visuels"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Autoriser les signaux visuels"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"Quand la fonction Ne pas déranger est activée"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"Autoriser les interruptions qui émettent des sons"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"Restreindre les notifications"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Aucun son des notifications"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"Vous verrez des notifications sur l\'écran"</string>
@@ -3304,7 +3360,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"Sons et vibrations"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"Sons, vibrations et certains signes visuels des notifications"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"Sons, vibrations et signes visuels des notifications"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"Les notifications nécessaires pour les activités et les états de base du téléphone ne seront jamais masquées"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"Les notifications nécessaires pour les activités et les états de base du téléphone ne seront jamais masquées."</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"Aucun"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"autres options"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"Ajouter"</string>
@@ -3334,10 +3390,12 @@
       <item quantity="one"><xliff:g id="ON_COUNT">%d</xliff:g> horaire peut s\'activer automatiquement</item>
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> horaires peuvent s\'activer automatiquement</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"Désactiver le son de l\'appareil, mais autoriser les exceptions"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"Exceptions"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"Horaire"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"Afficher toutes les exceptions"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"Exceptions quand la fonction Ne pas déranger est activée"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"Personnes"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"Applications"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"Alarmes et autres interruptions"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"Horaires"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"Notifications désactivées"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"Lorsque le mode Ne pas déranger est activé, le son et les vibrations sont désactivés, sauf pour les éléments autorisés ci-dessus."</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"Tout désactiver sauf"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"Désactivés"</string>
@@ -3381,16 +3439,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"Notifications adaptatives"</string>
     <string name="asst_capability_prioritizer_title" msgid="1181272430009156556">"Priorité adaptative pour les notifications"</string>
     <string name="asst_capability_prioritizer_summary" msgid="954988212366568737">"Définir automatiquement les notifications à faible priorité sur Discrètes"</string>
+    <string name="asst_capability_ranking_title" msgid="312998580233257581">"Classement adaptatif des notifications"</string>
+    <string name="asst_capability_ranking_summary" msgid="2293524677144599450">"Classer automatiquement les notifications par pertinence"</string>
     <string name="asst_capabilities_actions_replies_title" msgid="4392470465646394289">"Suggestions d\'actions et de réponses"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"Afficher automatiquement les suggestions d\'actions et de réponses"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"Activez l\'historique des notifications pour garder la trace des anciennes notifications et des notifications reportées"</string>
+    <string name="notification_history" msgid="8663811361243456201">"Historique des notifications"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"Activer l\'historique"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"Désactiver l\'historique"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"L\'historique des notifications est désactivé"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"afficher les paramètres de notification"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Autoriser le report des notifications"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"Masquer les icônes des notifications discrètes"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"Les icônes des notifications discrètes ne s\'affichent pas dans la barre d\'état"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"Autoriser points de notification"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"Afficher la bande des conversations récentes"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Bulles"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"Certaines notifications peuvent s\'afficher sous forme de bulles à l\'écran"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"Certaines notifications et d\'autre contenu peuvent s\'afficher sous forme de bulles à l\'écran. Pour ouvrir une bulle, touchez-la. Pour l\'ignorer, faites-la glisser vers le bas de l\'écran."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Bulles"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"Les nouveaux messages s\'afficheront sur l\'écran"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"Autoriser l\'application <xliff:g id="APP_NAME">%1$s</xliff:g> à afficher des notifications sous forme de bulles"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"Activer les bulles"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"Avant de pouvoir activer les bulles pour cette application, vous devez les activer pour votre appareil. Cette modification a un impact sur les autres applications dans lesquelles vous avez déjà activé les bulles."</string>
@@ -3408,6 +3476,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"S\'affiche dans le volet déroulant et sur l\'écran de verrouillage"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"S\'affiche dans le volet déroulant et dans la barre d\'état"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"S\'affiche dans le volet déroulant, dans la barre d\'état et sur l\'écran de verrouillage"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"Masquer les notifications silencieuses dans la barre d\'état"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"Faire clignoter le voyant"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"Écran de verrouillage"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"Ignorer l\'écran de verrouillage"</string>
@@ -3438,6 +3507,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"Comportement"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"Autoriser le son"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"Ne jamais afficher les notifications"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"Conversations"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"Conversation"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"Ce n\'est pas une conversation"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"Supprimer de la section de conversation"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"C\'est une conversation"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"Ajouter à la section de conversation"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"Gérer les conversations"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"Conversations importantes"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"Toutes les conversations"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"Utiliser les bulles pour les conversations importantes"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"Les conversations importantes s\'affichent dans le haut du volet déroulant. Vous pouvez aussi les configurer pour qu\'elles s\'affichent dans des bulles et interrompent le mode Ne pas déranger."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"Affichage silencieux et réduction"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"Affichage silencieux"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"Émettre un son"</string>
@@ -3456,7 +3536,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"Vous aider à vous concentrer, sans son ni vibration"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"Attire votre attention à l\'aide de sons et de vibrations"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"Lorsque l\'appareil est déverrouillé, afficher les notifications dans une bannière dans le haut de l\'écran"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"Afficher les notifications"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"Toutes les notifications de <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"Notifications adaptatives"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="one">~<xliff:g id="NUMBER_1">%d</xliff:g> notification par jour</item>
@@ -3477,6 +3557,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"Notifications adaptatives"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"Aucun"</string>
     <string name="no_notification_listeners" msgid="2839354157349636000">"Aucune demande d\'accès aux notifications n\'a été envoyée pour les applications installées."</string>
+    <string name="notification_access_detail_switch" msgid="46386786409608330">"Autoriser l\'accès aux notifications"</string>
     <string name="notification_assistant_security_warning_title" msgid="2972346436050925276">"Autoriser <xliff:g id="SERVICE">%1$s</xliff:g> à accéder aux notifications?"</string>
     <string name="notification_assistant_security_warning_summary" msgid="3119843404577399036">"<xliff:g id="NOTIFICATION_ASSISTANT_NAME">%1$s</xliff:g> pourra lire toutes les notifications, y compris des données personnelles, telles que des noms de contacts et le texte des messages que vous recevez. Ce service pourra également masquer des notifications ou déclencher les boutons d\'action que celles-ci contiennent. \n\nCela permettra également à l\'application d\'activer et de désactiver la fonction Ne pas déranger et de modifier les paramètres connexes."</string>
     <string name="notification_listener_security_warning_title" msgid="5791700876622858363">"Autoriser <xliff:g id="SERVICE">%1$s</xliff:g> à accéder aux notifications?"</string>
@@ -3538,8 +3619,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"Terminé"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"Importance"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"Faire clignoter le voyant"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"Vibreur"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"Vibration"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"Son"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"Important"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"Ajouter au domicile"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"Supprimer"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"Renommer"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"Nom de l\'horaire"</string>
@@ -3593,6 +3676,10 @@
       <item quantity="one"><xliff:g id="NUM_PEOPLE">%d</xliff:g> autre personne</item>
       <item quantity="other"><xliff:g id="NUM_PEOPLE">%d</xliff:g> autres personnes</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Conversations"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"De toutes les conversations"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"Des conversations importantes"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"N\'autoriser aucune conversation"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"Autoriser les messages"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"Pour vous assurer que les messages autorisés émettent un son, vérifiez si votre appareil est réglé pour sonner, vibrer ou rester silencieux."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"Pendant « <xliff:g id="SCHEDULE_NAME">%1$s</xliff:g> », les messages entrants sont bloqués. Vous pouvez régler les paramètres pour permettre à vos amis, à votre famille ou à d\'autres contacts de vous joindre."</string>
@@ -3606,15 +3693,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"Aucun"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"Ne pas autoriser les appels"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"Ne pas autoriser les messages"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"Autoriser les alarmes"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"Alarmes"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"Des minuteries, des alarmes, des systèmes de sécurité et d\'autres applications"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"alarmes"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"Faire jouer les sons des médias"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"Sons des éléments multimédias"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"Des vidéos, des jeux et d\'autres éléments multimédias"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"média"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"Autoriser les sons des touches"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"Sons des touches"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"De votre clavier et des autres boutons"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"sons des touches"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"Autoriser les rappels"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"Rappels"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"Des tâches et des rappels"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"rappels"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"Autoriser les événements"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"Événements"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"Des événements de l\'agenda à venir"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Autoriser les applications à ignorer le mode Ne pas déranger"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"Exceptions des applications"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3657,6 +3749,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"Autoriser les notifications désactivées par le mode Ne pas déranger d\'activer l\'écran"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"Paramètres de notification"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"OK"</string>
+    <string name="suggestion_button_close" msgid="6865170855573283759">"Fermer"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Commentaires sur cet appareil"</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"Entrez le NIP d\'administrateur"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"Activé"</string>
@@ -3667,6 +3760,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Demander le NIP avant d\'annuler l\'épinglage"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Demander le mot de passe avant d\'annuler l\'épinglage"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Verrouiller l\'écran après l\'annulation de l\'épinglage"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Confirmer la suppression des cartes eSIM"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"Vérifiez qu\'il s\'agit bien de vous avant d\'effacer une carte eSIM téléchargée"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"Le profil professionnel est géré par :"</string>
     <string name="managing_admin" msgid="2633920317425356619">"Géré par <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(Expérimentale)"</string>
@@ -3741,8 +3836,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"Toutes les applications"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Applications installées"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Applications instantanées"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"Personnel"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"Travail"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"Applications : toutes"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"Désactivées"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"Catégories : importance urgente"</string>
@@ -3754,6 +3847,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"Application inconnue"</string>
     <string name="app_permissions" msgid="8666537659217653626">"Gestionnaire des autorisations"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"Applications qui utilisent <xliff:g id="APPS">%1$s</xliff:g>"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"Applications utilisant <xliff:g id="APPS">%1$s</xliff:g> et plus"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"Toucher pour réveiller"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"Double-touchez l\'écran pour réveiller l\'appareil"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"Ouverture des liens"</string>
@@ -3765,9 +3859,14 @@
       <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> application ouvrant des liens compatibles</item>
       <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> applications ouvrant des liens compatibles</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"Ouvrir dans cette application"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"Autoriser l\'application à gérer les liens pris en charge"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"Toujours demander"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"Ne pas ouvrir dans cette application"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"Ne pas autoriser l\'application à ouvrir les liens"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="one">L\'application revendique <xliff:g id="COUNT_1">%d</xliff:g> lien</item>
+      <item quantity="other">L\'application revendique <xliff:g id="COUNT_1">%d</xliff:g> liens</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"L\'application réclame les liens suivants :"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"Par défaut"</string>
     <string name="default_for_work" msgid="537558180548617528">"Par déf. pour util. professionn."</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"Assist. et entrée vocale"</string>
@@ -3911,8 +4010,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"Afficher par-dessus les autres applications"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Autoriser la superposition d\'applis"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"Permet à l\'application d\'afficher des éléments dans d\'autres applications, et cela risque de nuire à l\'utilisation de ces dernières ou de modifier leur apparence ou leur comportement."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"Accès à tous les fichiers"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"Autorisez l\'accès pour gérer tous les fichiers"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Autoriser cette application à lire, à modifier et à supprimer tous les fichiers qui se trouvent sur cet appareil ou sur des volumes de stockage connectés. Si vous accordez cette autorisation, l\'application pourra accéder à des fichiers sans que vous le sachiez."</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"Peuvent accéder à tous les fichiers"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"vr réalité virtuelle écouteur service de soutien stéréo"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"afficher des fenêtres d\'alertes système par-dessus d\'autres applications"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"Afficher par-dessus autres applis"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"<xliff:g id="COUNT_0">%1$d</xliff:g> applis sur <xliff:g id="COUNT_1">%2$d</xliff:g> sont autorisées à aff. par-dessus autres applis"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"Applications dotées de l\'autorisation"</string>
@@ -4078,6 +4180,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"<xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g> utilisés"</string>
     <string name="data_overusage" msgid="3680477320458707259">"Limite dépassée de <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="data_remaining" msgid="6316251496381922837">"Il reste <xliff:g id="ID_1">^1</xliff:g>"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"Graphique illustrant l\'utilisation des données entre le <xliff:g id="START_DATE">%1$s</xliff:g> et le <xliff:g id="END_DATE">%2$s</xliff:g>."</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"Aucune donnée durant cette période"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="one">Il reste %d jour</item>
       <item quantity="other">Il reste %d jours</item>
@@ -4141,14 +4245,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"taille du colis"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"notification alertée"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"son"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"vibration"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"motif"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"par défaut"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"chaîne"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"aucun(e)"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"L\'objet de classement est manquant."</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"L\'objet de classement ne contient pas cette touche."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"Thèmes"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"Valeurs par défaut de l\'appareil"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"Encoche de l\'écran"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"découpe d\'affichage, encoche"</string>
@@ -4237,8 +4337,12 @@
     <string name="information_label" msgid="6939310810756569298">"Information"</string>
     <string name="low_label" msgid="6525629096999711220">"Faible"</string>
     <string name="high_label" msgid="357503396626018487">"Élevée"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"Une sensibilité élevée pourrait interférer avec les gestes dans l\'application le long des rebords de l\'écran."</string>
+    <string name="left_edge" msgid="1513576842959071849">"Bord gauche"</string>
+    <string name="right_edge" msgid="1505309103265829121">"Bord droit"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"Une sensibilité élevée pourrait interférer avec les gestes dans l\'application le long des rebords de l\'écran."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"Sensibilité du retour arrière"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"Paramètres des gestes"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"navigation par gestes, sensibilité du retour arrière, geste de retour"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"Toucher deux fois le téléphone pour le consulter"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"Touchez l\'écran deux fois pour consulter votre tablette"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"Touchez l\'écran deux fois pour consulter votre appareil"</string>
@@ -4393,7 +4497,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"Déclencher l\'approvisionnement du fournisseur de services"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"Mettre à jour les paramètres du mode Ne pas déranger"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"Suspendre les notifications pour rester concentré"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"Cette fonctionnalité n\'est pas accessible sur cet appareil."</string>
     <string name="disabled_feature" msgid="7151433782819744211">"Cette fonctionnalité n\'est pas accessible"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"Cette fonctionnalité a été désactivée, car elle ralentit votre téléphone"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"Forcer les mesures GNSS complètes"</string>
@@ -4403,20 +4506,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"Sélectionnez l\'application compatible avec ANGLE"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"Aucune application compatible avec ANGLE n\'a été définie"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"Application compatible avec ANGLE : <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"Préférences de pilote de jeu"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"Modifier les paramètres du pilote de jeu"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"Lorsque le paramètre Pilote de jeu est activé, vous pouvez choisir d\'utiliser le pilote graphique à jour pour les applications installées sur l\'appareil."</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"Activer pour toutes les applications"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"Sélectionner un pilote graphique"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"Par défaut"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"Paquets du jeu"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"Pilote de version préliminaire"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"Pilote graphique du système"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"Préférences du pilote graphique"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"Modifier les paramètres du pilote graphique"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"Lorsqu\'il y a de nombreux pilotes graphiques, vous pouvez choisir d\'utiliser le pilote graphique à jour pour les applications installées sur l\'appareil."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"Activer pour toutes les applications"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"Sélectionner un pilote graphique"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"Par défaut"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"Pilote du jeu"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"Pilote pour concepteurs"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Pilote graphique du système"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Changements dans la compatibilité des applications"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Basculer les changements de compatibilité des applications"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Changements activés par défaut"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Changements désactivés par défaut"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"Le paramètre n\'est pas compatible avec ce téléphone"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"Le paramètre n\'est pas compatible avec cette tablette"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"Le paramètre n\'est pas compatible avec cet appareil"</string>
@@ -4435,6 +4544,12 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"Appareil"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Indisponible pendant les appels"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"Indisponible"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"Ajouter des sorties"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"Groupe"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"Un appareil sélectionné"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> appareils sélectionnés"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"Répondre à l\'appel sur"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Impossible de modifier ce nom de point d\'accès."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Améliorer l\'autonomie de la tablette"</string>
@@ -4552,10 +4667,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Une seule carte SIM téléchargée peut être active à la fois.\n\nLe fait de passer au réseau de <xliff:g id="CARRIER1">%1$s</xliff:g> n\'annulera pas votre service auprès de <xliff:g id="CARRIER2">%2$s</xliff:g>."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Passer au réseau de <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Effacer la carte SIM"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Effacer cette carte SIM téléchargée?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Si vous effacez cette carte SIM, le service de <xliff:g id="CARRIER_0">%1$s</xliff:g> sera supprimé de cet appareil.\n\nLe service de <xliff:g id="CARRIER_1">%2$s</xliff:g> ne sera pas annulé."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Effacer"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Effacement de la carte SIM en cours…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Impossible d\'effacer la carte SIM"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Cette carte SIM ne peut pas être effacée en raison d\'une erreur.\n\nRedémarrez votre appareil et réessayez."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Type de réseau préféré"</string>
@@ -4580,7 +4691,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Mode réseau non valide : <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Ignorer."</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Noms des points d\'accès"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Indisponible lorsque vous êtes connectés au réseau de <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"Renseignements médicaux, contacts d\'urgence"</string>
     <string name="see_more" msgid="7499355691042812723">"En voir plus"</string>
     <string name="see_less" msgid="2642392725363552793">"En voir moins"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"Appareil à utiliser avec <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
@@ -4589,11 +4699,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"Une erreur s\'est produite. L\'application a annulé la demande de sélection d\'un appareil."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"Connexion réussie"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"Tout afficher"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> appareil connecté</item>
-      <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> appareils connectés</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"Aucun appareil Bluetooth"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"Recherche d\'appareil en cours…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"Connexion à l\'appareil en cours…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"Gauche"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"Droite"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Étui"</string>
@@ -4603,6 +4710,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"Données cellulaires non accessibles en mode Vol"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"Forcer le mode bureau"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Forcer le mode bureau expérimental sur les écrans secondaires"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"Activer la forme libre pour les applis redimens."</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"Autoriser les applications redimensionnables à utiliser la forme libre"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Forcer l\'activation de SmartDark"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"Forcer la fonctionnalité SmartDark à rester active"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"Confidentialité"</string>
@@ -4639,6 +4748,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Vous avez récemment installé cette application."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Changer de sortie"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"En cours de lecture sur l\'appareil <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (déconnecté)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Chang. impossible. Touchez pour réessayer."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Renseignements importants"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"CONTINUER"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"NON MERCI"</string>
@@ -4666,8 +4777,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"Combinaison de cartes SIM"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Les détails de votre politique professionnelle"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Les paramètres sont gérés par votre administrateur informatique"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"Processeur graphique"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"Gestionnaire de rapport de bogue"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Détermine quelle application gère le raccourci de rapport de bogue sur votre appareil."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Personnel"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"Travail"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"Paramètres par défaut"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"Ce choix n\'est plus valide. Réessayez."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"Arrêter la diffusion"</string>
 </resources>
diff --git a/res/values-fr/arrays.xml b/res/values-fr/arrays.xml
index 2673a8f..e96d80e 100644
--- a/res/values-fr/arrays.xml
+++ b/res/values-fr/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"Immédiatement"</item>
     <item msgid="463591454172790676">"5 secondes"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"Ne pas valider"</item>
+    <item msgid="5703177653586269306">"Demander l\'état du certificat"</item>
+    <item msgid="326388247868439528">"Exiger l\'état du certificat"</item>
+    <item msgid="1090956283885790552">"Exiger l\'état de tous les certificats non approuvés"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"Appuyer sur le bouton"</item>
     <item msgid="2630618799033509548">"Code de l\'appareil associé"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"Aucun"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"VPN IPSec avec clés pré-partagées et authentification Xauth"</item>
     <item msgid="2484564813864139237">"VPN IPSec avec certificats et authentification Xauth"</item>
     <item msgid="68918911194507915">"VPN IPSec avec certificats et authentification hybride"</item>
+    <item msgid="4631647675167100375">"VPN IKEv2/IPSec avec certificats et authentification à l\'aide d\'un nom d\'utilisateur/mot de passe"</item>
+    <item msgid="8812228622975052811">"VPN IKEv2/IPSec avec clés pré-partagées"</item>
+    <item msgid="6630554779981113046">"VPN IKEv2/IPSec avec certificats"</item>
   </string-array>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"Aucun"</item>
diff --git a/res/values-fr/config.xml b/res/values-fr/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-fr/config.xml
+++ b/res/values-fr/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 93b8ac1..d36f577 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -31,49 +31,17 @@
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Veuillez tout d\'abord activer les options pour les développeurs."</string>
     <string name="header_category_wireless_networks" msgid="303445626075235229">"Sans fil et réseaux"</string>
     <string name="header_category_system" msgid="1665516346845259058">"Système"</string>
-    <string name="radio_info_data_connection_enable" msgid="7500945447906187613">"Activer la connexion des données"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"Désactiver la connexion des données"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"Configuré par VoLTE"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"Appel vidéo géré"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"Appel Wi-Fi géré"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"Provisionnement EAB/Presence effectué"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"Données CBRS"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"Activer DSDS"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"Redémarrer l\'appareil ?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"Vous devez redémarrer l\'appareil pour modifier ce paramètre."</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"Redémarrer"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"Annuler"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"Alimentation radio mobile"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"Afficher le carnet d\'adresses de la carte SIM"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"Afficher les numéros autorisés"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"Afficher les numéros de service"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"État du service IMS"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"État IMS"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"Enregistré"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"Non enregistré"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"Disponible"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"Indisponible"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"Enregistrement IMS : <xliff:g id="STATUS">%1$s</xliff:g>\nVoLTE : <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nVoWiFi : <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nAppels vidéo : <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nInterface UT : <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"En service"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Hors-service"</string>
     <string name="radioInfo_service_emergency" msgid="6838935881091760942">"Appels d\'urgence uniquement"</string>
     <string name="radioInfo_service_off" msgid="6184928420860868571">"Signal radio désactivé"</string>
     <string name="radioInfo_roaming_in" msgid="8892550453644088692">"Itinérance"</string>
     <string name="radioInfo_roaming_not" msgid="3137594549464975054">"Sans itinérance"</string>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"Inactif"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"Sonnerie"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"Appel en cours…"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"Déconnecté"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"Connexion"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"Connecté"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Interrompu"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Inconnu"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"paquets"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"octets"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID ou IDC"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"Désinstaller mémoire USB"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"Désinstaller la carte SD"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"Effacer la mémoire de stockage USB"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"Agrandissez ou réduisez la taille du texte affiché."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Réduire"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Agrandir"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"Exemple de texte"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"Le Magicien d\'Oz"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"Chapitre 11 : La merveilleuse cité d\'émeraude"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"Vous devez redémarrer l\'appareil pour modifier ce paramètre."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"Redémarrer"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"Annuler"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"Appareils multimédias disponibles"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"Périphériques d\'appel disponibles"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"Actuellement connectés"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"Périphériques multimédias"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"Appareils servant pour les appels"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"Autres appareils"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Appareils enregistrés"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Le Bluetooth sera activé pour permettre l\'association"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Préférences de connexion"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"Le port indiqué n\'est pas valide."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"Le proxy HTTP est utilisé par le navigateur, mais ne peut pas l\'être par les autres applications."</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"URL config. auto proxy : "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"Sous-identifiant actuel :"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"Sous-identifiant de la carte SIM par défaut pour les données :"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"Bande passante de téléchargement (kbit/s) :"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"Bande passante d\'importation (kbit/s) :"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"Informations de géolocalisation mobiles (obsolètes) :"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"Configuration de la chaîne physique LTE :"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"Fréquence d\'actualisation des informations mobiles :"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"Toutes les informations mobiles liées aux mesures :"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"Service de données :"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"Itinérance :"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"Code IMEI :"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"Redirection des appels :"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"Nombre de réinitialisations PPP depuis le démarrage :"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"Réseau actuel :"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"Données reçues :"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"Service vocal :"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"Intensité du signal :"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"État de l\'appel vocal :"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"Données envoyées :"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"Message en attente :"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"Numéro de téléphone :"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"Sélectionner une bande radio"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"Type de réseau vocal :"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"Type de réseau de données :"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"Sélectionner un index téléphonique"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"Définir le type de réseau préféré :"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"Pinguer l\'IPv4 du nom d\'hôte (www.google.com) :"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"Pinguer l\'IPv6 du nom d\'hôte (www.google.com) :"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"Test du client HTTP :"</string>
     <string name="ping_test_label" msgid="265427033290391845">"Effectuer un test de ping"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC :"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"Mettre à jour"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"Actualiser"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"Activer/Désactiver le contrôle DNS"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"Infos/paramètres OEM"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"Définir le mode de bande radio"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"Chargement de la liste de bandes…"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"Définir"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"Échec"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"OK"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"Les modifications prendront effet lors de la prochaine connexion du câble USB."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"Activer la mémoire de stockage de masse USB"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"Octets au total :"</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"Placer en dernier"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"Supprimer la langue"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"Sélectionner une activité"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"Informations sur l\'appareil"</string>
     <string name="display_label" msgid="3056320781191343221">"Écran"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"Informations sur la tablette"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"Informations sur le téléphone"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"Mémoire USB"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"Carte SD"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"Paramètres proxy"</string>
@@ -306,9 +234,6 @@
     <string name="airplane_mode" msgid="3196085857882526817">"Mode Avion"</string>
     <string name="wireless_networks_settings_title" msgid="8557542379234105369">"Sans fil et réseaux"</string>
     <string name="radio_controls_summary" msgid="9028430178697624501">"Gérer le Wi-Fi, le Bluetooth, le mode Avion, les réseaux mobiles et les VPN"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"Données mobiles"</string>
-    <string name="calls_title" msgid="6334813967619899114">"Autoriser les appels"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"SMS"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"Autoriser conso données sur réseau mobile"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"Autor. conso données en itinér."</string>
     <string name="roaming" msgid="3055365654530847985">"Itinérance"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"Se connecter aux services de données lors de l\'itinérance"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"Vous avez été déconnecté, car vous avez quitté votre réseau domestique et l\'itinérance des données est désactivée."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"Activer"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"Des frais importants peuvent s\'appliquer."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"Lorsque vous autorisez l\'itinérance des données, des frais d\'itinérance importants peuvent s\'appliquer !\n\nCe paramètre affecte tous les utilisateurs de cette tablette."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"Lorsque vous autorisez l\'itinérance des données, des frais d\'itinérance importants peuvent s\'appliquer !\n\nCe paramètre affecte tous les utilisateurs de ce téléphone."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"Des frais d\'itinérance peuvent s\'appliquer."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"Lorsque vous autorisez l\'itinérance des données, des frais d\'itinérance peuvent s\'appliquer.\n\nCe paramètre affecte tous les utilisateurs de cette tablette."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"Lorsque vous autorisez l\'itinérance des données, des frais d\'itinérance peuvent s\'appliquer.\n\nCe paramètre affecte tous les utilisateurs de ce téléphone."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"Autoriser l\'itinérance des données ?"</string>
     <string name="networks" msgid="5184501333492775095">"Sélection de l\'opérateur"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"Sélectionner un opérateur de réseau"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"Désactivé par l\'administrateur"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"Afficher l\'option de blocage"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"Permet d\'afficher un bouton Marche/Arrêt qui désactive Smart Lock, le déverrouillage à l\'aide de données biométriques et les notifications sur l\'écran de verrouillage"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"Déverrouillage prolongé pour les agents de confiance"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"Si cette option est activée, les agents de confiance pourront maintenir votre appareil déverrouillé pendant plus longtemps, mais ne pourront plus déverrouiller un appareil verrouillé"</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"Verrouiller l\'écran en l\'absence d\'agent de confiance"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"Si cette option est activée, l\'appareil se verrouille lorsqu\'il n\'existe plus aucun agent de confiance"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"Aucun"</string>
@@ -390,7 +313,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"Définir les paramètres de l\'option Ma position et de verrouillage"</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"Définir les paramètres de la fonction Ma position, de déverrouillage de l\'écran et de verrouillage du stockage des identifiants"</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"Confidentialité"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"Désactivé par l\'administrateur"</string>
+    <string name="disabled_by_administrator_summary" msgid="5424846182313851124">"Indisponible"</string>
     <string name="security_status_title" msgid="6958004275337618656">"État de la sécurité"</string>
     <string name="security_dashboard_summary_face" msgid="4198949293847206382">"Verrouillage de l\'écran, Face Unlock"</string>
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Verrouillage de l\'écran, empreinte digitale"</string>
@@ -693,7 +616,6 @@
       <item quantity="one">Le code doit contenir moins de <xliff:g id="NUMBER_1">%d</xliff:g> chiffre</item>
       <item quantity="other">Le code doit contenir moins de <xliff:g id="NUMBER_1">%d</xliff:g> chiffres</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"Le code ne doit comporter que des chiffres compris entre 0 et 9"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"L\'administrateur de l\'appareil n\'autorise pas l\'utilisation d\'un code récent"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"Les codes courants sont bloqués par votre administrateur informatique. Choisissez un autre code."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"Vous ne pouvez pas inclure de caractère non valide."</string>
@@ -724,6 +646,10 @@
       <item quantity="one">Le mot de passe doit comporter au moins <xliff:g id="COUNT">%d</xliff:g> caractère autre qu\'une lettre</item>
       <item quantity="other">Le mot de passe doit comporter au moins <xliff:g id="COUNT">%d</xliff:g> caractères autre qu\'une lettre</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="one">Doit contenir au moins <xliff:g id="COUNT">%d</xliff:g> caractère non numérique</item>
+      <item quantity="other">Doit contenir au moins <xliff:g id="COUNT">%d</xliff:g> caractères non numériques</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"L\'administrateur de l\'appareil n\'autorise pas l\'utilisation d\'un mot de passe récent"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"Les mots de passe courants sont bloqués par votre administrateur informatique. Choisissez un autre mot de passe."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"Les suites de chiffres croissantes, décroissantes ou répétitives ne sont pas autorisées"</string>
@@ -837,19 +763,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2,4 GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"Connexion"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"Ouvrir le site"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"Il reste <xliff:g id="REMAINING_TIME">%1$s</xliff:g>"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"Arrive à expiration le <xliff:g id="EXPIRY_TIME">%1$s</xliff:g>"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"Appuyez ici pour vous connecter au réseau"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Mbit/s"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Mbit/s"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Mbit/s"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"<xliff:g id="REQUESTER">%s</xliff:g> requiert l\'activation du Wi-Fi."</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"<xliff:g id="REQUESTER">%s</xliff:g> requiert la désactivation du Wi-Fi."</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"Valider le bytecode des applis autorisant le débogage"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Autoriser ART à valider le bytecode des applications pouvant être déboguées"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"Voir fréquence actual."</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Afficher la fréquence d\'actualisation actuelle"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"Autoriser l\'échange de données lorsque la tablette est en contact avec un autre appareil"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"Autoriser l\'échange de données lorsque le téléphone touche un autre appareil"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"Autoriser l\'échange de données lorsque la tablette est en contact avec un appareil NFC"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"Autoriser l\'échange de données lorsque le téléphone est en contact avec un appareil NFC"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"Activer le mode NFC"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"La technologie NFC échange des données entre cet appareil et d\'autres appareils ou cibles à proximité, tels que les terminaux de paiement, les lecteurs d\'accès et les annonces ou les tags interactifs"</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"Sécuriser la fonctionnalité NFC"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Exiger le déverrouillage de l\'appareil pour utiliser la fonctionnalité NFC"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"Autoriser l\'utilisation de la NFC pour les paiements et les transports en commun uniquement lorsque l\'écran est déverrouillé"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"Prêt à partager le contenu d\'applications via NFC"</string>
@@ -923,8 +855,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Activer"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Recherche Wi-Fi activée"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Options avancées"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"Liste déroulante \"Options avancées\". Appuyez deux fois pour réduire."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"Liste déroulante \"Options avancées\". Appuyez deux fois pour développer."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Liste déroulante \"Options avancées\""</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"développer"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"Nom du réseau"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"Saisissez le SSID"</string>
     <string name="wifi_security" msgid="9095934643631406913">"Sécurité"</string>
@@ -934,6 +866,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"État"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"Vitesse du lien de transmission"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"Vitesse du lien de réception"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"Vitesse de connexion"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"Fréquence"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"Adresse IP"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"Enregistré via"</string>
@@ -941,6 +874,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"Méthode EAP"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"Authentification étape 2"</string>
     <string name="wifi_eap_ca_cert" msgid="8033404008276298886">"Certificat CA"</string>
+    <string name="wifi_eap_ocsp" msgid="8713933962516871238">"État du certificat en ligne"</string>
     <string name="wifi_eap_domain" msgid="8304301470752333203">"Domaine"</string>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"Certificat utilisateur"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"Identité"</string>
@@ -957,6 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"Sélectionnez au moins une bande pour le point d\'accès Wi-Fi :"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"Paramètres IP"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"Confidentialité"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"Abonnement"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"Afficher ou modifier l\'abonnement"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"Adresse MAC aléatoire"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"Ajouter un appareil"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"Centrez le code QR ci-dessous pour ajouter l\'appareil à \"<xliff:g id="SSID">%1$s</xliff:g>\"."</string>
@@ -966,12 +902,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"Partager le Wi‑Fi"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"Scannez ce code QR pour vous connecter à \"<xliff:g id="SSID">%1$s</xliff:g>\" et partager le mot de passe."</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"Scannez ce code QR pour vous connecter à \"<xliff:g id="SSID">%1$s</xliff:g>\"."</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"Impossible de lire le code QR. Recentrez le code et réessayez"</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"Réessayez. Si le problème persiste, contactez le fabricant de l\'appareil"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"Un problème est survenu"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"Assurez-vous que l\'appareil est branché, chargé et allumé"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"Assurez-vous que l\'appareil est branché, chargé et allumé. Si le problème persiste, contactez le fabricant de l\'appareil"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"L\'ajout du SSID \"<xliff:g id="SSID">%1$s</xliff:g>\" n\'est pas possible sur cet appareil"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"Essayez de rapprocher l\'appareil de votre routeur ou de votre point d\'accès Wi‑Fi"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"Vérifiez le mot de passe et réessayez"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"Contactez le fabricant de l\'appareil"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"Vérifiez la connexion et réessayez"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"Sélectionner un réseau"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"Sélectionnez un réseau pour connecter l\'appareil"</string>
@@ -984,11 +922,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"Partage du Wi‑Fi avec cet appareil…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"Connexion…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"Partager le point d\'accès"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"Confirmer que c\'est bien vous"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"Confirmer votre identité"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"Mot de passe Wi-Fi : <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"Mot de passe du point d\'accès : <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"Connexion automatique"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"Autoriser le téléphone à se connecter automatiquement lorsqu\'il se trouve à proximité de ce réseau"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"Autoriser la tablette à se connecter automatiquement lorsqu\'elle se trouve à proximité de ce réseau"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"Ajouter un appareil"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"Utiliser un code QR pour ajouter un appareil à ce réseau"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"Le format de code QR n\'est pas valide"</string>
     <string name="retry" msgid="7542103800274026915">"Réessayer"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"Partager avec d\'autres utilisateurs de l\'appareil"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(aucune modification)"</string>
@@ -1000,6 +942,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"Aucun certificat indiqué. Votre connexion ne sera pas privée."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"Le nom du réseau est trop long."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"Vous devez spécifier un domaine."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"Certificat requis."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"WPS disponible"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (WPS disponible)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"Réseau Wi‑Fi de l\'opérateur"</string>
@@ -1051,7 +994,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"Paramètres Wi-Fi avancés"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"Adresse MAC"</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_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>
@@ -1103,7 +1047,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"Utilisez un point d\'accès afin de créer un réseau Wi‑Fi pour vos autres appareils. Un point d\'accès fournit un accès à Internet via votre connexion de données mobiles. Des frais supplémentaires peuvent s\'appliquer pour l\'utilisation des données mobiles."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"Les applications peuvent créer un point d\'accès pour partager du contenu avec des appareils à proximité."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Désactiver le point d\'accès automatiquement"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"Le point d\'accès Wi-Fi se désactive si aucun appareil n\'est connecté"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Lorsqu\'il n\'y a aucun appareil connecté"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"Activation du point d\'accès Wi-Fi en cours…"</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"Désactivation du point d\'accès Wi-Fi en cours…"</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> est actif"</string>
@@ -1112,6 +1056,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"Configuration point accès Wi‑Fi"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"Point d\'accès AndroidAP WPA2 PSK"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"AndroidHotspot"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"Enregistrer ce réseau ?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"<xliff:g id="APPNAME">%1$s</xliff:g> souhaite enregistrer un réseau sur votre téléphone"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"<xliff:g id="APPNAME">%1$s</xliff:g> souhaite enregistrer un réseau sur votre tablette"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"Enregistrement…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"Enregistré"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"Impossible d\'enregistrer. Réessayez."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"Enregistrer les réseaux ?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"<xliff:g id="APPNAME">%1$s</xliff:g> souhaite enregistrer ces réseaux sur votre téléphone"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"<xliff:g id="APPNAME">%1$s</xliff:g> souhaite enregistrer ces réseaux sur votre tablette"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"Enregistrement de <xliff:g id="NUMBER">%d</xliff:g> réseaux…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"Réseaux enregistrés"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"Appels Wi-Fi"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"Allonger la portée des appels via le Wi‑Fi"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"Activez les appels Wi-Fi pour étendre la couverture"</string>
@@ -1138,16 +1093,18 @@
     <string name="emergency_address_title" msgid="3490633500025717573">"Adresse d\'urgence"</string>
     <string name="emergency_address_summary" msgid="3022628750270626473">"Adresse utilisée pour votre position si vous effectuez un appel d\'urgence à l\'aide du Wi-Fi"</string>
     <string name="private_dns_help_message" msgid="851221502063782306"><annotation id="url">"En savoir plus"</annotation>" sur les fonctionnalités de DNS privé"</string>
+    <string name="private_dns_mode_on" msgid="8878679071975375696">"Activé"</string>
     <string name="wifi_calling_pref_managed_by_carrier" msgid="129524064888622179">"Paramètre géré par l\'opérateur"</string>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"Activer les appels Wi-Fi"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"Activer les appels Wi-Fi"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"Les appels Wi-Fi ne sont pas proposés par %1$s"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"Déconnecté de <xliff:g id="SSID">%1$s</xliff:g>"</string>
     <string name="carrier" msgid="1755020806290963951">"Opérateur"</string>
     <string name="display_settings_title" msgid="626835071804834218">"Écran"</string>
     <string name="sound_settings" msgid="5514582720435174014">"Son"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"Volume"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"Effets musicaux"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"Volume de la sonnerie"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"Volume des sonneries et notifications"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"Vibrer en mode silencieux"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"Son de notification par défaut"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"Sonnerie"</string>
@@ -1272,13 +1229,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"Horaires"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"Jamais"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"Actif toute la nuit"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"Activer à une heure définie"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"État"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"Désactivé - <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"Ne s\'activera jamais automatiquement"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"Activer automatiquement au coucher du soleil"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"Activer automatiquement à <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"Activé - <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"Ne jamais désactiver automatiquement"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"Désactiver automatiquement au lever du soleil"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"Désactiver automatiquement à <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"Activer jusqu\'à <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"Désactiver jusqu\'à <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"Le thème sombre utilise un fond noir pour préserver l\'autonomie de la batterie sur certains écrans. Si vous êtes en train d\'utiliser votre téléphone au moment où il doit s\'activer, il ne le fera que lorsque l\'écran sera éteint."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"Délai de mise en veille de l\'écran"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"L\'écran s\'éteint"</string>
@@ -1290,7 +1252,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"Changer de fond d\'écran"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"Personnaliser votre écran"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"Sélect. fond d\'écran"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"Personnaliser votre Pixel"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"Personnaliser votre téléphone"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"Essayez différents styles, fonds d\'écran, etc."</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"Économiseur d\'écran"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Lorsque l\'appareil est en charge ou connecté à une station d\'accueil"</string>
@@ -1379,6 +1341,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"Désinstaller la mémoire de stockage USB, afficher l\'espace disponible"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"Désinstaller la carte SD, afficher la mémoire disponible"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"Code IMEI (emplacement SIM %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"Pour afficher, sélectionnez \"Réseau enregistré\""</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"Numéro de téléphone"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (emplacement SIM %1$d)"</string>
@@ -1405,6 +1368,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"Itinérance"</string>
     <string name="status_operator" msgid="4335640583552058491">"Réseau"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"Adresse MAC Wi-Fi"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"Adresse MAC Wi-Fi de l\'appareil"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"Adresse Bluetooth"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Numéro de série"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Durée d\'activité"</string>
@@ -1617,6 +1581,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"La réinitialisation des paramètres APN par défaut est terminée."</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"Options de réinitialisation"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"Vous pouvez réinitialiser le réseau, les applications ou l\'appareil"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"Vous pouvez réinitialiser les applications"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"Réinitialiser le Wi-Fi, les données mobiles et le Bluetooth"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"Tous les paramètres réseau seront réinitialisés, y compris les suivants :\n\n"<li>"Wi‑Fi"</li>\n<li>"Données mobiles"</li>\n<li>"Bluetooth"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"Eff. cartes SIM téléchargées"</string>
@@ -1666,6 +1631,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"Point d\'accès activé"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"Partage de connexion"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"Impossible de partager la connexion ou d\'utiliser des points d\'accès mobiles lorsque la sauvegarde des données est activée"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"Point d\'accès uniquement"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"USB uniquement"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"Bluetooth uniquement"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"Point d\'accès, USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"Point d\'accès, Bluetooth"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB, Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"Point d\'accès, USB, Bluetooth"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"Connexion Internet non partagée avec d\'autres appareils"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"Partage de connexion"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Ne pas utiliser le point d\'accès Wi-Fi"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Ne partager Internet que via USB"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Ne partager Internet que via le Bluetooth"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Ne partager Internet que via le Bluetooth et USB"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"Partage via USB"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"Partager la connexion Internet du téléphone via un câble USB"</string>
@@ -1756,9 +1734,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"Informations de sécurité"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"Vous n\'avez pas de connexion de données. Pour consulter ces informations maintenant, accédez à %s depuis un ordinateur connecté à Internet."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"Chargement…"</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"Utiliser un code PIN"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"Utiliser un schéma"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"Utiliser un mot de passe"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"Définir le verrouillage de l\'écran"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"Pour plus de sécurité, définissez un mot de passe"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"Définir un mot de passe en plus de l\'empreinte"</string>
@@ -1767,8 +1742,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"Définir un code PIN en plus de l\'empreinte"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"Pour plus de sécurité, définissez un schéma"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"Saisissez de nouveau votre mot de passe"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"Saisissez votre mot de passe professionnel"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"Confirmez votre schéma"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"Saisissez schéma professionnel"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"Saisissez de nouveau votre code"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"Saisissez votre code professionnel"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"Les mots de passe ne correspondent pas."</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"Les codes ne correspondent pas"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"Dessinez de nouveau votre schéma"</string>
@@ -1779,6 +1757,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"Pour utiliser Face Unlock, définissez un mot de passe"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"Pour utiliser Face Unlock, définissez un schéma"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"Pour utiliser Face Unlock, définissez un code PIN"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"Mot de passe oublié ?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"Schéma oublié ?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"Code oublié ?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"Utilisez le schéma de l\'appareil pour continuer."</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"Saisissez le code de l\'appareil pour continuer."</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"Saisissez le mot de passe de l\'appareil pour continuer."</string>
@@ -1846,6 +1827,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"Autoriser toutes sources appli"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"Applications ouvertes récemment"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"Afficher les <xliff:g id="COUNT">%1$d</xliff:g> applications"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"Contacter votre administrateur informatique"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"Il peut vous aider à réinitialiser votre code, votre schéma ou votre mot de passe"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"Votre tablette et vos données personnelles sont très vulnérables aux attaques provenant d\'applications inconnues. En installant des applications provenant de cette source, vous acceptez d\'être le seul responsable de tout dommage causé à votre tablette ou de toute perte de données pouvant découler de l\'utilisation de telles applications."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"Votre téléphone et vos données personnelles sont très vulnérables aux attaques provenant d\'applications inconnues. En installant des applications provenant de cette source, vous acceptez d\'être le seul responsable de tout dommage causé à votre téléphone ou de toute perte de données pouvant découler de l\'utilisation de telles applications."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"Votre appareil et vos données personnelles sont très vulnérables aux attaques provenant d\'applications inconnues. En installant des applications provenant de cette source, vous acceptez d\'être le seul responsable de tout dommage causé à votre appareil ou de toute perte de données pouvant découler de l\'utilisation de telles applications."</string>
@@ -1897,7 +1880,7 @@
     <string name="default_emergency_app" msgid="1929974800666613803">"Application pour les urgences"</string>
     <string name="reset_app_preferences" msgid="8861758340732716573">"Réinitialiser les préférences"</string>
     <string name="reset_app_preferences_title" msgid="8935136792316050759">"Réinitialiser les préférences ?"</string>
-    <string name="reset_app_preferences_desc" msgid="1377296810290814749">"Cette opération a pour effet de réinitialiser toutes les préférences relatives aux éléments suivants :\n\n"<li>"Applications désactivées"</li>\n<li>"Notifications associées aux applications désactivées"</li>\n<li>"Applications par défaut pour les actions"</li>\n<li>"Restrictions de données en arrière-plan pour les applications"</li>\n<li>"Restrictions d\'autorisations"</li>\n\n"Les données liées aux applications seront conservées."</string>
+    <string name="reset_app_preferences_desc" msgid="6509978724602405805">"Toutes les préférences relatives aux éléments suivants seront réinitialisées :\n\n"<li>"Applications désactivées"</li>\n<li>"Notifications associées aux applications désactivées"</li>\n<li>"Applications par défaut pour les actions"</li>\n<li>"Restrictions de données en arrière-plan pour les applications"</li>\n<li>"Toutes les restrictions d\'autorisations"</li>\n\n"Vous ne perdrez aucune donnée liée aux applications."</string>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"Réinitialiser"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"Gérer l\'espace"</string>
     <string name="filter" msgid="9039576690686251462">"Filtrer"</string>
@@ -2097,7 +2080,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"Audio et texte à l\'écran"</string>
     <string name="display_category_title" msgid="6638191682294461408">"Écran"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"Commandes d\'interaction"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"Services téléchargés"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"Applications téléchargées"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"Paramètres expérimentaux"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"Fonctionnalités expérimentales"</string>
     <string name="talkback_title" msgid="8756080454514251327">"TalkBack"</string>
@@ -2105,27 +2088,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"Appuyez sur des éléments à l\'écran pour qu\'ils soient lus à voix haute"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"Préférences pour les sous-titres"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"Agrandissement"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"Zone à agrandir"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"Activer l\'agrandissement"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"Sélectionnez la ou les zones de l\'écran que vous souhaitez pouvoir agrandir"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"Tout l\'écran"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"Partie de l\'écran"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"Tout ou partie de l\'écran"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"Agrandir tout l\'écran"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"Agrandir une partie de l\'écran"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Paramètres d\'agrandissement"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"Agrandir en appuyant trois fois"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Agrandir avec un raccourci"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Agrandir avec un raccourci et trois tapotements"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"À propos de la fonctionnalité <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"Options"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"Zoom avant sur l\'écran"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"Appuyer trois fois pour zoomer"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Appuyer sur un bouton pour zoomer"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><b>"Pour zoomer"</b>", appuyez trois fois rapidement sur l\'écran.\n"<ul><li>"Pour faire défiler l\'écran, faites glisser deux doigts ou plus sur l\'écran"</li>\n<li>"Pour régler le niveau de zoom, pincez deux doigts ou plus sur l\'écran"</li></ul>\n\n<b>"Pour faire un zoom temporaire"</b>", appuyez trois fois rapidement sur l\'écran en veillant à appuyer de manière prolongée la troisième fois.\n"<ul><li>"Pour vous déplacer sur l\'écran, faites glisser un doigt dessus"</li>\n<li>"Pour faire un zoom arrière, relevez le doigt"</li></ul>\n\n"Il est impossible de faire un zoom avant sur le clavier et la barre de navigation."</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"Lorsque l\'option \"Agrandissement\" est activée, vous pouvez effectuer un zoom avant sur votre écran.\n\n"<b>"Pour zoomer"</b>", activez l\'option \"Agrandissement\", puis appuyez n\'importe où sur l\'écran.\n"<ul><li>"• Faites glisser deux doigts ou plus pour faire défiler la page."</li>\n<li>"• Pincez l\'écran avec deux doigts ou plus pour ajuster le zoom."</li></ul>\n\n<b>"Pour zoomer de manière temporaire"</b>", activez l\'option \"Agrandissement\", puis appuyez de manière prolongée n\'importe où sur l\'écran.\n"<ul><li>"• Faites glisser votre doigt pour vous déplacer sur l\'écran."</li>\n<li>"• Relevez le doigt pour faire un zoom arrière."</li></ul>\n\n"Vous ne pouvez pas zoomer sur le clavier ni sur la barre de navigation."</string>
+    <string name="accessibility_screen_magnification_summary" msgid="7617931632990040045">"Faites un zoom avant rapide sur l\'écran pour voir plus facilement vos contenus.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Procédez comme suit :&lt;/b&gt;&lt;br/&gt;	1. Utilisez le raccourci pour agrandir.&lt;br/&gt;	2. Appuyez sur l\'écran.&lt;br/&gt;	3. Faites glisser deux doigts pour vous déplacer sur l\'écran.&lt;br/&gt;	4. Pincez l\'écran avec les deux doigts pour régler le zoom.&lt;br/&gt;	5. Utilisez le raccourci pour arrêter l\'agrandissement.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Pour faire un zoom avant temporaire, procédez comme suit :&lt;/b&gt;&lt;br/&gt;	1. Utilisez le raccourci pour agrandir.&lt;br/&gt;	2. Appuyez de manière prolongée n\'importe où sur l\'écran.&lt;br/&gt;	3. Faites glisser un doigt pour vous déplacer sur l\'écran.&lt;br/&gt;	4. Relevez le doigt pour arrêter l\'agrandissement."</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Lorsque l\'option \"Agrandissement\" est activée, vous pouvez effectuer un zoom avant sur votre écran.\n\n"<b>"Pour zoomer"</b>", activez l\'option \"Agrandissement\", puis appuyez n\'importe où sur l\'écran.\n"<ul><li>"Pour faire défiler l\'écran, faites glisser deux doigts ou plus dessus."</li>\n<li>"Pour régler le niveau de zoom, pincez l\'écran avec deux doigts ou plus."</li></ul>\n\n<b>"Pour faire un zoom temporaire"</b>", lancez l\'option \"Agrandissement\", puis appuyez de manière prolongée n\'importe où sur l\'écran.\n"<ul><li>"Pour vous déplacer sur l\'écran, faites glisser un doigt dessus."</li>\n<li>"Pour faire un zoom arrière, relevez le doigt."</li></ul>\n\n"Il est impossible de faire un zoom avant sur le clavier ni sur la barre de navigation."</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Utiliser le bouton Accessibilité pour ouvrir"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Utiliser un geste pour ouvrir"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"Utiliser le nouveau geste d\'accessibilité"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"Pour activer ou désactiver ce service, appuyez sur le bouton Accessibilité <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> en bas de l\'écran.\n\nPour changer de service, appuyez de manière prolongée sur le bouton \"Accessibilité\"."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"Pour activer ou désactiver ce service, balayez l\'écran de bas en haut avec deux doigts.\n\nPour changer de service, balayez l\'écran vers le haut avec deux doigts et appuyez de manière prolongée."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"Pour activer ou désactiver ce service, balayez l\'écran de bas en haut avec trois doigts.\n\nPour changer de service, balayez l\'écran vers le haut avec trois doigts et appuyez de manière prolongée."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"Pour activer ou désactiver un service d\'accessibilité, balayez l\'écran de bas en haut avec deux doigts.\n\nPour changer de service, balayez l\'écran vers le haut avec deux doigts et appuyez de manière prolongée."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"Pour activer ou désactiver un service d\'accessibilité, balayez l\'écran de bas en haut avec trois doigts.\n\nPour changer de service, balayez l\'écran vers le haut avec trois doigts et appuyez de manière prolongée."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"Pour activer ou désactiver ce service, appuyez sur le bouton Accessibilité <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> en bas de l\'écran.\n\nPour changer de service, appuyez de manière prolongée sur le bouton Accessibilité."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"Pour activer ou désactiver ce service, balayez l\'écran de bas en haut avec deux doigts.\n\nPour changer de service, balayez l\'écran vers le haut avec deux doigts et appuyez de manière prolongée."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"Pour activer ou désactiver ce service, balayez l\'écran de bas en haut avec trois doigts.\n\nPour changer de service, balayez l\'écran vers le haut avec trois doigts et appuyez de manière prolongée."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"Pour activer ou désactiver un service d\'accessibilité, balayez l\'écran de bas en haut avec deux doigts.\n\nPour changer de service, balayez l\'écran vers le haut avec deux doigts et appuyez de manière prolongée."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"Pour activer ou désactiver un service d\'accessibilité, balayez l\'écran de bas en haut avec trois doigts.\n\nPour changer de service, balayez l\'écran vers le haut avec trois doigts et appuyez de manière prolongée."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"OK"</string>
+    <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Raccourci pour la fonctionnalité <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_edit_summary_software" msgid="2820923641553461297">"Bouton Accessibilité"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture" msgid="8078659880723370597">"Balayer l\'écran vers le haut avec deux doigts"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture_talkback" msgid="7422753388389160524">"Balayer l\'écran vers le haut avec trois doigts"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software" msgid="4796192466943479849">"Appuyer sur le bouton Accessibilité"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8922102767509399352">"Appuyez sur le bouton Accessibilité (<xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>) en bas de l\'écran"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"Balayez l\'écran de bas en haut avec deux doigts"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"Balayez l\'écran de bas en haut avec trois doigts"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Appuyer de manière prolongée sur les touches de réglage du volume"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"Appuyez sur les deux boutons de réglage du volume pendant une seconde"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Appuyer trois fois sur l\'écran"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"Appuyez rapidement trois fois sur l\'écran. Ce raccourci risque de ralentir votre appareil."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"Paramètres avancés"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"Le bouton Accessibilité est défini sur <xliff:g id="SERVICE">%1$s</xliff:g>. Pour utiliser la loupe, appuyez de manière prolongée sur le bouton Accessibilité, puis sélectionnez la loupe."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"Le geste d\'accessibilité est défini sur <xliff:g id="SERVICE">%1$s</xliff:g>. Pour utiliser la loupe, balayez l\'écran de bas en haut avec deux doigts et maintenez la pression, puis sélectionnez la loupe."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"Raccourci (volume)"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"Service associé au raccourci"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Paramètres des raccourcis"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"Autoriser depuis l\'écran verrouillé"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"Lorsque le raccourci est activé, vous pouvez appuyer sur les deux touches de volume pendant trois secondes pour lancer une fonctionnalité d\'accessibilité."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"Texte avec contraste élevé"</string>
@@ -2149,24 +2157,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"Choisissez la durée d\'affichage des messages qui vous demandent d\'effectuer une action, mais dont la visibilité est temporaire.\n\nCertaines applications ne sont pas compatibles avec ce paramètre."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"Délai de pression"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"Inversion des couleurs"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"Peut affecter les performances"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"Temps d\'interaction"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"Utiliser l\'inversion des couleurs"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"L\'inversion des couleurs permet d\'assombrir l\'écran. Les personnes sensibles à la lumière peuvent ainsi regarder l\'écran sans difficulté. &lt;br/&gt;&lt;br/&gt;Remarque : Les couleurs sombres deviendront claires. Les couleurs des contenus multimédias et des images seront modifiées. Vous pouvez également utiliser le thème sombre (Paramètres &gt; Affichage)."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"Clic automatique (temps d\'interaction)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"Si vous utilisez une souris, vous pouvez configurer votre appareil de sorte qu\'un clic s\'effectue automatiquement lorsque le curseur s\'immobilise pendant un certain laps de temps."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"Délai précédant le clic"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"Clic auto non utilisé (par défaut)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"Court"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0,2 seconde"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"Moyen"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0,6 seconde"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"Long"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 seconde"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"Personnalisé"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"Plus court"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"Plus long"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"Délai du clic automatique"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"Force du retour tactile et vibrations"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Vibreur des notifications"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Vibreur de la sonnerie"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Retour tactile"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"Utiliser le service"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"Utiliser <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"Ouvrir <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"Corriger les couleurs"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"Utiliser les sous-titres"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"Afficher les sous-titres"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"Apparence des sous-titres"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"Taille du texte, style des sous-titres"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"Autres options"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"Toutes les applications ne sont pas compatibles avec ce paramètre."</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"Bouton d\'accessibilité"</string>
+    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"Balayer l\'écran vers le haut avec deux doigts"</string>
+    <string name="accessibility_shortcut_type_hardware" msgid="4834144210432451916">"Appuyer de manière prolongée sur les touches de réglage du volume"</string>
+    <string name="accessibility_shortcut_type_triple_tap" msgid="7717524216825494543">"Appuyer trois fois sur l\'écran"</string>
     <string name="accessibility_hearingaid_instruction_continue_button" msgid="3367260988024430722">"Continuer"</string>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"Appareils auditifs"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"Aucun appareil auditif associé"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"Ajouter des appareils auditifs"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"Pour associer votre appareil auditif, sélectionnez-le sur l\'écran suivant"</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"Assurez-vous que vos appareils auditifs sont en mode d\'association."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"Pour associer vos appareils auditifs, recherchez-les et appuyez dessus sur l\'écran suivant. Assurez-vous que vos appareils auditifs sont en mode d\'association."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"Appareil \"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>\" actif"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> appareil auditif enregistré</item>
@@ -2178,25 +2204,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Ce service ne fonctionne pas."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Afficher dans la fenêtre de configuration rapide"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"Mode de correction"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="one">Délai extrêmement court (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Délai extrêmement court (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Rouge-vert"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"Vert-rouge"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Bleu-jaune"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"Deutéranomalie"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"Protanomalie"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"Tritanomalie"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="one">Délai extrêmement court (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> seconde)</item>
+      <item quantity="other">Délai extrêmement court (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> secondes)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="one">Délai très court (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Délai très court (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="one">Délai très court (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> seconde)</item>
+      <item quantity="other">Délai très court (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> secondes)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="one">Court délai (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Court délai (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="one">Délai court (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> seconde)</item>
+      <item quantity="other">Délai court (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> secondes)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="one">Long délai (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Long délai (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="one">Délai long (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> seconde)</item>
+      <item quantity="other">Délai long (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> secondes)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="one">Délai très long (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Délai très long (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="one">Délai très long (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> seconde)</item>
+      <item quantity="other">Délai très long (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> secondes)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> seconde</item>
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> secondes</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"Sonnerie : <xliff:g id="SUMMARY_RING">%1$s</xliff:g>, Notification : <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>, Appui : <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"Sonneries et notifications définies sur \"Désactivée\""</string>
@@ -2513,7 +2549,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"Depuis le dernier débranchement (<xliff:g id="UNPLUGGED">%1$s</xliff:g>)"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"Utilisation totale"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"Actualiser"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"Plate-forme Android"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"Serveur multimédia"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"Optimisation des applications"</string>
     <string name="battery_saver" msgid="7737147344510595864">"Économiseur de batterie"</string>
@@ -2594,8 +2629,7 @@
     <string name="tts_play" msgid="2945513377250757221">"Lecture"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"Stockage des identifiants"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"Installer depuis la mémoire"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"Installer depuis la carte SD"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"Installer un certificat"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"Installer les certificats depuis la mémoire de stockage"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"Installer les certificats depuis la carte SD"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"Effacer les identifiants"</string>
@@ -2615,6 +2649,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"Les identifiants sont effacés."</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"Impossible eff. stockage identifiants."</string>
     <string name="usage_access_title" msgid="1580006124578134850">"Applis avec accès données conso"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"Certificat CA"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"Certificat utilisateur VPN et appli"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"Certificat Wi‑Fi"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"Votre confidentialité est compromise"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"Les certificats CA sont utilisés pour le chiffrement de sites Web, d\'applications et de VPN. Installez uniquement les certificats CA provenant d\'organisations en qui vous avez confiance. \n\n Si vous installez un certificat CA, son propriétaire peut potentiellement accéder à vos informations (mots de passe, messages ou informations relatives à votre carte de crédit) depuis les sites Web que vous consultez ou les applications que vous utilisez, même si ces informations sont chiffrées."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"Ne pas installer"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"Installer quand même"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"Certificat non installé"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"Signal de numérotation d\'urgence"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Définir le comportement en cas d\'appel d\'urgence"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Sauvegarde"</string>
@@ -2642,10 +2684,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"Désactiver et désinstaller"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"Applications d\'administration de l\'appareil"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"Aucune application d\'administration de l\'appareil n\'est disponible"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"Personnel"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"Professionnel"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"Restreindre l\'accès aux SMS et au journal d\'appels"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"Seules les applications téléphoniques et de messagerie par défaut disposent des autorisations pour accéder aux SMS et au journal d\'appels"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"Aucun agent de confiance disponible"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"Activer l\'appli d\'administration ?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"Activer l\'application d\'administration de cet appareil"</string>
@@ -2659,6 +2697,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"D\'autres options sont désactivées par votre administrateur"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"Plus d\'informations"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"Journal des notifications"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"Historique des notifications"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"Aujourd\'hui"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"Notifications répétées"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"Notifications désactivées récemment"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="one"><xliff:g id="NUMBER_1">%d</xliff:g> notifications</item>
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> notifications</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"Sonnerie et vibreur pour les appels"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"Infos réseau"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"Synchronisation activée"</string>
@@ -3008,7 +3054,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"Restrictions"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"Annuler les restrictions"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"Modifier le code PIN"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"Afficher les notifications"</string>
     <string name="help_label" msgid="2896538416436125883">"Aide et commentaires"</string>
     <string name="support_summary" msgid="1034146931237148885">"Articles d\'aide, téléphone et chat, premiers pas"</string>
     <string name="user_account_title" msgid="6389636876210834864">"Compte pour contenu"</string>
@@ -3033,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"Appel en 4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Utiliser les services LTE pour améliorer les communications vocales et autres (recommandé)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Utiliser les services 4G pour améliorer les communications vocales et autres (recommandé)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Découverte des contacts"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Permet à l\'opérateur de savoir avec quelles fonctionnalités d\'appel vos contacts sont compatibles."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Activer la découverte des contacts ?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"L\'activation de cette fonctionnalité permettra à votre opérateur d\'accéder aux numéros de téléphone de vos contacts afin de savoir avec quelles fonctionnalités d\'appel ils sont compatibles."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Type de réseau préféré"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (recommandé)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS"</string>
@@ -3077,7 +3126,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"Appeler avec"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"Sélectionnez une carte SIM"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"Carte SIM <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"Carte SIM vide"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"Nom de la carte SIM"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"Saisir le nom de la carte SIM"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"Emplacement pour carte SIM %1$d"</string>
@@ -3087,6 +3135,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"Sélectionner une carte SIM"</string>
     <string name="color_orange" msgid="216547825489739010">"Orange"</string>
     <string name="color_purple" msgid="6603701972079904843">"Violet"</string>
+    <string name="color_pink" msgid="8596872110888626708">"Rose"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"Aucune carte SIM insérée."</string>
     <string name="sim_status_title" msgid="6188770698037109774">"État de la carte SIM"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"État carte SIM (emplacement SIM %1$d)"</string>
@@ -3100,7 +3149,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"Cartes SIM modifiées"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Appuyez pour configurer."</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"Carte SIM préférée pour"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Toujours demander"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Veuillez sélectionner une option."</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"Sélection de la carte SIM"</string>
@@ -3118,6 +3166,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"Bluetooth, mode Voiture"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"Bluetooth, NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"Bluetooth"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"Indisponible, car la fonctionnalité NFC est désactivée"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"Applis et notifications"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Applications récentes, applications par défaut"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Les applications du profil professionnel n\'ont pas accès aux notifications."</string>
@@ -3128,13 +3177,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"Paramètres"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"wifi, wi-fi, connexion réseau, internet, sans fil, données, wi fi"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"notification Wi‑Fi, notification wi-fi"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"consommation des données"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"Arrêter les vibrations, appuyer, clavier"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"Utiliser le format 24 heures"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"Télécharger"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"Ouvrir avec"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"Applications"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"fuseau horaire"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"Chat Head"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"Chat Head, système, alerte, fenêtre, boîte de dialogue, écran, superposition autres applis, dessin"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"lampe de poche, lumière, lampe"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"wifi, wi-fi, activer/désactiver, contrôle"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"cellulaire, mobile, opérateur mobile, sans fil, données, 4g, 3g, 2g, lte"</string>
@@ -3158,7 +3208,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"ne pas déranger, interrompre, interruption, pause"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"à proximité, historique, position, mise à jour, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"compte"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"compte, ajouter un compte, profil professionnel, ajout de compte"</string>
     <string name="keywords_users" msgid="3497517660077620843">"limitation, limiter, limité"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"correction de texte, corriger, son, vibreur, automatique, langue, geste, suggérer, suggestion, thème, choquant, mot, saisir, emoji, international"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"réinitialiser, préférences, par défaut"</string>
@@ -3196,6 +3246,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"mémoire, cache, données, supprimer, effacer, libérer, espace"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"associé, appareil, casque audio, casque, enceinte, sans fil, associer, écouteurs, musique, contenu multimédia"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"arrière-plan, écran, écran de verrouillage, thème"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"forme des icônes, couleur d\'accentuation, police"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"par défaut, assistant"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"paiement, par défaut"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"notification reçue"</string>
@@ -3205,18 +3256,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"technologie tactile, vibreur, sensibilité"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"économiseur de batterie, persistant, persistance, économiseur d\'énergie, batterie"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"routine, planning, économiseur de batterie, économiseur d\'énergie, batterie, automatique, pourcentage"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"profil professionnel"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"volte, appel avancé, appel en 4g"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"ajouter langue, ajouter une langue"</string>
     <string name="default_sound" msgid="6604374495015245195">"Son par défaut"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"Volume de sonnerie à <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"Volume des sonneries et notifications à <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Volume, vibreur, Ne pas déranger"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"Sonnerie en mode vibreur"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"Sonnerie en mode silencieux"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"Volume de sonnerie à 80 %"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"Volume des sonneries et notifications à 80 %"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Volume des contenus multimédias"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Volume de diffusion"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"Volume d\'appel"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"Volume de l\'alarme"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"Volume de la sonnerie"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"Volume sonneries/notifications"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"Volume des notifications"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"Sonnerie du téléphone"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"Son de notification par défaut"</string>
@@ -3224,6 +3276,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"Son de notification par défaut"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"Son de l\'alarme par défaut"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"Vibreur pour les appels"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"Ne jamais déclencher le vibreur"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"Toujours déclencher le vibreur"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"Vibreur, puis sonnerie progressive"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"Autres sons"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"Sons du clavier numérique"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"Sons du verrouillage d\'écran"</string>
@@ -3247,6 +3302,7 @@
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> planifications activées</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Ne pas déranger"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Ne recevoir des notifications que des personnes et applications importantes"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Limiter les interruptions"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Activer le mode \"Ne pas déranger\""</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"Exceptions"</string>
@@ -3273,7 +3329,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g> : <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Bloquer nuisances visuelles"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Autoriser les signaux visuels"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"Lorsque le mode Ne pas déranger est activé"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"Autoriser les interruptions sonores"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"Limiter les notifications"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Aucune notification sonore"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"Les notifications s\'afficheront à l\'écran"</string>
@@ -3304,7 +3360,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"Son et vibreur"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"Son, vibreur et certaines notifications visuelles"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"Son, vibreur et notifications visuelles"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"Les notifications nécessaires pour l\'activité de base du téléphone et son état ne seront jamais masquées."</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"Les notifications nécessaires pour l\'activité de base du téléphone et son état ne seront jamais masquées."</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"Aucun"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"autres options"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"Ajouter"</string>
@@ -3334,10 +3390,12 @@
       <item quantity="one"><xliff:g id="ON_COUNT">%d</xliff:g> planification peut être activée automatiquement</item>
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> planifications peuvent être activées automatiquement</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"Couper le son de l\'appareil, mais autoriser les exceptions"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"Exceptions"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"Programme"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"Voir toutes les exceptions"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"Exceptions lorsque le mode Ne pas déranger est activé"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"Personnes"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"Applications"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"Alarmes et autres interruptions"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"Planifications"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"Notifications désactivées"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"Lorsque le mode Ne pas déranger est activé, le son et le vibreur sont désactivés, sauf pour les éléments autorisés ci-dessus."</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"Couper le son pour tout sauf"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"Son coupé"</string>
@@ -3381,16 +3439,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"Notifications intelligentes"</string>
     <string name="asst_capability_prioritizer_title" msgid="1181272430009156556">"Priorité des notifications intelligentes"</string>
     <string name="asst_capability_prioritizer_summary" msgid="954988212366568737">"Définir automatiquement les notifications à faible priorité sur Discret"</string>
+    <string name="asst_capability_ranking_title" msgid="312998580233257581">"Classement intelligent des notifications"</string>
+    <string name="asst_capability_ranking_summary" msgid="2293524677144599450">"Classer automatiquement les notifications par pertinence"</string>
     <string name="asst_capabilities_actions_replies_title" msgid="4392470465646394289">"Actions et réponses suggérées"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"Afficher automatiquement les actions et réponses suggérées"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"Activez l\'historique des notifications pour garder une trace de vos notifications passées et répétées"</string>
+    <string name="notification_history" msgid="8663811361243456201">"Historique des notifications"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"Activer l\'historique"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"Désactiver l\'historique"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"L\'historique des notifications est désactivé"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"Afficher les paramètres de notification"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Autoriser la répétition des notifications"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"Masquer les icônes des notifications discrètes"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"Les icônes des notifications discrètes ne s\'affichent pas dans la barre d\'état"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"Autoriser les pastilles de notification"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"Afficher la barre des conversations récentes"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Bulles"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"Certaines notifications peuvent s\'afficher sous forme d\'info-bulles à l\'écran"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"Certaines notifications ainsi que d\'autres contenus peuvent s\'afficher à l\'écran sous forme de bulles. Pour ouvrir une bulle, appuyez dessus. Pour l\'ignorer, faites-la glisser vers le bas de l\'écran."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Bulles"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"Les nouveaux messages s\'affichent à l\'écran"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"Autoriser <xliff:g id="APP_NAME">%1$s</xliff:g> à afficher certaines notifications sous forme de bulles"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"Activer les bulles"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"Avant d\'activer les bulles pour cette application, vous devez les activer pour votre appareil. Ceci a une incidence sur les autres applications dans lesquelles vous avez déjà activé les bulles."</string>
@@ -3408,6 +3476,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"S\'affichent dans le volet des notifications et sur l\'écran de verrouillage"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"S\'affichent dans le volet des notifications et dans la barre d\'état"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"S\'affichent dans le volet des notifications, la barre d\'état et sur l\'écran de verrouillage"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"Masquer les notifications silencieuses dans la barre d\'état"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"Clignotement"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"Écran de verrouillage"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"Passer l\'écran de verrouillage"</string>
@@ -3438,6 +3507,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"Comportement"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"Émettre un signal sonore"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"Ne jamais afficher les notifications"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"Conversations"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"Conversation"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"Il ne s\'agit pas d\'une conversation"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"Supprimer de la section des conversations"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"Il s\'agit d\'une conversation"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"Ajouter à la section des conversations"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"Gérer les conversations"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"Conversations importantes"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"Toutes les conversations"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"Ajouter les conversations importantes dans des bulles"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"Les conversations importantes s\'affichent en haut du volet déroulant. Vous pouvez également les ajouter dans des bulles et les autoriser à interrompre le mode Ne pas déranger."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"Affichage silencieux et réduction"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"Affichage silencieux"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"Alerte sonore"</string>
@@ -3456,7 +3536,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"Sans sons ni vibrations, vous aide à vous concentrer"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"Attire votre attention à l\'aide de sons ou de vibrations"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"Lorsque l\'appareil est déverrouillé, afficher les notifications dans une bannière en haut de l\'écran"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"Afficher les notifications"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"Toutes les notifications de <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"Notifications intelligentes"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="one">Environ <xliff:g id="NUMBER_1">%d</xliff:g> notification par jour</item>
@@ -3477,6 +3557,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"Notifications intelligentes"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"Aucun"</string>
     <string name="no_notification_listeners" msgid="2839354157349636000">"Aucune demande d\'accès aux notifications n\'a été envoyée pour les applications installées."</string>
+    <string name="notification_access_detail_switch" msgid="46386786409608330">"Autoriser l\'accès aux notifications"</string>
     <string name="notification_assistant_security_warning_title" msgid="2972346436050925276">"Autoriser <xliff:g id="SERVICE">%1$s</xliff:g> à accéder aux notifications ?"</string>
     <string name="notification_assistant_security_warning_summary" msgid="3119843404577399036">"<xliff:g id="NOTIFICATION_ASSISTANT_NAME">%1$s</xliff:g> pourra lire toutes les notifications, y compris des informations personnelles, telles que le nom des contacts et le texte des messages que vous recevez. Il pourra également fermer des notifications ou déclencher les boutons d\'action que celles-ci contiennent. \n\nL\'application pourra aussi activer ou désactiver le mode Ne pas déranger, et modifier les paramètres associés."</string>
     <string name="notification_listener_security_warning_title" msgid="5791700876622858363">"Autoriser <xliff:g id="SERVICE">%1$s</xliff:g> à accéder aux notifications ?"</string>
@@ -3538,8 +3619,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"OK"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"Importance"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"Clignotement"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"Vibreur"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"Vibreur"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"Signal sonore"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"Important"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"Ajouter à l\'écran d\'accueil"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"Supprimer"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"Renommer"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"Nom de la plage horaire"</string>
@@ -3593,6 +3676,10 @@
       <item quantity="one"><xliff:g id="NUM_PEOPLE">%d</xliff:g> autre</item>
       <item quantity="other"><xliff:g id="NUM_PEOPLE">%d</xliff:g> autres</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Conversations"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"De toutes les conversations"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"Des conversations importantes"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"Ne pas autoriser les conversations"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"Autoriser les messages"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"Pour vous assurer qu\'un signal sonore est émis pour les messages autorisés, vérifiez quel mode est activé sur votre appareil (sonnerie, vibreur ou silencieux)."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"Les messages entrants sont bloqués pour \"<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>\". Vous pouvez ajuster les paramètres pour que vos proches ou d\'autres contacts puissent quand même vous joindre."</string>
@@ -3606,15 +3693,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"Aucun"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"Ne pas autoriser les appels"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"Ne pas autoriser les messages"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"Autoriser les alarmes"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"Alarmes"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"Sons des minuteurs, alarmes, systèmes de sécurité et autres applications"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"alarmes"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"Lire le son des contenus multimédias"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"Sons des contenus multimédias"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"Sons des vidéos, jeux et autres contenus multimédias"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"médias"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"Autoriser les sons pour les touches"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"Sons des touches"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"Sons du clavier et d\'autres boutons"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"sons des touches"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"Autoriser les rappels"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"Rappels"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"Sons des tâches et rappels"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"rappels"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"Autoriser les événements"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"Événements"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"Sons des événements d\'agenda à venir"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Autoriser des applications à ignorer ce mode"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"Exceptions relatives aux applications"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3657,6 +3749,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"Autoriser les notifications désactivées par le mode Ne pas déranger à allumer l\'écran"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"Paramètres de notification"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"OK"</string>
+    <string name="suggestion_button_close" msgid="6865170855573283759">"Fermer"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Envoyer commentaires sur l\'appareil"</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"Saisir le code d\'accès administrateur"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"Activé"</string>
@@ -3667,6 +3760,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Demander le code avant d\'annuler l\'épinglage"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Demander le mot de passe avant d\'annuler l\'épinglage"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Verrouiller l\'appareil après l\'annulation de l\'épinglage"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Confirmer la suppression de la carte SIM"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"Confirmez votre identité avant d\'effacer une carte SIM téléchargée"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"Ce profil professionnel est géré par"</string>
     <string name="managing_admin" msgid="2633920317425356619">"Géré par <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(Expérimental)"</string>
@@ -3741,8 +3836,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"Toutes les applis"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Applications installées"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Applis instantanées"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"Personnelles"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"Professionnelles"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"Applications : toutes"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"Désactivées"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"Catégories : urgent"</string>
@@ -3754,6 +3847,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"Application inconnue"</string>
     <string name="app_permissions" msgid="8666537659217653626">"Gestionnaire d\'autorisations"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"Applications utilisant <xliff:g id="APPS">%1$s</xliff:g>"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"Applications utilisant <xliff:g id="APPS">%1$s</xliff:g>, et plus"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"Appuyer pour réactiver"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"Appuyez deux fois n\'importe où sur l\'écran pour réactiver l\'appareil."</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"Ouverture des liens"</string>
@@ -3765,9 +3859,14 @@
       <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> application ouvrant des liens compatibles</item>
       <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> applications ouvrant des liens compatibles</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"Ouvrir dans cette application"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"Autoriser l\'application à ouvrir les liens compatibles"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"Toujours demander"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"Ne pas ouvrir dans cette application"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"Ne pas autoriser l\'application à ouvrir les liens compatibles"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="one">App claims to handle <xliff:g id="COUNT_1">%d</xliff:g> links</item>
+      <item quantity="other">L\'application revendique <xliff:g id="COUNT_1">%d</xliff:g> liens</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"L\'application revendique les liens suivants :"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"Par défaut"</string>
     <string name="default_for_work" msgid="537558180548617528">"Par défaut pour utilisation pro"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"Assistance et saisie vocale"</string>
@@ -3911,8 +4010,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"Superposition sur d\'autres applis"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Autoriser la superposition d\'applis"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"Autorisez cette application à se superposer aux autres applications que vous utilisez. Cette autorisation peut avoir un impact sur votre utilisation de ces dernières, ou modifier leur apparence ou leur comportement."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"Accès à tous les fichiers"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"Autoriser accès à tous fichiers et leur gestion"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Autorisez cette application à lire, modifier et supprimer tous les fichiers sur cet appareil ou sur n\'importe quel volume de stockage connecté. Si vous accordez cette autorisation, il est possible que l\'application accède à des fichiers sans que vous le sachiez."</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"Peut peut accéder à tous les fichiers"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"rv réalité virtuelle écouteur service de soutien stéréo"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"fenêtre alerte système boîte de dialogue superposition autres applis"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"Superposition sur d\'autres applis"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"<xliff:g id="COUNT_0">%1$d</xliff:g> applis sur <xliff:g id="COUNT_1">%2$d</xliff:g> autorisées à se superposer à d\'autres"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"Applications disposant de l\'autorisation"</string>
@@ -4078,6 +4180,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"<xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g> utilisés"</string>
     <string name="data_overusage" msgid="3680477320458707259">"Dépassement de <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="data_remaining" msgid="6316251496381922837">"Il reste <xliff:g id="ID_1">^1</xliff:g>"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"Graphique indiquant la consommation des données entre le <xliff:g id="START_DATE">%1$s</xliff:g> et le <xliff:g id="END_DATE">%2$s</xliff:g>."</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"Aucune donnée disponible pour cette plage de dates"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="one">%d jour restant</item>
       <item quantity="other">%d jours restants</item>
@@ -4141,14 +4245,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"taille du colis"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"notification d\'alerte"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"sonnerie"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"vibreur"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"schéma"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"par défaut"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"canal"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"aucune"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"Objet de classement manquant."</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"L\'objet de classement ne contient pas cette touche."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"Personnalisation des thèmes"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"Par défaut"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"Encoche"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"encoche pour écran, entaille"</string>
@@ -4237,8 +4337,12 @@
     <string name="information_label" msgid="6939310810756569298">"Informations"</string>
     <string name="low_label" msgid="6525629096999711220">"Faible"</string>
     <string name="high_label" msgid="357503396626018487">"Élevée"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"Une sensibilité plus élevée peut entrer en conflit avec les gestes d\'application impliquant les bords de l\'écran."</string>
+    <string name="left_edge" msgid="1513576842959071849">"Bord gauche"</string>
+    <string name="right_edge" msgid="1505309103265829121">"Bord droit"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"Une sensibilité plus élevée peut entrer en conflit avec les gestes d\'application impliquant les bords de l\'écran."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"Sensibilité du geste \"retour en arrière\""</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"Paramètres des gestes"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"navigation par gestes, sensibilité du retour en arrière, geste de retour"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"Appuyer deux fois sur le téléphone pour le consulter"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"Appuyez deux fois sur la tablette pour la consulter"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"Appuyez deux fois sur l\'appareil pour le consulter"</string>
@@ -4393,7 +4497,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"Déclencher la gestion des comptes opérateur"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"Mettre à jour le mode Ne pas déranger"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"Suspendre les notifications pour rester concentré"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"Cette fonctionnalité n\'est pas disponible sur cet appareil"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"Fonctionnalité non disponible"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"Cette fonctionnalité a été désactivée, car elle ralentit votre téléphone"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"Forcer les mesures GNSS complètes"</string>
@@ -4403,20 +4506,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"Sélectionner une application compatible avec ANGLE"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"Aucune application compatible avec ANGLE n\'est définie"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"Application compatible avec ANGLE : <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"Préférences Game Driver"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"Modifier les paramètres Game Driver"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"Lorsque Game Driver est activé, vous pouvez choisir d\'utiliser le pilote graphique mis à jour pour les applications installées sur l\'appareil."</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"Activer pour toutes les applications"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"Sélectionner un pilote graphique"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"Par défaut"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"Game Driver"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"Pilote de version préliminaire"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"Pilote graphique du système"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"Préférences du pilote graphique"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"Modifier les paramètres du pilote graphique"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"Lorsqu\'il existe plusieurs pilotes graphiques, vous pouvez choisir d\'utiliser le pilote graphique mis à jour pour les applications installées sur l\'appareil."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"Activer pour toutes les applications"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"Sélectionner un pilote graphique"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"Par défaut"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"Pilote de jeu"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"Pilote pour les développeurs"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Pilote graphique du système"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Changement de compatibilité des applications"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Activer/Désactiver les changements de compatibilité des applications"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Modifications activées par défaut"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Modifications désactivées par défaut"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"Le paramètre n\'est pas disponible sur ce téléphone"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"Le paramètre n\'est pas disponible sur cette tablette"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"Le paramètre n\'est pas disponible sur cet appareil."</string>
@@ -4435,6 +4544,11 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"Appareil"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Indisponible pendant les appels"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"Indisponible"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"Ajouter des sorties"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"Groupe"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 appareil sélectionné"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> appareils sélectionnés"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"Changement…"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Accepter l\'appel sur"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Impossible de modifier cet APN."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Améliorer autonomie de batterie de la tablette"</string>
@@ -4552,10 +4666,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Vous ne pouvez activer qu\'une seule carte SIM téléchargée à la fois.\n\nBasculer sur l\'opérateur <xliff:g id="CARRIER1">%1$s</xliff:g> n\'annulera pas votre service <xliff:g id="CARRIER2">%2$s</xliff:g>."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Basculer vers le réseau <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Effacer une carte SIM"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Effacer cette carte SIM téléchargée ?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"L\'effacement de cette carte SIM va supprimer le service <xliff:g id="CARRIER_0">%1$s</xliff:g> de cet appareil.\n\nLe service pour <xliff:g id="CARRIER_1">%2$s</xliff:g> ne sera pas annulé."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Effacer"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Effacement de la carte SIM…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Impossible d\'effacer la carte SIM"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Une erreur empêche l\'effacement de cette carte SIM.\n\nRedémarrez votre appareil et réessayez."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Type de réseau préféré"</string>
@@ -4580,7 +4690,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Mode réseau non valide <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Action ignorée."</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Points d\'accès"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Indisponible lorsque connecté à <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"Informations médicales, contacts en cas d\'urgence"</string>
     <string name="see_more" msgid="7499355691042812723">"Voir plus"</string>
     <string name="see_less" msgid="2642392725363552793">"Moins de détails"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"Appareil à utiliser avec l\'application <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
@@ -4589,11 +4698,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"Un problème est survenu. L\'application a annulé la demande de sélection d\'un appareil."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"Connexion réussie"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"Tout afficher"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> appareil connecté</item>
-      <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> appareils connectés</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"Aucun appareil Bluetooth"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"Recherche de l\'appareil…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"Connexion à l\'appareil…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"Gauche"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"Droite"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Étui de transport"</string>
@@ -4603,6 +4709,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"Non disponibles en mode Avion"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"Forcer l\'activation du mode bureau"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Forcer l\'activation du mode bureau expérimental sur les écrans secondaires"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"Activer déplacement applis non redimensionnables"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"Autorise le déplacement des applications non redimensionnables"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Forcer l\'activation de Smart Dark"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"Force la fonctionnalité Smart Dark à être toujours activée"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"Confidentialité"</string>
@@ -4639,6 +4747,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Vous avez installé cette application récemment."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Changer de sortie"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"En cours de lecture sur <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (déconnecté)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Changement impossible. Appuyez pour réessayer."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Informations importantes"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"CONTINUER"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"NON MERCI"</string>
@@ -4666,8 +4776,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"Combinaison de cartes SIM"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Informations sur les règles professionnelles"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Paramètres gérés par votre administrateur informatique"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"Gestionnaire de rapport de bug"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Détermine quelle application gère le raccourci vers le rapport de bug sur votre appareil."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Personnel"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"Professionnel"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"Application par défaut du système"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"Ce choix n\'est plus valide. Veuillez réessayer."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"Arrêter la diffusion"</string>
 </resources>
diff --git a/res/values-gl/arrays.xml b/res/values-gl/arrays.xml
index eab6c49..2da62c8 100644
--- a/res/values-gl/arrays.xml
+++ b/res/values-gl/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"Inmediatamente"</item>
     <item msgid="463591454172790676">"5 segundos"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"Non validar"</item>
+    <item msgid="5703177653586269306">"Solicitar estados de certificados"</item>
+    <item msgid="326388247868439528">"Requirir estados de certificados"</item>
+    <item msgid="1090956283885790552">"Requirir todos os estados de certificados que non sexan de confianza"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"Pulsar o botón"</item>
     <item msgid="2630618799033509548">"PIN do dispositivo mesmo nivel"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"Ningún"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"VPN IPSec con claves precompartidas e autenticación Xauth"</item>
     <item msgid="2484564813864139237">"VPN IPSec con certificados e autenticación Xauth"</item>
     <item msgid="68918911194507915">"VPN IPSec con certificados e autenticación híbrida"</item>
+    <item msgid="4631647675167100375">"VPN IKEv2/IPSec con certificados e autenticación mediante nome de usuario/contrasinal"</item>
+    <item msgid="8812228622975052811">"VPN IKEv2/IPSec con claves precompartidas"</item>
+    <item msgid="6630554779981113046">"VPN IKEv2/IPSec con certificados"</item>
   </string-array>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"Ningún"</item>
diff --git a/res/values-gl/config.xml b/res/values-gl/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-gl/config.xml
+++ b/res/values-gl/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-gl/strings.xml b/res/values-gl/strings.xml
index f35b2d6..5233a76 100644
--- a/res/values-gl/strings.xml
+++ b/res/values-gl/strings.xml
@@ -31,49 +31,17 @@
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Activa primeiro as opcións para programadores."</string>
     <string name="header_category_wireless_networks" msgid="303445626075235229">"Sen fíos e redes"</string>
     <string name="header_category_system" msgid="1665516346845259058">"Sistema"</string>
-    <string name="radio_info_data_connection_enable" msgid="7500945447906187613">"Activar conexión de datos"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"Desactivar conexión de datos"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"Fornecemento VoLTE"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"Videochamadas activadas"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"Chamadas por wifi activadas"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"EAB/presenza fornecidos"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"Datos de Cbrs"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"Activar DSDS"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"Queres reiniciar o dispositivo?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"Debes reiniciar o dispositivo para cambiar esta opción"</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"Reiniciar"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"Cancelar"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"Alimentación da radio móbil"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"Ver axenda de enderezos da SIM"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"Ver números de marcación fixa"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"Ver números de marcación de servizo"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"Estado do servizo de IMS"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"Estado de IMS"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"Rexistrado"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"Non rexistrado"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"Dispoñible"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"Non dispoñible"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"Rexistro de IMS: <xliff:g id="STATUS">%1$s</xliff:g>\nVoz por LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nVoz por wifi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideochamada: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nInterface de UT: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"En servizo"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Fóra de servizo"</string>
     <string name="radioInfo_service_emergency" msgid="6838935881091760942">"Só chamadas de emerxencia"</string>
     <string name="radioInfo_service_off" msgid="6184928420860868571">"Radio desactivada"</string>
     <string name="radioInfo_roaming_in" msgid="8892550453644088692">"Itinerancia"</string>
     <string name="radioInfo_roaming_not" msgid="3137594549464975054">"Non está en itinerancia"</string>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"Inactivo"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"Chamando"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"Chamada en curso"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"Desconectado"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"Conectando"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"Conectado"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Suspendido"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Descoñecido"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"pkts"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"bytes"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"Desactivar almacenamento USB"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"Desactivar a tarxeta SD"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"Borrar almacenamento USB"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"Reduce ou amplía o texto da pantalla."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Reducir"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Ampliar"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"Texto de mostra"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"O marabilloso mago de Oz"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"Capítulo 11: A marabillosa Cidade Esmeralda de Oz"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"Debes reiniciar o dispositivo para cambiar esta opción"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"Reiniciar"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"Cancelar"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"Dispositivos multimedia dispoñibles"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"Dispositivos de chamada dispoñibles"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"Conectados actualmente"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"Dispositivos multimedia"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"Dispositivos de chamada"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"Outros dispositivos"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Dispositivos gardados"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Activarase o Bluetooth para permitir a sincronización"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Preferencias de conexión"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"O porto que inseriches non é válido."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"O navegador utiliza o proxy HTTP, pero non o poden utilizar as demais aplicacións."</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"URL de PAC: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"Código de identificación secundario actual:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"Código de identificación secundario da SIM de datos predeterminada:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"Largura de banda de descarga (kbps):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"Largura de banda de carga (kbps):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"Información da localización para móbiles (obsoleto):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"Configuración de canle física de LTE:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"Taxa de actualización da información para móbiles:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"Toda a información de medición para móbiles:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"Servizo de datos:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"Itinerancia:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"Redirección da chamada:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"Número de restablecementos PPP desde o inicio:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"Rede actual:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"Datos recibidos:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"Servizo de voz:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"Intensidade do sinal:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"Estado da chamada de voz:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"Datos enviados:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"Mensaxe en espera:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"Número de teléfono:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"Seleccionar banda de radio"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"Tipo de rede de voz:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"Tipo de rede de datos:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"Seleccionar unha guía telefónica"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"Definir o tipo de rede preferido:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"Facer ping ao IPv4 do nome do servidor (www.google.com):"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"Facer ping ao IPv6 do nome do servidor (www.google.com):"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"Proba de cliente HTTP:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"Executar proba de ping"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"Actualización"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"Actualizar"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"Alternar comprobación de DNS"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"Información/configuración específica de OEM"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"Definir modo de banda de radio"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"Cargando lista de bandas…"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"Establecer"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"Incorrecto"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"Correcto"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"Os cambios terán efecto cando volvas conectar o cable USB."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"Activar almacenamento masivo USB"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"Bytes en total:"</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"Situar abaixo"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"Eliminar idioma"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"Seleccionar actividade"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"Información do dispositivo"</string>
     <string name="display_label" msgid="3056320781191343221">"Pantalla"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"Información da tableta"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"Información do teléfono"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"Almacenamento USB"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"Tarxeta SD"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"Configuración do proxy"</string>
@@ -306,9 +234,6 @@
     <string name="airplane_mode" msgid="3196085857882526817">"Modo avión"</string>
     <string name="wireless_networks_settings_title" msgid="8557542379234105369">"Sen fíos e redes"</string>
     <string name="radio_controls_summary" msgid="9028430178697624501">"Xestiona a wifi, o Bluetooth, o modo avión, redes de telefonía móbil e VPN"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"Datos móbiles"</string>
-    <string name="calls_title" msgid="6334813967619899114">"Permitir chamadas"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"Mensaxes SMS"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"Permite o uso de datos na rede móbil"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"Permitir datos en itinerancia"</string>
     <string name="roaming" msgid="3055365654530847985">"Itinerancia"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"Conecta cos servizos de datos durante a itinerancia"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"Perdiches a conectividade de datos porque deixaches a túa rede doméstica coa itinerancia de datos desactivada."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"Activala"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"É posible que se apliquen cargos elevados."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"Se permites a itinerancia de datos, os custos poden ser elevados.\n\nEsta configuración afecta a todos os usuarios desta tableta."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"Se permites a itinerancia de datos, os custos poden ser elevados.\n\nEsta configuración afecta a todos os usuarios deste teléfono."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"Poden aplicarse tarifas de itinerancia."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"Se permites a itinerancia de datos, poden aplicarse tarifas de itinerancia.\n\nEsta configuración afecta a todos os usuarios desta tableta."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"Se permites a itinerancia de datos, poden aplicarse tarifas de itinerancia.\n\nEsta configuración afecta a todos os usuarios deste teléfono."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"Permitir a itinerancia de datos?"</string>
     <string name="networks" msgid="5184501333492775095">"Selección do operador"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"Escolle un operador de rede"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"Desactivado polo administrador"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"Mostrar a opción de bloqueo"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"Mostra a opción do botón de acendido que desactiva Smart Lock, o desbloqueo biométrico e as notificacións da pantalla de bloqueo"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"Desbloqueo ampliado axentes de confianza"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"Se se activa, os axentes de confianza manterán o dispositivo desbloqueado durante máis tempo, pero cando se bloquee non se poderá desbloquear"</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"Bloquear pantalla ao perder a confianza"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"Se se activa, o dispositivo bloquearase cando o último axente de confianza perda ese privilexio"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"Ningunha"</string>
@@ -390,7 +313,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"Define A miña localización, o desbloqueo da pantalla, o bloqueo da tarxeta SIM e o bloqueo do almacenamento de credenciais"</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"Define A miña localización, o desbloqueo da pantalla e o bloqueo do almacenamento de credenciais"</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"Privacidade"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"Desactivado polo administrador"</string>
+    <string name="disabled_by_administrator_summary" msgid="5424846182313851124">"Non dispoñible"</string>
     <string name="security_status_title" msgid="6958004275337618656">"Estado de seguranza"</string>
     <string name="security_dashboard_summary_face" msgid="4198949293847206382">"Bloqueo de pantalla e Desbloqueo facial"</string>
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Bloqueo de pantalla, impresión dixital"</string>
@@ -693,7 +616,6 @@
       <item quantity="other">Debe conter menos de <xliff:g id="NUMBER_1">%d</xliff:g> díxitos</item>
       <item quantity="one">Debe conter menos de <xliff:g id="NUMBER_0">%d</xliff:g> díxito</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"Só pode conter díxitos comprendidos entre o 0 e o 9"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"O administrador de dispositivos non permite o uso dun PIN recente"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"O teu administrador de TI bloqueou os PIN comúns. Proba cun PIN diferente."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"Non pode conter un carácter non válido"</string>
@@ -724,6 +646,10 @@
       <item quantity="other">Debe conter polo menos <xliff:g id="COUNT">%d</xliff:g> caracteres que non sexan letras</item>
       <item quantity="one">Debe conter polo menos 1 carácter que non sexa unha letra</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="other">Debe conter polo menos <xliff:g id="COUNT">%d</xliff:g> caracteres que non sexan números</item>
+      <item quantity="one">Debe conter polo menos 1 carácter que non sexa un número</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"O administrador de dispositivos non permite o uso dun contrasinal recente"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"O teu administrador de TI bloqueou os contrasinais comúns. Proba cun contrasinal diferente."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"Non se permite unha secuencia de díxitos ascendente, descendente nin repetida"</string>
@@ -837,19 +763,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2,4 GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"Iniciar sesión"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"Abrir sitio"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"Tempo restante: <xliff:g id="REMAINING_TIME">%1$s</xliff:g>"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"Caduca o <xliff:g id="EXPIRY_TIME">%1$s</xliff:g>"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"Toca aquí para iniciar sesión na rede"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Mb/s"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"<xliff:g id="REQUESTER">%s</xliff:g> quere activar a wifi"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"<xliff:g id="REQUESTER">%s</xliff:g> quere desactivar a wifi"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"Verificar o bytecode das aplicacións depurables"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Permite que ART verifique o bytecode das aplicacións que se poidan depurar"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"Mostrar taxa actualizac."</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Mostrar a taxa de actualización actual da pantalla"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"Permite o intercambio de datos cando a tableta toca outro dispositivo"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"Permite o intercambio de datos cando o teléfono toca outro dispositivo"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"Permite o intercambio de datos cando a tableta toca un dispositivo con NFC"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"Permite o intercambio de datos cando o teléfono toca un dispositivo con NFC"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"Activar NFC"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"NFC intercambia datos entre este dispositivo e outros obxectivos ou dispositivos próximos, como terminais de pago, lectores de acceso e etiquetas ou anuncios interactivos."</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"Protexer a opción NFC"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Requirir desbloqueo do dispositivo para a NFC"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"Permite o uso de NFC en pagos e transporte público só coa pantalla desbloqueada"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"Listo para transmitir contido de aplicacións a través de NFC"</string>
@@ -923,8 +855,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Activar"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Activouse a busca de redes wifi"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Opcións avanzadas"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"Lista despregable Opcións avanzadas. Toca dúas veces para contraela."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"Lista despregable Opcións avanzadas. Toca dúas veces para despregala."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Lista despregable Opcións avanzadas"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"despregar"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"Nome da rede"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"Introduce o SSID"</string>
     <string name="wifi_security" msgid="9095934643631406913">"Seguranza"</string>
@@ -934,6 +866,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"Estado"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"Transmitir velocidade de ligazón"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"Recibir velocidade de ligazón"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"Velocidade da ligazón"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"Frecuencia"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"Enderezo IP"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"Gardouse a través de"</string>
@@ -941,6 +874,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"Método EAP"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"Autenticación da fase 2"</string>
     <string name="wifi_eap_ca_cert" msgid="8033404008276298886">"Certificado da autoridade de certificación"</string>
+    <string name="wifi_eap_ocsp" msgid="8713933962516871238">"Estado de certificado en liña"</string>
     <string name="wifi_eap_domain" msgid="8304301470752333203">"Dominio"</string>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"Certificado de usuario"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"Identidade"</string>
@@ -957,6 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"Selecciona polo menos unha banda para a zona wifi:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"Configuración IP"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"Privacidade"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"Subscrición"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"Consulta ou cambia a subscrición"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"Enderezo MAC aleatorio"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"Engadir un dispositivo"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"Centra o código QR que aparece debaixo para engadir o dispositivo a “<xliff:g id="SSID">%1$s</xliff:g>”"</string>
@@ -966,12 +902,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"Compartir wifi"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"Escanea este código QR para conectarte a “<xliff:g id="SSID">%1$s</xliff:g>” e compartir o contrasinal"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"Escanea este código QR para conectarte a “<xliff:g id="SSID">%1$s</xliff:g>”"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"Non se puido ler o código QR. Vólveo centrar e téntao de novo"</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"Téntao de novo. Se o problema continúa, contacta co fabricante do dispositivo"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"Produciuse un erro"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"Asegúrate de que o dispositivo estea conectado, cargado e activado"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"Asegúrate de que o dispositivo estea conectado, cargado e activado. Se o problema continúa, contacta co fabricante do dispositivo"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"Este dispositivo non permite engadir “<xliff:g id="SSID">%1$s</xliff:g>”"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"Proba a achegar o dispositivo ao router/punto de acceso wifi"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"Comproba o contrasinal e téntao de novo."</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"Contacta co fabricante do dispositivo"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"Comproba a conexión e téntao de novo"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"Escoller rede"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"Para conectar o dispositivo, escolle unha rede"</string>
@@ -984,11 +922,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"Compartindo a wifi con este dispositivo…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"Conectando…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"Compartir zona wifi"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"Verificar que es ti"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"Verifica a túa identidade"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"Contrasinal da rede wifi: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"Contrasinal da zona wifi: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"Conectar automaticamente"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"Permite que o teléfono se conecte automaticamente a esta rede cando estea preto dela"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"Permite que a tableta se conecte automaticamente a esta rede cando estea preto dela"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"Engadir dispositivo"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"Utiliza un código QR para engadir un dispositivo a esta rede"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"O formato do código QR non é válido"</string>
     <string name="retry" msgid="7542103800274026915">"Tentar de novo"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"Compartir rede con outros usuarios do dispositivo"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(non cambiado)"</string>
@@ -1000,6 +942,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"Non se especificou ningún certificado. A túa conexión non será privada."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"O nome da rede é demasiado longo."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"Debe especificarse un dominio."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"Necesítase un certificado."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"WPS dispoñible"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (WPS dispoñible)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"Rede wifi do operador"</string>
@@ -1051,7 +994,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"Wifi avanzada"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"Enderezo MAC"</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_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>
@@ -1103,7 +1047,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"Utiliza a zona wifi para crear unha rede wifi para os teus outros dispositivos. A zona wifi ofrece acceso a Internet a través da túa conexión de datos móbiles. É posible que se apliquen cargos de datos móbiles adicionais."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"As aplicacións poden crear unha zona wifi para compartir contido cos dispositivos que están cerca."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Desactivar a zona wifi automaticamente"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"Desactivarase a zona wifi se non se conecta ningún dispositivo"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Se non hai ningún dispositivo conectado"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"Activando zona wifi..."</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"Desactivando zona wifi..."</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> está activa"</string>
@@ -1112,6 +1056,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"Configuración da zona wifi"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"Zona wifi AndroidAP WPA2 PSK"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"AndroidHotspot"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"Queres gardar esta rede?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"<xliff:g id="APPNAME">%1$s</xliff:g> quere gardar unha rede no teu teléfono"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"<xliff:g id="APPNAME">%1$s</xliff:g> quere gardar unha rede na túa tableta"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"Gardando…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"Gardouse a rede"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"Non se puido gardar a rede. Téntao de novo."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"Queres gardar as redes?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"<xliff:g id="APPNAME">%1$s</xliff:g> quere gardar estas redes no teu teléfono"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"<xliff:g id="APPNAME">%1$s</xliff:g> quere gardar estas redes na túa tableta"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"Gardando <xliff:g id="NUMBER">%d</xliff:g> redes…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"Gardáronse as redes"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"Chamadas por wifi"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"Amplía as chamadas coa wifi"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"Activa as chamadas por wifi para ampliar a cobertura"</string>
@@ -1138,16 +1093,18 @@
     <string name="emergency_address_title" msgid="3490633500025717573">"Enderezo de emerxencia"</string>
     <string name="emergency_address_summary" msgid="3022628750270626473">"Utilízase como a túa localización cando fas unha chamada de emerxencia por wifi"</string>
     <string name="private_dns_help_message" msgid="851221502063782306"><annotation id="url">"Máis información"</annotation>" sobre as funcións de DNS privado"</string>
+    <string name="private_dns_mode_on" msgid="8878679071975375696">"Activado"</string>
     <string name="wifi_calling_pref_managed_by_carrier" msgid="129524064888622179">"O operador xestiona esta opción de configuración"</string>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"Activa Chamadas por wifi"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"Activa Chamadas por wifi"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"%1$s non permite utilizar a función Chamadas por wifi"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"Desconectouse de <xliff:g id="SSID">%1$s</xliff:g>"</string>
     <string name="carrier" msgid="1755020806290963951">"Operador"</string>
     <string name="display_settings_title" msgid="626835071804834218">"Pantalla"</string>
     <string name="sound_settings" msgid="5514582720435174014">"Son"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"Volumes"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"Efectos musicais"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"Volume do ton"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"Volume de notificacións e son"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"Vibrar cando está en silencio"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"Son de notificación predeterminado"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"Ton de chamada"</string>
@@ -1272,13 +1229,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"Planificación"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"Nunca"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"Actívase do solpor ao amencer"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"Actívase no horario escollido"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"Estado"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"Desactivado/<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"Nunca se activará automaticamente"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"Activarase automaticamente ao solpor"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"Activarase automaticamente ás: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"Activado/<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"Nunca se desactivará automaticamente"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"Desactivarase automaticamente ao amencer"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"Desactivarase automaticamente ás: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"Activar ata as: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"Desactivar ata as: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"O tema escuro utiliza un fondo negro para que a batería dure máis nalgunhas pantallas. As planificacións do tema escuro actívanse cando a pantalla está desactivada."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"Tempo de espera da pantalla"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"A pantalla apágase"</string>
@@ -1290,7 +1252,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"Cambiar fondo de pantalla"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"Personaliza a pantalla"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"Escoller fondo de pantalla en"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"Personalizar o teu Pixel"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"Personaliza o teléfono"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"Proba diferentes estilos, fondos de pantalla e moito máis"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"Protector de pantalla"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Durante a carga ou mentres está conectado a unha base"</string>
@@ -1379,6 +1341,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"Retira o almacenamento USB e visualiza o almacenamento dispoñible"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"Desactiva a tarxeta SD, visualiza o almacenamento dispoñible"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (rañura da SIM %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"Para ver a rede gardada, escóllea"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"Número de teléfono"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (rañura da SIM %1$d)"</string>
@@ -1405,6 +1368,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"Itinerancia"</string>
     <string name="status_operator" msgid="4335640583552058491">"Rede"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"Enderezo MAC da wifi"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"Enderezo MAC do adaptador wifi do dispositivo"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"Enderezo Bluetooth"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Número de serie"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Tempo activo"</string>
@@ -1617,6 +1581,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Completouse o restablecemento da configuración de APN predeterminada."</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"Opcións de restablecemento"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"Pódense restablecer a rede, as aplicacións ou o dispositivo"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"Pódense restablecer as aplicacións"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"Restablecer wifi, rede móbil e Bluetooth"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"Con esta selección, restableceranse todas as opcións de configuración de rede, entre elas as referentes a:\n\n"<li>"Wifi"</li>\n<li>"Datos móbiles"</li>\n<li>"Bluetooth"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"Borrar SIM descargadas"</string>
@@ -1666,6 +1631,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"Zona wifi activada"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"Conexión compartida activada"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"Non se pode compartir a conexión nin utilizar zonas wifi portátiles mentres o aforro de datos estea activado"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"Só zona wifi"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"Só USB"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"Só Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"Zona wifi e USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"Zona wifi e Bluetooth"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB e Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"Zona wifi, USB e Bluetooth"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"Non se está compartindo a conexión a Internet con outros dispositivos"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"Conexión compartida"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Non utilizar zona wifi"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Compartir Internet só por USB"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Compartir Internet só por Bluetooth"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Compartir Internet só por USB e Bluetooth"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"Compartir conexión por USB"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"Comparte a conexión a Internet do teléfono por USB"</string>
@@ -1756,9 +1734,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"Información de seguranza"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"Non tes conexión de datos. Para ver esta información agora, accede a %s desde calquera ordenador conectado a Internet."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"Cargando..."</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"Usar PIN"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"Padrón de uso"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"Usar contrasinal"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"Definir bloqueo de pantalla"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"Por cuestións de seguranza, configura un contrasinal"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"Impresión dixital: contrasinal"</string>
@@ -1767,8 +1742,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"Impresión dixital: PIN"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"Por cuestións de seguranza, define un padrón"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"Volve introducir o teu contrasinal"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"Pon o teu contrasinal do traballo"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"Confirma o teu padrón"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"Pon o teu padrón do traballo"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"Volve introducir o teu PIN"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"Pon o teu PIN do traballo"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"Os contrasinais non coinciden"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"Os PIN non coinciden"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"Volve debuxar o padrón"</string>
@@ -1779,6 +1757,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"Desbloqueo facial: cómpre un contrasinal"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"Para usar o desbl. f., define un padrón"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"Para usar o desbl. facial, define un PIN"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"Esqueciches o contrasinal?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"Esqueciches o padrón?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"Esqueciches o PIN?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"Utiliza o padrón do dispositivo para continuar"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"Introduce o PIN do dispositivo para continuar"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"Introduce o contrasinal do dispositivo para continuar"</string>
@@ -1846,6 +1827,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"Permitir todas as fontes de aplicacións"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"Aplicacións abertas recentemente"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"Ver as <xliff:g id="COUNT">%1$d</xliff:g> aplicacións"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"Contacta co administrador de TI"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"Pode axudar a restablecer o PIN, o padrón ou o contrasinal"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"A tableta e os datos persoais son máis vulnerables aos ataques de aplicacións descoñecidas. Ao instalar aplicacións desta fonte, aceptas que es responsable dos danos ocasionados na tableta ou da perda dos datos que se poidan derivar do seu uso."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"O teléfono e os datos persoais son máis vulnerables aos ataques de aplicacións descoñecidas. Ao instalar aplicacións desta fonte, aceptas que es responsable dos danos ocasionados no teléfono ou da perda dos datos que se poidan derivar do seu uso."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"O teu dispositivo e os datos persoais son máis vulnerables aos ataques de aplicacións descoñecidas. Ao instalar aplicacións desta fonte, aceptas que es responsable dos danos que se poidan producir no dispositivo ou da perda de datos que se poida derivar do seu uso."</string>
@@ -1897,7 +1880,7 @@
     <string name="default_emergency_app" msgid="1929974800666613803">"Aplicación de emerxencia"</string>
     <string name="reset_app_preferences" msgid="8861758340732716573">"Restablecer preferencias das aplicacións"</string>
     <string name="reset_app_preferences_title" msgid="8935136792316050759">"Restablecer as preferencias das aplicacións?"</string>
-    <string name="reset_app_preferences_desc" msgid="1377296810290814749">"Con esta acción, restableceranse todas as preferencias de:\n\n"<li>"Aplicacións desactivadas"</li>\n<li>"Notificacións de aplicacións desactivadas"</li>\n<li>"Aplicacións predeterminadas para accións"</li>\n<li>"Restricións de datos en segundo plano para aplicacións"</li>\n<li>"Calquera restrición de permisos"</li>\n\n"Non perderás datos de ningunha aplicación."</string>
+    <string name="reset_app_preferences_desc" msgid="6509978724602405805">"Con esta acción, restableceranse todas as preferencias de:\n\n"<li>"Aplicacións desactivadas"</li>\n<li>"Notificacións de aplicacións desactivadas"</li>\n" "<li>"Aplicacións predeterminadas para accións"</li>\n<li>"Restricións de datos en segundo plano para aplicacións"</li>\n<li>"Calquera restrición de permisos"</li>\n\n"Non perderás datos de ningunha aplicación."</string>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"Restablecer aplicacións"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"Xestionar espazo"</string>
     <string name="filter" msgid="9039576690686251462">"Filtro"</string>
@@ -2097,7 +2080,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"Audio e texto na pantalla"</string>
     <string name="display_category_title" msgid="6638191682294461408">"Pantalla"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"Controis de interacción"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"Servizos descargados"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"Aplicacións descargadas"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"Experimental"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"Funcións experimentais"</string>
     <string name="talkback_title" msgid="8756080454514251327">"TalkBack"</string>
@@ -2105,27 +2088,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"Toca elementos na pantalla para escoitalos en voz alta"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"Preferencias dos subtítulos"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"Ampliación"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"Área de ampliación"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"Activación da ampliación"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"Escolle as áreas de ampliación que queres usar para ampliar a pantalla"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"Pantalla completa"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"Parte da pantalla"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"Pantalla completa e parte da pantalla"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"Ampliar a pantalla completa"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"Ampliar parte da pantalla"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Configuración da ampliación"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"Ampliar ao tocar tres veces"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Ampliar con atallo"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Ampliar con atallo e tres toques"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"Acerca de <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"Opcións"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"Aumenta o zoom na pantalla"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"Toca 3 veces para achegar o zoom"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Toca un botón para achegar o zoom"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><b>"Para achegar o zoom"</b>", toca a pantalla 3 veces rapidamente.\n"<ul><li>"Arrastra 2 ou máis dedos para desprazarte"</li>\n<li>"Belisca con 2 ou máis dedos para axustar o zoom"</li></ul>\n\n<b>"Para achegar o zoom temporalmente"</b>", toca a pantalla 3 veces rapidamente e mantén o dedo sobre a pantalla despois do terceiro toque.\n"<ul><li>"Arrastra o dedo para moverte pola pantalla"</li>\n<li>"Levántao para afastar o zoom"</li></ul>\n\n"Non podes achegar o zoom sobre o teclado nin sobre a barra de navegación."</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"Ao activar a ampliación, podes achegar o contido da pantalla.\n\n"<b>"Para utilizar o zoom"</b>", inicia a ampliación e toca calquera parte da pantalla.\n"<ul><li>"• Arrastra 2 ou máis dedos para desprazarte."</li>\n<li>"• Belisca con 2 ou máis dedos para axustar o zoom."</li></ul>\n\n<b>"Para utilizar o zoom de forma temporal"</b>", inicia a ampliación e mantén premida calquera parte da pantalla.\n"<ul><li>"• Arrastra o dedo para moverte pola pantalla."</li>\n<li>"• Levanta o dedo para afastar a imaxe ou o texto."</li></ul>\n\n"Ten en conta que non se pode ampliar o teclado nin a barra de navegación."</string>
+    <string name="accessibility_screen_magnification_summary" msgid="7617931632990040045">"Achega rapidamente o contido da pantalla para ver o contido con máis claridade.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Para achegar o contido usando o zoom, sigue estes pasos:&lt;/b&gt;&lt;br/&gt;	1. Utiliza o atallo para iniciar a ampliación&lt;br/&gt;	2. Toca a pantalla&lt;br/&gt;	3. Arrastra 2 dedos para moverte pola pantalla&lt;br/&gt;	4. Belisca con 2 dedos para axustar o zoom&lt;br/&gt;	5. Utiliza o atallo para deter a ampliación&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Para ampliar o contido temporalmente usando o zoom, sigue estes pasos:&lt;/b&gt;&lt;br/&gt;	1. Utiliza o atallo para iniciar a ampliación&lt;br/&gt;	2. Mantén premida calquera parte da pantalla&lt;br/&gt;	3. Arrastra o dedo para mover a pantalla&lt;br/&gt;	4. Levanta o dedo para deter a ampliación"</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Ao activar a ampliación, podes achegar o contido da pantalla.\n\n"<b>"Para utilizar o zoom"</b>", inicia a ampliación e toca calquera parte da pantalla.\n"<ul><li>"Arrastra 2 ou máis dedos para desprazarte."</li>\n<li>"Belisca con 2 ou máis dedos para axustar o zoom."</li></ul>\n\n<b>"Para utilizar o zoom de forma temporal"</b>", inicia a ampliación e mantén premida calquera parte da pantalla.\n"<ul><li>"Arrastra o dedo para moverte pola pantalla."</li>\n<li>"Levanta o dedo para afastar a imaxe ou o texto."</li></ul>\n\n"Ten en conta que non se pode ampliar o teclado nin a barra de navegación."</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Utilizar o botón de accesibilidade para abrir"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Utilizar un xesto para abrir"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"Usar novo xesto de accesibilidade"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"Para activar ou desactivar este servizo, toca o botón <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>, situado na parte inferior da pantalla.\n\nPara cambiar de servizo, mantén premido o botón de accesibilidade."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"Para activar ou desactivar este servizo, pasa dous dedos cara arriba desde a parte inferior da pantalla.\n\nPara cambiar de servizo, pasa dous dedos cara arriba e mantén premida a pantalla."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"Para activar ou desactivar este servizo, pasa tres dedos cara arriba desde a parte inferior da pantalla.\n\nPara cambiar de servizo, pasa tres dedos cara arriba e mantén premida a pantalla."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"Para activar ou desactivar un servizo de accesibilidade, pasa dous dedos cara arriba desde a parte inferior da pantalla.\n\nPara cambiar de servizo, pasa dous dedos cara arriba e mantén premida a pantalla."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"Para activar ou desactivar un servizo de accesibilidade, pasa tres dedos cara arriba desde a parte inferior da pantalla.\n\nPara cambiar de servizo, pasa tres dedos cara arriba e mantén premida a pantalla."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"Para activar ou desactivar este servizo, toca o botón Accesibilidade <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>, situado na parte inferior da pantalla.\n\nPara cambiar de servizo, mantén premido o botón mencionado."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"Para activar ou desactivar este servizo, pasa dous dedos cara arriba desde a parte inferior da pantalla.\n\nPara cambiar de servizo, pasa dous dedos cara arriba e mantén premida a pantalla."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"Para activar ou desactivar este servizo, pasa tres dedos cara arriba desde a parte inferior da pantalla.\n\nPara cambiar de servizo, pasa tres dedos cara arriba e mantén premida a pantalla."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"Para activar ou desactivar un servizo de accesibilidade, pasa dous dedos cara arriba desde a parte inferior da pantalla.\n\nPara cambiar de servizo, pasa dous dedos cara arriba e mantén premida a pantalla."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"Para activar ou desactivar un servizo de accesibilidade, pasa tres dedos cara arriba desde a parte inferior da pantalla.\n\nPara cambiar de servizo, pasa tres dedos cara arriba e mantén premida a pantalla."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"De acordo"</string>
+    <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Atallo de: <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_edit_summary_software" msgid="2820923641553461297">"Botón Accesibilidade"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture" msgid="8078659880723370597">"Pasa 2 dedos cara arriba"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture_talkback" msgid="7422753388389160524">"Pasa 3 dedos cara arriba"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software" msgid="4796192466943479849">"Toca o botón Accesibilidade"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8922102767509399352">"Toca o botón de accesibilidade <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> na parte inferior da pantalla"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"Pasa dous dedos cara arriba desde a parte inferior da pantalla"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"Pasa 3 dedos cara arriba desde a parte inferior da pantalla"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Manter premidas as teclas de volume"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"Mantén premidas as teclas de volume durante 1 segundo"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Toca tres veces a pantalla"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"Toca a pantalla 3 veces rapidamente. Este atallo pode reducir a velocidade do dispositivo."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"Avanzado"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"O botón Accesibilidade está configurado en <xliff:g id="SERVICE">%1$s</xliff:g>. Para utilizar a ampliación, mantén tocado o botón Accesibilidade e, a continuación, selecciona a ampliación."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"O xesto de accesibilidade definiuse para o servizo <xliff:g id="SERVICE">%1$s</xliff:g>. Para utilizar a ampliación, pasa dous dedos cara arriba desde a parte inferior da pantalla e mantena premida. Despois selecciona a ampliación."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"Atallo mediante as teclas de volume"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"Servizo de atallo"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Configuración de atallos"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"Permitir na pantalla bloqueo"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"Cando o atallo está activado, podes premer as dúas teclas de volume durante 3 segundos para iniciar unha función de accesibilidade."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"Texto de alto contraste"</string>
@@ -2149,24 +2157,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"Escolle o tempo durante o que se mostran as mensaxes que che piden que realices algunha acción e que só son visibles temporalmente.\n\nNon todas as aplicacións son compatibles con esta opción de configuración."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"Retardo de pulsación prolongada"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"Inversión da cor"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"Pode afectar ao rendemento"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"Tempo de permanencia"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"Usar a inversión da cor"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"A inversión da cor escurece as pantallas claras para que as persoas sensibles á luz poidan velas con máis facilidade.&lt;br/&gt;&lt;br/&gt;Nota: As cores escuras volveranse claras. As cores cambiarán no contido multimedia e nas imaxes. Tamén podes usar o tema escuro (Configuración &gt; Pantalla)."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"Clic automático (tempo de permanencia do cursor)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"Se usas un rato, podes configurar o cursor para que realice accións automaticamente cando deixe de moverse durante certo tempo."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"Retardo antes de facer clic"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"Non usar clic automático (predet.)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"Curto"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0,2 segundos"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"Medio"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0,6 segundos"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"Longo"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 segundo"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"Personalizado"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"Máis curto"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"Máis longo"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"Tempo do clic automático"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"Intensidade táctil e vibración"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Vibración das notificacións"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Vibración do ton"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Reacción aos toques"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"Usar servizo"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"Utilizar <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"Abrir <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"Usar corrección da cor"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"Usar subtítulos"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"Mostrar subtítulos"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"Aspecto dos subtítulos"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"Tamaño do texto, estilo dos subtítulos"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"Máis opcións"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"Non todas as aplicacións son compatibles con esta opción de configuración."</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"Botón Accesibilidade"</string>
+    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"Mover dous dedos cara arriba desde abaixo"</string>
+    <string name="accessibility_shortcut_type_hardware" msgid="4834144210432451916">"Manter premidas as teclas de volume"</string>
+    <string name="accessibility_shortcut_type_triple_tap" msgid="7717524216825494543">"Tres toques na pantalla"</string>
     <string name="accessibility_hearingaid_instruction_continue_button" msgid="3367260988024430722">"Continuar"</string>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"Audiófonos"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"Non hai ningún audiófono conectado"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"Engade audiófonos"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"Para vincular audiófonos, busca e toca o dispositivo na seguinte pantalla."</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"Asegúrate de que os audiófonos estean no modo de sincronización."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"Para sincronizar os audiófonos, busca e toca o teu dispositivo na seguinte pantalla. Asegúrate de que os audiófonos estean no modo de vinculación."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>: activo"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> audiófonos gardados</item>
@@ -2178,25 +2204,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Este servizo non funciona correctamente."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Mostrar en Configuración rápida"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"Modo de corrección"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="other">Retardo extremadamente curto (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Retardo extremadamente curto (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Vermello-verde"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"Verde-vermello"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Azul-amarelo"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"Deuteranomalía"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"Protanomalía"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"Tritanomalía"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="other">Atraso extremadamente curto (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> segundos)</item>
+      <item quantity="one">Atraso extremadamente curto (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> segundo)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="other">Retardo moi curto (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Retardo moi curto (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="other">Atraso moi curto (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> segundos)</item>
+      <item quantity="one">Atraso moi curto (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> segundo)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="other">Retardo curto (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Retardo curto (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="other">Atraso curto (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> segundos)</item>
+      <item quantity="one">Atraso curto (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> segundo)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="other">Retardo longo (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Retardo longo (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="other">Atraso longo (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> segundos)</item>
+      <item quantity="one">Atraso longo (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> segundo)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="other">Retardo moi longo (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Retardo moi longo (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="other">Atraso moi longo (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> segundos)</item>
+      <item quantity="one">Atraso moi longo (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> segundo)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> segundos</item>
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> segundo</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"Intensidade <xliff:g id="SUMMARY_RING">%1$s</xliff:g>, notificación <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>, toque <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"O son e as notificacións están desactivados"</string>
@@ -2513,7 +2549,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"Uso da batería desde a última desconexión: <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"Cifras totais de uso"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"Actualizar"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"SO Android"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"Servidor multimedia"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"Optimización da aplicación"</string>
     <string name="battery_saver" msgid="7737147344510595864">"Aforro de batería"</string>
@@ -2594,8 +2629,7 @@
     <string name="tts_play" msgid="2945513377250757221">"Reproducir"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"Almacenamento de credenciais"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"Instalar desde almacenamento"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"Instalar desde a tarxeta SD"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"Instalar un certificado"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"Instala certificados desde o almacenamento"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"Instala certificados desde a tarxeta SD"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"Borrar credenciais"</string>
@@ -2615,6 +2649,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"Almacenam. credenciais borrado"</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"Imposible borrar almacen. credenciais"</string>
     <string name="usage_access_title" msgid="1580006124578134850">"Apps con acceso de uso"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"Certificado de CA"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"Cert. de usuario de VPN e app"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"Certificado de wifi"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"A túa privacidade está en risco"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"Os certificados de CA utilízanse en sitios web, aplicacións e VPN para a encriptación. Instala só os certificados de CA das organizacións nas que confíes. \n\n Se instalas un certificado de CA, o seu propietario podería acceder á túa información (por exemplo, contrasinais, mensaxes ou datos das tarxetas de crédito) dos sitios web que visites ou das aplicacións que utilices aínda que estea encriptada."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"Non instalar"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"Instalar de todas formas"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"Non se instalou o certificado"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"Sinal de marcación de emerxencia"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Define o comportamento cando se realiza unha chamada de emerxencia"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Copia de seguranza"</string>
@@ -2642,10 +2684,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"Desactivar e desinstalar"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"Apps de administración"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"Non hai ningunha aplicación de administración de dispositivos dispoñible"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"Persoal"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"Traballo"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"Restrinxir acceso ao rexistro de chamadas e SMS"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"Só as aplicacións de teléfono e mensaxaría predeterminadas teñen permisos de acceso ao rexistro de chamadas e SMS"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"Non hai ningún axente de confianza dispoñible"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"Activar aplicación de administración?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"Activar esta aplicación de administración de dispositivos"</string>
@@ -2659,6 +2697,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"O teu administrador desactivou outras opcións"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"Máis detalles"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"Rexistro de notificacións"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"Historial de notificacións"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"Hoxe"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"Adiadas"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"Ignoradas recentemente"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> notificacións</item>
+      <item quantity="one"><xliff:g id="NUMBER_0">%d</xliff:g> notificación</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"Ton de chamada e vibración das chamadas"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"Detalles da rede"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"Sincronización activada"</string>
@@ -3008,7 +3054,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"Restricións"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"Eliminar restricións"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"Cambiar PIN"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"Amosar notificacións"</string>
     <string name="help_label" msgid="2896538416436125883">"Axuda e suxerencias"</string>
     <string name="support_summary" msgid="1034146931237148885">"Artigos de axuda, teléfono e chat, como comezar"</string>
     <string name="user_account_title" msgid="6389636876210834864">"Conta do contido"</string>
@@ -3033,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"Chamadas a través de 4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Usa os servizos LTE para mellorar a comunicación por voz e outras (recomendado)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Usa os servizos 4G para mellorar a comunicación por voz e outras (recomendado)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Detección de contactos"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Permite que o teu operador detecte as funcións de chamada que admiten os teus contactos."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Queres activar a detección de contactos?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Ao activar esta función, o teu operador poderá acceder aos números de teléfono dos teus contactos para detectar as funcións de chamada que admiten."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Tipo de rede preferido"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (recomendado)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"Mensaxes MMS"</string>
@@ -3077,7 +3126,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"Chamar con"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"Seleccionar unha tarxeta SIM"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"SIM <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"SIM baleira"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"Nome da SIM"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"Introducir o nome da SIM"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"Rañura da SIM %1$d"</string>
@@ -3087,6 +3135,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"Seleccionar tarxeta SIM"</string>
     <string name="color_orange" msgid="216547825489739010">"Laranxa"</string>
     <string name="color_purple" msgid="6603701972079904843">"Violeta"</string>
+    <string name="color_pink" msgid="8596872110888626708">"Rosa"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"Non hai ningunha tarxeta SIM inserida"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"Estado da SIM"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"Estado da SIM (rañura da SIM %1$d)"</string>
@@ -3100,7 +3149,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"Cambiáronse as tarxetas SIM."</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Tocar para configurar"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"SIM preferida para"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Preguntar sempre"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"É necesario seleccionar unha opción"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"Selección da SIM"</string>
@@ -3118,6 +3166,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"Bluetooth, modo de condución"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"Bluetooth, NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"Bluetooth"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"Non están dispoñibles porque a NFC está desactivada"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"Aplicacións e notificacións"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Aplicacións recentes, aplicacións predeterminadas"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Non se permite que as aplicacións do perfil de traballo accedan ás notificacións."</string>
@@ -3128,13 +3177,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"Configuración"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"wifi, conexión de rede, Internet, sen fíos, datos"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"notificación Wifi, notificación wifi"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"uso de datos"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"Deter vibración, tocar, teclado"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"Usar formato de 24 horas"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"Descarga"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"Abrir con"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"Aplicacións"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"fuso horario"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"Cabeceira do chat"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"Cabeceira do chat, sistema, alerta, ventá, cadro de diálogo, pantalla, sobre outras aplicacións, debuxar"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"Flash, luz, lanterna"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"wifi, activar, desactivar, control"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"móbil, operador móbil, sen fíos, datos, 4g, 3g, 2g, lte"</string>
@@ -3158,7 +3208,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"non non molestar, interromper, interrupción, pausa"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"cerca, localización, historial, informes, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"conta"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"conta, engadir unha conta, perfil de traballo, engadir conta"</string>
     <string name="keywords_users" msgid="3497517660077620843">"restrición, restrinxir, restrinxido"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"corrección ortográfica, correcto, son, vibrar, automático, idioma, xesto, suxerir, suxestión, tema, ofensivo, palabra, escribir, emoji, internacional"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"restablecer, preferencias, predeterminadas"</string>
@@ -3196,6 +3246,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"memoria, memoria caché, datos, eliminar, borrar, liberar, libre, espazo"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"conectado, dispositivo, auriculares, altofalante, sen fíos, sincronizar, música, contido multimedia"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"fondo, pantalla, pantalla de bloqueo, tema"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"forma das iconas, cor da énfase, tipo de letra"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"predeterminado, asistente"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"pago, predeterminado"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"notificación entrante"</string>
@@ -3205,18 +3256,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"tecnoloxía táctil, vibración, sensibilidade"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"aforro de batería, fixo, persistir, aforro de enerxía, batería"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"rutina, programación, aforro de batería, aforro de enerxía, batería, automático, porcentaxe"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"perfil de traballo"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"VoLTE, chamadas avanzadas, chamadas 4G"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"engadir idioma, engadir un idioma"</string>
     <string name="default_sound" msgid="6604374495015245195">"Son predeterminado"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"Volume do ton ao <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"Volume de notificacións e son ao <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Volume, vibración, Non molestar"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"Timbre en modo vibración"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"Timbre en modo silencio"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"Volume do ton ao 80 %"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"Volume de notificacións e son ao 80 %"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Volume dos elementos multimedia"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Volume da emisión"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"Volume de chamada"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"Volume da alarma"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"Volume do ton"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"Volume de notificacións e son"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"Volume das notificacións"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"Ton de chamada do teléfono"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"Son de notificación predeterminado"</string>
@@ -3224,6 +3276,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"Son de notificación predeterminado"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"Son de alarma predeterminado"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"Vibrar coas chamadas"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"Non vibrar nunca"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"Vibrar sempre"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"Vibrar e despois soar gradualmente"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"Outros sons"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"Tons do teclado de marcación"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"Sons de bloqueo da pantalla"</string>
@@ -3247,6 +3302,7 @@
       <item quantity="one">1 activada</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Non molestar"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Só se reciben notificacións de aplicacións e persoas importantes"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Limitar as interrupcións"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Activar modo Non molestar"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"Excepcións"</string>
@@ -3273,7 +3329,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Bloquear ruído visual"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Permitir sinais visuais"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"Cando está activado o modo Non molestar"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"Permitir interrupcións que emitan son"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"Restrinxir notificacións"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Notificacións sen son"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"Verás notificacións na pantalla"</string>
@@ -3304,7 +3360,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"Son e vibración"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"Son, vibración e algúns sinais visuais de notificacións"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"Son, vibración e sinais visuais de notificacións"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"As notificacións necesarias para o estado e as actividades básicas do teléfono non se ocultarán nunca."</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"As notificacións necesarias para o estado e as actividades básicas do teléfono non se ocultarán nunca."</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"Ningún son"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"outras opcións"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"Engadir"</string>
@@ -3334,10 +3390,12 @@
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> planificacións poden activarse automaticamente</item>
       <item quantity="one">1 planificación pode activarse automaticamente</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"Silenciar o dispositivo, pero con excepcións"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"Excepcións"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"Planificación"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"Consultar todas as excepcións"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"Excepcións cando está activado o modo Non molestar"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"Persoas"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"Aplicacións"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"Alarmas e outras interrupcións"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"Planificacións"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"Notificacións silenciadas"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"Cando estea activado o modo Non molestar, silenciaranse o son e a vibración, agás nos casos autorizados anteriormente."</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"Silenciar todo agás"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"Silenciados"</string>
@@ -3381,16 +3439,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"Notificacións intelixentes"</string>
     <string name="asst_capability_prioritizer_title" msgid="1181272430009156556">"Prioridade das notificacións automáticas"</string>
     <string name="asst_capability_prioritizer_summary" msgid="954988212366568737">"Define automaticamente como discretas as notificacións con prioridade baixa"</string>
+    <string name="asst_capability_ranking_title" msgid="312998580233257581">"Clasificación automática das notificacións"</string>
+    <string name="asst_capability_ranking_summary" msgid="2293524677144599450">"Clasifica as notificacións automaticamente por relevancia"</string>
     <string name="asst_capabilities_actions_replies_title" msgid="4392470465646394289">"Accións suxeridas e respostas"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"Mostra automaticamente accións suxeridas e respostas"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"Activa o historial de notificacións para facer un seguimento das notificacións anteriores e das adiadas"</string>
+    <string name="notification_history" msgid="8663811361243456201">"Historial de notificacións"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"Activar historial"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"Desactivar historial"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"Desactivouse o historial de notificacións"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"ver configuración de notificacións"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Permitir adiar notificacións"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"Ocultar iconas das notificacións discretas"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"As iconas das notificacións discretas non se mostran na barra de estado"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"Permitir puntos de notificación"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"Mostrar faixa de conversas recentes"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Burbullas"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"Algunhas notificacións poden mostrarse como burbullas na pantalla"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"Algunhas notificacións e outro contido poden mostrarse como burbullas na pantalla. Para abrir estas burbullas, tócaas. Se queres ignoralas, arrástraas cara abaixo pola pantalla."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Burbullas"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"As mensaxes novas aparecerán na pantalla"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"Permite que <xliff:g id="APP_NAME">%1$s</xliff:g> mostre algunhas notificacións como burbullas"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"Activar burbullas"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"Se queres activar as burbullas desta aplicación, debes activalas no dispositivo. Isto afecta a outras aplicacións nas que activases previamente esta opción."</string>
@@ -3408,6 +3476,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"Mostrar no panel despregable e na pantalla de bloqueo"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"Mostrar no panel despregable e na barra de estado"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"Mostrar no panel despregable, na barra de estado e na pantalla de bloqueo"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"Ocultar notificacións silenciosas na barra de estado"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"Luz intermitente"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"Pantalla de bloqueo"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"Omitir a pantalla de bloqueo"</string>
@@ -3438,6 +3507,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"Comportamento"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"Permitir son"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"Non mostra nunca as notificacións"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"Conversas"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"Conversa"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"Non é unha conversa"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"Quitar da sección de conversas"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"Esta é unha conversa"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"Engadir á sección de conversas"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"Xestionar as conversas"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"Conversas importantes"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"Todas as conversas"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"Incluír conversas importantes en burbullas"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"As conversas importantes móstranse na parte superior do panel despregable. Tamén podes configuralas para que se inclúan en burbullas e interrompan o modo Non molestar."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"Mostrar en silencio e minimizar"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"Mostrar en silencio"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"Emitir son"</string>
@@ -3456,7 +3536,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"Axúdache a centrarte sen son nin vibración"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"Chama a túa atención con son ou vibración"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"Ao desbloquear o dispositivo, as notificacións móstranse nun cartel na parte superior da pantalla"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"Mostrar notificacións"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"Todas as notificacións da aplicación <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"Notificacións intelixentes"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="other">~<xliff:g id="NUMBER_1">%d</xliff:g> notificacións ao día</item>
@@ -3477,6 +3557,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"Notificacións intelixentes"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"Ningunha"</string>
     <string name="no_notification_listeners" msgid="2839354157349636000">"Ningunha aplicación instalada solicitou o acceso ás notificacións."</string>
+    <string name="notification_access_detail_switch" msgid="46386786409608330">"Permitir acceso ás notificacións"</string>
     <string name="notification_assistant_security_warning_title" msgid="2972346436050925276">"Queres permitir que <xliff:g id="SERVICE">%1$s</xliff:g> teña acceso ás notificacións?"</string>
     <string name="notification_assistant_security_warning_summary" msgid="3119843404577399036">"<xliff:g id="NOTIFICATION_ASSISTANT_NAME">%1$s</xliff:g> poderá ler todas as notificacións, incluída a información persoal, como os nomes dos contactos e o texto das mensaxes que recibas. Tamén poderá modificar ou ignorar as notificacións e activar os botóns de acción que estas conteñan. \n\nAdemais, poderá activar ou desactivar o modo Non molestar e cambiar a configuración asociada."</string>
     <string name="notification_listener_security_warning_title" msgid="5791700876622858363">"Queres permitir que <xliff:g id="SERVICE">%1$s</xliff:g> teña acceso ás notificacións?"</string>
@@ -3538,8 +3619,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"Feito"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"Importancia"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"Luz intermitente"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"Vibración"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"Vibración"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"Son"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"Importante"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"Engadir ao inicio"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"Eliminar"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"Cambiar nome"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"Nome da planificación"</string>
@@ -3593,6 +3676,10 @@
       <item quantity="other"><xliff:g id="NUM_PEOPLE">%d</xliff:g> máis</item>
       <item quantity="one">1 máis</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Conversas"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"De todas as conversas"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"Das conversas importantes"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"Non permitir ningunha conversa"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"Permitir mensaxes"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"Para asegurarte de que as mensaxes permitidas soen, comproba se o dispositivo ten activado o son e a vibración ou se está configurado en silencio."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"As mensaxes entrantes para \"<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>\" están bloqueadas. Podes axustar a configuración para permitir que os amigos, os familiares ou outros contactos se comuniquen contigo."</string>
@@ -3606,15 +3693,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"De ninguén"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"Non permitir ningunha chamada"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"Non permitir ningunha mensaxe"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"Permitir alarmas"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"Alarmas"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"De temporizadores, alarmas, sistemas de seguranza e outras aplicacións"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"alarmas"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"Reproducir sons multimedia"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"Sons multimedia"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"De vídeos, videoxogos e outro contido multimedia"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"contido multimedia"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"Permitir sons ao tocar"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"Sons ao tocar"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"Do teclado e doutros botóns"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"sons ao tocar"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"Permitir recordatorios"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"Recordatorios"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"De tarefas e recordatorios"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"recordatorios"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"Permitir eventos"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"Eventos"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"De eventos próximos no calendario"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Permitir que as aplicacións anulen o modo Non molestar"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"Excepcións de aplicacións"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3657,6 +3749,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"Permite que as notificacións silenciadas pola función Non molestar acendan a pantalla"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"Configuración das notificacións"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"Aceptar"</string>
+    <string name="suggestion_button_close" msgid="6865170855573283759">"Pechar"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Enviar comentarios do dispositivo"</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"Introduce o PIN do administrador"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"Activada"</string>
@@ -3667,6 +3760,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Solicitar PIN para soltar fixación"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Solicitar contrasinal para deixar de fixar a pantalla"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Bloquear dispositivo ao deixar de fixar a pantalla"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Confirmar eliminación de SIM"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"Verifica a túa identidade antes de borrar unha SIM descargada"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"Este perfil de traballo está xestionado por:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"Xestionado por <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(Experimental)"</string>
@@ -3741,8 +3836,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"Todas as aplicacións"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Aplicacións instaladas"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Aplicacións Instantáneas"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"Persoais"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"Do traballo"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"Aplicacións: todas"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"Desactivadas"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"Categorías: relevancia urxente"</string>
@@ -3754,6 +3847,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"Aplicación descoñecida"</string>
     <string name="app_permissions" msgid="8666537659217653626">"Xestor de permisos"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"Aplicacións que usan <xliff:g id="APPS">%1$s</xliff:g>"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"Aplicacións que utilizan <xliff:g id="APPS">%1$s</xliff:g> e outros"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"Tocar para activar"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"Toca dúas veces en calquera parte da pantalla para activar o dispositivo"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"Apertura de ligazóns"</string>
@@ -3765,9 +3859,14 @@
       <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> aplicacións que poden abrir ligazóns compatibles</item>
       <item quantity="one">Unha aplicación que pode abrir ligazóns compatibles</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"Abre nesta aplicación"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"Permitir que a aplicación abra as ligazóns compatibles"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"Preguntar sempre"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"Non abre nesta aplicación"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"Non permitir que a aplicación abra ligazóns"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="other">A aplicación quere xestionar <xliff:g id="COUNT_1">%d</xliff:g> ligazóns</item>
+      <item quantity="one">A aplicación quere xestionar <xliff:g id="COUNT_0">%d</xliff:g> ligazón</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"A aplicación quere xestionar as seguintes ligazóns:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"Predeterminado"</string>
     <string name="default_for_work" msgid="537558180548617528">"Predeterminado para o traballo"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"Asistente e entrada de voz"</string>
@@ -3911,8 +4010,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"Mostrar sobre outras aplicacións"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Permitir mostrar sobre outras aplicacións"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"Permite que esta aplicación se mostre enriba doutras aplicacións que estás utilizando. Pode interferir no uso desas aplicacións ou cambiar a forma na que aparecen ou se comportan."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"Acceso a todos os ficheiros"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"Permitir xestionar todos os ficheiros"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Permite que esta aplicación lea, modifique e elimine todos os ficheiros deste dispositivo ou de calquera unidade de almacenamento conectada. Se lle dás permiso, a aplicación poderá acceder aos ficheiros sen que se che notifique explicitamente."</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"Poden acceder a todos os ficheiros"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"rv realidade virtual axente de escoita estéreo asistente servizo"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"cadro de diálogo da ventá de alerta do sistema para mostrar sobre outras aplicacións"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"Superpoñer sobre aplicacións"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"Aplicacións con permiso para superpoñerse a outras: <xliff:g id="COUNT_0">%1$d</xliff:g> de <xliff:g id="COUNT_1">%2$d</xliff:g>"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"Aplicacións con permiso"</string>
@@ -4078,6 +4180,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"Datos usados: <xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g>"</string>
     <string name="data_overusage" msgid="3680477320458707259">"Superouse o límite de: <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="data_remaining" msgid="6316251496381922837">"Sen usar: <xliff:g id="ID_1">^1</xliff:g>"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"O gráfico mostra o uso de datos entre o <xliff:g id="START_DATE">%1$s</xliff:g> e o <xliff:g id="END_DATE">%2$s</xliff:g>."</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"Non hai datos neste intervalo de datas"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="other">Quedan %d días</item>
       <item quantity="one">Queda %d día</item>
@@ -4141,14 +4245,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"tamaño da parcela"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"cinza"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"notificación enviada"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"son"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"vibración"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"padrón"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"predeterminado"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"canle"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"ningún"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"Falta o obxecto do ranking."</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"O obxecto do ranking non contén esta clave."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"Temas"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"Configuración predeterminada do dispositivo"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"Recorte de pantalla"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"recorte de pantalla, marca"</string>
@@ -4237,8 +4337,12 @@
     <string name="information_label" msgid="6939310810756569298">"Información"</string>
     <string name="low_label" msgid="6525629096999711220">"Baixa"</string>
     <string name="high_label" msgid="357503396626018487">"Alta"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"Unha sensibilidade superior pode provocar conflitos cos xestos da aplicación que se fagan nos bordos da pantalla."</string>
+    <string name="left_edge" msgid="1513576842959071849">"Bordo esquerdo"</string>
+    <string name="right_edge" msgid="1505309103265829121">"Bordo dereito"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"Unha sensibilidade superior pode provocar conflitos cos xestos da aplicación que se fagan nos bordos da pantalla."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"Sensibilidade traseira"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"Configuración dos xestos"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"navegación con xestos, sensibilidade traseira, xestos traseiros"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"Dobre toque no teléfono para consultalo"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"Tocar dúas veces para consultar a tableta"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"Tocar dúas veces para consultar o dispositivo"</string>
@@ -4393,7 +4497,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"Aprovisionamento do operador do activador"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"Actualizar a modo Non molestar"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"Pon en pausa as notificacións para concentrarte"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"Esta función non está dispoñible neste dispositivo"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"Función non dispoñible"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"Desactivouse esta función porque fai que o teléfono vaia máis lento"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"Forzar medicións completas de GNSS"</string>
@@ -4403,20 +4506,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"Seleccionar aplicación compatible con ANGLE"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"Non se definiu ningunha aplicación compatible con ANGLE"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"Aplicación compatible con ANGLE: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"Preferencias do controlador de xogos"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"Modifica a configuración do controlador de xogos"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"Se o controlador de xogos está activado, podes utilizar o controlador de gráficos actualizados para as aplicacións instaladas no dispositivo."</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"Activar para todas as aplicacións"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"Seleccionar controlador de gráficos"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"Valor predeterminado"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"Controlador de xogos"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"Controlador lanzado previamente"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"Controlador de gráficos do sistema"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"Preferencias do controlador de gráficos"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"Cambia a configuración do controlador de gráficos"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"Se hai varios controladores de gráficos, podes utilizar o que estea actualizado para as aplicacións instaladas no dispositivo."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"Activar para todas as aplicacións"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"Seleccionar controlador de gráficos"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"Predeterminado"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"Controlador de xogos"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"Controlador do programador"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Controlador de gráficos do sistema"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Cambios na compatibilidade das aplicacións"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Activa/desactiva os cambios de compatibilidade da aplicación"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Cambios activados de modo predeterminado"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Cambios desactivados de modo predeterminado"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"A opción de configuración non é compatible con este teléfono"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"A opción de configuración non é compatible con esta tableta"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"A opción de configuración non é compatible con este dispositivo"</string>
@@ -4435,6 +4544,12 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"Dispositivo"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Non dispoñible durante as chamadas"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"Non dispoñible"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"Engadir saídas"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"Grupo"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"Seleccionouse 1 dispositivo"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"Seleccionáronse <xliff:g id="COUNT">%1$d</xliff:g> dispositivos"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"Responder chamada en"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Este APN non se pode cambiar."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Mellora a vida útil da batería da tableta"</string>
@@ -4552,10 +4667,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Non se poden ter activadas varias SIM descargadas á vez.\n\nAo cambiar a <xliff:g id="CARRIER1">%1$s</xliff:g> non se cancelará o teu servizo de <xliff:g id="CARRIER2">%2$s</xliff:g>."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Cambiar a <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Borrar SIM"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Queres borrar esta SIM descargada?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Ao borrar esta SIM, quitarase o servizo de <xliff:g id="CARRIER_0">%1$s</xliff:g> deste dispositivo.\n\nNon se cancelará o servizo de <xliff:g id="CARRIER_1">%2$s</xliff:g>."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Borrar"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Borrando SIM…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Non se puido borrar a SIM"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Esta SIM non se puido borrar debido a un erro.\n\nReinicia o dispositivo e téntao de novo."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Tipo de rede preferido"</string>
@@ -4580,7 +4691,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Modo de rede non válido: <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Ignorar."</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Nomes dos puntos de acceso"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Non dispoñible cando o dispositivo está conectado a <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"Información médica, contactos de emerxencia"</string>
     <string name="see_more" msgid="7499355691042812723">"Ver máis"</string>
     <string name="see_less" msgid="2642392725363552793">"Ver menos"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"Dispositivo para usar coa aplicación <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
@@ -4589,11 +4699,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"Produciuse un erro. A aplicación cancelou a solicitude de escoller un dispositivo."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"Conexión correcta"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"Mostrar todo"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> dispositivos conectados</item>
-      <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_0">%1$d</xliff:g> dispositivo conectado</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"Non hai dispositivos Bluetooth"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"Buscando dispositivo…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"Conectando co dispositivo…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"Esquerdo"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"Dereito"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Carcasa"</string>
@@ -4603,6 +4710,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"Non dispoñibles no modo avión"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"Forzar modo de escritorio"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Forza o modo de escritorio experimental en pantallas secundarias"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"Permitir formato libre nas aplicacións de tamaño compatible"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"Permite que as aplicacións de tamaño compatible teñan formato libre"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Anular Forzar modo escuro"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"Anula a función Forzar modo escuro para que estea sempre activo"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"Privacidade"</string>
@@ -4639,6 +4748,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Instalaches esta aplicación recentemente."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Cambiar saída"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Reproducindo contido actualmente en <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (dispositivo desconectado)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Cambio imposible. Toca e téntao de novo."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Información importante"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"CONTINUAR"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"NON, GRAZAS"</string>
@@ -4666,8 +4777,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"Combinación de tarxetas SIM"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Información sobre a túa política de traballo"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"A configuración xestiónaa o teu equipo de administración de TI"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"Controlador do Informe de erros"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Determina que aplicación xestiona o atallo Informe de erro no teu dispositivo."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Persoal"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"Traballo"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"Aplicación predeterminada do sistema"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"Esta opción xa non é válida. Téntao de novo."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"Deter emisión"</string>
 </resources>
diff --git a/res/values-gu/arrays.xml b/res/values-gu/arrays.xml
index f332291..7a57c41 100644
--- a/res/values-gu/arrays.xml
+++ b/res/values-gu/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"ત્વરિત"</item>
     <item msgid="463591454172790676">"5 સેકન્ડ"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"માન્ય કરશો નહીં"</item>
+    <item msgid="5703177653586269306">"પ્રમાણપત્રના સ્ટેટસ માટે વિનંતી કરો"</item>
+    <item msgid="326388247868439528">"પ્રમાણપત્રનું સ્ટેટસ જરુરી છે"</item>
+    <item msgid="1090956283885790552">"બધા અવિશ્વસનીય પ્રમાણપત્રના સ્ટેટસ જરૂરી છે"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"પુશ બટન"</item>
     <item msgid="2630618799033509548">"પીઅર ઉપકરણ પરથી પિન"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"કોઈ નહીં"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"પૂર્વ શેર કરેલી કીઝ અને Xauth પ્રમાણીકરણ સાથે IPSec VPN"</item>
     <item msgid="2484564813864139237">"પ્રમાણપત્રો અને Xauth પ્રમાણીકરણ સાથે IPSec VPN"</item>
     <item msgid="68918911194507915">"પ્રમાણપત્રો અને સંકર પ્રમાણીકરણ સાથે IPSec VPN"</item>
+    <item msgid="4631647675167100375">"પ્રમાણપત્રો અને વપરાશકર્તાનું નામ/પાસવર્ડના પ્રમાણીકરણ સાથે IKEv2/IPSec VPN"</item>
+    <item msgid="8812228622975052811">"પહેલાંથી શેર કરેલી કી સાથે L2TP/IPSec VPN"</item>
+    <item msgid="6630554779981113046">"પ્રમાણપત્રો સાથે IKEv2/IPSec VPN"</item>
   </string-array>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"એકપણ નહીં"</item>
diff --git a/res/values-gu/config.xml b/res/values-gu/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-gu/config.xml
+++ b/res/values-gu/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-gu/strings.xml b/res/values-gu/strings.xml
index a8826ce..bd66650 100644
--- a/res/values-gu/strings.xml
+++ b/res/values-gu/strings.xml
@@ -31,49 +31,17 @@
     <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="radio_info_data_connection_enable" msgid="7500945447906187613">"ડેટા કનેક્શન સક્ષમ કરો"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"ડેટા કનેક્શન અક્ષમ કરો"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"VoLTE ની જોગવાઈ કરી"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"વીડિઓ કૉલિંગની જોગવાઈ કરી"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"Wifi કૉલિંગની જોગવાઈ કરી"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"EAB/ઉપસ્થિતિની જોગવાઈ કરી"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"Cbrs ડેટા"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"DSDS ચાલુ કરો"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"ડિવાઇસ ફરી શરૂ કરીએ?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"આ સેટિંગમાં ફેરફાર કરવા માટે તમારા ડિવાઇસને ફરી શરૂ કરો."</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"ફરી શરૂ કરો"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"રદ કરો"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"મોબાઇલ રેડિયો પાવર"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"સિમ સરનામાં પુસ્તિકા જુઓ"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"ફિક્સ્ડ ડાયલિંગ નંબર્સ જુઓ"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"સેવા ડાયલિંગ નંબર્સ જુઓ"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"IMS સેવા સ્થિતિ"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"IMS સ્થિતિ"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"નોંધણી કરાઈ"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"નોંધણી કરેલ નથી"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"ઉપલબ્ધ"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"અનુપલબ્ધ"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"IMS નોંધણી: <xliff:g id="STATUS">%1$s</xliff:g>\nLTE પર વૉઇસ: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nWiFi પર વૉઇસ: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nવીડિઓ કૉલિંગ: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT ઇન્ટરફેસ: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"સેવામાં"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"કાર્યરત્ નથી"</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>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"નિષ્ક્રિય"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"રિંગ કરે છે"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"કૉલ ચાલી રહ્યો છે"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"ડિસ્કનેક્ટ કર્યું"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"કનેક્ટ થઈ રહ્યું છે"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"કનેક્ટ કર્યું"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"સસ્પેન્ડેડ"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"અજાણી"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"pkts"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"બાઇટ્સ"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"USB સ્ટોરેજ અનમાઉન્ટ કરો"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"SD કાર્ડને અનમાઉન્ટ કરો"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"USB સ્ટોરેજ ભૂસી નાંખો"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"સ્ક્રીન પરની ટેક્સ્ટને નાની અથવા મોટી કરો."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"વધુ નાનું બનાવો"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"વધુ મોટું બનાવો"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"ટેક્સ્ટની સાઇઝનો નમૂનો"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"અદ્ભુત Wizard of Oz"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"પ્રકરણ 11: ધ વન્ડરફૂલ એમરલ્ડ સીટી ઓફ ઓઝ"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"આ સેટિંગમાં ફેરફાર કરવા માટે તમારા ઉપકરણને ફરીથી શરૂ કરો."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"ફરી શરૂ કરો"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"રદ કરો"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"ઉપલબ્ધ મીડિયા ઉપકરણો"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"ઉપલબ્ધ કૉલ ઉપકરણો"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"હાલમાં કનેક્ટ કરેલ છે"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"મીડિયા ડિવાઇસ"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"કૉલ ડિવાઇસ"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"અન્ય ડિવાઇસ"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"સાચવેલ ઉપકરણો"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"બ્લૂટૂથ જોડી બનાવવાનું ચાલુ કરશે"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"કનેક્શનની પસંદગીઓ"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"તમે ટાઇપ કરેલ પોર્ટ માન્ય નથી."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"HTTP પ્રોક્સીનો ઉપયોગ બ્રાઉઝર દ્વારા કરવામાં આવે છે પરંતુ અન્ય ઍપ્લિકેશનો દ્વારા કરી શકાતો નથી."</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"PAC URL: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"હાલનું subId:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"ડિફૉલ્ટ ડેટા SIMનું SubId:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"DL બૅન્ડવિડ્થ (kbps):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"UL બૅન્ડવિડ્થ (kbps):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"સેલ સ્થાન માહિતી (ટાળેલ):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"LTE ભૌતિક ચૅનલની ગોઠવણી:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"સેલ માહિતી તાજું કરવાનો દર:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"તમામ સેલ માપ માહિતી:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"ડેટા સેવા:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"રોમિંગ:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"કૉલ રીડાયરેક્ટ:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"બૂટ કર્યા સુધીમાં PPP ફરીથી સેટ કરોની સંખ્યા:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"વર્તમાન નેટવર્ક:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"ડેટા પ્રાપ્ત થયો:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"વૉઇસ સેવા:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"સિગ્નલની પ્રબળતા:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"વૉઇસ કૉલ સ્થિતિ:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"ડેટા મોકલ્યો:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"સંદેશ રાહ જોઈ રહ્યું છે:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"ફોન નંબર:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"રેડિઓ બેન્ડ પસંદ કરો"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"વૉઇસ નેટવર્ક પ્રકાર:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"ડેટા નેટવર્કનો પ્રકાર:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"ફોનની અનુક્રમણિકા પસંદ કરો"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"પસંદગીનો નેટવર્ક પ્રકાર સેટ કરો:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"હોસ્ટનું નામ પિંગ કરો(www.google.com) IPv4:"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"હોસ્ટનું નામ પિંગ કરો(www.google.com) IPv6:"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"HTTP ક્લાઇન્ટ પરીક્ષણ:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"પિંગ પરીક્ષણ શરૂ કરો"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"અપડેટ કરો"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"તાજું કરો"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"DNS તપાસ ટૉગલ કરો"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"OEM-વિશિષ્ટ માહિતી/સેટિંગ્સ"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"રેડિઓ બેન્ડ મોડ સેટ કરો"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"બેન્ડ સૂચિ લોડ કરી રહ્યું છે…"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"સેટ કરો"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"અસફળ"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"સફળ"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"જ્યારે USB કેબલ ફરીથી કનેક્ટ થાય ત્યારે ફેરફારો પ્રભાવમાં આવે છે."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"USB માસ સ્ટોરેજને સક્ષમ કરો"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"કુલ બાઇટ્સ:"</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"તળિયા પર ખસેડો"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"ભાષા દૂર કરો"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"પ્રવૃત્તિ પસંદ કરો"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"ઉપકરણ માહિતી"</string>
     <string name="display_label" msgid="3056320781191343221">"સ્ક્રીન"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"ટેબ્લેટ માહિતી"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"ફોન માહિતી"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"USB સ્ટોરેજ"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"SD કાર્ડ"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"પ્રોક્સી સેટિંગ"</string>
@@ -306,9 +234,6 @@
     <string name="airplane_mode" msgid="3196085857882526817">"એરપ્લેન મોડ"</string>
     <string name="wireless_networks_settings_title" msgid="8557542379234105369">"વાયરલેસ અને નેટવર્ક્સ"</string>
     <string name="radio_controls_summary" msgid="9028430178697624501">"વાઇ-ફાઇ, બ્લૂટૂથ, એરપ્લેન મોડ, મોબાઇલ નેટવર્ક્સ અને VPN સંચાલિત કરો"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"મોબાઇલ ડેટા"</string>
-    <string name="calls_title" msgid="6334813967619899114">"કૉલને મંજૂરી આપો"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"SMS સંદેશા"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"મોબાઇલ નેટવર્ક દ્વારા ડેટા વપરાશની મંજૂરી આપો"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"રોમિંગ પર હોય ત્યારે ડેટા ઉપયોગની મંજૂરી આપો"</string>
     <string name="roaming" msgid="3055365654530847985">"રોમિંગ"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"જ્યારે રોમિંગ હોય ત્યારે ડેટા સેવાઓથી કનેક્ટ કરો"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"તમે ડેટા કનેક્ટિવિટી ગુમાવી છે કારણ કે તમે તમારા હોમ નેટવર્કને બંધ ડેટા રોમિંગ સાથે છોડ્યું છે."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"તેને ચાલુ કરો"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"તમારી પાસેથી નોંધપાત્ર શુલ્ક વસૂલવામાં આવી શકે છે."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"જ્યારે તમે ડેટા રોમિંગને મંજૂરી આપો છો ત્યારે, તમને નોંધપાત્ર રોમિંગ શુલ્ક લાગી શકે છે!\n\nઆ સેટિંગ્સ આ ટેબ્લેટ પરના બધા વપરાશકર્તાઓને પ્રભાવિત કરે છે."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"જ્યારે તમે ડેટા રોમિંગને મંજૂરી આપો છો ત્યારે, તમને આંશિક રોમિંગ શુલ્ક લાગી શકે છે!\n\nઆ સેટિંગ્સ આ ફોનના બધા વપરાશકર્તાઓને પ્રભાવિત કરે છે."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"રોમિંગ શુલ્ક લાગુ થઈ શકે છે."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"જ્યારે તમે ડેટા રોમિંગને મંજૂરી આપો છો, ત્યારે રોમિંગ શુલ્ક લાગુ થઈ શકે છે.\n\nઆ સેટિંગ આ ટૅબ્લેટ પરના બધા વપરાશકર્તાઓને અસર કરે છે."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"જ્યારે તમે ડેટા રોમિંગને મંજૂરી આપો છો, ત્યારે રોમિંગ શુલ્ક લાગી શકે છે.\n\nઆ સેટિંગ આ ફોન પરના બધા વપરાશકર્તાઓને અસર કરે છે."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"ડેટા રોમિંગને મંજૂરી આપીએ?"</string>
     <string name="networks" msgid="5184501333492775095">"ઓપરેટર પસંદગી"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"એક નેટવર્ક ઓપરેટર પસંદ કરો"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"વ્યવસ્થાપકે અક્ષમ કરેલ"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"લોકડાઉનનો વિકલ્પ બતાવો"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"ડિસ્પ્લે પાવર બટનનો વિકલ્પ જે Smart Lock, બાયોમેટ્રિક અનલૉક કરવાનું અને લૉક સ્ક્રીન પર નોટિફિકેશનને બંધ કરે છે"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"માત્ર ટ્રસ્ટ એજન્ટ અનલૉક મોડ લંબાવી શકશે"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"જો ચાલુ કરવામાં આવે, તો ટ્રસ્ટ એજન્ટ વધુ લાંબા સમય માટે ડિવાઇસને અનલૉક રાખી શકશે, પરંતુ લૉક થયેલા ડિવાઇસને ફરી અનલૉક કરી શકશે નહીં."</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"વિશ્વાસ ગુમાવો, ત્યારે સ્ક્રીન લૉક કરો"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"જો ચાલુ કરવામાં આવે તો જ્યારે છેલ્લો ટ્રસ્ટ એજન્ટ વિશ્વાસ ગુમાવશે, ત્યારે ડિવાઇસ લૉક થઈ જશે"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"કોઈ નહીં"</string>
@@ -390,7 +313,7 @@
     <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="disabled_by_administrator_summary" msgid="4181894719300350343">"વ્યવસ્થાપકે અક્ષમ કરેલ"</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>
@@ -693,7 +616,6 @@
       <item quantity="one"><xliff:g id="NUMBER_1">%d</xliff:g> કરતાં ઓછા અંક હોવા જરૂરી છે</item>
       <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> કરતાં ઓછા અંક હોવા જરૂરી છે</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"માત્ર 0-9 અંક શામેલ હોવા આવશ્યક છે"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"ઉપકરણ વ્યવસ્થાપક તાજેતરનાં પિનનો ઉપયોગ કરવાની મંજૂરી આપતા નથી"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"સામાન્ય પિન તમારા IT વ્યવસ્થાપક દ્વારા બ્લૉક કરવામાં આવે છે. એક અલગ પિન અજમાવી જુઓ."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"આમાં અમાન્ય અક્ષરોનો સમાવેશ થઈ શકતો નથી"</string>
@@ -724,6 +646,10 @@
       <item quantity="one">ઓછામાં ઓછા <xliff:g id="COUNT">%d</xliff:g> વર્ણ સિવાયના અક્ષર ધરાવતો હોવો જોઈએ</item>
       <item quantity="other">ઓછામાં ઓછા <xliff:g id="COUNT">%d</xliff:g> વર્ણ સિવાયના અક્ષર ધરાવતો હોવો જોઈએ</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="one">ઓછામાં ઓછો <xliff:g id="COUNT">%d</xliff:g> અક્ષર એવો હોવો જોઈએ કે જે સંખ્યા ન હોય</item>
+      <item quantity="other">ઓછામાં ઓછા <xliff:g id="COUNT">%d</xliff:g> અક્ષર એવા હોવા જોઈએ કે જે સંખ્યા ન હોય</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"ઉપકરણ વ્યવસ્થાપક તાજેતરનાં પાસવર્ડનો ઉપયોગ કરવાની મંજૂરી આપતા નથી"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"સામાન્ય પાસવર્ડ તમારા IT વ્યવસ્થાપક દ્વારા બ્લૉક કરવામાં આવે છે. એક અલગ પાસવર્ડ અજમાવી જુઓ."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"અંકોના ચઢતા ક્રમની, ઉતરતા ક્રમની અથવા પુનરાવર્તિત અનુક્રમની મંજૂરી નથી"</string>
@@ -837,19 +763,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2.4 GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"સાઇન ઇન કરો"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"સાઇટ ખોલો"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"<xliff:g id="REMAINING_TIME">%1$s</xliff:g> બાકી"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"<xliff:g id="EXPIRY_TIME">%1$s</xliff:g> વાગ્યે સમાપ્ત થશે"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"નેટવર્કમાં સાઇન ઇન કરવા માટે અહીં ટૅપ કરો"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"<xliff:g id="REQUESTER">%s</xliff:g>, વાઇ-ફાઇ ચાલુ કરવા માગે છે"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"<xliff:g id="REQUESTER">%s</xliff:g>, વાઇ-ફાઇ બંધ કરવા માગે છે"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"ડીબગ કરવા યોગ્ય ઍપના બાઇટકોડને ચકાસો"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"ડીબગ કરવા યોગ્ય ઍપ માટે બાઇટકોડને ચકાસવા ARTને મંજૂરી આપો"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"રિફ્રેશ થવાનો રેટ બતાવો"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"હાલના ડિસ્પ્લેનો રિફ્રેશ થવાનો રેટ બતાવો"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"જ્યારે ટેબ્લેટ બીજા ઉપકરણને ટચ કરે ત્યારે ડેટા વિનિમયની મંજૂરી આપો"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"જ્યારે ફોન બીજા ડિવાઇસને ટચ કરે ત્યારે ડેટા વિનિમયની મંજૂરી આપો"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"જ્યારે ટૅબ્લેટ કોઈ NFC ડિવાઇસને સ્પર્શ કરે, ત્યારે ડેટા વિનિમયની મંજૂરી આપો"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"જ્યારે ફોન કોઈ NFC ડિવાઇસને સ્પર્શ કરે, ત્યારે ડેટા વિનિમયની મંજૂરી આપો"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"NFC ચાલુ કરો"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"NFC આ ઉપકરણ અને અન્ય નજીકના ઉપકરણો અથવા લક્ષ્યો વચ્ચે ડેટાની આપ-લે કરે છે, જેમ કે ચુકવણી ટર્મિનલ્સ, અ‍ૅક્સેસ રીડર્સ અને ક્રિયા-પ્રતિક્રિયાત્મક જાહેરાતો અથવા ટૅગ્સ."</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"NFCને સુરક્ષિત કરો"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFC માટે ડિવાઇસ અનલૉક જરૂરી છે"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"જ્યારે સ્ક્રીન અનલૉક કરેલ હોય ત્યારે જ NFC ચુકવણી અને પરિવહનનો ઉપયોગ કરવાની મંજૂરી આપો"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android બીમ"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"ઍપ્લિકેશન સામગ્રીને NFC મારફતે સંચારિત કરવા માટે તૈયાર"</string>
@@ -923,8 +855,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"ચાલુ કરો"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"વાઇ-ફાઇ સ્કૅનિંગ ચાલુ કર્યું છે"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"વિગતવાર વિકલ્પો"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"ડ્રોપ ડાઉન સૂચિ વિગતવાર વિકલ્પો. સંકુચિત કરવા માટે બે વાર ટૅપ કરો."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"ડ્રોપ ડાઉન સૂચિ વિગતવાર વિકલ્પો. વિસ્તૃત કરવા માટે બે વાર ટૅપ કરો."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"વિગતવાર વિકલ્પોની ડ્રૉપ-ડાઉન સૂચિ"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"મોટા કરો"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"નેટવર્કનું નામ"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"SSID દાખલ કરો"</string>
     <string name="wifi_security" msgid="9095934643631406913">"સુરક્ષા"</string>
@@ -934,6 +866,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"સ્થિતિ"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"ટ્રાન્સમિટ લિંક માટેની ઝડપ"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"લિંક પ્રાપ્ત કરવાની ઝડપ"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"લિંક ઝડપ"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"આવર્તન"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"IP ઍડ્રેસ"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"આ દ્વારા સાચવેલ"</string>
@@ -941,6 +874,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"EAP પદ્ધતિ"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"ફેઝ 2 પ્રમાણીકરણ"</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>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"વપરાશકર્તા પ્રમાણપત્ર"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"ઓળખાણ"</string>
@@ -957,6 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"વાઇ-ફાઇ હૉટસ્પૉટ માટે ઓછામાં ઓછું એક બેન્ડ પસંદ કરો:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"IP સેટિંગ"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"પ્રાઇવસી"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"સબ્સ્ક્રિપ્શન"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"સબ્સ્ક્રિપ્શન જુઓ અથવા બદલો"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"રેન્ડમ કરેલ MAC"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"ડિવાઇસ ઉમેરો"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"ડિવાઇસને “<xliff:g id="SSID">%1$s</xliff:g>” પર ઉમેરવા માટે QR કોડને નીચેની બાજુએ વચ્ચે રાખો"</string>
@@ -966,12 +902,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"વાઇ-ફાઇ શેર કરો"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"“<xliff:g id="SSID">%1$s</xliff:g>” સાથે કનેક્ટ કરવા માટે આ QR કોડને સ્કૅન કરો અને પાસવર્ડ શેર કરો"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"“<xliff:g id="SSID">%1$s</xliff:g>” સાથે કનેક્ટ કરવા માટે આ QR કોડને સ્કૅન કરો"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"QR કોડ વાંચી શકાયો નથી. કોડ ફરી દાખલ કરો અને ફરીથી પ્રયાસ કરો."</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"ફરી પ્રયાસ કરો. જો સમસ્યા ચાલુ રહે છે, તો ડિવાઇસ નિર્માતાનો સંપર્ક કરો"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"કંઈક ખોટું થયું હતું"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"ડિવાઇસ બરાબર પ્લગ ઇન કરેલું, ચાર્જ થયેલું અને ચાલુ કરેલું હોવાની ખાતરી કરો"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"ડિવાઇસ બરાબર પ્લગ ઇન કરેલું, ચાર્જ થયેલું અને ચાલુ કરેલું હોવાની ખાતરી કરો. જો સમસ્યા ચાલુ રહે છે, તો ડિવાઇસ નિર્માતાનો સંપર્ક કરો"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"“<xliff:g id="SSID">%1$s</xliff:g>”ને ઉમેરવું આ ડિવાઇસ પર સમર્થિત નથી"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"ડિવાઇસને તમારા વાઇ-ફાઇ ઍક્સેસ પૉઇન્ટ/રાઉટરની નજીક ખસેડવાનો પ્રયાસ કરો"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"પાસવર્ડ ચેક કરો અને ફરી પ્રયાસ કરો"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"ડિવાઇસ નિર્માતાનો સંપર્ક કરો"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"કનેક્શન ચેક કરો અને ફરી પ્રયાસ કરો"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"નેટવર્ક પસંદ કરો"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"તમારા ડિવાઇસને કનેક્ટ કરવા માટે, નેટવર્ક પસંદ કરો"</string>
@@ -984,11 +922,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"આ ડિવાઇસ સાથે વાઇ-ફાઇ શેર કરી રહ્યાં છીએ…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"કનેક્ટ થઈ રહ્યું છે…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"હૉટસ્પૉટ શેર કરો"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"પોતાની ખાતરી કરો"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"એ તમે જ છો તે ચકાસો"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"વાઇ-ફાઇનો પાસવર્ડ: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"હૉટસ્પૉટનો પાસવર્ડ: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"ઑટોમૅટિક રીતે કનેક્ટ કરો"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"આ નેટવર્કની નજીક ફોનને ઑટોમૅટિક રીતે કનેક્ટ થવાની મંજૂરી આપો"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"આ નેટવર્કની નજીક ટૅબ્લેટને ઑટોમૅટિક રીતે કનેક્ટ થવાની મંજૂરી આપો"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"ડિવાઇસ ઉમેરો"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"આ નેટવર્ક પર ડિવાઇસ ઉમેરવા માટે QR કોડનો ઉપયોગ કરો"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"QR કોડનું માન્ય ફોર્મેટ નથી"</string>
     <string name="retry" msgid="7542103800274026915">"ફરી પ્રયાસ કરો"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"અન્ય ઉપકરણ વપરાશકર્તાઓ સાથે શેર કરો"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(અપરિવર્તિત)"</string>
@@ -1000,6 +942,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"કોઇ પ્રમાણપત્ર સ્પષ્ટ કરેલ નથી. તમારું કનેક્શન ખાનગી રહેશે નહીં."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"નેટવર્કનું નામ ખૂબ લાંબુ છે."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"ડોમેનનો ઉલ્લેખ કરવો આવશ્યક છે."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"પ્રમાણપત્ર જરૂરી છે."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"WPS ઉપલબ્ધ"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (WPS ઉપલબ્ધ)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"કૅરિઅર વાઇ-ફાઇ નેટવર્ક"</string>
@@ -1051,7 +994,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"વિગતવાર વાઇ-ફાઇ"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"MAC ઍડ્રેસ"</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_ip_address_title" msgid="4265355419782184514">"IP ઍડ્રેસ"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"નેટવર્કની વિગતો"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"સબનેટ માસ્ક"</string>
@@ -1103,7 +1047,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"તમારા અન્ય ઉપકરણો માટે વાઇ-ફાઇ નેટવર્ક બનાવવા હૉટસ્પૉટનો ઉપયોગ કરો. હૉટસ્પૉટ તમારા મોબાઇલ ડેટા કનેક્શનનો ઉપયોગ કરીને ઇન્ટરનેટ પૂરું પાડે છે. વધારાનો મોબાઇલ ડેટા શુલ્ક લાગુ થઈ શકે છે."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"ઍપ્લિકેશનો નજીકના ઉપકરણો સાથે કન્ટેન્ટ શેર કરવા માટે હૉટસ્પૉટ બનાવી શકે છે."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"હૉટસ્પૉટ આપમેળે બંધ કરો"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"જો કોઈ ઉપકરણો કનેક્ટ થયેલા ન હશે તો વાઇ-ફાઇ હૉટસ્પૉટ બંધ થઈ જશે"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"જ્યારે કોઈ ડિવાઇસ કનેક્ટ ન કરેલા હોય"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"હૉટસ્પૉટ ચાલુ કરી રહ્યું છે…"</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"હૉટસ્પૉટ બંધ કરી રહ્યું છે…"</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> સક્રિય છે"</string>
@@ -1112,6 +1056,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"વાઇ-ફાઇ હૉટસ્પૉટ સેટઅપ"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"AndroidAP WPA2 PSK હૉટસ્પૉટ"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"AndroidHotspot"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"આ નેટવર્ક સાચવીએ?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"<xliff:g id="APPNAME">%1$s</xliff:g> તમારા ફોનમાં આ નેટવર્ક સાચવવા માગે છે"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"<xliff:g id="APPNAME">%1$s</xliff:g> તમારા ટૅબ્લેટમાં નેટવર્ક સાચવવા માગે છે"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"સાચવી રહ્યાં છીએ…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"સાચવ્યું"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"સાચવી શકતાં નથી. ફરી પ્રયાસ કરો."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"નેટવર્કને સાચવીએ?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"<xliff:g id="APPNAME">%1$s</xliff:g> તમારા ફોનમાં આ બધાં નેટવર્ક સાચવવા માગે છે"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"<xliff:g id="APPNAME">%1$s</xliff:g> તમારા ટૅબ્લેટમાં આ નેટવર્કને સાચવવા માગે છે"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"<xliff:g id="NUMBER">%d</xliff:g> નેટવર્ક સાચવી રહ્યાં છીએ…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"નેટવર્ક સાચવ્યાં"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"વાઇ-ફાઇ કૉલિંગ"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"વાઇ-ફાઇ વડે કૉલ વધારો"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"કવરેજ વધારવા માટે વાઇ-ફાઇ કૉલિંગ ચાલુ કરો"</string>
@@ -1138,16 +1093,18 @@
     <string name="emergency_address_title" msgid="3490633500025717573">"કટોકટીનું સરનામું"</string>
     <string name="emergency_address_summary" msgid="3022628750270626473">"જ્યારે તમે વાઇ-ફાઇનો ઉપયોગ કરીને કોઈ કટોકટીનો કૉલ કરો તો તેનો તમારા સ્થાન તરીકે ઉપયોગ કરવામાં આવશે"</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>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"વાઇ-ફાઇ કૉલિંગ સક્રિય કરો"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"વાઇ-ફાઇ કૉલિંગ ચાલુ કરો"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"%1$s માટે વાઇ-ફાઇ કૉલિંગ સમર્થિત નથી"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"<xliff:g id="SSID">%1$s</xliff:g>થી ડિસ્કનેક્ટ થયા"</string>
     <string name="carrier" msgid="1755020806290963951">"કૅરિઅર"</string>
     <string name="display_settings_title" msgid="626835071804834218">"ડિસ્પ્લે"</string>
     <string name="sound_settings" msgid="5514582720435174014">"ધ્વનિ"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"વૉલ્યૂમ્સ"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"સંગીત પ્રભાવો"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"રિંગ વૉલ્યુમ"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"રિંગ અને નોટિફિકેશનનું વૉલ્યુમ"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"શાંત હોય ત્યારે વાઇબ્રેટ કરો"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"નોટિફિકેશન માટે ડિફૉલ્ટ ધ્વનિ"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"રિંગટોન"</string>
@@ -1272,13 +1229,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"શેડ્યૂલ કરો"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"એકપણ નહીં"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"સૂર્યાસ્તથી સૂર્યોદય સુધી ચાલુ"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"કસ્ટમ સમયે ચાલુ થાય છે"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"સ્ટેટસ"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"બંધ / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"ક્યારેય ઑટોમૅટિક રીતે ચાલુ નહીં થાય"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"સૂર્યાસ્ત સમયે ઑટોમૅટિક રીતે ચાલુ થઈ જશે"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"<xliff:g id="ID_1">%1$s</xliff:g> વાગ્યે ઑટોમૅટિક રીતે ચાલુ થઈ જશે"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"ચાલુ / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"ક્યારેય ઑટોમૅટિક રીતે બંધ નહીં થાય"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"સૂર્યોદય સમયે ઑટોમૅટિક રીતે બંધ થઈ જશે"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"<xliff:g id="ID_1">%1$s</xliff:g> વાગ્યે ઑટોમૅટિક રીતે બંધ થઈ જશે"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"<xliff:g id="ID_1">%1$s</xliff:g> સુધી ચાલુ રાખો"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"<xliff:g id="ID_1">%1$s</xliff:g> સુધી બંધ રાખો"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"અમુક સ્ક્રીન પર તમારી બૅટરીને વધુ લાંબો સમય ટકાવી રાખવામાં સહાય કરવા માટે ઘેરી થીમ કાળા બૅકગ્રાઉન્ડનો ઉપયોગ કરે છે. તમારી સ્ક્રીન બંધ ન થાય ત્યાં સુધી ઘેરી થીમ શેડ્યૂલ ચાલુ થવાની રાહ જુએ છે."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"સ્ક્રીનનો સમય સમાપ્ત"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"સ્ક્રીન બંધ કરે છે"</string>
@@ -1290,7 +1252,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"વૉલપેપર બદલો"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"તમારી સ્ક્રીનને વ્યક્તિગત કરો"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"આમાંથી વૉલપેપર પસંદ કરો"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"તમારા Pixelને કસ્ટમાઇઝ કરો"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"તમારા ફોનને કસ્ટમાઇઝ કરો"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"અલગ-અલગ શૈલીઓ, વૉલપેપર અને બીજું ઘણું અજમાવી જુઓ"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"સ્ક્રીન સેવર"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"ચાર્જ થતું હોય અથવા ડૉક કરેલ હોય ત્યારે"</string>
@@ -1379,6 +1341,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"USB સંગ્રહને અનમાઉન્ટ કરો, ઉપલબ્ધ સંગ્રહ જુઓ"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"SD કાર્ડ અનમાઉન્ટ કરો, ઉપલબ્ધ સંગ્રહ જુઓ"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (સિમ સ્લૉટ %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"જોવા માટે, સાચવેલું નેટવર્ક પસંદ કરો"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"ફોન નંબર"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (સિમ સ્લૉટ %1$d)"</string>
@@ -1405,6 +1368,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"રોમિંગ"</string>
     <string name="status_operator" msgid="4335640583552058491">"નેટવર્ક"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"વાઇ-ફાઇ MAC ઍડ્રેસ"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"ડિવાઇસનું વાઇ-ફાઇ MAC ઍડ્રેસ"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"બ્લૂટૂથ ઍડ્રેસ"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"શૃંખલા ક્રમાંક"</string>
     <string name="status_up_time" msgid="1274778533719495438">"ચાલુ થયાનો સમય"</string>
@@ -1617,6 +1581,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"ડિફોલ્ટ APN સેટિંગ્સ ફરીથી સેટ કરો પૂર્ણ થયું."</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"રીસેટ માટેના વિકલ્પો"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"નેટવર્ક, ઍપ અથવા ઉપકરણ રીસેટ કરી શકાય છે"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"ઍપ રીસેટ થઈ શકે છે"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"વાઇ-ફાઇ, મોબાઇલ અને બ્લૂટૂથ રીસેટ કરો"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"આ બધી નેટવર્ક સેટિંગ્સ ફરીથી સેટ કરશે, જેમાં સમાવિષ્ટ છે: \n\n"<li>"Wi‑Fi"</li>\n<li>"મોબાઇલ ડેટા"</li>\n<li>"Bluetooth"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"ડાઉનલોડ કરેલાં સિમ કાઢી નખાશે"</string>
@@ -1666,6 +1631,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"હૉટસ્પૉટ ચાલુ છે"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"ટિથરિંગ"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"ડેટા સેવર ચાલુ હોય તે વખતે ટીથર કરી શકતાં નથી અથવા તો પોર્ટેબલ હોટસ્પોટ્સનો ઉપયોગ કરી શકતાં નથી"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"ફક્ત હૉટસ્પૉટ"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"ફક્ત USB"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"ફક્ત બ્લૂટૂથ"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"હૉટસ્પૉટ, USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"હૉટસ્પૉટ, બ્લૂટૂથ"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB, બ્લૂટૂથ"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"હૉટસ્પૉટ, USB, બ્લૂટૂથ"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"અન્ય ડિવાઇસ સાથે ઇન્ટરનેટ શેર કરી રહ્યાં નથી"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"ઇન્ટરનેટ શેર કરવાની સુવિધા"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"વાઇ-ફાઇ હૉટસ્પૉટનો ઉપયોગ કરશો નહીં"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"ફક્ત USB મારફતે ઇન્ટરનેટ શેર કરો"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"ફક્ત બ્લૂટૂથ મારફતે ઇન્ટરનેટ શેર કરો"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"ફક્ત USB અને બ્લૂટૂથ મારફતે ઇન્ટરનેટ શેર કરો"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB ટિથરિંગ"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"USB મારફતે ફોનનું ઇન્ટરનેટ કનેક્શન શેર કરો"</string>
@@ -1756,9 +1734,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"સલામતી માહિતી"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"તમારી પાસે ડેટા કનેક્શન નથી. આ માહિતી હમણાં જોવા માટે, ઇન્ટરનેટ સાથે કનેક્ટ થયેલ કોઈપણ કમ્પ્યુટરથી %s પર જાઓ."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"લોડ કરી રહ્યું છે..."</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"પિનનો ઉપયોગ કરો"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"પૅટર્નનો ઉપયોગ કરો"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"પાસવર્ડનો ઉપયોગ કરો"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"સ્ક્રીન લૉક સેટ કરો"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"સુરક્ષા માટે, પાસવર્ડ સેટ કરો"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"ફિંગરપ્રિન્ટ વાપરવા પાસવર્ડ સેટ કરો"</string>
@@ -1767,8 +1742,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"ફિંગરપ્રિન્ટ વાપરવા પિન સેટ કરો"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"સુરક્ષા માટે, પૅટર્ન સેટ કરો"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"તમારો પાસવર્ડ ફરી દાખલ કરો"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"તમારા કાર્યાલયનો પાસવર્ડ દાખલ કરો"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"તમારા પેટર્નની પુષ્ટિ કરો"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"કાર્યાલયની પૅટર્ન દાખલ કરો"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"તમારો પિન ફરી દાખલ કરો"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"તમારા કાર્યાલયનો પિન દાખલ કરો"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"પાસવર્ડ્સ મેળ ખાતા નથી"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"પિન મેળ ખાતા નથી"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"તમારી પૅટર્ન ફરીથી દોરો"</string>
@@ -1779,6 +1757,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"ફેસ અનલૉકનો ઉપયોગ કરવા, પાસવર્ડ સેટ કરો"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"ફેસ અનલૉકનો ઉપયોગ કરવા, પૅટર્ન સેટ કરો"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"ફેસ અનલૉકનો ઉપયોગ કરવા, પિન સેટ કરો"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"તમારો પાસવર્ડ ભૂલી ગયાં?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"તમારા પૅટર્નને ભૂલી ગયાં?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"તમારો પિન ભૂલી ગયાં?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"ચાલુ રાખવા માટે તમારી ઉપકરણ પેટર્નનો ઉપયોગ કરો"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"ચાલુ રાખવા માટે તમારો ઉપકરણ પિન દાખલ કરો"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"ચાલુ રાખવા માટે તમારા ઉપકરણનો પાસવર્ડ દાખલ કરો"</string>
@@ -1846,6 +1827,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"બધા ઍપ્લિકેશન સ્રોતોને મંજૂરી આપો"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"તાજેતરમાં ખોલેલી ઍપ્લિકેશનો"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"બધી <xliff:g id="COUNT">%1$d</xliff:g> ઍપ્લિકેશન જુઓ"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"તમારા IT વ્યવસ્થાપકનો સંપર્ક કરો"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"તેઓ તમારા પિન, પૅટર્ન અથવા પાસવર્ડને રીસેટ કરવામાં તમારી સહાય કરી શકે છે"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"તમારું ટૅબ્લેટ અને વ્યક્તિગત ડેટા અજાણી ઍપ્લિકેશનોના હુમલા પ્રતિ વધુ સંવેદનશીલ છે. આ સ્રોત પરથી ઍપ્લિકેશનો ઇન્સ્ટૉલ કરીને તમે સંમત થાઓ છો કે તેમનો ઉપયોગ કરવાના પરિણામે તમારા ટૅબ્લેટને થતી કોઈ પણ ક્ષતિ કે ડેટાના નુકસાન માટે તમે જવાબદાર છો."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"તમારો ફોન અને વ્યક્તિગત ડેટા અજાણી ઍપ્લિકેશનોના હુમલા પ્રતિ વધુ સંવેદનશીલ છે. આ સ્રોત પરથી ઍપ્લિકેશનો ઇન્સ્ટૉલ કરીને તમે સંમત થાઓ છો કે તેમનો ઉપયોગ કરવાના પરિણામે તમારા ફોનને થતી કોઈ પણ ક્ષતિ કે ડેટાના નુકસાન માટે તમે જવાબદાર છો."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"તમારું ઉપકરણ અને વ્યક્તિગત ડેટા અજાણી ઍપના હુમલા પ્રતિ વધુ સંવેદનશીલ છે. આ સ્રોત પરથી ઍપ ઇન્સ્ટૉલ કરીને, તમે સંમત થાઓ છો કે તેમનો ઉપયોગ કરવાના પરિણામે તમારા ઉપકરણને થતી કોઈ પણ ક્ષતિ કે ડેટાના નુકસાન માટે તમે જવાબદાર છો."</string>
@@ -1897,7 +1880,7 @@
     <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="1377296810290814749">"આ માટેની તમામ પસંદગીઓને ફરીથી સેટ કરશે:\n\n "<li>"બંધ કરેલી ઍપ્લિકેશનો"</li>\n" "<li>"બંધ કરેલ ઍપ્લિકેશનના નોટિફિકેશનો"</li>\n" "<li>"ક્રિયા માટેની ડિફૉલ્ટ ઍપ્લિકેશનો"</li>\n" "<li>"ઍપ્લિકેશનોનાં બૅકગ્રાઉન્ડ ડેટા પ્રતિબંધો"</li>\n" "<li>"કોઈપણ પરવાનગી પ્રતિબંધો"</li>\n\n"તમે કોઈપણ ઍપ્લિકેશન ડેટા ગુમાવશો નહીં."</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>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"ઍપ્લિકેશનો ફરીથી સેટ કરો"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"સ્થાન સંચાલિત કરો"</string>
     <string name="filter" msgid="9039576690686251462">"ફિલ્ટર"</string>
@@ -2097,7 +2080,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"ઑડિઓ અને સ્ક્રીન પરની ટેક્સ્ટ"</string>
     <string name="display_category_title" msgid="6638191682294461408">"ડિસ્પ્લે"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"ક્રિયાપ્રતિક્રિયાના નિયંત્રણો"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"ડાઉનલોડ કરેલ સેવાઓ"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"ડાઉનલોડ કરેલી ઍપ"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"પ્રાયોગિક"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"સુવિધાની માહિતી દર્શાવતા ફ્લેગ"</string>
     <string name="talkback_title" msgid="8756080454514251327">"ટૉકબૅક"</string>
@@ -2105,27 +2088,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"તમારી સ્ક્રીન પરની આઇટમો મોટેથી વંચાઈને સાંભળવા માટે તેમને ટૅપ કરો"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"કૅપ્શનની પસંદગીઓ"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"વિસ્તૃતીકરણ"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"વિસ્તૃતીકરણ ક્ષેત્ર"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"વિસ્તૃતીકરણ ચાલુ"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"સ્ક્રીનનો વિસ્તાર કરો, ત્યારે તમે ઉપયોગ કરવા માગો છો તે વિસ્તૃતીકરણ ક્ષેત્રને પસંદ કરો"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"પૂર્ણ સ્ક્રીન"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"સ્ક્રીનનો ભાગ"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"પૂર્ણ સ્ક્રીન અને સ્ક્રીનનો ભાગ"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"સંપૂર્ણ સ્ક્રીનનો વિસ્તાર કરો"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"સ્ક્રીનના ભાગનો વિસ્તાર કરો"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"સ્ક્રીન મોટી કરવાનું સેટિંગ"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"ત્રણ-ટૅપ વડે વિસ્તૃત કરો"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"શૉર્ટકટ વડે વિસ્તૃત કરો"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"શૉર્ટકટ વડે વિસ્તૃત કરો અને ત્રણ વાર ટૅપ કરો"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"<xliff:g id="SERVICE">%1$s</xliff:g> વિશે"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"વિકલ્પો"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"સ્ક્રીન પર ઝૂમ વધારો"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"ઝૂમ કરવા માટે 3 વખત ટૅપ કરો"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"ઝૂમ કરવા માટે બટન ટૅપ કરો"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><b>"ઝૂમ કરવા માટે"</b>", સ્ક્રીનને ઝડપથી 3 વાર ટૅપ કરો.\n"<ul><li>"સ્ક્રોલ કરવા માટે 2 કે વધુ આંગળીઓને ખેંચો"</li>\n<li>"ઝૂમ ગોઠવવા માટે 2 કે વધુ આંગળીથી પિંચ કરો"</li></ul>\n\n<b>"અસ્થાયી રૂપે ઝૂમ કરવા માટે"</b>", સ્ક્રીનને ઝડપથી 3 વાર ટૅપ કરો અને ત્રીજા ટૅપ પર તમારી આંગળીને દબાવી રાખો.\n"<ul><li>"સ્ક્રીન પર આસપાસ ખસેડવા માટે ખેંચો"</li>\n<li>"ઝૂમ ઘટાડવા માટે આંગળી ઉઠાવી લો"</li></ul>\n\n"તમે કીબોર્ડ અને નેવિગેશન બાર પર ઝૂમ વધારી શકતાં નથી."</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"જ્યારે મેગ્નિફિકેશન ચાલુ હોય, ત્યારે તમે તમારી સ્ક્રીનને મોટી કરી શકો છો.\n\n"<b>"નાનું-મોટું કરવા માટે"</b>", મેગ્નિફિકેશન શરૂ કરો, પછી સ્ક્રીન પર ક્યાંય પણ ટૅપ કરો.\n"<ul><li>"• સ્ક્રોલ કરવા માટે 2 કે તેથી વધુ આંગળીઓને ખેંચો"</li>\n<li>"• નાના-મોટાની ગોઠવણી માટે 2 કે તેથી વધુ આંગળીઓને પિન્ચ કરો"</li></ul>\n\n<b>"અસ્થાયીરૂપે નાનું-મોટું કરવા માટે"</b>", મેગ્નિફિકેશન શરૂ કરો, પછી સ્ક્રીન પર ક્યાંય પણ ટચ કરીને થોડીવાર દબાવી રાખો.\n"<ul><li>"• સ્ક્રીન પર આજુબાજુ લઈ જવા માટે ખેંચો"</li>\n<li>"• નાનું કરવા માટે આંગળી ઉઠાવી લો"</li></ul>\n\n"તમે કીબોર્ડ અથવા નૅવિગેશન બાર પર મોટું કરી શકતા નથી."</string>
+    <string name="accessibility_screen_magnification_summary" msgid="7617931632990040045">"કન્ટેન્ટને વધુ સ્પષ્ટપણે જોવા માટે સ્ક્રીનને ઝડપથી મોટી કરો.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;મોટી કરવા માટે:&lt;/b&gt;&lt;br/&gt;	1. મોટું કરવાનું શરૂ કરવા માટેના શૉર્ટકટનો ઉપયોગ કરો&lt;br/&gt;	2. સ્ક્રીન પર ટૅપ કરો&lt;br/&gt;	3. સ્ક્રીન પર આમ-તેમ જોવા માટે 2 આંગળીને ખેંચો&lt;br/&gt;	4. નાનું-મોટું કરવાનું ગોઠવવા માટે 2 આંગળી વડે પિન્ચ કરો&lt;br/&gt;	5. મોટું કરવાનું રોકવા માટેના શૉર્ટકટનો ઉપયોગ કરો&lt;br/&gt;&lt;br/&gt;&lt;b&gt;હંગામી રૂપે મોટું કરવા માટે:&lt;/b&gt;&lt;br/&gt;	1. મોટું કરવાનું શરૂ કરવા માટેના શૉર્ટકટનો ઉપયોગ કરો&lt;br/&gt;	2. સ્ક્રીન પર ગમે-ત્યાં આંગળી દબાવીને રાખો&lt;br/&gt;	3. સ્ક્રીન પર આમ-તેમ જોવા માટે આંગળીને ખેંચો&lt;br/&gt;	4. મોટું કરવાનું રોકવા માટે આંગળીને ઉઠાવી લો"</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"જ્યારે મેગ્નિફિકેશન ચાલુ હોય, ત્યારે તમે તમારી સ્ક્રીનને મોટી કરી શકો છો.\n\n"<b>"નાનું-મોટું કરવા માટે"</b>", મેગ્નિફિકેશન શરૂ કરો, પછી સ્ક્રીન પર ક્યાંય પણ ટૅપ કરો.\n"<ul><li>"સ્ક્રોલ કરવા માટે 2 કે તેથી વધુ આંગળી વડે ખેંચો"</li>\n<li>"નાનું-મોટું ગોઠવવા માટે 2 કે તેથી વધુ આંગળીથી પિન્ચ કરો"</li></ul>\n\n<b>"અસ્થાયી રૂપે નાનું-મોટું કરવા માટે"</b>", મેગ્નિફિકેશન શરૂ કરો, પછી સ્ક્રીન પર ગમે ત્યાં ટચ કરીને થોડીવાર દબાવી રાખો.\n"<ul><li>"સમગ્ર સ્ક્રીન પર આવવા-જવા માટે તમારી આંગળીને ખેંચો"</li>\n<li>"નાનું કરવા માટે તમારી આંગળીને ઉઠાવી લો"</li></ul>\n\n"તમે કીબોર્ડ અથવા નૅવિગેશન બાર પર મોટું કરી શકતાં નથી."</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"ખોલવા માટે ઍક્સેસિબિલિટી બટનનો ઉપયોગ કરો"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"ખોલવા માટે સંકેતનો ઉપયોગ કરો"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"નવા ઍક્સેસિબિલિટી સંકેતનો ઉપયોગ કરો"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"આ સેવાને ચાલુ કે બંધ કરવા માટે, તમારી સ્ક્રીનમાં નીચેની બાજુએ રહેલા ઍક્સેસિબિલિટી બટન <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>ને ટૅપ કરો.\n\nકોઈ એક સેવાથી બીજી સેવા પર સ્વિચ કરવા માટે, ઍક્સેસિબિલિટી બટનને ટચ કરીને થોડીવાર દબાવી રાખો."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"આ સેવાને ચાલુ કે બંધ કરવા માટે, બે આંગળીઓ વડે સ્ક્રીનની નીચેના ભાગથી ઉપરની તરફ સ્વાઇપ કરો.\n\nકોઈ એક સેવાથી બીજી સેવા પર સ્વિચ કરવા માટે, બે આંગળીઓ વડે સ્ક્રીનની ઉપરની તરફ સ્વાઇપ કરીને દબાવી રાખો."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"આ સેવાને ચાલુ કે બંધ કરવા માટે, ત્રણ આંગળીઓ વડે સ્ક્રીનની નીચેના ભાગથી ઉપરની તરફ સ્વાઇપ કરો.\n\nએક સેવાથી બીજી સેવા પર સ્વિચ કરવા માટે, ત્રણ આંગળીઓ વડે સ્ક્રીનની ઉપરની તરફ સ્વાઇપ કરીને દબાવી રાખો."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"ઍક્સેસિબિલિટી સેવાને ચાલુ કે બંધ કરવા માટે, બે આંગળીઓ વડે સ્ક્રીનની નીચેના ભાગથી ઉપરની તરફ સ્વાઇપ કરો.\n\nકોઈ એક સેવાથી બીજી સેવા પર સ્વિચ કરવા માટે, બે આંગળીઓ વડે સ્ક્રીનની ઉપરની તરફ સ્વાઇપ કરીને દબાવી રાખો."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"ઍક્સેસિબિલિટી સેવાને ચાલુ કે બંધ કરવા માટે, ત્રણ આંગળીઓ વડે સ્ક્રીનની નીચેના ભાગથી ઉપરની તરફ સ્વાઇપ કરો.\n\nકોઈ એક સેવાથી બીજી સેવા પર સ્વિચ કરવા માટે, ત્રણ આંગળીઓ વડે સ્ક્રીનની ઉપરની તરફ સ્વાઇપ કરીને દબાવી રાખો."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"આ સેવાને ચાલુ કે બંધ કરવા માટે, તમારી સ્ક્રીનમાં નીચેની બાજુએ રહેલા ઍક્સેસિબિલિટી બટન <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>ને ટૅપ કરો.\n\nકોઈ એક સેવાથી બીજી સેવા પર સ્વિચ કરવા માટે, ઍક્સેસિબિલિટી બટનને ટચ કરીને થોડીવાર દબાવી રાખો."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"આ સેવાને ચાલુ કે બંધ કરવા માટે, બે આંગળી વડે સ્ક્રીનના નીચેના ભાગથી ઉપરની તરફ સ્વાઇપ કરો.\n\nકોઈ એક સેવાથી બીજી સેવા પર સ્વિચ કરવા માટે, બે આંગળી વડે ઉપરની તરફ સ્વાઇપ કરીને દબાવી રાખો."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"આ સેવાને ચાલુ કે બંધ કરવા માટે, ત્રણ આંગળી વડે સ્ક્રીનની નીચેના ભાગથી ઉપરની તરફ સ્વાઇપ કરો.\n\nએક સેવાથી બીજી સેવા પર સ્વિચ કરવા માટે, ત્રણ આંગળી વડે ઉપરની તરફ સ્વાઇપ કરીને દબાવી રાખો."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"ઍક્સેસિબિલિટી સેવાને ચાલુ કે બંધ કરવા માટે, બે આંગળી વડે સ્ક્રીનની નીચેના ભાગથી ઉપરની તરફ સ્વાઇપ કરો.\n\nકોઈ એક સેવાથી બીજી સેવા પર સ્વિચ કરવા માટે, બે આંગળી વડે ઉપરની તરફ સ્વાઇપ કરીને દબાવી રાખો."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"ઍક્સેસિબિલિટી સેવાને ચાલુ કે બંધ કરવા માટે, ત્રણ આંગળી વડે સ્ક્રીનની નીચેના ભાગથી ઉપરની તરફ સ્વાઇપ કરો.\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="2820923641553461297">"ઍક્સેસિબિલિટી બટન"</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="8922102767509399352">"તમારી સ્ક્રીનની નીચેની બાજુ આવેલા ઍક્સેસિબિલિટી બટન <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>ને ટૅપ કરો"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"2 આંગળી વડે સ્ક્રીનના નીચેના ભાગથી ઉપરની તરફ સ્વાઇપ કરો"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"3 આંગળી વડે સ્ક્રીનના નીચેના ભાગથી ઉપરની તરફ સ્વાઇપ કરો"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"વૉલ્યૂમ કી દબાવી રાખો"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"બન્ને વૉલ્યૂમ કીને 1 સેકન્ડ સુધી દબાવી રાખો"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"સ્ક્રીનને ત્રણ વાર ટૅપ કરો"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"સ્ક્રીનને ઝડપથી 3 વાર ટૅપ કરો. આ શૉર્ટકટ તમારા ડિવાઇસને ધીમું કરી શકે છે."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"વિગતવાર"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"ઍક્સેસિબિલિટી બટનને <xliff:g id="SERVICE">%1$s</xliff:g> પર સેટ કરેલું છે. વિસ્તૃતીકરણનો ઉપયોગ કરવા માટે, ઍક્સેસિબિલિટી બટનને દબાવી રાખો, પછી વિસ્તૃતીકરણ પસંદ કરો."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"ઍક્સેસિબિલિટી સંકેત <xliff:g id="SERVICE">%1$s</xliff:g>.પર સેટ કરવામાં આવ્યો છે. વિસ્તૃતીકરણનો ઉપયોગ કરવા માટે, સ્ક્રીનના નીચેના ભાગથી બે આંગળી વડે ઉપર સ્વાઇપ કરો અને હોલ્ડ કરી રાખો. ત્યાર બાદ વિસ્તૃતીકરણ પસંદ કરો."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"વૉલ્યૂમ કી શૉર્ટકટ"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"શૉર્ટકટ સેવા"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"શૉર્ટકટ સેટિંગ"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"લૉક સ્ક્રીન પરથી મંજૂરી આપો"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"જ્યારે શૉર્ટકટ ચાલુ હોય, ત્યારે ઍક્સેસિબિલિટી સુવિધા શરૂ કરવા માટે તમે બન્ને વૉલ્યૂમ કીને 3 સેકન્ડ સુધી દબાવી રાખી શકો છો."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"ઉચ્ચ કોન્ટ્રાસ્ટ ટેક્સ્ટ"</string>
@@ -2149,24 +2157,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"તમને ક્રિયા કરવાનું કહેતાં હોય, પરંતુ હંગામી રૂપે દેખાતા સંદેશાને કેટલા સમય સુધી દેખાડવા તે પસંદ કરો.\n\nઆ સેટિંગની સુવિધા બધી ઍપમાં નથી હોતી."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"ટચ કરી અને પકડવા પર વિલંબ"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"રંગ બદલવાની સુવિધા"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"કાર્યપ્રદર્શનને અસર થઈ શકે છે"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"જોવાયાનો સમયગાળો"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"રંગ બદલવાની સુવિધાનો ઉપયોગ કરો"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"રંગ બદલવાની સુવિધાથી ઝાંખી સ્ક્રીન ઘેરી બની જાય છે. આનાથી તેજ પ્રકાશને લીધે મુશ્કેલી અનુભવતા લોકોને સ્ક્રીનને વધુ સહેલાઈથી જોવામાં સહાય મળી રહે છે.&lt;br/&gt;&lt;br/&gt;નોંધ: ઘેરા રંગ આછા થઈ જશે. મીડિયા અને છબીઓમાં રંગ બદલાઈ જશે. તમે ઘેરી થીમ (સેટિંગ > ડિસ્પ્લે)નો પણ ઉપયોગ કરી શકો છો."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"ઑટો ક્લિક (જોવાયાનો સમયગાળો)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"જો તમે માઉસનો ઉપયોગ કરી રહ્યાં હોય, તો જ્યારે કર્સર અમુક ચોક્કસ સમય માટે કાર્ય કરતું રોકાઈ જાય ત્યારે તમે તેને આપમેળે ક્રિયા કરવા માટે સેટ કરી શકો છો."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"ક્લિક કરતાં પહેલાં વિલંબ"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"ઑટો ક્લિક વાપરશો નહીં (ડિફૉલ્ટ)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"ટૂંકુ"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0.2 સેકન્ડ"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"મધ્યમ"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0.6 સેકન્ડ"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"લાંબુ"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 સેકન્ડ"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"કસ્ટમ"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"ઓછો"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"વધુ"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"ઑટો ક્લિકનો સમય"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"વાઇબ્રેશન અને હૅપ્ટિક સ્ટ્રેન્થ"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"નોટિફિકેશન વાઇબ્રેશન"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"રિંગ વાઇબ્રેશન"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"પ્રતિસાદને ટચ કરો"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"સેવાનો ઉપયોગ કરો"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>નો ઉપયોગ કરો"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g> ખોલો"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"રંગ સુધારણાનો ઉપયોગ કરો"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"કૅપ્શનનો ઉપયોગ કરો"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"કૅપ્શન બતાવો"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"કૅપ્શનનું પ્રદર્શન"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"ટેક્સ્ટનું કદ, કૅપ્શનની શૈલી"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"વધુ વિકલ્પો"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"બધી ઍપ પર આ સેટિંગની સુવિધા નથી."</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"ઍક્સેસિબિલિટી બટન"</string>
+    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"નીચેથી 2 આંગળી વડે ઉપર સ્વાઇપ કરો"</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>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"શ્રવણ યંત્રો"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"કોઈ શ્રવણ યંત્ર કનેક્ટ કરેલ નથી"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"શ્રવણ યંત્રો ઉમેરો"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"શ્રવણ યંત્રને જોડવા માટે, તમારા ઉપકરણને આગળની સ્ક્રીન પર શોધો અને ટૅપ કરો."</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"ખાતરી કરો કે શ્રવણ યંત્રો જોડી કરવાના મોડમાં છે."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"સાંભળવામાં મદદ આપતા યંત્રનું જોડાણ કરવા માટે, આગળની સ્ક્રીન પર તમારા ડિવાઇસને શોધો અને તેના પર ટૅપ કરો. ખાતરી કરો કે સાંભળવામાં મદદ આપતા યંત્રો જોડાણ બનાવવાના મોડમાં છે."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> સક્રિય"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> શ્રવણ યંત્રો સાચવ્યા</item>
@@ -2178,25 +2204,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"આ સેવા કાર્ય કરતી નથી."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"ઝડપી સેટિંગ્સમાં બતાવો"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"સુધારણા મોડ"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="one">અત્યંત ટૂંકો વિલંબ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> મિલિસેકંડ)</item>
-      <item quantity="other">અત્યંત ટૂંકો વિલંબ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> મિલિસેકંડ)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"લાલ-લીલો"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"લીલો-લાલ"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"વાદળી-પીળો"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"ડ્યૂટેરેનોમલી"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"પ્રોટેનોમલી"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"ટ્રાઇટેનોમલી"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="one">અત્યંત ટૂંકો વિલંબ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> સેકન્ડ)</item>
+      <item quantity="other">અત્યંત ટૂંકો વિલંબ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> સેકન્ડ)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="one">ખૂબ ટૂંકો વિલંબ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> મિલિસેકંડ)</item>
-      <item quantity="other">ખૂબ ટૂંકો વિલંબ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> મિલિસેકંડ)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="one">ખૂબ ટૂંકો વિલંબ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> સેકન્ડ)</item>
+      <item quantity="other">ખૂબ ટૂંકો વિલંબ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> સેકન્ડ)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="one">ટૂંકો વિલંબ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> મિલિસેકંડ)</item>
-      <item quantity="other">ટૂંકો વિલંબ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> મિલિસેકંડ)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="one">ટૂંકો વિલંબ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> સેકન્ડ)</item>
+      <item quantity="other">ટૂંકો વિલંબ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> સેકન્ડ)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="one">લાંબો વિલંબ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> મિલિસેકંડ)</item>
-      <item quantity="other">લાંબો વિલંબ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> મિલિસેકંડ)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="one">લાંબો વિલંબ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> સેકન્ડ)</item>
+      <item quantity="other">લાંબો વિલંબ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> સેકન્ડ)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="one">ખૂબ લાંબો વિલંબ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> મિલિસેકંડ)</item>
-      <item quantity="other">ખૂબ લાંબો વિલંબ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> મિલિસેકંડ)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="one">ખૂબ લાંબો વિલંબ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> સેકન્ડ)</item>
+      <item quantity="other">ખૂબ લાંબો વિલંબ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> સેકન્ડ)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> સેકન્ડ</item>
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> સેકન્ડ</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"રિંગ વગાડો <xliff:g id="SUMMARY_RING">%1$s</xliff:g>, નોટિફિકેશન મોકલો <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>, સ્પર્શ કરો <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"રિંગ અને નોટિફિકેશનના વાઇબ્રેશનને બંધ પર સેટ કર્યું"</string>
@@ -2513,7 +2549,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"જ્યારે છેલ્લે <xliff:g id="UNPLUGGED">%1$s</xliff:g> માટે અનપ્લગ કર્યું હતું"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"કુલ વપરાશ"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"તાજું કરો"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"Android OS"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"Mediaserver"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"ઍપ્લિકેશન ઓપ્ટિમાઇઝેશન"</string>
     <string name="battery_saver" msgid="7737147344510595864">"બૅટરી સેવર"</string>
@@ -2594,8 +2629,7 @@
     <string name="tts_play" msgid="2945513377250757221">"ચલાવો"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"ઓળખપત્ર સ્ટોરેજ"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"સંગ્રહમાંથી ઇન્સ્ટોલ કરો"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"SD કાર્ડથી ઇન્સ્ટોલ કરો"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"પ્રમાણપત્ર ઇન્સ્ટૉલ કરો"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"સંગ્રહમાંથી પ્રમાણપત્રો ઇન્સ્ટોલ કરો"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"SD કાર્ડથી પ્રમાણપત્રો ઇન્સ્ટોલ કરો"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"ઓળખપત્રો સાફ કરો"</string>
@@ -2615,6 +2649,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"ઓળખપત્ર સ્ટોરેજ ભૂસી નાખ્યું છે."</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"ઓળખપત્ર સ્ટોરેજ ભૂસી શકાયો નથી."</string>
     <string name="usage_access_title" msgid="1580006124578134850">"વપરાશ ઍક્સેસ સાથેની ઍપ"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"CA પ્રમાણપત્ર"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"VPN &amp; ઍપ વપરાશકર્તા પ્રમાણપત્ર"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"વાઇફાઇ પ્રમાણપત્ર"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"તમારી પ્રાઇવસી જોખમમાં છે"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"એન્ક્રિપ્શન માટે CA પ્રમાણપત્રનો ઉપયોગ વેબસાઇટ, ઍપ અને VPNs દ્વારા કરવામાં આવે છે. તમે વિશ્વાસ કરો છો તે સંસ્થાઓના જ CA પ્રમાણપત્ર ઇન્સ્ટૉલ કરો. \n\n જો તમે CA પ્રમાણપત્ર ઇન્સ્ટૉલ કરો છો, તો પ્રમાણપત્રના માલિક તમે મુલાકાત લો છો તે વેબસાઇટની અથવા તમે ઉપયોગમાં લો છો તે ઍપ પરથી પાસવર્ડ, સંદેશા અથવા ક્રેડિટ કાર્ડની વિગતો જેવી તમારી માહિતીને ઍક્સેસ કરી શકે છે - પછી ભલેને તે માહિતી એન્ક્રિપ્ટેડ હોય."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"ઇન્સ્ટૉલ કરશો નહીં"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"કોઈપણ રીતે ઇન્સ્ટૉલ કરો"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"પ્રમાણપત્ર ઇન્સ્ટૉલ નથી કર્યું"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"કટોકટી સમયે ડાયલનું સિગ્નલ"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"જ્યારે કટોકટીનો કૉલ કરવામાં આવે ત્યારે વર્તન સેટ કરો"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"બૅકઅપ"</string>
@@ -2642,10 +2684,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"નિષ્ક્રિય અને અનઇન્સ્ટૉલ કરો"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"ડિવાઇસ વ્યવસ્થાપક ઍપ્લિકેશનો"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"કોઈ ઉપકરણ વ્યવસ્થાપક ઍપ્લિકેશનો ઉપલબ્ધ નથી"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"વ્યક્તિગત"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"કાર્યાલય"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"SMS અને કૉલ લૉગનો અ‍ૅક્સેસ પ્રતિબંધિત કરો"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"માત્ર ડિફૉલ્ટ ફોન અને સંદેશ માટેની અ‍ૅપ પાસે SMS અને કૉલ લૉગની પરવાનગીઓ હોય છે"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"કોઈ ઉપલબ્ધ ટ્રસ્ટ એજન્ટ્સ નથી"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"ઉપકરણ વ્યવસ્થાપક ઍપ્લિકેશન સક્રિય કરીએ?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"આ ઉપકરણ વ્યવસ્થાપક ઍપ્લિકેશન સક્રિય કરો"</string>
@@ -2659,6 +2697,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"તમારા વ્યવસ્થાપકે અન્ય વિકલ્પો અક્ષમ કરેલા છે"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"વધુ વિગતો"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"નોટિફિકેશન લૉગ"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"સૂચનાનો ઇતિહાસ"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"આજે"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"સ્નૂઝ કરેલ"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"તાજેતરમાં છોડી દેવાયેલ"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="one"><xliff:g id="NUMBER_1">%d</xliff:g> નોટિફિકેશન</item>
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> નોટિફિકેશન</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"કૉલ રિંગટોન અને વાઇબ્રેટ"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"નેટવર્ક વિગતો"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"સમન્વયન સક્ષમ"</string>
@@ -3008,7 +3054,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"પ્રતિબંધો"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"પ્રતિબંધો દૂર કરો"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"પિન બદલો"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"સૂચનાઓ બતાવો"</string>
     <string name="help_label" msgid="2896538416436125883">"સહાય અને પ્રતિસાદ"</string>
     <string name="support_summary" msgid="1034146931237148885">"સહાય લેખ, ફોન અને ચૅટ, પ્રારંભ કરવું"</string>
     <string name="user_account_title" msgid="6389636876210834864">"કન્ટેન્ટ માટે એકાઉન્ટ"</string>
@@ -3033,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G કૉલિંગ"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"વૉઇસ અને અન્ય સંચારોને વધુ સારા બનાવવા માટે LTE સેવાઓનો ઉપયોગ કરો (ભલામણ કરેલ)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"વૉઇસ અને અન્ય સંચારોને વધુ સારા બનાવવા માટે 4G સેવાઓનો ઉપયોગ કરો (ભલામણ કરેલ)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"સંપર્ક શોધી શકવાની ક્ષમતા"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"આ કૉલની કઈ સુવિધાઓને તમારા સંપર્કો સપોર્ટ આપી શકશે, જાણવાની મંજૂરી તમારા કૅરિઅરને આપે છે."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"સંપર્ક શોધી શકવાની ક્ષમતા ચાલુ કરીએ?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"આ સુવિધાને ચાલુ કરવાથી, તમારા સંપર્કોના ફોન નંબર ઍક્સેસ કરવાની તમારા કૅરિઅરને મંજૂરી મળશે જેથી તમારા સંપર્કોના ડિવાઇસ કૉલની કઈ સુવિધાઓને સપોર્ટ કરી શકશે તે તમારા કૅરિઅર જાણી શકશે."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"પસંદગીનો નેટવર્ક પ્રકાર"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (ભલામણ કરેલ)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS સંદેશા"</string>
@@ -3077,7 +3126,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"આની સાથે કૉલ કરો"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"સિમ કાર્ડ પસંદ કરો"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"સિમ <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"સિમ ખાલી છે"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"સિમ નું નામ"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"સિમ નું નામ દાખલ કરો"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"સિમ સ્લોટ %1$d"</string>
@@ -3087,6 +3135,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"સિમ કાર્ડ પસંદ કરો"</string>
     <string name="color_orange" msgid="216547825489739010">"નારંગી"</string>
     <string name="color_purple" msgid="6603701972079904843">"જાંબલી"</string>
+    <string name="color_pink" msgid="8596872110888626708">"ગુલાબી"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"કોઈ સિમ કાર્ડ શામેલ કરેલ નથી"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"સિમ સ્થિતિ"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"સિમની સ્થિતિ (સિમ સ્લૉટ %1$d)"</string>
@@ -3100,7 +3149,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"સિમ કાર્ડ બદલાયા છે."</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"સેટ કરવા માટે ટૅપ કરો"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"આ માટે પસંદગીનું સિમ"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"દર વખતે પૂછો"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"પસંદગી જરૂરી"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"સિમની પસંદગી"</string>
@@ -3118,6 +3166,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"બ્લૂટૂથ, ડ્રાઇવિંગ મોડ"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"બ્લૂટૂથ, NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"બ્લૂટૂથ"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"ઉપલબ્ધ નથી કારણ કે NFC બંધ છે"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"ઍપ્લિકેશનો અને નોટિફિકેશન"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"તાજેતરની ઍપ, ડિફૉલ્ટ ઍપ"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"કાર્યાલયની પ્રોફાઇલમાં ઍપ માટે નોટિફિકેશન ઍક્સેસ ઉપલબ્ધ નથી."</string>
@@ -3128,13 +3177,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"સેટિંગ્સ"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"વાઇફાઇ, વાઇ-ફાઇ, નેટવર્ક કનેક્શન, ઇન્ટરનેટ, વાયરલેસ, ડેટા, વાઇ-ફાઇ"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"વાઇ-ફાઇ નોટિફિકેશન, વાઇફાઇ નોટિફિકેશન"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"ડેટા વપરાશ"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"વાઇબ્રેશન બંધ કરો, ટૅપ કરો, કીબોર્ડ"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"24-કલાકના ફૉર્મેટનો ઉપયોગ કરો"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"ડાઉનલોડ કરો"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"આના વડે ખોલો"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"ઍપ્લિકેશનો"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"સમયઝોન"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"ચૅટ હેડ"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"ચૅટ હેડ, સિસ્ટમ, અલર્ટ, વિંડો, સંવાદ, ડિસ્પ્લે, બીજી ઍપની ઉપર, દોરો"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"ફ્લેશલાઇટ, લાઇટ, ટોર્ચ"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"વાઇફાઇ, વાઇ-ફાઇ, ટૉગલ કરો, નિયંત્રિત કરો"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"સેલ્યુલર, મોબાઇલ, સેલ કૅરિઅર, વાયરલેસ, ડેટા, 4g, 3g, 2g, lte"</string>
@@ -3158,7 +3208,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"ખલેલ પાડવી નહીં ખલેલ પાડશો નહીં, વિક્ષેપ કરો, વિક્ષેપ, વિરામ"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"નજીકના, સ્થાન, ઇતિહાસ, જાણ કરવી, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"એકાઉન્ટ"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"એકાઉન્ટ, એકાઉન્ટ ઉમેરો, કાર્યાલયની પ્રોફાઇલ, એકાઉન્ટ ઉમેરો"</string>
     <string name="keywords_users" msgid="3497517660077620843">"પ્રતિબંધ, પ્રતિબંધિત કરો, પ્રતિબંધિત"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"ટેક્સ્ટ સુધારણા, સુધારો, સાઉન્ડ, વાઇબ્રેટ, સ્વતઃ, ભાષા, હાવભાવ, સૂચવો, સૂચન, થીમ, અપમાનકારક, શબ્દ, પ્રકાર, ઇમોજી, આંતરરાષ્ટ્રીય"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"ફરીથી સેટ કરો, પસંદગીઓ, ડિફોલ્ટ"</string>
@@ -3196,6 +3246,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"મેમરી, કૅશ મેમરી ડેટા, ડિલીટ કરો, સાફ કરો, ફ્રી કરો, સ્પેસ બનાવો"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"કનેક્ટ કરેલ, ઉપકરણ, હેડફોન, હેડસેટ, સ્પીકર, વાયરલેસ, જોડી, ઇયરબડ, સંગીત, મીડિયા"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"બૅકગ્રાઉન્ડ, સ્ક્રીન, લૉકસ્ક્રીન, થીમ"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"આઇકનનો આકાર, એક્સેંટનો રંગ, ફોન્ટ"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"ડિફૉલ્ટ, આસિસ્ટંટ"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"ચુકવણી, ડિફૉલ્ટ"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"ઇનકમિંગ નોટિફિકેશન"</string>
@@ -3205,18 +3256,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"સંવેદક, વાઇબ્રેટ, સંવેદિતા"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"બૅટરી સેવર, સ્ટિકી, ચાલુ રહેવું, પાવર સેવર, બૅટરી"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"રૂટિન, શેડ્યૂલ, બૅટરી સેવર, પાવર સેવર, બૅટરી, ઑટોમૅટિક, ટકા"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"કાર્યાલયની પ્રોફાઇલ"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"volte, વિગતવાર કૉલિંગ, 4g કૉલિંગ"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"ભાષા ઉમેરો, ભાષા ઉમેરો"</string>
     <string name="default_sound" msgid="6604374495015245195">"ડિફોલ્ટ ધ્વનિ"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"રિંગ વૉલ્યુમ <xliff:g id="PERCENTAGE">%1$s</xliff:g> પર છે"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"રિંગ અને નોટિફિકેશનનું વૉલ્યુમ <xliff:g id="PERCENTAGE">%1$s</xliff:g> છે"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"વૉલ્યૂમ, વાઇબ્રેશન, ખલેલ પાડશો નહીં"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"રિંગર વાઇબ્રેટ પર સેટ કરેલ છે"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"રિંગર શાંત પર સેટ કરેલ છે"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"રિંગ વૉલ્યુમ 80% પર છે"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"રિંગ અને નોટિફિકેશનનું વૉલ્યુમ 80% છે"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"મીડિયા વૉલ્યૂમ"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"કાસ્ટનું વૉલ્યૂમ"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"કૉલ વૉલ્યૂમ"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"એલાર્મ વૉલ્યૂમ"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"રિંગ વૉલ્યૂમ"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"રિંગ અને નોટિફિકેશનનું વૉલ્યુમ"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"નોટિફિકેશન વૉલ્યૂમ"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"ફોન રિંગટોન"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"નોટિફિકેશન માટે ડિફૉલ્ટ ધ્વનિ"</string>
@@ -3224,6 +3276,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"નોટિફિકેશન માટે ડિફૉલ્ટ ધ્વનિ"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"ડિફૉલ્ટ એલાર્મ સાઉન્ડ"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"કૉલ માટે વાઇબ્રેટ કરો"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"ક્યારેય વાઇબ્રેટ કરશો નહીં"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"હંમેશાં વાઇબ્રેટ કરો"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"પહેલા વાઇબ્રેટ પછી ધીમે-ધીમે રિંગ વગાડો"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"અન્ય ધ્વનિઓ"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"ડાયલપૅડ ટોન"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"સ્ક્રીન લૉકિંગ ધ્વનિઓ"</string>
@@ -3247,6 +3302,7 @@
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> શેડ્યૂલ ઑટોમૅટિક રીતે ચાલુ કર્યું</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"ખલેલ પાડશો નહીં"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"ફક્ત મહત્વપૂર્ણ લોકો અને ઍપ દ્વારા નોટિફિકેશન મેળવો"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"વિક્ષેપો મર્યાદિત કરો"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"ખલેલ પાડશો નહીં ચાલુ કરો"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"અપવાદો"</string>
@@ -3273,7 +3329,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"દૃશ્ય વિક્ષેપોને બ્લૉક કરો"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"વિઝ્યુઅલ સંકેતોને મંજૂરી આપો"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"જ્યારે ખલેલ પાડશો નહીં મોડ ચાલુ હોય"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"અવાજવાળા વિક્ષેપોને મંજૂરી આપો"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"નોટિફિકેશનને પ્રતિબંધિત કરો"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"નોટિફિકેશનમાં કોઈ સાઉન્ડ નથી"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"તમે તમારી સ્ક્રીન પર નોટિફિકેશન જોઈ શકશો"</string>
@@ -3304,7 +3360,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"સાઉન્ડ અને વાઇબ્રેશન"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"નોટિફિકેશનના સાઉન્ડ, વાઇબ્રેશન અને અમુક વિઝ્યુઅલ ચિહ્નો"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"નોટિફિકેશનના સાઉન્ડ, વાઇબ્રેશન અને વિઝ્યુઅલ ચિહ્નો"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"મૂળભૂત ફોન પ્રવૃત્તિ માટે જરૂરી નોટિફિકેશન અને સ્ટેટસ ક્યારેય છુપાવવામાં આવશે નહીં"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"ફોનની મૂળભૂત પ્રવૃત્તિ માટે જરૂરી નોટિફિકેશન અને સ્ટેટસ ક્યારેય છુપાવવામાં આવશે નહીં."</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"કોઈ અપવાદ નથી"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"અન્ય વિકલ્પો"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"ઉમેરો"</string>
@@ -3334,10 +3390,12 @@
       <item quantity="one"><xliff:g id="ON_COUNT">%d</xliff:g> શેડ્યૂલ ઑટોમૅટિક રીતે ચાલુ થઈ શકશે</item>
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> શેડ્યૂલ ઑટોમૅટિક રીતે ચાલુ થઈ શકશે</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"ડિવાઇસને મ્યૂટ કરો પરંતુ અપવાદોની મંજૂરી આપો"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"અપવાદો"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"શેડ્યૂલ"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"બધાં અપવાદો જુઓ"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"જ્યારે ખલેલ પાડશો નહીં મોડ ચાલુ હોય, ત્યારે અપવાદો"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"લોકો"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"ઍપ"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"અલાર્મ અને અન્ય વિક્ષેપો"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"શેડ્યૂલ"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"સાઇલેન્ટ કરેલા નોટિફિકેશન"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"ખલેલ પાડશો નહીં મોડ ચાલુ હોય, ત્યારે અવાજ અને વાઇબ્રેશન મ્યૂટ કરવામાં આવશે, જેમાં તમે ઉપરની જે આઇટમોને મંજૂરી આપો તે અપવાદ છે."</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"બધા મ્યૂટ કરો, સિવાય કે"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"મ્યૂટ કરેલ છે"</string>
@@ -3381,16 +3439,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"સુવિધાજનક નોટિફિકેશન"</string>
     <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_capabilities_actions_replies_title" msgid="4392470465646394289">"સૂચવેલી ક્રિયાઓ અને જવાબો"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"ઑટોમૅટિક રીતે સૂચવેલી ક્રિયાઓ અને જવાબો બતાવો"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"પહેલાંના નોટિફિકેશન અને સ્નૂઝ કરેલા નોટિફિકેશનનો ટ્રૅક રાખવા માટે નોટિફિકેશનનો ઇતિહાસ ચાલુ કરો"</string>
+    <string name="notification_history" msgid="8663811361243456201">"નોટિફિકેશનનો ઇતિહાસ"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"ઇતિહાસ ચાલુ કરો"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"ઇતિહાસ બંધ કરો"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"નોટિફિકેશનનો ઇતિહાસ બંધ છે"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"નોટિફિકેશનના સેટિંગ જુઓ"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"નોટિફિકેશન સ્નૂઝ કરવાની મંજૂરી આપો"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"સામાન્ય નોટિફિકેશનના આઇકનને છુપાવો"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"સામાન્ય નોટિફિકેશનના આઇકનને સ્ટેટસ બારમાં બતાવવામાં આવશે નહીં"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"નોટિફિકેશનના ચિહ્નને મંજૂરી આપો"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"હાલમાં થયેલી વાતચીતોની પટ્ટી બતાવો"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"બબલ"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"અમુક નોટિફિકેશન, સ્ક્રીન પર બબલની જેમ દેખાઈ શકે છે"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"કેટલાક નોટિફિકેશન અને અન્ય કન્ટેન્ટ સ્ક્રીન પર બબલ તરીકે દેખાઈ શકે છે. બબલ ખોલવા માટે, તેના પર ટૅપ કરો. તેને કાઢી નાખવા માટે, તેને સ્ક્રીન પર નીચેની તરફ ખેંચો."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"બબલ"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"નવા સંદેશા સ્ક્રીન પર દેખાશે"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"<xliff:g id="APP_NAME">%1$s</xliff:g>ને કેટલાક નોટિફિકેશન બબલ તરીકે બતાવવાની મંજૂરી આપો"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"બબલ ચાલુ કરો"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"આ ઍપ માટે બબલ ચાલુ કરવા, પહેલાં તમારે તેમને તમારા ડિવાઇસ માટે ચાલુ કરવા જરૂરી છે. અન્ય જે ઍપમાં તમે અગાઉ બબલ ચાલુ કર્યા હોય, તેમના પર આની અસર પડે છે."</string>
@@ -3408,6 +3476,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"નીચે દેખાતા શેડમાં અને લૉક સ્ક્રીનમાં બતાવો"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"નીચે દેખાતા શેડમાં અને સ્ટેટસ બારમાં બતાવો"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"નીચે દેખાતા શેડ, સ્ટેટસ બાર અને લૉક સ્ક્રીનમાં બતાવો"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"સ્ટેટસ બારમાં સાઇલન્ટ નોટિફિકેશનને છુપાવો"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"લાઇટ ઝબકવી"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"લૉક સ્ક્રીન"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"લૉક સ્ક્રીન છોડો"</string>
@@ -3438,6 +3507,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"વર્તણૂક"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"ધ્વનિની મંજૂરી આપો"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"સૂચનાઓ ક્યારેય બતાવશો નહીં"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"વાતચીત"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"વાતચીત"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"વાતચીત નથી"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"વાતચીત વિભાગમાંથી કાઢી નાખો"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"આ વાતચીત છે"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"વાતચીત વિભાગમાં ઉમેરો"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"વાતચીતો મેનેજ કરો"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"મહત્ત્વપૂર્ણ વાતચીતો"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"બધી વાતચીત"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"મહત્ત્વપૂર્ણ વાતીચીતોને બબલ કરો"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"મહત્ત્વપૂર્ણ વાતચીતો નોટિફિકેશન શેડની ટોચ પર દેખાય છે. તમે તેને બબલ થવા માટે અને ખલેલ પાડશો નહીંને વિક્ષેપિત કરવા માટે સેટ કરી શકો છો."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"ચુપચાપ બતાવો અને નાનું કરો"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"ચુપચાપ બતાવો"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"અવાજ કરો"</string>
@@ -3456,7 +3536,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"તમને સાઉન્ડ અથવા વાઇબ્રેશન વિના ફોકસ કરવામાં સહાય કરે છે"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"સાઉન્ડ અથવા વાઇબ્રેશન વિના તમારું ધ્યાન દોરે છે"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"ડિવાઇસ અનલૉક થયેલું હોય ત્યારે, સ્ક્રીનના ઉપરના ભાગ પર બૅનરના સ્વરૂપમાં નોટિફિકેશન બતાવો"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"નોટિફિકેશન બતાવો"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"<xliff:g id="APP_NAME">%1$s</xliff:g>ના બધા નોટિફિકેશન"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"સુવિધાજનક નોટિફિકેશન"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="one">~<xliff:g id="NUMBER_1">%d</xliff:g> નોટિફિકેશન પ્રતિ દિવસ</item>
@@ -3477,6 +3557,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"સુવિધાજનક નોટિફિકેશન"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"એકપણ નહીં"</string>
     <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="3119843404577399036">"સંપર્કોના નામ અને તમને મળતા સંદેશાની ટેક્સ્ટ જેવી વ્યક્તિગત માહિતી સહિતના બધા નોટિફિકેશન <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>
@@ -3538,8 +3619,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"થઈ ગયું"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"મહત્વ"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"લાઇટ ઝબકવી"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"વાઇબ્રેટ"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"વાઇબ્રેશન"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"ધ્વનિ"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"મહત્ત્વપૂર્ણ"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"હોમમાં ઉમેરો"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"ડિલીટ કરો"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"નામ બદલો"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"શેડ્યૂલનું નામ"</string>
@@ -3593,6 +3676,10 @@
       <item quantity="one"><xliff:g id="NUM_PEOPLE">%d</xliff:g> અન્ય</item>
       <item quantity="other"><xliff:g id="NUM_PEOPLE">%d</xliff:g> અન્યો</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"વાતચીત"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"બધી વાતચીતોમાંથી"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"મહત્ત્વપૂર્ણ વાતચીતોમાંથી"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"કોઈપણ વાતચીતને મંજૂરી ન આપો"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"સંદેશાની મંજૂરી આપો"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"મંજૂર હોય તેવા સંદેશાનો સાઉન્ડ સંભળાય તેની ખાતરી કરવા માટે, તમારું ડિવાઇસ રિંગ, વાઇબ્રેટ કે સાયલન્ટ પર સેટ કરેલું છે તે ચેક કરો."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"‘<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>’ માટે આવનારા સંદેશા બ્લૉક કરેલા છે. તમારા મિત્રો, કુટુંબના સભ્યો અથવા અન્ય સંપર્કો તમારો સંપર્ક કરી શકે તે માટે તમે સેટિંગને ગોઠવી શકો છો."</string>
@@ -3606,15 +3693,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"કોઈ નહીં"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"કૉલને મંજૂરી આપશો નહીં"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"કોઈ સંદેશાની મંજૂરી આપશો નહીં"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"અલાર્મને મંજૂરી આપો"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"એલાર્મ્સ"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"ટાઇમર, અલાર્મ, સુરક્ષા સિસ્ટમ અને અન્ય ઍપથી"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"એલાર્મ"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"મીડિયાનો સાઉન્ડ વગાડો"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"મીડિયા સાઉન્ડ"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"વીડિયો, ગેમ અને અન્ય મીડિયાથી"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"મીડિયા"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"સ્પર્શ કરવાથી થતાં સાઉન્ડને મંજૂરી આપો"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"ટચ સાઉન્ડ"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"તમારા કીબોર્ડ અને અન્ય બટનથી"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"ટચ સાઉન્ડ"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"રિમાઇન્ડરને મંજૂરી આપો"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"રિમાઇન્ડર"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"કાર્યો અને રીમાઇન્ડરથી"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"રિમાઇન્ડર"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"ઇવેન્ટને મંજૂરી આપો"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"ઇવેન્ટ્સ"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"આગામી કૅલેન્ડર ઇવેન્ટથી"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"અ‍ૅપને ઓવરરાઇડ કરવાની મંજૂરી આપો"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"ઍપના અપવાદો"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3657,6 +3749,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"ખલેલ પાડશો નહીં દ્વારા શાંત કરેલ નોટિફિકેશનોને સ્ક્રીન ચાલુ કરવા દો"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"સૂચનાઓની સેટિંગ્સ"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"ઓકે"</string>
+    <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>
@@ -3667,6 +3760,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"અનપિન કરતા પહેલાં પિન માટે પૂછો"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"અનપિન કરતાં પહેલાં પાસવર્ડ માટે પૂછો"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"ઉપકરણને અનપિન કરતી વખતે લૉક કરો"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"સિમ કાર્ડને ડિલીટ કરવાનું કન્ફર્મ કરો"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"ડાઉનલોડ કરેલા સિમ કાર્ડને કાઢી નાખતા પહેલાં ચકાસણી કરો કે આ તમે જ છો"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"આ કાર્યાલયની પ્રોફાઇલ આમના દ્વારા સંચાલિત થાય છે:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"<xliff:g id="ADMIN_APP_LABEL">%s</xliff:g> દ્વારા સંચાલિત"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(પ્રાયોગિક)"</string>
@@ -3741,8 +3836,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"બધી ઍપ્લિકેશનો"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"ઇન્સ્ટૉલ કરેલી ઍપ્લિકેશનો"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"ઝટપટ ઍપ્લિકેશનો"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"વ્યક્તિગત"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"કાર્યાલય"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"ઍપ્લિકેશનો: તમામ"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"બંધ કરેલી છે"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"કૅટેગરી: તાત્કાલિક મહત્વની"</string>
@@ -3754,6 +3847,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"અજાણી ઍપ્લિકેશન"</string>
     <string name="app_permissions" msgid="8666537659217653626">"પરવાનગી મેનેજર"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"<xliff:g id="APPS">%1$s</xliff:g>નો ઉપયોગ કરતી ઍપ્લિકેશનો"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"<xliff:g id="APPS">%1$s</xliff:g>, વગેરેનો ઉપયોગ કરતી ઍપ"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"સક્રિય કરવા ટેપ કરો"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"ઉપકરણને સક્રિય કરવા માટે સ્ક્રીન પર ગમે ત્યાં બે વાર ટેપ કરો"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"લિંક્સ ખોલી રહ્યાં છે"</string>
@@ -3765,9 +3859,14 @@
       <item quantity="one">સમર્થિત લિંક ખોલે તેવી <xliff:g id="COUNT">%d</xliff:g> ઍપ્લિકેશન</item>
       <item quantity="other">સમર્થિત લિંક ખોલે તેવી <xliff:g id="COUNT">%d</xliff:g> ઍપ્લિકેશન</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"આ એપ્લિકેશનમાં ખોલો"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"સપોર્ટેડ લિંક ખોલવાની ઍપને મંજૂરી આપો"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"દર વખતે પૂછો"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"આ એપ્લિકેશનમાં ખોલશો નહીં"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"લિંક ખોલવાની ઍપને મંજૂરી આપશો નહીં"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g> લિંક હૅન્ડલ કરવા માટેના ઍપના દાવા</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> લિંક હૅન્ડલ કરવા માટેના ઍપના દાવા</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"નીચેની લિંક ખોલવા માટેના ઍપના દાવા:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"ડિફોલ્ટ"</string>
     <string name="default_for_work" msgid="537558180548617528">"કાર્ય માટે ડિફોલ્ટ"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"મદદ અને વૉઇસ ઇનપુટ"</string>
@@ -3911,8 +4010,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"અન્ય ઍપથી ઉપર બતાવો"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"અન્ય ઍપ્સની ટોચે પ્રદર્શિત કરવાની મંજૂરી આપો"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"આ ઍપ્લિકેશનને તમે ઉપયોગ કરી રહ્યા હોય તેવી અન્ય ઍપ્લિકેશનોમાં સૌથી ઉપર પ્રદર્શિત કરવા માટેની મંજૂરી આપો. તે કદાચ તમારા તે ઍપ્લિકેશનોના ઉપયોગમાં દખલ કરી શકે છે અથવા તેઓ જે રીતે દેખાય અથવા કામ કરે છે તેમાં ફેરફાર કરી શકે છે."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"બધી ફાઇલોનો ઍક્સેસ"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"બધી ફાઇલોને મેનેજ કરવા ઍક્સેસની મંજૂરી આપો"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"આ ઍપને આ ડિવાઇસ અથવા કોઈપણ કનેક્ટેડ સ્ટોરેજ વૉલ્યૂમ પરની બધી ફાઇલો વાંચવા, ફેરફાર કરવા અને ડિલીટ કરવાની મંજૂરી આપો. જો મંજૂરી આપવામાં આવે, તો ઍપ તમને જાણ કર્યા વિના ફાઇલોને ઍક્સેસ કરી શકે છે."</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"બધી ફાઇલો ઍક્સેસ કરી શકે છે"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"vr વર્ચ્યુઅલ રિયાલિટી સાંભળનાર સ્ટીરિયો સહાયક સેવા"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"સિસ્ટમ ચેતવણી વિંડો સંવાદનું પ્રદર્શન ટોચે અન્ય ઍપ્લિકેશનો"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"અન્ય ઍપથી ઉપર બતાવો"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"<xliff:g id="COUNT_1">%2$d</xliff:g>માંથી <xliff:g id="COUNT_0">%1$d</xliff:g> ઍપ્સને અન્ય ઍપ્સની ટોચે પ્રદર્શિત થવાની મંજૂરી છે"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"પરવાનગી સાથેની ઍપ્લિકેશનો"</string>
@@ -4078,6 +4180,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"<xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g> ડેટાનો વપરાશ થયો"</string>
     <string name="data_overusage" msgid="3680477320458707259">"વપરાશ <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="data_remaining" msgid="6316251496381922837">"<xliff:g id="ID_1">^1</xliff:g> બાકી"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"ગ્રાફ <xliff:g id="START_DATE">%1$s</xliff:g> અને <xliff:g id="END_DATE">%2$s</xliff:g>ની વચ્ચેનો ડેટા વપરાશ બતાવે છે."</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"આ તારીખ રેંજમાં કોઈ ડેટા નથી"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="one">%d દિવસ બાકી</item>
       <item quantity="other">%d દિવસ બાકી</item>
@@ -4141,14 +4245,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"પાર્સલનું કદ"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"એશ્મેમ"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"નોટિફિકેશન અલર્ટ કરેલ"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"ધ્વનિ"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"વાઇબ્રેટ"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"પૅટર્ન"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"ડિફોલ્ટ"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"ચૅનલ"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"કોઈ નહીં"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"રેંકિંગ ઑબ્જેક્ટ ખૂટે છે."</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"રેંકિંગ ઑબ્જેક્ટમાં આ કી શામેલ નથી."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"થીમિંગ"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"ડિવાઇસ ડિફૉલ્ટ"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"ડિસ્પ્લે કટઆઉટ"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"નૉચ, કટઆઉટ બતાવો"</string>
@@ -4237,8 +4337,12 @@
     <string name="information_label" msgid="6939310810756569298">"માહિતી"</string>
     <string name="low_label" msgid="6525629096999711220">"ઓછી"</string>
     <string name="high_label" msgid="357503396626018487">"વધારે"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"ઉચ્ચ સંવેદનશીલતા સ્ક્રીનની કિનારીઓ પર થતા કોઈ ઍપના સંકેતો સાથે વિરોધાભાસ રચે તેમ બની શકે છે."</string>
+    <string name="left_edge" msgid="1513576842959071849">"ડાબી કિનારી"</string>
+    <string name="right_edge" msgid="1505309103265829121">"જમણી કિનારી"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"ઉચ્ચ સંવેદનશીલતા સ્ક્રીનની કિનારીઓ પર થતા કોઈ ઍપના સંકેતો સાથે વિરોધાભાસ રચે તેમ બની શકે છે."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"પાછળની સંવેદનશીલતા"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"સંકેત માટેનાં સેટિંગ"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"સંકેતથી નૅવિગેશન, પાછળની સંવેદિતા, પાછળના સંકેત"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"ફોનને જોવા માટે બે વાર ટૅપ કરો"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"ટેબ્લેટને જોવા માટે બે વાર ટૅપ કરો"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"ઉપકરણને જોવા માટે બે વાર ટૅપ કરો"</string>
@@ -4393,7 +4497,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"કૅરિઅર જોગવાઈ ટ્રિગર કરો"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"ખલેલ પાડશો નહીંને અપડેટ કરો"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"ધ્યાન કેન્દ્રિત કરવા માટે નોટિફિકેશન થોભાવો"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"આ ઉપકરણ પર આ સુવિધા ઉપલબ્ધ નથી"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"સુવિધા ઉપલબ્ધ નથી"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"આ સુવિધા બંધ કરવામાં આવી છે કારણ કે તે તમારા ફોનની કામ કરવાની ગતિ ધીમી કરે છે"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"સંપૂર્ણ GNSS માપને લાગુ કરો"</string>
@@ -4403,20 +4506,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"ANGLE દ્વારા ચાલુ ઍપ્લિકેશન પસંદ કરો"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"કોઈ ANGLE દ્વારા ચાલુ ઍપ્લિકેશન સેટ નથી"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"ANGLE દ્વારા ચાલુ ઍપ્લિકેશન: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"ગેમ ડ્રાઇવરની પસંદગીઓ"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"ગેમ ડ્રાઇવર સેટિંગમાં ફેરફાર કરો"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"જ્યારે ગેમ ડ્રાઇવર ચાલુ હોય, ત્યારે તમે ડિવાઇસ પર ઇન્સ્ટૉલ કરેલી ઍપ માટે અપડેટ કરેલ ગ્રાફિક્સ ડ્રાઇવરને ઉપયોગમાં લેવાનું પસંદ કરી શકો છો."</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"બધી ઍપ માટે ચાલુ કરો"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"ગ્રાફિક્સ ડ્રાઇવર પસંદ કરો"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"ડિફૉલ્ટ"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"ગેમ ડ્રાઇવર"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"પ્રીરિલીઝ ડ્રાઇવર"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"સિસ્ટમ ગ્રાફિક્સ ડ્રાઇવર"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"ગ્રાફિક્સ ડ્રાઇવરની પસંદગીઓ"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"ગ્રાફિક્સ ડ્રાઇવર સેટિંગમાં ફેરફાર કરો"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"જ્યારે એકથી વધુ ગ્રાફિક્સ ડ્રાઇવર હોય, ત્યારે તમે ડિવાઇસ પર ઇન્સ્ટૉલ કરેલા ઍપ માટે અપડેટ કરેલા ગ્રાફિક્સ ડ્રાઇવરને ઉપયોગમાં લેવાનું પસંદ કરી શકો છો."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"બધા ઍપ માટે ચાલુ કરો"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"ગ્રાફિક્સ ડ્રાઇવર પસંદ કરો"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"ડિફૉલ્ટ"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"ગેમ ડ્રાઇવર"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"ડેવલપર ડ્રાઇવર"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"સિસ્ટમ ગ્રાફિક્સ ડ્રાઇવર"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"ઍપની સુસંગતતામાં ફેરફારો"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"ઍપ સુસંગતતાના ફેરફારો ટૉગલ કરો"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"ડિફૉલ્ટ રીતે ચાલુ કરેલા ફેરફારો"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"ડિફૉલ્ટ રીતે બંધ કરેલા ફેરફારો"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"આ ફોન પર સેટિંગ સમર્થિત નથી"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"આ ટૅબ્લેટ પર સેટિંગ સમર્થિત નથી"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"આ ઉપકરણ પર સેટિંગ સમર્થિત નથી"</string>
@@ -4435,6 +4544,12 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"ઉપકરણ"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"કૉલ દરમિયાન અનુપલબ્ધ"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"અનુપલબ્ધ"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"આઉટપુટ ઉમેરો"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"ગ્રૂપ"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 ડિવાઇસ પસંદ કર્યું"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> ડિવાઇસ પસંદ કર્યા"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"હૅન્ડ્સ ફ્રી પર કૉલ લો"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"આ APN બદલી શકાતું નથી."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"ટૅબ્લેટની બૅટરી આવરદા સુધારો"</string>
@@ -4552,10 +4667,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"એક સમયે ડાઉનલોડ કરેલું માત્ર એક જ સિમ સક્રિય રહી શકશે.\n\n<xliff:g id="CARRIER1">%1$s</xliff:g> પર સ્વિચ કરવાથી તમારી <xliff:g id="CARRIER2">%2$s</xliff:g> સેવા રદ થશે નહીં."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"<xliff:g id="CARRIER">%1$s</xliff:g> પર સ્વિચ કરો"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"સિમ કાઢી નાખો"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"આ ડાઉનલોડ કરેલું સિમ કાઢી નાખીએ?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"આ સિમ કાઢી નાખવાથી આ ડિવાઇસમાંથી <xliff:g id="CARRIER_0">%1$s</xliff:g> સેવા નીકળી જશે.\n\n<xliff:g id="CARRIER_1">%2$s</xliff:g> માટેની સેવા રદ નહીં થાય."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"કાઢી નાખો"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"સિમ કાઢી નખાય છે…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"સિમ કાઢી નાખી શકાતું નથી"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"ભૂલને કારણે આ સિમ કાઢી નાખી શકાતું નથી.\n\nતમારું ડિવાઇસ ફરી શરૂ કરો અને ફરી પ્રયાસ કરો."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"પસંદગીનો નેટવર્ક પ્રકાર"</string>
@@ -4580,7 +4691,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"અમાન્ય નેટવર્ક મોડ <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. અવગણો."</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"ઍક્સેસ પૉઇન્ટના નામ"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"જ્યારે <xliff:g id="CARRIER">%1$s</xliff:g> સાથે કનેક્ટ થયેલ હોય, ત્યારે ઉપલબ્ધ નથી"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"તબીબી માહિતી, ઇમર્જન્સી સંપર્કો"</string>
     <string name="see_more" msgid="7499355691042812723">"વધુ જુઓ"</string>
     <string name="see_less" msgid="2642392725363552793">"ઓછું જુઓ"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"<xliff:g id="APPNAME">%1$s</xliff:g> સાથે ઉપયોગમાં લેવાનું ડિવાઇસ"</string>
@@ -4589,11 +4699,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"કંઈક નડ્યું. ઍપ્લિકેશને ડિવાઇસ પસંદ કરવાની વિનંતી રદ કરી છે."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"કનેક્શન સફળ થયું"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"બધા બતાવો"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> ડિવાઇસ કનેક્ટ કર્યું</item>
-      <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> ડિવાઇસ કનેક્ટ કર્યા</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"કોઈ બ્લૂટૂથ ડિવાઇસ નથી"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"ડિવાઇસ માટે શોધી રહ્યાં છીએ…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"ડિવાઇસ સાથે કનેક્ટ કરી રહ્યાં છીએ…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"ડાબે"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"જમણે"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"કેસ"</string>
@@ -4603,6 +4710,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"એરપ્લેન મોડ દરમિયાન ઉપલબ્ધ નથી"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"ફરજિયાત ડેસ્કટૉપ મોડ ચાલુ કરો"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"ગૌણ ડિસ્પ્લે પર ફરજિયાત પ્રયોગાત્મક ડેસ્કટૉપ મોડ ચાલુ કરો"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"sizecompatને ફ્રીફોર્મમાં ચાલુ કરો"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"sizecompat ઍપને ફ્રીફોર્મમાં રહેવાની મંજૂરી આપે છે"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"ફરજિયાત ઘેરા મોડની સુવિધાને ઓવરરાઇડ કરો"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"હંમેશાં ચાલુ રાખવા માટે ફરજિયાત ઘેરા મોડની સુવિધાને ઓવરરાઇડ કરે છે"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"પ્રાઇવસી"</string>
@@ -4639,6 +4748,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"તમે તાજેતરમાં આ ઍપ ઇન્સ્ટૉલ કરી."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"આઉટપુટ સ્વિચ કરો"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"હાલમાં <xliff:g id="DEVICE_NAME">%1$s</xliff:g> પર ચલાવી રહ્યાં છે"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (ડિસ્કનેક્ટ થયેલું)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"સ્વિચ કરી શકાતું નથી. ફરી કરવા ટૅપ કરો."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"મહત્ત્વપૂર્ણ માહિતી"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"ચાલુ રાખો"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"ના, આભાર"</string>
@@ -4666,8 +4777,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"સિમ કોમ્બિનેશન"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"તમારા કાર્યાલયની નીતિની માહિતી"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"તમારા IT વ્યવસ્થાપક દ્વારા સેટિંગ મેનેજ કરવામાં આવે છે"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"ખામીની જાણકારી હૅન્ડલ કરનાર"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"તમારા ડિવાઇસ પર કઈ ઍપ ખામીની જાણકારીના શૉર્ટકટને હૅન્ડલ કરે તે નક્કી કરે છે."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"વ્યક્તિગત"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"કાર્યાલય"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"સિસ્ટમ ડિફૉલ્ટ"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"આ વિકલ્પ હવે માન્ય નથી. ફરી પ્રયાસ કરો."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"કાસ્ટ કરવાનું રોકો"</string>
 </resources>
diff --git a/res/values-hi/arrays.xml b/res/values-hi/arrays.xml
index a8cdf26..2cd5604 100644
--- a/res/values-hi/arrays.xml
+++ b/res/values-hi/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"तुरंत"</item>
     <item msgid="463591454172790676">"5 सेकंड"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"पुष्टि न करें"</item>
+    <item msgid="5703177653586269306">"प्रमाणपत्र की स्थिति का अनुरोध करें"</item>
+    <item msgid="326388247868439528">"प्रमाणपत्र की स्थिति ज़रूरी है"</item>
+    <item msgid="1090956283885790552">"ऐसे सभी प्रमाणपत्र की स्थिति ज़रूरी है जो भरोसेमंद नहीं हैं"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"पुश बटन"</item>
     <item msgid="2630618799033509548">"साथी डिवाइस से पिन"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"कोई नहीं"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"पहले से शेयर की गई कुंजियों और Xauth प्रमाणीकरण के साथ IPSec VPN"</item>
     <item msgid="2484564813864139237">"प्रमाणपत्रों और Xauth प्रमाणीकरण के साथ IPSec VPN"</item>
     <item msgid="68918911194507915">"प्रमाणपत्रों और संकर प्रमाणीकरण के साथ IPSec VPN"</item>
+    <item msgid="4631647675167100375">"प्रमाणपत्रों और उपयोगकर्ता नाम/पासवर्ड की पुष्टि करने वाले IKEv2/IPSec वीपीएन"</item>
+    <item msgid="8812228622975052811">"पहले से शेयर की गई कुंजी वाले IKEv2/IPSec वीपीएन"</item>
+    <item msgid="6630554779981113046">"प्रमाणपत्रों वाले IKEv2/IPSec वीपीएन"</item>
   </string-array>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"कोई नहीं"</item>
diff --git a/res/values-hi/config.xml b/res/values-hi/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-hi/config.xml
+++ b/res/values-hi/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index 14fd5cb..57e2d19 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -31,49 +31,17 @@
     <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="radio_info_data_connection_enable" msgid="7500945447906187613">"डेटा कनेक्शन चालू करें"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"डेटा कनेक्शन अक्षम करें"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"VoLTE प्रावधान किया गया"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"वीडियो कॉल का प्रावधान किया गया"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"वाई-फ़ाई कॉल का प्रावधान किया गया"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"EAB/उपस्थिति का प्रावधान किया गया"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"सीबीआरएस डेटा"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"डीएसडीएस चालू करें"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"डिवाइस रीस्टार्ट करना चाहते हैं?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"इस सेटिंग को बदलने के लिए आपको अपना डिवाइस रीस्टार्ट करना होगा."</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"रीस्टार्ट करें"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"अभी नहीं"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"मोबाइल रेडियो पावर"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"सिम पता पुस्तिका देखें"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"फ़िक्‍स्‍ड डायलिंग नंबर देखें"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"सेवा डायलिंग नंबर देखें"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"IMS सेवा स्थिति"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"IMS स्थिति"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"पंजीकृत"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"पंजीकृत नहीं"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"उपलब्ध"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"अनुपलब्ध"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"IMS पंजीकरण: <xliff:g id="STATUS">%1$s</xliff:g>\nवॉइस ओवर LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nवॉइस ओवर वाई-फ़ाई: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nवीडियो कॉलिंग: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT इंटरफ़ेस: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"सेवा में"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"सेवा में नहीं"</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>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"प्रयोग में नहीं"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"बज रहा है"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"कॉल चल रहा है"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"डिसकनेक्ट किया गया"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"कनेक्ट हो रहा है"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"कनेक्ट किया गया"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"निलंबित"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"अज्ञात"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"pkts"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"बाइट"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"USB मेमोरी अनमाउंट करें"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"SD कार्ड अनमाउंट करें"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"USB मेमोरी मिटाएं"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"स्क्रीन पर मौजूद लेख को छोटा या बड़ा करें."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"छोटा करें"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"बड़ा करें"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"नमूना लेख"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"ओज़ का अद्भुत जादू"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"अध्याय 11: पन्ने का अद्भुत शहर ओज़"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"यह सेटिंग बदलने के लिए डिवाइस रीस्टार्ट करना ज़रूरी है."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"रीस्टार्ट करें"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"अभी नहीं"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"मौजूद मीडिया डिवाइस"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"कॉल की सुविधा वाले उपलब्ध डिवाइस"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"इंटरनेट से जुड़े हुए डिवाइस"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"मीडिया डिवाइस"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"कॉल की सुविधा वाले डिवाइस"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"दूसरे डिवाइस"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"सेव किए गए डिवाइस"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"दूसरे डिवाइस से जुड़ने के लिए ब्लूटूथ चालू हो जाएगा"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"कनेक्शन की पसंद"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"  लिखा गया पोर्ट मान्‍य नहीं है."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"HTTP प्रॉक्सी का उपयोग ब्राउज़र द्वारा किया जाता है लेकिन अन्य ऐप्लिकेशन द्वारा उपयोग नहीं किया जा सकता."</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"PAC यूआरएल: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"मौजूदा सब-आईडी:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"डिफ़ॉल्ट डेटा सिम का सब-आईडी:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"डीएल बैंडविड्थ (केबीपीएस):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"यूएल बैंडविड्थ (केबीपीएस):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"मोबाइल की जगह की जानकारी (रोकी गयी है):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"LTE फ़िज़िकल चैनल कॉन्फ़िगरेशन:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"सेल जानकारी रीफ्रेश दर:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"सेल माप की सभी जानकारी:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"डेटा सेवा:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"रोमिंग:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"कॉल रीडयरेक्ट:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"बूट के बाद से PPP रीसेट की संख्या:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"वर्तमान नेटवर्क:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"डेटा मिला:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"वॉइस सेवा:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"सिग्नल की शक्ति:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"वॉइस कॉल स्थिति:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"डेटा भेजा गया:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"संदेश प्रतीक्षा:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"फ़ोन नंबर:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"रेडियो बैंड को चुनें"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"वॉइस नेटवर्क प्रकार:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"डेटा नेटवर्क प्रकार:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"फ़ोन इंडेक्स चुनें"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"पसंदीदा नेटवर्क प्रकार सेट करें:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"होस्‍टनाम(www.google.com) IPv4 पिंग करें:"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"होस्‍टनाम(www.google.com) IPv6 पिंग करें:"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"HTTP क्लाइंट परीक्षण:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"पिंग परीक्षण चलाएं"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"अपडेट करें"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"रीफ़्रेश करें"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"DNS जाँच टॉगल करें"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"OEM-खास जानकारी/सेटिंग"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"रेडियो बैंड मोड सेट करें"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"बैंड सूची लोड कर रहा है..."</string>
-    <string name="band_mode_set" msgid="494968379352406359">"सेट करें"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"असफल"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"सफल"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"USB केबल फिर से कनेक्‍ट किए जाने पर परिवर्तन लागू हो जाते हैं."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"USB अतिरिक्त मेमोरी चालू करें"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"कुल बाइट:"</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"सबसे नीचे ले जाएं"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"भाषा निकालें"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"गतिविधि चुनें"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"डिवाइस जानकारी"</string>
     <string name="display_label" msgid="3056320781191343221">"स्क्रीन"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"टैबलेट की जानकारी देखें"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"फ़ोन की जानकारी देखें"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"USB मेमोरी"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"SD कार्ड"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"प्रॉक्सी सेटिंग"</string>
@@ -306,9 +234,6 @@
     <string name="airplane_mode" msgid="3196085857882526817">"हवाई जहाज़ मोड"</string>
     <string name="wireless_networks_settings_title" msgid="8557542379234105369">"वायरलेस और नेटवर्क"</string>
     <string name="radio_controls_summary" msgid="9028430178697624501">"वाई-फ़ाई , ब्लूटूथ, हवाई जहाज़ मोड, मोबाइल नेटवर्क और VPN प्रबंधित करें"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"मोबाइल डेटा"</string>
-    <string name="calls_title" msgid="6334813967619899114">"कॉल आने की मंज़ूरी दें"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"मैसेज (एसएमएस)"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"मोबाइल नेटवर्क पर डेटा खर्च की अनुमति"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"रोमिंग में डेटा खर्च करने की अनुमति दें"</string>
     <string name="roaming" msgid="3055365654530847985">"रोमिंग"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"रोमिंग के समय डेटा सेवाएं कनेक्ट करें"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"आपने डेटा कनेक्टिविटी खो दी है क्योंकि आपने डेटा रोमिंग बंद रखकर अपना होम नेटवर्क छोड़ दिया."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"इसे चालू करें"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"आपको बहुत ज़्यादा शुल्‍क देना पड़ सकता है."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"जब आप डेटा रोमिंग की अनुमति देते हैं, तो हो सकता है कि आपको ज़्यादा रोमिंग शुल्क लगे!\n\nयह सेटिंग इस टैबलेट के सभी उपयोगकर्ताओं को प्रभावित करती है."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"जब आप डेटा रोमिंग की अनुमति देते हैं, तो हो सकता है कि आपको ज़्यादा रोमिंग शुल्क लगे!\n\nयह सेटिंग इस फ़ोन के सभी उपयोगकर्ताओं को प्रभावित करती है."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"रोमिंग शुल्क लागू हो सकते हैं."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"जब आप डेटा रोमिंग की अनुमति देते हैं, तो रोमिंग शुल्क लागू हो सकते हैं.\n\nइस सेटिंग से टैबलेट इस्तेमाल करने वाले सभी लोगों पर असर पड़ेगा."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"जब आप डेटा रोमिंग की अनुमति देते हैं, तो रोमिंग शुल्क लागू हो सकते हैं.\n\nइस सेटिंग से फ़ोन इस्तेमाल करने वाले सभी लोगों पर असर पड़ेगा."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"डेटा रोमिंग की अनुमति दें?"</string>
     <string name="networks" msgid="5184501333492775095">"ऑपरेटर चुनना"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"कोई नेटवर्क ऑपरेटर चुनें"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"व्यवस्थापक ने अक्षम किया है"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"लॉक करने के विकल्प दिखाएं"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"पावर बटन का विकल्प दिखाएं जिससे Smart Lock, बायोमेट्रिक तरीके से अनलॉक करने, और लॉक स्क्रीन पर सूचनाएं दिखाने की सुविधा बंद की जाती है"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"भरोसेमंद एजेंट बस अनलॉक अवधि बढ़ाते हैं"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"इस मोड के चालू होने पर, भरोसेमंद एजेंट आपके डिवाइस को लंबे समय तक अनलॉक रखेंगे. हालांकि, वे अब लॉक किए गए डिवाइस को अनलॉक नहीं कर सकेंगे."</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"भरोसा नहीं रह जाने पर स्क्रीन लॉक करें"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"अगर लॉक चालू हो, तो आखिरी भरोसेमंद एजेंट का भरोसा नहीं रह जाने पर डिवाइस लॉक हो जाएगा"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"कोई नहीं"</string>
@@ -390,7 +313,7 @@
     <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="disabled_by_administrator_summary" msgid="4181894719300350343">"व्यवस्थापक ने अक्षम किया है"</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>
@@ -693,7 +616,6 @@
       <item quantity="one">पिन में <xliff:g id="NUMBER_1">%d</xliff:g> से कम अंक होने चाहिए</item>
       <item quantity="other">पिन में <xliff:g id="NUMBER_1">%d</xliff:g> से कम अंक होने चाहिए</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"इसमें सिर्फ़ 0 से 9 तक के अंक होने चाहिए"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"डिवाइस व्यवस्थापक हाल ही के पिन का उपयोग करने की अनुमति नहीं देता"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"आपके आईटी एडमिन ने आम तौर पर इस्तेमाल होने वाले पिन पर रोक लगा रखी है. दूसरा पिन बनाएं."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"इसमें अमान्य वर्ण शामिल नहीं हो सकता"</string>
@@ -724,6 +646,10 @@
       <item quantity="one">इसमें कम से कम <xliff:g id="COUNT">%d</xliff:g> वर्ण ऐसे होने चाहिए जो अक्षर ना हों</item>
       <item quantity="other">इसमें कम से कम <xliff:g id="COUNT">%d</xliff:g> वर्ण ऐसे होने चाहिए जो अक्षर ना हों</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="one">पासवर्ड में कम से कम <xliff:g id="COUNT">%d</xliff:g> वर्ण ऐसे होने चाहिए जो संख्या न हों</item>
+      <item quantity="other">पासवर्ड में कम से कम <xliff:g id="COUNT">%d</xliff:g> वर्ण ऐसे होने चाहिए जो संख्या न हों</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"डिवाइस व्यवस्थापक हाल ही के पासवर्ड का उपयोग करने की अनुमति नहीं देता"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"आपके आईटी एडमिन ने आम तौर पर इस्तेमाल होने वाले पासवर्ड पर रोक लगा रखी है. कोई दूसरा पासवर्ड बनाएं."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"अंकों के बढ़ते, घटते या दोहराए जाने वाले क्रम की अनुमति नहीं है"</string>
@@ -837,19 +763,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2.4 गीगाहर्ट्ज़"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 गीगाहर्ट्ज़"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"साइन इन करें"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"साइट खोलें"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"<xliff:g id="REMAINING_TIME">%1$s</xliff:g> बचे हैं"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"इंटरनेट कनेक्शन <xliff:g id="EXPIRY_TIME">%1$s</xliff:g> पर बंद हो जाएगा"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"नेटवर्क में साइन इन करने के लिए टैप करें"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> एमबीपीएस"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> एमबीपीएस"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> एमबीपीएस"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"<xliff:g id="REQUESTER">%s</xliff:g> वाई-फ़ाई को चालू करना चाहता है"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"<xliff:g id="REQUESTER">%s</xliff:g> वाई-फ़ाई को बंद करना चाहता है"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"डीबग वाले ऐप्लिकेशन के बाइटकोड की पुष्टि करें"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"डीबग किए जा सकने वाले ऐप्लिकेशन के लिए, ART को बाइटकोड की पुष्टि करने की मंज़ूरी दें"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"रीफ़्रेश दर दिखाएं"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"डिसप्ले की मौजूदा रीफ़्रेश दर दिखाएं"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"आस-पास के डिवाइस से संपर्क (एनएफसी)"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"जब टैबलेट अन्य डिवाइस को स्पर्श करे तो डेटा ट्रांसफर करने दें"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"जब फ़ोन दूसरे डिवाइस को टच करे तो डेटा ट्रांसफर करने दें"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"जब टैबलेट किसी NFC डिवाइस को छुए, तो डेटा ट्रांसफ़र करने की अनुमति दें"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"जब फ़ोन किसी NFC डिवाइस को छुए, तो डेटा ट्रांसफ़र करने की अनुमति दें"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"NFC चालू करें"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"NFC इस डिवाइस और आस-पास के अन्य डिवाइस या लक्ष्यों के बीच डेटा का लेन-देन करता है, जैसे कि भुगतान टर्मिनल, ऐक्सेस रीडर और सहभागी विज्ञापन या टैग."</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"NFC सुरक्षित करें"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFC के लिए डिवाइस को अनलॉक करने की ज़रूरत है"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"NFC भुगतान और ट्रांज़िट के इस्तेमाल की अनुमति तभी दें, जब स्क्रीन अनलॉक की गई हो"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android बीम"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"एनएफ़सी के ज़रिए ऐप्लिकेशन की सामग्री भेजने के लिए तैयार"</string>
@@ -923,8 +855,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"चालू करें"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"वाई-फ़ाई स्कैन करना चालू हो गया है"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"बेहतर विकल्प"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"ड्रॉप डाउन सूची के बेहतर विकल्प. छोटा करने के लिए दो बार छूएं."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"ड्रॉप डाउन सूची के बेहतर विकल्प. बड़ा करने के लिए दो बार छूएं."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"बेहतर विकल्पों की ड्रॉप-डाउन सूची"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"बड़ा करें"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"नेटवर्क का नाम"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"SSID डालें"</string>
     <string name="wifi_security" msgid="9095934643631406913">"सुरक्षा"</string>
@@ -934,6 +866,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"स्थिति"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"ट्रांसमिट लिंक की रफ़्तार"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"रिसीव लिंक की रफ़्तार"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"लिंक गति"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"फ़्रीक्वेंसी"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"आईपी पता"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"के द्वारा सहेजा गया"</string>
@@ -941,6 +874,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"EAP विधि"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"चरण 2 प्रमाणीकरण"</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>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"उपयोगकर्ता प्रमाणपत्र"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"पहचान"</string>
@@ -957,6 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"वाई-फ़ाई हॉटस्पॉट से डिवाइस काे जाेड़ने के लिए कम से कम एक बैंड चुनें:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"IP सेटिंग"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"निजता"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"सदस्यता"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"सदस्यता देखें या बदलें"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"अपने आप चुना गया एमएसी"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"कोई डिवाइस जोड़ें"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"डिवाइस को “<xliff:g id="SSID">%1$s</xliff:g>” से जोड़ने के लिए QR कोड को कैमरा विंडो के बीच में लाएं"</string>
@@ -966,12 +902,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"वाई-फ़ाई शेयर करें"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"“<xliff:g id="SSID">%1$s</xliff:g>” से जुड़ने के लिए इस QR कोड को स्कैन करें और पासवर्ड शेयर करें"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"“<xliff:g id="SSID">%1$s</xliff:g>” से जुड़ने के लिए इस QR कोड को स्कैन करें"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"QR कोड नहीं पहचाना जा सका. कोड को बीच में रखें और दोबारा कोशिश करें"</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"फिर से कोशिश करें. अगर समस्या ठीक नहीं होती है, तो डिवाइस बनाने वाली कंपनी से संपर्क करें"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"काेई गड़बड़ी हुई"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"देख लें कि डिवाइस प्लग इन किया हुआ है, चार्ज हो चुका है, और चालू है"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"देख लें कि डिवाइस प्लग इन किया हुआ है, चार्ज हो चुका है, और चालू है. अगर समस्या ठीक नहीं होती है, तो डिवाइस बनाने वाली कंपनी से संपर्क करें"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"इस डिवाइस पर “<xliff:g id="SSID">%1$s</xliff:g>” जोड़ने की सुविधा काम नहीं करती"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"डिवाइस को अपने वाई-फ़ाई ऐक्सेस पॉइंट/राऊटर के पास लाने की कोशिश करें"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"कृपया अपना पासवर्ड फिर से डालें"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"डिवाइस बनाने वाली कंपनी से संपर्क करें"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"कनेक्शन जाँचें और फिर से कोशिश करें"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"नेटवर्क चुनें"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"अपना डिवाइस जोड़ने के लिए कोई नेटवर्क चुनें"</string>
@@ -984,11 +922,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"इस डिवाइस के साथ वाई-फ़ाई शेयर किया जा रहा है…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"कनेक्ट हो रहा है…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"हॉटस्पॉट शेयर करें"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"अपनी पहचान की पुष्टि करें"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"पुष्टि करें कि यह आप ही हैं"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"वाई-फ़ाई पासवर्ड: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"हॉटस्पॉट का पासवर्ड: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"अपने-आप कनेक्ट हो जाए"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"अनुमति दें कि इस वाई-फ़ाई नेटवर्क के पास आते ही आपका फ़ोन अपने-आप इससे कनेक्ट हो जाए"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"अनुमति दें कि इस वाई-फ़ाई नेटवर्क के पास आते ही आपका टैबलेट अपने-आप इससे कनेक्ट हो जाए"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"डिवाइस जोड़ें"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"इस नेटवर्क से किसी डिवाइस को जोड़ने के लिए एक QR कोड का इस्तेमाल करें"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"QR कोड का फ़ॉर्मैट गलत है"</string>
     <string name="retry" msgid="7542103800274026915">"फिर से कोशिश करें"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"अन्‍य डिवाइस उपयोगकर्ताओं से शेयर करें"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(अपरिवर्तित)"</string>
@@ -1000,6 +942,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"कोई प्रमाणपत्र मौजूद नहीं है. आपका कनेक्‍शन निजी नहीं होगा."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"नेटवर्क का नाम बहुत लंबा है."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"डोमेन दर्ज करना आवश्यक है."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"प्रमाणपत्र ज़रूरी है."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"WPS उपलब्‍ध"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (WPS उपलब्‍ध)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"मोबाइल और इंटरनेट सेवा देने वाली कंपनी वाई-फ़ाई नेटवर्क"</string>
@@ -1051,7 +994,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"बेहतर वाई-फ़ाई"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"एसएसआईडी"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"MAC पता"</string>
+    <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"डिवाइस का MAC पता"</string>
+    <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"अपने आप चुना गया एमएसी पता"</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>
@@ -1103,7 +1047,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"अपने दूसरे डिवाइस के लिए हॉटस्पॉट का इस्तेमाल करके वाई-फ़ाई नेटवर्क बनाएं. हॉटस्पॉट आपके मोबाइल डेटा कनेक्शन के ज़रिए इंटरनेट की सुविधा देता है. मोबाइल डेटा के लिए अतिरिक्त भुगतान करना पड़ सकता है."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"ऐप्लिकेशन आस-पास के डिवाइस से सामग्री शेयर करने के लिए कोई हॉटस्पॉट बना सकते हैं."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"हॉटस्पॉट अपने आप बंद करें"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"कोई डिवाइस कनेक्ट नहीं होने पर, वाई-फ़ाई हॉटस्पॉट बंद हो जाएगा"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"जब कोई भी डिवाइस कनेक्ट नहीं किया गया हो"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"हॉटस्‍पॉट को चालू किया जा रहा है…"</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"हॉटस्‍पॉट को बंद किया जा रहा है…"</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> सक्रिय है"</string>
@@ -1112,6 +1056,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"वाई-फ़ाई हॉटस्पॉट सेटअप"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"AndroidAP WPA2 PSK हॉटस्पॉट"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"AndroidHotspot"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"क्या आप यह नेटवर्क सेव करना चाहते हैं?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"<xliff:g id="APPNAME">%1$s</xliff:g> आपके फ़ोन पर वाई-फ़ाई नेटवर्क को जोड़ना चाहता है"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"<xliff:g id="APPNAME">%1$s</xliff:g> आपके टैबलेट पर वाई-फ़ाई नेटवर्क जोड़ना चाहता है"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"सेव किया जा रहा है…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"सेव किया गया"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"सेव नहीं किया जा सका. फिर से कोशिश करें."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"नेटवर्क सेव करें?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"<xliff:g id="APPNAME">%1$s</xliff:g> आपके फ़ोन पर इन वाई-फ़ाई नेटवर्क को जोड़ना चाहता है"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"<xliff:g id="APPNAME">%1$s</xliff:g> आपके टैबलेट पर ये वाई-फ़ाई नेटवर्क जोड़ना चाहता है"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"<xliff:g id="NUMBER">%d</xliff:g> नेटवर्क सेव किए जा रहे हैं…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"सेव किए गए नेटवर्क"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"वाई-फ़ाई कॉलिंग"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"वाई-फ़ाई के ज़रिए कॉल करने की सुविधा चालू करें"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"वाई-फ़ाई कॉलिंग चालू करके कॉल करने का एक और विकल्प पाएं"</string>
@@ -1138,16 +1093,18 @@
     <string name="emergency_address_title" msgid="3490633500025717573">"आपातकालीन पता"</string>
     <string name="emergency_address_summary" msgid="3022628750270626473">"जब आप वाई-फ़ाई पर आपातकालीन कॉल करते हैं, तब आपकी मौजूदा जगह को आपके पते के तौर पर इस्तेमाल किया जाता है"</string>
     <string name="private_dns_help_message" msgid="851221502063782306">"निजी डीएनएस की सुविधाओं के बारे में "<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>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"वाई-फ़ाई कॉलिंग की सुविधा शुरू करें"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"वाई-फ़ाई कॉलिंग की सुविधा चालू करें"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"%1$s पर वाई-फ़ाई कॉलिंग की सुविधा उपलब्ध नहीं है"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"<xliff:g id="SSID">%1$s</xliff:g> से डिसकनेक्ट किया गया"</string>
     <string name="carrier" msgid="1755020806290963951">"मोबाइल और इंटरनेट सेवा देने वाली कंपनी"</string>
     <string name="display_settings_title" msgid="626835071804834218">"स्क्रीन सेटिंग देखें"</string>
     <string name="sound_settings" msgid="5514582720435174014">"साउंड"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"आवाज़"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"संगीत प्रभाव"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"रिंग की आवाज़"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"घंटी और सूचना की आवाज़"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"शांत होने पर कंपन (वाइब्रेशन) करे"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"सूचना की डिफ़ॉल्ट टोन"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"रिंगटोन"</string>
@@ -1272,13 +1229,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"शेड्यूल करें"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"कभी नहीं"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"शाम से सुबह तक चालू रहती है"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"अपने मुताबिक तय समय पर चालू करें"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"स्थिति"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"बंद है / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"कभी भी अपने-आप चालू नहीं होगी"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"शाम होने पर अपने-आप चालू हो जाएगा"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"<xliff:g id="ID_1">%1$s</xliff:g> पर अपने-आप चालू हो जाएगा"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"चालू है / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"कभी भी अपने-आप बंद नहीं होगा"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"सुबह होने पर अपने-आप बंद हो जाएगा"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"<xliff:g id="ID_1">%1$s</xliff:g> पर अपने-आप बंद हो जाएगा"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"<xliff:g id="ID_1">%1$s</xliff:g> तक चालू रखें"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"<xliff:g id="ID_1">%1$s</xliff:g> तक बंद रखें"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"गहरे रंग वाली थीम चालू हाेने पर, स्क्रीन का बैकग्राउंड काला हो जाता है. इससे कुछ डिवाइस पर बैटरी ज़्यादा देर तक चलती है. यह थीम तब चालू होती है, जब स्क्रीन की लाइट बंद हो जाती है."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"स्क्रीन इतनी देर में बंद हो जाएगी"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"स्क्रीन बंद हो जाती है"</string>
@@ -1290,7 +1252,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"वॉलपेपर बदलें"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"अपनी स्क्रीन को अपने मुताबिक बनाएं"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"यहां से वॉलपेपर चुनें:"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"Pixel काे अपनी पसंद के मुताबिक बनाएं"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"अपने फ़ोन को पसंद के मुताबिक बनाएं"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"अलग-अलग स्टाइल, वॉलपेपर, और बहुत कुछ आज़माएं"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"स्क्रीन सेवर"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"चार्ज होते समय या डॉक किए होने पर"</string>
@@ -1379,6 +1341,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"USB मेमोरी अनमाउंट करें, उपलब्‍ध मेमोरी देखें"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"SD कार्ड अनमाउंट करें, उपलब्‍ध मेमोरी देखें"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (सिम डालने की जगह %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"देखने के लिए, सेव किया गया नेटवर्क चुनें"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"फ़ोन नंबर"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (सिम डालने की जगह %1$d)"</string>
@@ -1405,6 +1368,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"रोमिंग"</string>
     <string name="status_operator" msgid="4335640583552058491">"नेटवर्क"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"वाई-फ़ाई  MAC पता"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"डिवाइस के वाई-फ़ाई का MAC पता"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"ब्लूटूथ पता"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"सीरियल नंबर"</string>
     <string name="status_up_time" msgid="1274778533719495438">"चालू रहने का समय"</string>
@@ -1617,6 +1581,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"डिफ़ॉल्‍ट APN सेटिंग रीसेट करना पूरा हुआ."</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"रीसेट विकल्प"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"नेटवर्क, ऐप्लिकेशन या डिवाइस रीसेट किए जा सकते हैं"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"ऐप्लिकेशन रीसेट किए जा सकते हैं"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"वाई-फ़ाई, मोबाइल और ब्लूटूथ रीसेट करें"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"इससे सभी नेटवर्क सेटिंग रीसेट हो जाएंगी, जिनमें ये भी शामिल हैं:\n\n"<li>"वाई-फ़ाई"</li>\n<li>"मोबाइल डेटा"</li>\n<li>"ब्लूटूथ"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"डाउनलोड किए गए सिम मिटाएं"</string>
@@ -1666,6 +1631,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"हॉटस्पॉट चालू है"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"टेदर हो रहा है"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"डेटा बचाने की सेटिंग चालू होने पर इंटरनेट शेयर नहीं किया जा सकता या पोर्टेबल हॉटस्पॉट का इस्तेमाल नहीं किया जा सकता"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"सिर्फ़ हॉटस्पॉट"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"सिर्फ़ यूएसबी"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"सिर्फ़ ब्लूटूथ"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"हॉटस्पॉट और यूएसबी"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"हॉटस्पॉट और ब्लूटूथ"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"यूएसबी और ब्लूटूथ"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"हॉटस्पॉट, यूएसबी, और ब्लूटूथ"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"इंटरनेट को दूसरे डिवाइस से शेयर नहीं किया जा रहा है"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"टेदरिंग"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"वाई-फ़ाई हॉटस्पॉट का इस्तेमाल न करें"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"सिर्फ़ यूएसबी के ज़रिए इंटरनेट शेयर करें"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"सिर्फ़ ब्लूटूथ के ज़रिए इंटरनेट शेयर करें"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"सिर्फ़ ब्लूटूथ और यूएसबी के ज़रिए इंटरनेट शेयर करें"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"यूएसबी से टेदरिंग"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"यूएसबी के ज़रिए फ़ोन का इंटरनेट कनेक्‍शन शेयर करें"</string>
@@ -1756,9 +1734,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"सुरक्षा की जानकारी"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"आपके पास डेटा कनेक्‍शन नहीं है. इस जानकारी को अभी देखने के लिए, इंटरनेट से जुड़े किसी भी कंप्‍यूटर से %s पर जाएं."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"लोड हो रहा है..."</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"पिन इस्तेमाल करें"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"पैटर्न इस्तेमाल करें"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"पासवर्ड इस्तेमाल करें"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"स्‍क्रीन लॉक सेट करें"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"सुरक्षा के लिए पासवर्ड सेट करें"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"फ़िंगरप्रिंट का उपयोग करने के लिए, पासवर्ड सेट करें"</string>
@@ -1767,8 +1742,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"फ़िंगरप्रिंट का उपयोग करने के लिए, पिन सेट करें"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"सुरक्षा के लिए पैटर्न सेट करें"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"पासवर्ड फिर से डालें"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"अपनी वर्क प्रोफ़ाइल का पासवर्ड डालें"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"अपने पैटर्न की पुष्टि करें"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"वर्क प्रोफ़ाइल का पैटर्न डालें"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"पिन फिर से डालें"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"अपनी वर्क प्रोफ़ाइल का पिन डालें"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"पासवर्ड मेल नहीं खाते"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"पिन मेल नहीं खाते"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"अपना पैटर्न फिर से बनाएं"</string>
@@ -1779,6 +1757,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"\'चेहरा पहचानकर अनलॉक\' का बैकअप सेट करें"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"\'चेहरा पहचानकर अनलॉक\' का बैकअप सेट करें"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"\'चेहरा पहचानकर अनलॉक\' का बैकअप सेट करें"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"अपना पासवर्ड भूल गए हैं?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"अपना पैटर्न भूल गए हैं?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"अपना पिन भूल गए हैं?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"जारी रखने के लिए अपने डिवाइस पैटर्न का इस्तेमाल करें"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"जारी रखने के लिए अपना डिवाइस पिन डालें"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"जारी रखने के लिए अपना डिवाइस पासवर्ड डालें"</string>
@@ -1846,6 +1827,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"सभी ऐप्लिकेशन स्रोतों को अनुमति दें"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"हाल ही में खोले गए ऐप्लिकेशन"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"सभी <xliff:g id="COUNT">%1$d</xliff:g> ऐप्लिकेशन देखें"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"अपने आईटी एडमिन से संपर्क करें"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"आप अपने पिन, पैटर्न या पासवर्ड को रीसेट करने के लिए आईटी एडमिन की मदद ले सकते हैं"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"आपके टैबलेट और व्यक्तिगत डेटा पर अनजान ऐप्लिकेशन की ओर से हमला किए जाने का जोखिम ज़्यादा है. इस स्रोत से आने वाले ऐप्लिकेशन इंस्टॉल करके, आप सहमति देते हैं कि उनके उपयोग के कारण आपके टैबलेट को होने वाले किसी भी नुकसान या डेटा की हानि के लिए आप ही ज़िम्मेदार हैं."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"आपके फ़ोन और व्यक्तिगत डेटा पर अनजान ऐप्लिकेशन की ओर से हमला किए जाने का जोखिम ज़्यादा है. इस स्रोत से आने वाले ऐप्लिकेशन इंस्टॉल करके, आप सहमति देते हैं कि उनके उपयोग के कारण आपके फ़ोन को होने वाले किसी भी नुकसान या डेटा की हानि के लिए आप ही ज़िम्मेदार हैं."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"आपके डिवाइस और निजी डेटा पर अनजान ऐप्लिकेशन के ज़रिए हमला किए जाने का खतरा ज़्यादा होता है. इस स्रोत से ऐप्लिकेशन इंस्टॉल करके, आप मंज़ूरी देते हैं कि उनके इस्तेमाल की वजह से आपके डिवाइस को होने वाले किसी भी नुकसान या डेटा मिट जाने पर आप ही ज़िम्मेदार होंगे."</string>
@@ -1897,7 +1880,7 @@
     <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="1377296810290814749">"इससे इन सबके लिए पसंद रीसेट हो जाएंगी:\n\n"<li>"बंद किए गए ऐप्लिकेशन"</li>\n<li>"बंद की गई ऐप्लिकेशन सूचनाएं"</li>\n<li>"कार्रवाइयों के लिए डिफ़ॉल्ट ऐप्लिकेशन"</li>\n<li>"ऐप्लिकेशन के लिए बैकग्राउंड डेटा पर रोक"</li>\n<li>"किसी भी मंज़ूरी पर रोक"</li>\n\n"आपका सारा ऐप्लिकेशन डेटा बना रहेगा."</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>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"ऐप्लिकेशन  रीसेट करें"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"जगह प्रबंधित करें"</string>
     <string name="filter" msgid="9039576690686251462">"फ़िल्टर"</string>
@@ -2097,7 +2080,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"ऑडियो और ऑन-स्क्रीन लेख"</string>
     <string name="display_category_title" msgid="6638191682294461408">"डिसप्ले"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"इंटरैक्शन नियंत्रण"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"डाउनलोड की गई सेवाएं"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"डाउनलोड किए गए ऐप्लिकेशन"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"प्रयोग के लिए"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"सुविधाएं दिखाने वाले फ़्लैग"</string>
     <string name="talkback_title" msgid="8756080454514251327">"टॉकबैक"</string>
@@ -2105,27 +2088,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"अपनी स्क्रीन पर दिए गए आइटम तेज़ आवाज़ में सुनने के लिए उन्हें टैप करें"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"कैप्शन की प्राथमिकताएं"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"बड़ा करना"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"स्क्रीन का बड़ा किया गया हिस्सा"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"स्क्रीन बड़ी करने का मोड चालू करें"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"उस हिस्से को चुनें जिसे आप स्क्रीन पर बड़ा करके देखना चाहते हैं"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"फ़ुल स्क्रीन"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"स्क्रीन का हिस्सा"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"पूरी स्क्रीन और स्क्रीन का हिस्सा"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"पूरी स्क्रीन को बड़ा करें"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"स्क्रीन के किसी हिस्से को बड़ा करें"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"स्क्रीन को बड़ा करने की सेटिंग"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"तीन बार टैप करके आकार बढ़ाएं"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"शॉर्टकट की मदद से बड़ा करके देखें"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"तीन बार टैप और शॉर्टकट की मदद से बड़ा करके देखें"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"<xliff:g id="SERVICE">%1$s</xliff:g> के बारे में जानकारी"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"विकल्प"</string>
     <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="2831926970059739911"><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_screen_magnification_navbar_summary" msgid="5603519616005297803">"बड़ा करके देखने की सुविधा चालू होने पर, आप स्क्रीन को ज़ूम इन कर सकते हैं.\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_screen_magnification_summary" msgid="7617931632990040045">"स्क्रीन पर मौजूद सामग्री साफ़-साफ़ देखने के लिए तेज़ी से ज़ूम इन करें.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;ज़ूम इन करने के लिए:&lt;/b&gt;&lt;br/&gt;	1. ज़ूम करने की सुविधा को शुरू करने के लिए शॉर्टकट का इस्तेमाल करें&lt;br/&gt;	2. स्क्रीन पर टैप करें&lt;br/&gt;	3. स्क्रीन पर इधर-उधर देखने के लिए दो उंगलियों से खींचें और छोड़ें&lt;br/&gt;	4. ज़ूम काे कम या ज़्यादा करने के लिए दो उंगलियों से पिंच करें&lt;br/&gt;	5. ज़ूम करने की सुविधा को बंद करने के लिए शॉर्टकट का इस्तेमाल करें&lt;br/&gt;&lt;br/&gt;&lt;b&gt;कुछ समय के लिए ज़ूम इन करना है, ताे:&lt;/b&gt;&lt;br/&gt;	1. ज़ूम करने की सुविधा को शुरू करने के लिए शॉर्टकट का इस्तेमाल करें&lt;br/&gt;	2. स्क्रीन पर कहीं भी उंगली से दबाकर रखें&lt;br/&gt;	3. स्क्रीन पर इधर-उधर देखने के लिए उंगली से खींचें और छोड़ें&lt;br/&gt;	4. ज़ूम करने की सुविधा को रोकने के लिए अपनी उंगली स्क्रीन से हटाएं"</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"बड़ा करके देखने की सुविधा चालू होने पर, आप स्क्रीन को ज़ूम इन कर सकते हैं.\n\n"<b>"ज़ूम करने के लिए"</b>", बड़ा करके देखने की सुविधा चालू करें और फिर स्क्रीन पर कहीं भी टैप करें.\n"<ul><li>"स्क्रोल करने के लिए दो या ज़्यादा उंगलियों से खींचें और छोड़ें"</li>\n<li>"ज़ूम नियंत्रित करने के लिए दो या ज़्यादा उंगलियों से पिंच करें"</li></ul>\n\n<b>"थोड़ी देर तक ज़ूम करने के लिए"</b>", बड़ा करके देखने की सुविधा चालू करें, फिर स्क्रीन पर कहीं भी दबाकर रखें.\n"<ul><li>"स्क्रीन के दूसरे हिस्सों पर जाने के लिए, उंगलियों से खींचें और छोड़ें"</li>\n<li>"ज़ूम घटाने के लिए उंगलियों को स्क्रीन से हटाएं"</li></ul>\n\n"आप कीबोर्ड या नेविगेशन बार को ज़ूम इन नहीं कर सकते."</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"इसे खोलने के लिए सुलभता बटन का इस्तेमाल करें"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"इसे खोलने के लिए हाथ के जेस्चर का इस्तेमाल करें"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"सुलभता वाले नए जेस्चर इस्तेमाल करें"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"यह सुविधा चालू या बंद करने के लिए, स्क्रीन पर सबसे नीचे सुलभता बटन<xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>पर टैप करें.\n\nएक सेवा से दूसरी सेवा पर जाने के लिए, सुलभता बटन दबाकर रखें."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"यह सुविधा चालू या बंद करने के लिए, स्क्रीन के सबसे निचले हिस्से से ऊपर की ओर दो उंगलियों से स्वाइप करें.\n\nएक सेवा से दूसरी सेवा पर जाने के लिए, दो उंगलियों से ऊपर की ओर स्वाइप करें और थोड़ी देर तक स्क्रीन पर उंगली बनाए रखें."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"यह सुविधा चालू या बंद करने के लिए, स्क्रीन के सबसे निचले हिस्से से ऊपर की ओर तीन उंगलियों से स्वाइप करें.\n\nएक सेवा से दूसरी सेवा पर जाने के लिए, तीन उंगलियों से ऊपर की ओर स्वाइप करें और थोड़ी देर तक स्क्रीन पर उंगली बनाए रखें."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"किसी सुलभता सेवा को चालू या बंद करने के लिए, स्क्रीन के सबसे निचले हिस्से से ऊपर की ओर दो उंगलियों से स्वाइप करें.\n\nएक सेवा से दूसरी सेवा पर जाने के लिए, दो उंगलियों से ऊपर की ओर स्वाइप करें और थोड़ी देर तक स्क्रीन पर उंगली बनाए रखें."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"किसी सुलभता सेवा को चालू या बंद करने के लिए, स्क्रीन के सबसे निचले हिस्से से ऊपर की ओर तीन उंगलियों से स्वाइप करें.\n\nएक सेवा से दूसरी सेवा पर जाने के लिए, तीन उंगलियों से ऊपर की ओर स्वाइप करें और थोड़ी देर तक स्क्रीन पर उंगली बनाए रखें."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"इस सेवा को चालू या बंद करने के लिए स्क्रीन पर सबसे नीचे सुलभता बटन <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>पर टैप करें.\n\nएक सेवा से दूसरी सेवा पर जाने के लिए सुलभता बटन दबाकर रखें."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"यह सुविधा चालू या बंद करने के लिए, स्क्रीन के सबसे निचले हिस्से से ऊपर की ओर दो उंगलियों से स्वाइप करें.\n\nएक सेवा से दूसरी सेवा पर जाने के लिए, दो उंगलियों से ऊपर की ओर स्वाइप करें और थोड़ी देर तक स्क्रीन को दबाए रखें."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"यह सुविधा चालू या बंद करने के लिए, स्क्रीन के सबसे निचले हिस्से से ऊपर की ओर तीन उंगलियों से स्वाइप करें.\n\nएक सेवा से दूसरी सेवा पर जाने के लिए, तीन उंगलियों से ऊपर की ओर स्वाइप करें और थोड़ी देर तक स्क्रीन को दबाए रखें."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"किसी सुलभता सेवा को चालू या बंद करने के लिए, स्क्रीन के सबसे निचले हिस्से से ऊपर की ओर दो उंगलियों से स्वाइप करें.\n\nएक सेवा से दूसरी सेवा पर जाने के लिए, दो उंगलियों से ऊपर की ओर स्वाइप करें और थोड़ी देर तक स्क्रीन को दबाए रखें."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"किसी सुलभता सेवा को चालू या बंद करने के लिए, स्क्रीन के सबसे निचले हिस्से से ऊपर की ओर तीन उंगलियों से स्वाइप करें.\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="2820923641553461297">"सुलभता बटन"</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>
+    <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8922102767509399352">"स्क्रीन पर सबसे नीचे मौजूद, सुलभता बटन <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> पर टैप करें"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"स्क्रीन के सबसे निचले हिस्से से ऊपर की ओर दो उंगलियों से स्वाइप करें"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"स्क्रीन के सबसे निचले हिस्से से ऊपर की ओर तीन उंगलियों से स्वाइप करें"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"आवाज़ कम-ज़्यादा करने वाले बटन दबाकर रखें"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"आवाज़ कम-ज़्यादा करने वाले दोनों बटन, एक सेकंड तक दबाकर रखें"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"स्क्रीन पर तीन बार टैप करें"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"स्क्रीन पर तीन बार तेज़ी से टैप करें. इस शॉर्टकट से आपके डिवाइस की रफ़्तार धीमी हो सकती है."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"बेहतर"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"सुलभता बटन <xliff:g id="SERVICE">%1$s</xliff:g> पर सेट है. बड़ा करने के लिए, सुलभता बटन को दबाकर रखें, फिर बड़ा करना चुनें."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"सुलभता जेस्चर को <xliff:g id="SERVICE">%1$s</xliff:g> के लिए सेट किया गया है. बड़ा करने के लिए, दो उंगलियों से स्क्रीन के सबसे निचले हिस्से से ऊपर की ओर स्वाइप करें और रुके रहें. फिर \'बड़ा करना\' चुनें."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"आवाज़ बटन का शॉर्टकट"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"शॉर्टकट सेवा"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"शॉर्टकट की सेटिंग"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"लॉक स्क्रीन से अनुमति दें"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"शॉर्टकट चालू होने पर, आप कोई सुलभता सेवा शुरू करने के लिए आवाज़ की दोनों कुंजियों को 3 सेकंड तक दबाए रख सकते हैं."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"ज़्यादा कंट्रास्ट वाला लेख"</string>
@@ -2149,24 +2157,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"चुनें कि आपको कार्रवाई करने के लिए कहने वाले मैसेज कितनी देर तक दिखाने हैं, लेकिन वे सिर्फ़ कुछ समय के लिए ही दिखाई देते हैं.\n\nयह सेटिंग सभी ऐप्लिकेशन पर काम नहीं करती है."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"दबाकर रखने की अवधि"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"रंग बदलें"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"डिसप्ले पर असर पड़ सकता है"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"कर्सर रुकने की अवधि"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"रंग बदलने की सुविधा का इस्तेमाल करें"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"रंग बदलने की सुविधा के इस्तेमाल से हल्के रंग की स्क्रीन गहरे रंग में बदल जाती हैं. इससे उन लोगों को आसानी होती है जिन्हें तेज़ रोशनी से दिक्कत होती है.&lt;br/&gt;&lt;br/&gt;ध्यान दें: गहरे रंग थोड़े हल्के हो जाएंगे. मीडिया और इमेज में रंग बदल जाएंगे. आप गहरे रंग वाली थीम (सेटिंग &gt; डिसप्ले) का भी इस्तेमाल कर सकते हैं."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"ऑटो क्लिक (ड्वेल टाइम)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"अगर आप माउस इस्तेमाल कर रहे हैं तो, सेट कर सकते हैं कि किसी जगह पर एक तय समय तक रुकने के बाद कर्सर अपने आप कार्रवाई करे."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"क्लिक करने से पहले का विलंब"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"\'ऑटाे क्लिक\' का इस्तेमाल न करें (डिफ़ॉल्ट रूप से)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"शॉर्ट"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0.2 सेकंड"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"मीडियम"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0.6 सेकंड"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"लॉन्ग"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 सेकंड"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"कस्टम"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"कम"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"ज़्यादा"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"अपने-आप क्लिक होने में लगने वाला समय"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"वाइब्रेशन और हैप्टिक तीव्रता"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"सूचना के लिए वाइब्रेशन"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"घंटी के लिए वाइब्रेशन"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"टच फ़ीडबैक"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"सेवा इस्तेमाल करें"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g> का इस्तेमाल करें"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g> खोलें"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"रंग में सुधार करने की सुविधा इस्तेमाल करें"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"कैप्शन इस्तेमाल करें"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"कैप्शन दिखाएं"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"कैप्शन ऐसा दिखेगा"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"टेक्स्ट का साइज़, कैप्शन की शैली"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"ज़्यादा विकल्प"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"यह सेटिंग कुछ ऐप्लिकेशन पर काम नहीं करती."</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>
     <string name="accessibility_hearingaid_instruction_continue_button" msgid="3367260988024430722">"जारी रखें"</string>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"सुनने में मदद करने वाला डिवाइस"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"सुनने में मददगार कोई भी डिवाइस जुड़ा हुआ नहीं है"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"सुनने में मदद करने वाले डिवाइस जोड़ें"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"सुनने में मदद करने वाला डिवाइस जोड़ने के लिए, अगली स्क्रीन पर अपना डिवाइस ढूंढें और टैप करें."</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"यह देख लें कि सुनने में आपकी मदद करने वाला डिवाइस दूसरे डिवाइस से जुड़ने वाले मोड में है."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"सुनने में मदद करने वाला डिवाइस जोड़ने के लिए, अगली स्क्रीन पर अपना डिवाइस ढूंढें और उस पर टैप करें. यह देख लें कि सुनने में आपकी मदद करने वाला डिवाइस दूसरे डिवाइस से जुड़ने वाले मोड में है."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> चालू है"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="one">सुनने में मददगार <xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> डिवाइस सेव किए गए</item>
@@ -2178,25 +2204,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"यह सेवा ठीक से काम नहीं कर रही है."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"त्वरित सेटिंग में दिखाएं"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"सुधार मोड"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="one">अत्यंत कम समय का विलंब (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> मिसे)</item>
-      <item quantity="other">अत्यंत कम समय का विलंब (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> मिसे)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"लाल-हरा रंग पहचान न पाना"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"हरा-लाल रंग पहचान न पाना"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"नीला-पीला रंग पहचान न पाना"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"लाल-हरे रंग की पहचान न कर पाने की समस्या"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"हरा-लाल रंग पहचान न पाने की समस्या"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"नीले-पीले रंग की पहचान न कर पाने की समस्या"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="one">काफ़ी कम समय की देरी (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> सेकंड)</item>
+      <item quantity="other">काफ़ी कम समय की देरी (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> सेकंड)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="one">बहुत कम समय का विलंब (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> मिसे)</item>
-      <item quantity="other">बहुत कम समय का विलंब (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> मिसे)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="one">बहुत कम समय की देरी (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> सेकंड)</item>
+      <item quantity="other">बहुत कम समय की देरी (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> सेकंड)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="one">थोड़े समय का विलंब (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> मिसे)</item>
-      <item quantity="other">थोड़े समय का विलंब (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> मिसे)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="one">कम समय की देरी (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> सेकंड)</item>
+      <item quantity="other">कम समय की देरी (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> सेकंड)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="one">ज़्यादा समय का विलंब (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> मिसे)</item>
-      <item quantity="other">ज़्यादा समय का विलंब (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> मिसे)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="one">लंबे समय की देरी (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> सेकंड)</item>
+      <item quantity="other">लंबे समय की देरी (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> सेकंड)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="one">अत्यधिक समय का विलंब (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> मिसे)</item>
-      <item quantity="other">अत्यधिक समय का विलंब (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> मिसे)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="one">काफ़ी लंबे समय की देरी (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> सेकंड)</item>
+      <item quantity="other">काफ़ी लंबे समय की देरी (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> सेकंड)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> सेकंड</item>
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> सेकंड</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"घंटी <xliff:g id="SUMMARY_RING">%1$s</xliff:g>, सूचना <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>,  छूना (टच) <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"घंटी बजने और सूचना आने के लिए वाइब्रेशन, बंद पर सेट है"</string>
@@ -2513,7 +2549,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"जब अंतिम बार <xliff:g id="UNPLUGGED">%1$s</xliff:g> के लिए अनप्‍लग किया गया"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"कुल उपयोग"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"रीफ़्रेश करें"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"Android OS"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"मीडिया सर्वर"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"ऐप्‍स ऑप्‍टिमाइज़ेशन"</string>
     <string name="battery_saver" msgid="7737147344510595864">"बैटरी सेवर"</string>
@@ -2594,8 +2629,7 @@
     <string name="tts_play" msgid="2945513377250757221">"चलाएं"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"वीपीएन"</string>
     <string name="credentials_title" msgid="7535942196886123656">"क्रेडेंशियल स्टोरेज"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"मेमोरी से इंस्‍टॉल करें"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"SD कार्ड से इंस्‍टॉल करें"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"कोई प्रमाणपत्र इंस्टॉल करें"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"मेमोरी से प्रमाणपत्र इंस्‍टॉल करें"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"SD कार्ड से प्रमाणपत्र इंस्‍टॉल करें"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"क्रेडेंशियल मिटाएं"</string>
@@ -2615,6 +2649,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"प्रमाणिकता मेमोरी मिटा दिया गया है."</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"प्रमाणिकता मेमोरी मिटाया नहीं जा सका."</string>
     <string name="usage_access_title" msgid="1580006124578134850">"उपयोग के ऐक्सेस वाले ऐप्लिकेशन"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"CA प्रमाणपत्र"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"वीपीएन और एएमपी; ऐप्लिकेशन उपयोगकर्ता प्रमाणपत्र"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"वाई-फ़ाई प्रमाणपत्र"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"आपकी निजता खतरे में है"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"वेबसाइट, ऐप्लिकेशन, और वीपीएन \'CA प्रमाणपत्र\' का इस्तेमाल सुरक्षा के लिए करते हैं. सिर्फ़ उन संगठनों से मिले CA प्रमाणपत्र इंस्टॉल करें जिन पर आप भरोसा करते हैं. \n\n अगर आप CA प्रमाणपत्र इंस्टॉल करते हैं, तो इस प्रमाणपत्र का मालिक आपकी जानकारी, जैसे कि पासवर्ड, मैसेज या क्रेडिट कार्ड का ब्यौरा ऐक्सेस कर सकता है. ऐसा वह उन वेबसाइट या ऐप्लिकेशन से कर सकता है जिनका आप अक्सर इस्तेमाल करते हैं, भले ही वे जानकारियां सुरक्षित क्यों न की गई हों."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"इंस्टॉल न करें"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"फिर भी इंस्टॉल करें"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"प्रमाणपत्र इंस्टॉल नहीं किया गया है"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"आपातकालीन डायलिंग सिग्नल"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"आपातकालीन कॉल करने के दौरान व्‍यवहार सेट करें"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"बैकअप लें"</string>
@@ -2642,10 +2684,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"बंद करें और अनइंस्टॉल करें"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"डिवाइस के एडमिन ऐप्लिकेशन"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"कोई भी डिवाइस व्यवस्थापक ऐप्लिकेशन उपलब्ध नहीं है"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"व्यक्तिगत"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"दफ़्तर"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"मैसेज (एसएमएस) और कॉल लॉग ऐक्सेस प्रतिबंधित करें"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"सिर्फ़ डिफ़ॉल्ट फ़ोन और मैसेज-सेवा देने वाले ऐप्लिकेशन के पास मैसेज (एसएमएस) और कॉल लॉग की अनुमतियां होती हैं"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"कोई ट्रस्ट एजेंट उपलब्ध नहीं"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"इस डिवाइस एडमिन ऐप्लिकेशन को चालू करें?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"इस डिवाइस एडमिन ऐप्लिकेशन को चालू करें"</string>
@@ -2659,6 +2697,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"आपके व्यवस्थापक ने दूसरे विकल्पों को अक्षम किया हुआ है"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"ज़्यादा विवरण"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"सूचना लॉग"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"सूचनाओं का इतिहास"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"आज"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"स्नूज़ (अलार्म थोड़ी देर के लिए चुप करना) किया गया"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"हाल ही में खारिज किया गया"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="one"><xliff:g id="NUMBER_1">%d</xliff:g> सूचना</item>
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> सूचनाएं</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"रिंगटोन और कंपन (वाइब्रेशन)"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"नेटवर्क की जानकारी"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"समन्वयन सक्षम"</string>
@@ -3008,7 +3054,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"प्रतिबंध"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"प्रतिबंधों को निकालें"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"पिन बदलें"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"सूचनाएं दिखाएं"</string>
     <string name="help_label" msgid="2896538416436125883">"सहायता और फ़ीडबैक"</string>
     <string name="support_summary" msgid="1034146931237148885">"सहायता लेख, फ़ोन और चैट, शुरू करना"</string>
     <string name="user_account_title" msgid="6389636876210834864">"सामग्री के लिए खाता"</string>
@@ -3033,6 +3078,14 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G कॉलिंग"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"आवाज़ और दूसरी तरह के संचार को बेहतर बनाने के लिए LTE सेवाओं का इस्तेमाल करें (सुझाया गया)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"आवाज़ और दूसरे संचारों को बेहतर बनाने के लिए 4G सेवाओं का इस्तेमाल करें (सुझाया गया)"</string>
+    <!-- no translation found for contact_discovery_opt_in_title (4076990635900099116) -->
+    <skip />
+    <!-- no translation found for contact_discovery_opt_in_summary (4104310593310967300) -->
+    <skip />
+    <!-- no translation found for contact_discovery_opt_in_dialog_title (6278407286820554079) -->
+    <skip />
+    <!-- no translation found for contact_discovery_opt_in_dialog_message (5787751513924920435) -->
+    <skip />
     <string name="preferred_network_type_title" msgid="812509938714590857">"अपनी पसंद का नेटवर्क"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (सुझाया गया)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"मल्टीमीडिया मैसेज (एमएमएस)"</string>
@@ -3077,7 +3130,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"इस सिम से कॉल करें"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"सिम कार्ड चुनें"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"सिम <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"सिम खाली है"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"सिम का नाम"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"सिम का नाम डालें"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"सिम स्‍लॉट %1$d"</string>
@@ -3087,6 +3139,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"सिम कार्ड चुनें"</string>
     <string name="color_orange" msgid="216547825489739010">"नारंगी"</string>
     <string name="color_purple" msgid="6603701972079904843">"बैंगनी"</string>
+    <string name="color_pink" msgid="8596872110888626708">"गुलाबी"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"कोई सिम कार्ड नहीं डाला गया"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"सिम स्थिति"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"सिम की स्थिति (सिम डालने की जगह %1$d)"</string>
@@ -3100,7 +3153,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"SIM कार्ड बदला गया."</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"सेट करने के लिए टैप करें"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"इसके लिए पसंदीदा सिम"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"हर बार पूछें"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"चुना जाना ज़रूरी है"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"सिम का चुनाव"</string>
@@ -3118,6 +3170,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"ब्लूटूथ, ड्राइविंग मोड"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"ब्लूटूथ, एनएफ़सी"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"ब्लूटूथ"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"NFC बंद होने की वजह से यह सुविधा उपलब्ध नहीं है"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"ऐप्लिकेशन और सूचनाएं"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"हाल ही के ऐप्लिकेशन, डिफ़ॉल्ट ऐप्लिकेशन"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"वर्क प्रोफ़ाइल चालू होने पर ऐप्लिकेशन से जुड़ी सूचना नहीं देखी जा सकती है."</string>
@@ -3128,13 +3181,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"सेटिंग"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"वाईफ़ाई, वाई-फ़ाई, नेटवर्क कनेक्शन, इंटरनेट, वायरलेस, डेटा, वाई फ़ाई"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"वाई-फ़ाई सूचना, वाई-फ़ाई नोटिफ़िकेशन"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"डेटा खर्च"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"वाइब्रेशन बंद करें, टैप करें, कीबोर्ड"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"24-घंटे वाला फ़ॉर्मैट इस्तेमाल करें"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"डाउनलोड करें"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"इसके ज़रिए खोलें"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"ऐप्लिकेशन"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"समय क्षेत्र"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"चैट हेड"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"चैट हेड, सिस्टम, अलर्ट, विंडो, संवाद, और डिसप्ले को दूसरे ऐप्लिकेशन के ऊपर दिखाएं"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"फ़्लैशलाइट, लाइट, टॉर्च"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"वाईफ़ाई, वाई-फ़ाई, टॉगल, नियंत्रण"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"सेल्युलर, मोबाइल, मोबाइल और इंटरनेट सेवा देने वाली कंपनी, वायरलेस, डेटा, 4g,3g, 2g, lte"</string>
@@ -3158,7 +3212,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"न करें, परेशान न करें, बाधा डालें, बाधा, विराम"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"आस-पास, जगह की जानकारी, इतिहास, रिपोर्ट करना, जीपीएस"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"खाता"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"खाता, कोई खाता जोड़ें, वर्क प्रोफ़ाइल, खाता जोड़ें"</string>
     <string name="keywords_users" msgid="3497517660077620843">"प्रतिबंध, प्रतिबंधित करें, प्रतिबंधित"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"लिखी हुई सामग्री में सुधार, सही आवाज़, वाइब्रेशन (कंपन), अपने आप आने वाले भाषा के सुझाव, हाथ के जेस्चर(स्पर्श) के सुझाव, थीम, आपत्तिजनक शब्द, लिखना, इमोजी, अंतर्राष्ट्रीय"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"रीसेट करें, प्राथमिकताएं, डिफ़ॉल्‍ट"</string>
@@ -3196,6 +3250,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"मेमोरी, कैश, डेटा, मिटाएं, हटाएं, खाली करें, जगह"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"जुड़ा हुआ है, डिवाइस, हेडफ़ोन, हेडसेट, स्पीकर, वायरलेस, दूसरे डिवाइस से जोड़ें, ईयरबड, संगीत, मीडिया"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"बैकग्राउंड, स्क्रीन, लॉकस्क्रीन, थीम"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"आइकॉन का आकार, एक्सेंट रंग, फ़ॉन्ट"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"डिफ़ॉल्ट, assistant"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"भुगतान, डिफ़ॉल्‍ट"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"आने वाली सूचना"</string>
@@ -3205,18 +3260,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"हैप्टिक, वाइब्रेशन, संवेदनशीलता"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"बैटरी सेव करने वाला, स्टिकी, लगातार, पावर सेवर, बैटरी"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"रूटीन, शेड्यूल, बैटरी सेवर, पावर सेवर, बैटरी, ऑटोमैटिक, प्रतिशत"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"वर्क प्रोफ़ाइल"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"volte, बेहतर कॉलिंग, 4g कॉलिंग"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"भाषा जोड़ें, किसी भाषा को जोड़ें"</string>
     <string name="default_sound" msgid="6604374495015245195">"डिफ़ॉल्‍ट ध्‍वनि"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"रिंग की आवाज़ <xliff:g id="PERCENTAGE">%1$s</xliff:g> है"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"घंटी और सूचना की आवाज़ <xliff:g id="PERCENTAGE">%1$s</xliff:g> है"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"आवाज़, वाइब्रेशन, परेशान न करें"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"रिंगर, कंपन (वाइब्रेशन) पर सेट है"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"रिंगर मौन पर सेट है"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"रिंग की आवाज़ 80% है"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"घंटी और सूचना की आवाज़ 80% है"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"मीडिया की आवाज़"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"आवाज़ कास्ट करें"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"कॉल की आवाज़"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"अलार्म की आवाज़"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"रिंग की आवाज़"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"घंटी और सूचना की आवाज़"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"सूचना की आवाज़"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"फ़ोन रिंगटोन"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"सूचना की डिफ़ॉल्ट टोन"</string>
@@ -3224,6 +3280,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"सूचना की डिफ़ॉल्ट टोन"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"अलार्म की डिफ़ॉल्ट आवाज़"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"कॉल आने पर वाइब्रेट होना"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"वाइब्रेट न हो"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"वाइब्रेट हो"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"पहले वाइब्रेट हो, फिर धीरे-धीरे घंटी बजे"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"अन्य आवाज़ें"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"डायल पैड टोन"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"स्क्रीन लॉक करने की आवाज़ें"</string>
@@ -3247,6 +3306,7 @@
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> नियम चालू हो गए</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"परेशान न करें"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"सिर्फ़ ज़रूरी लोगों और ऐप्लिकेशन की सूचनाएं पाएं"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"रुकावटों को कम करें"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"\'परेशान न करें\' चालू करें"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"अपवाद"</string>
@@ -3273,7 +3333,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"मैसेज पर स्क्रीन चमकने से रोकें"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"संकेत दिखाए जाने की अनुमति दें"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"\'परेशान न करें\' के चालू होने पर"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"उन सूचनाओं की अनुमति दें जिनके लिए आवाज़ होती है"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"सूचनाओं पर रोक लगाएं"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"सूचनाएं आने पर कोई आवाज़ सुनाई न दे"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"अगर आप यह सेटिंग चुनते हैं तो, आपको डिवाइस की स्क्रीन पर सूचनाएं दिखाई देंगी"</string>
@@ -3304,7 +3364,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"आवाज़ और वाइब्रेशन"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"आवाज़, कंपन (वाइब्रेशन) और सूचनाएं आने पर दिखाई देने वाले कुछ संकेत"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"आवाज़, कंपन (वाइब्रेशन) और सूचनाएं आने पर दिखाई देने वाले संकेत"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"फ़ोन की बुनियादी गतिविधि और स्थिति के लिए ज़रूरी सूचनाओं को कभी छिपाया नहीं जाएगा"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"फ़ोन की सामान्य गतिविधि और स्थिति की सूचनाओं को कभी छिपाया नहीं जाएगा."</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"कोई आवाज़ नहीं"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"दूसरे विकल्प"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"जोड़ें"</string>
@@ -3334,10 +3394,12 @@
       <item quantity="one"><xliff:g id="ON_COUNT">%d</xliff:g> शेड्यूल अपने आप चालू हो सकते हैं</item>
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> शेड्यूल अपने आप चालू हो सकते हैं</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"डिवाइस म्यूट करें, लेकिन अपवादों की मंज़ूरी दें"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"अपवाद"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"तय किया गया समय"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"सभी अपवाद देखें"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"\'परेशान न करें\' मोड चालू होने के बावजूद, ये सुविधाएं काम कर सकती हैं"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"लोग"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"ऐप्लिकेशन"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"अलार्म और दूसरी सूचनाएं"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"शेड्यूल"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"म्यूट की गई सूचनाएं"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"\'परेशान न करें\' सुविधा चालू होने पर आवाज़ और वाइब्रेशन बंद रहेंगे. हालांकि, जिन चीजों के लिए आपने मंज़ूरी दी है उनके लिए यह सुविधा काम नहीं करेगी."</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"इन्हें छोड़कर, बाकी सभी सूचनाओं को म्यूट करें"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"म्यूट किया गया"</string>
@@ -3381,16 +3443,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"ज़रूरत के हिसाब से सूचनाएं"</string>
     <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_capabilities_actions_replies_title" msgid="4392470465646394289">"सुझाई गई कार्रवाइयां और जवाब"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"सुझाई गई कार्रवाइयां और जवाब अपने आप दिखाएं"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"पुरानी और स्नूज़ की गई सूचनाओं पर नज़र रखने के लिए, सूचनाओं के इतिहास की सुविधा चालू करें"</string>
+    <string name="notification_history" msgid="8663811361243456201">"सूचनाओं का इतिहास"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"इतिहास चालू करें"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"इतिहास बंद करें"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"सूचनाओं के इतिहास की सुविधा बंद है"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"सूचना सेटिंग देखें"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"सूचना स्नूज़ करने की अनुमति दें"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"बिना आवाज़ वाली सूचनाओं से आइकॉन छिपाएं"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"स्टेटस बार में बिना आवाज़ वाली सूचनाओं के आइकॉन नहीं दिखाए जाते हैं"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"सूचना बिंदुओं की अनुमति दें"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"हाल की बातचीत के स्ट्रिप दिखाएं"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"बबल"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"स्क्रीन पर कुछ सूचनाएं बबल के रूप में दिखाई दे सकती हैं."</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"कुछ सूचनाएं और दूसरी सामग्री स्क्रीन पर बबल के रूप में दिखाई दे सकती हैं. बबल खोलने के लिए इस पर टैप करें. इसे खारिज करने के लिए इसे खींचकर स्क्रीन पर नीचे की ओर ले जाएं."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"बबल"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"नए मैसेज आपकी स्क्रीन पर दिखेंगे"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"<xliff:g id="APP_NAME">%1$s</xliff:g> को कुछ सूचनाएं बबल के तौर पर दिखाने की अनुमति दें"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"बबल चालू करें"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"इस ऐप्लिकेशन पर बबल की सुविधा चालू करने के लिए, पहले आपको डिवाइस पर उसे चालू करना होगा. इससे उन दूसरे ऐप्लिकेशन पर असर पड़ता है जिनमें पहले आपने बबल की सुविधा चालू की थी."</string>
@@ -3408,6 +3480,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"नीचे खींचने वाली सूची और लॉक स्क्रीन पर दिखाएं"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"नीचे खींचने वाली सूची और स्टेटस बार पर दिखाएं"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"नीचे खींचने वाली सूची, स्टेटस बार और लॉक स्क्रीन पर दिखाएं"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"आवाज़ और/या वाइब्रेशन के बिना मिलने वाली सूचनाएं, स्टेटस बार में न दिखाएं"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"ब्लिंक लाइट"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"लॉक स्क्रीन"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"लॉक स्क्रीन छोड़कर आगे बढ़ें"</string>
@@ -3438,6 +3511,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"व्यवहार"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"आवाज़ की अनुमति दें"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"सूचनाएं कभी न दिखाएं"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"बातचीत"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"बातचीत"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"यह किसी तरह की बातचीत नहीं है"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"बातचीत के सेक्शन से हटाएं"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"यह एक बातचीत है"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"बातचीत वाले सेक्शन में जोड़ें"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"बातचीत प्रबंधित करें"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"अहम बातचीत"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"सभी बातचीत"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"अहम बातचीत को बबल करें"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"अहम बातचीत पुल-डाउन शेड पर सबसे ऊपर दिखती हैं. आप इन्हें बबल पर भी सेट कर सकते हैं और \'परेशान न करें\' मोड को रोक सकते हैं."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"बिना आवाज़ के दिखाएं और छोटा करें"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"बिना आवाज़ के दिखाएं"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"रिंगटोन सेट करें"</string>
@@ -3456,7 +3540,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"आवाज़ या वाइब्रेशन न होने की वजह से आप काम में ध्यान लगा पाते हैं"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"आवाज़ या वाइब्रेशन होने की वजह से आपका ध्यान सूचनाओं पर जाता है"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"जब डिवाइस अनलॉक हो, तो स्क्रीन के सबसे ऊपर बैनर के रूप में सूचनाएं दिखाएं"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"सूचनाएं दिखाएं"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"<xliff:g id="APP_NAME">%1$s</xliff:g> की सभी सूचनाएं"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"ज़रूरत के हिसाब से सूचनाएं"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="one">रोज़ ~<xliff:g id="NUMBER_1">%d</xliff:g> सूचनाएं</item>
@@ -3477,6 +3561,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"ज़रूरत के हिसाब से सूचनाएं"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"कोई नहीं"</string>
     <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="3119843404577399036">"<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>
@@ -3538,8 +3623,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"हो गया"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"महत्‍व"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"ब्लिंक लाइट"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"कंपन (वाइब्रेशन)"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"वाइब्रेशन"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"आवाज़"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"ज़रूरी"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"होम स्क्रीन पर जोड़ें"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"मिटाएं"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"नाम बदलें"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"शेड्यूल का नाम"</string>
@@ -3593,6 +3680,10 @@
       <item quantity="one"><xliff:g id="NUM_PEOPLE">%d</xliff:g> और संपर्क</item>
       <item quantity="other"><xliff:g id="NUM_PEOPLE">%d</xliff:g> और संपर्क</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"बातचीत"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"सभी बातचीत से"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"अहम बातचीत से"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"किसी भी बातचीत को अनुमति न दें"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"मैसेज दिखाने की मंज़ूरी दें"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"जिन मैसेज के आने की अनुमति है, उनके आने पर आवाज़ आए, यह पक्का करने के लिए देखें कि आपका डिवाइस रिंग करने, वाइब्रेट करने या मौन रहने में से किस मोड पर सेट है."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"‘<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>’ के लिए आने वाले मैसेज ब्लॉक कर दिए गए हैं. आप सेटिंग में अपने हिसाब से बदलाव करके दोस्तों, परिवार के सदस्यों या दूसरे लोगों को आपसे संपर्क करने की मंज़ूरी दे सकते हैं."</string>
@@ -3606,15 +3697,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"कोई नहीं"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"किसी भी कॉल की मंज़ूरी न दें"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"किसी भी मैसेज की मंज़ूरी न दें"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"अलार्म की मंज़ूरी दें"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"अलार्म"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"टाइमर, अलार्म, सुरक्षा सिस्टम, और अन्य ऐप्लिकेशन की सूचनाएं"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"अलार्म"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"मीडिया की आवाज़ें चलाएं"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"मीडिया साउंड"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"वीडियो, गेम, और अन्य मीडिया की सूचनाएं"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"मीडिया"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"स्क्रीन छूने पर आने वाली आवाज़ की मंज़ूरी दें"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"छूने पर आने वाली आवाज़ें"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"आपके कीबोर्ड और अन्य बटन से आने वाली आवाज़ें"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"स्क्रीन छूने पर आने वाली आवाज़"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"रिमाइंडर की मंज़ूरी दें"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"रिमाइंडर"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"टास्क और रिमाइंडर की सूचनाएं"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"रिमाइंडर"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"इवेंट की मंज़ूरी दें"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"इवेंट"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"आने वाले कैलेंडर इवेंट की सूचनाएं"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"ऐप्लिकेशन को ओवरराइड करने की मंज़ूरी दें"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"ऐप्लिकेशन के अपवाद"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3657,6 +3753,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"\'परेशान न करें\' के ज़रिये म्यूट हुई सूचनाओं को स्क्रीन चालू करने दें"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"सूचना सेटिंग"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"ठीक है"</string>
+    <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>
@@ -3667,6 +3764,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"अनपिन करने से पहले पिन के लिए पूछें"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"अनपिन करने से पहले पासवर्ड के लिए पूछें"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"अनपिन करते समय डिवाइस लॉक करें"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"सिम मिटाने की पुष्टि करें"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"डाउनलोड किए गए सिम को हमेशा के लिए मिटाने से पहले अपनी पहचान की पुष्टि करें"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"यह वर्क प्रोफ़ाइल इनके द्वारा प्रबंधित की जाती है:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"<xliff:g id="ADMIN_APP_LABEL">%s</xliff:g> द्वारा प्रबंधित"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(प्रायोगिक)"</string>
@@ -3741,8 +3840,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"सभी ऐप"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"इंस्‍टॉल किए गए ऐप"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"झटपट ऐप"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"व्यक्तिगत"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"कार्यस्‍थल"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"ऐप्लिकेशन: सभी"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"सूचनाएं बंद कर दी गई हैं"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"श्रेणियां: अत्यंत महत्वपूर्ण"</string>
@@ -3754,6 +3851,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"अज्ञात ऐप"</string>
     <string name="app_permissions" msgid="8666537659217653626">"अनुमतियों का प्रबंधन"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"<xliff:g id="APPS">%1$s</xliff:g> का उपयोग करने वाले ऐप्लिकेशन"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"<xliff:g id="APPS">%1$s</xliff:g> के साथ और भी बहुत कुछ इस्तेमाल करने वाले ऐप्लिकेशन"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"वेक करने के लिए टैप करें"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"डिवाइस की स्क्रीन को चालू करने के लिए, स्क्रीन पर कहीं भी दो बार छूएं"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"खुलने वाले लिंक"</string>
@@ -3765,9 +3863,14 @@
       <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> ऐप्लिकेशन समर्थित लिंक खोल रहे हैं</item>
       <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> ऐप्लिकेशन समर्थित लिंक खोल रहे हैं</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"इस ऐप में खोलें"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"ऐप्लिकेशन को वे लिंक खोलने की अनुमति दें जो उस पर काम कर सकते हैं"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"हर बार पूछें"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"इस ऐप में ना खोलें"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"ऐप्लिकेशन को लिंक खोलने की अनुमति न दें"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="one">ऐप्लिकेशन <xliff:g id="COUNT_1">%d</xliff:g> लिंक हैंडल करने का दावा करता है</item>
+      <item quantity="other">ऐप्लिकेशन <xliff:g id="COUNT_1">%d</xliff:g> लिंक हैंडल करने का दावा करता है</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"ऐप्लिकेशन इन लिंक को हैंडल करने का दावा करता है:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"डिफ़ॉल्ट"</string>
     <string name="default_for_work" msgid="537558180548617528">"काम के लिए डिफ़ॉल्ट"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"सहायक और बोलकर निर्देश देना"</string>
@@ -3911,8 +4014,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"दूसरे ऐप के ऊपर दिखाएं"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"हमेशा दूसरे ऐप के ऊपर दिखाएं"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"इस ऐप्लिकेशन को अपने उपयोग किए जा रहे दूसरे सभी ऐप्लिकेशन के ऊपर दिखाई देने दें. यह उन ऐप्लिकेशन के आपके उपयोग में दखल दे सकता है या उनके दिखाई देने या व्यवहार करने के तरीके में बदलाव कर सकता है."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"सभी फ़ाइलों का ऐक्सेस है"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"सभी फ़ाइलों को प्रबंधित करने की अनुमति दें"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"इस ऐप्लिकेशन को अनुमति दें, ताकि वह इस डिवाइस और इससे जुड़े स्टोरेज पर मौजूद फ़ाइलों को पढ़ सके, उनमें बदलाव कर सके, और उन्हें मिटा सके. अगर आप अनुमति देते हैं, तो यह ऐप्लिकेशन आपको सूचना दिए बिना फ़ाइलों को ऐक्सेस कर सकता है."</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"सभी फ़ाइलें ऐक्सेस कर सकते हैं"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"vr आभासी वास्तविकता श्रोता स्टीरियो सहायक सेवा"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"सिस्टम अलर्ट विंडो संवाद को दूसरे ऐप के ऊपर दिखाएं"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"दूसरे ऐप के ऊपर दिखाएं"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"<xliff:g id="COUNT_1">%2$d</xliff:g> में से <xliff:g id="COUNT_0">%1$d</xliff:g> ऐप को दूसरे ऐप के ऊपर दिखाने की अनुमति है"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"अनुमति वाले ऐप्‍स"</string>
@@ -4078,6 +4184,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"<xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g> डेटा इस्तेमाल किया गया"</string>
     <string name="data_overusage" msgid="3680477320458707259">"<xliff:g id="ID_1">^1</xliff:g> से ज़्यादा डेटा खर्च हुआ"</string>
     <string name="data_remaining" msgid="6316251496381922837">"<xliff:g id="ID_1">^1</xliff:g> बचा हुआ डेटा"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"ग्राफ़ में <xliff:g id="START_DATE">%1$s</xliff:g> और <xliff:g id="END_DATE">%2$s</xliff:g> के बीच के डेटा खर्च करने की जानकारी दी गई है."</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"इस तारीख की सीमा में डेटा की कोई जानकारी नहीं है"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="one">%d दिन बचे हैं</item>
       <item quantity="other">%d दिन बचे हैं</item>
@@ -4141,14 +4249,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"पार्सल का आकार"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"सूचना पहुंच गई"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"साउंड"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"कंपन (वाइब्रेशन)"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"पैटर्न"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"डिफ़ॉल्ट"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"चैनल"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"कोई नहीं"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"रैंकिंग ऑब्जेक्ट अनुपलब्ध है."</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"रैंकिंग ऑब्जेक्ट में यह कुंजी शामिल नहीं है."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"थीम बनाई जा रही है"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"डिवाइस की डिफ़ॉल्ट सेटिंग"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"डिसप्ले कटआउट"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"डिसप्ले कटआउट, नॉच"</string>
@@ -4237,8 +4341,12 @@
     <string name="information_label" msgid="6939310810756569298">"जानकारी"</string>
     <string name="low_label" msgid="6525629096999711220">"कम"</string>
     <string name="high_label" msgid="357503396626018487">"ज़्यादा"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"सेंसिटिविटी बढ़ाने से ऐप्लिकेशन पर होने वाले हाथ के ऐसे जेस्चर (स्पर्श) पर असर पड़ सकता है जो स्क्रीन के किनारों पर काम करते हैं."</string>
+    <string name="left_edge" msgid="1513576842959071849">"बायां किनारा"</string>
+    <string name="right_edge" msgid="1505309103265829121">"दायां किनारा"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"सेंसिटिविटी बढ़ाने से, ऐप्लिकेशन के लिए इस्तेमाल किए जाने वाले, हाथ के कुछ ऐसे जेस्चर (स्पर्श) पर असर पड़ सकता है जो स्क्रीन के किनारों पर होते हैं."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"बैक सेंसिटिविटी"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"हाथ के जेस्चर (स्पर्श) की सेटिंग"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"हाथ के जेस्चर (स्पर्श) वाला नेविगेशन, बैक सेंसिटिविटी, पीछे जाने का जेस्चर"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"फ़ोन देखने के लिए दो बार टैप करें"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"टैबलेट देखने के लिए दो बार छूएं"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"डिवाइस देखने के लिए दो बार छूएं"</string>
@@ -4393,7 +4501,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"मोबाइल और इंटरनेट सेवा देने वाली कंपनी का नेटवर्क ट्रिगर करें"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"\'परेशान न करें सुविधा\' अपडेट करें"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"ध्यान भटकने से रोकने के लिए डिवाइस की सूचनाओं को कुछ समय के लिए रोकें"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"यह सुविधा इस डिवाइस पर उपलब्ध नहीं है"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"सुविधा उपलब्ध नहीं है"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"यह सुविधा बंद कर दी गई है क्योंकि इससे आपका फ़ोन धीमा हो जाता है"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"जीएनएसएस माप को हर हाल में लागू करें"</string>
@@ -4403,20 +4510,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"कोण की सुविधा वाला ऐप्लिकेशन चुनें"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"कोण की सुविधा वाला कोई ऐप्लिकेशन सेट नहीं है"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"कोण की सुविधा वाला ऐप्लिकेशन: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"गेम ड्राइवर की प्राथमिकताएं"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"\'गेम ड्राइवर\' की सेटिंग में बदलाव करें"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"गेम ड्राइवर\' चालू होने पर, आप डिवाइस पर इंस्टॉल किए गए ऐप्लिकेशन के लिए, अपडेट किया गया ग्राफ़िक ड्राइवर इस्तेमाल करने का विकल्प चुन सकते हैं."</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"सभी ऐप्लिकेशन के लिए लागू करें"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"ग्राफ़िक ड्राइवर चुनें"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"डिफ़ॉल्ट"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"गेम ड्राइवर"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"रिलीज़ होने से पहले ऐप की जाँच करने वाला ड्राइवर"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"सिस्टम ग्राफ़िक ड्राइवर"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"ग्राफ़िक ड्राइवर की प्राथमिकताएं"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"ग्राफ़िक ड्राइवर की सेटिंग में बदलाव करें"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"एक से ज़्यादा ग्राफ़िक ड्राइवर होने पर, आप डिवाइस पर इंस्टॉल किए गए ऐप्लिकेशन के लिए, अपडेट किया गया ग्राफ़िक ड्राइवर इस्तेमाल करने का विकल्प चुन सकते हैं."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"सभी ऐप्लिकेशन के लिए चालू करें"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"ग्राफ़िक ड्राइवर चुनें"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"डिफ़ॉल्ट"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"गेम ड्राइवर"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"डेवलपर ड्राइवर"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"सिस्टम ग्राफ़िक ड्राइवर"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"काम करने के लिए ऐप्लिकेशन में किए गए बदलाव"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"काम करने के लिए ऐप्लिकेशन में किए गए बदलावों को टॉगल करें"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"डिफ़ॉल्ट रूप से चालू किए गए बदलाव"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"डिफ़ॉल्ट रूप से बंद किए गए बदलाव"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"इस फ़ोन पर सेटिंग नहीं की जा सकती"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"इस टैबलेट पर सेटिंग नहीं की जा सकती"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"इस डिवाइस पर सेटिंग नहीं की जा सकती"</string>
@@ -4435,6 +4548,12 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"डिवाइस"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"कॉल के दौरान उपलब्ध नहीं है"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"उपलब्ध नहीं है"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"आउटपुट जोड़ें"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"ग्रुप"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"एक डिवाइस चुना गया"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> डिवाइस चुने गए"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"इसके ज़रिए कॉल का जवाब दें"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"यह APN बदला नहीं जा सकता."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"टैबलेट की बैटरी लाइफ़ बेहतर बनाएं"</string>
@@ -4552,10 +4671,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"एक समय में डाउनलोड किया गया सिर्फ़ एक सिम इस्तेमाल किया जा सकता है. \n\n <xliff:g id="CARRIER1">%1$s</xliff:g> में स्विच करने से आपके <xliff:g id="CARRIER2">%2$s</xliff:g> की सेवा रद्द नहीं की जाएगी."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"<xliff:g id="CARRIER">%1$s</xliff:g> पर जाएं"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"सिम मिटाएं"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"इस डाउनलोड किए गए सिम को मिटाएं?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"इस सिम को इस डिवाइस से मिटाने पर <xliff:g id="CARRIER_0">%1$s</xliff:g> सेवा हट जाती है.\n\n<xliff:g id="CARRIER_1">%2$s</xliff:g> के लिए सेवा रद्द नहीं की जाएगी."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"हमेशा के लिए मिटाएं"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"सिम को हमेशा के लिए मिटाया जा रहा है…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"सिम नहीं मिटाया जा सकता"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"गड़बड़ी की वजह से इस सिम को मिटाया नहीं जा सकता.\n\nडिवाइस रीस्टार्ट करें और फिर से कोशिश करें."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"पसंदीदा नेटवर्क प्रकार"</string>
@@ -4580,7 +4695,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"गलत नेटवर्क मोड <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. अनदेखा करें."</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"ऐक्सेस पॉइंट नाम"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"<xliff:g id="CARRIER">%1$s</xliff:g> से कनेक्ट होने पर उपलब्ध नहीं है"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"चिकित्सा से जुड़ी जानकारी, आपातकालीन संपर्क"</string>
     <string name="see_more" msgid="7499355691042812723">"ज़्यादा देखें"</string>
     <string name="see_less" msgid="2642392725363552793">"कम देखें"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"<xliff:g id="APPNAME">%1$s</xliff:g> के साथ इस्तेमाल किया जाने वाला डिवाइस"</string>
@@ -4589,11 +4703,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"कुछ गड़बड़ी हुई है ऐप्लिकेशन ने डिवाइस चुनने का अनुरोध रद्द कर दिया है."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"कनेक्शन कामयाब रहा"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"सभी दिखाएं"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> डिवाइस कनेक्ट हैं</item>
-      <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> डिवाइस कनेक्ट हैं</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"कोई ब्लूटूथ डिवाइस नहीं"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"डिवाइस खोजा जा रहा है…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"डिवाइस से कनेक्ट किया जा रहा है…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"बायां"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"दायां"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"चार्ज करने वाला डिब्बा"</string>
@@ -4603,6 +4714,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"हवाई जहाज़ मोड के दौरान उपलब्ध नहीं"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"डेस्कटॉप मोड चालू करें"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"दूसरी स्क्रीन पर प्रयोग के लिए डेस्कटॉप मोड चालू करें"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"sizecompat को फ़्रीफ़ॉर्म मोड में चालू करें"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"sizecompat वाले ऐप्लिकेशन को फ़्रीफ़ॉर्म मोड में लाने की अनुमति देता है"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"फ़ोर्स-डार्क सुविधा को ओवरराइड करें"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"फ़ोर्स-डार्क सुविधा को हमेशा चालू रहने के लिए ओवरराइड करती है"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"निजता"</string>
@@ -4639,6 +4752,10 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"आपने हाल ही में यह ऐप्लिकेशन इंस्टॉल किया."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"स्विच आउटपुट"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"इस समय <xliff:g id="DEVICE_NAME">%1$s</xliff:g> पर खेल रहा है"</string>
+    <!-- no translation found for media_output_disconnected_status (5567111639832431865) -->
+    <skip />
+    <!-- no translation found for media_output_switch_error_text (603563475910236831) -->
+    <skip />
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"महत्वपूर्ण जानकारी"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"जारी रखें"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"नहीं, धन्यवाद"</string>
@@ -4666,8 +4783,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"एक से ज़्यादा SIM का इस्तेमाल"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"आपके काम से जुड़ी नीति की जानकारी"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"वे सेटिंग जिन्हें आपका आईटी एडमिन प्रबंधित करता है"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"गड़बड़ी की रिपोर्ट इस्तेमाल करने वाला ऐप्लिकेशन"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"तय करें कि आपके डिवाइस पर कौनसा ऐप्लिकेशन गड़बड़ी की रिपोर्ट के शॉर्टकट का इस्तेमाल करता है."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"निजी"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"काम"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"सिस्टम के डिफ़ॉल्ट ऐप्लिकेशन"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"यह विकल्प अब मान्य नहीं है. फिर से कोशिश करें."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"कास्ट करना रोकें"</string>
 </resources>
diff --git a/res/values-hr/arrays.xml b/res/values-hr/arrays.xml
index 2a865b6..61a3700 100644
--- a/res/values-hr/arrays.xml
+++ b/res/values-hr/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"Odmah"</item>
     <item msgid="463591454172790676">"5 sekunda"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"Nemoj potvrditi"</item>
+    <item msgid="5703177653586269306">"Zatraži status certifikata"</item>
+    <item msgid="326388247868439528">"Zahtijevaj status certifikata"</item>
+    <item msgid="1090956283885790552">"Zahtijevaj statuse svih nepouzdanih certifikata"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"Gumb"</item>
     <item msgid="2630618799033509548">"PIN s paralelnog uređaja"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1 x RTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"Ništa"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"IPSec VPN s unaprijed dijeljenim ključevima i Xauth autentifikacijom"</item>
     <item msgid="2484564813864139237">"IPSec VPN s certifikatima i Xauth autentifikacijom"</item>
     <item msgid="68918911194507915">"IPSec VPN s certifikatima i hibridnom autentifikacijom"</item>
+    <item msgid="4631647675167100375">"IKEv2/IPSec VPN s certifikatima i autentifikacijom korisničkim imenom/zaporkom"</item>
+    <item msgid="8812228622975052811">"IKEv2/IPSec VPN s unaprijed podijeljenim ključevima"</item>
+    <item msgid="6630554779981113046">"IKEv2/IPSec VPN s certifikatima"</item>
   </string-array>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"Nijedan"</item>
diff --git a/res/values-hr/config.xml b/res/values-hr/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-hr/config.xml
+++ b/res/values-hr/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index 5ca6766..c9fa872 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -32,49 +32,17 @@
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Najprije omogućite opcije za razvojne programere."</string>
     <string name="header_category_wireless_networks" msgid="303445626075235229">"Bežično povezivanje i mreže"</string>
     <string name="header_category_system" msgid="1665516346845259058">"Sustav"</string>
-    <string name="radio_info_data_connection_enable" msgid="7500945447906187613">"Omogući podatkovnu vezu"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"Onemogući podatkovnu vezu"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"VoLTE omogućen"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"Pružena usluga videopoziva"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"Pružena usluga poziva putem Wi-Fija"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"Pruža se usluga EAB-a/prisutnosti"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"Podaci CBRS-a"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"Omogući DSDS"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"Želite li ponovo pokrenuti uređaj?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"Ponovo pokrenite uređaj da biste promijenili tu postavku."</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"Pokreni ponovo"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"Odustani"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"Snaga mobilnog radija"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"Prikaži imenik SIM-a"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"Prikaži brojeve za fiksno biranje"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"Prikaži brojeve za servisno biranje"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"Status usluge IMS-a"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"Status IMS-a"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"Registriran"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"Nije registriran"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"Dostupan"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"Nedostupan"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"Registracija IMS-a: <xliff:g id="STATUS">%1$s</xliff:g>\nVoice over LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nVoice over WiFi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideopozivi: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT sučelje: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"Upotrebljava se"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Ne radi"</string>
     <string name="radioInfo_service_emergency" msgid="6838935881091760942">"Samo hitni pozivi"</string>
     <string name="radioInfo_service_off" msgid="6184928420860868571">"Radio je isključen"</string>
     <string name="radioInfo_roaming_in" msgid="8892550453644088692">"Roaming"</string>
     <string name="radioInfo_roaming_not" msgid="3137594549464975054">"Bez roaminga"</string>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"U mirovanju"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"Zvono"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"Razgovor u tijeku"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"Niste povezani"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"Povezivanje"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"Povezan"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Obustavljeno"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Nepoznato"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"pkts"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"bajtovi"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"Isključi USB memoriju"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"Isključi SD karticu"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"Izbriši memoriju USB"</string>
@@ -84,7 +52,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"Smanjite ili povećajte tekst na zaslonu."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Smanji"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Povećaj"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"Primjer teksta"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"Čarobnjak iz Oza"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"11. poglavlje: Čudesni Smaragdni Grad čarobnjaka Oza"</string>
@@ -175,9 +142,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"Ponovo pokrenite uređaj da biste promijenili tu postavku."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"Pokreni"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"Odustani"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"Dostupni medijski uređaji"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"Dostupni uređaji za pozive"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"Trenutačno povezano"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"Medijski uređaji"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"Uređaji za pozive"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"Ostali uređaji"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Spremljeni uređaji"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth će se uključiti radi uparivanja"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Postavke veze"</string>
@@ -210,46 +177,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"Upisani priključak nije valjan."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"Preglednik upotrebljava HTTP proxy poslužitelj, ali druge aplikacije ne mogu ga upotrebljavati."</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"URL za PAC: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"Trenutačni SUBID:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"SUBID zadanog SIM-a za podatkovni promet:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"DL propusnost (kbps):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"UL propusnost (kbps):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"Informacije o lokaciji ćelije (obustavljeno):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"Konfiguracija LTE fizičkog kanala:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"Stopa osvježavanja informacija u ćeliji:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"Sve informacije ćelija o mjerenju:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"Podatkovna usluga:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"Roaming:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"Preusmjeravanje poziva:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"Broj PPP poništavanja od pokretanja:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"Trenutačna mreža:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"Primljeni podaci:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"Glasovna usluga:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"Jačina signala:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"Status glasovnog poziva:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"Podaci poslani:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"Poruka na čekanju:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"Telefonski broj:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"Odaberite radijsku frekvenciju"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"Vrsta glasovne mreže:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"Vrsta podatkovne mreže:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"Odaberite telefonski indeks"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"Postavite željenu vrstu mreže:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"Pinganje naziva hosta (www.google.com) IPv4:"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"Pinganje naziva hosta (www.google.com) IPv6:"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"Test HTTP klijenta:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"Pokreni ping test"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"Ažuriraj"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"Osvježi"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"Uključi/isključi provjeru DNS-a"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"Informacije/postavke koje se posebno odnose na OEM"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"Postavi način radijske frekvencije"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"Učitavanje popisa frekvencija…"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"Postavi"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"Neuspješno"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"Uspješno"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"Promijene stupaju na snagu kod ponovnog priključivanja USB kabela."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"Omogući USB masovno pohranjivanje"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"Ukupno bajtova:"</string>
@@ -287,10 +218,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"Premještanje na dno"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"Uklanjanje jezika"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"Odabir aktivnosti"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"Informacije o uređaju"</string>
     <string name="display_label" msgid="3056320781191343221">"Zaslon"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"Informacije o tabletnom uređaju"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"Informacije o telefonu"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"Memorija USB"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"SD kartica"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"Proxy postavke"</string>
@@ -308,9 +236,6 @@
     <string name="airplane_mode" msgid="3196085857882526817">"Način rada u zrakoplovu"</string>
     <string name="wireless_networks_settings_title" msgid="8557542379234105369">"Bežično povezivanje i mreže"</string>
     <string name="radio_controls_summary" msgid="9028430178697624501">"Upravljanje značajkama Wi-Fi, Bluetooth, način rada u zrakoplovu, mobilne mreže i VPN-ovi"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"Mobilni podaci"</string>
-    <string name="calls_title" msgid="6334813967619899114">"Dopusti pozive"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"SMS poruke"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"Dopusti prijenos pod. putem mobilne mreže"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"Podatkovni promet u roamingu"</string>
     <string name="roaming" msgid="3055365654530847985">"Roaming"</string>
@@ -318,9 +243,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"Povezivanje s podatkovnim uslugama u roamingu"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"Izgubili ste podatkovnu vezu jer ste isključili mrežni roaming podataka."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"Uključi"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"To može biti dosta skupo."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"Kada dopustite podatkovni roaming, mogu nastati značajni troškovi roaminga!\n\nOva postavka utječe na sve korisnike na ovom tabletu."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"Kada dopustite podatkovni roaming, mogu nastati značajni troškovi roaminga!\n\nOva postavka utječe na sve korisnike na ovom telefonu."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"Možda se naplaćuju dodatne naknade za roaming."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"Kad dopustite roaming podataka, možda će se naplaćivati dodatne naknade za roaming.\n\nTa postavka utječe na sve korisnike ovog tableta."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"Kad dopustite roaming podataka, možda će se naplaćivati dodatne naknade za roaming.\n\nTa postavka utječe na sve korisnike ovog telefona."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"Dopustiti roaming podataka?"</string>
     <string name="networks" msgid="5184501333492775095">"Odabir operatora"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"Odaberite mrežnog operatera"</string>
@@ -361,8 +286,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"Onemogućio administrator"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"Prikaži opciju zaključavanja"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"Prikazuje opciju tipke za uključivanje/isključivanje koja isključuje Smart Lock, biometrijsko otključavanje i obavijesti na zaključanom zaslonu"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"Agenti za pouzdanost samo produljuju otključavanje"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"Ako je omogućeno, agenti za pouzdanost zadržat će uređaj otključanim dulje, no više ne mogu otključati zaključani uređaj"</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"Zaključan zaslon kad nema pouzdanosti"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"Ako je omogućeno, uređaj će se zaključati kad zadnji agent za pouzdanost više ne bude pouzdan"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"Ništa"</string>
@@ -393,7 +316,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"Postavi Moju lokaciju, otključavanje zaslona, zaključavanje SIM kartice, zaključavanje spremnika za vjerodajnice"</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"Postavi Moju lokaciju, otključavanje zaslona, zaključavanje pohranjivanja vjerodajnica"</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"Privatnost"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"Onemogućio administrator"</string>
+    <string name="disabled_by_administrator_summary" msgid="5424846182313851124">"Nedostupna"</string>
     <string name="security_status_title" msgid="6958004275337618656">"Sigurnosni status"</string>
     <string name="security_dashboard_summary_face" msgid="4198949293847206382">"Zaključavanje zaslona, otključavanje licem"</string>
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Zaključavanje zaslona, otisak prsta"</string>
@@ -701,7 +624,6 @@
       <item quantity="few">Mora sadržavati manje od <xliff:g id="NUMBER_1">%d</xliff:g> znamenke</item>
       <item quantity="other">Mora sadržavati manje od <xliff:g id="NUMBER_1">%d</xliff:g> znamenki</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"Smije sadržavati samo znamenke od 0 do 9"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"Administrator uređaja ne dopušta upotrebu nedavnog PIN-a"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"Vaš je IT administrator blokirao uobičajene PIN-ove. Pokušajte s nekom drugim PIN-om."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"Unos ne smije sadržavati nevažeće znakove"</string>
@@ -738,6 +660,11 @@
       <item quantity="few">Mora sadržavati najmanje <xliff:g id="COUNT">%d</xliff:g> znaka koji nisu slova</item>
       <item quantity="other">Mora sadržavati najmanje <xliff:g id="COUNT">%d</xliff:g> znakova koji nisu slova</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="one">Mora sadržavati najmanje <xliff:g id="COUNT">%d</xliff:g> znak koji nije znamenka</item>
+      <item quantity="few">Mora sadržavati najmanje <xliff:g id="COUNT">%d</xliff:g> znaka koji nisu znamenke</item>
+      <item quantity="other">Mora sadržavati najmanje <xliff:g id="COUNT">%d</xliff:g> znakova koji nisu znamenke</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"Administrator uređaja ne dopušta upotrebu nedavne zaporke"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"Vaš je IT administrator blokirao uobičajene zaporke. Pokušajte s nekom drugom zaporkom."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"Uzastopno rastući ili padajući slijed brojeva ili ponavljanje brojeva nije dopušteno"</string>
@@ -853,19 +780,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2,4 GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"Prijava"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"Otvori web-lokaciju"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"Još <xliff:g id="REMAINING_TIME">%1$s</xliff:g>"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"Istječe <xliff:g id="EXPIRY_TIME">%1$s</xliff:g>"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"Dodirnite ovdje da biste se prijavili na mrežu"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"<xliff:g id="REQUESTER">%s</xliff:g> želi uključiti Wi-Fi"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"<xliff:g id="REQUESTER">%s</xliff:g> želi isključiti Wi-Fi"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"Potvrdite bajtni kôd aplikacija iz kojih se mogu uklanjati pogreške"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Dopustite ART-u da potvrdi bajtni kôd za aplikacije iz kojih se mogu uklanjati pogreške"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"Prikaži učestalost osvježavanja"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Prikaži trenutačnu učestalost osvježavanja"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"Dopusti razmjenu podataka kada tabletno računalo dodiruje drugi uređaj"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"Dopusti razmjenu podataka kada telefon dodiruje drugi uređaj"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"Dopusti razmjenu podataka kada tablet dodiruje NFC uređaj"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"Dopusti razmjenu podataka kada telefon dodiruje NFC uređaj"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"Uključite NFC"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"NFC razmjenjuje podatke između ovog uređaja i ostalih uređaja u blizini ili ciljeva, na primjer terminala za plaćanje, čitača za pristup i interaktivnih oglasa ili oznaka."</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"Siguran NFC"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Za NFC je potrebno otključati uređaj"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"Dopusti upotrebu NFC plaćanja i Transita samo kada je zaključan zaslon"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"Spreman za prijenos sadržaja aplikacija NFC-om"</string>
@@ -939,8 +872,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Uključi"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Uključeno je traženje Wi‑Fija"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Napredne opcije"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"Napredne opcije na padajućem popisu. Dodirnite dvaput da biste saželi."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"Napredne opcije na padajućem popisu. Dodirnite dvaput da biste proširili."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Padajući popis Napredne opcije"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"proširi"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"Naziv mreže"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"Unesite SSID"</string>
     <string name="wifi_security" msgid="9095934643631406913">"Sigurnost"</string>
@@ -950,6 +883,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"Status"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"Brzina prijenosa"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"Brzina veze primanja"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"Brzina veze"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"Frekvencija"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"IP adresa"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"Spremljeno putem"</string>
@@ -957,6 +891,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"EAP metoda"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"2. faza provjere autentičnosti"</string>
     <string name="wifi_eap_ca_cert" msgid="8033404008276298886">"CA certifikat"</string>
+    <string name="wifi_eap_ocsp" msgid="8713933962516871238">"Status online certifikata"</string>
     <string name="wifi_eap_domain" msgid="8304301470752333203">"Domena"</string>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"Korisnički certifikat"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"Identitet"</string>
@@ -973,6 +908,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"Odaberite barem jedan pojas za žarišnu točku Wi‑Fi-ja:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"IP postavke"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"Privatnost"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"Pretplata"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"Pregled ili promjena pretplate"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"Nasumično određen MAC"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"Dodavanje uređaja"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"Centrirajte QR kôd da biste uređaj dodali u mrežu “<xliff:g id="SSID">%1$s</xliff:g>”"</string>
@@ -982,12 +919,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"Dijeli Wi‑Fi"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"Skenirajte ovaj QR kôd da biste se povezali s mrežom \"<xliff:g id="SSID">%1$s</xliff:g>\" i podijelili zaporku"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"Skenirajte ovaj QR kôd da biste se povezali s mrežom \"<xliff:g id="SSID">%1$s</xliff:g>\""</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"Čitanje QR koda nije uspjelo. Ponovo centrirajte kôd, a zatim pokušajte opet"</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"Pokušajte ponovo. Ako i dalje imate problema, obratite se proizvođaču uređaja"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"Nešto nije u redu"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"Provjerite je li uređaj priključen, napunjen i uključen"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"Provjerite je li uređaj priključen, napunjen i uključen. Ako i dalje imate problema, obratite se proizvođaču uređaja"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"Na ovom uređaju nije podržano dodavanje \"<xliff:g id="SSID">%1$s</xliff:g>\""</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"Pokušajte približiti uređaj svojoj Wi‑Fi pristupnoj točki/usmjerivaču"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"Provjerite zaporku i pokušajte ponovo"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"Obratite se proizvođaču uređaja"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"Provjerite vezu i pokušajte ponovo"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"Odabir mreže"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"Da biste povezali uređaj, odaberite mrežu."</string>
@@ -1000,11 +939,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"Dijeljenje Wi-Fija s ovim uređajem…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"Povezivanje…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"Dijeljenje žarišne točke"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"Potvrdite da ste to vi"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"Potvrdite da ste to vi"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"Zaporka Wi-Fi mreže: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"Zaporka žarišne točke: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"Automatsko povezivanje"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"Dopustite telefonu automatsko povezivanje kada je u blizini ove mreže"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"Dopustite tabletu automatsko povezivanje kada je u blizini ove mreže"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"Dodajte uređaj"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"Dodajte uređaj u mrežu pomoću QR koda"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"QR kôd nije u važećem formatu"</string>
     <string name="retry" msgid="7542103800274026915">"Ponovi"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"Podijeli s drugim korisnicima uređaja"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(nepromijenjeno)"</string>
@@ -1016,6 +959,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"Nije naveden nijedan certifikat. Veza neće biti privatna."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"Mreža ima predugačak naziv."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"Mora navoditi domenu."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"Potreban je certifikat."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"WPS dostupan"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (WPS dostupan)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"Wi‑Fi mreža mobilnog operatera"</string>
@@ -1070,7 +1014,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"Napredni Wi-Fi"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"MAC adresa"</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_ip_address_title" msgid="4265355419782184514">"IP adresa"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"Pojedinosti o mreži"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Maska podmreže"</string>
@@ -1122,7 +1067,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"Upotrijebite žarišnu točku da biste izradili Wi‑Fi mrežu za ostale uređaje. Žarišna točka omogućuje povezivanje s internetom putem podatkovne veze vašeg mobilnog uređaja. Mogući su dodatni troškovi za prijenos podataka na mobilnom uređaju."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"Aplikacije mogu izraditi žarišnu točku radi dijeljenja sadržaja s uređajima u blizini."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Automatski isključi žarišnu točku"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"Žarišna točka Wi‑Fi-ja isključit će se ako nije povezan nijedan uređaj"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Kada nema povezanih uređaja"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"Uključivanje žarišne točke…"</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"Isključivanje žarišne točke…"</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> je aktivan"</string>
@@ -1131,6 +1076,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"Postavljanje Wi‑Fi žar. točke"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"AndroidAP WPA2 PSK žarišna točka"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"AndroidHotspot"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"Spremiti ovu mrežu?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"Aplikacija <xliff:g id="APPNAME">%1$s</xliff:g> želi spremiti mrežu na vaš telefon"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"Aplikacija <xliff:g id="APPNAME">%1$s</xliff:g> želi spremiti mrežu na vaš tablet"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"Spremanje…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"Spremljeno"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"Spremanje nije moguće. Pokušajte ponovo."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"Spremiti mreže?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"Aplikacija <xliff:g id="APPNAME">%1$s</xliff:g> želi spremiti ove mreže na vaš telefon"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"Aplikacija <xliff:g id="APPNAME">%1$s</xliff:g> želi spremiti te mreže na vaš tablet"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"Spremanje <xliff:g id="NUMBER">%d</xliff:g> mreža…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"Mreže su spremljene"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"Wi-Fi pozivi"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"Proširite pozive putem Wi‑Fi-ja"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"Uključite Wi-Fi pozive da biste proširili pokrivenost"</string>
@@ -1157,16 +1113,18 @@
     <string name="emergency_address_title" msgid="3490633500025717573">"Adresa za hitne pozive"</string>
     <string name="emergency_address_summary" msgid="3022628750270626473">"Upotrebljava se kao vaša lokacija kada upućujete hitne pozive putem Wi‑Fi-ja"</string>
     <string name="private_dns_help_message" msgid="851221502063782306"><annotation id="url">"Saznajte više"</annotation>" o značajkama privatnog DNS-a"</string>
+    <string name="private_dns_mode_on" msgid="8878679071975375696">"Uključeno"</string>
     <string name="wifi_calling_pref_managed_by_carrier" msgid="129524064888622179">"Postavkom upravlja mobilni operater"</string>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"Aktivirajte Wi-Fi pozive"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"Uključite Wi-Fi pozive"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"Wi‑Fi pozivi nisu podržani za %1$s"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"Prekinuta je veza s mrežom <xliff:g id="SSID">%1$s</xliff:g>"</string>
     <string name="carrier" msgid="1755020806290963951">"Mobilni operater"</string>
     <string name="display_settings_title" msgid="626835071804834218">"Prikaz"</string>
     <string name="sound_settings" msgid="5514582720435174014">"Zvuk"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"Glasnoća"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"Glazbeni efekti"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"Glasnoća zvona"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"Glasnoća zvona i obavijesti"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"Vibracija ako je bešumno"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"Zadani zvuk obavijesti"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"Zvuk zvona"</string>
@@ -1291,13 +1249,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"Raspored"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"Nijedno"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"Od zalaska do izlaska sunca"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"Uključi u prilagođeno vrijeme"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"Status"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"Isključeno/<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"Nikad se ne uključuje automatski"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"Uključuje se automatski kad sunce zađe"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"Uključuje se automatski u <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"Uključeno/<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"Nikad se ne isključuje automatski"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"Isključuje se automatski kad sunce izađe"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"Isključuje se automatski u <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"Uključi do <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"Isključi do <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"Tamna tema upotrebljava crnu pozadinu radi produljenja trajanja baterije na nekim zaslonima. Rasporedi s tamnom temom čekaju s uključivanjem dok se zaslon ne isključi."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"Privremeni prekid rada zaslona"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"Zaslon se isključuje"</string>
@@ -1309,7 +1272,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"Promijenite pozadinsku sliku"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"Prilagodite zaslon"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"Odabir pozadinske slike iz"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"Prilagodite svoj Pixel"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"Prilagodba telefona"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"Isprobajte različite stilove, pozadine i drugo"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"Čuvar zaslona"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Tijekom punjenja ili kada je na priključnoj stanici"</string>
@@ -1399,6 +1362,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"Isključi USB memoriju, prikaži dostupnu pohranu"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"Isključi SD karticu, prikaži vidljivo mjesto za pohranu"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (utor za SIM %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"Da biste je vidjeli, odaberite spremljenu mrežu"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"Telefonski broj"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (utor za SIM %1$d)"</string>
@@ -1425,6 +1389,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"Roaming"</string>
     <string name="status_operator" msgid="4335640583552058491">"Mreža"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"MAC adresa Wi-Fija"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"MAC adresa uređaja za Wi-Fi"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"Bluetooth adresa"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Serijski broj"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Vrijeme aktivnosti"</string>
@@ -1637,6 +1602,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Poništavanje zadanih postavki APN-a dovršeno."</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"Poništavanje opcija"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"Mreža, aplikacije ili uređaj mogu se poništiti"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"Aplikacije se mogu vratiti na zadano"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"Poništi Wi-Fi, mobilnu mrežu i Bluetooth"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"Ovime će se poništiti sve postavke mreže, uključujući:\n\n"<li>"Wi‑Fi"</li>\n<li>"mobilne podatke"</li>\n<li>"Bluetooth."</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"Izbriši preuzete SIM-ove"</string>
@@ -1686,6 +1652,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"Žarišna točka uključena"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"Modemsko povezivanje"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"Dok je Štednja podatkovnog prometa uključena, ne možete upotrebljavati modemsko povezivanje ni prijenosne žarišne točke"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"Samo žarišna točka"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"Samo USB"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"Samo Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"Žarišna točka, USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"Žarišna točka, Bluetooth"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB, Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"Žarišna točka, USB, Bluetooth"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"Internetska veza ne dijeli se s drugim uređajima"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"Modemsko povezivanje"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Nemoj koristiti žarišnu točku Wi‑Fija"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Dijeli internet samo putem USB-a"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Dijeli internet samo putem Bluetootha"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Dijeli internet samo putem USB-a i Bluetootha"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"Dijeljenje USB-om"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"Dijelite internetsku vezu telefona putem USB-a"</string>
@@ -1777,9 +1756,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"Sigurnosne informacije"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"Nemate podatkovnu vezu. Da biste tu informaciju vidjeli sada, otvorite stranicu %s na bilo kojem računalu povezanom s internetom."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"Učitavanje…"</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"Koristite PIN"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"Koristite uzorak"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"Koristite zaporku"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"Postavljanje zaključavanja zaslona"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"Radi sigurnosti postavite zaporku"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"Otisak prsta zahtijeva zaporku"</string>
@@ -1788,8 +1764,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"Otisak prsta zahtijeva PIN"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"Radi sigurnosti postavite uzorak"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"Ponovni unos zaporke"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"Unesite poslovnu zaporku"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"Potvrdite uzorak"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"Unesite poslovni uzorak"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"Ponovni unos PIN-a"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"Unesite poslovni PIN"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"Zaporke se ne podudaraju"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"PIN-ovi se ne podudaraju"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"Ponovo iscrtajte obrazac"</string>
@@ -1800,6 +1779,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"Otključavanje licem zahtijeva zaporku"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"Otključavanje licem zahtijeva uzorak"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"Otključavanje licem zahtijeva PIN"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"Zaboravili ste zaporku?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"Zaboravili ste uzorak?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"Zaboravili ste PIN?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"Unesite uzorak uređaja da biste nastavili"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"Unesite PIN uređaja da biste nastavili"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"Unesite zaporku uređaja da biste nastavili"</string>
@@ -1867,6 +1849,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"Dopusti sve izvore aplikacija"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"Nedavno otvorene aplikacije"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"Pogledajte sve aplikacije (<xliff:g id="COUNT">%1$d</xliff:g>)"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"Obratite se IT administratoru"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"Može vam pomoći s poništavanjem PIN-a, uzorka ili zaporke"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"Vaš tablet i osobni podaci izloženiji su napadima nepoznatih aplikacija. Instaliranjem aplikacija iz takvog izvora prihvaćate odgovornost za svu štetu nastalu na tabletu  ili gubitak podataka uzrokovan upotrebom tih aplikacija."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"Vaš telefon i osobni podaci izloženiji su napadima nepoznatih aplikacija. Instaliranjem aplikacija iz takvog izvora prihvaćate odgovornost za svu štetu nastalu na telefonu ili gubitak podataka uzrokovan upotrebom tih aplikacija."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"Vaš uređaj i osobni podaci izloženiji su napadima nepoznatih aplikacija. Instaliranjem aplikacija iz ovog izvora prihvaćate odgovornost za svu štetu nastalu na uređaju ili gubitak podataka uzrokovan upotrebom tih aplikacija."</string>
@@ -1919,7 +1903,7 @@
     <string name="default_emergency_app" msgid="1929974800666613803">"Aplikacija za hitne slučajeve"</string>
     <string name="reset_app_preferences" msgid="8861758340732716573">"Poništi postavke aplikacija"</string>
     <string name="reset_app_preferences_title" msgid="8935136792316050759">"Poništiti postavke?"</string>
-    <string name="reset_app_preferences_desc" msgid="1377296810290814749">"Sve sljedeće preferencije vratit će se na zadane postavke:\n\n "<li>"onemogućene aplikacije"</li>\n" "<li>"onemogućene obavijesti aplikacija"</li>\n" "<li>"zadane aplikacije za radnje"</li>\n" "<li>"ograničenja pozadinskih podataka za aplikacije"</li>\n" "<li>"sva ograničenja dopuštenja"</li>\n\n"Podatke aplikacija nećete izgubiti."</string>
+    <string name="reset_app_preferences_desc" msgid="6509978724602405805">"Sve sljedeće preferencije vratit će se na zadano:\n\n"<li>"onemogućene aplikacije"</li>\n<li>"onemogućene obavijesti aplikacija"</li>\n<li>"zadane aplikacije za radnje"</li>\n<li>"ograničenja pozadinskih podataka za aplikacije"</li>\n<li>"sva ograničenja dopuštenja."</li>\n\n"Nećete izgubiti podatke nijedne aplikacije."</string>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"Poništi aplikacije"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"Upravljaj prostorom"</string>
     <string name="filter" msgid="9039576690686251462">"Filtar"</string>
@@ -2119,7 +2103,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"Audio i tekst na zaslonu"</string>
     <string name="display_category_title" msgid="6638191682294461408">"Zaslon"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"Kontrole interakcije"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"Preuzete usluge"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"Preuzete aplikacije"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"Eksperimentalno"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"Oznake značajki"</string>
     <string name="talkback_title" msgid="8756080454514251327">"TalkBack"</string>
@@ -2127,27 +2111,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"Dodirnite stavke na zaslonu da bi ih usluga izgovorila naglas"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"Postavke titlova"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"Povećavanje"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"Područje povećanja"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"Omogućeno povećavanje"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"Odaberite područje za povećavanje ili više njih koje želite upotrijebiti pri povećavanju zaslona"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"Cijeli zaslon"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"Dio zaslona"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"Cijeli zaslon i dio zaslona"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"Povećaj cijeli zaslon"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"Povećaj dio zaslona"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Postavke povećanja"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"Povećavanje trostrukim dodirom"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Povećanje pomoću prečaca"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Povećanje pomoću prečaca i trostrukog dodira"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"O usluzi <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"Opcije"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"Povećavanje zaslona"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"Dodirnite triput za zumiranje"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Dodirnite gumb za zumiranje"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><b>"Da biste zumirali"</b>", brzo dodirnite zaslon tri puta.\n"<ul><li>"Povlačite s dva prsta ili više njih da biste se pomicali"</li>\n<li>"Spojite dva prsta ili više njih da biste prilagodili zumiranje"</li></ul>\n\n<b>"Da biste privremeno zumirali"</b>", brzo dodirnite zaslon tri puta i zadržite prst dolje nakon trećeg dodira.\n"<ul><li>"Povlačite prstom da biste se kretali zaslonom"</li>\n<li>"Podignite prst da biste smanjili prikaz"</li></ul>\n\n"Tipkovnica i navigacijska traka ne mogu se povećati."</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"Kad je povećanje uključeno, možete povećati prikaz na zaslonu.\n\n"<b>"Da biste zumirali"</b>", pokrenite povećanje, a zatim dodirnite bilo gdje na zaslonu.\n"<ul><li>"• Povucite s dva ili više prstiju da biste se pomicali."</li>\n<li>"• Spojite dva ili više prstiju da biste prilagodili zumiranje."</li></ul>\n\n<b>"Da biste zumirali samo nekoliko trenutaka"</b>", pokrenite povećanje, a zatim dodirnite i zadržite bilo gdje na zaslonu.\n"<ul><li>"• Povlačite prstom da biste se kretali zaslonom."</li>\n<li>"• Podignite prst da biste smanjili prikaz."</li></ul>\n\n"Prikaz tipkovnice ili navigacijske trake ne može se povećati."</string>
+    <string name="accessibility_screen_magnification_summary" msgid="7617931632990040045">"Brzo povećajte prikaz na zaslonu da biste jasnije vidjeli sadržaj.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Da biste to učinili:&lt;/b&gt;&lt;br/&gt;	1. Upotrijebite prečac da biste pokrenuli povećavanje.&lt;br/&gt;	2. Dodirnite zaslon.&lt;br/&gt;	3. Povlačite dva prsta da biste se pomicali po zaslonu.&lt;br/&gt;	4. Spojite dva prsta da biste prilagodili povećanje.&lt;br/&gt;	5. Upotrijebite prečac da biste zaustavili povećavanje.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Da biste privremeno povećali prikaz:&lt;/b&gt;&lt;br/&gt;	1. Upotrijebite prečac da biste pokrenuli povećavanje.&lt;br/&gt;	2. Dodirnite i zadržite bilo gdje na zaslonu.&lt;br/&gt;	3. Povlačite prstom da biste se pomicali po zaslonu.&lt;br/&gt;	4. Podignite prst da biste zaustavili povećavanje."</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Kad je povećanje uključeno, možete povećati prikaz na zaslonu.\n\n"<b>"Da biste zumirali"</b>", pokrenite povećanje, a zatim dodirnite bilo gdje na zaslonu.\n"<ul><li>"Povlačite s dva prsta ili više njih da biste se pomicali."</li>\n<li>"Spojite dva prsta ili više njih da biste prilagodili zumiranje."</li></ul>\n\n<b>"Da biste nešto privremeno zumirali"</b>", pokrenite povećanje, a zatim dodirnite bilo gdje na zaslonu i zadržite pritisak.\n"<ul><li>"Povlačite prstom da biste se kretali zaslonom."</li>\n<li>"Podignite prst da biste smanjili prikaz."</li></ul>\n\n"Tipkovnica i navigacijska traka ne mogu se povećati."</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Otvaranje pomoću gumba pristupačnosti"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Otvaranje pokretom"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"Upotreba novog pokreta pristupačnosti"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"Da biste uključili ili isključili tu uslugu, dodirnite gumb pristupačnosti <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> na dnu zaslona.\n\nDa biste se prebacili na neku drugu uslugu, dodirnite i zadržite gumb pristupačnosti."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"Da biste uključili ili isključili tu uslugu, prijeđite s dva prsta prema gore od dna zaslona.\n\nDa biste se prebacili na neku drugu uslugu, prijeđite s dva prsta prema gore i zadržite."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"Da biste uključili ili isključili tu uslugu, prijeđite s tri prsta prema gore od dna zaslona.\n\nDa biste se prebacili na neku drugu uslugu, prijeđite s tri prsta prema gore i zadržite."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"Da biste uključili ili isključili uslugu pristupačnosti, prijeđite s dva prsta prema gore od dna zaslona.\n\nDa biste se prebacili na neku drugu uslugu, prijeđite s dva prsta prema gore i zadržite."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"Da biste uključili ili isključili uslugu pristupačnosti, prijeđite s tri prsta prema gore od dna zaslona.\n\nDa biste se prebacili na neku drugu uslugu, prijeđite s tri prsta prema gore i zadržite."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"Da biste uključili ili isključili tu uslugu, dodirnite gumb za Pristupačnost <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> na dnu zaslona.\n\nDa biste se prebacili na neku drugu uslugu, dodirnite i zadržite gumb za Pristupačnost."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"Da biste uključili ili isključili tu uslugu, prijeđite s dva prsta prema gore od dna zaslona.\n\nDa biste se prebacili na neku drugu uslugu, prijeđite s dva prsta prema gore i zadržite."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"Da biste uključili ili isključili tu uslugu, prijeđite s tri prsta prema gore od dna zaslona.\n\nDa biste se prebacili na neku drugu uslugu, prijeđite s tri prsta prema gore i zadržite."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"Da biste uključili ili isključili uslugu pristupačnosti, prijeđite s dva prsta prema gore od dna zaslona.\n\nDa biste se prebacili na neku drugu uslugu, prijeđite s dva prsta prema gore i zadržite."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"Da biste uključili ili isključili uslugu pristupačnosti, prijeđite s tri prsta prema gore od dna zaslona.\n\nDa biste se prebacili na neku drugu uslugu, prijeđite s tri prsta prema gore i zadržite."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"Shvaćam"</string>
+    <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Prečac za uslugu <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_edit_summary_software" msgid="2820923641553461297">"Gumb za Pristupačnost"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture" msgid="8078659880723370597">"Prijeđite s dva prsta prema gore"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture_talkback" msgid="7422753388389160524">"Prijeđite s tri prsta prema gore"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software" msgid="4796192466943479849">"Dodirnite gumb za Pristupačnost"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8922102767509399352">"Dodirnite gumb za Pristupačnost <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> u dnu zaslona"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"Prijeđite s dva prsta prema gore od dna zaslona"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"Prijeđite s tri prsta prema gore od dna zaslona"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Držite tipke za glasnoću"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"Pritisnite i zadržite obje tipke za glasnoću jednu sekundu"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Triput dodirnite zaslon"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"Brzo dodirnite zaslon tri puta. Taj prečac može usporiti uređaj."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"Napredno"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"Gumb Pristupačnost postavljen je na <xliff:g id="SERVICE">%1$s</xliff:g>. Da biste upotrijebili povećanje, dodirnite i zadržite gumb Pristupačnost i zatim odaberite povećanje."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"Pokret pristupačnosti postavljen je tako da otvara <xliff:g id="SERVICE">%1$s</xliff:g>. Da biste koristili povećanje, s dva prsta prijeđite od dna zaslona prema gore i zadržite. Zatim odaberite povećanje."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"Prečac tipki za glasnoću"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"Usluga prečaca"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Postavke prečaca"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"Dopusti sa zaključanog zaslona"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"Kad je taj prečac uključen, možete na tri sekunde pritisnuti obje tipke za glasnoću kako biste pokrenuli značajku pristupačnosti."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"Tekst s visokim kontrastom"</string>
@@ -2171,24 +2180,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"Odaberite koliko će se dugo prikazivati poruke koje traže da izvršite radnju, no vidljive su samo privremeno.\n\nNeke aplikacije ne podržavaju tu postavku."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"Trajanje pritiska"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"Inverzija boja"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"Može utjecati na izvedbu"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"Vrijeme zadržavanja"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"Upotrijebi inverziju boja"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"Inverzijom boja svijetli zasloni postaju tamni. Time se osobama osjetljivim na jaku svjetlost pomaže da lakše vide zaslon.&lt;br/&gt;&lt;br/&gt;Napomena: tamne boje postat će svijetle. Boje se mijenjaju u medijima i na slikama. Možete upotrijebiti i Tamnu temu (Postavke &gt; Zaslon)."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"Automatski klik (vrijeme zadržavanja)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"Ako upotrebljavate miš, pokazivač možete postaviti tako da se radnja izvrši automatski kada se miš ne pomiče određeno vrijeme."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"Odgoda prije klika"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"Ne koristi automatski klik (zadano)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"Kratko"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0,2 sekunde"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"Srednje"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0,6 sekundi"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"Dugo"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 s"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"Prilagođeno"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"Kraće"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"Dulje"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"Trajanje automatskog klika"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"Vibracija i haptička snaga"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Vibracija za obavijesti"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Vibracija pri zvonjenju"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Reakcija na dodir"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"Upotreba usluge"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"Koristi aplikaciju <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"Otvori <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"Upotreba korekcije boje"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"Upotreba titlova"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"Prikaži opise"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"Izgled naslova"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"Veličina teksta, stil naslova"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"Više opcija"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"Neke aplikacije ne podržavaju tu postavku."</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"gumb za Pristupačnost"</string>
+    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"prijeđite dvama prstima prema gore"</string>
+    <string name="accessibility_shortcut_type_hardware" msgid="4834144210432451916">"Držite tipke za glasnoću"</string>
+    <string name="accessibility_shortcut_type_triple_tap" msgid="7717524216825494543">"Triput dodirnite zaslon"</string>
     <string name="accessibility_hearingaid_instruction_continue_button" msgid="3367260988024430722">"Nastavi"</string>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"Slušni aparati"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"Nije povezan nijedan slušni aparat"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"Dodaj slušne aparate"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"Da uparite slušni aparat, dodirnite ga na sljedećem zaslonu."</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"Provjerite je li slušni aparat u načinu uparivanja."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"Da uparite slušni aparat, dodirnite ga na sljedećem zaslonu. Provjerite je li slušni aparat u načinu uparivanja."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"Aktivno: <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="one">Spremljen je <xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> slušni aparat</item>
@@ -2201,30 +2228,41 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Usluga ne radi ispravno."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Prikaži u Brzim postavkama"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"Način korekcije"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="one">Izrazito kratka odgoda (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="few">Izrazito kratka odgoda (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Izrazito kratka odgoda (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Crveno – zeleno"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"Zeleno – crveno"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Plavo – žuto"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"Deuteranomalija"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"Protanomalija"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"Tritanomalija"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="one">Izrazito kratka odgoda (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunda)</item>
+      <item quantity="few">Izrazito kratka odgoda (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunde)</item>
+      <item quantity="other">Izrazito kratka odgoda (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundi)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="one">Vrlo kratka odgoda (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="few">Vrlo kratka odgoda (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Vrlo kratka odgoda (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="one">Vrlo kratka odgoda (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunda)</item>
+      <item quantity="few">Vrlo kratka odgoda (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunde)</item>
+      <item quantity="other">Vrlo kratka odgoda (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundi)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="one">Kratka odgoda (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="few">Kratka odgoda (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Kratka odgoda (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="one">Kratka odgoda (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunda)</item>
+      <item quantity="few">Kratka odgoda (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunde)</item>
+      <item quantity="other">Kratka odgoda (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundi)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="one">Duga odgoda (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="few">Duga odgoda (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Duga odgoda (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="one">Duga odgoda (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunda)</item>
+      <item quantity="few">Duga odgoda (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunde)</item>
+      <item quantity="other">Duga odgoda (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundi)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="one">Vrlo duga odgoda (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="few">Vrlo duga odgoda (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Vrlo duga odgoda (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="one">Vrlo duga odgoda (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunda)</item>
+      <item quantity="few">Vrlo duga odgoda (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunde)</item>
+      <item quantity="other">Vrlo duga odgoda (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundi)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunda</item>
+      <item quantity="few"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunde</item>
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundi</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"Zvono <xliff:g id="SUMMARY_RING">%1$s</xliff:g>, obavijest <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>, dodir <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"Zvonjenje i obavijesti postavljeni na isključeno"</string>
@@ -2550,7 +2588,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"Kod posljednjeg isključivanja za <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"Ukupno iskorištenje"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"Osvježi"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"Android OS"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"Medijski poslužitelj"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"Optimizacija aplikacija"</string>
     <string name="battery_saver" msgid="7737147344510595864">"Štednja baterije"</string>
@@ -2631,8 +2668,7 @@
     <string name="tts_play" msgid="2945513377250757221">"Reproduciraj"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"Pohrana vjerodajnica"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"Instaliraj iz memorije"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"Instaliraj s SD kartice"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"Instaliranje certifikata"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"Instaliraj certifikate iz memorije"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"Instaliraj certifikate s SD kartice"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"Izbriši vjerodajnice"</string>
@@ -2652,6 +2688,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"Pohrana vjerodajnica izbrisana je."</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"Pohrana vjer. nije izbrisana."</string>
     <string name="usage_access_title" msgid="1580006124578134850">"Apl. s pristupom pod. o upot."</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"CA certifikat"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"Korisnički certifikat za VPN i aplikacije"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"Certifikat za Wi‑Fi"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"Vaša je privatnost ugrožena"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"CA certifikate koriste web-lokacije, aplikacije i VPN-ovi za enkripciju. Instalirajte CA certifikate samo od organizacija kojima vjerujete. \n\n Ako instalirate CA certifikat, vlasnik certifikata mogao bi pristupiti vašim informacijama, kao što su zaporke, poruke ili pojedinosti o kreditnim karticama, s web-lokacija koje posjećujete ili iz aplikacija koje koristite, čak i ako su te informacije kriptirane."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"Ne instaliraj"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"Uvijek instaliraj"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"Certifikat nije instaliran"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"Signal za hitne pozive"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Postavite način ponašanja za hitni poziv"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Sigurnosna kopija"</string>
@@ -2679,10 +2723,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"Deaktiviraj i deinstaliraj"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"Aplikacije administratora uređaja"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"Nema dostupnih aplikacija administratora uređaja"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"Osobno"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"Posao"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"Ograniči pristup SMS-ovima i zapisniku poziva"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"Samo zadane aplikacije za telefon i poruke imaju dopuštenja za SMS i zapisnik poziva"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"Pouzdani predstavnici nisu dostupni"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"Aktivirati apl. administratora uređaja?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"Aktiviraj aplikaciju administratora ovog uređaja"</string>
@@ -2696,6 +2736,15 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"Ostale je opcije onemogućio vaš administrator"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"Više pojedinosti"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"Zapisnik obavijesti"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"Povijest obavijesti"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"Danas"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"Odgođeno"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"Nedavno odbačeno"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="one"><xliff:g id="NUMBER_1">%d</xliff:g> obavijest</item>
+      <item quantity="few"><xliff:g id="NUMBER_1">%d</xliff:g> obavijesti</item>
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> obavijesti</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"Melodija zvona i vibriranje za poziv"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"Detalji mreže"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"Sinkronizacija je omogućena"</string>
@@ -3049,7 +3098,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"Ograničenja"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"Uklanjanje ograničenja"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"Promjena PIN-a"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"Prikaži obavijesti"</string>
     <string name="help_label" msgid="2896538416436125883">"Pomoć/povratne inf."</string>
     <string name="support_summary" msgid="1034146931237148885">"Članci pomoći, telefoniranje i chat, početak"</string>
     <string name="user_account_title" msgid="6389636876210834864">"Račun za sadržaj"</string>
@@ -3074,6 +3122,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G pozivanje"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Upotreba LTE usluga za poboljšanje glasovne i drugih komunikacija (preporučeno)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Upotreba 4G usluga za poboljšanje glasovne i drugih komunikacija (preporučeno)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Otkrivanje kontakata"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Omogućuje mobilnom operateru da otkrije koje značajke poziva podržavaju vaši kontakti."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Želite li omogućiti otkrivanje kontakta?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Ako omogućite tu značajku, vaš će mobilni operater moći pristupiti telefonskim brojevima u vašim kontaktima kako bi otkrio koje značajke poziva podržavaju."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Željena vrsta mreže"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (preporučeno)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS poruke"</string>
@@ -3118,7 +3170,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"Poziv putem usluge"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"Odabir SIM kartice"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"SIM <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"SIM je prazan"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"Naziv SIM-a"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"Unesite naziv SIM-a"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"Utor za SIM %1$d"</string>
@@ -3128,6 +3179,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"Odaberite SIM karticu"</string>
     <string name="color_orange" msgid="216547825489739010">"Narančasta"</string>
     <string name="color_purple" msgid="6603701972079904843">"Ljubičasta"</string>
+    <string name="color_pink" msgid="8596872110888626708">"Ružičasta"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"SIM kartica nije umetnuta"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"Status SIM-a"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"Status SIM-a (utor za SIM %1$d)"</string>
@@ -3141,7 +3193,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"SIM kartica je promijenjena."</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Dodirnite za postavljanje"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"Željeni SIM za"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Pitaj svaki put"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Potreban je odabir"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"Odabir SIM-a"</string>
@@ -3160,6 +3211,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"Bluetooth, način za vožnju"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"Bluetooth, NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"Bluetooth"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"Nije dostupno jer je NFC isključen"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"Aplikacije i obavijesti"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Nedavne aplikacije, zadane aplikacije"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Pristup obavijestima nije dostupan za aplikacije u radnom profilu."</string>
@@ -3170,13 +3222,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"Postavke"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"wifi, wi-fi, mrežna veza, internet, bežično, podaci, wi fi"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"Wi‑Fi obavijest, wifi obavijest"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"potrošnja podataka"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"Zaustaviti vibraciju, dodir, tipkovnica"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"Koristi 24-satni format"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"Preuzmi"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"Otvori u aplikaciji"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"Aplikacije"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"vremenska zona"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"Oblačić za chat"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"Oblačić za chat, sustav, upozorenje, prozor, dijalog, zaslon, iznad drugih aplikacija, povući"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"Svjetiljka, svjetlo, bljeskalica"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"wifi, wi-fi, promjena, upravljanje"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"mobilno, mobilna mreža, mobilni operater, bežično, podaci, 4g, 3g, 2g, lte"</string>
@@ -3200,7 +3253,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"ne ometaj, prekinuti, prekid, zaustaviti"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"u blizini, lokacija, povijest, izvješćivanje, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"račun"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"račun, dodavanje računa, poslovni profil, dodaj račun"</string>
     <string name="keywords_users" msgid="3497517660077620843">"ograničenje, ograničiti, ograničeno"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"ispravak teksta, ispraviti, zvuk, vibracija, automatski, jezik, pokret, predložiti, prijedlog, tema, uvredljivo, riječ, upisivati, emoji, međunarodno"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"poništavanje, vraćanje na zadano, postavke, zadano"</string>
@@ -3238,6 +3291,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"memorija, predmemorija, podaci, brisati, čistiti, slobodno, prostor"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"povezano, uređaj, slušalice, slušalice s mikrofonom, zvučnik, bežično, uparivanje, slušalice za umetanje u uho, glazba, medij"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"pozadina, zaslon, zaključan zaslon, tema"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"oblik ikone, boja isticanja, font"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"zadano, pomoćno"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"plaćanje, zadano"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"dolazna obavijest"</string>
@@ -3247,18 +3301,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"taktilnost, vibracija, osjetljivost"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"štednja baterije, ljepljiv, zadržati, štednja energije, baterija"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"rutina, raspored, štednja baterije, štednja energije, baterija, automatski, postotak"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"radni profil"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"volte, napredno pozivanje, 4g pozivanje"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"dodaj jezik, dodajte jezik"</string>
     <string name="default_sound" msgid="6604374495015245195">"Zadani zvuk"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"Glasnoća zvona na <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"Glasnoća zvona i obavijesti na <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Glasnoća, vibracija, Ne ometaj"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"Softver zvona postavljen na vibraciju"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"Softver zvona postavljen na nečujno"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"Glasnoća zvona na 80%"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"Glasnoća zvona i obavijesti na 80%"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Glasnoća medija"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Glasnoća emitiranja"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"Glasnoća poziva"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"Glasnoća alarma"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"Glasnoća zvona"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"Glasnoća zvona i obavijesti"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"Glasnoća obavijesti"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"Melodija zvona telefona"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"Zadani zvuk obavijesti"</string>
@@ -3266,6 +3321,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"Zadani zvuk obavijesti"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"Zadani zvuk alarma"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"Vibriraj za pozive"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"Nikada ne vibriraj"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"Uvijek vibriraj"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"Najprije vibriraj, zatim postupno zvoni"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"Ostali zvukovi"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"Tonovi brojčanika"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"Zvukovi zaključavanja zaslona"</string>
@@ -3290,6 +3348,7 @@
       <item quantity="other">Omogućeno je <xliff:g id="ON_COUNT">%d</xliff:g></item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Ne uznemiravaj"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Primajte obavijesti samo od važnih osoba i aplikacija"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Ograničavanje prekida"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Uključite opciju Ne uznemiravaj."</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"Iznimke"</string>
@@ -3316,7 +3375,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Blokiranje vizualnih ometanja"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Dopusti vizualne signale"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"Kad je uključen način Ne uznemiravaj"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"Dopusti ometanja koja proizvode zvuk"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"Ograničavanje obavijesti"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Bez zvuka obavijesti"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"Vidjet ćete obavijesti na zaslonu"</string>
@@ -3347,7 +3406,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"Zvuk i vibracija"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"Zvuk, vibracija i neki vizualni znakovi obavijesti"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"Zvuk, vibracija i vizualni znakovi obavijesti"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"Obavijesti potrebne za osnovne aktivnosti i status telefona nikad se neće skrivati"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"Obavijesti potrebne za osnovne aktivnosti i status telefona nikad se neće skrivati."</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"Ništa"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"ostale opcije"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"Dodaj"</string>
@@ -3379,10 +3438,12 @@
       <item quantity="few"><xliff:g id="ON_COUNT">%d</xliff:g> rasporeda mogu se uključiti automatski</item>
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> rasporeda može se uključiti automatski</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"Isključi zvuk uređaja, ali dopusti iznimke"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"Iznimke"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"Raspored"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"Pogledajte sve iznimke"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"Iznimke kad je uključen način Ne uznemiravaj"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"Osobe"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"Aplikacije"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"Alarmi i druga ometanja"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"Rasporedi"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"Utišane obavijesti"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"Kada je način Ne uznemiravaj uključen, zvučni signali i vibriranje bit će isključeni, osim za prethodno navedene stavke koje dopustite."</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"Zanemari sve osim"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"Zanemareno"</string>
@@ -3426,16 +3487,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"Prilagodljive obavijesti"</string>
     <string name="asst_capability_prioritizer_title" msgid="1181272430009156556">"Prilagodljiv prioritet obavijesti"</string>
     <string name="asst_capability_prioritizer_summary" msgid="954988212366568737">"Obavijesti nižeg prioriteta automatski se postavljaju na Neupadljivo"</string>
+    <string name="asst_capability_ranking_title" msgid="312998580233257581">"Prilagodljiv poredak obavijesti"</string>
+    <string name="asst_capability_ranking_summary" msgid="2293524677144599450">"Automatski poredaj obavijesti prema važnosti"</string>
     <string name="asst_capabilities_actions_replies_title" msgid="4392470465646394289">"Predložene radnje i odgovori"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"Automatski prikaži predložene radnje i odgovore"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"Uključite povijest obavijesti da biste pratili prethodne i odgođene obavijesti"</string>
+    <string name="notification_history" msgid="8663811361243456201">"Povijest obavijesti"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"Uključi povijest"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"Isključi povijest"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"Povijest obavijesti je isključena"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"prikaz postavki obavijesti"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Dopusti odgodu obavijesti"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"Sakrij ikone iz neupadljivih obavijesti"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"Ikone iz neupadljivih obavijesti ne prikazuju se na traci statusa"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"Dopusti točke obavijesti"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"Prikaz trake s nedavnim razgovorima"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Oblačići"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"Neke obavijesti mogu se prikazivati kao oblačići na zaslonu"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"Neke obavijesti i drugi sadržaji mogu se prikazivati kao oblačići na zaslonu. Da biste otvorili oblačić, dodirnite ga. Da biste ga odbacili, povucite ga prema dolje."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Oblačići"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"Nove poruke prikazat će se na zaslonu"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"Omogućite aplikaciji <xliff:g id="APP_NAME">%1$s</xliff:g> da neke obavijesti prikazuje kao oblačiće"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"Uključite oblačiće"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"Da biste uključili oblačiće za ovu aplikaciju, trebate ih uključiti za uređaj. To utječe na druge aplikacije u kojima ste prethodno uključili oblačiće."</string>
@@ -3453,6 +3524,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"Prikaži na zaslonu obavijesti i zaključanom zaslonu"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"Prikaži na zaslonu obavijesti i traci statusa"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"Prikaži na zaslonu obavijesti, traci statusa i zaključanom zaslonu"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"Sakrij tihe obavijesti na traci statusa"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"Trepereće svjetlo"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"Na zaključanom zaslonu"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"Preskoči zaključan zaslon"</string>
@@ -3483,6 +3555,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"Ponašanje"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"Dopusti zvuk"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"Nikad ne prikazuj obavijesti"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"Razgovori"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"Razgovor"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"Nije razgovor"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"Uklanjanje iz odjeljka razgovora"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"Ovo je razgovor"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"Dodavanje u odjeljak razgovora"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"Upravljajte razgovorima"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"Važni razgovori"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"Svi razgovori"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"Prikaži važne razgovore u oblačićima"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"Važni razgovori prikazuju se pri vrhu zaslona obavijesti. Možete postaviti i da se prikazuju u oblačićima te vas ometaju dok je uključena značajka Ne uznemiravaj."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"Prikaži tiho i minimiziraj"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"Prikaži tiho"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"Reproduciraj zvuk"</string>
@@ -3501,7 +3584,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"Pomaže vam da se usredotočite bez zvučnih signala i vibracija"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"Privlači vašu pažnju zvučnim signalima ili vibracijama"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"Kad se uređaj otključa, prikaži obavijesti kao natpis pri vrhu zaslona"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"Prikaži obavijesti"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"Sve obavijesti aplikacije <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"Prilagodljive obavijesti"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="one">~<xliff:g id="NUMBER_1">%d</xliff:g> obavijest dnevno</item>
@@ -3525,6 +3608,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"Prilagodljive obavijesti"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"Nema"</string>
     <string name="no_notification_listeners" msgid="2839354157349636000">"Nijedna instalirana aplikacija nije zatražila pristup obavijestima."</string>
+    <string name="notification_access_detail_switch" msgid="46386786409608330">"Dopustite pristup obavijestima"</string>
     <string name="notification_assistant_security_warning_title" msgid="2972346436050925276">"Želite li dopustiti usluzi <xliff:g id="SERVICE">%1$s</xliff:g> da pristupa obavijestima?"</string>
     <string name="notification_assistant_security_warning_summary" msgid="3119843404577399036">"Aplikacija <xliff:g id="NOTIFICATION_ASSISTANT_NAME">%1$s</xliff:g> moći će čitati sve obavijesti, uključujući osobne podatke, na primjer imena kontakata i tekstove poruka koje primate. Moći će i mijenjati i odbacivati obavijesti ili aktivirati gumbe za radnju koje te obavijesti sadrže. \n\nAplikacija će također moći uključiti ili isključiti značajku Ne uznemiravaj i promijeniti povezane postavke."</string>
     <string name="notification_listener_security_warning_title" msgid="5791700876622858363">"Želite li dopustiti usluzi <xliff:g id="SERVICE">%1$s</xliff:g> pristup obavijestima?"</string>
@@ -3589,8 +3673,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"Gotovo"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"Važnost"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"Trepereće svjetlo"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"Vibriranje"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"Vibracija"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"Zvuk"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"Važno"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"Dodaj na početni zaslon"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"Izbriši"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"Promijeni naziv"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"Naziv rasporeda"</string>
@@ -3645,6 +3731,10 @@
       <item quantity="few">Još <xliff:g id="NUM_PEOPLE">%d</xliff:g> osobe</item>
       <item quantity="other">Još <xliff:g id="NUM_PEOPLE">%d</xliff:g> osoba</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Razgovori"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"Iz svih razgovora"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"Iz važnih razgovora"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"Ne dopuštaj nijednu vrstu razgovora"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"Dopusti poruke"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"Da biste provjerili mogu li se čuti dopuštene poruke, provjerite je li uređaj postavljen na zvonjenje, vibraciju ili nečujno."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"Dolazne su poruke blokirane za raspored \"<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>\". Možete prilagoditi postavke da bi vaša obitelj, prijatelji ili drugi kontakti mogli stupiti u kontakt s vama."</string>
@@ -3658,15 +3748,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"Ništa"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"Ne dopuštaj nijednu vrstu poziva"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"Ne dopuštaj nijednu vrstu poruka"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"Dopusti alarme"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"Alarmi"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"od odbrojavanja, alarma, sigurnosnih sustava i drugih aplikacija"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"alarmi"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"Reproduciraj zvukove medija"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"Zvukovi medija"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"od videozapisa, igara i drugih medija"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"mediji"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"Dopusti zvukove dodira"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"Zvukovi dodirivanja"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"od tipkovnice i ostalih gumba"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"zvukovi dodirivanja"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"Dopusti podsjetnike"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"Podsjetnici"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"od zadataka i podsjetnika"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"podsjetnici"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"Dopusti događaje"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"Događaji"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"od skorih događaja kalendara"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Dopusti aplikacijama da nadjačaju"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"Iznimke aplikacija"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3712,6 +3807,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"Obavijesti utišane opcijom Ne ometaj uključit će zaslon"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"Postavke obavijesti"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"U redu"</string>
+    <string name="suggestion_button_close" msgid="6865170855573283759">"Zatvori"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Pošalji povr. informacije o uređaju"</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"Unesite PIN administratora"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"Uključeno"</string>
@@ -3722,6 +3818,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Traži PIN radi otkvačivanja"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Traži zaporku radi otkvačivanja"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Zaključaj uređaj prilikom otkvačivanja"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Potvrdite brisanje SIM-a"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"Potvrdite svoj identitet da biste mogli izbrisati preuzeti SIM"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"Ovim radnim profilom upravlja:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"Upravlja <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(Eksperimentalno)"</string>
@@ -3800,8 +3898,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"Sve aplikacije"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Instalirane aplikacije"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Instant aplikacije"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"Osobno"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"Posao"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"Aplikacije: sve"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"Isključeno"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"Kategorije: hitno"</string>
@@ -3813,6 +3909,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"Nepoznata aplikacija"</string>
     <string name="app_permissions" msgid="8666537659217653626">"Upravitelj dopuštenja"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"Aplikacije koje koriste značajke <xliff:g id="APPS">%1$s</xliff:g>"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"Aplikacije s dopuštenjem <xliff:g id="APPS">%1$s</xliff:g> i ostalima"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"Dodirnite za aktivaciju"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"Dvaput dodirnite bilo gdje na zaslonu da biste aktivirali uređaj"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"Otvaranje veza"</string>
@@ -3825,9 +3922,15 @@
       <item quantity="few"><xliff:g id="COUNT">%d</xliff:g> aplikacije otvaraju podržane veze</item>
       <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> aplikacija otvara podržane veze</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"Otvori u ovoj aplikaciji"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"Aplikaciji je dopušteno da otvara podržane veze"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"Pitaj svaki put"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"Ne otvaraj u ovoj aplikaciji"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"Aplikaciji nije dopušteno da otvara veze"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="one">Aplikacija polaže prava na obradu <xliff:g id="COUNT_1">%d</xliff:g> veze</item>
+      <item quantity="few">Aplikacija polaže prava na obradu <xliff:g id="COUNT_1">%d</xliff:g> veze</item>
+      <item quantity="other">Aplikacija polaže prava na obradu <xliff:g id="COUNT_1">%d</xliff:g> veza</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"Aplikacija polaže prava na obradu sljedećih veza:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"Zadano"</string>
     <string name="default_for_work" msgid="537558180548617528">"Zadano za posao"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"Pomoćnik i glasovni unos"</string>
@@ -3974,8 +4077,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"Prikaz iznad drugih aplikacija"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Dopusti prikaz iznad drugih aplikacija"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"Aplikaciji omogućuje da se prikazuje iznad drugih aplikacija koje upotrebljavate. To može ometati upotrebu tih aplikacija ili promijeniti njihov izgled ili ponašanje."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"Pristup svim datotekama"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"Dopustite pristup za upravljanje svim datot."</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Dopustite ovoj aplikaciji čitanje, izmjenu i brisanje svih datoteka na ovom uređaju ili bilo kojim povezanim uređajima za pohranu. Ako je odobreno, aplikacija može pristupiti datotekama bez vašeg znanja."</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"Može pristupiti svim datotekama"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"vr slušatelj virtualne stvarnosti stereo pomoćna usluga"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"prikaz prozora upozorenja sustava iznad drugih aplikacija"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"Prikaz iznad drugih aplikacija"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"Broj aplikacija koje se mogu prikazivati iznad drugih: <xliff:g id="COUNT_0">%1$d</xliff:g> od <xliff:g id="COUNT_1">%2$d</xliff:g>"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"Aplikacije s dopuštenjem"</string>
@@ -4146,6 +4252,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"Iskorišteno: <xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g>"</string>
     <string name="data_overusage" msgid="3680477320458707259">"Više od <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="data_remaining" msgid="6316251496381922837">"Još <xliff:g id="ID_1">^1</xliff:g>"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"Grafikon koji prikazuje potrošnju podatakovnog prometa između <xliff:g id="START_DATE">%1$s</xliff:g> i <xliff:g id="END_DATE">%2$s</xliff:g>."</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"Nema podataka za taj datumski raspon"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="one">još %d dan</item>
       <item quantity="few">još %d dana</item>
@@ -4210,14 +4318,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"veličina paketa"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"obavijest poslana"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"zvuk"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"vibriranje"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"uzorak"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"zadano"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"kanal"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"ništa"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"Objekt rangiranja nedostaje."</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"Objekt rangiranja ne sadrži tu tipku."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"Teme"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"Zadana postavka uređaja"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"Urez na zaslonu"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"obrezana slika za zaslon, urez"</string>
@@ -4310,8 +4414,12 @@
     <string name="information_label" msgid="6939310810756569298">"Informacije"</string>
     <string name="low_label" msgid="6525629096999711220">"Niska"</string>
     <string name="high_label" msgid="357503396626018487">"Visoka"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"Veća osjetljivost može utjecati na pokrete uz rub zaslona."</string>
+    <string name="left_edge" msgid="1513576842959071849">"Lijevi rub"</string>
+    <string name="right_edge" msgid="1505309103265829121">"Desni rub"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"Veća osjetljivost može utjecati na pokrete iz aplikacije uz rub zaslona."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"Osjetljivost stražnje strane"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"Postavke pokreta"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"navigacija pokretima, osjetljivost pozadine, pozadinski pokret"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"Dva dodira za provjeru"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"Dvaput dodirnite da biste provjerili tablet"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"Dvaput dodirnite da biste provjerili uređaj"</string>
@@ -4473,7 +4581,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"Pokretanje usluga mobilnog operatera"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"Ažuriranje načina Ne uznemiravaj"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"Pauzirajte obavijesti da biste ostali usredotočeni"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"Ova značajka nije dostupna na ovom uređaju"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"Značajka nije dostupna"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"Ta je značajka isključena jer usporava telefon"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"Primijeni potpuna mjerenja GNSS-a"</string>
@@ -4483,20 +4590,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"Upotrijebite aplikaciju omogućenu za ANGLE"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"Nema skupa aplikacija omogućenog za ANGLE"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"Aplikacija omogućena za ANGLE: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"Postavke upravljačkog programa za igru"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"Promijenite postavke upravljačkog programa za igru"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"Kada je upravljački program za igru uključen, možete odabrati korištenje ažuriranog upravljačkog programa za grafiku za aplikacije instalirane na uređaju."</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"Omogući za sve aplikacije"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"Odabir upravljačkog programa za grafiku"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"Zadano"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"Upravljački program za igru"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"Upravljački program za predizdanje"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"Upravljački program za grafiku sustava"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"Postavke upravljačkog programa za grafiku"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"Promjena postavki upravljačkog programa za grafiku"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"Kada postoji više upravljačkih programa za grafiku, za aplikacije instalirane na uređaju možete odabrati korištenje ažuriranog upravljačkog programa za grafiku."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"Omogućavanje za sve aplikacije"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"Odabir upravljačkog programa za grafiku"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"Zadano"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"Upravljački program za igru"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"Upravljački program razvojnog programera"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Upravljački program za grafiku sustava"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Promjene kompatibilnosti aplikacije"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Prebacivanje promjena kompatibilnosti aplikacije"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Zadane omogućene promjene"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Zadane onemogućene promjene"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"Postavka nije podržana na telefonu"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"Postavka nije podržana na tabletu"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"Postavka nije podržana na uređaju"</string>
@@ -4515,6 +4628,11 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"Uređaj"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Nije dostupno tijekom poziva"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"Nije dostupno"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"Dodavanje izlaza"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"Grupa"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"Odabran je jedan uređaj"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"Odabrano uređaja: <xliff:g id="COUNT">%1$d</xliff:g>"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"Prebacivanje…"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Preuzmi poziv na uređaju"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Ovaj se APN ne može promijeniti."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Poboljšajte trajanje baterije tableta"</string>
@@ -4633,10 +4751,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Istovremeno može biti aktivan samo jedan preuzeti SIM.\n\nPrelaskom na mobilnog operatera <xliff:g id="CARRIER1">%1$s</xliff:g> neće se otkazati vaša usluga kod mobilnog operatera <xliff:g id="CARRIER2">%2$s</xliff:g>."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Prijeđi na operatera <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Izbriši SIM"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Želite li izbrisati taj preuzeti SIM?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Brisanjem ovog SIM-a uklanja se usluga mobilnog operatera <xliff:g id="CARRIER_0">%1$s</xliff:g> s ovog uređaja.\n\nUsluga mobilnog operatera <xliff:g id="CARRIER_1">%2$s</xliff:g> neće se otkazati."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Izbriši"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Brisanje SIM-a…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Brisanje SIM-a nije uspjelo"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"SIM se ne može izbrisati zbog pogreške.\n\nPonovo pokrenite uređaj i pokušajte još jednom."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Željena vrsta mreže"</string>
@@ -4661,7 +4775,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Mrežni način <xliff:g id="NETWORKMODEID">%1$d</xliff:g> nije važeći. Zanemarite."</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Nazivi pristupnih točaka"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Nedostupno kada je povezano s mobilnim operaterom <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"Medicinske informacije, kontakti za hitne slučajeve"</string>
     <string name="see_more" msgid="7499355691042812723">"Prikaži više"</string>
     <string name="see_less" msgid="2642392725363552793">"Prikaži manje"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"Uređaj za upotrebu s aplikacijom <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
@@ -4670,12 +4783,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"Došlo je do pogreške. Aplikacija je otkazala zahtjev za odabir uređaja."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"Povezivanje je uspjelo"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"Pokaži sve"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> uređaj povezan</item>
-      <item quantity="few"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> uređaja povezana</item>
-      <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> uređaja povezano</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"Nema Bluetooth uređaja"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"Traženje uređaja…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"Povezivanje s uređajem…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"Lijevo"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"Desni"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Futrola"</string>
@@ -4685,6 +4794,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"Nije dostupno u načinu rada u zrakoplovu"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"Nametni način rada na računalu"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Nametanje eksperimentalnog načina rada na računalu na sekundarnim zaslonima"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"Omogući slobodni oblik apl. stalne veličine"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"Omogućuje da aplikacije stalne veličine budu u slobodnom obliku"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Nadjačaj nametanje tamne teme"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"Nadjačava značajku nametanja tamne teme tako da je uvijek uključena"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"Privatnost"</string>
@@ -4724,6 +4835,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Nedavno ste instalirali ovu aplikaciju."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Promjena izlaza"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Trenutačno se reproducira na uređaju <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (nije povezano)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Nije prebačeno. Dodirnite opet."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Važne informacije"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"NASTAVI"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"NE, HVALA"</string>
@@ -4751,8 +4864,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"Kombinacija SIM-ova"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Informacije o pravilima za posao"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Postavkama upravlja vaš IT administrator"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"Rukovatelj izvješćem o programskoj pogrešci"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Određuje koja je aplikacija odgovorna za prečace izvješća o programskoj pogrešci na vašem uređaju."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Osobno"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"Posao"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"Zadane postavke sustava"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"Taj izbor više nije važeći. Pokušajte ponovo."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"Zaustavi emitiranje"</string>
 </resources>
diff --git a/res/values-hu/arrays.xml b/res/values-hu/arrays.xml
index 1cee4db..a19b539 100644
--- a/res/values-hu/arrays.xml
+++ b/res/values-hu/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"Azonnal"</item>
     <item msgid="463591454172790676">"5 másodperc"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"Ne hitelesítse"</item>
+    <item msgid="5703177653586269306">"Tanúsítvány állapotának kérése"</item>
+    <item msgid="326388247868439528">"Tanúsítvány állapotának kötelező kérése"</item>
+    <item msgid="1090956283885790552">"Az összes nem megbízható tanúsítvány állapotának kötelező kérése"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"Nyomógomb"</item>
     <item msgid="2630618799033509548">"Partnereszköztől kapott PIN"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"Nincs"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"IPSec VPN előre megosztott kulcsokkal és Xauth azonosítás"</item>
     <item msgid="2484564813864139237">"IPSec VPN-tanúsítványokkal és Xauth azonosítás"</item>
     <item msgid="68918911194507915">"IPSec VPN-tanúsítványokkal és hibrid azonosítás"</item>
+    <item msgid="4631647675167100375">"IKEv2/IPSec VPN tanúsítványokkal és felhasználóneves/jelszavas hitelesítéssel"</item>
+    <item msgid="8812228622975052811">"IKEv2/IPSec VPN előmegosztott kulcsokkal"</item>
+    <item msgid="6630554779981113046">"IKEv2/IPSec VPN tanúsítványokkal"</item>
   </string-array>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"Nincs"</item>
diff --git a/res/values-hu/config.xml b/res/values-hu/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-hu/config.xml
+++ b/res/values-hu/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index c04e10b..fb35247 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -31,49 +31,17 @@
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Előbb engedélyeznie kell a fejlesztői beállításokat"</string>
     <string name="header_category_wireless_networks" msgid="303445626075235229">"Vezeték nélküli és egyéb hálózatok"</string>
     <string name="header_category_system" msgid="1665516346845259058">"Rendszer"</string>
-    <string name="radio_info_data_connection_enable" msgid="7500945447906187613">"Adatkapcsolat engedélyezése"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"Adatkapcsolat letiltása"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"VoLTE-jelző"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"Videohívás beütemezve"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"Wi-Fi-hívás beütemezve"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"EAB/Engedélyezett jelenlét"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"CBRS-adatok"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"DSDS engedélyezése"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"Újraindítja az eszközt?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"A beállítás módosításához újra kell indítania az eszközt."</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"Újraindítás"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"Mégse"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"Mobil rádióadó hatótávolsága"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"SIM-kártya telefonkönyvének megtekintése"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"Fix hívószámok megtekintése"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"Szolgáltatásszámok megtekintése"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"IMS-szolgáltatás állapota"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"IMS-állapot"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"Regisztrált"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"Nem regisztrált"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"Rendelkezésre áll"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"Nem áll rendelkezésre"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"IMS-regisztráció: <xliff:g id="STATUS">%1$s</xliff:g>\nHanghívás LTE-adatkapcsolaton keresztül: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nHanghívás Wi-Fi-kapcsolaton keresztül: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideohívás: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT-felület: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"Szolgáltatás"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Nem működik"</string>
     <string name="radioInfo_service_emergency" msgid="6838935881091760942">"Csak segélyhívások"</string>
     <string name="radioInfo_service_off" msgid="6184928420860868571">"Rádió kikapcsolva"</string>
     <string name="radioInfo_roaming_in" msgid="8892550453644088692">"Barangolás"</string>
     <string name="radioInfo_roaming_not" msgid="3137594549464975054">"Nem barangol"</string>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"Tétlen"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"Csengés"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"Hívás folyamatban…"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"Szétkapcsolva"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"Kapcsolódás"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"Csatlakozva"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Felfüggesztve"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Ismeretlen"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"csomag"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"bájt"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"USB-tár leválasztása"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"SD-kártya leválasztása"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"USB-tár törlése"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"Kicsinyítheti vagy nagyíthatja a képernyőn megjelenő szöveget."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Kisebb"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Nagyobb"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Árvíztűrő tükörfúrógép"</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"Mintaszöveg"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"Óz, a csodák csodája"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"11. fejezet: A csodálatos Smaragdváros"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"A beállítás módosításához újra kell indítania az eszközt."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"Újraindít"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"Mégse"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"Rendelkezésre álló médiaeszközök"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"Rendelkezésre álló hívóeszközök"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"Csatlakoztatva"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"Médiaeszközök"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"Hívóeszközök"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"Egyéb eszközök"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Mentett eszközök"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"A Bluetooth bekapcsol a párosítás végrehajtása érdekében"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Kapcsolati beállítások"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"A megadott port nem érvényes."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"A HTTP proxyt a böngésző használja, ám más alkalmazások nem használhatják."</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"PAC URL: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"Jelenlegi alazonosító:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"Alapértelmezett adatok SIM-alazonosítója:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"Letöltési sávszélesség (kbps):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"Feltöltési sávszélesség (kbps):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"Mobilos helyadatok (megszűnt):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"LTE fizikai csatorna konfigurációja:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"Cellainformáció frissítési gyakorisága:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"Minden cellamérési információ:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"Adatszolgáltatás:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"Barangolás:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"Hívásátirányítás:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"PPP-visszaállítások száma a legutolsó rendszerindítás óta:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"Jelenlegi hálózat:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"Fogadott adatok:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"Hangszolgáltatás:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"Jelerősség:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"Hanghívás állapota:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"Elküldött adatok:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"Üzenetek várakozása:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"Telefonszám:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"Rádióhullámsáv kiválasztása"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"Hanghálózat típusa:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"Adathálózat típusa:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"Telefonkönyv kiválasztása"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"Preferált hálózattípus beállítása:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"Pingelt gazdagépnév(www.google.com) IPv4:"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"Pingelt gazdagépnév(www.google.com) IPv6:"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"HTTP-kliens tesztje:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"Pingteszt futtatása"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"Beállítás"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"Frissítés"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"DNS-ellenőrzés váltása"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"OEM-specifikus adatok és beállítások:"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"Rádióhullámsáv mód beállítása"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"Sávlista betöltése…"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"Beállítás"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"Sikertelen"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"Sikeres"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"A módosítások az USB-kábel újracsatlakoztatásakor lépnek életbe."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"USB-háttértár engedélyezése"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"Összes bájt:"</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"Mozgatás a végére"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"Nyelv eltávolítása"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"Válassza ki a tevékenységet"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"Eszközadatok"</string>
     <string name="display_label" msgid="3056320781191343221">"Képernyő"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"Táblagép adatai"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"Telefon adatai"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"USB-tár"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"SD-kártya"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"Proxybeállítások"</string>
@@ -306,9 +234,6 @@
     <string name="airplane_mode" msgid="3196085857882526817">"Repülési üzemmód"</string>
     <string name="wireless_networks_settings_title" msgid="8557542379234105369">"Vezeték nélküli és egyéb hálózatok"</string>
     <string name="radio_controls_summary" msgid="9028430178697624501">"A Wi-Fi, a Bluetooth, a repülési üzemmód, a mobilhálózatok és a VPN-ek kezelése"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"Mobiladatok"</string>
-    <string name="calls_title" msgid="6334813967619899114">"Hívások engedélyezése"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"SMS-ek"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"Mobiladat-forgalom engedélyezése"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"Adatforgalom barangoláskor"</string>
     <string name="roaming" msgid="3055365654530847985">"Roaming"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"Csatlakozás adatszolgáltatásokhoz barangolás során"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"Megszakadt az adatkapcsolat, mert elhagyta az otthoni hálózatot, és az adatbarangolás nincs bekapcsolva."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"Bekapcsolás"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"Lehet, hogy jelentős összeget számítanak fel érte."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"Az adatbarangolás engedélyezése jelentős díjnövekedéssel járhat.\n\nEz a beállítás minden felhasználót érint ezen a táblagépen."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"Az adatbarangolás engedélyezése jelentős díjnövekedéssel járhat.\n\nEz a beállítás minden felhasználót érint ezen a telefonon."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"A szolgáltató roamingdíjat számíthat fel."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"A szolgáltató roamingdíjat számíthat fel az adatroaming engedélyezésekor.\n\nEz a beállítás minden felhasználót érint ezen a táblagépen."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"A szolgáltató roamingdíjat számíthat fel az adatroaming engedélyezésekor.\n\nEz a beállítás minden felhasználót érint ezen a telefonon."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"Engedélyezi az adatbarangolást?"</string>
     <string name="networks" msgid="5184501333492775095">"Szolgáltatóválasztás"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"Válassza ki a hálózat üzemeltetőjét"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"A rendszergazda kikapcsolta"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"A zárolás lehetőség megjelenítése"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"A Smart Lock szolgáltatást, a biometrikus feloldást és a zárolási képernyő értesítéseit kikapcsoló gomb megjelenítése"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"A trust agentek kibővítik a feloldást"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"Ha engedélyezve van, a trust agent komponensek tovább tartják feloldva az eszközt, de a zárolt eszközt többé nem tudják feloldani."</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"Képernyő zárolása megbízhatóság nélkül"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"Ha engedélyezve van, az eszköz zárolva lesz, ha az utolsó trust agent komponensnél megszűnik a megbízható környezet"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"Nincs"</string>
@@ -390,7 +313,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"Saját pozíció beállítása, képernyőzár feloldása, SIM-kártya zárolása, hitelesítési adatok tárolójának zárolása"</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"Saját pozíció beállítása, képernyőzár feloldása, hitelesítési adatok tárolójának zárolása"</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"Adatvédelem"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"A rendszergazda kikapcsolta"</string>
+    <string name="disabled_by_administrator_summary" msgid="5424846182313851124">"Nem hozzáférhető"</string>
     <string name="security_status_title" msgid="6958004275337618656">"Biztonsági állapot"</string>
     <string name="security_dashboard_summary_face" msgid="4198949293847206382">"Képernyőzár, arcalapú feloldás"</string>
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Képernyőzár, ujjlenyomat"</string>
@@ -693,7 +616,6 @@
       <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> számjegynél rövidebbnek kell lennie</item>
       <item quantity="one"><xliff:g id="NUMBER_0">%d</xliff:g> számjegynél rövidebbnek kell lennie</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"Csak számokat tartalmazhat, 0-tól 9-ig"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"Az eszközrendszergazda nem engedélyezi a legutóbbi PIN-kódok használatát"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"Rendszergazdája letiltotta a gyakran használt PIN-kódokat. Próbálkozzon másik PIN-kóddal."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"Ez nem tartalmazhat érvénytelen karaktert"</string>
@@ -724,6 +646,10 @@
       <item quantity="other">Tartalmaznia kell legalább <xliff:g id="COUNT">%d</xliff:g> olyan karaktert, amely nem betű</item>
       <item quantity="one">Tartalmaznia kell legalább 1 olyan karaktert, amely nem betű</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="other">Tartalmaznia kell legalább <xliff:g id="COUNT">%d</xliff:g> olyan karaktert, amely nem szám</item>
+      <item quantity="one">Tartalmaznia kell legalább 1 olyan karaktert, amely nem szám</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"Az eszközrendszergazda nem engedélyezi a legutóbbi jelszavak használatát"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"Rendszergazdája letiltotta a gyakran használt jelszavakat. Próbálkozzon másik jelszóval."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"Növekvő, csökkenő vagy ismétlődő számsor megadása nem engedélyezett"</string>
@@ -837,19 +763,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2,4 GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"Bejelentkezés"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"Webhely megnyitása"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"<xliff:g id="REMAINING_TIME">%1$s</xliff:g> maradt"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"Lejárat: <xliff:g id="EXPIRY_TIME">%1$s</xliff:g>"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"Koppintson ide a hálózatba való bejelentkezéshez"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Mb/s"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Mb/s"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Mb/s"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"A(z) <xliff:g id="REQUESTER">%s</xliff:g> szeretné bekapcsolni a Wi-Fit"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"A(z) <xliff:g id="REQUESTER">%s</xliff:g> szeretné kikapcsolni a Wi-Fit"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"Hibás alkalmazások bájtkódjának ellenőrzése"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Annak engedélyezése az ART számára, hogy ellenőrizze a hibaelhárítást igénylő alkalmazások bájtkódját."</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"Frissítési gyakoriság"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"A jelenlegi kijelzőfrissítési gyakoriság mutatása"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"Tegye lehetővé az adatcserét, ha a táblagép érintkezik egy másik eszközzel."</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"Lehetővé teszi az adatok cseréjét, ha a telefon érintkezik egy másik készülékkel"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"Lehetővé teszi az adatcserét, ha a táblagép érintkezik NFC-eszközzel"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"Lehetővé teszi az adatcserét, ha a telefon érintkezik NFC-eszközzel"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"NFC bekapcsolása"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"Az NFC adatokat küld ezen eszköz és a közelben található egyéb eszközök és célpontok – például fizetési terminálok, beléptetési terminálok, interaktív hirdetések vagy címkék – között."</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"Biztonságos NFC"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Az NFC használatához fel kell oldani az eszköz zárolását"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"NFC-fizetés és Transit engedélyezése csak feloldott képernyő esetén"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"Alkalmazástartalmakat tud továbbítani NFC segítségével"</string>
@@ -923,8 +855,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Bekapcsolás"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Wi‑Fi-keresés bekapcsolva"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Speciális beállítások"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"Speciális beállítások legördülő listája. Koppintson duplán az összecsukáshoz."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"Speciális beállítások legördülő listája. Koppintson duplán a kibontáshoz."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Legördülő lista – Speciális beállítások"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"kibontás"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"Hálózat neve"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"SSID megadása"</string>
     <string name="wifi_security" msgid="9095934643631406913">"Biztonság"</string>
@@ -934,6 +866,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"Állapot"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"Küldési sebesség"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"Fogadási sebesség"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"Vonalsebesség"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"Frekvencia"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"IP-cím"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"Mentve a következővel:"</string>
@@ -941,6 +874,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"EAP módszer"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"Hitelesítés 2. fázisa"</string>
     <string name="wifi_eap_ca_cert" msgid="8033404008276298886">"CA tanúsítvány"</string>
+    <string name="wifi_eap_ocsp" msgid="8713933962516871238">"Online tanúsítvány állapota"</string>
     <string name="wifi_eap_domain" msgid="8304301470752333203">"Domain"</string>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"Felhasználói tanúsítvány"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"Azonosság"</string>
@@ -957,6 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"Válasszon legalább egy sávot a Wi-Fi-hotspot számára:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"IP-beállítások"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"Adatvédelem"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"Előfizetés"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"Előfizetés megtekintése vagy módosítása"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"Véletlenszerű MAC-cím"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"Eszköz hozzáadása"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"Irányítsa a QR-kódot az alábbi panel közepéhez az eszköznek a következőhöz való hozzáadásához: <xliff:g id="SSID">%1$s</xliff:g>"</string>
@@ -966,12 +902,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"Wi‑Fi megosztása"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"A(z) „<xliff:g id="SSID">%1$s</xliff:g>” hálózathoz való csatlakozás érdekében olvassa be ezt a QR-kódot, és ossza meg a jelszót"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"A(z) „<xliff:g id="SSID">%1$s</xliff:g>” hálózathoz való csatlakozás érdekében olvassa be ezt a QR-kódot"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"Nem sikerült beolvasni a QR-kódot. Igazítsa a kódot újra a mező közepére, és próbálja újra."</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"Próbálja újra. Ha a probléma továbbra is fennáll, vegye fel a kapcsolatot az eszköz gyártójával."</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"Hiba történt"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"Gondoskodjon a következőkről: az eszköz legyen áramforráshoz csatlakoztatva, feltöltve és bekapcsolva."</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"Gondoskodjon a következőkről: az eszköz legyen áramforráshoz csatlakoztatva, feltöltve és bekapcsolva. Ha a probléma továbbra is fennáll, vegye fel a kapcsolatot az eszköz gyártójával."</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"A(z) „<xliff:g id="SSID">%1$s</xliff:g>” hozzáadása nem támogatott ennél az eszköznél"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"Próbálja eszközét közelebb vinni a Wi‑Fi-hozzáférési ponthoz/routerhez"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"Ellenőrizze a jelszót, és próbálkozzon újra"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"Vegye fel a kapcsolatot az eszköz gyártójával"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"Ellenőrizze a kapcsolatot, és próbálja újra."</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"Hálózat kiválasztása"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"Az eszköz csatlakoztatásához válasszon hálózatot"</string>
@@ -984,11 +922,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"Wi‑Fi megosztása ezzel az eszközzel…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"Csatlakozás…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"Hotspot megosztása"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"Igazolja, hogy Ön az"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"Igazolja, hogy Ön az"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"Wi-Fi-jelszó: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"Hotspot jelszava: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"Automatikus csatlakozás"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"A telefon automatikusan csatlakozhat e hálózat közelében"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"A táblagép automatikusan csatlakozhat e hálózat közelében"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"Eszköz hozzáadása"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"Használjon QR-kódot, ha új eszközt szeretne hozzáadni a hálózathoz"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"A QR-kód nem érvényes formátum"</string>
     <string name="retry" msgid="7542103800274026915">"Újra"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"Megosztás az eszköz más felhasználóival"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(nem változott)"</string>
@@ -1000,6 +942,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"Nincs megadva tanúsítvány. A kapcsolat nem privát jellegű lesz."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"A hálózat neve túl hosszú."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"A domain megadása kötelező."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"Tanúsítvány szükséges."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"WPS elérhető"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (WPS elérhető)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"Szolgáltatói Wi‑Fi-hálózat"</string>
@@ -1051,7 +994,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"Speciális Wi-Fi-beállítások"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"MAC-cím"</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_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>
@@ -1103,7 +1047,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"Hotspot használatával hozzon létre Wi‑Fi-hálózatot további eszközei számára. A hotspot internetet biztosít mobiladat-kapcsolata használatával. A szolgáltató további díjat számíthat fel."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"Az alkalmazások létrehozhatnak hotspotokat tartalom megosztására a közeli eszközökkel."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Wi-Fi-hotspot automatikus kikapcsolása"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"A Wi-Fi-hotspot kikapcsol, ha nincsenek csatlakoztatott eszközök"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Amikor nincsenek csatlakoztatva eszközök"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"Hotspot bekapcsolása..."</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"Hotspot kikapcsolása..."</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> aktív"</string>
@@ -1112,6 +1056,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"Wifi-hotspot beállítása"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"AndroidAP WPA2 PSK hotspot"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"AndroidHotspot"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"Elmenti a hálózatot?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"A(z) <xliff:g id="APPNAME">%1$s</xliff:g> hálózatot szeretne menteni az Ön telefonján"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"A(z) <xliff:g id="APPNAME">%1$s</xliff:g> hálózatot szeretne menteni az Ön táblagépén"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"Mentés…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"Mentve"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"A mentés nem sikerült. Próbálja újra."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"Elmenti a hálózatokat?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"A(z) <xliff:g id="APPNAME">%1$s</xliff:g> menteni szeretné ezeket a hálózatokat az Ön telefonján"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"A(z) <xliff:g id="APPNAME">%1$s</xliff:g> menteni szeretné ezeket a hálózatokat az Ön táblagépén"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"<xliff:g id="NUMBER">%d</xliff:g> hálózat mentése…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"Hálózatok elmentve"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"Wi-Fi-hívás"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"Hívások kiterjesztése Wi-Fi segítségével"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"Kapcsolja be a Wi-Fi-hívást a lefedettség növeléséhez"</string>
@@ -1138,16 +1093,18 @@
     <string name="emergency_address_title" msgid="3490633500025717573">"Vészhelyzeti cím"</string>
     <string name="emergency_address_summary" msgid="3022628750270626473">"A Wi-Fi-n keresztül indított segélyhívások esetében megjelenő tartózkodási hely"</string>
     <string name="private_dns_help_message" msgid="851221502063782306"><annotation id="url">"További információ"</annotation>" a Privát DNS-funkciókról"</string>
+    <string name="private_dns_mode_on" msgid="8878679071975375696">"Be"</string>
     <string name="wifi_calling_pref_managed_by_carrier" msgid="129524064888622179">"A beállítást a szolgáltató kezeli"</string>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"Aktiválja a Wi-Fi-hívást"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"Kapcsolja be a Wi-Fi-hívásokat"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"A Wi‑Fi-hívások nem támogatottak a következőnél: %1$s"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"Leválasztva a következőről: <xliff:g id="SSID">%1$s</xliff:g>"</string>
     <string name="carrier" msgid="1755020806290963951">"Szolgáltató"</string>
     <string name="display_settings_title" msgid="626835071804834218">"Megjelenítés"</string>
     <string name="sound_settings" msgid="5514582720435174014">"Hang"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"Hangerő"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"Zenei hatások"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"Csengés hangereje"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"Csörgetés és értesítések hangereje"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"Rezgés néma üzemmódban"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"Alapértelmezett értesítési hang"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"Csengőhang"</string>
@@ -1272,13 +1229,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"Ütemezés"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"Soha"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"Be: napnyugtától napkeltéig"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"Adott időpontban kapcsol be"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"Állapot"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"Ki / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"Soha nem kapcsol be automatikusan"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"Automatikusan bekapcsol napnyugtakor"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"Automatikusan bekapcsol a következő időpontban: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"Be / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"Soha nem kapcsol ki automatikusan"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"Automatikusan kikapcsol napkeltekor"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"Automatikusan kikapcsol a következő időpontban: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"Bekapcsolás eddig: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"Kikapcsolás eddig: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"A Sötét téma fekete hátteret használ, ezáltal kíméli az akkumulátort bizonyos képernyőkön. A Sötét téma csak a képernyő kikapcsolása után kapcsol be."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"Képernyő időkorlátja"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"A kijelző kikapcsol"</string>
@@ -1290,7 +1252,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"Háttérkép megváltoztatása"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"Képernyő személyre szabása"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"Válasszon háttérképet"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"A Pixel személyre szabása"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"A telefon testreszabása"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"Próbáljon ki más stílusokat, háttérképeket és egyebeket"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"Képernyővédő"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Töltés és dokkolás közben"</string>
@@ -1379,6 +1341,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"USB-tár leválasztása, és az elérhető tárhely megtekintése"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"SD-kártya leválasztása, a rendelkezésre álló tárhely megtekintése"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (%1$d. SIM-foglalat)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"A megtekintéshez válassza ki a mentett hálózatot"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"Telefonszám"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (%1$d. SIM-foglalat)"</string>
@@ -1405,6 +1368,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"Barangolás"</string>
     <string name="status_operator" msgid="4335640583552058491">"Hálózat"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"Wi-Fi MAC-címe"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"Wi-Fi-eszköz MAC-címe"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"Bluetooth-cím"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Sorozatszám"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Futásidő"</string>
@@ -1617,6 +1581,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Az alapértelmezett APN-beállítások visszaállítása befejeződött."</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"Beállítások visszaállítása"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"Visszaállítható a hálózat, az alkalmazások és az eszköz"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"Az Alkalmazások alaphelyzetbe állítható"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"Wi-Fi, mobiladatok Bluetooth visszaállítása"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"Az összes hálózati beállítást visszaállítja, például a következőket:\n\n"<li>"Wi‑Fi"</li>\n<li>"Mobiladat"</li>\n<li>"Bluetooth"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"Letöltött SIM-ek törlése"</string>
@@ -1666,6 +1631,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"Hotspot bekapcsolva"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"Internetmegosztás"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"Ha az Adatforgalom-csökkentő be van kapcsolva, nem lehet használni az internetmegosztás és a hordozható hotspot funkciókat"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"Csak hotspot"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"Csak USB"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"Csak Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"Hotspot, USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"Hotspot, Bluetooth"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB, Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"Hotspot, USB, Bluetooth"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"Nincs internetmegosztás más eszközökkel"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"Internetmegosztás"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Ne használjon Wi‑Fi-hotspotot"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Internetmegosztás csak USB-n keresztül"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Internetmegosztás csak Bluetooth-on keresztül"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Internetmegosztás csak USB-n és Bluetooth-on keresztül"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB-megosztás"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"A telefon internetkapcsolatának megosztása USB-n keresztül"</string>
@@ -1756,9 +1734,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"Biztonsági információk"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"Nincs adatkapcsolat. Az információ azonnali megtekintéséhez keresse fel a következő helyet bármelyik számítógépről, amely csatlakozik az internethez: %s."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"Betöltés…"</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"PIN-kód használata"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"Minta használata"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"Jelszó használata"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"Képernyőzár beállítása"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"A biztonság érdekében állítson be jelszót"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"Jelszó az ujjlenyomathoz"</string>
@@ -1767,8 +1742,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"PIN-kód az ujjlenyomathoz"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"A biztonság érdekében állítson be mintát"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"Adja meg újra a jelszót"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"Adja meg munkahelyi jelszavát"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"Erősítse meg a mintát"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"Adja meg munkahelyi mintáját"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"Adja meg újra a PIN-kódot"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"Adja meg munkahelyi PIN-kódját"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"A jelszavak nem egyeznek"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"A PIN-kódok nem egyeznek"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"Rajzolja újra a mintát"</string>
@@ -1779,6 +1757,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"Az arcalapú feloldáshoz adjon meg jelszót"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"Az arcalapú feloldáshoz adjon meg mintát"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"Az arcalapú feloldáshoz adjon meg PIN-kódot"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"Elfelejtette jelszavát?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"Elfelejtette mintáját?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"Elfelejtette PIN-kódját?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"A folytatáshoz használja eszköze feloldó mintáját"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"A folytatáshoz írja be eszköze PIN-kódját"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"A folytatáshoz írja be eszköze jelszavát"</string>
@@ -1846,6 +1827,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"Összes forrás engedélyezése"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"Az utoljára megnyitott alkalmazások"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"Mind a(z) <xliff:g id="COUNT">%1$d</xliff:g> alkalmazás megjelenítése"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"Forduljon rendszergazdájához"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"A rendszergazda segíthet a PIN-kód, a minta vagy a jelszó visszaállításában"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"Az ismeretlen alkalmazások nagyobb eséllyel támadják meg táblagépét és személyes adatait. Az ebből a forrásból származó alkalmazások telepítésével egyidejűleg kijelenti, hogy Ön viseli a felelősséget az alkalmazások használatából eredő, táblagépét vagy személyes adatait ért bármilyen kár vagy bármilyen adatvesztés esetén."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"Az ismeretlen alkalmazások nagyobb eséllyel támadják meg telefonját és személyes adatait. Az ebből a forrásból származó alkalmazások telepítésével egyidejűleg kijelenti, hogy Ön viseli a felelősséget az alkalmazások használatából eredő, telefonját vagy személyes adatait ért bármilyen kár vagy adatvesztés esetén."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"Az ismeretlen alkalmazások nagyobb eséllyel támadják meg eszközét és személyes adatait. Az ebből a forrásból származó alkalmazások telepítésével egyidejűleg elfogadja, hogy Ön viseli a felelősséget az alkalmazások használatából eredő, eszközét vagy személyes adatait ért bármilyen kár vagy adatvesztés esetén."</string>
@@ -1897,7 +1880,7 @@
     <string name="default_emergency_app" msgid="1929974800666613803">"Segélyhívó"</string>
     <string name="reset_app_preferences" msgid="8861758340732716573">"Alapbeállítások"</string>
     <string name="reset_app_preferences_title" msgid="8935136792316050759">"Visszaállítja a beállításokat?"</string>
-    <string name="reset_app_preferences_desc" msgid="1377296810290814749">"Ez visszaállítja a következőkre vonatkozó összes beállítást:\n\n"<li>"Letiltott alkalmazások"</li>\n<li>"Letiltott alkalmazásértesítések"</li>\n<li>"Alapértelmezett alkalmazások adott műveletekhez"</li>\n<li>"Alkalmazások háttéradat-korlátozása"</li>\n<li>"Minden engedélykorlátozás"</li>\n\n" Az alkalmazásadatok nem vesznek el."</string>
+    <string name="reset_app_preferences_desc" msgid="6509978724602405805">"Ez visszaállítja a következőkre vonatkozó összes beállítást:\n\n"<li>"letiltott alkalmazások;"</li>\n<li>"letiltott alkalmazásértesítések;"</li>\n<li>"alapértelmezett alkalmazások adott műveletekhez;"</li>\n<li>"az alkalmazások háttéradataira vonatkozó korlátozások;"</li>\n<li>"minden engedélykorlátozás."</li>\n\n"Az alkalmazásadatok nem vesznek el."</string>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"Visszaállítás"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"Tárhely kezelése"</string>
     <string name="filter" msgid="9039576690686251462">"Szűrő"</string>
@@ -2097,7 +2080,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"Hang és képernyőn megjelenő szöveg"</string>
     <string name="display_category_title" msgid="6638191682294461408">"Megjelenítés"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"Interakcióvezérlők"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"Letöltött szolgáltatások"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"Letöltött alkalmazások"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"Kísérleti"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"Funkciókapcsolók"</string>
     <string name="talkback_title" msgid="8756080454514251327">"Talkback"</string>
@@ -2105,27 +2088,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"Koppintson a képernyőn látható elemekre, ha szeretné őket felolvasva hallani"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"Feliratbeállítások"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"Nagyítás"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"Nagyítási terület"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"Nagyítás engedélyezve"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"Válassza ki, hogy mely nagyítási területeket szeretné használni a képernyő nagyításakor"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"Teljes képernyő"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"Képernyő bizonyos része"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"Teljes képernyő és képernyő bizonyos része"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"Teljes képernyő nagyítása"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"Képernyő bizonyos részének nagyítása"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Nagyítási beállítások"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"Nagyítás három koppintással"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Nagyítás gyorsparanccsal"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Nagyítás gyorsparanccsal és három koppintással"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"A(z) <xliff:g id="SERVICE">%1$s</xliff:g> szolgáltatásról"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"Lehetőségek"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"A képernyő nagyítása"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"A nagyításhoz koppintson háromszor"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Nagyításhoz koppintson a gombra"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><b>"Nagyításhoz"</b>" gyorsan koppintson háromszor a képernyőre.\n"<ul><li>"Görgetéshez húzza legalább két ujját a képernyőn."</li>\n<li>"A nagyítás mértékét két vagy több ujjának össze- vagy széthúzásával módosíthatja."</li></ul>\n\n<b>"Ideiglenes nagyításhoz"</b>" gyorsan koppintson háromszor a képernyőre, és az utolsó koppintást követően ne emelje fel az ujját.\n"<ul><li>"A képernyőn húzással mozoghat"</li>\n<li>"Kicsinyítéshez emelje fel az ujját."</li></ul>\n\n"A billentyűzetre és a navigációs sávra nem lehet ránagyítani."</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"Ha be van kapcsolva a nagyítás funkció, ránagyíthat a képernyő tartalmára.\n\nA "<b>"nagyításhoz"</b>" indítsa el a funkciót, majd koppintson a kívánt területre a képernyőn.\n"<ul><li>"• Görgetéshez húzza legalább két ujját a képernyőn."</li>\n<li>"• A nagyítás mértékét két vagy több ujjának össze- vagy széthúzásával módosíthatja."</li></ul>\n\n<b>"Ideiglenes nagyításhoz"</b>" indítsa el a funkciót, majd tartsa lenyomva a kívánt területet a képernyőn.\n"<ul><li>"• Ujját lenyomva tartva mozoghat a képernyőn."</li>\n<li>"• A méret visszaállításához emelje fel ujját a képernyőről."</li></ul>\n\n"A billentyűzeten és a navigációs sávon nem lehetséges a nagyítás."</string>
+    <string name="accessibility_screen_magnification_summary" msgid="7617931632990040045">"Gyorsan nagyíthat a képernyőn a tartalom jobb láthatósága érdekében.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;A nagyításhoz:&lt;/b&gt;&lt;br/&gt;	1. Használja a gyorsparancsot a nagyítás megkezdéséhez.&lt;br/&gt;	2. Koppintson a képernyőre.&lt;br/&gt;	3. Két ujjának csúsztatásával mozoghat a képernyőn.&lt;br/&gt;	4. Két ujjának összehúzásával módosíthatja a nagyítási szintet.&lt;br/&gt;	5. A gyorsparancs segítségével állítsa le a nagyítási funkciót.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Az ideiglenes nagyításhoz:&lt;/b&gt;&lt;br/&gt;	1. Használja a gyorsparancsot a nagyítás megkezdéséhez.&lt;br/&gt;	2. Tartsa lenyomva egyik ujját bárhol a képernyőn.&lt;br/&gt;	3. Ujja csúsztatásával mozoghat a képernyőn.&lt;br/&gt;	4. Emelje fel ujját a nagyítás befejezéséhez."</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Ha be van kapcsolva a nagyítás funkció, ránagyíthat a képernyő tartalmára.\n\nA "<b>"nagyításhoz"</b>", indítsa el a funkciót, majd koppintson a kívánt területre a képernyőn.\n"<ul><li>"Görgetéshez húzza legalább két ujját a képernyőn."</li>\n<li>"A nagyítás mértékét két vagy több ujjának össze- vagy széthúzásával módosíthatja."</li></ul>\n\n<b>"Ideiglenes nagyításhoz"</b>" indítsa el a funkciót, majd tartsa lenyomva a kívánt területet a képernyőn.\n"<ul><li>"Ujját lenyomva tartva mozoghat a képernyőn."</li>\n<li>"A méret visszaállításához emelje fel ujját a képernyőről."</li></ul>\n\n"A billentyűzeten és a navigációs sávon nem lehetséges a nagyítás."</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Megnyitás a kisegítő gombbal"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Megnyitás kézmozdulattal"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"Új kisegítő kézmozdulat használata"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"A szolgáltatás be- vagy kikapcsolásához koppintson a képernyő alján található Kisegítő lehetőségek <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> gombra.\n\nA szolgáltatások közötti váltáshoz tartsa lenyomva a Kisegítő lehetőségek gombot."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"A szolgáltatás be- vagy kikapcsolásához csúsztasson két ujjával felfelé a képernyő aljáról.\n\nA szolgáltatások közötti váltáshoz csúsztasson felfelé két ujjával, és ne engedje el a képernyőt."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"A szolgáltatás be- vagy kikapcsolásához csúsztasson három ujjával felfelé a képernyő aljáról.\n\nA szolgáltatások közötti váltáshoz csúsztasson felfelé három ujjával, és ne engedje el a képernyőt."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"A kisegítő szolgáltatás be- vagy kikapcsolásához csúsztasson két ujjával felfelé a képernyő aljáról.\n\nA szolgáltatások közötti váltáshoz csúsztasson felfelé két ujjával, és ne engedje el a képernyőt."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"A kisegítő szolgáltatás be- vagy kikapcsolásához csúsztasson három ujjával felfelé a képernyő aljáról.\n\nA szolgáltatások közötti váltáshoz csúsztasson felfelé három ujjával, és ne engedje el a képernyőt."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"A szolgáltatás be- vagy kikapcsolásához koppintson a képernyő alján található Kisegítő lehetőségek <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> gombra.\n\nA szolgáltatások közötti váltáshoz tartsa lenyomva a Kisegítő lehetőségek gombot."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"A szolgáltatás be- vagy kikapcsolásához csúsztasson két ujjával felfelé a képernyő aljáról.\n\nA szolgáltatások közötti váltáshoz csúsztasson felfelé két ujjával, és ne engedje el a képernyőt."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"A szolgáltatás be- vagy kikapcsolásához csúsztasson három ujjával felfelé a képernyő aljáról.\n\nA szolgáltatások közötti váltáshoz csúsztasson felfelé három ujjával, és ne engedje el a képernyőt."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"A kisegítő szolgáltatás be- vagy kikapcsolásához csúsztasson két ujjával felfelé a képernyő aljáról.\n\nA szolgáltatások közötti váltáshoz csúsztasson felfelé két ujjával, és ne engedje el a képernyőt."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"A kisegítő szolgáltatás be- vagy kikapcsolásához csúsztasson három ujjával felfelé a képernyő aljáról.\n\nA szolgáltatások közötti váltáshoz csúsztasson felfelé három ujjával, és ne engedje el a képernyőt."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"Értem"</string>
+    <string name="accessibility_shortcut_title" msgid="8125867833704517463">"<xliff:g id="SERVICE">%1$s</xliff:g> gyorsparancsa"</string>
+    <string name="accessibility_shortcut_edit_summary_software" msgid="2820923641553461297">"Kisegítő lehetőségek gomb"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture" msgid="8078659880723370597">"Felfelé csúsztatás két ujjal"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture_talkback" msgid="7422753388389160524">"Felfelé csúsztatás három ujjal"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software" msgid="4796192466943479849">"Koppintson a kisegítő lehetőségek gombjára"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8922102767509399352">"Koppintson a kisegítő lehetőségek ikonjára (<xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>) a képernyő alján"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"Csúsztassa fel két ujját a képernyő aljától"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"Csúsztassa fel három ujját a képernyő aljától"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Hangerőgombok nyomva tartása"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"Tartsa lenyomva mindkét hangerőgombot egy másodpercig"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Háromszori koppintás a képernyőre"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"Gyorsan koppintson a képernyőre háromszor. Ez a gyorsparancs lelassíthatja az eszközét."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"Speciális"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"A Kisegítő lehetőségek gomb a következőre van állítva: <xliff:g id="SERVICE">%1$s</xliff:g>. Nagyításhoz tartsa lenyomva a Kisegítő lehetőségek gombot, majd válassza a nagyítás lehetőséget."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"A kisegítő kézmozdulat a következőre van beállítva: <xliff:g id="SERVICE">%1$s</xliff:g>. A nagyítás használatához gyorsan csúsztassa fel két ujját a képernyő aljáról, majd tartsa. Ezután válassza a nagyítás lehetőséget."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"Gyorsparancs a hangerőgombokkal"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"Gyorsparancs-szolgáltatás"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Gyorsparancs beállításai"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"Engedélyezés a lezárási képernyőn"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"Ha be van kapcsolva a gyorsparancs, a két hangerőgomb 3 másodpercig tartó lenyomásával elindíthatja a kisegítő lehetőségek funkciót."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"Nagy kontrasztú szöveg"</string>
@@ -2149,24 +2157,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"Válassza ki, hogy mennyi ideig legyenek láthatók azok az üzenetek, amelyek művelet elvégzését kérik, de csak ideiglenesen láthatók a képernyőn.\n\nNem minden alkalmazás támogatja ezt a beállítást."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"Érintés és tartási késleltetés"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"Színek invertálása"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"Ennek hatása lehet a teljesítményre"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"Tartózkodási idő"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"Színinvertálás használata"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"A színek invertálása sötétebbé teszi a világos képernyőket. Az erős fényre érzékeny felhasználók így jobban láthatják a képernyőt.&lt;br/&gt;&lt;br/&gt;Megjegyzés: A sötét színekből világos lesz. Megváltoznak a médiatartalmak és a képek színei. Használhatja a Sötét témát is (Beállítások &gt; Kijelző)."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"Automatikus kattintás (tartózkodási idő)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"Ha egeret használ, akkor beállíthatja, hogy a kurzor automatikusan műveletet hajtson végre, amikor egy adott ideig nem mozdul."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"Késleltetés kattintás előtt"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"Nincs automatikus kattintás (alapértelmezett)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"Rövid"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0,2 másodperc"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"Közepes"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0,6 másodperc"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"Hosszú"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 másodperc"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"Egyéni"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"Rövidebb"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"Hosszabb"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"Automatikus kattintás ideje"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"A rezgés és a rezgő visszajelzés erőssége"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Értesítések rezgése"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Csengés rezgése"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Visszajelzés az érintésekről"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"Szolgáltatás használata"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g> használata"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g> megnyitása"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"Színkorrekció használata"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"Feliratok használata"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"Felirat megjelenítése"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"Felirat megjelenése"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"Betűméret, felirat stílusa"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"További lehetőségek"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"Nem minden alkalmazás támogatja ezt a beállítást."</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"Kisegítő lehetőségek gomb"</string>
+    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"Két ujjal csúsztatás felfelé"</string>
+    <string name="accessibility_shortcut_type_hardware" msgid="4834144210432451916">"Hangerőgombok nyomva tartása"</string>
+    <string name="accessibility_shortcut_type_triple_tap" msgid="7717524216825494543">"Három koppintás a képernyőre"</string>
     <string name="accessibility_hearingaid_instruction_continue_button" msgid="3367260988024430722">"Tovább"</string>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"Hallókészülékek"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"Nincs csatlakoztatva hallókészülék"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"Hallókészülékek hozzáadása"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"A hallókészülék párosításához keresse meg eszközét a következő képernyőn, majd koppintson rá."</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"Győződjön meg arról, hogy hallókészüléke párosítási módban van."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"A hallókészülék párosításához keresse meg eszközét a következő képernyőn, majd koppintson rá. Győződjön meg arról, hogy hallókészüléke párosítási módban van."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>: aktív"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> mentett hallókészülék</item>
@@ -2178,25 +2204,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Ez a szolgáltatás nem működik megfelelően."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Megjelenítés a Gyorsbeállítások között"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"Javítási mód"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="other">Rendkívül rövid késleltetés (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Rendkívül rövid késleltetés (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Vörös-zöld"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"Zöld-vörös"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Kék-sárga"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"Deuteranomália"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"Protanomália"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"Tritanomália"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="other">Rendkívül rövid késleltetés (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> másodperc)</item>
+      <item quantity="one">Rendkívül rövid késleltetés (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> másodperc)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="other">Nagyon rövid késleltetés (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Nagyon rövid késleltetés (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="other">Nagyon rövid késleltetés (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> másodperc)</item>
+      <item quantity="one">Nagyon rövid késleltetés (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> másodperc)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="other">Rövid késleltetés (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Rövid késleltetés (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="other">Rövid késleltetés (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> másodperc)</item>
+      <item quantity="one">Rövid késleltetés (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> másodperc)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="other">Hosszú késleltetés (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Hosszú késleltetés (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="other">Hosszú késleltetés (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> másodperc)</item>
+      <item quantity="one">Hosszú késleltetés (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> másodperc)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="other">Nagyon hosszú késleltetés (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Nagyon hosszú késleltetés (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="other">Nagyon hosszú késleltetés (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> másodperc)</item>
+      <item quantity="one">Nagyon hosszú késleltetés (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> másodperc)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> másodperc</item>
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> másodperc</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"Csörgés: <xliff:g id="SUMMARY_RING">%1$s</xliff:g>, értesítés: <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>, érintés: <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"Csengetés és értesítés kikapcsolva"</string>
@@ -2513,7 +2549,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"Töltés nélkül eltöltött idő: <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"Használat összesen"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"Frissítés"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"Android OS"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"Médiaszerver"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"Alkalmazásoptimalizálás"</string>
     <string name="battery_saver" msgid="7737147344510595864">"Akkumulátorkímélő mód"</string>
@@ -2594,8 +2629,7 @@
     <string name="tts_play" msgid="2945513377250757221">"Lejátszás"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"Hitelesítési adatok tárolója"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"Telepítés tárhelyről"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"Telepítés az SD-kártyáról"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"Tanúsítvány telepítése"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"Tanúsítványok telepítése tárhelyről"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"Tanúsítványok telepítése az SD-kártyáról"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"Hitelesítési adatok törlése"</string>
@@ -2615,6 +2649,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"Hit. adatok tárolója üres."</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"Az azonosítótárolót nem lehet törölni."</string>
     <string name="usage_access_title" msgid="1580006124578134850">"Alkalmazások hozzáféréssel"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"CA-tanúsítvány"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"VPN- és appfelhasználói tanúsítvány"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"Wi‑Fi-tanúsítvány"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"Adatai veszélyben vannak"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"A CA-tanúsítványokat webhelyek, alkalmazások és VPN-ek használják titkosításra. Csak megbízható szervezettől származó CA-tanúsítványt telepítsen. \n\n Ha CA-tanúsítványt telepít, a tanúsítvány tulajdonosa az Ön által meglátogatott webhelyekről és a használt alkalmazásokból hozzáférhet az Ön adataihoz, mint pl. jelszavak, üzenetek vagy hitelkártyaadatok – akkor is, ha az információ titkosított."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"Ne telepítse"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"Telepítés mindenképp"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"A tanúsítvány nincs telepítve"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"Segélyhívó jelzés"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Viselkedés beállítása segélyhívás kezdeményezésekor"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Biztonsági mentés"</string>
@@ -2642,10 +2684,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"Kikapcsolás és eltávolítás"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"Eszközrendszergazdai alkalmazások"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"Nincsenek rendelkezésre álló eszközrendszergazdai alkalmazások"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"Személyes"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"Munkahely"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"Korlátozott SMS- és hívásnapló-hozzáférés"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"Csak az alapértelmezett telefon- és üzenetküldő alkalmazások rendelkeznek SMS-ekhez és hívásnaplóhoz való hozzáféréssel"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"Nincs elérhető trust agent komponens"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"Aktiválja az eszközrendszergazdai alkalmazást?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"Az eszközrendszergazdai alkalmazás aktiválása"</string>
@@ -2659,6 +2697,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"A többi lehetőséget a rendszergazda letiltotta."</string>
     <string name="admin_more_details" msgid="6698424974827333973">"További részletek"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"Értesítési napló"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"Értesítéselőzmények"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"Ma"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"Elhalasztva"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"Legutóbb elvetett"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> értesítés</item>
+      <item quantity="one"><xliff:g id="NUMBER_0">%d</xliff:g> értesítés</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"Csengőhang és rezgés beállításai"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"Hálózati információk"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"Szinkronizálás engedélyezve"</string>
@@ -3008,7 +3054,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"Korlátozások"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"Korlátozások feloldása"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"PIN-kód módosítása"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"Értesítések megjelenítése"</string>
     <string name="help_label" msgid="2896538416436125883">"Súgó és visszajelzés"</string>
     <string name="support_summary" msgid="1034146931237148885">"Súgócikkek, telefon és csevegő, kezdő lépések"</string>
     <string name="user_account_title" msgid="6389636876210834864">"Tartalom fiókja"</string>
@@ -3033,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G-hívás"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"LTE-szolgáltatások használata hang- és egyéb kommunikáció javításához (ajánlott)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"4G-szolgáltatások használata hang- és egyéb kommunikáció javításához (ajánlott)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Névjegyek átnézése"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Engedélyezi a szolgáltató számára, hogy kiderítse, milyen hívási funkciókat használhatnak névjegyei."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Engedélyezi a névjegyek átnézését?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"A funkció engedélyezésével szolgáltatója hozzáférhet a névjegyeinek telefonszámaihoz, hogy kiderítse, milyen hívási funkciókat használhatnak."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Preferált hálózattípus"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (javasolt)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS-üzenetek"</string>
@@ -3077,7 +3126,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"Hívás a következővel:"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"Válasszon egy SIM kártyát"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"<xliff:g id="CARD_NUMBER">%1$d</xliff:g>. SIM-kártya"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"A SIM-kártya üres"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"SIM-kártya neve"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"Adja meg a SIM-kártya nevét"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"%1$d. SIM-nyílás"</string>
@@ -3087,6 +3135,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"SIM-kártya kiválasztása"</string>
     <string name="color_orange" msgid="216547825489739010">"Narancssárga"</string>
     <string name="color_purple" msgid="6603701972079904843">"Lila"</string>
+    <string name="color_pink" msgid="8596872110888626708">"Rózsaszín"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"Nincs SIM-kártya behelyezve"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"SIM-kártya állapota"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"SIM állapota (%1$d. SIM-foglalat)"</string>
@@ -3100,7 +3149,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"SIM kártyák módosítva."</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Koppintson ide a beállításhoz"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"Előnyben részesített SIM-kártya a következőhöz:"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Mindig kérdezzen rá"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Ki kell választani"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"SIM-kártya kiválasztása"</string>
@@ -3118,6 +3166,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"Bluetooth, vezetési mód"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"Bluetooth, NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"Bluetooth"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"Nem áll rendelkezésre, mert az NFC ki van kapcsolva"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"Alkalmazások és értesítések"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Legutóbbi alkalmazások, alapértelmezett alkalmazások"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Az értesítésekhez való hozzáférés a munkaprofil alkalmazásai számára nem áll rendelkezésre."</string>
@@ -3128,13 +3177,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"Beállítások"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"WiFi, Wi-Fi, hálózati kapcsolat, internet, vezeték nélküli, adatok, Wi Fi"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"Wi‑Fi-értesítés, wifi értesítés"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"adathasználat"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"Rezgés leállítása, koppintás, billentyűzet"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"24 órás formátum használata"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"Letöltés"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"Társítás"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"Alkalmazások"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"időzóna"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"Csevegési fejléc"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"Csevegés fejléce, rendszer, értesítés, ablak, párbeszédpanel, kijelző, más alkalmazások fölött, megjelenítés"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"Zseblámpa, fény, vaku"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"wifi, wi-fi, kapcsoló, vezérlés"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"mobilhálózat, mobil, mobilszolgáltató, vezeték nélküli, adat, 4g, 3g, 2g, lte"</string>
@@ -3158,7 +3208,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"ne zavarjanak, megszakít, megszakítás, szünet"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"közeli, hely, előzmények, jelentés, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"fiók"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"fiók, fiók hozzáadása, munkaprofil, fiókhozzáadás"</string>
     <string name="keywords_users" msgid="3497517660077620843">"korlátozás, korlátoz, korlátozott"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"szövegjavítás, javítás, hang, rezgés, automatikus, nyelv, kézmozdulat, javasol, javaslat, téma, sértő, szó, gépel, hangulatjel, nemzetközi"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"alaphelyzetbe állítás, beállítások, alapértelmezett"</string>
@@ -3196,6 +3246,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"memória, gyorsítótár, adatok, törlés, eltávolítás, felszabadítás, tárhely"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"csatlakoztatott, eszköz, fejhallgató, headset, hangfal, vezeték nélküli, párosítás, fülhallgató, zene, médiatartalom"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"háttér, képernyő, lezárási képernyő, téma"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"ikon alakja, kiemelés színe, betűtípus"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"alapértelmezett, Segéd"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"fizetés, alapértelmezett"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"bejövő értesítés"</string>
@@ -3205,18 +3256,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"rezgés, vibrálás, érzékenység"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"akkumulátorkímélő mód, ragadós, megőrzés, energiamegtakarítás, akkumulátor"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"rutin, ütemezés, akkumulátorkímélő mód, energiamegtakarítás, akkumulátor, automatikus, százalék"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"munkaprofil"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"volte, továbbfejlesztett telefonhívás, 4G-hívás"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"nyelv hozzáadása, egy nyelv hozzáadása"</string>
     <string name="default_sound" msgid="6604374495015245195">"Alapértelmezett hang"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"Csörgetési hangerő szintje: <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"Csörgetés és értesítések hangereje <xliff:g id="PERCENTAGE">%1$s</xliff:g>-on"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Hangerő, rezgés, Ne zavarjanak"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"Csengetés: rezgő"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"Csengetés: néma"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"Csörgetés hangereje: 80%"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"Csörgetés és értesítések hangereje 80%-on"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Média hangereje"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Átküldés hangereje"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"Hívás hangereje"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"Ébresztés hangereje"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"Csengés hangereje"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"Csörgetési, értesítési hangerő"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"Értesítés hangereje"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"Telefon csengőhangja"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"Alapértelmezett értesítőhang"</string>
@@ -3224,6 +3276,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"Alapértelmezett értesítőhang"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"Alapértelmezett ébresztőhang"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"Rezgés híváskor"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"Soha nem rezeg"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"Mindig rezeg"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"Előbb rezgés, majd erősödő csörgés"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"Egyéb hangok"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"A tárcsázó hangjai"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"Képernyő-zárolási hangok"</string>
@@ -3247,6 +3302,7 @@
       <item quantity="one">1 engedélyezve</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Ne zavarjanak"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Értesítés fogadása csak fontos személyektől és alkalmazásoktól"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"A megszakítások korlátozása"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"A Ne zavarjanak mód bekapcsolása"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"Kivételek"</string>
@@ -3273,7 +3329,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Megjelenő értesítések tiltása"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Vizuális jelek engedélyezése"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"Ha a „Ne zavarjanak” mód aktív"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"Hanggal járó jelzések engedélyezése"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"Értesítések korlátozása"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Nincs hang az értesítéseknél"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"Az értesítések megjelennek a képernyőn"</string>
@@ -3304,7 +3360,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"Hangok és rezgések"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"Hangok, rezgések és bizonyos vizuális értesítések"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"Hangok, rezgések és vizuális értesítések"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"Az alapvető telefonos tevékenységekhez és állapothoz szükséges értesítések soha nem maradnak rejtve"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"Az alapvető telefonos tevékenységekhez és állapothoz szükséges értesítések soha nem maradnak rejtve."</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"Nincs"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"egyéb lehetőségek"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"Hozzáadás"</string>
@@ -3334,10 +3390,12 @@
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> szabály automatikusan bekapcsolhat</item>
       <item quantity="one">1 szabály automatikusan bekapcsolhat</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"Eszköz némítása, de kivételek engedélyezve"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"Kivételek"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"Ütemezés"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"Összes kivétel megtekintése"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"Kivételek, amikor a „Ne zavarjanak” mód aktív"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"Személyek"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"Alkalmazások"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"Ébresztések és további jelzések"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"Ütemezések"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"Némított értesítések"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"Ha a „Ne zavarjanak” mód aktív, akkor a hang és a rezgés némítva lesznek, kivéve a fent engedélyezett elemeket."</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"Az összes némítása, kivéve a következőket:"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"Némítva"</string>
@@ -3381,16 +3439,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"Alkalmazkodó értesítések"</string>
     <string name="asst_capability_prioritizer_title" msgid="1181272430009156556">"Adaptív értesítés prioritása"</string>
     <string name="asst_capability_prioritizer_summary" msgid="954988212366568737">"Az alacsonyabb prioritású értesítések automatikus beállítása diszkrétre"</string>
+    <string name="asst_capability_ranking_title" msgid="312998580233257581">"Értesítések adaptív rangsorolása"</string>
+    <string name="asst_capability_ranking_summary" msgid="2293524677144599450">"Értesítések automatikus rangsorolása relevancia szerint"</string>
     <string name="asst_capabilities_actions_replies_title" msgid="4392470465646394289">"Javasolt műveletek és válaszok"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"Javasolt műveletek és válaszok automatikus megjelenítése"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"Az értesítéselőzmények bekapcsolásával nyomon követheti a múltbeli és az elhalasztott értesítéseket"</string>
+    <string name="notification_history" msgid="8663811361243456201">"Értesítéselőzmények"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"Előzmények bekapcsolása"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"Előzmények kikapcsolása"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"Az értesítéselőzmények ki vannak kapcsolva"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"értesítésbeállítások megtekintése"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Értesítés halasztásának engedélyezése"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"Ikonok elrejtése a diszkrét értesítésekben"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"A diszkrét értesítések ikonjai nem jelennek meg az állapotsoron"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"Értesítési pöttyök engedélyezése"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"A legutóbbi beszélgetések sávjának megjelenítése"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Buborékok"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"Egyes értesítések buborékként jelenhetnek meg a képernyőn"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"Egyes értesítések és más tartalmak buborékokként jelenhetnek meg a képernyőn. A megnyitásához koppintson a kívánt buborékra. Az elvetéséhez húzza a képernyő aljára."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Buborékok"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"Az új üzenetek a képernyőn jelennek meg"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"A(z) <xliff:g id="APP_NAME">%1$s</xliff:g> egyes értesítéseket buborékként jeleníthet meg"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"Buborékok bekapcsolása"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"A buborékok alkalmazáson belüli bekapcsolásához először az eszközön kell bekapcsolni őket. Ez egyéb alkalmazásokat is érint, amelyeknél már előzetesen bekapcsolta a buborékokat."</string>
@@ -3408,6 +3476,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"Megjelenítés a lehúzható értesítési felületen és a lezárási képernyőn"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"Megjelenítés a lehúzható értesítési felületen és az állapotsoron"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"Megjelenítés a lehúzható értesítések között, az állapotsoron és a lezárási képernyőn"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"Az állapotsor néma értesítéseinek elrejtése"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"Villogó fény"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"Lezárási képernyő"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"Lezárási képernyő kihagyása"</string>
@@ -3438,6 +3507,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"Viselkedés"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"Hang engedélyezése"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"Soha ne jelenjen meg értesítés"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"Beszélgetések"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"Beszélgetés"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"Nem beszélgetés"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"Eltávolítás a beszélgetések közül"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"Ez beszélgetés"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"Hozzáadás a beszélgetésekhez"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"Beszélgetések kezelése"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"Fontos beszélgetések"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"Az összes beszélgetés"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"A fontos beszélgetések buborékban"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"A fontos beszélgetések a lehúzható értesítési felület tetején vannak. Beállíthatja azt is, hogy buborékban jelenjenek meg, és hogy a Ne zavarjanak beállítás mellett is láthatók legyenek."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"Hang nélküli megjelenítés és kis méret"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"Megjelenítés hangjelzés nélkül"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"Hangjelzés"</string>
@@ -3456,7 +3536,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"Hangjelzés és rezgés nélkül segít a koncentrálásban"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"Figyelemfelkeltő a hangjelzésnek és rezgésnek köszönhetően"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"Feloldott állapotban az értesítések megjelenítése szalag formájában a képernyő felső részén"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"Értesítések mutatása"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"A(z) <xliff:g id="APP_NAME">%1$s</xliff:g> összes értesítése"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"Alkalmazkodó értesítések"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="other">~<xliff:g id="NUMBER_1">%d</xliff:g> értesítés naponta</item>
@@ -3477,6 +3557,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"Alkalmazkodó értesítések"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"Nincs"</string>
     <string name="no_notification_listeners" msgid="2839354157349636000">"Egy telepített alkalmazás sem kért hozzáférést az értesítésekhez"</string>
+    <string name="notification_access_detail_switch" msgid="46386786409608330">"Értesítés-hozzáférés engedélyezése"</string>
     <string name="notification_assistant_security_warning_title" msgid="2972346436050925276">"Engedélyezi a(z) <xliff:g id="SERVICE">%1$s</xliff:g> számára az értesítésekhez való hozzáférést?"</string>
     <string name="notification_assistant_security_warning_summary" msgid="3119843404577399036">"A(z) <xliff:g id="NOTIFICATION_ASSISTANT_NAME">%1$s</xliff:g> elolvashatja az összes értesítést, beleértve a személyes adatokat, például az ismerősök neveit és a fogadott üzeneteket. Továbbá az értesítéseket el is vetheti, illetve a bennük lévő műveletgombokat is aktiválhatja. \n\nEzzel az alkalmazás egyúttal képes lesz a „Ne zavarjanak” funkció be- és kikapcsolására, továbbá a kapcsolódó beállítások módosítására."</string>
     <string name="notification_listener_security_warning_title" msgid="5791700876622858363">"Engedélyezi az értesítések elérését a(z) <xliff:g id="SERVICE">%1$s</xliff:g> számára?"</string>
@@ -3538,8 +3619,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"Kész"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"Fontosság"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"Villogó fény"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"Rezgés"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"Rezgés"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"Hang"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"Fontos"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"Hozzáadás a kezdőképernyőhöz"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"Törlés"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"Átnevezés"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"Ütemezés neve"</string>
@@ -3593,6 +3676,10 @@
       <item quantity="other"><xliff:g id="NUM_PEOPLE">%d</xliff:g> további</item>
       <item quantity="one">1 további</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Beszélgetések"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"Az összes beszélgetésből"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"A fontos beszélgetésekből"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"Ne engedélyezze a beszélgetéseket"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"Üzenetek engedélyezése"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"Ahhoz, hogy az engedélyezett üzenetek hangot adhassanak ki, ellenőrizze, hogy eszköze csörgésre, rezgésre vagy néma módra van-e állítva."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"A(z) „<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>” ütemezésnél le vannak tiltva a beérkező üzenetek. A beállítások módosításával lehetővé teheti, hogy ismerősei, családtagjai vagy a névjegyei között megtalálható más személyek elérhessék Önt."</string>
@@ -3606,15 +3693,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"Senkitől"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"Ne engedélyezze a hívásokat"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"Ne engedélyezze az üzeneteket"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"Ébresztések engedélyezése"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"Riasztások"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"Innen: időzítések, ébresztések, biztonsági rendszerek és más alkalmazások"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"ébresztések"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"Médiahangok lejátszása"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"Médiaelemek hangja"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"Innen: videók, játékok és egyéb médiaelemek"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"média"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"Érintési műveletek hangjainak engedélyezése"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"Érintési hangok"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"Innen: billentyűzet és más gombok"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"érintési hangok"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"Emlékeztetők engedélyezése"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"Emlékeztetők"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"Innen: teendők és emlékeztetők"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"emlékeztetők"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"Események engedélyezése"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"Események"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"Innen: közelgő naptári események"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Felülbírálás engedélyezése az alkalmazások számára"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"Alkalmazáskivételek"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3657,6 +3749,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"A Ne zavarjanak funkcióval elnémított értesítésekre bekapcsolhat a képernyő"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"Értesítési beállítások"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"OK"</string>
+    <string name="suggestion_button_close" msgid="6865170855573283759">"Bezárás"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Visszajelzés küldése az eszközről"</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"Adja meg a rendszergazdai PIN-kódot"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"Be"</string>
@@ -3667,6 +3760,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"PIN-kód kérése a feloldáshoz"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Jelszó kérése a rögzítés feloldásához"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Eszköz zárolása a rögzítés feloldásakor"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"SIM törlésének megerősítése"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"A letöltött SIM törlése előtt igazolnia kell magát"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"A munkahelyi profil kezelője:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"Kezeli: <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(Kísérleti)"</string>
@@ -3741,8 +3836,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"Az összes alkalmazás"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Telepített alkalmazások"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Azonnali alkalmazások"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"Személyes"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"Munkahelyi"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"Alkalmazások: Mind"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"Kikapcsolva"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"Kategóriák: Sürgős"</string>
@@ -3754,6 +3847,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"Ismeretlen alkalmazás"</string>
     <string name="app_permissions" msgid="8666537659217653626">"Engedélykezelő"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"A következő engedélyeket használó alkalmazások: <xliff:g id="APPS">%1$s</xliff:g>"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"A következőt és egyebeket használó alkalmazások: <xliff:g id="APPS">%1$s</xliff:g>"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"Koppintson a felébresztéshez"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"Az eszköz felébresztéséhez koppintson kétszer bárhol a képernyőre"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"Linkek megnyitása"</string>
@@ -3765,9 +3859,14 @@
       <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> alkalmazás nyithat meg támogatott linkeket</item>
       <item quantity="one">Egy alkalmazás nyithat meg támogatott linkeket</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"Megnyitás ebben az alkalmazásban"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"Az alkalmazás megnyithatja a támogatott linkeket"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"Mindig rákérdez"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"Nem nyitja meg ebben az alkalmazásban"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"Az alkalmazás nem nyithatja meg a linkeket"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="other">Az alkalmazás <xliff:g id="COUNT_1">%d</xliff:g> linket szeretne megnyitni</item>
+      <item quantity="one">Az alkalmazás <xliff:g id="COUNT_0">%d</xliff:g> linket szeretne megnyitni</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"Az alkalmazás a következő linkeket szeretné megnyitni:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"Alapértelmezett"</string>
     <string name="default_for_work" msgid="537558180548617528">"Munkahelyi alapértelmezett"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"Segédalkalmazás és hangbevitel"</string>
@@ -3911,8 +4010,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"A többi alkalmazás fölött jelenik meg"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Más alkalmazások fölé helyezés engedélyezése"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"Lehetővé teszi az adott alkalmazás számára, hogy megjelenjen a többi használatban lévő alkalmazás fölött. Ezzel esetleg akadályozhatja a többi alkalmazás használatát, vagy megváltoztathatja megjelenésüket, illetve viselkedésüket."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"Hozzáférés minden fájlhoz"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"Hozzáférés megadása minden fájl kezeléséhez"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Engedélyezi ennek az alkalmazásnak az eszközön és a csatlakoztatott tárolóköteteken található összes fájl olvasását, módosítását és törlését. Ha engedélyezve van, az alkalmazás anélkül férhet hozzá a fájlokhoz, hogy Önt külön tájékoztatná róla."</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"Minden fájlhoz hozzáférhet"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"vr, virtuális valóság, figyelő, sztereó, segédszolgáltatás"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"rendszerértesítés párbeszédablak más alkalmazások fölött megjelenítés"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"A többi alkalmazás fölött"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"A(z) <xliff:g id="COUNT_1">%2$d</xliff:g> alkalmazásból <xliff:g id="COUNT_0">%1$d</xliff:g> jelenhet meg más alkalmazások fölött"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"Engedéllyel rendelkező alkalmazások"</string>
@@ -4078,6 +4180,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"<xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g> felhasználva"</string>
     <string name="data_overusage" msgid="3680477320458707259">"<xliff:g id="ID_1">^1</xliff:g> túllépve"</string>
     <string name="data_remaining" msgid="6316251496381922837">"<xliff:g id="ID_1">^1</xliff:g> van hátra"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"<xliff:g id="START_DATE">%1$s</xliff:g> és <xliff:g id="END_DATE">%2$s</xliff:g> közötti adathasználatot megjelenítő diagram."</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"Nincsenek adatok ebben a dátumtartományban"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="other">%d nap van hátra</item>
       <item quantity="one">%d nap van hátra</item>
@@ -4141,14 +4245,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"csomagméret"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"értesítés aktiválva"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"hang"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"rezgés"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"minta"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"alapbeállítás"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"csatorna"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"semelyik"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"A rangsortárgy hiányzik."</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"A rangsortárgy nem tartalmazza ezt a kulcsot."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"Témák"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"Alapértelmezett"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"Képernyőkivágás"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"képernyőkivágás, sziget"</string>
@@ -4237,8 +4337,12 @@
     <string name="information_label" msgid="6939310810756569298">"Információ"</string>
     <string name="low_label" msgid="6525629096999711220">"Alacsony"</string>
     <string name="high_label" msgid="357503396626018487">"Magas"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"Előfordulhat, hogy a magasabb érzékenység problémát okoz a képernyő szélén végzett kézmozdulatok során az alkalmazásokban."</string>
+    <string name="left_edge" msgid="1513576842959071849">"Bal oldali él"</string>
+    <string name="right_edge" msgid="1505309103265829121">"Jobb oldali él"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"Előfordulhat, hogy a magasabb érzékenység problémát okoz a képernyő szélén végzett kézmozdulatok során az alkalmazásokban."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"A „vissza” kézmozdulat érzékenysége"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"Kézmozdulatok beállításai"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"navigáció kézmozdulatokkal, a „vissza” kézmozdulat érzékenysége, a „vissza” kézmozdulat"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"Dupla koppintás a képernyő megtekintéséhez"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"Koppintson duplán a táblagép képernyőjének megtekintéséhez"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"Koppintson duplán az eszköz képernyőjének megtekintéséhez"</string>
@@ -4393,7 +4497,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"Szolgáltatói ellátás aktiválása"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"A Ne zavarjanak mód frissítése"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"Az összpontosításhoz szüneteltetheti az értesítéseket"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"Ez a funkció nem áll rendelkezésre ezen az eszközön"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"A funkció nem áll rendelkezésre"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"A rendszer kikapcsolta ezt a funkciót, mert lelassítja a telefont"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"Teljes GNSS-mérés indítása"</string>
@@ -4403,20 +4506,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"ANGLE-kompatibilis alkalmazás kiválasztása"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"Nincs beállítva ANGLE-kompatibilis alkalmazás"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"ANGLE-kompatibilis alkalmazás: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"Játékdriver beállításai"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"Játékdriver beállításainak módosítása"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"Ha bekapcsolja a Játékdrivert, a legújabb grafikus drivert használhatja az eszközre telepített alkalmazásoknál."</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"Engedélyezés minden alkalmazásnál"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"Grafikus driver kiválasztása"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"Alapértelmezett"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"Játékdriver"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"Kiadás előtti driver"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"Rendszer grafikus drivere"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"Grafikus driver beállításai"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"Grafikus driver beállításainak módosítása"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"Ha több grafikus driver is van, a legújabbat használhatja az eszközre telepített alkalmazásoknál."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"Engedélyezés minden alkalmazásnál"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"Grafikus driver kiválasztása"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"Alapértelmezett"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"Játékdriver"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"Fejlesztői driver"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Rendszer grafikus drivere"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Az alkalmazás kompatibilitási változtatásai"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Az alkalmazás kompatibilitási változtatásainak be- és kikapcsolása"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Alapértelmezett engedélyezett változtatások"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Alapértelmezett letiltott változtatások"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"A beállítás nem támogatott ezen a telefonon"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"A beállítás nem támogatott ezen a táblagépen"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"A beállítás nem támogatott ezen az eszközön"</string>
@@ -4435,6 +4544,12 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"Eszköz"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Nem áll rendelkezésre hívások közben"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"Nem áll rendelkezésre"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"Kimenetek hozzáadása"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"Csoport"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 eszköz kiválasztva"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> eszköz kiválasztva"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"Hívás fogadása be"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Az APN nem módosítható."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Növelje a táblagép akkumulátor-élettartamát"</string>
@@ -4552,10 +4667,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Egyszerre csak egy letöltött SIM lehet aktív.\n\nHa átvált a(z) <xliff:g id="CARRIER1">%1$s</xliff:g> szolgáltatóra, nem mondja le a(z) <xliff:g id="CARRIER2">%2$s</xliff:g> szolgáltatását."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Váltás erre: <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"SIM törlése"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Törli ezt a letöltött SIM-et?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"A SIM törlésével eltávolítja a(z) <xliff:g id="CARRIER_0">%1$s</xliff:g> szolgáltatását erről az eszközről.\n\nA(z) <xliff:g id="CARRIER_1">%2$s</xliff:g> szolgáltatását nem mondja le."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Törlés"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"SIM törlése…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Nem lehet törölni a SIM-et"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Hiba történt, ezért nem sikerült a letöltött SIM törlése.\n\nIndítsa újra az eszközt, majd próbálja újra."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Előnyben részesített hálózattípus"</string>
@@ -4580,7 +4691,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Érvénytelen hálózati mód: <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Figyelmen kívül hagyás."</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Hozzáférési pontok nevei"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Nem hozzáférhető, amikor a következőhöz csatlakozik: <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"Egészségügyi adatok, vészhelyzetben értesítendő személyek"</string>
     <string name="see_more" msgid="7499355691042812723">"Továbbiak"</string>
     <string name="see_less" msgid="2642392725363552793">"Kevesebb megjelenítése"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"A(z) <xliff:g id="APPNAME">%1$s</xliff:g> alkalmazással használandó eszköz"</string>
@@ -4589,11 +4699,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"Valami történt. Az alkalmazás megszakította az eszköz kiválasztására irányuló kérést."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"Sikeres kapcsolódás"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"Összes mutatása"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> csatlakoztatott eszköz</item>
-      <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_0">%1$d</xliff:g> csatlakoztatott eszköz</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"Nincs Bluetooth-eszköz"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"Eszköz keresése…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"Csatlakozás az eszközhöz…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"Bal"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"Jobb"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Tok"</string>
@@ -4603,6 +4710,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"Repülős üzemmódban nem áll rendelkezésre"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"Asztali mód kényszerítése"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Kísérleti asztali mód kényszerítése a másodlagos kijelzőkön"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"Szabad formájú méretkompatibilitás engedélyezése"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"Engedélyezi a szabad formájú méretkompatibilis alkalmazásokat"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"A kényszerített sötétítés felülírása"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"A kényszerített sötétítés funkció felülírása mindig bekapcsolt állapotra"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"Adatvédelem"</string>
@@ -4639,6 +4748,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Nemrég telepítette ezt az alkalmazást."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Kimenet átváltása"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Lejátszás folyamatban a(z) <xliff:g id="DEVICE_NAME">%1$s</xliff:g> eszközön"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (leválasztva)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"A váltás nem sikerült. Próbálja újra."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Fontos információ"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"TOVÁBB"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"KÖSZÖNÖM, NEM"</string>
@@ -4666,8 +4777,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"SIM-kombináció"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Munkahelyi házirendekkel kapcsolatos adatok"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"A rendszergazda által kezelt beállítások"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"Hibajelentés kezelője"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Meghatározza, hogy melyik alkalmazás kezeli a Hibajelentés gyorsparancsot az eszközön."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Személyes"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"Munka"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"Alapértelmezett"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"Ez a választás már nem érvényes. Próbálkozzon újra."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"Átküldés leállítása"</string>
 </resources>
diff --git a/res/values-hy/arrays.xml b/res/values-hy/arrays.xml
index a31975c..208c904 100644
--- a/res/values-hy/arrays.xml
+++ b/res/values-hy/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"Անմիջապես"</item>
     <item msgid="463591454172790676">"5 վայրկյան"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"Չվավերացնել"</item>
+    <item msgid="5703177653586269306">"Հարցնել հավաստագրի կարգավիճակը"</item>
+    <item msgid="326388247868439528">"Պահանջել հավաստագրի կարգավիճակը"</item>
+    <item msgid="1090956283885790552">"Պահանջել բոլոր չհաստատված հավաստագրերի կարգավիճակները"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"Սեղմման կոճակ"</item>
     <item msgid="2630618799033509548">"Հավասարազոր սարքի PIN-ը"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"Ոչ մեկը"</item>
@@ -404,6 +412,9 @@
     <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>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"Չի օգտագործվում"</item>
diff --git a/res/values-hy/config.xml b/res/values-hy/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-hy/config.xml
+++ b/res/values-hy/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-hy/strings.xml b/res/values-hy/strings.xml
index ce4c4b0..2bfd9f2 100644
--- a/res/values-hy/strings.xml
+++ b/res/values-hy/strings.xml
@@ -31,49 +31,17 @@
     <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="radio_info_data_connection_enable" msgid="7500945447906187613">"Միացնել տվյալների կապը"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"Անջատել տվյալների կապը"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"VoLTE-ի տրամադրում"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"Տեսազանգերի նախապատրաստում"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"Wifi զանգերի նախապատրաստում"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"EAB/ներկայության տրամադրում"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"CBRS տվյալներ"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"Միացնել DSDS-ը"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"Վերագործարկե՞լ սարքը"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"Վերագործարկեք սարքը՝ այս կարգավորումը փոխելու համար:"</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"Վերագործարկել"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"Չեղարկել"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"Բջջային ռադիոազդանշանի հզորությունը"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"Դիտել SIM քարտի հասցեագիրքը"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"Տեսնել ամրակցված հեռախոսահամարները"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"Տեսնել ծառայությունների հեռախոսահամարները"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"IMS ծառայության կարգավիճակը"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"IMS-ի կարգավիճակը"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"Գրանցված է"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"Գրանցված չէ"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"Հասանելի է"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"Անհասանելի է"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"IMS-ի գրանցում՝ <xliff:g id="STATUS">%1$s</xliff:g>\nVoice over LTE՝ <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nVoice over WiFi՝ <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nՏեսազանգ՝ <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT միջերես՝ <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"Շահագործման մեջ է"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Չի շահագործվում"</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>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"Հանգստի վիճակ"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"Զանգ"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"Զանգն ընթանում է"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"Անջատված է"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"Միանում է"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"Կապակցված է"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Անջատված"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Անհայտ"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"pkts"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"բայթեր"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"Անջատել USB կրիչը"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"Անջատել SD քարտը"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"Ջնջել USB կրիչը"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"Փոփոխեք տեքստի չափը։"</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Փոքրացնել"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Մեծացնել"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"Տեքստի նմուշ"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"Օզի կախարդը"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"Գլուխ 11. Օզի հրաշալի Զմրուխտե քաղաքը"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"Վերագործարկեք սարքը՝ այս կարգավորումը փոխելու համար:"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"Վերագործարկել"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"Չեղարկել"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"Հասանելի մեդիա սարքեր"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"Հասանելի սարքեր զանգելու համար"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"Ընթացիկ միացումներ"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"Մեդիա սարքեր"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"Հեռախոսային սարքեր"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"Այլ սարքեր"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Պահված սարքեր"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth-ը կմիանա"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Միացման կարգավորումներ"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"Ձեր մուտքագրած միացքը վավեր չէ:"</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"HTTP պրոքսին օգտագործվում է դիտարկիչի կողմից, բայց չի կարող օգտագործվել այլ ծրագրերի կողմից:"</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"PAC URL` "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"Ընթացիկ հավելյալ ID՝"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"SIM քարտի հավելյալ ID կանխադրված բջջային ինտերնետի համար՝"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"DL թողունակությունը (կբ/վ)՝"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"UL թողունակությունը (կբ/վ)՝"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"Բջջի տեղադրության տվյալներ (հնացած)՝"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"LTE ֆիզիկական ալիքի կարգավորում՝"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"Բջջի տվյալների թարմացման հաճախականությունը՝"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"Բոլոր բջիջների չափման տվյալները՝"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"Տվյալների ծառայություն՝"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"Ռոումինգ`"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"Զանգի վերահասցեավորում՝"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"PPP վերակայումների քանակը նախորդ բեռնումից հետո`"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"Ընթացիկ ցանցը`"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"Ստացված տվյալները`"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"Ձայնային ծառայություն՝"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"Ազդանշանի հզորությունը`"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"Ձայնային զանգի կարգավիճակը՝"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"Ուղարկված տվյալները՝"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"Հաղորդագրության սպասում՝"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"Հեռախոսահամար`"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"Ընտրել հաճախությունների շերտը"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"Ձայնային ցանցի տեսակը՝"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"Տվյալների ցանցի տեսակը՝"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"Ընտրեք հեռախոսային կոդ"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"Կարգավորեք ցանկալի ցանցի տեսակը՝"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"Փինգ հանգույցի անուն(www.google.com) IPv4՝"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"Փինգ հանգույցի անուն(www.google.com) IPv6՝"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"HTTP սպասառուի թեստ՝"</string>
     <string name="ping_test_label" msgid="265427033290391845">"Գործարկել փինգ թեստը"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC`"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"Թարմացնել"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"Թարմացնել"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"Փոխարկել DNS ստուգումը"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"OEM-հատուկ տեղեկություններ/կարգավորումներ"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"Կարգավորել հաճախությունների շերտի ռեժիմը"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"Շերտերի ցուցակը բեռնվում է…"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"Կարգավորել"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"Անհաջող"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"Հաջող"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"Փոփոխությունները զգալի են դառնում, երբ USB-ի լարը վերամիացվում է:"</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"Միացնել USB զանգվածային կրիչը"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"Բայթերի ընդհանուր ծավալը`"</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"Տանել ցանկի վերջ"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"Հեռացնել լեզուն"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"Ընտրել գործունեությունը"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"Տեղեկություն սարքի մասին"</string>
     <string name="display_label" msgid="3056320781191343221">"Էկրան"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"Պլանշետի տեղեկություններ"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"Հեռախոսի տեղեկություններ"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"USB կրիչ"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"SD քարտ"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"Պրոքսի կարգավորումներ"</string>
@@ -306,9 +234,6 @@
     <string name="airplane_mode" msgid="3196085857882526817">"Ավիառեժիմ"</string>
     <string name="wireless_networks_settings_title" msgid="8557542379234105369">"Անլար կապ և ցանցեր"</string>
     <string name="radio_controls_summary" msgid="9028430178697624501">"Կառավարել WiFi-ը, Bluetooth-ը, թռիչքային ռեժիմը, շարժական ցանցերը, &amp; VPN-ները"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"Բջջային ինտերնետ"</string>
-    <string name="calls_title" msgid="6334813967619899114">"Թույլատրել զանգերը"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"SMS հաղորդագրություններ"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"Թույլատրել տվյալների օգտագործումը բջջային ցանցի միջոցով"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"Թույլ տալ տվյալների կապի օգտագործումը ռոումինգում"</string>
     <string name="roaming" msgid="3055365654530847985">"Ռոումինգ"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"Միանալ տվյալների փոխանցման ծառայություններին ռոումինգում"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"Ինտերնետ կապ չկա, քանի որ ռոումինգում ինտերնետ կապն անջատված է կարգավորումներից։"</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"Միացնել"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"Դրա համար ձեզանից կարող են խոշոր վճարներ գանձվել:"</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"Երբ դուք թույլատրում եք տվյալների ռոումինգը, հնարավոր է` ձեզնից գանձվեն զգալի գումարային վճարներ:\n\nԱյս կարգավորումը վերաբերում է պլանշետի բոլոր օգտատերերին:"</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"Երբ դուք թույլատրում եք ռոումինգային տվյալները, հնարավոր է` ձեզնից գանձվեն զգալի գումարային վճարներ:\n\nԱյս կարգավորումը վերաբերում է հեռախոսի բոլոր օգտատերերին:"</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"Ռոումինգի համար կարող է գումար գանձվել:"</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"Երբ ռոումինգը միացված է, ձեզնից կարող է գումար գանձվել:\n\nԱյս կարգավորումը վերաբերում է պլանշետի բոլոր օգտատերերին:"</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"Երբ ռոումինգը միացված է, ձեզնից կարող է գումար գանձվել:\n\nԱյս կարգավորումը վերաբերում է հեռախոսի բոլոր օգտատերերին:"</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"Թույլատրե՞լ տվյալների ռոումինգը"</string>
     <string name="networks" msgid="5184501333492775095">"Օպերատորի ընտրություն"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"Ընտրել ցանցի օպերատորին"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"Անջատվել է ադմինիստրատորի կողմից"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"Ավելացնել մուտքի արգելափակման ընտրանքը"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"Ցուցադրել սնուցման կոճակի ընտրանքը, որն անջատում է Smart Lock-ը, կենսաչափական տվյալներով ապակողպումը և կողպէկրանին ցուցադրվող ծանուցումները"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"Միջանկյալ գործակալները հետաձգում են կողպումը"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"Եթե միացված է, միջանկյալ գործակալները երկար ժամանակ չեն թողնի, որ ձեր սարքը կողպվի, սակայն այլևս չեն կարողանա ապակողպել որևէ կողպված սարք:"</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"Վստահության կորստի դեպքում կողպել էկրանը"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"Եթե միացված է, սարքը կկողպվի, երբ վստահության վերջին գործակալը կորցնի վստահությունը:"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"Չկա"</string>
@@ -390,7 +313,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"Կարգավորել Իմ տեղադրությունը, էկրանի ապակողպումը, SIM քարտի կողպումը, վկայագրերի պահոցի կողպումը"</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"Կարգավորել իմ տեղադրությունը, էկրանի ապակողպումը, հավատարմագրային պահոցի կողպումը"</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"Գաղտնիություն"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"Անջատվել է ադմինիստրատորի կողմից"</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>
@@ -693,7 +616,6 @@
       <item quantity="one">Պետք է <xliff:g id="NUMBER_1">%d</xliff:g>-ից քիչ թվանշան պարունակի</item>
       <item quantity="other">Պետք է <xliff:g id="NUMBER_1">%d</xliff:g>-ից քիչ թվանշան պարունակի</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"Պետք է պարունակի միայն 0-9 թվանշաններ"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"Սարքի ադմինիստրատորը չի թույլատրում օգտագործել վերջին PIN կոդերը"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"ՏՏ ադմինիստրատորն արգելափակել է պարզ PIN կոդերը: Փորձեք մեկ այլ PIN:"</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"Այն չի կարող պարունակել անվավեր գրանշան"</string>
@@ -724,6 +646,10 @@
       <item quantity="one">Must contain at least <xliff:g id="COUNT">%d</xliff:g> non-letter characters</item>
       <item quantity="other">Պետք է պարունակի առնվազն <xliff:g id="COUNT">%d</xliff:g> ոչ-տառային գրանշան</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="one">Պետք է պարունակի առնվազն <xliff:g id="COUNT">%d</xliff:g> ոչ թվային նիշ</item>
+      <item quantity="other">Պետք է պարունակի առնվազն <xliff:g id="COUNT">%d</xliff:g> ոչ թվային նիշ</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"Սարքի ադմինիստրատորը թույլ չի տալիս օգտագործել վերջին գաղտնաբառը"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"ՏՏ ադմինիստրատորն արգելափակել է պարզ գաղտնաբառերը: Փորձեք մեկ այլ գաղտնաբառ:"</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"Թվանշանների աճող, նվազող կամ կրկնվող հաջորդականությունն արգելված է"</string>
@@ -837,19 +763,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2,4 ԳՀց"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 ԳՀց"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"Մտնել"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"Բացել կայքը"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"Մնացել է <xliff:g id="REMAINING_TIME">%1$s</xliff:g>"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"Ժամկետը սպառվում է <xliff:g id="EXPIRY_TIME">%1$s</xliff:g>"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"Հպեք՝ ցանց մուտք գործելու համար"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Մբիթ/վ"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Մբիթ/վ"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Մբիթ/վ"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"<xliff:g id="REQUESTER">%s</xliff:g> հավելվածը ցանկանում է միացնել Wi-Fi-ը"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"<xliff:g id="REQUESTER">%s</xliff:g> հավելվածը ցանկանում է անջատել Wi-Fi-ը"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"Հաստատել վրիպազերծման ենթակա հավելվածների երկուական կոդը"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Թույլատրել ART-ին հաստատել վրիպազերծման ենթակա հավելվածների երկուական կոդը"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"Թարմացման հաճախությունը"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Ցույց տալ էկրանի թարմացման ընթացիկ հաճախությունը"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"Թույլատրել տվյալների փոխանակումը, երբ պլանշետը հպում է այլ սարքի"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"Թույլատրել տվյալների փոխանակումը, երբ հեռախոսը հպում է մեկ այլ սարքի"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"Թույլատրել տվյալների փոխանակումը, երբ պլանշետը հպում եք NFC սարքի։"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"Թույլատրել տվյալների փոխանակումը, երբ հեռախոսը հպում եք NFC սարքի։"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"Միացնել NFC-ն"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"NFC-ը տվյալներ է փոխանակում այս սարքի և մոտակայքում գտնվող այլ սարքերի և թիրախների (օրինակ՝ վճարման տերմինալների, մուտքի ընթարցիչների, ինտերակտիվ գովազդի կամ հատկորոշիչների) միջև:"</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"Պաշտպանել NFC-ն"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFC-ի համար պահանջել սարքի ապակողպում"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"Թույլատրել NFC-ի միջոցով վճարումներն ու տվյալների փոխանցումը միայն, երբ էկրանն ապակողպված է"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"Տվյալների փոխանակում NFC-ով"</string>
@@ -923,8 +855,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Միացնել"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Wi-Fi ցանցերի որոնումը միացված է"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Ընդլայնված ընտրանքներ"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"Ընդլայնված ընտրանքների իջնող ցանկ: Կրկնակի հպեք՝ կոծկելու համար:"</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"Ընդլայնված ընտրանքների իջնող ցանկ: Կրկնակի հպեք՝ ընդարձակելու համար:"</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Իջնող ցանկի լրացուցիչ կարգավորումներ"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"ծավալել"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"Ցանցի անունը"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"Մուտքագրեք SSID-ն"</string>
     <string name="wifi_security" msgid="9095934643631406913">"Անվտանգություն"</string>
@@ -934,6 +866,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"Կարգավիճակ"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"Տվյալների փոխանցման արագություն"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"Տվյալների ստացման արագություն"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"Կապի արագություն"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"Հաճախականություն"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"IP հասցե"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"Պահման եղանակը՝"</string>
@@ -941,6 +874,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"EAP եղանակ"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"Փուլ 2-ի նույնականացում"</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>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"Օգտատիրոջ վկայական"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"Ինքնություն"</string>
@@ -957,6 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"Ընտրեք նվազագույնը մեկ հաճախականություն Wi‑Fi թեժ կետի համար՝"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"IP կարգավորումներ"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"Գաղտնիություն"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"Բաժանորդագրություն"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"Դիտել և փոխել բաժանորդագրությունը"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"Պատահական ընտրված MAC"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"Ավելացնել սարք"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"Սարքը «<xliff:g id="SSID">%1$s</xliff:g>» ցանցին ավելացնելու համար տեսախցիկը պահեք QR կոդի վրա"</string>
@@ -966,12 +902,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"Կիսվել Wi‑Fi-ով"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"«<xliff:g id="SSID">%1$s</xliff:g>» ցանցին միանալու և գաղտնաբառով կիսվելու համար սկանավորեք այս QR կոդը"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"«<xliff:g id="SSID">%1$s</xliff:g>» ցանցին միանալու համար սկանավորեք այս QR կոդը"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"Չհաջողվեց կարդալ QR կոդը։ Նորից կենտրոնական դիրքի բերեք և կրկնեք"</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"Նորից փորձեք: Եթե խնդիրը չվերանա, դիմեք սարքի արտադրողին"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"Սխալ առաջացավ"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"Համոզվեք, որ սարքը սնուցվում է հոսանքից, լիցքավորված է և միացված"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"Համոզվեք, որ սարքը սնուցվում է հոսանքից, լիցքավորված է և միացված։ Եթե խնդիրը չվերանա, դիմեք սարքի արտադրողին"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"Այս սարքը չի աջակցում «<xliff:g id="SSID">%1$s</xliff:g>» ցանցի ավելացումը"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"Փորձեք մոտեցնել սարքը Wi‑Fi մուտքի կետին կամ երթուղիչին"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"Ստուգեք գաղտնաբառն ու նորից փորձեք"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"Կապվեք սարքը արտադրողի հետ"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"Ստուգեք ինտերնետ կապը և նորից փորձեք"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"Ընտրեք ցանց"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"Սարքը միացնելու համար ընտրեք ցանցը"</string>
@@ -984,11 +922,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"Սարքը միանում է Wi‑Fi-ին…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"Միացում…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"Ընդհանուր թեժ կետ"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"Հաստատեք ձեր ինքնությունը"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"Հաստատեք, որ դա դուք եք"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"Wi-Fi-ի գաղտնաբառ՝ <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"Թեժ կետի գաղտնաբառ՝ <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"Ավտոմատ միացում"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"Թույլատրել հեռախոսին ավտոմատ միանալ այս ցանցի տարածքում"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"Թույլատրել պլանշետին ավտոմատ միանալ այս ցանցի տարածքում"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"Ավելացնել սարք"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"Այս ցանցին սարք ավելացնելու համար օգտագործեք QR կոդ"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"QR կոդը վավեր ձևաչափ չէ"</string>
     <string name="retry" msgid="7542103800274026915">"Կրկնել"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"Կիսվել այլ սարքերի օգտատերերի հետ"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(անփոփոխ)"</string>
@@ -1000,6 +942,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"Վկայականը նշված չէ: Միացումը գաղտնի չի լինի:"</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"Ցանցի անունը չափազանց երկար է։"</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"Անհրաժեշտ է նշել տիրույթը:"</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"Պահանջվում է հավաստագիր։"</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"WPS-ը հասանելի է"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (WPS-ը հասանելի է)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"Օպերատորի Wi‑Fi ցանց"</string>
@@ -1051,7 +994,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"Ընդլայնված Wi‑Fi"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"MAC հասցե"</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_ip_address_title" msgid="4265355419782184514">"IP հասցե"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"Ցանցի տվյալներ"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Ենթացանցի դիմակ"</string>
@@ -1103,7 +1047,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"Թեժ կետի միջոցով ստեղծեք Wi‑Fi ցանց ձեր այլ սարքերի hամար: Թեժ կետը տրամադրում է ինտերնետային կապ բջջային ցանցի միջոցով: Կարող են կիրառվել լրացուցիչ գանձումներ։"</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"Հավելվածները կարող են ստեղծել թեժ կետ՝ մոտակա սարքերին նյութեր փոխանցելու համար:"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Ավտոմատ անջատել թեժ կետը"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"Wi‑Fi թեժ կետը կանջատվի, եթե որևէ սարք միացած չլինի դրան"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Երբ սարքեր միացված չեն"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"Թեժ կետի միացում…"</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"Թեժ կետերը անջատվում են..."</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> ցանցն ակտիվ է"</string>
@@ -1112,6 +1056,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"Wi-Fi թեժ կետի կարգավորում"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"AndroidAP WPA2 PSK թեժ կետ"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"Android թեժ կետ"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"Պահե՞լ այս ցանցը"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"<xliff:g id="APPNAME">%1$s</xliff:g> հավելվածին անհրաժեշտ է պահել այս ցանցը ձեր հեռախոսում"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"<xliff:g id="APPNAME">%1$s</xliff:g> հավելվածին անհրաժեշտ է պահել այս ցանցը ձեր պլանշետում"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"Պահվում է…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"Պահվեց"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"Չհաջողվեց պահել։ Նորից փորձեք։"</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"Պահե՞լ ցանցերը"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"<xliff:g id="APPNAME">%1$s</xliff:g> հավելվածին անհրաժեշտ է պահել այս ցանցերը ձեր հեռախոսում"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"<xliff:g id="APPNAME">%1$s</xliff:g> հավելվածին անհրաժեշտ է պահել այս ցանցերը ձեր պլանշետում"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"<xliff:g id="NUMBER">%d</xliff:g> ցանց պահվում է…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"Ցանցերը պահվեցին"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"Զանգեր Wi-Fi-ի միջոցով"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"Ընդլայնեք ծածկույթը Wi‑Fi-ի միջոցով"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"Զանգեք Wi-Fi-ի միջոցով՝ ծածկույթն ընդլայնելու համար"</string>
@@ -1138,16 +1093,18 @@
     <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"><annotation id="url">"Մանրամասն"</annotation>" մասնավոր DNS սերվերի մասին"</string>
+    <string name="private_dns_mode_on" msgid="8878679071975375696">"Միացված է"</string>
     <string name="wifi_calling_pref_managed_by_carrier" msgid="129524064888622179">"Կարգավորումը կառավարվում է օպերատորի կողմից"</string>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"Ակտիվացրեք Wi-Fi-ի միջոցով զանգերը"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"Միացրեք Wi-Fi-ի միջոցով զանգերը"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"%1$s օպերատորը չի աջակցում զանգեր Wi‑Fi-ի միջոցով"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"<xliff:g id="SSID">%1$s</xliff:g> սարքի հետ կապն ընդհատվեց"</string>
     <string name="carrier" msgid="1755020806290963951">"Օպերատոր"</string>
     <string name="display_settings_title" msgid="626835071804834218">"Էկրան"</string>
     <string name="sound_settings" msgid="5514582720435174014">"Ձայն"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"Հնչողությունը"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"Երաժշտության էֆեկտներ"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"Զանգի ուժգնություն"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"Զանգի և ծանուցումների ձայնը"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"Թրթռալ, երբ անձայն ռեժիմում է"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"Ծանուցման լռելյայն ձայնը"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"Զանգերանգ"</string>
@@ -1272,13 +1229,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"Ժամանակացույց"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"Չկա"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"Միանում է մայրամուտից լուսաբաց"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"Միանում է սահմանված ժամին"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"Կարգավիճակ"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"Անջատված է / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"Ավտոմատ չի միանա"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"Ավտոմատ կմիանա մայրամուտին"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"Ավտոմատ կմիանա <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"Միացված է/<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"Ավտոմատ չի անջատվի"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"Ավտոմատ կանջատվի արևածագին"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"Ավտոմատ կանջատվի <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"Միացնել մինչև <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"Անջատել մինչև <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"Մուգ թեմայում օգտագործվում է սև ֆոն՝ որոշ էկրաններում մարտկոցի լիցքի տևողությունը երկարացնելու համար։ Մուգ թեմայի ժամանակացույցները չեն միանա, մինչև էկրանը չանջատվի։"</string>
     <string name="screen_timeout" msgid="7709947617767439410">"Էկրանի անջատում"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"Էկրանը անջատվում է"</string>
@@ -1290,7 +1252,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"Փոխեք պաստառը"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"Անհատականացրեք էկրանը"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"Պաստառների տեղադրում"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"Pixel-ի անհատականացում"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"Հեռախոսի անհատականացում"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"Փորձեք տարբեր ոճեր, պաստառներ և ավելին"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"Էկրանապահ"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Լիցքավորման ընթացքում կամ դոկ-կայանում"</string>
@@ -1379,6 +1341,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"Անջատել USB կրիչը, դիտել հասանելի պահոցը"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"Անջատել SD քարտը, դիտել հասանելի պահոցը"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (SIM քարտի բնիկ %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"Դիտելու համար ընտրեք պահված ցանցը"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"Հեռախոսահամար"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (SIM քարտի բնիկ %1$d)"</string>
@@ -1405,6 +1368,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"Ռոումինգ"</string>
     <string name="status_operator" msgid="4335640583552058491">"Ցանց"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"Wi‑Fi MAC հասցե"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"Սարքի Wi‑Fi-ի MAC հասցե"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"Bluetooth-ի հասցեն"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Հերթական համարը"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Աշխատած ժամանակը"</string>
@@ -1617,6 +1581,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Սկզբնական APN կարգավորումների վերակարգավորումն ավարտված է:"</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"Զրոյացման ընտրանքներ"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"Ցանցի, հավելվածների և սարքի կարգավորումները հնարավոր է զրոյացնել"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"Հավելվածների կարգավորումները կարելի է զրոյացնել"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"Զրոյացնել Wi-Fi-ի, բջջային թրաֆիկի և Bluetooth-ի կարգավորումները"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"Արդյունքում կվերակայվեն բոլոր ցանցային կարգավորումները, ներառյալ հետևյալը՝\n\n"<li>"Wi‑Fi"</li>\n<li>"Բջջային ինտերնետ"</li>\n<li>"Bluetooth"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"Ջնջել ներբեռնված SIM-երը"</string>
@@ -1666,6 +1631,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"Թեժ կետը միացված է"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"Մոդեմի ռեժիմ"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"Երբ թրաֆիկի տնտեսումն ակտիվ է, հնարավոր չէ կապել կամ օգտագործել շարժական հասանելիության կետերը"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"Միայն թեժ կետ"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"Միայն USB"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"Միայն Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"Թեժ կետ, USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"Թեժ կետ, Bluetooth"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB, Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"Թեժ կետ, USB, Bluetooth"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"Ինտերնետը հասանելի չէ այլ սարքերի"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"Մոդեմի ռեժիմ"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Չօգտագործել Wi‑Fi թեժ կետը"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Կիսվեք ինտերնետով միայն USB-ի միջոցով"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Կիսվեք ինտերնետով միայն Bluetooth-ի միջոցով"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Կիսվեք ինտերնետով միայն USB-ի և Bluetooth-ի միջոցով"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB մոդեմ"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"Տարածել հեռախոսի ինտերնետային կապը USB-ով"</string>
@@ -1756,9 +1734,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"Անվտանգության տեղեկատվություն"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"Սարքը միացված չէ ինտերնետին: Այս տեղեկությունը դիտելու համար անցեք %s` համացանցին միացված ցանկացած համակարգչով:"</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"Բեռնում..."</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"Օգտագործել PIN"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"Օգտագործել նախշ"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"Օգտագործել գաղտնաբառ"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"Էկրանի կողպում"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"Սարքը պաշտպանելու համար գաղտնաբառ"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"Մատնահետքն օգտագործելու համար ընտրեք գաղտնաբառ"</string>
@@ -1767,8 +1742,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"Մատնահետքն օգտագործելու համար ընտրեք PIN կոդ"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"Սարքը պաշտպանելու համար նախշ"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"Նորից մուտքագրեք գաղտնաբառը"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"Մուտքագրեք աշխատանքային հաշվի գաղտնաբառը"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"Հաստատեք ձեր կաղապարը"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"Նշեք աշխատանքային հաշվի նախշը"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"Նորից մուտքագրեք PIN կոդը"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"Մուտքագրեք աշխատանքային հաշվի PIN կոդը"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"Գաղտնաբառերը չեն համընկնում"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"PIN-երը չեն համընկնում"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"Նորից նկարեք նախշը"</string>
@@ -1779,6 +1757,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"Դեմքով ապակողպման համար նշեք գաղտնաբառ"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"Դեմքով ապակողման համար նշեք նախշ"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"Դեմքով ապակողպման համար նշեք PIN կոդ"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"Մոռացել եմ գաղտնաբառը"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"Մոռացել եմ նախշը"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"Մոռացել եմ PIN-ը"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"Շարունակելու համար օգտագործեք սարքի նախշը"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"Շարունակելու համար մուտքագրեք սարքի PIN կոդը"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"Շարունակելու համար մուտքագրեք սարքի գաղտնաբառը"</string>
@@ -1846,6 +1827,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"Թույլ է տալիս ծրագրերի բոլոր աղբյուրները"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"Վերջին օգտագործված հավելվածները"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"Տեսնել բոլոր հավելվածները (<xliff:g id="COUNT">%1$d</xliff:g>)"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"Դիմեք ձեր ՏՏ ադմինիստրատորին"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"Նա կարող է օգնել ձեզ վերակայել PIN-ը, նախշը կամ գաղտնաբառը"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"Ձեր պլանշետն ու անձնական տվյալներն առավել խոցելի են անհայտ հավելվածների գրոհների նկատմամբ: Տեղադրելով հավելվածներ այս աղբյուրից՝ դուք ընդունում եք, որ պատասխանատվություն եք կրում ձեր պլանշետին պատճառած ցանկացած վնասի կամ տվյալների կորստի համար, որը կարող է տեղի ունենալ դրանք օգտագործելու արդյունքում:"</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"Ձեր սարքն ու անձնական տվյալներն առավել խոցելի են անհայտ հավելվածների գրոհների նկատմամբ: Տեղադրելով հավելվածներ այս աղբյուրից՝ դուք ընդունում եք, որ պատասխանատվություն եք կրում ձեր սարքին պատճառած ցանկացած վնասի կամ տվյալների կորստի համար, որը կարող է տեղի ունենալ դրանք օգտագործելու արդյունքում:"</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"Ձեր սարքն ու անձնական տվյալները առավել խոցելի են անհայտ հավելվածների գրոհների նկատմամբ: Տեղադրելով հավելվածներ այս աղբյուրից՝ դուք ընդունում եք, որ պատասխանատվություն եք կրում ձեր սարքին պատճառած ցանկացած վնասի կամ տվյալների կորստի համար, որը կարող է տեղի ունենալ դրանք օգտագործելու արդյունքում:"</string>
@@ -1897,7 +1880,7 @@
     <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="1377296810290814749">"Կզրոյացվեն հետևյալ բոլոր կարգավորումները՝\n\n"<li>"Անջատած հավելվածները"</li>\n<li>"Հավելվածների անջատած ծանուցումները"</li>\n<li>"Կանխադրված հավելվածները"</li>\n<li>"Ֆոնային ռեժիմում տվյալների փոխանցման սահմանափակումները"</li>\n\n<li>"Թույլտվությունների բոլոր սահմանափակումները"</li>\n"Հավելվածների տվյալները չեն կորի։"</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>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"Զրոյացնել"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"Կառավարել տարածքը"</string>
     <string name="filter" msgid="9039576690686251462">"Զտիչ"</string>
@@ -2097,7 +2080,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"Աուդիո և էկրանի տեքստ"</string>
     <string name="display_category_title" msgid="6638191682294461408">"Էկրան"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"Կառավարման տարրեր"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"Ներբեռնված ծառայություններ"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"Ներբեռնված հավելվածներ"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"Փորձնական"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"Գործառույթների դրոշներ"</string>
     <string name="talkback_title" msgid="8756080454514251327">"Talkback"</string>
@@ -2105,27 +2088,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"Հպեք էկրանին ցուցադրվող տարրերին՝ դրանց նկարագրությունը բարձրաձայն լսելու համար"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"Ենթագրերի կարգավորումներ"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"Խոշորացում"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"Խոշորացման հատվածը"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"Խոշորացումը միացված է"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"Ընտրեք, թե էկրանի որ հատված(ներ)ն է պետք խոշորացնել"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"Լիաէկրան"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"Էկրանի հատվածը"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"Լիաէկրան ռեժիմ և մասնակի էկրանի ռեժիմ"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"Խոշորացնել ամբողջ էկրանը"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"Խոշորացնել էկրանի որոշակի հատվածը"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Խոշորացման կարգավորումներ"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"Խոշորացում եռակի հպման միջոցով"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Խոշորացում դյուրանցման միջոցով"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Խոշորացնել դյուրանցման կամ եռակի հպելու օգնությամբ"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"«<xliff:g id="SERVICE">%1$s</xliff:g>» ծառայության մասին"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"Ընտրանքներ"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"Խոշորացույց էկրանի վրա"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"Հպել 3 անգամ՝ մեծացնելու համար"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Հպել որևէ կոճակի՝ մեծացնելու համար"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><b>"Մասշտաբը փոխելու համար"</b>" 3 անգամ արագ հպեք էկրանին:\n"<ul><li>"Ոլորելու համար 2 կամ ավելի մատները քաշեք էկրանի վրայով"</li>\n<li>"Մասշտաբը փոխելու համար 2 կամ ավելի մատները մոտեցրեք միմյանց"</li></ul>\n\n<b>"Մասշտաբը ժամանակավորապես փոխելու համար"</b>" 3 անգամ արագ հպեք էկրանին և երրորդ հպումից հետո մատը սեղմած պահեք:\n"<ul><li>"Քաշեք՝ էկրանով մեկ շարժելու համար"</li>\n<li>"Բարձրացրեք մատը՝ փոքրացնելու համար"</li></ul>\n\n"Ստեղնաշարի կամ նավարկման գոտու միջոցով հնարավոր չէ մեծացնել:"</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"Երբ խոշորացումը միացված է, դուք կարող եք մեծացնել էկրանի մասշտաբը:\n\n"<b>"Մասշտաբը մեծացնելու համար"</b>" միացրեք խոշորացումը և հպեք էկրանի ցանկացած հատվածին:\n"<ul><li>"• Ոլորելու համար 2 կամ ավելի մատները քաշեք էկրանի վրայով:"</li>\n<li>"• Մասշտաբը փոխելու համար 2 կամ ավելի մատները մոտեցրեք միմյանց:"</li></ul>\n\n<b>"Մասշտաբը ժամանակավորապես փոխելու համար"</b>" միացրեք խոշորացումը, ապա հպեք էկրանի ցանկացած հատվածին ու պահեք:\n"<ul><li>"• Քաշեք՝ պատկերն էկրանով մեկ շարժելու համար:"</li>\n<li>"• Բարձրացրեք մատը՝ փոքրացնելու համար:"</li></ul>\n\n"Խոշորացումը գործում է էկրանի ցանկացած հատվածում՝ բացի ստեղնաշարից և նավարկման գոտուց:"</string>
+    <string name="accessibility_screen_magnification_summary" msgid="7617931632990040045">"Էկրանն արագ խոշորացրեք՝ բովանդակությունն ավելի պարզ տեսնելու համար։&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Խոշորացնելու համար՝&lt;/b&gt;&lt;br/&gt;	1. Օգտագործեք դյուրանցումը&lt;br/&gt;	2. Հպեք էկրանին&lt;br/&gt;	3. Երկու մատը քաշեք էկրանի վրայով&lt;br/&gt;	4. Շարժեք երկու մատը՝ խոշորացումը կարգավորելու համար&lt;br/&gt;	5. Դյուրանցման միջոցով դադարեցրեք խոշորացումը&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Ժամանակավորապես խոշորացնելու համար՝:&lt;/b&gt;&lt;br/&gt;	1. Օգտագործեք դյուրանցումը&lt;br/&gt;	2. Հպեք էկրանի որև մասին և պահեք&lt;br/&gt;	3. Մատը քաշեք էկրանի վրայով&lt;br/&gt;	4. Հեռացրեք մատը էկրանից՝ խոշորացումը դադարեցնելու համար"</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Երբ խոշորացումը միացված է, դուք կարող եք մեծացնել էկրանի մասշտաբը:\n\n"<b>"Մասշտաբը մեծացնելու համար"</b>"միացրեք խոշորացումը և հպեք էկրանի ցանկացած հատվածին:\n"<ul><li>"Ոլորելու համար 2 կամ ավելի մատները քաշեք էկրանի վրայով։"</li>\n<li>"Մասշտաբը փոխելու համար 2 կամ ավելի մատները մոտեցրեք միմյանց։"</li></ul>\n\n<b>"Մասշտաբը ժամանակավորապես փոխելու համար"</b>" միացրեք խոշորացումը, ապա հպեք էկրանի ցանկացած հատվածին և պահեք։\n"<ul><li>"Քաշեք՝ էկրանով մեկ շարժելու համար։"</li>\n<li>"Բարձրացրեք մատը՝ փոքրացնելու համար։"</li></ul>\n\n"Ստեղնաշարի կամ նավարկման գոտու միջոցով հնարավոր չէ մեծացնել:"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Բացեք «Հատուկ գործառույթներ» կոճակի միջոցով"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Բացեք ձեռքի շարժումով"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"Օգտագործեք հատուկ գործառույթների նոր ժեստը"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"Այս գործառույթը միացնելու կամ անջատելու համար էկրանի ներքևում հպեք «Հատուկ գործառույթներ» կոճակին<xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>:\n\nՄեկ ծառայությունից մյուսին անցնելու համար հպեք «Հատուկ գործառույթներ» կոճակին և պահեք:"</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"Այս գործառույթը միացնելու կամ անջատելու համար երկու մատը սահեցրեք էկրանի ներքևից վերև:\n\nՄեկ ծառայությունից մյուսին անցնելու համար երկու մատը սահեցրեք էկրանի ներքևից վերև և պահեք:"</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"Այս գործառույթը միացնելու կամ անջատելու համար երեք մատով սահեցրեք էկրանի ներքևից վերև:\n\nՄեկ ծառայությունից մյուսին անցնելու համար երեք մատով սահեցրեք էկրանի ներքևից վերև և պահեք:"</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"Հատուկ գործառույթը միացնելու կամ անջատելու համար երկու մատը սահեցրեք էկրանի ներքևից վերև:\n\nՄեկ ծառայությունից մյուսին անցնելու համար երկու մատը սահեցրեք էկրանի ներքևից վերև և պահեք:"</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"Հատուկ գործառույթը միացնելու կամ անջատելու համար երեք մատով սահեցրեք էկրանի ներքևից վերև:\n\nՄեկ ծառայությունից մյուսին անցնելու համար երեք մատով սահեցրեք էկրանի ներքևից վերև և պահեք:"</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"Այս գործառույթը միացնելու կամ անջատելու համար էկրանի ներքևում հպեք «Հատուկ գործառույթներ» <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> կոճակին:\n\nՄեկ գործառույթից մյուսին անցնելու համար հպեք «Հատուկ գործառույթներ» կոճակին և պահեք:"</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"Այս գործառույթը միացնելու կամ անջատելու համար երկու մատը սահեցրեք էկրանի ներքևից վերև։\n\nՄեկ ծառայությունից մյուսին անցնելու համար երկու մատը սահեցրեք էկրանի ներքևից վերև և պահեք։"</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"Այս գործառույթը միացնելու կամ անջատելու համար երեք մատով սահեցրեք էկրանի ներքևից վերև։\n\nՄեկ ծառայությունից մյուսին անցնելու համար երեք մատով սահեցրեք էկրանի ներքևից վերև և պահեք։"</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"Հատուկ գործառույթը միացնելու կամ անջատելու համար երկու մատը սահեցրեք էկրանի ներքևից վերև։\n\nՄեկ ծառայությունից մյուսին անցնելու համար երկու մատը սահեցրեք էկրանի ներքևից վերև և պահեք։"</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"Հատուկ գործառույթը միացնելու կամ անջատելու համար երեք մատով սահեցրեք էկրանի ներքևից վերև։\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="2820923641553461297">"«Հատուկ գործառույթներ» կոճակ"</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>
+    <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8922102767509399352">"Հպեք «Հատուկ գործառույթներ» <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> կոճակին ձեր էկրանի ներքևում"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"Երկու մատը էկրանի ներքևից սահեցրեք վերև"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"Երեք մատը էկրանի ներքևից սահեցրեք վերև"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Սեղմած պահեք ձայնի ուժգնության ստեղները"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"Սեղմեք և 1 վայրկյան պահեք ձայնի ուժգնության երկու կոճակները"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Եռակի հպեք էկրանին"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"Արագ հպեք էկրանին 3 անգամ։ Այս դյուրանցումը կարող է դանդաղեցնել սարքի աշխատանքը։"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"Լրացուցիչ"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"Մատչելիության կոճակի համար կարգավորված է <xliff:g id="SERVICE">%1$s</xliff:g> ծառայությունը: Խոշորացումն օգտագործելու համար հպեք և պահեք Մատչելիության կոճակը, ապա ընտրեք խոշորացումը:"</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"Հատուկ գործառույթների ժեստի համար սահմանված է «<xliff:g id="SERVICE">%1$s</xliff:g>» հրահանգը: Մեծացրեք մասշտաբը՝ երկու մատը սահեցնելով էկրանի ներքևից վերքև և պահեք: Այնուհետև ընտրեք «Խոշորացում»:"</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"Ձայնի կարգավորման կոճակներ"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"Դյուրանցման ծառայությունը"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Դյուրանցման կարգավորումներ"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"Թույլատրել կողպէկրանից"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"Հատուկ գործառույթն օգտագործելու համար սեղմեք և 3 վայրկյան սեղմած պահեք ձայնի ուժգնության երկու կոճակները, երբ դյուրանցումը միացված է։"</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"Ցայտուն տեքստ"</string>
@@ -2149,24 +2157,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"Նշեք, թե որքան ժամանակ է ձեզ անհրաժեշտ՝ կատարելու ավտոմատ անհետացող հաղորդագրություններում ներկայացված գործողությունները:\n\nԱյս կարգավորումը ոչ բոլոր հավելվածներում է աջակցվում:"</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"Սեղմելու և պահելու հապաղումը"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"Գունաշրջում"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"Կարող է ազդել սարքի աշխատանքի վրա"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"Հապաղման ժամանակը"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"Օգտագործել գունաշրջումը"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"Գունաշրջումը լուսավոր էկրանը մգացնում է։ Պայծառ լույսի նկատմամբ զգայուն մարդիկ ավելի լավ կտեսնեն էկրանին ցուցադրվող բովանդակությունը։&lt;br/&gt;&lt;br/&gt;Նկատի ունեցեք, որ մուգ գույները կբացանան։ Մեդիայի և պատկերների գույները կփոխվեն։ Դուք կարող եք նաև օգտագործել մուգ թեման (Կարգավորումներ &gt; Էկրան)։"</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"Ավտոմատ սեղմում (կանգառքի ժամանակը)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"Եթե օգտվում եք մկնիկից, ապա կարող եք նշորդն այնպես կարգավորել, որ այն որոշակի ժամանակ անշարժ մնալուց հետո ավտոմատ գործողություններ կատարի:"</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"Հապաղումը սեղմելուց առաջ"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"Ավտոմատ չսեղմել (կանխադրված)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"Կարճ"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0,2 վայրկյան"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"Միջին"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0,6 վայրկյան"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"Երկար"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 վայրկյան"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"Այլ"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"Ավելի կարճ"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"Ավելի երկար"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"Ավտոմատ սեղմման ժամանակի կարգավորում"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"Թրթռոցի ուժգնություն"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Թրթռոց ծանուցման ժամանակ"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Թրթռազանգ"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Հպման արձագանք"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"Օգտագործել ծառայությունը"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"Օգտագործել <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g> հավելվածը"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"Բացել <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g> հավելվածը"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"Օգտագործել գունաշտկումը"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"Օգտագործել ենթագրերը"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"Ցուցադրել ենթագրերը"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"Ենթագրերի արտաքին տեսքը"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"Տեքստի չափը, ենթագրերի ոճը"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"Այլ ընտրանքներ"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"Ոչ բոլոր հավելվածներն են աջակցում այս կարգավորումը:"</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"«Հատուկ գործառույթներ» կոճակ"</string>
+    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"2 մատը սահեցրեք ներքևից վերև"</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>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"Լսողական ապարատ"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"Որևէ լսողական ապարատ միացված չէ"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"Ավելացնել լսողական ապարատ"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"Լսողական ապարատը զուգակցելու համար հաջորդ էկրանին փնտրեք ձեր սարքն ու հպեք դրան։"</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"Համոզվեք, որ լսողական ապարատը զուգակցման ռեժիմում է։"</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"Լսողական ապարատը զուգակցելու համար հաջորդ էկրանին գտեք ձեր սարքն ու հպեք դրան։ Համոզվեք, որ լսողական ապարատը զուգակցման ռեժիմում է։"</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"«<xliff:g id="DEVICE_NAME">%1$s</xliff:g>» սարքը ակտիվ է"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> պահված լսողական ապարատ</item>
@@ -2178,25 +2204,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Այս ծառայությունը նորմալ չի աշխատում:"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Ցույց տալ Արագ կարգավորումներում"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"Շտկման ռեժիմը"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="one">Չափազանց կարճ հապաղում (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> մվ)</item>
-      <item quantity="other">Չափազանց կարճ հապաղում (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> մվ)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Կարմիր-կանաչ"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"Կանաչ-կարմիր"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Կապույտ-դեղին"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"Դեյտերանոմալիա"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"Պրոտանոմալիա"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"Տրիտանոմալիա"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="one">Չափազանց կարճ հապաղում (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> վայրկյան)</item>
+      <item quantity="other">Չափազանց կարճ հապաղում (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> վայրկյան)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="one">Շատ կարճ հապաղում (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> մվ)</item>
-      <item quantity="other">Շատ կարճ հապաղում (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> մվ)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="one">Շատ կարճ հապաղում (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> վայրկյան)</item>
+      <item quantity="other">Շատ կարճ հապաղում (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> վայրկյան)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="one">Կարճ հապաղում (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> մվ)</item>
-      <item quantity="other">Կարճ հապաղում (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> մվ)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="one">Կարճ հապաղում (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> վայրկյան)</item>
+      <item quantity="other">Կարճ հապաղում (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> վայրկյան)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="one">Երկար հապաղում (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> մվ)</item>
-      <item quantity="other">Երկար հապաղում (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> մվ)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="one">Երկար հապաղում (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> վայրկյան)</item>
+      <item quantity="other">Երկար հապաղում (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> վայրկյան)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="one">Շատ երկար հապաղում (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> մվ)</item>
-      <item quantity="other">Շատ երկար հապաղում (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> մվ)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="one">Շատ երկար հապաղում (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> վայրկյան)</item>
+      <item quantity="other">Շատ երկար հապաղում (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> վայրկյան)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> վայրկյան</item>
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> վայրկյան</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"Զանգ՝ <xliff:g id="SUMMARY_RING">%1$s</xliff:g>, ծանուցում՝ <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>, հպում՝ <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"Զանգի ու ծանուցումների թրթռոցն անջատած է"</string>
@@ -2513,7 +2549,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"Մինչ <xliff:g id="UNPLUGGED">%1$s</xliff:g>-ի վերջին անջատումը"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"Ընդհանուր օգտագործումը"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"Թարմացնել"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"Android OS"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"Մեդիասերվեր"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"Հավելվածի օպտիմալացում"</string>
     <string name="battery_saver" msgid="7737147344510595864">"Մարտկոցի տնտեսում"</string>
@@ -2594,8 +2629,7 @@
     <string name="tts_play" msgid="2945513377250757221">"Նվագարկել"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"Մուտքի տվյալների պահոց"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"Տեղադրել պահոցից"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"Տեղադրել SD քարտից"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"Հավաստագրի տեղադրում"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"Տեղադրել հավաստագրերը պահոցից"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"Տեղադրել վկայականներ SD քարտից"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"Ջնջել հավաստագրերը"</string>
@@ -2615,6 +2649,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"Վկայականի պահոցը ջնջվեց:"</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"Վկայագրերի պահոցը չհաջողվեց ջնջել:"</string>
     <string name="usage_access_title" msgid="1580006124578134850">"Թույլատրված հավելվածներ"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"ՎԿ հավաստագիր"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"VPN-ի և հավելվածների օգտատիրոջ հավաստագիր"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"Wi‑Fi հավաստագիր"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"Ձեր գաղտնիությունը վտանգված է"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"ՎԿ հավաստագրերն օգտագործվում են գաղտնագրման համար վեբ կայքերի, հավելվածների և VPN-ների կողմից։ Տեղադրեք միայն վստահելի կազմակերպությունների ՎԿ հավաստագրեր։ \n\n ՎԿ հավաստագիր տեղադրելու դեպքում, հավաստագրի սեփականատիրոջը հասանելի են դառնում ձեր տվյալները (գաղտնաբառերը, հաղորդագրությունները, բանկային քարտի տվյալները) ձեր այցելած կայքերից կամ օգտագործած հավելվածներից նույնիսկ այն դեպքում, երբ տվյալները գաղտնագրվում են։"</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"Չտեղադրել"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"Տեղադրել"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"Հավաստագիրը չի տեղադրվել"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"Արտակարգ կանչի համարհավաքման ազդանշան"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Կարգավորել աշխատանքի ռեժիմը շտապ կանչի դեպքում"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Պահուստավորում"</string>
@@ -2642,10 +2684,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"Անջատել և ապատեղադրել"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"Սարքի ադմինիստրատորի հավելվածներ"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"Սարքի ադմինիստրատորի հավելվածներ չկան"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"Անձնական"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"Աշխատանքային"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"Սահմանափակել SMS-ների և զանգերի մատյանի մուտքը"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"SMS-ների և զանգերի մատյանը հասանելի է միայն կանխադրված հեռախոսին և հաղորդագրման հավելվածներին"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"Չկան Trust Agents"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"Ակտիվացնե՞լ սարքի ադմինիստրատորի հավելվածը:"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"Ակտիվացնել այս սարքի ադմինիստրատորի հավելվածը"</string>
@@ -2659,6 +2697,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"Ադմինիստրատորն անջատել է այլ ընտրանքները"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"Մանրամասն"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"Ծանուցումների գրանցամատյան"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"Ծանուցումների պատմություն"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"Այսօր"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"Հետաձգված"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"Վերջերս փակված"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="one"><xliff:g id="NUMBER_1">%d</xliff:g> ծանուցում</item>
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> ծանուցում</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"Զանգերանգ &amp; թրթռոց"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"Ցանցի տվյալներ"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"Համաժամացումն ակտիվացված է"</string>
@@ -3008,7 +3054,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"Սահմանափակումներ"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"Հանել սահմանափակումները"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"Փոխել PIN-ը"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"Տեսնել ծանուցումները"</string>
     <string name="help_label" msgid="2896538416436125883">"Օգնություն և հետադարձ կապ"</string>
     <string name="support_summary" msgid="1034146931237148885">"Օգնության հոդվածներ, հեռախոս և զրույց, սկզբնական քայլեր"</string>
     <string name="user_account_title" msgid="6389636876210834864">"Հաշիվ բովանդակության համար"</string>
@@ -3033,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"Զանգեր 4G ցանցով"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Ձայնի և կապի որակը բարձրացնելու համար օգտագործել LTE ծառայությունները (խորհուրդ է տրվում)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Ձայնի և կապի որակը լավացնելու համար օգտվեք 4G ծառայություններից (խորհուրդ է տրվում)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Կոնտակտների հասանելիություն"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Ձեր բջջային օպերատորը կկարողանա իմանալ, թե զանգի ինչ գործառույթներ են օգտագործում ձեր կոնտակտները։"</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Հասանելի դարձնե՞լ կոնտակտները"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Այս գործառույթը միացնելուց հետո ձեր կոնտակտների հեռախոսահամարները հասանելի կդառնան ձեր բջջային օպերատորին, և վերջինս կկարողանա իմանալ, թե զանգի ինչ գործառույթներ են դրանք աջակցում։"</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Ցանցի նախընտրելի տեսակը"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (խորհուրդ է տրվում)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS հաղորդագրություններ"</string>
@@ -3077,7 +3126,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"Զանգել հետևյալով"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"Ընտրեք SIM քարտը"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"SIM <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"SIM-ը դատարկ է"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"SIM քարտի անունը"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"Մուտքագրեք SIM քարտի անունը"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"SIM քարտի բնիկ %1$d"</string>
@@ -3087,6 +3135,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"Ընտրեք SIM քարտը"</string>
     <string name="color_orange" msgid="216547825489739010">"Նարնջագույն"</string>
     <string name="color_purple" msgid="6603701972079904843">"Մանուշակագույն"</string>
+    <string name="color_pink" msgid="8596872110888626708">"Վարդագույն"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"SIM քարտը տեղադրված չէ"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"SIM քարտի կարգավիճակը"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"SIM քարտի կարգավիճակ (SIM-ի բնիկ %1$d)"</string>
@@ -3100,7 +3149,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"SIM քարտերը փոխարինվել են:"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Հպեք՝ կարգավորելու համար"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"Օգտագործել SIM քարտը հետևյալի համար՝"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Հարցնել ամեն անգամ"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Ընտրեք SIM քարտը"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"SIM քարտի ընտրություն"</string>
@@ -3118,6 +3166,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"Bluetooth, վարելու ռեժիմ"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"Bluetooth, NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"Bluetooth"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"Հասանելի չէ, քանի որ NFC-ն անջատված է"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"Հավելվածներ և ծանուցումներ"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Վերջին հավելվածները, կանխադրված հավելվածներ"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Աշխատանքային պրոֆիլի հավելվածներին ծանուցումների օգտագործումը հասանելի չէ:"</string>
@@ -3128,13 +3177,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"Կարգավորումներ"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"Wi-Fi, WiFi, ցանցային կապ, ինտերնետ, անլար կապ, բջջային ինտերնետ, Wi Fi"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"Ծանուցում Wi-Fi-ի մասին, ծանուցում wifi-ի մասին"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"տվյալների օգտագործում"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"Անջատել թրթռոցը, հպում, ստեղնաշար"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"Օգտագործել 24-ժամյա ձևաչափը"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"Ներբեռնում"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"Բացել հավելվածով"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"Հավելվածներ"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"ժամային գոտի"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"Chat Head"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"Զրույցի ամպիկ, համակարգ, ծանուցում, պատուհան, երկխոսություն, ցուցադրել, այլ հավելվածների վրայից"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"Լուսաթարթիչ, լույս, լապտեր"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"wifi, wi-fi, միացնել/անջատել, կառավարել"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"բջջային, շարժական, բջջային օպերատոր, անլար, տվյալներ, 4g, 3g, 2g, lte"</string>
@@ -3158,7 +3208,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"չխանգարել, ընդհատել, ընդհատում, ընդմիջում"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"մոտակա, տեղադրություն, պատմություն, հաշվետվություն, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"հաշիվ"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"հաշիվ, ավելացնել հաշիվ, աշխատանքային պրոֆիլ, հաշվի ավելացում"</string>
     <string name="keywords_users" msgid="3497517660077620843">"սահմանափակում, սահմանափակել, սահմանափակված"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"տեքստի ուղղում, ուղղել, ձայն, թրթռալ, ավտոմատ, լեզու, ժեստ, առաջարկել, առաջարկ, թեմա, վիրավորական, բառ, մուտքագրել, զմայլիկ, միջազգային"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"վերակայել, կարգավորումներ, կանխադրված"</string>
@@ -3196,6 +3246,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"հիշողություն, քեշ, տվյալներ, ջնջել, մաքրել, ազատել, տարածք"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"միացված, սարք, ականջակալ, բարձրախոս, անլար, զուգակցել, ներդիր ականջակալ, երաժշտություն, մեդիա"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"հետնապատկեր, էկրան, կողպէկրան, թեմա"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"պատկերակի ձևը, շեշտի գույնը, տառատեսակը"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"կանխադրված, օգնական"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"վճարում, կանխադրված"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"մուտքային ծանուցում"</string>
@@ -3205,18 +3256,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"հպման արձագանք, թրթռոց, զգայունություն"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"մարտկոցի տնտեսում, մշտական, էներգախնայում, մարտկոց"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"գործողությունների հերթականություն, ժամանակացույց, մարտկոցի տնտեսում, էներգախնայում, մարտկոց, ավտոմատ, տոկոս"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"աշխատանքային պրոֆիլ"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"volte, ընդլայնված հնարավորություններով զանգեր, 4g զանգեր"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"ավելացնել լեզու, նոր լեզու"</string>
     <string name="default_sound" msgid="6604374495015245195">"Կանխադրված զանգերանգը"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"Զանգի ուժգնությունը՝ <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"Զանգի ու ծանուցումների ազդանշանների ուժգնությունը <xliff:g id="PERCENTAGE">%1$s</xliff:g> է"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Ձայնի ուժգնություն, թրթռոց, Չանհանգստացնել ռեժիմ"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"Զանգի համար ակտիվացված է թրթռումը"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"Զանգի ձայնն անջատված է"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"Զանգի ուժգնությունը՝ 80%"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"Զանգի և ծանուցումների ազդանշանների ուժգնությունը 80% է"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Մուլտիմեդիա"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Հեռարձակման ձայնի ուժգնություն"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"Զրույց"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"Զարթուցիչ"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"Զանգերանգ"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"Զանգի և ծանուցումների ձայնը"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"Ծանուցման ձայնի բարձրություն"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"Հեռախոսի զանգերանգ"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"Ծանուցման կանխադրված ձայնը"</string>
@@ -3224,6 +3276,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"Ծանուցման կանխադրված ձայնը"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"Զարթուցիչի կանխադրված ձայնը"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"Թրթռալ զանգերի ժամանակ"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"Առանց թրթռոցի"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"Թրթռոցով"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"Թրթռոց, ապա աստիճանաբար ուժեղացող զանգ"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"Այլ ձայներ"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"Թվաշարի հնչերանգներ"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"Էկրանի կողպման ձայներ"</string>
@@ -3247,6 +3302,7 @@
       <item quantity="other">Միացված է <xliff:g id="ON_COUNT">%d</xliff:g> ժամանակացույց</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Չանհանգստացնել"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Ստանալ ծանուցում միայն կարևոր մարդկանցից և հավելվածներից"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Ընդհատումների սահմանափակում"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Միացրեք «Չանհանգստացնել» ռեժիմը"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"Բացառություններ"</string>
@@ -3273,7 +3329,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>՝ <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Արգելափակել տեսողական ծանուցումները"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Թույլատրել տեսողական ազդանշանները"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"Երբ «Չանհանգստացնել» ռեժիմը միացված է"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"Թույլատրել ձայնային ազդանշանները"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"Ծանուցումների սահմանափակումներ"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Անջատել ծանուցումների ձայնը"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"Ծանուցումները կցուցադրվեն էկրանին"</string>
@@ -3304,7 +3360,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"Ձայն և թրթռոց"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"Ձայն, թրթռոց և ծանուցումների որոշ վիզուալ ազդանշաններ"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"Ձայն, թրթռոց և ծանուցումների վիզուալ ազդանշաններ"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"Հեռախոսի հիմնական գործողությունների համար անհրաժեշտ ծանուցումները և կարգավիճակը չեն թաքցվի"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"Հեռախոսի հիմնական գործողությունների համար անհրաժեշտ ծանուցումները և կարգավիճակը չեն թաքցվի։"</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"Անձայն"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"այլ տարբերակներ"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"Ավելացնել"</string>
@@ -3334,10 +3390,12 @@
       <item quantity="one"><xliff:g id="ON_COUNT">%d</xliff:g> ժամանակացույց կարող է ավտոմատ միանալ</item>
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> ժամանակացույց կարող է ավտոմատ միանալ</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"Անջատել սարքի ձայնը՝ որոշ բացառություններով"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"Բացառություններ"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"Ժամանակացույց"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"Դիտել բոլոր բացառությունները"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"Բացառություններ, երբ «Չանհանգստացնել» ռեժիմը միացված է"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"Մարդիկ"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"Հավելվածներ"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"Զարթուցիչներ և այլ ազդանշաններ"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"Ժամանակացույցներ"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"Ծանուցումներ, որոնց ձայնն անջատված է"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"«Չանհանգստացնել» ռեժիմում ձայնն ու թրթռոցը անջատվում են: Բացառություն են կազմում վերևում ձեր թույլատրած կետերը:"</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"Անջատել ձայնը բոլորի համար, բացի հետևյալ կետերից՝"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"Անձայն"</string>
@@ -3381,16 +3439,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"Հարմարվող ծանուցումներ"</string>
     <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_capabilities_actions_replies_title" msgid="4392470465646394289">"Առաջարկվող գործողություններ և պատասխաններ"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"Ավտոմատ ցուցադրել առաջարկվող գործողություններն ու պատասխանները"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"Միացրեք պատմությունը՝ նախորդ և հետաձգված ծանուցումներին հետևելու համար"</string>
+    <string name="notification_history" msgid="8663811361243456201">"Ծանուցումների պատմություն"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"Միացնել պատմությունը"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"Անջատել պատմությունը"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"Ծանուցումների պատմությունն անջատված է"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"դիտել ծանուցումների կարգավորումը"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Թույլատրել ծանուցումների հետաձգումը"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"Թաքցնել անձայն ծանուցումների պատկերակները"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"Անձայն ծանուցումների պատկերակները չեն ցուցադրվում կարգավիճակի գոտում:"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"Ցուցադրել ծանուցումների կետիկները"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"Ցույց տալ վերջին զրույցները"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Ամպիկներ"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"Որոշ ծանուցումներ կարող են էկրանին ցուցադրվել ամպիկների տեսքով"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"Որոշ ծանուցումներ և այլ բովանդակություն կարող են էկրանին ցուցադրվել ամպիկների տեսքով։ Հպեք՝ ամպիկը բացելու համար։ Փակելու համար քաշեք էկրանի ներքև։"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Ամպիկներ"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"Նոր հաղորդագրությունները կցուցադրվեն էկրանին"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"Թույլատրել <xliff:g id="APP_NAME">%1$s</xliff:g> հավելվածին ցուցադրել որոշ ծանուցումներ ամպիկների տեսքով"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"Միացրեք ամպիկները"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"Նախ միացրեք սարքի ամպիկները։ Դա կանդրադառնա մյուս հավելվածների վրա, որոնցում դուք միացրել եք ամպիկները։"</string>
@@ -3408,6 +3476,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"Ցուցադրել իջնող վահանակի վրա և կողպէկրանին"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"Ցուցադրել իջնող վահանակի վրա և կարգավիճակի գոտում"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"Ցուցադրել իջնող վահանակի վրա, կարգավիճակի գոտում և կողպէկրանին"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"Թաքցնել անձայն ծանուցումները կարգավիճակի գոտում"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"Թարթող լույս"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"Կողպէկրան"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"Բաց թողնել կողպէկրանը"</string>
@@ -3438,6 +3507,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"Տարբերակներ"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"Թույլատրել ձայնը"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"Երբեք չցուցադրել ծանուցումները"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"Խոսակցություններ"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"Խոսակցություն"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"Խոսակցություն չէ"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"Հեռացնել «Խոսակցություններ» բաժնից"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"Խոսակցություն է"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"Ավելացնել «Խոսակցություններ» բաժնում"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"Կառավարել խոսակցությունները"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"Կարևոր խոսակցություններ"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"Բոլոր խոսակցությունները"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"Կարևոր խոսակցությունները ցուցադրել ամպիկի տեսքով"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"Կարևոր խոսակցությունները ցուցադրել իջնող վահանակի վերևում։ Դուք կարող եք կարգավորել այնպես, որ դրանք ցուցադրվեն ամպիկի տեսքով և դադարեցնեն «Չանհանգստացնել» ռեժիմը։"</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"Ցուցադրել անձայն ռեժիմում և ծալել"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"Ցույց տալ անձայն"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"Ձայն"</string>
@@ -3456,7 +3536,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"Ծանուցումները գալիս են առանց ձայնի և թրթռոցի"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"Ծանուցումները գալիս են ձայնով կամ թրթռոցով"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"Երբ սարքն ապակողպված է, ցույց տալ ծանուցումները էկրանի վերևում ազդերիզի տեսքով"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"Միացնել ծանուցումները"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"<xliff:g id="APP_NAME">%1$s</xliff:g> հավելվածի բոլոր ծանուցումները"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"Հարմարվող ծանուցումներ"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="one">Օրական ~<xliff:g id="NUMBER_1">%d</xliff:g> ծանուցում</item>
@@ -3477,6 +3557,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"Հարմարվող ծանուցումներ"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"Չկա"</string>
     <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="3119843404577399036">"<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>
@@ -3538,8 +3619,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"Պատրաստ է"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"Կարևորություն"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"Թարթող լույս"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"Թրթռոց"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"Թրթռոց"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"Ձայն"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"Կարևոր"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"Ավելացնել հիմնական էկրանին"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"Ջնջել"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"Վերանվանել"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"Ժամանակացույցի անունը"</string>
@@ -3593,6 +3676,10 @@
       <item quantity="one">Եվս <xliff:g id="NUM_PEOPLE">%d</xliff:g> կոնտակտ</item>
       <item quantity="other">Եվս <xliff:g id="NUM_PEOPLE">%d</xliff:g> կոնտակտ</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Խոսակցություններ"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"Բոլոր նամակագրություններից"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"Կարևոր նամակագրություններից"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"Արգելել նամակագրությունները"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"Թույլատրել հաղորդագրությունները"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"Համոզվելու, որ թույլատրված հաղորդագրությունները կազդանշվեն, ստուգեք՝ արդյոք սարքում միացված է զանգը կամ թրթռոցը, թե լռեցված է:"</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"Երբ գործում է «<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>» կանոնը, մուտքային հաղորդագրություններն արգելափակվում են: Դուք կարող եք փոխել կարգավորումները, որպեսզի ձեր մտերիմները և այլ կոնտակտներ կարողանան կապվել ձեզ հետ:"</string>
@@ -3606,15 +3693,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"Ոչ ոքից"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"Արգելափակել զանգերը"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"Չթույլատրել"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"Թույլատրել զարթուցիչը"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"Զարթուցիչ"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"Ժամաչափերից, զարթուցիչներից, անվտանգության համակարգերից և այլ հավելվածներից"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"զարթուցիչներ"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"Նվագարկել մեդիայի ձայները"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"Մեդիայի ձայներանգներ"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"Տեսանյութերից, խաղերից և այլ մուլտիմեդիա բովանդակությունից"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"մեդիա"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"Թույլատրել հպման ձայները"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"Հպման ձայներ"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"Ստեղնաշարից և այլ կոճակներից"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"հպման ձայներ"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"Թույլատրել հիշեցումները"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"Հիշեցումներ"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"Առաջադրանքներից և հիշեցումներից"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"հիշեցումներ"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"Թույլատրել միջոցառումները"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"Միջոցառումներ"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"Օրացույցի առաջիկա միջոցառումներից"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Թույլատրել հավելվածներին փոխել «Չանհանգստացնել» ռեժիմի կարգավորումները"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"Հավելվածների ընդլայնումներ"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3657,6 +3749,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"«Չանհանգստացնել» գործառույթի միջոցով լռեցված ծանուցումներին թույլատրել միացնել էկրանը"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"Ծանուցման կարգավորումներ"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"Եղավ"</string>
+    <string name="suggestion_button_close" msgid="6865170855573283759">"Փակել"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Կարծիք հայտնել սարքի մասին"</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"Մուտքագրեք ադմինիստրատորի PIN կոդը"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"Միացված է"</string>
@@ -3667,6 +3760,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Հարցնել PIN կոդը"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Հարցնել գաղտնաբառը"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Ապամրացնելիս կողպել սարքը"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Հաստատեք SIM-ի ջնջումը"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"Նախքան ներբեռնված SIM-ը ջնջելը հաստատեք ձեր ինքնությունը"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"Այս աշխատանքային պրոֆիլը կառավարվում է այս հավելվածի օգնությամբ՝"</string>
     <string name="managing_admin" msgid="2633920317425356619">"Կառավարիչ՝ <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(Փորձնական)"</string>
@@ -3741,8 +3836,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"Բոլոր հավելվածները"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Տեղադրված հավելվածներ"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Ակնթարթային հավելվածները"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"Անձնական"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"Աշխատանքային"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"Հավելվածներ՝ բոլորը"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"Ծանուցումներն անջատած են"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"Կատեգորիաներ՝ հրատապ կարևորություն"</string>
@@ -3754,6 +3847,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"Անհայտ հավելված"</string>
     <string name="app_permissions" msgid="8666537659217653626">"Թույլտվությունների կառավարիչ"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"<xliff:g id="APPS">%1$s</xliff:g> օգտագործող հավելվածները"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"Հավելվածներ, որոնք օգտագործում են <xliff:g id="APPS">%1$s</xliff:g> և այլն"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"Հպեք՝ արթնացնելու համար"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"Երկակի հպեք էկրանի ցանկացած մասին՝ սարքը արթնացնելու համար"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"Հղումների բացում"</string>
@@ -3765,9 +3859,14 @@
       <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> apps opening supported links</item>
       <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> հավելված կարող է աջակցվող հղումներ բացել</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"Բացել այս հավելվածով"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"Թույլ տալ հավելվածին բացել աջակցվող հղումները"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"Հարցնել ամեն անգամ"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"Չբացել այս հավելվածով"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"Թույլ չտալ հավելվածին բացել աջակցվող հղումները"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="one">Հավելվածը հաստատում է, որ մշակում է <xliff:g id="COUNT_1">%d</xliff:g> հղում</item>
+      <item quantity="other">Հավելվածը հաստատում է, որ մշակում է <xliff:g id="COUNT_1">%d</xliff:g> հղում</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"Հավելվածը հաստատում է, որ մշակում է հետևյալ հղումները՝"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"Կանխադրված"</string>
     <string name="default_for_work" msgid="537558180548617528">"Կանխադրված՝ աշխատանքի համար"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"Օգնական և ձայնային ներածում"</string>
@@ -3911,8 +4010,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"Ցուցադրում այլ հավելվածների վրայից"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Ցուցադրել մյուս հավելվածների վրայից"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"Թույլ տալ այս հավելվածի ցուցադրումը ձեր օգտագործած այլ հավելվածների վրայից: Դա կարող է խանգարել այդ հավելվածների ձեր կողմից օգտագործմանը կամ փոխել դրանք ցուցադրման կամ աշխատանքի եղանակը:"</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"Հասանելիություն բոլոր ֆայլերին"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"Բոլոր ֆայլերը կառավարելու թույլտվություն տալ"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Դուք կարող եք թույլատրել այս հավելվածին կարդալ, փոփոխել և ջնջել այս սարքի կամ միացված կրիչների բոլոր ֆայլերը։ Եթե թույլատրեք, հավելվածը կկարողանա օգտվել ֆայլերից՝ առանց ձեր իմացության։"</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"Հասանելիություն ունեն բոլոր ֆայլերին"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"vr վիրտուալ իրականություն ունկնդրիչ ստերեո օգնության ծառայություն"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"համակարգի զգուշացում պատուհան երկխոսություն ցուցադրել այլ հավելվածների վրայից"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"Ցուցադրում այլ հավելվածների վրայից"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"<xliff:g id="COUNT_1">%2$d</xliff:g>-ից <xliff:g id="COUNT_0">%1$d</xliff:g> հավելվածներ կարող են ցուցադրվել այլ հավելվածների վրա"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"Թույլտվություն ունեցող հավելվածներ"</string>
@@ -4078,6 +4180,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"Օգտագործվել է <xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g>"</string>
     <string name="data_overusage" msgid="3680477320458707259">"Գերազանցվել է՝ <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="data_remaining" msgid="6316251496381922837">"Մնացել է <xliff:g id="ID_1">^1</xliff:g>"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"Գծապատկեր, որը ցույց է տալիս տվյալների օգտագործումը <xliff:g id="START_DATE">%1$s</xliff:g> – <xliff:g id="END_DATE">%2$s</xliff:g> ժամանակահատվածում:"</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"Այս ժամանակահատվածի համար տվյալներ չկան"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="one">Մնաց %d օր</item>
       <item quantity="other">Մնաց %d օր</item>
@@ -4141,14 +4245,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"փաթեթի չափը"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"ծանուցումն ուղարկվել է"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"ձայն"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"թրթռոց"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"նախշ"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"կանխադրված"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"ալիք"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"ոչ մեկը"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"Դասակարգման օբյեկտը բացակայում է:"</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"Դասակարգման օբյեկտը չի պարունակում այս բանալին:"</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"Թեմաներ"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"Կանխադրված տարբերակ"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"Կտրվածք"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"էկրանի կտրվածք, հատում"</string>
@@ -4237,8 +4337,12 @@
     <string name="information_label" msgid="6939310810756569298">"Տեղեկություններ"</string>
     <string name="low_label" msgid="6525629096999711220">"Ցածր"</string>
     <string name="high_label" msgid="357503396626018487">"Բարձր"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"Զգայունության բարձրացումը կարող է խանգարել ժեստերի աշխատանքին էկրանի ծայրերում:"</string>
+    <string name="left_edge" msgid="1513576842959071849">"Ձախ եզր"</string>
+    <string name="right_edge" msgid="1505309103265829121">"Աջ եզր"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"Զգայունության բարձրացումը կարող է խանգարել ժեստերի աշխատանքին էկրանի ծայրերում:"</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"Ֆոնային զգայունություն"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"Ժեստերի կարգավորումներ"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"ժեստերով նավարկում, հետ գնալու ժեստի զգայունություն, հետ գնալու ժեստ"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"Կրկնակի հպել՝ հեռախոսը ստուգելու համար"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"Կրկնակի հպեք՝ պլանշետը ստուգելու համար"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"Կրկնակի հպեք՝ սարքը ստուգելու համար"</string>
@@ -4393,7 +4497,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"Գործարկել օպերատորի նախապատրաստումը"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"Թարմացնե՞լ «Չանհանգստացնել» ռեժիմը"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"Չցուցադրել շեղող ծանուցումները"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"Տվյալ գործառույթը հասանելի չէ այս սարքի վրա"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"Գործառույթն անհասանելի է"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"Այս գործառույթն անջատվել է, քանի որ այն դանդաղեցնում էր ձեր հեռախոսի աշխատանքը"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"GNSS-ի չափումների ամբողջական բեռնում"</string>
@@ -4403,20 +4506,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"Ընտրեք ANGLE-ի աջակցմամբ հավելված"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"ANGLE-ի աջակցմամբ հավելված նշված չէ"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"ANGLE-ի աջակցմամբ հավելված՝ <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"Խաղային սարքավարի կարգավորումներ"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"Փոփոխել խաղային սարքավարի կարգավորումները"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"Երբ խաղային սարքավարը միացված է, սարքում տեղադրված հավելվածների համար դուք կարող եք օգտագործել թարմացված գրաֆիկական սարքավարը:"</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"Միացնել բոլոր հավելվածների համար"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"Ընտրեք գրաֆիկական սարքավարը"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"Կանխադրված"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"Խաղային սարքավար"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"Driver խաղի նախնական թողարկում"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"Համակարգի գրաֆիկական սարքավար"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"Գրաֆիկական սարքավարի կարգավորումներ"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"Փոփոխել գրաֆիկական սարքավարի կարգավորումները"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"Մի քանի գրաֆիկական սարքավարի առկայության դեպքում սարքում տեղադրված հավելվածների համար դուք կարող եք օգտագործել թարմացված գրաֆիկական սարքավարը:"</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"Միացնել բոլոր հավելվածների համար"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"Ընտրեք գրաֆիկական սարքավարը"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"Կանխադրված"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"Խաղային սարքավար"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"Մշակողների համար նախատեսված սարքավար"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Համակարգի գրաֆիկական սարքավար"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Հավելվածների համատեղելիության փոփոխություններ"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Թաքցնել/ցուցադրել հավելվածների համատեղելիության փոփոխությունները"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Ըստ կանխադրման միացված փոփոխություններ"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Ըստ կանխադրման անջատված փոփոխություններ"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"Կարգավորումը չի աջակցվում այս հեռախոսում"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"Կարգավորումը չի աջակցվում այս պլանշետում"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"Կարգավորումը չի աջակցվում այս սարքում"</string>
@@ -4435,6 +4544,12 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"Սարք"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Զանգի ընթացքում հասանելի չէ"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"Հասանելի չէ"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"Ավելացրեք մուտքագրման սարքեր"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"Խումբ"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"Ընտրված է 1 սարք"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"Ընտրված է <xliff:g id="COUNT">%1$d</xliff:g> սարք"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"Զանգն ընդունել հետևյալ սարքում՝"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Այս APN-ի կարգավորումները հնարավոր չէ փոխել:"</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Երկարացրեք պլանշետի մարտկոցի աշխատաժամանակը"</string>
@@ -4552,10 +4667,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Միաժամանակ ակտիվ կարող է լինել միայն մեկ ներբեռնված SIM։\n\n<xliff:g id="CARRIER1">%1$s</xliff:g>-ին անցնելու դեպքում <xliff:g id="CARRIER2">%2$s</xliff:g>-ի ծառայությունը չի չեղարկվի։"</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Անցնել <xliff:g id="CARRIER">%1$s</xliff:g>-ին"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Ջնջել SIM քարտի տվյալները"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Ջնջե՞լ այս ներբեռնված SIM-ը"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Այս SIM-ը ջնջելու դեպքում <xliff:g id="CARRIER_0">%1$s</xliff:g>-ի ծառայությունը կհեռացվի սարքից։\n\n<xliff:g id="CARRIER_1">%2$s</xliff:g>-ի ծառայությունը չի չեղարկվի։"</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Ջնջել"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"SIM քարտի տվյալները ջնջվում են…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"SIM քարտի տվյալները հնարավոր չէ ջնջել"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Սխալի պատճառով չհաջողվեց ջնջել SIM քարտի տվյալները։\n\nՎերագործարկեք սարքը և նորից փորձեք։"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Ցանցի նախընտրելի տեսակը"</string>
@@ -4580,7 +4691,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Ցանցի անվավեր ռեժիմ՝ <xliff:g id="NETWORKMODEID">%1$d</xliff:g>։ Փակել։"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Մուտքի կետերի անունները"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Հասանելի չէ <xliff:g id="CARRIER">%1$s</xliff:g>-ին միանալու դեպքում"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"Բժշկական տվյալներ, արտակարգ իրավիճակների կոնտակտներ"</string>
     <string name="see_more" msgid="7499355691042812723">"Տեսնել ավելին"</string>
     <string name="see_less" msgid="2642392725363552793">"Տեսնել ավելի քիչ"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"Սարք <xliff:g id="APPNAME">%1$s</xliff:g> հավելվածի հետ օգտագործելու համար"</string>
@@ -4589,11 +4699,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"Սխալ առաջացավ: Հավելվածը չեղարկել է սարք ընտրելու հայտը:"</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"Կապը հաստատվեց"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"Ցույց տալ բոլորը"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> միացված սարք</item>
-      <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> միացված սարք</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"Bluetooth սարքեր չկան"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"Սարքի որոնում…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"Միացում սարքին…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"Ձախ"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"Աջ"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Պատյան"</string>
@@ -4603,6 +4710,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"Անհասանելի է ավիառեժիմում"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"Աշխատասեղանի ռեժիմի հարկադրված միացում"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Աշխատասեղանի փորձնական ռեժիմի հարկադրված միացում լրացուցիչ էկրանների վրա"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"Թույլատրել կամայական ձևի պատուհանների բացումը"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"Թույլ է տալիս հավելվածներին բացել կամայական ձևի պատուհաններ"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Չեղարկել մուգ ռեժիմի պարտադիր միացումը"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"Չեղարկում է մուգ ռեժիմի պարտադիր միացման գործառույթը"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"Գաղտնիություն"</string>
@@ -4639,6 +4748,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Դուք վերջերս տեղադրել եք այս հավելվածը։"</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Աուդիոելքի սարքի փոխարկում"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Նվագարկվում է <xliff:g id="DEVICE_NAME">%1$s</xliff:g> սարքում"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (անջատված է)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Սխալ առաջացավ։ Հպեք՝ կրկնելու համար։"</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Կարևոր տեղեկություն"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"ՇԱՐՈՒՆԱԿԵԼ"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"ՈՉ, ՇՆՈՐՀԱԿԱԼՈՒԹՅՈՒՆ"</string>
@@ -4666,8 +4777,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"SIM քարտերի համադրություն"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Տեղեկություններ աշխատանքի կանոնների մասին"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"ՏՏ ադմինիստրատորի կողմից կառավարվող կարգավորումներ"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"Վրիպակների մասին զեկույցի մշակիչ"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Որոշում է, թե որ հավելվածն է ստեղծում Վրիպակների մասին զեկույցի դյուրանցում ձեր սարքում:"</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Անձնական"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"Աշխատանք"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"Կանխադրված"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"Այս ընտրությունն այլևս վավեր չէ: Նորից փորձեք:"</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"Դադարեցնել հեռարձակումը"</string>
 </resources>
diff --git a/res/values-in/arrays.xml b/res/values-in/arrays.xml
index 5cad411..1f495eb 100644
--- a/res/values-in/arrays.xml
+++ b/res/values-in/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"Segera"</item>
     <item msgid="463591454172790676">"5 detik"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"Jangan validasi"</item>
+    <item msgid="5703177653586269306">"Minta status sertifikat"</item>
+    <item msgid="326388247868439528">"Wajibkan status sertifikat"</item>
+    <item msgid="1090956283885790552">"Wajibkan semua status sertifikat yang tidak dipercaya"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"Tekan tombol"</item>
     <item msgid="2630618799033509548">"PIN dari perangkat rekan"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"Tidak ada"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"IPSec VPN dengan kunci pra-bagi dan autentikasi Xauth"</item>
     <item msgid="2484564813864139237">"IPSec VPN dengan sertifikat dan autentikasi Xauth"</item>
     <item msgid="68918911194507915">"IPSec VPN dengan sertifikat dan autentikasi hibrida"</item>
+    <item msgid="4631647675167100375">"VPN IKEv2/IPSec dengan sertifikat dan autentikasi nama pengguna/sandi"</item>
+    <item msgid="8812228622975052811">"VPN IKEv2/IPSec dengan kunci pra-bagi"</item>
+    <item msgid="6630554779981113046">"VPN IKEv2/IPSec dengan sertifikat"</item>
   </string-array>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"Tidak ada"</item>
diff --git a/res/values-in/config.xml b/res/values-in/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-in/config.xml
+++ b/res/values-in/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index 64aec16..3e7e488 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -31,49 +31,17 @@
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Aktifkan opsi developer terlebih dahulu."</string>
     <string name="header_category_wireless_networks" msgid="303445626075235229">"Jaringan &amp; nirkabel"</string>
     <string name="header_category_system" msgid="1665516346845259058">"Sistem"</string>
-    <string name="radio_info_data_connection_enable" msgid="7500945447906187613">"Aktifkan Sambungan Data"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"Nonaktifkan Sambungan Data"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"VoLTE Disediakan"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"Video Call Disediakan"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"Panggilan Wi-Fi Disediakan"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"EAB/Presence Disediakan"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"Data Cbrs"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"Aktifkan DSDS"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"Mulai Ulang Perangkat?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"Anda perlu memulai ulang perangkat untuk mengubah setelan."</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"Mulai Ulang"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"Batal"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"Daya Radio Seluler"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"Lihat Buku Alamat SIM"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"Lihat Nomor Panggilan Tetap"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"Lihat Nomor Panggilan Layanan"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"Status Layanan IMS"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"Status IMS"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"Terdaftar"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"Tidak Terdaftar"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"Tersedia"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"Tidak tersedia"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"Pendaftaran IMS: <xliff:g id="STATUS">%1$s</xliff:g>\nSuara melalui LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nSuara melalui Wi-Fi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideo Call: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nAntarmuka UT: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"Dalam Layanan"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Di Luar Area Layanan"</string>
     <string name="radioInfo_service_emergency" msgid="6838935881091760942">"Panggilan Darurat Saja"</string>
     <string name="radioInfo_service_off" msgid="6184928420860868571">"Radio Nonaktif"</string>
     <string name="radioInfo_roaming_in" msgid="8892550453644088692">"Roaming"</string>
     <string name="radioInfo_roaming_not" msgid="3137594549464975054">"Tidak Roaming"</string>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"Nganggur"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"Berdering"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"Panggilan sedang Berlangsung"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"Sambungan terputus"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"Menyambung"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"Terhubung"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Ditangguhkan"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Tidak diketahui"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"pkts"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"bita"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"Lepas penyimpanan USB"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"Lepaskan kartu SD"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"Hapus penyimpanan USB"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"Buat teks di layar jadi lebih kecil atau lebih besar."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Buat lebih kecil"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Buat lebih besar"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"Teks contoh"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"Penyihir Oz yang Menakjubkan"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"Bab 11: Oz, Kota Zamrud yang Menakjubkan"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"Anda perlu memulai ulang perangkat untuk mengubah setelan."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"Mulai Ulang"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"Batal"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"Perangkat media yang tersedia"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"Perangkat panggilan yang tersedia"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"Tersambung saat ini"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"Perangkat Media"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"Perangkat panggilan telepon"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"Perangkat lain"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Perangkat yang tersimpan"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth akan diaktifkan untuk menyambungkan"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Preferensi sambungan"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"Port yang Anda ketik tidak valid."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"Proxy HTTP digunakan oleh browser, namun tidak boleh digunakan oleh aplikasi lain."</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"URL PAC: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"SubId saat ini:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"SubId SIM data default:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"Bandwidth DL (kbps):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"Bandwidth UL (kbps):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"Info Lokasi Sel (tidak digunakan lagi):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"Konfigurasi Saluran Fisik LTE:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"Rasio Penyegaran Info Sel"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"Semua Info Pengukuran Sel:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"Layanan Data:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"Roaming:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"Pengalihan Panggilan:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"Nomor Setel Ulang PPP Sejak Boot:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"Jaringan Saat Ini:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"Data Diterima:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"Layanan Suara:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"Kekuatan Sinyal:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"Status Panggilan Suara:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"Data Terkirim:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"Pesan Menunggu:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"Nomor Telepon:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"Pilih Gelombang Radio"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"Jenis Jaringan Suara:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"Jenis Jaringan Data:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"Pilih indeks ponsel"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"Setel Jenis Jaringan yang Disukai:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"Ping Hostname(www.google.com) IPv4:"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"Ping Hostname(www.google.com) IPv6:"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"Uji Klien HTTP:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"Jalankan Uji Ping"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"Perbarui"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"Segarkan"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"Aktifkan Pemeriksaan DNS"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"Setelan/Info spesifik OEM"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"Setel Mode Gelombang Radio"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"Memuat Daftar Gelombang..."</string>
-    <string name="band_mode_set" msgid="494968379352406359">"Setel"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"Gagal"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"Berhasil"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"Perubahan diberlakukan ketika kabel USB tersambung kembali."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"Aktifkan penyimpanan massal USB"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"Total bita:"</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"Pindahkan ke bawah"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"Hapus bahasa"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"Pilih kegiatan"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"Info perangkat"</string>
     <string name="display_label" msgid="3056320781191343221">"Layar"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"Info tablet"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"Info telepon"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"Penyimpanan USB"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"Kartu SD"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"Setelan proxy"</string>
@@ -306,9 +234,6 @@
     <string name="airplane_mode" msgid="3196085857882526817">"Mode pesawat"</string>
     <string name="wireless_networks_settings_title" msgid="8557542379234105369">"Jaringan &amp; nirkabel"</string>
     <string name="radio_controls_summary" msgid="9028430178697624501">"Kelola Wi-Fi, Bluetooth, mode pesawat, jaringan seluler, &amp; VPN"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"Kuota seluler"</string>
-    <string name="calls_title" msgid="6334813967619899114">"Izinkan panggilan telepon"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"Pesan SMS"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"Izinkan penggunaan data via jaringan seluler"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"Gunakan data saat roaming"</string>
     <string name="roaming" msgid="3055365654530847985">"Roaming"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"Sambungkan ke layanan data ketika roaming"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"Anda telah kehilangan konektivitas data karena Anda meninggalkan jaringan asal dalam keadaan roaming data dimatikan."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"Hidupkan"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"Anda dapat dikenai biaya yang cukup besar."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"Jika Anda mengizinkan roaming data, Anda mungkin dikenai tagihan roaming!\n\nSetelan ini memengaruhi semua pengguna di tablet ini."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"Jika Anda mengizinkan roaming data, Anda mungkin dikenai tagihan roaming!\n\nSetelan ini memengaruhi semua pengguna di ponsel ini."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"Biaya roaming dapat berlaku."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"Jjika roaming data diizinkan, biaya roaming dapat berlaku.\n\nSetelan ini memengaruhi semua pengguna di tablet ini."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"Jjika roaming data diizinkan, biaya roaming dapat berlaku.\n\nSetelan ini memengaruhi semua pengguna di ponsel ini."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"Izinkan roaming data?"</string>
     <string name="networks" msgid="5184501333492775095">"Pilihan operator"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"Pilih operator jaringan"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"Dinonaktifkan oleh admin"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"Tampilkan opsi kunci total"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"Tampilkan opsi tombol power yang menonaktifkan Smart Lock, buka kunci biometrik, dan notifikasi di layar kunci"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"Perangkat dipercaya memperpanjang buka kunci"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"Jika diaktifkan, perangkat dipercaya akan membuat perangkat tetap tidak terkunci untuk waktu yang lebih lama, namun tidak dapat lagi membuka perangkat yang terkunci."</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"Kunci layar saat kepercayaan hilang"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"Jika diaktifkan, perangkat akan terkunci saat perangkat dipercaya terakhir kehilangan kepercayaan"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"Tidak ada"</string>
@@ -390,7 +313,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"Setel Lokasiku, pembuka kunci layar, kunci kartu SIM, kunci penyimpanan kredensial"</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"Setel Lokasiku, pembuka kunci layar, kunci penyimpanan kredensial"</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"Privasi"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"Dinonaktifkan oleh admin"</string>
+    <string name="disabled_by_administrator_summary" msgid="5424846182313851124">"Tidak tersedia"</string>
     <string name="security_status_title" msgid="6958004275337618656">"Status keamanan"</string>
     <string name="security_dashboard_summary_face" msgid="4198949293847206382">"Kunci layar, face unlock"</string>
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Kunci layar, sidik jari"</string>
@@ -693,7 +616,6 @@
       <item quantity="other">Harus kurang dari <xliff:g id="NUMBER_1">%d</xliff:g> digit</item>
       <item quantity="one">Harus kurang dari <xliff:g id="NUMBER_0">%d</xliff:g> digit</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"Hanya boleh berisi angka 0-9"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"Admin perangkat tidak mengizinkan penggunaan PIN terbaru."</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"PIN umum diblokir oleh admin IT. Coba PIN lain."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"Tidak boleh berisi karakter yang tidak valid"</string>
@@ -724,6 +646,10 @@
       <item quantity="other">Minimal berisi <xliff:g id="COUNT">%d</xliff:g> karakter bukan huruf</item>
       <item quantity="one">Minimal berisi 1 karakter bukan huruf</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="other">Harus mengandung minimal <xliff:g id="COUNT">%d</xliff:g> karakter bukan numerik</item>
+      <item quantity="one">Minimal harus berisi 1 karakter bukan numerik</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"Admin perangkat tidak mengizinkan penggunaan sandi terbaru."</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"Sandi umum diblokir oleh admin IT. Coba sandi lain."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"Urutan digit naik, turun, atau berulang tidak diizinkan"</string>
@@ -837,19 +763,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2,4 GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"Login"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"Buka situs"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"<xliff:g id="REMAINING_TIME">%1$s</xliff:g> lagi"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"Berakhir pada <xliff:g id="EXPIRY_TIME">%1$s</xliff:g>"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"Ketuk di sini untuk login ke jaringan"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"<xliff:g id="REQUESTER">%s</xliff:g> ingin mengaktifkan Wi-Fi"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"<xliff:g id="REQUESTER">%s</xliff:g> ingin menonaktifkan Wi-Fi"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"Verifikasi bytecode aplikasi yang dapat di-debug"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Izinkan ART memverifikasi bytecode untuk aplikasi yang dapat di-debug"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"Tampilkan rasio refresh"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Tampilkan rasio refresh tampilan saat ini"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"Memungkinkan pertukaran data saat tablet bersentuhan dengan perangkat lain"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"Mungkinkan pertukaran data saat ponsel bersentuhan dengan perangkat lain"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"Mengizinkan pertukaran data saat tablet menyentuh perangkat NFC"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"Mengizinkan pertukaran data saat ponsel menyentuh perangkat NFC"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"Aktifkan NFC"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"NFC mempertukarkan data antara perangkat ini dan perangkat atau target lain di sekitar, seperti terminal pembayaran, pembaca akses, dan iklan atau tag interaktif."</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"Amankan NFC"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Kunci perangkat perlu dibuka untuk NFC"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"Izinkan penggunaan Pembayaran NFC dan Transit hanya jika layar terbuka kuncinya"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"Siap mentransmisikan konten apl melalui NFC"</string>
@@ -923,8 +855,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Aktifkan"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Pemindaian Wi-Fi diaktifkan"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Opsi lanjutan"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"Opsi Lanjutan daftar tarik-turun. Ketuk dua kali untuk menciutkan."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"Opsi Lanjutan daftar tarik-turun. Ketuk dua kali untuk meluaskan."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Menu drop-down Opsi Lanjutan"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"luaskan"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"Nama jaringan"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"Masukkan SSID"</string>
     <string name="wifi_security" msgid="9095934643631406913">"Keamanan"</string>
@@ -934,6 +866,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"Status"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"Kecepatan pengiriman link"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"Kecepatan penerimaan link"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"Kecepatan link"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"Frekuensi"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"Alamat IP"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"Disimpan melalui"</string>
@@ -941,6 +874,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"Metode EAP"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"Autentikasi tahap 2"</string>
     <string name="wifi_eap_ca_cert" msgid="8033404008276298886">"Sertifikat CA"</string>
+    <string name="wifi_eap_ocsp" msgid="8713933962516871238">"Status Sertifikat Online"</string>
     <string name="wifi_eap_domain" msgid="8304301470752333203">"Domain"</string>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"Sertifikat pengguna"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"Identitas"</string>
@@ -957,6 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"Pilih minimal satu pita frekuensi untuk hotspot Wi‑Fi:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"Setelan IP"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"Privasi"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"Langganan"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"Melihat atau mengubah langganan"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"Randomized MAC"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"Tambahkan perangkat"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"Posisikan kode QR di tengah jendela kamera untuk menambahkan perangkat ke “<xliff:g id="SSID">%1$s</xliff:g>”"</string>
@@ -966,12 +902,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"Bagikan Wi‑Fi"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"Pindai kode QR ini untuk terhubung ke “<xliff:g id="SSID">%1$s</xliff:g>” dan membagikan sandi"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"Pindai kode QR ini untuk terhubung ke “<xliff:g id="SSID">%1$s</xliff:g>”"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"Tidak dapat membaca kode QR. Tempatkan lagi kode di tengah dan coba lagi"</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"Coba lagi. Jika masalah berlanjut, hubungi produsen perangkat"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"Ada masalah"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"Pastikan perangkat telah dicolokkan, diisi dayanya, dan diaktifkan"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"Pastikan perangkat telah dicolokkan, diisi dayanya, dan diaktifkan. Jika masalah berlanjut, hubungi produsen perangkat"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"Penambahan “<xliff:g id="SSID">%1$s</xliff:g>” tidak didukung oleh perangkat ini"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"Coba pindahkan perangkat lebih dekat ke titik akses/router Wi-Fi"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"Periksa sandi dan coba lagi"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"Hubungi produsen perangkat"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"Periksa koneksi dan coba lagi"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"Pilih jaringan"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"Untuk menyambungkan perangkat Anda, pilih jaringan"</string>
@@ -984,11 +922,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"Membagikan Wi‑Fi kepada perangkat ini…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"Menyambungkan…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"Bagikan hotspot"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"Verifikasi bahwa ini memang Anda"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"Verifikasi bahwa ini adalah Anda"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"Sandi Wi‑Fi: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"Sandi hotspot: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"Sambung-otomatis"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"Izinkan ponsel untuk terhubung otomatis di dekat jaringan ini"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"Izinkan tablet untuk terhubung otomatis di dekat jaringan ini"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"Tambahkan perangkat"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"Gunakan kode QR untuk menambahkan perangkat ke jaringan ini"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"Format kode QR tidak valid"</string>
     <string name="retry" msgid="7542103800274026915">"Coba lagi"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"Berbagi dengan pengguna perangkat lain"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(tidak diubah)"</string>
@@ -1000,6 +942,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"Sertifikat tidak ditentukan. Sambungan tidak bersifat pribadi."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"Nama jaringan terlalu panjang."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"Harus menentukan domain."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"Perlu sertifikat."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"WPS tersedia"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (WPS tersedia)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"Jaringan Wi‑Fi operator"</string>
@@ -1051,7 +994,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"Wi-Fi Lanjutan"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"Alamat MAC"</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_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>
@@ -1103,7 +1047,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"Gunakan hotspot untuk membuat jaringan Wi‑Fi bagi perangkat Anda yang lain. Hotspot menyediakan sambungan internet menggunakan koneksi data seluler Anda. Biaya data seluler tambahan mungkin berlaku."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"Aplikasi dapat membuat hotspot untuk berbagi konten dengan perangkat di sekitar."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Nonaktifkan hotspot secara otomatis"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"Hotspot Wi-Fi akan dinonaktifkan jika tidak ada perangkat yang terhubung"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Saat tidak ada perangkat tersambung"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"Menyalakan hotspot..."</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"Mematikan hotspot..."</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> aktif"</string>
@@ -1112,6 +1056,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"Penyiapan hotspot Wi‑Fi"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"Hotspot AndroidAP WPA2 PSK"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"AndroidHotspot"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"Simpan jaringan ini?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"<xliff:g id="APPNAME">%1$s</xliff:g> ingin menyimpan jaringan ke ponsel"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"<xliff:g id="APPNAME">%1$s</xliff:g> ingin menyimpan jaringan ke tablet Anda"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"Menyimpan…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"Disimpan"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"Tidak dapat menyimpan. Coba lagi."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"Simpan jaringan?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"<xliff:g id="APPNAME">%1$s</xliff:g> ingin menyimpan jaringan ini ke ponsel"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"<xliff:g id="APPNAME">%1$s</xliff:g> ingin menyimpan jaringan ini ke tablet Anda"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"Menyimpan <xliff:g id="NUMBER">%d</xliff:g> jaringan…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"Jaringan disimpan"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"Panggilan Wi-Fi"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"Perluas panggilan dengan Wi-Fi"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"Aktifkan panggilan Wi-Fi untuk memperluas jangkauan"</string>
@@ -1138,16 +1093,18 @@
     <string name="emergency_address_title" msgid="3490633500025717573">"Alamat Darurat"</string>
     <string name="emergency_address_summary" msgid="3022628750270626473">"Digunakan sebagai lokasi Anda ketika Anda melakukan panggilan darurat melalui Wi‑Fi"</string>
     <string name="private_dns_help_message" msgid="851221502063782306"><annotation id="url">"Pelajari lebih lanjut"</annotation>" fitur DNS Pribadi"</string>
+    <string name="private_dns_mode_on" msgid="8878679071975375696">"Aktif"</string>
     <string name="wifi_calling_pref_managed_by_carrier" msgid="129524064888622179">"Setelan dikelola oleh operator"</string>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"Aktifkan Panggilan Wi-Fi"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"Aktifkan panggilan Wi-Fi"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"Panggilan Wi-Fi tidak didukung untuk %1$s"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"Terputus dari <xliff:g id="SSID">%1$s</xliff:g>"</string>
     <string name="carrier" msgid="1755020806290963951">"Operator"</string>
     <string name="display_settings_title" msgid="626835071804834218">"Tampilan"</string>
     <string name="sound_settings" msgid="5514582720435174014">"Suara"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"Volume"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"Efek musik"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"Volume dering"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"Volume dering &amp; notifikasi"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"Getar saat senyap"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"Suara notifikasi default"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"Nada dering"</string>
@@ -1272,13 +1229,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"Jadwalkan"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"Tidak ada"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"Aktifkan dari malam hingga pagi"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"Aktif pada waktu khusus"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"Status"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"Nonaktif / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"Tidak akan aktif otomatis"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"Akan aktif otomatis saat malam"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"Akan aktif otomatis pada <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"Aktif / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"Tidak akan nonaktif otomatis"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"Akan nonaktif otomatis saat pagi"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"Akan nonaktif otomatis pukul <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"Aktifkan hingga <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"Nonaktifkan hingga <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"Tema gelap menggunakan latar belakang hitam agar daya baterai dapat bertahan lebih lama di beberapa layar. Jadwal tema gelap menunggu diaktifkan hingga layar nonaktif."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"Waktu tunggu layar"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"Layar mati"</string>
@@ -1290,7 +1252,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"Ubah wallpaper"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"Personalisasi layar Anda"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"Pilih wallpaper dari"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"Sesuaikan Pixel Anda"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"Sesuaikan ponsel Anda"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"Coba wallpaper dan gaya yang berbeda, serta banyak lagi"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"Screen saver"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Saat mengisi baterai atau dipasang ke dok"</string>
@@ -1379,6 +1341,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"Melepas penyimpanan USB, melihat penyimpanan yang tersedia"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"Lepaskan kartu SD, lihat penyimpanan yang tersedia"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (slot sim %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"Untuk melihat, pilih jaringan yang tersimpan"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"Nomor telepon"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (slot sim %1$d)"</string>
@@ -1405,6 +1368,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"Roaming"</string>
     <string name="status_operator" msgid="4335640583552058491">"Jaringan"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"Alamat MAC Wi-Fi"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"Alamat MAC Wi-Fi perangkat"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"Alamat bluetooth"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Nomor seri"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Waktu aktif"</string>
@@ -1617,6 +1581,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Penyetelan ulang setelan APN default selesai."</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"Opsi setel ulang"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"Jaringan, aplikasi, atau perangkat dapat disetel ulang"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"Aplikasi dapat disetel ulang"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"Setel ulang Wi-Fi, kuota seluler &amp; Bluetooth"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"Tindakan ini akan menyetel ulang semua setelan jaringan, termasuk:\n\n"<li>"Wi‑Fi"</li>\n<li>"Kuota seluler"</li>\n<li>"Bluetooth"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"Hapus SIM hasil download"</string>
@@ -1666,6 +1631,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"Hotspot aktif"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"Tethering"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"Tidak dapat tethering atau menggunakan hotspot portabel saat Penghemat Kuota Internet aktif"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"Hanya hotspot"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"Hanya USB"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"Hanya Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"Hotspot, USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"Hotspot, Bluetooth"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB, Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"Hotspot, USB, Bluetooth"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"Tidak membagikan internet ke perangkat lain"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"Tethering"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Jangan gunakan hotspot Wi-Fi"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Bagikan internet hanya melalui USB"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Bagikan internet hanya melalui Bluetooth"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Bagikan internet hanya melalui USB dan Bluetooth"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"Tethering USB"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"Bagikan sambungan internet ponsel melalui USB"</string>
@@ -1756,9 +1734,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"Informasi keselamatan"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"Anda tidak memiliki koneksi data. Untuk menampilkan informasi ini sekarang, buka %s dari komputer mana pun yang terhubung ke internet."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"Memuat…"</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"Gunakan PIN"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"Gunakan pola"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"Gunakan sandi"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"Setel kunci layar"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"Untuk keamanan, setel sandi"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"Setel sandi untuk pakai sidik jari"</string>
@@ -1767,8 +1742,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"Setel PIN untuk pakai sidik jari"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"Untuk keamanan, setel pola"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"Masukkan ulang sandi"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"Masukkan sandi profil kerja"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"Konfirmasi pola Anda"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"Masukkan pola profil kerja"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"Masukkan ulang PIN"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"Masukkan PIN profil kerja"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"Sandi tidak cocok"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"PIN tidak cocok"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"Gambar pola Anda lagi"</string>
@@ -1779,6 +1757,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"Untuk memakai face unlock, setel sandi"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"Untuk memakai face unlock, setel pola"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"Untuk menyiapkan unlock, setel PIN"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"Lupa sandi?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"Lupa pola?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"Lupa PIN?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"Gunakan pola perangkat untuk melanjutkan"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"Masukkan PIN perangkat untuk melanjutkan"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"Masukkan sandi perangkat untuk melanjutkan"</string>
@@ -1846,6 +1827,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"Izinkan semua sumber aplikasi"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"Aplikasi yang baru dibuka"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"Lihat semua dari <xliff:g id="COUNT">%1$d</xliff:g> aplikasi"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"Hubungi admin IT"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"Mereka dapat membantu Anda menyetel ulang PIN, pola, atau sandi"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"Tablet dan data pribadi lebih rentan terhadap serangan oleh aplikasi yang tidak dikenal. Dengan menginstal aplikasi dari sumber ini, Anda setuju bahwa Anda bertanggung jawab atas kerusakan tablet atau kehilangan data yang mungkin terjadi akibat penggunaannya."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"Ponsel dan data pribadi lebih rentan terhadap serangan oleh aplikasi yang tidak dikenal. Dengan menginstal aplikasi dari sumber ini, Anda setuju bahwa Anda bertanggung jawab atas kerusakan ponsel atau kehilangan data yang mungkin terjadi akibat penggunaannya."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"Perangkat dan data pribadi lebih rentan terhadap serangan oleh aplikasi yang tidak dikenal. Dengan menginstal aplikasi dari sumber ini, Anda setuju bahwa Anda bertanggung jawab atas kerusakan perangkat atau kehilangan data yang mungkin terjadi akibat penggunaannya."</string>
@@ -1897,7 +1880,7 @@
     <string name="default_emergency_app" msgid="1929974800666613803">"Aplikasi darurat"</string>
     <string name="reset_app_preferences" msgid="8861758340732716573">"Setel ulang preferensi aplikasi"</string>
     <string name="reset_app_preferences_title" msgid="8935136792316050759">"Setel ulang pref aplikasi?"</string>
-    <string name="reset_app_preferences_desc" msgid="1377296810290814749">"Tindakan ini akan menyetel ulang semua preferensi untuk:\n\n"<li>"Aplikasi yang dinonaktifkan"</li>\n<li>"Notifikasi aplikasi yang dinonaktifkan"</li>\n<li>"Aplikasi default untuk tindakan"</li>\n<li>"Batasan data latar belakang untuk aplikasi"</li>\n<li>"Batasan izin apa pun"</li>\n\n"Data aplikasi tidak akan hilang."</string>
+    <string name="reset_app_preferences_desc" msgid="6509978724602405805">"Tindakan ini akan menyetel ulang semua preferensi untuk:\n\n"<li>"Aplikasi yang dinonaktifkan"</li>\n<li>"Notifikasi aplikasi yang dinonaktifkan"</li>\n<li>"Aplikasi default untuk tindakan"</li>\n<li>"Batasan data latar belakang untuk aplikasi"</li>\n<li>"Batasan izin apa pun"</li>\n\n"Data aplikasi Anda tidak akan hilang."</string>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"Setel ulang aplikasi"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"Kelola ruang"</string>
     <string name="filter" msgid="9039576690686251462">"Filter"</string>
@@ -2097,7 +2080,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"Audio &amp; teks di layar"</string>
     <string name="display_category_title" msgid="6638191682294461408">"Tampilan"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"Kontrol interaksi"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"Layanan yang didownload"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"Aplikasi yang didownload"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"Eksperimental"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"Tanda fitur"</string>
     <string name="talkback_title" msgid="8756080454514251327">"TalkBack"</string>
@@ -2105,27 +2088,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"Ketuk item di layar untuk mendengar item tersebut dibacakan"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"Preferensi teks"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"Pembesaran"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"Area pembesaran"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"Aktifkan pembesaran"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"Pilih area pembesaran yang ingin digunakan saat memperbesar layar"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"Layar penuh"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"Sebagian layar"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"Layar penuh &amp; sebagian layar"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"Perbesar seluruh layar"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"Perbesar sebagian layar"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Setelan pembesaran"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"Perbesar dengan ketuk 3 kali"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Perbesar dengan pintasan"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Perbesar dengan pintasan &amp; ketuk tiga kali"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"Tentang <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"Opsi"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"Zoom in di layar"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"Ketuk 3 kali untuk memperbesar"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Ketuk tombol untuk zoom"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><b>"Untuk melakukan zoom"</b>", ketuk layar 3 kali dengan cepat.\n"<ul><li>"Tarik menggunakan 2 jari atau lebih untuk men-scroll"</li>\n<li>"Cubit menggunakan 2 jari atau lebih untuk menyesuaikan zoom"</li></ul>\n\n<b>"Untuk melakukan zoom sementara"</b>", ketuk layar 3 kali dengan cepat dan tahan jari pada ketukan ketiga.\n"<ul><li>"Tarik untuk memindahkan zoom ke bagian layar yang lain"</li>\n<li>"Angkat jari untuk memperkecil"</li></ul>\n\n"Anda tidak dapat memperbesar keyboard dan menu navigasi."</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"Jika pembesaran diaktifkan, Anda dapat memperbesar tampilan layar.\n\n"<b>"Untuk memperbesar tampilan"</b>", mulai pembesaran, lalu ketuk di bagian mana saja pada layar.\n"<ul><li>"• Tarik 2 jari atau lebih untuk melakukan scroll"</li>\n<li>"• Cubit dengan 2 jari atau lebih untuk menyesuaikan pembesaran"</li></ul>\n\n<b>"Untuk memperbesar tampilan sementara"</b>", mulai pembesaran, lalu sentuh lama di bagian mana saja pada layar.\n"<ul><li>"• Tarik untuk menggeser layar"</li>\n<li>"• Angkat jari untuk memperkecil layar"</li></ul>\n\n"Anda tidak dapat memperbesar keyboard atau menu navigasi."</string>
+    <string name="accessibility_screen_magnification_summary" msgid="7617931632990040045">"Memperbesar di layar dengan cepat untuk melihat konten dengan lebih jelas.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Untuk memperbesar:&lt;/b&gt;&lt;br/&gt;	1. Gunakan pintasan untuk memulai pembesaran&lt;br/&gt;	2. Ketuk layar&lt;br/&gt;	3. Tarik 2 jari untuk memindahkan item di layar&lt;br/&gt;	4. Cubit dengan 2 jari untuk menyesuaikan zoom&lt;br/&gt;	5. Gunakan pintasan untuk menghentikan pembesaran&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Guna memperbesar untuk sementara:&lt;/b&gt;&lt;br/&gt;	1. Gunakan pintasan untuk memulai pembesaran&lt;br/&gt;	2. Sentuh lama di bagian mana saja pada layar&lt;br/&gt;	3. Tarik jari untuk memindahkan item di layar&lt;br/&gt;	4. Angkat jari untuk menghentikan pembesaran"</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Jika pembesaran diaktifkan, Anda dapat memperbesar tampilan layar.\n\n"<b>"Untuk memperbesar tampilan"</b>", mulai pembesaran, lalu ketuk di bagian mana saja pada layar.\n"<ul><li>"Tarik 2 jari atau lebih untuk melakukan scroll"</li>\n<li>"Cubit dengan 2 jari atau lebih untuk menyesuaikan pembesaran"</li></ul>\n\n<b>"Untuk memperbesar tampilan sementara"</b>", mulai pembesaran, lalu sentuh lama di bagian mana saja pada layar.\n"<ul><li>"• Tarik untuk menggeser layar"</li>\n<li>"• Angkat jari untuk memperkecil tampilan"</li></ul>\n\n"Anda tidak dapat memperbesar keyboard atau menu navigasi."</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Menggunakan tombol aksesibilitas untuk membuka"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Menggunakan gestur untuk membuka"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"Menggunakan gestur aksesibilitas baru"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"Untuk mengaktifkan atau menonaktifkan layanan ini, ketuk tombol aksesibilitas<xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>di bagian bawah layar.\n\nUntuk beralih ke layanan lain, sentuh lama tombol aksesibilitas."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"Untuk mengaktifkan atau menonaktifkan layanan ini, geser dengan dua jari dari bagian bawah layar ke atas.\n\nUntuk beralih ke layanan lain, geser ke atas dengan dua jari dan tahan."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"Untuk mengaktifkan atau menonaktifkan layanan ini, geser dengan tiga jari dari bagian bawah layar ke atas.\n\nUntuk beralih ke layanan lain, geser ke atas dengan tiga jari dan tahan."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"Untuk mengaktifkan atau menonaktifkan layanan aksesibilitas, geser dengan dua jari dari bagian bawah layar ke atas.\n\nUntuk beralih ke layanan lain, geser ke atas dengan dua jari dan tahan."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"Untuk mengaktifkan atau menonaktifkan layanan aksesibilitas, geser dengan tiga jari dari bagian bawah layar ke atas.\n\nUntuk beralih ke layanan lain, geser ke atas dengan tiga jari dan tahan."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"Untuk mengaktifkan atau menonaktifkan layanan ini, ketuk tombol aksesibilitas <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> di bagian bawah layar.\n\nUntuk beralih ke layanan lain, sentuh lama tombol aksesibilitas."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"Untuk mengaktifkan atau menonaktifkan layanan ini, geser dengan dua jari dari bagian bawah layar ke atas.\n\nUntuk beralih ke layanan lain, geser ke atas dengan dua jari dan tahan."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"Untuk mengaktifkan atau menonaktifkan layanan ini, geser dengan tiga jari dari bagian bawah layar ke atas.\n\nUntuk beralih ke layanan lain, geser ke atas dengan tiga jari dan tahan."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"Untuk mengaktifkan atau menonaktifkan layanan aksesibilitas, geser dengan dua jari dari bagian bawah layar ke atas.\n\nUntuk beralih ke layanan lain, geser ke atas dengan dua jari dan tahan."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"Untuk mengaktifkan atau menonaktifkan layanan aksesibilitas, geser dengan tiga jari dari bagian bawah layar ke atas.\n\nUntuk beralih ke layanan lain, geser ke atas dengan tiga jari dan tahan."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"Oke"</string>
+    <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Pintasan <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_edit_summary_software" msgid="2820923641553461297">"Tombol Aksesibilitas"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture" msgid="8078659880723370597">"Geser layar ke atas dengan 2 jari"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture_talkback" msgid="7422753388389160524">"Geser layar ke atas dengan 3 jari"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software" msgid="4796192466943479849">"Ketuk tombol aksesibilitas"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8922102767509399352">"Ketuk tombol aksesibilitas <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> di bawah layar Anda"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"Geser ke atas dari bawah layar dengan 2 jari"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"Geser ke atas dari bawah layar dengan 3 jari"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Tahan tombol volume"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"Tekan &amp; tahan kedua tombol volume selama 1 detik"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Ketuk layar tiga kali"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"Ketuk cepat layar 3 kali. Pintasan ini mungkin memperlambat perangkat Anda."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"Lanjutan"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"Tombol Aksesibilitas disetel ke <xliff:g id="SERVICE">%1$s</xliff:g>. Untuk menggunakan fitur pembesaran, sentuh lama tombol Aksesibilitas, kemudian pilih pembesaran."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"Gestur aksesibilitas disetel ke <xliff:g id="SERVICE">%1$s</xliff:g>. Untuk menggunakan pembesaran, geser ke atas dengan dua jari dari bagian bawah layar dan tahan. Lalu, pilih pembesaran."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"Pintasan tombol volume"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"Layanan pintasan"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Setelan pintasan"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"Izinkan dari layar kunci"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"Jika pintasan aktif, Anda dapat menekan kedua tombol volume selama 3 detik untuk memulai fitur aksesibilitas."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"Teks kontras tinggi"</string>
@@ -2149,24 +2157,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"Pilih durasi tampilan pesan yang perlu ditindak, namun hanya terlihat sementara.\n\nTidak semua aplikasi mendukung setelan ini."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"Jeda sentuh lama"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"Inversi warna"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"Mungkin memengaruhi performa"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"Klik otomatis setelah diam"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"Gunakan inversi warna"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"Inversi warna mengubah layar terang menjadi gelap. Ini membantu agar orang yang sensitif terhadap cahaya terang dapat melihat layar dengan lebih mudah.&lt;br/&gt;&lt;br/&gt;Catatan: Warna gelap akan menjadi terang. Warna akan berubah pada media dan gambar. Anda juga dapat menggunakan Tema gelap (Setelan &gt; Tampilan)."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"Klik otomatis (lama singgah)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"Jika menggunakan mouse, Anda dapat menyetel kursor untuk mengambil tindakan secara otomatis saat kursor berhenti bergerak selama waktu tertentu."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"Keterlambatan sebelum klik"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"Hindari klik otomatis (default)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"Singkat"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0,2 detik"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"Sedang"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0,6 detik"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"Lama"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 detik"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"Kustom"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"Lebih singkat"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"Lebih lama"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"Waktu klik otomatis"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"Getaran &amp; kekuatan sentuhan"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Getaran notifikasi"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Getaran dering"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Masukan sentuhan"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"Gunakan layanan"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"Gunakan <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"Buka <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"Gunakan koreksi warna"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"Gunakan teks"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"Tampilkan teks"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"Tampilan teks"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"Ukuran teks, gaya teks"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"Opsi lainnya"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"Tidak semua aplikasi mendukung setelan ini."</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"Tombol aksesibilitas"</string>
+    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"geser dengan 2 jari dari bawah ke atas"</string>
+    <string name="accessibility_shortcut_type_hardware" msgid="4834144210432451916">"Tahan tombol volume"</string>
+    <string name="accessibility_shortcut_type_triple_tap" msgid="7717524216825494543">"Ketuk layar tiga kali"</string>
     <string name="accessibility_hearingaid_instruction_continue_button" msgid="3367260988024430722">"Lanjutkan"</string>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"Alat bantu dengar"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"Tidak ada alat bantu dengar yang terhubung"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"Tambahkan alat bantu dengar"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"Untuk menyambungkan alat bantu, temukan dan ketuk perangkat Anda di layar berikutnya."</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"Pastikan alat bantu dengar Anda dalam mode penyambungan."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"Untuk menyambungkan alat bantu dengar, temukan dan ketuk perangkat Anda di layar berikutnya. Pastikan alat bantu dengar Anda dalam mode penyambungan."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> aktif"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> alat bantu dengar yang tersimpan</item>
@@ -2178,25 +2204,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Layanan ini tidak berfungsi."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Tampilkan di Setelan Cepat"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"Mode koreksi"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="other">Penundaan terlalu singkat (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> md)</item>
-      <item quantity="one">Penundaan terlalu singkat (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> md)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Merah-hijau"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"Hijau-merah"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Biru-kuning"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"Deuteranomali"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"Protanomali"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"Tritanomali"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="other">Penundaan sangat singkat (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> detik)</item>
+      <item quantity="one">Penundaan sangat singkat (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> detik)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="other">Penundaan sangat singkat (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> md)</item>
-      <item quantity="one">Penundaan sangat singkat (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> md)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="other">Penundaan cukup singkat (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> detik)</item>
+      <item quantity="one">Penundaan cukup singkat (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> detik)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="other">Penundaan singkat (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> md)</item>
-      <item quantity="one">Penundaan singkat (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> md)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="other">Penundaan singkat (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> detik)</item>
+      <item quantity="one">Penundaan singkat (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> detik)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="other">Penundaan lama (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> md)</item>
-      <item quantity="one">Penundaan lama (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> md)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="other">Penundaan lama (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> detik)</item>
+      <item quantity="one">Penundaan lama (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> detik)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="other">Penundaan sangat lama (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> md)</item>
-      <item quantity="one">Penundaan sangat lama (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> md)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="other">Penundaan cukup lama (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> detik)</item>
+      <item quantity="one">Penundaan cukup lama (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> detik)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> detik</item>
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> detik</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"Dering <xliff:g id="SUMMARY_RING">%1$s</xliff:g>, notifikasi <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>, sentuhan <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"Dering &amp; notifikasi disetel ke nonaktif"</string>
@@ -2513,7 +2549,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"Ketika terakhir dicabut untuk <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"Total penggunaan"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"Segarkan"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"OS Android"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"Mediaserver"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"Pengoptimalan aplikasi"</string>
     <string name="battery_saver" msgid="7737147344510595864">"Penghemat Baterai"</string>
@@ -2594,8 +2629,7 @@
     <string name="tts_play" msgid="2945513377250757221">"Putar"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"Penyimpanan kredensial"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"Instal dari penyimpanan"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"Instal dari kartu SD"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"Menginstal sertifikat"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"Instal sertifikat dari penyimpanan"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"Instal sertifikat dari kartu SD"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"Hapus kredensial"</string>
@@ -2615,6 +2649,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"Penyimpanan kredensial dihapus."</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"Penyimpanan kredensial tidak dapat dihapus."</string>
     <string name="usage_access_title" msgid="1580006124578134850">"Apl dengan akses penggunaan"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"Sertifikat CA"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"Sertifikat pengguna apl &amp; VPN"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"Sertifikat Wi‑Fi"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"Privasi Anda berisiko"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"Sertifikat CA digunakan oleh situs, aplikasi, dan VPN untuk enkripsi. Hanya instal sertifikat CA dari organisasi yang Anda percaya. \n\n Jika Anda menginstal sertifikat CA, pemilik sertifikat dapat mengakses informasi Anda, seperti sandi, pesan, atau detail kartu kredit, dari situs yang Anda kunjungi atau aplikasi yang Anda gunakan, meskipun informasi tersebut dienkripsi."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"Jangan instal"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"Instal"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"Sertifikat tidak diinstal"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"Sinyal panggilan darurat"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Setel perilaku ketika panggilan darurat dilakukan"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Cadangan"</string>
@@ -2642,10 +2684,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"Nonaktifkan &amp; uninstal"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"Aplikasi admin perangkat"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"Tidak ada aplikasi admin yang tersedia"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"Pribadi"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"Kantor"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"Batasi akses SMS &amp; log panggilan"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"Hanya aplikasi telepon dan pesan default yang memiliki izin SMS &amp; log panggilan"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"Perangkat tepercaya tidak tersedia"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"Aktifkan aplikasi admin perangkat?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"Aktifkan aplikasi admin perangkat ini"</string>
@@ -2659,6 +2697,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"Opsi lainnya dinonaktifkan oleh admin."</string>
     <string name="admin_more_details" msgid="6698424974827333973">"Detail selengkapnya"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"Log notifikasi"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"Histori notifikasi"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"Hari ini"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"Ditunda"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"Baru-baru ini ditutup"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> notifikasi</item>
+      <item quantity="one"><xliff:g id="NUMBER_0">%d</xliff:g> notifikasi</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"Nada dering &amp; getar panggilan"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"Detail jaringan"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"Sinkronisasi diaktifkan"</string>
@@ -3008,7 +3054,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"Batasan"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"Hapus batasan"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"Ubah PIN"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"Tampilkan notifikasi"</string>
     <string name="help_label" msgid="2896538416436125883">"Bantuan &amp; masukan"</string>
     <string name="support_summary" msgid="1034146931237148885">"Artikel bantuan, ponsel &amp; chat, memulai"</string>
     <string name="user_account_title" msgid="6389636876210834864">"Akun untuk konten"</string>
@@ -3033,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"Panggilan 4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Gunakan layanan LTE untuk menyempurnakan suara dan komunikasi lainnya (disarankan)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Gunakan layanan 4G untuk menyempurnakan suara dan komunikasi lainnya (disarankan)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Penemuan kontak"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Mengizinkan operator menemukan fitur menelepon yang didukung oleh kontak."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Aktifkan penemuan kontak?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Jika fitur ini diaktifkan, operator dapat mengakses nomor telepon di kontak untuk menemukan fitur menelepon yang didukung oleh kontak."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Jenis jaringan yang dipilih"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (disarankan)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"Pesan MMS"</string>
@@ -3077,7 +3126,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"Telepon dengan"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"Pilih kartu SIM"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"SIM <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"SIM kosong"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"Nama SIM"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"Masukkan nama SIM"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"Slot SIM %1$d"</string>
@@ -3087,6 +3135,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"Pilih kartu SIM"</string>
     <string name="color_orange" msgid="216547825489739010">"Oranye"</string>
     <string name="color_purple" msgid="6603701972079904843">"Ungu"</string>
+    <string name="color_pink" msgid="8596872110888626708">"Pink"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"Tidak ada kartu SIM yang dimasukkan"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"Status SIM"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"Status SIM (slot sim %1$d)"</string>
@@ -3100,7 +3149,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"Kartu SIM diganti."</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Ketuk untuk menyiapkan"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"SIM pilihan untuk"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Selalu tanya"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Perlu dipilih"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"pilihan SIM"</string>
@@ -3118,6 +3166,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"Bluetooth, mode mengemudi"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"Bluetooth, NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"Bluetooth"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"Tidak tersedia karena NFC nonaktif"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"Aplikasi &amp; notifikasi"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Aplikasi baru-baru ini, aplikasi default"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Akses notifikasi tidak tersedia untuk aplikasi di profil kerja"</string>
@@ -3128,13 +3177,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"Setelan"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"wifi, wi-fi, sambungan jaringan, internet, nirkabel, data, wi fi"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"Notifikasi Wi‑Fi, notifikasi wi‑fi"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"penggunaan data"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"Hentikan getaran, ketukan"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"Gunakan format 24 jam"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"Download"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"Buka dengan"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"Aplikasi"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"zona waktu"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"Chat head"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"Chat head, sistem, notifikasi, jendela, dialog, tampilan, di atas aplikasi lain, tarik"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"Senter, Lampu, Flash"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"wifi, wi-fi, beralih, kontrol"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"seluler, mobile, operator sel, nirkabel, data, 4g, 3g, 2g, lte"</string>
@@ -3158,7 +3208,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"jangan jangan ganggu, mengganggu, gangguan, putus"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"di sekitar, lokasi, histori, pelaporan, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"akun"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"akun, tambahkan satu akun, profil kerja, dan tambah akun"</string>
     <string name="keywords_users" msgid="3497517660077620843">"pembatasan, membatasi, dibatasi"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"koreksi teks, benar suara, getar otomatis, bahasa, isyarat, sarankan, saran, tema, menyinggung, kata, jenis, emoji, internasional"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"setel ulang, preferensi, default"</string>
@@ -3196,6 +3246,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"memori, cache, data, hapus, kosongkan, kosong, ruang penyimpanan"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"terhubung, perangkat, headphone, headset, speaker, nirkabel, sambungkan, earbud, musik, media"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"background, layar, layar kunci, tema"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"bentuk ikon, warna aksen, font"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"default, asisten"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"pembayaran, default"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"notifikasi masuk"</string>
@@ -3205,18 +3256,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"sentuhan, getar, sensitivitas"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"penghemat baterai, sticky, tetap, penghemat daya, baterai"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"rutinitas, jadwal, penghemat baterai, penghemat daya, baterai, otomatis, persen"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"profil kerja"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"volte, panggilan telepon lanjutan, panggilan telepon 4g"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"tambahkan bahasa, tambahkan sebuah bahasa"</string>
     <string name="default_sound" msgid="6604374495015245195">"Suara default"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"Volume dering <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"Volume dering &amp; notifikasi pada <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Volume, getar, Jangan Ganggu"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"Pendering disetel bergetar"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"Pendering disetel senyap"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"Volume dering 80%"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"Volume dering &amp; notifikasi pada 80%"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Volume media"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Volume transmisi"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"Volume panggilan"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"Volume alarm"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"Volume dering"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"Volume dering &amp; notifikasi"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"Volume notifikasi"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"Nada dering ponsel"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"Suara notifikasi default"</string>
@@ -3224,6 +3276,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"Suara notifikasi default"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"Suara alarm default"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"Getar untuk panggilan"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"Jangan pernah bergetar"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"Selalu bergetar"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"Getar terlebih dahulu, lalu dering bertahap"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"Suara lainnya"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"Nada tombol nomor"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"Suara kunci layar"</string>
@@ -3247,6 +3302,7 @@
       <item quantity="one">1 diaktifkan</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Jangan Ganggu"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Hanya dapatkan notifikasi dari aplikasi dan orang yang penting"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Batasi gangguan"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Aktifkan mode Jangan Ganggu"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"Pengecualian"</string>
@@ -3273,7 +3329,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Blokir gangguan visual"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Izinkan sinyal visual"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"Saat mode Jangan Ganggu diaktifkan"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"Izinkan gangguan yang mengeluarkan suara"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"Batasi notifikasi"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Tidak ada suara dari notifikasi"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"Anda akan melihat notifikasi pada layar"</string>
@@ -3304,7 +3360,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"Suara dan getaran"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"Tanda notifikasi suara, getaran, dan beberapa visual"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"Tanda notifikasi suara, getaran, dan visual"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"Notifikasi yang diperlukan untuk aktivitas dasar dan status ponsel tidak akan pernah disembunyikan"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"Notifikasi yang diperlukan untuk aktivitas dasar dan status tidak akan pernah disembunyikan."</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"Tidak ada"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"opsi lain"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"Tambahkan"</string>
@@ -3334,10 +3390,12 @@
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> jadwal dapat aktif otomatis</item>
       <item quantity="one">1 jadwal dapat aktif otomatis</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"Nonaktifkan suara perangkat, namun izinkan pengecualian"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"Pengecualian"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"Jadwal"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"Lihat semua pengecualian"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"Pengecualian saat mode Jangan Ganggu diaktifkan"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"Orang"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"Aplikasi"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"Alarm &amp; gangguan lainnya"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"Jadwal"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"Notifikasi yang dinonaktifkan"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"Jika mode Jangan Ganggu diaktifkan, suara dan getaran akan dimatikan, kecuali untuk item yang Anda izinkan di atas."</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"Matikan semua kecuali"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"Dimatikan"</string>
@@ -3381,16 +3439,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"Notifikasi adaptif"</string>
     <string name="asst_capability_prioritizer_title" msgid="1181272430009156556">"Prioritas notifikasi adaptif"</string>
     <string name="asst_capability_prioritizer_summary" msgid="954988212366568737">"Otomatis setel notifikasi dengan prioritas yang lebih rendah ke Senyap"</string>
+    <string name="asst_capability_ranking_title" msgid="312998580233257581">"Urutan notifikasi adaptif"</string>
+    <string name="asst_capability_ranking_summary" msgid="2293524677144599450">"Otomatis mengurutkan notifikasi menurut relevansi"</string>
     <string name="asst_capabilities_actions_replies_title" msgid="4392470465646394289">"Saran tindakan dan balasan"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"Otomatis tampilkan saran tindakan &amp; balasan"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"Aktifkan histori notifikasi untuk melacak notifikasi sebelumnya dan notifikasi yang ditunda"</string>
+    <string name="notification_history" msgid="8663811361243456201">"Histori notifikasi"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"Aktifkan histori"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"Nonaktifkan histori"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"Histori notifikasi dinonaktifkan"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"menampilkan setelan notifikasi"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Izinkan penundaan notifikasi"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"Sembunyikan ikon dari notifikasi senyap"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"Ikon dari notifikasi senyap tidak ditampilkan di status bar"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"Izinkan titik notifikasi"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"Tampilkan strip percakapan baru-baru ini"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Gelembung"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"Beberapa notifikasi dapat muncul sebagai gelembung di layar"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"Beberapa notifikasi dan konten lainnya dapat muncul sebagai gelembung di layar. Untuk membuka gelembung, ketuk gelembung tersebut. Untuk menutupnya, tarik ke bawah layar."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Gelembung"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"Pesan baru akan muncul di layar"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"Izinkan <xliff:g id="APP_NAME">%1$s</xliff:g> menampilkan beberapa notifikasi sebagai gelembung"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"Aktifkan gelembung"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"Guna mengaktifkan gelembung aplikasi ini, terlebih dahulu Anda harus mengaktifkannya untuk perangkat Anda. Ini memengaruhi aplikasi lain yang sebelumnya Anda gunakan sebagai tempat mengaktifkan gelembung."</string>
@@ -3408,6 +3476,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"Ditampilkan di bayangan pull-down &amp; di layar kunci"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"Ditampilkan di bayangan pull-down &amp; status bar"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"Ditampilkan di bayangan pull-down, status bar &amp; di layar kunci"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"Sembunyikan notifikasi senyap di status bar"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"Cahaya kedip"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"Layar kunci"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"Lewati layar kunci"</string>
@@ -3438,6 +3507,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"Perilaku"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"Izinkan suara"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"Jangan pernah tampilkan notifikasi"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"Percakapan"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"Percakapan"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"Bukan percakapan"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"Hapus dari bagian percakapan"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"Ini adalah sebuah percakapan"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"Menambahkan ke bagian percakapan"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"Kelola percakapan"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"Percakapan penting"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"Semua percakapan"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"Tampilkan balon percakapan penting"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"Percakapan penting muncul di bagian atas menu notifikasi. Anda juga dapat menyetelnya untuk menampilkan balon dan mengganggu fitur Jangan Ganggu."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"Tampilkan tanpa suara dan sembunyikan"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"Tampilkan tanpa suara"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"Buat suara"</string>
@@ -3456,7 +3536,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"Membantu Anda tetap fokus tanpa suara atau getaran"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"Menarik perhatian Anda dengan suara atau getaran"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"Jika perangkat dibuka kuncinya, menampilkan notifikasi sebagai banner di bagian atas layar"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"Tampilkan notifikasi"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"Semua notifikasi <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"Notifikasi Adaptif"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="other">~<xliff:g id="NUMBER_1">%d</xliff:g> notifikasi per hari</item>
@@ -3477,6 +3557,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"Notifikasi Adaptif"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"Tidak Ada"</string>
     <string name="no_notification_listeners" msgid="2839354157349636000">"Tidak ada aplikasi terpasang yang meminta akses notifikasi."</string>
+    <string name="notification_access_detail_switch" msgid="46386786409608330">"Izinkan akses notifikasi"</string>
     <string name="notification_assistant_security_warning_title" msgid="2972346436050925276">"Izinkan akses notifikasi untuk <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
     <string name="notification_assistant_security_warning_summary" msgid="3119843404577399036">"<xliff:g id="NOTIFICATION_ASSISTANT_NAME">%1$s</xliff:g> akan dapat membaca semua notifikasi, termasuk informasi pribadi sepertu nama kontak dan pesan teks yang Anda terima. Asisten notifikasi juga akan dapat mengubah atau menutup notifikasi atau memicu tombol tindakan yang dimilikinya \n\nAsisten notifikasi juga akan memberikan aplikasi kemampuan untuk mengaktifkan atau menonaktifkan mode Jangan Ganggu dan mengubah setelan terkait."</string>
     <string name="notification_listener_security_warning_title" msgid="5791700876622858363">"Izinkan akses notifikasi untuk <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
@@ -3538,8 +3619,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"Selesai"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"Tingkat Kepentingan"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"Cahaya kedip"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"Getar"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"Getaran"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"Suara"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"Penting"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"Tambahkan ke layar utama"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"Hapus"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"Ganti nama"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"Nama jadwal"</string>
@@ -3593,6 +3676,10 @@
       <item quantity="other"><xliff:g id="NUM_PEOPLE">%d</xliff:g> lainnya</item>
       <item quantity="one">1 lainnya</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Percakapan"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"Dari semua percakapan"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"Dari percakapan penting"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"Jangan izinkan percakapan"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"Izinkan pesan"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"Untuk memastikan notifikasi pesan yang diizinkan terdengar, periksa apakah perangkat Anda disetel ke berdering, bergetar, atau senyap."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"Untuk ‘<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>’, pesan masuk akan diblokir. Anda dapat menyesuaikan setelan untuk mengizinkan teman, keluarga, atau kontak lain menghubungi Anda."</string>
@@ -3606,15 +3693,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"Tidak ada"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"Jangan izinkan panggilan telepon"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"Jangan izinkan pesan"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"Izinkan alarm"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"Alarm"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"Dari timer, alarm, sistem keamanan, dan aplikasi lainnya"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"alarm"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"Putar suara media"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"Suara media"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"Dari video, game, dan media lainnya"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"media"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"Izinkan suara sentuhan"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"Suara sentuhan"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"Dari keyboard dan tombol lainnya"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"suara sentuhan"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"Izinkan pengingat"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"Pengingat"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"Dari tugas dan pengingat"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"pengingat"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"Izinkan acara"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"Acara"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"Dari acara kalender mendatang"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Izinkan aplikasi mengganti"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"Pengecualian aplikasi"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3657,6 +3749,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"Mematikan suara notifikasi dengan Jangan Ganggu akan menyalakan layar"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"Setelan notifikasi"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"Oke"</string>
+    <string name="suggestion_button_close" msgid="6865170855573283759">"Tutup"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Kirim masukan tentang perangkat ini"</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"Masukkan PIN admin"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"Aktif"</string>
@@ -3667,6 +3760,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Minta PIN sebelum lepas pin"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Minta sandi sebelum melepas pin"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Kunci perangkat saat melepas pin"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Konfirmasi penghapusan SIM"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"Verifikasi bahwa ini adalah Anda sebelum menghapus SIM yang didownload"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"Profil kerja ini dikelola oleh:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"Dikelola oleh <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(Eksperimental)"</string>
@@ -3741,8 +3836,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"Semua aplikasi"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Aplikasi terinstal"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Aplikasi instan"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"Pribadi"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"Kantor"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"Aplikasi: Semua"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"Dinonaktifkan"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"Kategori: Tingkat kepentingan darurat"</string>
@@ -3754,6 +3847,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"Aplikasi tak dikenal"</string>
     <string name="app_permissions" msgid="8666537659217653626">"Pengelola izin"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"Aplikasi menggunakan <xliff:g id="APPS">%1$s</xliff:g>"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"Aplikasi yang menggunakan <xliff:g id="APPS">%1$s</xliff:g>, dan lainnya"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"Ketuk untuk membangunkan"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"Ketuk layar dua kali di mana saja untuk membangunkan perangkat"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"Membuka link"</string>
@@ -3765,9 +3859,14 @@
       <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> aplikasi membuka link yang didukung</item>
       <item quantity="one">1 aplikasi membuka link yang didukung</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"Buka di aplikasi ini"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"Izinkan aplikasi untuk membuka link yang didukung"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"Selalu tanya"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"Jangan buka di aplikasi ini"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"Jangan izinkan aplikasi untuk membuka link"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="other">Aplikasi mengklaim untuk menangani <xliff:g id="COUNT_1">%d</xliff:g> link</item>
+      <item quantity="one">Aplikasi mengklaim untuk menangani <xliff:g id="COUNT_0">%d</xliff:g> link</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"Aplikasi mengklaim untuk menangani link berikut:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"Default"</string>
     <string name="default_for_work" msgid="537558180548617528">"Default untuk kerja"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"Bantuan &amp; masukan suara"</string>
@@ -3911,8 +4010,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"Tampilkan di dalam apl lain"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Izinkan ditampilkan di atas aplikasi lain"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"Izinkan aplikasi ini ditampilkan di atas aplikasi lain yang sedang digunakan. Setelan ini dapat mengganggu penggunaan aplikasi tersebut atau mengubah tampilan atau perilakunya."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"Akses semua file"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"Izinkan akses untuk mengelola semua file"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Mengizinkan aplikasi ini untuk membaca, mengubah, dan menghapus semua file di perangkat ini atau media penyimpanan yang terpasang. Jika diberikan, aplikasi dapat mengakses file tanpa sepengetahuan Anda."</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"Dapat mengakses semua file"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"vr pemroses virtual reality stereo layanan bantuan"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"dialog jendela notifikasi sistem ditampilkan di atas aplikasi lain"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"Tampilkan di atas apl lain"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"<xliff:g id="COUNT_0">%1$d</xliff:g> dari <xliff:g id="COUNT_1">%2$d</xliff:g> aplikasi diizinkan untuk ditampilkan di atas aplikasi lain"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"Aplikasi yang memiliki izin"</string>
@@ -4078,6 +4180,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"<xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g> digunakan"</string>
     <string name="data_overusage" msgid="3680477320458707259">"<xliff:g id="ID_1">^1</xliff:g> terlampaui"</string>
     <string name="data_remaining" msgid="6316251496381922837">"Tersisa <xliff:g id="ID_1">^1</xliff:g>"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"Grafik yang menampilkan penggunaan data antara <xliff:g id="START_DATE">%1$s</xliff:g> dan <xliff:g id="END_DATE">%2$s</xliff:g>."</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"Tidak ada data dalam rentang tanggal ini"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="other">%d hari lagi</item>
       <item quantity="one">%d hari lagi</item>
@@ -4141,14 +4245,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"ukuran parsel"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"notifikasi diaktifkan"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"suara"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"getar"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"pola"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"default"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"saluran"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"tidak ada"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"Objek peringkat tidak ada."</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"Objek peringkat tidak berisi kunci ini."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"Tema"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"Default perangkat"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"Potongan layar"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"potongan tampilan, notch"</string>
@@ -4237,8 +4337,12 @@
     <string name="information_label" msgid="6939310810756569298">"Informasi"</string>
     <string name="low_label" msgid="6525629096999711220">"Rendah"</string>
     <string name="high_label" msgid="357503396626018487">"Tinggi"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"Sensitivitas yang lebih tinggi dapat memengaruhi fungsi gestur aplikasi di tepi layar."</string>
+    <string name="left_edge" msgid="1513576842959071849">"Tepi kiri"</string>
+    <string name="right_edge" msgid="1505309103265829121">"Tepi kanan"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"Sensitivitas yang lebih tinggi dapat memengaruhi fungsi gestur aplikasi di tepi layar."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"Sensitivitas Bagian Belakang"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"Setelan Gestur"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"navigasi gestur, sensitivitas kembali, gestur kembali"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"Ketuk dua kali untuk memeriksa ponsel"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"Ketuk dua kali untuk memeriksa tablet"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"Ketuk dua kali untuk memeriksa perangkat"</string>
@@ -4393,7 +4497,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"Memicu Provisioning Operator"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"Perbarui mode Jangan Ganggu"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"Jeda notifikasi agar tetap fokus"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"Fitur ini tidak tersedia di perangkat"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"Fitur tidak tersedia"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"Fitur ini telah dinonaktifkan karena memperlambat ponsel Anda"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"Paksa ukuran GNSS penuh"</string>
@@ -4403,20 +4506,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"Pilih aplikasi yang berkemampuan ANGLE"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"Tidak ada aplikasi berkemampuan ANGLE yang ditetapkan"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"Aplikasi yang berkemampuan ANGLE: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"Preferensi Driver Game"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"Ubah setelan Driver Game"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"Jika Driver Game diaktifkan, Anda dapat memilih menggunakan driver grafis yang diupdate untuk Aplikasi yang diinstal di perangkat."</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"Aktifkan untuk semua aplikasi"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"Pilih Driver Grafis"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"Default"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"Driver Game"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"Driver Prarilis"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"Driver Grafis Sistem"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"Preferensi Driver Grafis"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"Ubah setelan driver grafis"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"Saat beberapa driver grafis tersedia, Anda dapat memilih untuk menggunakan driver grafis yang sudah diupdate untuk Aplikasi yang diinstal pada perangkat."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"Aktifkan untuk semua aplikasi"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"Pilih Driver Grafis"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"Default"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"Driver Game"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"Developer Driver"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Driver Grafis Sistem"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Perubahan Kompatibilitas Aplikasi"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Alihkan perubahan kompatibilitas aplikasi"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Perubahan aktif default"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Perubahan nonaktif default"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"Setelan tidak didukung di ponsel ini"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"Setelan tidak didukung di tablet ini"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"Setelan tidak didukung di perangkat ini"</string>
@@ -4435,6 +4544,11 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"Perangkat"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Tidak tersedia saat panggilan berlangsung"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"Tidak Tersedia"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"Tambahkan keluaran"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"Grup"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 perangkat dipilih"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> perangkat dipilih"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"Beralih…"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Jawab panggilan di"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"APN ini tidak dapat diubah."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Tingkatkan masa pakai baterai tablet"</string>
@@ -4552,10 +4666,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Hanya satu SIM hasil download yang dapat diaktifkan pada satu waktu.\n\nBeralih ke <xliff:g id="CARRIER1">%1$s</xliff:g> tidak akan membatalkan layanan <xliff:g id="CARRIER2">%2$s</xliff:g> Anda."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Beralih ke <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Hapus SIM"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Hapus SIM yang didownload?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Menghapus SIM ini akan menghapus layanan <xliff:g id="CARRIER_0">%1$s</xliff:g> dari perangkat ini.\n\nLayanan untuk <xliff:g id="CARRIER_1">%2$s</xliff:g> tidak akan dibatalkan."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Hapus"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Menghapus SIM…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Tidak dapat menghapus SIM"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"SIM ini tidak dapat dihapus karena terjadi error.\n\nMulai ulang perangkat Anda, lalu coba lagi."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Jenis jaringan pilihan"</string>
@@ -4580,7 +4690,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Mode Jaringan Tidak Valid <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Abaikan."</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Nama Titik Akses"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Tidak tersedia saat terhubung ke <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"Info medis, kontak darurat"</string>
     <string name="see_more" msgid="7499355691042812723">"Lihat lainnya"</string>
     <string name="see_less" msgid="2642392725363552793">"Lihat lebih sedikit"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"Perangkat yang digunakan dengan <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
@@ -4589,11 +4698,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"Ada masalah. Aplikasi telah membatalkan permintaan untuk memilih perangkat."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"Koneksi berhasil"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"Tampilkan semua"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> perangkat terhubung</item>
-      <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_0">%1$d</xliff:g> perangkat terhubung</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"Tidak ada perangkat Bluetooth"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"Menelusuri perangkat…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"Menghubungkan ke perangkat…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"Kiri"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"Kanan"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Casing"</string>
@@ -4603,6 +4709,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"Tidak tersedia selama mode pesawat"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"Paksa mode desktop"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Paksa mode desktop eksperimental di tampilan sekunder"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"Aktifkan sizecompat format bebas"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"Mengizinkan aplikasi sizecompat dalam format bebas"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Aktifkan paksa SmartDark"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"Memaksa fitur SmartDark agar selalu aktif"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"Privasi"</string>
@@ -4639,6 +4747,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Anda baru saja menginstal aplikasi ini."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Ganti keluaran"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Sedang diputar di <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (terputus)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Tidak dapat beralih. Ketuk untuk mencoba lagi."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Informasi penting"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"LANJUTKAN"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"TIDAK, TERIMA KASIH"</string>
@@ -4666,8 +4776,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"Kombinasi SIM"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Info kebijakan kerja Anda"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Setelan yang dikelola oleh admin IT"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"Pengendali laporan bug"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Menentukan aplikasi mana yang menangani pintasan Laporan Bug di perangkat."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Pribadi"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"Kerja"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"Default sistem"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"Pilihan ini tidak valid lagi. Coba lagi."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"Hentikan transmisi"</string>
 </resources>
diff --git a/res/values-is/arrays.xml b/res/values-is/arrays.xml
index 135aee5..f6e1842 100644
--- a/res/values-is/arrays.xml
+++ b/res/values-is/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"Strax"</item>
     <item msgid="463591454172790676">"5 sekúndur"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"Ekki staðfesta"</item>
+    <item msgid="5703177653586269306">"Óska eftir stöðu vottorðs"</item>
+    <item msgid="326388247868439528">"Krefjast stöðu vottorðs"</item>
+    <item msgid="1090956283885790552">"Krefjast stöðu allra vottorða sem ekki er treystandi"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"Hnappur"</item>
     <item msgid="2630618799033509548">"PIN-númer úr tengdu tæki"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"Ekkert"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"IPSec VPN með með lyklum sem hefur verið deilt og Xauth-staðfestingu"</item>
     <item msgid="2484564813864139237">"IPSec VPN með vottorðum og Xauth-staðfestingu"</item>
     <item msgid="68918911194507915">"IPSec VPN með vottorðum og blandaðri staðfestingu"</item>
+    <item msgid="4631647675167100375">"IKEv2/IPSec VPN með vottorðum og staðfestingu með notandanafni og aðgangsorði"</item>
+    <item msgid="8812228622975052811">"IKEv2/IPSec VPN með lyklum sem hefur verið deilt"</item>
+    <item msgid="6630554779981113046">"IKEv2/IPSec VPN með vottorðum"</item>
   </string-array>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"Ekkert"</item>
diff --git a/res/values-is/config.xml b/res/values-is/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-is/config.xml
+++ b/res/values-is/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-is/strings.xml b/res/values-is/strings.xml
index 434fbb9..7714422 100644
--- a/res/values-is/strings.xml
+++ b/res/values-is/strings.xml
@@ -31,49 +31,17 @@
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Virkjaðu valkosti þróunaraðila fyrst."</string>
     <string name="header_category_wireless_networks" msgid="303445626075235229">"Þráðlaus net og símkerfi"</string>
     <string name="header_category_system" msgid="1665516346845259058">"Kerfi"</string>
-    <string name="radio_info_data_connection_enable" msgid="7500945447906187613">"Kveikja á gagnatengingu"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"Slökkva á gagnatengingu"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"VoLTE-úthlutun"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"Myndsímtali úthlutað"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"Wi-Fi símtali úthlutað"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"EAB/Viðveru úthlutað"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"CBRS-gögn"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"Virkja DSDS"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"Endurræsa tæki?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"Endurræsa þarf tækið til að breyta þessari stillingu."</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"Endurræsa"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"Hætta við"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"Loftnetsstyrkur farsíma"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"Skoða símaskrá SIM-korts"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"Skoða læst númeraval"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"Skoða þjónustunúmer"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"Þjónustustaða IMS"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"Staða IMS"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"Skráð"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"Ekki skráð"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"Tiltækt"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"Ekki tiltækt"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"Skráning IMS: <xliff:g id="STATUS">%1$s</xliff:g>\nRödd með LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nRödd með Wi-Fi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nMyndsímtöl: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT viðmót: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"Innan þjónustusvæðis"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Utan þjónustusvæðis"</string>
     <string name="radioInfo_service_emergency" msgid="6838935881091760942">"Aðeins neyðarsímtöl"</string>
     <string name="radioInfo_service_off" msgid="6184928420860868571">"Slökkt á loftneti"</string>
     <string name="radioInfo_roaming_in" msgid="8892550453644088692">"Reiki"</string>
     <string name="radioInfo_roaming_not" msgid="3137594549464975054">"Ekki í reiki"</string>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"Aðgerðalaus"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"Hringir"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"Símtal í gangi"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"Aftengt"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"Tengist"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"Tengt"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Í bið"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Óþekkt"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"pk."</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"bæti"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"Aftengja USB geymslu"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"Aftengja SD-kort"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"Hreinsa út af USB geymslu"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"Stækkaðu eða minnkaðu texta á skjá."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Minnka"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Stækka"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"Textadæmi"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"Galdrakarlinn í Oz"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"11. kafli: Smaragðsborgin dásamlega í Oz"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"Endurræsa þarf tækið til að breyta þessari stillingu."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"Endurræsa"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"Hætta við"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"Tiltækir geymslumiðlar"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"Tiltæk símtæki"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"Tengt"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"Geymslumiðlar"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"Símtæki"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"Önnur tæki"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Vistuð tæki"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Kveikt verður á Bluetooth til að para"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Tengingarstillingar"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"Gáttin sem þú gafst upp er ekki gild."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"Proxy-þjónn fyrir HTTP er notaður af vafranum en ekki er víst að önnur forrit noti hann."</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"PAC-slóð: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"Núverandi undirauðkenni:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"Undirauðkenni sjálfgefins SIM-korts fyrir gögn:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"Niðurhalsbandvídd (kbps):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"Upphleðslubandvídd (kbps):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"Staðsetningarupplýsingar loftneta (úrelt):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"LTE-rásarstilling:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"Endurnýjunartíðni loftnetaupplýsinga:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"Allar mælingarupplýsingar loftneta:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"Gagnaþjónusta:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"Reiki:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"Símtalsflutningur:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"Fjöldi PPP-endurstillinga frá ræsingu:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"Núverandi kerfi:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"Gögn móttekin:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"Raddþjónusta:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"Sendistyrkur:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"Staða símtals:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"Gögn send:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"Skilaboð í bið:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"Símanúmer:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"Velja útvarpstíðni"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"Netkerfi raddþjónustu:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"Tegund gagnanets:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"Velja atriðaskrá síma"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"Veldu kjörsímkerfi:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"Ping Hostname(www.google.com) IPv4:"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"Ping Hostname(www.google.com) IPv6:"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"Prófun HTTP-biðlara:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"Keyra ping-próf"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"Uppfæra"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"Endurnýja"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"Kveikja/slökkva á DNS-prófun"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"Upplýsingar/stillingar framleiðanda"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"Velja útvarpstíðni"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"Hleður lista yfir tíðnisvið…"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"Velja"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"Mistókst"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"Tókst"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"Breytingarnar taka gildi þegar USB-snúran er tengd aftur."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"Gera USB-gagnageymslu virka"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"Bæti samtals:"</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"Færa neðst"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"Fjarlægja tungumál"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"Veldu aðgerð"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"Upplýsingar um tæki"</string>
     <string name="display_label" msgid="3056320781191343221">"Skjár"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"Upplýsingar um spjaldtölvu"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"Upplýsingar um síma"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"USB-geymsla"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"SD-kort"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"Stillingar proxy-þjóns"</string>
@@ -306,9 +234,6 @@
     <string name="airplane_mode" msgid="3196085857882526817">"Flugstilling"</string>
     <string name="wireless_networks_settings_title" msgid="8557542379234105369">"Þráðlaus net og símkerfi"</string>
     <string name="radio_controls_summary" msgid="9028430178697624501">"Stjórna Wi‑Fi, Bluetooth, flugstillingu, farsímakerfum og VPN-netum"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"Farsímagögn"</string>
-    <string name="calls_title" msgid="6334813967619899114">"Leyfa símtöl"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"SMS-skilaboð"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"Leyfa gagnanotkun í farsímakerfi"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"Leyfa gagnanotkun í reiki"</string>
     <string name="roaming" msgid="3055365654530847985">"Reiki"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"Tengjast gagnaþjónustu í reiki"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"Gagnasamband er ekki fyrir hendi vegna þess að þú hefur aftengst heimaneti og gagnareiki er ekki virkt."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"Kveikja"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"Þetta getur haft mikinn kostnað í för með sér."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"Ef þú leyfir gagnareiki er hætt við að það hafi í för með sér mikinn kostnað!\n\nÞessi stilling hefur áhrif á alla notendur spjaldtölvunnar."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"Ef þú leyfir gagnareiki er hætt við að það hafi í för með sér mikinn kostnað!\n\nÞessi stilling hefur áhrif á alla notendur símans."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"Reikigjöld kunna að eiga við."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"Ef þú leyfir gagnareiki kunna reikigjöld að vera innheimt.\n\nÞessi stilling hefur áhrif á alla notendur spjaldtölvunnar."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"Ef þú leyfir gagnareiki kunna reikigjöld að vera innheimt.\n\nÞessi stilling hefur áhrif á alla notendur símans."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"Leyfa gagnareiki?"</string>
     <string name="networks" msgid="5184501333492775095">"Val á símafyrirtæki"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"Veldu símafyrirtæki"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"Gert óvirkt af kerfisstjóra"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"Sýna valkost fyrir læsingu"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"Sýna valkost fyrir aflrofa sem slekkur á Smart Lock, opnun með lífkennum og tilkynningum á lásskjá"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"Aðeins traustfulltrúar geta lengt opnun"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"Ef kveikt er á þessu munu traustfulltrúar halda tækinu opnu í lengri tíma, en þeir geta ekki lengur tekið læst tæki úr lás."</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"Læsir skjánum þegar traust vantar"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"Ef kveikt er á þessu læsist tækið þegar síðasti traustfulltrúi missir traust"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"Ekkert"</string>
@@ -390,7 +313,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"Stilla staðsetninguna mína, opnun skjás, SIM-kortalás, lás skilríkjageymslu"</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"Stilla staðsetninguna mína, opnun skjás, lás skilríkjageymslu"</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"Persónuvernd"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"Gert óvirkt af kerfisstjóra"</string>
+    <string name="disabled_by_administrator_summary" msgid="5424846182313851124">"Ekki í boði"</string>
     <string name="security_status_title" msgid="6958004275337618656">"Öryggisstaða"</string>
     <string name="security_dashboard_summary_face" msgid="4198949293847206382">"Skjálás, andlitsopnun"</string>
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Skjálás, fingrafar"</string>
@@ -693,7 +616,6 @@
       <item quantity="one">Má ekki vera lengra en <xliff:g id="NUMBER_1">%d</xliff:g> tölustafur</item>
       <item quantity="other">Má ekki vera lengra en <xliff:g id="NUMBER_1">%d</xliff:g> tölustafir</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"Má eingöngu innihalda tölustafi, 0–9"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"Tækjastjóri leyfir ekki notkun nýlegs PIN-númers"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"Kerfisstjórinn þinn hefur lokað á algeng PIN-númer. Prófaðu annað PIN-númer."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"Þetta má ekki innihalda ógildan staf"</string>
@@ -724,6 +646,10 @@
       <item quantity="one">Verður að innihalda að minnsta kosti <xliff:g id="COUNT">%d</xliff:g> staftákn sem ekki er bókstafur</item>
       <item quantity="other">Verður að innihalda að minsta kosti <xliff:g id="COUNT">%d</xliff:g> staftákn sem ekki eru bókstafir</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="one">Verður að innihalda að minnsta kosti <xliff:g id="COUNT">%d</xliff:g> staftákn sem er ekki tölustafur</item>
+      <item quantity="other">Verður að innihalda að minnsta kosti <xliff:g id="COUNT">%d</xliff:g> staftákn sem er ekki tölustafur</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"Tækjastjóri leyfir ekki notkun nýlegs aðgangsorðs"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"Kerfisstjórinn þinn hefur lokað á algeng aðgangsorð. Prófaðu annað aðgangsorð."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"Hækkandi, lækkandi eða endurtekin röð tölustafa er óheimil"</string>
@@ -837,19 +763,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2,4 GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"Skrá inn"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"Opna vefsvæði"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"<xliff:g id="REMAINING_TIME">%1$s</xliff:g> eftir"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"Rennur út <xliff:g id="EXPIRY_TIME">%1$s</xliff:g>"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"Ýttu hér til að skrá þig inn á netkerfi"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Mb/sek."</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Mb/sek."</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Mb/sek."</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"<xliff:g id="REQUESTER">%s</xliff:g> vill kveikja á Wi-Fi"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"<xliff:g id="REQUESTER">%s</xliff:g> vill slökkva á Wi-Fi"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"Staðfesta bætakóða forrita sem hægt er að villuleita"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Leyfa ART að staðfesta bætakóða forrita sem hægt er að villuleita"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"Sýna endurnýjunartíðni"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Sýna núverandi endurnýjunartíðni"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"Leyfa gagnaflutning þegar spjaldtölvan snertir annað tæki"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"Leyfa gagnasamskipti þegar síminn snertir annað tæki"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"Leyfa gagnaflutning þegar spjaldtölvan snertir NFC-tæki"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"Leyfa gagnaflutning þegar síminn snertir NFC-tæki"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"Kveikja á NFC"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"NFC sendir gögn á milli tækisins og nærliggjandi tækja eða miðla, t.d. posa, aðgengisupplesara, gagnvirkra auglýsinga eða merkja."</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"Tryggja NFC"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Krefjast aflæsingar tækis fyrir NFC"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"Leyfa NFC-greiðslur og notkun í almenningssamgöngum aðeins þegar skjárinn er ólæstur"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"Tilbúið til að senda efni forrits í gegnum NFC"</string>
@@ -923,8 +855,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Kveikja"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Kveikt á Wi‑Fi leit"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Ítarlegri valkostir"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"Fellilisti fyrir ítarlega valkosti. Ýttu tvisvar til að minnka."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"Fellilisti fyrir ítarlega valkosti. Ýttu tvisvar til að stækka."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Ítarlegir valkostir fellilista"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"Opna"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"Heiti nets"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"Sláðu inn SSID-kennið"</string>
     <string name="wifi_security" msgid="9095934643631406913">"Öryggi"</string>
@@ -934,6 +866,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"Staða"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"Senda hraða tengingar"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"Fá hraða tengingar"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"Hraði tengingar"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"Tíðni"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"IP-tala"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"Vistað í gegnum"</string>
@@ -941,6 +874,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"EAP-aðferð"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"Annars stigs staðfesting"</string>
     <string name="wifi_eap_ca_cert" msgid="8033404008276298886">"CA-vottorð"</string>
+    <string name="wifi_eap_ocsp" msgid="8713933962516871238">"Staða netvottorðs"</string>
     <string name="wifi_eap_domain" msgid="8304301470752333203">"Lén"</string>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"Notandavottorð"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"Auðkenni"</string>
@@ -957,6 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"Veldu a.m.k. eitt svið fyrir heitan Wi‑Fi reit:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"IP-stillingar"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"Persónuvernd"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"Áskrift"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"Skoða eða breyta áskrift"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"MAC-vistfang af handahófi"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"Bæta tæki við"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"Færðu QR-kóðann fyrir miðju hér fyrir neðan til að bæta tækinu við „<xliff:g id="SSID">%1$s</xliff:g>“"</string>
@@ -966,12 +902,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"Deila Wi‑Fi"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"Skannaðu þennan QR-kóða til að tengjast „<xliff:g id="SSID">%1$s</xliff:g>“ og deildu aðgangsorðinu"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"Skannaðu þennan QR-kóða til að tengjast „<xliff:g id="SSID">%1$s</xliff:g>“"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"Ekki tókst að lesa QR-kóða. Sláðu kóðann inn aftur"</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"Reyndu aftur. Ef vandamálið er viðvarandi skaltu hafa samband við framleiðandi tækisins"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"Eitthvað fór úrskeiðis"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"Gakktu úr skugga um að tækið sé í sambandi, það sé hlaðið og að kveikt sé á því"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"Gakktu úr skugga um að tækið sé í sambandi, það sé hlaðið og að kveikt sé á því. Ef vandamálið er viðvarandi skaltu hafa samband við framleiðandi tækisins"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"Þetta tæki styður ekki að „<xliff:g id="SSID">%1$s</xliff:g>“ sé bætt við"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"Prófaðu að færa tækið þitt nær Wi‑Fi aðgangspunktinum/beini"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"Athugaðu aðgangsorðið og reyndu aftur"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"Hafðu samband við framleiðanda tækisins"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"Athugaðu tenginguna og reyndu aftur"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"Velja net"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"Veldu net til að tengja tækið þitt"</string>
@@ -984,11 +922,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"Deilir Wi‑Fi með þessu tæki…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"Tengist…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"Deila heitum reit"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"Staðfestu hver þú ert"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"Staðfestu að þetta sért þú"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"Wi-Fi aðgangsorð: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"Aðgangsorð fyrir heitan reit: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"Sjálfvirk tenging"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"Leyfa síma að tengjast sjálfkrafa nálægt þessu netkerfi"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"Leyfa spjaldtölvu að tengjast sjálfkrafa nálægt þessu netkerfi"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"Bæta tæki við"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"Nota QR-kóða til að bæta tæki við þetta net"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"QR-kóði er ekki gilt snið"</string>
     <string name="retry" msgid="7542103800274026915">"Reyna aftur"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"Deila með öðrum notendum tækisins"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(óbreytt)"</string>
@@ -1000,6 +942,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"Ekkert vottorð tilgreint. Tengingin verður ekki lokuð."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"Heiti netkerfis er of langt."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"Tilgreina þarf lén."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"Vottorðs krafist."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"WPS tiltækt"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (WPS tiltækt)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"Wi-Fi kerfi símafyrirtækis"</string>
@@ -1051,7 +994,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"Ítarlegar Wi-Fi stillingar"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"MAC-vistfang"</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_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>
@@ -1103,7 +1047,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"Notaðu heitan reit til að búa til Wi-Fi net fyrir önnur tæki. Heitir reitir bjóða upp á internetaðgang með því að nota farsímagagnatenginguna þína. Viðbótargjöld vegna farsímagagna kunna að eiga við."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"Forrit geta búið til heitan reit til að deila efni með nálægum tækjum."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Slökkva á heitum reit sjálfkrafa"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"Slökkt verður á heitum Wi‑Fi reit ef engin tæki eru tengd"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Þegar engin tæki eru tengd"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"Kveikir á heitum reit…"</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"Slekkur á heitum reit…"</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> er virkt"</string>
@@ -1112,6 +1056,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"Uppsetning heits Wi-Fi reits"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"Heitur AndroidAP WPA2 PSK-reitur"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"AndroidHotspot"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"Viltu vista þetta net?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"<xliff:g id="APPNAME">%1$s</xliff:g> vill vista netkerfi í símanum þínum"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"<xliff:g id="APPNAME">%1$s</xliff:g> vill vista netkerfi í spjaldtölvunni þinni"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"Vistar…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"Vistað"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"Ekki hægt að vista. Reyndu aftur."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"Vista netkerfi?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"<xliff:g id="APPNAME">%1$s</xliff:g> vill vista þessi netkerfi í símanum þínum"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"<xliff:g id="APPNAME">%1$s</xliff:g> vill vista þessi netkerfi í spjaldtölvunni þinni"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"Vistar <xliff:g id="NUMBER">%d</xliff:g> netkerfi…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"Netkerfi vistuð"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"Wi-Fi símtöl"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"Fáðu aukið símasamband með Wi‑Fi"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"Kveiktu á Wi-Fi símtölum til að fá aukið símasamband"</string>
@@ -1138,16 +1093,18 @@
     <string name="emergency_address_title" msgid="3490633500025717573">"Neyðarheimilisfang"</string>
     <string name="emergency_address_summary" msgid="3022628750270626473">"Notað sem staðsetningin þín þegar þú hringir neyðarsímtöl í gegnum Wi-Fi"</string>
     <string name="private_dns_help_message" msgid="851221502063782306"><annotation id="url">"Frekari upplýsingar"</annotation>" um eiginleika lokaðs DNS"</string>
+    <string name="private_dns_mode_on" msgid="8878679071975375696">"Kveikt"</string>
     <string name="wifi_calling_pref_managed_by_carrier" msgid="129524064888622179">"Stillt af símafyrirtæki"</string>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"Kveikja á Wi-Fi-símtölum"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"Kveikja á Wi-Fi símtölum"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"Wi‑Fi símtöl eru ekki studd fyrir %1$s"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"Aftengt frá <xliff:g id="SSID">%1$s</xliff:g>"</string>
     <string name="carrier" msgid="1755020806290963951">"Símafyrirtæki"</string>
     <string name="display_settings_title" msgid="626835071804834218">"Skjár"</string>
     <string name="sound_settings" msgid="5514582720435174014">"Hljóð"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"Hljóðstyrkur"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"Tónlistaráhrif"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"Hljóðstyrkur hringingar"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"Hljóðstyrkur símtala og tilkynninga"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"Titra þegar slökkt er á hljóði"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"Sjálfgefið hljóð tilkynninga"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"Hringitónn"</string>
@@ -1272,13 +1229,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"Áætlun"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"Ekkert"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"Frá sólsetri til sólarupprásar"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"Kveikt á tilgreindum tíma"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"Staða"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"Slökkt / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"Kveikir aldrei sjálfkrafa"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"Kveikir sjálfkrafa við sólsetur"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"Kveikt sjálfkrafa kl. <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"Kveikt / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"Slekkur aldrei sjálfkrafa"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"Slokknar sjálfkrafa við sólarupprás"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"Slökkt sjálfkrafa kl. <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"Kveikja til kl. <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"Slökkva til kl. <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"Dökkt þema notar svartan bakgrunn á sumum skjámyndum til að rafhlaðan endist lengur. Áætlanir fyrir dökkt þema verða ekki virkar fyrr en það slokknar á skjánum."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"Tímamörk skjás"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"Slökkt er á skjánum"</string>
@@ -1290,7 +1252,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"Skipta um veggfóður"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"Sérsníddu skjáinn eftir þínu höfði"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"Velja veggfóður úr"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"Sérsníddu Pixel-símann þinn"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"Sérsníddu símann"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"Prófaðu mismunandi stíla, veggfóður og fleira"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"Skjávari"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Við hleðslu eða í dokku"</string>
@@ -1379,6 +1341,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"Aftengja USB-geymslu, skoða tiltækt geymslurými"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"Aftengja SD-kort, skoða laust geymslurými"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (SIM-rauf %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"Veldu vistað netkerfi til að skoða"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"Símanúmer"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (SIM-rauf %1$d)"</string>
@@ -1405,6 +1368,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"Reiki"</string>
     <string name="status_operator" msgid="4335640583552058491">"Símkerfi"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"MAC-vistfang Wi-Fi"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"Wi‑Fi MAC-vistfang tækis"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"Bluetooth-vistfang"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Raðnúmer"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Uppitími"</string>
@@ -1617,6 +1581,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Sjálfgefnar stillingar aðgangsstaðar endurheimtar."</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"Valkostir endurstillingar"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"Hægt er að endurstilla netkerfi, forrit eða tæki"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"Hægt er að endurstilla forrit"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"Endurstilla Wi-Fi, farsímagögn og Bluetooth"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"Þetta mun endurstilla allar netkerfisstillingar, þar á meðal:\n\n"<li>"Wi‑Fi"</li>\n<li>"Farsímagögn"</li>\n<li>"Bluetooth"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"Eyða sóttu SIM-korti"</string>
@@ -1666,6 +1631,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"Kveikt á heitum reit"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"Tjóðrun"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"Ekki er hægt að tjóðra eða nota heita reiti á meðan kveikt er á gagnasparnaði"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"Aðeins heitur reitur"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"Aðeins USB"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"Aðeins Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"Heitur reitur, USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"Heitur reitur, Bluetooth"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB, Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"Heitur reitur, USB, Bluetooth"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"Nettengingu er ekki deilt með öðrum tækjum"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"Tjóðrun"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Ekki nota heitan Wi-Fi reit"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Deila interneti aðeins með USB"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Deila interneti aðeins með Bluetooth"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Deila interneti aðeins með USB og Bluetooth"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB-tjóðrun"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"Deila nettengingu símans gegnum USB"</string>
@@ -1756,9 +1734,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"Öryggisupplýsingar"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"Engin gagnatenging er fyrir hendi. Til að skoða þessar upplýsingar núna skaltu fara á %s úr nettengdri tölvu."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"Hleður…"</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"Nota PIN-númer"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"Nota mynstur"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"Nota aðgangsorð"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"Stilla skjálás"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"Veldu þér aðgangsorð til að gæta fyllsta öryggis"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"Aðgangsorð þarf fyrir fingrafar"</string>
@@ -1767,8 +1742,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"PIN-númer þarf fyrir fingrafar"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"Stilltu mynstur til að gæta fyllsta öryggis"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"Sláðu aðgangsorðið inn aftur"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"Sláðu inn aðgangsorð fyrir vinnu"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"Staðfestu mynstrið"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"Teiknaðu mynstur fyrir vinnu"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"Sláðu PIN-númerið inn aftur"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"Sláðu inn PIN-númer fyrir vinnu"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"Aðgangsorðin stemma ekki."</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"PIN-númerin stemma ekki"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"Teiknaðu mynstrið aftur"</string>
@@ -1779,6 +1757,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"Veldu aðgangsorð til að nota andlitsopn."</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"Veldu mynstur til að nota andlitsopnun"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"Veldu PIN til að nota andlitsopnun"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"Gleymt aðgangsorð?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"Gleymdirðu mynstrinu?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"Gleymdirðu PIN-númerinu?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"Teiknaðu mynstrið þitt fyrir tækið til að halda áfram"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"Sláðu inn PIN-númerið þitt fyrir tækið til að halda áfram"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"Sláðu inn aðgangsorðið þitt fyrir tækið til að halda áfram"</string>
@@ -1846,6 +1827,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"Leyfa forrit frá öllum"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"Nýlega opnuð forrit"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"Sjá öll <xliff:g id="COUNT">%1$d</xliff:g> forritin"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"Hafðu samband við kerfisstjóra"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"Hann getur hjálpað þér að endurstilla PIN-númerið, mynstrið eða aðgangsorðið"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"Spjaldtölvan þín og persónuleg gögn eru berskjaldaðri fyrir árásum forrita af óþekktum uppruna. Þú samþykkir að bera fulla ábyrgð á hverju því tjóni sem verða kann á spjaldtölvunni eða gagnatapi sem leiða kann af uppsetningu forrita frá þessari veitu."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"Síminn þinn og persónuleg gögn eru berskjaldaðri fyrir árásum forrita af óþekktum uppruna. Þú samþykkir að bera fulla ábyrgð á hverju því tjóni sem verða kann á símanum eða gagnatapi sem leiða kann af uppsetningu forrita frá þessari veitu."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"Tækið og persónuleg gögn eru berskjaldaðri fyrir árásum forrita af óþekktum uppruna. Þú samþykkir að bera fulla ábyrgð á hverju því tjóni sem verða kann á tækinu eða gagnatapi sem leiða kann af uppsetningu forrita frá þessari veitu."</string>
@@ -1897,7 +1880,7 @@
     <string name="default_emergency_app" msgid="1929974800666613803">"Neyðarforrit"</string>
     <string name="reset_app_preferences" msgid="8861758340732716573">"Endurstilla stillingar forrita"</string>
     <string name="reset_app_preferences_title" msgid="8935136792316050759">"Endurstilla stillingar forrita?"</string>
-    <string name="reset_app_preferences_desc" msgid="1377296810290814749">"Þetta endurstillir allar stillingar fyrir:\n\n"<li>"Óvirk forrit"</li>\n<li>"Óvirkar tilkynningar forrita"</li>\n<li>"Sjálfgefin forrit aðgerða"</li>\n<li>"Gagnatakmarkanir forrita í bakgrunni"</li>\n<li>"Takmarkanir á heimildum"</li>\n\n"Þú glatar engum fyrirliggjandi forritagögnum."</string>
+    <string name="reset_app_preferences_desc" msgid="6509978724602405805">"Þetta endurstillir allar kjörstillingar fyrir:\n\n "<li>"Óvirk forrit"</li>\n" "<li>"Óvirkar tilkynningar forrita"</li>\n" "<li>"Sjálfgefin forrit aðgerða"</li>\n" "<li>"Takmarkanir á bakgrunnsgögnum forrita"</li>\n" "<li>"Allar takmarkanir á heimildum"</li>\n\n" Þú glatar engum forritagögnum."</string>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"Endurstilla forrit"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"Stjórna plássi"</string>
     <string name="filter" msgid="9039576690686251462">"Sía"</string>
@@ -2097,7 +2080,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"Hljóð og skjátexti"</string>
     <string name="display_category_title" msgid="6638191682294461408">"Skjár"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"Gagnvirknistýringar"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"Sótt þjónusta"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"Sótt forrit"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"Tilraunastillingar"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"Eiginleikaflögg"</string>
     <string name="talkback_title" msgid="8756080454514251327">"Talkback"</string>
@@ -2105,27 +2088,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"Ýttu á atriði á skjánum til að heyra þau lesin upp"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"Kjörstillingar skjátexta"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"Stækkun"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"Stækkunarsvæði"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"Kveikja á stækkun"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"Veldu svæðin sem eru stækkuð þegar þú stækkar skjáinn"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"Allur skjárinn"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"Hluti skjás"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"Allur skjárinn eða hluti skjásins"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"Stækka allan skjáinn"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"Stækka hluta skjásins"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Stillingar stækkunar"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"Stækka með því að ýta þrisvar"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Stækka með flýtilykli"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Stækka með flýtilykli og með því að ýta þrisvar"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"Um <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"Valkostir"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"Auka aðdrátt á skjá"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"Ýtt þrisvar til að auka aðdrátt"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Ýttu á hnapp til að stækka"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><b>"Til að stækka"</b>" skaltu ýta snögglega þrisvar sinnum á skjáinn.\n"<ul><li>"Dragðu með tveimur eða fleiri fingrum til að fletta"</li>\n<li>"Færðu tvo eða fleiri fingur saman til að stilla aðdrátt"</li></ul>\n\n<b>"Til að stækka tímabundið"</b>" skaltu ýta snögglega þrisvar sinnum á skjáinn og halda fingrinum á skjánum í þriðja skiptið.\n"<ul><li>"Dragðu til að fara um skjáinn"</li>\n<li>"Lyftu fingri til að minnka aðdrátt"</li></ul>\n\n"Þú getur ekki stækkað á lyklaborði eða yfirlitsstiku."</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"Þegar kveikt er á stækkun geturðu aukið aðdráttinn á skjánum.\n\n"<b>"Til að stækka"</b>" skaltu hefja stækkun og ýta svo hvar sem er á skjáinn.\n"<ul><li>"• Færðu tvo eða fleiri fingur eftir skjánum til að fletta"</li>\n<li>"• Færðu saman tvo eða fleiri fingur til að breyta aðdrættinum"</li></ul>\n\n<b>"Til að stækka tímabundið"</b>" skaltu hefja stækkun og halda síðan fingri hvar sem er á skjánum.\n"<ul><li>"• Dragðu til að fara um skjáinn"</li>\n<li>"• Lyftu fingrinum til að minnka aðdrátt"</li></ul>\n\n"Þú getur ekki stækkað á lyklaborðinu eða yfirlitsstikunni."</string>
+    <string name="accessibility_screen_magnification_summary" msgid="7617931632990040045">"Auktu aðdráttinn á skjánum til að sjá efnið betur.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Til að auka aðdrátt:&lt;/b&gt;&lt;br/&gt;	1. Notaðu flýtileið til að hefja stækkun&lt;br/&gt;	2. Ýttu á skjáinn&lt;br/&gt;	3. Dragðu tvo fingur til að færa um skjáinn&lt;br/&gt;	4. Færðu tvo fingur saman til að stilla aðdrátt&lt;br/&gt;	5. Notaðu flýtileið til að hætta stækkun&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Til að auka aðdrátt tímabundið:&lt;/b&gt;&lt;br/&gt;	1. Notaðu flýtileið til að hefja stækkun&lt;br/&gt;	2. Haltu fingri hvar sem er á skjánum&lt;br/&gt;	3. Dragðu fingur til að færa þig til á skjánum&lt;br/&gt;	4. Lyftu fingri til að hætta stækkun"</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Þegar kveikt er á stækkun geturðu aukið aðdráttinn á skjánum.\n\n"<b>"Til að stækka"</b>" skaltu hefja stækkun og ýta svo hvar sem er á skjáinn.\n"<ul><li>"Dragðu með tveimur eða fleiri fingrum til að fletta"</li>\n<li>"Færðu tvo eða fleiri fingur saman til að stilla aðdrátt"</li></ul>\n\n<b>"Til að stækka tímabundið"</b>" skaltu hefja stækkun og halda síðan fingri hvar sem er á skjánum.\n"<ul><li>"Dragðu til að fara um skjáinn"</li>\n<li>"Lyftu fingrinum til að minnka aðdrátt"</li></ul>\n\n"Þú getur ekki stækkað á lyklaborðinu eða yfirlitsstikunni."</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Notaðu aðgengishnappinn til að opna"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Nota bendingu til að opna"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"Notaðu nýja aðgengisbendingu"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"Til að kveikja eða slökkva á þessari þjónustu skaltu ýta á aðgengishnappinn<xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>neðst á skjánum.\n\nTil að skipta á milli þjónusta skaltu halda aðgengishnappinum inni."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"Til að kveikja eða slökkva á þessari þjónustu skaltu strjúka upp frá neðri hluta skjásins með tveimur fingrum.\n\nTil að skipta á milli þjónusta skaltu strjúka upp með tveimur fingrum og halda inni."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"Til að kveikja eða slökkva á þessari þjónustu skaltu strjúka upp frá neðri hluta skjásins með þremur fingrum.\n\nTil að skipta á milli þjónusta skaltu strjúka upp með þremur fingrum og halda inni."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"Til að kveikja eða slökkva á aðgengisþjónustu skaltu strjúka upp frá neðri hluta skjásins með tveimur fingrum.\n\nTil að skipta á milli þjónusta skaltu strjúka upp með tveimur fingrum og halda inni."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"Til að kveikja eða slökkva á aðgengisþjónustu skaltu strjúka upp frá neðri hluta skjásins með þremur fingrum.\n\nTil að skipta á milli þjónusta skaltu strjúka upp með þremur fingrum og halda inni."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"Til að kveikja eða slökkva á þessari þjónustu skaltu ýta á aðgengishnappinn <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> neðst á skjánum.\n\nTil að skipta á milli þjónusta skaltu halda aðgengishnappinum inni."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"Til að kveikja eða slökkva á þessari þjónustu skaltu strjúka upp frá neðri hluta skjásins með tveimur fingrum.\n\nTil að skipta á milli þjónusta skaltu strjúka upp með tveimur fingrum og halda inni."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"Til að kveikja eða slökkva á þessari þjónustu skaltu strjúka upp frá neðri hluta skjásins með þremur fingrum.\n\nTil að skipta á milli þjónusta skaltu strjúka upp með þremur fingrum og halda inni."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"Til að kveikja eða slökkva á aðgengisþjónustu skaltu strjúka upp frá neðri hluta skjásins með tveimur fingrum.\n\nTil að skipta á milli þjónusta skaltu strjúka upp með tveimur fingrum og halda inni."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"Til að kveikja eða slökkva á aðgengisþjónustu skaltu strjúka upp frá neðri hluta skjásins með þremur fingrum.\n\nTil að skipta á milli þjónusta skaltu strjúka upp með þremur fingrum og halda inni."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"Ég skil"</string>
+    <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Flýtileið <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_edit_summary_software" msgid="2820923641553461297">"Aðgengishnappur"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture" msgid="8078659880723370597">"Strjúktu upp með tveimur fingrum"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture_talkback" msgid="7422753388389160524">"Strjúktu upp með þremur fingrum"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software" msgid="4796192466943479849">"Ýttu á aðgengishnappinn"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8922102767509399352">"Ýttu á aðgengishnappinn <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> neðst á skjánum"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"Strjúktu upp frá neðri hluta skjásins með tveimur fingrum"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"Strjúktu upp frá neðri hluta skjásins með þremur fingrum"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Halda inni hljóðstyrkstökkum"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"Ýttu á báða hljóðstyrkstakkana og haltu þeim inni í 1 sekúndu"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Ýta þrisvar á skjá"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"Ýttu þrisvar sinnum hratt á skjáinn. Þessi flýtileið kann að hægja á tækinu."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"Ítarlegt"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"Aðgengishnappurinn er stilltur á <xliff:g id="SERVICE">%1$s</xliff:g>. Til að nota stækkun skaltu halda aðgengishnappnum inni og velja stækkun."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"Aðgengisbending er stillt á <xliff:g id="SERVICE">%1$s</xliff:g>. Til að nota stækkun skaltu strjúka upp með tveimur fingrum frá neðri hluta skjásins og halda inni. Síðan skaltu velja stækkun."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"Flýtileið með hljóðstyrkstakka"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"Flýtileiðarþjónusta"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Stillingar flýtileiðar"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"Leyfa á lásskjá"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"Þegar kveikt er á flýtileiðinni geturðu ýtt á báða hljóðstyrkshnappana í þrjár sekúndur til að opna aðgengiseiginleika."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"Texti með miklum birtuskilum"</string>
@@ -2149,24 +2157,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"Veldu hversu lengi skilaboð birtast sem biðja þig um að grípa til aðgerða, en eru aðeins sýnileg tímabundið.\n\nEkki er víst að öll forrit styðji þennan eiginleika."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"Töf þar til snerting er numin"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"Umsnúningur lita"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"Getur haft áhrif á afköst"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"Aðgerð eftir kyrrstöðu"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"Nota umsnúning lita"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"Umsnúningur lita gerir ljósa skjái dökka. Þetta hjálpar fólki sem er viðkvæmt fyrir mikilli birtu að sjá betur á skjáinn.&lt;br/&gt;&lt;br/&gt;Athugaðu að dökkir litir verða ljósir. Litir á efni og myndum breytast. Einnig er hægt að nota dökkt þema (Stillingar &gt; Skjár)."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"Sjálfvirkur smellur (aðgerð eftir kyrrstöðu)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"Ef þú notar mús geturðu stillt bendilinn þannig að hann framkvæmi aðgerð sjálfkrafa þegar hann er óhreyfður í tiltekinn tíma."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"Bíða áður en smellt er"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"Ekki nota sjálfv. smell (sjálfg.)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"Stutt"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0,2 sekúndur"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"Miðlungs"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0,6 sekúndur"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"Langt"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 sekúnda"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"Sérstillt"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"Styttri"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"Lengri"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"Tími sjálfvirks smells"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"Titringur og snertistyrkur"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Titringur fyrir tilkynningar"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Titringur hringingar"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Snertisvörun"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"Nota þjónustu"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"Nota <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"Opna <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"Nota litaleiðréttingu"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"Nota skjátexta"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"Birta skjátexta"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"Útlit fyrirsagnar"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"Textastærð, stíll fyrirsagnar"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"Fleiri valkostir"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"Ekki er víst að öll forrit styðji þessa stillingu."</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"Aðgengishnappur"</string>
+    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"Strjúka upp með tveimur fingrum"</string>
+    <string name="accessibility_shortcut_type_hardware" msgid="4834144210432451916">"Halda inni hljóðstyrkstökkum"</string>
+    <string name="accessibility_shortcut_type_triple_tap" msgid="7717524216825494543">"Ýta þrisvar á skjá"</string>
     <string name="accessibility_hearingaid_instruction_continue_button" msgid="3367260988024430722">"Áfram"</string>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"Heyrnartæki"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"Engin heyrnartæki eru tengd"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"Bæta við heyrnartækjum"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"Til að para heyrnartækin þín skaltu finna tækið og síðan ýta á það á næsta skjá."</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"Gakktu úr skugga um að heyrnartækin þín séu stillt á pörunarstillingu."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"Til að para heyrnartækin þín skaltu finna tækið og síðan ýta á það á næsta skjá. Gakktu úr skugga um að heyrnartækin þín séu stillt á pörunarstillingu."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> virkt"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> vistað heyrnartæki</item>
@@ -2178,25 +2204,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Þessi þjónusta hætti að virka."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Sýna í flýtistillingum"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"Leiðréttingastilling"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="one">Agnarstutt töf (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> msek.)</item>
-      <item quantity="other">Agnarstutt töf (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> msek.)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Rauðgræn"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"Grænrauð"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Blágul"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"Græn litblinda"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"Rauð litblinda"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"Blágul litblinda"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="one">Ákaflega stutt seinkun (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sek.)</item>
+      <item quantity="other">Ákaflega stutt seinkun (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sek.)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="one">Mjög stutt töf (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> msek.)</item>
-      <item quantity="other">Mjög stutt töf (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> msek.)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="one">Mjög stutt seinkun (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sek.)</item>
+      <item quantity="other">Mjög stutt seinkun (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sek.)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="one">Stutt töf (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> msek.)</item>
-      <item quantity="other">Stutt töf (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> msek.)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="one">Stutt seinkun (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sek.)</item>
+      <item quantity="other">Stutt seinkun (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sek.)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="one">Löng töf (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> msek.)</item>
-      <item quantity="other">Löng töf (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> msek.)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="one">Löng seinkun (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sek.)</item>
+      <item quantity="other">Löng seinkun (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sek.)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="one">Mjög löng töf (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> msek.)</item>
-      <item quantity="other">Mjög löng töf (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> msek.)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="one">Mjög löng seinkun (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sek.)</item>
+      <item quantity="other">Mjög löng seinkun (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sek.)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sek.</item>
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sek.</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"Hringing <xliff:g id="SUMMARY_RING">%1$s</xliff:g>, tilkynning <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>, snerting <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"Slökkt á titringi símtala og tilkynninga"</string>
@@ -2513,7 +2549,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"Frá síðustu hleðslu í <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"Heildarnotkun"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"Endurnýja"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"Android stýrikerfið"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"Efnisþjónn"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"Fínstilling forrita"</string>
     <string name="battery_saver" msgid="7737147344510595864">"Rafhlöðusparnaður"</string>
@@ -2594,8 +2629,7 @@
     <string name="tts_play" msgid="2945513377250757221">"Spila"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"Skilríkjageymsla"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"Setja upp frá geymslu"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"Setja upp af SD-korti"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"Settu vottorð upp"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"Setja upp vottorð úr geymslu"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"Setja upp vottorð af SD-korti"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"Hreinsa skilríki"</string>
@@ -2615,6 +2649,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"Hreinsað úr skilríkjageymslu."</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"Ekki tókst að eyða skilríkjageymslu."</string>
     <string name="usage_access_title" msgid="1580006124578134850">"Forrit með notkunaraðgang"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"CA-vottorð"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"VPN- og forritsnotandavottorð"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"Wi‑Fi vottorð"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"Persónuvernd þín er í hættu"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"Vefsvæði, forrit og VPN-net nota CA-vottorð til dulkóðunar. Þú skalt aðeins setja upp CA-vottorð frá fyrirtækjum og stofnunum sem þú treystir. \n\n Ef þú setur upp CA-vottorð gæti eigandi vottorðsins fengið aðgang að upplýsingunum þínum, eins og aðgangsorðum, skilaboðum eða kreditkortaupplýsingum, af vefsvæðum sem þú heimsækir eða úr forritum sem þú notar – jafnvel þótt þær upplýsingar séu dulkóðaðar."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"Ekki setja upp"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"Setja samt upp"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"Vottorðið var ekki sett upp"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"Neyðarhringimerki"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Velja hvað gerist þegar neyðarsímtal er hringt"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Öryggisafrit"</string>
@@ -2642,10 +2684,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"Gera óvirkt og fjarlægja"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"Forrit tækjastjóra"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"Engin forrit tækjastjóra tiltæk"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"Persónulegt"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"Vinna"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"Takmarka aðgang að SMS- og símtalaskrá"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"Aðeins sjálfgefin síma- og skilaboðaforrit hafa heimildir sem gefa aðgang að SMS- og símtalaskrá"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"Engir tiltækir traustfulltrúar"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"Virkja forrit tækjastjóra?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"Virkja þetta forrit tækjastjóra"</string>
@@ -2659,6 +2697,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"Kerfisstjóri hefur slökkt á öðrum valkostum"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"Frekari upplýsingar"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"Tilkynningaannáll"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"Tilkynningaferill"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"Í dag"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"Frestað"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"Hunsað nýlega"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="one"><xliff:g id="NUMBER_1">%d</xliff:g> tilkynningar</item>
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> tilkynningar</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"Hringitónn og titringur símtala"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"Upplýsingar um net"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"Samstilling virk"</string>
@@ -3008,7 +3054,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"Takmarkanir"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"Fjarlægja takmarkanir"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"Breyta PIN-númeri"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"Sýna tilkynningar"</string>
     <string name="help_label" msgid="2896538416436125883">"Hjálp og ábendingar"</string>
     <string name="support_summary" msgid="1034146931237148885">"Hjálpargreinar, aðstoð í síma og í spjalli, aðstoð við að hefjast handa"</string>
     <string name="user_account_title" msgid="6389636876210834864">"Reikningur fyrir efni"</string>
@@ -3033,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G símtöl"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Nota LTE-þjónustu til að bæta talsamband og önnur samskipti (ráðlagt)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Nota 4G-þjónustu til að bæta talsamband og önnur samskipti (ráðlagt)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Greining tengiliða"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Leyfir símafyrirtækinu þínu að komast að því hvaða símtalaeiginleikar eru studdir fyrir tengiliði."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Viltu leyfa greiningu tengiliða?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Ef kveikt er á þessum eiginleika fær símafyrirtækið þitt aðgang að símanúmerum í tengiliðunum þínum til þess að komast að því hvaða símtalaeiginleikar eru studdir fyrir þá."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Valin símkerfistegund"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (ráðlagt)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS-skilaboð"</string>
@@ -3077,7 +3126,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"Hringja með"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"Velja SIM-kort"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"SIM-kort <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"Ekkert SIM-kort"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"Heiti SIM-korts"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"Sláðu inn heiti SIM-korts"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"SIM-kortarauf %1$d"</string>
@@ -3087,6 +3135,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"Velja SIM-kort"</string>
     <string name="color_orange" msgid="216547825489739010">"Appelsínugulur"</string>
     <string name="color_purple" msgid="6603701972079904843">"Fjólublár"</string>
+    <string name="color_pink" msgid="8596872110888626708">"Bleikur"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"Ekkert SIM-kort í"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"Staða SIM-korts"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"SIM-staða (SIM-rauf %1$d)"</string>
@@ -3100,7 +3149,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"Skipt um SIM-kort."</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Ýttu til að setja upp"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"Valið SIM-kort fyrir"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Spyrja í hvert skipti"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Val er áskilið"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"SIM-val"</string>
@@ -3118,6 +3166,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"Bluetooth, akstursstilling"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"Bluetooth, NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"Bluetooth"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"Ekki í boði vegna þess að slökkt er á NFC"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"Forrit og tilkynningar"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Nýleg forrit, sjálfgefin forrit"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Tilkynningaaðgangur er ekki í boði fyrir forrit í vinnusniði."</string>
@@ -3128,13 +3177,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"Stillingar"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"wifi, Wi-Fi, nettenging, internet, þráðlaust, gögn, wi fi"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"Wi‑Fi tilkynning, wifi tilkynning"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"gagnanotkun"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"Stöðva titring, ýta, lyklaborð"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"Nota 24 tíma snið"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"Sækja"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"Opna með"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"Forrit"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"tímabelti"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"Spjallblaðra"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"Spjallblaðra, kerfi, tilkynning, gluggi, svargluggi, skjár, yfir önnur forrit, teikna"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"Vasaljós, ljós"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"wifi, wi-fi, kveikja, slökkva, stjórna"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"farsími, farsímakerfi, þráðlaust, gögn, 4g, 3g, 2g, lte"</string>
@@ -3158,7 +3208,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"ekki trufla, ónáðið ekki, truflun, hlé, pása"</string>
     <string name="keywords_app" msgid="7983814237980258061">"Vinnsluminni"</string>
     <string name="keywords_location" msgid="8016374808099706213">"í nágrenninu, staðsetning, ferill, tilkynningar,GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"reikningur"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"reikningur, bæta við reikningi, vinnusnið, nýr reikningur"</string>
     <string name="keywords_users" msgid="3497517660077620843">"takmörkun, takmarka, takmarkað"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"textaleiðrétting, leiðrétta, hljóð, titringur, sjálfvirkt, tungumál, bending, uppástunga, tillaga, þema, móðgandi, orð, skrifa, emoji, alþjóðlegt"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"endurstilla, stillingar, sjálfgefið"</string>
@@ -3196,6 +3246,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"minni, skyndiminni, gögn, eyða, hreinsa, laust, pláss"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"tengt, tæki, heyrnartól, höfuðtól, hátalari, þráðlaust, para, heyrnartól, tónlist, efni"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"bakgrunnur, skjár, lásskjár, þema"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"lögun tákns, áherslulitur, leturgerð"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"sjálfgefið, hjálpari"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"greiðsla, sjálfgefin"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"tilkynning berst"</string>
@@ -3205,18 +3256,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"snertisvörun, titringur, næmi"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"rafhlöðusparnaður, fest, halda, sparnaðarstilling, rafhlaða"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"venja, áætlun, rafhlöðusparnaður, orkusparnaður, rafhlaða, sjálfvirkt, prósent"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"vinnusnið"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"volte, betri símtöl, 4g-símtöl"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"nýtt tungumál, bæta við tungumáli"</string>
     <string name="default_sound" msgid="6604374495015245195">"Sjálfgefið hljóð"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"Hljóðstyrkur er <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"Hljóðstyrkur símtala og tilkynninga í <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Hljóðstyrkur, titringur, ónáðið ekki"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"Hringjari stilltur á titring"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"Hljóð tekið af hringjara"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"Hljóðstyrkur er 80%"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"Hljóðstyrkur símtala og tilkynninga í 80%"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Hljóðstyrkur margmiðlunarefnis"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Hljóðstyrkur sendingar"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"Hljóðstyrkur símtala"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"Hljóðstyrkur vekjara"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"Hljóðstyrkur hringingar"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"Hljóðst. símtala og tilkynn."</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"Hljóðstyrkur tilkynninga"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"Hringitónn síma"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"Sjálfgefið hljóð tilkynninga"</string>
@@ -3224,6 +3276,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"Sjálfgefið hljóð tilkynninga"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"Sjálfgefið hljóð í vekjara"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"Titra við hringingu"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"Titra aldrei"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"Titra alltaf"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"Titra og hækka hringitón smám saman"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"Önnur hljóð"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"Tónar takkaborðs"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"Hljóð skjáláss"</string>
@@ -3247,6 +3302,7 @@
       <item quantity="other">Kveikt á <xliff:g id="ON_COUNT">%d</xliff:g></item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Ónáðið ekki"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Fáðu aðeins tilkynningar frá mikilvægum einstaklingum og forritum"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Takmarka truflanir"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Kveikja á „Ónáðið ekki“"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"Undantekningar"</string>
@@ -3273,7 +3329,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Útiloka sjónrænt áreiti"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Leyfa sjónræn merki"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"Þegar kveikt er á „Ónáðið ekki“"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"Leyfa truflanir sem gefa frá sér hljóð"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"Takmarka tilkynningar"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Ekkert hljóð frá tilkynningum"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"Þú munt sjá tilkynningar á skjánum þínum"</string>
@@ -3304,7 +3360,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"Hljóð og titringur"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"Hljóð, titringur og sum sjónræn merki tilkynninga"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"Hljóð, titringur og sjónræn merki tilkynninga"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"Tilkynningar um grunnvirkni og stöðu símans verða aldrei faldar"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"Tilkynningar um grunnvirkni og stöðu símans verða aldrei faldar."</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"Engin"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"aðrir valkostir"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"Bæta við"</string>
@@ -3334,10 +3390,12 @@
       <item quantity="one"><xliff:g id="ON_COUNT">%d</xliff:g> áætlun getur farið sjálfkrafa í gang</item>
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> áætlanir geta farið sjálfkrafa í gang</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"Þagga í tækinu en leyfa undantekningar"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"Undantekningar"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"Áætlun"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"Sjá allar undantekningar"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"Undantekningar þegar kveikt er á „Ónáðið ekki“"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"Fólk"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"Forrit"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"Vekjarar &amp; aðrar truflanir"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"Áætlanir"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"Þaggaðar tilkynningar"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"Þegar kveikt er á „Ónáðið ekki“ gefur síminn hvorki frá sér hljóð né titrar, nema vegna þeirra atriða sem þú leyfir hér fyrir ofan."</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"Þagga allt nema"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"Þaggað"</string>
@@ -3381,16 +3439,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"Breytilegar tilkynningar"</string>
     <string name="asst_capability_prioritizer_title" msgid="1181272430009156556">"Breytilegur forgangur tilkynninga"</string>
     <string name="asst_capability_prioritizer_summary" msgid="954988212366568737">"Stilla tilkynningar með lægri forgangi sjálfkrafa á Lágstemmdar"</string>
+    <string name="asst_capability_ranking_title" msgid="312998580233257581">"Breytilegt vægi tilkynninga"</string>
+    <string name="asst_capability_ranking_summary" msgid="2293524677144599450">"Raða tilkynningum sjálfkrafa eftir vægi"</string>
     <string name="asst_capabilities_actions_replies_title" msgid="4392470465646394289">"Tillögur að aðgerðum og svörum"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"Sýna sjálfkrafa tillögur að aðgerðum og svörum"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"Kveikja á tilkynningaferli til að fylgjast með fyrri tilkynningum og frestuðum tilkynningum"</string>
+    <string name="notification_history" msgid="8663811361243456201">"Tilkynningaferill"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"Kveikja á ferli"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"Slökkva á ferli"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"Slökkt er á tilkynningaferli"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"skoða tilkynningastillingar"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Leyfa blund fyrir tilkynningar"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"Fela tákn úr lágstemmdum tilkynningum"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"Tákn lágstemmdra tilkynninga birtast ekki á stöðustiku"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"Leyfa tilkynningapunkta"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"Sýna rönd með nýjustu samtölum"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Blöðrur"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"Sumar tilkynningar geta birst sem blöðrur á skjánum"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"Sumar tilkynningar og annað efni getur birst sem blöðrur á skjánum. Ýttu á blöðruna til að opna hana. Dragðu blöðruna niður skjáinn til að hunsa hana."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Blöðrur"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"Ný skilaboð munu birtast á skjánum"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"Leyfa <xliff:g id="APP_NAME">%1$s</xliff:g> að sýna sumar tilkynningar í blöðrum"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"Kveikja á blöðrum"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"Til að geta kveikt á blöðrum fyrir þetta forrit þarftu að kveikja á blöðrum í tækinu. Þetta hefur áhrif á forrit þar sem þú hefur kveikt á blöðrum."</string>
@@ -3408,6 +3476,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"Birtist á fellisvæði og lásskjá"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"Birtist á fellisvæði og stöðustiku"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"Birta á fellisvæði, stöðustiku og lásskjá"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"Fela þöglar tilkynningar á stöðustiku"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"Blikkandi ljós"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"Lásskjár"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"Sleppa lásskjá"</string>
@@ -3438,6 +3507,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"Hegðun"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"Leyfa hljóð"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"Aldrei sýna tilkynningar"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"Samtöl"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"Samtal"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"Ekki samtal"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"Fjarlægja úr samtalshlutanum"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"Þetta er samtal"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"Bæta við samtalshlutann"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"Stjórna samtölum"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"Mikilvæg samtöl"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"Öll samtöl"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"Setja mikilvæg samtöl í blöðru"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"Mikilvæg samtöl birtast efst á tilkynningasvæðinu. Þú getur einnig stillt þau á að birtast í blöðru og trufla „Ónáðið ekki“."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"Sýna án hljóðs og fela"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"Sýna án hljóðs"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"Spila hljóð"</string>
@@ -3456,7 +3536,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"Auðveldar þér að einbeita þér án hljóðs eða titrings"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"Fangar athygli þína með hljóði eða titringi"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"Birta tilkynningar á borða efst á skjánum þegar tækið er opið"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"Sýna tilkynningar"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"Allar tilkynningar fyrir <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"Breytilegar tilkynningar"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="one">~<xliff:g id="NUMBER_1">%d</xliff:g> tilkynning á dag</item>
@@ -3477,6 +3557,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"Breytilegar tilkynningar"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"Engin"</string>
     <string name="no_notification_listeners" msgid="2839354157349636000">"Engin uppsett forrit hafa óskað eftir tilkynningaaðgangi."</string>
+    <string name="notification_access_detail_switch" msgid="46386786409608330">"Leyfa aðgang að tilkynningum"</string>
     <string name="notification_assistant_security_warning_title" msgid="2972346436050925276">"Veita <xliff:g id="SERVICE">%1$s</xliff:g> aðgang að tilkynningum?"</string>
     <string name="notification_assistant_security_warning_summary" msgid="3119843404577399036">"<xliff:g id="NOTIFICATION_ASSISTANT_NAME">%1$s</xliff:g> getur lesið allar tilkynningar, þar á meðal persónuupplýsingar á borð við nöfn tengiliða og texta skilaboða sem þú færð. Forritið getur einnig breytt tilkynningum eða hunsað þær eða valið aðgerðahnappa innan þeirra. \n\n Þetta gerir forritinu einnig kleift að kveikja og slökkva á „Ónáðið ekki“ og breyta tengdum stillingum."</string>
     <string name="notification_listener_security_warning_title" msgid="5791700876622858363">"Veita <xliff:g id="SERVICE">%1$s</xliff:g> aðgang að tilkynningum?"</string>
@@ -3538,8 +3619,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"Lokið"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"Mikilvægi"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"Blikkandi ljós"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"Titringur"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"Titringur"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"Hljóð"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"Mikilvægt"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"Bæta við heimaskjá"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"Eyða"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"Endurnefna"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"Heiti áætlunar"</string>
@@ -3593,6 +3676,10 @@
       <item quantity="one"><xliff:g id="NUM_PEOPLE">%d</xliff:g> í viðbót</item>
       <item quantity="other"><xliff:g id="NUM_PEOPLE">%d</xliff:g> í viðbót</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Samtöl"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"Úr öllum samtölum"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"Úr mikilvægum samtölum"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"Ekki leyfa nein samtöl"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"Leyfa skilaboð"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"Til að tryggja að það heyrist í leyfðum skilaboðum skaltu athuga hvort tækið sé stillt á að hringja, titra eða vera hljóðlaust."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"Lokað er fyrir móttekin skilaboð fyrir „<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>“. Hægt er að breyta stillingum til að leyfa símtöl frá vinum, fjölskyldumeðlimum eða öðrum tengiliðum."</string>
@@ -3606,15 +3693,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"Ekkert"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"Ekki leyfa nein símtöl"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"Ekki leyfa nein skilaboð"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"Leyfa vekjara"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"Vekjarar"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"Frá teljurum, vekjurum, öryggiskerfi og öðrum forritum"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"vekjarar"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"Spila hljóð efnis"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"Efnishljóð"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"Frá myndskeiðum, leikjum og öðru efni"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"margmiðlunarefni"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"Leyfa snertihljóð"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"Snertihljóð"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"Af lyklaborðinu þínu og öðrum hnöppum"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"snertihljóð"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"Leyfa áminningar"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"Áminningar"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"Frá verkefnum og áminningum"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"áminningar"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"Leyfa viðburði"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"Viðburðir"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"Frá viðburðum á döfinni í dagatali"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Leyfa forritum að hnekkja"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"Undantekningar forrita"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3657,6 +3749,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"Láta tilkynningar sem þaggaðar eru með „Ónáðið ekki“ kveikja á skjánum"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"Tilkynningastillingar"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"Í lagi"</string>
+    <string name="suggestion_button_close" msgid="6865170855573283759">"Loka"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Senda ábendingar um þetta tæki"</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"Færðu inn PIN-númer kerfisstjóra"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"Kveikt"</string>
@@ -3667,6 +3760,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Biðja um PIN-númer til að losa"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Biðja um aðgangsorð til að losa"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Læsa tækinu við losun"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Staðfesta eyðingu SIM-korts"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"Staðfestu hver þú ert áður en þú eyðir sóttu SIM-korti"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"Þessu vinnusniði er stjórnað af:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"Stjórnað af <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(Tilraun)"</string>
@@ -3741,8 +3836,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"Öll forrit"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Uppsett forrit"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Skyndiforrit"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"Persónulegt"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"Vinna"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"Forrit: Öll"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"Slökkt"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"Flokkar: Afar áríðandi"</string>
@@ -3754,6 +3847,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"Óþekkt forrit"</string>
     <string name="app_permissions" msgid="8666537659217653626">"Heimildastjóri"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"Forrit sem nota <xliff:g id="APPS">%1$s</xliff:g>"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"Forrit sem nota <xliff:g id="APPS">%1$s</xliff:g> og fleira"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"Ýta til að vekja"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"Ýttu tvisvar hvar sem er á skjáinn til að vekja tækið."</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"Opnar tengla"</string>
@@ -3765,9 +3859,14 @@
       <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> forrit opnar studda tengla</item>
       <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> forrit opna studda tengla</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"Opna í þessu forriti"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"Leyfa forriti að opna studda tengla"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"Spyrja í hvert skipti"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"Ekki opna í þessu forriti"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"Ekki leyfa forriti að opna tengla"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="one">Forrit segist taka við <xliff:g id="COUNT_1">%d</xliff:g> tengli</item>
+      <item quantity="other">Forrit segist taka við <xliff:g id="COUNT_1">%d</xliff:g> tenglum</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"Forrit segist taka við eftirfarandi tenglum:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"Sjálfgefið"</string>
     <string name="default_for_work" msgid="537558180548617528">"Sjálfgefið fyrir vinnu"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"Aðstoð og raddinntak"</string>
@@ -3911,8 +4010,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"Opna ofan á öðrum forritum"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Leyfa að opnað sé ofan á öðrum forritum"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"Leyfa þessu forriti að opnast ofan á öðrum opnum forritum. Forritið kann að trufla notkun hinna forritanna eða breyta útliti þeirra eða virkni."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"Aðgangur að öllum skrám"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"Leyfa aðgang til að stjórna öllum skrám"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Leyfa þessu forriti að lesa, breyta og eyða öllum skrám í þessu tæki eða tengdum geymsludrifum. Ef heimild er veitt fær forritið aðgang að skránum þínum án þess að þér sé tilkynnt sérstaklega um það."</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"Hefur aðgang að öllum skrám"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"sýndarveruleiki vöktun víðóma hjálp þjónusta"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"viðvörunargluggi kerfis gluggi birta ofan á öðrum forritum"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"Opna ofan á öðrum forritum"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"<xliff:g id="COUNT_0">%1$d</xliff:g> af <xliff:g id="COUNT_1">%2$d</xliff:g> forritum mega opnast ofan á öðrum forritum"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"Forrit með heimild"</string>
@@ -4078,6 +4180,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"<xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g> notuð"</string>
     <string name="data_overusage" msgid="3680477320458707259">"<xliff:g id="ID_1">^1</xliff:g> yfir"</string>
     <string name="data_remaining" msgid="6316251496381922837">"<xliff:g id="ID_1">^1</xliff:g> eftir"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"Myndrit sem sýnir gagnanotkun frá <xliff:g id="START_DATE">%1$s</xliff:g> til <xliff:g id="END_DATE">%2$s</xliff:g>."</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"Engin gögn á þessu tímabili"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="one">%d dagur eftir</item>
       <item quantity="other">%d dagar eftir</item>
@@ -4141,14 +4245,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"pakkastærð"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"tilkynning tilkynnt"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"hljóð"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"titringur"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"mynstur"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"sjálfgefið"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"rás"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"ekkert"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"Uppröðunarhlut vantar."</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"Uppröðunarhlutur inniheldur ekki þennan lykil."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"Þemu"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"Sjálfgefin stilling tækis"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"Skjáskurður"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"úrklippa af skjá, hak"</string>
@@ -4237,8 +4337,12 @@
     <string name="information_label" msgid="6939310810756569298">"Upplýsingar"</string>
     <string name="low_label" msgid="6525629096999711220">"Lítið"</string>
     <string name="high_label" msgid="357503396626018487">"Mikið"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"Meira næmi gæti stangast á við bendingar forrita við jaðar skjásins."</string>
+    <string name="left_edge" msgid="1513576842959071849">"Vinstri brún"</string>
+    <string name="right_edge" msgid="1505309103265829121">"Hægri brún"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"Meira næmi gæti stangast á við bendingar forrita við jaðar skjásins."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"Baknæmi"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"Bendistillingar"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"bendingastjórnun, næmi til baka, bending til baka"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"Ýta tvisvar til að skoða"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"Ýta tvisvar til að athuga spjaldtölvu"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"Ýta tvisvar til að athuga tæki"</string>
@@ -4393,7 +4497,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"Kveikja á úthlutun símafyrirtækis"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"Uppfæra „Ónáðið ekki“"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"Gera hlé á tilkynningum svo þær trufli ekki"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"Þessi eiginleiki er ekki í boði í þessu tæki"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"Eiginleikinn er ekki í boði"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"Slökkt hefur verið á þessum eiginleika því hann hægir á símanum"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"Full GNSS-mæling"</string>
@@ -4403,20 +4506,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"Velja forrit sem styður ANGLE"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"Ekkert forrit sem styður ANGLE hefur verið stillt"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"Forrit sem styður ANGLE: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"Stillingar leikjarekils"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"Breyta stillingum leikjarekils"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"Þegar kveikt er á leikjarekli geturðu valið að nota uppfærðan myndvinnslurekil fyrir forrit sem eru uppsett á tækinu."</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"Kveikja fyrir öll forrit"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"Velja myndvinnslurekil"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"Sjálfgefið"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"Leikjarekill"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"Forútgefinn rekill"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"Myndvinnslurekill kerfis"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"Kjörstillingar myndvinnslurekils"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"Breyta stillingum myndvinnslurekils"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"Þegar margir myndvinnslureklar eru til staðar geturðu valið að nota uppfærðan myndvinnslurekil fyrir forrit sem eru uppsett á tækinu."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"Kveikja fyrir öll forrit"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"Velja myndvinnslurekil"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"Sjálfgefið"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"Leikjarekill"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"Rekill þróunaraðila"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Myndvinnslurekill kerfis"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Breytingar á samhæfi forrits"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Víxla samhæfisbreytingum forrits"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Sjálfgefnar virkar breytingar"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Sjálfgefnar óvirkar breytingar"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"Stillingin er ekki studd í þessum síma"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"Stillingin er ekki studd í þessari spjaldtölvu"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"Stillingin er ekki studd í þessu tæki"</string>
@@ -4435,6 +4544,11 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"Tæki"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Ekki í boði á meðan símtal er í gangi"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"Ekki í boði"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"Bæta við úttaki"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"Hópur"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 tæki valið"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> tæki valin"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"Skiptir…"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Taka við símtali í"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Ekki er hægt að breyta þessum aðgangsstað."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Auktu rafhlöðuendingu spjaldtölvunnar"</string>
@@ -4552,10 +4666,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Aðeins eitt SIM-kort getur verið virkt í einu.\n\nÞótt þú skiptir yfir í <xliff:g id="CARRIER1">%1$s</xliff:g> verður þjónustu þinni hjá <xliff:g id="CARRIER2">%2$s</xliff:g>."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Skipta yfir í <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Hreinsa SIM"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Viltu hreinsa þetta sótta SIM-kort?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Ef þessu SIM-korti er eytt verður þjónusta <xliff:g id="CARRIER_0">%1$s</xliff:g> fjarlægð úr þessu tæki.\n\nÞjónustu <xliff:g id="CARRIER_1">%2$s</xliff:g> verður ekki sagt upp."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Eyða"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Eyðir SIM-korti…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Ekki hreinsa SIM"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Ekki er hægt að eyða þessu SIM-korti vegna villu.\n\nEndurræstu tækið og reyndu aftur."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Valin símkerfistegund"</string>
@@ -4580,7 +4690,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Ógild símkerfisstilling <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Hunsa."</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Heiti aðgangsstaða"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Ekki í boði þegar tenging við <xliff:g id="CARRIER">%1$s</xliff:g> er til staðar"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"Heilsufarsupplýsingar, neyðartengiliðir"</string>
     <string name="see_more" msgid="7499355691042812723">"Sjá meira"</string>
     <string name="see_less" msgid="2642392725363552793">"Sjá minna"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"Tæki sem á að nota með <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
@@ -4589,11 +4698,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"Eitthvað kom upp. Forritið hætti við beiðnina til að velja tæki."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"Tenging tókst"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"Sýna allar"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> tæki tengt</item>
-      <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> tæki tengd</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"Engin Bluetooth-tæki"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"Leitar að tæki…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"Tengist við tæki…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"Vinstra"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"Hægra"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Hulstur"</string>
@@ -4603,6 +4709,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"Ekki tiltækt í flugstillingu"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"Þvinga skjáborðsstillingu"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Þvinga tilraunaskjáborðsstillingu á öðrum skjá"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"Leyfa frjálst snið fyrir samhæfa stærð"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"Leyfir forritum í samhæfri stærð að vera með frjálsu sniði"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Hnekkja dökku"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"Kemur í veg fyrir að alltaf sé kveikt á dökkum eiginleika"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"Persónuvernd"</string>
@@ -4639,6 +4747,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Þú settir þetta forrit nýlega upp."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Skipta um úttak"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Í spilun núna í <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (aftengt)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Ekki skipt. Ýttu til að reyna aftur."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Mikilvægar upplýsingar"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"HALDA ÁFRAM"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"NEI, TAKK"</string>
@@ -4666,8 +4776,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"SIM-samsetning"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Upplýsingar um vinnureglurnar þína"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Kerfisstjóri stjórnar stillingum"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"Skjákort"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"Meðhöndlun villutilkynningar"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Ákvarðar hvaða forrit meðhöndlar flýtileiðir í villutilkynningu í tækinu þínu."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Persónulegt"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"Vinna"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"Sjálfgildi kerfis"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"Þetta val er ekki lengur gilt. Reyndu aftur."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"Stöðva útsendingu"</string>
 </resources>
diff --git a/res/values-it/arrays.xml b/res/values-it/arrays.xml
index 8b6807e..c39aaef 100644
--- a/res/values-it/arrays.xml
+++ b/res/values-it/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"Immediatamente"</item>
     <item msgid="463591454172790676">"5 secondi"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"Non convalidare"</item>
+    <item msgid="5703177653586269306">"Chiedi stato dei certificati"</item>
+    <item msgid="326388247868439528">"Richiedi stato dei certificati"</item>
+    <item msgid="1090956283885790552">"Richiedi gli stati di tutti i certificati non attendibili"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"Pulsante di comando"</item>
     <item msgid="2630618799033509548">"PIN del dispositivo peer"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"Nessuno"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"VPN IPSec con chiavi precondivise e autenticazione Xauth"</item>
     <item msgid="2484564813864139237">"VPN IPSec con certificati e autenticazione Xauth"</item>
     <item msgid="68918911194507915">"VPN IPSec con certificati e autenticazione ibrida"</item>
+    <item msgid="4631647675167100375">"VPN IKEv2/IPSec con certificati e autenticazione tramite nome utente/password"</item>
+    <item msgid="8812228622975052811">"VPN IKEv2/IPSec con chiavi precondivise"</item>
+    <item msgid="6630554779981113046">"VPN IKEv2/IPSec con certificati"</item>
   </string-array>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"Nessuno"</item>
diff --git a/res/values-it/config.xml b/res/values-it/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-it/config.xml
+++ b/res/values-it/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index b05ba10..c65a26c 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -31,49 +31,17 @@
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Attiva prima Opzioni sviluppatore."</string>
     <string name="header_category_wireless_networks" msgid="303445626075235229">"Wireless e reti"</string>
     <string name="header_category_system" msgid="1665516346845259058">"Sistema"</string>
-    <string name="radio_info_data_connection_enable" msgid="7500945447906187613">"Attiva connessione dati"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"Disattiva connessione dati"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"Provisioning VoLTE"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"Videochiamate fornite"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"Chiamate tramite Wi-Fi fornite"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"Provisioning EAB/Presence completato"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"Dati CBRS"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"Attiva DSDS"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"Vuoi riavviare il dispositivo?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"Riavvia il dispositivo per modificare questa impostazione."</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"Riavvia"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"Annulla"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"Potenza del segnale radio mobile"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"Visualizza rubrica SIM"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"Visualizza numeri selezione fissa"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"Visualizza numeri dell\'elenco dei numeri di servizio"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"Stato del servizio IMS"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"Stato IMS"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"Registrato"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"Non registrato"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"Disponibile"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"Non disponibile"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"Registrazione IMS: <xliff:g id="STATUS">%1$s</xliff:g>\nChiamate tramite LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nChiamate tramite Wi-Fi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideochiamata: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nInterfaccia UT: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"In servizio"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Fuori servizio"</string>
     <string name="radioInfo_service_emergency" msgid="6838935881091760942">"Solo chiamate di emergenza"</string>
     <string name="radioInfo_service_off" msgid="6184928420860868571">"Segnale radio disattivato"</string>
     <string name="radioInfo_roaming_in" msgid="8892550453644088692">"Roaming"</string>
     <string name="radioInfo_roaming_not" msgid="3137594549464975054">"Non in roaming"</string>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"Inattivo"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"Chiamata in corso"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"Chiamata in corso"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"Disconnesso"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"Connessione"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"Connesso"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Sospeso"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Sconosciuto"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"pkt"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"byte"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"Sistema di identificazione contenuti"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"Smonta archivio USB"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"Smonta scheda SD"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"Cancella archivio USB"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"Ingrandisci o riduci il testo sullo schermo."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Rimpicciolisci"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Ingrandisci"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"Testo di esempio"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"Il meraviglioso mago di Oz"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"Capitolo 11: La splendida Città di smeraldo di Oz"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"Riavvia il dispositivo per modificare questa impostazione."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"Riavvia"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"Annulla"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"Dispositivi multimediali disponibili"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"Dispositivi di chiamata disponibili"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"Attualmente connessi"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"Dispositivi multimediali"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"Dispositivi di chiamata"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"Altri dispositivi"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Dispositivi salvati"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Il Bluetooth verrà attivato per consentire l\'accoppiamento"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Preferenze di connessione"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"La porta specificata non è valida."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"Il proxy HTTP viene utilizzato dal browser ma potrebbe non essere utilizzato da altre applicazioni."</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"URL PAC: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"ID secondario corrente:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"ID secondario della SIM dati predefinita:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"Larghezza di banda DL (kbps):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"Larghezza di banda UL (kbps):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"Informazioni sulla posizione delle celle (obsoleto):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"Configurazione canale fisico LTE:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"Frequenza di aggiornamento delle informazioni sulle celle:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"Informazioni sulla misurazione di tutte le celle:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"Servizio dati:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"Roaming:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"Reindirizzamento chiamate:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"Numero di PPP reimpostati dall\'avvio:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"Rete corrente:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"Dati ricevuti:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"Servizio vocale:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"Intensità del segnale:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"Stato della chiamata vocale:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"Dati inviati:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"Messaggio in attesa:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"Numero di telefono:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"Seleziona banda radio"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"Tipo di rete vocale:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"Tipo di rete di dati:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"Seleziona indice telefonico"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"Imposta tipo di rete preferito:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"Ping nome host (www.google.com) IPv4:"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"Ping nome host (www.google.com) IPv6:"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"Test client HTTP:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"Invia ping di test"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"Aggiorna"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"Aggiorna"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"Attiva o disattiva verifica DNS"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"Info/impostazioni specifiche OEM"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"Imposta modalità banda radio"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"Caricamento elenco bande..."</string>
-    <string name="band_mode_set" msgid="494968379352406359">"Imposta"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"Non riuscita"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"Riuscita"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"Le modifiche verranno applicate quando verrà ricollegato il cavo USB."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"Attiva archivio di massa USB"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"Byte totali:"</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"Sposta in fondo"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"Rimuovi la lingua"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"Scegli attività"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"Info dispositivo"</string>
     <string name="display_label" msgid="3056320781191343221">"Schermo"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"Info tablet"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"Info telefono"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"Archivio USB"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"Scheda SD"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"Impostazioni proxy"</string>
@@ -306,9 +234,6 @@
     <string name="airplane_mode" msgid="3196085857882526817">"Modalità aereo"</string>
     <string name="wireless_networks_settings_title" msgid="8557542379234105369">"Wireless e reti"</string>
     <string name="radio_controls_summary" msgid="9028430178697624501">"Gestisci Wi‑Fi, Bluetooth, modalità aereo, reti mobili e VPN"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"Dati mobili"</string>
-    <string name="calls_title" msgid="6334813967619899114">"Consenti chiamate"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"Messaggi SMS"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"Consenti utilizzo di dati su rete mobile"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"Consenti util. dati in roaming"</string>
     <string name="roaming" msgid="3055365654530847985">"Roaming"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"Connetti a servizi di dati in roaming"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"Connettività dati persa: hai lasciato la rete del tuo operatore con il roaming dati disattivato."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"Attiva"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"I costi potrebbero essere elevati."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"Quando consenti il roaming dei dati, potrebbero essere addebitati costi significativi per il roaming.\n\nQuesta impostazione influisce su tutti gli utenti di questo tablet."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"Quando consenti il roaming dei dati, potrebbero essere addebitati costi significativi per il roaming.\n\nQuesta impostazione influisce su tutti gli utenti di questo telefono."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"Potrebbero essere addebitati costi per il roaming."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"Se consenti il roaming dei dati, potrebbero essere addebitati costi per il roaming.\n\nQuesta impostazione viene applicata per tutti gli utenti del tablet."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"Se consenti il roaming dei dati, potrebbero essere addebitati costi per il roaming.\n\nQuesta impostazione viene applicata per tutti gli utenti del telefono."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"Consentire il roaming dei dati?"</string>
     <string name="networks" msgid="5184501333492775095">"Selezione operatore"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"Scegli un operatore di rete"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"Disattivati dall\'amministratore"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"Mostra opzione di blocco"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"Visualizza l\'opzione del tasto di accensione che disattiva Smart Lock, lo sblocco tramite dati biometrici e le notifiche nella schermata di blocco"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"Sblocco solo per agenti di attendibilità"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"Se l\'opzione è attiva, gli agenti di attendibilità manterranno sbloccato il tuo dispositivo per più tempo, ma non potranno più sbloccare un dispositivo bloccato."</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"Blocco dello schermo quando viene persa l\'attendibilità"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"Se l\'opzione è attiva, il dispositivo si blocca quando l\'ultimo agente di attendibilità perde l\'attendibilità."</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"Nessuno"</string>
@@ -390,7 +313,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"Imposta La mia posizione, sblocco schermo, blocco SIM, blocco cred."</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"Imposta La mia posizione, sblocco schermo, blocco archivio credenziali"</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"Privacy"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"Disattivata dall\'amministratore"</string>
+    <string name="disabled_by_administrator_summary" msgid="5424846182313851124">"Non disponibile"</string>
     <string name="security_status_title" msgid="6958004275337618656">"Stato sicurezza"</string>
     <string name="security_dashboard_summary_face" msgid="4198949293847206382">"Blocco schermo, Sblocco con il volto"</string>
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Blocco schermo, impronta"</string>
@@ -693,7 +616,6 @@
       <item quantity="other">Deve contenere meno di <xliff:g id="NUMBER_1">%d</xliff:g> cifre</item>
       <item quantity="one">Deve contenere meno di <xliff:g id="NUMBER_0">%d</xliff:g> cifra</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"Deve contenere solo cifre da 0 a 9"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"L\'amministratore del dispositivo non consente l\'utilizzo di un PIN recente"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"I PIN comuni sono stati bloccati dall\'amministratore IT. Prova a usare un altro PIN."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"Non può contenere un carattere non valido"</string>
@@ -724,6 +646,10 @@
       <item quantity="other">Deve contenere almeno <xliff:g id="COUNT">%d</xliff:g> caratteri non costituiti da una lettera</item>
       <item quantity="one">Deve contenere almeno 1 carattere non costituito da una lettera</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="other">Deve contenere almeno <xliff:g id="COUNT">%d</xliff:g> caratteri non numerici</item>
+      <item quantity="one">Deve contenere almeno 1 carattere non numerico</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"L\'amministratore del dispositivo non consente l\'utilizzo di una password recente."</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"Le password comuni sono state bloccate dall\'amministratore IT. Prova a usare un\'altra password."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"Non sono consentite sequenze di cifre in ordine ascendente o discendente oppure ripetute"</string>
@@ -837,19 +763,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2,4 GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"Accedi"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"Apri il sito"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"Tempo rimanente: <xliff:g id="REMAINING_TIME">%1$s</xliff:g>"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"Scadenza: <xliff:g id="EXPIRY_TIME">%1$s</xliff:g>"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"Tocca qui per accedere alla rete"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"<xliff:g id="REQUESTER">%s</xliff:g> chiede di attivare il Wi-Fi"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"<xliff:g id="REQUESTER">%s</xliff:g> chiede di disattivare il Wi-Fi"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"Verifica bytecode di app di cui è possibile eseguire il debug"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Consenti ad ART di verificare il bytecode delle app di cui è possibile eseguire il debug"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"Frequenza aggiornamento"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Mostra attuale frequenza aggiornamento del display"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"Consenti lo scambio di dati quando il tablet tocca un altro dispositivo"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"Consenti lo scambio di dati quando il telefono tocca un altro dispositivo"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"Consenti lo scambio di dati quando il tablet tocca un dispositivo NFC"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"Consenti lo scambio di dati quando il telefono tocca un dispositivo NFC"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"Attiva NFC"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"NFC scambia i dati tra questo dispositivo e altri dispositivi o destinazioni nelle vicinanze, ad esempio terminali di pagamento, lettori di accesso e annunci o tag interattivi."</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"Tecnologia NFC sicura"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Richiedi sblocco del dispositivo per NFC"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"Consenti il pagamento NFC e l\'utilizzo di biglietti per il trasporto pubblico solo quando lo schermo è sbloccato"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"Pronto a trasmettere i contenuti dell\'app tramite NFC"</string>
@@ -923,8 +855,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Attiva"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Ricerca di reti Wi-Fi attiva"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Opzioni avanzate"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"Elenco a discesa Opzioni avanzate. Tocca due volte per comprimerlo."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"Elenco a discesa Opzioni avanzate. Tocca due volte per espanderlo."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Elenco a discesa Opzioni avanzate"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"espandi"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"Nome rete"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"Inserisci SSID"</string>
     <string name="wifi_security" msgid="9095934643631406913">"Sicurezza"</string>
@@ -934,6 +866,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"Stato"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"Velocità in trasmissione"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"Velocità in ricezione"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"Velocità di collegamento"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"Frequenza"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"Indirizzo IP"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"Salvato tramite"</string>
@@ -941,6 +874,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"Metodo EAP"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"Autenticazione fase 2"</string>
     <string name="wifi_eap_ca_cert" msgid="8033404008276298886">"Certificato CA"</string>
+    <string name="wifi_eap_ocsp" msgid="8713933962516871238">"Stato dei certificati online"</string>
     <string name="wifi_eap_domain" msgid="8304301470752333203">"Dominio"</string>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"Certificato utente"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"Identità"</string>
@@ -957,6 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"Scegli almeno una banda per l\'hotspot Wi‑Fi:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"Impostazioni IP"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"Privacy"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"Abbonamento"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"Visualizza o modifica l\'abbonamento"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"Indirizzo MAC casuale"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"Aggiungi un dispositivo"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"Inquadra il codice QR indicato di seguito per aggiungere il dispositivo alla rete \"<xliff:g id="SSID">%1$s</xliff:g>\""</string>
@@ -966,12 +902,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"Condividi Wi‑Fi"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"Esegui la scansione di questo codice QR per collegarti alla rete \"<xliff:g id="SSID">%1$s</xliff:g>\" e condividere la password"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"Esegui la scansione di questo codice QR per collegarti alla rete \"<xliff:g id="SSID">%1$s</xliff:g>\""</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"Impossibile leggere il codice QR. Centra di nuovo il codice e riprova"</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"Riprova. Se il problema persiste, contatta il produttore del dispositivo"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"Si è verificato un problema"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"Assicurati che il dispositivo sia collegato alla corrente, carico e acceso"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"Assicurati che il dispositivo sia collegato alla corrente, carico e acceso. Se il problema persiste, contatta il produttore del dispositivo"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"Non è possibile aggiungere \"<xliff:g id="SSID">%1$s</xliff:g>\" a questo dispositivo"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"Prova ad avvicinare il dispositivo al tuo punto di accesso/router Wi-Fi"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"Controlla la password e riprova"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"Contatta il produttore del dispositivo"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"Controlla la connessione e riprova"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"Scegli rete"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"Per connettere il tuo dispositivo, scegli una rete"</string>
@@ -984,11 +922,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"Condivisione della rete Wi‑Fi con questo dispositivo…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"Connessione…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"Condividi hotspot"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"Dimostra che sei tu"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"Verifica la tua identità"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"Password Wi-Fi: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"Password hotspot: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"Connessione automatica"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"Consenti la connessione automatica del telefono nei pressi di questa rete"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"Consenti la connessione automatica del tablet nei pressi di questa rete"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"Aggiungi dispositivo"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"Usa un codice QR per aggiungere un dispositivo a questa rete"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"Il formato del codice QR non è valido"</string>
     <string name="retry" msgid="7542103800274026915">"Riprova"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"Condividi con altri utenti del dispositivo"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(invariata)"</string>
@@ -1000,6 +942,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"Nessun certificato specificato. La connessione non sarà privata."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"Il nome della rete è troppo lungo."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"Specifica un dominio."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"Certificato obbligatorio."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"WPS disponibile"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (WPS disponibile)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"Rete Wi‑Fi dell\'operatore"</string>
@@ -1051,7 +994,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"Wi‑Fi avanzate"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"Indirizzo MAC"</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_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>
@@ -1103,7 +1047,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"Utilizza un hotspot per creare una rete Wi-Fi per altri dispositivi. Gli hotspot forniscono l\'accesso a Internet utilizzando la connessione dati mobili. Potrebbero essere applicati costi aggiuntivi per i dati mobili."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"Le app possono creare un hotspot per condividere contenuti con i dispositivi vicini."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Disattiva hotspot automaticamente"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"L\'hotspot Wi‑Fi viene disattivato se non ci sono dispositivi collegati"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Quando non sono connessi dispositivi"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"Attivazione hotspot..."</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"Disattivazione hotspot..."</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> è attivo"</string>
@@ -1112,6 +1056,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"Configurazione hotspot Wi-Fi"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"Hotspot WPA2 PSK AndroidAP"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"HotspotAndroid"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"Salvare questa rete?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"<xliff:g id="APPNAME">%1$s</xliff:g> vorrebbe salvare una rete sul tuo telefono"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"<xliff:g id="APPNAME">%1$s</xliff:g> vorrebbe salvare una rete sul tuo tablet"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"Salvataggio…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"Salvata"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"Impossibile salvare. Riprova."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"Vuoi salvare le reti?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"<xliff:g id="APPNAME">%1$s</xliff:g> vorrebbe salvare queste reti sul tuo telefono"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"<xliff:g id="APPNAME">%1$s</xliff:g> vorrebbe salvare queste reti sul tuo tablet"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"Salvataggio di <xliff:g id="NUMBER">%d</xliff:g> reti…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"Reti salvate"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"Chiamate Wi-Fi"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"Estendi le chiamate usando il Wi‑Fi"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"Attiva le chiamate Wi‑Fi per estendere la copertura"</string>
@@ -1138,16 +1093,18 @@
     <string name="emergency_address_title" msgid="3490633500025717573">"Indirizzo per le emergenze"</string>
     <string name="emergency_address_summary" msgid="3022628750270626473">"Viene considerato la tua posizione quando fai una chiamata di emergenza tramite Wi‑Fi"</string>
     <string name="private_dns_help_message" msgid="851221502063782306"><annotation id="url">"Ulteriori informazioni"</annotation>" sulle funzioni di DNS privato"</string>
+    <string name="private_dns_mode_on" msgid="8878679071975375696">"On"</string>
     <string name="wifi_calling_pref_managed_by_carrier" msgid="129524064888622179">"Impostazione gestita dall\'operatore"</string>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"Attiva le chiamate Wi-Fi"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"Attiva la funzione Chiamate Wi-Fi"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"%1$s non supporta le chiamate Wi-Fi"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"Disconnesso da <xliff:g id="SSID">%1$s</xliff:g>"</string>
     <string name="carrier" msgid="1755020806290963951">"Operatore"</string>
     <string name="display_settings_title" msgid="626835071804834218">"Display"</string>
     <string name="sound_settings" msgid="5514582720435174014">"Audio"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"Volumi"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"Effetti musicali"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"Volume suoneria"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"Volume suoneria e notifiche"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"Vibra in modalità silenziosa"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"Suono di notifica predefinito"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"Suoneria"</string>
@@ -1272,13 +1229,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"Pianificazione"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"Nessuno"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"Attivo dal tramonto all\'alba"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"Attiva in orario personalizzato"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"Stato"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"Off/<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"Non verrà mai attivato automaticamente"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"Verrà attivato automaticamente al tramonto"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"Verrà attivata automaticamente alle ore <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"On/<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"Non verrà mai disattivato automaticamente"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"Verrà disattivato automaticamente al tramonto"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"Verrà disattivata automaticamente alle ore <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"Attiva fino alle ore <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"Disattiva fino alle ore <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"Il tema scuro usa uno sfondo nero per aumentare la durata della batteria su alcuni schermi. Le pianificazioni del tema scuro si attivano solo se lo schermo è spento."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"Spegnimento schermo"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"Lo schermo si spegne"</string>
@@ -1290,7 +1252,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"Cambia sfondo"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"Personalizza lo schermo"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"Scegli sfondo da"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"Personalizza il tuo Pixel"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"Personalizza il telefono"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"Prova diversi stili, sfondi e non solo"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"Salvaschermo"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Durante la ricarica o quando inserito nel dock"</string>
@@ -1379,6 +1341,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"Smonta l\'archivio USB, visualizza lo spazio di archiviazione disponibile"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"Smonta la scheda SD, visualizza spazio di archiviazione disponibile"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (slot SIM %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"Per visualizzare, seleziona la rete salvata"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"Numero di telefono"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"Numero di telefono"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (slot SIM %1$d)"</string>
@@ -1405,6 +1368,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"Roaming"</string>
     <string name="status_operator" msgid="4335640583552058491">"Rete"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"Indirizzo MAC Wi‑Fi"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"Indirizzo MAC Wi‑Fi del dispositivo"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"Indirizzo Bluetooth"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Numero di serie"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Tempo di attività"</string>
@@ -1617,6 +1581,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Ripristino delle impostazioni APN predefinite completato."</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"Opzioni di reimpostazione"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"È possibile reimpostare la rete, le app o il dispositivo"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"Le app possono essere reimpostate"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"Reimposta Wi-Fi, dati mobili e Bluetooth"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"Verranno reimpostate tutte le impostazioni di rete, tra cui:\n\n"<li>"Wi‑Fi"</li>\n<li>"Dati mobili"</li>\n<li>"Bluetooth"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"Cancella SIM scaricate"</string>
@@ -1666,6 +1631,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"Hotspot attivo"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"Tethering"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"Impossibile eseguire il tethering o utilizzare hotspot portatili con Risparmio dati attivo"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"Solo hotspot"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"Solo USB"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"Solo Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"Hotspot, USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"Hotspot, Bluetooth"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB, Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"Hotspot, USB, Bluetooth"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"Condivisione della connessione a Internet con altri dispositivi non attiva"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"Tethering"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Non usare hotspot Wi‑Fi"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Condividi Internet solo tramite USB"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Condividi Internet solo tramite Bluetooth"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Condividi Internet solo tramite USB e Bluetooth"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"Tethering USB"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"Condividi la connessione a Internet del telefono tramite USB"</string>
@@ -1756,9 +1734,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"Informazioni sulla sicurezza"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"Nessuna connessione dati disponibile. Per visualizzare ora le informazioni, visita il sito %s da qualsiasi computer collegato a Internet."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"Caricamento..."</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"Utilizza PIN"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"Usa sequenza"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"Utilizza password"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"Imposta il blocco schermo"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"Per sicurezza, imposta una password"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"Per usare l\'impronta, imposta una password"</string>
@@ -1767,8 +1742,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"Per usare l\'impronta, imposta un PIN"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"Per sicurezza, imposta una sequenza"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"Inserisci di nuovo la password"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"Inserisci password profilo di lavoro"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"Conferma la tua sequenza"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"Ins. sequenza profilo lavoro"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"Inserisci di nuovo il PIN"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"Inserisci PIN profilo di lavoro"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"Le password non corrispondono"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"I PIN non corrispondono"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"Traccia di nuovo la sequenza"</string>
@@ -1779,6 +1757,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"Scegli password per Sblocco con il volto"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"Scegli sequenza per Sblocco con il volto"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"Scegli PIN per Sblocco con il volto"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"Hai dimenticato la password?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"Hai dimenticato la sequenza?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"Hai dimenticato il PIN?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"Per continuare devi utilizzare la sequenza del dispositivo"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"Per continuare devi inserire il PIN del dispositivo"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"Per continuare devi inserire la password del dispositivo"</string>
@@ -1846,6 +1827,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"Consenti tutte le fonti di app"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"App aperte di recente"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"Mostra tutte le app (<xliff:g id="COUNT">%1$d</xliff:g>)"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"Contatta il tuo amministratore IT"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"Può aiutarti a reimpostare il PIN, la sequenza o la password"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"Il tablet e i dati personali sono più vulnerabili agli attacchi provenienti da app sconosciute. Installando le app provenienti da questa origine, accetti di essere responsabile degli eventuali danni al tablet o della perdita di dati che potrebbero derivare dall\'utilizzo di queste app."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"Il telefono e i dati personali sono più vulnerabili agli attacchi provenienti da app sconosciute. Installando le app provenienti da questa origine, accetti di essere responsabile degli eventuali danni al telefono o della perdita di dati che potrebbero derivare dall\'utilizzo di queste app."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"Il dispositivo e i dati personali sono più vulnerabili agli attacchi provenienti da app sconosciute. Installando le app provenienti da questa origine, accetti di essere responsabile degli eventuali danni al dispositivo o della perdita di dati che potrebbero derivare dall\'utilizzo di queste app."</string>
@@ -1897,7 +1880,7 @@
     <string name="default_emergency_app" msgid="1929974800666613803">"App di emergenza"</string>
     <string name="reset_app_preferences" msgid="8861758340732716573">"Reimposta preferenze app"</string>
     <string name="reset_app_preferences_title" msgid="8935136792316050759">"Reimpostare preferenze app?"</string>
-    <string name="reset_app_preferences_desc" msgid="1377296810290814749">"Verranno reimpostate tutte le preferenze relative a:\n\n"<li>"App disattivate"</li>\n<li>"Notifiche di app disattivate"</li>\n<li>"Applicazioni predefinite per azioni"</li>\n<li>"Limitazioni di dati in background per app"</li>\n<li>"Eventuali limitazioni di autorizzazioni"</li>\n\n"Non perderai i dati delle app."</string>
+    <string name="reset_app_preferences_desc" msgid="6509978724602405805">"Verranno reimpostate tutte le preferenze relative a:\n\n"<li>"App disattivate"</li>\n<li>"Notifiche di app disattivate"</li>\n<li>"Applicazioni predefinite per azioni"</li>\n<li>"Limitazioni di dati in background per app"</li>\n<li>"Eventuali limitazioni di autorizzazione"</li>\n\n"Non perderai i dati delle app."</string>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"Reimposta app"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"Gestisci spazio"</string>
     <string name="filter" msgid="9039576690686251462">"Filtra"</string>
@@ -2097,7 +2080,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"Audio e testo su schermo"</string>
     <string name="display_category_title" msgid="6638191682294461408">"Display"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"Controlli di interazione"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"Servizi scaricati"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"App scaricate"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"Sperimentali"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"Flag di funzioni"</string>
     <string name="talkback_title" msgid="8756080454514251327">"TalkBack"</string>
@@ -2105,27 +2088,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"Tocca gli elementi sullo schermo per la lettura ad alta voce"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"Preferenze sottotitoli"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"Ingrandimento"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"Area di ingrandimento"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"Attivazione ingrandimento"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"Scegli le aree di ingrandimento che vuoi usare quando ingrandisci lo schermo"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"Schermo intero"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"Parte dello schermo"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"Schermo intero e parte dello schermo"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"Ingrandisci l\'intero schermo"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"Ingrandisci parte dello schermo"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Impostazioni ingrandimento"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"Ingrandisci con triplo tocco"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Ingrandisci con scorciatoia"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Ingrandisci con scorciatoia e triplo tocco"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"Informazioni su <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"Opzioni"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"Aumenta lo zoom della schermata"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"Tocca tre volte per eseguire lo zoom"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Tocca un pulsante per eseguire lo zoom"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><b>"Per ingrandire"</b>", tocca velocemente lo schermo per tre volte.\n"<ul><li>"Trascina almeno due dita per scorrere."</li>\n<li>"Pizzica con almeno due dita per regolare lo zoom."</li></ul>\n\n<b>"Per ingrandire temporaneamente"</b>", tocca velocemente per tre volte e tieni il dito premuto all\'ultimo tocco.\n"<ul><li>"Trascina il dito per spostarti sullo schermo."</li>\n<li>"Solleva il dito per ridurre lo zoom."</li></ul>\n\n"Non puoi aumentare lo zoom sulla tastiera e nella barra di navigazione."</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"Quando è attivo l\'ingrandimento, puoi aumentare lo zoom sullo schermo.\n\n"<b>"Per eseguire lo zoom"</b>", avvia l\'ingrandimento, quindi tocca un punto qualsiasi sullo schermo.\n"<ul><li>"• Trascina con due o più dita per scorrere."</li>\n<li>"• Pizzica con due o più dita per regolare lo zoom."</li></ul>\n\n<b>"Per eseguire temporaneamente lo zoom"</b>", avvia l\'ingrandimento, quindi tocca e tieni premuto un punto qualsiasi sullo schermo.\n"<ul><li>"• Trascina per spostarti sullo schermo."</li>\n<li>"• Solleva il dito per diminuire lo zoom."</li></ul>\n\n"Non puoi aumentare lo zoom sulla tastiera o nella barra di navigazione."</string>
+    <string name="accessibility_screen_magnification_summary" msgid="7617931632990040045">"Aumenta velocemente lo zoom dello schermo per visualizzare più chiaramente i contenuti.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Per aumentare lo zoom:&lt;/b&gt;&lt;br/&gt;	1. Usa la scorciatoia per avviare la funzionalità Ingrandimento&lt;br/&gt;	2. Tocca lo schermo&lt;br/&gt;	3. Trascina due dita per spostarti nella schermata&lt;br/&gt;	4. Pizzica con due dita per regolare lo zoom&lt;br/&gt;	5. Usa la scorciatoia per interrompere la funzionalità Ingrandimento&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Per aumentare lo zoom temporaneamente:&lt;/b&gt;&lt;br/&gt;	1. Usa la scorciatoia per avviare la funzionalità Ingrandimento&lt;br/&gt;	2. Tocca e tieni premuto un punto qualsiasi della schermata&lt;br/&gt;	3. Trascina il dito per spostarti nella schermata&lt;br/&gt;	4. Solleva il dito per interrompere la funzionalità Ingrandimento."</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Quando è attivo l\'ingrandimento, puoi aumentare lo zoom sullo schermo.\n\n"<b>"Per eseguire lo zoom"</b>", avvia l\'ingrandimento, quindi tocca un punto qualsiasi sullo schermo.\n"<ul><li>"Trascina almeno due dita per scorrere"</li>\n<li>"Pizzica con almeno due dita per regolare lo zoom."</li></ul>\n\n<b>"Per ingrandire temporaneamente"</b>", avvia l\'ingrandimento, quindi tocca e tieni premuto un punto qualsiasi sullo schermo.\n"<ul><li>"Trascina per spostarti sullo schermo"</li>\n<li>"Solleva il dito per ridurre lo zoom"</li></ul>\n\n"Non puoi aumentare lo zoom sulla tastiera o nella barra di navigazione."</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Usa il pulsante Accessibilità per aprire"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Usa un gesto per aprire"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"Usa il nuovo gesto di accessibilità"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"Per attivare o disattivare questo servizio, tocca il pulsante Accessibilità <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> nella parte inferiore dello schermo.\n\nPer spostarti tra i servizi, tocca e tieni premuto il pulsante Accessibilità."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"Per attivare o disattivare questo servizio, scorri verso l\'alto dalla parte inferiore dello schermo con due dita.\n\nPer spostarti tra i servizi, scorri verso l\'alto con due dita e tieni premuto."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"Per attivare o disattivare questo servizio, scorri verso l\'alto dalla parte inferiore dello schermo con tre dita.\n\nPer spostarti tra i servizi, scorri verso l\'alto con tre dita e tieni premuto."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"Per attivare o disattivare un servizio di accessibilità, scorri verso l\'alto dalla parte inferiore dello schermo con due dita.\n\nPer spostarti tra i servizi, scorri verso l\'alto con due dita e tieni premuto."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"Per attivare o disattivare un servizio di accessibilità, scorri verso l\'alto dalla parte inferiore dello schermo con tre dita.\n\nPer spostarti tra i servizi, scorri verso l\'alto con tre dita e tieni premuto."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"Per attivare o disattivare questo servizio, tocca il pulsante Accessibilità <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> nella parte inferiore dello schermo.\n\nPer spostarti tra i servizi, tocca e tieni premuto il pulsante Accessibilità."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"Per attivare o disattivare questo servizio, scorri verso l\'alto dalla parte inferiore dello schermo con due dita.\n\nPer spostarti tra i servizi, scorri verso l\'alto con due dita e tieni premuto."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"Per attivare o disattivare questo servizio, scorri verso l\'alto dalla parte inferiore dello schermo con tre dita.\n\nPer spostarti tra i servizi, scorri verso l\'alto con tre dita e tieni premuto."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"Per attivare o disattivare un servizio di accessibilità, scorri verso l\'alto dalla parte inferiore dello schermo con due dita.\n\nPer spostarti tra i servizi, scorri verso l\'alto con due dita e tieni premuto."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"Per attivare o disattivare un servizio di accessibilità, scorri verso l\'alto dalla parte inferiore dello schermo con tre dita.\n\nPer spostarti tra i servizi, scorri verso l\'alto con tre dita e tieni premuto."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"OK"</string>
+    <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Scorciatoia: <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_edit_summary_software" msgid="2820923641553461297">"Pulsante Accessibilità"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture" msgid="8078659880723370597">"Scorri verso l\'alto con due dita"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture_talkback" msgid="7422753388389160524">"Scorri verso l\'alto con tre dita"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software" msgid="4796192466943479849">"Tocca il pulsante Accessibilità"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8922102767509399352">"Tocca il pulsante Accessibilità <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> in fondo alla schermata"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"Scorri verso l\'alto dalla parte inferiore dello schermo con due dita"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"Scorri verso l\'alto dalla parte inferiore dello schermo con tre dita"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Tieni premuti i tasti del volume"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"Tieni premuti entrambi i tasti del volume per un secondo"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Tocca tre volte lo schermo"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"Tocca velocemente lo schermo tre volte. Questa scorciatoia potrebbe rallentare il dispositivo."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"Avanzate"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"Il pulsante Accessibilità è impostato su <xliff:g id="SERVICE">%1$s</xliff:g>. Per utilizzare l\'ingrandimento, tocca e tieni premuto il pulsante Accessibilità, quindi seleziona l\'ingrandimento."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"Il gesto di accessibilità è impostato per <xliff:g id="SERVICE">%1$s</xliff:g>. Per usare l\'ingrandimento, scorri con due dita verso l\'alto dalla parte inferiore dello schermo e tieni premuto. Dopodiché seleziona l\'ingrandimento."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"Scorciatoia per i tasti del volume"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"Servizio scorciatoia"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Impostazioni scorciatoie"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"Consenti dalla schermata di blocco"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"Quando la scorciatoia è attiva, puoi tenere premuti entrambi i tasti del volume per tre secondi per avviare una funzione di accessibilità."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"Testo ad alto contrasto"</string>
@@ -2149,24 +2157,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"Scegli per quanto tempo lasciare visibili i messaggi che ti chiedono di eseguire delle operazioni e che vengono mostrati solo temporaneamente.\n\nNon tutte le app supportano questa impostazione."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"Ritardo tocco e pressione"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"Inversione colori"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"Potrebbe influire sulle prestazioni"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"Tempo di interazione"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"Usa Inversione colori"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"Inversione colori rende scure le schermate chiare. Consente alle persone sensibili alla luce intensa di guardare lo schermo più facilmente.&lt;br/&gt;&lt;br/&gt;Nota: i colori scuri diventano chiari. I colori vengono modificati nei contenuti multimediali e nelle immagini. Puoi anche usare il tema scuro (Impostazioni &gt; Display)."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"Clic automatico (tempo di interazione)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"Se usi un mouse, puoi configurare il puntatore affinché venga attivato automaticamente quando rimane fermo per un determinato periodo di tempo."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"Ritardo prima del clic"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"Non usare clic autom. (predefinita)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"Breve"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0,2 secondi"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"Medio"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0,6 secondi"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"Lungo"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 secondo"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"Personalizzato"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"Più breve"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"Più lungo"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"Tempo clic automatico"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"Intensità vibrazione e feedback aptico"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Vibrazione notifiche"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Vibrazione allo squillo"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Feedback tattile"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"Utilizza servizio"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"Usa <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"Apri <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"Usa correzione del colore"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"Utilizza sottotitoli"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"Mostra sottotitoli"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"Aspetto dei sottotitoli"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"Dimensioni del testo, stile dei sottotitoli"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"Altre opzioni"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"Non tutte le app supportano questa impostazione."</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"Pulsante Accessibilità"</string>
+    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"Scorri con due dita dal basso verso l\'alto"</string>
+    <string name="accessibility_shortcut_type_hardware" msgid="4834144210432451916">"Tieni premuti i tasti del volume"</string>
+    <string name="accessibility_shortcut_type_triple_tap" msgid="7717524216825494543">"Tocca tre volte lo schermo"</string>
     <string name="accessibility_hearingaid_instruction_continue_button" msgid="3367260988024430722">"Continua"</string>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"Apparecchi acustici"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"Nessun apparecchio acustico connesso"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"Aggiungi apparecchi acustici"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"Accoppia gli apparecchi acustici toccandoli nella prossima schermata."</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"Assicurati che gli apparecchi acustici siano in modalità di accoppiamento."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"Per accoppiare i tuoi apparecchi acustici, cerca e tocca il dispositivo nella prossima schermata. Assicurati che gli apparecchi acustici siano in modalità di accoppiamento."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"Dispositivo <xliff:g id="DEVICE_NAME">%1$s</xliff:g> attivo"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> apparecchi acustici salvati</item>
@@ -2178,25 +2204,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Questo servizio non funziona correttamente."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Mostra in Impostazioni rapide"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"Modalità di correzione"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="other">Ritardo ultra breve (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Ritardo ultra breve (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Rosso-verde"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"Verde-rosso"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Blu-giallo"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"Deuteranomalia"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"Protanomalia"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"Tritanomalia"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="other">Ritardo ultra breve (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> secondi)</item>
+      <item quantity="one">Ritardo ultra breve (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> secondo)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="other">Ritardo ultra breve (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Ritardo ultra breve(<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="other">Ritardo molto breve (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> secondi)</item>
+      <item quantity="one">Ritardo molto breve (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> secondo)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="other">Ritardo breve (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Ritardo breve (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="other">Ritardo breve (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> secondi)</item>
+      <item quantity="one">Ritardo breve (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> secondo)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="other">Ritardo lungo (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Ritardo lungo (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="other">Ritardo lungo (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> secondi)</item>
+      <item quantity="one">Ritardo lungo (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> secondo)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="other">Ritardo molto lungo (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Ritardo molto lungo (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="other">Ritardo molto lungo (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> secondi)</item>
+      <item quantity="one">Ritardo molto lungo (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> secondo)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> secondi</item>
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> secondo</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"Squillo: <xliff:g id="SUMMARY_RING">%1$s</xliff:g> - Notifiche: <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g> - Tocco: <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"Impostazione di suoneria e notifiche: off"</string>
@@ -2513,7 +2549,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"Durante ultimo scollegamento per <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"Totali utilizzo"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"Aggiorna"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"Sistema operativo Android"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"MediaServer"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"Ottimizzazione delle app"</string>
     <string name="battery_saver" msgid="7737147344510595864">"Risparmio energetico"</string>
@@ -2594,8 +2629,7 @@
     <string name="tts_play" msgid="2945513377250757221">"Riproduci"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"Archivio credenziali"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"Installa da archivio"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"Installa da scheda SD"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"Installare un certificato"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"Installa certificati da archivio"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"Installa certificati da scheda SD"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"Cancella credenziali"</string>
@@ -2615,6 +2649,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"Archivio credenziali cancellato"</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"Impossibile cancellare archivio credenz."</string>
     <string name="usage_access_title" msgid="1580006124578134850">"App con accesso a dati utilizzo"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"Certificato CA"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"Certif. utente per app e VPN"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"Certificato Wi‑Fi"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"La tua privacy è a rischio"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"I certificati CA vengono utilizzati da siti web, app e VPN per la crittografia. Installa solo certificati CA da organizzazioni che ritieni affidabili. \n\n Se installi un certificato CA, il proprietario del certificato potrebbe accedere ai tuoi dati, ad esempio password, messaggi o dettagli della carta di credito dai siti web che visiti o dalle app che utilizzi, anche se si tratta di dati criptati."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"Non installare"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"Installa comunque"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"Certificato non installato"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"Segnale chiamata di emergenza"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Imposta il comportamento in caso di chiamata di emergenza"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Backup"</string>
@@ -2642,10 +2684,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"Disattiva e disinstalla"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"App di ammin. del dispositivo"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"Nessuna app di amministrazione del dispositivo disponibile"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"Personale"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"Lavoro"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"Limita l\'accesso a SMS e registro chiamate"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"Solo le app telefoniche e di messaggistica predefinite hanno le autorizzazioni di accesso a SMS e registro chiamate"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"Non sono disponibili agenti di attendibilità"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"Attivare l\'app di amministrazione?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"Attiva questa app di amministrazione del dispositivo"</string>
@@ -2659,6 +2697,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"Altre opzioni sono state disattivate dall\'amministratore."</string>
     <string name="admin_more_details" msgid="6698424974827333973">"Altri dettagli"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"Log Notifiche"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"Cronologia notifiche"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"Oggi"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"Posticipate"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"Ignorate di recente"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> notifiche</item>
+      <item quantity="one"><xliff:g id="NUMBER_0">%d</xliff:g> notifica</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"Suoneria e vibrazione chiamata"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"Dettagli rete"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"Sincronizzazione abilitata"</string>
@@ -3008,7 +3054,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"Limitazioni"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"Rimuovi limitazioni"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"Cambia PIN"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"Mostra notifiche"</string>
     <string name="help_label" msgid="2896538416436125883">"Guida e feedback"</string>
     <string name="support_summary" msgid="1034146931237148885">"Guida, assistenza telefonica e chat, primi passi"</string>
     <string name="user_account_title" msgid="6389636876210834864">"Account per i contenuti"</string>
@@ -3033,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"Chiamate 4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Usa i servizi LTE per migliorare le comunicazioni vocali e di altro tipo (consigliato)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Usa i servizi 4G per migliorare le comunicazioni vocali e di altro tipo (consigliato)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Rilevamento contatti"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Consente al tuo operatore di rilevare le funzionalità di chiamata supportate dai tuoi contatti."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Vuoi attivare Rilevamento contatti?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Se attivi questa funzionalità, il tuo operatore potrà accedere ai numeri di telefono dei tuoi contatti per rilevare le funzionalità di chiamata supportate dai contatti."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Tipo di rete preferito"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (opzione consigliata)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"Messaggi MMS"</string>
@@ -3077,7 +3126,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"Chiama con"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"Seleziona una scheda SIM"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"SIM <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"SIM vuota"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"Nome SIM"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"Inserisci il nome della SIM"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"Slot della SIM %1$d"</string>
@@ -3087,6 +3135,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"Seleziona scheda SIM"</string>
     <string name="color_orange" msgid="216547825489739010">"Arancione"</string>
     <string name="color_purple" msgid="6603701972079904843">"Viola"</string>
+    <string name="color_pink" msgid="8596872110888626708">"Rosa"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"Nessuna scheda SIM inserita"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"Stato SIM"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"Stato della SIM (slot SIM %1$d)"</string>
@@ -3100,7 +3149,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"Schede SIM modificate."</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Tocca per configurare"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"SIM preferita per"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Chiedi ogni volta"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Fai una scelta"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"Selezione della SIM"</string>
@@ -3118,6 +3166,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"Bluetooth, modalità Auto"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"Bluetooth, NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"Bluetooth"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"Non disponibile perché NFC è disattivata"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"App e notifiche"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"App recenti, app predefinite"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"L\'accesso alle notifiche non è disponibile per le app nel profilo di lavoro."</string>
@@ -3128,13 +3177,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"Impostazioni"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"wifi, wi-fi, connessione di rete, internet, wireless, dati, wi fi"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"Notifica Wi‑Fi, notifica wifi"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"utilizzo dei dati"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"Interrompere la vibrazione, toccare, tastiera"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"Usa formato 24 ore"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"Scaricare"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"Apri con"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"Applicazioni"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"fuso orario"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"Chat Head"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"Immagine chat, sistema, avviso, finestra, finestra di dialogo, mostra, davanti ad altre app, disegna"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"Torcia, Luce, Pila"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"wifi, wi-fi, attivazione/disattivazione, controllo"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"cellulare, dispositivo mobile, operatore cellulare, wireless, dati, 4g, 3g, 2g, lte"</string>
@@ -3158,7 +3208,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"non disturbare, interrompere, interruzione, pausa"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"nelle vicinanze, posizione, cronologia, segnalazione, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"account"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"account, aggiungere un account, profilo di lavoro, aggiungere account"</string>
     <string name="keywords_users" msgid="3497517660077620843">"limitazione, limitare, limitato"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"correzione del testo, correggere, suono, vibrazione, auto, lingua, gesto, suggerire, suggerimento, tema, offensivo, parola, digitazione, emoji, internazionale"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"reimpostazione, preferenze, predefinite"</string>
@@ -3196,6 +3246,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"memoria, cache dati, eliminare, cancellare, liberare, spazio"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"connesso, dispositivo, cuffie, auricolari, altoparlante, wireless, accoppiare, musica, contenuti multimediali"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"sfondo, schermo, schermata di blocco, tema"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"forma delle icone, colore intenso, carattere"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"valore predefinito, assistente"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"pagamenti, predefinita"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"notifica in arrivo"</string>
@@ -3205,18 +3256,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"aptica, vibrazione, sensibilità"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"risparmio energetico, fisso, costante, risparmiare batteria, batteria"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"routine, programmazione, risparmio energetico, risparmiare batteria, batteria, automatico, percento"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"profilo di lavoro"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"volte, chiamate avanzate, chiamate 4g"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"aggiungere lingua, aggiungere una lingua"</string>
     <string name="default_sound" msgid="6604374495015245195">"Suono predefinito"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"Volume suoneria: <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"Volume suoneria e notifiche: <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Volume, vibrazione, Non disturbare"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"Suoneria impostata su Vibrazione"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"Suoneria impostata su Silenzioso"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"Volume suoneria all\'80%"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"Volume suoneria e notifiche: 80%%"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Volume contenuti multimediali"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Volume di trasmissione"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"Volume chiamate"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"Volume sveglia"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"Volume suoneria"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"Volume suoneria e notifiche"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"Volume notifiche"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"Suoneria telefono"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"Suono di notifica predefinito"</string>
@@ -3224,6 +3276,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"Suono di notifica predefinito"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"Suono sveglia predefinito"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"Vibrazione per le chiamate"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"Vibrazione mai attiva"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"Vibrazione sempre attiva"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"Prima vibrazione, poi squillo graduale"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"Altri suoni"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"Toni tastierino"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"Suoni blocco schermo"</string>
@@ -3247,6 +3302,7 @@
       <item quantity="one">1 attiva</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Non disturbare"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Ricevi soltanto le notifiche di app e persone importanti"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Limitare le interruzioni"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Attiva Non disturbare"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"Eccezioni"</string>
@@ -3273,7 +3329,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Blocca interruzioni visive"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Consenti segnali visivi"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"Quando è attiva la modalità Non disturbare"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"Consenti le interruzioni con audio"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"Limita notifiche"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Notifiche senza audio"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"Vedrai le notifiche sullo schermo"</string>
@@ -3304,7 +3360,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"Suoneria e vibrazione"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"Suoneria, vibrazione e alcuni indicatori visivi delle notifiche"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"Suoneria, vibrazione e indicatori visivi delle notifiche"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"Le notifiche necessarie per l\'attività di base sul telefono e per lo stato non verranno mai nascoste"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"Le notifiche necessarie per lo stato e le attività di base del telefono non verranno mai nascoste."</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"Nessuno"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"Altre opzioni"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"Aggiungi"</string>
@@ -3334,10 +3390,12 @@
       <item quantity="other">Possono essere attivate automaticamente <xliff:g id="ON_COUNT">%d</xliff:g> pianificazioni</item>
       <item quantity="one">Può essere attivata automaticamente 1 pianificazione</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"Disattiva l\'audio, ma consenti le eccezioni"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"Eccezioni"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"Pianificazione"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"Visualizza tutte le eccezioni"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"Eccezioni quando è attiva la modalità Non disturbare"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"Persone"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"App"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"Sveglie e altre interruzioni"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"Programmazioni"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"Notifiche senza audio"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"Quando la modalità Non disturbare è attiva, l\'audio e la vibrazione verranno disattivati, ad eccezione degli elementi che hai consentito sopra."</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"Disattiva l\'audio per tutti tranne"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"Audio disattivato"</string>
@@ -3381,16 +3439,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"Notifiche adattive"</string>
     <string name="asst_capability_prioritizer_title" msgid="1181272430009156556">"Priorità per le notifiche adattive"</string>
     <string name="asst_capability_prioritizer_summary" msgid="954988212366568737">"Imposta automaticamente le notifiche con priorità inferiore su Senza avvisi"</string>
+    <string name="asst_capability_ranking_title" msgid="312998580233257581">"Posizionamento adattivo delle notifiche"</string>
+    <string name="asst_capability_ranking_summary" msgid="2293524677144599450">"Posiziona automaticamente le notifiche in base alla pertinenza"</string>
     <string name="asst_capabilities_actions_replies_title" msgid="4392470465646394289">"Azioni e risposte consigliate"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"Mostra automaticamente azioni suggerite e risposte"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"Attiva la cronologia delle notifiche per monitorare le notifiche passate e quelle posticipate"</string>
+    <string name="notification_history" msgid="8663811361243456201">"Cronologia delle notifiche"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"Attiva cronologia"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"Disattiva cronologia"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"La cronologia delle notifiche è disattivata"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"visualizzare le impostazioni di notifica"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Consenti posticipazione delle notifiche"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"Nascondi le icone dalle notifiche senza avvisi"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"Le icone per le notifiche senza avvisi non appaiono nella barra di stato"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"Consenti indicatori notifica"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"Mostra barra di conversazioni recenti"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Fumetti"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"Alcune notifiche potrebbero essere mostrate sotto forma di fumetti sullo schermo"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"Alcune notifiche e altri contenuti possono essere visualizzati come fumetti sullo schermo. Tocca un fumetto per aprirlo. Per ignorarlo, trascinalo in fondo allo schermo."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Fumetti"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"I nuovi messaggi verranno visualizzati sullo schermo"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"Consenti all\'app <xliff:g id="APP_NAME">%1$s</xliff:g> di mostrare le notifiche come fumetti"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"Attiva i fumetti"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"Per attivare i fumetti per questa app, devi prima attivarli per il tuo dispositivo. Questa operazione riguarda altre app in cui hai attivato i fumetti in precedenza."</string>
@@ -3408,6 +3476,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"Verranno visualizzate nell\'area a discesa e nella schermata di blocco"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"Verranno visualizzate nell\'area a discesa e nella barra di stato"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"Verranno visualizzate nell\'area a discesa, nella barra di stato e nella schermata di blocco"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"Nascondi le notifiche silenziose nella barra di stato"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"Luce lampeggiante"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"Schermata di blocco"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"Ignorare schermata di blocco"</string>
@@ -3438,6 +3507,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"Comportamento"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"Attiva audio"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"Non mostrare mai notifiche"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"Conversazioni"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"Conversazione"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"Non è una conversazione"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"Rimuovi dalla sezione della conversazione"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"Questa è una conversazione"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"Aggiungi alla sezione della conversazione"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"Gestisci le conversazioni"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"Conversazioni importanti"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"Tutte le conversazioni"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"Mostra le conversazioni importanti come bolle"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"Le conversazioni importanti vengono mostrate nella parte superiore dell\'area a discesa. Puoi anche impostarle in modo che vengano visualizzate come bollei e che interrompano la modalità Non disturbare."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"Mostra in modalità silenziosa e riduci a icona"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"Mostra in modalità silenziosa"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"Con suoneria"</string>
@@ -3456,7 +3536,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"Favorisce la tua concentrazione grazie all\'assenza di suono o vibrazione"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"Richiama la tua attenzione con suono o vibrazione"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"Quando il dispositivo è sbloccato, mostra le notifiche come banner in cima allo schermo"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"Mostra notifiche"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"Tutte le notifiche di <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"Notifiche adattative"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="other">~<xliff:g id="NUMBER_1">%d</xliff:g> notifiche al giorno</item>
@@ -3477,6 +3557,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"Notifiche adattative"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"Nessuno"</string>
     <string name="no_notification_listeners" msgid="2839354157349636000">"Nessuna delle app installate ha richiesto l\'accesso alle notifiche."</string>
+    <string name="notification_access_detail_switch" msgid="46386786409608330">"Consenti l\'accesso alle notifiche"</string>
     <string name="notification_assistant_security_warning_title" msgid="2972346436050925276">"Consentire l\'accesso alle notifiche a <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
     <string name="notification_assistant_security_warning_summary" msgid="3119843404577399036">"<xliff:g id="NOTIFICATION_ASSISTANT_NAME">%1$s</xliff:g> potrà leggere tutte le notifiche, incluse le informazioni personali quali i nomi dei contatti e il testo dei messaggi ricevuti. Potrà inoltre ignorare le notifiche o attivare i pulsanti di azione inclusi. \n\nL\'app potrà anche attivare o disattivare la funzione Non disturbare e modificare le relative impostazioni."</string>
     <string name="notification_listener_security_warning_title" msgid="5791700876622858363">"Consentire l\'accesso alle notifiche a <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
@@ -3538,8 +3619,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"Fine"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"Importanza"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"Luce lampeggiante"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"Vibrazione"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"Vibrazione"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"Suoneria"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"Importante"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"Aggiungi alla schermata Home"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"Elimina"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"Rinomina"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"Nome pianificazione"</string>
@@ -3593,6 +3676,10 @@
       <item quantity="other">Altri <xliff:g id="NUM_PEOPLE">%d</xliff:g></item>
       <item quantity="one">1 altro</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Conversazioni"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"Da tutte le conversazioni"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"Dalle conversazioni importanti"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"Non consentire per nessuna conversazione"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"Consenti messaggi"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"Per assicurarti che la suoneria dei messaggi consentiti sia attiva, controlla se sul dispositivo sono impostati lo squillo, la vibrazione o la modalità silenziosa."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"Per \"<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>\" i messaggi in arrivo sono bloccati. Puoi modificare le impostazioni per permettere ai tuoi amici, alla tua famiglia e ad altri contatti di raggiungerti."</string>
@@ -3606,15 +3693,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"Nessuno"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"Non consentire le chiamate"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"Non consentire nessun messaggio"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"Consenti sveglie"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"Sveglie"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"Di timer, sveglie, sistemi di sicurezza e altre app"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"sveglie"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"Riproduci suoni multimediali"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"Suoni di contenuti multimediali"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"Di video, giochi e altri contenuti multimediali"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"contenuti multimediali"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"Consenti suoni alla pressione"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"Suoni alla pressione"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"Della tastiera e di altri pulsanti"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"suoni alla pressione"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"Consenti promemoria"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"Promemoria"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"Di attività e promemoria"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"promemoria"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"Consenti eventi"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"Eventi"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"Di eventi di calendario imminenti"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Consenti alle app di ignorarla"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"Eccezioni per le app"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3657,6 +3749,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"Attiva lo schermo per le notifiche in modalità Non disturbare"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"Impostazioni di notifica"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"OK"</string>
+    <string name="suggestion_button_close" msgid="6865170855573283759">"Chiudi"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Invia feedback sul dispositivo"</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"Inserisci PIN amministratore"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"On"</string>
@@ -3667,6 +3760,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Richiedi il PIN per lo sblocco"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Richiedi password prima di sbloccare"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Blocca dispositivo per sblocco"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Conferma eliminazione della SIM"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"Conferma la tua identità prima di resettare una SIM scaricata"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"Questo profilo di lavoro è gestito da:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"Gestito da <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(Sperimentale)"</string>
@@ -3741,8 +3836,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"Tutte le app"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"App installate"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"App istantanee"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"Personali"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"Lavoro"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"App: Tutte"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"Disattivate"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"Categorie: Importanza urgente"</string>
@@ -3754,6 +3847,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"Applicazione sconosciuta"</string>
     <string name="app_permissions" msgid="8666537659217653626">"Gestione autorizzazioni"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"App che usano <xliff:g id="APPS">%1$s</xliff:g>"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"App che utilizzano <xliff:g id="APPS">%1$s</xliff:g> e altre"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"Tocca per riattivare"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"Tocca due volte un punto qualsiasi dello schermo per riattivare il dispositivo"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"Apertura link"</string>
@@ -3765,9 +3859,14 @@
       <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> app che aprono i link supportati</item>
       <item quantity="one">Un\'app che apre i link supportati</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"Apri in questa app"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"Consenti all\'app di aprire i link supportati"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"Chiedi ogni volta"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"Non aprire in questa app"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"Non consentire all\'app di aprire i link"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="other">L\'app richiede di gestire <xliff:g id="COUNT_1">%d</xliff:g> link</item>
+      <item quantity="one">L\'app richiede di gestire <xliff:g id="COUNT_0">%d</xliff:g> link</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"L\'app richiede di gestire i seguenti link:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"Predefinite"</string>
     <string name="default_for_work" msgid="537558180548617528">"Predefinite per il lavoro"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"Assistenza e input vocale"</string>
@@ -3911,8 +4010,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"Mostra sopra altre app"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Consenti la visualizzazione sopra altre app"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"Consenti a quest\'app di essere mostrata sopra le altre app in uso. Potrebbe interferire con il tuo utilizzo di queste app o modificare il modo in cui vengono mostrate o si comportano."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"Accesso a tutti i file"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"Consenti accesso per gestione di tutti i file"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Consenti a questa app di leggere, modificare ed eliminare tutti i file memorizzati su questo dispositivo o su qualsiasi volume di archiviazione collegato. Se concedi l\'autorizzazione, l\'app può accedere ai file a tua insaputa."</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"Possono accedere a tutti i file"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"vr realtà virtuale listener stereo helper servizio"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"finestra di dialogo avviso sistema mostra sopra altre app"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"Mostra sopra altre app"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"<xliff:g id="COUNT_0">%1$d</xliff:g> di <xliff:g id="COUNT_1">%2$d</xliff:g> app visualizzabili sopra le altre app"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"App con autorizzazione"</string>
@@ -4078,6 +4180,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"Dati utilizzati: <xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g>"</string>
     <string name="data_overusage" msgid="3680477320458707259">"Superiore a <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="data_remaining" msgid="6316251496381922837">"Dati rimanenti: <xliff:g id="ID_1">^1</xliff:g>"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"Grafico che mostra l\'utilizzo dei dati dal giorno <xliff:g id="START_DATE">%1$s</xliff:g> al giorno <xliff:g id="END_DATE">%2$s</xliff:g>."</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"Non ci sono dati in questo intervallo di date"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="other">%d giorni rimanenti</item>
       <item quantity="one">%d giorno rimanente</item>
@@ -4141,14 +4245,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"dimensioni pacchetto"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"notifica attivata"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"suono"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"vibrazione"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"sequenza"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"predefinito"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"canale"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"nessuno"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"Oggetto di ranking mancante."</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"L\'oggetto di ranking non contiene questa chiave."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"Applicazione tema"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"Predefinita dispositivo"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"Ritaglio display"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"ritaglio display, tacca"</string>
@@ -4237,8 +4337,12 @@
     <string name="information_label" msgid="6939310810756569298">"Informazioni"</string>
     <string name="low_label" msgid="6525629096999711220">"Bassa"</string>
     <string name="high_label" msgid="357503396626018487">"Alta"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"Una maggiore sensibilità potrebbe essere in conflitto con eventuali gesti dell\'app lungo i bordi dello schermo."</string>
+    <string name="left_edge" msgid="1513576842959071849">"Bordo sinistro"</string>
+    <string name="right_edge" msgid="1505309103265829121">"Bordo destro"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"Una maggiore sensibilità potrebbe essere in conflitto con eventuali gesti dell\'app lungo i bordi dello schermo."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"Sensibilità gesto Indietro"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"Impostazioni dei gesti"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"navigazione tramite gesti, sensibilità gesto Indietro, gesto Indietro"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"Tocca due volte per controllare il telefono"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"Tocca due volte il tablet per controllare le notifiche"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"Tocca due volte il dispositivo per controllare le notifiche"</string>
@@ -4393,7 +4497,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"Attiva provisioning operatore"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"Aggiorna modalità Non disturbare"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"Metti in pausa le notifiche per mantenere la concentrazione"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"Questa funzione non è disponibile su questo dispositivo"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"Funzionalità non disponibile"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"Questa funzionalità è stata disattivata perché rallenta il telefono"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"Forza esecuzione completa delle misurazioni GNSS"</string>
@@ -4403,20 +4506,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"Seleziona le app che supportano ANGLE"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"Nessuna app che supporta ANGLE impostata"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"App che supporta ANGLE: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"Preferenze del driver di gioco"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"Modifica le impostazioni per il driver di gioco"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"Quando il driver di gioco è attivo, puoi scegliere di utilizzare il driver di grafica aggiornato per le app installate sul dispositivo."</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"Attiva per tutte le app"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"Seleziona il driver di grafica"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"Predefinito"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"Driver di gioco"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"Driver pre-release"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"Driver di grafica di sistema"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"Preferenze del driver di grafica"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"Modifica le impostazioni del driver di grafica"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"Quando sono presenti più driver di grafica, puoi scegliere di utilizzare il driver di grafica aggiornato per le app installate sul dispositivo."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"Attiva per tutte le app"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"Seleziona il driver di grafica"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"Predefinito"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"Driver di gioco"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"Driver sviluppatore"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Driver di grafica di sistema"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Modifiche di compatibilità dell\'app"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Attiva/disattiva modifiche di compatibilità delle app"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Modifiche attivate per impostazione predefinita"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Modifiche disattivate per impostazione predefinita"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"L\'impostazione non è supportata su questo telefono"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"L\'impostazione non è supportata su questo tablet"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"L\'impostazione non è supportata su questo dispositivo"</string>
@@ -4435,6 +4544,11 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"Dispositivo"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Non disponibile durante le chiamate"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"Non disponibile"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"Aggiungi uscite"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"Gruppo"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 dispositivo selezionato"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> dispositivi selezionati"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"Passaggio…"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Rispondi alle chiamate su"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Questo APN non può essere modificato."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Fai durare di più la batteria del tablet"</string>
@@ -4552,10 +4666,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"È possibile attivare una sola SIM scaricata alla volta.\n\nIl passaggio a <xliff:g id="CARRIER1">%1$s</xliff:g> non annullerà il servizio di <xliff:g id="CARRIER2">%2$s</xliff:g>."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Passa a <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Resetta SIM"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Resettare questa SIM scaricata?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Se resetti questa SIM, rimuoverai i servizi di <xliff:g id="CARRIER_0">%1$s</xliff:g> da questo dispositivo.\n\nIl servizio per <xliff:g id="CARRIER_1">%2$s</xliff:g> non verrà annullato."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Resetta"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Resetto SIM…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Impossibile resettare la SIM"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Questa SIM non può essere resettata a causa di un errore.\n\nRiavvia il dispositivo e riprova."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Tipo di rete preferito"</string>
@@ -4580,7 +4690,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Modalità di rete <xliff:g id="NETWORKMODEID">%1$d</xliff:g> non valida. Ignora."</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Nomi punti di accesso"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Non disponibile se è attiva la connessione a <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"Dati medici, contatti di emergenza"</string>
     <string name="see_more" msgid="7499355691042812723">"Altro"</string>
     <string name="see_less" msgid="2642392725363552793">"Comprimi"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"Dispositivo da usare con <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
@@ -4589,11 +4698,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"Si è verificato un problema. L\'applicazione ha annullato la richiesta di scegliere un dispositivo."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"Connessione riuscita"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"Mostra tutte"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> dispositivi connessi</item>
-      <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_0">%1$d</xliff:g> dispositivo connesso</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"Nessun dispositivo Bluetooth"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"Ricerca del dispositivo…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"Connessione al dispositivo…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"Sinistra"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"Destra"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Custodia"</string>
@@ -4603,6 +4709,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"Non disponibili in modalità aereo"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"Forza la modalità desktop"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Forza la modalità desktop sperimentale su display secondari"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"Attiva non ridimensionabili a forma libera"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"Consente le app non ridimensionabili a forma libera"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Esegui override modalità Buio forzata"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"Esegue l\'override della funzionalità di modalità Buio forzata in modo che sia sempre attiva"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"Privacy"</string>
@@ -4639,6 +4747,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Hai installato di recente questa app."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Cambia uscita"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Attualmente in riproduzione sul dispositivo <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (disconnesso)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Non puoi cambiare. Tocca per riprovare."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Informazioni importanti"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"CONTINUA"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"NO GRAZIE"</string>
@@ -4666,8 +4776,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"Combinazione di SIM"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Informazioni sulle norme di lavoro"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Impostazioni gestite dall\'amministratore IT"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"Gestore segnalazione di bug"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Consente di stabilire quale app gestisce la scorciatoia per la segnalazione di bug sul dispositivo."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Personale"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"Lavoro"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"Predefinita di sistema"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"La selezione non è più valida. Riprova."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"Interrompi trasmissione"</string>
 </resources>
diff --git a/res/values-iw/arrays.xml b/res/values-iw/arrays.xml
index 6e699a5..05879eb 100644
--- a/res/values-iw/arrays.xml
+++ b/res/values-iw/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"מיד"</item>
     <item msgid="463591454172790676">"5 שניות"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"ללא אימות"</item>
+    <item msgid="5703177653586269306">"יש לבקש סטטוס של אישורים"</item>
+    <item msgid="326388247868439528">"יש לדרוש סטטוס של אישורים"</item>
+    <item msgid="1090956283885790552">"יש לדרוש סטטוסים של כל האישורים שאינם מהימנים"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"לחצן דחיפה"</item>
     <item msgid="2630618799033509548">"קוד גישה ממכשיר עמית"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"ללא"</item>
@@ -404,6 +412,9 @@
     <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">"‏L2TP/IPSec VPN עם מפתחות משותפים מראש"</item>
+    <item msgid="6630554779981113046">"‏IKEv2/IPSec VPN עם אישורים"</item>
   </string-array>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"אין"</item>
diff --git a/res/values-iw/config.xml b/res/values-iw/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-iw/config.xml
+++ b/res/values-iw/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index 6d68552..29562c4 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -33,49 +33,17 @@
     <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="radio_info_data_connection_enable" msgid="7500945447906187613">"הפעל חיבור נתונים"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"השבת חיבור נתונים"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"‏ניהול התצורה של VoLTE"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"ניהול תצורה של שיחות וידאו"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"‏ניהול תצורה של שיחות Wifi"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"‏ניהול תצורה של נוכחות/EAB מופעל"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"‏נתוני CBRS"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"‏הפעלת DSDS"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"להפעיל מכשיר מחדש?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"עליך להפעיל מחדש את המכשיר כדי לשנות הגדרה זו."</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"הפעלה מחדש"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"ביטול"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"הפעלה של רדיו סלולרי"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"‏הצג פנקס כתובות של SIM"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"הצגת מספרי חיוג קבועים"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"מספרי חיוג לשירות"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"‏סטטוס שירות IMS"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"‏סטטוס IMS"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"רשום"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"לא רשום"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"זמין/ה"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"לא זמין"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"‏הרשמה ל-IMS:‏ <xliff:g id="STATUS">%1$s</xliff:g>\nVoice over LTE:‏ <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nVoice over Wi-Fi:‏ <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nשיחות וידאו: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nממשק UT:‏ <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"בשירות"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"לא תקין"</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>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"לא פעיל"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"מצלצל"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"שיחה מתבצעת"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"מנותק"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"מתחבר"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"מחובר"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"בהשעיה"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"לא ידוע"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"pkts"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"בייטים"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"‏ביטול טעינה של אחסון USB"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"‏ביטול טעינה של כרטיס SD"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"‏מחק אחסון USB"</string>
@@ -85,7 +53,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"שינוי גודל הטקסט שמופיע במסך."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"הקטנה"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"הגדלה"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"טקסט לדוגמה"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"הקוסם המופלא מארץ עוץ"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"פרק 11: עיר הברקת המופלאה של ארץ עוץ"</string>
@@ -176,9 +143,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"עליך להפעיל מחדש את המכשיר כדי לשנות הגדרה זו."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"הפעלה מחדש"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"ביטול"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"מכשירי מדיה זמינים"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"מכשירי התקשרות זמינים"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"מחובר כעת"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"מכשירים לאחסון מדיה"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"מכשירי התקשרות"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"מכשירים אחרים"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"מכשירים שמורים"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"‏Bluetooth יופעל לצורך התאמה"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"העדפות חיבור"</string>
@@ -211,46 +178,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"היציאה שהקלדת אינה חוקית."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"‏שרת ה-Proxy של HTTP נמצא בשימוש הדפדפן, אך אפליקציות אחרות לא יכולות להשתמש בו."</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"‏כתובת אתר של PAC: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"תת-מזהה נוכחי:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"‏תת-מזהה של כרטיס ה-SIM עם חבילת גלישה המוגדר כברירת מחדל:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"‏רוחב פס DL (ב-kbps):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"‏רוחב פס UL (ב-kbps):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"מידע על מיקום סלולרי (הוצא משימוש):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"‏תצורת ערוץ פיזי של LTE:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"קצב רענון של מידע סלולרי:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"כל המידע של מדידה סלולרית:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"שירות נתונים:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"נדידה:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"הפניה מחדש של שיחה:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"‏מספר איפוסי PPP מאז ההפעלה:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"רשת נוכחית:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"הנתונים שהתקבלו:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"שירות קולי:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"עוצמת אות:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"סטטוס שיחה קולית:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"הנתונים נשלחו:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"הודעה ממתינה:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"מספר טלפון:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"בחר תדר רדיו"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"סוג רשת קולית:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"סוג רשת נתונים:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"בחירת אינדקס טלפון"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"הגדר סוג רשת מועדף:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"‏נדנד לשם המארח (www.google.com) מסוג IPv4:"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"‏נדנד לשם המארח (www.google.com) מסוג IPv6:"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"‏בדיקת לקוח HTTP:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"הפעל בדיקת פינג"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"עדכון"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"רענון"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"‏החלף מצב של בדיקת DNS"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"‏מידע/הגדרות ספציפיים ל-OEM"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"הגדרת מצב תדרים של רדיו"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"טוען רשימת תדרים…"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"הגדרה"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"נכשל"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"עבר בהצלחה"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"‏השינויים ייכנסו לתוקף לאחר שכבל ה-USB יחובר מחדש."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"‏הפעלת אחסון USB בנפח גדול"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"נפח כולל (בייטים):"</string>
@@ -289,10 +220,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"העבר לסוף הרשימה"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"הסרת שפה"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"בחר פעילות"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"מידע על המכשיר"</string>
     <string name="display_label" msgid="3056320781191343221">"מסך"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"פרטי טאבלט"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"פרטי טלפון"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"‏אחסון USB"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"‏כרטיס SD"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"‏הגדרות שרת Proxy"</string>
@@ -310,9 +238,6 @@
     <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="cellular_data_title" msgid="8072108204621057526">"חבילת גלישה"</string>
-    <string name="calls_title" msgid="6334813967619899114">"התרת שיחות"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"‏הודעות SMS"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"התר שימוש בנתונים ברשת סלולרית"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"אפשר שימוש בנתונים בעת נדידה"</string>
     <string name="roaming" msgid="3055365654530847985">"נדידה"</string>
@@ -320,9 +245,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"חיבור לשירותי נתונים בנדידה"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"איבדת את קישוריות הנתונים כיוון שעזבת את הרשת הביתית בזמן שנדידת הנתונים היתה כבויה."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"הפעלה"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"ייתכנו שיעורי חיוב גבוהים."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"כשאתה מאפשר נדידה, הדבר עשוי להיות כרוך בעלויות נדידה גבוהות!\n\nהגדרה זו משפיעה על כל המשתמשים בטאבלט הזה."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"כשאתה מאפשר נדידה, הדבר עשוי להיות כרוך בעלויות נדידה גבוהות!\n\nהגדרה זו משפיעה על כל המשתמשים בטלפון הזה."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"ייתכנו חיובי נדידה."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"כשמאפשרים נדידה, ייתכנו חיובי נדידה.\n\nהגדרה זו משפיעה על כל המשתמשים בטאבלט זה."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"כשמאפשרים נדידה, ייתכנו חיובי נדידה.\n\nהגדרה זו משפיעה על כל המשתמשים בטלפון זה."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"האם לאפשר נדידה?"</string>
     <string name="networks" msgid="5184501333492775095">"בחירת מפעיל"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"בחר מפעיל רשת"</string>
@@ -363,8 +288,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"הושבת על ידי מנהל המכשיר"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"הצגת אפשרות סגירה"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"‏הצגת אפשרות של לחצן ההפעלה שמשבית את Smart Lock, את ביטול הנעילה באמצעות מידע ביומטרי ואת ההתראות המוצגות במסך הנעילה."</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"סביבות אמינות רק דוחות את הנעילה"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"אם האפשרות מופעלת, סביבות אמינות ימנעו למשך זמן ארוך יותר את נעילת המכשיר, אבל כבר אי אפשר להשתמש בהן לביטול הנעילה של המכשיר."</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"נעילת המסך כשאובדת האמינות"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"אם תופעל, המכשיר יינעל כשאובדת האמינות של הסביבה האמינה האחרונה"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"ללא"</string>
@@ -396,7 +319,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"‏הגדרת \'המיקום שלי\', ביטול נעילת מסך, נעילת כרטיס SIM, נעילת אחסון אישורים"</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"הגדרת \'המיקום שלי\', ביטול נעילת מסך, נעילת אחסון אישורים"</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"פרטיות"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"הושבת על ידי מנהל המכשיר"</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>
@@ -709,7 +632,6 @@
       <item quantity="other">צריכה להכיל פחות מ-<xliff:g id="NUMBER_1">%d</xliff:g> ספרות</item>
       <item quantity="one">צריכה להכיל פחות מספרה אחת (<xliff:g id="NUMBER_0">%d</xliff:g>)</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"צריך להכיל רק את הספרות 0-9"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"מנהל המכשיר לא מאפשר להשתמש בקוד גישה שנעשה בו שימוש לאחרונה"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"‏קודי גישה נפוצים חסומים בידי מנהל ה-IT. יש לנסות קוד גישה אחר."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"לא ניתן לכלול תו לא חוקי"</string>
@@ -752,6 +674,12 @@
       <item quantity="other">צריכה להכיל לפחות <xliff:g id="COUNT">%d</xliff:g> תווים שאינם אותיות</item>
       <item quantity="one">צריכה להכיל לפחות תו אחד שאינו אות</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="two">חייבת להכיל לפחות <xliff:g id="COUNT">%d</xliff:g> תווים שאינם מספרים</item>
+      <item quantity="many">חייבת להכיל לפחות <xliff:g id="COUNT">%d</xliff:g> תווים שאינם מספרים</item>
+      <item quantity="other">חייבת להכיל לפחות <xliff:g id="COUNT">%d</xliff:g> תווים שאינם מספרים</item>
+      <item quantity="one">חייבת להכיל לפחות תו אחד שאינו מספר</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"מנהל המכשיר לא מאפשר להשתמש בסיסמה שנעשה בה שימוש לאחרונה"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"‏סיסמאות נפוצות חסומות בידי מנהל ה-IT. יש לנסות סיסמה אחרת."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"אין להגדיר רצף ספרות עולה, יורד או חוזר"</string>
@@ -869,19 +797,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"‎2.4 GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"‎5 GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"כניסה"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"פתיחת האתר"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"הזמן שנותר: <xliff:g id="REMAINING_TIME">%1$s</xliff:g>"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"בתוקף עד <xliff:g id="EXPIRY_TIME">%1$s</xliff:g>"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"יש להקיש כאן כדי להיכנס לרשת"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> מגה בייט לשנייה"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"‏<xliff:g id="REQUESTER">%s</xliff:g> רוצה להפעיל את ה-Wi-Fi"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"‏<xliff:g id="REQUESTER">%s</xliff:g> רוצה לכבות את ה-Wi-Fi"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"אימות קוד בייט לאפל\' שניתנות לניפוי באגים"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"‏ART יוכל לאמת קוד בייט לאפליקציות שניתנות לניפוי באגים"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"הצגת קצב הרענון"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"הצגת קצב הרענון של התצוגה הנוכחית"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"אפשר חילופי מידע כאשר הטאבלט נוגע במכשיר אחר"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"החלפת נתונים כאשר הטלפון נוגע במכשיר אחר"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"‏הרשאה לחילופי נתונים כאשר הטאבלט נוגע במכשיר NFC"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"‏הרשאה לחילופי נתונים כאשר הטלפון נוגע במכשיר NFC"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"‏הפעלת NFC"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"‏מתקיימת תקשורת נתונים ב-NFC בין המכשיר הזה לבין מכשירים או יעדים אחרים בקרבת מקום, כמו למשל מסופי תשלום, מתקנים לזיהוי גישה, ומודעות או תגים אינטראקטיביים."</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"‏אבטחת NFC"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"‏דרישה לביטול נעילת המכשיר עבור NFC"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"‏ניתן להשתמש בתשלום NFC ובתחבורה ציבורית רק לאחר ביטול של נעילת המסך"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"‏מוכן לשדר תוכן אפליקציה באמצעות NFC"</string>
@@ -955,8 +889,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"הפעלה"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"‏\'חיפוש נקודות Wi-Fi\' מופעל"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"אפשרויות מתקדמות"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"אפשרויות מתקדמות ברשימה נפתחת. הקש פעמיים כדי לכווץ."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"אפשרויות מתקדמות ברשימה נפתחת. הקש פעמיים כדי להרחיב."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"רשימה נפתחת של אפשרויות מתקדמות"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"הרחבה"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"שם רשת"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"‏כאן מזינים את ה-SSID"</string>
     <string name="wifi_security" msgid="9095934643631406913">"אבטחה"</string>
@@ -966,6 +900,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"סטטוס"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"שידור של מהירות קישור"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"קבלה של מהירות קישור"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"מהירות קישור"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"תדירות"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"‏כתובת IP"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"נשמר באמצעות"</string>
@@ -973,6 +908,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"‏שיטת EAP"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"אימות שלב 2"</string>
     <string name="wifi_eap_ca_cert" msgid="8033404008276298886">"אישור של רשות אישורים"</string>
+    <string name="wifi_eap_ocsp" msgid="8713933962516871238">"סטטוס של אישורים מקוונים"</string>
     <string name="wifi_eap_domain" msgid="8304301470752333203">"דומיין"</string>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"אישור משתמש"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"זהות"</string>
@@ -989,6 +925,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"‏יש לבחור תדר אחד לכל הפחות לנקודת Wi‑Fi לשיתוף אינטרנט:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"‏הגדרות IP"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"פרטיות"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"מינוי"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"הצגה או שינוי של מינוי"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"‏MAC אקראי"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"הוספת מכשיר"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"‏יש להציב במרכז את קוד ה-QR שבהמשך כדי להוסיף את המכשיר אל “<xliff:g id="SSID">%1$s</xliff:g>”"</string>
@@ -998,12 +936,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"‏שיתוף Wi‑Fi"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"‏כדי להתחבר אל “<xliff:g id="SSID">%1$s</xliff:g>” ולשתף את הסיסמה צריך לסרוק את קוד ה-QR הזה"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"‏כדי להתחבר אל \"<xliff:g id="SSID">%1$s</xliff:g>\" צריך לסרוק את קוד ה-QR הזה"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"‏לא ניתן היה לקרוא את קוד ה-QR. יש להציב שוב את הקוד במרכז ולנסות שוב"</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"יש לנסות שוב. אם הבעיה ממשיכה להופיע, יש לפנות ליצרן המכשיר"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"משהו השתבש"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"יש לוודא שהמכשיר חובר, הוטען והופעל"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"יש לוודא שהמכשיר חובר, הוטען והופעל. אם הבעיה ממשיכה להופיע, יש לפנות ליצרן המכשיר"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"מכשיר זה לא תומך בהוספת “<xliff:g id="SSID">%1$s</xliff:g>”"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"‏יש לנסות להזיז את המכשיר קרוב יותר לנקודת הגישה או הנתב של ה-Wi-Fi"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"יש לבדוק את הסיסמה ולנסות שוב"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"יש ליצור קשר עם יצרן המכשיר"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"יש לבדוק את החיבור ולנסות שוב"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"בחירת רשת"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"יש לבחור רשת כדי לחבר את המכשיר"</string>
@@ -1016,11 +956,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"‏מתבצע שיתוף Wi‑Fi עם מכשיר זה…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"בתהליך התחברות…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"שיתוף של נקודה לשיתוף אינטרנט"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"אימות הזהות שלך"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"אימות זהותך"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"‏סיסמה של Wi‑Fi: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"סיסמה של נקודה לשיתוף אינטרנט: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"חיבור אוטומטי"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"הטלפון יוכל להתחבר באופן אוטומטי בסביבת הרשת הזו"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"הטאבלט יוכל להתחבר באופן אוטומטי בסביבת הרשת הזו"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"הוספת מכשיר"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"‏אפשר להשתמש בקוד QR כדי להוסיף מכשיר לרשת זו"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"‏קוד QR אינו בפורמט חוקי"</string>
     <string name="retry" msgid="7542103800274026915">"ניסיון נוסף"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"שתף עם משתמשים אחרים במכשיר"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(ללא שינוי)"</string>
@@ -1032,6 +976,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"לא הוגדר אישור. החיבור שלך לא יהיה פרטי."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"שם הרשת ארוך מדי."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"חובה לציין דומיין."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"נדרש אישור."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"‏WPS זמין"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" ‏ (WPS זמין)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"‏רשת Wi-Fi של ספק"</string>
@@ -1089,7 +1034,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"‏Wi-Fi מתקדם"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"‏כתובת MAC"</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_ip_address_title" msgid="4265355419782184514">"‏כתובת IP"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"פרטי הרשת"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"מסכת רשת משנה"</string>
@@ -1141,7 +1087,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"‏יש לך אפשרות להשתמש בנקודה לשיתוף אינטרנט כדי ליצור רשת Wi‑Fi ולחבר אליה את המכשירים האחרים. נקודות לשיתוף אינטרנט מספקות חיבור לאינטרנט דרך חבילת הגלישה שלך. ייתכן שהשימוש יהיה כרוך בתשלום נוסף על חבילת הגלישה."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"אפשר להשתמש באפליקציות כדי ליצור נקודה לשיתוף אינטרנט ולשתף תכנים בין מכשירים שנמצאים בקרבת מקום."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"כיבוי אוטומטי של נקודה לשיתוף אינטרנט"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"‏נקודת ה-Wi‑Fi לשיתוף אינטרנט תיכבה כשאין אף מכשיר מחובר"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"כשאין מכשירים מחוברים"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"מפעיל נקודה לשיתוף אינטרנט…"</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"מכבה נקודה לשיתוף אינטרנט…"</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> פעיל"</string>
@@ -1150,6 +1096,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"‏הגדרה של נקודת שיתוף Wi‑Fi"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"‏נקודה לשיתוף אינטרנט AndroidAP WPA2 PSK"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"AndroidHotspot"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"לשמור את הרשת הזו?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"התקבלה בקשה מהאפליקציה <xliff:g id="APPNAME">%1$s</xliff:g> לשמור רשת בטלפון"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"התקבלה בקשה מהאפליקציה <xliff:g id="APPNAME">%1$s</xliff:g> לשמור רשת בטאבלט"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"מתבצעת שמירה…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"נשמרה"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"לא ניתן לשמור. יש לנסות שוב."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"לשמור את הרשתות?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"התקבלה בקשה מהאפליקציה <xliff:g id="APPNAME">%1$s</xliff:g> לשמור את הרשתות האלה בטלפון"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"התקבלה בקשה מהאפליקציה <xliff:g id="APPNAME">%1$s</xliff:g> לשמור את הרשתות האלה בטאבלט"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"<xliff:g id="NUMBER">%d</xliff:g> רשתות בתהליך שמירה…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"הרשתות נשמרו"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"‏שיחות ב-Wi-Fi"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"‏ביצוע שיחות באמצעות Wi‑Fi"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"‏הפעלה של שיחות Wi‑Fi כדי להגדיל את תחום הכיסוי"</string>
@@ -1176,16 +1133,18 @@
     <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">"‏"<annotation id="url">"מידע נוסף"</annotation>" על תכונות של DNS פרטי"</string>
+    <string name="private_dns_mode_on" msgid="8878679071975375696">"מופעל"</string>
     <string name="wifi_calling_pref_managed_by_carrier" msgid="129524064888622179">"ההגדרה מנוהלת על ידי הספק הסלולרי"</string>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"‏הפעלה של שיחות Wi-Fi"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"‏הפעלה של שיחות Wi-Fi"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"‏אי אפשר להשתמש בשיחות Wi-Fi עם %1$s"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"מנותק מ-<xliff:g id="SSID">%1$s</xliff:g>"</string>
     <string name="carrier" msgid="1755020806290963951">"ספק סלולרי"</string>
     <string name="display_settings_title" msgid="626835071804834218">"תצוגה"</string>
     <string name="sound_settings" msgid="5514582720435174014">"צלילים"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"עוצמות קול"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"אפקטים מוסיקליים"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"עוצמת צלצול"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"עוצמת הקול של צלצול והתראות"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"רטט במצב שקט"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"צליל ברירת מחדל להתראה"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"צלצול"</string>
@@ -1310,13 +1269,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"לוח זמנים"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"אין"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"הפעלה מהשקיעה עד הזריחה"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"הפעלה בשעה שאני אקבע"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"סטטוס"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"כבוי / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"ללא הפעלה אוטומטית"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"הפעלה אוטומטית בשקיעה"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"הפעלה אוטומטית בשעה <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"פועל / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"ללא כיבוי אוטומטי"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"כיבוי אוטומטי בזריחה"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"כיבוי אוטומטי בשעה <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"הפעלה עד <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"כיבוי עד <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"העיצוב הכהה משתמש ברקע שחור במסכים מסוימים כדי להאריך את חיי הסוללה. הפעלת העיצוב הכהה מתוזמנת להתחיל לאחר שהמסך נכבה."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"זמן קצוב לכיבוי המסך"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"כיבוי מסך"</string>
@@ -1328,7 +1292,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"שינוי הטפט"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"התאמה אישית של המסך"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"בחירת טפט מתוך"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"‏התאמה אישית של ה-Pixel"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"התאמה אישית של הטלפון"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"מגוון סגנונות, טפטים שונים ואפשרויות נוספות לבחירתך"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"שומר מסך"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"במהלך טעינה או עגינה"</string>
@@ -1419,6 +1383,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"‏בטל טעינת אחסון USB, הצג אחסון זמין"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"‏ביטול טעינת כרטיס SD, הצגת שטח האחסון הזמין"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"‏IMEI (חריץ SIM ‏%1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"כדי לראות, יש לבחור את הרשת השמורה"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"מספר טלפון"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"‏MDN (חריץ SIM ‏%1$d)"</string>
@@ -1445,6 +1410,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"נדידה"</string>
     <string name="status_operator" msgid="4335640583552058491">"רשת"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"‏כתובת MAC של Wi-Fi"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"‏כתובת MAC של Wi-Fi של המכשיר"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"‏כתובת Bluetooth"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"מספר סידורי"</string>
     <string name="status_up_time" msgid="1274778533719495438">"זמן פעולה"</string>
@@ -1657,6 +1623,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"‏איפוס הגדרות ברירת המחדל של APN הושלם."</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"אפשרויות איפוס"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"ניתן לאפס את הרשת, את האפליקציות או את המכשיר"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"אפשר לאפס את האפליקציות"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"‏איפוס ההגדרות של Wi-Fi, חבילת גלישה ו-Bluetooth"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"‏פעולה זו תאפס את כל הגדרות הרשת, כולל:\n\n"<li>"Wi‑Fi"</li>\n<li>"חבילת גלישה"</li>\n<li>"Bluetooth"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"‏מחיקת כרטיסי SIM שהורדת"</string>
@@ -1706,6 +1673,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"נקודה לשיתוף אינטרנט פועלת"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"שיתוף אינטרנט"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"‏לא ניתן לשתף אינטרנט בין ניידים או להשתמש בנקודה ניידת לשיתוף אינטרנט כשחוסך הנתונים (Data Saver) פועל."</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"נקודה לשיתוף אינטרנט בלבד"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"‏USB בלבד"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"‏Bluetooth בלבד"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"‏נקודה לשיתוף אינטרנט, USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"‏נקודה לשיתוף אינטרנט, Bluetooth"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"‏USB,‏ Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"‏נקודה לשיתוף אינטרנט, USB,‏ Bluetooth"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"לא יתבצע שיתוף של חיבור לאינטרנט עם מכשירים אחרים"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"שיתוף אינטרנט בין מכשירים"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"‏אין להשתמש בנקודה לשיתוף אינטרנט דרך Wi‑Fi"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"‏שיתוף אינטרנט רק באמצעות USB"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"‏שיתוף אינטרנט רק באמצעות Bluetooth"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"‏שיתוף אינטרנט רק באמצעות USB ו-Bluetooth"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"‏שיתוף אינטרנט דרך USB"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"‏שיתוף בחיבור לאינטרנט של הטלפון דרך USB"</string>
@@ -1798,9 +1778,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"מידע על בטיחות"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"‏אין חיבור נתונים. כדי להציג מידע זה כעת, צריך לעבור אל %s ממחשב כלשהו המחובר לאינטרנט."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"בטעינה…"</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"שימוש בקוד גישה"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"שימוש בקו ביטול נעילה"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"שימוש בסיסמה"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"הגדרה של נעילת מסך"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"לשיפור האבטחה, מומלץ להגדיר סיסמה"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"כדי להשתמש בטביעת אצבע, הגדר סיסמה"</string>
@@ -1809,8 +1786,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"כדי להשתמש בטביעת אצבע, יש להגדיר קוד גישה"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"לשיפור האבטחה, מומלץ להגדיר קו ביטול נעילה"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"יש להזין את הסיסמה שוב"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"הזנת הסיסמה של פרופיל העבודה"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"אשר את הקו לביטול נעילה"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"הזנת קו ביטול הנעילה לעבודה"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"יש להזין שוב את קוד הגישה"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"הזנת קוד הגישה לפרופיל העבודה"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"הסיסמאות לא תואמות"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"קודי הגישה אינם תואמים"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"יש לשרטט שוב את קו ביטול הנעילה"</string>
@@ -1821,6 +1801,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"צריך סיסמה לשחרור נעילה עם זיהוי פנים"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"צריך קו ביטול נעילה לשחרור עם זיהוי פנים"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"צריך קוד אימות לשחרור על ידי זיהוי פנים"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"שכחת סיסמה?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"שכחת את קו ביטול הנעילה?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"שכחת את קוד האימות?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"השתמש בקו ביטול הנעילה של המכשיר כדי להמשיך"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"הזן את קוד הגישה של המכשיר כדי להמשיך"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"הזן את סיסמת המכשיר כדי להמשיך"</string>
@@ -1888,6 +1871,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"אפליקציות ממקורות שונים"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"אפליקציות שפתחת לאחרונה"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"הצגת כל <xliff:g id="COUNT">%1$d</xliff:g> האפליקציות"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"‏יש ליצור קשר עם מנהל ה-IT"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"ניתן לקבל ממנו עזרה באיפוס קוד האימות, קו ביטול הנעילה או הסיסמה"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"הטאבלט והנתונים האישיים שלך פגיעים יותר להתקפות של אפליקציות לא מוכרות. על ידי התקנת אפליקציות ממקור זה, אתה מסכים לכך שאתה האחראי לכל נזק לטאבלט או לכל אובדן של נתונים שעשויים להיגרם כתוצאה מהשימוש באפליקציות אלה."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"הטלפון והנתונים האישיים שלך פגיעים יותר להתקפות של אפליקציות לא מוכרות. על ידי התקנת אפליקציות ממקור זה, אתה מסכים לכך שאתה האחראי לכל נזק לטלפון או לכל אובדן של נתונים שעשויים להיגרם כתוצאה מהשימוש באפליקציות אלה."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"המכשיר והנתונים האישיים שלך פגיעים יותר להתקפות של אפליקציות לא מוכרות. התקנת אפליקציות מהמקור הזה מבטאת את הסכמתך לכך שהאחריות לכל נזק למכשיר או לכל אובדן של נתונים שעשויים להיגרם כתוצאה מהשימוש באפליקציות אלה היא שלך בלבד."</string>
@@ -1941,7 +1926,7 @@
     <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="1377296810290814749">"הפעולה תאפס את כל ההעדפות עבור:\n\n"<li>"אפליקציות מושבתות"</li>\n<li>"התראות של אפליקציות מושבתות"</li>\n<li>"אפליקציות שהן ברירת המחדל לביצוע פעולות"</li>\n<li>"הגבלות של נתוני רקע לאפליקציות"</li>\n<li>"הגבלת הרשאות"</li>\n\n"נתוני האפליקציות לא יילכו לאיבוד."</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>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"איפוס אפליקציות"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"ניהול שטח אחסון"</string>
     <string name="filter" msgid="9039576690686251462">"סינון"</string>
@@ -2141,7 +2126,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"הקראת טקסט שמופיע במסך"</string>
     <string name="display_category_title" msgid="6638191682294461408">"תצוגה"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"פקדי אינטראקציה"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"שירותים שהורדו"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"אפליקציות שהורדת"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"ניסיוני"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"סימוני תכונות"</string>
     <string name="talkback_title" msgid="8756080454514251327">"Talkback"</string>
@@ -2149,27 +2134,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"הקש על פריטים במסך כדי לשמוע הקראה שלהם"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"כתוביות"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"הגדלה"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"אזור ההגדלה"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"הפעלת ההגדלה"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"יש לבחור את אזורי ההגדלה שישמשו אותך בזמן הגדלת המסך"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"מסך מלא"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"חלק מהמסך"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"מסך מלא וחלק מהמסך"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"הגדלת כל המסך"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"הגדלת חלק מהמסך"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"הגדרות ההגדלה"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"הגדלה על-ידי הקשה שלוש פעמים"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"הגדלה בעזרת קיצור דרך"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"הגדלה בעזרת קיצור דרך והקשה שלוש פעמים"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"מידע על <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"אפשרויות"</string>
     <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="2831926970059739911"><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_screen_magnification_navbar_summary" msgid="5603519616005297803">"כשההגדלה מופעלת, ניתן להתקרב למסך.\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_screen_magnification_summary" msgid="7617931632990040045">"‏התקרבות מהירה למסך כדי לראות את התוכן באופן ברור יותר.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;להתקרבות:&lt;/b&gt;&lt;br/&gt;	1. משתמשים במקש קיצור כדי להתחיל בהגדלה&lt;br/&gt;	2. מקישים על המסך&lt;br/&gt;	3. גוררים שתי אצבעות כדי לנוע על פני המסך&lt;br/&gt;	4. עושים תנועת צביטה באמצעות שתי אצבעות כדי לכוונן את המרחק מהתצוגה&lt;br/&gt;	5. משתמשים במקש הקיצור כדי להפסיק את ההגדלה&lt;br/&gt;&lt;br/&gt;&lt;b&gt;כדי להתקרב באופן זמני:&lt;/b&gt;&lt;br/&gt;	1. משתמשים במקש קיצור כדי להתחיל בהגדלה&lt;br/&gt;	2. לוחצים לחיצה ארוכה במיקום כלשהו במסך&lt;br/&gt;	3. גוררים את האצבע כדי לנוע על פני המסך&lt;br/&gt;	4. מרימים את האצבע כדי להפסיק את ההגדלה"</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"כשההגדלה מופעלת, ניתן להתקרב למסך.\n\n"<b>"כדי להתקרב,"</b>", מתחילים בהגדלה ולאחר מכן מקישים במקום כלשהו במסך.\n"<ul><li>"גוררים שתי אצבעות או יותר כדי לגלול"</li>\n<li>"עושים תנועת צביטה עם שתי אצבעות או יותר כדי לשנות את מרחק התצוגה"</li></ul>\n\n<b>"כדי להתקרב באופן זמני"</b>", מתחילים בהגדלה ולאחר מכן, לוחצים לחיצה ארוכה במקום כלשהו במסך.\n"<ul><li>"גוררים כדי לנוע במסך"</li>\n<li>"מרימים את האצבע כדי להתרחק"</li></ul>\n\n"לא ניתן להתקרב באמצעות המקלדת או סרגל הניווט."</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"שימוש בלחצן נגישות לצורך פתיחה"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"שימוש בתנועה לצורך פתיחה"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"שימוש בתנועת נגישות חדשה"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"כדי להפעיל או לכבות את השירות הזה, יש להקיש על לחצן הנגישות<xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>שבתחתית המסך.\n\nכדי לעבור בין השירותים השונים, יש ללחוץ לחיצה ארוכה על לחצן הנגישות."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"כדי להפעיל או לכבות את השירות הזה, יש להחליק כלפי מעלה מתחתית המסך באמצעות שתי אצבעות.\n\nכדי לעבור בין שירותים, יש להחליק כלפי מעלה באמצעות שתי אצבעות ולהחזיק."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"כדי להפעיל או לכבות את השירות הזה, יש להחליק כלפי מעלה מתחתית המסך באמצעות שלוש אצבעות.\n\nכדי לעבור בין שירותים, יש להחליק כלפי מעלה באמצעות שלוש אצבעות ולהחזיק."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"כדי להפעיל או לכבות שירות נגישות, יש להחליק כלפי מעלה מתחתית המסך באמצעות שתי אצבעות.\n\nכדי לעבור בין שירותים, יש להחליק כלפי מעלה באמצעות שתי אצבעות ולהחזיק."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"כדי להפעיל או לכבות שירות נגישות, יש להחליק כלפי מעלה מתחתית המסך באמצעות שלוש אצבעות.\n\nכדי לעבור בין שירותים, יש להחליק כלפי מעלה באמצעות שלוש אצבעות ולהחזיק."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"כדי להפעיל או לכבות את השירות הזה, יש להקיש על לחצן הנגישות <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> שבתחתית המסך.\n\nכדי לעבור בין השירותים השונים, יש ללחוץ לחיצה ארוכה על לחצן הנגישות."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"כדי להפעיל או לכבות את השירות הזה, יש להחליק כלפי מעלה מתחתית המסך באמצעות שתי אצבעות.\n\nכדי לעבור בין שירותים, יש להחליק כלפי מעלה באמצעות שתי אצבעות ולהחזיק."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"כדי להפעיל או לכבות את השירות הזה, יש להחליק כלפי מעלה מתחתית המסך באמצעות שלוש אצבעות.\n\nכדי לעבור בין שירותים, יש להחליק כלפי מעלה באמצעות שלוש אצבעות ולהחזיק."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"כדי להפעיל או לכבות שירות נגישות, יש להחליק כלפי מעלה מתחתית המסך באמצעות שתי אצבעות.\n\nכדי לעבור בין שירותים, יש להחליק כלפי מעלה באמצעות שתי אצבעות ולהחזיק."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"כדי להפעיל או לכבות שירות נגישות, יש להחליק כלפי מעלה מתחתית המסך באמצעות שלוש אצבעות.\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="2820923641553461297">"לחצן הנגישות"</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>
+    <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8922102767509399352">"יש להקיש על לחצן הנגישות <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> שבתחתית המסך"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"יש להחליק למעלה מתחתית המסך בעזרת שתי אצבעות"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"יש להחליק למעלה מתחתית המסך בעזרת שלוש אצבעות"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"החזקה של לחצני עוצמת הקול"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"יש ללחוץ לחיצה ארוכה על שני הלחצנים של עוצמת הקול למשך שנייה אחת"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"יש להקיש 3 פעמים על המסך"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"יש להקיש במהירות שלוש פעמים על המסך. קיצור הדרך הזה עלול להאט את פעולת המכשיר."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"מתקדם"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"הלחצן \'נגישות\' מוגדר לשירות <xliff:g id="SERVICE">%1$s</xliff:g>. כדי להשתמש בהגדלה, יש ללחוץ לחיצה ארוכה על לחצן הנגישות ולאחר מכן לבחור בהגדלה."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"תנועת הנגישות מוגדרת לשירות <xliff:g id="SERVICE">%1$s</xliff:g>. כדי להשתמש בהגדלה, יש להחליק מעלה מהחלק התחתון של המסך באמצעות שתי אצבעות ולהחזיק. לאחר מכן יש לבחור באפשרות \'הגדלה\'."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"מקש עוצמת הקול כמקש קיצור"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"שירות קיצורי דרך"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"הגדרות של קיצורי דרך"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"ניתן להפעיל ממסך הנעילה"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"כאשר קיצור הדרך מופעל, ניתן ללחוץ על שני מקשי עוצמת הקול למשך שלוש שניות כדי להפעיל תכונת נגישות."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"טקסט בניגודיות גבוהה"</string>
@@ -2193,24 +2203,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"ניתן לבחור את משך הזמן להצגת הודעות שדורשות נקיטת פעולה כלשהי, אך גלויות באופן זמני בלבד.\n\nלא כל האפליקציות תומכות בהגדרה זו."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"עיכוב של נגיעה והחזקה"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"היפוך צבעים"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"עשוי להשפיע על הביצועים"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"זמן שהות"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"שימוש בהיפוך צבעים"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"‏היפוך צבעים הופך את תאורת המסך לכהה. תכונה זו עוזרת לאנשים שרגישים לאור בהיר להתבונן במסך בקלות רבה יותר.&lt;br/&gt;&lt;br/&gt;הערה: צבעים כהים יהפכו לבהירים. הצבעים ישתנו במדיה ובתמונות. ניתן גם להשתמש בעיצוב כהה (הגדרות &gt; תצוגה)."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"קליק אוטומטי (זמן שהות)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"אם נעשה שימוש בעכבר, אפשר להגדיר את הסמן כך שינקוט פעולה באופן אוטומטי כשהוא מפסיק לזוז למשך פרק זמן מסוים."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"השהייה לפני לחיצה"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"לחיצה אוטומטית מושבתת (ברירת מחדל)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"קצר"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0.2 שניות"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"בינוני"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0.6 שניות"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"ארוך"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"שנייה אחת"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"התאמה אישית"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"קצר יותר"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"ארוך יותר"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"זמן לחיצה אוטומטית"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"עוצמת הרטט והמשוב הפיזי"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"רטט ההתראה"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"רטט הצלצול"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"משוב מגע"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"שימוש בשירות"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"שימוש באפליקציה <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"פתיחת <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"שימוש בתיקון צבע"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"שימוש בכתוביות"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"הצגת הכתוביות"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"מראה הכתוביות"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"גודל הטקסט, סגנון הכתוביות"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"אפשרויות נוספות"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"חלק מהאפליקציות לא תומכות בהגדרה הזו."</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>
     <string name="accessibility_hearingaid_instruction_continue_button" msgid="3367260988024430722">"המשך"</string>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"מכשירי שמיעה"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"אין מכשירי שמיעה מחוברים"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"הוספת מכשירי שמיעה"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"כדי להתאים את מכשירי השמיעה שלך, יש לחפש את המכשיר ולהקיש עליו במסך הבא."</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"צריך לוודא שמכשירי השמיעה במצב התאמה."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"כדי להתאים את מכשירי השמיעה שלך, יש לחפש את המכשיר ולהקיש עליו במסך הבא. צריך לוודא שמכשירי השמיעה במצב התאמה."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> פעיל"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="two"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> מכשירי שמיעה נשמרו</item>
@@ -2224,35 +2252,47 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"יש תקלה בשירות הזה."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"הצגה בהגדרות מהירות"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"מצב תיקון"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="two">השהיה קצרה מאוד (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> מילישניות)</item>
-      <item quantity="many">השהיה קצרה מאוד (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> מילישניות)</item>
-      <item quantity="other">השהיה קצרה מאוד (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> מילישניות)</item>
-      <item quantity="one">השהיה קצרה מאוד (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> מילישנייה)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"אדום-ירוק"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"ירוק-אדום"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"כחול-צהוב"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"דוטרנומליה"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"פרוטנומליה"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"טריטנומליה"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="two">השהיה קצרה ביותר (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> שניות)</item>
+      <item quantity="many">השהיה קצרה ביותר (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> שניות)</item>
+      <item quantity="other">השהיה קצרה ביותר (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> שניות)</item>
+      <item quantity="one">השהיה קצרה ביותר (שנייה אחת, <xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g>)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="two">השהיה קצרה מאוד (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> מילישניות)</item>
-      <item quantity="many">השהיה קצרה מאוד (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> מילישניות)</item>
-      <item quantity="other">השהיה קצרה מאוד (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> מילישניות)</item>
-      <item quantity="one">השהיה קצרה מאוד (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> מילישנייה)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="two">השהיה קצרה מאוד (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> שניות)</item>
+      <item quantity="many">השהיה קצרה מאוד (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> שניות)</item>
+      <item quantity="other">השהיה קצרה מאוד (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> שניות)</item>
+      <item quantity="one">השהיה קצרה מאוד (שנייה אחת, <xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g>)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="two">השהיה קצרה (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> מילישניות)</item>
-      <item quantity="many">השהיה קצרה (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> מילישניות)</item>
-      <item quantity="other">השהיה קצרה (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> מילישניות)</item>
-      <item quantity="one">השהיה קצרה (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> מילישנייה)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="two">השהיה קצרה (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> שניות)</item>
+      <item quantity="many">השהיה קצרה (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> שניות)</item>
+      <item quantity="other">השהיה קצרה (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> שניות)</item>
+      <item quantity="one">השהיה קצרה (שנייה אחת, <xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g>)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="two">השהיה ארוכה (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> מילישניות)</item>
-      <item quantity="many">השהיה ארוכה (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> מילישניות)</item>
-      <item quantity="other">השהיה ארוכה (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> מילישניות)</item>
-      <item quantity="one">השהיה ארוכה (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> מילישנייה)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="two">השהיה ארוכה (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> שניות)</item>
+      <item quantity="many">השהיה ארוכה (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> שניות)</item>
+      <item quantity="other">השהיה ארוכה (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> שניות)</item>
+      <item quantity="one">השהיה ארוכה (שנייה אחת, <xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g>)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="two">השהיה ארוכה מאוד (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> מילישניות)</item>
-      <item quantity="many">השהיה ארוכה מאוד (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> מילישניות)</item>
-      <item quantity="other">השהיה ארוכה מאוד (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> מילישניות)</item>
-      <item quantity="one">השהיה ארוכה מאוד (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> מילישנייה)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="two">השהיה ארוכה מאוד (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> שניות)</item>
+      <item quantity="many">השהיה ארוכה מאוד (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> שניות)</item>
+      <item quantity="other">השהיה ארוכה מאוד (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> שניות)</item>
+      <item quantity="one">השהיה ארוכה מאוד (שנייה אחת, <xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g>)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="two"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> שניות</item>
+      <item quantity="many"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> שניות</item>
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> שניות</item>
+      <item quantity="one">שנייה אחת (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g>)</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"צלצול <xliff:g id="SUMMARY_RING">%1$s</xliff:g>, התראה <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>, נגיעה <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"רטט כבוי לצלצול ולהתראות"</string>
@@ -2587,7 +2627,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"מאז הניתוק האחרון למשך <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"נתוני שימוש כוללים"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"רענון"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"Android OS"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"Mediaserver"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"אופטימיזציית אפליקציה"</string>
     <string name="battery_saver" msgid="7737147344510595864">"חיסכון בסוללה"</string>
@@ -2668,8 +2707,7 @@
     <string name="tts_play" msgid="2945513377250757221">"הפעלה"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"אחסון אישורים"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"התקנה מאמצעי אחסון"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"‏התקנה מכרטיס SD"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"התקנת אישור"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"התקנת אישורים מאמצעי אחסון"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"‏התקנת אישורים מכרטיס SD"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"ניקוי פרטי כניסה"</string>
@@ -2689,6 +2727,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"אחסון האישורים נמחק."</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"לא ניתן למחוק את האמצעי לאחסון אישורים."</string>
     <string name="usage_access_title" msgid="1580006124578134850">"גישה לנתוני שימוש"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"‏אישור CA"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"‏אישור משתמש לאפליקציה ול-VPN"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"‏אישור Wi-Fi"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"הפרטיות שלך בסיכון"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"‏אישורי CA משמשים אתרים, אפליקציות ורשתות VPN לצורך הצפנה. יש להתקין אישורי CA רק מארגונים מהימנים. \n\n לאחר התקנת אישור CA, לבעל האישור תהיה גישה לפרטים שלך, כמו סיסמאות, הודעות או פרטי כרטיס אשראי, מאתרים שביקרת בהם או אפליקציות שבשימוש - אפילו אם הפרטים האלו מוצפנים."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"לא להתקין"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"אני רוצה להתקין בכל זאת"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"לא הותקן אישור"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"אות לחיוג חירום"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"הגדרת אופן פעולה בעת ביצוע שיחת חירום"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"גיבוי"</string>
@@ -2716,10 +2762,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"בטל את ההפעלה והסר התקנה"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"אפליקציות לניהול המכשיר"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"אין אפליקציה זמינה של מנהל מכשיר"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"אישי"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"עבודה"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"‏הגבלת גישה ל-SMS וליומן השיחות"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"‏רק לאפליקציית הטלפון שהוגדרה כברירת המחדל ולאפליקציות להעברת הודעות יש הרשאות ל-SMS וליומן השיחות"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"אין סביבות מהימנות זמינות"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"האם להפעיל את אפליקציית מנהל המכשיר?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"הפעל את אפליקציית מנהל המכשיר"</string>
@@ -2733,6 +2775,16 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"אפשרויות אחרות מושבתות על ידי מנהל המכשיר."</string>
     <string name="admin_more_details" msgid="6698424974827333973">"פרטים נוספים"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"יומן התראות"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"היסטוריית התראות"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"היום"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"במצב נודניק"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"נסגרו לאחרונה"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="two"><xliff:g id="NUMBER_1">%d</xliff:g> התראות</item>
+      <item quantity="many"><xliff:g id="NUMBER_1">%d</xliff:g> התראות</item>
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> התראות</item>
+      <item quantity="one">התראה אחת (<xliff:g id="NUMBER_0">%d</xliff:g>)</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"צלצול ורטט שיחה"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"פרטי רשת"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"הסינכרון מופעל"</string>
@@ -3092,7 +3144,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"הגבלות"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"הסרת הגבלות"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"שינוי קוד גישה"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"הצגת התראות"</string>
     <string name="help_label" msgid="2896538416436125883">"עזרה ומשוב"</string>
     <string name="support_summary" msgid="1034146931237148885">"מאמרי עזרה, תמיכה טלפונית ותמיכה בצ\'אט, תחילת העבודה"</string>
     <string name="user_account_title" msgid="6389636876210834864">"חשבון לתוכן"</string>
@@ -3117,6 +3168,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"‏שיחות 4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"‏שימוש בשירותי LTE כדי לשפר את הקול ודרכי תקשורת אחרות (מומלץ)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"‏שימוש בשירותי 4G משפר את התקשורת הקולית ותקשורת אחרת (מומלץ)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"גילוי אנשי קשר"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"תכונה זו מאפשרת לספק לגלות אילו תכונות התקשרות נתמכות על ידי אנשי הקשר שלך."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"להפעיל את הגילוי של אנשי הקשר?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"הפעלת התכונה הזו תעניק לספק גישה למספרי הטלפון ששמורים באנשי הקשר שלך כדי לגלות באילו תכונות התקשרות הם תומכים."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"סוג רשת מועדף"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"‏LTE (מומלץ)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"‏הודעות MMS"</string>
@@ -3161,7 +3216,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"התקשר באמצעות"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"‏בחירת כרטיס SIM"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"‏SIM ‏<xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"‏כרטיס ה-SIM ריק"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"‏שם SIM"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"‏הזן את שם ה-SIM"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"‏חריץ SIM ‏%1$d"</string>
@@ -3171,6 +3225,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"‏בחר כרטיס SIM"</string>
     <string name="color_orange" msgid="216547825489739010">"כתום"</string>
     <string name="color_purple" msgid="6603701972079904843">"סגול"</string>
+    <string name="color_pink" msgid="8596872110888626708">"ורוד"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"‏לא הוכנסו כרטיסי SIM"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"‏סטטוס SIM"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"‏סטטוס SIM (חריץ SIM ‏%1$d)"</string>
@@ -3184,7 +3239,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"‏<xliff:g id="DBM">%1$d</xliff:g> dBm ‏<xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"‏כרטיסי SIM הוחלפו."</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"הקש כדי להגדיר"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"‏SIM מועדף עבור"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"שאל בכל פעם"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"יש לציין בחירה"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"‏בחירת SIM"</string>
@@ -3204,6 +3258,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"‏Bluetooth, מצב נהיגה"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"‏Bluetooth,‏ NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"Bluetooth"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"‏לא זמין כי NFC כבוי"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"אפליקציות והתראות"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"אפליקציות אחרונות, אפליקציות ברירת מחדל"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"הגישה להתראות אינה זמינה לאפליקציות בפרופיל העבודה."</string>
@@ -3214,13 +3269,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"הגדרות"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"‏wifi, Wi-Fi, חיבור רשת, אינטרנט, אלחוטי, נתונים, wi fi"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"‏התראת Wi‑Fi, התראת wifi"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"שימוש בחבילת הגלישה"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"הפסקת רטט, הקשה, מקלדת"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"שימוש בפורמט 24 שעות"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"הורדה"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"פתיחה באמצעות"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"אפליקציות"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"אזור זמן"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"בועת צ\'אט"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"בועת צ\'אט, מערכת, התראה, חלון, תיבת דו-שיח, הצגה, מעל אפליקציות אחרות, ציור"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"פנס, אור, לפיד"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"‏wifi, Wi-Fi, החלפת מצב, שליטה"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"‏סלולרי, נייד, ספק סלולרי, רשת אלחוטית, 4g, 3g, 2g, lte "</string>
@@ -3244,7 +3300,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"לא, לא להפריע, להפריע, הפרעה, הפסקה"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"‏בקרבת מקום, מיקום, היסטוריה, דיווח, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"חשבון"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"חשבון, הוספת חשבון, פרופיל עבודה, להוסיף חשבון"</string>
     <string name="keywords_users" msgid="3497517660077620843">"הגבלה, הגבל, מוגבל"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"תיקון טקסט, תיקון, צליל, רטט, אוטומטי, שפה, תנועה, להציע, הצעה, עיצוב, פוגעני, מילה, הקלד, אמוג\'י, בין-לאומי"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"לאפס, העדפות, ברירת מחדל"</string>
@@ -3282,6 +3338,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"זיכרון, מטמון, נתונים, מחיקה, ניקוי, פינוי, שטח"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"מחובר, מכשיר, אוזניות, אוזניות עם מיקרופון, רמקול, אלחוטי, התאמה, אוזניות כפתור, מוזיקה, מדיה"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"רקע, מסך, נעילת מסך, עיצוב"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"צורת הסמל, צבע משני, גופן"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"ברירת מחדל, אסיסט"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"תשלום, ברירת מחדל"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"התראה נכנסת"</string>
@@ -3291,18 +3348,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"מגע, רטט, רגישות"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"חיסכון בסוללה, קבוע, מצב קבוע, חיסכון בחשמל, סוללה"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"תרחיש, לוח זמנים, מצב חיסכון בסוללה, חיסכון בחשמל, סוללה, אוטומטי, אחוז"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"פרופיל עבודה"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"‏volte, שיחות טלפון מתקדמות; שיחות 4g"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"הוספת שפה, להוסיף שפה"</string>
     <string name="default_sound" msgid="6604374495015245195">"צליל ברירת מחדל"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"עוצמת צלצול ב-<xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"עוצמת הקול של צלצול והתראות ברמה של <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"עוצמת קול, רטט ומצב \'נא לא להפריע\'"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"תוכנת הצלצול במצב רטט"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"תוכנת הצלצול במצב שקט"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"עוצמת צלצול ב-80%"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"עוצמת הקול של צלצול והתראות ברמה של 80%"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"עוצמת קול של מדיה"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"עוצמת הקול בהעברה"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"עוצמת קול של שיחות"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"עוצמת קול של התראה"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"עוצמת צלצול"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"עוצמת הקול של צלצול והתראות"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"עוצמת קול של התראות"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"רינגטון של טלפון"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"צליל ברירת המחדל להתראות"</string>
@@ -3310,6 +3368,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"צליל ברירת המחדל להתראות"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"צליל לשעון מעורר"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"רטט לשיחות"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"אף פעם לא להפעיל רטט"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"רטט תמיד"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"רטט בהתחלה ומעבר לצלצול בהדרגה"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"צלילים אחרים"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"צלילים של לוח חיוג"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"צלילי נעילת מסך"</string>
@@ -3335,6 +3396,7 @@
       <item quantity="one">אחד מופעל</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"נא לא להפריע"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"שליחת התראה רק מאפליקציות ומאנשים חשובים"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"הגבלת הפרעות"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"הפעלת מצב נא לא להפריע"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"חריגים"</string>
@@ -3361,7 +3423,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"חסימת הפרעות חזותיות"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"הפעלת אותות חזותיים"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"כשמצב \'נא לא להפריע\' פועל"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"התרת הפרעות עם צלילים"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"הגבלת ההתראות"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"ללא צליל מהתראות"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"יוצגו התראות על המסך"</string>
@@ -3392,7 +3454,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"צלילים ורטט"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"צלילים, רטט וחלק מהסימנים החזותיים של התראות"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"צלילים, רטט וסימנים חזותיים של התראות"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"לעולם לא יוסתרו התראות הדרושות לפעולת הטלפון הבסיסית ולסטטוס"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"לעולם לא יוסתרו התראות הדרושות לפעולת הטלפון הבסיסית ולסטטוס."</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"ללא"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"אפשרויות אחרות"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"הוספה"</string>
@@ -3426,10 +3488,12 @@
       <item quantity="other">ניתן להפעיל <xliff:g id="ON_COUNT">%d</xliff:g> לוחות זמנים באופן אוטומטי</item>
       <item quantity="one">ניתן להפעיל לוח זמנים אחד באופן אוטומטי</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"השתקת המכשיר עם התרת חריגים"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"חריגים"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"לוח זמנים"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"הצגת כל החריגות"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"חריגות כשמצב \'נא לא להפריע\' פועל"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"אנשים"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"אפליקציות"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"התראות והפרעות אחרות"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"לוחות זמנים"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"התראות מושתקות"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"כשמצב \'נא לא להפריע\' פועל, צלילים ורטט מושתקים, חוץ מהפריטים שאפשרת למעלה."</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"אני רוצה להשתיק את הכל, חוץ מ-"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"הושתקו"</string>
@@ -3473,16 +3537,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"התראות מותאמות"</string>
     <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_capabilities_actions_replies_title" msgid="4392470465646394289">"הצעות לפעולות ותשובות"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"הצגה אוטומטית של פעולות ותגובות מומלצות"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"יש להפעיל את היסטוריית ההתראות כדי לעקוב אחר התראות קודמות והתראות שהועברו למצב נודניק"</string>
+    <string name="notification_history" msgid="8663811361243456201">"היסטוריית התראות"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"הפעלת ההיסטוריה"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"השבתת ההיסטוריה"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"היסטוריית ההתראות כבויה"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"צפייה בהגדרות של ההתראות"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"הפעלת האפשרות להעביר התראות למצב \'נודניק\'"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"הסתרת הסמלים מההתראות המתונות"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"סמלים מהתזכורות המתונות לא מוצגים בשורת הסטטוס"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"הצגה של סימני התראות"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"הצגת שורה של השיחות האחרונות"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"בועות"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"חלק מההתראות יכולות להופיע כבועות במסך"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"חלק מההתראות ותוכן אחר יכולים להופיע כבועות במסך. כדי לפתוח בועה צריך להקיש עליה. כדי לסגור אותה, צריך לגרור אותה לתחתית המסך."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"בועות"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"הודעות חדשות יופיעו במסך"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"האפליקציה <xliff:g id="APP_NAME">%1$s</xliff:g> יכולה להציג חלק מההתראות כבועות"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"הפעלת בועות"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"כדי להפעיל בועות עבור אפליקציה זו, תחילה יש להפעיל אותן עבור המכשיר שלך. תהיה לכך השפעה על אפליקציות אחרות שהפעלת עבורן בועות בעבר."</string>
@@ -3500,6 +3574,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"מוצגות בלוח ההתראות הנפתח ובמסך הנעילה"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"מוצגות בלוח ההתראות הנפתח ובשורת הסטטוס"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"מוצגות בלוח ההתראות הנפתח, בשורת הסטטוס ובמסך הנעילה"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"הסתרה של התראות שקטות בשורת הסטטוס"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"אור מהבהב"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"מסך נעילה"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"דילוג על מסך הנעילה"</string>
@@ -3530,6 +3605,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"התנהגות"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"הפעלת צליל"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"לעולם אל תציג התראות"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"שיחות"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"שיחה"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"לא שיחה"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"הסרה מקטע השיחות"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"זו שיחה"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"הוספה לקטע השיחות"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"ניהול השיחות"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"שיחות חשובות"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"כל השיחות"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"הצגת שיחות חשובות בבועות"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"שיחות חשובות יוצגו בחלק העליון של חלונית ההתראות הנפתחת. אפשר גם להגדיר שיוצגו בבועות ויפריעו לתכונה \'נא לא להפריע\'."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"יש להציג באופן שקט וממוזער"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"הצג ללא צליל"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"עם צליל"</string>
@@ -3548,7 +3634,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"עוזרת להתרכז ללא צלילים או רטט"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"מעוררת תשומת לב באמצעות צלילים או רטט"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"כשהמכשיר לא נעול, יש להציג התראות כבאנר בראש המסך"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"הצגת התראות"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"כל ההתראות של <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"התראות מותאמות"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="two">כ-<xliff:g id="NUMBER_1">%d</xliff:g> התראות ליום</item>
@@ -3575,6 +3661,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"התראות מותאמות"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"אין"</string>
     <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="3119843404577399036">"ל-<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>
@@ -3642,8 +3729,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"בוצע"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"חשיבות"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"אור מהבהב"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"רטט"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"רטט"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"צליל"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"חשוב"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"הוספה למסך הבית"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"מחיקה"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"שינוי שם"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"שם לוח הזמנים"</string>
@@ -3699,6 +3788,10 @@
       <item quantity="other"><xliff:g id="NUM_PEOPLE">%d</xliff:g> נוספים</item>
       <item quantity="one">1 נוסף</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"שיחות"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"מכל השיחות"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"משיחות חשובות"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"ללא התרת שיחות כלל"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"אני רוצה לאפשר הודעות"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"כדי לוודא שהודעות מורשות יישמעו, יש לבדוק אם המכשיר שלך מוגדר לצלצול, לרטט או למצב שקט."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"למשך ‘<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>’, הודעות נכנסות ייחסמו. ניתן לשנות את ההגדרות כדי לאפשר לחברים, לבני משפחה או לאנשי קשר אחרים ליצור איתך קשר."</string>
@@ -3712,15 +3805,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"ללא"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"ללא התרת שיחות כלל"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"ללא התרת הודעות כלל"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"אני רוצה לאפשר התראות"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"התראות"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"מטיימרים, התראות, מערכות אבטחה ואפליקציות אחרות"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"התראות"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"השמעת צלילי מדיה"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"צלילי מדיה"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"מסרטונים, משחקים ומדיה אחרת"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"מדיה"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"אני רוצה לאפשר צלילי מגע"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"צלילי מגע"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"מהמקלדת שלך ומלחצנים אחרים"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"צלילי מגע"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"אני רוצה לאפשר תזכורות"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"תזכורות"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"ממשימות ותזכורות"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"תזכורות"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"אני רוצה לאפשר אירועים"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"אירועים"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"מאירועים צפויים ביומן"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"ניתן לאפשר לאפליקציות לבטל הגדרה זו"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"הוספת חריגים"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3769,6 +3867,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"התראות שהושתקו במצב \'נא לא להפריע\' יפעילו את המסך"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"הגדרת התראות"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"אישור"</string>
+    <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>
@@ -3779,6 +3878,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"בקש קוד גישה לפני ביטול הצמדה"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"בקש סיסמה לפני ביטול הצמדה"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"נעילת מכשיר בזמן ביטול הצמדה"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"‏אישור מחיקה של SIM"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"‏יש לאמת את זהותך לפני מחיקה של SIM שהורד"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"פרופיל העבודה הזה מנוהל על ידי:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"מנוהל על ידי <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(ניסיוני)"</string>
@@ -3861,8 +3962,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"כל האפליקציות"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"אפליקציות מותקנות"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"אפליקציות אינסטנט"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"אישיות"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"עבודה"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"אפליקציות: הכל"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"ההתראות הושבתו"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"קטגוריות: חשיבות דחופה"</string>
@@ -3874,6 +3973,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"אפליקציה לא מוכרת"</string>
     <string name="app_permissions" msgid="8666537659217653626">"מנהל הרשאות"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"אפליקציות המשתמשות ב<xliff:g id="APPS">%1$s</xliff:g>"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"אפליקציות שמשתמשות בהרשאת <xliff:g id="APPS">%1$s</xliff:g> ועוד"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"הקש כדי להעיר"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"הקש פעמיים בנקודה כלשהי במסך כדי להעיר את המכשיר"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"פתיחת קישורים"</string>
@@ -3887,9 +3987,16 @@
       <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> אפליקציות פותחות קישורים נתמכים</item>
       <item quantity="one">אפליקציה אחת פותחת קישורים נתמכים</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"פתח באפליקציה זו"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"לתת לאפליקציה הרשאה לפתוח קישורים שיש להם תמיכה"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"שאל בכל פעם"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"אל תפתח באפליקציה זו"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"לא לתת לאפליקציה הרשאה לפתוח קישורים"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="two">יש דרישה של האפליקציה לטפל ב-<xliff:g id="COUNT_1">%d</xliff:g> קישורים</item>
+      <item quantity="many">יש דרישה של האפליקציה לטפל ב-<xliff:g id="COUNT_1">%d</xliff:g> קישורים</item>
+      <item quantity="other">יש דרישה של האפליקציה לטפל ב-<xliff:g id="COUNT_1">%d</xliff:g> קישורים</item>
+      <item quantity="one">יש דרישה של האפליקציה לטפל בקישור אחד (<xliff:g id="COUNT_0">%d</xliff:g>)</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"יש דרישה מצד האפליקציה לטפל בקישורים הבאים:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"ברירת מחדל"</string>
     <string name="default_for_work" msgid="537558180548617528">"ברירת מחדל לעבודה"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"קלט לעזרה וקלט קולי"</string>
@@ -4039,8 +4146,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"תצוגה מעל אפליקציות אחרות"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"הצגה מעל אפליקציות אחרות"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"הגדרה זו מתירה לאפליקציה להופיע מעל אפליקציות אחרות שנמצאות בשימוש. הפעולה הזאת עשויה להפריע לשימוש שלך באפליקציות האלה או לשנות את האופן שבו הן מוצגות או מתנהגות."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"גישה לכל הקבצים"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"הרשאת גישה לניהול כל הקבצים"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"לאפליקציה הזו תהיה הרשאה לקרוא, לשנות ולמחוק את כל הקבצים במכשיר זה או בכל נפח אחסון שמחובר אליו. אם ההרשאה תינתן, האפליקציה תורשה לגשת לקבצים מבלי ליידע אותך במפורש."</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"יכולת גישה לכל הקבצים"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"‏שירות מסייע של מציאות מדומה VR להאזנה סטריאופונית"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"חלון ההתרעה יוצג מעל אפליקציות אחרות"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"תצוגה מעל אפליקציות אחרות"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"<xliff:g id="COUNT_0">%1$d</xliff:g> מתוך <xliff:g id="COUNT_1">%2$d</xliff:g> אפליקציות מורשות להופיע מעל אפליקציות אחרות"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"אפליקציות עם הרשאה"</string>
@@ -4216,6 +4326,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"נעשה שימוש ב-<xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g>"</string>
     <string name="data_overusage" msgid="3680477320458707259">"שימוש יתר: <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="data_remaining" msgid="6316251496381922837">"נפח שנותר: <xliff:g id="ID_1">^1</xliff:g>"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"תרשים שמציג נתוני שימוש בחבילת הגלישה בין <xliff:g id="START_DATE">%1$s</xliff:g> לבין <xliff:g id="END_DATE">%2$s</xliff:g>."</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"אין נתונים בטווח התאריכים הזה"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="two">נותרו יומיים</item>
       <item quantity="many">‏נותרו %d ימים</item>
@@ -4281,14 +4393,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"גודל החבילה"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"נשלחה התראה לעדכון"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"צליל"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"רטט"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"קו ביטול נעילה"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"ברירת מחדל"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"ערוץ"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"ללא"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"אובייקט הדירוג חסר."</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"אובייקט הדירוג אינו מכיל את המפתח הזה."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"קביעת עיצוב"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"ברירת המחדל של המכשיר"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"מגרעת במסך"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"הצגת חיתוך תצוגה, חריץ"</string>
@@ -4385,8 +4493,12 @@
     <string name="information_label" msgid="6939310810756569298">"מידע"</string>
     <string name="low_label" msgid="6525629096999711220">"נמוכה"</string>
     <string name="high_label" msgid="357503396626018487">"גבוהה"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"רגישות גבוהה יותר עלולה להוביל להתנגשות עם תנועות באפליקציה בקצוות של המסך."</string>
+    <string name="left_edge" msgid="1513576842959071849">"קצה שמאלי"</string>
+    <string name="right_edge" msgid="1505309103265829121">"קצה ימני"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"רגישות גבוהה יותר עלולה להוביל להתנגשות עם תנועות באפליקציה בקצוות של המסך."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"רגישות לתנועה \"חזרה\""</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"הגדרות של תנועות"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"ניווט באמצעות תנועות, רגישות פעולה החזרה, תנועת החזרה"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"הקשה כפולה לבדיקת הטלפון"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"הקשה כפולה לבדיקת הטאבלט"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"הקשה כפולה לבדיקת המכשיר"</string>
@@ -4555,7 +4667,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"הפעל ניהול תצורה של ספק סלולרי"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"עדכון המצב \'נא לא להפריע\'"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"אפשר להשהות את ההתראות כדי שלא יפריעו לך"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"התכונה לא זמינה במכשיר הזה"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"התכונה לא זמינה"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"התכונה הזו הושבתה מפני שהיא מאטה את הטלפון שלך"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"‏אילוץ של הרצה מלאה של מדידות Gnss"</string>
@@ -4565,20 +4676,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"‏בחירת אפליקציה המותאמת ל-ANGLE"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"‏לא הוגדרה אפליקציה המותאמת ל-ANGLE"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"‏אפליקציה המותאמת ל-ANGLE: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"העדפות של מנהל התקן המשחק"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"שינוי ההגדרות של מנהל ההתקן של המשחק"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"כשמנהל ההתקן של המשחק פועל, ניתן לבחור להשתמש במנהל ההתקן המעודכן לגרפיקה עבור אפליקציות המותקנות במכשיר."</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"הפעלה לכל האפליקציות"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"בחירת מנהל ההתקן לגרפיקה"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"ברירת מחדל"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"מנהל ההתקן של המשחק"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"מנהל התקן לפני הפצה"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"מנהל ההתקן לגרפיקה של המערכת"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"העדפות של מנהל ההתקן לגרפיקה"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"שינוי ההגדרות של מנהל ההתקן לגרפיקה"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"כשיש מספר מנהלי התקן לגרפיקה, ניתן לבחור להשתמש במנהל ההתקן המעודכן לגרפיקה עבור אפליקציות המותקנות במכשיר."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"הפעלה לכל האפליקציות"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"בחירת מנהל ההתקן לגרפיקה"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"ברירת מחדל"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"מנהל ההתקן של המשחק"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"מנהל ההתקן למפתחים"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"מנהל ההתקן לגרפיקה של המערכת"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"שינויים בתאימות האפליקציה"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"החלפת מצב השינויים בתאימות האפליקציה"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"השינויים מופעלים כברירת מחדל"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"השינויים מושבתים כברירת מחדל"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"ההגדרה אינה נתמכת בטלפון זה"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"ההגדרה אינה נתמכת בטאבלט זה"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"ההגדרה אינה נתמכת במכשיר זה"</string>
@@ -4597,6 +4714,12 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"מכשיר"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"לא זמין במהלך ביצוע שיחות"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"לא זמין"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"הוספת מכשירי פלט"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"קבוצה"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"נבחר מכשיר אחד"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"נבחרו <xliff:g id="COUNT">%1$d</xliff:g> מכשירים"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"קבלת שיחה בסוג פלט"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"‏לא ניתן לשנות APN זה."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"שיפור חיי הסוללה של הטאבלט"</string>
@@ -4716,10 +4839,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"‏בכל רגע נתון אפשר להשתמש רק בכרטיס SIM אחד שהורדת.\n\nמעבר אל <xliff:g id="CARRIER1">%1$s</xliff:g> לא יבטל את השירות של<xliff:g id="CARRIER2">%2$s</xliff:g>."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"מעבר אל <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"‏מחיקת SIM"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"‏למחוק את ה-SIM הזה שהורדת?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"‏מחיקת כרטיס ה-SIM הזה מסירה את השירות של <xliff:g id="CARRIER_0">%1$s</xliff:g> מהמכשיר הזה.\n\nהשירות של <xliff:g id="CARRIER_1">%2$s</xliff:g> לא יבוטל."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"מחיקה"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"‏מוחק SIM…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"‏לא ניתן למחוק את ה-SIM"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"‏שגיאה מונעת את מחיקת ה-SIM הזה.\n\nצריך להפעיל מחדש את המכשיר ולנסות שוב."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"סוג רשת מועדפת"</string>
@@ -4744,7 +4863,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"מצב רשת לא חוקי <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. התעלמות."</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"‏שמות של נקודות גישה (APN)"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"לא זמין כשהמכשיר מחובר ל-<xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"מידע רפואי, אנשי קשר למקרה חירום"</string>
     <string name="see_more" msgid="7499355691042812723">"הצגת פריטים נוספים"</string>
     <string name="see_less" msgid="2642392725363552793">"הצג פחות"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"מכשיר לשימוש עם <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
@@ -4753,13 +4871,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"משהו קרה. האפליקציה ביטלה את הבקשה לבחירת מכשיר."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"החיבור הצליח"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"הצגת הכול"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="two"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> מכשירים מחוברים</item>
-      <item quantity="many"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> מכשירים מחוברים</item>
-      <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> מכשירים מחוברים</item>
-      <item quantity="one">מכשיר <xliff:g id="NUMBER_DEVICE_COUNT_0">%1$d</xliff:g> מחובר</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"‏אין מכשירי Bluetooth"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"מתבצע חיפוש אחר מכשיר…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"מתבצעת התחברות למכשיר…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"שמאל"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"ימין"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"נרתיק"</string>
@@ -4769,6 +4882,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"לא זמין במצב טיסה"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"אילוץ מצב שולחן עבודה"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"אילוץ מצב שולחן עבודה ניסיוני במסכים משניים"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"הפעלת התאמת גודל בפורמט חופשי"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"אפליקציות עם התאמת גודל יהיו בפורמט חופשי"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"‏שינוי התכונה SmartDark"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"‏התכונה SmartDark תפעל כל הזמן"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"פרטיות"</string>
@@ -4811,6 +4926,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"התקנת לאחרונה את האפליקציה הזו."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"החלפת פלט"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"בהפעלה כרגע ב-<xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (מנותק)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"לא ניתן להחליף. יש להקיש כדי לנסות שוב."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"מידע חשוב"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"המשך"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"לא, תודה"</string>
@@ -4838,8 +4955,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"‏שילוב SIM"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"הפרטים של מדיניות העבודה"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"‏הגדרות שעליהן אחראי מנהל ה-IT"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"טיפול בדוח על באג"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"הגדרה זו קובעת איזו אפליקציה מטפלת במקש הקיצור של הדוח על הבאג במכשיר."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"אישי"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"עבודה"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"ברירת מחדל של המערכת"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"אפשרות זו כבר לא תקפה. יש לנסות שוב."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"עצירת העברה"</string>
 </resources>
diff --git a/res/values-ja/arrays.xml b/res/values-ja/arrays.xml
index ec6032a..238c903 100644
--- a/res/values-ja/arrays.xml
+++ b/res/values-ja/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"すぐ"</item>
     <item msgid="463591454172790676">"5秒"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"検証しない"</item>
+    <item msgid="5703177653586269306">"認証ステータスをリクエストする"</item>
+    <item msgid="326388247868439528">"認証ステータスを要求する"</item>
+    <item msgid="1090956283885790552">"信頼できない認証ステータスをすべて要求する"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"ボタンを押す"</item>
     <item msgid="2630618799033509548">"ピアデバイスのPIN"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"なし"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"事前共有鍵とXauth認証付きのIPSec VPN"</item>
     <item msgid="2484564813864139237">"証明書とXauth認証付きのIPSec VPN"</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>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"なし"</item>
diff --git a/res/values-ja/config.xml b/res/values-ja/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-ja/config.xml
+++ b/res/values-ja/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index 2aae3b0..4ea8599 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -31,49 +31,17 @@
     <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="radio_info_data_connection_enable" msgid="7500945447906187613">"データ接続を有効にする"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"データ接続を無効にする"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"VoLTE プロビジョニング"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"ビデオ ハングアウト対応"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"Wi-Fi 通話対応"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"EAB / プレゼンス プロビジョニング有効"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"CBRS データ"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"DSDS を有効にする"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"デバイスを再起動しますか？"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"この設定を変更するには、デバイスの再起動が必要です。"</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"再起動"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"キャンセル"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"モバイル無線電力"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"SIM のアドレス帳を表示"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"発信番号制限を表示"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"サービス電話番号を表示"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"IMS サービスのステータス"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"IMS ステータス"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"登録済み"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"未登録"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"使用可能"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"使用不可"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"IMS 登録: <xliff:g id="STATUS">%1$s</xliff:g>\nボイスオーバー LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nボイスオーバー WiFi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nビデオハングアウト: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT インターフェース: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"圏内"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"圏外"</string>
     <string name="radioInfo_service_emergency" msgid="6838935881091760942">"緊急通報のみ"</string>
     <string name="radioInfo_service_off" msgid="6184928420860868571">"無線通信 OFF"</string>
     <string name="radioInfo_roaming_in" msgid="8892550453644088692">"ローミング"</string>
     <string name="radioInfo_roaming_not" msgid="3137594549464975054">"ローミングなし"</string>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"非アクティブ"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"着信中"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"通話中"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"切断"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"接続中"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"接続"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"強制停止"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"不明"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"pkts"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"バイト"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"USBストレージのマウント解除"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"SDカードのマウント解除"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"USBストレージ内データの消去"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"画面上のテキストのサイズを変更します。"</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"縮小"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"拡大"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"サンプル テキスト"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"オズの魔法使い"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"第 11 章: オズの不思議なエメラルド シティ"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"この設定を変更するには、デバイスの再起動が必要です。"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"再起動"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"キャンセル"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"利用可能なメディア デバイス"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"利用可能な通話デバイス"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"現在接続されているデバイス"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"メディア デバイス"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"通話デバイス"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"その他のデバイス"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"保存済みのデバイス"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"ペア設定できるよう Bluetooth が ON になります"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"接続の設定"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"入力したポートは無効です。"</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"HTTPプロキシはブラウザで使用されていますが、他のアプリでは使用できません。"</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"PAC URL: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"現在の SUBID:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"デフォルトのデータ SIM の SUBID:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"DL 帯域幅（kbps）:"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"UL 帯域幅（kbps）:"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"セルの位置情報（サポート終了）:"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"LTE の物理チャネル設定:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"セル情報の更新間隔:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"すべてのセルの測定情報:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"データサービス:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"ローミング:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"通話のリダイレクト:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"起動後の PPP リセット回数:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"現在のネットワーク:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"受信データ:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"音声サービス:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"電波強度:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"音声通話のステータス:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"送信データ:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"メッセージ待機中:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"電話番号:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"無線バンドを選択"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"音声ネットワークの種類:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"データ ネットワークの種類:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"スマートフォンのインデックスを選択"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"優先ネットワークの種類を設定:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"ホスト名（www.google.com）の ping（IPv4）:"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"ホスト名（www.google.com）の ping（IPv6）:"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"HTTP クライアント テスト:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"ping テストの実行"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"更新"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"更新"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"DNS チェックを切り替え"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"OEM固有の情報/設定"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"無線バンドモードの設定"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"バンドリストを読み込んでいます…"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"設定"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"失敗"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"成功"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"USBケーブルの再接続時に変更が有効になります。"</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"USBマスストレージを有効にする"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"合計バイト数:"</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"一番下に移動します"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"言語を削除します"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"操作の選択"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"デバイス情報"</string>
     <string name="display_label" msgid="3056320781191343221">"画面"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"タブレット情報"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"携帯電話情報"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"USBストレージ"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"SDカード"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"プロキシ設定"</string>
@@ -306,9 +234,6 @@
     <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="cellular_data_title" msgid="8072108204621057526">"モバイルデータ"</string>
-    <string name="calls_title" msgid="6334813967619899114">"通話の許可"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"SMSメッセージ"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"モバイル ネットワークでのデータ使用を許可"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"ローミング時にデータ使用を許可"</string>
     <string name="roaming" msgid="3055365654530847985">"ローミング"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"ローミング中にデータサービスに接続する"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"データローミングをOFFにしたままホームネットワークの外に出たためデータ接続が切断されました。"</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"ONにする"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"高額な通信料が発生することがあります。"</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"データローミングを許可すると高額な通信料が発生することがあります。\n\nこの設定はこのタブレット上のすべてのユーザーに影響します。"</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"データローミングを許可すると高額な通信料が発生することがあります。\n\nこの設定はこのデバイス上のすべてのユーザーに影響します。"</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"ローミング料金が発生する場合があります。"</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"データ ローミングを許可するとローミング料金が発生する場合があります。\n\nこの設定はこのタブレット上のすべてのユーザーに影響します。"</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"データ ローミングを許可するとローミング料金が発生する場合があります。\n\nこの設定はこのスマートフォン上のすべてのユーザーに影響します。"</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"データ ローミングを許可しますか？"</string>
     <string name="networks" msgid="5184501333492775095">"通信事業者の選択"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"通信事業者を選択する"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"管理アプリによって無効化"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"ロックダウン オプションの表示"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"Smart Lock、生体認証によるロック解除、ロック画面上の通知を無効にする電源ボタン オプションを表示します"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"信頼エージェントはロック解除の延長のみ"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"有効にすると、信頼エージェントによりデバイスのロック解除状態が延長されます。ただし、ロック状態のデバイスのロックは解除できなくなります。"</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"信頼が失われた場合に画面をロックする"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"有効にすると、前回の信頼エージェントの信頼が失われたときにデバイスがロックされます。"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"なし"</string>
@@ -390,7 +313,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"現在地、画面ロック、SIMカードロック、認証情報ストレージのロック"</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"現在地、画面のロック解除、認証情報ストレージのロックを設定します"</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"プライバシー"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"管理者により無効にされています"</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>
@@ -693,7 +616,6 @@
       <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> 桁未満にしてください</item>
       <item quantity="one"><xliff:g id="NUMBER_0">%d</xliff:g> 桁未満にしてください</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"使用できるのは 0～9 の数字のみです"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"デバイス管理により、最近使用した PIN は使用できません"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"一般的な PIN は IT 管理者によってブロックされています。別の PIN をお試しください。"</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"無効な文字があります"</string>
@@ -724,6 +646,10 @@
       <item quantity="other">記号または数字が <xliff:g id="COUNT">%d</xliff:g> つ以上必要です</item>
       <item quantity="one">記号または数字が 1 つ以上必要です</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="other">数字以外の文字を <xliff:g id="COUNT">%d</xliff:g> 個以上使用してください</item>
+      <item quantity="one">数字以外の文字を 1 個以上使用してください</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"デバイス管理により、最近使用したパスワードは使用できません"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"一般的なパスワードは IT 管理者によってブロックされています。別のパスワードをお試しください。"</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"一連の数字を昇順や降順にしたり、繰り返したりすることはできません"</string>
@@ -837,19 +763,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2.4 GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"ログイン"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"サイトを開く"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"あと <xliff:g id="REMAINING_TIME">%1$s</xliff:g>"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"有効期限: <xliff:g id="EXPIRY_TIME">%1$s</xliff:g>"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"ここをタップしてネットワークにログイン"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"「<xliff:g id="REQUESTER">%s</xliff:g>」が Wi-Fi を ON にしようとしています"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"「<xliff:g id="REQUESTER">%s</xliff:g>」が Wi-Fi を OFF にしようとしています"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"デバッグ可能なアプリのバイトコードを確認"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"ART にデバッグ可能なアプリのバイトコードの確認を許可する"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"リフレッシュ レートの表示"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"現在のディスプレイ リフレッシュ レートの表示"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"タブレットが他のデバイスと接触したときのデータ交換を許可する"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"デバイスが他のデバイスと接触したときのデータ交換を許可する"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"タブレットが NFC デバイスと接触したときのデータ交換を許可する"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"スマートフォンが NFC デバイスと接触したときのデータ交換を許可する"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"NFC を ON にする"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"NFC がこのデバイスと他の付近のデバイスまたはターゲット（決済デバイス、アクセス リーダー、インタラクティブ広告またはタグなど）の間でデータのやり取りを行います。"</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"NFC の保護"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFC の場合はデバイスのロック解除が必要です"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"画面がアンロックされている場合のみ NFC 決済と公共交通機関での利用を許可します"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android ビーム"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"アプリコンテンツをNFCで転送できます"</string>
@@ -923,8 +855,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"ON にする"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Wi‑Fi スキャンを ON にしました"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"詳細設定"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"詳細オプションのプルダウン リストです。折りたたむにはダブルタップします。"</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"詳細オプションのプルダウン リストです。展開するにはダブルタップします。"</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"プルダウン リスト、詳細設定"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"展開"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"ネットワーク名"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"SSIDを入力します"</string>
     <string name="wifi_security" msgid="9095934643631406913">"セキュリティ"</string>
@@ -934,6 +866,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"接続状況"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"送信リンク速度"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"受信リンク速度"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"リンク速度"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"周波数"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"IP アドレス"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"保存"</string>
@@ -941,6 +874,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"EAP方式"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"フェーズ2認証"</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>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"ユーザー証明書"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"ID"</string>
@@ -957,6 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"Wi‑Fi アクセス ポイントの帯域幅を少なくとも 1 つ選択してください。"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"IP 設定"</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>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"デバイスの追加"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"「<xliff:g id="SSID">%1$s</xliff:g>」にデバイスを追加するには、下記の中心に QR コードを合わせてください"</string>
@@ -966,12 +902,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"Wi‑Fi の共有"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"「<xliff:g id="SSID">%1$s</xliff:g>」に接続してパスワードを共有するには、この QR コードをスキャンしてください"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"「<xliff:g id="SSID">%1$s</xliff:g>」に接続するには、この QR コードをスキャンしてください"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"QR コードを読み取れませんでした。コードを再度中央に捉えて、もう一度お試しください"</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"もう一度お試しください。問題が解決しない場合は、デバイスのメーカーにお問い合わせください"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"エラーが発生しました"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"デバイスが電源に接続され、充電され、ON になっていることをご確認ください"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"デバイスが電源に接続され、充電され、ON になっていることをご確認ください。問題が解決しない場合は、デバイスのメーカーにお問い合わせください"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"このデバイスでは「<xliff:g id="SSID">%1$s</xliff:g>」の追加はサポートされていません"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"デバイスを Wi‑Fi アクセス ポイントやルーターの近くに移動してみてください"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"パスワードをご確認のうえ、もう一度お試しください"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"デバイスのメーカーにお問い合わせください"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"接続を確認し、もう一度お試しください"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"ネットワークの選択"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"デバイスを接続するには、ネットワークを選択してください"</string>
@@ -984,11 +922,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"Wi‑Fi をこのデバイスと共有しています…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"接続しています…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"アクセス ポイントの共有"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"本人確認"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"本人確認"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"Wi‑Fi パスワード: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"アクセス ポイントのパスワード: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"自動接続"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"このネットワークの近くで自動接続することをスマートフォンに許可する"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"このネットワークの近くで自動接続することをタブレットに許可する"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"デバイスを追加"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"QR コードを使用して、このネットワークにデバイスを追加できます"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"QR コードの形式が無効です"</string>
     <string name="retry" msgid="7542103800274026915">"再試行"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"他のデバイスユーザーと共有する"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"（変更なし）"</string>
@@ -1000,6 +942,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"証明書が指定されていません。この接続ではプライバシーが保護されません。"</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"ネットワーク名が長すぎます。"</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"ドメインを指定する必要があります。"</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"証明書が必要です。"</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"WPS利用可"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" （WPS利用可）"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"携帯通信会社の Wi‑Fi ネットワーク"</string>
@@ -1051,7 +994,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"Wi-Fi詳細設定"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"MAC アドレス"</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_ip_address_title" msgid="4265355419782184514">"IP アドレス"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"ネットワークの詳細"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"サブネット マスク"</string>
@@ -1103,7 +1047,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"アクセス ポイントを使って他のデバイスとの Wi‑Fi ネットワークを作成します。アクセス ポイントはモバイルデータ通信によるインターネット接続を提供します。モバイルデータ通信料が追加で発生する可能性があります。"</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"アプリを使ってアクセス ポイントを作成し、コンテンツを近くのデバイスと共有できます。"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"アクセス ポイントを自動的にオフにする"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"デバイスが接続されていないと、Wi-Fi アクセス ポイントはオフになります"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"デバイスが接続されていない場合"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"アクセスポイントをONにしています…"</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"アクセスポイントをOFFにしています…"</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> はアクティブです"</string>
@@ -1112,6 +1056,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"アクセスポイントのセットアップ"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"AndroidAP WPA2 PSK アクセス ポイント"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"AndroidHotspot"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"このネットワークを保存しますか？"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"<xliff:g id="APPNAME">%1$s</xliff:g> がスマートフォンにネットワークを保存しようとしています"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"<xliff:g id="APPNAME">%1$s</xliff:g> がタブレットにネットワークを保存しようとしています"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"保存しています…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"保存しました"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"保存できません。もう一度お試しください。"</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"ネットワークを保存しますか？"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"<xliff:g id="APPNAME">%1$s</xliff:g> がスマートフォンにこれらのネットワークを保存しようとしています"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"<xliff:g id="APPNAME">%1$s</xliff:g> がタブレットにこれらのネットワークを保存しようとしています"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"<xliff:g id="NUMBER">%d</xliff:g> 件のネットワークを保存しています…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"ネットワークを保存しました"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"Wi-Fi通話"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"Wi-Fi で通話範囲を拡大"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"Wi-Fi 通話を ON にすると接続範囲を拡大できます"</string>
@@ -1138,16 +1093,18 @@
     <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">"ON"</string>
     <string name="wifi_calling_pref_managed_by_carrier" msgid="129524064888622179">"この設定は携帯通信会社によって管理されています"</string>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"Wi-Fi 通話を有効にしてください"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"Wi-Fi 通話を ON にしてください"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"%1$s は Wi-Fi 通話に対応していません"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"<xliff:g id="SSID">%1$s</xliff:g> との接続を解除しました"</string>
     <string name="carrier" msgid="1755020806290963951">"携帯通信会社"</string>
     <string name="display_settings_title" msgid="626835071804834218">"表示"</string>
     <string name="sound_settings" msgid="5514582720435174014">"音"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"音量"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"サウンド効果"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"着信音の音量"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"着信音と通知の音量"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"マナーモード時のバイブレーション"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"デフォルトの通知音"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"着信音"</string>
@@ -1272,13 +1229,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"スケジュール"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"なし"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"日の入りから日の出まで ON"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"指定した時間にオン"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"ステータス"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"OFF / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"自動で ON にしない"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"日の入りに自動的に ON"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"自動的にオン: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"ON / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"自動で OFF にしない"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"日の出に自動的に OFF"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"自動的にオフ: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"<xliff:g id="ID_1">%1$s</xliff:g>までオンにする"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"<xliff:g id="ID_1">%1$s</xliff:g>までオフにする"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"ダークテーマでは黒い背景を使用するため、一部の画面で電池が長持ちします。画面が OFF になるまでダークテーマが ON にならないように設定できます。"</string>
     <string name="screen_timeout" msgid="7709947617767439410">"画面消灯"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"画面がOFFになったとき"</string>
@@ -1290,7 +1252,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"壁紙を変更する"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"画面のカスタマイズ"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"壁紙タイプの選択"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"Pixel のカスタマイズ"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"スマートフォンのカスタマイズ"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"別のスタイル、壁紙などを試す"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"スクリーンセーバー"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"充電時またはホルダー装着時"</string>
@@ -1379,6 +1341,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"USBストレージのマウントを解除し、使用できるストレージを表示"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"SDカードの取り外し、空き容量の表示"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI（SIM スロット %1$d）"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"表示するには、保存済みネットワークを選択してください"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"電話番号"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN（SIM スロット %1$d）"</string>
@@ -1405,6 +1368,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"ローミング"</string>
     <string name="status_operator" msgid="4335640583552058491">"ネットワーク"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"Wi-Fi MACアドレス"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"デバイスの Wi‑Fi MAC アドレス"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"Bluetoothアドレス"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"シリアル番号"</string>
     <string name="status_up_time" msgid="1274778533719495438">"稼働時間"</string>
@@ -1617,6 +1581,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"APN設定をリセットしました。"</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"リセット オプション"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"ネットワーク、アプリ、デバイスをリセットできます"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"アプリをリセットできます"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"Wi-Fi、モバイル、Bluetooth をリセット"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"以下を含む、すべてのネットワーク設定がリセットされます。\n\n"<li>"Wi‑Fi"</li>\n<li>"モバイルデータ"</li>\n<li>"Bluetooth"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"ダウンロード型 SIM の消去"</string>
@@ -1666,6 +1631,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"アクセス ポイント ON"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"テザリング"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"データセーバーが ON のときは、テザリングやポータブル アクセス ポイントを使用できません"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"アクセス ポイントのみ"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"USB のみ"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"Bluetooth のみ"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"アクセス ポイント、USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"アクセス ポイント、Bluetooth"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB、Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"アクセス ポイント、USB、Bluetooth"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"インターネットを他のデバイスと共有しない"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"テザリング"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Wi-Fi アクセス ポイントを使用しない"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"USB でのみインターネットを共有"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Bluetooth でのみインターネットを共有"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"USB と Bluetooth でのみインターネットを共有"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB テザリング"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"スマートフォンのインターネット接続を USB 経由で共有"</string>
@@ -1756,9 +1734,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"安全に関する情報"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"データ接続されていません。この情報を表示するにはインターネットに接続されているパソコンから %s にアクセスしてください。"</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"読み込み中..."</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"PIN を使用"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"パターンを使用"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"パスワードを使用"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"画面ロックの設定"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"セキュリティ強化のため、パスワードを設定してください"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"指紋認証にはパスワードが必要です"</string>
@@ -1767,8 +1742,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"指紋認証には PIN が必要です"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"セキュリティ強化のため、パターンを設定してください"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"パスワードの再入力"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"仕事用のパスワードを入力"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"パターンの確認"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"仕事用のパターンを入力"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"PIN の再入力"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"仕事用の PIN を入力"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"パスワードが一致しません"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"PINが一致しません"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"パターンを再入力"</string>
@@ -1779,6 +1757,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"顔認証のバックアップの設定"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"顔認証のバックアップの設定"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"顔認証のバックアップの設定"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"パスワードを忘れた場合"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"パターンを忘れた場合"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"PIN を忘れた場合"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"続行するにはデバイスのパターンを使用してください"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"続行するにはデバイスの PIN を入力してください"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"続行するにはデバイスのパスワードを入力してください"</string>
@@ -1846,6 +1827,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"アプリの提供元をすべて許可する"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"最近開いたアプリ"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"<xliff:g id="COUNT">%1$d</xliff:g> 個のアプリをすべて表示"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"IT 管理者にお問い合わせください"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"PIN、パターン、またはパスワードのリセットを依頼できます"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"不明なアプリをインストールするとタブレットや個人データが攻撃を受ける可能性が高くなります。この提供元からアプリをインストールすることにより、アプリの使用により生じる可能性があるタブレットへの損害やデータの損失について、ユーザーご自身が単独で責任を負うことに同意するものとします。"</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"不明なアプリをインストールするとスマートフォンや個人データが攻撃を受ける可能性が高くなります。この提供元からアプリをインストールすることにより、アプリの使用により生じる可能性があるスマートフォンへの損害やデータの損失について、ユーザーご自身が単独で責任を負うことに同意するものとします。"</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"不明なアプリをインストールするとデバイスや個人データが攻撃を受ける可能性が高くなります。この提供元からアプリをインストールすることにより、アプリの使用により生じる可能性があるデバイスへの損害やデータの損失について、ユーザーご自身が責任を負うことに同意するものとします。"</string>
@@ -1897,7 +1880,7 @@
     <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="1377296810290814749">"この操作により、次の設定がすべてリセットされます。\n\n"<li>"無効化されているアプリ"</li>\n<li>"無効化されているアプリの通知"</li>\n<li>"特定の操作で使用するデフォルトのアプリ"</li>\n<li>"アプリのバックグラウンドデータの制限"</li>\n<li>"権限のすべての制限"</li>\n\n"アプリのデータが失われることはありません。"</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>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"アプリをリセット"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"容量を管理"</string>
     <string name="filter" msgid="9039576690686251462">"フィルタ"</string>
@@ -2097,7 +2080,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"音声と画面上のテキスト"</string>
     <string name="display_category_title" msgid="6638191682294461408">"表示"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"操作のコントロール"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"ダウンロード済みサービス"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"ダウンロードしたアプリ"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"試験運用機能"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"機能フラグ"</string>
     <string name="talkback_title" msgid="8756080454514251327">"Talkback"</string>
@@ -2105,27 +2088,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"画面上の項目をタップすると、読み上げます"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"字幕の設定"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"拡大"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"拡大領域"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"拡大の有効化"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"画面を拡大する際の拡大領域を選択します"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"全画面"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"画面の一部"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"全画面と画面の一部"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"画面全体を拡大します"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"画面の一部を拡大します"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"画面の拡大設定"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"トリプルタップで拡大"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"ショートカットで拡大"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"ショートカットとトリプルタップで拡大"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"<xliff:g id="SERVICE">%1$s</xliff:g>について"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"オプション"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"画面を拡大します"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"ズームするには 3 回タップします"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"ボタンをタップしてズームします"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><b>"ズーム"</b>"するには、画面をすばやく 3 回タップします。\n"<ul><li>"2 本以上の指をドラッグしてスクロール"</li>\n<li>"2 本以上の指でピンチ操作してズームを調整"</li></ul>\n\n<b>"一時的にズーム"</b>"するには、画面をすばやく 3 回タップし、3 回目のタップで指を押し続けます。\n"<ul><li>"ドラッグで画面上を移動"</li>\n<li>"指を放してズームアウト"</li></ul>\n\n"キーボードやナビゲーション バーでは拡大できません。"</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"拡大機能を ON にすると、画面をズームインできます。\n\n"<b>"ズームするには"</b>"、拡大機能を ON にし、画面上のどこかをタップします。\n"<ul><li>"• スクロールするには 2 本以上の指でドラッグします"</li>\n<li>"• ズームレベルを調整するには 2 本以上の指でピンチします"</li></ul>\n\n<b>"一時的にズームするには"</b>"、拡大機能を ON にし、画面上のどこかを長押しします。\n"<ul><li>"• 拡大領域を移動するにはドラッグします"</li>\n<li>"• 拡大を停止するには指を離します"</li></ul>\n\n"キーボードやナビゲーション バーはズームインできません。"</string>
+    <string name="accessibility_screen_magnification_summary" msgid="7617931632990040045">"画面をすぐにズームインすることで、コンテンツをよりはっきりと確認できるようになります。&lt;br/&gt;&lt;br/&gt;&lt;b&gt;ズームインするには:&lt;/b&gt;&lt;br/&gt;	1. ショートカットを使って拡大を開始します&lt;br/&gt;	2. 画面をタップします&lt;br/&gt;	3. 2 本の指でドラッグして画面上を移動します&lt;br/&gt;	4. 2 本の指でピンチ操作してズームを調整します&lt;br/&gt;	5. ショートカットを使って拡大を停止します&lt;br/&gt;&lt;br/&gt;&lt;b&gt;一時的にズームインするには:&lt;/b&gt;&lt;br/&gt;	1. ショートカットを使って拡大を開始します&lt;br/&gt;	2. 画面を長押しします&lt;br/&gt;	3. 指をドラッグして画面上を移動します&lt;br/&gt;	4. 指を離して拡大を停止します"</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"[拡大] を ON にすると、画面で拡大操作を行えます。\n\n"<b>"ズーム"</b>"するには、[拡大] を ON にして画面をタップします。\n"<ul><li>"2 本以上の指をドラッグしてスクロール"</li>\n<li>"2 本以上の指でピンチ操作してズームを調整"</li></ul>\n\n<b>"一時的にズーム"</b>"するには、[拡大] を ON にして画面を長押しします。\n"<ul><li>"ドラッグで画面上を移動"</li>\n<li>"指を放してズームアウト"</li></ul>\n\n"キーボードやナビゲーション バーでは拡大操作は行えません。"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"ユーザー補助機能ボタンで開く"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"ジェスチャーで開く"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"新しいユーザー補助操作を使用する"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"このサービスを ON または OFF にするには、画面の下部にあるユーザー補助機能ボタン <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> をタップします。\n\nサービスを切り替えるには、ユーザー補助機能ボタンを長押しします。"</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"このサービスを ON または OFF にするには、2 本の指で画面の下から上にスワイプします。\n\nサービスを切り替えるには、2 本の指で上にスワイプしたまま長押しします。"</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"このサービスを ON または OFF にするには、3 本の指で画面の下から上にスワイプします。\n\nサービスを切り替えるには、3 本の指で上にスワイプしたまま長押しします。"</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"ユーザー補助サービスを ON または OFF にするには、2 本の指で画面の下から上にスワイプします。\n\nサービスを切り替えるには、2 本の指で上にスワイプしたまま長押しします。"</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"ユーザー補助サービスを ON または OFF にするには、3 本の指で画面の下から上にスワイプします。\n\nサービスを切り替えるには、3 本の指で上にスワイプしたまま長押しします。"</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"このサービスを ON または OFF にするには、画面の下部にあるユーザー補助機能ボタン <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> をタップします。\n\nサービスを切り替えるには、ユーザー補助機能ボタンを長押しします。"</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"このサービスをオンまたはオフにするには、2 本の指で画面の下から上にスワイプします。\n\nサービスを切り替えるには、2 本の指で上にスワイプしたまま長押しします。"</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"このサービスをオンまたはオフにするには、3 本の指で画面の下から上にスワイプします。\n\nサービスを切り替えるには、3 本の指で上にスワイプしたまま長押しします。"</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"ユーザー補助サービスをオンまたはオフにするには、2 本の指で画面の下から上にスワイプします。\n\nサービスを切り替えるには、2 本の指で上にスワイプしたまま長押しします。"</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"ユーザー補助サービスをオンまたはオフにするには、3 本の指で画面の下から上にスワイプします。\n\nサービスを切り替えるには、3 本の指で上にスワイプしたまま長押しします。"</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"OK"</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="2820923641553461297">"ユーザー補助機能ボタン"</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="8922102767509399352">"画面下部にあるユーザー補助機能ボタン <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> をタップします"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"2 本の指で画面の下から上にスワイプします"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"3 本の指で画面の下から上にスワイプします"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"音量キーを長押し"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"音量大と音量小の両方のボタンを 1 秒ほど長押しします"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"画面をトリプルタップ"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"画面を 3 回すばやくタップします。このショートカットを使うと、デバイスの動作が遅くなる場合があります。"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"詳細設定"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"[ユーザー補助機能] ボタンが [<xliff:g id="SERVICE">%1$s</xliff:g>] に設定されています。拡大を使用するには、[ユーザー補助機能] ボタンを押し続けて [拡大] を選択してください。"</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"ユーザー補助操作は「<xliff:g id="SERVICE">%1$s</xliff:g>」に設定されています。拡大を使用するには、2 本の指で画面の下から上にスワイプして長押しし、拡大を選択してください。"</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"音量キーのショートカット"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"ショートカット サービス"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"ショートカットの設定"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"ロック画面から許可"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"ショートカットを ON にすると、音量大キーと音量小キーの両方を 3 秒間押し続けてユーザー補助機能を開始できます。"</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"高コントラストテキスト"</string>
@@ -2149,24 +2157,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"操作が必要にもかかわらず、短い時間しか表示されないメッセージの表示時間を指定してください。\n\nこの設定に対応していないアプリもあります。"</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"長押しする時間"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"色反転"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"パフォーマンスに影響することがあります"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"停止時間"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"色反転を使用"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"色反転機能を利用すると、明るい画面が暗くなり、明るい光に敏感な方は画面を見やすくなります。&lt;br/&gt;&lt;br/&gt;注: 暗い色は明るくなります。メディアや画像の色は変化しません。ダークテーマを使用することもできます（[設定] &gt; [表示]）。"</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"自動クリック（停止時間）"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"マウスを使用している場合は、カーソルの動きが一定時間停止したときに自動的に操作を行うよう設定できます。"</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"クリックまでの時間"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"自動クリックを使用しない（デフォルト）"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"短め"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0.2秒"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"中"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0.6秒"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"長め"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1秒"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"カスタム"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"短い"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"長い"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"自動クリックの時間"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"バイブレーションと触覚フィードバックの強さ"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"通知時のバイブレーション"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"着信時のバイブレーション"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"触覚フィードバック"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"サービスの使用"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g> を使用"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g> を開く"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"色補正の使用"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"字幕を使用する"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"字幕を表示"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"字幕表示"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"テキスト サイズ、字幕スタイル"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"その他のオプション"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"すべてのアプリがこの設定をサポートしているわけではありません。"</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"ユーザー補助機能ボタン"</string>
+    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"画面の下から上に 2 本の指でスワイプ"</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>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"補聴器"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"接続されている補聴器なし"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"補聴器を追加する"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"補聴器とペア設定するには、次の画面でデバイスを探してタップしてください。"</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"補聴器がペア設定モードであることをご確認ください。"</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"補聴器とペア設定するには、次の画面でデバイスを探してタップしてください。補聴器がペア設定モードであることをご確認ください。"</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>（有効）"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> 台の保存済み補聴器</item>
@@ -2178,25 +2204,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"このサービスは機能していません。"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"クイック設定に表示"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"補正モード"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="other">極めて短い遅延（<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g>ミリ秒）</item>
-      <item quantity="one">極めて短い遅延（<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g>ミリ秒）</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"赤 / 緑"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"緑 / 赤"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"青 / 黄"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"第二色弱"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"第一色弱"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"第三色弱"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="other">極めて短い遅延（<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> 秒）</item>
+      <item quantity="one">極めて短い遅延（<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> 秒）</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="other">非常に短い遅延（<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g>ミリ秒）</item>
-      <item quantity="one">非常に短い遅延（<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g>ミリ秒）</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="other">非常に短い遅延（<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> 秒）</item>
+      <item quantity="one">非常に短い遅延（<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> 秒）</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="other">短い遅延（<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g>ミリ秒）</item>
-      <item quantity="one">短い遅延（<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g>ミリ秒）</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="other">短い遅延（<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> 秒）</item>
+      <item quantity="one">短い遅延（<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> 秒）</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="other">長い遅延（<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g>ミリ秒）</item>
-      <item quantity="one">長い遅延（<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g>ミリ秒）</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="other">長い遅延（<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> 秒）</item>
+      <item quantity="one">長い遅延（<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> 秒）</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="other">非常に長い遅延（<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g>ミリ秒）</item>
-      <item quantity="one">非常に長い遅延（<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g>ミリ秒）</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="other">非常に長い遅延（<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> 秒）</item>
+      <item quantity="one">非常に長い遅延（<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> 秒）</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g>秒</item>
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g>秒</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"着信音: <xliff:g id="SUMMARY_RING">%1$s</xliff:g>、通知: <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>、タップ: <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"着信と通知は [OFF] に設定されています"</string>
@@ -2513,7 +2549,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"電池使用時間: <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"合計使用量"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"更新"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"Android OS"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"メディアサーバー"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"アプリの最適化"</string>
     <string name="battery_saver" msgid="7737147344510595864">"バッテリーセーバー"</string>
@@ -2594,8 +2629,7 @@
     <string name="tts_play" msgid="2945513377250757221">"再生"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"認証情報ストレージ"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"ストレージからのインストール"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"SDカードからインストール"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"証明書のインストール"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"ストレージから証明書をインストールする"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"証明書をSDカードからインストールする"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"認証ストレージの消去"</string>
@@ -2615,6 +2649,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"認証情報ストレージを消去しました。"</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"認証情報ストレージを消去不可"</string>
     <string name="usage_access_title" msgid="1580006124578134850">"使用状況にアクセスできるアプリ"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"CA 証明書"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"VPN とアプリユーザー証明書"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"Wi‑Fi 証明書"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"プライバシーが危険にさらされます"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"CA 証明書は、ウェブサイト、アプリ、VPN が暗号化を行う際に使用されます。信頼できる認証局の CA 証明書のみをインストールしてください。\n\nCA 証明書をインストールすると、あなたがアクセスしたウェブサイトまたはあなたが使用したアプリを通じて、証明書の所有者が個人情報（パスワード、メッセージ、クレジット カード情報など）にアクセスする可能性があります（これらの情報が暗号化されている場合も同様です）。"</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"インストールしない"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"インストールする"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"証明書はインストールされませんでした"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"緊急通報信号"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"緊急通報時の動作を設定します"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"バックアップ"</string>
@@ -2642,10 +2684,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"無効にしてアンインストール"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"デバイス管理アプリ"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"利用可能なデバイス管理アプリはありません"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"個人用"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"職場"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"SMS と通話履歴へのアクセスを制限"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"デフォルトの電話アプリとメッセージ アプリにのみ、SMS と通話履歴の権限が付与されます"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"使用可能な信頼できるエージェントがありません"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"デバイス管理アプリの有効化"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"このデバイス管理アプリを有効にする"</string>
@@ -2659,6 +2697,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"他の設定は管理者により無効にされています"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"詳細"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"通知ログ"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"通知履歴"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"今日"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"スヌーズ"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"最近削除されたもの"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> 件の通知</item>
+      <item quantity="one"><xliff:g id="NUMBER_0">%d</xliff:g> 件の通知</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"通話着信音とバイブレーション"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"ネットワークの詳細"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"同期が有効です"</string>
@@ -3008,7 +3054,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"制限"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"制限を削除"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"PINを変更"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"通知を表示"</string>
     <string name="help_label" msgid="2896538416436125883">"ヘルプとフィードバック"</string>
     <string name="support_summary" msgid="1034146931237148885">"ヘルプ記事、電話とチャット、使ってみる"</string>
     <string name="user_account_title" msgid="6389636876210834864">"コンテンツのアカウント"</string>
@@ -3033,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G 回線による通話"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"LTE サービスを使用して音声などの通信を改善する（推奨）"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"4G サービスを使用して、音声やその他の通話の品質を改善する（推奨）"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"連絡先の検出"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"連絡先が利用できる通話機能を携帯通信会社が検出できるようにしますか？"</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"連絡先の検出を有効にしますか？"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"この機能を有効にすると、携帯通信会社があなたの連絡先の電話番号にアクセスして、その番号で利用できる通話機能を検出できるようになります。"</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"優先ネットワークタイプ"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE（推奨）"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS メッセージ"</string>
@@ -3077,7 +3126,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"通話に使用するSIMを選択してください"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"SIMカードを選択"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"SIMカード番号: <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"SIMが空です"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"SIMの名前"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"SIM名を入力します"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"SIMスロット%1$d"</string>
@@ -3087,6 +3135,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"SIMカードの選択"</string>
     <string name="color_orange" msgid="216547825489739010">"オレンジ"</string>
     <string name="color_purple" msgid="6603701972079904843">"パープル"</string>
+    <string name="color_pink" msgid="8596872110888626708">"ピンク"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"SIMカードが挿入されていません"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"SIMのステータス"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"SIM ステータス（SIM スロット %1$d）"</string>
@@ -3100,7 +3149,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g>dBm <xliff:g id="ASU">%2$d</xliff:g>asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"SIMカードの変更完了"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"タップしてセットアップ"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"優先SIM:"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"その都度確認"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"選択してください"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"SIM の選択"</string>
@@ -3118,6 +3166,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"Bluetooth、運転モード"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"Bluetooth、NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"Bluetooth"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"NFC がオフのため使用できません"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"アプリと通知"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"最近使ったアプリ、デフォルトのアプリ"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"仕事用プロファイルのアプリには通知へのアクセス権限はありません。"</string>
@@ -3128,13 +3177,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"設定"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"wifi, wi-fi, ネットワーク接続, インターネット, ワイヤレス, データ, wi fi"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"Wi‑Fi 通知, wifi 通知"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"データ使用量"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"バイブレーションの停止, タップ, キーボード"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"24 時間表示"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"ダウンロード"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"アプリで開く"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"アプリ"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"タイムゾーン"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"チャットヘッド"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"チャットヘッド, システム, 通知, ウィンドウ, ダイアログ, 表示, 他のアプリの上, 描画"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"ライト, フラッシュ"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"wifi, wi-fi, 切り替え, 管理"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"モバイル、携帯通信会社、無線、データ、4G、3G、2G、LTE"</string>
@@ -3158,7 +3208,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"着信拒否、通知を非表示、表示しない、非表示、邪魔"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"付近の, 場所, 履歴, レポート, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"アカウント"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"アカウント, アカウントの追加, 仕事用プロファイル, アカウント 追加"</string>
     <string name="keywords_users" msgid="3497517660077620843">"制限、制限する、制限された"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"テキスト修正、修正、音、バイブレーション、自動、言語、ジェスチャー、候補、アドバイス、テーマ、不適切、語句、入力、絵文字、国際"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"リセット、設定、デフォルト"</string>
@@ -3196,6 +3246,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"メモリ, キャッシュ, データ, 削除, 消去, 解放, 空き容量"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"接続済み, デバイス, ヘッドフォン, ヘッドセット, スピーカー, ワイヤレス, ペア設定, イヤフォン, 音楽, メディア"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"背景, 画面, ロック画面, テーマ"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"アイコンの形、アクセント カラー、フォント"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"デフォルト, アシスタント"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"お支払い, デフォルト"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"通知の着信"</string>
@@ -3205,18 +3256,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"ハプティクス, バイブレーション, 感度"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"バッテリー セーバー, 固定, 永続, パワー セーバー, 電池"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"ルーティン, スケジュール, バッテリー セーバー, パワーセーバー, 電池, 自動, パーセント, 繰り返し, 定型, 消費電力, 節約, パワー, バッテリー"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"仕事用プロファイル"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"VoLTE、拡張モードでの通話、4G 回線による通話"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"言語を追加, 追加 言語"</string>
     <string name="default_sound" msgid="6604374495015245195">"デフォルトの通知音"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"着信音の音量: <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"着信音と通知の音量: <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"音量、バイブレーション、サイレント モード"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"バイブレーション着信に設定"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"マナーモード着信に設定"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"着信音の音量: 80%"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"着信音と通知の音量: 80%"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"メディアの音量"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"キャストの音量"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"通話の音量"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"アラームの音量"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"着信音の音量"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"着信音と通知の音量"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"通知の音量"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"着信音"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"デフォルトの通知音"</string>
@@ -3224,6 +3276,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"デフォルトの通知音"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"デフォルトのアラーム音"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"着信時のバイブレーション"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"バイブレーション OFF"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"常にバイブレーションを使用"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"まずバイブレーションで徐々に着信音"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"その他の音"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"ダイヤルパッドの操作音"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"画面ロック音"</string>
@@ -3247,6 +3302,7 @@
       <item quantity="one">1 件有効</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"サイレント モード"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"大切な人やアプリからの通知のみ受け取る"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"割り込みを制限する"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"サイレント モードを ON にする"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"例外"</string>
@@ -3273,7 +3329,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"視覚的な通知のブロック"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"視覚的な割り込みを許可"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"サイレント モードが ON のとき"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"音が出る割り込みの許可"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"通知の制限"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"通知音なし"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"画面に通知が表示されます"</string>
@@ -3304,7 +3360,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"音とバイブレーション"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"通知の音、バイブレーション、一部の視覚的なサイン"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"通知の音、バイブレーション、視覚的なサイン"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"基本的なスマートフォンの操作やステータスに必要な通知は表示されます"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"基本的なスマートフォンの操作やステータスに必要な通知は表示されます。"</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"なし"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"その他のオプション"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"追加"</string>
@@ -3334,10 +3390,12 @@
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> 件のスケジュールを自動的に ON にできます</item>
       <item quantity="one">1 件のスケジュールを自動的に ON にできます</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"デバイスをミュート（例外は許可）"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"例外"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"スケジュール"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"すべての例外を表示"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"サイレント モードがオンの場合の例外"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"人"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"アプリ"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"アラームとその他の割り込み"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"スケジュール"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"サイレントに設定した通知"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"サイレント モードが ON の場合、上で許可した項目以外の音とバイブレーションはミュートされます。"</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"指定した項目を除きすべてミュート"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"ミュート中"</string>
@@ -3381,16 +3439,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"通知の自動調整"</string>
     <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_capabilities_actions_replies_title" msgid="4392470465646394289">"操作や返信の候補"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"操作や返信の候補が自動的に表示されます"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"過去の通知やスヌーズに設定した通知を管理するには、通知履歴をオンにします"</string>
+    <string name="notification_history" msgid="8663811361243456201">"通知履歴"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"履歴をオンにする"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"履歴をオフにする"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"通知履歴がオフです"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"通知設定を表示"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"通知のスヌーズを許可"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"通知音なしの通知でアイコンを非表示にする"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"通知音なしの通知のアイコンはステータスバーに表示されません"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"通知ドットの許可"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"最近の会話のストリップの表示"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"ふきだし"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"一部の通知を画面にふきだしとして表示できます"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"一部の通知や他のコンテンツを画面にふきだしとして表示できます。ふきだしはタップすると開き、画面の下へドラッグすると消えます。"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"ふきだし"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"画面に新着メッセージが表示されます"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"一部の通知をふきだしとして表示することを <xliff:g id="APP_NAME">%1$s</xliff:g> に許可します"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"ふきだしの有効化"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"このアプリのふきだしを有効にするには、デバイスでふきだしを有効にしておく必要があります。この設定は、ふきだしを以前に有効にした他のアプリにも反映されます。"</string>
@@ -3408,6 +3476,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"プルダウン シェードとロック画面に表示されます"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"プルダウン シェードとステータスバーに表示されます"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"プルダウン シェード、ステータスバー、ロック画面に表示されます"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"ステータスバーにサイレント通知を表示しない"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"点滅"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"ロック画面"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"ロック画面をスキップ"</string>
@@ -3438,6 +3507,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"動作"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"音の許可"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"通知を表示しない"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"会話"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"会話"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"会話ではない"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"会話セクションから削除します"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"これは会話です"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"会話セクションに追加"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"会話を管理する"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"重要な会話"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"すべての会話"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"重要な会話をふきだしとして表示"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"重要な会話はプルダウン シェードの一番上に表示されます。サイレント モードに割り込んでふきだしとして表示されるよう、設定することもできます。"</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"ポップアップで知らせて最小化"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"ポップアップで知らせる"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"音で知らせる"</string>
@@ -3456,7 +3536,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"音やバイブレーションが作動しないため、通知に煩わされずに済みます"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"音やバイブレーションで通知をお知らせします"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"デバイスのロックが解除されているとき、画面上部にバナーとして通知を表示します"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"通知の表示"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"<xliff:g id="APP_NAME">%1$s</xliff:g>のすべての通知"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"通知の自動調整"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="other">約 <xliff:g id="NUMBER_1">%d</xliff:g> 件の通知 / 日</item>
@@ -3477,6 +3557,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"通知の自動調整"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"なし"</string>
     <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="3119843404577399036">"<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>
@@ -3538,8 +3619,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"完了"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"重要度"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"点滅"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"バイブレーション"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"バイブレーション"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"音"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"重要"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"ホームに追加"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"削除"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"名前を変更"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"スケジュール名"</string>
@@ -3593,6 +3676,10 @@
       <item quantity="other">他 <xliff:g id="NUM_PEOPLE">%d</xliff:g> 人</item>
       <item quantity="one">他 1 人</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"会話"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"すべての会話から"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"重要な会話から"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"会話を許可しない"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"メッセージを許可"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"許可したメッセージで必ず音が鳴るようにするには、デバイスの設定が着信音、バイブレーション、ミュートのいずれであるかをご確認ください。"</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"「<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>」の間、受信メッセージはブロックされます。設定を調整することで、友だち、家族などの連絡先からの受信メッセージのブロックを解除できます。"</string>
@@ -3606,15 +3693,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"なし"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"通話を許可しない"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"メッセージを許可しない"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"アラームを許可"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"アラーム"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"タイマー、アラーム、セキュリティ システム、その他のアプリに関するもの"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"アラーム"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"メディア サウンドを再生"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"メディア サウンド"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"動画、ゲーム、その他のメディアに関するもの"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"メディア"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"タッチ操作音を許可"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"タッチ操作音"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"キーボードとその他のボタンに関するもの"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"タッチ操作音"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"リマインダーを許可"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"リマインダー"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"タスクとリマインダーに関するもの"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"リマインダー"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"予定を許可"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"予定"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"近日中の予定に関するもの"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"アプリのオーバーライドを許可"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"アプリの除外"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3657,6 +3749,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"サイレント モードでサイレントに設定した通知を受信したときに、画面が ON になります"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"通知設定"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"OK"</string>
+    <string name="suggestion_button_close" msgid="6865170855573283759">"閉じる"</string>
     <string name="device_feedback" msgid="5351614458411688608">"このデバイスについてフィードバックを送信"</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"管理者 PIN の入力"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"ON"</string>
@@ -3667,6 +3760,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"画面固定の解除前にPINを要求"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"画面固定の解除前にパスワードを要求"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"画面固定を解除するときにデバイスをロックする"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"SIM の削除の確認"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"ダウンロード型 SIM を消去する前に本人確認を行う"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"この仕事用プロファイルを管理するアプリ:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"<xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>によって管理されています"</string>
     <string name="experimental_preference" msgid="869354050717870055">"（試験運用）"</string>
@@ -3741,8 +3836,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"すべてのアプリ"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"インストール済みアプリ"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Instant Apps"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"個人用"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"仕事用"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"アプリ: すべて"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"通知 OFF"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"カテゴリ: 重要度「緊急」"</string>
@@ -3754,6 +3847,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"不明なアプリ"</string>
     <string name="app_permissions" msgid="8666537659217653626">"権限マネージャ"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"<xliff:g id="APPS">%1$s</xliff:g>を使用するアプリ"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"<xliff:g id="APPS">%1$s</xliff:g>などを使用するアプリ"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"タップして復帰"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"画面をダブルタップするとデバイスが復帰します"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"リンクを開く"</string>
@@ -3765,9 +3859,14 @@
       <item quantity="other">対応リンクを開くことができるアプリは <xliff:g id="COUNT">%d</xliff:g> 個です</item>
       <item quantity="one">対応リンクを開くことができるアプリは 1 個です</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"このアプリで開く"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"対応リンクを開くことをアプリに許可する"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"その都度確認"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"このアプリで開かない"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"リンクを開くことをアプリに許可しない"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="other">アプリは <xliff:g id="COUNT_1">%d</xliff:g> 個のリンクを処理するとしています</item>
+      <item quantity="one">アプリは <xliff:g id="COUNT_0">%d</xliff:g> 個のリンクを処理するとしています</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"アプリは以下のリンクを処理するとしています。"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"デフォルト"</string>
     <string name="default_for_work" msgid="537558180548617528">"仕事用のデフォルト"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"アシストと音声入力"</string>
@@ -3911,8 +4010,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"他のアプリの上に重ねて表示"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"他のアプリの上に重ねて表示できるようにする"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"使用中の他のアプリの上にこのアプリを重ねて表示できるようになります。他のアプリを使用する際に邪魔になったり、他のアプリの表示や動作が変わったりする場合があります。"</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"すべてのファイルのアクセス"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"すべてのファイルを管理できるアクセス権を付与"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"このアプリに対し、このデバイスまたは接続されているストレージ ボリューム内のすべてのファイルの読み取り、変更、削除を許可します。許可されている場合、アプリがユーザーの事前の承認なしにファイルにアクセスすることもあります。"</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"すべてのファイルにアクセス可能"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"vr バーチャル リアリティ リスナー ステレオ ヘルパー サービス"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"システムの警告ウィンドウ ダイアログ 上に重ねて表示 他のアプリ"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"他のアプリの上に重ねて表示"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"他のアプリの上に重ねて表示できるアプリの数: <xliff:g id="COUNT_0">%1$d</xliff:g> / <xliff:g id="COUNT_1">%2$d</xliff:g> 個"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"権限のあるアプリ"</string>
@@ -4078,6 +4180,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"<xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g> 使用"</string>
     <string name="data_overusage" msgid="3680477320458707259">"<xliff:g id="ID_1">^1</xliff:g> 超過"</string>
     <string name="data_remaining" msgid="6316251496381922837">"あと <xliff:g id="ID_1">^1</xliff:g>"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"このグラフは、<xliff:g id="START_DATE">%1$s</xliff:g>～<xliff:g id="END_DATE">%2$s</xliff:g>のデータ使用量を示しています。"</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"この期間のデータはありません"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="other">残り %d 日</item>
       <item quantity="one">残り %d 日</item>
@@ -4141,14 +4245,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"パーセルサイズ"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"送信された通知"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"音"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"バイブレーション"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"パターン"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"デフォルト"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"チャンネル"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"なし"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"ランキング オブジェクトがありません。"</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"ランキング オブジェクトにこのキーが含まれていません。"</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"テーマ設定"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"デバイスのデフォルト"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"ディスプレイ カットアウト"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"ディスプレイ カットアウト, ノッチ"</string>
@@ -4237,8 +4337,12 @@
     <string name="information_label" msgid="6939310810756569298">"情報"</string>
     <string name="low_label" msgid="6525629096999711220">"低"</string>
     <string name="high_label" msgid="357503396626018487">"高"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"感度を上げると、画面の端付近でのアプリの操作に影響することがあります。"</string>
+    <string name="left_edge" msgid="1513576842959071849">"左の端"</string>
+    <string name="right_edge" msgid="1505309103265829121">"右の端"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"感度を上げると、画面の端付近でのアプリの操作に影響することがあります。"</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"「戻る」の感度"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"ジェスチャーの設定"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"ジェスチャー ナビゲーション, 「戻る」の感度, 「戻る」のジェスチャー"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"画面をダブルタップして通知をチェック"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"タブレットの画面をダブルタップして通知をチェック"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"デバイスの画面をダブルタップして通知をチェック"</string>
@@ -4393,7 +4497,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"携帯通信会社のプロビジョニングをトリガー"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"サイレント モードの更新"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"集中するために通知を一時停止する"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"この機能は、お使いのデバイスではご利用いただけません"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"この機能はご利用いただけません"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"この機能はスマートフォンのパフォーマンスを低下させるため OFF になっています"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"GNSS 計測の完全な実行"</string>
@@ -4403,20 +4506,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"ANGLE 対応のアプリを選択してください"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"ANGLE 対応のアプリは設定されていません"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"ANGLE 対応のアプリ: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"ゲームドライバの設定"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"ゲームドライバの設定を変更する"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"ゲームドライバが ON の場合、デバイスにインストールされているアプリで、更新されたグラフィックス ドライバを使用することができます。"</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"すべてのアプリで有効"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"グラフィックス ドライバの選択"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"デフォルト"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"ゲームドライバ"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"プレリリース版ドライバ"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"システムのグラフィックス ドライバ"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"グラフィックス ドライバの設定"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"グラフィックス ドライバの設定を変更します"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"グラフィックス ドライバが複数ある場合、デバイスにインストールされているアプリに向けて、更新されたグラフィックス ドライバを選んで使用できます。"</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"すべてのアプリで有効"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"グラフィックス ドライバの選択"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"デフォルト"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"ゲームドライバ"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"Developer Driver"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"システムのグラフィックス ドライバ"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"アプリの互換性の変更"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"アプリの互換性の変更を切り替え"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"デフォルトで有効な変更"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"デフォルトで無効な変更"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"このスマートフォンでは設定がサポートされていません"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"このタブレットでは設定がサポートされていません"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"このデバイスでは設定がサポートされていません"</string>
@@ -4435,6 +4544,11 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"デバイス"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"通話中は利用できません"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"利用できません"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"出力の追加"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"グループ"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 台のデバイスを選択しました"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"選択したデバイス: <xliff:g id="COUNT">%1$d</xliff:g> 台"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"切り替えています…"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"通話するデバイス"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"この APN は変更できません。"</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"タブレットの電池寿命の改善"</string>
@@ -4552,10 +4666,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"ダウンロード型 SIM は一度に 1 つのみ有効にできます。\n\n<xliff:g id="CARRIER1">%1$s</xliff:g> に切り替えても、<xliff:g id="CARRIER2">%2$s</xliff:g> サービスが解約されることはありません。"</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"<xliff:g id="CARRIER">%1$s</xliff:g> に切り替え"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"SIM を消去"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"このダウンロード型 SIM を消去しますか？"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"この SIM を消去すると、このデバイスから <xliff:g id="CARRIER_0">%1$s</xliff:g> サービスが削除されます。\n\n<xliff:g id="CARRIER_1">%2$s</xliff:g> のサービスが解約されることはありません。"</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"消去"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"SIM を消去しています…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"SIM を消去できません"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"エラーのため、この SIM を消去できません。\n\nデバイスを再起動してもう一度お試しください。"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"優先ネットワークの種類"</string>
@@ -4580,7 +4690,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"ネットワーク モード <xliff:g id="NETWORKMODEID">%1$d</xliff:g> は無効です。無視してください。"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"アクセス ポイント名"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"<xliff:g id="CARRIER">%1$s</xliff:g> への接続時は利用できません"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"医療記録、緊急連絡先"</string>
     <string name="see_more" msgid="7499355691042812723">"詳細"</string>
     <string name="see_less" msgid="2642392725363552793">"一部を表示"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"<xliff:g id="APPNAME">%1$s</xliff:g> で使用するデバイス"</string>
@@ -4589,11 +4698,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"エラーが発生しました。アプリはデバイス選択リクエストをキャンセルしました。"</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"接続しました"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"すべて表示"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> 台のデバイスを接続済み</item>
-      <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_0">%1$d</xliff:g> 台のデバイスを接続済み</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"Bluetooth デバイスなし"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"デバイスを検索しています…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"デバイスに接続しています…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"左"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"右"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"ケース"</string>
@@ -4603,6 +4709,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"機内モードの間は使用できません"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"デスクトップ モードに強制的に切り替え"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"セカンダリ ディスプレイで試験運用版デスクトップ モードに強制的に切り替えます"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"サイズが小さいアプリのフリーフォームを有効にする"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"サイズが小さいアプリの表示をフリーフォームで許可"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"フォースダークのオーバーライド"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"フォースダーク機能をオーバーライドして常に ON にする"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"プライバシー"</string>
@@ -4639,6 +4747,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"このアプリを最近インストールしました。"</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"出力の切り替え"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"現在 <xliff:g id="DEVICE_NAME">%1$s</xliff:g> で再生しています"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>（未接続）"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"切り替えられません。タップしてやり直してください。"</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"重要な情報"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"続行"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"同意しない"</string>
@@ -4666,8 +4776,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"SIM の組み合わせ"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"仕事に関するポリシーの情報"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"IT 管理者によって管理されている設定"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"バグレポート ハンドラ"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"デバイスでバグレポートのショートカットを処理するアプリを選択します。"</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"個人用"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"仕事用"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"システムのデフォルト"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"この選択は無効になりました。もう一度お試しください。"</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"キャストを停止"</string>
 </resources>
diff --git a/res/values-ka/arrays.xml b/res/values-ka/arrays.xml
index 5a5ddf4..3635abe 100644
--- a/res/values-ka/arrays.xml
+++ b/res/values-ka/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"დაუყოვნებლივ"</item>
     <item msgid="463591454172790676">"5 წამი"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"არ მსურს დადასტურება"</item>
+    <item msgid="5703177653586269306">"მოითხოვეთ სერტიფიკატის სტატუსი"</item>
+    <item msgid="326388247868439528">"მოითხოვეთ სერტიფიკატის სტატუსი"</item>
+    <item msgid="1090956283885790552">"მოითხოვეთ ყველა არასანდო სერტიფიკატის სტატუსი"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"Push ღილაკი"</item>
     <item msgid="2630618799033509548">"ერთრანგიანი მოწყობილობის პინი"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"არც ერთი"</item>
@@ -404,6 +412,9 @@
     <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>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"არცერთი"</item>
diff --git a/res/values-ka/config.xml b/res/values-ka/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-ka/config.xml
+++ b/res/values-ka/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-ka/strings.xml b/res/values-ka/strings.xml
index 2e38301..4125869 100644
--- a/res/values-ka/strings.xml
+++ b/res/values-ka/strings.xml
@@ -31,49 +31,17 @@
     <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="radio_info_data_connection_enable" msgid="7500945447906187613">"მობილური ინტერნეტის ჩართვა"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"მობილური ინტერნეტის გათიშვა"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"VoLTE უზრუნველყოფილია"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"ვიდეოზარი უზრუნველყოფილია"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"Wi-Fi დარეკვა უზრუნველყოფილია"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"EAB/Presence უზრუნველყოფილია"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"CBRS მონაცემები"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"DSDS-ის ჩართვა"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"გსურთ მოწყობილობის გადატვირთვა?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"ამ პარამეტრის შესაცვლელად საჭიროა მოწყობილობის გადატვირთვა."</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"გადატვირთვა"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"გაუქმება"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"მობილური რადიოკავშირის ელკვება"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"SIM-ის მისამართების წიგნის ნახვა"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"ფიქსირებული დარეკილი ნომრების ნახვა"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"სერვისის დარეკილი ნომრების ნახვა"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"IMS სერვისის სტატუსი"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"IMS-ის სტატუსი"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"რეგისტრირებული"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"არარეგისტრირებული"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"ხელმისაწვდომი"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"მიუწვდომელი"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"IMS-ის რეგისტრაცია: <xliff:g id="STATUS">%1$s</xliff:g>\nVoLTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nVoWi-Fi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nვიდეოზარი: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT ინტერფეისი: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"მომსახურების არეში"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"მომსახურების არის მიღმა"</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>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"უქმე"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"ირეკება"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"მიმდინარეობს ზარი"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"არ არის ხაზზე"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"მიმდინარეობს დაკავშირება"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"დაკავშირებულია"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"შეჩერებული"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"უცნობია"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"pkts"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"ბაიტი"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"USB მეხსიერების მოხსნა"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"გამოაერთე SD ბარათი"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"USB მეხსიერების წაშლა"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"ეკრანზე ტექსტის დაპატარავება ან გადიდება."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"დაპატარავება"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"გადიდება"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"ტექსტის ნიმუში"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"ოზის საოცარი ჯადოქარი"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"თავი 11: ოზის ზურმუხტის ქალაქი"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"ამ პარამეტრის შესაცვლელად საჭიროა მოწყობილობის გადატვირთვა."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"გადატვირთვა"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"გაუქმება"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"ხელმისაწვდომი მედია-მოწყობილობები"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"ხელმისაწვდომი დასარეკი მოწყობილობები"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"ამჟამად დაკავშირებულია"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"მედია მოწყობილობები"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"მოწყობილობებზე დარეკვა"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"სხვა მოწყობილობები"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"შენახული მოწყობილობები"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"დასაწყვილებლად ჩაირთვება Bluetooth"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"კავშირის პარამეტრები"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"თქვენს მიერ შეყვანილი პორტი არასწორია."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"HTTP პროქსი სერვერს იყენებს ბრაუზერი, თუმცა მისი გამოყენება სხვა აპლიკაციების მიერ დაუშვებელია."</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"PAC URL: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"ამჟამინდელი subId:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"მონაცემების ნაგულისხმევი SIM-ის subId:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"ჩამოტვირთვის გამტარუნარიანობა (კბიტ/წმ):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"ატვირთვის გამტარუნარიანობა (კბიტ/წმ):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"ფიჭური მდებარეობის ინფორმაცია (მოძველდა):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"LTE ფიზიკური არხის კონფიგურაცია:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"ფიჭური ინფორმაციის განახლების სიხშირე:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"სრული ინფორმაცია ფიჭური ქსელის შესახებ:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"მობილური ინტერნეტის სერვისი:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"როუმინგი:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"ზარების გადამისამართება:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"PPP ჩამოყრების რაოდენობა ჩატვირთვის შემდეგ:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"გამოყენებული ქსელი:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"მიღებული მონაცემები:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"ხმოვანი კავშირის სერვისი:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"სიგნალის სიმძლავრე:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"ხმოვანი ზარის სტატუსი:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"გაგზავნილი მონაცემები:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"მომლოდინე შეტყობინება:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"ტელეფონის ნომერი:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"რადიოდიაპაზონის არჩევა"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"ხმოვანი კავშირის ტიპი:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"მობილური ინტერნეტის ტიპი:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"სატელეფონო ინდექსის არჩევა"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"მიუთითეთ ქსელის სასურველი ტიპი:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"Ping-ის მოთხოვნა (www.google.com) IPv4:"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"Ping-ის მოთხოვნა (www.google.com) IPv6:"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"HTTP კლიენტის ტესტი:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"Ping ტესტის გაშვება"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"განახლება"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"განახლება"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"DNS შემოწმების გადართვა"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"ინფორმაცია/პარამეტრები სპეციალურად OEM-ისთვის"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"რადიოდიაპაზონის რეჟიმის დაყენება"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"მიმდინარეობს დიაპაზონთა სიის ჩატვირთვა…"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"დაყენება"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"წარუმატებლად დასრულდა"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"წარმატებულად"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"ცვლილებებს ადგილი აქვთ, როდესაც ხდება USB კაბელის ხელმეორედ მიერთება."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"USB მასიური მეხსიერების საცავის გააქტიურება"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"სულ ბაიტები:"</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"ბოლოში გადატანა"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"ენის ამოშლა"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"აქტივობის არჩევა"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"მოწყობილობის შესახებ ინფორმაცია"</string>
     <string name="display_label" msgid="3056320781191343221">"ზარის შემოწმება"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"ინფორმაცია ტაბლეტის შესახებ"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"ინფორმაცია ტელეფონის შესახებ"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"USB მეხსიერება"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"SD ბარათი"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"პროქსი სერვერის პარამეტრები"</string>
@@ -306,9 +234,6 @@
     <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="cellular_data_title" msgid="8072108204621057526">"მობილური ინტერნეტი"</string>
-    <string name="calls_title" msgid="6334813967619899114">"ზარების დაშვება"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"SMS შეტყობინებები"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"მონაცემთა მოხმარების დაშვება მობილურ ქსელზე"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"როუმინგისას მობილური ინტერნეტი"</string>
     <string name="roaming" msgid="3055365654530847985">"როუმინგი"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"როუმინგის დროს ინტერნეტ სერვისებთან დაკავშირება"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"თქვენი ინტერნეტ კავშირი გაწყვეტილია, რადგან საშინაო ქსელი გამორთული ინტერნეტის როუმინგით დატოვეთ."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"ჩართვა"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"ეს შეიძლება დიდ ხარჯებთან იყოს დაკავშირებული."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"ინტერნეტის როუმინგის გააქტიურებით შეიძლება გამოიწვიოთ მნიშვნელოვანი როუმინგ ცვლილებები!\n\nეს ცვლილება ეხება ამ ტაბლეტის ყველა მომხმარებელს."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"ინტერნეტის როუმინგის გააქტიურებით შეიძლება გამოიწვიოთ მნიშვნელოვანი როუმინგ ცვლილებები!\n\nეს ცვლილება ეხება ამ ტელეფონის ყველა მომხმარებელს."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"შეიძლება მოგიწიოთ როუმინგის საფასურის გადახდა."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"როდესაც ინტერნეტის როუმინგს უშვებთ, შეიძლება მოგიწიოთ როუმინგის საფასურის გადახდა.\n\nეს პარამეტრი ეხება ამ ტაბლეტის ყველა მომხმარებელს."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"როდესაც ინტერნეტის როუმინგს უშვებთ, შეიძლება მოგიწიოთ როუმინგის საფასურის გადახდა.\n\nეს პარამეტრი ეხება ამ ტელეფონის ყველა მომხმარებელს."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"გსურთ, ჩაირთოს ინტერნეტის როუმინგი?"</string>
     <string name="networks" msgid="5184501333492775095">"ოპერატორის შერჩევა"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"აირჩიეთ ქსელის ოპერატორი"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"გათიშულია ადმინისტრატორის მიერ"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"დაბლოკვის ვარიანტის ჩვენება"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"ჩართვის ღილაკის ვარიანტის ჩვენება, რომლითაც შესაძლებელია ჩაკეტილ ეკრანზე Smart Lock-ის, ბიომეტრიული განბლოკვის და შეტყობინებების გამორთვა"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"ნდობის აგენტები მხოლოდ ახანგრძლივებს დაბლოკვას"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"ჩართვის შემთხვევაში, ნდობის აგენტები უფრო ხანგრძლივი პერიოდის განმავლობაში შეინარჩუნებს თქვენს მოწყობილობას განბლოკილ მდგომარეობაში, თუმცა ვეღარ განბლოკავს ჩაკეტილ მოწყობილობას."</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"ეკრანის ჩაკეტვა ნდობის დაკარგვის შემდეგ"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"ჩართვის შემთხვევაში, მოწყობილობა ჩაიკეტება, როცა ბოლო აგენტი დაკარგავს ნდობას."</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"არცერთი"</string>
@@ -390,7 +313,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"„ჩემი მდებარეობის“ პარამეტრების დაყენება, ეკრანის განბლოკვა და SIM ბარათის დაბლოკვა, ავტორიზაციის მონაცემების საცავის დაბლოკვა"</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"დააყენე ჩემი მდებარეობის, ეკრანის განბლოკვისა და ავტორიზაციის მონაცემთა საცავის პარამეტრები"</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"კონფიდენციალურობა"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"გათიშულია ადმინისტრატორის მიერ"</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>
@@ -693,7 +616,6 @@
       <item quantity="other">უნდა შეიცავდეს <xliff:g id="NUMBER_1">%d</xliff:g> ციფრზე ნაკლებს</item>
       <item quantity="one">უნდა შეიცავდეს <xliff:g id="NUMBER_0">%d</xliff:g> ციფრზე ნაკლებს</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"უნდა შეიცავდეს მხოლოდ ციფრებს 0-დან 9-მდე"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"ბოლოდროინდელი PIN-კოდის ხელახლა გამოყენება მოწყობილობის ადმინისტრატორის მიერ ნებადართული არ არის"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"ხშირად გამოყენებული PIN-კოდები თქვენი IT ადმინისტრატორის მიერ დაბლოკილია. ცადეთ სხვა PIN-კოდი."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"არ უნდა შეიცავდეს არასწორ სიმბოლოს"</string>
@@ -724,6 +646,10 @@
       <item quantity="other">უნდა შეიცავდეს მინიმუმ <xliff:g id="COUNT">%d</xliff:g> არაანბანურ სიმბოლოს</item>
       <item quantity="one">უნდა შეიცავდეს მინიმუმ 1 არაანბანურ სიმბოლოს</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="other">უნდა შეიცავდეს, სულ მცირე, <xliff:g id="COUNT">%d</xliff:g> არარიცხვით სიმბოლოს</item>
+      <item quantity="one">უნდა შეიცავდეს, სულ მცირე, 1 არარიცხვით სიმბოლოს</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"ბოლოდროინდელი პაროლის ხელახლა გამოყენება მოწყობილობის ადმინისტრატორის მიერ ნებადართული არ არის"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"ხშირად გამოყენებული პაროლები თქვენი IT ადმინისტრატორის მიერ დაბლოკილია. ცადეთ სხვა პაროლი."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"ციფრების ზრდადი, კლებადი ან გამეორებადი მიმდევრობის გამოყენება ნებადართული არ არის"</string>
@@ -837,19 +763,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2.4 გჰც"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 გჰც"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"შესვლა"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"საიტის გახსნა"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"დარჩენილია <xliff:g id="REMAINING_TIME">%1$s</xliff:g>"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"ძალაშია <xliff:g id="EXPIRY_TIME">%1$s</xliff:g>-მდე"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"შეეხეთ აქ ქსელში შესასვლელად"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> მბიტი/წმ"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> მბიტი/წმ"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> მბიტი/წმ"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"<xliff:g id="REQUESTER">%s</xliff:g>-ს სურს, ჩართოს Wi-Fi"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"<xliff:g id="REQUESTER">%s</xliff:g>-ს სურს, გამორთოს Wi-Fi"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"გამართვადი აპების ბაიტ-კოდის დადასტურება"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"ART-ისთვის გამართვადი აპების ბაიტ-კოდის დადასტურების დაშვება"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"განახლ. სიხშირის ჩვენება"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"ეკრანის განახლების ამჟამინდელი სიხშირის ჩვენება"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"ტაბლეტის სხვა მოწყობილობასთან შეხებისას მონაცემთა გაცვლის საშუალება"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"მონაცემთა გაცვლის უფლების მიცემა ტელეფონის სხვა მოწყობილობასთან შეხებისას"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"მონაცემთა გაცვლის დაშვება ტაბლეტის NFC მოწყობილობასთან შეხებისას"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"მონაცემთა გაცვლის დაშვება ტელეფონის NFC მოწყობილობასთან შეხებისას"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"NFC-ის ჩართვა"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"NFC-ის მეშვეობით, ეს მოწყობილობა ცვლის მონაცემების სხვა ახლომდებარე მოწყობილობებთან ან ისეთ ობიექტებთან, როგორიცაა გადახდის ტერმინალები, წვდომის მონაცემთა წამკითხველები და ინტერაქტიული რეკლამები ან თეგები."</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"NFC-ის უსაფრთხო გამოყენება"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"მოწყობილობის განბლოკვის მოთხოვნა NFC-ისთვის"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"NFC-ის მეშვეობით საყიდლებისა და ტრანსპორტის საფასურის გადახდის დაშვება მხოლოდ მაშინ, როცა ეკრანი განბლოკილია"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android სხივი"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"მზადაა გადასცეს აპის კონტენტი NFC-ის მეშვეობით"</string>
@@ -923,8 +855,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"ჩართვა"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Wi‑Fi სკანირება ჩართულია"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"დამატებითი პარამეტრები"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"დამატებითი პარამეტრების ჩამოშლადი სია. ჩასაკეცად, შეეხეთ ორმაგად."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"დამატებითი პარამეტრების ჩამოშლადი სია. გასაშლელად, შეეხეთ ორმაგად."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"ჩამოსაშლელი სიის დამატებითი პარამეტრები"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"გაფართოება"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"ქსელის სახელი"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"შეიყვანეთ SSID"</string>
     <string name="wifi_security" msgid="9095934643631406913">"უსაფრთხოება"</string>
@@ -934,6 +866,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"სტატუსი"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"მონაცემთა გადაცემის სიჩქარე"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"მონაცემთა მიღების სიჩქარე"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"დაკავშირების სიჩქარე"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"სიხშირე"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"IP მისამართი"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"შენახულია შემდეგით:"</string>
@@ -941,6 +874,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"EAP მეთოდი"</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>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"მომხმარებლის სერტიფიკატი"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"იდენტობა"</string>
@@ -957,6 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"აირჩიეთ მინიმუმ ერთი დიაპაზონი Wi‑Fi უსადენო ქსელისთვის:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"IP პარამეტრები"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"კონფიდენციალურობა"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"გამოწერა"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"გამოწერის ნახვა ან შეცვლა"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"შემთხვევითი MAC-მისამართი"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"მოწყობილობის დამატება"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"„<xliff:g id="SSID">%1$s</xliff:g>“-ში მოწყობილობის დასამატებლად, ქვემოთ მოაქციეთ QR კოდი ცენტრში"</string>
@@ -966,12 +902,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"Wi‑Fi კავშირის გაზიარება"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"„<xliff:g id="SSID">%1$s</xliff:g>“-თან დასაკავშირებლად დაასკანერეთ ეს QR კოდი და გააზიარეთ პაროლი"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"„<xliff:g id="SSID">%1$s</xliff:g>“-თან დასაკავშირებლად დაასკანერეთ ეს QR კოდი"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"QR კოდის წაკითხვა ვერ მოხერხდა. ხელახლა მოაქციეთ კოდი ცენტრში და ცადეთ ხელახლა."</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"ცადეთ ხელახლა. თუ პრობლემა არ მოგვარდება, დაუკავშირდით მოწყობილობის მწარმოებელს."</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"წარმოიქმნა შეფერხება"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"დარწმუნდით, რომ თქვენი მოწყობილობა მიერთებული, დატენილი და ჩართულია"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"დარწმუნდით, რომ თქვენი მოწყობილობა მიერთებული, დატენილი და ჩართულია. თუ პრობლემა არ მოგვარდება, დაუკავშირდით მოწყობილობის მწარმოებელს."</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"„<xliff:g id="SSID">%1$s</xliff:g>“-ის დამატება მხარდაუჭერელია ამ მოწყობილობის მიერ"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"ცადეთ, მიუახლოვოთ მოწყობილობა Wi‑Fi-ის წვდომის წერტილს/როუტერს"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"გადაამოწმეთ პაროლი და ცადეთ ხელახლა"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"დაუკავშირდით მოწყობილობის მწარმოებელს"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"შეამოწმეთ კავშირი და ცადეთ ხელახლა"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"აირჩიეთ ქსელი"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"თქვენი მოწყობილობის დასაკავშირებლად აირჩიეთ ქსელი"</string>
@@ -984,11 +922,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"ზიარდება Wi‑Fi ამ მოწყობილობასთან…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"მიმდინარეობს დაკავშირება…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"უსადენო ქსელის გაზიარება"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"დაადასტურეთ, რომ თქვენ ხართ"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"დაადასტურეთ, რომ თქვენ ხართ"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"Wi-Fi ქსელის პაროლი: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"უსადენო ქსელის პაროლი: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"ავტომატური დაკავშირება"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"ტელეფონს შეეძლოს ავტომატურად დაკავშირება ამ ქსელთან ახლოს ყოფნისას"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"ტაბლეტს შეეძლოს ავტომატურად დაკავშირება ამ ქსელთან ახლოს ყოფნისას"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"მოწყობილობის დამატება"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"ამ ქსელზე მოწყობილობის დასამატებლად გამოიყენეთ QR კოდი"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"QR კოდის ფორმატი არასწორია"</string>
     <string name="retry" msgid="7542103800274026915">"ხელახლა ცდა"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"მოწყობილობის სხვა მომხმარებლებთან გაზიარება"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(უცვლელი)"</string>
@@ -1000,6 +942,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"სერტიფიკატი მითითებული არ არის. კავშირი არ იქნება კონფიდენციალური."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"ქსელის სახელი მეტისმეტად გრძელია."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"მიუთითეთ დომენი."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"საჭიროა სერტიფიკატი."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"ხელმისაწვდომია WPS"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (WPS ხელმისაწვდომია)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"ოპერატორის Wi‑Fi ქსელი"</string>
@@ -1051,7 +994,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"გაუმჯობესებული Wi‑Fi"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"MAC მისამართი"</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_ip_address_title" msgid="4265355419782184514">"IP მისამართი"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"ქსელის დეტალები"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"ქვექსელის ნიღაბი"</string>
@@ -1103,7 +1047,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"გამოიყენეთ უსადენო ქსელი თქვენი სხვა მოწყობილობებისთვის Wi‑Fi ქსელის შესაქმნელად. უსადენო ქსელი ინტერნეტზე წვდომას უზრუნველყოფს თქვენი მობილური ინტერნეტ-კავშირის მეშვეობით. შედეგად, შესაძლოა დაგეკისროთ მობილური ინტერნეტის შესაბამისი გადასახადები."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"აპებს შეუძლიათ უსადენო ქსელის შექმნა, რათა გაუზიარონ კონტენტი ახლომდებარე მოწყობილობებს."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"უსადენო ქსელის ავტომატურად გამორთვა"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"Wi‑Fi უსადენო ქსელი გამოირთვება, როცა მასთან არცერთი მოწყობილობა არაა დაკავშირებული"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"როდესაც არცერთი მოწყობილობა არ არის დაკავშირებული"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"უსადენო ქსელი ჩართვა…"</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"hotspot-ია გამორთვა…"</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> აქტიურია"</string>
@@ -1112,6 +1056,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"Wi‑Fi უსადენო ქსელის დაყენება"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"AndroidAP WPA2 PSK უსადენო ქსელი"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"AndroidHotspot"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"შეინახოს ეს ქსელი?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"<xliff:g id="APPNAME">%1$s</xliff:g>-ს სურს, ქსელი თქვენს ტელეფონზე შეინახოს"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"<xliff:g id="APPNAME">%1$s</xliff:g>-ს სურს, ქსელი თქვენს ტაბლეტზე შეინახოს"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"ინახება…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"შენახული"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"შენახვა ვერ ხერხდება. ხელახლა ცადეთ."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"შეინახოს ქსელები?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"<xliff:g id="APPNAME">%1$s</xliff:g>-ს სურს, ეს ქსელები თქვენს ტელეფონზე შეინახოს"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"<xliff:g id="APPNAME">%1$s</xliff:g>-ს სურს, ეს ქსელები თქვენს ტაბლეტზე შეინახოს"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"ინახება <xliff:g id="NUMBER">%d</xliff:g> ქსელი…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"ქსელები შეინახა"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"დარეკვა Wi-Fi-ს მეშვეობით"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"გაზარდეთ ზარები Wi‑Fi დარეკვით"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"ჩართეთ Wi‑Fi დარეკვა დაფარვის არეალის გასავრცობად"</string>
@@ -1138,16 +1093,18 @@
     <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"><annotation id="url">"შეიტყვეთ მეტი"</annotation>" პირადი DNS-ის ფუნქციების შესახებ"</string>
+    <string name="private_dns_mode_on" msgid="8878679071975375696">"ჩართულია"</string>
     <string name="wifi_calling_pref_managed_by_carrier" msgid="129524064888622179">"პარამეტრს ოპერატორი მართავს"</string>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"Wi-Fi დარეკვის გააქტიურება"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"Wi-Fi დარეკვის ჩართვა"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"Wi‑Fi დარეკვა %1$s-ისთვის მხარდაუჭერელია"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"<xliff:g id="SSID">%1$s</xliff:g>-თან კავშირი გაწყვეტილია"</string>
     <string name="carrier" msgid="1755020806290963951">"ოპერატორი"</string>
     <string name="display_settings_title" msgid="626835071804834218">"ეკრანი"</string>
     <string name="sound_settings" msgid="5514582720435174014">"ხმა"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"ხმის კონტროლი"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"მუსიკალური ეფექტები"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"ზარის სიმძლავრე"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"ზარებისა და შეტყობინებების ხმა"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"ვიბრაცია დადუმებული ზარისას"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"ნაგულისხმევი ხმა შეტყობინებისთვის"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"ზარი"</string>
@@ -1272,13 +1229,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"განრიგი"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"არცერთი"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"ჩაირთვება მზის ჩასვლიდან ამოსვლამდე"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"ჩაირთვება თქვენზე მორგებულ დროს"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"სტატუსი"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"გამორთულია / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"არასოდეს ჩაირთვება ავტომატურად"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"ავტომატურად ჩაირთვება მზის ჩასვლისას"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"ავტომატურად ჩაირთვება <xliff:g id="ID_1">%1$s</xliff:g>-ზე"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"ჩართულია / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"არასოდეს გამოირთვება ავტომატურად"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"ავტომატურად გამოირთვება მზის ამოსვლისას"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"ავტომატურად გამოირთვება <xliff:g id="ID_1">%1$s</xliff:g>-ზე"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"ჩაირთოს <xliff:g id="ID_1">%1$s</xliff:g>-მდე"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"გამოირთოს <xliff:g id="ID_1">%1$s</xliff:g>-მდე"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"მუქი თემა ზოგიერთ ეკრანზე იყენებს შავ ფონს იმისთვის, რომ ბატარეამ უფრო დიდხანს გაძლოს. მუქი თემა განრიგში აყენებს მოლოდინის ჩართვას სანამ თქვენი ეკრანი გამორთული იქნება."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"ეკრანის დროის ლიმიტი"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"ეკრანი გამოირთვება"</string>
@@ -1290,7 +1252,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"ფონის შეცვლა"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"თქვენი ეკრანის პერსონალიზება"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"ფონის არჩევა:"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"მოირგეთ თქვენი Pixel"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"მოირგეთ ტელეფონი"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"ცადეთ სხვადასხვა სტილი, ფონი და ა.შ."</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"ეკრანმზოგი"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"დატენვისას ან სანამ ჩამაგრებულია"</string>
@@ -1379,6 +1341,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"USB მეხსიერების ამოღება, თავისუფალი მეხსიერების ნახვა"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"SD ბარათის ამოღება, თავისუფალი მეხსიერების ნახვა"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (SIM სათავსო %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"სანახავად აირჩიეთ შენახული ქსელი"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"ტელეფონის ნომერი"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (SIM სათავსო %1$d)"</string>
@@ -1405,6 +1368,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"როუმინგი"</string>
     <string name="status_operator" msgid="4335640583552058491">"ქსელი"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"Wi‑Fi MAC მისამართი"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"მოწყობილობის Wi‑Fi MAC მისამართი"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"Bluetooth მისამართი"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"სერიული ნომერი"</string>
     <string name="status_up_time" msgid="1274778533719495438">"მუშაობის დრო"</string>
@@ -1617,6 +1581,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"ნაგულისხმევი APN პარამეტრების  აღდგენა დასრულებულია"</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"გადაყენების ვარიანტები"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"შესაძლებელია ქსელის, აპების ან მოწყობილობის გადაყენება"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"შესაძლებელია აპების გადაყენება"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"Wi-Fi-ს, მობილური ინტერნეტის და Bluetooth კავშირის გადაყენება"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"ეს ქმედება ქსელის ყველა პარამეტრს გადააყენებს, მათ შორის, შემდეგს:\n\n"<li>"Wi‑Fi"</li>\n<li>"მობილური ინტერნეტი"</li>\n<li>"Bluetooth"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"ჩამოტვირთული SIM-ების ამოშლა"</string>
@@ -1666,6 +1631,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"უსადენო ქსელი ჩართულია"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"ტეტერინგი"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"ტეტერინგის ან პორტატული უსადენო ქსელის გამოყენება ვერ მოხერხდება, როცა მონაცემთა დამზოგველი ჩართულია"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"მხოლოდ უსადენო ქსელი"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"მხოლოდ USB"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"მხოლოდ Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"უსადენო ქსელი, USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"უსადენო ქსელი, Bluetooth"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB, Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"უსადენო ქსელი, USB, Bluetooth"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"არ მოხდეს ინტერნეტის სხვა მოწყობილობებთან გაზიარება"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"ტეტერინგი"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"არ გამოიყენო Wi-Fi უსადენო ქსელი"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"ინტერნეტის გაზიარება მხოლოდ USB-ით"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"ინტერნეტის გაზიარება მხოლოდ Bluetooth-ით"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"ინტერნეტის გაზიარება მხოლოდ USB-ით და Bluetooth-ით"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB ტეტერინგი"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"ტელეფონის ინტერნეტ-კავშირის USB-ის მეშვეობით გაზიარება"</string>
@@ -1756,9 +1734,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"ინფორმაცია უსაფრთხოების შესახებ"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"თქვენ არ გაქვთ ინტერნეტ კავშირი. ამ ინფორმაციის ახლავე სანახავად, გადადით %s-ზე ინტერნეტში ჩართული ნებისმიერი კომპიუტერიდან."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"იტვირთება…"</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"PIN-კოდის გამოყენება"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"ნიმუშის გამოყენება"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"პაროლის გამოყენება"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"ეკრანის დაბლოკვის დაყენება"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"უსაფრთხოებისთვის დააყენეთ პაროლი"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"თითის ანაბეჭდის გამოსაყენებლად დააყენეთ პაროლი"</string>
@@ -1767,8 +1742,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"ანაბეჭდისათვის დააყენეთ PIN-კოდი"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"უსაფრთხოებისთვის დააყენეთ განმბლოკავი ნიმუში"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"ხელახლა შეიყვანეთ თქვენი პაროლი"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"შეიყვანეთ თქვენი სამსახურის პაროლი"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"დაადასტურეთ ნიმუში"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"შეიყვანეთ სამსახურის ნიმუში"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"ხელახლა შეიყვანეთ თქვენი PIN-კოდი"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"შეიყვანეთ თქვენი სამსახურის PIN-კოდი"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"პაროლები არ ემთხვევა"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"PIN-კოდები არ ემთხვევა"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"ისევ მოხაზეთ თქვენი განმბლოკავი ნიმუში"</string>
@@ -1779,6 +1757,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"სახით განბლოკვისთვის დააყენეთ პაროლი"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"სახით განბლოკვისთვის დააყენეთ ნიმუში"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"სახით განბლოკვისთვის დააყენეთ PIN-კოდი"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"პაროლი დაგავიწყდათ?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"დაგავიწყდათ ნიმუში?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"დაგავიწყდათ PIN-კოდი?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"გასაგრძელებლად, გამოიყენეთ თქვენი მოწყობილობის ნიმუში"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"გასაგრძელებლად, შეიყვანეთ თქვენი მოწყობილობის PIN-კოდი"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"გასაგრძელებლად, შეიყვანეთ თქვენი მოწყობილობის პაროლი"</string>
@@ -1846,6 +1827,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"აპის ყველა წყაროს დაშვება"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"ახლახან გახსნილი აპები"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"<xliff:g id="COUNT">%1$d</xliff:g>-ვე აპის ნახვა"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"მიმართეთ თქვენს IT ადმინს"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"ისინი შეძლებენ PIN-კოდის, ნიმუშის ან პაროლის გადაყენებას"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"თქვენი ტაბლეტი და პირადი მონაცემები უცნობი აპების შემოტევების წინაშე მეტად დაუცველია. აპების ამ წყაროდან ინსტალაციის შემთხვევაში, თქვენ თანახმა ხართ, პასუხისმგებელი იყოთ ამ აპების გამოყენების შედეგად ტაბლეტისთვის მიყენებულ ზიანსა და მონაცემების დაკარგვაზე."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"თქვენი ტელეფონი და პირადი მონაცემები უცნობი აპების შემოტევების წინაშე მეტად დაუცველია. აპების ამ წყაროდან ინსტალაციის შემთხვევაში, თქვენ თანახმა ხართ, პასუხისმგებელი იყოთ ამ აპების გამოყენების შედეგად ტელეფონისთვის მიყენებულ ზიანსა და მონაცემების დაკარგვაზე."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"თქვენი მოწყობილობა და პირადი მონაცემები უცნობი აპების შემოტევების წინაშე მეტად დაუცველია. აპების ამ წყაროდან ინსტალაციის შემთხვევაში თქვენ თანახმა ხართ, პასუხისმგებელი იყოთ ამ აპების გამოყენების შედეგად მოწყობილობისთვის მიყენებულ ზიანსა და მონაცემების დაკარგვაზე."</string>
@@ -1897,7 +1880,7 @@
     <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="1377296810290814749">"ამგვარად საწყის მდგომარეობას დაუბრუნდება შემდეგი კომპონენტების ყველა პარამეტრი:\n\n"<li>"გაუქმებული აპები"</li>\n<li>"გაუქმებული აპის შეტყობინებები"</li>\n<li>"ქმედებების ნაგულისხმევი აპლიკაციები"</li>\n<li>"ფონური მონაცემების შეზღუდვები აპებისთვის"</li>\n<li>"ნებართვის ნებისმიერი შეზღუდვები"</li>\n\n" აპების მონაცემები არ დაიკარგება."</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>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"აპების საწყისი მდგომარეობის აღდგენა"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"სივრცის მართვა"</string>
     <string name="filter" msgid="9039576690686251462">"გაფილტვრა"</string>
@@ -2097,7 +2080,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"აუდიო და ეკრანზე გამოტანილი ტექსტი"</string>
     <string name="display_category_title" msgid="6638191682294461408">"ეკრანი"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"ინტერაქციის მართვის საშუალებები"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"ჩამოტვირთული სერვისები"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"ჩამოტვირთული აპები"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"ექსპერიმენტული"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"ფუნქციების ალმები"</string>
     <string name="talkback_title" msgid="8756080454514251327">"TalkBack"</string>
@@ -2105,27 +2088,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"ერთეულების მოსასმენად, შეეხეთ მათ თქვენს ეკრანზე"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"სუბტიტრების პარამეტრები"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"გადიდება"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"გადიდების უბანი"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"გადიდების ჩართვა"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"აირჩიეთ უბანი (უბნები), რომელთა გამოყენებაც ეკრანის გადიდებისას გსურთ"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"სრული ეკრანი"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"ეკრანის ნაწილი"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"სრული ეკრანი და ეკრანის ნაწილი"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"მთლიანი ეკრანის გადიდება"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"ეკრანის ნაწილის გადიდება"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"გადიდების პარამეტრები"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"გადიდება სამმაგი შეხებით"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"გადიდება მალსახმობით"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"გადიდება მალსახმობითა და სამმაგი შეხებით"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"<xliff:g id="SERVICE">%1$s</xliff:g>-ის შესახებ"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"ვარიანტები"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"ეკრანზე მასშტაბის გადიდება"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"მასშტაბის გასაზრდელად, შეეხეთ 3-ჯერ"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"მასშტაბირება ღილაკზე შეხებით"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><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_screen_magnification_navbar_summary" msgid="5603519616005297803">"როდესაც გადიდება ჩართულია, შეგიძლიათ გაადიდოთ მასშტაბი თქვენს ეკრანზე.\n\n"<b>"მასშტაბირებისთვის"</b>", დაიწყეთ გადიდება, შემდეგ შეეხეთ ეკრანის ნებისმიერ ადგილს.\n"<ul><li>"• გადასაადგილებლად ჩაავლეთ 2 ან მეტი თითი"</li>\n<li>"• მასშტაბის კორექტირება მოახდინეთ 2 ან მეტი თითით"</li></ul>\n\n<b>"დროებით მასშტაბირებისთვის"</b>", დაიწყეთ გადიდება, შემდეგ ხანგრძლივად შეეხეთ ეკრანის ნებისმიერ ადგილს.\n"<ul><li>"• ეკრანზე გადასატანად ჩაავლეთ"</li>\n<li>"• მასშტაბის შესამცირებლად აწიეთ თითი"</li></ul>\n\n"კლავიატურაზე ან ნავიგაციის ზოლზე მასშტაბის გადიდება შეუძლებელია."</string>
+    <string name="accessibility_screen_magnification_summary" msgid="7617931632990040045">"კონტენტის უფრო გარკვევით დასანახად სწრაფად გაადიდეთ მასშტაბი ეკრანზე.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;მასშტაბის გასადიდებლად:&lt;/b&gt;&lt;br/&gt;	1. გადიდების დასაწყებად გამოიყენეთ მალსახმობი&lt;br/&gt;	2. შეეხეთ ეკრანს&lt;br/&gt;	3. ეკრანზე გადასაადგილებლად ჩაავლეთ 2 თითით&lt;br/&gt;	4. მასშტაბის კორექტირებისთვის მოუჭირეთ 2 თითით&lt;br/&gt;	5. გადიდების შესაწყვეტად გამოიყენეთ მალსახმობი&lt;br/&gt;&lt;br/&gt;&lt;b&gt;მასშტაბის დროებით გასადიდებლად:&lt;/b&gt;&lt;br/&gt;	1. გადიდების დასაწყებად გამოიყენეთ მალსახმობი&lt;br/&gt;	2. ხანგრძლივად შეეხეთ ეკრანს ნებისმიერ ადგილას&lt;br/&gt;	3. ეკრანზე გადასაადგილებლად ჩაავლეთ თითით&lt;br/&gt;	4. გადიდების შესაწყვეტად მოაშორეთ თითი"</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"როდესაც გადიდება ჩართულია, შეგიძლიათ გაადიდოთ მასშტაბი თქვენს ეკრანზე.\n\n"<b>"მასშტაბირებისთვის"</b>", დაიწყეთ გადიდება, შემდეგ შეეხეთ ეკრანის ნებისმიერ ადგილს.\n"<ul><li>"გადასაადგილებლად გადაატარეთ ეკრანს 2 ან მეტი თითი"</li>\n<li>"მასშტაბის დასარეგულირებლად ეკრანზე შეაერთეთ 2 ან მეტი თითი"</li></ul>\n\n<b>"მასშტაბის დროებით გასადიდებლად"</b>", დაიწყეთ გადიდება, შემდეგ ხანგრძლივად შეეხეთ ეკრანის ნებისმიერ ნაწილს.\n"<ul><li>"გადაატარეთ თითი ეკრანს მისი სხვადასხვა ნაწილის დასათვალიერებლად"</li>\n<li>"მასშტაბის შესამცირებლად ასწიეთ თითი"</li></ul>\n\n"კლავიატურისა და ნავიგაციის ზოლის მასშტაბის გაზრდა ვერ მოხერხდება."</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"გასახსნელად გამოიყენეთ მარტივი წვდომის ღილაკი"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"გასახსნელად გამოიყენეთ ჟესტი"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"მარტივი წვდომის ახალი ჟესტის გამოყენება"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"ამ სერვისის ჩასართავად ან გამოსართავად, შეეხეთ მარტივი წვდომის ღილაკს <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> თქვენი ეკრანის ქვედა ნაწილში.\n\nსერვისების გადასართავად, ხანგრძლივად შეეხეთ მარტივი წვდომის ღილაკს."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"ამ სერვისის ჩასართავად ან გამოსართავად, ორი თითით გადაფურცლეთ ეკრანის ქვედა კიდიდან ზემოთ.\n\nსერვისების გადასართავად, ორი თითით გადაფურცლეთ ზემოთ და დააყოვნეთ."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"ამ სერვისის ჩასართავად ან გამოსართავად, სამი თითით გადაფურცლეთ ეკრანის ქვედა კიდიდან ზემოთ.\n\nსერვისების გადასართავად, სამი თითით გადაფურცლეთ ზემოთ და დააყოვნეთ."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"მარტივი წვდომის სერვისის ჩასართავად ან გამოსართავად, ორი თითით გადაფურცლეთ ეკრანის ქვედა კიდიდან ზემოთ.\n\nსერვისების გადასართავად, ორი თითით გადაფურცლეთ ზემოთ და დააყოვნეთ."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"მარტივი წვდომის სერვისის ჩასართავად ან გამოსართავად, სამი თითით გადაფურცლეთ ეკრანის ქვედა კიდიდან ზემოთ.\n\nსერვისების გადასართავად, სამი თითით გადაფურცლეთ ზემოთ და დააყოვნეთ."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"ამ სერვისის ჩასართავად ან გამოსართავად, შეეხეთ მარტივი წვდომის ღილაკს <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> თქვენი ეკრანის ქვედა ნაწილში.\n\nსერვისების გადასართავად, ხანგრძლივად შეეხეთ მარტივი წვდომის ღილაკს."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"ამ სერვისის ჩასართავად ან გამოსართავად, ორი თითით გადაფურცლეთ ეკრანის ქვედა კიდიდან ზემოთ.\n\nსერვისების გადასართავად, ორი თითით გადაფურცლეთ ზემოთ და დააყოვნეთ."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"ამ სერვისის ჩასართავად ან გამოსართავად, სამი თითით გადაფურცლეთ ეკრანის ქვედა კიდიდან ზემოთ.\n\nსერვისების გადასართავად, სამი თითით გადაფურცლეთ ზემოთ და დააყოვნეთ."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"მარტივი წვდომის სერვისის ჩასართავად ან გამოსართავად, ორი თითით გადაფურცლეთ ეკრანის ქვედა კიდიდან ზემოთ.\n\nსერვისების გადასართავად, ორი თითით გადაფურცლეთ ზემოთ და დააყოვნეთ."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"მარტივი წვდომის სერვისის ჩასართავად ან გამოსართავად, სამი თითით გადაფურცლეთ ეკრანის ქვედა კიდიდან ზემოთ.\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="2820923641553461297">"მარტივი წვდომის ღილაკი"</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="8922102767509399352">"შეეხეთ მარტივი წვდომის ღილაკს <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> თქვენი ეკრანის ქვედა ნაწილში"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"2 თითით გადაფურცლეთ ეკრანის ქვედა კიდიდან ზემოთ"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"3 თითით გადაფურცლეთ ეკრანის ქვედა კიდიდან ზემოთ"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"ხანგრძლივად დააჭირეთ ხმის ღილაკებს"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"ხანგრძლივად დააჭირეთ ხმის ორივე ღილაკს 1 წამის განმავლობაში"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"სამმაგად შეეხეთ ეკრანს"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"სწრაფად შეეხეთ ეკრანს 3-ჯერ. ამ მალსახმობმა შეიძლება მოწყობილობა შეანელოს."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"გაფართოებ."</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"მარტივი წვდომის ღილაკად დაყენებულია <xliff:g id="SERVICE">%1$s</xliff:g>. გადიდების გამოსაყენებლად ხანგრძლივად შეეხეთ მარტივი წვდომის ღილაკს, ხოლო შემდეგ აირჩიეთ გადიდება."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"მარტივი წვდომის ჟესტი დაყენებულია <xliff:g id="SERVICE">%1$s</xliff:g>-ზე. გადიდების გამოსაყენებლად, გადაფურცლეთ ორი თითით ეკრანის ქვედა კიდიდან ზემოთ და დააყოვნეთ. შემდეგ აირჩიეთ გადიდება."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"ხმის ღილაკის მალსახმობი"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"მალსახმობი სერვისი"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"მალსახმობის პარამეტრები"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"ჩაკეტილ ეკრანზე გამოყენების დაშვება"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"მალსახმობის ჩართვის შემდეგ, მარტივი წვდომის ფუნქციის გაშვება ხმის ორივე ღილაკზე 3 წამის განმავლობაში დაჭერით შეგეძლებათ."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"მაღალკონტრასტიანი ტექსტი"</string>
@@ -2149,24 +2157,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"აირჩიეთ, რა დროის განმავლობაში გამოჩნდეს შეტყობინებები, რომლებიც გთხოვთ ქმედების შესრულებას, თუმცა მხოლოდ დროებით ჩანს.\n\nეს პარამეტრი არ არის მხარდაჭერილი ყველა აპის მიერ."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"შეხება და დაყოვნება"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"ფერის ინვერსია"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"შეიძლება გავლენა იქონიოს მუშაობაზე"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"გაყინვის დრო"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"ფერთა ინვერსიის გამოყენება"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"ფერთა ინვერსია ღია ეკრანს გაამუქებს. ეს ეხმარება კაშკაშა სინათლისადმი მგრძნობიარე ადამიანებს, უკეთ დაინახონ ეკრანი.&lt;br/&gt;&lt;br/&gt;შენიშვნა: მუქი ფერები გაღიავდება. ფერები შეიცვლება მედიაში და სურათებზე. ასევე, შეგიძლიათ გამოიყენოთ მუქი თემა (პარამეტრები &gt; ჩვენება)."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"ავტომატური დაწკაპუნება (გაყინვის დრო)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"თუ მაუსს იყენებთ, შეგიძლიათ დააყენოთ ავტომატურად მოქმედებაში მოყვანის პარამეტრი კურსორისთვის, როცა ის გარკვეული დროის განმავლობაში მოძრაობას შეწყვეტს."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"დაყოვნება დაწკაპუნებამდე"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"არ გამოიყენო ავტოდაწკაპ. (ნაგულის.)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"მოკლე"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0,2 წუთი"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"საშუალო"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0,6 წამი"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"გრძელი"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 წამი"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"მორგებული"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"უფრო მოკლე"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"უფრო გრძელი"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"ავტომატური დაწკაპუნების დრო"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"ვიბრაცია და ტაქტილური სიძლიერე"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"შეტყობინების ვიბრაცია"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"ზარის ვიბრაცია"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"რეაქცია შეხებაზე"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"სერვისის გამოყენება"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>-ის გამოყენება"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"გახსენით <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"ფერის კორექციის გამოყენება"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"სუბტიტრების გამოყენება"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"წარწერების ჩვენება"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"წარწერის იერსახე"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"ტექსტის ზომა, წარწერის სტილი"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"სხვა ვარიანტები"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"ამ პარამეტრის მხარდაჭერა ყველა აპს არ აქვს."</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"მარტივი წვდომის ღილაკი"</string>
+    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"ქვემოდან ზემოთ გადაფურცვლა 2-თითით"</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>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"სმენის დახმარებები"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"სმენის აპარატები არაა დაკავშირებული"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"სმენის მოწყობილობების დამატება"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"თქვენი სმენის აპარატების დასაწყვილებლად, იპოვეთ და შეეხეთ თქვენს მოწყობილობას მომდევნო ეკრანზე."</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"დარწმუნდით, რომ თქვენი სმენის აპარატები დაწყვილების რეჟიმშია."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"თქვენი სმენის აპარატების დასაწყვილებლად, იპოვეთ და შეეხეთ თქვენს მოწყობილობას შემდეგ ეკრანზე. დარწმუნდით, რომ თქვენი სმენის აპარატები დაწყვილების რეჟიმშია."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> აქტიურია"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> შენახული სმენის აპარატი</item>
@@ -2178,25 +2204,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"ეს სერვისი გაუმართავად მუშაობს."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"სწრაფ პარამეტრებში ჩვენება"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"შესწორების რეჟიმი"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="other">უკიდურესად მოკლე დაყოვნება (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> მწმ)</item>
-      <item quantity="one">უკიდურესად მოკლე დაყოვნება (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> მწმ)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"წითელი-მწვანე"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"მწვანე-წითელი"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"ლურჯი-ყვითელი"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"დეიტერანომალია"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"პროტანომალია"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"ტრიტანომალია"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="other">უკიდურესად ხანმოკლე დაყოვნება (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> წამი)</item>
+      <item quantity="one">უკიდურესად ხანმოკლე დაყოვნება (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> წამი)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="other">ძალიან ხანმოკლე დაყოვნება (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> მწმ)</item>
-      <item quantity="one">ძალიან ხანმოკლე დაყოვნება (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> მწმ)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="other">ძალიან ხანმოკლე დაყოვნება (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> წამი)</item>
+      <item quantity="one">ძალიან ხანმოკლე დაყოვნება (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> წამი)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="other">ხანმოკლე დაყოვნება (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> მწმ)</item>
-      <item quantity="one">ხანმოკლე დაყოვნება (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> მწმ)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="other">ხანმოკლე დაყოვნება (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> წამი)</item>
+      <item quantity="one">ხანმოკლე დაყოვნება (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> წამი)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="other">ხანგრძლივი დაყოვნება (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> მწმ)</item>
-      <item quantity="one">ხანგრძლივი დაყოვნება (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> მწმ)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="other">ხანგრძლივი დაყოვნება (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> წამი)</item>
+      <item quantity="one">ხანგრძლივი დაყოვნება (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> წამი)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="other">ძალიან ხანგრძლივი დაყოვნება (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> მწმ)</item>
-      <item quantity="one">ძალიან ხანგრძლივი დაყოვნება (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> მწმ)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="other">ძალიან ხანგრძლივი დაყოვნება (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> წამი)</item>
+      <item quantity="one">ძალიან ხანგრძლივი დაყოვნება (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> წამი)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> წამი</item>
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> წამი</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"ზარი (<xliff:g id="SUMMARY_RING">%1$s</xliff:g>), შეტყობინება (<xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>), შეხება (<xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>)"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"ზარისა და შეტყობინებათა ხმა გამორთულია"</string>
@@ -2513,7 +2549,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"ელკვებიდან გამოერთების შემდეგ <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"სულ გამოყენებული"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"განახლება"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"Android OS"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"მედია სერვერი"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"აპის ოპტიმიზაცია"</string>
     <string name="battery_saver" msgid="7737147344510595864">"ბატარეის დამზოგი"</string>
@@ -2594,8 +2629,7 @@
     <string name="tts_play" msgid="2945513377250757221">"დაკვრა"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"ავტორიზაციის მონაცემთა საცავი"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"ინსტალაცია საცავიდან"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"დააყენე SD ბარათიდან"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"სერტიფიკატის ინსტალაცია"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"სერტიფიკატების საცავიდან დაყენება"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"სერთიფიკატების ინსტალაცია SD ბარათიდან"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"ავტორიზაციის მონაცემების წაშლა"</string>
@@ -2615,6 +2649,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"ავტორიზაციის მონაცემთა საცავი წაშლილია."</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"ავტორიზაციის მონაცემების საცავის წაშლა შეუძლებელია."</string>
     <string name="usage_access_title" msgid="1580006124578134850">"აპები გამოყ. წვდომით"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"CA სერტიფიკატი"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"VPN და აპის მომხმარ. სერტიფიკ."</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"Wi‑Fi სერტიფიკატი"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"თქვენს კონფიდენციალურობას საფრთხე ემუქრება"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"CA სერტიფიკატები გამოიყენება დასაშიფრად ვებსაიტების, აპების და VPN-ების მიერ. CA სერტიფიკატები მხოლოდ სანდო ორგანიზაციებისგან დაინსტალირეთ. \n\n თუ CA სერტიფიკატს დააინსტალირებთ, სერტიფიკატის მფლობელი შეძლებს თქვენს ისეთ ინფორმაციაზე წვდომას, როგორიც არის პაროლები, შეტყობინებები ან საკრედიტო ბარათის დეტალები, თქვენ მიერ მონახულებული ვებსაიტებიდან ან გამოყენებული აპებიდან — თუნდაც აღნიშნული ინფორმაცია დაშიფრული იყოს."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"არ დაინსტალირდეს"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"მაინც დაინსტალირდეს"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"სერტიფიკატი არ არის დაინსტალირებული"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"საგანგებო დარეკვის სიგნალი"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"ქცევის დაყენება, როცა განხორციელებულია გადაუდებელი ზარი"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"სარეზერვო კოპირება"</string>
@@ -2642,10 +2684,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"დეაქტივაცია და დეინსტალაცია"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"მოწყობილობის ადმინისტრატორების აპები"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"მოწყობილობის ადმინისტრატორების აპები მიუწვდომელია"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"პირადი"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"სამსახური"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"SMS-ებსა და ზარების ჟურნალზე წვდომის შეზღუდვა"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"SMS-ებსა და ზარების ჟურნალზე წვდომის ნებართვა აქვს მხოლოდ ზარებისა და შეტყობინებათა მიმოცვლის ნაგულისხმევ აპებს"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"სანდო აგენტები ხელმისაწვდომი არ არის"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"გააქტიურდეს მოწყ-ის ადმინისტრატორის აპი?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"მოწყობილობის ადმინისტრატორის ამ აპის გააქტიურება"</string>
@@ -2659,6 +2697,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"სხვა ვარიანტები გათიშულია თქვენი ადმინისტრატორის მიერ"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"დაწვრილებით"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"შეტყობინებების ჟურნალი"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"შეტყობინებების ისტორია"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"დღეს"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"ჩაჩუმებული"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"ახლახან დახურული"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> შეტყობინება</item>
+      <item quantity="one"><xliff:g id="NUMBER_0">%d</xliff:g> შეტყობინება</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"ვიბროსიგნალი და ზარი"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"ქსელის დეტალები"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"სინქრონიზაცია ჩართულია"</string>
@@ -3008,7 +3054,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"შეზღუდვები"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"შეზღუდვების მოშორება"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"PIN-ის შეცვლა"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"შეტყობინებების ჩვენება"</string>
     <string name="help_label" msgid="2896538416436125883">"დახმარება/უკუკავშირი"</string>
     <string name="support_summary" msgid="1034146931237148885">"დამხმარე სტატიები, მხარდაჭერა ტელეფონით და ჩეთით, დაწყება"</string>
     <string name="user_account_title" msgid="6389636876210834864">"ანგარიში კონტენტისთვის"</string>
@@ -3033,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G დარეკვა"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"LTE სერვისების გამოყენება ხმისა და სხვა კომუნიკაციების გასაუმჯობესებლად (რეკომენდებული)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"გამოიყენეთ 4G სერვისები ხმისა და სხვა კომუნიკაციების გასაუმჯობესებლად (რეკომენდებული)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"კონტაქტების აღმოჩენა"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"საშუალებას აძლევს ოპერატორს, აღმოაჩინოს, დარეკვის რომელი ფუნქციის მხარდაჭერა აქვთ თქვენს კონტაქტებს."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"ჩაირთოს კონტაქტების აღმოჩენა?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"ამ ფუნქციის ჩართვა დაუშვებს თქვენი ოპერატორის წვდომას თქვენს კონტაქტებში არსებულ ტელეფონის ნომრებზე, რათა აღმოაჩინოს, დარეკვის რომელი ფუნქციის მხარდაჭერა აქვთ მათ."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"ქსელის სასურველი ტიპი"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (რეკომენდებული)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS შეტყობინებები"</string>
@@ -3077,7 +3126,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"დარეკვა SIM-ით:"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"აირჩიეთ SIM ბარათი"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"SIM <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"SIM ცარიელია"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"SIM-ის სახელი"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"შეიყვანეთ SIM-ის სახელი"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"SIM სათავსო %1$d"</string>
@@ -3087,6 +3135,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"აირჩიეთ SIM ბარათი"</string>
     <string name="color_orange" msgid="216547825489739010">"ნარინჯისფერი"</string>
     <string name="color_purple" msgid="6603701972079904843">"მეწამული"</string>
+    <string name="color_pink" msgid="8596872110888626708">"ვარდისფერი"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"SIM ბარათები მოთავსებული არ არის"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"SIM სტატუსი"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"SIM-ის სტატუსი (SIM სათავსო %1$d)"</string>
@@ -3100,7 +3149,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"სიმ-ბარათები შეიცვალა."</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"შეეხეთ დასაყენებლად"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"რჩეული SIM შემდეგისთვის:"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"შეკითხვა ყოველ ჯერზე"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"აუცილებელი არჩევანი"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"SIM-ბარათის არჩევანი"</string>
@@ -3118,6 +3166,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"Bluetooth, საავტომობილო რეჟიმი"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"Bluetooth, NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"Bluetooth"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"მიუწვდომელია, რადგან NFC გამორთულია"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"აპები და შეტყობინებები"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"ბოლო აპები, ნაგულისხმევი აპები"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"შეტყობინებებზე წვდომა სამსახურის პროფილში არსებული აპებისთვის მიუწვდომელია."</string>
@@ -3128,13 +3177,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"პარამეტრები"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"WiFi, Wi-Fi, ქსელის კავშირი, ინტერნეტი, უსადენო, მონაცემები, Wi Fi"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"Wi‑Fi შეტყობინება, wifi შეტყობინება"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"მონაცემთა მოხმარება"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"ვიბრაციის შეწყვეტა, შეხება, კლავიატურა"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"24-საათიანი ფორმატის გამოყენება"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"ჩამოტვირთვა"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"გახსნა აპით"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"აპლიკაციები"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"სასაათო სარტყელი"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"ჩეთის თავი"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"ჩეთის ფანჯარა, სისტემა, გაფრთხილება, ფანჯარა, დიალოგი, ჩვენება, სხვა აპების ზემოთ, ხატვა"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"ფარანი, შუქი, ჩირაღდანი"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"WiFi, Wi-Fi, გადართვა, მართვა"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"ფიჭური კავშირი, მობილური ინტერნეტი, უსადენო კავშირი, მონაცემები, 4g, 3g, 2g, lte"</string>
@@ -3158,7 +3208,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"არ შემაწუხოთ, შეშლა, შეფერხება, შესვენება"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"ახლომახლო, მდებარეობა, ისტორია, შეტყობინება, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"ანგარიში"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"ანგარიში, ანგარიშის დამატება, სამსახურის პროფილი, ანგარიშის დამატება"</string>
     <string name="keywords_users" msgid="3497517660077620843">"შეზღუდვა, შეზღუდვა, შეზღუდული"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"ტექსტის შესწორება, კორექცია, ხმა, ვიბრაცია, ავტომატური, ენა, ჟესტი, შეთავაზება, შემოთავაზება, თემა, შეურაცხმყოფელი, სიტყვა, აკრეფა, emoji, საერთაშორისო"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"გადაყენება, პარამეტრები, ნაგულისხმევი"</string>
@@ -3196,6 +3246,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"მეხსიერება, ქეში, მონაცემები, წაშლა, გასუფთავება, ცარიელი, სივრცე"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"დაკავშირებული, მოწყობილობა, ყურსასმენები, ყურსაცვამი, დინამიკი, უსადენო, წყვილი, საყურისები, მუსიკა, მედია"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"ფონი, ეკრანი, ჩაკეტილი ეკრანი, თემა"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"ხატულის ფორმა, ფერის ხაზგასმა, შრიფტი"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"ნაგულისხმევი, ასისტენტი"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"გადახდა, ნაგულისხმევი"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"შემომავალი შეტყობინება"</string>
@@ -3205,18 +3256,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"ჰაპტიკა, ვიბრაცია, მგრძნობიარობა"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"ბატარეის დამზოგი, ფიქსირებული, მუდმივობა, ენერგიის დამზოგი, ბატარეა"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"რუტინა, განრიგი, ბატარეის დამზოგი, ენერგიის დამზოგი, ბატარეა, ავტომატური, პროცენტი"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"სამსახურის პროფილი"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"volte, გაუმჯობესებული დარეკვა, 4g დარეკვა"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"ენის დამატება, დაამატეთ ენა"</string>
     <string name="default_sound" msgid="6604374495015245195">"ნაგულისხმევი ხმა"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"ზარის სიმძლავრე: <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"ზარებისა და შეტყობინებების ხმა <xliff:g id="PERCENTAGE">%1$s</xliff:g>-ზეა"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"ხმა, ვიბრაცია, არ შემაწუხოთ"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"მრეკავი დაყენებულია ვიბრაციაზე"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"მრეკავი დაყენებულია უხმოზე"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"ზარის სიმძლავრე: 80%"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"ზარებისა და შეტყობინებების ხმა 80%-ზეა"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"მედიის ხმა"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"ტრანსლაციის ხმა"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"ზარის ხმა"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"მაღვიძარას ხმა"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"ზარის სიმძლავრე"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"ზარებისა და შეტყობინებების ხმა"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"შეტყობინების ხმა"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"ტელეფონის ზარი"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"შეტყობინებების ნაგულისხმევი ხმა"</string>
@@ -3224,6 +3276,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"შეტყობინებების ნაგულისხმევი ხმა"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"მაღვიძარას ნაგულისხმევი ხმა"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"ვიბრაცია ზარებისას"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"ვიბრაციის არასოდეს გამოყენება"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"ვიბრაციის ყოველთვის გამოყენება"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"ვიბრაცია, შემდეგ კი ზრდადი ზარი"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"სხვა ხმები"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"ციფერბლატის ტონური რეჟიმი"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"ეკრანის ჩაკეტვის ხმები"</string>
@@ -3247,6 +3302,7 @@
       <item quantity="one">ჩართულია 1</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"არ შემაწუხოთ"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"შეტყობინებების მიღება მხოლოდ მნიშვნელოვანი ხალხისგან და აპებიდან"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"წყვეტების შეზღუდვა"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"„არ შემაწუხოთ“ რეჟიმის ჩართვა"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"გამონაკლისები"</string>
@@ -3273,7 +3329,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"ვიზუალური სიგნალების დაბლოკვა"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"ვიზუალური სიგნალების დაშვება"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"როცა ჩართულია „არ შემაწუხოთ“ რეჟიმი"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"ხმის გამომცემი წყვეტების დაშვება"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"შეტყობინებების შეზღუდვა"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"შეტყობინებები ხმის გარეშე"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"შეტყობინებები გამოჩნდება ეკრანზე"</string>
@@ -3304,7 +3360,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"ხმა და ვიბრაცია"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"ხმა, ვიბრაცია და შეტყობინებათა ზოგიერთი ვიზუალური ნიშანი"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"ხმა, ვიბრაცია და შეტყობინებათა ვიზუალური ნიშნები"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"ტელეფონის ძირითადი აქტივობებისთვის საჭირო შეტყობინებები და სტატუსი არასდროს არ იქნება დამალული"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"ტელეფონის ძირითადი აქტივობებისთვის საჭირო შეტყობინებები და სტატუსი არასდროს არ იქნება დამალული."</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"არცერთი"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"სხვა პარამეტრები"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"დამატება"</string>
@@ -3334,10 +3390,12 @@
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> განრიგი შეიძლება ავტომატურად ჩაირთოს</item>
       <item quantity="one">1 განრიგი შეიძლება ავტომატურად ჩაირთოს</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"დადუმდეს მოწყობილობა, თუმცა დაიშვას გამონაკლისები"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"გამონაკლისები"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"განრიგი"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"ყველა გამონაკლისის ნახვა"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"გამონაკლისები, როცა ჩართულია „არ შემაწუხოთ“ რეჟიმი"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"ხალხი"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"აპები"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"მაღვიძარები და სხვა წყვეტები"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"განრიგები"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"დადუმებული შეტყობინებები"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"როცა ჩართულია რეჟიმი „არ შემაწუხოთ“, დადუმდება ყველა ხმოვანი და ვიბროსიგნალი იმ ერთეულების გარდა, რომლებსაც ზემოთ დაუშვებთ."</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"დადუმდეს ყველაფერი შემდეგის გარდა"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"დადუმებული"</string>
@@ -3381,16 +3439,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"ადაპტაციური შეტყობინებები"</string>
     <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_capabilities_actions_replies_title" msgid="4392470465646394289">"შემოთავაზებული მოქმედებები და პასუხები"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"შემოთავაზებული მოქმედებების და პასუხების ავტომატურად ჩვენება"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"წარსულ შეტყობინებებსა და ჩაჩუმებულ შეტყობინებზე თვალის სადევნებლად ჩართეთ შეტყობინებების ისტორია"</string>
+    <string name="notification_history" msgid="8663811361243456201">"შეტყობინებების ისტორია"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"ისტორის ჩართვა"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"ისტორიის გამორთვა"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"შეტყობინებების ისტორია გამორთულია"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"შეტყობინების პარამეტრების ნახვა"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"შეტყობინებების ჩაჩუმების დაშვება"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"მსუბუქი შეტყობინებების ხატულების დამალვა"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"მსუბუქი შეტყობინებების ხატულები სტატუსის ზოლში არ გამოჩნდება"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"შეტყობინების ნიშნულების დაშვება"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"ბოლოდროინდელი მიმოწერების ზოლის ჩვენება"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"ბუშტები"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"ზოგიერთი შეტყობინება შეიძლება ეკრანზე ბუშტების სახით გამოჩნდეს"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"ზოგიერთი შეტყობინება და სხვა კონტენტი შეიძლება ეკრანზე ბუშტების სახით გამოჩნდეს. ბუშტის გასახსნელად შეეხეთ მას. მის დასახურად, ჩაავლეთ და გადაიტანეთ ის ეკრანის ქვედა ნაწილში."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"ბუშტები"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"ახალი შეტყობინებები ეკრანზე გამოჩნდება"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"დართეთ ნება <xliff:g id="APP_NAME">%1$s</xliff:g>-ს, აჩვენოს ზოგიერთი შეტყობინება ბუშტების სახით"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"ბუშტების ჩართვა"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"ამ აპში ბუშტების ჩასართავად, ისინი ჯერ თქვენს მოწყობილობაზე უნდა ჩართოთ. ეს იმოქმედებს სხვა აპებზე, რომლებშიც ბუშტები აქამდე გქონდათ ჩართული."</string>
@@ -3408,6 +3476,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"გამოჩნდება ჩამოსაწევ ფარდაში და ჩაკეტილ ეკრანზე"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"გამოჩნდება ჩამოსაწევ ფარდაში და სტატუსის ზოლში"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"გამოჩნდება ჩამოსაწევ ფარდაში, სტატუსის ზოლში და ჩაკეტილ ეკრანზე"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"ჩუმი შეტყობინებების დამალვა სტატუსის ზოლში"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"სინათლის ციმციმი"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"ჩაკეტილი ეკრანი"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"ჩაკეტილი ეკრანის გამოტოვება"</string>
@@ -3438,6 +3507,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"ქცევა"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"ხმის გამოყენების დაშვება"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"შეტყობინებების ჩვენების აღკვეთა"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"მიმოწერები"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"მიმოწერა"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"არ არის მიმოწერა"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"მიმოწერების სექციიდან ამოშლა"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"ეს არის მიმოწერა"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"მიმოწერის სექციაში დამატება"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"მიმოწერების მართვა"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"მნიშვნელოვანი მიმოწერები"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"ყველა მიმოწერა"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"მნიშვნელოვანი მიმოწერების ბუშტებად ჩვენება"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"მნიშვნელოვანი მიმოწერები გამოჩნდება ჩამოსაშლელი ფარდის ზედა ნაწილში. ასევე, მათი დაყენება შეგიძლიათ ისე, რომ გამოჩნდნენ ბუშტებად და შეწყვიტონ „არ შემაწუხოთ“ რეჟიმი."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"ჩუმად ჩვენება და ჩაკეცვა"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"უხმოდ ჩვენება"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"ხმის გამოცემა"</string>
@@ -3456,7 +3536,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"გეხმარებათ ფოკუსირებაში ხმის ან ვიბრაციის უქონლობის გამო"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"იპყრობს თქვენს ყურადღებას ხმით ან ვიბრაციით"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"როცა მოწყობილობა განბლოკილია, შეტყობინებები გამოჩნდეს ეკრანის ზედა ნაწილზე გადაჭიმული ბანერის სახით"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"შეტყობინებების ჩვენება"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"ყველა <xliff:g id="APP_NAME">%1$s</xliff:g> შეტყობინება"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"ადაპტაციური შეტყობინებები"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="other">~<xliff:g id="NUMBER_1">%d</xliff:g> შეტყობინება დღეში</item>
@@ -3477,6 +3557,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"ადაპტაციური შეტყობინებები"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"არცერთი"</string>
     <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="3119843404577399036">"<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>
@@ -3538,8 +3619,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"დასრულება"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"მნიშვნელობა"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"სინათლის ციმციმი"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"ვიბრაცია"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"ვიბრაცია"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"ხმა"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"მნიშვნელოვანი"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"დამატება მთავარზე"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"წაშლა"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"გადარქმევა"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"განრიგის სახელი"</string>
@@ -3593,6 +3676,10 @@
       <item quantity="other"><xliff:g id="NUM_PEOPLE">%d</xliff:g> სხვა</item>
       <item quantity="one">1 სხვა</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"მიმოწერები"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"ყველა მიმოწერიდან"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"მნიშვნელოვანი მიმოწერებიდან"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"ყველა მიმოწერა აიკრძალოს"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"შეტყობინებების დაშვება"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"იმაში დასარწმუნებლად, რომ დაშვებული შეტყობინებები გამოსცემს ხმას, შეამოწმეთ, რა არის დაყენებული თქვენი მოწყობილობისთვის — ზარი, ვიბრაცია თუ ჩუმი რეჟიმი."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"„<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>“-ის ფარგლებში შემომავალი შეტყობინებები დაბლოკილია. სურვილისამებრ, შეგიძლიათ შეცვალოთ პარამეტრები და მისცეთ თქვენთან დაკავშირების საშუალება მეგობრებს, ოჯახის წევრებს და სხვა კონტაქტებს."</string>
@@ -3606,15 +3693,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"არავისგან"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"ყველა ზარის აკრძალვა"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"ყველა შეტყობინების აკრძალვა"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"მაღვიძარების დაშვება"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"მაღვიძარები"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"ტაიმერებიდან, მაღვიძარებიდან, უსაფრთხოების სისტემებიდან და სხვა აპებიდან"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"გაფრთხილებები"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"მედიის ხმის დაკვრა"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"მედიის ხმები"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"ვიდეოებიდან, თამაშებიდან და სხვა მედიებიდან"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"მედია"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"შეხების ხმების დაშვება"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"შეხების ხმები"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"თქვენი კლავიატურიდან და სხვა ღილაკებიდან"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"შეხების ხმები"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"შეხსენებების დაშვება"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"შეხსენებები"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"ამოცანებიდან და შეხსენებებიდან"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"შეხსენებები"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"მოვლენების დაშვება"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"ღონისძიებები"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"კალენდრის მოახლოებული ღონისძიებებიდან"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"აპებისთვის უგულებელყოფის დაშვება"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"აპების გამონაკლისები"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3657,6 +3749,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"„არ შემაწუხოთ“ რეჟიმის მეშვეობით დადუმებული შეტყობინებების მიერ ეკრანის ჩართვის დაშვება"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"შეტყობინების პარამეტრები"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"კარგი"</string>
+    <string name="suggestion_button_close" msgid="6865170855573283759">"დახურვა"</string>
     <string name="device_feedback" msgid="5351614458411688608">"გამოხმაურება ამ მოწყობილობის შესახებ"</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"შეიყვანეთ ადმინისტრატორის PIN-კოდი"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"ჩართული"</string>
@@ -3667,6 +3760,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"ჩამაგ. მოხსნამდე PIN-ის მოთხოვნა"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"ფიქსაციის მოხსნამდე პაროლის მოთხოვნა"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"ჩამაგრების მოხსნიდან მოწყობილობის ჩაკეტვა"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"დაადასტურეთ SIM-ის წაშლა"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"ჩამოტვირთული SIM-ის ამოშლამდე დაადასტურეთ, რომ თქვენ ხართ"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"ამ სამუშაო პროფილს მართავს:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"მმართველი: <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(ექსპერიმენტული)"</string>
@@ -3741,8 +3836,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"ყველა აპი"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"დაინსტალირებული აპები"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"მყისიერი აპები"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"პირადი"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"სამუშაო"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"აპები: ყველა"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"გამორთული"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"კატეგორიები: გადაუდებელი"</string>
@@ -3754,6 +3847,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"უცნობი აპი"</string>
     <string name="app_permissions" msgid="8666537659217653626">"ნებართვების მმართველი"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"აპები, რომელთა მიერაც გამოიყენება <xliff:g id="APPS">%1$s</xliff:g>"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"აპები, რომლებიც იყენებს <xliff:g id="APPS">%1$s</xliff:g>-ს და სხვა"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"შეეხეთ გამოსაღვიძებლად"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"ორმაგად შეეხეთ ეკრანის ნებისმიერ ადგილას მოწყობილობის გამოსაღვიძებლად"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"ბმულების გახსნა"</string>
@@ -3765,9 +3859,14 @@
       <item quantity="other">მხარდაჭერილ ბმულებს <xliff:g id="COUNT">%d</xliff:g> აპი ხსნის</item>
       <item quantity="one">მხარდაჭერილ ბმულებს ერთი აპი ხსნის</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"გახსენი ამ აპში"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"მიანიჭეთ აპს მხარდაჭერილი ბმულების გახსნის ნებართვა"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"შეკითხვა ყოველ ჯერზე"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"არ გახსნა ამ აპში"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"არ მიანიჭოთ აპს ბმულების გახსნის ნებართვა"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="other">აპი ითხოვს <xliff:g id="COUNT_1">%d</xliff:g> ბმულის დამუშავების ნებართვას</item>
+      <item quantity="one">აპი ითხოვს <xliff:g id="COUNT_0">%d</xliff:g> ბმულის დამუშავების ნებართვას</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"აპი ითხოვს შემდეგი ბმულების დამუშავების ნებართვას:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"ნაგულისხმევი"</string>
     <string name="default_for_work" msgid="537558180548617528">"სამსახურის ნაგულისხმევი"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"დახმარება &amp; ხმოვანი შეყვანა"</string>
@@ -3911,8 +4010,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"სხვა აპების ზემოდან გამოჩენა"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"სხვა აპების ზემოდან გამოჩენის დაშვება"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"ეს საშუალებას მისცემს აპს, გამოჩნდეს სხვა აპების ზემოდან. ამან შეიძლება გავლენა იქონიოს სხვა აპებით სარგებლობის პროცესზე, ან შეცვალოს მათი იერსახე თუ ქცევა."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"წვდომა ყველა ფაილზე"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"წვდომის დაშვება ყველა ფაილის სამართავად"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"აპს აძლევს უფლებას, წაიკითხოს, შეცვალოს და წაშალოს ყველა ფაილი ამ მოწყობილობაზე და ნებისმიერ დაკავშირებულ მეხსიერებაზე. ამ უფლების მინიჭების შემთხვევაში, აპს შეიძლება ფაილებზე წვდომა ჰქონდეს ისე, რომ ამის შესახებ არ იცოდეთ."</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"შეუძლია ჰქონდეს წვდომა ყველა ფაილზე"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"vr ვირტუალური რეალობა მსმენელი სტერეო დამხმარე სერვისი"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"სისტემა გაფრთხილება ფანჯარა დიალოგი ჩვენება ზემოდან სხვა აპები"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"სხვა აპების ზემოდან გამოჩენა"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"სხვა აპების ზემოდან გამოჩენა <xliff:g id="COUNT_1">%2$d</xliff:g>-დან <xliff:g id="COUNT_0">%1$d</xliff:g> აპს შეუძლია"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"ნებართვის მქონე აპები"</string>
@@ -4078,6 +4180,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"გამოყენებულია <xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g>"</string>
     <string name="data_overusage" msgid="3680477320458707259">"<xliff:g id="ID_1">^1</xliff:g>-ზე მეტი"</string>
     <string name="data_remaining" msgid="6316251496381922837">"დარჩენილია <xliff:g id="ID_1">^1</xliff:g>"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"დიაგრამა, რომელიც აჩვენებს მონაცემთა მოხმარებას პერიოდში <xliff:g id="START_DATE">%1$s</xliff:g> და <xliff:g id="END_DATE">%2$s</xliff:g>."</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"თარიღების ამ დიაპაზონში მონაცემები არ არის"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="other">დარჩენილია %d დღე</item>
       <item quantity="one">დარჩენილია %d დღე</item>
@@ -4141,14 +4245,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"პაკეტის ზომა"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"შეტყობინებულია"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"ხმა"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"ვიბრაცია"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"ნიმუში"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"ნაგულისხმევი"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"არხი"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"არაფერი"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"აკლია კლასიფიკაციის ობიექტი."</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"კლასიფიკაციის ობიექტი ამ გასაღებს არ შეიცავს."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"თემები"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"მოწყობილობის ნაგულისხმევი"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"ეკრანის ამოჭრა"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"ეკრანის ამოჭრა, ჭრილი"</string>
@@ -4237,8 +4337,12 @@
     <string name="information_label" msgid="6939310810756569298">"ინფორმაცია"</string>
     <string name="low_label" msgid="6525629096999711220">"დაბალი"</string>
     <string name="high_label" msgid="357503396626018487">"მაღალი"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"უფრო მაღალმა მგრძნობიარობამ შეიძლება კონფლიქტი შექმნას რომელიმე აპის ჟესტებთან ეკრანის კიდეების გასწვრივ."</string>
+    <string name="left_edge" msgid="1513576842959071849">"მარცხენა კიდე"</string>
+    <string name="right_edge" msgid="1505309103265829121">"მარჯვენა კიდე"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"უფრო მაღალმა მგრძნობიარობამ შეიძლება კონფლიქტი შექმნას აპის რომელიმე ჟესტთან ეკრანის კიდეების გასწვრივ."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"უკან გადასვლის მგრძნობიარობა"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"ჟესტების პარამეტრები"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"ჟესტებით ნავიგაცია, უკან გადასვლის მგრძნობიარობა, უკან გადასვლის ჟესტი"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"ტელეფონის შესამოწმებლად, შეეხეთ ორმაგად"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"ტაბლეტის შესამოწმებლად, შეეხეთ ორმაგად"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"მოწყობილობის შესამოწმებლად, შეეხეთ ორმაგად"</string>
@@ -4393,7 +4497,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"ოპერატორის უზრუნველყოფის გაშვება"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"„არ შემაწუხოთ“ რეჟიმის განახლება"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"შეტყობინებების დაპაუზება კონცენტრირების შესანარჩუნებლად"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"ამ მოწყობილობაზე ეს ფუნქცია მიუწვდომელია"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"ფუნქცია მიუწვდომელია"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"ეს ფუნქცია გამოირთო, რადგან ის ტელეფონს ანელებს"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"სრული GNSS გაზომვის განხორციელების იძულება"</string>
@@ -4403,20 +4506,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"აირჩიეთ ANGLE-ის მხარდაჭერის მქონე აპი"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"ANGLE-ის მხარდაჭერის მქონე აპლიკაცია არ არის მითითებული"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"ANGLE-ის მხარდაჭერის მქონე აპლიკაცია: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"თამაშის დრაივერის პარამეტრები"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"თამაშის დრაივერის პარამეტრების შეცვლა"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"თამაშის დრაივერის ჩართვის შემთხვევაში, მოწყობილობაზე დაინსტალირებული აპებისთვის შესაძლებელი იქნება განახლებული გრაფიკული დრაივერის არჩევა."</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"ჩართვა ყველა აპისთვის"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"აირჩიეთ გრაფიკული დრაივერი"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"ნაგულისხმევი"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"თამაშის დრაივერი"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"დრაივერი გამოქვეყნებამდე"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"სისტემის გრაფიკული დრაივერი"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"გრაფიკული დრაივერის პარამეტრები"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"გრაფიკული დრაივერის პარამეტრების შეცვლა"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"რამდენიმე გრაფიკული დრაივერის არსებობის შემთხვევაში, მოწყობილობაზე დაინსტალირებული აპებისთვის შესაძლებელი იქნება განახლებული გრაფიკული დრაივერის არჩევა."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"ჩართვა ყველა აპისთვის"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"აირჩიეთ გრაფიკული დრაივერი"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"ნაგულისხმევი"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"თამაშის დრაივერი"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"დეველოპერების დრაივერი"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"სისტემის გრაფიკული დრაივერი"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"აპის თავსებადობის ცვლილებები"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"აპის თავსებადობის ცვლილებების გადართვა"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"ნაგულისხმევი ჩართული ცვლილებები"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"ნაგულისხმევი გათიშული ცვლილებები"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"ეს პარამეტრი ამ ტელეფონზე მხარდაუჭერელია"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"ეს პარამეტრი ამ ტაბლეტზე მხარდაუჭერელია"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"ეს პარამეტრი ამ მოწყობილობაზე მხარდაუჭერელია"</string>
@@ -4435,6 +4544,12 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"მოწყობილობა"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"ზარების განხორციელებისას მიუწვდომელია"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"მიუწვდომელია"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"მედია-გამოსავლების დამატება"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"ჯგუფი"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"არჩეულია 1 მოწყობილობა"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"არჩეულია <xliff:g id="COUNT">%1$d</xliff:g> მოწყობილობა"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"ზარის აღება მოწყობილობაზე:"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"ამ APN-ის შეცვლა ვერ მოხერხდება."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"გააუმჯობესეთ ტაბლეტის ბატარეის მუშაობის ხანგრძლივობა"</string>
@@ -4552,10 +4667,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"ყოველ ჯერზე მხოლოდ ერთი ჩამოტვირთული SIM ბარათი შეიძლება იყოს აქტიური.\n\n<xliff:g id="CARRIER1">%1$s</xliff:g>-ზე გადართვა <xliff:g id="CARRIER2">%2$s</xliff:g>-ის სერვისს არ გააუქმებს."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"<xliff:g id="CARRIER">%1$s</xliff:g>-ზე გადართვა"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"SIM ბარათის ამოშლა"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"ამოიშალოს ეს ჩამოტვირთული SIM ბარათი?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"ამ SIM ბარათის ამოშლა მოწყობილობიდან <xliff:g id="CARRIER_0">%1$s</xliff:g>-ის სერვისს ამოიღებს.\n\n<xliff:g id="CARRIER_1">%2$s</xliff:g>-ის სერვისი არ გაუქმდება."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"ამოშლა"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"მიმდინარეობს SIM ბარათის ამოშლა…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"SIM ბარათი ვერ იშლება"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"ეს SIM ბარათი ვერ იშლება შეცდომის გამო.\n\nგადატვირთეთ მოწყობილობა და ხელახლა ცადეთ."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"ქსელის სასურველი ტიპი"</string>
@@ -4580,7 +4691,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"ქსელის რეჟიმი (<xliff:g id="NETWORKMODEID">%1$d</xliff:g>) არასწორია. იგნორირება."</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"წვდომის წერტილების სახელები"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"მიუწვდომელია, როცა დაკავშირებულია <xliff:g id="CARRIER">%1$s</xliff:g>-თან"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"სამედიცინო ინფორმაცია, საგანგებო ვითარებისას საკონტაქტო პირები"</string>
     <string name="see_more" msgid="7499355691042812723">"მეტის ნახვა"</string>
     <string name="see_less" msgid="2642392725363552793">"ნაკლების ნახვა"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"<xliff:g id="APPNAME">%1$s</xliff:g>-თან გამოსაყენებელი მოწყობილობა"</string>
@@ -4589,11 +4699,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"წარმოიქმნა შეფერხება. აპლიკაციამ გააუქმა მოწყობილობის არჩევის მოთხოვნა."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"წარმატებით დაკავშირდა"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"ყველას ჩვენება"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="other">დაკავშირებულია <xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> მოწყობილობა</item>
-      <item quantity="one">დაკავშირებულია <xliff:g id="NUMBER_DEVICE_COUNT_0">%1$d</xliff:g> მოწყობილობა</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"Bluetooth-მოწყობილობები არ არის"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"მიმდინარეობს მოწყობილობის ძიება…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"უკავშირდება მოწყობილობას…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"მარცხენა"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"მარჯვენა"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"ფუტლარი"</string>
@@ -4603,6 +4710,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"თვითმფრინავის რეჟიმში მიუწვდომელია"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"დესკტოპის რეჟიმის იძულებით გააქტიურება"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"დესკტოპის ექსპერიმენტული რეჟიმის იძულებით გააქტიურება მეორეულ ეკრანებზე"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"თავისუფალი ფორმის უცვლელი ზომის ჩართვა"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"უცვლელი ზომის აპებს თავისუფალ ფორმაში ყოფნის საშუალებას აძლევს"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"გამუქების იძულების უგულებელყოფა"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"უგულებელყოფს გამუქების ყოველთვის იძულების ფუნქციას"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"კონფიდენციალურობა"</string>
@@ -4639,6 +4748,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"თქვენ ახლახან დააინსტალირეთ ეს აპი."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"გამომავალი სიგნალის გადართვა"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"ამჟამად იკვრება <xliff:g id="DEVICE_NAME">%1$s</xliff:g>-ზე"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (კავშირი გაწყვეტილია)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"ვერ გადაირთო. შეეხეთ ხელახლა საცდელად."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"მნიშვნელოვანი ინფორმაცია"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"გაგრძელება"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"არა, გმადლობთ"</string>
@@ -4666,8 +4777,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"SIM-ბარათების კომბინაცია"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"ინფორმაცია თქვენი სამსახურის პოლიტიკის შესახებ"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"პარამეტრებს მართავს თქვენი IT ადმინისტრატორი"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"სისტემის ხარვეზის ანგარიშის დამმუშავებელი"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"განსაზღვრავს, რომელი აპი მართავს სისტემის ხარვეზის ანგარიშის მალსახმობს თქვენს მოწყობილობაზე."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"პირადი"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"სამსახური"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"სისტემის ნაგულისხმევი"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"თქვენი არჩევანი აღარ მოქმედებს. ცადეთ ხელახლა."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"ტრანსლირების შეწყვეტა"</string>
 </resources>
diff --git a/res/values-kk/arrays.xml b/res/values-kk/arrays.xml
index e8c9bac..4b4c7bb 100644
--- a/res/values-kk/arrays.xml
+++ b/res/values-kk/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"Бірден"</item>
     <item msgid="463591454172790676">"5 секунд"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"Тексермеу"</item>
+    <item msgid="5703177653586269306">"Сертификат күйін сұрау"</item>
+    <item msgid="326388247868439528">"Сертификат күйін талап ету"</item>
+    <item msgid="1090956283885790552">"Барлық сенімсіз сертификат күйлерін талап ету"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"Итеру түймесі"</item>
     <item msgid="2630618799033509548">"Басқа құрылғының PIN коды"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"Ешқандай"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"IPSec ВЖЖ, пернелері ортақ және Xauth растамасы бар"</item>
     <item msgid="2484564813864139237">"IPSec ВЖЖ, сертификаттары және Xauth растамасы бар"</item>
     <item msgid="68918911194507915">"IPSec ВЖЖ, сертификаттары және гибридті растамасы бар"</item>
+    <item msgid="4631647675167100375">"Сертификаттары және пайдаланушы аты/құпия сөз аутентификациясы бар IKEv2/IPSec протоколы бойынша VPN байланысы"</item>
+    <item msgid="8812228622975052811">"Ортақ кілттері бар IKEv2/IPSec протоколы бойынша VPN байланысы"</item>
+    <item msgid="6630554779981113046">"Сертификаттары бар IKEv2/IPSec протоколы бойынша VPN байланысы"</item>
   </string-array>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"Жоқ"</item>
diff --git a/res/values-kk/config.xml b/res/values-kk/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-kk/config.xml
+++ b/res/values-kk/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-kk/strings.xml b/res/values-kk/strings.xml
index 9570645..8c85ded 100644
--- a/res/values-kk/strings.xml
+++ b/res/values-kk/strings.xml
@@ -31,49 +31,17 @@
     <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="radio_info_data_connection_enable" msgid="7500945447906187613">"Деректер байланысын қосу"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"Деректер байланысын өшіру"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"VoLTE қамтамасыз ету"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"Бейне қоңырау шалу қарастырылған"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"Wi-Fi арқылы қоңырау шалу қарастырылған"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"EAB/Presence қосулы"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"CBRS деректері"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"DSDS іске қосу"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"Құрылғы қайта қосылсын ба?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"Бұл параметрді өзгерту үшін құрылғыны қайта қосу қажет."</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"Қайта қосу"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"Бас тарту"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"Радиосигнал күші"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"SIM мекенжай кітапшасын қарау"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"Бекітілген теру нөмірлерін қарау"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"Қызметтік теру нөмірлерін қарау"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"IMS қызметінің күйі"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"IMS қызметі"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"Тіркелген"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"Тіркелмеген"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"Қолжетімді"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"Қолжетімді емес"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"IMS-тіркеу: <xliff:g id="STATUS">%1$s</xliff:g>\nLTE арқылы дауыс жіберу: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nWiFi арқылы дауыс жіберу: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nБейнеқоңырау: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT интерфейсі: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"Істеп тұр"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Істен шыққан"</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>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"Бос"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"Шырылдауда"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"Қоңырау шалынуда"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"Ажыратылған"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"Қосылуда"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"Жалғанған"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Тоқтатылған"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Белгісіз"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"жинақ"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"байт"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"Дб"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"сигнал"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"Аймақ анықтағышы"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID құралы"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"USB жадын шығару"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"SD картасын шығару"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"USB жадын өшіру"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"Экрандағы мәтінді кішірейтеді немесе үлкейтеді."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Кішірек ету"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Үлкенірек ету"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"Мәтін үлгісі"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"Оз қаласының ғажап сиқыршысы"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"11-тарау: Ғажайып жасыл қала Оз"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"Бұл параметрді өзгерту үшін құрылғыны қайта қосу қажет."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"Қайта қосу"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"Бас тарту"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"Қолжетімді медиа құрылғылары"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"Қолжетімді қоңырау шалу құрылғылары"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"Қазір жалғанып тұрғандар"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"Сақтау құрылғылары"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"Қоңырау шалуға болатын құрылғылар"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"Басқа құрылғылар"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Сақталған құрылғылар"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth жұптау үшін қосылады"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Байланыс параметрлері"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"Сіз терген порт жарамсыз."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"HTTP прокси-серверін браузер пайдаланады, бірақ басқа қолданбалар пайдалана алмайды."</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"PAC URL мекенжайы: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"Ағымдағы SUBID:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"Әдепкі деректер SIM картасының SUBID идентификаторы:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"DL өткізу мүмкіндігі (кбит/сек):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"UL өткізу мүмкіндігі (кбит/сек):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"Ұялы желінің орналасқан жері туралы ақпарат (қолдауы тоқтатылды):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"LTE физикалық арна конфигурациясы:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"Ұялы желі туралы ақпаратты жаңарту жиілігі:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"Барлық ұялы желі өлшемдері туралы ақпарат:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"Деректер қызметі:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"Роуминг:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI (Халықаралық мобильдік құрылғы анықтағышы):"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"Қоңырауды басқа нөмірге бағыттау:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"Қосылғаннан бергі PPP протоколын қайта реттеу саны:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"Ағымдағы желі:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"Қабылданған деректер:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"Дауыс қызметі:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"Сигнал күші:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"Дауыстық қоңырау күйі:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"Жіберілген деректер:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"Хабар күтуде:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"Телефон нөмірі:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"Радио жолағын таңдау"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"Дауыс желісінің түрі:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"Деректер желісінің түрі:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"Телефон индексін таңдау"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"Қалаулы желі түрін реттеу:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"Пингке арналған хост атауы (www.google.com) IPv4:"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"Пингке арналған хост атауы (www.google.com) IPv6:"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"HTTP клиент тесті:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"Экран тестін қосу"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMS орталығы:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"Жаңарту"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"Жаңалау"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"DNS тексерісін қосу/өшіру"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"Өндірушіге қатысты ақпарат/параметрлер"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"Радио жолақ режимін орнату"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"Жолақ тізімі жүктелуде…"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"Орнату"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"Сәтсіз"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"Сәтті"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"Өзгерістер USB кабелі қайта жалғанғанда орындалады."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"USB көпшілік жадын қосу"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"Барлық байттар:"</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"Төменге жылжыту"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"Тілді жою"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"Әрекет таңдау"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"Құрылғы ақпараты"</string>
     <string name="display_label" msgid="3056320781191343221">"Экран"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"Планшет ақпараты"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"Телефон ақпараты"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"USB жады"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"SD картасы"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"Прокси параметрлері"</string>
@@ -306,9 +234,6 @@
     <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, ұшақ режимі, ұялы желілер және ВЖЖ басқару"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"Мобильдік деректер"</string>
-    <string name="calls_title" msgid="6334813967619899114">"Қоңырауға рұқсат ету"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"SMS хабарлары"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"Мобильдік желі арқылы деректерді пайдалануға рұқсат ету"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"Роумингте деректерді пайдалануға рұқсат ету"</string>
     <string name="roaming" msgid="3055365654530847985">"Роуминг"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"Роуминг кезінде дерек тасымалдау қызметтеріне қосылу"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"Дерекқор байланысын жоғалттыңыз, себебі үй желісінің дерекқор роуминг қызметін өшірулі күйінде қалдырғансыз."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"Оны қосыңыз"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"Қомақты ақы алынуы мүмкін."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"Дерекқор роумингіне рұқсат берілгенде сізден біршама роуминг төлемі талап етілуі мүмкін!\n\nБұл параметр осы планшеттегі барлық пайдаланушыларға әсер етеді."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"Дерекқор роумингіне рұқсат берілгенде сізден біршама роуминг төлемі талап етілуі мүмкін!\n\nБұл параметр осы телефондағы барлық пайдаланушыларға әсер етеді."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"Роуминг ақылары алынуы мүмкін."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"Деректер роумингіне рұқсат етілгенде, ақы алынуы мүмкін.\n\nБұл параметр планшеттегі барлық пайдаланушыларға қолданылады."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"Деректер роумингіне рұқсат етілгенде, ақы алынуы мүмкін.\n\nБұл параметр телефондағы барлық пайдаланушыларға қолданылады."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"Дерекқор роумингіне рұқсат берілсін бе?"</string>
     <string name="networks" msgid="5184501333492775095">"Oператор таңдауы"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"Желі операторын таңдау"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"Әкімші өшірген"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"Құлыптау опциясын көрсету"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"Smart Lock функциясын, биометрикалық құлыпты ашу функциясын және құлыптаулы экрандағы хабарландыруларды өшіретін қуат түймесі опциясын көрсету"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"Тек сенімді агент құлыпты ашық ұстайды"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"Режим қосулы болса, сенімді агенттер құрылғыңыздың құлпын ұзақ уақыт ашық ұстайды, бірақ құлыпталған құрылғының құлпын аша алмайды."</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"Сенім жоғалған кезде, экранды құлыптау"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"Егер қосулы болса және соңғы агент сенімді жоғалтқан жағдайда, құрылғы құлыпталады."</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"Ешқандай"</string>
@@ -390,7 +313,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"Менің аймағым, экран бекіту, SIM картасын құлыптау, растау дерекқорын бекітуді орнату"</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"Менің аймағым, экран бекітпесі, растау деректері жадының бекітпесін реттеу"</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"Құпиялылық"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"Әкімші өшірген"</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">"Экранды құлыптау, Face Unlock"</string>
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Экранды құлыптау, саусақ ізі"</string>
@@ -693,7 +616,6 @@
       <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> таңбадан аз болуы керек</item>
       <item quantity="one"><xliff:g id="NUMBER_0">%d</xliff:g> таңбадан аз болуы керек</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"Тек 0-9 арасындағы сандар болуы керек"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"Құрылғы әкімшісі жақында пайдаланылған PIN кодын қолдануға рұқсат бермейді"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"АТ әкімшісі оңай PIN кодтарына тыйым салды. Басқа PIN кодын енгізіп көріңіз."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"Жарамсыз таңба болмауы керек"</string>
@@ -724,6 +646,10 @@
       <item quantity="other">Кемінде <xliff:g id="COUNT">%d</xliff:g> әріптік емес таңба болуы керек</item>
       <item quantity="one">Кемінде 1 әріптік емес таңба болуы керек</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="other">Кемінде <xliff:g id="COUNT">%d</xliff:g> сандық емес таңба болуы керек.</item>
+      <item quantity="one">Кемінде 1 сандық емес таңба болуы керек.</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"Құрылғы әкімшісі жуықтағы құпиясөзді қолдануға рұқсат бермейді"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"Оңай құпия сөздерге АТ әкімшісі тыйым салды. Басқа құпия сөз енгізіп көріңіз."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"Сандардың артатын, кемитін немесе қайталанатын ретіне рұқсат берілмейді"</string>
@@ -837,19 +763,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2,4 ГГц"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 ГГц"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"Кіру"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"Ашық сайт"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"<xliff:g id="REMAINING_TIME">%1$s</xliff:g> қалды"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"Жарамдылық мерзімі: <xliff:g id="EXPIRY_TIME">%1$s</xliff:g>"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"Желіге кіру үшін түртіңіз"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Мб/сек"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Мб/сек"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Мб/сек"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"<xliff:g id="REQUESTER">%s</xliff:g> Wi-Fi желісінің қосылуын сұрайды"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"<xliff:g id="REQUESTER">%s</xliff:g> Wi-Fi желісінің өшірілуін сұрайды"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"Жөнделетін қолданбалардың байт-кодын растау"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"ART растау құралына жөнделетін қолданбалардың байт-кодын растауға рұқсат беру"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"Жаңарту жылдамдығын көрсету"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Ағымдағы дисплейдің жаңару жылдамдығын көрсету"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"Планшет басқа құрылғымен қатынасқанда дерек алмастыруға рұқсат беру"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"Телефонды басқа құрылғыға жақындатқанда, дерек алмасуға рұқсат беру"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"Планшет NFC құрылғысымен қатынасқанда дерек алмастыруға рұқсат беру"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"Телефон NFC құрылғысымен қатынасқанда дерек алмастыруға рұқсат беру"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"NFC желісін қосу"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"NFC арқылы бұл құрылғы басқа маңайдағы құрылғылармен не нысандармен, соның ішінде төлем терминалдарымен, кіру деректерін оқу құралдармен және интеративті жарнамалармен немесе тэгтермен деректер алмасады."</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"Қауіпсіз NFC"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFC үшін құрылғы құлпын ашуды сұрау"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"Экранның құлпы ашық тұрғанда ғана, NFC арқылы төлем жасауға және жолақыны төлеуге рұқсат ету"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"Қолданба мазмұнын NFC арқылы жіберуге әзір"</string>
@@ -923,8 +855,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Қосу"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Wi‑Fi іздеу функциясы қосулы"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Қосымша опциялар"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"\"Қосымша опциялар\" ашылмалы тізімін жию үшін оны екі рет түртіңіз."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"\"Қосымша опциялар\" ашылмалы тізімін жаю үшін оны екі рет түртіңіз."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Қосымша опциялардың ашылмалы тізімі"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"жаю"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"Желі атауы"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"SSID енгізіңіз"</string>
     <string name="wifi_security" msgid="9095934643631406913">"Қауіпсіздік"</string>
@@ -934,6 +866,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"Күйі"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"Хабар тарату жылдамдығы"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"Қабылдау жылдамдығы"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"Сілтеме жылдамдығы"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"Жиілік"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"IP мекенжайы"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"Сақталу жолы"</string>
@@ -941,6 +874,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"EAP (кеңейтілген растау протоколы) әдісі"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"Фаза 2 растауы"</string>
     <string name="wifi_eap_ca_cert" msgid="8033404008276298886">"Растама мекемесінің сертификаты"</string>
+    <string name="wifi_eap_ocsp" msgid="8713933962516871238">"Онлайн сертификат күйі"</string>
     <string name="wifi_eap_domain" msgid="8304301470752333203">"Домен"</string>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"Пайдаланушы сертификаты"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"Бірлік"</string>
@@ -957,6 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"Wi‑Fi хотспоты үшін кемінде бір диапазонды таңдаңыз:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"IP параметрлері"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"Құпиялылық"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"Жазылым"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"Жазылымды көру не өзгерту"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"Еркін таңдалған MAC"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"Құрылғыны қосу"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"Құрылғыны “<xliff:g id="SSID">%1$s</xliff:g>” желісіне қосу үшін төмендегі QR кодын ортасына туралаңыз"</string>
@@ -966,12 +902,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"Wi‑Fi желісін бөлісу"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"\"<xliff:g id="SSID">%1$s</xliff:g>\" желісіне жалғану үшін QR кодын сканерлеңіз және құпия сөзді бөлісіңіз."</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"\"<xliff:g id="SSID">%1$s</xliff:g>\" желісіне жалғану үшін осы QR кодын сканерлеңіз."</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"QR коды оқылмады. Кодты ортаға туралап, әрекетті қайталаңыз."</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"Қайталап көріңіз. Ақау жойылмаса, құрылғы өндірушісіне хабарласыңыз."</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"Бірдеңе дұрыс болмады."</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"Құрылғының жалғанғанын, зарядталғанын және қосылғанын тексеріңіз."</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"Құрылғының жалғанғанын, зарядталғанын және қосылғанын тексеріңіз. Ақау жойылмаса, құрылғы өндірушісіне хабарласыңыз."</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"Құрылғы \"<xliff:g id="SSID">%1$s</xliff:g>\" идентификаторын енгізуді қолдамайды."</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"Құрылғыны Wi‑Fi кіру нүктесіне/маршрутизаторына жақынырақ қойыңыз."</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"Құпия сөзді тексеріп, әрекетті қайталаңыз."</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"Құрылғы өндірушісіне хабарласыңыз."</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"Байланысты тексеріп, әрекетті қайталаңыз."</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"Желіні таңдау"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"Құрылғыны жалғау үшін желіні таңдаңыз"</string>
@@ -984,11 +922,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"Осы құрылғымен Wi‑Fi байланысы бөлісілуде…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"Жалғануда…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"Хотспотты бөлісу"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"Бұл сіз екеніңізді растаңыз"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"Бұл өзіңіз екенін растаңыз"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"Wi-Fi құпия сөзі: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"Хотспот құпия сөзі: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"Aвтоматты жалғау"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"Осы желіге жақын болғанда, телефонға оған қосылуға рұқсат ету"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"Осы желіге жақын болғанда, планшетке оған қосылуға рұқсат ету"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"Құрылғы енгізу"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"Желіге құрылғы енгізу үшін QR кодын пайдаланыңыз."</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"QR кодының форматы жарамсыз."</string>
     <string name="retry" msgid="7542103800274026915">"Қайталау"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"Басқа құрылғы пайдаланушыларымен бөлісу"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(өзгермеген)"</string>
@@ -1000,6 +942,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"Сертификат көрсетілмеген. Байланыс жеке болмайды."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"Желі атауы тым ұзын."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"Доменді көрсету керек."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"Сертификат қажет."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"WPS қол жетімді"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (WPS қол жетімді)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"Оператордың Wi‑Fi желісі"</string>
@@ -1051,7 +994,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"Жетілдірілген Wi‑Fi"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"MAC мекенжайы"</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_ip_address_title" msgid="4265355419782184514">"IP мекенжайы"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"Желі деректері"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Қосалқы желі маскасы"</string>
@@ -1103,7 +1047,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"Басқа құрылғыларға Wi‑Fi желісін жасау үшін хотспотты пайдаланыңыз. Хотспот мобильдік деректер байланысы арқылы интернетке қосады. Қосымша мобильдік деректер ақысы алынуы мүмкін."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"Қолданбалар мазмұнды маңайдағы құрылғылармен бөлісу үшін хоспот жасай алады."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Хотспотты автоматты өшіру"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"Wi‑Fi хотспотына ешқандай құрылғы қосылмаса, ол өшеді"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Ешқандай құрылғы жалғанбаған кезде"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"Хотспот қосылуда…"</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"Хотспот өшірілуде…"</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> қосулы"</string>
@@ -1112,6 +1056,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"Wi‑Fi хотспотын реттеу"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"AndroidAP WPA2 PSK хотспоты"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"Android хот-споты"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"Бұл желі сақталсын ба?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"<xliff:g id="APPNAME">%1$s</xliff:g> бұл желіні телефонға сақтағысы келеді."</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"<xliff:g id="APPNAME">%1$s</xliff:g> бұл желіні планшетке сақтағысы келеді."</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"Сақталуда…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"Сақталды"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"Сақтау мүмкін емес. Қайталап көріңіз."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"Желілер сақталсын ба?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"<xliff:g id="APPNAME">%1$s</xliff:g> бұл желілерді телефонға сақтағысы келеді."</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"<xliff:g id="APPNAME">%1$s</xliff:g> бұл желілерді планшетке сақтағысы келеді."</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"<xliff:g id="NUMBER">%d</xliff:g> желі сақталуда…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"Желілер сақталды."</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"Wi-Fi қоңыраулары"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"Wi‑Fi арқылы қоңыраулар аясын кеңейтіңіз"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"Аумақты кеңейту үшін Wi‑Fi қоңырауларын қосыңыз"</string>
@@ -1138,16 +1093,18 @@
     <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>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"Wi-Fi қоңырауын іске қосу"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"Wi-Fi қоңырауларын қосу"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"Wi‑Fi қоңырауларын %1$s қолдамайды"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"<xliff:g id="SSID">%1$s</xliff:g> желісінен ажыратылды."</string>
     <string name="carrier" msgid="1755020806290963951">"Оператор"</string>
     <string name="display_settings_title" msgid="626835071804834218">"Дисплей"</string>
     <string name="sound_settings" msgid="5514582720435174014">"Дыбыс"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"Дыбыс қаттылығы"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"Mузыка әсерлері"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"Қоңыраудың дыбыс деңгейі"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"Қоңыраулар мен хабарландырулардың дыбыс деңгейі"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"Үнсіз кезінде тербеу"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"Бастапқы хабар дыбысы"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"Қоңырау әуені"</string>
@@ -1272,13 +1229,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"Кесте"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"Ешқайсысы"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"Күн батқаннан таңға дейін қосулы"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"Арнаулы уақытта қосылады"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"Күйі"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"Өшірулі / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"Автоматты қосылмайды"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"Күн батқанда, автоматты түрде қосылады"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"Автоматты түрде қосылады: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"Қосулы / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"Автоматты өшпейді"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"Күн шыққанда, автоматты өшеді"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"Автоматты түрде өшеді: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"<xliff:g id="ID_1">%1$s</xliff:g> дейін қосу"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"<xliff:g id="ID_1">%1$s</xliff:g> дейін өшіру"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"Қараңғы батарея кейбір экрандарда батарея зарядын ұзаққа жеткізу үшін қара фонды пайдаланады. Экран өшпейінше, қараңғы тақырып кестелері қосылмайды."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"Экранның күту уақыты"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"Экран өшеді"</string>
@@ -1290,7 +1252,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"Тұсқағазды өзгерту"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"Экранды жекелендіру"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"Тұсқағазды таңдау"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"Pixel телефонын реттеу"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"Телефонды реттеу"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"Түрлі стильдерді, тұсқағаздарды, т.б. пайдаланып көріңіз."</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"Экранды сақтау режимі"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Зарядтау кезінде немесе қондыру станциясына қойғанда"</string>
@@ -1379,6 +1341,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"USB жадын шығару, қол жетімді жадты көру"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"SD картасын шығарып, қол жетімді жадты көру"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (sim ұясы: %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"Көру үшін сақталған желіні таңдаңыз."</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN (ұялы қалта нөмірі)"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"Телефон нөмірі"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (sim ұясы: %1$d)"</string>
@@ -1405,6 +1368,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"Роуминг"</string>
     <string name="status_operator" msgid="4335640583552058491">"Желі"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"Wi‑Fi MAC мекенжайы"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"Құрылғының Wi‑Fi MAC мекенжайы"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"Bluetooth мекенжайы"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Сериялық нөмірі"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Қосылғаннан бергі жұмыс уақыты"</string>
@@ -1617,6 +1581,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Бастапқы қол жетімділік нүктесі атауының параметрлерін қайта орнату аяқталды."</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"Бастапқы күйге қайтару"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"Желіні, қолданбаны не құрылғыны бастапқы күйіне қайтаруға болады"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"Қолданбаларды бастапқы күйге қайтаруға болады."</string>
     <string name="reset_network_title" msgid="1395494440355807616">"Wi-Fi, мобильдік деректер және Bluetooth параметрлерін бастапқы күйіне қайтару"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"Мұның нәтижесінде барлық желі параметрлері бастапқы күйіне қайтарылады, соның ішінде:\n\n"<li>"Wi‑Fi"</li>\n<li>"мобильдік деректер"</li>\n<li>"Bluetooth"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"Жүктеп алынған SIM карталарын тазарту"</string>
@@ -1666,6 +1631,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"Хотспот қосулы"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"Тетеринг"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"Data Saver функциясы қосулы кезде, тетерингті немесе тасымалы хот-спотты пайдалану мүмкін емес"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"Тек хотспот"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"Тек USB"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"Тек Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"Хотспот, USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"Хотспот, Bluetooth"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB, Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"Хотспот, USB, Bluetooth"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"Интернет басқа құрылғылармен бөлісіліп жатқан жоқ"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"Тетеринг"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Wi‑Fi хотспотын пайдаланбау"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Интернетті тек USB арқылы бөлісу"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Интернетті тек Bluetooth арқылы бөлісу"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Интернетті тек USB және Bluetooth арқылы бөлісу"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB тетеринг"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"Телефонның интернет байланысын USB арқылы бөлісу"</string>
@@ -1756,9 +1734,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"Қауіпсіздік ақпараты"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"Деректер байланысы жоқ. Бұл ақпаратты көру үшін интернетке қосылған кез келген компьютерден %s бөліміне өтіңіз."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"Жүктелуде..."</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"PIN кодын пайдалану"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"Өрнекті пайдалану"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"Құпия сөзді пайдалану"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"Экран құлпын орнату"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"Қауіпсіздік үшін құпия сөз орнатыңыз"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"Саусақ ізін пайдалану үшін құпия сөз орнатыңыз"</string>
@@ -1767,8 +1742,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"Саусақ ізін пайдалану үшін PIN кодын орнатыңыз"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"Қауіпсіздік үшін өрнек орнатыңыз"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"Құпия сөзді қайта енгізіңіз"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"Жұмыс құпия сөзін енгізіңіз"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"Өрнекті растаңыз"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"Жұмыс өрнегін енгізіңіз"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"PIN кодын қайта енгізіңіз"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"Жұмыс PIN кодын енгізіңіз"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"Құпия сөздер сәйкес емес"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"PIN кодтары сәйкес емес"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"Өрнекті қайта салыңыз"</string>
@@ -1779,6 +1757,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"Face Unlock функциясын пайдалану үшін құпия сөз орнатыңыз"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"Face Unlock қолдану үшін өрнек қойыңыз."</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"Face Unlock функциясын пайдалану үшін PIN кодын орнатыңыз"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"Құпия сөзді ұмытып қалдыңыз ба?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"Өрнекті қалдыңыз ба?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"PIN кодын ұмытып қалдыңыз ба?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"Жалғастыру үшін құрылғының құлып өрнегін пайдаланыңыз"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"Жалғастыру үшін құрылғы PIN кодын енгізіңіз"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"Жалғастыру үшін құрылғы құпия сөзін енгізіңіз"</string>
@@ -1846,6 +1827,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"Барлық қолд. көз-не рұқсат ету"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"Жақында ашылған қолданбалар"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"Барлық <xliff:g id="COUNT">%1$d</xliff:g> қолданбаны көру"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"Әкімшіге хабарласыңыз"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"Олар PIN кодын, өрнекті немесе құпия сөзді бастапқы күйге қайтаруға көмектеседі."</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"Планшет және жеке деректер белгісіз қолданбалар шабуылына ұшырауы мүмкін. Бұл қолданбаларды пайдалану нәтижесінде телефонға келетін залалға немесе деректердің жоғалуына өзіңіз ғана жауапты боласыз."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"Телефон және жеке деректер белгісіз қолданбалар шабуылына ұшырауы мүмкін. Бұл қолданбаларды пайдалану нәтижесінде телефонға келетін залалға немесе деректердің жоғалуына өзіңіз ғана жауапты боласыз."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"Құрылғыңыз және жеке деректеріңіз белгісіз қолданбалар шабуылына ұшырауы мүмкін. Осы көзден орнатып алған қолданбаларды пайдалану салдарынан құрылғыға келген залал не дерек жоғалту жағдайларына өзіңіз ғана жауапты боласыз."</string>
@@ -1897,7 +1880,7 @@
     <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="1377296810290814749">"Төмендегі реттеулер бастапқы күйге қайтарылады:\n\n"<li>"Өшірілген қолданбалар"</li>\n<li>"Өшірілген қолданба хабарландырулары"</li>\n<li>"Әрекеттерге арналған әдепкі қолданбалар"</li>\n<li>"Фондық режимдегі дерек тасымалын шектеу"</li>\n<li>"Қандай да бір рұқсат шектеулері"</li>\n\n"Қолданба деректері жоғалмайды."</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>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"Бастапқы күйге қайтару"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"Кеңістікті басқару"</string>
     <string name="filter" msgid="9039576690686251462">"Сүзгі"</string>
@@ -2097,7 +2080,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"Аудиомазмұн және экранға шығатын мәтін"</string>
     <string name="display_category_title" msgid="6638191682294461408">"Дисплей"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"Өзара әрекеттестікті басқару элементтері"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"Жүктеп алынған қызметтер"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"Жүктеп алынған қолданбалар"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"Эксперименттік"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"Функция жалаушалары"</string>
     <string name="talkback_title" msgid="8756080454514251327">"Talkback"</string>
@@ -2105,27 +2088,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"Дауыстап оқылуы үшін экрандағы элементтерді түртіңіз"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"Субтитр параметрлері"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"Ұлғайту"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"Ұлғайту аймағы"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"Ұлғауды іске қосу"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"Экранды ұлғайту кезінде ұлғайтқыңыз келетін аймақтарды таңдаңыз."</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"Толық экран"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"Экранның бөлігі"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"Толық экран және экран бөлігі"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"Толық экранды ұлғайту"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"Экранның бөлігін ұлғайту"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Ұлғайту параметрлері"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"Үш рет түртіп үлкейту"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Таңбашамен үлкейту"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Таңбашамен және үш рет түртіп үлкейту"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"<xliff:g id="SERVICE">%1$s</xliff:g> туралы ақпарат"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"Oпциялар"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"Экранда ұлғайту"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"Масштабтау үшін 3 рет түртіңіз"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Масштабтау үшін түймені түртіңіз"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><b>"Масштабтау үшін"</b>" экранды 3 рет жылдам түртіңіз.\n"<ul><li>"Айналдыру үшін бірнеше саусақты пайдаланыңыз"</li>\n<li>"Масштабты реттеу үшін бірнеше саусақты бір-біріне жақындатыңыз"</li></ul>\n\n<b>"Уақытша масштабтау үшін"</b>" экранды 3 рет жылдам түртіңіз, сосын үшінші түрткен кезде саусақты ұстап тұрыңыз.\n"<ul><li>"Экранда саусақты жылжытыңыз"</li>\n<li>"Кішірейту үшін саусақты көтеріңіз"</li></ul>\n\n"Пернетақтада және шарлау тақтасында ұлғайту мүмкін емес."</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"Үлкейту функциясы қосулы кезде, экраныңыздың масштабын ұлғайта аласыз.\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_screen_magnification_summary" msgid="7617931632990040045">"Экрандағы мазмұнды көру үшін жылдам масштабтауыңызға болады.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Масштабтау:&lt;/b&gt;&lt;br/&gt;	1. Ұлғайтуды бастау үшін таңбашаны пайдаланыңыз.&lt;br/&gt;	2. Экранды түртіңіз.&lt;br/&gt;	3. Экранның басқа бөлігіне өту үшін 2 саусақпен жүргізіңіз.&lt;br/&gt;	4. Масштабтауды түзету үшін 2 саусақты жақындатыңыз.&lt;br/&gt;	5. Ұлғайтуды тоқтату үшін таңбашаны пайдаланыңыз.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Уақытша масштабтау:&lt;/b&gt;&lt;br/&gt;	1. Ұлғайтуды бастау үшін таңбашаны пайдаланыңыз.&lt;br/&gt;	2. Экранның кез келген жерін түртіп, ұстап тұрыңыз.&lt;br/&gt;	3. Экранның басқа бөлігіне өту үшін саусақпен жүргізіңіз.&lt;br/&gt;	4. Ұлғайтуды тоқтату үшін саусағыңызды көтеріңіз."</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Ұлғайту функциясы қосулы тұрғанда, экраныңызды ұлғайта аласыз.\n\n"<b>"Масштабтау үшін"</b>" ұлғайту функциясын іске қосып, экранның кез келген жерін түртіңіз.\n"<ul><li>"Айналдыру үшін екі немесе бірнеше саусақпен сүйреңіз."</li>\n<li>"Масштабтауды реттеу үшін екі немесе бірнеше саусақты жақындатыңыз."</li></ul>\n\n<b>"Уақытша масштабтау үшін"</b>" ұлғайту функциясын іске қосыңыз, содан кейін экранның кез келген жерін түртіп ұстап тұрыңыз.\n"<ul><li>"Жылжыту үшін саусағыңызды экранның бір жерінен екінші жеріне сүйреңіз."</li>\n<li>"Кішірейту үшін саусағыңызды көтеріңіз."</li></ul>\n\n"Пернетақтада және навигация жолағында ұлғайту мүмкін емес."</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Ашу үшін арнайы мүмкіндіктер түймесін қолдану"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Ашу үшін қол қимылын пайдалану"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"Арнайы мүмкіндіктер үшін жаңа қимылды қолдану"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"Бұл қызметті қосу немесе өшіру үшін экранның төменгі жағындағы арнайы мүмкіндіктер түймесін <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> түртіңіз.\n\nБір қызметтен екіншісіне ауысу үшін арнайы мүмкіндіктер түймесін түртіп, оны ұстап тұрыңыз."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"Бұл қызметті қосу немесе өшіру үшін екі саусақпен экранның төменгі жағынан жоғары қарай сипаңыз.\n\nБір қызметтен екіншісіне ауысу үшін екі саусақпен жоғары қарай сипап, ұстап тұрыңыз."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"Бұл қызметті қосу немесе өшіру үшін үш саусақпен экранның төменгі жағынан жоғары қарай сипаңыз.\n\nБір қызметтен екіншісіне ауысу үшін үш саусақпен жоғары қарай сипап, ұстап тұрыңыз."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"Арнайы мүмкіндіктер қызметін қосу немесе өшіру үшін екі саусақпен экранның төменгі жағынан жоғары қарай сипаңыз.\n\nБір қызметтен екіншісіне ауысу үшін екі саусақпен жоғары қарай сипап, ұстап тұрыңыз."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"Арнайы мүмкіндіктер қызметін қосу немесе өшіру үшін үш саусақпен экранның төменгі жағынан жоғары қарай сипаңыз.\n\nБір қызметтен екіншісіне ауысу үшін үш саусақпен жоғары қарай сипап, ұстап тұрыңыз."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"Бұл қызметті қосу немесе өшіру үшін экранның төменгі жағындағы арнайы мүмкіндіктер түймесін <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> түртіңіз.\n\nБір қызметтен екіншісіне ауысу үшін арнайы мүмкіндіктер түймесін түртіп, оны ұстап тұрыңыз."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"Бұл қызметті қосу немесе өшіру үшін екі саусақпен экранның төменгі жағынан жоғары қарай сырғытыңыз.\n\nБір қызметтен екіншісіне ауысу үшін екі саусақпен жоғары қарай сырғытып, ұстап тұрыңыз."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"Бұл қызметті қосу немесе өшіру үшін үш саусақпен экранның төменгі жағынан жоғары қарай сырғытыңыз.\n\nБір қызметтен екіншісіне ауысу үшін үш саусақпен жоғары қарай сырғытып, ұстап тұрыңыз."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"Арнайы мүмкіндіктер қызметін қосу немесе өшіру үшін екі саусақпен экранның төменгі жағынан жоғары қарай сырғытыңыз.\n\nБір қызметтен екіншісіне ауысу үшін екі саусақпен жоғары қарай сырғытып, ұстап тұрыңыз."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"Арнайы мүмкіндіктер қызметін қосу немесе өшіру үшін үш саусақпен экранның төменгі жағынан жоғары қарай сырғытыңыз.\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="2820923641553461297">"\"Арнайы мүмкіндіктер\" түймесі"</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="8922102767509399352">"Экранның төменгі жағындағы \"Арнайы мүмкіндіктер\" <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> түймесін түртіңіз."</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"2 саусақпен экранның төменгі жағынан жоғары қарай сырғытыңыз"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"3 саусақпен экранның төменгі жағынан жоғары қарай сырғытыңыз"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Дыбыс деңгейі пернелерін басып ұстап тұру"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"Екі дыбыс деңгейі пернесін бірдей басып, 1 секунд ұстап тұрыңыз."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Экранды үш рет түрту"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"Экранды жылдам 3 рет түртіңіз. Бұл таңбаша құрылғы жұмысын баяулатуы мүмкін."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"Қосымша"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"\"Арнайы мүмкіндіктер\" <xliff:g id="SERVICE">%1$s</xliff:g> қызметіне орнатылды. Үлкейту функциясын пайдалану үшін \"Арнайы мүмкіндіктер\" түймесін басып тұрып, үлкейтуді таңдаңыз."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"Арнайы мүмкіндіктер қимылы <xliff:g id="SERVICE">%1$s</xliff:g> қызметіне орнатылған. Үлкейту үшін экранның төменгі жағынан жоғары қарай екі саусақпен сырғытып, ұстап тұрыңыз. Одан кейін үлкейтуді таңдаңыз."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"Дыбыс деңгейінің пернелері"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"Қызметті тез қосу"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Таңбаша параметрлері"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"Құлып экранынан рұқсат ету"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"Арнайы мүмкіндіктер функциясын пайдалану үшін төте жол қосулы кезде, дыбыс деңгейін реттейтін екі түймені де 3 секунд басып тұрыңыз."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"Жоғары контрасты мәтін"</string>
@@ -2149,24 +2157,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"Шара қолдануды талап ететін хабарлардың уақытша көрсетілу ұзақтығын таңдаңыз.\n\nБұл параметр барлық қолданбаларда бола бермейді."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"Түртіп ұстап тұрғандағы кідіріс"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"Түстер инверсиясы"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"Жұмыс өнімділігіне әсерін тигізуі мүмкін"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"Күту уақыты"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"Түстер инверсиясын пайдалану"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"Түстер инверсиясы ашық түсті күңгірт түске айналдырады. Осы арқылы ашық түске сезімтал адамдар экранға оңай қарай алады.&lt;br/&gt;&lt;br/&gt;Ескерту: күңгірт түстер ашық түстерге ауысады. Медиафайлдар мен суреттердің түстері де өзгереді. Қараңғы тақырыпты да пайдалануыңызға болады (Параметрлер &gt; Дисплей)."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"Автоматты түрде басу (күту уақыты)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"Тінтуір пайдаланып жатсаңыз, курсор белгілі уақыт бойы жылжымаған кезде оның автоматты түрде әрекет етуін реттеуіңізге болады."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"Басу алдындағы кешігу"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"Автобасуды пайдаланбау (әдепкі)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"Қысқа"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0,2 секунд"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"Орташа"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0,6 секунд"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"Ұзақ"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 секунд"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"Арнаулы"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"Қысқарақ"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"Ұзағырақ"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"Автобасу уақыты"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"Діріл және оның күші"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Хабарландыру дірілі"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Қоңырау дірілі"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Түрту кезіндегі діріл"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"Қызметті пайдалану"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g> қолданбасын пайдалану"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g> ашу"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"Түсті түзету функциясын пайдалану"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"Субтитр пайдалану"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"Жазуларды көрсету"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"Жазудың көрсетілуі"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"Мәтін өлшемі, жазу стилі"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"Басқа опциялар"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"Бұл параметр барлық қолданбаларда бола бермейді."</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"\"Арнайы мүмкіндіктер\" түймесі"</string>
+    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"2 саусағыңызбен төменнен жоғары сырғыту"</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>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"Есту аппараттары"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"Есту аппараты жалғанбаған"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"Есту аппараттарын енгізу"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"Жұптау үшін құрылғыны келесі экраннан тауып басыңыз."</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"Есту аппараттары жұптау режимінде болуы керек."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"Есту аппараттарын жұптау үшін құрылғыңызды келесі экраннан тауып, оны түртіңіз. Есту аппараттары жұптау режимінде болуы керек."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> қосулы"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> есту аппараты сақталды</item>
@@ -2178,25 +2204,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Бұл қызмет жұмыс істемейді."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Жылдам параметрлер арқылы көрсету"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"Түзету режимі"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="other">Өте қысқа іркіліс (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мс)</item>
-      <item quantity="one">Өте қысқа іркіліс (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> мс)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Қызыл – жасыл"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"Жасыл – қызыл"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Көк – сары"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"Дейтераномалия"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"Протаномалия"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"Тританомалия"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="other">Тым қысқа іркіліс (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунд)</item>
+      <item quantity="one">Тым қысқа іркіліс (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> секунд)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="other">Өте қысқа іркіліс (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мс)</item>
-      <item quantity="one">Өте қысқа іркіліс (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> мс)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="other">Өте қысқа іркіліс (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунд)</item>
+      <item quantity="one">Өте қысқа іркіліс (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> секунд)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="other">Қысқа іркіліс (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мс)</item>
-      <item quantity="one">Қысқа іркіліс (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> мс)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="other">Қысқа іркіліс (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунд)</item>
+      <item quantity="one">Қысқа іркіліс (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> секунд)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="other">Ұзақ іркіліс (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мс)</item>
-      <item quantity="one">Ұзақ іркіліс (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> мс)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="other">Ұзақ іркіліс (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунд)</item>
+      <item quantity="one">Ұзақ іркіліс (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> секунд)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="other">Өте ұзақ іркіліс (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мс)</item>
-      <item quantity="one">Өте ұзақ іркіліс (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> мс)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="other">Өте ұзақ іркіліс (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунд)</item>
+      <item quantity="one">Өте ұзақ іркіліс (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> секунд)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунд</item>
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> секунд</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"Қоңырау: <xliff:g id="SUMMARY_RING">%1$s</xliff:g>; хабарландыру: <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>; түрту: <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"Қоңыраулар мен хабарландырулар өшірілді"</string>
@@ -2513,7 +2549,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"<xliff:g id="UNPLUGGED">%1$s</xliff:g> үшін соңғы ажыратылғанда"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"Барлық қолданысы"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"Жаңарту"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"Android операциялық жүйесі"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"Meдиасервері"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"Қолданбаны оңтайландыру"</string>
     <string name="battery_saver" msgid="7737147344510595864">"Battery Saver"</string>
@@ -2594,8 +2629,7 @@
     <string name="tts_play" msgid="2945513377250757221">"Ойнату"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"Тіркелу деректерінің жады"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"Жадтан орнату"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"SD картадан орнату"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"Сертификат орнату"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"Сертификаттарды жадтан орнату"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"Сертификаттарды SD картадан орнату"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"Тіркелу деректерін өшіру"</string>
@@ -2615,6 +2649,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"Растау деректерінің қоры өшірілді."</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"Растау деректерінің жадын өшіру мүмкін болмайды."</string>
     <string name="usage_access_title" msgid="1580006124578134850">"Деректерге рұқсаты бар қолданбалар"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"CA сертификаты"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"VPN және қолданба пайдаланушысы сертификаты"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"Wi‑Fi сертификаты"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"Құпиялығыңызға қауіп төнді"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"Шифрлау үшін веб-сайттар, қолданбалар және VPN желілері CA сертификаттарын пайдаланады. Сенімді ұйымдар ұсынатын CA сертификаттарын ғана пайдаланыңыз. \n\n Егер CA сертификатын орнатсаңыз, сертификат иесі сіз кірген веб-сайттарда және пайдаланған қолданбаларда мәліметтеріңізді (мысалы, құпия сөздер, хабарлар немесе несиелік карта мәліметтері), тіпті олар шифрланған болса да пайдалана алады."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"Орнатпау"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"Бәрібір орнату"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"Сертификат орнатылмады"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"Төтенше жағдайда теру сигналы"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Төтенше қоңырау шалу әрекетін орнату"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Сақтық көшірме"</string>
@@ -2642,10 +2684,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"Өшіру және жою"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"Құрылғы әкімшісі қолданбалары"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"Құрылғы әкімшісі қолданбалары жоқ"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"Жеке"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"Жұмыс"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"SMS және қоңыраулар журналына шектеу қою"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"Қоңырау шалуға және хабар алмасуға арналған әдепкі қолданбалар ғана SMS хабарлары мен қоңыраулар журналына кіре алады"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"Қол жетімді сенімді агенттер жоқ"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"Құрылғы әкімші қолданбасы іске қосылсын ба?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"Осы құрылғы әкімшісі қолданбасын қосу"</string>
@@ -2659,6 +2697,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"Басқа опцияларды әкімші өшірген"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"Қосымша мәліметтер"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"Хабарландырулар журналы"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"Хабарландыру тарихы"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"Бүгін"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"Кідіртілді"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"Жақында өшірілгендер"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> хабарландыру</item>
+      <item quantity="one"><xliff:g id="NUMBER_0">%d</xliff:g> хабарландыру</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"Қоңырау әуені және тербеліс"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"Желі деректері"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"Синх қосылған"</string>
@@ -3008,7 +3054,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"Шектеулер"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"Шектеулерді алу"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"PIN кодты өзгерту"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"Хабарларды көрсету"</string>
     <string name="help_label" msgid="2896538416436125883">"Анықтама және пікір"</string>
     <string name="support_summary" msgid="1034146931237148885">"Анықтама мақалалары, телефон және чат, жұмысты бастау"</string>
     <string name="user_account_title" msgid="6389636876210834864">"Мазмұнға арналған есептік жазба"</string>
@@ -3033,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G қоңыраулары"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Дауыстық және басқа байланыстарды жақсарту үшін LTE қызметтерін пайдалану (ұсынылады)."</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Дауыстық және басқа байланыстарды жақсарту үшін 4G қызметтерін пайдалану (ұсынылады)."</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Контактіні анықтау"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Операторға контактілер қолдау көрсететін қоңырау шалу функцияларын анықтауға мүмкіндік береді."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Контактіні анықтау іске қосылсын ба?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Осы функцияны қоссаңыз, оператор контактілердің қолдау көрсететін қоңырау шалу функцияларын анықтау үшін, олардың телефон нөмірлерін пайдаланады."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Таңдаулы желі түрі"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (ұсынылған)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS хабарлары"</string>
@@ -3077,7 +3126,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"Келесімен қоңырау шалу"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"SIM картасын таңдау"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"SIM <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"SIM бос"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"SIM атауы"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"SIM атауын енгізіңіз"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"%1$d SIM слоты"</string>
@@ -3087,6 +3135,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"SIM картасын таңдау"</string>
     <string name="color_orange" msgid="216547825489739010">"Сарғылт"</string>
     <string name="color_purple" msgid="6603701972079904843">"Қызылкүрең"</string>
+    <string name="color_pink" msgid="8596872110888626708">"Қызғылт"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"SIM карталары салынбаған"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"SIM күйі"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"SIM картасының күйі (sim ұясы: %1$d)"</string>
@@ -3100,7 +3149,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"SIM cards changed."</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Реттеу үшін түртіңіз"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"Келесі үшін таңдаулы SIM"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Әр қоңырау үшін сұрау"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Таңдау қажет"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"SIM картасын таңдау"</string>
@@ -3118,6 +3166,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"Bluetooth, көлік жүргізу режимі"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"Bluetooth, NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"Bluetooth"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"NFC өшірулі болғандықтан, қолжетімді емес."</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"Қолданбалар мен хабарландырулар"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Соңғы қолданбалар, әдепкі қолданбалар"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Жұмыс профиліндегі қолданбалар үшін хабарландырулар қолжетімді емес."</string>
@@ -3128,13 +3177,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"Параметрлер"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"WiFi, Wi-Fi, желілік байланыс, интернет, сымсыз, дерек, Wi Fi"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"Wi‑Fi хабарландыруы, wi-fi хабарландыруы"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"дерек трафигі"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"Дірілді тоқтату, түрту, пернетақта"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"24 сағаттық форматты қолдану"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"Жүктеп алу"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"Ашатын қолданба"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"Қолданбалар"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"уақыт белдеуі"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"Chat Head"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"Чат тақырыбы, жүйе, ескерту, терезе, диалогтік терезе, көрсету, басқа қолданбалардың үстінен, cурет салу"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"Қолшам, шам, алау"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"wifi, wi-fi, қосу/өшіру, басқару"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"ұялы байланыс, мобильдік, ұялы байланыс операторы, сымсыз, деректер, 4g,3g, 2g, lte"</string>
@@ -3158,7 +3208,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"мазаламау үзу, үзу, үзіліс"</string>
     <string name="keywords_app" msgid="7983814237980258061">"ЖЖҚ"</string>
     <string name="keywords_location" msgid="8016374808099706213">"маңай, орын, тарих, есеп жіберу, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"есептік жазба"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"есептік жазба, есептік жазбаны енгізу, жұмыс профилі, есептік жазбаны енгізу"</string>
     <string name="keywords_users" msgid="3497517660077620843">"шектеу, шектелген"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"мәтінді түзету, түзету, дыбыс, дірілдету, авто, тіл, қимыл, ұсыну, ұсыныс, тақырып, тіл тигізетін, сөз, түрі, эмодзи, халықаралық"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"ысыру, параметрлер, әдепкі"</string>
@@ -3196,6 +3246,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"жад, кэш, дерек, жою, тазалау, бос, орын"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"жалғанды, құрылғы, құлаққаптар, гарнитура, динамик, сымсыз, жұптау, құлақаспап, музыка, мультимедиа"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"фон, экран, құлыптау экраны, тақырып"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"белгіше пішіні, ерекшелеу түсі, қаріп"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"әдепкі, көмекші"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"төлем, әдепкі"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"кіріс хабарландыру"</string>
@@ -3205,18 +3256,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"сенсорлар, діріл, сезгіштік"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"battery saver, бекітілген, тұрақты, power saver, батарея"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"әрекеттер тізімі, кесте, battery saver, қуат үнемдеу, батарея, автоматты, пайыз"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"жұмыс профилі"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"VoLTE, жетілдірілген қоңырау, 4g қоңырауы"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"тілді енгізу, тіл енгізу"</string>
     <string name="default_sound" msgid="6604374495015245195">"Әдепкі дыбыс"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"Қоңыраудың дыбыс деңгейі: <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"Қоңыраулар мен хабарландырулардың дыбыс деңгейі: <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Дыбыс деңгейі, діріл, \"Мазаламау\" режимі"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"Қоңырау дірілдеу режиміне қойылған"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"Қоңырау үнсіз режимге қойылған"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"Қоңыраудың дыбыс деңгейі: 80%"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"Қоңыраулар мен хабарландырулардың дыбыс деңгейі: 80%"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Mультимeдиа дыбыс деңгейі"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Трансляцияның дыбыс деңгейі"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"Сөйлескендегі дыбыс деңгейі"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"Дабылдың дыбыс деңгейі"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"Қоңыраудың дыбыс деңгейі"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"Қоңыраулар мен хабарландырулардың дыбыс деңгейі"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"Хабарландырудың дыбыс деңгейі"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"Телефон әуені"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"Әдепкі хабарландыру сигналы"</string>
@@ -3224,6 +3276,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"Әдепкі хабарландыру дыбысы"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"Әдепкі дабыл сигналы"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"Қоңырау кезіндегі діріл"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"Ешқашан дірілдетпеу"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"Әрқашан дірілдету"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"Дірілдету және біртіндеп дыбысын шығару"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"Басқа дыбыстар"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"Нөмір тергіш дыбысы"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"Экранды құлыптау дыбыстары"</string>
@@ -3247,6 +3302,7 @@
       <item quantity="one">1 іске қосылды</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Мазаламау"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Хабарландыруды маңызды адамдардан және қолданбалардан ғана алу"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Хабарландыруларды шектеу"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"\"Мазаламау\" режимін қосу"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"Ерекше жағдайлар"</string>
@@ -3273,7 +3329,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Көрнекі мазалағыштарды бөгеу"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Визуалды сигналдарды қосу"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"\"Мазаламау\" режимі қосулы кезде"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"Дыбыстық хабарландыруларға рұқсат ету"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"Хабарландыруларды шектеу"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Хабарландырулар дыбыстық сигналсыз беріледі"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"Хабарландырулар экранға шығады"</string>
@@ -3304,7 +3360,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"Дыбыс және діріл"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"Хабарландырулардың дыбысы, дірілі және кейбір визуалдық белгілері"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"Хабарландырулардың дыбысы, дірілі және визуалдық белгілері"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"Телефондағы негізгі іс-әрекеттерге арналған хабарландырулар және күй ешқашан жасырылмайды"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"Телефондағы негізгі іс-әрекеттерге және оның күйіне қатысты хабарландырулар ешқашан жасырылмайды."</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"Ешқайсысы"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"басқа опциялар"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"Қосу"</string>
@@ -3334,10 +3390,12 @@
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> кестені автоматты түрде қосуға болады</item>
       <item quantity="one">1 кестені автоматты түрде қосуға болады</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"Құрылғының дыбысын өшіру (ерекше жағдайларды қоспағанда)"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"Ерекше жағдайлар"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"Кесте"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"Барлық ерекше жағдайларды көру"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"\"Мазаламау\" режимі қосулы кездегі ерекше жағдай"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"Адамдар"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"Қолданбалар"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"Дабылдар және басқа хабарландырулар"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"Кестелер"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"Дыбысы өшірілген хабарландырулар"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"\"Мазаламау\" режимі қосулы кезде, дыбыс және діріл өшіріледі (жоғарыда рұқсат берілгендерді қоспағанда)."</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"Келесілерді қоспағанда, барлығының дыбысын өшіру:"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"Дыбысы өшірулі"</string>
@@ -3381,16 +3439,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"Бейімделетін хабарландырулар"</string>
     <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_capabilities_actions_replies_title" msgid="4392470465646394289">"Ұсынылған әрекеттер және жауаптар"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"Ұсынылған әрекеттер мен жауаптарды автоматты түрде көрсету"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"Алынған және кейінге қалдырылған хабарландыруларды қадағалау үшін хабарландыру тарихын іске қосыңыз."</string>
+    <string name="notification_history" msgid="8663811361243456201">"Хабарландыру тарихы"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"Тарихты қосу"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"Тарихты өшіру"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"Хабарландыру тарихы өшірулі"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"хабарландыру параметрлерін көру"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Хабарландыруларды кідіртуге рұқсат беру"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"Дыбыссыз хабарландырулардағы белгішелерді жасыру"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"Дыбыссыз хабарландырулардағы белгішелер күй жолағында көрсетілмейді."</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"Хабарландыру белгілеріне рұқсат беру"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"Соңғы сөйлесулердің жолағын көрсету"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Қалқымалы анықтамалар"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"Кейбір хабарландырулар экранға қалқымалы анықтамалар түрінде шығады."</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"Кейбір хабарландырулар және басқа мазмұндар экранға қалқымалы анықтамалар түрінде шығуы мүмкін. Қалқымалы анықтаманы ашу үшін оны түртіңіз. Жасыру үшін экранның төменгі жағына қарай сүйреңіз."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Қалқымалы анықтамалар"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"Жаңа хабарлар экранда көрсетіледі."</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"<xliff:g id="APP_NAME">%1$s</xliff:g> қолданбасына кейбір хабарландыруларды қалқымалы анықтама түрінде көрсетуге рұқсат береді."</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"Қалқымалы анықтамаларды қосу"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"Қалқымалы анықтамаларды қолданбада қосу үшін оларды алдымен құрылғыда қосу керек. Бұл бұрын қалқымалы анықтамалар қосылған қолданбалардың жұмысына әсер етеді."</string>
@@ -3408,6 +3476,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"Хабарландырулар ашылмалы панельге немесе құлыптаулы экранға шығады."</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"Хабарландырулар ашылмалы панельге және күй жолағына шығады."</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"Ашылмалы панельге, күй жолағына және құлыптаулы экранға шығады."</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"Күй жолағындағы дыбыссыз хабарландыруларды жасыру"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"Жыпылықтаған жарық"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"Құлыптаулы экран"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"Экран құлпын өткізіп жіберу"</string>
@@ -3438,6 +3507,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"Іс-әрекет"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"Дыбысқа рұқсат ету"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"Хабарландыруларды ешқашан көрсетпеу"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"Чаттар"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"Чат"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"Чат емес"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"Чат бөлімінен өшіру"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"Бұл ‒ чат."</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"Чат бөліміне енгізу"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"Чаттарды басқару"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"Маңызды чаттар"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"Барлық чат"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"Маңызды чаттарды қалқымалы хабар түрінде шығару"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"Маңызды чаттар ашылмалы панельдің жоғарғы жағында көрсетіледі. Оларды қалқымалы хабар ретінде және \"Мазаламау\" режимі қосулы болса да шығатындай етіп реттеуіңізге болады."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"Дыбыссыз және кішірейтіп көрсету"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"Дыбыссыз көрсету"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"Дыбыстық сигнал беру"</string>
@@ -3456,7 +3536,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"Хабарландырулар келгенде дыбыс шықпайды не дірілдемейді"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"Хабарландырулар келгенде дыбыс шығады не дірілдейді"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"Құрылғының құлпы ашылғанда, хабарландырулар экранның жоғарғы жағында баннер ретінде көрсетіледі"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"Хабарландыруларды көрсету"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"Барлық <xliff:g id="APP_NAME">%1$s</xliff:g> хабарландырулары"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"Бейімделетін хабарландырулар"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="other">Күніне ~<xliff:g id="NUMBER_1">%d</xliff:g> хабарландыру</item>
@@ -3477,6 +3557,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"Бейімделетін хабарландырулар"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"Жоқ"</string>
     <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="3119843404577399036">"<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>
@@ -3538,8 +3619,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"Дайын"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"Маңыздылық"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"Жыпылықтаған жарық"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"Діріл"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"Діріл"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"Дыбыс"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"Маңызды"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"Негізгі экранға енгізу"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"Жою"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"Атауын өзгерту"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"Кесте атауы"</string>
@@ -3593,6 +3676,10 @@
       <item quantity="other">Тағы <xliff:g id="NUM_PEOPLE">%d</xliff:g> контакт</item>
       <item quantity="one">Тағы 1 контакт</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Сөйлесулер"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"Барлық әңгімелерден"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"Маңызды әңгімелерден"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"Ешқандай әңгімеге рұқсат етпеу"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"Хабарларға рұқсат ету"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"Сізге хабар келгенде, дыбыс шығуы үшін, құрылғының шылдыр, діріл немесе дыбыссыз режимде тұрғанын тексеріңіз."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"\"<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>\" үшін кіріс хабарларға тыйым салынған. Достарыңыз, отбасыңыздың мүшелері не басқа контактілеріңіз сізге хабарласа алуы үшін, параметрлерді реттеуіңізге болады."</string>
@@ -3606,15 +3693,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"Ешқандай"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"Қоңырауға рұқсат етпеу"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"Ешқандай хабарға рұқсат етпеу"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"Дабылдарға рұқсат ету"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"Дабылдар"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"Таймерлерден, дабылдардан, қауіпсіздік жүйелерінен және басқа қолданбалардан"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"дабылдар"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"Мультимедиалық дыбыстарды ойнату"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"Mультимeдиа дыбыстары"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"Бейнелерден, ойындардан және басқа медиа файлдардан"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"мультимeдиа"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"Түрту дыбыстарына рұқсат ету"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"Түрту дыбысы"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"Пернетақтадан және басқа түймелерден"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"түрту дыбысы"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"Еске салғыштарға рұқсат ету"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"Еске салғыштар"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"Тапсырмалардан және еске салғыштардан"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"еске салғыштар"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"Іс-шараларға рұқсат ету"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"Іс-шаралар"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"Алдағы күнтізбе іс-шараларынан"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Қолданбаларға қайта анықтауға рұқсат беру"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"Қолданба ерекшеліктері"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3657,6 +3749,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"\"Мазаламау\" режимі арқылы хабарландырулардың дыбысы шықпайтындай, экран қосылатындай ету"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"Хабарландыру параметрлері"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"Жарайды"</string>
+    <string name="suggestion_button_close" msgid="6865170855573283759">"Жабу"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Осы құрылғы туралы пікір жіберу"</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"Әкімші PIN кодын енгізу"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"Қосулы"</string>
@@ -3667,6 +3760,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Босату алдында PIN кодын сұрау"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Босату алдында құпия сөзді сұрау"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Босатқанда құрылғыны бекіту"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"SIM картасының жойылуын растау"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"Жүктеп алынған SIM картасын тазаламас бұрын, бұл өзіңіз екеніңізді растаңыз."</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"Бұл жұмыс профилін басқаратын:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"<xliff:g id="ADMIN_APP_LABEL">%s</xliff:g> арқылы басқарылады"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(Эксперименттік)"</string>
@@ -3741,8 +3836,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"Қолданбалар"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Орнатылған қолданбалар"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Лездік қолданбалар"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"Жеке"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"Жұмыс"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"Қолданбалар: барлығы"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"Өшірулі"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"Санаттар: аса маңызды"</string>
@@ -3754,6 +3847,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"Белгісіз қолданба"</string>
     <string name="app_permissions" msgid="8666537659217653626">"Рұқсат басқарушысы"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"Рұқсат (<xliff:g id="APPS">%1$s</xliff:g>) берілген қолданбалар"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"Рұқсаты бар қолданбалар (<xliff:g id="APPS">%1$s</xliff:g> және тағы басқа)"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"Ояту үшін түрту"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"Құрылғыны ояту үшін экранның кез келген жерін екі рет түртіңіз"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"Сілтемелерді ашу"</string>
@@ -3765,9 +3859,14 @@
       <item quantity="other">Қолдауға ие сілтемелерді <xliff:g id="COUNT">%d</xliff:g> қолданба аша алады</item>
       <item quantity="one">Қолдауға ие сілтемелерді бір қолданба аша алады</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"Осы қолданбада ашу"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"Қолданбаға қолдау көрсетілетін сілтемелерді ашуға рұқсат беру"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"Әр жағдайда сұрау"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"Осы қолданбада ашпау"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"Қолданбаға сілтемелерді ашуға рұқсат бермеу"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="other">Қолданба арқылы <xliff:g id="COUNT_1">%d</xliff:g> сілтеме ашылады.</item>
+      <item quantity="one">Қолданба арқылы <xliff:g id="COUNT_0">%d</xliff:g> сілтеме ашылады.</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"Қолданба арқылы келесі сілтемелер ашылады:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"Әдепкі"</string>
     <string name="default_for_work" msgid="537558180548617528">"Жұмыс үшін әдепкі"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"Көмекші және дауыспен енгізу"</string>
@@ -3911,8 +4010,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"Басқа қолданбалардың үстінен көрсету"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Басқа қолданба үстінен көрсетуге рұқсат беру"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"Қолданбаның пайдаланылып жатқан басқа қолданбалардың үстінен көрсетілуіне рұқсат беріледі. Ол қолданбаларды пайдалануыңызға кедергі келтіріп, олардың көрсетілуін не жұмысын өзгертуі мүмкін."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"Барлық файлды пайдалану"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"Барлық файлды пайдалануға рұқсат беру"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Қолданбаға осы құрылғыдағы немесе жалғанған сыртқы жад құрылғыларындағы барлық файлды оқуға, өзгертуге немесе жоюға рұқсат береді. Егер осы рұқсат берілсе, қолданба файлдарды сіздің келісіміңізсіз пайдалана алады."</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"Барлық файлды пайдалана алатын қолданбалар"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"виртуалды шындық тыңдаушысының стерео көмекші қызметі"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"жүйе ескертуі терезесі дилогтық терезені басқа қолданбалардың үстінен көрсету"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"Басқа қолданбалардың үстінен көрсету"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"<xliff:g id="COUNT_1">%2$d</xliff:g> қолданбаның <xliff:g id="COUNT_0">%1$d</xliff:g>-на(не) басқа қолданбалардың үстінен шығуға рұқсат берілген"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"Рұқсаты бар қолданбалар"</string>
@@ -4078,6 +4180,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"<xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g> пайдаланылды"</string>
     <string name="data_overusage" msgid="3680477320458707259">"<xliff:g id="ID_1">^1</xliff:g> асты"</string>
     <string name="data_remaining" msgid="6316251496381922837">"<xliff:g id="ID_1">^1</xliff:g> қалды"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"<xliff:g id="START_DATE">%1$s</xliff:g> және <xliff:g id="END_DATE">%2$s</xliff:g> арасындағы дерек трафигін көрсететін график."</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"Бұл күн ауқымы бойынша деректер жоқ."</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="other">%d күн қалды</item>
       <item quantity="one">%d күн қалды</item>
@@ -4141,14 +4245,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"бума өлшемі"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"хабарландыру берілді"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"дыбыс"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"діріл"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"өрнек"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"әдепкі"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"арна"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"ешқайсысы"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"Рейтинг нысаны жоқ."</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"Рейтинг нысанында бұл кілт табылмады."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"Тақырып"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"Құрылғының әдепкі параметрлері"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"Экран ойығы"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"экран кесіндісі, кесік"</string>
@@ -4237,8 +4337,12 @@
     <string name="information_label" msgid="6939310810756569298">"Ақпарат"</string>
     <string name="low_label" msgid="6525629096999711220">"Төмен"</string>
     <string name="high_label" msgid="357503396626018487">"Жоғары"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"Сезгіштік деңгейінің жоғары болуы қолданбада экранның жиектерінде жасалған қимылдарға кері әсер етуі мүмкін."</string>
+    <string name="left_edge" msgid="1513576842959071849">"Сол жақ жиегі"</string>
+    <string name="right_edge" msgid="1505309103265829121">"Оң жақ жиегі"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"Сезгіштік деңгейінің жоғары болуы қолданбада экранның жиектерінде жасалған қимылдарға кері әсер етуі мүмкін."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"Артқы сезгіштік"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"Қимыл параметрлері"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"қимылмен басқару, артқы сезгіштік, артқа қайту қимылы"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"Телефонды тексеру үшін екі рет түрту"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"Планшетті тексеру үшін екі рет түртіңіз"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"Құрылғыны тексеру үшін екі рет түртіңіз"</string>
@@ -4393,7 +4497,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"Операторды инциализациялауды іске қосу"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"\"Мазаламау\" режимін жаңарту"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"Алаңдататын хабарландыруларды кідірту"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"Бұл мүмкіндік құрылғыда жоқ"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"Функция қолжетімді емес."</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"Бұл функция өшірілді, себебі телефоныңыздың жұмысына кедергі келтіреді."</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"GNSS толық өлшемдерін қосу"</string>
@@ -4403,20 +4506,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"ANGLE қолдайтын қолданбаны таңдау"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"ANGLE қолдайтын ешқандай қолданба орнатылмады"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"ANGLE қолдайтын қолданба: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"Game Driver параметрлері"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"Game Driver параметрлерін өзгерту"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"Game Driver қосулы кезде, құрылғыға орнатылған қолданбалар үшін жаңартылған графикалық драйверді пайдалана аласыз."</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"Барлық қолданбалар үшін қосу"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"Графикалық драйверді таңдау"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"Әдепкі"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"Game Driver"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"Драйвердің алдын ала шығарылған нұсқасы"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"Жүйенің графикалық драйвері"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"Графикалық драйвер параметрлері"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"Графикалық драйвер параметрлерін өзгерту"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"Бірнеше графикалық драйвер болған кезде, құрылғыға орнатылған қолданбалар үшін жаңартылған графикалық драйверді пайдалана аласыз."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"Барлық қолданбалар үшін қосу"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"Графикалық драйверді таңдау"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"Әдепкі"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"Ойын драйвері"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"Developer Driver"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Графикалық жүйе драйвері"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Қолданба үйлесімділігінің өзгерістері"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Қолданбалардың үйлесімділігін реттеудегі өзгерісті көрсету"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Қосылған әдепкі өзгерістер"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Өшірілген әдепкі өзгерістер"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"Бұл телефонда параметрге қолдау көрсетілмейді"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"Бұл планшетте параметрге қолдау көрсетілмейді"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"Бұл құрылғыда параметрге қолдау көрсетілмейді"</string>
@@ -4435,6 +4544,12 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"Құрылғы"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Қоңыраулар кезінде қолжетімді емес"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"Қолжетімді емес"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"Шығыстар қосу"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"Топ"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 құрылғы таңдалды"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> құрылғы таңдалды"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"Қоңырауды қабылдау құрылғысы"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Бұл APN параметрлерін өзгерту мүмкін емес."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Планшет батареясының жұмыс істеуін ұзартыңыз"</string>
@@ -4552,10 +4667,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Бір уақытта тек бір жүктеп алынған SIM картасын пайдалануға болады.\n\n<xliff:g id="CARRIER1">%1$s</xliff:g> операторына ауыссаңыз, <xliff:g id="CARRIER2">%2$s</xliff:g> қызметінен бас тартылмайды."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"<xliff:g id="CARRIER">%1$s</xliff:g> операторына ауысу"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"SIM картасын жою"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Бұл жүктеп алынған SIM картасы өшірілсін бе?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Бұл SIM картасын өшірсеңіз, <xliff:g id="CARRIER_0">%1$s</xliff:g> қызметі бұл құрылғыдан жойылады.\n\n<xliff:g id="CARRIER_1">%2$s</xliff:g> қызметінен бас тартылмайды."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Жою"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"SIM тазартылуда…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"SIM картасы жойылмады"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Қатеге байланысты бұл SIM картасын өшіру мүмкін емес.\n\nҚұрылғыны қайта қосып, әрекетті қайталаңыз."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Оңтайлы желі түрі"</string>
@@ -4580,7 +4691,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"<xliff:g id="NETWORKMODEID">%1$d</xliff:g> желі режимі дұрыс емес. Мән бермеңіз."</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Кіру нүктесінің атауы"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"<xliff:g id="CARRIER">%1$s</xliff:g> операторына қосылып тұрғанда қолжетімді емес"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"Медициналық ақпарат, төтенше жағдай контактілері"</string>
     <string name="see_more" msgid="7499355691042812723">"Басқаларын көру"</string>
     <string name="see_less" msgid="2642392725363552793">"Азырақ көру"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"<xliff:g id="APPNAME">%1$s</xliff:g> қолданбасымен пайдаланылатын құрылғы"</string>
@@ -4589,11 +4699,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"Байланыс қатесі шықты. Қолданба құрылғыны таңдау сұрауынан бас тартты."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"Байланыс орнатылды."</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"Барлығын көрсету"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> құрылғы жалғанған</item>
-      <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_0">%1$d</xliff:g> құрылғы жалғанған</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"Bluetooth құрылғылары жоқ"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"Құрылғы ізделуде…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"Құрылғыға қосылуда…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"Сол жақ"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"Оң жақ"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Корпус"</string>
@@ -4603,6 +4710,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"Ұшақ режимінде қолжетімді емес."</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"Жұмыс үстелінің режимін мәжбүрлі қосу"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Қосымша дисплейлерде эксперименттік жұмыс үстелі режимін мәжбүрлі қосу"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"Тұрақты өлшемді қолданбаның тегін нұсқасын қосу"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"Тұрақты өлшемді қолданбалардың тегін нұсқада болуына мүмкіндік береді"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Қараңғылауға жол бермеу"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"Қараңғы тақырыпты мәжбүрлеп қойғанда, \"Әрдайым қосулы\" мәніне өзгертеді"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"Құпиялылық"</string>
@@ -4639,6 +4748,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Бұл қолданбаны жақында орнаттыңыз."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Шығатын панельді ауыстыру"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> деген құрылғыда ойнап жатыр."</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (ажыратылған)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Ауысу мүмкін емес. Қайталау үшін түртіңіз."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Маңызды ақпарат"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"ЖАЛҒАСТЫРУ"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"ЖОҚ, РАҚМЕТ"</string>
@@ -4666,8 +4777,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"SIM карталарын қатар пайдалану"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Жұмыс саясатыңыз туралы ақпарат"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"АТ әкімшісі басқаратын параметрлер"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"Қате туралы есепті басқару қолданбасы"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Құрылғыдағы қате туралы есеп таңбашасын қандай қолданба басқаратынын анықтайды."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Жеке"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"Жұмыс"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"Жүйенің әдепкі мәні"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"Бұл таңдау енді жарамайды. Әрекетті қайталаңыз."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"Трансляцияны тоқтату"</string>
 </resources>
diff --git a/res/values-km/arrays.xml b/res/values-km/arrays.xml
index c8ccd75..349f094 100644
--- a/res/values-km/arrays.xml
+++ b/res/values-km/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"ភ្លាម​ៗ"</item>
     <item msgid="463591454172790676">"៥ វិនាទី"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"កុំបញ្ជាក់សុពលភាព"</item>
+    <item msgid="5703177653586269306">"ស្នើស្ថានភាព​វិញ្ញាបនបត្រ"</item>
+    <item msgid="326388247868439528">"តម្រូវឱ្យ​មានស្ថានភាព​វិញ្ញាបនបត្រ"</item>
+    <item msgid="1090956283885790552">"តម្រូវឱ្យ​មានស្ថានភាព​វិញ្ញាបនបត្រដែលមិនជឿ​ទុកចិត្តទាំងអស់"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"ប៊ូតុង​ចុច"</item>
     <item msgid="2630618799033509548">"កូដ PIN ពី​ឧបករណ៍​"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"គ្មាន"</item>
@@ -404,6 +412,9 @@
     <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>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"គ្មាន"</item>
diff --git a/res/values-km/config.xml b/res/values-km/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-km/config.xml
+++ b/res/values-km/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-km/strings.xml b/res/values-km/strings.xml
index fed76da..65d2d79 100644
--- a/res/values-km/strings.xml
+++ b/res/values-km/strings.xml
@@ -31,49 +31,17 @@
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"សូមបើកជម្រើសសម្រាប់អ្នកអភិវឌ្ឍន៍ជាមុនសិន។"</string>
     <string name="header_category_wireless_networks" msgid="303445626075235229">"ឥត​ខ្សែ &amp; បណ្ដាញ​"</string>
     <string name="header_category_system" msgid="1665516346845259058">"ប្រព័ន្ធ"</string>
-    <string name="radio_info_data_connection_enable" msgid="7500945447906187613">"បើកដំណើរការតភ្ជាប់ទិន្នន័យ"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"បិទដំណើរការតភ្ជាប់ទិន្នន័យ"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"បានផ្តល់ VoLTE"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"បានផ្តល់នូវការហៅជាវីដេអូ"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"បានផ្តល់នូវការហៅតាមរយៈ Wifi"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"បាន​ផ្តល់ជូន EAB/Presence"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"ទិន្នន័យ Cbrs"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"បើក DSDS"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"ចាប់ផ្ដើម​ឧបករណ៍​ឡើងវិញ?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"អ្នក​ត្រូវ​ចាប់ផ្ដើម​ឧបករណ៍​របស់អ្នកឡើងវិញ ដើម្បី​ផ្លាស់ប្ដូរ​ការកំណត់​នេះ។"</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"ចាប់ផ្ដើមឡើងវិញ"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"បោះបង់"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"ថាមពលវិទ្យុចល័ត"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"មើលសៀវភៅអាសយដ្ឋានក្នុងស៊ីមកាត"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"មើល​លេខ​ហៅ​ថេរ"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"មើល​លេខ​ហៅ​សេវាកម្ម"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"សា្ថនភាពសេវាកម្ម IMS"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"ស្ថានភាព IMS"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"បានចុះឈ្មោះ"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"មិន​បាន​ចុះឈ្មោះ"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"អាចប្រើបាន"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"មិន​អាច​ប្រើ​បាន"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"ការចុះឈ្មោះ IMS៖ <xliff:g id="STATUS">%1$s</xliff:g>\nសំឡេងតាមរយៈ LTE៖ <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nសំឡេងតាមរយៈ WiFi៖ <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nការហៅជាវីដេអូ៖ <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nចំណុចប្រទាក់ UT៖ <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"កំពុងដំណើរការ"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"មិនដំណើរការ"</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>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"ទំនេរ"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"រោទ៍"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"ការហៅកំពុងដំណើរការ…"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"បាន​ផ្ដាច់"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"តភ្ជាប់"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"បាន​តភ្ជាប់"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"បានផ្អាក"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"មិនស្គាល់"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"pkts"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"បៃ"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"ផ្ដាច់​​ឧបករណ៍​ផ្ទុក​យូអេសប៊ី"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"ផ្ដាច់​កាត​អេសឌី"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"លុប​ឧបករណ៍​ផ្ទុក​យូអេសប៊ី"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"ធ្វើឲ្យអត្ថបទនៅលើអេក្រង់តូចជាងមុន ឬធំជាងមុន។"</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"កំណត់ឲ្យតូចជាងមុន"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"កំណត់ឲ្យធំជាងមុន"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"អត្ថបទគំរូ"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"មេធ្មប់ដ៏អស្ចារ្យនៃទឹកដីពិសិដ្ឋ"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"ជំពូកទី 11៖ ទីក្រុងមរកតដ៏អស្ចារ្យនៃទឹកដីពិសិដ្ឋ"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"អ្នក​ត្រូវ​ចាប់ផ្ដើម​ឧបករណ៍​របស់អ្នកឡើងវិញ ដើម្បី​ផ្លាស់ប្ដូរ​ការកំណត់​នេះ។"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"ចាប់ផ្ដើមឡើងវិញ"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"បោះបង់"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"ឧបករណ៍​មេឌៀ​ដែល​អាច​ប្រើ​បាន"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"ឧបករណ៍​ហៅ​ទូរសព្ទ​ដែល​អាច​ប្រើ​បាន"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"បាន​ភ្ជាប់​បច្ចុប្បន្ននេះ"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"ឧបករណ៍ផ្ទុកទិន្នន័យ"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"ឧបករណ៍​ហៅ​ទូរសព្ទ"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"ឧបករណ៍ផ្សេងទៀត"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"ឧបករណ៍​ដែល​បាន​រក្សាទុក"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"ប៊្លូធូស​នឹង​បើក​ដើម្បី​ផ្គូផ្គង"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"​ចំណូល​ចិត្ត​នៃការ​ភ្ជាប់"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"ច្រក​ដែល​អ្នក​បាន​បញ្ចូល​មិន​ត្រឹមត្រូវ។"</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"ប្រូកស៊ី HTTP ​ប្រើ​ជាមួយ​​កម្មវិធីរុករកតាម​អ៊ីនធឺណិត ប៉ុន្តែ​ប្រហែលជាមិនអាចប្រើជាមួយ​កម្មវិធី​ផ្សេងទេ។"</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"PAC URL: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"លេខសម្គាល់រង​បច្ចុប្បន្ន៖"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"លេខសម្គាល់រង​របស់​ស៊ីម​ទិន្នន័យ​លំនាំដើម៖"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"កម្រិត​បញ្ជូន DL (kbps)៖"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"កម្រិត​បញ្ជូន UL (kbps)៖"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"ព័ត៌មានអំពីទីតាំងបណ្តាញចល័ត (បានបញ្ឈប់)៖"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"ការកំណត់​រចនាសម្ព័ន្ធបណ្ដាញរូបវន្ត LTE៖"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"អត្រាធ្វើឲ្យថ្មីឡើងវិញនៃព័ត៌មានទិន្នន័យចល័ត៖"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"ព័ត៌មាននៃការវាស់វែងទិន្នន័យចល័តទាំងអស់៖"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"សេវាកម្មទិន្នន័យ៖"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"រ៉ូមីង៖"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI ៖"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"បញ្ជូនការហៅបន្ត៖"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"ចំនួននៃការកំណត់ PPP ឡើងវិញតាំងពីពេលចាប់ផ្ដើម៖"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"បណ្ដាញបច្ចុប្បន្ន៖"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"បានទទួលទិន្នន័យ៖"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"សេវាកម្មសំឡេង៖"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"កម្លាំងរលកសញ្ញា៖"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"ស្ថានភាពការហៅជាវីដេអូ៖"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"បានផ្ញើទិន្នន័យ៖"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"រង់ចាំសារ៖"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"លេខទូរសព្ទ៖"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"ជ្រើសប៉ុស្តិ៍វិទ្យុ"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"ប្រភេទបណ្តាញសំឡេង៖"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"ប្រភេទបណ្តាញទិន្នន័យ៖"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"ជ្រើសរើស​សន្ទស្សន៍​ទូរសព្ទ"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"កំណត់ប្រភេទបណ្ដាញដែលពេញចិត្ត៖"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"Ping Hostname(www.google.com) IPv4៖"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"Ping Hostname(www.google.com) IPv6៖"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"ការសាកល្បងម៉ាស៊ីនកូន HTTP៖"</string>
     <string name="ping_test_label" msgid="265427033290391845">"ដំណើរការការសាកល្បង Ping"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"ធ្វើ​បច្ចុប្បន្នភាព"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"ផ្ទុក​ឡើង​វិញ"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"បិទ/បើកការពិនិត្យ DNS"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"ការ​កំណត់/ព័ត៌មាន​ជាក់លាក់ OEM"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"កំណត់របៀបប៉ុស្តិ៍វិទ្យុ"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"កំពុងដំណើរការបញ្ជីក្រុម…"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"កំណត់"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"មិន​ជោគជ័យ"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"ជោគជ័យ"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"ប្ដូរ​ប្រសិទ្ធិ​ភាព​ពេល​ភ្ជាប់​ខ្សែ​យូអេសប៊ី។"</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"បើក​ឧបករណ៍​ផ្ទុក​យូអេសប៊ី"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"បៃ​សរុប៖"</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"ផ្លាស់ទីទៅបាត"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"យកភាសាចេញ"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"ជ្រើស​សកម្មភាព"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"ព័ត៌មាន​ឧបករណ៍"</string>
     <string name="display_label" msgid="3056320781191343221">"អេក្រង់"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"ព័ត៌មាន​កុំព្យូទ័រ​បន្ទះ"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"ព័ត៌មាន​ទូរស័ព្ទ"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"ឧបករណ៍​ផ្ទុក​​យូអេសប៊ី"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"កាត​អេសឌី"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"ការ​កំណត់​ប្រូកស៊ី"</string>
@@ -306,9 +234,6 @@
     <string name="airplane_mode" msgid="3196085857882526817">"ពេលជិះយន្តហោះ"</string>
     <string name="wireless_networks_settings_title" msgid="8557542379234105369">"ឥត​ខ្សែ &amp; បណ្ដាញ"</string>
     <string name="radio_controls_summary" msgid="9028430178697624501">"គ្រប់គ្រង​វ៉ាយហ្វាយ, ប៊្លូធូស, របៀប​ពេល​ជិះ​យន្ត​ហោះ, បណ្ដាញ​ចល័ត &amp; VPNs"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"ទិន្នន័យទូរសព្ទ​ចល័ត"</string>
-    <string name="calls_title" msgid="6334813967619899114">"អនុញ្ញាត​ការហៅទូរសព្ទ"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"សារ SMS"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"អនុញ្ញាតឲ្យប្រើ​ទិន្នន័យ​តាមរយៈបណ្តាញទូរសព្ទចល័ត"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"អនុញ្ញាតប្រើទិន្នន័យពេលរ៉ូមីង"</string>
     <string name="roaming" msgid="3055365654530847985">"រ៉ូ​មីង"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"តភ្ជាប់​សេវាកម្ម​ទិន្នន័យ​ ពេលរ៉ូមីង"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"អ្នក​បាត់បង់​ការ​តភ្ជាប់​ទិន្នន័យ ព្រោះ​អ្នក​បាន​ចាកចេញ​​ពី​បណ្ដាញ​នៅ​ផ្ទះ​របស់​អ្នក​ដែល​បាន​បិទ​ការ​រ៉ូមីង​ទិន្នន័យ។"</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"បើក​វា"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"អាច​នឹងមាន​ការគិតថ្លៃខ្ពស់​ពីអ្នក។"</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"ពេល​អ្នក​ឲ្យ​រ៉ូមីង​ទិន្នន័យ អ្នក​អាច​កាត់​លុយ​ពេល​រ៉ូមីង!\n\nការ​កំណត់​នេះ​មាន​ប្រសិទ្ធភាព​សម្រាប់​អ្នក​ប្រើ​ទាំងអស់​លើ​កុំព្យូទ័រ​បន្ទះ​នេះ។"</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"ពេល​អ្នក​អនុញ្ញាត​​រ៉ូមីង​ទិន្នន័យ អ្នក​អាច​ត្រូវ​បាន​គិត​ថ្លៃ​សេវាកម្ម​រ៉ូមីង​!\n\nការ​កំណត់​នេះ​ប៉ះពាល់​ដល់​អ្នក​ប្រើ​ទាំងអស់​​លើ​ទូរស័ព្ទ​នេះ។"</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"អាច​មាន​ការគិត​ថ្លៃ​រ៉ូមីង។"</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"អាច​មាន​ការ​គិត​ថ្លៃ​រ៉ូមីង នៅពេល​អ្នក​អនុញ្ញាត​ការរ៉ូមីង​ទិន្នន័យ។\n\nការកំណត់​នេះ​ប៉ះពាល់​ដល់​អ្នកប្រើប្រាស់​ទាំងអស់​នៅលើ​ថេប្លេត​នេះ។"</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"អាច​មាន​ការ​គិត​ថ្លៃ​រ៉ូមីង នៅពេល​អ្នក​អនុញ្ញាត​ការរ៉ូមីង​ទិន្នន័យ។\n\nការកំណត់​នេះ​ប៉ះពាល់​ដល់​អ្នកប្រើប្រាស់​ទាំងអស់​នៅលើ​ទូរសព្ទ​នេះ។"</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"ឲ្យ​រ៉ូមីង​ទិន្នន័យ?"</string>
     <string name="networks" msgid="5184501333492775095">"ការ​ជ្រើស​ប្រតិបត្តិ​ករ"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"ជ្រើស​ប្រតិបត្តិ​ករ​បណ្ដាញ"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"បិទដោយអ្នកគ្រប់គ្រង"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"បង្ហាញ​ជម្រើស​ចាក់សោ"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"បង្ហាញ​ជម្រើស​ប៊ូតុង​ថាមពល​ដែល​បិទ​ Smart Lock, ​ការ​ដោះ​សោដោយ​ប្រើជីវមាត្រ និង​ការ​ជូនដំណឹង​នៅលើ​អេក្រង់​ចាក់សោ"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"ការដោះសោ​បន្ថែម​សម្រាប់​ភ្នាក់ងារ​ទុកចិត្ត​ប៉ុណ្ណោះ"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"ប្រសិន​បើបើក នោះ​ភ្នាក់ងារ​ទុកចិត្ត​នឹងបន្ត​ដោះសោ​ឧបករណ៍​របស់អ្នក​យូរជាងនេះ ប៉ុន្តែ​មិនអាច​ដោះសោ​ឧបករណ៍ដែល​ជាប់សោ​បាន​ទៀតទេ។"</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"ចាក់សោ​អេក្រង់ នៅពេល​ដែលលែងទុកចិត្ត"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"ប្រសិនបើ​បើក នោះឧបករណ៍​នឹងចាក់សោ នៅពេល​ដែលភ្នាក់ងារ​ទុកចិត្ត​ចុងក្រោយ​លែងទុកចិត្ត"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"គ្មាន"</string>
@@ -390,7 +313,7 @@
     <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="disabled_by_administrator_summary" msgid="4181894719300350343">"បិទ​ដោយ​អ្នក​គ្រប់គ្រង"</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>
@@ -693,7 +616,6 @@
       <item quantity="other">ត្រូវ​តែ​តិច​ជាង <xliff:g id="NUMBER_1">%d</xliff:g> ខ្ទង់</item>
       <item quantity="one">ត្រូវ​តែ​តិច​ជាង <xliff:g id="NUMBER_0">%d</xliff:g> ខ្ទង់</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"ត្រូវមានលេខពី 0-9 តែប៉ុណ្ណោះ"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"អ្នក​គ្រប់គ្រង​ឧបករណ៍​មិនអនុញ្ញាត​កូដ PIN ​ទើបប្រើហើយទេ"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"កូដ PIN លក្ខណៈ​សាមញ្ញ​ត្រូវ​បាន​ទប់ស្កាត់​ដោយ​អ្នក​គ្រប់គ្រង​ព័ត៌មាន​វិទ្យា​របស់អ្នក។ សាកល្បង​ប្រើ​កូដ PIN ផ្សេង​ពី​នេះ។"</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"វាមិនអាចប្រើតួអក្សរដែលគ្មានសុពលភាពទេ"</string>
@@ -724,6 +646,10 @@
       <item quantity="other">ត្រូវ​មាន​តួ​ដែល​មិន​មែន​ជា​អក្សរ​យ៉ាង​ហោច​ណាស់ <xliff:g id="COUNT">%d</xliff:g></item>
       <item quantity="one">ត្រូវមានតួដែលមិនមែនជាអក្សរយ៉ាងហោចណាស់ 1</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="other">ត្រូវតែមាន​តួដែលមិនមែន​ជាលេខ​យ៉ាងហោចណាស់ <xliff:g id="COUNT">%d</xliff:g></item>
+      <item quantity="one">ត្រូវតែមាន​តួដែលមិនមែន​ជាលេខ​យ៉ាងហោចណាស់ 1</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"អ្នក​គ្រប់គ្រង​ឧបករណ៍​មិន​អនុញ្ញាត​ឲ្យ​ប្រើ​ពាក្យ​សម្ងាត់​បច្ចុប្បន្ន​ទេ"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"ពាក្យសម្ងាត់​លក្ខណៈ​សាមញ្ញ​ត្រូវ​បាន​ទប់ស្កាត់​ដោយ​អ្នក​គ្រប់គ្រង​ព័ត៌មាន​វិទ្យា​របស់អ្នក។ សាកល្បង​ប្រើ​ពាក្យ​សម្ងាត់​ផ្សេង​ពី​នេះ។"</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"មិន​អនុញ្ញាត​ឲ្យ​មានលំដាប់ឡើង ចុះ ឬច្រំដែលទេ"</string>
@@ -837,19 +763,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2.4 GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"ចូល"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"បើក​គេហទំព័រ"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"នៅសល់ <xliff:g id="REMAINING_TIME">%1$s</xliff:g> ទៀត"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"ផុត​កំណត់​នៅថ្ងៃទី <xliff:g id="EXPIRY_TIME">%1$s</xliff:g>"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"សូមចុច​ត្រង់នេះ​ ដើម្បី​ចូល​បណ្ដាញ"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"<xliff:g id="REQUESTER">%s</xliff:g> ចង់បើក Wi-Fi"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"<xliff:g id="REQUESTER">%s</xliff:g> ចង់បិទ Wi-Fi"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"ផ្ទៀងផ្ទាត់​កូដបៃ​របស់កម្មវិធី​ដែលអាចជួសជុលបាន"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"អនុញ្ញាត​ឱ្យ ART ផ្ទៀងផ្ទាត់​កូដបៃ​សម្រាប់​កម្មវិធី​ដែលអាចជួសជុលបាន"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"បង្ហាញ​អត្រា​ផ្ទុក​ឡើងវិញ"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"បង្ហាញអត្រា​ផ្ទុកឡើងវិញ​នៃផ្ទាំងអេក្រង់បច្ចុប្បន្ន"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"អនុញ្ញាតឲ្យផ្លាស់​ប្ដូរ​ទិន្នន័យគ្នា​ ពេល​ថេប្លេតនេះប៉ះ​ឧបករណ៍​ផ្សេង"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"អនុញ្ញាតឱ្យផ្លាស់​ប្ដូរ​ទិន្នន័យ​គ្នា ពេល​ទូរសព្ទ​នេះប៉ះ​ឧបករណ៍​ផ្សេង"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"អនុញ្ញាតឱ្យផ្លាស់​ប្ដូរ​ទិន្នន័យគ្នា ​ពេល​ថេប្លេត​ប៉ះ​ឧបករណ៍​ NFC"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"អនុញ្ញាតឱ្យផ្លាស់​ប្ដូរ​ទិន្នន័យគ្នា ​ពេល​ទូរសព្ទ​ប៉ះ​ឧបករណ៍​ NFC"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"បើក NFC"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"NFC ផ្លាស់ប្តូរទិន្នន័យរវាងឧបករណ៍នេះ និងឧបករណ៍ដែលនៅក្បែរ ឬគោលដៅ ដូចជា៖ កន្លែងបង់ប្រាក់ អ្នកអានដែលអាចចូដំណើរការ ពាណិជ្ជកម្ម ឬស្លាកដែលមានអន្តរសកម្ម។"</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"រក្សាសុវត្ថិភាព NFC"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"តម្រូវ​ឱ្យ​ដោះសោ​ឧបករណ៍​សម្រាប់ NFC"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"អនុញ្ញាត​ឱ្យប្រើ​ការទូទាត់សម្រាប់​មធ្យោបាយ​ធ្វើដំណើរ និង​ការទូទាត់​តាមរយៈ NFC តែ​នៅពេល​អេក្រង់​មិនជាប់សោ​ប៉ុណ្ណោះ"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android បញ្ជូន"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"រួចរាល់​ដើម្បី​បញ្ជូន​ខ្លឹមសារ​កម្មវិធី​តាម NFC"</string>
@@ -923,8 +855,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"បើក"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"បានបើក​ការស្កេន Wi‑Fi"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"ជម្រើស​កម្រិត​ខ្ពស់"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"បញ្ជីទម្លាក់ចុះនៃជម្រើសកម្រិតខ្ពស់។ ប៉ះពីរដងដើម្បីបង្រួម។"</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"បញ្ជីទម្លាក់ចុះនៃជម្រើសកម្រិតខ្ពស់។ ប៉ះពីរដងដើម្បីពង្រីក។"</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"ជម្រើស​កម្រិតខ្ពស់​នៃបញ្ជីធ្លាក់ចុះ"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"ពង្រីក"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"ឈ្មោះ​បណ្ដាញ"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"បញ្ចូល SSID"</string>
     <string name="wifi_security" msgid="9095934643631406913">"សុវត្ថិភាព"</string>
@@ -934,6 +866,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"ស្ថានភាព"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"ល្បឿនតភ្ជាប់​សម្រាប់​ការផ្ទេរ"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"ល្បឿន​តភ្ជាប់​សម្រាប់​ការទទួល"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"ល្បឿន​តភ្ជាប់"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"ប្រេកង់"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"អាសយដ្ឋាន IP"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"បានរក្សាទុកតាមរយៈ"</string>
@@ -941,6 +874,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"វិធីសាស្ត្រ EAP"</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">"Domain"</string>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"វិញ្ញាបនបត្រ​អ្នក​ប្រើ"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"អត្តសញ្ញាណ"</string>
@@ -957,6 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"សូម​ជ្រើសរើស​ប៊ែន​យ៉ាង​ហោចណាស់​មួយសម្រាប់​ហតស្ប៉ត Wi‑Fi៖"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"ការ​កំណត់ IP"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"ឯកជនភាព"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"ការ​ជាវ"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"មើល ឬប្ដូរការជាវ"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"​MAC ចៃដន្យ"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"បញ្ចូលឧបករណ៍"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"ដាក់កូដ QR ខាងក្រោមឱ្យ​នៅចំកណ្ដាល ដើម្បីបញ្ចូលឧបករណ៍ទៅ “<xliff:g id="SSID">%1$s</xliff:g>”"</string>
@@ -966,12 +902,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"ចែករំលែក Wi‑Fi"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"ស្កេន​កូដ​ QR នេះដើម្បី​ភ្ជាប់​ “<xliff:g id="SSID">%1$s</xliff:g>” និងចែករំលែក​ពាក្យសម្ងាត់"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"ស្កេន QR កូដនេះ ដើម្បីភ្ជាប់ជាមួយ “<xliff:g id="SSID">%1$s</xliff:g>”"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"មិនអាច​អាន​កូដ QR បានទេ។ ដាក់កូដ​ឱ្យនៅចំកណ្ដាលវិញ រួច​ព្យាយាម​ម្ដងទៀត"</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"សូមព្យាយាមម្ដងទៀត។ ប្រសិនបើ​បញ្ហា​នៅតែបន្តកើតឡើង សូមទាក់ទង​ក្រុមហ៊ុនផលិត​ឧបករណ៍"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"មានអ្វីមួយ​ខុសប្រក្រតី"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"សូមប្រាកដថា​ឧបករណ៍​ត្រូវបានបើក និងសាកថ្ម​ចូលហើយ"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"សូមប្រាកដថា​ឧបករណ៍​ត្រូវបានបើក និងសាកថ្ម​ចូលហើយ។ ប្រសិនបើ​បញ្ហា​នៅតែបន្តកើតឡើង សូមទាក់ទង​ក្រុមហ៊ុនផលិត​ឧបករណ៍"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"មិន​អាច​បញ្ចូល “<xliff:g id="SSID">%1$s</xliff:g>” ទៅក្នុងឧបករណ៍​នេះ​បាន​ទេ"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"សាកល្បងដាក់​ឧបករណ៍​ឱ្យកាន់តែជិត​រូតទ័រ/ដុំ Wi‑Fi របស់អ្នក"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"ពិនិត្យមើល​ពាក្យសម្ងាត់ រួច​ព្យាយាម​ម្តងទៀត"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"ទាក់ទង​ក្រុមហ៊ុនផលិត​ឧបករណ៍"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"សូម​ពិនិត្យមើល​ការតភ្ជាប់ រួចព្យាយាម​ម្ដងទៀត"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"ជ្រើសរើស​បណ្តាញ"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"ដើម្បីភ្ជាប់​ឧបករណ៍របស់អ្នក សូមជ្រើសរើសបណ្ដាញ"</string>
@@ -984,11 +922,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"កំពុង​ចែករំលែក Wi‑Fi ជាមួយ​ឧបករណ៍​នេះ…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"កំពុង​ភ្ជាប់…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"ចែករំលែក​ហតស្ប៉ត"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"ផ្ទៀងផ្ទាត់ថាជាអ្នក"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"ផ្ទៀងផ្ទាត់​ថាគឺ​ជាអ្នក"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"ពាក្យសម្ងាត់ Wi‑Fi៖ <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"ពាក្យសម្ងាត់​ហតស្ប៉ត៖ <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"ភ្ជាប់ដោយ​ស្វ័យប្រវត្តិ"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"អនុញ្ញាតឱ្យ​ទូរសព្ទភ្ជាប់ដោយស្វ័យប្រវត្តិ នៅពេលនៅជិត​បណ្ដាញនេះ"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"អនុញ្ញាតឱ្យ​ថេប្លេតភ្ជាប់ដោយស្វ័យប្រវត្តិ នៅពេលនៅជិត​បណ្ដាញនេះ"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"បញ្ចូល​ឧបករណ៍"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"ប្រើកូដ QR ដើម្បី​បញ្ចូល​ឧបករណ៍​ទៅ​បណ្តាញ​នេះ"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"កូដ QR មិនមែនជា​ទម្រង់​ដែលត្រឹមត្រូវ​ទេ"</string>
     <string name="retry" msgid="7542103800274026915">"ព្យាយាមម្ដងទៀត"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"ចែករំលែកជាមួយអ្នកប្រើឧបករណ៍ផ្សេងទៀត"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(មិន​ផ្លាស់ប្ដូរ)"</string>
@@ -1000,6 +942,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"មិនមានវិញ្ញាបនបត្រដែលបានបញ្ជាក់ទេ។ ការតភ្ជាប់របស់អ្នកនឹងមិនមានលក្ខណៈឯកជនទេ។"</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"ឈ្មោះ​បណ្តាញ​វែងពេក​ហើយ។"</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"ត្រូវតែបញ្ជាក់ដែន"</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"តម្រូវឱ្យ​មាន​វិញ្ញាបនបត្រ។"</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"WPS អាច​ប្រើ​បាន"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (មាន WPS)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"បណ្ដាញ Wi‑Fi នៃក្រុមហ៊ុន​បម្រើសេវាទូរសព្ទ"</string>
@@ -1051,7 +994,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"វ៉ាយហ្វាយ​កម្រិត​ខ្ពស់"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"អាសយដ្ឋាន MAC"</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_ip_address_title" msgid="4265355419782184514">"អាសយដ្ឋាន IP"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"ព័ត៌មាន​លម្អិតអំពីបណ្ដាញ"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"របាំងបណ្តាញរង"</string>
@@ -1103,7 +1047,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"ប្រើហតស្ប៉តដើម្បីបង្កើតបណ្តាញ Wi‑Fi សម្រាប់ឧបករណ៍ផ្សេងទៀតរបស់អ្នក។ ហតស្ប៉តផ្តល់អ៊ីនធឺណិតដោយប្រើការភ្ជាប់​ទិន្នន័យ​ចល័តរបស់អ្នក។ អាចនឹងគិតប្រាក់លើទិន្នន័យទូរសព្ទចល័តបន្ថែមទៀត។"</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"កម្មវិធីអាចបង្កើតហតស្ប៉ត ដើម្បីចែករំលែកមាតិកាជាមួយឧបករណ៍ដែលនៅជិត។"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"បិទ​ហតស្ប៉ត​ដោយ​ស្វ័យប្រវត្តិ"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"ហតស៉្បត Wi-Fi នឹង​បិទ​ប្រសិនបើ​គ្មាន​ឧបករណ៍​ណា​បាន​ភ្ជាប់​ទេ"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"នៅពេល​ដែលគ្មាន​ការភ្ជាប់ឧបករណ៍"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"កំពុង​បើក​ហតស្ពត..."</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"កំពុង​បិទ​ហតស្ពត..."</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> ដំណើរការ"</string>
@@ -1112,6 +1056,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"រៀបចំ​ហតស្ប៉តវ៉ាយហ្វាយ"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"ហតស្ប៉ត AndroidAP WPA2 PSK"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"AndroidHotspot"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"រក្សាទុក​បណ្ដាញ​នេះ​ឬ​?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"<xliff:g id="APPNAME">%1$s</xliff:g> ចង់រក្សាទុក​បណ្ដាញនៅក្នុង​ទូរសព្ទរបស់អ្នក"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"<xliff:g id="APPNAME">%1$s</xliff:g> ចង់រក្សាទុក​បណ្ដាញ​នៅក្នុង​ថេប្លេត​របស់អ្នក"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"កំពុង​រក្សាទុក…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"បាន​រក្សាទុក"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"មិនអាច​រក្សាទុក​បានទេ។ សូមព្យាយាម​ម្ដងទៀត។"</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"រក្សាទុក​បណ្ដាញឬ?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"<xliff:g id="APPNAME">%1$s</xliff:g> ចង់រក្សាទុក​បណ្ដាញទាំងនេះ​នៅក្នុងទូរសព្ទ​របស់អ្នក"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"<xliff:g id="APPNAME">%1$s</xliff:g> ចង់រក្សាទុក​បណ្ដាញទាំងនេះ​នៅក្នុង​ថេប្លេត​របស់អ្នក"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"កំពុងរក្សាទុក​បណ្ដាញ <xliff:g id="NUMBER">%d</xliff:g>…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"បានរក្សាទុក​បណ្ដាញ"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"ការហៅតាម Wi-Fi"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"ពង្រីក​វិសាលភាពនៃការ​ហៅ​ទូសព្ទ​តាម Wi‑Fi"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"បើក​ការហៅ​តាម Wi‑Fi ដើម្បី​ពង្រីក​ដែន​សេវា"</string>
@@ -1138,16 +1093,18 @@
     <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"><annotation id="url">"ស្វែង​យល់​បន្ថែម"</annotation>"អំពី​មុខងារ DNS ឯកជន"</string>
+    <string name="private_dns_mode_on" msgid="8878679071975375696">"បើក"</string>
     <string name="wifi_calling_pref_managed_by_carrier" msgid="129524064888622179">"​ការកំណត់​ត្រូវ​បាន​គ្រប់គ្រង​ដោយ​ក្រុមហ៊ុន​សេវាទូរសព្ទ"</string>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"បើក​ដំណើរការ​ការ​ហៅ​តាម​ Wi-Fi"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"បើក​ការ​ហៅ​តាម Wi‑Fi"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"មិន​ស្គាល់​ការហៅតាម Wi‑Fi សម្រាប់​ %1$s នោះទេ"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"បាន​ផ្ដាច់​ពី <xliff:g id="SSID">%1$s</xliff:g>"</string>
     <string name="carrier" msgid="1755020806290963951">"ក្រុមហ៊ុន​សេវាទូរសព្ទ"</string>
     <string name="display_settings_title" msgid="626835071804834218">"បង្ហាញ"</string>
     <string name="sound_settings" msgid="5514582720435174014">"សំឡេង"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"កម្រិត​សំឡេង"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"បែប​ផែន​តន្ត្រី"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"កម្រិត​សំឡេងទូរសព្ទ​រោទ៍"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"កម្រិតសំឡេងរោទ៍ និងការជូនដំណឹង"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"ញ័រ​ពេល​ស្ងាត់"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"សំឡេង​ជូន​ដំណឹង​លំនាំដើម"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"សំឡេង​រោទ៍"</string>
@@ -1272,13 +1229,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"កាល​វិភាគ"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"គ្មាន"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"បើកពីពេលថ្ងៃលិចរហូតដល់ពេលថ្ងៃរះ"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"បើកតាមពេលវេលាកំណត់ផ្ទាល់ខ្លួន"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"ស្ថានភាព"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"បិទ / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"នឹងមិនបើកដោយស្វ័យប្រវត្តិទេ"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"នឹងបើកដោយស្វ័យប្រវត្តិនៅពេលថ្ងៃលិច"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"នឹងបើកដោយស្វ័យប្រវត្តិនៅម៉ោង <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"បើក / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"នឹងមិនបិទដោយស្វ័យប្រវត្តិទេ"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"នឹងបិទដោយស្វ័យប្រវត្តិនៅពេលថ្ងៃរះ"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"នឹងបិទដោយស្វ័យប្រវត្តិនៅម៉ោង <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"បើក​រហូត​ដល់​ម៉ោង <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"បិទ​រហូត​ដល់​ម៉ោង <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"រចនាប័ទ្មងងឹត​ប្រើផ្ទៃខាងក្រោយ​ពណ៌ខ្មៅ ដើម្បីជួយ​រក្សាថាមពលថ្ម​ឱ្យនៅបានយូរ​ជាងមុន​នៅលើអេក្រង់​មួយចំនួន។ កាលវិភាគ​រចនាប័ទ្មងងឹត​រង់ចាំបើក រហូតទាល់តែ​អេក្រង់​របស់អ្នក​ត្រូវបានបិទ។"</string>
     <string name="screen_timeout" msgid="7709947617767439410">"អស់ម៉ោងអេក្រង់"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"អេក្រង់​បិទ"</string>
@@ -1290,7 +1252,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"ប្ដូរផ្ទាំងរូបភាព"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"កំណត់អេក្រង់របស់អ្នកជាលក្ខណៈផ្ទាល់ខ្លួន"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"ជ្រើសរើស​ផ្ទាំង​រូបភាព​ពី"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"កំណត់​ Pixel របស់​អ្នកតាមបំណង"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"កំណត់​ទូរសព្ទ​របស់អ្នក​តាមបំណង"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"សាកប្រើ​រចនាប័ទ្ម ផ្ទាំងរូបភាពផ្សេងៗគ្នា និង​អ្វីៗជាច្រើនទៀត"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"ធាតុរក្សាអេក្រង់"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"ខណៈពេលកំពុងសាក ឬបានភ្ជាប់"</string>
@@ -1379,6 +1341,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"ផ្ដាច់​​ឧបករណ៍​ផ្ទុក​យូអេសប៊ី មើល​ទំហំ​ដែល​មាន"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"ផ្ដាច់​​កាត​អេស​ឌី មើល​ទំហំ​ដែល​មាន"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (រន្ធស៊ីម %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"ដើម្បីមើល សូមជ្រើសរើស​បណ្តាញដែលបាន​រក្សាទុក"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"លេខទូរសព្ទ"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (រន្ធស៊ីម %1$d)"</string>
@@ -1405,6 +1368,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"រ៉ូមីង"</string>
     <string name="status_operator" msgid="4335640583552058491">"បណ្ដាញ"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"អាសយដ្ឋាន​ MAC Wi-Fi"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"អាសយដ្ឋាន​ឧបករណ៍ Wi‑Fi MAC"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"អាសយដ្ឋាន​ប៊្លូធូស"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"លេខ​ស៊េរី"</string>
     <string name="status_up_time" msgid="1274778533719495438">"រយៈ​ពេល​បើក"</string>
@@ -1617,6 +1581,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"បាន​បញ្ចប់​ការ​កំណត់​នៃ​ការកំណត់​ APN លំនាំដើម។"</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"ជម្រើសកំណត់ឡើងវិញ"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"បណ្ដាញ កម្មវិធី ឬ​ឧបករណ៍ដែលអាច​កំណត់​ឡើងវិញបាន"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"អាច​កំណត់​កម្មវិធី​ឡើងវិញ​បាន"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"កំណត់ Wi-Fi ឧបករណ៍ចល័ត និងប៊្លូធូសឡើងវិញ"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"វា​នឹង​កំណត់​ការកំណត់​បណ្តាញ​ទាំងអស់​ឡើងវិញ រួម​មាន៖\n\n"<li>"Wi‑Fi"</li>\n<li>"ទិន្នន័យ​ទូរសព្ទចល័ត"</li>\n<li>"ប៊្លូធូស"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"លុប​ស៊ីម​ដែលបាន​ទាញយក"</string>
@@ -1666,6 +1631,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"បាន​បើក​ហតស្ប៉ត"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"ការ​ភ្ជាប់"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"មិនអាចភ្ជាប់ ឬប្រើហតស្ពតចល័តបានទេ នៅពេលបើកកម្មវិធីសន្សំសំចៃទិន្នន័យ"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"ហតស្ប៉ត​តែប៉ុណ្ណោះ"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"USB តែប៉ុណ្ណោះ"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"ប៊្លូធូស​តែប៉ុណ្ណោះ"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"ហតស្ប៉ត, USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"ហតស្ប៉ត ប៊្លូធូស"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB, ប៊្លូធូស"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"ហតស្ប៉ត, USB, ប៊្លូធូស"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"មិនកំពុង​ចែករំលែក​អ៊ីនធឺណិត​ជាមួយ​ឧបករណ៍​ផ្សេងទៀត​នោះទេ"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"ការ​ភ្ជាប់"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"កុំប្រើ​ហតស្ប៉ត Wi‑Fi"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"ចែករំលែក​អ៊ីនធឺណិត​តាមរយៈ USB តែប៉ុណ្ណោះ"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"ចែករំលែក​អ៊ីនធឺណិត​តាមរយៈ​ប៊្លូធូស​តែប៉ុណ្ណោះ"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"ចែករំលែក​អ៊ីនធឺណិត​តាមរយៈ USB និង​ប៊្លូធូស​តែប៉ុណ្ណោះ"</string>
     <string name="usb_title" msgid="1157283449840612901">"យូអេសប៊ី"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"ការ​ភ្ជាប់​តាម USB"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"ចែករំលែកការភ្ជាប់អ៊ីនធឺណិតរបស់ទូរសព្ទតាមរយៈ USB"</string>
@@ -1756,9 +1734,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"ព័ត៌មាន​សុវត្ថិភាព"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"អ្នក​មិន​មាន​ការ​ភ្ជាប់​ទិន្នន័យទេ។ ឥឡូវនេះ ដើម្បី​មើល​ព័ត៌មាន​នេះ​ សូមចូល​ទៅ %s ពី​កុំព្យូទ័រណា​មួយ​ដែល​បាន​ភ្ជាប់​អ៊ីនធឺណិត​។"</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"កំពុង​ផ្ទុក..."</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"ប្រើកូដ PIN"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"ប្រើ​លំនាំ"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"ប្រើពាក្យសម្ងាត់"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"កំណត់ការចាក់សោអេក្រង់"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"ដើម្បី​សុវត្ថិភាព សូម​កំណត់​ពាក្យសម្ងាត់"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"ដើម្បី​ប្រើប្រាស់​ស្នាម​ម្រាមដៃ សូម​កំណត់​ពាក្យសម្ងាត់"</string>
@@ -1767,8 +1742,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"ដើម្បី​ប្រើប្រាស់​ស្នាម​ម្រាមដៃ សូម​កំណត់​កូដ PIN"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"ដើម្បី​សុវត្ថិភាព សូម​កំណត់​លំនាំ"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"បញ្ចូល​ពាក្យ​សម្ងាត់​របស់​អ្នក​ម្តងទៀត"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"បញ្ចូល​ពាក្យសម្ងាត់​ការងារ​របស់អ្នក"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"បញ្ជាក់​លំនាំដើម​របស់​អ្នក"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"បញ្ចូល​លំនាំការងារ​របស់អ្នក"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"បញ្ចូល​កូដ PIN របស់អ្នក​ម្តងទៀត"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"បញ្ចូល​កូដ PIN ការងារ​របស់អ្នក"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"ពាក្យសម្ងាត់​មិន​ដូចគ្នា"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"កូដ PINs មិន​ដូច​គ្នា"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"គូរ​លំនាំ​របស់អ្នក​ម្ដង​ទៀត"</string>
@@ -1779,6 +1757,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"ដើម្បី​ប្រើ​ការដោះសោតាមទម្រង់មុខ សូមកំណត់​ពាក្យសម្ងាត់"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"ដើម្បី​ប្រើ​ការដោះសោតាមទម្រង់មុខ សូមកំណត់​លំនាំ"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"ដើម្បី​ប្រើ​ការដោះសោតាមទម្រង់មុខ សូមកំណត់​កូដ PIN"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"ភ្លេចពាក្យសម្ងាត់​របស់អ្នកឬ?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"ភ្លេចលំនាំ​របស់អ្នកឬ?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"ភ្លេចកូដ PIN របស់អ្នកឬ?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"ប្រើលំនាំឧបករណ៍របស់អ្នកដើម្បីបន្ត"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"បញ្ចូលកូដ PIN ឧបករណ៍របស់អ្នកដើម្បីបន្ត"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"បញ្ចូលពាក្យសម្ងាត់ឧបករណ៍របស់អ្នកដើម្បីបន្ត"</string>
@@ -1846,6 +1827,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"អនុញ្ញាតប្រភពកម្មវិធីទាំងអស់"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"កម្មវិធីដែលទើបបើកថ្មីៗ"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"មើលកម្មវិធី​ទាំង <xliff:g id="COUNT">%1$d</xliff:g>"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"ទាក់ទងអ្នកគ្រប់គ្រងផ្នែកព័ត៌មានវិទ្យារបស់អ្នក"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"អ្នកគ្រប់គ្រងផ្នែកព័ត៌មានវិទ្យាអាចជួយអ្នកក្នុងការកំណត់កូដ PIN, លំនាំ ឬពាក្យសម្ងាត់របស់អ្នកឡើងវិញ"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"ថេប្លេត និងទិន្នន័យផ្ទាល់ខ្លួនរបស់អ្នកងាយនឹងរងគ្រោះពីការវាយប្រហារពីកម្មវិធីដែលមិនស្គាល់។ ប្រសិនបើដំឡើងកម្មវិធីពីប្រភពនេះ មានន័យថាអ្នកទទួលខុសត្រូវលើការខូចខាតណាមួយចំពោះទូរសព្ទ ឬការបាត់បង់ទិន្នន័យ ដែលអាចបណ្តាលមកពីការប្រើប្រាស់កម្មវិធីទាំងនោះ។"</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"ទូរសព្ទ និងទិន្នន័យផ្ទាល់ខ្លួនរបស់អ្នកងាយនឹងរងគ្រោះពីការវាយប្រហារពីកម្មវិធីដែលមិនស្គាល់។ ប្រសិនបើដំឡើងកម្មវិធីពីប្រភពនេះ មានន័យថាអ្នកនឹងទទួលខុសត្រូវលើការខូចខាតណាមួយចំពោះទូរសព្ទ ឬការបាត់បង់ទិន្នន័យរបស់អ្នក ដែលអាចបណ្តាលមកពីការប្រើប្រាស់កម្មវិធីទាំងនោះ។"</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"ឧបករណ៍ និងទិន្នន័យផ្ទាល់ខ្លួនរបស់អ្នកងាយនឹងរងគ្រោះពីការវាយប្រហារពីកម្មវិធីដែលមិនស្គាល់។ ប្រសិនបើដំឡើងកម្មវិធីពីប្រភពនេះ មានន័យថាអ្នកទទួលខុសត្រូវលើការខូចខាតទាំងឡាយចំពោះឧបករណ៍ ឬការបាត់បង់ទិន្នន័យ ដែលអាចបណ្តាលមកពីការប្រើប្រាស់កម្មវិធីទាំងនោះ។"</string>
@@ -1897,7 +1880,7 @@
     <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="1377296810290814749">"វា​នឹង​កំណត់​ចំណូល​ចិត្ត​ទាំង​អស់​ឡើងវិញ​សម្រាប់៖\n\n"<li>"កម្មវិធី​ដែលបាន​បិទ"</li>\n<li>"ការ​ជូន​ដំណឹង​កម្មវិធី​ដែល​បាន​បិទ"</li>\n<li>"កម្មវិធី​លំនាំដើម​សម្រាប់​សកម្មភាព"</li>\n<li>"ការ​ដាក់​កម្រិត​ទិន្នន័យ​ផ្ទៃ​ខាង​ក្រោយ​សម្រាប់​កម្មវិធី"</li>\n<li>"ការ​ដាក់​កម្រិត​សិទ្ធិ​ណា​មួយ"</li>\n\n"អ្នក​នឹង​មិន​បាត់បង់​ទិន្នន័យ​កម្មវិធី​ណាមួយ​ទេ។"</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>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"កំណត់​កម្មវិធី​ឡើងវិញ"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"គ្រប់គ្រង​ទំហំ"</string>
     <string name="filter" msgid="9039576690686251462">"តម្រង"</string>
@@ -2097,7 +2080,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"សំឡេង និងអក្សរ​នៅលើអេក្រង់"</string>
     <string name="display_category_title" msgid="6638191682294461408">"បង្ហាញ"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"ការ​គ្រប់គ្រង​អន្តរកម្ម"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"សេវាកម្ម​ដែល​បាន​ទាញយក"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"កម្មវិធី​ដែល​បាន​ទាញយក"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"ពិសោធន៍"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"ទង់​មុខងារ"</string>
     <string name="talkback_title" msgid="8756080454514251327">"កម្មវិធីអានអេក្រង់"</string>
@@ -2105,27 +2088,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"ចុចធាតុ​នៅលើ​អេក្រង់​របស់អ្នក​ដើម្បី​ស្ដាប់​ធាតុ​ទាំង​នោះ​បញ្ចេញសំឡេង​ឮៗ"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"ចំណូលចិត្ត​អក្សររត់"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"ការពង្រីក"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"ផ្ទៃ​ពង្រីក"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"មុខងារ​បើក​ការពង្រីក"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"ជ្រើសរើស​ផ្ទៃពង្រីក​ដែលអ្នក​ចង់ប្រើ នៅពេល​ពង្រីក​អេក្រង់"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"អេក្រង់ពេញ"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"ផ្នែក​នៃ​អេក្រង់"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"អេក្រង់ពេញ និង​ផ្នែកនៃ​អេក្រង់"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"ពង្រីក​អេក្រង់​ទាំងមូល"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"ពង្រីក​ផ្នែកនៃ​អេក្រង់"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"ការកំណត់​ការពង្រីក"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"ពង្រីកដោយធ្វើការចុចបីដង"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"ពង្រីកដោយប្រើផ្លូវកាត់"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"ពង្រីកដោយប្រើផ្លូវកាត់ និងចុចបីដង"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"អំពី <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"ជម្រើស"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"ពង្រីកនៅលើអេក្រង់"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"ប៉ះ 3 ដងដើម្បីពង្រីក"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"ចុចប៊ូតុងដើម្បីពង្រីក ឬបង្រួម"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><b>"ដើម្បីពង្រីក ឬបង្រួម"</b>" សូមចុចឲ្យរហ័សចំនួន 3 ដងនៅលើអេក្រង់។\n"<ul><li>"អូសដោយប្រើម្រាមដៃ 2 ឬច្រើនដើម្បីរំកិល"</li>\n<li>"ច្បិចដោយប្រើម្រាមដៃ 2 ឬច្រើន ដើម្បីកែសម្រួល​ការពង្រីក ឬបង្រួម"</li></ul>\n\n<b>"ដើម្បី​ពង្រីក ឬបង្រួម​ជាបណ្តោះអាសន្ន"</b>" សូមចុចឲ្យរហ័សចំនួន 3 ដងនៅលើអេក្រង់ ហើយចុចឲ្យជាប់នៅពេលចុចលើកទីបី។\n"<ul><li>"អូសដើម្បីផ្លាស់ទីនៅលើអេក្រង់"</li>\n<li>"លើកម្រាមដៃឡើងដើម្បីបង្រួម"</li></ul>\n\n"អ្នកមិនអាចពង្រីកនៅលើក្តារចុច ឬរបាររុករកបានទេ។"</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"នៅពេល​បើកការពង្រីក អ្នក​អាចពង្រីក​នៅលើអេក្រង់​របស់អ្នក។\n\n"<b>"ដើម្បី​ពង្រីកបង្រួម"</b>" សូម​ចាប់ផ្ដើម​ការពង្រីក រួច​ចុចលើកន្លែងណាមួយ​នៅលើអេក្រង់។\n"<ul><li>"• អូស​ដោយប្រើ​ម្រាមដៃ​ 2 ឬ​ច្រើនជាងនេះ ដើម្បីរំកិល​"</li>\n<li>"• ច្បិច​ដោយប្រើ​ម្រាមដៃ 2 ឬច្រើនជាងនេះ ដើម្បី​កែតម្រូវការពង្រីកបង្រួម"</li></ul>\n\n<b>"ដើម្បី​ពង្រីកបង្រួម​ជាបណ្ដោះអាសន្ន​"</b>" សូម​ចាប់ផ្ដើម​ការពង្រីក រួច​ចុច​លើកន្លែងណាមួយ​នៅលើអេក្រង់ឱ្យជាប់។\n"<ul><li>"• អូសដើម្បី​ផ្លាស់ទី​នៅជុំវិញអេក្រង់​"</li>\n<li>"• លើកម្រាមដៃ ដើម្បីបង្រួម"</li></ul>\n\n"អ្នកមិន​អាច​ពង្រីក​នៅលើក្ដារចុច ឬរបាររុករក​បានទេ។"</string>
+    <string name="accessibility_screen_magnification_summary" msgid="7617931632990040045">"ពង្រីក​យ៉ាងរហ័ស​នៅលើ​អេក្រង់ ដើម្បី​មើលឃើញ​ខ្លឹមសារ​បាន​ច្បាស់​ជាង​មុន។&lt;br/&gt;&lt;br/&gt;&lt;b&gt;ដើម្បី​ពង្រីក៖&lt;/b&gt;&lt;br/&gt;	1. ប្រើ​ផ្លូវកាត់ ដើម្បី​ចាប់ផ្ដើម​ការពង្រីក&lt;br/&gt;	2. ចុច​អេក្រង់&lt;br/&gt;	3. អូស​ដោយប្រើ​ម្រាមដៃ 2 ដើម្បី​ផ្លាស់ទី​នៅជុំវិញ​អេក្រង់&lt;br/&gt;	4. ច្បិច​ដោយប្រើ​ម្រាមដៃ 2 ដើម្បី​កែតម្រូវ​ការពង្រីកបង្រួម&lt;br/&gt;	5. ប្រើ​ផ្លូវកាត់ ដើម្បី​បញ្ឈប់​ការ​ពង្រីក&lt;br/&gt;&lt;br/&gt;&lt;b&gt;ដើម្បី​ពង្រីក​ជាបណ្ដោះអាសន្ន៖&lt;/b&gt;&lt;br/&gt;	1. ប្រើ​ផ្លូវកាត់ ដើម្បី​ចាប់ផ្ដើម​ការពង្រីក&lt;br/&gt;	2. ចុច​កន្លែងណាមួយ​នៅលើ​អេក្រង់​ឱ្យជាប់&lt;br/&gt;	3. អូសម្រាមដៃ ដើម្បី​ផ្លាស់ទី​នៅជុំវិញ​អេក្រង់&lt;br/&gt;	4. លើកម្រាមដៃ ដើម្បី​បញ្ឈប់​ការ​ពង្រីក"</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"នៅពេល​បើកការពង្រីក អ្នក​អាចពង្រីក​នៅលើអេក្រង់​របស់អ្នកបាន។\n\n"<b>"ដើម្បី​ពង្រីកបង្រួម"</b>" សូម​ចាប់ផ្ដើម​ការពង្រីក រួច​ចុចលើកន្លែងណាមួយ​នៅលើអេក្រង់។\n"<ul><li>"អូសដោយប្រើម្រាមដៃ 2 ឬច្រើនដើម្បីរំកិល"</li>\n<li>"ច្បិចដោយប្រើម្រាមដៃ 2 ឬច្រើន ដើម្បីកែតម្រូវ​ការពង្រីកបង្រួម"</li></ul>\n\n<b>"ដើម្បី​ពង្រីកបង្រួម​ជាបណ្តោះអាសន្ន"</b>" ចាប់ផ្តើម​ការពង្រីក បន្ទាប់មកចុចសង្កត់​កន្លែងណាមួយនៅលើអេក្រង់ឱ្យជាប់។\n"<ul><li>"អូសដើម្បីផ្លាស់ទីនៅលើអេក្រង់"</li>\n<li>"លើកម្រាមដៃឡើងដើម្បីបង្រួម"</li></ul>\n\n"អ្នកមិនអាចពង្រីកនៅលើក្តារចុច ឬរបាររុករកបានទេ។"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"ប្រើ​ប៊ូតុងភាពងាយស្រួល ដើម្បីបើក"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"ប្រើ​ចលនា ដើម្បីបើក"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"ប្រើចលនាភាព​ងាយស្រួលថ្មី"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"ដើម្បី​បើក​ ឬបិទសេវាកម្ម​នេះ សូមចុច​ប៊ូតុងភាពងាយស្រួល <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>នៅ​ផ្នែកខាងក្រោម​នៃអេក្រង់របស់អ្នក។\n\nដើម្បី​ប្ដូរ​ឆ្លាស់​រវាងសេវាកម្ម​ផ្សេងៗ សូមចុច​ប៊ូតុងភាពងាយស្រួល​ឱ្យជាប់។"</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"ដើម្បី​បើក​ ឬបិទសេវាកម្ម​នេះ សូមអូសឡើងលើ​ពីផ្នែកខាងក្រោម​នៃ​អេក្រង់​ ដោយប្រើ​ម្រាមដៃពីរ។​\n\nដើម្បី​ប្ដូរ​ឆ្លាស់​រវាងសេវាកម្ម​ផ្សេងៗ សូមអូស​ឡើងលើដោយប្រើម្រាមដៃពីរ ហើយសង្កត់ឱ្យជាប់។"</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"ដើម្បី​បើក​ ឬបិទសេវាកម្ម​នេះ សូមអូសឡើងលើ​ពីផ្នែកខាងក្រោម​នៃ​អេក្រង់​ ដោយប្រើ​ម្រាមដៃបី។\n\nដើម្បី​ប្ដូរ​ឆ្លាស់រវាង​សេវាកម្ម​ផ្សេងៗ សូមអូស​ឡើងលើដោយប្រើម្រាមដៃបី ហើយសង្កត់ឱ្យជាប់។"</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"ដើម្បី​បើក​ ឬបិទសេវាកម្ម​ភាពងាយស្រួល សូមអូសឡើងលើ​ពីផ្នែកខាងក្រោម​នៃ​អេក្រង់​ ដោយប្រើ​ម្រាមដៃពីរ។\n\nដើម្បី​ប្ដូរ​ឆ្លាស់រវាង​សេវាកម្ម​ផ្សេងៗ សូមអូស​ឡើងលើដោយប្រើម្រាមដៃពីរ ហើយសង្កត់ឱ្យជាប់។"</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"ដើម្បី​បើក​ ឬបិទសេវាកម្ម​ភាពងាយស្រួល សូមអូសឡើងលើ​ពីផ្នែកខាងក្រោម​នៃ​អេក្រង់​ ដោយប្រើ​ម្រាមដៃបី។\n\nដើម្បី​ប្ដូរ​ឆ្លាស់រវាង​សេវាកម្ម​ផ្សេងៗ សូមអូស​ឡើងលើដោយប្រើម្រាមដៃបី ហើយសង្កត់ឱ្យជាប់។"</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"ដើម្បី​បើក​ ឬបិទសេវាកម្ម​នេះ សូមចុច​ប៊ូតុងភាពងាយស្រួល <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> នៅ​ផ្នែកខាងក្រោម​នៃអេក្រង់របស់អ្នក។\n\nដើម្បី​ប្ដូរ​ឆ្លាស់​រវាងសេវាកម្ម​ផ្សេងៗ សូមចុច​ប៊ូតុងភាពងាយស្រួល​ឱ្យជាប់។"</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"ដើម្បី​បើក​ ឬបិទសេវាកម្ម​នេះ សូមអូសឡើងលើ​ពីផ្នែកខាងក្រោម​នៃ​អេក្រង់​ ដោយប្រើ​ម្រាមដៃពីរ។​\n\nដើម្បី​ប្ដូរ​ឆ្លាស់​រវាងសេវាកម្ម​ផ្សេងៗ សូមអូស​ឡើងលើដោយប្រើម្រាមដៃពីរ ហើយសង្កត់ឱ្យជាប់។"</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"ដើម្បី​បើក​ ឬបិទសេវាកម្ម​នេះ សូមអូសឡើងលើ​ពីផ្នែកខាងក្រោម​នៃ​អេក្រង់​ ដោយប្រើ​ម្រាមដៃបី។\n\nដើម្បី​ប្ដូរ​ឆ្លាស់រវាង​សេវាកម្ម​ផ្សេងៗ សូមអូស​ឡើងលើដោយប្រើម្រាមដៃបី ហើយសង្កត់ឱ្យជាប់។"</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"ដើម្បី​បើក​ ឬបិទសេវាកម្ម​ភាពងាយស្រួល សូមអូសឡើងលើ​ពីផ្នែកខាងក្រោម​នៃ​អេក្រង់​ ដោយប្រើ​ម្រាមដៃពីរ។\n\nដើម្បី​ប្ដូរ​ឆ្លាស់រវាង​សេវាកម្ម​ផ្សេងៗ សូមអូស​ឡើងលើដោយប្រើម្រាមដៃពីរ ហើយសង្កត់ឱ្យជាប់។"</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"ដើម្បី​បើក​ ឬបិទសេវាកម្ម​ភាពងាយស្រួល សូមអូសឡើងលើ​ពីផ្នែកខាងក្រោម​នៃ​អេក្រង់​ ដោយប្រើ​ម្រាមដៃបី។\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="2820923641553461297">"ប៊ូតុង​ភាពងាយស្រួល"</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="8922102767509399352">"ចុច​ប៊ូតុង​ភាពងាយស្រួល <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> នៅផ្នែក​ខាងក្រោមនៃ​អេក្រង់​របស់អ្នក"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"អូស​​ពីផ្នែកខាងក្រោម​នៃ​អេក្រង់ឡើងលើ ដោយប្រើ​ម្រាមដៃ 2"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"អូស​ពីផ្នែកខាងក្រោម​នៃ​អេក្រង់ឡើងលើ​ ដោយប្រើ​ម្រាមដៃ 3"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"សង្កត់គ្រាប់ចុច​កម្រិតសំឡេង​ឱ្យជាប់"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"ចុច​គ្រាប់ចុច​កម្រិតសំឡេង​ទាំងពីរ​ឱ្យជាប់​រយៈពេល 1 វិនាទី"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"ចុច​អេក្រង់​បីដង"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"ចុច​អេក្រង់ 3 ដង​ឱ្យ​រហ័ស។ ផ្លូវកាត់​នេះ​អាច​ធ្វើឱ្យ​ឧបករណ៍​របស់អ្នក​ដើរយឺត។"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"កម្រិតខ្ពស់"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"ប៊ូតុងភាពងាយស្រួលត្រូវបានកំណត់ទៅ <xliff:g id="SERVICE">%1$s</xliff:g>។ ដើម្បីប្រើការពង្រីក សូមចុចប៊ូតុងភាពងាយស្រួលឲ្យជាប់ បន្ទាប់មកជ្រើសរើសការពង្រីក។"</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"ចលនា​ភាពងាយស្រួល​ត្រូវបានកំណត់​ទៅ <xliff:g id="SERVICE">%1$s</xliff:g> ។ ដើម្បី​ប្រើ​ការពង្រីក សូមអូស​ឡើងលើ​ដោយប្រើ​ម្រាមដៃ​ពីរ ពី​ផ្នែកខាងក្រោម​នៃអេក្រង់ ហើយ​សង្កត់ឱ្យជាប់។ បន្ទាប់មក ជ្រើសរើស​ការពង្រីក។"</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"ផ្លូវកាត់គ្រាប់ចុច​កម្រិតសំឡេង"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"សេវាកម្មផ្លូវកាត់"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"ការកំណត់​ផ្លូវកាត់"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"អនុញ្ញាតចាប់ពីអេក្រង់ជាប់សោ"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"នៅពេលដែលផ្លូវកាត់នេះបើក អ្នកអាច​ចុច​គ្រាប់ចុច​កម្រិត​សំឡេង​ទាំង​ពីរ​ឲ្យបាន 3 វិនាទី ដើម្បី​ចាប់ផ្តើម​មុខងារ​ភាពងាយស្រួល។"</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"អត្ថបទ​​កម្រិត​ពណ៌​ខ្ពស់"</string>
@@ -2149,24 +2157,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"ជ្រើសរើសរយៈពេលសម្រាប់បង្ហាញសារ​ដែលស្នើឱ្យអ្នក​ធ្វើសកម្មភាព ប៉ុន្តែអាចមើលឃើញ​បណ្ដោះអាសន្ន​តែប៉ុណ្ណោះ។\n\nមិនមែនគ្រប់កម្មវិធីទាំងអស់សុទ្ធតែស្គាល់ការកំណត់នេះទេ។"</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"ប៉ះ និង សង្កត់​ឲ្យ​យូរ"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"​បញ្ច្រាស​ពណ៌"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"អាចប៉ះពាល់ដល់ប្រតិបត្តិការ"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"ពេលនៅសល់"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"ប្រើ​ការ​បញ្ច្រាស​ពណ៌"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"ការបញ្ច្រាស​ពណ៌​ប្រែពណ៌​អេក្រង់​ដែលភ្លឺ​ទៅ​ងងឹត។ ការ​បញ្ច្រាស​ពណ៌​ជួយ​អ្នក​ដែល​ពិបាក​មើល​នៅពេល​មាន​ពន្លឺ​ភ្លឺ​ឱ្យមើល​អេក្រង់បានងាយស្រួល​ជាងមុន។&lt;br/&gt;&lt;br/&gt;ចំណាំ៖ ពណ៌ងងឹត​នឹង​ប្រែទៅភ្លឺ។ ពណ៌​នឹង​ប្រែប្រួល​នៅក្នុងមេឌៀ និងរូបភាព។ អ្នក​ក៏​អាច​ប្រើ​រចនាប័ទ្ម​ងងឹត​បានផងដែរ (ការកំណត់ > អេក្រង់)។"</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"ចុច​ដោយស្វ័យប្រវត្តិ (ពេលនៅសល់)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"ប្រសិនបើ​អ្នកកំពុងប្រើ​កណ្តុរ អ្នក​អាច​កំណត់​ទស្សន៍ទ្រនិចឱ្យធ្វើសកម្មភាព​ដោយស្វ័យប្រវត្តិ នៅពេល​វា​ឈប់ធ្វើចលនាក្នុងអំឡុង​រយៈពេលណាមួយ។"</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"ពន្យារពេលមុនពេលចុច"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"កុំប្រើការចុចដោយស្វ័យប្រវត្តិ (លំនាំដើម)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"ខ្លី"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0.2 វិនាទី"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"មធ្យម"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0.6 វិនាទី"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"វែង"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 វិនាទី"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"ផ្ទាល់ខ្លួន"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"ខ្លីជាង"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"យូរជាង"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"រយៈពេល​ចុច​ដោយស្វ័យប្រវត្តិ"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"កម្លាំង​នៃការប៉ះ និង​ការញ័រ"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"ការ​ញ័រនៃការជូនដំណឹង"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"ការញ័រ​នៃសំឡេងរោទ៍"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"ប្រតិកម្មតបនឹងការប៉ះ"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"ប្រើ​សេវាកម្ម"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"ប្រើ <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"បើក <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"ប្រើ​ការ​កែតម្រូវពណ៌"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"ប្រើ​អក្សររត់"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"បង្ហាញ​អក្សររត់"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"រូបរាង​អក្សររត់"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"ទំហំ​អក្សរ រចនាប័ទ្ម​អក្សររត់"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"ជម្រើស​ច្រើនទៀត"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"មិនមែនគ្រប់​កម្មវិធីទាំងអស់​សុទ្ធតែស្គាល់ការកំណត់នេះទេ។"</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"ប៊ូតុង​ភាពងាយស្រួល"</string>
+    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"អូសម្រាមដៃ 2 ពីក្រោម​ឡើងលើ"</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>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"ឧបករណ៍​ជំនួយការ​ស្ដាប់"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"មិនបានភ្ជាប់​ឧបករណ៍​ជំនួយ​ការ​ស្តាប់ទេ"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"បញ្ចូល​ឧបករណ៍​ជំនួយការ​ស្ដាប់"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"ដើម្បី​ផ្គូផ្គង​ជាមួយ​ឧបករណ៍​ជំនួយ​ការ​ស្តាប់ សូម​ស្វែងរក រួច​ចុច​ឧបករណ៍​របស់អ្នក​នៅលើ​អេក្រង់​បន្ទាប់។"</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"សូម​ប្រាកដ​ថា​ឧបករណ៍​ជំនួយ​ការ​ស្តាប់​របស់អ្នក​ស្ថិត​ក្នុង​មុខងារ​ផ្គូផ្គង។"</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"ដើម្បី​ផ្គូផ្គង​ជាមួយ​ឧបករណ៍​ជំនួយ​ការ​ស្តាប់ សូម​ស្វែងរក រួច​ចុច​ឧបករណ៍​របស់អ្នក​នៅលើ​អេក្រង់​បន្ទាប់។ សូម​ប្រាកដ​ថា​ឧបករណ៍​ជំនួយ​ការ​ស្តាប់​របស់អ្នក​ស្ថិត​ក្នុង​មុខងារ​ផ្គូផ្គង។"</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> កំពុង​ដំណើរការ"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="other">ឧបករណ៍​ជំនួយ​ការស្តាប់ <xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> ដែលបាន​រក្សាទុក</item>
@@ -2178,25 +2204,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"សេវាកម្ម​នេះ​កំពុង​ដំណើរការ​ខុសប្រក្រតី។"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"បង្ហាញ​នៅ​ក្នុង​ការ​កំណត់​​រហ័ស"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"របៀប​កែ"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="other">ពន្យារពេលយ៉ាងខ្លីបំផុត (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">ពន្យារពេលយ៉ាងខ្លីបំផុត (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"ក្រហម-បៃតង"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"បៃតង-ក្រហម"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"ខៀវ-លឿង"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"អ្នកមើល​មិនឃើញ​ពណ៌បៃតង"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"អ្នកមើល​មិនឃើញ​ពណ៌ក្រហម"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"អ្នកមើល​មិនឃើញ​ពណ៌ខៀវ"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="other">ការពន្យារពេល​ខ្លី​បំផុត (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> វិនាទី)</item>
+      <item quantity="one">ការពន្យារពេល​ខ្លី​បំផុត (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> វិនាទី)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="other">ពន្យារពេលខ្លីណាស់ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">ពន្យារពេលខ្លីណាស់ (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="other">ការពន្យារពេល​​ខ្លីខ្លាំង (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> វិនាទី)</item>
+      <item quantity="one">ការពន្យារពេល​ខ្លីខ្លាំង (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> វិនាទី)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="other">ពន្យារពេលខ្លី (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">ពន្យារពេលខ្លី (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="other">ការពន្យារពេល​ខ្លី (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> វិនាទី)</item>
+      <item quantity="one">ការពន្យារពេល​ខ្លី (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> វិនាទី)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="other">ពន្យារពេលយូរ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">ពន្យារពេលយូរ (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="other">ការពន្យារពេល​យូរ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> វិនាទី)</item>
+      <item quantity="one">ការពន្យារពេល​យូរ (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> វិនាទី)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="other">ពន្យារពេលយូរណាស់ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">ពន្យារពេលយូរណាស់ (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="other">ការពន្យារពេល​យូរខ្លាំង (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> វិនាទី)</item>
+      <item quantity="one">ការពន្យារពេល​យូរខ្លាំង (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> វិនាទី)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> វិនាទី</item>
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> វិនាទី</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"​សំឡេង​រោទ៍ <xliff:g id="SUMMARY_RING">%1$s</xliff:g>, ការជូនដំណឹង <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>, ការប៉ះ <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"បានបិទញ័រ​សម្រាប់​ការ​រោទ៍ និង​ការជូន​ដំណឹង"</string>
@@ -2513,7 +2549,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"ពេល​បាន​ដក​ឧបករណ៍​បញ្ចូល​ថ្ម​ចុង​ក្រោយ​សម្រាប់ <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"ការ​ប្រើ​សរុប"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"ផ្ទុក​ឡើងវិញ"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"ប្រព័ន្ធ​ប្រតិបត្តិការ Android"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"Mediaserver"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"បង្កើនប្រសិទ្ធិភាពកម្មវិធី"</string>
     <string name="battery_saver" msgid="7737147344510595864">"កម្មវិធីសន្សំថ្ម"</string>
@@ -2594,8 +2629,7 @@
     <string name="tts_play" msgid="2945513377250757221">"លេង"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"កន្លែងផ្ទុកព័ត៌មានសម្គាល់ខ្លួន"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"ដំឡើង​ពី​ឧបករណ៍​ផ្ទុក"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"ដំឡើង​ពី​កាត​អេសឌី"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"ដំឡើង​វិញ្ញាបនបត្រ"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"ដំឡើង​វិញ្ញាបនបត្រ​ពី​ឧបករណ៍​ផ្ទុក"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"ដំឡើង​វិញ្ញាបនបត្រ​ពី​កាត​អេសឌី"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"សម្អាត​ព័ត៌មានសម្គាល់ខ្លួន"</string>
@@ -2615,6 +2649,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"បាន​លុប​ការ​ផ្ទុក​ព័ត៌មាន​សម្ងាត់។"</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"មិន​អាច​លុប​ការ​ផ្ទុក​​​ព័ត៌មាន​សម្ងាត់។"</string>
     <string name="usage_access_title" msgid="1580006124578134850">"កម្មវិធី​មាន​សិទ្ធិ​ប្រើប្រាស់"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"វិញ្ញាបនបត្រ CA"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"វិញ្ញាបនបត្រអ្នកប្រើប្រាស់កម្មវិធី និង VPN"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"វិញ្ញាបនបត្រ Wi‑Fi"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"ឯកជនភាព​របស់អ្នក​កំពុងប្រឈម​នឹង​ហានិភ័យ"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"វិញ្ញាបនបត្រ CA ត្រូវបានប្រើ​ដោយគេហទំព័រ កម្មវិធី និង VPN សម្រាប់ការ​អ៊ីនគ្រីប។ ដំឡើង​តែវិញ្ញាបនបត្រ CA ពីស្ថាប័ន​ដែលអ្នក​ជឿទុកចិត្ត​ប៉ុណ្ណោះ។ \n\n ប្រសិនបើអ្នក​ដំឡើង​វិញ្ញាបនបត្រ CA ម្ចាស់​វិញ្ញាបនបត្រ​អាចចូល​ប្រើព័ត៌មាន​របស់អ្នក​ដូចជា ពាក្យសម្ងាត់ សារ ឬ​ព័ត៌មានលម្អិតអំពី​បណ្ណឥណទាន​ពីគេហទំព័រ​ដែលអ្នក​ចូលមើល ឬពី​កម្មវិធីដែល​អ្នកប្រើ ទោះបីជា​ព័ត៌មាន​នោះត្រូវបាន​អ៊ីនគ្រីប​ក៏ដោយ។"</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"កុំ​ដំឡើង"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"មិនអីទេ ដំឡើងចុះ"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"មិនបាន​ដំឡើង​វិញ្ញាបនបត្រទេ"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"សញ្ញា​ហៅទូរសព្ទ​ពេលអាសន្ន"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"កំណត់​ឥរិយាបថ​ពេល​ហៅ​ពេល​មាន​អាសន្ន"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"បម្រុង​ទុក"</string>
@@ -2642,10 +2684,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"បិទដំណើរការ ហើយលុប"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"កម្មវិធីអ្នកគ្រប់គ្រងឧបករណ៍"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"មិនមានកម្មរិធីអ្នកគ្រប់គ្រងឧបករណ៍ទេ"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"ផ្ទាល់ខ្លួន"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"ការងារ"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"ដាក់កំហិត​សិទ្ធិចូលប្រើ​កំណត់ហេតុ​ហៅទូរសព្ទ និងសារ SMS"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"មានតែ​ទូរសព្ទ​លំនាំដើម និងកម្មវិធី​ផ្ញើសារ​ប៉ុណ្ណោះ​ដែលអាចប្រើកំណត់ហេតុ​ហៅទូរសព្ទ និងសារ SMS បាន"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"មិន​មាន​ភ្នាក់ងារ​ដែល​ទុក​ចិត្ត"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"បើកដំណើរការ​កម្មវិធី​អ្នក​គ្រប់គ្រង​ឧបករណ៍?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"បើកដំណើរការ​កម្មវិធី​អ្នក​គ្រប់គ្រង​ឧបករណ៍​នេះ"</string>
@@ -2659,6 +2697,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"ជម្រើស​ផ្សេងទៀត​ត្រូវ​បាន​បិទ​ដោយ​អ្នកគ្រប់គ្រង​របស់អ្នក"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"ព័ត៌មានលម្អិតបន្ថែម"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"កំណត់​ហេតុ​ជូន​ដំណឹង"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"ប្រវត្តិ​ការ​ជូន​ដំណឹង"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"ថ្ងៃនេះ"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"បាន​ផ្អាក"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"បានច្រានចោល​ថ្មីៗនេះ"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="other">ការជូនដំណឹង <xliff:g id="NUMBER_1">%d</xliff:g></item>
+      <item quantity="one">ការជូនដំណឹង <xliff:g id="NUMBER_0">%d</xliff:g></item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"សំឡេង​រោទ៍​ការ​ហៅ &amp; ញ័រ"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"ព័ត៌មាន​អំពីបណ្ដាញ"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"បាន​បើក​ការ​ធ្វើ​សម​កាល​កម្ម"</string>
@@ -3008,7 +3054,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"ការ​ដាក់​កម្រិត"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"យក​ការ​ដាក់កម្រិត​ចេញ"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"ប្ដូរ​កូដ PIN"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"បង្ហាញ​ការ​ជូន​ដំណឹង"</string>
     <string name="help_label" msgid="2896538416436125883">"ជំនួយ &amp; មតិស្ថាបនា"</string>
     <string name="support_summary" msgid="1034146931237148885">"អត្ថបទជំនួយ ទូរសព្ទ និងការជជែក ការចាប់ផ្តើម"</string>
     <string name="user_account_title" msgid="6389636876210834864">"គណនី​សម្រាប់​មាតិកា"</string>
@@ -3033,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"ការហៅទូរសព្ទតាមរយៈ 4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"ប្រើសេវាកម្ម LTE ដើម្បីធ្វើឱ្យសំឡេង និងការប្រាស្រ័យទាក់ទង​ផ្សេងទៀតប្រសើរជាងមុន ​(បានណែនាំ)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"ប្រើប្រាស់​សេវាកម្ម 4G ដើម្បីធ្វើឱ្យ​សំឡេង និង​ការ​ប្រាស្រ័យ​ទាក់ទង​ផ្សេងទៀតប្រសើរជាងមុន (បានណែនាំ)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"ការរកមើលទំនាក់ទំនង"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"អនុញ្ញាតឱ្យក្រុមហ៊ុន​សេវាទូរសព្ទរបស់អ្នករកមើលថាមុខងារហៅទូរសព្ទណាខ្លះ ដែលទំនាក់ទំនងរបស់អ្នកអាចប្រើបាន។"</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"បើកការរកមើលទំនាក់ទំនងឬ?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"ការបើកមុខងារនេះនឹងអនុញ្ញាតក្រុមហ៊ុន​សេវាទូរសព្ទរបស់អ្នកចូលប្រើលេខទូរសព្ទនៅក្នុងទំនាក់ទំនងរបស់អ្នក ដើម្បីរកមើលថាមុខងារហៅទូរសព្ទណាខ្លះ ដែលលេខទូរសព្ទទាំងនោះអាចប្រើបាន។"</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"ប្រភេទ​បណ្ដាញ​​ដែល​​ពេញចិត្ត"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (បាន​ណែនាំ)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"សារ MMS"</string>
@@ -3077,7 +3126,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"ហៅ​ជាមួយ"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"ជ្រើស​ស៊ី​ម​កាត"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"ស៊ី​ម <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"អត់មាន​ស៊ីមកាត"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"ឈ្មោះ​ស៊ី​ម​"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"បញ្ចូលឈ្មោះស៊ីមកាត"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"រន្ធ​ស៊ីម %1$d"</string>
@@ -3087,6 +3135,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"ជ្រើស​ស៊ី​ម​កាត"</string>
     <string name="color_orange" msgid="216547825489739010">"ទឹកក្រូច"</string>
     <string name="color_purple" msgid="6603701972079904843">"ស្វាយ"</string>
+    <string name="color_pink" msgid="8596872110888626708">"ផ្កាឈូក"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"គ្មាន​ស៊ី​ម​កាត​បាន​បញ្ចូល"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"ស្ថានភាព​ស៊ី​ម​កាត"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"ស្ថានភាពស៊ីម (រន្ធស៊ីម %1$d)"</string>
@@ -3100,7 +3149,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"ស៊ីមកាតត្រូវបានប្តូរ។"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"ប៉ះដើម្បីដំឡើង"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"ស៊ីម​ពេញ​ចិត្ត​សម្រាប់"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"សួរគ្រប់ពេល"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"ជម្រើស​ដែលទាមទារ"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"ការជ្រើសរើសស៊ីម"</string>
@@ -3118,6 +3166,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"ប៊្លូធូស មុខងារ​បើកបរ"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"ប៊្លូធូស, NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"ប៊្លូធូស"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"មិនអាចប្រើបានទេ ដោយសារ NFC ត្រូវបានបិទ"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"កម្មវិធី និងការជូនដំណឹង"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"កម្មវិធី​ថ្មីៗ កម្មវិធីលំនាំដើម"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"មិនអាច​ចូល​ប្រើ​ការ​ជូន​ដំណឹងបានទេ​សម្រាប់​កម្មវិធី​នៅក្នុង​កម្រង​ព័ត៌មាន​ការងារ។"</string>
@@ -3128,13 +3177,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"ការកំណត់"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"wifi, wi-fi, ការ​តភ្ជាប់​បណ្តាញ អ៊ីនធឺណិត ឥតខ្សែ ទិន្នន័យ, wi fi"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"ការជូនដំណឹងអំពី Wi‑Fi, ការជូនដំណឹងអំពី wifi"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"ការប្រើទិន្នន័យ"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"បញ្ឈប់​ការញ័រ ចុច ក្ដារចុច"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"ប្រើ​ទម្រង់ 24 ម៉ោង"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"ទាញយក"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"បើក​ជាមួយ"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"កម្មវិធី"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"ល្វែងម៉ោង"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"ក្បាល​នៃការជជែក"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"ក្បាល​នៃការជជែក, ប្រព័ន្ធ, ការជូនដំណឹង, វិនដូ, ប្រអប់បញ្ចូល, ផ្ទាំងអេក្រង់, នៅលើ​កម្មវិធី​ផ្សេងទៀត, ទាញ"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"ពិល, ពន្លឺ"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"wifi, wi-fi, បិទ/បើក, គ្រប់គ្រង"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"ចល័ត ឧបករណ៍​ចល័ត ក្រុមហ៊ុន​បម្រើ​សេវា​ទូរសព្ទ ឥត​ខ្សែ ទិន្នន័យ 4g, 3g, 2g, lte"</string>
@@ -3158,7 +3208,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"កុំ កុំ រំខាន, ផ្អាក, ការផ្អាក, បំបែក"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"នៅជិត, ទីតាំង, ប្រវត្តិ, ការរាយការណ៍, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"គណនី"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"គណនី បញ្ចូល​គណនី កម្រងព័ត៌មាន​ការងារ បញ្ចូល​គណនី"</string>
     <string name="keywords_users" msgid="3497517660077620843">"ការដាក់កម្រិត, ដាក់កម្រិត, បានដាក់កម្រិត"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"ការកែអត្ថបទ, កែ, សំឡេង, ញ័រ, ស្វ័យប្រវត្តិ, ភាសា, កាយវិការ, ផ្តល់យោបល់, ការផ្តល់យោបល់, ធីម, បំពាន, ពាក្យ, វាយបញ្ចូល, សញ្ញាអារម្មណ៍, អន្តរជាតិ"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"កំណត់ឡើងវិញ, ចំណូលចិត្ត, លំនាំដើម"</string>
@@ -3196,6 +3246,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"អង្គចងចាំ ឃ្លាំងផ្ទុកទិន្នន័យ ទិន្នន័យ លុប សម្អាត ទំនេរ ទំហំផ្ទុក"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"បាន​ភ្ជាប់ ឧបករណ៍ កាសស្តាប់ កាសស្តាប់និងនិយាយ ឧបករណ៍​បំពង​សំឡេង ឥតខ្សែ ភ្ជាប់ កាសដោតរន្ធត្រចៀក តន្ត្រី មេឌៀ"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"ផ្ទៃ​ខាងក្រោយ អេក្រង់ អេក្រង់ចាក់សោ រចនាប័ទ្ម"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"រូបរាង​រូបតំណាង ពណ៌​រំលេច ពុម្ពអក្សរ"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"លំនាំដើម ជំនួយការ"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"ការបង់ប្រាក់ លំនាំដើម"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"ការជូនដំណឹង​ដែល​នឹងមកដល់"</string>
@@ -3205,18 +3256,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"ការប៉ះ ការញ័រ រំញោច"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"កម្មវិធី​សន្សំ​ថ្ម ស្អិត នៅតែកើតឡើងដដែល កម្មវិធី​សន្សំថាមពល ថ្ម"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"ទម្លាប់ កាលវិភាគ កម្មវិធីសន្សំថ្ម កម្មវិធីសន្សំថាមពល ថ្ម ស្វ័យប្រវត្តិ ភាគរយ"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"កម្រងព័ត៌មាន​ការងារ"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"volte, ការហៅទូរសព្ទ​កម្រិតខ្ពស់, ការហៅទូរសព្ទតាមរយៈប្រព័ន្ធ 4g"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"បញ្ចូលភាសា បញ្ចូលភាសាមួយ"</string>
     <string name="default_sound" msgid="6604374495015245195">"សំឡេង​លំនាំ​ដើម"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"កម្រិតសំឡេងរោទ៍ត្រឹម <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"កម្រិតសំឡេង​រោទ៍ និង​ការជូន​ដំណឹង​ត្រឹម <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"កម្រិត​សំឡេង ការញ័រ កុំរំខាន"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"បានកំណត់សំឡេងរោទិ៍ឲ្យញ័រ"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"បានកំណត់សំឡេងរោទិ៍ឲ្យស្ងាត់"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"កម្រិតសំឡេងរោទ៍ត្រឹម 80%"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"កម្រិតសំឡេង​រោទ៍ និង​ការជូន​ដំណឹង​ត្រឹម 80%"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"កម្រិត​សំឡេង​មេឌៀ"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"កម្រិតសំឡេងនៃការបញ្ជូន"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"កម្រិត​សំឡេង​ហៅ"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"កម្រិត​សំឡេងម៉ោង​រោទ៍"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"កម្រិត​សំឡេង​រោទ៍"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"កម្រិតសំឡេងរោទ៍ និងការជូនដំណឹង"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"កម្រិត​សំឡេង​ការ​ជូន​ដំណឹង"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"សំឡេង​រោទ៍​ទូរសព្ទ"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"សំឡេង​ជូន​ដំណឹង​លំនាំដើម"</string>
@@ -3224,6 +3276,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"សំឡេង​ជូន​ដំណឹង​លំនាំដើម"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"សំឡេងម៉ោងរោទ៍លំនាំដើម"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"ញ័រ​សម្រាប់ការហៅទូរសព្ទ"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"កុំ​ញ័រ"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"ញ័រ​ជានិច្ច"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"ញ័រ​ជាមុនសិន ទើប​រោទ៍​បន្តិចម្តងៗ​តាមក្រោយ"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"សំឡេង​ផ្សេង​ទៀត"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"សំឡេង​បន្ទះ​លេខ"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"សំឡេង​ចាក់សោ​អេក្រង់"</string>
@@ -3247,6 +3302,7 @@
       <item quantity="one">បាន​បើកកាលវិភាគ​ 1</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"កុំ​រំខាន"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"ទទួលបានការជូនដំណឹង​ពីកម្មវិធី និងមនុស្សសំខាន់ៗ​តែប៉ុណ្ណោះ"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"កាត់បន្ថយ​ការរំខាន"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"បើកមុខងារកុំរំខាន"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"ការលើក​លែង"</string>
@@ -3273,7 +3329,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>៖ <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"រារាំងការរំខានក្នុងការមើល"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"អនុញ្ញាត​សញ្ញា​ដែលមើល​ឃើញ"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"នៅ​ពេល​បើក​មុខងារ​កុំ​រំខាន"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"អនុញ្ញាត​ការរំខានដែលបញ្ចេញសំឡេង"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"ដាក់​កំហិត​ការ​ជូនដំណឹង"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"គ្មានសំឡេង​ពីការជូន​ដំណឹងទេ"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"អ្នក​នឹង​ឃើញ​ការ​ជូនដំណឹង​នៅលើអេក្រង់​របស់អ្នក"</string>
@@ -3304,7 +3360,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"សំឡេង និង​ការញ័រ"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"សំឡេង ការញ័រ និងសញ្ញា​មើលឃើញ​មួយចំនួន​នៃការជូនដំណឹង"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"សំឡេង ការញ័រ និងសញ្ញា​មើលឃើញ​នៃការជូនដំណឹង"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"ការជូនដំណឹង​ដែលចាំបាច់​សម្រាប់សកម្មភាព និងស្ថានភាពមូលដ្ឋានរបស់ទូរសព្ទនឹង​មិនលាក់នោះទេ"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"ការជូនដំណឹង​ដែលចាំបាច់​សម្រាប់សកម្មភាព និងស្ថានភាពមូលដ្ឋានរបស់ទូរសព្ទនឹង​មិនលាក់នោះទេ។"</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"គ្មាន"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"ជម្រើស​ផ្សេងទៀត"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"បញ្ចូល"</string>
@@ -3334,10 +3390,12 @@
       <item quantity="other">កាលវិភាគ <xliff:g id="ON_COUNT">%d</xliff:g> អាច​បើកដោយស្វ័យប្រវត្តិ</item>
       <item quantity="one">កាលវិភាគ 1 អាច​បើកដោយស្វ័យប្រវត្តិ</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"បិ​ទ​សំឡេង​ឧបករណ៍ ប៉ុន្តែ​អនុញ្ញាត​ការលើកលែង"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"ការលើក​លែង"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"កាលវិភាគ"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"មើល​ការលើកលែង​ទាំងអស់"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"ការលើកលែងនៅ​ពេលបើក​មុខងារកុំ​រំខាន"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"មនុស្ស"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"កម្មវិធី"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"ម៉ោងរោទ៍ និងការរំខាន​ផ្សេងទៀត"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"កាលវិភាគ"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"ការជូនដំណឹង​ដែលបិទសំឡេង"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"នៅ​ពេល​មុខងារ​កុំ​រំខាន​បើក សំឡេង និង​ការញ័រ​នឹង​ត្រូវ​បាន​បិទសំឡេង ​លើក​លែង​តែ​អ្វីដែល​អ្នក​អនុញ្ញាត​ខាងលើ​ប៉ុណ្ណោះ។"</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"បិទសំឡេង​ទាំងអស់​លើកលែងតែ"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"បានបិទសំឡេង"</string>
@@ -3381,16 +3439,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"ការជូនដំណឺង​ដែល​មានភាព​បត់បែន"</string>
     <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_capabilities_actions_replies_title" msgid="4392470465646394289">"ការឆ្លើយតប និង​សកម្មភាព​ដែលបានណែនាំ"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"បង្ហាញការឆ្លើយតប និង​សកម្មភាព​ដែលបានណែនាំដោយស្វ័យប្រវត្តិ"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"បើក​ប្រវត្តិ​ការជូនដំណឹង ដើម្បី​តាមដាន​ការជូនដំណឹង​ពីមុនៗ និង​ការជូនដំណឹង​ដែលបាន​ផ្អាក"</string>
+    <string name="notification_history" msgid="8663811361243456201">"ប្រវត្តិ​ការ​ជូន​ដំណឹង"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"បើក​ប្រវត្តិ"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"បិទ​ប្រវត្តិ"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"ប្រវត្តិ​ការជូនដំណឹង​ត្រូវបានបិទ"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"មើលការកំណត់​ការជូនដំណឹង"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"អនុញ្ញាត​ការផ្អាក​ការជូនដំណឹង"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"លាក់​រូបតំណាង​ពី​ការជូនដំណឹង​ស្ងាត់ៗ"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"រូបតំណាង​ពីការជូនដំណឹង​ស្ងាត់ៗមិនត្រូវបានបង្ហាញ​នៅក្នុង​របារស្ថានភាពទេ"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"អនុញ្ញាតស្លាកជូនដំណឹង"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"បង្ហាញ​របារ​នៃ​ការសន្ទនា​ថ្មីៗ"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"សារលេចឡើង"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"ការជូនដំណឹង​មួយចំនួន​អាចបង្ហាញ​ជាសារ​លេចឡើង​នៅលើអេក្រង់"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"ការជូនដំណឹងមួយចំនួន និងខ្លឹមសារ​ផ្សេងទៀត​អាចបង្ហាញជាសារលេចឡើង​នៅលើអេក្រង់។ ដើម្បី​បើកសារលេចឡើង សូមចុច​លើវា។ ដើម្បី​បិទសារលេចឡើង សូមអូសវាទៅផ្នែកខាងក្រោមអេក្រង់។"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"សារលេចឡើង"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"សារ​ថ្មី​ៗនឹង​បង្ហាញ​នៅលើ​អេក្រង់"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"អនុញ្ញាត​ឱ្យ​ <xliff:g id="APP_NAME">%1$s</xliff:g> បង្ហាញ​ការជូនដំណឹង​មួយចំនួន​ជាសារលេចឡើង"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"បើក​សារលេចឡើង"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"ដើម្បី​បើក​សារលេចឡើង​សម្រាប់​កម្មវិធី​នេះ អ្នក​ត្រូវ​បើក​សារលេចឡើង​សម្រាប់​ឧបករណ៍​របស់អ្នក​ជាមុនសិន។ ការធ្វើបែបនេះ​ប៉ះពាល់ដល់​កម្មវិធី​ផ្សេងទៀត ដែលអ្នក​បានបើក​សារលេចឡើង​ពីមុន។"</string>
@@ -3408,6 +3476,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"បង្ហាញ​នៅក្នុងផ្ទាំងជូនដំណឹង​ធ្លាក់ចុះ និងនៅលើ​អេក្រង់ចាក់សោ"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"បង្ហាញ​នៅក្នុងផ្ទាំងជូនដំណឹង​ធ្លាក់ចុះ និងរបារ​ស្ថានភាព"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"បង្ហាញ​នៅក្នុងផ្ទាំងជូនដំណឹង​ធ្លាក់ចុះ របារ​ស្ថានភាព និងនៅលើ​អេក្រង់ចាក់សោ"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"លាក់​ការជូនដំណឹង​ស្ងាត់ៗ​នៅក្នុង​របារ​ស្ថានភាព"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"ភ្លើងលោត"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"អេក្រង់ចាក់សោ"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"រំលង​អេក្រង់ចាក់សោ"</string>
@@ -3438,6 +3507,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"សកម្មភាព"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"អនុញ្ញាត​ឱ្យមាន​សំឡេង"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"កុំ​បង្ហាញ​ការ​ជូនដំណឹង"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"ការសន្ទនា"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"ការ​សន្ទនា"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"មិនមែន​ជា​ការសន្ទនា​ទេ"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"លុបចេញ​ពី​ផ្នែក​សន្ទនា"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"នេះ​គឺជា​ការសន្ទនា"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"បញ្ចូលទៅ​ផ្នែក​សន្ទនា"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"គ្រប់គ្រង​ការសន្ទនា"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"ការសន្ទនា​សំខាន់ៗ"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"ការសន្ទនា​ទាំងអស់"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"បង្ហាញ​ការសន្ទនា​សំខាន់ៗ​ជាសារលេចឡើង"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"ការសន្ទនា​សំខាន់ៗ​បង្ហាញ​នៅ​ផ្នែកខាងលើ​នៃ​ផ្ទាំង​ទាញចុះ។ អ្នកក៏អាចកំណត់​ការសន្ទនាទាំងនោះឱ្យ​បង្ហាញជា​សារលេចឡើង និងផ្អាក​ការកុំ​រំខាន​បានផងដែរ។"</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"បង្ហាញ​ដោយ​ស្ងៀម​ស្ងាត់ ហើយ​បង្រួម"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"បង្ហាញ​ស្ងាត់ៗ"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"បន្លឺ​សំឡេង"</string>
@@ -3456,7 +3536,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"ជួយឱ្យ​អ្នក​ផ្តោតអារម្មណ៍​ ដោយមិនឮសំឡេង ឬ​ការញ័រ"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"ធ្វើឱ្យ​អ្នក​ចាប់អារម្មណ៍​តាមរយៈ​សំឡេង ឬ​ការញ័រ"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"បង្ហាញការ​ជូនដំណឹងជា​ផ្ទាំងនៅផ្នែក​ខាងលើ​អេក្រង់ នៅពេល​ឧបករណ៍មិនជាប់សោ"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"បង្ហាញ​ការ​ជូន​ដំណឹង"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"ការជូនដំណឹង​ទាំងអស់​របស់ <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"ការជូនដំណឺង​ដែល​មានភាព​បត់បែន"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="other">~ការជូន​ដំណឹង <xliff:g id="NUMBER_1">%d</xliff:g> ក្នុងមួយថ្ងៃ</item>
@@ -3477,6 +3557,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"ការជូនដំណឺង​ដែល​មានភាព​បត់បែន"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"គ្មាន"</string>
     <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="3119843404577399036">"<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>
@@ -3538,8 +3619,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"រួចរាល់"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"សារៈសំខាន់"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"ភ្លើងលោត"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"ញ័រ"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"ការ​ញ័រ"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"សំឡេង"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"សំខាន់"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"បញ្ចូល​ទៅ​អេក្រង់ដើម"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"លុប"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"ប្ដូរ​ឈ្មោះ"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"ឈ្មោះ​កាលវិភាគ"</string>
@@ -3593,6 +3676,10 @@
       <item quantity="other"><xliff:g id="NUM_PEOPLE">%d</xliff:g> នាក់ទៀត</item>
       <item quantity="one">1 នាក់ទៀត</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"ការសន្ទនា"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"ពីការសន្ទនា​ទាំងអស់"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"ពីការសន្ទនា​សំខាន់ៗ"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"កុំអនុញ្ញាត​ការសន្ទនា"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"អនុញ្ញាត​សារ"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"ដើម្បី​ប្រាកដថា សារ​ដែលមាន​ការអនុញ្ញាត​អាចបញ្ចេញ​សំឡេង​បាន​ សូម​ពិនិត្យមើល​ថាតើ​ឧបករណ៍​របស់អ្នក​ត្រូវបាន​កំណត់​ឱ្យរោទ៍ ញ័រ ឬ​បិទសំឡេង។"</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"បានទប់ស្កាត់​សារចូល​សម្រាប់ ‘<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>’។ អ្នកអាចកែតម្រូវការកំណត់ ដើម្បីអនុញ្ញាតឱ្យមិត្តភ័ក្តិ គ្រួសារ ឬទំនាក់ទំនងផ្សេងទៀតរបស់អ្នកអាចទាក់ទងអ្នកបាន។"</string>
@@ -3606,15 +3693,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"គ្មាន"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"កុំអនុញ្ញាត​ការហៅទូរសព្ទ"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"កុំអនុញ្ញាត​សារ"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"អនុញ្ញាត​ម៉ោង​រោទ៍"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"ម៉ោងរោទ៍"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"ពី​កម្មវិធីកំណត់ម៉ោង ម៉ោងរោទ៍ ប្រព័ន្ធ​សុវត្ថិភាព និងកម្មវិធី​ផ្សេងទៀត"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"សំឡេងរោទិ៍"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"ចាក់​សំឡេង​មេឌៀ"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"សំឡេង​មេឌៀ"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"ពីវីដេអូ ហ្គេម និងមេឌៀ​ផ្សេងទៀត"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"មេឌៀ​"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"អនុញ្ញាត​សំឡេង​ចុច"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"សំឡេង​ចុច"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"ពីក្ដារចុច​របស់អ្នក និងប៊ូតុង​ផ្សេងទៀត"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"សំឡេង​ចុច​"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"អនុញ្ញាត​ការរំលឹក"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"កម្មវិធីរំលឹក"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"ពី​កិច្ចការ និងការរំលឹក"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"ការរំលឹក"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"អនុញ្ញាត​ព្រឹត្តិការណ៍"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"ព្រឹត្តិការណ៍"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"ពីព្រឹត្តិការណ៍​លើប្រតិទិន​ក្នុងពេលខាងមុខ"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"អនុញ្ញាតឱ្យកម្មវិធី​លុបពីលើ"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"ការ​លើក​លែង​កម្មវិធី"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3657,6 +3749,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"អនុញ្ញាតឱ្យការជូនដំណឹង​ដែល​បិទសំឡេងដោយ​មុខងារ​កុំរំខាន ​បើក​អេក្រង់"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"​កំណត់​ការ​ជូនដំណឹង"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"យល់ព្រម"</string>
+    <string name="suggestion_button_close" msgid="6865170855573283759">"បិទ"</string>
     <string name="device_feedback" msgid="5351614458411688608">"ផ្ដល់​មតិ​ស្ថាបនា​អំពី​ឧបករណ៍​នេះ"</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"បញ្ចូលកូដ PIN របស់អ្នកគ្រប់គ្រង"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"បើក"</string>
@@ -3667,6 +3760,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"សួរ​រក​កូដ PIN មុន​ពេល​ផ្ដាច់"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"សួរ​រក​ពាក្យ​សម្ងាត់​មុន​ពេល​ផ្ដាច់"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"ចាក់​សោ​ឧបករណ៍​ពេល​មិន​ភ្ជាប់"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"បញ្ជាក់​ការលុប​ស៊ីម"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"ផ្ទៀងផ្ទាត់ថា​ជាអ្នក មុននឹង​លុប​ស៊ីម​ដែល​បានទាញយក"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"ប្រវត្តិរូបការងារនេះត្រូវបានគ្រប់គ្រងដោយ៖"</string>
     <string name="managing_admin" msgid="2633920317425356619">"គ្រប់គ្រងដោយ <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(ពិសោធន៍​)"</string>
@@ -3741,8 +3836,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"កម្មវិធីទាំងអស់"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"កម្មវិធី​ដែល​បាន​ដំឡើង"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"កម្មវិធី​ប្រើ​ភ្លាមៗ"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"ផ្ទាល់ខ្លួន"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"កន្លែងធ្វើការ"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"កម្មវិធី៖ ទាំងអស់"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"បាន​បិទ"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"ប្រភេទ៖ សំខាន់ជាបន្ទាន់"</string>
@@ -3754,6 +3847,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"កម្មវិធីមិនស្គាល់"</string>
     <string name="app_permissions" msgid="8666537659217653626">"កម្មវិធីគ្រប់គ្រង​ការអនុញ្ញាត"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"កម្មវិធីកំពុងប្រើ<xliff:g id="APPS">%1$s</xliff:g>"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"កម្មវិធីដែលកំពុងប្រើ <xliff:g id="APPS">%1$s</xliff:g> និងច្រើនទៀត"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"ប៉ះដើម្បីដាស់"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"ប៉ះកន្លែងណាមួយនៅលើអេក្រង់ពីរដងដើម្បីដាស់ឧបករណ៍ឲ្យភ្ញាក់"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"តំណសម្រាប់បើក"</string>
@@ -3765,9 +3859,14 @@
       <item quantity="other">មានកម្មវិធី <xliff:g id="COUNT">%d</xliff:g> អាចបើកតំណដែលពួកវាស្គាល់</item>
       <item quantity="one">មានកម្មវិធីមួយអាចបើកតំណដែលវាស្គាល់</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"បើកនៅក្នុងកម្មវិធីនេះ"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"អនុញ្ញាតឱ្យ​កម្មវិធី​បើក​តំណ​ដែលស្គាល់"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"សួរគ្រប់ពេល"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"កុំបើកនៅក្នុងកម្មវិធីនេះ"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"កុំអនុញ្ញាតឱ្យ​កម្មវិធី​បើក​តំណ"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="other">កម្មវិធី​ទាមទារ​គ្រប់គ្រង​តំណ <xliff:g id="COUNT_1">%d</xliff:g></item>
+      <item quantity="one">កម្មវិធី​ទាមទារ​គ្រប់គ្រង​តំណ <xliff:g id="COUNT_0">%d</xliff:g></item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"កម្មវិធី​ទាមទារ​គ្រប់គ្រង​តំណ​ខាងក្រោម៖"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"លំនាំដើម"</string>
     <string name="default_for_work" msgid="537558180548617528">"លំនាំដើមសម្រាប់ការងារ"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"ជំនួយ និងការបញ្ចូលសំឡេង"</string>
@@ -3911,8 +4010,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"បង្ហាញនៅលើកម្មវិធីផ្សេងទៀត"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"អនុញ្ញាតឲ្យបង្ហាញនៅលើកម្មវិធីផ្សេងទៀត"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"អនុញ្ញាតឲ្យកម្មវិធីនេះបង្ហាញខ្លួនពីលើកម្មវិធីផ្សេងទៀតដែលអ្នកកំពុងប្រើប្រាស់។ វាអាចនឹងមានការរំខានដល់ការប្រើប្រាស់កម្មវិធីទាំងនោះ ឬផ្លាស់ប្តូររបៀបដែលពួកវាត្រូវបង្ហាញ ឬដំណើរការ។"</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"ចូលប្រើ​ឯកសារ​ទាំងអស់"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"អនុញ្ញាតឱ្យចូលប្រើ ដើម្បីគ្រប់គ្រងឯកសារទាំងអស់"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"អនុញ្ញាតឱ្យ​កម្មវិធី​នេះ​អាន ពង្រីក និងលុប​ឯកសារ​ទាំងអស់​នៅលើ​ឧបករណ៍​នេះ ឬឧបករណ៍ផ្ទុកទាំងឡាយ​ដែលបានភ្ជាប់។ ប្រសិនបើ​ផ្ដល់​ការអនុញ្ញាត កម្មវិធីនេះ​អាច​ចូលប្រើ​ឯកសារ ដោយ​មិនឱ្យ​អ្នកដឹង។"</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"អាច​ចូលប្រើ​ឯកសារ​ទាំងអស់​បាន"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"សេវាកម្មជំនួយសំឡេងស្តេរ៉េអូកម្មវិធីស្តាប់ក្នុងភាពពិតជាក់ស្ដែង vr"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"ផ្ទាំងវិនដូព្រមានក្នុងប្រព័ន្ធបង្ហាញនៅលើកម្មវិធីផ្សេងទៀត"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"បង្ហាញនៅលើកម្មវិធីផ្សេងទៀត"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"កម្មវិធី <xliff:g id="COUNT_0">%1$d</xliff:g> ក្នុងចំណោម <xliff:g id="COUNT_1">%2$d</xliff:g> ត្រូវបានអនុញ្ញាតឲ្យបង្ហាញនៅលើកម្មវិធីផ្សេងទៀត"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"កម្មវិធីដែលមានសិទ្ធិអនុញ្ញាត"</string>
@@ -4078,6 +4180,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"បាន​ប្រើអស់ <xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g>"</string>
     <string name="data_overusage" msgid="3680477320458707259">"លើស <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="data_remaining" msgid="6316251496381922837">"នៅ​សល់ <xliff:g id="ID_1">^1</xliff:g>"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"ក្រាហ្វ​ដែល​បង្ហាញ​អំពី​ការប្រើ​ទិន្នន័យ​នៅ​ចន្លោះ​ថ្ងៃទី <xliff:g id="START_DATE">%1$s</xliff:g> និង <xliff:g id="END_DATE">%2$s</xliff:g>។"</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"គ្មាន​ទិន្នន័យ​នៅ​ក្នុង​ចន្លោះ​កាលបរិច្ឆេទ​នេះ​ទេ"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="other">នៅសល់ %d ថ្ងៃទៀត</item>
       <item quantity="one">នៅសល់ %d ថ្ងៃទៀត</item>
@@ -4141,14 +4245,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"ទំហំប្រអប់"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"ការ​ជូនដំណឹង"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"សំឡេង"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"ញ័រ"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"លំនាំ"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"លំនាំដើម"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"ប៉ុស្ដិ៍"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"គ្មាន"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"បានបាត់វត្ថុដាក់ចំណាត់ថ្នាក់"</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"វត្ថុដាក់ចំណាត់ថ្នាក់មិនផ្ទុកគន្លឹះនេះទេ"</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"ការកំណត់​រចនាប័ទ្ម"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"លំនាំដើម​របស់ឧបករណ៍"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"ក្បាលឆក"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"ឆក, ក្បាលឆក"</string>
@@ -4237,8 +4337,12 @@
     <string name="information_label" msgid="6939310810756569298">"ព័ត៌មាន"</string>
     <string name="low_label" msgid="6525629096999711220">"ទាប"</string>
     <string name="high_label" msgid="357503396626018487">"ខ្ពស់"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"រំញោច​ខ្ពស់ជាងនេះ​អាចប៉ះពាល់ជាមួយ​ចលនាកម្មវិធីទាំងឡាយ​​នៅតាមគែមអេក្រង់។"</string>
+    <string name="left_edge" msgid="1513576842959071849">"គែមខាងឆ្វេង"</string>
+    <string name="right_edge" msgid="1505309103265829121">"គែម​ខាង​ស្ដាំ"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"រំញោច​ខ្ពស់ជាងនេះ​អាចប៉ះពាល់ជាមួយ​ចលនាកម្មវិធីទាំងឡាយ​​នៅតាមគែមអេក្រង់។"</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"រំញោចថយក្រោយ"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"ការកំណត់​ចលនា"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"ការរុករក​ដោយប្រើចលនា រំញោច​ថយក្រោយ ចលនា​ថយក្រោយ"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"ចុចពីរដងដើម្បីពិនិត្យទូរសព្ទ"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"ប៉ះពីរដងដើម្បីពិនិត្យថេប្លេត"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"ប៉ះពីរដងដើម្បីពិនិត្យឧបករណ៍"</string>
@@ -4393,7 +4497,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"ជំរុញ​ការ​ផ្តល់​ទិន្នន័យ​របស់​ក្រុមហ៊ុន​បម្រើ​សេវា​ទូរសព្ទ"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"ធ្វើ​បច្ចុប្បន្នភាព​មុខងារ​កុំរំខាន"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"ផ្អាក​ការជូនដំណឹង​ដើម្បីផ្តោត​អារម្មណ៍"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"មុខងារនេះ​មិនមាន​នៅលើ​ឧបករណ៍​នេះទេ"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"មិនអាចប្រើ​មុខងារនេះបានទេ"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"មុខងារនេះ​ត្រូវបានបិទ ដោយសារវា​ធ្វើឱ្យទូរសព្ទរបស់អ្នក​ដើរយឺត"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"ជំរុញការវាស់ GNSS ពេញលេញ"</string>
@@ -4403,20 +4506,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"ជ្រើសរើស​កម្មវិធី​ដែលអាច​ប្រើ ANGLE"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"មិន​មាន​ការកំណត់​កម្មវិធី​ដែលអាច​ប្រើ ANGLE ទេ"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"កម្មវិធី​ដែល​អាច​ប្រើ ANGLE៖ <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"ចំណូលចិត្ត​ដ្រាយវើ​ហ្គេម"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"កែប្រែ​ការកំណត់​ដ្រាយវើ​ហ្គេម"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"នៅពេល​បើក​ដ្រាយវើ​ហ្គេម អ្នកអាច​ជ្រើសរើស​ប្រើ​ដ្រាយវើក្រាហ្វិក​ដែលបាន​ដំឡើង​ជំនាន់ សម្រាប់​កម្មវិធី​ដែល​ដំឡើង​នៅលើ​ឧបករណ៍។"</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"បើកសម្រាប់​កម្មវិធីទាំងអស់"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"ជ្រើសរើសដ្រាយវើ​ក្រាហ្វិក"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"លំនាំដើម"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"ដ្រាយវើ​ហ្គេម"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"ដ្រាយវើ​មុន​ចេញផ្សាយ"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"ដ្រាយវើ​ក្រាហ្វិកប្រព័ន្ធ"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"ចំណូលចិត្ត​ដ្រាយវើ​ក្រាហ្វិក"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"កែ​ប្រែការកំណត់​ដ្រាយវើ​ក្រាហ្វិក"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"នៅពេល​មាន​ដ្រាយវើ​ក្រាហ្វិក​ច្រើន អ្នក​អាច​ជ្រើសរើស​ប្រើ​ដ្រាយវើ​ក្រាហ្វិក​ដែលបាន​ដំឡើង​ជំនាន់ សម្រាប់​កម្មវិធី​ដែល​ដំឡើង​នៅលើ​ឧបករណ៍។"</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"បើកសម្រាប់​កម្មវិធីទាំងអស់"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"ជ្រើសរើសដ្រាយវើ​ក្រាហ្វិក"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"លំនាំដើម"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"ដ្រាយវើ​ហ្គេម"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"ដ្រាយវើរបស់​អ្នកអភិវឌ្ឍន៍"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"ដ្រាយវើ​ក្រាហ្វិកប្រព័ន្ធ"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"ការផ្លាស់ប្ដូរ​ចំពោះ​ភាពត្រូវគ្នា​នៃ​កម្មវិធី"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"បិទ/បើក​ការផ្លាស់ប្ដូរ​ភាពត្រូវគ្នា​នៃ​កម្មវិធី"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"ការផ្លាស់ប្ដូរ​ដែលបានបើក​តាម​លំនាំដើម"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"ការផ្លាស់ប្ដូរ​ដែលបានបិទ​តាម​លំនាំដើម"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"ការកំណត់​មិន​អាច​ប្រើ​នៅ​លើ​ទូរសព្ទ​នេះ​បាន​ទេ"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"ការកំណត់​មិន​អាច​ប្រើនៅ​លើ​ថេប្លេត​នេះ​បាន​​ទេ"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"ការកំណត់​មិន​អាច​ប្រើ​​នៅ​លើ​ឧបករណ៍​នេះ​បានទេ"</string>
@@ -4435,6 +4544,12 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"ឧបករណ៍"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"មិនអាច​ប្រើបានទេ​អំឡុងពេល​ហៅទូរសព្ទ"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"មិន​អាចប្រើ​បានទេ"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"បញ្ចូល​ឧបករណ៍​មេឌៀ"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"ក្រុម"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"បានជ្រើសរើស​ឧបករណ៍ 1"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"បានជ្រើសរើស​ឧបករណ៍ <xliff:g id="COUNT">%1$d</xliff:g>"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"ទទួល​ការហៅ​ទូរសព្ទ"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"APN​ នេះមិនអាចប្ដូរបានទេ។"</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"កែ​លម្អ​កម្រិត​ថាមពល​ថ្ម​របស់​ថេប្លេត"</string>
@@ -4552,10 +4667,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"អាចបើកដំណើរការ​ស៊ីមដែលបានទាញយក​ម្ដងមួយតែប៉ុណ្ណោះ​។\n\nការប្ដូរទៅ <xliff:g id="CARRIER1">%1$s</xliff:g> នឹងមិនបោះបង់សេវាកម្ម​ <xliff:g id="CARRIER2">%2$s</xliff:g> របស់អ្នក​ទេ។"</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"ប្ដូរទៅ <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"លុបស៊ីម"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"លុប​ស៊ីមដែលបានទាញយក​នេះ?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"ការលុប​ស៊ីមនេះ​នឹងលុបសេវាកម្ម <xliff:g id="CARRIER_0">%1$s</xliff:g> ពីឧបករណ៍​នេះ។\n\nសេវាកម្ម​សម្រាប់ <xliff:g id="CARRIER_1">%2$s</xliff:g> នឹង​ត្រូវបាន​បោះបង់។"</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"លុប"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"កំពុង​លុបស៊ីម…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"មិន​អាចលុបស៊ីមបានទេ"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"​មិនអាចលុប​ស៊ីមនេះ​បានទេ​ ដោយសារមាន​បញ្ហា។\n\nចាប់ផ្ដើម​ឧបករណ៍​របស់អ្នក​ឡើងវិញ​ រួច​ព្យាយាម​ម្ដងទៀត។"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"ប្រភេទ​បណ្ដាញ​​ដែលប្រើជាអាទិភាព​"</string>
@@ -4580,7 +4691,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"មុខងារបណ្ដាញ​មិនត្រឹមត្រូវ <xliff:g id="NETWORKMODEID">%1$d</xliff:g>។ សូមកុំអើពើ។"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"ឈ្មោះ​ចំណុច​ចូល​ប្រើប្រាស់"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"មិន​អាច​ប្រើបាន​ទេ នៅពេលភ្ជាប់ <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"ព័ត៌មានវេជ្ជសាស្ត្រ ទំនាក់ទំនងពេលមានអាសន្ន"</string>
     <string name="see_more" msgid="7499355691042812723">"មើលច្រើន​ទៀត"</string>
     <string name="see_less" msgid="2642392725363552793">"​មើល​តិច​ជាង"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"ឧបករណ៍​សម្រាប់ប្រើ​ជាមួយ <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
@@ -4589,11 +4699,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"មាន​បញ្ហា​អ្វីមួយ។ កម្មវិធី​បាន​បោះបង់សំណើ​ក្នុងការ​ជ្រើសរើស​ឧបករណ៍។"</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"ការតភ្ជាប់​ទទួលបាន​ជោគជ័យ​ហើយ"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"បង្ហាញ​ទាំងអស់"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="other">បាន​ភ្ជាប់​ឧបករណ៍ <xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g></item>
-      <item quantity="one">បាន​ភ្ជាប់​ឧបករណ៍ <xliff:g id="NUMBER_DEVICE_COUNT_0">%1$d</xliff:g></item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"គ្មាន​ឧបករណ៍ប៊្លូធូសទេ"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"កំពុងស្វែងរក​ឧបករណ៍…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"កំពុងភ្ជាប់​ឧបករណ៍…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"ឆ្វេង"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"ស្ដាំ"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"ស្រោម"</string>
@@ -4603,6 +4710,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"មិន​អាច​ប្រើបាន​ទេ ពេលប្រើ​មុខងារ​ពេល​ជិះ​យន្តហោះ"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"បង្ខំ​មុខងារ​អេក្រង់ដើម"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"បង្ខំ​មុខងារ​អេក្រង់​ដើម​សាកល្បង​នៅលើ​អេក្រង់​ទី​ពីរ"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"បើក​កម្មវិធី sizecompat ទម្រង់សេវី"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"អនុញ្ញាតឱ្យ​កម្មវិធី sizecompat ស្ថិតនៅក្នុង​ទម្រង់សេរី"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"លុបពីលើ​មុខងារបង្ខំ​ឱ្យងងឹត"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"លុបពីលើ​មុខងារ​បង្ខំឱ្យងងឹត​ឱ្យបើកជានិច្ច"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"ឯកជនភាព"</string>
@@ -4639,6 +4748,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"អ្នក​បាន​ដំឡើងកម្មវិធីនេះ​កាលពីពេលថ្មីៗ។"</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"លទ្ធផល Switch"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"ឥឡូវនេះ​កំពុងចាក់​នៅលើ <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (បាន​ផ្ដាច់)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"មិនអាចប្ដូរបានទេ។ សូមចុច ដើម្បី​ព្យាយាម​ម្ដង​ទៀត។"</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"ព័ត៌មាន​សំខាន់"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"បន្ត"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"ទេ អរគុណ"</string>
@@ -4666,8 +4777,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"ការប្រើ​ស៊ីមពីរ​ក្នុងពេល​តែមួយ"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"ព័ត៌មាន​អំពីគោលការណ៍ការងារ​របស់អ្នក"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"ការកំណត់​​ដែល​ស្ថិត​ក្រោម​ការ​គ្រប់គ្រង​អ្នកគ្រប់គ្រង​ផ្នែកព័ត៌មានវិទ្យា​របស់អ្នក"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"ឧបករណ៍​ដោះស្រាយ​របាយការណ៍​អំពី​បញ្ហា"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"កំណត់​ថាតើ​កម្មវិធី​មួយណា​ដែលត្រូវ​ចាត់ចែង​ផ្លូវកាត់​សម្រាប់​របាយការណ៍​អំពី​បញ្ហា​នៅលើ​ឧបករណ៍​របស់អ្នក​។"</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"ផ្ទាល់ខ្លួន"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"ការងារ"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"លំនាំ​ដើម​ប្រព័ន្ធ"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"ជម្រើស​នេះ​លែងមាន​សុពលភាព​ទៀតហើយ​។ សូម​ព្យាយាម​ម្ដងទៀត​។"</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"បញ្ឈប់​ការបញ្ជូន"</string>
 </resources>
diff --git a/res/values-kn/arrays.xml b/res/values-kn/arrays.xml
index 4cf184b..1506bd0 100644
--- a/res/values-kn/arrays.xml
+++ b/res/values-kn/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"ತಕ್ಷಣವೇ"</item>
     <item msgid="463591454172790676">"5 ಸೆಕೆಂಡುಗಳು"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"ಮೌಲ್ಯೀಕರಿಸಬೇಡಿ"</item>
+    <item msgid="5703177653586269306">"ಪ್ರಮಾಣಪತ್ರದ ಸ್ಥಿತಿಯನ್ನು ವಿನಂತಿಸಿ"</item>
+    <item msgid="326388247868439528">"ಪ್ರಮಾಣಪತ್ರದ ಸ್ಥಿತಿಯ ಅಗತ್ಯವಿದೆ"</item>
+    <item msgid="1090956283885790552">"ಎಲ್ಲಾ ವಿಶ್ವಾಸಾರ್ಹವಲ್ಲದ ಪ್ರಮಾಣಪತ್ರ ಸ್ಥಿತಿಗಳ ಅಗತ್ಯವಿದೆ"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"ಒತ್ತುವ ಬಟನ್"</item>
     <item msgid="2630618799033509548">"ಪೀರ್ ಸಾಧನದಿಂದ ಪಿನ್‌"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"ಯಾವುದೂ ಇಲ್ಲ"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"ಪೂರ್ವ-ಹಂಚಿಕೆಯಾದ ಕೀಗಳು ಮತ್ತು Xauth ಪ್ರಮಾಣೀಕರಣವನ್ನು ಹೊಂದಿರುವ IPSec VPN"</item>
     <item msgid="2484564813864139237">"ಪ್ರಮಾಣಪತ್ರಗಳು ಮತ್ತು Xauth ಪ್ರಮಾಣೀಕರಣವನ್ನು ಹೊಂದಿರುವ IPSec VPN"</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>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"ಯಾವುದೂ ಇಲ್ಲ"</item>
diff --git a/res/values-kn/config.xml b/res/values-kn/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-kn/config.xml
+++ b/res/values-kn/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-kn/strings.xml b/res/values-kn/strings.xml
index 9d6dec6..922edd5 100644
--- a/res/values-kn/strings.xml
+++ b/res/values-kn/strings.xml
@@ -31,49 +31,17 @@
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"ಮೊದಲು ಡೆವಲಪರ್ ಆಯ್ಕೆಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ."</string>
     <string name="header_category_wireless_networks" msgid="303445626075235229">"ವೈರ್‌ಲೆಸ್ &amp; ನೆಟ್‌ವರ್ಕ್‌ಗಳು"</string>
     <string name="header_category_system" msgid="1665516346845259058">"ಸಿಸ್ಟಂ"</string>
-    <string name="radio_info_data_connection_enable" msgid="7500945447906187613">"ಡೇಟಾ ಸಂಪರ್ಕ ಸಕ್ರಿಯಗೊಳಿಸಿ"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"ಡೇಟಾ ಸಂಪರ್ಕ ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"VoLTE ಪೂರೈಸಲಾಗಿದೆ"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"ವೀಡಿಯೊ ಕರೆ ಸೌಲಭ್ಯ ಕಲ್ಪಿಸಲಾಗಿದೆ"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"ವೈಫೈ ಕರೆ ಸೌಲಭ್ಯ ಕಲ್ಪಿಸಲಾಗಿದೆ"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"EAB/ಪ್ರಸ್ತುತ ಸಿದ್ಧವಾಗಿದೆ"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"Cbrs ಡೇಟಾ"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"DSDS ಸಕ್ರಿಯಗೊಳಿಸಿ"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"ಸಾಧನ ಮರುಪ್ರಾರಂಭಿಸಬೇಕೆ?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"ಈ ಸೆಟ್ಟಿಂಗ್ ಅನ್ನು ಬದಲಾಯಿಸಲು ನಿಮ್ಮ ಸಾಧನವನ್ನು ನೀವು ಮರುಪ್ರಾರಂಭಿಸುವ ಅಗತ್ಯವಿದೆ."</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"ಮರುಪ್ರಾರಂಭಿಸಿ"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"ರದ್ದುಮಾಡಿ"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"ಮೊಬೈಲ್ ರೇಡಿಯೋ ಪವರ್"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"ಸಿಮ್ ವಿಳಾಸ ಪುಸ್ತಕವನ್ನು ವೀಕ್ಷಿಸಿ"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"ಸ್ಥಿರ ಡಯಲಿಂಗ್ ಸಂಖ್ಯೆಗಳನ್ನು ವೀಕ್ಷಿಸಿ"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"ಸೇವಾ ಡಯಲಿಂಗ್ ಸಂಖ್ಯೆಗಳನ್ನು ವೀಕ್ಷಿಸಿ"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"IMS ಸೇವೆ ಸ್ಥಿತಿ"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"IMS ಸ್ಥಿತಿ"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"ನೋಂದಾಯಿಸಲಾಗಿದೆ"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"ನೋಂದಣಿಯಾಗಿಲ್ಲ"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"ಲಭ್ಯ"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"ಲಭ್ಯವಿಲ್ಲ"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"IMS ನೋಂದಣಿ: <xliff:g id="STATUS">%1$s</xliff:g>\nವಾಯ್ಸ್ ಓವರ್ LTE:<xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nವಾಯ್ಸ್ ಓವರ್ ವೈಫೈ: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nವೀಡಿಯೊ ಕರೆ ಮಾಡುವಿಕೆ: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT ಇಂಟರ್ಫೇಸ್: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"ಸೇವೆಯಲ್ಲಿದೆ"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"ಸೇವೆಯಲ್ಲಿಲ್ಲ"</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>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"ಕಾರ್ಯನಿರತವಾಗಿಲ್ಲ"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"ರಿಂಗ್‌ ಆಗುತ್ತಿದೆ"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"ಕರೆ ಪ್ರಗತಿಯಲ್ಲಿದೆ"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"ಸಂಪರ್ಕ ಕಡಿತಗೊಳಿಸಲಾಗಿದೆ"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"ಸಂಪರ್ಕಿಸಲಾಗುತ್ತಿದೆ"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"ಸಂಪರ್ಕಗೊಂಡಿದೆ"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"ತಡೆಹಿಡಿಯಲಾಗಿದೆ"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"ಅಪರಿಚಿತ"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"pkts"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"ಬೈಟ್‌ಗಳು"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"USB ಸಂಗ್ರಹಣೆ ಅಳವಡಿಕೆ ತೆಗೆಯಿರಿ"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"SD ಕಾರ್ಡ್ ಅನ್‌ಮೌಂಟ್‌ ಮಾಡಿ"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"USB ಸಂಗ್ರಹಣೆಯನ್ನು ಅಳಿಸಿ"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"ಪರದೆಯ ಮೇಲೆ ಪಠ್ಯದ ಗಾತ್ರವನ್ನು ಹಿಗ್ಗಿಸಿ ಅಥವಾ ಕುಗ್ಗಿಸಿ."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"ಚಿಕ್ಕದಾಗಿಸು"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"ದೊಡ್ಡದಾಗಿಸು"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"ಮಾದರಿ ಪಠ್ಯ"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"Oz ನ ಅದ್ಭುತವಾದ ಮಾಂತ್ರಿಕ"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"ಅಧ್ಯಾಯ 11: Oz ನ ಅದ್ಭುತವಾದ ಎಮೆರಾಲ್ಡ್ ಸಿಟಿ"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"ಈ ಸೆಟ್ಟಿಂಗ್ ಅನ್ನು ಬದಲಾಯಿಸಲು ನಿಮ್ಮ ಸಾಧನವನ್ನು ನೀವು ಮರುಪ್ರಾರಂಭಿಸುವ ಅಗತ್ಯವಿದೆ."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"ಮರುಪ್ರಾರಂಭ"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"ರದ್ದುಮಾಡಿ"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"ಲಭ್ಯವಿರುವ ಮಾಧ್ಯಮ ಸಾಧನಗಳು"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"ಲಭ್ಯವಿರುವ ಕರೆ ಸಾಧನಗಳು"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"ಪ್ರಸ್ತುತ ಸಂಪರ್ಕಿಸಲಾಗಿದೆ"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"ಮೀಡಿಯಾ ಸಾಧನಗಳು"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"ಸಾಧನಗಳಿಗೆ ಕರೆಮಾಡಿ"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"ಇತರ ಸಾಧನಗಳು"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"ಉಳಿಸಿರುವ ಸಾಧನಗಳು"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"ಜೋಡಿಸಲು ಬ್ಲೂಟೂತ್ ಆನ್ ಆಗುತ್ತದೆ"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"ಸಂಪರ್ಕ ಆದ್ಯತೆಗಳು"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"ನೀವು ಟೈಪ್‌ ಮಾಡಿದ ಪೋರ್ಟ್ ಮಾನ್ಯವಾಗಿಲ್ಲ."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"ಬ್ರೌಸರ್ HTTP ಪ್ರಾಕ್ಸಿ ಬಳಸಿಕೊಂಡಿದೆ. ಇತರೆ ಆಪ್‌ಗಳು ಬಳಸಿಕೊಳ್ಳದೆ ಇರಬಹುದು."</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"PAC URL: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"ಪ್ರಸ್ತುತ subId:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"ಡೀಫಾಲ್ಟ್ ಡೇಟಾ ಸಿಮ್‌ನ SubId:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"DL ಬ್ಯಾಂಡ್‌ವಿಡ್ತ್ (kbps):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"UL ಬ್ಯಾಂಡ್‌ವಿಡ್ತ್ (kbps):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"ಸೆಲ್ ಸ್ಥಳ ಮಾಹಿತಿ (ತಡೆಹಿಡಿಯಲಾಗಿದೆ):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"LTE ಭೌತಿಕ ಚಾನೆಲ್ ಕಾನ್ಫಿಗರೇಶನ್:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"ಸೆಲ್ ಮಾಹಿತಿ ರಿಫ್ರೆಶ್ ದರ:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"ಎಲ್ಲಾ ಸೆಲ್ ಮಾಪನ ಮಾಹಿತಿ:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"ಡೇಟಾ ಸೇವೆ:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"ರೋಮಿಂಗ್:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"ಕರೆ ಮರುನಿರ್ದೇಶನ:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"ಬೂಟ್ ಆದಾಗಿನಿಂದ PPP ಮರುಹೊಂದಿಕೆಯ ಸಂಖ್ಯೆ:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"ಪ್ರಸ್ತುತ ನೆಟ್‌ವರ್ಕ್‌:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"ಡೇಟಾ ಸ್ವೀಕರಿಸಲಾಗಿದೆ:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"ಧ್ವನಿ ಸೇವೆ:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"ಸಿಗ್ನಲ್ ಸಾಮರ್ಥ್ಯ:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"ಧ್ವನಿ ಕರೆ ಸ್ಥಿತಿ:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"ಡೇಟಾ ಕಳುಹಿಸಲಾಗಿದೆ:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"ಸಂದೇಶ ನಿರೀಕ್ಷಿಸಲಾಗುತ್ತಿದೆ:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"ಫೋನ್ ಸಂಖ್ಯೆ:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"ರೇಡಿಯೋ ಬ್ಯಾಂಡ್ ಆಯ್ಕೆಮಾಡಿ"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"ಧ್ವನಿ ನೆಟ್‌ವರ್ಕ್‌ ಪ್ರಕಾರ:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"ಡೇಟಾ ನೆಟ್‌ವರ್ಕ್ ಪ್ರಕಾರ:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"ಫೋನ್ ಸೂಚಿಕೆಯನ್ನು ಆಯ್ಕೆಮಾಡಿ"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"ಆದ್ಯತೆಯ ನೆಟ್‌ವರ್ಕ್‌ ಪ್ರಕಾರ ಹೊಂದಿಸಿ:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"ಹೋಸ್ಟ್‌ಹೆಸರನ್ನು ಪಿಂಗ್ ಮಾಡಿ(www.google.com) IPv4:"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"ಹೋಸ್ಟ್‌ಹೆಸರನ್ನು ಪಿಂಗ್ ಮಾಡಿ(www.google.com) IPv6:"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"HTTP ಕ್ಲೈಂಟ್ ಪರೀಕ್ಷೆ:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"ಪಿಂಗ್ ಪರೀಕ್ಷೆ ರನ್ ಮಾಡಿ"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"ಅಪ್‌ಡೇಟ್‌ ಮಾಡಿ"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"ರಿಫ್ರೆಶ್ ಮಾಡಿ"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"DNS ಪರಿಶೀಲನೆ ಟಾಗಲ್ ಮಾಡಿ"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"OEM-ನಿರ್ದಿಷ್ಟ ಮಾಹಿತಿ/ಸೆಟ್ಟಿಂಗ್‌ಗಳು"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"ರೇಡಿಯೋ ಬ್ಯಾಂಡ್ ಮೋಡ್ ಹೊಂದಿಸಿ"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"ಬ್ಯಾಂಡ್ ಪಟ್ಟಿಯನ್ನು ಲೋಡ್ ಮಾಡಲಾಗುತ್ತಿದೆ…"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"ಹೊಂದಿಸಿ"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"ವಿಫಲವಾಗಿದೆ"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"ಯಶಸ್ವಿ"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"USB ಕೇಬಲ್‌ ಅನ್ನು ಮರು ಸಂಪರ್ಕಗೊಳಿಸಿದಾಗ ಬದಲಾವಣೆಗಳು ಕಾರ್ಯಗತಗೊಳ್ಳುತ್ತವೆ."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"USB ಸಮೂಹ ಸಂಗ್ರಹಣೆಯನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"ಒಟ್ಟು ಬೈಟ್‌ಗಳು:"</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"ಕೆಳಕ್ಕೆ ಸರಿಸು"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"ಭಾಷೆ ತೆಗೆದುಹಾಕಿ"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"ಚಟುವಟಿಕೆಯನ್ನು ಆರಿಸಿ"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"ಸಾಧನದ ಮಾಹಿತಿ"</string>
     <string name="display_label" msgid="3056320781191343221">"ಪರದೆ"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"ಟ್ಯಾಬ್ಲೆಟ್ ಮಾಹಿತಿ"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"ಫೋನ್ ಮಾಹಿತಿ"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"USB ಸಂಗ್ರಹಣೆ"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"SD ಕಾರ್ಡ್"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"ಪ್ರಾಕ್ಸಿ ಸೆಟ್ಟಿಂಗ್‌ಗಳು"</string>
@@ -306,9 +234,6 @@
     <string name="airplane_mode" msgid="3196085857882526817">"ಏರ್‌ಪ್ಲೇನ್ ಮೋಡ್"</string>
     <string name="wireless_networks_settings_title" msgid="8557542379234105369">"ವಯರ್‌ಲೆಸ್ &amp; ನೆಟ್‌ವರ್ಕ್‌ಗಳು"</string>
     <string name="radio_controls_summary" msgid="9028430178697624501">"ವೈ-ಫೈ, ಬ್ಲೂಟೂತ್, ಏರೋಪ್ಲೇನ್ ಮೋಡ್, ಮೊಬೈಲ್‌ ನೆಟ್‌ವರ್ಕ್‌ಗಳು, &amp; VPN ಗಳನ್ನು ನಿರ್ವಹಿಸಿ"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"ಮೊಬೈಲ್ ಡೇಟಾ"</string>
-    <string name="calls_title" msgid="6334813967619899114">"ಕರೆಗಳಿಗೆ ಅನುಮತಿಸಿ"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"SMS ಸಂದೇಶಗಳು"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"ಮೊಬೈಲ್‌ ನೆಟ್‌ವರ್ಕ್ ಡೇಟಾ ಬಳಕೆಗೆ ಅನುಮತಿಸಿ"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"ರೋಮಿಂಗ್‌ನಲ್ಲಿರುವಾಗ ಡೇಟಾ ಬಳಕೆಯನ್ನು ಅನುಮತಿಸಿ"</string>
     <string name="roaming" msgid="3055365654530847985">"ರೋಮಿಂಗ್"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"ರೋಮಿಂಗ್‌ನಲ್ಲಿರುವಾಗ ಡೇಟಾ ಸೇವೆಗಳಿಗೆ ಸಂಪರ್ಕಿಸಿ"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"ಡೇಟಾ ರೋಮಿಂಗ್ ಆಫ್‌ ಮಾಡಿದ ಸ್ಥಿತಿಯಲ್ಲಿ ನೀವು ನಿಮ್ಮ ಮುಖಪುಟ‌ ನೆಟ್‌ವರ್ಕ್‌ ಅನ್ನು ಇರಿಸಿರುವ ಕಾರಣ ನೀವು ಡೇಟಾ ಸಂಪರ್ಕ ಕಲ್ಪಿಸುವಿಕೆಯನ್ನು ಕಳೆದುಕೊಂಡಿರುವಿರಿ."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"ಇದನ್ನು ಆನ್‌ ಮಾಡಿ"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"ನೀವು ಗಣನೀಯವಾಗಿ ಶುಲ್ಕಗಳನ್ನು ತೆರಬೇಕಾಗಬಹುದು."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"ನೀವು ಡೇಟಾ ರೋಮಿಂಗ್‌ಗೆ ಅನುಮತಿ ನೀಡಿದರೆ, ನೀವು ದೊಡ್ಡ ಪ್ರಮಾಣದಲ್ಲಿ ರೋಮಿಂಗ್ ದರಗಳನ್ನು ತೆರಬೇಕಾಗುತ್ತದೆ!\n\nಈ ಟ್ಯಾಬ್ಲೆಟ್‌‌‌ನಲ್ಲಿನ ಎಲ್ಲ ಬಳಕೆದಾರರಿಗೆ ಈ ಸೆಟ್ಟಿಂಗ್‌ ಪರಿಣಾಮ ಬೀರುತ್ತದೆ."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"ನೀವು ಡೇಟಾ ರೋಮಿಂಗ್ ಅನ್ನು ಅನುಮತಿಸಿದರೆ, ನೀವು ಗಣನಿಯವಾಗಿ ರೋಮಿಂಗ್ ದರಗಳನ್ನು ತೆರಬೇಕಾಗಬಹುದು!\n\nಈ ಫೋನ್‌ನಲ್ಲಿ ಈ ಸೆಟ್ಟಿಂಗ್‌ ಎಲ್ಲ ಬಳಕೆದಾರರಿಗೆ ಪರಿಣಾಮ ಬೀರುತ್ತದೆ."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"ರೋಮಿಂಗ್ ಶುಲ್ಕಗಳು ಅನ್ವಯವಾಗಬಹುದು."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"ನೀವು ಡೇಟಾ ರೋಮಿಂಗ್‌ಗೆ ಅನುಮತಿಸಿದಾಗ, ಅದಕ್ಕೆ ಶುಲ್ಕಗಳು ಅನ್ವಯವಾಗಬಹುದು.\n\nಈ ಟ್ಯಾಬ್ಲೆಟ್‌‌‌ನಲ್ಲಿನ ಎಲ್ಲ ಬಳಕೆದಾರರಿಗೆ ಈ ಸೆಟ್ಟಿಂಗ್‌ ಅನ್ವಯಿಸುತ್ತದೆ."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"ನೀವು ಡೇಟಾ ರೋಮಿಂಗ್‌ಗೆ ಅನುಮತಿಸಿದಾಗ, ಅದಕ್ಕೆ ಶುಲ್ಕಗಳು ಅನ್ವಯವಾಗಬಹುದು.\n\nಈ ಫೋನ್‌ನಲ್ಲಿನ ಎಲ್ಲ ಬಳಕೆದಾರರಿಗೆ ಈ ಸೆಟ್ಟಿಂಗ್‌ ಅನ್ವಯಿಸುತ್ತದೆ."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"ಡೇಟಾ ರೋಮಿಂಗ್ ಅನುಮತಿಸುವುದೇ?"</string>
     <string name="networks" msgid="5184501333492775095">"ಆಪರೇಟರ್ ಆಯ್ಕೆ"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"ನೆಟ್‌ವರ್ಕ್‌ ಆಪರೇಟರ್‌ ಅನ್ನು ಆರಿಸಿ"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"ನಿರ್ವಾಹಕರು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿದ್ದಾರೆ"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"ಲಾಕ್‌ಡೌನ್‌ ಆಯ್ಕೆಯನ್ನು ತೋರಿಸಿ"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"ಡಿಸ್‌ಪ್ಲೇ ಪವರ್ ಬಟನ್ ಆಯ್ಕೆಯು ಸ್ಮಾರ್ಟ್ ಲಾಕ್, ಬಯೋಮೆಟ್ರಿಕ್ ಅನ್‌ಲಾಕ್ ಮಾಡುವಿಕೆ ಮತ್ತು ಲಾಕ್ ಸ್ಕ್ರೀನ್ ಮೇಲಿರುವ ಅಧಿಸೂಚನೆಗಳನ್ನು ಆಫ್ ಮಾಡುತ್ತದೆ"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"ವಿಶ್ವಾಸಾರ್ಹ ಏಜೆಂಟ್ ಅನ್‍‍ಲಾಕ್ ಅವಧಿಯನ್ನು ಮಾತ್ರ ವಿಸ್ತರಿಸುತ್ತಾರೆ"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"ಸಕ್ರಿಯಗೊಳಿಸಿದರೆ, ವಿಶ್ವಾಸಾರ್ಹ ಏಜೆಂಟ್‌ಗಳು ನಿಮ್ಮ ಸಾಧನವನ್ನು ದೀರ್ಘ ಕಾಲದವರೆಗೆ ಅನ್‌ಲಾಕ್ ಮಾಡಿ ಇರಿಸುತ್ತಾರೆ ಆದರೆ ಲಾಕ್ ಆದ ಸಾಧನವನ್ನು ಇನ್ನು ಮುಂದೆ ಅನ್‌ಲಾಕ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ."</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"ವಿಶ್ವಾಸ ಕಳೆದುಕೊಂಡಾಗ ಸ್ಕ್ರೀನ್ ಲಾಕ್ ಮಾಡಿ"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"ಸಕ್ರಿಯಗೊಳಿಸಿದರೆ, ಕೊನೆಯ ವಿಶ್ವಾಸಾರ್ಹ ಏಜೆಂಟ್ ವಿಶ್ವಾಸವನ್ನು ಕಳೆದುಕೊಂಡಾಗ ಸಾಧನವು ಲಾಕ್ ಆಗುತ್ತದೆ"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"ಯಾವುದೂ ಇಲ್ಲ"</string>
@@ -390,7 +313,7 @@
     <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="disabled_by_administrator_summary" msgid="4181894719300350343">"ನಿರ್ವಾಹಕರು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿದ್ದಾರೆ"</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>
@@ -693,7 +616,6 @@
       <item quantity="one"> <xliff:g id="NUMBER_1">%d</xliff:g> ಗಿಂತ ಕಡಿಮೆ ಅಂಕಿಗಳನ್ನು ಹೊಂದಿರಬೇಕು</item>
       <item quantity="other"> <xliff:g id="NUMBER_1">%d</xliff:g> ಗಿಂತ ಕಡಿಮೆ ಅಂಕಿಗಳನ್ನು ಹೊಂದಿರಬೇಕು</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"ಕೇವಲ 0-9 ಅಂಕಿಗಳನ್ನು ಮಾತ್ರ ಹೊಂದಿರಬೇಕು"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"ಇತ್ತೀಚಿನ ಪಿನ್ ಬಳಸಲು ಸಾಧನದ ನಿರ್ವಾಹಕರು ಅನುಮತಿಸುವುದಿಲ್ಲ"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"ಸರಳವಾದ ಪಿನ್‌ಗಳನ್ನು ನಿಮ್ಮ IT ನಿರ್ವಾಹಕರಿಂದ ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ. ಬೇರೆಯ ಪಿನ್ ಪ್ರಯತ್ನಿಸಿ."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"ಇದು ಅಮಾನ್ಯ ಅಕ್ಷರವನ್ನು ಒಳಗೊಂಡಿರಬಾರದು"</string>
@@ -724,6 +646,10 @@
       <item quantity="one">ಕನಿಷ್ಠ <xliff:g id="COUNT">%d</xliff:g> ಅಕ್ಷರೇತರ ಕ್ಯಾರೆಕ್ಟರ್‌ಗಳನ್ನು ಹೊಂದಿರಬೇಕು</item>
       <item quantity="other">ಕನಿಷ್ಠ <xliff:g id="COUNT">%d</xliff:g> ಅಕ್ಷರೇತರ ಕ್ಯಾರೆಕ್ಟರ್‌ಗಳನ್ನು ಹೊಂದಿರಬೇಕು</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="one">ಕನಿಷ್ಠ <xliff:g id="COUNT">%d</xliff:g> ಸಂಖ್ಯೆಯಲ್ಲದ ಅಕ್ಷರಗಳನ್ನು ಹೊಂದಿರಬೇಕು</item>
+      <item quantity="other">ಕನಿಷ್ಠ <xliff:g id="COUNT">%d</xliff:g> ಸಂಖ್ಯೆಯಲ್ಲದ ಅಕ್ಷರಗಳನ್ನು ಹೊಂದಿರಬೇಕು</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"ಇತ್ತೀಚಿನ ಪಾಸ್‌ವರ್ಡ್ ಬಳಸಲು ಸಾಧನದ ನಿರ್ವಾಹಕರು ಅನುಮತಿಸುವುದಿಲ್ಲ"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"ಸರಳವಾದ ಪಾಸ್‌ವರ್ಡ್‌ಗಳನ್ನು ನಿಮ್ಮ IT ನಿರ್ವಾಹಕರಿಂದ ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ. ಬೇರೆಯ ಪಾಸ್‌ವರ್ಡ್‌ ಪ್ರಯತ್ನಿಸಿ."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"ಅಂಕಿಗಳ ಆರೋಹಣ, ಅವರೋಹಣ ಅಥವಾ ಪುನರಾವರ್ತಿತ ಅನುಕ್ರಮವನ್ನು ನಿಷೇಧಿಸಲಾಗಿದೆ"</string>
@@ -837,19 +763,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2.4 GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"ಸೈನ್ ಇನ್"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"ಸೈಟ್ ತೆರೆಯಿರಿ"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"<xliff:g id="REMAINING_TIME">%1$s</xliff:g> ಬಾಕಿ ಉಳಿದಿದೆ"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"<xliff:g id="EXPIRY_TIME">%1$s</xliff:g> ರಂದು ಅವಧಿ ಮುಗಿಯುತ್ತದೆ"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"ನೆಟ್‌ವರ್ಕ್‌ಗೆ ಸೈನ್ ಇನ್ ಮಾಡಲು ಇಲ್ಲಿ ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"ವೈ-ಫೈ ಆನ್ ಮಾಡಲು <xliff:g id="REQUESTER">%s</xliff:g> ಬಯಸುತ್ತದೆ"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"ವೈ-ಫೈ ಆಫ್ ಮಾಡಲು <xliff:g id="REQUESTER">%s</xliff:g> ಬಯಸುತ್ತದೆ"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"ಡೀಬಗರ್‌ ಆ್ಯಪ್‌ಗಳ bytecode ಪರಿಶೀಲಿಸಿ"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"ಡೀಬಗ್ ಮಾಡಬಹುದಾದ ಆ್ಯಪ್‌ಗಳಿಗಾಗಿ ಬೈಟ್‌ಕೋಡ್ ಪರಿಶೀಲಿಸಲು ART ಅನುಮತಿಸಿ"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"ರಿಫ್ರೆಶ್ ರೇಟ್ ತೋರಿಸಿ"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"ಪ್ರಸ್ತುತ ಡಿಸ್‌ಪ್ಲೇ ರಿಫ್ರೆಶ್ ರೇಟ್ ಅನ್ನು ತೋರಿಸಿ"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"ಟ್ಯಾಬ್ಲೆಟ್ ಇನ್ನೊಂದು ಸಾಧನವನ್ನು ಸ್ಪರ್ಶಿಸಿದಾಗ ಡೇಟಾ ವಿನಿಮಯವನ್ನು ಅನುಮತಿಸಿ"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"ಮತ್ತೊಂದು ಸಾಧನವನ್ನು ಫೋನ್ ಸ್ಪರ್ಶಿಸಿದಾಗ ಡೇಟಾ ವಿನಿಮಯಕ್ಕೆ ಅನುಮತಿಸಿ"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"ಟ್ಯಾಬ್ಲೆಟ್, NFC ಸಾಧನವನ್ನು ಸ್ಪರ್ಶಿಸಿದಾಗ ಡೇಟಾ ವಿನಿಮಯಕ್ಕೆ ಅನುಮತಿಸಿ"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"ಫೋನ್, NFC ಸಾಧನವನ್ನು ಸ್ಪರ್ಶಿಸಿದಾಗ ಡೇಟಾ ವಿನಿಮಯಕ್ಕೆ ಅನುಮತಿಸಿ"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"NFC ಆನ್ ಮಾಡಿ"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"NFC ಈ ಸಾಧನ ಮತ್ತು ಇತರ ಹತ್ತಿರದ ಸಾಧನಗಳು ಅಥವಾ ಪಾವತಿ ಟರ್ಮಿನಲ್‌ಗಳು, ಪ್ರವೇಶ ರೀಡರ್‌ಗಳು ಹಾಗೂ ಪರಸ್ಪರ ಜಾಹೀರಾತುಗಳು ಅಥವಾ ಟ್ಯಾಗ್‌ಗಳಂತಹ ಲಕ್ಷ್ಯಗಳ ನಡುವೆ ಡೇಟಾ ವಿನಿಮಯ ಮಾಡುತ್ತದೆ."</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"NFC ಅನ್ನು ಸುರಕ್ಷಿತಗೊಳಿಸಿ"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFC ಗಾಗಿ ಸಾಧನ ಅನ್‌ಲಾಕ್ ಅಗತ್ಯವಿದೆ"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"ಸ್ಕ್ರೀನ್ ಅನ್‌ಲಾಕ್ ಇರುವಾಗ ಮಾತ್ರ NFC ಪಾವತಿ ಮತ್ತು ಸಾರಿಗೆ ಬಳಕೆಯನ್ನು ಅನುಮತಿಸಿ"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android ಬೀಮ್"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"NFC ಮೂಲಕ ಆಪ್ಲಿಕೇಶನ್ ವಿಷಯವನ್ನು ಪ್ರಸಾರ ಮಾಡಲು ಸಿದ್ಧವಾಗಿದೆ"</string>
@@ -923,8 +855,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"ಆನ್"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"ವೈ-ಫೈ ಸ್ಕ್ಯಾನಿಂಗ್ ಅನ್ನು ಆನ್ ಮಾಡಲಾಗಿದೆ"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"ಸುಧಾರಿತ ಆಯ್ಕೆಗಳು"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"ಡ್ರಾಪ್ ಡೌನ್ ಪಟ್ಟಿಯ ಸುಧಾರಿತ ಆಯ್ಕೆಗಳು. ಕುಗ್ಗಿಸಲು ಡಬಲ್ ಟ್ಯಾಪ್ ಮಾಡಿ."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"ಡ್ರಾಪ್ ಡೌನ್ ಪಟ್ಟಿಯ ಸುಧಾರಿತ ಆಯ್ಕೆಗಳು. ವಿಸ್ತರಿಸಲು ಡಬಲ್ ಟ್ಯಾಪ್ ಮಾಡಿ."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"ಡ್ರಾಪ್-ಡೌನ್ ಪಟ್ಟಿಯ ಸುಧಾರಿತ ಆಯ್ಕೆಗಳು"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"ವಿಸ್ತರಿಸಿ"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"ನೆಟ್‌ವರ್ಕ್‌ ಹೆಸರು"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"SSID ನಮೂದಿಸಿ"</string>
     <string name="wifi_security" msgid="9095934643631406913">"ಭದ್ರತೆ"</string>
@@ -934,6 +866,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"ಸ್ಥಿತಿ"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"ಲಿಂಕ್ ವೇಗವನ್ನು ಪ್ರಸಾರ ಮಾಡಿ"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"ಲಿಂಕ್ ವೇಗವನ್ನು ಸ್ವೀಕರಿಸಿ"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"ಲಿಂಕ್ ವೇಗ"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"ಫ್ರೀಕ್ವೆನ್ಸಿ"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"IP ವಿಳಾಸ"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"ಇದರ ಮೂಲಕ ಉಳಿಸಲಾಗಿದೆ"</string>
@@ -941,6 +874,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"EAP ವಿಧಾನ"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"2 ನೇ ಹಂತದ ಪ್ರಮಾಣೀಕರಣ"</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>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"ಬಳಕೆದಾರರ ಪ್ರಮಾಣಪತ್ರ"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"ಗುರುತಿಸುವಿಕೆ"</string>
@@ -957,6 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"ವೈ-ಫೈ ಹಾಟ್‌ಸ್ಪಾಟ್‌ಗಾಗಿ ಕನಿಷ್ಠ ಒಂದು ಬ್ಯಾಂಡ್ ಆಯ್ಕೆಮಾಡಿ:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"IP ಸೆಟ್ಟಿಂಗ್‌ಗಳು"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"ಗೌಪ್ಯತೆ"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"ಸಬ್‌ಸ್ಕ್ರಿಪ್ಷನ್‌‌"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"ಸಬ್‌ಸ್ಕ್ರಿಪ್ಶನ್ ಅನ್ನು ನೋಡಿ ಅಥವಾ ಬದಲಾಯಿಸಿ"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"ಯಾದೃಚ್ಛಿಕ.MAC"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"ಸಾಧನವನ್ನು ಸೇರಿಸಿ"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"“<xliff:g id="SSID">%1$s</xliff:g>” ಗೆ ಸಾಧನವನ್ನು ಸೇರಿಸಲು QR ಕೋಡ್‌ ಅನ್ನು ಕೆಳಗೆ ಕೇಂದ್ರೀಕರಿಸಿ"</string>
@@ -966,12 +902,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"ವೈ-ಫೈ ಹಂಚಿಕೊಳ್ಳಿ"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"“<xliff:g id="SSID">%1$s</xliff:g>” ಗೆ ಸಂಪರ್ಕಪಡಿಸಲು ಮತ್ತು ಪಾಸ್‌ವರ್ಡ್ ಹಂಚಿಕೊಳ್ಳಲು ಈ QR ಕೋಡ್ ಅನ್ನು ಸ್ಕ್ಯಾನ್ ಮಾಡಿ"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"“<xliff:g id="SSID">%1$s</xliff:g>” ಗೆ ಸಂಪರ್ಕಪಡಿಸಲು ಈ QR ಕೋಡ್ ಅನ್ನು ಸ್ಕ್ಯಾನ್ ಮಾಡಿ"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"QR ಕೋಡ್ ಅನ್ನು ಓದಲು ಸಾಧ್ಯವಾಗುತ್ತಿಲ್ಲ. ಕೋಡ್ ಮರುನಮೂದಿಸಿ ಅಥವಾ ಪುನಃ ಪ್ರಯತ್ನಿಸಿ"</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"ಪುನಃ ಪ್ರಯತ್ನಿಸಿ. ಸಮಸ್ಯೆ ಮುಂದುವರಿದರೆ, ಸಾಧನ ತಯಾರಕರನ್ನು ಸಂಪರ್ಕಿಸಿ"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"ಏನೋ ದೋಷ ಸಂಭವಿಸಿದೆ"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"ಸಾಧನವನ್ನು ಪ್ಲಗಿನ್ ಮಾಡಲಾಗಿದೆ ಮತ್ತು ಆನ್ ಮಾಡಲಾಗಿದೆ ಎಂಬುದನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"ಸಾಧನವನ್ನು ಪ್ಲಗಿನ್ ಮಾಡಲಾಗಿದೆ ಮತ್ತು ಆನ್ ಮಾಡಲಾಗಿದೆ ಎಂಬುದನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ. ಸಮಸ್ಯೆ ಮುಂದುವರಿದರೆ, ಸಾಧನ ತಯಾರಕರನ್ನು ಸಂಪರ್ಕಿಸಿ"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"ಈ ಸಾಧನದ ಮೂಲಕ “<xliff:g id="SSID">%1$s</xliff:g>”ಅನ್ನು ಸೇರಿಸುವುದು ಬೆಂಬಲಿತವಾಗಿಲ್ಲ"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"ಸಾಧನವನ್ನು ನಿಮ್ಮ ವೈ-ಫೈ ಪ್ರವೇಶಿಸುವಿಕೆ ಪಾಯಿಂಟ್/ರೂಟರ್ ಸಮೀಕ್ಕೆ ಸರಿಸಲು ಪ್ರಯತ್ನಿಸಿ"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"ಪಾಸ್‌ವರ್ಡ್ ಪರಿಶೀಲಿಸಿ ಮತ್ತು ಪುನಃ ಪ್ರಯತ್ನಿಸಿ"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"ಸಾಧನ ತಯಾರಕರನ್ನು ಸಂಪರ್ಕಿಸಿ"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"ಸಂಪರ್ಕವನ್ನು ಪರಿಶೀಲಿಸಿ ಮತ್ತು ಪುನಃ ಪ್ರಯತ್ನಿಸಿ"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"ನೆಟ್‌ವರ್ಕ್ ಆರಿಸಿ"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"ನಿಮ್ಮ ಸಾಧನವನ್ನು ಸಂಪರ್ಕಿಸಲು, ನೆಟ್‌ವರ್ಕ್ ಆರಿಸಿ"</string>
@@ -984,11 +922,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"ಈ ಸಾಧನದೊಂದಿಗೆ ವೈ-ಫೈ ಅನ್ನು ಹಂಚಿಕೊಳ್ಳಲಾಗುತ್ತಿದೆ…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"ಸಂಪರ್ಕಿಸುತ್ತಿದೆ…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"ಹಾಟ್‌ಸ್ಪಾಟ್ ಹಂಚಿಕೊಳ್ಳಿ"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"ಇದು ನೀವೇ ಎಂಬುದನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"ಇದು ನೀವೇ ಎಂಬುದನ್ನು ಖಚಿತಪಡಿಸಿ"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"ವೈ-ಫೈ ಪಾಸ್‌ವರ್ಡ್: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"ಹಾಟ್‌ಸ್ಪಾಟ್ ಪಾಸ್‌ವರ್ಡ್: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"ಸ್ವಯಂ-ಕನೆಕ್ಟ್"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"ನೀವು ಆ ನೆಟ್‌ವರ್ಕ್ ಬಳಿ ಇರುವಾಗ ನಿಮ್ಮ ಫೋನ್ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಕನೆಕ್ಟ್ ಆಗಲು ಅನುಮತಿಸಿ"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"ನೀವು ಆ ನೆಟ್‌ವರ್ಕ್ ಬಳಿ ಇರುವಾಗ ನಿಮ್ಮ ಟ್ಯಾಬ್ಲೆಟ್‌‌ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಕನೆಕ್ಟ್ ಆಗಲು ಅನುಮತಿಸಿ"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"ಸಾಧನವನ್ನು ಸೇರಿಸಿ"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"ಈ ನೆಟ್‌ವರ್ಕ್‌ಗೆ ಸಾಧನವನ್ನು ಸೇರಿಸಲು QR ಕೋಡ್ ಅನ್ನು ಬಳಸಿ"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"QR ಕೋಡ್ ಮಾನ್ಯ ಫಾರ್ಮ್ಯಾಟ್‌ನಲ್ಲಿ ಇಲ್ಲ"</string>
     <string name="retry" msgid="7542103800274026915">"ಮರುಪ್ರಯತ್ನಿಸು"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"ಇತರ ಸಾಧನ ಬಳಕೆದಾರರ ಜೊತೆಗೆ ಹಂಚಿಕೊಳ್ಳಿ"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(ಬದಲಾವಣೆಯಾಗದ)"</string>
@@ -1000,6 +942,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"ಯಾವುದೇ ಪ್ರಮಾಣಪತ್ರ ನಿರ್ದಿಷ್ಟಪಡಿಸಲಾಗಿಲ್ಲ. ನಿಮ್ಮ ಸಂಪರ್ಕವು ಖಾಸಗಿಯಾಗಿರುವುದಿಲ್ಲ."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"ನೆಟ್‌ವರ್ಕ್‌ ಹೆಸರು ತುಂಬಾ ಉದ್ದವಾಗಿದೆ."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"ಡೊಮೇನ್ ನಿರ್ದಿಷ್ಟ ಪಡಿಸಬೇಕು."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"ಪ್ರಮಾಣಪತ್ರ ಅಗತ್ಯವಿದೆ."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"WPS ಲಭ್ಯವಿದೆ"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (WPS ಲಭ್ಯವಿದೆ)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"ವೈ-ಫೈ ನೆಟ್‌ವರ್ಕ್‌ ವಾಹಕ"</string>
@@ -1051,7 +994,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"ಸುಧಾರಿತ Wi‑Fi"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"MAC ವಿಳಾಸ"</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_ip_address_title" msgid="4265355419782184514">"IP ವಿಳಾಸ"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"ನೆಟ್‌ವರ್ಕ್‌ ವಿವರಗಳು"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"ಸಬ್‌ನೆಟ್‌ ಮಾಸ್ಕ್‌"</string>
@@ -1103,7 +1047,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"ನಿಮ್ಮ ಇತರ ಸಾಧನಗಳಿಗೆ ವೈ-ಫೈ ನೆಟ್‌ವರ್ಕ್‌ ರಚಿಸಲು ಹಾಟ್‌ಸ್ಪಾಟ್‌ ಬಳಸಿ. ನಿಮ್ಮ ಮೊಬೈಲ್‌ ಡೇಟಾ ಸಂಪರ್ಕವನ್ನು ಬಳಸಿಕೊಂಡು ಹಾಟ್‌ಸ್ಪಾಟ್‌ ಇಂಟರ್ನೆಟ್‌ ಅನ್ನು ಒದಗಿಸುತ್ತದೆ. ಹೆಚ್ಚುವರಿ ಮೊಬೈಲ್‌ ಡೇಟಾ ಶುಲ್ಕಗಳು ಅನ್ವಯವಾಗಬಹುದು."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"ಹತ್ತಿರದ ಸಾಧನಗಳೊಂದಿಗೆ ವಿಷಯವನ್ನು ಹಂಚಿಕೊಳ್ಳಲು ಅಪ್ಲಿಕೇಶನ್‌ಗಳು ಹಾಟ್‌ಸ್ಪಾಟ್ ಅನ್ನು ಸಹ ರಚಿಸಬಹುದು."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಹಾಟ್‌ಸ್ಪಾಟ್ ಆಫ್ ಮಾಡಿ"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"ಯಾವುದೇ ಸಾಧನಗಳು ಸಂಪರ್ಕಗೊಂಡಿಲ್ಲದಿದ್ದಾಗ ವೈ-ಫೈ ಹಾಟ್‌ಸ್ಪಾಟ್ ಆಫ್ ಆಗುತ್ತದೆ"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"ಯಾವುದೇ ಸಾಧನಗಳನ್ನು ಸಂಪರ್ಕಿಸದಿದ್ದಾಗ"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"ಹಾಟ್‌ಸ್ಪಾಟ್ ಆನ್‌ ಮಾಡಲಾಗುತ್ತಿದೆ…"</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"ಹಾಟ್‌ಸ್ಪಾಟ್ ಆಫ್‌ ಮಾಡಲಾಗುತ್ತಿದೆ…"</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> ಸಕ್ರಿಯವಾಗಿದೆ"</string>
@@ -1112,6 +1056,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"ವೈ-ಫೈ ಹಾಟ್‌ಸ್ಪಾಟ್ ಸೆಟಪ್"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"AndroidAP WPA2 PSK ಹಾಟ್‌ಸ್ಪಾಟ್"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"AndroidHotspot"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"ಈ ನೆಟ್‌ವರ್ಕ್ ಅನ್ನು ಉಳಿಸುವುದೇ?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"ನಿಮ್ಮ ಫೋನ್‌ಗೆ ನೆಟ್‌ವರ್ಕ್ ಅನ್ನು ಉಳಿಸಲು <xliff:g id="APPNAME">%1$s</xliff:g> ಬಯಸುತ್ತಿದೆ"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"ನಿಮ್ಮ ಟ್ಯಾಬ್ಲೆಟ್‌ಗೆ ನೆಟ್‌ವರ್ಕ್ ಅನ್ನು ಉಳಿಸಲು <xliff:g id="APPNAME">%1$s</xliff:g> ಬಯಸುತ್ತಿದೆ"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"ಉಳಿಸಲಾಗುತ್ತಿದೆ…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"ಉಳಿಸಲಾಗಿದೆ"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"ಉಳಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ. ಪುನಃ ಪ್ರಯತ್ನಿಸಿ."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"ನೆಟ್‌ವರ್ಕ್‌ಗಳನ್ನು ಉಳಿಸಬೇಕೆ?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"ನಿಮ್ಮ ಫೋನ್‌ಗೆ ಈ ನೆಟ್‌ವರ್ಕ್‌ಗಳನ್ನು ಉಳಿಸಲು <xliff:g id="APPNAME">%1$s</xliff:g> ಬಯಸುತ್ತಿದೆ"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"ನಿಮ್ಮ ಟ್ಯಾಬ್ಲೆಟ್‌ಗೆ ಈ ನೆಟ್‌ವರ್ಕ್‌ಗಳನ್ನು ಉಳಿಸಲು <xliff:g id="APPNAME">%1$s</xliff:g> ಬಯಸುತ್ತಿದೆ"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"<xliff:g id="NUMBER">%d</xliff:g> ನೆಟ್‌ವರ್ಕ್‌ಗಳನ್ನು ಉಳಿಸಲಾಗುತ್ತಿದೆ…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"ನೆಟ್‌ವರ್ಕ್‌ಗಳನ್ನು ಉಳಿಸಲಾಗಿದೆ"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"ವೈ-ಫೈ ಕರೆ ಮಾಡುವಿಕೆ"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"ವೈ-ಫೈ ಮೂಲಕ ಕರೆಗಳನ್ನು ವಿಸ್ತರಿಸಿ"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"ವ್ಯಾಪ್ತಿಯನ್ನು ವಿಸ್ತರಿಸಲು ವೈ-ಫೈ ಕರೆ ಮಾಡುವಿಕೆಯನ್ನು ಆನ್ ಮಾಡಿ"</string>
@@ -1138,16 +1093,18 @@
     <string name="emergency_address_title" msgid="3490633500025717573">"ತುರ್ತು ವಿಳಾಸ"</string>
     <string name="emergency_address_summary" msgid="3022628750270626473">"ವೈ-ಫೈ ಮೂಲಕ ತುರ್ತು ಕರೆಯನ್ನು ನೀವು ಮಾಡಿದಾಗ ನಿಮ್ಮ ಸ್ಥಳದಂತೆ ಬಳಸಲಾಗುತ್ತದೆ"</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>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"ವೈ-ಫೈ ಕರೆ ಮಾಡುವಿಕೆಯನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"ವೈ-ಫೈ ಕರೆ ಮಾಡುವಿಕೆ ಆನ್‌ ಮಾಡಿ"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"%1$s ಗಾಗಿ ವೈ-ಫೈ ಕರೆಯನ್ನು ಬೆಂಬಲಿತವಾಗಿಲ್ಲ"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"<xliff:g id="SSID">%1$s</xliff:g> ನಿಂದ ಸಂಪರ್ಕ ಕಡಿತಗೊಂಡಿದೆ"</string>
     <string name="carrier" msgid="1755020806290963951">"ವಾಹಕ"</string>
     <string name="display_settings_title" msgid="626835071804834218">"ಪ್ರದರ್ಶನ"</string>
     <string name="sound_settings" msgid="5514582720435174014">"ಧ್ವನಿ"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"ವಾಲ್ಯುಮ್‌ಗಳು"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"ಸಂಗೀತ ಎಫೆಕ್ಟ್"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"ರಿಂಗ್ ವಾಲ್ಯೂಮ್"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"ರಿಂಗ್ ಮತ್ತು ಅಧಿಸೂಚನೆ ವಾಲ್ಯೂಮ್"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"ನಿಶ್ಶಬ್ಧವಾಗಿರುವಾಗ ವೈಬ್ರೇಟ್‌ ಮಾಡು"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"ಡೀಫಾಲ್ಟ್ ಅಧಿಸೂಚನೆ ಧ್ವನಿ"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"ರಿಂಗ್‌ಟೋನ್‌"</string>
@@ -1272,13 +1229,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"ವೇಳಾಪಟ್ಟಿ"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"ಯಾವುದೂ ಬೇಡ"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"ಬೆಳಗಿನಿಂದ ಸಂಜೆವರೆಗೆ ಆನ್ ಇರುತ್ತದೆ"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"ಕಸ್ಟಮ್ ಸಮಯಕ್ಕೆ ಆನ್ ಆಗುತ್ತದೆ"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"ಸ್ಥಿತಿ"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"ಆಫ್ / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"ಎಂದಿಗೂ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಆನ್ ಆಗುವುದಿಲ್ಲ"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"ಸೂರ್ಯಾಸ್ತದ ಸಮಯದಲ್ಲಿ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಆನ್ ಆಗುತ್ತದೆ"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"<xliff:g id="ID_1">%1$s</xliff:g> ರಲ್ಲಿ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಆನ್ ಆಗುತ್ತದೆ"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"ಆನ್ / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"ಎಂದಿಗೂ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಆಫ್ ಆಗುವುದಿಲ್ಲ"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"ಸೂರ್ಯೋದಯದ ಸಮಯದಲ್ಲಿ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಆಫ್ ಆಗುತ್ತದೆ"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"<xliff:g id="ID_1">%1$s</xliff:g> ರಲ್ಲಿ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಆಫ್ ಆಗುತ್ತದೆ"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"<xliff:g id="ID_1">%1$s</xliff:g> ವರೆಗೆ ಆನ್ ಮಾಡಿ"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"<xliff:g id="ID_1">%1$s</xliff:g> ವರೆಗೆ ಆಫ್ ಮಾಡಿ"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"ಡಾರ್ಕ್ ಥೀಮ್, ಕೆಲವು ಸ್ಕ್ರೀನ್‌ಗಳಲ್ಲಿ ಕಪ್ಪು ಹಿನ್ನೆಲೆಯನ್ನು ಬಳಸುತ್ತದೆ, ಆದ್ದರಿಂದ ಬ್ಯಾಟರಿ ದೀರ್ಘ ಕಾಲ ಬಾಳಿಕೆ ಬರುತ್ತದೆ. ನೀವು ಸ್ಕ್ರೀನ್ ಆಫ್ ಮಾಡಿದ ನಂತರ, ಡಾರ್ಕ್‌ ಥೀಮ್ ವೇಳಾಪಟ್ಟಿಗಳು ಆನ್ ಆಗುತ್ತವೆ."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"ಸ್ಕ್ರೀನ್ ಅವಧಿ ಮುಕ್ತಾಯ"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"ಪರದೆ ಆಫ್ ಆಗುತ್ತದೆ"</string>
@@ -1290,7 +1252,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"ವಾಲ್‌ಪೇಪರ್ ಬದಲಿಸಿ"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"ನಿಮ್ಮ ಪರದೆಯನ್ನು ವೈಯಕ್ತೀಕರಿಸಿ"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"ವಾಲ್‌ಪೇಪರ್ ಆಯ್ಕೆ"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"ನಿಮ್ಮ Pixel ಅನ್ನು ಕಸ್ಟಮೈಸ್ ಮಾಡಿ"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"ನಿಮ್ಮ ಫೋನ್ ಕಸ್ಟಮೈಸ್ ಮಾಡಿ"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"ವಿವಿಧ ಶೈಲಿಗಳು, ವಾಲ್‌ಪೇಪರ್‌ಗಳು, ಇತ್ಯಾದಿಗಳನ್ನು ಬಳಸಿ ನೋಡಿ"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"ಸ್ಕ್ರೀನ್ ಸೇವರ್"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"ಚಾರ್ಜ್ ಮಾಡುವಾಗ ಅಥವಾ ಡಾಕ್ ಮಾಡುವಾಗ"</string>
@@ -1379,6 +1341,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"USB ಸಂಗ್ರಹಣೆಯ ಅಳವಡಿಕೆ ತೆಗೆಯಿರಿ, ಲಭ್ಯವಿರುವ ಸಂಗ್ರಹಣೆಯನ್ನು ವೀಕ್ಷಿಸಿ"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"SD ಕಾರ್ಡ್ ಅಳವಡಿಕೆ ತೆಗೆಯಿರಿ, ಲಭ್ಯವಿರುವ ಸಂಗ್ರಹಣೆಯನ್ನು ವೀಕ್ಷಿಸಿ"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (ಸಿಮ್ ಸ್ಲಾಟ್ %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"ವೀಕ್ಷಿಸಲು, ಉಳಿಸಲಾದ ನೆಟ್‌ವರ್ಕ್ ಆಯ್ಕೆಮಾಡಿ"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"ಫೋನ್ ಸಂಖ್ಯೆ"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (ಸಿಮ್ ಸ್ಲಾಟ್ %1$d)"</string>
@@ -1405,6 +1368,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"ರೋಮಿಂಗ್"</string>
     <string name="status_operator" msgid="4335640583552058491">"ನೆಟ್‌ವರ್ಕ್"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"Wi‑Fi MAC ವಿಳಾಸ"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"ಸಾಧನದ ವೈ-ಫೈ MAC ವಿಳಾಸ"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"ಬ್ಲೂಟೂತ್‌‌ ವಿಳಾಸ"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"ಕ್ರಮ ಸಂಖ್ಯೆ"</string>
     <string name="status_up_time" msgid="1274778533719495438">"ಕಾರ್ಯನಿರತ ಸಮಯ"</string>
@@ -1617,6 +1581,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"ಡಿಫಾಲ್ಟ್ APN ಸೆಟ್ಟಿಂಗ್‌ಗಳ ಮರುಹೊಂದಿಕೆಯು ಪೂರ್ಣಗೊಂಡಿದೆ."</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"ಮರುಹೊಂದಿಸುವ ಆಯ್ಕೆಗಳು"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"ನೆಟ್‌ವರ್ಕ್, ಅಪ್ಲಿಕೇಶನ್‌ಗಳು ಅಥವಾ ಸಾಧನವನ್ನು ಮರುಹೊಂದಿಸಬಹುದಾಗಿದೆ"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"ಆ್ಯಪ್‌ಗಳನ್ನು ಮರುಹೊಂದಿಸಬಹುದಾಗಿದೆ"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"ವೈ-ಫೈ, ಮೊಬೈಲ್ ಮತ್ತು ಬ್ಲೂಟೂತ್ ಮರುಹೊಂದಿಸಿ"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"ಕೆಳಗಿನವುಗಳನ್ನು ಒಳಗೊಂಡಂತೆ ಇದು ಎಲ್ಲಾ ನೆಟ್‌ವರ್ಕ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಮರುಹೊಂದಿಸುತ್ತದೆ:\n\n"<li>"ವೈ-ಫೈ"</li>\n<li>"ಮೊಬೈಲ್ ಡೇಟಾ"</li>\n<li>"ಬ್ಲೂಟೂತ್‌"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"ಡೌನ್‌ಲೋಡ್ ಮಾಡಿದ SIM ಅಳಿಸಿ"</string>
@@ -1666,6 +1631,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"ಹಾಟ್‌ಸ್ಪಾಟ್ ಆನ್ ಆಗಿದೆ"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"ಟೆಥರಿಂಗ್‌"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"ಡೇಟಾ ಉಳಿಸುವಿಕೆಯನ್ನು ಆನ್ ಆಗಿರುವಾಗ ಪೋರ್ಟಬಲ್ ಹಾಟ್‌ಸ್ಪಾಟ್‌ಗಳನ್ನು ಟೆಥರ್ ಮಾಡಲಾಗುವುದಿಲ್ಲ ಅಥವಾ ಬಳಸಲಾಗುವುದಿಲ್ಲ"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"ಹಾಟ್‌ಸ್ಪಾಟ್ ಮಾತ್ರ"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"USB ಮಾತ್ರ"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"ಬ್ಲೂಟೂತ್ ಮಾತ್ರ"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"ಹಾಟ್‌ಸ್ಪಾಟ್, USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"ಹಾಟ್‌ಸ್ಪಾಟ್, ಬ್ಲೂಟೂತ್"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB, ಬ್ಲೂಟೂತ್"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"ಹಾಟ್‌ಸ್ಪಾಟ್, USB, ಬ್ಲೂಟೂತ್"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"ಇತರ ಸಾಧನಗಳ ಜೊತೆಗೆ ಇಂಟರ್ನೆಟ್ ಅನ್ನು ಹಂಚಿಕೊಳ್ಳುತ್ತಿಲ್ಲ"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"ಟೆಥರಿಂಗ್‌"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"ವೈ-ಫೈ ಹಾಟ್‌ಸ್ಪಾಟ್ ಬಳಸಬೇಡಿ"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"USB ಮೂಲಕ ಮಾತ್ರ ಇಂಟರ್ನೆಟ್ ಹಂಚಿಕೊಳ್ಳಿ"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"ಬ್ಲೂಟೂತ್ ಮೂಲಕ ಮಾತ್ರ ಇಂಟರ್ನೆಟ್ ಹಂಚಿಕೊಳ್ಳಿ"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"USB ಮತ್ತು ಬ್ಲೂಟೂತ್ ಮೂಲಕ ಮಾತ್ರ ಇಂಟರ್ನೆಟ್ ಹಂಚಿಕೊಳ್ಳಿ"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB ಟೆಥರಿಂಗ್"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"USB ಮೂಲಕ ಫೋನ್‌ನ ಇಂಟರ್ನೆಟ್ ಸಂಪರ್ಕವನ್ನು ಹಂಚಿಕೊಳ್ಳಿ"</string>
@@ -1756,9 +1734,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"ಸುರಕ್ಷತೆ ಮಾಹಿತಿ"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"ನೀವು ಡೇಟಾ ಸಂಪರ್ಕವನ್ನು ಹೊಂದಿಲ್ಲ. ಇದೀಗ ಈ ಮಾಹಿತಿಯನ್ನು ವೀಕ್ಷಿಸಲು, ಇಂಟರ್ನೆಟ್‌ಗೆ ಸಂಪರ್ಕಪಡಿಸಿದ ಯಾವುದೇ ಕಂಪ್ಯೂಟರ್‌ನಿಂದ %s ಗೆ ಹೋಗಿ."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"ಲೋಡ್ ಆಗುತ್ತಿದೆ..."</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"ಪಿನ್ ಬಳಸಿ"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"ಪ್ಯಾಟರ್ನ್ ಬಳಸಿ"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"ಪಾಸ್‌ವರ್ಡ್ ಬಳಸಿ"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"ಪರದೆ ಲಾಕ್ ಹೊಂದಿಸಿ"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"ಸುರಕ್ಷತೆಗಾಗಿ, ಪಾಸ್‌ವರ್ಡ್‌ ಹೊಂದಿಸಿ"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"ಫಿಂಗರ್‌ಪ್ರಿಂಟ್ ಬಳಸಲು, ಪಾಸ್‌ವರ್ಡ್‌ ಹೊಂದಿಸಿ"</string>
@@ -1767,8 +1742,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"ಫಿಂಗರ್‌ಪ್ರಿಂಟ್ ಬಳಸಲು, ಪಿನ್ ಹೊಂದಿಸಿ"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"ಸುರಕ್ಷತೆಗಾಗಿ, ಪ್ಯಾಟರ್ನ್‌ ಅನ್ನು ಹೊಂದಿಸಿ"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"ನಿಮ್ಮ ಪಾಸ್‌ವರ್ಡ್ ಮರು ನಮೂದಿಸಿ"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"ನಿಮ್ಮ ಉದ್ಯೋಗ ಪಾಸ್‌ವರ್ಡ್‌ ನಮೂದಿಸಿ"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"ಪ್ಯಾಟರ್ನ್ ಅನ್ನು ದೃಢೀಕರಿಸಿ"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"ನಿಮ್ಮ ಉದ್ಯೋಗ ಪ್ಯಾಟರ್ನ್ ನಮೂದಿಸಿ"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"ನಿಮ್ಮ ಪಿನ್‌ ಅನ್ನು ಮರು ನಮೂದಿಸಿ"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"ನಿಮ್ಮ ಉದ್ಯೋಗ ಪಿನ್ ನಮೂದಿಸಿ"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"ಪಾಸ್‌ವರ್ಡ್‌ ಹೊಂದಿಕೆಯಾಗುತ್ತಿಲ್ಲ"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"ಪಿನ್‌ಗಳು ಹೊಂದಾಣಿಕೆಯಾಗುತ್ತಿಲ್ಲ"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"ನಿಮ್ಮ ಪ್ಯಾಟರ್ನ್ ಅನ್ನು ಪುನಃ ಬರೆಯಿರಿ"</string>
@@ -1779,6 +1757,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"ಫೇಸ್ ಅನ್‌ಲಾಕ್ ಬಳಸಲು, ಪಾಸ್‌ವರ್ಡ್ ಹೊಂದಿಸಿ"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"ಫೇಸ್ ಅನ್‌ಲಾಕ್ ಬಳಸಲು ಪ್ಯಾಟರ್ನ್ ಹೊಂದಿಸಿ"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"ಫೇಸ್ ಅನ್‌ಲಾಕ್ ಅನ್ನು ಬಳಸಲು ಪಿನ್ ಹೊಂದಿಸಿ"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"ನಿಮ್ಮ ಪಾಸ್‌ವರ್ಡ್ ಮರೆತುಹೋಗಿರುವಿರಾ?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"ನಿಮ್ಮ ಪ್ಯಾಟರ್ನ್ ಮರೆತಿದ್ದೀರಾ?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"ನಿಮ್ಮ ಪಿನ್‌ ಅನ್ನು ಮರೆತಿದ್ದೀರಾ?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"ಮುಂದುವರಿಯಲು ನಿಮ್ಮ ಸಾಧನದ ಪ್ಯಾಟರ್ನ್ ಬಳಸಿ"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"ಮುಂದುವರಿಸಲು ನಿಮ್ಮ ಸಾಧನದ ಪಿನ್‌ ನಮೂದಿಸಿ"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"ಮುಂದುವರಿಸಲು ನಿಮ್ಮ ಸಾಧನದ ಪಾಸ್‌ವರ್ಡ್‌ ನಮೂದಿಸಿ"</string>
@@ -1846,6 +1827,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"ಎಲ್ಲಾ ಅಪ್ಲಿಕೇಶನ್ ಮೂಲಗಳನ್ನು ಅನುಮತಿಸಿ"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"ಇತ್ತೀಚೆಗಷ್ಟೇ ತೆರೆಯಲಾಗಿರುವ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"ಎಲ್ಲಾ <xliff:g id="COUNT">%1$d</xliff:g> ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ವೀಕ್ಷಿಸಿ"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"ನಿಮ್ಮ IT ನಿರ್ವಾಹಕರನ್ನು ಸಂಪರ್ಕಿಸಿ"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"ನಿಮ್ಮ ಪಿನ್, ಪ್ಯಾಟರ್ನ್ ಅಥವಾ ಪಾಸ್‌ವರ್ಡ್ ಅನ್ನು ಮರುಹೊಂದಿಸಲು ಅವರು ನಿಮಗೆ ಸಹಾಯ ಮಾಡಬಹುದು"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"ನಿಮ್ಮ ಟ್ಯಾಬ್ಲೆಟ್ ಹಾಗೂ ವೈಯಕ್ತಿಕ ಡೇಟಾ, ಅಪರಿಚಿತ ಅಪ್ಲಿಕೇಶನ್‌ಗಳ ದಾಳಿಗೆ ತುತ್ತಾಗುವ ಸಾಧ್ಯತೆ ಹೆಚ್ಚಾಗಿದೆ. ಈ ಮೂಲದ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ಸ್ಥಾಪಿಸುವ ಮೂಲಕ, ನಿಮ್ಮ ಫೋನ್‌ಗೆ ಯಾವುದೇ ಹಾನಿ ಉಂಟಾದರೆ ಅಥವಾ ಅವುಗಳ ಬಳಕೆಯಿಂದ ಡೇಟಾ ನಷ್ಟವಾದರೆ, ಅದಕ್ಕೆ ನೀವೇ ಜವಾಬ್ದಾರರು ಎನ್ನುವುದನ್ನು ಒಪ್ಪಿಕೊಳ್ಳುತ್ತೀರಿ."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"ನಿಮ್ಮ ಫೋನ್ ಹಾಗೂ ವೈಯಕ್ತಿಕ ಡೇಟಾ, ಅಪರಿಚಿತ ಅಪ್ಲಿಕೇಶನ್‌ಗಳ ದಾಳಿಗೆ ತುತ್ತಾಗುವ ಸಾಧ್ಯತೆ ಹೆಚ್ಚಾಗಿದೆ. ಈ ಮೂಲದ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ಸ್ಥಾಪಿಸುವ ಮೂಲಕ, ನಿಮ್ಮ ಫೋನ್‌ಗೆ ಯಾವುದೇ ಹಾನಿ ಉಂಟಾದರೆ ಅಥವಾ ಅವುಗಳ ಬಳಕೆಯಿಂದ ಡೇಟಾ ನಷ್ಟವಾದರೆ, ಅದಕ್ಕೆ ನೀವೇ ಜವಾಬ್ದಾರರು ಎನ್ನುವುದನ್ನು ಒಪ್ಪಿಕೊಳ್ಳುತ್ತೀರಿ."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"ನಿಮ್ಮ ಸಾಧನ ಹಾಗೂ ವೈಯಕ್ತಿಕ ಡೇಟಾ, ಅಪರಿಚಿತ ಅಪ್ಲಿಕೇಶನ್‌ಗಳ ದಾಳಿಗೆ ತುತ್ತಾಗುವ ಸಾಧ್ಯತೆ ಹೆಚ್ಚಾಗಿದೆ. ಈ ಮೂಲದ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡುವ ಮೂಲಕ, ನಿಮ್ಮ ಫೋನ್‌ಗೆ ಯಾವುದೇ ಹಾನಿ ಉಂಟಾದರೆ ಅಥವಾ ಅವುಗಳ ಬಳಕೆಯಿಂದ ಡೇಟಾ ನಷ್ಟವಾದರೆ, ಅದಕ್ಕೆ ನೀವೇ ಜವಾಬ್ದಾರರು ಎನ್ನುವುದನ್ನು ಒಪ್ಪಿಕೊಳ್ಳುತ್ತೀರಿ."</string>
@@ -1897,7 +1880,7 @@
     <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="1377296810290814749">"ಈ ಕೆಳಗಿನ ಎಲ್ಲದಕ್ಕೂ ಇದು ಪ್ರಾಶಸ್ತ್ಯ ಮರುಹೊಂದಿಸುತ್ತದೆ:\n\n"<li>"ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾದ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು"</li>\n<li>"ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾದ ಅಪ್ಲಿಕೇಶನ್‌ ಅಧಿಸೂಚನೆಗಳು"</li>\n<li>"ಕಾರ್ಯಗಳಿಗೆ ಡೀಫಾಲ್ಟ್ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು"</li>\n<li>"ಅಪ್ಲಿಕೇಶನ್‌ಗಳಿಗಾಗಿ ಹಿನ್ನೆಲೆ ಡೇಟಾ ನಿರ್ಬಂಧಗಳು"</li>\n<li>"ಯಾವುದೇ ಅನುಮತಿ ನಿರ್ಬಂಧಗಳು"</li>\n\n"ನೀವು ಯಾವುದೇ ಅಪ್ಲಿಕೇಶನ್ ಡೇಟಾವನ್ನು ಕಳೆದುಕೊಳ್ಳುವುದಿಲ್ಲ."</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>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"ಆ್ಯಪ್‍‍ಗಳನ್ನು ಮರುಹೊಂದಿಸಿ"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"ಸ್ಥಳ ನಿರ್ವಹಿಸಿ"</string>
     <string name="filter" msgid="9039576690686251462">"ಫಿಲ್ಟರ್‌"</string>
@@ -2097,7 +2080,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"ಆಡಿಯೋ ಮತ್ತು ಪರದೆಯ ಮೇಲಿನ ಪಠ್ಯ"</string>
     <string name="display_category_title" msgid="6638191682294461408">"ಪ್ರದರ್ಶನ"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"ಸಂವಹನ ನಿಯಂತ್ರಣಗಳು"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"ಡೌನ್‌ಲೋಡ್ ಮಾಡಿದ ಸೇವೆಗಳು"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"ಡೌನ್‌ಲೋಡ್ ಮಾಡಲಾದ ಆ್ಯಪ್‌ಗಳು"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"ಪ್ರಾಯೋಗಿಕ"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"ವೈಶಿಷ್ಟ್ಯ ಫ್ಲ್ಯಾಗ್‌ಗಳು"</string>
     <string name="talkback_title" msgid="8756080454514251327">"Talkback"</string>
@@ -2105,27 +2088,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"ದೊಡ್ಡದಾಗಿ ಓದಲು ನಿಮ್ಮ ಸ್ಕ್ರೀನ್‌ ಮೇಲಿನ ಐಟಂಗಳನ್ನು ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"ಶೀರ್ಷಿಕೆ ಆದ್ಯತೆಗಳು"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"ಹಿಗ್ಗಿಸುವಿಕೆ"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"ಝೂಮ್ ಮಾಡಿದ ಪ್ರದೇಶ"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"ಮ್ಯಾಗ್ನಿಫಿಕೇಶನ್ ಸಕ್ರಿಯಗೊಳಿಸುವಿಕೆ"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"ಸ್ಕ್ರೀನ್‌ ಅನ್ನು ಝೂಮ್ ಮಾಡುವಾಗ, ನೀವು ಬಳಸಲು ಬಯಸುವ ಝೂಮ್ ಮಾಡಬೇಕಾದ ಪ್ರದೇಶ(ಗಳು) ಆಯ್ಕೆಮಾಡಿ"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"ಪೂರ್ಣ ಸ್ಕ್ರೀನ್"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"ಸ್ಕ್ರೀನ್‌ನ ಅರ್ಧಭಾಗ"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"ಪೂರ್ಣ ಸ್ಕ್ರೀನ್, ಸ್ಕ್ರೀನ್‌ನ ಅರ್ಧಭಾಗ"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"ಸ್ಕ್ರೀನ್‌ನ ಸಂಪೂರ್ಣ ಭಾಗವನ್ನು ಝೂಮ್ ಮಾಡಿ"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"ಸ್ಕ್ರೀನ್‌ನ ಅರ್ಧಭಾಗವನ್ನು ಝೂಮ್ ಮಾಡಿ"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"ಝೂಮ್ ಮಾಡಿದ ಸೆಟ್ಟಿಂಗ್‌ಗಳು"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"ಟ್ರಿಪಲ್-ಟ್ಯಾಪ್ ಮೂಲಕ ಹಿಗ್ಗಿಸಿ"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"ಶಾರ್ಟ್‌ಕಟ್ ಮೂಲಕ ಹಿಗ್ಗಿಸಿ"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"ಶಾರ್ಟ್‌ಕಟ್ ಮತ್ತು ಮೂರು-ಟ್ಯಾಪ್ ಮೂಲಕ ಹಿಗ್ಗಿಸಿ"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"<xliff:g id="SERVICE">%1$s</xliff:g> ಕುರಿತು"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"ಆಯ್ಕೆಗಳು"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"ಪರದೆಯನ್ನು ಝೂಮ್ ಇನ್ ಮಾಡಿ"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"ಝೂಮ್ ಮಾಡಲು 3 ಬಾರಿ ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"ಝೂಮ್ ಮಾಡಲು ಒಂದು ಬಟನ್ ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><b>"ಝೂಮ್ ಮಾಡಲು"</b>", ಪರದೆಯನ್ನು ತ್ವರಿತವಾಗಿ 3 ಬಾರಿ ಟ್ಯಾಪ್ ಮಾಡಿ.\n"<ul><li>"ಸ್ಕ್ರಾಲ್ ಮಾಡಲು 2 ಅಥವಾ ಹೆಚ್ಚು ಬೆರಳುಗಳನ್ನು ಡ್ರ್ಯಾಗ್ ಮಾಡಿ"</li>\n<li>"ಝೂಮ್ ಹೊಂದಿಸಲು 2 ಅಥವಾ ಹೆಚ್ಚು ಬೆರಳುಗಳ ಜೊತೆ ಚಿವುಟಿ"</li></ul>\n\n<b>"ತಾತ್ಕಾಲಿಕವಾಗಿ ಝೂಮ್ ಮಾಡಲು"</b>", ಪರದೆಯನ್ನು ತ್ವರಿತವಾಗಿ 3 ಬಾರಿ ಟ್ಯಾಪ್ ಮಾಡಿ ಮತ್ತು ಮೂರನೇ ಬಾರಿ ಟ್ಯಾಪ್ ಮಾಡುವಾಗ ನಿಮ್ಮ ಬೆರಳನ್ನು ಒತ್ತಿ ಹಿಡಿಯಿರಿ.\n"<ul><li>"ಪರದೆಯಲ್ಲಿ ಅತ್ತಿತ್ತ ಸರಿಸಲು ಟ್ಯಾಪ್ ಮಾಡಿ"</li>\n<li>"ಝೂಮ್ ಔಟ್ ಮಾಡಲು ಬೆರಳನ್ನು ಎತ್ತಿ"</li></ul>\n\n"ನೀವು ಕೀಬೋರ್ಡ್ ಮತ್ತು ನ್ಯಾವಿಗೇಶನ್ ಬಾರ್‌ನಲ್ಲಿ ಝೂಮ್ ಇನ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ."</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"ಹಿಗ್ಗಿಸುವಿಕೆ ಅನ್ನು ಆನ್ ಮಾಡಿದಾಗ, ನಿಮ್ಮ ಪರದೆಯಲ್ಲಿ ನೀವು ಝೂಮ್‌ ಇನ್‌ ಮಾಡಬಹುದು.\n\n"<b>"ಝೂಮ್‌ ಮಾಡಲು"</b>", ಹಿಗ್ಗಿಸುವಿಕೆ ಅನ್ನು ಪ್ರಾರಂಭಿಸಿ, ನಂತರ ಪರದೆಯ ಮೇಲೆ ಎಲ್ಲಿಯಾದರೂ ಟ್ಯಾಪ್ ಮಾಡಿ.\n"<ul><li>"• ಸ್ಕ್ರಾಲ್ ಮಾಡಲು 2 ಅಥವಾ ಹೆಚ್ಚು ಬೆರಳುಗಳಿಂದ ಡ್ರ್ಯಾಗ್ ಮಾಡಿ"</li>\n<li>"• ಝೂಮ್ ಹೊಂದಿಸಲು, 2 ಅಥವಾ ಹೆಚ್ಚು ಬೆರಳುಗಳಿಂದ ಪಿಂಚ್ ಮಾಡಿ"</li></ul>\n\n<b>"ತಾತ್ಕಾಲಿಕವಾಗಿ ಝೂಮ್ ಮಾಡಲು"</b>", ಹಿಗ್ಗಿಸುವಿಕೆ ಅನ್ನು ಪ್ರಾರಂಭಿಸಿ, ನಂತರ ಸ್ಪರ್ಶಿಸಿ ಮತ್ತು ಪರದೆಯ ಮೇಲೆ ಎಲ್ಲಿಯಾದರೂ ಒತ್ತಿ ಹಿಡಿಯಿರಿ.\n"<ul><li>"• ಪರದೆಯ ಸುತ್ತ ಚಲಿಸಲು ಡ್ರ್ಯಾಗ್ ಮಾಡಿ"</li>\n<li>"• ಝೂಮ್ ಔಟ್ ಮಾಡಲು ಬೆರಳನ್ನು ಮೇಲಕ್ಕೆತ್ತಿ"</li></ul>\n\n"ಕೀಬೋರ್ಡ್ ಅಥವಾ ನ್ಯಾವಿಗೇಶನ್ ಬಾರ್‌ನಲ್ಲಿ ನಿಮಗೆ ಝೂಮ್ ಇನ್ ಮಾಡಲು ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ."</string>
+    <string name="accessibility_screen_magnification_summary" msgid="7617931632990040045">"ವಿಷಯವನ್ನು ಹೆಚ್ಚು ಸ್ಪಷ್ಟವಾಗಿ ನೋಡಲು, ಪರದೆಯ ಮೇಲೆ ತ್ವರಿತವಾಗಿ ಝೂಮ್‌ ಇನ್‌ ಮಾಡಿ.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;ಝೂಮ್‌ ಇನ್‌ ಮಾಡಲು:&lt;/b&gt;&lt;br/&gt;	1. ಹಿಗ್ಗಿಸುವಿಕೆಯನ್ನು ಪ್ರಾರಂಭಿಸಲು ಶಾರ್ಟ್‌ಕಟ್ ಬಳಸಿ&lt;br/&gt;	2. ಪರದೆಯನ್ನು ಟ್ಯಾಪ್ ಮಾಡಿ&lt;br/&gt;	3. ಪರದೆಯ ಸುತ್ತ ಸರಿಸಲು 2 ಬೆರಳುಗಳನ್ನು ಡ್ರ್ಯಾಗ್ ಮಾಡಿ&lt;br/&gt;	4. ಝೂಮ್‌ ಹೊಂದಿಸಲು 2 ಬೆರಳುಗಳಿಂದ ಪಿಂಚ್ ಮಾಡಿ&lt;br/&gt;	5. ಹಿಗ್ಗಿಸುವಿಕೆಯನ್ನು ನಿಲ್ಲಿಸಲು ಶಾರ್ಟ್‌ಕಟ್ ಬಳಸಿ&lt;br/&gt;&lt;br/&gt;&lt;b&gt;ತಾತ್ಕಾಲಿಕವಾಗಿ ಝೂಮ್ ಇನ್ ಮಾಡಲು:&lt;/b&gt;&lt;br/&gt;	1. ಹಿಗ್ಗಿಸುವಿಕೆಯನ್ನು ಪ್ರಾರಂಭಿಸಲು ಶಾರ್ಟ್‌ಕಟ್ ಬಳಸಿ&lt;br/&gt;	2. ಪರದೆಯ ಮೇಲೆ ಎಲ್ಲಿಯಾದರೂ ಸ್ಪರ್ಶಿಸಿ ಮತ್ತು ಹೋಲ್ಡ್‌ ಮಾಡಿ&lt;br/&gt;	3. ಪರದೆಯ ಸುತ್ತಲೂ ಚಲಿಸಲು ಬೆರಳನ್ನು ಡ್ರ್ಯಾಗ್ ಮಾಡಿ&lt;br/&gt;	4. ಹಿಗ್ಗಿಸುವಿಕೆಯನ್ನು ನಿಲ್ಲಿಸಲು ಬೆರಳನ್ನು ಮೇಲಕ್ಕೆತ್ತಿ"</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"ಹಿಗ್ಗಿಸುವಿಕೆ ಅನ್ನು ಆನ್ ಮಾಡಿದಾಗ, ನಿಮ್ಮ ಪರದೆಯಲ್ಲಿ ನೀವು ಝೂಮ್‌ ಇನ್‌ ಮಾಡಬಹುದು.\n\n"<b>"ಝೂಮ್‌ ಮಾಡಲು"</b>", ಹಿಗ್ಗಿಸುವಿಕೆ ಅನ್ನು ಪ್ರಾರಂಭಿಸಿ, ನಂತರ ಪರದೆಯ ಮೇಲೆ ಎಲ್ಲಿಯಾದರೂ ಟ್ಯಾಪ್ ಮಾಡಿ.\n"<ul><li>"ಸ್ಕ್ರಾಲ್ ಮಾಡಲು 2 ಅಥವಾ ಹೆಚ್ಚು ಬೆರಳುಗಳನ್ನು ಡ್ರ್ಯಾಗ್ ಮಾಡಿ"</li>\n<li>"ಝೂಮ್ ಹೊಂದಿಸಲು, 2 ಅಥವಾ ಹೆಚ್ಚು ಬೆರಳುಗಳಿಂದ ಪಿಂಚ್ ಮಾಡಿ"</li></ul>\n\n<b>"ತಾತ್ಕಾಲಿಕವಾಗಿ ಝೂಮ್ ಮಾಡಲು"</b>", ಮ್ಯಾಗ್ನಿಫಿಕೇಶನ್ ಅನ್ನು ಪ್ರಾಂಭಿಸಿ, ನಂತರ ಪರದೆಯ ಮೇಲೆ ಎಲ್ಲಾದರೂ ಸ್ಪರ್ಶಿಸಿ, ಒತ್ತಿಹಿಡಿಯಿರಿ.\n"<ul><li>"ಪರದೆಯಲ್ಲಿ ಅತ್ತಿತ್ತ ಸರಿಸಲು, ಡ್ರ್ಯಾಗ್ ಮಾಡಿ"</li>\n<li>"ಝೂಮ್ ಔಟ್ ಮಾಡಲು ಬೆರಳನ್ನು ಎತ್ತಿ"</li></ul>\n\n"ನೀವು ಕೀಬೋರ್ಡ್ ಅಥವಾ ನ್ಯಾವಿಗೇಶನ್ ಬಾರ್‌ನಲ್ಲಿ ಝೂಮ್ ಇನ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ."</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"ತೆರೆಯಲು ಪ್ರವೇಶಿಸುವಿಕೆ ಬಟನ್ ಬಳಸಿ"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"ತೆರೆಯಲು ಗೆಸ್ಚರ್ ಬಳಸಿ"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"ಹೊಸ ಪ್ರವೇಶಿಸುವಿಕೆ ಗೆಸ್ಚರ್ ಬಳಸಿ"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"ಈ ಸೇವೆಯನ್ನು ಆನ್ ಅಥವಾ ಆಫ್ ಮಾಡಲು, ನಿಮ್ಮ ಪರದೆಯ ಕೆಳಭಾಗದಲ್ಲಿ ಪ್ರವೇಶಿಸುವಿಕೆ ಬಟನ್<xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>ಟ್ಯಾಪ್ ಮಾಡಿ.\n\nಸೇವೆಗಳ ನಡುವೆ ಬದಲಿಸಲು, ಸ್ಪರ್ಶಿಸಿ ಮತ್ತು ಪ್ರವೇಶಿಸುವಿಕೆ ಬಟನ್ ಅನ್ನು ಒತ್ತಿ ಹಿಡಿಯಿರಿ."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"ಈ ಸೇವೆಯನ್ನು ಆನ್ ಅಥವಾ ಆಫ್ ಮಾಡಲು, ಎರಡು ಬೆರಳುಗಳನ್ನು ಬಳಸಿ ಪರದೆಯ ಕೆಳಭಾಗದಿಂದ ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ.\n\nಸೇವೆಗಳ ನಡುವೆ ಬದಲಿಸಲು, ಎರಡು ಬೆರಳುಗಳನ್ನು ಬಳಸಿ ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ ಮತ್ತು ಒತ್ತಿ ಹಿಡಿಯಿರಿ."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"ಈ ಸೇವೆಯನ್ನು ಆನ್ ಅಥವಾ ಆಫ್ ಮಾಡಲು, ಮೂರು ಬೆರಳುಗಳನ್ನು ಬಳಸಿ ಪರದೆಯ ಕೆಳಭಾಗದಿಂದ ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ.\n\nಸೇವೆಗಳ ನಡುವೆ ಬದಲಿಸಲು, ಮೂರು ಬೆರಳುಗಳನ್ನು ಬಳಸಿ ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ ಮತ್ತು ಒತ್ತಿ ಹಿಡಿಯಿರಿ."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"ಪ್ರವೇಶಿಸುವಿಕೆ ಸೇವೆಯೊಂದನ್ನು ಆನ್ ಅಥವಾ ಆಫ್ ಮಾಡಲು, ಎರಡು ಬೆರಳುಗಳನ್ನು ಬಳಸಿ ಪರದೆಯ ಕೆಳಭಾಗದಿಂದ ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ.\n\nಸೇವೆಗಳ ನಡುವೆ ಬದಲಿಸಲು, ಎರಡು ಬೆರಳುಗಳನ್ನು ಬಳಸಿ ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ ಮತ್ತು ಒತ್ತಿ ಹಿಡಿಯಿರಿ."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"ಪ್ರವೇಶಿಸುವಿಕೆ ಸೇವೆಯೊಂದನ್ನು ಆನ್ ಅಥವಾ ಆಫ್ ಮಾಡಲು, ಮೂರು ಬೆರಳುಗಳನ್ನು ಬಳಸಿ ಪರದೆಯ ಕೆಳಭಾಗದಿಂದ ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ.\n\nಸೇವೆಗಳ ನಡುವೆ ಬದಲಿಸಲು, ಮೂರು ಬೆರಳುಗಳನ್ನು ಬಳಸಿ ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ ಮತ್ತು ಒತ್ತಿ ಹಿಡಿಯಿರಿ."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"ಈ ಸೇವೆಯನ್ನು ಆನ್ ಅಥವಾ ಆಫ್ ಮಾಡಲು, ನಿಮ್ಮ ಸ್ಕ್ರೀನ್‌ನ ಕೆಳಭಾಗದಲ್ಲಿ ಪ್ರವೇಶಿಸುವಿಕೆ ಬಟನ್ <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> ಟ್ಯಾಪ್ ಮಾಡಿ.\n\nಸೇವೆಗಳ ನಡುವೆ ಬದಲಿಸಲು, ಸ್ಪರ್ಶಿಸಿ ಮತ್ತು ಪ್ರವೇಶಿಸುವಿಕೆ ಬಟನ್ ಅನ್ನು ಒತ್ತಿ ಹಿಡಿಯಿರಿ."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"ಈ ಸೇವೆಯನ್ನು ಆನ್ ಅಥವಾ ಆಫ್ ಮಾಡಲು, ಎರಡು ಬೆರಳುಗಳನ್ನು ಬಳಸಿ ಪರದೆಯ ಕೆಳಭಾಗದಿಂದ ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ.\n\nಸೇವೆಗಳ ನಡುವೆ ಬದಲಿಸಲು, ಎರಡು ಬೆರಳುಗಳನ್ನು ಬಳಸಿ ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ ಮತ್ತು ಒತ್ತಿ ಹಿಡಿಯಿರಿ."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"ಈ ಸೇವೆಯನ್ನು ಆನ್ ಅಥವಾ ಆಫ್ ಮಾಡಲು, ಮೂರು ಬೆರಳುಗಳನ್ನು ಬಳಸಿ ಪರದೆಯ ಕೆಳಭಾಗದಿಂದ ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ.\n\nಸೇವೆಗಳ ನಡುವೆ ಬದಲಿಸಲು, ಮೂರು ಬೆರಳುಗಳನ್ನು ಬಳಸಿ ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ ಮತ್ತು ಒತ್ತಿ ಹಿಡಿಯಿರಿ."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"ಪ್ರವೇಶಿಸುವಿಕೆ ಸೇವೆಯೊಂದನ್ನು ಆನ್ ಅಥವಾ ಆಫ್ ಮಾಡಲು, ಎರಡು ಬೆರಳುಗಳನ್ನು ಬಳಸಿ ಪರದೆಯ ಕೆಳಭಾಗದಿಂದ ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ.\n\nಸೇವೆಗಳ ನಡುವೆ ಬದಲಿಸಲು, ಎರಡು ಬೆರಳುಗಳನ್ನು ಬಳಸಿ ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ ಮತ್ತು ಒತ್ತಿ ಹಿಡಿಯಿರಿ."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"ಪ್ರವೇಶಿಸುವಿಕೆ ಸೇವೆಯೊಂದನ್ನು ಆನ್ ಅಥವಾ ಆಫ್ ಮಾಡಲು, ಮೂರು ಬೆರಳುಗಳನ್ನು ಬಳಸಿ ಪರದೆಯ ಕೆಳಭಾಗದಿಂದ ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ.\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="2820923641553461297">"ಪ್ರವೇಶಿಸುವಿಕೆ ಬಟನ್"</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>
+    <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8922102767509399352">"ನಿಮ್ಮ ಸ್ಕ್ರೀನ್‌ನ ಕೆಳಭಾಗದಲ್ಲಿರುವ <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> ಪ್ರವೇಶಿಸುವಿಕೆ ಬಟನ್ ಅನ್ನು ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"ಎರಡು ಬೆರಳುಗಳನ್ನು ಬಳಸಿ ಪರದೆಯ ಕೆಳಭಾಗದಿಂದ ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"ಮೂರು ಬೆರಳುಗಳನ್ನು ಬಳಸಿ ಪರದೆಯ ಕೆಳಭಾಗದಿಂದ ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"ವಾಲ್ಯೂಮ್ ಕೀಗಳನ್ನು ಹಿಡಿದುಕೊಳ್ಳಿ"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"1 ಸೆಕೆಂಡ್‌ವರೆಗೆ ಎರಡೂ ವಾಲ್ಯೂಮ್ ಕೀಗಳನ್ನು ಒತ್ತಿ ಹಿಡಿದುಕೊಳ್ಳಿ"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"ಸ್ಕ್ರೀನ್ ಮೇಲೆ ಮೂರು ಬಾರಿ ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"ಸ್ಕ್ರೀನ್ ಅನ್ನು ತ್ವರಿತವಾಗಿ ಮೂರು ಬಾರಿ ಟ್ಯಾಪ್ ಮಾಡಿ. ಈ ಶಾರ್ಟ್‌ಕಟ್ ನಿಮ್ಮ ಸಾಧನವನ್ನು ನಿಧಾನಗೊಳಿಸಬಹುದು."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"ಸುಧಾರಿತ"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"ಪ್ರವೇಶಿಸುವಿಕೆ ಬಟನ್ ಅನ್ನು <xliff:g id="SERVICE">%1$s</xliff:g> ಗೆ ಹೊಂದಿಸಲಾಗಿದೆ. ಹಿಗ್ಗಿಸುವಿಕೆ ವೈಶಿಷ್ಟ್ಯವನ್ನು ಬಳಸಲು, ಪ್ರವೇಶಿಸುವಿಕೆ ಬಟನ್ ಅನ್ನು ಸ್ಪರ್ಶಿಸಿ, ಒತ್ತಿಹಿಡಿಯಿರಿ; ನಂತರ, ಹಿಗ್ಗಿಸುವಿಕೆಯನ್ನು ಆಯ್ಕೆ ಮಾಡಿ."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"ಪ್ರವೇಶಿಸುವಿಕೆ ಗೆಸ್ಚರ್ ಅನ್ನು <xliff:g id="SERVICE">%1$s</xliff:g> ಗೆ ಹೊಂದಿಸಲಾಗಿದೆ. ವರ್ಧನೆಯನ್ನು ಬಳಸಲು, ಪರದೆಯ ಕೆಳಗಿನಿಂದ ಎರಡು ಬೆರಳುಗಳಲ್ಲಿ ಸ್ವೈಪ್ ಮಾಡಿ ಮತ್ತು ಹಿಡಿದುಕೊಳ್ಳಿ. ನಂತರ ವರ್ಧನೆಯನ್ನು ಆಯ್ಕೆಮಾಡಿ."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"ವಾಲ್ಯೂಮ್ ಕೀ ಶಾರ್ಟ್‌ಕಟ್‌"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"ಶಾರ್ಟ್‌ಕಟ್ ಸೇವೆ"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"ಶಾರ್ಟ್‌ಕಟ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳು"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"ಲಾಕ್ ಪರದೆಯಿಂದ ಅನುಮತಿಸಿ"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"ಶಾರ್ಟ್‌ಕಟ್ ಆನ್ ಆಗಿರುವಾಗ ಪ್ರವೇಶಿಸುವಿಕೆ ವೈಶಿಷ್ಟ್ಯ ಆನ್ ಮಾಡಲು, ಎರಡೂ ವಾಲ್ಯೂಮ್ ಕೀಗಳನ್ನು ನೀವು 3 ಸೆಕೆಂಡುಗಳ ಕಾಲ ಒತ್ತಬೇಕು."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"ಹೆಚ್ಚು ಕಾಂಟ್ರಾಸ್ಟ್‌ನ ಪಠ್ಯ"</string>
@@ -2149,24 +2157,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"ನೀವು ಕ್ರಮ ತೆಗೆದುಕೊಳ್ಳಲು ಕೇಳುವ ಸಂದೇಶಗಳನ್ನು ಎಷ್ಟು ಸಮಯದ ಕಾಲ ತೋರಿಸಬೇಕು ಎಂಬುದನ್ನು ಆಯ್ಕೆಮಾಡಿ.\n\nಎಲ್ಲಾ ಆ್ಯಪ್‌ಗಳು ಈ ಸೆಟ್ಟಿಂಗ್ ಅನ್ನು ಬೆಂಬಲಿಸುವುದಿಲ್ಲ."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"ಸ್ಪರ್ಶ &amp; ಹೋಲ್ಡ್‌ ವಿಳಂಬ"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"ಬಣ್ಣ ವಿಲೋಮ"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"ಕಾರ್ಯಕ್ಷಮತೆಯ ಮೇಲೆ ಪರಿಣಾಮ ಬೀರಬಹುದು"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"ತಂಗಿದ ಸಮಯ"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"ಕಲರ್ ಇನ್‌ವರ್ಶನ್ ಅನ್ನು ಬಳಸಿ"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"ಕಲರ್ ಇನ್‌ವರ್ಶನ್ ತಿಳಿ ಬಣ್ಣದ ಪರದೆಗಳನ್ನು ಗಾಢವಾಗಿಸುತ್ತದೆ. ಪ್ರಕಾಶಮಾನವಾದ ಬೆಳಕಿಗೆ ಸೂಕ್ಷ್ಮವಾಗಿ ಪ್ರತಿಕ್ರಿಯಿಸುವ ಜನರಿಗೆ ಪರದೆಯನ್ನು ಹೆಚ್ಚು ಸುಲಭವಾಗಿ ನೋಡಲು ಇದು ಸಹಾಯ ಮಾಡುತ್ತದೆ.&lt;br/&gt;&lt;br/&gt;ಗಮನಿಸಿ: ಗಾಢ ಬಣ್ಣಗಳು ತಿಳಿಯಾಗುತ್ತವೆ. ಮಾಧ್ಯಮ ಮತ್ತು ಚಿತ್ರಗಳಲ್ಲಿ ಬಣ್ಣಗಳು ಬದಲಾಗುತ್ತವೆ. ನೀವು ಡಾರ್ಕ್ ಥೀಮ್ ಅನ್ನು ಸಹ ಬಳಸಬಹುದು (ಸೆಟ್ಟಿಂಗ್‌ಗಳು &gt; ಡಿಸ್‌ಪ್ಲೇ)."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"ಸ್ವಯಂ-ಕ್ಲಿಕ್ (ತಂಗಿದ ಸಮಯ)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"ನೀವು ಮೌಸ್‌ ಬಳಸುತ್ತಿದ್ದರೆ, ಒಂದು ಕ್ಷಣಕ್ಕೆ ಮೌಸ್ ಚಲಿಸುವುದನ್ನು ನಿಲ್ಲಿಸಿದಾಗ ನೀವು ಕರ್ಸರ್ ಅನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸಲು ಹೊಂದಿಸಬಹುದು."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"ಕ್ಲಿಕ್ ಮಾಡುವ ಮೊದಲು ವಿಳಂಬ"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"ಸ್ವಯಂ ಕ್ಲಿಕ್ ಬಳಸಬೇಡಿ (ಡೀಫಾಲ್ಟ್)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"ಚಿಕ್ಕದು"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0.2 ಸೆಕೆಂಡುಗಳು"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"ಮಧ್ಯಮ"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0.6 ಸೆಕೆಂಡುಗಳು"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"ದೀರ್ಘವಾದ"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 ಸೆಕೆಂಡು"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"ಕಸ್ಟಮ್"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"ಕಡಿಮೆ ಸಮಯ"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"ಹೆಚ್ಚಿನ ಸಮಯ"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"ಸ್ವಯಂ ಕ್ಲಿಕ್ ಸಮಯ"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"ವೈಬ್ರೇಶನ್ ಮತ್ತು ಸ್ಪರ್ಶದ ಶಕ್ತಿ"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"ಅಧಿಸೂಚನೆಯ ವೈಬ್ರೇಷನ್"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"ರಿಂಗ್‌ನೊಂದಿಗೆ ವೈಬ್ರೇಷನ್"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"ಸ್ಪರ್ಶ ಪ್ರತಿಕ್ರಿಯೆ"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"ಸೇವೆಯನ್ನು ಬಳಸಿ"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g> ಅನ್ನು ಬಳಸಿ"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g> ಅನ್ನು ತೆರೆಯಿರಿ"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"ಬಣ್ಣ ತಿದ್ದುಪಡಿಯನ್ನು ಬಳಸಿ"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"ಶೀರ್ಷಿಕೆಗಳನ್ನು ಬಳಸಿ"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"ಶೀರ್ಷಿಕೆಗಳನ್ನು ತೋರಿಸಿ"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"ಶೀರ್ಷಿಕೆಯ ಗೋಚರತೆ"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"ಪಠ್ಯದ ಗಾತ್ರ, ಶೀರ್ಷಿಕೆ ಶೈಲಿ"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"ಇನ್ನಷ್ಟು ಆಯ್ಕೆಗಳು"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"ಎಲ್ಲಾ ಆ್ಯಪ್‌ಗಳು ಈ ಸೆಟ್ಟಿಂಗ್‌ ಬೆಂಬಲಿಸುವುದಿಲ್ಲ."</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"ಪ್ರವೇಶಿಸುವಿಕೆ ಬಟನ್"</string>
+    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"2 ಬೆರಳುಗಳನ್ನು ಬಳಸಿ ಬಟನ್‌ನಿಂದ ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ"</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>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"ಶ್ರವಣ ಸಾಧನಗಳು"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"ಯಾವುದೇ ಶ್ರವಣ ಸಾಧನ ಸಂಪರ್ಕಗೊಂಡಿಲ್ಲ"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"ಶ್ರವಣ ಸಾಧನಗಳನ್ನು ಸೇರಿಸಿ"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"ನಿಮ್ಮ ಶ್ರವಣ ಸಾಧನಗಳನ್ನು ಜೋಡಿಸಲು, ಮುಂದಿನ ಪರದೆಯಲ್ಲಿರುವ ನಿಮ್ಮ ಸಾಧನವನ್ನು ಹುಡುಕಿ ಮತ್ತು ಟ್ಯಾಪ್ ಮಾಡಿ."</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"ನಿಮ್ಮ ಶ್ರವಣ ಸಾಧನಗಳು ಜೋಡಿಸುವಿಕೆ ಮೋಡ್‌ನಲ್ಲಿವೆ ಎಂಬುದನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"ನಿಮ್ಮ ಶ್ರವಣ ಸಾಧನಗಳನ್ನು ಜೋಡಿಸಲು, ಮುಂದಿನ ಪರದೆಯಲ್ಲಿ ನಿಮ್ಮ ಸಾಧನವನ್ನು ಹುಡುಕಿ ಮತ್ತು ಟ್ಯಾಪ್ ಮಾಡಿ. ನಿಮ್ಮ ಶ್ರವಣ ಸಾಧನಗಳು ಜೋಡಿಸುವಿಕೆ ಮೋಡ್‌ನಲ್ಲಿದೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ಸಕ್ರಿಯ"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> ಶ್ರವಣ ಸಾಧನಗಳನ್ನು ಉಳಿಸಲಾಗಿದೆ</item>
@@ -2178,25 +2204,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"ಈ ಸೇವೆಯು ಅಸಮರ್ಪಕವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತಿದೆ."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"ತ್ವರಿತ ಸೆಟ್ಟಿಂಗ್‌‌ಗಳಲ್ಲಿ ತೋರಿಸು"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"ತಿದ್ದುಪಡಿಯ ಮೋಡ್"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="one">ಬಹಳ ಕಡಿಮೆ ವಿಳಂಬ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ಮಿ.ಸೆ)</item>
-      <item quantity="other">ಬಹಳ ಕಡಿಮೆ ವಿಳಂಬ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ಮಿ.ಸೆ)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"ಕೆಂಪು-ಹಸಿರು"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"ಹಸಿರು-ಕೆಂಪು"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"ನೀಲಿ-ಹಳದಿ"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"ಡ್ಯುಟೆರೊನೊಮಾಲಿ"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"ಪ್ರೊಟನೊಮಾಲಿ"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"ಟ್ರೈಟನೊಮಾಲಿ"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="one">ತುಂಬಾ ಕಡಿಮೆ ವಿಳಂಬ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ಸೆಕೆಂಡ್‌ಗಳು)</item>
+      <item quantity="other">ತುಂಬಾ ಕಡಿಮೆ ವಿಳಂಬ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ಸೆಕೆಂಡ್‌ಗಳು)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="one">ತುಂಬಾ ಕಡಿಮೆ ವಿಳಂಬ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ಮಿ.ಸೆ)</item>
-      <item quantity="other">ತುಂಬಾ ಕಡಿಮೆ ವಿಳಂಬ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ಮಿ.ಸೆ)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="one">ಬಹಳ ಕಡಿಮೆ ವಿಳಂಬ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ಸೆಕೆಂಡ್‌ಗಳು)</item>
+      <item quantity="other">ಬಹಳ ಕಡಿಮೆ ವಿಳಂಬ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ಸೆಕೆಂಡ್‌ಗಳು)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="one">ಕಡಿಮೆ ವಿಳಂಬ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ಮಿ.ಸೆ)</item>
-      <item quantity="other">ಕಡಿಮೆ ವಿಳಂಬ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ಮಿ.ಸೆ)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="one">ಕಡಿಮೆ ವಿಳಂಬ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ಸೆಕೆಂಡ್‌ಗಳು)</item>
+      <item quantity="other">ಕಡಿಮೆ ವಿಳಂಬ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ಸೆಕೆಂಡ್‌ಗಳು)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="one">ಹೆಚ್ಚು ವಿಳಂಬ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ಮಿ.ಸೆ)</item>
-      <item quantity="other">ಹೆಚ್ಚು ವಿಳಂಬ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ಮಿ.ಸೆ)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="one">ಹೆಚ್ಚು ವಿಳಂಬ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ಸೆಕೆಂಡ್‌ಗಳು)</item>
+      <item quantity="other">ಹೆಚ್ಚು ವಿಳಂಬ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ಸೆಕೆಂಡ್‌ಗಳು)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="one">ಬಹಳ ಹೆಚ್ಚು ವಿಳಂಬ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ಮಿ.ಸೆ)</item>
-      <item quantity="other">ಬಹಳ ಹೆಚ್ಚು ವಿಳಂಬ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ಮಿ.ಸೆ)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="one">ಬಹಳ ಹೆಚ್ಚು ವಿಳಂಬ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ಸೆಕೆಂಡ್‌ಗಳು)</item>
+      <item quantity="other">ಬಹಳ ಹೆಚ್ಚು ವಿಳಂಬ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ಸೆಕೆಂಡ್‌ಗಳು)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ಸೆಕೆಂಡ್‌ಗಳು</item>
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ಸೆಕೆಂಡ್‌ಗಳು</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"<xliff:g id="SUMMARY_RING">%1$s</xliff:g> ರಿಂಗ್, <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g> ಅಧಿಸೂಚನೆ, <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g> ಸ್ಪರ್ಶಿಸಿ"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"ರಿಂಗ್ ಮತ್ತು ಅಧಿಸೂಚನೆಯನ್ನು ಆಫ್‌ಗೆ ಹೊಂದಿಸಿ"</string>
@@ -2513,7 +2549,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"<xliff:g id="UNPLUGGED">%1$s</xliff:g> ಗೆ ಕಳೆದ ಬಾರಿ ಅನ್‌ಪ್ಲಗ್ ಮಾಡಿದಾಗ"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"ಬಳಕೆಯ ಮೊತ್ತ"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"ರಿಫ್ರೆಶ್ ಮಾಡಿ"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"Android OS"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"ಮಾಧ್ಯಮಸರ್ವರ್"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"ಅಪ್ಲಿಕೇಶನ್ ಆಪ್ಟಿಮೈಸೇಷನ್‌"</string>
     <string name="battery_saver" msgid="7737147344510595864">"ಬ್ಯಾಟರಿ ಸೇವರ್‌‌"</string>
@@ -2594,8 +2629,7 @@
     <string name="tts_play" msgid="2945513377250757221">"ಪ್ಲೇ"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"ರುಜುವಾತು ಸಂಗ್ರಹಣೆ"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"ಸಂಗ್ರಹಣೆಯಿಂದ ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಿ"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"SD ಕಾರ್ಡ್‌ನಿಂದ ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಿ"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"ಪ್ರಮಾಣಪತ್ರ ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಿ"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"ಸಂಗ್ರಹಣೆಯಿಂದ ಪ್ರಮಾಣಪತ್ರಗಳನ್ನು ಸ್ಥಾಪಿಸಿ"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"SD ಕಾರ್ಡ್‌ನಿಂದ ಪ್ರಮಾಣಪತ್ರಗಳನ್ನು ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಿ"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"ರುಜುವಾತುಗಳನ್ನು ತೆರವುಗೊಳಿಸಿ"</string>
@@ -2615,6 +2649,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"ರುಜುವಾತು ಸಂಗ್ರಹಣೆಯನ್ನು ಅಳಿಸಲಾಗಿದೆ."</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"ರುಜುವಾತು ಸಂಗ್ರಹಣೆಯನ್ನು ಅಳಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ."</string>
     <string name="usage_access_title" msgid="1580006124578134850">"ಬಳಕೆಯ ಪ್ರವೇಶದ ಆಪ್‌‌"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"CA ಪ್ರಮಾಣಪತ್ರ"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"VPN ಮತ್ತು ಆ್ಯಪ್ ಬಳಕೆದಾರರ ಪ್ರಮಾಣಪತ್ರ"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"ವೈ-ಫೈ ಪ್ರಮಾಣಪತ್ರ"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"ನಿಮ್ಮ ಗೌಪ್ಯತೆ ಅಪಾಯದಲ್ಲಿದೆ"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"CA ಪ್ರಮಾಣಪತ್ರಗಳನ್ನು ವೆಬ್‌ಸೈಟ್‌ಗಳು, ಆ್ಯಪ್‌ಗಳು ಮತ್ತು VPN ಗಳು ಎನ್‌ಕ್ರಿಪ್ಶನ್‌ಗಾಗಿ ಬಳಸುತ್ತವೆ. ನೀವು ನಂಬುವ ಸಂಸ್ಥೆಗಳಿಂದ ಮಾತ್ರ  CA ಪ್ರಮಾಣಪತ್ರಗಳನ್ನು ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಿ. \n\n ನೀವು CA ಪ್ರಮಾಣಪತ್ರವನ್ನು ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಿದರೆ, ನಿಮ್ಮ ಮಾಹಿತಿಯನ್ನು ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡಿದ್ದರೂ ಸಹ, ನೀವು ಭೇಟಿ ನೀಡುವ ವೆಬ್‌ಸೈಟ್‌ಗಳಿಂದ ಅಥವಾ ನೀವು ಬಳಸುವ ಆ್ಯಪ್‌ಗಳಿಂದ ಪಾಸ್‌ವರ್ಡ್‌ಗಳು, ಸಂದೇಶಗಳು ಅಥವಾ ಕ್ರೆಡಿಟ್ ಕಾರ್ಡ್ ವಿವರಗಳಂತಹ ನಿಮ್ಮ ಮಾಹಿತಿಯನ್ನು ಪ್ರಮಾಣಪತ್ರ ಮಾಲೀಕರು ಪ್ರವೇಶಿಸಬಹುದು."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಬೇಡಿ"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"ಹೇಗಾದರೂ ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಿ"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"ಪ್ರಮಾಣಪತ್ರವನ್ನು ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಿಲ್ಲ"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"ತುರ್ತು ಡೈಯಲಿಂಗ್ ಸಿಗ್ನಲ್"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"ತುರ್ತು ಕರೆ ಮಾಡಿದಾಗ ಕಾರ್ಯ ರೀತಿಯನ್ನು ಹೊಂದಿಸಿ"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"ಬ್ಯಾಕಪ್"</string>
@@ -2642,10 +2684,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ ಮತ್ತು ಅನ್‌ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಿ"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"ಸಾಧನ ನಿರ್ವಹಣಾ ಆ್ಯಪ್‍‍ಗಳು"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"ಸಾಧನ ನಿರ್ವಹಣಾ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು ಲಭ್ಯವಿಲ್ಲ"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"ವೈಯಕ್ತಿಕ"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"ಕೆಲಸ"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"ಎಸ್‌ಎಂಎಸ್ ಮತ್ತು ಕರೆ ಲಾಗ್ ಪ್ರವೇಶವನ್ನು ನಿರ್ಬಂಧಿಸಿ"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"ಡೀಫಾಲ್ಟ್ ಫೋನ್ ಮತ್ತು ಸಂದೇಶ ಕಳುಹಿಸುವಿಕೆ ಆ್ಯಪ್‌ಗಳು ಎಸ್‌ಎಂಎಸ್ ಮತ್ತು ಕರೆ ಲಾಗ್ ಅನುಮತಿಗಳನ್ನು ಹೊಂದಿವೆ"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"ಯಾವುದೇ ವಿಶ್ವಾಸಾರ್ಹ ಏಜೆಂಟ್‌ಗಳು ಲಭ್ಯವಿಲ್ಲ"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"ಸಾಧನ ನಿರ್ವಹಣೆ ಅಪ್ಲಿಕೇಶನ್ ಸಕ್ರಿಯ ಮಾಡಬೇಕೇ?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"ಈ ಸಾಧನ ನಿರ್ವಹಣೆ ಅಪ್ಲಿಕೇಶನ್ ಸಕ್ರಿಯಗೊಳಿಸಿ"</string>
@@ -2659,6 +2697,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"ಇತರ ಆಯ್ಕೆಗಳನ್ನು ನಿಮ್ಮ ನಿರ್ವಾಹಕರು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿದ್ದಾರೆ"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"ಇನ್ನಷ್ಟು ವಿವರಗಳು"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"ಅಧಿಸೂಚನೆ ಲಾಗ್"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"ಅಧಿಸೂಚನೆ ಇತಿಹಾಸ"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"ಇಂದು"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"ಸ್ನೂಜ್ ಮಾಡಿರುವುದು"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"ಇತ್ತೀಚೆಗೆ ವಜಾಗೊಳಿಸಿರುವುದು"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="one"><xliff:g id="NUMBER_1">%d</xliff:g> ಅಧಿಸೂಚನೆಗಳು</item>
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> ಅಧಿಸೂಚನೆಗಳು</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"ಕರೆಯ ರಿಂಗ್‌ಟೋನ್ &amp; ವೈಬ್ರೇಟ್‌"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"ನೆಟ್‌ವರ್ಕ್‌ ವಿವರಗಳು"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"ಸಿಂಕ್ ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ"</string>
@@ -3008,7 +3054,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"ನಿರ್ಬಂಧಗಳು"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"ನಿರ್ಬಂಧಗಳನ್ನು ತೆಗೆದುಹಾಕಿ"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"ಪಿನ್‌ ಬದಲಾಯಿಸಿ"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"ಅಧಿಸೂಚನೆಗಳನ್ನು ತೋರಿಸು"</string>
     <string name="help_label" msgid="2896538416436125883">"ಸಹಾಯ,ಪ್ರತಿಕ್ರಿಯೆ"</string>
     <string name="support_summary" msgid="1034146931237148885">"ಸಹಾಯ ಲೇಖನಗಳು, ಫೋನ್, ಚಾಟ್‌ ಪ್ರಾರಂಭಿಸಲಾಗುತ್ತಿದೆ"</string>
     <string name="user_account_title" msgid="6389636876210834864">"ವಿಷಯಕ್ಕಾಗಿ ಖಾತೆ"</string>
@@ -3033,6 +3078,14 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G ಕರೆ ಮಾಡುವಿಕೆ"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"ಧ್ವನಿ ಮತ್ತು ಇತರ ಸಂವಹನಗಳನ್ನು ಸುಧಾರಿಸಲು LTE ಸೇವೆಗಳನ್ನು ಬಳಸಿ (ಶಿಫಾರಸು ಮಾಡಲಾಗಿದೆ)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"ಧ್ವನಿ ಮತ್ತು ಇತರ ಸಂವಹನಗಳನ್ನು ಸುಧಾರಿಸಲು 4G ಸೇವೆಗಳನ್ನು ಬಳಸಿ (ಶಿಫಾರಸು ಮಾಡಲಾಗಿದೆ)"</string>
+    <!-- no translation found for contact_discovery_opt_in_title (4076990635900099116) -->
+    <skip />
+    <!-- no translation found for contact_discovery_opt_in_summary (4104310593310967300) -->
+    <skip />
+    <!-- no translation found for contact_discovery_opt_in_dialog_title (6278407286820554079) -->
+    <skip />
+    <!-- no translation found for contact_discovery_opt_in_dialog_message (5787751513924920435) -->
+    <skip />
     <string name="preferred_network_type_title" msgid="812509938714590857">"ಪ್ರಾಶಸ್ತ್ಯದ ನೆಟ್‌ವರ್ಕ್‌ ಪ್ರಕಾರ"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (ಶಿಫಾರಸು ಮಾಡಲಾಗಿದೆ)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS ಸಂದೇಶಗಳು"</string>
@@ -3077,7 +3130,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"ಇದರೊಂದಿಗೆ ಕರೆ ಮಾಡಿ"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"ಸಿಮ್‌ ಕಾರ್ಡ್ ಆಯ್ಕೆಮಾಡಿ"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"ಸಿಮ್‌ <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"ಸಿಮ್‌ ಖಾಲಿಯಿದೆ"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"ಸಿಮ್‌ ಹೆಸರು"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"ಸಿಮ್ ಹೆಸರನ್ನು ನಮೂದಿಸಿ"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"ಸಿಮ್ ಸ್ಲಾಟ್ %1$d"</string>
@@ -3087,6 +3139,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"ಸಿಮ್‌ ಕಾರ್ಡ್ ಆಯ್ಕೆಮಾಡಿ"</string>
     <string name="color_orange" msgid="216547825489739010">"ಕಿತ್ತಳೆ"</string>
     <string name="color_purple" msgid="6603701972079904843">"ನೇರಳೆ"</string>
+    <string name="color_pink" msgid="8596872110888626708">"ಗುಲಾಬಿ ಬಣ್ಣ"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"ಯಾವುದೇ ಸಿಮ್‌ ಕಾರ್ಡ್‌ಗಳನ್ನು ಅಳವಡಿಸಿಲ್ಲ"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"ಸಿಮ್‌ ಸ್ಥಿತಿ"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"ಸಿಮ್ ಸ್ಥಿತಿ (ಸಿಮ್ ಸ್ಲಾಟ್ %1$d)"</string>
@@ -3100,7 +3153,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"ಸಿಮ್‌ ಕಾರ್ಡ್‌ಗಳನ್ನು ಬದಲಾಯಿಸಲಾಗಿದೆ."</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"ಹೊಂದಿಸಲು ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"ಇದಕ್ಕಾಗಿ ಪ್ರಾಶಸ್ತ್ಯದ ಸಿಮ್"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"ಪ್ರತಿ ಬಾರಿ ಕೇಳು"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"ಆಯ್ಕೆ ಅಗತ್ಯವಿದೆ"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"ಸಿಮ್ ಆಯ್ಕೆ"</string>
@@ -3118,6 +3170,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"ಬ್ಲೂಟೂತ್, ಡ್ರೈವಿಂಗ್ ಮೋಡ್"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"ಬ್ಲೂಟೂತ್, NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"ಬ್ಲೂಟೂತ್"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"NFC ಆಫ್ ಆಗಿರುವ ಕಾರಣ ಲಭ್ಯವಿಲ್ಲ"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"ಆ್ಯಪ್ &amp; ಅಧಿಸೂಚನೆ"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"ಇತ್ತೀಚಿನ ಆ್ಯಪ್‌ಗಳು, ಡೀಫಾಲ್ಟ್ ಆ್ಯಪ್‌ಗಳು"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"ಕೆಲಸದ ಪ್ರೊಫೈಲ್‌ನಲ್ಲಿರುವ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಿಗೆ ಅಧಿಸೂಚನೆ ಪ್ರವೇಶ ಲಭ್ಯವಿಲ್ಲ."</string>
@@ -3128,13 +3181,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"ಸೆಟ್ಟಿಂಗ್‌ಗಳು"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"ವೈಫೈ, ವೈ-ಫೈ ನೆಟ್‌ವರ್ಕ್ ಸಂಪರ್ಕ, ಇಂಟರ್ನೆಟ್, ವೈರ್‌ಲೆಸ್, ಡೇಟಾ, ವೈ ಫೈ"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"ವೈ-ಫೈ ಅಧಿಸೂಚನೆ, ವೈಫೈ ಅಧಿಸೂಚನೆ"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"ಡೇಟಾ ಬಳಕೆ"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"ವೈಬ್ರೇಷನ್ ನಿಲ್ಲಿಸಿ, ಟ್ಯಾಪ್ ಮಾಡಿ, ಕೀಬೋರ್ಡ್"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"24-ಗಂಟೆಯ ಫಾರ್ಮ್ಯಾಟ್ ಬಳಸಿ"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"ಡೌನ್‌ಲೋಡ್"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"ಇವುಗಳನ್ನು ಬಳಸಿಕೊಂಡು ತೆರೆಯಿರಿ"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"ಆ್ಯಪ್‌ಗಳು"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"ಸಮಯ ವಲಯ"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"ಚಾಟ್ ಹೆಡ್"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"ಚಾಟ್ ಹೆಡ್, ಸಿಸ್ಟಮ್, ಎಚ್ಚರಿಕೆ, ವಿಂಡೋ, ಡೈಲಾಗ್, ಪ್ರದರ್ಶನ, ಇತರ ಉನ್ನತ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಲ್ಲಿ, ಎಳೆಯಿರಿ"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"ಫ್ಲಾಶ್‌ಲೈಟ್, ಲೈಟ್, ಟಾರ್ಚ್"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"ವೈಫೈ, ವೈ-ಫೈ, ಟಾಗಲ್, ನಿಯಂತ್ರಣ"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"ಸೆಲ್ಯುಲಾರ್, ಸೆಲ್ ವಾಹಕ, ವೈರ್‌ಲೆಸ್, ಡೇಟಾ, 4g, 3g, 2g, ಎಲ್‌ಟಿಇ"</string>
@@ -3158,7 +3212,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"ತೊಂದರೆ ಮಾಡಬೇಡ, ತಡೆ, ತೊಂದರೆ, ವಿರಾಮ"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"ಸಮೀಪದ, ಸ್ಥಳ, ಇತಿಹಾಸ, ವರದಿ ಮಾಡುವಿಕೆ, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"ಖಾತೆ"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"ಖಾತೆ, ಖಾತೆಯೊಂದನ್ನು ಸೇರಿಸಿ, ಉದ್ಯೋಗ ಪ್ರೊಫೈಲ್, ಖಾತೆ ಸೇರಿಸಿ"</string>
     <string name="keywords_users" msgid="3497517660077620843">"ನಿರ್ಬಂಧ, ನಿರ್ಬಂಧಿಸು, ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"ಪಠ್ಯ ತಿದ್ದುಪಡಿ, ಸರಿಪಡಿಸು, ಶಬ್ದ, ವೈಬ್ರೇಟ್, ಸ್ವಯಂ, ಭಾಷೆ, ಗೆಸ್ಚರ್, ಸಲಹೆ ನೀಡಿ, ಸಲಹೆ, ಥೀಮ್, ಆಕ್ಷೇಪಾರ್ಹ, ಪದ, ಪ್ರಕಾರ, ಎಮೊಜಿ, ಅಂತರರಾಷ್ಟ್ರೀಯ"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"ಮರುಹೊಂದಿಸಿ, ಪ್ರಾಶಸ್ತ್ಯಗಳು, ಡಿಫಾಲ್ಟ್"</string>
@@ -3196,6 +3250,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"ಮೆಮೊರಿ, ಕ್ಯಾಷ್, ಡೇಟಾ, ಅಳಿಸಿ, ತೆರವುಗೊಳಿಸಿ, ಮುಕ್ತಗೊಳಿಸಿ, ಸ್ಥಳಾವಕಾಶ"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"ಸಂಪರ್ಕಿತ, ಸಾಧನ, ಹೆಡ್‌ಫೋನ್‌ಗಳು, ಹೆಡ್‌ಸೆಟ್, ಸ್ಪೀಕರ್, ವಯರ್‌ಲೆಸ್, ಜೋಡಿಸಿ, ಇಯರ್‌ಬಡ್ಸ್‌, ಸಂಗೀತ, ಮಾಧ್ಯಮ"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"ಹಿನ್ನೆಲೆ, ಪರದೆ, ಲಾಕ್‌ಪರದೆ, ಥೀಮ್"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"ಐಕಾನ್ ಆಕಾರ, ವರ್ಣವರ್ಗ, ಫಾಂಟ್"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"ಡಿಫಾಲ್ಟ್, ಸಹಾಯಕ"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"ಪಾವತಿ, ಡಿಫಾಲ್ಟ್"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"ಒಳಬರುವ ಅಧಿಸೂಚನೆ"</string>
@@ -3205,18 +3260,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"ಹ್ಯಾಪ್ಟಿಕ್ಸ್, ವೈಬ್ರೇಟ್‌, ಸೂಕ್ಷ್ಮತೆ"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"ಬ್ಯಾಟರಿ ಸೇವರ್, ಸ್ಟಿಕಿ, ತಡೆ ಹಿಡಿ, ಪವರ್ ಸೇವರ್, ಬ್ಯಾಟರಿ"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"ದಿನಚರಿ, ವೇಳಾಪಟ್ಟಿ, ಬ್ಯಾಟರಿ ಸೇವರ್, ಪವರ್ ಸೇವರ್, ಬ್ಯಾಟರಿ, ಸ್ವಯಂಚಾಲಿತ, ಶೇಕಡಾ"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"ಉದ್ಯೋಗ ಪ್ರೊಫೈಲ್"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"volte, ಸುಧಾರಿತ ಕರೆ, 4g ಕರೆ"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"ಭಾಷೆಯನ್ನು ಸೇರಿಸಿ, ಭಾಷೆಯೊಂದನ್ನು ಸೇರಿಸಿ"</string>
     <string name="default_sound" msgid="6604374495015245195">"ಡಿಫಾಲ್ಟ್‌‌ ಧ್ವನಿ"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"<xliff:g id="PERCENTAGE">%1$s</xliff:g> ರಷ್ಟು ರಿಂಗ್ ವಾಲ್ಯೂಮ್"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"ರಿಂಗ್ ಮತ್ತು ಅಧಿಸೂಚನೆ ವಾಲ್ಯೂಮ್ <xliff:g id="PERCENTAGE">%1$s</xliff:g> ರಲ್ಲಿದೆ"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"ವಾಲ್ಯೂಮ್, ವೈಬ್ರೇಶನ್‌, ಅಡಚಣೆ ಮಾಡಬೇಡಿ"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"ರಿಂಗರ್ ಅನ್ನು ವೈಬ್ರೇಟ್‌‌ಗೆ ಹೊಂದಿಸಲಾಗಿದೆ"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"ರಿಂಗರ್ ಅನ್ನು ನಿಶ್ಯಬ್ಧಕ್ಕೆ ಹೊಂದಿಸಲಾಗಿದೆ"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"80% ರಷ್ಟು ರಿಂಗ್ ವಾಲ್ಯೂಮ್"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"ರಿಂಗ್ ಮತ್ತು ಅಧಿಸೂಚನೆ ವಾಲ್ಯೂಮ್ 80% ರಲ್ಲಿದೆ"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"ಮಾಧ್ಯಮ ವಾಲ್ಯೂಮ್"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"ವಾಲ್ಯೂಮ್ ಕ್ಯಾಸ್ಟ್ ಮಾಡಿ"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"ಕರೆಯ ವಾಲ್ಯೂಮ್"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"ಅಲಾರಮ್ ವಾಲ್ಯೂಮ್"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"ರಿಂಗ್ ವಾಲ್ಯೂಮ್"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"ರಿಂಗ್ ಮತ್ತು ಅಧಿಸೂಚನೆ ವಾಲ್ಯೂಮ್"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"ಅಧಿಸೂಚನೆ ವಾಲ್ಯೂಮ್"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"ಫೋನ್ ರಿಂಗ್‌ಟೋನ್"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"ಡೀಫಾಲ್ಟ್ ಅಧಿಸೂಚನೆ ಧ್ವನಿ"</string>
@@ -3224,6 +3280,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"ಡಿಫಾಲ್ಟ್ ಅಧಿಸೂಚನೆ ಧ್ವನಿ"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"ಡೀಫಾಲ್ಟ್ ಅಲಾರಾಂ ಧ್ವನಿ"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"ಕರೆಗಳಿಗಾಗಿ ವೈಬ್ರೇಟ್"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"ಎಂದೂ ವೈಬ್ರೇಟ್ ಬೇಡ"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"ಯಾವಾಗಲೂ ವೈಬ್ರೇಟ್‌‌"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"ವೈಬ್ರೇಟ್ ಆದ ನಂತರ, ಕ್ರಮೇಣ ರಿಂಗ್ ಆಗಲಿ"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"ಇತರ ಧ್ವನಿಗಳು"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"ಡಯಲ್‌ ಪ್ಯಾಡ್‌ ಟೋನ್‌ಗಳು"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"ಸ್ಕ್ರೀನ್ ಲಾಕಿಂಗ್ ಧ್ವನಿಗಳು"</string>
@@ -3247,6 +3306,7 @@
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> ಸಕ್ರಿಯಗೊಂಡಿವೆ</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"ಅಡಚಣೆ ಮಾಡಬೇಡಿ"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"ಪ್ರಮುಖ ಜನರು ಮತ್ತು ಆ್ಯಪ್‌ಗಳಿಂದ ಮಾತ್ರ ಅಧಿಸೂಚನೆ ಪಡೆಯಿರಿ"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"ಅಡಚಣೆಗಳನ್ನು ಮಿತಿಗೊಳಿಸಿ"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"ಅಡಚಣೆ ಮಾಡಬೇಡಿ ಅನ್ನು ಆನ್ ಮಾಡಿ"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"ವಿನಾಯಿತಿಗಳು"</string>
@@ -3273,7 +3333,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"ದೃಶ್ಯ ಅಡಚಣೆಗಳನ್ನು ನಿರ್ಬಂಧಿಸಿ"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"ದೃಶ್ಯ ಸಂಕೇತಗಳನ್ನು ಅನುಮತಿಸಿ"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"ಅಡಚಣೆ ಮಾಡಬೇಡ ಆನ್‌ ಇರುವಾಗ"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"ಅಡಚಣೆಗಳ ಧ್ವನಿಯನ್ನು ಅನುಮತಿಸಿ"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"ಅಧಿಸೂಚನೆಗಳನ್ನು ನಿರ್ಬಂಧಿಸಿ"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"ಅಧಿಸೂಚನೆಗಳಿಂದ ಯಾವುದೇ ಧ್ವನಿ ಇಲ್ಲ"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"ನಿಮ್ಮ ಪರದೆಯ ಮೇಲೆ ನೀವು ಅಧಿಸೂಚನೆಗಳನ್ನು ನೋಡುತ್ತೀರಿ"</string>
@@ -3304,7 +3364,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"ಧ್ವನಿ ಮತ್ತು ವೈಬ್ರೇಷನ್‌"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"ಧ್ವನಿ, ವೈಬ್ರೇಷನ್ ಮತ್ತು ಅಧಿಸೂಚನೆಗಳ ಕೆಲವು ದೃಶ್ಯ ಚಿಹ್ನೆಗಳು"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"ಧ್ವನಿ, ವೈಬ್ರೇಷನ್ ಮತ್ತು ಅಧಿಸೂಚನೆಗಳ ದೃಶ್ಯ ಚಿಹ್ನೆಗಳು"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"ಮುಖ್ಯ ಫೋನ್ ಚಟುವಟಿಕೆಗೆ ಅಗತ್ಯವಿರುವ ಅಧಿಸೂಚನೆಗಳು ಮತ್ತು ಸ್ಥಿತಿಯನ್ನು ಮರೆಮಾಡಲಾಗುವುದಿಲ್ಲ"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"ಮೂಲ ಫೋನ್ ಚಟುವಟಿಕೆ ಮತ್ತು ಸ್ಥಿತಿಗೆ ಅಗತ್ಯವಾದ ಅಧಿಸೂಚನೆಗಳನ್ನು ಎಂದಿಗೂ ಮರೆಮಾಡಲಾಗುವುದಿಲ್ಲ."</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"ಯಾವುದೂ ಅಲ್ಲ"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"ಇತರ ಆಯ್ಕೆಗಳು"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"ಸೇರಿಸಿ"</string>
@@ -3334,10 +3394,12 @@
       <item quantity="one"><xliff:g id="ON_COUNT">%d</xliff:g> ವೇಳಾಪಟ್ಟಿಗಳನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಆನ್ ಮಾಡಬಹುದು</item>
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> ವೇಳಾಪಟ್ಟಿಗಳನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಆನ್ ಮಾಡಬಹುದು</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"ಸಾಧನವನ್ನು ಮ್ಯೂಟ್ ಮಾಡಿ ಆದರೆ ವಿನಾಯಿತಿಗಳನ್ನು ಅನುಮತಿಸಿ"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"ವಿನಾಯಿತಿಗಳು"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"ವೇಳಾಪಟ್ಟಿ"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"ಎಲ್ಲಾ ವಿನಾಯಿತಿಗಳನ್ನು ನೋಡಿ"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"ಅಡಚಣೆ ಮಾಡಬೇಡಿ ಆನ್‌ ಇರುವಾಗ ವಿನಾಯಿತಿಗಳು"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"ಜನರು"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"ಆ್ಯಪ್‌ಗಳು"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"ಅಲಾರಾಂಗಳು &amp; ಇತರೆ ಅಡಚಣೆಗಳು"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"ವೇಳಾಪಟ್ಟಿಗಳು"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"ನಿಶ್ಶಬ್ದಗೊಳಿಸಲಾದ ಅಧಿಸೂಚನೆಗಳು"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"ಅಡಚಣೆ ಮಾಡಬೇಡಿ ಆನ್ ಇದ್ದಾಗ, ನೀವು ಮೇಲ್ಭಾಗದಲ್ಲಿ ಅನುಮತಿಸುವ ಐಟಂಗಳನ್ನು ಹೊರತುಪಡಿಸಿ, ಧ್ವನಿ ಮತ್ತು ವೈಬ್ರೇಷನ್‌ಗಳು ಮ್ಯೂಟ್ ಆಗುತ್ತವೆ."</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"ಹೊರತುಪಡಿಸಿ ಎಲ್ಲವನ್ನೂ ಮ್ಯೂಟ್ ಮಾಡಿ"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"ಮ್ಯೂಟ್‌ ಮಾಡಲಾಗಿದೆ"</string>
@@ -3381,16 +3443,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"ಹೊಂದಿಸಬಲ್ಲ ಅಧಿಸೂಚನೆಗಳು"</string>
     <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_capabilities_actions_replies_title" msgid="4392470465646394289">"ಸೂಚಿಸಲಾಗಿರುವ ಕ್ರಿಯೆಗಳು ಮತ್ತು ಪ್ರತ್ಯುತ್ತರಗಳು"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"ಸಲಹೆ ಮಾಡಿರುವ ಕ್ರಿಯೆಗಳು &amp; ಪ್ರತ್ಯುತ್ತರಗಳನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ತೋರಿಸಿ"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"ಹಿಂದಿನ ಮತ್ತು ಸ್ನೂಜ್ ಮಾಡಲಾದ ಅಧಿಸೂಚನೆಗಳನ್ನು ಟ್ರ್ಯಾಕ್ ಮಾಡಲು ಅಧಿಸೂಚನೆ ಇತಿಹಾಸವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ"</string>
+    <string name="notification_history" msgid="8663811361243456201">"ಅಧಿಸೂಚನೆ ಇತಿಹಾಸ"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"ಇತಿಹಾಸ ಆನ್ ಮಾಡಿ"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"ಇತಿಹಾಸವನ್ನು ಆಫ್ ಮಾಡಿ"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"ಅಧಿಸೂಚನೆ ಇತಿಹಾಸ ಆಫ್ ಮಾಡಲಾಗಿದೆ"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"ಅಧಿಸೂಚನೆ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ವೀಕ್ಷಿಸಿ"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"ಅಧಿಸೂಚನೆಗಳನ್ನು ಸ್ನೂಜ್ ಮಾಡುವುದನ್ನು ಅನುಮತಿಸಿ"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"ಸಾಮಾನ್ಯ ಅಧಿಸೂಚನೆಗಳಿಂದ ಐಕಾನ್‌ಗಳನ್ನು ಮರೆಮಾಡಿ"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"ಸಾಮಾನ್ಯ ಅಧಿಸೂಚನೆಗಳ ಐಕಾನ್‌ಗಳು ಸ್ಥಿತಿ ಪಟ್ಟಿಯಲ್ಲಿ ಗೋಚರಿಸುವುದಿಲ್ಲ"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"ಅಧಿಸೂಚನೆ ಡಾಟ್‌ಗಳಿಗೆ ಅನುಮತಿಸಿ"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"ಇತ್ತೀಚಿನ ಸಂಭಾಷಣೆಗಳ ಸ್ಟ್ರಿಪ್ ತೋರಿಸಿ"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"ಬಬಲ್ಸ್"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"ಕೆಲವು ಅಧಿಸೂಚನೆಗಳು ಸ್ಕ್ರೀನ್ ಮೇಲೆ ಗುಳ್ಳೆಗಳ ರೀತಿಯಲ್ಲಿ ಗೋಚರಿಸಬಹುದು"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"ಕೆಲವು ಅಧಿಸೂಚನೆಗಳು ಮತ್ತು ಇತರ ವಿಷಯವು ಬಬಲ್‌ಗಳಾಗಿ ಸ್ಕ್ರೀನ್ ಮೇಲೆ ಗೋಚರಿಸಬಹುದು. ಬಬಲ್‌ವೊಂದನ್ನು ತೆರೆಯಲು, ಅದನ್ನು ಟ್ಯಾಪ್ ಮಾಡಿ. ಅದನ್ನು ವಜಾಗೊಳಿಸಲು, ಅದನ್ನು ಸ್ಕ್ರೀನ್ ಕೆಳಗೆ ಡ್ರ್ಯಾಗ್ ಮಾಡಿ."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"ಬಬಲ್‌ಗಳು"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"ಹೊಸ ಸಂದೇಶಗಳು ಸ್ಕ್ರೀನ್‌ನಲ್ಲಿ ಗೋಚರಿಸುತ್ತವೆ"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"ಕೆಲವು ಅಧಿಸೂಚನೆಗಳನ್ನು ಬಬಲ್‌ಗಳಾಗಿ ತೋರಿಸಲು <xliff:g id="APP_NAME">%1$s</xliff:g> ಆ್ಯಪ್‌ಗೆ ಅನುಮತಿಸಿ"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"ಬಬಲ್‌ಗಳನ್ನು ಆನ್ ಮಾಡಿ"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"ಈ ಆ್ಯಪ್‌ಗಾಗಿ ಗುಳ್ಳೆಗಳನ್ನು ಆನ್ ಮಾಡುವ ಮೊದಲು ನಿಮ್ಮ ಸಾಧನಕ್ಕಾಗಿ ನೀವು ಗುಳ್ಳೆಗಳನ್ನು ಆನ್ ಮಾಡುವ ಅಗತ್ಯವಿದೆ. ನೀವು ಹಿಂದೆ ಗುಳ್ಳೆಗಳನ್ನು ಆನ್ ಮಾಡಿದ ಇತರ ಆ್ಯಪ್‌ಗಳ ಮೇಲೆ ಇದು ಪರಿಣಾಮ ಬೀರಬಹುದು."</string>
@@ -3408,6 +3480,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"ಪುಲ್-ಡೌನ್ ಶೇಡ್‌ನಲ್ಲಿ ಮತ್ತು ಲಾಕ್ ಸ್ಕ್ರೀನ್ ಮೇಲೆ ಡಿಸ್‌ಪ್ಲೇ ಆಗುತ್ತದೆ"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"ಪುಲ್-ಡೌನ್ ಶೇಡ್‌ನಲ್ಲಿ ಮತ್ತು ಸ್ಥಿತಿ ಪಟ್ಟಿಯಲ್ಲಿ ಡಿಸ್‌ಪ್ಲೇ ಆಗುತ್ತದೆ"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"ಪುಲ್-ಡೌನ್ ಶೇಡ್‌ನಲ್ಲಿ, ಸ್ಥಿತಿ ಪಟ್ಟಿಯಲ್ಲಿ ಮತ್ತು ಲಾಕ್ ಸ್ಕ್ರೀನ್ ಮೇಲೆ ಡಿಸ್‌ಪ್ಲೇ ಆಗುತ್ತದೆ"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"ಸ್ಥಿತಿ ಪಟ್ಟಿಯಲ್ಲಿ ನಿಶ್ಶಬ್ಧ ಅಧಿಸೂಚನೆಗಳನ್ನು ಮರೆಮಾಡಿ"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"ಮಿನುಗುವ ಲೈಟ್‌"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"ಲಾಕ್ ಸ್ಕ್ರೀನ್"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"ಲಾಕ್ ಸ್ಕ್ರೀನ್‌ ಸ್ಕಿಪ್ ಮಾಡಿ"</string>
@@ -3438,6 +3511,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"ವರ್ತನೆ"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"ಧ್ವನಿಗೆ ಅನುಮತಿ ನೀಡಿ"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"ಎಂದಿಗೂ ಅಧಿಸೂಚನೆಗಳನ್ನು ತೋರಿಸಬೇಡಿ"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"ಸಂವಾದಗಳು"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"ಸಂವಾದ"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"ಸಂವಾದವಲ್ಲ"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"ಸಂವಾದ ವಿಭಾಗದಿಂದ ತೆಗೆದುಹಾಕಿ"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"ಇದು ಸಂವಾದವಾಗಿದೆ"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"ಸಂವಾದದ ವಿಭಾಗಕ್ಕೆ ಸೇರಿಸಿ"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"ಸಂವಾದಗಳನ್ನು ನಿರ್ವಹಿಸಿ"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"ಪ್ರಮುಖ ಸಂವಾದಗಳು"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"ಎಲ್ಲಾ ಸಂವಾದಗಳು"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"Bubble ನ ಪ್ರಮುಖ ಸಂವಾದಗಳು"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"ಪುಲ್-ಡೌನ್ ಶೇಡ್‌ನ ಮೇಲ್ಭಾಗದಲ್ಲಿ ಪ್ರಮುಖ ಸಂವಾದಗಳನ್ನು ತೋರಿಸಲಾಗುವುದು. ನೀವು ಸಹ ಅದನ್ನು ಬಬಲ್ ಮತ್ತು \'ಅಡಚಣೆ ಮಾಡಬೇಡ\' ಅನ್ನು ಅಡ್ಡಿಪಡಿಸಬಹುದು."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"ಸ್ಥಬ್ಧವಾಗಿ ತೋರಿಸಿ ಮತ್ತು ಕಡಿಮೆ ಮಾಡಿ"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"ಮೌನವಾಗಿ ತೋರಿಸಿ"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"ಧ್ವನಿ ಮಾಡಿ"</string>
@@ -3456,7 +3540,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"ಶಬ್ದ ಅಥವಾ ವೈಬ್ರೇಷನ್ ಇರದಂತೆ ನಿಮಗೆ ಗಮನಹರಿಸಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"ಧ್ವನಿ ಅಥವಾ ವೈಬ್ರೇಷನ್ ಮೂಲಕ ನಿಮ್ಮ ಗಮನವನ್ನು ಸೆಳೆಯುತ್ತದೆ"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"ಸಾಧನವನ್ನು ಅನ್‌ಲಾಕ್ ಮಾಡಿದಾಗ, ಅಧಿಸೂಚನೆಗಳನ್ನು ಪರದೆಯ ಮೇಲ್ಭಾಗದಲ್ಲಿ ಬ್ಯಾನರ್‌ನಂತೆ ತೋರಿಸಿ"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"ಅಧಿಸೂಚನೆ ತೋರಿಸಿ"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"ಎಲ್ಲಾ <xliff:g id="APP_NAME">%1$s</xliff:g> ಅಧಿಸೂಚನೆಗಳು"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"ಅಡಾಪ್ಟಿವ್ ಅಧಿಸೂಚನೆಗಳು"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="one">ಪ್ರತಿ ದಿನಕ್ಕೆ ~<xliff:g id="NUMBER_1">%d</xliff:g> ಅಧಿಸೂಚನೆಗಳು</item>
@@ -3477,6 +3561,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"ಅಡಾಪ್ಟಿವ್ ಅಧಿಸೂಚನೆಗಳು"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"ಯಾವುದೂ ಇಲ್ಲ"</string>
     <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="3119843404577399036">"ಸಂಪರ್ಕ ಹೆಸರುಗಳು ಮತ್ತು ನೀವು ಸ್ವೀಕರಿಸುವ ಸಂದೇಶಗಳ ಪಠ್ಯದಂತಹ ವೈಯಕ್ತಿಕ ಮಾಹಿತಿ ಸೇರಿದಂತೆ <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>
@@ -3538,8 +3623,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"ಮುಗಿದಿದೆ"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"ಪ್ರಾಮುಖ್ಯತೆ"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"ಮಿನುಗುವ ಲೈಟ್‌"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"ವೈಬ್ರೇಟ್‌"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"ವೈಬ್ರೇಷನ್‌"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"ಶಬ್ದ"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"ಪ್ರಮುಖ"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"ಹೋಮ್‌ಗೆ ಸೇರಿಸಿ"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"ಅಳಿಸಿ"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"ಮರುಹೆಸರಿಸಿ"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"ವೇಳಾಪಟ್ಟಿಯ ಹೆಸರು"</string>
@@ -3593,6 +3680,10 @@
       <item quantity="one"><xliff:g id="NUM_PEOPLE">%d</xliff:g> ಇತರೆ</item>
       <item quantity="other"><xliff:g id="NUM_PEOPLE">%d</xliff:g> ಇತರೆ</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"ಸಂವಾದಗಳು"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"ಎಲ್ಲಾ ಸಂವಾದಗಳಿಂದ"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"ಪ್ರಮುಖ ಸಂವಾದಗಳಿಂದ"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"ಯಾವುದೇ ಸಂವಾದಗಳನ್ನು ಅನುಮತಿಸಬೇಡಿ"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"ಸಂದೇಶಗಳನ್ನು ಅನುಮತಿಸಿ"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"ಅನುಮತಿಸಲಾದ ಸಂದೇಶಗಳು ಬಂದಾಗ ಧ್ವನಿ ಕೇಳಿಸುವುದನ್ನು ಖಚಿತಪಡಿಸಲು, ನಿಮ್ಮ ಸಾಧನವನ್ನು ರಿಂಗ್, ವೈಬ್ರೇಟ್ ಅಥವಾ ನಿಶಬ್ದಕ್ಕೆ ಹೊಂದಿಸಲಾಗಿದೆಯೇ ಎಂಬುದನ್ನು ಪರಿಶೀಲಿಸಿ."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"‘<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>’ ಗಾಗಿ ಒಳಬರುವ ಸಂದೇಶಗಳನ್ನು ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ. ನಿಮ್ಮ ಸ್ನೇಹಿತರು, ಕುಟುಂಬ ಅಥವಾ ಇತರ ಸಂಪರ್ಕಗಳು ನಿಮ್ಮನ್ನು ತಲುಪಲು ಅನುಮತಿ ನೀಡುವಂತೆ ನೀವು ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಸರಿಹೊಂದಿಸಬಹುದು."</string>
@@ -3606,15 +3697,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"ಯಾವುದೂ ಇಲ್ಲ"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"ಯಾವುದೇ ಕರೆಗಳಿಗೆ ಅನುಮತಿಸಬೇಡಿ"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"ಯಾವುದೇ ಸಂದೇಶಗಳನ್ನು ಅನುಮತಿಸಬೇಡಿ"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"ಅಲಾರಮ್‌ಗಳನ್ನು ಅನುಮತಿಸಿ"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"ಅಲಾರಮ್‌ಗಳು"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"ಟೈಮರ್‌ಗಳು, ಅಲಾರಾಂಗಗಳು, ಭದ್ರತಾ ವ್ಯವಸ್ಥೆಗಳು ಮತ್ತು ಇತರ ಆ್ಯಪ್‌ಗಳಿಂದ"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"ಅಲಾರಮ್‌ಗಳು"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"ಮಾಧ್ಯಮದ ಧ್ವನಿಗಳನ್ನು ಪ್ಲೇ ಮಾಡಿ"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"ಮೀಡಿಯಾ ಧ್ವನಿಗಳು"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"ವೀಡಿಯೊಗಳು, ಗೇಮ್‌ಗಳು ಮತ್ತು ಇತರೆ ಮೀಡಿಯಾದಿಂದ"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"ಮಾಧ್ಯಮ"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"ಸ್ಪರ್ಶ ಧ್ವನಿಗಳನ್ನು ಅನುಮತಿಸಿ"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"ಸ್ಪರ್ಶ ಧ್ವನಿಗಳು"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"ನಿಮ್ಮ ಕೀಬೋರ್ಡ್ ಮತ್ತು ಇತರೆ ಬಟನ್‌ಗಳಿಂದ"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"ಸ್ಪರ್ಶ ಧ್ವನಿಗಳು"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"ಜ್ಞಾಪನೆಗಳಿಗೆ ಅನುಮತಿಸಿ"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"ಜ್ಞಾಪನೆಗಳು"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"ಕಾರ್ಯಗಳು ಮತ್ತು ಜ್ಞಾಪನೆಗಳಿಂದ"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"ಜ್ಞಾಪನೆಗಳು"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"ಈವೆಂಟ್‌ಗಳನ್ನು ಅನುಮತಿಸಿ"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"ಈವೆಂಟ್‌ಗಳು"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"ಮುಂಬರಲಿರುವ ಕ್ಯಾಲೆಂಡರ್ ಈವೆಂಟ್‌ಗಳಿಂದ"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"ಅತಿಕ್ರಮಿಸಲು ಆ್ಯಪ್‌ಗಳಿಗೆ ಅನುಮತಿಸಿ"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"ಆ್ಯಪ್‌ ವಿನಾಯಿತಿಗಳು"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3657,6 +3753,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"ಅಡಚಣೆ ಮಾಡಬೇಡಿ ಆನ್‌ ಮಾಡುವ ಮೂಲಕ ಪರದೆಯ ಮೇಲೆ ಅಧಿಸೂಚನೆಗಳನ್ನು ನಿಶ್ಯಬ್ದವಾಗಿರಿಸಿಕೊಳ್ಳಿ"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"ಅಧಿಸೂಚನೆ ಸೆಟ್ಟಿಂಗ್‌ಗಳು"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"ಸರಿ"</string>
+    <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>
@@ -3667,6 +3764,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"ಅನ್‌ಪಿನ್‌ ಮಾಡಲು ಪಿನ್‌ ಕೇಳು"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"ಅನ್‌ಪಿನ್ ಮಾಡಲು ಪಾಸ್‌ವರ್ಡ್ ಕೇಳು"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"ಅನ್‌ಪಿನ್ ಮಾಡುವಾಗ ಸಾಧನ ಲಾಕ್ ಮಾಡು"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"ಸಿಮ್ ಅಳಿಸುವಿಕೆಯನ್ನು ದೃಢೀಕರಿಸಿ"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"ಡೌನ್‌ಲೋಡ್ ಮಾಡಿದ ಸಿಮ್ ಅನ್ನು ಅಳಿಸುವ ಮೊದಲು, ಇದು ನೀವೇ ಎಂದು ದೃಢೀಕರಿಸಿ"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"ಈ ಉದ್ಯೋಗ ಪ್ರೊಫೈಲ್ ಅನ್ನು ಇವರು ನಿರ್ವಹಿಸುತ್ತಿದ್ದಾರೆ:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"<xliff:g id="ADMIN_APP_LABEL">%s</xliff:g> ಮೂಲಕ ನಿರ್ವಹಿಸಲಾಗಿದೆ"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(ಪ್ರಾಯೋಗಿಕ)"</string>
@@ -3741,8 +3840,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"ಎಲ್ಲಾ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"ಸ್ಥಾಪಿಸಲಾದ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"ಇನ್‌ಸ್ಟಂಟ್ ಆ್ಯಪ್‌ಗಳು"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"ವೈಯಕ್ತಿಕ"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"ಕೆಲಸ"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"ಅಪ್ಲಿಕೇಶನ್‌ಗಳು: ಎಲ್ಲ"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"ಆಫ್ ಮಾಡಲಾಗಿದೆ"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"ವರ್ಗಗಳು: ತುರ್ತು ಪ್ರಾಮುಖ್ಯತೆ"</string>
@@ -3754,6 +3851,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"ಅಪರಿಚಿತ ಅಪ್ಲಿಕೇಶನ್"</string>
     <string name="app_permissions" msgid="8666537659217653626">"ಅನುಮತಿ ನಿರ್ವಾಹಕರು"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"<xliff:g id="APPS">%1$s</xliff:g> ಬಳಸುವ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"ಆ್ಯಪ್‌ಗಳು <xliff:g id="APPS">%1$s</xliff:g> ಮತ್ತು ಇನ್ನಷ್ಟನ್ನು ಬಳಸುತ್ತಿವೆ"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"ಎಚ್ಚರಗೊಳಿಸಲು ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"ಸಾಧನವನ್ನು ಎಚ್ಚರಗೊಳಿಸಲು ಪರದೆಯ ಯಾವುದೇ ಭಾಗದಲ್ಲಿ ಎರಡು ಬಾರಿ ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"ತೆರೆಯುವ ಲಿಂಕ್‌ಗಳು"</string>
@@ -3765,9 +3863,14 @@
       <item quantity="one">ಬೆಂಬಲಿತ ಲಿಂಕ್‌ಗಳನ್ನು, <xliff:g id="COUNT">%d</xliff:g> ಅಪ್ಲಿಕೇಶನ್‌ಗಳು ತೆರೆಯಬಹುದು</item>
       <item quantity="other">ಬೆಂಬಲಿತ ಲಿಂಕ್‌ಗಳನ್ನು, <xliff:g id="COUNT">%d</xliff:g> ಅಪ್ಲಿಕೇಶನ್‌ಗಳು ತೆರೆಯಬಹುದು</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"ಈ ಅಪ್ಲಿಕೇಶನ್‌ನಲ್ಲಿ ತೆರೆಯಿರಿ"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"ಬೆಂಬಲಿತ ಲಿಂಕ್‌ಗಳನ್ನು ತೆರೆಯಲು ಆ್ಯಪ್‌ಗೆ ಅನುಮತಿಸಿ"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"ಪ್ರತಿ ಬಾರಿ ಕೇಳು"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"ಈ ಅಪ್ಲಿಕೇಶನ್‌ನಲ್ಲಿ ತೆರೆಯಬೇಡಿ"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"ಲಿಂಕ್‌ಗಳನ್ನು ತೆರೆಯಲು ಆ್ಯಪ್‌ಗೆ ಅನುಮತಿಸಬೇಡಿ"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g> ಲಿಂಕ್‌ಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಆ್ಯಪ್ ಕ್ಲೈಮ್‌ಗಳು</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> ಲಿಂಕ್‌ಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಆ್ಯಪ್ ಕ್ಲೈಮ್‌ಗಳು</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"ಈ ಕೆಳಗಿನ ಲಿಂಕ್‌ಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಆ್ಯಪ್ ಕ್ಲೈಮ್‌ಗಳು:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"ಡಿಫಾಲ್ಟ್"</string>
     <string name="default_for_work" msgid="537558180548617528">"ಕೆಲಸದ ಡಿಫಾಲ್ಟ್"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"ಸಹಾಯ &amp; ಧ್ವನಿ ಇನ್‌ಪುಟ್"</string>
@@ -3911,8 +4014,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"ಇತರ ಅಪ್ಲಿಕೇಶನ್‌ಗಳ ಮೇಲೆ ಪ್ರದರ್ಶಿಸಿ"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"‍ಇತರ ಅಪ್ಲಿಕೇಶನ್ ಮೇಲೆ ಡಿಸ್‌ಪ್ಲೇ ಮಾಡಲು ಅನುಮತಿಸಿ"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"ನೀವು ಬಳಸುತ್ತಿರುವ ಇತರ ಅಪ್ಲಿಕೇಶನ್‌ಗಳ ಮೇಲೆ ಪ್ರದರ್ಶಿಸಲು ಈ ಅಪ್ಲಿಕೇಶನ್‌ಗೆ ಅನುಮತಿ ನೀಡಿ. ನೀವು ಆ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ಬಳಸುವುದರ ಮೇಲೆ ಇದು ಪರಿಣಾಮ ಬೀರಬಹುದು ಅಥವಾ ಅವು ಕಾಣಿಸುವ ಅಥವಾ ವರ್ತಿಸುವ ರೀತಿಯನ್ನು ಬದಲಾಯಿಸಬಹುದು."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"ಎಲ್ಲಾ ಫೈಲ್‌ಗಳ ಪ್ರವೇಶ"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"ಎಲ್ಲಾ ಫೈಲ್‌ ನಿರ್ವಹಿಸಲು, ಪ್ರವೇಶಕ್ಕೆ ಅನುಮತಿಸಿ"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"ಈ ಸಾಧನ ಅಥವಾ ಕನೆಕ್ಟ್ ಮಾಡಿದ ಶೇಖರಣಾ ವಾಲ್ಯೂಮ್‌ಗಳಲ್ಲಿ ಎಲ್ಲಾ ಫೈಲ್‌ಗಳನ್ನು ಓದಲು, ಮಾರ್ಪಡಿಸಲು ಮತ್ತು ಅಳಿಸಲು ಈ ಆ್ಯಪ್‌ಗೆ ಅನುಮತಿಸಿ. ಅನುಮತಿಸಿದರೆ, ಬಳಕೆದಾರರ ಪೂರ್ವಾನುಮತಿ ಇಲ್ಲದೆ ಆ್ಯಪ್‌ಗಳು ಫೈಲ್‌ಗಳನ್ನು ಪ್ರವೇಶಿಸಬಹುದು."</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"ಎಲ್ಲಾ ಫೈಲ್‌ಗಳನ್ನು ಪ್ರವೇಶಿಸಬಹುದು"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"ವಿಆರ್ ವರ್ಚುವಲ್ ರಿಯಾಲಿಟಿ ಕೇಳುವಿಕೆ ಸ್ಟೀರಿಯೊ ಸಹಾಯ ಸೇವೆ"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"ಸಿಸ್ಟಂ ಅಲರ್ಟ್ ವಿಂಡೋ ಡಯಲಾಗ್ ಡಿಸ್‌ಪ್ಲೇ ಇತರ ಅಪ್ಲಿಕೇಶನ್‌ಗಳ ಮೇಲೆ"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"ಇತರ ಅಪ್ಲಿಕೇಶನ್ ಮೇಲೆ ಡಿಸ್‌ಪ್ಲೇ"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"<xliff:g id="COUNT_1">%2$d</xliff:g> ರಲ್ಲಿ <xliff:g id="COUNT_0">%1$d</xliff:g> ಅಪ್ಲಿಗಳಿಗೆ ಇತರ ಅಪ್ಲಿಗಳ ಮೇಲೆ ಪ್ರದರ್ಶಿಸಲು ಅನುಮತಿಯಿದೆ"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"ಅನುಮತಿಯೊಂದಿಗೆ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು"</string>
@@ -4078,6 +4184,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"<xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g> ಬಳಸಲಾಗಿದೆ"</string>
     <string name="data_overusage" msgid="3680477320458707259">"<xliff:g id="ID_1">^1</xliff:g> ಗಿಂತ ಹೆಚ್ಚು ಡೇಟಾ ಖರ್ಚಾಗಿದೆ"</string>
     <string name="data_remaining" msgid="6316251496381922837">"<xliff:g id="ID_1">^1</xliff:g> ಉಳಿದಿದೆ"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"<xliff:g id="START_DATE">%1$s</xliff:g> ಮತ್ತು <xliff:g id="END_DATE">%2$s</xliff:g> ದಿನಾಂಕದ ನಡುವಿನ ಡೇಟಾ ಬಳಕೆಯನ್ನು ಗ್ರಾಫ್ ತೋರಿಸುತ್ತಿದೆ."</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"ಈ ದಿನಾಂಕ ವ್ಯಾಪ್ತಿಯಲ್ಲಿ ಯಾವುದೇ ಡೇಟಾ ಇಲ್ಲ"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="one">%d ದಿನಗಳು ಉಳಿದಿವೆ</item>
       <item quantity="other">%d ದಿನಗಳು ಉಳಿದಿವೆ</item>
@@ -4141,14 +4249,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"ಪಾರ್ಸೆಲ್ ಗಾತ್ರ"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ಆಶ್ಮೆಮ್"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"ಅಧಿಸೂಚನೆಯ ಎಚ್ಚರಿಕೆಯನ್ನು ನೀಡಲಾಗಿದೆ"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"ಶಬ್ದ"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"ಕಂಪನ"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"ಪ್ಯಾಟರ್ನ್"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"ಡಿಫಾಲ್ಟ್"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"ಚಾನಲ್"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"ಯಾವುದೂ ಇಲ್ಲ"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"ದರ್ಜೆ ನೀಡುವಿಕೆ ಆಬ್ಜೆಕ್ಟ್ ಕಾಣೆಯಾಗಿದೆ."</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"ದರ್ಜೆ ನೀಡುವಿಕೆ ಆಬ್ಜೆಕ್ಟ್ ಈ ಕೀ ಒಳಗೊಂಡಿಲ್ಲ."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"ಥೀಮ್"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"ಸಾಧನದ ಡೀಫಾಲ್ಟ್"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"ಡಿಸ್‌ಪ್ಲೇ ಕಟ್‌ಔಟ್"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"ಕಟ್ಔಟ್ ಪ್ರದರ್ಶನ, ನಾಚ್"</string>
@@ -4237,8 +4341,12 @@
     <string name="information_label" msgid="6939310810756569298">"ಮಾಹಿತಿ"</string>
     <string name="low_label" msgid="6525629096999711220">"ಕಡಿಮೆ"</string>
     <string name="high_label" msgid="357503396626018487">"ಅಧಿಕ"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"ಆಧಿಕ ಸೂಕ್ಷ್ಮತೆಯು ಸ್ಕ್ರೀನ್‌ನ ಅಂಚುಗಳ ಉದ್ದಕ್ಕೂ ಯಾವುದೇ ಆ್ಯಪ್‌ನ ಗೆಸ್ಚರ್‌ಗಳ ಜೊತೆಗೆ ಸಂಘರ್ಷವನ್ನುಂಟು ಮಾಡಬಹುದು."</string>
+    <string name="left_edge" msgid="1513576842959071849">"ಎಡ ಬದಿ"</string>
+    <string name="right_edge" msgid="1505309103265829121">"ಬಲ ತುದಿ"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"ಆಧಿಕ ಸೂಕ್ಷ್ಮತೆಯು ಸ್ಕ್ರೀನ್‌ನ ಅಂಚುಗಳ ಉದ್ದಕ್ಕೂ ಯಾವುದೇ ಆ್ಯಪ್‌ನ ಗೆಸ್ಚರ್‌ಗಳ ಜೊತೆಗೆ ಸಂಘರ್ಷವನ್ನುಂಟು ಮಾಡಬಹುದು."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"ಹಿಂದಿನ ಸೂಕ್ಷ್ಮತೆ"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"ಗೆಸ್ಚರ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳು"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"ಗೆಸ್ಚರ್ ನ್ಯಾವಿಗೇಶನ್, ಹಿಂಬದಿ ಸೂಕ್ಷ್ಮತೆ, ಹಿಂಬದಿ ಗೆಸ್ಚರ್"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"ಫೋನ್ ಅನ್ನು ಪರಿಶೀಲಿಸಲು ಡಬಲ್ ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"ಟ್ಯಾಬ್ಲೆಟ್ ಪರಿಶೀಲಿಸಲು ಡಬಲ್ ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"ಸಾಧನವನ್ನು ಪರಿಶೀಲಿಸಲು ಡಬಲ್ ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
@@ -4393,7 +4501,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"ಟ್ರಿಗ್ಗರ್ ವಾಹಕ ಪೂರೈಕೆ"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"ಅಡಚಣೆ ಮಾಡಬೇಡಿ ಅನ್ನು ಅಪ್‌ಡೇಟ್‌ ಮಾಡಿ"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"ಫೋಕಸ್‌ ಆಗಿ ಇರಲು ಅಧಿಸೂಚನೆಗಳನ್ನು ವಿರಾಮಗೊಳಿಸಿ"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"ಈ ಸಾಧನದಲ್ಲಿ ಈ ವೀಡಿಯೊ ಲಭ್ಯವಿಲ್ಲ"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"ವೈಶಿಷ್ಟ್ಯ ಲಭ್ಯವಿಲ್ಲ"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"ಈ ವೈಶಿಷ್ಟ್ಯವನ್ನು ಆಫ್ ಮಾಡಲಾಗಿದೆ ಏಕೆಂದರೆ ಇದು ನಿಮ್ಮ ಫೋನ್‌ನ ಕಾರ್ಯಾಚರಣೆಯನ್ನು ನಿಧಾನಗೊಳಿಸುತ್ತದೆ"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"ಫೋರ್ಸ್‌ ಫುಲ್ GNSS ಅಳತೆಗಳು"</string>
@@ -4403,20 +4510,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"ANGLE ಸಕ್ರಿಯಗೊಳಿಸಿದ ಆ್ಯಪ್‌ ಆಯ್ಕೆಮಾಡಿ"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"ಯಾವುದೇ ANGLE ಸಕ್ರಿಯಗೊಳಿಸದ ಆ್ಯಪ್‌ ಅನ್ನು ಹೊಂದಿಸಿ"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"ANGLE ಸಕ್ರಿಯಗೊಳಿಸಿದ ಆ್ಯಪ್‌: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"ಗೇಮ್‌ ಡ್ರೈವರ್ ಪ್ರಾಶಸ್ತ್ಯಗಳು"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"ಗೇಮ್ ಡ್ರೈವರ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಮಾರ್ಪಡಿಸಿ"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"ಗೇಮ್‌ ಡ್ರೈವರ್ ಅನ್ನು ಆನ್ ಮಾಡಿದಾಗ, ಸಾಧನದಲ್ಲಿ ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಲಾದ ಆ್ಯಪ್‌ಗಳಿಗಾಗಿ ಅಪ್‌ಡೇಟ್‌ ಮಾಡಲಾದ ಗ್ರಾಫಿಕ್ಸ್ ಡ್ರೈವರ್‌ ಅನ್ನು ಬಳಸಿಕೊಳ್ಳಲು ನೀವು ಆಯ್ಕೆಮಾಡಬಹುದು."</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"ಎಲ್ಲಾ ಆ್ಯಪ್‌ಗಳಿಗಾಗಿ ಸಕ್ರಿಯಗೊಳಿಸಿ"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"ಗ್ರಾಫಿಕ್ಸ್ ಡ್ರೈವರ್ ಅನ್ನು ಆಯ್ಕೆಮಾಡಿ"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"ಡೀಫಾಲ್ಟ್"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"ಗೇಮ್‌ ಡ್ರೈವರ್"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"ಪೂರ್ವ-ಬಿಡುಗಡೆ ಡ್ರೈವರ್"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"ಸಿಸ್ಟಂ ಗ್ರಾಫಿಕ್ಸ್ ಡ್ರೈವರ್"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"ಗ್ರಾಫಿಕ್ಸ್ ಡ್ರೈವರ್ ಪ್ರಾಶಸ್ತ್ಯಗಳು"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"ಗ್ರಾಫಿಕ್ಸ್ ಡ್ರೈವರ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಮಾರ್ಪಡಿಸಿ"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"ಬಹು ಗ್ರಾಫಿಕ್ಸ್ ಡ್ರೈವರ್‌ಗಳು ಇದ್ದಾಗ, ಸಾಧನದಲ್ಲಿ ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಲಾದ ಆ್ಯಪ್‌ಗಳಿಗಾಗಿ ಅಪ್‌ಡೇಟ್‌ ಮಾಡಲಾದ ಗ್ರಾಫಿಕ್ಸ್ ಡ್ರೈವರ್‌ ಅನ್ನು ಬಳಸಿಕೊಳ್ಳಲು ನೀವು ಆಯ್ಕೆಮಾಡಬಹುದು."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"ಎಲ್ಲಾ ಆ್ಯಪ್‌ಗಳಿಗಾಗಿ ಸಕ್ರಿಯಗೊಳಿಸಿ"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"ಗ್ರಾಫಿಕ್ಸ್ ಡ್ರೈವರ್ ಆಯ್ಕೆ ಮಾಡಿ"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"ಡೀಫಾಲ್ಟ್"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"ಗೇಮ್‌ ಡ್ರೈವರ್"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"ಡೆವಲಪರ್ ಡ್ರೈವರ್‌"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"ಸಿಸ್ಟಂ ಗ್ರಾಫಿಕ್ಸ್ ಡ್ರೈವರ್"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"ಆ್ಯಪ್‌ ಹೊಂದಾಣಿಕೆಗೆ ಬದಲಾವಣೆಗಳು"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"ಆ್ಯಪ್ ಹೊಂದಾಣಿಕೆ ಬದಲಾವಣೆಗಳನ್ನು ಟಾಗಲ್ ಮಾಡಿ"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"ಸಕ್ರಿಯಗೊಳಿಸಲಾದ ಬದಲಾವಣೆಗಳ ಡೀಫಾಲ್ಟ್"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾದ ಬದಲಾವಣೆಗಳ ಡೀಫಾಲ್ಟ್"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"ಈ ಫೋನ್‌ನಲ್ಲಿ ಸೆಟ್ಟಿಂಗ್ ಬೆಂಬಲಿತವಾಗಿಲ್ಲ"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"ಈ ಟ್ಯಾಬ್ಲೆಟ್‌ನಲ್ಲಿ ಸೆಟ್ಟಿಂಗ್ ಬೆಂಬಲಿತವಾಗಿಲ್ಲ"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"ಈ ಸಾಧನದಲ್ಲಿ ಸೆಟ್ಟಿಂಗ್ ಬೆಂಬಲಿತವಾಗಿಲ್ಲ"</string>
@@ -4435,6 +4548,12 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"ಸಾಧನ"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"ಕರೆಗಳ ಸಮಯಲ್ಲಿ ಲಭ್ಯವಿಲ್ಲ"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"ಲಭ್ಯವಿಲ್ಲ"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"ಔಟ್‌ಪುಟ್‌ಗಳನ್ನು ಸೇರಿಸಿ"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"ಗುಂಪು"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 ಸಾಧನವನ್ನು ಆಯ್ಕೆಮಾಡಲಾಗಿದೆ"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> ಸಾಧನಗಳನ್ನು ಆಯ್ಕೆಮಾಡಲಾಗಿದೆ"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"ಕರೆ ಮಾಡಿ"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"ಈ APN ಅನ್ನು ಬದಲಾಯಿಸಲಾಗುವುದಿಲ್ಲ."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"ಟ್ಯಾಬ್ಲೆಟ್‌ನ ಬ್ಯಾಟರಿ ಜೀವನವನ್ನು ಸುಧಾರಿಸಿ"</string>
@@ -4552,10 +4671,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"ಒಂದು ಬಾರಿಗೆ ಕೇವಲ ಒಂದು ಡೌನ್‌ಲೋಡ್ ಮಾಡಿದ SIM ಅನ್ನು ಮಾತ್ರ ಸಕ್ರಿಯಗೊಳಿಸಬಹುದು.\n\n<xliff:g id="CARRIER1">%1$s</xliff:g> ಗೆ ಬದಲಾಯಿಸುವುದರಿಂದ, ನಿಮ್ಮ <xliff:g id="CARRIER2">%2$s</xliff:g> ಸೇವೆಯನ್ನು ರದ್ದುಗೊಳಿಸುವುದಿಲ್ಲ."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"<xliff:g id="CARRIER">%1$s</xliff:g> ಗೆ ಬದಲಿಸಿ"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"SIM ಅಳಿಸಿ"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"ಈ ಡೌನ್‌ಲೋಡ್ ಮಾಡಿದ SIM ಅನ್ನು ಅಳಿಸುವುದೇ?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"ಈ SIM ಅನ್ನು ಅಳಿಸುವುದರಿಂದ, ಅದು ಈ ಸಾಧನದಿಂದ <xliff:g id="CARRIER_0">%1$s</xliff:g> ಸೇವೆಯನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ.\n\n<xliff:g id="CARRIER_1">%2$s</xliff:g> ಗಾಗಿ ಇರುವ ಸೇವೆಯನ್ನು ರದ್ದು ಮಾಡಲಾಗುವುದಿಲ್ಲ."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"ಅಳಿಸಿ"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"SIM ಅಳಿಸಲಾಗುತ್ತಿದೆ…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"SIM ಅಳಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"ದೋಷದ ಕಾರಣದಿಂದಾಗಿ ಈ SIM ಅನ್ನು ಅಳಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ.\n\nನಿಮ್ಮ ಸಾಧನವನ್ನು ಮರುಪ್ರಾರಂಭಿಸಿ ಮತ್ತು ಪುನಃ ಪ್ರಯತ್ನಿಸಿ."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"ಪ್ರಾಶಸ್ತ್ಯ ನೀಡಿದ ನೆಟ್‌ವರ್ಕ್‌ ಪ್ರಕಾರ"</string>
@@ -4580,7 +4695,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"ಅಮಾನ್ಯ ನೆಟ್‌ವರ್ಕ್‌ ಮೋಡ್‌ <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. ನಿರ್ಲಕ್ಷಿಸಿ."</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"ಪ್ರವೇಶಿಸುವಿಕೆ ಕೇಂದ್ರದ ಹೆಸರುಗಳು"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"<xliff:g id="CARRIER">%1$s</xliff:g> ಗೆ ಸಂಪರ್ಕಿಸಿದಾಗ ಲಭ್ಯವಿರುವುದಿಲ್ಲ"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"ವೈದ್ಯಕೀಯ ಮಾಹಿತಿ, ತುರ್ತು ಸಂಪರ್ಕಗಳು"</string>
     <string name="see_more" msgid="7499355691042812723">"ಇನ್ನಷ್ಟು ನೋಡಿ"</string>
     <string name="see_less" msgid="2642392725363552793">"ಕಡಿಮೆ ನೋಡಿ"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"<xliff:g id="APPNAME">%1$s</xliff:g> ನ ಜೊತೆಗೆ ಬಳಸಲು ಸಾಧನ"</string>
@@ -4589,11 +4703,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"ಏನೋ ಬಂದಿದೆ. ಸಾಧನವನ್ನು ಆರಿಸಲು ಆ್ಯಪ್‌ ವಿನಂತಿಯನ್ನು ರದ್ದುಗೊಳಿಸಿದೆ."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"ಸಂಪರ್ಕ ಯಶಸ್ವಿಯಾಗಿದೆ"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"ಎಲ್ಲವನ್ನೂ ತೋರಿಸಿ"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> ಸಾಧನಗಳನ್ನು ಸಂಪರ್ಕಿಸಲಾಗಿದೆ</item>
-      <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> ಸಾಧನಗಳನ್ನು ಸಂಪರ್ಕಿಸಲಾಗಿದೆ</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"ಯಾವುದೇ ಬ್ಲ್ಯೂಟೂತ್ ಸಾಧನಗಳಿಲ್ಲ"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"ಸಾಧನವನ್ನು ಹುಡುಕಲಾಗುತ್ತಿದೆ…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"ಸಾಧನವನ್ನು ಸಂಪರ್ಕಿಸಲಾಗುತ್ತಿದೆ…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"ಎಡ"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"ಬಲ"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"ಕೇಸ್"</string>
@@ -4603,6 +4714,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"ಏರ್‌ಪ್ಲೇನ್ ಮೋಡ್‌ನಲ್ಲಿರುವಾಗ ಲಭ್ಯವಿರುವುದಿಲ್ಲ"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"ಡೆಸ್ಕ್‌ಟಾಪ್ ಮೋಡ್ ಅನ್ನು ಒತ್ತಾಯ ಮಾಡಿ"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"ಸೆಕೆಂಡರಿ ಡಿಸ್‌ಪ್ಲೇಗಳಲ್ಲಿ ಪ್ರಾಯೋಗಿಕ ಡೆಸ್ಕ್‌ಟಾಪ್ ಮೋಡ್ ಅನ್ನು ಒತ್ತಾಯ ಮಾಡಿ"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"ಉಚಿತ ಫಾರ್ಮ್ ಗಾತ್ರವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"ಹೊಂದಾಣಿಕೆಯ ಗಾತ್ರದ ಆ್ಯಪ್‌ಗಳನ್ನು ಬೇಕಾದ ಫಾರ್ಮ್ಯಾಟ್‌ನಲ್ಲಿರುವುದಕ್ಕೆ ಅನುಮತಿಸಿ"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"ಫೋರ್ಸ್-ಡಾರ್ಕ್ ವೈಶಿಷ್ಟ್ಯ ಬಲಗೊಳಿಸಲು ಸೆಟ್ಟಿಂಗ್ ಅತಿಕ್ರಮಿಸಿ"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"ಫೋರ್ಸ್-ಡಾರ್ಕ್ ವೈಶಿಷ್ಟ್ಯವು ಆನ್ ಆಗಿರುವಂತೆ ಒತ್ತಾಯಿಸುತ್ತದೆ"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"ಗೌಪ್ಯತೆ"</string>
@@ -4639,6 +4752,10 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"ನೀವು ಇತ್ತೀಚೆಗೆ ಈ ಆ್ಯಪ್ ಅನ್ನು ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಿರುವಿರಿ."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"ಔಟ್‌ಫುಟ್ ಬದಲಿಸಿ"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"ಪ್ರಸ್ತುತ <xliff:g id="DEVICE_NAME">%1$s</xliff:g> ನಲ್ಲಿ ಪ್ಲೇ ಮಾಡಲಾಗುತ್ತಿದೆ"</string>
+    <!-- no translation found for media_output_disconnected_status (5567111639832431865) -->
+    <skip />
+    <!-- no translation found for media_output_switch_error_text (603563475910236831) -->
+    <skip />
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"ಪ್ರಮುಖ ಮಾಹಿತಿ"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"ಮುಂದುವರಿಸಿ"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"ಬೇಡ"</string>
@@ -4666,8 +4783,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"SIM ನ ಸಂಯೋಜನೆ"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"ನಿಮ್ಮ ಕೆಲಸದ ನೀತಿಯ ಮಾಹಿತಿ"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ನಿಮ್ಮ IT ನಿರ್ವಾಹಕರಿಂದ ನಿರ್ವಹಿಸುತ್ತಾರೆ"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"ಬಗ್ ವರದಿ ಮಾಡುವಿಕೆ ಹ್ಯಾಂಡಲರ್"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"ನಿಮ್ಮ ಸಾಧನದಲ್ಲಿ ಬಗ್ ವರದಿ ಮಾಡುವಿಕೆ ಶಾರ್ಟ್‌ಕಟ್ ಅನ್ನು ಯಾವ ಆ್ಯಪ್ ಹ್ಯಾಂಡಲ್ ಮಾಡುತ್ತದೆ ಎಂದು ನಿರ್ಧರಿಸುತ್ತದೆ."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"ವೈಯಕ್ತಿಕ"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"ಕಚೇರಿ"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"ಸಿಸ್ಟಂ ಡೀಫಾಲ್ಟ್"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"ಈ ಆಯ್ಕೆಯು ಇನ್ನು ಮುಂದೆ ಮಾನ್ಯವಾಗಿರುವುದಿಲ್ಲ. ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"ಬಿತ್ತರಿಸುವುದನ್ನು ನಿಲ್ಲಿಸಿ"</string>
 </resources>
diff --git a/res/values-ko/arrays.xml b/res/values-ko/arrays.xml
index ebaf3c0..5685f25 100644
--- a/res/values-ko/arrays.xml
+++ b/res/values-ko/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"즉시"</item>
     <item msgid="463591454172790676">"5초"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"확인하지 않음"</item>
+    <item msgid="5703177653586269306">"인증서 상태 요청"</item>
+    <item msgid="326388247868439528">"인증서 상태 필요"</item>
+    <item msgid="1090956283885790552">"신뢰할 수 없는 모든 인증서 상태 필요"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"누름 버튼"</item>
     <item msgid="2630618799033509548">"피어 기기 PIN"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"없음"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"사전 공유 키 및 Xauth 인증을 가진 IPSec VPN"</item>
     <item msgid="2484564813864139237">"인증서 및 Xauth 인증을 가진 IPSec VPN"</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>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"없음"</item>
diff --git a/res/values-ko/config.xml b/res/values-ko/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-ko/config.xml
+++ b/res/values-ko/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index d4837b4..9e02376 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -31,49 +31,17 @@
     <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="radio_info_data_connection_enable" msgid="7500945447906187613">"데이터 연결 사용"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"데이터 연결 사용 안함"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"VoLTE 프로비저닝됨"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"화상 통화 프로비저닝됨"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"Wi-Fi 통화 프로비저닝됨"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"EAB/상태 프로비저닝됨"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"CBRS 데이터"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"DSDS 사용 설정"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"기기를 다시 시작하시겠습니까?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"설정을 변경하려면 기기를 다시 시작해야 합니다."</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"다시 시작"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"취소"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"모바일 무선 전력"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"SIM 주소록 보기"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"발신 허용 번호 보기"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"SDN(Service Dialing Numbers) 보기"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"IMS 서비스 상태"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"IMS 상태"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"등록됨"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"등록 안됨"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"사용 가능"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"사용할 수 없음"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"IMS 등록: <xliff:g id="STATUS">%1$s</xliff:g>\nVoLTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nVoWi-Fi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\n화상 통화: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT 인터페이스: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"서비스 중"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"서비스 지역 벗어남"</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>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"자리 비움"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"벨이 울림"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"통화 진행 중"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"연결 끊김"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"연결 중"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"연결됨"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"일시 정지됨"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"알 수 없음"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"pkts"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"바이트"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"USB 저장소 마운트 해제"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"SD 카드 마운트 해제"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"USB 저장소 지우기"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"화면 텍스트를 축소 또는 확대합니다."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"축소"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"확대"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"샘플 텍스트"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"오즈의 마법사"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"11장: 오즈의 멋진 에메랄드 도시"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"설정을 변경하려면 기기를 다시 시작해야 합니다."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"다시 시작"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"취소"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"사용할 수 있는 미디어 기기"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"사용할 수 있는 통화 기기"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"현재 연결된 기기"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"미디어 기기"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"통화 기기"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"다른 기기"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"저장된 기기"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"페어링을 위해 블루투스 켜기"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"연결 환경설정"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"입력한 포트가 올바르지 않습니다."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"HTTP 프록시는 브라우저에서 사용되며 다른 앱에서는 사용되지 않을 수 있습니다."</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"PAC URL: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"현재 subId:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"기본 데이터 SIM의 subId:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"DL 대역폭(kbps):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"UL 대역폭(kbps):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"셀 위치 정보(사용 중단됨):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"LTE 물리적 채널 구성:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"셀 정보 새로고침 빈도:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"모든 셀 측정 정보:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"데이터 서비스:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"로밍:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"통화 리디렉션:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"부팅 후 PPP 재설정 횟수:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"현재 네트워크:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"받은 데이터:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"음성 서비스:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"신호 강도:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"음성 통화 상태:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"보낸 데이터:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"메시지 대기 중:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"전화번호:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"무선 주파수 대역 선택"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"음성 네트워크 유형:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"데이터 네트워크 유형:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"휴대전화 색인 선택"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"기본 네트워크 유형 설정:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"핑 호스트 이름(www.google.com) IPv4:"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"핑 호스트 이름(www.google.com) IPv6:"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"HTTP 클라이언트 테스트:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"핑 테스트 실행"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"업데이트"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"새로고침"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"DNS 확인 전환"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"OEM별 정보/설정"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"무선 주파수 대역 모드 설정"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"대역 목록 로드 중..."</string>
-    <string name="band_mode_set" msgid="494968379352406359">"설정"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"실패"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"성공"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"변경사항을 적용하려면 USB 케이블을 다시 연결해야 합니다."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"USB 대용량 저장소 사용"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"총 바이트 수:"</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"맨 아래로 이동"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"언어 삭제"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"작업 선택"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"장치정보"</string>
     <string name="display_label" msgid="3056320781191343221">"화면"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"태블릿 정보"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"휴대전화 정보"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"USB 저장소"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"SD 카드"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"프록시 설정"</string>
@@ -306,9 +234,6 @@
     <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, 블루투스, 비행기 모드, 모바일 네트워크 및 VPN 관리"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"모바일 데이터"</string>
-    <string name="calls_title" msgid="6334813967619899114">"통화 허용"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"SMS 메시지"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"모바일 네트워크 데이터 사용 허용"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"로밍 중 데이터 사용 허용"</string>
     <string name="roaming" msgid="3055365654530847985">"로밍"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"로밍 시 데이터 서비스에 연결"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"데이터 로밍을 사용 중지한 상태에서 홈 네트워크를 벗어났으므로 데이터 연결이 끊어졌습니다."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"사용"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"요금이 많이 부과될 수 있습니다."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"데이터 로밍을 허용하면 높은 로밍 요금이 부과될 수 있습니다.\n\n이 설정은 태블릿의 모든 사용자에게 영향을 줍니다."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"데이터 로밍을 허용하면 높은 로밍 요금이 부과될 수 있습니다.\n\n이 설정은 휴대전화의 모든 사용자에게 영향을 줍니다."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"로밍 요금이 부과될 수 있습니다."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"데이터 로밍을 허용하면 로밍 요금이 부과될 수 있습니다.\n\n이 설정은 태블릿의 모든 사용자에게 적용됩니다."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"데이터 로밍을 허용하면 로밍 요금이 부과될 수 있습니다.\n\n이 설정은 휴대전화의 모든 사용자에게 적용됩니다."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"데이터 로밍을 허용하시겠습니까?"</string>
     <string name="networks" msgid="5184501333492775095">"운영자 선택"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"네트워크 운영자 선택"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"관리자가 사용 중지함"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"잠금 옵션 표시"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"잠금 화면에 Smart Lock, 생체 인식 잠금 해제, 알림을 사용 중지하는 전원 버튼 옵션 표시"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"Trust Agent는 잠금 해제 연장만 가능"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"이 옵션을 사용 설정하면 Trust Agent가 기기를 더 오랫동안 잠금 해제된 상태로 유지하지만, 더 이상 기기의 잠금을 해제할 수는 없습니다."</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"신뢰를 잃었을 때 화면 잠금"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"이 옵션을 사용 설정하면 마지막 Trust Agent가 신뢰를 잃었을 때 기기가 잠깁니다."</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"없음"</string>
@@ -390,7 +313,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"내 위치, 화면 잠금해제, SIM 카드 잠금, 사용자 인증 정보 저장소 잠금 설정"</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"내 위치, 화면 잠금해제, 사용자 인증 정보 저장소 잠금 설정"</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"개인정보 보호"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"관리자가 사용 중지함"</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>
@@ -693,7 +616,6 @@
       <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g>자리 미만이어야 합니다.</item>
       <item quantity="one"><xliff:g id="NUMBER_0">%d</xliff:g>자리 미만이어야 합니다.</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"0에서 9까지의 숫자만 포함되어야 합니다."</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"기기 관리자가 최근 PIN 사용을 허용하지 않습니다."</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"IT 관리자가 일반 PIN을 차단했습니다. 다른 PIN을 시도해 보세요."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"잘못된 문자를 포함할 수 없습니다."</string>
@@ -724,6 +646,10 @@
       <item quantity="other">글자가 아닌 문자를 <xliff:g id="COUNT">%d</xliff:g>개 이상 포함해야 합니다.</item>
       <item quantity="one">글자가 아닌 문자를 1개 이상 포함해야 합니다.</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="other">숫자가 아닌 문자를 <xliff:g id="COUNT">%d</xliff:g>개 이상 포함해야 합니다.</item>
+      <item quantity="one">숫자가 아닌 문자를 1개 이상 포함해야 합니다.</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"기기 관리자가 최근 비밀번호 사용을 허용하지 않습니다."</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"IT 관리자가 일반적인 단어로 된 비밀번호를 허용하지 않습니다. 다른 비밀번호를 시도해 보세요."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"연속으로 올라가거나 내려가는 숫자 또는 반복되는 숫자의 배열은 허용되지 않습니다."</string>
@@ -837,19 +763,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2.4GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"로그인"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"사이트 열기"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"<xliff:g id="REMAINING_TIME">%1$s</xliff:g> 남음"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"만료: <xliff:g id="EXPIRY_TIME">%1$s</xliff:g>"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"네트워크에 로그인하려면 여기를 탭하세요."</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g>Mbps"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g>Mbps"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g>Mbps"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"<xliff:g id="REQUESTER">%s</xliff:g>에서 Wi-Fi를 사용 설정하려고 합니다."</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"<xliff:g id="REQUESTER">%s</xliff:g>에서 Wi-Fi를 사용 중지하려고 합니다."</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"디버깅 가능한 앱의 바이트코드 확인"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"ART가 디버깅 가능한 앱의 바이트코드를 확인하도록 허용"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"새로고침 빈도 보기"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"현재 화면 새로고침 빈도 보기"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"태블릿이 다른 기기와 접촉하면 데이터 교환 허용"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"휴대전화가 다른 기기와 접촉하면 데이터 교환 허용"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"태블릿이 NFC 기기와 접촉하면 데이터 교환 허용"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"휴대전화가 NFC 기기와 접촉하면 데이터 교환 허용"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"NFC 사용"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"NFC는 이 기기와 결제 단말기, 액세스 리더, 양방향 광고나 태그 등 기타 주변 기기 또는 타겟 사이의 데이터를 교환합니다."</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"안전한 NFC"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFC 사용 시 기기 잠금 해제 필요"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"화면 잠금이 해제된 상태에서만 NFC 결제 및 교통카드 기능 허용"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"앱 콘텐츠를 NFC를 통해 전송할 준비 완료"</string>
@@ -923,8 +855,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"사용 설정"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Wi‑Fi 검색 사용 설정됨"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"고급 옵션"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"고급 옵션 드롭다운 목록입니다. 접으려면 두 번 탭하세요."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"고급 옵션 드롭다운 목록입니다. 펼치려면 두 번 탭하세요."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"드롭다운 목록 고급 옵션"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"펼치기"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"네트워크 이름"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"SSID 입력"</string>
     <string name="wifi_security" msgid="9095934643631406913">"보안"</string>
@@ -934,6 +866,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"상태"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"전송 링크 속도"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"수신 링크 속도"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"링크 속도"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"주파수"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"IP 주소"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"저장 시 사용한 네트워크"</string>
@@ -941,6 +874,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"EAP 방식"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"단계 2 인증"</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>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"사용자 인증서"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"ID"</string>
@@ -957,6 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"Wi‑Fi 핫스팟 대역을 한 개 이상 선택하세요."</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"IP 설정"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"개인정보 보호"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"구독"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"구독 확인 또는 변경"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"무작위 MAC"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"기기 추가"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"\'<xliff:g id="SSID">%1$s</xliff:g>\'에 기기를 추가하려면 아래 창의 가운데 부분에 QR 코드를 맞추세요."</string>
@@ -966,12 +902,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"Wi‑Fi 공유"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"이 QR 코드를 스캔하여 \'<xliff:g id="SSID">%1$s</xliff:g>\'에 연결하고 비밀번호를 공유하세요."</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"이 QR 코드를 스캔하여 \'<xliff:g id="SSID">%1$s</xliff:g>\'에 연결"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"QR 코드를 읽을 수 없습니다. 코드를 재입력하고 다시 시도해 보세요."</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"다시 시도해 보세요. 문제가 계속되면 기기 제조업체에 문의하세요."</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"문제 발생"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"기기가 연결되어 있고 충전되어 있으며 전원이 켜져 있는지 확인합니다."</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"기기가 연결되어 있고 충전되어 있으며 전원이 켜져 있는지 확인합니다. 문제가 계속되면 기기 제조업체에 문의하세요."</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"\'<xliff:g id="SSID">%1$s</xliff:g>\' 추가는 이 기기에서 지원되지 않습니다."</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"기기를 Wi-Fi 액세스 포인트나 라우터에 더 가까이 옮겨 보세요."</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"비밀번호를 확인하고 다시 시도해 보세요."</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"기기 제조업체에 문의하세요."</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"연결을 확인한 후 다시 시도해 보세요."</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"네트워크 선택"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"기기를 연결하려면 네트워크를 선택하세요."</string>
@@ -984,11 +922,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"이 기기와 Wi‑Fi 공유 중…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"연결 중…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"핫스팟 공유"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"본인 확인"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"본인 인증하기"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"Wi-Fi 비밀번호: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"핫스팟 비밀번호: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"자동 연결"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"이 네트워크 근처에 있을 때 휴대전화가 자동으로 연결되도록 허용"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"이 네트워크 근처에 있을 때 태블릿이 자동으로 연결되도록 허용"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"기기 추가"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"QR 코드를 사용하여 네트워크에 기기 추가"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"QR 코드가 유효한 형식이 아닙니다."</string>
     <string name="retry" msgid="7542103800274026915">"재시도"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"다른 기기 사용자와 공유"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(변경 안함)"</string>
@@ -1000,6 +942,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"지정한 인증서가 없습니다. 비공개로 연결되지 않습니다."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"네트워크 이름이 너무 깁니다."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"도메인을 지정해야 합니다."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"인증서가 필요합니다."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"WPS 사용 가능"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (WPS 사용 가능)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"이동통신사 Wi‑Fi 네트워크"</string>
@@ -1051,7 +994,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"고급 Wi-Fi"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"MAC 주소"</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_ip_address_title" msgid="4265355419782184514">"IP 주소"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"네트워크 세부정보"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"서브넷 마스크"</string>
@@ -1103,7 +1047,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"핫스팟을 사용하여 다른 기기에서 사용할 수 있는 Wi‑Fi 네트워크를 만드세요. 핫스팟은 내 모바일 데이터 연결을 사용하여 인터넷을 제공합니다. 추가 모바일 데이터 요금이 부과될 수 있습니다."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"앱에서 핫스팟을 만들어 주변 기기와 콘텐츠를 공유할 수 있습니다."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"자동으로 핫스팟 사용 중지"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"연결된 기기가 없으면 Wi‑Fi 핫스팟이 사용 중지됩니다."</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"연결된 기기가 없을 때"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"핫스팟 켜는 중…"</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"핫스팟 끄는 중…"</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g>이(가) 활성화됨"</string>
@@ -1112,6 +1056,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"Wi‑Fi 핫스팟 설정"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"AndroidAP WPA2 PSK 핫스팟"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"AndroidHotspot"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"이 네트워크를 저장할까요?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"<xliff:g id="APPNAME">%1$s</xliff:g>에서 네트워크를 휴대전화에 저장하려고 합니다."</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"<xliff:g id="APPNAME">%1$s</xliff:g>에서 네트워크를 태블릿에 저장하려고 합니다."</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"저장 중…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"저장됨"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"저장할 수 없습니다. 다시 시도하세요."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"네트워크를 저장하시겠습니까?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"<xliff:g id="APPNAME">%1$s</xliff:g>에서 이 네트워크를 휴대전화에 저장하려고 합니다."</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"<xliff:g id="APPNAME">%1$s</xliff:g>에서 네트워크를 태블릿에 저장하려고 합니다."</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"네트워크 <xliff:g id="NUMBER">%d</xliff:g>개 저장 중..."</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"네트워크 저장됨"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"Wi-Fi 통화"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"Wi‑Fi로 통화 가능 범위 확장"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"Wi‑Fi 통화를 사용 설정하여 신호 범위 확장"</string>
@@ -1138,16 +1093,18 @@
     <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>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"Wi-Fi 통화 활성화"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"Wi-Fi 통화 사용 설정"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"%1$s에서는 Wi‑Fi 통화가 지원되지 않습니다."</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"<xliff:g id="SSID">%1$s</xliff:g>과(와) 연결 해제됨"</string>
     <string name="carrier" msgid="1755020806290963951">"이동통신사"</string>
     <string name="display_settings_title" msgid="626835071804834218">"디스플레이"</string>
     <string name="sound_settings" msgid="5514582720435174014">"소리"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"볼륨"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"음악 효과"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"벨소리 볼륨"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"벨소리 및 알림 볼륨"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"무음 시 진동"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"기본 알림 소리"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"벨소리"</string>
@@ -1272,13 +1229,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"테마 적용 일정"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"없음"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"일몰부터 일출까지 켜짐"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"맞춤 시간에 켜기"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"상태"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"꺼짐/<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"자동으로 켜지 않음"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"일몰에 자동으로 켜짐"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"<xliff:g id="ID_1">%1$s</xliff:g>에 자동으로 켜짐"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"켜짐/<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"자동으로 끄지 않음"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"일출에 자동으로 끄기"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"<xliff:g id="ID_1">%1$s</xliff:g>에 자동으로 꺼짐"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"<xliff:g id="ID_1">%1$s</xliff:g>까지 켜기"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"<xliff:g id="ID_1">%1$s</xliff:g>까지 끄기"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"어두운 테마는 배터리 사용 시간을 늘리기 위해 일부 화면에서 검은색 배경을 사용합니다. 어두운 테마 일정은 화면이 꺼질 때까지 기다린 후 켜집니다."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"화면 자동 잠금 시간"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"화면이 꺼짐"</string>
@@ -1290,7 +1252,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"배경화면 변경"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"화면 맞춤설정"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"배경화면 선택"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"Pixel 맞춤설정"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"휴대전화 맞춤설정"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"다른 스타일, 배경화면 등 사용해 보기"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"화면 보호기"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"충전 또는 도킹하는 동안"</string>
@@ -1379,6 +1341,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"USB 저장소를 마운트 해제하고 사용 가능한 저장공간을 봅니다."</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"SD 카드 마운트 해제, 사용 가능한 저장공간 보기"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI(SIM 슬롯 %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"확인하려면 저장된 네트워크를 선택하세요."</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"전화번호"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN(SIM 슬롯 %1$d)"</string>
@@ -1405,6 +1368,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"로밍"</string>
     <string name="status_operator" msgid="4335640583552058491">"네트워크"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"Wi-Fi MAC 주소"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"기기 Wi‑Fi MAC 주소"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"블루투스 주소"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"일련번호"</string>
     <string name="status_up_time" msgid="1274778533719495438">"가동 시간"</string>
@@ -1617,6 +1581,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"기본 APN 설정을 초기화했습니다."</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"옵션 초기화"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"네트워크, 앱, 기기를 재설정할 수 있음"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"앱을 재설정할 수 있습니다."</string>
     <string name="reset_network_title" msgid="1395494440355807616">"Wi-Fi, 모바일, 블루투스 초기화"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"다음을 포함한 모든 네트워크 설정이 초기화됩니다.\n\n"<li>"Wi‑Fi"</li>\n<li>"모바일 데이터"</li>\n<li>"블루투스"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"다운로드한 SIM 삭제"</string>
@@ -1666,6 +1631,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"핫스팟 사용"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"테더링"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"데이터 절약 모드가 켜져 있으면 테더링하거나 휴대용 핫스팟을 사용할 수 없습니다."</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"핫스팟만"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"USB만"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"블루투스만"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"핫스팟, USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"핫스팟, 블루투스"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB, 블루투스"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"핫스팟, USB, 블루투스"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"다른 기기와 인터넷 공유 안함"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"테더링"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Wi‑Fi 핫스팟 사용 안함"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"USB를 통해서만 인터넷 공유"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"블루투스를 통해서만 인터넷 공유"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"USB 및 블루투스를 통해서만 인터넷 공유"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB 테더링"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"USB를 통해 휴대전화의 인터넷 연결 공유"</string>
@@ -1756,9 +1734,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"안전 정보"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"데이터에 연결되어 있지 않습니다. 지금 이 정보를 보려면 인터넷에 연결된 컴퓨터에서 %s(으)로 이동하세요."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"로드 중..."</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"PIN 사용"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"패턴 사용"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"비밀번호 사용"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"화면 잠금 설정"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"보안을 위해 비밀번호를 설정하세요."</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"비밀번호 설정 후 지문 사용"</string>
@@ -1767,8 +1742,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"PIN 설정 후 지문 사용"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"보안을 위해 패턴을 설정하세요."</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"비밀번호 다시 입력"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"직장 비밀번호 입력"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"패턴 확인"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"직장 패턴 입력"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"PIN 다시 입력"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"직장 PIN 입력"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"비밀번호가 일치하지 않음"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"PIN이 일치하지 않음"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"패턴을 다시 그려 주세요"</string>
@@ -1779,6 +1757,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"얼굴인식 잠금해제를 사용하려면 비밀번호를 설정하세요"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"얼굴인식 잠금해제를 사용하려면 패턴을 설정하세요"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"얼굴인식 잠금해제를 사용하려면 PIN을 설정하세요"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"비밀번호를 잊으셨나요?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"패턴을 잊으셨나요?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"PIN을 잊으셨나요?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"계속하려면 기기 패턴을 사용하세요."</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"계속하려면 기기 PIN을 입력하세요."</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"계속하려면 기기 비밀번호를 입력하세요."</string>
@@ -1846,6 +1827,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"모든 앱 소스 허용"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"최근 실행한 앱"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"앱 <xliff:g id="COUNT">%1$d</xliff:g>개 모두 보기"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"IT 관리자에게 문의하세요"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"PIN, 패턴 또는 비밀번호 재설정에 도움을 받을 수 있습니다."</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"태블릿과 개인 데이터는 알 수 없는 앱의 공격에 더욱 취약합니다. 이 소스에서 가져온 앱을 설치하면 앱 사용으로 인해 발생할 수 있는 태블릿의 손상 및 데이터 손실에 책임을 진다는 데 동의하게 됩니다."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"휴대전화와 개인 데이터는 알 수 없는 앱의 공격에 더욱 취약합니다. 이 소스에서 가져온 앱을 설치하면 앱 사용으로 인해 발생할 수 있는 휴대전화의 손상 및 데이터 손실에 책임을 진다는 데 동의하게 됩니다."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"기기와 개인 데이터는 알 수 없는 앱의 공격에 더욱 취약합니다. 이 소스에서 받은 앱을 설치하면 앱 사용으로 인해 발생할 수 있는 기기의 손상 및 데이터 손실에 사용자가 책임을 지는 것에 동의하게 됩니다."</string>
@@ -1897,7 +1880,7 @@
     <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="1377296810290814749">"이 작업을 수행하면 다음 환경설정이 초기화됩니다.\n\n"<li>"사용 중지된 앱"</li>\n<li>"사용 중지된 앱 알림"</li>\n<li>"작업에 사용하는 기본 애플리케이션"</li>\n<li>"앱에 대한 백그라운드 데이터 제한"</li>\n<li>"그 밖의 권한 제한"</li>\n\n"앱 데이터는 손실되지 않습니다."</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>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"앱 초기화"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"공간 관리"</string>
     <string name="filter" msgid="9039576690686251462">"필터"</string>
@@ -2097,7 +2080,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"오디오 및 화면에 있는 텍스트"</string>
     <string name="display_category_title" msgid="6638191682294461408">"디스플레이"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"상호작용 컨트롤"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"다운로드한 서비스"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"다운로드한 앱"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"실험"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"기능 플래그"</string>
     <string name="talkback_title" msgid="8756080454514251327">"음성 안내 지원"</string>
@@ -2105,27 +2088,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"화면에서 항목을 탭하여 읽는 소리 듣기"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"자막 환경설정"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"확대"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"확대 영역"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"확대 사용 설정"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"화면 확대 시 사용할 확대 영역 선택"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"전체 화면"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"화면 일부"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"전체 화면 및 화면 일부"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"전체 화면 확대"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"화면 일부 확대"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"확대 설정"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"세 번 탭하여 확대"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"바로가기를 사용하여 확대"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"바로가기 및 세 번 탭으로 확대"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"<xliff:g id="SERVICE">%1$s</xliff:g> 정보"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"옵션"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"화면 확대"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"3번 탭하여 확대"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"버튼을 탭하여 확대/축소"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><b>"확대/축소하려면"</b>" 화면을 빠르게 세 번 탭합니다.\n"<ul><li>"스크롤하려면 2개 이상의 손가락으로 드래그합니다."</li>\n<li>"확대/축소 수준을 조정하려면 2개 이상의 손가락을 오므립니다."</li></ul>\n\n<b>"일시적으로 확대/축소하려면"</b>" 화면을 빠르게 세 번 탭하고 세 번째 탭에서 길게 누릅니다.\n"<ul><li>"화면에서 이동하려면 드래그합니다."</li>\n<li>"축소하려면 손가락을 뗍니다."</li></ul>\n\n"키보드나 탐색 메뉴는 확대할 수 없습니다."</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"확대 서비스를 사용 설정하면 화면을 확대할 수 있습니다.\n\n"<b>"화면을 확대하려면"</b>" 확대를 시작한 다음 화면에서 아무 곳이나 탭합니다.\n"<ul><li>"• 스크롤하려면 2개 이상의 손가락으로 드래그합니다."</li>\n<li>"• 확대/축소를 조정하려면 2개 이상의 손가락을 모읍니다."</li></ul>\n\n<b>"화면을 일시적으로 확대하려면"</b>" 확대를 시작한 다음 화면에서 아무 곳이나 길게 터치합니다.\n"<ul><li>"• 화면에서 이동하려면 드래그합니다."</li>\n<li>"• 축소하려면 손가락을 뗍니다."</li></ul>\n\n"키보드 또는 탐색 메뉴는 확대할 수 없습니다."</string>
+    <string name="accessibility_screen_magnification_summary" msgid="7617931632990040045">"화면을 빠르게 확대하여 콘텐츠를 더 선명하게 봅니다.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;확대하는 방법:&lt;/b&gt;&lt;br/&gt;	1. 확대 시작 단축키를 사용합니다.&lt;br/&gt;	2. 화면을 탭합니다.&lt;br/&gt;	3. 두 손가락을 드래그하여 화면을 움직입니다.&lt;br/&gt;	4. 두 손가락을 오므려서 배율을 조정합니다.&lt;br/&gt;	5. 단축키로 확대를 멈춥니다.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;일시적으로 확대하는 방법:&lt;/b&gt;&lt;br/&gt;	1. 확대 시작 단축키를 사용합니다.&lt;br/&gt;	2. 화면의 아무 곳이나 길게 터치합니다.&lt;br/&gt;	3. 손가락을 드래그하여 화면을 움직입니다.&lt;br/&gt;	4. 손가락을 떼면 확대가 멈춥니다."</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"확대 기능을 사용 설정하면 화면을 확대할 수 있습니다.\n\n"<b>"화면을 확대하려면"</b>" 확대 기능을 시작한 다음 화면에서 아무 곳이나 탭합니다.\n"<ul><li>"스크롤하려면 2개 이상의 손가락으로 드래그합니다."</li>\n<li>"확대/축소 수준을 조정하려면 2개 이상의 손가락을 모읍니다."</li></ul>\n\n<b>"화면을 일시적으로 확대하려면"</b>" 확대를 시작한 다음 화면에서 아무 곳이나 길게 터치합니다.\n"<ul><li>"화면에서 이동하려면 드래그합니다."</li>\n<li>"축소하려면 손가락을 뗍니다."</li></ul>\n\n"키보드 또는 탐색 메뉴는 확대할 수 없습니다."</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"접근성 버튼을 사용하여 열기"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"동작을 사용해 열기"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"새로운 접근성 동작 사용"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"이 서비스를 사용하거나 사용 중지하려면 화면 하단의 접근성 버튼 <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>을 탭하세요.\n\n서비스 간에 전환하려면 접근성 버튼을 길게 터치합니다."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"이 서비스를 사용하거나 사용 중지하려면 두 손가락을 사용하여 화면 하단에서 위로 스와이프하세요.\n\n서비스 간에 전환하려면 두 손가락을 사용하여 위로 스와이프한 후 잠시 기다립니다."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"이 서비스를 사용하거나 사용 중지하려면 세 손가락을 사용하여 화면 하단에서 위로 스와이프하세요.\n\n서비스 간에 전환하려면 세 손가락을 사용하여 위로 스와이프한 후 잠시 기다립니다."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"접근성 서비스를 사용하거나 사용 중지하려면 두 손가락을 사용하여 화면 하단에서 위로 스와이프하세요.\n\n서비스 간에 전환하려면 두 손가락을 사용하여 위로 스와이프한 다음 잠시 기다립니다."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"접근성 서비스를 사용하거나 사용 중지하려면 세 손가락을 사용하여 화면 하단에서 위로 스와이프하세요.\n\n서비스 간에 전환하려면 세 손가락을 사용하여 위로 스와이프한 다음 잠시 기다립니다."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"이 서비스를 사용하거나 사용 중지하려면 화면 하단의 접근성 버튼 <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>을 탭하세요.\n\n서비스 간에 전환하려면 접근성 버튼을 길게 터치하세요."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"이 서비스를 사용하거나 사용 중지하려면 두 손가락을 사용하여 화면 하단에서 위로 스와이프하세요.\n\n서비스 간에 전환하려면 두 손가락을 사용하여 위로 스와이프한 후 잠시 기다립니다."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"이 서비스를 사용하거나 사용 중지하려면 세 손가락을 사용하여 화면 하단에서 위로 스와이프하세요.\n\n서비스 간에 전환하려면 세 손가락을 사용하여 위로 스와이프한 후 잠시 기다립니다."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"접근성 서비스를 사용하거나 사용 중지하려면 두 손가락을 사용하여 화면 하단에서 위로 스와이프하세요.\n\n서비스 간에 전환하려면 두 손가락을 사용하여 위로 스와이프한 다음 잠시 기다립니다."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"접근성 서비스를 사용하거나 사용 중지하려면 세 손가락을 사용하여 화면 하단에서 위로 스와이프하세요.\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="2820923641553461297">"접근성 버튼"</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>
+    <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8922102767509399352">"화면 하단의 접근성 버튼 <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>을 탭하세요."</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"손가락 2개로 화면 하단에서 위로 스와이프하세요."</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"손가락 3개로 화면 하단에서 위로 스와이프하세요."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"볼륨 키 길게 누르기"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"볼륨 키 2개를 동시에 1초간 누르세요."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"세 번 탭하기"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"화면을 빠르게 3회 탭하세요. 이 단축키를 사용하면 기기가 느려질 수 있습니다."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"고급"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"접근성 버튼이 <xliff:g id="SERVICE">%1$s</xliff:g>(으)로 설정되어 있습니다. 확대를 사용하려면 접근성 버튼을 길게 터치한 다음 확대를 선택하세요."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"접근성 동작이 <xliff:g id="SERVICE">%1$s</xliff:g>(으)로 설정되어 있습니다. 확대 기능을 사용하려면 두 손가락을 사용하여 화면 하단에서 위로 스와이프한 다음 잠시 기다리세요. 그런 다음 확대를 선택합니다."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"볼륨 키 단축키"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"단축키 서비스"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"단축키 설정"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"잠금 화면에서 허용"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"단축키가 사용 설정되어 있는 경우 볼륨키 2개를 동시에 3초 동안 눌러 접근성 기능을 시작할 수 있습니다."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"고대비 텍스트"</string>
@@ -2149,24 +2157,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"사용자에게 조치를 취하도록 요청하지만 일시적으로만 보이는 메시지를 표시할 시간을 선택하세요.\n\n일부 앱에서는 이 설정이 지원되지 않습니다."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"길게 눌러 입력하기"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"색상 반전"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"성능에 영향을 미칠 수 있음"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"정지 시간"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"색상 반전 사용"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"색상 반전은 밝은 색상을 어두운 색상으로 바꿉니다. 설정 시 빛에 민감한 사용자가 더 편하게 볼 수 있습니다.&lt;br/&gt;&lt;br/&gt;참고: 어두운 색상은 밝게 변합니다. 미디어 및 이미지에서 색상이 바뀌게 됩니다. 어두운 테마를 사용할 수도 있습니다(설정 &gt; 디스플레이)."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"자동 클릭(체류 시간)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"마우스를 사용하는 경우 커서가 일정 시간 동안 움직이지 않으면 자동으로 작동하도록 설정할 수 있습니다."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"지연 후 클릭"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"자동 클릭 사용 안함(기본값)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"짧게"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0.2초"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"보통"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0.6초"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"길게"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1초"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"사용자설정"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"짧게"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"길게"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"자동 클릭 시간"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"진동 및 햅틱 강도"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"알림 진동"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"벨소리 진동"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"터치 반응"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"서비스 사용"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g> 사용"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g> 열기"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"색상 보정 사용"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"자막 사용"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"자막 보기"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"자막 글꼴"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"텍스트 크기, 자막 스타일"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"추가 옵션"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"일부 앱에서는 이 설정을 지원하지 않습니다."</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>
     <string name="accessibility_hearingaid_instruction_continue_button" msgid="3367260988024430722">"계속"</string>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"보청기"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"연결된 보청기가 없음"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"보청기 추가"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"보청기를 페어링하려면 다음 화면에서 기기를 찾아 탭하세요."</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"보청기가 페어링 모드로 설정되어 있는지 확인하세요."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"보청기를 페어링하려면 다음 화면에서 기기를 찾아 탭하세요. 보청기가 페어링 모드로 설정되어 있는지 확인하세요."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> 활성화됨"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="other">보청기 <xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g>개가 저장되어 있습니다.</item>
@@ -2178,25 +2204,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"이 서비스가 제대로 작동하지 않습니다."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"빠른 설정에 표시"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"보정 모드"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="other">거의 지연 없음(<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g>밀리초)</item>
-      <item quantity="one">거의 지연 없음(<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g>밀리초)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"빨간색과 초록색"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"초록색과 빨간색"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"파란색과 노란색"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"녹색약"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"적색약"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"청색약"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="other">극히 짧은 지연(<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g>초)</item>
+      <item quantity="one">극히 짧은 지연(<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g>초)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="other">매우 짧은 지연(<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g>밀리초)</item>
-      <item quantity="one">매우 짧은 지연(<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g>밀리초)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="other">아주 짧은 지연(<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g>초)</item>
+      <item quantity="one">아주 짧은 지연(<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g>초)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="other">짧은 지연(<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g>밀리초)</item>
-      <item quantity="one">짧은 지연(<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g>밀리초)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="other">짧은 지연(<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g>초)</item>
+      <item quantity="one">짧은 지연(<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g>초)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="other">긴 지연(<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g>밀리초)</item>
-      <item quantity="one">긴 지연(<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g>밀리초)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="other">긴 지연(<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g>초)</item>
+      <item quantity="one">긴 지연(<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g>초)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="other">매우 긴 지연(<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g>밀리초)</item>
-      <item quantity="one">매우 긴 지연(<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g>밀리초)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="other">아주 긴 지연(<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g>초)</item>
+      <item quantity="one">아주 긴 지연(<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g>초)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g>초</item>
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g>초</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"벨소리 <xliff:g id="SUMMARY_RING">%1$s</xliff:g>, 알림 <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>, 터치 <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"벨소리 및 알림이 꺼짐으로 설정되었습니다."</string>
@@ -2513,7 +2549,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"마지막으로 플러그를 뽑은 이후 <xliff:g id="UNPLUGGED">%1$s</xliff:g> 동안"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"총 사용량"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"새로고침"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"Android OS"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"미디어 서버"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"앱 최적화"</string>
     <string name="battery_saver" msgid="7737147344510595864">"절전 모드"</string>
@@ -2594,8 +2629,7 @@
     <string name="tts_play" msgid="2945513377250757221">"재생"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"사용자 인증 정보 저장소"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"저장소에서 설치"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"SD 카드에서 설치"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"인증서 설치"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"저장소에서 인증서 설치"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"SD 카드에서 인증서 설치"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"자격증명 삭제"</string>
@@ -2615,6 +2649,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"사용자 인증 정보 저장소가 삭제되었습니다."</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"사용자 인증 정보 저장소를 삭제하지 못했습니다."</string>
     <string name="usage_access_title" msgid="1580006124578134850">"사용 액세스 권한을 보유한 앱"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"CA 인증서"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"VPN 및 앱 사용자 인증서"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"Wi‑Fi 인증서"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"개인정보 유출 위험이 있습니다"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"CA 인증서는 암호화를 위해 웹사이트, 앱, VPN에서 사용됩니다. 신뢰할 수 있는 조직의 CA 인증서만 설치하세요. \n\n CA 인증서를 설치하면 인증서 소유자가 내가 이용 중인 웹사이트나 앱의 비밀번호, 메시지, 신용카드 세부정보 등의 정보에 액세스할 수 있습니다(정보가 암호화되어 있는 경우 포함)."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"설치 안함"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"무시하고 설치"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"인증서가 설치되지 않음"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"응급 상황 다이얼링 신호"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"긴급 통화 중 동작 설정"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"백업"</string>
@@ -2642,10 +2684,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"비활성화 및 제거"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"기기 관리자 앱"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"사용할 수 있는 기기 관리자 앱이 없습니다."</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"개인"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"직장"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"SMS 및 통화 기록 액세스 제한"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"기본 전화 및 메시지 앱에만 SMS 및 통화 기록 권한 부여"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"사용 가능한 Trust Agent 없음"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"기기 관리자 앱을 활성화하시겠습니까?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"이 기기 관리자 앱 활성화"</string>
@@ -2659,6 +2697,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"관리자가 다른 옵션을 사용 중지함"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"세부정보 더보기"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"알림 로그"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"알림 기록"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"오늘"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"일시 중지된 알림"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"최근 닫은 알림"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="other">알림 <xliff:g id="NUMBER_1">%d</xliff:g>개</item>
+      <item quantity="one">알림 <xliff:g id="NUMBER_0">%d</xliff:g>개</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"전화 벨소리 및 진동"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"네트워크 세부정보"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"동기화 사용"</string>
@@ -3008,7 +3054,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"제한사항"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"제한사항 삭제"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"PIN 변경"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"알림 표시"</string>
     <string name="help_label" msgid="2896538416436125883">"고객센터"</string>
     <string name="support_summary" msgid="1034146931237148885">"도움말, 전화 및 채팅, 시작하기"</string>
     <string name="user_account_title" msgid="6389636876210834864">"콘텐츠용 계정"</string>
@@ -3033,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G 통화"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"LTE 서비스를 사용하여 음성 및 기타 통신 개선(권장)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"4G 서비스를 사용하여 음성 및 기타 통신 개선(권장)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"연락처 확인"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"이동통신사에서 내 연락처가 지원하는 통화 기능을 확인하도록 허용합니다."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"연락처 확인 기능을 사용 설정하시겠습니까?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"이 기능을 사용 설정하면 이동통신사에서 내 연락처에 있는 전화번호에 액세스하여 연락처가 지원하는 통화 기능을 확인할 수 있습니다."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"기본 네트워크 유형"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE(권장)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS 메시지"</string>
@@ -3077,7 +3126,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"통화에 사용할 SIM"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"SIM 카드 선택"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"SIM <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"SIM 카드 비어있음"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"SIM 이름"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"SIM 이름 입력"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"SIM 슬롯 %1$d"</string>
@@ -3087,6 +3135,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"SIM 카드 선택"</string>
     <string name="color_orange" msgid="216547825489739010">"주황색"</string>
     <string name="color_purple" msgid="6603701972079904843">"보라색"</string>
+    <string name="color_pink" msgid="8596872110888626708">"분홍색"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"SIM 카드가 장착되지 않음"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"SIM 상태"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"SIM 상태(SIM 슬롯 %1$d)"</string>
@@ -3100,7 +3149,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g>dBm <xliff:g id="ASU">%2$d</xliff:g>asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"SIM 카드가 변경됨"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"탭하여 설정"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"다음 작업에 대하여 선호하는 SIM"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"항상 확인"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"선택 필요"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"SIM 선택"</string>
@@ -3118,6 +3166,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"블루투스, 운전 모드"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"블루투스, NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"블루투스"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"NFC가 꺼져 있어 사용할 수 없음"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"앱 및 알림"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"최근 앱, 기본 앱"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"알림 액세스는 직장 프로필에 있는 앱에서 사용할 수 없습니다."</string>
@@ -3128,13 +3177,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"설정"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"wifi, Wi-Fi, 네트워크 연결, 인터넷, 무선, 데이터, WiFi"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"Wi‑Fi 알림, Wi‑Fi 알림"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"데이터 사용"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"진동 중지, 탭, 키보드"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"24시간 형식 사용"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"다운로드"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"연결 앱"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"애플리케이션"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"시간대"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"채팅 헤드"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"채팅 헤드, 시스템, 알림, 창, 대화상자, 디스플레이, 다른 앱 위에, 그리기"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"손전등, 빛, 토치"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"WiFi, Wi-Fi, 전환, 제어"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"셀룰러, 모바일, 이동통신사, 무선, 데이터, 4G, 3G, 2G, LTE"</string>
@@ -3158,7 +3208,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"알림 일시중지, 방해, 중단, 중지"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"주변, 위치, 기록, 보고, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"계정"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"계정, 계정 추가, 직장 프로필, 계정 추가"</string>
     <string name="keywords_users" msgid="3497517660077620843">"제한, 제한하다, 제한됨"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"텍스트 수정, 수정, 사운드, 진동, 자동, 언어, 제스처, 제안, 추천, 테마, 불쾌감을 주는, 단어, 입력, 그림 이모티콘, 전 세계"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"재설정, 환경설정, 기본값"</string>
@@ -3196,6 +3246,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"메모리, 캐시, 데이터, 삭제, 지우기, 공간 확보, 공간"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"연결됨, 기기, 헤드폰, 헤드셋, 스피커, 무선, 페어링, 이어폰, 음악, 미디어"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"백그라운드, 화면, 잠금 화면, 테마"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"아이콘 모양, 강조 색상, 글꼴"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"기본, 지원"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"결제, 기본"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"수신 알림"</string>
@@ -3205,18 +3256,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"햅틱, 진동, 민감도"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"절전 모드, 고정, 지속, 절전, 배터리"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"루틴, 일정, 절전 모드, 전력 절약 모드, 배터리, 자동, 퍼센트"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"직장 프로필"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"VoLTE, 고급 통화, 4G 통화"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"언어 추가, 언어 한 개 추가"</string>
     <string name="default_sound" msgid="6604374495015245195">"기본 사운드"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"벨소리 볼륨 <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"벨소리 및 알림 볼륨이 <xliff:g id="PERCENTAGE">%1$s</xliff:g>로 설정되었습니다."</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"볼륨, 진동, 방해 금지 모드"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"벨소리 장치가 진동으로 설정됨"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"벨소리 장치가 무음으로 설정됨"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"벨소리 볼륨 80%"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"벨소리 및 알림 볼륨이 80%로 설정되었습니다."</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"미디어 볼륨"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"전송 볼륨"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"통화 볼륨"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"알람 볼륨"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"벨소리 볼륨"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"벨소리 및 알림 볼륨"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"알림 볼륨"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"전화 벨소리"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"기본 알림 소리"</string>
@@ -3224,6 +3276,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"기본 알림 소리"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"기본 알람 소리"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"전화 수신 시 진동"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"진동 안함"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"항상 진동"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"먼저 진동한 다음 점차 벨소리 크게"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"기타 소리"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"다이얼패드 효과음"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"화면 잠금 효과음"</string>
@@ -3247,6 +3302,7 @@
       <item quantity="one">1개 사용 설정됨</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"방해 금지 모드"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"중요한 사람과 앱의 알림만 받기"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"방해 요소 제한"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"방해 금지 모드 사용 설정"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"예외"</string>
@@ -3273,7 +3329,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"시각적 방해 차단"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"시각적 신호 허용"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"방해 금지 모드 사용 시"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"소리를 내는 방해 요소 허용"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"알림 제한"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"알림 소리 차단"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"화면에 알림을 표시합니다."</string>
@@ -3304,7 +3360,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"소리 및 진동"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"소리, 진동, 일부 시각적 알림 표시"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"소리, 진동, 시각적 알림 표시"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"기본적인 휴대전화 활동 및 상태에 필요한 알림은 숨겨지지 않습니다."</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"기본적인 휴대전화 활동 및 상태에 필요한 알림은 숨겨지지 않습니다."</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"없음"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"기타 옵션"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"추가"</string>
@@ -3334,10 +3390,12 @@
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g>개의 예약이 자동으로 설정될 수 있습니다.</item>
       <item quantity="one">1개의 예약이 자동으로 설정될 수 있습니다.</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"기기를 음소거하되 예외 허용"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"예외"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"예약"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"예외 모두 보기"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"방해 금지 모드 사용 시 예외"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"사람"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"앱"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"알람 및 기타 방해 요소"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"일정"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"무음으로 설정된 알림"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"방해 금지 모드가 사용 설정되어 있으면 위에서 허용한 항목을 제외한 소리 및 진동이 꺼집니다."</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"다음을 제외하고 모두 음소거"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"음소거됨"</string>
@@ -3381,16 +3439,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"적응형 알림"</string>
     <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_capabilities_actions_replies_title" msgid="4392470465646394289">"추천 작업 및 답장"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"추천 작업 및 답장을 자동으로 표시합니다."</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"과거 알림 및 일시 중지된 알림을 보려면 알림 기록을 사용 설정하세요."</string>
+    <string name="notification_history" msgid="8663811361243456201">"알림 기록"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"기록 사용 설정"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"기록 사용 중지"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"알림 기록이 사용 중지되었습니다."</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"알림 설정 보기"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"알림 일시 중지 허용"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"조용한 알림 아이콘 숨기기"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"조용한 알림 아이콘이 상태 표시줄에 표시되지 않습니다."</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"알림 표시 점 허용"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"최근 대화 표시줄 보기"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"알림 풍선"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"일부 알림이 화면에 풍선으로 표시될 수 있음"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"일부 알림 및 기타 콘텐츠가 화면에 풍선으로 표시될 수 있습니다. 알림 풍선을 열려면 탭하세요. 닫으려면 화면 아래로 드래그하세요."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"알림 풍선"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"새 메시지가 화면에 표시됩니다."</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"<xliff:g id="APP_NAME">%1$s</xliff:g> 앱이 일부 알림을 풍선으로 표시하도록 허용"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"알림 풍선 사용"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"이 앱에서 알림 풍선을 사용하려면 먼저 기기에서 알림 풍선을 사용 설정해야 합니다. 그러면 이전에 알림 풍선을 사용 설정한 다른 앱에도 적용됩니다."</string>
@@ -3408,6 +3476,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"풀다운 창 및 잠금 화면에 표시됩니다."</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"풀다운 창 및 상태 표시줄에 표시됩니다."</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"풀다운 창, 상태 표시줄, 잠금 화면에 표시됩니다."</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"상태 표시줄에서 무음 알림 숨기기"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"표시등 깜박임"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"잠금 화면"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"잠금 화면 건너뛰기"</string>
@@ -3438,6 +3507,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"동작"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"소리 허용"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"알림 표시 안함"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"대화"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"대화"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"대화 아님"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"대화 섹션에서 삭제"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"대화입니다."</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"대화 섹션에 추가"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"대화 관리"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"중요한 대화"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"모든 대화"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"중요한 대화 버블로 표시"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"중요한 대화는 풀다운 창 상단에 표시됩니다. 버블로 설정하여 방해 금지 모드를 무시하도록 할 수도 있습니다."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"조용히 표시하고 최소화"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"조용히 표시"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"소리로 알림"</string>
@@ -3456,7 +3536,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"소리나 진동 없이 집중할 수 있도록 도와줍니다"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"소리나 진동으로 알립니다."</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"기기가 잠금 해제되었을 때 화면 상단에 알림 배너 표시"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"알림 표시"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"모든 <xliff:g id="APP_NAME">%1$s</xliff:g> 알림"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"적응형 알림"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="other">하루 최대 <xliff:g id="NUMBER_1">%d</xliff:g>개</item>
@@ -3477,6 +3557,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"적응형 알림"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"없음"</string>
     <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="3119843404577399036">"<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>
@@ -3538,8 +3619,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"완료"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"중요도"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"표시등 깜박임"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"진동"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"진동"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"소리"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"중요"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"홈 화면에 추가"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"삭제"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"이름 바꾸기"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"예약 이름"</string>
@@ -3593,6 +3676,10 @@
       <item quantity="other">외 <xliff:g id="NUM_PEOPLE">%d</xliff:g>명</item>
       <item quantity="one">외 1명</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"대화"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"모든 대화"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"중요한 대화"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"모든 대화 허용 안함"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"메시지 허용"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"허용된 메시지를 놓치지 않도록 기기가 벨소리, 진동, 무음 중 무엇으로 설정되어 있는지 확인하세요."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"예약된 시간(‘<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>\')에 수신 메시지가 차단됩니다. 설정을 조정하여 친구, 가족 또는 연락처에 등록된 다른 사용자의 연락을 허용할 수 있습니다."</string>
@@ -3606,15 +3693,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"없음"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"통화 허용 안함"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"메시지 허용 안함"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"알람 허용"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"알람"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"타이머, 알람, 보안 시스템 등의 앱"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"알람"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"미디어 소리 재생"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"미디어 소리"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"동영상, 게임 등의 미디어"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"미디어"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"터치음 허용"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"터치음"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"키보드 및 기타 버튼"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"터치음"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"알림 허용"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"알림"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"작업 및 알림"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"알림"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"일정 알림 허용"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"일정"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"예정된 캘린더 일정"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"앱에서 무시하도록 허용"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"앱 예외"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3657,6 +3749,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"방해 금지 모드로 음소거된 알림이 화면을 켜도록 허용"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"알림 설정"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"확인"</string>
+    <string name="suggestion_button_close" msgid="6865170855573283759">"닫기"</string>
     <string name="device_feedback" msgid="5351614458411688608">"이 기기에 대한 의견 보내기"</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"관리자 PIN 입력"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"사용"</string>
@@ -3667,6 +3760,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"고정 해제 이전에 PIN 요청"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"고정 해제 이전에 비밀번호 요청"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"화면 고정 해제 시 기기 잠금"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"SIM 삭제 확인"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"다운로드한 SIM을 삭제하기 전에 본인 확인을 진행하세요."</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"다음에서 이 직장 프로필을 관리합니다."</string>
     <string name="managing_admin" msgid="2633920317425356619">"<xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>에서 관리"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(베타)"</string>
@@ -3741,8 +3836,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"모든 앱"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"설치된 앱"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"인스턴트 앱"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"개인"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"직장"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"앱: 전체"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"사용 중지됨"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"카테고리: 중요도 긴급"</string>
@@ -3754,6 +3847,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"알 수 없는 앱"</string>
     <string name="app_permissions" msgid="8666537659217653626">"권한 관리자"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"<xliff:g id="APPS">%1$s</xliff:g>을(를) 사용하는 앱"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"<xliff:g id="APPS">%1$s</xliff:g> 사용 앱 등"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"탭하여 대기 모드 해제"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"화면 아무 곳이나 두 번 탭하여 기기 대기 모드 해제"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"링크 열기"</string>
@@ -3765,9 +3859,14 @@
       <item quantity="other">앱 <xliff:g id="COUNT">%d</xliff:g>개에서 지원되는 링크를 열 수 있음</item>
       <item quantity="one">앱 1개에서 지원되는 링크를 열 수 있음</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"이 앱에서 열기"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"앱에서 지원되는 링크를 열도록 허용"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"항상 확인"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"이 앱에서 열지 않음"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"앱에서 링크를 열도록 허용하지 않음"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="other">앱에서 링크 <xliff:g id="COUNT_1">%d</xliff:g>개를 처리하려고 합니다.</item>
+      <item quantity="one">앱에서 링크 <xliff:g id="COUNT_0">%d</xliff:g>개를 처리하려고 합니다.</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"앱에서 다음 링크를 처리하려고 함"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"기본"</string>
     <string name="default_for_work" msgid="537558180548617528">"업무용 기본값"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"지원 및 음성 입력"</string>
@@ -3911,8 +4010,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"다른 앱 위에 표시"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"다른 앱 위에 표시 허용"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"이 앱이 사용 중인 다른 앱 위에 표시되도록 허용합니다. 이로 인해 다른 앱 사용에 방해를 받거나 앱의 표시 또는 작동 방식이 변경될 수도 있습니다."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"모든 파일에 액세스"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"모든 파일 관리 허용"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"앱이 이 기기 또는 연결된 모든 저장장치에 있는 파일을 모두 읽고 수정하고 삭제하도록 허용합니다. 권한을 부여하면 앱이 나에게 명시적으로 알리지 않고도 파일에 액세스할 수 있습니다."</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"모든 파일에 액세스 가능"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"VR 가상 현실 리스너 스테레오 도우미 서비스"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"다른 앱 위에 표시 시스템 경고 대화상자 창"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"다른 앱 위에 표시"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"<xliff:g id="COUNT_1">%2$d</xliff:g>개 앱 중 다른 앱 위에 표시하도록 허용된 앱 <xliff:g id="COUNT_0">%1$d</xliff:g>개"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"권한을 가진 앱"</string>
@@ -4078,6 +4180,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"<xliff:g id="ID_1">^1</xliff:g><xliff:g id="ID_2">^2</xliff:g> 사용됨"</string>
     <string name="data_overusage" msgid="3680477320458707259">"<xliff:g id="ID_1">^1</xliff:g> 초과"</string>
     <string name="data_remaining" msgid="6316251496381922837">"<xliff:g id="ID_1">^1</xliff:g> 남음"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"<xliff:g id="START_DATE">%1$s</xliff:g>부터 <xliff:g id="END_DATE">%2$s</xliff:g>까지의 데이터 사용량을 보여 주는 그래프입니다."</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"기간에 해당하는 데이터 없음"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="other">%d일 남음</item>
       <item quantity="one">%d일 남음</item>
@@ -4141,14 +4245,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"소포 크기"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"알림 전송됨"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"소리"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"진동"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"패턴"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"기본값"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"채널"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"없음"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"순위 개체가 없습니다."</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"순위 개체가 이 키를 포함하지 않습니다."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"테마 설정"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"기기 기본값"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"디스플레이 컷아웃"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"디스플레이 컷아웃, 노치"</string>
@@ -4237,8 +4337,12 @@
     <string name="information_label" msgid="6939310810756569298">"정보"</string>
     <string name="low_label" msgid="6525629096999711220">"낮음"</string>
     <string name="high_label" msgid="357503396626018487">"높음"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"감도가 높으면 화면 가장자리의 앱 동작과 충돌할 수 있습니다."</string>
+    <string name="left_edge" msgid="1513576842959071849">"왼쪽 가장자리"</string>
+    <string name="right_edge" msgid="1505309103265829121">"오른쪽 가장자리"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"감도가 높으면 화면 가장자리 앱 동작과 충돌할 수 있습니다."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"뒤로 가기 동작 민감도"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"동작 설정"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"동작 탐색, 뒤로 가기 동작 민감도, 뒤로 가기 동작"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"두 번 탭하여 휴대전화 확인"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"두 번 탭하여 태블릿 확인"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"두 번 탭하여 기기 확인"</string>
@@ -4393,7 +4497,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"Trigger Carrier Provisioning"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"방해 금지 모드 업데이트"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"방해받지 않도록 알림 일시중지"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"이 기기에서 지원하지 않는 기능입니다."</string>
     <string name="disabled_feature" msgid="7151433782819744211">"제공되지 않는 기능"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"이 기능은 휴대전화의 속도를 느리게 하므로 사용 중지되었습니다."</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"전체 GNSS 측정 강제 사용"</string>
@@ -4403,20 +4506,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"ANGLE 사용 앱 선택"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"ANGLE을 사용하도록 설정된 애플리케이션 없음"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"ANGLE 사용 애플리케이션: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"게임 드라이버 환경설정"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"게임 드라이버 설정 수정"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"게임 드라이버가 사용 설정되어 있으면 기기에 설치된 앱에서 업데이트된 그래픽 드라이버를 사용할 수 있습니다."</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"모든 앱에서 사용 설정"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"그래픽 드라이버 선택"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"기본값"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"게임 드라이버"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"출시 전 드라이버"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"시스템 그래픽 드라이버"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"그래픽 드라이버 환경설정"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"그래픽 드라이버 설정 수정"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"그래픽 드라이버가 여러 개 있는 경우 기기에 설치된 앱을 위한 업데이트된 그래픽 드라이버를 선택할 수 있습니다."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"모든 앱에서 사용 설정"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"그래픽 드라이버 선택"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"기본값"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"게임 드라이버"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"개발자 드라이버"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"시스템 그래픽 드라이버"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"앱 호환성 변경사항"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"앱 호환성 변경사항 전환"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"기본적으로 사용 설정된 앱의 변경사항"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"기본적으로 사용 중지된 앱의 변경사항"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"휴대전화에서 지원되지 않는 설정"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"태블릿에서 지원되지 않는 설정"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"기기에서 지원되지 않는 설정"</string>
@@ -4435,6 +4544,12 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"기기"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"통화 중에는 사용할 수 없습니다."</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"사용할 수 없음"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"출력 추가"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"그룹"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"기기 1대 선택됨"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"기기 <xliff:g id="COUNT">%1$d</xliff:g>대 선택됨"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"전화 받기 기능 사용"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"변경할 수 없는 APN입니다."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"태블릿 배터리 수명 향상"</string>
@@ -4552,10 +4667,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"다운로드한 SIM은 한 번에 하나만 활성화할 수 있습니다.\n\n<xliff:g id="CARRIER1">%1$s</xliff:g>(으)로 전환해도 <xliff:g id="CARRIER2">%2$s</xliff:g> 서비스는 취소되지 않습니다."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"<xliff:g id="CARRIER">%1$s</xliff:g>(으)로 전환"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"SIM 삭제"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"이 다운로드한 SIM을 삭제하시겠습니까?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"이 SIM을 삭제하면 이 기기에서 <xliff:g id="CARRIER_0">%1$s</xliff:g> 서비스가 제거됩니다.\n\n<xliff:g id="CARRIER_1">%2$s</xliff:g> 서비스는 취소되지 않습니다."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"삭제"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"SIM 삭제 중…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"SIM을 삭제할 수 없음"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"오류로 인해 이 SIM을 삭제할 수 없습니다.\n\n기기를 재부팅하고 다시 시도하세요."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"기본 네트워크 유형"</string>
@@ -4580,7 +4691,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"잘못된 네트워크 모드(<xliff:g id="NETWORKMODEID">%1$d</xliff:g>)입니다. 무시하세요."</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"액세스 포인트 이름(APN)"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"<xliff:g id="CARRIER">%1$s</xliff:g>에 연결된 경우 사용할 수 없음"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"의학 정보, 비상 연락처"</string>
     <string name="see_more" msgid="7499355691042812723">"더보기"</string>
     <string name="see_less" msgid="2642392725363552793">"간략히 보기"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"<xliff:g id="APPNAME">%1$s</xliff:g>에서 사용할 기기"</string>
@@ -4589,11 +4699,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"문제가 발생했습니다. 애플리케이션에서 기기 선택 요청을 취소했습니다."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"연결되었습니다."</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"모두 표시"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="other">기기 <xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g>대 연결됨</item>
-      <item quantity="one">기기 <xliff:g id="NUMBER_DEVICE_COUNT_0">%1$d</xliff:g>대 연결됨</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"블루투스 기기 없음"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"기기 검색 중…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"기기에 연결하는 중…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"왼쪽"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"오른쪽"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"케이스"</string>
@@ -4603,6 +4710,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"비행기 모드에서는 사용할 수 없음"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"데스크톱 모드 강제 사용"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"보조 디스플레이에서 실험적 데스크톱 모드 강제 사용"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"자유 형식 sizecompat 사용"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"sizecompat 앱에 자유 형식 허용"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"강제로 어둡게 재정의"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"강제로 어둡게 기능을 항상 사용하도록 재정의"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"개인정보 보호"</string>
@@ -4639,6 +4748,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"최근에 이 앱을 설치했습니다."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"출력 전환"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"현재 <xliff:g id="DEVICE_NAME">%1$s</xliff:g>에서 재생 중"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>(연결 끊김)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"전환할 수 없습니다. 다시 시도하려면 탭하세요."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"중요한 정보"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"계속"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"거부"</string>
@@ -4666,8 +4777,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"SIM 조합"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"직장용 정책 정보"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"IT 관리자가 관리하는 설정"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"버그 신고 핸들러"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"어떤 앱이 기기의 버그 신고 바로가기를 처리하는지 정합니다."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"개인"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"직장"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"시스템 기본값"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"선택이 더 이상 유효하지 않습니다. 다시 시도해 보세요."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"전송 중지"</string>
 </resources>
diff --git a/res/values-ky/arrays.xml b/res/values-ky/arrays.xml
index 6b76f24..30e0a59 100644
--- a/res/values-ky/arrays.xml
+++ b/res/values-ky/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"Дароо"</item>
     <item msgid="463591454172790676">"5 секунд"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"Күчүнө киргизилбесин"</item>
+    <item msgid="5703177653586269306">"Тастыктаманын статусун көрсөтүүнү сурануу"</item>
+    <item msgid="326388247868439528">"Тастыктаманын статусун талап кылуу"</item>
+    <item msgid="1090956283885790552">"Бардык ишенимсиз тастыктамалардын статустарын талап кылуу"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"Баскычты басыңыз"</item>
     <item msgid="2630618799033509548">"Туташуучу түзмөктүн PIN\'и"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"Эчтеке жок"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"Алдын ала бөлүшүлгөн ачкычтары бар жана аныктыгы Xauth менен текшерилүчүү IPSec VPN"</item>
     <item msgid="2484564813864139237">"Тастыктамалары бар жана аныктыгы Xauth менен текшерилүчүү IPSec VPN"</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>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"Жок"</item>
diff --git a/res/values-ky/config.xml b/res/values-ky/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-ky/config.xml
+++ b/res/values-ky/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-ky/strings.xml b/res/values-ky/strings.xml
index 04d2d4b..bb5c3fc 100644
--- a/res/values-ky/strings.xml
+++ b/res/values-ky/strings.xml
@@ -31,49 +31,17 @@
     <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="radio_info_data_connection_enable" msgid="7500945447906187613">"Мобилдик туташууну иштетүү"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"Мобилдик туташууну өчүрүү"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"VoLTE шарттаган"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"Видео чалуу камсыздалган"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"Wifi аркылуу чалуу камсыздалган"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"EAB/Катышуу камсыздалган"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"Жарандык радио кызматынын дайындары"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"DSDS\'ти иштетүү"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"Түзмөк өчүп күйсүнбү?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"Бул жөндөөнү өзгөртүү үчүн, түзмөгүңүздү өчүрүп күйгүзүңүз."</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"Өчүрүп күйгүзүү"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"Жок"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"Мобилдик радионун кубаты"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"SIM картадагы дарек китепчесин көрүү"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"Туруктуу терүү номерлерин көрүү"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"Кызматтык терүү номерлерин көрүү"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"IMS кызматынын абалы"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"IMS абалы"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"Катталды"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"Катталган эмес"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"Жеткиликтүү"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"Жеткиликсиз"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"IMS каттоосу: <xliff:g id="STATUS">%1$s</xliff:g>\nLTE аркылуу аудио чалуу: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nWiFi аркылуу аудио чалуу: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nВидео чалуу: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT интерфейс: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"Тейлөө аймагында"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Тейлөө аймагынын сыртында"</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>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"Сенек"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"Шыңгыроодо"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"Чалуу аткарылууда"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"Ажыратылган"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"Туташууда"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"Туташып турат"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Убактылуу токтотулду"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Белгисиз"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"pkts"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"байттар"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"USB сактагыч ажыратылсын"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"SD карта ажыратылсын"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"USB сактагычты тазалоо"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"Экрандагы текстти кичирейтип же чоңойтуңуз."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Кичирээк кылуу"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Чоңураак кылуу"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"Үлгү текст"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"Оз өлкөсүнүн ажайып сыйкырчысы"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"11-бөлүм: Оз өлкөсүнүн ажайып зумурут шаары"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"Бул жөндөөнү өзгөртүү үчүн түзмөгүңүздү өчүрүп күйгүзүңүз."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"Кайра баштоо"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"Жок"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"Жеткиликтүү медиа түзмөктөрү"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"Жеткиликтүү чалуу түзмөктөрү"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"Учурда туташып турган түзмөктөр"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"Медиа түзмөктөр"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"Түзмөктөргө чалуу"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"Башка түзмөктөр"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Сакталган түзмөктөр"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth жупташтыруу үчүн күйгүзүлөт"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Туташуу параметрлери"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"Сиз терген порт жараксыз."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"HTTP прокси серепчи тарабынан колдонулат, бирок башка колдонмолор пайдалана алышпайт."</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"PAC URL: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"Учурдагы көз салуу идентификатору:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"Демейки оператордун SIM картасынын көз салуу идентификатору:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"DL өткөрүү жөндөмдүүлүгү (кб/сек.):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"UL өткөрүү жөндөмдүүлүгү (кб/сек.):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"Уюлдук тармакта жайгашкан жери тууралуу маалымат (жоюлган):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"LTE физикалык каналынын конфигурациясы:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"Уюлдук маалыматты жаңылоо ылдамдыгы:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"Уюлдук чен-өлчөм маалыматтары:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"Мобилдик туташуу кызматы:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"Роуминг:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"Чалуу багытын буруу:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"Күйгүзгөндөн бери баштапкы абалга келтирилген PPP саны:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"Учурдагы тармак:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"Дайындар алынды:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"Үн кызматы:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"Сигналдын күчү:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"Үн менен чалуунун абалы:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"Дайындар жөнөтүлдү:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"Күтүүдөгү билдирүү:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"Телефон номери:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"Радио жыштыгын тандоо"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"Үн кызматынын тармагы:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"Мобилдик тармагынын түрү:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"Телефондун индексин тандоо"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"Тандалган тармак түрүн коюу:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"www.google.com, IPv4 үчүн ping сурамы:"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"www.google.com, IPv6 үчүн ping сурамы:"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"HTTP кардарын сыноо:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"Түйүн байланышын текшерүү каражатын иштетүү"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"Жаңыртуу"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"Жаңылоо"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"DNS текшерүүнү которуштуруу"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"OEM\'ге тиешелүү Маалымат/Жөндөөлөр"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"Радио жыштыгынын режимин коюу"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"Жыштык режиминин тизмеси жүктөлүүдө…"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"Коюу"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"Ийгиликсиз"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"Ийгиликтүү"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"USB туташтыргыч ажыратылганда күчүнө кирет."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"USB көлөмдүү сактагычты иштетүү"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"Жалпы байттар:"</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"Аягына жылдыруу"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"Тилди алып салуу"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"Аракетти тандаңыз"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"Түзмөк маалыматы"</string>
     <string name="display_label" msgid="3056320781191343221">"Экран"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"Планшеттин маалыматы"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"Телефондун маалыматы"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"USB сактагыч"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"SD карта"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"Прокси жөндөөлөрү"</string>
@@ -306,9 +234,6 @@
     <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="cellular_data_title" msgid="8072108204621057526">"Мобилдик Интернет"</string>
-    <string name="calls_title" msgid="6334813967619899114">"Чалууларга уруксат берүү"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"SMS билдирүүлөр"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"Дайындар моб. тармак аркылуу өткөрүлсүн"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"Роуминг учурунда дайындарды пайдаланууга уруксат берүү"</string>
     <string name="roaming" msgid="3055365654530847985">"Роуминг"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"Роуминг учурунда мобилдик Интернетке туташат"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"Жергиликтүү тармагыңыздан интернет-роуминг өчүрүлгөн абалда кеткендиктен Интернет туташуусун жоготтуңуз."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"Аны күйгүзүү"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"Бир топ чыгымдарга дуушар болуп калышыңыз мүмкүн."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"Интернет-роумингди иштетсеңиз, чоң чыгым тартып калышыңыз мүмкүн!\n\nБардык колдонуучулардын жөндөөлөрү өзгөрүлөт."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"Интернет-роумингди иштетсеңиз, чоң чыгым тартып калышыңыз мүмкүн!\n\nБардык колдонуучулардын жөндөөлөрү өзгөрүлөт."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"Роуминг акысын төлөп калышыңыз мүмкүн."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"Интернет-роумингди иштетсеңиз, роуминг үчүн акы төлөп калышыңыз мүмкүн.\n\nБул жөндөө планшеттеги бардык колдонуучуларга карата колдонулат."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"Интернет-роумингди иштетсеңиз, роуминг үчүн акы төлөп калышыңыз мүмкүн.\n\nБул жөндөө телефондогу бардык колдонуучуларга карата колдонулат."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"Интернет-роумингди иштетесизби?"</string>
     <string name="networks" msgid="5184501333492775095">"Оператор тандоо"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"Оператор тандоо"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"Администратор өчүрүп койгон"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"Кулпулоо опциясын көрсөтүү"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"Күйгүзүү/өчүрүү баскычынын менюсуна Smart Lock\'ту, кулпуну биометрикалык ыкма менен ачуу параметрин жана кулпуланган экрандагы билдирмелерди өчүрө турган функция кошулат"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"Ишенимдүү агенттиктерге гана кулпу ачуу"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"Эгер иштетилсе, ишенимдүү агенттиктер түзмөгүңүздү узагыраак убакытка кулпулабай сактап турат, бирок кулпуланган түзмөктү ача албайт."</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"Ишеним жоготулганда экранды кулпулоо"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"Эгер иштетилсе, акыркы ишеним агенти ишеничин жоготкондо, түзмөк кулпуланып калат"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"Жок"</string>
@@ -390,7 +313,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"Жайгашкан жеримди, экрандын кулпусун ачуу ыкмасын, SIM карта кулпусун, аныктоо эстутумунун кулпусун коюу"</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"Жайгашкан жеримди, экран кулпусун ачууну, аныктоо эстутумунун кулпусун коюу"</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"Купуялык"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"Администратор өчүрүп койгон"</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>
@@ -693,7 +616,6 @@
       <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> сандан ашпашы керек</item>
       <item quantity="one"><xliff:g id="NUMBER_0">%d</xliff:g> сандан ашпашы керек</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"0-9 сандарынан гана турушу керек"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"Түзмөктүн администратору акыркы PIN кодду колдонууга тыюу салган"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"Жөнөкөй PIN-коддорду коюу IT администраторуңуз тарабынан бөгөттөлгөн. Татаалыраак PIN-кодду коюп көрүңүз."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"Бул жерде жараксыз белги камтылбашы керек"</string>
@@ -724,6 +646,10 @@
       <item quantity="other">Тамгадан башка кеминде <xliff:g id="COUNT">%d</xliff:g> белги болушу керек</item>
       <item quantity="one">Тамгадан башка кеминде 1 белги болушу керек</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="other">Тамгадан башка кеминде <xliff:g id="COUNT">%d</xliff:g> сандык эмес символ болушу керек</item>
+      <item quantity="one">Тамгадан башка кеминде 1 сандык эмес символ болушу керек</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"Түзмөктүн администратору акыркы сырсөздү колдонууга тыюу салган"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"Жөнөкөй сырсөздөрү коюу IT администраторуңуз тарабынан бөгөттөлгөн. Татаалыраак сырсөздү коюп көрүңүз."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"Сандар чоңойгон, кичирейген же кайталанган ыраатта болбошу керек"</string>
@@ -837,19 +763,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2.4 ГГц"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 ГГц"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"Кирүү"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"Сайтты ачуу"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"<xliff:g id="REMAINING_TIME">%1$s</xliff:g> калды"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"<xliff:g id="EXPIRY_TIME">%1$s</xliff:g> күнү мөөнөтү бүтөт"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"Тармакка кирүү үчүн бул жерди таптаңыз"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Мб/ск"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Мб/ск"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Мб/ск"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"<xliff:g id="REQUESTER">%s</xliff:g> бул түзмөктө WiFi\'ды күйгүзгөнү жатат"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"<xliff:g id="REQUESTER">%s</xliff:g> бул түзмөктө WiFi\'ды өчүргөнү жатат"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"Мүчлштктрдү оңдгуч колд байт-кодун ырсто"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"ART ырастагычына мүчүлүштүктөрдү оңдогуч колдонмолордогу байт-кодду ырастоого уруксат берүү"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"Жаңыртуу иретин көрсөтүү"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Учурдагы дисплейди жаңыртуу иретин көрсөтүү"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"Планшет башка түзмөккө тийгенде берилиштердин алмашуусуна уруксат берүү"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"Телефон башка түзмөккө тийгенде маалымат алмашат"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"Планшет NFC түзмөгүнө тийгенде маалыматты алмашууга уруксат берилет"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"Телефон NFC түзмөгүнө тийгенде маалыматты алмашууга уруксат берилет"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"NFC\'ни күйгүзүү"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"NFC ушул жана башка жакын арадагы түзмөктөрдүн (мисалы, төлөм терминалдары, кабыл алуучу түзмөктөр жана интерактивдүү жарнамалар менен тегдер) ортосунда маалымат алмашууга мүмкүндүк берет."</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"NFC кызматын коопсуздоо"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFC\'ни колдонуу үчүн түзмөктүн кулпусун ачуу талап кылынат"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"Экрандын кулпусу ачылганда гана коомдук унаалар үчүн NFC аркылуу төлөөгө уруксат берүү"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"Дайындар NFC аркылуу өткөрүлөт"</string>
@@ -923,8 +855,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Күйгүзүү"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Wi‑Fi\'ды издөө күйгүзүлдү"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Өркүндөтүлгөн параметрлер"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"Өркүндөтүлгөн параметрлердин ылдый түшүү тизмеги. Жыйыштыруу үчүн эки жолу таптаңыз."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"Өркүндөтүлгөн параметрлердин ылдый түшүү тизмеги. Жайып көрсөтүү үчүн эки жолу таптаңыз."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Өркүндөтүлгөн параметрлердин ылдый түшүүчү тизмеси"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"жайып көрсөтүү"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"Тармактын аталышы"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"SSID киргизиңиз"</string>
     <string name="wifi_security" msgid="9095934643631406913">"Коопсуздук"</string>
@@ -934,6 +866,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"Абалы"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"Байланыш ылдамдыгын берүү"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"Байланыш ылдамдыгын алуу"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"Байланыш ылдамдыгы"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"Жыштык"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"IP дарек"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"Төмөнкү аркылуу сакталган"</string>
@@ -941,6 +874,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"EAP ыкмасы"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"Аныктыктын текшерүүнүн 2-этабы"</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>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"Колдонуучунун тастыктамасы"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"Идентификация"</string>
@@ -957,6 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"Wi‑Fi туташуу түйүнүн иштетүү үчүн кеминде бир жыштыкты тандаңыз:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"IP жөндөөлөрү"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"Купуялык"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"Жазылуу"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"Жазылууну көрүү же өзгөртүү"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"Кокустан тандалган MAC"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"Түзмөк кошуу"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"QR кодду борборго жайгаштырып, түзмөктү \"<xliff:g id="SSID">%1$s</xliff:g>\" тармагына кошуңуз"</string>
@@ -966,12 +902,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"Wi‑Fi\'ды бөлүшүү"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"\"<xliff:g id="SSID">%1$s</xliff:g>\" тармагына туташып, сырсөз менен бөлүшүү үчүн, бул QR кодун скандаңыз"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"\"<xliff:g id="SSID">%1$s</xliff:g>\" тармагына туташуу үчүн, бул QR кодун скандаңыз"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"QR коду окулган жок. Кодду кайра киргизип, кайталаңыз"</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"Кайталап көрүңүз. Эгер маселе чечилбесе, түзмөктү өндүрүүчүгө кайрылыңыз"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"Бир жерден ката кетти"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"Түзмөк розеткага сайылып, кубатталып жана күйүп турганын текшериңиз"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"Түзмөк розеткага сайылып, кубатталып жана күйүп турганын текшериңиз. Эгер маселе чечилбесе, түзмөктү өндүрүүчүгө кайрылыңыз"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"\"<xliff:g id="SSID">%1$s</xliff:g>\" тармагын бул түзмөккө кошууга болбойт"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"Түзмөктү Wi‑Fi байланыш түйүнүнө/роутерге жакын жылдырып көрүңүз"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"Сырсөздү текшерип, кайталап көрүңүз"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"Түзмөктү өндүрүүчүгө кайрылыңыз"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"Туташууну текшерип, кайталап көрүңүз"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"Тармакты тандоо"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"Түзмөктү туташтыруу үчүн тармакты тандаңыз"</string>
@@ -984,11 +922,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"Wi‑Fi бул түзмөк менен бөлүшүлүүдө…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"Туташууда…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"Жалпы байланыш түйүнү"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"Өзүңүздү ырастаңыз"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"Сиз экениңизди ырастаңыз"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"Wi‑Fi сырсөзү: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"Байланыш түйүнүнүн сырсөзү: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"Авто-туташуу"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"Телефонго ушул тармакка автоматтык түрдө туташууга уруксат берүү"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"Планшетке ушул тармакка автоматтык түрдө туташууга уруксат берүү"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"Түзмөк кошуу"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"Түзмөктү бул тармакка кошуу үчүн, QR кодун колдонуңуз"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"QR кодунун форматы жараксыз"</string>
     <string name="retry" msgid="7542103800274026915">"Кайталоо"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"Түзмөктүн башка колдонуучулары менен бөлүшүлсүн"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(өзгөрбөгөн)"</string>
@@ -1000,6 +942,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"Эч тастыктама көрсөтүлгөн жок. Туташууңуз купуя болбойт."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"Тармактын аталышы өтө узун."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"Домен көрсөтүлүшү керек."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"Тастыктама талап кылынат."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"WPS жеткиликтүү"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (WPS жеткиликтүү)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"Оператордун Wi‑Fi тармагы"</string>
@@ -1051,7 +994,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"Илгерилетилген Wi‑Fi"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"MAC дареги"</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_ip_address_title" msgid="4265355419782184514">"IP дарек"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"Тармактын чоо-жайы"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Көмөкчү тармактын маскасы"</string>
@@ -1103,7 +1047,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"Байланыш түйүнү аркылуу Wi‑Fi тармагын түзүңүз. Анын жардамы менен, башка түзмөктөр мобилдик Интернетке туташа алышат. Мобилдик Интернет үчүн кошумча акы алынышы мүмкүн."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"Жакын жердеги түзмөктөр менен мазмунду бөлүшүү үчүн колдонмолор байланыш түйүнү болуп бере алышат."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Байланыш түйүнү автоматтык түрдө өчөт"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"Бир дагы түзмөк туташпаса, Wi‑Fi байланыш түйүнү автоматтык түрдө өчүп калат"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Түзмөктөр туташпай турганда"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"Байланыш түйүнү жандырылууда…"</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"Байланыш түйүнү өчүрүлүүдө…"</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> иштеп жатат"</string>
@@ -1112,6 +1056,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"Wi‑Fi байланыш түйүнүн жөндөө"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"AndroidAP WPA2 PSK байланыш түйүнү"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"AndroidHotspot"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"Тармак сакталсынбы?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"<xliff:g id="APPNAME">%1$s</xliff:g> тармакты телефонуңузга сактаганы жатат"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"<xliff:g id="APPNAME">%1$s</xliff:g> тармакты планшетиңизге сактаганы жатат"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"Сакталууда…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"Сакталды"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"Сакталган жок. Кайталоо."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"Тармактар сакталсынбы?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"<xliff:g id="APPNAME">%1$s</xliff:g> бул тармактарды телефонуңузга сактаганы жатат"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"<xliff:g id="APPNAME">%1$s</xliff:g> бул тармактарды планшетиңизге сактаганы жатат"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"<xliff:g id="NUMBER">%d</xliff:g> тармак сакталууда…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"Тармактар сакталды"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"Wi-Fi чалуу"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"Байланыш аймагын кеңейтүү үчүн Wi-Fi аркылуу чалуу"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"Байланыш аймагын кеңейтүү үчүн Wi-Fi аркылуу чалууну күйгүзүңүз"</string>
@@ -1138,16 +1093,18 @@
     <string name="emergency_address_title" msgid="3490633500025717573">"Өзгөчө кырдаалда кайрыла турган дарек"</string>
     <string name="emergency_address_summary" msgid="3022628750270626473">"WiFi аркылуу өзгөчө кырдаалдар кызматынын номерине чалганыңызда куткаруучуларга жайгашкан жериңиз катары көрсөтүлөт"</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>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"Wi-Fi аркылуу чалууну жандыруу"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"Wi-Fi аркылуу чалууну күйгүзүү"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"%1$s байланыш операторунда Wi-Fi аркылуу чалууга болбойт"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"<xliff:g id="SSID">%1$s</xliff:g> тармагынан ажыратылды"</string>
     <string name="carrier" msgid="1755020806290963951">"Байланыш оператору"</string>
     <string name="display_settings_title" msgid="626835071804834218">"Экран"</string>
     <string name="sound_settings" msgid="5514582720435174014">"Үн"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"Үн бийиктиги"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"Музыка эффектилери"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"Шыңгырдын үнү"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"Шыңгыратуу менен билдирмелердин үнүнүн катуулугу"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"Үнсүз режимде дирилдесин"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"Эскертменин абалкы үнү"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"Шыңгыр"</string>
@@ -1272,13 +1229,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"График"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"Жок"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"Күн баткандан чыкканга чейин"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"Белгиленген убакта күйөт"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"Абалы"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"Өчүк / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"Эч качан автоматтык түрдө күйбөйт"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"Күн батканда автоматтык түрдө күйөт"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"<xliff:g id="ID_1">%1$s</xliff:g> болгондо автоматтык түрдө күйөт"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"Күйүк / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"Эч качан автоматтык түрдө өчпөйт"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"Күн чыкканда автоматтык түрдө өчөт"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"<xliff:g id="ID_1">%1$s</xliff:g> болгондо автоматтык түрдө өчөт"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"<xliff:g id="ID_1">%1$s</xliff:g> чейин күйгүзүлсүн"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"<xliff:g id="ID_1">%1$s</xliff:g> чейин өчүрүлсүн"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"Караңгы тема айрым түзмөктөрдө батареянын кубатын көпкө жеткирүү үчүн кара түстү колдонот. Караңгы тема экран өчкөндө күйөт."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"Экранды автоөчүрүү"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"Экран өчөт"</string>
@@ -1290,7 +1252,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"Тушкагазды өзгөртүп алыңыз"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"Экраныңызды жекелештириңиз"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"Тушкагаз тандоо"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"Pixel\'ди жекечелештирүү"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"Телефонуңузду ыңгайлаштырыңыз"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"Ар кандай стилдерди, тушкагаздарды жана башкаларды көрүңүз"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"Көшөгө"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Кубатталып жатканда же док-станцияга туташканда"</string>
@@ -1379,6 +1341,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"USB сактагычты ажыратып, жеткиликтүү сактагычты көрүү"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"SD картаны ажыратып, жеткиликтүү сактагычты көрүү"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (SIM-карта оюкчасы %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"Көрүү үчүн, сакталган тармакты тандаңыз"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"Телефон номери"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (SIM-карта оюкчасы %1$d)"</string>
@@ -1405,6 +1368,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"Роуминг"</string>
     <string name="status_operator" msgid="4335640583552058491">"Тармак"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"Wi‑Fi MAC дареги"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"Түзмөктүн Wi‑Fi MAC дареги"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"Bluetooth дареги"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Сериялык номери"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Иштеген убакыты"</string>
@@ -1617,6 +1581,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Абалкы APN тууралоолорун кайтаруу аяктады."</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"Кайра коюу опциялары"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"Тармактын, колдонмолордун же түзмөктүн жөндөөлөрүн баштапкы абалга келтирсеңиз болот"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"Колдонмону баштапкы абалга келтирүүгө болот"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"Wi-Fi\'ды, мобилдик түзмөктү жана Bluetooth\'ду баштапкы абалга келтирүү"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"Ушуну менен тармактын бардык жөндөөлөрү баштапкы абалга келет. Тактап айтканда: \n\n"<li>"Wi‑Fi"</li>\n<li>"Мобилдик Интернет"</li>\n<li>"Bluetooth"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"Жүктөп алган SIM’дерди тазалоо"</string>
@@ -1666,6 +1631,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"Байланыш түйүнү күйүк"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"Тетеринг"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"Трафикти үнөмдөө режиминде түзмөктү модем же байланыш түйүнү катары колдонууга болбойт"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"Хотспот гана"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"USB гана"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"Bluetooth гана"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"Хотспот, USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"Хотспот, Bluetooth"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB, Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"Хотспот, USB, Bluetooth"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"Интернет башка түзмөктөр менен бөлүшүлгөн жок"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"Тетеринг"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Wi‑Fi хотспоту колдонулбасыз"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Интернетти USB аркылуу гана бөлүшүү"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Интернетти Bluetooth аркылуу гана бөлүшүү"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Интернетти USB жана Bluetooth аркылуу гана бөлүшүү"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB модем"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"Телефондун Интернетин USB аркылуу бөлүшөсүз"</string>
@@ -1756,9 +1734,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"Коопсуздук маалыматы"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"Учурда сизде мобилдик Интернет жок. Бул маалыматты азыр көрүү үчүн Интернет байланышы бар компьютерден %s баракчасына өтүңүз."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"Жүктөлүүдө…"</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"PIN кодду колдонуу"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"Графикалык ачкычты колдонуу"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"Сырсөз колдонуу"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"Экран кулпусун коюу"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"Коопсуздук үчүн сырсөз коюп алыңыз"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"Манжа изин колдонуу үчүн сырсөздү коюңуз"</string>
@@ -1767,8 +1742,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"Манжа изин колдонуу үчүн PIN кодду коюңуз"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"Коопсуздук үчүн графикалык ачкыч коюп алыңыз"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"Сырсөзүңүздү кайра киргизиңиз"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"Жумуш профилиңиздин сырсөзүн киргизиңиз"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"Графикалык ачкычыңызды ырастаңыз"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"Жумуш профилиңиздин графикалык ачкычын киргизиңиз"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"PIN кодуңузду кайра киргизиңиз"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"Жумуш профилиңиздин PIN кодун киргизиңиз"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"Сырсөздөр дал келген жок"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"PIN коддор дал келген жок"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"Графикалык ачкычты кайрадан тартыңыз"</string>
@@ -1779,6 +1757,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"Жүзүнөн таанууну колдонуу үчүн сырсөз коюңуз"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"Жүзүнөн таанууну колдонуу үчүн графикалык ачкычты жөндөңүз"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"Функцияны колдонуу үчүн PIN код коюңуз"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"Сырсөзүңүздү унутуп койдуңузбу?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"Графикалык ачкычты унутуп койдуңузбу?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"PIN кодуңузду унутуп койдуңузбу?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"Улантуу үчүн түзмөгүңүздүн графикалык ачкычын колдонуңуз"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"Улантуу үчүн түзмөгүңүздүн PIN кодун киргизиңиз"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"Улантуу үчүн түзмөгүңүздүн сырсөзүн киргизиңиз"</string>
@@ -1846,6 +1827,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"Бардк колднмо булактрна урукст"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"Акыркы ачылган колдонмолор"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"<xliff:g id="COUNT">%1$d</xliff:g> колдонмонун баарын көрүү"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"IT администраторуңуз менен байланышыңыз"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"Ал PIN кодду, графикалык ачкычты же сырсөздү кайра коюуга жардам берет"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"Планшетиңиз жана жеке дайын-даректериңиз белгисиз колдонмолордон зыян тартып калышы мүмкүн. Бул булактан келген колдонмолорду орнотуу менен, аларды пайдалануудан улам планшетиңизге кандайдыр бир зыян келтирилсе же дайын-даректериңизды жоготуп алсаңыз, өзүңүз жооптуу болосуз."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"Телефонуңуз жана жеке дайын-даректериңиз белгисиз колдонмолордон зыян тартып калышы мүмкүн. Бул булактан келген колдонмолорду орнотуу менен, аларды пайдалануудан улам телефонуңузга кандайдыр бир зыян келтирилсе же дайын-даректериңизды жоготуп алсаңыз, өзүңүз жооптуу болосуз."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"Түзмөгүңүз жана жеке дайын-даректериңиз белгисиз колдонмолордон зыян тартып калышы мүмкүн. Бул булактан келген колдонмолорду орнотуп, түзмөгүңүзгө кандайдыр бир зыян келтирип алсаңыз же дайын-даректериңизди жоготуп алсаңыз, өзүңүз жооптуу болосуз."</string>
@@ -1897,7 +1880,7 @@
     <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="1377296810290814749">"Ушуну менен төмөнкү жөндөөлөр жоюлат:\n\n"<li>"Өчүрүлгөн колдонмолор"</li>\n<li>"Өчүрүлгөн колдонмолордун билдирмелери"</li>\n<li>"Демейки колдонмолор"</li>\n<li>"Фондук дайындарга коюлган чектөөлөр"</li>\n<li>"Бардык уруксат чектөөлөрү"</li>\n\n"Колдонмолордун дайындары жоголбойт."</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>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"Баштапкы абалга келтирүү"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"Бош орунду башкаруу"</string>
     <string name="filter" msgid="9039576690686251462">"Чыпка"</string>
@@ -2097,7 +2080,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"Аудио жана текстти окуп берүү"</string>
     <string name="display_category_title" msgid="6638191682294461408">"Көрүнүшү"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"Башкаруу элементтери"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"Жүктөлүп алынган кызматтар"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"Жүктөлүп алынган колдонмолор"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"Сынамык"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"Функцияларды белгилөө"</string>
     <string name="talkback_title" msgid="8756080454514251327">"Talkback"</string>
@@ -2105,27 +2088,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"Экраныңыздагы элементтерди түзмөк окуп бериши үчүн аларды таптап коюңуз"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"Коштомо жазуулардын жеке жөндөөлөрү"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"Чоңойтуу"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"Чоңойтуу аймагы"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"Чоңойтууну иштетүү"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"Экранды чоңойтуп жатканда чоңойтула турган аймакты(тарды) тандаңыз"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"Толук экран"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"Экрандын бир бөлүгү"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"Толук экран жана экранды бир бөлүгү"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"Толук экранды чоңойтуу"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"Экрандын бир бөлүгүн чоңойтуу"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Чоңойтуу жөндөөлөрү"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"Үч жолу таптап чоңойтуу"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Ыкчам баскыч менен чоңойтуу"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Ыкчам баскыч жана үч жолу таптоо менен чоңойтуу"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"<xliff:g id="SERVICE">%1$s</xliff:g> жөнүндө"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"Параметрлер"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"Экранды чоңойтуу"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"Өлчөмүн өзгөртүү үчүн 3 жолу таптаңыз"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Чоңойтуп/кичирейтүү үчүн баскычты басыңыз"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><b>"Чоңойтуу үчүн"</b>" экранды бир манжаңыз менен 3 жолу бат-бат таптаңыз.\n"<ul><li>"Эки манжаңыз менен сыдырып карасаңыз болот."</li>\n<li>"Масштабын тууралоо үчүн эки манжаңызды бириктирип жана ажыратыңыз."</li></ul>\n\n<b>"Ал эми убактылуу чоңойтуу үчүн"</b>" экранды 3 жолу бат-бат таптап, үчүнчүсүндө манжаңызды басып туруңуз.\n"<ul><li>"Көрүнүштүн экранга батпаган жерлерин ары-бери сүйрөп карасаңыз болот."</li>\n<li>"Кичирейтүү үчүн манжаңызды көтөрүп коюңуз."</li></ul>\n\n"Баскычтоптон же чабыттоо тилкесинен чоңойто албайсыз."</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"Бул функциянын жардамы менен, экрандагы нерсени чоңойтуп, кичирейте аласыз.\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_screen_magnification_summary" msgid="7617931632990040045">"Мазмунду так көрүү үчүн экранды тез чоңойтуу.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Чоңойтуу үчүн:&lt;/b&gt;&lt;br/&gt;	1. Чоңойтуу үчүн ыкчам баскычты колдонуңуз&lt;br/&gt;	2. Экранды таптапңыз&lt;br/&gt;	3. Экранды 2 манжаңыз менен жылдырыңыз&lt;br/&gt;	4. Чоңойтуп/кичирейтүү үчүн эки манжаңызды бириктириңиз&lt;br/&gt;	5. Чоңойтууну токтотуу үчүн ыкчам баскычты колдонуңуз&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Убактылуу чоңойтуу үчүн:&lt;/b&gt;&lt;br/&gt;	1. Чоңойтуу үчүн ыкчам баскычты колдонуңуз&lt;br/&gt;	2. Экрандын бир жерин коё бербей басып туруңуз&lt;br/&gt;	3. Экрандын ар кайсы тараптарын көрүү үчүн манжаңыз менен сүрүңүз&lt;br/&gt;	4. Чоңойтууну токтотуу үчүн манжаңызды көтөрүңүз"</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Бул функциянын жардамы менен, экрандагы нерсени чоңойтуп, кичирейте аласыз.\n\n"<b>"Чоңойткуңуз келсе"</b>", кызматты иштетип туруп, экрандын бир жерин басыңыз.\n"<ul><li>"Чоңойгон жерди ары-бери жылдырып көргүңүз келсе, экранды эки же үч манжаңыз менен сүрүңүз."</li>\n<li>"Чоңойтуп/кичирейтүү үчүн эки же үч манжаңызды бириктирип/ажыратыңыз."</li></ul>\n\n<b>"Убактылуу чоңойтуп/кичирейтүү үчүн"</b>" кызматты иштетип, экрандын бир жерин коё бербей басып туруңуз.\n"<ul><li>"Экранды жылдырып көрүү үчүн аны манжаңыз менен сүрүңүз."</li>\n<li>"Кызматты өчүрүү үчүн манжаңызды көтөрүңүз."</li></ul>\n\n"Баскычтопто же чабыттоо тилкесинде көрүнүш чоңойбойт."</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Ачуу үчүн Атайын мүмкүнчүлүктөр баскычын басыңыз"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Ачуу үчүн жаңсаңыз"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"Жаңы атайын мүмкүнчүлүктөр жаңсоосун колдонуңуз"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"Кызматты күйгүзүү же өчүрүү үчүн экрандын ылдый жагындагы атайын мүмкүнчүлүктөр баскычын<xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>таптап коюңуз.\n\nКызматтарды которуштуруу үчүн Атайын мүмкүнчүлүктөр баскычын басып, кармап туруңуз."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"Кызматты күйгүзүү же өчүрүү үчүн экранды эки манжаңыз менен ылдый жагынан өйдө көздөй сүрүңүз.\n\nКызматтарды которуштуруу үчүн эки манжаңыз менен өйдө сүрүп, кармап туруңуз."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"Кызматты күйгүзүү же өчүрүү үчүн экранды үч манжаңыз менен ылдый жагынан өйдө көздөй сүрүңүз.\n\nКызматтарды которуштуруу үчүн үч манжаңыз менен өйдө сүрүп, кармап туруңуз."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"Атайын мүмкүнчүлүктөр кызматын күйгүзүү же өчүрүү үчүн экранды эки манжаңыз менен ылдый жагынан өйдө көздөй сүрүңүз.\n\nКызматтарды которуштуруу үчүн эки манжаңыз менен өйдө сүрүп, кармап туруңуз."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"Атайын мүмкүнчүлүктөр кызматын күйгүзүү же өчүрүү үчүн экранды үч манжаңыз менен ылдый жагынан өйдө көздөй сүрүңүз.\n\nКызматтарды которуштуруу үчүн үч манжаңыз менен өйдө сүрүп, кармап туруңуз."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"Кызматты күйгүзүү же өчүрүү үчүн экрандын ылдый жагындагы атайын мүмкүнчүлүктөр баскычын<xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>таптап коюңуз.\n\nКызматтарды которуштуруу үчүн Атайын мүмкүнчүлүктөр баскычын басып, кармап туруңуз."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"Кызматты күйгүзүү же өчүрүү үчүн экранды эки манжаңыз менен ылдый жагынан өйдө көздөй сүрүңүз.\n\nКызматтарды которуштуруу үчүн эки манжаңыз менен өйдө сүрүп, кармап туруңуз."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"Кызматты күйгүзүү же өчүрүү үчүн экранды үч манжаңыз менен ылдый жагынан өйдө көздөй сүрүңүз.\n\nКызматтарды которуштуруу үчүн үч манжаңыз менен өйдө сүрүп, кармап туруңуз."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"Атайын мүмкүнчүлүктөр кызматын күйгүзүү же өчүрүү үчүн экранды эки манжаңыз менен ылдый жагынан өйдө көздөй сүрүңүз.\n\nКызматтарды которуштуруу үчүн эки манжаңыз менен өйдө сүрүп, кармап туруңуз."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"Атайын мүмкүнчүлүктөр кызматын күйгүзүү же өчүрүү үчүн экранды үч манжаңыз менен ылдый жагынан өйдө көздөй сүрүңүз.\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="2820923641553461297">"Атайын мүмкүнчүлүктөр баскычы"</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="8922102767509399352">"Экрандын төмөн жагында жайгашкан <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> атайын мүмкүнчүлүктөр баскычын басыңыз"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"2 манжаңыз менен экрандын ылдый жагынан өйдө карай сүрүңүз"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"3 манжаңыз менен экрандын ылдый жагынан өйдө карай сүрүңүз"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Үн деңгээлинин баскычтарын басуу"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"Үнүн чоңойтуп/кичирейтүү баскычтарын 1 секунд коё бербей басып туруңуз"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Экранды үч жолу басыңыз"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"Экранды 3 жолу тез таптаңыз. Бул ыкчам баскыч түзмөгүңүздү жайлатышы мүмкүн."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"Өркүндөтүлгөн"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"Атайын мүмкүнчүлүктөр баскычы <xliff:g id="SERVICE">%1$s</xliff:g> кызматы үчүн коюлган. Чоңойтуу функциясын колдонуу үчүн, Атайын мүмкүнчүлүктөр баскычын басып, кармап туруңуз да, чоңойтуу функциясын тандаңыз."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"Атайын мүмкүнчүлүктөр жаңсоосу <xliff:g id="SERVICE">%1$s</xliff:g> функциясына коюлду. Масштабын чоңойтуу үчүн эки манжаңыз менен экрандын ылдый жагынан өйдө карай сүрүп, кармап туруңуз. Андан соң чоңойтууну тандаңыз."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"Үн деңгээлинин баскычтары"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"Кызматты ыкчам иштетүү"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Ыкчам баскычтардын жөндөөлөрү"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"Кулпуланган экранда иштетүү"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"Атайын мүмкүнчүлүктөр функциясын пайдалануу үчүн, ал күйгүзүлгөндө, үндү катуулатып/акырындаткан эки баскычты тең үч секунддай кое бербей басып туруңуз."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"Жогорку контрасттагы текст"</string>
@@ -2149,24 +2157,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"Автоматтык түрдө жоголуп кетүүчү билдирүүлөрдөгү аракеттерди аткарууга канча убакыт керектелерин көрсөтүңүз.\n\nБул параметр айрым колдонмолордо иштебейт."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"Коё бербей басып туруу узактыгы"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"Түстү инверсиялоо"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"Түзмөктүн иштешине кедергисин тийгизиши мүмкүн"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"Кечигүү убакыты"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"Түстү инверсиялоону колдонуу"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"Түстү инверсиялоо экрандагы жарыкты караңгылатат. Жарык экрандарды караңгылатып, көздөрү жарыкка сезгич адамдарга көрүүнү жеңилдетет.&lt;br/&gt;&lt;br/&gt;Эскертүү: караңгы түстөр жарык болуп көрүнөт. Медиа файлдардын жана сүрөттөрдүн түстөрү өзгөрөт. Ошондой эле Караңгы теманы колдонсоңуз болот (Жөндөөлөр жана Дисплей)."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"Автоматтык түрдө чыкылдатуу (кечигүү убакыты)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"Эгер чычканды колдонуп жатсаңыз, ал бир нече убакытка кыймылсыз турганда автоматтык түрдө иштегендей кылып жөндөңүз."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"Баскыч басылганга чейин кармалган убакыт"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"Авто-чыкылдатуу колдонулбасын (демейки)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"Кыска"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0,2 секунд"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"Орто"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0,6 секунд"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"Узун"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 секунд"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"Ыңгайлаштырылган"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"Кыскараак"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"Узагыраак"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"Авто-чыкылдатуу убакыты"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"Дирилдөө жана сенсордук күч"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Билдирменин дирилдөөсү"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Шыңгырдын дирилдөөсү"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Басып жооп берүү"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"Кызматты колдонуу"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g> колдонмосун пайдалануу"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g> ачуу"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"Түсүн тууралоону иштетүү"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"Коштомо жазууларды иштетүү"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"Коштомо жазууларды көрсөтүү"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"Коштомо жазуунун көрүнүшү"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"Тексттин өлчөмү, коштомо жазуунун стили"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"Көбүрөөк параметрлер"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"Бул жөндөө айрым колдонмолордо иштебейт."</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>
     <string name="accessibility_hearingaid_instruction_continue_button" msgid="3367260988024430722">"Улантуу"</string>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"Угуу аппараттары"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"Бир да угуу аппараты туташкан эмес"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"Угуу аппараттарын кошуу"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"Угуу аппаратыңызды туташтыруу үчүн кийинки экранда аталышын басыңыз."</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"Угуу аппараттарыңыз жупташтыруу режиминде экенин текшериңиз."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"Угуу аппаратыңызды туташтыруу үчүн кийинки экранда аталышын басыңыз. Угуу аппараттарыңыз туташуу режиминде болушу керек."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> жандырылган"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> угуу аппараты сакталган</item>
@@ -2178,25 +2204,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Бул кызмат туура эмес иштеп жатат."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Ылдам тууралоолор абалында көргөзүү"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"Тууралоо режими"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="other">Өтө кыска убакытка кечиктирүү (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мс)</item>
-      <item quantity="one">Өтө кыска убакытка кечиктирүү (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> мс)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Кызыл-жашыл"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"Кызыл-жашыл"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Көк-сары"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"Дейтераномалия"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"Протаномалия"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"Тританомалия"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="other">Өзгөчө кыска убакытка кечиктирүү (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунд)</item>
+      <item quantity="one">Өзгөчө кыска убакытка кечиктирүү (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> секунд)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="other">Аябай кыска убакытка кечиктирүү (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мс)</item>
-      <item quantity="one">Аябай кыска убакытка кечиктирүү (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> мс)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="other">Өтө кыска убакытка кечиктирүү (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунд)</item>
+      <item quantity="one">Өтө кыска убакытка кечиктирүү (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> секунд)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="other">Кыска убакытка кечиктирүү (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мс)</item>
-      <item quantity="one">Кыска убакытка кечиктирүү (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> мс)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="other">Кыска убакытка кечиктирүү (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунд)</item>
+      <item quantity="one">Кыска убакытка кечиктирүү (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> секунд)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="other">Узакка кечиктирүү (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мс)</item>
-      <item quantity="one">Узакка кечиктирүү (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> мс)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="other">Узак убакытка кечиктирүү (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунд)</item>
+      <item quantity="one">Узак убакытка кечиктирүү (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> секунд)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="other">Өтө узакка кечиктирүү (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мс)</item>
-      <item quantity="one">Өтө узакка кечиктирүү (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> мс)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="other">Өтө узак убакытка кечиктирүү (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунд)</item>
+      <item quantity="one">Өтө узак убакытка кечиктирүү (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> секунд)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунд</item>
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> секунд</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"Шыңгыратуу <xliff:g id="SUMMARY_RING">%1$s</xliff:g>, билдирме <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>, басуу <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"Кимдир-бирөө чалганда жана билдирмелер келгенде дирилдебейт"</string>
@@ -2513,7 +2549,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"Акыркы жолу суурулгандан бери <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"Жалпы колдонулушу"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"Жаңылоо"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"Android OS"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"Медиа сервер"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"Колдонмону оптималдаштыруу"</string>
     <string name="battery_saver" msgid="7737147344510595864">"Батареяны үнөмдөгүч"</string>
@@ -2594,8 +2629,7 @@
     <string name="tts_play" msgid="2945513377250757221">"Угуу"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"Каттоо маалыматы сакталган жер"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"Сактагычтан орнотуу"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"SD картадан орнотуу"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"Тастыктаманы орнотуу"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"Тастыктамалар сактагычтан орнотулат"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"Тастыктамаларды SD картадан орнотуу"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"Эсептик дайындарды тазалоо"</string>
@@ -2615,6 +2649,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"Каттоо маалыматы сакталган жер тазаланды."</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"Сертификат сактагычты тазалоо мүмкүн эмес."</string>
     <string name="usage_access_title" msgid="1580006124578134850">"Пайдалануу уруксаты бар колдн."</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"Тастыктоочу борбордун (ТБ) тастыктамасы"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"VPN жана колдонуучунун тастыктамасы"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"Wi‑Fi тастыктамасы"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"Купуялыгыңызга коркунуч жаралууда"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"Тастыктоочу борбордун (ТБ) тастыктамалары вебсайттарда, колдонмолордо жана VPN\'дерде шифрлөө үчүн колдонулат. Ишенимдүү уюмдардын Тастыктоочу борборлорунун (ТБ) тастыктамаларын гана колдонуңуз. \n\n Эгер Тастыктоочу борбордун (ТБ) тастыктамасын орнотуп алсаңыз, тастыктаманын ээси маалымат шифрленген болсо да, вебсайттарга жана колдонмолорго кирүү үчүн колдонгон сырсөздөр, билдирүүлөр же насыя картасынын чоо-жайы сыяктуу маалыматты көрө алат."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"Орнотулбасын"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"Баары бир орнотулсун"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"Тастыктама орнотулган жок"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"Шашылыш чалуу сигналы"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Шашылыш чалуу аткарылганда көрүлчү аракетти коюу"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Камдык көчүрмөнү сактоо"</string>
@@ -2642,10 +2684,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"Өчүрүп, түзмөктөн чыгарып салуу"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"Түзмөктү башкарган колдонмолор"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"Түзмөктү башкарган колдонмолор жок"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"Жеке"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"Жумуш"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"SMS жана чалуулар таржымалын колдонууну чектөө"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"SMS жана чалуулар таржамалын телефондогу демейки чалуу жана жазышуу колдонмолору гана колдоно алышат"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"Учурда ишеним агенттери жок"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"Түзмөктү башкарган колдонмо"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"Түзмөктү башкарган колдонмону иштетүү"</string>
@@ -2659,6 +2697,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"Башка параметрлер администратор тарабынан өчүрүлгөн"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"Көбүрөөк маалымат"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"Билдирмелер таржымалы"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"Билдирмелердин таржымалы"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"Бүгүн"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"Тындырылды"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"Жакында четке канылды"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> билдирме</item>
+      <item quantity="one"><xliff:g id="NUMBER_0">%d</xliff:g> билдирме</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"Чалуу конгуроосу жана титирөө"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"Тармактын чоо-жайы"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"Синхрондоштуруу жандырылган"</string>
@@ -3008,7 +3054,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"Чектөөлөр"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"Чектөөлөрдү жок кылуу"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"PIN алмаштыруу"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"Эскертүүнү көргөзүү"</string>
     <string name="help_label" msgid="2896538416436125883">"Жардам/пикир билдирүү"</string>
     <string name="support_summary" msgid="1034146931237148885">"Жардам макалалары, телефон жана чат аркылуу колдоо көрсөтүү"</string>
     <string name="user_account_title" msgid="6389636876210834864">"Мазмун үчүн аккаунт"</string>
@@ -3033,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G аркылуу чалуу"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Байланыштын сапатын жакшыртуу үчүн LTE кызматтары колдонулат (сунушталат)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Үн жана башка байланыштарды жакшыртуу үчүн, 4G кызматтарын пайдаланыңыз (сунушталат)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Байланышты табуу"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Операторго байланыштар кайсы чалуу функцияларын колдонуп жатканын билүүгө жардам берет."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Байланышты табуу иштетилсинби?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Бул функцияны иштетүү менен, оператор байланыштарыңызга кирип, алар кайсы чалуу функцияларын колдонуп жатканын көрөт."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Тармактын түрү"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (сунушталат)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS билдирүүлөр"</string>
@@ -3077,7 +3126,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"Төмөнкү менен чалуу"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"SIM карта тандаңыз"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"SIM <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"SIM бош"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"SIM аталышы"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"SIM аталышын киргизиңиз"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"SIM оюкчасы %1$d"</string>
@@ -3087,6 +3135,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"SIM карта тандаңыз"</string>
     <string name="color_orange" msgid="216547825489739010">"Кызгылт сары"</string>
     <string name="color_purple" msgid="6603701972079904843">"Кызгылт көгүш"</string>
+    <string name="color_pink" msgid="8596872110888626708">"Кызгылтым"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"SIM карта кыстарылган эмес"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"SIM абалы"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"SIM-картанын абалы (SIM-карта оюкчасы %1$d)"</string>
@@ -3100,7 +3149,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"SIM-карталар алмаштырылды."</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Жөндөө үчүн таптаңыз"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"Төмөнкү үчүн тандалган SIM"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Чалган сайын сурасын"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Тандоо керек"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"SIM-картаны тандоо"</string>
@@ -3118,6 +3166,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"Bluetooth, айдоо режими"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"Bluetooth, NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"Bluetooth"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"Жеткиликсиз, анткени NFC өчүк"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"Колдонмолор/билдирмелер"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Акыркы колдонмолор, демейки колдонмолор"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Жумуш профилиндеги колдонмолордо билдирмелерди иштетүү мүмкүн эмес."</string>
@@ -3128,13 +3177,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"Жөндөөлөр"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"wifi, wi-fi, тармак туташуусу, интернет, зымсыз, дайындар, wi fi"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"Wi‑Fi билдирме, wifi билдирме"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"трафиктин сарпталышы"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"Дирилдөөнү токтотуу, таптап коюу, баскычтоп"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"24 сааттык форматты колдонуу"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"Жүктөп алуу"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"Төмөнкү менен ачуу:"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"Колдонмолор"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"убакыт алкагы"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"Chat колдонмосун биринчи көрсөтүү"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"Chat колдонмосун биринчи көрсөтүү, тутум, эскертүү, терезе, диалог, дисплей, башка колдонмолордун үстүндө, тартуу"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"Жарк этме , Жарык, Колчырак"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"wifi, wi-fi, өчүрүү/күйгүзүү, көзөмөлдөө"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"уюлдук, мобилдик түзмөк, байланыш оператору, зымсыз, дайындар, 4g, 3g, 2g, lte"</string>
@@ -3158,7 +3208,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"тынчымды алба, үзүү, үзгүлтүккө учуроо, тыныгуу"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"жакын, жайгашкан жер, таржымал, кабар берүү, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"аккаунт"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"аккаунт, аккаунт кошуу, жумуш профили, аккаунт кошуу"</string>
     <string name="keywords_users" msgid="3497517660077620843">"чектөө, чектөө, чектелген"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"текст тууралоо, туура, добуш, дирилдөө, авто, тил, жаңсоо, сунуштоо, сунуш, тема, адепсиз, сөз, түрү, быйтыкча, эларалык"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"баштапкы абалга келтирүү, жеке жөндөөлөр, демейки"</string>
@@ -3196,6 +3246,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"эстутум, кеш, дайындар, жок кылуу, тазалоо, акысыз, орун"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"туташкан, түзмөк, гарнитура, гарнитура, динамик, зымсыз, жупташтыруу, кулаккаптар, музыка, медиа"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"фон, экран, кулпуланган экран, тема"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"сүрөтчөнүн формасы, басымдуу түс, арип"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"демейки, жардамчы"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"төлөм, демейки"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"кирүүчү эскертме"</string>
@@ -3205,18 +3256,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"сенсорлор, дирилдөө, сезгичтик"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"батареяны үнөмдөгүч, кадалган, үнөмдөө, кубатты үнөмдөгүч, батарея"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"тартип, ырааттама, батареяны үнөмдөгүч режими, батареяны үнөмдөгүч, батаеря, автоматтык түрдө, пайыз"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"жумуш профили"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"volte, өркүндөтүлгөн чалуу, 4g чалуу"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"тил кошуу, тил кошуу"</string>
     <string name="default_sound" msgid="6604374495015245195">"Демейки үн"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"Шыңгырдын катуулугу <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"Шыңгыратуу менен билдирмелердин үнүнүн катуулугу <xliff:g id="PERCENTAGE">%1$s</xliff:g> коюлду"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Үн деңгээли, дирилдөө, \"Тынчымды алба\" режими"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"Коңгуроо дирилдейт"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"Коңгуроонун үнү өчүрүлгөн"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"Шыңгырдын катуулугу 80%"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"Шыңгыратуу менен билдирмелердин үнүнүн катуулугу 80% коюлду"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Мультимедианын үнү"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Үндү алыстан башкаруу"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"Чалуунун үнү"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"Ойготкучтун үнү"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"Шыңгырдын үнү"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"Шыңгыратуу менен билдирмелердин үнүнүн катуулугу"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"Эскертме үнүнүн катуулугу"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"Телефондун шыңгыры"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"Билдирменин демейки үнү"</string>
@@ -3224,6 +3276,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"Билдирменин демейки добушу"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"Ойготкучтун демейки үнү"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"Чалуу учурунда дирилдөө"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"Эч качан дирилдебесин"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"Ар дайым дирилдесин"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"Алгач дирилдеп, анан акырындык менен шыңгырасын"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"Башка үндөр"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"Номерлерди тергенде үн чыксын"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"Экран кулпуланганда үн чыксын"</string>
@@ -3247,6 +3302,7 @@
       <item quantity="one">1 ырааттама иштетилди</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Тынчымды алба"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Маанилүү байланыштар менен колдонмолордон гана билдирмелерди алуу"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Билдирмелерди чектөө"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"\"Тынчымды алба\" режимин күйгүзүү"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"Өзгөчө учурлар:"</string>
@@ -3273,7 +3329,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Визуалдык билдирмелерди бөгөттөө"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Визуалдык сигнал иштетилсин"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"\"Тынчымды алба\" режими күйүп турганда"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"Үнү чыккан билдирмелерге уруксат берүү"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"Билдирмелерди чектөө"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Билдирмелердин добушу чыкпайт"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"Билдирмелерди экранда көрөсүз"</string>
@@ -3304,7 +3360,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"Үн жана дирилдөө"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"Үндөр, дирилдөөлөр жана айрым визуалдык сигналдар"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"Үндөр, дирилдөөлөр жана визуалдык сигналдар"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"Телефондун негизги аракеттери үчүн керек болгон билдирмелер менен статус эч качан жашырылбайт."</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"Телефондун негизги аракеттери үчүн керек болгон билдирмелер менен статус эч качан жашырылбайт."</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"Жок"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"башка параметрлер"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"Кошуу"</string>
@@ -3334,10 +3390,12 @@
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> ырааттама автоматтык түрдө иштетилет</item>
       <item quantity="one">1 ырааттама автоматтык түрдө иштетилет</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"Түзмөктүн үнүн басып, бирок өзгөчө жөндөөлөргө уруксат берүү"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"Өзгөчө учурлар"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"Ырааттама"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"Өзгөчө учурларды көрүү"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"\"Тынчымды алба\" режими күйүп тургандагы өзгөчө учурлар"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"Байланыштар"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"Колдонмолор"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"Ойготкучтар жана башка билдирмелер"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"Графиктер"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"Үнү өчүрүлгөн билдирмелер"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"\"Тынчымды алба\" режими күйүп турганда, жогоруда сиз уруксат берген нерселерден тышкары нерселердин үнү чыкпайт жана дирилдебейт."</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"Төмөнкүлөрдөн тышкары баарынын үнүн басуу:"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"Үнүн басуу"</string>
@@ -3381,18 +3439,28 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"Ыңгайлаштырылуучу билдирмелер"</string>
     <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_capabilities_actions_replies_title" msgid="4392470465646394289">"Сунушталган аракеттер жана жооптор"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"Сунушталган аракеттер менен жооптор автоматтык түрдө көрүнөт"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"Эски жана тындырылган билдирмелерге көз салуу үчүн билдирмелердин таржымалын күйгүзүңүз"</string>
+    <string name="notification_history" msgid="8663811361243456201">"Билдирмелердин таржымалы"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"Таржымалды күйгүзүү"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"Таржымалды өчүрүү"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"Билдирмелердин таржымалы өчүк"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"билдирмелердин жөндөөлөрүн көрүү"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Билдирмени тындырууга уруксат берүү"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"Маанилүү эмес билдирмелердин сүрөтчөлөрүн жашыруу"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"Маанилүү эмес билдирмелердин сүрөтчөлөрү абал тилкесинде көрүнбөйт"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"Билдирмелердин белгилери көрүнсүн"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"Акыркы жазышуулардын тилкесин көрсөтүү"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Калкып чыкма билдирмелер"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"Айрым билдирмелер экранда көбүк катары көрсөтүлөт"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"Айрым билдирмелер экранга калкып чыкма кеңештер түрүндө көрүнөт. Аны ачуу үчүн басып коюңуз. Ал эми жашыруу үчүн, экрандын төмөн жагына сүйрөп барыңыз."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Калкып чыкма билдирмелер"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"Жаңы билдирүүлөр экранда көрүнөт"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"<xliff:g id="APP_NAME">%1$s</xliff:g> колдонмосуна айрым билдирмелерди калкып чыкма кеңеш катары көрсөтүүгө уруксат берүү"</string>
-    <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"Калкып чыкма билдирмелерди күйгүзүү"</string>
+    <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"Көбүктөрдү күйгүзүү"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"Бул колдонмо үчүн көбүктөрдү күйгүзүү үчүн, алгач көбүктөрдү түзмөгүңүз үчүн күйгүзүшүңүз керек. Бул аракет көбүктөр мурун күйгүзүлгөн башка колдонмолорго таасирин тийгизет."</string>
     <string name="bubbles_feature_disabled_button_approve" msgid="597665528889599104">"Түзмөк үчүн күйгүзүңүз"</string>
     <string name="bubbles_feature_disabled_button_cancel" msgid="8963409459448350600">"Жок"</string>
@@ -3408,6 +3476,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"Тигинен жайгашкан экранда жана кулпуланган экранда чагылдыруу"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"Тигинен жайгашкан экранда жана абал тилкесинде чагылдыруу"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"Тигинен жайгашкан экранда, абал тилкесинде жана кулпуланган экранда чагылдыруу"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"Үнсүз билдирмелерди абал тилкесинен жашыруу"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"Жарык индикатору"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"Кулпуланган экран"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"Экран кулпуcун өткөрүп жиберүү"</string>
@@ -3438,6 +3507,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"Аракеттер"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"Добуш чыгарууга уруксат берүү"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"Билдирмелер эч качан көрүнбөсүн"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"Жазышуулар"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"Жазышуу"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"Жазышуу эмес"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"Жазышуу бөлүмүнөн алып салуу"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"Бул жазышуу"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"Жазышуу бөлүмүнө кошуу"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"Жазышууларды башкаруу"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"Маанилүү жазышуулар"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"Бардык жазышуулар"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"Маанилүү жазышуулар калкып чыкма билдирмелер түрүндө көрүнсүн"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"Маанилүү жазышуулар билдирмелер тактасынын жогору жагында көрүнөт. Ошондой эле аларды калкып чыкма билдирмелер түрүнө \"Тынчымды алба\" режиминде көрсөтүлгөндөй кылып жөндөй аласыз."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"Үнсүз жана кичирейтип көрсөтүү"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"Үнсүз көрсөтүлсүн"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"Үн чыгат"</string>
@@ -3456,7 +3536,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"Үн же дирилдөөсүз ой топтоого жардам берет"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"Билдирүүдөн үн чыгат же дирилдейт"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"Телефон кулпуланып турганда, билдирмелер экрандын жогору жагында баннер түрүндө көрүнөт"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"Билдирмелер көрүнсүн"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"<xliff:g id="APP_NAME">%1$s</xliff:g> колдонмосунун бардык билдирмелери"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"Ыңгайлаштырылуучу билдирмелер"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="other">күнүнө болжол менен <xliff:g id="NUMBER_1">%d</xliff:g> билдирме</item>
@@ -3477,6 +3557,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"Ыңгайлаштырылуучу билдирмелер"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"Жок"</string>
     <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="3119843404577399036">"<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>
@@ -3538,8 +3619,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"Бүттү"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"Маанилүүлүгү"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"Жарык индикатору"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"Дирилдесин"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"Дирилдөө"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"Добуш"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"Маанилүү"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"Башкы экранга кошуу"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"Жок кылуу"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"Аталышын өзгөртүү"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"Ырааттаманын аталышы"</string>
@@ -3593,6 +3676,10 @@
       <item quantity="other">Башка <xliff:g id="NUM_PEOPLE">%d</xliff:g> байланыш</item>
       <item quantity="one">Башка 1 байланыш</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Жазышуулар"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"Бардык жазышуулардан"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"Маанилүү жазышуулардан"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"Бардык жазышууларга тыюу салуу"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"Билдирүүлөргө уруксат берүү"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"Маанилүү билдирүүлөрдү өткөрүп жибербеш үчүн түзмөгүңүздүн үнүн чыгарып коюңуз же дирилдөөнү иштетиңиз."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"\"<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>\" эрежеси иштетилгенде, билдирүүлөр алынбайт. Достордун, үй-бүлө мүчөлөрүнүн же башка тааныштарыңыздын билдирүүлөрүн алуу үчүн жөндөөлөрдү тууралап алыңыз."</string>
@@ -3606,15 +3693,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"Эч бир"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"Чалууларга тыюу салуу"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"Бардык билдирүүлөргө тыюу салынат"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"Ойготкучтарга уруксат берүү"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"Ойготкучтар"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"Таймерлерден, ойготкучтардан, коопсуздук тутумдарынан жана башка колдонмолордон"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"ойготкучтар"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"Медиа добуштарын ойнотуу"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"Медиа добуштар"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"Видеолордон, оюндардан жана башка медиадан"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"медиа"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"Экранга тийгенде чыккан үндөргө уруксат берүү"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"Экранга тийгенде үн чыксын"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"Баскычтоптон жана башка баскычтардан"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"экранга тийгенде чыккан үндөр"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"Эскеткичтерге уруксат берүү"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"Эстеткичтер"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"Тапшырмалардан жана эстеткичтерден"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"эстеткичтер"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"Иш-чараларга уруксат берүү"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"Иш-чаралар"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"Жылнаамадагы боло турган иш-чаралардан"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Колдонмолорго өзгөртүп коюуга уруксат берүү"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"Колдонмодогу өзгөчө жөндөөлөр"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3657,6 +3749,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"\"Тынчымды алба\" режиминде үнү өчүрүлгөн билдирмелер алынганда экран күйсүн"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"Эскертме жөндөөлөрү"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"Жарайт"</string>
+    <string name="suggestion_button_close" msgid="6865170855573283759">"Жабуу"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Бул түзмөк жөнүндө пикир жөнөтүү"</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"Администратордун PIN кодун киргизиңиз"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"Күйүк"</string>
@@ -3667,6 +3760,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Бошотуудан мурун PIN суралсын"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Бошотуудан мурун сырсөз суралсын"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Колдонмо бошотулганда түзмөк кулпулансын"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"SIM-картаны жок кылууну ырастоо"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"Жүктөлүп алынган SIM-картаны тазалоодон мурда бул сиз экениңизди ырастаңыз"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"Бул жумуш профилин төмөнкү башкарат:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"Төмөнкү башкарат <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(Сынамык)"</string>
@@ -3741,8 +3836,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"Бардык колдонмолор"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Орнотулган колдонмолор"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Ыкчам ачылуучу колдонмолор"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"Жеке"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"Жумуш"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"Колдонмолор: Баары"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"Билдирмелер өчүрүлгөн"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"Категориялар: Өтө маанилүү"</string>
@@ -3754,6 +3847,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"Белгисиз колдонмо"</string>
     <string name="app_permissions" msgid="8666537659217653626">"Уруксаттарды башкаргыч"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"Колдонмолор <xliff:g id="APPS">%1$s</xliff:g> функцияларын пайдаланууда"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"<xliff:g id="APPS">%1$s</xliff:g> пайдаланган колдонмолор жана башкалар"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"Ойготуу үчүн тийип коюңуз"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"Түзмөктү ойготуу үчүн экрандын каалаган жерине эки жолу тийип коюңуз"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"Шилтемелерди ачуу"</string>
@@ -3765,9 +3859,14 @@
       <item quantity="other">Колдоого алынган шилтемелерди <xliff:g id="COUNT">%d</xliff:g> колдонмо ачат</item>
       <item quantity="one">Колдоого алынган шилтемелерди бир колдонмо ачат</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"Ушул колдонмодо ачуу"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"Колдонмого колдоого алынган шилтемелерди ачууга уруксат берүү"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"Чалган сайын сурасын"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"Бул колдонмодо ачылбасын"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"Колдонмого шилтемелерди ачууга тыюу салуу"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="other">Колдонмо <xliff:g id="COUNT_1">%d</xliff:g> шилтемени иштеткени жатат</item>
+      <item quantity="one">Колдонмо <xliff:g id="COUNT_0">%d</xliff:g> шилтемени иштеткени жатат</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"Колдонмо төмөнкү шилтемелерди иштеткени жатат:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"Демейки"</string>
     <string name="default_for_work" msgid="537558180548617528">"Жумуш үчүн демейки жөндөөлөр"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"Жардамчы жана үн буйруктары"</string>
@@ -3911,8 +4010,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"Башка терезелердин үстүнөн көрсөтүү"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Башка терезелердин үстүнөн көрсөтүүгө уруксат"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"Бул колдонмону башка терезелердин үстүнөн көрсөтүүгө уруксат бериңиз. Бирок башка колдонмолорду пайдаланууга тоскоол болуп же алардын интерфейсин бузуп салышы мүмкүн."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"Бардык файлдарга кирүү мүмкүнчүлүгү"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"Бардык башкарылган файлдарга кирүү мүмкүнчүлүгүн берүү"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Бул колдонмого түзмөктөгү же башка туташтырылган сактагычтардагы файлдарды окууга, өзгөртүүгө жана жок кылууга уруксат берүү. Эгер уруксат берилсе, колдонмонун файлдарга атайын уруксатыңызды сурабастан кирүү мүмкүнчүлүгү болот."</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"Бардык файлдарга кирүү мүмкүнчүлүгү бар"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"vr виртуалдык дүйнө режими көмөкчү кызмат"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"системдик шашылыш билдирүүлөр башка колдонмолордун үстүнөн көрүнөт"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"Башка терезел-н үст-н көрсөтүү"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"<xliff:g id="COUNT_1">%2$d</xliff:g> колдонмодон <xliff:g id="COUNT_0">%1$d</xliff:g> колдонмо башка терезелердин үстүнөн көрсөтүлөт"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"Уруксаты бар колдонмолор"</string>
@@ -4078,6 +4180,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"<xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g> колдонулду"</string>
     <string name="data_overusage" msgid="3680477320458707259">"Трафиктин чегинен <xliff:g id="ID_1">^1</xliff:g> ашып кетти"</string>
     <string name="data_remaining" msgid="6316251496381922837">"<xliff:g id="ID_1">^1</xliff:g> калды"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"Диаграммада <xliff:g id="START_DATE">%1$s</xliff:g>–<xliff:g id="END_DATE">%2$s</xliff:g> күндөрү дайындардын колдонулушу көрсөтүлдү."</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"Бул күндөр боюнча эч кандай маалымат жок"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="other">%d күн калды</item>
       <item quantity="one">%d күн калды</item>
@@ -4141,14 +4245,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"таңгак өлчөмү"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"билдирме алынды"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"добуш"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"дирилдөө"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"графикалык ачкыч"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"демейки"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"канал"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"эч бири"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"Баалануучу объект жок болуп жатат."</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"Баалануучу объектте мындай ачкыч жок."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"Теманы ыңгайлаштыруу"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"Түзмөктүн демейки параметри"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"Көрүнүштүн үзүндүсү"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"дисплейдин кесиндиси, кетик"</string>
@@ -4237,8 +4337,12 @@
     <string name="information_label" msgid="6939310810756569298">"Маалымат"</string>
     <string name="low_label" msgid="6525629096999711220">"Төмөн"</string>
     <string name="high_label" msgid="357503396626018487">"Жогору"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"Экрандын сезгичтиги өтө жогору болгондо, колдонмодо экрандын четтериндеги жаңсоолор иштебей калышы мүмкүн."</string>
+    <string name="left_edge" msgid="1513576842959071849">"Сол кыры"</string>
+    <string name="right_edge" msgid="1505309103265829121">"Оң кыры"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"Экрандын сезгичтиги өтө жогору болгондо, колдонмодо экрандын четтериндеги жаңсоолор иштебей калышы мүмкүн."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"Фонду сезгичтиги"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"Жаңсоо жөндөөлөрү"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"жаңсап чабыттоо, фонду сезгичтиги, артка жаңсоосу"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"Убакытты жана билдирмелерди текшерүү үчүн эки жолу басуу"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"Планшетти текшерүү үчүн эки жолу таптаңыз"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"Түзмөктү текшерүү үчүн эки жолу таптаңыз"</string>
@@ -4393,7 +4497,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"Байланыш операторун өзгөртүү"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"\"Тынчымды алба\" режимин жаңыртуу"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"Алагды кылбоо үчүн билдирмелерди тындыруу"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"Бул функция бул түзмөктө иштебейт"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"Функция жеткиликтүү эмес"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"Бул функция телефонуңузду жай иштетип жаткандыктан өчүрүлгөн"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"GNSS көрсөткүчтөрүнө толук көз салууну иштетүү"</string>
@@ -4403,20 +4506,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"ANGLE иштетилген колдонмону тандоо"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"ANGLE иштетилген колдонмо жөндөлгөн жок"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"ANGLE иштетилген колдонмо: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"Оюн драйверинин жеке жөндөөлөрү"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"Оюн драйверинин жөндөөлөрү өзгөрөт"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"Оюн драйвери күйүк болгондо, түзмөктө орнотулган колдонмолор үчүн жаңыртылган графикалык драйверди колдонууну тандасаңыз болот."</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"Бардык колдонмолор үчүн иштетүү"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"Графикалык драйвер тандоо"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"Демейки"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"Оюн драйвери"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"Драйвердин сынамык версиясын жарыкка чыгаруу"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"Тутумдун графикалык драйвери"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"Графикалык драйвердин параметрлери"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"Графикалык драйвердин жөндөөлөрүн өзгөртүү"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"Бир нече графикалык драйвер болгондо, түзмөктө орнотулган колдонмолор үчүн жаңыртылган графикалык драйверди колдонууну тандасаңыз болот."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"Бардык колдонмолор үчүн иштетүү"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"Графикалык драйвер тандоо"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"Демейки"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"Оюн драйвери"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"Иштеп чыгуучунун драйвери"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Тутумдун графикалык драйвери"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Колдонмонун шайкештигиндеги өзгөрүүлөр"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Колдонмонун шайкештигине киргизилген өзртүүлөрдү өчүрүү/күйгүзүү"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Демейки күйгүзүлгөн өзгөртүүлөр"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Демейки өчүрүлгөн өзгөртүүлөр"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"Жөндөө бул телефондо колдоого алынбайт"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"Жөндөө бул планшетте колдоого алынбайт"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"Жөндөө бул түзмөктө колдоого алынбайт"</string>
@@ -4435,6 +4544,12 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"Түзмөк"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Сүйлөшүп жаткан учурда жеткиликсиз"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"Жеткиликсиз"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"Медиа түзмөктөрдү кошуу"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"Топ"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 түзмөк тандалды"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> түзмөк тандалды"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"Чалууну кабыл алуу"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Бул APN\'ди өзгөртүүгө болбойт."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Планшеттин батареясынын кубатынын мөөнөтүн көбөйтүү"</string>
@@ -4552,10 +4667,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Бир учурда бир гана жүктөлүп алынган SIM карта активдүү болушу керек.\n\n<xliff:g id="CARRIER1">%1$s</xliff:g> операторуна которулсаңыз, <xliff:g id="CARRIER2">%2$s</xliff:g> кызматыңыз жокко чыгарылбайт."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"<xliff:g id="CARRIER">%1$s</xliff:g> операторуна которулуу"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"SIM картаны тазалоо"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Бул жүктөлүп алынган SIM карта тазалансынбы?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Бул SIM картаны өчүрсөңүз, түзмөктөн <xliff:g id="CARRIER_0">%1$s</xliff:g> кызматы өчүрүлөт.\n\n<xliff:g id="CARRIER_1">%2$s</xliff:g> кызматтары жок кылынбайт."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Тазалоо"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"SIM карта тазаланууда…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"SIM карта тазаланбай жатат"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Катадан улам SIM картаны тазалоого болбойт.\n\nТүзмөгүңүздү өчүрүп күйгүзүп, кайталап көрүңүз."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Тандалган тармактын түрү"</string>
@@ -4580,7 +4691,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Тармактын режими жараксыз: <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Баш тартыңыз."</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Байланыш түйүнүнүн аталыштары"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"<xliff:g id="CARRIER">%1$s</xliff:g> операторуна туташып турганда жеткиликсиз"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"Медициналык маалымат, өзгөчө кырдаал байланыштары"</string>
     <string name="see_more" msgid="7499355691042812723">"Дагы көрүү"</string>
     <string name="see_less" msgid="2642392725363552793">"Азыраак көрүү"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"<xliff:g id="APPNAME">%1$s</xliff:g> менен колдонулуучу түзмөк"</string>
@@ -4589,11 +4699,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"Бир нерсе болду. Колдонмо түзмөктү тандоо сурамын жокко чыгарды."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"Ийгиликтүү туташты"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"Баарын көрсөтүү"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> түзмөк туташып турат</item>
-      <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_0">%1$d</xliff:g> түзмөк туташып турат</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"Bluetooth түзмөктөрү жок"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"Түзмөк изделүүдө…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"Түзмөккө туташууда…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"Сол"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"Оң"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Кутуча"</string>
@@ -4603,6 +4710,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"Учак режиминде жеткиликсиз"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"Иш такта режимин күйгүзүү"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Тажрыйбалык иш такта режимин көмөкчү экрандарда иштетүү"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"Эркин формадагы шайкеш өлчөмдөрдү иштетүү"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"Өлчөмү шайкеш келген колдонмолорго эркин формадагы терезелерде ачылууга мүмкүнчүлүк берет"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Түнкү режимди мажбурлап иштетүү функциясын өзгөртүп коюу"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"Түнкү режимди мажбурлап иштетүү функциясы ар дайым күйүк болгондой кылып өзгөртүп коёт"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"Купуялык"</string>
@@ -4639,6 +4748,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Бул колдонмону жакында орнотконсуз."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Аудио түзмөктү которуштуруу"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Учурда <xliff:g id="DEVICE_NAME">%1$s</xliff:g> түзмөгүндө ойнотулууда"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (ажыратылды)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Которулбай жатат. Кайталоо үчүн басыңыз."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Маанилүү маалымат"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"ООБА"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"ЖОК, РАХМАТ"</string>
@@ -4666,8 +4777,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"SIM карталардын айкалышы"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Жумуш саясатыңыздын маалыматы"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"IT администраторуңуз тарабынан башкарылган жөндөөлөр"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"Мүчүлүштүк тууралуу кабар берүүнү иштеткич"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Түзмөгүңүздөгү Мүчүлүштүк тууралуу кабар берүү ыкчам баскычын кайсы колдонмо иштетерин аныктайт."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Жеке"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"Жумуш"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"Демейки тутум"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"Тандалган нерсе жараксыз болуп калган. Кайталап көрүңүз."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"Тышкы экранга чыгарууну токтотуу"</string>
 </resources>
diff --git a/res/values-lo/arrays.xml b/res/values-lo/arrays.xml
index 48d3bd9..ac3fb51 100644
--- a/res/values-lo/arrays.xml
+++ b/res/values-lo/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"ທັນທີ"</item>
     <item msgid="463591454172790676">"5 ວິນາທີ"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"ບໍ່ກວດຮັບຮອງ"</item>
+    <item msgid="5703177653586269306">"ຂໍສະຖານະໃບຮັບຮອງ"</item>
+    <item msgid="326388247868439528">"ຈຳເປັນຕ້ອງມີສະຖານະໃບຮັບຮອງ"</item>
+    <item msgid="1090956283885790552">"ຈຳເປັນຕ້ອງມີສະຖານະໃບຮັບຮອງທີ່ບໍ່ແມ່ນເຊື່ອຖືໄດ້ທັງໝົດ"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"ປຸ່ມ Push"</item>
     <item msgid="2630618799033509548">"PIN ຈາກອຸປະກອນທີ່ເຊື່ອມຕໍ່ກັນ"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"ບໍ່ມີ"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"IPSec VPN ທີ່ມີກະແຈທີ່ແບ່ງປັນລ່ວງໜ້າ ແລະການພິສູດຢືນຢັນແບບ Xauth"</item>
     <item msgid="2484564813864139237">"IPSec VPN ພ້ອມໃບຮັບຮອງ ແລະການກວດສອບສິດ Xauth"</item>
     <item msgid="68918911194507915">"L2TP/IPSec VPN ພ້ອມໃບຮັບຮອງ ແລະການພິສູດຢືນຢັນແບບປະສົມ"</item>
+    <item msgid="4631647675167100375">"IKEv2/IPSec VPN ພ້ອມໃບຮັບຮອງ ແລະ ການພິສູດຢືນຢັນຊື່ຜູ້ໃຊ້/ລະຫັດຜ່ານ"</item>
+    <item msgid="8812228622975052811">"IKEv2/IPSec VPN ທີ່ມີ pre-shared keys"</item>
+    <item msgid="6630554779981113046">"IKEv2/IPSec VPN ທີ່ມີໃບຮັບຮອງ"</item>
   </string-array>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"ບໍ່ໃຊ້"</item>
diff --git a/res/values-lo/config.xml b/res/values-lo/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-lo/config.xml
+++ b/res/values-lo/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-lo/strings.xml b/res/values-lo/strings.xml
index dd738ad..7475816 100644
--- a/res/values-lo/strings.xml
+++ b/res/values-lo/strings.xml
@@ -31,49 +31,17 @@
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"ກະລຸນາເປີດໃຊ້ຕົວເລືອກນັກພັດທະນາກ່ອນ."</string>
     <string name="header_category_wireless_networks" msgid="303445626075235229">"ລະບົບໄຮ້ສາຍ &amp; ເຄືອຂ່າຍ"</string>
     <string name="header_category_system" msgid="1665516346845259058">"ລະບົບ"</string>
-    <string name="radio_info_data_connection_enable" msgid="7500945447906187613">"ເປີດການເຊື່ອມຕໍ່ຂໍ້ມູນ"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"ປິດການເຊື່ອມຕໍ່ຂໍ້ມູນ"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"ນຳໃຊ້ VoLTE ແລ້ວ"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"ຈັດຫາການໂທດ້ວຍວິດີໂອແລ້ວ"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"ຈັດຫາການໂທດ້ວຍ Wi-Fi ແລ້ວ"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"EAB/Presence Provisioned"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"ຂໍ້ມູນ Cbrs"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"ເປີດໃຊ້ DSDS"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"ຣີສະຕາດອຸປະກອນບໍ?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"ທ່ານຕ້ອງຣີສະຕາດອຸປະກອນຂອງທ່ານເພື່ອປ່ຽນການຕັ້ງຄ່ານີ້."</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"ຣີສະຕາດ"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"ຍົກເລີກ"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"ພະລັງງານວິທະຍຸມືຖື"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"ເບິ່ງສະໝຸດທີ່ຢູ່ໃນ SIM"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"ເບິ່ງໝາຍເລກຈຳກັດການໂທອອກ"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"ເບິ່ງໝາຍເລກບໍລິການໂທອອກ"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"ສະຖານະບໍລິການ IMS"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"ສະຖານະ IMS"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"ລົງທະບຽນແລ້ວ"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"ບໍ່ໄດ້ລົງທະບຽນ"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"ສາມາດໃຊ້ໄດ້"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"ບໍ່ສາມາດໃຊ້ໄດ້"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"ການລົງທະບຽນ IMS: <xliff:g id="STATUS">%1$s</xliff:g>\nການໂທຜ່ານ LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nການໂທຜ່ານ WiFi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nການໂທວິດີໂອ: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nສ່ວນຕິດຕໍ່ UT: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"ກຳລັງໃຫ້ບໍລິການ"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"ນອກເຂດໃຫ້ບໍລິການ"</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>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"ບໍ່ໄດ້ໃຊ້ວຽກ"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"ສຽງໂທລະສັບ"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"ກຳລັງຢູ່ໃນສາຍ"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"ປິດການເຊື່ອມຕໍ່ແລ້ວ"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"ກຳລັງເຊື່ອມຕໍ່"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"ເຊື່ອມ​ຕໍ່ແລ້ວ"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"ຖືກລະງັບແລ້ວ"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"ບໍ່ຮູ້ຈັກ"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"pkts"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"bytes"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"ຢຸດການເຊື່ອມຕໍ່ບ່ອນຈັດເກັບຂໍ້ມູນ USB"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"ຖອດການເຊື່ອມຕໍ່ SD card"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"ລຶບບ່ອນເກັບຂໍ້ມູນ USB"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"ເຮັດໃຫ້ຂໍ້ຄວາມໃນໜ້າຈໍນ້ອຍລົງ ຫຼື ໃຫຍ່ຂຶ້ນ."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"ເຮັດໃຫ້ນ້ອຍລົງ"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"ເຮັດໃຫ້ໃຫຍ່ຂຶ້ນ"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"ຂໍ້ຄວາມຕົວຢ່າງ"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"ພໍ່ມົດອັດສະຈັນແຫ່ງອອດຊ໌"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"ບົດທີ 11: ເມືອງມໍລະກົດອັນໜ້າອັດສະຈັນຂອງອອດຊ໌"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"ທ່ານຕ້ອງຣີສະຕາດອຸປະກອນຂອງທ່ານເພື່ອປ່ຽນການຕັ້ງຄ່ານີ້."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"ປິດເປີດໃໝ່"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"ຍົກເລີກ"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"ອຸປະກອນມີເດຍທີ່ໃຊ້ໄດ້"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"ອຸປະກອນໂທທີ່ໃຊ້ໄດ້"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"ຕອນນີ້ເຊື່ອມຕໍ່ແລ້ວ"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"ອຸປະກອນມີເດຍ"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"ອຸປະກອນໂທ"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"ອຸປະກອນອື່ນໆ"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"ອຸປະກອນທີ່ບັນທຶກໄວ້"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth ຈະເປີດການຈັບຄູ່"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"ການຕັ້ງຄ່າການເຊື່ອມຕໍ່"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"ພອດທີ່ທ່ານລະບຸນັ້ນບໍ່ຖືກຕ້ອງ."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"HTTP proxy ນີ້ຖືກໃຊ້ໂດຍໂປຣແກຣມທ່ອງເວັບແລ້ວ ແລະບໍ່ອາດໃຊ້ກັບແອັບຯອື່ນໄດ້."</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"PAC URL: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"subId ປັດຈຸບັນ:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"SubId ຂອງ SIM ອິນເຕີເນັດເລີ່ມຕົ້ນ:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"ແບນວິດ DL (kbps):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"ແບນວິດ UL (kbps):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"ຂໍ້ມູນສະຖານທີ່ມືຖື (ລ້າສະໄໝແລ້ວ):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"ການຕັ້ງຄ່າຊ່ອງ LTE ກາຍະພາບ:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"ອັດຕາການໂຫຼດຂໍ້ມູນໂທລະສັບຄືນໃໝ່:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"ຂໍ້ມູນການວັດແທກໂທລະສັບທັງໝົດ:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"ບໍລິການຂໍ້ມູນ:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"ໂຣມມິງ​:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI​:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"ການປ່ຽນເສັ້ນທາງການໂທ:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"ຈຳນວນການຣີເຊັດຂອງ PPP ຕັ້ງແຕ່ເປີດເຄື່ອງມາ:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"ເຄືອຂ່າຍປັດຈຸບັນ:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"ຂໍ້ມູນທີ່ໄດ້ຮັບ:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"ບໍລິການສຽງ:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"ຄວາມແຮງສັນຍານ:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"ສະຖານະການໂທ:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"ຂໍ້ມູນສົ່ງໄປແລ້ວ:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"ຂໍ້ຄວາມທີ່ຖ້າຢູ່:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"ເບີໂທລະສັບ:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"ເລືອກແຖບຄວາມຖີ່ວິທະຍຸ"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"ປະເພດເຄືອຂ່າຍສຽງ:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"ປະເພດເຄືອຂ່າຍຂໍ້ມູນ:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"ເລືອກດັດຊະນີໂທລະສັບ"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"ເລືອກປະເພດເຄືອຂ່າຍທີ່ຕ້ອງການໃຊ້:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"Ping Hostname(www.google.com) IPv4:"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"Ping Hostname(www.google.com) IPv6:"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"ທົດສອບ HTTP Client:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"ເລີ່ມທົດສອບ ping"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"ອັບເດດ"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"ດຶງຂໍ້ມູນໃໝ່"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"ເປີດ/ປິດ ການກວດ DNS"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"ຂໍ້ມູນ/ການຕັ້ງຄ່າສະເພາະ OEM"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"ຕັ້ງໂໝດແຖບຄວາມຖີ່ວິທະຍຸ"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"ກຳລັງດາວໂຫລດລາຍຊື່ແຖບຄວາມຖີ່..."</string>
-    <string name="band_mode_set" msgid="494968379352406359">"ຕັ້ງຄ່າ"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"ບໍ່ສຳເລັດ"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"ສຳເລັດ"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"ການປ່ຽນແປງຈະມີຜົນເມື່ອສາຍ USB ຖືກເຊື່ອມຕໍ່ຄືນອີກຄັ້ງ."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"ເປີດການນຳໃຊ້ບ່ອນຈັດເກັບຂໍ້ມູນ USB"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"ໄບທັງໝົດ:"</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"ຍ້າຍໄປລຸ່ມສຸດ"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"ລຶບພາສາອອກ"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"ເລືອກກິດຈະກຳ"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"ຂໍ້​ມູນ​ອຸ​ປະ​ກອນ"</string>
     <string name="display_label" msgid="3056320781191343221">"ໜ້າຈໍ"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"ຂໍ້​ມູນ​ແທັບເລັດ"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"ຂໍ້​ມູນ​ໂທລະ​ສັບ"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"ພື້ນທີ່ເກັບຂໍ້ມູນ USB"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"SD card"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"ການຕັ້ງຄ່າ Proxy"</string>
@@ -306,9 +234,6 @@
     <string name="airplane_mode" msgid="3196085857882526817">"ໂໝດຢູ່ໃນຍົນ"</string>
     <string name="wireless_networks_settings_title" msgid="8557542379234105369">"ລະບົບໄຮ້ສາຍ &amp; ເຄືອຂ່າຍ"</string>
     <string name="radio_controls_summary" msgid="9028430178697624501">"ຈັດການ Wi-Fi, Bluetooth, ຮູບແບບເທິງຍົນ, ເຄືອຂ່າຍມືຖື &amp; VPNs"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"ອິນເຕີເນັດມືຖື"</string>
-    <string name="calls_title" msgid="6334813967619899114">"ອະນຸຍາດການໂທ"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"ຂໍ້​ຄວາມ SMS"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"ອະນຸຍາດໃຫ້ໃຊ້ອິນເຕີເນັດມືຖື"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"​ອະ​ນຸ​ຍາດ​ໃຫ້​ມີ​ການ​ນຳ​ໃຊ້​ຂໍ້​ມູນ​ເມື່ອ​ໂຣມ​ມິງ"</string>
     <string name="roaming" msgid="3055365654530847985">"ໂຣມມິງ"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"ເຊື່ອມຕໍ່ບໍລິການອິນເຕີເນັດເມື່ອໂຣມມິງຢູ່"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"ທ່ານໄດ້ຖືກຕັດການເຊື່ອມຕໍ່ຂໍ້ມູນ ເນື່ອງຈາກທ່ານອອກຈາກເຄືອຂ່າຍໃນເຮືອນ ໂດຍປິດການໂຣມມິງຂໍ້ມູນໄວ້"</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"ເປີດໃຊ້ມັນ"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"ທ່ານ​ອາດ​ຈະ​ເສຍ​ຄ່າ​ໃຊ້​ຈ່າຍ​ຫຼາຍ."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"ເມື່ອທ່ານອະນຸຍາດໃຫ້ໂຣມມິງຂໍ້ມູນໄດ້ແລ້ວ, ທ່ານອາດຕ້ອງເສຍຄ່າໂຣມມິງຈຳນວນຫຼາຍ!\n\nການຕັ້ງຄ່ານີ້ມີຜົນກັບທຸກຜູ່ໃຊ້ໃນແທັບເລັດນີ້."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"ເມື່ອທ່ານອະນຸຍາດໃຫ້ໃຊ້ການໂຣມມິງຂໍ້ມູນ ທ່ານອາດຈະຕ້ອງເສຍຄ່າໃຊ້ຈ່າຍການໂຣມມິງຫຼາຍ! \n\nການຕັ້ງຄ່ານີ້ຈະມີຜົນກັບທຸກຜູ່ໃຊ້ໃນໂທລະສັບນີ້."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"ອາດ​ມີ​ການ​ຄິດ​ໄລ່​ຄ່າ​ບໍ​ລິ​ການ​ໂຣມ​ມິງ."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"ເມື່ອທ່ານອະນຸຍາດໃຫ້ໃຊ້ອິນເຕີເນັດແບບໂຣມມິງໄດ້, ຈະມີຄ່າໂຣມມິງເກີດຂຶ້ນ.\n\nການຕັ້ງຄ່ານີ້ມີຜົນກັບຜູ້ໃຊ້ທຸກຄົນໃນແທັບເລັດໜ່ວຍນີ້."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"ເມື່ອທ່ານອະນຸຍາດໃຫ້ໃຊ້ອິນເຕີເນັດແບບໂຣມມິງໄດ້, ຈະມີຄ່າໂຣມມິງເກີດຂຶ້ນ.\n\nການຕັ້ງຄ່ານີ້ມີຜົນກັບຜູ້ໃຊ້ທຸກຄົນໃນໂທລະສັບໜ່ວຍນີ້."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"ອະນຸຍາດໃຫ້ໂຣມມິງຂໍ້ມູນໄດ້?"</string>
     <string name="networks" msgid="5184501333492775095">"ເລືອກຜູ່ໃຫ້ບໍລິການ"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"ເລືອກຜູ່ໃຫ້ບໍລິການເຄືອຂ່າຍ"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"ຖືກຜູ້ເບິ່ງແຍງລະບົບປິດໄວ້"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"ສະແດງຕົວເລືອກການລັອກ"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"ສະແດງຕົວເລືອກປຸ່ມເປີດ/ປິດທີ່ປິດ Smart Lock, ການປົດລອກດ້ວຍລະບົບຊີວະມິຕິ ແລະ ການແຈ້ງເຕືອນຢູ່ໜ້າຈໍລັອກ"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"ຕົວ​ແທນ​ທີ່​ເຊື່ອ​ຖື​ໄດ້ຈະຂະຫຍາຍການປົດລັອກເທົ່ານັ້ນ"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"ຫາກເປີດໃຊ້, ຕົວ​ແທນ​ທີ່​ເຊື່ອ​ຖື​ໄດ້ຈະປົດລັອກອຸປະກອນຂອງທ່ານໄວ້ດົນຂຶ້ນ, ແຕ່ຈະບໍ່ສາມາດປົດລັອກອຸປະກອນທີ່ຖືກລັອກໄປແລ້ວໄດ້."</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"ລັອກໜ້າຈໍເມື່ອສູນເສຍຄວາມເຊື່ອຖື"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"ຫາກເປີດໃຊ້, ອຸປະກອນຈະລັອກເມື່ອເອເຈນທີ່ເຊື່ອຖືຫຼ້າສຸດສູນເສຍຄວາມເຊື່ອຖືໄປ"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"ບໍ່ມີ"</string>
@@ -390,7 +313,7 @@
     <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="disabled_by_administrator_summary" msgid="4181894719300350343">"ຖືກຜູ້ເບິ່ງແຍງລະບົບປິດໄວ້"</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>
@@ -693,7 +616,6 @@
       <item quantity="other">ຕ້ອງມີໜ້ອຍກວ່າ <xliff:g id="NUMBER_1">%d</xliff:g> ຕົວເລກ</item>
       <item quantity="one">ຕ້ອງມີໜ້ອຍກວ່າ <xliff:g id="NUMBER_0">%d</xliff:g> ຕົວເລກ</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"ຕ້ອງມີຕົວເລກ 0 ຫາ 9 ເທົ່ານັ້ນ"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"ຜູ້ເບິ່ງແຍງລະບົບອຸປະກອນບໍ່ອະນຸຍາດໃຫ້ໃຊ້ລະຫັດ PIN ເມື່ອບໍ່ດົນມານີ້"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"ລະຫັດ PIN ທົ່ວໄປແມ່ນຖືກບລັອກໂດຍຜູ້ເບິ່ງແຍງລະບົບໄອທີຂອງທ່ານ. ໃຫ້ລອງໃຊ້ລະຫັດ PIN ອື່ນແທນ."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"ນີ້ບໍ່ສາມາດຮວມມີຕົວອັກສອນທີ່ບໍ່ຖືກຕ້ອງນຳໄດ້"</string>
@@ -724,6 +646,10 @@
       <item quantity="other">ຕ້ອງມີຕົວອັກຂະລະທີ່ບໍ່ແມ່ນຕົວອັກສອນຢ່າງໜ້ອຍ <xliff:g id="COUNT">%d</xliff:g> ຕົວ</item>
       <item quantity="one">ຕ້ອງມີຕົວອັກຂະລະທີ່ບໍ່ແມ່ນຕົວອັກສອນຢ່າງໜ້ອຍ 1 ຕົວ</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="other">ຕ້ອງມີຕົວອັກສອນທີ່ບໍ່ແມ່ນຕົວເລກຢ່າງໜ້ອຍ <xliff:g id="COUNT">%d</xliff:g> ຕົວ</item>
+      <item quantity="one">ຕ້ອງມີຕົວອັກສອນທີ່ບໍ່ແມ່ນຕົວເລກຢ່າງໜ້ອຍ 1 ຕົວ</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"ຜູ້ເບິ່ງແຍງລະບົບບໍ່ອະນຸຍາດໃຫ້ໃຊ້ລະຫັດຜ່ານເມື່ອບໍ່ດົນມານີ້ໄດ້"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"ລະຫັດຜ່ານທົ່ວໄປແມ່ນຖືກບລັອກໂດຍຜູ້ເບິ່ງແຍງລະບົບໄອທີຂອງທ່ານ. ໃຫ້ລອງໃຊ້ລະຫັດອື່ນແທນ."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"ນ້ອຍຫາໃຫຍ່, ໃຫຍ່ຫານ້ອຍ ຫຼື ຊຸດຕົວເລກຊ້ຳໆແມ່ນບໍ່ສາມາດໃຊ້ໄດ້"</string>
@@ -837,19 +763,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2.4 GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"ເຂົ້າສູ່ລະບົບ"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"ເປີດເວັບໄຊ"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"ເຫຼືອ <xliff:g id="REMAINING_TIME">%1$s</xliff:g>"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"ໝົດອາຍຸ <xliff:g id="EXPIRY_TIME">%1$s</xliff:g>"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"ແຕະບ່ອນນີ້ເພື່ອເຂົ້າສູ່ລະບົບເຄືອຂ່າຍ"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"<xliff:g id="REQUESTER">%s</xliff:g> ຕ້ອງການເປີດໃຊ້ Wi-Fi"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"<xliff:g id="REQUESTER">%s</xliff:g> ຕ້ອງການປິດ Wi-Fi"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"ຢັ້ງຢືນ bytecode ຂອງແອັບທີ່ສາມາດດີບັກໄດ້"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"ອະນຸຍາດໃຫ້ ART ຢັ້ງຢືນ bytecode ສຳລັບແອັບທີ່ດີບັກໄດ້"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"ສະແດງອັດຕາການຣີເຟຣຊ"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"ສະແດງອັດຕາການຣີເຟຣຊໜ້າຈໍປັດຈຸບັນ"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"ອະນຸຍາດໃຫ້ແລກປ່ຽນຂໍ້ມູນເມື່ອນຳແທັບເລັດ ໄປແຕະໃສ່ອຸປະກອນອື່ນ"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"ອະນຸຍາດໃຫ້ມີການແລກປ່ຽນຂໍ້ມູນເມື່ອ ໂທລະສັບແຕະກັບອຸປະກອນອື່ນ"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"ອະນຸຍາດໃຫ້ມີການແລກປ່ຽນຂໍ້ມູນເມື່ອແທັບເລັດແຕະໃສ່ອຸປະກອນ NFC"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"ອະນຸຍາດໃຫ້ມີການແລກປ່ຽນຂໍ້ມູນເມື່ອໂທລະສັບແຕະໃສ່ອຸປະກອນ NFC"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"ເປີດໃຊ້ NFC"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"NFC ແລກປ່ຽນຂໍ້ມູນລະຫວ່າງອຸປະກອນນີ້ ແລະ ອຸປະກອນອື່ນໃກ້ຄຽງ ຫຼື ເປົ້າໝາຍ ເຊັ່ນ: ຊ່ອງທາງການຈ່າຍເງິນ, ຕົວອ່ານການເຂົ້າເຖິງ ແລະ ໂຄສະນາ ຫຼື ແທັກແບບມີປະຕິສຳພັນ."</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"ຮັກສາຄວາມປອດໄພ NFC"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"ຕ້ອງປົດລັອກອຸປະກອນສຳລັບ NFC"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"ອະນຸຍາດການຈ່າຍເງິນ ແລະ ການໂດຍສານ NFC ສະເພາະຕອນປົດລັອກໜ້າຈໍເທົ່ານັ້ນ"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"ພ້ອມທີ່ຈະສົ່ງເນື້ອຫາແອັບຯຜ່ານ NFC ແລ້ວ"</string>
@@ -923,8 +855,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"ເປີດ"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"ເປີດການສະແກນ Wi‑Fi ແລ້ວ"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"​ໂຕ​ເລືອກ​ຂັ້ນ​ສູງ"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"ຕົວເລືອກຂັ້ນສູງລາຍຊື່ແບບເລື່ອນລົງ. ແຕະສອງເທື່ອເພື່ອຫຍໍ້ເຂົ້າ."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"ຕົວເລືອກຂັ້ນສູງລາຍຊື່ແບບເລື່ອນລົງ. ແຕະສອງເທື່ອເພື່ອຂະຫຍາຍ."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"ລາຍຊື່ແບບລົງລຸ່ມຕົວເລືອກຂັ້ນສູງ"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"ຂະ​ຫຍາຍ"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"ຊື່ເຄືອຂ່າຍ"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"ລະບຸ SSID"</string>
     <string name="wifi_security" msgid="9095934643631406913">"ຄວາມ​ປອດ​ໄພ"</string>
@@ -934,6 +866,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"ສະຖານະ"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"ຄວາມໄວລິ້ງການໂອນຂໍ້ມູນ"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"ຄວາມໄວລິ້ງການຮັບຂໍ້ມູນ"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"ຄວາມໄວລິ້ງ"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"ຄວາມຖີ່"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"ທີ່ຢູ່ IP"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"ບັນ​ທຶ​ກ​ແລ້ວ​ຜ່ານ"</string>
@@ -941,6 +874,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"ວິ​ທີ​ EAP"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"ການກວດສອບສິດທິໄລຍະທີ 2"</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>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"ໃບຮັບຮອງຜູ່ໃຊ້"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"ການລະບຸໂຕຕົນ"</string>
@@ -957,6 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"ເລືອກແຖບຄວາມຖີ່ຢ່າງໜ້ອຍໜຶ່ງອັນສຳລັບ Wi‑Fi:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"ຕັ້ງຄ່າ IP"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"ຄວາມເປັນສ່ວນຕົວ"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"ການສະໝັກໃຊ້"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"ເບິ່ງ ຫຼື ປ່ຽນການສະໝັກໃຊ້"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"MAC ແບບສຸ່ມ"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"ເພີ່ມ​ອຸ​ປະ​ກອນ"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"ວາງລະຫັດ QR ລຸ່ມນີ້ໄວ້ທາງກາງເພື່ອເພີ່ມອຸປະກອນຫາ “<xliff:g id="SSID">%1$s</xliff:g>”"</string>
@@ -966,12 +902,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"ແບ່ງປັນ Wi‑Fi"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"ສະແກນລະຫັດ QR ນີ້ເພື່ອເຊື່ອມຕໍ່ຫາ “<xliff:g id="SSID">%1$s</xliff:g>” ແລະ ແບ່ງປັນລະຫັດຜ່ານ"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"ສະແກນລະຫັດ QR ນີ້ເພື່ອເຊື່ອມຕໍ່ຫາ “<xliff:g id="SSID">%1$s</xliff:g>”"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"ບໍ່ສາມາດອ່ານລະຫັດ QR ໄດ້. ໃສ່ລະຫັດອີກເທື່ອໜຶ່ງແລ້ວລອງໃໝ່."</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"ລອງໃໝ່ອີກເທື່ອໜຶ່ງ. ຫາກຍັງຄົງພົບບັນຫາຢູ່, ກະລຸນາຕິດຕໍ່ຜູ້ຜະລິດອຸປະກອນ"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"ມີບາງຢ່າງຜິດພາດ"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"ກະລຸນາກວດສອບວ່າສຽບສາຍອຸປະກອນແລ້ວ, ສາກເຕັມແລ້ວ ແລະ ເປີດໃຊ້ແລ້ວ"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"ກະລຸນາກວດສອບວ່າສຽບສາຍອຸປະກອນແລ້ວ, ສາກເຕັມແລ້ວ ແລະ ເປີດໃຊ້ແລ້ວ. ຫາກຍັງຄົງພົບບັນຫາຢູ່, ກະລຸນາຕິດຕໍ່ຜູ້ຜະລິດອຸປະກອນ"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"ອຸປະກອນນີ້ບໍ່ຮອງຮັບການເພີ່ມ “<xliff:g id="SSID">%1$s</xliff:g>”"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"ໃຫ້ລອງຍ້າຍອຸປະກອນເຂົ້າໃກ້ຈຸດເຂົ້າເຖິງ/ເຣົາເຕີ Wi‑Fi ຂອງທ່ານ"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"ກະລຸນາກວດສອບລະຫັດຜ່ານແລ້ວລອງໃໝ່"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"ກະລຸນາຕິດຕໍ່ຜູ້ຜະລິດອຸປະກອນ"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"ກະລຸນາກວດສອບແລ້ວລອງໃໝ່"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"ເລືອກເຄືອຂ່າຍ"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"ກະລຸນາເລືອກເຄືອຂ່າຍເພື່ອເຊື່ອມຕໍ່ຫາອຸປະກອນຂອງທ່ານ"</string>
@@ -984,11 +922,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"ກຳລັງແບ່ງປັນ Wi‑Fi ກັບອຸປະກອນນີ້…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"ກຳລັງເຊື່ອມຕໍ່…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"ແບ່ງປັນຮັອດສະປອດ"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"ຢືນຢັນວ່າແມ່ນທ່ານ"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"ຢັ້ງຢືນວ່າແມ່ນທ່ານ"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"ລະຫັດຜ່ານ Wi-Fi: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"ລະຫັດຜ່ານຮັອດສະປອດ: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"ເຊື່ອມຕໍ່ອັດຕະໂນມັດ"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"ອະນຸຍາດໃຫ້ໂທລະສັບເຊື່ອມຕໍ່ໃກ້ເຄືອຂ່າຍນີ້ໂດຍອັດຕະໂນມັດ"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"ອະນຸຍາດໃຫ້ແທັບເລັດເຊື່ອມຕໍ່ໃກ້ເຄືອຂ່າຍນີ້ໂດຍອັດຕະໂນມັດ"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"ເພີ່ມອຸປະກອນ"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"ໃຊ້ລະຫັດ QR ເພື່ອເພີ່ມອຸປະກອນໃສ່ເຄືອຂ່າຍນີ້"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"ຮູບແບບລະຫັດ QR ບໍ່ຖືກຕ້ອງ"</string>
     <string name="retry" msgid="7542103800274026915">"ລອງໃໝ່"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"ແບ່ງປັນກັບຜູ້ໃຊ້ອຸປະກອນອື່ນ"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(ບໍ່ມີການປ່ຽນແປງ)"</string>
@@ -1000,6 +942,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"ບໍ່ໄດ້ລະບຸໃບຢັ້ງຢືນໃດໆ. ການເຊື່ອມຕໍ່ຂອງທ່ານຈະບໍ່ເປັນສ່ວນຕົວ."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"ຊື່ເຄືອຂ່າຍຍາວເກີນໄປ."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"ຕ້ອງລະບຸໂດເມນ."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"ຕ້ອງມີໃບຮັບຮອງ."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"ສາມາດໃຊ້ WPS ໄດ້"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (ສາມາດໃຊ້ WPS ໄດ້)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"ເຄືອຂ່າຍ Wi‑Fi ຜູ້ໃຫ້ບໍລິການ"</string>
@@ -1051,7 +994,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"Wi-Fi ຂັ້ນສູງ"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"ທີ່ຢູ່ MAC"</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_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>
@@ -1103,7 +1047,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"ໃຊ້ຮັອດສະປອດເພື່ອສ້າງເຄືອຂ່າຍ Wi-Fi ສຳລັບອຸປະກອນອື່ນຂອງທ່ານ. ຮັອດສະປອດຈະສະໜອງອິນເຕີເນັດໂດຍໃຊ້ການເຊື່ອມຕໍ່ອິນເຕີເນັດມືຖືຂອງທ່ານ. ອາດມີການຮຽກເກັບຄ່າອິນເຕີເນັດມືຖືເພີ່ມເຕີມໄດ້."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"ແອັບຕ່າງໆສາມາດສ້າງຮັອດສະປອດເພື່ອແບ່ງປັນເນື້ອຫາກັບອຸປະກອນທີ່ຢູ່ໃກ້ຄຽງໄດ້."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"ປິດຮັອດສະປອດອັດຕະໂນມັດ"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"Wi‑Fi ຮັອດສະປອດຈະປິດຫາກບໍ່ມີອຸປະກອນເຊື່ອມຕໍ່"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"ເມື່ອບໍ່ມີອຸປະກອນເຊື່ອມຕໍ່"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"ກຳລັງເປີດໃຊ້ຮັອດສະປອດ..."</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"ກຳລັງປິດຮັອດສະປອດ..."</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> ເຮັດວຽກຢູ່"</string>
@@ -1112,6 +1056,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"ການ​ຕັ້ງ​ຄ່າ Wi‑Fi ຮັອດ​ສະ​ປອດ"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"ຮັອດສະປອດ AndroidAP WPA2 PSK"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"AndroidHotspot"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"ບັນທຶກເຄືອຂ່າຍນີ້ບໍ?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"<xliff:g id="APPNAME">%1$s</xliff:g> ຕ້ອງການບັນທຶກເຄືອຂ່າຍໄປໃສ່ໂທລະສັບຂອງທ່ານ"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"<xliff:g id="APPNAME">%1$s</xliff:g> ຕ້ອງການບັນທຶກເຄືອຂ່າຍໄປໃສ່ແທັບເລັດຂອງທ່ານ"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"ກຳລັງບັນທຶກ…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"ບັນທຶກແລ້ວ"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"ບໍ່ສາມາດບັນທຶກໄດ້. ລອງໃໝ່."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"ບັນທຶກເຄືອຂ່າຍບໍ?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"<xliff:g id="APPNAME">%1$s</xliff:g> ຕ້ອງການບັນທຶກການເຄືອຂ່າຍເຫຼົ່ານີ້ໄປໃສ່ໂທລະສັບຂອງທ່ານ"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"<xliff:g id="APPNAME">%1$s</xliff:g> ຕ້ອງການບັນທຶກການເຄືອຂ່າຍເຫຼົ່ານີ້ໄປໃສ່ແທັບເລັດຂອງທ່ານ"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"ກຳລັງບັນທຶກ <xliff:g id="NUMBER">%d</xliff:g> ເຄືອຂ່າຍ…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"ບັນທຶກເຄືອຂ່າຍໄວ້ແລ້ວ"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"ການ​ໂທ Wi-Fi"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"ຂະຫຍາຍການໂທດ້ວຍ Wi‑Fi"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"ເປີດໃຊ້ການໂທ Wi‑Fi ເພື່ອຂະຫຍາບຄວາມຄອບຄຸມ"</string>
@@ -1138,16 +1093,18 @@
     <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"><annotation id="url">"ສຶກສາເພີ່ມເຕີມ"</annotation>" ກ່ຽວກັບຄຸນສົມບັດ DNS ສ່ວນຕົວ"</string>
+    <string name="private_dns_mode_on" msgid="8878679071975375696">"ເປີດ"</string>
     <string name="wifi_calling_pref_managed_by_carrier" msgid="129524064888622179">"ການຕັ້ງຄ່າຖືກຈັດການໂດຍຜູ້ໃຫ້ບໍລິການເຄືອຂ່າຍ"</string>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"ກຳລັງເປີດໃຊ້ການໂທ Wi-Fi"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"ເປີດໃຊ້ການໂທ Wi-Fi"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"ບໍ່ຮອງຮັບການໂທ Wi‑Fi ສຳລັບ %1$s"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"ຕັດການເຊື່ອມຕໍ່ຈາກ <xliff:g id="SSID">%1$s</xliff:g> ແລ້ວ"</string>
     <string name="carrier" msgid="1755020806290963951">"ຜູ້ໃຫ້ບໍລິການ"</string>
     <string name="display_settings_title" msgid="626835071804834218">"ການສະແດງຜົນ"</string>
     <string name="sound_settings" msgid="5514582720435174014">"ສຽງ"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"ລະດັບສຽງ"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"ເອັບເຟັກດົນຕີ"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"ລະດັບສຽງໂທລະສັບ"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"ລະດັບສຽງໂທເຂົ້າ ແລະ ແຈ້ງເຕືອນ"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"ສັ່ນເຕືອນເມື່ອປິດສຽງ"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"ສຽງແຈ້ງເຕືອນເລີ່ມຕົ້ນ"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"ຣິງໂທນ"</string>
@@ -1272,13 +1229,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"ກຳນົດເວລາ"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"ບໍ່ໃຊ້"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"ເປີດນັບແຕ່ຕາເວັນຕົກຮອດຕາເວັນຂຶ້ນ"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"ເປີດໃຊ້ໃນເວລາທີ່ກຳນົດເອງ"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"ສະຖານະ"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"ປິດ / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"ຈະບໍ່ເປີດອັດຕະໂນມັດ"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"ຈະເປີດອັດຕະໂນມັດເມື່ອຕາເວັນຕົກ"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"ຈະເປີດອັດຕະໂນມັດເວລາ <xliff:g id="ID_1">%1$s</xliff:g>."</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"ເປີດ / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"ຈະບໍ່ປິດອັດຕະໂນມັດ"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"ຈະປິດອັດຕະໂນມັດເມື່ອຕາເວັນຂຶ້ນ"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"ຂະປິດອັດຕະໂນມັດເວລາ <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"ເປີດໄວ້ຈົນກວ່າຈະຮອດ <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"ປິດໄວ້ຈົນກວ່າຈະຮອດ <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"ຮູບແບບສີສັນມືດຈະໃຊ້ພື້ນຫຼັງສີດຳເພື່ອຊ່ວຍເຮັດໃຫ້ໃຊ້ແບັດເຕີຣີໄດ້ດົນຂຶ້ນໃນໜ້າຈໍບາງຮຸ່ນ. ກຳນົດເວລາຮູບແບບສີສັນມືດຈະລໍຖ້າເປີດຈົນກວ່າໜ້າຈໍຂອງທ່ານຈະປິດ."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"ໄລຍະໝົດເວລາໜ້າຈໍ"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"​ປິດ​ໜ້າ​ຈໍ"</string>
@@ -1290,7 +1252,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"ປ່ຽນພາບພື້ນຫຼັງ"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"ປັບແຕ່ງໜ້າຈໍຂອງທ່ານ"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"ເລືອກພາບພື້ນຫຼັງຈາກ"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"ປັບແຕ່ງ Pixel ຂອງທ່ານ"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"ປັບແຕ່ງໂທລະສັບຂອງທ່ານ"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"ລອງໃຊ້ຮູບແບບ, ຮູບພື້ນຫຼັງ ແລະ ອື່ນໆທີ່ແຕກຕ່າງກັນ"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"ພາບພັກໜ້າຈໍ"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"ໃນຂະນະທີ່ກຳລັງສາກ ຫຼື ວາງໄວ້ບ່ອນຕັ້ງສາກ"</string>
@@ -1379,6 +1341,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"ຖອນການເຊື່ອມຕໍ່ບ່ອນຈັດເກັບຂໍ້ມູນ USB, ເບິ່ງບ່ອນຈັດເກັບຂໍ້ມູນທີ່ຍັງຫວ່າງ"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"ຖອນການເຊື່ອມຕໍ່ SD card, ເບິ່ງບ່ອນຈັດເກັບຂໍ້ມູນທີ່ຍັງຫວ່າງ"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (ຊິມຊ່ອງ %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"ກະລຸນາເລືອກເຄືອຂ່າຍທີ່ບັນທຶກໄວ້ເພື່ອເບິ່ງ"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"ເບີໂທລະສັບ"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (ຊິມຊ່ອງ %1$d)"</string>
@@ -1405,6 +1368,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"ໂຣມມິງ"</string>
     <string name="status_operator" msgid="4335640583552058491">"ເຄືອຂ່າຍ"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"ທີ່ຢູ່ Wi-Fi MAC"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"ທີ່ຢູ່ Wi‑Fi MAC ຂອງອຸປະກອນ"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"ທີ່ຢູ່ Bluetooth"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"ໝາຍເລກຊີຣຽວ"</string>
     <string name="status_up_time" msgid="1274778533719495438">"ເວລາເປີດນຳໃຊ້"</string>
@@ -1617,6 +1581,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"ການຕັ້ງຄ່າ APN ເລີ່ມຕົ້ນຄືນໃໝ່ສຳເລັດແລ້ວ."</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"ຕົວເລືອກການຣີເຊັດ"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"ເຄືອຂ່າຍ, ແອັບ ຫຼື ອຸປະກອນທີ່ສາມາດຣີເຊັດໄດ້"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"ແອັບສາມາດຣີເຊັດໄດ້"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"ຣີເຊັດ Wi-Fi, ມືຖື ແລະ Bluetooth"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"ນີ້ຈະເປັນການຣີເຊັດການຕັ້ງຄ່າເຄືອຂ່າຍທັງໝົດ, ຮວມເຖິງ:\n\n"<li>"Wi‑Fi"</li>\n<li>"ອິນເຕີເນັດມືຖື"</li>\n<li>"Bluetooth"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"ລຶບ SIM ທີ່ດາວໂຫລດມາແລ້ວອອກ"</string>
@@ -1666,6 +1631,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"ເປີດຮັອດສະປອດແລ້ວ"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"ການປ່ອຍສັນຍານ"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"ບໍ່ສາມາດປ່ອຍສັນຍານ ຫຼື ໃຊ້ຮັອດສະປອດເຄື່ອນທີ່ໃນຂະນະທີ່ເປີດຕົວປະຢັດຂໍ້ມູນໄດ້"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"ຮັອດສະປອດເທົ່ານັ້ນ"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"USB ເທົ່ານັ້ນ"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"Bluetooth ເທົ່ານັ້ນ"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"ຮັອດສະປອດ, USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"ຮັອດສະປອດ, Bluetooth"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB, Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"ຮັອດສະປອດ, USB, Bluetooth"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"ບໍ່ໄດ້ແບ່ງປັນອິນເຕີເນັດກັບອຸປະກອນອື່ນ"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"ການປ່ອຍສັນຍານ"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"ຢ່າໃຊ້ Wi‑Fi ຮັອດສະປອດ"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"ແບ່ງປັນອິນເຕີເນັດຜ່ານ USB ເທົ່ານັ້ນ"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"ແບ່ງປັນອິນເຕີເນັດຜ່ານ Bluetooth ເທົ່ານັ້ນ"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"ແບ່ງປັນອິນເຕີເນັດຜ່ານ USB ແລະ Bluetooth ເທົ່ານັ້ນ"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"ການປ່ອຍສັນຍານດ້ວຍ USB"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"ແບ່ງປັນອິນເຕີເນັດຂອງໂທລະສັບຜ່ານທາງ USB"</string>
@@ -1756,9 +1734,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"ຂໍ້ມູນດ້ານຄວາມປອດໄພ"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"ທ່ານບໍ່ໄດ້ເຊື່ອມຕໍ່ອິນເຕີເນັດ. ເພື່ອເບິ່ງຂໍ້ມູນນີ້ໃນຕອນນີ້, ກະລຸນາໄປທີ່ %s ຈາກຄອມພິວເຕີເຄື່ອງໃດກໍໄດ້ທີ່ເຊື່ອມຕໍ່ກັບອິນເຕີເນັດຢູ່."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"ກຳລັງໂຫລດ..."</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"ໃຊ້ PIN"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"ໃຊ້ຮູບແບບ"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"ໃຊ້ລະຫັດຜ່ານ"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"ຕັ້ງໜ້າຈໍລັອກ"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"ເພື່ອຄວາມປອດໄພ, ໃຫ້ຕັ້ງລະຫັດຜ່ານໄວ້"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"ເພື່ອໃຊ້ລາຍນິ້ວມື, ໃຫ້ຕັ້ງລະຫັດຜ່ານກ່ອນ"</string>
@@ -1767,8 +1742,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"ເພື່ອໃຊ້ລາຍນິ້ວມື, ໃຫ້ຕັ້ງລະຫັດ PIN ກ່ອນ"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"ເພື່ອຄວາມປອດໄພ, ໃຫ້ຕັ້ງຮູບແບບປົດລັອກໄວ້"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"ໃສ່ລະຫັດຜ່ານຂອງທ່ານອີກຄັ້ງ"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"ໃສ່ລະຫັດຜ່ານບ່ອນເຮັດວຽກຂອງທ່ານ"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"ຢືນຢັນຮູບແບບຂອງທ່ານ"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"ໃສ່ຮູບແບບບ່ອນເຮັດວຽກຂອງທ່ານ"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"ໃສ່ລະຫັດ PIN ຂອງທ່ານອີກຄັ້ງ"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"ໃສ່ PIN ບ່ອນເຮັດວຽກຂອງທ່ານ"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"ລະຫັດຜ່ານບໍ່ກົງກັນ"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"ລະຫັດ PIN ບໍ່ກົງກັນ"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"ແຕ້ມຮູບແບບປົດລັອກຂອງທ່ານອີກເທື່ອໜຶ່ງ"</string>
@@ -1779,6 +1757,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"ກະລຸນາຕັ້ງລະຫັດຜ່ານເພື່ອປົດລັອກດ້ວຍໜ້າ"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"ກະລຸນາຕັ້ງຮູບແບບເພື່ອໃຊ້ການປົດລັອກດ້ວຍໜ້າ"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"ກະລຸນາຕັ້ງ PIN ເພື່ອປົດລັອກດ້ວຍໜ້າ"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"ລືມລະຫັດຜ່ານຂອງທ່ານບໍ?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"ລືມຮູບແບບຂອງທ່ານບໍ?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"ລືມ PIN ຂອງທ່ານບໍ?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"ໃຊ້ຮູບແບບປົດລັອກອຸປະກອນຂອງທ່ານເພື່ອດຳເນີນການຕໍ່."</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"ປ້ອນ PIN ອຸປະກອນຂອງທ່ານເພື່ອດຳເນີນການຕໍ່."</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"ປ້ອນລະຫັດຜ່ານອຸປະກອນຂອງທ່ານເພື່ອດຳເນີນການຕໍ່."</string>
@@ -1846,6 +1827,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"​ອະ​ນຸ​ຍາດ​ແຫລ່ງ​ຂໍ້​ມູນ​ແອັບຯ​ທັງ​ໝົດ"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"ແອັບທີ່ຫາກໍເປີດຫຼ້າສຸດ"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"ເບິ່ງທັງໝົດ <xliff:g id="COUNT">%1$d</xliff:g> ແອັບ"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"ຕິດຕໍ່ຜູ້ເບິ່ງແຍງລະບົບໄອທີຂອງທ່ານ"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"ເຂົາເຈົ້າສາມາດຊ່ວຍທ່ານຣີຊເດ PIN, ຮູບແບບ ຫຼື ລະຫັດຜ່ານຂອງທ່ານໄດ້"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"ແທັບເລັດ ແລະ ຂໍ້ມູນສ່ວນຕົວຂອງທ່ານຈະສາມາດຖືກແອັບທີ່ບໍ່ຮູ້ຈັກໂຈມຕີໄດ້ງ່າຍຂຶ້ນ. ໂດຍການຕິດຕັ້ງແອັບຕ່າງໆຈາກແຫລ່ງຂໍ້ມູນເຫຼົ່ານີ້, ແມ່ນທ່ານຍອມຮັບວ່າຈະຮັບຜິດຊອບຕໍ່ຄວາມເສຍຫາຍທີ່ເກີດຂຶ້ນກັບໂທລະສັບຂອງທ່ານ ຫຼື ການສູນເສຍຂໍ້ມູນທີ່ອາດເກີດຂຶ້ນຈາກການນຳໃຊ້ແອັບເຫຼົ່ານັ້ນ."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"ໂທລະສັບ ແລະ ຂໍ້ມູນສ່ວນຕົວຂອງທ່ານຈະສາມາດຖືກແອັບທີ່ບໍ່ຮູ້ຈັກໂຈມຕີໄດ້ງ່າຍຂຶ້ນ. ໂດຍການຕິດຕັ້ງແອັບຕ່າງໆຈາກແຫລ່ງຂໍ້ມູນເຫຼົ່ານີ້, ແມ່ນທ່ານຍອມຮັບວ່າຈະຮັບຜິດຊອບຕໍ່ຄວາມເສຍຫາຍທີ່ເກີດຂຶ້ນກັບໂທລະສັບຂອງທ່ານ ຫຼື ການສູນເສຍຂໍ້ມູນທີ່ອາດເກີດຂຶ້ນຈາກການນຳໃຊ້ແອັບເຫຼົ່ານັ້ນ."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"ອຸປະກອນ ແລະ ຂໍ້ມູນສ່ວນຕົວຂອງທ່ານຈະສາມາດຖືກແອັບທີ່ບໍ່ຮູ້ຈັກໂຈມຕີໄດ້ງ່າຍຂຶ້ນ. ໂດຍການຕິດຕັ້ງແອັບຕ່າງໆຈາກແຫລ່ງທີ່ມາເຫຼົ່ານີ້, ແມ່ນທ່ານຍອມຮັບວ່າຈະຮັບຜິດຊອບຕໍ່ຄວາມເສຍຫາຍທີ່ເກີດຂຶ້ນກັບອຸປະກອນຂອງທ່ານ ຫຼື ການສູນເສຍຂໍ້ມູນທີ່ອາດເກີດຂຶ້ນຈາກການນຳໃຊ້ແອັບເຫຼົ່ານັ້ນ."</string>
@@ -1897,7 +1880,7 @@
     <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="1377296810290814749">"ຂັ້ນຕອນນີ້ຈະຣີເຊັດການຕັ້ງຄ່າທັງໝົດຂອງ:\n\n"<li>"ແອັບທີ່ປິດການນຳໃຊ້"</li>\n<li>"ການແຈ້ງເຕືອນແອັບທີ່ປິດການນຳໃຊ້"</li>\n<li>"ແອັບພລິເຄຊັນເລີ່ມຕົ້ນສຳລັບການເຮັດວຽກຕ່າງໆ"</li>\n<li>"ການຈຳກັດຂໍ້ມູນພື້ນຫຼັງສຳລັບແອັບ"</li>\n<li>"ການຈຳກັດອະນຸຍາດໃດໆທີ່ຕັ້ງໄວ້"</li>\n\n"ຂໍ້ມູນແອັບໃດໆທີ່ມີຢູ່ຈະຍັງຄົງມີຢູ່ຄືເກົ່າ."</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>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"ຣີເຊັດແອັບ"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"ຈັດການພື້ນທີ່"</string>
     <string name="filter" msgid="9039576690686251462">"ໂຕກັ່ນຕອງ"</string>
@@ -2097,7 +2080,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"ສຽງ ແລະ ຂໍ້ຄວາມໜ້າຈໍ"</string>
     <string name="display_category_title" msgid="6638191682294461408">"ການສະແດງຜົນ"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"ການຄວບຄຸມການໂຕ້ຕອບ"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"ບໍລິການທີ່ດາວໂຫລດແລ້ວ"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"ແອັບທີ່ດາວໂຫຼດແລ້ວ"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"ຍັງຢູ່ໃນການທົດລອງ"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"ທຸງຄຸນສົມບັດ"</string>
     <string name="talkback_title" msgid="8756080454514251327">"Talkback"</string>
@@ -2105,27 +2088,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"ແຕະລາຍການໃນໜ້າຈໍຂອງທ່ານເພື່ອຟັງອອກສຽງ"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"ການຕັ້ງຄ່າຄຳບັນຍາຍ"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"ການຂະຫຍາຍ"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"ພື້ນທີ່ການຂະຫຍາຍ"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"ເປີດການນຳໃຊ້ການຂະຫຍາຍ"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"ເລືອກພື້ນທີ່ການຂະຫຍາຍທີ່ທ່ານຕ້ອງການໃຊ້ເມື່ອຂະຫຍາຍໜ້າຈໍ"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"ເຕັມຈໍ"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"ບາງສ່ວນຂອງໜ້າຈໍ"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"ເຕັມຈໍ ແລະ ບາງສ່ວນຂອງຈໍ"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"ຂະຫຍາຍທັງໜ້າຈໍ"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"ຂະຫຍາຍບາງສ່ວນຂອງໜ້າຈໍ"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"ການຕັ້ງຄ່າການຂະຫຍາຍ"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"ຂະຫຍາຍດ້ວຍການແຕະສາມເທື່ອ"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"ຂະຫຍາຍດ້ວຍທາງລັດ"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"ຂະຫຍາຍດ້ວຍທາງລັດ ແລະ ການແຕະສາມເທື່ອ"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"ກ່ຽວກັບ <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"ຕົວເລືອກ"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"ຊູມເຂົ້າໃນໜ້າຈໍ"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"ແຕະ 3 ຄັ້ງເພື່ອຊູມ"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"ແຕະປຸ່ມເພື່ອຊູມ"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><b>"ເພື່ອຊູມ"</b>", ໃຫ້ແຕະໃສ່ໜ້າຈໍໄວໆ 3 ເທື່ອ.\n"<ul><li>"ລາກສອງນິ້ວຂຶ້ນໄປເພື່ອເລື່ອນ"</li>\n<li>"ຖ່າງສອງນິ້ວຂຶ້ນໄປເພື່ອປັບແຕ່ງລະດັບການຊູມ"</li></ul>\n\n<b>"ເພື່ອຊູມຊົ່ວຄາວ"</b>", ໃຫ້ແຕະໃສ່ໜ້າຈໍໄວໆ 3 ເທື່ອ ແລ້ວກົດນິ້ວຂອງທ່ານລົງຄ້າງໄວ້ໃນເທື່ອທີສາມ.\n"<ul><li>"ລາກເພື່ອເລື່ອນໄປມາຢູ່ໜ້າຈໍ"</li>\n<li>"ຍົກນິ້ວຂຶ້ນເພື່ອຊູມອອກ"</li></ul>\n\n"ທ່ານບໍ່ສາມາດຊູມໃສ່ແປ້ນພິມ ຫຼື ແຖບການນຳທາງໄດ້."</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"ເມື່ອເປີດໃຊ້ການຂະຫຍາຍແລ້ວ, ທ່ານຈະສາມາດຊູມເຂົ້າຢູ່ໜ້າຈໍຂອງທ່ານໄດ້.\n\n"<b>"ເພື່ອຊູມ"</b>", ໃຫ້ເລີ່ມການຂະຫຍາຍກ່ອນ, ຈາກນັ້ນແຕະໃສ່ບ່ອນໃດກໍໄດ້ຢູ່ໜ້າຈໍ.\n"<ul><li>"• ລາກ 2 ນິ້ວຂຶ້ນໄປເພື່ອເລື່ອນ"</li>\n<li>"• ຖ່າງ 2 ນິ້ວຂຶ້ນໄປເພື່ອປັບແຕ່ງການຊູມ"</li></ul>\n\n<b>"ເພື່ອຊູມຊົ່ວຄາວ"</b>", ໃຫ້ເລີ່ມການຂະຫຍາຍ, ຈາກນັ້ນແຕະບ່ອນໃດກໍໄດ້ຢູ່ໜ້າຈໍຄ້າງໄວ້.\n"<ul><li>"• ລາກເພື່ອຍ້າຍໄປມາຢູ່ໜ້າຈໍ"</li>\n<li>"• ຍົກນິ້ວເພື່ອຊູມອອກ"</li></ul>\n\n"ທ່ານບໍ່ສາມາດຊູມເຂົ້າຢູ່ແປ້ນພິມ ຫຼື ແຖບການນຳທາງໄດ້."</string>
+    <string name="accessibility_screen_magnification_summary" msgid="7617931632990040045">"ຊູມດ່ວນຢູ່ໜ້າຈໍເພື່ອເບິ່ງເນື້ອຫາໄດ້ຊັດເຈນຍິ່ງຂຶ້ນ.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;ເພື່ອຊູມເຂົ້າ:&lt;/b&gt;&lt;br/&gt;	1. ໃຊ້ທາງລັດເພື່ອເລີ່ມການຂະຫຍາຍ&lt;br/&gt;	2. ແຕະໜ້າຈໍ&lt;br/&gt;	3. ລາກ 2 ນິ້ວເພື່ອຍ້າຍໄປມາຢູ່ໜ້າຈໍ&lt;br/&gt;	4. ຖ່າງດ້ວຍ 2 ນິ້ວເພື່ອປັບການຊູມ&lt;br/&gt;	5. ໃຊ້ທາງລັດເພື່ອຢຸດການຂະຫຍາຍ&lt;br/&gt;&lt;br/&gt;&lt;b&gt;ເພື່ອຊູມຊົ່ວຄາວ:&lt;/b&gt;&lt;br/&gt;	1. ໃຊ້ທາງລັດເພື່ອເລີ່ມການຂະຫຍາຍ&lt;br/&gt;	2. ແຕະຄ້າງຢູ່ບ່ອນໃດກໍໄດ້ຢູ່ໜ້າຈໍ&lt;br/&gt;	3. ລາກນິ້ວເພື່ອຍ້າຍໄປມາຢູ່ໜ້າຈໍ&lt;br/&gt;	4. ຍົກນິ້ວຂຶ້ນເພື່ອຢຸດການຂະຫຍາຍ"</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"ເມື່ອເປີດໃຊ້ການຂະຫຍາຍແລ້ວ, ທ່ານສາມາດຊູມເຂົ້າຢູ່ໜ້າຈໍຂອງທ່ານໄດ້.\n\n"<b>"ເພື່ອຊູມ"</b>", ໃຫ້ເລີ່ມການຂະຫຍາຍ, ຈາກນັ້ນແຕະໃສ່ບ່ອນໃດກໍໄດ້ຢູ່ໜ້າຈໍ.\n"<ul><li>"ລາກ 2 ນິ້ວ ຫຼື ຫຼາຍກວ່ານັ້ນເພື່ອເລື່ອນ"</li>\n<li>"ຖ່າງ 2 ນິ້ວ ຫຼື ຫຼາຍກວ່ານັ້ນເພື່ອປັບແຕ່ງການຊູມ"</li></ul>\n\n<b>"ເພື່ອຊູມຊົ່ວຄາວ"</b>", ໃຫ້ເລີ່ມການຂະຫຍາຍ, ຈາກນັ້ນແຕະໃສ່ບ່ອນໃດກໍໄດ້ຢູ່ໜ້າຈໍຄ້າງໄວ້.\n"<ul><li>"ລາກເພື່ອຍ້າຍໄປມາຢູ່ໜ້າຈໍ"</li>\n<li>"ຍົກນິ້ວຂຶ້ນເພື່ອຊູມອອກ"</li></ul>\n\n"ທ່ານບໍ່ສາມາດຊູມໃສ່ແປ້ນພິມ ຫຼື ແຖບການນຳທາງໄດ້."</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"ໃຊ້ປຸ່ມການຊ່ວຍເຂົ້າເຖິງເພື່ອເປີດ"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"ໃຊ້ທ່າທາງເພື່ອເປີດ"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"ໃຊ້ທ່າທາງການຊ່ວຍເຂົ້າເຖິງໃໝ່"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"ເພື່ອປິດ ຫຼື ເປິດບໍລິການນີ້, ໃຫ້ແຕະໃສ່ປຸ່ມການຊ່ວຍເຂົ້າເຖິງ<xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>ຢູ່ລຸ່ມສຸດຂອງໜ້າຈໍທ່ານ.\n\nເພື່ອສະຫຼັບລະຫວ່າງບໍລິການຕ່າງໆ, ໃຫ້ແຕະໃສ່ປຸ່ມການຊ່ວຍເຂົ້າເຖິງຄ້າງໄວ້."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"ເພື່ອປິດ ຫຼື ເປິດບໍລິການນີ້, ໃຫ້ປັດຂຶ້ນຈາກລຸ່ມສຸດຂອງໜ້າຈໍດ້ວຍສອງນິ້ວ.\n\nເພື່ອສະຫຼັບລະຫວ່າງບໍລິການຕ່າງໆ, ໃຫ້ປັດຂຶ້ນດ້ວຍສອງນິ້ວຄ້າງໄວ້."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"ເພື່ອປິດ ຫຼື ເປິດບໍລິການນີ້, ໃຫ້ປັດຂຶ້ນຈາກລຸ່ມສຸດຂອງໜ້າຈໍດ້ວຍສາມນິ້ວ.\n\nເພື່ອສະຫຼັບລະຫວ່າງບໍລິການຕ່າງໆ, ໃຫ້ປັດຂຶ້ນດ້ວຍສາມນິ້ວຄ້າງໄວ້."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"ເພື່ອປິດ ຫຼື ເປີດບໍລິການການຊ່ວຍເຂົ້າເຖິງ, ໃຫ້ປັດຂຶ້ນຈາກລຸ່ມສຸດຂອງໜ້າຈໍດ້ວຍສອງນິ້ວ.\n\nເພື່ອສະຫຼັບລະຫວ່າງບໍລິການຕ່າງໆ, ໃຫ້ປັດຂຶ້ນດ້ວຍສອງນິ້ວຄ້າງໄວ້."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"ເພື່ອປິດ ຫຼື ເປີດບໍລິການການຊ່ວຍເຂົ້າເຖິງ, ໃຫ້ປັດຂຶ້ນຈາກລຸ່ມສຸດຂອງໜ້າຈໍດ້ວຍສາມນິ້ວ.\n\nເພື່ອສະຫຼັບລະຫວ່າງບໍລິການຕ່າງໆ, ໃຫ້ປັດຂຶ້ນດ້ວຍສາມນິ້ວຄ້າງໄວ້."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"ເພື່ອປິດ ຫຼື ເປິດບໍລິການນີ້, ໃຫ້ແຕະໃສ່ປຸ່ມການຊ່ວຍເຂົ້າເຖິງ <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> ຢູ່ລຸ່ມສຸດຂອງໜ້າຈໍທ່ານ.\n\nເພື່ອສະຫຼັບລະຫວ່າງບໍລິການຕ່າງໆ, ໃຫ້ແຕະໃສ່ປຸ່ມການຊ່ວຍເຂົ້າເຖິງຄ້າງໄວ້."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"ເພື່ອປິດ ຫຼື ເປິດບໍລິການນີ້, ໃຫ້ປັດຂຶ້ນຈາກລຸ່ມສຸດຂອງໜ້າຈໍດ້ວຍສອງນິ້ວ.\n\nເພື່ອສະຫຼັບລະຫວ່າງບໍລິການຕ່າງໆ, ໃຫ້ປັດຂຶ້ນດ້ວຍສອງນິ້ວຄ້າງໄວ້."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"ເພື່ອປິດ ຫຼື ເປິດບໍລິການນີ້, ໃຫ້ປັດຂຶ້ນຈາກລຸ່ມສຸດຂອງໜ້າຈໍດ້ວຍສາມນິ້ວ.\n\nເພື່ອສະຫຼັບລະຫວ່າງບໍລິການຕ່າງໆ, ໃຫ້ປັດຂຶ້ນດ້ວຍສາມນິ້ວຄ້າງໄວ້."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"ເພື່ອປິດ ຫຼື ເປີດບໍລິການການຊ່ວຍເຂົ້າເຖິງ, ໃຫ້ປັດຂຶ້ນຈາກລຸ່ມສຸດຂອງໜ້າຈໍດ້ວຍສອງນິ້ວ.\n\nເພື່ອສະຫຼັບລະຫວ່າງບໍລິການຕ່າງໆ, ໃຫ້ປັດຂຶ້ນດ້ວຍສອງນິ້ວຄ້າງໄວ້."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"ເພື່ອປິດ ຫຼື ເປີດບໍລິການການຊ່ວຍເຂົ້າເຖິງ, ໃຫ້ປັດຂຶ້ນຈາກລຸ່ມສຸດຂອງໜ້າຈໍດ້ວຍສາມນິ້ວ.\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="2820923641553461297">"ປຸ່ມການຊ່ວຍເຂົ້າເຖິງ"</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="8922102767509399352">"ແຕະໃສ່ປຸ່ມການຊ່ວຍເຂົ້າເຖິງ <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> ຢູ່ລຸ່ມສຸດຂອງໜ້າຈໍທ່ານ"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"ປັດຂຶ້ນຈາກລຸ່ມສຸດຂອງໜ້າຈໍດ້ວຍ 2 ນິ້ວ"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"ປັດຂຶ້ນຈາກລຸ່ມສຸດຂອງໜ້າຈໍດ້ວຍ 3 ນິ້ວ"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"ກົດປຸ່ມລະດັບສຽງຄ້າງໄວ້"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"ກົດປຸ່ມລະດັບສຽງທັງສອງຄ້າງໄວ້ 1 ວິນາທີ"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"ແຕະໃສ່ໜ້າຈໍສາມເທື່ອ"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"ແຕະໜ້າຈໍໄວໆ 3 ເທື່ອ. ທາງລັດນີ້ອາດເຮັດໃຫ້ອຸປະກອນຂອງທ່ານຊ້າລົງ."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"ຂັ້ນສູງ"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"ປຸ່ມການຊ່ວຍເຂົ້າເຖິງຖືກຕັ້ງເປັນ <xliff:g id="SERVICE">%1$s</xliff:g> ແລ້ວ. ເພື່ອໃຊ້ການຂະຫຍາຍ, ໃຫ້ແຕະປຸ່ມການຊ່ວຍເຂົ້າເຖິງຄ້າງໄວ້, ຈາກນັ້ນເລືອກການຂະຫຍາຍ."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"ຕັ້ງທ່າທາງການຊ່ວຍເຫຼືອເປັນ <xliff:g id="SERVICE">%1$s</xliff:g> ແລ້ວ. ເພື່ອໃຊ້ການຂະຫຍາຍ, ໃຫ້ປັດຂຶ້ນດ້ວຍສອງນິ້ວຈາກລຸ່ມສຸດຂອງໜ້າຈໍຄ້າງໄວ້. ຈາກນັ້ນເລືອກການຂະຫຍາຍ."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"ທາງລັດປຸ່ມລະດັບສຽງ"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"ບໍລິການປຸ່ມທາງລັດ"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"ການຕັ້ງຄ່າທາງລັດ"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"ອະນຸຍາດຈາກໜ້າຈໍລັອກ"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"ເມື່ອເປີດໃຊ້ທາງລັດແລ້ວ, ທ່ານສາມາດກົດປຸ່ມລະດັບສຽງທັງສອງຄ້າງໄວ້ 3 ວິນາທີເພື່ອເລີ່ມຄຸນສົມບັດການຊ່ວຍເຂົ້າເຖິງໄດ້."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"​ໂຕ​ອັກ​ສອນ​ຄອນ​ທຣາສ​ສູງ"</string>
@@ -2149,24 +2157,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"ເລືອກໄລຍະເວລາເພື່ອສະແດງຂໍ້ຄວາມໃຫ້ທ່ານດຳເນີນການ, ແຕ່ຈະເຫັນຊົ່ວຄາວເທົ່ານັ້ນ.\n\nບໍ່ແມ່ນທຸກແອັບທີ່ຮອງຮັບການຕັ້ງຄ່ານີ້."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"ການກົດຄ້າງໄວ້"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"ການປີ້ນສີ"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"ອາດກະທົບກັບປະສິດທິພາບ"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"ຄຳນຶງຮອດເວລາ"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"ໃຊ້ການປີ້ນສີ"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"ການປີ້ນສີຈະປ່ຽນຈໍແຈ້ງໃຫ້ມືດ. ນີ້ຈະຊ່ວຍໃຫ້ຄົນທີ່ມີຄວາມອ່ອນໄຫວຕໍ່ແສງແຈ້ງສາມາດເບິ່ງເຫັນໜ້າຈໍໄດ້ງ່າຍຍິ່ງຂຶ້ນ.&lt;br/&gt;&lt;br/&gt;ໝາຍເຫດ: ສີມືດຈະກາຍເປັນສີແຈ້ງ. ສີຈະປ່ຽນໃນມີເດຍ ແລະ ຮູບນຳ. ທ່ານສາມາດໃຊ້ຮູບແບບສີສັນມືດໄດ້ເຊັ່ນກັນ (ການຕັ້ງຄ່າ &gt; ການສະແດງຜົນ)."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"ຄລິກອັດຕະໂນມັດ (ໄລຍະເວລາທີ່ບໍ່ເລື່ອນເມົ້າ)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"ຫາກທ່ານກຳລັງໃຊ້ເມົ້າຢູ່, ທ່ານສາມາດຕັ້ງໃຫ້ລູກສອນເຮັດຄຳສັ່ງອັດຕະໂນມັດເມື່ອມັນຢຸດເຄື່ອນໄຫວເປັນໄລຍະເວລາໜຶ່ງໄດ້."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"ໜ່ວງເວລາກ່ອນຄລິກ"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"ຢ່າໃຊ້ຄລິກອັດຕະໂນມັດ (ຄ່າເລີ່ມຕົ້ນ)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"ສັ້ນ"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0.2 ວິນາທີ"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"ປານກາງ"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0.6 ວິນາທີ"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"ຍາວ"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 ວິນາທີ"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"ກຳນົດເອງ"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"ສັ້ນລົງ"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"ດົນຂຶ້ນ"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"ເວລາຄລິກອັດຕະໂນມັດ"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"ຄວາມແຮງການສັ່ນເຕືອນ ແລະ ການຕອບສະໜອງ"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"ການແຈ້ງເຕືອນແບບສັ່ນເຕືອນ"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"ສຽງພ້ອມການສັ່ນເຕືອນ"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"ການຕອບສະໜອງການສຳຜັດ"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"ໃຊ້ບໍລິການ"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"ໃຊ້ <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"ເປີດ <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"ໃຊ້ການແກ້ໄຂສີ"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"ໃຊ້ຄຳບັນຍາຍ"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"ສະແດງຄຳບັນຍາຍ"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"ການສະແດງຄຳບັນຍາຍ"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"ຂະໜາດຂໍ້ຄວາມ, ຮູບແບບຄຳບັນຍາຍ"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"ຕົວເລືອກເພີ່ມເຕີມ"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"ບໍ່ແມ່ນແອັບທັງໝົດທີ່ຈະຮອງຮັບການຕັ້ງຄ່ານີ້."</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>
     <string name="accessibility_hearingaid_instruction_continue_button" msgid="3367260988024430722">"ສືບຕໍ່"</string>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"ເຄື່ອງຊ່ວຍຟັງ"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"ບໍ່ໄດ້ເຊື່ອມຕໍ່ການຊ່ວຍຟັງ"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"ເພີ່ມອຸປະກອນຊ່ວຍຟັງ"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"ເພື່ອຈັບຄູ່ອຸປະກອນຊ່ວຍຟັງຂອງທ່ານ, ໃຫ້ຊອກຫາ ແລ້ວແຕະໃສ່ອຸປະກອນຂອງທ່ານຢູ່ໜ້າຈໍຖັດໄປ."</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"ກະລຸນາກວດສອບວ່າອຸປະກອນຊ່ວຍຟັງຂອງທ່ານຢູ່ໃນໂໝດຈັບຄູ່ແລ້ວ."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"ເພື່ອຈັບຄູ່ອຸປະກອນຊ່ວຍຟັງຂອງທ່ານ, ໃຫ້ຊອກຫາແລ້ວແຕະໃສ່ອຸປະກອນຂອງທ່ານຢູ່ໜ້າຈໍຖັດໄປ. ກະລຸນາກວດສອບວ່າອຸປະກອນຊ່ວຍຟັງຂອງທ່ານຢູ່ໃນໂໝດຈັບຄູ່ແລ້ວ."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ໃຊ້ຢູ່"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="other">ບັນທຶກ <xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> ການຊ່ວຍຟັງແລ້ວ</item>
@@ -2178,25 +2204,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"ບໍລິການນີ້ເຮັດວຽກຜິດປົກກະຕິ."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"ສະ​ແດງໃນການຕັ້ງຄ່າດ່ວນ"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"ໂໝດການແກ້ໄຂ"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="other">ຄວາມ​ຊັກຊ້າ​ສັ້ນ​ຫຼາຍ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ມິ​ລ​ລິ​ວິ​ນາ​ທີ)</item>
-      <item quantity="one">ຄວາມ​ຊັກຊ້າ​ສັ້ນ​ຫຼາຍ (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ມິ​ລ​ລິ​ວິ​ນາ​ທີ)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"ສີແດງ-ຂຽວ"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"ສີີຂຽວ-ແດງ"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"ສີຟ້າ-ເຫຼືອງ"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"ຕາບອດຈາງສີຂຽວ"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"ຕາບອດຈາງສີແດງ"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"ຕາບອດຈາງສີຟ້າ"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="other">ຫຼ້າຊ້າໜ້ອຍຫຼາຍ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ວິນາທີ)</item>
+      <item quantity="one">ຫຼ້າຊ້າໜ້ອຍຫຼາຍ (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> ວິນາທີ)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="other">ຄວາມ​ຊັກຊ້າ​ສັ້ນ​ຫຼາຍ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ມິ​ລ​ລິ​ວິ​ນາ​ທີ)</item>
-      <item quantity="one">ຄວາມ​ຊັກຊ້າ​ສັ້ນ​ຫຼາຍ (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ມິ​ລ​ລິ​ວິ​ນາ​ທີ)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="other">ຫຼ້າຊ້າສັ້ນຫຼາຍ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ວິນາທີ)</item>
+      <item quantity="one">ຫຼ້າຊ້າສັ້ນຫຼາຍ (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> ວິນາທີ)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="other">ຄວາມ​ຊັກຊ້າ​ສັ້ນ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ມິ​ລ​ລິ​ວິ​ນາ​ທີ)</item>
-      <item quantity="one">ຄວາມ​ຊັກຊ້າ​ສັ້ນ (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ມິ​ລ​ລິ​ວິ​ນາ​ທີ)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="other">ຫຼ້າຊ້າສັ້ນ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ວິນາທີ)</item>
+      <item quantity="one">ຫຼ້າຊ້າສັ້ນ (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> ວິນາທີ)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="other">ຄວາມ​ຊັກຊ້າ​ຍາວ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ມິ​ລ​ລິ​ວິ​ນາ​ທີ)</item>
-      <item quantity="one">ຄວາມ​ຊັກຊ້າ​ຍາວ (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ມິ​ລ​ລິ​ວິ​ນາ​ທີ)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="other">ຫຼ້າຊ້າດົນ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ວິນາທີ)</item>
+      <item quantity="one">ຫຼ້າຊ້າດົນ (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> ວິນາທີ)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="other">ຄວາມ​ຊັກຊ້າ​ດົນ​ຫຼາຍ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ມິ​ລ​ລິ​ວິ​ນາ​ທີ)</item>
-      <item quantity="one">ຄວາມ​ຊັກຊ້າ​ດົນ​ຫຼາຍ (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ມິ​ລ​ລິ​ວິ​ນາ​ທີ)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="other">ຫຼ້າຊ້າດົນຫຼາຍ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ວິນາທີ)</item>
+      <item quantity="one">ຫຼ້າຊ້າດົນຫຼາຍ (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> ວິນາທີ)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ວິນາທີ</item>
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> ວິນາທີ</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"ເປີດສຽງ <xliff:g id="SUMMARY_RING">%1$s</xliff:g>, ການແຈ້ງເຕືອນ <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>, ແຕະ <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"ປິດສຽງ ແລະ ການແຈ້ງເຕືອນແລ້ວ"</string>
@@ -2513,7 +2549,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"ການນຳໃຊ້ຕັ້ງແຕ່ຖອດສາຍໄຟອອກ <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"ໃຊ້ທັງໝົດ"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"ດຶງຂໍ້ມູນໃໝ່"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"Android OS"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"Mediaserver"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"ການ​ປັບ​ແອັບ​ໃຫ້​ເໝາະ​ສົມ"</string>
     <string name="battery_saver" msgid="7737147344510595864">"ຕົວປະຢັດແບັດເຕີຣີ"</string>
@@ -2594,8 +2629,7 @@
     <string name="tts_play" msgid="2945513377250757221">"ຫຼິ້ນ"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"ພື້ນທີ່ຈັດເກັບຂໍ້ມູນຮັບຮອງ"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"ຕິດຕັ້ງຈາກພື້ນທີ່ຈັດເກັບຂໍ້ມູນ"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"ຕິດຕັ້ງຈາກ SD card"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"ຕິດຕັ້ງໃບຮັບຮອງ"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"ຕິດຕັ້ງໃບຮັບຮອງຈາກບ່ອນຈັດເກັບຂໍ້ມູນ"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"ຕິດຕັ້ງໃບຮັບຮອງຈາກ SD card"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"ລຶບຂໍ້ມູນຮັບຮອງ"</string>
@@ -2615,6 +2649,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"ພື້ນທີ່ຈັດເກັບຂໍ້ມູນຮັບຮອງຖືກລຶບແລ້ວ."</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"ບ່ອນຈັດເກັບຂໍ້ມູນຮັບຮອງບໍ່ສາມາດຖືກລຶບໄດ້."</string>
     <string name="usage_access_title" msgid="1580006124578134850">"ແອັບທີ່ມີສິດອະນຸຍາດເຂົ້າເຖິງ"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"ໃບຮັບຮອງ​ CA"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"VPN ແລະ ໃບຮັບຮອງຜູ້ໃຊ້ແອັບ"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"ໃບຮັບຮອງ Wi‑Fi"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"ຄວາມເປັນສ່ວນຕົວຂອງທ່ານມີຄວາມສ່ຽງ"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"ໃບຮັບຮອງ CA ສາມາດໃຊ້ໄດ້ໂດຍເວັບໄຊ, ແອັບ ແລະ VPN ສຳລັບການເຂົ້າລະຫັດ. ໃຫ້ຕິດຕັ້ງໃບຮັບຮອງ CA ຈາກອົງການທີ່ທ່ານເຊື່ອຖືເທົ່ານັ້ນ. \n\n ຫາກທ່ານຕິດຕັ້ງໃບຮັບຮອງ CA, ເຈົ້າຂອງໃບຮັບຮອງຈະສາມາດເຂົ້າເຖິງຂໍ້ມູນຂອງທ່ານໄດ້ ເຊັ່ນ: ລະຫັດຜ່ານ, ຂໍ້ຄວາມ ຫຼື ລາຍລະອຽດບັດເຄຣດິດຈາກເວັບໄຊ ຫຼື ແອັບທີ່ທ່ານໃຊ້, ເຖິງແມ່ນວ່າຂໍ້ມູນນັ້ນຈະຖືກເຂົ້າລະຫັດໄວ້ກໍຕາມ."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"ຢ່າ​ຕິດ​ຕັ້ງ"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"ຢືນຢັນການຕິດຕັ້ງ"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"ບໍ່ໄດ້ຕິດຕັ້ງໃບຮັບຮອງເທື່ອ"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"ສັນຍານການໂທສຸກເສີນ"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"ຕັ້ງຄ່າການເຮັດວຽກເມື່ອມີການໂທຫາໝາຍເລກສຸກເສີນ"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"ສຳຮອງຂໍ້ມູນ"</string>
@@ -2642,10 +2684,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"ປິດການນຳໃຊ້ ແລະ ຖອນການຕິດຕັ້ງ"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"ແອັບຜູ້ເບິ່ງແຍງລະບົບອຸປະກອນ"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"ບໍ່ມີແອັບຜູ້ເບິ່ງແຍງລະບົບອຸປະກອນທີ່ສາມາດໃຊ້ໄດ້"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"​ສ່ວນ​ໂຕ"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"​ບ່ອນ​ເຮັດ​ວຽກ"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"ຈຳກັດການເຂົ້າເຖິງບັນທຶກ SMS ແລະ ການໂທ"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"ມີພຽງແອັບໂທລະສັບ ແລະ ແອັບສົ່ງຂໍ້ຄວາມເລີ່ມຕົ້ນທີ່ມີສິດອະນຸຍາດບັນທຶກການໂທ ແລະ SMS"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"ບໍ່​ມີ​ຕົວ​ແທນ​ການ​ເຊື່ອ​ຖື​ທີ່​ໃຊ​້​ໄດ້"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"ເປີດການນຳໃຊ້ແອັບຜູ້ເບິ່ງແຍງລະບົບອຸປະກອນບໍ?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"ເປີດນຳໃຊ້ແອັບຜູ້ເບິ່ງແຍງລະບົບອຸປະກອນນີ້"</string>
@@ -2659,6 +2697,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"ຕົວເລືອກອື່ນໆຖືກປິດໄວ້ໂດຍຜູ້ເບິ່ງແຍງລະບົບຂອງທ່ານ"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"ລາຍລະອຽດເພີ່ມເຕີມ"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"​ບັນ​ທຶກ​ການ​ແຈ້ງ​ເຕືອນ"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"ປະຫວັດການແຈ້ງເຕືອນ"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"ມື້ນີ້"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"ເລື່ອນແລ້ວ"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"ປິດຫຼ້າສຸດ"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> ການແຈ້ງເຕືອນ</item>
+      <item quantity="one"><xliff:g id="NUMBER_0">%d</xliff:g> ການແຈ້ງເຕືອນ</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"ສຽງຣິງໂທນ &amp; ການສັ່ນເຕືອນ"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"ລາຍລະອຽດເຄືອຂ່າຍ"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"ເປີດການຊິ້ງຂໍ້ມູນແລ້ວ"</string>
@@ -3008,7 +3054,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"ການ​ຈໍາ​ກັດ"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"ລຶບການຈຳກັດ"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"​ປ່ຽນ​ PIN"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"ສະແດງແຈ້ງເຕືອນ"</string>
     <string name="help_label" msgid="2896538416436125883">"ຊ່ວຍເຫຼືອ &amp; ຄຳຕິຊົມ"</string>
     <string name="support_summary" msgid="1034146931237148885">"ບົດຄວາມຊ່ວຍເຫຼືອ, ໂທລະສັບ ແລະ ການສົນທະນາ, ການເລີ່ມຕົ້ນ"</string>
     <string name="user_account_title" msgid="6389636876210834864">"ບັນຊີສຳລັບເນື້ອຫາ"</string>
@@ -3033,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"ການໂທ 4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"ໃຊ້ບໍລິການ LTE ເພື່ອປັບປຸງສຽງ ແລະ ການສື່ສານອື່ນໆ (ແນະນຳ)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"ໃຊ້ບໍລິການ 4G ເພື່ອປັບປຸງສຽງ ແລະ ການສື່ສານອື່ນໆ (ແນະນຳ)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"ການຄົ້ນພົບລາຍຊື່ຜູ້ຕິດຕໍ່"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"ອະນຸຍາດໃຫ້ຜູ້ໃຫ້ບໍລິການຂອງທ່ານຄົ້ນພົບໄດ້ລາຍຊື່ຜູ້ຕິດຕໍ່ຂອງທ່ານຮອງຮັບຄຸນສົມບັດການໂທໃດ."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"ເປີດໃຊ້ການຄົ້ນພົບລາຍຊື່ຜູ້ຕິດຕໍ່ບໍ?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"ການເປີດນຳໃຊ້ຄຸນສົມບັດນີ້ຈະເຮັດໃຫ້ຜູ້ໃຫ້ບໍລິການຂອງທ່ານເຂົ້າເຖິງເບີໂທລະສັບໃນລາຍຊື່ຜູ້ຕິດຕໍ່ຂອງທ່ານເພື່ອເບິ່ງວ່າສາມາດຮອງຮັບຄຸນສົມບັດການໂທໃດໄດ້ແດ່."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"ປະ​ເພດ​ເຄືອ​ຂ່າຍທີ່ຕ້ອງການ"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (ແນະ​ນໍາ​)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"ຂໍ້ຄວາມ MMS"</string>
@@ -3077,7 +3126,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"ໂທ​ດ້ວຍ"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"ເລືອກ SIM ກາດ"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"SIM <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"SIM ຫວ່າງເປົ່າ"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"ຊື່ SIM"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"ປ້ອນ​ຊື່ SIM ເຂົ້​າ​ໄປ"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"ຊ່ອງ​ຊິມ %1$d"</string>
@@ -3087,6 +3135,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"ເລືອກ SIM ກາດ"</string>
     <string name="color_orange" msgid="216547825489739010">"ສີສົ້ມ"</string>
     <string name="color_purple" msgid="6603701972079904843">"ສີມ່ວງ"</string>
+    <string name="color_pink" msgid="8596872110888626708">"ສີບົວ"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"ບໍ່​ໄດ້​ໃສ່ SIM ກາດ"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"ສະ​ຖາ​ນະ SIM"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"ສະຖານະ SIM (ຊິມຊ່ອງ %1$d)"</string>
@@ -3100,7 +3149,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"ປ່ຽນ​ແຜ່ນ SIM ແລ້ວ."</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"ແຕະເພື່ອຕັ້ງຄ່າ"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"​ຊິມ​ທີ່​ໃຊ້​ສຳ​ລັບ"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"​ຖາມ​ທຸກ​ເທື່ອ"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"ຕ້ອງເລືອກ​ອັນໃດອັນນຶ່ງ"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"ການເລືອກ SIM"</string>
@@ -3118,6 +3166,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"Bluetooth, ໂໝດຂັບລົດ"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"Bluetooth, NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"Bluetooth"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"ບໍ່ສາມາດໃຊ້ໄດ້ເນື່ອງຈາກ NFC ປິດຢູ່"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"ແອັບ ແລະ ການແຈ້ງເຕືອນ"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"ແອັບຫຼ້າສຸດ, ແອັບເລີ່ມຕົ້ນ"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"ບໍ່ສາມາດເຂົ້າເຖິງການແຈ້ງເຕືອນສຳລັບແອັບໃນໂປຣໄຟລ໌ບ່ອນເຮັດວຽກໄດ້."</string>
@@ -3128,13 +3177,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"​ການ​ຕັ້ງ​ຄ່າ"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"wifi, wi-fi, ການເຊື່ອມຕໍ່ເຄືອຂ່າຍ, ອິນເຕີເນັດ, ໄຮ້ສາຍ, ຂໍ້ມູນ, wi fi"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"ການແຈ້ງເຕືອນ Wi‑Fi, ການແຈ້ງເຕືອນ wifi"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"ການນຳໃຊ້ອິນເຕີເນັດ"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"ຢຸດການສັ່ນເຕືອນ, ແຕະ, ແປ້ນພິມ"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"ໃຊ້ຮູບແບບ 24 ຊົ່ວໂມງ"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"ດາວໂຫລດ"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"ເປີດກັບ"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"ແອັບພລິເຄຊັນ"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"ເຂດເວລາ"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"ສ່ວນຫົວການສົນທະນາ"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"ຫົວການສົນທະນາ, ລະບົບ, ການເຕືອນ, ໜ້າຈໍ, ກ່ອງຂໍ້ຄວາມ, ການສະແດງຜົນ, ຢູ່ບັງແອັບອື່ນ, ແຕ້ມ"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"ໄຟຍສາຍ, ໄຟ, ໄຟສ່ອງ"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"wifi, wi-fi, ເປີດ/ປິດ, ຄວບຄຸມ"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"ເຄືອຂ່າຍມືຖື, ມືຖື, ຜູ້ໃຫ້ບໍລິການມືຖື, ໄຮ້ສາຍ, ຂໍ້ມູນ, 4g, 3g, 2g, lte"</string>
@@ -3158,7 +3208,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"ຫ້າມ ຫ້າມລົບກວນ, ຂັດຈັງຫວະ, ການຂັດຈັງຫວະ, ຢຸດເຊົາ"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"ໃກ້ຄຽງ, ສະຖານທີ່, ປະຫວັດ, ການລາຍງານ, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"ບັນຊີ"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"ບັນຊີ, ເພີ່ມບັນຊີ, ໂປຣໄຟລ໌ບ່ອນເຮັດວຽກ, ເພີ່ມບັນຊີ"</string>
     <string name="keywords_users" msgid="3497517660077620843">"ຂໍ້ຈຳກັດ, ຈຳກັດ, ຈຳກັດແລ້ວ"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"ການແກ້ໄຂຂໍ້ຄວາມໃຫ້ຖືກຕ້ອງ, ຖືກຕ້ອງ, ສຽງດັງ, ສັ່ນ, ສຽງ, ພາສາ, ທ່າທາງ, ແນະນຳ, ຄຳແນະນຳ, ຊຸດຮູບແບບ, ຫຍາບຄາຍ, ຄຳສັບ, ພິມ, ອີໂມຈິ, ສາກົນ"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"ຣີເຊັດ, ຄວາມມັກ, ຄ່າເລີ່ມຕົ້ນ"</string>
@@ -3196,6 +3246,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"ໜ່ວຍຄວາມຈຳ, ແຄສ, ຂໍ້ມູນ, ລຶບ, ລຶບລ້າງ, ຫວ່າງ, ພື້ນທີ່"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"ເຊື່ອມຕໍ່ແລ້ວ, ອຸປະກອນ, ຫູຟັງ, ລຳໂພງ, ໄຮ້ສາຍ, ຈັບຄູ່, ເພງ, ມີເດຍ"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"ພື້ນຫຼັງ, ໜ້າຈໍ, ໜ້າຈໍລັອກ, ຮູບແບບສີສັນ"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"ຮູບຮ່າງໄອຄອນ, ສີຍ່ອຍ, ຟອນ"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"ຄ່າເລີ່ມຕົ້ນ, ຜູ້ຊ່ວຍ"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"ການຈ່າຍເງິນ, ຄ່າເລີ່ມຕົ້ນ"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"ການແຈ້ງເຕືອນເຂົ້າ"</string>
@@ -3205,18 +3256,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"ສຳຜັດ, ສັ່ນເຕືອນ, ຄວາມລະອຽດອ່ອນ"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"ຕົວປະຢັດແບັດເຕີຣີ, ຕິດໄວ້, ຕໍ່ເນື່ອງ, ປະຢັດໄຟ, ແບັດເຕີຣີ"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"ກິດຈະກັດ, ກຳນົດການ, ຕົວປະຢັດແບັດເຕີຣີ, ຕົວປະຢັດໄຟ, ແບັດເຕີຣີ, ອັດຕະໂນມັດ, ເປີເຊັນ"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"ໂປຣໄຟລ໌ບ່ອນເຮັດວຽກ"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"volte, ການໂທຂັ້ນສູງ, ການໂທ 4g"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"ເພີ່ມພາສາ, ເພີ່ມພາສາໃດໜຶ່ງ"</string>
     <string name="default_sound" msgid="6604374495015245195">"​ສຽງ​ເລີ່ມ​ຕົ້ນ"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"ສຽງໂທລະສັບທີ່ <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"ລະດັບສຽງໂທເຂົ້າ ແລະ ສຽງແຈ້ງເຕືອນທີ່ <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"ລະດັບສຽງ, ການສັ່ນເຕືອນ, ຫ້າມລົບກວນ"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"ເປີດໃຫ້ສັ່ນເຕືອນແລ້ວ"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"ປິດສຽງໂທລະສັບແລ້ວ"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"ສຽງໂທລະສັບທີ່ 80%"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"ລະດັບສຽງໂທເຂົ້າ ແລະ ສຽງແຈ້ງເຕືອນທີ່ 80%"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"​ລະ​ດັບ​ສຽງ​ມີ​ເດຍ"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"ສົ່ງສັນຍານລະດັບສຽງ"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"ລະດັບສຽງການໂທ"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"ລະ​ດັບ​ສຽງ​ໂມງ​ປຸກ"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"​ລະ​ດັບ​ສຽງ​ໂທ​ລະ​ສັບ"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"ລະດັບສຽງໂທເຂົ້າ ແລະ ແຈ້ງເຕືອນ"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"ລະ​ດັບ​ສຽງ​ແຈ້ງ​ເຕືອນ"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"ຣິງໂທນໂທລະສັບ"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"ສຽງແຈ້ງເຕືອນເລີ່ມຕົ້ນ"</string>
@@ -3224,6 +3276,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"ສຽງແຈ້ງເຕືອນເລີ່ມຕົ້ນ"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"ສຽງ​ໂມງ​ປຸກ​ຕາມຄ່າເລີ່ມຕົ້ນ"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"ສັ່ນເຕືອນເມື່ອມີສາຍໂທເຂົ້າ"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"ຢ່າສັ່ນເຕືອນ"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"ສັ່ນທຸກເທື່ອ"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"ສັ່ນຕອນກ່ອນແລ້ວເປີດສຽງໂທເຂົ້າເທື່ອລະໜ້ອຍ"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"ສຽງ​ອື່ນໆ"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"ສຽງ​ປຸ່ມ​ກົດ"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"​ສຽງ​ລັອກ​ໜ້າ​ຈໍ"</string>
@@ -3247,6 +3302,7 @@
       <item quantity="one">ເປີດໃຊ້ 1 ລາຍການແລ້ວ</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"ຫ້າມລົບກວນ"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"ຮັບການແຈ້ງເຕືອນສະເພາະຄົນ ແລະ ແອັບສຳຄັນເທົ່ານັ້ນ"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"ຈຳກັດການລົບກວນ"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"ເປີດໂໝດຫ້າມລົບກວນ"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"ຂໍ້ຍົກເວັ້ນ"</string>
@@ -3273,7 +3329,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"ບລັອກການລົບກວນທາງພາບ"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"ອະນຸຍາດສັນຍານພາບ"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"ເມື່ອເປີດໃຊ້ໂໝດຫ້າມລົບກວນ"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"ອະນຸຍາດການລົບກວນທີ່ມີສຽງ"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"ຈຳກັດການແຈ້ງເຕືອນ"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"ບໍ່ມີສຽງຈາກການແຈ້ງເຕືອນ"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"ທ່ານຈະເຫັນການແຈ້ງເຕືອນຢູ່ໜ້າຈໍຂອງທ່ານ"</string>
@@ -3304,7 +3360,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"ສຽງ ແລະ ການສັ່ນ"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"ສຽງ, ສັ່ນ ແລະ ສັນຍາລັກທາງພາບບາງຢ່າງຂອງການແຈ້ງເຕືອນ"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"ສຽງ, ສັ່ນ ແລະ ສັນຍາລັກທາງພາບຂອງການແຈ້ງເຕືອນ"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"ການແຈ້ງເຕືອນທີ່​ຈຳ​ເປັນສຳລັບກິດຈະກຳ ແລະ ສະຖານະໂທລະສັບພື້ນຖານຈະບໍ່ຖືກເຊື່ອງໄວ້"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"ການແຈ້ງເຕືອນທີ່​ຈຳ​ເປັນສຳລັບກິດຈະກຳ ແລະ ສະຖານະໂທລະສັບພື້ນຖານຈະບໍ່ຖືກເຊື່ອງໄວ້."</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"ບໍ່ມີ"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"ຕົວເລືອກອື່ນໆ"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"ເພີ່ມ"</string>
@@ -3334,10 +3390,12 @@
       <item quantity="other">ສາມາດເປີດໃຊ້ <xliff:g id="ON_COUNT">%d</xliff:g> ການກຳນົດເວລາໃຫ້ເປັນອັດຕະໂນມັດໄດ້</item>
       <item quantity="one">ສາມາດເປີດໃຊ້ 1 ການກຳນົດເວລາໃຫ້ເປັນອັດຕະໂນມັດໄດ້</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"ປິດສຽງອຸປະກອນແຕ່ອະນຸຍາດໃຫ້ມີຂໍ້ຍົກເວັ້ນໄດ້"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"ຂໍ້ຍົກເວັ້ນ"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"ຕັ້ງເວລາ"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"ເບິ່ງການຍົກເວັ້ນທັງໝົດ"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"ຂໍ້ຍົກເວັ້ນເມື່ອເປີດໃຊ້ໂໝດຫ້າມລົບກວນ"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"ຜູ້ຄົນ"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"ແອັບ"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"ໂມງປຸກ ແລະ ການລົບກວນອື່ນໆ"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"ກຳນົດການ"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"ປິດສຽງການແຈ້ງເຕືອນແລ້ວ"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"ເມື່ອເປີດໃຊ້ໂໝດຫ້າມລົບກວນ, ສຽງ ແລະ ການສັ່ນເຕືອນຈະຖືກປິດໄວ້, ຍົກເວັ້ນລາຍການທີ່ທ່ານອະນຸຍາດຂ້າງເທິງ."</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"ປິດສຽງທັງໝົດຍົກເວັ້ນ"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"ປິດແລ້ວ"</string>
@@ -3381,16 +3439,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"ການແຈ້ງເຕືອນແບບປັບປ່ຽນໄດ້ເອງ"</string>
     <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_capabilities_actions_replies_title" msgid="4392470465646394289">"ຄຳສັ່ງ ແລະ ການຕອບກັບທີ່ແນະນຳ"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"ສະແດງຄຳສັ່ງ ແລະ ການຕອບກັບທີ່ແນະນຳໂດຍອັດຕະໂນມັດ"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"ກະລຸນາເປີດໃຊ້ປະຫວັດການແຈ້ງເຕືອນເພື່ອຕິດຕາມການແຈ້ງເຕືອນທີ່ຜ່ານມາ ແລະ ການແຈ້ງເຕືອນທີ່ເລື່ອນໄປກ່ອນ"</string>
+    <string name="notification_history" msgid="8663811361243456201">"ປະຫວັດການແຈ້ງເຕືອນ"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"ເປີດປະຫວັດ"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"ປິດປະຫວັດ"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"ປະຫວັດການແຈ້ງເຕືອນຖືກປິດໄວ້ຢູ່"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"ເບິ່ງການຕັ້ງຄ່າການແຈ້ງເຕືອນ"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"ອະນຸຍາດໃຫ້ເລື່ອນການແຈ້ງເຕືອນ"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"ເຊື່ອງໄອຄອນຈາກການແຈ້ງເຕືອນແບບສຸພາບ"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"ໄອຄອນຈາກການແຈ້ງເຕືອນແບບສຸພາບຂອງທ່ານຈະບໍ່ສະແດງໃນແຖບສະຖານະ"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"ອະນຸຍາດຈຸດການແຈ້ງເຕືອນ"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"ສະແດງແຖບການສົນທະນາຫຼ້າສຸດ"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Bubbles"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"ການແຈ້ງເຕືອນບາງຢ່າງອາດປາກົດເປັນ bubble ຢູ່ໜ້າຈໍ"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"ການແຈ້ງເຕືອນບາງຢ່າງ ແລະ ເນື້ອຫາອື່ນໆສາມາດປາກົດເປັນ bubbles ຢູ່ໜ້າຈໍໄດ້. ເພື່ອເປີດ bubble ໃດໜຶ່ງ, ໃຫ້ແຕະໃສ່ມັນ. ເພື່ອປິດມັນໄວ້, ໃຫ້ລາກມັນລົງມາທາງລຸ່ມຂອງໜ້າຈໍ."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Bubbles"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"ຂໍ້ຄວາມໃໝ່ຈະປາກົດຢູ່ໜ້າຈໍ"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"ອະນຸຍາດໃຫ້ <xliff:g id="APP_NAME">%1$s</xliff:g> ສະແດງການແຈ້ງເຕືອນບາງຢ່າງເປັນ bubbles ໄດ້"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"ເປີດໃຊ້ bubbles"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"ເພື່ອເປີດໃຊ້ bubble ສຳລັບແອັບນີ້, ທ່ານຈະຕ້ອງເປີດໃຊ້ພວກມັນສຳລັບອຸປະກອນຂອງທ່ານກ່ອນ. ນີ້ຈະມີຜົນກັບແອັບອື່ນທີ່ທ່ານເປີດໃຊ້ bubble ໄປກ່ອນໜ້ານີ້."</string>
@@ -3408,6 +3476,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"ສະແດງໃນແຖບແບບດຶງລົງ ແລະ ໃນໜ້າຈໍລັອກ"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"ສະແດງໃນແຖບແບບເລື່ອນລົງ ແລະ ແຖບສະຖານະ"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"ສະແດງໃນແຖບແບບເລື່ອນລົງ, ແຖບສະຖານະ ແລະ ຢູ່ໜ້າຈໍລັອກ"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"ເຊື່ອງການແຈ້ງເຕືອນງຽບໃນແຖບສະຖານະ"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"ກະພິບໄຟ"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"ໜ້າຈໍລັອກ"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"ຂ້າມໜ້າຈໍລັອກ"</string>
@@ -3438,6 +3507,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"ພຶດຕິກຳ"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"ອະນຸຍາດສຽງ"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"ຢ່າສະແດງການແຈ້ງເຕືອນອີກ"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"ການສົນທະນາ"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"ການສົນທະນາ"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"ບໍ່ແມ່ນການສົນທະນາ"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"ລຶບອອກຈາກພາກສ່ວນການສົນທະນາ"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"ນີ້ແມ່ນການສົນທະນາ"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"ເພີ່ມໃສ່ພາກສ່ວນການສົນທະນາ"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"ຈັດການການສົນທະນາ"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"ການສົນທະນາສຳຄັນ"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"ການສົນທະນາທັງໝົດ"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"ແຈ້ງການສົນທະນາສຳຄັນໃນ Bubble"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"ການສົນທະນາສຳຄັນຈະສະແດງຢູ່ເທິງສຸດຂອງແຖບແບບເລື່ອນລົງ. ນອກຈາກນັ້ນ, ທ່ານຍັງສາມາດຕັ້ງໃຫ້ພວກມັນສະແດງເປັນ Bubble ແລະ ລົບກວນໂໝດຫ້າມລົບກວນໄດ້ນຳ."</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>
@@ -3456,7 +3536,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"ຊ່ວຍທ່ານມີສະມາທິໂດຍບໍ່ໃຊ້ສຽງ ຫຼື ການສັ່ນເຕືອນ"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"ດຶງຄວາມສົນໃຈຂອງທ່ານດ້ວຍສຽງ ຫຼື ການສັ່ນເຕືອນ"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"ເມື່ອປົດລັອກອຸປະກອນແລ້ວ, ໃຫ້ສະແດງການແຈ້ງເຕືອນເປັນປ້າຍຢູ່ເທິງສຸດຂອງໜ້າຈໍ"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"ສະແດງການແຈ້ງເຕືອນ"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"ການແຈ້ງເຕືອນ <xliff:g id="APP_NAME">%1$s</xliff:g> ທັງໝົດ"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"ການແຈ້ງເຕືອນແບບປັບປ່ຽນໄດ້ເອງ"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="other">~<xliff:g id="NUMBER_1">%d</xliff:g> ການແຈ້ງເຕືອນຕໍ່ມື້</item>
@@ -3477,6 +3557,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"ການແຈ້ງເຕືອນແບບປັບປ່ຽນໄດ້ເອງ"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"ບໍ່ມີ"</string>
     <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="3119843404577399036">"<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>
@@ -3538,8 +3619,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"ແລ້ວໆ"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"ຄວາມສໍາຄັນ"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"ກະພິບໄຟ"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"ສັ່ນເຕືອນ"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"ການສັ່ນເຕືອນ"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"ສຽງ"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"ສຳຄັນ"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"ເພີ່ມໃສ່ໜ້າຫຼັກ"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"ລຶບ"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"ປ່ຽນຊື່"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"ຊື່ກຳນົດເວລາ"</string>
@@ -3593,6 +3676,10 @@
       <item quantity="other">ອີກ <xliff:g id="NUM_PEOPLE">%d</xliff:g> ຄົນ</item>
       <item quantity="one">ອີກ 1 ຄົນ</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"ການສົນທະນາ"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"ຈາກການສົນທະນາທັງໝົດ"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"ຈາກການສົນທະນາສຳຄັນ"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"ບໍ່ອະນຸຍາດການສົນທະນາ"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"ອະນຸຍາດຂໍ້ຄວາມ"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"ເພື່ອກວດສອບວ່າຂໍ້ຄວາມທີ່ໄດ້ຮັບອະນຸຍາດຈະມີສຽງ, ໃຫ້ກວດສອບວ່າທ່ານຕັ້ງໂທລະສັບຂອງທ່ານໃຫ້ມີສຽງຂໍ້ຄວາມເຂົ້າ, ສັ່ນເຕືອນ ຫຼື ງຽບ."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"ສຳລັບ ‘<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>’, ຂໍ້ຄວາມຂາເຂົ້າຈະຖືກບລັອກໄວ້. ທ່ານສາມາດປັບແຕ່ງການຕັ້ງຄ່າເພື່ອອະນຸຍາດໃຫ້ໝູ່, ຄອບຄົວ ແລະ ລາຍຊື່ຜູ້ຕິດຕໍ່ອື່ນໆຂອງທ່ານສາມາດຕິດຕໍ່ຫາທ່ານໄດ້."</string>
@@ -3606,15 +3693,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"ບໍ່ມີ"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"ບໍ່ອະນຸຍາດການໂທ"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"ບໍ່ອະນຸຍາດການສົ່ງຂໍ້ຄວາມ"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"ອະນຸຍາດໂມງປຸກ"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"ໂມງປຸກ"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"ຈາກໂມງຈັບເວລາ, ໂມງປຸກ, ລະບົບຄວາມປອດໄພ ແລະ ແອັບອື່ນໆ"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"ໂມງປຸກ"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"ຫຼິ້ນສຽງມີເດຍ"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"ສຽງມີເດຍ"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"ຈາກວິດີໂອ, ເກມ ແລະ ມີເດຍອື່ນໆ"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"ສື່"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"ອະນຸຍາດໃຫ້ມີສຽງສຳຜັດ"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"​ສຽງ​ສຳ​ຜັດ"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"ຈາກແປ້ນພິມ ແລະ ປຸ່ມອື່ນໆຂອງທ່ານ"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"ສຽງການແຕະ"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"ອະນຸຍາດການເຕືອນ"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"ການແຈ້ງເຕືອນ"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"ຈາກໜ້າວຽກ ແລະ ການແຈ້ງເຕືອນ"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"ການແຈ້ງເຕືອນ"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"ອະນຸຍາດນັດໝາຍ"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"ກິດຈະກຳ"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"ຈາກນັດໝາຍປະຕິທິນຕໍ່ໄປ"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"ອະນຸຍາດໃຫ້ແອັບຍົກເລີກໄດ້"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"ຂໍ້ຍົກເວັ້ນແອັບ"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3657,6 +3749,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"ປ່ອຍໃຫ້ການແຈ້ງເຕືອນທີ່ຖືກປິດໄວ້ໂດຍໂໝດຫ້າມລົບກວນສາມາດເປີດໜ້າຈໍໄດ້"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"​ການ​ຕັ້ງ​ຄ່າ​ການ​ແຈ້ງ​ເຕືອນ"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"ຕົກລົງ"</string>
+    <string name="suggestion_button_close" msgid="6865170855573283759">"ປິດ"</string>
     <string name="device_feedback" msgid="5351614458411688608">"ສົ່ງ​ຄຳ​ຕິ​ຊົມ​ກ່ຽວ​ກັບ​ອຸ​ປະ​ກອນ​ນີ້"</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"ໃສ່ລະຫັດ PIN ຜູ້ເບິ່ງແຍງລະບົບ"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"ເປີດ"</string>
@@ -3667,6 +3760,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"​ຖາມ​ຫາ PIN ກ່ອນ​ຍົກ​ເລີກ​ການປັກ​ໝຸດ"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"​ຖາມ​ຫາ​ລະ​ຫັດ​ຜ່ານ​ກ່ອນ​ຍົກ​ເລີກ​ການ​ປັກ​ໝຸດ"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"ລັອກ​ອຸ​ປະ​ກອນ​ເມື່ອ​ຍົກ​ເລີກ​ການ​ປັກ​ໝຸດ"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"ຢືນຢັນການລຶບຊິມ"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"ກະລຸນາຢັ້ງຢືນວ່າແມ່ນທ່ານແທ້ກ່ອນການລຶບຊິມທີ່ດາວໂຫຼດມາອອກ"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"ໂປຣໄຟລບ່ອນເຮັດວຽກນີ້ຖືກຈັດການໂດຍ:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"ຈັດ​ການ​ໂດຍ <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(ທົດ​ລອງ)"</string>
@@ -3741,8 +3836,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"ແອັບທັງໝົດ"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"ແອັບທີ່ຕິດຕັ້ງແລ້ວ"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"ອິນສະແຕນແອັບ"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"​ສ່ວນ​ໂຕ"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"ວຽກ"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"ແອັບ: ທັງໝົດ"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"ປິດໄວ້ແລ້ວ"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"ໝວດໝູ່: ຄວາມສຳຄັນເລັ່ງດ່ວນ"</string>
@@ -3754,6 +3847,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"ແອັບທີ່ບໍ່ຮູ້ຈັກ"</string>
     <string name="app_permissions" msgid="8666537659217653626">"ຕົວຈັດການສິດອະນຸຍາດ"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"ແອັບທີ່ກຳລັງໃຊ້ <xliff:g id="APPS">%1$s</xliff:g>"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"ແອັບທີ່ໃຊ້ <xliff:g id="APPS">%1$s</xliff:g> ແລະ ອື່ນໆ"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"ແຕະ​ເພື່ອ​ປຸກ"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"ແຕະ​ໜ້າ​ຈໍ​ຕຳແໜ່ງ​ໃດ​ກໍ​ໄດ້​ສອງ​ເທື່ອ ເພື່ອ​ປຸກ​ອຸ​ປະ​ກອນ"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"ກຳລັງເປີດລິ້ງ"</string>
@@ -3765,9 +3859,14 @@
       <item quantity="other">ມີ <xliff:g id="COUNT">%d</xliff:g> ແອັບກຳລັງເປີດລິ້ງທີ່ຮອງຮັບ</item>
       <item quantity="one">ມີໜຶ່ງແອັບກຳລັງເປີດລິ້ງທີ່ຮອງຮັບ</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"ເປີດໃນແອັບນີ້"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"ອະນຸຍາດໃຫ້ແອັບເປີດລິ້ງທີ່ຮອງຮັບ"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"​ຖາມ​ທຸກ​ເທື່ອ"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"ຢ່າ​ເປີດ​ຢູ່​ໃນແອັບນີ້"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"ບໍ່ອະນຸຍາດໃຫ້ແອັບເປີດລິ້ງ"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="other">ແອັບອ້າງວ່າຈັດການ <xliff:g id="COUNT_1">%d</xliff:g> ລິ້ງ</item>
+      <item quantity="one">ແອັບອ້າງວ່າຈັດການ <xliff:g id="COUNT_0">%d</xliff:g> ລິ້ງ</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"ແອັບອ້າງວ່າຈັດການລິ້ງຕໍ່ໄປນີ້:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"ຄ່າເລີ່ມຕົ້ນ"</string>
     <string name="default_for_work" msgid="537558180548617528">"ຄ່າເລີ່ມຕົ້ນສຳລັບບ່ອນເຮັດວຽກ"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"ການຊ່ວຍເຫຼືອ ແລະ ການປ້ອນຂໍ້ມູນດ້ວຍສຽງ"</string>
@@ -3911,8 +4010,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"ສະແດງແອັບບັງແອັບອື່ນ"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"ອະນຸຍາດໃຫ້ສະແດງແອັບບັງແອັບອື່ນ"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"ອະນຸຍາດໃຫ້ແອັບນີ້ສະແດງບັງໜ້າແອັບອື່ນທີ່ທ່ານກຳລັງໃຊ້ຢູ່. ມັນອາດລົບກວນການນຳໃຊ້ແອັບເຫຼົ່ານັ້ນຂອງທ່ານ."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"ສິດການເຂົ້າເຖິງໄຟລ໌ທັງໝົດ"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"ອະນຸຍາດການເຂົ້າເຖິງເພື່ອຈັດການໄຟລ໌ທັງໝົດ"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"ອະນຸຍາດໃຫ້ແອັບນີ້ອ່ານ, ແກ້ໄຂ ແລະ ລຶບໄຟລ໌ທັງໝົດຢູ່ອຸປະກອນນີ້ ຫຼື ບ່ອນຈັດເກັບຂໍ້ມູນໃດກໍຕາມທີ່ເຊື່ອມຕໍ່ໄວ້. ຫາກໄດ້ຮັບອະນຸຍາດແລ້ວ, ແອັບຈະສາມາດເຂົ້າເຖິງໄຟລ໌ໂດຍແຈ້ງໃຫ້ທ່ານຮັບຮູ້ຢ່າງຈະແຈ້ງໄດ້."</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"ສາມາດເຂົ້າເຖິງໄຟລ໌ທັງໝົດ"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"vr virtual reality ຕົວຟັງ ສະເຕຣິໂອ ຕົວຊ່ວຍ ບໍລິການ"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"ໜ້າຈໍການແຈ້ງເຕືອນລະບົບສະແດງບັງໜ້າແອັບອື່ນ"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"ສະແດງແອັບບັງແອັບອື່ນ"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"<xliff:g id="COUNT_0">%1$d</xliff:g> ຈາກທັງໝົດ <xliff:g id="COUNT_1">%2$d</xliff:g> ແອັບແມ່ນອະນຸຍາດໃຫ້ສະແດງຜົນບັງແອັບອື່ນໄດ້"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"ແອັບ​ທີ່​ມີ​ການ​ອະ​ນຸ​ຍາດ"</string>
@@ -4078,6 +4180,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"ໃຊ້ໄປແລ້ວ <xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g>"</string>
     <string name="data_overusage" msgid="3680477320458707259">"ເກີນ <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="data_remaining" msgid="6316251496381922837">"ຍັງເຫຼືອ <xliff:g id="ID_1">^1</xliff:g>"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"ກຣາບທີ່ສະແດງການນຳໃຊ້ຂໍ້ມູນລະຫວ່າງ <xliff:g id="START_DATE">%1$s</xliff:g> ຫາ <xliff:g id="END_DATE">%2$s</xliff:g>."</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"ບໍ່ມີຂໍ້ມູນໃນໄລຍະວັນທີນີ້"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="other">ຍັງເຫຼືອ %d ມື້</item>
       <item quantity="one">ຍັງເຫຼືອ %d ມື້</item>
@@ -4141,14 +4245,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"ຂະໜາດຫີບຫໍ່"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"ແຈ້ງເຕືອນແລ້ວ"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"ສຽງ"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"ສັ່ນເຕືອນ"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"ຮູບແບບ"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"ຄ່າເລີ່ມຕົ້ນ"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"ຊ່ອງ"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"ບໍ່ມີ"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"ບໍ່ມີອອບເຈັກການຈັດອັນດັບ."</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"ອອບເຈັກການຈັດອັນດັບບໍ່ມີກະແຈນີ້."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"ການໃຊ້ຮູບແບບສີສັນ"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"ຄ່າເລີ່ມຕົ້ນອຸປະກອນ"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"ຮອຍບາກຈໍສະແດງຜົນ"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"ສ່ວນຕັດການສະແດງຜົນ, ຮອຍບາກ"</string>
@@ -4237,8 +4337,12 @@
     <string name="information_label" msgid="6939310810756569298">"ຂໍ້ມູນ"</string>
     <string name="low_label" msgid="6525629096999711220">"ຕ່ຳ"</string>
     <string name="high_label" msgid="357503396626018487">"ສູງ"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"ຄວາມລະອຽດອ່ອນທີ່ສູງຂຶ້ນອາດຂັດແຍ່ງກັບທ່າທາງແອັບໃດໆທີ່ມີຢູ່ຂອບຈໍ."</string>
+    <string name="left_edge" msgid="1513576842959071849">"ຂອບຊ້າຍ"</string>
+    <string name="right_edge" msgid="1505309103265829121">"ຂອບຂວາ"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"ຄວາມລະອຽດອ່ອນທີ່ສູງຂຶ້ນອາດຂັດແຍ່ງກັບທ່າທາງແອັບໃດໆທີ່ມີຢູ່ຂອບຈໍ."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"ຄວາມລະອຽດອ່ອນກັບຫຼັງ"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"ການຕັ້ງຄ່າທ່າທາງ"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"ການນຳທາງທ່າທາງ, ຄວາມລະອຽດອ່ອນທາງຫຼັງ, ທ່າທາງທາງຫຼັງ"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"ແຕະສອງເທື່ອເພື່ອກວດສອບໂທລະສັບ"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"ແຕະສອງເທືື່ອເພື່ອກວດສອບແທັບເລັດ"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"ແຕະສອງເທືື່ອເພື່ອກວດສອບອຸປະກອນ"</string>
@@ -4393,7 +4497,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"Trigger Carrier Provisioning"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"ອັບເດດໂໝດຫ້າມລົບກວນ"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"ຢຸດການແຈ້ງເຕືອນຊົ່ວຄາວເພື່ອໃຫ້ມີສະມາທິ"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"ຄຸນສົມບັດນີ້ບໍ່ສາມາດໃຊ້ໄດ້ໃນອຸປະກອນນີ້ໄດ້"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"ບໍ່ສາມາດໃຊ້ຄຸນສົມບັດໄດ້"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"ຄຸນສົມບັດນີ້ຖືກປິດໄວ້ແລ້ວເນື່ອງຈາກມັນເຮັດໃຫ້ໂທລະສັບຂອງທ່ານຊ້າ"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"ບັງຄັບການກວດສອບ GNSS ເຕັມຮູບແບບ"</string>
@@ -4403,20 +4506,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"ເລືອກແອັບທີ່ໃຊ້ ANGLE"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"ບໍ່ໄດ້ກຳນົດເອັບທີ່ເປີດໃຊ້ ANGLE"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"ແອັບທີ່ເປີດໃຊ້ ANGLE: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"ການຕັ້ງຄ່າໄດຣເວີເກມ"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"ແກ້ໄຂການຕັ້ງຄ່າໄດຣເວີເກມ"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"ເມື່ອເປີດໃຊ້ໄດຣເວີເກມແລ້ວ, ທ່ານຈະສາມາດເລືອກໄດຣເວີກຣາບຟິກທີ່ອັບເດດແລ້ວສຳລັບແອັບທີ່ມີຕິດຕັ້ງຢູ່ອຸປະກອນໄດ້."</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"ເປີດໃຊ້ສຳລັບທຸກແອັບ"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"ເລືອກໄດຣເວີກຣາບຟິກ"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"ຄ່າເລີ່ມຕົ້ນ"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"ໄດຣເວີເກມ"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"ໄດຣເວີທີ່ອອກລ່ວງໜ້າ"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"ໄດຣເວີກຣາບຟິກລະບົບ"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"ການຕັ້ງຄ່າໄດຣເວີກຣາຟິກ"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"ແກ້ໄຂການຕັ້ງຄ່າໄດຣເວີກຣາຟິກ"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"ເມື່ອມີໄດຣເວີກຣາຟິກຫຼາຍອັນ, ທ່ານສາມາດເລືອກໃຊ້ໄດຣເວີກຣາຟິກທີ່ອັບເດດແລ້ວສຳລັບແອັບທີ່ຕິດຕັ້ງຢູ່ອຸປະກອນໄດ້."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"ເປີດໃຊ້ສຳລັບທຸກແອັບ"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"ເລືອກໄດຣເວີກຣາບຟິກ"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"ຄ່າເລີ່ມຕົ້ນ"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"ໄດຣເວີເກມ"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"ໄດຣເວີນັກພັດທະນາ"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"ໄດຣເວີກຣາບຟິກລະບົບ"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"ການປ່ຽນແປງຄວາມເຂົ້າກັນໄດ້ຂອງແອັບ"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"ສະຫຼັບການປ່ຽນແປງຄວາມເຂົ້າກັນໄດ້ຂອງແອັບ"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"ການປ່ຽນແປງທີ່ເປີດການນຳໃຊ້ຕາມຄ່າເລີ່ມຕົ້ນ"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"ການປ່ຽນແປງທີ່ປິດການນຳໃຊ້ຕາມຄ່າເລີ່ມຕົ້ນ"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"ບໍ່ຮອງຮັບການຕັ້ງຢູ່ໂທລະສັບນີ້"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"ບໍ່ຮອງຮັບການຕັ້ງຢູ່ແທັບເລັດນີ້"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"ບໍ່ຮອງຮັບການຕັ້ງຢູ່ອຸປະກອນນີ້"</string>
@@ -4435,6 +4544,12 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"ອຸປະກອນ"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"ບໍ່ສາມາດໃຊ້ໄດ້ລະຫວ່າງການໂທ"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"ບໍ່ສາມາດໃຊ້ໄດ້"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"ເພີ່ມເອົ້າພຸດ"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"ກຸ່ມ"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"ເລືອກ 1 ອຸປະກອນແລ້ວ"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"ເລືອກ <xliff:g id="COUNT">%1$d</xliff:g> ອຸປະກອນແລ້ວ"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"ຮັບສາຍຢູ່"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"ບໍ່ສາມາດປ່ຽນ APN ນີ້ໄດ້."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"ປັບປຸງອາຍຸແບັດເຕີຣີແທັບເລັດ"</string>
@@ -4552,10 +4667,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"ສາມາດເປີດໃຊ້ SIM ທີ່ດາວໂຫລດມາແລ້ວເທື່ອລະອັນເທົ່ານັ້ນ.\n\nການສະຫຼັບໄປໃຊ້ <xliff:g id="CARRIER1">%1$s</xliff:g> ຈະບໍ່ຍົກເລີກບໍລິການ <xliff:g id="CARRIER2">%2$s</xliff:g> ຂອງທ່ານ."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"ສະຫຼັບໄປໃຊ້ <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"ລຶບ SIM"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"ລຶບ SIM ທີ່ດາວໂຫລດມາແລ້ວນີ້ອອກບໍ?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"ການລຶບ SIM ນີ້ຈະລຶບບໍລິການ <xliff:g id="CARRIER_0">%1$s</xliff:g> ອອກຈາກອຸປະກອນນີ້.\n\nຈະບໍ່ຍົກເລີກບໍລິການສຳລັບ <xliff:g id="CARRIER_1">%2$s</xliff:g>."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"ລຶບ"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"ກຳລັງລຶບ SIM…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"ບໍ່ສາມາດລຶບ SIM ອອກໄດ້"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"ບໍ່ສາມາດລຶບ SIM ອອກໄດ້ເນື່ອງຈາກມີຂໍ້ຜິດພາດ.\n\nກະລຸນາຣີສະຕາດອຸປະກອນຂອງທ່ານແລ້ວລອງໃໝ່."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"ປະເພດເຄືອຂ່າຍທີ່ຕ້ອງການ"</string>
@@ -4580,7 +4691,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"ໂໝດເຄືອຂ່າຍ <xliff:g id="NETWORKMODEID">%1$d</xliff:g> ບໍ່ຖືກຕ້ອງ. ບໍ່ສົນໃຈ."</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"ຊື່ເອດເຊສພອຍ (APN)"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"ບໍ່ສາມາດໃຊ້ໄດ້ເມື່ອເຊື່ອມຕໍ່ກັບ <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"ຂໍ້ມູນທາງການແພດ, ການຕິດຕໍ່ສຸກເສີນ"</string>
     <string name="see_more" msgid="7499355691042812723">"ເບິ່ງເພີ່ມເຕີມ"</string>
     <string name="see_less" msgid="2642392725363552793">"​​ເບິ່ງ​ໜ້ອຍ​ລົງ"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"ອຸປະກອນທີ່ຈະໃຊ້ກັບ <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
@@ -4589,11 +4699,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"ມີບາງຢ່າງເກີດຂຶ້ນ. ແອັບພລິເຄຊັນໄດ້ຍົກເລີກຄຳຮ້ອງຂໍເພື່ອເລືອກອຸປະກອນແລ້ວ."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"ການເຊື່ອມຕໍ່ສຳເລັດແລ້ວ"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"ສະແດງທັງໝົດ"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> ອຸປະກອນທີ່ເຊື່ອມຕໍ່ແລ້ວ</item>
-      <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_0">%1$d</xliff:g> ອຸປະກອນທີ່ເຊື່ອມຕໍ່ແລ້ວ</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"ບໍ່ມີອຸປະກອນ Bluetooth"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"ກຳລັງຊອກຫາອຸປະກອນ…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"ກຳລັງເຊື່ອມຕໍ່ຫາອຸປະກອນ…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"ຊ້າຍ"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"ຂວາ"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"ເຄສ"</string>
@@ -4603,6 +4710,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"ບໍ່ສາມາດໃຊ້ໄດ້ໃນໂໝດຢູ່ໃນຍົນ"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"ບັງຄັບໂໝດເດັສທັອບ"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"ບັງຄັບໂໝດເດັສທັອບແບບທົດລອງໃຊ້ຢູ່ໜ້າຈໍທີສອງ"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"ເປີດໃຊ້ freeform sizecompat"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"ອະນຸຍາດແອັບ sizecompat ໃຫ້ເປັນ freeform"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"ຍົກເລີກການບັງຄັບໃຫ້ໃຊ້ແບບມືດ"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"ຍົກເລີກຄຸນສົມບັດການບັງຄັບໃຫ້ໃຊ້ແບບມືດຕະຫຼອດ"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"ຄວາມເປັນສ່ວນຕົວ"</string>
@@ -4639,6 +4748,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"ທ່ານຫາກໍຕິດຕັ້ງແອັບນີ້ໄປ"</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"ສະຫຼັບການສົ່ງຂໍ້ມູນອອກ"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"ຕອນນີ້ກຳລັງຫຼິ້ນຢູ່ <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (ຕັດການເຊື່ອມຕໍ່ແລ້ວ)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"ບໍ່ສາມາດສະຫຼັບໄດ້. ແຕະເພື່ອລອງໃໝ່."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"ຂໍ້ມູນສຳຄັນ"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"ສືບຕໍ່"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"ບໍ່, ຂອບໃຈ"</string>
@@ -4666,8 +4777,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"ການຮວມ SIM"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"ຂໍ້ມູນນະໂຍບາຍວຽກຂອງທ່ານ"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"ການຕັ້ງຄ່າແມ່ນຈັດການໂດຍຜູ້ເບິ່ງແຍງໄອທີຂອງທ່ານ"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"ເຄື່ອງຈັດການລາຍງານຂໍ້ຜິດພາດ"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"ເລືອກແອັບທີ່ຈະໃຫ້ຈັດການທາງລັດລາຍງານຂໍ້ຜິດພາດຢູ່ອຸປະກອນຂອງທ່ານ."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"ສ່ວນຕົວ"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"ວຽກ"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"ຄ່າເລີ່ມຕົ້ນຂອງລະບົບ"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"ບໍ່ສາມາດໃຊ້ການເລືອກນີ້ໄດ້ອີກຕໍ່ໄປແລ້ວ. ກະລຸນາລອງໃໝ່."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"ຢຸດການສົ່ງສັນຍານ"</string>
 </resources>
diff --git a/res/values-lt/arrays.xml b/res/values-lt/arrays.xml
index bf9dbe1..80dc864 100644
--- a/res/values-lt/arrays.xml
+++ b/res/values-lt/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"Nedelsiant"</item>
     <item msgid="463591454172790676">"5 sek."</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"Nepatvirtinti"</item>
+    <item msgid="5703177653586269306">"Pateikti sertifikato būsenos užklausą"</item>
+    <item msgid="326388247868439528">"Reikalauti sertifikato būsenos"</item>
+    <item msgid="1090956283885790552">"Reikalauti visų nepatikimų sertifikatų būsenų"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"Mygtuko paspaudimas"</item>
     <item msgid="2630618799033509548">"PIN kodas iš susieto įrenginio"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"Jokių"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"„IPSec“ VPN su iš anksto bendrinamais raktais ir „Xauth“ autentifikavimu"</item>
     <item msgid="2484564813864139237">"„IPSec“ VPN su sertifikatais ir „Xauth“ autentifikavimu"</item>
     <item msgid="68918911194507915">"„IPSec“ VPN su sertifikatu ir hibridiniu autentifikavimu"</item>
+    <item msgid="4631647675167100375">"„IKEv2“ / „IPSec“ VPN su sertifikatais ir naudotojo vardo / slaptažodžio autentifikavimu"</item>
+    <item msgid="8812228622975052811">"„IKEv2“ / „IPSec“ VPN su iš anksto bendrinamais raktais"</item>
+    <item msgid="6630554779981113046">"„IKEv2“ / „IPSec“ VPN su sertifikatais"</item>
   </string-array>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"Nėra"</item>
diff --git a/res/values-lt/config.xml b/res/values-lt/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-lt/config.xml
+++ b/res/values-lt/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index 099db56..716ac50 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -33,49 +33,17 @@
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Pirmiausia įgalinkite kūrėjo parinktis."</string>
     <string name="header_category_wireless_networks" msgid="303445626075235229">"Belaidis ryšys ir tinklai"</string>
     <string name="header_category_system" msgid="1665516346845259058">"Sistema"</string>
-    <string name="radio_info_data_connection_enable" msgid="7500945447906187613">"Įgalinti duomenų ryšį"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"Išjungti duomenų ryšį"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"„VoLTE“ aprūpinimas"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"Vaizdo skambutis aprūpinimas"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"Skambinimo naudojant „Wi-Fi“ ryšį aprūpinimas"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"EAB / veiklos aprūpinimas"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"CBRS duomenys"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"Įgalinti DSDS"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"Paleisti įrenginį iš naujo?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"Turite paleisti įrenginį iš naujo, kad galėtumėte pakeisti šį nustatymą."</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"Paleisti iš naujo"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"Atšaukti"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"Mobiliojo ryšio radijo signalas"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"Žiūrėti SIM kortelės adresų knygą"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"Žiūrėti fiksuoto rinkimo numerius"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"Žiūrėti paslaugos renkamus numerius"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"IMS paslaugos būsena"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"IMS būsena"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"Užregistruota"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"Neužregistruota"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"Pasiekiama"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"Nepasiekiama"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"IMS registracija: <xliff:g id="STATUS">%1$s</xliff:g>\nBalso skambučiai naudojat LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nBalso skambučiai naudojat „Wi-Fi“: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVaizdo skambučiai: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT sąsaja: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"Aptarnaujama"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Paslaugos neteikiamos"</string>
     <string name="radioInfo_service_emergency" msgid="6838935881091760942">"Tik skambučiai pagalbos numeriu"</string>
     <string name="radioInfo_service_off" msgid="6184928420860868571">"Radijas išjungtas"</string>
     <string name="radioInfo_roaming_in" msgid="8892550453644088692">"Tarptinklinis ryšys"</string>
     <string name="radioInfo_roaming_not" msgid="3137594549464975054">"Neveikia tarptinklinis ryšys"</string>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"Nėra"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"Skamba"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"Skambutis vykdomas"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"Atsijungęs (-usi)"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"Jungiama"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"Prisijungta"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Pristabdyta"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Nežinoma"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"pakuotės"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"baitai"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"Atjungti USB atmintinę"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"Išimti SD kortelę"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"Ištrinti USB atmintinę"</string>
@@ -85,7 +53,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"Sumažinkite arba padidinkite ekrane rodomą tekstą."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Padaryti mažesnius"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Padaryti didesnius"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"Pavyzdinis tekstas"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"Nuostabusis Ozo šalies burtininkas"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"11 skyrius. Nuostabusis Smaragdo miestas"</string>
@@ -176,9 +143,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"Turite paleisti įr. iš naujo, kad gal. pakeisti šį nustat."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"Pal. iš n."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"Atšaukti"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"Pasiekiamos laikmenos"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"Pasiekiami skambinimo įrenginiai"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"Šiuo metu prisijungta"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"Laikmenos"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"Skambinimo įrenginiai"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"Kiti įrenginiai"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Išsaugoti įrenginiai"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bus įjungtas „Bluetooth“, kad būtų galima susieti"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Ryšio nuostatos"</string>
@@ -211,46 +178,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"Prievadas, kurį įvedėte, netinkamas."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"HTTP įgaliotąjį serverį naudoja naršyklė, bet jo negali naudoti kitos programos."</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"PAC URL: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"Dabartinis papildomas ID:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"Numatytųjų duomenų SIM kortelės papildomas ID:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"DL pralaidumas (Kb/s):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"UL pralaidumas (Kb/s):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"Mobiliojo ryšio vietovės informacija (nebenaudojama):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"LTE fizinio kanalo konfigūracija:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"Mobiliojo ryšio informacijos atnaujinimo dažnis:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"Visų mobiliųjų ryšių įvertinimo informacija:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"Duomenų paslauga:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"Tarptinklinis ryšys:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"Skambučio peradresavimas:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"PPP nustatymų iš naujo skaičius po įkrovos:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"Dabartinis tinklas:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"Gauti duomenys:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"Balso paslauga:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"Signalo stiprumas:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"Balso skambučio būsena:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"Duomenys išsiųsti:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"Laukiantis pranešimas:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"Telefono numeris:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"Pasirinkti radijo dažnių juostą"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"Balso tinklo tipas:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"Duomenų tinklo tipas:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"Pasirinkti telefono indeksą"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"Nustatyti pageidaujamą tinklo tipą:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"Ryšio patikros prieglobos serverio pavadinimas (www.google.com) „IPv4“:"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"Ryšio patikros prieglobos serverio pavadinimas (www.google.com) „IPv6“:"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"HTTP kliento bandymas:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"Paleisti ryšio patikros bandymą"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"Naujinti"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"Atnaujinti"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"Kaitalioti DNS tikrinimą"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"OEM būdinga informacija / nustatymai"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"Nustatyti radijo dažnių režimą"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"Įkeliamas dažnių sąrašas..."</string>
-    <string name="band_mode_set" msgid="494968379352406359">"Nustatyti"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"Nesėkminga"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"Sėkmingas"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"Pakeitimai įsigalioja, kai USB laidas prijungiamas iš naujo."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"Įgalinti nuolatinį USB saugojimą"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"Iš viso baitų:"</string>
@@ -289,10 +220,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"Perkelti į apačią"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"Pašalinti kalbą"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"Pasirinkti veiklą"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"Įrenginio informacija"</string>
     <string name="display_label" msgid="3056320781191343221">"Ekranas"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"Planšetinio kompiuterio informacija"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"Telefono informacija"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"USB atmintinė"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"SD kortelė"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"Tarpinio serverio nustatymai"</string>
@@ -310,9 +238,6 @@
     <string name="airplane_mode" msgid="3196085857882526817">"Lėktuvo režimas"</string>
     <string name="wireless_networks_settings_title" msgid="8557542379234105369">"Belaidis ryšys ir tinklai"</string>
     <string name="radio_controls_summary" msgid="9028430178697624501">"Tvarkyti „Wi-Fi“, „Bluetooth“, lėktuvo režimą, mobiliojo ryšio tinklus ir VPN"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"Mobiliojo ryšio duomenys"</string>
-    <string name="calls_title" msgid="6334813967619899114">"Leisti skambučius"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"SMS pranešimai"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"Leisti naudoti mobiliojo ryšio duomenis"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"Leisti duom. naud. tarp. ryš."</string>
     <string name="roaming" msgid="3055365654530847985">"Tarptinklinis ryšys"</string>
@@ -320,9 +245,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"Veikiant tarptinkliniam ryšiui, prisijungti prie duomenų paslaugų"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"Praradote duomenų jungiamumą, nes pagrindinį tinklą palikote išjungę tarptinklinį ryšį."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"Įjungti"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"Galite būti apmokestinti dideliais mokesčiais."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"Kai leidžiate tarptinklinį duomenų ryšį, gali būti taikomi dideli tarptinklinio ryšio mokesčiai.\n\nŠis nustatymas turi įtakos visiems šio planšetinio kompiuterio naudotojams."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"Kai leidžiate tarptinklinį duomenų ryšį, gali būti taikomi dideli tarptinklinio ryšio mokesčiai.\n\nŠis nustatymas turi įtakos visiems šio telefono naudotojams."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"Gali būti taikomi tarptinklinio ryšio mokesčiai."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"Kai leidžiate tarptinklinį duomenų ryšį, gali būti taikomi tarptinklinio ryšio mokesčiai.\n\nŠis nustatymas paveikia visus šio planšetinio kompiuterio naudotojus."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"Kai leidžiate tarptinklinį duomenų ryšį, gali būti taikomi tarptinklinio ryšio mokesčiai.\n\nŠis nustatymas paveikia visus šio telefono naudotojus."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"Leisti tarptinklinį duomenų ryšį?"</string>
     <string name="networks" msgid="5184501333492775095">"Operatoriaus pasirinkimas"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"Pasirinkite tinklo operatorių"</string>
@@ -363,8 +288,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"Išjungė administratorius"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"Rodyti užrakinimo parinktį"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"Rodyti maitinimo mygtuko parinktį, kuri išjungia „Smart Lock“, atrakinimą naudojant biometrines sistemas ir užrakinimo ekrano pranešimus"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"Patikimos priem. tik pailgina atrakinimą"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"Jei parinktis bus įgalinta, patikimos priemonės laikys įrenginį neužrakintą ilgiau, bet nebegalės atrakinti užrakinto įrenginio."</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"Užrakinti ekraną, kai pasitikėjimas bus prarastas"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"Jei parinktis bus įgalinta, įrenginys užsirakins, kai paskutinė patikima priemonė praras pasitikėjimą"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"Nėra"</string>
@@ -396,7 +319,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"Nustatyti mano vietą, ekrano atrakinimą, SIM kortelės užraktą, prisijungimo duomenų saugyklos užraktą"</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"Nustatyti mano vietą, ekrano atrakinimą, įgaliojimų saugyklos užraktą"</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"Privatumas"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"Išjungė administratorius"</string>
+    <string name="disabled_by_administrator_summary" msgid="5424846182313851124">"Nepasiekiama"</string>
     <string name="security_status_title" msgid="6958004275337618656">"Saugos būsena"</string>
     <string name="security_dashboard_summary_face" msgid="4198949293847206382">"Ekrano užraktas, atrakinimas pagal veidą"</string>
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Ekrano užraktas, piršto antspaudas"</string>
@@ -709,7 +632,6 @@
       <item quantity="many">Turi būti mažiau nei <xliff:g id="NUMBER_1">%d</xliff:g> skaitmens</item>
       <item quantity="other">Turi būti mažiau nei <xliff:g id="NUMBER_1">%d</xliff:g> skaitmenų</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"Turi būti sudarytas tik iš skaitmenų (0–9)"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"Įrenginio administratorius neleidžia naudoti pastarojo PIN kodo"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"Dažnai naudojamus PIN kodus užblokavo IT administratorius. Bandykite naudoti kitą PIN kodą."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"Negali būti netinkamų simbolių"</string>
@@ -752,6 +674,12 @@
       <item quantity="many">Turi būti bent <xliff:g id="COUNT">%d</xliff:g> neraidinio simbolio</item>
       <item quantity="other">Turi būti bent <xliff:g id="COUNT">%d</xliff:g> neraidinių simbolių</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="one">Turi būti bent <xliff:g id="COUNT">%d</xliff:g> neskaitinis simbolis</item>
+      <item quantity="few">Turi būti bent <xliff:g id="COUNT">%d</xliff:g> neskaitiniai simboliai</item>
+      <item quantity="many">Turi būti bent <xliff:g id="COUNT">%d</xliff:g> neskaitinio simbolio</item>
+      <item quantity="other">Turi būti bent <xliff:g id="COUNT">%d</xliff:g> neskaitinių simbolių</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"Įrenginio administratorius neleidžia naudoti pastarojo slaptažodžio"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"Dažnai naudojamus slaptažodžius užblokavo IT administratorius. Bandykite naudoti kitą slaptažodį."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"Didėjanti, mažėjanti ar pasikartojanti skaitmenų seka neleidžiama"</string>
@@ -869,19 +797,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2,4 GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"Prisijungti"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"Atidaryti svetainę"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"Liko <xliff:g id="REMAINING_TIME">%1$s</xliff:g>"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"Baigs galioti <xliff:g id="EXPIRY_TIME">%1$s</xliff:g>"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"Palieskite čia, kad prisijungtumėte prie tinklo"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Mb/s"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Mb/s"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Mb/s"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"Programa „<xliff:g id="REQUESTER">%s</xliff:g>“ nori įjungti „Wi-Fi“"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"Programa „<xliff:g id="REQUESTER">%s</xliff:g>“ nori išjungti „Wi-Fi“"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"Patvirtinti derinamų pr. baitinę progr."</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Leisti ART patvirtinti derinamų programų baitinę programą"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"Rodyti atnaujinimo dažnį"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Rodyti dabartinio vaizdo atnaujinimo dažnį"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"Leisti keistis duomenimis, kai planšetinis kompiuteris aptinka kitą įrenginį"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"Leisti keistis duomenimis, kai telefonas paliečia kitą įrenginį"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"Leisti keistis duomenimis, kai planšetinis kompiuteris aptinka ALR įrenginį"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"Leisti keistis duomenimis, kai telefonas aptinka ALR įrenginį"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"ALR įjungimas"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"ALR atlieka duomenų mainų operacijas tarp šio ir kitų netoliese esančių įrenginių ar paskirties vietų, pvz., mokėjimo terminalų, prieigos kortelių skaitytuvų ir interaktyvių skelbimų ar žymų."</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"Saugus ALR"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Norint naudoti ALR reikia panaikinti įrenginio operatoriaus pasirinkimo ribojimą"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"Leisti naudoti ALR mokėjimams atlikti ir viešojo transporto išlaidoms apmokėti, tik kai ekranas užrakintas"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"Parengta perduoti programos turinį naudojant ALR"</string>
@@ -955,8 +889,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Įjungti"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"„Wi‑Fi“ nuskaitymas įjungtas"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Išplėstinės parinktys"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"Išskleidžiamasis „Išplėstinių parinkčių“ sąrašas. Dukart palieskite, kad sutrauktumėte."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"Išskleidžiamasis „Išplėstinių parinkčių“ sąrašas. Dukart palieskite, kad išskleistumėte."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Išskleidžiamojo sąrašo išplėstinės parinktys"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"išskleisti"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"Tinklo pavadinimas"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"Įveskite SSID"</string>
     <string name="wifi_security" msgid="9095934643631406913">"Sauga"</string>
@@ -966,6 +900,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"Būsena"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"Perdavimo nuorodos sparta"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"Gavimo nuorodos sparta"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"Susiejimo greitis"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"Dažnis"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"IP adresas"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"Išsaugota per"</string>
@@ -973,6 +908,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"EAP būdas"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"2 tapatybės nustatymo fazė"</string>
     <string name="wifi_eap_ca_cert" msgid="8033404008276298886">"CA sertifikatas"</string>
+    <string name="wifi_eap_ocsp" msgid="8713933962516871238">"Internetinio sertifikato būsena"</string>
     <string name="wifi_eap_domain" msgid="8304301470752333203">"Domenas"</string>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"Naudotojo sertifikatas"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"Tapatybė"</string>
@@ -989,6 +925,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"Pasirinkite bent vieną „Wi‑Fi“ viešosios interneto prieigos taško dažnio juostą:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"IP nustatymai"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"Privatumas"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"Prenumerata"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"Prenumeratos peržiūra arba keitimas"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"Atsitikt. tv. pasir. MAC"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"Įrenginio pridėjimas"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"Centruokite toliau pateiktą QR kodą, kad galėtumėte pridėti įrenginį prie „<xliff:g id="SSID">%1$s</xliff:g>“"</string>
@@ -998,12 +936,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"„Wi‑Fi“ bendrinimas"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"Nuskaitykite šį QR kodą, kad prisijungtumėte prie „<xliff:g id="SSID">%1$s</xliff:g>” ir galėtumėte bendrinti slaptažodį"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"Nuskaitykite šį QR kodą, kad prisijungtumėte prie „<xliff:g id="SSID">%1$s</xliff:g>“"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"Nepavyko nuskaityti QR kodo. Iš naujo įveskite kodą ir bandykite dar kartą"</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"Bandykite dar kartą. Jei problema išlieka, susisiekite su įrenginio gamintoju"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"Iškilo problema"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"Įsitikinkite, kad įrenginys įjungtas į maitinimo lizdą, įkrautas ir įjungtas jo maitinimas"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"Įsitikinkite, kad įrenginys įjungtas į maitinimo lizdą, įkrautas ir įjungtas jo maitinimas. Jei problema išlieka, susisiekite su įrenginio gamintoju"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"Šiame įrenginyje nepalaikomas „<xliff:g id="SSID">%1$s</xliff:g>“ pridėjimas"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"Pabandykite perkelti įrenginį arčiau prie „Wi‑Fi“ prieigos taško ar maršruto parinktuvo"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"Patikrinkite slaptažodį ir bandykite dar kartą"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"Susisiekite su įrenginio gamintoju"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"Patikrinkite ryšį ir bandykite dar kartą"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"Tinklo pasirinkimas"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"Kad prijungtumėte įrenginį, pasirinkite tinklą"</string>
@@ -1016,11 +956,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"Bendrinamas „Wi‑Fi“ su šiuo įrenginiu…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"Prisijungiama…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"Viešosios interneto prieigos taško bendrinimas"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"Savo tapatybės patvirtinimas"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"Patvirtinkite, kad tai jūs"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"„Wi-Fi“ slaptažodis: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"Viešosios interneto prieigos taško slaptažodis: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"Automatiškai prisijungti"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"Leisti telefonui automatiškai prisijungti esant netoli šio tinklo"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"Leisti planšetiniam kompiuteriui automatiškai prisijungti esant netoli šio tinklo"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"Pridėti įrenginį"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"Naudokite QR kodą, kad galėtumėte pridėti įrenginį prie šio tinklo"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"QR kodas netinkamo formato"</string>
     <string name="retry" msgid="7542103800274026915">"Bandyti dar kartą"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"Bendrinti su kitais įrenginio naudotojais"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(nepakeista)"</string>
@@ -1032,6 +976,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"Nenurodytas joks sertifikatas. Ryšys nebus privatus."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"Tinklo pavadinimas per ilgas."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"Būtina nurodyti domeną."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"Būtinas sertifikatas."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"Galima WPS"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (galima WPS)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"Operatoriaus „Wi‑Fi“ ryšio tinklas"</string>
@@ -1089,7 +1034,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"Išplėstinis „Wi-Fi“"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"MAC adresas"</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_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>
@@ -1141,7 +1087,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"Naudodami viešosios interneto prieigos tašką, galite sukurti „Wi‑Fi“ tinklą kitiems įrenginiams. Internetas teikiamas per viešosios interneto prieigos tašką naudojant mobiliųjų duomenų ryšį. Gali būti taikomi papildomi mobiliojo ryšio duomenų mokesčiai."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"Programos gali sukurti viešosios interneto prieigos tašką ir bendrinti turinį su netoliese esančiais įrenginiais."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Išjungti viešosios interneto prieigos tašką automatiškai"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"„Wi‑Fi“ viešosios interneto prieigos taškas bus išjungtas, jei nebus prijungta jokių įrenginių"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Kai nėra susietų įrenginių"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"Įjungiamas viešosios interneto prieigos taškas…"</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"Išjungiamas viešosios interneto prieigos taškas…"</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> aktyvus"</string>
@@ -1150,6 +1096,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"„Wi‑Fi“ vieš. int. pr. t. sąr."</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"„AndroidAP“ WPA2 PSK viešosios interneto prieigos taškas"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"„AndroidHotspot“"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"Išsaugoti šį tinklą?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"„<xliff:g id="APPNAME">%1$s</xliff:g>“ nori išsaugoti tinklą jūsų telefone"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"„<xliff:g id="APPNAME">%1$s</xliff:g>“ nori išsaugoti tinklą jūsų planšetiniame kompiuteryje"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"Išsaugoma…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"Išsaugota"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"Negalima išsaugoti. Bandykite dar kartą."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"Išsaugoti tinklus?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"„<xliff:g id="APPNAME">%1$s</xliff:g>“ nori išsaugoti šiuos tinklus jūsų telefone"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"„<xliff:g id="APPNAME">%1$s</xliff:g>“ nori išsaugoti šiuos tinklus jūsų planšetiniame kompiuteryje"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"Išsaugoma tinklų: <xliff:g id="NUMBER">%d</xliff:g>…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"Tinklai išsaugoti"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"„Wi-Fi“ skambinimas"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"Išplėskite skamb. aprėptį naudodami „Wi‑Fi“"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"Įjunkite „Wi‑Fi“ skambinimą, kad išplėstumėte aprėptį"</string>
@@ -1176,16 +1133,18 @@
     <string name="emergency_address_title" msgid="3490633500025717573">"Adresas prireikus pagalbos"</string>
     <string name="emergency_address_summary" msgid="3022628750270626473">"Naudojama kaip vietos informacija, kai skambinate pagalbos numeriu naudodami „Wi-Fi“"</string>
     <string name="private_dns_help_message" msgid="851221502063782306"><annotation id="url">"Sužinokite daugiau"</annotation>" apie privataus DNS funkcijas"</string>
+    <string name="private_dns_mode_on" msgid="8878679071975375696">"Įjungta"</string>
     <string name="wifi_calling_pref_managed_by_carrier" msgid="129524064888622179">"Nustatymą tvarko operatorius"</string>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"Suaktyvinti „Wi-Fi“ skambinimo funkciją"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"Įjungti „Wi-Fi“ skambinimo funkciją"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"„Wi‑Fi“ skambinimo funkcija nepalaikoma naudojantis „%1$s“ paslaugomis"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"Atsijungta nuo „<xliff:g id="SSID">%1$s</xliff:g>“"</string>
     <string name="carrier" msgid="1755020806290963951">"Operatorius"</string>
     <string name="display_settings_title" msgid="626835071804834218">"Ekranas"</string>
     <string name="sound_settings" msgid="5514582720435174014">"Garsas"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"Garsumas"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"Muzikos efektai"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"Skambučio garsumas"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"Skambučių ir nustatymų garsum."</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"Vibruoti, kai veikia tyliuoju režimu"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"Numatytasis pranešimo garsas"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"Skambėjimo tonas"</string>
@@ -1310,13 +1269,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"Tvarkaraštis"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"Nėra"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"Įjungta nuo saulėl. iki saulėt."</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"Įjungiama pasirinktu laiku"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"Būsena"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"Išjungta / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"Niekada nebus įjungta automatiškai"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"Bus įjungta automatiškai saulei leidžiantis"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"Bus įjungta automatiškai <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"Įjungta / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"Niekada nebus išjungta automatiškai"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"Bus išjungta automatiškai saulei tekant"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"Bus išjungta automatiškai <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"Įjungti iki <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"Išjungti iki <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"Tamsiojoje temoje naudojamas tamsus fonas, kad akumuliatorius ilgiau veiktų tam tikruose ekranuose. Tamsiosios temos tvarkaraščiai neprasideda, kol ekranas neišsijungia."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"Ekrano skirtasis laikas"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"Ekranas išjungiamas"</string>
@@ -1328,7 +1292,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"Pakeiskite ekrano foną"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"Suasmeninkite ekraną"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"Pasirinkti darbalaukio foną iš"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"„Pixel“ įrenginio tinkinimas"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"Telefono tinkinimas"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"Išbandykite skirtingus stilius, ekrano fonus ir kt."</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"Ekrano užsklanda"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Kai įkraunamas ar prijungtas prie doko"</string>
@@ -1419,6 +1383,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"Atjungti USB atmintinę, žiūrėti pasiekiamą atmintinę"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"Išimti SD kortelę, žiūrėti galimą saugyklą"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (%1$d SIM lizdas)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"Norėdami peržiūrėti pasirinkite išsaugotą tinklą"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"Telefono numeris"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (%1$d SIM lizdas)"</string>
@@ -1445,6 +1410,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"Tarptinklinis ryšys"</string>
     <string name="status_operator" msgid="4335640583552058491">"Tinklas"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"„Wi-Fi“ MAC adresas"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"Įrenginio „Wi‑Fi“ MAC adresas"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"„Bluetooth“ adresas"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Serijos numeris"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Veikimo laikas"</string>
@@ -1657,6 +1623,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Numatytųjų APN nustatymų nustatymas iš naujo baigtas."</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"Nustat. parinkt. iš naujo"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"Tinklą, programas arba įrenginį galima nustatyti iš naujo"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"Programas galima nustatyti iš naujo"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"Iš naujo nustatyti „Wi-Fi“, mobiliųjų duomenų ir „Bluetooth“ nustatymus"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"Bus iš naujo nustatyti visi tinklo nustatymai, įskaitant:\n\n"<li>"„Wi‑Fi“;"</li>\n<li>"mobiliojo ryšio duomenis;"</li>\n<li>"„Bluetooth“."</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"Ištrinti atsisiųstas SIM kort."</string>
@@ -1706,6 +1673,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"Viešosios interneto prieigos taškas įjungtas"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"Įrenginio kaip modemo naudojimas"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"Negalima naudoti įrenginio kaip modemo arba viešosios interneto prieigos taškų, kai įjungta Duomenų taupymo priemonė"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"Tik viešosios interneto prieigos taškas"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"Tik USB"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"Tik „Bluetooth“"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"Viešosios interneto prieigos taškas, USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"Viešosios interneto prieigos taškas, „Bluetooth“"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB, „Bluetooth“"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"Viešosios interneto prieigos taškas, USB, „Bluetooth“"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"Internetas nebendrinamas su kitais įrenginiais"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"Įrenginio kaip modemo naudojimas"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Nenaudoti „Wi‑Fi“ viešosios interneto prieigos taško"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Bendrinti internetą tik naudojant USB"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Bendrinti internetą tik naudojant „Bluetooth“"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Bendrinti internetą tik naudojant USB ir „Bluetooth“"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB susiejimas"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"Bendrinkite telefono interneto ryšį per USB"</string>
@@ -1798,9 +1778,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"Saugos informacija"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"Nėra duomenų ryšio. Jei norite dabar peržiūrėti šią informaciją, bet kuriuo prie interneto prijungtu kompiuteriu eikite į %s."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"Įkeliama…"</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"Naudoti PIN kodą"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"Naudoti atrakinimo piešinį"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"Naudoti slaptažodį"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"Ekrano užrakto nustatymas"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"Kad apsaugotumėte įrenginį, nustatykite slaptažodį"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"Nust. slapt., kad gal. naud. kont. kodą"</string>
@@ -1809,8 +1786,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"Nus. PIN kodą, kad gal. naud. kon. kodą"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"Kad apsaugotumėte įrenginį, nupieškite atrakinimo piešinį"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"Įveskite slaptažodį iš naujo"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"Įveskite darbo profilio slaptažodį"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"Patvirtinkite piešinį"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"Nubr. darbo prof. atr. piešinį"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"Įveskite PIN kodą iš naujo"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"Įveskite darbo profilio PIN kodą"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"Slaptažodžiai neatitinka"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"PIN kodai neatitinka"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"Nupieškite atrakinimo piešinį dar kartą"</string>
@@ -1821,6 +1801,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"N. naud. Atr. pagal v., nust. slaptaž."</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"N. naud. Atr. pagal v., nust. atr. pieš."</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"N. naud. Atr. pagal v., nust. slaptažodį"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"Pamiršote slaptažodį?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"Pamiršote atrakinimo piešinį?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"Pamiršote PIN kodą?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"Jei norite tęsti, naudokite įrenginio atrakinimo piešinį"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"Jei norite tęsti, įveskite įrenginio PIN kodą"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"Jei norite tęsti, įveskite įrenginio slaptažodį"</string>
@@ -1888,6 +1871,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"Leisti visus progr. šaltinius"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"Neseniai atidarytos programos"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"Žr. visas programas (<xliff:g id="COUNT">%1$d</xliff:g>)"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"Susisiekimas su IT administratoriumi"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"Jie gali padėti iš naujo nustatyti PIN kodą, atrakinimo piešinį arba slaptažodį"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"Įdiegus nežinomų programų didėja planšetinio kompiuterio ir asmeninių duomenų pažeidimo rizika. Diegdami programas iš šio šaltinio sutinkate, kad esate patys atsakingi už žalą planšetiniam kompiuteriui arba duomenų praradimą dėl jų naudojimo."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"Įdiegus nežinomų programų didėja telefono ir asmeninių duomenų pažeidimo rizika. Diegdami programas iš šio šaltinio sutinkate, kad esate patys atsakingi už žalą telefonui arba duomenų praradimą dėl jų naudojimo."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"Įdiegus nežinomų programų didėja įrenginio ir asmeninių duomenų pažeidimo rizika. Diegdami programas iš šio šaltinio sutinkate, kad esate patys atsakingi už žalą įrenginiui arba duomenų praradimą dėl programų naudojimo."</string>
@@ -1941,7 +1926,7 @@
     <string name="default_emergency_app" msgid="1929974800666613803">"Avarinė programa"</string>
     <string name="reset_app_preferences" msgid="8861758340732716573">"Iš naujo nustat. nuostat."</string>
     <string name="reset_app_preferences_title" msgid="8935136792316050759">"Iš naujo nust. nuostat.?"</string>
-    <string name="reset_app_preferences_desc" msgid="1377296810290814749">"Bus iš naujo nustatytos visos toliau nurodytų objektų nuostatos:\n\n "<li>"išjungtos programos;"</li>\n" "<li>"išjungtų programų pranešimai;"</li>\n" "<li>"numatytosios veiksmų programos;"</li>\n" "<li>"programų foninių duomenų apribojimai;"</li>\n" "<li>"visi leidimų apribojimai."</li>\n\n"Neprarasite jokių programų duomenų."</string>
+    <string name="reset_app_preferences_desc" msgid="6509978724602405805">"Bus iš naujo nustatytos visos nurodytų elementų nuostatos:\n\n"<li>"išjungtos programos;"</li>\n<li>"išjungti programų pranešimai;"</li>\n<li>"numatytosios veiksmų programos;"</li>\n<li>"programų foninių duomenų apribojimai;"</li>\n<li>"visi leidimų apribojimai."</li>\n\n"Neprarasite jokių programų duomenų."</string>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"Iš naujo nustat. program."</string>
     <string name="manage_space_text" msgid="9013414693633572277">"Valdyti vietą"</string>
     <string name="filter" msgid="9039576690686251462">"Filtruoti"</string>
@@ -2141,7 +2126,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"Garsas ir tekstas ekrane"</string>
     <string name="display_category_title" msgid="6638191682294461408">"Ekranas"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"Sąveikos valdikliai"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"Atsisiųstos paslaugos"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"Atsisiųstos programos"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"Eksperimentinė versija"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"Funkcijų žymos"</string>
     <string name="talkback_title" msgid="8756080454514251327">"TalkBack"</string>
@@ -2149,27 +2134,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"Palieskite elementus ekrane, kad jie būtų skaitomi balsu"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"Subtitrų nuostatos"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"Didinimas"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"Didinimo sritis"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"Didinimo įgalinimas"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"Pasirinkite didinimo sritį (-is), kurią (-ias) norite naudoti, kai didinate ekraną"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"Visas ekranas"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"Ekrano dalis"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"Visas ekranas ir ekrano dalis"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"Didinti visą ekraną"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"Didinti ekrano dalį"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Didinimo nustatymai"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"Didinti palietus tris kartus"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Didinimas naudojant spart. klavišą"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Didinti naud. spart. klav. ir palietus tris kartus"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"Apie <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"Parinktys"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"Ekrano artinimas"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"Palieskite 3 kartus, kad keistumėte mastelį."</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Palieskite mygtuką, kad keistumėte mastelį"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><b>"Jei norite keisti mastelį"</b>", greitai palieskite ekraną 3 kartus.\n"<ul><li>"Vilkite 2 ar daugiau pirštų, kad slinktumėte."</li>\n<li>"Suimkite 2 ar daugiau pirštų, kad koreguotumėte mastelio keitimą."</li></ul>\n\n<b>"Jei norite laikinai keisti mastelį"</b>", greitai palieskite ekraną 3 kartus ir laikykite palietę pirštu po trečio palietimo.\n"<ul><li>"Vilkite pirštą, kad judėtumėte ekranu."</li>\n<li>"Atkelkite pirštą, kad tolintumėte."</li></ul>\n\n"Negalite artinti klaviatūroje ir naršymo juostoje."</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"Kai didinimas įjungtas, galite artinti ekraną.\n\n"<b>"Norėdami keisti mastelį"</b>", įjunkite didinimą, tada palieskite bet kurioje ekrano vietoje.\n"<ul><li>"• Vilkite 2 ar daugiau pirštų, kad slinktumėte."</li>\n<li>"• Suimkite 2 ar daugiau pirštų, kad koreguotumėte mastelį."</li></ul>\n\n<b>"Norėdami laikinai pakeisti mastelį"</b>", įjunkite didinimą, tada palieskite ir palaikykite bet kurioje ekrano vietoje.\n"<ul><li>"• Vilkite pirštą, kad judėtumėte ekranu."</li>\n<li>"• Pakelkite pirštą, kad tolintumėte."</li></ul>\n\n"Negalite artinti naudodami klaviatūrą ar naršymo juostą."</string>
+    <string name="accessibility_screen_magnification_summary" msgid="7617931632990040045">"Sparčiai artinkite ekrano vaizdą, kad aiškiau matytumėte turinį.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Kad priartintumėte, atlikite nurodytus veiksmus.&lt;/b&gt;&lt;br/&gt;	1. Paleiskite didinimo funkciją sparčiuoju klavišu&lt;br/&gt;	2. Palieskite ekraną&lt;br/&gt;	3. Pereikite nuo vieno ekrano elemento prie kito vilkdami dviem pirštais&lt;br/&gt;	4. Koreguokite mastelį suimdami dviem pirštais&lt;br/&gt;	5. Sustabdykite didinimo funkciją sparčiuoju klavišu&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Kad laikinai priartintumėte, atlikite nurodytus veiksmus.&lt;/b&gt;&lt;br/&gt;	1. Paleiskite didinimo funkciją sparčiuoju klavišu&lt;br/&gt;	2. Palieskite ir palaikykite bet kurią ekrano vietą&lt;br/&gt;	3. Pereikite nuo vieno ekrano elemento prie kito vilkdami pirštu&lt;br/&gt;	4. Sustabdykite didinimo funkciją pakeldami pirštą"</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Kai didinimas įjungtas, galite artinti ekraną.\n\n"<b>"Jei norite keisti mastelį,"</b>", įjunkite didinimą, tada palieskite bet kurioje ekrano vietoje.\n"<ul><li>"Slinkite vilkdami dviem ar daugiau pirštų"</li>\n<li>"Koreguokite mastelį suimdami dviem ar daugiau pirštų"</li></ul>\n\n<b>"Jei norite laikinai pakeisti mastelį"</b>", įjunkite didinimą, tada palieskite ir palaikykite bet kurioje ekrano vietoje.\n"<ul><li>"Naršykite ekraną vilkdami pirštu"</li>\n<li>"Pakelkite pirštą, kad tolintumėte"</li></ul>\n\n"Negalite artinti naudodami klaviatūrą ar naršymo juostą."</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Naudokite pritaikomumo mygtuką, kad atidarytumėte"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Naudokite gestą, kad atidarytumėte"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"Naudokite naują pritaikomumo gestą"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"Norėdami įjungti arba išjungti šią paslaugą, palieskite ekrano apačioje esantį pritaikomumo mygtuką <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>.\n\nNorėdami perjungti paslaugas, palieskite ir palaikykite pritaikomumo mygtuką."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"Norėdami įjungti arba išjungti šią paslaugą, perbraukite aukštyn dviem pirštais iš ekrano apačios.\n\nNorėdami perjungti paslaugas, perbraukite aukštyn dviem pirštais ir palaikykite."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"Norėdami įjungti arba išjungti šią paslaugą, perbraukite aukštyn trimis pirštais iš ekrano apačios.\n\nNorėdami perjungti paslaugas, perbraukite aukštyn trimis pirštais ir palaikykite."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"Norėdami įjungti arba išjungti pritaikomumo paslaugą, perbraukite aukštyn dviem pirštais iš ekrano apačios.\n\nNorėdami perjungti paslaugas, perbraukite aukštyn dviem pirštais ir palaikykite."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"Norėdami įjungti arba išjungti pritaikomumo paslaugą, perbraukite aukštyn trimis pirštais iš ekrano apačios.\n\nNorėdami perjungti paslaugas, perbraukite aukštyn trimis pirštais ir palaikykite."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"Norėdami įjungti arba išjungti šią paslaugą, palieskite ekrano apačioje esantį pritaikomumo mygtuką <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>.\n\nNorėdami perjungti paslaugas, palieskite ir palaikykite pritaikomumo mygtuką."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"Jei norite įjungti arba išjungti šią paslaugą, perbraukite aukštyn dviem pirštais nuo ekrano apačios.\n\nJei norite perjungti paslaugas, perbraukite aukštyn dviem pirštais ir palaikykite."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"Jei norite įjungti arba išjungti šią paslaugą, perbraukite aukštyn trimis pirštais nuo ekrano apačios.\n\nJei norite perjungti paslaugas, perbraukite aukštyn trimis pirštais ir palaikykite."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"Jei norite įjungti arba išjungti pritaikomumo paslaugą, perbraukite aukštyn dviem pirštais nuo ekrano apačios.\n\nJei norite perjungti paslaugas, perbraukite aukštyn dviem pirštais ir palaikykite."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"Jei norite įjungti arba išjungti pritaikomumo paslaugą, perbraukite aukštyn trimis pirštais nuo ekrano apačios.\n\nJei norite perjungti paslaugas, perbraukite aukštyn trimis pirštais ir palaikykite."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"Supratau"</string>
+    <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Spartusis klavišas: <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_edit_summary_software" msgid="2820923641553461297">"Pritaikomumo mygtukas"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture" msgid="8078659880723370597">"Perbraukimas aukštyn dviem pirštais"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture_talkback" msgid="7422753388389160524">"Perbraukimas aukštyn trim pirštais"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software" msgid="4796192466943479849">"Palieskite pritaikomumo mygtuką"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8922102767509399352">"Palieskite pritaikomumo mygtuką <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> ekrano apačioje"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"Dviem pirštais perbraukite aukštyn iš ekrano apačios"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"Trim pirštais perbraukite aukštyn iš ekrano apačios"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Laikyti garsumo klavišus"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"Paspauskite ir vieną sekundę palaikykite abu garsumo klavišus"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Ekrano palietimas tris kartus"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"Greitai palieskite ekraną tris kartus. Dėl šio sparčiojo klavišo įrenginys gali veikti lėčiau."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"Išplėstin."</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"Pritaikymo mobiliesiems mygtukas nustatytas į „<xliff:g id="SERVICE">%1$s</xliff:g>“. Jei norite naudoti didinimo funkciją, palieskite ir palaikykite pritaikymo neįgaliesiems mygtuką, tada pasirinkite didinimo funkciją."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"Pritaikomumo gestas nustatytas į „<xliff:g id="SERVICE">%1$s</xliff:g>“. Norėdami naudoti didinimą, perbraukite dviem pirštais iš ekrano apačios ir palaikykite. Tada pasirinkite didinimą."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"Garsumo spart. klavišas"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"Šaukinio paslauga"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Sparčiųjų klavišų nustatymai"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"Leisti iš užrakinimo ekrano"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"Kai įjungtas spartusis klavišas, galite paspausti abu garsumo klavišus ir palaikyti 3 sekundes, kad būtų paleista pritaikymo neįgaliesiems funkcija."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"Didelio kontrasto tekstas"</string>
@@ -2193,24 +2203,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"Pasirinkite, kiek laiko norite rodyti pranešimus, su kuriais reikia atlikti veiksmus ir kurie matomi tik laikinai.\n\nŠis nustatymas palaikomas ne visose programose."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"„Paliesti ir laikyti“ delsa"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"Spalvų inversija"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"Gali paveikti našumą"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"Neveikos trukmės nust."</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"Naudoti spalvų inversiją"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"Naudojant spalvų inversiją šviesūs ekranai pakeičiami tamsiais. Tai padeda žmonėms, kurie yra jautrūs ryškiai šviesai, lengviau matyti ekraną.&lt;br/&gt;&lt;br/&gt;Pastaba: tamsios spalvos taps šviesios. Bus pakeistos medijos ir vaizdų spalvos. Be to, galite naudoti tamsiąją temą („Nustatymai“ &gt; „Pateiktis“)."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"Automatinis paspaudimas (neveikos trukmė)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"Jei naudojate pelę, galite nustatyti, kad žymeklis imtų veikti automatiškai, kai nejudės tam tikrą laiką."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"Delsa prieš paspaudimą"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"Nenaud. aut. paspaud. (numatytasis)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"Trumpas"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0,2 sek."</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"Vidutinis"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0,6 sek."</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"Ilgas"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 sek."</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"Tinkintas"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"Trumpesnis"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"Ilgesnis"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"Automatinio paspaudimo laikas"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"Vibravimo ir lytėjimo stiprumas"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Vibravimas gavus pranešimą"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Vibravimas skambant telefonui"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Lietimo grįžtamasis ryšys"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"Naudoti paslaugą"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"Naudoti „<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>“"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"Atidaryti „<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>“"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"Naudoti spalvų taisymą"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"Naudoti subtitrus"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"Rodyti subtitrus"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"Subtitrų išvaizda"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"Teksto dydis, subtitrų stilius"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"Daugiau parinkčių"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"Šis nustatymas palaikomas ne visose programose."</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"Pritaikomumo mygtukas"</string>
+    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"2 pirštais perbraukti aukštyn iš apačios"</string>
+    <string name="accessibility_shortcut_type_hardware" msgid="4834144210432451916">"Laikyti garsumo klavišus"</string>
+    <string name="accessibility_shortcut_type_triple_tap" msgid="7717524216825494543">"Triskart paliesti ekraną"</string>
     <string name="accessibility_hearingaid_instruction_continue_button" msgid="3367260988024430722">"Tęsti"</string>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"Klausos aparatai"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"Prijungtų klausos aparatų nėra"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"Pridėti klausos aparatų"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"Norėdami susieti klausos aparatus, suraskite ir palieskite savo įrenginį kitame ekrane."</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"Įsitikinkite, kad jūsų klausos aparatai veikia susiejimo režimu."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"Norėdami susieti klausos aparatus, suraskite ir palieskite savo įrenginį kitame ekrane. Įsitikinkite, kad jūsų klausos aparatai veikia susiejimo režimu."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"„<xliff:g id="DEVICE_NAME">%1$s</xliff:g>“ įrenginys aktyvus"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> išsaugotas klausos aparatas</item>
@@ -2224,35 +2252,47 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Ši paslauga veikia netinkamai."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Rodyti sparčiuosiuose nustatymuose"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"Koregavimo režimas"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="one">Itin trumpa delsa (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="few">Itin trumpa delsa (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="many">Itin trumpa delsa (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Itin trumpa delsa (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Raudona, žalia"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"Žalia, raudona"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Mėlyna, geltona"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"Deuteranomalija"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"Protanomalija"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"Tritanomalija"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="one">Itin trumpai uždelsiama (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundę)</item>
+      <item quantity="few">Itin trumpai uždelsiama (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundes)</item>
+      <item quantity="many">Itin trumpai uždelsiama (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundės)</item>
+      <item quantity="other">Itin trumpai uždelsiama (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundžių)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="one">Labai trumpa delsa (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="few">Labai trumpa delsa (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="many">Labai trumpa delsa (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Labai trumpa delsa (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="one">Labai trumpai uždelsiama (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundę)</item>
+      <item quantity="few">Labai trumpai uždelsiama (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundes)</item>
+      <item quantity="many">Labai trumpai uždelsiama (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundės)</item>
+      <item quantity="other">Labai trumpai uždelsiama (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundžių)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="one">Trumpa delsa (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="few">Trumpa delsa (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="many">Trumpa delsa (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Trumpa delsa (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="one">Trumpai uždelsiama (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundę)</item>
+      <item quantity="few">Trumpai uždelsiama (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundes)</item>
+      <item quantity="many">Trumpai uždelsiama (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundės)</item>
+      <item quantity="other">Trumpai uždelsiama (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundžių)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="one">Ilga delsa (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="few">Ilga delsa (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="many">Ilga delsa (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Ilga delsa (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="one">Ilgai uždelsiama (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundę)</item>
+      <item quantity="few">Ilgai uždelsiama (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundes)</item>
+      <item quantity="many">Ilgai uždelsiama (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundės)</item>
+      <item quantity="other">Ilgai uždelsiama (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundžių)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="one">Labai ilga delsa (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="few">Labai ilga delsa (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="many">Labai ilga delsa (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Labai ilga delsa (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="one">Labai ilgai uždelsiama (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundę)</item>
+      <item quantity="few">Labai ilgai uždelsiama (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundes)</item>
+      <item quantity="many">Labai ilgai uždelsiama (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundės)</item>
+      <item quantity="other">Labai ilgai uždelsiama (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundžių)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundė</item>
+      <item quantity="few"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundės</item>
+      <item quantity="many"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundės</item>
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundžių</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"Skambutis: <xliff:g id="SUMMARY_RING">%1$s</xliff:g>, pranešimas: <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>, palietimas: <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"Skambučių ir nustatymų vibravimas išjungtas"</string>
@@ -2587,7 +2627,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"Kai paskutinį kartą buvo ištrauktas iš lizdo <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"Visas naudojimas"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"Atnaujinti"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"„Android“ OS"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"Medijos serveris"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"Programų optimizavimas"</string>
     <string name="battery_saver" msgid="7737147344510595864">"Akumuliator. tausoj. priem."</string>
@@ -2668,8 +2707,7 @@
     <string name="tts_play" msgid="2945513377250757221">"Paleisti"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"Prisijungimo duomenų saugykla"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"Įdiegti iš saugyklos"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"Įdiegti iš SD kortelės"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"Įdiegti sertifikatą"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"Įdiegti sertifikatus iš saugyklos"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"Įdiegti sertifikatus iš SD kortelės"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"Valyti prisijungimo duomenis"</string>
@@ -2689,6 +2727,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"Kredencialų atmintinė ištrinta."</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"Nepavyko ištr. kreden. atmint."</string>
     <string name="usage_access_title" msgid="1580006124578134850">"Progr., gal. pasiekti duom."</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"CA sertifikatas"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"VPN ir progr. naud. sertifik."</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"„Wi‑Fi“ sertifikatas"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"Jūsų privatumui iškilo pavojus"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"Šifruojant CA sertifikatus naudoja svetainės, programos ir VPN. CA sertifikatus įdiekite tik iš patikimų organizacijų. \n\n Jei įdiegsite CA sertifikatą, jo savininkas galės pasiekti jūsų informaciją (net jei ta informacija yra šifruota), pvz., slaptažodžius, pranešimus ar išsamią kredito kortelių informaciją, svetainėse, kuriuose lankotės, arba programose, kurias naudojate."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"Neįdiegti"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"Visada įdiegti"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"Sertifikatas neįdiegtas"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"Kritinės padėties numerio rinkimo signalas"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Nustatyti elgesį, kai skambinama pagalbos numeriu"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Atsarginė kopija"</string>
@@ -2716,10 +2762,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"Išaktyvinti ir pašalinti"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"Įrenginio administravimo programos"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"Nėra pasiekiamų įrenginio administravimo programų"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"Asmeninis"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"Darbas"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"Apriboti SMS ir skambučių žurnalo prieigą"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"Tik numatytosios telefono ir susirašinėjimo programos turi SMS ir skambučių žurnalo leidimus"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"Nėra jokių galimų „trust agents“"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"Suaktyvinti įrenginio administravimo programą?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"Suaktyvinti šio įrenginio administravimo programą"</string>
@@ -2733,6 +2775,16 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"Kitas parinktis išjungė jūsų administratorius."</string>
     <string name="admin_more_details" msgid="6698424974827333973">"Daugiau išsamios informacijos"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"Pranešimų žurnalas"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"Pranešimų istorija"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"Šiandien"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"Nustatyta snausti"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"Neseniai atsisakyta"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="one"><xliff:g id="NUMBER_1">%d</xliff:g> pranešimas</item>
+      <item quantity="few"><xliff:g id="NUMBER_1">%d</xliff:g> pranešimai</item>
+      <item quantity="many"><xliff:g id="NUMBER_1">%d</xliff:g> pranešimo</item>
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> pranešimų</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"Skambinimo tonas ir vibracija"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"Išsami tinklo inf."</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"Sinchronizavimas įgalintas"</string>
@@ -3090,7 +3142,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"Apribojimai"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"Pašalinti apribojimus"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"Keisti PIN kodą"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"Rodyti pranešimus"</string>
     <string name="help_label" msgid="2896538416436125883">"Pagalba ir atsiliep."</string>
     <string name="support_summary" msgid="1034146931237148885">"Pagalb. str., palaikym. tel. ir pokalb., darbo pr."</string>
     <string name="user_account_title" msgid="6389636876210834864">"Turiniui skirta paskyra"</string>
@@ -3115,6 +3166,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G skambinimas"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Naudoti LTE paslaugas „Voice“ ir kitiems ryšiams patobulinti (rekomenduojama)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Naudoti 4G paslaugas „Voice“ ir kitiems ryšiams patobulinti (rekomenduojama)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Kontaktų aptikimas"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Operatoriui leidžiama aptikti, kurias skambinimo funkcijas palaiko jūsų kontaktai."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Įgalinti kontaktų aptikimą?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Įgalinus šią funkciją, operatorius galės pasiekti telefono numerius jūsų kontaktuose, kad aptiktų, kurias skambinimo funkcijas jie palaiko."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Pageidaujamas tinklo tipas"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (rekomenduojama)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS pranešimai"</string>
@@ -3159,7 +3214,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"Skambinkite naudodami…"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"Pasirinkite SIM kortelę"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"SIM Nr. <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"SIM tuščia"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"SIM pavadinimas"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"Įveskite SIM kortelės pavadinimą"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"SIM lizdas %1$d"</string>
@@ -3169,6 +3223,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"Pasirinkite SIM kortelę"</string>
     <string name="color_orange" msgid="216547825489739010">"Oranžinė"</string>
     <string name="color_purple" msgid="6603701972079904843">"Purpurinė"</string>
+    <string name="color_pink" msgid="8596872110888626708">"Rožinė"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"Nėra SIM kortelės"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"SIM būsena"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"SIM būsena (%1$d SIM lizdas)"</string>
@@ -3182,7 +3237,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> ASU"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"SIM kortelės pasikeitė."</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Palieskite, kad nustatytumėte"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"Pageidautina SIM, skirta"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Klausti kaskart"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Būtina pasirinkti"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"SIM pasirinkimas"</string>
@@ -3202,6 +3256,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"„Bluetooth“, vairavimo režimas"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"„Bluetooth“, ALR"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"Bluetooth"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"Nepasiekiama, nes ALR išjungta"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"Programos ir pranešimai"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Pastarosios programos, numatytosios programos"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Prieiga prie pranešimų negalima darbo profilio programoms."</string>
@@ -3212,13 +3267,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"Nustatymai"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"wifi, wi-fi, tinklo ryšys, internetas, belaidis ryšys, duomenys, wi fi"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"„Wi‑Fi“ pranešimas, „Wi‑Fi“ pranešimas"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"duomenų naudojimas"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"Stabdyti vibravimą, paliesti, klaviatūra"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"Naudoti 24 val. formatą"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"Atsisiųsti"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"Atidaryti naudojant"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"Programos"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"laiko juosta"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"Pokalbio antraštė"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"Pokalbio antraštė, sistema, įspėjimas, langas, dialogo langas, ekranas, virš kitų programų, piešti"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"Žibintuvėlis, šviesa, prožektorius"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"wifi, wi-fi, perjungimas, valdymas"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"mobilusis, mobiliojo ryšio operatorius, belaidis, duomenys, 4G, 3G, 2G, LTE"</string>
@@ -3242,7 +3298,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"netrukdyti, pertraukti, pertraukimas, pertrauka"</string>
     <string name="keywords_app" msgid="7983814237980258061">"Laisvosios prieigos atmintis"</string>
     <string name="keywords_location" msgid="8016374808099706213">"netoliese, vietovė, istorija, ataskaitų teikimas, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"paskyra"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"paskyra, pridėti paskyrą, darbo profilis"</string>
     <string name="keywords_users" msgid="3497517660077620843">"apribojimas, riboti, ribotas"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"teksto taisymas, taisyti, garsas, vibruoti, automatinis, kalba, gestas, pasiūlyti, pasiūlymas, tema, įžeidžiantis, žodis, tipas, jaustukai, tarptautinis"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"nustatyti iš naujo, nuostatos, numatytosios"</string>
@@ -3280,6 +3336,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"atmintis, talpykla, duomenys, ištrinti, išvalyti, atlaisvinti, vieta"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"prijungtas, įrenginys, ausinės, virtualiosios realybės įrenginys, garsiakalbis, belaidis, susieti, ausinukas, muzika, medija"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"fonas, ekranas, užrakinimo ekranas, tema"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"piktogramos forma, paryškinimo spalva, šriftas"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"numatytasis, padėjėjas"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"mokėjimas, numatytoji"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"gaunamas pranešimas"</string>
@@ -3289,18 +3346,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"lietimo technologija, vibruoti, jautrumas"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"akumuliatoriaus tausojimo priemonė, fiksuotas, išlaikyti, energijos tausojimo priemonė, akumuliatorius"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"veiksmų seka, tvarkaraštis, akumuliatoriaus tausojimo priemonė, energijos tausojimo priemonė, akumuliatorius, automatinis, procentai"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"darbo profilis"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"„VoLTE“, išplėstinės skambinimo parinktys, 4G skambinimas"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"pridėti kalbą"</string>
     <string name="default_sound" msgid="6604374495015245195">"Numatytasis garsas"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"Skambučio garsumas – <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"Skambučių ir nustatymų garsumas: <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Garsumas, vibravimas, netrukdymo režimas"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"Skambutis nustatytas į vibravimą"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"Skambutis nustatytas į tylų"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"Skambučio garsumas – 80 %"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"Skambučių ir nustatymų garsumas: 80 %"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Medijų garsumas"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Perdavimo garsumas"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"Skambučio garsumas"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"Signalo garsumas"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"Skambučio garsumas"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"Skambučių ir nustatymų garsum."</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"Pranešimo garsumas"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"Telefono skambėjimo tonas"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"Numatytasis pranešimo garsas"</string>
@@ -3308,6 +3366,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"Numatytasis pranešimo garsas"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"Numatytasis signalo garsas"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"Vibruoti, kai gaun. skambučiai"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"Niekada nevibruoti"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"Visada vibruoti"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"Pirmiausia vibruoti, tada palaipsniui skambinti"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"Kiti garsai"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"Skambinimo skydelio tonai"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"Ekrano užrakinimo garsai"</string>
@@ -3333,6 +3394,7 @@
       <item quantity="other">Įgalinta <xliff:g id="ON_COUNT">%d</xliff:g> tvarkaraščių</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Netrukdymo režimas"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Gauti pranešimus tik iš svarbių žmonių ar įvykių"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Pertraukčių apribojimas"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Netrukdymo režimo įjungimas"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"Išimtys"</string>
@@ -3359,7 +3421,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Blokuoti vaizdinius trikdžius"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Leisti vaizdinius signalus"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"Kai įjungtas netrukdymo režimas"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"Leisti pertrauktis, skleidžiančias garsą"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"Apriboti pranešimus"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Neskambėti gavus pranešimų"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"Matysite pranešimus ekrane"</string>
@@ -3390,7 +3452,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"Garsas ir vibravimas"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"Pranešimų garsas, vibravimas ir kai kurie vaizdiniai ženklai"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"Pranešimų garsas, vibravimas ir vaizdiniai ženklai"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"Būtini pagrindinės telefono veiklos ir būsenos pranešimai niekada nebus slepiami"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"Būtini pagrindinės telefono veiklos ir būsenos pranešimai niekada nebus slepiami."</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"Nėra"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"kitos parinktys"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"Pridėti"</string>
@@ -3424,10 +3486,12 @@
       <item quantity="many"><xliff:g id="ON_COUNT">%d</xliff:g> tvarkaraščio gali įsijungti automatiškai</item>
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> tvarkaraščių gali įsijungti automatiškai</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"Nutildyti įrenginį, bet leisti išimtis"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"Išimtys"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"Tvarkaraštis"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"Žr. visas išimtis"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"Išimtys, kai įjungtas netrukdymo režimas"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"Žmonės"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"Programos"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"Signalai ir kitos pertrauktys"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"Tvarkaraščiai"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"Nutildyti pranešimai"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"Įjungus netrukdymo režimą garsas ir vibravimas bus nutildomi, išskyrus anksčiau nurodytus elementus, kuriuos leidžiate."</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"Nutildyti viską išskyrus"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"Nutildyta"</string>
@@ -3471,16 +3535,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"Prisitaikantys pranešimai"</string>
     <string name="asst_capability_prioritizer_title" msgid="1181272430009156556">"Adaptyviųjų pranešimų prioritetas"</string>
     <string name="asst_capability_prioritizer_summary" msgid="954988212366568737">"Žemesnio prioriteto pranešimus automatiškai nustatyti kaip netrikdančius"</string>
+    <string name="asst_capability_ranking_title" msgid="312998580233257581">"Prisitaikantis pranešimų reitingavimas"</string>
+    <string name="asst_capability_ranking_summary" msgid="2293524677144599450">"Automatiškai reitinguoti pranešimus pagal atitikimą"</string>
     <string name="asst_capabilities_actions_replies_title" msgid="4392470465646394289">"Siūlomi veiksmai ir atsakymai"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"Automatiškai rodyti siūlomus veiksmus ir atsakymus"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"Įjunkite pranešimų istoriją, jei norite stebėti ankstesnius ir atidėtus pranešimus"</string>
+    <string name="notification_history" msgid="8663811361243456201">"Pranešimų istorija"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"Istorijos įjungimas"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"Istorijos išjungimas"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"Pranešimų istorija išjungta"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"peržiūrėti pranešimų nustatymus"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Leisti nustatyti pranešimus snausti"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"Netrikdančių pranešimų piktogramų slėpimas"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"Netrikdančių pranešimų piktogramos nerodomos būsenos juostoje"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"Leisti pranešimų taškus"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"Pastarųjų pokalbių juostos rodymas"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Burbulai"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"Kai kurie pranešimai gali būti rodomi kaip debesėliai ekrane"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"Kai kurie pranešimai ir kitas turinys ekrane gali būti rodomi kaip debesėliai. Jei norite atidaryti debesėlį, palieskite jį. Jei norite jo atsisakyti, vilkite į ekrano apačią."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Burbulai"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"Nauji pranešimai bus rodomi ekrane"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"Leisti „<xliff:g id="APP_NAME">%1$s</xliff:g>“ rodyti tam tikrus pranešimus kaip debesėlius"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"Debesėlių įjungimas"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"Norėdami įjungti debesėlius šioje programoje, pirmiausia turėsite juos įjungti įrenginyje. Tai veikia kitas programas, kuriose prieš tai įjungėte debesėlius."</string>
@@ -3498,6 +3572,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"Pateikti išskleidžiamajame skydelyje ir užrakinimo ekrane"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"Pateikti išskleidžiamajame skydelyje ir būsenos juostoje"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"Pateikti išskleidžiamajame skydelyje, būsenos juostoje ir užrakinimo ekrane"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"Slėpti tylius pranešimus būsenos juostoje"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"Mirksinti šviesa"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"Užrakinimo ekranas"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"Praleisti užrakinimo ekraną"</string>
@@ -3528,6 +3603,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"Elgsena"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"Leisti garsą"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"Niekada nerodyti pranešimų"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"Pokalbiai"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"Pokalbis"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"Ne pokalbis"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"Pašalinti iš pokalbių skilties"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"Tai yra pokalbis"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"Pridėti prie pokalbių skilties"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"Tvarkyti pokalbius"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"Svarbūs pokalbiai"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"Visi pokalbiai"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"Rodyti svarbius pokalbius debesėliuose"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"Svarbūs pokalbiai rodomi išskleidžiamojo skydelio viršuje. Taip pat galite nustatyti, kad debesėlis pertrauktų netrukdymo režimą."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"Rodyti tyliai ir sumažinti"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"Rodyti tyliai"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"Skambėti"</string>
@@ -3546,7 +3632,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"Padeda atkreipti dėmesį be garso arba vibravimo"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"Atkreipia dėmesį garsu arba vibravimu"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"Kai įrenginys atrakintas, pranešimai rodomi kaip reklamjuostė ekrano viršuje"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"Rodyti pranešimus"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"Visi „<xliff:g id="APP_NAME">%1$s</xliff:g>“ pranešimai"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"Prisitaikantys pranešimai"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="one">~ <xliff:g id="NUMBER_1">%d</xliff:g> pranešimas per dieną</item>
@@ -3573,6 +3659,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"Prisitaikantys pranešimai"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"Nėra"</string>
     <string name="no_notification_listeners" msgid="2839354157349636000">"Jokios įdiegtos programos nepateikė pranešimo prieigos užklausos."</string>
+    <string name="notification_access_detail_switch" msgid="46386786409608330">"Leisti prieigą prie pranešimų"</string>
     <string name="notification_assistant_security_warning_title" msgid="2972346436050925276">"Leisti paslaugos „<xliff:g id="SERVICE">%1$s</xliff:g>“ prieigą prie pranešimų?"</string>
     <string name="notification_assistant_security_warning_summary" msgid="3119843404577399036">"Paslauga „<xliff:g id="NOTIFICATION_ASSISTANT_NAME">%1$s</xliff:g>“ galės skaityti visus pranešimus, įskaitant asmens informaciją, pvz., kontaktų vardus ir gautų pranešimų tekstą. Be to, ji galės atsisakyti pranešimų, keisti juos ar suaktyvinti juose pateiktus veiksmo mygtukus. \n\nPaslauga taip pat galės įjungti ar išjungti režimą „Netrukdyti“ ir keisti susijusius nustatymus."</string>
     <string name="notification_listener_security_warning_title" msgid="5791700876622858363">"Leisti <xliff:g id="SERVICE">%1$s</xliff:g> pranešimo prieigą?"</string>
@@ -3640,8 +3727,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"Atlikta"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"Svarba"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"Mirksinti šviesa"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"Vibruoti"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"Vibravimas"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"Garsas"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"Svarbu"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"Pridėti prie pagrindinio ekrano"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"Ištrinti"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"Pervardyti"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"Tvarkaraščio pavadinimas"</string>
@@ -3697,6 +3786,10 @@
       <item quantity="many">Dar <xliff:g id="NUM_PEOPLE">%d</xliff:g> kontakto</item>
       <item quantity="other">Dar <xliff:g id="NUM_PEOPLE">%d</xliff:g> kontaktų</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Pokalbiai"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"Iš visų pokalbių"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"Iš svarbių pokalbių"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"Neleisti jokių pokalbių"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"Leisti pranešimus"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"Kad užtikrintumėte, jog įrenginys skambės priimant leidžiamus pranešimus, patikrinkite, ar jame nustatytas skambėjimo, vibravimo ar begarsis režimas."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"Veikiant „<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>“ blokuojami gaunami pranešimai. Galite koreguoti nustatymus ir leisti draugams, šeimos nariams ar kitiems kontaktams jus pasiekti."</string>
@@ -3710,15 +3803,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"Nėra"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"Neleisti jokių skambučių"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"Neleisti jokių pranešimų"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"Leisti signalus"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"Signalai"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"Iš laikmačių, signalų, saugos sistemų ir kitų programų"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"signalai"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"Leisti medijos garsus"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"Medijos garsai"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"Iš vaizdo įrašų, žaidimų ir kitos medijos"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"medija"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"Leisti palietimo garsus"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"Lietimo garsai"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"Iš klaviatūros ir kitų mygtukų"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"lietimo garsai"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"Leisti priminimus"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"Priminimai"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"Iš užduočių ir priminimų"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"priminimai"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"Leisti įvykius"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"Įvykiai"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"Iš būsimų kalendoriaus įvykių"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Leisti programoms nepaisyti"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"Programų išimtys"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3767,6 +3865,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"Leisti, kad gavus pranešimų, nutildytų naudojant režimą „Netrukdyti“, būtų įjungiamas ekranas"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"Įspėjimų nustatymai"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"Gerai"</string>
+    <string name="suggestion_button_close" msgid="6865170855573283759">"Uždaryti"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Siųsti atsiliepimą apie šį įrenginį"</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"Įveskite administratoriaus PIN kodą"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"Įjungta"</string>
@@ -3777,6 +3876,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Prašyti PIN kodo prieš atsegant"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Prašyti slaptažodžio prieš atsegant"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Užrakinti įrenginį atsegant"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Patvirtinti SIM kortelės ištrynimą"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"Prieš ištrindami atsisiųstą SIM kortelę patvirtinkite savo tapatybę"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"Šį darbo profilį tvarko:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"Tvarkoma naudojant „<xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>“"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(Eksperimentinis)"</string>
@@ -3859,8 +3960,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"Visos programos"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Įdiegtos programos"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Akimirksniu įkeliamos programos"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"Asmeninės"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"Darbas"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"Programos: visos"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"Išjungta"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"Kategorijos: skubi svarba"</string>
@@ -3872,6 +3971,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"Nežinoma programa"</string>
     <string name="app_permissions" msgid="8666537659217653626">"Leidimų tvarkytuvė"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"Programos, naudojančios: <xliff:g id="APPS">%1$s</xliff:g>"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"Programos, naudojančios <xliff:g id="APPS">%1$s</xliff:g> ir kt."</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"Paliesti ir pažadinti"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"Dukart palieskite bet kurioje ekrano vietoje, kad pažadintumėte įrenginį"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"Atidarymo nuorodos"</string>
@@ -3885,9 +3985,16 @@
       <item quantity="many"><xliff:g id="COUNT">%d</xliff:g> programos gali atidaryti palaikomas nuorodas</item>
       <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> programų gali atidaryti palaikomas nuorodas</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"Atidaryti šią programą"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"Leisti programai atidaryti palaikomas nuorodas"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"Klausti kaskart"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"Neatidaryti šios programos"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"Neleisti programai atidaryti nuorodų"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="one">Programa gali tvarkyti <xliff:g id="COUNT_1">%d</xliff:g> nuorodą</item>
+      <item quantity="few">Programa gali tvarkyti <xliff:g id="COUNT_1">%d</xliff:g> nuorodas</item>
+      <item quantity="many">Programa gali tvarkyti <xliff:g id="COUNT_1">%d</xliff:g> nuorodos</item>
+      <item quantity="other">Programa gali tvarkyti <xliff:g id="COUNT_1">%d</xliff:g> nuorodų</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"Programa gali tvarkyti toliau pateiktas nuorodas."</string>
     <string name="default_apps_title" msgid="6943471331817718664">"Numatytieji"</string>
     <string name="default_for_work" msgid="537558180548617528">"Numatytieji darbui"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"Pagalb. progr. ir įvest. balsu"</string>
@@ -4037,8 +4144,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"Rodoma virš kitų programų"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Leisti rodyti virš kitų programų"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"Leisti šią programą pateikti virš kitų naudojamų programų. Tai gali trukdyti naudoti tas programas arba pakeisti, kaip jos atrodo ar veikia."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"Visų failų prieiga"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"Leisti pasiekti ir tvarkyti visus failus"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Šiai programai leidžiama nuskaityti, keisti ir ištrinti visus failus, esančius šiame įrenginyje ar bet kurioje prijungtoje saugykloje. Jei suteiksite leidimą, programa gali pasiekti failus jūsų tiksliai neinformavus."</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"Gali pasiekti visus failus"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"vr virtualiosios realybės apdorojimo priemonė stereofoninis garsas pagalbinė paslauga"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"sistemos įspėjimo dialogo langas dėl rodymo virš kitų programų"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"Rodyti virš kitų programų"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"<xliff:g id="COUNT_0">%1$d</xliff:g> iš <xliff:g id="COUNT_1">%2$d</xliff:g> progr. leidžiama rodyti virš kitų programų"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"Leidimą turinčios programos"</string>
@@ -4214,6 +4324,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"Išnaudota: <xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g>"</string>
     <string name="data_overusage" msgid="3680477320458707259">"Viršyta <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="data_remaining" msgid="6316251496381922837">"Liko: <xliff:g id="ID_1">^1</xliff:g>"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"Diagramoje rodomas duomenų naudojimas <xliff:g id="START_DATE">%1$s</xliff:g>–<xliff:g id="END_DATE">%2$s</xliff:g>."</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"Šią dienų seką atitinkančių duomenų nėra"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="one">Liko %d diena</item>
       <item quantity="few">Liko %d dienos</item>
@@ -4279,14 +4391,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"dydis"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"pateiktas įspėjimas apie pranešimą"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"garsas"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"vibruoti"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"atrakinimo piešinys"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"numatytasis"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"kanalas"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"nėra"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"Trūksta reitingavimo objekto."</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"Reitingavimo objekte nėra šio rakto."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"Temos nustatymas"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"Numatytasis įrenginio nustatymas"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"Ekrano išpjova"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"ekrano išpjova, įranta"</string>
@@ -4383,8 +4491,12 @@
     <string name="information_label" msgid="6939310810756569298">"Informacija"</string>
     <string name="low_label" msgid="6525629096999711220">"Mažas"</string>
     <string name="high_label" msgid="357503396626018487">"Didelis"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"Didesnis jautrumas gali būti nesuderinamas su visais programų gestais palei ekrano kraštus."</string>
+    <string name="left_edge" msgid="1513576842959071849">"Kairysis kraštas"</string>
+    <string name="right_edge" msgid="1505309103265829121">"Dešinysis kraštas"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"Didesnis jautrumas gali būti nesuderinamas su visais programų gestais palei ekrano kraštus."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"Grįžtamasis jautrumas"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"Gestų nustatymai"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"naršymas gestais, grįžtamasis jautrumas, grįžtamasis gestas"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"Telefono tikrinimas dukart palietus"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"Planšetinio kompiuterio tikrinimas dukart palietus"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"Įrenginio tikrinimas dukart palietus"</string>
@@ -4553,7 +4665,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"Aktyviklio operatoriaus aprūpinimas"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"Atnaujinti netrukdymo režimą"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"Pristabdyti pranešimus, kad neblaškytų dėmesio"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"Ši funkcija nepasiekiama šiame įrenginyje"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"Funkcija negalima"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"Ši funkcija buvo išjungta, nes, kai ji įjungta, telefonas veikia lėčiau"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"Priversti vykdyti visus GNSS matavimus"</string>
@@ -4563,20 +4674,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"Pasirinkti programą, kurioje įgalinta ANGLE"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"Nėra jokių programų, kuriose būtų įgalinta ANGLE, rinkinių"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"Programa, kurioje įgalinta ANGLE: „<xliff:g id="APP_NAME">%1$s</xliff:g>“"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"Žaidimų tvarkyklės nuostatos"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"Žaidimų tvarkyklės nustatymų keitimas"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"Kai žaidimų tvarkyklė įjungta, galite pasirinkti naudoti atnaujintą grafikos tvarkyklę, skitą įrenginyje įdiegtoms programoms."</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"Įgalinti visose programose"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"Pasirinkti grafikos tvarkyklę"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"Numatytoji"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"Žaidimų tvarkyklė"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"Išankstinio leidimo tvarkyklė"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"Sistemos grafikos tvarkyklė"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"Grafikos tvarkyklės nuostatos"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"Keiskite grafikos tvarkyklės nustatymus"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"Kai yra kelios grafikos tvarkyklės, galite pasirinkti naudoti atnaujintą grafikos tvarkyklę, skitą įrenginyje įdiegtoms programoms."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"Įgalinimas visose programose"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"Grafikos tvarkyklės pasirinkimas"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"Numatytasis"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"Žaidimų tvarkyklė"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"Kūrėjo tvarkyklė"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Sistemos grafikos tvarkyklė"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Programos suderinamumo pakeitimai"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Perjungti programos suderinamumo pakeitimus"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Numatytieji įgalinti pakeitimai"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Numatytieji išjungti pakeitimai"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"Šiame telefone nustatymas nepalaikomas"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"Šiame planšetiniame kompiuteryje nustatymas nepalaikomas"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"Šiame įrenginyje nustatymas nepalaikomas"</string>
@@ -4595,6 +4712,11 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"Įrenginys"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Nepasiekiama skambučių metu"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"Nepasiekiama"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"Išvesčių pridėjimas"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"Grupė"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"Pasirinktas 1 įrenginys"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"Pasirinkta įrenginių: <xliff:g id="COUNT">%1$d</xliff:g>"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"Perjungiama…"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Gauti skambučius"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Negalima pakeisti šio APN."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Pailginkite planš. komp. akum. veikimo laiką"</string>
@@ -4714,10 +4836,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Vienu metu gali būti aktyvi tik viena atsisiųsta SIM kortelė.\n\nPerjungus į „<xliff:g id="CARRIER1">%1$s</xliff:g>“ jums teikiamos „<xliff:g id="CARRIER2">%2$s</xliff:g>“ paslaugos nebus atšauktos."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Perjungti į „<xliff:g id="CARRIER">%1$s</xliff:g>“"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Ištrinti SIM kortelę"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Ištrinti šią atsisiųstą SIM kortelę?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Ištrynus šią SIM kortelę bus pašalintos „<xliff:g id="CARRIER_0">%1$s</xliff:g>“ paslaugos iš šio įrenginio.\n\n„<xliff:g id="CARRIER_1">%2$s</xliff:g>“ paslaugos nebus atšauktos."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Ištrinti"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Ištrinama SIM kortelė…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Nepavyko ištrinti SIM kortelės"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Šios SIM kortelės negalima ištrinti dėl klaidos.\n\nPaleiskite įrenginį iš naujo ir bandykite dar kartą."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Pageidaujamas tinklo tipas"</string>
@@ -4742,7 +4860,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Netinkamas tinklo režimas (<xliff:g id="NETWORKMODEID">%1$d</xliff:g>). Nepaisyti."</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Prieigos taškų pavadinimai"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Nepasiekiama, kai prisijungta prie „<xliff:g id="CARRIER">%1$s</xliff:g>“"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"Medicininė informacija, kritinės padėties kontaktai"</string>
     <string name="see_more" msgid="7499355691042812723">"Žr. daugiau"</string>
     <string name="see_less" msgid="2642392725363552793">"Žr. mažiau"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"Įrenginiai, kuriuos galima naudoti su „<xliff:g id="APPNAME">%1$s</xliff:g>“"</string>
@@ -4751,13 +4868,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"Kažkas nutiko. Programa atšaukė įrenginio pasirinkimo užklausą."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"Sėkmingai prisijungta"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"Rodyti viską"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> prijungtas įrenginys</item>
-      <item quantity="few"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> prijungti įrenginiai</item>
-      <item quantity="many"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> prijungto įrenginio</item>
-      <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> prijungtų įrenginių</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"Nėra jokių „Bluetooth“ įrenginių"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"Ieškoma įrenginio…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"Prisijungiama prie įrenginio…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"Kairėje"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"Dešinėje"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Dėklas"</string>
@@ -4767,6 +4879,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"Nepasiekiama lėktuvo režimu"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"Priverstinai įjungti darbalaukio režimą"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Priverstinai įjungti eksperimentinį darbalaukio režimą antriniuose ekranuose"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"Įgalinti laisvos formos dydžių suderinimą"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"Leidžiama suderinamo dydžio programoms būti laisvos formos"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Nepaisyti priverst. tamsaus rež. įgalin."</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"Nepaisoma priverstinio tamsaus režimo funkcijos įgalinimo, kad ji visada būtų įjungta"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"Privatumas"</string>
@@ -4809,6 +4923,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Neseniai įdiegėte šią programą."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Išvesties perjungimas"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Šiuo metu leidžiama per <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"„<xliff:g id="DEVICE_NAME">%1$s</xliff:g>“ (atjungta)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Įjungti nepavyko. Bandykite vėl palietę."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Svarbi informacija"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"TĘSTI"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"AČIŪ, NE"</string>
@@ -4836,8 +4952,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"SIM kortelių derinys"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Darbo politikos informacija"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Nustatymus tvarko jūsų IT administratorius"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"Grafikos procesorius"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"Pranešimų apie riktus doroklė"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Nustatoma, kuri programa apdoroja pranešimo apie riktą spartųjį klavišą įrenginyje."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Asmeninė"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"Darbo"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"Numatytasis sistemos nustatymas"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"Šios parinkties nebegalima pasirinkti. Bandykite dar kartą."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"Sustabdyti perdavimą"</string>
 </resources>
diff --git a/res/values-lv/arrays.xml b/res/values-lv/arrays.xml
index 0463c08..938bf4a 100644
--- a/res/values-lv/arrays.xml
+++ b/res/values-lv/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"Nekavējoties"</item>
     <item msgid="463591454172790676">"5 sekundes"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"Neapstiprināt"</item>
+    <item msgid="5703177653586269306">"Pieprasīt sertifikāta statusu"</item>
+    <item msgid="326388247868439528">"Pieprasīt sertifikāta statusu"</item>
+    <item msgid="1090956283885790552">"Pieprasīt visu neuzticamo sertifikātu statusu"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"Spiedpoga"</item>
     <item msgid="2630618799033509548">"Vienādranga ierīces PIN kods"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"Nav"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"Protokola IPsec VPN ar iepriekš kopīgotām atslēgām un autentifikāciju Xauth"</item>
     <item msgid="2484564813864139237">"Protokola IPsec VPN ar sertifikātiem un autentifikāciju Xauth"</item>
     <item msgid="68918911194507915">"Protokola IPsec VPN ar sertifikātiem un hibrīdautentifikāciju"</item>
+    <item msgid="4631647675167100375">"IKEv2/IPSec VPN ar sertifikātiem un lietotājvārda/paroles autentifikāciju"</item>
+    <item msgid="8812228622975052811">"IKEv2/IPSec VPN ar iepriekš kopīgotām atslēgām"</item>
+    <item msgid="6630554779981113046">"IKEv2/IPSec VPN ar sertifikātiem"</item>
   </string-array>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"Nav"</item>
diff --git a/res/values-lv/config.xml b/res/values-lv/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-lv/config.xml
+++ b/res/values-lv/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index 6538783..16b80bc 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -32,49 +32,17 @@
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Lūdzu, vispirms iespējojiet izstrādātājiem paredzētās opcijas."</string>
     <string name="header_category_wireless_networks" msgid="303445626075235229">"Bezvadu sakari un tīkli"</string>
     <string name="header_category_system" msgid="1665516346845259058">"Sistēma"</string>
-    <string name="radio_info_data_connection_enable" msgid="7500945447906187613">"Iespējot datu savienojumu"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"Atspējot datu savienojumu"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"VoLTE nodrošināts"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"Videozvani ir nodrošināti"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"Wi-Fi zvani ir nodrošināti"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"EAB/klātbūtne nodrošināta"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"CBRS dati"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"Iespējot DSDS"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"Vai restartēt ierīci?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"Lai mainītu šo iestatījumu, jums jārestartē ierīce."</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"Restartēt"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"Atcelt"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"Mobilā tālruņa radio signāla stiprums"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"Skatīt SIM adrešu grāmatu"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"Fiksētās iezvanes numuru skatīšana"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"Pakalpojuma iezvanes numuru skatīšana"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"Tūlītējās ziņojumapmaiņas pakalpojuma statuss"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"Tūlītējās ziņojumapmaiņas statuss"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"Reģistrēta"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"Nav reģistrēta"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"Pieejama"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"Nav pieejama"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"Tūlītējās ziņojumapmaiņas reģistrācija: <xliff:g id="STATUS">%1$s</xliff:g>\nBalss pārraide ar LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nBalss pārraide ar Wi-Fi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideozvani: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT interfeiss: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"Darbojas"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Nedarbojas"</string>
     <string name="radioInfo_service_emergency" msgid="6838935881091760942">"Tikai ārkārtas izsaukumi"</string>
     <string name="radioInfo_service_off" msgid="6184928420860868571">"Radio ir izslēgts"</string>
     <string name="radioInfo_roaming_in" msgid="8892550453644088692">"Viesabonēšana"</string>
     <string name="radioInfo_roaming_not" msgid="3137594549464975054">"Bez viesabonēšanas"</string>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"Neaizņemts"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"Zvana"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"Notiek zvans"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"Atvienots"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"Notiek savienojuma izveide"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"Izveidots savienojums"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Atlikts"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Nezināms"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"pkts"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"baiti"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"Atvienot USB krātuvi"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"Atvienot SD karti"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"Dzēst USB krātuvi"</string>
@@ -84,7 +52,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"Palieliniet vai samaziniet tekstu ekrānā."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Samazināt"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Palielināt"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"Teksta paraugs"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"Brīnumainais burvis no Oza zemes"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"11. nodaļa: Oza zemes brīnumainā Smaragda pilsēta"</string>
@@ -175,9 +142,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"Lai mainītu šo iestatījumu, jums jārestartē ierīce."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"Restartēt"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"Atcelt"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"Pieejamās multivides ierīces"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"Pieejamās zvanīšanas ierīces"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"Pašlaik pievienotās"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"Multivides ierīces"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"Zvanīšanas ierīces"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"Citas ierīces"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Saglabātās ierīces"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Tiks ieslēgts Bluetooth un izveidots savienojums pārī."</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Savienojuma preferences"</string>
@@ -210,46 +177,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"Ierakstītais porta numurs nav derīgs."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"HTTP starpniekserveris tiek izmantots pārlūkprogrammā, taču, iespējams, netiek izmantots citās lietotnēs."</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"PAC URL: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"Pašreizējais papildu ID:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"Noklusējuma datu SIM kartes papildu ID:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"DL joslas platums (kb/s):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"UL joslas platums (kb/s):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"Mobilā tālruņa atrašanās vietas informācija (novecojusi):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"LTE fiziskā kanāla konfigurācija:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"Mobilā tīkla informācijas atsvaidzināšanas biežums:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"Visa mobilā tīkla mērījumu informācija:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"Datu pakalpojums:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"Viesabonēšana:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"Zvana novirzīšana:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"Protokola PPP atiestatīšanas reižu skaits kopš palaišanas:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"Pašreizējais tīkls:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"Saņemtie dati:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"Balss pakalpojums:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"Signāla stiprums:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"Balss zvana statuss:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"Dati nosūtīti:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"Ziņojums gaida:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"Tālruņa numurs:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"Atlasīt radio frekvenču joslu"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"Balss pakalpojumu tīkla veids:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"Datu tīkla veids:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"Atlasiet tālruņa kodu"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"Iestatiet ieteicamo tīkla veidu:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"Ehotestēšanas saimniekdatora nosaukuma (www.google.com) IPv4:"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"Ehotestēšanas saimniekdatora nosaukuma (www.google.com) IPv6:"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"HTTP klienta tests:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"Veikt ehotestēšanu"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"Atjaunināt"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"Atsvaidzināt"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"Pārslēgt DNS pārbaudi"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"OEM raksturīga informācija/iestatījumi"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"Radio frekvenču joslu režīma iestatīšana"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"Notiek joslu saraksta ielāde…"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"Iestatīt"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"Neizdevās"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"Izdevās"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"Izmaiņas stājas spēkā, kad atkal tiek pievienots USB kabelis."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"Iespējot USB lielapjoma krātuvi"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"Kopējais baitu skaits:"</string>
@@ -287,10 +218,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"Pārvietot uz beigām"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"Noņemt valodu"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"Darbības izvēle"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"Informācija par ierīci"</string>
     <string name="display_label" msgid="3056320781191343221">"Ekrāns"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"Informācija par planšetdatoru"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"Tālruņa informācija"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"USB krātuve"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"SD karte"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"Starpniekservera iestatījumi"</string>
@@ -308,9 +236,6 @@
     <string name="airplane_mode" msgid="3196085857882526817">"Lidojuma režīms"</string>
     <string name="wireless_networks_settings_title" msgid="8557542379234105369">"Bezvadu sakari un tīkli"</string>
     <string name="radio_controls_summary" msgid="9028430178697624501">"Wi-Fi, Bluetooth, lidojuma režīma, mobilo tīklu un VPN pārvaldība"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"Mobilie dati"</string>
-    <string name="calls_title" msgid="6334813967619899114">"Atļaut zvanus"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"Īsziņas"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"Atļaut datu izmantošanu mobilajā tīklā"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"Datu lietojums viesabonēšanā"</string>
     <string name="roaming" msgid="3055365654530847985">"Viesabonēšana"</string>
@@ -318,9 +243,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"Viesabonēšanas laikā izveidot savienojumu ar datu pakalpojumiem"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"Datu savienojamība ir zaudēta, jo mājas tīkls ar datu viesabonēšanu ir izslēgts."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"Ieslēgt"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"Var rasties ievērojamas izmaksas."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"Atļaujot datu viesabonēšanu, var rasties ievērojamas viesabonēšanas izmaksas.\n\nŠis iestatījums ietekmē visus planšetdatora lietotājus."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"Atļaujot datu viesabonēšanu, var rasties ievērojamas viesabonēšanas izmaksas.\n\nŠis iestatījums ietekmē visus tālruņa lietotājus."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"Var tikt piemērota maksa par viesabonēšanu."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"Atļaujot datu viesabonēšanu, var tikt piemērota maksa par viesabonēšanu.\n\nŠis iestatījums ietekmē visus šī planšetdatora lietotājus."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"Atļaujot datu viesabonēšanu, var tikt piemērota maksa par viesabonēšanu.\n\nŠis iestatījums ietekmē visus tālruņa lietotājus."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"Vai atļaut datu viesabonēšanu?"</string>
     <string name="networks" msgid="5184501333492775095">"Operatora atlase"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"Izvēlēties tīkla operatoru"</string>
@@ -361,8 +286,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"Atspējoja administrators"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"Rādīt bloķēšanas opciju"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"Rādīt barošanas pogas opciju, kas izslēdz Smart Lock, biometrisko atbloķēšanu un paziņojumus bloķēšanas ekrānā"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"Uzt. pārb. progr. paildzina atbloķēšanu"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"Ja šis režīms ir iespējots, uzticamības pārbaudes programmas nebloķēs ierīci ilgāku laiku, taču vairs nevarēs atbloķēt bloķētu ierīci."</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"Ekrāna bloķēšana, zaudējot uzticamību"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"Ja šis iestatījums ir iespējots, ierīce tiks bloķēta, kad pēdējā uzticamības pārbaudes programma zaudēs uzticamību."</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"Nav"</string>
@@ -393,7 +316,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"Manas atrašanās vietas, ekrāna atbloķēšanas, SIM kartes bloķēšanas, akreditācijas datu krātuves bloķēšanas iestatīšana"</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"Manas atrašanās vietas, ekrāna atbloķēšanas, akreditācijas datu krātuves bloķēšanas iestatīšana"</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"Konfidencialitāte"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"Atspējoja administrators"</string>
+    <string name="disabled_by_administrator_summary" msgid="5424846182313851124">"Nav pieejama"</string>
     <string name="security_status_title" msgid="6958004275337618656">"Drošības statuss"</string>
     <string name="security_dashboard_summary_face" msgid="4198949293847206382">"Ekrāna bloķēšana, autorizācija pēc sejas"</string>
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Ekrāna bloķēšana, pirksta nospiedums"</string>
@@ -701,7 +624,6 @@
       <item quantity="one">Ir jābūt mazāk par <xliff:g id="NUMBER_1">%d</xliff:g> ciparu.</item>
       <item quantity="other">Ir jābūt mazāk par <xliff:g id="NUMBER_1">%d</xliff:g> cipariem.</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"Ir jāietver tikai cipari no 0 līdz 9."</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"Ierīces administrators neļauj izmantot nesen izveidotu PIN."</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"Jūsu IT administrators ir bloķējis pārāk vienkāršus PIN kodus. Izmēģiniet sarežģītāku PIN kodu."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"Nedrīkst ietvert nederīgu rakstzīmi."</string>
@@ -738,6 +660,11 @@
       <item quantity="one">Ir jāietver vismaz <xliff:g id="COUNT">%d</xliff:g> rakstzīme, kas nav burts.</item>
       <item quantity="other">Ir jāietver vismaz <xliff:g id="COUNT">%d</xliff:g> rakstzīmes, kas nav burti.</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="zero">Ir jāietver vismaz <xliff:g id="COUNT">%d</xliff:g> rakstzīmju, kas nav cipari</item>
+      <item quantity="one">Ir jāietver vismaz <xliff:g id="COUNT">%d</xliff:g> rakstzīme, kas nav cipars</item>
+      <item quantity="other">Ir jāietver vismaz <xliff:g id="COUNT">%d</xliff:g> rakstzīmes, kas nav cipari</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"Ierīces administrators neļauj izmantot nesen izveidotu paroli."</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"Jūsu IT administrators ir bloķējis pārāk vienkāršas paroles. Izmēģiniet sarežģītāku paroli."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"Augoša, dilstoša vai atkārtota ciparu secība nav atļauta."</string>
@@ -853,19 +780,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2,4 GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"Pierakstīties"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"Atvērt vietni"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"Atlikušais laiks: <xliff:g id="REMAINING_TIME">%1$s</xliff:g>"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"Darbības termiņš: <xliff:g id="EXPIRY_TIME">%1$s</xliff:g>"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"Lai pierakstītos tīklā, pieskarieties šeit"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Mb/s"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Mb/s"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Mb/s"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"Lietotnē <xliff:g id="REQUESTER">%s</xliff:g> tiek mēģināts ieslēgt Wi-Fi savienojumu."</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"Lietotnē <xliff:g id="REQUESTER">%s</xliff:g> tiek mēģināts izslēgt Wi-Fi savienojumu."</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"Verificēt atkļūdojamu lietotņu bitu kodu"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Atļaut ART verificēt atkļūdojamu lietotņu bitu kodu"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"Rādīt atsvaidzin. biežumu"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Rādīt pašreizējo displeja atsvaidzināšanas biežumu"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"Atļaut datu apmaiņu, kad planšetdators saskaras ar citu ierīci"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"Atļaut datu apmaiņu, kad tālrunis saskaras ar citu ierīci"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"Atļaut datu apmaiņu, kad planšetdators saskaras ar NFC ierīci"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"Atļaut datu apmaiņu, kad tālrunis saskaras ar NFC ierīci"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"Ieslēgt NFC"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"NFC pārsūta datus starp šo ierīci un citām tuvumā esošām ierīcēm vai mērķa vietām, piemēram, maksājumu termināļiem, piekļuves lasītājiem un interaktīvām reklāmām vai tagiem."</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"Droši NFC"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Pieprasīt ierīces atbloķēšanu tehnoloģijai NFC"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"Atļaut NFC izmantošanu maksājumiem un sabiedriskajā transportā tikai tad, kad ekrāns ir atbloķēts"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"Gatavs pārraidīt lietotnes saturu, izmantojot NFC"</string>
@@ -939,8 +872,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Ieslēgt"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Wi‑Fi meklēšana ir ieslēgta"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Papildu opcijas"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"Nolaižamais saraksts “Papildu opcijas”. Lai to sakļautu, veiciet dubultskārienu."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"Nolaižamais saraksts “Papildu opcijas”. Lai to izvērstu, veiciet dubultskārienu."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Nolaižamais saraksts “Papildu opcijas”"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"izvērst"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"Tīkla nosaukums"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"Ievadiet SSID."</string>
     <string name="wifi_security" msgid="9095934643631406913">"Drošība"</string>
@@ -950,6 +883,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"Statuss"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"Datu pārsūtīšanas ātrums"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"Datu saņemšanas ātrums"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"Saites izveides ātrums"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"Biežums"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"IP adrese"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"Saglabāts, izmantojot"</string>
@@ -957,6 +891,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"EAP metode"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"2. fāzes autentifikācija"</string>
     <string name="wifi_eap_ca_cert" msgid="8033404008276298886">"CA sertifikāts"</string>
+    <string name="wifi_eap_ocsp" msgid="8713933962516871238">"Tiešsaistes sertifikāta statuss"</string>
     <string name="wifi_eap_domain" msgid="8304301470752333203">"Domēns"</string>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"Lietotāja sertifikāts"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"Identifikācijas dati"</string>
@@ -973,6 +908,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"Izvēlieties vismaz vienu joslu Wi‑Fi tīklājam:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"IP iestatījumi"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"Konfidencialitāte"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"Abonements"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"Skatīt vai mainīt abonementu"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"Nejauši atlasīta MAC adr."</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"Ierīces pievienošana"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"Lai izveidotu ierīces savienojumu ar <xliff:g id="SSID">%1$s</xliff:g>, centrējiet tālāk norādīto QR kodu."</string>
@@ -982,12 +919,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"Wi‑Fi tīkla koplietošana"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"Lai izveidotu savienojumu ar tīklu “<xliff:g id="SSID">%1$s</xliff:g>” un kopīgotu paroli, skenējiet šo QR kodu"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"Lai izveidotu savienojumu ar tīklu <xliff:g id="SSID">%1$s</xliff:g>, skenējiet šo QR kodu"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"Nevarēja nolasīt QR kodu. Atkārtoti centrējiet kodu un mēģiniet vēlreiz."</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"Mēģiniet vēlreiz. Ja problēma joprojām pastāv, sazinieties ar ierīces ražotāju."</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"Radās problēma"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"Ierīcei ir jābūt pievienotai, uzlādētai un ieslēgtai"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"Ierīcei ir jābūt pievienotai, uzlādētai un ieslēgtai. Ja problēma joprojām pastāv, sazinieties ar ierīces ražotāju."</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"“<xliff:g id="SSID">%1$s</xliff:g>” pievienošana šajā ierīcē netiek atbalstīta"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"Pārvietojiet ierīci tuvāk Wi-Fi piekļuves punktam/ maršrutētājam"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"Pārbaudiet paroli un mēģiniet vēlreiz"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"Sazinieties ar ierīces ražotāju"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"Pārbaudiet savienojumu un mēģiniet vēlreiz"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"Tīkla izvēle"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"Lai pievienotu ierīci, izvēlieties tīklu."</string>
@@ -1000,11 +939,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"Notiek Wi‑Fi kopīgošana ar šo ierīci…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"Notiek savienojuma izveide…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"Tīklāja kopīgošana"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"Apstipriniet, ka tas esat jūs"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"Identitātes apstiprināšana"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"Wi-Fi tīkla parole: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"Tīklāja parole: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"Automātiski izveidot savienojumu"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"Ļaut tālrunim automātiski izveidot savienojumu šī tīkla tuvumā"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"Ļaut planšetdatoram automātiski izveidot savienojumu šī tīkla tuvumā"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"Pievienot ierīci"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"Izmantojiet ātrās atbildes kodu, lai pievienotu ierīci šim tīklam"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"Ātrās atbildes koda formāts nav derīgs."</string>
     <string name="retry" msgid="7542103800274026915">"Mēģināt vēlreiz"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"Koplietot ar citiem ierīces lietotājiem"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(bez izmaiņām)"</string>
@@ -1016,6 +959,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"Sertifikāts nav norādīts. Savienojums nebūs privāts."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"Tīkla nosaukums ir pārāk garš."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"Norādiet domēnu."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"Nepieciešams sertifikāts."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"WPS ir pieejams"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (WPS ir pieejams)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"Mobilo sakaru operatora Wi‑Fi tīkls"</string>
@@ -1070,7 +1014,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"Papildu Wi-Fi"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"MAC adrese"</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_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>
@@ -1122,7 +1067,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"Izmantojiet tīklāju, lai izveidotu Wi‑Fi tīklu citām savām ierīcēm. Tīklājs nodrošina internetu, izmantojot mobilo datu savienojumu. Var tikt piemērota papildu maksa par mobilo datu pārraidi."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"Lietotnes var izveidot tīklāju satura kopīgošanai ar tuvumā esošajām ierīcēm."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Automātiski izslēgt tīklāju"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"Wi‑Fi tīklājs tiks izslēgts, ja netiks pievienota neviena ierīce"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Kad nav pievienota neviena ierīce"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"Notiek tīklāja ieslēgšana…"</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"Notiek tīklāja izslēgšana…"</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> ir aktīvs"</string>
@@ -1131,6 +1076,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"Wi-Fi tīklāja iestatīšana"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"AndroidAP WPA2 PSK tīklājs"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"AndroidHotspot"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"Vai saglabāt šo tīklu?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"Lietotne <xliff:g id="APPNAME">%1$s</xliff:g> vēlas saglabāt tīklu jūsu tālrunī."</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"Lietotne <xliff:g id="APPNAME">%1$s</xliff:g> vēlas saglabāt tīklu jūsu planšetdatorā."</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"Notiek saglabāšana…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"Saglabāts"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"Nevar saglabāt tīklu. Mēģiniet vēlreiz."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"Vai saglabāt tīklus?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"Lietotne <xliff:g id="APPNAME">%1$s</xliff:g> vēlas saglabāt šos tīklus jūsu tālrunī."</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"Lietotne <xliff:g id="APPNAME">%1$s</xliff:g> vēlas saglabāt šos tīklus jūsu planšetdatorā."</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"Notiek <xliff:g id="NUMBER">%d</xliff:g> tīkla(-u) saglabāšana…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"Saglabātie tīkli"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"Wi-Fi zvani"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"Zvanīšana, izmantojot Wi‑Fi"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"Ieslēdziet Wi‑Fi zvanus, lai paplašinātu pārklājumu"</string>
@@ -1157,16 +1113,18 @@
     <string name="emergency_address_title" msgid="3490633500025717573">"Ārkārtas adrese"</string>
     <string name="emergency_address_summary" msgid="3022628750270626473">"Tiks izmantota kā jūsu atrašanās vieta, ja zvanīsiet uz ārkārtas numuru, lietojot Wi‑Fi."</string>
     <string name="private_dns_help_message" msgid="851221502063782306"><annotation id="url">"Uzziniet vairāk"</annotation>" par privātām DNS funkcijām"</string>
+    <string name="private_dns_mode_on" msgid="8878679071975375696">"Ieslēgts"</string>
     <string name="wifi_calling_pref_managed_by_carrier" msgid="129524064888622179">"Iestatījumu pārvalda mobilo sakaru operators"</string>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"Aktivizējiet Wi-Fi zvanus"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"Ieslēdziet Wi-Fi zvanus"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"Mobilo sakaru operators %1$s neatbalsta Wi‑Fi zvanus."</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"Pārtraukts savienojums ar <xliff:g id="SSID">%1$s</xliff:g>"</string>
     <string name="carrier" msgid="1755020806290963951">"Mobilo sakaru operators"</string>
     <string name="display_settings_title" msgid="626835071804834218">"Displejs"</string>
     <string name="sound_settings" msgid="5514582720435174014">"Skaņa"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"Skaļumi"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"Mūzikas efekti"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"Zvana skaļums"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"Zvanu un paziņojumu signāla skaļums"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"Vibrē klusuma režīmā"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"Noklusējuma paziņojuma skaņa"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"Zvana signāls"</string>
@@ -1291,13 +1249,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"Grafiks"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"Nav"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"Ieslēgts no rieta līdz lēktam"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"Tiek ieslēgts pielāgotā laikā"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"Statuss"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"Izslēgts/<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"Nekad netiks automātiski ieslēgts"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"Tiks automātiski ieslēgts saulrietā"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"Tiks automātiski ieslēgts plkst. <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"Ieslēgts/<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"Nekad netiks automātiski izslēgts"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"Tiks automātiski izslēgts saullēktā"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"Tiks automātiski izslēgts plkst. <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"Ieslēgt līdz plkst. <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"Izslēgt līdz plkst. <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"Tumšajā motīvā tiek izmantots melns fons noteiktos ekrānos, lai paildzinātu akumulatora darbību. Turklāt jūs varat iestatīt, kad ieslēgt un izslēgt tumšo motīvu."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"Ekrāna noildze"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"Ekrāns tiek izslēgts"</string>
@@ -1309,7 +1272,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"Mainīt fona tapeti"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"Ekrāna personalizēšana"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"Fona tapetes izvēle no"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"Pixel pielāgošana"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"Tālruņa pielāgošana"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"Izmēģiniet dažādus stilus, fona tapetes utt."</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"Ekrānsaudzētājs"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Uzlādes vai dokošanas laikā"</string>
@@ -1399,6 +1362,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"Atvienojiet USB krātuvi, skatiet pieejamo krātuvi"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"SD kartes atvienošana, pieejamās krātuves skatīšana"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (%1$d. SIM kartes slots)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"Skatīšanai izvēlieties saglabātu tīklu."</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"Tālruņa numurs"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (%1$d. SIM kartes slots)"</string>
@@ -1425,6 +1389,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"Viesabonēšana"</string>
     <string name="status_operator" msgid="4335640583552058491">"Tīkls"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"Wi-Fi MAC adrese"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"Ierīces Wi‑Fi MAC adrese"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"Bluetooth adrese"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Sērijas numurs"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Darbības laiks"</string>
@@ -1637,6 +1602,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Noklusējuma APN iestatījumu atiestatīšana ir pabeigta."</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"Atiestatīšanas opcijas"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"Var atiestatīt tīklu, lietotnes vai ierīci"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"Lietotnes var atiestatīt"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"Atiestatīt Wi-Fi, mobilo datu un Bluetooth iestatījumus"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"Tādējādi tiks atiestatīti visi tīkla iestatījumi, tostarp:\n\n"<li>"Wi‑Fi;"</li>\n<li>"mobilie dati;"</li>\n<li>"Bluetooth."</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"Dzēst lejupielādētās SIM k."</string>
@@ -1686,6 +1652,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"Tīklājs ir ieslēgts"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"Piesaiste"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"Kamēr ir ieslēgts datu lietojuma samazinātājs, nevar veikt piesaisti vai izmantot pārnēsājamus tīklājus"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"Tikai tīklājs"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"Tikai USB"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"Tikai Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"Tīklājs, USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"Tīklājs, Bluetooth"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB, Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"Tīklājs, USB, Bluetooth"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"Internets netiek koplietots ar citām ierīcēm"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"Piesaiste"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Neizmantot Wi‑Fi tīklāju"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Kopīgot interneta savienojumu, tikai izmantojot USB"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Kopīgot interneta savienojumu, tikai izmantojot Bluetooth"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Kopīgot interneta savienojumu, tikai izmantojot USB un Bluetooth"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB piesaiste"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"Koplietojiet tālruņa interneta savienojumu, izmantojot USB"</string>
@@ -1777,9 +1756,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"Informācija par drošību"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"Nav izveidots datu savienojums. Lai skatītu šo informāciju tūlīt, jebkurā datorā ar interneta savienojumu apmeklējiet vietni %s."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"Notiek ielāde…"</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"Izmantot PIN"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"Izmantot kombināciju"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"Izmantot paroli"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"Ekrāna bloķēšanas iestatīšana"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"Drošības nolūkos iestatiet paroli."</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"Parole pirksta nosp. lietošanai"</string>
@@ -1788,8 +1764,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"PIN pirksta nosp. lietošanai"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"Drošības nolūkos iestatiet kombināciju."</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"Atkārtota paroles ievade"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"Ievadiet darba profila paroli"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"Apstipriniet kombināciju"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"Ievadiet darba profila kombināciju"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"Atkārtota PIN ievade"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"Ievadiet darba profila PIN"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"Paroles nav vienādas"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"PIN kodi ir atšķirīgi"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"Vēlreiz uzzīmējiet kombināciju"</string>
@@ -1800,6 +1779,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"Rezerves metode autorizācijai pēc sejas"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"Rezerves metode autorizācijai pēc sejas"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"Rezerves metode autorizācijai pēc sejas"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"Vai aizmirsāt paroli?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"Vai aizmirsāt kombināciju?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"Vai aizmirsāt PIN?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"Lai turpinātu, izmantojiet ierīces kombināciju."</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"Lai turpinātu, ievadiet ierīces PIN kodu."</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"Lai turpinātu, ievadiet savas ierīces paroli."</string>
@@ -1867,6 +1849,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"Atļaut visus lietotņu avotus"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"Nesen atvērtās lietotnes"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"Visu lietotņu (<xliff:g id="COUNT">%1$d</xliff:g>) skatīšana"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"Sazinieties ar savu IT administratoru"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"Administrators var palīdzēt atiestatīt PIN, kombināciju vai paroli."</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"Jūsu planšetdators un personīgie dati ir neaizsargātāki pret nezināmu lietotņu uzbrukumiem. Instalējot no šī avota iegūtas lietotnes, jūs piekrītat, ka esat atbildīgs par jebkādiem planšetdatora bojājumiem vai datu zudumu, kas varētu rasties šo lietotņu izmantošanas dēļ."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"Jūsu tālrunis un personīgie dati ir neaizsargātāki pret nezināmu lietotņu uzbrukumiem. Instalējot no šī avota iegūtas lietotnes, jūs piekrītat, ka esat atbildīgs par jebkādiem tālruņa bojājumiem vai datu zudumu, kas varētu rasties šo lietotņu izmantošanas dēļ."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"Jūsu ierīce un personas dati ir neaizsargātāki pret nezināmu lietotņu uzbrukumiem. Instalējot no šī avota iegūtas lietotnes, jūs piekrītat, ka esat atbildīgs par jebkādiem ierīces bojājumiem vai datu zudumu, kas varētu rasties šo lietotņu izmantošanas dēļ."</string>
@@ -1919,7 +1903,7 @@
     <string name="default_emergency_app" msgid="1929974800666613803">"Ārkārtas izsaukumu lietotne"</string>
     <string name="reset_app_preferences" msgid="8861758340732716573">"Atiest. lietotnes prefer."</string>
     <string name="reset_app_preferences_title" msgid="8935136792316050759">"Vai atiest. liet. pref.?"</string>
-    <string name="reset_app_preferences_desc" msgid="1377296810290814749">"Tādējādi tiks atiestatītas visas preferences, kas saistītas ar:\n\n"<li>"atspējotām lietotnēm;"</li>\n<li>"atspējotu lietotņu paziņojumiem;"</li>\n<li>"darbībām paredzētām noklusējuma lietojumprogrammām;"</li>\n<li>"lietotņu fona datu ierobežojumiem;"</li>\n<li>"visiem atļauju ierobežojumiem."</li>\n\n"Jūs nezaudēsiet nekādus lietotņu datus."</string>
+    <string name="reset_app_preferences_desc" msgid="6509978724602405805">"Šādi tiks atiestatītas visas preferences, kas saistītas ar:\n\n"<li>"atspējotām lietotnēm;"</li>\n<li>"atspējotu lietotņu paziņojumiem;"</li>\n<li>"darbībām paredzētām noklusējuma lietojumprogrammām;"</li>\n<li>"lietotņu fona datu ierobežojumiem;"</li>\n<li>"visiem atļauju ierobežojumiem."</li>\n\n"Jūs nezaudēsiet lietotņu datus."</string>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"Atiestatīt lietotnes"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"Vietas pārvaldība"</string>
     <string name="filter" msgid="9039576690686251462">"Filtrs"</string>
@@ -2119,7 +2103,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"Audio un ekrānā redzamais teksts"</string>
     <string name="display_category_title" msgid="6638191682294461408">"Attēlojums"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"Mijiedarbības vadīklas"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"Lejupielādētie pakalpojumi"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"Lejupielādētās lietotnes"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"Eksperimentāla"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"Funkciju karodziņi"</string>
     <string name="talkback_title" msgid="8756080454514251327">"TalkBack"</string>
@@ -2127,27 +2111,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"Pieskarieties vienumiem ekrānā, lai tie tiktu skaļi nolasīti."</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"Subtitru preferences"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"Palielinājums"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"Palielināšanas apgabals"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"Palielināšanas iespējošana"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"Izvēlieties vienu vai vairākus palielināmos apgabalus ekrāna palielināšanai"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"Pilnekrāna režīms"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"Ekrāna daļa"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"Pilnekrāna režīms un ekrāna daļas palielināšana"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"Palielināt visu ekrānu"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"Palielināt ekrāna daļu"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Palielināšanas iestatījumi"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"Palielināt, trīsreiz pieskaroties"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Palielināšana ar saīsni"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Palieliniet, lietojot saīsni un trīskāršu skārienu"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"Par pakalpojumu <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"Opcijas"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"Tuvināt ekrānā"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"Pieskarieties 3 reizes, lai veiktu tālummaiņu"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Pieskarieties pogai, lai palielinātu"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><b>"Lai veiktu tālummaiņu"</b>", trīsreiz ātri pieskarieties ekrānam.\n"<ul><li>"Velciet ar vismaz diviem pirkstiem, lai ritinātu."</li>\n<li>"Savelciet kopā vismaz 2 pirkstus, lai pielāgotu tālummaiņu."</li></ul>\n\n<b>"Lai īslaicīgi veiktu tālummaiņu"</b>", trīsreiz ātri pieskarieties ekrānam un ar trešo pieskārienu turiet pirkstu nospiestu.\n"<ul><li>"Velciet pirkstus, lai pārvietotos ekrānā."</li>\n<li>"Paceliet pirkstu, lai tālinātu."</li></ul>\n\n"Tastatūrā vai navigācijas joslā nevarat veikt tuvināšanu."</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"Kad ir ieslēgts palielinājums, ekrānā varat izmantot tuvināšanu.\n\n"<b>"Lai izmantotu tālummaiņu"</b>", aktivizējiet palielinājumu un pēc tam pieskarieties jebkur ekrānā.\n"<ul><li>"• Velciet vismaz 2 pirkstus, lai ritinātu saturu."</li>\n<li>"• Savelciet vismaz 2 pirkstus, lai pielāgotu tālummaiņu."</li></ul>\n\n<b>"Lai īslaicīgi izmantotu tālummaiņu"</b>", aktivizējiet palielinājumu, pēc tam pieskarieties jebkur ekrānā un turiet.\n"<ul><li>"• Velciet ar pirkstu, lai pārvietotos ekrānā."</li>\n<li>"• Paceliet pirkstu, lai tālinātu saturu."</li></ul>\n\n"Tuvināšanu nevar izmantot tastatūrā vai navigācijas joslā."</string>
+    <string name="accessibility_screen_magnification_summary" msgid="7617931632990040045">"Ātri tuviniet ekrāna saturu, lai to skaidrāk skatītu.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Lai tuvinātu saturu, veiciet tālāk norādītās darbības.&lt;/b&gt;&lt;br/&gt;	1. Izmantojiet īsinājumtaustiņu, lai sāktu palielināšanu.&lt;br/&gt;	2. Pieskarieties ekrānam.&lt;br/&gt;	3. Velciet ar 2 pirkstiem, lai pārvietotos ekrānā.&lt;br/&gt;	4. Savelciet ar 2 pirkstiem, lai regulētu tālummaiņu.&lt;br/&gt;	5. Izmantojiet īsinājumtaustiņu, lai pārtrauktu palielināšanu.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Lai īslaicīgi tuvinātu saturu, veiciet tālāk norādītās darbības.&lt;/b&gt;&lt;br/&gt;	1. Izmantojiet īsinājumtaustiņu, lai sāktu palielināšanu.&lt;br/&gt;	2. Pieskarieties un turiet jebkurā ekrāna vietā.&lt;br/&gt;	3. Velciet ar pirkstu, lai pārvietotos ekrānā.&lt;br/&gt;	4. Paceliet pirkstu, lai pārtrauktu palielināšanu."</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Kad ir ieslēgts palielinājums, ekrānā varat izmantot tuvināšanu.\n\n"<b>"Lai izmantotu tālummaiņu"</b>", aktivizējiet palielinājumu un pēc tam pieskarieties jebkur ekrānā.\n"<ul><li>"Velciet ar vismaz 2 pirkstiem, lai ritinātu."</li>\n<li>"Savelciet kopā vismaz 2 pirkstus, lai pielāgotu tālummaiņu."</li></ul>\n\n<b>"Lai veiktu īslaicīgu tālummaiņu"</b>", aktivizējiet palielinājumu un pēc tam pieskarieties jebkurai vietai ekrānā un turiet to.\n"<ul><li>"Velciet ar pirkstu, lai pārvietotos pa ekrānu."</li>\n<li>"Paceliet pirkstu, lai veiktu tālināšanu."</li></ul>\n\n"Tastatūrā vai navigācijas joslā nevarat veikt tuvināšanu."</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Pieejamības pogas izmantošana atvēršanai"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Žesta izmantošana atvēršanai"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"Jaunā pieejamības žesta izmantošana"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"Lai ieslēgtu vai izslēgtu šo pakalpojumu, ekrāna apakšdaļā pieskarieties pieejamības pogai <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>.\n\nLai pārslēgtu pakalpojumus, pieskarieties pieejamības pogai un turiet to."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"Lai ieslēgtu vai izslēgtu šo pakalpojumu, velciet ar diviem pirkstiem augšup no ekrāna apakšdaļas.\n\nLai pārslēgtu pakalpojumus, velciet ar diviem pirkstiem augšup un turiet."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"Lai ieslēgtu vai izslēgtu šo pakalpojumu, velciet ar trīs pirkstiem augšup no ekrāna apakšdaļas.\n\nLai pārslēgtu pakalpojumus, velciet ar trīs pirkstiem augšup un turiet."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"Lai ieslēgtu vai izslēgtu pieejamības pakalpojumu, velciet ar diviem pirkstiem augšup no ekrāna apakšdaļas.\n\nLai pārslēgtu pakalpojumus, velciet ar diviem pirkstiem augšup un turiet."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"Lai ieslēgtu vai izslēgtu pieejamības pakalpojumu, velciet ar trīs pirkstiem augšup no ekrāna apakšdaļas.\n\nLai pārslēgtu pakalpojumus, velciet ar trīs pirkstiem augšup un turiet."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"Lai ieslēgtu vai izslēgtu šo pakalpojumu, ekrāna apakšdaļā pieskarieties pieejamības pogai <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>.\n\nLai pārslēgtu pakalpojumus, pieskarieties pieejamības pogai un turiet to."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"Lai ieslēgtu vai izslēgtu šo pakalpojumu, velciet ar diviem pirkstiem augšup no ekrāna apakšdaļas.\n\nLai pārslēgtu pakalpojumus, velciet ar diviem pirkstiem augšup un turiet."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"Lai ieslēgtu vai izslēgtu šo pakalpojumu, velciet ar trīs pirkstiem augšup no ekrāna apakšdaļas.\n\nLai pārslēgtu pakalpojumus, velciet ar trīs pirkstiem augšup un turiet."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"Lai ieslēgtu vai izslēgtu pieejamības pakalpojumu, velciet ar diviem pirkstiem augšup no ekrāna apakšdaļas.\n\nLai pārslēgtu pakalpojumus, velciet ar diviem pirkstiem augšup un turiet."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"Lai ieslēgtu vai izslēgtu pieejamības pakalpojumu, velciet ar trīs pirkstiem augšup no ekrāna apakšdaļas.\n\nLai pārslēgtu pakalpojumus, velciet ar trīs pirkstiem augšup un turiet."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"Labi"</string>
+    <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Pakalpojuma <xliff:g id="SERVICE">%1$s</xliff:g> saīsne"</string>
+    <string name="accessibility_shortcut_edit_summary_software" msgid="2820923641553461297">"Pieejamības poga"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture" msgid="8078659880723370597">"Vilkšana augšup ar 2 pirkstiem"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture_talkback" msgid="7422753388389160524">"Vilkšana augšup ar 3 pirkstiem"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software" msgid="4796192466943479849">"Pieskaršanās pieejamības pogai"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8922102767509399352">"Ekrāna apakšdaļā pieskarieties pieejamības pogai <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>."</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"Velciet augšup ar 2 pirkstiem no ekrāna apakšdaļas."</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"Velciet augšup ar 3 pirkstiem no ekrāna apakšdaļas."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Turiet nospiestas skaļuma pogas"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"Nospiediet un turiet 1 sekundi abas skaļuma pogas."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Pieskaršanās ekrānam 3 reizes"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"Ātri pieskarieties ekrānam 3 reizes. Šī saīsne var palēnināt ierīces darbību."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"Papildu"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"Pieejamības pogai ir iestatīts pakalpojums <xliff:g id="SERVICE">%1$s</xliff:g>. Lai izmantotu palielināšanu, pieskarieties pieejamības pogai un pēc tam atlasiet palielināšanu."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"Pieejamības žestam ir iestatīts <xliff:g id="SERVICE">%1$s</xliff:g>. Lai izmantotu palielinājumu, velciet ar diviem pirkstiem no ekrāna apakšdaļas un turiet. Pēc tam atlasiet palielinājumu."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"Skaļuma pogu īsinājumtaustiņš"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"Īsinājumtaustiņa pakalpojums"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Saīšņu iestatījumi"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"Atļaut no bloķēšanas ekrāna"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"Kad īsinājumtaustiņš ir ieslēgts, varat 3 sekundes turēt nospiestas abas skaļuma regulēšanas pogas, lai aktivizētu pieejamības funkciju."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"Liela kontrasta teksts"</string>
@@ -2171,24 +2180,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"Izvēlieties to ziņojumu rādīšanas ilgumu, kuros ir iekļauts aicinājums uz darbību, bet kuri tiek rādīti tikai noteiktu laiku.\n\nNe visās lietotnēs šis iestatījums tiek atbalstīts."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"Aizkave, pieskaroties un turot"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"Krāsu inversija"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"Var ietekmēt veiktspēju"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"Pārdomu laiks"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"Izmantot krāsu inversiju"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"Izmantojot krāsu inversiju, ekrāna saturs, kas ir gaišā krāsā, tiek rādīts tumšā krāsā. Tādējādi lietotāji, kuri ir jutīgi pret spilgtu gaismu, var ērtāk skatīt ekrāna saturu.&lt;br/&gt;&lt;br/&gt;Ņemiet vērā, ka saturs, kas ir tumšā krāsā, tiks rādīts gaišā krāsā. Krāsas tiks mainītas multividē un attēlos. Varat arī izmantot tumšo motīvu (sadaļā Iestatījumi &gt; Displejs)."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"Automātiska klikšķināšana (pārdomu laiks)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"Ja izmantojat peli, varat iestatīt, lai kursors automātiski noklikšķina, kad tas noteiktu laiku nekustas."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"Aizkave pirms klikšķa"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"Bez autom. klikšķināšanas (noklus.)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"Īss"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0,2 sekundes"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"Vidēji"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0,6 sekundes"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"Ilgi"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 sekunde"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"Pielāgoti"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"Īsāks"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"Ilgāks"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"Automātiskās klikšķināšanas laiks"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"Vibrācijas stiprums un stiprums vibrācijai pieskaroties"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Paziņojuma vibrācija"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Zvana vibrācija"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Pieskarieties vienumam Atsauksmes"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"Izmantot pakalpojumu"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"Izmantot lietotni <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"Atvērt lietotni <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"Izmantot krāsu korekciju"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"Izmantot subtitrus"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"Rādīt parakstus"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"Parakstu izskats"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"Teksta lielums, parakstu stils"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"Citas iespējas"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"Ne visās lietotnēs tiek atbalstīts šis iestatījums."</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"Pieejamības poga"</string>
+    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"Velciet augšup ar diviem pirkstiem no apakšdaļas"</string>
+    <string name="accessibility_shortcut_type_hardware" msgid="4834144210432451916">"Turiet nospiestas skaļuma pogas"</string>
+    <string name="accessibility_shortcut_type_triple_tap" msgid="7717524216825494543">"Trīsreiz pieskarieties ekrānam"</string>
     <string name="accessibility_hearingaid_instruction_continue_button" msgid="3367260988024430722">"Turpināt"</string>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"Dzirdes aparāti"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"Nav pievienots neviens dzirdes aparāts."</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"Pievienot dzirdes aparātus"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"Lai savienotu pārī dzirdes aparātus, nākamajā ekrānā atrodiet savas ierīces nosaukumu un pieskarieties tam."</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"Dzirdes aparātiem ir jābūt ieslēgtam savienošanas pārī režīmam."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"Lai savienotu pārī dzirdes aparātus, nākamajā ekrānā atrodiet savas ierīces nosaukumu un pieskarieties tam. Dzirdes aparātos ir jābūt ieslēgtam savienošanas pārī režīmam."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"Ierīce <xliff:g id="DEVICE_NAME">%1$s</xliff:g> ir aktīva"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="zero">Saglabāti <xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> dzirdes aparāti</item>
@@ -2201,30 +2228,41 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Šis pakalpojums nedarbojas pareizi."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Rādīt ātrajos iestatījumos"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"Korekcijas režīms"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="zero">Ārkārtīgi īsa aizkave (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Ārkārtīgi īsa aizkave (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Ārkārtīgi īsa aizkave (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Sarkana/zaļa krāsa"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"Zaļa/sarkana krāsa"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Zila/dzeltena krāsa"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"Deiteranomālija"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"Protanomālija"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"Tritanomālija"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="zero">Ārkārtīgi īsa aizkave (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundes)</item>
+      <item quantity="one">Ārkārtīgi īsa aizkave (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunde)</item>
+      <item quantity="other">Ārkārtīgi īsa aizkave (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundes)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="zero">Ļoti īsa aizkave (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Ļoti īsa aizkave (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Ļoti īsa aizkave (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="zero">Ļoti īsa aizkave (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundes)</item>
+      <item quantity="one">Ļoti īsa aizkave (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunde)</item>
+      <item quantity="other">Ļoti īsa aizkave (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundes)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="zero">Īsa aizkave (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Īsa aizkave (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Īsa aizkave (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="zero">Īsa aizkave (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundes)</item>
+      <item quantity="one">Īsa aizkave (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunde)</item>
+      <item quantity="other">Īsa aizkave (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundes)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="zero">Ilga aizkave (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Ilga aizkave (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Ilga aizkave (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="zero">Ilga aizkave (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundes)</item>
+      <item quantity="one">Ilga aizkave (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunde)</item>
+      <item quantity="other">Ilga aizkave (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundes)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="zero">Ļoti ilga aizkave (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Ļoti ilga aizkave (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Ļoti ilga aizkave (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="zero">Ļoti ilga aizkave (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundes)</item>
+      <item quantity="one">Ļoti ilga aizkave (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunde)</item>
+      <item quantity="other">Ļoti ilga aizkave (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundes)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="zero"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundes</item>
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunde</item>
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundes</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"Zvans: <xliff:g id="SUMMARY_RING">%1$s</xliff:g>, paziņojums: <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>, pieskāriens: <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"Zvana un paziņojuma signāla vibrācija izslēgta"</string>
@@ -2550,7 +2588,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"Pēdējās atslēgšanas laikā <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"Kopējais patēriņš"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"Atsvaidzināt"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"Android OS"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"Mediaserver"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"Lietotnes optimizācija"</string>
     <string name="battery_saver" msgid="7737147344510595864">"Akumulatora jaudas taupīšanas režīms"</string>
@@ -2631,8 +2668,7 @@
     <string name="tts_play" msgid="2945513377250757221">"Atskaņot"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"Akreditācijas datu krātuve"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"Instalēšana no atmiņas"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"Instalēt no SD kartes"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"Sertifikāta instalēšana"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"Instalēt sertifikātus no atmiņas"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"Instalēt sertifikātus no SD kartes"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"Notīrīt akreditācijas datus"</string>
@@ -2652,6 +2688,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"Akreditācijas datu krātuve ir izdzēsta."</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"Akred. datus nevarēja izdzēst"</string>
     <string name="usage_access_title" msgid="1580006124578134850">"Piekļuve lietojuma datiem"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"CA sertifikāts"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"VPN un lietotnes liet. sertif."</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"Wi‑Fi sertifikāts"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"Jūsu konfidencialitāte ir apdraudēta"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"CA sertifikāti tiek izmantoti vietnēs, lietotnēs un VPN tīklos, lai nodrošinātu šifrēšanu. Instalējiet CA sertifikātus tikai no uzticamām organizācijām. \n\n Ja instalēsiet CA sertifikātu, sertifikāta īpašnieks varēs piekļūt jūsu informācijai, piemēram, parolēm, ziņojumiem vai kredītkartes informācijai, no jūsu apmeklētajām vietnēm vai izmantotajām lietotnēm (pat ja šī informācija ir šifrēta)."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"Neinstalēt"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"Tik un tā instalēt"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"Sertifikāts nav instalēts"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"Ārkārtas zvana signāls"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Iestatīt uzvedību, kad tiek veikts ārkārtas zvans"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Dublēšana"</string>
@@ -2679,10 +2723,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"Deaktivizēt un atinstalēt"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"Ierīces administratora lietotnes"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"Nav pieejama neviena ierīces administratora lietotne."</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"Privāts"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"Darba"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"Ierobežota piekļuve īsziņu un zvanu žurnālam"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"Atļauja piekļūt īsziņu un zvanu žurnālam tiek piešķirta tikai noklusējuma tālruņa un ziņojumapmaiņas lietotnēm."</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"Nav pieejama neviena uzticamības pārbaudes programma"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"Vai aktivizēt administratora lietotni?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"Aktivizēt šo ierīces administratora lietotni"</string>
@@ -2696,6 +2736,15 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"Citas iespējas ir atspējojis administrators."</string>
     <string name="admin_more_details" msgid="6698424974827333973">"Plašāka informācija"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"Paziņojumu žurnāls"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"Paziņojumu vēsture"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"Šodien"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"Atliktas"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"Nesen noraidītas"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="zero"><xliff:g id="NUMBER_1">%d</xliff:g> paziņojumi</item>
+      <item quantity="one"><xliff:g id="NUMBER_1">%d</xliff:g> paziņojums</item>
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> paziņojumi</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"Zvana signāls un vibrozvans"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"Dati par tīklu"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"Sinhronizācija iespējota"</string>
@@ -3049,7 +3098,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"Ierobežojumi"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"Ierobežojumu atcelšana"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"Mainīt PIN"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"Rādīt paziņojumus"</string>
     <string name="help_label" msgid="2896538416436125883">"Palīdzība/atsauksmes"</string>
     <string name="support_summary" msgid="1034146931237148885">"Palīdzības raksti, tālruņa zvani un tērzēšana, darba sākšana"</string>
     <string name="user_account_title" msgid="6389636876210834864">"Konts saturam"</string>
@@ -3074,6 +3122,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G zvani"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Lietojiet LTE pakalpojumus, lai uzlabotu balss un cita veida saziņu (ieteicams)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Lietojiet 4G pakalpojumus, lai uzlabotu balss un cita veida saziņu (ieteicams)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Kontaktpersonu atklāšana"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Ļauj mobilo sakaru operatoram atklāt, kuras zvanīšanas funkcijas atbalsta kontaktpersonu numuri."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Vai iespējot kontaktpersonu atklāšanu?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Ja iespējosiet šo funkciju, jūsu mobilo sakaru operators varēs piekļūt jūsu kontaktpersonu tālruņa numuriem, lai noteiktu, kuras zvanīšanas funkcijas tie atbalsta."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Ieteicamais tīkla veids"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (ieteicams)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"Multiziņas"</string>
@@ -3118,7 +3170,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"Izmantot zvaniem"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"SIM kartes atlasīšana"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"SIM karte <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"SIM karte ir tukša"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"SIM kartes nosaukums"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"Ievadiet SIM nosaukumu"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"SIM kartes slots: %1$d"</string>
@@ -3128,6 +3179,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"Atlasīt SIM karti"</string>
     <string name="color_orange" msgid="216547825489739010">"Oranža"</string>
     <string name="color_purple" msgid="6603701972079904843">"Violeta"</string>
+    <string name="color_pink" msgid="8596872110888626708">"Rozā"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"Nav ievietota neviena SIM karte."</string>
     <string name="sim_status_title" msgid="6188770698037109774">"SIM kartes statuss"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"SIM k. statuss (%1$d. SIM kartes slots)"</string>
@@ -3141,7 +3193,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"SIM kartes nomainītas."</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Pieskarieties, lai iestatītu."</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"Vēlamā SIM karte šai ierīcei:"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Vaicāt katru reizi"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Nepieciešams veikt atlasi."</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"SIM kartes atlase"</string>
@@ -3160,6 +3211,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"Bluetooth, braukšanas režīms"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"Bluetooth, NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"Bluetooth"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"Nav pieejams, jo tehnoloģija NFC ir izslēgta"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"Lietotnes un paziņojumi"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Pēdējās izmantotās lietotnes, noklusējuma lietotnes"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Piekļuve paziņojumiem nav pieejama darba profila lietotnēm."</string>
@@ -3170,13 +3222,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"Iestatījumi"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"wifi, wi-fi, tīkla savienojums, internets, bezvadu, dati, wi fi"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"Wi‑Fi paziņojumi, WiFi paziņojumi"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"datu lietojums"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"Apturēt vibrāciju, pieskarties, tastatūra"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"Izmantot 24 stundu formātu"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"Lejupielāde"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"Atvērt lietotnē"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"Lietojumprogrammas"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"laika josla"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"Tērzēšanas galva"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"Tērzēšanas galva, sistēma, brīdinājums, logs, dialoglodziņš, displejs, virs citām lietotnēm, vilkt"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"Lukturis, lukturītis, apgaismojums"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"Wifi, Wi-Fi, pārslēgt, pārvaldība"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"mobilais, mobilo sakaru operators, bezvadu, dati, 4g, 3g, 2g, lte"</string>
@@ -3200,7 +3253,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"netraucēt, pārtraukt, pārtraukums, pauze"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"tuvumā, atrašanās vieta, vēsture, ziņošana, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"konts"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"konts, pievienot kontu, darba profils, konta pievienošana"</string>
     <string name="keywords_users" msgid="3497517660077620843">"ierobežojums, ierobežot, ierobežots"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"teksta labojums, labot, skaņa, vibrācija, automātisks, valoda, žests, ieteikt, ieteikums, motīvs, aizvainojošs, vārds, rakstīt, emocijzīmes, starptautisks"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"atiestatīt, preferences, noklusējums"</string>
@@ -3238,6 +3291,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"atmiņa, kešatmiņa, dati, dzēst, notīrīt, atbrīvot, vieta"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"pievienots, ierīce, austiņas, ieauši, skaļrunis, bezvadu, pārī, ieausis, mūzika, multivide"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"fons, ekrāns, bloķēšanas ekrāns, motīvs"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"ikonas forma, izcēluma krāsa, fonts"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"noklusējuma, palīgs"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"maksājums, noklusējuma"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"ienākošs paziņojums"</string>
@@ -3247,18 +3301,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"skārienjutīgs, vibrācija, jutīgums"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"akumulatora jaudas taupīšanas režīms, fiksēts, saglabāties, jaudas taupīšanas režīms, akumulators"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"darbību secība, grafiks, akumulatora jaudas taupīšanas režīms, jaudas taupīšanas režīms, akumulators, automātiski, procenti"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"darba profils"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"VoLTE, paplašinātas zvanu iespējas, 4G zvani"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"pievienot valodu, valodas pievienošana"</string>
     <string name="default_sound" msgid="6604374495015245195">"Noklusējuma skaņa"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"Zvana skaļums: <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"Zvanu un paziņojumu signāla skaļums: <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Skaļums, vibrācija, režīms “Netraucēt”"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"Zvanītājam iestatīts vibrācijas režīms."</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"Zvanītājam iestatīts klusuma režīms."</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"Zvana skaļums: 80%"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"Zvanu un paziņojumu signāla skaļums: 80%"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Multivides skaļums"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Apraides skaļums"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"Zvana skaļums"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"Signāla skaļums"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"Zvana skaļums"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"Zvanu/paziņojumu sign. skaļums"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"Paziņojumu skaļums"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"Tālruņa zvana signāls"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"Paziņojuma noklusējuma skaņa"</string>
@@ -3266,6 +3321,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"Paziņojuma noklusējuma skaņa"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"Signāla noklusējuma skaņa"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"Vibrozvans"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"Nekad nevibrēt"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"Vienmēr vibrēt"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"Vispirms vibrēt, tad pakāpeniski zvanīt"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"Citas skaņas"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"Numura sast. tastatūras skaņas"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"Ekrāna bloķēšanas skaņas"</string>
@@ -3290,6 +3348,7 @@
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> iespējotas</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Netraucēt"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Saņemt paziņojumus tikai no svarīgām personām un lietotnēm"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Traucējumu ierobežošana"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Režīma “Netraucēt” ieslēgšana"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"Izņēmumi"</string>
@@ -3316,7 +3375,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Bloķēt vizuālos traucējumus"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Vizuālu signālu atļaušana"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"Kad ir ieslēgts režīms “Netraucēt”"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"Atļaut pārtraukumus ar skaņas signālu"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"Paziņojumu ierobežošana"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Nav skaņas signālu no paziņojumiem"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"Jūs redzēsiet paziņojumus ekrānā."</string>
@@ -3347,7 +3406,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"Skaņa un vibrācija"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"Paziņojumu skaņa, vibrācija un dažas vizuālās zīmes"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"Paziņojumu skaņa, vibrācija un vizuālās zīmes"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"Nekad netiks paslēpti paziņojumi, kas nepieciešami tālruņa pamatdarbībām un statusam."</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"Nekad netiks paslēpti paziņojumi, kas nepieciešami tālruņa pamatdarbībām un statusam."</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"Nav"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"citas opcijas"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"Pievienot"</string>
@@ -3379,10 +3438,12 @@
       <item quantity="one"><xliff:g id="ON_COUNT">%d</xliff:g> grafiks var tikt ieslēgts automātiski</item>
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> grafiki var tikt ieslēgti automātiski</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"Izslēgt ierīces skaņu, bet atļaut izņēmumus"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"Izņēmumi"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"Grafiks"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"Skatiet visus izņēmumus"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"Izņēmumi, kad ir ieslēgts režīms “Netraucēt”"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"Personas"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"Lietotnes"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"Modinātāja signāli un citi signāli"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"Grafiki"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"Paziņojumi bez skaņas signāla"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"Esot ieslēgtam režīmam Netraucēt, tiks izslēgta skaņa un vibrācija, izņemot jūsu atļautajiem vienumiem."</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"Izslēgt skaņu visam, izņemot"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"Izslēgta skaņa"</string>
@@ -3426,16 +3487,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"Adaptīvie paziņojumi"</string>
     <string name="asst_capability_prioritizer_title" msgid="1181272430009156556">"Adaptīvo paziņojumu prioritāte"</string>
     <string name="asst_capability_prioritizer_summary" msgid="954988212366568737">"Automātiski iestatīt zemākas prioritātes paziņojumus kā neuzkrītošus"</string>
+    <string name="asst_capability_ranking_title" msgid="312998580233257581">"Adaptīvo paziņojumu ranžēšana"</string>
+    <string name="asst_capability_ranking_summary" msgid="2293524677144599450">"Automātiski ranžēt paziņojumus pēc atbilstības"</string>
     <string name="asst_capabilities_actions_replies_title" msgid="4392470465646394289">"Darbību un atbilžu ieteikumi"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"Automātiski rādīt ieteicamās darbības un atbildes"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"Ieslēgt paziņojumu vēsturi, lai izsekotu iepriekšējos un atliktos paziņojumus"</string>
+    <string name="notification_history" msgid="8663811361243456201">"Paziņojumu vēsture"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"Vēstures ieslēgšana"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"Vēstures izslēgšana"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"Paziņojumu vēsture ir izslēgta."</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"skatīt paziņojumu iestatījumus"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Atļaut paziņojumu atlikšanu"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"Neuzkrītošu paziņojumu ikonu slēpšana"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"Neuzkrītošo paziņojumu ikonas netiek rādītas statusa joslā."</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"Atļaut paziņojumu punktus"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"Rādīt jaunāko sarunu joslu"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Burbuļi"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"Daži paziņojumi var tikt rādīti ekrānā kā burbuļi."</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"Daži paziņojumi un cita veida saturs var tikt rādīts ekrānā kā burbuļi. Lai atvērtu burbuli, pieskarieties tam. Lai to nerādītu, velciet to pa ekrānu lejup."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Burbuļi"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"Jauni ziņojumi tiks rādīti ekrānā."</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"Atļaut lietotnei <xliff:g id="APP_NAME">%1$s</xliff:g> rādīt dažus paziņojumus kā burbuļus"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"Burbuļu ieslēgšana"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"Lai ieslēgtu burbuļus šajā lietotnē, vispirms tie ir jāieslēdz ierīcē. Tas ietekmēs citas lietotnes, kurās iepriekš ieslēdzāt burbuļus."</string>
@@ -3453,6 +3524,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"Rādīt nolaižamajā panelī un bloķēšanas ekrānā"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"Rādīt nolaižamajā panelī un statusa joslā"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"Rādīt nolaižamajā panelī, statusa joslā un bloķēšanas ekrānā"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"Paslēpt klusos paziņojumus statusa joslā"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"Mirgojošs gaismas signāls"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"Bloķēšanas ekrāns"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"Izlaist bloķēšanas ekrānu"</string>
@@ -3483,6 +3555,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"Rīcība"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"Atļaujiet skaņu"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"Nekad nerādīt paziņojumus"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"Sarunas"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"Saruna"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"Nav saruna"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"Noņemt no sarunu sadaļas"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"Šī ir saruna"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"Pievienošana sarunu sadaļai"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"Pārvaldīt sarunas"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"Svarīgas sarunas"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"Visas sarunas"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"Izmantot burbuļus svarīgām sarunām"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"Svarīgās sarunas tiek rādītas nolaižamā paneļa augšdaļā. Varat iestatīt, lai tās tiktu rādītas burbulī un režīmā “Netraucēt”."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"Rādīt bez skaņas un minimizēt"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"Rādīt bez skaņas signāla"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"Atskaņot skaņas signālu"</string>
@@ -3501,7 +3584,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"Palīdz jums koncentrēties, nenovēršot uzmanību ar skaņu vai vibrāciju"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"Jūsu uzmanība tiek piesaistīta ar skaņas vai vibrācijas signālu"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"Rādīt paziņojumus reklāmkarogā ekrāna augšdaļā, ja ierīce ir atbloķēta"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"Rādīt paziņojumus"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"Visi lietotnes <xliff:g id="APP_NAME">%1$s</xliff:g> paziņojumi"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"Adaptīvie paziņojumi"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="zero">Ap <xliff:g id="NUMBER_1">%d</xliff:g> paziņojumiem dienā</item>
@@ -3525,6 +3608,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"Adaptīvie paziņojumi"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"Nav"</string>
     <string name="no_notification_listeners" msgid="2839354157349636000">"Nevienā instalētajā lietotnē nav pieprasīta piekļuve paziņojumiem."</string>
+    <string name="notification_access_detail_switch" msgid="46386786409608330">"Atļaut piekļuvi paziņojumiem"</string>
     <string name="notification_assistant_security_warning_title" msgid="2972346436050925276">"Vai atļaut pakalpojumam <xliff:g id="SERVICE">%1$s</xliff:g> piekļūt paziņojumiem?"</string>
     <string name="notification_assistant_security_warning_summary" msgid="3119843404577399036">"<xliff:g id="NOTIFICATION_ASSISTANT_NAME">%1$s</xliff:g> varēs lasīt visus paziņojumus, tostarp personīgo informāciju, piemēram, kontaktpersonu vārdu un saņemtās īsziņas. Lietotne varēs arī pārveidot vai noraidīt paziņojumus vai aktivizēt tajos esošās darbību pogas. \n\nLietotne varēs arī ieslēgt vai izslēgt režīmu “Netraucēt” un mainīt saistītos iestatījumus."</string>
     <string name="notification_listener_security_warning_title" msgid="5791700876622858363">"Vai atļaut pakalpojumam <xliff:g id="SERVICE">%1$s</xliff:g> piekļūt paziņojumiem?"</string>
@@ -3589,8 +3673,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"Gatavs"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"Svarīgums"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"Mirgojošs gaismas signāls"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"Vibrācija"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"Vibrācija"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"Skaņas signāls"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"Svarīgi"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"Pievienošana mājai"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"Dzēst"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"Pārdēvēt"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"Grafika nosaukums"</string>
@@ -3645,6 +3731,10 @@
       <item quantity="one">Vēl <xliff:g id="NUM_PEOPLE">%d</xliff:g> kontaktpersona</item>
       <item quantity="other">Vēl <xliff:g id="NUM_PEOPLE">%d</xliff:g> kontaktpersonas</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Sarunas"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"No visām sarunām"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"No svarīgām sarunām"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"Neatļaut nevienu sarunu"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"Ziņojumu atļaušana"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"Lai dzirdētu atļauto īsziņu signālu, pārbaudiet, vai ierīcei ir iestatīts zvana signāls, vibrācija vai klusuma režīms."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"Grafikam “<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>” ienākošie ziņojumi ir bloķēti. Varat pielāgot iestatījumus, lai draugi, ģimene vai citas kontaktpersonas varētu ar jums sazināties."</string>
@@ -3658,15 +3748,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"Nav"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"Neatļaut nekādus zvanus"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"Neatļaut nekādas īsziņas"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"Atļaut signālus"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"Signāli"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"No taimeriem, modinātājiem, drošības sistēmām un citām lietotnēm"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"signāli"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"Atskaņot multivides skaņas"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"Multivides skaņas"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"No videoklipiem, spēlēm un cita multivides satura"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"multivide"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"Atļaut pieskārienu skaņas"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"Pieskāriena skaņas"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"No tastatūras un citām pogām"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"pieskāriena skaņas"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"Atļaut atgādinājumu skaņas"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"Atgādinājumi"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"No uzdevumiem un atgādinājumiem"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"atgādinājumi"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"Atļaut pasākumu skaņas"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"Notikumi"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"No gaidāmajiem kalendāra pasākumiem"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Atļaut lietotnēm ignorēt režīmu “Netraucēt”"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"Lietotnes izņēmumi"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3712,6 +3807,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"Atļaut ekrāna ieslēgšanu paziņojumiem, kas izslēgti, izmantojot režīmu “Netraucēt”"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"Paziņojumu iestatījumi"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"Labi"</string>
+    <string name="suggestion_button_close" msgid="6865170855573283759">"Aizvērt"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Sūtīt atsauksmes par šo ierīci"</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"Ievadiet administratora PIN"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"Ieslēgts"</string>
@@ -3722,6 +3818,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Prasīt PIN kodu pirms atspraušanas"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Pirms atspraušanas pieprasīt paroli"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Bloķēt ierīci, kad tiek veikta atspraušana"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"SIM kartes dzēšanas apstiprinājums"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"Pirms lejupielādētās SIM kartes dzēšanas apstipriniet, ka tas esat jūs."</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"Šis darba profils tiek pārvaldīts, izmantojot:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"Pārvalda <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(Eksperimentāla)"</string>
@@ -3800,8 +3898,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"Visas lietotnes"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Instalētās lietotnes"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Tūlītējās lietotnes"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"Privātās"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"Darba"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"Lietotnes: visas"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"Izslēgti"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"Kategorijas: steidzams"</string>
@@ -3813,6 +3909,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"Nezināma lietotne"</string>
     <string name="app_permissions" msgid="8666537659217653626">"Atļauju pārvaldnieks"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"Lietotnes, kuras izmanto: <xliff:g id="APPS">%1$s</xliff:g>"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"Lietotnes izmanto šādu atļauju: <xliff:g id="APPS">%1$s</xliff:g> (un citas atļaujas)."</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"Pieskarieties, lai aktivizētu"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"Lai aktivizētu ierīci, veiciet dubultskārienu jebkurā ekrāna vietā."</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"Palaišanas saites"</string>
@@ -3825,9 +3922,15 @@
       <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> lietotne atver atbalstītas saites</item>
       <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> lietotnes atver atbalstītas saites</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"Atvērt šajā lietotnē"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"Atļaut lietotnei atvērt atbalstītas saites"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"Vaicāt katru reizi"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"Neatvērt šajā lietotnē"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"Neatļaut lietotnei atvērt saites"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="zero">Izmantojot lietotni, var tikt atvērtas <xliff:g id="COUNT_1">%d</xliff:g> saites</item>
+      <item quantity="one">Izmantojot lietotni, var tikt atvērta <xliff:g id="COUNT_1">%d</xliff:g> saite</item>
+      <item quantity="other">Izmantojot lietotni, var tikt atvērtas <xliff:g id="COUNT_1">%d</xliff:g> saites</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"Izmantojot lietotni, var tikt atvērtas tālāk norādītās saites:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"Noklusējuma"</string>
     <string name="default_for_work" msgid="537558180548617528">"Noklusējuma iestatījums darbam"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"Palīgs un balss ievade"</string>
@@ -3974,8 +4077,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"Rādīt pāri citām lietotnēm"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Atļaut rādīt pāri citām lietotnēm"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"Atļaut rādīt šo lietotni pāri citām jūsu izmantotajām lietotnēm. Šī lietotne var traucēt izmantot citas lietotnes vai mainīt šo lietotņu attēlojumu vai darbību."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"Piekļuve visiem failiem"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"Atļaut piekļuvi visu failu pārvaldībai"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Atļaujiet šai lietotnei lasīt, pārveidot un dzēst visus failus šajā ierīcē vai pievienotajās atmiņas ierīcēs. Ja piešķirsiet atļauju, lietotne varēs piekļūt failiem, jums par to nezinot."</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"Var piekļūt visiem failiem"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"vr virtuālā realitāte klausītājs stereo palīgs pakalpojums"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"sistēma brīdinājums logs dialoglodziņš rādīt pāri citām lietotnēm"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"Rādīt pāri citām lietotnēm"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"<xliff:g id="COUNT_0">%1$d</xliff:g> lietotnes no <xliff:g id="COUNT_1">%2$d</xliff:g> drīkst rādīt pāri citām lietotnēm"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"Lietotnes ar atļauju"</string>
@@ -4146,6 +4252,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"Patērētie dati: <xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g>"</string>
     <string name="data_overusage" msgid="3680477320458707259">"Pārsniegts par <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="data_remaining" msgid="6316251496381922837">"Atlikušais laiks: <xliff:g id="ID_1">^1</xliff:g>"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"Diagrammā ir redzams datu lietojums šādā periodā: <xliff:g id="START_DATE">%1$s</xliff:g>–<xliff:g id="END_DATE">%2$s</xliff:g>."</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"Šajā datumu diapazonā nav datu."</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="zero">Vēl %d dienu</item>
       <item quantity="one">Vēl %d diena</item>
@@ -4210,14 +4318,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"pakotnes lielums"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"paziņojuma brīdinājuma signāls aktivizēts"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"signāls"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"vibrozvans"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"kombinācija"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"noklusējums"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"kanāls"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"nav"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"Trūkst ranžēšanas objekta."</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"Ranžēšanas objektā nav ietverta šī atslēga."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"Tēmu pielāgošana"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"Ierīces noklusējuma iestatījums"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"Ekrāna izgriezums"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"ekrāna izgriezums"</string>
@@ -4310,8 +4414,12 @@
     <string name="information_label" msgid="6939310810756569298">"Informācija"</string>
     <string name="low_label" msgid="6525629096999711220">"Zems"</string>
     <string name="high_label" msgid="357503396626018487">"Augsts"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"Augstāks jutīguma līmenis var konfliktēt ar lietotņu žestiem gar ekrāna malām."</string>
+    <string name="left_edge" msgid="1513576842959071849">"Kreisā mala"</string>
+    <string name="right_edge" msgid="1505309103265829121">"Labā mala"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"Augstāks jutīguma līmenis var konfliktēt ar lietotņu žestiem gar ekrāna malām."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"Malu jutīgums"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"Žestu iestatījumi"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"žestu navigācija, malu jutīgums, žests Atpakaļ"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"Dubultskāriens, lai skatītu tālruņa paziņojumus"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"Dubultskāriens, lai skatītu planšetdatora paziņojumus"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"Dubultskāriens, lai skatītu ierīces paziņojumus"</string>
@@ -4473,7 +4581,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"Aktivizēt operatora nodrošināšanu"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"Atjaunināt iestatījumu “Netraucēt”"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"Pārtraukt paziņojumus, lai ilglaicīgi koncentrētos"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"Šī funkcija šajā ierīcē nav pieejama."</string>
     <string name="disabled_feature" msgid="7151433782819744211">"Funkcija nav pieejama"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"Šī funkcija ir izslēgta, jo tā palēnina jūsu tālruņa darbību."</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"Veikt pilnus GNSS mērījumus"</string>
@@ -4483,20 +4590,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"Atlasiet lietotni, kam ANGLE ir iespējots"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"Nav iestatīta neviena lietojumprogramma, kam ANGLE ir iespējots"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"Lietojumprogramma, kam ANGLE ir iespējots: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"Game Driver preferences"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"Mainīt Game Driver iestatījumus"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"Kad lietotne Game Driver ir ieslēgta, varat izvēlēties izmantot atjaunināto grafikas dzini ierīcē instalētajām lietotnēm."</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"Iespējot visām lietotnēm"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"Grafikas dziņa atlase"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"Noklusējums"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"Game Driver"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"Pirmsizlaides dzinis"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"Sistēmas grafikas dzinis"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"Grafikas dziņa preferences"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"Grafikas dziņa iestatījumu mainīšana"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"Ja ir vairāki grafikas dziņi, varat izvēlēties izmantot atjaunināto grafikas dzini, kas paredzēts ierīcēs instalētajām lietotnēm."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"Iespējot visām lietotnēm"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"Grafikas dziņa atlase"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"Noklusējums"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"Spēles dzinis"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"Grafikas dzinis izstrādātājiem"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Sistēmas grafikas dzinis"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Lietotņu saderības iestatījumu izmaiņas"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Pārslēdziet lietotņu saderības iestatījumu izmaiņas"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Pēc noklusējuma iespējotās izmaiņas"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Pēc noklusējuma atspējotās izmaiņas"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"Iestatīšana šajā tālrunī netiek atbalstīta."</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"Iestatīšana šajā planšetdatorā netiek atbalstīta."</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"Iestatīšana šajā ierīcē netiek atbalstīta."</string>
@@ -4515,6 +4628,11 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"Ierīce"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Ierīce nav pieejama zvanu laikā"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"Nav pieejams"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"Izejas ierīču pievienošana"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"Grupa"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"Atlasīta viena ierīce"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"Atlasītas <xliff:g id="COUNT">%1$d</xliff:g> ierīces"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"Notiek pārslēgšana…"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Atbildēt uz zvanu, izmantojot:"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"APN nevar mainīt."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Planšetdatora akum. darb. ilguma uzlabošana"</string>
@@ -4633,10 +4751,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Vienlaikus aktīva var būt tikai viena lejupielādēta SIM karte.\n\nPārslēdzoties uz <xliff:g id="CARRIER1">%1$s</xliff:g>, netiks atcelti <xliff:g id="CARRIER2">%2$s</xliff:g> pakalpojumi."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Pārslēgties uz operatoru <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Dzēst SIM karti"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Vai dzēst šo lejupielādēto SIM karti?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Izdzēšot šo SIM karti, operatora “<xliff:g id="CARRIER_0">%1$s</xliff:g>” pakalpojumi tiek noņemti no šīs ierīces.\n\n“<xliff:g id="CARRIER_1">%2$s</xliff:g>” pakalpojumi netiks atcelti."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Dzēst"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Notiek SIM kartes dzēšana…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Nevar izdzēst SIM karti"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Šo SIM karti nevar izdzēst, jo radās kļūda.\n\nRestartējiet ierīci un mēģiniet vēlreiz."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Ieteicamais tīkla veids"</string>
@@ -4661,7 +4775,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Nederīgs tīkla režīms: <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Ignorēt."</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Piekļuves punktu nosaukumi"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Nav pieejams, ja izveidots savienojums ar operatoru <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"Medicīniskā informācija, kontaktpersonas ārkārtas situācijām"</string>
     <string name="see_more" msgid="7499355691042812723">"Skatīt vairāk"</string>
     <string name="see_less" msgid="2642392725363552793">"Skatīt mazāk"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"Ierīce izmantošanai ar lietotni <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
@@ -4670,12 +4783,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"Radās kļūda. Lietojumprogramma atsauca ierīces atlases pieprasījumu."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"Savienojums izveidots"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"Rādīt visu"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="zero">Pievienotas <xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> ierīces</item>
-      <item quantity="one">Pievienota <xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> ierīce</item>
-      <item quantity="other">Pievienotas <xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> ierīces</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"Nav nevienas Bluetooth ierīces"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"Notiek ierīces meklēšana…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"Notiek savienojuma izveide ar ierīci…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"Pa kreisi"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"Pa labi"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Futrālis"</string>
@@ -4685,6 +4794,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"Nav pieejami lidojuma režīmā"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"Veikt piespiedu darbvirsmas režīma atvēršanu"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Veikt piespiedu eksperimentālā darbvirsmas režīma atvēršanu sekundārajos displejos"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"Iespējot brīvu formu fiksētiem izmēriem"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"Ļauj fiksētu izmēru lietotnēm būt brīvā formā"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Tumšā režīma piespiedu ieslēgšanas ignorēšana"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"Ignorē tumšā režīma iestatījumu Vienmēr ieslēgts"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"Konfidencialitāte"</string>
@@ -4724,6 +4835,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Jūs nesen instalējāt šo lietotni."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Slēdža izeja"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Šobrīd saturs tiek atskaņots ierīcē <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (savienojums pārtraukts)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Nevar pārslēgt. Pieskarieties vēlreiz."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Svarīga informācija"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"TURPINĀT"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"NĒ, PALDIES"</string>
@@ -4751,8 +4864,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"SIM kombinācija"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Jūsu darba politikas informācija"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Iestatījumus pārvalda jūsu IT administrators"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"Grafiskais procesors"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"Kļūdu pārskatu apstrādātājs"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Šeit varat noteikt, kurai lietotnei jūsu ierīcē jāapstrādā kļūdu pārskatu saīsne."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Personiskais profils"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"Darba profils"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"Sistēmas noklusējums"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"Šī atlase vairs nav derīga. Mēģiniet vēlreiz."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"Apturēt apraidi"</string>
 </resources>
diff --git a/res/values-mcc208-mnc10-fr/strings.xml b/res/values-mcc208-mnc10-fr/strings.xml
new file mode 100644
index 0000000..da8bfed
--- /dev/null
+++ b/res/values-mcc208-mnc10-fr/strings.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="wifi_calling_settings_title">Activer Appels Wi-Fi</string>
+</resources>
diff --git a/res/values-mk/arrays.xml b/res/values-mk/arrays.xml
index b4d2621..ca46c97 100644
--- a/res/values-mk/arrays.xml
+++ b/res/values-mk/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"Веднаш"</item>
     <item msgid="463591454172790676">"5 секунди"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"Не потврдувај"</item>
+    <item msgid="5703177653586269306">"Барај статус на сертификатот"</item>
+    <item msgid="326388247868439528">"Статусот на сертификатот е задолжителен"</item>
+    <item msgid="1090956283885790552">"Статусите за сите недоверливи сертификати се задолжителни"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"Копче „Притисни“"</item>
     <item msgid="2630618799033509548">"PIN од спарен уред"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"Ниедна"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"IPSec VPN со претходно споделени клучеви и Xauth автентикација"</item>
     <item msgid="2484564813864139237">"IPSec VPN со сертификати и Xauth автентикација"</item>
     <item msgid="68918911194507915">"IPSec VPN со сертификати и хибридна автентикација"</item>
+    <item msgid="4631647675167100375">"VPN со IKEv2/IPSec со сертификати и проверка на корисничко име/лозинка"</item>
+    <item msgid="8812228622975052811">"VPN со IKEv2/IPSec со однапред споделени клучеви"</item>
+    <item msgid="6630554779981113046">"VPN со IKEv2/IPSec со сертификати"</item>
   </string-array>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"Нема"</item>
diff --git a/res/values-mk/config.xml b/res/values-mk/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-mk/config.xml
+++ b/res/values-mk/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-mk/strings.xml b/res/values-mk/strings.xml
index 6b3e49c..b6b9c87 100644
--- a/res/values-mk/strings.xml
+++ b/res/values-mk/strings.xml
@@ -31,49 +31,17 @@
     <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="radio_info_data_connection_enable" msgid="7500945447906187613">"Овозможи ја врската со податоците"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"Оневозможи ја врската со податоците"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"Обезбедување на VoLTE"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"Овозможено е видеоповикување"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"Овозможено е повикување преку Wi-Fi"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"Овозможено е присуство на подобрен адресар"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"Податоци на Cbrs"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"Овозможи DSDS"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"Дали да се рестартира уредот?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"Треба да го рестартирате уредот за да ја смените поставкава."</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"Рестартирај"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"Откажи"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"Напојување на мобилното радио"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"Прикажи SIM адресар"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"Прикажи броеви на фиксно бирање"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"Прикажи броеви за бирање служби"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"Статус на услугата IMS"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"IMS-статус"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"Регистриран"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"Не е регистриран"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"Достапен"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"Недостапен"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"IMS-регистрација: <xliff:g id="STATUS">%1$s</xliff:g>\nКомуникација преку LTE (VoLTE): <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nКомуникација преку Wi-Fi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nВидеоповици: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT-интерфејс: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"Во употреба"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Надвор од употреба"</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>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"Во мирување"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"Ѕвонење"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"Повик во тек"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"Исклучени"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"Се поврзува"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"Поврзани"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Суспендирани"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Непознато"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"pkts"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"бајти"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"Одмонтирај USB меморија"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"Одмонтирај СД картичка"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"Избриши USB меморија"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"Намалете го или зголемете го текстот на екранот."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Намали"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Зголеми"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"Примерок на текст"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"Чудесниот волшебник од Оз"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"Поглавје 11: Чудесниот смарагден град Оз"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"Треба да го рестартирате уредот за да ја смените поставкава."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"Да"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"Откажи"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"Достапни уреди за аудиовизуелни содржини"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"Достапни уреди за повикување"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"Моментално поврзани"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"Преносливи уреди"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"Уреди за повикување"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"Други уреди"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Зачувани уреди"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth ќе се вклучи за спарување"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Поставки за врски"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"Внесениот порт не е исправен."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"HTTP проксито го користи прелистувачот, но не може да го користат другите апликации."</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"PAC URL: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"Тековен SUBID:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"SUBID на стандардната SIM:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"Брзина на пренос при преземање (кбит/с):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"Брзина на пренос при прикачување (кбит/с):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"Информации за локација на мобилен (застарено):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"Конфигурација на физички канал на LTE:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"Стапка на освежување на информациите за мобилниот:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"Сите информации за мерењата на мобилниот:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"Услуга за податоци:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"Роаминг:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"Пренасочен повик:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"Број на PPP ресетирања од подигање:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"Тековна мрежа:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"Примени податоци:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"Гласовна услуга:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"Јачина на сигнал:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"Статус на гласовен повик:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"Испратени податоци:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"Порака на чекање:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"Телефонски број:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"Избери појас на радио"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"Тип гласовна мрежа:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"Тип мрежа на податоци:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"Изберете индекс на телефонот"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"Постави претпочитан тип мрежа:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"Пингај го хостот (www.google.com) IPv4:"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"Пингај го хостот (www.google.com) IPv6:"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"Тестирање HTTP клиент:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"Изврши пинг тест"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"Ажурирај"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"Освежи"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"Префрли на DNS проверка"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"Информации/Поставки карактеристични за ОЕМ"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"Поставете го режимот појас на радио"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"Вчитување список на појаси…"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"Постави"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"Неуспешно"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"Успешно"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"Промените стапуваат на сила кога USB кабелот повторно ќе се поврзе."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"Овозможи масовна меморија на USB"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"Вкупно бајти:"</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"Премести најдолу"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"Отстрани го јазикот"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"Избери активност"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"Информации за уред"</string>
     <string name="display_label" msgid="3056320781191343221">"Екран"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"Информации за таблет"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"Информации за телефонот"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"USB меморија"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"SD картичка"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"Поставки за прокси"</string>
@@ -306,9 +234,6 @@
     <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, режим за работа во авион, мобилни мрежи и виртуелни приватни мрежи"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"Мобилен интернет"</string>
-    <string name="calls_title" msgid="6334813967619899114">"Дозволи повици"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"SMS-пораки"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"Дозволи интернет преку мобилна мрежа"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"Дозв. корист. подат. во роам."</string>
     <string name="roaming" msgid="3055365654530847985">"Роаминг"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"Поврзи се со интернет услуги во роаминг"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"Изгубивте поврзување податоци зашто на вашата домашна мрежа исклучивте роаминг на податоци."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"Вклучи"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"Може да направите големи трошоци."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"Кога ќе овозможите роаминг на податоци, може да направите големи трошоци за роаминг!\n\nОва подесување влијае на сите корисници на овој таблет."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"Кога ќе овозможите роаминг на податоци, може да направите големи трошоци за роаминг!\n\nОва подесување влијае на сите корисници на овој телефон."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"Може да ви се наплати за роаминг."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"Кога ќе овозможите роаминг на податоци, може да ви се наплати за роамингот.\n\nПоставкава важи за сите корисници на таблетов."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"Кога ќе овозможите роаминг на податоци, може да ви се наплати за роамингот.\n\nПоставкава важи за сите корисници на телефонов."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"Дозволи интернет-роаминг?"</string>
     <string name="networks" msgid="5184501333492775095">"Избор на оператор"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"Избери оператор на мрежа"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"Оневозможено од администраторот"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"Приказ на опцијата за заклучување"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"Опција на копчето за вклучување на екранот што ги исклучува Smart Lock, биометриското отклучување и известувањата на заклучениот екран"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"Продолжено отклуч. за агенти од доверба"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"Ако се овозможени, агентите од доверба ќе го држат уредот отклучен подолго време, но веќе нема да може да отклучат заклучен уред."</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"Заклучен екран кога довербата е загубена"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"Ако е овозможено, уредот ќе се заклучи кога последниот агент од доверба ќе ја загуби довербата"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"Нема"</string>
@@ -390,7 +313,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"Постави „Моја локација“, отклучување на екран, заклучување на SIM картичка, заклучување на меморија со акредитиви"</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"Постави „Моја локација“, отклучување на екран, заклучување на меморија за акредитиви"</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"Приватност"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"Оневозможено од администраторот"</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>
@@ -693,7 +616,6 @@
       <item quantity="one">Мора да има помалку од <xliff:g id="NUMBER_1">%d</xliff:g> цифра</item>
       <item quantity="other">Мора да има помалку од <xliff:g id="NUMBER_1">%d</xliff:g> цифри</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"Мора да содржи само цифри од 0 до 9"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"Администраторот на уредот не дозволува користење на неодамнешен PIN"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"Обичните PIN-кодови се блокирани од вашиот IT-администратор. Обидете се со друг PIN."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"Ова не може да вклучува неважечки знак"</string>
@@ -724,6 +646,10 @@
       <item quantity="one">Мора да содржи најмалку <xliff:g id="COUNT">%d</xliff:g> знак што не е буква</item>
       <item quantity="other">Мора да содржи најмалку <xliff:g id="COUNT">%d</xliff:g> знаци што не се букви</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="one">Мора да содржи најмалку <xliff:g id="COUNT">%d</xliff:g> знак што не е буква</item>
+      <item quantity="other">Мора да содржи најмалку <xliff:g id="COUNT">%d</xliff:g> знаци што не се букви</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"Администраторот на уредот не дозволува користење на неодамнешна лозинка"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"Обичните лозинки се блокирани од вашиот IT-администратор. Обидете се со друга лозинка."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"Не е дозволена нагорна, надолна или повторлива секвенца на цифри"</string>
@@ -837,19 +763,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2,4 GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"Најави се"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"Отвори го сајтот"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"Уште <xliff:g id="REMAINING_TIME">%1$s</xliff:g>"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"Истекува на <xliff:g id="EXPIRY_TIME">%1$s</xliff:g>"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"Допрете тука за да се најавите на мрежата"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"<xliff:g id="REQUESTER">%s</xliff:g> сака да ја вклучи Wi-Fi мрежата"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"<xliff:g id="REQUESTER">%s</xliff:g> сака да ја исклучи Wi-Fi мрежата"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"Потврдете го bytecode на апликациите"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Дозволете ART да го потврди bytecode за апликациите со грешки за отстранување"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"Види стапка на освежување"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Прикажи стапка на освежување на тековниот екран"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"Овозможи размена на податоци кога таблетот допира друг уред"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"Овозможи размена на податоци кога телефонот ќе допре друг уред"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"Овозможи размена на податоци кога таблетот ќе допре уред со NFC"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"Овозможи размена на податоци кога телефонот ќе допре уред со NFC"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"Вклучете NFC"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"NFC разменува податоци меѓу уредов и други уреди или цели во близина, како што се терминали за плаќање, читачи за пристап и интерактивни реклами или ознаки."</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"Заштитете ја NFC"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Потребно е отклучување на уредот за NFC"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"Дозволете употреба на плаќања и јавен превоза преку NFC само кога екранот е отклучен"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"Подготвено за пренос на содржина на апликација преку комуникација на блиско поле (NFC)"</string>
@@ -923,8 +855,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Вклучи"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Скенирањето на Wi‑Fi е вклучено"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Напредни опции"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"Паѓачки список „Напредни опции“. Допрете двапати за да се собере."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"Паѓачки список „Напредни опции“. Допрете двапати за да се прошири."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Паѓачки список „Напредни опции“"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"прошири"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"Име на мрежа"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"Внеси SSID"</string>
     <string name="wifi_security" msgid="9095934643631406913">"Безбедност"</string>
@@ -934,6 +866,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"Статус"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"Брзина на линкот за пренесување"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"Брзина на линкот за примање"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"Брзина на врска"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"Фреквенција"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"IP-адреса"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"Зачувано преку"</string>
@@ -941,6 +874,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"EAP метод"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"Автентикација во фаза 2"</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>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"Кориснички сертификат"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"Идентитет"</string>
@@ -957,6 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"Изберете барем еден појас за Wi‑Fi точка на пристап:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"Поставки на IP"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"Приватност"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"Претплата"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"Прегледајте ја или изменете ја претплатата"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"Рандомизирана MAC-адреса"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"Додајте уред"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"Наместете го QR-кодот во средината на подолниот прозорец за да го додадете уредот на „<xliff:g id="SSID">%1$s</xliff:g>“"</string>
@@ -966,12 +902,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"Сподели Wi‑Fi"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"Скенирајте го овој QR-код за да се поврзете со „<xliff:g id="SSID">%1$s</xliff:g>“ и споделете ја лозинката"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"Скенирајте го овој QR-код за да се поврзете со „<xliff:g id="SSID">%1$s</xliff:g>“"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"Не можеше да се прочита QR-кодот. Центрирајте го кодот и обидете се повторно"</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"Обидете се повторно. Ако проблемот продолжи, контактирајте со производителот на уредот"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"Нешто тргна наопаку"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"Проверете дали уредот е приклучен, наполнет и вклучен"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"Проверете дали уредот е приклучен, наполнет и вклучен. Ако проблемот продолжи, контактирајте со производителот на уредот"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"Додавањето на „<xliff:g id="SSID">%1$s</xliff:g>“ не е поддржано од уредов"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"Пробајте да го доближите уредот до пристапната точка/рутерот за Wi‑Fi"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"Проверете ја лозинката и обидете се повторно"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"Контактирајте со производителот на уредот"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"Проверете ја врската и обидете се повторно"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"Изберете мрежа"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"За да го поврзете уредот, изберете мрежа"</string>
@@ -984,11 +922,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"Се споделува Wi‑Fi со уредов…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"Се поврзува…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"Споделете точка на пристап"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"Потврдете дека сте вие"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"Потврдете дека сте вие"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"Лозинка за Wi-Fi: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"Лозинка за точка на пристап: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"Автоматско поврзување"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"Дозволи телефонот автоматски да се поврзува во близина на мрежава"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"Дозволи таблетот автоматски да се поврзува во близина на мрежава"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"Додајте уред"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"Користете QR-код за да додадете уред на мрежава"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"QR-кодот не е во важечки формат"</string>
     <string name="retry" msgid="7542103800274026915">"Обиди се повторно"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"Сподели со други корисници на уредот"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(непроменети)"</string>
@@ -1000,6 +942,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"Нема назначено сертификат. Вашата врска нема да биде приватна."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"Името на мрежата е премногу долго."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"Мора да се наведе домен."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"Потребен е сертификат."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"Достапен WPS"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (Достапен WPS)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"Wi‑Fi мрежа на операторот"</string>
@@ -1051,7 +994,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"Напредна Wi-Fi"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"MAC адреса"</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_ip_address_title" msgid="4265355419782184514">"IP-адреса"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"Детали за мрежа"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Маска на подмрежа"</string>
@@ -1103,7 +1047,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"Користете точка на пристап за да создадете Wi‑Fi мрежа за другите уреди. Точката на пристап обезбедува интернет со помош на мобилната интернет-врска. Може да ви се наплатат дополнителни трошоци за мобилен интернет."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"Апликациите може да создадат точка на пристап за да споделуваат содржини со уредите во близина."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Автоматско исклучување на точката на пристап"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"Точката на пристап преку Wi‑Fi ќе се исклучи ако нема поврзани уреди"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Кога нема вклучени уреди"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"Вклучување точка на пристап..."</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"Исклучување точка на пристап..."</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> е активно"</string>
@@ -1112,6 +1056,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"Точка на пристап за Wi‑Fi"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"Точка на пристап AndroidAP WPA2 PSK"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"AndroidHotspot"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"Дали да се зачува мрежава?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"<xliff:g id="APPNAME">%1$s</xliff:g> сака да зачува мрежа во вашиот телефон"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"<xliff:g id="APPNAME">%1$s</xliff:g> сака да зачува мрежа на вашиот таблет"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"Се зачувува…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"Зачувана"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"Не може да се зачува. Обидете се повторно."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"Дали да се зачуваат мрежите?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"<xliff:g id="APPNAME">%1$s</xliff:g> сака да ги зачува мреживе во вашиот телефон"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"<xliff:g id="APPNAME">%1$s</xliff:g> сака да ги зачува мреживе на вашиот таблет"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"Се зачувуваат <xliff:g id="NUMBER">%d</xliff:g> мрежи…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"Зачувани мрежи"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"Повикување преку Wi-Fi"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"Продолжете ги повиците со Wi‑Fi"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"Вклучете „Повици преку Wi‑Fi“ за поголемо покривање"</string>
@@ -1138,16 +1093,18 @@
     <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"><annotation id="url">"Дознајте повеќе"</annotation>" за функциите на приватен DNS"</string>
+    <string name="private_dns_mode_on" msgid="8878679071975375696">"Вклучено"</string>
     <string name="wifi_calling_pref_managed_by_carrier" msgid="129524064888622179">"Операторот управува со поставката"</string>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"Активирајте ги „Повиците преку Wi-Fi“"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"Вклучете ги „Повиците преку Wi-Fi“"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"Повици преку Wi‑Fi не се поддржани за %1$s"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"Врската со <xliff:g id="SSID">%1$s</xliff:g> е исклучена"</string>
     <string name="carrier" msgid="1755020806290963951">"Оператор"</string>
     <string name="display_settings_title" msgid="626835071804834218">"Екран"</string>
     <string name="sound_settings" msgid="5514582720435174014">"Звук"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"Јачини"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"Музички ефекти"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"Јачина на звук на ѕвонењето"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"Јачината на звук при ѕвонење и известувања"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"Вибрира кога е на тивко"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"Стандарден звук за известување"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"Мелодија"</string>
@@ -1272,13 +1229,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"Распоред"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"Нема"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"Од зајдисонце до изгрејсонце"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"Се вклучува во одредено време"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"Статус"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"Исклучено/<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"Никогаш нема да се вклучи автоматски"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"Ќе се вклучи автоматски на зајдисонце"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"Ќе се вклучи автоматски во <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"Вклучено/<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"Никогаш нема да се исклучи автоматски"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"Ќе се исклучи автоматски на изгрејсонце"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"Ќе се исклучи автоматски во <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"Вклучи до <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"Исклучи до <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"Темната тема користи црна заднина за подолго траење на батеријата на некои екрани. Распоредите за темната тема не се вклучуваат додека не се исклучи екранот."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"Исклучување на екранот"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"Екранот се исклучува"</string>
@@ -1290,7 +1252,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"Изменете го тапетот"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"Персонализирајте го екранот"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"Избери тапет од"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"Приспособете го вашиот Pixel"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"Приспособете го телефонот"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"Пробајте различни стилови, тапети и друго"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"Заштитник на екран"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Додека се полни или е приклучен"</string>
@@ -1379,6 +1341,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"Одмонтирај USB меморија, погледни расположлива меморија"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"Одмонтирај СД картичка, прикажи расположлива меморија"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (отвор за SIM %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"За преглед, изберете зачувана мрежа"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"Телефонски број"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (отвор за SIM %1$d)"</string>
@@ -1405,6 +1368,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"Роаминг"</string>
     <string name="status_operator" msgid="4335640583552058491">"Мрежа"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"Адреса на MAC за Wi-Fi"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"MAC-адреса на Wi-Fi на уредот"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"Адреса на Bluetooth"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Сериски број"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Време од последно рестартирање"</string>
@@ -1617,6 +1581,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Ресетирањето стандардни поставки на APN е завршено."</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"Опции за ресетирање"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"Може да се ресетира мрежа, апликации или уред"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"Апликациите може да се ресетираат"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"Ресетирај Wi-Fi, мобилен интернет и Bluetooth"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"Ова ќе ги ресетира сите мрежни поставки, вклучувајќи:\n\n"<li>"Wi‑Fi"</li>\n<li>"Мобилен интернет"</li>\n<li>"Bluetooth"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"Избриши преземени SIM-картички"</string>
@@ -1666,6 +1631,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"Точката на пристап е вклучена"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"Поврзување"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"Не може да се врзе или се да користат преносни точки на пристап додека е вклучен Штедачот на интернет"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"Само точката на пристап"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"Само USB"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"Само Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"Точката на пристап, USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"Точката на пристап, Bluetooth"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB, Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"Точката на пристап, USB, Bluetooth"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"Не се споделува интернет со други уреди"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"Поврзување"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Не користете точка на пристап за Wi‑Fi"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Споделувајте интернет само преку USB"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Споделувајте интернет само преку Bluetooth"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Споделувајте интернет само преку USB и Bluetooth"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"Поврзување со USB"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"Споделете ја интернет-врската на телефонот преку USB"</string>
@@ -1756,9 +1734,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"Безбедносни информации"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"Немате интернет-врска. За да ги видите овие информации сега, одете на %s од кој било компјутер поврзан на интернет."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"Се вчитува..."</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"Користи PIN"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"Користи шема"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"Користи лозинка"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"Поставете заклучување на екранот"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"За безбедност, поставете лозинка"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"За отпечаток, поставете лозинка"</string>
@@ -1767,8 +1742,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"За отпечаток, поставете PIN"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"За безбедност, поставете шема"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"Внесете ја лозинката повторно"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"Внесете ја лозинката за работниот профил"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"Потврдете ја шемата"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"Внес. ја шемата на раб. профил"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"Внесете го PIN-кодот повторно"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"Внесете го PIN-кодот на работниот профил"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"Лозинките не се совпаѓаат"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"PIN-овите не се совпаѓаат"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"Нацртајте ја шемата повторно"</string>
@@ -1779,6 +1757,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"За „Отклучување со лик“, постави лозинка"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"За „Отклучување со лик“, поставете шема"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"За „Отклучување со лик“, поставете PIN"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"Ја заборавивте лозинката?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"Ја заборавивте шемата?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"Го заборавивте PIN-кодот?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"Користете ја шемата на уредот за да продолжите"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"Внесете го PIN-кодот на уредот за да продолжите"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"Внесете ја лозинката на уредот за да продолжите"</string>
@@ -1846,6 +1827,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"Дозв. ги сите изв. на аплик."</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"Неодамна отворени апликации"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"Видете ги сите <xliff:g id="COUNT">%1$d</xliff:g> апликации"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"Контактирајте со IT-администраторот"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"Може да ви помогне да го ресетирате вашиот PIN, шемата или лозинката"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"Вашиот таблет и личните податоци се повеќе подложни на напади од апликации од непознати извори. Ако инсталирате апликации од изворов, се согласувате дека сте одговорни за каква било штета на таблетот или губењето податоци што може да произлезат од користењето на овие апликации."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"Вашиот телефон и личните податоци се повеќе подложни на напади од апликации од непознати извори. Ако инсталирате апликации од изворов, се согласувате дека сте одговорни за каква било штета на телефонот или губењето податоци што може да произлезат од користењето на овие апликации."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"Вашиот уред и личните податоци се повеќе подложни на напади од непознати апликации. Ако инсталирате апликации од изворов, се согласувате дека сте одговорни за каква било штета на уредот или губење податоци што може да произлезат од користењето на апликациите."</string>
@@ -1897,7 +1880,7 @@
     <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="1377296810290814749">"Со ова се ресетираат сите параметри за:\n\n"<li>"оневозможени апликации"</li>\n<li>"оневозможени известувања на апликација"</li>\n<li>"стандардни апликации за дејства"</li>\n<li>"ограничувања за податоци во заднина за апликации"</li>\n<li>"сите ограничувања за дозволи"</li>\n\n"Нема да изгубите никакви податоци од апликациите."</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>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"Ресетирај апликации"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"Управувај со простор"</string>
     <string name="filter" msgid="9039576690686251462">"Филтер"</string>
@@ -2097,7 +2080,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"Аудио и текст на екранот"</string>
     <string name="display_category_title" msgid="6638191682294461408">"Приказ"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"Контроли за интеракција"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"Преземени услуги"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"Преземени апликации"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"Експериментално"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"Ознаки за функции"</string>
     <string name="talkback_title" msgid="8756080454514251327">"Talkback"</string>
@@ -2105,27 +2088,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"Допрете ставки на екранот за да ги слушнете гласно прочитани"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"Поставки за титлови"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"Зголемување"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"Област на зголемување"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"Овозможи зголемување"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"Изберете ја областа на зголемување што сакате да ја користите кога се зголемува екранот"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"Цел екран"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"Дел од екранот"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"Цел екран и дел од екран"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"Зголеми цел екран"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"Зголеми дел од екранот"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Поставки за зголемување"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"Зголеми со троен допир"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Зголемување со кратенка"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Зголемете со кратенка и троен допир"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"За <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"Опции"</string>
     <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="2831926970059739911"><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_screen_magnification_navbar_summary" msgid="5603519616005297803">"Кога е вклучено зумирањето, може да зумирате на екранот.\n\n"<b>"За да зумирате"</b>", стартувајте го зголемувањето, па допрете каде било на екранот.\n"<ul><li>"• Повлечете 2 или повеќе прста за да лизгате"</li>\n<li>"• Штипнете со 2 или повеќе прста за да го приспособите зумирањето"</li></ul>\n\n<b>"За да зумирате привремено"</b>", стартувајте го зголемувањето, а потоа допрете и задржете каде било на екранот.\n"<ul><li>"• Повлечете за да се движите низ екранот"</li>\n<li>"• Подигнете го прстот за да одзумирате"</li></ul>\n\n"Не може да зумирате на тастатурата или навигациската лента."</string>
+    <string name="accessibility_screen_magnification_summary" msgid="7617931632990040045">"Брзо зумирајте го екранот за појасно гледање на содржините.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;За да зумирате:&lt;/b&gt;&lt;br/&gt;	1. Употребете кратенка за почеток на зголемувањето&lt;br/&gt;	2. Допрете го екранот&lt;br/&gt;	3. Повлечете со два прста за да се движите низ екранот&lt;br/&gt;	4. Штипнете со два прста за да го приспособите зумот&lt;br/&gt;	5. Употребете кратенка за крај на зголемувањето&lt;br/&gt;&lt;br/&gt;&lt;b&gt;За да зумирате привремено:&lt;/b&gt;&lt;br/&gt;	1. Употребете кратенка за почеток на зголемувањето&lt;br/&gt;	2. Допрете и задржете каде било на екранот&lt;br/&gt;	3. Повлечете со прст за да се движите низ екранот&lt;br/&gt;	4. Подигнете го прстот за да сопре зголемувањето"</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Кога е вклучено зумирањето, може да зумирате на екранот.\n\n"<b>"За да зумирате"</b>", стартувајте го зголемувањето, па допрете каде било на екранот.\n"<ul><li>"Повлечете со два или повеќе прсти за да лизгате"</li>\n<li>"Штипнете со два или повеќе прсти за да го приспособите зумот"</li></ul>\n\n<b>"За да зумирате привремено"</b>", стартувајте го зголемувањето, а потоа допрете и задржете каде било на екранот.\n"<ul><li>"Повлечете за да се движите околу екранот"</li>\n<li>"Подигнете го прстот за да одзумирате"</li></ul>\n\n"Не може да зумирате на тастатурата или на лентата за навигација."</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Користете го копчето за пристапност за да отворите"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Користете движење за да отворите"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"Користете го новото движење за пристапност"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"За да ја вклучите или исклучите услугава, допрете на копчето за пристапност <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> најдолу на екранот.\n\nЗа да се префрлате помеѓу услуги, допрете и задржете го копчето за пристапност."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"За да ја вклучите или исклучите услугава, повлечете нагоре од дното на екранот со два прста.\n\nЗа да се префрлате помеѓу услуги, лизгајте нагоре со два прста и задржете."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"За да ја вклучите или исклучите услугава, повлечете нагоре од дното на екранот со три прста.\n\nЗа да се префрлате помеѓу услуги, лизгајте нагоре со три прста и задржете."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"За да ја вклучите или исклучите услугата за пристапност, повлечете нагоре од дното на екранот со два прста.\n\nЗа да се префрлате помеѓу услуги, лизгајте нагоре со два прста и задржете."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"За да ја вклучите или исклучите услугата за пристапност, повлечете нагоре од дното на екранот со три прста.\n\nЗа да се префрлате помеѓу услуги, лизгајте нагоре со три прста и задржете."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"За да ја вклучите или исклучите услугава, допрете на копчето за пристапност <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> најдолу на екранот.\n\nЗа да се префрлате помеѓу услуги, допрете и задржете го копчето за пристапност."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"За да ја вклучите или исклучите услугава, повлечете нагоре од дното на екранот со два прста.\n\nЗа префрлање помеѓу услугите, повлечете нагоре со два прста и задржете."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"За да ја вклучите или исклучите услугава, повлечете нагоре од дното на екранот со три прста.\n\nЗа префрлање помеѓу услугите, повлечете нагоре со три прста и задржете."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"За да ја вклучите или исклучите услугата за пристапност, повлечете нагоре од дното на екранот со два прста.\n\nЗа префрлање помеѓу услугите, повлечете нагоре со два прста и задржете."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"За да ја вклучите или исклучите услугата за пристапност, повлечете нагоре од дното на екранот со три прста.\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="2820923641553461297">"Копче за пристапност"</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>
+    <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8922102767509399352">"Допрете го копчето за пристапност <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> на дното на екранот"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"Повлечете нагоре од дното на екранот со два прста"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"Повлечете нагоре од дното на екранот со три прста"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Задржете ги копчињата за јачина на звук"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"Притиснете и задржете ги двете копчиња за јачина на звук во траење од една секунда"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Троен допир на екранот"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"Брзо допрете го екранот трипати. Оваа кратенка може да го забави уредот."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"Напредно"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"Копчето за „Пристапност“ е поставено на <xliff:g id="SERVICE">%1$s</xliff:g>. За да користите зголемување, допрете го и задржете го копчето за „Пристапност“, а потоа изберете „Зголемување“."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"Ова движење за пристапност е поставено за <xliff:g id="SERVICE">%1$s</xliff:g>. За да користите зголемување, повлечете нагоре со два прста од дното на екранот и задржете. Потоа изберете зголемување."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"Копче за јачина на звук"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"Услуга со кратенка"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Поставки за кратенки"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"Дозволете од заклучен екран"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"Кога е вклучена кратенката, може да ги притиснете двете копчиња за јачина на звукот во траење од три секунди за стартување функција за пристапност."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"Текст со висок контраст"</string>
@@ -2149,24 +2157,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"Изберете колку долго да се прикажуваат пораките што бараат да преземете дејство, но се видливи само привремено.\n\nНе сите апликации ја поддржуваат оваа поставка."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"Должина на допир и задржување"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"Инверзија на бои"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"Може да влијае на изведбата"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"Тајминг за неактивност"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"Користете инверзија на бои"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"Инверзијата на бои ги претвора светлите екрани во темни. Ова им помага на луѓето што се чувствителни на силна светлина полесно да го гледаат екранот.&lt;br/&gt;&lt;br/&gt;Забелешка: темните бои ќе се претворат во светли. Ќе се променат боите во аудиовизуелните содржини и во сликите. Може да користите и темна тема („Поставки > Екран“)."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"Автоматско кликнување (тајминг за неактивност)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"Ако користите глувче, може да го поставите курсорот да дејствува автоматски кога ќе престане да се движи одредено време."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"Одложување пред кликнување"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"Без автоматски клик (стандардно)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"Кратко"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0,2 секунди"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"Средно"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0,6 секунди"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"Долго"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 секунда"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"Приспособено"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"Пократко"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"Подолго"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"Време на автоматски клик"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"Јачина на вибрации и на допирот"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Вибрации при известување"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Вибрации при ѕвонење"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Повратни информации со допир"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"Користи ја услугата"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"Користете <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"Отвори <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"Користи корекција на боите"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"Користи титлови"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"Покажи титли"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"Изглед на титлите"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"Големина на текстот, стил на титлите"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"Повеќе опции"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"Некои апликации не ја поддржуваат поставкава."</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"Копче за пристапност"</string>
+    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"Повлечете нагоре од дното со 2 прста"</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>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"Слушни помагала"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"Нема поврзани слушни помагала"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"Додајте слушни помагала"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"За да ги спарите слушните помагала, најдете го и допрете го уредот на следниот екран."</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"Проверете дали слушните помагала се во режим на спарување."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"За да ги спарите слушните помагала, најдете го и допрете го уредот на следниот екран. Проверете дали слушните помагала се во режим на спарување."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"Слушното помагало <xliff:g id="DEVICE_NAME">%1$s</xliff:g> е активно"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> зачувано слушно помагало</item>
@@ -2178,25 +2204,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Услугава е дефектна."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Прикажи во „Брзи поставки“"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"Режим на корекција"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="one">Исклучително кратко задржување (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Исклучително кратко задржување (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Црвена и зелена"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"Зелена и црвена"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Сина и жолта"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"Девтераномалија"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"Протаномалија"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"Тританомалија"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="one">Исклучително кратко доцнење (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунда)</item>
+      <item quantity="other">Исклучително кратко доцнење (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунди)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="one">Многу кратко задржување (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Многу кратко задржување (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="one">Многу кратко доцнење (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунда)</item>
+      <item quantity="other">Многу кратко доцнење (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунди)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="one">Кратко задржување (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Кратко задржување (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="one">Кратко доцнење (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунда)</item>
+      <item quantity="other">Кратко доцнење (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунди)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="one">Долго задржување (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Долго задржување (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="one">Долго доцнење (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунда)</item>
+      <item quantity="other">Долго доцнење (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунди)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="one">Многу долго задржување (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Многу долго задржување (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="one">Многу долго доцнење (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунда)</item>
+      <item quantity="other">Многу долго доцнење (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунди)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунда</item>
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунди</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"Ѕвонење <xliff:g id="SUMMARY_RING">%1$s</xliff:g>, известување <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>, допир <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"Вибрациите при ѕвонење и известувања се поставени на исклучени"</string>
@@ -2513,7 +2549,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"Додека последен пат бил исклучен за <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"Вкупна употреба"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"Освежи"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"Оперативен систем Android"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"Mediaserver"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"Оптимизација на апликација"</string>
     <string name="battery_saver" msgid="7737147344510595864">"Штедач на батерија"</string>
@@ -2594,8 +2629,7 @@
     <string name="tts_play" msgid="2945513377250757221">"Пушти"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"Складирање акредитиви"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"Инсталирај од меморија"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"Инсталирај од СД картичка"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"Инсталирајте сертификат"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"Инсталирај сертификати од меморија"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"Инсталирај сертификати од СД картичка"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"Исчисти акредитиви"</string>
@@ -2615,6 +2649,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"Меморијата на акредитиви е избришана."</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"Мемо за. акредит. не се брише."</string>
     <string name="usage_access_title" msgid="1580006124578134850">"Апликации со пристап до корис."</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"Сертификат CA"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"Корисн. сертиф. за VPN и апл."</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"Сертификат за Wi‑Fi"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"Вашата приватност е во опасност"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"Сертификатите CA се користат од страна на веб-сајтови, апликации и VPN за шифрирање. Инсталирајте сертификати CA само од организации на коишто им верувате. \n\n Ако инсталирате сертификат CA, сопственикот на сертификатот ќе може да пристапува до вашите информации, како лозинките, пораките или деталите за кредитните картички, од веб-сајтови што ги посетувате или апликации што ги користите, дури и ако тие информации се шифрирани."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"Не инсталирај"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"Сепак инсталирај"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"Сертификатот не е инсталиран"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"Сигнал за итно бирање"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Постави однесување кога се прави итен повик"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Бекап"</string>
@@ -2642,10 +2684,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"Деактивирај и деинсталирај"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"Апликации за администраторот"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"Не се достапни апликации за администраторот на уредот"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"Лични"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"Работа"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"Ограничи пристап до SMS и евиденцијата на повици"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"Само стандардните апликации за телефон и пораки имаат дозволи за SMS и евиденција на повици"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"Нема достапни агенти од доверба"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"Да се активира аплик. на администратор?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"Активирај ја апликацијата на администраторот на уредот"</string>
@@ -2659,6 +2697,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"Другите опции се оневозможени од администраторот"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"Повеќе детали"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"Дневник за известувања"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"Историја на известувањата"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"Денес"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"Одложено"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"Неодамна отфрлено"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="one"><xliff:g id="NUMBER_1">%d</xliff:g> известување</item>
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> известувања</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"Мелодија на повик и вибрации"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"Детали за мрежа"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"Синхронизација е овозможена"</string>
@@ -3008,7 +3054,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"Ограничувања"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"Отстрани ограничувања"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"Промени PIN"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"Прикажи известувања"</string>
     <string name="help_label" msgid="2896538416436125883">"Помош и информации"</string>
     <string name="support_summary" msgid="1034146931237148885">"Статии за помош, телефон и разговор, вовед"</string>
     <string name="user_account_title" msgid="6389636876210834864">"Сметка за содржина"</string>
@@ -3033,6 +3078,14 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"Повици преку 4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Користете ги LTE-услугите за да ја подобрите гласовната и другите видови комуникација (препорачано)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Користете ги услугите 4G за да ја подобрите гласовната и другите видови комуникација (препорачано)"</string>
+    <!-- no translation found for contact_discovery_opt_in_title (4076990635900099116) -->
+    <skip />
+    <!-- no translation found for contact_discovery_opt_in_summary (4104310593310967300) -->
+    <skip />
+    <!-- no translation found for contact_discovery_opt_in_dialog_title (6278407286820554079) -->
+    <skip />
+    <!-- no translation found for contact_discovery_opt_in_dialog_message (5787751513924920435) -->
+    <skip />
     <string name="preferred_network_type_title" msgid="812509938714590857">"Претпочитан тип мрежа"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (препорачано)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS-пораки"</string>
@@ -3077,7 +3130,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"Повикајте со"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"Избери SIM-картичка"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"SIM <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"SIM-картичката е празна"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"Име на SIM-картичка"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"Внесете име на SIM"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"Отвор за SIM-картичка %1$d"</string>
@@ -3087,6 +3139,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"Изберете SIM-картичка"</string>
     <string name="color_orange" msgid="216547825489739010">"Портокалова"</string>
     <string name="color_purple" msgid="6603701972079904843">"Виолетова"</string>
+    <string name="color_pink" msgid="8596872110888626708">"Розова"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"Нема вметнати SIM-картички"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"Статус на SIM-картичка"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"Статус на SIM (отвор за SIM %1$d)"</string>
@@ -3100,7 +3153,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"SIM-картичките се променети."</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Допрете за да поставите"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"Претпочитана SIM-картичка за"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Секогаш прашувај"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Потребно е да се избере"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"Избор на SIM"</string>
@@ -3118,6 +3170,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"Bluetooth, режим на возење"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"Bluetooth, NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"Bluetooth"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"Недостапни бидејќи NFC е исклучено"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"Апликации и известувања"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Неодамнешни апликации, стандардни апликации"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Пристапот до известувањата не е достапен за апликации во работниот профил."</string>
@@ -3128,13 +3181,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"Поставки"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"WiFi, Wi-Fi, мрежна врска, интернет, безжичен, податоци, Wi Fi"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"Известување за Wi‑Fi, Wi‑Fi известување"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"потрошен сообраќај"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"Запри вибрации, допир, тастатура"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"Користи 24-часовен формат"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"Преземање"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"Отворај со"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"Апликации"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"временска зона"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"Глава од разговор"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"Глава од разговор, систем, предупредување, прозорец, дијалог, приказ, врз други апликации, цртај"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"Светилка, светло, лампа"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"wifi, wi-fi, префрли, контрола"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"мобилна мрежа, мобилен, мобилен оператор, безжичен, податоци, 4g, 3g, 2g, lte"</string>
@@ -3158,7 +3212,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"не вознемирувај, прекини, прекинување, пауза"</string>
     <string name="keywords_app" msgid="7983814237980258061">"РАМ"</string>
     <string name="keywords_location" msgid="8016374808099706213">"во близина, локација, историја, пријавување, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"сметка"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"сметка, додај сметка, работен профил, додавање сметка"</string>
     <string name="keywords_users" msgid="3497517660077620843">"ограничување, ограничи, ограничено"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"поправка на текст, поправи, звук, вибрирај, автоматски, јазик, движење, предложи, предлог, тема, навредлив, збор, напиши, емотикон, меѓународно"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"ресетирај, претпочитања, стандардни"</string>
@@ -3196,6 +3250,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"меморија, кеш, податоци, избриши, бесплатно, простор"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"поврзан, уред, слушалки, слушалка, звучници, безжични уреди, спари, слушалки, музика, аудиовизуелни содржини"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"заднина, екран, заклучен екран, тема"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"облик на икона, боја за нагласување, фонт"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"стандарден, помошник"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"плаќање, стандарден"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"дојдовно известување"</string>
@@ -3205,18 +3260,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"повратни информации со допир, вибрации, чувствителност"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"штедач на батерија, леплив, упорен, штедач на енергија, батерија"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"рутина, распоред, штедач на батерија, штедач на енергија, батерија, автоматски, процент"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"работен профил"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"volte, напредно повикување, повикување преку 4G"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"додај јазик, додај некој јазик"</string>
     <string name="default_sound" msgid="6604374495015245195">"Стандарден звук"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"Јачината на звукот на ѕвонењето е на <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"Јачината на звук при ѕвонење и известувања е <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Јачина на звук, вибрации и „Не вознемирувај“"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"Ѕвонењето е поставено на вибрации"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"Ѕвонењето е поставено на безгласен режим"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"Јачината на звукот на ѕвонењето е на 80%"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"Јачината на звук при ѕвонење и известувања е 80 %"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Јачина на аудио/видео звук"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Јачина на звук на емитување"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"Јачина на звук за повици"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"Јачина на звук на аларм"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"Јачина на звук на ѕвонење"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"Ѕвонење и известувања"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"Јачина на звук на известување"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"Мелодија на телефон"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"Стандарден звук за известување"</string>
@@ -3224,6 +3280,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"Стандарден звук за известување"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"Стандарден звук за аларм"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"Вибрирај за повици"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"Никогаш не вибрирај"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"Секогаш вибрирај"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"Прво вибрирај, па ѕвони постепено"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"Други звуци"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"Тонови на тастатура за бирање"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"Звуци на заклучување екран"</string>
@@ -3247,6 +3306,7 @@
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> овозможени</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Не вознемирувај"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Добивајте известувања само од важни луѓе и апликации"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Ограничете ги прекините"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Исклучување на „Не вознемирувај“"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"Исклучоци"</string>
@@ -3273,7 +3333,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Блокирајте визуелни нарушувања"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Дозволи визуелни сигнали"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"Кога е вклучено „Не вознемирувај“"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"Дозволете прекинувања што произведуваат звук"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"Ограничете ги известувањата"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Без звук од известувањата"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"Ќе гледате известувања на екранот"</string>
@@ -3304,7 +3364,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"Звук и вибрации"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"Звук, вибрации и некои визуелни знаци од известувањата"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"Звук, вибрации и визуелни знаци од известувањата"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"Известувањата што се неопходни за основната активност на телефонот и статусот никогаш нема да се кријат"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"Известувањата што се неопходни за основната активност на телефонот и статусот никогаш нема да се кријат."</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"Нема"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"други опции"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"Додај"</string>
@@ -3334,10 +3394,12 @@
       <item quantity="one"><xliff:g id="ON_COUNT">%d</xliff:g> распоред може да се вклучи автоматски</item>
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> распореди може да се вклучат автоматски</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"Исклучи го звукот, но дозволи исклучоци"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"Исклучоци"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"Распоред"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"Прикажи ги сите исклучоци"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"Исклучоци кога „Не вознемирувај“ е вклучена"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"Луѓе"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"Апликации"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"Аларми и други прекинувања"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"Распореди"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"Стишени известувања"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"Кога е вклучен режимот „Не вознемирувај“, ќе се исклучат звукот и вибрациите, освен за ставките што ќе ги дозволите погоре."</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"Исклучи го звукот на сите, освен"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"Исклучен звук"</string>
@@ -3381,16 +3443,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"Приспособливи известувања"</string>
     <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_capabilities_actions_replies_title" msgid="4392470465646394289">"Предложени дејства и одговори"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"Автоматски прикажувај предложени дејства и одговори"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"Вклучете ја „Историјата на известувања“ за да имате увид во изминатите и одложените известувања"</string>
+    <string name="notification_history" msgid="8663811361243456201">"Историја на известувања"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"Вклучи ја историјата"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"Исклучи ја историјата"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"„Историјата на известувања“ е исклучена"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"прикажи поставки за известувања"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Дозволи одложување на известувањата"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"Сокриј ги иконите од нежните известувања"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"Иконите од нежните известувања не се прикажуваат во статусната лента"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"Дозволи точки за известување"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"Прикажи лента со скорешни разговори"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Балончиња"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"Некои известувања може да се појавуваат како балончиња на екранот"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"Некои известувања и други содржини може да се појавуваат како балончиња на екранот. За да отворите балонче, допрете го. За да го отфрлите, повлечете го надолу на екранот."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Балончиња"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"Новите пораки ќе се појавуваат на екранот"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"Дозволете <xliff:g id="APP_NAME">%1$s</xliff:g> да прикажува некои известувања како балончиња"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"Вклучете балончиња"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"За да вклучите балончиња за апликацијава, прво треба да ги вклучите за уредов. Ова ќе влијае на другите апликации за коишто претходно сте вклучиле балончиња."</string>
@@ -3408,6 +3480,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"Прикажи во списокот со известувања и на заклучен екран"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"Прикажи во списокот со известувања и на статусната лента"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"Прикажи во списокот со известувања, на статусната лента и на заклучен екран"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"Сокриј тивки известувања во статусната лента"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"Трепкај со сијаличката"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"Заклучен екран"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"Прескокнување заклучен екран"</string>
@@ -3438,6 +3511,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"Однесување"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"Дозволете звук"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"Никогаш не прикажувај известувања"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"Разговори"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"Разговор"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"Не е разговор"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"Отстранете од секцијата со разговори"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"Ова е разговор"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"Додајте во секцијата со разговори"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"Управувајте со разговорите"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"Важни разговори"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"Сите разговори"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"Важни разговори во балонче"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"Важните разговори се прикажуваат на горниот дел од списокот со известувања. Може да ги поставите и во балонче и да ја прекинуваат „Не вознемирувај“."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"Прикажи тивко и минимизирај"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"Прикажи тивко"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"Испушти звук"</string>
@@ -3456,7 +3540,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"Ви помага да се концентрирате без звук или вибрации"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"Ви го привлекува вниманието со звук или вибрации"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"Кога уредот е отклучен, прикажувај ги известувањата како рекламен напис на горниот дел од екранот"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"Прикажи известувања"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"Сите известувања за <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"Приспособливи известувања"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="one">околу <xliff:g id="NUMBER_1">%d</xliff:g> известување дневно</item>
@@ -3477,6 +3561,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"Приспособливи известувања"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"Нема"</string>
     <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="3119843404577399036">"<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>
@@ -3538,8 +3623,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"Готово"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"Важност"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"Трепкај со сијаличката"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"Вибрации"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"Вибрации"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"Звук"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"Важно"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"Додајте во домот"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"Избриши"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"Преименувај"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"Име на распоредот"</string>
@@ -3593,6 +3680,10 @@
       <item quantity="one"><xliff:g id="NUM_PEOPLE">%d</xliff:g> друг</item>
       <item quantity="other"><xliff:g id="NUM_PEOPLE">%d</xliff:g> други</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Разговори"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"Од сите разговори"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"Од важните разговори"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"Не дозволувај разговори"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"Дозволи пораки"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"За да проверите дали дозволените пораки пуштаат звук, видете дали вашиот уред е поставен да ѕвони, вибрира или на тивко."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"За „<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>“, дојдовните пораки се блокирани. Може да ги приспособите поставките за да им дозволите на пријателите, семејството или другите контакти да ве добијат."</string>
@@ -3606,15 +3697,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"Никој"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"Не дозволувај повици"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"Не дозволувај пораки"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"Дозволи аларми"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"Аларми"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"Од тајмери, аларми, безбедносни системи и други апликации"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"аларми"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"Пуштај аудиовизуелни звуци"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"Звуци од аудиовизуелни содржини"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"Од видеа, игри и други аудиовизуелни содржини"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"аудиовизизуелни содржини"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"Дозволи звуци при допир"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"Звуци при допир"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"Од тастатурата и другите копчиња"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"звуци при допир"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"Дозволи потсетници"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"Потсетници"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"Од задачи и потсетници"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"потсетници"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"Дозволи настани"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"Настани"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"Од претстојните настани во календарот"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Дозволете апликациите да занемаруваат"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"Исклучоци на апликацијата"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3657,6 +3753,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"Дозволи известувањата стишени од „Не вознемирувај“ да го вклучат екранот"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"Поставки на известувања"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"Во ред"</string>
+    <string name="suggestion_button_close" msgid="6865170855573283759">"Затвори"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Испрати информации за уредот"</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"Внесете PIN на админстратор"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"Вклучено"</string>
@@ -3667,6 +3764,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Побарај PIN пред откачување"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Прашај за лозинка пред откачување"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Заклучи го уредот при откачување"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Потврдете го бришењето на SIM-картичката"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"Потврдете дека сте вие пред да избришете преземена SIM-картичка"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"Овој работен профил е управуван од:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"Управувано од <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(Експериментално)"</string>
@@ -3741,8 +3840,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"Сите апликации"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Инсталирани апликации"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Инстант апликации"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"Лични"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"Службени"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"Апликации: сите"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"Исклучени"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"Категории: итна важност"</string>
@@ -3754,6 +3851,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"Непозната апликација"</string>
     <string name="app_permissions" msgid="8666537659217653626">"Управник со дозволи"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"Апликации што користат <xliff:g id="APPS">%1$s</xliff:g>"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"Апликациите користат <xliff:g id="APPS">%1$s</xliff:g> и др."</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"Допрете за будење"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"Допрете двапати каде било на екранот за да го разбудите уредот"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"За отворање линкови"</string>
@@ -3765,9 +3863,14 @@
       <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> апликација отвора поддржани линкови</item>
       <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> апликации отвораат поддржани линкови</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"Отвори во апликацијава"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"Дозволете апликацијата да отвора поддржани линкови"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"Секогаш прашувај"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"Не отворај во апликацијава"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"Не дозволувајте апликацијата да отвора линкови"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="one">Апликацијата тврди дека може да отвори <xliff:g id="COUNT_1">%d</xliff:g> линк</item>
+      <item quantity="other">Апликацијата тврди дека може да отвори <xliff:g id="COUNT_1">%d</xliff:g> линкови</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"Апликацијата тврди дека може да ги отвора следниве линкови:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"Стандардно"</string>
     <string name="default_for_work" msgid="537558180548617528">"Стандардно за работа"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"Помош и гласовен запис"</string>
@@ -3911,8 +4014,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"Приказ врз други апликации"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Дозволи прикажување врз други апликации"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"Дозволете ѝ на апликација да се прикажува врз другите апликации што ги користите. Тоа може да го попречи користењето на другите апликации или да го промени начинот на кој се појавуваат или однесуваат."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"Пристап до сите датотеки"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"Дозволете пристап за управување со датотеки"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Дозволете апликацијава да ги чита, менува и брише сите датотеки на уредов или на поврзаните мемориски уреди. Ако се дозволи, апликацијата може да пристапува до датотеките без ваше изречно знаење."</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"Може да пристапува до сите датотеки"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"vr виртуелна реалност слушател стерео помошна услуга"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"дијалог прозорец системски предупредувања прикажување врз други апликации"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"Приказ врз други апликации"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"<xliff:g id="COUNT_0">%1$d</xliff:g> од <xliff:g id="COUNT_1">%2$d</xliff:g> аплик. имаат дозвола за прикажување врз други апликации"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"Апликации со дозвола"</string>
@@ -4078,6 +4184,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"Искористени: <xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g>"</string>
     <string name="data_overusage" msgid="3680477320458707259">"Надминат сообраќај: <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="data_remaining" msgid="6316251496381922837">"Уште <xliff:g id="ID_1">^1</xliff:g>"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"Графикон што го покажува потрошениот сообраќај помеѓу <xliff:g id="START_DATE">%1$s</xliff:g> и <xliff:g id="END_DATE">%2$s</xliff:g>."</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"Нема податоци за овој временски период"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="one">Преостанува %d ден</item>
       <item quantity="other">Преостануваат %d дена</item>
@@ -4141,14 +4249,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"големина на пакет"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"предупредување за известување"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"звук"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"вибрации"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"шема"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"стандардно"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"канал"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"нема"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"Рангираниот објект недостастасува."</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"Рангираниот објект не го содржи овој клуч."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"Тематски прекривки"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"Стандардни поставки за уредот"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"Исечок на екранот"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"исечок на екранот, сензор за носење"</string>
@@ -4237,8 +4341,12 @@
     <string name="information_label" msgid="6939310810756569298">"Информации"</string>
     <string name="low_label" msgid="6525629096999711220">"Ниска"</string>
     <string name="high_label" msgid="357503396626018487">"Висока"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"Повисоката чувствителност може да ја попречува функцијата за движења за апликација по рабовите на екранот."</string>
+    <string name="left_edge" msgid="1513576842959071849">"Лев раб"</string>
+    <string name="right_edge" msgid="1505309103265829121">"Десен раб"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"Повисоката чувствителност може да ја попречува функцијата за движења за апликација по рабовите на екранот."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"Чувствителност на задната страна"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"Поставки за движење"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"навигација со движење, чувствителност на задната страна, движење за назад"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"Допрете двапати за да го проверите телефонот"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"Допрете двапати за да го проверите таблетот"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"Допрете двапати за да го проверите уредот"</string>
@@ -4393,7 +4501,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"Активирајте обезбедување оператор"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"Ажурирање на режимот „Не вознемирувај“"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"Паузирајте ги известувањата за да останете фокусирани"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"Функцијава не е достапна на овој уред"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"Функцијата не е достапна"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"Функцијава е исклучена бидејќи го успорува телефонот"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"Присилување целосни мерења со GNSS"</string>
@@ -4403,20 +4510,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"Избери апликација овозможена за ANGLE"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"Нема поставена апликација овозможена за ANGLE"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"Апликација овозможена за ANGLE: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"Поставки за Game Driver"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"Изменете ги поставките за Game Driver"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"Кога Game Driver е вклучена, може да изберете да го користите ажурираниот драјвер за графика за апликациите инсталирани на уредот."</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"Овозможи за сите апликации"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"Изберете драјвер за графика"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"Стандардно"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"Game Driver"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"Прелиминарен драјвер"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"Системски драјвер за графика"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"Поставки за драјверот за графика"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"Изменете ги поставките за драјверот за графика"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"Кога има повеќе драјвери за графика, може да изберете да го користите ажурираниот драјвер за графика за апликациите инсталирани на уредот."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"Овозможи за сите апликации"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"Изберете драјвер за графика"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"Стандарден"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"Драјвер за игри"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"Драјвер за програмери"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Системски драјвер за графика"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Промени на компатибилноста на апликацијата"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Префрлете ги измените за компатибилност на апликацијата"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Стандардно овозможени промени"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Стандардно оневозможени промени"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"Поставката не е поддржана на телефонов"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"Поставката не е поддржана на таблетов"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"Поставката не е поддржана на уредов"</string>
@@ -4435,6 +4548,11 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"Уред"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Недостапно за време на повици"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"Недостапен"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"Додајте излези"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"Група"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"Избран е 1 уред"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"Избрани се <xliff:g id="COUNT">%1$d</xliff:g> уреди"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"Префрлање…"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Прифатете повик на"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Ова APN не може да се промени."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Подобрете го траењето на батеријата"</string>
@@ -4552,10 +4670,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Само една од преземените SIM-картички може да биде активна.\n\nАко се префрлите на <xliff:g id="CARRIER1">%1$s</xliff:g>, тоа нема да ја откаже вашата услуга на <xliff:g id="CARRIER2">%2$s</xliff:g>."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Префрли на <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Избриши ја SIM-картичката"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Да се избрише преземената SIM-картичка?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Ако ја избришете SIM-картичкава, услугата на <xliff:g id="CARRIER_0">%1$s</xliff:g> ќе се отстрани од уредов.\n\nУслугата за <xliff:g id="CARRIER_1">%2$s</xliff:g> нема да се откаже."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Избриши"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Се брише SIM…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Не може да се избрише SIM-картичката"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Оваа SIM-картичка не може да се избрише поради грешка.\n\nРестартирајте го уредот и обидете се повторно."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Претпочитан тип мрежа"</string>
@@ -4580,7 +4694,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Неважечки режим на мрежа <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Игнорирајте."</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Имиња на пристапни точки"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Недостапно кога сте поврзани на <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"Медицински информации, контакти за итни случаи"</string>
     <string name="see_more" msgid="7499355691042812723">"Видете повеќе"</string>
     <string name="see_less" msgid="2642392725363552793">"Види помалку"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"Уред за користење со <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
@@ -4589,11 +4702,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"Нешто се случи. Апликацијата го откажа барањето за избор на уред."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"Поврзувањето е успешно"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"Прикажи ги сите"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> поврзан уред</item>
-      <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> поврзани уреди</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"Нема уреди со Bluetooth"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"Се бара уредот…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"Се поврзува со уредот…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"Лева"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"Десна"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Футрола за полнење"</string>
@@ -4603,6 +4713,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"Недостапен во авионски режим"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"Наметни режим на работна површина"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Наметнете го експерименталниот режим на работна површина на секундарните екрани"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"Овозможете компатибилна големина во слободна форма"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"Дозволете апликациите со компатибилна големина да бидат во слободна форма"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Отфрли го наметнувањето темен режим"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"Ја отфрла функцијата за наметнување темен режим за да биде постојано вклучена"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"Приватност"</string>
@@ -4639,6 +4751,10 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Неодамна ја инсталиравте апликацијава."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Сменете го излезот"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Моментално се пушта на <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <!-- no translation found for media_output_disconnected_status (5567111639832431865) -->
+    <skip />
+    <!-- no translation found for media_output_switch_error_text (603563475910236831) -->
+    <skip />
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Важни информации"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"ПРОДОЛЖИ"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"НЕ, ФАЛА"</string>
@@ -4666,8 +4782,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"SIM-комбинација"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Информации за работните правила"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Вашиот администратор за ИТ управува со поставките"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"Ракувач со извештајот за грешки"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Одредува која апликација ќе ракува со кратенката за извештајот за грешки на уредот."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Лични"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"Работа"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"Стандардно за системот"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"Изборов веќе не е важечки. Обидете се повторно."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"Сопри го емитувањето"</string>
 </resources>
diff --git a/res/values-ml/arrays.xml b/res/values-ml/arrays.xml
index 90f5e2d..b46013d 100644
--- a/res/values-ml/arrays.xml
+++ b/res/values-ml/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"ഉടന്‍"</item>
     <item msgid="463591454172790676">"5 സെക്കൻഡ്"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"സാധൂകരിക്കരുത്"</item>
+    <item msgid="5703177653586269306">"സർട്ടിഫിക്കറ്റ് നിലകൾ അഭ്യർത്ഥിക്കുക"</item>
+    <item msgid="326388247868439528">"സർട്ടിഫിക്കറ്റ് നിലകൾ ആവശ്യമാണ്"</item>
+    <item msgid="1090956283885790552">"വിശ്വസനീയമല്ലാത്ത എല്ലാ സർട്ടിഫിക്കറ്റുകളുടെയും നിലകൾ ആവശ്യമാണ്"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"പുഷ് ബട്ടൺ"</item>
     <item msgid="2630618799033509548">"പിയർ ഉപകരണത്തിൽ നിന്നുള്ള പിൻ"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"ഒന്നുമില്ല"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"മുമ്പ് പങ്കിട്ട കീകളും Xauth പ്രമാണീകരണവും ഉപയോഗിക്കുന്ന IPSec VPN"</item>
     <item msgid="2484564813864139237">"സർട്ടിഫിക്കറ്റുകളും Xauth പ്രമാണീകരണവും ഉപയോഗിക്കുന്ന IPSec VPN"</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>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"ഒന്നുമില്ല"</item>
diff --git a/res/values-ml/config.xml b/res/values-ml/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-ml/config.xml
+++ b/res/values-ml/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-ml/strings.xml b/res/values-ml/strings.xml
index f8b7e32b..5986339 100644
--- a/res/values-ml/strings.xml
+++ b/res/values-ml/strings.xml
@@ -31,49 +31,17 @@
     <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="radio_info_data_connection_enable" msgid="7500945447906187613">"ഡാറ്റാ കണക്ഷൻ പ്രവർത്തനക്ഷമമാക്കുക"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"ഡാറ്റ കണക്ഷൻ പ്രവർത്തനരഹിതമാക്കുക"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"VoLTE പ്രൊവിഷൻ"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"വീഡിയോ കോളിംഗ് ഏർപ്പെടുത്തി"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"വൈഫൈ കോളിംഗ് ഏർപ്പെടുത്തി"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"EAB/സാന്നിധ്യം പ്രൊവിഷൻ ചെയ്‌തു"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"Cbrs ഡാറ്റ"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"DSDS പ്രവർത്തനക്ഷമമാക്കുക"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"ഉപകരണം റീസ്‌റ്റാർട്ട് ചെയ്യണോ?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"ഈ ക്രമീകരണം മാറ്റാൻ നിങ്ങളുടെ ഉപകരണം റീസ്‌റ്റാർട്ട് ചെയ്യേണ്ടതുണ്ട്."</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"റീസ്‌റ്റാർട്ട് ചെയ്യുക"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"റദ്ദാക്കുക"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"മൊബൈൽ റേഡിയോ പവർ"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"സിം വിലാസ പുസ്‌‌തകം കാണുക"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"സ്ഥിര ഡയലിംഗ് നമ്പറുകൾ കാണുക"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"സർവീസ് ഡയലിംഗ് നമ്പറുകൾ കാണുക"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"IMS സേവന നില"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"IMS നില"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"രജിസ്റ്റർ ചെയ്‌തു"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"രജിസ്‌റ്റർചെയ്‌തിട്ടില്ല"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"ലഭ്യം"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"ലഭ്യമല്ല"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"IMS രജിസ്ട്രേഷൻ: <xliff:g id="STATUS">%1$s</xliff:g>\nLTE വഴി ശബ്ദം: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nWiFi വഴി ശബ്ദം: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nവീഡിയോ കോളിംഗ്: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT ഇന്റര്‍ഫേസ്: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"അറ്റകുറ്റപ്പണിയിൽ"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"സേവനം ലഭ്യമല്ല"</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>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"നിഷ്ക്രിയം"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"റിംഗുചെയ്യുന്നു"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"കോൾ പുരോഗതിയിലാണ്"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"വിച്ഛേദിച്ചു"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"കണക്റ്റുചെയ്യുന്നു"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"കണക്റ്റുചെയ്‌തു"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"താൽക്കാലികമായി നിർത്തി"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"അജ്ഞാതം"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"pkts"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"ബൈറ്റുകൾ"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"USB സ്റ്റോറേജ്  അൺമൗണ്ടുചെയ്യുക"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"SD കാർഡ് അൺമൗണ്ടുചെയ്യുക"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"USB സ്റ്റോറേജ്  മായ്ക്കുക"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"സ്ക്രീനിലെ ടെക്സ്റ്റ് ചെറുതോ വലുതോ ആക്കുക."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"ചെറുതാക്കുക"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"വലുതാക്കുക"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"സാമ്പിൾ ടെക്‌സ്റ്റ്"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"ഓസ് നഗരത്തിലെ അതിശയിപ്പിക്കുന്ന മന്ത്രവാദി"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"അധ്യായം 11: ഓസ് എന്ന അത്ഭുതകരമായ മരതകനഗരം"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"ഈ ക്രമീകരണം മാറ്റാൻ നിങ്ങളുടെ ഉപകരണം റീസ്‌റ്റാർട്ട് ചെയ്യേണ്ടതുണ്ട്."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"റീസ്‌റ്റാർട്ട് ചെയ്യുക"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"റദ്ദാക്കുക"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"ലഭ്യമായ മീഡിയ ഉപകരണങ്ങൾ"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"ലഭ്യമായ കോൾ ഉപകരണങ്ങൾ"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"നിലവിൽ കണക്റ്റ് ചെയ്‍തവ"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"മീഡിയ ഉപകരണങ്ങൾ"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"കോൾ ഉപകരണങ്ങൾ"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"മറ്റ് ഉപകരണങ്ങൾ"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"സംരക്ഷിച്ച ഉപകരണങ്ങൾ"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"ജോടിയാക്കുന്നതിന് Bluetooth ഓണാക്കപ്പെടും"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"കണക്ഷൻ മുൻഗണനകൾ"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"നിങ്ങൾ ടൈപ്പുചെയ്‌ത പോർട്ട് സാധുവായതല്ല."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"ബ്രൗസർ HTTP പ്രോക്‌സി ഉപയോഗിക്കുന്നുവെങ്കിലും മറ്റ് അപ്ലിക്കേഷനുകൾ ഉപയോഗിക്കാനിടയില്ല."</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"PAC URL: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"നിലവിലെ subId:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"ഡിഫോൾട്ട് ഡാറ്റാ സിമ്മിൻ്റെ SubId:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"DL ബാന്‍ഡ്‍വിത്ത് (kbps):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"UL ബാന്‍ഡ്‍വിത്ത് (kbps):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"സെൽ ലൊക്കേഷൻ വിവരങ്ങൾ (അവസാനിപ്പിച്ചു):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"LTE ഫിസിക്കൽ ചാനൽ കോൺഫിഗറേഷൻ:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"സെൽ വിവരങ്ങൾ പുതുക്കിയെടുക്കൽ നിരക്ക്:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"എല്ലാ സെൽ അളവെടുക്കൽ വിവരങ്ങളും:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"ഡാറ്റ സേവനം:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"റോമിംഗ്:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"കോൾ റീഡയറക്‌ടുചെയ്യുക:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"ബൂട്ടിന് ശേഷമുള്ള PPP പുനഃക്രമീകരണ എണ്ണം:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"നിലവിലെ നെ‌റ്റ്‌വർക്ക്:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"സ്വീകരിച്ച ഡാറ്റ:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"ശബ്ദ സേവനം:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"സിഗ്‌നൽ ശക്തി:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"വോയ്‌സ് കോൾ നില:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"അയച്ച ഡാറ്റ:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"സന്ദേശം കാത്തിരിക്കുന്നു:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"ഫോൺ നമ്പർ"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"റേഡിയോ ബാൻഡ് തിരഞ്ഞെടുക്കുക"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"വോയ്സ് നെറ്റ്‌വർക്ക് തരം:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"ഡാറ്റ നെറ്റ്‌വർക്ക് തരം:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"ഫോൺ സൂചിക തിരഞ്ഞെടുക്കുക"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"തിരഞ്ഞെടുത്ത നെറ്റ്‌വർക്ക് തരം സജ്ജീകരിക്കുക:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"ഹോസ്റ്റുനാമം(www.google.com) IPv4 പിംഗുചെയ്യുക:"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"ഹോസ്റ്റുനാമം(www.google.com) IPv6 പിംഗുചെയ്യുക:"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"HTTP ക്ലയന്റ് പരിശോധന:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"പിംഗ് പരിശോധന റൺ ചെയ്യുക"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"അപ്‌ഡേറ്റ്  ചെയ്യുക"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"പുതുക്കുക"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"DNS പരിശോധന ടോഗിൾ ചെയ്യുക"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"OEM-നിർദ്ദിഷ്‌ട വിവരം/ക്രമീകരണങ്ങൾ"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"റേഡിയോ ബാൻഡ് മോഡ് സജ്ജമാക്കുക"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"ബാൻഡ് ലി‌സ്റ്റ് ലോഡുചെയ്യുന്നു…"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"സജ്ജമാക്കുക"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"പരാജയപ്പെട്ടു"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"വിജയകരം"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"USB കേബിൾ വീണ്ടും കണക്റ്റുചെയ്യുമ്പോൾ മാറ്റങ്ങൾ ബാധകമാകും."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"USB മാസ് സ്റ്റോറേജ്  പ്രവർത്തനക്ഷമമാക്കുക"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"മൊത്തം ബൈറ്റുകൾ:"</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"താഴേക്ക് നീക്കുക"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"ഭാഷ നീക്കംചെയ്യുക"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"പ്രവർത്തനം തിരഞ്ഞെടുക്കുക"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"ഉപകരണ വിവരം"</string>
     <string name="display_label" msgid="3056320781191343221">"സ്‌ക്രീൻ"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"ടാബ്‌ലെറ്റ് വിവരം"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"ഫോൺ വിവരം"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"USB സ്റ്റോറേജ്"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"SD കാർഡ്"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"പ്രോക്‌സി ക്രമീകരണങ്ങൾ"</string>
@@ -306,9 +234,6 @@
     <string name="airplane_mode" msgid="3196085857882526817">"ഫ്ലൈറ്റ് മോഡ്"</string>
     <string name="wireless_networks_settings_title" msgid="8557542379234105369">"വയർലസ്സും നെറ്റ്‌വർക്കും"</string>
     <string name="radio_controls_summary" msgid="9028430178697624501">"വൈഫൈ, ബ്ലൂടൂത്ത്, ഫ്ലൈറ്റ് മോഡ്, മൊബൈൽ നെറ്റ്‌വർക്കുകൾ, VPN-കൾ എന്നിവ നിയന്ത്രിക്കുക"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"മൊബൈൽ ഡാറ്റ"</string>
-    <string name="calls_title" msgid="6334813967619899114">"കോളുകൾ അനുവദിക്കുക"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"SMS സന്ദേശങ്ങൾ"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"മൊബൈൽ നെറ്റ്‌വർക്കിലൂടെയുള്ള ഡാറ്റ ഉപയോഗം അനുവദിക്കുക"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"റോമിംഗിലുള്ളപ്പോൾ ഡാറ്റ ഉപയോഗം അനുവദിക്കുക"</string>
     <string name="roaming" msgid="3055365654530847985">"റോമിംഗ്"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"റോമിംഗിൽ ഡാറ്റാ സേവനങ്ങളിലേക്ക് കണ‌ക്റ്റ് ചെയ്യുക"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"ഡാറ്റ റോമിംഗ് ഓഫുചെയ്‌തതിനൊപ്പം നിങ്ങളുടെ ഹോം നെറ്റ്‌വർക്കും നഷ്‌ടമായതിനാൽ നിങ്ങൾക്ക് ഡാറ്റ കണക്റ്റിവിറ്റി നഷ്‌ടപ്പെട്ടു."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"അത് ഓണാക്കുക"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"നിങ്ങളിൽ നിന്ന് ഗണ്യമായ നിരക്കുകൾ ഈടാക്കിയേക്കാം."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"നിങ്ങൾ ഡാറ്റ റോമിംഗ് അനുവദിക്കുമ്പോൾ, കാര്യമായ റോമിംഗ് നിരക്കുകൾക്ക് ഇടയാക്കാം!\n\nഈ ടാബ്‌ലെറ്റിലെ എല്ലാ ഉപയോക്താക്കളെയും ഈ ക്രമീകരണം ബാധിക്കുന്നു."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"നിങ്ങൾ ഡാറ്റ റോമിംഗ് അനുവദിക്കുമ്പോൾ, കാര്യമായ റോമിംഗ് നിരക്കുകൾക്ക് ഇടയാക്കാം!\n\nഈ ഫോണിലെ എല്ലാ ഉപയോക്താക്കളെയും ഈ ക്രമീകരണം ബാധിക്കുന്നു."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"റോമിംഗ് നിരക്കുകൾ ബാധകമായേക്കാം."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"നിങ്ങൾ ഡാറ്റ റോമിംഗ് അനുവദിക്കുമ്പോൾ റോമിംഗ് നിരക്കുകൾ ബാധകമായേക്കാം.\n\nഈ ക്രമീകരണം ഈ ടാബ്‌ലെറ്റിലെ എല്ലാ ഉപയോക്താക്കളെയും ബാധിക്കുന്നു."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"നിങ്ങൾ ഡാറ്റ റോമിംഗ് അനുവദിക്കുമ്പോൾ റോമിംഗ് നിരക്കുകൾ ബാധകമായേക്കാം.\n\nഈ ക്രമീകരണം ഈ ഫോണിലെ എല്ലാ ഉപയോക്താക്കളെയും ബാധിക്കുന്നു."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"ഡാറ്റ റോമിംഗ് അനുവദിക്കണോ?"</string>
     <string name="networks" msgid="5184501333492775095">"ഓപ്പറേറ്റർ തിരഞ്ഞെടുക്കൽ"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"ഒരു നെ‌റ്റ്‌വർക്ക് ഓപ്പറേറ്ററെ തിരഞ്ഞെടുക്കുക"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"അഡ്‌മിൻ പ്രവർത്തനരഹിതമാക്കി"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"ലോക്ക്‌ഡൗൺ ഓപ്‌ഷൻ കാണിക്കുക"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"ലോക്ക് സ്ക്രീനിലെ Smart Lock, ബയോമെട്രിക്‌ അൺലോക്കിംഗ്, അറിയിപ്പുകൾ എന്നിവ ഓഫാക്കുന്ന പവർ ബട്ടൺ ഓപ്‌ഷൻ പ്രദർശിപ്പിക്കുക"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"വിശ്വസ്‌ത ഏജൻ്റുമാർക്കേ അൺലോക്ക് വിപുലീകരിക്കാനാവൂ"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"പ്രവർത്തനക്ഷമമാക്കിയാൽ, വിശ്വസ്‌ത ഏജൻ്റുമാർ നിങ്ങളുടെ ഉപകരണം കൂടുതൽ നേരം അൺലോക്ക് ചെയ്‌ത നിലയിൽ സൂക്ഷിക്കും, പക്ഷെ ലോക്ക് ചെയ്‌ത ഉപകരണം അൺലോക്ക് ചെയ്യാനാവില്ല."</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"വിശ്വാസം നഷ്‌ടപ്പെടുമ്പോൾ, സ്‌ക്രീൻ ലോക്കാവുന്നു"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"പ്രവർത്തനക്ഷമമാക്കിയാൽ, അവസാനത്തെ വിശ്വസ്‌ത ഏജന്റിന് വിശ്വാസം നഷ്‌ടപ്പെടുമ്പോൾ, ഉപകരണം ലോക്കാവും"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"ഒന്നുമില്ല"</string>
@@ -390,7 +313,7 @@
     <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="disabled_by_administrator_summary" msgid="4181894719300350343">"അഡ്‌മിൻ പ്രവർത്തനരഹിതമാക്കി"</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>
@@ -693,7 +616,6 @@
       <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> അക്കങ്ങളേക്കാൾ കുറവായിരിക്കണം</item>
       <item quantity="one"><xliff:g id="NUMBER_0">%d</xliff:g> അക്കത്തിനേക്കാൾ കുറവായിരിക്കണം</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"0 മുതൽ 9 വരെയുള്ള അക്കങ്ങൾ മാത്രം അടങ്ങിയിരിക്കണം"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"ഉപകരണ അഡ്‌മിൻ സമീപകാലത്തുള്ള പിൻ ഉപയോഗിക്കുന്നത് അനുവദിക്കുന്നില്ല"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"നിങ്ങളുടെ ഐടി അഡ്‌മിൻ സാധാരണ പിന്നുകൾ ബ്ലോക്ക് ചെയ്‌തിട്ടുണ്ട്. മറ്റൊരു പിൻ പരീക്ഷിക്കുക."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"ഇതിൽ അസാധുവായൊരു പ്രതീകം ഉണ്ടായിരിക്കാൻ പാടില്ല"</string>
@@ -724,6 +646,10 @@
       <item quantity="other">കുറഞ്ഞത് അക്ഷരമല്ലാത്ത <xliff:g id="COUNT">%d</xliff:g> പ്രതീകങ്ങളെങ്കിലും അടങ്ങിയിരിക്കണം</item>
       <item quantity="one">കുറഞ്ഞത് അക്ഷരമല്ലാത്ത ഒരു പ്രതീകമെങ്കിലും അടങ്ങിയിരിക്കണം</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="other">കുറഞ്ഞത് സംഖ്യയല്ലാത്ത <xliff:g id="COUNT">%d</xliff:g> പ്രതീകങ്ങളെങ്കിലും അടങ്ങിയിരിക്കണം</item>
+      <item quantity="one">കുറഞ്ഞത് സംഖ്യയല്ലാത്ത ഒരു പ്രതീകമെങ്കിലും അടങ്ങിയിരിക്കണം</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"ഒരു സമീപകാല പാസ്‌വേഡ് ഉപയോഗിക്കാൻ ഉപകരണ അഡ്‌മിൻ അനുവദിക്കുന്നില്ല"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"നിങ്ങളുടെ IT അഡ്‌മിൻ സാധാരണ പാസ്‍വേഡുകൾ ബ്ലോക്ക് ചെയ്‌തിട്ടുണ്ട്. മറ്റൊരു പാസ്‍വേഡ് പരീക്ഷിക്കുക."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"അക്കങ്ങൾ ആരോഹണ ക്രമത്തിലോ അവരോഹണ ക്രമത്തിലോ അനുക്രമമായോ നൽകുന്നത് അനുവദനീയമല്ല"</string>
@@ -837,19 +763,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2.4 GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"സൈൻ ഇൻ ചെയ്യുക"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"സൈറ്റ് തുറക്കുക"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"<xliff:g id="REMAINING_TIME">%1$s</xliff:g> ശേഷിക്കുന്നു"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"<xliff:g id="EXPIRY_TIME">%1$s</xliff:g>-ന് കാലഹരണപ്പെടും"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"നെറ്റ്‌വർക്കിലേക്ക് സൈൻ ഇൻ ചെയ്യാൻ ഇവിടെ ടാപ്പ് ചെയ്യുക"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"വൈഫൈ ഓഫാക്കാൻ <xliff:g id="REQUESTER">%s</xliff:g> താൽപ്പര്യപ്പെടുന്നു"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"വൈഫൈ ഓഫാക്കാൻ <xliff:g id="REQUESTER">%s</xliff:g> താൽപ്പര്യപ്പെടുന്നു"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"ഡീബഗ് ചെയ്യാവുന്ന ആപ്പുകളുടെ ബൈറ്റ്‌കോഡ് പരിശോധിക്കൂ"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"ഡീബഗ്ഗ് ചെയ്യാവുന്ന ആപ്പുകൾക്കായി ബൈറ്റ്‌കോഡ് പരിശോധിക്കാൻ ART-യെ അനുവദിക്കുക"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"പുതുക്കൽ നിരക്ക് കാണിക്കൂ"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"നിലവിലെ ഡിസ്‌പ്ലേ പുതുക്കൽ നിരക്ക് കാണിക്കൂ"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"ടാബ്‌ലെറ്റ് മറ്റൊരു ഉപകരണത്തിൽ സ്‌പർശിക്കുമ്പോൾ ഡാറ്റ കൈമാറ്റം അനുവദിക്കുക"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"ഫോൺ മറ്റൊരു ഉപകരണത്തെ സ്‌പർശിക്കുമ്പോൾ ഡാറ്റാ കൈമാറ്റം അനുവദിക്കുക"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"ടാബ്‌ലെറ്റ് NFC ഉപകരണത്തിൽ സ്‌പർശിക്കുമ്പോൾ ഡാറ്റ കെെമാറ്റം അനുവദിക്കുക"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"ഫോൺ NFC ഉപകരണത്തിൽ സ്‌പർശിക്കുമ്പോൾ ഡാറ്റ കെെമാറ്റം അനുവദിക്കുക"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"NFC ഓണാക്കുക"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"ഈ ഉപകരണത്തിനും മറ്റേതെങ്കിലും ചുറ്റുവട്ട ഉപകരണങ്ങൾക്കും അല്ലെങ്കിൽ പേയ്മെന്റ് ടെർമിനലുകളും ആക്സസ്സ് റീഡറുകളും ഇന്ററാക്ടീവ് പരസ്യങ്ങളും അല്ലെങ്കിൽ ടാഗുകളും പോലുള്ള ലക്ഷ്യങ്ങൾക്കും ഇടയിൽ NFC, വിവരങ്ങൾ കൈമാറുന്നു."</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"സുരക്ഷിത NFC"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFC-നായി ഉപകരണം അൺലോക്ക് ചെയ്യേണ്ടതുണ്ട്"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"NFC പേയ്മെന്റും ട്രാൻസിറ്റ് ഉപയോഗവും സ്‌ക്രീൻ അൺലോക്ക് ചെയ്‌ത സമയത്ത് മാത്രം അനുവദിക്കുക"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android ബീം"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"ആപ്പിന്‍റെ ഉള്ളടക്കം NFC കൈമാറ്റത്തിന് തയ്യാർ"</string>
@@ -923,8 +855,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"ഓണാക്കുക"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"വൈഫൈ സ്‍കാനിംഗ് ഓണാക്കി"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"വിപുലമായ ഓപ്ഷനുകൾ"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"വിപുലമായ ഓപ്‌ഷനുകളുടെ ഡ്രോപ്പ് ഡൗൺ പട്ടിക. ചുരുക്കുന്നതിന് രണ്ടുതവണ ടാപ്പുചെയ്യുക."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"വിപുലമായ ഓപ്‌ഷനുകളുടെ ഡ്രോപ്പ് ഡൗൺ പട്ടിക. വികസിപ്പിക്കുന്നതിന് രണ്ടുതവണ ടാപ്പുചെയ്യുക."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"ഡ്രോപ്പ് ഡൗൺ പട്ടികയുടെ വിപുലമായ ഓപ്‌ഷനുകൾ"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"വികസിപ്പിക്കുക"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"നെറ്റ്‌വർക്ക് പേര്"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"SSID നൽകുക"</string>
     <string name="wifi_security" msgid="9095934643631406913">"സുരക്ഷ"</string>
@@ -934,6 +866,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"നില"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"പ്രക്ഷേപണ ലിങ്കിന്റെ വേഗത"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"സ്വീകരണ ലിങ്കിന്റെ വേഗത"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"ലിങ്ക് വേഗത"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"ഫ്രീക്വൻസി"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"IP വിലാസം"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"ഇതുവഴി സംരക്ഷിച്ചു"</string>
@@ -941,6 +874,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"EAP രീതി"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"ഘട്ടം 2 പ്രമാണീകരണം"</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>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"ഉപയോക്തൃ സർട്ടിഫിക്കറ്റ്"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"ഐഡന്റിറ്റി"</string>
@@ -957,6 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"വൈഫൈ ഹോട്ട്‌സ്‌പോട്ടിനായി കുറഞ്ഞത് ഒരു ബാൻഡ് എങ്കിലും തിരഞ്ഞെടുക്കുക:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"IP ക്രമീകരണം"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"സ്വകാര്യത"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"സബ്‌സ്‌ക്രിപ്‌ഷൻ"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"സബ്‌സ്‌ക്രിപ്‌ഷൻ കാണുകയോ മാറ്റുകയോ ചെയ്യുക"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"ക്രമരഹിതമായ MAC"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"ഒരു ഉപകരണം ചേർക്കുക"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"“<xliff:g id="SSID">%1$s</xliff:g>” എന്നതിലേക്ക് ഉപകരണം ചേർക്കാൻ,  ചുവടെയുള്ള QR കോഡിലേക്ക് കേന്ദ്രീകരിക്കുക"</string>
@@ -966,12 +902,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"വൈഫൈ പങ്കിടുക"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"“<xliff:g id="SSID">%1$s</xliff:g>” എന്നതിലേക്ക് കണക്‌റ്റ് ചെയ്യാൻ ഈ QR കോഡ് സ്‌കാൻ ചെയ്യുകയും പാസ്‌വേഡ് പങ്കിടുകയും ചെയ്യുക"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"“<xliff:g id="SSID">%1$s</xliff:g>\" എന്നതിലേക്ക് കണക്‌റ്റ് ചെയ്യാൻ ഈ QR കോഡ് സ്‌കാൻ ചെയ്യുക"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"QR കോഡ് റീഡ് ചെയ്യാനായില്ല. കോഡ് വീണ്ടും മധ്യത്തിലാക്കി വീണ്ടും ശ്രമിക്കുക"</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"വീണ്ടും ശ്രമിക്കുക. പ്രശ്‌നം തുടരുകയാണെങ്കിൽ, ഉപകരണ നിർമ്മാതാവിനെ ബന്ധപ്പെടുക"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"എന്തോ കുഴപ്പമുണ്ടായി"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"ഉപകരണം പ്ലഗിൻ ചെയ്‌തെന്നും, ചാർജ്ജ് ചെയ്‌തെന്നും, ഓണാണെന്നും ഉറപ്പാക്കുക"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"ഉപകരണം പ്ലഗിൻ ചെയ്‌തെന്നും, ചാർജ്ജ് ചെയ്‌തെന്നും, ഓണാണെന്നും ഉറപ്പാക്കുക. പ്രശ്‌നം തുടരുകയാണെങ്കിൽ, ഉപകരണ നിർമ്മാതാവിനെ ബന്ധപ്പെടുക"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"ഈ ഉപകരണം \"<xliff:g id="SSID">%1$s</xliff:g>\" ചേർക്കുന്നതിനെ പിന്തുണയ്ക്കുന്നില്ല"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"ഉപകരണം, വൈഫൈ ആക്സസ് പോയിന്റിന്റെ/റൂട്ടറിന്റെ അരികിലേക്ക് നീക്കി ശ്രമിക്കുക"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"പാസ്‌വേഡ് പരിശോധിച്ച് വീണ്ടും ശ്രമിക്കുക"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"ഉപകരണ നിർമ്മാതാവുമായി ബന്ധപ്പെടുക"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"കണക്ഷൻ പരിശോധിച്ച് വീണ്ടും ശ്രമിക്കുക"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"നെറ്റ്‌വർക്ക് തിരഞ്ഞെടുക്കുക"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"ഉപകരണം കണക്റ്റ് ചെയ്യാൻ, ഒരു നെറ്റ്‌വർക്ക് തിരഞ്ഞെടുക്കുക"</string>
@@ -984,11 +922,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"ഈ ഉപകരണവുമായി Wi‑Fi പങ്കിടുന്നു…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"കണക്‌റ്റ് ചെയ്യുന്നു…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"ഹോട്ട്‌സ്പോട്ട് പങ്കിടുക"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"ഇത് നിങ്ങളാണെന്ന് പരിശോധിച്ചുറപ്പിക്കുക"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"ഇത് നിങ്ങളാണെന്ന് പരിശോധിച്ചുറപ്പിക്കൂ"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"വൈഫൈ പാസ്‌വേഡ്: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"ഹോട്ട്‌സ്‌പോട്ടിന്റെ പാസ്‌വേഡ്: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"സ്വയമേവ കണ‌ക്റ്റ് ചെയ്യുക"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"ഈ നെറ്റ്‌വർക്കിന് സമീപമെത്തുമ്പോൾ സ്വയമേവ കണക്‌റ്റ് ചെയ്യാൻ ഫോണിനെ അനുവദിക്കുക"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"ഈ നെറ്റ്‌വർക്കിന് സമീപമെത്തുമ്പോൾ സ്വയമേവ കണക്‌റ്റ് ചെയ്യാൻ ടാബ്‌ലെറ്റിനെ അനുവദിക്കുക"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"ഉപകരണം ചേർക്കുക"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"ഈ നെറ്റ്‌വർക്കിലേക്ക് ഒരു ഉപകരണം ചേർക്കാൻ ഒരു QR കോഡ് ഉപയോഗിക്കൂ"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"QR കോഡ് സാധുവായ ഫോർമാറ്റിലല്ല"</string>
     <string name="retry" msgid="7542103800274026915">"വീണ്ടും ശ്രമിക്കുക"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"മറ്റ് ഉപകരണ ഉപയോക്താക്കളുമായി പങ്കിടുക"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(മാറ്റം വരുത്തിയിട്ടില്ല)"</string>
@@ -1000,6 +942,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"സർട്ടിഫിക്കറ്റൊന്നും വ്യക്തമാക്കിയിട്ടില്ല. നിങ്ങളുടെ കണക്ഷൻ സ്വകാര്യമായിരിക്കുകയില്ല."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"നെറ്റ്‌വർക്കിന്റെ പേര് ദൈർഘ്യമേറിയതാണ്."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"ഒരു ഡൊമെയ്ൻ വ്യക്തമാക്കിയിരിക്കണം."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"സർട്ടിഫിക്കറ്റ് ആവശ്യമാണ്."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"WPS ലഭ്യമാണ്"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (WPS ലഭ്യമാണ്)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"കാരിയർ വൈഫൈ നെറ്റ്‌വർക്ക്"</string>
@@ -1051,7 +994,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"വിപുലമായ വൈഫൈ"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"MAC വിലാസം"</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_ip_address_title" msgid="4265355419782184514">"IP വിലാസം"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"നെറ്റ്‌വർക്ക് വിശദാംശങ്ങൾ"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"സബ്‌നെറ്റ് മാസ്‌ക്"</string>
@@ -1103,7 +1047,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"നിങ്ങളുടെ മറ്റ് ഉപകരണങ്ങൾക്കായി ഒരു വൈഫൈ നെറ്റ്‌വർക്ക് സൃഷ്ടിക്കുന്നതിന് ഹോട്ട്‌സ്പോട്ട് ഉപയോഗിക്കുക. ഹോട്ട്‌സ്പോട്ട് ഇന്‍റർനെറ്റ് നൽകുന്നത് നിങ്ങളുടെ മൊബൈൽ ഡാറ്റാ കണക്ഷൻ ഉപയോഗിച്ചുകൊണ്ടാണ്. അധിക മൊബൈൽ ഡാറ്റാ നിരക്കുകൾ ബാധകമായേക്കാം."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"ചുറ്റുവട്ടത്തുള്ള ഉപകരണങ്ങളുമായി ഉള്ളടക്കം പങ്കിടുന്നതിന് ആപ്പുകൾക്ക് ഹോട്ട്‌സ്പോട്ട് സൃഷ്ടിക്കാൻ കഴിയും."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"ഹോട്ട്‌സ്‌പോട്ട് സ്വയമേവ ഓഫാക്കുക"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"ഉപകരണങ്ങളൊന്നും കണക്‌റ്റ് ചെയ്‌തില്ലെങ്കിൽ വൈഫൈ ഹോട്ട്‌സ്‌പോട്ട് ഓഫാക്കപ്പെടും"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"ഒരു ഉപകരണവും കണക്റ്റ് ചെയ്യാതിരിക്കുമ്പോൾ"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"ഹോട്ട്‌സ്പോട്ട് ഓണാക്കുന്നു…"</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"ഹോട്ട്‌സ്പോട്ട് ഓഫാക്കുന്നു…"</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> സജീവമാണ്"</string>
@@ -1112,6 +1056,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"വൈഫൈ ഹോട്ട്‌സ്‌പോട്ട് സജ്ജീകരണം"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"AndroidAP WPA2 PSK ഹോട്ട്‌സ്‌പോട്ട്"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"AndroidHotspot"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"ഈ നെറ്റ്‌വർക്ക് സംരക്ഷിക്കണോ?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"നെറ്റ്‌വർക്ക് നിങ്ങളുടെ ഫോണിൽ സംരക്ഷിക്കാൻ <xliff:g id="APPNAME">%1$s</xliff:g> ആഗ്രഹിക്കുന്നു"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"ഒരു നെറ്റ്‌വർക്ക് നിങ്ങളുടെ ടാബ്‌ലെറ്റിൽ സംരക്ഷിക്കാൻ <xliff:g id="APPNAME">%1$s</xliff:g> താൽപ്പര്യപ്പെടുന്നു"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"സംരക്ഷിക്കുന്നു…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"സംരക്ഷിച്ചു"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"സംരക്ഷിക്കാൻ കഴിയില്ല. വീണ്ടും ശ്രമിക്കുക."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"നെറ്റ്‌വർക്കുകൾ സംരക്ഷിക്കണോ?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"ഈ നെറ്റ്‌വർക്കുകൾ നിങ്ങളുടെ ഫോണിൽ സംരക്ഷിക്കാൻ <xliff:g id="APPNAME">%1$s</xliff:g> ആഗ്രഹിക്കുന്നു"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"ഈ നെറ്റ്‌വർക്കുകൾ നിങ്ങളുടെ ടാബ്‌ലെറ്റിൽ സംരക്ഷിക്കാൻ <xliff:g id="APPNAME">%1$s</xliff:g> താൽപ്പര്യപ്പെടുന്നു"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"<xliff:g id="NUMBER">%d</xliff:g> നെറ്റ്‌വർക്കുകൾ സംരക്ഷിക്കുന്നു…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"സംരക്ഷിച്ച നെറ്റ്‌വർക്കുകൾ"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"വൈഫൈ കോളിംഗ്"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"വൈഫൈയിലൂടെ കോളുകൾ ദീർഘിപ്പിക്കുക"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"കവറേജ് വർദ്ധിപ്പിക്കാൻ വൈഫൈ കോളിംഗ് ഓണാക്കുക"</string>
@@ -1138,16 +1093,18 @@
     <string name="emergency_address_title" msgid="3490633500025717573">"അടിയന്തര വിലാസം"</string>
     <string name="emergency_address_summary" msgid="3022628750270626473">"വൈഫൈ ഉപയോഗിച്ച് നിങ്ങളൊരു അടിയന്തര കോൾ ചെയ്യുമ്പോൾ, നിങ്ങളുടെ ലൊക്കേഷനായി ഉപയോഗിക്കപ്പെടും"</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>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"വൈഫൈ കോളിംഗ് സജീവമാക്കുക"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"വൈഫൈ കോളിംഗ് ഓണാക്കുക"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"%1$s-ൽ വൈഫൈ കോളിംഗ് പിന്തുണയ്ക്കുന്നില്ല"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"<xliff:g id="SSID">%1$s</xliff:g> എന്നതിൽ നിന്ന് വിച്ഛേദിച്ചു"</string>
     <string name="carrier" msgid="1755020806290963951">"കാരിയര്‍"</string>
     <string name="display_settings_title" msgid="626835071804834218">"ഡിസ്പ്ലേ"</string>
     <string name="sound_settings" msgid="5514582720435174014">"ശബ്‌ദം"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"വോളിയം"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"സംഗീത ഇഫക്‌റ്റുകൾ"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"റിംഗ് വോളിയം"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"റിംഗ്, അറിയിപ്പ് ശബ്‌ദം"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"നിശബ്‌ദമായിരിക്കുമ്പോൾ വൈബ്രേറ്റുചെയ്യുക"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"സ്ഥിര അറിയിപ്പ് ശബ്‌ദം"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"റിംഗ്ടോൺ"</string>
@@ -1272,13 +1229,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"ഷെഡ്യൂൾ ചെയ്യുക"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"ഒന്നും ചെയ്യേണ്ട"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"അസ്തമയം മുതൽ ഉദയം വരെ ഓണാക്കുന്നു"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"ഇഷ്ടാനുസൃത സമയത്ത് ഓണാക്കുന്നു"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"നില"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"ഓഫാക്കുക / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"ഒരിക്കലും സ്വയമേവ ഓണാകില്ല"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"സൂര്യാസ്തമയ സമയത്ത് സ്വയമേവ ഓണാക്കും"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"<xliff:g id="ID_1">%1$s</xliff:g>-ന് സ്വയമേവ ഓണാകും"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"ഓണാക്കുക / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"ഒരിക്കലും സ്വയമേവ ഓഫാകില്ല"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"സൂര്യോദയ സമയത്ത് സ്വമേധയാ ഓഫാകും"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"<xliff:g id="ID_1">%1$s</xliff:g>-ന് സ്വയമേവ ഓഫാകും"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"<xliff:g id="ID_1">%1$s</xliff:g> വരെ ഓണാക്കുക"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"<xliff:g id="ID_1">%1$s</xliff:g> വരെ ഓഫാക്കുക"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"ചില സ്ക്രീനുകളിൽ ബാറ്ററി കൂടുതൽ നേരം നിലനിൽക്കുന്നതിന് ഡാർക്ക് തീം ഒരു ബ്ലാക്ക് പശ്ചാത്തലം ഉപയോഗിക്കുന്നു. സ്ക്രീൻ ഓഫാകുന്നത് വരെ ഓണാകുന്നതിന് കാത്തിരിക്കാൻ ഡാർക്ക് തീം ഷെഡ്യൂൾ ചെയ്യുന്നു."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"സ്ക്രീൻ ടൈംഔട്ട്"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"സ്ക്രീൻ ഓഫാക്കുന്നു"</string>
@@ -1290,7 +1252,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"വാൾപേപ്പർ മാറ്റുക"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"നിങ്ങളുടെ സ്ക്രീൻ വ്യക്തിഗതമാക്കുക"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"ഇവിടുന്ന് വാൾപേപ്പർ തിരഞ്ഞെടുക്കൂ"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"Pixel ഇഷ്‌ടാനുസൃതമാക്കുക"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"നിങ്ങളുടെ ഫോൺ ഇഷ്‌ടാനുസൃതമാക്കുക"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"വ്യത്യസ്‌ത സ്റ്റൈലുകളും വാൾപേപ്പറുകളും മറ്റും പരീക്ഷിക്കൂ"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"സ്ക്രീൻ സേവർ"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"ചാർജ് ചെയ്യുമ്പോൾ അല്ലെങ്കിൽ ഡോക്ക് ചെയ്യുമ്പോൾ"</string>
@@ -1379,6 +1341,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"USB സ്റ്റോറേജ്  അൺമൗണ്ടുചെയ്യുക, ലഭ്യമായ സ്റ്റോറേജ്  കാണുക"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"SD കാർഡ് അൺമൗണ്ടുചെയ്യുക, ലഭ്യമായ സ്റ്റോറേജ്  കാണുക"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (സിം സ്ലോട്ട് %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"കാണുന്നതിന്, സംരക്ഷിച്ച നെറ്റ്‌വർക്ക് തിരഞ്ഞെടുക്കുക"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"ഫോൺ നമ്പർ"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (സിം സ്ലോട്ട് %1$d)"</string>
@@ -1405,6 +1368,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"റോമിംഗ്"</string>
     <string name="status_operator" msgid="4335640583552058491">"നെറ്റ്‌വർക്ക്"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"വൈഫൈ MAC വിലാസം"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"ഉപകരണ വെെഫെെ MAC വിലാസം"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"Bluetooth വിലാസം"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"സീരിയല്‍ നമ്പര്‍"</string>
     <string name="status_up_time" msgid="1274778533719495438">"പ്രവർത്തിക്കുന്ന സമയം"</string>
@@ -1617,6 +1581,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"സ്ഥിര APN ക്രമീകരണങ്ങൾ പുനഃസജ്ജീകരിക്കൽ പൂർത്തിയാക്കി."</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"ഓപ്‌ഷനുകള്‍ റീസെറ്റ് ചെയ്യുക"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"നെറ്റ്‌വർക്കോ ആപ്പുകളോ ഉപകരണമോ റീസെറ്റുചെയ്യാം"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"ആപ്പുകൾ റീസെറ്റ് ചെയ്യാനാകും"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"വൈഫൈ, മൊബൈൽ, Bluetooth റീസെറ്റ് ചെയ്യുക"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"ഇങ്ങനെ ചെയ്താൽ ഇനിപ്പറയുന്നവ ഉൾപ്പെടെയുള്ള എല്ലാ നെറ്റ്‍വർക്ക് ക്രമീകരണവും പുനഃക്രമീകരിക്കപ്പെടും:\n\n"<li>"വൈഫൈ"</li>\n<li>"മൊബൈൽ ഡാറ്റ"</li>\n<li>"Bluetooth"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"ഡൗൺലോഡ് ചെയ്‌ത SIM-കൾ മായ്ക്കൂ"</string>
@@ -1666,6 +1631,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"ഹോട്ട്‌സ്‌പോട്ട് ഓണാണ്"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"ടെതറിംഗ്"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"ഡാറ്റ സേവർ ഓണായിരിക്കുന്ന സമയത്ത് പോർട്ടബിൾ ഹോട്ട്സ്പോട്ടുകൾ ടെതർ ചെയ്യാനോ ഉപയോഗിക്കാനോ കഴിയില്ല"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"ഹോട്ട്‌സ്‌പോട്ട് മാത്രം"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"USB മാത്രം"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"Bluetooth മാത്രം"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"ഹോട്ട്‌സ്‌പോട്ട്, USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"ഹോട്ട്‌സ്‌പോട്ട്, Bluetooth"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB, Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"ഹോട്ട്‌സ്‌പോട്ട്, USB, Bluetooth"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"മറ്റ് ഉപകരണങ്ങളുമായി ഇന്‍റർനെറ്റ് പങ്കിടുന്നില്ല"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"ടെതറിംഗ്"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"വൈഫൈ ഹോട്ട്‌സ്‌പോട്ട് ഉപയോഗിക്കരുത്"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"USB വഴി മാത്രം ഇന്റർനെറ്റ് പങ്കിടുക"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Bluetooth വഴി മാത്രം ഇന്റർനെറ്റ് പങ്കിടുക"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"USB, Bluetooth എന്നിവ വഴി മാത്രം ഇന്റർനെറ്റ് പങ്കിടുക"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB ടെതറിംഗ്"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"USB വഴി, ഫോണിന്‍റെ ഇന്‍റർനെറ്റ് കണക്ഷൻ പങ്കിടുക"</string>
@@ -1756,9 +1734,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"സുരക്ഷാ വിവരം"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"നിങ്ങൾക്കൊരു ഡാറ്റ കണ‌ക്ഷൻ ഇല്ല. ഈ വിവരം ഇപ്പോൾ കാണാൻ, ഇന്‍റ‌ർനെറ്റിൽ കണ‌ക്‌റ്റ് ചെ‌യ്‌തിരിക്കുന്ന ഏതൊരു കമ്പ്യൂട്ടറിൽ നിന്നും %s എന്നതിലേക്ക് പോകുക."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"ലോഡുചെയ്യുന്നു..."</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"പിൻ ഉപയോഗിക്കുക"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"പാറ്റേൺ ഉപയോഗിക്കുക"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"പാസ്‌വേഡ് ഉപയോഗിക്കുക"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"സ്‌ക്രീൻ ലോക്ക് സജ്ജീകരിക്കുക"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"സുരക്ഷയ്‌ക്കായി, പാസ്‌വേഡ് സജ്ജീകരിക്കുക"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"ഫിംഗർപ്രിന്റ് ഉപയോഗിക്കാൻ, പാസ്‌വേഡ് സജ്ജമാക്കുക"</string>
@@ -1767,8 +1742,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"ഫിംഗർപ്രിന്റ് ഉപയോഗിക്കാൻ, പിൻ സജ്ജമാക്കുക"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"സുരക്ഷയ്‌ക്കായി, പാറ്റേൺ സജ്ജീകരിക്കുക"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"നിങ്ങളുടെ പാസ്‌വേഡ് വീണ്ടും നൽകുക"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"നിങ്ങളുടെ ഔദ്യോഗിക പാസ്‌വേഡ് നൽകുക"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"നിങ്ങളുടെ പാറ്റേൺ സ്ഥിരീകരിക്കുക"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"ഔദ്യോഗിക പാറ്റേൺ നൽകുക"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"നിങ്ങളുടെ പിൻ വീണ്ടും നൽകുക"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"നിങ്ങളുടെ ഔദ്യോഗിക പിൻ നൽകുക"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"പാസ്‌വേഡുകൾ പൊരുത്തപ്പെടുന്നില്ല"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"പിൻ നമ്പറുകൾ പൊരുത്തപ്പെടുന്നില്ല"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"നിങ്ങളുടെ പാറ്റേൺ വീണ്ടും വരയ്ക്കുക"</string>
@@ -1779,6 +1757,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"മുഖം തിരിച്ചറിഞ്ഞുള്ള അൺലോക്ക് ബാക്കപ്പ് സജ്ജീകരിക്കൂ"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"മുഖം തിരിച്ചറിഞ്ഞുള്ള അൺലോക്ക് ബാക്കപ്പ് സജ്ജീകരിക്കൂ"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"മുഖം തിരിച്ചറിഞ്ഞുള്ള അൺലോക്ക് ബാക്കപ്പ് സജ്ജീകരിക്കൂ"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"പാസ്‌വേഡ് മറന്നോ?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"പാറ്റേൺ മറന്നോ?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"പിൻ മറന്നോ?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"തുടരാൻ നിങ്ങളുടെ ഉപകരണ പാറ്റേൺ ഉപയോഗിക്കുക"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"തുടരാൻ ഉപകരണ പിൻ നൽകുക"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"തുടരാൻ നിങ്ങളുടെ ഉപകരണ പാസ്‌വേഡ് നൽകുക"</string>
@@ -1846,6 +1827,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"എല്ലാ അപ്ലിക്കേഷൻ ഉറവിടങ്ങളും അനുവദിക്കുക"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"ഈയടുത്ത് തുറന്ന ആപ്പുകൾ"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"എല്ലാ <xliff:g id="COUNT">%1$d</xliff:g> ആപ്പുകളും കാണൂ"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"നിങ്ങളുടെ ഐടി അഡ്‌മിനെ ബന്ധപ്പെടുക"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"പിൻ, പാറ്റേൺ അല്ലെങ്കിൽ പാസ്‌വേഡ് റീസെറ്റ് ചെയ്യാൻ നിങ്ങളെ അവർക്ക് സഹായിക്കാനാകും"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"തിരിച്ചറിയാനാകാത്ത ആപ്‌സിനാൽ നിങ്ങളുടെ ടാബ്‌ലെറ്റും വ്യക്തിഗത ഡാറ്റയും ആക്രമിക്കപ്പെടാനുള്ള സാധ്യത വളരെ കൂടുതലാണ്. ഈ ഉറവിടത്തിൽ നിന്ന് ആപ്‌സ് ഇൻസ്റ്റാൾ ചെയ്യുന്നതിലൂടെ, ഈ ആപ്‌സ് ഉപയോഗിക്കുന്നതിനാൽ നിങ്ങളുടെ ടാബ്‌ലെറ്റിന് സംഭവിച്ചേക്കാവുന്ന എല്ലാ നാശനഷ്‌ടങ്ങൾക്കും അല്ലെങ്കിൽ ഡാറ്റാ നഷ്‌ടങ്ങൾക്കും നിങ്ങൾക്കാണ് ഉത്തരവാദിത്തമെന്ന് നിങ്ങൾ അംഗീകരിക്കുന്നു."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"തിരിച്ചറിയാനാകാത്ത ആപ്‌സിനാൽ നിങ്ങളുടെ ഫോണും വ്യക്തിഗത ഡാറ്റയും ആക്രമിക്കപ്പെടാനുള്ള സാധ്യത വളരെ കൂടുതലാണ്. ഈ ഉറവിടത്തിൽ നിന്ന് ആപ്‌സ് ഇൻസ്റ്റാൾ ചെയ്യുന്നതിലൂടെ, ഈ ആപ്‌സ് ഉപയോഗിക്കുന്നതിനാൽ നിങ്ങളുടെ ഫോണിന് സംഭവിച്ചേക്കാവുന്ന എല്ലാ നാശനഷ്‌ടങ്ങൾക്കും അല്ലെങ്കിൽ ഡാറ്റാ നഷ്‌ടങ്ങൾക്കും നിങ്ങൾക്കാണ് ഉത്തരവാദിത്തമെന്ന് നിങ്ങൾ അംഗീകരിക്കുന്നു."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"തിരിച്ചറിയാനാകാത്ത ആപ്പുകളാൽ നിങ്ങളുടെ ഉപകരണവും വ്യക്തിഗത ഡാറ്റയും ആക്രമിക്കപ്പെടാനുള്ള സാധ്യത വളരെ കൂടുതലാണ്. ഈ ഉറവിടത്തിൽ നിന്ന് ആപ്പുകൾ ഇൻസ്‌റ്റാൾ ചെയ്യുന്നതിലൂടെ, ഈ ആപ്‌സ് ഉപയോഗിക്കുന്നതിനാൽ നിങ്ങളുടെ ഉപകരണത്തിന് സംഭവിച്ചേക്കാവുന്ന എല്ലാ നാശനഷ്‌ടങ്ങൾക്കും അല്ലെങ്കിൽ ഡാറ്റാ നഷ്‌ടങ്ങൾക്കും നിങ്ങൾക്കാണ് ഉത്തരവാദിത്തമെന്ന് നിങ്ങൾ അംഗീകരിക്കുന്നു."</string>
@@ -1897,7 +1880,7 @@
     <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="1377296810290814749">"ഇത് ഇനിപ്പറയുന്നവയ്‌ക്കുള്ള എല്ലാ മുൻഗണനകളും റീസെറ്റ് ചെയ്യും:\n\n"<li>"പ്രവർത്തനരഹിതമാക്കിയ ആപ്പുകൾ"</li>\n<li>"പ്രവർത്തനരഹിതമാക്കിയ ആപ്പ് അറിയിപ്പുകൾ"</li>\n<li>"പ്രവർത്തനങ്ങൾക്കുള്ള ഡിഫോൾട്ട് ആപ്പുകൾ"</li>\n<li>"ആപ്പുകൾക്കുള്ള പശ്ചാത്തല ഡാറ്റാ നിയന്ത്രണങ്ങൾ"</li>\n<li>" ഏതെങ്കിലും അനുമതി നിയന്ത്രണങ്ങൾ"</li>\n\n" നിങ്ങൾക്ക് ആപ്പ് ഡാറ്റയൊന്നും നഷ്‌ടമാകില്ല."</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>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"ആപ്പുകൾ റീസെറ്റ് ചെയ്യുക"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"സ്‌പെയ്സ് നിയന്ത്രിക്കുക"</string>
     <string name="filter" msgid="9039576690686251462">"ഫിൽട്ടർ ചെയ്യുക"</string>
@@ -2097,7 +2080,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"ഓഡിയോയും സ്‌ക്രീനിലെ ടെക്‌സ്‌റ്റും"</string>
     <string name="display_category_title" msgid="6638191682294461408">"ഡി‌സ്‌പ്ലേ"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"ഇടപെടൽ നിയന്ത്രണങ്ങൾ"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"ഡൗൺലോഡുചെയ്‌ത സേവനങ്ങൾ"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"ഡൗൺലോഡ് ചെയ്‌ത ആപ്പുകൾ"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"പരീക്ഷണാത്മകം!"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"ഫീച്ചർ ഫ്ലാഗുകൾ"</string>
     <string name="talkback_title" msgid="8756080454514251327">"TalkBack"</string>
@@ -2105,27 +2088,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"നിങ്ങളുടെ സ്ക്രീനിലെ ഇനങ്ങൾ ഉറക്കെ വായിക്കുന്നത് കേൾക്കാൻ അവയിൽ ടാപ്പ് ചെയ്യുക"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"അടിക്കുറിപ്പ് മുൻഗണനകൾ"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"മാഗ്നിഫിക്കേഷൻ"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"മാഗ്നിഫിക്കേഷൻ ഏരിയ"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"മാഗ്നിഫിക്കേഷൻ പ്രവർത്തനക്ഷമമാക്കൽ"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"സ്‌ക്രീൻ മാഗ്നിഫൈ ചെയ്യാൻ, മാഗ്നിഫിക്കേഷൻ ഏരിയ(കൾ) തിരഞ്ഞെടുക്കുക"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"പൂര്‍ണ്ണ സ്ക്രീന്‍"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"സ്‌ക്രീനിന്റെ ഭാഗം"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"പൂർണ്ണ സ്‌ക്രീനും സ്‌ക്രീനിന്റെ ഭാഗവും"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"മുഴുവൻ സ്‌ക്രീനും മാഗ്നിഫൈ ചെയ്യുക"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"സ്‌ക്രീനിന്റെ ഭാഗം മാഗ്നിഫൈ ചെയ്യുക"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"മാഗ്നിഫിക്കേഷൻ ക്രമീകരണം"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"3 തവണ ടാപ്പ് ചെയ്‌ത് മാഗ്നിഫൈചെയ്യൂ"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"കുറുക്കുവഴിയിലൂടെ മാഗ്നിഫൈ ചെയ്യൂ"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"കുറുക്കുവഴി, മൂന്ന് തവണ ടാപ്പ് എന്നിവയിലൂടെ മാഗ്നിഫൈ ചെയ്യൂ"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"<xliff:g id="SERVICE">%1$s</xliff:g> എന്നതിനെ കുറിച്ച്"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"ഓപ്ഷനുകൾ"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"സ്ക്രീനിൽ സൂം ഇൻ ചെയ്യുക"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"സൂം ചെയ്യാൻ 3 തവണ ടാപ്പ് ചെയ്യുക"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"സൂം ചെയ്യുന്നതിന് ബട്ടണിൽ ടാപ്പ് ചെയ്യുക"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><b>"സൂം ചെയ്യാൻ"</b>", വേഗത്തിൽ 3 തവണ സ്‌ക്രീൻ ടാപ്പുചെയ്യുക.\n"<ul><li>"സ്‌ക്രോൾ ചെയ്യാൻ രണ്ടോ അതിലധികമോ വിരലുകൾ ഇഴയ്‌ക്കുക"</li>\n<li>"സൂം ക്രമീകരിക്കാൻ രണ്ടോ അതിലധികമോ വിരലുകൾ പിഞ്ചുചെയ്യുക"</li></ul>\n\n<b>"താൽക്കാലികമായി സൂം ചെയ്യാൻ"</b>", സ്ക്രീനിൽ 3 തവണ വേഗത്തിൽ ടാപ്പുചെയ്യുകയും മൂന്നാമത്തെ ടാപ്പിൽ വിരൽ താഴേക്ക് അമർത്തിപ്പിടിക്കുകയും ചെയ്യുക.\n"<ul><li>"സ്‌ക്രീനിന് ചുറ്റും നീങ്ങുന്നതിന് നിങ്ങളുടെ വിരൽ ഇഴയ്ക്കുക"</li>\n<li>"സൂം ഔട്ട് ചെയ്യുന്നതിന് വിരൽ എടുക്കുക"</li></ul>\n\n"കീബോർഡിലും നാവിഗേഷൻ ബാറിലും നിങ്ങൾക്ക് സൂം ഇൻ ചെയ്യാൻ കഴിയില്ല."</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"മാഗ്നിഫിക്കേഷൻ ഓണാക്കിയിരിക്കുമ്പോൾ, നിങ്ങളുടെ സ്‌ക്രീനിൽ സൂം ഇൻ ചെയ്യാവുന്നതാണ്.\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_screen_magnification_summary" msgid="7617931632990040045">"ഉള്ളടക്കം കൂടുതൽ വ്യക്തമായി കാണാൻ സ്ക്രീനിൽ വേഗത്തിൽ സൂം ഇൻ ചെയ്യുക.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;സൂം ഇൻ ചെയ്യാൻ:&lt;/b&gt;&lt;br/&gt;	1. മാഗ്നിഫിക്കേഷൻ ആരംഭിക്കാൻ കുറുക്കുവഴി ഉപയോഗിക്കുക&lt;br/&gt;	2. സ്ക്രീൻ ടാപ്പ് ചെയ്യുക&lt;br/&gt;	3. സ്‌ക്രീനിന് ചുറ്റും നീങ്ങാൻ 2 വിരലുകൾ ഉപയോഗിച്ച് വലിക്കുക&lt;br/&gt;	4. സൂം ക്രമീകരിക്കാൻ 2 വിരലുകൾ കൊണ്ട് പിഞ്ച് ചെയ്യുക&lt;br/&gt;	5. മാഗ്‌നിഫിക്കേഷൻ നിർത്താൻ കുറുക്കുവഴി ഉപയോഗിക്കുക&lt;br/&gt;&lt;br/&gt;&lt;b&gt;താൽക്കാലികമായി സൂം ഇൻ ചെയ്യാൻ:&lt;/b&gt;&lt;br/&gt;	1. മാഗ്നിഫിക്കേഷൻ ആരംഭിക്കാൻ കുറുക്കുവഴി ഉപയോഗിക്കുക&lt;br/&gt;	2. സ്ക്രീനിൽ എവിടെയെങ്കിലും സ്പർശിച്ച് പിടിക്കുക&lt;br/&gt;	3. സ്‌ക്രീനിന് ചുറ്റും നീങ്ങാൻ വിരൽ ഉപയോഗിച്ച് വലിക്കുക&lt;br/&gt;	4. മാഗ്നിഫിക്കേഷൻ നിർത്താൻ വിരൽ സ്ക്രീനിൽ നിന്ന് എടുക്കുക"</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"മാഗ്നിഫിക്കേഷൻ ഓണാക്കിയിരിക്കുമ്പോൾ, നിങ്ങളുടെ സ്‌ക്രീനിൽ സൂം ഇൻ ചെയ്യാവുന്നതാണ്.\n\n"<b>"സൂം ചെയ്യാൻ"</b>", മാഗ്നിഫിക്കേഷൻ ആരംഭിച്ച ശേഷം നിങ്ങളുടെ സ്‌ക്രീനിൽ എവിടെയെങ്കിലും ടാപ്പ് ചെയ്യുക.\n"<ul><li>"സ്‌ക്രോൾ ചെയ്യാൻ രണ്ടോ അതിലധികമോ വിരലുകൾ ഇഴയ്‌ക്കുക"</li>\n<li>"സൂം ക്രമീകരിക്കാൻ രണ്ടോ അതിലധികമോ വിരലുകൾ പിഞ്ച് ചെയ്യുക"</li></ul>\n\n<b>"താൽക്കാലികമായി സൂം ചെയ്യാൻ"</b>", മാഗ്നിഫിക്കേഷൻ ആരംഭിച്ച ശേഷം സ്‌ക്രീനിൽ എവിടെയെങ്കിലും സ്‌പർശിച്ചുപിടിക്കുക.\n"<ul><li>"സ്‌ക്രീനിന് ചുറ്റും നീക്കാൻ വലിച്ചിടുക"</li>\n<li>"സൂം ഔട്ട് ചെയ്യാൻ വിരൽ എടുക്കുക"</li></ul>\n\n"കീബോർഡിലും നാവിഗേഷൻ ബാറിലും നിങ്ങൾക്ക് സൂം ഇൻ ചെയ്യാനാവില്ല."</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"തുറക്കാൻ ഉപയോഗസഹായി ബട്ടൺ ഉപയോഗിക്കുക"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"തുറക്കാൻ വിരൽചലനം ഉപയോഗിക്കുക"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"പുതിയ ഉപയോഗസഹായി വിരൽചലനം ഉപയോഗിക്കുക"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"ഈ സേവനം ഓണാക്കാനോ ഒഫാക്കാനോ, നിങ്ങളുടെ സ്‌ക്രീനിന്റെ ചുവടെയുള്ള ഉപയോഗസഹായി ബട്ടൺ <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> ടാപ്പ് ചെയ്യുക.\n\nസേവനങ്ങൾക്കിടയിൽ മാറാൻ ഉപയോഗസഹായി ബട്ടൺ സ്‌പർശിച്ച് പിടിക്കുക."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"ഈ സേവനം ഓണാക്കാനോ ഓഫാക്കാനോ നിങ്ങളുടെ സ്‌ക്രീനിന്റെ ചുവട്ടിൽ നിന്ന് രണ്ട് വിരലുകൾ കൊണ്ട് മുകളിലേക്ക് സ്വൈപ്പ് ചെയ്യുക.\n\nസേവനങ്ങൾക്കിടയിൽ മാറാൻ രണ്ട് വിരലുകൾ കൊണ്ട് മുകളിലേക്ക് സ്വൈപ്പ് ചെയ്‌ത് പിടിക്കുക."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"ഈ സേവനം ഓണാക്കാനോ ഓഫാക്കാനോ നിങ്ങളുടെ സ്‌ക്രീനിന്റെ ചുവട്ടിൽ നിന്ന് മൂന്ന് വിരലുകൾ കൊണ്ട് മുകളിലേക്ക് സ്വൈപ്പ് ചെയ്യുക.\n\nസേവനങ്ങൾക്കിടയിൽ മാറാൻ മൂന്ന് വിരലുകൾ കൊണ്ട് മുകളിലേക്ക് സ്വൈപ്പ് ചെയ്‌ത് പിടിക്കുക."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"ഉപയോഗസഹായി സേവനം ഓണാക്കാനോ ഓഫാക്കാനോ നിങ്ങളുടെ സ്‌ക്രീനിന്റെ ചുവട്ടിൽ നിന്ന് രണ്ട് വിരലുകൾ കൊണ്ട് മുകളിലേക്ക് സ്വൈപ്പ് ചെയ്യുക.\n\nസേവനങ്ങൾക്കിടയിൽ മാറാൻ രണ്ട് വിരലുകൾ കൊണ്ട് മുകളിലേക്ക് സ്വൈപ്പ് ചെയ്‌ത് പിടിക്കുക."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"ഉപയോഗസഹായി സേവനം ഓണാക്കാനോ ഓഫാക്കാനോ നിങ്ങളുടെ സ്‌ക്രീനിന്റെ ചുവട്ടിൽ നിന്ന് മൂന്ന് വിരലുകൾ കൊണ്ട് മുകളിലേക്ക് സ്വൈപ്പ് ചെയ്യുക.\n\nസേവനങ്ങൾക്കിടയിൽ മാറാൻ മൂന്ന് വിരലുകൾ കൊണ്ട് മുകളിലേക്ക് സ്വൈപ്പ് ചെയ്‌ത് പിടിക്കുക."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"ഈ സേവനം ഓണാക്കാനോ ഒഫാക്കാനോ, നിങ്ങളുടെ സ്‌ക്രീനിന്റെ ചുവടെയുള്ള ഉപയോഗസഹായി ബട്ടൺ <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> ടാപ്പ് ചെയ്യുക.\n\nസേവനങ്ങൾക്കിടയിൽ മാറാൻ ഉപയോഗസഹായി ബട്ടൺ സ്‌പർശിച്ച് പിടിക്കുക."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"ഈ സേവനം ഓണാക്കാനോ ഓഫാക്കാനോ നിങ്ങളുടെ സ്‌ക്രീനിന്റെ ചുവട്ടിൽ നിന്ന് രണ്ട് വിരലുകൾ കൊണ്ട് മുകളിലേക്ക് സ്വൈപ്പ് ചെയ്യുക.\n\nസേവനങ്ങൾക്കിടയിൽ മാറാൻ രണ്ട് വിരലുകൾ കൊണ്ട് മുകളിലേക്ക് സ്വൈപ്പ് ചെയ്‌ത് പിടിക്കുക."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"ഈ സേവനം ഓണാക്കാനോ ഓഫാക്കാനോ നിങ്ങളുടെ സ്‌ക്രീനിന്റെ ചുവട്ടിൽ നിന്ന് മൂന്ന് വിരലുകൾ കൊണ്ട് മുകളിലേക്ക് സ്വൈപ്പ് ചെയ്യുക.\n\nസേവനങ്ങൾക്കിടയിൽ മാറാൻ മൂന്ന് വിരലുകൾ കൊണ്ട് മുകളിലേക്ക് സ്വൈപ്പ് ചെയ്‌ത് പിടിക്കുക."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"ഉപയോഗസഹായി സേവനം ഓണാക്കാനോ ഓഫാക്കാനോ നിങ്ങളുടെ സ്‌ക്രീനിന്റെ ചുവട്ടിൽ നിന്ന് രണ്ട് വിരലുകൾ കൊണ്ട് മുകളിലേക്ക് സ്വൈപ്പ് ചെയ്യുക.\n\nസേവനങ്ങൾക്കിടയിൽ മാറാൻ രണ്ട് വിരലുകൾ കൊണ്ട് മുകളിലേക്ക് സ്വൈപ്പ് ചെയ്‌ത് പിടിക്കുക."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"ഉപയോഗസഹായി സേവനം ഓണാക്കാനോ ഓഫാക്കാനോ നിങ്ങളുടെ സ്‌ക്രീനിന്റെ ചുവട്ടിൽ നിന്ന് മൂന്ന് വിരലുകൾ കൊണ്ട് മുകളിലേക്ക് സ്വൈപ്പ് ചെയ്യുക.\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="2820923641553461297">"ഉപയോഗസഹായി ബട്ടൺ"</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="8922102767509399352">"നിങ്ങളുടെ സ്ക്രീനിന്റെ ചുവടെയുള്ള ഉപയോഗസഹായി ബട്ടൺ <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> ടാപ്പ് ചെയ്യുക"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"2 വിരലുകൾ ഉപയോഗിച്ച് സ്‌ക്രീനിന്റെ താഴെ നിന്ന് മുകളിലേക്ക് സ്വൈപ്പ് ചെയ്യുക"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"3 വിരലുകൾ ഉപയോഗിച്ച് സ്‌ക്രീനിന്റെ താഴെ നിന്ന് മുകളിലേക്ക് സ്വൈപ്പ് ചെയ്യുക"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"വോളിയം കീകൾ ഹോൾഡ് ചെയ്യുക"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"രണ്ട് വോളിയം കീകളും ഒരു സെക്കൻഡ് നേരത്തേക്ക് അമർത്തിപ്പിടിക്കുക"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"സ്ക്രീൻ മൂന്ന് തവണ ടാപ്പ് ചെയ്യുക"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"സ്ക്രീൻ 3 തവണ വേഗത്തിൽ ടാപ്പ് ചെയ്യുക. ഈ കുറുക്കുവഴി നിങ്ങളുടെ ഉപകരണത്തിന്റെ വേഗത കുറച്ചേക്കാം."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"വിപുലമായത്"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"<xliff:g id="SERVICE">%1$s</xliff:g> സേവനത്തിലേക്ക് ഉപയോഗസഹായി ബട്ടൺ സജ്ജമാക്കിയിരിക്കുന്നു. മാഗ്നിഫിക്കേഷൻ ഉപയോഗിക്കുന്നതിന് ഉപയോഗസഹായി ബട്ടൺ സ്‌പർശിച്ചുപിടിച്ച് മാഗ്നിഫിക്കേഷൻ തിരഞ്ഞെടുക്കുക."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"ഉപയോഗസഹായി വിരൽചലനം <xliff:g id="SERVICE">%1$s</xliff:g> എന്നതിൽ ക്രമീകരിച്ചു. മാഗ്നിഫിക്കേഷൻ ഉപയോഗിക്കാൻ, സ്‌ക്രീനിന്റെ താഴെ നിന്ന് രണ്ട് വിരലുകൾ ഉപയോഗിച്ച് മുകളിലേക്ക് സ്വൈപ്പ് ചെയ്‌ത് പിടിക്കുക. തുടർന്ന് മാഗ്നിഫിക്കേഷൻ തിരഞ്ഞെടുക്കുക."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"വോളിയം കീ കുറുക്കുവഴി"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"കുറുക്കുവഴി സേവനം"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"കുറുക്കുവഴി ക്രമീകരണം"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"ലോക്ക് സ്‌ക്രീനിൽ നിന്ന് അനുവദിക്കുക"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"കുറുക്കുവഴി ഓണായിരിക്കുമ്പോൾ, രണ്ട് വോളിയം കീകളും 3 സെക്കൻഡ് നേരം അമർത്തിപ്പിടിച്ച് നിങ്ങൾക്ക് ഉപയോഗസഹായി ഫീച്ചർ ആരംഭിക്കാം."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"ദൃശ്യതീവ്രതയേറിയ ടെക്‌സ്റ്റ്"</string>
@@ -2149,24 +2157,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"നടപടി സ്വീകരിക്കാൻ ആവശ്യപ്പെടുന്ന സന്ദേശങ്ങൾ എത്ര സമയം കാണിക്കണമെന്നത് തിരഞ്ഞെടുക്കുക, എന്നാൽ താൽക്കാലികമായി മാത്രമേ ദൃശ്യമാകൂ.\n\nഎല്ലാ ആപ്പുകളും ഈ ക്രമീകരണം പിന്തുണയ്ക്കുന്നില്ല."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"സ്‌പർശിച്ച്, അമർത്തിപ്പിടിക്കുക"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"വർണ്ണവൈപരീത്യം"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"പ്രകടനത്തെ ബാധിച്ചേക്കാം"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"ഡ്വെൽ സമയം"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"നിറം വിപരീതമാക്കൽ ഉപയോഗിക്കുക"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"നിറം വിപരീതമാക്കൽ ലൈറ്റ് സ്ക്രീനുകൾ ഡാർക്ക് ആക്കുന്നു. തെളിച്ചമുള്ള പ്രകാശം കാണാൻ ബുദ്ധിമുട്ടുള്ളവർക്ക് സ്ക്രീൻ കൂടുതൽ എളുപ്പത്തിൽ കാണാൻ ഇത് സഹായിക്കുന്നു.&lt;br/&gt;&lt;br/&gt;ശ്രദ്ധിക്കുക: ഡാർക്ക് നിറങ്ങൾ ലൈറ്റ് നിറങ്ങളായി മാറും. മീഡിയയിലും ചിത്രങ്ങളിലും നിറം മാറും. ഡാർക്ക് തീമും നിങ്ങൾക്ക് ഉപയോഗിക്കാം (ക്രമീകരണവും ഡിസ്‌പ്ലേയും)."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"സ്വയമേവ ക്ലിക്ക് ചെയ്യുക (കർസർ വെച്ച് ചിലവഴിച്ച സമയം)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"നിങ്ങളുടെ മൗസ് ഉപയോഗിക്കുകയാണെങ്കിൽ, ചലിക്കുന്നത് ഒരു നിശ്ചിത സമയത്തേക്ക് നിലയ്ക്കുമ്പോൾ, സ്വമേധയാ നടപടി എടുക്കുന്ന തരത്തിൽ നിങ്ങൾക്ക് കഴ്സർ സജ്ജമാക്കാവുന്നതാണ്."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"ക്ലിക്കിന് മുമ്പുള്ള കാലതാമസം"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"ഓട്ടോ ക്ലിക്ക് വേണ്ട (ഡിഫോൾട്ട്)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"ഹ്രസ്വം"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0.2 സെക്കൻഡ്"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"ഇടത്തരം"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0.6 സെക്കൻഡ്"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"ദൈർഘ്യമുള്ളത്"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"ഒരു സെക്കൻഡ്"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"ഇഷ്ടാനുസൃതം"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"കുറഞ്ഞ സമയം"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"കൂടുതൽ സമയം"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"സ്വയമേവ ക്ലിക്ക് ചെയ്യാനെടുക്കുന്ന സമയം"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"വൈബ്രേഷനും സ്‌പർശന ശക്‌തിയും"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"അറിയിപ്പ് വൈബ്രേഷൻ"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"റിംഗ് വൈബ്രേഷൻ"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"സ്‌പർശന ഫീഡ്ബാക്ക്"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"സേവനം ഉപയോഗിക്കുക"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g> ഉപയോഗിക്കുക"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g> തുറക്കുക"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"നിറം ക്രമീകരിക്കൽ ഉപയോഗിക്കുക"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"അടിക്കുറിപ്പുകൾ ഉപയോഗിക്കുക"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"അടിക്കുറിപ്പുകൾ കാണിക്കുക"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"അടിക്കുറിപ്പിന്റെ രൂപം"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"ടെക്‌സ്റ്റ് വലുപ്പം, അടിക്കുറിപ്പ് ശൈലി"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"കൂടുതൽ‍ ഓപ്ഷനുകൾ"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"എല്ലാ ആപ്പുകൾക്കും ഈ ക്രമീകരണം ഉപയോഗിക്കാനാവില്ല."</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"ഉപയോഗസഹായി ബട്ടൺ"</string>
+    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"ചുവടെ നിന്ന് 2-വിരൽ സ്വൈപ്പ്"</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>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"ശ്രവണ സഹായികൾ"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"ശ്രവണ സഹായികളൊന്നും കണക്‌റ്റ് ചെയ്‌തിട്ടില്ല"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"ശ്രവണ സഹായികൾ ചേർക്കുക"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"നിങ്ങളുടെ ശ്രവണ സഹായികൾ ജോടിയാക്കണമെങ്കിൽ, അടുത്ത സ്‌ക്രീനിൽ നിങ്ങളുടെ ഉപകരണം കണ്ടെത്തി ടാപ്പ് ചെയ്യുക."</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"നിങ്ങളുടെ ശ്രവണ സഹായികൾ, ജോടിയാക്കൽ മോഡിലാണെന്ന് ഉറപ്പ് വരുത്തുക."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"നിങ്ങളുടെ ശ്രവണ സഹായികൾ ജോടിയാക്കണമെങ്കിൽ, അടുത്ത സ്‌ക്രീനിൽ നിങ്ങളുടെ ഉപകരണം കണ്ടെത്തി ടാപ്പ് ചെയ്യുക. നിങ്ങളുടെ ശ്രവണ സഹായികൾ, ജോടിയാക്കൽ മോഡിലാണെന്ന് ഉറപ്പ് വരുത്തുക."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> സജീവമാണ്"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> ശ്രവണ സഹായികൾ സംരക്ഷിച്ചു</item>
@@ -2178,25 +2204,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"ഈ സേവനം ശരിയായി പ്രവർത്തിക്കുന്നില്ല."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"ദ്രുത്ര ക്രമീകരണങ്ങളിൽ ദൃശ്യമാക്കുക"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"തിരുത്തൽ മോഡ്"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="other">തീരെ ചെറിയ കാലതാമസം (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> മിസെ)</item>
-      <item quantity="one">തീരെ ചെറിയ കാലതാമസം (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> മിസെ)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"ചുവപ്പ്-പച്ച"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"പച്ച-ചുവപ്പ്"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"നീല-മഞ്ഞ"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"ചുവപ്പ്, പച്ച നിറങ്ങളോടുള്ള വർണ്ണാന്ധത"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"ചുവപ്പ്, പച്ച നിറങ്ങളോടുള്ള വർണ്ണാന്ധത"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"നീല, മഞ്ഞ നിറങ്ങളോടുള്ള വർണ്ണാന്ധത"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="other">നേരിയ താമസം (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> സെക്കൻഡ്)</item>
+      <item quantity="one">നേരിയ താമസം (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> സെക്കൻഡ്)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="other">വളരെ ചെറിയ കാലതാമസം (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> മിസെ)</item>
-      <item quantity="one">വളരെ ചെറിയ കാലതാമസം (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> മിസെ)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="other">വളരെ ചെറിയ താമസം (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> സെക്കൻഡ്)</item>
+      <item quantity="one">വളരെ ചെറിയ താമസം (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> സെക്കൻഡ്)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="other">ചെറിയ കാലതാമസം (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> മിസെ)</item>
-      <item quantity="one">ചെറിയ കാലതാമസം (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> മിസെ)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="other">ചെറിയ താമസം (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> സെക്കൻഡ്)</item>
+      <item quantity="one">ചെറിയ താമസം (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> സെക്കൻഡ്)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="other">നീണ്ട കാലതാമസം (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> മിസെ)</item>
-      <item quantity="one">നീണ്ട കാലതാമസം (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> മിസെ)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="other">നീണ്ട താമസം (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> സെക്കൻഡ്)</item>
+      <item quantity="one">നീണ്ട താമസം (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> സെക്കൻഡ്)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="other">വളരെ നീണ്ട കാലതാമസം (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> മിസെ)</item>
-      <item quantity="one">വളരെ നീണ്ട കാലതാമസം (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> മിസെ)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="other">ഒരുപാട് താമസം (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> സെക്കൻഡ്)</item>
+      <item quantity="one">ഒരുപാട് താമസം (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> സെക്കൻഡ്)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> സെക്കൻഡ്</item>
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> സെക്കൻഡ്</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"റിംഗ് ചെയ്യുക <xliff:g id="SUMMARY_RING">%1$s</xliff:g>, അറിയിപ്പ് <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>, സ്‌പർശിക്കുക <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"റിംഗ് ചെയ്യലും അറിയിപ്പും ഓഫായി സജ്ജീകരിച്ചു"</string>
@@ -2513,7 +2549,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"<xliff:g id="UNPLUGGED">%1$s</xliff:g> എന്നതിനായി അവസാനം പ്ലഗുചെയ്‌തത് മാറ്റിയപ്പോൾ"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"ആകെ ഉപയോഗങ്ങൾ"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"പുതുക്കുക"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"Android OS"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"മീഡിയ സെർവർ"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"ആപ്പ് ഓപ്റ്റിമൈസേഷന്‍"</string>
     <string name="battery_saver" msgid="7737147344510595864">"ബാറ്ററി ലാഭിക്കൽ"</string>
@@ -2594,8 +2629,7 @@
     <string name="tts_play" msgid="2945513377250757221">"പ്ലേ ചെയ്യുക"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"ക്രെഡൻഷ്യൽ സ്റ്റോറേജ്"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"സ്റ്റോറേജിൽനിന്ന് ഇൻസ്റ്റാൾചെയ്യുക"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"SD കാർഡിൽ നിന്ന് ഇൻസ്റ്റാൾ ചെയ്യുക"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"സർട്ടിഫിക്കറ്റ് ഇൻസ്റ്റാൾ ചെയ്യൂ"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"സ്റ്റോറേജിൽനിന്ന് സർട്ടിഫിക്കറ്റുകൾ ഇൻസ്റ്റാൾ ചെയ്യുക"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"SD കാർഡിൽ നിന്ന് സർട്ടിഫിക്കറ്റുകൾ ഇൻസ്റ്റാൾ ചെയ്യുക"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"ക്രെഡൻഷ്യലുകൾ മായ്ക്കുക"</string>
@@ -2615,6 +2649,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"ക്രെഡൻഷ്യൽ സ്റ്റോറേജ്  മായ്ച്ചു."</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"ക്രെഡൻഷ്യൽ സ്റ്റോറേജ്  മായ്ക്കാനായില്ല."</string>
     <string name="usage_access_title" msgid="1580006124578134850">"ഉപയോഗഅക്‌സസ്സുള്ള ആപ്സ്"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"CA സർട്ടിഫിക്കറ്റ്"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"VPN ആപ്പ് യൂസർ സർട്ടിഫിക്കറ്റ്"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"വെെഫെെ സർട്ടിഫിക്കറ്റ്"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"നിങ്ങളുടെ സ്വകാര്യത അപകടത്തിലാണ്"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"എൻക്രിപ്ഷന് വേണ്ടി വെബ്‌സെെറ്റുകളും ആപ്പുകളും VPN-കളും CA സർട്ടിഫിക്കറ്റുകൾ ഉപയോഗിക്കുന്നു. നിങ്ങൾക്ക് വിശ്വാസമുള്ള സ്ഥാപനങ്ങളിൽ നിന്നുള്ള CA സർട്ടിഫിക്കറ്റുകൾ മാത്രം ഇൻസ്റ്റാൾ ചെയ്യുക. \n\n നിങ്ങൾ CA സർട്ടിഫിക്കറ്റ് ഇൻസ്റ്റാൾ ചെയ്യുകയാണെങ്കിൽ, നിങ്ങൾ സന്ദർശിക്കുന്ന വെബ്‌സെെറ്റുകളുടെയോ ഉപയോഗിക്കുന്ന ആപ്പുകളുടെയോ പാസ്‌വേഡുകളോ സന്ദേശങ്ങളോ ക്രെഡിറ്റ് കാർഡ് വിശദാംശങ്ങളോ പോലുള്ള വിവരങ്ങൾ - ആ വിവരങ്ങൾ എൻക്രിപ്റ്റ് ചെയ്തവയാണെങ്കിൽ പോലും - ആക്‌സസ് ചെയ്യാൻ സർട്ടിഫിക്കറ്റിന്റെ ഉടമയ്ക്ക് കഴിയും."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"ഇൻസ്റ്റാൾ ചെയ്യരുത്"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"എന്തായാലും ഇൻസ്റ്റാൾ ചെയ്യുക"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"സർട്ടിഫിക്കറ്റ് ഇൻസ്റ്റാൾ ചെയ്തില്ല"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"അടിയന്തര ഡയലിംഗ് സിഗ്നൽ"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"ഒരു അടിയന്തര കോൾ ലഭിക്കുന്ന സമയത്തെ പ്രവർത്തരീതി സജ്ജീകരിക്കുക"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"ബാക്കപ്പെടുക്കുക"</string>
@@ -2642,10 +2684,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"നിർജീവമാക്കി അൺഇൻസ്‌റ്റാൾ ചെയ്യുക"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"ഉപകരണ അഡ്‌മിൻ ആപ്പുകൾ"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"ഉപകരണ അഡ്‌മിൻ ആപ്പുകളൊന്നും ലഭ്യമല്ല"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"വ്യക്തിഗതം"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"ഔദ്യോഗികം"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"SMS, കോള്‍ ചരിത്ര ആക്‌സസ് നിയന്ത്രിക്കുക"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"ഡിഫോൾട്ട് ഫോണിനും സന്ദേശമയയ്‌ക്കൽ ആപ്പുകൾക്കും മാത്രമേ SMS, കോൾ ചരിത്ര അനുമതികൾ ഉള്ളൂ"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"ലഭ്യമായ പരിചിത ഏജന്റുകളൊന്നുമില്ല"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"ഉപകരണ അഡ്‌മിൻ ആപ്പ് സജീവമാക്കണോ?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"ഈ ഉപകരണ അഡ്‌മിൻ ആപ്പ് സജീവമാക്കുക"</string>
@@ -2659,6 +2697,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"നിങ്ങളുടെ അഡ്‌മിൻ മറ്റ് ഓപ്ഷനുകൾ പ്രവർത്തനരഹിതമാക്കി"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"കൂടുതൽ വിശദാംശങ്ങൾ"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"അറിയിപ്പ് ലോഗ്"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"അറിയിപ്പ് ചരിത്രം"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"ഇന്ന്"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"സ്‌നൂസ് ചെയ്‌തു"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"സമീപകാലത്ത് ഡിസ്‌മിസ് ചെയ്തത്"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> അറിയിപ്പുകൾ</item>
+      <item quantity="one"><xliff:g id="NUMBER_0">%d</xliff:g> അറിയിപ്പ്</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"കോൾ റിംഗ്‌ടോണും വൈബ്രേറ്റും"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"നെറ്റ്‌വർക്ക് വിശദാംശങ്ങൾ"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"സമന്വയം പ്രവർത്തനക്ഷമമാക്കി"</string>
@@ -3008,7 +3054,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"നിയന്ത്രണങ്ങൾ"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"നിയന്ത്രണങ്ങൾ നീക്കംചെയ്യുക"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"പിൻ മാറ്റുക"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"അറിയിപ്പുകൾ ദൃശ്യമാക്കുക"</string>
     <string name="help_label" msgid="2896538416436125883">"സഹായവും ഫീഡ്‌ബാക്കും"</string>
     <string name="support_summary" msgid="1034146931237148885">"സഹായ ലേഖനങ്ങൾ, ഫോൺ, ചാറ്റ് എന്നിവ ആരംഭിക്കുക"</string>
     <string name="user_account_title" msgid="6389636876210834864">"ഉള്ളടക്കത്തിനുള്ള അക്കൗണ്ട്"</string>
@@ -3033,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G കോളിംഗ്"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"വോയ്‌സ്, മറ്റ് ആശയവിനിമയങ്ങൾ (നിർദ്ദേശിതം) എന്നിവ മികച്ചതാക്കുന്നതിന് LTE സേവനങ്ങൾ ഉപയോഗിക്കുക"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"വോയ്‌സ്, മറ്റ് ആശയവിനിമയങ്ങൾ (നിർദ്ദേശിതം) എന്നിവ മികച്ചതാക്കുന്നതിന് 4G സേവനങ്ങൾ ഉപയോഗിക്കുക"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"കോൺടാക്റ്റ് കണ്ടെത്തൽ"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"കോൺടാക്‌റ്റുകൾ ഏതെല്ലാം കോളിംഗ് ഫീച്ചറുകളെ പിന്തുണയ്‌ക്കുന്നുവെന്ന് കണ്ടെത്താൻ സേവനദാതാവിനെ അനുവദിക്കുന്നു."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"കോൺടാക്റ്റ് കണ്ടെത്തൽ പ്രവർത്തനക്ഷമമാക്കണോ?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"ഈ ഫീച്ചർ പ്രവർത്തനക്ഷമമാക്കുന്നത്, കോൺടാക്‌റ്റുകളിലെ ഫോൺ നമ്പറുകൾ ആക്‌സസ് ചെയ്യാൻ നിങ്ങളുടെ സേവനദാതാവിനെ അനുവദിക്കും, കോൺടാക്‌റ്റുകൾ ഏതെല്ലാം കോളിംഗ് ഫീച്ചറുകളെ പിന്തുണയ്‌ക്കുന്നുവെന്ന് കണ്ടെത്തുന്നതിനാണിത്."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"തിരഞ്ഞെടുത്ത നെറ്റ്‌വർക്ക് തരം"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (ശുപാർശചെയ്‌തത്)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS സന്ദേശങ്ങൾ"</string>
@@ -3077,7 +3126,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"ഇത് ഉപയോഗിച്ച് വിളിക്കുക"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"ഒരു സിം കാർഡ് തിരഞ്ഞെടുക്കുക"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"സിം <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"സിം ശൂന്യമാണ്"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"സിം പേര്"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"SIM പേര് നൽകുക"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"SIM സ്‌ലോട്ട് %1$d"</string>
@@ -3087,6 +3135,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"സിം കാർഡ് തിരഞ്ഞെടുക്കുക"</string>
     <string name="color_orange" msgid="216547825489739010">"ഓറഞ്ച്"</string>
     <string name="color_purple" msgid="6603701972079904843">"പര്‍പ്പിള്‍"</string>
+    <string name="color_pink" msgid="8596872110888626708">"പിങ്ക്"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"സിം കാർഡുകളൊന്നും ചേർത്തിട്ടില്ല"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"സിം നില"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"സിം നില (സിം സ്ലോട്ട് %1$d)"</string>
@@ -3100,7 +3149,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"SIM കാർഡുകൾ മാറ്റി."</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"സജ്ജമാക്കാൻ ടാപ്പുചെയ്യുക"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"ഈ പ്രവർത്തനത്തിനുള്ള SIM"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"എപ്പോഴും ചോദിക്കുക"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"തിരഞ്ഞെടുക്കൽ ആവശ്യമാണ്"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"സിം തിരഞ്ഞെടുക്കൽ"</string>
@@ -3118,6 +3166,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"Bluetooth, ഡ്രൈവിംഗ് മോഡ്"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"Bluetooth, NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"Bluetooth"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"NFC ഓഫായതിനാൽ ലഭ്യമല്ല"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"ആപ്പുകളും അറിയിപ്പുകളും"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"സമീപകാല ആപ്പുകൾ, ഡിഫോൾട്ട് ആപ്പുകൾ"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"ഔദ്യോഗിക പ്രൊഫൈലിലെ ആപ്പുകൾക്ക് അറിയിപ്പിലേക്കുള്ള ആക്‌സസ് ലഭ്യമല്ല."</string>
@@ -3128,13 +3177,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"ക്രമീകരണം"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"വൈഫൈ, വൈ-ഫൈ, നെറ്റ്‌വർക്ക് കണക്ഷൻ, ഇന്റർനെറ്റ്, വയർലെസ്സ്, ഡാറ്റ, വൈ ഫൈ"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"വൈഫൈ അറിയിപ്പ്, വൈഫൈ അറിയിപ്പ്"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"ഡാറ്റ ഉപയോഗം"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"വൈബ്രേഷൻ നിർത്തുക, ടാപ്പ് ചെയ്യുക, കീബോർഡ്"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"24-മണിക്കൂർ ഫോർമാറ്റ് ഉപയോഗിക്കുക"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"ഡൗൺലോഡ് ചെയ്യുക"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"ഇത് ഉപയോഗിച്ച് തുറക്കുക"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"ആപ്പുകൾ"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"സമയ മേഖല"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"ചാറ്റ് ഹെഡ്"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"ചാറ്റ് ഹെഡ്, സിസ്‌റ്റം, മുന്നറിയിപ്പ്, വിൻഡോ, ഡയലോഗ്, ഡിസ്പ്ലേ, മറ്റ് ആപ്പുകൾക്ക് മുകളിൽ, ഡ്രോ"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"ഫ്ലാഷ് ലൈറ്റ്, ലൈറ്റ്, ടോർച്ച്"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"വൈഫൈ, വൈ-ഫൈ, ടോഗിൾ, നിയന്ത്രണം"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"സെല്ലുലാർ, മൊബൈൽ, സെൽ കാരിയർ, വയർലെസ്, ഡാറ്റ, 4g,3g, 2g, lte"</string>
@@ -3158,7 +3208,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"അരുത് ശല്യപ്പെടുത്തരുത്, തടസപ്പെടുത്തുക, തടസം, ബ്രേക്ക്"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"സമീപമുള്ളവ, ലൊക്കേഷന്‍, ചരിത്രം, റിപ്പോര്‍ട്ട് ചെയ്യൽ, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"അക്കൗണ്ട്"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"അക്കൗണ്ട്, ഒരു അക്കൗണ്ട് ചേർക്കുക, ഔദ്യോഗിക പ്രൊഫൈൽ, അക്കൗണ്ട് ചേർക്കുക"</string>
     <string name="keywords_users" msgid="3497517660077620843">"നിയന്ത്രണം, നിയന്ത്രിക്കുക, നിയന്ത്രിച്ചു"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"ടെക്‌സ്‌റ്റ് ചെയ്യൽ തിരുത്തൽ, തിരുത്തുക, ശബ്‌ദം, വൈബ്രേറ്റ് ചെയ്യുക, സ്വമേധയാ, ഭാഷ, വിരൽചലനം, നിർദ്ദേശിക്കുക, നിർദ്ദേശം, തീം, നിന്ദ്യം, പദം, ടൈപ്പുചെയ്യുക, ഇമോജി, അന്തർദ്ദേശീയം"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"പുനഃക്രമീകരിക്കുക, മുൻഗണനകൾ, ഡിഫോൾട്ട്"</string>
@@ -3196,6 +3246,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"മെമ്മറി, കാഷെ, ഡാറ്റ, ഇല്ലാതാക്കുക, മായ്ക്കുക, സൗജന്യം, സ്‌പെയ്‌സ്"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"കണക്‌റ്റ് ചെയ്‌തു, ഉപകരണം, ഹെഡ്‌ഫോണുകൾ, ഹെഡ്‌സെറ്റ്, സ്‌പീക്കർ, വയര്‍‌ലെസ്സ്, ജോടി, ഇയർ ബഡുകൾ, സംഗീതം, മീഡിയ"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"പശ്ചാത്തലം, സ്ക്രീൻ, ലോക്ക്‌സ്ക്രീൻ, തീം"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"ഐക്കണിന്റെ രൂപം, ആക്‌സന്റ് വര്‍ണ്ണം, ഫോണ്ട്"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"ഡിഫോൾട്ട്, സഹായി"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"പേയ്‌മെന്റ്, ഡിഫോൾട്ട്"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"ഇൻകമിംഗ് അറിയിപ്പ്"</string>
@@ -3205,18 +3256,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"സ്‌പര്‍ശനങ്ങൾ, വൈബ്രേറ്റ് ചെയ്യൽ, സെൻസിറ്റിവിറ്റി"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"ബാറ്ററി ലാഭിക്കൽ, സ്‌റ്റിക്കി, നിലനിൽക്കുക, പവർ സേവർ, ബാറ്ററി"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"ദിനചര്യ, ഷെഡ്യൂൾ, ബാറ്ററി ലാഭിക്കൽ, പവർ സേവർ, ബാറ്ററി, സ്വയമേവ, ശതമാനം"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"ഔദ്യോഗിക പ്രൊഫൈൽ"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"volte, വിപുലമായ കോളിംഗ്, 4g കോളിംഗ്"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"ഭാഷ ചേർക്കുക, ഒരു ഭാഷ ചേർക്കുക"</string>
     <string name="default_sound" msgid="6604374495015245195">"സ്ഥിര ശബ്‌ദം"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"റിംഗ് വോളിയം: <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"റിംഗ് ചെയ്യുന്നതിന്റെയും അറിയിപ്പിന്റെയും ശബ്‌ദം <xliff:g id="PERCENTAGE">%1$s</xliff:g> ആണ്"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"ശബ്ദം, വൈബ്രേഷൻ, ശല്യപ്പെടുത്തരുത്"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"വൈബ്രേറ്റുചെയ്യുന്ന തരത്തിൽ റിംഗർ സജ്ജമാക്കി"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"നിശബ്ദമാക്കിയിരിക്കുന്ന തരത്തിൽ റിംഗർ സജ്ജമാക്കി"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"റിംഗ് വോളിയം: 80%"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"റിംഗ് ചെയ്യുന്നതിന്റെയും അറിയിപ്പിന്റെയും ശബ്‌ദം 80% ആണ്"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"മീഡിയാ വോളിയം"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"വോളിയം കാസ്‌റ്റ് ചെയ്യുക"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"കോൾ വോളിയം"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"അലാറം വോളിയം"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"റിംഗ് വോളിയം"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"റിംഗ്, അറിയിപ്പ് ശബ്‌ദം"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"അറിയിപ്പ് വോളിയം"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"ഫോൺ റിംഗ്ടോൺ"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"ഡിഫോൾട്ട് അറിയിപ്പ് ശബ്‌ദം"</string>
@@ -3224,6 +3276,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"ഡിഫോൾട്ട് അറിയിപ്പ് ശബ്‌ദം"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"ഡിഫോൾട്ട് അലാറം ശബ്ദം"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"കോളുകൾക്ക് വൈബ്രേറ്റ് ചെയ്യുക"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"ഒരിക്കലും വൈബ്രേറ്റ് ചെയ്യരുത്"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"എല്ലായ്‌പ്പോഴും വൈബ്രേറ്റ് ചെയ്യുക"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"വൈബ്രേറ്റ് ചെയ്‌ത് പതിയെ റിംഗ് ചെയ്യുക"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"മറ്റു ശബ്‌ദങ്ങൾ"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"ഡയൽ പാഡ്  ടോണുകൾ"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"സ്‌ക്രീൻലോക്കിംഗ് ശബ്‌ദങ്ങൾ"</string>
@@ -3247,6 +3302,7 @@
       <item quantity="one">ഒരെണ്ണം പ്രവർത്തനക്ഷമമാക്കി</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"ശല്യപ്പെടുത്തരുത്"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"പ്രധാനപ്പെട്ട ആളുകളിൽ നിന്നും ആപ്പുകളിൽ നിന്നുമുള്ള അറിയിപ്പ് മാത്രം നേടുക"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"തടസ്സങ്ങൾ പരിമിതപ്പെടുത്തുക"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"\'ശല്യപ്പെടുത്തരുത്\' ഓണാക്കുക"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"ഒഴിവാക്കലുകൾ"</string>
@@ -3273,7 +3329,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"ദൃശ്യതടസങ്ങൾ ബ്ലോക്കുചെയ്യൂ"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"ദൃശ്യ സിഗ്നലുകൾ അനുവദിക്കുക"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"ശല്ല്യപ്പെടുത്തരുത് എന്നത് ഓണാക്കുമ്പോൾ"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"ശബ്‌ദമുണ്ടാക്കുന്ന തടസ്സങ്ങൾ അനുവദിക്കുക"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"അറിയിപ്പുകൾ നിയന്ത്രിക്കുക"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"അറിയിപ്പുകൾക്ക് ശബ്‍ദം വേണ്ട"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"നിങ്ങളുടെ സ്‌ക്രീനിൽ അറിയിപ്പുകൾ കാണും"</string>
@@ -3304,7 +3360,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"ശബ്‌ദവും വൈബ്രേഷനും"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"അറിയിപ്പുകളുടെ ശബ്‌ദവും വൈബ്രേഷനും ചില ദൃശ്യ സൂചനകളും"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"അറിയിപ്പുകളുടെ ശബ്‌ദവും വൈബ്രേഷനും ദൃശ്യ സൂചനകളും"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"അടിസ്ഥാന ഫോൺ ആക്‌റ്റിവിറ്റിക്ക് അറിയിപ്പുകൾ ആവശ്യമാണ്, സ്റ്റാറ്റസ് ഒരിക്കലും അദൃശ്യമാക്കില്ല"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"അടിസ്ഥാന ഫോൺ ആക്‌റ്റിവിറ്റിക്ക് അറിയിപ്പുകൾ ആവശ്യമാണ്, സ്റ്റാറ്റസ് ഒരിക്കലും അദൃശ്യമാക്കില്ല."</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"ഒന്നുമില്ല"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"മറ്റ് ഓപ്‌ഷനുകൾ"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"ചേർക്കുക"</string>
@@ -3334,10 +3390,12 @@
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> ഷെഡ്യൂളുകൾ സ്വമേധയാ ഓണാക്കാനാവും</item>
       <item quantity="one">ഒരു ഷെഡ്യൂള്‍‌ സ്വമേധയാ ഓണാക്കാനാവും</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"ഉപകരണം മ്യൂട്ട് ചെയ്യുക, എന്നാൽ ഒഴിവാക്കലുകൾ അനുവദിക്കുക"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"ഒഴിവാക്കലുകൾ"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"ഷെഡ്യൂള്‍‌"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"എല്ലാ ഒഴിവാക്കലുകളും കാണുക"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"\'ശല്യപ്പെടുത്തരുത്\' ഓണായിരിക്കുമ്പോഴുള്ള ഒഴിവാക്കലുകൾ"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"ആളുകൾ"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"ആപ്പുകൾ"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"അലാറങ്ങളും മറ്റ് തടസ്സങ്ങളും"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"ഷെഡ്യൂളുകൾ"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"നിശബ്‌ദമാക്കിയ അറിയിപ്പുകൾ"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"ശല്യപ്പെടുത്തരുത് ഓണായിരിക്കുമ്പോൾ, നിങ്ങൾ മുകളിൽ അനുവദിച്ചിട്ടുള്ള ഇനങ്ങൾ ഒഴികെയുള്ള, ശബ്ദവും വൈബ്രേഷനും മ്യൂട്ട് ചെയ്യപ്പെടും."</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"ഇനിപ്പറയുന്നത് ഒഴികെയുള്ള എല്ലാം മ്യൂട്ട് ചെയ്യുക"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"മ്യൂട്ട് ചെയ്തു"</string>
@@ -3381,16 +3439,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"അനുയോജ്യമായ അറിയിപ്പുകൾ"</string>
     <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_capabilities_actions_replies_title" msgid="4392470465646394289">"നിർദ്ദേശിച്ച പ്രവർത്തനങ്ങളും മറുപടികളും"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"നിർദ്ദേശിച്ച പ്രവർത്തനങ്ങളും മറുപടികളും സ്വയമേവ കാണിക്കൂ"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"പഴയ അറിയിപ്പുകളും സ്‌നൂസ് ചെയ്‌ത അറിയിപ്പുകളും ട്രാക്ക് ചെയ്യാൻ അറിയിപ്പ് ചരിത്രം ഓണാക്കുക"</string>
+    <string name="notification_history" msgid="8663811361243456201">"അറിയിപ്പ് ചരിത്രം"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"ചരിത്രം ഓണാക്കുക"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"ചരിത്രം ഓഫാക്കുക"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"അറിയിപ്പ് ചരിത്രം ഓഫാണ്"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"അറിയിപ്പ് ക്രമീകരണം കാണുക"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"അറിയിപ്പ് സ്‌നൂസ് ചെയ്യൽ അനുവദിക്കുക"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"സൗമ്യമായ അറിയിപ്പുകളിൽ നിന്നുള്ള ഐക്കണുകൾ മറയ്ക്കൂ"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"സൗമ്യമായ അറിയിപ്പുകളിൽ നിന്നുള്ള ഐക്കണുകൾ സ്റ്റാറ്റസ് ബാറിൽ ദൃശ്യമാകില്ല"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"അറിയിപ്പ് ഡോട്ടുകൾ അനുവദിക്കുക"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"സമീപകാല സംഭാഷണങ്ങളുടെ സ്‌ട്രിപ്പ് കാണിക്കുക"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"ബബ്ൾ"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"ചില അറിയിപ്പുകൾ സ്‌ക്രീനിൽ ബബ്ളുകളായി ദൃശ്യമാകുന്നതാണ്."</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"ചില അറിയിപ്പുകളും മറ്റ് ഉള്ളടക്കവും സ്‌ക്രീനിൽ ബബിളുകളായി ദൃശ്യമാകുന്നതാണ്. ഒരു ബബ്‌ൾ തുറക്കാൻ അതിൽ ടാപ്പ് ചെയ്യുക. ഡിസ്‌മിസ് ചെയ്യാൻ അതിനെ സ്‌ക്രീനിന്റെ താഴേക്ക് വലിച്ചിടുക."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"ബബിളുകൾ"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"പുതിയ സന്ദേശങ്ങൾ സ്‌ക്രീനിൽ ദൃശ്യമാകും"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"ബബിളുകളായി ചില അറിയിപ്പുകൾ കാണിക്കൻ <xliff:g id="APP_NAME">%1$s</xliff:g> എന്നതിനെ അനുവദിക്കുക"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"ബബിളുകൾ ഓണാക്കുക"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"ഈ ആപ്പിനായി ബബിളുകൾ ഓണാക്കാൻ, ആദ്യം നിങ്ങളുടെ ഉപകരണത്തിനായി ഇവ ഓണാക്കേണ്ടതുണ്ട്. നിങ്ങൾ മുമ്പ് ബബിളുകൾ ഓണാക്കിയിട്ടുള്ള മറ്റ് ആപ്പുകളെ ഇത് ബാധിക്കുന്നു."</string>
@@ -3408,6 +3476,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"പുൾ ഡൗൺ ഷെയ്‌ഡിലും ലോക്ക് സ്ക്രീനിലും പ്രദർശിപ്പിക്കുക"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"പുൾ ഡൗൺ ഷെയ്‌ഡിലും സ്‌റ്റാറ്റസ് ബാറിലും പ്രദർശിപ്പിക്കുക"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"പുൾ ഡൗൺ ഷെയ്‌ഡിലും സ്‌റ്റാറ്റസ് ബാറിലും ലോക്ക് സ്ക്രീനിലും പ്രദർശിപ്പിക്കുക"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"നിശബ്‌ദ അറിയിപ്പുകൾ സ്‌റ്റാറ്റസ് ബാറിൽ മറയ്ക്കുക"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"ലൈറ്റ് മിന്നുക"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"ലോക്ക് സ്‌ക്രീൻ"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"ലോക്ക് സ്‌ക്രീൻ ഒഴിവാക്കുക"</string>
@@ -3438,6 +3507,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"പ്രവർത്തനരീതി"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"ശ‌ബ്‌ദം അനുവദിക്കുക"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"അറിയിപ്പുകൾ ഒരിക്കലും കാണിക്കരുത്"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"സംഭാഷണങ്ങൾ"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"സംഭാഷണം"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"സംഭാഷണമല്ല"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"സംഭാഷണ വിഭാഗത്തിൽ നിന്ന് നീക്കം ചെയ്യുക"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"ഇതൊരു സംഭാഷണമാണ്"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"സംഭാഷണ വിഭാഗത്തിലേക്ക് ചേർക്കുക"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"സംഭാഷണങ്ങൾ മാനേജ് ചെയ്യുക"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"പ്രധാനപ്പെട്ട സംഭാഷണങ്ങൾ"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"എല്ലാ സംഭാഷണങ്ങളും"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"പ്രധാനപ്പെട്ട സംഭാഷണങ്ങൾ ബബ്‌ളിൽ ആക്കുക"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"പ്രധാന സംഭാഷണങ്ങൾ പുൾ-ഡൗൺ ഷെയ്‌ഡിന്റെ മുകളിൽ കാണിക്കുന്നു. നിങ്ങൾക്ക് അവയെ ബബ്ൾ ആയി സജ്ജീകരിക്കാനും \'ശല്യപ്പെടുത്തരുത്\' ഓപ്ഷൻ തടസ്സപ്പെടുത്താനുമാവും."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"നിശബ്‌ദമായും ചുരുക്കിയും കാണിക്കുക"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"നിശബ്ദമായി കാണിക്കുക"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"ശബ്ദമുണ്ടാക്കുക"</string>
@@ -3456,7 +3536,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"ശബ്‌ദമോ വൈബ്രേഷനോ ഇല്ലാതെ ശ്രദ്ധ കേന്ദ്രീകരിക്കാൻ നിങ്ങളെ സഹായിക്കുന്നു"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"ശബ്‌ദമോ വെെബ്രേഷനോ ഉപയോഗിച്ച് നിങ്ങളുടെ ശ്രദ്ധ ക്ഷണിക്കുന്നു"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"ഉപകരണം അൺലോക്ക് ചെയ്‌തിരിക്കുമ്പോൾ അറിയിപ്പുകളെ സ്ക്രീനിന്റെ മുകളിൽ ഒരു ബാനറായി കാണിക്കൂ"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"അറിയിപ്പുകൾ കാണിക്കുക"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"എല്ലാ <xliff:g id="APP_NAME">%1$s</xliff:g> അറിയിപ്പുകളും"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"അഡാപ്റ്റീവ് അറിയിപ്പുകൾ"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="other">പ്രതിദിനം ~<xliff:g id="NUMBER_1">%d</xliff:g> അറിയിപ്പുകൾ</item>
@@ -3477,6 +3557,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"അഡാപ്റ്റീവ് അറിയിപ്പുകൾ"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"ഒന്നുമില്ല"</string>
     <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="3119843404577399036">"കോൺടാക്റ്റ് പേരുകൾ, നിങ്ങൾക്ക് ലഭിക്കുന്ന സന്ദേശങ്ങൾ എന്നിവ പോലുള്ള വ്യക്തിഗത വിവരങ്ങൾ ഉൾപ്പെടെ എല്ലാ അറിയിപ്പുകളും <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>
@@ -3538,8 +3619,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"പൂർത്തിയായി"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"പ്രാധാന്യം"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"ലൈറ്റ് മിന്നുക"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"വൈബ്രേറ്റ് ചെയ്യുക"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"വൈബ്രേഷൻ"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"ശബ്‌ദം"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"പ്രധാനപ്പെട്ടവ"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"ഹോമിൽ ചേർക്കുക"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"ഇല്ലാതാക്കുക"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"പേര് മാറ്റുക"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"ഷെഡ്യൂളിന്റെ പേര്"</string>
@@ -3593,6 +3676,10 @@
       <item quantity="other">മറ്റ് <xliff:g id="NUM_PEOPLE">%d</xliff:g> പേർ</item>
       <item quantity="one">മറ്റൊരാൾ</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"സംഭാഷണങ്ങൾ"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"എല്ലാ സംഭാഷണങ്ങളിൽ നിന്നും"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"പ്രധാനപ്പെട്ട സംഭാഷണങ്ങളിൽ നിന്നും"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"ഒരു സംഭാഷണങ്ങളും അനുവദിക്കരുത്"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"സന്ദേശങ്ങൾ അനുവദിക്കുക"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"സന്ദേശങ്ങൾ വരുമ്പോൾ ശബ്‌ദം ഉണ്ടാകുന്നുണ്ട് എന്ന് ഉറപ്പാക്കാനായി നിങ്ങളുടെ ഫോൺ റിംഗ്, വൈബ്രേറ്റ് അല്ലെങ്കിൽ നിശബ്‌ദ മോഡ് ഇവയിൽ ഏതിലാണ് സജ്ജീകരിച്ചിരിക്കുന്നതെന്ന് പരിശോധിക്കുക."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"‘<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>’ എന്നതിനുള്ള ഇന്‍‌കമിംഗ് സന്ദേശങ്ങൾ ബ്ലോക്ക് ചെയ്‌തിരിക്കുന്നു. സുഹൃത്തുക്കളേയും കുടുംബാംഗങ്ങളേയും മറ്റ് കോണ്‍‌ടാക്‌റ്റുകളേയും നിങ്ങളിലേക്ക് എത്തിച്ചേരാന്‍ അനുവദിക്കുന്നതിന്‌ ക്രമീകരണങ്ങളിൽ മാറ്റം വരുത്താനാവും."</string>
@@ -3606,15 +3693,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"ഒന്നുമില്ല"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"ഒരു കോളുകളും അനുവദിക്കരുത്"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"ഒരു സന്ദേശങ്ങളും അനുവദിക്കരുത്"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"അലാറങ്ങൾ അനുവദിക്കുക"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"അലാറങ്ങൾ"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"ടൈമറുകൾ, അലാറങ്ങൾ, സുരക്ഷാ സംവിധാനങ്ങൾ, മറ്റ് ആപ്പുകൾ എന്നിവയിൽ നിന്നുള്ളത്"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"അലാറങ്ങൾ"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"മീഡിയാ ശബ്‌ദങ്ങൾ പ്ലേ ചെയ്യുക"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"മീഡിയാ ശബ്‌ദങ്ങൾ"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"വീഡിയോകൾ, ഗെയിമുകൾ, മറ്റ് മീഡിയ എന്നിവയിൽ നിന്നുള്ളത്"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"മീഡിയ"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"സ്‌പർശന ശബ്‌ദങ്ങൾ അനുവദിക്കുക"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"സ്‌പർശന ശബ്‌ദങ്ങൾ"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"നിങ്ങളുടെ കീബോർഡ്, മറ്റ് ബട്ടണുകൾ എന്നിവയിൽ നിന്നുള്ളത്"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"സ്‌പർശന ശബ്‌ദങ്ങൾ"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"റിമൈൻഡറുകൾ അനുവദിക്കുക"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"റിമൈൻഡറുകൾ"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"ടാസ്‌ക്കുകൾ, റിമൈൻഡറുകൾ എന്നിവയിൽ നിന്നുള്ളത്"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"റിമൈൻഡർ"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"ഇവന്റുകൾ അനുവദിക്കുക"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"ഇവന്റുകൾ"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"വരാനിരിക്കുന്ന കലണ്ടർ ഇവന്റുകളിൽ നിന്നുള്ളത്"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"അസാധുവാക്കാൻ ആപ്പുകളെ അനുവദിക്കുക"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"ആപ്പ് ഒഴിവാക്കലുകൾ"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3657,6 +3749,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"\'ശല്യപ്പെടുത്തരുത്\' വഴി നിശബ്‌ദമാക്കിയ അറിയിപ്പുകളെ സ്‌ക്രീൻ ഓണാക്കാൻ അനുവദിക്കുക"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"അറിയിപ്പ് ക്രമീകരണങ്ങൾ"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"ശരി"</string>
+    <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>
@@ -3667,6 +3760,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"ചെയ്യുംമുമ്പ് പിൻ ചോദിക്കൂ"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"അൺപിന്നിനുമുമ്പ് പാസ്‌വേഡ് ആവശ്യപ്പെടൂ"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"അൺപിൻ ചെയ്യുമ്പോൾ ഉപകരണം ലോക്കുചെയ്യുക"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"സിം ഇല്ലാതാക്കൽ സ്ഥിരീകരിക്കുക"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"ഡൗൺലോഡ് ചെയ്ത സിം മായ്ക്കുന്നതിന് മുമ്പ് ഇത് നിങ്ങൾ തന്നെയാണെന്ന് പരിശോധിച്ചുറപ്പിക്കുക"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"ഈ വർക്ക് പ്രൊഫൈൽ നിയന്ത്രിക്കുന്നത്:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"<xliff:g id="ADMIN_APP_LABEL">%s</xliff:g> നിയന്ത്രിക്കുന്നു"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(പരീക്ഷണാത്മകം)"</string>
@@ -3741,8 +3836,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"എല്ലാ ആപ്സും"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"ഇൻസ്‌റ്റാൾ ചെയ്‌ത ആപ്പുകൾ"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"ഇൻസ്‌റ്റ‌ന്റ് ആപ്പ്"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"വ്യക്തിഗതം"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"ഔദ്യോഗികം"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"ആപ്പുകൾ: എല്ലാം"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"ഓഫാക്കി"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"വിഭാഗങ്ങൾ: അടിയന്തര പ്രാധാന്യം"</string>
@@ -3754,6 +3847,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"അജ്ഞാത അപ്ലിക്കേഷൻ"</string>
     <string name="app_permissions" msgid="8666537659217653626">"അനുമതി മാനേജർ"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"<xliff:g id="APPS">%1$s</xliff:g> ഉപയോഗിക്കുന്ന ആപ്പുകൾ"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"<xliff:g id="APPS">%1$s</xliff:g> എന്നതും മറ്റും ഉപയോഗിക്കുന്ന ആപ്പുകൾ"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"സജീവമാക്കാൻ ടാപ്പുചെയ്യുക"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"ഉപകരണം സജീവമാക്കാൻ സ്‌ക്രീനിലെവിടെയെങ്കിലും രണ്ടുതവണ ടാപ്പുചെയ്യുക"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"ലിങ്കുകൾ തുറക്കുന്നു"</string>
@@ -3765,9 +3859,14 @@
       <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> ആപ്പുകൾ പിന്തുണയ്ക്കുന്ന ലിങ്കുകൾ തുറക്കുന്നു</item>
       <item quantity="one">ഒരു ആപ്പ് പിന്തുണയ്ക്കുന്ന ലിങ്കുകൾ തുറക്കുന്നു</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"ഈ ആപ്പിൽ തുറക്കുക"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"പിന്തുണയ്ക്കുന്ന ലിങ്കുകൾ തുറക്കാൻ ആപ്പിനെ അനുവദിക്കുക"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"എപ്പോഴും ചോദിക്കുക"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"ഈ ആപ്പിൽ തുറക്കരുത്"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"ലിങ്കുകൾ തുറക്കാൻ ആപ്പിനെ അനുവദിക്കരുത്"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> ലിങ്കുകൾ കൈകാര്യം ചെയ്യുന്നതിനുള്ള ആപ്പ് ക്ലെയിമുകൾ</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> ലിങ്ക് കൈകാര്യം ചെയ്യുന്നതിനുള്ള ആപ്പ് ക്ലെയിമുകൾ</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"ഇനിപ്പറയുന്ന ലിങ്കുകൾ കൈകാര്യം ചെയ്യുന്നതിനുള്ള ആപ്പ് ക്ലെയിമുകൾ:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"ഡിഫോൾട്ട്"</string>
     <string name="default_for_work" msgid="537558180548617528">"ഔദ്യോഗികാവശ്യങ്ങൾക്ക് ഡിഫോൾട്ട്"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"അസിസ്റ്റ്, ശബ്ദ ഇൻപുട്ട്"</string>
@@ -3911,8 +4010,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"മറ്റ് ആപ്പുകൾക്ക് മുകളിൽ പ്രദർശിപ്പിക്കുക"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"മറ്റ് ആപ്‌സിന് മുകളിൽ പ്രദർശിക്കുന്നത് അനുവദിക്കുക"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"നിങ്ങൾ ഉപയോഗിക്കുന്ന മറ്റ് ആപ്പുകൾക്ക് മുകളിൽ ഒരു ആപ്പിനെ ദൃശ്യമാക്കുന്നതിന് ഈ ആപ്പിനെ അനുവദിക്കുക. നിങ്ങൾ ആ ആപ്പുകൾ ഉപയോഗിക്കുന്നതിനെ ഇത് തടസ്സപ്പെടുത്തുകയോ അവ കാണപ്പെടുന്ന അല്ലെങ്കിൽ പെരുമാറുന്ന രീതിയെ മാറ്റുകയോ ചെയ്തേക്കാം."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"എല്ലാ ഫയലുകളിലേക്കും ആക്സസ്"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"എല്ലാ ഫയലുകളും മാനേജ് ചെയ്യാൻ ആക്സസ് അനുവദിക്കൂ"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"ഈ ഉപകരണത്തിലെയോ ഇതുമായി ബന്ധിപ്പിച്ചിട്ടുള്ള ഏതെങ്കിലും സ്‌റ്റോറേജുകളിലെയോ എല്ലാ ഫയലുകളും വായിക്കാനും പരിഷ്ക്കരിക്കാനും ഇല്ലാതാക്കാനും ഈ ആപ്പിനെ അനുവദിക്കുക. അനുമതി നൽകിയിട്ടുണ്ടെങ്കിൽ, നിങ്ങളുടെ അറിവില്ലാതെ തന്നെ ആപ്പ് ഫയലുകൾ ആക്സസ് ചെയ്തേക്കാം."</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"എല്ലാ ഫയലുകളും ആക്സസ് ചെയ്യാനാവും"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"vr വെർച്വൽ റിയാലിറ്റി ലിസണർ സ്റ്റീരിയോ സഹായി സേവനം"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"മറ്റ് ആപ്സിന് മുകളിൽ സിസ്റ്റം അലേർട്ട് വിൻഡോ ഡയലോഗ് പ്രദർശിപ്പിക്കുക"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"മറ്റ് ആപ്പുകൾക്ക് മുകളിൽ കാണിക്കൂ"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"മറ്റ് ആപ്‌സിന് മുകളിൽ പ്രദർശിപ്പിക്കാൻ <xliff:g id="COUNT_0">%1$d</xliff:g> / <xliff:g id="COUNT_1">%2$d</xliff:g> ആപ്‌സിനെ അനുവദിച്ചു"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"അനുമതിയുള്ള ആപ്സ്"</string>
@@ -4078,6 +4180,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"<xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g> ഉപയോഗിച്ചു"</string>
     <string name="data_overusage" msgid="3680477320458707259">"<xliff:g id="ID_1">^1</xliff:g> കഴിഞ്ഞു"</string>
     <string name="data_remaining" msgid="6316251496381922837">"<xliff:g id="ID_1">^1</xliff:g> ശേഷിക്കുന്നു"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"<xliff:g id="START_DATE">%1$s</xliff:g>-നും <xliff:g id="END_DATE">%2$s</xliff:g>-നും ഇടയിലെ ഡാറ്റാ ഉപയോഗം കാണിക്കുന്ന ഗ്രാഫ്."</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"ഈ തീയതി പരിധിയിൽ ഡാറ്റയൊന്നുമില്ല"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="other">%d ദിവസം ശേഷിക്കുന്നു</item>
       <item quantity="one">%d ദിവസം ശേഷിക്കുന്നു</item>
@@ -4141,14 +4245,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"പാഴ്‌സൽ വലുപ്പം"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ആഷ്‌മേം"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"അറിയിപ്പ് സജ്ജീകരിച്ചു"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"ശബ്‌ദം"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"വൈബ്രേറ്റുചെയ്യുക"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"പാറ്റേൺ"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"ഡിഫോൾട്ട്"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"ചാനൽ"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"ഒന്നുമില്ല"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"റാങ്കിംഗ് ഒബ്‌ജക്റ്റ് വിട്ടുപോയിരിക്കുന്നു."</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"റാങ്കിംഗ് ഒബ്‌ജക്റ്റിൽ ഈ കീ അടങ്ങിയിട്ടില്ല."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"തീമിംഗ്"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"ഉപകരണ ഡിഫോള്‍ട്ട്"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"ഡിസ്‌പ്ലേ കട്ട്ഔട്ട്"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"ഡിസ്പ്ലേ കട്ടൗട്ട്, നോച്ച്"</string>
@@ -4237,8 +4337,12 @@
     <string name="information_label" msgid="6939310810756569298">"വിവരങ്ങൾ"</string>
     <string name="low_label" msgid="6525629096999711220">"കുറഞ്ഞത്"</string>
     <string name="high_label" msgid="357503396626018487">"ഉയർന്നത്"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"ഉയർന്ന സെൻസിറ്റിവിറ്റി സ്‌ക്രീനിന്റെ വശങ്ങളിൽ ആപ്പുമായി ബന്ധപ്പെട്ട് നടത്തുന്ന എന്തെങ്കിലും വിരൽ ചലനങ്ങളിൽ പൊരുത്തക്കേട് വരുത്തിയേക്കാം."</string>
+    <string name="left_edge" msgid="1513576842959071849">"ഇടത് അഗ്രം"</string>
+    <string name="right_edge" msgid="1505309103265829121">"വലത് അഗ്രം"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"ഉയർന്ന സെൻസിറ്റിവിറ്റി സ്‌ക്രീനിന്റെ വശങ്ങളിൽ ആപ്പുമായി ബന്ധപ്പെട്ട് നടത്തുന്ന എന്തെങ്കിലും വിരൽ ചലനങ്ങളിൽ പൊരുത്തക്കേട് വരുത്തിയേക്കാം."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"ബാക്ക് സെൻസിറ്റിവിറ്റി"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"വിരൽചലന ക്രമീകരണം"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"വിരൽചലന നാവിഗേഷൻ, ബാക്ക് സെൻസിറ്റിവിറ്റി, തിരികെ പോകാനുള്ള വിരൽചലനം"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"ഫോൺ പരിശോധിക്കുന്നതിന്, ഡബിൾ ടാപ്പ് ചെയ്യുക"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"ടാബ്‌ലെറ്റ് പരിശോധിക്കുന്നതിന്, രണ്ടുതവണ ടാപ്പുചെയ്യുക"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"ഉപകരണം പരിശോധിക്കുന്നതിന്, രണ്ടുതവണ ടാപ്പുചെയ്യുക"</string>
@@ -4393,7 +4497,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"കാരിയർ പ്രൊവിഷനിംഗ് തുടങ്ങുക"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"\'ശല്യപ്പെടുത്തരുത്\' അപ്‌ഡേറ്റ് ചെയ്യുക"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"ഫോക്കസ് ചെയ്‌ത നിലയിൽ തുടരാൻ, അറിയിപ്പുകൾ താൽക്കാലികമായി നിർത്തുക"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"ഈ ഫീച്ചർ ഈ ഉപകരണത്തിൽ ലഭ്യമല്ല"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"ഫീച്ചർ ലഭ്യമല്ല"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"നിങ്ങളുടെ ഫോണിൻ്റെ വേഗത കുറയ്‌ക്കുന്നതിനാൽ ഈ ഫീച്ചർ ഓഫാക്കി"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"പൂർണ്ണ GNSS അളവുകൾ നടപ്പിലാക്കുക"</string>
@@ -4403,20 +4506,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"ANGLE പ്രവർത്തനക്ഷമമാക്കിയ ആപ്പ് തിരഞ്ഞെടുക്കുക"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"ANGLE പ്രവർത്തനക്ഷമമാക്കിയ ആപ്പൊന്നും സജ്ജീകരിച്ചിട്ടില്ല"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"ANGLE പ്രവർത്തനക്ഷമമാക്കിയ ആപ്പ്: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"ഗെയിം ഡ്രൈവർ മുൻഗണനകൾ"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"ഗെയിം ഡ്രൈവർ ക്രമീകരണം പരിഷ്ക്കരിക്കുക"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"ഗെയിം ഡ്രൈവർ ഓണാക്കുമ്പോൾ, ഉപകരണത്തിൽ ഇൻസ്‌റ്റാൾ ചെയ്‌ത ആപ്പുകൾക്കായി അപ്‌ഡേറ്റ് ചെയ്‌ത ഗ്രാഫിക്‌സ് ഡ്രൈവർ ഉപയോഗിക്കാൻ തിരഞ്ഞെടുക്കുക."</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"എല്ലാ ആപ്പുകൾക്കും പ്രവർത്തനക്ഷമമാക്കുക"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"ഗ്രാഫിക്‌സ് ഡ്രൈവർ തിരഞ്ഞെടുക്കുക"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"ഡിഫോൾട്ട്"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"ഗെയിം ഡ്രൈവർ"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"പ്രീറിലീസ് ഡ്രൈവർ"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"സിസ്‌റ്റം ഗ്രാഫിക്‌സ് ഡ്രൈവർ"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"ഗ്രാഫിക്‌സ് ഡ്രൈവർ മുൻഗണനകൾ"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"ഗ്രാഫിക്‌സ് ഡ്രൈവർ ക്രമീകരണം പരിഷ്‌കരിക്കുക"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"ഒന്നിലധികം ഗ്രാഫിക്‌സ് ഡ്രൈവറുകൾ ഉള്ളപ്പോൾ, ഉപകരണത്തിൽ ഇൻസ്റ്റാൾ ചെയ്‌തിട്ടുള്ള ആപ്പുകൾക്ക് ഉപയോഗിക്കാനായി, അപ്ഡേറ്റ് ചെയ്‌ത ഗ്രാഫിക്‌സ് ഡ്രൈവർ തിരഞ്ഞെടുക്കാം."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"എല്ലാ ആപ്പുകൾക്കും പ്രവർത്തനക്ഷമമാക്കുക"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"ഗ്രാഫിക്‌സ് ഡ്രൈവർ തിരഞ്ഞെടുക്കുക"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"ഡിഫോൾട്ട്"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"ഗെയിം ഡ്രൈവർ"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"ഡെവലപ്പർ ഡ്രൈവർ"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"സിസ്‌റ്റം ഗ്രാഫിക്‌സ് ഡ്രൈവർ"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"ആപ്പ് അനുയോജ്യമാക്കുന്നതിനുള്ള മാറ്റങ്ങൾ"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"ആപ്പ് അനുയോജ്യതാ മാറ്റങ്ങൾ മാറ്റുക"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"ഡിഫോൾട്ട് ആയ, പ്രവർത്തനക്ഷമമാക്കിയ മാറ്റങ്ങൾ"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"ഡിഫോൾട്ട് ആയ, പ്രവർത്തനരഹിതമാക്കിയ മാറ്റങ്ങൾ"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"ക്രമീകരണം ഈ ഫോണിൽ പിന്തുണക്കുന്നില്ല"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"ക്രമീകരണം ഈ ടാബ്‌ലെറ്റിൽ പിന്തുണക്കുന്നില്ല"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"ഈ ഉപകരണത്തിൽ ക്രമീകരണം പിന്തുണയ്‌ക്കുന്നില്ല"</string>
@@ -4435,6 +4544,12 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"ഉപകരണം"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"കോളുകൾ ചെയ്യുമ്പോൾ ലഭ്യമല്ല"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"ലഭ്യമല്ല"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"ഔട്ട്പുട്ടുകൾ ചേർക്കുക"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"ഗ്രൂപ്പ്"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"ഒരു ഉപകരണം തിരഞ്ഞെടുത്തു"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> ഉപകരണങ്ങൾ തിരഞ്ഞെടുത്തു"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"കോളെടുക്കൽ ഓണാണ്"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"ഈ APN മാറ്റാനാവില്ല."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"ടാബ്‌ലെറ്റിന്റെ ബാറ്ററി ലൈഫ് മെച്ചപ്പെടുത്തുക"</string>
@@ -4552,10 +4667,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"ഡൗൺലോഡ് ചെയ്‌ത ഒരു SIM മാത്രമേ ഒരു സമയത്ത് സജീവമായിരിക്കൂ.\n\n<xliff:g id="CARRIER1">%1$s</xliff:g> എന്നതിലേക്ക് മാറുന്നത് നിങ്ങളുടെ <xliff:g id="CARRIER2">%2$s</xliff:g> സേവനം റദ്ദാക്കില്ല."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"<xliff:g id="CARRIER">%1$s</xliff:g> എന്നതിലേക്ക് മാറുക"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"SIM മായ്‌ക്കുക"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"ഡൗൺലോഡ് ചെയ്‌ത ഈ SIM മായ്ക്കണോ?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"ഈ SIM മായ്ക്കുന്നത് <xliff:g id="CARRIER_0">%1$s</xliff:g> സേവനത്തെ ഈ ഉപകരണത്തിൽ നിന്ന് നീക്കം ചെയ്യുന്നു.\n\n <xliff:g id="CARRIER_1">%2$s</xliff:g> എന്നതിനുള്ള സേവനം റദ്ദാക്കില്ല."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"മായ്ക്കുക"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"SIM മായ്ക്കുന്നു…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"SIM മായ്ക്കാനാവില്ല"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"പിശക് കാരണം ഈ SIM മായ്ക്കാനാവില്ല.\n\nനിങ്ങളുടെ ഉപകരണം റീസ്‌റ്റാർട്ട് ചെയ്‌ത് വീണ്ടും ശ്രമിക്കുക."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"മുൻഗണന നൽകുന്ന നെറ്റ്‌വർക്ക് തരം"</string>
@@ -4580,7 +4691,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"നെറ്റ്‍വര്‍ക്ക് മോഡ് <xliff:g id="NETWORKMODEID">%1$d</xliff:g> അസാധുവാണ്. അവഗണിക്കുക."</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"ആക്‌സസ് പോയിന്റ് പേരുകൾ"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"<xliff:g id="CARRIER">%1$s</xliff:g> എന്നതിലേക്ക് കണക്‌റ്റ് ചെയ്‌തിരിക്കുമ്പോൾ ലഭ്യമല്ല"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"മെഡിക്കൽ വിവരം, അടിയന്തര കോൺടാക്റ്റുകൾ"</string>
     <string name="see_more" msgid="7499355691042812723">"കൂടുതൽ കാണുക"</string>
     <string name="see_less" msgid="2642392725363552793">"കുറച്ച് കാണുക"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"<xliff:g id="APPNAME">%1$s</xliff:g> ഉപയോഗിക്കാനുള്ള ഉപകരണം"</string>
@@ -4589,11 +4699,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"എന്തോ സംഭവിച്ചു. ഒരു ഉപകരണം തിരഞ്ഞെടുക്കാനുള്ള അഭ്യർത്ഥന ആപ്പ് റദ്ദാക്കിയിരിക്കുന്നു."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"കണക്ഷൻ വിജയകരം"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"എല്ലാം കാണിക്കുക"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> ഉപകരണങ്ങൾ കണക്‌റ്റ് ചെയ്‌തിരിക്കുന്നു</item>
-      <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_0">%1$d</xliff:g> ഉപകരണം കണക്‌റ്റ് ചെയ്‌തിരിക്കുന്നു</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"Bluetooth ഉപകരണങ്ങളൊന്നുമില്ല"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"ഉപകരണത്തിനായി തിരയുന്നു…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"ഉപകരണത്തിലേക്ക് കണക്റ്റ് ചെയ്യുന്നു…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"ഇടത്"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"വലത്"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"കെയ്‌സ്"</string>
@@ -4603,6 +4710,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"ഫ്ലൈറ്റ് മോഡിൽ ലഭ്യമല്ല"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"ഡെസ്ക്ടോപ്പ് മോഡിലേക്ക് നിർബന്ധിച്ച് വരുത്തുക"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"ദ്വിതീയ ഡിസ്‌പ്ലേകളിൽ, പരീക്ഷണാത്മക ഡെസ്ക്ടോപ്പ് മോഡിലേക്ക് നിർബന്ധിച്ച് വരുത്തുക"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"ഫ്രീഫോം സൈസ് കോമ്പാറ്റ് പ്രവർത്തനക്ഷമമാക്കുക"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"വലുപ്പം മാറ്റാൻ കഴിയാത്ത ആപ്പുകൾ ഫ്രീഫോമിൽ ആവാൻ അനുവദിക്കുക"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"നിർബന്ധിത ഇരുണ്ട മോഡ് അസാധുവാക്കുക"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"എപ്പോഴും ഓണാക്കിയിരിക്കുന്ന നിർബന്ധിത ഇരുണ്ട മോഡ് ഫീച്ചർ അസാധുവാക്കുക"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"സ്വകാര്യത"</string>
@@ -4639,6 +4748,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"നിങ്ങൾ ഈ ആപ്പ് സമീപകാലത്ത് ഇൻസ്‌റ്റാൾ ചെയ്‌തതാണ്."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"ഔട്ട്പുട്ട് മാറുക"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"നിലവിൽ <xliff:g id="DEVICE_NAME">%1$s</xliff:g> എന്ന ഉപകരണത്തിൽ പ്ലേ ചെയ്യുന്നു"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (വിച്ഛേദിച്ചു)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"മാറാനാകുന്നില്ല. വീണ്ടും ശ്രമിക്കാൻ ടാപ്പ് ചെയ്യൂ."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"പ്രധാനപ്പെട്ട വിവരങ്ങൾ"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"തുടരുക"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"വേണ്ട"</string>
@@ -4666,8 +4777,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"SIM കോമ്പിനേഷൻ"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"നിങ്ങളുടെ ഔദ്യോഗിക നയ വിവരം"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"നിങ്ങളുടെ ഐടി അഡ്‌മിൻ ‌മാനേജ് ചെയ്യുന്ന ക്രമീകരണം"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"ബഗ് റിപ്പോർട്ട് കൈകാര്യം ചെയ്യുന്ന സംവിധാനം"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"നിങ്ങളുടെ ഉപകരണത്തിലെ ബഗ് റിപ്പോർട്ട് കുറുക്കുവഴി കൈകാര്യം ചെയ്യുന്നത് ഏത് ആപ്പാണെന്ന് നിർണ്ണയിക്കുന്നു."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"വ്യക്തിപരം"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"ജോലി"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"സിസ്‌റ്റം ഡിഫോൾട്ട്"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"ഈ തിരഞ്ഞെടുപ്പിന് തുടർന്നങ്ങോട്ട് സാധുതയില്ല. വീണ്ടും ശ്രമിക്കുക."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"കാസ്റ്റ് ചെയ്യുന്നത് നിർത്തുക"</string>
 </resources>
diff --git a/res/values-mn/arrays.xml b/res/values-mn/arrays.xml
index 0fc94fe..e0b3ad6 100644
--- a/res/values-mn/arrays.xml
+++ b/res/values-mn/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"Шууд"</item>
     <item msgid="463591454172790676">"5 секунд"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"Хүчин төгөлдөр бүү болго"</item>
+    <item msgid="5703177653586269306">"Сертификатын статусын хүсэлт тавих"</item>
+    <item msgid="326388247868439528">"Сертификатын статус шаардлагатай"</item>
+    <item msgid="1090956283885790552">"Бүх итгэмжлэгдээгүй сертификатын статус шаардлагатай"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"Товчлуур"</item>
     <item msgid="2630618799033509548">"Түнш төхөөрөмжийн PIN"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"Байхгүй"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"Урьдчилан хуваалцсан түлхүүртэй IPSec VPN болон Xauth гэрчлэлт"</item>
     <item msgid="2484564813864139237">"Сертификат болон Xauth гэрчлэл бүхий IPSec VPN"</item>
     <item msgid="68918911194507915">"Сертификат болон холимог гэрчлэл бүхий IPSec VPN"</item>
+    <item msgid="4631647675167100375">"Сертификат болон хэрэглэгчийн нэр, нууц үгийн нотолгоотой IKEv2/IPSec VPN"</item>
+    <item msgid="8812228622975052811">"Урьдчилан хуваалцсан түлхүүртэй L2TP/IPSec VPN"</item>
+    <item msgid="6630554779981113046">"Сертификаттай IKEv2/IPSec VPN"</item>
   </string-array>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"Байхгүй"</item>
diff --git a/res/values-mn/config.xml b/res/values-mn/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-mn/config.xml
+++ b/res/values-mn/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-mn/strings.xml b/res/values-mn/strings.xml
index c9713ce..d7c82df 100644
--- a/res/values-mn/strings.xml
+++ b/res/values-mn/strings.xml
@@ -31,49 +31,17 @@
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Эхлээд хөгжүүлэгчийн сонголтыг идэвхжүүлнэ үү."</string>
     <string name="header_category_wireless_networks" msgid="303445626075235229">"Утасгүй &amp; сүлжээ"</string>
     <string name="header_category_system" msgid="1665516346845259058">"Систем"</string>
-    <string name="radio_info_data_connection_enable" msgid="7500945447906187613">"Дата холболтыг идэвхжүүлэх"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"Дата холболтыг идэвхгүй болгох"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"VoLTE хэлбэрт оруулсан"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"Видео дуудлагыг бэлтгэсэн"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"Wifi дуудлагыг бэлтгэсэн"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"EAB/Presence-г бэлтгэсэн"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"Cbrs Дата"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"DSDS-г идэвхжүүлэх"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"Төхөөрөмжийг дахин эхлүүлэх үү?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"Та энэ тохиргоог өөрчлөхийн тулд төхөөрөмжөө дахин эхлүүлэх шаардлагатай."</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"Дахин эхлүүлэх"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"Цуцлах"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"Мобайл радио цахилгаан"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"SIM хаягийн лавлахыг харах"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"Тогтсон залгах дугааруудыг харах"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"Үйлчилгээний Залгах Дугаарыг харах"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"IMS үйлчилгээний төлөв"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"IMS төлөв"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"Бүртгэсэн"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"Бүртгээгүй"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"Боломжтой"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"Бoломжгүй"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"IMS-н бүртгэл: <xliff:g id="STATUS">%1$s</xliff:g>\nLTE-н дуу оруулалт: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nWiFi-н дуу оруулалт: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nВидео дуудлага: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT харагдах байдал: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"Үйлчилгээнд байгаа"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Үйлчилгээнээс гарсан"</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>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"Идэвхгүй"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"Дуудаж байна"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"Дуудлага хийж байна"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"Салгагдсан"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"Холбогдож байна"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"Холбогдсон"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Түр хаасан"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Тодорхойгүй"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"pkts"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"байт"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"USB санг салгах"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"SD картыг салгах"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"USB санг арилгах"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"Дэлгэц дээрх текстийг томруулах, жижигрүүлэх."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Жижигрүүлэх"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Томруулах"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"Жишээ текст"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"Озын Гайхамшигт шидтэн"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"Бүлэг 11: Озын Гайхамшигт Маргад эрдэнийн хот"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"Та энэ тохиргоог өөрчлөхийн тулд төхөөрөмжөө дахин эхлүүлэх шаардлагатай."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"Дахин эхлүүлэх"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"Цуцлах"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"Боломжтой медиа төхөөрөмж"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"Боломжтой дуудлагын төхөөрөмж"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"Одоогоор холбогдсон"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"Медиа төхөөрөмжүүд"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"Дуудлага хийх төхөөрөмжүүд"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"Бусад төхөөрөмж"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Хадгалсан төхөөрөмж"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth холбогдохын тулд асна"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Холболтын тохируулга"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"Таны оруулсан порт буруу байна."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"HTTP проксиг хөтөч ашиглаж байгаа боловч бусад апп-ууд ашиглахгүй байж магадгүй."</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"PAC URL: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"Одоогийн subId:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"Өгөгдмөл дата SIM-н SubId:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"DL Зурвасын өргөн (kbps):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"UL Зурвасын өргөн (kbps):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"Үүрэн байршлын мэдээлэл (зогсоосон):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"LTE Сувгийн бодит тохиргоо:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"Үүрэн мэдээлэл сэргээх үнэлгээ:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"Бүх үүрэн хэмжилтийн мэдээлэл:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"Дата үйлчилгээ:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"Роуминг:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"Дуудлагыг дахин чиглүүлэх:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"Асааснаас хойш дахин тохируулсан PPP-н тоо:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"Одоогийн сүлжээ:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"Хүлээн авсан дата:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"Дуут үйлчилгээ:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"Дохионы хүч:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"Дуут дуудлагын төлөв:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"Илгээсэн дата:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"Зурвасыг хүлээж байна:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"Утасны дугаар:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"Радио зурвасыг сонгох"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"Дуут сүлжээний төрөл:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"Дата сүлжээний төрөл:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"Утасны индекс сонгоно уу"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"Давуу сүлжээний төрлийг тохируулна уу:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"Пинг Хостын нэр(www.google.com) IPv4:"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"Пинг Хостын нэр(www.google.com) IPv6:"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"HTTP Үйлчлүүлэгчийн тест:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"Пинг тест явуулах"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"Шинэчлэх"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"Дахин шинэчлэх"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"DNS шалгалтыг унтраах/асаах"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"OEM-бүрээр Мэдээлэл/Тохиргоо"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"Радио зурвасын горимыг тохируулах"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"Зурвасын жагсаалтыг ачаалж байна..."</string>
-    <string name="band_mode_set" msgid="494968379352406359">"Тохируулах"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"Амжилтгүй"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"Амжилттай"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"Өөрчлөлтүүд USB каблийг дахин холбосон үед үйлчлэх болно"</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"USB масс санг идэвхжүүлэх"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"Нийт байт:"</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"Хамгийн доор оруулах"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"Хэлийг устгах"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"Үйлдэл сонгох"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"Төхөөрөмжийн мэдээлэл"</string>
     <string name="display_label" msgid="3056320781191343221">"Дэлгэц"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"Таблетын мэдээлэл"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"Утасны мэдээлэл"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"USB сан"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"SD карт"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"Прокси тохиргоо"</string>
@@ -306,9 +234,6 @@
     <string name="airplane_mode" msgid="3196085857882526817">"Нислэгийн горим"</string>
     <string name="wireless_networks_settings_title" msgid="8557542379234105369">"Утасгүй &amp; сүлжээ"</string>
     <string name="radio_controls_summary" msgid="9028430178697624501">"Wi-Fi, блютүүт , нислэгийн горим, мобайл сүлжээнүүд, &amp; VPNs-г удирдах"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"Мобайл дата"</string>
-    <string name="calls_title" msgid="6334813967619899114">"Дуудлагыг зөвшөөрөх"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"SMS Мессеж"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"Мобайл сүлжээгээр дата ашиглалтыг зөвшөөрөх"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"Роуминг дээр дата ашиглалтыг зөвшөөрөх"</string>
     <string name="roaming" msgid="3055365654530847985">"Роуминг"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"Роумингтэй үед дата үйлчилгээнд холбогдох"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"Та төрөлх сүлжээнээс дата роумингыг унтраагаад гарсан тул дата холболтоо алдлаа."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"Асаах"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"Таны төлбөр өндөр гарах магадлалтайг анхааруулж байна."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"Дата роумингыг зөвшөөрсөн үед танд нэлээд их роумингын төлбөр гарч болно!\n\nЭнэ тохиргоо энэ таблетын бүх хэрэглэгчид хамаарна."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"Дата роумингыг зөвшөөрсөн үед танд нэлээд их роумингын төлбөр гарч болно!\n\nЭнэ тохиргоо энэ утасны бүх хэрэглэгчид хамаарна."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"Роуминг үйлчилгээний төлбөр тооцогдож болзошгүй."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"Та дата роумингийг зөвшөөрвөл роуминг үйлчилгээний төлбөр тооцогдож болзошгүй.\n\nУг тохиргоо нь энэ таблетын бүх хэрэглэгчид нөлөөлнө."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"Та дата роумингийг зөвшөөрвөл роуминг үйлчилгээний төлбөр тооцогдож болзошгүй.\n\nУг тохиргоо нь энэ утасны бүх хэрэглэгчид нөлөөлнө."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"Дата роумингыг зөвшөөрөх үү?"</string>
     <string name="networks" msgid="5184501333492775095">"Операторын сонголт"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"Сүлжээний операторыг сонгоно уу"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"Админ цуцалсан"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"Аюулгүйгээр түгжих (lockdown) сонголтыг харуулах"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"Ухаалаг түгжээ, биометрээр түгжээ тайлах онцлог болон мэдэгдлийг түгжигдсэн дэлгэц дээр унтраадаг дэлгэцийн асаах/унтраах товчлуурын сонголт"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"Итгэмжлэгдсэн агент зөвхөн түгжээгүй байлгадаг"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"Хэрэв идэвхжүүлсэн бол итгэмжлэгдсэн агент таны төхөөрөмжийг илүү удаан хугацаагаар түгжээгүй байлгах хэдий ч түгжигдсэн төхөөрөмжийн түгжээг цаашид тайлах боломжгүй болно."</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"Итгэмжлэлийг алдах үед дэлгэцийг түгжинэ"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"Хэрэв идэвхжүүлсэн бол төхөөрөмж хамгийн сүүлийн итгэмжлэгдсэн агент итгэмжлэлээ алдах үед түгжигдэнэ"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"Байхгүй"</string>
@@ -390,7 +313,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"Миний Байршил, дэлгэц тайлах, SIM картны түгжээ, жуухны сангийн түгжээг тохируулах"</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"Миний Байршил, дэлгэц тайлах, жуухын сангийн түгжээ зэргийг тохируулах"</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"Нууцлал"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"Админ цуцалсан"</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>
@@ -693,7 +616,6 @@
       <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g>-с цөөн цифртэй байх ёстой</item>
       <item quantity="one"><xliff:g id="NUMBER_0">%d</xliff:g>-с цөөн цифртэй байх ёстой</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"Зөвхөн 0-9 хүртэлх цифр агуулах шаардлагатай"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"Төхөөрөмжийн админ саяхны ПИН-г ашиглахыг зөвшөөрдөггүй"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"Таны IT админ түгээмэл ПИН-г блоклосон байна. Өөр ПИН оруулна уу."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"Үүнд хүчингүй тэмдэгт агуулах боломжгүй"</string>
@@ -724,6 +646,10 @@
       <item quantity="other">Хамгийн багадаа <xliff:g id="COUNT">%d</xliff:g> тэмдэгт агуулах шаардлагатай</item>
       <item quantity="one">Хамгийн багадаа 1 тэмдэгт агуулах шаардлагатай</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="other">Хамгийн багадаа тоон бус <xliff:g id="COUNT">%d</xliff:g> тэмдэгт агуулах ёстой</item>
+      <item quantity="one">Хамгийн багадаа тоон бус 1 тэмдэгт агуулах ёстой</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"Төхөөрөмжийн админ саяхны нууц үгийг ашиглахыг зөвшөөрдөггүй"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"Таны IT админ түгээмэл нууц үгийг блоклосон байна. Өөр нууц үг оруулна уу."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"Цифр өсөх, буурах, давхцахыг зөвшөөрдөггүй"</string>
@@ -837,19 +763,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2.4 Гц"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 Гц"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"Нэвтрэх"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"Сайтыг нээх"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"<xliff:g id="REMAINING_TIME">%1$s</xliff:g> үлдсэн"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"<xliff:g id="EXPIRY_TIME">%1$s</xliff:g>-д хугацаа дуусна"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"Сүлжээнд нэвтрэх бол энд товшино уу"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"<xliff:g id="REQUESTER">%s</xliff:g> Wi-Fi асаах хүсэлтэй байна"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"<xliff:g id="REQUESTER">%s</xliff:g> Wi-Fi-г унтраах хүсэлтэй байна"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"Алдааг нь засах боломжтой аппуудын байт кодыг бататгах"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"ART-д алдааг нь засах боломжтой аппуудын байт кодыг бататгахыг зөвшөөрөх"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"Сэргээх хурдыг харуулах"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Одоогийн дэлгэцийн сэргээх хурдыг харуулах"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"Таблет өөр төхөөрөмжид хүрэх үед өгөгдөл солилцохыг зөвшөөрөх"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"Утас өөр төхөөрөмжид хүрэх үед өгөгдөл солилцохыг зөвшөөрөх"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"Таблет NFC төхөөрөмжид хүрэх үед өгөгдөл солилцохыг зөвшөөрөх"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"Утас NFC төхөөрөмжид хүрэх үед өгөгдөл солилцохыг зөвшөөрөх"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"NFC-г асаах"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"NFC нь энэ төхөөрөмж болон бусад ойролцоох төхөөрөмж эсвэл төлбөрийн машин, хандалтын уншигч, интерактив зар, шошгололт гэх мэт зүйлийн хооронд өгөгдөл солилцдог."</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"NFC-г аюулгүй болгох"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFC-н төхөөрөмжийн түгжээг тайлах шаардлагатай"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"NFC-н төлбөр болон нийтийн тээврийг зөвхөн дэлгэцийн түгжээг тайлсан үед ашиглахыг зөвшөөрөх"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"Апп-ын агуулгыг NFC-р дамжуулахад бэлэн байна"</string>
@@ -923,8 +855,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Асаах"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Wi‑Fi сканыг асаасан"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Дэлгэрэнгүй сонголтууд"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"Нарийвчилсан тохируулгын унадаг жагсаалт. Буулгахын тулд хоёр товшино уу."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"Нарийвчилсан тохируулгын унадаг жагсаалт. Дэлгэхийн тулд хоёр товшино уу."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Дэлгэрэнгүй сонголтын эвхмэл жагсаалт"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"дэлгэх"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"Сүлжээний нэр"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"SSID оруулна уу"</string>
     <string name="wifi_security" msgid="9095934643631406913">"Аюулгүй байдал"</string>
@@ -934,6 +866,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"Статус"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"Дамжуулах холбоосны хурд"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"Холбоосны хурдыг хүлээн авах"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"Линк хурд"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"Давтамж"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"IP хаяг"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"Дамжуулан хадгалсан"</string>
@@ -941,6 +874,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"EAP арга"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"2-р шатны гэрчлэлт"</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>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"Хэрэглэгчийн сертификат"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"Таниулбар"</string>
@@ -957,6 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"Wi-Fi сүлжээний цэгт хамгийн багадаа нэг зурвасыг сонгоно уу:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"IP тохиргоо"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"Нууцлал"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"Захиалга"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"Захиалгыг харах эсвэл өөрчлөх"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"Санамсаргүй сонгосон MAC"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"Төхөөрөмж нэмэх"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"Энэ төхөөрөмжийг “<xliff:g id="SSID">%1$s</xliff:g>”-д нэмэхийн тулд доорх хурдан хариу үйлдлийн кодыг голлуулна уу"</string>
@@ -966,12 +902,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"Wi‑Fi-г хуваалцах"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"“<xliff:g id="SSID">%1$s</xliff:g>”-д холбогдохын тулд энэ хурдан хариу үйлдлийн кодыг скан хийж, нууц үгийг хуваалцана уу"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"“<xliff:g id="SSID">%1$s</xliff:g>”-д холбогдохын тулд энэ хурдан хариу үйлдлийн кодыг скан хийнэ үү"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"Хурдан хариу үйлдлийн кодыг уншиж чадсангүй. Кодыг дахин голлуулаад дахин оролдоно уу"</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"Дахин оролдоно уу. Хэрэв асуудал үргэлжилсээр байвал төхөөрөмжийн үйлдвэрлэгчтэй холбогдоно уу"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"Алдаа гарлаа"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"Төхөөрөмжийг залгасан, цэнэглэсэн бөгөөд асаасан эсэхийг шалгана уу"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"Төхөөрөмжийг залгасан, цэнэглэсэн бөгөөд асаасан эсэхийг шалгана уу. Хэрэв асуудал үргэлжилсээр байвал төхөөрөмжийн үйлдвэрлэгчтэй холбогдоно уу"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"Энэ төхөөрөмж “<xliff:g id="SSID">%1$s</xliff:g>”-г нэмэхийг дэмжээгүй байна"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"Төхөөрөмжийг Wi‑Fi хандалтын цэг/рүүтэр лүүгээ ойртуулахыг оролдоно уу"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"Нууц үгийг шалгаад дахин оролдоно уу"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"Төхөөрөмжийн үйлдвэрлэгчтэй холбогдоно уу"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"Холболтыг шалгаад дахин оролдоно уу"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"Сүлжээ сонгох"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"Төхөөрөмжөө холбохын тулд сүлжээ сонгоно уу"</string>
@@ -984,11 +922,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"Wi‑Fi-г энэ төхөөрөмжтэй хуваалцаж байна…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"Холбогдож байна…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"Сүлжээний цэгийг хуваалцах"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"Өөрийгөө мөн гэдгийг баталгаажуулаарай"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"Та мөн болохоо бататгана уу"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"Wi‑Fi-н нууц үг: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"Сүлжээний цэгийн нууц үг: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"Автомат холболт"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"Утсыг энэ сүлжээний ойролцоо байх үед автоматаар холбогдохыг зөвшөөрөх"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"Таблетыг энэ сүлжээний ойролцоо байх үед автоматаар холбогдохыг зөвшөөрөх"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"Төхөөрөмж нэмэх"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"Энэ сүлжээнд төхөөрөмж нэмэхийн тулд хурдан хариу үйлдлийн код ашиглах"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"Хурдан хариу үйлдлийн код буруу форматтай байна"</string>
     <string name="retry" msgid="7542103800274026915">"Дахин оролдох"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"Төхөөрөмжийн бусад хэрэглэгчтэй хуваалцах"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(өөрчлөгдөөгүй)"</string>
@@ -1000,6 +942,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"Ямар ч сертификат заагаагүй байна. Таны холболт хувийн биш байх болно."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"Сүлжээний нэр хэтэрхий урт байна."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"Домэйн зааж өгөх шаардлагатай."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"Сертификат шаардлагатай."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"WPS боломжтой"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (WPS боломжтой)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"Оператор компанийн Wi‑Fi сүлжээ"</string>
@@ -1051,7 +994,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"Wi‑Fi дэлгэрэнгүй"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"MAC хаяг"</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_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>
@@ -1103,7 +1047,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"Бусад төхөөрөмждөө Wi‑Fi холболт үүсгэхийн тулд сүлжээний цэгийг ашиглана уу. Сүлжээний цэг нь таны мобайл датаны холболтоор интернетэд холбогдоно. Мобайл датаны нэмэлт төлбөр гарна."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"Апп ойролцоох төхөөрөмжтэй агуулга хуваалцахын тулд сүлжээний цэг үүсгэх боломжтой."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Сүлжээний цэгийг автоматаар унтраана"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"Хэрэв ямар ч төхөөрөмж холбогдоогүй бол Wi‑Fi сүлжээний цэг унтарна"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Холбогдсон төхөөрөмжүүд байхгүй үед"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"Сүлжээний цэгийг асааж байна…"</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"Сүлжээний цэгийг унтрааж байна…"</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> идэвхтэй байна"</string>
@@ -1112,6 +1056,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"Wi‑Fi хотспот тохируулах"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"AndroidAP WPA2 PSK сүлжээний цэг"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"АндройдСүлжээнийЦэг"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"Энэ сүлжээг хадгалах уу?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"<xliff:g id="APPNAME">%1$s</xliff:g> таны утсанд сүлжээ хадгалахыг хүсэж байна"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"<xliff:g id="APPNAME">%1$s</xliff:g> таны утсанд сүлжээг хадгалахыг хүсэж байна"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"Хадгалж байна…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"Хадгалсан"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"Хадгалах боломжгүй. Дахин оролдоно уу."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"Сүлжээнүүдийг хадгалах уу?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"<xliff:g id="APPNAME">%1$s</xliff:g> таны утсанд эдгээр сүлжээг хадгалахыг хүсэж байна"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"<xliff:g id="APPNAME">%1$s</xliff:g> таны таблетад эдгээр сүлжээг хадгалахыг хүсэж байна"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"<xliff:g id="NUMBER">%d</xliff:g> сүлжээг хадгалж байна…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"Сүлжээнүүдийг хадгаллаа"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"Wi-Fi дуудлага"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"Wi‑Fi-р дуудлагын хамрах хүрээг өргөтгөх"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"Дуудлагын хамрах хүрээг өргөтгөхийн тулд Wi-Fi-г асаах"</string>
@@ -1138,16 +1093,18 @@
     <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>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"Wi-Fi Дуудлагыг идэвхжүүлэх"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"Wi-Fi дуудлагыг асаах"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"Wi‑Fi дуудлагыг %1$s-д дэмждэггүй"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"<xliff:g id="SSID">%1$s</xliff:g>-с салсан"</string>
     <string name="carrier" msgid="1755020806290963951">"Оператор компани"</string>
     <string name="display_settings_title" msgid="626835071804834218">"Дэлгэц"</string>
     <string name="sound_settings" msgid="5514582720435174014">"Ая"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"Дууны хэмжээ"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"Хөгжмийн эффект"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"Хонх дуугаргах түвшин"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"Хонх ба мэдэгдлийн дууны түвшин"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"Дуугүй үед чичрэх"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"Мэдэгдлийн өгөгдмөл ая"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"Хонхны ая"</string>
@@ -1272,13 +1229,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"Хуваарь"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"Аль нь ч биш"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"Нар мандахаас жаргах хүртэл асна"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"Тохируулсан хугацаанд асна"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"Төлөв"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"Унтраалттай / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"Автоматаар хэзээ ч асахгүй"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"Нар жаргахад автоматаар асна"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"<xliff:g id="ID_1">%1$s</xliff:g>-д автоматаар асна"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"Асаалттай / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"Автоматаар хэзээ ч унтрахгүй"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"Нар мандахад автоматаар унтарна"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"<xliff:g id="ID_1">%1$s</xliff:g>-д автоматаар унтарна"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"<xliff:g id="ID_1">%1$s</xliff:g> хүртэл асаах"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"<xliff:g id="ID_1">%1$s</xliff:g> хүртэл унтраах"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"Бараан загвар нь таны батарейн ашиглалтын хугацааг зарим сайт дээр уртасгахад туслахын тулд хар өнгийн дэвсгэр ашигладаг. Бараан загварын хуваарьт төлөв нь таны дэлгэц унтрах хүртэл хүлээж байгаад асна."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"Дэлгэцийн завсарлага"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"Дэлгэц унтарна"</string>
@@ -1290,7 +1252,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"Ханын зураг солих"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"Дэлгэцээ өөрчлөх"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"Ханын зураг сонгох"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"Pixel-ээ өөрчилнө үү"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"Утсаа өөрчлөх"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"Өөр загвар, ханын зураг болон бусад зүйлийг туршиж үзнэ үү"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"Дэлгэц амраагч"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Цэнэглэх эсвэл суурилуулах үед"</string>
@@ -1379,6 +1341,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"USB санг салгах, боломжит хадгалах санг харах"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"SD картыг салгах, боломжит хадгалах санг харах"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (sim-н слот %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"Үзэхийн тулд хадгалсан сүлжээг сонгоно уу"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"Утасны дугаар"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (sim-н слот %1$d)"</string>
@@ -1405,6 +1368,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"Роуминг"</string>
     <string name="status_operator" msgid="4335640583552058491">"Сүлжээ"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"Wi-Fi MAC хаяг"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"Төхөөрөмжийн Wi‑Fi MAC хаяг"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"Bluetooth хаяг"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Сериалын дугаар"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Асаалттай байсан хугацаа"</string>
@@ -1617,6 +1581,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Үндсэн APN тохиргоог дахин шинэчилж дууслаа."</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"Сонголтыг шинэчлэх"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"Сүлжээ, апп эсвэл төхөөрөмжийг шинэчлэх боломжтой"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"Аппуудыг шинэчлэх боломжтой"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"Wi-Fi, мобайл &amp; Bluetooth-г шинэчлэх"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"Энэ нь дараах бүх сүлжээний тохиргоог шинэчилнэ: \n\n"<li>"Wi‑Fi"</li>\n<li>"мобайл дата"</li>\n<li>"Bluetooth"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"Татаж авсан СИМ-үүдийг устгах"</string>
@@ -1666,6 +1631,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"Сүлжээний цэг асаалттай"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"Модем болгох"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"Дата хэмнэгч асаалттай үед зөөврийн сүлжээний цэгийг ашиглах болон модем болгох боломжгүй"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"Зөвхөн сүлжээний цэг"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"Зөвхөн USB"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"Зөвхөн Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"Сүлжээний цэг, USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"Сүлжээний цэг, Bluetooth"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB, Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"Сүлжээний цэг, USB, Bluetooth"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"Бусад төхөөрөмжтэй интернэт хуваалцахгүй"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"Модем болгох"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Wi-Fi сүлжээний цэгийг бүү ашигла"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Интернэтийг зөвхөн USB-р хуваалцана"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Интернэтийг зөвхөн Bluetooth-р хуваалцана"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Интернэтийг зөвхөн USB болон Bluetooth-р хуваалцана"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB модем болгох"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"Утасны интернет холболтыг USB-р хуваалцах"</string>
@@ -1756,9 +1734,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"Аюулгүй байдлын мэдээлэл"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"Танд дата холболт алга. Энэ мэдээллийг одоо харахын тулд интернетэд холбогдсон дурын компьютероос %s руу очно уу."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"Ачаалж байна..."</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"ПИН ашиглах"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"Хээг ашиглах"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"Нууц үг ашиглах"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"Дэлгэцийн түгжээ тохируулах"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"Аюулгүй байдлын үүднээс нууц үг тохируулна уу"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"Хурууны хээ ашиглахын тулд нууц үг тохируулах"</string>
@@ -1767,8 +1742,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"Хурууны хээ ашиглахын тулд ПИН тохируулах"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"Аюулгүй байдлын үүднээс хээ тохируулна уу"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"Нууц үгээ дахин оруулах"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"Ажлын нууц үгээ оруулна уу"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"Хээгээ баталгаажуулна уу"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"Ажлын хээгээ оруулна уу"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"ПИН-ээ дахин оруулах"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"Ажлын ПИН-ээ оруулна уу"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"Нууц үг таарахгүй байна."</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"PIN таарахгүй байна"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"Хээгээ дахин зурах"</string>
@@ -1779,6 +1757,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"Царайгаар тайлахыг ашиглахын тулд нууц үг тохируулна уу"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"Царайгаар тайлахыг ашиглахын тулд хээ тохируулна уу"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"Царайгаар тайлахыг ашиглахын тулд ПИН тохируулна уу"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"Нууц үгээ мартсан уу?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"Хээгээ мартсан уу?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"ПИН-ээ мартсан уу?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"Үргэлжлүүлэхийн тулд төхөөрөмжийн зурган түгжээг оруулна уу"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"Үргэлжлүүлэхийн тулд төхөөрөмжийнхөө ПИН кодыг оруулна уу"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"Үргэлжлүүлэхийн тулд төхөөрөмжийн нууц үгээ оруулна уу"</string>
@@ -1846,6 +1827,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"Бүх апп эх үүсвэрийг зөвшөөрөх"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"Саяхан нээсэн апп"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"Бүх <xliff:g id="COUNT">%1$d</xliff:g> аппыг харах"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"IT админтайгаа холбогдоно уу"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"Эдгээр нь танд ПИН, хээ эсвэл нууц үгээ шинэчлэхэд туслах боломжтой"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"Таны таблет болон хувийн өгөгдөл тодорхойгүй апп суулгасан тохиолдолд гэмтэж болзошгүй. Энэ эх сурвалжаас апп суулгаснаар та тухайн аппыг ашигласнаас үүдэн таны таблетад гэмтэл гарах, эсвэл өгөгдөл устах зэрэг гарсан эрсдлийг хариуцна гэдгээ зөвшөөрч байна."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"Таны утас болон хувийн өгөгдөл тодорхойгүй апп суулгасан тохиолдолд гэмтэж болзошгүй. Энэ эх сурвалжаас апп суулгаснаар та тухайн аппыг ашигласнаас үүдэн таны утсанд гэмтэл гарах, эсвэл өгөгдөл устах зэрэг гарсан эрсдлийг хариуцна гэдгээ зөвшөөрч байна."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"Та тодорхойгүй апп суулгасан тохиолдолд таны төхөөрөмж болон хувийн өгөгдөл гэмтэж болзошгүй. Энэ эх сурвалжаас апп суулгаснаар та тухайн аппыг ашигласнаас үүдэн таны төхөөрөмж гэмтэх эсвэл өгөгдөл устах зэрэг гарсан эрсдэлийг хариуцна гэдгээ зөвшөөрч байна."</string>
@@ -1897,7 +1880,7 @@
     <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="1377296810290814749">"Энэ нь дараах бүх тохиргоог шинэчлэх болно:\n\n"<li>"Идэвхгүй аппууд"</li>\n<li>"Идэвхгүй апп мэдэгдлүүд"</li>\n<li>"Үйлдлүүдийн үндсэн аппликейшнүүд"</li>\n<li>"Аппуудын далд дата хязгаарлалтууд"</li>\n<li>"Ямар нэг зөвшөөрлийн хязгаарлалтууд"</li>\n\n"Та ямар нэг апп дата алдахгүй."</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>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"Апп-г дахин шинэчлэх"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"Эзэлсэн зайг удирдах"</string>
     <string name="filter" msgid="9039576690686251462">"Шүүлтүүр"</string>
@@ -2097,7 +2080,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"Аудио &amp; дэлгэцийн текст"</string>
     <string name="display_category_title" msgid="6638191682294461408">"Дэлгэц"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"Харилцан үйлдлийн хяналт"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"Татаж авсан үйлчилгээ"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"Татсан аппууд"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"Туршилтын"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"Онцлогийн дарцаг"</string>
     <string name="talkback_title" msgid="8756080454514251327">"Talkback"</string>
@@ -2105,27 +2088,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"Дэлгэц дээрх зүйлсийг чанга уншуулахын тулд дарна уу"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"Тайлбарын сонголт"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"Томруулах"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"Томруулалтын хэсэг"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"Томруулалтыг идэвхжүүлэх"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"Дэлгэцийг томруулах үедээ хэрэглэхийг хүсэж байгаа томруулалтын хэсг(үүд)ээ сонгоно уу"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"Бүтэн дэлгэц"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"Дэлгэцийн нэг хэсэг"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"Бүтэн дэлгэц; дэлгэцийн нэг хэсэг"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"Дэлгэцийг бүхэлд нь томруулах"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"Дэлгэцийн нэг хэсгийг томруулах"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Томруулах тохиргоо"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"Гурван удаа товшиж томруулах"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Товчлолоор томруулах"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Товчлол болон гурав товшилтоор томруулах"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"<xliff:g id="SERVICE">%1$s</xliff:g>-н тухай"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"Сонголтууд"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"Дэлгэцэд томруулах"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"Томруулахын тулд 3 удаа дар"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Томруулахын тулд товчлуурыг товшино уу"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><b>"Томруулахын тулд"</b>" дэлгэцийг 3 удаа хурдан товшино уу.\n"<ul><li>"Гүйлгэхийн тулд 2 эсвэл олон хуруугаараа чирнэ үү"</li>\n<li>"Томруулах хэмжээг тохируулахын тулд 2 эсвэл олон хуруугаараа чимхэнэ үү"</li></ul>\n\n<b>"Түр хугацаанд томруулахын тулд"</b>" дэлгэцийг 3 удаа товшиж, сүүлийн товшилтыг удаан дарна уу.\n"<ul><li>"Дэлгэцийг судлахын тулд чирнэ үү"</li>\n<li>"Жижигрүүлэхийн тулд хуруугаа өргөнө үү"</li></ul>\n\n"Та гар, навигацийн самбарт томруулах боломжгүй."</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"Та томруулалт асаалттай үед дэлгэц дээрээ томруулах боломжтой.\n\n"<b>"Томруулахын тулд"</b>" томруулалтыг эхлүүлээд дэлгэц дээрээ дурын газраа товшино уу.\n"<ul><li>"• Гүйлгэхийн тулд 2 эсвэл түүнээс дээш хуруугаараа чирнэ үү"</li>\n<li>"• Томруулах хэмжээг тохируулахын тулд 2 эсвэл түүнээс дээш хуруугаараа чимхэнэ үү"</li></ul>\n\n<b>"Түр хугацаанд томруулахын тулд"</b>" томруулалтыг эхлүүлээд дэлгэц дээр дурын газраа хүрээд удаан дарна уу.\n"<ul><li>"• Дэлгэц дээр зөөхийн тулд чирнэ үү "</li>\n<li>"• Жижгэрүүлэхийн тулд хуруугаа авна уу"</li></ul>\n\n"Та гар эсвэл навигацийн самбар дээр томруулах боломжгүй."</string>
+    <string name="accessibility_screen_magnification_summary" msgid="7617931632990040045">"Контентыг илүү сайн харахын тулд дэлгэц дээр хурдан томруулна уу.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Томруулахын тулд:&lt;/b&gt;&lt;br/&gt;	1. Томруулахыг эхлүүлэхийн тулд товчлол ашиглана уу&lt;br/&gt;	2. Дэлгэцийг товшино уу&lt;br/&gt;	3. Дэлгэц дээр шилжихийн тулд 2 хуруугаараа чирнэ үү&lt;br/&gt;	4. Томруулалтыг тохируулахын тулд 2 хуруугаараа чимхэнэ үү&lt;br/&gt;	5. Томруулахыг зогсоохын тулд товчлол ашиглана уу&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Түр хугацаанд томруулахын тулд:&lt;/b&gt;&lt;br/&gt;	1. Томруулахыг эхлүүлэхийн тулд товчлол ашиглана уу&lt;br/&gt;	2. Дэлгэц дээр дурын газар удаан дарна уу&lt;br/&gt;	3. Дэлгэц дээр шилжихийн тулд хуруугаараа чирнэ үү&lt;br/&gt;	4. Томруулахыг зосоохын тулд хуруугаа өргөнө үү"</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Томруулах сонголт асаалттай үед та дэлгэцээ томруулж болно.\n\n"<b>"Томруулахын тулд "</b>" томруулах сонголтыг эхлүүлж, дэлгэцийн аль нэг хэсгийг товшино уу.\n"<ul><li>"Гүйлгэхийн тулд 2 эсвэл түүнээс дээш хуруугаараа чирнэ үү"</li>\n<li>"Томруулах хэмжээг тохируулахын тулд 2 эсвэл түүнээс дээш хуруугаараа чимхэнэ үү"</li></ul>\n\n<b>"Түр хугацаанд томруулахын тулд "</b>" томруулах сонголтыг эхлүүлээд, дэлгэцийн аль нэг хэсэг дээр удаан дарна уу.\n"<ul><li>"Дэлгэцийн эргэн тойронд очихын тулд чирнэ үү"</li>\n<li>"Жижигрүүлэхийн тулд хуруугаа авна уу"</li></ul>\n\n"Та гар эсвэл навигацийн самбарт томруулах боломжгүй."</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Нээхийн тулд хандалтын товчлуурыг ашиглах"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Нээхийн тулд зангааг ашиглах"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"Хандалтын шинэ зангаа ашиглах"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"Энэ үйлчилгээг асаах эсвэл унтраахын тулд дэлгэцийнхээ доод хэсэгт байрлах хандалтын товчлуур<xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>-г товшино уу.\n\nҮйлчилгээнүүд хооронд сэлгэхийн тулд хандалтын товчлуурт хүрээд удаан дарна уу."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"Энэ үйлчилгээг асаах эсвэл унтраахын тулд хоёр хуруугаараа дэлгэцийн доороос дээш шударна уу.\n\nҮйлчилгээнүүд хооронд сэлгэхийн тулд хоёр хуруугаараа дээш шудраад удаан дарна уу."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"Энэ үйлчилгээг асаах эсвэл унтраахын тулд гурван хуруугаараа дэлгэцийн доороос дээш шударна уу.\n\nҮйлчилгээнүүд хооронд сэлгэхийн тулд гурван хуруугаараа дээш шудраад удаан дарна уу."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"Хандалтын үйлчилгээг асаах эсвэл унтраахын тулд хоёр хуруугаараа дэлгэцийн доороос дээш шударна уу.\n\nҮйлчилгээнүүд хооронд сэлгэхийн тулд хоёр хуруугаараа дээш шудраад удаан дарна уу."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"Хандалтын үйлчилгээг асаах эсвэл унтраахын тулд гурван хуруугаараа дэлгэцийн доороос дээш шударна уу.\n\nҮйлчилгээнүүд хооронд сэлгэхийн тулд гурван хуруугаараа дээш шудраад удаан дарна уу."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"Энэ үйлчилгээг асаах эсвэл унтраахын тулд дэлгэцийнхээ доод хэсэгт байрлах хандалтын товчлуур <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>-г товшино уу.\n\nҮйлчилгээнүүд хооронд сэлгэхийн тулд хандалтын товчлуур дээр удаан дарна уу."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"Энэ үйлчилгээг асаах эсвэл унтраахын тулд хоёр хуруугаараа дэлгэцийн доороос дээш шударна уу.\n\nҮйлчилгээнүүд хооронд сэлгэхийн тулд хоёр хуруугаараа дээш шудраад удаан дарна уу."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"Энэ үйлчилгээг асаах эсвэл унтраахын тулд гурван хуруугаараа дэлгэцийн доороос дээш шударна уу.\n\nҮйлчилгээнүүд хооронд сэлгэхийн тулд гурван хуруугаараа дээш шудраад удаан дарна уу."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"Хандалтын үйлчилгээг асаах эсвэл унтраахын тулд хоёр хуруугаараа дэлгэцийн доороос дээш шударна уу.\n\nҮйлчилгээнүүд хооронд сэлгэхийн тулд хоёр хуруугаараа дээш шудраад удаан дарна уу."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"Хандалтын үйлчилгээг асаах эсвэл унтраахын тулд гурван хуруугаараа дэлгэцийн доороос дээш шударна уу.\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="2820923641553461297">"Хандалтын товчлуур"</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="8922102767509399352">"Дэлгэцийнхээ доод хэсэгт байрлах хандалтын товчлуур <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> дээр товшино уу"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"2 хуруугаараа дэлгэцийн доороос дээш шударна уу"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"3 хуруугаараа дэлгэцийн доороос дээш шударна уу"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Дууны түвшний түлхүүрийг удаан дарах"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"Дууны түвшний хоёр товчийг 1 секундийн турш зэрэг дарна уу"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Дэлгэцийг гурав товших"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"Дэлгэцийг 3 удаа хурдан товшино уу. Энэ товчлол таны төхөөрөмжийг удаашруулж болзошгүй."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"Дэлгэрэнгүй"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"Хүртээмжийн товчлуурыг <xliff:g id="SERVICE">%1$s</xliff:g> болгож тохируулсан. Томруулахын тулд Хүртээмжийн товчлуурыг удаан дараад, томруулахыг сонгоно уу."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"Хандалтын зангааг <xliff:g id="SERVICE">%1$s</xliff:g>-д тохирууллаа. Томруулахыг ашиглахын тулд хоёр хуруугаараа дэлгэцийн доороос дээш шудраад удаан дарна уу. Дараа нь томруулахыг сонгоно уу."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"Дууны түвшний товчлол"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"Товчлолын үйлчилгээ"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Товчлолын тохиргоо"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"Түгжигдсэн дэлгэцээс зөвшөөрөх"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"Товчлолыг асаасан үед хүртээмжийн онцлогийг эхлүүлэх бол дууны түвшинг ихэсгэх багасгах товчлуурыг 3 секунд дарж болно."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"Өндөр ялгаралтай текст"</string>
@@ -2149,24 +2157,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"Танаас үйлдэл хийхийг шаарддаг хэдий ч зөвхөн түр хугацаанд харагддаг зурвасыг хэр удаан хугацаагаар харуулахыг сонгоно уу.\n\nЗарим апп энэ тохиргоог дэмждэггүй."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"Хүрээд &amp; барьж хүлээх"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"Өнгө урвуулалт"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"Үзүүлбэрт нөлөөлж болзошгүй"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"Тодорхой хугацаа"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"Өнгө хувиргалтыг ашиглах"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"Өнгө хувиргалт нь цайвар дэлгэцийг бараан болгодог. Энэ нь тод гэрэлд мэдрэг хүмүүст дэлгэцийг илүү хялбар харахад тусалдаг.&lt;br/&gt;&lt;br/&gt;Тэмдэглэл: Бараан өнгийг цайвар болгоно. Өнгө нь медиа болон зураг дээр өөрчлөгдөнө. Та мөн Бараан загварыг (Тохиргоо, Дэлгэц) ашиглах боломжтой."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"Автомат товшилт (тодорхой хугацаатай)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"Хэрэв та хулгана ашиглаж байвал тодорхой хугацааны туршид хөдлөхөө болсон үед нь автоматаар үйлдэл хийхийн тулд курсорыг тохируулах боломжтой."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"Дарахаас өмнө хүлээх"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"Авто товшилт бүү ашигла (өгөгдмөл)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"Богино"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0.2 секунд"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"Дунд"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0.6 секунд"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"Урт"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 секунд"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"Захиалгат"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"Богино"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"Удаан"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"Автомат товшилтын хугацаа"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"Чичиргээ, мэдрэгдэх хүч"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Мэдэгдлийн чичиргээ"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Хонхны чичиргээ"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Санал хүсэлтэд хүрэх"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"Үйлчилгээг ашиглах"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>-г ашиглах"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>-г нээх"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"Өнгө тохируулагчийг ашиглах"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"Тайлбар ашиглах"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"Хадмалыг харуулах"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"Хадмалын харагдах байдал"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"Текстийн хэмжээ, хадмалын загвар"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"Бусад сонголт"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"Зарим апп энэ тохиргоог дэмждэггүй."</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"Хандалтын товчлуур"</string>
+    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"Доод талаас нь 2 хуруугаар дээш шувтрах"</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>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"Сонсголын төхөөрөмжүүд"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"Холбогдсон сонсголын төхөөрөмжүүд алга"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"Сонсголын төхөөрөмж нэмэх"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"Сонсголын төхөөрөмжүүдээ холбохын тулд төхөөрөмжөө дараагийн дэлгэцээс олж товшино уу."</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"Таны сонсголын төхөөрөмжүүд холболтын горимд байгаа эсэхийг шалгана уу."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"Сонсголын төхөөрөмжүүдээ хослуулахын тулд төхөөрөмжөө дараагийн дэлгэцээс олж, товшино уу. Таны сонсголын төхөөрөмжүүд хослуулалтын горимд байгаа эсэхийг шалгана уу."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> идэвхтэй байна"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="other">Хадгалсан <xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> сонсголын төхөөрөмжүүд</item>
@@ -2178,25 +2204,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Энэ үйлчилгээ буруу ажиллаж байна."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Шуурхай Тохиргоонд харуулах"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"Залруулгын горим"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="other">Маш богино хугацааны саатал (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> милсекунд)</item>
-      <item quantity="one">Маш богино хугацааны саатал (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> милсекунд)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Улаан-ногоон"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"Ногоон-улаан"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Цэнхэр-шар"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"Дьютераномаль"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"Протаномаль"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"Тританомаль"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="other">Туйлын богино саатал (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунд)</item>
+      <item quantity="one">Туйлын богино саатал (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> секунд)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="other">Маш богино хугацааны саатал (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> милсекунд)</item>
-      <item quantity="one">Маш богино хугацааны саатал (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> милсекунд)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="other">Маш богино саатал (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунд)</item>
+      <item quantity="one">Маш богино саатал (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> секунд)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="other">Богино саатал (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> милсекунд)</item>
-      <item quantity="one">Богино саатал (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> милсекунд)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="other">Богино саатал (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунд)</item>
+      <item quantity="one">Богино саатал (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> секунд)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="other">Урт хугацааны саатал (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> милсекунд)</item>
-      <item quantity="one">Урт хугацааны саатал (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> милсекунд)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="other">Удаан саатал (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунд)</item>
+      <item quantity="one">Удаан саатал (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> секунд)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="other">Маш урт хугацааны саатал (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> милсекунд)</item>
-      <item quantity="one">Маш урт хугацааны саатал (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> милсекунд)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="other">Маш удаан саатал (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунд)</item>
+      <item quantity="one">Маш удаан саатал (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> секунд)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунд</item>
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> секунд</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"Хонх <xliff:g id="SUMMARY_RING">%1$s</xliff:g>, мэдэгдэл <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>, хүрэх <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"Хонхны дуу &amp; мэдэгдлийг унтраасан"</string>
@@ -2513,7 +2549,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"Хамгийн сүүлд тэжээлээс салгаснаас хойш <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"Нийт ашиглалт"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"Дахин шинэчлэх"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"Андройд OS"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"Медиасервер"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"Aпп-ийн оновчлол"</string>
     <string name="battery_saver" msgid="7737147344510595864">"Батарей хэмнэгч"</string>
@@ -2594,8 +2629,7 @@
     <string name="tts_play" msgid="2945513377250757221">"Тоглуулах"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"Жуухын сан"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"Хадгалах сангаас суулгах"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"SD картаас суулгах"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"Cертификат суулгах"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"Сертификатыг сангаас суулгах"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"Сертификатыг SD картаас суулгах"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"Жуухыг арилгах"</string>
@@ -2615,6 +2649,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"Жуухын санг арилгасан."</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"Жуухын санг устгаж чадсангүй."</string>
     <string name="usage_access_title" msgid="1580006124578134850">"Ашиглалтын хандалттай апп-ууд"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"CA сертификат"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"VPN; апликейшн хэрэглэгчийн сертификат"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"Wi‑Fi сертификат"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"Таны нууцлал эрсдэлд ороод байна"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"Вэб сайт, апликейшн болон VPN нь шифрлэхэд зориулж CA сертификатыг ашигладаг. Зөвхөн итгэдэг байгууллагаасаа CA сертификатыг суулгана уу. \n\n Хэрэв та CA сертификат суулгавал сертификатын өмчлөгч нь таны зочилдог вэб сайт эсвэл таны ашигладаг апликейшнаас нууц үг, зурвас эсвэл кредит картын дэлгэрэнгүй мэдээлэл зэрэг таны мэдээлэлд, хэдий уг мэдээлэл нь кодчилогдсон байсан ч, хандах боломжтой болно."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"Бүү суулга"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"Үргэлжлүүлэн суулгах"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"Сертификатыг суулгаагүй"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"Яаралтай тусламжийн дуудлагын дохио"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Яаралтай дуудлага хийх үеийн үйлдлийг тохируулах"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Нөөцлөх"</string>
@@ -2642,10 +2684,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"Идэвхгүй болгох, устгах"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"Төхөөрөмжийн админ апп"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"Төхөөрөмжийн админ апп алга"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"Хувийн"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"Ажил"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"SMS &amp; дуудлагын жагсаалтын хандалтыг хязгаарлах"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"Зөвхөн утас болон мессежийн өгөгдмөл апп SMS &amp; дуудлагын жагсаалтын зөвшөөрөлтэй байдаг"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"Ашиглах боломжтой итгэмжлэгдсэн төлөөлөгч байхгүй байна"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"Төхөөрөмжийн админ аппыг идэвхжүүлэх үү?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"Энэ төхөөрөмжийн админ аппыг идэвхжүүлэх"</string>
@@ -2659,6 +2697,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"Бусад сонголтыг таны админ идэвхгүй болгосон байна"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"Дэлгэрэнгүй мэдээлэл"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"Мэдэгдлийн лог"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"Мэдэгдлийн түүх"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"Өнөөдөр"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"Түр хойшлуулсан"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"Саяхан хаасан"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> мэдэгдэл</item>
+      <item quantity="one"><xliff:g id="NUMBER_0">%d</xliff:g> мэдэгдэл</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"Дуудлагын хонхны ая &amp; чичиргээ"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"Сүлжээний мэдээлэл"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"Синк идэвхжсэн"</string>
@@ -3008,7 +3054,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"Хязгаарлалтууд"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"Хязгаарлалтыг арилгах"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"PIN өөрчлөх"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"Мэдэгдлүүдийг харуулах"</string>
     <string name="help_label" msgid="2896538416436125883">"Тусламж &amp; санал хүсэлт"</string>
     <string name="support_summary" msgid="1034146931237148885">"Тусламжийн нийтлэл, утас &amp; чат, эхлүүлэх"</string>
     <string name="user_account_title" msgid="6389636876210834864">"Контентын бүртгэл"</string>
@@ -3033,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G Дуудлага"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"LTE үйлчилгээг дуу хоолой болон бусад харилцаа холбоог сайжруулахад ашиглах (санал болгосон)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"4G үйлчилгээг дуу хоолой болон бусад харилцаа холбоог сайжруулахад ашиглах (санал болгосон)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Харилцагчийг илрүүлэх"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Таны харилцагчид дуудлагын ямар онцлог дэмждэг болохыг илрүүлэхийг таны оператор компанид зөвшөөрнө."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Харилцагчийг илрүүлэхийг идэвхжүүлэх үү?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Энэ онцлогийг идэвхжүүлснээр таны оператор компанид таны харилцагчид дуудлагын ямар онцлог дэмждэг болохыг илрүүлэх зорилгоор утасны дугаарт нь хандахыг зөвшөөрнө."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Сүлжээний үндсэн төрөл"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (зөвлөмж болгосон)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"Мультимедиа мессеж"</string>
@@ -3077,7 +3126,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"Залгах"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"SIM карт сонгох"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"SIM <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"SIM хоосон"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"SIM нэр"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"SIM-ийнхээ нэрийг оруулна уу"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"SIM слот %1$d"</string>
@@ -3087,6 +3135,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"SIM карт сонгоно уу"</string>
     <string name="color_orange" msgid="216547825489739010">"Улбар шар"</string>
     <string name="color_purple" msgid="6603701972079904843">"Ягаан"</string>
+    <string name="color_pink" msgid="8596872110888626708">"Ягаан"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"SIM карт байхгүй байна"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"SIM статус"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"SIM-н төлөв (sim-н слот %1$d)"</string>
@@ -3100,7 +3149,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"SIM картуудыг өөрчилсөн байна."</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Тохируулахын тулд дарна уу"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"Үндсэн SIM"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Тухай бүрд асуух"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Сонгох шаардлагатай"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"SIM-н сонголт"</string>
@@ -3118,6 +3166,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"Bluetooth, автомашин жолоодох горим"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"Bluetooth, NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"Bluetooth"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"NFC унтраалттай тул боломжгүй"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"Апп; мэдэгдэл"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Саяхны хэрэглээний программууд, өгөгдмөл хэрэглээний программууд"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Мэдэгдлийн хандалт ажлын профайлын аппад боломжгүй байна."</string>
@@ -3128,13 +3177,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"Тохиргоо"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"wifi, wi-fi, сүлжээний холболт, интернэт, утасгүй сүлжээ, дата, wi fi"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"Wi‑Fi-н мэдэгдэл, wifi-н мэдэгдэл"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"дата ашиглалт"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"Чичиргээг зогсоох, товших, гар"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"24 цагийн форматыг ашиглах"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"Татаж авах"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"Дараахаар нээх"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"Аппууд"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"цагийн бүс"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"Чатны толгой"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"Чатны толгой, систем, сэрэмжлүүлэг, цонх, харилцах цонх, дэлгэц, бусад хэрэглээний программ дээр, нээх"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"Гэрэлтүүлэгч, Гэрэл, Гар чийдэн"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"wifi, wi-fi, унтраах/асаах, хяналт"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"үүрэн холбоо, үүрэн холбооны оператор, утасгүй интернэт, дата, 4g, 3g, 2g, lte"</string>
@@ -3158,7 +3208,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"бүү саад бол, саад болох, тасалдах, таслах"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"ойролцоох, байршил, түүх, тайлан, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"бүртгэл"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"бүртгэл, бүртгэл нэмэх, ажлын профайл, бүртгэл нэмэх"</string>
     <string name="keywords_users" msgid="3497517660077620843">"хязгаарлалт, хязгаарлах, хязгаарласан"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"текст засварлах, зөв, дуу, чичиргээ, авто, хэл, дохио, зөвлөмж, зөвлөгөө, загвар, доромжилсон, үг, төрөл, эможи, олон улсын"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"шинэчлэх, тохиргоо, өгөгдмөл"</string>
@@ -3196,6 +3246,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"санах ой, завсрын санах ойд хадгалах, өгөгдөл, устгах, арилгах, сул, зай"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"холбогдсон, төхөөрөмж, чихэвч, микрофонтой чихэвч, чанга яригч, утасгүй сүлжээ, холболт, чихэнд тогтдог чихэвч, хөгжим, медиа"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"цаана, дэлгэц, түгжигдсэн дэлгэц, загвар"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"дүрс тэмдгийн хэлбэр, өргөлтийн өнгө, фонт"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"өгөгдмөл, туслах"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"төлбөр, өгөгдмөл"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"ирж буй мэдэгдэл"</string>
@@ -3205,18 +3256,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"хүртэхүй, чичиргээ, мэдрэг"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"батарей хэмнэгч, бэхлэгдсэн, үргэлжлэх, эрчим хүч хэмнэгч, батарей"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"хэвшил, хуваарь, батарей хэмнэгч, цахилгаан хэмнэгч, батарей, автомат, хувь"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"ажлын профайл"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"volte, дэвшилтэт дуудлага, 4g дуудлага"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"хэл нэмэх, хэл нэмэх"</string>
     <string name="default_sound" msgid="6604374495015245195">"Үндсэн дуу"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"Хонх дуугарах түвшин <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"Хонх ба мэдэгдлийн дууны түвшин <xliff:g id="PERCENTAGE">%1$s</xliff:g> байна"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Түвшин, чичиргээ, Бүү саад бол"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"Хонхыг чичиргээтэй болгож тохируулсан"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"Хонхыг чимээгүй болгож тохируулсан"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"Хонх дуугарах түвшин 80%"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"Хонх ба мэдэгдлийн дууны түвшин 80% байна"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Медиа дууны түвшин"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Дамжуулах түвшин"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"Дуудлагын дууны түвшин"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"Сэрүүлгийн дууны түвшин"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"Хонхны дууны түвшин"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"Хонх ба мэдэгдлийн дууны түвшин"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"Мэдэгдлийн дууны хэмжээ"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"Утасны хонхны ая"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"Мэдэгдлийн өгөгдмөл ая"</string>
@@ -3224,6 +3276,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"Мэдэгдлийн өгөгдмөл ая"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"Сэрүүлгийн үндсэн ая"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"Дуудлага ирэх үед чичирхийлэх"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"Хэзээ ч чичиргэхгүй"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"Тогтмол чичиргэнэ"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"Эхлээд чичиргээд, дараа нь хонхыг аажмаар дуугаргана"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"Бусад ая"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"Залгах товчлуурын ая"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"Дэлгэц түгжих ая"</string>
@@ -3247,6 +3302,7 @@
       <item quantity="one">1-г идэвхжүүлсэн</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Бүү саад бол"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Зөвхөн чухал хүмүүс болон аппуудаас мэдэгдэл авах"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Саад болох зүйлсийг хязгаарлах"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Бүү саад бол горимыг асаах"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"Үл хамаарах зүйлс"</string>
@@ -3273,7 +3329,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Харааны саадыг блоклох"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Харагдаж буй дохиог зөвшөөрөх"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"Бүү саад бол горимыг асаалттай үед"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"Дуу гаргадаг саад болох зүйлсийг зөвшөөрөх"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"Мэдэгдлийг хязгаарлах"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Мэдэгдлийн дууг хаах"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"Та мэдэгдлийг дэлгэцдээ харах болно"</string>
@@ -3304,7 +3360,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"Хонхны ая болон чичиргээ"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"Хонхны ая, чичиргээ болон зарим үзүүлэн дохионы мэдэгдэл"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"Хонхны ая, чичиргээ болон үзүүлэн дохионы мэдэгдэл"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"Утасны үндсэн үйл ажиллагаа болон төлөвт шаардлагатай мэдэгдлүүдийг хэзээ ч нуухгүй"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"Утасны үндсэн үйл ажиллагаа болон төлөвт шаардлагатай мэдэгдлүүдийг хэзээ ч нуухгүй."</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"Байхгүй"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"бусад сонголт"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"Нэмэх"</string>
@@ -3334,10 +3390,12 @@
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g>хуваарийг автоматаар асааж болно</item>
       <item quantity="one">1 хуваарийг автоматаар асааж болно</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"Төхөөрөмжийн дууг хаах хэдий ч үл хамаарах зүйлсийг зөвшөөрнө"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"Үл хамаарах зүйлс"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"Хуваарь"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"Бүх үл хэрэгсэх зүйлийг харах"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"Бүү саад бол горим асаалттай байх үеийн онцгой тохиолдол"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"Хүмүүс"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"Аппууд"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"Сэрүүлэг болон бусад саад болох зүйл"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"Хуваарь"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"Дууг нь хаасан мэдэгдлүүд"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"Бүү саад бол горим асаалттай үед таны сонгосон зүйлсээс бусад зүйлийн дууг хаана."</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"Дараахаас бусдын дууг хаах"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"Дууг хаасан"</string>
@@ -3381,16 +3439,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"Орчинтой тохирсон мэдэгдлүүд"</string>
     <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_capabilities_actions_replies_title" msgid="4392470465646394289">"Санал болгосон үйлдлүүд болон хариу"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"Санал болгосон үйлдлүүд болон хариуг автоматаар харуулах"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"Өмнөх болон түр хойшлуулсан мэдэгдлүүдийг хянахын тулд мэдэгдлийн түүхийг асаана уу"</string>
+    <string name="notification_history" msgid="8663811361243456201">"Мэдэгдлийн түүх"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"Түүхийг асаах"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"Түүхийг унтраах"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"Мэдэгдлийн түүх унтраалттай байна"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"мэдэгдлийн тохиргоог харах"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Мэдэгдлийг түр хойшлуулахыг зөвшөөрөх"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"Бага ач холбогдолтой мэдэгдлүүдийн дүрс тэмдгийг нуух"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"Бага ач холбогдолтой мэдэгдлүүдийн дүрс тэмдгийг статусын хэсэгт харуулахгүй"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"Мэдэгдлийн цэгийг зөвшөөрөх"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"Сүүлийн үеийн харилцааны зурвасыг харуулах"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Хөөс"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"Зарим мэдэгдэл дэлгэц дээр хөөс хэлбэрээр харагдах боломжтой"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"Зарим мэдэгдэл болон бусад контент дэлгэцэд хөөс хэлбэрээр харагдах боломжтой. Хөөсийг нээхийн тулд дээр нь товшино уу. Хөөсийг үл хэрэгсэх бол дэлгэцийн доош чирнэ үү."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Хөөс"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"Шинэ зурвасуудыг дэлгэц дээр харуулна"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"<xliff:g id="APP_NAME">%1$s</xliff:g>-д зарим мэдэгдлийг хөөс хэлбэрээр харуулахыг зөвшөөрөх"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"Хөөсийг асаах"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"Та энэ аппын хөөсийг асаахын тулд эхлээд эдгээрийг төхөөрөмж дээрээ асаах шаардлагатай. Энэ нь таны өмнө нь хөөс асаасан байсан бусад аппад нөлөөлдөг."</string>
@@ -3408,6 +3476,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"Доош татдаг сүүдэрт болон түгжигдсэн дэлгэцэд харагдана"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"Доош татдаг сүүдэр болон статусын хэсэгт харагдана"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"Доош татдаг сүүдэр, статусын хэсэг болон түгжигдсэн дэлгэцэд харагдана."</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"Статус самбарын чимээгүй мэдэгдлийг нуух"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"Анивчих гэрэл"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"Түгжигдсэн дэлгэц"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"Түгжигдсэн дэлгэцийг алгасах"</string>
@@ -3438,6 +3507,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"Тохиргоо"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"Дууг зөвшөөрөх"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"Мэдэгдлийг хэзээ ч харуулахгүй"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"Харилцан ярианууд"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"Харилцан яриа"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"Харилцан яриа биш"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"Харилцан ярианы хэсгээс хасах"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"Энэ бол харилцан яриа"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"Харилцан ярианы хэсэгт хэмэх"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"Харилцан яриануудыг удирдах"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"Чухал харилцан яриа"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"Бүх харилцан яриа"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"Чухал харилцан яриаг хөөс болгох"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"Чухал харилцан яриаг доош татдаг хураангуй самбарын дээд хэсэгт харуулна. Та мөн тэдгээрийг хөөс болгон тохируулж, Бүү саад бол горимыг тасалдуулж болно."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"Чимээгүй харуулж багасгах"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"Дуугүй харуулах"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"Дуу гаргах"</string>
@@ -3456,7 +3536,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"Дуу эсвэл чичиргээгүйгээр танд төвлөрөхөд тусална"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"Дуу эсвэл чичиргээгээр таны анхаарлыг татна"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"Төхөөрөмжийн түгжээг тайлсан үед мэдэгдлүүдийг дэлгэцийн дээд хэсэгт баннер болгож харуулах"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"Мэдэгдлийг харуулах"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"Бүх <xliff:g id="APP_NAME">%1$s</xliff:g>-н мэдэгдэл"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"Орчинтой тохирсон мэдэгдлүүд"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="other">Өдөрт ~<xliff:g id="NUMBER_1">%d</xliff:g> мэдэгдэл</item>
@@ -3475,6 +3555,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"Орчинтой тохирсон мэдэгдлүүд"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"Байхгүй"</string>
     <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="3119843404577399036">"<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>
@@ -3536,8 +3617,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"Дууссан"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"Ач холбогдол"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"Анивчих гэрэл"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"Чичиргээ"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"Чичиргээ"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"Ая"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"Чухал"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"Нүүрэнд нэмэх"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"Устгах"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"Нэр өөрчлөх"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"Хуваарийн нэр"</string>
@@ -3591,6 +3674,10 @@
       <item quantity="other">бусад <xliff:g id="NUM_PEOPLE">%d</xliff:g></item>
       <item quantity="one">бусад 1</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Харилцан яриа"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"Бүх харилцан ярианаас"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"Чухал харилцан ярианаас"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"Ямар ч харилцан яриаг зөвшөөрөхгүй"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"Зурвасыг зөвшөөрөх"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"Зөвшөөрөгдсөн мессежийг дуугаргахын тулд төхөөрөмжөө дуугаргах, чичиргэх эсвэл чимээгүй байлгахын аль дээр нь тохируулснаа шалгана уу."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"‘<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>’-н ирэх зурвасыг хориглосон. Та найзууд, гэр бүлийнхэн эсвэл бусад харилцагчдаа тантай холбоо барихыг зөвшөөрөхийн тулд тохиргоогоо өөрчлөх боломжтой."</string>
@@ -3604,15 +3691,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"Байхгүй"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"Ямар ч дуудлагыг зөвшөөрөхгүй"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"Мессежийг зөвшөөрөхгүй"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"Сэрүүлгийг зөвшөөрөх"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"Сэрүүлэг"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"Цаг хэмжигч, сэрүүлэг, хамгаалалтын систем болон бусад аппын"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"сэрүүлэг"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"Медианы дууг тоглуулах"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"Медианы ая"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"Видео, тоглоом болон бусад медианы"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"медиа"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"Хүрэлтийн дууг зөвшөөрөх"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"Хүрэлтийн ая"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"Таны гар болон бусад товчлуурын"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"товшилтын авиа"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"Сануулагчийг зөвшөөрөх"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"Сануулагч"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"Ажил болон сануулагчийн"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"сануулагч"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"Арга хэмжээг зөвшөөрөх"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"Үйл явдал"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"Календарьт удахгүй болох үйл явдлын"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Аппуудад дарахыг нь зөвшөөрөх"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"Аппын үл хамаарах зүйлс"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3655,6 +3747,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"Бүү саад бол горимоор чимээгүй болгосон мэдэгдлийг дэлгэцэд асаах"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"Мэдэгдлийн тохиргоо"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"Ок"</string>
+    <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>
@@ -3665,6 +3758,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Тогтоосныг суллахаас өмнө PIN асуух"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Тогтоосныг суллахаас өмнө нууц үг асуух"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Unpinning хийх үед төхөөрөмжийг түгжинэ"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"СИМ-г устгахыг баталгаажуулна уу"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"Татсан СИМ-г устгахын өмнө та өөрийгөө мөн болохыг баталгаажуулна уу"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"Энэ ажлын профайлыг удирдагч нь:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"<xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>-аар удирдана"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(Туршилтын)"</string>
@@ -3739,8 +3834,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"Бүх апп-ууд"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Суулгасан апп"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Шуурхай апп"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"Хувийн"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"Ажил"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"Апп: Бүх"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"Унтраасан"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"Категори: Яаралтай ач холбогдолтой"</string>
@@ -3752,6 +3845,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"Үл мэдэгдэх апп"</string>
     <string name="app_permissions" msgid="8666537659217653626">"Зөвшөөрлийн менежер"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"<xliff:g id="APPS">%1$s</xliff:g>-г ашиглаж буй апп"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"<xliff:g id="APPS">%1$s</xliff:g>-г ашигладаг апп болон бусад"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"Идэвхжүүлэхийн тулд товших"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"Төхөөрөмжийг идэвхжүүлэхийн тулд дэлгэцийн аль нэг хэсэгт 2 удаа товших"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"Холбоосыг нээх"</string>
@@ -3763,9 +3857,14 @@
       <item quantity="other">Дэмжсэн холбоосыг нээх <xliff:g id="COUNT">%d</xliff:g> апп</item>
       <item quantity="one">Дэмжсэн холбоосыг нээх нэг ап</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"Энэ апп-д нээх"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"Дэмжсэн холбоосуудыг нээхийг аппад зөвшөөрөх"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"Тухай бүрд асуух"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"Энэ апп-д нээхгүй"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"Холбоосуудыг нээхийг аппад бүү зөвшөөр"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="other">Апп нь <xliff:g id="COUNT_1">%d</xliff:g> холбоосыг удирддаг гэж мэдэгдсэн</item>
+      <item quantity="one">Апп нь <xliff:g id="COUNT_0">%d</xliff:g> холбоосыг удирддаг гэж мэдэгдсэн</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"Апп нь дараах холбоосуудыг удирддаг гэж мэдэгдсэн:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"Өгөгдмөл"</string>
     <string name="default_for_work" msgid="537558180548617528">"Ажлын өгөгдмөл"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"Туслах &amp; дууны оролт"</string>
@@ -3909,8 +4008,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"Бусад апп дээр харуулах"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Бусад апп дээр харуулахыг зөвшөөрөх"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"Энэ аппыг ашиглаж буй бусад аппын дээр харуулахыг зөвшөөрнө үү. Ингэснээр таны бусад аппын ашиглалт эсвэл тэдгээрийн харагдац, ажиллагаанд өөрчлөлт орж болзошгүй."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"Бүх файлд хандах хандалт"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"Бүх файлыг удирдахын тулд хандахыг зөвшөөрөх"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Энэ аппад энэ төхөөрөмж дээрх эсвэл холбогдсон дурын хадгалах сангийн бүх файлыг унших, өөрчлөх болон устгахыг зөвшөөрөх. Зөвшөөрөл олгогдсон бол апп нь танд тодорхойлон мэдэгдэлгүйгээр файлд хандаж болзошгүй."</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"Бүх файлд хандах боломжтой"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"vr виртуал бодит сонсогч стерео туслагч үйлчилгээ"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"системийн дохиоллын цонхны харилцан үйлдлийг бусад апп дээр харуулах"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"Бусад апп дээр харуулах"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"<xliff:g id="COUNT_1">%2$d</xliff:g> аппын <xliff:g id="COUNT_0">%1$d</xliff:g>-г бусад апп дээр харуулахыг зөвшөөрсөн"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"Зөвшөөрөлтэй Апп"</string>
@@ -4076,6 +4178,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"<xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g>-г ашигласан"</string>
     <string name="data_overusage" msgid="3680477320458707259">"<xliff:g id="ID_1">^1</xliff:g>-р хэтэрсэн"</string>
     <string name="data_remaining" msgid="6316251496381922837">"<xliff:g id="ID_1">^1</xliff:g> үлдсэн"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"<xliff:g id="START_DATE">%1$s</xliff:g>-с <xliff:g id="END_DATE">%2$s</xliff:g>-н хоорондох дата ашиглалтыг харуулах график."</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"Энэ хугацааны интервалд мэдээлэл байхгүй байна"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="other">%d өдөр үлдсэн</item>
       <item quantity="one">%d өдөр үлдсэн</item>
@@ -4139,14 +4243,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"илгээмжийн хэмжээ"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"мэдэгдлийг мэдэгдсэн"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"дуу хоолой"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"чичиргээ"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"хээ"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"өгөгдмөл"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"суваг"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"байхгүй"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"Зэрэглэх объект байхгүй байна."</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"Зэрэглэх объектод энэ түлхүүр байхгүй."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"Загвар"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"Төхөөрөмжийн өгөгдмөл"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"Дэлгэцийг таслах"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"дэлгэцийн хайчилбар, хэрчлээс"</string>
@@ -4235,8 +4335,12 @@
     <string name="information_label" msgid="6939310810756569298">"Мэдээлэл"</string>
     <string name="low_label" msgid="6525629096999711220">"Бага"</string>
     <string name="high_label" msgid="357503396626018487">"Өндөр"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"Илүү өндөр мэдрэгшил нь дэлгэцийн булан дагуух хэрэглээний программуудын аливаа зангаатай зөрчилдөж болзошгүй."</string>
+    <string name="left_edge" msgid="1513576842959071849">"Зүүн талын зах"</string>
+    <string name="right_edge" msgid="1505309103265829121">"Баруун талын зах"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"Илүү өндөр мэдрэгшил нь дэлгэцийн зах дагуух дурын аппын зангаатай зөрчилдөж болзошгүй."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"Арын мэдрэгшил"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"Зангааны тохиргоо"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"зангааны навигац, буцах мэдрэгшил, буцах зангаа"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"Утсаа шалгахын тулд хоёр товшино уу"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"Таблетаа шалгахын тулд хоёр товшино уу"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"Төхөөрөмжийг шалгахын тулд хоёр товшино уу"</string>
@@ -4391,7 +4495,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"Оператор компанийн хангалтыг асаах"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"Бүү саад бол горимыг шинэчлэх"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"Төвлөрсөн хэвэрэ байхын тулд мэдэгдлийг түр зогсоох"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"Энэ онцлог энэ төхөөрөмжид боломжгүй"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"Онцлог боломжгүй байна"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"Энэ онцлог таны утсыг удаашруулж буй тул үүнийг унтраасан"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"Бүтэн GNSS хэмжилтийг хүчлэх"</string>
@@ -4401,20 +4504,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"ӨНЦӨГ идэвхжүүлсэн аппыг сонгох"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"ӨНЦӨГ идэвхжүүлээгүй аппыг тохируулаагүй"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"ӨНЦӨГ идэвхжүүлсэн апп: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"Тоглоомын драйверын сонголт"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"Тоглоомын драйверын тохиргоог өөрчлөх"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"Тоглоомын драйверыг асаасан үед та төхөөрөмжид суулгасан Аппуудад шинэчилсэн графикийн драйверыг ашиглахаар сонгож болно."</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"Бүх аппад идэвхжүүлэх"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"Графикийн драйверыг сонгох"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"Өгөгдмөл"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"Тоглоомын драйвер"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"Урьдчилан гаргасан драйвер"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"Системийн графикийн драйвер"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"Графикийн драйверын тохируулга"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"Графикийн драйверын тохиргоог өөрчлөх"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"Олон графикийн драйвер байгаа үед та төхөөрөмжид суулгасан аппуудад шинэчилсэн графикийн драйверыг ашиглахаар сонгож болно."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"Бүх аппад идэвхжүүлэх"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"Графикийн драйверыг сонгох"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"Өгөгдмөл"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"Тоглоомын драйвер"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"Хөгжүүлэгчийн драйвер"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Системийн графикийн драйвер"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Аппын тохирох байдлын өөрчлөлт"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Аппын тохирох байдлын өөрчлөлтийг идэвхгүй болгох/идэвхжүүлэх"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Өгөгдмөл тохиргоогоор идэвхжүүлсэн өөрчлөлт"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Өгөгдмөл тохиргоогоор идэвхгүй болгосон өөрчлөлт"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"Энэ утсанд тохиргоог дэмждэггүй"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"Энэ таблетад тохиргоог дэмждэггүй"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"Энэ төхөөрөмжид тохиргоог дэмждэггүй"</string>
@@ -4433,6 +4542,11 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"Төхөөрөмж"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Дуудлагын үед боломжгүй"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"Боломжгүй"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"Гаралт нэмэх"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"Бүлэг"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 төхөөрөмжийг сонгосон"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> төхөөрөмжийг сонгосон"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"Сэлгэж байна…"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Дуудлага авах"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Энэ APN-г өөрчлөх боломжгүй."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Таблетын батарейн ажиллах хугацааг нэмэгдүүлэх"</string>
@@ -4550,10 +4664,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Нэг удаад зөвхөн татаж авсан нэг СИМ-г идэвхжүүлэх боломжтой.\n\n<xliff:g id="CARRIER1">%1$s</xliff:g> руу сэлгэснээр таны <xliff:g id="CARRIER2">%2$s</xliff:g>-н үйлчилгээг цуцлахгүй."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"<xliff:g id="CARRIER">%1$s</xliff:g> руу сэлгэх"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"СИМ-г устгах"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Энэ татаж авсан СИМ-г устгах уу?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Энэ СИМ-г устгаснаар энэ төхөөрөмжөөс <xliff:g id="CARRIER_0">%1$s</xliff:g>-н үйлчилгээг устгана.\n\n<xliff:g id="CARRIER_1">%2$s</xliff:g>-н үйлчилгээг цуцлахгүй."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Устгах"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"СИМ-г устгаж байна…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"СИМ-г устгаж чадсангүй"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Энэ СИМ-г алдааны улмаас устгаж чадсангүй.\n\nТөхөөрөмжөө дахин эхлүүлээд, дахин оролдоно уу."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Давуу эрхтэй сүлжээний төрөл"</string>
@@ -4578,7 +4688,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Буруу сүлжээний горим <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Үл хэрэгсэнэ үү."</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Хандах цэгийн нэрс (APN)"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"<xliff:g id="CARRIER">%1$s</xliff:g>-д холбогдсон үед боломжгүй"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"Эмнэлгийн мэдээлэл, яаралтай тусламжийн харилцагчид"</string>
     <string name="see_more" msgid="7499355691042812723">"Дэлгэрэнгүй үзэх"</string>
     <string name="see_less" msgid="2642392725363552793">"Цөөнийг харах"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"<xliff:g id="APPNAME">%1$s</xliff:g>-тай ашиглах төхөөрөмж"</string>
@@ -4587,11 +4696,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"Ямар нэг асуудал гарлаа. Энэ апп төхөөрөмж сонгох хүсэлтийг цуцаллаа."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"Амжилттай холбогдлоо"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"Бүгдийг харуулах"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> төхөөрөмж холбогдсон</item>
-      <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_0">%1$d</xliff:g> төхөөрөмж холбогдсон</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"Bluetooth төхөөрөмж алга"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"Төхөөрөмж хайж байна…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"Төхөөрөмжид холбогдож байна…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"Зүүн"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"Баруун"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Гэр"</string>
@@ -4601,6 +4707,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"Нислэгийн горимд боломжгүй"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"Дэлгэцийн горимыг хүчлэх"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Дэлгэцийн туршилтын горимыг хоёрдогч дэлгэцэд хүчлэх"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"Хэмжээ нь өөрчлөгддөггүй чөлөөт цонхыг идэвхжүүлэх"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"Хэмжээ нь өөрчлөгддөггүй аппад чөлөөтэй шилждэг цонхны хэлбэрт байхыг зөвшөөрөх"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Хүчээр бүдгэрүүлэхийг дарах"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"Хүчээр бүдэгрүүлэх онцлогийг байнга асаалттай байхаар дардаг"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"Нууцлал"</string>
@@ -4637,6 +4745,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Та саяхан энэ аппыг суулгасан байна."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Гаралтыг сэлгэх"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Одоогоор <xliff:g id="DEVICE_NAME">%1$s</xliff:g> дээр тоглуулж байна"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (салгасан)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Сэлгэх боломжгүй. Дахин оролдох бол товшино уу."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Чухал мэдээлэл"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"ҮРГЭЛЖЛҮҮЛЭХ"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"ҮГҮЙ, БАЯРЛАЛАА"</string>
@@ -4664,8 +4774,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"SIM хослол"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Таны ажлын удирдамжийн мэдээлэл"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Танай IT админы удирддаг тохиргоо"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"Алдааны мэдээний удирдагч"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Алдааны мэдээний товчлолыг таны төхөөрөмж дээр ямар апп удирддаг болохыг тодорхойлдог."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Хувийн"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"Ажлын"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"Системийн өгөгдмөл"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"Энэ сонголт хүчингүй болсон байна. Дахин оролдоно уу."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"Дамжуулалтыг зогсоох"</string>
 </resources>
diff --git a/res/values-mr/arrays.xml b/res/values-mr/arrays.xml
index 19eed5b..f58187a 100644
--- a/res/values-mr/arrays.xml
+++ b/res/values-mr/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"तत्काळ"</item>
     <item msgid="463591454172790676">"5 सेकंद"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"प्रमाणीकृत करू नका"</item>
+    <item msgid="5703177653586269306">"प्रमाणपत्र स्थितीची विनंती करा"</item>
+    <item msgid="326388247868439528">"प्रमाणपत्र स्थिती आवश्यक आहे"</item>
+    <item msgid="1090956283885790552">"सर्व विश्वास नसलेल्या प्रमाणपत्र स्थिती आवश्यक आहे"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"पुश बटण"</item>
     <item msgid="2630618799033509548">"पीअर डिव्हाइसवरील पिन"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"काहीही नाही"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"पूर्व-शेअर की आणि Xauth प्रमाणीकरणासह IPSec VPN"</item>
     <item msgid="2484564813864139237">"प्रमाणपत्रे आणि Xauth प्रमाणीकरणासह IPSec VPN"</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>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"काहीही नाही"</item>
diff --git a/res/values-mr/config.xml b/res/values-mr/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-mr/config.xml
+++ b/res/values-mr/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-mr/strings.xml b/res/values-mr/strings.xml
index 6dfeba0..99d29fb 100644
--- a/res/values-mr/strings.xml
+++ b/res/values-mr/strings.xml
@@ -31,49 +31,17 @@
     <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="radio_info_data_connection_enable" msgid="7500945447906187613">"डेटा कनेक्शन सुरू करा"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"डेटा कनेक्शन अक्षम करा"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"VoLTE तरतूद केली"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"व्हिडिओ कॉलिंगची तरतूद केली"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"वायफाय कॉलिंगची तरतूद केली"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"EAB/उपस्थितीची तरतूद आहे"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"Cbrs डेटा"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"DSDS सुरु करा"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"डिव्हाइस रीस्टार्ट करायचे का?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"ही सेटिंग बदलण्यासाठी तुम्ही तुमचे डिव्हाइस रीस्टार्ट करणे आवश्यक आहे."</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"रीस्टार्ट"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"रद्द करा"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"मोबाइल रेडिओ पॉवर"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"सिम ॲड्रेस बुक पहा"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"निश्चित डायलिंग नंबर पहा"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"सेवा डायलिंग नंबर पहा"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"IMS सेवा स्थिती"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"IMS स्थिती"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"नोंदणीकृत"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"नोंदणीकृत नाही"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"उपलब्ध आहे"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"अनुपलब्ध आहे"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"IMS नोंदणी: <xliff:g id="STATUS">%1$s</xliff:g>\nLTE वरून व्हॉइस: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nवायफाय वरून व्हॉइस: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nव्हिडिओ कॉलिंग: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT इंटरफेस: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"सेवेत"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"सेवाबाह्य"</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>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"निष्क्रिय"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"रिंग जात आहे"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"कॉल प्रगतीवर आहे"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"डिस्कनेक्ट केले"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"कनेक्ट करत आहे"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"कनेक्ट केले"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"निलंबित"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"अज्ञात"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"pkts"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"बाइट"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"USB स्टोरेज अनमाउंट करा"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"SD कार्ड अनमाउंट करा"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"USB स्टोरेज मिटवा"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"स्क्रीन वरील मजकूर आणखी लहान किंवा आणखी मोठा करा."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"आणखी लहान करा"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"आणखी मोठे करा"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"नमुना मजकूर"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"Oz चा अद्भूत जादूगार"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"अध्याय 11: Oz चे अद्भूत पाचूंचे शहर"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"हे सेटिंग बदलण्यासाठी तुम्ही तुमचे डिव्हाइस रीस्टार्ट करणे आवश्यक आहे."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"रीस्टार्ट"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"रद्द करा"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"उपलब्ध मीडिया डिव्हाइस"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"उपलब्ध कॉल डिव्हाइस"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"सध्या कनेक्ट केले आहे"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"मीडिया डिव्हाइस"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"कॉल डिव्हाइस"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"इतर डिव्हाइस"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"सेव्ह केलेली डिव्हाइस"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"पेअर करण्यासाठी ब्लूटूथ सुरू होईल"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"कनेक्शन प्राधान्ये"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"तुम्ही टाइप केलेला पोर्ट वैध नाही."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"ब्राउझरद्वारे HTTP प्रॉक्सी वापरले जाते परंतु अन्य ॲप्सद्वारे कदाचित वापरले जाणार नाही."</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"PAC URL: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"सध्याचा subId:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"डीफॉल्ट डेटा सिमचा SubId:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"DL बँडविड्थ (kbps):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"UL बँडविड्थ (kbps):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"सेल स्थान माहिती (बहिष्कृत):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"LTE फिजिकल चॅनेल कॉन्फिगरेशन:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"सेल माहिती रिफ्रेश रेट:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"सर्व सेल परिमाण माहिती:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"डेटा सेवा:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"रोमिंग:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"कॉल पुनर्निर्देशित:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"बूट केल्यापासून PPP रीसेटची संख्या:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"वर्तमान नेटवर्क:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"डेटा प्राप्त झाला:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"व्हॉइस सेवा:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"सिग्नल सामर्थ्य:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"व्हॉइस कॉल स्थिती:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"डेटा पाठविला:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"मेसेज प्रतीक्षा:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"फोन नंबर:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"रेडिओ बँड निवडा"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"व्हॉइस नेटवर्क प्रकार:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"डेटा नेटवर्क प्रकार:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"फोनची अनुक्रमणिका निवडा"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"प्राधान्यकृत नेटवर्क प्रकार सेट करा:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"पिंग होस्ट नाव(www.google.com) IPv4:"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"पिंग होस्ट नाव(www.google.com) IPv6:"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"HTTP क्लायंट चाचणी:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"पिंग चाचणी चालवा"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"अपडेट करा"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"रिफ्रेश करा"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"DNS तपासणी टॉगल करा"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"OEM-विशिष्ट माहिती/सेटिंग्ज"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"रेडिओ बॅण्ड मोड सेट करा"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"बँड सूची लोड करत आहे…"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"सेट करा"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"अयशस्वी"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"यशस्वी"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"USB केबल पुन्हा कनेक्ट झाल्यावर बदल प्रभावित होतात."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"USB अत्यधिक संचयन सुरू करा"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"एकूण बाइट:"</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"तळाशी हलवा"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"भाषा काढा"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"ॲक्टिव्हिटी निवडा"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"डिव्हाइस माहिती"</string>
     <string name="display_label" msgid="3056320781191343221">"स्क्रीन"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"टॅबलेट माहिती"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"फोन माहिती"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"USB स्टोरेज"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"SD कार्ड"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"प्रॉक्सी सेटिंग्ज"</string>
@@ -306,9 +234,6 @@
     <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="cellular_data_title" msgid="8072108204621057526">"मोबाइल डेटा"</string>
-    <string name="calls_title" msgid="6334813967619899114">"कॉलची अनुमती द्या"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"SMS मेसेज"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"मोबाइल नेटवर्कवर डेटा वापराला अनुमती द्या"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"रोमिंग करताना डेटा वापरास अनुमती द्या"</string>
     <string name="roaming" msgid="3055365654530847985">"रोमिंग"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"रोमिंगमध्ये असताना डेटा सेवांना कनेक्ट करा"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"तुम्ही डेटा रोमिंग बंद करून तुमचे होम नेटवर्क सोडल्यामुळे तुम्ही डेटा कनेक्टिव्हिटी गमावली आहे."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"हे चालू करा"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"तुम्हाला बर्‍याच प्रमाणात शुल्‍क लागू शकते."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"जेव्हा तुम्ही डेटा रोमिंगला अनुमती देता, तेव्हा तुम्हाला महत्त्वाचे रोमिंग शुल्क आकारले जाऊ शकते!\n\nही सेटिंग या टॅब्लेटवरील सर्व वापरकर्ते प्रभावित करते."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"जेव्हा तुम्ही डेटा रोमिंगला अनुमती देता, तेव्हा आपल्याकडून महत्त्वाचे रोमिंग शुल्क आकारले जाऊ शकते!\n\nही सेटिंग या फोनवरील सर्व वापरकर्ते प्रभावित करते."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"रोमिंग शुल्क आकारले जाऊ शकते."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"तुम्ही डेटा रोमिंगला अनुमती देता तेव्हा, रोमिंग शुल्क आकारले जाऊ शकते.\n\nहे सेटिंग या टॅबलेटवरील सर्व वापरकर्त्यांवर परिणाम करते."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"तुम्ही डेटा रोमिंगला अनुमती देता तेव्हा, रोमिंग शुल्क आकारले जाऊ शकते.\n\nहे सेटिंग या फोनवरील सर्व वापरकर्त्यांवर परिणाम करते."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"डेटा रोमिंगला अनुमती द्यायची?"</string>
     <string name="networks" msgid="5184501333492775095">"ऑपरेटर निवड"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"नेटवर्क ऑपरेटर निवडा"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"प्रशासकाने अक्षम केलेले"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"लॉकडाउन पर्याय दाखवा"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"Smart Lock, बायोमेट्रिक अनलॉकिंग आणि लॉक स्क्रीनवरील सूचना बंद करणार्‍या पॉवर बटणाचा पर्याय दाखवा"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"विश्वासू एजंट फक्त अनलॉक विस्तारीत करतात"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"सुरू केल्यास, विश्वासू एजंट तुमचे डिव्हाइस आणखी जास्त काळ अनलॉक ठेवतील, पण लॉक केलेले डिव्हाइस यापुढे अनलॉक करू शकणार नाहीत."</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"विश्वास गमावेल तेव्हा स्क्रीन लॉक करा"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"सुरू असल्यास, शेवटचा विश्वसनीय एजंट विश्वास गमावेल तेव्हा डिव्हाइस लॉक होईल"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"काहीही नाही"</string>
@@ -390,7 +313,7 @@
     <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="disabled_by_administrator_summary" msgid="4181894719300350343">"प्रशासकाने अक्षम केलेले"</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>
@@ -693,7 +616,6 @@
       <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> अंकांपेक्षा कमी असणे आवश्यक आहे</item>
       <item quantity="one"><xliff:g id="NUMBER_0">%d</xliff:g> अंकापेक्षा कमी असणे आवश्यक आहे</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"केवळ 0-9 अंक असणे आवश्यक आहे"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"डिव्हाइस प्रशासक अलीकडील पिन वापरण्याची अनुमती देत नाही"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"सामान्यत: वापरले जाणारे पिन तुमच्या IT प्रशासनाने ब्लॉक केलेले आहेत. दुसरा एखादा पिन वापरून पाहा."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"यामध्ये अवैध वर्ण समाविष्ट असू शकत नाही"</string>
@@ -724,6 +646,10 @@
       <item quantity="other">किमान <xliff:g id="COUNT">%d</xliff:g> अक्षर नसलेले वर्ण असणे आवश्यक आहे</item>
       <item quantity="one">किमान 1 अक्षर नसलेला वर्ण असणे आवश्यक आहे</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="other">किमान <xliff:g id="COUNT">%d</xliff:g> अंक नसलेले वर्ण असणे आवश्यक आहे</item>
+      <item quantity="one">किमान एक अंक नसलेला वर्ण असणे आवश्यक आहे</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"डिव्हाइस प्रशासक अलीकडील पासवर्ड वापरण्याची अनुमती देत नाही"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"सामान्यत: वापरले जाणारे पासवर्ड तुमच्या IT प्रशासनाने ब्लॉक केलेले आहेत. दुसरा एखादा पासवर्ड वापरून पाहा."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"अंकांच्या चढत्या, उतरत्या किंवा पुनरावृत्त क्रमाला अनुमती नाही"</string>
@@ -837,19 +763,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2.4 GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"साइन इन करा"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"साइट उघडा"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"<xliff:g id="REMAINING_TIME">%1$s</xliff:g> शिल्लक"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"<xliff:g id="EXPIRY_TIME">%1$s</xliff:g> रोजी एक्स्पायर होईल"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"नेटवर्कवर साइन इन करण्यासाठी येथे टॅप करा"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"<xliff:g id="REQUESTER">%s</xliff:g> वाय-फाय चालू करू इच्छित आहे"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"<xliff:g id="REQUESTER">%s</xliff:g> वाय-फाय बंद करू इच्छित आहे"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"डीबग करण्यायोग्य ॲप्सच्या बाइटकोडची पडताळणी करा"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"डीबग करण्यायोग्य ॲप्ससाठी बाइटकोडची पडताळणी करण्यासाठी ART ला अनुमती द्या"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"रीफ्रेश रेट दाखवा"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"सध्याचा प्रदर्शन रीफ्रेश रेट दाखवा"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"टॅबलेट दुसर्‍या डिव्हाइसला स्पर्श करतो तेव्हा डेटा अदलाबदलीस अनुमती द्या"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"फोन दुसर्‍या डिव्हाइसला स्पर्श करतो तेव्हा डेटा अदलाबदलीस अनुमती द्या"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"टॅबलेट NFC डिव्हाइसला स्पर्श करते तेव्हा डेटा एक्‍सचेंजला अनुमती द्या"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"फोन NFC डिव्हाइसला स्पर्श करतो तेव्हा डेटा एक्‍सचेंजला अनुमती द्या"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"NFC चालू करा"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"NFC हे डिव्हाइस आणि दुसरे जवळपासचे डिव्हाइस किंवा पेमेंट टर्मिनल, अ‍ॅक्सेस रीडर आणि सुसंवादी जाहिराती किंवा टॅग यासारख्या लक्ष्यांमधील डेटाची अदलाबदल करते."</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"NFC चे संरक्षण करा"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFC साठी डिव्हाइस अनलॉक आवश्यक आहे"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"स्क्रीन अनलॉक केल्यावर NFC पेमेंट आणि फक्त परिवहन वापरासाठीला अनुमती द्या"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android बीम"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"NFC द्वारे अ‍ॅप सामग्री प्रक्षेपित करण्यास तयार"</string>
@@ -923,8 +855,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"सुरू करा"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"वाय-फाय स्कॅनिंग सुरू केले आहे"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"प्रगत पर्याय"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"ड्रॉप-डाउन सूची प्रगत पर्याय. संकुचित करण्‍यासाठी दोनदा-टॅप करा."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"ड्रॉप-डाउन सूची प्रगत पर्याय. विस्तृत करण्‍यासाठी दोनदा-टॅप करा."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"ड्रॉप-डाउन सूचीचे प्रगत पर्याय"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"विस्तार करा"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"नेटवर्क नाव"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"SSID एंटर करा"</string>
     <string name="wifi_security" msgid="9095934643631406913">"सुरक्षितता"</string>
@@ -934,6 +866,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"स्थिती"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"लिंक गती प्रक्षेपित करा"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"लिंक गती मिळवा"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"लिंक गती"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"वारंवारता"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"IP पत्ता"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"द्वारे सेव्ह केले"</string>
@@ -941,6 +874,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"EAP पद्धत"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"टप्पा 2 प्रमाणीकरण"</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>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"वापरकर्ता प्रमाणपत्र"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"ओळख"</string>
@@ -957,6 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"वाय-फाय हॉटस्‍पॉटसाठी किमान एक बँड निवडा:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"IP सेटिंग्ज"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"गोपनीयता"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"सदस्यत्व"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"सदस्यत्व पहा किंवा बदला"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"रँडमाइझ केलेले MAC"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"डिव्हाइस जोडा"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"“<xliff:g id="SSID">%1$s</xliff:g>” वर डिव्हाइस जोडण्यासाठी QR कोड मध्यभागी येईल अशा पद्धतीने डिव्हाइस धरा"</string>
@@ -966,12 +902,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"वाय-फाय शेअर करा"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"“<xliff:g id="SSID">%1$s</xliff:g>” शी कनेक्ट करण्यासाठी हा QR कोड स्कॅन करा आणि पासवर्ड शेअर करा"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"“<xliff:g id="SSID">%1$s</xliff:g>” शी कनेक्ट करण्यासाठी हा QR कोड स्कॅन करा"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"QR कोड वाचू शकलो नाही. कोड पुन्हा एंटर करा आणि पुन्हा प्रयत्न करा"</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"पुन्हा प्रयत्न करा. समस्या कायम राहिल्यास, डिव्हाइस निर्मात्याशी संपर्क साधा"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"काहीतरी चूक झाली"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"डिव्हाइस प्लग इन केलेले, चार्ज केलेले आणि सुरू केले गेलेले असल्याची खात्री करा"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"डिव्हाइस प्लग इन केलेले, चार्ज केलेले आणि सुरू केले गेलेले असल्याची खात्री करा. समस्या कायम राहिल्यास, डिव्हाइस निर्मात्याशी संपर्क साधा"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"या डिव्हाइसद्वारे “<xliff:g id="SSID">%1$s</xliff:g>” जोडण्याला सपोर्ट करत नाही"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"डिव्हाइसला तुमच्या वाय-फाय ॲक्सेस पॉइंट/राउटरच्या जवळ नेण्याचा प्रयत्न करा"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"पासवर्ड तपासा आणि पुन्हा प्रयत्न करा"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"डिव्हाइसच्या निर्मात्याशी संपर्क साधा"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"कनेक्शन तपासा आणि पुन्हा प्रयत्न करा"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"नेटवर्क निवडा"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"तुमच्या डिव्हाइसशी कनेक्ट करण्यासाठी, नेटवर्क निवडा"</string>
@@ -984,11 +922,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"या डिव्हाइससह वाय‑फाय शेअर करत आहे…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"कनेक्ट करत आहे…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"हॉटस्पॉट शेअर करा"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"ते तुम्हीच आहात याची पडताळणी करा"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"हे तुम्ही असल्याची खात्री करा"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"वाय-फाय पासवर्ड: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"हॉटस्पॉट पासवर्ड: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"आपोआप कनेक्‍ट करा"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"या नेटवर्कजवळ फोनला आपोआप कनेक्ट होण्याची अनुमती द्या"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"या नेटवर्कजवळ टॅबलेटला आपोआप कनेक्ट होण्याची अनुमती द्या"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"डिव्हाइस जोडा"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"या नेटवर्कमध्ये डिव्हाइस जोडण्यासाठी QR कोड वापरा"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"QR कोडचा फॉरमॅट चुकीचा आहे"</string>
     <string name="retry" msgid="7542103800274026915">"पुन्हा प्रयत्न करा"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"इतर डिव्हाइस वापरकर्त्यांसह शेअर करा"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(अजून तेच आहे)"</string>
@@ -1000,6 +942,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"कोणतेही प्रमाणपत्र नमूद केले नाही. तुमचे कनेक्शन खाजगी होणार नाही."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"नेटवर्कचे नाव फार लांबलचक आहे."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"एक डोमेन नमूद करणे आवश्यक आहे."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"प्रमाणपत्र आवश्यक आहे."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"WPS उपलब्ध"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (WPS उपलब्ध)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"वाहक वाय-फाय नेटवर्क"</string>
@@ -1051,7 +994,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"प्रगत वाय-फाय"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"MAC पत्ता"</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_ip_address_title" msgid="4265355419782184514">"IP पत्ता"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"नेटवर्क तपशील"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"सबनेट मास्क"</string>
@@ -1103,7 +1047,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"तुमच्या इतर डिव्हाइससाठी वाय-फाय नेटवर्क तयार करण्यासाठी हॉटस्पॉटचा वापर करा. हॉटस्पॉट तुमचे मोबाइल डेटा कनेक्शन वापरून इंटरनेट पुरवते. अतिरिक्त मोबाइल डेटा शुल्क लागू शकते."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"जवळपासच्या डिव्हाइससोबत आशय शेअर करण्यासाठी अ‍ॅप्स हॉटस्पॉट तयार करू शकतात."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"हॉटस्पॉट आपोआप बंद करा"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"कुठलीही डिव्हाइस कनेक्ट केली नसल्यास, वाय-फाय हॉटस्पॉट बंद होईल"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"कोणतीही डिव्हाइस कनेक्ट केलेली नसताना"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"हॉटस्पॉट चालू करत आहे…"</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"हॉटस्पॉट बंद करत आहे…"</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> सक्रिय आहे"</string>
@@ -1112,6 +1056,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"वाय-फाय हॉटस्पॉट सेटअप"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"AndroidAP WPA2 PSK हॉटस्पॉट"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"AndroidHotspot"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"हे नेटवर्क सेव्ह करायचे आहे का?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"<xliff:g id="APPNAME">%1$s</xliff:g> ला तुमच्या फोनवर एक नेटवर्क सेव्ह करायचे आहे"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"<xliff:g id="APPNAME">%1$s</xliff:g> ला तुमच्या टॅबलेटवर एक नेटवर्क सेव्ह करायचे आहे"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"सेव्ह करत आहे…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"सेव्ह केले"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"सेव्ह करू शकत नाही. पुन्हा प्रयत्न करा."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"नेटवर्क सेव्ह करायचे आहेत का?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"<xliff:g id="APPNAME">%1$s</xliff:g> ला तुमच्या फोनवर ही नेटवर्क सेव्ह करायची आहेत"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"<xliff:g id="APPNAME">%1$s</xliff:g> ला तुमच्या टॅबलेटवर ही नेटवर्क सेव्ह करायची आहेत"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"<xliff:g id="NUMBER">%d</xliff:g> सेव्ह करत आहे…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"नेटवर्क सेव्ह केला"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"वाय-फाय कॉलिंग"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"वाय-फाय सोबत कॉल वाढवा"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"कव्‍हरेज वाढवण्‍यासाठी वाय-फाय कॉलिंग सुरू करा"</string>
@@ -1138,16 +1093,18 @@
     <string name="emergency_address_title" msgid="3490633500025717573">"संकटकालीन पत्ता"</string>
     <string name="emergency_address_summary" msgid="3022628750270626473">"तुम्ही वाय-फाय वरून आणीबाणी कॉल केल्यावर हे तुमचे स्थान असल्याचे दाखवले जाते"</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>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"वाय-फाय कॉलिंग सुरू करा"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"वाय-फाय कॉलिंग सुरू करा"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"%1$s साठी वाय-फाय कॉलिंगला सपोर्ट नाही"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"<xliff:g id="SSID">%1$s</xliff:g> वरून डिस्कनेक्ट झाले"</string>
     <string name="carrier" msgid="1755020806290963951">"वाहक"</string>
     <string name="display_settings_title" msgid="626835071804834218">"डिस्प्ले"</string>
     <string name="sound_settings" msgid="5514582720435174014">"आवाज"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"आवाज"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"संगीत प्रभाव"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"रिंग व्हॉल्यूम"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"रिंग आणि सूचनेचा व्हॉल्यूम"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"शांत असताना व्हायब्रेट"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"डीफॉल्ट सूचना ध्वनी"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"रिंगटोन"</string>
@@ -1272,13 +1229,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"शेड्युल करा"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"काहीही नाही"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"सूर्यास्त-सूर्योदय सुरू राहते"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"कस्टम वेळी सुरू होते"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"स्थिती"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"बंद आहे / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"आपोआप कधीही सुरू होणार नाही"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"सूर्यास्ताच्या वेळी आपोआप सुरू होईल"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"<xliff:g id="ID_1">%1$s</xliff:g> वाजता आपोआप सुरू होईल"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"सुरू आहे / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"आपोआप कधीही बंद होणार नाही"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"सूर्योदयाच्या वेळी आपोआप बंद होईल"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"<xliff:g id="ID_1">%1$s</xliff:g> वाजता आपोआप बंद होईल"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"<xliff:g id="ID_1">%1$s</xliff:g> पर्यंत सुरू करा"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"<xliff:g id="ID_1">%1$s</xliff:g> पर्यंत बंद करा"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"काही स्क्रीनवर बॅटरी अधिक काळ टिकवून ठेवण्यासाठी गडद थीम काळ्या बॅकग्राउंडचा वापर करते. तुमची स्क्रीन बंद होईपर्यंत गडद थीमची शेड्युल सुरू होत नाहीत."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"स्क्रीन टाइमआउट"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"स्क्रीन बंद होते"</string>
@@ -1290,7 +1252,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"वॉलपेपर बदला"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"तुमची स्क्रीन वैयक्तीकृत करा"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"यातून वॉलपेपर निवडा"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"तुमचा Pixel कस्टमाइझ करा"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"तुमचा फोन कस्टमाइझ करा"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"वेगळी शैली, वॉलपेपर आणि बरेच काही वापरून पाहा"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"स्क्रीन सेव्हर"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"चार्ज होत असताना किंवा डॉक केलेले असताना"</string>
@@ -1379,6 +1341,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"USB स्टोरेज अनमाउंट करा, उपलब्ध स्टोरेज पहा"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"SD कार्ड अनमाउंट करा, उपलब्ध संचयन पहा"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (सिम स्लॉट %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"पाहण्यासाठी, सेव्ह केलेले नेटवर्क निवडा"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"फोन नंबर"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (सिम स्लॉट %1$d)"</string>
@@ -1405,6 +1368,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"रोमिंग"</string>
     <string name="status_operator" msgid="4335640583552058491">"नेटवर्क"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"वाय-फाय MAC पत्ता"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"डिव्हाइसचा वाय-फाय MAC ॲड्रेस"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"ब्लूटूथ पत्ता"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"सिरीअल नंबर"</string>
     <string name="status_up_time" msgid="1274778533719495438">"सुरू असल्याचा कालावधी"</string>
@@ -1618,6 +1582,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"डीफॉल्ट APN सेटिंग्ज रीसेट करणे पूर्ण झाले."</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"रीसेट पर्याय"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"नेटवर्क, अ‍ॅप्स आणि डिव्हाइस रीसेट केले जाऊ शकतात"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"ॲप्स रीसेट केली जाऊ शकतात"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"वायफाय मोबाइल आणि ब्लूटूथ रीसेट करा"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"हे यांसह सर्व नेटवर्क सेटिंग्‍ज रीसेट करेल:\n\n"<li>"वाय‑फाय"</li>\n<li>"मोबाइल डेटा"</li>\n<li>"ब्लूटुथ"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"डाउनलोड केलेली सिम मिटवा"</string>
@@ -1667,6 +1632,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"हॉटस्पॉट चालू"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"टेदरिंग"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"डेटा सेव्हर चालू असताना टिथर करू शकत नाही किंवा पोर्टेबल हॉटस्पॉटचा वापर करू शकत नाही"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"फक्त हॉटस्पॉट"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"फक्त USB"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"फक्त ब्लूटूथ"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"हॉटस्पॉट, USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"हॉटस्पॉट, ब्लूटूथ"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB, ब्लूटूथ"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"हॉटस्पॉट, USB, ब्लूटूथ"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"इतर डिव्हाइससह इंटरनेट शेअर करत नाही"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"टेदरिंग"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"वाय-फाय हॉटस्पॉट वापरू नका"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"फक्त USB द्वारे इंटरनेट शेअर करा"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"फक्त ब्लूटूथद्वारे इंटरनेट शेअर करा"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"फक्त USB आणि ब्लूटूथद्वारे इंटरनेट शेअर करा"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB टेदरिंग"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"फोनचे इंटरनेट कनेक्शन USB ने शेअर करा"</string>
@@ -1757,9 +1735,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"सुरक्षितता माहिती"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"तुमच्याकडे डेटा कनेक्शन नाही. ही माहिती आत्ता पाहण्यासाठी, इंटरनेटशी कनेक्ट केलेल्या कोणत्याही काँप्युटरवरून %s वर जा."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"लोड करत आहे..."</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"पिन वापरा"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"पॅटर्न वापरा"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"पासवर्ड वापरा"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"स्क्रीन लॉक सेट करा"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"सुरक्षिततेसाठी, पासवर्ड सेट करा"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"फिंगरप्रिंट वापरण्यासाठी पासवर्ड सेट करा"</string>
@@ -1768,8 +1743,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"फिंगरप्रिंट वापरण्यासाठी पिन सेट करा"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"सुरक्षिततेसाठी, पॅटर्न सेट करा"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"तुमचा पासवर्ड पुन्‍हा टाका"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"तुमच्या ऑफिसचा पासवर्ड एंटर करा"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"आपल्या नमुन्याची पुष्टी करा"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"तुमच्या ऑफिसचा पॅटर्न एंटर करा"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"तुमचा पिन पुन्हा टाका"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"तुमच्या ऑफिसचा पिन एंटर करा"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"पासवर्ड जुळत नाहीत"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"पिन जुळत नाहीत"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"तुमचा पॅटर्न पुन्हा काढा"</string>
@@ -1780,6 +1758,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"फेस अनलॉक वापरण्यासाठी, पासवर्ड सेट करा"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"फेस अनलॉक वापरण्यासाठी, पॅटर्न सेट करा"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"फेस अनलॉक वापरण्यासाठी, पिन सेट करा"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"तुमचा पासवर्ड विसरलात का?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"तुमचा पॅटर्न विसरलात का?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"तुमचा पिन विसरलात का?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"सुरु ठेवण्यासाठी तुमच्या डिव्हाइस पॅटर्नचा वापर करा"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"सुरु ठेवण्यासाठी तुमचे डिव्हाइस पिन एंटर करा"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"सुरु ठेवण्यासाठी तुमचे डिव्हाइस पासवर्ड एंटर करा"</string>
@@ -1847,6 +1828,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"सर्व अ‍ॅप स्त्रोतांना अनुमती द्या"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"अलीकडे उघडलेली अ‍ॅप्स"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"सगळी <xliff:g id="COUNT">%1$d</xliff:g> अ‍ॅप्स पहा"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"तुमच्या आयटी ॲडमिनशी संपर्क साधा"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"तुमचा पिन, पॅटर्न किंवा पासवर्ड रीसेट करण्यासाठी ते तुमची मदत करू शकतात"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"तुमचे टॅबलेट आणि वैयक्तिक डेटा अज्ञात अनुप्रयोगांद्वारे आक्रमणांपासून अधिक असुरक्षित असतात. या स्रोताकडील अ‍ॅप्स इंस्टॉल करून, तुम्ही सहमत आहात की त्यांच्या वापराच्या परिणामी होणार्‍या आपल्या टॅबलेटच्या कोणत्याही नुकसानासाठी किंवा डेटाच्या हानीसाठी तुम्ही जबाबदार आहात."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"तुमचा फोन आणि वैयक्तिक डेटा अज्ञात अनुप्रयोगांद्वारे आक्रमणांपासून अधिक असुरक्षित असतात. या स्रोताकडील अ‍ॅप्स इंस्टॉल करून, तुम्ही सहमत आहात की त्यांच्या वापराच्या परिणामी होणार्‍या आपल्या फोनच्या कोणत्याही नुकसानासाठी किंवा डेटाच्या हानीसाठी तुम्ही जबाबदार आहात."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"तुमचे डिव्हाइस आणि वैयक्तिक डेटा अज्ञात अ‍ॅप्सच्या आक्रमणांपासून जास्त असुरक्षित असतात. या स्रोताकडील अ‍ॅप्स इंस्टॉल करून, तुम्ही सहमत आहात की त्यांच्या वापरामुळे तुमच्या डिव्हाइसला होऊ शकणार्‍या कोणत्याही नुकसानासाठी किंवा डेटाच्या हानीसाठी तुम्ही जबाबदार आहात."</string>
@@ -1898,7 +1881,7 @@
     <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="1377296810290814749">"हे यासाठी सर्व प्राधान्ये रीसेट करेल:\n\n"<li>"बंद केलेली अ‍ॅप्स"</li>\n<li>"बंद केलेल्या अ‍ॅप्स सूचना"</li>\n<li>"क्रियांसाठी डीफॉल्ट अ‍ॅप्लिकेशन्स"</li>\n<li>"अ‍ॅप्ससाठी पार्श्वभूमीवरील डेटा प्रतिबंध"</li>\n<li>"कोणतेही परवानगी प्रतिबंध"</li>\n\n" तुम्ही कोणताही अ‍ॅप डेटा गमावणार नाही."</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>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"अ‍ॅप्स रीसेट करा"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"जागा व्यवस्थापित करा"</string>
     <string name="filter" msgid="9039576690686251462">"फिल्टर"</string>
@@ -2098,7 +2081,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"ऑडिओ आणि स्क्रीनवरील मजकूर"</string>
     <string name="display_category_title" msgid="6638191682294461408">"डिस्प्ले"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"संवादात्मकता नियंत्रणे"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"डाउनलोड केलेल्या सेवा"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"डाउनलोड केलेली अ‍ॅप्स"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"प्रायोगिक"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"वैशिष्‍ट्य फ्लॅग"</string>
     <string name="talkback_title" msgid="8756080454514251327">"Talkback"</string>
@@ -2106,27 +2089,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"आयटमना मोठ्याने ऐकण्यासाठी स्क्रीनवरील आयटमवर टॅप करा"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"कॅप्शन प्राधान्ये"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"मोठे करणे"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"मॅग्निफाय करायचा असलेला भाग"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"मॅग्निफिकेशन सुरू करा"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"तुम्हाला स्क्रीन मॅग्निफाय करताना वापरायचे असलेले मॅग्निफाय करण्याचे भाग निवडा"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"फुल स्क्रीन"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"स्क्रीनचा काही भाग"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"फुल स्क्रीन &amp; स्क्रीनचा काही भाग"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"संपूर्ण स्क्रीन मॅग्निफाय करा"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"स्क्रीनचा काही भाग मॅग्निफाय करा"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"मॅग्निफिकेशन सेटिंग्ज"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"तीन वेळा टॅप करून मोठे करा"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"शॉर्टकटद्वारे मॅग्निफाय करा"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"शॉर्टकट वापरून आणि तीन वेळा टॅप करून मॅग्निफाय करा"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"<xliff:g id="SERVICE">%1$s</xliff:g> बद्दल"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"पर्याय"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"स्क्रीनवर झूम इन करा"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"झूम करण्यासाठी 3 वेळा टॅप करा"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"झूम करण्यासाठी बटणावर टॅप करा"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><b>"झूम करण्यासाठी"</b>", स्क्रीनवर 3 वेळा पटपट टॅप करा.\n"<ul><li>"स्क्रोल करण्यासाठी 2 किंवा अधिक बोटांनी ड्रॅग करा"</li>\n<li>"झूम ॲडजस्ट करण्यासाठी 2 किंवा अधिक बोटांनी पिंच करा"</li></ul>\n\n<b>"तात्पुरते झूम करण्यासाठी"</b>", स्क्रीनवर 3 वेळा पटपट टॅप करा आणि तिसर्‍या टॅपवर तुमचे बोट धरून ठेवा.\n"<ul><li>"स्क्रीनवर इथेतिथे जाण्यासाठी ड्रॅग करा"</li>\n<li>"झूम कमी करण्यासाठी बोट उचला"</li></ul>\n\n"तुम्ही कीबोर्ड किंवा नेव्हिगेशन बारचा झूम वाढवू शकत नाही."</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"मॅग्निफिकेशन सुरू असेल तेव्हा, तुम्ही तुमची स्क्रीन झूम इन करू शकता.\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_screen_magnification_summary" msgid="7617931632990040045">"आशय अधिक स्पष्टपणे पाहण्यासाठी स्क्रीनवर जलद झूम इन करा.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;झूम इन करण्यासाठी:&lt;/b&gt;&lt;br/&gt;	१. मॅग्निफिकेशन सुरू करण्यासाठी शॉर्टकट वापरा&lt;br/&gt;	२. स्क्रीनवर टॅप करा&lt;br/&gt;	3. स्क्रीनवर फिरवण्यासाठी दोन बोटांनी ड्रॅग करा&lt;br/&gt;	४. झूम अ‍ॅडजस्ट करण्यासाठी दोन बोटांनी पिंच करा&lt;br/&gt;	५. मॅग्निफिकेशन थांबवण्यासाठी शॉर्टकट वापरा&lt;br/&gt;&lt;br/&gt;&lt;b&gt;तात्पुरते झूम इन करण्यासाठी:&lt;/b&gt;&lt;br/&gt;	१. मॅग्निफिकेशन सुरू करण्यासाठी शॉर्टकट वापरा&lt;br/&gt;	२. स्क्रीनवर कुठेही स्पर्श करा &amp; धरून ठेवा&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_dialog_title_button" msgid="4681164949716215131">"उघडण्यासाठी अ‍ॅक्सेसिबिलिटी बटण वापरा"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"उघडण्यासाठी जेश्चर वापरा"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"नवीन अ‍ॅक्सेसिबिलिटी जेश्चर वापरा"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"ही सेवा सुरू किंवा बंद करण्यासाठी, स्क्रीनच्या तळाशी असलेल्या अ‍ॅक्सेसिबिलिटी बटण <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> वर टॅप करा.\n\nसेवांदरम्यान स्विच करण्यासाठी, अ‍ॅक्सेसिबिलिटी बटणाला स्पर्श करा आणि धरून ठेवा."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"ही सेवा सुरू किंवा बंद करण्यासाठी, दोन बोटांनी स्क्रीनच्या तळापासून वर स्‍वाइप करा.\n\nसेवांदरम्यान स्विच करण्यासाठी, दोन बोटांनी वर स्वाइप करा आणि धरून ठेवा."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"ही सेवा सुरू किंवा बंद करण्यासाठी, तीन बोटांनी स्क्रीनच्या तळापासून वर स्वाइप करा.\n\nसेवांदरम्यान स्विच करण्यासाठी, तीन बोटांनी वर स्वाइप करा आणि धरून ठेवा."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"अ‍ॅक्सेसिबिलिटी सेवा सुरू किंवा बंद करण्यासाठी, दोन बोटांनी स्क्रीनच्या तळापासून वर स्वाइप करा.\n\nसेवांदरम्यान स्विच करण्यासाठी, दोन बोटांनी वर स्वाइप करा आणि धरून ठेवा."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"अ‍ॅक्सेसिबिलिटी सेवा सुरू किंवा बंद करण्यासाठी, तीन बोटांनी स्क्रीनच्या तळापासून वर स्वाइप करा.\n\nसेवांदरम्यान स्विच करण्यासाठी, तीन बोटांनी वर स्वाइप करा आणि धरून ठेवा."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"ही सेवा सुरू किंवा बंद करण्यासाठी, स्क्रीनच्या तळाशी असलेल्या अ‍ॅक्सेसिबिलिटी बटण <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> वर टॅप करा.\n\nसेवांदरम्यान स्विच करण्यासाठी, अ‍ॅक्सेसिबिलिटी बटणाला स्पर्श करा आणि धरून ठेवा."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"ही सेवा सुरू किंवा बंद करण्यासाठी, दोन बोटांनी स्क्रीनच्या तळापासून वर स्‍वाइप करा.\n\nसेवांदरम्यान स्विच करण्यासाठी, दोन बोटांनी वर स्वाइप करा आणि धरून ठेवा."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"ही सेवा सुरू किंवा बंद करण्यासाठी, तीन बोटांनी स्क्रीनच्या तळापासून वर स्वाइप करा.\n\nसेवांदरम्यान स्विच करण्यासाठी, तीन बोटांनी वर स्वाइप करा आणि धरून ठेवा."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"अ‍ॅक्सेसिबिलिटी सेवा सुरू किंवा बंद करण्यासाठी, दोन बोटांनी स्क्रीनच्या तळापासून वर स्वाइप करा.\n\nसेवांदरम्यान स्विच करण्यासाठी, दोन बोटांनी वर स्वाइप करा आणि धरून ठेवा."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"अ‍ॅक्सेसिबिलिटी सेवा सुरू किंवा बंद करण्यासाठी, तीन बोटांनी स्क्रीनच्या तळापासून वर स्वाइप करा.\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="2820923641553461297">"अ‍ॅक्सेसिबिलिटी बटण"</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>
+    <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8922102767509399352">"तुमच्या स्क्रीनच्या तळाशी असलेले अ‍ॅक्सेसिबिलिटी बटण <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> यावर टॅप करा"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"दोन बोटांनी स्क्रीनच्या तळापासून वर स्वाइप करा"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"तीन बोटांनी स्क्रीनच्या तळापासून वर स्वाइप करा"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"व्हॉल्यूम की दाबून ठेवा"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"दोन्ही व्हॉल्यूम की एका सेकंदासाठी दाबा आणि धरून ठेवा"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"स्क्रीनवर तीन वेळा टॅप करा"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"जलदरीतीने तीन वेळा स्क्रीनवर टॅप करा. हा शॉर्टकट तुमचे डिव्हाइस धीमे करू शकताे."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"प्रगत"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"प्रवेशयोग्यता बटण <xliff:g id="SERVICE">%1$s</xliff:g> वर सेट केले आहे. मोठे करणे वापरण्यासाठी, प्रवेशयोग्यता बटणाला स्पर्श करा आणि धरून ठेवा, नंतर मोठे करणे निवडा."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"अ‍ॅक्सेसिबिलिटी जेश्चर <xliff:g id="SERVICE">%1$s</xliff:g> वर सेट केले आहे. मॅग्निफिकेशन वापरण्यासाठी, स्क्रीनच्या खालच्या बाजूने दोन बोटांनी वर स्वाइप करा आणि धरून ठेवा. त्यानंतर मॅग्निफिकेशन निवडा."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"आवाज की शॉर्टकट"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"शॉर्टकट सेवा"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"शॉर्टकट सेटिंग्ज"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"लॉक स्‍क्रीनवरून अनुमती द्या"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"शॉर्टकट चालू असताना, प्रवेशयोग्यता वैशिष्ट्य सुरू करण्यासाठी तुम्ही आवाज बटणे 3 सेकंद दाबू शकता."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"उच्च कॉंट्रास्ट मजकूर"</string>
@@ -2150,24 +2158,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"तुम्हाला कृती करण्यास सांगणारे, परंतु केवळ तात्पुरते दृश्यमान असलेले मेसेज किती वेळ दाखवले जावेत ते निवडा.\n\nया सेटिंगला सर्व अ‍ॅप्समध्ये सपोर्ट असेल असे नाही."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"स्पर्श आणि धरण्याचा विलंब"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"रंग व्युत्क्रम"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"कार्यप्रदर्शन प्रभावित करू शकते"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"थांबल्याची वेळ"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"कलर इन्व्हर्जन वापरा"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"कलर इन्व्हर्जन फिकट रंगाची स्क्रीन गडद करते. हे प्रखर प्रकाशाला संवेदनशील असलेल्या लोकांना स्क्रीन अधिक सहजतेने पाहण्यासाठी मदत करते.&lt;br/&gt;&lt;br/&gt;टीप: गडद रंग हलके होतील. मीडिया आणि इमेजमधील रंग बदलतील. तुम्ही गडद थीम (सेटिंग्ज &gt; डिस्प्ले) देखील वापरू शकता."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"ऑटो क्लिक (थांबल्याची वेळ)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"तुम्ही माउस वापरत असल्यास, जेव्हा कर्सर काही वेळासाठी हलणे थांबवतो तेव्हा तुम्ही तो आपोआप कृती करण्यासाठी सेट करू शकता."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"क्लिक करण्यापूर्वी विलंब करा"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"ऑटो क्लिक (डीफॉल्ट) वापरू नका"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"छोटे"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"०.२ सेकंद"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"मध्यम"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"०.६ सेकंद"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"लांब"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"एक सेकंद"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"कस्टम"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"अल्प"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"दीर्घ"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"ऑटो क्लिकची वेळ"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"कंपन आणि हॅप्टिक स्ट्रेंथ"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"सूचना कंपन"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"रिंग कंपन"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"स्पर्श फीडबॅक"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"ही सेवा वापरा"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g> वापरा"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g> उघडा"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"रंग सुधारणा वापरा"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"कॅप्शन वापरा"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"कॅप्शन दाखवा"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"कॅप्शन स्वरूप"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"मजकूराचा आकार, कॅप्शन शैली"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"अधिक पर्याय"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"सर्व अ‍ॅप्स या सेटिंग्जना सपोर्ट करत नाहीत."</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>
     <string name="accessibility_hearingaid_instruction_continue_button" msgid="3367260988024430722">"सुरू ठेवा"</string>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"श्रवण यंत्रे"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"कोणतीही श्रवण यंत्रे जोडलेली नाहीत"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"श्रवण यंत्रे जोडा"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"तुमची श्रवण यंत्रे पेअर करण्यासाठी पुढील स्क्रीनवर तुमचे डिव्हाइस शोधा आणि त्यावर टॅप करा."</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"तुमची श्रवण यंत्रे पेअरिंग मोडमध्ये असल्याची खात्री करा."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"तुमची श्रवणयंत्रे पेअर करण्यासाठी पुढील स्क्रीनवर तुमचे डिव्हाइस शोधा आणि त्यावर टॅप करा. तुमची श्रवणयंत्रे पेअरिंग मोडमध्ये असल्याची खात्री करा."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> सुरू आहे"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="other"> सेव्ह केलेली <xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> श्रवण यंत्रे</item>
@@ -2179,25 +2205,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"या सेवेमध्ये बिघाड आहे."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"द्रुत सेटिंग्जमध्ये दर्शवा"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"सुधार मोड"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="other">अत्यंत अल्प विलंब (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> मिसे)</item>
-      <item quantity="one">अत्यंत अल्प विलंब (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> मिसे)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"लाल-हिरवा"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"हिरवा-लाल"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"निळा-पिवळा"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"आंशिक हरितवर्णांधता"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"क्षीण रक्तवर्णांधता"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"तृतीयवर्णदृष्टिक्षीणता"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="other">अतिशय अल्प विलंब (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> सेकंद)</item>
+      <item quantity="one">अतिशय अल्प विलंब (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> सेकंद)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="other">खूप अल्प विलंब (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> मिसे)</item>
-      <item quantity="one">खूप अल्प विलंब (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> मिसे)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="other">खूप अल्प विलंब (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> सेकंद)</item>
+      <item quantity="one">खूप अल्प विलंब (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> सेकंद)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="other">अल्प विलंब (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> मिसे)</item>
-      <item quantity="one">अल्प विलंब (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> मिसे)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="other">अल्प विलंब (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> सेकंद)</item>
+      <item quantity="one">अल्प विलंब (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> सेकंद)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="other">दीर्घ विलंब (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> मिसे)</item>
-      <item quantity="one">दीर्घ विलंब (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> मिसे)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="other">दीर्घ विलंब (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> सेकंद)</item>
+      <item quantity="one">दीर्घ विलंब (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> सेकंद)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="other">खूप दीर्घ विलंब (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> मिसे)</item>
-      <item quantity="one">खूप दीर्घ विलंब (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> मिसे)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="other">खूप दीर्घ विलंब (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> सेकंद)</item>
+      <item quantity="one">खूप दीर्घ विलंब (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> सेकंद)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> सेकंद</item>
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> सेकंद</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"रिंग करा <xliff:g id="SUMMARY_RING">%1$s</xliff:g>, सूचना <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>, स्पर्श करा<xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"रिंग आणि सूचना हे बंदवर सेट केले"</string>
@@ -2514,7 +2550,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"<xliff:g id="UNPLUGGED">%1$s</xliff:g> साठी अंतिम अनप्लग केलेले असताना"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"वापर एकूण"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"रिफ्रेश करा"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"Android OS"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"मीडियासर्व्हर"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"अ‍ॅप ऑप्टिमायझेशन"</string>
     <string name="battery_saver" msgid="7737147344510595864">"बॅटरी सेव्‍हर"</string>
@@ -2595,8 +2630,7 @@
     <string name="tts_play" msgid="2945513377250757221">"प्ले करा"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"क्रेडेन्शियल स्टोरेज"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"स्टोरेजवरून इंस्टॉल करा"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"SD कार्ड वरून इंस्टॉल करा"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"एक प्रमाणपत्र इंस्टॉल करा"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"स्टोरेजमधील प्रमाणपत्रे इंस्टॉल करा"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"SD कार्डमधील प्रमाणपत्रे इंस्टॉल करा"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"क्रेडेंशियल साफ करा"</string>
@@ -2616,6 +2650,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"क्रेडेन्शियल स्टोरेज मिटवले आहे."</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"क्रेडेन्शियल स्टोरेज मिटवता आले नाही."</string>
     <string name="usage_access_title" msgid="1580006124578134850">"वापर प्रवेश असलेले अ‍ॅप्स"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"CA प्रमाणपत्र"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"VPN व ॲप वापरकर्ता प्रमाणपत्र"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"वाय-फाय प्रमाणपत्र"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"तुमची गोपनीयता धोक्यात आहे"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"वेबसाइट, ॲप्स आणि VPN एंक्रिप्शनसाठी CA प्रमाणपत्रे वापरली जातात. फक्त तुमचा विश्वास असलेल्या संस्थांकडून CA प्रमाणपत्रे इंस्टॉल करा. \n\n तुम्ही CA प्रमाणपत्र इंस्टॉल केल्यास, प्रमाणपत्र मालक तुम्ही भेट दिलेल्या वेबसाइटवरून किंवा तुम्ही वापरत असलेल्या अ‍ॅप्‍सवरील माहिती, जसे की पासवर्ड, मेसेज किंवा क्रेडिट कार्ड तपशील ॲक्सेस करू शकतात - ती माहिती एंक्रिप्ट केलेली असली तरीही."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"इंस्टॉल करू नका"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"तरीही इंस्टॉल करा"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"प्रमाणपत्र इंस्टॉल केलेले नाही"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"आणीबाणी डायलिंग सिग्नल"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"आणीबाणी कॉल केला जातो तेव्हा वर्तन सेट करा"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"बॅकअप"</string>
@@ -2643,10 +2685,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"निष्क्रिय करा आणि अनइंस्टॉल करा"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"डिव्हाइस प्रशासक अ‍ॅप्स"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"कोणतेही डिव्हाइस प्रशासक अ‍ॅप्स उपलब्ध नाहीत"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"वैयक्तिक"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"कार्य"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"एसएमएस आणि कॉल लॉग अ‍ॅक्सेस प्रतिबंधित करा"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"फक्त डीफॉल्ट फोन आणि मेसेजिंग ॲप्सना एसएमएस आणि कॉल लॉग परवानग्या आहेत"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"कोणतेही विश्वासू एजंट उपलब्ध नाहीत"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"डिव्हाइस प्रशासक अ‍ॅप ॲक्टिव्हेट करायचे?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"हे डिव्हाइस प्रशासक अ‍ॅप ॲक्टिव्हेट करा"</string>
@@ -2660,6 +2698,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"आपल्या प्रशासकाने इतर पर्याय अक्षम केले आहेत"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"अधिक तपशील"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"सूचना लॉग"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"सूचना इतिहास"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"आज"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"स्नूझ केले"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"अलीकडे डिसमिस केले"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> सूचना</item>
+      <item quantity="one"><xliff:g id="NUMBER_0">%d</xliff:g> सूचना</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"कॉल रिंगटोन आणि व्हायब्रेट"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"नेटवर्क तपशील"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"सिंक सक्षम केले"</string>
@@ -3009,7 +3055,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"निर्बंध"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"प्रतिबंध काढून टाका"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"पिन बदला"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"सूचना दर्शवा"</string>
     <string name="help_label" msgid="2896538416436125883">"मदत आणि अभिप्राय"</string>
     <string name="support_summary" msgid="1034146931237148885">"मदत लेख, फोन आणि चॅट, सुरूवात करणे"</string>
     <string name="user_account_title" msgid="6389636876210834864">"सामग्रीसाठी खाते"</string>
@@ -3034,6 +3079,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G कॉलिंग"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"व्‍हॉइस आणि इतर संवादांमध्ये सुधारणा करण्‍यासाठी LTE सेवा वापरा (शिफारस केलेले)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"व्‍हॉइस आणि इतर संवादांमध्ये सुधारणा करण्‍यासाठी 4G सेवा वापरा (शिफारस केलेले)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"संपर्क शोधणे"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"तुमचे संपर्क कोणती कॉलिंग वैशिष्ट्ये सपोर्ट करतात हे जाणून घेण्याची तुमच्या वाहकाला अनुमती देते."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"संपर्क शोधणे सुरू करायचे आहे का?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"हे वैशिष्ट्य सुरू केल्याने तुमच्या वाहकाला तुमच्या संपर्कांमधील फोन नंबरचा अ‍ॅक्सेस करण्याची अनुमती मिळेल जेणेकरून ते कोणत्या कॉलिंग वैशिष्ट्यांना सपोर्ट करतात हे जाणून घेता येईल."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"प्राधान्‍य असलेला नेटवर्क प्रकार"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (शिफारस केलेले)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS मेसेज"</string>
@@ -3078,7 +3127,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"यासह कॉल करा"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"एक सिम कार्ड निवडा"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"सिम <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"सिम रिक्त"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"सिम नाव"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"सिम नाव एंटर करा"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"सिम स्लॉट %1$d"</string>
@@ -3088,6 +3136,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"सिम कार्ड निवडा"</string>
     <string name="color_orange" msgid="216547825489739010">"नारिंगी"</string>
     <string name="color_purple" msgid="6603701972079904843">"जांभळा"</string>
+    <string name="color_pink" msgid="8596872110888626708">"गुलाबी"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"कोणतीही सिम कार्डे घातलेली नाहीत"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"सिम स्थिती"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"सिम स्थिती (सिम स्लॉट %1$d)"</string>
@@ -3101,7 +3150,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"सिम कार्ड बदलली."</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"सेट करण्यासाठी टॅप करा"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"यासाठी प्राधान्यकृत सिम"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"प्रत्येक वेळी विचारा"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"निवड आवश्यक"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"सिम निवड"</string>
@@ -3119,6 +3167,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"ब्लूटूथ, ड्रायव्हिंग मोड"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"ब्लूटूथ, NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"ब्लूटूथ"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"NFC बंद असल्याने उपलब्ध नाही"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"अ‍ॅप्स आणि सूचना"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"अलीकडील अ‍ॅप्स, डीफॉल्ट अ‍ॅप्स"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"कार्य प्रोफाइलमधील ॲप्ससाठी सूचनेचा अ‍ॅक्सेस उपलब्ध नाही."</string>
@@ -3129,13 +3178,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"सेटिंग्ज"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"वायफाय, वाय-फाय, नेटवर्क कनेक्शन, इंटरनेट, वायरलेस, डेटा, वाय फाय"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"वाय-फाय सूचना, वायफाय सूचना"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"डेटा वापर"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"व्हायब्रेशन थांबवा, टॅप करा, कीबोर्ड"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"२४-तास फॉरमॅट वापरा"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"डाउनलोड करा"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"याने उघडा"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"ॲप्लिकेशन"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"टाइमझोन"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"चॅट हेड"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"चॅट हेड, सिस्टम, सूचना, विंडो, डायलॉग, डिस्प्ले, इतर अ‍ॅप्सच्या टॉपवर, ड्रॉ"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"फ्लॅशलाइट, लाइट, टॉर्च"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"वायफाय, वाय-फाय, टॉगल, कंट्रोल"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"सेल्युलर, मोबाइल, सेल वाहक, वायरलेस, डेटा, 4g, 3g, 2g, lte"</string>
@@ -3159,7 +3209,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"व्यत्यय आणू नका, व्यत्यय आणा, व्यत्यय, खंडित करा"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"जवळपासचे, स्थान, इतिहास, अहवाल देणे, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"खाते"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"खाते, एक खाते जोडा, कार्य प्रोफाइल, खाते जोडा"</string>
     <string name="keywords_users" msgid="3497517660077620843">"प्रतिबंध, प्रतिबंधित करा, प्रतिबंधित"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"मजकूर सुधारणा, योग्य, ध्वनी, व्हायब्रेट, ऑटो, भाषा, जेश्चर, सुचवा, सूचना, थीम, आक्षेपार्ह, शब्द, प्रकार, ईमोजी, आंतरराष्ट्रीय"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"रीसेट करा, प्राधान्ये, डीफॉल्‍ट"</string>
@@ -3197,6 +3247,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"मेमरी, कॅशे, डेटा, हटवा, साफ करा, मोकळी करा, जागा"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"कनेक्ट केलेले, डिव्हाइस, हेडफोन, हेडसेट, स्पीकर, वायरलेस, पेअर, इयरबड, संगीत, मीडिया"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"पार्श्वभूमी, स्क्रीन, लॉकस्क्रीन, थीम"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"आयकनचा आकार, अ‍ॅक्सेंटचा रंग, फॉन्ट"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"डीफॉल्ट, सहाय्यक"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"पेमेंट, डीफॉल्ट"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"येणारी सूचना"</string>
@@ -3206,18 +3257,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"हॅप्टीक्स, कंपन, संवेदनशीलता"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"बॅटरी सेव्हर, चिकट, सततचे, पॉवर सेव्हर, बॅटरी"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"दिनक्रम, शेड्युल, बॅटरी सेव्हर, पॉवर सेव्हर, बॅटरी, ऑटोमॅटिक, टक्के"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"कार्य प्रोफाइल"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"volte, प्रगत कॉलिंग, 4G कॉलिंग"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"भाषा जोडा, एखादी भाषा जोडा"</string>
     <string name="default_sound" msgid="6604374495015245195">"डीफॉल्ट ध्‍वनी"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"रिंग व्हॉल्यूम <xliff:g id="PERCENTAGE">%1$s</xliff:g> वर"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"रिंग आणि सूचनेचा व्हॉल्यूम <xliff:g id="PERCENTAGE">%1$s</xliff:g> वर आहे"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"आवाज, व्हायब्रेट, व्यत्यय आणू नका"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"रिंगर कंपनवर सेट केले"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"रिंगर शांत वर सेट केले"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"रिंग व्हॉल्यूम 80% वर आहे"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"रिंग आणि सूचनेचा व्हॉल्यूम ८०% वर आहे"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"मीडिया व्हॉल्यूम"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"व्हॉल्यूम कास्ट करा"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"कॉल व्हॉल्यूम"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"अलार्म व्हॉल्यूम"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"रिंग व्हॉल्यूम"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"रिंग आणि सूचनेचा व्हॉल्यूम"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"सूचना व्हॉल्यूम"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"फोन रिंगटोन"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"डीफॉल्ट सूचना ध्वनी"</string>
@@ -3225,6 +3277,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"डीफॉल्ट सूचना ध्वनी"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"डीफॉल्ट अलार्म ध्वनी"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"कॉलसाठी कंपन सुरू करा"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"कधीही व्हायब्रेट करू नका"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"नेहमी व्हायब्रेट करा"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"प्रथम व्हायब्रेट करा नंतर हळूहळू रिंग करा"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"इतर ध्वनी"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"डायल पॅड टोन"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"स्‍क्रीन लॉक करणारे ध्वनी"</string>
@@ -3248,6 +3303,7 @@
       <item quantity="one">एक सुरू केले</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"व्यत्यय आणू नका"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"फक्त तुम्हाला विश्वास असलेल्या लोकांकडील सूचना मिळवा"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"व्यत्यय मर्यादित करा"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"व्यत्यय आणू नका चालू करा"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"अपवाद"</string>
@@ -3274,7 +3330,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"दृश्य व्यत्यय ब्लॉक करा"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"व्हिज्युअल सिग्नलना अनुमती द्या"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"व्यत्यय आणू नका सुरू असते तेव्हा"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"आवाज करतात त्या सर्व व्यत्ययांना अनुमती द्या"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"सूचना प्रतिबंधित करा"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"सूचना आल्यावर आवाज नाही"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"तुम्हाला तुमच्या स्क्रीनवर सूचना दिसतील"</string>
@@ -3305,7 +3361,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"ध्वनी आणि व्हायब्रेट"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"ध्वनी, व्हायब्रेट आणि काही व्हिज्युअल चिन्हांच्या काही सूचना"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"सूचनांचा ध्वनी, व्हायब्रेट आणि व्हिज्युअल चिन्ह"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"मूलभूत फोन ॲक्टिव्हिटी आणि स्थितीसाठी आवश्यक सूचना कधीही लपवल्या जाणार नाहीत"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"मूलभूत फोन ॲक्टिव्हिटी आणि स्थितीसाठी आवश्यक सूचना कधीही लपवल्या जाणार नाहीत."</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"काहीही नाही"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"इतर पर्याय"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"जोडा"</string>
@@ -3335,10 +3391,12 @@
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> शेड्युल आपोआप सुरू केले जाऊ शकतात</item>
       <item quantity="one">एक शेड्युल आपोआप सुरू केले जाऊ शकते</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"डिव्हाइस म्यूट करा पण अपवादांना अनुमती द्या"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"अपवाद"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"शेड्युल"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"सर्व अपवाद पाहा"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"व्यत्यय आणू नका सुरू असते तेव्हाची एक्सेप्शन"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"लोक"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"अ‍ॅप्स"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"अलार्म आणि इतर व्यत्यय"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"शेड्युल"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"सायलंट केलेल्या सूचना"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"जेव्हा व्यत्यय आणू नका सुरू असते, तेव्हा फोनचा आवाज आणि व्हायब्रेशन म्यूट होतात, वरील आयटमसाठी दिलेल्या अनुमती व्यतिरिक्त"</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"व्यतिरिक्त सर्व म्यूट करा"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"म्यूट केले आहे"</string>
@@ -3382,16 +3440,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"अ‍ॅडॅप्टिव्ह सूचना"</string>
     <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_capabilities_actions_replies_title" msgid="4392470465646394289">"सुचवलेली कृती आणि उत्तरे"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"सुचवलेली कृती आणि उत्तरे आपोआप दाखवा"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"मागील आणि स्नूझ केलेल्या सूचनांचा मागोवा ठेवण्यासाठी सूचना इतिहास चालू करा"</string>
+    <string name="notification_history" msgid="8663811361243456201">"सूचना इतिहास"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"इतिहास सुरू करा"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"इतिहास बंद करा"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"सूचना इतिहास बंद आहे"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"सूचना सेटिंग्ज पहा"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"सूचना स्नूझ करण्याची अनुमती द्या"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"आयकन हळू आवाजातील सूचनांमधून लपवा"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"हळू आवाजातील सूचनांमधील आयकन स्टेटस बारमध्ये दाखवले जात नाहीत"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"सूचना बिंदूंना अनुमती द्या"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"अलीकडील संभाषणांची स्ट्रीप"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"बबल"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"काही सूचना स्क्रीनवर बबल म्हणून दिसू शकतात"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"काही सूचना आणि इतर आशय स्क्रीनवर बबल म्हणून दिसू शकतात. बबल उघडण्यासाठी, त्यावर टॅप करा. डिसमिस करण्यासाठी, तो स्क्रीनच्या खालच्या बाजूला ड्रॅग करा."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"बबल"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"नवीन मेसेज स्क्रीनवर दिसतील"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"<xliff:g id="APP_NAME">%1$s</xliff:g> ला काही सूचना बबल म्हणून दाखवू द्या"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"बबल सुरू करा"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"या अ‍ॅपसाठी बबल सुरू करण्यासाठी, सर्वात आधी तुम्हाला ते तुमच्या डिव्हाइसवर सुरू करणे आवश्यक आहे. हे त्या इतर अ‍ॅप्सना प्रभावित करते ज्यांच्यासाठी तुम्ही यापूर्वी बबल सुरू केले आहे."</string>
@@ -3409,6 +3477,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"पूल-डाउन शेडमध्ये आणि लॉक स्क्रीनवर दाखवा"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"पूल-डाउन शेड आणि स्टेटस बारमध्ये दाखवा"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"पूल-डाउन शेडमध्ये, स्टेटस बारमध्ये आणि लॉक स्क्रीनवर दाखवा"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"स्टेटस बारमधील सायलंट सूचना लपवा"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"ब्लिंक लाइट"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"लॉक स्क्रीन"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"लॉक स्क्रीन वगळा"</string>
@@ -3439,6 +3508,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"वर्तन"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"ध्वनीला अनुमती द्या"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"सूचना कधीही दर्शवू नका"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"संभाषणे"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"संभाषण"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"हे संभाषण नाही"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"संभाषण विभागातून काढून टाका"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"हे संभाषण आहे"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"संभाषण विभागात जोडा"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"संभाषणे व्यवस्थापित करा"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"महत्त्वाची संभाषणे"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"सर्व संभाषणे"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"महत्त्वाच्या संभाषणांना बबल करा"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"पुल-डाउन शेडच्या सर्वात वर महत्त्वाची संभाषणे दाखवली जातात. तुम्ही त्यांना बबलवरदेखील सेट करू शकता आणि व्यत्यय आणू नका मोड थांबवू शकता."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"शांतपणे दाखवा आणि कमी करा"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"शांतपणे दर्शवा"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"ध्वनी करा"</string>
@@ -3457,7 +3537,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"आवाज किंवा व्हायब्रेशनशिवाय तुम्हाला लक्ष केंद्रित करण्यास मदत करते"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"आवाज किंवा व्हायब्रेशनने तुमचे लक्ष वेधून घेते"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"डिव्हाइस अनलॉक असताना, स्क्रीनच्या सर्वात वरती बॅनर म्हणून सूचना दाखवा"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"सूचना दाखवा"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"सर्व <xliff:g id="APP_NAME">%1$s</xliff:g> सूचना"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"अ‍ॅडॅप्टिव्ह सूचना"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="other">~दर दिवसाला <xliff:g id="NUMBER_1">%d</xliff:g> सूचना</item>
@@ -3478,6 +3558,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"अ‍ॅडॅप्टिव्ह सूचना"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"काहीही नाही"</string>
     <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="3119843404577399036">"संपर्क नावे आणि तुम्हाला येणारे एसएमएस यासारख्या वैयक्तिक माहितीच्या समावेशासह <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>
@@ -3539,8 +3620,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"पूर्ण झाले"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"महत्त्व"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"ब्लिंक लाइट"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"व्हायब्रेट"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"व्हायब्रेशन"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"ध्वनी"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"महत्त्वाचे"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"होमवर जोडा"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"हटवा"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"नाव बदला"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"शेड्युल नाव"</string>
@@ -3594,6 +3677,10 @@
       <item quantity="other"><xliff:g id="NUM_PEOPLE">%d</xliff:g> अन्य</item>
       <item quantity="one">एक अन्य</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"संभाषणे"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"सर्व संभाषणांमधून"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"महत्त्वाच्या संभाषणांमधून"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"कोणत्याही संभाषणांना अनुमती देऊ नका"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"मेसेजची अनुमती द्या"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"अनुमती असलेले मेसेज आल्यावर आवाज होईल याची खात्री करण्यासाठी तुमचे डिव्हाइस रिंग होण्यासाठी, कंपन किंवा सायलंटवर सेट केले आहे की नाही ते पाहा."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"‘<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>’ साठी येणारे मेसेज ब्लॉक केले आहेत. तुमच्या मित्रमैत्रिणींना, कुटुंबीयांना किंवा इतर संपर्कांना तुमच्याशी संपर्क साधण्याची अनुमती देण्यासाठी तुम्ही सेटिंग्ज अ‍ॅडजस्ट करू शकता."</string>
@@ -3607,15 +3694,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"काहीही नाही"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"कॉलची अनुमती देऊ नका"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"कोणत्याही मेसेजना अनुमती देऊ नका"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"अलार्मना अनुमती द्या"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"अलार्म"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"टायमर, अलार्म, सुरक्षा सिस्टम आणि इतर ॲप्स मधील"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"अलार्म"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"मीडिया आवाज प्ले करा"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"मीडियाचा आवाज"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"व्हिडिओ, गेम आणि इतर मीडिया मधून"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"मीडिया"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"स्पर्श ध्वनींना अनुमती द्या"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"स्पर्श ध्वनी"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"तुमच्या कीबोर्ड आणि इतर बटणांमधील"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"स्पर्श ध्वनी"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"रिमाइंडरना अनुमती द्या"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"स्मरणपत्रे"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"कामे आणि रिमाइंडर मधील"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"रिमाइंडर्स"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"इव्हेंटना अनुमती द्या"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"इव्हेंट"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"आगामी कॅलेंडर इव्हेंट मधून"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"ॲप्सना ओव्हरराइड करण्याची अनुमती द्या"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"अ‍ॅप अपवाद"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3658,6 +3750,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"व्यत्यय आणू नका ने स्क्रीन चालू करा आणि सूचनांना मूक होऊ द्या"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"सूचना सेटिंग्ज"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"ठीक"</string>
+    <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>
@@ -3668,6 +3761,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"अनपिन करण्‍यापूर्वी पिन साठी विचारा"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"अनपिन करण्‍यापूर्वी संकेतशब्दासाठी विचारा"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"अनपिन करताना डिव्हाइस लॉक करा"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"सिम हटवण्याची खात्री करा"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"एखादा डाउनलोड केलेला सिम मिटवण्यापूर्वी ते तुम्ही आहात याची पडताळणी करा"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"हे कार्य प्रोफाईल याद्वारे व्यवस्थापित केले आहे:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"<xliff:g id="ADMIN_APP_LABEL">%s</xliff:g> द्वारे व्यवस्थापित"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(प्रायोगिक)"</string>
@@ -3742,8 +3837,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"सर्व अ‍ॅप्स"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"इंस्टॉल केलेली अ‍ॅप्स"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"इन्स्टंट अ‍ॅप्स"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"वैयक्तिक"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"कार्य"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"अ‍ॅप्स: सर्व"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"बंद केले आहे"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"वर्गवाऱ्या: तातडीचे महत्त्व"</string>
@@ -3755,6 +3848,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"अज्ञात अ‍ॅप"</string>
     <string name="app_permissions" msgid="8666537659217653626">"परवानगी व्यवस्थापक"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"<xliff:g id="APPS">%1$s</xliff:g> वापरणारी अ‍ॅप्स"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"<xliff:g id="APPS">%1$s</xliff:g> आणि आणखी बरेच काही वापरणारी ॲप्स"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"सक्रिय करण्यासाठी टॅप करा"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"डिव्हाइस ॲक्टिव्हेट करण्यासाठी स्क्रीनवर कुठेही दोनदा टॅप करा"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"उघडणाऱ्या लिंक"</string>
@@ -3766,9 +3860,14 @@
       <item quantity="other">समर्थित लिंक उघडणारी <xliff:g id="COUNT">%d</xliff:g> अ‍ॅप्स</item>
       <item quantity="one">समर्थित लिंक उघडणारे एक अ‍ॅप</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"हा अ‍ॅप उघडा"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"ॲपला सपोर्ट असलेल्या लिंक उघडण्याची अनुमती द्या"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"प्रत्येक वेळी विचारा"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"हा अ‍ॅप उघडू नका"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"अ‍ॅपला लिंक उघडण्यास अनुमती देऊ नका"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="other">ॲपने <xliff:g id="COUNT_1">%d</xliff:g> लिंक हाताळल्याचा दावा केला आहे</item>
+      <item quantity="one">ॲपने <xliff:g id="COUNT_0">%d</xliff:g> लिंक हाताळल्याचा दावा केला आहे</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"अ‍ॅप खालील लिंक हाताळण्याचा दावा करते:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"डीफॉल्ट"</string>
     <string name="default_for_work" msgid="537558180548617528">"कार्यासाठी डीफॉल्ट"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"साहाय्य आणि व्हॉइस इनपुट"</string>
@@ -3912,8 +4011,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"इतर अ‍ॅप्सच्या वर प्रदर्शित करा"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"इतर अ‍ॅप्सच्या वर प्रदर्शित करू द्या"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"तुम्ही वापरत असलेल्या इतर अ‍ॅप्सच्या शीर्षस्थानी हे अ‍ॅप डिस्प्ले करण्याची अनुमती द्या. हे तुमच्या त्या अ‍ॅप्सच्या वापरात हस्तक्षेप करू शकते किंवा त्यांच्या दिसण्यात किंवा वर्तनात बदल करू शकते."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"सर्व फाइलचा अ‍ॅक्सेस"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"सर्व फाइल व्यवस्थापनासाठी अ‍ॅक्सेस द्या"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"या ॲपला या डिव्हाइसवरील किंवा कनेक्ट केलेल्या स्टोरेज व्‍हॉल्‍यूममधील सर्व फाइल वाचण्याची, सुधारित करण्याची आणि हटवण्याची अनुमती द्या. अनुमती दिली असल्यास, ॲप कदाचित तुम्हाला न विचारता फाइलचा अ‍ॅक्सेस करू शकते"</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"सर्व फाइल अ‍ॅक्सेस करू शकते"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"vr आभासी वास्तविकता श्रोता स्टीरीओ मदतकर्ता सेवा"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"इतर अ‍ॅप्सच्या शीर्षस्थानी सिस्टम  सूचना विंडो संवाद डिस्प्ले"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"इतर अ‍ॅप्सच्या वर प्रदर्शित करा"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"<xliff:g id="COUNT_1">%2$d</xliff:g> पैकी <xliff:g id="COUNT_0">%1$d</xliff:g> अ‍ॅप्सना इतर अ‍ॅप्सच्या वर प्रदर्शित होण्याची अनुमती"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"परवानगी असलेले अ‍ॅप्स"</string>
@@ -4079,6 +4181,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"<xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g> वापरला"</string>
     <string name="data_overusage" msgid="3680477320458707259">"<xliff:g id="ID_1">^1</xliff:g> मर्यादा संपली"</string>
     <string name="data_remaining" msgid="6316251496381922837">"<xliff:g id="ID_1">^1</xliff:g> शिल्लक"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"आलेख <xliff:g id="START_DATE">%1$s</xliff:g> आणि <xliff:g id="END_DATE">%2$s</xliff:g> दरम्यान डेटा वापर दाखवते."</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"या तारीख श्रेणीमध्ये कोणताही डेटा नाही"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="other">%d दिवस शिल्लक</item>
       <item quantity="one">%d दिवस शिल्लक</item>
@@ -4142,14 +4246,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"पार्सल आकार"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"अश्मेम"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"सूचनेचा इशारा दिला"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"ध्वनी"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"व्हायब्रेट होणे"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"पॅटर्न"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"डीफॉल्ट"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"चॅनेल"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"काहीही नाही"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"रँकिंग ऑब्जेक्ट गहाळ आहे."</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"रँकिंग ऑब्जेक्ट मध्ये ही की असू शकत नाही."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"थीमिंग"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"डिव्हाइस डीफॉल्ट"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"डिस्प्ले कटआउट"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"कटआउट, नॉच डिस्‍प्‍ले करा"</string>
@@ -4238,8 +4338,12 @@
     <string name="information_label" msgid="6939310810756569298">"माहिती"</string>
     <string name="low_label" msgid="6525629096999711220">"कमी"</string>
     <string name="high_label" msgid="357503396626018487">"उच्च"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"उच्च संवेदनशीलतेमुळे स्क्रीनच्या कडेला कोणत्याही अ‍ॅप जेश्चरमध्ये व्यत्यय येऊ शकतो."</string>
+    <string name="left_edge" msgid="1513576842959071849">"डावी काठ"</string>
+    <string name="right_edge" msgid="1505309103265829121">"उजवी काठ"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"उच्च संवेदनशीलतेमुळे स्क्रीनच्या कडेला कोणत्याही अ‍ॅप जेश्चरमध्ये व्यत्यय येऊ शकतो."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"मागे जा बटणाची संवेदनशीलता"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"जेश्चर सेटिंग्ज"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"जेश्चर नेव्हिगेशन, मागे जा बटणाची संवेदनशीलता, बॅक जेश्चर"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"फोन तपासण्‍यासाठी दोनदा टॅप करा"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"टॅब्लेट तपासण्‍यासाठी दोनदा-टॅप करा"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"डिव्हाइस तपासण्‍यासाठी दोनदा टॅप करा"</string>
@@ -4394,7 +4498,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"वाहक तरतूद ट्रिगर करा"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"व्यत्यय आणू नका अपडेट करा"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"लक्ष केंद्रित केलेले राहण्यासाठी सूचना थांंबवा"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"हे वैशिष्‍ट्य या डिव्हाइसवर उपलब्ध नाही"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"वैशिष्‍ट्य उपलब्ध नाही"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"हे वैशिष्ट्य बंद केले गेले आहे कारण, ते तुमच्या फोनला धीमे करते"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"पूर्ण GNSS मापांची सक्ती करा"</string>
@@ -4404,20 +4507,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"ANGLE सुरू केलेले अ‍ॅप निवडा"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"कोणतेही ANGLE सुरू केलेले ॲप्लिकेशन सेट करा"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"ANGLE सुरू केलेले ॲप्लिकेशन: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"गेम ड्रायव्हर प्राधान्ये"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"गेम ड्रायव्हर सेटिंग्जमध्ये सुधारणा करा"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"गेम ड्रायव्हर सुरू केल्यावर, तुम्ही डिव्हाइसवर इंस्टॉल केलेल्या अ‍ॅप्ससाठी अपडेट केलेले ग्राफिक्स वापरण्याचे निवडू शकता."</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"सर्व अ‍ॅप्ससाठी सुरू करा"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"ग्राफिक ड्रायव्हर निवडा"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"डीफॉल्ट"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"गेम ड्रायव्हर"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"रिलीझ करण्यापूर्वीचा ड्रायव्हर"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"सिस्टम ग्राफिक ड्रायव्हर"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"ग्राफिक ड्रायव्हर प्राधान्ये"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"ग्राफिक ड्राइव्हर सेटिंग्ज बदला"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"अनेक ग्राफिक ड्रायव्हर असल्यास, तुम्ही डिव्हाइसवर इंस्टॉल केलेल्या अ‍ॅप्ससाठी अपडेट केलेले ग्राफिक ड्राइव्हर वापरू शकता."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"सर्व अ‍ॅप्ससाठी सुरू करा"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"ग्राफिक ड्रायव्हर निवडा"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"डीफॉल्ट"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"गेम ड्रायव्हर"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"डेव्हलपर ड्रायव्हर"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"सिस्टम ग्राफिक ड्रायव्हर"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"ॲप कंपॅटिबिलिटी बदल"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"ॲप कंपॅटिबिलिटी बदल टॉगल करा"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"डीफॉल्ट सुरू केलेले बदल"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"डीफॉल्ट बंद केलेले बदल"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"या फोनवर सेटिंगला सपोर्ट नाही"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"या टॅबलेटवर सेटिंगला सपोर्ट नाही"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"या डिव्हाइसवर सेटिंगला सपोर्ट नाही"</string>
@@ -4436,6 +4545,12 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"डिव्हाइस"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"कॉल दरम्‍यान अनुपलब्‍ध"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"अनुपलब्ध"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"आउटपुट जोडा"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"गट"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"एक डिव्हाइस निवडले आहे"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> डिव्हाइस निवडली आहेत"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"कॉल यावर घ्या"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"हा APN बदला जाऊ शकत नाही."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"टॅबलेटची बॅटरी लाइफ सुधारा"</string>
@@ -4553,10 +4668,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"एका वेळी फक्त एकच डाउनलोड केलेले सिम अ‍ॅक्टिव्ह असू शकते.\n\n<xliff:g id="CARRIER1">%1$s</xliff:g> वर स्विच केल्याने तुमच्या <xliff:g id="CARRIER2">%2$s</xliff:g> सेवा रद्द होणार नाहीत."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"<xliff:g id="CARRIER">%1$s</xliff:g> वर स्विच करा"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"सिम मिटवा"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"हे डाउनलोड केलेले सिम मिटवायचे?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"हे सिम मिटवल्याने या डिव्हासवरून <xliff:g id="CARRIER_0">%1$s</xliff:g> सेवा काढली जाते.\n\n<xliff:g id="CARRIER_1">%2$s</xliff:g> ची सेवा रद्द केली जाणार नाही."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"मिटवा"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"सिम मिटवत आहे…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"सिम मिटवू शकत नाही"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"हे सिम एका एररमुळे मिटवता येत नाही.\n\nतुमचे डिव्हाइस रीस्टार्ट करा आणि पुन्हा प्रयत्न करा."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"प्राधान्‍यकृत नेटवर्क प्रकार"</string>
@@ -4581,7 +4692,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"चुकीचा नेटवर्क मोड <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. दुर्लक्ष करा."</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"अ‍ॅक्सेस पॉइंट"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"<xliff:g id="CARRIER">%1$s</xliff:g>शी कनेक्ट केले असल्यास उपलब्ध नाही"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"वैद्यकीय माहिती, आणीबाणी संपर्क"</string>
     <string name="see_more" msgid="7499355691042812723">"आणखी पाहा"</string>
     <string name="see_less" msgid="2642392725363552793">"कमी पहा"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"डिव्हाइस <xliff:g id="APPNAME">%1$s</xliff:g> सह वापरा"</string>
@@ -4590,11 +4700,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"काहीतरी गडबड झाली. अ‍ॅप्लिकेशनने डिव्हाइस निवडण्याची विनंती रद्द केली."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"कनेक्शन यशस्वी"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"सर्व दाखवा"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> डिव्हाइस कनेक्ट केली आहेत</item>
-      <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_0">%1$d</xliff:g> डिव्हाइस कनेक्ट केले आहे</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"कोणतेही ब्लूटूथ डिव्हाइस नाही"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"डिव्हाइस शोधत आहे…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"डिव्हाइसशी कनेक्ट करत आहे…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"डावा"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"उजवे"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"केस"</string>
@@ -4604,6 +4711,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"विमान मोड सुरू असताना उपलब्ध नाही"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"डेस्कटॉप मोडची सक्ती करा"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"दुसऱ्या डिस्प्लेवर प्रायोगिक डेस्कटॉप मोडला सक्ती करा"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"छोट्या आकाराचे फ्रीपॉर्म सुरू करा"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"छोट्या आकाराच्या ॲप्सना फ्रीफॉर्ममध्ये राहण्याची अनुमती देते"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"फोर्स डार्क ओव्हरराइड करते"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"फोर्स डार्क वैशिष्ट्य नेहमी सुरू ठेवण्यास ओव्हरराइड करते"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"गोपनीयता"</string>
@@ -4640,6 +4749,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"तुम्ही हे अ‍ॅप नुकतेच इंस्टॉल केले."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"आउटपुट स्विच करा"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"सध्या <xliff:g id="DEVICE_NAME">%1$s</xliff:g> वर प्ले करत आहे"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (डिस्कनेक्ट केलेले)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"स्विच करता आले नाही. पुन्हा प्रयत्न करण्यासाठी टॅप करा."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"महत्त्वाची माहिती"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"सुरू ठेवा"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"नाही नको"</string>
@@ -4667,8 +4778,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"सिम कॉंबिनेशन"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"तुमच्या कार्य धोरणाची माहिती"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"तुमच्या आयटी ॲडमिनद्वारे व्यवस्थापित केलेली सेटिंग्ज"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"बग रिपोर्ट हँडलर"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"तुमच्या डिव्हाइसवरील बग रिपोर्ट शॉर्टकट कोणता ॲप हाताळेल हे निर्धारित करते."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"वैयक्तिक"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"कार्य"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"सिस्टम डीफॉल्ट"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"ही निवड यापुढे वैध असणार नाही. पुन्हा प्रयत्न करा."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"कास्ट करणे थांबवा"</string>
 </resources>
diff --git a/res/values-ms/arrays.xml b/res/values-ms/arrays.xml
index 4fc5a89..c8a038a 100644
--- a/res/values-ms/arrays.xml
+++ b/res/values-ms/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"Serta-merta"</item>
     <item msgid="463591454172790676">"5 saat"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"Jangan sahkan"</item>
+    <item msgid="5703177653586269306">"Minta status sijil"</item>
+    <item msgid="326388247868439528">"Perlukan status sijil"</item>
+    <item msgid="1090956283885790552">"Perlukan semua status sijil yang tidak dipercayai"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"Butang tekan"</item>
     <item msgid="2630618799033509548">"PIN daripada peranti rakan"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"Tiada"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"VPN IPSec dengan kunci prakongsi dan pengesahan Xauth"</item>
     <item msgid="2484564813864139237">"VPN IPSec dengan sijil dan pengesahan Xauth"</item>
     <item msgid="68918911194507915">"VPN IPSec dengan sijil dan pengesahan hibrid"</item>
+    <item msgid="4631647675167100375">"VPN IKEv2/IPSec dengan sijil dan pengesahan nama pengguna/kata laluan"</item>
+    <item msgid="8812228622975052811">"VPN IKEv2/IPSec dengan kunci prakongsi"</item>
+    <item msgid="6630554779981113046">"VPN IKEv2/IPSec dengan sijil"</item>
   </string-array>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"Tiada"</item>
diff --git a/res/values-ms/config.xml b/res/values-ms/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-ms/config.xml
+++ b/res/values-ms/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
index eb3190f..59f7e88 100644
--- a/res/values-ms/strings.xml
+++ b/res/values-ms/strings.xml
@@ -31,49 +31,17 @@
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Sila dayakan pilihan pembangun terlebih dahulu."</string>
     <string name="header_category_wireless_networks" msgid="303445626075235229">"Wayarles &amp; rangkaian"</string>
     <string name="header_category_system" msgid="1665516346845259058">"Sistem"</string>
-    <string name="radio_info_data_connection_enable" msgid="7500945447906187613">"Dayakan Sambungan Data"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"Lumpuhkan Sambungan Data"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"VoLTE Diperuntukkan"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"Panggilan Video Diperuntukkan"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"Panggilan Wi-Fi Diperuntukkan"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"EAB/Kehadiran Diperuntukkan"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"Data Cbrs"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"Dayakan DSDS"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"Mulakan Semula Peranti?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"Anda perlu memulakan semula peranti untuk menukar tetapan ini."</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"Mulakan semula"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"Batal"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"Kuasa Radio Mudah Alih"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"Lihat Buku Alamat SIM"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"Lihat Nombor Dailan Tetap"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"Lihat Nombor Dailan Servis"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"Status Perkhidmatan IMS"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"Status IMS"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"Berdaftar"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"Tidak Berdaftar"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"Tersedia"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"Tidak tersedia"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"Pendaftaran IMS: <xliff:g id="STATUS">%1$s</xliff:g>\nSuara melalui LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nSuara melalui Wi-Fi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nPanggilan Video: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nAntara Muka UT: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"Berfungsi"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Rosak"</string>
     <string name="radioInfo_service_emergency" msgid="6838935881091760942">"Panggilan Kecemasan Sahaja"</string>
     <string name="radioInfo_service_off" msgid="6184928420860868571">"Radio Dimatikan"</string>
     <string name="radioInfo_roaming_in" msgid="8892550453644088692">"Perayauan:"</string>
     <string name="radioInfo_roaming_not" msgid="3137594549464975054">"Tidak Merayau"</string>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"Melahu"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"Berdering"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"Panggilan Sedang Berlangsung"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"Diputuskan sambungan"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"Menyambung"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"Disambungkan"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Digantung"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Tidak diketahui"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"bgksn"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"bait"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"Menyahlekap storan USB"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"Nyahlekap kad SD"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"Padam storan USB"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"Kecilkan atau besarkan teks pada skrin."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Kecilkan"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Besarkan"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"Teks contoh"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"Ahli Sihir Oz yang Menakjubkan"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"Bab 11: Oz, Kota Zamrud yang Menakjubkan"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"Mulakan semula peranti untuk menukar tetapan ini."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"Mulakn sml"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"Batal"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"Peranti media yang tersedia"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"Peranti panggilan yang tersedia"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"Tersambung pada masa ini"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"Peranti media"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"Panggil peranti"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"Peranti lain"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Peranti disimpan"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth akan dihidupkan untuk bergandingan"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Pilihan sambungan"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"Port yang anda taipkan tidak sah."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"Proksi HTTP digunakan oleh penyemak imbas tetapi tidak boleh digunakan oleh aplikasi lain."</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"URL PAC: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"SubId semasa:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"SubId SIM data lalai:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"Lebar Jalur DL (kbps):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"Lebar Jalur UL (kbps):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"Maklumat Lokasi Selular (ditamatkan):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"Konfigurasi Saluran Fizikal LTE:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"Kadar Muat Semula Maklumat Selular:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"Semua Maklumat Ukuran Selular:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"Perkhidmatan Data:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"Perayauan:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"Pengubahhalaan Panggilan:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"Bilangan Tetapan Semula PPP Sejak Proses But:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"Rangkaian Semasa:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"Data Diterima:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"Perkhidmatan Suara:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"Kekuatan Isyarat:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"Status Panggilan Suara:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"Data Dihantar:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"Mesej Menunggu:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"Nombor Telefon:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"Pilih Jalur Radio"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"Jenis Rangkaian Suara:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"Jenis Rangkaian Data:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"Pilih indeks telefon"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"Tetapkan Jenis Rangkaian Pilihan:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"Ping Nama Hos(www.google.com) IPv4:"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"Ping Nama Hos(www.google.com) IPv6:"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"Ujian Pelanggan HTTP:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"Jalankan Ujian Ping"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"Kemas kini"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"Muat semula"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"Togol Semakan DNS"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"Maklumat/Tetapan khusus OEM"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"Tetapkan Mod Jalur Radio"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"Memuatkan Senarai Jalur…"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"Tetapkan"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"Tidak berjaya"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"Berjaya"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"Perubahan berkuatkuasa apabila kabel USB disambung semula."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"Dayakan storan massa USB"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"Jumlah bait:"</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"Alih ke paling bawah"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"Alih keluar bahasa"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"Pilih aktiviti"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"Maklumat peranti"</string>
     <string name="display_label" msgid="3056320781191343221">"Skrin"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"Maklumat tablet"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"Maklumat telefon"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"Storan USB"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"Kad SD"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"Tetapan proksi"</string>
@@ -306,9 +234,6 @@
     <string name="airplane_mode" msgid="3196085857882526817">"Mod pesawat"</string>
     <string name="wireless_networks_settings_title" msgid="8557542379234105369">"Wayarles &amp; rangkaian"</string>
     <string name="radio_controls_summary" msgid="9028430178697624501">"Urus Wi‑Fi, Bluetooth, mod pesawat, rangkaian mudah alih &amp; VPN"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"Data mudah alih"</string>
-    <string name="calls_title" msgid="6334813967619899114">"Benarkan panggilan"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"Mesej SMS"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"Boleh guna data rangkaian mudah alih"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"Bnrkn pgunaan data ms pryauan"</string>
     <string name="roaming" msgid="3055365654530847985">"Perayauan"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"Sambung ke perkhidmatan data semasa malakukan perayauan"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"Anda telah kehilangan kesambungan data kerana anda meninggalkan rangkaian rumah anda dengan data perayauan dimatikan."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"Hidupkannya"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"Anda mungkin dikenakan caj yang tinggi."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"Apabila anda membenarkan perayauan data, anda mungkin dikenakan caj perayauan yang tinggi!\n\nTetapan ini melibatkan semua pengguna pada tablet ini."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"Apabila anda membenarkan perayauan data, anda mungkin dikenakan caj perayauan yang tinggi!\n\nTetapan ini melibatkan semua pengguna pada telefon ini."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"Caj perayauan mungkin dikenakan."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"Apabila anda membenarkan perayauan data, caj perayauan mungkin dikenakan.\n\nTetapan ini melibatkan semua pengguna pada tablet ini."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"Apabila anda membenarkan perayauan data, caj perayauan mungkin dikenakan.\n\nTetapan ini melibatkan semua pengguna pada telefon ini."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"Benarkan perayauan data?"</string>
     <string name="networks" msgid="5184501333492775095">"Pilihan pengendali"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"Pilih pengendali rangkaian"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"Dilumpuhkan oleh pentadbir"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"Tunjukkan pilihan kunci semua"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"Paparkan pilihan butang kuasa yang mematikan Smart Lock, ciri buka kunci biometrik dan pemberitahuan pada skrin kunci"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"Ejen amanah hnya pnjgkn tmpoh tak brknci"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"Jika didayakan, ejen amanah akan memastikan peranti anda tidak dikunci untuk tempoh yang lebih lama tetapi tidak lagi dapat membuka kunci peranti yang berkunci."</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"Kunci skrin apabila kepercayaan hilang"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"Jika didayakan, peranti akan dikunci apabila ejen amanah terakhir hilang kepercayaan"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"Tiada"</string>
@@ -390,7 +313,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"Tetapkan Lokasi Saya, buka kunci skrin, kunci kad SIM, kunci storan bukti kelayakan"</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"Tetapkan Lokasi Saya, buka kunci skrin, kunci storan bukti kelayakan"</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"Privasi"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"Dilumpuhkan oleh pentadbir"</string>
+    <string name="disabled_by_administrator_summary" msgid="5424846182313851124">"Tidak tersedia"</string>
     <string name="security_status_title" msgid="6958004275337618656">"Status keselamatan"</string>
     <string name="security_dashboard_summary_face" msgid="4198949293847206382">"Kunci skrin, wajah buka kunci"</string>
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Kunci skrin, cap jari"</string>
@@ -693,7 +616,6 @@
       <item quantity="other">Mesti kurang daripada <xliff:g id="NUMBER_1">%d</xliff:g> digit</item>
       <item quantity="one">Mesti kurang daripada <xliff:g id="NUMBER_0">%d</xliff:g> digit</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"Mesti mengandungi angka 0-9 sahaja"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"Pentadbir peranti tidak membenarkan penggunaan PIN terbaharu"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"PIN lazim disekat oleh pentadbir IT anda. Cuba PIN yang lain."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"Tidak boleh menyertakan aksara yang tidak sah"</string>
@@ -724,6 +646,10 @@
       <item quantity="other">Mesti mengandungi sekurang-kurangnya <xliff:g id="COUNT">%d</xliff:g> aksara bukan huruf</item>
       <item quantity="one">Mesti mengandungi sekurang-kurangnya 1 aksara bukan huruf</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="other">Mesti mengandungi sekurang-kurangnya <xliff:g id="COUNT">%d</xliff:g> aksara bukan angka</item>
+      <item quantity="one">Mesti mengandungi sekurang-kurangnya 1 aksara bukan angka</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"Pentadbir peranti tidak membenarkan penggunaan kata laluan terbaharu"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"Kata laluan lazim disekat oleh pentadbir IT anda. Cuba kata laluan yang lain."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"Angka menaik, menurun atau jujukan berulang tidak dibenarkan"</string>
@@ -837,19 +763,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2.4 GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"Log masuk"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"Buka tapak"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"<xliff:g id="REMAINING_TIME">%1$s</xliff:g> lagi"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"Tamat tempoh pada <xliff:g id="EXPIRY_TIME">%1$s</xliff:g>"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"Ketik di sini untuk log masuk ke rangkaian"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"<xliff:g id="REQUESTER">%s</xliff:g> mahu menghidupkan Wi-Fi"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"<xliff:g id="REQUESTER">%s</xliff:g> mahu mematikan Wi-Fi"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"Sahkan kod bait apl boleh dinyahpepijat"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Benarkan ART mengesahkan kod bait apl boleh dinyahpepijat"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"Tunjukkan kdr muat semula"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Tunjukkan kadar muat semula paparan semasa"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"Benarkan pertukaran data apabila tablet menyentuh peranti lain"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"Benarkan pertukaran data apabila telefon menyentuh peranti lain"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"Benarkan pertukaran data apabila tablet menyentuh peranti NFC"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"Benarkan pertukaran data apabila telefon menyentuh peranti NFC"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"Hidupkan NFC"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"NFC bertukar-tukar data antara peranti ini dengan peranti atau sasaran berdekatan yang lain, seperti terminal pembayaran, pembaca akses dan iklan atau teg interaktif."</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"NFC selamat"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Memerlukan buka kunci peranti untuk NFC"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"Benarkan penggunaan Bayaran dan Transit NFC hanya apabila skrin tidak berkunci"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"Bersedia untuk menghantar kandungan aplikasi melalui NFC"</string>
@@ -923,8 +855,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Hidupkan"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Pengimbasan Wi‑Fi dihidupkan"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Pilihan terperinci"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"Pilihan Terperinci senarai lungsur. Ketik dua kali untuk meruntuhkan senarai."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"Pilihan Terperinci senarai lungsur. Ketik dua kali untuk mengembangkan senarai."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Pilihan Terperinci senarai lungsur"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"kembangkan"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"Nama rangkaian"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"Masukkan SSID"</string>
     <string name="wifi_security" msgid="9095934643631406913">"Keselamatan"</string>
@@ -934,6 +866,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"Status"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"Kelajuan pautan hantar"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"Kelajuan pautan terima"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"Kelajuan sambungan"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"Frekuensi"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"Alamat IP"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"Disimpan melalui"</string>
@@ -941,6 +874,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"Kaedah EAP"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"Pengesahan fasa 2"</string>
     <string name="wifi_eap_ca_cert" msgid="8033404008276298886">"Sijil CA"</string>
+    <string name="wifi_eap_ocsp" msgid="8713933962516871238">"Status Sijil Dalam Talian"</string>
     <string name="wifi_eap_domain" msgid="8304301470752333203">"Domain"</string>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"Sijil pengguna"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"Identiti"</string>
@@ -957,6 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"Pilih sekurang-kurangnya satu jalur untuk tempat liputan Wi-Fi:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"Tetapan IP"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"Privasi"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"Langganan"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"Lihat atau tukar langganan"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"MAC Terawak"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"Tambah peranti"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"Tengahkan kod QR di bawah untuk menambahkan peranti pada “<xliff:g id="SSID">%1$s</xliff:g>”"</string>
@@ -966,12 +902,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"Kongsi Wi‑Fi"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"Imbas kod QR ini untuk menyambung ke “<xliff:g id="SSID">%1$s</xliff:g>” dan kongsikan kata laluan"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"Imbas kod QR ini untuk menyambung ke “<xliff:g id="SSID">%1$s</xliff:g>”"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"Tidak dapat membaca kod QR. Tengahkan semula kod, kemudian cuba lagi"</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"Cuba lagi. Jika isu berterusan, hubungi pengilang peranti"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"Kesilapan telah berlaku"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"Pastikan peranti sudah dipalamkan, dicas dan dihidupkan"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"Pastikan peranti sudah dipalamkan, dicas dan dihidupkan. Jika isu berterusan, hubungi pengilang peranti"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"Penambahan “<xliff:g id="SSID">%1$s</xliff:g>” tidak disokong oleh peranti ini"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"Cuba rapatkan peranti dengan titik akses/penghala Wi-Fi anda"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"Semak kata laluan, kemudian cuba lagi"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"Hubungi pengilang peranti"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"Periksa sambungan, kemudian cuba lagi"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"Pilih rangkaian"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"Pilih rangkaian untuk menyambung peranti anda"</string>
@@ -984,11 +922,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"Berkongsi Wi‑Fi dengan peranti ini…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"Menyambung…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"Kongsi tempat liputan"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"Sahkan diri anda"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"Sahkan diri anda"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"Kata laluan Wi-Fi: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"Kata laluan tempat liputan: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"Autosambung"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"Benarkan telefon bersambung secara automatik berdekatan rangkaian ini"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"Benarkan tablet bersambung secara automatik berdekatan rangkaian ini"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"Tambah peranti"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"Gunakan kod QR untuk menambahkan peranti pada rangkaian ini"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"Kod QR bukan dalam format yang sah"</string>
     <string name="retry" msgid="7542103800274026915">"Cuba semula"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"Kongsi dengan pengguna peranti yang lain"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(tidak berubah)"</string>
@@ -1000,6 +942,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"Tiada sijil yang ditentukan. Sambungan anda tidak akan menjadi sambungan peribadi."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"Nama rangkaian terlalu panjang."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"Perlu nyatakan domain."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"Sijil diperlukan."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"WPS tersedia"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (WPS tersedia)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"Rangkaian Wi-Fi pembawa"</string>
@@ -1051,7 +994,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"Wi-Fi Lanjutan"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"Alamat MAC"</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_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>
@@ -1103,7 +1047,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"Gunakan tempat liputan untuk membuat rangkaian Wi-Fi bagi peranti anda yang lain. Tempat liputan menyediakan Internet menggunakan sambungan data mudah alih anda. Caj data mudah alih tambahan mungkin dikenakan."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"Apl boleh membuat tempat liputan untuk berkongsi kandungan dengan peranti berdekatan."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Matikan tempat liputan secara automatik"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"Tempat liputan Wi‑Fi akan dimatikan jika tiada peranti disambungkan"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Apabila tiada peranti disambungkan"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"Menghidupkan tempat liputan..."</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"Mematikan tempat liputan..."</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> aktif"</string>
@@ -1112,6 +1056,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"Persediaan tmpt liputan Wi-Fi"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"Tempat liputan WPA2 PSK AndroidAP"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"TitikPanasAndroid"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"Simpan rangkaian ini?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"<xliff:g id="APPNAME">%1$s</xliff:g> mahu menyimpan rangkaian ke telefon anda"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"<xliff:g id="APPNAME">%1$s</xliff:g> mahu menyimpan rangkaian ke tablet anda"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"Menyimpan…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"Disimpan"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"Tidak dapat disimpan. Cuba lagi."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"Simpan rangkaian?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"<xliff:g id="APPNAME">%1$s</xliff:g> mahu menyimpan rangkaian ini ke telefon anda"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"<xliff:g id="APPNAME">%1$s</xliff:g> mahu menyimpan rangkaian ini ke tablet anda"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"Menyimpan <xliff:g id="NUMBER">%d</xliff:g> rangkaian…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"Rangkaian disimpan"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"Panggilan Wi-Fi"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"Luaskan liputan panggilan dengan Wi-Fi"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"Hidupkan panggilan Wi-Fi untuk meluaskan liputan"</string>
@@ -1138,16 +1093,18 @@
     <string name="emergency_address_title" msgid="3490633500025717573">"Alamat Kecemasan"</string>
     <string name="emergency_address_summary" msgid="3022628750270626473">"Digunakan sebagai lokasi anda apabila anda membuat panggilan kecemasan melalui Wi-Fi"</string>
     <string name="private_dns_help_message" msgid="851221502063782306"><annotation id="url">"Ketahui lebih lanjut"</annotation>" tentang ciri DNS Peribadi"</string>
+    <string name="private_dns_mode_on" msgid="8878679071975375696">"Hidup"</string>
     <string name="wifi_calling_pref_managed_by_carrier" msgid="129524064888622179">"Tetapan diurus oleh pembawa"</string>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"Aktifkan Panggilan Wi-Fi"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"Hidupkan panggilan Wi-Fi"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"Panggilan Wi‑Fi tidak disokong untuk %1$s"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"Diputuskan sambungan daripada <xliff:g id="SSID">%1$s</xliff:g>"</string>
     <string name="carrier" msgid="1755020806290963951">"Pembawa"</string>
     <string name="display_settings_title" msgid="626835071804834218">"Paparan"</string>
     <string name="sound_settings" msgid="5514582720435174014">"Bunyi"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"Kelantangan"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"Kesan muzik"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"Kelantangan deringan"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"Kelantangan dering &amp; pemberitahuan"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"Getar apabila senyap"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"Bunyi pemberitahuan lalai"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"Nada dering"</string>
@@ -1272,13 +1229,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"Jadual"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"Tiada"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"Hidup dari senja hingga syuruk"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"Dihidupkan pada waktu tersuai"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"Status"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"Mati / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"Tidak akan dihidupkan secara automatik"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"Akan dihidupkan secara automatik pada waktu matahari terbenam"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"Akan hidup secara automatik pada <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"Hidup / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"Tidak akan dimatikan secara automatik"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"Akan dimatikan secara automatik pada waktu matahari terbit"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"Akan mati secara automatik pada <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"Hidupkan hingga <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"Matikan hingga <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"Tema hitam menggunakan latar belakang hitam untuk memastikan bateri tahan lebih lama pada sesetengah skrin. Jadual tema gelap menunggu untuk dihidupkan hingga skrin anda dimatikan."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"Tamat masa skrin"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"Skrin dimatikan"</string>
@@ -1290,7 +1252,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"Tukar kertas dinding"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"Peribadikan skrin anda"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"Pilih kertas dinding dari"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"Sesuaikan Pixel anda"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"Sesuaikan telefon anda"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"Cuba gaya serta kertas dinding yang berbeza dan pelbagai lagi"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"Penyelamat skrin"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Semasa dicas atau didok"</string>
@@ -1379,6 +1341,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"Nyahlekap storan USB, lihat storan tersedia"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"Nyahlekap kad SD, lihat storan tersedia"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (slot sim %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"Untuk melihat, pilih rangkaian yang disimpan"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"Nombor telefon"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (slot sim%1$d)"</string>
@@ -1405,6 +1368,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"Perayauan"</string>
     <string name="status_operator" msgid="4335640583552058491">"Rangkaian"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"Alamat MAC Wi-Fi"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"Alamat MAC Wi-Fi peranti"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"Alamat Bluetooth"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Nombor siri"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Masa hidup"</string>
@@ -1617,6 +1581,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Penetapan semula tetapan lalai APN selesai."</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"Pilihan tetapan semula"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"Rangkaian, apl atau peranti boleh ditetapkan semula"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"Apl boleh ditetapkan semula"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"Tetapkan semula Wi-Fi, mudah alih &amp; Bluetooth"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"Tindakan ini akan menetapkan semula semua tetapan rangkaian, termasuk:\n\n"<li>"Wi‑Fi"</li>\n<li>"Data mudah alih"</li>\n<li>"Bluetooth"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"Padamkan SIM yang dimuat turun"</string>
@@ -1666,6 +1631,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"Tempat liputan dihidupkan"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"Penambatan"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"Tidak boleh menambat atau menggunakan tempat liputan mudah alih semasa Penjimat Data dihidupkan"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"Tempat liputan sahaja"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"USB sahaja"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"Bluetooth sahaja"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"Tempat liputan, USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"Tempat liputan, Bluetooth"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB, Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"Tempat liputan, USB, Bluetooth"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"Tidak berkongsi Internet dengan peranti lain"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"Penambatan"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Jangan gunakan tempat liputan Wi-Fi"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Kongsi Internet melalui USB sahaja"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Kongsi Internet melalui Bluetooth sahaja"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Kongsi Internet melalui USB dan Bluetooth sahaja"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"Penambatan USB"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"Kongsi sambungan Internet telefon melalui USB"</string>
@@ -1756,9 +1734,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"Maklumat keselamatan"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"Anda tiada sambungan data. Untuk melihat maklumat ini sekarang, pergi ke %s daripada sebarang komputer yang disambungkan ke Internet."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"Memuatkan..."</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"Gunakan PIN"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"Gunakan corak"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"Guna kata laluan"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"Tetapkan kunci skrin"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"Untuk keselamatan, tetapkan kata laluan"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"Buat kata laluan untuk guna cap jari"</string>
@@ -1767,8 +1742,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"Buat PIN untuk guna kata laluan"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"Untuk keselamatan, tetapkan corak"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"Masukkan semula kata laluan anda"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"Masukkan kata laluan kerja anda"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"Sahkan corak anda"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"Masukkan corak kerja anda"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"Masukkan semula PIN anda"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"Masukkan PIN kerja anda"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"Kata laluan tidak sepadan"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"PIN tidak sepadan"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"Lukis corak anda sekali lagi"</string>
@@ -1779,6 +1757,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"Ttpkn kta laluan utk gnakn wjh buka knci"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"Ttpkn corak utk gunakan wajah buka kunci"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"Ttpkn PIN utk gunakan wajah buka kunci"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"Terlupa kata laluan anda?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"Terlupa corak anda?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"Terlupa nombor PIN anda?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"Gunakan corak peranti anda untuk meneruskan"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"Masukkan PIN peranti anda untuk meneruskan"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"Masukkan kata laluan peranti anda untuk meneruskan"</string>
@@ -1846,6 +1827,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"Benarkan semua sumber apl"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"Apl yang dibuka baru-baru ini"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"Lihat kesemua <xliff:g id="COUNT">%1$d</xliff:g> apl"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"Hubungi pentadbir IT anda"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"Mereka dapat membantu anda menetapkan semula PIN, corak atau kata laluan"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"Tablet dan data peribadi anda lebih mudah diserang oleh apl yang tidak diketahui. Dengan memasang apl daripada sumber ini, anda bersetuju bahawa anda bertanggungjawab terhadap sebarang kerosakan pada tablet anda atau kehilangan data akibat penggunaan apl tersebut."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"Telefon dan data peribadi anda lebih mudah diserang oleh apl yang tidak diketahui. Dengan memasang apl daripada sumber ini, anda bersetuju bahawa anda bertanggungjawab terhadap sebarang kerosakan pada telefon anda atau kehilangan data akibat penggunaan apl tersebut."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"Peranti dan data peribadi anda lebih mudah diserang oleh apl yang tidak diketahui. Dengan memasang apl daripada sumber ini, anda bersetuju bahawa anda bertanggungjawab terhadap sebarang kerosakan pada peranti anda atau kehilangan data akibat penggunaan apl tersebut."</string>
@@ -1897,7 +1880,7 @@
     <string name="default_emergency_app" msgid="1929974800666613803">"Apl kecemasan"</string>
     <string name="reset_app_preferences" msgid="8861758340732716573">"Tetapkan semula pilihan apl"</string>
     <string name="reset_app_preferences_title" msgid="8935136792316050759">"Tetapkan semula pilihan apl?"</string>
-    <string name="reset_app_preferences_desc" msgid="1377296810290814749">"Ini akan menetapkan semula semua pilihan untuk:\n\n"<li>"Apl dilumpuhkan"</li>\n<li>"Pemberitahuan apl dilumpuhkan"</li>\n<li>"Aplikasi lalai untuk tindakan"</li>\n<li>"Sekatan data latar belakang untuk apl"</li>\n<li>"Sebarang sekatan kebenaran"</li>\n\n"Anda tidak akan kehilangan apa-apa data apl."</string>
+    <string name="reset_app_preferences_desc" msgid="6509978724602405805">"Tindakan ini akan menetapkan semula semua pilihan untuk:\n\n"<li>"Apl yang dilumpuhkan"</li>\n<li>"Pemberitahuan untuk apl yang dilumpuhkan"</li>\n<li>"Aplikasi lalai untuk tindakan"</li>\n<li>"Sekatan data latar belakang untuk apl"</li>\n<li>"Sebarang sekatan kebenaran"</li>\n\n"Anda tidak akan kehilangan sebarang data apl."</string>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"Tetapkan semula apl"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"Urus ruang"</string>
     <string name="filter" msgid="9039576690686251462">"Tapis"</string>
@@ -2097,7 +2080,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"Audio &amp; teks pada skrin"</string>
     <string name="display_category_title" msgid="6638191682294461408">"Paparan"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"Kawalan interaksi"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"Perkhidmatan yang dimuat turun"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"Apl yang dimuat turun"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"Percubaan"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"Bendera ciri"</string>
     <string name="talkback_title" msgid="8756080454514251327">"Talkback"</string>
@@ -2105,27 +2088,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"Ketik item pada skrn anda untuk mendengar item itu dibaca"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"Pilihan kapsyen"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"Pembesaran"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"Kawasan pembesaran"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"Pembesaran didayakan"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"Pilih kawasan pembesaran yang ingin digunakan apabila membesarkan skrin"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"Skrin penuh"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"Sebahagian skrin"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"Skrin penuh &amp; sebahagian skrin"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"Besarkan seluruh skrin"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"Besarkan sebahagian skrin"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Tetapan pembesaran"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"Besarkan dengan tiga ketikan"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Besarkan menggunakan pintasan"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Besarkan menggunakan pintasan &amp; tiga ketikan"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"Perihal <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"Pilihan"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"Zum masuk pada skrin"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"Ketik 3 kali untuk mengezum"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Ketik butang untuk mengezum"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><b>"Untuk mengezum"</b>", ketik skrin 3 kali dengan cepat.\n"<ul><li>"Seret sekurang-kurangnya 2 jari untuk menatal"</li>\n<li>"Cubit menggunakan sekurang-kurangnya 2 jari untuk melaraskan zum"</li></ul>\n\n<b>"Untuk mengezum sementara"</b>", ketik skrin 3 kali dengan cepat dan tahan jari anda pada ketikan yang ketiga.\n"<ul><li>"Seret untuk beralih-alih di sekitar skrin"</li>\n<li>"Angkat jari untuk mengezum keluar"</li></ul>\n\n"Anda tidak boleh mengezum masuk pada papan kekunci dan bar navigasi."</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"Apabila pembesaran dihidupkan, anda boleh mengezum masuk pada skrin.\n\n"<b>"Untuk mengezum"</b>", mulakan pembesaran, kemudian ketik di mana-mana pada skrin.\n"<ul><li>"• Seret sekurang-kurangnya 2 jari untuk menatal"</li>\n<li>"• Cubit menggunakan sekurang-kurangnya 2 jari untuk melaraskan zum"</li></ul>\n\n<b>"Untuk mengezum sementara"</b>", mulakan pembesaran, kemudian sentuh &amp; tahan di mana-mana pada skrin.\n"<ul><li>"• Seret untuk bergerak di sekitar skrin"</li>\n<li>"• Angkat jari untuk mengezum keluar"</li></ul>\n\n"Anda tidak boleh mengezum masuk pada papan kekunci atau bar navigasi."</string>
+    <string name="accessibility_screen_magnification_summary" msgid="7617931632990040045">"Zum masuk dengan pantas pada skrin untuk melihat kandungan dengan lebih jelas.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Untuk mengezum masuk:&lt;/b&gt;&lt;br/&gt;	1. Gunakan pintasan untuk memulakan pembesaran&lt;br/&gt;	2. Ketik skrin&lt;br/&gt;	3. Seret 2 jari untuk menerokai skrin&lt;br/&gt;	4. Cubit dengan 2 jari untuk melaraskan zum&lt;br/&gt;	5. Gunakan pintasan untuk menghentikan pembesaran&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Untuk mengezum masuk sementara:&lt;/b&gt;&lt;br/&gt;	1. Gunakan pintasan untuk memulakan pembesaran&lt;br/&gt;	2. Sentuh &amp; tahan di mana-mana pada skrin&lt;br/&gt;	3. Seret jari untuk menerokai skrin&lt;br/&gt;	4. Angkat jari untuk menghentikan pembesaran"</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Apabila pembesaran dihidupkan, anda boleh mengezum masuk pada skrin.\n\n"<b>"Untuk mengezum"</b>", mulakan pembesaran, kemudian ketik di mana-mana pada skrin.\n"<ul><li>"Seret sekurang-kurangnya 2 jari untuk menatal"</li>\n<li>"Cubit menggunakan sekurang-kurangnya 2 jari untuk melaraskan zum"</li></ul>\n\n<b>"Untuk mengezum sementara"</b>", mulakan pembesaran, kemudian sentuh &amp; tahan di mana-mana pada skrin.\n"<ul><li>"Seret untuk beralih-alih di sekitar skrin"</li>\n<li>"Angkat jari untuk mengezum keluar"</li></ul>\n\n"Anda tidak boleh mengezum masuk pada papan kekunci atau bar navigasi."</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Gunakan butang kebolehaksesan untuk buka"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Gunakan gerak isyarat untuk buka"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"Gunakan gerak isyarat kebolehaksesan baharu"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"Untuk menghidupkan atau mematikan perkhidmatan ini, ketik butang kebolehaksesan<xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>di sebelah bawah skrin anda.\n\nUntuk beralih antara perkhidmatan, sentuh &amp; tahan butang kebolehaksesan."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"Untuk menghidupkan atau mematikan perkhidmatan ini, leret ke atas dari bahagian bawah skrin menggunakan dua jari.\n\nUntuk beralih antara perkhidmatan, leret ke atas menggunakan dua jari dan tahan."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"Untuk menghidupkan atau mematikan perkhidmatan ini, leret ke atas dari bahagian bawah skrin menggunakan tiga jari.\n\nUntuk beralih antara perkhidmatan, leret ke atas menggunakan tiga jari dan tahan."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"Untuk menghidupkan atau mematikan perkhidmatan kebolehaksesan, leret ke atas dari bahagian bawah skrin menggunakan dua jari.\n\nUntuk beralih antara perkhidmatan, leret ke atas menggunakan dua jari dan tahan."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"Untuk menghidupkan atau mematikan perkhidmatan kebolehaksesan, leret ke atas dari bahagian bawah skrin menggunakan tiga jari.\n\nUntuk beralih antara perkhidmatan, leret ke atas menggunakan tiga jari dan tahan."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"Untuk menghidupkan atau mematikan perkhidmatan ini, ketik butang kebolehaksesan<xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>di sebelah bawah skrin anda.\n\nUntuk beralih antara perkhidmatan, sentuh &amp; tahan butang kebolehaksesan."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"Untuk menghidupkan atau mematikan perkhidmatan ini, leret ke atas dari bahagian bawah skrin menggunakan dua jari.\n\nUntuk beralih antara perkhidmatan, leret ke atas menggunakan dua jari dan tahan."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"Untuk menghidupkan atau mematikan perkhidmatan ini, leret ke atas dari bahagian bawah skrin menggunakan tiga jari.\n\nUntuk beralih antara perkhidmatan, leret ke atas menggunakan tiga jari dan tahan."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"Untuk menghidupkan atau mematikan perkhidmatan kebolehaksesan, leret ke atas dari bahagian bawah skrin menggunakan dua jari.\n\nUntuk beralih antara perkhidmatan, leret ke atas menggunakan dua jari dan tahan."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"Untuk menghidupkan atau mematikan perkhidmatan kebolehaksesan, leret ke atas dari bahagian bawah skrin menggunakan tiga jari.\n\nUntuk beralih antara perkhidmatan, leret ke atas menggunakan tiga jari dan tahan."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"OK"</string>
+    <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Pintasan <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_edit_summary_software" msgid="2820923641553461297">"Butang Kebolehaksesan"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture" msgid="8078659880723370597">"Leret ke atas dengan 2 jari"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture_talkback" msgid="7422753388389160524">"Leret ke atas dengan 3 jari"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software" msgid="4796192466943479849">"Ketik butang kebolehaksesan"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8922102767509399352">"Ketik butang kebolehaksesan <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> di bahagian bawah skrin anda"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"Leret ke atas dari bahagian bawah skrin menggunakan 2 jari"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"Leret ke atas dari bahagian bawah skrin menggunakan 3 jari"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Tahan kekunci kelantangan"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"Tekan &amp; tahan kedua-dua kekunci kelantangan selama 1 saat"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Ketik tiga kali pada skrin"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"Ketik skrin 3 kali dengan cepat. Pintasan ini mungkin memperlahankan peranti anda."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"Terperinci"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"Butang Kebolehaksesan ditetapkan kepada <xliff:g id="SERVICE">%1$s</xliff:g>. Untuk menggunakan pembesaran, sentuh &amp; tahan butang Kebolehaksesan, kemudian pilih pembesaran."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"Gerak isyarat kebolehaksesan ditetapkan pada <xliff:g id="SERVICE">%1$s</xliff:g>. Untuk menggunakan pembesaran, leret ke atas menggunakan dua jari dari bahagian bawah skrin dan tahan. Kemudian, pilih pembesaran."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"Pintasan kekunci kelantangan"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"Perkhidmatan pintasan"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Tetapan pintasan"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"Benarkan dari skrin kunci"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"Apabila pintasan dihidupkan, anda boleh menekan kedua-dua kekunci kelantangan selama 3 saat untuk memulakan ciri kebolehaksesan."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"Teks kontras tinggi"</string>
@@ -2149,24 +2157,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"Pilih tempoh untuk menunjukkan mesej yang meminta anda mengambil tindakan, tetapi mesej itu hanya dapat dilihat buat sementara waktu.\n\nTidak semua apl menyokong tetapan ini."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"Lengahan sentuh &amp; tahan"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"Penyongsangan warna"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"Mungkin menjejaskan prestasi"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"Masa diam"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"Gunakan songsangan warna"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"Songsangan warna menjadikan skrin cerah bertukar menjadi gelap. Ciri ini membantu orang yang sensitif terhadap cahaya cerah melihat skrin dengan lebih mudah.&lt;br/&gt;&lt;br/&gt;Nota: Warna gelap akan bertukar cerah. Warna akan berubah dalam media dan imej. Anda juga boleh menggunakan tema Gelap (Tetapan &gt; Paparan)."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"Autoklik (masa diam)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"Jika anda menggunakan tetikus, anda boleh menetapkan kursor supaya mengambil tindakan secara automatik apabila tetikus berhenti bergerak untuk tempoh masa tertentu."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"Lengah sebelum klik"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"Jangan gunakan autoklik (lalai)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"Pendek"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0.2 saat"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"Sederhana"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0.6 saat"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"Panjang"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 saat"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"Tersuai"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"Lebih pendek"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"Lebih lama"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"Masa autoklik"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"Kekuatan getaran &amp; haptik"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Getaran pemberitahuan"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Getaran deringan"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Maklum balas sentuhan"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"Gunakan perkhidmatan"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"Gunakan <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"Buka <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"Gunakan pembetulan warna"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"Gunakan kapsyen"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"Tunjukkan kapsyen"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"Penampilan kapsyen"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"Saiz teks, gaya kapsyen"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"Lagi pilihan"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"Bukan semua apl menyokong tetapan ini."</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"Butang kebolehaksesan"</string>
+    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"Leret ke atas menggunakan 2 jari dari bahagian bawah"</string>
+    <string name="accessibility_shortcut_type_hardware" msgid="4834144210432451916">"Tahan kekunci kelantangan"</string>
+    <string name="accessibility_shortcut_type_triple_tap" msgid="7717524216825494543">"Ketik tiga kali pada skrin"</string>
     <string name="accessibility_hearingaid_instruction_continue_button" msgid="3367260988024430722">"Teruskan"</string>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"Alat bantu pendengaran"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"Tiada alat bantu pendengaran disambungkan"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"Tambah alat bantu dengar"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"Untuk menggandingkan alat bantu pendengaran anda, cari dan ketik peranti anda pada skrin seterusnya."</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"Pastikan alat bantu pendengaran berada dalam mod gandingan."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"Untuk menggandingkan alat bantu pendengaran anda, cari dan ketik peranti anda pada skrin seterusnya. Pastikan alat bantu pendengaran berada dalam mod gandingan."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> aktif"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> alat bantu pendengaran disimpan</item>
@@ -2178,25 +2204,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Perkhidmatan ini tidak berfungsi."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Tunjukkan dalam Tetapan Pantas"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"Mod pembetulan"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="other">Kelengahan sangat singkat (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Kelengahan sangat singkat (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Merah-hijau"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"Hijau-merah"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Biru-Kuning"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"Deuteranomali"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"Protanomali"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"Tritanomali"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="other">Lengahan amat singkat (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> saat)</item>
+      <item quantity="one">Lengahan amat singkat (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> saat)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="other">Kelengahan sangat singkat (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Kelengahan sangat singkat (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="other">Lengahan sangat singkat (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> saat)</item>
+      <item quantity="one">Lengahan sangat singkat (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> saat)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="other">Kelengahan singkat (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Kelengahan singkat (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="other">Lengahan singkat (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> saat)</item>
+      <item quantity="one">Lengahan singkat (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> saat)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="other">Kelengahan lama (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Kelengahan lama (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="other">Lengahan panjang (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> saat)</item>
+      <item quantity="one">Lengahan panjang (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> saat)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="other">Kelengahan sangat lama (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Kelengahan sangat lama (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="other">Lengahan amat panjang (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> saat)</item>
+      <item quantity="one">Lengahan amat panjang (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> saat)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> saat</item>
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> saat</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"Dering <xliff:g id="SUMMARY_RING">%1$s</xliff:g>, pemberitahuan <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>, sentuhan <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"Dering &amp; pemberitahuan ditetapkan kepada mati"</string>
@@ -2513,7 +2549,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"Semasa kali terakhir palam dicabut untuk <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"Jumlah penggunaan"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"Muat semula"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"OS Android"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"Pelayan media"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"Pengoptimuman apl"</string>
     <string name="battery_saver" msgid="7737147344510595864">"Penjimat Bateri"</string>
@@ -2594,8 +2629,7 @@
     <string name="tts_play" msgid="2945513377250757221">"Main"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"Storan bukti kelayakan"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"Pasang daripada storan"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"Pasang daripada kad SD"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"Pasang sijil"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"Pasang sijil daripada storan"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"Pasang sijil daripada kad SD"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"Padam bersih bukti kelayakan"</string>
@@ -2615,6 +2649,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"Storan bukti kelayakan dipadamkan."</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"Storan bukti kelayakan tidak boleh dipadamkan."</string>
     <string name="usage_access_title" msgid="1580006124578134850">"Apl dgn akses guna"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"Sijil CA"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"Sijil pengguna VPN &amp; apl"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"Sijil Wi‑Fi"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"Privasi anda berisiko"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"Sijil CA digunakan oleh tapak web, apl dan VPN untuk penyulitan. Hanya pasang sijil CA daripada organisasi yang anda percayai. \n\n Jika anda memasang sijil CA, pemilik sijil dapat mengakses maklumat anda, seperti kata laluan, mesej atau butiran kad kredit, dari tapak web yang anda lawati atau apl yang anda gunakan - meskipun maklumat itu disulitkan."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"Jangan pasang"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"Pasang juga"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"Sijil tidak dipasang"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"Isyarat dail kecemasan"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Tetapkan tingkah laku semasa membuat panggilan kecemasan"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Sandaran"</string>
@@ -2642,10 +2684,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"Nyahaktifkan &amp; nyahpasang"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"Apl pentadbir peranti"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"Tiada apl pentabir peranti yang tersedia"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"Peribadi"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"Tempat Kerja"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"Hadkan akses log SMS &amp; panggilan"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"Hanya apl telefon dan pemesejan lalai yang mempunyai kebenaran log SMS &amp; panggilan"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"Tiada ejen amanah tersedia"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"Aktifkan apl pentadbir peranti?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"Aktifkan apl pentadbir peranti ini"</string>
@@ -2659,6 +2697,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"Pilihan lain dilumpuhkan oleh pentadbir anda"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"Lagi butiran"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"Log pemberitahuan"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"Sejarah pemberitahuan"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"Hari ini"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"Ditunda"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"Diketepikan baru-baru ini"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> pemberitahuan</item>
+      <item quantity="one"><xliff:g id="NUMBER_0">%d</xliff:g> pemberitahuan</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"Nada dering &amp; getaran panggilan"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"Butiran rangkaian"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"Segerak didayakan"</string>
@@ -3008,7 +3054,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"Sekatan"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"Alih keluar sekatan"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"Tukar PIN"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"Tunjukkan pemberitahuan"</string>
     <string name="help_label" msgid="2896538416436125883">"Bantuan &amp; m/balas"</string>
     <string name="support_summary" msgid="1034146931237148885">"Artikel bantuan, telefon &amp; sembang, bermula"</string>
     <string name="user_account_title" msgid="6389636876210834864">"Akaun untuk kandungan"</string>
@@ -3033,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"Panggilan 4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Gunakan perkhidmatan LTE untuk memperbaik suara dan komunikasi lain (disyorkan)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Gunakan perkhidmatan 4G untuk memperbaik suara dan komunikasi lain (disyorkan)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Penemuan kenalan"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Membenarkan pembawa anda mengetahui ciri panggilan yang disokong oleh kenalan anda."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Dayakan penemuan kenalan?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Tindakan mendayakan ciri ini akan membenarkan pembawa anda mengakses nombor telefon dalam kenalan anda untuk mengetahui ciri panggilan yang disokong oleh nombor tersebut."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Jenis rangkaian pilihan"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (disyorkan)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"Mesej MMS"</string>
@@ -3077,7 +3126,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"Panggil dengan"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"Pilih kad SIM"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"SIM <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"SIM kosong"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"Nama SIM"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"Masukkan nama SIM"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"Slot SIM %1$d"</string>
@@ -3087,6 +3135,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"Pilih kad SIM"</string>
     <string name="color_orange" msgid="216547825489739010">"Oren"</string>
     <string name="color_purple" msgid="6603701972079904843">"Ungu"</string>
+    <string name="color_pink" msgid="8596872110888626708">"Merah Jambu"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"Tiada kad SIM dimasukkan"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"Status SIM"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"Status SIM (slot sim %1$d)"</string>
@@ -3100,7 +3149,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"Kad SIM ditukar."</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Ketik untuk menyediakan"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"SIM pilihan untuk"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Tanya setiap kali"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Pemilihan diperlukan"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"Pilihan SIM"</string>
@@ -3118,6 +3166,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"Bluetooth, mod memandu"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"Bluetooth, NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"Bluetooth"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"Tidak tersedia kerana NFC dimatikan"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"Apl &amp; pemberitahuan"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Apl terbaharu, apl lalai"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Akses pemberitahuan tidak tersedia untuk apl dalam profil kerja."</string>
@@ -3128,13 +3177,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"Tetapan"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"wifi, wi-fi, sambungan rangkaian, Internet, wayarles, data, wi-fi"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"Pemberitahuan Wi‑Fi, pemberitahuan wifi"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"penggunaan data"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"Hentikan getaran, ketik, papan kekunci"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"Gunakan format 24 jam"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"Muat turun"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"Buka dengan"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"Aplikasi"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"zon waktu"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"Tajuk sembang"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"Kepala sembang, sistem, makluman, tetingkap, dialog, paparan, di atas apl lain, lukis"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"Lampu suluh, Lampu, Lampu picit"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"wifi, wi-fi, togol, kawalan"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"selular, mudah alih, pembawa selular, wayarles, data, 4g, 3g, 2g, lte"</string>
@@ -3158,7 +3208,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"jangan, jangan ganggu, ganggu, gangguan, putus"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"berdekatan, lokasi, sejarah, pelaporan, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"akaun"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"akaun, tambah akaun, profil kerja, tambah akaun"</string>
     <string name="keywords_users" msgid="3497517660077620843">"sekatan, sekat, terhad"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"pembetulan teks, betul, bunyi, getaran, auto, bahasa, gerak isyarat, cadang, cadangan, tema, menyinggung, perkataan, taip, emoji, antarabangsa"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"tetapan semula, pilihan, lalai"</string>
@@ -3196,6 +3246,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"memori, cache, data, padam, kosongkan, bebaskan, ruang"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"disambungkan, peranti, fon kepala, set kepala, pembesar suara, wayarles, gandingan, fon telinga, muzik, media"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"latar belakang, skrin, skrin kunci, tema"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"bentuk ikon, warna aksen, fon"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"lalai, assistant"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"pembayaran, lalai"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"pemberitahuan masuk"</string>
@@ -3205,18 +3256,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"haptik, getaran, kepekaan"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"penjimat bateri, lekit, gigih, penjimat kuasa, bateri"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"rutin, jadual, penjimat bateri, penjimat kuasa, bateri, automatik, peratus"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"profil kerja"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"volte, panggilan lanjutan, panggilan 4g"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"tambah bahasa, tambah satu bahasa"</string>
     <string name="default_sound" msgid="6604374495015245195">"Bunyi lalai"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"Kelantangan deringan pada <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"Kelantangan dering &amp; pemberitahuan di <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Kelantangan, getaran, Jangan Ganggu"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"Pendering ditetapkan kepada getar"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"Pendering ditetapkan kepada senyap"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"Kelantangan deringan pada 80%"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"Kelantangan dering &amp; pemberitahuan pada 80%"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Kelantangan media"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Kelantangan penghantaran"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"Kelantangan panggilan"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"Kelantangan penggera"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"Kelantangan deringan"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"Klntngn dering &amp; pmbrithuan"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"Kelantangan pemberitahuan"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"Nada dering telefon"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"Bunyi pemberitahuan lalai"</string>
@@ -3224,6 +3276,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"Bunyi pemberitahuan lalai"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"Bunyi penggera lalai"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"Bergetar untuk panggilan"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"Jangan sekali-kali bergetar"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"Sentiasa bergetar"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"Bergetar, kemudian berdering beransur-ansur"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"Bunyi lain"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"Nada pad dail"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"Bunyi mengunci skrin"</string>
@@ -3247,6 +3302,7 @@
       <item quantity="one">1 didayakan</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Jangan Ganggu"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Dapatkan pemberitahuan oleh orang dan apl penting sahaja"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Hadkan gangguan"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Hidupkan Jangan Ganggu"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"Pengecualian"</string>
@@ -3273,7 +3329,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Sekat gangguan visual"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Benarkan isyarat visual"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"Apabila Jangan Ganggu dihidupkan"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"Benarkan gangguan yang berbunyi"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"Hadkan pemberitahuan"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Tiada bunyi daripada pemberitahuan"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"Anda akan melihat pemberitahuan pada skrin"</string>
@@ -3304,7 +3360,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"Bunyi dan getaran"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"Bunyi, getaran dan beberapa tanda visual pemberitahuan"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"Bunyi, getaran dan tanda visual pemberitahuan"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"Pemberitahuan diperlukan untuk aktiviti asas telefon dan status tidak akan disembunyikan"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"Pemberitahuan diperlukan untuk aktiviti asas telefon dan status tidak akan disembunyikan."</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"Tiada"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"pilihan lain"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"Tambah"</string>
@@ -3334,10 +3390,12 @@
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> jadual boleh dihidupkan secara automatik</item>
       <item quantity="one">1 jadual boleh dihidupkan secara automatik</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"Redamkan peranti tetapi benarkan pengecualian"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"Pengecualian"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"Jadual"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"Lihat semua pengecualian"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"Pengecualian apabila Jangan Ganggu dihidupkan"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"Orang"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"Apl"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"Penggera &amp; gangguan lain"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"Jadual"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"Pemberitahuan yang disenyapkan"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"Apabila Jangan Ganggu dihidupkan, bunyi dan getaran akan diredamkan, kecuali item yang anda benarkan di atas."</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"Redamkan semua kecuali"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"Diredamkan"</string>
@@ -3381,16 +3439,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"Pemberitahuan boleh suai"</string>
     <string name="asst_capability_prioritizer_title" msgid="1181272430009156556">"Keutamaan pemberitahuan mudah suai"</string>
     <string name="asst_capability_prioritizer_summary" msgid="954988212366568737">"Tetapkan pemberitahuan berkeutamaan rendah kepada Lembut secara automatik"</string>
+    <string name="asst_capability_ranking_title" msgid="312998580233257581">"Kedudukan pemberitahuan boleh suai"</string>
+    <string name="asst_capability_ranking_summary" msgid="2293524677144599450">"Atur kedudukan pemberitahuan secara automatik mengikut kaitan"</string>
     <string name="asst_capabilities_actions_replies_title" msgid="4392470465646394289">"Tindakan dan balasan yang dicadangkan"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"Tunjukkan secara automatik tindakan &amp; balasan yang dicadangkan"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"Hidupkan sejarah pemberitahuan untuk menjejaki pemberitahuan masa lalu dan menunda pemberitahuan"</string>
+    <string name="notification_history" msgid="8663811361243456201">"Sejarah pemberitahuan"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"Hidupkan sejarah"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"Matikan sejarah"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"Sejarah pemberitahuan dimatikan"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"lihat tetapan pemberitahuan"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Benarkan penundaan pemberitahuan"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"Sembunyikan ikon daripada pemberitahuan lembut"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"Ikon daripada pemberitahuan lembut tidak ditunjukkan dalam bar status"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"Benarkan titik pemberitahuan"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"Tunjukkan jalur perbualan terbaharu"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Gelembung"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"Sesetengah pemberitahuan boleh muncul sebagai gelembung pada skrin"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"Sesetengah pemberitahuan dan kandungan lain boleh dipaparkan sebagai gelembung pada skrin. Untuk membuka gelembung, ketik pada gelembung itu. Untuk mengetepikan gelembung, seret gelembung itu ke bawah skrin."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Gelembung"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"Mesej baharu akan muncul pada skrin"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"Benarkan <xliff:g id="APP_NAME">%1$s</xliff:g> menunjukkan sesetengah pemberitahuan sebagai gelembung"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"Hidupkan gelembung"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"Untuk menghidupkan gelembung bagi apl ini, anda perlu menghidupkan gelembung untuk peranti anda dahulu. Hal ini mempengaruhi apl lain yang telah anda hidupkan gelembung."</string>
@@ -3408,6 +3476,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"Paparkan dalam bidai tarik turun &amp; pada skrin kunci"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"Paparkan dalam bidai tarik turun &amp; bar status"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"Paparkan dalam bidai tarik turun, bar status &amp; pada skrin kunci"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"Sembunyikan pemberitahuan senyap dalam bar status"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"Lampu berkelip"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"Skrin kunci"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"Langkau skrin kunci"</string>
@@ -3438,6 +3507,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"Gelagat"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"Benarkan bunyi"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"Jangan sekali-kali tunjukkan pemberitahuan"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"Perbualan"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"Perbualan"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"Bukan perbualan"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"Alih keluar daripada bahagian perbualan"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"Ini perbualan"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"Tambahkan pada bahagian perbualan"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"Urus perbualan"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"Perbualan penting"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"Semua perbualan"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"Buat gelembung untuk perbualan penting"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"Perbualan penting ditunjukkan di bahagian atas bidai tarik turun. Anda juga boleh menetapkan perbualan ini agar dipaparkan dalam gelembung dan mengganggu ciri Jangan Ganggu."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"Tunjukkan dengan senyap dan minimumkan"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"Tunjukkan secara senyap"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"Berbunyi"</string>
@@ -3456,7 +3536,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"Membantu anda fokus tanpa bunyi atau getaran"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"Menarik perhatian anda dengan bunyi atau getaran"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"Apabila kunci peranti dibuka, tunjukkan pemberitahan sebagai sepanduk di bahagian atas skrin"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"Tunjukkan pemberitahuan"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"Semua pemberitahuan <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"Pemberitahuan Boleh Suai"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="other">~<xliff:g id="NUMBER_1">%d</xliff:g> pemberitahuan sehari</item>
@@ -3477,6 +3557,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"Pemberitahuan Boleh Suai"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"Tiada"</string>
     <string name="no_notification_listeners" msgid="2839354157349636000">"Tiada apl terpasang yang meminta akses pemberitahuan."</string>
+    <string name="notification_access_detail_switch" msgid="46386786409608330">"Benarkan akses pemberitahuan"</string>
     <string name="notification_assistant_security_warning_title" msgid="2972346436050925276">"Benarkan akses pemberitahuan untuk <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
     <string name="notification_assistant_security_warning_summary" msgid="3119843404577399036">"<xliff:g id="NOTIFICATION_ASSISTANT_NAME">%1$s</xliff:g> akan dapat membaca semua pemberitahuan, termasuk maklumat peribadi seperti nama kenalan dan teks mesej yang anda terima. Selain itu, apl ini juga dapat mengubah suai atau mengetepikan pemberitahuan atau mencetuskan butang tindakan yang terkandung pada apl. \n\nTindakan ini turut memberi apl keupayaan untuk menghidupkan atau mematikan Jangan Ganggu dan menukar tetapan yang berkaitan."</string>
     <string name="notification_listener_security_warning_title" msgid="5791700876622858363">"Benarkan akses pemberitahuan untuk <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
@@ -3538,8 +3619,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"Selesai"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"Kepentingan"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"Lampu berkelip"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"Bergetar"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"Getaran"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"Bunyi"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"Penting"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"Tambahkan pada skrin utama"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"Padam"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"Namakan semula"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"Nama jadual"</string>
@@ -3593,6 +3676,10 @@
       <item quantity="other"><xliff:g id="NUM_PEOPLE">%d</xliff:g> yang lain</item>
       <item quantity="one">seorang lagi</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Perbualan"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"Daripada semua perbualan"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"Daripada perbualan penting"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"Jangan benarkan sebarang perbualan"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"Benarkan mesej"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"Untuk memastikan mesej yang dibenarkan dapat berbunyi, periksa sama ada peranti anda ditetapkan kepada berdering, bergetar atau senyap."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"Mesej masuk disekat untuk ‘<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>’. Anda boleh melaraskan tetapan untuk membenarkan rakan, keluarga atau kenalan lain menghubungi anda."</string>
@@ -3606,15 +3693,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"Tiada"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"Jangan benarkan sebarang panggilan"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"Jangan benarkan sebarang mesej"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"Benarkan penggera"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"Penggera"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"Daripada pemasa, penggera, sistem keselamatan dan apl lain"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"penggera"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"Mainkan bunyi media"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"Bunyi media"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"Daripada video, permainan dan media lain"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"media"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"Benarkan bunyi sentuhan"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"Bunyi sentuhan"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"Daripada papan kekunci dan butang lain"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"bunyi sentuhan"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"Benarkan peringatan"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"Peringatan"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"Daripada tugasan dan peringatan"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"peringatan"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"Benarkan acara"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"Acara"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"Daripada acara kalendar akan datang"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Benarkan apl membatalkan Jangan Ganggu"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"Pengecualian apl"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3657,6 +3749,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"Benarkan pemberitahuan yang disenyapkan oleh Jangan Ganggu menghidupkan skrin"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"Tetapan pemberitahuan"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"Ok"</string>
+    <string name="suggestion_button_close" msgid="6865170855573283759">"Tutup"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Hntr mklm balas mngenai peranti ini"</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"Masukkan PIN pentadbir"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"Dihidupkan"</string>
@@ -3667,6 +3760,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Minta PIN sebelum nyahsemat"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Minta kata laluan sebelum menyahsemat"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Kunci peranti semasa menyahsemat"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Sahkan pemadaman SIM"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"Sahkan diri anda sebelum memadamkan SIM yang dimuat turun"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"Profil kerja ini diurus oleh:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"Diurus oleh <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(Percubaan)"</string>
@@ -3741,8 +3836,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"Semua apl"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Apl yang dipasang"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Apl segera"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"Peribadi"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"Kerja"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"Apl: Semua"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"Dimatikan"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"Kategori: Kepentingan segera"</string>
@@ -3754,6 +3847,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"Apl tidak diketahui"</string>
     <string name="app_permissions" msgid="8666537659217653626">"Pengurus kebenaran"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"Apl menggunakan <xliff:g id="APPS">%1$s</xliff:g>"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"Apl yang menggunakan <xliff:g id="APPS">%1$s</xliff:g> dan pelbagai lagi"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"Ketik untuk bangkit"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"Ketik dua kali di mana-mana bahagian skrin untuk membangkitkan peranti"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"Membuka pautan"</string>
@@ -3765,9 +3859,14 @@
       <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> apl membuka pautan yang disokong</item>
       <item quantity="one">Satu apl membuka pautan yang disokong</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"Buka dalam apl ini"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"Benarkan apl membuka pautan yang disokong"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"Tanya setiap kali"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"Jangan buka dalam apl ini"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"Jangan benarkan apl membuka pautan"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="other">Apl mendakwa sedang mengendalikan <xliff:g id="COUNT_1">%d</xliff:g> pautan</item>
+      <item quantity="one">Apl mendakwa sedang mengendalikan <xliff:g id="COUNT_0">%d</xliff:g> pautan</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"Apl mendakwa sedang mengendalikan pautan di bawah:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"Lalai"</string>
     <string name="default_for_work" msgid="537558180548617528">"Lalai untuk kerja"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"Input Bantu &amp; suara"</string>
@@ -3911,8 +4010,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"Paparkan di atas apl lain"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Benarkan pemaparan di atas apl lain"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"Benarkan apl ini dipaparkan di atas apl lain yang sedang digunakan. Hal ini mungkin mengganggu penggunaan apl itu atau mengubah penampilan atau gelagat apl tersebut."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"Akses semua fail"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"Benarkan akses untuk mengurus semua fail"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Benarkan apl ini membaca, mengubah suai dan memadamkan semula fail pada peranti ini atau mana-mana unit storan yang disambungkan. Jika dibenarkan, apl mungkin mengakses fail tanpa pengetahuan anda secara jelas."</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"Boleh mengakses semua fail"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"perkhidmatan pembantu stereo pendengar realiti maya vr"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"makluman sistem dialog tetingkap paparkan di atas apl lain"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"Paparkan di atas apl lain"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"<xliff:g id="COUNT_0">%1$d</xliff:g> daripada <xliff:g id="COUNT_1">%2$d</xliff:g> apl dibenarkan untuk dipaparkan di atas apl lain"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"Apl dengan kebenaran"</string>
@@ -4078,6 +4180,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"<xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g> digunakan"</string>
     <string name="data_overusage" msgid="3680477320458707259">"Lebih <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="data_remaining" msgid="6316251496381922837">"<xliff:g id="ID_1">^1</xliff:g> lagi"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"Graf menunjukkan penggunaan data antara <xliff:g id="START_DATE">%1$s</xliff:g> hingga <xliff:g id="END_DATE">%2$s</xliff:g>."</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"Tiada data dalam julat tarikh ini"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="other">%d hari lagi</item>
       <item quantity="one">%d hari lagi</item>
@@ -4141,14 +4245,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"saiz bungkusan"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"pemberitahuan dimaklumkan"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"bunyi"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"bergetar"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"corak"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"lalai"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"saluran"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"tiada"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"Tiada objek kedudukan."</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"Objek kedudukan tidak mengandungi kunci ini."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"Membuat Tema"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"Lalai peranti"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"Potongan paparan"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"potongan paparan, takuk"</string>
@@ -4237,8 +4337,12 @@
     <string name="information_label" msgid="6939310810756569298">"Maklumat"</string>
     <string name="low_label" msgid="6525629096999711220">"Rendah"</string>
     <string name="high_label" msgid="357503396626018487">"Tinggi"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"Kepekaan yang lebih tinggi mungkin bercanggah dengan mana-mana gerak isyarat apl sepanjang bahagian tepi skrin."</string>
+    <string name="left_edge" msgid="1513576842959071849">"Bahagian tepi sebelah kiri"</string>
+    <string name="right_edge" msgid="1505309103265829121">"Bahagian tepi sebelah kanan"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"Kepekaan yang lebih tinggi mungkin bercanggah dengan mana-mana gerak isyarat apl sepanjang bahagian tepi skrin."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"Kepekaan Belakang"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"Tetapan Gerak Isyarat"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"navigasi gerak isyarat, kepekaan ke belakang, gerak isyarat ke belakang"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"Ketik dua kali untuk menyemak telefon"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"Ketik dua kali untuk menyemak tablet"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"Ketik dua kali untuk menyemak peranti"</string>
@@ -4393,7 +4497,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"Cetus Peruntukan Pembawa"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"Kemas Kini Jangan Ganggu"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"Jeda pemberitahuan untuk mengekalkan tumpuan"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"Video ini tidak tersedia pada peranti ini"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"Ciri tidak tersedia"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"Ciri ini telah dimatikan kerana memperlahankan telefon anda"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"Paksa ukuran GNSS penuh"</string>
@@ -4403,20 +4506,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"Pilih apl didayakan ANGLE"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"Tiada aplikasi yang didayakan ANGLE dipilih"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"Aplikasi didayakan ANGLE: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"Pilihan Pemacu Permainan"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"Ubah suai tetapan Pemacu Permainan"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"Apabila Pemacu Permainan dihidupkan, anda boleh memilih untuk menggunakan pemacu grafik yang dikemas kini untuk Apl yang terpasang pada peranti."</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"Dayakan untuk semua apl"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"Pilih Pemacu Grafik"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"Lalai"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"Pemacu Permainan"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"Pemacu Prakeluaran"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"Pemacu Grafik Sistem"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"Pilihan Pemacu Grafik"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"Ubah suai tetapan pemacu grafik"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"Apabila terdapat berbilang pemacu grafik, anda boleh memilih untuk menggunakan pemacu grafik yang dikemas kini untuk Apl yang terpasang pada peranti."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"Dayakan untuk semua apl"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"Pilih Pemacu Grafik"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"Lalai"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"Pemacu Permainan"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"Pemacu Pembangun"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Pemacu Grafik Sistem"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Perubahan Keserasian Apl"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Togol perubahan keserasian apl"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Perubahan didayakan tetapan lalai"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Perubaan dilumpuhkan tetapan lalai"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"Tetapan tidak disokong pada telefon ini"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"Tetapan tidak disokong pada tablet ini"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"Tetapan tidak disokong pada peranti ini"</string>
@@ -4435,6 +4544,12 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"Peranti"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Tidak tersedia semasa panggilan"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"Tidak tersedia"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"Tambah output"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"Kumpulan"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 peranti dipilih"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> peranti dipilih"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"Jawab panggilan pada"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"APN ini tidak boleh diubah."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Lanjutkan hayat bateri tablet"</string>
@@ -4552,10 +4667,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Hanya satu SIM yang dimuat turun boleh aktif pada satu-satu masa.\n\nBertukar kepada <xliff:g id="CARRIER1">%1$s</xliff:g> tidak akan membatalkan perkhidmatan <xliff:g id="CARRIER2">%2$s</xliff:g> anda."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Tukar kepada <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Padamkan SIM"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Padamkan SIM yang dimuat turun ini?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Pemadaman SIM ini akan mengalih keluar perkhidmatan <xliff:g id="CARRIER_0">%1$s</xliff:g> daripada peranti ini.\n\nPerkhidmatan untuk <xliff:g id="CARRIER_1">%2$s</xliff:g> tidak akan dibatalkan."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Padam"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Memadamkan SIM…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Tidak dapat memadamkan SIM"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"SIM ini tidak dapat dipadamkan disebabkan ralat.\n\nMulakan semula peranti anda, kemudian cuba lagi."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Jenis rangkaian pilihan"</string>
@@ -4580,7 +4691,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Mod Rangkaian <xliff:g id="NETWORKMODEID">%1$d</xliff:g> Tidak Sah. Abaikan."</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Nama Titik Capaian (APN)"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Tidak tersedia apabila disambungkan ke <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"Maklumat perubatan, maklumat hubungan kecemasan"</string>
     <string name="see_more" msgid="7499355691042812723">"Lihat lagi"</string>
     <string name="see_less" msgid="2642392725363552793">"Lihat kurang"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"Peranti untuk digunakan dengan <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
@@ -4589,11 +4699,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"Sesuatu telah berlaku. Aplikasi telah membatalkan permintaan untuk memilih peranti."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"Sambungan berjaya"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"Tunjukkan semua"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> peranti dihubungkan</item>
-      <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_0">%1$d</xliff:g> peranti dihubungkan</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"Tiada peranti Bluetooth"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"Mencari peranti…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"Menyambung ke peranti…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"Kiri"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"Kanan"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Sarung"</string>
@@ -4603,6 +4710,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"Tidak tersedia semasa dalam mod pesawat"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"Paksa mod desktop"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Paksa mod desktop percubaan pada paparan kedua"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"Dayakan serasi saiz bentuk bebas"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"Benarkan apl serasi saiz dalam bentuk bebas"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Batalkan paksa gelap"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"Membatalkan ciri paksa gelap supaya sentiasa hidup"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"Privasi"</string>
@@ -4639,6 +4748,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Anda memasang apl ini baru-baru ini."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Tukar output"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Sedang dimainkan pada <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (diputuskan sambungan)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Tidak dpt menukar. Ketik utk mencuba lg."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Maklumat penting"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"TERUSKAN"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"TIDAK PERLU"</string>
@@ -4666,8 +4777,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"Gabungan SIM"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Maklumat dasar kerja anda"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Tetapan diurus oleh pentadbir IT anda"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"Pengendali laporan pepijat"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Menentukan apl yang mengendalikan pintasan Laporan Pepijat pada peranti anda."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Peribadi"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"Kerja"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"Lalai sistem"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"Pilihan ini tidak lagi sah. Cuba lagi."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"Berhenti menghantar"</string>
 </resources>
diff --git a/res/values-my/arrays.xml b/res/values-my/arrays.xml
index 60eb09d..f98d455 100644
--- a/res/values-my/arrays.xml
+++ b/res/values-my/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"ချက်ချင်း"</item>
     <item msgid="463591454172790676">"၅ စက္ကန့်"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"အတည်မပြုပါ"</item>
+    <item msgid="5703177653586269306">"အသိအမှတ်ပြုလက်မှတ် အခြေအနေ လိုအပ်သည်"</item>
+    <item msgid="326388247868439528">"အသိအမှတ်ပြုလက်မှတ် လိုအပ်သည်"</item>
+    <item msgid="1090956283885790552">"ယုံကြည်စိတ်ချရခြင်းမရှိသည့် အသိအမှတ်ပြုလက်မှတ် အခြေအနေများအားလုံး လိုအပ်သည်"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"နှိပ်ရန်ခလုတ်"</item>
     <item msgid="2630618799033509548">"တန်းတူစက်ပစ္စည်းမှပင်နံပါတ်"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"မရှိ"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"ကြိုတင်ပေးထားတဲ့ ကီးနှင့်Xauthစစ်မှန်ကြောင်းပါရှိသောIPSec VPN"</item>
     <item msgid="2484564813864139237">"အသိအမှတ်ပြုလက်မှတ်နှင့်Xauthစစ်မှန်ကြောင်းပါရှိသောIPSec VPN"</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>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"မရှိ"</item>
diff --git a/res/values-my/config.xml b/res/values-my/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-my/config.xml
+++ b/res/values-my/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-my/strings.xml b/res/values-my/strings.xml
index b57a757..d251165 100644
--- a/res/values-my/strings.xml
+++ b/res/values-my/strings.xml
@@ -31,49 +31,17 @@
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"တီထွင်သူများရွေးစရာကို ဦးစွာဖွင့်ပါ။"</string>
     <string name="header_category_wireless_networks" msgid="303445626075235229">"ကြိုးမဲ့ &amp; ကွန်ရက်များ"</string>
     <string name="header_category_system" msgid="1665516346845259058">"စနစ်"</string>
-    <string name="radio_info_data_connection_enable" msgid="7500945447906187613">"ဒေတာချိတ်ဆက်မှုကို ဖွင့်ပါ"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"ဒေတာချိတ်ဆက်မှုကို ပိတ်ပါ"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"VoLTE ထောက်ပံ့ထားသည်"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"ဗီဒီယိုခေါ်ဆိုမှု ပံ့ပိုးထားပါသည်"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"Wifi ဖြင့် ခေါ်ဆိုမှု ပံ့ပိုးထားပါသည်"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"EAB/လက်ရှိ ထောက်ပံ့ပေးခြင်း"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"Cbrs ဒေတာ"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"DSDS ကို ဖွင့်ရန်"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"စက်ပစ္စည်းကို ပြန်စလိုပါသလား။"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"ဤဆက်တင်ကို ပြောင်းရန် သင့်စက်ပစ္စည်းကို ပြန်စရပါမည်။"</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"ပြန်စပါ"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"မလုပ်တော့"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"မိုဘိုင်း ရေဒီယိုစွမ်းအား"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"SIM ထဲရှိ လိပ်စာ စာအုပ်ကိုကြည့်ပါ"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"ခေါ်ဆိုသည့်အခြေစိုက်နံပါတ်အားကြည့်မည်"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"ခေါ်ဆိုသည့်ဝန်ဆောင်မှုနံပါတ်အားကြည့်မည်"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"IMS ဝန်ဆောင်မှု အခြေအနေ"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"IMS အခြေအနေ"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"မှတ်ပုံတင်ထားသည်"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"မှတ်ပုံတင်ထားခြင်း မရှိပါ"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"ရနိုင်သည်"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"မရရှိနိုင်ပါ"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"IMS မှတ်ပုံတင်ခြင်း− <xliff:g id="STATUS">%1$s</xliff:g>\nLTE ကို အသုံးပြု၍ ခေါ်ဆိုခြင်း− <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nWiFi ကို အသုံးပြု၍ ခေါ်ဆိုခြင်း− <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nဗီဒီယို ခေါ်ဆိုမှု− <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT အသုံးပြုမှု အသွင်အပြင်− <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"ဝန်ဆောင်မှုရှိပါသည်"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"ဆက်သွယ်မှုဧရိယာပြင်ပ"</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>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"အသုံးပြုမနေပါ"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"အသံမြည်နေသည်"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"ခေါ်ဆိုနေဆဲ"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"ချိတ်ဆက်မှုပြတ်တောက်သည်"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"ချိတ်ဆက်နေသည်"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"ချိတ်ဆက်ထားပြီး"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"ဆိုင်းငံ့ထားသည်"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"မသိ"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"pkts"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"bytes"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"USBကိရိယာထိုင်ခြင်းဖြုတ်"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"SDကဒ်အားအထိုင်မှဖြုတ်ခြင်း"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"USBသိုလှောင်မှု ဖျက်ခြင်း"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"မျက်နှာပြင်ပေါ်ရှိ စာလုံးကို ပိုသေးအောင် သို့မဟုတ် ပိုကြီးအောင် လုပ်ပါ။"</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"ပိုသေးအောင် ပြုလုပ်ပါ"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"ပိုကြီးအောင် ပြုလုပ်ပါ"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"နမူနာ စာသား"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"Oz ၏အံ့ဖွယ်ဝိဇ္ဇာ"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"အခန်းကြီး ၁၁ − Oz ၏အံ့ဖွယ် မြစိမ်းရောင်မြို့တော်"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"ဤဆက်တင်ကိုပြောင်းရန် သင့်စက်ကို ပြန်စတင်ရပါမည်။"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"ပြန်စရန်"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"မလုပ်တော့"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"ရနိုင်သည့် မီဒီယာစက်များ"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"ရနိုင်သည့် ခေါ်ဆိုရန်စက်များ"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"လောလောဆယ် ချိတ်ဆက်ထားခြင်း"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"မီဒီယာ စက်ပစ္စည်းများ"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"ခေါ်ဆိုမှု စက်ပစ္စည်းများ"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"အခြား စက်ပစ္စည်းများ"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"သိမ်းဆည်းထားသည့် စက်ပစ္စည်းများ"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"တွဲချိတ်ရန် \'ဘလူးတုသ်\' ကို ဖွင့်ပါမည်"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"ချိတ်ဆက်မှု ဦးစားပေးများ"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"သင်ရိုက်ထည့်သော ပို့ နံပါတ် မှာ မဆီလျော်ပါ"</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"HTTP ပရောက်စီကို ဘရောင်ဇာက အသုံးပြုသော်လည်း တခြားအက်ပ်များက အသုံးပြု၍မရနိုင်ပါ။"</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"PAC URL: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"လက်ရှိ Id အခွဲ−"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"မူရင်း ဒေတာဆင်းမ်ကတ်အတွက် Id အခွဲ−"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"DL မြန်နှုန်း (kbps)−"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"UL မြန်နှုန်း (kbps)−"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"ဆဲလ်လူလာတည်နေရာ အချက်အလက် (ကန့်ကွက်ထားသည်) −"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"LTE ရုပ်ပိုင်းဆိုင်ရာ ချန်နယ်စီစဉ်သတ်မှတ်မှု−"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"ဆဲလ်လူလာ အချက်အလက် ရယူမှုနှုန်း −"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"ဆဲလ်လူလာတိုင်းတာမှု အချက်အလက် အားလုံး −"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"ဒေတာ ဝန်ဆောင်မှု −"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"ပြင်ပကွန်ရက်နှင့် ချိတ်ဆက်ခြင်း"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"ခေါ်ဆိုမှု လမ်းကြောင်းလွှဲပေးခြင်း −"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"စတင်သည့်အချိန်မှစ၍ PPP ပြန်လည်သတ်မှတ်သည့် အခေါက်ရေ −"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"လက်ရှိ ကွန်ရက် −"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"ဒေတာ လက်ခံရရှိပါသည် −"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"အသံဝန်ဆောင်မှု −"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"လိုင်းဆွဲအား −"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"အသံခေါ်ဆိုမှု အခြေအနေ −"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"ဒေတာ ပို့လိုက်ပါပြီ −"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"မက်ဆေ့ဂျ်ကို စောင့်နေသည် −"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"ဖုန်းနံပါတ် −"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"ရေဒီယိုလိုင်း ရွေးချယ်ပါ"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"အသံကွန်ရက် အမျိုးအစား −"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"ဒေတာကွန်ရက် အမျိုးအစား −"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"ဖုန်းအညွှန်း ရွေးရန်"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"ပိုနှစ်သက်သည့် ကွန်ရက်အမျိုးအစားကို သတ်မှတ်ပါ −"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"ပင်ကို လက်ခံဝန်ဆောင်ပေးသူအမည်(www.google.com) မှာ IPv4-"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"ပင်ကို လက်ခံဝန်ဆောင်ပေးသူအမည် (www.google.com) IPv6-"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"HTTP ကလိုင်းယင့် စမ်းသပ်မှု −"</string>
     <string name="ping_test_label" msgid="265427033290391845">"Ping စမ်းသပ်ခြင်း လုပ်ဆောင်ပါ"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"အပ်ဒိတ်"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"ပြန်လည်စတင်ရန်"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"DNS စစ်ဆေးမှုခလုတ်နှိပ်ပါ"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"ထုတ်လုပ်သူနှင့် သက်ဆိုင်သော အချက်အလက်/ဆက်တင်များ"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"ရေဒီယိုလိုင်းမုဒ်သို့ သတ်မှတ်ပါ"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"လိုင်းစာရင်းကို ဖွင့်နေသည်…"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"အတည်ပြုရန်"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"မအောင်မြင်ပါ"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"အောင်မြင်ပါသည်"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"USB ကြိုးကိုပြန်လည်ချိတ်ဆက်လျှင် ပြောင်းလဲမှုများကို အကျိုးသက်ရောက်ရန်"</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"USB ဖြင့်အချက်အလက်မြောက်များစွာ သိမ်းဆည်းနိုင်သော နေရာကို ရနိုင်ခြင်း"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"စုစုပေါင်း bytes"</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"အောက်ပိုင်းသို့ ရွှေ့ပါ"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"ဘာသာစကားကို ဖယ်ရှားပါ"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"လုပ်ဆောင်ချက်အားရွေးချယ်ပါ"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"စက်ပိုင်းဆိုင်ရာ အချက်အလက်"</string>
     <string name="display_label" msgid="3056320781191343221">"မျက်နှာပြင်"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"တက်ဘလက်၏အချက်အလက်"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"ဖုန်းအချက်အလက်"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"USBသိုလှောင်ကိရိယာ"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"SD ကတ်"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"ပရောက်စီ ဆက်တင်များ"</string>
@@ -306,9 +234,6 @@
     <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 ၊ ဘလူးတုသ်၊ လေယာဉ်ပေါ်အသုံးပြုစနစ်၊ မိုဘိုင်းလ်ကွန်ရက်များနှင့် VPN များကို စီမံခန့်ခွဲရန်"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"မိုဘိုင်းဒေတာ"</string>
-    <string name="calls_title" msgid="6334813967619899114">"ခေါ်ဆိုမှု ခွင့်ပြုခြင်း"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"SMS စာတိုများ"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"မိုဘိုင်းကွန်ရက်တွင် ဒေတာသုံးခွင့်ပြုပါ"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"ရိုမင်း လုပ်ချိန်မှာ ဒေတာ သုံးစွဲမှု ခွင့်ပြုရန်"</string>
     <string name="roaming" msgid="3055365654530847985">"ပြင်ပကွန်ရက်နှင့် ချိတ်ဆက်ခြင်း"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"ရုန်းမင်းဖြစ်နေလျှင် ဒေတာဝန်ဆောင်မှုများကို ချိတ်ဆက်ပါ"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"ဒေတာဆက်သွယ်မှုပြတ်တောက်သွားပါသည် အဘယ်ကြောင့်ဆိုသော် သင့်အိမ်၏ကွန်ယက်မှထွက်ကာ ဒေတာရုန်းမင်းကွန်ယက်ကိုလဲပိတ်ထားသောကြောင့်ဖြစ်သည်"</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"ဖွင့်မည်"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"ငွေကြေး အတော်အတန်ကုန်ကျနိုင်ပါသည်။"</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"ကွန်ယက်ပြင်ပဒေတာအသုံးပြုခြင်းကို သင် ခွင့်ပြုလျှင် သိသာကြီးမာသောသုံးစွဲခ ကျခံရလိမ့်မည် !\n\n ဤအစီအမံသည် ဤတက်ဘလက်မှ သူံးစွဲသူအားလုံးကို အကျိုးသက်ရောက်လိမ့်မည်။"</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"ကွန်ယက်ပြင်ပဒေတာအသုံးပြုခြင်းကို သင် ခွင့်ပြုလျှင် သိသာကြီးမာသောသုံးစွဲခ ကျခံရလိမ့်မည် !\n\n ဤအစီအမံသည် ဤဖုန်းမှ သူံးစွဲသူအားလုံးကို အကျိုးသက်ရောက်လိမ့်မည်။"</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"ပြင်ပကွန်ရက်နှင့် ချိတ်ဆက်သော အသုံးပြုခများ ကျသင့်နိုင်သည်။"</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"ပြင်ပကွန်ရက်သို့ ချိတ်ဆက်၍ ဒေတာအသုံးပြုရန် ခွင့်ပြုထားသည့်အခါ ၎င်းပြင်ပကွန်ရက်သို့ ချိတ်ဆက်မှုအတွက် ကုန်ကျစရိတ်များရှိနိုင်သည်။\n\nဤဆက်တင်သည် ဤတက်ဘလက်ပေါ်ရှိ အသုံးပြုသူများအားလုံးအပေါ် သက်ရောက်မှုရှိသည်။"</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"ပြင်ပကွန်ရက်သို့ ချိတ်ဆက်၍ ဒေတာအသုံးပြုရန် ခွင့်ပြုထားသည့်အခါ ၎င်းပြင်ပကွန်ရက်သို့ ချိတ်ဆက်မှုအတွက် ကုန်ကျစရိတ်များရှိနိုင်သည်။\n\nဤဆက်တင်သည် ဤဖုန်းပေါ်ရှိ အသုံးပြုသူများအားလုံးအပေါ် သက်ရောက်မှုရှိသည်။"</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"ပြင်ပကွန်ရက် ဒေတာသုံးခွင့်​ပြုမလား။"</string>
     <string name="networks" msgid="5184501333492775095">"ဖုန်းလိုင်းကုမ္ပဏီရွေးချယ်မှု"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"ကွန်ယက်ဝန်ဆောင်မှုကို ရွေးချယ်ပါ"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"စီမံခန့်ခွဲသူက ပိတ်ထားသည်"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"ပိတ်ရန် ရွေးချယ်စရာများကို ပြခြင်း"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"Smart Lock၊ ဇီဝဗေဒဆိုင်ရာ အချက်အလက်များဖြင့် လော့ခ်ဖွင့်ခြင်းနှင့် လော့ခ်ချထားချိန် ဖန်သားပြင်ရှိ အကြောင်းကြားချက်များကို ပိတ်သည့် ဖန်သားပြင်ပြသမှု ပါဝါခလုတ်"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"သတ်မှတ်အေးဂျင့်များ လော့ခ်ဆက်ဖွင့်နိုင်သည်"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"ဖွင့်ထားသည့်အခါ ယုံကြည်မှု အေးဂျင့်များက သင့်စက်ပစ္စည်းကို ဆက်လက်လော့ခ်ဖွင့်ထားမည် ဖြစ်သော်လည်း လော့ခ်ချထားသည့် စက်ပစ္စည်းကိုမူ ဖွင့်၍ရတော့မည် မဟုတ်ပါ။"</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"မယုံကြည်တော့သည့်အခါ စကရင်ကိုလော့ခ်ချရန်"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"စနစ်ကိုဖွင့်ထားပါက ယုံကြည်ရသည့် နောက်ဆုံးကိုယ်စားလှယ်အား ယုံကြည်၍မရတော့သည့်အခါ စက်ပစ္စည်းကို လော့ခ်ချသွားပါမည်"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"မရှိ"</string>
@@ -390,7 +313,7 @@
     <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="disabled_by_administrator_summary" msgid="4181894719300350343">"စီမံခန့်ခွဲသူက ပိတ်ထားသည်"</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>
@@ -693,7 +616,6 @@
       <item quantity="other">ဂဏန်း <xliff:g id="NUMBER_1">%d</xliff:g> လုံးထက် နည်းရမည်</item>
       <item quantity="one">ဂဏန်း <xliff:g id="NUMBER_0">%d</xliff:g> လုံးထက် နည်းရမည်</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"ဂဏန်း ၀−၉ အထိသာ ပါဝင်ရပါမည်"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"စက်ပစ္စည်း၏ စီမံခန့်ခွဲသူသည် မကြာသေးမီက အသုံးပြုခဲ့သည့် ပင်နံပါတ်ကို သုံးခွင့်မပြုပါ"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"အသုံးပြုလေ့ရှိသော PIN များကို သင်၏ IT စီမံခန့်ခွဲသူက ပိတ်ထားသည်။ အခြား PIN တစ်ခုဖြင့် စမ်းကြည့်ပါ။"</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"၎င်းတွင် မမှန်ကန်သည့်စကားလုံးများ ပါဝင်၍မရပါ"</string>
@@ -724,6 +646,10 @@
       <item quantity="other">အနည်းဆုံး စာလုံးငယ် <xliff:g id="COUNT">%d</xliff:g> လုံးပါဝင်ရမည်</item>
       <item quantity="one">အနည်းဆုံး စာလုံးငယ် ၁ လုံးပါဝင်ရမည်</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="other">ဂဏန်းမဟုတ်သော အက္ခရာ အနည်းဆုံး <xliff:g id="COUNT">%d</xliff:g> လုံးပါရမည်</item>
+      <item quantity="one">ဂဏန်းမဟုတ်သော အက္ခရာ အနည်းဆုံး ၁ လုံးပါရမည်</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"စက်ပစ္စည်းစီမံခန့်ခွဲသူသည် မကြာသေးမီက အသုံးပြုခဲ့သည့် စကားဝှက်ကို သုံးခွင့်မပြုပါ"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"အသုံးပြုလေ့ရှိသော စကားဝှက်များကို သင်၏ IT စီမံခန့်ခွဲသူက ပိတ်ထားသည်။ အခြား စကားဝှက်တစ်ခုဖြင့် စမ်းကြည့်ပါ။"</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"အစဉ်လိုက်ဖြစ်နေသော ဂဏန်း အငယ်မှအကြီး၊ အကြီးမှအငယ် သို့မဟုတ် ထပ်နေသည့် နံပါတ်စဉ်များကို ခွင့်မပြုပါ"</string>
@@ -837,19 +763,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2.4 GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"လက်မှတ်ထိုးဝင်ရန်"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"ဝဘ်ဆိုက်ဖွင့်ရန်"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"<xliff:g id="REMAINING_TIME">%1$s</xliff:g> ကျန်သည်"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"<xliff:g id="EXPIRY_TIME">%1$s</xliff:g> တွင် သက်တမ်းကုန်မည်"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"ကွန်ရက်သို့ လက်မှတ်ထိုးဝင်ရန် ဤနေရာတွင် တို့ပါ"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"<xliff:g id="REQUESTER">%s</xliff:g> က Wi-Fi ဖွင့်လိုသည်"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"<xliff:g id="REQUESTER">%s</xliff:g> က Wi-Fi ပိတ်လိုသည်"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"အမှားပြင်နိုင်သော အက်ပ်ဘိုက်ကုဒ် စိစစ်ပါ"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"အမှားရှာပြင်နိုင်သော အက်ပ်များအတွက် ဘိုက်ကုဒ် စိစစ်ရန် ART ကိုခွင့်ပြုသည်"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"ပြန်လည် စတင်နှုန်းကို ပြပါ"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"လက်ရှိ ဖန်သားပြင်ပြသမှု ပြန်လည်စတင်နှုန်းကို ပြပါ"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"တက်ဘလက်နှင့် အခြားစက်ပစ္စည်း ထိလိုက်လျှင် အချက်အလက် ဖလှယ်ရန် ခွင့်ပြုသည်"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"ဖုန်းနှင့် အခြားစက်ပစ္စည်း ထိလိုက်လျှင် အချက်အလက် ဖလှယ်ရန် ခွင့်ပြုသည်"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"တက်ဘလက်က NFC ကိရိယာတစ်ခုကို ထိလိုက်လျှင် ဒေတာ ဖလှယ်မှု ခွင့်ပြုရန်"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"ဖုန်းက NFC ကိရိယာတစ်ခုကို ထိလိုက်လျှင် ဒေတာ ဖလှယ်မှု ခွင့်ပြုရန်"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"NFC ကို ဖွင့်ပါ"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"NFC သည် ဤစက်ပစ္စည်းနှင့်  အခြားအနီးတဝိုက်ရှိစက်ပစ္စည်းများ (သို့) ငွေပေးချေစက်များ၊ အသုံးပြုခွင့်ရရန် လက်ခံဖတ်ကြားပေးသည့် စက်များနှင့် ပြန်လှန်တုံ့ပြန်မှုရှိသော ကြော်ငြာများ (သို့) အညွှန်းတဂ်များကဲ့သို့သော အသုံးပြုလိုသည့် အရာများအကြားတွင် ဒေတာများကို ဖလှယ်ပေးသည်။"</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"NFC လုံခြုံအောင်လုပ်ပါ"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFC အတွက် စက်ပစ္စည်းကို ဖွင့်ရန် လိုအပ်သည်"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"ဖန်သားပြင်လော့ခ်ဖွင့်ထားချိန်တွင်သာ \'NFC ပေးချေမှုနှင့် အများသုံးယာဉ်\' အသုံးပြုမှုကို ခွင့်ပြုသည်"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"NFC မှတစ်ဆင့် အက်ပ်၏အကြောင်းအရာကို ထုတ်လွှင့်ရန် အဆင်သင့် ဖြစ်နေပါသည်"</string>
@@ -923,8 +855,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"ဖွင့်ရန်"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Wi‑Fi ရှာဖွေခြင်း ဖွင့်ထားသည်"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"အဆင့်မြင့် ရွေးစရာများ"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"ဆွဲချစာရင်း အသေးစိတ်ရွေးချယ်စရာများ။ ခေါက်သိမ်းရန် နှစ်ချက်တို့ပါ။"</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"ဆွဲချစာရင်း အသေးစိတ်ရွေးချယ်စရာများ။ ဖြန့်ချရန် နှစ်ချက်တို့ပါ။"</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"ဆွဲချစာရင်း အဆင့်မြင့် ရွေးစရာများ"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"ချဲ့ထွင်ရန်"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"ကွန်ရက် အမည်"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"SSID ထည့်သွင်းရန်"</string>
     <string name="wifi_security" msgid="9095934643631406913">"လုံခြုံရေး"</string>
@@ -934,6 +866,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"အခြေအနေ"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"ထုတ်လွှင့်မှု လင့်ခ်အမြန်နှုန်း"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"လက်ခံခြင်းလင့်ခ် အမြန်နှုန်း"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"လိုင်းအမြန်နှုန်း"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"လှိုင်းနှုန်း"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"အိုင်ပီလိပ်စာ"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"မှတဆင့် သိမ်းရန်"</string>
@@ -941,6 +874,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"EAPနည်းလမ်း"</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>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"အသုံးပြုသူလက်မှတ်"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"တစ်ဦးတစ်ယောက်"</string>
@@ -957,6 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"Wi‑Fi ဟော့စပေါ့အတွက် အနည်းဆုံး လိုင်းတစ်လိုင်းရွေးပါ−"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"IP ဆက်တင်များ"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"ကန့်သတ်ဆက်တင်"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"စာရင်းသွင်းမှု"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"စာရင်းသွင်းမှုကို ကြည့်ရန် သို့မဟုတ် ပြောင်းရန်"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"ကျပန်း MAC"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"စက်ပစ္စည်း ထည့်ပါ"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"“<xliff:g id="SSID">%1$s</xliff:g>” သို့ စက်ပစ္စည်းထည့်ရန် အောက်ရှိ QR ကုဒ်ကို အလယ်တည့်တည့် ထားပါ"</string>
@@ -966,12 +902,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"Wi‑Fi မျှဝေပါ"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"“<xliff:g id="SSID">%1$s</xliff:g>” နှင့် ချိတ်ဆက်ရန် ဤ QR ကုဒ်ကို စကင်ဖတ်ပြီး စကားဝှက် မျှဝေပါ"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"“<xliff:g id="SSID">%1$s</xliff:g>” နှင့်ချိတ်ဆက်ရန် ဤ QR ကုဒ်ကို စကင်ဖတ်ပါ"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"QR ကုဒ်ကို ဖတ်၍မရပါ။ ကုဒ်ပြန်ထည့်ပြီး ထပ်စမ်းကြည့်ပါ"</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"ထပ်စမ်းကြည့်ပါ။ ပြဿနာဆက်ရှိနေလျှင် စက်ပစ္စည်းထုတ်လုပ်သူကို ဆက်သွယ်ပါ"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"တစ်ခုခု မှားသွားသည်"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"စက်ပစ္စည်းကို ပလပ်တပ်ထားခြင်း၊ အားသွင်းထားပြီး ဖွင့်ထားခြင်း ရှိမရှိ စစ်ဆေးပါ"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"စက်ပစ္စည်းကို ပလပ်တပ်ထားခြင်း၊ အားသွင်းထားပြီး ဖွင့်ထားခြင်း ရှိမရှိ စစ်ဆေးပါ။ ပြဿနာဆက်ရှိနေလျှင် စက်ပစ္စည်းထုတ်လုပ်သူကို ဆက်သွယ်ပါ"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"“<xliff:g id="SSID">%1$s</xliff:g>” ထည့်ခြင်းကို ဤစက်ပစ္စည်းက ပံ့ပိုးမထားပါ"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"သင့်စက်ကို Wi-Fi ချိတ်ဆက်ရန် နေရာ/ရောက်တာ အနီးသို့ ရွှေ့ကြည့်ပါ"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"သင့်စကားဝှက်ကို စစ်ပြီး ထပ်စမ်းကြည့်ပါ"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"စက်ပစ္စည်းထုတ်လုပ်သူကို ဆက်သွယ်ပါ"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"ချိတ်ဆက်မှု စစ်ဆေးပြီး ထပ်စမ်းကြည့်ပါ"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"ကွန်ရက် ရွေးပါ"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"သင့်စက်ကို ချိတ်ဆက်ရန် ကွန်ရက်တစ်ခု ရွေးပါ"</string>
@@ -984,11 +922,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"Wi‑Fi ကို ဤစက်အား မျှဝေနေသည်…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"ချိတ်ဆက်နေသည်…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"ဟော့စပေါ့ မျှဝေရန်"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"သင်ဖြစ်ကြောင်း အတည်ပြုပါ"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"သင်ဖြစ်ကြောင်း အတည်ပြုပါ"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"Wi-Fi စကားဝှက်− <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"ဟော့စပေါ့စကားဝှက်− <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"အလိုအလျောက် ချိတ်ဆက်မှု"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"ဤကွန်ရက်အနီးတွင် ဖုန်းရှိပါက အလိုအလျောက် ချိတ်ဆက်ခွင့်ပြုပါ"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"ဤကွန်ရက်အနီးတွင် တက်ဘလက်ရှိပါက အလိုအလျောက် ချိတ်ဆက်ခွင့်ပြုပါ"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"စက်ပစ္စည်း ထည့်ရန်"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"ဤကွန်ရက်သို့ စက်တစ်ခုထည့်ရန် QR ကုဒ်ကို အသုံးပြုပါ"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"QR ကုဒ်သည် မှန်ကန်သောဖော်မက် မဟုတ်ပါ"</string>
     <string name="retry" msgid="7542103800274026915">"ထပ်စမ်းကြည့်ရန်"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"အခြားစက်ပစ္စည်းအသုံးပြုသူများဖြင့် မျှဝေ"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(ပြောင်းလဲခြင်းမရှိ)"</string>
@@ -1000,6 +942,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"အသိမှတ်ပြုလက်မှတ် သတ်မှတ်မထားပါ။ သင့်ချိတ်ဆက်မှု တသီးတသန့်ဖြစ်မည် မဟုတ်ပါ။"</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"ကွန်ရက်အမည် ရှည်လွန်းပါသည်။"</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"ဒိုမိန်းတစ်ခု သတ်မှတ်ပေးရပါမည်။"</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"အသိအမှတ်ပြုလက်မှတ် လိုအပ်သည်။"</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"WPSရရှိုနိုင်သည်"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (WPSရရှိုနိုင်သည်)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"ဖုန်းကုမ္ပဏီ Wi‑Fi ကွန်ရက်"</string>
@@ -1051,7 +994,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"အဆင့်မြင့် Wi-Fi"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"MAC လိပ်စာ"</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_ip_address_title" msgid="4265355419782184514">"အိုင်ပီလိပ်စာ"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"ကွန်ရက် အသေးစိတ်များ"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Subnet ကွင်းဆက်နံပါတ်"</string>
@@ -1103,7 +1047,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"သင်၏ အခြားစက်များအတွက် Wi‑Fi ကွန်ရက်ကို ဖွင့်ပေးရန် ဟော့စပေါ့ကို အသုံးပြုပါ။ ဟော့စပေါ့က သင်၏ မိုဘိုင်းဒေတာဆက်သွယ်မှုကို အသုံးပြုပြီး အင်တာနက်ကို ဖန်တီးပေးနိုင်ပါသည်။ မိုဘိုင်းဒေတာသုံးစွဲခ ပိုကုန်ကျနိုင်ပါသည်။"</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"ပါဝင်သည့်အကြောင်းအရာများကို အနီးတစ်ဝိုက်ရှိ စက်ပစ္စည်းများနှင့် မျှဝေရန်အတွက် အက်ပ်များက ဟော့စပေါ့တစ်ခု ဖွင့်နိုင်ပါသည်။"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"ဟော့စပေါ့ကို အလိုအလျောက် ပိတ်ခြင်း"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"မည်သည့် စက်ပစ္စည်းကိုမျှ ချိတ်ဆက်ထားခြင်း မရှိလျှင် Wi‑Fi ဟော့စပေါ့ကို ပိတ်သွားပါမည်"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"စက်ပစ္စည်းကို ချိတ်ဆက်မထားသောအခါ"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"ဟော့စပေါ့ ဖွင့်နေသည် …"</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"ဟော့စပေါ့ ပိတ်နေသည် …"</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> ပွင့်နေသည်"</string>
@@ -1112,6 +1056,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"ကြိုးမဲ့ ဟော့စပေါ့ စဖွင့်သတ်မှတ်ရန်"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"AndroidAP WPA2 PSK ဟော့စပေါ့"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"Android ဟော့စပေါ့"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"ဤကွန်ရက်ကို သိမ်းမလား။"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"<xliff:g id="APPNAME">%1$s</xliff:g> က သင့်ဖုန်းတွင် ကွန်ရက်တစ်ခုကို သိမ်းလိုသည်"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"<xliff:g id="APPNAME">%1$s</xliff:g> က သင့်တက်ဘလက်တွင် ကွန်ရက်တစ်ခုကို သိမ်းလိုသည်"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"သိမ်းနေသည်…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"သိမ်းပြီးပါပြီ"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"သိမ်း၍မရပါ။ ပြန်စမ်းကြည့်ပါ။"</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"ကွန်ရက်များကို သိမ်းမလား။"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"<xliff:g id="APPNAME">%1$s</xliff:g> က သင့်ဖုန်းတွင် ဤကွန်ရက်များကို သိမ်းလိုသည်"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"<xliff:g id="APPNAME">%1$s</xliff:g> က သင့်တက်ဘလက်တွင် ဤကွန်ရက်များကို သိမ်းလိုသည်"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"ကွန်ရက် <xliff:g id="NUMBER">%d</xliff:g> ခုကို သိမ်းနေသည်…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"ကွန်ရက်များကို သိမ်းပြီးပါပြီ"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"Wi-Fi  ခေါ်ဆိုမှု"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"Wi‑Fi ဖြင့် ခေါ်ဆိုမှုများကို တိုးချဲ့ပါ"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"လိုင်းပိုမိစေရန် Wi‑Fi ဖြင့်ခေါ်ဆိုခြင်းကို ဖွင့်ပါ"</string>
@@ -1138,16 +1093,18 @@
     <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>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"Wi-Fi ခေါ်ဆိုမှုကို စသုံးရန်ဖွင့်ပါ"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"Wi-Fi ခေါ်ဆိုမှုဖွင့်ပါ"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"%1$s အတွက် Wi‑Fi ခေါ်ဆိုမှုကို ပံ့ပိုးမထားပါ"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"<xliff:g id="SSID">%1$s</xliff:g> မှ ဖြုတ်လိုက်ပါပြီ"</string>
     <string name="carrier" msgid="1755020806290963951">"ဝန်ဆောင်မှုပေးသူ"</string>
     <string name="display_settings_title" msgid="626835071804834218">"ဖန်သားပြင် ပြသမှု"</string>
     <string name="sound_settings" msgid="5514582720435174014">"အသံ"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"အသံအတိုးအကျယ်"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"သီချင်းအပြင်အဆင်များ"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"ဖုန်းမြည်သံ အတိုးအကျယ်"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"မြည်သံနှင့် အကြောင်းကြားချက် အသံ"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"မြည်သံကိုပိတ်ထားလျှင် တုန်ခါမည်"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"မူရင်းအကြောင်းကြားသံ"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"ဖုန်းမြည်သံ"</string>
@@ -1272,13 +1229,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"အချိန်ဇယား"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"မရှိ"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"နေဝင်ချိန်မှ နေထွက်ချိန်ထိ ဖွင့်ရန်"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"သတ်မှတ်ချိန်တွင် ဖွင့်ရန်"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"အခြေအနေ"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"ပိတ်ရန် / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"ဘယ်တော့မှ အလိုအလျောက် ပွင့်မည် မဟုတ်ပါ"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"နေဝင်ချိန်တွင် အလိုအလျောက် ပွင့်ပါမည်"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"<xliff:g id="ID_1">%1$s</xliff:g> တွင် အလိုအလျောက် ပွင့်ပါမည်"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"ဖွင့်ရန် / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"မည်သည့်အခါမျှ အလိုအလျောက် ပိတ်မည် မဟုတ်ပါ"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"နေထွက်ချိန်တွင် အလိုအလျောက် ပိတ်ပါမည်"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"<xliff:g id="ID_1">%1$s</xliff:g> တွင် အလိုအလျောက် ပိတ်ပါမည်"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"<xliff:g id="ID_1">%1$s</xliff:g> အထိ ပိတ်ရန်"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"<xliff:g id="ID_1">%1$s</xliff:g> အထိ ပိတ်ရန်"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"အချို့ဖန်သားပြင်များတွင် ဘက်ထရီသက်တမ်း ပိုခံနိုင်ရန် မှောင်သည့် အပြင်အဆင်က အနက်ရောင်နောက်ခံကို အသုံးပြုသည်။ သင့်ဖန်သားပြင်ပိတ်သည်အထိ စောင့်ပြီးမှ မှောင်သည့် အပြင်အဆင် စတင်သည်။"</string>
     <string name="screen_timeout" msgid="7709947617767439410">"ဖန်သားပြင် ခဏရပ်ချိန်"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"မျက်နှာပြင်ကို ပိတ်ထားသည်"</string>
@@ -1290,7 +1252,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"နောက်ခံပုံပြောင်းပါ"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"သင့်မျက်နှာပြင်ကို မိမိစိတ်ကြိုက်ပြင်ပါ"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"နောက်ခံကို အောက်ပါတို့မှရွေးချယ်ရန်"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"Pixel ကို စိတ်ကြိုက်ပြင်ပါ"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"သင့်ဖုန်းကို စိတ်ကြိုက်လုပ်ပါ"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"မတူသည့် ပုံစံများ၊ နောက်ခံများနှင့် အခြားအရာများကို စမ်းကြည့်ပါ"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"ဖန်သားပြင်ချွေတာစနစ်"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"အားသွင်းနေစဉ် သို့မဟုတ် တပ်ဆင်ထားစဉ်"</string>
@@ -1379,6 +1341,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"USBသိုလှောင်မှုကိရိယာအား အထိုင်မှဖြုတ်မည် သိုလှောင်နိုင်မှုအားကြည့်မည်"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"SDကဒ်ကို အထိုင်မှဖြုတ်မည်။ သိုလှောင်နိုင်မှုအား ကြည့်မည်။"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (ဆင်းမ် အထိုင် %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"ကြည့်ရန် သိမ်းထားသည့် ကွန်ရက်ကို ရွေးပါ"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDNနံပါတ်"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"ဖုန်းနံပါတ်"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (ဆင်းမ် အထိုင် %1$d)"</string>
@@ -1405,6 +1368,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"ပြင်ပကွန်ရက်နှင့် ချိတ်ဆက်ခြင်း"</string>
     <string name="status_operator" msgid="4335640583552058491">"ကွန်ရက်"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"Wi-Fi ၏ MAC လိပ်စာ"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"စက်ပစ္စည်း Wi‑Fi MAC လိပ်စာ"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"ဘလူးတုသ်လိပ်စာ"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"စက်မှတ်ပုံတင်နံပါတ်"</string>
     <string name="status_up_time" msgid="1274778533719495438">"ဖွင့်ထားသောအချိန်"</string>
@@ -1617,6 +1581,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"APN ၏မူရင်းအပြင်အဆင်များကို အစသို့ပြန်လည်စတင်မှုအား ပြီးဆုံးပါပြီ"</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"ပြင်ဆင်သတ်မှတ်ရန် ရွေးစရာများ"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"ကွန်ရက်၊ အက်ပ် (သို့) ကိရိယာများကို ပြင်ဆင်သတ်မှတ်နိုင်ပါသည်"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"အက်ပ်များကို ပြင်ဆင်သတ်မှတ်နိုင်သည်"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"Wi-Fi၊ မိုဘိုင်း၊ ဘလူးတုသ် ပြင်ဆင်သတ်မှတ်ရန်"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"၎င်းသည် အောက်ပါတို့အပါအဝင် ကွန်ရက်ဆက်တင်များအားလုံးကို ပြင်ဆင်သတ်မှတ်လိုက်ပါမည်−\n\n"<li>"Wi‑Fi"</li>\n<li>"မိုဘိုင်းဒေတာ"</li>\n<li>"ဘလူးတုသ်"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"ဒေါင်းလုဒ်လုပ်ထားသောကတ် ဖျက်ပါ"</string>
@@ -1666,6 +1631,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"ဟော့စပေါ့ကို ဖွင့်ထားသည်"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"မိုဘိုင်းဖုန်းကို မိုဒမ်အဖြစ် အသုံးပြုခြင်း"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"ဒေတာချွေတာမှုစနစ် ဖွင့်ထားစဉ်တွင် ထုတ်လွှင့်၍မရပါ သို့မဟုတ် ရွှေ့ပြောင်းဟော့စပေါ့ကို အသုံးပြု၍မရပါ"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"ဟော့စပေါ့သီးသန့်"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"USB သီးသန့်"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"ဘလူးတုသ်သီးသန့်"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"ဟော့စပေါ့၊ USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"ဟော့စပေါ့၊ ဘလူးတုသ်"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB၊ ဘလူးတုသ်"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"ဟော့စပေါ့၊ USB၊ ဘလူးတုသ်"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"အခြားစက်ပစ္စည်းများနှင့် အင်တာနက် မျှဝေထားခြင်းမရှိပါ"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"မိုဘိုင်းဖုန်းသုံး ချိတ်ဆက်မျှဝေခြင်း"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Wi‑Fi ဟော့စပေါ့ မသုံးပါနှင့်"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"အင်တာနက်ကို USB မှတစ်ဆင့်သာ မျှဝေရန်"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"အင်တာနက်ကို ဘလူးတုသ်မှတစ်ဆင့်သာ မျှဝေရန်"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"အင်တာနက်ကို USB နှင့် ဘလူးတုသ်မှတစ်ဆင့်သာ မျှဝေရန်"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB သုံး၍ချိတ်ဆက်ခြင်း"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"ဖုန်း၏ အင်တာနက်ကို USB မှတစ်ဆင့် မျှဝေရန်"</string>
@@ -1756,9 +1734,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"လုံခြုံမှုဆိုင်ရာအချက်အလက်များ"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"သင့်တွင်ဒေတာချိတ်ဆက်မှု မရှိပါ။ ဤအချက်အလက်ကိုကြည့်ရန် အင်တာနက်ချိတ်ဆက်မှုရှိသည့် မည်သည့်ကွန်ပျူတာမှမဆို %s ထံသို့ သွားပါ။"</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"ဖွင့်နေဆဲ…"</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"ပင်နံပါတ်သုံးရန်"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"ပုံစံကို သုံးရန်"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"စကားဝှက်သုံးရန်"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"မျက်နှာပြင်လော့ခ် သတ်မှတ်ခြင်း"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"လုံခြုံရေးအတွက် စကားဝှက် သတ်မှတ်ပါ"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"လက်ဗွေသုံးရန် စကားဝှက်သတ်မှတ်ပါ"</string>
@@ -1767,8 +1742,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"လက်ဗွေသုံးရန် ပင်သတ်မှတ်ပါ"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"လုံခြုံရေးအတွက် ပုံစံ သတ်မှတ်ပါ"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"သင့်စကားဝှက်ကို ပြန်ထည့်ပါ"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"သင်၏ အလုပ်စကားဝှက်ကို ထည့်ပါ"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"သင့်ပုံဖော်မှုကို အတည်ပြုပါ"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"သင်၏ အလုပ်ပုံစံကို ထည့်ပါ"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"သင့်ပင်နံပါတ်ကို ပြန်ထည့်ပါ"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"သင်၏ အလုပ်ပင်နံပါတ်ကို ထည့်ပါ"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"စကားဝှက်များ မတူပါ။"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"ပင်နံပါတ် မတူပါ။"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"သင်၏ ပုံစံကို ထပ်ဆွဲပါ"</string>
@@ -1779,6 +1757,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"မျက်နှာမှတ် သော့ဖွင့်ရန် စကားဝှက်ထည့်ပါ"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"မျက်နှာမှတ် သော့ဖွင့်ရန် ပုံစံသတ်မှတ်ပါ"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"မျက်နှာမှတ် သော့ဖွင့်ရန် ပင်နံပါတ်ထည့်ပါ"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"စကားဝှက် မေ့နေပါလား။"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"ပုံစံ မေ့နေပါသလား။"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"ပင်နံပါတ် မေ့နေပါသလား။"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"ဆက်လက်လုပ်ဆောင်ရန် သင့်ကိရိယာပုံစံကို အသုံးပြုပါ"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"ဆက်လုပ်ရန် သင့်စက်ပစ္စည်း၏ ပင်နံပါတ်ကို ထည့်ပါ။"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"ဆက်လက်လုပ်ဆောင်ရန် သင့်ကိရိယာစကားဝှက်ကို ရိုက်ထည့်ပါ"</string>
@@ -1846,6 +1827,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"အက်ပ်ရင်းမြစ်များ ခွင့်ပြုရန်"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"မကြာသေးမီက ဖွင့်ထားသော အက်ပ်များ"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"အက်ပ် <xliff:g id="COUNT">%1$d</xliff:g> ခုလုံးကို ကြည့်ရန်"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"IT စီမံခန့်ခွဲသူကို ဆက်သွယ်ပါ"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"၎င်းတို့သည် ပင်နံပါတ်၊ လော့ခ်ပုံစံ သို့မဟုတ် စကားဝှက်အား ပြင်ဆင်ရန် ကူညီသည်။"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"သင်၏တက်ဘလက်နှင့် ကိုယ်ရေးကိုယ်တာ အချက်အလက်များသည် အမျိုးအမည် မသိသောအက်ပ်များ၏ တိုက်ခိုက်ခြင်းကို ပိုမိုခံရနိုင်ပါသည်။ ဤနေရာမှ ရယူထားသည့် အက်ပ်များကို ထည့်သွင်းအသုံးပြုခြင်းဖြင့် ဖြစ်ပေါ်လာနိုင်သော ဖုန်းပျက်စီးမှု သို့မဟုတ် ဒေတာဆုံးရှုံးမှုများအတွက် သင့်ထံ၌သာ တာဝန်ရှိကြောင်းကို သင်က သဘောတူရာရောက်ပါသည်။"</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"သင်၏ဖုန်းနှင့် ကိုယ်ရေးကိုယ်တာ အချက်အလက်များသည် အမျိုးအမည် မသိသောအက်ပ်များ၏ တိုက်ခိုက်ခြင်းကို ပိုမိုခံရနိုင်ပါသည်။ ဤနေရာမှ ရယူထားသည့် အက်ပ်များကို ထည့်သွင်းအသုံးပြုခြင်းဖြင့် ဖြစ်ပေါ်လာနိုင်သော ဖုန်းပျက်စီးမှု သို့မဟုတ် ဒေတာဆုံးရှုံးမှုများအတွက် သင့်ထံ၌သာ တာဝန်ရှိကြောင်းကို သင်က သဘောတူရာရောက်ပါသည်။"</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"သင့်စက်ပစ္စည်းနှင့် ကိုယ်ရေးကိုယ်တာ အချက်အလက်များသည် အမျိုးအမည် မသိသောအက်ပ်များ၏ တိုက်ခိုက်ခြင်းကို ပိုမိုခံရနိုင်ပါသည်။ ဤနေရာမှ ရယူထားသည့် အက်ပ်များကို ထည့်သွင်းအသုံးပြုခြင်းအားဖြင့် ဖြစ်ပေါ်လာနိုင်သော စက်ပစ္စည်းပျက်စီးမှု (သို့) ဒေတာဆုံးရှုံးမှုများအတွက် သင့်ထံ၌သာ တာဝန်ရှိကြောင်းကို သင်သဘောတူထားပါသည်။"</string>
@@ -1897,7 +1880,7 @@
     <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="1377296810290814749">"၎င်းသည် အောက်ပါတို့အားလုံးကို ပြန်လည်သတ်မှတ်ပါမည်-\n\n"<li>"အက်ပ်များ ပိတ်ခြင်း"</li>\n<li>"အက်ပ်အကြောင်းကြားချက်များ ပိတ်ခြင်း"</li>\n<li>"လုပ်ဆောင်ချက်အတွက် မူရင်းအက်ပ်သတ်မှတ်ခြင်း"</li>\n<li>"အက်ပ်များအတွက် နောက်ခံဒေတာအသုံးပြုမှုကန့်သတ်ခြင်းများ"</li>\n<li>"ခွင့်ပြုမှု ကန့်သတ်ချက်များအားလုံး"</li>\n\n"သင်၏ အက်ပ်ဒေတာများ ဆုံးရှုံးမှု မရှိပါ။"</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>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"အက်ပ်ပြန်လည်သတ်မှတ်ရန်"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"နေရာလွတ်အား စီမံနေသည်"</string>
     <string name="filter" msgid="9039576690686251462">"စီစစ်ရန်"</string>
@@ -2097,7 +2080,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"အသံနှင့် ဖန်သားပြင်ပေါ်ရှိ စာသား"</string>
     <string name="display_category_title" msgid="6638191682294461408">"ဖန်သားပြင် ပြသမှု"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"အပြန်အလှန်ဆက်သွယ်ချက် ထိန်းချုပ်မှုများ"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"ဒေါင်းလုဒ်လုပ်ထားသည့် ဝန်ဆောင်မှုများ"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"ဒေါင်းလုဒ်လုပ်ထားသော အက်ပ်များ"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"စမ်းသပ်ဆဲ"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"အထူး အလံပြသမှုများ"</string>
     <string name="talkback_title" msgid="8756080454514251327">"Talkback"</string>
@@ -2105,27 +2088,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"သင့်မျက်နှာပြင်ပေါ်ရှိ အရာများကို အသံထွက်ဖတ်စေရန်အတွက် ၎င်းတို့ကို တို့ပါ"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"စာတန်း သတ်မှတ်ချက်များ"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"ချဲ့ခြင်း"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"ပုံကြီးချဲ့ရန် နေရာ"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"ပုံကြီးချဲ့ခြင်းကို ဖွင့်ထားသည်"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"မျက်နှာပြင်ကိုချဲ့နေစဉ် သင်အသုံးပြုလိုသော ပုံကြီးချဲ့ရန်နေရာ(များ) ကို ရွေးပါ"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"ဖန်သားပြင်အပြည့်"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"ဖန်သားပြင် တစ်စိတ်တစ်ပိုင်း"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"ဖန်သားပြင်အပြည့်နှင့် မျက်နှာပြင် တစ်စိတ်တစ်ပိုင်း"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"ဖန်သားပြင် တစ်ခုလုံးကို ချဲ့ပါ"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"ဖန်သားပြင် တစ်စိတ်တစ်ပိုင်းကို ချဲ့ပါ"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"ပုံကြီးချဲ့ခြင်း ဆက်တင်များ"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"သုံးချက်တို့၍ အကြီးချဲ့ခြင်း"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"ဖြတ်လမ်းလင့်ခ်ဖြင့် ချဲ့ခြင်း"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"ဖြတ်လမ်းလင့်ခ်ဖြင့် သုံးချက်တို့ပြီး ချဲ့ပါ"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"<xliff:g id="SERVICE">%1$s</xliff:g> အကြောင်း"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"ရွေးစရာများ"</string>
     <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="2831926970059739911"><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_screen_magnification_navbar_summary" msgid="5603519616005297803">"မှန်ဘီလူးကို ဖွင့်ထားသည့်အခါ သင့်ဖန်သားပြင်ပေါ်တွင် ဇူးမ်ဆွဲနိုင်ပါသည်။\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_screen_magnification_summary" msgid="7617931632990040045">"အကြောင်းအရာကို ပို၍ ရှင်းရှင်းလင်းလင်း မြင်ရရန် မျက်နှာပြင်ပေါ်တွင် အမြန် ဇူးမ်ဆွဲပါ။&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_dialog_title_button" msgid="4681164949716215131">"ဖွင့်ရန် အသုံးလွယ်မှုခလုတ်ကို သုံးပါ"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"ဖွင့်ရန် လက်ဟန်ကို အသုံးပြုပါ"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"အများသုံးစွဲနိုင်မှု လက်ဟန်အသစ်ကို အသုံးပြုရန်"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"ဤဝန်ဆောင်မှုကို အဖွင့်အပိတ်လုပ်ရန် ဖန်သားပြင်အောက်ခြေရှိ အများသုံးစွဲနိုင်မှုခလုတ်<xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>ကို တို့ပါ။\n\nဝန်ဆောင်မှုများအကြား ပြောင်းလဲရန် အများသုံးစွဲနိုင်မှုခလုတ်ကို ဖိပြီး နှိပ်ထားပါ။"</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"ဤဝန်ဆောင်မှုကို အဖွင့်အပိတ်လုပ်ရန် လက်နှစ်ချောင်းဖြင့် ဖန်သားပြင်အောက်ခြေမှနေ၍ အပေါ်သို့ပွတ်ဆွဲပါ။\n\nဝန်ဆောင်မှုများအကြား ပြောင်းရန် လက်နှစ်ချောင်းဖြင့် ပွတ်ဆွဲပြီး ဖိထားပါ။"</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"ဤဝန်ဆောင်မှုကို အဖွင့်အပိတ်လုပ်ရန် လက်သုံးချောင်းဖြင့် ဖန်သားပြင်အောက်ခြေမှနေ၍ အပေါ်သို့ပွတ်ဆွဲပါ။\n\nဝန်ဆောင်မှုများအကြား ပြောင်းရန် လက်သုံးချောင်းဖြင့် ပွတ်ဆွဲပြီး ဖိထားပါ။"</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"အများသုံးစွဲနိုင်မှု ဝန်ဆောင်မှုတစ်ခုကို အဖွင့်အပိတ်လုပ်ရန် လက်နှစ်ချောင်းဖြင့် ဖန်သားပြင်အောက်ခြေမှနေ၍ အပေါ်သို့ပွတ်ဆွဲပါ။\n\nဝန်ဆောင်မှုများအကြား ပြောင်းရန် လက်နှစ်ချောင်းဖြင့် ပွတ်ဆွဲပြီး ဖိထားပါ။"</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"အများသုံးစွဲနိုင်မှု ဝန်ဆောင်မှုတစ်ခုကို အဖွင့်အပိတ်လုပ်ရန် လက်သုံးချောင်းဖြင့် ဖန်သားပြင်အောက်ခြေမှနေ၍ အပေါ်သို့ပွတ်ဆွဲပါ။\n\nဝန်ဆောင်မှုများအကြား ပြောင်းရန် လက်သုံးချောင်းဖြင့် ပွတ်ဆွဲပြီး ဖိထားပါ။"</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"ဤဝန်ဆောင်မှုကို အဖွင့်အပိတ်လုပ်ရန် ဖန်သားပြင်အောက်ခြေရှိ အများသုံးစွဲနိုင်မှုခလုတ် <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> ကိုတို့ပါ။\n\nဝန်ဆောင်မှုများအကြား ပြောင်းလဲရန် အများသုံးစွဲနိုင်မှုခလုတ်ကို ဖိပြီး နှိပ်ထားပါ။"</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"ဤဝန်ဆောင်မှုကို အဖွင့်အပိတ်လုပ်ရန် လက်နှစ်ချောင်းဖြင့် ဖန်သားပြင်အောက်ခြေမှ အပေါ်သို့ ပွတ်ဆွဲပါ။\n\nဝန်ဆောင်မှုများအကြား ပြောင်းရန် လက်နှစ်ချောင်းဖြင့် ပွတ်ဆွဲပြီး ဖိထားပါ။"</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"ဤဝန်ဆောင်မှုကို အဖွင့်အပိတ်လုပ်ရန် လက်သုံးချောင်းဖြင့် ဖန်သားပြင်အောက်ခြေမှ အပေါ်သို့ ပွတ်ဆွဲပါ။\n\nဝန်ဆောင်မှုများအကြား ပြောင်းရန် လက်သုံးချောင်းဖြင့် ပွတ်ဆွဲပြီး ဖိထားပါ။"</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"အများသုံးစွဲနိုင်မှု ဝန်ဆောင်မှုတစ်ခုကို အဖွင့်အပိတ်လုပ်ရန် လက်နှစ်ချောင်းဖြင့် ဖန်သားပြင်အောက်ခြေမှ အပေါ်သို့ ပွတ်ဆွဲပါ။\n\nဝန်ဆောင်မှုများအကြား ပြောင်းရန် လက်နှစ်ချောင်းဖြင့် ပွတ်ဆွဲပြီး ဖိထားပါ။"</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"အများသုံးစွဲနိုင်မှု ဝန်ဆောင်မှုတစ်ခုကို အဖွင့်အပိတ်လုပ်ရန် လက်သုံးချောင်းဖြင့် ဖန်သားပြင်အောက်ခြေမှ အပေါ်သို့ ပွတ်ဆွဲပါ။\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="2820923641553461297">"အများသုံးစွဲနိုင်မှု ခလုတ်"</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>
+    <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8922102767509399352">"သင့်မျက်နှာပြင်အောက်ခြေရှိ အများသုံးစွဲနိုင်မှု ခလုတ် <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> ကို တို့ပါ"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"လက် ၂ ချောင်းဖြင့် မျက်နှာပြင်အောက်ခြေမှ အပေါ်သို့ ပွတ်ဆွဲပါ"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"လက် ၂ ချောင်းဖြင့် မျက်နှာပြင်အောက်ခြေမှ အပေါ်သို့ ပွတ်ဆွဲပါ"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"အသံအတိုးအလျှော့ခလုတ်များကို ဖိထားပါ"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"အသံအတိုးအလျှော့ ခလုတ်နှစ်ခုလုံးကို ၁ စက္ကန့်ကြာ ဖိထားပါ"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"မျက်နှာပြင်ကို သုံးချက်တို့ပါ"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"မျက်နှာပြင်ကို ၃ ကြိမ် အမြန်တို့ပါ ဤဖြတ်လမ်းလင့်ခ့်သည် သင့်စက်ပစ္စည်းကို နှေးသွားစေနိုင်သည်"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"အဆင့်မြင့်"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"အများသုံးစွဲနိုင်မှု ခလုတ်ကို <xliff:g id="SERVICE">%1$s</xliff:g> အဖြစ် သတ်မှတ်ထားသည်။ ပုံကြီးချဲ့ခြင်းကို အသုံးပြုရန် အများသုံးစွဲနိုင်မှု ခလုတ်ကို ထိထားပြီးနောက် ပုံကြီးချဲ့ခြင်းကို ရွေးပါ။"</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"အများသုံးစွဲနိုင်မှု လက်ဟန်ကို <xliff:g id="SERVICE">%1$s</xliff:g> အဖြစ် သတ်မှတ်ထားသည်။ ပုံကြီးချဲ့ခြင်းကို အသုံးပြုရန် မျက်နှာပြင်၏ အောက်ခြေမှနေ၍ အပေါ်သို့ လက်နှစ်ချောင်းဖြင့် ပွတ်ဆွဲပြီး ဖိထားပါ။ ထို့နောက် ပုံကြီးချဲ့ခြင်းကို ရွေးပါ။"</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"အသံခလုတ် ဖြတ်လမ်း"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"ဖြတ်လမ်း ဝန်ဆောင်မှု"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"ဖြတ်လမ်းလင့်ခ် ဆက်တင်များ"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"လော့ခ်မျက်နှာပြင်မှ ခွင့်ပြုခြင်း"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"ဖြတ်လမ်းလင့်ခ်ကို ဖွင့်ထားသည့်အခါ အများသုံးစွဲနိုင်မှုဆိုင်ရာ ဝန်ဆောင်မှုကို စတင်ရန် အသံအတိုးအလျှော့ ခလုတ်နှစ်ခုလုံးကို ၃ စက္ကန့်ကြာ ဖိထားနိုင်ပါသည်။"</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"အရောင်ခြားနားချက်မြင့် စာသား"</string>
@@ -2149,24 +2157,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"တစ်ခုခုလုပ်ဆောင်ရန် မေးသည့် မက်ဆေ့ဂျ်များ ပြရမည့်ကြာချိန် ရွေးပါ၊ သို့သော်လည်း ယာယီသာ မြင်ရပါမည်။\n\nအက်ပ်အားလုံးတွင် ဤဆက်တင် အသုံးမပြုနိုင်ပါ။"</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"ထိထားရန် လိုအပ်ချိန်"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"အရောင်​ပြောင်းပြန်"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"စွမ်းဆောင်ရည် ကျစေနိုင်ပါသည်"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"ကြာချိန် သတ်မှတ်မှု"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"အရောင် ပြောင်းပြန်လှန်ခြင်းကို သုံးပါ"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"အရောင် ပြောင်းပြန်လှန်ခြင်းသည် လင်းသည့်မျက်နှာပြင်ကို မှောင်စေသည်။ ၎င်းသည် အလင်းရောင်တောက်တောက် မကြည့်နိုင်သူများအား မျက်နှာပြင်ကို ပို၍လွယ်ကူစွာ မြင်ရစေရန် ကူညီပေးသည်။&lt;br/&gt;&lt;br/&gt; မှတ်ချက် − မှောင်သောအရောင်များသည် လင်းသွားမည်။ မီဒီယာနှင့် ပုံများတွင် အရောင်များ ပြောင်းသွားပါမည်။ မှောင်သည့် အပြင်အဆင်ကိုလည်း အသုံးပြုနိုင်သည် (ဆက်တင်များနှင့် ဖန်သားပြင်ပြသမှု)။"</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"အလိုအလျောက် ကလစ် (ကြာချိန်)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"သင်သည် မောက်စ်ကို အသုံးပြုနေသည်ဆိုပါက ၎င်းလှုပ်ရှားမှု ရပ်သွားသည့် အချိန်တွင် ကာစာ အလိုအလျောက် အလုပ်လုပ်ရန် သတ်မှတ်ထားနိုင်သည်။"</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"မနှိပ်မီ စောင့်ချိန်"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"အလိုအလျောက်ကလစ် မသုံးပါနှင့် (မူလ)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"အတို"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"၀.၂ စက္ကန့်"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"အလယ်အလတ်"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"၀.၆ စက္ကန့်"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"အရှည်"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"၁ စက္ကန့်"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"မိမိစိတ်ကြိုက်"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"ပိုတိုသည်"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"ပိုကြာသည်"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"အလိုအလျောက် ကလစ်လုပ်ရန်အချိန်"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"တုန်ခါမှုနှင့် တုန်ခါ၍တုံ့ပြန်မှုအား"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"အကြောင်းကြားချက် တုန်ခါမှု"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"ဖုန်းမြည်သံ တုန်ခါမှု"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"ထိတွေ့ တုံ့ပြန်ချက်"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"ဝန်ဆောင်မှုကို သုံးရန်"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g> သုံးရန်"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g> ကို ဖွင့်ရန်"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"အရောင်ပြင်ဆင်ခြင်းကို သုံးရန်"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"စာတန်းကို ထိုးရန်"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"စာတန်းများကို ပြရန်"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"စာတန်း အပြင်အဆင်"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"စာသားအရွယ်အစား၊ စာတန်းပုံစံ"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"နောက်ထပ် ရွေးစရာများ"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"ဤဆက်တင်ကို အက်ပ်အချို့က ပံ့ပိုးပေးခြင်းမရှိပါ။"</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>
     <string name="accessibility_hearingaid_instruction_continue_button" msgid="3367260988024430722">"ရှေ့ဆက်ရန်"</string>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"နားကြားကိရိယာ"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"မည်သည့် နားကြားကိရိယာကိုမျှ ချိတ်ဆက်မထားပါ"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"နားကြားကိရိယာအား ထည့်သွင်းသည်"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"သင်၏ နားကြားကိရိယာကို တွဲချိတ်ရန် နောက်စာမျက်နှာတွင် သင်၏ စက်ပစ္စည်းကို ရှာပြီး တို့ပါ။"</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"သင်၏ နားကြားကိရိယာများကို တွဲချိတ်ခြင်းမုဒ်တွင် ဖွင့်ထားရပါမည်။"</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"သင်၏ နားကြားကိရိယာကို တွဲချိတ်ရန် နောက်စာမျက်နှာတွင် သင်၏ စက်ပစ္စည်းကို ရှာပြီး တို့ပါ။ သင်၏ နားကြားကိရိယာများကို တွဲချိတ်ခြင်းမုဒ်တွင် ဖွင့်ထားရပါမည်။"</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ပွင့်နေပါသည်"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="other">သိမ်းဆည်းထားသည့် နားကြားကိရိယာ <xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> ခု</item>
@@ -2178,25 +2204,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"ဤဝန်ဆောင်မှု ချွတ်ယွင်းနေသည်။"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"အမြန်ဆက်တင်များတွင်ပြပါ"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"ပြင်ဆင်ရန်နည်းလမ်း"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="other">အလွန်တိုတောင်းသည့် နှောင့်နှေးမှု (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">အလွန်တိုတောင်းသည့် နှောင့်နှေးမှု (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"အနီ-အစိမ်း"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"အစိမ်း-အနီ"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"အပြာ-အဝါ"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"အနီ−အစိမ်း အရောင်ကန်းခြင်း"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"အနီ−အစိမ်း အရောင်ကန်းခြင်း"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"အပြာ-အဝါ အရောင်ကန်းခြင်း"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="other">အလွန်တိုတောင်းသည့် နှောင့်နှေးမှု (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> စက္ကန့်)</item>
+      <item quantity="one">အလွန်တိုတောင်းသည့် နှောင့်နှေးမှု (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> စက္ကန့်)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="other">အလွန်တိုတောင်းသည့် နှောင့်နှေးမှု (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">အလွန်တိုတောင်းသည့် နှောင့်နှေးမှု (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="other">အလွန်တိုတောင်းသည့် နှောင့်နှေးမှု (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> စက္ကန့်)</item>
+      <item quantity="one">အလွန်တိုတောင်းသည့် နှောင့်နှေးမှု (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> စက္ကန့်)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="other">တိုတောင်းသည့်​ နှောင့်နှေးမှု (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">တိုတောင်းသည့် နှောင့်နှေးမှု (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="other">တိုတောင်းသည့် နှောင့်နှေးမှု (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> စက္ကန့်)</item>
+      <item quantity="one">တိုတောင်းသည့် နှောင့်နှေးမှု (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> စက္ကန့်)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="other">ရှည်လျားသည့် နှောင့်နှေးမှု (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">ရှည်လျားသည့် နှောင့်နှေးမှု (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="other">ကြာသည့် နှောင့်နှေးမှု (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> စက္ကန့်)</item>
+      <item quantity="one">ကြာသည့် နှောင့်နှေးမှု (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> စက္ကန့်)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="other">အလွန်ရှည်လျားသည့် နှောင့်နှေးမှု (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">အလွန်ရှည်လျားသည့် နှောင့်နှေးမှု (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="other">အလွန်ကြာသည့် နှောင့်နှေးမှု (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> စက္ကန့်)</item>
+      <item quantity="one">အလွန်ကြာသည့် နှောင့်နှေးမှု (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> စက္ကန့်)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> စက္ကန့်</item>
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> စက္ကန့်</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"ဖုန်းမြည်သံ <xliff:g id="SUMMARY_RING">%1$s</xliff:g>၊ အကြောင်းကြားချက် <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>၊ တို့ထိမှု <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"မြည်သံနှင့် အကြောင်းကြားချက်ကို ပိတ်ထားသည်"</string>
@@ -2513,7 +2549,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"<xliff:g id="UNPLUGGED">%1$s</xliff:g>မှ ကြိုးဖြုတ်ထားသည်"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"အသုံးပြုမှု စုစုပေါင်း"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"ပြန်လည်စတင်ရန်"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"Android OS"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"မီဒီယာဆာဗာ"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"အက်ပ်ပိုမိုကောင်းအောင်ပြုခြင်း"</string>
     <string name="battery_saver" msgid="7737147344510595864">"ဘက်ထရီ အားထိန်း"</string>
@@ -2594,8 +2629,7 @@
     <string name="tts_play" msgid="2945513377250757221">"ဖွင့်ရန်"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"ယုံကြည်စိတ်ချရသောသိုလှောင်နေရာ"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"သိုလှောင်နေရာမှ ထည့်သွင်းမှု"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"SDကဒ်မှ ထည့်သွင်းခြင်း"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"လက်မှတ် ထည့်သွင်းရန်"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"သိုလှောင်နေရာမှ အသိအမှတ်ပြုလက်မှတ်များကို ထည့်သွင်းရန်"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"SDကဒ်မှ အသိအမှတ်ပြုလက်မှတ်များကို ထည့်သွင်းမှု"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"အထောက်အထားများကို ရှင်းလင်းခြင်း"</string>
@@ -2615,6 +2649,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"ယုံကြည်စိတ်ချရသောသိုလှောင်ရာနေရာအား ဖျက်ပါမည်"</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"သိုလှောင်ရာနေရာအား ဖျက်၍မရပါ"</string>
     <string name="usage_access_title" msgid="1580006124578134850">"အသုံးပြုခွင့်ရထားသည့် အက်ပ်များ"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"CA လက်မှတ်"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"VPN အက်ပ် သုံးစွဲသူ လက်မှတ်"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"Wi‑Fi လက်မှတ်"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"ပုဂ္ဂိုလ်ရေးအချက်အလက်များ အန္တရာယ်ရှိနေပါသည်"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"CA လက်မှတ်များကို ဝဘ်ဆိုက်များ၊ အက်ပ်များနှင့်အသွင်ဝှက်ရန် VPN များက အသုံးပြုသည်။ သင်ယုံကြည်ရသော အဖွဲ့အစည်းများထံမှ CA လက်မှတ်များကိုသာ ထည့်သွင်းပါ။ \n\n CA လက်မှတ်ကို ထည့်သွင်းပါက လက်မှတ်ပိုင်ရှင်သည် သင်၏ စကားဝှက်များ၊ မက်ဆေ့ဂျ်များ သို့မဟုတ် ခရက်ဒစ်ကတ် အသေးစိတ်များ အစရှိသည့် အချက်အလက်များကို အသွင်ဝှက်ထားလျှင်ပင် သင်ဝင်ကြည့်သော ဝဘ်ဆိုက်များ သို့မဟုတ် အသုံးပြုသော အက်ပ်များမှတစ်ဆင့် ကြည့်ရှုခွင့် ရသွားနိုင်ပါသည်။"</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"မသွင်းပါနှင့်"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"သွင်းကြည့်ပါ"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"အသိအမှတ်ပြုလက်မှတ်ကို ထည့်သွင်းမထားပါ"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"အရေးပေါ် ဖုန်းခေါ်ခြင်း လိုင်းအား"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"အရေးပေါ်ခေါ်ဆိုမှုအတွက် လုပ်ဆောင်ပုံကို သတ်မှတ်ရန်"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"အရန်သိမ်းရန်"</string>
@@ -2642,10 +2684,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"ပိတ်ပြီး ဖယ်ရှားရန်"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"စက်စီမံအက်ပ်များ"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"စက်ပစ္စည်းကို စီမံခန့်ခွဲရန်အတွက် အက်ပ်များ မရနိုင်ပါ"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"ကိုယ်ရေး"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"အလုပ်"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"SMS နှင့် ခေါ်ဆိုမှတ်တမ်း ဝင်သုံးခွင့် ကန့်သတ်ခြင်း"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"မူရင်း ဖုန်းနှင့် မက်ဆေ့ဂျ်အက်ပ်များသာ SMS နှင့် ခေါ်ဆိုမှတ်တမ်း ခွင့်ပြုချက်များ ရရှိပါသည်"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"သတ်မှတ်အေးဂျင့်များ မရှိ"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"စက်စီမံခန့်ခွဲသူအက်ပ် အသက်သွင်းလိုသလား။"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"ဤစက်စီမံအက်ပ်ကို စတင်ရန်"</string>
@@ -2659,6 +2697,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"အခြားရွေးချယ်စရာများကို သင့်စီမံခန့်ခွဲသူက ပိတ်ထားသည်"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"နောက်ထပ် အသေးစိတ်များ"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"အသိပေချက် လော့ဂ်"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"အကြောင်းကြားချက် မှတ်တမ်း"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"ယနေ့"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"ဆိုင်းငံ့ထားသည်"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"မကြာသေးမီက ဖယ်ထုတ်ထားသည်"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="other">အကြောင်းကြားချက် <xliff:g id="NUMBER_1">%d</xliff:g> ခု</item>
+      <item quantity="one">အကြောင်းကြားချက် <xliff:g id="NUMBER_0">%d</xliff:g> ခု</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"ဖုန်းခေါ်စဉ်မြည်သံ &amp; တုန်ခါခြင်း"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"ကွန်ရက် အသေးစိတ်များ"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"ထပ်တူကိုက်ညီအောင်ပြုလုပ်ခြင်းအား ပြုလုပ်နိုင်သည်"</string>
@@ -3008,7 +3054,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"ကန့်သတ်ချက်များ"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"ကန့်သတ်ချက်များဖယ်ရှားရန်"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"ပင်နံပါတ်ပြောင်းရန်"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"သတိပေးချက်များပြပါ"</string>
     <string name="help_label" msgid="2896538416436125883">"အကူအညီနှင့် အကြံပြုချက်"</string>
     <string name="support_summary" msgid="1034146931237148885">"အကူအညီ ဆောင်းပါးများ၊ ဖုန်းနှင့် ချတ်၊ စတင်ရန်"</string>
     <string name="user_account_title" msgid="6389636876210834864">"မာတိကာ အကောင့်"</string>
@@ -3033,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G ခေါ်ဆိုမှု"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"အသံခေါ်ဆိုမှုနှင့် အခြားဆက်သွယ်ရေးများ ပိုကောင်းစေရန် LTE ဝန်ဆောင်မှုများ အသုံးပြုပါ (အကြံပြုထားသည်)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"အသံခေါ်ဆိုမှုနှင့် အခြားဆက်သွယ်ရေးများ ပိုကောင်းစေရန် 4G ဝန်ဆောင်မှုများ အသုံးပြုပါ (အကြံပြုထားသည်)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"အဆက်အသွယ် ရှာဖွေတွေ့ရှိမှု"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"သင်၏ဝန်ဆောင်မှုပေးသူက သင့်အဆက်အသွယ်များ ပံ့ပိုးသည့် ခေါ်ဆိုရေးဝန်ဆောင်မှုများကို ရှာဖွေခွင့်ရသည်။"</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"အဆက်အသွယ် ရှာဖွေတွေ့ရှိမှုကို ဖွင့်မလား။"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"ဤဝန်ဆောင်မှုကိုဖွင့်ခြင်းဖြင့် သင်၏ဝန်ဆောင်မှုပေးသူက သင့်အဆက်အသွယ်များထဲရှိ ဖုန်းနံပါတ်များကို ဝင်ကြည့်ခွင့်ရမည်ဖြစ်၍ ၎င်းတို့ ပံ့ပိုးသည့် ခေါ်ဆိုရေးဝန်ဆောင်မှုများကို ရှာဖွေနိုင်သည်။"</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"ပိုနှစ်သက်သော ကွန်ရက်အမျိုးအစား"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (အကြံပြုထား)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS မက်ဆေ့ဂျ်များ"</string>
@@ -3077,7 +3126,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"ဖြင့် ခေါ်ဆိုရန်"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"ဆင်းမ် ကဒ်ကို ရွေးရန်"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"ဆင်းမ် <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"ဆင်းမ်ကဒ် မရှိ"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"ဆင်းမ် အမည်"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"ဆင်းမ်အမည် ရိုက်ထည့်ပါ"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"ဆင်းမ် အထိုင် %1$d"</string>
@@ -3087,6 +3135,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"ဆင်းမ် ကဒ်ကို ရွေးရန်"</string>
     <string name="color_orange" msgid="216547825489739010">"လိမ္မော်"</string>
     <string name="color_purple" msgid="6603701972079904843">"ခရမ်း"</string>
+    <string name="color_pink" msgid="8596872110888626708">"ပန်းရောင်"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"ဆင်းမ် ကဒ်များ မထည့်သွင်းရသေး"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"ဆင်းမ် အခြေအနေ"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"ဆင်းမ် အခြေအနေ (ဆင်းမ် အထိုင် %1$d)"</string>
@@ -3100,7 +3149,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"ဆင်းမ်ကဒ် ပြောင်းပြီးဖြစ်၏။"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"တပ်ဆင်ရန်တို့ပါ"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"အတွက် ဦးစားပေး ဆင်းမ်"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"အကြိမ်တိုင်းမှာ မေးရန်"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"ရွေးချယ်ရန် လိုအပ်"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"ဆင်းမ် ရွေးချယ်ရန်"</string>
@@ -3118,6 +3166,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"ဘလူးတုသ်၊ ကားမောင်းနေသည်"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"ဘလူးတုသ်၊ NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"ဘလူးတုသ်"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"NFC ပိတ်ထားသဖြင့် မရနိုင်ပါ"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"အက်ပ်နှင့်အကြောင်းကြားချက်"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"လတ်တလော အက်ပ်များ၊ မူရင်း အက်ပ်များ"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"အလုပ်ပရိုဖိုင်အတွင်းရှိ အက်ပ်များအတွက် အကြောင်းကြားချက် ဝင်ကြည့်၍ မရနိုင်ပါ။"</string>
@@ -3128,13 +3177,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"ဆက်တင်များ"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"wifi၊ wi-fi၊ ကွန်ရက်ချိတ်ဆက်မှု၊ အင်တာနက်၊ ကြိုးမဲ့၊ ဒေတာ၊ wi fi"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"Wi‑Fi အကြောင်းကြားချက်၊ wifi အကြောင်းကြားချက်"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"ဒေတာ သုံးစွဲမှု"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"တုန်ခါမှုရပ်ရန်၊ တို့ရန်၊ လက်ကွက်"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"၂၄-နာရီ စနစ်ကို သုံးရန်"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"ဒေါင်းလုဒ်လုပ်ခြင်း"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"ဤအက်ပ်ဖြင့်ဖွင့်မည်-"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"အပလီကေးရှင်းများ"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"စံတော်ချိန်"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"မျက်နှာ ချတ်အကွက်"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"ချတ်မျက်နှာ၊ စနစ်၊ သတိပေးချက်၊ ဝင်းဒိုး၊ စကားပြော၊ ဖန်သားပြင်ပြသမှု၊ အခြားအက်ပ်များအပေါ်၊ ဆွဲရန်"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"ဖလက်ရှ်မီး၊ အလင်း၊ ဓာတ်မီး"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"wifi၊ wi-fi၊ ဖွင့်ပိတ်၊ ထိန်းချုပ်မှု"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"ဆယ်လူလာ၊ မိုဘိုင်းဆက်သွယ်ရေး ဝန်ဆောင်မှု၊ ကြိုးမဲ့၊ ဒေတာ၊ 4g၊ 3g၊ 2g၊ lte"</string>
@@ -3158,7 +3208,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"မနှောင့်ယှက်ပါနှင့်၊ ကြားဝင်စွတ်ဖက်သည်၊ ကြားဝင်စွတ်ဖက်ခြင်း၊ အနားယူခြင်း"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"အနီးအနား၊ တည်နေရာ၊ မှတ်တမ်း၊ အစီရင်ခံခြင်း၊ GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"အကောင့်"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"အကောင့်၊ အကောင့်ထည့်ရန်၊ အလုပ်ပရိုဖိုင်၊ အကောင့်ထည့်ရန်"</string>
     <string name="keywords_users" msgid="3497517660077620843">"ကန့်သတ်ခြင်း၊ ကန့်သတ်မှု၊ ကန့်သတ်ထားသည်"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"စာသားအမှားပြင်ဆင်ခြင်း၊ မှန်သည်၊ အသံ၊ တုန်ခါမှု၊ အလိုအလျောက်၊ ဘာသာစကား၊ အမူအယာ၊ အကြံပြုရန်၊ အချက်ပြုချက်၊ အပြင်အဆင်၊ စိတ်အနှောင့်အယှက်ဖြစ်စေသော၊ စကားလုံး၊ စာရိုက်ခြင်း၊ စိတ်ခံစားမှုရုပ်ပုံလေးများ၊ အပြည်ပြည်ဆိုင်ရာ"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"ပြန်လည်သတ်မှတ်ရန်၊ စိတ်ကြိုက်ပြင်ဆင်မှုများ၊ မူရင်း"</string>
@@ -3196,6 +3246,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"မှတ်ဉာဏ်၊ ကက်ရှ်၊ ဒေတာ၊ ဖျက်ရန်၊ ရှင်းရန်၊ အလွတ်၊ နေရာ"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"ချိတ်ဆက်ထားသည်၊ စက်ပစ္စည်း၊ နားကြပ်များ၊ မိုက်ခွက်ပါနားကြပ်၊ စပီကာ၊ ကြိုးမဲ့၊ တွဲချိတ်ရန်၊ နားကြပ်၊ တေးဂီတ၊ မီဒီယာ"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"နောက်ခံပုံ၊ မျက်နှာပြင်၊ လော့ခ်မျက်နှာပြင်၊ အပြင်အဆင်"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"သင်္ကေတပုံစံ၊ အားဖြည့် အရောင်၊ ဖောင့်"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"မူရင်း၊ assistant"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"ငွေပေးချေမှု၊ မူရင်း"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"အဝင် အကြောင်းကြားချက်"</string>
@@ -3205,18 +3256,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"တုန်ခါ၍ တုံ့ပြန်မှု၊ တုန်ခါမှု၊ အာရုံခံနိုင်မှု"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"ဘက်ထရီ အားထိန်း၊ ကပ်ခွာ၊ အမြဲရှိသည်၊ ပါဝါချွေတာစနစ်၊ ဘက်ထရီ"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"ပုံမှန်အစီအစဉ်၊ အချိန်ဇယား၊ ဘက်ထရီအားထိန်း၊ ပါဝါချွေတာစနစ်၊ ဘက်ထရီ၊ အလိုအလျောက်၊ ရာခိုင်နှုန်း"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"အလုပ်ပရိုဖိုင်"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"volte၊ အဆင့်မြင့် ခေါ်ဆိုခြင်း၊ 4g ခေါ်ဆိုခြင်း"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"ဘာသာစကားထည့်ရန်၊ ဘာသာစကားတစ်ခုကို ထည့်ပါ"</string>
     <string name="default_sound" msgid="6604374495015245195">"ပုံသေ အသံ"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"ဖုန်းမြည်သံ အတိုးအကျယ် <xliff:g id="PERCENTAGE">%1$s</xliff:g> ဖြစ်သည်"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"မြည်သံနှင့် အကြောင်းကြားချက် အသံ <xliff:g id="PERCENTAGE">%1$s</xliff:g> ရှိသည်"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"အသံအတိုးအကျယ်၊ တုန်ခါမှု၊ မနှောင့်ယှက်ရ"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"ဖုန်းမြည်သံကို တုန်ခါမှုအဖြစ် သတ်မှတ်ထားပါသည်"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"ဖုန်းမြည်သံကို အသံပိတ်ထားပါသည်"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"ဖုန်းမြည်သံ အတိုးအကျယ် ၈၀% ဖြစ်သည်"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"မြည်သံနှင့် အကြောင်းကြားချက် အသံ ၈၀% ရှိသည်"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"မီဒီယာ အသံအတိုးအကျယ်"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"ကာ့စ်အသံ အတိုးအကျယ်"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"ဖုန်းခေါ်မှု အသံအတိုးအကျယ်"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"နှိုးစက်အသံ အတိုးအကျယ်"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"ဖုန်းမြည်သံ အတိုးအကျယ်"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"မြည်သံနှင့် အကြောင်းကြားချက် အသံ"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"အကြောင်းကြားချက်သံ ပမာဏ"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"ဖုန်းမြည်သံ"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"မူရင်းအကြောင်းကြားသံ"</string>
@@ -3224,6 +3276,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"မူရင်းအကြောင်းကြားသံ"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"မူရင်းနှိုးစက်သံ"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"ခေါ်ဆိုမှုများအတွက် တုန်ခါပါ"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"ဘယ်တော့မှ မတုန်ခါပါနှင့်"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"အမြဲတမ်း တုန်ခါရန်"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"အရင်တုန်ခါပြီးမှ တဖြည်းဖြည်း အသံမြည်ပါ"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"အခြားအသံများ"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"ဖုန်းဒိုင်ခွက် အသံ"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"စခရင်ပိတ်သံ"</string>
@@ -3247,6 +3302,7 @@
       <item quantity="one">၁ ခု ဖွင့်ထားသည်</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"မနှောင့်ယှက်ရ"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"အရေးကြီးပုဂ္ဂိုလ်များနှင့် အက်ပ်များထံမှသာ အကြောင်းကြားချက် ရယူပါ"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"အနှောင့်အယှက်များကို တားဆီးသည်"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"\'မနှောင့်ယှက်ရ\' ဖွင့်ခြင်း"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"ခြွင်းချက်များ"</string>
@@ -3273,7 +3329,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"မြင်ကွင်းပိတ်ခြင်းမှတားဆီးပါ"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"ပြသမှုများကို ခွင့်ပြုရန်"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"\'မနှောင့်ယှက်ရ\' ဖွင့်ထားလျှင်"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"အသံပေးသည့် အနှောင့်အယှက်များကို ခွင့်ပြုပါ"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"အကြောင်းကြားချက်များ ကန့်သတ်ခြင်း"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"အကြောင်းကြားချက်များအတွက် အသံ မဖွင့်ရန်"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"အကြောင်းကြားချက်များကို သင်၏ မျက်နှာပြင်ပေါ်တွင် မြင်ရပါမည်"</string>
@@ -3304,7 +3360,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"အသံနှင့် တုန်ခါမှု"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"အကြောင်းကြားချက်များအတွက် အသံ၊ တုန်ခါမှုနှင့် မြင်ရသည့် အချက်ပြမှုအချို့"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"အကြောင်းကြားချက်များအတွက် အသံ၊ တုန်ခါမှုနှင့် မြင်ရသည့် အချက်ပြမှုများ"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"အခြေခံ ဖုန်းလုပ်ဆောင်ချက်အတွက် အကြောင်းကြားချက်များ လိုအပ်ပြီး အခြေအနေပြခြင်းကို မည်သည့်အခါမျှ ဖျောက်ထားမည်မဟုတ်ပါ"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"အခြေခံ ဖုန်းလုပ်ဆောင်ချက်အတွက် လိုအပ်သော အကြောင်းကြားချက်နှင့် အခြေအနေကို မည်သည့်အခါမျှ ဖျောက်ထားမည်မဟုတ်ပါ"</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"မရှိ"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"အခြားရွေးချယ်စရာများ"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"ထည့်ရန်"</string>
@@ -3334,10 +3390,12 @@
       <item quantity="other">အချိန်ဇယား <xliff:g id="ON_COUNT">%d</xliff:g> ခုကို အလိုအလျောက် ဖွင့်နိုင်သည်</item>
       <item quantity="one">အချိန်ဇယား ၁ ခုကို အလိုအလျောက် ဖွင့်နိုင်သည်</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"စက်ပစ္စည်းကို အသံတိတ်ထားသော်လည်း ခြွင်းချက်များကိုမူ ခွင့်ပြုရန်"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"ခြွင်းချက်များ"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"အချိန်ဇယား"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"ခြွင်းချက်အားလုံး ကြည့်ပါ"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"\'မနှောင့်ယှက်ရ\' ဖွင့်ထားသည့်အခါ ခြွင်းချက်များ"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"လူများ"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"အက်ပ်များ"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"နှိုးစက်နှင့် အခြားအနှောင့်အယှက်များ"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"အချိန်ဇယားများ"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"အသံပိတ်ထားသော အကြောင်းကြားချက်များ"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"\'မနှောင့်ယှက်ရ\' ဖွင့်ထားသည့်အခါ သင်အထက်တွင် ခွင့်ပြုထားသည်များအတွက်မှလွဲ၍ အသံနှင့် တုန်ခါမှုကို ပိတ်ထားပါမည်။"</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"အောက်ပါမှလွဲ၍ အားလုံး ပိတ်ထားပါ"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"ပိတ်ထားသည်"</string>
@@ -3381,16 +3439,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"အလိုက်သင့် အကြောင်းကြားချက်များ"</string>
     <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_capabilities_actions_replies_title" msgid="4392470465646394289">"အကြံပြုထားသော လုပ်ဆောင်ချက်နှင့် ပြန်ကြားချက်များ"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"အကြံပြုထားသော လုပ်ဆောင်ချက်များနှင့် ပြန်ကြားချက်များကို အလိုအလျောက်ပြသပါ"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"ယခင်အကြောင်းကြားချက်များနှင့် ဆိုင်းငံ့ထားသော အကြောင်းကြားချက်များကို မျက်ခြည်မပြတ်စေရန် အကြောင်းကြားချက် မှတ်တမ်းကို ဖွင့်ပါ"</string>
+    <string name="notification_history" msgid="8663811361243456201">"အကြောင်းကြားချက် မှတ်တမ်း"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"မှတ်တမ်းကို ဖွင့်ရန်"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"မှတ်တမ်းကို ပိတ်ရန်"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"အကြောင်းကြားချက် မှတ်တမ်းကို ပိတ်ထားသည်"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"အကြောင်းကြားချက် ဆက်တင်များကို ပြသသည်"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"အကြောင်းကြားချက် ဆိုင်းငံ့ခြင်းကို ခွင့်ပြုပါ"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"မသိမသာ အကြောင်းကြားချက်များမှ သင်္ကေတများကို ဖျောက်ပါ"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"အခြေအနေပြနေရာတွင် မသိမသာ အကြောင်းကြားချက်များမှ သင်္ကေတများကို မပြသပါ"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"အကြောင်းကြားချက်အမှတ်အသားများကို ခွင့်ပြုရန်"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"လက်တလော စကားဝိုင်းများအကန့်ကို ပြပါ"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"ပူဖောင်းကွက်များ"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"အကြောင်းကြားချက်အချို့ကို မျက်နှာပြင်တွင် ပူဖောင်းကွက်များအဖြစ် မြင်ရပါမည်"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"အချို့ အကြောင်းကြားချက်နှင့် အခြားအကြောင်းအရာများကို ဖန်သားပြင်ပေါ်တွင် ပူဖောင်းကွက်များအဖြစ် မြင်ရနိုင်သည်။ ပူဖောင်းကွက်ကို ဖွင့်ရန် ၎င်းကိုတို့ပါ။ ၎င်းကို ပယ်ရန် ဖန်သားပြင်ပေါ်မှ ဖိဆွဲချပါ။"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"ပူဖောင်းကွက်များ"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"မျက်နှာပြင်တွင် မက်ဆေ့ဂျ်အသစ်များ ပေါ်လာလိမ့်မည်"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"အချို့အကြောင်းကြားချက်များအား ပူဖောင်းကွက်များအဖြစ် ပြရန် <xliff:g id="APP_NAME">%1$s</xliff:g> ကို ခွင့်ပြုသည်"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"ပူဖောင်းကွက်များ ဖွင့်ပါ"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"ဤအက်ပ်အတွက် ပူဖောင်းကွက်များ ဖွင့်ရန် ၎င်းတို့ကို သင့်စက်ပစ္စည်းတွင် ဦးစွာဖွင့်ရပါမည်။ ၎င်းသည် သင်ယခင်က ပူဖောင်းကွက်များ ဖွင့်ထားသည့် အခြားအက်ပ်များတွင်သာ သက်ရောက်မှုရှိပါသည်။"</string>
@@ -3408,6 +3476,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"ဆွဲချစာရင်းနှင့် လော့ခ်ချထားသည့်မျက်နှာပြင်တွင် ပြသပါ"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"ဆွဲချစာရင်းနှင့် အခြေအနေပြနေရာတွင် ပြသပါ"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"ဆွဲချစာရင်း၊ အခြေအနေပြနေရာနှင့် လော့ခ်ချထားသည့် မျက်နှာပြင်တွင် ပြသပါ"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"အခြေအနေပြဘားရှိ အသံတိတ် အကြောင်းကြားချက်ကို ဖျောက်ရန်"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"မီး မှိတ်တုတ်မှိတ်တုတ်လုပ်ရန်"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"လော့ခ်ချထားချိန် မျက်နှာပြင်"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"လော့ခ်ချမျက်နှာပြင် ကျော်ရန်"</string>
@@ -3438,6 +3507,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"အပြုအမူ"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"အသံကို ခွင့်ပြုရန်"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"အကြောင်းကြားချက်များကို ဘယ်တော့မှ မပြပါနှင့်"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"စကားဝိုင်းများ"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"စကားဝိုင်း"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"စကားဝိုင်းမဟုတ်ပါ"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"စကားဝိုင်းကဏ္ဍမှ ဖယ်ရှားရန်"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"ဤအရာသည် စကားဝိုင်းဖြစ်သည်"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"စကားဝိုင်းကဏ္ဍသို့ ထည့်ရန်"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"စကားဝိုင်းများကို စီမံရန်"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"အရေးကြီး စကားဝိုင်းများ"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"စကားဝိုင်းအားလုံး"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"အရေးကြီး စကားဝိုင်းများကို ပူဖောင်းကွက်အဖြစ် ပြသခြင်း"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"အရေးကြီးစကားဝိုင်းများက ဆွဲချစာရင်း၏ ထိပ်တွင် ပေါ်လာသည်။ \'မနှောင့်ယှက်ရ\' တွင် ပူဖောင်းကွက်အဖြစ် ကြားဖြတ်ပြသရန်လည်း သတ်မှတ်နိုင်သည်။"</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"တိတ်တဆိတ် ချုံ့ပြရန်"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"တိတ်တဆိတ်ပြပါ"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"အသံဖွင့်ပါ"</string>
@@ -3456,7 +3536,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"အသံ သို့မဟုတ် တုန်ခါမှု မပါဘဲ အာရုံစိုက်နိုင်စေရန် ကူညီပေးသည်"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"အသံ သို့မဟုတ် တုန်ခါမှုဖြင့် အာရုံစိုက်လာအောင် ပြုလုပ်သည်"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"စက်ကို လော့ခ်ဖွင့်ထားပါက အကြောင်းကြားချက်များကို မျက်နှာပြင်၏ထိပ်တွင် နဖူးစည်းအဖြစ် ပြသပါ"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"အကြောင်းကြားချက်များ ပြရန်"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"<xliff:g id="APP_NAME">%1$s</xliff:g> အကြောင်းကြားချက် အားလုံး"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"အလိုက်အထိုက် အကြောင်းကြားချက်များ"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="other">တစ်နေ့လျှင် အကြောင်းကြားချက်~<xliff:g id="NUMBER_1">%d</xliff:g> ခု</item>
@@ -3477,6 +3557,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"အလိုက်အထိုက် အကြောင်းကြားချက်"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"မရှိ"</string>
     <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="3119843404577399036">"<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>
@@ -3538,8 +3619,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"ပြီးပါပြီ"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"အရေးပါမှု"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"မီးကို မှိတ်တုတ်မှိတ်တုတ်လုပ်ရန်"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"တုန်ခါရန်"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"တုန်ခါမှု"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"အသံ"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"အရေးကြီး"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"ပင်မသို့ ထည့်ရန်"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"ဖျက်ရန်"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"အမည်ပြောင်းရန်"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"အချိန်ဇယား အမည်"</string>
@@ -3593,6 +3676,10 @@
       <item quantity="other">အခြား <xliff:g id="NUM_PEOPLE">%d</xliff:g> ယောက်</item>
       <item quantity="one">အခြား ၁ ယောက်</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"စကားဝိုင်းများ"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"စကားဝိုင်းအားလုံးမှ"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"အရေးကြီးသည့် စကားဝိုင်းများမှ"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"မည်သည့် စကားဝိုင်းကိုမျှ ခွင့်မပြုရန်"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"မက်ဆေ့ဂျ်များကို ခွင့်ပြုရန်"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"ခွင့်ပြုထားသော မက်ဆေ့ဂျ်များ အသံထွက်စေရန်အတွက် သင့်ကိရိယာကို အသံမြည်ရန်၊ တုန်ခါရန်သို့မဟုတ် အသံတိတ်ရန် သတ်မှတ်ထားခြင်း ရှိမရှိ စစ်ဆေးပါ။"</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"‘<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>’ အတွက် အဝင်မက်ဆေ့ဂျ်များကို ပိတ်ထားသည်။ သင့်မိတ်ဆွေ၊ မိသားစု သို့မဟုတ် အခြားအဆက်အသွယ်များက သင့်အား ဆက်သွယ်နိုင်ရန် ဆက်တင်များကို ချိန်ညှိနိုင်သည်။"</string>
@@ -3606,15 +3693,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"မရှိ"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"ခေါ်ဆိုမှုများကို ခွင့်မပြုရန်"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"မည်သည့်မက်ဆေ့ဂျ်ကိုမျှ ခွင့်မပြုရန်"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"နှိုးစက်များ ခွင့်ပြုရန်"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"နှိုးစက်များ"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"အချိန်မှတ်စက်၊ နှိုးစက်၊ လုံခြုံရေးစနစ်နှင့် အခြားအက်ပ်များမှ"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"နှိုးစက်များ"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"မီဒီယာအသံများ ဖွင့်ရန်"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"မီဒီယာ အသံများ"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"ဗီဒီယိုများ၊ ဂိမ်းများနှင့် အခြားမီဒီယာများမှ"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"မီဒီယာ"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"စခရင်ထိသံများ ခွင့်ပြုရန်"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"စခရင်ထိသံ"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"သင့်ကီးဘုတ်နှင့် အခြားခလုတ်များမှ"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"စခရင်ထိသံ"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"သတိပေးချက်များကို ခွင့်ပြုရန်"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"သတိပေးချက်များ"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"လုပ်ဆောင်စရာများနှင့် သတိပေးချက်များမှ"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"သတိပေးချက်များ"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"အစီအစဉ်များ ခွင့်ပြုရန်"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"အစီအစဉ်များ"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"လာမည့် ပြက္ခဒိန် အစီအစဉ်များမှ"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"အက်ပ်များကို အစားထိုးခွင့်ပြုပါ"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"အက်ပ်ခြွင်းချက်များ"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3657,6 +3749,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"\"မနှောင့်ယှက်ရ\" က ပိတ်ထားသော အကြောင်းကြားချက်များကို မျက်နှာပြင်ကိုဖွင့်ခွင့်ပေးပါ"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"အကြောင်းကြားချက် ဆက်တင်များ"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"OK"</string>
+    <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>
@@ -3667,6 +3760,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"ပင်မဖြုတ်မီမှာ PIN ကို မေးရန်"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"ပင်မဖြုတ်မီမှာ စကားဝှက်ကို မေးကြည့်ရန်"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"ပင်ဖြုတ်စဉ် စက်ကို လော့ခ်ချထားရန်"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"SIM ဖျက်ခြင်းကို အတည်ပြုပါ"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"ဒေါင်းလုဒ်ဆွဲထားသော SIM ကို မဖျက်မီ သင်ဖြစ်ကြောင်း အတည်ပြုပါ"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"ဤအလုပ်ပရိုဖိုင်အား စီမံခန့်ခွဲသည်မှာ-"</string>
     <string name="managing_admin" msgid="2633920317425356619">"<xliff:g id="ADMIN_APP_LABEL">%s</xliff:g> မှ စီမံသည်။"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(စမ်းသပ်ရေး)"</string>
@@ -3741,8 +3836,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"အက်ပ်များ အားလုံး"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"ထည့်ထားသည့် အက်ပ်များ"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"ချက်ခြင်းသုံး အက်ပ်များ"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"ကိုယ်ရေး"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"အလုပ်"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"အက်ပ်− အားလုံး"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"ပိတ်ထားသည်"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"ကဏ္ဍများ - အလွန်အရေးကြီး"</string>
@@ -3754,6 +3847,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"အမည်မသိ အက်ပ်"</string>
     <string name="app_permissions" msgid="8666537659217653626">"ခွင့်ပြုချက် မန်နေဂျာ"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"<xliff:g id="APPS">%1$s</xliff:g> ကို သုံးထားသော အက်ပ်များ"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"<xliff:g id="APPS">%1$s</xliff:g> ကို သုံးနေသော အက်ပ်များနှင့် အခြား"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"နိုးထရန် တို့ပါ"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"စက်ကိရိယာ နိုးကြားရန် ဖန်မျက်နှာပြင်ပေါ်ရှိ မည်သည့်နေရာမဆိုအား နှစ်ကြိမ်-တို့ပါ"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"လင့်ခ်များကို ဖွင့်ခြင်း"</string>
@@ -3765,9 +3859,14 @@
       <item quantity="other">အက်ပ် <xliff:g id="COUNT">%d</xliff:g> ခုသည် ပံ့ပိုးထားသော လင့်ခ်များကို ဖွင့်နေသည်</item>
       <item quantity="one">အက်ပ်တစ်ခုသည် ပံ့ပိုးထားသော လင့်ခ်များကို ဖွင့်နေသည်</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"ဤအပ်ဖ်တွင် ဖွင့်မည်"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"ပံ့ပိုးထားသောလင့်ခ်များကို ဖွင့်ရန် အက်ပ်အား ခွင့်ပြုပါ"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"အကြိမ်တိုင်းမှာ မေးရန်"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"ဤအပ်ဖ်တွင် မဖွင့်ပါနှင့်"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"လင့်ခ်ကို ဖွင့်ရန် အက်ပ်အား ခွင့်မပြုပါ"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="other">အက်ပ်က <xliff:g id="COUNT_1">%d</xliff:g> လင့်ခ်များကို စီမံရန် တောင်းဆိုသည်</item>
+      <item quantity="one">အက်ပ်က <xliff:g id="COUNT_0">%d</xliff:g> လင့်ခ်ကို စီမံရန် တောင်းဆိုသည်</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"အက်ပ်သည် အောက်ပါလင့်ခ်များကို စီမံရန် တောင်းဆိုသည်-"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"မူရင်း"</string>
     <string name="default_for_work" msgid="537558180548617528">"အလုပ်အတွက် မူရင်း"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"အကူနှင့် အသံဖြင့်စာရိုက်ခြင်း"</string>
@@ -3911,8 +4010,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"အခြားအက်ပ်များအပေါ်တွင် ပြသခွင့် ပြုခြင်း"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"အခြားအက်ပ်များ အပေါ်မှ ပြသခွင့်ပြုရန်"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"ဤအက်ပ်အား သင်သုံးနေသော အခြားအက်ပ်များအပေါ်တွင် ပြသခွင့်ပြုပါ။ ၎င်းသည် ထိုအက်ပ်များအသုံးပြုရာ၌ အနှောင့်အယှက်ဖြစ်စေနိုင်ပါသည် သို့မဟုတ် ၎င်းတို့၏ အသွင်အပြင် သို့မဟုတ် အပြုအမူတို့ကို ပြောင်းလဲစေနိုင်ပါသည်။"</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"ဖိုင်အားလုံး သုံးခွင့်"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"ဖိုင်အားလုံးကို စီမံရန် အသုံးပြုခွင့်ပေးပါ"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"ဤစက်ပစ္စည်း (သို့) ချိတ်ဆက်ထားသော သိုလှောင်နေရာရှိ ဖိုင်များအားလုံးကို ဖတ်ရန်၊ ပြင်ဆင်ရန်နှင့် ဖျက်ရန် ဤအက်ပ်ကို ခွင့်ပြုပါ။ ခွင့်ပြုပြီးပါက အက်ပ်သည် သင့်အား အသိမပေးဘဲ ဖိုင်များကို အသုံးပြုနိုင်ပါမည်။"</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"ဖိုင်အားလုံးကို အသုံးပြုနိုင်သည်"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"vr ပကတိအသွင် နားထောင်မှုစနစ် စတီရီယိုအထောက်အကူပြု ဝန်ဆောင်မှု"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"စနစ်သတိပေးချက် ဝင်းဒိုး အကွက် အခြားအက်ပ်များအပေါ် ပြသ"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"အခြားအက်ပ်များပေါ်မှ ပြသခြင်း"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"အက်ပ် <xliff:g id="COUNT_1">%2$d</xliff:g> ခုအနက်မှ <xliff:g id="COUNT_0">%1$d</xliff:g> ခုသည် အခြားအက်ပ်များပေါ်တွင် ပြသခွင့်ပြုသည်"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"ခွင့်ပြုချက်များဖြင့် အပ်ဖ်များ"</string>
@@ -4078,6 +4180,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"<xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g> အသုံးပြုထားသည်"</string>
     <string name="data_overusage" msgid="3680477320458707259">"<xliff:g id="ID_1">^1</xliff:g> ကျော်"</string>
     <string name="data_remaining" msgid="6316251496381922837">"<xliff:g id="ID_1">^1</xliff:g> ကျန်ပါသည်"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"<xliff:g id="START_DATE">%1$s</xliff:g> နှင့် <xliff:g id="END_DATE">%2$s</xliff:g> အကြား ဒေတာအသုံးပြုမှုကို ပြသော ဂရပ်ဖ်။"</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"ဤရက်စွဲအပိုင်းအခြားအတွင်း မည်သည့်ဒေတာမျှ သုံးမထားပါ"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="other">%d ရက် ကျန်သည်</item>
       <item quantity="one">%d ရက် ကျန်သည်</item>
@@ -4141,14 +4245,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"အထုပ်အရွယ်အစား"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"အကြောင်းကြားချက်ဖြင့် သတိပေးပြီးပါပြီ"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"အသံ"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"တုန်ခါခြင်း"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"ပုံစံ"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"မူရင်း"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"ချန်နယ်"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"မရှိ"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"အဆင့်သတ်မှတ်သည့် အကြောင်းအရာ လိုအပ်နေသည်။"</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"အဆင့်သတ်မှတ်သည့် အကြောင်းအရာတွင် ဤကီးမပါဝင်ပါ"</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"အပြင်အဆင်"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"စက်ပစ္စည်းမူရင်း"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"မျက်နှာပြင် ဖြတ်ညှပ်ပြသမှု"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"မျက်နှာပြင် ဖြတ်ညှပ်ပြသမှု၊ အမှတ်အသား"</string>
@@ -4237,8 +4337,12 @@
     <string name="information_label" msgid="6939310810756569298">"အချက်အလက်များ"</string>
     <string name="low_label" msgid="6525629096999711220">"နိမ့်"</string>
     <string name="high_label" msgid="357503396626018487">"မြင့်"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"အာရုံခံနိုင်မှု ပိုမိုမြင့်မားလျှင် ဖန်သားပြင်၏ အစွန်းများတစ်လျှောက်ရှိ အက်ပ်လက်ဟန်များနှင့် ပြဿနာဖြစ်နိုင်သည်။"</string>
+    <string name="left_edge" msgid="1513576842959071849">"ဘယ် အစွန်း"</string>
+    <string name="right_edge" msgid="1505309103265829121">"ညာ အစွန်း"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"အာရုံခံနိုင်မှု ပိုမိုမြင့်မားလျှင် ဖန်သားပြင်၏ အစွန်းများတစ်လျှောက်ရှိ အက်ပ်လက်ဟန်များနှင့် ပြဿနာဖြစ်နိုင်သည်။"</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"ကျောဘက် အာရုံခံနိုင်မှု"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"လက်ဟန် ဆက်တင်များ"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"လက်ဟန်ဖြင့် လမ်းညွှန်ခြင်း၊ ကျောဘက် အာရုံခံနိုင်မှု၊ နောက်ဆုတ်လက်ဟန်"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"ဖုန်းကိုစစ်ရန် နှစ်ချက်တို့ခြင်း"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"တက်ဘလက်ကို စစ်ဆေးကြည့်ရန် နှစ်ချက်တို့ပါ"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"စက်ပစ္စည်းကို စစ်ဆေးကြည့်ရန် နှစ်ချက်တို့ပါ"</string>
@@ -4393,7 +4497,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"Trigger Carrier Provisioning"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"\'မနှောင့်ယှက်ရ\' ကို အပ်ဒိတ်လုပ်ခြင်း"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"အာရုံစူးစိုက်နိုင်ရန် အကြောင်းကြားချက်များကို ခေတ္တရပ်ထားပါ"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"ဤဝန်ဆောင်မှုကို ဤစက်ပစ္စည်းတွင် မရရှိနိုင်ပါ"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"ဝန်ဆောင်မှု မရနိုင်ပါ။"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"ဤဝန်ဆောင်မှုသည် သင့်ဖုန်းကို နှေးစေသောကြောင့် ၎င်းကို ပိတ်ထားပါသည်"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"GNSS အတိုင်းအတာအပြည့် သက်ရောက်ရန်"</string>
@@ -4403,20 +4506,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"ANGLE ကို ဖွင့်ထားသည့်အက်ပ်ကို ရွေးပါ"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"ANGLE ကို ဖွင့်ထားသည့် အပလီကေးရှင်း တစ်ခုမျှ သတ်မှတ်မထားပါ"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"ANGLE ကို ဖွင့်ထားသည့် အပလီကေးရှင်း− <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"ဂိမ်းဒရိုင်ဗာ သတ်မှတ်ချက်များ"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"\'ဂိမ်းဒရိုင်ဗာ\' ဆက်တင်များ ပြုပြင်ပါ"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"\'ဂိမ်းဒရိုင်ဗာ\' ဖွင့်ထားသည့်အခါ စက်တွင် ထည့်သွင်းထားသော အက်ပ်များအတွက် အပ်ဒိတ်လုပ်ထားသည့် ဂရပ်ဖစ်ဒရိုင်ဗာများကို အသုံးပြုရန် ရွေးနိုင်ပါသည်။"</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"အက်ပ်အားလုံးအတွက် ဖွင့်ပါ"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"ဂရပ်ဖစ်ဒရိုင်ဗာ ရွေးချယ်ပါ"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"မူရင်း"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"ဂိမ်းဒရိုင်ဗာ"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"ကြိုတင်ထုတ်လုပ်ထားသည့် ဒရိုင်ဗာ"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"စနစ် ဂရပ်ဖစ်ဒရိုင်ဗာ"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"ဂရပ်ဖစ်ဒရိုင်ဗာ သတ်မှတ်ချက်များ"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"ဂရပ်ဖစ်ဒရိုင်ဗာ ဆက်တင်များကို ပြုပြင်ပါ"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"ဂရပ်ဖစ်ဒရိုင်ဗာ တစ်ခုထက်ပိုရှိပါက အပ်ဒိတ်လုပ်ထားသော ဂရပ်ဖစ်ဒရိုင်ဗာကို စက်ပစ္စည်းတွင် ထည့်သွင်းထားသော အက်ပ်များအတွက် အသုံးပြုရန် သင်ရွေးချယ်နိုင်သည်။"</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"အက်ပ်အားလုံးအတွက် ဖွင့်ပါ"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"ဂရပ်ဖစ်ဒရိုင်ဗာ ရွေးချယ်ပါ"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"မူလ"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"ဂိမ်းဒရိုင်ဗာ"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"ဆော့ဖ်ဝဲရေးသူ ဒရိုင်ဗာ"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"စနစ် ဂရပ်ဖစ်ဒရိုင်ဗာ"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"တွဲဖက်သုံးနိုင်သော အက်ပ် အပြောင်းအလဲများ"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"အက်ပ်ကိုက်ညီမှု အပြောင်းအလဲများကို အဖွင့်အပိတ်လုပ်ရန်"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"မူလစနစ်အရ ဖွင့်ထားသော အပြောင်းအလဲများ"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"မူရင်းစနစ်အရ ပိတ်ထားသော အပြောင်းအလဲများ"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"ဤဖုန်းတွင် ၎င်းဆက်တင်ကို ပံ့ပိုးမထားပါ"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"ဤတက်ဘလက်တွင် ၎င်းဆက်တင်ကို ပံ့ပိုးမထားပါ"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"ဤစက်ပစ္စည်းတွင် ၎င်းဆက်တင်ကို ပံ့ပိုးမထားပါ"</string>
@@ -4435,6 +4544,11 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"စက်ပစ္စည်း"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"ဖုန်းခေါ်ဆိုနေချိန် မရနိုင်ပါ"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"မရနိုင်ပါ"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"မီဒီယာအထွက်များ ထည့်ရန်"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"အုပ်စု"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"စက်ပစ္စည်း ၁ ခုကို ရွေးချယ်ထားသည်"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"စက်ပစ္စည်း <xliff:g id="COUNT">%1$d</xliff:g> ခုကို ရွေးချယ်ထားသည်"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"ပြောင်းနေသည်…"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"အောက်ပါတွင် ခေါ်ဆိုမှု လက်ခံရန်"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"ဤ APN ကို ပြောင်း၍မရပါ။"</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"တက်ဘလက်၏ ဘက်ထရီသက်တမ်းကို ပိုကောင်းအောင်လုပ်ပါ"</string>
@@ -4552,10 +4666,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"တစ်ကြိမ်တွင် ဒေါင်းလုဒ်လုပ်ထားသော ဆင်းမ်ကတ်တစ်ခုသာ အသုံးပြုနိုင်ပါသည်။\n\n<xliff:g id="CARRIER1">%1$s</xliff:g> သို့ပြောင်းခြင်းက သင့် <xliff:g id="CARRIER2">%2$s</xliff:g> ဝန်ဆောင်မှုကို ပယ်ဖျက်မည်မဟုတ်ပါ။"</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"<xliff:g id="CARRIER">%1$s</xliff:g> သို့ ပြောင်းရန်"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"ဆင်းမ်ကတ် ဖျက်ရန်"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"ဒေါင်းလုဒ်လုပ်ထားသော ဤဆင်းမ်ကတ်ကို ဖျက်လိုသလား။"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"ဤဆင်းမ်ကတ်ကို ဖျက်ခြင်းဖြင့် ဤစက်ပစ္စည်းမှ <xliff:g id="CARRIER_0">%1$s</xliff:g>ဝန်ဆောင်မှုကို ဖယ်ရှားပါမည်။\n\n<xliff:g id="CARRIER_1">%2$s</xliff:g> အတွက် ဝန်ဆောင်မှုကို ပယ်ဖျက်မည်မဟုတ်ပါ။"</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"ဖျက်ရန်"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"ဆင်းမ်ကတ် ဖျက်နေသည်…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"ဆင်းမ်ကတ်ကို ဖျက်၍မရပါ"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"အမှားအယွင်းရှိနေသောကြောင့် ဤဆင်းမ်ကတ်ကို ဖျက်၍မရပါ။\n\nသင့်စက်ပစ္စည်းကို ပြန်စပြီး ထပ်စမ်းကြည့်ပါ။"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"အသုံးပြုလိုသော ကွန်ရက် အမျိုးအစား"</string>
@@ -4580,7 +4690,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"မမှန်ကန်သည့် ကွန်ရက်မုဒ် <xliff:g id="NETWORKMODEID">%1$d</xliff:g>။ လျစ်လျူရှုပါ။"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"ချိတ်ဆက်ပွိုင့် အမည်များ"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"<xliff:g id="CARRIER">%1$s</xliff:g> တွင် ချိတ်ဆက်ထားသည့်အခါ မရနိုင်ပါ"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"ကုသမှုဆိုင်ရာ အချက်အလက်၊ အရေးပေါ် အဆက်အသွယ်များ"</string>
     <string name="see_more" msgid="7499355691042812723">"ပိုပြရန်"</string>
     <string name="see_less" msgid="2642392725363552793">"လျှော့ ကြည့်ရန်"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"<xliff:g id="APPNAME">%1$s</xliff:g> နှင့် အသုံးပြုရန် ကိရိယာ"</string>
@@ -4589,11 +4698,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"တစ်ခုခု ဖြစ်သွားသည်။ အပလီကေးရှင်းက ကိရိယာရွေးရန် တောင်းဆိုချက်ကို ပယ်ဖျက်လိုက်သည်။"</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"ချိတ်ဆက်ပြီးပါပြီ"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"အားလုံးပြရန်"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="other">စက်ပစ္စည်း <xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> ခု ချိတ်ဆက်ထားသည်</item>
-      <item quantity="one">စက်ပစ္စည်း <xliff:g id="NUMBER_DEVICE_COUNT_0">%1$d</xliff:g> ခု ချိတ်ဆက်ထားသည်</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"ဘလူးတုသ် ကိရိယာများ မရှိပါ"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"စက်ပစ္စည်းကို ရှာဖွေနေသည်…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"စက်ပစ္စည်းကို ချိတ်ဆက်နေသည်…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"ဘယ်"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"ညာ"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"နားကြပ်အိတ်"</string>
@@ -4603,6 +4709,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"လေယာဉ်ပျံမုဒ် ပြုလုပ်ထားစဉ် သုံး၍မရပါ"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"ဒက်စ်တော့ပုံစံ မဖြစ်မနေ ပြောင်းခြင်း"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"ဒုတိယ မျက်နှာပြင်ပြသမှုများတွင် ဒက်စ်တော့ပုံစံ မဖြစ်မနေ စမ်းသပ်ရန်"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"အလွတ်ပုံစံ sizecompat ကိုဖွင့်ပါ"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"sizecompat အက်ပ်ကို အလွတ်ပုံစံတွင် ရှိခွင့်ပြုပါ"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"မဖြစ်မနေအမှောင်ချခြင်းကို အစားထိုးခြင်း"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"မဖြစ်မနေအမှောင်ချခြင်း ဝန်ဆောင်မှု အမြဲဖွင့်ရန် အစားထိုးထားသည်"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"ကန့်သတ်ဆက်တင်"</string>
@@ -4639,6 +4747,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"ဤအက်ပ်ကို မကြာသေးမီက ထည့်သွင်းထားသည်။"</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"မီဒီယာအထွက် ပြောင်းပါ"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ပေါ်တွင် လက်ရှိ ဖွင့်နေသည်"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (ချိတ်ဆက်မထားပါ)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"ပြောင်း၍ မရပါ။ ပြန်စမ်းကြည့်ရန် တို့ပါ။"</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"အရေးကြီးသော အချက်အလက်"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"ရှေ့ဆက်ရန်"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"မလိုပါ"</string>
@@ -4666,8 +4776,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"ဆင်းမ်ကတ် ပေါင်းစပ်အသုံးပြုမှု"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"သင့်အလုပ် မူဝါဒ အချက်အလက်"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"သင့် IT စီမံခန့်ခွဲသူက သတ်မှတ်ထားသည့် ဆက်တင်များ"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"အမှားပြင် အစီရင်ခံစာ စီမံသူ"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"သင့်စက်တွင် မည်သည့်အက်ပ်က ချွတ်ယွင်းမှုအစီရင်ခံစာ ဖြတ်လမ်းလင့်ခ်အား ကိုင်တွယ်မည်ဆိုသည်ကို ဆုံးဖြတ်သည်။"</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"ကိုယ်ပိုင်"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"အလုပ်"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"စနစ်မူရင်း"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"ဤရွေးချယ်မှု အသုံးပြု၍မရတော့ပါ။ ထပ်စမ်းကြည့်ပါ။"</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"ကာစ်လုပ်ခြင်းကို ရပ်ရန်"</string>
 </resources>
diff --git a/res/values-nb/arrays.xml b/res/values-nb/arrays.xml
index 73f2b60..00d0634 100644
--- a/res/values-nb/arrays.xml
+++ b/res/values-nb/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"Umiddelbart"</item>
     <item msgid="463591454172790676">"5 sekunder"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"Ikke godkjenn"</item>
+    <item msgid="5703177653586269306">"Be om sertifikatstatus"</item>
+    <item msgid="326388247868439528">"Krev sertifikatstatus"</item>
+    <item msgid="1090956283885790552">"Krev alle statuser for ikke-sertifiserte sertifikater"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"Trykk på knappen"</item>
     <item msgid="2630618799033509548">"Personlig kode fra motpart"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"Ingen"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"IPSec VPN med forhåndsdelte taster og Xauth-autentisering"</item>
     <item msgid="2484564813864139237">"IPSec VPN med sertifikater og Xauth-autentisering"</item>
     <item msgid="68918911194507915">"IPSec VPN med sertifikater og hybridautentisering"</item>
+    <item msgid="4631647675167100375">"IKEv2/IPSec VPN med sertifikater og autentisering med brukernavn/passord"</item>
+    <item msgid="8812228622975052811">"IKEv2/IPSec VPN med forhåndsdelte nøkler"</item>
+    <item msgid="6630554779981113046">"IKEv2/IPSec VPN med sertifikater"</item>
   </string-array>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"Ingen"</item>
diff --git a/res/values-nb/config.xml b/res/values-nb/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-nb/config.xml
+++ b/res/values-nb/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 0a5234d..3f09228 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -31,49 +31,17 @@
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Slå på utvikleralternativer først."</string>
     <string name="header_category_wireless_networks" msgid="303445626075235229">"Trådløst og nettverk"</string>
     <string name="header_category_system" msgid="1665516346845259058">"System"</string>
-    <string name="radio_info_data_connection_enable" msgid="7500945447906187613">"Slå på datatilkobling"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"Slå av datatilkobling"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"VoLTE-tildelt"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"Identitetshåndtering aktiv for videoanrop"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"Identitetshåndtering aktiv for Wi-Fi-anrop"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"EAB/Presence er klargjort"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"CBRS-data"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"Slå på DSDS"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"Vil du starte enheten på nytt?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"Du må starte enheten din på nytt for å endre denne innstillingen."</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"Start på nytt"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"Avbryt"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"Strømforsyning for mobilradio"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"Se adressebok for SIM-kort"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"Vis faste numre"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"Vis tjenestenummer"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"Status for IMS-tjeneste"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"IMS-status"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"Registrert"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"Ikke registrert"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"Tilgjengelig"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"Utilgjengelig"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"IMS-registrering: <xliff:g id="STATUS">%1$s</xliff:g>\nTale over LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nTale over Wi-Fi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideoanrop: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT-grensesnitt: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"Fungerer som normalt"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Ute av drift"</string>
     <string name="radioInfo_service_emergency" msgid="6838935881091760942">"Bare nødanrop"</string>
     <string name="radioInfo_service_off" msgid="6184928420860868571">"Radio er av"</string>
     <string name="radioInfo_roaming_in" msgid="8892550453644088692">"Roamer"</string>
     <string name="radioInfo_roaming_not" msgid="3137594549464975054">"Ingen roaming"</string>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"Ledig"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"Ringer"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"Anrop pågår …"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"Frakoblet"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"Kobler til"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"Tilkoblet"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Satt på vent"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Ukjent"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"pakker"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"byte"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"Koble fra USB-lagring"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"Avmonter minnekort"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"Slett USB-lagring"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"Gjør teksten på skjermen større eller mindre."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Gjør mindre"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Gjør større"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"Eksempeltekst"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"Trollmannen fra Oz"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"Kapittel 11: Den vidunderlige smaragdbyen Oz"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"Du må starte enheten din på nytt for å endre innstillingen."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"Start på nytt"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"Avbryt"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"Tilgjengelige medieenheter"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"Tilgjengelige ringeenheter"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"Tilkoblet nå"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"Medieenheter"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"Ringeenheter"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"Andre enheter"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Lagrede enheter"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth slås på for å koble til"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Tilkoblingsinnstillinger"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"Angitt port er ikke gyldig."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"HTTP-proxy-tjeneren brukes av nettleseren, men kan ikke brukes av andre apper."</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"PAC-nettadresse: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"Nåværende under-ID:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"Under-ID for standard-SIM-kort for data:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"Båndbredde for nedlasting (kbps):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"Båndbredde for opplasting (kbps):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"Informasjon om celleposisjonen (avviklet):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"Konfigurering av fysisk LTE-kanal:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"Innlastingsfrekvens for cellleinformasjon:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"All informasjon for cellemåling:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"Datatjeneste:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"Roaming:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"Viderekobling av anrop:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"Antall PPP-tilbakestillinger siden oppstart:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"Nåværende nettverk:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"Data mottatt:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"Taletjeneste:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"Signalstyrke:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"Status på taleanrop:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"Data sendt:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"Melding venter:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"Telefonnummer:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"Velg radiobånd"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"Nettverkstype for tale:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"Type datanettverk:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"Velg telefonindeks"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"Velg foretrukket nettverkstype:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"Ping vertsnavn(www.google.no) IPv4:"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"Ping vertsnavn(www.google.no) IPv6:"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"Test av HTTP-klient:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"Kjør ping-test"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"Oppdater"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"Last på nytt"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"Slå av/på DNS-sjekk"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"Produsentspesfikk informasjon og innstillinger"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"Angi båndmodus for radio"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"Laster inn båndlisten …"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"Velg"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"Mislykket"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"Vellykket"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"Endringene trer i kraft når USB-kabelen kobles til på nytt."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"Aktiver USB-masselagring"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"Totalt antall byte:"</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"Flytt nederst"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"Fjern språket"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"Velg aktivitet"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"Enhetsinformasjon"</string>
     <string name="display_label" msgid="3056320781191343221">"Skjerm"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"Informasjon om nettbrettet"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"Telefoninformasjon"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"USB-lagring"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"Minnekort"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"Innstillinger for proxy-tjener"</string>
@@ -306,9 +234,6 @@
     <string name="airplane_mode" msgid="3196085857882526817">"Flymodus"</string>
     <string name="wireless_networks_settings_title" msgid="8557542379234105369">"Trådløst og nettverk"</string>
     <string name="radio_controls_summary" msgid="9028430178697624501">"Administrer Wi-Fi, Bluetooth, flymodus, mobilnettverk og VPN"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"Mobildata"</string>
-    <string name="calls_title" msgid="6334813967619899114">"Tillat anrop"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"Tekstmeldinger"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"Tillat databruk over mobilnettverk"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"Tillat databruk ved roaming"</string>
     <string name="roaming" msgid="3055365654530847985">"Roaming"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"Koble til datatjenester ved roaming"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"Du har mistet datatilkobling fordi du forlot hjemmenettet med dataroaming av."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"Slå på"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"Det kan medføre betydelige kostnader."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"Når du tillater roaming, kan dette føre til høye datakostnader.\n\nDenne innstillingen påvirker alle brukerne på dette nettbrettet."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"Når du tillater roaming, kan dette føre til høye datakostnader.\n\nDenne innstillingen påvirker alle brukerne på denne telefonen."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"Roamingavgifter kan påløpe."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"Når du bruker data-roaming, kan roamingavgifter påløpe.\n\nDenne innstillingen påvirker alle brukerne på dette nettbrettet."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"Når du tillater data-roaming, kan roamingavgifter påløpe.\n\nDenne innstillingen påvirker alle brukerne på denne telefonen."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"Vil du tillate data-roaming?"</string>
     <string name="networks" msgid="5184501333492775095">"Operatør"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"Velg en nettverksoperatør"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"Avslått av administratoren"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"Vis alternativet for låsing"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"Vis alternativet for av/på-knappen som slår av Smart Lock, biometrisk opplåsing og varsler på låseskjermen"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"Pålitelig agent forlenger bare opplåsing"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"Hvis pålitelige agenter er slått på, er enheten låst opp i lengre tid, men funksjonen kan ikke låse opp en låst enhet lenger."</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"Låseskjerm ved tapt pålitelighet"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"Hvis alternativet er slått på, låses enheten når den siste pålitelige agenten ikke anses som pålitelig lenger"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"Ingen"</string>
@@ -390,7 +313,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"Posisjon, skjermlås, SIM-kort-lås"</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"Angi Min posisjon, lås opp skjerm, lås påloggingsopplysninger"</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"Personvern"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"Avslått av administratoren"</string>
+    <string name="disabled_by_administrator_summary" msgid="5424846182313851124">"Ikke tilgjengelig"</string>
     <string name="security_status_title" msgid="6958004275337618656">"Sikkerhetsstatus"</string>
     <string name="security_dashboard_summary_face" msgid="4198949293847206382">"Skjermlås, ansiktslås"</string>
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Skjermlås, fingeravtrykk"</string>
@@ -693,7 +616,6 @@
       <item quantity="other">Må inneholde færre enn <xliff:g id="NUMBER_1">%d</xliff:g> sifre</item>
       <item quantity="one">Må inneholde færre enn <xliff:g id="NUMBER_0">%d</xliff:g> siffer</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"Kan bare inneholde tall fra 0 til 9"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"Enhetsadministratoren forbyr nylig brukt PIN-kode"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"Vanlige PIN-koder er blokkert av IT-administratoren din. Prøv en annen PIN-kode."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"Dette kan ikke inkludere et ugyldig tegn"</string>
@@ -724,6 +646,10 @@
       <item quantity="other">Må inneholde minst <xliff:g id="COUNT">%d</xliff:g> andre tegn enn bokstaver</item>
       <item quantity="one">Må inneholde minst ett annet tegn enn bokstaver</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="other">Må inneholde minst <xliff:g id="COUNT">%d</xliff:g> tegn som ikke er tall</item>
+      <item quantity="one">Må inneholde minst 1 tegn som ikke er et tall</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"Enhetsadministratoren forbyr nylig brukte passord"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"Vanlige passord er blokkert av IT-administratoren din. Prøv et annet passord."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"En sekvens av stigende, synkende eller like sifre er ikke tillatt"</string>
@@ -837,19 +763,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2,4 GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"Logg på"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"Åpne nettstedet"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"<xliff:g id="REMAINING_TIME">%1$s</xliff:g> gjenstår"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"Utløper <xliff:g id="EXPIRY_TIME">%1$s</xliff:g>"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"Trykk her for å logge på nettverket"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"<xliff:g id="REQUESTER">%s</xliff:g> ønsker å slå på Wi-Fi"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"<xliff:g id="REQUESTER">%s</xliff:g> ønsker å slå av Wi-Fi"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"Bekreft bytekode for feilsøkbare apper"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Tillat at ART bekrefter bytekode for feilsøkbare apper"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"Vis oppdateringsfrekvens"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Vis skjermens nåværende oppdateringsfrekvens"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"Tillat datautveksling når nettbrettet berører en annen enhet"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"Tillat utveksling av data når telefonen berører en annen enhet"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"Tillat datautveksling når nettbrettet berører en annen NFC-enhet"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"Tillat utveksling av data når telefonen berører en annen NFC-enhet"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"Slå på NFC"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"NFC utveksler data mellom denne enheten og andre enheter eller mål i nærheten, for eksempel betalingsterminaler, adgangslesere og interaktive annonser eller etiketter."</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"Beskytt NFC"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Krev opplåsing av enhet for å bruke NFC"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"Bare tillat NFC-betalinger og bruk av Kollektivtrafikk når skjermen er låst opp"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"Klar til å overføre appinnhold via NFC"</string>
@@ -923,8 +855,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Slå på"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Wi‑Fi-skanning er slått på"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Avanserte alternativer"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"Rullegardinlisten «Avanserte alternativer». Dobbelttrykk for å skjule."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"Rullegardinlisten «Avanserte alternativer». Dobbelttrykk for å utvide."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Rullegardinliste med avanserte alternativer"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"vis"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"Nettverksnavn"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"Skriv inn SSID"</string>
     <string name="wifi_security" msgid="9095934643631406913">"Sikkerhet"</string>
@@ -934,6 +866,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"Status"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"Overføringshastighet for sending"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"Linkhastighet for mottak"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"Koblingshastighet"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"Frekvens"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"IP-adresse"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"Lagret via"</string>
@@ -941,6 +874,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"EAP-metode"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"Fase 2-autentisering"</string>
     <string name="wifi_eap_ca_cert" msgid="8033404008276298886">"CA-sertifikat"</string>
+    <string name="wifi_eap_ocsp" msgid="8713933962516871238">"Sertifikatstatus på nettet"</string>
     <string name="wifi_eap_domain" msgid="8304301470752333203">"Domene"</string>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"Klientsertifikat"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"Identitet"</string>
@@ -957,6 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"Velg minst ett bånd for Wi-Fi-sonen:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"IP-innstillinger"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"Personvern"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"Abonnement"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"Se eller endre abonnement"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"Tilfeldig valgt MAC"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"Legg til en enhet"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"Sentrér QR-koden nedenfor for å legge til enheten i «<xliff:g id="SSID">%1$s</xliff:g>»"</string>
@@ -966,12 +902,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"Del Wi‑Fi"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"Skann denne QR-koden for å koble til «<xliff:g id="SSID">%1$s</xliff:g>» og dele passordet"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"Skann denne QR-koden for å koble til «<xliff:g id="SSID">%1$s</xliff:g>»"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"Kunne ikke lese QR-koden. Sentrer koden på nytt og prøv igjen"</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"Prøv igjen. Hvis problemet vedvarer, kan du kontakte enhetsprodusenten."</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"Noe gikk galt"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"Sørg for at enheten er tilkoblet, ladet og slått på"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"Sørg for at enheten er tilkoblet, ladet og slått på. Hvis problemet vedvarer, kan du kontakte enhetsprodusenten."</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"Tilføying av «<xliff:g id="SSID">%1$s</xliff:g>» støttes ikke av denne enheten"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"Prøv å plassere enheten nærmere Wi-Fi-tilgangspunktet/-ruteren"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"Sjekk passordet og prøv igjen"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"Kontakt produsenten av enheten"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"Sjekk tilkoblingen og prøv igjen"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"Velg et nettverk"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"Velg et nettverk for å koble til enheten din"</string>
@@ -984,11 +922,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"Deler Wi-Fi med denne enheten …"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"Kobler til …"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"Del Wi-Fi-sone"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"Bekreft at det er deg"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"Bekreft at det er deg"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"Wi-Fi-passord: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"Passord for Wi-Fi-sone: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"Automatisk tilkobling"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"Tillat at telefonen kobler seg til automatisk i nærheten av dette nettverket"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"Tillat at nettbrettet kobler seg til automatisk i nærheten av dette nettverket"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"Legg til en enhet"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"Bruk en QR-kode for å legge til en enhet på dette nettverket"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"QR-kode er ikke et gyldig format"</string>
     <string name="retry" msgid="7542103800274026915">"Prøv på nytt"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"Del med andre brukere av enheten"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(uendret)"</string>
@@ -1000,6 +942,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"Ingen sertifikater er spesifisert. Tilkoblingen din blir ikke privat."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"Nettverksnavnet er for langt."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"Du må angi et domene."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"Sertifikat er påkrevd."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"WPS tilgjengelig"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (WPS tilgjengelig)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"Operatørens Wi-Fi-nettverk"</string>
@@ -1051,7 +994,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"Avanserte Wi-Fi-innst."</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"MAC-adresse"</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_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>
@@ -1103,7 +1047,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"Bruk Wi-Fi-soner for å opprette Wi-Fi-nettverk for de andre enhetene dine. Wi-Fi-soner gir Internett-tilgang ved hjelp av mobildatatilkoblingen din. Ytterligere avgifter for databruk kan påløpe."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"Du kan bruke apper til å opprette Wi-Fi-soner for deling av innhold med enheter i nærheten."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Slå av Wi-Fi-sone automatisk"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"Wi‑Fi-sonen blir slått av hvis ingen enheter er koblet til"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Når ingen enheter er tilkoblet"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"Slår på Wi-Fi-sone …"</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"Slår av trådløs sone …"</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> er aktiv"</string>
@@ -1112,6 +1056,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"Konfigurasjon av Wi-Fi-sone"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"AndroidAP WPA2 PSK-Wi-Fi-sone"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"AndroidHotspot"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"Vil du lagre dette nettverket?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"<xliff:g id="APPNAME">%1$s</xliff:g> vil lagre et nettverk på telefonen din"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"<xliff:g id="APPNAME">%1$s</xliff:g> vil lagre et nettverk på nettbrettet ditt"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"Lagrer …"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"Lagret"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"Kan ikke lagre. Prøv igjen."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"Vil du lagre nettverkene?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"<xliff:g id="APPNAME">%1$s</xliff:g> vil lagre disse nettverkene på telefonen din"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"<xliff:g id="APPNAME">%1$s</xliff:g> vil lagre disse nettverkene på nettbrettet ditt"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"Lagrer <xliff:g id="NUMBER">%d</xliff:g> nettverk …"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"Nettverkene er lagret"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"Wi-Fi-anrop"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"Forleng anrop med Wi‑Fi"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"Slå på Wi‑Fi-anrop for å forlenge dekningen"</string>
@@ -1138,16 +1093,18 @@
     <string name="emergency_address_title" msgid="3490633500025717573">"Adresse for nødssituasjoner"</string>
     <string name="emergency_address_summary" msgid="3022628750270626473">"Brukes som posisjonen din når du gjør et nødanrop over Wi-Fi"</string>
     <string name="private_dns_help_message" msgid="851221502063782306"><annotation id="url">"Finn ut mer"</annotation>" om funksjoner for privat DNS"</string>
+    <string name="private_dns_mode_on" msgid="8878679071975375696">"På"</string>
     <string name="wifi_calling_pref_managed_by_carrier" msgid="129524064888622179">"Innstillingen administreres av operatøren"</string>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"Aktivér Wi-Fi-anrop"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"Slå på Wi-Fi-anrop"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"Wi‑Fi-anrop støttes ikke for %1$s"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"Koblet fra <xliff:g id="SSID">%1$s</xliff:g>"</string>
     <string name="carrier" msgid="1755020806290963951">"Operatør"</string>
     <string name="display_settings_title" msgid="626835071804834218">"Skjerm"</string>
     <string name="sound_settings" msgid="5514582720435174014">"Lyd"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"Volumer"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"Musikkeffekter"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"Ringevolum"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"Ringe- og varselvolum"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"Vibrer ved stille modus"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"Standard varsellyd"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"Ringetone"</string>
@@ -1272,13 +1229,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"Tidsplan"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"Ingen"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"På fra solnedgang til soloppgang"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"Aktiveres på angitt tidspunkt"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"Status"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"Av / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"Blir aldri slått på automatisk"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"Blir slått på automatisk ved solnedgang"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"Blir slått på automatisk klokken <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"På / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"Blir aldri slått av automatisk"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"Blir slått av automatisk ved soloppgang"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"Blir slått av automatisk klokken <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"Slå på til klokken <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"Slå av til klokken <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"Mørkt tema bruker en svart bakgrunn for å få batteriet til å vare lenger på noen skjermer. Tidsplaner for mørkt tema blir ikke slått på før skjermen din er slått av."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"Skjermsparer"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"Skjermen slås av"</string>
@@ -1290,7 +1252,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"Endre bakgrunn"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"Gi skjermen et personlig preg"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"Velg bakgrunnsbilde fra"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"Tilpass Pixel-telefonen din"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"Tilpass telefonen"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"Prøv forskjellige stiler, bakgrunner med mer"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"Skjermsparer"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Når enheten lades eller er i dokken"</string>
@@ -1379,6 +1341,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"Koble fra USB-lagring og vis tilgjengelig lagringsplass"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"Avmonter minnekort, vis ledig plass"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (SIM-kortspor %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"For å se, velg lagret nettverk"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"Telefonnummer"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (SIM-kortspor %1$d)"</string>
@@ -1405,6 +1368,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"Roaming"</string>
     <string name="status_operator" msgid="4335640583552058491">"Nettverk"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"MAC-adresse for Wi-Fi"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"Enhetens Wi-Fi-MAC-adresse"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"Bluetooth-adresse"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Serienummer"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Oppetid"</string>
@@ -1617,6 +1581,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Tilbakestilling av standard APN-innstillinger er fullført."</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"Alternativer for tilbakestilling"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"Nettverket, appene eller enheten kan tilbakestilles"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"Apper kan tilbakestilles"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"Tilbakestill Wi-Fi, mobil og Bluetooth"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"Dette tilbakestiller alle nettverksinnstillinger, inkludert\n\n"<li>"Wi‑Fi"</li>\n<li>"mobildata"</li>\n<li>"Bluetooth"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"Slett nedlastede SIM-kort"</string>
@@ -1666,6 +1631,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"Wi-Fi-sone på"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"Internettdeling"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"Kan ikke bruke internettdeling eller flyttbare Wi-Fi-soner mens Datasparing er på"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"Bare Wi-Fi-sone"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"Bare USB"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"Bare Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"Wi-Fi-sone, USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"Wi-Fi-sone, Bluetooth"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB, Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"Wi-Fi-sone, USB, Bluetooth"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"Deler ikke internett med andre enheter"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"Internettdeling"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Ikke bruk Wi-Fi-sone"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Bare del internett via USB"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Bare del internett via Bluetooth"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Bare del internett via USB og Bluetooth"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB-internettdeling"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"Del telefonens internettilkobling via USB"</string>
@@ -1756,9 +1734,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"Sikkerhetsinformasjon"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"Du har ingen datatilkobling. For å se denne informasjonen nå, gå til %s fra en datamaskin som er koblet til Internett."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"Laster inn …"</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"Bruk PIN-kode"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"Bruk mønster"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"Bruk passord"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"Angi skjermlås"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"Angi et passord for sikkerheten"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"Angi passord for å bruke fingeravtrykk"</string>
@@ -1767,8 +1742,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"Angi PIN for å bruke fingeravtrykk"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"Angi et sikkerhetsmønster"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"Angi passordet på nytt"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"Skriv inn jobbpassordet ditt"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"Bekreft mønsteret"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"Skriv inn jobbmønsteret ditt"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"Angi PIN-koden på nytt"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"Skriv inn jobb-PIN-koden din"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"Passordene samsvarer ikke"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"PIN-kodene samsvarer ikke"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"Tegn mønsteret ditt på nytt"</string>
@@ -1779,6 +1757,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"For å bruke Ansiktslås, angi et passord"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"For å bruke Ansiktslås, angi et mønster"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"For å bruke Ansiktslås, angi en PIN-kode"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"Har du glemt passordet ditt?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"Har du glemt mønsteret ditt?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"Har du glemt PIN-koden din?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"Tegn mønsteret ditt for å fortsette"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"Skriv inn PIN-koden til enheten din for å fortsette"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"Skriv inn enhetspassordet ditt for å fortsette"</string>
@@ -1846,6 +1827,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"Tillat alle appkilder"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"Nylig åpnede apper"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"Se alle de <xliff:g id="COUNT">%1$d</xliff:g> appene"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"Kontakt IT-administratoren din"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"De kan hjelpe deg med å tilbakestille PIN-koden, mønsteret eller passordet"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"Nettbrettet ditt og personopplysningene dine er mer sårbare for angrep hvis du bruker ukjente apper. Ved å installere apper fra denne kilden godtar du at du selv er ansvarlig for enhver skade på nettbrettet eller tap av data som kan oppstå, fra bruk av slike apper."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"Telefonen din og personopplysningene dine er mer sårbare for angrep hvis du bruker ukjente apper. Ved å installere apper fra denne kilden godtar du at du selv er ansvarlig for enhver skade på telefonen eller tap av data som kan oppstå, fra bruk av slike apper."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"Enheten din og personopplysningene dine er mer sårbare for angrep hvis du bruker ukjente apper. Ved å installere apper fra denne kilden godtar du at du selv er ansvarlig for eventuelle skader på enheten eller tap av data som oppstår på grunn av bruk av dem."</string>
@@ -1897,7 +1880,7 @@
     <string name="default_emergency_app" msgid="1929974800666613803">"Nødapp"</string>
     <string name="reset_app_preferences" msgid="8861758340732716573">"Tilbakestill app-innstillingene"</string>
     <string name="reset_app_preferences_title" msgid="8935136792316050759">"Vil du tilbakestille app-innstillingene?"</string>
-    <string name="reset_app_preferences_desc" msgid="1377296810290814749">"Dette tilbakestiller alle innstillinger for\n\n"<li>"avslåtte apper"</li>\n<li>"avslåtte appvarsler"</li>\n<li>"standardapper for handlinger"</li>\n<li>"begrensninger på bakgrunnsdata for apper"</li>\n<li>"begrensninger på tillatelser"</li>\n\n"Du mister ingen appdata."</string>
+    <string name="reset_app_preferences_desc" msgid="6509978724602405805">"Dette tilbakestiller alle innstillinger for\n\n"<li>"deaktiverte apper"</li>\n<li>"deaktiverte appvarsler"</li>\n<li>"standardapper for handlinger"</li>\n<li>"begrensninger for bakgrunnsdata for apper"</li>\n<li>"eventuelle tillatelsesbegrensninger"</li>\n\n"Du kommer ikke til å miste appdata."</string>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"Tilbakestill apper"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"Styr plass"</string>
     <string name="filter" msgid="9039576690686251462">"Filter"</string>
@@ -2097,7 +2080,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"Lyd og tekst på skjermen"</string>
     <string name="display_category_title" msgid="6638191682294461408">"Skjerm"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"Interaksjonskontroller"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"Nedlastede tjenester"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"Nedlastede apper"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"På forsøksstadiet"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"Funksjonsflagg"</string>
     <string name="talkback_title" msgid="8756080454514251327">"TalkBack"</string>
@@ -2105,27 +2088,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"Trykk på elementer på skjermen din for å få dem opplest"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"Innstillinger for teksting"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"Forstørring"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"Forstørrelsesområde"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"Slå på forstørrelse"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"Velg forstørrelsesområdene du vil bruke når du forstørrer skjermen"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"Fullskjerm"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"En del av skjermen"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"Fullskjerm og en del av skjermen"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"Forstørr hele skjermen"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"Forstørr en del av skjermen"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Forstørrelsesinnstillinger"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"Forstørr med trippeltrykk"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Forstørr med snarvei"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Forstørr med snarvei og trippeltrykk"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"Om <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"Alternativer"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"Zoom inn på skjermen"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"Trykk tre ganger for å zoome"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Trykk på en knapp for å zoome"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><b>"For å zoome"</b>", trykk raskt på skjermen tre ganger.\n"<ul><li>"Dra to eller flere fingre for å rulle"</li>\n<li>"Knip to eller flere fingre for å justere zoom"</li></ul>\n\n<b>"For å zoome midlertidig"</b>", trykk raskt på skjermen tre ganger, og hold fingeren nede på det tredje trykket.\n"<ul><li>"Dra for å bevege deg rundt på skjermen"</li>\n<li>"Løft fingeren for å zoome ut"</li></ul>\n\n"Du kan ikke zoome inn på tastaturet eller navigasjonsraden."</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"Når forstørring er slått på, kan du zoome inn på skjermen.\n\n"<b>"For å zoome"</b>", start forstørring og trykk hvor som helst på skjermen.\n"<ul><li>"• Dra to eller flere fingre for å rulle"</li>\n<li>"• Klyp to eller flere fingre for å justere zoom"</li></ul>\n\n<b>"For å zoome midlertidig"</b>", start forstørring og trykk og hold hvor som helst på skjermen.\n"<ul><li>"• Dra for å flytte deg rundt på skjermen"</li>\n<li>"• Løft fingeren for å zoome ut"</li></ul>\n\n"Du kan ikke zoome inn på tastaturet eller navigasjonsraden."</string>
+    <string name="accessibility_screen_magnification_summary" msgid="7617931632990040045">"Zoom raskt inn på skjermen for å se innhold tydeligere.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Slik zoomer du inn:&lt;/b&gt;&lt;br/&gt;	1. Bruk snarveien for å starte forstørring.&lt;br/&gt;	2. Trykk på skjermen.&lt;br/&gt;	3. Dra to fingre for å bevege deg rundt på skjermen.&lt;br/&gt;	4. Klyp med to fingre for å justere zoomen.&lt;br/&gt;	5. Bruk snarveien for å stoppe forstørrelsen&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Slik zoomer du inn midlertidig:&lt;/b&gt;&lt;br/&gt;	1. Bruk snarveien for å starte forstørring.&lt;br/&gt;	2. Trykk og hold hvor som helst på skjermen.&lt;br/&gt;	3. Dra en finger for å bevege deg rundt på skjermen.&lt;br/&gt;	4. Løft fingeren for å stoppe forstørrelsen."</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Når forstørrelse er slått på, kan du zoome inn på skjermen.\n\n"<b>"For å zoome"</b>", start forstørring og trykk hvor som helst på skjermen.\n"<ul><li>"Dra to eller flere fingre for å rulle"</li>\n<li>"Knip to eller flere fingre for å justere zoomen"</li></ul>\n\n<b>"For å zoome midlertidig"</b>", start forstørring og trykk og hold hvor som helst på skjermen.\n"<ul><li>"Dra for å bevege deg rundt på skjermen"</li>\n<li>"Løft fingeren for å zoome ut"</li></ul>\n\n"Du kan ikke zoome inn på tastaturet eller navigasjonsraden."</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Bruk Tilgjengelighet-knappen for å åpne"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Bruk bevegelse for å åpne"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"Bruk den nye tilgjengelighetsbevegelsen"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"For å slå denne tjenesten på eller av, trykk på Tilgjengelighet-knappen<xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>nederst på skjermen.\n\nFor å bytte mellom tjenestene, trykk og hold på Tilgjengelighet-knappen."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"For å slå denne tjenesten på eller av, sveip opp fra bunnen av skjermen med to fingre.\n\nFor å bytte mellom tjenester, sveip opp med to fingre og hold."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"For å slå denne tjenesten på eller av, sveip opp fra bunnen av skjermen med tre fingre.\n\nFor å bytte mellom tjenester, sveip opp med tre fingre og hold."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"For å slå en tilgjengelighetstjeneste på eller av, sveip opp fra bunnen av skjermen med to fingre.\n\nFor å bytte mellom tjenester, sveip opp med to fingre og hold."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"For å slå en tilgjengelighetstjeneste på eller av, sveip opp fra bunnen av skjermen med tre fingre.\n\nFor å bytte mellom tjenester, sveip opp med tre fingre og hold."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"For å slå denne tjenesten på eller av, trykk på Tilgjengelighet-knappen <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>nederst på skjermen.\n\nFor å bytte mellom tjenestene, trykk og hold på Tilgjengelighet-knappen."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"For å slå denne tjenesten på eller av, sveip opp fra bunnen av skjermen med to fingre.\n\nFor å bytte mellom tjenester, sveip opp med to fingre og hold."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"For å slå denne tjenesten på eller av, sveip opp fra bunnen av skjermen med tre fingre.\n\nFor å bytte mellom tjenester, sveip opp med tre fingre og hold."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"For å slå en tilgjengelighetstjeneste på eller av, sveip opp fra bunnen av skjermen med to fingre.\n\nFor å bytte mellom tjenester, sveip opp med to fingre og hold."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"For å slå en tilgjengelighetstjeneste på eller av, sveip opp fra bunnen av skjermen med tre fingre.\n\nFor å bytte mellom tjenester, sveip opp med tre fingre og hold."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"Greit"</string>
+    <string name="accessibility_shortcut_title" msgid="8125867833704517463">"<xliff:g id="SERVICE">%1$s</xliff:g>-snarvei"</string>
+    <string name="accessibility_shortcut_edit_summary_software" msgid="2820923641553461297">"Tilgjengelighet-knapp"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture" msgid="8078659880723370597">"Sveip opp med to fingre"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture_talkback" msgid="7422753388389160524">"Sveip opp med tre fingre"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software" msgid="4796192466943479849">"Trykk på Tilgjengelighet-knappen"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8922102767509399352">"Trykk på Tilgjengelighet-knappen <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> nederst på skjermen"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"Sveip opp fra bunnen av skjermen med to fingre"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"Sveip opp fra bunnen av skjermen med tre fingre"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Hold inne volumtastene"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"Trykk og hold inne begge volumtastene i ett sekund"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Trippeltrykk på skjermen"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"Trykk raskt tre ganger på skjermen. Denne snarveien kan gjøre enheten din tregere."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"Avansert"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"Tilgjengelighet-knappen er satt til <xliff:g id="SERVICE">%1$s</xliff:g>. For å bruke forstørrelse, trykk på og hold inne Tilgjengelighet-knappen, og velg deretter forstørrelse."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"Tilgjengelighetsbevegelsen er satt til <xliff:g id="SERVICE">%1$s</xliff:g>. For å bruke forstørring, sveip opp med to fingre fra bunnen av skjermen og hold. Deretter velger du forstørring."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"Snarvei til volumtast"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"Snarveitjeneste"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Snarvei-innstillinger"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"Tillat fra låseskjermen"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"Når snarveien er på, kan du trykke på begge volumtastene i tre sekunder for å starte en tilgjengelighetsfunksjon."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"Tekst med høy kontrast"</string>
@@ -2149,24 +2157,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"Velg hvor lenge du vil se meldinger som ber deg gjøre noe, men som bare vises midlertidig.\n\nIkke alle apper støtter denne innstillingen."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"Forsinkelse for trykk-og-hold"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"Fargeinvertering"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"Kan påvirke ytelsen"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"Holdetid"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"Bruk fargeinvertering"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"Med fargeinvertering blir skjermen mørk. Dette hjelper folk som er følsomme for sterkt lys, med å se på skjermen.&lt;br/&gt;&lt;br/&gt;Merk: Mørke farger blir lyse. Farger endres i medier og bilder. Du kan også bruke mørkt tema (Innstillinger &gt; Skjerm)."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"Autoklikk (holdetid)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"Hvis du bruker en mus, kan du stille musepekeren til å klikke automatisk når den slutter å bevege seg i en bestemt periode."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"Forsinkelse før klikk"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"Ikke bruk autoklikk (standard)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"Kort"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0,2 sekunder"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"Middels"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0,6 sekunder"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"Lang"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 sekund"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"Tilpasset"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"Kortere"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"Lengre"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"Tid for autoklikk"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"Styrke på vibrasjon og fysiske tilbakemeldinger"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Varselvibrering"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Ringevibrering"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Berøringstilbakemelding"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"Bruk tjenesten"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"Bruk <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"Åpne <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"Bruk fargekorrigering"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"Bruk teksting"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"Vis teksting"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"Tekstutseende"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"Tekststørrelse, tekststil"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"Flere alternativer"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"Ikke alle apper støtter denne innstillingen."</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"Tilgjengelighet-knapp"</string>
+    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"Sveip opp med to fingre fra bunnen"</string>
+    <string name="accessibility_shortcut_type_hardware" msgid="4834144210432451916">"Hold inne volumtastene"</string>
+    <string name="accessibility_shortcut_type_triple_tap" msgid="7717524216825494543">"Trippeltrykk på skjermen"</string>
     <string name="accessibility_hearingaid_instruction_continue_button" msgid="3367260988024430722">"Fortsett"</string>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"Høreapparater"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"Ingen høreapparater er tilkoblet"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"Legg til høreapparater"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"For å koble til høreapparatet ditt, finn og trykk på enheten på neste skjerm."</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"Sørg for at høreapparatet er i tilkoblingsmodus."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"For å koble til høreapparatet ditt, finn og trykk på enheten på neste skjerm. Sørg for at høreapparatet er i tilkoblingsmodus."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> er aktiv"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> lagrede høreapparater</item>
@@ -2178,25 +2204,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Denne tjenesten fungerer ikke som den skal."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Vis i hurtiginnstillingene"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"Korrigeringsmodus"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="other">Ekstremt kort forsinkelse (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Ekstremt kort forsinkelse (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Rød-grønn"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"Grønn-rød"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Blå-gul"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"Deuteranomali"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"Protanomali"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"Tritanomali"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="other">Ekstremt kort forsinkelse (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunder)</item>
+      <item quantity="one">Ekstremt kort forsinkelse (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> sekund)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="other">Veldig kort forsinkelse (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Veldig kort forsinkelse (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="other">Veldig kort forsinkelse (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunder)</item>
+      <item quantity="one">Veldig kort forsinkelse (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> sekund)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="other">Kort forsinkelse (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Kort forsinkelse (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="other">Kort forsinkelse (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunder)</item>
+      <item quantity="one">Kort forsinkelse (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> sekund)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="other">Lang forsinkelse (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Lang forsinkelse (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="other">Lang forsinkelse (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunder)</item>
+      <item quantity="one">Lang forsinkelse (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> sekund)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="other">Veldig lang forsinkelse (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Veldig lang forsinkelse (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="other">Veldig lang forsinkelse (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunder)</item>
+      <item quantity="one">Veldig lang forsinkelse (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> sekund)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunder</item>
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> sekund</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"Ring <xliff:g id="SUMMARY_RING">%1$s</xliff:g>, varsel <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>, trykk <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"Ringing og varsler er satt til av"</string>
@@ -2513,7 +2549,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"Siste gang uten strøm i <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"Total bruk"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"Oppdater"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"Android-operativsystem"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"Medietjener"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"Appoptimalisering"</string>
     <string name="battery_saver" msgid="7737147344510595864">"Batterisparing"</string>
@@ -2594,8 +2629,7 @@
     <string name="tts_play" msgid="2945513377250757221">"Spill av"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"Legitimasjonslager"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"Installer fra lagringsenhet"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"Installer fra SD-kort"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"Installer et sertifikat"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"Installer sertifikater fra lagringsenhet"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"Installer sertifikater fra SD-kort"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"Tøm legitimasjonslageret"</string>
@@ -2615,6 +2649,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"Legitimasjonslageret ble tømt."</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"Leg.lageret kan ikke slettes."</string>
     <string name="usage_access_title" msgid="1580006124578134850">"Apper med brukstilgang"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"CA-sertifikat"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"Brukersertifikat for VPN &amp; app"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"Wi‑Fi-sertifikat"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"Personvernet ditt er i fare"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"CA-sertifikater brukes av nettsteder, apper og VPN-er for kryptering. Installer bare CA-sertifikater fra organisasjoner du stoler på. \n\n Hvis du installerer et CA-sertifikat, får sertifikateieren tilgang til informasjonen din, for eksempel passord, meldinger eller kredittkortinformasjon, fra nettsteder du besøker, eller apper du bruker – selv om informasjonen er kryptert."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"Ikke installer"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"Installer likevel"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"Sertifikatet ble ikke installert"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"Ringesignal for nødssituasjoner"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Velg oppførsel når en nødsamtale opprettes"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Sikkerhetskopiering"</string>
@@ -2642,10 +2684,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"Deaktiver og avinstaller"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"Apper for enhetsadministrator"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"Ingen apper for enhetsadministrator er tilgjengelige"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"Personlig"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"Jobb"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"Begrens tilgang til SMS og samtalelogg"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"Bare standardapper for telefon og meldinger har tilgang til SMS og samtalelogg"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"Ingen tilgjengelige pålitelige agenter"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"Vil du aktivere administratorappen?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"Aktiver administratorappen på denne enheten"</string>
@@ -2659,6 +2697,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"Administratoren har slått av de andre alternativene."</string>
     <string name="admin_more_details" msgid="6698424974827333973">"Mer informasjon"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"Varsellogg"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"Varsellogg"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"I dag"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"Slumret"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"Nylig avvist"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> varsler</item>
+      <item quantity="one"><xliff:g id="NUMBER_0">%d</xliff:g> varsel</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"Anropsringetone og vibrering"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"Nettverksdetaljer"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"Synkronisering aktivert"</string>
@@ -3008,7 +3054,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"Begrensninger"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"Fjern begrensningene"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"Endre PIN-koden"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"Vis varsler"</string>
     <string name="help_label" msgid="2896538416436125883">"Hjelp og tilbakemelding"</string>
     <string name="support_summary" msgid="1034146931237148885">"Hjelpeartikler, telefon og chat, kom i gang"</string>
     <string name="user_account_title" msgid="6389636876210834864">"Konto for innhold"</string>
@@ -3033,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G-ringing"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Bruk LTE-tjenester for å forbedre stemmekommunikasjonen og andre typer kommunikasjon (anbefalt)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Bruk 4G-tjenester for å forbedre stemmekommunikasjon og andre typer kommunikasjon (anbefalt)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Oppdagelse av kontakter"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Lar operatøren din oppdage hvilke ringefunksjoner kontaktene dine støtter."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Vil du slå på oppdagelse av kontakter?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Hvis du slår på denne funksjonen, kan operatøren din få tilgang til telefonnumre i kontaktene dine for å oppdage hvilke ringefunksjoner de støtter."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Foretrukket nettverkstype"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (anbefales)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS-meldinger"</string>
@@ -3077,7 +3126,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"Ring med"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"Velg et SIM-kort"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"SIM-kort <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"Tomt SIM-kort"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"Navn på SIM-kort"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"Skriv inn SIM-navn"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"SIM-kortspor %1$d"</string>
@@ -3087,6 +3135,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"Velg SIM-kort"</string>
     <string name="color_orange" msgid="216547825489739010">"Oransje"</string>
     <string name="color_purple" msgid="6603701972079904843">"Lilla"</string>
+    <string name="color_pink" msgid="8596872110888626708">"Rosa"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"Det er ikke satt inn noe SIM-kort"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"SIM-status"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"SIM-kortstatus (SIM-kortspor %1$d)"</string>
@@ -3100,7 +3149,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"SIM-kortene er endret."</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Trykk for å konfigurere"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"Prioritert SIM-kort for"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Spør hver gang"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Du må velge en SIM-innstilling"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"Valg av SIM-kort"</string>
@@ -3118,6 +3166,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"Bluetooth, kjøremodus"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"Bluetooth, NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"Bluetooth"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"Utilgjengelig fordi NFC er av"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"Apper og varsler"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Nylige apper, standardapper"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Tilgang til varsler er ikke tilgjengelig for apper i jobbprofilen."</string>
@@ -3128,13 +3177,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"Innstillinger"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"wifi, Wi-Fi, nettverkstilkobling, Internett, trådløs, data, Wi Fi"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"Wi‑Fi-varsel, wifi-varsel"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"databruk"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"Stopp vibrering, trykk, tastatur"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"Bruk 24-timers format"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"Last ned"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"Åpne med"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"Apper"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"tidssone"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"Chathode"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"Chathode, system, varsel, vindu, dialog, skjerm, over andre apper, vis"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"Lommelykt, lys, lykt"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"wifi, Wi-Fi, slå av/på, kontroll"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"mobilnett, mobil, mobiloperatør, trådløs, data, 4G, 3G, 2G, LTE"</string>
@@ -3158,7 +3208,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"ikke, ikke forstyrr, forstyrr, avbrudd, pause"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"i nærheten, posisjon, logg, rapportering, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"konto"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"konto, legg til en konto, jobbprofil, legg til konto"</string>
     <string name="keywords_users" msgid="3497517660077620843">"begrensning, begrens, begrenset"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"tekstkorrigering, korrekt, lyd, vibrer, automatisk, språk, bevegelse, foreslå, forslag, tema, støtende, ord, type, emoji, internasjonal"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"tilbakestill, innstillinger, standard"</string>
@@ -3196,6 +3246,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"minne, buffer, data, slett, fjern, frigjør, lagringsplass"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"tilkoblet, enhet, hodetelefoner, trådløs, koble til, øreplugger, musikk, media"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"bakgrunn, skjerm, låseskjema, tema"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"ikonform, markeringsfarge, skrifttype"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"standard, assistent"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"betaling, standard"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"innkommende varsel"</string>
@@ -3205,18 +3256,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"haptisk, vibrer, følsomhet"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"batterisparing, festet, vedvarende, strømsparing, batteri"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"rutine, tidsplan, batterisparing, strømsparing, batteri, automatisk, prosent"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"jobbprofil"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"volte, avansert ringing, 4g-ringing"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"Legg til språk, legg til et språk"</string>
     <string name="default_sound" msgid="6604374495015245195">"Standardlyd"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"Ringevolumet er satt til <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"Ringe- og varselvolum er satt til <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Volum, vibrasjon, ikke forstyrr"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"Ringeprogrammet er satt til vibrering"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"Ringeprogrammet er satt til stille"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"Ringevolumet er satt til 80 %"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"Ringe- og varselvolum er satt til 80 %"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Medievolum"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Castevolum"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"Samtalevolum"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"Alarmvolum"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"Ringevolum"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"Ringe- og varselvolum"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"Varselvolum"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"Telefonringelyd"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"Standard varsellyd"</string>
@@ -3224,6 +3276,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"Standard varsellyd"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"Standard alarmlyd"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"Vibrasjon for anrop"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"Vibrer aldri"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"Vibrer alltid"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"Vibrer først, ring så gradvis høyere"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"Andre lyder"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"Tastaturlyd"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"Skjermlåslyder"</string>
@@ -3247,6 +3302,7 @@
       <item quantity="one">1 er slått på</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Ikke forstyrr"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Bli bare varslet av viktige personer og apper"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Begrens forstyrrelser"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Slå på Ikke forstyrr"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"Unntak"</string>
@@ -3273,7 +3329,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Blokkér visuelle forstyrrelser"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Tillat visuelle signaler"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"Når «Ikke forstyrr» er på"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"Tillat forstyrrelser som lager lyd"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"Begrens varsler"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Ingen lyd fra varsler"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"Du ser varsler på skjermen"</string>
@@ -3304,7 +3360,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"Lyd og vibrering"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"Lyd, vibrering og noen visuelle tegn fra varsler"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"Lyd, vibrering og visuelle tegn fra varsler"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"Varsler som er nødvendige for grunnleggende telefonaktivitet og status, skjules aldri"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"Varsler som er nødvendige for grunnleggende telefonaktivitet og status, skjules aldri."</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"Ingen"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"andre alternativer"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"Legg til"</string>
@@ -3334,10 +3390,12 @@
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> tidsplaner kan slås på automatisk</item>
       <item quantity="one">1 tidsplan kan slås på automatisk</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"Kutt enhetslyden, men tillat unntak"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"Unntak"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"Planlegg"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"Se alle unntak"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"Unntak når «Ikke forstyrr» er på"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"Personer"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"Apper"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"Alarmer og andre forstyrrelser"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"Tidsplaner"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"Dempede varsler"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"Når «Ikke forstyrr» er på, slås lyd og vibrering av, unntatt for elementene du tillater ovenfor."</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"Ignorer alle unntatt"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"Ignorert"</string>
@@ -3381,16 +3439,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"Varsler som kan tilpasses"</string>
     <string name="asst_capability_prioritizer_title" msgid="1181272430009156556">"Tilpasset varselprioritet"</string>
     <string name="asst_capability_prioritizer_summary" msgid="954988212366568737">"Angi varsler med lavere prioritet automatisk til Diskré"</string>
+    <string name="asst_capability_ranking_title" msgid="312998580233257581">"Tilpasset varselrangering"</string>
+    <string name="asst_capability_ranking_summary" msgid="2293524677144599450">"Ranger varsler automatisk etter relevans"</string>
     <string name="asst_capabilities_actions_replies_title" msgid="4392470465646394289">"Foreslåtte handlinger og svar"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"Vis foreslåtte handlinger og svar automatisk"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"Slå på varselloggen for å holde oversikt over tidligere varsler og slumrede varsler"</string>
+    <string name="notification_history" msgid="8663811361243456201">"Varsellogg"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"Slå på loggen"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"Slå av loggen"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"Varselloggen er slått av"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"se varslingsinnstillingene"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Tillat slumring av varsler"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"Skjul ikoner fra diskré varsler"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"Ikoner fra diskré varsler vises ikke i statusfeltet"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"Tillat varselprikker"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"Vis felt med nylige samtaler"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Bobler"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"Noen varsler kan vises som bobler på skjermen"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"Noen varsler og annet innhold kan vises som bobler på skjermen. For å åpne en boble, trykk på den. For å avvise den, dra den ned på skjermen."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Bobler"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"Nye meldinger vises på skjermen"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"Gi <xliff:g id="APP_NAME">%1$s</xliff:g> tillatelse til å vise varsler som bobler"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"Slå på bobler"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"For å slå på bobler for denne appen må du slå på bobler for enheten din. Dette påvirker andre apper som du tidligere har slått på bobler for."</string>
@@ -3408,6 +3476,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"Vis i nedtrekkspanelet og på låseskjermen"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"Vis i nedtrekkspanelet og statusfeltet"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"Vis i nedtrekkspanelet, statusfeltet og på låseskjermen"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"Skjul lydløse varsler i statusfeltet"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"Blinkende lys"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"Låseskjerm"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"Hopp over låseskjermen"</string>
@@ -3438,6 +3507,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"Atferd"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"Tillat lyd"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"Vis aldri varsler"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"Samtaler"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"Samtale"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"Ikke en samtale"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"Fjern fra samtaledelen"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"Dette er en samtale"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"Legg til i samtaledelen"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"Administrer samtaler"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"Viktige samtaler"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"Alle samtaler"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"Lag bobler for viktige samtaler"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"Viktige samtaler vises øverst i nedtrekkspanelet. Du kan også få dem til å lage bobler og avbryte «Ikke forstyrr»."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"Vis uten lyd og minimer"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"Vis uten lyd"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"Lag lyd"</string>
@@ -3456,7 +3536,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"Hjelper deg med å fokusere uten lyd eller vibrering"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"Får oppmerksomheten din med lyd eller vibrering"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"Når enheten låses opp, vises varsler som et banner over toppen av skjermen"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"Vis varsler"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"Alle <xliff:g id="APP_NAME">%1$s</xliff:g>-varsler"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"Varsler som kan tilpasses"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="other">~<xliff:g id="NUMBER_1">%d</xliff:g> varsler per dag</item>
@@ -3477,6 +3557,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"Varsler som kan tilpasses"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"Nei"</string>
     <string name="no_notification_listeners" msgid="2839354157349636000">"Ingen installerte apper har bedt om tilgang til varsler."</string>
+    <string name="notification_access_detail_switch" msgid="46386786409608330">"Gi tilgang til varsler"</string>
     <string name="notification_assistant_security_warning_title" msgid="2972346436050925276">"Vil du gi tilgang til varsler for <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
     <string name="notification_assistant_security_warning_summary" msgid="3119843404577399036">"<xliff:g id="NOTIFICATION_ASSISTANT_NAME">%1$s</xliff:g> kan lese alle varsler, inkludert personopplysninger som kontaktnavn og tekstinnholdet i meldinger du mottar. Den kan også endre eller avvise varsler eller utløse handlingsknapper i varslene. \n\nDette gir også appen muligheten til å slå Ikke forstyrr av eller på samt endre tilknyttede innstillinger."</string>
     <string name="notification_listener_security_warning_title" msgid="5791700876622858363">"Vil du gi tilgang til varsler for <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
@@ -3538,8 +3619,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"Ferdig"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"Viktighet"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"Blinkende lys"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"Vibrering"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"Vibrering"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"Lyd"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"Viktig"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"Legg til på startskjermen"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"Slett"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"Gi nytt navn"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"Navn på tidsplan"</string>
@@ -3593,6 +3676,10 @@
       <item quantity="other"><xliff:g id="NUM_PEOPLE">%d</xliff:g> andre</item>
       <item quantity="one">1 annen</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Samtaler"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"Fra alle samtaler"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"Fra viktige samtaler"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"Ikke tillat noen samtaler"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"Tillat meldinger"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"For å kontrollere at tillatte meldinger lager lyd, sjekk om enheten din er satt til ringing, vibrering eller lydløs."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"Innkommende meldinger er blokkert for «<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>». Du kan justere innstillinger for å la venner, familie eller andre kontakter nå deg."</string>
@@ -3606,15 +3693,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"Ingen"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"Ikke tillat anrop"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"Ikke tillat meldinger"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"Tillat alarmer"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"Alarmer"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"Fra nedtellinger, alarmer, sikkerhetssystemer og andre apper"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"alarmer"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"Spill av lyd for medier"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"Lyd fra medier"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"Fra videoer, spill og andre medier"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"medier"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"Tillat berøringslyder"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"Berøringslyder"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"Fra tastaturet ditt og andre knapper"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"berøringslyder"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"Tillat påminnelser"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"Påminnelser"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"Fra oppgaver og påminnelser"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"påminnelser"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"Tillat aktiviteter"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"Hendelser"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"Fra kommende kalenderaktiviteter"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Tillat at apper overstyrer"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"Appunntak"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3657,6 +3749,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"La varsler som er lydløse når «Ikke forstyrr» er slått på, slå på skjermen"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"Varselinnstillinger"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"Ok"</string>
+    <string name="suggestion_button_close" msgid="6865170855573283759">"Lukk"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Send tilbakemelding om enheten"</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"Skriv inn PIN-koden for administrator"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"På"</string>
@@ -3667,6 +3760,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Krev PIN-kode for å løsne app"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Krev passord for å løsne apper"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Lås enheten når apper løsnes"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Bekreft sletting av SIM-kort"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"Bekreft at det er deg, før du sletter et nedlastet SIM-kort"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"Denne arbeidsprofilen administreres av:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"Administrert av <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(Eksperimentell)"</string>
@@ -3741,8 +3836,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"Alle apper"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Installerte apper"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Instant-apper"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"Personlig"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"Jobb"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"Apper: alle"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"Slått av"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"Kategorier: svært høy viktighet"</string>
@@ -3754,6 +3847,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"Ukjent app"</string>
     <string name="app_permissions" msgid="8666537659217653626">"Behandle tillatelser"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"Apper som bruker <xliff:g id="APPS">%1$s</xliff:g>"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"Apper som bruker <xliff:g id="APPS">%1$s</xliff:g>, med mer"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"Trykk for å vekke"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"Dobbelttrykk hvor som helst på skjermen for å vekke enheten"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"Åpning av linker"</string>
@@ -3765,9 +3859,14 @@
       <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> apper som åpner støttede linker</item>
       <item quantity="one">Én app som åpner støttede linker</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"Åpne med denne appen"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"Tillat at appen åpner linker som støttes"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"Spør hver gang"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"Ikke åpne med denne appen"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"Ikke tillat at appen åpner linker"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="other">Appen hevder at den håndterer <xliff:g id="COUNT_1">%d</xliff:g> linker</item>
+      <item quantity="one">Appen hevder at den håndterer <xliff:g id="COUNT_0">%d</xliff:g> link</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"Appen hevder at den håndterer disse linkene:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"Standard"</string>
     <string name="default_for_work" msgid="537558180548617528">"Jobbstandard"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"Assistent og taleinndata"</string>
@@ -3911,8 +4010,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"Vis over andre apper"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Tillat visning over andre apper"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"Tillat at denne appen vises over andre apper du bruker. Den kan kanskje virke forstyrrende for andre apper eller endre måten de vises eller fungerer på."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"Tilgang til alle filer"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"Gi tilgang til å administrere alle filer"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Gi denne appen tillatelse til å lese, endre og slette alle filer på denne enheten eller tilkoblede lagringsvolum. Hvis du gir appen tillatelsen, kan den få tilgang til filer uten at du er klar over det."</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"Har tilgang til alle filer"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"vr, lyttetjeneste for virtuell virkelighet, stereo, hjelpetjenester"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"vindusdialogboks for systemvarsel vises over andre apper"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"Vis over andre apper"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"<xliff:g id="COUNT_0">%1$d</xliff:g> av <xliff:g id="COUNT_1">%2$d</xliff:g> apper kan vises over andre apper"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"Apper med tillatelse"</string>
@@ -4078,6 +4180,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"<xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g> er brukt"</string>
     <string name="data_overusage" msgid="3680477320458707259">"<xliff:g id="ID_1">^1</xliff:g> over grensen"</string>
     <string name="data_remaining" msgid="6316251496381922837">"<xliff:g id="ID_1">^1</xliff:g> gjenstår"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"Diagram som viser databruk mellom <xliff:g id="START_DATE">%1$s</xliff:g> og <xliff:g id="END_DATE">%2$s</xliff:g>."</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"Det finnes ingen data i denne datoperioden"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="other">%d dager igjen</item>
       <item quantity="one">%d dag igjen</item>
@@ -4141,14 +4245,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"pakkestørrelse"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"et varsel er varslet"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"lyd"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"vibrer"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"mønster"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"standard"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"kanal"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"ingen"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"Rangeringsobjektet mangler."</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"Rangeringsobjektet inneholder ikke denne tasten."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"Angivelse av tema"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"Standard for enheten"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"Skjermutklipp"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"skjermutklipp, hakk"</string>
@@ -4237,8 +4337,12 @@
     <string name="information_label" msgid="6939310810756569298">"Informasjon"</string>
     <string name="low_label" msgid="6525629096999711220">"Lav"</string>
     <string name="high_label" msgid="357503396626018487">"Høy"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"Høyere følsomhet kan være i konflikt med appbevegelser langs kantene av skjermen."</string>
+    <string name="left_edge" msgid="1513576842959071849">"Venstre kant"</string>
+    <string name="right_edge" msgid="1505309103265829121">"Høyre kant"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"Høyere følsomhet kan være i konflikt med appbevegelser langs kantene av skjermen."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"Følsomhet for tilbakebevegelsen"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"Innstillinger for bevegelser"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"navigasjon med bevegelser, følsomhet for tilbakebevegelsen, tilbakebevegelse"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"Dobbelttrykk for å sjekke telefonen"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"Dobbelttrykk for å sjekke nettbrettet"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"Dobbelttrykk for å sjekke enheten"</string>
@@ -4393,7 +4497,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"Utløs operatørhåndtering"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"Oppdater «Ikke forstyrr»"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"Sett varsler på pause for å holde deg fokusert"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"Denne funksjonen er ikke tilgjengelig på denne enheten"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"Funksjonen er ikke tilgjengelig"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"Denne funksjonen er slått av fordi den gjør telefonen din tregere"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"Tving fullstendige GNSS-målinger"</string>
@@ -4403,20 +4506,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"Velg en ANGLE-aktivert app"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"Du har ikke angitt noen ANGLE-aktivert app"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"ANGLE-aktivert app: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"Innstillinger for Game Driver"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"Endre innstillinger for Game Driver"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"Når Game Driver er slått på, kan du velge å bruke den oppdaterte grafikkdriveren for apper som er installert på enheten."</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"Aktiver for alle apper"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"Velg en grafikkdriver"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"Standard"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"Game Driver"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"Driver som ikke er utgitt ennå"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"Systemets grafikkdriver"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"Innstillinger for grafikkdriver"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"Endre innstillingene for grafikkdriver"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"Når det finnes flere grafikkdrivere, kan du velge å bruke den oppdaterte grafikkdriveren for apper som er installert på enheten."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"Aktiver for alle apper"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"Velg en grafikkdriver"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"Standard"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"Spilldriver"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"Utviklerdriver"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Systemets grafikkdriver"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Endringer av appkompatibilitet"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Slå endringer av appkompatibilitet på/av"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Endringer som er aktivert som standard"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Endringer som er deaktivert som standard"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"Innstillingen støttes ikke på denne telefonen"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"Innstillingen støttes ikke på dette nettbrettet"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"Innstillingen støttes ikke på denne enheten"</string>
@@ -4435,6 +4544,12 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"Enhet"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Utilgjengelig under samtaler"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"Utilgjengelig"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"Legg til utenheter"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"Gruppe"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 enhet er valgt"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> enheter er valgt"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"Svar på anropet med"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Dette APN-et kan ikke endres."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Forbedre nettbrettets batterilevetid"</string>
@@ -4552,10 +4667,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Bare ett nedlastet SIM-kort kan være aktivt om gangen.\n\nHvis du bytter til <xliff:g id="CARRIER1">%1$s</xliff:g>, kanselleres ikke <xliff:g id="CARRIER2">%2$s</xliff:g>-tjenesten din."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Bytt til <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Slett SIM-kort"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Vil du slette dette nedlastede SIM-kortet?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Hvis du sletter dette SIM-kortet, fjernes <xliff:g id="CARRIER_0">%1$s</xliff:g>-tjenesten fra denne enheten.\n\nTjenesten for <xliff:g id="CARRIER_1">%2$s</xliff:g> blir ikke kansellert."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Slett"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Sletter SIM-kort …"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Kan ikke slette SIM-kort"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Dette SIM-kortet kan ikke slettes på grunn av en feil.\n\nStart enheten din på nytt og prøv igjen."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Foretrukket nettverkstype"</string>
@@ -4580,7 +4691,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Ugyldig nettverksmodus (<xliff:g id="NETWORKMODEID">%1$d</xliff:g>). Ignorer."</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Navn på tilgangspunkt"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Utilgjengelig når du er koblet til <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"Medisinsk informasjon, nødkontakter"</string>
     <string name="see_more" msgid="7499355691042812723">"Se flere"</string>
     <string name="see_less" msgid="2642392725363552793">"Se mindre"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"Enhet som skal brukes med <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
@@ -4589,11 +4699,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"Noe dukket opp. Appen har kansellert forespørselen om å velge en enhet."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"Tilkoblingen var vellykket"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"Vis alle"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> enheter er tilkoblet</item>
-      <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_0">%1$d</xliff:g> enhet er tilkoblet</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"Ingen Bluetooth-enheter"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"Søker etter enheten …"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"Kobler til enheten …"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"Venstre"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"Høyre"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Etui"</string>
@@ -4603,6 +4710,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"Utilgjengelig i flymodus"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"Tvungen skrivebordsmodus"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Tvungen eksperimentell skrivebordsmodus på sekundære skjermer"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"Slå på fritt format for sizecompat"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"Tillat at sizecompat-apper er i fritt format"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Overstyr tving mørk"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"Overstyrer tving mørk-funksjonen til å være alltid på"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"Personvern"</string>
@@ -4639,6 +4748,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Du har nylig installert denne appen."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Bytt utenhet"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Spiller nå av på <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (frakoblet)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Kan ikke bytte. Trykk for å prøve igjen."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Viktig informasjon"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"FORTSETT"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"NEI TAKK"</string>
@@ -4666,8 +4777,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"Kombinasjon av SIM-kort"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Informasjon om jobbretningslinjene dine"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Innstillingene administreres av IT-administratoren din"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"Feilrapporthåndtering"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Fastslår hvilken app som håndterer Feilrapport-snarveien på enheten din."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Personlig"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"Jobb"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"Systemstandard"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"Dette valget er ikke gyldig lenger. Prøv på nytt."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"Stopp castingen"</string>
 </resources>
diff --git a/res/values-ne/arrays.xml b/res/values-ne/arrays.xml
index 3f48106..af4c0e0 100644
--- a/res/values-ne/arrays.xml
+++ b/res/values-ne/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"तुरुन्तै"</item>
     <item msgid="463591454172790676">"५ सेकेन्ड"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"प्रमाणित नगर्नुहोस्"</item>
+    <item msgid="5703177653586269306">"प्रमाणपत्रको स्थिति प्राप्त गर्न अनुरोध गर्नुहोस्"</item>
+    <item msgid="326388247868439528">"प्रमाणपत्रको स्थिति आवश्यक छ"</item>
+    <item msgid="1090956283885790552">"अविश्वसनीय प्रमाणपत्रका सबै स्थितिहरू आवश्यक छन्"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"Push बटन"</item>
     <item msgid="2630618799033509548">"PIN जोडी उपकरणबाट"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"कुनै पनि होइन"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"IPSec VPN पूर्व साझेदारी कुञ्जी र Xauth प्राधिकरणसँग"</item>
     <item msgid="2484564813864139237">"प्रमाणपत्रहरू र Xauth प्रमाणीकरणको साथ IPSec VPN"</item>
     <item msgid="68918911194507915">"प्रमाणपत्रहरू र हाईब्रिड प्रमाणीकरणसँग IPSec VPN"</item>
+    <item msgid="4631647675167100375">"प्रमाणपत्रहरू र पासवर्ड प्रमाणीकरणसहितको IKEv2/IPSec VPN"</item>
+    <item msgid="8812228622975052811">"पहिले नै आदान प्रदान गरिएका साँचाहरूसहितको L2TP/IPSec VPN"</item>
+    <item msgid="6630554779981113046">"प्रमाणपत्रहरूसहितको IKEv2/IPSec VPN"</item>
   </string-array>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"कुनै पनि होइन"</item>
diff --git a/res/values-ne/config.xml b/res/values-ne/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-ne/config.xml
+++ b/res/values-ne/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml
index 1f8070d..aaac498 100644
--- a/res/values-ne/strings.xml
+++ b/res/values-ne/strings.xml
@@ -31,49 +31,17 @@
     <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="radio_info_data_connection_enable" msgid="7500945447906187613">"डेटामा जडानलाई सक्रिय गर्नुहोस्"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"डेटामा जडानलाई असक्षम गर्नुहोस्"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"VoLTE को प्रावधानीकरणलाई सक्रिय गरिएको छ"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"भिडियो कलिङ सम्बन्धी प्रावधानलाई सक्रिय गरिएको छ"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"Wifi कलिङ सम्बन्धी प्रावधानलाई सक्रिय गरिएको छ"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"EAB/Presence Provisioned"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"Cbrs डेटा"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"DSDS सक्षम पार्नुहोस्"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"यन्त्र पुनः सुरु गर्ने हो?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"यो सेटिङ परिवर्तन गर्न तपाईंले आफ्नो यन्त्र पुनः सुरु गर्नु पर्ने हुन्छ।"</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"पुनः सुरु गर्नुहोस्"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"रद्द गर्नुहोस्"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"मोबाइल रेडियोको पावर"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"SIM को ठेगाना पुस्तिका हेर्नुहोस्"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"स्थिर डायल गर्ने नम्बरहरू हेर्नुहोस्"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"सेवा डायल गर्ने नम्बरहरू हेर्नुहोस्"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"IMS सेवाको स्थिति"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"IMS को स्थिति"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"दर्ता गरिएको"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"दर्ता नगरिएको"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"उपलब्ध"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"अनुपलब्ध"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"IMS को दर्ता: <xliff:g id="STATUS">%1$s</xliff:g>\nभ्वाइस ओभर LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nभ्वाइस ओभर WiFi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nभिडियो कलिङ: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT को इन्टरफेस: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"सेवामा"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"सेवा उपलब्ध छैन"</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>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"निष्क्रिय"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"घन्टी दिइरहेको"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"कल जारी छ"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"जडान विच्छेद भयो"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"जडान हुँदै"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"जडान गरिएको"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"निलम्बित"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"अज्ञात"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"pkts"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"बाइटहरू"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"USB भण्डारण अनमाउन्ट गर्नुहोस्"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"SD कार्ड अनमाउन्ट गर्नुहोस्"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"USB भण्डारण मेटाउनुहोस्"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"स्क्रिनमा भएको पाठलाई अझै सानो वा ठूलो बनाउनुहोस्।"</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"अझ सानो बनाउनुहोस्"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"अझ ठूलो बनाउनुहोस्"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"नमूना पाठ"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"दि वन्डरफुल विजार्ड अफ ओज"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"अध्याय ११: दि वन्डरफुल एमरल्ड सिटी अफ ओज"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"यो सेटिङ परिवर्तन गर्न तपाईंले आफ्नो यन्त्र पुनः सुरु गर्नु पर्छ।"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"पुन: सुरु गर्नु…"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"रद्द गर्नु…"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"मिडियासम्बन्धी सुविधा भएका उपलब्ध यन्त्रहरू"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"कल गर्ने सुविधा भएका उपलब्ध यन्त्रहरू"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"हाल जडान अवस्थामा छ"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"मिडियासम्बन्धी यन्त्रहरू"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"कल गर्ने सुविधा भएका यन्त्रहरू"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"अन्य यन्त्रहरू"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"सुरक्षित गरिएका यन्त्रहरू"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"जोडा बनाउनका लागि ब्लुटुथ सक्रिय हुने छ"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"जडानसम्बन्धी प्राथमिकताहरू"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"तपाईंले टाइप गर्नुभएको पोर्ट मान्य छैन।"</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"HTTP प्रोक्सी ब्राउजरद्वारा प्रयोग गरिन्छ तर अन्य अनुप्रयोगहरूद्वारा प्रयोग गर्न नसकिने पनि हुन सक्छ।"</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"PAC URL: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"हालको subId:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"पूर्वनिर्धारित मोबाइल डेटा SIM को SubId:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"DL ब्यान्डविथ (kbps):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"UL व्यान्डविथ (kbps):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"सेलको स्थान बारे जानकारी (प्रचलनमा नरहेको):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"LTE को भौतिक च्यानलको कन्फिगरेसन:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"सेल सम्बन्धी जानकारीलाई पुन:ताजा गरिने आवृत्ति:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"सेलको मापन सम्बन्धी सबै जानकारी:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"डेटा सम्बन्धी सेवा:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"रोमिङ:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"कल रिडिरेक्ट:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"बुट भएदेखि PPP रिसेटको संख्या:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"हालको नेटवर्क:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"प्राप्त गरिएको डेटा:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"आवाज सम्बन्धी सेवा:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"सिग्नलको क्षमता:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"भ्वाइस कलको स्थिति:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"पठाइएको डेटा:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"सन्देशलाई कुर्ने:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"फोन नम्बर:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"रेडियोको ब्यान्डलाई चयन गर्नुहोस्"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"आवाज सम्बन्धी नेटवर्कको प्रकार:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"डेटा नेटवर्कको प्रकार:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"फोनको सूचक चयन गर्नुहोस्"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"रुचाइएको नेटवर्कको प्रकारलाई सेट गर्नुहोस्:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"पिङ् होस्टनाम (www.google.com) IPv4:"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"पिङ होस्टनाम (www.google.com) IPv6:"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"HTTP क्लाइन्टको परीक्षण:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"पिङ सम्बन्धी परीक्षण सञ्चालन गर्नुहोस्"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"अद्यावधिक गर्नुहोस्"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"पुनःताजा गर्नुहोस्"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"DNS को जाँचलाई टगल गर्नुहोस्"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"OEM-विशिष्ट जानकारी/सेटिङहरू"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"रेडियोको ब्यान्ड सम्बन्धी मोडलाई सेट गर्नुहोस्"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"ब्यान्डको सूचीलाई लोड गर्दै…"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"सेट गर्नुहोस्"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"असफल"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"सफलता"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"जब USB तार पुन|जडित हुन्छ तब परिवर्तनहरू प्रभावकारी हुन्छन्।"</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"USB ठूलो भण्डारण सक्रिय गर्नुहोस्"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"कूल बाइट्स:"</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"तल्लो भागमा सार्नुहोस्"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"भाषालाई हटाउनुहोस्"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"गतिविधि छनौट गर्नुहोस्"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"उपकरणको जानकारी"</string>
     <string name="display_label" msgid="3056320781191343221">"स्क्रिन"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"ट्याब्लेट जानकारी"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"फोन जानकारी"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"USB भण्डारण"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"SD कार्ड"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"प्रोक्सी सेटिङहरू"</string>
@@ -306,9 +234,6 @@
     <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, ब्लुटुथ, हवाइजहाज मोड, मोबाइल नेटवर्क, र VPNs व्यवस्थापन गर्नुहोस्"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"मोबाइल डेटा"</string>
-    <string name="calls_title" msgid="6334813967619899114">"कलहरूलाई अनुमति दिनुहोस्"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"SMS सन्देशहरू"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"मोबाइल नेटवर्कमार्फत डेटा प्रयोग गर्न अनुमति दिनुहोस्"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"रोमिङ हुँदा डेटा उपयोग अनुमति"</string>
     <string name="roaming" msgid="3055365654530847985">"रोमिङ"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"रोमिङ हुँदा डेटा सेवासँग जोड्नुहोस्"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"तपाईंले डेटा जडान गुमाउनुभयो किनभने तपाईंले गृह नेटवर्क डेटा रोमिङ बन्द गरेर छोड्नुभयो।"</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"सक्रिय पार्नुहोस्"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"तपाईंलाई महत्त्वपूर्ण शुल्क लाग्न सक्छ।"</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"डेटा रोमिङलाई अनुमति दिँदा तपाईँलाई महत्त्वपूर्ण रोमिङ शुल्क लाग्न सक्छ ! \n \n यो सेटिङ प्रभाव यस ट्याब्लेटका सबै प्रयोगकर्तामा पर्छ।"</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"डेटा रोमिङलाई सक्रिय बनाउनु भयो भने तपाईँलाई ठूलै मात्रामा रोमिङ शुल्क पर्न सक्छ! \n \n यस सेटिङले यस फोनका सबै प्रयोगकर्ताहरूलाई प्रभाव पर्ने छ।"</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"रोमिङ शुल्क लाग्न सक्छ।"</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"डेटा रोमिङलाई अनुमति दिँदा रोमिङ शुल्क लाग्न सक्छ।\n\nयो सेटिङको प्रभाव यस ट्याब्लेटका सबै प्रयोगकर्तामा पर्छ।"</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"डेटा रोमिङलाई अनुमति दिँदा रोमिङ शुल्क लाग्न सक्छ।\n\nयो सेटिङको प्रभाव यस फोनका सबै प्रयोगकर्तामा पर्छ।"</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"डेटा रोमिङको अनुमति दिनुहुन्छ?"</string>
     <string name="networks" msgid="5184501333492775095">"सञ्चालक चयन"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"एउटा नेटवर्क संचालक छान्नुहोस्"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"प्रशासकद्वारा असक्षम पारिएको छ"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"लकडाउन गर्ने विकल्प देखाउनुहोस्"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"Smart Lock, फिंगरप्रिन्टमार्फत अनलक गर्ने र लक स्क्रिनसम्बन्धी सूचनाहरू दिने सेवा निस्क्रिय पार्ने पावर बटनसम्बन्धी विकल्प देखाउनुहोस्"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"विश्वस्त एजेन्टहरूले अनलक मोडको विकल्पलाई मात्र विस्तार गर्छन्"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"सक्षम परिएका खण्डमा विश्वस्त एजेन्टहरूले तपाईंको यन्त्र धेरै बेरसम्म अनलक रूपमा राख्छन् तर लक भएको यन्त्रलाई भने अब उप्रान्त अनलक गर्न सक्दैनन्।"</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"विश्वास गुमाइँदा स्क्रिन लक गर्नुहोस्"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"यो सुविधा सक्षम पारियो भने अन्तिम विश्वस्त एजेन्टले विश्वास गुमाउँदा यन्त्र लक हुने छ"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"कुनै पनि होइन"</string>
@@ -390,7 +313,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"मेरो स्थान, स्क्रिन अनलक, SIM कार्ड लक, प्रामाणिक भण्डारण लक सेट गर्नुहोस्"</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"मेरो स्थान, स्क्रिन अनलक, भण्डारण लकका गोप्य डेटा सेट गर्नुहोस्"</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"गोपनीयता"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"प्रशासकद्वारा असक्षम पारिएको छ"</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>
@@ -693,7 +616,6 @@
       <item quantity="other">अनिवार्य रूपमा <xliff:g id="NUMBER_1">%d</xliff:g> अङ्कहरू भन्दा कम हुनु पर्छ</item>
       <item quantity="one">अनिवार्य रूपमा <xliff:g id="NUMBER_0">%d</xliff:g> अङ्क भन्दा कम हुनु पर्छ</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"अनिवार्य रूपमा ० देखि ९ सम्मका अङ्कहरू मात्र समावेश हुनु पर्छ"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"यन्त्र प्रशासकले पछिल्लो PIN प्रयोग गर्न अनुमति दिँदैन"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"तपाईंकसे IT व्यवस्थापकले धेरै प्रयोग हुने PIN हरूमाथि रोक लगाउनु भएको छ। कुनै फरक PIN प्रयोग गरी हेर्नुहोस्।"</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"यसमा अमान्य वर्ण समावेश गर्न सकिँदैन"</string>
@@ -724,6 +646,10 @@
       <item quantity="other">कम्तीमा पनि <xliff:g id="COUNT">%d</xliff:g> वटा गैर-अक्षर वर्ण हुनु अनिवार्य छ</item>
       <item quantity="one">कम्तीमा पनि एउटा गैर-अक्षर वर्ण हुनु अनिवार्य छ</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="other">कम्तीमा पनि <xliff:g id="COUNT">%d</xliff:g> गैर-सङ्ख्यात्मक वर्ण हुनु अनिवार्य छ</item>
+      <item quantity="one">कम्तीमा पनि एउटा गैर-सङ्ख्यात्मक वर्ण हुनु अनिवार्य छ</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"यन्त्रको प्रशासकले पछिल्लो पासवर्ड प्रयोग गर्ने अनुमति दिँदैन"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"तपाईंकसे IT व्यवस्थापकले धेरै प्रयोग हुने पासवर्डहरूमाथि रोक लगाउनु भएको छ। कुनै फरक पासवर्ड प्रयोग गरी हेर्नुहोस्।"</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"बढ्दो, घट्दो वा दोहोरिएका अङ्कहरूको अनुक्रमलाई निषेध गरिएको छ"</string>
@@ -837,19 +763,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"२.४ GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"५ GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"साइन इन गर्नुहोस्"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"साइट खोल्नुहोस्"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"<xliff:g id="REMAINING_TIME">%1$s</xliff:g> बाँकी"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"म्याद सकिने समय: <xliff:g id="EXPIRY_TIME">%1$s</xliff:g>"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"नेटवर्कमा साइन इन गर्न यहाँ ट्याप गर्नुहोस्"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"<xliff:g id="REQUESTER">%s</xliff:g> Wi-Fi सक्रिय गर्न चाहन्छ"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"<xliff:g id="REQUESTER">%s</xliff:g> Wi-Fi निष्क्रिय पार्न चाहन्छ"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"डिबग गर्न मिल्ने एपको बाइटकोड पुष्टि गर्नु…"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"ART लाई डिबग गर्न मिल्ने अनुप्रयोगहरूको बाइटकोड पुष्टि गर्न दिनुहोस्"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"पुनः ताजा गर्ने दर देखाउनु…"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"हालको प्रदर्शनको पुनः ताजा गर्ने दर देखाउनुहोस्"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"ट्याब्लेटले कुनै अन्य उपकरणलाई छुँदा डेटा विनिमयको अनुमति दिनुहोस्।"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"फोनले अर्को उपकरणलाई छुँदा डेटा विनिमयलाई अनुमति दिनुहोस्"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"ट्याब्लेटले NFC यन्त्र छुँदा डेटा विनिमयलाई अनुमति दिनुहोस्"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"फोनले NFC यन्त्र छुँदा डेटा विनिमयलाई अनुमति दिनुहोस्"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"NFC सक्रिय गर्नुहोस्"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"NFC ले यो यन्त्र र भुक्तानीको टर्मिनल, पहुँच सम्बन्धी रिडर र अन्तरक्रियात्मक विज्ञापन वा ट्यागहरू जस्ता अन्य नजिकका यन्त्र वा लक्ष्यहरू बीच डेटा आदानप्रदान गर्छ।"</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"NFC सुरक्षित पार्नुहोस्"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFC प्रयोग गर्न यन्त्र अनलक गर्नु पर्ने हुन्छ"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"स्क्रिन अनलक भएका बेलामा मात्र NFC भुक्तानी र ट्रान्जिटको प्रयोगलाई अनुमति दिनुहोस्"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"एन्ड्रोइड बिम"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"NFCको माध्यमबाट अनुप्रयोग सामग्री प्रसारित गर्नको लागि तयार"</string>
@@ -923,8 +855,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"सक्रिय गर्नुहोस्"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Wi‑Fi स्क्यान गर्ने सेवा सक्रिय छ"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"उन्नत विकल्पहरू"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"ड्रप डाउन सूचीका उन्नत विकल्पहरू। संक्षिप्त गर्न डबल-ट्याप गर्नुहोस्।"</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"ड्रप डाउन सूचीका उन्नत विकल्पहरू। विस्तृत गर्न डबल-ट्याप गर्नुहोस्।"</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"ड्रप-डाउन सूचीका उन्नत विकल्पहरू"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"विस्तृत गर्नुहोस्"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"सञ्जाल नाम"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"SSID प्रविष्टि गर्नुहोस्"</string>
     <string name="wifi_security" msgid="9095934643631406913">"सुरक्षा"</string>
@@ -934,6 +866,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"वस्तुस्थिति"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"लिंकको गति ट्रान्समिट गर्नुहोस्"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"लिंक प्राप्त गर्ने गति"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"लिङ्क गति"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"आवृत्ति"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"IP ठेगाना"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"मार्फत सुरक्षित गरियो"</string>
@@ -941,6 +874,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"EAP विधि"</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>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"प्रयोगकर्ता प्रमाणपत्र"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"पहिचान गर्नुहोस्"</string>
@@ -957,6 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"Wi‑Fi हटस्पटका लागि कम्तीमा एक ब्यान्ड छनौट गर्नुहोस्:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"IP सेटिङहरू"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"गोपनीयता"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"सदस्यता"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"सदस्यता हेर्नुहोस् वा परिवर्तन गर्नुहोस्"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"अनियमित MAC"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"कुनै यन्त्र थप्नुहोस्"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"उक्त यन्त्रलाई “<xliff:g id="SSID">%1$s</xliff:g>” मा यन्त्र थप्न तलको QR कोडलाई मध्य भागमा राख्नुहोस्"</string>
@@ -966,12 +902,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"Wi‑Fi साझा रूपमा प्रयोग गर्नुहोस्"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"“<xliff:g id="SSID">%1$s</xliff:g>” मा जडान गर्न यो QR कोड स्क्यान गर्नुहोस् र पासवर्ड आदान प्रदान गर्नुहोस्"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"“<xliff:g id="SSID">%1$s</xliff:g>” मा जडान गर्न QR कोड स्क्यान गर्नुहोस्"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"QR कोड पढ्न सकिएन। कोडलाई पुनः केन्द्रमा ल्याउनुहोस् र फेरि प्रयास गर्नुहोस्"</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"फेरि प्रयास गर्नुहोस्। समस्या यथावत् रहिरहेमा यन्त्रका निर्मातासँग सम्पर्क गर्नुहोस्"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"केही चिज गडबड भयो"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"यन्त्र प्लग इन गरिएको, चार्ज भएको र सक्रिय पारिएको कुरा सुनिश्चित गर्नुहोस्"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"यन्त्र प्लग इन गरिएको, चार्ज भएको र सक्रिय पारिएको कुरा सुनिश्चित गर्नुहोस्। समस्या यथावत् रहिरहेमा यन्त्रका निर्मातासँग सम्पर्क गर्नुहोस्"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"यस यन्त्रले “<xliff:g id="SSID">%1$s</xliff:g>” थप्न सक्दैन"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"उक्त यन्त्र आफ्नो Wi‑Fi पहुँच बिन्दु/राउटरको नजिक सारी हेर्नुहोस्"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"पासवर्डको जाँच गरी फेरि प्रयास गर्नुहोस्"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"यन्रको निर्मातासँग सम्पर्क गर्नुहोस्"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"इन्टरनेटको जाँच गरी फेरि प्रयास गर्नुहोस्"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"नेटवर्क छनौट गर्नुहोस्"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"आफ्नो यन्त्र जडान गर्न कुनै नेटवर्क छनौट गर्नुहोस्"</string>
@@ -984,11 +922,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"यो सेवामार्फत Wi‑Fi आदान प्रदान गर्दै…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"जडान गर्दै…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"हटस्पट आदान प्रदान गर्नुहोस्"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"यो तपाईं नै हो भन्ने पुष्टि गर्नुहोस्"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"तपाईं नै हुनुहुन्छ भन्ने पुष्टि गर्नुहोस्"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"Wi-Fi को पासवर्ड: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"हटस्पटको पासवर्ड: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"स्वतः जडान"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"फोनलाई यो नेटवर्कका छेउमा हुँदा स्वतः जोडिन दिनुहोस्"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"ट्याब्लेटलाई यो नेटवर्कका छेउमा हुँदा स्वतः जोडिन दिनुहोस्"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"यन्त्र थप्नुहोस्"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"यो नेटवर्कमा थप्नका ला्गि कुनै QR प्रयोग गर्नुहोस्"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"QR कोडको ढाँचा मान्य छैन"</string>
     <string name="retry" msgid="7542103800274026915">"पुनः प्रयास गर्नु…"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"अन्य यन्त्र प्रयोगकर्ताहरूसँग साझेदारी गर्नुहोस्"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(अपरिवर्तित)"</string>
@@ -1000,6 +942,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"कुनै प्रमाणपत्र निर्दिष्ट गरिएको छैन। तपाईंको जडान निजी हुने छैन।"</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"नेटवर्कको नाम धेरै लामो भयो।"</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"डोमेन निर्दिष्ट गर्नुपर्छ"</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"प्रमाणपत्र चाहिन्छ।"</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"WPS उपलब्ध छ"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (WPS उपलब्ध)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"सेवा प्रदायकको Wi‑Fi नेटवर्क"</string>
@@ -1051,7 +994,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"जटिल Wi-Fi"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"म्याक ठेगाना"</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_ip_address_title" msgid="4265355419782184514">"IP ठेगाना"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"नेटवर्कसम्बन्धी विवरणहरू"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"सबनेट मास्क"</string>
@@ -1103,7 +1047,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"आफ्ना अन्य यन्त्रहरूका लागि Wi‑Fi नेटवर्क सिर्जना गर्न हटस्पट प्रयोग गर्नुहोस्। हटस्पटले तपाईंको मोबाइल डेटा जडान प्रयोग गरेर इन्टरनेट प्रदान गर्दछ। अतिरिक्त मोबाइल डेटाको शुल्क लाग्न सक्छ।"</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"अनुप्रयोगहरूले नजिकैका यन्त्रहरूसँग सामग्री आदान प्रदान गर्न एउटा हटस्पट सिर्जना गर्न सक्छन्।"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Wi‑Fi हटस्पट स्वतः निष्क्रिय पार्नुहोस्"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"कुनै पनि यन्त्र जडान नहुँदा Wi‑Fi हटस्पट स्वतः निष्क्रिय हुनेछ"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"कुनै पनि यन्त्र जडान नगरिएका बेला"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"हटस्पट खुल्दै..."</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"हटस्पट बन्द गरिँदै..."</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> सक्रिय छ"</string>
@@ -1112,6 +1056,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"Wi-Fi हटस्पट सेटअप"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"AndroidAP WPA2 PSK हटस्पट"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"AndroidHotspot"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"यो नेटवर्क सुरक्षित गर्ने हो?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"<xliff:g id="APPNAME">%1$s</xliff:g> तपाईंको फोनमा एउटा नेटवर्क सुरक्षित गर्न चाहन्छ"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"<xliff:g id="APPNAME">%1$s</xliff:g> तपाईंको ट्याब्लेटमा कुनै नेटवर्क सुरक्षित गर्न चाहन्छ"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"सुरक्षित गर्दै…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"सुरक्षित गरियो"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"सुरक्षित गर्न सकिएन। फेरि प्रयास गर्नुहोस्।"</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"नेटवर्क सुरक्षित गर्नुहोस्?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"<xliff:g id="APPNAME">%1$s</xliff:g> तपाईंको फोनमा यी नेटवर्कहरू सुरक्षित गर्न चाहन्छ"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"<xliff:g id="APPNAME">%1$s</xliff:g> तपाईंको ट्याब्लेटमा यी नेटवर्कहरू सुरक्षित गर्न चाहन्छ"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"<xliff:g id="NUMBER">%d</xliff:g> नेटवर्कहरू सुरक्षित गर्दै…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"नेटवर्कहरू सुरक्षित गरियो"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"Wi-Fi कलिङ"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"Wi‑Fi मार्फत कल गर्ने सेवाको क्षेत्र विस्तार गर्नुहोस्"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"पहुँच क्षेत्र विस्तार गर्न Wi-Fi मार्फत कल गर्ने सेवालाई सक्रिय गर्नुहोस्‌"</string>
@@ -1138,16 +1093,18 @@
     <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>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"Wi-Fi कलिङ सक्रिय गर्नुहोस्"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"Wi-Fi कलिङ सक्रिय गर्नुहोस्"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"%1$s मा Wi-Fi कलिङ समर्थित छैन"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"<xliff:g id="SSID">%1$s</xliff:g> बाट विच्छेद गरियो"</string>
     <string name="carrier" msgid="1755020806290963951">"सेवा प्रदायक"</string>
     <string name="display_settings_title" msgid="626835071804834218">"प्रदर्शन"</string>
     <string name="sound_settings" msgid="5514582720435174014">"आवाज"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"भोल्युम"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"सङ्गीत प्रभावहरू"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"घन्टीको भोल्युम"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"घन्टी तथा सूचनाको आवाज"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"मौन भएको बेला भाइब्रेट गर्नुहोस्"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"पूर्वनिर्धारित सूचना आवाज"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"रिङटोन"</string>
@@ -1272,13 +1229,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"समयतालिका"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"कुनै पनि होइन"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"सूर्यास्तदेखि सूर्योदयसम्म सक्रिय गर्छ"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"आफू अनुकूल समयमा सक्रिय हुन्छ"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"स्थिति"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"निष्क्रिय / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"कहिले पनि स्वतः सक्रिय हुने छैन"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"सूर्यास्तको बेला स्वतः सक्रिय हुने छ"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"<xliff:g id="ID_1">%1$s</xliff:g> मा स्वतः सक्रिय हुने छ"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"सक्रिय / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"कहिल्यै पनि स्वतः निष्क्रिय हुने छैन"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"सूर्योदयको बेला स्वतः निष्क्रिय हुने छ"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"<xliff:g id="ID_1">%1$s</xliff:g> मा स्वतः निष्क्रिय हुने छ"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"<xliff:g id="ID_1">%1$s</xliff:g> सम्म सक्रिय गर्नुहोस्"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"<xliff:g id="ID_1">%1$s</xliff:g> सम्म निष्क्रिय पार्नुहोस्"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"केही स्क्रिनहरूमा तपाईंको ब्याट्री अझै लामो समयसम्म टिकाएर राख्न कालो रङको पृष्ठभूमि प्रयोग गर्दछ। अँध्यारो विषयवस्तु तपाईंको स्क्रिन निष्क्रिय नहुन्जेल सक्रिय नहुने समयतालिका तय गर्दछ।"</string>
     <string name="screen_timeout" msgid="7709947617767439410">"स्क्रिन टाइम आउट हुने समय"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"स्क्रिन बन्द हुन्छ"</string>
@@ -1290,7 +1252,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"वालपेपरलाई परिवर्तन गर्नुहोस्"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"तपाईँको स्क्रिनलाई निजीकृत गर्नुहोस्"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"बाट वालपेपर छान्नुहोस्"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"आफ्नो Pixel लाई आफू अनुकूल पार्नुहोस्"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"आफ्नो फोन आफूले चाहे जस्तो पार्नुहोस्‌"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"विभिन्न शैली, वालपेपर र थप कुरा चलाएर हेर्नुहोस्"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"स्क्रिन सेभर"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"चार्ज वा डक गरिरहँदा"</string>
@@ -1379,6 +1341,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"USB भण्डारण अनमाउन्ट गर्नुहोस्, उपलब्ध भण्डारण हेर्नुहोस्"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"SD कार्ड अनमाउन्ट गर्नुहोस्, उपलब्ध भण्डारण हेर्नुहोस्"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (sim सल्ट %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"हेर्नका लागि, सुरक्षित गरिएको नेटवर्क छनौट गर्नुहोस्"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"फोन नम्बर"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (sim को सल्ट %1$d)"</string>
@@ -1405,6 +1368,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"रोमिङ"</string>
     <string name="status_operator" msgid="4335640583552058491">"सञ्जाल"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"Wi-Fi म्याक ठेगाना"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"यन्त्रको Wi‑Fi MAC ठेगाना"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"ब्लुटुथ ठेगाना"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"क्रम संख्या"</string>
     <string name="status_up_time" msgid="1274778533719495438">"सक्रिय समय"</string>
@@ -1617,6 +1581,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"पूर्वनिर्धारित APN सेटिङहरू पुनःसेट पुरा भयो।"</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"रिसेटका विकल्पहरू"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"नेटवर्क, अनुप्रयोगहरू वा यन्त्रलाई रिसेट गर्न सकिन्छ"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"अनुप्रयोगहरू रिसेट गरिन सक्छ"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"Wi-Fi, मोबाइल र ब्लुटुथ रिसेट गर्नुहोस्"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"यसले निम्न सेटिङहरू लगायत सम्पूर्ण नेटवर्क सम्बन्धी सेटिहरूलाई रिसेट गर्ने छ:\n\n"<li>"Wi‑Fi"</li>\n<li>"मोबाइल डेटा"</li>\n<li>"ब्लुटुथ"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"डाउनलोड गरिएका SIM हरू मेट्नुहोस्"</string>
@@ -1666,6 +1631,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"हटस्पट सक्रिय छ"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"टेदरिङ"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"डेटा सेभर अन हुँदा टेदरिङ वा पोर्टेबल हटस्पटहरूको प्रयोग गर्न सक्दैन"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"हटस्पट मात्र"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"USB मात्र"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"ब्लुटुथ मात्र"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"हटस्पट, USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"हटस्पट, ब्लुटुथ"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB, ब्लुटुथ"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"हटस्पट, USB, ब्लुटुथ"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"अन्य यन्त्रहरूसँग इन्टरनेट बाँडिएको छैन"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"टेदरिङ"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Wi‑Fi हटस्पट प्रयोग नगर्नुहोस्"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"USB बाट मात्रै इन्टरनेट बाँड्नुहोस्"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"ब्लुटुथबाट मात्रै इन्टरनेट बाँड्नुहोस्"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"USB र ब्लुटुथबाट मात्रै इन्टरनेट बाँड्नुहोस्"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB टेदर गर्दै"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"USB मार्फत फोनको इन्टरनेट जडान साझा गर्नुहोस्"</string>
@@ -1756,9 +1734,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"सुरक्षा जानकारी"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"तपाईंसँग डेटा जडान छैन। अब यो जानकारी हेर्नको लागि इन्टरनेटमा जडान भएको कुनै पनि कम्प्युटरबाट %s मा जानुहोस्।"</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"लोड हुँदै..."</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"PIN प्रयोग गर्नुहोस्"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"ढाँचा प्रयोग गर्नुहोस्"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"पासवर्ड प्रयोग गर्नुहोस्"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"स्क्रिन लक सेट गर्नुहोस्"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"सुरक्षाका लागि पासवर्ड सेट गर्नुहोस्"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"फिंगरप्रिन्ट प्रयोग गर्न पासवर्ड सेट गर्नुहोस्"</string>
@@ -1767,8 +1742,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"फिंगरप्रिन्ट प्रयोग गर्न PIN सेट गर्नुहोस्"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"सुरक्षाका लागि ढाँचा सेट गर्नुहोस्"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"आफ्नो पासवर्ड पुन: प्रविष्टि गर्नुहोस्"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"आफ्नो कार्यको पासवर्ड प्रविष्टि गर्नुहोस्"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"तपाईँको ढाँचा निश्चित गर्नुहोस्"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"आफ्नो कार्यको ढाँचा प्रविष्टि गर्नु…"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"आफ्नो PIN पुन: प्रविष्टि गर्नुहोस्"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"आफ्नो कार्यको PIN प्रविष्टि गर्नुहोस्"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"पासवर्ड मेल खाँदैन"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"PIN मिल्दैन"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"आफ्नो ढाँचा फेरि कोर्नुहोस्‌"</string>
@@ -1779,6 +1757,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"फेस अनलक प्रयोग गर्न पासवर्ड सेट गर्नु…"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"फेस अनलक प्रयोग गर्न ढाँचा सेट गर्नुहोस्"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"फेस अनलक प्रयोग गर्न PIN सेट गर्नुहोस्"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"आफ्नो पासवर्ड बिर्सनुभयो?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"आफ्नो ढाँचा बिर्सनुभयो?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"आफ्नो PIN बिर्सनुभयो?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"जारी राख्नका लागि आफ्नो यन्त्रको ढाँचा प्रयोग गर्नुहोस्"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"जारी राख्नका लागि आफ्नो यन्त्रको PIN प्रविष्टि गर्नुहोस्"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"जारी राख्नका लागि आफ्नो यन्त्रको पासवर्ड प्रविष्टि गर्नुहोस्"</string>
@@ -1846,6 +1827,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"सबै अनुप्रयोग स्रोतहरू अनुमति"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"हालै खोलिएका अनुप्रयोगहरू"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"सबै <xliff:g id="COUNT">%1$d</xliff:g> अनुप्रयोगहरू हेर्नुहोस्"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"आफ्ना IT प्रशासकसँग सम्पर्क गर्नुहोस्"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"उनीहरूले तपाईंलाई आफ्नो PIN, ढाँचा र पासवर्ड रिसेट गर्न मद्दत गर्न सक्छन्"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"तपाईंको ट्याब्लेट र व्यक्तिगत डेटा अज्ञात अनुप्रयोगहरूबाट हुने आक्रमणमा पर्न सक्ने जोखिम अझ बढी हुन्छ। यो स्रोतबाट प्राप्त हुने अनुप्रयोगहरूको स्थापना गरेर, तिनीहरूको प्रयोगबाट तपाईंको ट्याब्लेटमा हुनसक्ने क्षति वा डेटाको नोक्सानीको जिम्मेवार तपाईं आफैँ हुनुहुन्छ भन्ने कुरामा तपाईं सहमत हुनुहुन्छ।"</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"तपाईंको फोन र व्यक्तिगत डेटा अज्ञात अनुप्रयोगहरूबाट हुने आक्रमणमा पर्न सक्ने जोखिम अझ बढी हुन्छ। यो स्रोतबाट प्राप्त हुने अनुप्रयोगहरूको स्थापना गरेर, तिनीहरूको प्रयोगबाट तपाईंको फोनमा हुनसक्ने क्षति वा डेटाको नोक्सानीको जिम्मेवार तपाईं आफैँ हुनुहुन्छ भन्ने कुरामा तपाईं सहमत हुनुहुन्छ।"</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"तपाईंको यन्त्र र व्यक्तिगत डेटा अज्ञात अनुप्रयोगहरूबाट हुने आक्रमणमा पर्न सक्ने जोखिम अझ बढी हुन्छ। यो स्रोतबाट प्राप्त हुने अनुप्रयोगहरूको स्थापना गरेर, तिनीहरूको प्रयोगबाट फोनमा हुनसक्ने क्षति वा डेटाको नोक्सानीको जिम्मेवार तपाईं आफैँ हुनुहुन्छ भन्ने कुरामा तपाईं सहमत हुनुहुन्छ।"</string>
@@ -1897,7 +1880,7 @@
     <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="1377296810290814749">"यसले सबै  प्राथमिकताहरूलाई पुनःसेट गर्ने छ:\n\n"<li>"असक्षम पारिएका अनुप्रयोगहरू"</li>\n<li>"असक्षम पारिएका अनुप्रयोग सूचनाहरू"</li>\n<li>"कार्यका लागि पूर्वनिर्धारित अनुप्रयोगहरू"</li>\n<li>"अनुप्रयोगहरूको लागि पृष्ठभूमि डेटा प्रतिबन्धहरू"</li>\n<li>"कुनै अनुमति प्रतिबन्धहरू"</li>\n\n"तपाईँले कुनै पनि अनुप्रयोग डेटा गुमाउनु हुने छैन।"</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>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"अनुप्रयोगहरू पुनःसेट गर्नुहोस्"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"ठाउँको प्रबन्ध गर्नुहोस्"</string>
     <string name="filter" msgid="9039576690686251462">"फिल्टर गर्नुहोस्"</string>
@@ -2097,7 +2080,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"अडियो तथा स्क्रिनमा देखिने पाठ सन्देश"</string>
     <string name="display_category_title" msgid="6638191682294461408">"प्रदर्शन"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"अन्तर्क्रियाका नियन्त्रणहरू"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"डाउनलोड गरिएका सेवाहरू"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"डाउनलोड गरिएका अनुप्रयोगहरू"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"प्रयोगात्मक"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"विशेष फ्ल्यागहरू"</string>
     <string name="talkback_title" msgid="8756080454514251327">"Talkback"</string>
@@ -2105,27 +2088,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"ठूलो आवाजमा सुन्न आफ्नो स्क्रिनमा भएका वस्तुहरूमा ट्याप गर्नुहोस्"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"क्याप्सनसम्बन्धी प्राथमिकताहरू"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"म्याग्निफिकेसन"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"म्याग्निफिकेसन क्षेत्र"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"म्याग्निफिकेसन सक्षम पारिएको"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"स्क्रिन म्याग्निफाई गर्दा आफूले प्रयोग गर्न चाहेका म्याग्निफिकेसन क्षेत्र (हरू) छनौट गर्नुहोस्"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"पूर्ण स्क्रिन"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"स्क्रिनको भाग"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"पूर्ण स्क्रिन र स्क्रिनको भाग"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"समग्र स्क्रिन म्याग्निफाई गर्नुहोस्"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"स्क्रिनको भाग म्याग्निफाई गर्नुहोस्"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"म्याग्निफिकेसनसम्बन्धी सेटिङ"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"तीन ट्यापमा म्याग्निफाइ गर्नुहोस्"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"सर्टकट प्रयोग गरी म्याग्निफाइ गर्नुहोस्"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"सर्टकट र तीन पटक ट्याप गरेर म्याग्निफाइ गर्नुहोस्"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"<xliff:g id="SERVICE">%1$s</xliff:g> का विषयमा"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"विकल्पहरू"</string>
     <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="2831926970059739911"><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_screen_magnification_navbar_summary" msgid="5603519616005297803">"म्याग्निफिकेसन सुविधा सक्रिय पारिएका बेला तपाईं आफ्नो स्क्रिनमा जुम इन गर्न सक्नुहुन्छ। \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_screen_magnification_summary" msgid="7617931632990040045">"सामग्री अझ स्पष्ट रूपमा हेर्न स्क्रिनमा द्रुत रूपमा जुम इन गर्नुहोस्।&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_dialog_title_button" msgid="4681164949716215131">"खोल्नका लागि पहुँचसम्बन्धी बटनको प्रयोग गर्नुहोस्"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"खोल्नका लागि इसाराको प्रयोग गर्नुहोस्"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"पहुँचसम्बन्धी नयाँ इसारा प्रयोग गर्नुहोस्"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"यो सेवा सक्रिय गर्न वा निष्क्रिय पार्न आफ्नो स्क्रिनको फेदमा रहेको पहुँचसम्बन्धी बटन<xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> मा ट्याप गर्नुहोस्।\n\n एउटा सेवाबाट अर्को सेवामा जान पहुँचसम्बन्धी बटनमा छोइराख्नुहोस्।"</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"यो सेवा सक्रिय गर्न वा निष्क्रिय पार्न दुईवटा औँलाले स्क्रिनको फेदबाट माथितिर स्वाइप गर्नुहोस्।\n\nएउटा सेवाबाट अर्को सेवामा जान दुईवटा औँलाले माथितिर स्वाइप गरी थिचिराख्नुहोस्।"</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"यो सेवा सक्रिय गर्न वा निष्क्रिय पार्न तीनवटा औँलाले स्क्रिनको फेदबाट माथितिर स्वाइप गर्नुहोस्।\n\nएउटा सेवाबाट अर्को सेवामा जान तीनवटा औँलाले माथितिर स्वाइप गरी थिचिराख्नुहोस्।"</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"पहुँचसम्बन्धी सेवा सक्रिय गर्न वा निष्क्रिय पार्न दुईवटा औँलाले स्क्रिनको फेदबाट माथितिर स्वाइप गर्नुहोस्।\n\nएउटा सेवाबाट अर्को सेवामा जान दुईवटा औँलाले माथितिर स्वाइप गरी थिचिराख्नुहोस्।"</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"पहुँचसम्बन्धी सेवा सक्रिय गर्न वा निष्क्रिय पार्न तीनवटा औँलाले स्क्रिनको फेदबाट माथितिर स्वाइप गर्नुहोस्।\n\nएउटा सेवाबाट अर्को सेवामा जान तीनवटा औँलाले माथितिर स्वाइप गरी थिचिराख्नुहोस्।"</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"यो सेवा सक्रिय गर्न वा निष्क्रिय पार्न आफ्नो यन्त्रको स्क्रिनका फेदमा रहेको पहुँचसम्बन्धी बटन <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> मा ट्याप गर्नुहोस्।\n\n एउटा सेवाबाट अर्को सेवामा जान पहुँचसम्बन्धी बटनमा छोइराख्नुहोस्।"</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"यो सेवा सक्रिय गर्न वा निष्क्रिय पार्न दुईवटा औँलाले स्क्रिनको फेदबाट माथितिर स्वाइप गर्नुहोस्।\n\nएउटा सेवाबाट अर्को सेवामा जान दुईवटा औँलाले माथितिर स्वाइप गरी थिचिराख्नुहोस्।"</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"यो सेवा सक्रिय गर्न वा निष्क्रिय पार्न तीनवटा औँलाले स्क्रिनको फेदबाट माथितिर स्वाइप गर्नुहोस्।\n\nएउटा सेवाबाट अर्को सेवामा जान तीनवटा औँलाले माथितिर स्वाइप गरी थिचिराख्नुहोस्।"</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"पहुँचसम्बन्धी सेवा सक्रिय गर्न वा निष्क्रिय पार्न दुईवटा औँलाले स्क्रिनको फेदबाट माथितिर स्वाइप गर्नुहोस्।\n\nएउटा सेवाबाट अर्को सेवामा जान दुईवटा औँलाले माथितिर स्वाइप गरी थिचिराख्नुहोस्।"</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"पहुँचसम्बन्धी सेवा सक्रिय गर्न वा निष्क्रिय पार्न तीनवटा औँलाले स्क्रिनको फेदबाट माथितिर स्वाइप गर्नुहोस्।\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="2820923641553461297">"पहुँचको बटन"</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>
+    <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8922102767509399352">"तपाईंको यन्त्रको स्क्रिनको फेदमा रहेको पहुँचको बटन <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> मा ट्याप गर्नुहोस्"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"२ वटा औँलाले स्क्रिनको फेदबाट माथितिर स्वाइप गर्नुहोस्"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"३ वटा औँलाले स्क्रिनको फेदबाट माथितिर स्वाइप गर्नुहोस्"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"भोल्युम कुञ्जीहरू थिचिरहनुहोस्"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"दुवै भोल्युम कुञ्जीहरू १ सेकेन्डसम्म थिचिराख्नुहोस्"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"स्क्रिनमा तीन पटक ट्याप गर्नुहोस्"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"३ पटक द्रुत रूपमा स्क्रिनमा ट्याप गर्नुहोस्। यो सर्टकटले तपाईंको यन्त्रलाई सुस्त बनाउन सक्छ।"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"उन्नत"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"पहुँच बटनलाई <xliff:g id="SERVICE">%1$s</xliff:g> मा सेट गरिएको छ। म्याग्निफिकेसन प्रयोग गर्नाका लागि पहुँच बटनलाई केहीबेर छोइरहनुहोस् र त्यसपछि म्याग्निफिकेसन चयन गर्नुहोस्।"</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"पहुँचको इसारा सेट गरी <xliff:g id="SERVICE">%1$s</xliff:g> बनाइयो। म्याग्निफिकेसन प्रयोग गर्न दुई वटा औँलाले स्क्रिनको फेदबाट माथितिर स्वाइप गरी थिचिराख्नुहोस्। त्यसपछि म्याग्निफिकेसन चयन गर्नुहोस्।"</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"भोल्युम कुञ्जीको सर्टकट"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"सर्टकट सेवा"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"सर्टकटसम्बन्धी सेटिङहरू"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"लक स्क्रिनबाट अनुमति दिनुहोस्"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"सर्टकट सक्रिय हुँदा पहुँचसम्बन्धी सुविधा सुरु गर्न तपाईं दुवै भोल्युम कुञ्जीहरूलाई ३ सेकेन्डसम्म थिच्न सक्नुहुन्छ।"</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"उच्च विपरीत पाठ"</string>
@@ -2149,24 +2157,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"तपाईंलाई कारबाही गर्न लगाउने तर अस्थायी रूपमा मात्र देखिने सन्देशहरू देखाइने समय छनौट गर्नुहोस्।\n\nसबै अनुप्रयोगहरूले यो सेटिङ समर्थन गर्दैनन्।"</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"छुनुहोस् र केहीबेर समाउनुहोस्"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"रंग इन्भर्सन"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"कार्यसम्पादनमा असर पार्न सक्छ"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"कुनै वस्तुमा कर्सर रहने अवधि"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"रङ उल्टाउने सुविधा प्रयोग गर्नुहोस्"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"रङ उल्टाउने सुविधाले उज्यालो स्क्रिनलाई अँध्यारो पार्छ। यसले चम्किलो प्रकाशमा हेरिराख्दा समस्या हुने मान्छेहरूलाई अझ सजिलो गरी स्क्रिनमा हेर्न मद्दत गर्छ।&lt;br/&gt;&lt;br/&gt;टिपोट: अँध्यारा रङहरू बदलिएर उज्याला हुने छन्। मिडिया र छविका रङ बदलिने छन्। तपाईं अँध्यारो विषयवस्तु पनि प्रयोग गर्न सक्नुहुन्छ (सेटिङ &gt; डिस्प्ले)।"</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"स्वतः क्लिक (कुनै वस्तुमा कर्सर रहने अवधि)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"तपाईं माउस प्रयोग गर्दै हुनुहुन्छ भने कुनै स्थानमा निश्चित अवधिसम्मका लागि रोकिएको कर्सर स्वत: चल्न थाल्ने गरी सेट गर्न सक्नुहुन्छ।"</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"क्लिक गर्न अघि ढिलाइ"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"स्वतः क्लिक सुविधा प्रयोग नगर्नुहोस् (पूर्वनिर्धारित)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"छोटो"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"०.२ सेकेन्ड"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"मध्यम"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"०.६ सेकेन्ड"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"लामो"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"१ सेकेन्ड"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"आफू अनुकूल"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"अझ छोटो"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"अझ लामो"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"स्वतः क्लिक हुने समय"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"कम्पन तथा अनुभूतिको क्षमता"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"सूचना आएको जनाउने कम्पन"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"कम्पनसहितको घन्टी"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"छोएर दिइने प्रतिक्रिया"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"सुविधा प्रयोग गर्नुहोस्"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g> प्रयोग गर्नुहोस्"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g> खोल्नुहोस्"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"रङ सुधार गर्ने सुविधा प्रयोग गर्नुहोस्"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"क्याप्सनहरू प्रयोग गर्नुहोस्"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"क्याप्सनहरू देखाउनुहोस्"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"क्याप्सनको स्वरूप"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"पाठको आकार, क्याप्सनको शैली"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"थप विकल्पहरू"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"सबै अनुप्रयोगहरूमा यो सेटिङले काम गर्दैन।"</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>
     <string name="accessibility_hearingaid_instruction_continue_button" msgid="3367260988024430722">"जारी राख्नुहोस्"</string>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"श्रवण यन्त्रहरू"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"कुनै पनि श्रवण यन्त्र जडान गरिएको छैन"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"श्रवण यन्त्रहरू थप्नुहोस्"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"आफ्ना श्रवण यन्त्रहरूसँग जोडा बनाउन आगामी स्क्रिनमा आफ्नो यन्त्र फेला पारी तिनमा ट्याप गर्नुहोस्।"</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"आफ्ना श्रवण यन्त्रहरू जोडा बनाउने मोडमा भएको कुरा सुनिश्चित गर्नुहोस्।"</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"आफ्ना श्रवण यन्त्रहरूसँग जोडा बनाउन आगामी स्क्रिनमा आफ्नो यन्त्र फेला पारी तिनमा ट्याप गर्नुहोस्। आफ्ना श्रवण यन्त्रहरू जोडा बनाउने मोडमा भएको कुरा सुनिश्चित गर्नुहोस्।"</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> सक्रिय"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="other">सुरक्षित गरिएका <xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> श्रवण यन्त्रहरू</item>
@@ -2178,25 +2204,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"यो सेवाले राम्ररी काम गरिरहेको छैन।"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"द्रुत सेटिङमा देखाउनुहोस्"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"सुधार मोड"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="other">अत्यन्तै छोटो ढिलाइ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> मिलिसेकेण्ड)</item>
-      <item quantity="one">अत्यन्तै छोटो ढिलाइ (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> मिलिसेकेण्ड)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"रातो-हरियो"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"हरियो-रातो"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"निलो-पहेँलो"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"ड्युटेरानोमेली"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"प्रोटानोमेली"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"ट्रिटानोमेली"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="other">अत्यन्तै छोटो समयको ढिलाइ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> सेकेन्ड)</item>
+      <item quantity="one">अत्यन्तै छोटो समयको ढिलाइ(<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> सेकेन्ड)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="other">धेरै छोटो ढिलाइ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> मिलिसेकेण्ड)</item>
-      <item quantity="one">धेरै छोटो ढिलाइ (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> मिलिसेकेण्ड)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="other">अत्यन्तै  छोटो समयको ढिलाइ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> सेकेन्ड)</item>
+      <item quantity="one">अत्यन्तै छोटो समयको  ढिलाइ (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> सेकेन्ड)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="other">कम ढिलाइ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> मिलिसेकेण्ड)</item>
-      <item quantity="one">कम ढिलाइ (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> मिलिसेकेण्ड)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="other">छोटो समयको ढिलाइ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> सेकेन्ड)</item>
+      <item quantity="one">कम विलम्ब (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> सेकेन्ड)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="other">लामो ढिलाइ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> मिलिसेकेण्ड)</item>
-      <item quantity="one">लामो ढिलाइ (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> मिलिसेकेण्ड)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="other">लामो समयको ढिलाइ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> सेकेन्ड)</item>
+      <item quantity="one">लामो समयको ढिलाइ (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> सेकेन्ड)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="other">धेरै लामो ढिलाइ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> मिलिसेकेण्ड)</item>
-      <item quantity="one">धेरै लामो ढिलाइ (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> मिलिसेकेण्ड)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="other">अत्यन्तै लामो समयको ढिलाइ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> सेकेन्ड)</item>
+      <item quantity="one">अत्यन्तै लामा समयको ढिलाइ (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> सेकेन्ड)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> सेकेन्ड</item>
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> सेकेन्ड</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"घन्टी दिनुहोस् <xliff:g id="SUMMARY_RING">%1$s</xliff:g>, सूचना <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>, छुनुहोस्<xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"घन्टी तथा सूचनालाई निष्क्रियका रूपमा सेट गरियो"</string>
@@ -2513,7 +2549,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"पछिल्लो पटक <xliff:g id="UNPLUGGED">%1$s</xliff:g>का लागि अनप्लग गरिँदा"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"उपयोग कूलहरू"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"पुनःताजा गर्नुहोस्"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"एन्ड्रोइड OS"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"मिडिया सर्भर"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"अनुप्रयोग आफू अनुकूल"</string>
     <string name="battery_saver" msgid="7737147344510595864">"ब्याट्री सेभर"</string>
@@ -2594,8 +2629,7 @@
     <string name="tts_play" msgid="2945513377250757221">"प्ले गर्नुहोस्"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"प्रमाण संग्रहण"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"भण्डारणबाट स्थापना गर्नुहोस्"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"SD कार्डबाट स्थापना गर्नुहोस्"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"कुनै प्रमाणपत्र स्थापना गर्नु"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"भण्डारणबाट प्रमाणपत्रहरू स्थापना गर्नुहोस्"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"SD कार्डबाट प्रमाणपत्रहरू स्थापना गर्नुहोस्"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"प्रामाणपत्रहरू हटाउनुहोस्"</string>
@@ -2615,6 +2649,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"प्रमाण संग्रहण मेटियो।"</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"प्रामाणिक डेटा भण्डारण मेटाउन सकिएन।"</string>
     <string name="usage_access_title" msgid="1580006124578134850">"उपयोग पहुँचसहितका अनुप्रयोग"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"CA प्रमाणपत्र"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"VPN र एपको प्रयोगकर्तासम्बन्धी प्रमाणपत्र"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"Wi‑Fi को प्रमाणपत्र"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"तपाईंको गोपनीयता जोखिममा छ"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"वेबसासाइट, एप र VPN हरूले इन्क्रिप्सनका लागि CA प्रमाणपत्रहरू प्रयोग गर्छन्। आफूले विश्वास गर्ने सङ्गठनका CA प्रमाणपत्रहरू मात्र स्थापना गर्नुहोस्। \n\n तपाईंले कुनै CA प्रमाणपत्र स्थापना गर्नुभयो भने उक्त प्रमाणपत्रका मालिक तपाईं जाने वेबसाइट वा तपाईंले प्रयोग गर्ने अनुप्रयोगका पासवर्ड वा तिनमा रहेका सन्देश वा क्रेडिट कार्डसम्बन्धी विवरण जस्ता तपाईंका जानकारी (ती जानकारी इन्क्रिप्सन गरिएको भए तापनि) माथि पहुँच राख्न सक्छन्।"</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"स्थापना नगर्नुहोस्"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"जे भए पनि स्थापना गर्नुहोस्"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"प्रमाणपत्र स्थापना गरिएको छैन"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"इमर्जेन्सी डाइलिङसम्बन्धी सङ्केत"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"आपातकालीन कल राखिएको बेलाको व्यवहार सेट गर्नुहोस्"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"ब्याकअप"</string>
@@ -2642,10 +2684,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"निष्क्रिय पार्नुहोस् तथा स्थापना रद्द गर्नुहोस्"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"यन्त्रका प्रशासकीय अनुप्रयोगहरू"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"यन्त्रका प्रशासकीय अनुप्रयोगहरू उपलब्ध छैनन्"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"व्यक्तिगत"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"काम"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"Restrict SMS तथा कलका लगहरूमाथिका पहुँचमा प्रतिबन्ध लगाउनुहोस्‌"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"पूर्वनिर्धारित फोन र सन्देश अनुप्रयोगहरूसँग मात्र SMS र कल लग अनुमति हुन्छ"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"विश्वस्त प्रतिनिधि उपलब्ध छैन"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"यन्त्रको प्रशासन सम्बन्धी अनुप्रयोगलाई सक्रिय गर्ने हो?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"यन्त्रको प्रशासन सम्बन्धी यो अनुप्रयोगलाई सक्रिय गर्नुहोस्"</string>
@@ -2659,6 +2697,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"अन्य विकल्पहरूलाई तपाईंको प्रशासकले असक्षम पार्नुभएको छ"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"थप विवरणहरू"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"अधिसूचना लग"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"सूचनासम्बन्धी इतिहास"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"आज"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"स्नुज गरियो"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"हालसालै खारेज गरियो"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> वटा सूचनाहरू</item>
+      <item quantity="one"><xliff:g id="NUMBER_0">%d</xliff:g> सूचना</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"रिङटोन कल र भाइब्रेट"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"नेटवर्क विवरण"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"सिंक सक्षम छ"</string>
@@ -3008,7 +3054,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"प्रतिबन्धहरू"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"प्रतिबन्धहरू हटाउनुहोस्"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"PIN फेर्नुहोस्"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"सूचनाहरू देखाउनुहोस्"</string>
     <string name="help_label" msgid="2896538416436125883">"मद्दत र प्रतिक्रिया"</string>
     <string name="support_summary" msgid="1034146931237148885">"मद्दतसम्बन्धी लेखहरू, फोन, कुराकानी र सुरूवात गर्नेसम्बन्धी सहायता"</string>
     <string name="user_account_title" msgid="6389636876210834864">"सामग्रीको लागि खाता"</string>
@@ -3033,6 +3078,14 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G कल गर्दै"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"आवाज र अन्य सञ्चारमा सुधार गर्न LTE सेवाहरूको प्रयोग गर्नुहोस् (सिफारिस गरिएको)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"आवाज र अन्य सञ्चार सेवाको गुणस्तर सुधार्न 4G सेवाहरूको प्रयोग गर्नुहोस् (सिफारिस गरिएको)"</string>
+    <!-- no translation found for contact_discovery_opt_in_title (4076990635900099116) -->
+    <skip />
+    <!-- no translation found for contact_discovery_opt_in_summary (4104310593310967300) -->
+    <skip />
+    <!-- no translation found for contact_discovery_opt_in_dialog_title (6278407286820554079) -->
+    <skip />
+    <!-- no translation found for contact_discovery_opt_in_dialog_message (5787751513924920435) -->
+    <skip />
     <string name="preferred_network_type_title" msgid="812509938714590857">"सञ्जाल प्रकार रुचाइएको"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (सिफारिस गरिएको)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS सन्देश"</string>
@@ -3077,7 +3130,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"संग कल"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"SIM कार्ड चयन गर्नुहोस्"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"SIM <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"खाली SIM"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"SIM नाम"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"SIM नाम प्रविष्टि गर्नुहोस्"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"SIM स्लट %1$d"</string>
@@ -3087,6 +3139,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"सिम कार्ड चयन गर्नुहोस्"</string>
     <string name="color_orange" msgid="216547825489739010">"ओरेन्ज"</string>
     <string name="color_purple" msgid="6603701972079904843">"बैजनी"</string>
+    <string name="color_pink" msgid="8596872110888626708">"गुलाबी रङ"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"कुनै SIM कार्ड राखिएको छैन"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"सिम अवस्था"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"SIM को स्थिति (sim को सल्ट %1$d)"</string>
@@ -3100,7 +3153,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"SIM कार्डहरू परिवर्तन गरिए।"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"सेटअप गर्न ट्याप गर्नुहोस्"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"निम्नको लागि उपयुक्त SIM"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"प्रत्येक पटक सोध्नुहोस्"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"छनौट आवश्यक छ"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"SIM को चयन"</string>
@@ -3118,6 +3170,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"ब्लुटुथ, ड्राइभिङ मोड"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"ब्लुटुथ, NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"ब्लुटुथ"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"NFC निष्क्रिय रहेकाले उपलब्ध नभएको"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"अनुप्रयोग तथा सूचनाहरू"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"हालैका अनुप्रयोगहरू, पूर्वनिर्धारित अनुप्रयोगहरू"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"कार्य प्रोफाइलका अनुप्रयोगहरूको सूचनामाथि पहुँच छैन।"</string>
@@ -3128,13 +3181,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"सेटिङहरू"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"wifi, wi-fi, नेटवर्क जडान, इन्टरनेट, वायरलेस, डेटा, wi fi"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"Wi‑Fi सूचना, wifi सूचना"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"डेटाको प्रयोग"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"कम्पन रोक्नुहोस्, ट्याप गर्नुहोस्, किबोर्ड"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"२४-घन्टे ढाँचा प्रयोग गर्नुहोस्"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"डाउनलोड"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"निम्नमार्फत खोल्नुहोस्"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"अनुप्रयोगहरू"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"समय क्षेत्र"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"कुराकानीको हेड"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"कुराकानीको शीर्ष, प्रणाली, अलर्ट, विन्डो, संवाद, प्रदशर्न, अन्य शीर्ष अनुप्रयोगहरू, रेखाचित्र"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"फ्ल्यासलाइट, बत्ती, टर्च"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"wifi, wi-fi, टगल, नियन्त्रण"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"सेलुलर, मोबाइल, सेल वाहक, वायरलेस, डेटा, 4G, 3G, 2G, lte"</string>
@@ -3158,7 +3212,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"बाधा नपुर्याउनुहोस्, हस्तक्षेप गर्नुहोस्, हस्तक्षेप, ब्रेक"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"वरपर, स्थान, इतिहास, रिपोर्टिङ, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"खाता"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"खाता, कुनै खाता थप्नुहोस्, कार्य प्रोफाइल, खाता थप्नुहोस्"</string>
     <string name="keywords_users" msgid="3497517660077620843">"प्रतिबन्ध, प्रतिबन्ध लगाउनुहोस्, प्रतिबन्धित"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"पाठ सच्याइ, सही, ध्वनि, कम्पन, स्वतः, भाषा, इसारा, सुझाव दिनु, सुझाव, विषयवस्तु, अपमानजनक, शब्द, प्रकार, इमोजी, अन्तर्राष्ट्रिय"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"रिसेट गर्नुहोस्, प्राथमिकताहरू, पूर्वनिर्धारित"</string>
@@ -3196,6 +3250,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"मेमोरी, क्यास, डेटा, मेट्नुहोस्, खाली गर्नुहोस्, खाली, ठाउँ"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"जडान, यन्त्र, हेडफोन, हेडसेट, स्पिकर, वायरलेस, जोडा, इयरबड, सङ्गीत, मिडिया"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"पृष्ठभूमि, स्क्रिन, लकस्क्रिन, विषयवस्तु"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"आइकनको आकार, एक्सेन्टको रङ, फन्ट"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"पूर्वनिर्धारित, सहायक"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"भुक्तानी, पूर्वनिर्धारित"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"आगमन सूचना"</string>
@@ -3205,18 +3260,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"अनुभूतिमूलक, कम्पन, संवेदनशीलता"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"ब्याट्री सेभर, स्टिकी, पर्सिस्ट, पावर सेभर, ब्याट्री"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"दिनचर्या, समयतालिका, ब्याट्री सेभर, पावर सेभर, ब्याट्री, स्वचालित, प्रतिशत"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"कार्य प्रोफाइल"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"volte, कल गर्ने उन्नत सुविधा, 4g मार्फत कल गर्ने सुविधा"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"भाषा थप्नुहोस्, कुनै भाषा थप्नुहोस्"</string>
     <string name="default_sound" msgid="6604374495015245195">"पूर्वनिर्धारित ध्वनि"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"<xliff:g id="PERCENTAGE">%1$s</xliff:g> मा सेट गरिँदा घन्टीको भोल्युम"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"घन्टी तथा सूचनाको आवाज <xliff:g id="PERCENTAGE">%1$s</xliff:g> मा सेट छ"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"भोल्युम, कम्पन, बाधा नपुर्‍याउनुहोस्"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"घन्टी बजाउनेलाई कम्पनमा सेट गरिएको छ"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"घन्टी बजाउनेलाई मौनमा सेट गरिएको छ"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"८०% मा सेट गरिँदा घन्टीको भोल्युम"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"घन्टी तथा सूचनाको आवाज 80% मा सेट छ"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"मिडियाको आवाजको मात्रा"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"भोल्युम cast गर्नुहोस्"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"कलको भोल्युम"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"अलार्मको आवाजको मात्रा"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"घन्टीको आवाजको मात्रा"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"घन्टी तथा सूचनाको आवाज"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"ध्वनी सूचना"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"फोनको रिङटोन"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"सूचना सम्बन्धी पूर्वनिर्धारित ध्वनि"</string>
@@ -3224,6 +3280,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"सूचना सम्बन्धी पूर्वनिर्धारित ध्वनि"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"अलार्मको पूर्वनिर्धारित ध्वनि"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"कलका बेला कम्पन गर्नुहोस्"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"कहिल्यै पनि कम्पन नगर्नुहोस्"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"सधैँ कम्पन गर्नुहोस्"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"सुरुमा कम्पन गरी त्यसपछि घन्टी बजाउनुहोस्"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"अन्य ध्वनिहरू"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"प्याड टोनहरू डायल गर्नुहोस्"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"स्किन लक आवाज"</string>
@@ -3247,6 +3306,7 @@
       <item quantity="one">१ समयतालिका सक्षम पारियो</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"बाधा नपुऱ्याउनुहोस्"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"महत्त्वपूर्ण मान्छे र अनुप्रयोगहरूमार्फत मात्र सूचित हुनुहोस्"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"अवरोधहरू सीमित पार्नुहोस्"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"बाधा नपुऱ्याउनुहोस् नामक मोडलाई सक्रिय गर्नुहोस्"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"अपवादहरू"</string>
@@ -3273,7 +3333,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"दृश्य सम्बन्धी बाधालाई रोक्नु"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"सङ्केतहरूलाई देखिन दिनुहोस्"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"जब बाधा नपुर्‍याउनुहोस् सक्रिय छ"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"आवाज निकाल्ने अवरोधहरूलाई अनुमति दिनुहोस्"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"सूचनाहरूलाई प्रतिबन्ध लगाउनुहोस्"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"सूचनाहरूको कुनै पनि ध्वनि छैन"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"तपाईं आफ्नो स्क्रिनमा सूचनाहरू देख्नु हुने छ"</string>
@@ -3304,7 +3364,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"ध्वनि र कम्पन"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"सुचनाहरूका ध्वनि, कम्पन र केही भिजुअल संकेतहरू"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"सुचनाहरूका ध्वनि, कम्पन र भिजुअल संकेतहरू"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"सामान्य फोन गतिविधिको सूचना आवश्यक हुन्छ र स्थिति कहिल्यै लुक्ने छैन"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"फोनको सामान्य गतिविधिसम्बन्धी सूचना आवश्यक हुन्छ र यसको स्थिति कहिल्यै लुकाइने छैन।"</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"कुनै पनि होइन"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"अन्य विकल्पहरू"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"थप्नुहोस्"</string>
@@ -3334,10 +3394,12 @@
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> समयतालिकाहरू स्वतः सक्रिय हुन सक्छन्‌</item>
       <item quantity="one">१ समयतालिका स्वतः सक्रिय हुन सक्छ</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"यन्त्र म्युट गर्नुहोस् तर अपवादलाई अनुमति दिनुहोस्‌"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"अपवादहरू"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"समयतालिका"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"सबै अपवादहरू हेर्नुहोस्"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"बाधा नपुऱ्याउनुहोस् नामक सुविधा सक्रिय भएको बेला अपवादहरू"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"मान्छेहरू"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"अनुप्रयोगहरू"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"अलार्म र अन्य अवरोधहरू"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"समयतालिकाहरू"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"मौन पारिएका सूचनाहरू"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"बाधा नपुर्‍याउनुहोस् मोड सक्रिय भएका बेला तपाईंले माथि अनुमति दिनुभएका वस्तुहरूबाहेक आवाज तथा कम्पनलाई म्युट गरिने छ।"</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"यीबाहेक सबै म्युट गर्नुहोस्"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"म्युट गरिएको छ"</string>
@@ -3381,16 +3443,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"अनुकूल पार्न मिल्ने सूचनाहरू"</string>
     <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_capabilities_actions_replies_title" msgid="4392470465646394289">"सिफारिस गरिएका कारबाही तथा जवाफहरू"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"सिफारिस गरिएका कारबाही तथा जवाफहरू स्वतः देखाउनुहोस्"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"विगतका सूचना र स्नुज गरिएका सूचनाहरूको लेखाजोखा गर्न सूचनासम्बन्धी इतिहास सक्रिय गर्नुहोस्"</string>
+    <string name="notification_history" msgid="8663811361243456201">"सूचनासम्बन्धी इतिहास"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"इतिहास सक्रिय गर्नुहोस्"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"इतिहास निष्क्रिय पार्नुहोस्"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"सूचनासम्बन्धी इतिहास निष्क्रिय छ"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"सूचनाका सेटिङहरू हेर्नुहोस्"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"सूचना स्नुज गर्न दिनुहोस्"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"मौन सूचनाका आइकनहरू लुकाउनुहोस्"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"मौन सूचनाका आइकनहरू वस्तुस्थिति पट्टीमा देखाइँदैनन्"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"सूचनाको प्रतीक जनाउने थोप्लोहरूलाई अनुमति दिनुहोस्"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"हालैका वार्तालापहरूको स्ट्रिप देखाउनुहोस्"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"बबलहरू"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"केही सूचनाहरू स्क्रिनमा बबलका रूपमा देखिन सक्छन्"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"केही सूचनाहरू र अन्य सामग्री स्क्रिनमा बबलका रूपमा देखिन सक्छन्। कुनै बबल खोल्न यसमा ट्याप गर्नुहोस्। यसलाई खारेज गर्न यसलाई स्क्रिनका पुछारतिर ड्र्याग गर्नुहोस्।"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"बबलहरू"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"नयाँ सन्देशहरू स्क्रिनमा देखिने छन्"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"<xliff:g id="APP_NAME">%1$s</xliff:g> लाई केही सूचनाहरू बबलका रूपमा देखाउन दिनुहोस्"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"बबलहरू सक्रिय पार्नुहोस्"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"यस अनुप्रयोगमा बबल सक्रिय गर्न सर्वप्रथम तपाईंले आफ्नो यन्त्रमा तिनीहरूलाई सक्रिय गर्नु पर्ने हुन्छ यस कार्यले तपाईंले यसअघि बबलहरू सक्रिय गर्नुभएका अन्य अनुप्रयोगहरूमा प्रभाव पार्छ।"</string>
@@ -3408,6 +3480,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"पुल डाउन सेड र लक स्क्रिनमा देखाउनुहोस्"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"पुल डाउन सेड र वस्तुस्थिति पट्टीमा देखाउनुहोस्"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"पुल डाउन सेड, वस्तुस्थिति पट्टी र लक स्क्रिनमा देखाउनुहोस्"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"मौन सूचनाहरूलाई वस्तुस्थिति पट्टीमा लुकाउनुहोस्"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"झिम झिम गर्ने बत्ती"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"लक स्क्रिन"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"लक स्क्रिन छाड्नुहोस्"</string>
@@ -3438,6 +3511,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"व्यवहार"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"ध्वनिलाई अनुमति दिनुहोस्"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"सूचनाहरू कहिल्यै नदेखाउनुहोस्"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"वार्तालापहरू"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"वार्तालाप"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"वार्तालाप होइन"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"वार्तालाप खण्डबाट हटाउनुहोस्"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"यो वार्तालाप हो"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"वार्तालापको खण्डमा थप्नुहोस्"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"वार्तालापहरूको व्यवस्थापन गर्नुहोस्"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"महत्त्वपूर्ण वार्तालापहरू"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"सबै वार्तालापहरू"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"महत्त्वपूर्ण वार्तालापहरू बबलका रूपमा देखाउनुहोस्"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"महत्त्वपूर्ण वार्तालापहरू पुल डाउन सेडका सिरानमा देखिन्छन्। तपाईं वार्तालापहरूलाई बबलका रूपमा देखिने र बाधा नपुर्‍याउनुहोस् नामक मोड निष्क्रिय पार्ने गरी सेट गर्न पनि सक्नुहुन्छ।"</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"मौन रूपमा देखाई सानो बनाउनुहोस्‌"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"मौन रूपमा देखाउने"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"आवाज निकाल्ने"</string>
@@ -3456,7 +3540,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"तपाईंलाई आवाज वा कम्पनविना ध्यान केन्द्रित गर्न मद्दत गर्छ।"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"ध्वनि वा कम्पनमार्फत तपाईंको ध्यान आकर्षित गर्छ।"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"यन्त्र अनलक गरिएका बेला सूचना देखाउँदा स्क्रिनको सिरानमा ब्यानरका रूपमा देखाउनुहोस्"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"सूचनाहरू देखाउनुहोस्"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"सबै <xliff:g id="APP_NAME">%1$s</xliff:g> सूचनाहरू"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"अनुकूल पार्न मिल्ने सूचनाहरू"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="other">प्रति दिन लगभग <xliff:g id="NUMBER_1">%d</xliff:g> सूचनाहरू</item>
@@ -3477,6 +3561,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"अनुकूल पार्न मिल्ने सूचनाहरू"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"कुनै पनि होइन"</string>
     <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="3119843404577399036">"<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>
@@ -3538,8 +3623,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"भयो"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"महत्त्व"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"झिम झिम बत्ती बल्ने"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"कम्पन"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"कम्पन"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"आवाज"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"महत्त्वपूर्ण"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"गृह स्क्रिनमा थप्नुहोस्"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"मेट्नुहोस्"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"पुनःनामाकरण गर्नुहोस्"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"समयतालिकाको नाम"</string>
@@ -3593,6 +3680,10 @@
       <item quantity="other">अन्य <xliff:g id="NUM_PEOPLE">%d</xliff:g></item>
       <item quantity="one">अन्य १</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"वार्तालापहरू"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"सबै वार्तालापहरूबाट"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"महत्त्वपूर्ण वार्तालापहरूबाट"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"कुनै पनि वार्तालापका सूचनाहरूलाई अनुमति नदिनुहोस्"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"सन्देशहरूलाई अनुमति दिनुहोस्"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"अनुमति दिइएका सन्देशहरू आउँदा घन्टी बज्छ भन्ने कुरा सुनिश्चित गर्न आफ्नो यन्त्रलाई घन्टी बज्ने, कम्पन हुने वा मौन रहनेमध्ये कुन चाहिँ विकल्पमा सेट गरिएको छ भन्ने कुरा जाँच गर्नुहोस्।"</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"‘<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>’ का आगम कलहरूलाई रोक लगाइएको छ। तपाईं आफ्ना साथीभाइ, परिवारजन वा अन्य सूचीमा भएका अन्य मान्छेहरूलाई आफूसँग सम्पर्क राख्न दिने गरी सेटिङहरू समायोजन गर्न सक्नुहुन्छ।"</string>
@@ -3606,15 +3697,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"कुनै पनि होइन"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"कुनै पनि कललाई अनुमति नदिनुहोस्‌"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"कुनै पनि सन्देशलाई अनुमति नदिनुहोस्‌"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"अलार्महरूलाई अनुमति दिनुहोस्"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"अलार्महरू"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"टाइमर, अलार्म, सुरक्षा प्रणाली र अन्य अनुप्रयोगहरू"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"अलार्महरू"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"मिडियाका ध्वनिहरू प्ले गर्नुहोस्"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"मिडियाका आवाजहरू"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"भिडियो, खेल र अन्य मिडियाहरूबाट"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"मिडिया"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"छुवाइसम्बन्धी ध्वनि अनुमति दिनुहोस्‌"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"छुवाइसम्बन्धी ध्वनि"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"तपाईंको किबोर्ड र अन्य बटनहरूबाट"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"छुवाइसम्बन्धी ध्वनि"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"रिमाइन्डरहरूलाई अनुमति दिनुहोस्"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"रिमान्डरहरू"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"कार्य र रिमाइन्डरहरूबाट"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"रिमाइन्डरहरू"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"कार्यक्रमहरूलाई अनुमति दिनुहोस्"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"कार्यक्रमहरू"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"पात्रोका आगामी कार्यक्रमहरूबाट"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"अनुप्रयोगहरूलाई ओभरराइड गर्ने अनुमति दिनुहोस्"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"अनुप्रयोगका अपवादहरू"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3657,6 +3753,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"बाधा नपुऱ्याउनुहोस् नामक मोडमार्फत मौन पारिएका सूचनाहरूलाई स्क्रिन सक्रिय गर्न दिनुहोस्"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"सूचना सेटिङहरू"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"ठिक छ"</string>
+    <string name="suggestion_button_close" msgid="6865170855573283759">"बन्द गर्नुहोस्"</string>
     <string name="device_feedback" msgid="5351614458411688608">"उपकरण बारेमा प्रतिक्रिया पठाउनुहोस्"</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"प्रशासकको PIN प्रविष्टि गर्नुहोस्"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"सक्रिय"</string>
@@ -3667,6 +3764,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"पिन निकाल्नुअघि PIN सोध्नुहोस्"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"पिन निकाल्नुअघि पासवर्ड सोध्नुहोस्"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"अनपिन गर्दा उपकरण लक गर्नुहोस्"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"SIM मेट्ने कार्य पुष्टि गर्नुहोस्"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"डाउनलोड गरिएको SIM मेट्नुभन्दा पहिले यो व्यक्ति तपाईं नै हो भन्ने पुष्टि गर्नुहोस्"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"यो कार्य प्रोफाइल निम्नद्वारा व्यवस्थित गरिन्छ:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"<xliff:g id="ADMIN_APP_LABEL">%s</xliff:g> द्वारा व्यवस्थापन गरिएको"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(प्रयोगात्मक)"</string>
@@ -3741,8 +3840,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"सबै अनुप्रयोगहरू"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"स्थापना गरिएका अनुप्रयोगहरू"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"तात्कालिक अनुप्रयोगहरू"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"व्यक्तिगत"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"कार्य"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"अनुप्रयोगहरू: सबै"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"निष्क्रिय पारियो"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"प्रकारहरू: अत्यन्तै महत्त्वका"</string>
@@ -3754,6 +3851,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"अज्ञात अनुप्रयोग"</string>
     <string name="app_permissions" msgid="8666537659217653626">"अनुमतिका प्रबन्धक"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"<xliff:g id="APPS">%1$s</xliff:g> प्रयोग गरिरहेका अनुप्रयोगहरू"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"<xliff:g id="APPS">%1$s</xliff:g> प्रयोग गर्ने अनुप्रयोगहरू र थप"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"सक्रिय पार्न ट्याप गर्नुहोस्"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"यन्त्र सक्रिय पार्न स्क्रिनको जहाँसुकै दुई पटक ट्याप गर्नुहोस्"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"लिंकहरू खोल्दै"</string>
@@ -3765,9 +3863,14 @@
       <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> अनुप्रयोगले समर्थित लिंकहरू खोल्न सक्छन्</item>
       <item quantity="one">एउटा अनुप्रयोगले समर्थित लिंकहरू खोल्न सक्छ</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"यो अनुप्रयोगमा खोल्नुहोस्"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"अनुप्रयोगलाई समर्थित लिंकहरू खोल्ने अनुमति दिनुहोस्"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"प्रत्येक पटक सोध्नुहोस्"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"यो अनुप्रयोगमा नखोल्नुहोस्"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"अनुप्रयोगलाई लिंकहरू खोल्ने अनुमति नदिनुहोस्"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> वटा लिंक सम्हाल्न प्रयोग गरिने अनुप्रयोगका दाबीहरू</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> लिंक सम्हाल्न प्रयोग गरिने अनुप्रयोगका दाबीहरू</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"निम्न लिंकहरू सम्हाल्न प्रयोग गरिने अनुप्रयोगका दाबीहरू"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"पूर्वनिर्धारित"</string>
     <string name="default_for_work" msgid="537558180548617528">"कार्यका लागि पूर्वनिर्धारित"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"सहायक तथा आवाजको इनपुट"</string>
@@ -3911,8 +4014,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"अन्य अनुप्रयोगहरूको माथिपट्टि देखाउनुहोस्"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"अन्य एपहरूको माथिपट्टि देखिने अनुमति दिनुहोस्"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"यो अनुप्रयोगलाई तपाईंले प्रयोग गरिरहनुभएका अन्य अनुप्रयोगहरूको माथिपट्टि देखिन अनुमति दिनुहोस्। यसले तपाईंले गर्ने ती अनुप्रयोगहरूको प्रयोगमा हस्तक्षेप गर्न वा तिनीहरू देखा पर्ने वा तिनीहरूले काम गर्ने तरिकालाई परिवर्तन गर्न सक्छ।"</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"सबै फाइलहरूमाथिको पहुँच"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"सबै फाइलहरूको व्यवस्थापन गर्न अनुमति दिनुहोस्"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"यो अनुप्रयोगलाई यो यन्त्र वा जोडिएको कुनै भण्डारण भोल्युममा रहेका सबै फाइलहरू पढ्ने, परिमार्जन गर्ने तथा मेट्ने अनुमति दिनुहोस्। अनुमति दिइएका खण्डमा यो अनुप्रयोगले तपाईंको स्पष्ट जानकारीविनै फाइलहरूमाथि पहुँच राख्न सक्छ।"</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"सबै फाइलहरूमाथि पहुँच राख्न सक्छ।"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"vr भर्चुअल रियालिटी श्रोता स्टेरियो सहायक सेवा"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"प्रणाली अलर्ट विन्डो संवाद माथिपट्टि देखिने अन्य अनुप्रयोगहरू"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"अन्य एपहरूको माथिपट्टि देखाउनु"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"<xliff:g id="COUNT_1">%2$d</xliff:g> मध्ये <xliff:g id="COUNT_0">%1$d</xliff:g> एपहरूलाई अन्य एपको माथिपट्टि देखिने अनुमति दिइएको छ"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"अनुमतिसहित अनुप्रयोगहरू"</string>
@@ -4078,6 +4184,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"<xliff:g id="ID_1">^1</xliff:g><xliff:g id="ID_2">^2</xliff:g> प्रयोग गरियो"</string>
     <string name="data_overusage" msgid="3680477320458707259">"<xliff:g id="ID_1">^1</xliff:g> बढी"</string>
     <string name="data_remaining" msgid="6316251496381922837">"<xliff:g id="ID_1">^1</xliff:g> बाँकी"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"<xliff:g id="START_DATE">%1$s</xliff:g> देखि <xliff:g id="END_DATE">%2$s</xliff:g> सम्म प्रयोग भएको डेटा देखाइएको ग्राफ।"</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"यस मितिको दायरामा डेटा छैन"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="other">%d दिन बाँकी</item>
       <item quantity="one">%d दिन बाँकी</item>
@@ -4141,14 +4249,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"पार्सलको आकार"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"एस्मेम"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"सूचनाबारे सतर्क गरियो"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"ध्वनि"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"कम्पन हुने"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"ढाँचा"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"पूर्वनिर्धारित"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"च्यानल"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"कुनै पनि होइन"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"वर्गीकरण सम्बन्धी वस्तु उपलब्ध छैन।"</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"वर्गीकरण सम्बन्धी वस्तुमा यो साँचो छैन।"</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"विषयवस्तु"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"पूर्वनिर्धारित यन्त्र"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"प्रदर्शनसम्बन्धी कटआउट"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"प्रदर्शनसम्बन्धी कटआउट, नच"</string>
@@ -4237,8 +4341,12 @@
     <string name="information_label" msgid="6939310810756569298">"जानकारी"</string>
     <string name="low_label" msgid="6525629096999711220">"न्यून"</string>
     <string name="high_label" msgid="357503396626018487">"उच्च"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n" संवेदनशीलता वृद्धि गर्दा स्क्रिनका किनारामा हुने अनुप्रयोगको इसारामा प्रभाव पर्न सक्छ।"</string>
+    <string name="left_edge" msgid="1513576842959071849">"बायाँ किनारा"</string>
+    <string name="right_edge" msgid="1505309103265829121">"दायाँ किनारा"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"संवेदनशीलता वृद्धि गर्दा स्क्रिनका किनारामा हुने अनुप्रयोगको इसारामा प्रभाव पर्न सक्छ।"</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"पछाडिपट्टिको संवेदनशीलता"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"इसारासम्बन्धी सेटिङहरू"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"इसारामार्फत गरिने नेभिगेसन, पृष्ठभागको संवेदनशीलता, पृष्ठभागको इसारा"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"फोनको जाँच गर्न डबल-ट्याप गर्नुहोस्"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"ट्याब्लेटको जाँच गर्न डबल-ट्याप गर्नुहोस्"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"यन्त्रको जाँच गर्न डबल-ट्याप गर्नुहोस्"</string>
@@ -4393,7 +4501,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"सेवा प्रदायकको प्रावधानलाई ट्रिगर गर्नुहोस्"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"बाधा नपुर्‍याउनुहोस्‌ नामक सेवालाई अद्यावधिक गर्नुहोस्‌"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"केन्द्रित रहन सूचनाहरू पज गर्नुहोस्"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"यस यन्त्रमा यो सुविधा उपलब्ध छैन"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"सुविधा उपलब्ध छैन"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"यो सुविधाले तपाईंको फोन ढिलो बनाउने हुनाले यसलाई निष्क्रिय पारिएको छ"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"पूर्ण GNSS मापनहरू बलपूर्वक लागू गर्नुहोस्"</string>
@@ -4403,20 +4510,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"कोण सक्षम पारिएको अनुप्रयोग चयन गर्नुहोस्"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"कोण सक्षम पारिएको कुनै पनि अनुप्रयोग सेट गरिएको छैन"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"कोण सक्षम पारिएको अनुप्रयोग: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"गेम ड्राइभरका प्राथमिकताहरू"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"गेम ड्राइभरका सेटिङहरू परिमार्जन गर्नुहोस्"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"गेम ड्राइभर सक्रिय गरिँदा, तपाईं यस यन्त्रमा स्थापना गरिएका अनुप्रयोगहरूका हकमा अद्यावधिक गरिएको ग्राफिक्स ड्राइभर प्रयोग गर्ने विकल्प छनौट गर्न सक्नुहुन्छ।"</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"सबै अनुप्रयोगहरूका हकमा सक्षम पार्नुहोस्"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"ग्राफिक्स ड्राइभर चयन गर्नुहोस्"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"पूर्वनिर्धारित"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"गेम ड्राइभर"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"अनुप्रयोग विमोचन गर्नुअघि परीक्षण गर्ने ड्राइभर"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"प्रणालीको ग्राफिक्स ड्राइभर"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"ग्राफिक्स ड्राइभरका प्राथमिकताहरू"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"ग्राफिक्स ड्राइभरका सेटिङहरू परिमार्जन गर्नुहोस्"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"एकभन्दा बढी ग्राफिक्स ड्राइभर रहेका अवस्थामा, तपाईं यस यन्त्रमा स्थापना गरिएका अनुप्रयोगहरूका हकमा अद्यावधिक गरिएको ग्राफिक्स ड्राइभर प्रयोग गर्ने विकल्प छनौट गर्न सक्नुहुन्छ।"</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"सबै अनुप्रयोगहरूका हकमा सक्षम पार्नुहोस्"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"ग्राफिक्स ड्राइभर चयन गर्नुहोस्"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"पूर्वनिर्धारित"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"गेम ड्राइभर"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"विकासकर्ताको ड्राइभर"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"प्रणालीको ग्राफिक्स ड्राइभर"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"अनुप्रयोगको कम्प्याटिबिलिटीमा भएका परिवर्तनहरू"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"अनुप्रयोगको कम्प्याटिबिलिटीमा गरिएको परिवर्तन टगल गर्नुहोस्"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"पूर्वनिर्धारित रूपमा सक्षम पारिएका परिवर्तनहरू"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"असक्षम पारिएका पूर्वनिर्धारित परिवर्तनहरू"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"यो फोनमा सेटिङ समर्थित छैन"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"यो ट्याब्लेटमा सेटिङ समर्थित छैन"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"यो यन्त्रमा सेटिङ समर्थित छैन"</string>
@@ -4435,6 +4548,12 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"यन्त्र"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"कलहरूको बेला अनुपलब्ध"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"अनुपलब्ध"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"आउटपुटसम्बन्धी यन्त्रहरू थप्नुहोस्"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"समूह"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"१ यन्त्र चयन गरियो"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> यन्त्रहरू चयन गरिए"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"यसमार्फत फोन उठाउनुहोस्"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"यो APN परिवर्तन गर्न सकिँदैन।"</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"ट्याब्लेटको ब्याट्रीको आयुमा सुधार गर्नुहोस्"</string>
@@ -4552,10 +4671,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"एक पटकमा डाउनलोड गरिएको  एउटा SIM मात्र सक्रिय हुन सक्छ।\n\nयसलाई बदलेर <xliff:g id="CARRIER1">%1$s</xliff:g> मा जानुले तपाईंको <xliff:g id="CARRIER2">%2$s</xliff:g> को सेवा रद्द गर्दैन।"</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"<xliff:g id="CARRIER">%1$s</xliff:g> मा जानुहोस्"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"SIM मेट्नुहोस्"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"डाउनलोड गरिएको यो SIM मेटाउने हो?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"यो SIM मेटाउनुले यस यन्त्रबाट <xliff:g id="CARRIER_0">%1$s</xliff:g> सेवा हटाउने छ।\n\n <xliff:g id="CARRIER_1">%2$s</xliff:g> को सेवा भने रद्द गरिने छैन।"</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"मेट्नुहोस्"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"SIM मेटाइँदै…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"SIM मेटाउन सकिँदैन"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"कुनै त्रुटि भएका कारण यो SIM मेटाउन सकिएन।\n\nआफ्नो यन्त्र पुनः सुरु गर्नुहोस् र फेरि प्रयास गर्नुहोस्।"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"रुचाइएको नेटवर्कको प्रकार"</string>
@@ -4580,7 +4695,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"अमान्य नेटवर्क मोड <xliff:g id="NETWORKMODEID">%1$d</xliff:g>। बेवास्ता गर्नुहोस्।"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"एक्सेस पोइन्ट नामहरू"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"<xliff:g id="CARRIER">%1$s</xliff:g> मा जडान हुँदा उपलब्ध छैन"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"चिकित्सकीय जानकारी, आपतकालीन सम्पर्कहरू"</string>
     <string name="see_more" msgid="7499355691042812723">"थप हेर्नुहोस्"</string>
     <string name="see_less" msgid="2642392725363552793">"कम हेर्नुहोस्"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"<xliff:g id="APPNAME">%1$s</xliff:g> प्रयोग गरिने यन्त्र"</string>
@@ -4589,11 +4703,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"केही चिज गडबड भयो। यो अनुप्रयोगले कुनै यन्त्र छनौट गर्नेसम्बन्धी अनुरोध रद्द गरेको छ।"</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"सफलतापूर्वक जोडियो"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"सबै देखाउनुहोस्"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> यन्त्रहरू जडान गरिए</item>
-      <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_0">%1$d</xliff:g> यन्त्र जडान गरियो</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"कुनै पनि ब्लुटुथ यन्त्र छैन"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"यन्त्र खोज्दै…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"यन्त्रसँग जोडिँदै…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"बायाँ"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"दायाँ"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"खोल"</string>
@@ -4603,6 +4714,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"हवाइजहाज मोडमा हुँदा मोबाइल डेटा उपलब्ध हुँदैन"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"डेस्कटप मोडमा बल गर्नुहोस्"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"सहायक प्रदर्शनहरूमा प्रयोगात्मक डेस्कटप मोडमा जोड दिनुहोस्‌"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"फ्रिफर्म sizecompat सक्षम पार्दछ"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"sizecompat अनुप्रयोगहरूलाई फ्रिफर्ममा रहन अनुमति दिन्छ"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"force-dark ओभरराइड गर्नुहोस्"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"force-dark सुविधा सधैँ सक्रिय हुन बल गर्छ"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"गोपनीयता"</string>
@@ -4639,6 +4752,10 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"तपाईंले हालसालै यो अनुप्रयोग स्थापना गर्नुभयो।"</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"आउटपुट बदल्नुहोस्"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"हाल <xliff:g id="DEVICE_NAME">%1$s</xliff:g> मा प्ले भइरहेको"</string>
+    <!-- no translation found for media_output_disconnected_status (5567111639832431865) -->
+    <skip />
+    <!-- no translation found for media_output_switch_error_text (603563475910236831) -->
+    <skip />
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"महत्त्वपूर्ण जानकारी"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"जारी राख्नुहोस्"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"पर्दैन, धन्यवाद"</string>
@@ -4666,8 +4783,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"SIM को संयोजन"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"तपाईंको कार्यको नीतिसम्बन्धी जानकारी"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"तपाईंका IT प्रशासकले व्यवस्थापन गरेका सेटिङहरू"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"बग रिपोर्ट ह्यान्ड्लर"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"तपाईंको यन्त्रमा कुन एपले बग रिपोर्टसम्बन्धी सर्टकट ह्यान्डल गर्दछ भन्ने कुरा निर्धारण गर्दछ।"</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"व्यक्तिगत"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"काम"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"प्रणालीको पूर्वनिर्धारित सेटिङ"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"यो छनोट अब उप्रान्त मान्य छैन। फेरि प्रयास गर्नुहोस्।"</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"casting रोक्नुहोस्"</string>
 </resources>
diff --git a/res/values-night/colors.xml b/res/values-night/colors.xml
index b1f9dfb..4ce02ee 100644
--- a/res/values-night/colors.xml
+++ b/res/values-night/colors.xml
@@ -22,11 +22,21 @@
     <color name="homepage_card_dismissal_background">@*android:color/material_grey_900</color>
     <color name="contextual_card_background">@*android:color/material_grey_900</color>
     <color name="search_bar_background">@*android:color/material_grey_800</color>
-    <!-- Dialog background color -->
+    <!-- Dialog background color. -->
     <color name="dialog_background">@*android:color/material_grey_800</color>
     <color name="notification_importance_selection_bg">@*android:color/material_grey_800</color>
     <color name="notification_importance_button_selected">#AECBFA</color> <!-- material blue 200 -->
     <color name="notification_importance_button_unselected">#5F6368</color>
     <color name="face_intro_outline">?android:attr/colorAccent</color>
+    <!-- Palette list preference colors. -->
+    <color name="palette_list_gradient_background">@android:color/black</color>
+    <color name="palette_list_color_red">@color/palette_list_dark_mode_color_red</color>
+    <color name="palette_list_color_orange">@color/palette_list_dark_mode_color_orange</color>
+    <color name="palette_list_color_yellow">@color/palette_list_dark_mode_color_yellow</color>
+    <color name="palette_list_color_green">@color/palette_list_dark_mode_color_green</color>
+    <color name="palette_list_color_cyan">@color/palette_list_dark_mode_color_cyan</color>
+    <color name="palette_list_color_blue">@color/palette_list_dark_mode_color_blue</color>
+    <color name="palette_list_color_purple">@color/palette_list_dark_mode_color_purple</color>
+    <color name="gestures_setting_background_color">@android:color/black</color>
 </resources>
 
diff --git a/res/values-night/themes.xml b/res/values-night/themes.xml
index ec0978b..c5f67fe 100644
--- a/res/values-night/themes.xml
+++ b/res/values-night/themes.xml
@@ -40,4 +40,8 @@
         <item name="android:colorBackground">@color/dialog_background</item>
     </style>
 
+    <!-- Material theme for the pages containing TabLayout and ViewPager -->
+    <style name="Theme.TabTheme" parent="@style/Theme.MaterialComponents.DayNight">
+        <item name="colorPrimary">@*android:color/edge_effect_device_default_dark</item>
+    </style>
 </resources>
diff --git a/res/values-nl/arrays.xml b/res/values-nl/arrays.xml
index d379a87..1bd7215 100644
--- a/res/values-nl/arrays.xml
+++ b/res/values-nl/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"Onmiddellijk"</item>
     <item msgid="463591454172790676">"5 seconden"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"Niet valideren"</item>
+    <item msgid="5703177653586269306">"Certificaatstatus aanvragen"</item>
+    <item msgid="326388247868439528">"Certificaatstatus vereisen"</item>
+    <item msgid="1090956283885790552">"Alle niet-vertrouwde certificaatstatussen vereisen"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"Knop indrukken"</item>
     <item msgid="2630618799033509548">"Pincode van peerapparaat"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"Geen"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"IPSec VPN-met van tevoren gedeelde sleutels en Xauth-authenticatie"</item>
     <item msgid="2484564813864139237">"IPSec-VPN met certificaten en Xauth-authenticatie"</item>
     <item msgid="68918911194507915">"IPSec-VPN met certificaten en hybride authenticatie"</item>
+    <item msgid="4631647675167100375">"IKEv2/IPSec-VPN met certificaten en gebruikersnaam-/wachtwoordverificatie"</item>
+    <item msgid="8812228622975052811">"IKEv2/IPSec-VPN met vooraf gedeelde sleutels"</item>
+    <item msgid="6630554779981113046">"IKEv2/IPSec-VPN met certificaten"</item>
   </string-array>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"Geen"</item>
diff --git a/res/values-nl/config.xml b/res/values-nl/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-nl/config.xml
+++ b/res/values-nl/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index e939785..ae86a7d 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -31,49 +31,17 @@
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Schakel eerst de opties voor ontwikkelaars in."</string>
     <string name="header_category_wireless_networks" msgid="303445626075235229">"Draadloos en netwerken"</string>
     <string name="header_category_system" msgid="1665516346845259058">"Systeem"</string>
-    <string name="radio_info_data_connection_enable" msgid="7500945447906187613">"Gegevensverbinding inschakelen"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"Gegevensverbinding uitschakelen"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"VoLTE-registratie"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"Videogesprekken geregistreerd"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"Wifi-gesprekken geregistreerd"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"EAB/aanwezigheid geregistreerd"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"CBRS-gegevens"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"DSDS inschakelen"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"Apparaat opnieuw opstarten?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"Start het apparaat opnieuw op om de instelling te wijzigen."</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"Opnieuw opstarten"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"Annuleren"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"Mobiel radiovermogen"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"Adresboek op simkaart weergeven"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"Vaste nummers weergeven"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"Servicenummers weergeven"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"IMS-servicestatus"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"IMS-status"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"Geregistreerd"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"Niet geregistreerd"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"Beschikbaar"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"Niet beschikbaar"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"IMS-registratie: <xliff:g id="STATUS">%1$s</xliff:g>\nBellen via LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nBellen via wifi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideogesprekken: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT-interface: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"In gebruik"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Niet in gebruik"</string>
     <string name="radioInfo_service_emergency" msgid="6838935881091760942">"Alleen noodoproepen"</string>
     <string name="radioInfo_service_off" msgid="6184928420860868571">"Radio uit"</string>
     <string name="radioInfo_roaming_in" msgid="8892550453644088692">"Roaming"</string>
     <string name="radioInfo_roaming_not" msgid="3137594549464975054">"Geen roaming"</string>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"Inactief"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"Telefoon gaat over"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"Actief gesprek"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"Verbinding verbroken"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"Verbinding maken"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"Verbonden"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Opgeschort"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Onbekend"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"pakketten"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"bytes"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"USB-opslag ontkoppelen"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"SD-kaart ontkoppelen"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"USB-opslag wissen"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"Maak de tekst op het scherm kleiner of groter."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Verkleinen"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Vergroten"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"Voorbeeldtekst"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"De tovenaar van Oz"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"Hoofdstuk 11: De prachtige Smaragden Stad van Oz"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"Start het apparaat opnieuw op om de instelling te wijzigen."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"Herstarten"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"Annuleren"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"Beschikbare media-apparaten"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"Beschikbare apparaten voor gesprekken"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"Momenteel verbonden"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"Media-apparaten"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"Apparaten voor gesprekken"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"Andere apparaten"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Opgeslagen apparaten"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth wordt ingeschakeld om te koppelen"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Verbindingsvoorkeuren"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"De poort die je hebt ingevoerd, is ongeldig."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"De HTTP-proxy wordt gebruikt door de browser, maar mogelijk niet door de andere apps."</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"PAC URL: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"Huidige subId:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"SubId van standaardsimkaart voor data:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"DL-bandbreedte (kbps):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"UL-bandbreedte (kbps):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"Mobiele locatiegegevens (beëindigd):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"Fysieke LTE-kanaalconfiguratie:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"Vernieuwingsfrequentie van mobiele data:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"Alle mobiele meetgegevens:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"Gegevensservice:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"Roaming:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI-nummer:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"Gesprek omleiden:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"Aantal PPP-resets sinds opstarten:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"Huidig netwerk:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"Ontvangen gegevens:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"Spraakservice:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"Signaalsterkte:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"Status van audiogesprek:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"Gegevens verzonden:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"Wachtend bericht:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"Telefoonnummer:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"Radioband selecteren"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"Type spraaknetwerk:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"Type gegevensnetwerk:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"Telefoonindex selecteren"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"Voorkeursnetwerktype instellen:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"IPv4 van hostnaam (www.google.com) pingen:"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"IPv6 van hostnaam (www.google.com) pingen:"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"HTTP-client testen:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"Pingtest uitvoeren"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"Updaten"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"Vernieuwen"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"DNS-controle in-/uitschakelen"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"OEM-specifieke gegevens/instellingen"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"Modus voor radioband instellen"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"Bandlijst laden…"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"Instellen"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"Mislukt"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"Geslaagd"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"Wijzigingen worden van kracht als de USB-kabel opnieuw wordt aangesloten."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"USB-massaopslag inschakelen"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"Totaal aantal bytes:"</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"Onderaan zetten"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"Taal verwijderen"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"Een activiteit kiezen"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"Apparaatinfo"</string>
     <string name="display_label" msgid="3056320781191343221">"Scherm"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"Tabletinformatie"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"Telefooninfo"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"USB-opslag"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"SD-kaart"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"Proxy-instellingen"</string>
@@ -306,9 +234,6 @@
     <string name="airplane_mode" msgid="3196085857882526817">"Vliegtuigmodus"</string>
     <string name="wireless_networks_settings_title" msgid="8557542379234105369">"Draadloos en netwerken"</string>
     <string name="radio_controls_summary" msgid="9028430178697624501">"Wifi, Bluetooth, vliegtuigmodus, mobiele netwerken en VPN\'s beheren"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"Mobiele data"</string>
-    <string name="calls_title" msgid="6334813967619899114">"Gesprekken toestaan"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"Sms\'jes"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"Datagebruik via mobiel netwerk toestaan"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"Geg.gebr. bij roaming toestaan"</string>
     <string name="roaming" msgid="3055365654530847985">"Roaming"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"Verbinding maken met dataservices tijdens roaming"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"De gegevensverbinding is verbroken, omdat je je thuisnetwerk hebt verlaten terwijl dataroaming was uitgeschakeld."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"Inschakelen"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"Er kunnen hoge kosten in rekening worden gebracht."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"Wanneer je dataroaming toestaat, kunnen er hoge roamingkosten in rekening worden gebracht.\n\nDeze instelling is van invloed op alle gebruikers van deze tablet."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"Wanneer je dataroaming toestaat, kunnen er hoge roamingkosten in rekening worden gebracht.\n\nDeze instelling is van invloed op alle gebruikers van deze telefoon."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"Er kunnen kosten voor roaming in rekening worden gebracht."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"Als je dataroaming toestaat, kunnen er roamingkosten in rekening worden gebracht.\n\nDeze instelling is van invloed op alle gebruikers van deze tablet."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"Als je dataroaming toestaat, kunnen er roamingkosten in rekening worden gebracht.\n\nDeze instelling is van invloed op alle gebruikers van deze telefoon."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"Dataroaming toestaan?"</string>
     <string name="networks" msgid="5184501333492775095">"Operator selecteren"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"Een mobiele provider kiezen"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"Uitgeschakeld door beheerder"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"Lockdown-optie weergeven"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"Optie voor aan/uit-knop weergeven waarmee Smart Lock, biometrische ontgrendeling en meldingen op het vergrendelingsscherm worden uitgeschakeld"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"Ontgrendelen verlengen voor trust agents"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"Indien ingeschakeld houden trust agents je apparaat langer ontgrendeld, maar hiermee kan een vergrendeld apparaat niet meer worden ontgrendeld."</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"Scherm vergr. als vertrouwen kwijt is"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"Indien ingeschakeld, wordt het apparaat vergrendeld wanneer de laatste trust agent het vertrouwen kwijtraakt"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"Geen"</string>
@@ -390,7 +313,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"\'Mijn locatie\', schermontgrendeling, sim- en certificaatopslagvergrendeling instellen"</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"\'Mijn locatie\' instellen, scherm ontgrendelen, certificaatopslag vergrendelen"</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"Privacy"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"Uitgeschakeld door beheerder"</string>
+    <string name="disabled_by_administrator_summary" msgid="5424846182313851124">"Niet beschikbaar"</string>
     <string name="security_status_title" msgid="6958004275337618656">"Beveiligingsstatus"</string>
     <string name="security_dashboard_summary_face" msgid="4198949293847206382">"Schermvergrendeling, ontgrendelen via gezichtsherkenning"</string>
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Schermvergrendeling, vingerafdruk"</string>
@@ -693,7 +616,6 @@
       <item quantity="other">Moet minder dan <xliff:g id="NUMBER_1">%d</xliff:g> cijfers bevatten</item>
       <item quantity="one">Moet minder dan <xliff:g id="NUMBER_0">%d</xliff:g> cijfer bevatten</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"Mag alleen de cijfers 0-9 bevatten"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"Apparaatbeheer staat het gebruik van een recente pincode niet toe"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"Veelvoorkomende pincodes worden geblokkeerd door je IT-beheerder. Probeer een andere pincode."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"Mag geen ongeldig teken bevatten"</string>
@@ -724,6 +646,10 @@
       <item quantity="other">Moet ten minste <xliff:g id="COUNT">%d</xliff:g> tekens bevatten die geen letters zijn</item>
       <item quantity="one">Moet ten minste één teken bevatten dat geen letter is</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="other">Moet ten minste <xliff:g id="COUNT">%d</xliff:g> niet-numerieke tekens bevatten</item>
+      <item quantity="one">Moet ten minste 1 niet-numeriek teken bevatten</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"Apparaatbeheer staat het gebruik van een recent wachtwoord niet toe"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"Veelvoorkomende wachtwoorden worden geblokkeerd door je IT-beheerder. Probeer een ander wachtwoord."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"Een oplopende, aflopende of herhaalde reeks cijfers is niet toegestaan"</string>
@@ -837,19 +763,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2,4 GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"Inloggen"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"Site openen"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"Nog <xliff:g id="REMAINING_TIME">%1$s</xliff:g>"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"Verloopt op <xliff:g id="EXPIRY_TIME">%1$s</xliff:g>"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"Tik hier om in te loggen bij het netwerk"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"<xliff:g id="REQUESTER">%s</xliff:g> wil wifi inschakelen"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"<xliff:g id="REQUESTER">%s</xliff:g> wil wifi uitschakelen"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"Bytecode verifiëren van apps met foutopsporing"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"ART toestaan de bytecode te verifiëren voor apps waarop foutopsporing kan worden toegepast"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"Vernieuwingssnelheid tonen"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Huidige vernieuwingssnelheid van scherm tonen"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"Gegevensuitwisseling toestaan wanneer de tablet een ander apparaat fysiek raakt"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"Gegevensuitwisseling toestaan wanneer de telefoon een ander apparaat fysiek raakt"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"Gegevensuitwisseling toestaan als de tablet een NFC-apparaat fysiek raakt"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"Gegevensuitwisseling toestaan als de telefoon een NFC-apparaat fysiek raakt"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"NFC inschakelen"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"NFC wisselt gegevens uit tussen dit apparaat en andere apparaten of doelen in de buurt, zoals betaalterminals, toegangslezers en interactieve advertenties of tags."</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"NFC beveiligen"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Apparaatontgrendeling vereisen voor NFC"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"Alleen betaling en overdracht via NFC toestaan als het scherm is ontgrendeld"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"Klaar om app-content te verzenden via NFC"</string>
@@ -923,8 +855,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Inschakelen"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Wifi-scannen ingeschakeld"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Geavanceerde opties"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"Dropdownmenu \'Geavanceerde opties\'. Dubbeltik om samen te vouwen."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"Dropdownmenu \'Geavanceerde opties\'. Dubbeltik om uit te vouwen."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Dropdownmenu \'Geavanceerde opties\'"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"uitvouwen"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"Netwerknaam"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"Geef de SSID op"</string>
     <string name="wifi_security" msgid="9095934643631406913">"Beveiliging"</string>
@@ -934,6 +866,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"Status"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"Linksnelheid voor verzenden"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"Linksnelheid voor ontvangen"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"Linksnelheid"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"Frequentie"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"IP-adres"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"Opgeslagen via"</string>
@@ -941,6 +874,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"EAP-methode"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"Phase 2-verificatie"</string>
     <string name="wifi_eap_ca_cert" msgid="8033404008276298886">"CA-certificaat"</string>
+    <string name="wifi_eap_ocsp" msgid="8713933962516871238">"Online certificaatstatus"</string>
     <string name="wifi_eap_domain" msgid="8304301470752333203">"Domein"</string>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"Gebruikerscertificaat"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"Identiteit"</string>
@@ -957,6 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"Kies ten minste één band voor je wifi-hotspot:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"IP-instellingen"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"Privacy"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"Abonnement"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"Abonnement bekijken of wijzigen"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"Willekeurig MAC-adres"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"Apparaat toevoegen"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"Centreer de onderstaande QR-code om het apparaat toe te voegen aan \'<xliff:g id="SSID">%1$s</xliff:g>\'"</string>
@@ -966,12 +902,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"Wifi delen"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"Scan deze QR-code om verbinding te maken met \'<xliff:g id="SSID">%1$s</xliff:g>\' en het wachtwoord te delen"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"Scan deze QR-code om verbinding te maken met \'<xliff:g id="SSID">%1$s</xliff:g>\'"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"Kan QR-code niet lezen. Centreer de code en probeer het opnieuw."</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"Probeer het nog eens. Als het probleem zich blijft voordoen, neem je contact op met de fabrikant van het apparaat."</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"Er is iets misgegaan"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"Controleer of het apparaat is aangesloten, opgeladen en ingeschakeld"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"Controleer of het apparaat is aangesloten, opgeladen en ingeschakeld. Als het probleem zich blijft voordoen, neem je contact op met de fabrikant van het apparaat."</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"\'<xliff:g id="SSID">%1$s</xliff:g>\' toevoegen is niet mogelijk op dit apparaat"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"Zet het apparaat dichter bij je wifi-toegangspunt/-router"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"Controleer het wachtwoord en probeer het opnieuw"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"Neem contact op met de fabrikant van het apparaat"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"Controleer de verbinding en probeer het opnieuw"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"Netwerk kiezen"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"Kies een netwerk om je apparaat te verbinden"</string>
@@ -984,11 +922,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"Wifi delen met dit apparaat…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"Verbinden…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"Hotspot delen"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"Bevestig dat jij het bent"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"Verifiëren dat jij het bent"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"Wifi-wachtwoord: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"Wachtwoord hotspot: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"Automatisch verbinding maken"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"Toestaan dat telefoon automatisch verbinding maakt met dit netwerk"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"Toestaan dat tablet automatisch verbinding maakt met dit netwerk"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"Apparaat toevoegen"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"Gebruik een QR-code om een apparaat aan dit netwerk toe te voegen"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"QR-code heeft geen geldige indeling"</string>
     <string name="retry" msgid="7542103800274026915">"Opnieuw proberen"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"Delen met andere apparaatgebruikers"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(ongewijzigd)"</string>
@@ -1000,6 +942,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"Geen certificaat opgegeven. Je verbinding is niet privé."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"Netwerknaam is te lang."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"Je moet een domein opgeven."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"Certificaat vereist."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"WPS beschikbaar"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (WPS beschikbaar)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"Wifi-netwerk van provider"</string>
@@ -1051,7 +994,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"Geavanceerde wifi-instellingen"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"MAC-adres"</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_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>
@@ -1103,7 +1047,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"Gebruik een hotspot om een wifi-netwerk te maken voor je andere apparaten. De hotspot biedt internet via je mobiele dataverbinding. Er kunnen extra kosten voor mobiele data van toepassing zijn."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"Apps kunnen hotspots maken om content te delen met apparaten in de buurt."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Hotspot automatisch uitschakelen"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"Wifi-hotspot wordt uitgeschakeld als er geen apparaten verbonden zijn"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Als er geen apparaten zijn verbonden"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"Hotspot inschakelen…"</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"Hotspot uitschakelen…"</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> is actief"</string>
@@ -1112,6 +1056,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"Wifi-hotspotconfiguratie"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"AndroidAP WPA2 PSK-hotspot"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"AndroidHotspot"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"Dit netwerk opslaan?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"<xliff:g id="APPNAME">%1$s</xliff:g> wil een netwerk opslaan op je telefoon"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"<xliff:g id="APPNAME">%1$s</xliff:g> wil een netwerk opslaan op je tablet"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"Opslaan…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"Opgeslagen"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"Kan niet opslaan. Probeer het opnieuw."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"Netwerken opslaan?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"<xliff:g id="APPNAME">%1$s</xliff:g> wil deze netwerken opslaan op je telefoon"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"<xliff:g id="APPNAME">%1$s</xliff:g> wil deze netwerken opslaan op je tablet"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"<xliff:g id="NUMBER">%d</xliff:g> netwerken opslaan…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"Netwerken opgeslagen"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"Bellen via wifi"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"Gesprekken uitbreiden met wifi"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"Bellen via wifi inschakelen om dekking uit te breiden"</string>
@@ -1138,16 +1093,18 @@
     <string name="emergency_address_title" msgid="3490633500025717573">"Adres bij noodgevallen"</string>
     <string name="emergency_address_summary" msgid="3022628750270626473">"Dit adres wordt gebruikt als je locatie wanneer je het noodnummer belt via wifi"</string>
     <string name="private_dns_help_message" msgid="851221502063782306"><annotation id="url">"Meer informatie"</annotation>" over privé-DNS-functies"</string>
+    <string name="private_dns_mode_on" msgid="8878679071975375696">"Aan"</string>
     <string name="wifi_calling_pref_managed_by_carrier" msgid="129524064888622179">"Instelling beheerd door provider"</string>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"Bellen via wifi activeren"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"Bellen via wifi inschakelen"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"Bellen via wifi wordt niet ondersteund voor %1$s"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"Verbinding met <xliff:g id="SSID">%1$s</xliff:g> verbroken"</string>
     <string name="carrier" msgid="1755020806290963951">"Provider"</string>
     <string name="display_settings_title" msgid="626835071804834218">"Scherm"</string>
     <string name="sound_settings" msgid="5514582720435174014">"Geluid"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"Volumes"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"Muziekeffecten"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"Ringtonevolume"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"Volume ringtone en meldingen"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"Trillen indien stil"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"Standaard meldingsgeluid"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"Ringtone"</string>
@@ -1272,13 +1229,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"Planning"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"Geen"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"Van zonsondergang tot zonsopgang"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"Op aangepaste tijd"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"Status"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"Uit / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"Wordt nooit automatisch ingeschakeld"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"Wordt automatisch ingeschakeld bij zonsondergang"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"Wordt automatisch ingeschakeld om <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"Aan / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"Wordt nooit automatisch uitgeschakeld"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"Wordt automatisch uitgeschakeld bij zonsopgang"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"Wordt automatisch uitgeschakeld om <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"Inschakelen tot <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"Uitschakelen tot <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"Het donkere thema gebruikt een zwarte achtergrond zodat je batterij langer meegaat op sommige schermen. Schema\'s voor het donkere thema worden pas ingeschakeld als je scherm uit is."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"Time-out voor scherm"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"Scherm wordt uitgeschakeld"</string>
@@ -1290,7 +1252,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"Achtergrond wijzigen"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"Je scherm personaliseren"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"Achtergrond kiezen uit"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"Je Pixel aanpassen"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"Je telefoon aanpassen"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"Probeer verschillende stijlen, achtergronden en meer"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"Screensaver"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Tijdens opladen of docken"</string>
@@ -1379,6 +1341,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"USB-opslag ontkoppelen, beschikbare opslag weergeven"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"SD-kaart ontkoppelen, beschikbare opslagruimte weergeven"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (simkaartsleuf %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"Kies opgeslagen netwerk om te bekijken"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"Telefoonnummer"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (simkaartsleuf %1$d)"</string>
@@ -1405,6 +1368,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"Roaming"</string>
     <string name="status_operator" msgid="4335640583552058491">"Netwerk"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"MAC-adres voor wifi"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"MAC-adres voor wifi van apparaat"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"Bluetooth-adres"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Serienummer"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Bedrijfstijd"</string>
@@ -1617,6 +1581,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Herstellen van standaard-APN-instellingen voltooid."</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"Opties voor resetten"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"Netwerk, apps of apparaat kunnen worden gereset"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"Apps kunnen worden gereset"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"Wifi, mobiel en Bluetooth resetten"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"Hiermee worden alle netwerkinstellingen gereset, waaronder:\n\n"<li>"wifi"</li>\n<li>"mobiele data"</li>\n<li>"Bluetooth"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"Gedownloade simkaarten wissen"</string>
@@ -1666,6 +1631,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"Hotspot aan"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"Tethering"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"Kan niet tetheren of draagbare hotspots gebruiken terwijl Databesparing is ingeschakeld"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"Alleen hotspot"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"Alleen USB"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"Alleen bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"Hotspot, USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"Hotspot, bluetooth"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB, bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"Hotspot, USB, bluetooth"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"Internet wordt niet gedeeld met andere apparaten"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"Tethering"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Wifi-hotspot niet gebruiken"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Internet alleen delen via USB"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Internet alleen delen via bluetooth"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Internet alleen delen via USB en bluetooth"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB-tethering"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"Internetverbinding van telefoon delen via USB"</string>
@@ -1756,9 +1734,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"Veiligheidsinformatie"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"Je hebt geen gegevensverbinding. Als je deze informatie nu wilt weergeven, ga je op een computer met internetverbinding naar %s."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"Laden..."</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"Pincode gebruiken"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"Patroon gebruiken"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"Wachtwoord gebruiken"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"Stel je schermvergrendeling in"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"Stel een wachtwoord in voor betere beveiliging"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"Stel wachtwoord in voor gebruik van vingerafdruk"</string>
@@ -1767,8 +1742,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"Stel pincode in voor gebruik van vingerafdruk"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"Stel een patroon in voor betere beveiliging"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"Geef je wachtwoord opnieuw op"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"Geef je werkwachtwoord op"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"Je patroon bevestigen"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"Geef je werkpatroon op"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"Geef je pincode opnieuw op"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"Geef je werkpincode op"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"Wachtwoorden komen niet overeen"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"Pincodes komen niet overeen"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"Teken het patroon opnieuw"</string>
@@ -1779,6 +1757,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"Stel wachtwoord in voor ontgrendelen via gezichtsherkenning"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"Stel patroon in voor ontgrendelen via gezichtsherkenning"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"Stel pincode in voor ontgrendelen via gezichtsherkenning"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"Je wachtwoord vergeten?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"Je patroon vergeten?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"Je pincode vergeten?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"Teken het patroon van je apparaat om door te gaan"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"Geef de pincode van het apparaat op om door te gaan"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"Geef het wachtwoord van je apparaat op om door te gaan"</string>
@@ -1846,6 +1827,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"Alle appbronnen toestaan"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"Recent geopende apps"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"Alle <xliff:g id="COUNT">%1$d</xliff:g> apps bekijken"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"Neem contact op met je IT-beheerder"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"De beheerder kan je helpen je pincode, patroon of wachtwoord te resetten"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"Je tablet en persoonsgegevens zijn gevoelig voor aanvallen door onbekende apps. Als je apps van deze bron installeert, ga je ermee akkoord dat je verantwoordelijk bent voor eventuele schade aan je tablet of verlies van gegevens als gevolg van het gebruik van deze apps."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"Je telefoon en persoonsgegevens zijn gevoelig voor aanvallen door onbekende apps. Als je apps van deze bron installeert, ga je ermee akkoord dat je verantwoordelijk bent voor eventuele schade aan je telefoon of verlies van gegevens als gevolg van het gebruik van deze apps."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"Je apparaat en persoonsgegevens zijn gevoelig voor aanvallen door onbekende apps. Als je apps van deze bron installeert, ga je ermee akkoord dat je verantwoordelijk bent voor eventuele schade aan je apparaat of verlies van gegevens als gevolg van het gebruik van deze apps."</string>
@@ -1897,7 +1880,7 @@
     <string name="default_emergency_app" msgid="1929974800666613803">"Nood-app"</string>
     <string name="reset_app_preferences" msgid="8861758340732716573">"App-voorkeuren resetten"</string>
     <string name="reset_app_preferences_title" msgid="8935136792316050759">"App-voorkeuren resetten?"</string>
-    <string name="reset_app_preferences_desc" msgid="1377296810290814749">"Hiermee worden alle voorkeuren gereset voor:\n\n"<li>"Uitgeschakelde apps"</li>\n<li>"Uitgeschakelde app-meldingen"</li>\n<li>"Standaardapps voor acties"</li>\n<li>"Beperkingen voor achtergrondgegevens voor apps"</li>\n<li>"Rechtenbeperkingen"</li>\n\n"Je verliest geen app-gegevens."</string>
+    <string name="reset_app_preferences_desc" msgid="6509978724602405805">"Hiermee worden alle voorkeuren gereset voor:\n\n"<li>"Uitgeschakelde apps"</li>\n<li>"Uitgeschakelde app-meldingen"</li>\n<li>"Standaardapps voor acties"</li>\n<li>"Beperkingen voor achtergrondgegevens voor apps"</li>\n<li>"Rechtenbeperkingen"</li>\n\n"Je verliest geen app-gegevens."</string>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"Apps resetten"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"Ruimte beheren"</string>
     <string name="filter" msgid="9039576690686251462">"Filter"</string>
@@ -2097,7 +2080,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"Audio en tekst op het scherm"</string>
     <string name="display_category_title" msgid="6638191682294461408">"Scherm"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"Interactieopties"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"Gedownloade services"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"Gedownloade apps"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"Experimenteel"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"Functievlaggen"</string>
     <string name="talkback_title" msgid="8756080454514251327">"TalkBack"</string>
@@ -2105,27 +2088,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"Tik op items op je scherm om ze hardop te laten voorlezen"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"Voorkeuren voor ondertiteling"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"Vergroting"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"Vergrotingsgebied"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"Vergroting inschakelen"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"Kies de vergrotingsgebieden die je wilt gebruiken als je het scherm vergroot"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"Volledig scherm"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"Deel van het scherm"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"Volledig scherm en deel van het scherm"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"Gehele scherm vergroten"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"Deel van het scherm vergroten"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Instellingen voor vergroting"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"Vergroten door 3 keer te tikken"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Vergroten met sneltoets"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Vergroten met sneltoets en drie keer tikken"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"Over <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"Opties"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"Inzoomen op scherm"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"Tik drie keer om te zoomen"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Zoomen door te tikken op een knop"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><b>"Als je wilt inzoomen"</b>", tik je drie keer snel achter elkaar op het scherm.\n"<ul><li>"Veeg met twee of meer vingers om te scrollen"</li>\n<li>"Knijp twee of meer vingers samen om te zoomen"</li></ul>\n\n<b>"Als je tijdelijk wilt zoomen"</b>", tik je drie keer snel achter elkaar op het scherm en houd je het scherm vast bij de derde tik.\n"<ul><li>"Sleep om een ander deel van het scherm weer te geven"</li>\n<li>"Haal je vinger van het scherm om uit te zoomen"</li></ul>\n\n"Je kunt niet inzoomen op het toetsenbord of de navigatiebalk."</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"Wanneer vergroting is ingeschakeld, kun je inzoomen op het scherm.\n\n"<b>"Als je wilt zoomen"</b>", start je de vergroting en tik je ergens op het scherm.\n"<ul><li>"• Sleep met twee of meer vingers om te scrollen"</li>\n<li>"• Knijp twee of meer vingers samen om het zoomniveau aan te passen"</li></ul>\n\n<b>"Als je tijdelijk wilt zoomen"</b>", start je de vergroting, tik je ergens op het scherm en houd je dit vast.\n"<ul><li>"• Sleep om over het scherm te bewegen"</li>\n<li>"• Til je vinger op om uit te zoomen"</li></ul>\n\n"Je kunt niet inzoomen op het toetsenbord of de navigatiebalk."</string>
+    <string name="accessibility_screen_magnification_summary" msgid="7617931632990040045">"Zoom snel in op het scherm zodat je content duidelijker kunt zien.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Inzoomen:&lt;/b&gt;&lt;br/&gt;	1. Gebruik de snelkoppeling om de vergroting te starten.&lt;br/&gt;	2. Tik op het scherm.&lt;br/&gt;	3. Sleep met twee vingers om te navigeren op het scherm.&lt;br/&gt;	4. Knijp met twee vingers om het zoomniveau aan te passen.&lt;br/&gt;	5. Gebruik de snelkoppeling om de vergroting te stoppen.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Tijdelijk inzoomen:&lt;/b&gt;&lt;br/&gt;	1. Gebruik de snelkoppeling om de vergroting te starten.&lt;br/&gt;	2. Tik ergens op het scherm en houd vast.&lt;br/&gt;	3. Sleep met een vinger om te navigeren op het scherm.&lt;br/&gt;	4. Haal je vinger van het scherm om de vergroting te stoppen."</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Wanneer vergroting is ingeschakeld, kun je op je scherm het beeld vergroten.\n\n"<b>"Als je wilt inzoomen"</b>", start je de vergroting en tik je waar dan ook op het scherm.\n"<ul><li>"Veeg met twee of meer vingers om te scrollen."</li>\n<li>"Knijp twee of meer vingers samen om de zoom aan te passen."</li></ul>\n\n<b>"Als je tijdelijk wilt zoomen"</b>", start je de vergroting, waarna je ergens op het scherm tikt en vasthoudt.\n"<ul><li>"Sleep om een ander deel van het scherm weer te geven."</li>\n<li>"Haal je vinger van het scherm om uit te zoomen."</li></ul>\n\n"Je kunt niet inzoomen op het toetsenbord of de navigatiebalk."</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Toegankelijkheidsknop gebruiken om te openen"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Gebaar gebruiken om te openen"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"Nieuw toegankelijkheidsgebaar gebruiken"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"Als je deze service wilt in- of uitschakelen, tik je onderaan het scherm op de toegankelijkheidsknop <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>.\n\nTik op de toegankelijkheidsknop en houd deze ingedrukt om tussen services te schakelen."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"Als je deze service wilt in- of uitschakelen, veeg je met twee vingers omhoog vanaf de onderkant van het scherm.\n\nVeeg met twee vingers omhoog en houd vast om tussen services te schakelen."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"Als je deze service wilt in- of uitschakelen, veeg je met drie vingers omhoog vanaf de onderkant van het scherm.\n\nVeeg met drie vingers omhoog en houd vast om tussen services te schakelen."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"Als je een toegankelijkheidsservice wilt in- of uitschakelen, veeg je met twee vingers omhoog vanaf de onderkant van het scherm.\n\nVeeg met twee vingers omhoog en houd vast om tussen services te schakelen."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"Als je een toegankelijkheidsservice wilt in- of uitschakelen, veeg je met drie vingers omhoog vanaf de onderkant van het scherm.\n\nVeeg met drie vingers omhoog en houd vast om tussen services te schakelen."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"Als je deze service wilt in- of uitschakelen, tik je onderaan het scherm op de toegankelijkheidsknop <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>.\n\nTik op de toegankelijkheidsknop en houd deze vast om tussen services te schakelen."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"Als je deze service wilt in- of uitschakelen, veeg je met twee vingers omhoog vanaf de onderkant van het scherm.\n\nVeeg met twee vingers omhoog en houd vast om tussen services te schakelen."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"Als je deze service wilt in- of uitschakelen, veeg je met drie vingers omhoog vanaf de onderkant van het scherm.\n\nVeeg met drie vingers omhoog en houd vast om tussen services te schakelen."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"Als je een toegankelijkheidsservice wilt in- of uitschakelen, veeg je met twee vingers omhoog vanaf de onderkant van het scherm.\n\nVeeg met twee vingers omhoog en houd vast om tussen services te schakelen."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"Als je een toegankelijkheidsservice wilt in- of uitschakelen, veeg je met drie vingers omhoog vanaf de onderkant van het scherm.\n\nVeeg met drie vingers omhoog en houd vast om tussen services te schakelen."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"OK"</string>
+    <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Snelkoppeling voor <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_edit_summary_software" msgid="2820923641553461297">"Knop Toegankelijkheid"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture" msgid="8078659880723370597">"Met twee vingers omhoog swipen"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture_talkback" msgid="7422753388389160524">"Met drie vingers omhoog swipen"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software" msgid="4796192466943479849">"Tik op de knop Toegankelijkheid"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8922102767509399352">"Tik onderaan het scherm op de knop Toegankelijkheid <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"Swipe met twee vingers omhoog vanaf de onderkant van het scherm"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"Veeg met drie vingers omhoog vanaf de onderkant van het scherm"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Volumetoetsen ingedrukt houden"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"Houd beide volumetoetsen één seconde ingedrukt"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Drie keer op het scherm tikken"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"Tik snel drie keer op het scherm. Deze snelkoppeling kan je apparaat vertragen."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"Geavanceerd"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"Toegankelijkheid is ingesteld op <xliff:g id="SERVICE">%1$s</xliff:g>. Als je vergroting wilt gebruiken, tik je op de knop Toegankelijkheid, houd je deze vast en selecteer je Vergroting."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"Het toegankelijkheidsgebaar is ingesteld op <xliff:g id="SERVICE">%1$s</xliff:g>. Als je vergroting wilt gebruiken, veeg je met twee vingers omhoog vanaf het onderkant van het scherm en houd je vast. Selecteer vervolgens Vergroting."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"Sneltoets via volumeknop"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"Service van sneltoets"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Instellingen voor snelkoppelingen"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"Toestaan vanaf vergrendeld scherm"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"Wanneer de sneltoets is ingeschakeld, kun je drie seconden op beide volumeknoppen drukken om een toegankelijkheidsfunctie te openen."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"Tekst met hoog contrast"</string>
@@ -2149,24 +2157,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"Kies hoelang je berichten wilt weergeven die je vragen om actie te ondernemen, maar die slechts tijdelijk zichtbaar zijn.\n\nDeze instelling wordt niet door alle apps ondersteund."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"Vertraging voor blijven aanraken"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"Kleurinversie"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"Kan gevolgen hebben voor de prestaties"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"Rusttijd"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"Kleurinversie gebruiken"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"Met Kleurinversie worden lichte schermen donker. Zo kunnen mensen die gevoelig zijn voor helder licht, het scherm beter bekijken.&lt;br/&gt;&lt;br/&gt;Opmerking: Donkere kleuren worden licht. Kleuren worden gewijzigd in media en afbeeldingen. Je kunt ook het donkere thema gebruiken (Instellingen &gt; Scherm)."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"Automatisch klikken (rusttijd)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"Als je een muis gebruikt, kun je de cursor zo instellen dat er automatisch actie wordt ondernomen wanneer de cursor een bepaalde tijd niet beweegt."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"Vertraging vóór klikken"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"Automatisch klikken niet gebruiken (standaard)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"Kort"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0,2 seconden"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"Gemiddeld"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0,6 seconden"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"Lang"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 seconde"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"Aangepast"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"Korter"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"Langer"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"Tijd voor automatisch klikken"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"Sterkte voor trilling en haptische feedback"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Trilling bij melding"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Trilling bij bellen"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Tikfeedback"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"Service gebruiken"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g> gebruiken"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g> openen"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"Kleurcorrectie gebruiken"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"Ondertiteling gebruiken"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"Ondertiteling weergeven"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"Ondertitelweergave"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"Tekstgrootte, ondertitelstijl"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"Meer opties"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"Niet alle apps ondersteunen deze instelling."</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"Knop Toegankelijkheid"</string>
+    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"Omhoog vegen met twee vingers"</string>
+    <string name="accessibility_shortcut_type_hardware" msgid="4834144210432451916">"Volumetoetsen ingedrukt houden"</string>
+    <string name="accessibility_shortcut_type_triple_tap" msgid="7717524216825494543">"Drie keer op het scherm tikken"</string>
     <string name="accessibility_hearingaid_instruction_continue_button" msgid="3367260988024430722">"Doorgaan"</string>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"Gehoorapparaten"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"Geen gehoorapparaten verbonden"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"Gehoorapparaten toevoegen"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"Tik op het volgende scherm op je gehoorapparaat om dit te koppelen."</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"Controleer of je gehoorapparaat zich in de koppelingsmodus bevindt."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"Als je je gehoorapparaten wilt koppelen, zoek je op het volgende scherm naar je apparaat en tik je erop. Controleer of je gehoorapparaat zich in de koppelingsmodus bevindt."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> actief"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> opgeslagen gehoorapparaten</item>
@@ -2178,25 +2204,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Deze service werkt niet goed."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Weergeven in Snelle instellingen"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"Correctiemodus"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="other">Extreem korte vertraging (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Extreem korte vertraging (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Rood-groen"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"Groen-rood"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Blauw-geel"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"Deuteranomalie"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"Protanomalie"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"Tritanomalie"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="other">Extreem korte vertraging (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> seconden)</item>
+      <item quantity="one">Extreem korte vertraging (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> seconde)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="other">Zeer korte vertraging (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Zeer korte vertraging (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="other">Zeer korte vertraging (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> seconden)</item>
+      <item quantity="one">Zeer korte vertraging (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> seconde)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="other">Korte vertraging (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Korte vertraging (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="other">Korte vertraging (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> seconden)</item>
+      <item quantity="one">Korte vertraging (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> seconde)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="other">Lange vertraging (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Lange vertraging (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="other">Lange vertraging (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> seconden)</item>
+      <item quantity="one">Lange vertraging (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> seconde)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="other">Zeer lange vertraging (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Zeer lange vertraging (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="other">Zeer lange vertraging (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> seconden)</item>
+      <item quantity="one">Zeer lange vertraging (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> seconde)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> seconden</item>
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> seconde</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"Bellen <xliff:g id="SUMMARY_RING">%1$s</xliff:g>, melding <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>, tikken <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"Bellen en meldingen ingesteld op Uit"</string>
@@ -2513,7 +2549,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"Sinds laatst losgekoppeld voor <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"Gebruikstotalen"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"Vernieuwen"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"Android-besturingssysteem"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"Mediaserver"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"App-optimalisatie"</string>
     <string name="battery_saver" msgid="7737147344510595864">"Batterijbesparing"</string>
@@ -2594,8 +2629,7 @@
     <string name="tts_play" msgid="2945513377250757221">"Afspelen"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"Opslag certificaatgegevens"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"Installeren vanuit opslag"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"Installeren vanaf SD-kaart"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"Een certificaat installeren"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"Certificaten vanuit opslag installeren"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"Certificaten installeren vanaf SD-kaart"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"Certificaatgegevens wissen"</string>
@@ -2615,6 +2649,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"Certificaten gewist."</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"Kan certificaten niet wissen."</string>
     <string name="usage_access_title" msgid="1580006124578134850">"Apps met gebruikstoegang"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"CA-certificaat"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"VPN- en app-gebruikerscertificaat"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"Wifi-certificaat"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"Je privacy loopt gevaar"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"CA-certificaten worden gebruikt door websites, apps en VPN\'s voor versleuteling. Installeer alleen CA-certificaten van organisaties die je vertrouwt. \n\n Als je een CA-certificaat installeert, krijgt de eigenaar van het certificaat mogelijk toegang tot je gegevens (zoals wachtwoorden, berichten of creditcardgegevens) van websites die je bezoekt of apps die je gebruikt, zelfs als die gegevens zijn versleuteld."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"Niet installeren"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"Toch installeren"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"Certificaat niet geïnstalleerd"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"Noodoproepsignaal"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Gedrag bij noodoproepen instellen"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Back-up"</string>
@@ -2642,10 +2684,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"Uitschakelen en verwijderen"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"Apparaatbeheer-apps"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"Geen apparaatbeheer-apps beschikbaar"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"Persoonlijk"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"Werk"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"Toegang tot sms- en gesprekslijst beperken"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"Alleen standaard telefoon- en berichten-apps beschikken over rechten voor de sms- en gesprekslijst"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"Geen beschikbare trust-agents"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"Apparaatbeheer-app activeren?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"Deze apparaatbeheer-app activeren"</string>
@@ -2659,6 +2697,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"Andere opties zijn uitgeschakeld door je beheerder"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"Meer informatie"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"Meldingenlogboek"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"Meldingsgeschiedenis"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"Vandaag"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"Gesnoozed"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"Onlangs gesloten"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> meldingen</item>
+      <item quantity="one"><xliff:g id="NUMBER_0">%d</xliff:g> melding</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"Ringtone en trillen"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"Netwerkgegevens"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"Synchronisatie is ingeschakeld"</string>
@@ -3008,7 +3054,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"Beperkingen"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"Beperkingen verwijderen"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"Pincode wijzigen"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"Meldingen weergeven"</string>
     <string name="help_label" msgid="2896538416436125883">"Hulp en feedback"</string>
     <string name="support_summary" msgid="1034146931237148885">"Help-artikelen, bel- en chatsupport, aan de slag"</string>
     <string name="user_account_title" msgid="6389636876210834864">"Account voor content"</string>
@@ -3033,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"Bellen via 4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"LTE-services gebruiken voor betere gesproken en andere communicatie (aanbevolen)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"4G-services gebruiken voor betere gesproken en andere communicatie (aanbevolen)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Contactverkenning"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Hiermee kan je provider verkennen welke belfuncties je contacten ondersteunen."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Contactverkenning inschakelen?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Als je deze functie inschakelt, krijgt je provider toegang tot de telefoonnummers van je contacten om te verkennen welke belfuncties ze ondersteunen."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Voorkeursnetwerktype"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (aanbevolen)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"Mms-berichten"</string>
@@ -3077,7 +3126,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"Bellen met"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"Een simkaart selecteren"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"Simkaart <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"Simkaart leeg"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"Naam van simkaart"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"Voer de sim-naam in"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"Simkaartsleuf %1$d"</string>
@@ -3087,6 +3135,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"Simkaart selecteren"</string>
     <string name="color_orange" msgid="216547825489739010">"Oranje"</string>
     <string name="color_purple" msgid="6603701972079904843">"Paars"</string>
+    <string name="color_pink" msgid="8596872110888626708">"Roze"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"Geen simkaarten geplaatst"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"Simkaartstatus"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"Simkaartstatus (simkaartsleuf %1$d)"</string>
@@ -3100,7 +3149,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"Simkaarten gewijzigd."</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Tik om in te stellen"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"Voorkeurssimkaart voor"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Elke keer vragen"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Selectie vereist"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"Simkaartselectie"</string>
@@ -3118,6 +3166,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"Bluetooth, rijmodus"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"Bluetooth, NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"Bluetooth"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"Niet beschikbaar omdat NFC is uitgeschakeld"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"Apps en meldingen"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Recente apps, standaard-apps"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Toegang tot meldingen is niet beschikbaar voor apps in het werkprofiel."</string>
@@ -3128,13 +3177,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"Instellingen"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"wifi, wifi-netwerk, netwerkverbinding, internet, draadloos, gegevens, wifi-verbinding"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"Wifimelding, wifi-melding"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"datagebruik"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"Trillen stoppen, tikken, toetsenbord"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"24-uurs klok gebruiken"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"Downloaden"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"Openen met"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"Apps"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"tijdzone"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"Chat vooraan"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"Chathead, systeem, melding, venster, dialoogvenster, weergeven, over andere apps, tekenen"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"Zaklamp, lamp, licht, lampje"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"wifi, wi-fi, schakelen, inschakelen, uitschakelen, beheren"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"mobiel, gsm, provider, draadloos, gegevens, data, 4g, 3g, 2g, lte"</string>
@@ -3158,7 +3208,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"niet storen, verstoren, onderbreking, storing"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"in de buurt, locatie, geschiedenis, rapportage, gps"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"account"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"account, een account toevoegen, werkprofiel, account toevoegen"</string>
     <string name="keywords_users" msgid="3497517660077620843">"beperking, beperken, beperkt"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"tekstcorrectie, corrigeren, geluid, trillen, automatisch, taal, gebaar, voorstellen, suggestie, thema, aanstootgevend, woord, typen, emoji, internationaal"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"resetten, herstellen, voorkeuren, standaard"</string>
@@ -3196,6 +3246,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"geheugen, cache, gegevens, wissen, verwijderen, vrij, vrijmaken, ruimte"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"verbonden, apparaat, hoofdtelefoon, koptelefoon, headset, speaker, luidspreker, draadloos, koppelen, oordoppen, oordopjes, muziek, media"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"achtergrond, scherm, vergrendelingsscherm, thema"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"pictogramvorm, accentkleur, lettertype"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"standaard, assistent"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"betaling, standaard"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"binnenkomende melding"</string>
@@ -3205,18 +3256,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"haptische feedback, trillen, gevoeligheid"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"batterijbesparing, sticky, actief blijven, energiebesparing, batterij"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"routine, planning, batterijbesparing, energiebesparing, batterij, automatisch, procent"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"werkprofiel"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"volte, geavanceerd bellen, bellen via 4G"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"taal toevoegen, een taal toevoegen"</string>
     <string name="default_sound" msgid="6604374495015245195">"Standaardgeluid"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"Ringtonevolume op <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"Volume van ringtone en meldingen op <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Volume, trillen, niet storen"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"Belsoftware ingesteld op trillen"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"Belsoftware ingesteld op stil"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"Ringtonevolume op 80%"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"Volume van ringtone en meldingen op 80%"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Mediavolume"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Castvolume"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"Gespreksvolume"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"Wekkervolume"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"Ringtonevolume"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"Volume ringtone en meldingen"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"Meldingsvolume"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"Ringtone"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"Standaard meldingsgeluid"</string>
@@ -3224,6 +3276,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"Standaard meldingsgeluid"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"Standaard alarmgeluid"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"Trillen voor gesprekken"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"Nooit trillen"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"Altijd trillen"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"Eerst trillen en dan geleidelijk bellen"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"Andere geluiden"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"Toetsenbloktonen"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"Geluid schermvergrendeling"</string>
@@ -3247,6 +3302,7 @@
       <item quantity="one">1 ingeschakeld</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Niet storen"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Alleen meldingen van belangrijke mensen en apps ontvangen"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Onderbrekingen beperken"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Schakel Niet storen in."</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"Uitzonderingen"</string>
@@ -3273,7 +3329,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Blokkeer visuele onderbreking"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Visuele signalen toestaan"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"Wanneer \'Niet storen\' is ingeschakeld"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"Onderbrekingen toestaan die een geluid laten horen"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"Meldingen beperken"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Geen geluid van meldingen"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"Je ziet meldingen op je scherm"</string>
@@ -3304,7 +3360,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"Geluid en trillen"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"Geluid, trillen en enkele visuele tekenen van meldingen"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"Geluid, trillen en visuele tekenen van meldingen"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"Meldingen die nodig zijn voor basistelefoonactiviteit en -status worden nooit verborgen"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"Meldingen die nodig zijn voor basistelefoonactiviteit en -status worden nooit verborgen."</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"Geen"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"andere opties"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"Toevoegen"</string>
@@ -3334,10 +3390,12 @@
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> planningen kunnen automatisch worden ingeschakeld</item>
       <item quantity="one">1 planning kan automatisch worden ingeschakeld</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"Geluid van apparaat uitzetten maar uitzonderingen toestaan"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"Uitzonderingen"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"Planning"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"Alle uitzonderingen bekijken"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"Uitzonderingen als \'Niet storen\' is ingeschakeld"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"Mensen"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"Apps"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"Wekkers en andere onderbrekingen"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"Planningen"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"Meldingen zonder geluid"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"Wanneer \'Niet storen\' is ingeschakeld, worden geluiden en trillingen gedempt, behalve voor de items die je hierboven toestaat."</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"Alles dempen behalve"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"Gedempt"</string>
@@ -3381,16 +3439,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"Aanpasbare meldingen"</string>
     <string name="asst_capability_prioritizer_title" msgid="1181272430009156556">"Aanpasbare meldingsprioriteit"</string>
     <string name="asst_capability_prioritizer_summary" msgid="954988212366568737">"Meldingen met lagere prioriteit automatisch instellen op Subtiel"</string>
+    <string name="asst_capability_ranking_title" msgid="312998580233257581">"Aanpasbare rangschikking van meldingen"</string>
+    <string name="asst_capability_ranking_summary" msgid="2293524677144599450">"Meldingen automatisch rangschikken op relevantie"</string>
     <string name="asst_capabilities_actions_replies_title" msgid="4392470465646394289">"Voorgestelde acties en antwoorden"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"Voorgestelde acties en antwoorden automatisch weergeven"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"Schakel de meldingsgeschiedenis in om eerdere meldingen en gesnoozede meldingen bij te houden"</string>
+    <string name="notification_history" msgid="8663811361243456201">"Meldingsgeschiedenis"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"Geschiedenis inschakelen"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"Geschiedenis uitschakelen"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"Meldingsgeschiedenis is uitgeschakeld"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"instellingen voor meldingen bekijken"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Snoozen van meldingen toestaan"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"Pictogrammen van subtiele meldingen verbergen"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"Pictogrammen van subtiele meldingen worden niet weergegeven in de statusbalk"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"Meldingsstipjes toestaan"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"Strook met recente gesprekken weergeven"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Ballonnen"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"Bepaalde meldingen kunnen in ballonnen worden weergegeven op het scherm"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"Bepaalde meldingen en andere content kunnen in ballonnen worden weergegeven op het scherm. Tik op een ballon om deze te openen. Sleep deze naar de onderkant van het scherm als je deze wilt sluiten."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Ballonnen"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"Nieuwe berichten worden op het scherm weergegeven"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"Toestaan dat <xliff:g id="APP_NAME">%1$s</xliff:g> bepaalde meldingen weergeeft als ballonnen"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"Ballonnen inschakelen"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"Als je ballonnen wilt inschakelen voor deze app, moet je ze eerst inschakelen voor je apparaat. Dit heeft effect op andere apps waarin je eerder ballonnen hebt ingeschakeld."</string>
@@ -3408,6 +3476,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"Weergeven in pull-downvenster en op vergrendelingsscherm"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"Weergeven in pull-downvenster en statusbalk"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"Weergeven in pull-downvenster, statusbalk en op vergrendelingsscherm"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"Stille meldingen in de statusbalk verbergen"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"Knipperlicht"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"Vergrendelingsscherm"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"Vergrendelingsscherm overslaan"</string>
@@ -3438,6 +3507,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"Gedrag"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"Geluid toestaan"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"Nooit meldingen weergeven"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"Gesprekken"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"Gesprek"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"Geen gesprek"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"Verwijderen uit het gedeelte met gesprekken"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"Dit is een gesprek"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"Toevoegen aan het gedeelte met gesprekken"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"Gesprekken beheren"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"Belangrijke gesprekken"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"Alle gesprekken"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"Belangrijke gesprekken als bubbels weergeven"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"Belangrijke gesprekken worden bovenaan het pull-downvenster weergegeven. Je kunt ook instellen dat ze als bubbels worden weergegeven en \'Niet storen\' onderbreken."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"Stil weergeven en minimaliseren"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"Zonder geluid weergeven"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"Geluid laten horen"</string>
@@ -3456,7 +3536,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"Helpt je focussen zonder geluid of trilling"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"Trekt je aandacht met geluid of trillingen"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"Wanneer het apparaat is ontgrendeld, worden meldingen als banner bovenaan het scherm weergegeven"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"Meldingen weergeven"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"Alle meldingen van <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"Aanpasbare meldingen"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="other">~<xliff:g id="NUMBER_1">%d</xliff:g> meldingen per dag</item>
@@ -3477,6 +3557,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"Aanpasbare meldingen"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"Geen"</string>
     <string name="no_notification_listeners" msgid="2839354157349636000">"Er zijn geen geïnstalleerde apps die toegang tot meldingen hebben aangevraagd."</string>
+    <string name="notification_access_detail_switch" msgid="46386786409608330">"Toegang tot meldingen toestaan"</string>
     <string name="notification_assistant_security_warning_title" msgid="2972346436050925276">"Toegang tot meldingen toestaan voor <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
     <string name="notification_assistant_security_warning_summary" msgid="3119843404577399036">"<xliff:g id="NOTIFICATION_ASSISTANT_NAME">%1$s</xliff:g> kan alle meldingen lezen, waaronder persoonlijke informatie zoals contactnamen en de tekst van berichten die je ontvangt. De functie kan deze meldingen ook aanpassen of sluiten of actieknoppen die ermee samenhangen activeren. \n\nHierdoor kan de app ook \'Niet storen\' in- of uitschakelen en gerelateerde instellingen wijzigen."</string>
     <string name="notification_listener_security_warning_title" msgid="5791700876622858363">"Toegang tot meldingen toestaan voor <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
@@ -3538,8 +3619,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"Gereed"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"Belang"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"Knipperlicht"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"Trillen"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"Trillen"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"Geluid"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"Belangrijk"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"Toevoegen aan startscherm"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"Verwijderen"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"Naam wijzigen"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"Naam van planning"</string>
@@ -3593,6 +3676,10 @@
       <item quantity="other"><xliff:g id="NUM_PEOPLE">%d</xliff:g> anderen</item>
       <item quantity="one">1 andere persoon</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Gesprekken"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"Uit alle gesprekken"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"Uit belangrijke gesprekken"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"Geen gesprekken toestaan"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"Berichten toestaan"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"Controleer of je apparaat op geluid, trillen of stil staat, zodat je zeker weet dat toegestane berichten geluid maken."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"Voor \'<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>\' worden inkomende berichten geblokkeerd. Je kunt de instellingen aanpassen zodat je vrienden, gezinsleden of andere contacten je kunnen bereiken."</string>
@@ -3606,15 +3693,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"Geen"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"Geen gesprekken toestaan"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"Geen berichten toestaan"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"Wekkers toestaan"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"Wekkers"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"Van timers, wekkers, beveiligingssystemen en andere apps"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"wekkers"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"Mediageluiden afspelen"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"Mediageluiden"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"Van video\'s, games en andere media"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"media"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"Aanraakgeluiden toestaan"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"Aanraakgeluiden"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"Van je toetsenbord en andere knoppen"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"aanraakgeluiden"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"Herinneringen toestaan"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"Herinneringen"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"Van taken en herinneringen"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"herinneringen"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"Afspraken toestaan"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"Evenementen"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"Van aankomende agenda-afspraken"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Apps toestaan dit te negeren"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"App-uitzonderingen"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3657,6 +3749,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"Meldingen die op stil zijn gezet door \'Niet storen\', het scherm laten inschakelen"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"Instellingen voor meldingen"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"OK"</string>
+    <string name="suggestion_button_close" msgid="6865170855573283759">"Sluiten"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Feedback sturen over dit apparaat"</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"Beheerderspincode invoeren"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"Aan"</string>
@@ -3667,6 +3760,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Vraag pin voor losmaken"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Vraag wachtwoord voor losmaken"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Apparaat vergrendelen wanneer items worden losgemaakt"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Verwijdering van simkaart bevestigen"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"Bevestigen dat jij het bent voordat een gedownloade simkaart wordt gewist"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"Dit werkprofiel wordt beheerd door:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"Beheerd door <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(Experimenteel)"</string>
@@ -3741,8 +3836,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"Alle apps"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Geïnstalleerde apps"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Instant-apps"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"Persoonlijk"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"Werk"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"Apps: alle"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"Uitgeschakeld"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"Categorieën: urgent belang"</string>
@@ -3754,6 +3847,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"Onbekende app"</string>
     <string name="app_permissions" msgid="8666537659217653626">"Rechtenbeheer"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"Apps die <xliff:g id="APPS">%1$s</xliff:g> gebruiken"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"Apps die gebruikmaken van <xliff:g id="APPS">%1$s</xliff:g> en meer"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"Tikken om te activeren"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"Dubbeltikken op het scherm om het apparaat te activeren"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"Links openen"</string>
@@ -3765,9 +3859,14 @@
       <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> apps die ondersteunde links openen</item>
       <item quantity="one">Eén app die ondersteunde links opent</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"Openen in deze app"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"Toestaan dat app ondersteunde links opent"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"Elke keer vragen"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"Niet openen in deze app"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"Niet toestaan dat app links opent"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="other">App claimt <xliff:g id="COUNT_1">%d</xliff:g> links te verwerken</item>
+      <item quantity="one">App claimt <xliff:g id="COUNT_0">%d</xliff:g> link te verwerken</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"App claimt de volgende links te verwerken:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"Standaard"</string>
     <string name="default_for_work" msgid="537558180548617528">"Standaard voor werk"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"Assistentie en spraakinvoer"</string>
@@ -3911,8 +4010,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"Weergeven vóór andere apps"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Weergeven vóór andere apps toestaan"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"Deze app toestaan op de voorgrond te worden weergegeven vóór andere apps die je gebruikt. Dit kan je gebruik van die apps verstoren of de manier wijzigen waarop die apps worden weergegeven of zich gedragen."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"Toegang tot alle bestanden"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"Toegang geven om alle bestanden te beheren"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Toestaan dat deze app alle bestanden op dit apparaat of gekoppelde opslagvolumes kan lezen, aanpassen of verwijderen. Indien verleend, kan de app zonder jouw medeweten toegang tot bestanden krijgen."</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"Mag toegang tot alle bestanden hebben"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"vr virtual reality listener stereo helperservice"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"systeemmelding venster dialoogvenster weergeven over andere apps"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"Weergeven vóór andere apps"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"<xliff:g id="COUNT_0">%1$d</xliff:g> van <xliff:g id="COUNT_1">%2$d</xliff:g> apps mogen worden weergegeven vóór andere apps"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"Apps met toestemming"</string>
@@ -4078,6 +4180,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"<xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g> gebruikt"</string>
     <string name="data_overusage" msgid="3680477320458707259">"Nog <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="data_remaining" msgid="6316251496381922837">"Nog <xliff:g id="ID_1">^1</xliff:g>"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"Diagram met datagebruik tussen <xliff:g id="START_DATE">%1$s</xliff:g> en <xliff:g id="END_DATE">%2$s</xliff:g>."</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"Geen gegevens in deze periode"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="other">Nog %d dagen</item>
       <item quantity="one">Nog %d dag</item>
@@ -4141,14 +4245,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"pakketgrootte"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"waarschuwing voor melding weergegeven"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"geluid"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"trillen"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"patroon"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"standaard"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"kanaal"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"geen"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"Rangschikkingsobject ontbreekt"</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"Rangschikkingsobject bevat deze sleutel niet."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"Thema\'s"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"Apparaatstandaard"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"Display-cutout"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"display-cutout, inkeping"</string>
@@ -4237,8 +4337,12 @@
     <string name="information_label" msgid="6939310810756569298">"Informatie"</string>
     <string name="low_label" msgid="6525629096999711220">"Laag"</string>
     <string name="high_label" msgid="357503396626018487">"Hoog"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"Hogere gevoeligheid kan conflicteren met app-gebaren langs de randen van het scherm."</string>
+    <string name="left_edge" msgid="1513576842959071849">"Linkerrand"</string>
+    <string name="right_edge" msgid="1505309103265829121">"Rechterrand"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"Hogere gevoeligheid kan conflicteren met app-gebaren langs de randen van het scherm."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"Gevoeligheid van gebaar voor teruggaan"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"Instellingen voor gebaren"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"navigatie met gebaren, gevoeligheid voor terug, gebaar voor terug"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"Dubbeltikken om telefoon te checken"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"Dubbeltikken om tablet te checken"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"Dubbeltikken om apparaat te checken"</string>
@@ -4393,7 +4497,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"Providerregistratie activeren"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"\'Niet storen\' updaten"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"Meldingen onderbreken om gefocust te blijven"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"Deze functie is niet beschikbaar op dit apparaat"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"De functie is niet beschikbaar"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"Deze functie is uitgeschakeld omdat je telefoon erdoor wordt vertraagd"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"Volledige GNSS-metingen afdwingen"</string>
@@ -4403,20 +4506,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"App met ANGLE-functionaliteit selecteren"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"Geen app met ANGLE-functionaliteit ingesteld"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"App met ANGLE-functionaliteit: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"Voorkeuren voor Game Driver"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"Instellingen voor Game Driver wijzigen"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"Wanneer Game Driver is ingeschakeld, kun je kiezen om het geüpdatete grafische stuurprogramma te gebruiken voor apps die zijn geïnstalleerd op het apparaat."</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"Inschakelen voor alle apps"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"Grafisch stuurprogramma selecteren"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"Standaard"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"Game Driver"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"Stuurprogramma vooraf vrijgeven"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"Grafisch stuurprogramma voor systeem"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"Voorkeuren voor grafisch stuurprogramma"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"Instellingen grafisch stuurprogramma aanpassen"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"Als er meerdere grafische stuurprogramma\'s zijn, kun je kiezen om het geüpdatete grafische stuurprogramma te gebruiken voor apps die zijn geïnstalleerd op het apparaat."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"Inschakelen voor alle apps"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"Grafisch stuurprogramma selecteren"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"Standaard"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"Game Driver"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"Stuurprogramma voor ontwikkelaars"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Grafisch stuurprogramma voor systeem"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"App-compatibiliteitswijzigingen"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"App-compatibiliteitswijzigingen schakelen"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Standaard ingeschakelde wijzigingen"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Standaard uitgeschakelde wijzigingen"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"Instelling wordt niet ondersteund op deze telefoon"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"Instelling wordt niet ondersteund op deze tablet"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"Instelling wordt niet ondersteund op dit apparaat"</string>
@@ -4435,6 +4544,11 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"Apparaat"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Niet beschikbaar tijdens gesprekken"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"Onbeschikbaar"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"Uitvoer toevoegen"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"Groep"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"Eén apparaat geselecteerd"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> apparaten geselecteerd"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"Overschakelen…"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Opnemen op"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Deze APN kan niet worden gewijzigd."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"De batterijduur van de tablet verbeteren"</string>
@@ -4552,10 +4666,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Er kan slechts één gedownloade simkaart tegelijk actief zijn.\n\nAls je overschakelt naar <xliff:g id="CARRIER1">%1$s</xliff:g>, wordt de service van <xliff:g id="CARRIER2">%2$s</xliff:g> niet geannuleerd."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Overschakelen naar <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Simkaart wissen"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Deze gedownloade simkaart wissen?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Als deze simkaart wordt gewist, wordt de <xliff:g id="CARRIER_0">%1$s</xliff:g>-service van dit apparaat verwijderd.\n\nDe service voor <xliff:g id="CARRIER_1">%2$s</xliff:g> wordt niet geannuleerd."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Wissen"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Simkaart wissen…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Kan simkaart niet wissen"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Door een fout kan deze simkaart niet worden gewist.\n\nStart je apparaat opnieuw en probeer het nogmaals."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Voorkeursnetwerktype"</string>
@@ -4580,7 +4690,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Ongeldige netwerkmodus <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Negeren."</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Namen toegangspunten"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Niet beschikbaar wanneer verbonden met <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"Medische gegevens, contacten voor noodgevallen"</string>
     <string name="see_more" msgid="7499355691042812723">"Meer bekijken"</string>
     <string name="see_less" msgid="2642392725363552793">"Minder weergeven"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"Apparaat om te gebruiken met <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
@@ -4589,11 +4698,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"Er is een probleem opgetreden. De app heeft het verzoek om een apparaat te kiezen geannuleerd."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"Verbinding gemaakt"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"Alles tonen"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> verbonden apparaten</item>
-      <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_0">%1$d</xliff:g> verbonden apparaat</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"Geen Bluetooth-apparaten"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"Zoeken naar apparaat…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"Verbinding maken met apparaat…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"Links"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"Rechts"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Case"</string>
@@ -4603,6 +4709,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"Niet beschikbaar in de vliegtuigmodus"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"Desktopmodus afdwingen"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Experimentele desktopmodus afdwingen op secundaire displays"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"Sizecompat in freeform toestaan"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"Hiermee kunnen sizecompat-apps ook freeform zijn"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Gedwongen donker maken negeren"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"Overschrijft de functie voor gedwongen donker maken zodat deze altijd aan is"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"Privacy"</string>
@@ -4639,6 +4747,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Je hebt deze app recent geïnstalleerd."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Uitvoer wijzigen"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Wordt momenteel afgespeeld op <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (verbinding verbroken)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Kan niet schakelen. Tik voor opnieuw proberen."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Belangrijke informatie"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"DOORGAAN"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"NEE"</string>
@@ -4666,8 +4776,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"Sim-combinatie"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Informatie over je werkbeleid"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Instellingen beheerd door je IT-beheerder"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"Verwerkende app voor bugrapport"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Hierdoor wordt bepaald welke app de snelkoppeling voor het bugrapport verwerkt op je apparaat."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Privé"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"Werk"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"Systeemstandaard"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"Deze keuze is niet meer geldig. Probeer het opnieuw."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"Casten stoppen"</string>
 </resources>
diff --git a/res/values-or/arrays.xml b/res/values-or/arrays.xml
index cb53759..6ddfd83 100644
--- a/res/values-or/arrays.xml
+++ b/res/values-or/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"ତୁରନ୍ତ"</item>
     <item msgid="463591454172790676">"5 ସେକେଣ୍ଡ"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"ବୈଧ କରନ୍ତୁ ନାହିଁ"</item>
+    <item msgid="5703177653586269306">"ସାର୍ଟିଫିକେଟ୍ ସ୍ଥିତି ପାଇଁ ଅନୁରୋଧ କରନ୍ତୁ"</item>
+    <item msgid="326388247868439528">"ସାର୍ଟିଫିକେଟ୍ ସ୍ଥିତିର ଆବଶ୍ୟକତା ଅଛି"</item>
+    <item msgid="1090956283885790552">"ସମସ୍ତ ଅବିଶ୍ୱସନୀୟ ସାର୍ଟିଫିକେଟ୍ ସ୍ଥିତିର ଆବଶ୍ୟକତା ଅଛି"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"ପୁଶ୍‌ ବଟନ୍‌"</item>
     <item msgid="2630618799033509548">"ପୀଅର୍‌ ଡିଭାଇସ୍‌ରୁ PIN‌"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"କିଛି ନୁହେଁ"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"ସେୟାର୍‌ କରାଯାଇଥିବା କୀ’ଗୁଡ଼ିକ ସହିତ IPSec VPN ଏବଂ Xauth ସତ୍ୟାପନ"</item>
     <item msgid="2484564813864139237">"ସର୍ଟିଫିକେଟ୍‌ ଏବଂ Xauth ପ୍ରାମାଣିକୀକରଣ ସହ IPSec VPN"</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>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"କିଛିନାହିଁ"</item>
diff --git a/res/values-or/config.xml b/res/values-or/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-or/config.xml
+++ b/res/values-or/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-or/strings.xml b/res/values-or/strings.xml
index df4061c..8b71bcc 100644
--- a/res/values-or/strings.xml
+++ b/res/values-or/strings.xml
@@ -31,49 +31,17 @@
     <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="radio_info_data_connection_enable" msgid="7500945447906187613">"ଡାଟା ସଂଯୋଗ ସକ୍ରିୟ କରନ୍ତୁ"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"ଡାଟା ସଂଯୋଗ ଅକ୍ଷମ ହୋଇଛି"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"VoLTE ପ୍ରଦତ୍ତ"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"ଭିଡିଓ କଲିଙ୍ଗ"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"Wifi କଲିଙ୍ଗ ପ୍ରାବଧାନ କରାଯାଇଛି"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"EAB/ଉପସ୍ଥିତି ପ୍ରାବଧାନ କରାଯାଇଛି"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"Cbrs ଡାଟା"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"DSDS ସକ୍ଷମ କରନ୍ତୁ"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"ଡିଭାଇସ୍‍ ରିଷ୍ଟାର୍ଟ କରିବେ କି?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"You need to restart your device to change this setting.ଏହି ସେଟିଂ ବଦଳାଇବାକୁ ଆପଣଙ୍କୁ ଆପଣଙ୍କର ଡିଭାଇସ୍ ରିଷ୍ଟାର୍ଟ କରିବାକୁ ହେବ।"</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"ରିଷ୍ଟାର୍ଟ କରନ୍ତୁ"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"ବାତିଲ୍ କରନ୍ତୁ"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"ମୋବାଇଲ୍‌ ରେଡିଓ ପାୱାର୍‌"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"ସିମ୍‌ରେ ଥିବା ଠିକଣା ପୁସ୍ତକ ଦେଖନ୍ତୁ"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"ସ୍ଥାୟୀ ଡାଏଲିଙ୍ଗ ନମ୍ୱରଗୁଡ଼ିକୁ ଦେଖନ୍ତୁ"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"ସର୍ଭିସ୍‌ ଡାଏଲିଙ୍ଗ ନମ୍ୱର୍ସ ଦେଖନ୍ତୁ"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"IMS ସେବା ସ୍ଥିତି"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"IMS ସ୍ଥିତି"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"ପଞ୍ଜିକୃତ"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"ପଞ୍ଜିକୃତ ହୋଇନାହିଁ"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"ଉପଲବ୍ଧ"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"ଅନୁପଲବ୍ଧ"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"IMS ପଞ୍ଜିକରଣ: <xliff:g id="STATUS">%1$s</xliff:g>\nଭଏସ୍‌ ଓଭର୍‌ LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nଭଏସ୍‌ ଓଭର୍‌ ୱାଇ-ଫାଇ: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nଭିଡିଓ କଲିଙ୍ଗ: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT ଇଣ୍ଟର୍‌ଫେସ୍‌: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"ସେବାରେ ଅଛି"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"ଏବେ କାମ କରୁନାହିଁ"</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>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"ନିଷ୍କ୍ରିୟ"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"ରିଙ୍ଗ୍ ହେଉଛି"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"କଲ୍‌ ଚାଲୁଛି"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"ବିଛିନ୍ନ"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"ସଂଯୋଗ କରୁଛି"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"ସଂଯୁକ୍ତ"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"ସସ୍ପେଣ୍ଡ ହୋଇଛି"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"ଅଜଣା"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"ପ୍ୟାକେଟସ୍‌"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"ବାଇଟ୍ସ"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"USB ଷ୍ଟୋରେଜ୍‌କୁ ଅନ୍‌ମାଉଣ୍ଟ କରନ୍ତୁ"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"SD କାର୍ଡ ଅନ୍‌ମାଉଣ୍ଟ କରନ୍ତୁ"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"USB ଷ୍ଟୋରେଜ୍‌କୁ ଫର୍ମାଟ୍‌ କରନ୍ତୁ"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"ସ୍କ୍ରୀନ୍‌ ଉପରେ ଥିବା ଅକ୍ଷରଗୁଡ଼ିକୁ ଛୋଟ କିମ୍ୱା ବଡ଼ କରନ୍ତୁ।"</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"ଛୋଟ କରନ୍ତୁ"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"ବହୁତ ବଡ଼ କରନ୍ତୁ"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"ନମସ୍କାର, ଆଣ୍ଡ୍ରୋଏଡ୍‌ର ନିଆର ଦୁନିଆକୁ ଆପଣଙ୍କୁ ସ୍ୱାଗତ।"</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"ନମୁନା ଟେକ୍ସଟ୍‌"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"ଦ ୱାଣ୍ଡରଫୁଲ୍ ଉଇଜାର୍ଡ୍ ଅଫ୍ ଓଜ୍"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"ଭାଗ 11: ଓଜର ମରକତ ମଣିର ଅଦ୍ଭୁତ ସହର"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"ଏହି ସେଟିଂ ବଦଳାଇବାକୁ ଆପଣଙ୍କୁ ଆପଣଙ୍କର ଡିଭାଇସ୍‍ ରିଷ୍ଟାର୍ଟ କରିବାକୁ ହେବ।"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"ପୁଣି ଆରମ୍ଭ କରନ୍ତୁ"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"ବାତିଲ୍ କରନ୍ତୁ"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"ଉପଲବ୍ଧ ଥିବା ମେଡିଆ ଡିଭାଇସ୍"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"କଲ୍ କରିବା ପାଇଁ ସୁବିଧା ଉପଲବ୍ଧ ଥିବା ଡିଭାଇସ୍"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"ବର୍ତ୍ତମାନ ସଂଯୁକ୍ତ ଅଛି"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"ମିଡିଆ ଡିଭାଇସ୍‌ଗୁଡ଼ିକ"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"କଲ୍ ଡିଭାଇସ୍‌ଗୁଡ଼ିକ"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"ଅନ୍ୟ ଡିଭାଇସ୍‌ଗୁଡ଼ିକ"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"ସେଭ୍‌ ହୋଇଥିବା ଡିଭାଇସ୍‌ଗୁଡିକ"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"ପେୟାର୍ କରିବା ପାଇଁ ବ୍ଲୁଟୂଥ୍‍ ଚାଲୁ ହେବ"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"ସଂଯୋଗ ପସନ୍ଦଗୁଡ଼ିକ"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"ଆପଣ ଟାଇପ୍‌ କରିଥିବା ପୋର୍ଟ ସଠିକ ନୁହେଁ।"</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"HTTP ପ୍ରକ୍ସୀ ବ୍ରାଉଜର୍‌ ଦ୍ୱାରା ବ୍ୟବହୃତ ହୋଇଛି କିନ୍ତୁ ଅନ୍ୟ ଆପ୍‌ ଦ୍ୱାରା ବ୍ୟବହୃତ ନହୋଇପାରେ।"</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"PAC URL: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"ବର୍ତ୍ତମାନର subId:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"ଡିଫଲ୍ଟ ଡାଟା SIMର SubId:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"DL ବ୍ୟାଣ୍ଡୱିଡଥ୍ (kbps):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"UL ବ୍ୟାଣ୍ଡୱିଡଥ୍ (kbps):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"ସେଲ୍ ଲୋକେସନ୍‌ ସୂଚନା (ଅନୁରୋଧ କରାଯାଇଛି):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"LTE ଫିଜିକାଲ୍‍ ଚ୍ୟାନେଲ୍‍ କନଫିଗରେଶନ୍‍:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"ସେଲ୍‌ ସୂଚନା ରିଫ୍ରେଶ୍ ଦର:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"ସମସ୍ତ ସେଲ୍‌ ପରିମାପ ସୂଚନା:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"ଡାଟା ସେବା:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"ରୋମିଙ୍ଗ:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"କଲ୍‌ ରିଡାଇରେକ୍ଟ:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"ବୁଟ୍‌ ପରଠାରୁ PPP ରିସେଟ୍‌ର ସଂଖ୍ୟା:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"ବର୍ତ୍ତମାନର ନେଟ୍‌ୱର୍କ:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"ପାଇଥିବା ଡାଟା:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"ଭଏସ୍‌ ସେବା:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"ସିଗ୍‌ନାଲ୍‌ ଶକ୍ତି:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"ଭଏସ୍‌ କଲ୍‌ ସ୍ଥିତି:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"ପଠାଯାଇଥିବା ଡାଟା:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"ବାର୍ତ୍ତା ଅପକ୍ଷାରତ:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"ଫୋନ୍‌ ନମ୍ବର୍‌:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"ରେଡିଓ ବ୍ୟାଣ୍ଡ ଚୟନ କରନ୍ତୁ"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"ଭଏସ୍‌ ନେଟ୍‌ୱର୍କ ପ୍ରକାର:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"ଡାଟା ନେଟ୍‌ୱର୍କର ପ୍ରକାର:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"ଫୋନ୍ ଇଣ୍ଡେକ୍ସ ବାଛନ୍ତୁ"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"ନିଜ ପସନ୍ଦର ନେଟ୍‌ୱର୍କ ପ୍ରକାର ସେଟ୍‌ କରନ୍ତୁ:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"ହୋଷ୍ଟନାମ (www.google.com) IPv4 ପିଙ୍ଗ କରନ୍ତୁ:"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"ହୋଷ୍ଟନାମ (www.google.com) IP6 ପିଙ୍ଗ କରନ୍ତୁ:"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"HTTP କ୍ଲାଏଣ୍ଟ ଟେଷ୍ଟ:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"ପିଙ୍ଗ ଟେଷ୍ଟ ଚଲାନ୍ତୁ"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"ଅପ୍‌ଡେଟ୍‌"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"ରିଫ୍ରେଶ"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"DNS ଯାଞ୍ଚ ଟୋଗଲ୍‌ କରନ୍ତୁ"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"OEM-ନିର୍ଦ୍ଦିଷ୍ଟ ସୂଚନା/ସେଟିଙ୍ଗ"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"ରେଡିଓ ବ୍ୟାଣ୍ଡ ମୋଡ୍ ସେଟ୍‌ କରନ୍ତୁ"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"ବ୍ୟାଣ୍ଡ ତାଲିକା ଲୋଡ୍ କରାଯାଉଛି…"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"ସେଟ୍‌ କରନ୍ତୁ"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"ଅସଫଳ"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"ସଫଳ"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"USB କେବୁଲ୍‌କୁ ପୁଣି ଥରେ ଲଗାଇବା ପରେ ହିଁ ପରିବର୍ତ୍ତନଗୁଡ଼ିକ କାମ କରିବ"</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"USB ମାସ୍‌ ଷ୍ଟୋରେଜ୍‌ ସକ୍ଷମ କରନ୍ତୁ"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"ମୋଟ ବାଇଟସ୍‌:"</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"ତଳକୁ ଘୁଞ୍ଚାନ୍ତୁ"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"ଭାଷାକୁ କାଢ଼ିଦିଅନ୍ତୁ"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"କାର୍ଯ୍ୟକଳାପ ବାଛନ୍ତୁ"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"ଡିଭାଇସ୍‌ ସୂଚନା"</string>
     <string name="display_label" msgid="3056320781191343221">"ସ୍କ୍ରୀନ୍‌"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"ଟାବ୍‌ଲେଟ୍‌ ସୂଚନା"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"ଫୋନ୍‌ ସୂଚନା"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"USB ଷ୍ଟୋରେଜ୍‌"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"SD କାର୍ଡ"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"ପ୍ରୋକ୍ସି ସେଟିଙ୍ଗ"</string>
@@ -306,9 +234,6 @@
     <string name="airplane_mode" msgid="3196085857882526817">"ଏୟାର୍‌ପ୍ଲେନ୍‌ ମୋଡ୍"</string>
     <string name="wireless_networks_settings_title" msgid="8557542379234105369">"ୱାୟର୍‌ଲେସ୍‌ ଓ ନେଟ୍‌ୱର୍କ"</string>
     <string name="radio_controls_summary" msgid="9028430178697624501">"ୱାଇ-ଫାଇ, ବ୍ଲୁଟୂଥ୍‍‌, ବିମାନ ମୋଡ୍, ମୋବାଇଲ୍‌ ନେଟ୍‌ୱର୍କସ୍‌, ଓ VPNଗୁଡିକର ପରିଚାଳନା କରନ୍ତୁ"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"ମୋବାଇଲ୍‌ ଡାଟା"</string>
-    <string name="calls_title" msgid="6334813967619899114">"କଲ୍‍ ପାଇଁ ଅନୁମତି ଦିଅନ୍ତୁ"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"SMS ମେସେଜଗୁଡ଼ିକ"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"ମୋବାଇଲ୍‌ ନେଟ୍‌ୱର୍କରେ ଡାଟା ବ୍ୟବହାରର ଅନୁମତି ଦିଅନ୍ତୁ"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"ରୋମିଙ୍ଗରେ ଥିବାବେଳେ ଡାଟା ବ୍ୟବହାର କରିବାକୁ ଦିଅନ୍ତୁ"</string>
     <string name="roaming" msgid="3055365654530847985">"ରୋମିଂ"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"ରୋମିଙ୍ଗ ବେଳେ ଡାଟା ସେବାଗୁଡିକୁ ସଂଯୋଗ କରନ୍ତୁ"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"ଆପଣ ଡାଟା ସଂଯୁକ୍ତତାକୁ ହରାଇଛନ୍ତି, କାରଣ ଆପଣ ଡାଟା ରୋମିଙ୍ଗ ସହିତ ନିଜର ହୋମ୍‌ ନେଟ୍‌ୱର୍କକୁ ବନ୍ଦ କରିଦେଇଛନ୍ତି।"</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"ଏହାକୁ ଅନ୍‌ କରନ୍ତୁ"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"ଆପଣଙ୍କୁ ଅଧିକ ଦେୟ ଲାଗୁ ହୋଇପାରେ।"</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"ଯେତେବେଳେ ଆପଣ ଡାଟା ରୋମିଙ୍ଗର ଅନୁମତି ଦେବେ, ଆପଣଙ୍କ ଉପରେ ରୋମିଙ୍ଗ ଚାର୍ଜ ଲାଗିପାରେ!\n\nଏହି ସେଟିଙ୍ଗ, ଟାବ୍‌ଲେଟ୍‌ରେ ଥିବା ସମସ୍ତ ଉପଯୋଗକର୍ତ୍ତାଙ୍କୁ ପ୍ରଭାବିତ କରିବ।"</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"ଆପଣ ଡାଟା ରୋମିଙ୍ଗକୁ ଅନୁମତି ଦେବା ବେଳେ, ଆପଣଙ୍କୁ ପର୍ଯ୍ୟାପ୍ତ ରୋମିଙ୍ଗ ଦେୟ ଲାଗୁ ହୋଇପାରେ!\n\nଏହି ଫୋନ୍‌ରେ ଥିବା ସମସ୍ତ ଉପଯୋଗକର୍ତ୍ତାଙ୍କୁ ଏହି ସେଟିଙ୍ଗ ଲାଗୁ ହୋଇଥାଏ।"</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"ରୋମିଂ ଚାର୍ଜ୍ ଲାଗୁ ହୋଇପାରେ।"</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"ଆପଣ ଡାଟା ରୋମିଂକୁ ଅନୁମତି ଦେଲେ, ରୋମିଂ ଚାର୍ଜ୍ ଲାଗୁ ହୋଇପାରେ। \n\nଏହି ଟାବ୍‌ଲେଟ୍‌ର ସମସ୍ତ ଉପଯୋଗକର୍ତ୍ତାଙ୍କୁ ଏହି ସେଟିଂ ପ୍ରଭାବିତ କରିଥାଏ।"</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"ଆପଣ ଡାଟା ରୋମିଂକୁ ଅନୁମତି ଦେଲେ, ରୋମିଂ ଚାର୍ଜ୍ ଲାଗୁ ହୋଇପାରେ।\n\nଏହି ଫୋନ୍‌ର ସମସ୍ତ ଉପଯୋଗକର୍ତ୍ତାଙ୍କୁ ଏହି ସେଟିଂ ପ୍ରଭାବିତ କରିଥାଏ।"</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"ଡାଟା ରୋମିଙ୍ଗର ଅନୁମତି ଦେବେ?"</string>
     <string name="networks" msgid="5184501333492775095">"ଅପରେଟର୍‌ ମନୋନୟନ"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"ଏକ ନେଟୱାର୍କ ଅପରେଟର୍‌ ବାଛନ୍ତୁ"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"ଆଡମିନଙ୍କ ଦ୍ଵାରା ଅକ୍ଷମ କରାଯାଇଛି"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"ଲକ୍ କରିବା ବିକଳ୍ପକୁ ଦେଖାନ୍ତୁ"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"ପାୱର୍ ବଟନ୍ ବିକଳ୍ପକୁ ଡିସପ୍ଲେ କରନ୍ତୁ ଯାହା ସ୍ମାର୍ଟ ଲକ୍, ବାୟୋମେଟ୍ରିକ୍ ସାହାଯ୍ୟରେ ଅନ୍‍ଲକ୍ କରିବା ଓ ଲକ୍ ସ୍କ୍ରିନ୍‌ରେ ବିଜ୍ଞପ୍ତିର ପ୍ରଦର୍ଶନକୁ ବନ୍ଦ କରିବ"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"କେବଳ ଟ୍ରଷ୍ଟ୍ ଏଜେଣ୍ଟଙ୍କ ପାଇଁ ଏକ୍ସଟେଣ୍ଡ୍ ଅନଲକ୍"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"ଯଦି ସକ୍ଷମ କରାଯାଇଥାଏ, ଟ୍ରଷ୍ଟ ଏଜେଣ୍ଟ ଆପଣଙ୍କ ଡିଭାଇସ୍‍କୁ ବେଶୀ ସମୟ ପାଇଁ ଅନ୍‍ଲକ୍ ରଖିବ, କିନ୍ତୁ ଏକ ଲକ୍ କରାଯାଇଥିବା ଡିଭାଇସ୍‍କୁ ଆଉ ଅନ୍‍ଲକ୍ କରିପାରିବ ନାହିଁ।"</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"ବିଶ୍ୱାସ ହରାଇଲେ ସ୍କ୍ରିନ୍‍ ଲକ୍‍ ହୋଇଯିବ"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"ଯଦି ସକ୍ଷମ କରାଯାଇଥାଏ,ଗତଥରର ଟ୍ରଷ୍ଟ ଏଜେଣ୍ଟ ବିଶ୍ୱାସ ହରାଇଲେ ଡିଭାଇସ୍‍ଟି ଲକ୍‍ ହୋଇଯିବ"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"କିଛି ନୁହେଁ"</string>
@@ -390,7 +313,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"ମୋ ଅବସ୍ଥାନ, ସ୍କ୍ରିନ୍‌ ଅନଲକ୍‌, SIM କାର୍ଡ ଲକ୍‌, ପରିଚୟ ଷ୍ଟୋରେଜ୍‌ ଲକ୍‌ ସେଟ୍‌ କରନ୍ତୁ"</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"ମୋ ଲୋକେସନ୍‌, ସ୍କ୍ରୀନ୍‌ ଅନ୍‌ଲକ୍‌, ତଥ୍ୟ ଷ୍ଟୋରେଜ୍‌ ଲକ୍‌ ସେଟ୍‌ କରନ୍ତୁ"</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"ଗୋପନୀୟତା"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"ଆଡମିନ୍‌ଙ୍କ ଦ୍ଵାରା ଅକ୍ଷମ କରାଯାଇଛି"</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>
@@ -693,7 +616,6 @@
       <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> ଅଙ୍କରୁ କମ୍‌ ହେବା ଦରକାର</item>
       <item quantity="one"><xliff:g id="NUMBER_0">%d</xliff:g> ଅଙ୍କରୁ କମ୍‌ ହେବା ଦରକାର</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"କେବଳ 0-9 ସଂଖ୍ୟା ହିଁ ରହିବା ଦରକାର"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"ଏକ ସାମ୍ପ୍ରତିକ ପିନ୍‌ର ବ୍ୟବହାରକୁ ଡିଭାଇସ୍‌ ଆଡ୍‌ମିନ୍‌ ଅନୁମତି ଦେବନାହିଁ"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"ସାଧାରଣ PINଗୁଡିକ ଆପଣଙ୍କ IT ଆଡମିନ୍‌ଙ୍କ ଦ୍ୱାରା ଅବରୋଧ କରିଦିଆଯାଇଛି। ଭିନ୍ନ PIN ଚେଷ୍ଟା କରନ୍ତୁ।"</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"ଏକ ଭୁଲ ଅକ୍ଷରକୁ ଏହା ମିଶାଇ ପାରିବନାହିଁ"</string>
@@ -724,6 +646,10 @@
       <item quantity="other">ଅତିକମ୍‌ରେ <xliff:g id="COUNT">%d</xliff:g>ଟି ବିଶେଷ ଅକ୍ଷର କିମ୍ୱା ସଂଖ୍ୟା ଆବଶ୍ୟକ</item>
       <item quantity="one">ଅତିକମ୍‌ରେ 1ଟି ବିଶେଷ ଅକ୍ଷର କିମ୍ୱା ସଂଖ୍ୟା ଆବଶ୍ୟକ</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="other">ଅତିକମ୍‌ରେ <xliff:g id="COUNT">%d</xliff:g>ଟି ଅକ୍ଷର ହେବା ନିହାତି ଆବଶ୍ୟକ ଯାହା ସଂଖ୍ୟା ହୋଇନଥିବା</item>
+      <item quantity="one">ଅତିକମ୍‌ରେ 1ଟି ଅକ୍ଷର ହେବା ନିହାତି ଆବଶ୍ୟକ ଯାହା ସଂଖ୍ୟା ହୋଇନଥିବା</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"ଏକ ସମ୍ପ୍ରତି ପାସ୍‌ୱର୍ଡ ବ୍ୟବହାର କରିବାକୁ ଡିଭାଇସ୍‌ ଆଡମିନ୍‌ ଅନୁମତି ଦିଅନ୍ତି ନାହିଁ"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"ଆପଣଙ୍କର ଆଇଟି ଆଡ୍‌ମିନ୍‌ ଦ୍ୱାରା ସାଧାରଣ ପାସ୍‌ୱର୍ଡଗୁଡ଼ିକୁ ରୋକିଦିଆଯାଇଛି। ଏକ ଭିନ୍ନ ପାସ୍‌ୱର୍ଡ ଦିଅନ୍ତୁ।"</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"ସଂଖ୍ୟାର କ୍ରମବୃଦ୍ଧି, କ୍ରମହ୍ରାସ, କିମ୍ବା ପୁନରାବୃତ୍ତ କ୍ରମ ଅନୁମୋଦିତ ନୁହେଁ"</string>
@@ -837,19 +763,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2.4 GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"ସାଇନ୍-ଇନ୍ କରନ୍ତୁ"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"ସାଇଟ୍ ଖୋଲନ୍ତୁ"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"<xliff:g id="REMAINING_TIME">%1$s</xliff:g> ବାକି ଅଛି"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"<xliff:g id="EXPIRY_TIME">%1$s</xliff:g>ରେ ମିଆଦ ସମାପ୍ତ ହେଉଛି"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"ନେଟୱର୍କରେ ସାଇନ୍‌-ଇନ୍‌ କରିବାକୁ ଏଠାରେ ଟ୍ୟାପ୍‌ କରନ୍ତୁ"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"<xliff:g id="REQUESTER">%s</xliff:g> ୱାଇ-ଫାଇ ଅନ୍‌ କରିବାକୁ ଚାହାଁନ୍ତି"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"<xliff:g id="REQUESTER">%s</xliff:g> ୱାଇ-ଫାଇ ବନ୍ଦ କରିବାକୁ ଚାହୁଁଛି"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"debuggable ଆପ୍‍ର bytecode ଯାଞ୍ଚ କରାନ୍ତୁ"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"debuggable ଆପ୍ସ ପାଇଁ bytecode ଯାଞ୍ଚ କରିବାକୁ ART ଅନୁମତି ଦିଅନ୍ତୁ"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"ରିଫ୍ରେସ୍ ରେଟ୍ ଦେଖାନ୍ତୁ"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"ବର୍ତ୍ତମାନର ଡିସ୍‌ପ୍ଲେ ରିଫ୍ରେସ୍ ରେଟ୍ ଦେଖାନ୍ତୁ"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"ଟାବ୍‌ଲେଟ୍‌ ଅନ୍ୟ ଡିଭାଇସ୍‌କୁ ଛୁଇଁଲେ ଡାଟା ଆଦାନପ୍ରଦାନର ଅନୁମତି ଦିଅନ୍ତୁ"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"ଫୋନ୍‌ଟି ଅନ୍ୟ ଡିଭାଇସ୍‌କୁ ଛୁଇଁଲେ ଡାଟା ପ୍ରତିବଦଳର ଅନୁମତି ଦିଅନ୍ତୁ"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"ଟାବଲେଟ୍ ଏକ NFC ଡିଭାଇସକୁ ଛୁଇଁଲେ ଡାଟା ବିନିମୟ ପାଇଁ ଅନୁମତି ଦିଅନ୍ତୁ"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"ଫୋନ୍ ଏକ NFC ଡିଭାଇସକୁ ଛୁଇଁଲେ ଡାଟା ବିନିମୟ ପାଇଁ ଅନୁମତି ଦିଅନ୍ତୁ"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"NFC ଅନ୍ କରନ୍ତୁ"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"NFC ଏହି ଡିଭାଇସ୍‌ ଏବଂ ଅନ୍ୟ ନିକଟସ୍ଥ ଡିଭାଇସ କିମ୍ବା ଧାର୍ଯ୍ୟ, ଯେପରିକି ଦେୟ ଟର୍ମିନାଲ୍‌ସ, ଆକସେସ୍‌ ରିଡରସ୍, ଏବଂ ଇଣ୍ଟରାକ୍ଟିଭ ଆଡସ୍‌ କିମ୍ବା ଟ୍ୟାଗସ୍‌ ମଧ୍ୟରେ ଡାଟା ପ୍ରତିବଦଳ କରେ।"</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"NFC ସୁରକ୍ଷିତ କରନ୍ତୁ"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFC ପାଇଁ ଡିଭାଇସ୍ ଅନଲକ୍ ଆବଶ୍ୟକ"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"ସ୍କ୍ରିନ୍ ଅନ୍‌ଲକ୍ ଥିବାବେଳେ NFC ପେମେଣ୍ଟ ଏବଂ ଟ୍ରାଞ୍ଜିଟ୍‌ ବ୍ୟବହାରକୁ ଅନୁମତି ଦିଅନ୍ତୁ"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android ବିମ୍‌"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"NFC ମାଧ୍ୟମରେ ଆପ୍‌ର କଣ୍ଟେଣ୍ଟ ପଠାଇବାକୁ ପ୍ରସ୍ତୁତ"</string>
@@ -923,8 +855,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"ଚାଲୁ କରନ୍ତୁ"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"ୱାଇ-ଫାଇ ସ୍କାନିଂ ଚାଲୁ ଅଛି"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"ଉନ୍ନତ ବିକଳ୍ପ"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"ଡ୍ରପ୍‌ ଡାଉନ୍‌ ତାଲିକା ବିକଶିତ ବିକଳ୍ପଗୁଡିକ। ହ୍ରାସ କରିବାକୁ ଦୁଇଥର-ଟାପ୍‌ କରନ୍ତୁ।"</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"ଡ୍ରପ୍‌ ଡାଉନ୍‌ ତାଲିକା ବିକଶିତ ବିକଳ୍ପଗୁଡିକ। ବଢାଇବାକୁ ଦୁଇଥର-ଟାପ୍‌ କରନ୍ତୁ।"</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"ଡ୍ରପ୍-ଡାଉନ୍ ତାଲିକାରେ ଉନ୍ନତ ବିକଳ୍ପଗୁଡ଼ିକ"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"ବିସ୍ତାର କରନ୍ତୁ"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"ନେଟ୍‌ୱାର୍କର ନାମ"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"SSID ପ୍ରବେଶ କରନ୍ତୁ"</string>
     <string name="wifi_security" msgid="9095934643631406913">"ସୁରକ୍ଷା"</string>
@@ -934,6 +866,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"ସ୍ଥିତି"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"ଟ୍ରାନ୍ସମିଟ୍ ଲିଙ୍କ୍ ବେଗ"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"ଲିଙ୍କ୍ ସ୍ପିଡ୍ ପ୍ରାପ୍ତ କରନ୍ତୁ"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"ଲିଙ୍କର ବେଗ"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"ଫ୍ରିକ୍ୱେନ୍ସୀ"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"IP ଠିକଣା"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"ମାଧ୍ୟମରେ ସେଭ୍‌ ହୋଇଛି"</string>
@@ -941,6 +874,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"EAP ପଦ୍ଧତି"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"2ୟ ପର୍ଯ୍ୟାୟ ସତ୍ୟାପନ"</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>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"ଉପଯୋଗକର୍ତ୍ତା ସର୍ଟିଫିକେଟ୍‌"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"ପରିଚୟ"</string>
@@ -957,6 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"ୱାଇ-ଫାଇ ହଟସ୍ପଟ୍ ପାଇଁ ଅତିକମ୍‌ରେ ଗୋଟିଏ ବ୍ୟାଣ୍ଡକୁ ଚୟନ କରନ୍ତୁ:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"IP ସେଟିଙ୍ଗ"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"ଗୋପନୀୟତା"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"ସଦସ୍ୟତା"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"ସଦସ୍ୟତା ଦେଖନ୍ତୁ କିମ୍ବା ବଦଳାନ୍ତୁ"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"ଅନିୟମିତ MAC"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"ଏକ ଡିଭାଇସ୍‍ ଯୋଗ କରନ୍ତୁ"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"ଏହି “<xliff:g id="SSID">%1$s</xliff:g>”ରେ ଡିଭାଇସ୍ ଯୋଗ କରିବା ପାଇଁ ନିମ୍ନରେ ଥିବା QR କୋଡ୍‍କୁ କେନ୍ଦ୍ରକୁ ଆଣନ୍ତୁ"</string>
@@ -966,12 +902,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"ୱାଇ-ଫାଇ ସେୟାର୍‌ କରନ୍ତୁ"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"“<xliff:g id="SSID">%1$s</xliff:g>” ସହ ସଂଯୋଗ କରିବାକୁ ଏହି QR କୋଡ୍ ସ୍କାନ୍ କରନ୍ତୁ ଏବଂ ପାସୱାର୍ଡ ସେୟାର୍ କରନ୍ତୁ"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"“<xliff:g id="SSID">%1$s</xliff:g>”କୁ ସଂଯୋଗ କରିବାକୁ ଏହି QR କୋଡ୍ ସ୍କାନ୍ କରନ୍ତୁ"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"QR କୋଡ୍‍କୁ ପଢ଼ି ପାରୁ ନାହିଁ। କୋଡ୍ ପୁନଃ-କେନ୍ଦ୍ରିତ କରି ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ"</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ। ଯଦି ସମସ୍ୟା ଜାରି ରୁହେ, ଡିଭାଇସ୍‍ର ନିର୍ମାତାଙ୍କୁ ଯୋଗାଯୋଗ କରନ୍ତୁ"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"କିଛି ଭୁଲ ହୋଇଗଲା"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"ଡିଭାଇସ୍ ପ୍ଲଗ୍‍ ଇନ୍, ଚାର୍ଜ, ଏବଂ ଚାଲୁ ରହିଥିବା ସୁନିଶ୍ଚିତ ହୁଅନ୍ତୁ"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"ଡିଭାଇସ୍ ପ୍ଲଗ୍‍ ଇନ୍, ଚାର୍ଜ, ଏବଂ ଚାଲୁ ରହିଥିବା ସୁନିଶ୍ଚିତ ହୁଅନ୍ତୁ। ଯଦି ସମସ୍ୟା ଜାରି ରୁହେ, ଡିଭାଇସ୍‍ର ନିର୍ମାତାଙ୍କୁ ଯୋଗାଯୋଗ କରନ୍ତୁ"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"ଏହି ଡିଭାଇସ୍‍‍ରେ “<xliff:g id="SSID">%1$s</xliff:g>” ଯୋଗ କରିବା ସମର୍ଥିତ ନୁହେଁ"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"ଡିଭାଇସ୍‍ଟିକୁ ଆପଣଙ୍କର ୱାଇ-ଫାଇ ଆକ୍ସେସ୍‍ ପଏଣ୍ଟ/ରାଉଟର୍‌ ପାଖକୁ ନେଇ ଯିବାକୁ ଚେଷ୍ଟା କରନ୍ତୁ"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"ପାସ୍‍ୱାର୍ଡର ଯାଞ୍ଚ କରନ୍ତୁ ଏବଂ ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"ଡିଭାଇସ୍‍ର ନିର୍ମାତାଙ୍କ ସହିତ ଯୋଗାଯୋଗ କରନ୍ତୁ"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"ସଂଯୋଗ ଯାଞ୍ଚ କରି ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"ନେଟ୍‌ୱର୍କ ବାଛନ୍ତୁ"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"ଆପଣଙ୍କ ଡିଭାଇସ୍‍ ସହ ସଂଯୋଗ କରିବାକୁ, ଏକ ନେ‍ଟ୍‍ୱର୍କ ବାଛନ୍ତୁ"</string>
@@ -984,11 +922,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"ଏହି ଡିଭାଇସ୍ ସହ ୱାଇ-ଫାଇ ସେୟାର୍ କରାଯାଉଛି…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"ସଂଯୋଗ କରୁଛି…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"ହଟସ୍ପଟ୍‌ ସେୟାର୍ କରନ୍ତୁ"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"ସୁନିଶ୍ଚିତ କରାନ୍ତୁ ଏହା ଆପଣ ଅଟନ୍ତି"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"ଏହା ଆପଣ ବୋଲି ଯାଞ୍ଚ କରନ୍ତୁ"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"ୱାଇ-ଫାଇ ପାସ୍‍ୱର୍ଡ: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"ହଟସ୍ପଟ୍ ପାସ୍‌ୱର୍ଡ: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"ସ୍ଵତଃ-ସଂଯୋଗ"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"ଏହି ନେଟୱାର୍କର ପାଖାପାଖି ହେଲେ ଫୋନକୁ ସ୍ୱଚାଳିତ ଭାବେ ସଂଯୋଗ ହେବାକୁ ଅନୁମତି ଦିଅନ୍ତୁ"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"ଏହି ନେଟୱାର୍କର ପାଖାପାଖି ହେଲେ ଟାବଲେଟକୁ ସ୍ୱଚାଳିତ ଭାବେ ସଂଯୋଗ ହେବାକୁ ଅନୁମତି ଦିଅନ୍ତୁ"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"ଡିଭାଇସ୍‌ ଯୋଗ କରନ୍ତୁ"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"ଏହି ନେଟ୍‌ୱାର୍କରେ ଏକ ଡିଭାଇସ୍ ଯୋଗ କରିବା ପାଇଁ ଏକ QR କୋଡ୍ ବ୍ୟବହାର କରନ୍ତୁ"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"QR କୋଡ୍ ଏକ ବୈଧ ଫର୍ମାଟ୍ ନୁହେଁ"</string>
     <string name="retry" msgid="7542103800274026915">"ପୁନଃଚେଷ୍ଟା କରନ୍ତୁ"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"ଅନ୍ୟାନ୍ୟ ଡିଭାଇସ୍‌ ଉପଯୋଗକର୍ତ୍ତାଙ୍କ ସହ ସେୟାର୍‌ କରନ୍ତୁ"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(ଅପରିବର୍ତ୍ତିତ)"</string>
@@ -1000,6 +942,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"କୌଣସି ସର୍ଟିଫିକେଟ୍‌ ଦର୍ଶାଯାଇନାହିଁ। ଆପଣଙ୍କ ସଂଯୋଗ ଗୋପନ ରହିବ ନାହିଁ।"</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"ନେଟୱାର୍କ ନାମ ବହୁତ ଲମ୍ଵା ଅଟେ।"</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"ନିଶ୍ଚିତ ଭାବେ ଏକ ଡୋମେନ୍‌ ଦେବାକୁ ପଡ଼ିବ।"</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"ସାର୍ଟିଫିକେଟର ଆବଶ୍ୟକ।"</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"WPS ଉପଲବ୍ଧ"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (WPS ଉପଲବ୍ଧ ଅଛି)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"ମୋବାଇଲ୍‌ ସେବା ପ୍ରଦାତାର ୱାଇ-ଫାଇ ନେଟ୍‌ୱର୍କ"</string>
@@ -1051,7 +994,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"ଉନ୍ନତ ୱାଇ-ଫାଇ"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"MAC ଠିକଣା"</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_ip_address_title" msgid="4265355419782184514">"IP ଠିକଣା"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"ନେଟୱାର୍କ୍ ବିବରଣୀ"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"ସବ୍‌ନେଟ୍‌ ମାସ୍କ"</string>
@@ -1103,7 +1047,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"ଆପଣଙ୍କର ଅନ୍ୟ ଡିଭାଇସ୍‌ଗୁଡ଼ିକ ପାଇଁ ଏକ ୱାଇ-ଫାଇ ନେଟ୍‌ୱର୍କ ତିଆରି କରିବାକୁ ହଟ୍‌ସ୍ପଟ୍‌ ବ୍ୟବହାର କରନ୍ତୁ। ଆପଣଙ୍କର ଡାଟା ସଂଯୋଗ ବ୍ୟବହାର କରି ହଟ୍‌ସ୍ପଟ୍‌, ଇଣ୍ଟରନେଟ୍‌ ପ୍ରଦାନ କରିଥାଏ। ଅତିରିକ୍ତ ମୋବାଇଲ୍‌ ଡାଟା ଚାର୍ଜ ଲାଗୁ ହୋଇପାରେ।"</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"ପାଖାପାଖି ଡିଭାଇସ୍‌ଗୁଡ଼ିକ ସହିତ କଣ୍ଟେଣ୍ଟ ସେୟାର୍‌ କରିବା ପାଇଁ ଆପ୍‌, ହଟ୍‌ସ୍ପଟ୍‌ ତିଆରି କରିପାରିବ।"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"ସ୍ୱଚାଳିତ ଭାବେ ହଟସ୍ପଟ୍ ବନ୍ଦ କରନ୍ତୁ"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"ଯଦି କୌଣସି ଡିଭାଇସ୍‌ ସଂଯୋଗ ନଥାଏ, ୱାଇ-ଫାଇ ହଟସ୍ପଟ୍‌ ବନ୍ଦ ହୋଇଯିବ"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"ଯେତେବେଳେ କୌଣସି ଡିଭାଇସ୍ ସଂଯୋଗ ହୋଇନଥାନ୍ତି"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"ହଟସ୍ପଟ ଅନ କରୁଛି…"</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"ହଟସ୍ପଟ୍‌ ଅଫ୍‌ କରାଯାଉଛି…"</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> ସକ୍ରିୟ ଅଛି"</string>
@@ -1112,6 +1056,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"ୱାଇ-ଫାଇ ହଟସ୍ପଟ୍‌ ସେଟଅପ୍‌"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"AndroidAP WPA2 PSK ହଟ୍‌ସ୍ପଟ୍"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"Android ହଟ୍‌ସ୍ପଟ୍‌"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"ଏହି ନେଟ୍‌ୱାର୍କକୁ ସେଭ୍ କରିବେ?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"<xliff:g id="APPNAME">%1$s</xliff:g> ଆପଣଙ୍କ ଫୋନ୍ ପାଇଁ ଏକ ନେଟୱାର୍କ ସେଭ୍ କରିବାକୁ ଚାହେଁ"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"<xliff:g id="APPNAME">%1$s</xliff:g> ଆପଣଙ୍କ ଟାବଲେଟରେ ଏକ ନେଟୱାର୍କ ସେଭ୍ କରିବାକୁ ଚାହେଁ"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"ସେଭ୍ ହେଉଛି…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"ସେଭ୍ କରାଯାଇଛି"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"ସେଭ୍ କରାଯାଇପାରିଲା ନାହିଁ। ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ।"</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"ନେଟ୍‌ୱାର୍କଗୁଡ଼ିକୁ ସେଭ୍ କରିବେ?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"<xliff:g id="APPNAME">%1$s</xliff:g> ଆପଣଙ୍କ ଫୋନ୍ ପାଇଁ ଏହିସବୁ ନେଟୱାର୍କକୁ ସେଭ୍ କରିବାକୁ ଚାହେଁ"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"<xliff:g id="APPNAME">%1$s</xliff:g> ଆପଣଙ୍କ ଟାବଲେଟରେ ଏହିସବୁ ନେଟୱାର୍କକୁ ସେଭ୍ କରିବାକୁ ଚାହେଁ"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"<xliff:g id="NUMBER">%d</xliff:g> ନେଟ୍‌ୱାର୍କ ସେଭ୍ କରାଯାଉଛି…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"ନେଟ୍‌ୱାର୍କକୁ ସେଭ୍ କରାଯାଇଛି"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"ୱାଇ-ଫାଇ କଲିଙ୍ଗ"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"ୱାଇ-ଫାଇ ମାଧ୍ୟମରେ କଭରେଜ୍‌ ବଢ଼ାନ୍ତୁ"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"କଭରେଜ୍‌ ବଢ଼ାଇବା ପାଇଁ ୱାଇ-ଫାଇ କଲିଙ୍ଗ ଅନ୍‌ କରନ୍ତୁ"</string>
@@ -1138,16 +1093,18 @@
     <string name="emergency_address_title" msgid="3490633500025717573">"ଜରୁରୀକାଳୀନ ଠିକଣା"</string>
     <string name="emergency_address_summary" msgid="3022628750270626473">"ୱାଇ-ଫାଇ ମାଧ୍ୟମରେ ଆପଣ କୌଣସି ଆପାତକାଳୀନ କଲ୍‌ କରିବା ବେଳେ ଆପଣଙ୍କ ଲୋକେସନ୍‌ ରୂପେ ବ୍ୟବହୃତ ହୋଇଥାଏ"</string>
     <string name="private_dns_help_message" msgid="851221502063782306"><annotation id="url">"ବ୍ୟକ୍ତିଗତ DNS ବୈଶିଷ୍ଟ୍ୟ ବିଷୟରେ"</annotation>" ଅଧିକ ଜାଣନ୍ତୁ"</string>
+    <string name="private_dns_mode_on" msgid="8878679071975375696">"ଚାଲୁ ଅଛି"</string>
     <string name="wifi_calling_pref_managed_by_carrier" msgid="129524064888622179">"ସେଟିଙ୍ଗ, କେରିଅର୍‍ଙ୍କ ଦ୍ଵାରା ପରିଚାଳିତ ହେଉଛି"</string>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"ୱାଇ-ଫାଇ କଲିଙ୍ଗକୁ ସକ୍ରିୟ କରନ୍ତୁ"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"ୱାଇ-ଫାଇ କଲିଙ୍ଗ ଚାଲୁ କରନ୍ତୁ"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"%1$s ପାଇଁ ୱାଇ-ଫାଇ କଲିଙ୍ଗ ସପୋର୍ଟ କରୁନାହିଁ"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"<xliff:g id="SSID">%1$s</xliff:g>ରୁ ସଂଯୋଗ ବିଚ୍ଛିନ୍ନ ହୋଇଛି"</string>
     <string name="carrier" msgid="1755020806290963951">"ନେଟ୍‍ୱର୍କ କେରିଅର୍"</string>
     <string name="display_settings_title" msgid="626835071804834218">"ଡିସ୍‌ପ୍ଲେ"</string>
     <string name="sound_settings" msgid="5514582720435174014">"ସାଉଣ୍ଡ"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"ଭଲ୍ୟୁମ୍‌"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"ମ୍ୟୁଜିକ୍‌ ଇଫେକ୍ଟସ୍"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"ରିଙ୍ଗ ଭଲ୍ୟୁମ୍"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"ରିଙ୍ଗ ଏବଂ ବିଜ୍ଞପ୍ତି ଭଲ୍ୟୁମ୍"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"ନୀରବ ଥିବା ବେଳେ କମ୍ପନ କରନ୍ତୁ"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"ପୂର୍ବ-ନିର୍ଦ୍ଧାରିତ ବିଜ୍ଞପ୍ତିର ଶବ୍ଦ"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"ରିଙ୍ଗଟୋନ୍‌"</string>
@@ -1272,13 +1229,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"ସମୟ ନିର୍ଦ୍ଧାରଣ କରନ୍ତୁ"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"କିଛି ନାହିଁ"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"ସନ୍ଧ୍ୟାରୁ ସକାଳ ଯାଏଁ ଚାଲୁ ରହେ"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"କଷ୍ଟମ୍ ସମୟରେ ଚାଲୁ ହୁଏ"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"ସ୍ଥିତି"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"ବନ୍ଦ ଅଛି / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"କେବେ ବି ସ୍ୱଚାଳିତ ଭାବେ ଚାଲୁ ହେବ ନାହିଁ"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"ସନ୍ଧ୍ୟାରେ ସ୍ୱଚାଳିତ ଭାବେ ଚାଲୁ ହେବ"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"<xliff:g id="ID_1">%1$s</xliff:g>ରେ ସ୍ୱଚାଳିତ ଭାବେ ଚାଲୁ ହେବ"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"ଚାଲୁ ଅଛି / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"କେବେ ବି ସ୍ୱଚାଳିତ ଭାବେ ବନ୍ଦ ହେବନାହିଁ"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"ସକାଳେ ସ୍ୱଚାଳିତ ଭାବେ ବନ୍ଦ ହେବ"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"<xliff:g id="ID_1">%1$s</xliff:g>ରେ ସ୍ୱଚାଳିତ ଭାବେ ବନ୍ଦ ହେବ"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"<xliff:g id="ID_1">%1$s</xliff:g> ପର୍ଯ୍ୟନ୍ତ ଚାଲୁ ରଖନ୍ତୁ"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"<xliff:g id="ID_1">%1$s</xliff:g> ପର୍ଯ୍ୟନ୍ତ ବନ୍ଦ ରଖନ୍ତୁ"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"କିଛି ସ୍କ୍ରିନରେ ବ୍ୟାଟେରୀକୁ ଅଧିକ ସମୟ ସକ୍ରିୟ ରଖିବାରେ ସାହାଯ୍ୟ କରିବାକୁ ଗାଢ଼ା ଥିମ୍, ଏକ କଳା ରଙ୍ଗ ପୃଷ୍ଠପଟ ବ୍ୟବହାର କରିଥାଏ। ଆପଣଙ୍କ ସ୍କ୍ରିନ୍ ବନ୍ଦ ହେବା ପରେ ଗାଢ଼ା ଥିମ୍ ଚାଲୁ ହେବା ପାଇଁ ସ୍କିଡ୍ୟୁଲ୍ ହୋଇଥାଏ।"</string>
     <string name="screen_timeout" msgid="7709947617767439410">"ସ୍କ୍ରିନ୍ ସମୟ ସମାପ୍ତିର ଅବଧି"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"ସ୍କ୍ରୀନ୍‌ ବନ୍ଦ‌ ହୁଏ"</string>
@@ -1290,7 +1252,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"ୱାଲପେପର୍‌ ବଦଳାନ୍ତୁ"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"ଆପଣଙ୍କ ସ୍କ୍ରୀନ୍‌ ନିଜ ମନ ମୁତାବକ ସଜାଡ଼ନ୍ତୁ"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"ଏଥିରୁ ୱାଲ୍‌ପେପର୍‌ ବାଛନ୍ତୁ"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"ଆପଣଙ୍କର Pixel କଷ୍ଟମାଇଜ୍ କରନ୍ତୁ"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"ଆପଣଙ୍କର ଫୋନ୍ କଷ୍ଟମାଇଜ୍ କରନ୍ତୁ"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"ବିଭିନ୍ନ ଷ୍ଟାଇଲ୍, ୱାଲ୍‌ପେପର୍ ଏବଂ ଆହୁରି ଅନେକ କିଛି ବ୍ୟବହାର କରି ଦେଖନ୍ତୁ"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"ସ୍କ୍ରୀନ୍‌ ସେଭର୍‌"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"ଚାର୍ଜ ହେଉଥିବା କିମ୍ବା ଡକ୍‌ ହୋଇଥିବା ବେଳେ"</string>
@@ -1379,6 +1341,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"USB ଷ୍ଟୋରେଜ୍‌କୁ ଅନ୍‌ମାଉଣ୍ଟ କରନ୍ତୁ, ଉପଲବ୍ଧ ଷ୍ଟୋରେଜ୍‌ ଦେଖନ୍ତୁ"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"SD କାର୍ଡକୁ ଅନ୍‌ମାଉଣ୍ଟ କରନ୍ତୁ, ଉପଲବ୍ଧ ଷ୍ଟୋରେଜ୍‌ ଦେଖନ୍ତୁ"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (ସିମ୍‌ ସ୍ଲଟ୍‌ %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"ଦେଖିବା ପାଇଁ ସେଭ୍ କରାଯାଇଥିବା ନେଟ୍‌ୱାର୍କ ବାଛନ୍ତୁ"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"ଫୋନ୍ ନମ୍ଵର୍"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (ସିମ୍‌ ସ୍ଲଟ୍‌ %1$d)"</string>
@@ -1405,6 +1368,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"ରୋମିଙ୍ଗ"</string>
     <string name="status_operator" msgid="4335640583552058491">"ନେଟ୍‌ୱର୍କ"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"ୱାଇ-ଫାଇ MAC ଠିକଣା"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"ଡିଭାଇସ୍‌ର ୱାଇଫାଇ MAC ଠିକଣା"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"ବ୍ଲୁଟୂଥ ଠିକଣା"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"କ୍ରମିକ ନମ୍ବର"</string>
     <string name="status_up_time" msgid="1274778533719495438">"ଅପ୍‌ ସମୟ"</string>
@@ -1617,6 +1581,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"ଡିଫଲ୍ଟ APN ସେଟିଙ୍ଗ ରିସେଟ୍‌ କରାଗଲା।"</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"ରିସେଟ୍‌ କରିବାର ବିକଳ୍ପମାନ"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"ନେଟ୍‌ୱର୍କ, ଆପ୍‌, କିମ୍ବା ଡିଭାଇସ୍‌ ରିସେଟ୍‌ କରାଯାଇପାରିବ"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"ଆପ୍‍ଗୁଡ଼ିକୁ ରିସେଟ୍ କରାଯାଇପାରିବ"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"ୱାଇ-ଫାଇ, ମୋବାଇଲ ଓ ବ୍ଲୁଟୂଥ୍‍‌ ରିସେଟ୍‌ କରନ୍ତୁ"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"ଏହା, ସମସ୍ତ ନେଟ୍‌ୱର୍କ ସେଟିଙ୍ଗକୁ ରିସେଟ୍‌ କରିବ, ଯେଉଁଥିରେ ରହିଛି:\n\n"<li>"ୱାଇ-ଫାଇ"</li>\n<li>"ମୋବାଇଲ୍‌ ଡାଟା"</li>\n<li>"ବ୍ଲୁଟୁଥ୍‍"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"ଡାଉନଲୋଡ୍ SIMକୁ ଖାଲି କରନ୍ତୁ"</string>
@@ -1666,6 +1631,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"ହଟସ୍ପଟ୍‌ ଅନ୍‌"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"ଟିଥର୍‌ କରୁଛି"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"ଡାଟା ସେଭର୍‌ ଅନ୍‌ ଥିବାବେଳେ ଟିଥର୍‌ କିମ୍ୱା ପୋର୍ଟେବଲ୍‌ ହଟ୍‌ସ୍ପଟ୍‌ ବ୍ୟବହାର କରିପାରିବ ନାହିଁ"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"କେବଳ ହଟସ୍ପଟ୍"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"କେବଳ USB"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"କେବଳ ବ୍ଲୁଟୁଥ୍"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"ହଟସ୍ପଟ୍, USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"ହଟସ୍ପଟ୍, ବ୍ଲୁଟୁଥ୍"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB, ବ୍ଲୁଟୁଥ୍"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"ହଟସ୍ପଟ୍, USB, ବ୍ଲୁଟୁଥ୍"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"ଅନ୍ୟ ଡିଭାଇସଗୁଡ଼ିକ ସହ ଇଣ୍ଟର୍ନେଟ୍ ସେୟାର୍ କରୁନାହିଁ"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"ଟିଥେରିଂ"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Wi‑Fi ହଟସ୍ପଟ୍ ବ୍ୟବହାର କରନ୍ତୁ ନାହିଁ"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"କେବଳ USB ମାଧ୍ୟମରେ ଇଣ୍ଟର୍ନେଟ୍ ସେୟାର୍ କରନ୍ତୁ"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"କେବଳ ବ୍ଲୁଟୁଥ୍ ମାଧ୍ୟମରେ ଇଣ୍ଟର୍ନେଟ୍ ସେୟାର୍ କରନ୍ତୁ"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"କେବଳ USB ଏବଂ ବ୍ଲୁଟୁଥ୍ ମାଧ୍ୟମରେ ଇଣ୍ଟର୍ନେଟ୍ ସେୟାର୍ କରନ୍ତୁ"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB ଟିଥରିଙ୍ଗ୍‌"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"USB ମାଧ୍ୟମରେ ଫୋନ୍‌ର ଇଣ୍ଟରନେଟ୍‌ କନେକ୍ସନ୍ ସେୟାର୍‌ କରନ୍ତୁ"</string>
@@ -1756,9 +1734,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"ସୁରକ୍ଷା ସୂଚନା"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"ଆପଣଙ୍କ ପାଖରେ ଡାଟା ସଂଯୋଗ ନାହିଁ। ଏହି ସୂଚନାକୁ ଏବେ ଦେଖିବା ପାଇଁ, ଇଣ୍ଟରନେଟ୍‌ ସହ ସଂଯୁକ୍ତ ଥିବା ଯେକୌଣସି କମ୍ପ୍ୟୁଟର୍‌ରୁ %sକୁ ଯାଆନ୍ତୁ।"</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"ଲୋଡ୍ କରୁଛି…"</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"ପିନ୍‍ର ବ୍ୟବହାର କରନ୍ତୁ"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"ପାଟର୍ନ ବ୍ୟବହାର କରନ୍ତୁ"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"ପାସ୍‌ୱାର୍ଡ୍ ବ୍ୟବହାର କରନ୍ତୁ"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"ସ୍କ୍ରୀନ୍‌ ଲକ୍‌ ସେଟ୍‌ କରନ୍ତୁ"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"ସୁରକ୍ଷା ପାଇଁ ପାସ୍‌ୱର୍ଡ ସେଟ୍ କରନ୍ତୁ"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"ଟିପଚିହ୍ନ ବ୍ୟବହାର କରିବା ପାଇଁ ପାସ୍‌ୱାର୍ଡ ସେଟ୍‌ କରନ୍ତୁ"</string>
@@ -1767,8 +1742,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"ଟିପଚିହ୍ନ ବ୍ୟବହାର କରିବା ପାଇଁ PIN ସେଟ୍‌ କରନ୍ତୁ"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"ସୁରକ୍ଷା ପାଇଁ ପାଟର୍ନ ସେଟ୍ କରନ୍ତୁ"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"ପାସ୍‌ୱର୍ଡ ପୁନଃ-ପ୍ରବେଶ କରନ୍ତୁ"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"ଆପଣଙ୍କର କାର୍ଯ୍ୟସ୍ଥଳୀ ପାସୱାର୍ଡ ଲେଖନ୍ତୁ"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"ଆପଣଙ୍କ ପ୍ୟାଟର୍ନ ନିଶ୍ଚିତ କରନ୍ତୁ"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"ଆପଣଙ୍କ କାର୍ଯ୍ୟସ୍ଥଳୀ ପାଟର୍ନ ଲେଖନ୍ତୁ"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"ଆପଣଙ୍କ PIN ପୁଣି ଲେଖନ୍ତୁ"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"ଆପଣଙ୍କ କାର୍ଯ୍ୟସ୍ଥଳୀ PIN ଲେଖନ୍ତୁ"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"ପାସ୍‌ୱର୍ଡ ମେଳ ଖାଉନାହିଁ"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"ପିନ୍‌ ମେଳ ଖାଉନାହିଁ"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"ଆପଣଙ୍କର ପାଟର୍ନ ପୁଣି ଆଙ୍କନ୍ତୁ"</string>
@@ -1779,6 +1757,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"ଫେସ୍ ଅନ୍‌ଲକ୍ ବ୍ୟବହାର କରିବା ପାଇଁ, ପାସ୍‌ୱାର୍ଡ ସେଟ୍ କରନ୍ତୁ"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"ଫେସ୍ ଅନ୍‌ଲକ୍ ବ୍ୟବହାର କରିବା ପାଇଁ, ପାଟର୍ନ ସେଟ୍ କରନ୍ତୁ"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"ଫେସ୍ ଅନ୍‍ଲକ୍ ବ୍ୟବହାର କରିବା ପାଇଁ, ପିନ୍ ସେଟ୍ କରନ୍ତୁ"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"ଆପଣଙ୍କ ପାସୱାର୍ଡ ଭୁଲି ଯାଇଛନ୍ତି କି?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"ପାଟର୍ନ ଭୁଲି ଯାଇଛନ୍ତି କି?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"PIN ଭୁଲି ଯାଇଛନ୍ତି କି?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"ଜାରି ରଖିବା ପାଇଁ ନିଜ ଡିଭାଇସ୍‌ ପାଟର୍ନ ବ୍ୟବହାର କରନ୍ତୁ"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"ଜାରି ରଖିବାକୁ ଆପଣଙ୍କ ଡିଭାଇସ୍‌ର PIN ଲେଖନ୍ତୁ"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"ଜାରି ରଖିବାକୁ ନିଜ ଡିଭାଇସ୍‌ର ପାସ୍‌ୱର୍ଡ ଲେଖନ୍ତୁ"</string>
@@ -1846,6 +1827,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"ସମସ୍ତ ଆପ୍‌ର ଉତ୍ସଗୁଡ଼ିକୁ ଅନୁମତି ଦିଅନ୍ତୁ"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"ନିକଟରେ ଖୋଲାଯାଇଥିବା ଆପ୍‌ଗୁଡ଼ିକ"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"ସମସ୍ତ <xliff:g id="COUNT">%1$d</xliff:g>ଟି ଆପ୍‌ ଦେଖନ୍ତୁ"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"ଆପଣଙ୍କର IT ଆଡମିନଙ୍କୁ ଯୋଗାଯୋଗ କରନ୍ତୁ"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"ଆପଣଙ୍କର PIN, ପାଟର୍ନ ବା ପାସୱାର୍ଡ ରିସେଟ୍ କରିବାରେ ସେମାନେ ଆପଣଙ୍କ ସାହାଯ୍ୟ କରିପାରିବେ"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"ଆପଣଙ୍କ ଟାବଲେଟ୍‌ ଏବଂ ବ୍ୟକ୍ତିଗତ ଡାଟା ଅଜ୍ଞାତ ଆପସ୍‌ ଦ୍ୱାରା ଆକ୍ରମଣ କରାଯିବାରେ ଅଧିକ ଉନ୍ମୁକ୍ତ ହୋଇଥାଆନ୍ତି। ଏହି ଉତ୍ସରୁ ଆପସ୍‌ ସଂସ୍ଥାପନ କରିବା ଦ୍ୱାରା, ଆପଣ ରାଜି ହୁଅନ୍ତି ଯେ ଆପଣଙ୍କ ଟାବଲେଟ୍‌‌ରେ ହେବା କୌଣସି ପ୍ରକାର କ୍ଷତି କିମ୍ବା ସେଗୁଡିକ ବ୍ୟବହାରରୁ ଘଟିବା କୌଣସି ପ୍ରକାର ଡାଟାର ହାନୀ ପାଇଁ ଆପଣ ଉତ୍ତରଦାୟୀ ଅଟନ୍ତି।"</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"ଅଜ୍ଞାତ ଆପ୍‌ ଦ୍ୱାରା ଆପଣଙ୍କ ଫୋନ୍‌ ଏବଂ ବ୍ୟକ୍ତିଗତ ଡାଟା ଆକ୍ରାନ୍ତ ହେବାର ସମ୍ଭାବନା ବହୁତ ଅଧିକ। ଏହି ଉତ୍ସରୁ ଆପ୍‌ ଇନଷ୍ଟଲ୍‌ କରିବାର ଅର୍ଥ, ଆପଣଙ୍କ ଫୋନ୍‌ରେ ଘଟିବା କୌଣସି ପ୍ରକାର କ୍ଷତି କିମ୍ବା ସେଗୁଡ଼ିକ ବ୍ୟବହାରରୁ ହେବା କୌଣସି ପ୍ରକାର ଡାଟାର ହାନୀ ପାଇଁ ଆପଣ ଦାୟୀ ରହିବାକୁ ରାଜି ହୁଅନ୍ତି।"</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"ଅଜ୍ଞାତ ଆପ୍‌ ଦ୍ୱାରା ଆପଣଙ୍କ ଫୋନ୍‌ ଏବଂ ବ୍ୟକ୍ତିଗତ ଡାଟା ଆକ୍ରାନ୍ତ ହେବାର ସମ୍ଭାବନା ବହୁତ ଅଧିକ। ଏହି ଉତ୍ସରୁ ଆପ୍‌ ଇନଷ୍ଟଲ୍‌ କରିବାର ଅର୍ଥ, ଆପଣଙ୍କ ଫୋନ୍‌ରେ ଘଟିବା କୌଣସି ପ୍ରକାର କ୍ଷତି କିମ୍ବା ସେଗୁଡ଼ିକର ବ୍ୟବହାରରୁ ହେବା କୌଣସି ପ୍ରକାର ଡାଟା ହାନି ପାଇଁ ଆପଣ ଦାୟୀ ରହିବାକୁ ରାଜି ହୁଅନ୍ତି।"</string>
@@ -1897,7 +1880,7 @@
     <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="1377296810290814749">"ଏହା ନିମ୍ନରେ ଥିବା ସମସ୍ତ ପସନ୍ଦକୁ ରିସେଟ୍ କରିବ:\n\n"<li>"ଅକ୍ଷମ କରାଯାଇଥିବା ଆପ୍‌"</li>\n<li>"ଅକ୍ଷମ କରାଯାଇଥିବା ଆପ୍‌ ବିଜ୍ଞପ୍ତି"</li>\n<li>"କାର୍ଯ୍ୟ କରିବା ପାଇଁ ଡିଫଲ୍ଟ ଆପ୍ଲିକେସନ୍‌"</li>\n<li>"ଆପ୍‌ ପାଇଁ ବ୍ୟାକ୍‌ଗ୍ରାଉଣ୍ଡ ଡାଟା ପ୍ରତିବନ୍ଧକ"</li>\n<li>"ଯେକୌଣସି ଅନୁମତି ପ୍ରତିବନ୍ଧକ"</li>\n\n"ଆପଣ କୌଣସି ଆପ୍‌ ଡାଟା ହରାଇବେ ନାହିଁ।"</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>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"ଆପ୍‌ଗୁଡ଼ିକୁ ରିସେଟ୍‌ କରନ୍ତୁ"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"ସ୍ଥାନ ପରିଚାଳନା କରନ୍ତୁ"</string>
     <string name="filter" msgid="9039576690686251462">"ଫିଲ୍ଟର୍"</string>
@@ -2097,7 +2080,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"ଅଡିଓ ଓ ଅନ୍-ସ୍କ୍ରୀନ୍ ଟେକ୍ସଟ୍"</string>
     <string name="display_category_title" msgid="6638191682294461408">"ଡିସ୍‌ପ୍ଲେ"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"ଇଣ୍ଟରାକସନ୍‌ ନିୟନ୍ତ୍ରଣ"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"ଡାଉନ୍‌ଲୋଡ୍ ହୋଇଥିବା ସେବାଗୁଡିକ"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"ଡାଉନଲୋଡ୍ ହୋଇଥିବା ଆପ୍ସ"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"ପରୀକ୍ଷାମୂଳକ"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"ଫିଚର୍ ଫ୍ଲାଗ୍"</string>
     <string name="talkback_title" msgid="8756080454514251327">"Talkback"</string>
@@ -2105,27 +2088,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"ଜୋରରେ ପଢ଼ିବା ପାଇଁ ସ୍କ୍ରୀନ୍‌ ଉପରେ ଥିବା ଆଇଟମଗୁଡ଼ିକ ଉପରେ ଟାପ୍‌ କରନ୍ତୁ"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"କ୍ୟାପସନ୍ ପସନ୍ଦଗୁଡ଼ିକ"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"ବଡ଼ କରିବା"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"ମାଗ୍ନିଫିକେସନ୍ ଅଞ୍ଚଳ"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"ମ୍ୟାଗ୍ନିଫିକେସନ୍ ସକ୍ଷମ ମୋଡ୍"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"ସ୍କ୍ରିନ୍ ମାଗ୍ନିଫାଏ କରିବା ବେଳେ ଆପଣ ବ୍ୟବହାର କରିବାକୁ ଚାହୁଁଥିବା ମାଗ୍ନିଫିକେସନ୍ ଅଞ୍ଚଳ(ଗୁଡ଼ିକୁ) ବାଛନ୍ତୁ"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"ପୂର୍ଣ୍ଣ ସ୍କ୍ରିନ୍"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"ସ୍କ୍ରିନ୍‌‌ର କିଛି ଅଂଶ"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"ପୂର୍ଣ୍ଣ ସ୍କ୍ରିନ୍ ଏବଂ ସ୍କ୍ରିନ୍‌ର ଅଂଶ"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"ସମ୍ପୁର୍ଣ୍ଣ ସ୍କ୍ରିନ୍ ମାଗ୍ନିଫାଏ କରନ୍ତୁ"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"ସ୍କ୍ରିନ୍‌‌ର କିଛି ଅଂଶ ମାଗ୍ନିଫାଏ କରନ୍ତୁ"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"ମାଗ୍ନିଫିକେସନ୍ ସେଟିଂସ୍"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"ଟ୍ରିପଲ୍‌-ଟାପ୍‌ ଦ୍ୱାରା ମାଗ୍ନିଫାଏ କରନ୍ତୁ"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"ସର୍ଟକଟ୍ ସାହାଯ୍ୟରେ ମାଗ୍ନିଫାଏ କରନ୍ତୁ"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"ତିନି ଥର ଟାପ୍ ଓ ସର୍ଟକଟ୍ ସାହାଯ୍ୟରେ ମାଗ୍ନିଫାଏ କରନ୍ତୁ"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"<xliff:g id="SERVICE">%1$s</xliff:g> ବିଷୟରେ"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"ବିକଳ୍ପଗୁଡ଼ିକ"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"ସ୍କ୍ରୀନ୍‌ ଉପରେ ଜୁମ୍‌ ଇନ୍‌ କରନ୍ତୁ"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"ଜୁମ୍‌ କରିବାକୁ 3ଥର ଟାପ୍‌ କରନ୍ତୁ"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"ଜୁମ୍‌ କରିବା ପାଇଁ ଗୋଟିଏ ବଟନ୍‌ ଉପରେ ଟାପ୍‌ କରନ୍ତୁ"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><b>"ଜୁମ୍‌ କରିବାକୁ"</b>", ସ୍କ୍ରିନ୍‌ 3 ଥର ଦ୍ରୁତ ଭାବେ ଟାପ୍‌ କରନ୍ତୁ।\n"<ul><li>"ସ୍କ୍ରୋଲ୍‌ କରିବାକୁ 2 କିମ୍ବା ଅଧିକ ଆଙ୍ଗୁଠି ଟାଣନ୍ତୁ"</li>\n<li>"ଜୁମ୍‌ ଆଡଜଷ୍ଟ କରିବାକୁ 2 କିମ୍ବା ଅଧିକ ଆଙ୍ଗୁଠି ଚିମୁଟା ପରି ବ୍ୟବହାର କରନ୍ତୁ"</li></ul>\n\n<b>"ସାମୟିକ ଭାବେ ଜୁମ୍‌ କରିବାକୁ"</b>", ସ୍କ୍ରିନ୍‌ 3 ଥର ଦ୍ରୁତ ଭାବେ ଟାପ୍‌ କରନ୍ତୁ ଏବଂ 3 ନମ୍ବର ଟାପ୍‌ରେ ଆପଣଙ୍କ ଆଙ୍ଗୁଠିକୁ ତଳକୁ କରି ରଖନ୍ତୁ।\n"<ul><li>"ସ୍କ୍ରିନ୍ ଚାରିପାଖେ ବୁଲିବାକୁ ଡ୍ରାଗ୍‌ କରନ୍ତୁ"</li>\n<li>"ଜୁମ୍‌ ଆଉଟ୍‌ କରିବାକୁ ଆଙ୍ଗୁଠି ବାହାର କରି ଦିଅନ୍ତୁ"</li></ul>\n\n"କୀବୋର୍ଡ କିମ୍ବା ନେଭିଗେସନ୍‌ ବାର୍‌ରେ ଆପଣ ଜୁମ୍‌ ଇନ୍‌ କରିପାରିବେ ନାହିଁ।"</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"ଯେତେବେଳେ ମ୍ୟାଗ୍ନିଫିକେସନ୍ ଚାଲୁ କରାଯାଏ, ସେତେବେଳେ ଆପଣ ଆପଣଙ୍କର ସ୍କ୍ରିନ୍‌ର ଜୁମ୍ ଇନ୍ କରିପାରିବେ।\n\n"<b>"ଜୁମ୍ କରିବା ପାଇଁ"</b>", ମ୍ୟାଗ୍ନିଫିକେସନ୍ ଆରମ୍ଭ କରନ୍ତୁ, ଏହା ପରେ ସ୍କ୍ରିନ୍‌ର ଯେ କୌଣସି ସ୍ଥାନରେ ଟାପ୍ କରନ୍ତୁ।\n"<ul><li>"• ସ୍କ୍ରୋଲ୍ କରିବା ପାଇଁ 2 ବା ଅଧିକ ଆଙ୍ଗୁଠିରେ ଟାଣନ୍ତୁ"</li>\n<li>"• ଜୁମ୍ ଆଡ୍‌ଜଷ୍ଟ କରିବା ପାଇଁ 2 ବା ଅଧିକ ଆଙ୍ଗୁଠିରେ ପିଞ୍ଚ କରନ୍ତୁ"</li></ul>\n\n<b>"ଅସ୍ଥାୟୀ ଭାବେ ଜୁମ୍ କରିବା ପାଇଁ"</b>", ମ୍ୟାଗ୍ନିଫିକେସନ୍ ଆରମ୍ଭ କରନ୍ତୁ, ଏହା ପରେ ସ୍କ୍ରିନ୍‌ର ଯେ କୌଣସି ସ୍ଥାନରେ ଦାବି ଧରନ୍ତୁ \n"<ul><li>"• ସ୍କ୍ରିନ୍‌ର ସବୁ ଆଡେ ଯିବା ପାଇଁ ଟାଣନ୍ତୁ"</li>\n<li>"• ଜୁମ୍ ଆଉଟ୍ କରିବା ପାଇଁ ଆଙ୍ଗୁଠି ଉଠାନ୍ତୁ"</li></ul>\n\n"ଆପଣ କୀବୋର୍ଡ ବା ନାଭିଗେସନ୍ ବାର୍‌ରେ ଜୁମ୍ ଇନ୍ କରିପାରିବେ ନାହିଁ।"</string>
+    <string name="accessibility_screen_magnification_summary" msgid="7617931632990040045">"ବିଷୟବସ୍ତୁକୁ ଆଧିକ ସ୍ପଷ୍ଟ ଭାବେ ଦେଖିବା ପାଇଁ ସ୍କ୍ରିନରେ ଶୀଘ୍ର ଜୁମ୍ ଇନ୍ କରନ୍ତୁ।&lt;br/&gt;&lt;br/&gt;&lt;b&gt;ଜୁମ୍ ଇନ୍ କରିବାକୁ:&lt;/b&gt;&lt;br/&gt;	1. ମ୍ୟାଗ୍ନିଫିକେସନ୍ ଆରମ୍ଭ କରିବାକୁ ସର୍ଟକଟ୍ ବ୍ୟବହାର କରନ୍ତୁ&lt;br/&gt;	2. ସ୍କ୍ରିନରେ ଟାପ୍ କରନ୍ତୁ&lt;br/&gt;	3. ସ୍କ୍ରିନର ଚାରିପାଖକୁ ଯିବାକୁ 2 ଆଙ୍ଗୁଠିକୁ ଟାଣନ୍ତୁ&lt;br/&gt;	4. ଜୁମ୍ ଆଡଜଷ୍ଟ କରିବାକୁ 2 ଆଙ୍ଗୁଠିରେ ପିଞ୍ଚ କରନ୍ତୁ&lt;br/&gt;	5. ମ୍ୟାଗ୍ନିଫିକେସନ୍ ବନ୍ଦ କରିବାକୁ ସର୍ଟକଟ୍ ବ୍ୟବହାର କରନ୍ତୁ&lt;br/&gt;&lt;br/&gt;&lt;b&gt;ଅସ୍ଥାୟୀ ଭାବେ ଜୁମ୍ ଇନ୍ କରିବାକୁ:&lt;/b&gt;&lt;br/&gt;	1. ମ୍ୟାଗ୍ନିଫିକେସନ୍ ଆରମ୍ଭ କରିବାକୁ ସର୍ଟକଟ୍ ବ୍ୟବହାର କରନ୍ତୁ&lt;br/&gt;	2. ସ୍କ୍ରିନରେ ଯେ କୌଣସି ସ୍ଥାନରେ ସ୍ପର୍ଶ କରି ଧରି ରଖନ୍ତୁ&lt;br/&gt;	3. ସ୍କ୍ରିନର ଚାରି ଆଡ଼କୁ ଯିବା ପାଇଁ ଆଙ୍ଗୁଠିକୁ ଟାଣନ୍ତୁ&lt;br/&gt;	4. ମ୍ୟାଗ୍ନିଫିକେସନ୍ ବନ୍ଦ କରିବା ପାଇଁ ଆଙ୍ଗୁଠି ଉଠାନ୍ତୁ"</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"ମ୍ୟାଗ୍ନିଫିକେସନ୍ ଚାଲୁଥିବା ସମୟରେ, ଆପଣଙ୍କ ସ୍କ୍ରିନ୍‌ର ଜୁମ୍ ବଢ଼ାଇ ପାରିବେ।\n\n"<b>"ଜୁମ୍ କରିବାକୁ"</b>", ମ୍ୟାଗ୍ନିଫିକେସନ୍ ଆରମ୍ଭ କରନ୍ତୁ, ତା’ପରେ ସ୍କ୍ରିନ୍‌ର ଯେ କୌଣସି ସ୍ଥାନରେ ଟାପ୍ କରନ୍ତୁ।\n"<ul><li>"ସ୍କ୍ରୋଲ୍ କରିବାକୁ 2 ବା ଅଧିକ ଆଙ୍ଗୁଠିରେ ଟାଣନ୍ତୁ"</li>\n<li>"ଜୁମ୍ ଆଡ୍‌ଜଷ୍ଟ କରିବାକୁ 2 ବା ଅଧିକ ଆଙ୍ଗୁଠିରେ ପିଞ୍ଚ୍ କରନ୍ତୁ"</li></ul>\n\n<b>"ଅସ୍ଥାୟୀ ଭାବେ ଜୁମ୍ କରିବାକୁ"</b>", ମ୍ୟାଗ୍ନିଫିକେସନ୍ ଆରମ୍ଭ କରନ୍ତୁ, ତା’ପରେ ସ୍କ୍ରିନ୍‌ର ଯେ କୌଣସି ସ୍ଥାନରେ ସ୍ପର୍ଶ କରି ଧରି ରଖନ୍ତୁ।\n"<ul><li>"ସ୍କ୍ରିନ୍‌ର ଚାରିପଟରେ ଘୁଞ୍ଚାଇବାକୁ ଟାଣନ୍ତୁ"</li>\n<li>"ଜୁମ୍ କମାଇବାକୁ ଆଙ୍ଗୁଠି ବାହାର କରି ଦିଅନ୍ତୁ"</li></ul>\n\n"ଆପଣ କୀବୋର୍ଡ ବା ନେଭିଗେସନ୍ ବାର୍ ଉପରେ ଜୁମ୍ ବଢ଼ାଇ ପାରିବେ ନାହିଁ।"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"ଖୋଲିବା ପାଇଁ ଆକ୍ସେସିବିଲିଟୀ ବଟନ୍ ବ୍ୟବହାର କରନ୍ତୁ"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"ଖୋଲିବା ପାଇଁ ଜେଶ୍ଚର୍ ବ୍ୟବହାର କରନ୍ତୁ"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"ନୂଆ ଆକ୍ସେସିବିଲିଟୀ ଜେଶ୍ଚର୍ ବ୍ୟବହାର କରନ୍ତୁ"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"ଏହି ସେବା ଚାଲୁ ବା ବନ୍ଦ କରିବା ପାଇଁ ଆପଣଙ୍କ ସ୍କ୍ରିନ୍‍ର ନିମ୍ନରେ ଥିବା ଆକ୍ସେସିବିଲିଟୀ ବଟନ୍ <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>ରେ ଟାପ୍ କରନ୍ତୁ। \n\n ସେବାଗୁଡ଼ିକ ମଧ୍ୟରେ ସ୍ୱିଚ୍ କରିବା ପାଇଁ ଆକ୍ସେସିବିଲିଟୀ ବଟନ୍ ଦାବି ଧରନ୍ତୁ।"</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"ଏହି ସେବାକୁ ଚାଲୁ ବା ବନ୍ଦ କରିବା ପାଇଁ, ସ୍କ୍ରିନ୍‌ର ତଳୁ ଉପରକୁ ଦୁଇଟି ଆଙ୍ଗୁଠିରେ ସ୍ୱାଇପ୍ କରନ୍ତୁ।\n\nସେବାଗୁଡ଼ିକ ମଧ୍ୟରେ ସ୍ୱିଚ୍ କରିବା ପାଇଁ ଦୁଇଟି ଆଙ୍ଗୁଠିରେ ଉପରକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ ଏବଂ ଦାବି ଧରନ୍ତୁ।"</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"ଏହି ସେବାକୁ ଚାଲୁ ବା ବନ୍ଦ କରିବା ପାଇଁ, ସ୍କ୍ରିନ୍‌ର ତଳୁ ଉପରକୁ ତିନିଟି ଆଙ୍ଗୁଠିରେ ସ୍ୱାଇପ୍ କରନ୍ତୁ।\n\nସେବାଗୁଡ଼ିକ ମଧ୍ୟରେ ସ୍ୱିଚ୍ କରିବା ପାଇଁ ତିନିଟି ଆଙ୍ଗୁଠିରେ ଉପରକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ ଏବଂ ଦାବି ଧରନ୍ତୁ।"</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"ଏକ ଆକ୍ସେସିବିଲିଟୀ ସେବା ଚାଲୁ ବା ବନ୍ଦ କରିବା ପାଇଁ, ସ୍କ୍ରିନ୍‌ର ତଳୁ ଉପରକୁ ଦୁଇଟି ଆଙ୍ଗୁଠିରେ ସ୍ୱାଇପ୍ କରନ୍ତୁ।\n\nସେବାଗୁଡ଼ିକ ମଧ୍ୟରେ ସ୍ୱିଚ୍ କରିବା ପାଇଁ ଦୁଇଟି ଆଙ୍ଗୁଠିରେ ଉପରକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ ଏବଂ ଦାବି ଧରନ୍ତୁ।"</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"ଏକ ଆକ୍ସେସିବିଲିଟୀ ସେବା ଚାଲୁ ବା ବନ୍ଦ କରିବା ପାଇଁ, ସ୍କ୍ରିନ୍‌ର ତଳୁ ଉପରକୁ ତିନିଟି ଆଙ୍ଗୁଠିରେ ସ୍ୱାଇପ୍ କରନ୍ତୁ।\n\nସେବାଗୁଡ଼ିକ ମଧ୍ୟରେ ସ୍ୱିଚ୍ କରିବା ପାଇଁ ତିନିଟି ଆଙ୍ଗୁଠିରେ ଉପରକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ ଏବଂ ଦାବି ଧରନ୍ତୁ।"</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"ଏହି ସେବା ଚାଲୁ ବା ବନ୍ଦ କରିବା ପାଇଁ ଆପଣଙ୍କ ସ୍କ୍ରିନ୍‍ର ନିମ୍ନରେ ଥିବା ଆକ୍ସେସିବିଲିଟୀ ବଟନ୍ <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>ରେ ଟାପ୍ କରନ୍ତୁ। \n\n ସେବାଗୁଡ଼ିକ ମଧ୍ୟରେ ସ୍ୱିଚ୍ କରିବା ପାଇଁ ଆକ୍ସେସିବିଲିଟୀ ବଟନ୍ ଦାବି ଧରନ୍ତୁ।"</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"ଏହି ସେବାକୁ ଚାଲୁ ବା ବନ୍ଦ କରିବା ପାଇଁ, ଦୁଇ ଆଙ୍ଗୁଠି ସାହାଯ୍ୟରେ ସ୍କ୍ରିନର ତଳୁ ଉପରକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ।\n\nସେବାଗୁଡ଼ିକ ମଧ୍ୟରେ ସ୍ୱିଚ୍ କରିବାକୁ, ଦୁଇ ଆଙ୍ଗୁଠି ସାହାଯ୍ୟରେ ଉପରକୁ ସ୍ୱାଇପ୍ କରି ଧରି ରଖନ୍ତୁ।"</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"ଏହି ସେବାକୁ ଚାଲୁ ବା ବନ୍ଦ କରିବା ପାଇଁ, ତିନି ଆଙ୍ଗୁଠି ସାହାଯ୍ୟରେ ସ୍କ୍ରିନର ତଳୁ ଉପରକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ।\n\nସେବାଗୁଡ଼ିକ ମଧ୍ୟରେ ସ୍ୱିଚ୍ କରିବାକୁ, ତିନି ଆଙ୍ଗୁଠି ସାହାଯ୍ୟରେ ଉପରକୁ ସ୍ୱାଇପ୍ କରି ଧରି ରଖନ୍ତୁ।"</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"ଏକ ଆକ୍ସେସିବିଲିଟୀ ସେବା ଚାଲୁ ବା ବନ୍ଦ କରିବା ପାଇଁ, ଦୁଇ ଆଙ୍ଗୁଠି ସାହାଯ୍ୟରେ ସ୍କ୍ରିନର ତଳୁ ଉପରକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ।\n\nସେବାଗୁଡ଼ିକ ମଧ୍ୟରେ ସ୍ୱିଚ୍ କରିବାକୁ, ଦୁଇ ଆଙ୍ଗୁଠି ସାହାଯ୍ୟରେ ଉପରକୁ ସ୍ୱାଇପ୍ କରି ଧରି ରଖନ୍ତୁ।"</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"ଏକ ଆକ୍ସେସିବିଲିଟୀ ସେବା ଚାଲୁ ବା ବନ୍ଦ କରିବା ପାଇଁ, ତିନି ଆଙ୍ଗୁଠି ସାହାଯ୍ୟରେ ସ୍କ୍ରିନର ତଳୁ ଉପରକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ।\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="2820923641553461297">"ଆକ୍ସେସିବିଲିଟୀ ବଟନ୍"</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="8922102767509399352">"ଆପଣଙ୍କ ସ୍କ୍ରିନର ନିମ୍ନରେ ଥିବା ଆକ୍ସେସିବିଲିଟୀ ବଟନ୍ <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>ରେ ଟାପ୍ କରନ୍ତୁ"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"2 ଆଙ୍ଗୁଠି ସାହାଯ୍ୟ ସ୍କ୍ରିନର ତଳୁ ଉପରକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"3 ଆଙ୍ଗୁଠି ସାହାଯ୍ୟ ସ୍କ୍ରିନର ତଳୁ ଉପରକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"ଭଲ୍ୟୁମ୍ କୀ\'କୁ ଧରି ରଖନ୍ତୁ"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"1 ସେକେଣ୍ଡ ପାଇଁ ଉଭୟ ଭଲ୍ୟୁମ୍ କୀକୁ ଦବେଇ ଧରନ୍ତୁ"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"ଟ୍ରିପଲ୍ ଟାପ୍ ସ୍କ୍ରିନ୍"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"ଶୀଘ୍ର ସ୍କ୍ରିନରେ 3ଥର ଟାପ୍ କରନ୍ତୁ। ଏହି ସର୍ଟକଟ୍ ଆପଣଙ୍କ ଡିଭାଇସକୁ ଧୀର କରିପାରେ।"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"ଉନ୍ନତ"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"<xliff:g id="SERVICE">%1$s</xliff:g>କୁ ଆକ୍‌ସେସିବିଲିଟୀ ବଟନ୍‌ ସେଟ୍‌ କରାଯାଇଛି। ମାଗ୍ନିଫିକେଶନ୍‌କୁ ବ୍ୟବହାର କରିବା ପାଇଁ ଆକ୍ସେସିବିଲିଟୀ ବଟନ୍‌କୁ ଦାବି ଧରନ୍ତୁ, ତା’ପରେ ମାଗ୍ନିଫିକେଶନ୍‌କୁ ଚୟନ କରନ୍ତୁ।"</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"ଆକ୍ସେସିବିଲିଟୀ ଜେଶ୍ଚର୍ <xliff:g id="SERVICE">%1$s</xliff:g>ରେ ସେଟ୍ କରାଯାଇଛି। ମ୍ୟାଗ୍ନିଫିକେସନ୍ ବ୍ୟବହାର କରିବା ପାଇଁ, ଦୁଇଟି ଆଙ୍ଗୁଠିରେ ସ୍କ୍ରିନ୍‌ର ତଳୁ ଉପର ଆଡ଼କୁ ସ୍ୱାଇପ୍ କରି ଧରି ରଖନ୍ତୁ। ତା’ପରେ ମ୍ୟାଗ୍ନିଫିକେସନ୍ ଚୟନ କରନ୍ତୁ।"</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"ଭଲ୍ୟୁମ୍ କୀ’ ସର୍ଟକଟ୍"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"ଶର୍ଟକଟ୍‌ ସେବା"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"ସର୍ଟକଟ୍ ସେଟିଂସ୍"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"ଲକ୍‌ ସ୍କ୍ରିନ୍‌ରୁ ଅନୁମତି ଦିଅନ୍ତୁ"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"When the shortcut is on, you can press both volume keys for 3 seconds to start an accessibility feature. ଶର୍ଟକଟ୍ ଅନ୍‌ ଥିବାବେଳେ, ଦିବ୍ୟାଙ୍ଗମାନଙ୍କ ପାଇଁ ଏକ ସୁବିଧା ଆରମ୍ଭ କରିବାକୁ ଉଭୟ ଭଲ୍ୟୁମ୍ କୀ’କୁ 3 ସେକେଣ୍ଡ ପାଇଁ ଦବାଇ ଧରି ରଖନ୍ତୁ"</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"ଉଚ୍ଚ କଣ୍ଟ୍ରାଷ୍ଟଯୁକ୍ତ ଟେକ୍ସଟ୍‌"</string>
@@ -2149,24 +2157,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"ଯେଉଁ ମେସେଜ୍‍ ଆପଣଙ୍କୁ ପଦକ୍ଷେପ ନେବା ପାଇଁ କହେ, କିନ୍ତୁ ଅସ୍ଥାୟୀ ରୂପେ ଦେଖାଯାଏ, ତାହା କେତେ ସମୟ ଦେଖାଯିବ, ତାହା ବାଛନ୍ତୁ।\n\nସମସ୍ତ ଆପ୍‍ ଏହି ସେଟିଂସ୍‍କୁ ସମର୍ଥନ କରେନାହିଁ।"</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"ସ୍ପର୍ଶକରି ଦବାଇ ରଖିବାରେ ବିଳମ୍ୱ"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"ରଙ୍ଗ ଇନଭାର୍ସନ୍"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"କାର୍ଯ୍ୟକ୍ଷମତା ଉପରେ ପ୍ରଭାବ ପକାଇପାରେ"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"ରହିଯିବା ସମୟ"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"ରଙ୍ଗ ବଦଳାଇବା ସୁବିଧା ବ୍ୟବହାର କରନ୍ତୁ"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"ରଙ୍ଗ ବଦଳାଇବା ସୁବିଧା ଫିକା ସ୍କ୍ରିନକୁ ଗାଢ଼ କରଥାଏ। ଯେଉଁ ଲୋକମାନେ ଉଜ୍ଵଳ ଆଲୋକ ପ୍ରତି ସମ୍ଵେଦନଶୀଳ ଅଟନ୍ତି ଏହା ସେମାନଙ୍କୁ ସ୍କ୍ରିନକୁ ସହଜରେ ଦେଖିବାରେ ସାହାଯ୍ୟ କରିଥାଏ।&lt;br/&gt;&lt;br/&gt;ଧ୍ୟାନ ଦିଅନ୍ତୁ: ଗାଢ଼ ରଙ୍ଗଗୁଡ଼ିକ ହାଲୁକା ରଙ୍ଗ ହୋଇଯିବ। ମିଡିଆ ଏବଂ ଛବିଗୁଡ଼ିକରେ ରଙ୍ଗ ବଦଳିବ। ଆପଣ ଗାଢ଼ ଥିମ୍ ମଧ୍ୟ ବ୍ୟବହାର କରିପାରିବେ (ସେଟିଂସ୍ &gt; ଡିସପ୍ଲେ)।"</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"ସ୍ୱତଃ କ୍ଲିକ୍ (ଡ୍ୱେଲ୍ ଟାଇମିଂ)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"ଯଦି ଆପଣ ଗୋଟିଏ ମାଉସ୍ ବ୍ୟବହାର କରୁଥା’ନ୍ତି ତେବେ କର୍ସର୍ କିଛି ସମୟ ସ୍ଥିର ହୋ‌ଇରହିଯିବା ହେତୁ ଏହା ସ୍ଵଚାଳିତ ଭାବେ ପଦକ୍ଷେପ ନେବାକୁ ଆପଣ ସେଟ୍ କରିପାରିବେ।"</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"କ୍ଲିକ୍‌ ପୂର୍ବରୁ ବିଳମ୍ୱ"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"ସ୍ୱତଃ କ୍ଲିକ୍ ବ୍ୟବହାର କରନ୍ତୁ ନାହିଁ (ଡିଫଲ୍ଟ)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"ଛୋଟ"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0.2 ସେକେଣ୍ଡ"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"ମଧ୍ୟମ"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0.6 ସେକେଣ୍ଡ"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"ଲମ୍ଵା"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 ସେକେଣ୍ଡ"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"କଷ୍ଟମ୍"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"କମ୍"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"ଅଧିକ"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"ସ୍ୱତଃ କ୍ଲିକ୍ ସମୟ"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"ଭାଇବ୍ରେସନ୍ ଏବଂ ହାପ୍ଟିକ୍ ମାତ୍ରା"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"ବିଜ୍ଞପ୍ତି ଭାଇବ୍ରେସନ୍"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"ରିଙ୍ଗ ଭାଇବ୍ରେସନ୍"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"ସ୍ପର୍ଶ ମତାମତ"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"ସେବା ବ୍ୟବହାର କରନ୍ତୁ"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g> ବ୍ୟବହାର କରନ୍ତୁ"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g> ଖୋଲନ୍ତୁ"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"ରଙ୍ଗ ସଂଶୋଧନକୁ ବ୍ୟବହାର କରନ୍ତୁ"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"କ୍ୟାପସନ୍ ବ୍ୟବହାର କରନ୍ତୁ"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"କ୍ୟାପ୍ସନ୍ ଦେଖାନ୍ତୁ"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"କ୍ୟାପ୍ସନ୍ ଏପିଏରେନ୍ସ"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"ଟେକ୍ସଟ୍ ଆକାର, କ୍ୟାପ୍ସନ୍ ଶୈଳୀ"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"ଅଧିକ ବିକଳ୍ପ"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"ଏହି ସେଟିଂସ୍ ସମସ୍ତ ଆପ୍ସରେ ସମର୍ଥିତ ନୁହେଁ।"</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"ଆକ୍ସେସିବିଲିଟୀ ବଟନ୍"</string>
+    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"ତଳୁ 2-ଆଙ୍ଗୁଠି ସାହାଯ୍ୟରେ ଉପରକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ"</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>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"ଶ୍ରବଣ ଯନ୍ତ୍ର"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"କୌଣସି ଶ୍ରବଣ ଯନ୍ତ୍ର ସଂଯୋଗ ହୋଇନାହିଁ"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"ଶ୍ରବଣ ଯନ୍ତ୍ର ଯୋଗ କରନ୍ତୁ"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"ନିଜର ଶ୍ରବଣ ଯନ୍ତ୍ର ପେୟାର୍ କରିବା ପାଇଁ ପରବର୍ତ୍ତୀ ସ୍କ୍ରୀନ୍‌ରେ ଆପଣଙ୍କ ଡିଭାଇସ୍‌କୁ ଖୋଜି ତାହା ଉପରେ ଟାପ୍ କରନ୍ତୁ।"</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"ଆପଣଙ୍କର ଶ୍ରବଣ ଯନ୍ତ୍ର ପେୟାରିଙ୍ଗ ମୋଡ୍‌ରେ ଥିବାର ସୁନିଶ୍ଚିତ କରନ୍ତୁ।"</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"ଆପଣଙ୍କର ଶ୍ରବଣ ଯନ୍ତ୍ର ପେୟାର୍ କରିବା ପାଇଁ ପରବର୍ତ୍ତୀ ସ୍କ୍ରିନ୍‌ରେ ଆପଣଙ୍କର ଡିଭାଇସ୍‌କୁ ଖୋଜି ତାହା ଉପରେ ଟାପ୍ କରନ୍ତୁ। ଆପଣଙ୍କର ଶ୍ରବଣ ଯନ୍ତ୍ର ପେଆରିଂ ମୋଡ୍‌ରେ ଥିବାର ସୁନିଶ୍ଚିତ କରନ୍ତୁ।"</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ସକ୍ରିୟ ଅଛି"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g>ଟି ସେଭ୍ ହୋଇଥିବା ଶ୍ରବଣ ଯନ୍ତ୍ର</item>
@@ -2178,25 +2204,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"ଏହି ସେବା ଠିକ୍‌ରୂପେ କାମ କରୁ ନାହିଁ।"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"ଦ୍ରୁତ ସେଟିଙ୍ଗରେ ଦେଖାନ୍ତୁ"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"ସଂଶୋଧନ ମୋଡ୍"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="other">ବହୁତ କମ ବିଳମ୍ୱ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ମି.ସେ.)</item>
-      <item quantity="one">ବହୁତ କମ ବିଳମ୍ୱ (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ମି.ସେ.)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"ଲାଲ୍-ସବୁଜ"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"ସବୁଜ-ଲାଲ୍"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"ନୀଳ-ହଳଦିଆ"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"ଡ୍ୟୁଟେରାନୋମାଲି"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"ପ୍ରୋଟାନୋମାଲି"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"ଟ୍ରିଟାନୋମାଲି"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="other">ବହୁତ କମ୍ ବିଳମ୍ବ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ସେକେଣ୍ଡ)</item>
+      <item quantity="one">ବହୁତ କମ୍ ବିଳମ୍ବ (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> ସେକେଣ୍ଡ)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="other">ବହୁତ କମ୍‌ ବିଳମ୍ବ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ମି.ସେ.)</item>
-      <item quantity="one">ବହୁତ କମ୍‌ ବିଳମ୍ବ (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ମି.ସେ.)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="other">ବହୁତ କମ୍ ବିଳମ୍ବ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ସେକଣ୍ଡ)</item>
+      <item quantity="one">ବହୁତ କମ୍ ବିଳମ୍ବ (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> ସେକେଣ୍ଡ)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="other">ଅଳ୍ପ ବିଳମ୍ୱ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ମି.ସେ.)</item>
-      <item quantity="one">ଅଳ୍ପ ବିଳମ୍ୱ (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ମି.ସେ.)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="other">କମ୍ ବିଳମ୍ବ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ସେକେଣ୍ଡ)</item>
+      <item quantity="one">କମ୍ ବିଳମ୍ବ (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> ସେକେଣ୍ଡ)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="other">ଲମ୍ବା ବିଳମ୍ବ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ମିସେ)</item>
-      <item quantity="one">ଲମ୍ବା ବିଳମ୍ବ (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ମିସେ)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="other">ଅଧିକ ବିଳମ୍ବ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ସେକେଣ୍ଡ)</item>
+      <item quantity="one">ଅଧିକ ବିଳମ୍ବ (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> ସେକେଣ୍ଡ)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="other">ବହୁତ ଲମ୍ବା ବିଳମ୍ବ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ମିସେ)</item>
-      <item quantity="one">ବହୁତ ଲମ୍ବା ବିଳମ୍ବ (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ମିସେ)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="other">ବହୁତ ଅଧିକ ବିଳମ୍ବ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ସେକେଣ୍ଡ)</item>
+      <item quantity="one">ବହୁତ ଅଧିକ ବିଳମ୍ବ (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> ସେକେଣ୍ଡ)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ସେକେଣ୍ଡ</item>
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> ସେକେଣ୍ଡ</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"ରିଙ୍ଗ କରନ୍ତୁ <xliff:g id="SUMMARY_RING">%1$s</xliff:g>, ବିଜ୍ଞପ୍ତି <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>, ସ୍ପର୍ଶ କରନ୍ତୁ <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"ରିଙ୍ଗ ଓ ବିଜ୍ଞପ୍ତିକୁ ଅଫ୍ କରାଯାଇଛି"</string>
@@ -2513,7 +2549,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"<xliff:g id="UNPLUGGED">%1$s</xliff:g> ପାଇଁ ଶେଷଥର ପ୍ଲଗ୍‌ କଢାଯାଇଥିବାବେଳେ"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"ସମୁଦାୟ ବ୍ୟବହାର"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"ସତେଜ"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"Android OS"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"ମିଡିଆ ସର୍ଭର୍‍"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"ଆପ୍‌ ଅନୁକୁଳତା"</string>
     <string name="battery_saver" msgid="7737147344510595864">"ବ୍ୟାଟେରୀ ସେଭର୍"</string>
@@ -2594,8 +2629,7 @@
     <string name="tts_play" msgid="2945513377250757221">"ଚଲାନ୍ତୁ"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"କ୍ରେଡେନ୍ସିଆଲ୍ ଷ୍ଟୋରେଜ୍"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"ଷ୍ଟୋରେଜ୍‌ରୁ ଇନଷ୍ଟଲ୍‌ କରନ୍ତୁ"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"SD କାର୍ଡରୁ ଇନଷ୍ଟଲ୍‌ କରନ୍ତୁ"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"ଏକ ସାର୍ଟିଫିକେଟ୍ ଇନଷ୍ଟଲ୍ କରନ୍ତୁ"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"ଷ୍ଟୋରେଜ୍‌ରୁ ସର୍ଟିଫିକେଟ୍‌ ଇନଷ୍ଟଲ୍ କରନ୍ତୁ"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"SD କାର୍ଡରୁ ସର୍ଟିଫିକେଟ୍‌ ଇନଷ୍ଟଲ୍ କରନ୍ତୁ"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"କ୍ରେଡେନସିଆଲ୍ ଖାଲି କରିଦିଅନ୍ତୁ"</string>
@@ -2615,6 +2649,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"ତଥ୍ୟ ଷ୍ଟୋରେଜ୍‌କୁ ଲିଭାଇଦିଆଗଲା।"</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"କ୍ରେଡେନଶିଆଲ୍‌ ଷ୍ଟୋରେଜ୍‌ ଲିଭାଯାଇ ପାରିବ ନାହିଁ।"</string>
     <string name="usage_access_title" msgid="1580006124578134850">"ବ୍ୟବହାର ଆକ୍ସେସ୍ ସହ ଆପ୍‌ଗୁଡ଼ିକ"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"CA ସାର୍ଟିଫିକେଟ୍"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"VPN ଓ ଆପ୍ ୟୁଜର୍ ସାର୍ଟିଫିକେଟ୍"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"Wi‑Fi ସାର୍ଟିଫିକେଟ୍"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"ଆପଣଙ୍କର ଗୋପନୀୟତା ବିପଦରେ ଅଛି"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"ଏନ୍‌କ୍ରିପ୍‌ସନ୍ ପାଇଁ ୱେବ୍‌ସାଇଟ୍, ଆପ୍ ଏବଂ VPNଗୁଡ଼ିକ ଦ୍ୱାରା CA ସାର୍ଟିଫିକେଟ୍‌ଗୁଡ଼ିକ ବ୍ୟବହାର କରାଯାଏ। ଆପଣ ବିଶ୍ୱାସ କରୁଥିବା ସଂସ୍ଥାଗୁଡ଼ିକରୁ କେବଳ CA ସାର୍ଟିଫିକେଟ୍‌ଗୁଡ଼ିକ ଇନ୍‌ଷ୍ଟଲ୍ କରନ୍ତୁ। \n\n ଯଦି ଆପଣ ଏକ CA ସାର୍ଟିଫିକେଟ୍ ଇନ୍‌ଷ୍ଟଲ୍ କରନ୍ତି, ତେବେ ଆପଣ ଭିଜିଟ୍ କରୁଥିବା ୱେବ୍‌ସାଇଟ୍ କିମ୍ବା ବ୍ୟବହାର କରୁଥିବା ଆପ୍‌ଗୁଡ଼ିକରୁ ଆପଣଙ୍କର ପାସ୍‌ୱାର୍ଡ, ମେସେଜ୍ କିମ୍ବା କ୍ରେଡିଟ୍ କାର୍ଡ ବିବରଣୀଗୁଡ଼ିକ ପରି ସୂଚନା ଏନ୍‌କ୍ରିପ୍ଟ କରାଯାଇଥିଲେ ବି ସାର୍ଟିଫିକେଟ୍ ମାଲିକ ସେଗୁଡ଼ିକୁ ଆକ୍ସେସ୍ କରିପାରିବେ।"</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"ଇନ୍‌ଷ୍ଟଲ୍ କରନ୍ତୁ ନାହିଁ"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"ଯେ କୌଣସି ପ୍ରକାରେ ଇନ୍‌ଷ୍ଟଲ୍ କରନ୍ତୁ"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"ସାର୍ଟିଫିକେଟ୍ ଇନ୍‌ଷ୍ଟଲ୍ କରାଯାଇ ନାହିଁ"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"ଆପାତକାଳୀନ ଡାଏଲିଙ୍ଗ ସିଗ୍ନାଲ୍"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"ଏକ ଜରୁରୀକାଳୀନ କଲ୍ କରୁଥିବାବେଳେ ଗତିବିଧି ସେଟ୍‌ କରନ୍ତୁ"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"ବ୍ୟାକଅପ୍‌"</string>
@@ -2642,10 +2684,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"ନିଷ୍କ୍ରିୟ କରନ୍ତୁ ଏବଂ ଅଣସଂସ୍ଥାପନ କରନ୍ତୁ"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"ଡିଭାଇସ୍‌ ଆଡ୍‌ମିନ୍‌ ଆପ୍‌"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"କୌଣସି ଡିଭାଇସ୍‌ ଆଡମିନ୍‌ ଆପ୍‌ ଉପଲବ୍ଧ ନାହିଁ"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"ବ୍ୟକ୍ତିଗତ"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"କାର୍ଯ୍ୟ"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"SMS ଏବଂ କଲ୍‍ ଲଗ୍‍ ଆକ୍ସେସ୍‍ ପ୍ରତିବନ୍ଧିତ କରନ୍ତୁ"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"କେବଳ ଡିଫଲ୍ଟ ଫୋନ୍‍ ଏବଂ ମେସେଜିଂ ଆପ୍ସରେ SMS ଏବଂ କଲ୍‍ ଲଗ୍‍ ଅନୁମତିଗୁଡ଼ିକ ରହିଛି"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"କୌଣସି ବିଶ୍ୱସ୍ତ ଏଜେଣ୍ଟ ଉପଲବ୍ଧ ନାହିଁ"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"ଡିଭାଇସ୍‌ ଆଡମିନ୍‌ ଆପ୍‌ ସକ୍ରିୟ କରିବେ?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"ଏହି ଡିଭାଇସ୍ ଆଡ୍‌ମିନ୍‌ ଆପ୍‌ ସକ୍ରିୟ କରନ୍ତୁ"</string>
@@ -2659,6 +2697,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"ଆଡମିନ ଅକ୍ଷମ କରିଥିବା ଅନ୍ୟାନ୍ୟ ବିକଳ୍ପମାନ"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"ଅଧିକ ବିବରଣୀ"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"ବିଜ୍ଞପ୍ତି ଲଗ୍‌"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"ବିଜ୍ଞପ୍ତି ଇତିହାସ"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"ଆଜି"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"ସ୍ନୁଜ୍ କରାଯାଇଛି"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"ବର୍ତ୍ତମାନ ଖାରଜ କରାଯାଇଛି"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g>ଟି ବିଜ୍ଞପ୍ତି</item>
+      <item quantity="one"><xliff:g id="NUMBER_0">%d</xliff:g>ଟି ବିଜ୍ଞପ୍ତି</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"କଲ୍‌ ରିଙ୍ଗଟୋନ୍‌ ଓ କମ୍ପନ"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"ନେଟ୍‌ୱର୍କ ବିବରଣୀ"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"ସିଙ୍କ ସକ୍ରିୟ ହୋଇଛି"</string>
@@ -3008,7 +3054,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"ପ୍ରତିବନ୍ଧକଗୁଡିକ"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"ପ୍ରତିବନ୍ଧକ ଅପସାରଣ କରନ୍ତୁ"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"PIN ବଦଳାନ୍ତୁ"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକୁ ଦେଖନ୍ତୁ"</string>
     <string name="help_label" msgid="2896538416436125883">"ସହାୟତା ଓ ମତାମତ"</string>
     <string name="support_summary" msgid="1034146931237148885">"ସହାୟତା ନିବନ୍ଧ, ଫୋନ୍‌ ଓ ଚାଟ୍‌, ଆରମ୍ଭ କରିବା"</string>
     <string name="user_account_title" msgid="6389636876210834864">"କଣ୍ଟେଣ୍ଟ ପାଇଁ ଆକାଉଣ୍ଟ"</string>
@@ -3033,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G କଲିଂ"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"ଭଏସ୍ ଓ ଅନ୍ୟ ଯୋଗାଯୋଗକୁ ଉନ୍ନତ କରିବା ପାଇଁ LTE ସେବା ବ୍ୟବହାର କରନ୍ତୁ (ସୁପାରିଶ୍ କରାଯାଇଛି)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"ଭଏସ୍ ଓ ଅନ୍ୟ ଯୋଗାଯୋଗ (ସୁପାରିଶ କରିଯାଇଥିବା)କୁ ଉନ୍ନତ କରିବା ପାଇଁ 4G ସେବା ବ୍ୟବହାର କରନ୍ତୁ"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"କଣ୍ଟାକ୍ଟ ଡିସ୍କଭରୀ"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"ଆପଣଙ୍କ ଯୋଗାଯୋଗ କେଉଁ କଲିଂ ଫିଚର୍ ସମର୍ଥନ କରେ, ତାହା ଡିସ୍କଭର୍ କରିବାକୁ ମୋବାଇଲ୍ କମ୍ପାନୀକୁ ଅନୁମତି ଦିଅନ୍ତୁ।"</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"କଣ୍ଟାକ୍ଟ ଡିସ୍କଭର୍ ସକ୍ଷମ କରିବେ?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"ଏହି ଫିଚରକୁ ସକ୍ଷମ କରିବା ଦ୍ୱାରା, ଆପଣଙ୍କ ଯୋଗାଯୋଗରେ ଥିବା ଫୋନ୍ ନମ୍ବର କେଉଁ କଲିଂ ଫିଚର୍ ସମର୍ଥନ କରେ, ତାହା ଡିସ୍କଭର କରିବାକୁ ଆପଣଙ୍କ ମୋବାଇଲ୍ କମ୍ପାନୀ ସେମାନଙ୍କୁ ଆକ୍ସେସ୍ କରିବ।"</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"ନିଜ ପସନ୍ଦର ନେଟ୍‌ୱର୍କ ପ୍ରକାର"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (ପ୍ରସ୍ତାବିତ)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS ମେସେଜ୍‌ଗୁଡ଼ିକ"</string>
@@ -3077,7 +3126,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"ଏହାଙ୍କ ସହ କଲ୍‌"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"ଏକ SIM କାର୍ଡ ବାଛି ନିଅନ୍ତୁ"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"SIM <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"SIM ଖାଲି ଅଛି"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"SIM ନାମ"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"SIM ନାମ ପ୍ରବେଶ କରନ୍ତୁ"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"SIM ସ୍ଲଟ୍‌ %1$d"</string>
@@ -3087,6 +3135,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"ସିମ୍‌ କାର୍ଡ ଚୟନ କରନ୍ତୁ"</string>
     <string name="color_orange" msgid="216547825489739010">"କମଳା"</string>
     <string name="color_purple" msgid="6603701972079904843">"ବାଇଗଣୀ"</string>
+    <string name="color_pink" msgid="8596872110888626708">"ଗୋଲାପୀ"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"କୌଣସି ସିମ କାର୍ଡ ଭର୍ତ୍ତି କରାଯାଇ ନାହିଁ"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"SIM ଷ୍ଟାଟସ୍"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"SIMର ସ୍ଥିତି (SIM ସ୍ଲଟ୍‌ %1$d)"</string>
@@ -3100,7 +3149,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"ସିମ୍‌ କାର୍ଡଗୁଡିକ ବଦଳାଗଲା।"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"ସେଟଅପ୍‌ କରିବାକୁ ଟାପ୍‌ କରନ୍ତୁ"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"ଏହା ପାଇଁ ମନପସନ୍ଦର SIM"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"ପ୍ରତ୍ୟେକ ଥର ପଚାର"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"ମନୋନୟନ ଆବଶ୍ୟକୀୟ"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"SIM ଚୟନ"</string>
@@ -3118,6 +3166,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"ବ୍ଲୁଟୂଥ୍‍‌, ଡ୍ରାଇଭିଙ୍ଗ ମୋଡ୍"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"ବ୍ଲୁଟୂଥ୍‍‌,NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"ବ୍ଲୁଟୂଥ୍‍‌"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"NFC ବନ୍ଦ ଥିବାରୁ ଅନୁପଲବ୍ଧ ଅଛି"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"ଆପ୍‌ ଓ ବିଜ୍ଞପ୍ତି"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"ସମ୍ପ୍ରତି ଆପ୍ସ, ଡିଫଲ୍ଟ ଆପ୍ସ"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"ୱାର୍କ ପ୍ରୋଫାଇଲ୍‍ରେ ଆପ୍‍ସ ପାଇଁ ବିଜ୍ଞପ୍ତି ଆକ୍ସେସ ଉପଲବ୍ଧ ନାହିଁ."</string>
@@ -3128,13 +3177,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"ସେଟିଙ୍ଗ"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"ୱାଇଫାଇ, ୱାଇ-ଫାଇ, ନେଟ୍‌ୱର୍କ କନେକ୍ସନ୍, ଇଣ୍ଟରନେଟ୍, ୱାୟରଲେସ୍, ଡାଟା, ୱାଇ ଫାଇ"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"ୱାଇ-ଫାଇ ବିଜ୍ଞପ୍ତି, ୱାଇଫାଇ ବିଜ୍ଞପ୍ତି"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"ଡାଟା ବ୍ୟବହାର"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"ଭାଇବ୍ରେଶନ୍‌କୁ ବନ୍ଦ କରନ୍ତୁ, ଟାପ୍, କୀବୋର୍ଡ"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"24-ଘଣ୍ଟିଆ ଫର୍ମାଟ ବ୍ୟବହାର କରନ୍ତୁ"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"ଡାଉନଲୋଡ୍‌"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"ଏଥିରେ ଖୋଲନ୍ତୁ"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"ଆପ୍ଲିକେସନ୍‌ଗୁଡ଼ିକ"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"ଟାଇମ୍‌ଜୋନ୍"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"ଚାଟ୍ ହେଡ୍"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"ଚାଟ୍ ହେଡ୍, ସିଷ୍ଟମ୍, ଆଲର୍ଟ, ୱିଣ୍ଡୋ, ଡାୟଲଗ୍, ଡିସ୍‌ପ୍ଲେ, ତାହା ସହ ଅନ୍ୟ ଆପ୍ସ, ଅଙ୍କନ"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"ଫ୍ଲାସ୍‍ଲାଇଟ୍, ଲାଇଟ୍, ଟର୍ଚ୍ଚ"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"ୱାଇଫାଇ, ୱାଇ-ଫାଇ, ଟୋଗଲ୍, ନିୟନ୍ତ୍ରଣ"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"ସେଲ୍ୟୁଲାର୍‌, ମୋବାଇଲ୍‌, ସେଲ୍‌ କ୍ୟାରିଅର୍‌, ୱେୟାରଲେସ୍‌, ଡାଟା, 4g,3g, 2g, lte"</string>
@@ -3158,7 +3208,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"ବିରକ୍ତ କରନ୍ତୁ ନାହିଁ, ଅବରୋଧ, ବାଧା, ବିରତି"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"ଆଖପାଖ, ଲୋକେସନ୍‌, ଇତିବୃତ୍ତି, ରିପୋଟିଂ, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"ଆକାଉଣ୍ଟ"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"ଆକାଉଣ୍ଟ, ଏକ ଆକାଉଣ୍ଟ ଯୋଗ କରନ୍ତୁ, ୱାର୍କ ପ୍ରୋଫାଇଲ୍, ଆକାଉଣ୍ଟ ଯୋଗ କରନ୍ତୁ"</string>
     <string name="keywords_users" msgid="3497517660077620843">"ପ୍ରତିବନ୍ଧ, ବାଧା, ପ୍ରତିବନ୍ଧିତ"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"ଟେକ୍ସଟ୍‌ ସଂଶୋଧନ, ଠିକ, ଧ୍ୱନୀ, କମ୍ପନ, ସ୍ୱତଃ, ଭାଷା, ଜେଶ୍ଚର୍, ପରାମର୍ଶ ଦେବା, ପରାମର୍ଶ, ଥିମ୍‌, ଅପବାଦଜନକ, ଶବ୍ଦ, ପ୍ରକାର, ଇମୋଜି, ଆନ୍ତର୍ଜାତୀୟ"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"ରିସେଟ୍‌, ଆଗ୍ରହ, ପୂର୍ବ-ନିର୍ଦ୍ଧାରିତ"</string>
@@ -3196,6 +3246,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"ମେମୋରୀ, କେଚ୍, ଡାଟା, ଡିଲିଟ୍ କରନ୍ତୁ, ଖାଲି କରନ୍ତୁ, ଖାଲି, ସ୍ପେସ୍"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"କନେକ୍ଟ ହୋଇଥିବା, ଡିଭାଇସ୍, ହେଡଫୋନ୍, ହେଡସେଟ୍, ସ୍ପିକର୍, ୱାୟରଲେସ୍, ପେୟାର୍, ଇୟର୍‌ବଡ୍ସ, ମ୍ୟୁଜିକ୍, ମିଡିଆ"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"ବ୍ୟାକ୍‌ଗ୍ରାଉଣ୍ଡ, ସ୍କ୍ରୀନ୍, ଲକ୍ ସ୍କ୍ରୀନ୍, ଥିମ୍"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"ଆଇକନ୍ ଆକୃତି, ଆସେଣ୍ଟ ରଙ୍ଗ, ଫଣ୍ଟ"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"ଡିଫଲ୍ଟ, ସହାୟକ"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"ପେମେଣ୍ଟ, ଡିଫଲ୍ଟ"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"ଆଗତ ବିଜ୍ଞପ୍ତି"</string>
@@ -3205,18 +3256,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"ହାପ୍ଟିକ୍ସ, ଭାଇବ୍ରେଟ୍, ସମ୍ୱେଦନଶୀଳତା"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"ବ୍ୟାଟେରୀ ସେଭର୍, ଷ୍ଟିକି, ପର୍ସିଷ୍ଟ, ପାୱର୍ ସେଭର୍, ବ୍ୟାଟେରୀ"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"ରୁଟିନ୍, ସମୟ ସୂଚୀ, ବ୍ୟାଟେରୀ ସେଭର୍, ପାୱର୍ ସେଭର୍, ବ୍ୟାଟେରୀ, ସ୍ୱତଃ, ଶତକଡ଼ା"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"ୱାର୍କ ପ୍ରୋଫାଇଲ୍"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"volte, ଉନ୍ନତ କଲିଂ, 4g କଲିଂ"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"ଭାଷା ଯୋଗ କରନ୍ତୁ, ଏକ ଭାଷା ଯୋଗ କରନ୍ତୁ"</string>
     <string name="default_sound" msgid="6604374495015245195">"ପୂର୍ବ-ନିର୍ଦ୍ଧାରିତ ଶବ୍ଦ"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"ରିଙ୍ଗ ଭଲ୍ୟୁମ <xliff:g id="PERCENTAGE">%1$s</xliff:g> ରେ ଅଛି"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"ରିଙ୍ଗ ଏବଂ ବିଜ୍ଞପ୍ତି ଭଲ୍ୟୁମ୍ <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"ଭଲ୍ୟୁମ୍, ଭାଇବ୍ରେସନ୍, ବିରକ୍ତ କରନ୍ତୁ ନାହିଁ"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"ରିଙ୍ଗର୍‌କୁ ବଦଳାଯାଇ କମ୍ପନ କରାଯାଇଛି"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"ରିଙ୍ଗର୍‌, ସାଇଲେଣ୍ଟକୁ ସେଟ୍‌ କରାଯାଇଛି"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"ରିଙ୍ଗ ଭଲ୍ୟୁମ 80% ରେ ଅଛି"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"ରିଙ୍ଗ ଏବଂ ବିଜ୍ଞପ୍ତି ଭଲ୍ୟୁମ୍ 80%"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"ମିଡିଆ ଭଲ୍ୟୁମ୍‌"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"କାଷ୍ଟ ଭଲ୍ୟୁମ୍‌"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"କଲ୍‍ ଭଲ୍ୟୁମ୍‍"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"ଆଲାର୍ମର ଭଲ୍ୟୁମ୍‌"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"ରିଙ୍ଗ ଭଲ୍ୟୁମ୍‌"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"ରିଙ୍ଗ ଏବଂ ବିଜ୍ଞପ୍ତି ଭଲ୍ୟୁମ୍"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"ସୂଚନା ଭଲ୍ୟୁମ"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"ଫୋନ୍‌ ରିଙ୍ଗଟୋନ୍‌"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"ଡିଫଲ୍ଟ୍ ବିଜ୍ଞପ୍ତି ଶବ୍ଦ"</string>
@@ -3224,6 +3276,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"ଡିଫଲ୍ଟ ବିଜ୍ଞପ୍ତି ସାଉଣ୍ଡ"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"ଡିଫଲ୍ଟ ଆଲାର୍ମ ସାଉଣ୍ଡ"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"କଲ୍‍ ପାଇଁ ଭାଇବ୍ରେଟ୍‍ କରନ୍ତୁ"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"କେବେ ବି ଭାଇବ୍ରେଟ୍ ହେବ ନାହିଁ"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"ସର୍ବଦା ଭାଇବ୍ରେଟ୍ ହେବ"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"ପ୍ରଥମେ ଭାଇବ୍ରେଟ୍ ହେବାପରେ ଧୀରେ ଧୀରେ ରିଙ୍ଗ୍ ହେବ"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"ଅନ୍ୟାନ୍ୟ ଶବ୍ଦ"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"ଡାୟଲ୍‌ ପ୍ୟାଡ୍‌ ଟୋନ୍‍"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"ସ୍କ୍ରୀନ୍‌ ଲକ୍‌ କରିବା ସାଉଣ୍ଡ"</string>
@@ -3247,6 +3302,7 @@
       <item quantity="one">1ଟି ସକ୍ଷମ କରାଯାଇଛି</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"ବିରକ୍ତ କର ନାହିଁ"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"କେବଳ ଗୁରୁତ୍ଵପୂର୍ଣ୍ଣ ଲୋକ ଏବଂ ଆପ୍ସ ଦ୍ୱାରା ବିଜ୍ଞାପନ ପାଆନ୍ତୁ"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"ବ୍ୟାଘାତଗୁଡ଼ିକୁ ସୀମିତ କରନ୍ତୁ"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"\"ବିରକ୍ତ କରନ୍ତୁ ନାହିଁ\" ଅନ୍ କରନ୍ତୁ"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"ବ୍ୟତିକ୍ରମ"</string>
@@ -3273,7 +3329,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"ଭିଜୁଆଲ୍‌ ବାଧା ଅବରୋଧ କରନ୍ତୁ"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"ଭିଜୁଆଲ୍‌ ସଙ୍କେତ ଅନୁମତି ଦିଅନ୍ତୁ"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"ବିରକ୍ତ କରନ୍ତୁ ନାହିଁ ଚାଲୁଥିବା ବେଳେ"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"ବାଧାଗୁଡ଼ିକୁ ଅନୁମତି ଦିଅନ୍ତୁ ଯାହା ଶବ୍ଦ କରେ"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"ବିଜ୍ଞପ୍ତିକୁ ସୀମାବଦ୍ଧ କରନ୍ତୁ"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"ବିଜ୍ଞପ୍ତି ଆସିଲେ କୌଣସି ସାଉଣ୍ଡ ନାହିଁ"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"ଆପଣ ଆପଣଙ୍କର ସ୍କ୍ରିନରେ ବିଜ୍ଞପ୍ତି ଦେଖିବେ"</string>
@@ -3304,7 +3360,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"ଶବ୍ଦ ଓ କମ୍ପନ"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକର ଶବ୍ଦ, କମ୍ପନ ଓ ଦୃଶ୍ୟ ସଂକେତ"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକର ଶବ୍ଦ, ଦୃଶ୍ୟ ସଂକେତ"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"ମୌଳିକ ଫୋନ୍ କାର୍ଯ୍ୟ ପାଇଁ ବିଜ୍ଞପ୍ତି ଆବଶ୍ୟକ ଏବଂ ଷ୍ଟାଟସ୍‌କୁ ଆଦୌ ଲୁଚାଇହେବ ନାହିଁ"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"ବେସିକ୍ ଫୋନ୍ କାର୍ଯ୍ୟ ପାଇଁ ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକ ଆବଶ୍ୟକ ଏବଂ ସ୍ଥିତିକୁ ଆଦୌ ଲୁଚାଇହେବ ନାହିଁ।"</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"କିଛି ନୁହେଁ"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"ଅନ୍ୟାନ୍ୟ ବିକଲ୍ପ"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"ଯୋଡନ୍ତୁ"</string>
@@ -3334,10 +3390,12 @@
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g>ଥର ସୂଚୀ ସ୍ଵଚାଳିତ ଭାବେ ଚାଲୁ କରାଯାଇପାରେ</item>
       <item quantity="one">1ଥର ସୂଚୀ ସ୍ଵଚାଳିତ ଭାବେ ଚାଲୁ କରାଯାଇପାରେ</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"ଡିଭାଇସ୍‌ ମ୍ୟୁଟ୍‌ କରନ୍ତୁ କିନ୍ତୁ ବ୍ୟତିକ୍ରମଗୁଡ଼ିକୁ ଅନୁମତି ଦିଅନ୍ତୁ"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"ବ୍ୟତିକ୍ରମ"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"ନିର୍ଦ୍ଧାରିତ"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"ସମସ୍ତ ବ୍ୟତିକ୍ରମଗୁଡ଼ିକୁ ଦେଖନ୍ତୁ"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"ବିରକ୍ତ କରନ୍ତୁ ନାହିଁ ଚାଲୁଥିବା ବେଳେ ବ୍ୟତିକ୍ରମ"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"ଲୋକମାନେ"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"ଆପ୍ସ"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"ଆଲାରାମ୍ ଏବଂ ଅନ୍ୟ ବାଧା"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"ସିଡୁଲ୍"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"ନୀରବ କରାଯାଇଥିବା ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକ"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"ଯେତେବେଳେ ’ବିରକ୍ତ କରନ୍ତୁ ନାହିଁ’ ଅନ ଥିବ, ସେତେବେଳେ ଉପରେ ଆପଣ ଅନୁମତି ଦେଇଥିବା ଆଇଟମ୍ ବ୍ୟତୀତ ସାଉଣ୍ଡ ଓ ଭାଇବ୍ରେଶନ୍ ମ୍ୟୁଟ୍ ହୋଇଯିବ।"</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"ଏହା ବ୍ୟତୀତ ସମସ୍ତକୁ ମ୍ୟୁଟ୍ କରନ୍ତୁ"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"ମ୍ୟୁଟ୍‌ କରାଗଲା"</string>
@@ -3381,16 +3439,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"ଆଡେପ୍ଟିଭ୍ ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକ"</string>
     <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_capabilities_actions_replies_title" msgid="4392470465646394289">"ପ୍ରସ୍ତାବିତ କାର୍ଯ୍ୟ ଏବଂ ପ୍ରତ୍ୟୁତ୍ତରଗୁଡ଼ିକ"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"ସ୍ୱଚାଳିତ ଭାବେ ପରାମର୍ଶ କରାଯାଇଥିବା କାର୍ଯ୍ୟ ଏବଂ ଉତ୍ତରଗୁଡ଼ିକ ଦେଖାନ୍ତୁ"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"ଅତୀତର ବିଜ୍ଞପ୍ତି ଏବଂ ସ୍ନୁଜ୍ କରାଯାଇଥିବା ବିଜ୍ଞପ୍ତି ଟ୍ରାକ୍ କରିବା ପାଇଁ ବିଜ୍ଞପ୍ତି ଇତିହାସ ଚାଲୁ କରନ୍ତୁ"</string>
+    <string name="notification_history" msgid="8663811361243456201">"ବିଜ୍ଞପ୍ତି ଇତିହାସ"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"ଇତିହାସ ଚାଲୁ କରନ୍ତୁ"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"ଇତିହାସ ବନ୍ଦ କରନ୍ତୁ"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"ବିଜ୍ଞପ୍ତି ଇତିହାସ ବନ୍ଦ କରାଯାଇଛି"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"ବିଜ୍ଞପ୍ତି ସେଟିଂସ୍ ଦେଖନ୍ତୁ"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"ବିଜ୍ଞପ୍ତି ସ୍ନୁଜ୍ କରିବା ପାଇଁ ଅନୁମତି ଦିଅନ୍ତୁ"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"ଜେଣ୍ଟଲ୍ ନୋଟିଫିକ୍ସନ୍‌ରୁ ଆଇକନ୍‌ଗୁଡ଼ିକୁ ଲୁଚାନ୍ତୁ"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"ଜେଣ୍ଟଲ୍ ନୋଟିଫିକେସନ୍‌ର ଆଇକନ୍‌ଗୁଡ଼ିକ ସ୍ଥିତି ବାର୍‌ରେ ଦେଖାଯାଏ ନାହିଁ"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"ବିଜ୍ଞପ୍ତି ଡଟସ୍‌ ପାଇଁ ଅନୁମତି ଦିଅନ୍ତୁ"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"ବର୍ତ୍ତମାନର କଥାବାର୍ତ୍ତାଗୁଡ଼ିକର ଷ୍ଟ୍ରିପ୍ ଦେଖାନ୍ତୁ"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"ବବଲ୍‌ଗୁଡ଼ିକ"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"କିଛି ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକ ସ୍କ୍ରିନ୍‌ରେ ବବଲ୍‌ଗୁଡ଼ିକ ଭଳି ଦେଖାଯାଇପାରେ"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"କିଛି ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକ ଏବଂ ଅନ୍ୟ ବିଷୟବସ୍ତୁ ସ୍କ୍ରିନ୍‌ରେ ବବଲ୍‌ଗୁଡ଼ିକ ଭଳି ଦେଖାଯାଇପାରେ। ଏକ ବବଲ୍‌କୁ ଖୋଲିବାକୁ, ଏଥିରେ ଟାପ୍ କରନ୍ତୁ। ଏହା ଖାରଜ କରିବାକୁ, ଏହାକୁ ସ୍କ୍ରିନ୍‌ର ତଳକୁ ଟାଣି ଆଣନ୍ତୁ।"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"ବବଲ୍‌ଗୁଡ଼ିକ"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"ନୂଆ ମେସେଜଗୁଡ଼ିକ ସ୍କ୍ରିନରେ ଦେଖାଯିବ"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"ବବଲ୍‌ଗୁଡ଼ିକ ଭଳି କିଛି ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକ ଦେଖେଇବାକୁ <xliff:g id="APP_NAME">%1$s</xliff:g>କୁ ଅନୁମତି ଦିଅନ୍ତୁ"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"ବବଲ୍‌ଗୁଡ଼ିକୁ ଚାଲୁ କରନ୍ତୁ"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"ଏହି ଆପ୍ ପାଇଁ ବବଲ୍ ଚାଲୁ କରିବାକୁ, ଆପଣଙ୍କର ଡିଭାଇସ୍ ପାଇଁ ପ୍ରଥମେ ଆପଣଙ୍କୁ ସେଗୁଡ଼ିକୁ ଚାଲୁ କରିବାକୁ ପଡ଼ିବ। ଆପଣ ବିଗତରେ ବବଲ୍ ଚାଲୁ କରିଥିବାରେ ଏହା ଅନ୍ୟ ଆପ୍ସକୁ ପ୍ରଭାବିତ କରିବ।"</string>
@@ -3408,6 +3476,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"ପୁଲ୍-ଡାଉନ୍ ସେଡ୍ ଏବଂ ଲକ୍ ସ୍କ୍ରିନ୍‌ରେ ପ୍ରଦର୍ଶିତ କରନ୍ତୁ"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"ପୁଲ୍-ଡାଉନ୍ ସେଡ୍ ଏବଂ ଷ୍ଟାଟସ୍‌ ବାର୍ ପ୍ରଦର୍ଶନ କରନ୍ତୁ"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"ପୁଲ୍-ଡାଉନ୍ ସେଡ୍, ଷ୍ଟାଟସ୍ ବାର୍ ଏବଂ ଲକ୍ ସ୍କ୍ରିନ୍‌ରେ ପ୍ରଦର୍ଶନ କରନ୍ତୁ"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"ଷ୍ଟାଟସ୍ ବାରରେ ନୀରବ ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକୁ ଲୁଚାନ୍ତୁ"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"ଆଲୋକକୁ ଧପଧପ କର"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"ଲକ୍ ସ୍କ୍ରିନ୍"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"ଲକ୍ ସ୍କ୍ରିନ୍‍କୁ ବାଦ୍ ଦିଅନ୍ତୁ"</string>
@@ -3438,6 +3507,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"ଗତିବିଧି"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"ଶବ୍ଦ ବଜାଇବାକୁ ଦିଅନ୍ତୁ"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"ବିଜ୍ଞପ୍ତି ଆଦୌ ଦେଖାଅ ନାହିଁ"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"ବାର୍ତ୍ତାଳାପଗୁଡ଼ିକ"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"ବାର୍ତ୍ତାଳାପ"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"କୌଣସି ବାର୍ତ୍ତାଳାପ ନୁହେଁ"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"ବାର୍ତ୍ତାଳାପ ବିଭାଗରୁ କାଢ଼ନ୍ତୁ"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"ଏହା ଏକ ବାର୍ତ୍ତାଳାପ ଅଟେ"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"ବାର୍ତ୍ତାଳାପ ବିଭାଗରେ ଯୋଗ କରନ୍ତୁ"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"ବାର୍ତ୍ତାଳାପଗୁଡ଼ିକ ପରିଚାଳନା କରନ୍ତୁ"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"ଗୁରୁତ୍ୱପୂର୍ଣ୍ଣ ବାର୍ତ୍ତାଳାପଗୁଡ଼ିକ"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"ସମସ୍ତ ବାର୍ତ୍ତାଳାପ"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"ଗୁରୁତ୍ୱପୂର୍ଣ୍ଣ ବାର୍ତ୍ତାଳାପଗୁଡ଼ିକ ବୁଦବୁଦ୍ ରୂପେ ଦେଖାନ୍ତୁ"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"ଗୁରୁତ୍ୱପୂର୍ଣ୍ଣ ବାର୍ତ୍ତାଳାପଗୁଡ଼ିକ ପୁଲ୍-ଡାଉନ୍ ସେଡର ଶୀର୍ଷରେ ଦେଖାନ୍ତୁ। ଆପଣ ସେଗୁଡ଼ିକୁ ବୁଦବୁଦ ଭାବେ ମଧ୍ୟ ସେଟ୍ କରିପାରିବେ ଏବଂ \'ବିରକ୍ତ କରନ୍ତୁ ନାହିଁ\' ମୋଡକୁ ବାଧା ଦେଇପାରିବେ।"</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"ନିରବରେ ଦେଖାଇବା ସହିତ ମିନିମାଇଜ୍ କରନ୍ତୁ"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"ନିରବରେ ଦେଖାନ୍ତୁ"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"ଶବ୍ଦ କର"</string>
@@ -3456,7 +3536,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"ବିନା ସାଉଣ୍ଡ କିମ୍ବା ଭାଇବ୍ରେସନ୍‌ରେ ଆପଣଙ୍କୁ ଫୋକସ୍ କରିବାରେ ସାହାଯ୍ୟ କରେ"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"ସାଉଣ୍ଡ କିମ୍ବା ଭାଇବ୍ରେସନ୍ ମାଧ୍ୟମରେ ଆପଣଙ୍କର ଧ୍ୟାନ ଆକର୍ଷିତ କରିଥାଏ"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"ଡିଭାଇସ୍ ଅନ୍‌ଲକ୍ ଥିବା ବେଳେ ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକ ସ୍କ୍ରିନ୍‌ର ଉପର ପାର୍ଶ୍ୱରେ ବ୍ୟାନର୍ ଭଳି ଦେଖାଯିବ"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକ ଦେଖାନ୍ତୁ"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"ସମସ୍ତ <xliff:g id="APP_NAME">%1$s</xliff:g> ବିଜ୍ଞପ୍ତି"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"ଆଡେପ୍ଟିଭ୍ ନୋଟିଫିକେସନ୍"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="other">ପ୍ରତି ବିଜ୍ଞପ୍ତି ~<xliff:g id="NUMBER_1">%d</xliff:g>ଟି ବିଜ୍ଞପ୍ତି</item>
@@ -3477,6 +3557,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"ଆଡେପ୍ଟିଭ୍ ନୋଟିଫିକେସନ୍"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"କିଛିନାହିଁ"</string>
     <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="3119843404577399036">"ଯୋଗାଯୋଗ ନାମଗୁଡ଼ିକ ଏବଂ ଆପଣ ପ୍ରାପ୍ତ କରୁଥିବା ମେସେଜର ଟେକ୍ସଟ୍‌ ସାମିଲ୍‌ କରି <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>
@@ -3538,8 +3619,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"ହୋଇଗଲା"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"ପ୍ରମୂଖ"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"ଲାଇଟ୍‌ ଧପ୍‌ ଧପ୍‌"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"କମ୍ପନ"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"ଭାଇବ୍ରେସନ୍"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"ସାଉଣ୍ଡ"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"ଗୁରୁତ୍ଵପୂର୍ଣ୍ଣ"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"ମୂଳ ସ୍କ୍ରିନରେ ଯୋଗ କରନ୍ତୁ"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"ଡିଲିଟ୍‍ କରନ୍ତୁ"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"ରିନେମ୍‌"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"ସୂଚୀ ନାମ"</string>
@@ -3593,6 +3676,10 @@
       <item quantity="other"><xliff:g id="NUM_PEOPLE">%d</xliff:g>ଟି ଅନ୍ୟ</item>
       <item quantity="one">1ଟି ଅନ୍ୟ</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"ବାର୍ତ୍ତାଳାପଗୁଡ଼ିକ"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"ସବୁ ବାର୍ତ୍ତାଳାପଗୁଡ଼ିକରୁ"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"ଗୁରୁତ୍ବପୂର୍ଣ୍ଣ ବାର୍ତ୍ତାଳାପରୁ"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"କୌଣସି ବାର୍ତ୍ତାଳାପକୁ ଅନୁମତି ଦିଅନ୍ତୁ ନାହିଁ"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"ମେସେଜ୍ ପାଇଁ ଅନୁମତି ଦିଅନ୍ତୁ"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"ଅନୁମତି ଦିଆଯାଇଥିବା ମେସେଜ୍ ଆସିବା ସମୟରେ ଆପଣଙ୍କ ଡିଭାଇସ୍‌ରେ ସାଉଣ୍ଡ ହେବ, ଏହା ନିଶ୍ଚିତ କରିବା ପାଇଁ, ଏହା ରିଙ୍ଗ, ଭାଇବ୍ରେଟ୍, ବା ନୀରବରେ ସେଟ୍ କରିଯାଇଛି କି ନାହିଁ ତାହା ଯାଞ୍ଚ କରନ୍ତୁ।"</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"‘<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>’ ପାଇଁ ଇନକମିଂ ମେସେଜ୍‌ଗୁଡ଼ିକ ବ୍ଲକ୍ କରାଯାଇଛି। ଆପଣଙ୍କ ବନ୍ଧୁ, ପରିବାର ବର୍ଗ କିମ୍ବା ଅନ୍ୟ ଯୋଗାଯୋଗ ଆପଣଙ୍କୁ ସମ୍ପର୍କ କରିବା ପାଇଁ ଆପଣ ସେଟିଂସ୍‍କୁ ଆଡ୍‌ଜଷ୍ଟ କରିପାରିବେ।"</string>
@@ -3606,15 +3693,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"କିଛି ନୁହେଁ"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"କୌଣସି କଲ୍‍ ପାଇଁ ଅନୁମତି ଦିଅନ୍ତୁ ନାହିଁ"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"କୌଣସି ମେସେଜ୍‌କୁ ଅନୁମତି ଦିଅନ୍ତୁ ନାହିଁ"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"ଆଲ୍‍ରାମ୍‍ ଅନୁମତି ଦିଅନ୍ତୁ"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"ଆଲାର୍ମ"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"ଟାଇମର୍, ଆଲାରାମ୍, ସୁରକ୍ଷା ସିଷ୍ଟମ୍ ଏବଂ ଅନ୍ୟ ଆପ୍ସରୁ"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"ଆଲାର୍ମ"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"ମିଡିଆ ସାଉଣ୍ଡକୁ ଚାଲୁ କରନ୍ତୁ"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"ମିଡିଆ ଶବ୍ଦ"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"ଭିଡିଓ, ଗେମ୍ ଏବଂ ଅନ୍ୟ ମିଡିଆରୁ"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"ମିଡ଼ିଆ"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"ସ୍ପର୍ଶଜନିତ ସାଉଣ୍ଡ ପାଇଁ ଅନୁମତି ଦିଅନ୍ତୁ"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"ସ୍ପର୍ଶଜନିତ ସାଉଣ୍ଡ"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"ଆପଣଙ୍କ କୀ\'ବୋର୍ଡ ଏବଂ ଅନ୍ୟ ବଟନଗୁଡ଼ିକରୁ"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"ସ୍ପର୍ଶଜନିତ ଧ୍ୱନି"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"ରିମାଇଣ୍ଡର୍‍ ପାଇଁ ଅନୁମତି ଦିଅନ୍ତୁ"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"ରିମାଇଣ୍ଡର"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"ଟାସ୍କ ଏବଂ ରିମାଇଣ୍ଡରଗୁଡ଼ିକରୁ"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"ରିମାଇଣ୍ଡର୍‌"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"ଇଭେଣ୍ଟ ପାଇଁ ଅନୁମତି ଦିଅନ୍ତୁ"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"ଇଭେଣ୍ଟ"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"ଆଗାମୀ କ୍ୟାଲେଣ୍ଡର୍ ଇଭେଣ୍ଟଗୁଡ଼ିକରୁ"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"ନିଷ୍କ୍ରିୟ କରିବାକୁ ଆପ୍ସକୁ ଅନୁମତି ଦିଅନ୍ତୁ"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"ଆପ୍‍ର ବ୍ୟତିକ୍ରମ"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3657,6 +3749,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"ସ୍କ୍ରୀନ୍‌ ଉପରେ \"ବିରକ୍ତ କର ନାହିଁ\"କୁ ଚାଲୁ କରି ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକୁ ନିରବ କରନ୍ତୁ"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"ବିଜ୍ଞପ୍ତି ସେଟିଙ୍ଗ"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"ଠିକ୍‌ ଅଛି"</string>
+    <string name="suggestion_button_close" msgid="6865170855573283759">"ବନ୍ଦ କରନ୍ତୁ"</string>
     <string name="device_feedback" msgid="5351614458411688608">"ଏହି ଡିଭାଇସ୍‌ ଉପରେ ମତାମତ ପଠାନ୍ତୁ"</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"ଆଡ୍‌ମିନ୍‌ PIN ପ୍ରବେଶ କରନ୍ତୁ"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"ଅନ୍"</string>
@@ -3667,6 +3760,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"ଅନ୍‌ପିନ୍‌ କରିବା ପୂର୍ବରୁ PIN ମାଗନ୍ତୁ"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"ଅନ୍‌ପିନ୍‌ କରିବା ପୂର୍ବରୁ ପାସ୍‌ୱାର୍ଡ ପଚାରନ୍ତୁ"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"ଅନ୍‌ପିନ୍‌ କରିବା ବେଳେ ଡିଭାଇସ୍‌କୁ ଲକ୍‌ କରନ୍ତୁ"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"SIM ଡିଲିଟ୍ ପ୍ରକ୍ରିୟା ସୁନିଶ୍ଚିତ କରନ୍ତୁ"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"ଏକ ଡାଉନଲୋଡ୍ କରାଯାଇଥିବା SIM ଲିଭାଇବା ପୂର୍ବରୁ ଏହା ଆପଣ ବୋଲି ଯାଞ୍ଚ କରନ୍ତୁ"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"ଏହି କାର୍ଯ୍ୟ ପ୍ରୋଫାଇଲ୍‌ ଏହାଙ୍କ ଦ୍ୱାରା ପରିଚାଳିତ:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"<xliff:g id="ADMIN_APP_LABEL">%s</xliff:g> ଦ୍ୱାରା ପରିଚାଳିତ"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(ପରୀକ୍ଷାମୂଳକ)"</string>
@@ -3741,8 +3836,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"ସମସ୍ତ ଆପସ୍‌"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"ଇନ୍‌ଷ୍ଟଲ୍‌ ହୋଇଥିବା ଆପ୍‌ଗୁଡ଼ିକ"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"ଇନଷ୍ଟାଣ୍ଟ୍ ଆପ୍ସ"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"ବ୍ୟକ୍ତିଗତ"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"କାର୍ଯ୍ୟ"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"ଆପ୍‌: ସମସ୍ତ"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"ବନ୍ଦ କରାଯାଇଛି"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"ବର୍ଗ: ଅତ୍ୟନ୍ତ ମହତ୍ତ୍ୱପୂର୍ଣ୍ଣ"</string>
@@ -3754,6 +3847,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"ଅଜଣା ଆପ୍"</string>
     <string name="app_permissions" msgid="8666537659217653626">"ଅନୁମତି ପରିଚାଳକ"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"<xliff:g id="APPS">%1$s</xliff:g> ବ୍ୟବହାର କରୁଥିବା ଆପ୍"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"<xliff:g id="APPS">%1$s</xliff:g> ଏବଂ ଅନେକ କିଛି ବ୍ୟବହାର କରୁଥିବା ଆପଗୁଡ଼ିକ"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"ଜାଗ୍ରତ କରିବାକୁ ଟାପ୍‌ କରନ୍ତୁ"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"ଡିଭାଇସ୍‌କୁ ଜାଗ୍ରତ କରିବା ପାଇଁ ସ୍କ୍ରୀନ୍‌ର ଯେକୌଣସି ସ୍ଥାନରେ ଟାପ୍‌ କରନ୍ତୁ"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"ଓପନିଂ ଲିଙ୍କ୍"</string>
@@ -3765,9 +3859,14 @@
       <item quantity="other"><xliff:g id="COUNT">%d</xliff:g>ଟି ସପୋର୍ଟ କରୁଥିବା ଲିଙ୍କକୁ ଖୋଲୁଥିବା ଆପ୍‌ଗୁଡ଼ିକ</item>
       <item quantity="one">ସପୋର୍ଟ କରୁଥିବା ଲିଙ୍କଗୁଡ଼ିକୁ ଖୋଲୁଥିବା ଗୋଟିଏ ଆପ୍‌</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"ଏହି ଆପ୍‌ରେ ଖୋଲନ୍ତୁ"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"ସମର୍ଥିତ ଲିଙ୍କଗୁଡ଼ିକ ଖୋଲିବା ପାଇଁ ଆପକୁ ଅନୁମତି ଦିଅନ୍ତୁ"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"ପ୍ରତି ଥର ପଚାରନ୍ତୁ"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"ଏହି ଆପ୍‌ରେ ଖୋଲନ୍ତୁ ନାହିଁ"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"ଲିଙ୍କଗୁଡ଼ିକ ଖୋଲିବା ପାଇଁ ଆପକୁ ଅନୁମତି ଦିଅନ୍ତୁ ନାହିଁ"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="other">ଆପ୍ <xliff:g id="COUNT_1">%d</xliff:g>ଟି ଲିଙ୍କକୁ ହ୍ୟାଣ୍ଡେଲ୍ କରିପାରିବ</item>
+      <item quantity="one">ଆପ୍ <xliff:g id="COUNT_0">%d</xliff:g>ଟି ଲିଙ୍କକୁ ହ୍ୟାଣ୍ଡେଲ୍ କରିପାରିବ</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"ଆପ୍ ନିମ୍ନୋକ୍ତ ଲିଙ୍କଗୁଡ଼ିକୁ ହ୍ୟାଣ୍ଡେଲ୍ କରିବାକୁ ଦାବି କରିଥାଏ:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"ଡିଫଲ୍ଟ"</string>
     <string name="default_for_work" msgid="537558180548617528">"କାର୍ଯ୍ୟ ପାଇଁ ପୂର୍ବ-ନିର୍ଦ୍ଧାରିତ"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"ସହାୟକ ଓ ଭଏସ୍‌ ଇନପୁଟ୍‌"</string>
@@ -3911,8 +4010,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"ଅନ୍ୟ ଆପ୍‌ଗୁଡ଼ିକ ଉପରେ ଦେଖାଅ"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"ଅନ୍ୟ ଆପ୍‌ଗୁଡ଼ିକ ଉପରେ ପ୍ରଦର୍ଶନ ଅନୁମତି ଦିଅନ୍ତୁ"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"ଆପଣ ବ୍ୟବହାର କରୁଥିବା ଅନ୍ୟ ଆପ୍‌ଗୁଡ଼ିକ ଉପରେ ଏହି ଆପ୍‌କୁ ରହିବାକୁ ଦିଅନ୍ତୁ। ସେହି ଆପ୍‌ଗୁଡ଼ିକର ବ୍ୟବହାରରେ ଏହା ବାଧା ସୃଷ୍ଟି କରିପାରେ କିମ୍ୱା ସେଗୂଡ଼ିକର କାମ କରିବା ଶୈଳୀକୁ ବଦଳାଇଦେଇପାରେ।"</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"ସମସ୍ତ ଫାଇଲକୁ ଆକ୍ସେସ୍"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"ସମସ୍ତ ଫାଇଲକୁ ପରିଚାଳନା ପାଇଁ ଆକ୍ସେସ୍ ଦିଅନ୍ତୁ"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"ଏହି ଡିଭାଇସ୍ କିମ୍ବା ଯେ କୌଣସି ସଂଯୁକ୍ତ ଥିବା ଷ୍ଟୋରେଜ୍ ଭଲ୍ୟୁମରେ ଥିବା ସମସ୍ତ ଫାଇଲକୁ ପଢ଼ିବା, ପରିବର୍ତ୍ତନ କରିବା ଏବଂ ଡିଲିଟ୍ କରିବା ପାଇଁ ଏହି ଆପକୁ ଅନୁମତି ଦିଅନ୍ତୁ। ଯଦି ଅନୁମତି ଦିଆଯାଏ, ତେବେ ଆପ୍ ଆପଣଙ୍କୁ ସ୍ପଷ୍ଟ ନକରି ଫାଇଲଗୁଡ଼ିକୁ ଆକ୍ସେସ୍ କରିପାରେ।"</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"ସମସ୍ତ ଫାଇଲକୁ ଆକ୍ସେସ୍ କରିପାରିବ"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"vr ଭର୍ଚୁଆଲ୍‌ ରିଅଲିଟୀ ଲିସ୍‌ନର୍‌ ଷ୍ଟେରିଓ ସାହାଯ୍ୟକାରୀ ସେବା"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"ଅନ୍ୟ ଆପ୍‌ଗୁଡ଼ିକରେ ସିଷ୍ଟମ୍‌ ଆଲର୍ଟ ଡାୟଲଗ୍‌ ଡିସ୍‌ପ୍ଲେ"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"ଅନ୍ୟ ଆପ୍‌ଗୁଡ଼ିକ ଉପରେ ଦେଖାଦେଉ"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"<xliff:g id="COUNT_1">%2$d</xliff:g> ଟି ଆପ୍‌ରୁ <xliff:g id="COUNT_0">%1$d</xliff:g> ଅନ୍ୟ ଆପ୍‌ଗୁଡ଼ିକରେ ଡିସପ୍ଲେ କରିବାକୁ ଅନୁମୋଦିତ"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"ଅନୁମତି ସହ ଆପ୍‌ଗୁଡ଼ିକ"</string>
@@ -4078,6 +4180,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"<xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g> ବ୍ୟବହାର ହୋଇଛି"</string>
     <string name="data_overusage" msgid="3680477320458707259">"<xliff:g id="ID_1">^1</xliff:g> ଅଧିକ ଡାଟା ବ୍ୟବହାର ହୋଇଛି"</string>
     <string name="data_remaining" msgid="6316251496381922837">"<xliff:g id="ID_1">^1</xliff:g> ଅବଶିଷ୍ଟ"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"<xliff:g id="START_DATE">%1$s</xliff:g> ଏବଂ <xliff:g id="END_DATE">%2$s</xliff:g> ମଧ୍ୟରେ ଡାଟା ବ୍ୟବହାର ଉପରେ ଗ୍ରାଫ୍ ଦେଖାଯାଉଛି।"</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"ଏହି ତାରିଖ ସୀମାରେ କୌଣସି ଡାଟା ନାହିଁ"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="other">%d ଦିନ ବାକି</item>
       <item quantity="one">%d ଦିନ ବାକି</item>
@@ -4141,14 +4245,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"ପାର୍ସଲ ଆକାର"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ଆଶମେମ୍‌"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"ବିଜ୍ଞପ୍ତି ସତର୍କ କରାଯାଇଛି"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"ସାଉଣ୍ଡ"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"କମ୍ପନ"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"ପାଟର୍ନ"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"ଡିଫଲ୍ଟ"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"ଚ୍ୟାନେଲ୍"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"କିଛି ନାହିଁ"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"ର‍୍ୟାଙ୍କିଙ୍ଗର ବସ୍ତୁ ଉପଲବ୍ଧ ନାହିଁ।"</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"ମୂଲ୍ୟାୟନ ଅବଜେକ୍ଟରେ ଏହି କୀ ନଥାଏ।"</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"ଥିମିଂ"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"ଡିଭାଇସ୍‌ ଡିଫଲ୍ଟ"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"ପ୍ରଦର୍ଶନ ଫଳକ"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"ଡିସ୍‌ପ୍ଲେ କଟଆଉଟ୍, ନଚ୍"</string>
@@ -4237,8 +4337,12 @@
     <string name="information_label" msgid="6939310810756569298">"ସୂଚନା"</string>
     <string name="low_label" msgid="6525629096999711220">"କମ୍"</string>
     <string name="high_label" msgid="357503396626018487">"ଅଧିକ"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"ଉଚ୍ଚ ସମ୍ବେଦନଶୀଳତା ସ୍କ୍ରିନ୍‌ର ଧାର ସମେତ ଯେ କୌଣସି ଆପ୍ ଜେଶ୍ଚର୍‌ରେ ପ୍ରଭାବ ପକାଇପାରେ।"</string>
+    <string name="left_edge" msgid="1513576842959071849">"ବାମ ଧାର"</string>
+    <string name="right_edge" msgid="1505309103265829121">"ଡାହାଣ ଧାର"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"ଉଚ୍ଚ ସମ୍ବେଦନଶୀଳତା, ସ୍କ୍ରିନ୍‌ର ଧାର ସମେତ ଯେ କୌଣସି ଆପ୍ ଜେଶ୍ଚର୍‌ରେ ପ୍ରଭାବ ପକାଇପାରେ।"</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"ବ୍ୟାକ୍ ସମ୍ୱେଦନଶୀଳତା"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"ଜେଶ୍ଚର୍ ସେଟିଂସ୍"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"ଜେଶ୍ଚର୍ ନାଭିଗେସନ୍, ବ୍ୟାକ୍ ସେନ୍‌ସିଟିଭିଟି, ବ୍ୟାକ୍ ଜେଶ୍ଚର୍"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"ଫୋନ୍‌ ଯାଞ୍ଚ କରିବାକୁ ଡବଲ୍‌ ଟାପ୍‌ କରନ୍ତୁ"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"ଟାବ୍‌ଲେଟ୍‌ ଯାଞ୍ଚ କରିବାକୁ ଡବଲ୍‌-ଟାପ୍‌ କରନ୍ତୁ"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"ଡିଭାଇସ୍‌ ଯାଞ୍ଚ କରିବାକୁ ଡବଲ୍‌-ଟାପ୍‌ କରନ୍ତୁ"</string>
@@ -4393,7 +4497,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"କେରିଅର୍‌ ପ୍ରୋଭିଜନିଙ୍ଗ ଟ୍ରିଗର୍‌ କରନ୍ତୁ"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"’ବିରକ୍ତ କରନ୍ତୁ ନାହିଁ’ ଅପଡେଟ୍ କରନ୍ତୁ"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"ଫୋକସ୍ ରହିବା ପାଇଁ ବିଜ୍ଞପ୍ତି ବିରତି କରନ୍ତୁ"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"ଏହି ଡିଭାଇସ୍‌ରେ ଏହି ବୈଶିଷ୍ଟ୍ୟ ଉପଲବ୍ଧ ନୁହେଁ"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"ଫିଚର୍‍ ଉପଲବ୍ଧ ନାହିଁ"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"ଏହି ଫିଚର୍‍ ଆପଣଙ୍କ ଫୋନ୍‍କୁ ଧିମା କରୁଥିବାରୁ ଏହାକୁ ବନ୍ଦ କରିଦିଆଯାଇଛି"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"ପୂର୍ଣ୍ଣ GNSS ପରିମାପ ବାଧ୍ୟ କରନ୍ତୁ"</string>
@@ -4403,20 +4506,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"ANGLE ସକ୍ଷମ ଥିବା ଆପ୍ ଚୟନ କରନ୍ତୁ"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"କୌଣସି ANGLE ସକ୍ଷମ ଥିବା ଆପ୍ଲିକେଶନ୍ ସେଟ୍ କରାଯାଇନାହିଁ"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"ANGLE ସକ୍ଷମ ଆପ୍ଲିକେଶନ୍: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"ଗେମ୍ ଡ୍ରାଇଭର୍ ଅଗ୍ରାଧିକାର"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"ଗେମ୍ ଡ୍ରାଇଭର୍ ସେଟିଂସ୍ ବଦଳାନ୍ତୁ"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"ଗେମ୍ ଡ୍ରାଇଭ୍ ଚାଲୁ ଥିବା ବେଳେ, ଡିଭାଇସ୍‌ରେ ଇନ୍‌ଷ୍ଟଲ୍ ଥିବା ଆପ୍ସ ପାଇଁ ବ୍ୟବହାର କରିବାକୁ ଅପ୍‌ଡେଟ୍ ହୋଇଥିବା ଗ୍ରାଫିକ୍ ଡ୍ରାଇଭର୍ ବାଛିପାରିବେ।"</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"ସମସ୍ତ ଆପ୍ ପାଇଁ ସକ୍ଷମ କରନ୍ତୁ"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"ଗ୍ରାଫିକ୍ ଡ୍ରାଇଭର୍ ଚୟନ କରନ୍ତୁ"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"ଡିଫଲ୍ଟ"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"ଗେମ୍ ଡ୍ରାଇଭର୍"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"ପ୍ରିରିଲିଜ୍ ଡ୍ରାଇଭର୍"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"ସିଷ୍ଟମ୍ ଗ୍ରାଫିକ୍ ଡ୍ରାଇଭର୍"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"ଗ୍ରାଫିକ୍ସ ଡ୍ରାଇଭର୍ ଅଗ୍ରାଧିକାର"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"ଗ୍ରାଫିକ୍ସ ଡ୍ରାଇଭର୍ ସେଟିଂସ୍ ବଦଳାନ୍ତୁ"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"ଏକାଧିକ ଗ୍ରାଫିକ୍ସ ଡ୍ରାଇଭର୍ ଥିବା ବେଳେ, ଡିଭାଇସରେ ଇନଷ୍ଟଲ୍ ଥିବା ଆପ୍ସ ପାଇଁ ବ୍ୟବହାର କରିବାକୁ ଅପଡେଟ୍ ହୋଇଥିବା ଗ୍ରାଫିକ୍ସ ଡ୍ରାଇଭର୍ ବାଛିପାରିବେ।"</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"ସମସ୍ତ ଆପ୍ ପାଇଁ ସକ୍ଷମ କରନ୍ତୁ"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"ଗ୍ରାଫିକ୍ସ ଡ୍ରାଇଭର୍ ଚୟନ କରନ୍ତୁ"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"ଡିଫଲ୍ଟ"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"ଗେମ୍ ଡ୍ରାଇଭର୍"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"ଡେଭଲପର୍ ଡ୍ରାଇଭର୍"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"ସିଷ୍ଟମ୍ ଗ୍ରାଫିକ୍ସ ଡ୍ରାଇଭର୍"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"ଆପ୍ ସୁସଙ୍ଗତା ପରିବର୍ତ୍ତନଗୁଡ଼ିକ"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"ଆପ୍ ସୁସଙ୍ଗତ ପରିବର୍ତ୍ତନଗୁଡ଼ିକୁ ଟୋଗଲ୍ କରନ୍ତୁ"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"ଡିଫଲ୍ଟ ଭାବେ ସକ୍ଷମ କରାଯାଇଥିବା ପରିବର୍ତ୍ତନଗୁଡ଼ିକ"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"ଡିଫଲ୍ଟ ଭାବେ ଅକ୍ଷମ କରାଯାଇଥିବା ପରିବର୍ତ୍ତନଗୁଡ଼ିକ"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"ଏହି ଫୋନ୍‌ରେ ସେଟିଙ୍ଗ ସପୋର୍ଟ କରୁନାହିଁ"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"ଏହି ଟାବଲେଟ୍‌ରେ ସେଟିଙ୍ଗ ସପୋର୍ଟ କରୁନାହିଁ"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"ଏହି ଡିଭାଇସ୍‌ରେ ସେଟିଙ୍ଗ ସପୋର୍ଟ କରୁନାହିଁ"</string>
@@ -4435,6 +4544,12 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"ଡିଭାଇସ୍"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"କଲ୍ କରିବାବେଳେ ଉପଲବ୍ଧ ନଥାଏ"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"ଉପଲବ୍ଧ ନାହିଁ"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"ଆଉଟପୁଟ୍ ଯୋଗ କରନ୍ତୁ"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"ଗୋଷ୍ଠୀ"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1ଟି ଡିଭାଇସ୍ ଚୟନ କରାଯାଇଛି"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g>ଟି ଡିଭାଇସ୍ ଚୟନ କରାଯାଇଛି"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"ଏହା ଦ୍ଵାରା କଲ୍‌ର ଉତ୍ତର ଦିଅନ୍ତୁ"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"ଏହି APNକୁ ବଦଳାଯାଇପାରିବ ନାହିଁ।"</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"ଟାବଲେଟ୍‌ର ବ୍ୟାଟେରୀ ଜୀବନ ଉନ୍ନତ କରେ"</string>
@@ -4552,10 +4667,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"ଏକ ସମୟରେ କେବଳ ଗୋଟିଏ ଡାଉନଲୋଡ୍ ହୋଇଥିବା SIM ସକ୍ରିୟ ହୋଇପାରିବ।\n\n <xliff:g id="CARRIER1">%1$s</xliff:g>କୁ ସ୍ୱିଚ୍ କରିବା ଦ୍ୱାରା ଆପଣଙ୍କର <xliff:g id="CARRIER2">%2$s</xliff:g> ସେବା ବାତିଲ୍ ହୋବ ନାହିଁ।"</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"<xliff:g id="CARRIER">%1$s</xliff:g>କୁ ଯାଆନ୍ତୁ"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"SIM ଖାଲି କରନ୍ତୁ"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"ଡାଉନଲୋଡ୍ ହୋଇଥିବା ଏହି SIMକୁ ଖାଲି କରିବେ?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"ଏହି SIMକୁ କାଢ଼ିଦେବା ଦ୍ବାରା, ଏହି ଡିଭାଇସ୍‌ରେ <xliff:g id="CARRIER_0">%1$s</xliff:g>ର ସେବା ରହିବ ନାହିଁ।\n\n<xliff:g id="CARRIER_1">%2$s</xliff:g> ପାଇଁ ସେବା ବାତିଲ୍ ହେବ ନାହିଁ।"</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"ହଟାନ୍ତୁ"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"SIMକୁ ଡିଲିଟ୍ କରାଯାଉଛି…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"SIMକୁ ଖାଲି କରିହେବ ନାହିଁ"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"ଗୋଟିଏ ତ୍ରୁଟି କାରଣରୁ ଏହି SIMକୁ ଖାଲି କରାଯାଇ ପାରିଲା ନାହିଁ।\n\nଆପଣଙ୍କର ଡିଭାଇସ୍‌କୁ ରିଷ୍ଟାର୍ଟ କରନ୍ତୁ ଏବଂ ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ।"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"ଅଧିକ ପସନ୍ଦର ନେଟ୍‌ୱାର୍କ ପ୍ରକାର"</string>
@@ -4580,7 +4691,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"ଅବୈଧ ନେଟ୍‍ୱର୍କ ମୋଡ୍‍ <xliff:g id="NETWORKMODEID">%1$d</xliff:g>। ଅବଜ୍ଞା କରନ୍ତୁ।"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"ଆକ୍ସେସ୍ ପଏଣ୍ଟ ନାମ"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"<xliff:g id="CARRIER">%1$s</xliff:g>କୁ ସଂଯୁକ୍ତ ହୋଇଥିବା ସମୟରେ ଉପଲବ୍ଧ ନଥାଏ"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"ଡାକ୍ତରୀ ସୂଚନା,ଜରୁରୀକାଳୀନ ଯୋଗାଯୋଗ"</string>
     <string name="see_more" msgid="7499355691042812723">"ଅଧିକ ଦେଖନ୍ତୁ"</string>
     <string name="see_less" msgid="2642392725363552793">"କମ୍ ଦେଖନ୍ତୁ"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"<xliff:g id="APPNAME">%1$s</xliff:g> ସହ ବ୍ୟବହାର କରିବା ପାଇଁ ଡିଭାଇସ୍"</string>
@@ -4589,11 +4699,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"କିଛି ଗୋଟିଏ ବାହାରିଛି ଏକ ଡିଭାଇସ୍‍କୁ ବାଛିବାକୁ, ଆପ୍ଲିକେସନ୍‌ ଅନୁରୋଧ ବାତିଲ୍‌ କରିଛି।"</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"ସଫଳତାର ସହ ସଂଯୋଗ ହୋଇଛି"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"ସମସ୍ତ ଦେଖାନ୍ତୁ"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> ଡିଭାଇସ୍‍ଗୁଡ଼ିକ ସଂଯୋଗ ହୋଇଛି</item>
-      <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_0">%1$d</xliff:g> ଟି ଡିଭାଇସ୍‍ ସଂଯୋଗ ହୋଇଛି</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"କୌଣସି ବ୍ଲୁଟୁଥ୍‌ ଡିଭାଇସ୍‌ ନାହିଁ"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"ଡିଭାଇସ୍ ପାଇଁ ସନ୍ଧାନ କରୁଛି…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"ଡିଭାଇସ୍ ସଂଯୋଗ ହେଉଛି…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"ବାମ"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"ଡାହାଣ"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"କେସ୍‍"</string>
@@ -4603,6 +4710,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"ଏୟାରପ୍ଲେନ୍‌ ମୋଡ୍‌ ସମୟରେ ଉପଲବ୍ଧ ନୁହେଁ"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"ଫୋର୍ସ ଡେସ୍କଟପ୍‍ ମୋଡ୍‍"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"ଦ୍ବିତୀୟ ପ୍ରଦର୍ଶନରେ ଫୋର୍ସ ପରୀକ୍ଷାମୂଳକ ମୋଡ୍‍"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"ଫ୍ରିଫର୍ମ ସାଇଜ୍‍କମ୍ପାଟ୍ ସକ୍ଷମ କରନ୍ତୁ"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"ଫ୍ରିଫର୍ମ‍ରେ ରଖିବା ପାଇଁ ସାଇଜ୍‍କମ୍ପାଟ୍ ଆପ୍ସ ଅନୁମତି କରିଥାଏ"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"ଫୋର୍ସ୍-ଡାର୍କ୍ ଓଭର୍‍ରାଇଡ୍ କରନ୍ତୁ"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"ଫୋର୍ସ-ଡାର୍କ ଫିଚର୍‍ ସଦାବେଳେ ଚାଲୁ ରହିବା ଓଭର୍‍ରାଇଡ୍ କରିଥାଏ"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"ଗୋପନୀୟତା"</string>
@@ -4639,6 +4748,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"ଆପଣ ସମ୍ପ୍ରତ୍ତି ଏହି ଆପ୍‌କୁ ଇନ୍‌ଷ୍ଟଲ୍ କରିଛନ୍ତି।"</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"ଆଉଟ୍‌ପୁଟ୍ ସ୍ବିଚ୍ କରନ୍ତୁ"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"ବର୍ତ୍ତମାନ <xliff:g id="DEVICE_NAME">%1$s</xliff:g>ରେ ଚାଲୁଛି"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (ବିଚ୍ଛିନ୍ନ କରାଯାଇଛି)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"ସ୍ୱିଚ୍ ହେବ ନାହିଁ। ପୁଣି ଚେଷ୍ଟା କରିବାକୁ ଟାପ୍ କର।"</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"ଗୁରୁତ୍ବପୂର୍ଣ୍ଣ ସୂଚନା"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"ଜାରି ରଖନ୍ତୁ"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"ନାହିଁ, ଥାଉ"</string>
@@ -4666,8 +4777,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"SIM କମ୍ବିନେସନ୍"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"ଆପଣଙ୍କ କାର୍ଯ୍ୟ ନୀତି ସୂଚନା"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"ଆପଣଙ୍କ IT ଆଡ୍‌ମିନ୍‌ଙ୍କ ଦ୍ୱାରା ସେଟିଂସ୍ ପରିଚାଳିତ କରାଯାଇଛି।"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"ବଗ୍ ରିପୋର୍ଟ ହ୍ୟାଣ୍ଡଲର୍"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"ଆପଣଙ୍କ ଡିଭାଇସ୍‌ରେ କେଉଁ ଆପ୍ ବଗ୍ ରିପୋର୍ଟ ସର୍ଟକର୍ଟ ପରିଚାଳନା କରେ, ତାହା ନିର୍ଦ୍ଧାରଣ କରେ।"</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"ବ୍ୟକ୍ତିଗତ"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"କାର୍ଯ୍ୟ ପ୍ରୋଫାଇଲ୍"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"ସିଷ୍ଟମ୍ ଡିଫଲ୍ଟ"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"ଏହି ପସନ୍ଦ ଆଉ ବୈଧ ନାହିଁ। ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ।"</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"କାଷ୍ଟ କରିବା ବନ୍ଦ କରନ୍ତୁ"</string>
 </resources>
diff --git a/res/values-pa/arrays.xml b/res/values-pa/arrays.xml
index 9ab1d80..2dce7dc 100644
--- a/res/values-pa/arrays.xml
+++ b/res/values-pa/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"ਤੁਰੰਤ"</item>
     <item msgid="463591454172790676">"5 ਸਕਿੰਟ"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"ਪ੍ਰਮਾਣਿਤ ਨਾ ਕਰੋ"</item>
+    <item msgid="5703177653586269306">"ਪ੍ਰਮਾਣ-ਪੱਤਰ ਦੀ ਸਥਿਤੀ ਲਈ ਬੇਨਤੀ ਕਰੋ"</item>
+    <item msgid="326388247868439528">"ਪ੍ਰਮਾਣ-ਪੱਤਰ ਦੀ ਸਥਿਤੀ ਦੀ ਲੋੜ ਹੈ"</item>
+    <item msgid="1090956283885790552">"ਸਾਰੀਆਂ ਗੈਰ-ਭਰੋਸੇਯੋਗ ਪ੍ਰਮਾਣ-ਪੱਤਰ ਦੀਆਂ ਸਥਿਤੀਆਂ ਦੀ ਲੋੜ ਹੈ"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"ਪੁਸ਼ ਬਟਨ"</item>
     <item msgid="2630618799033509548">"ਪੀਅਰ ਡੀਵਾਈਸ ਤੋਂ ਪਿੰਨ"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"ਕੋਈ ਨਹੀਂ"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"ਪ੍ਰੀ-ਸ਼ੇਅਰਡ ਕੁੰਜੀਆਂ ਅਤੇ Xauth ਪ੍ਰਮਾਣੀਕਰਨ ਨਾਲ IPSec VPN"</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>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"ਕੋਈ ਨਹੀਂ"</item>
diff --git a/res/values-pa/config.xml b/res/values-pa/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-pa/config.xml
+++ b/res/values-pa/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-pa/strings.xml b/res/values-pa/strings.xml
index e3a64dd..5ed69ee 100644
--- a/res/values-pa/strings.xml
+++ b/res/values-pa/strings.xml
@@ -31,49 +31,17 @@
     <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="radio_info_data_connection_enable" msgid="7500945447906187613">"ਡਾਟਾ ਕਨੈਕਸ਼ਨ ਚਾਲੂ ਕਰੋ"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"ਡਾਟਾ ਕਨੈਕਸ਼ਨ ਬੰਦ ਕਰੋ"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"VoLTE ਪ੍ਰੋਵਿਨਜਨਡ"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"ਵੀਡੀਓ ਕਾਲਿੰਗ ਦੀ ਪ੍ਰੋਵਿਜ਼ਨ ਕੀਤੀ ਗਈ"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"Wifi ਕਾਲਿੰਗ ਦੀ ਪ੍ਰੋਵੀਜ਼ਨ ਕੀਤੀ ਗਈ"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"EAB/ਮੌਜੂਦਗੀ ਦੀ ਵਿਵਸਥਾ ਚਾਲੂ ਕੀਤੀ"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"Cbrs ਡਾਟਾ"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"DSDS ਚਾਲੂ ਕਰੋ"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"ਡੀਵਾਈਸ ਮੁੜ-ਸ਼ੁਰੂ ਕਰੀਏ?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"ਤੁਹਾਨੂੰ ਇਹ ਸੈਟਿੰਗ ਬਦਲਣ ਲਈ ਡੀਵਾਈਸ ਨੂੰ ਮੁੜ-ਸ਼ੁਰੂ ਕਰਨ ਦੀ ਲੋੜ ਹੈ।"</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"ਮੁੜ-ਸ਼ੁਰੂ ਕਰੋ"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"ਰੱਦ ਕਰੋ"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"ਮੋਬਾਈਲ ਰੇਡੀਓ ਪਾਵਰ"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"ਸਿਮ ਪਤਾ ਬੁੱਕ ਦੇਖੋ"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"ਫਿਕਸਡ ਡਾਇਲਿੰਗ ਨੰਬਰ ਦੇਖੋ"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"ਸੇਵਾ ਡਾਇਲਿੰਗ ਨੰਬਰ ਦੇਖੋ"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"IMS ਸੇਵਾ ਅਵਸਥਾ"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"IMS ਅਵਸਥਾ"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"ਪੰਜੀਕਿਰਤ"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"ਅਣ-ਪੰਜੀਕਿਰਤ"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"ਉਪਲਬਧ"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"ਅਣਉਪਲਬਧ"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"IMS ਪੰਜੀਕਰਨ: <xliff:g id="STATUS">%1$s</xliff:g>\nLTE \'ਤੇ ਵੌਇਸ: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nWiFi \'ਤੇ ਵੌਇਸ: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nਵੀਡੀਓ ਕਾਲਿੰਗ: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT ਇੰਟਰਫੇਸ: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"ਸੇਵਾ ਵਿੱਚ"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"ਸੇਵਾ ਵਿੱਚ ਨਹੀਂ"</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>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"ਨਿਸ਼ਕਿਰਿਆ"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"ਰਿੰਗ ਕਰ ਰਿਹਾ ਹੈ"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"ਕਾਲ ਜਾਰੀ ਹੈ"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"ਡਿਸਕਨੈਕਟ ਕੀਤਾ"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"ਕਨੈਕਟ ਕਰ ਰਿਹਾ ਹੈ"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"ਕਨੈਕਟ ਕੀਤਾ"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"ਮੁਅੱਤਲ ਕੀਤਾ"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"ਅਣਪਛਾਤਾ"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"pkts"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"ਬਾਈਟਸ"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"USB ਸਟੋਰੇਜ ਨੂੰ ਅਨਮਾਉਂਟ ਕਰੋ"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"SD ਕਾਰਡ ਨੂੰ ਅਨਮਾਉਂਟ ਕਰੋ"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"USB ਸਟੋਰੇਜ ਮਿਟਾਓ"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"ਸਕ੍ਰੀਨ \'ਤੇ ਦਿਖਦੀ ਲਿਖਤ ਨੂੰ ਛੋਟਾ ਜਾਂ ਵੱਡਾ ਕਰੋ।"</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"ਛੋਟਾ ਕਰੋ"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"ਵੱਡਾ ਕਰੋ"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"ਨਮੂਨਾ ਲਿਖਤ"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"ਔਜ਼ ਦਾ ਨਿਰਾਲਾ ਵਿਜ਼ਾਰਡ"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"ਪਾਠ 11: ਔਜ਼ ਦਾ ਹੀਰਿਆਂ-ਪੰਨਿਆਂ ਵਾਲਾ ਨਿਰਾਲਾ ਸ਼ਹਿਰ"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"ਤੁਹਾਨੂੰ ਇਹ ਸੈਟਿੰਗ ਬਦਲਣ ਲਈ ਡੀਵਾਈਸ ਨੂੰ ਮੁੜ-ਚਾਲੂ ਕਰਨ ਦੀ ਲੋੜ ਹੈ।"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"ਮੁੜ-ਚਾਲੂ ਕਰੋ"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"ਰੱਦ ਕਰੋ"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"ਉਪਲਬਧ ਮੀਡੀਆ ਡੀਵਾਈਸ"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"ਉਪਲਬਧ ਕਾਲ ਡੀਵਾਈਸ"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"ਇਸ ਵੇਲੇ ਕਨੈਕਟ ਹੈ"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"ਮੀਡੀਆ ਡੀਵਾਈਸਾਂ"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"ਕਾਲ ਡੀਵਾਈਸ"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"ਹੋਰ ਡੀਵਾਈਸਾਂ"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"ਰੱਖਿਅਤ ਕੀਤੀਆਂ ਡੀਵਾਈਸਾਂ"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"ਜੋੜਾਬੱਧ ਕਰਨ ਲਈ ਬਲੂਟੁੱਥ ਚਾਲੂ ਹੋਵੇਗਾ"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"ਕਨੈਕਸ਼ਨ ਤਰਜੀਹਾਂ"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"ਤੁਹਾਡੇ ਵੱਲੋਂ ਟਾਈਪ ਕੀਤਾ ਪੋਰਟ ਵੈਧ ਨਹੀਂ ਹੈ।"</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"HTTP ਪ੍ਰੌਕਸੀ ਬ੍ਰਾਊਜ਼ਰ ਵੱਲੋਂ ਵਰਤੀ ਜਾਂਦੀ ਹੈ ਪਰ ਹੋ ਸਕਦਾ ਹੈ ਹੋਰ ਐਪਾਂ ਵੱਲੋਂ ਇਸ ਦੀ ਵਰਤੋਂ ਨਾ ਕੀਤੀ ਜਾ ਸਕੇ।"</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"PAC URL: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"ਮੌਜੂਦਾ subId:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"ਪੂਰਵ-ਨਿਰਧਾਰਤ ਡਾਟਾ ਸਿਮ ਦਾ SubId:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"DL ਬੈਂਡਵਿਡਥ (kbps):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"UL ਬੈਂਡਵਿਡਥ (kbps):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"ਸੈੱਲ ਟਿਕਾਣਾ ਜਾਣਕਾਰੀ (ਹਟਾਈ ਗਈ):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"LTE ਭੌਤਿਕ ਕੈਮਰਾ ਸੰਰੂਪਣ:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"ਸੈੱਲ ਜਾਣਕਾਰੀ ਮੁੜ-ਤਾਜ਼ਾ ਕਰਨ ਦੀ ਦਰ:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"ਸਾਰੀ ਸੈੱਲ ਮਾਪ ਜਾਣਕਾਰੀ:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">" ਡਾਟਾ  ਸੇਵਾ:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"ਰੋਮਿੰਗ:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"ਇਸ \'ਤੇ ਕਾਲ ਰੀਡਾਇਰੈਕਟ ਕਰੋ:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"ਬੂਟ ਤੋਂ ਬਾਅਦ PPP ਰੀਸੈੱਟ ਦੀ ਗਿਣਤੀ:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"ਵਰਤਮਾਨ ਨੈੱਟਵਰਕ:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">" ਡਾਟਾ  ਪ੍ਰਾਪਤ ਹੋਇਆ:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"ਵੌਇਸ ਸੇਵਾ:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"ਸਿਗਨਲ ਦੀ ਤੀਬਰਤਾ:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"ਵੌਇਸ ਕਾਲ ਸਥਿਤੀ:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">" ਡਾਟਾ  ਭੇਜਿਆ ਗਿਆ:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"ਸੁਨੇਹਾ ਉਡੀਕ:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"ਫ਼ੋਨ ਨੰਬਰ:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"ਰੇਡੀਓ ਬੈਂਡ ਚੁਣੋ"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"ਵੌਇਸ ਨੈੱਟਵਰਕ ਪ੍ਰਕਾਰ:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"ਡਾਟਾ ਨੈੱਟਵਰਕ ਪ੍ਰਕਾਰ:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"ਫ਼ੋਨ ਕ੍ਰਮ-ਸੂਚੀ ਚੁਣੋ"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"ਤਰਜੀਹੀ ਨੈੱਟਵਰਕ ਪ੍ਰਕਾਰ ਸੈੱਟ ਕਰੋ:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"ਹੋਸਟਨੇਮ(www.google.com) IPv4 ਪਿੰਗ ਕਰੋ:"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"ਹੋਸਟਨੇਮ(www.google.com) IPv6 ਪਿੰਗ ਕਰੋ:"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"HTTP ਕਲਾਇੰਟ ਜਾਂਚ:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"ਪਿੰਗ ਟੈਸਟ ਚਲਾਓ"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"ਅੱਪਡੇਟ ਕਰੋ"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"ਤਾਜ਼ਾ"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"DNS ਜਾਂਚ ਟੌਗਲ ਕਰੋ"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"OEM-ਵਿਸ਼ੇਸ ਜਾਣਕਾਰੀ/ਸੈਟਿੰਗਾਂ"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"ਰੇਡੀਓ ਬੈਂਡ ਮੋਡ ਸੈੱਟ ਕਰੋ"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"ਬੈਂਡ ਸੂਚੀ ਲੋਡ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ…"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"ਸੈੱਟ ਕਰੋ"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"ਅਸਫਲ"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"ਸਫਲ"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"ਬਦਲਾਵ ਉਦੋਂ ਲਾਗੂ ਹੋਣਗੇ ਜਦੋਂ USB ਕੇਬਲ ਨੂੰ ਰੀਕਨੈਕਟ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।"</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"USB ਮਾਸ ਸਟੋਰੇਜ ਸਮਰੱਥ ਕਰੋ"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"ਕੁੱਲ ਬਾਈਟਸ:"</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"ਥੱਲੇ ਲੈ ਜਾਓ"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"ਭਾਸ਼ਾ ਹਟਾਓ"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"ਗਤੀਵਿਧੀ ਚੁਣੋ"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"ਡੀਵਾਈਸ ਜਾਣਕਾਰੀ"</string>
     <string name="display_label" msgid="3056320781191343221">"ਸਕ੍ਰੀਨ"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"ਟੈਬਲੈੱਟ ਜਾਣਕਾਰੀ"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"ਫ਼ੋਨ ਜਾਣਕਾਰੀ"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"USB ਸਟੋਰੇਜ"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"SD ਕਾਰਡ"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"ਪ੍ਰੌਕਸੀ ਸੈਟਿੰਗਾਂ"</string>
@@ -306,9 +234,6 @@
     <string name="airplane_mode" msgid="3196085857882526817">"ਹਵਾਈ ਜਹਾਜ਼ ਮੋਡ"</string>
     <string name="wireless_networks_settings_title" msgid="8557542379234105369">"ਵਾਇਰਲੈੱਸ ਅਤੇ ਨੈੱਟਵਰਕ"</string>
     <string name="radio_controls_summary" msgid="9028430178697624501">"ਵਾਈ‑ਫਾਈ, ਬਲੂਟੁੱਥ, ਹਵਾਈ ਜਹਾਜ਼ ਮੋਡ, ਮੋਬਾਈਲ ਨੈੱਟਵਰਕ &amp; VPN ਪ੍ਰਬੰਧਿਤ ਕਰੋ"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"ਮੋਬਾਈਲ ਡਾਟਾ"</string>
-    <string name="calls_title" msgid="6334813967619899114">"ਕਾਲਾਂ ਦੀ ਇਜਾਜ਼ਤ ਦਿਓ"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"SMS ਸੁਨੇਹੇ"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"ਮੋਬਾਈਲ ਨੈੱਟਵਰਕ \'ਤੇ ਡਾਟਾ ਵਰਤੋਂ ਚਾਲੂ ਕਰੋ"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"ਰੋਮਿੰਗ ਵੇਲੇ ਡਾਟਾ ਵਰਤੋਂ ਦੀ ਆਗਿਆ ਦਿਓ"</string>
     <string name="roaming" msgid="3055365654530847985">"ਰੋਮਿੰਗ"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"ਰੋਮਿੰਗ ਵੇਲੇ ਡਾਟਾ ਸੇਵਾਵਾਂ ਨਾਲ ਕਨੈਕਟ ਕਰੋ"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"ਤੁਹਾਡੀ ਡਾਟਾ ਕਨੈਕਟੀਵਿਟੀ ਨਸ਼ਟ ਹੋ ਗਈ ਹੈ ਕਿਉਂਕਿ ਤੁਸੀਂ ਡਾਟਾ ਰੋਮਿੰਗ ਬੰਦ ਨਾਲ ਆਪਣਾ ਹੋਮ ਨੈੱਟਵਰਕ ਛੱਡ ਦਿੱਤਾ ਸੀ।"</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"ਇਸਤੇ ਚਾਲੂ ਕਰੋ"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"ਤੁਹਾਨੂੰ ਵਾਧੂ ਖਰਚਾ ਦੇਣਾ ਪੈ ਸਕਦਾ ਹੈ"</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"ਜਦੋਂ ਤੁਸੀਂ ਡਾਟਾ ਰੋਮਿੰਗ ਦੀ ਆਗਿਆ ਦਿੰਦੇ ਹੋ, ਤਾਂ ਤੁਹਾਨੂੰ ਖਾਸ ਰੋਮਿੰਗ ਖਰਚੇ ਪੈ ਸਕਦੇ ਹਨ!\n\nਇਹ ਸੈਟਿੰਗ ਇਸ ਟੈਬਲੈੱਟ ਦੇ ਸਾਰੇ ਵਰਤੋਂਕਾਰਾਂ ਤੇ ਅਸਰ ਪਾਉਂਦੀ ਹੈ।"</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"ਜਦੋਂ ਤੁਸੀਂ ਡਾਟਾ ਰੋਮਿੰਗ ਦੀ ਆਗਿਆ ਦਿੰਦੇ ਹੋ, ਤਾਂ ਤੁਹਾਨੂੰ ਖਾਸ ਰੋਮਿੰਗ ਖਰਚੇ ਪੈ ਸਕਦੇ ਹਨ!\n\nਇਹ ਸੈਟਿੰਗ ਇਸ ਫ਼ੋਨ ਦੇ ਸਾਰੇ ਵਰਤੋਂਕਾਰਾਂ ਤੇ ਅਸਰ ਪਾਉਂਦੀ ਹੈ।"</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"ਰੋਮਿੰਗ ਖਰਚੇ ਲਾਗੂ ਹੋ ਸਕਦੇ ਹਨ।"</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"ਜਦੋਂ ਤੁਸੀਂ ਡਾਟਾ ਰੋਮਿੰਗ ਦੀ ਆਗਿਆ ਦਿੰਦੇ ਹੋ, ਤਾਂ ਰੋਮਿੰਗ ਖਰਚੇ ਲਾਗੂ ਹੋ ਸਕਦੇ ਹਨ।\n\nਇਹ ਸੈਟਿੰਗ ਇਸ ਟੈਬਲੈੱਟ \'ਤੇ ਸਾਰੇ ਵਰਤੋਂਕਾਰਾਂ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰਦੀ ਹੈ।"</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"ਜਦੋਂ ਤੁਸੀਂ ਡਾਟਾ ਰੋਮਿੰਗ ਦੀ ਆਗਿਆ ਦਿੰਦੇ ਹੋ, ਤਾਂ ਰੋਮਿੰਗ ਖਰਚੇ ਲਾਗੂ ਹੋ ਸਕਦੇ ਹਨ।\n\nਇਹ ਸੈਟਿੰਗ ਇਸ ਫ਼ੋਨ \'ਤੇ ਸਾਰੇ ਵਰਤੋਂਕਾਰਾਂ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰਦੀ ਹੈ।"</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"ਕੀ ਡਾਟਾ ਰੋਮਿੰਗ ਦੀ ਆਗਿਆ ਦੇਣੀ ਹੈ?"</string>
     <string name="networks" msgid="5184501333492775095">"ਓਪਰੇਟਰ ਚੋਣ"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"ਇੱਕ ਨੈੱਟਵਰਕ ਓਪਰੇਟਰ ਚੁਣੋ"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"ਪ੍ਰਸ਼ਾਸਕ ਦੁਆਰਾ ਅਯੋਗ ਬਣਾਇਆ ਗਿਆ"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"ਲਾਕਡਾਊਨ ਵਿਕਲਪ ਦਿਖਾਓ"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"ਪਾਵਰ ਬਟਨ ਵਿਕਲਪ ਦਿਖਾਓ ਜੋ ਸਮਾਰਟ ਲਾਕ, ਬਾਇਓਮੈਟ੍ਰਿਕ ਅਣਲਾਕ ਅਤੇ ਲਾਕ ਸਕ੍ਰੀਨ \'ਤੇ ਸੂਚਨਾਵਾਂ ਨੂੰ ਬੰਦ ਕਰਦਾ ਹੈ"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"ਭਰੋਸੇਯੋਗ ਏਜੰਟਾਂ ਲਈ ਵਿਸਤ੍ਰਿਤ ਅਣਲਾਕ"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"ਚਾਲੂ ਹੋਣ \'ਤੇ, ਭਰੋਸੇਯੋਗ ਏਜੰਟ ਤੁਹਾਡੇ ਡੀਵਾਈਸ ਨੂੰ ਲੰਮੇ ਸਮੇਂ ਤੱਕ ਅਣਲਾਕ ਰੱਖਣਗੇ, ਪਰ ਹੁਣ ਕਿਸੇ ਲਾਕ ਕੀਤੇ ਡੀਵਾਈਸ ਨੂੰ ਅਣਲਾਕ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ।"</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"ਭਰੋਸਾ ਗੁਆਉਣ \'ਤੇ ਸਕ੍ਰੀਨ ਲਾਕ ਕਰੋ"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"ਚਾਲੂ ਹੋਣ \'ਤੇ, ਆਖਰੀ ਭਰੋਸੇਯੋਗ ਏਜੰਟ ਵੱਲੋਂ ਭਰੋਸਾ ਗੁਆਉਣ \'ਤੇ ਡੀਵਾਈਸ ਲਾਕ ਹੋ ਜਾਵੇਗਾ।"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"ਕੋਈ ਨਹੀਂ"</string>
@@ -390,7 +313,7 @@
     <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="disabled_by_administrator_summary" msgid="4181894719300350343">"ਪ੍ਰਸ਼ਾਸਕ ਦੁਆਰਾ ਅਯੋਗ ਬਣਾਇਆ ਗਿਆ"</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>
@@ -693,7 +616,6 @@
       <item quantity="one"><xliff:g id="NUMBER_1">%d</xliff:g> ਤੋਂ ਘੱਟ ਅੰਕ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ</item>
       <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> ਤੋਂ ਵਧੇਰੇ ਘੱਟ ਅੰਕ ਹੋਣੇ ਚਾਹੀਦੇ ਹਨ</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"ਸਿਰਫ਼ 0-9 ਤੱਕ ਅੰਕ ਸ਼ਾਮਲ ਹੋਣੇ ਲਾਜ਼ਮੀ ਹਨ"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"ਡੀਵਾਈਸ ਪ੍ਰਸ਼ਾਸਕ ਇੱਕ ਹਾਲੀਆ ਪਿੰਨ ਵਰਤਣ ਦੀ ਇਜਾਜ਼ਤ ਨਹੀਂ ਦਿੰਦਾ ਹੈ"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"ਆਮ ਪਿੰਨ ਤੁਹਾਡੇ IT ਪ੍ਰਸ਼ਾਸਕ ਵੱਲੋਂ ਬਲਾਕ ਕੀਤੇ ਗਏ ਹਨ। ਕੋਈ ਵੱਖਰਾ ਪਿੰਨ ਵਰਤੋ।"</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"ਇਸ ਵਿੱਚ ਇੱਕ ਅਵੈਧ ਅੱਖਰ-ਚਿੰਨ੍ਹ ਸ਼ਾਮਲ ਨਹੀਂ ਹੋ ਸਕਦਾ"</string>
@@ -724,6 +646,10 @@
       <item quantity="one">ਘੱਟੋ-ਘੱਟ <xliff:g id="COUNT">%d</xliff:g> ਗੈਰ-ਅੱਖਰੀ ਅੱਖਰ-ਚਿੰਨ੍ਹ ਸ਼ਾਮਲ ਕਰਨਾ ਲਾਜ਼ਮੀ ਹੈ</item>
       <item quantity="other">ਘੱਟੋ-ਘੱਟ <xliff:g id="COUNT">%d</xliff:g> ਗੈਰ-ਅੱਖਰੀ ਅੱਖਰ-ਚਿੰਨ੍ਹ ਸ਼ਾਮਲ ਕਰਨਾ ਲਾਜ਼ਮੀ ਹੈ</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="one">ਘੱਟੋ-ਘੱਟ <xliff:g id="COUNT">%d</xliff:g> ਗੈਰ-ਸੰਖਿਆਵਾਚੀ ਅੱਖਰ-ਚਿੰਨ੍ਹ ਸ਼ਾਮਲ ਕਰਨਾ ਲਾਜ਼ਮੀ ਹੈ</item>
+      <item quantity="other">ਘੱਟੋ-ਘੱਟ <xliff:g id="COUNT">%d</xliff:g> ਗੈਰ-ਸੰਖਿਆਵਾਚੀ ਅੱਖਰ-ਚਿੰਨ੍ਹ ਸ਼ਾਮਲ ਕਰਨੇ ਲਾਜ਼ਮੀ ਹਨ</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"ਡੀਵਾਈਸ ਪ੍ਰਸ਼ਾਸਕ ਇੱਕ ਹਾਲੀਆ ਪਾਸਵਰਡ ਵਰਤਣ ਦੀ ਇਜਾਜ਼ਤ ਨਹੀਂ ਦਿੰਦਾ ਹੈ।"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"ਆਮ ਪਾਸਵਰਡ ਤੁਹਾਡੇ IT ਪ੍ਰਸ਼ਾਸਕ ਵੱਲੋਂ ਬਲਾਕ ਕੀਤੇ ਗਏ ਹਨ। ਕੋਈ ਵੱਖਰਾ ਪਾਸਵਰਡ ਵਰਤੋ।"</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"ਅੰਕਾਂ ਦਾ ਵਧਦਾ ਕ੍ਰਮ, ਘਟਦਾ ਕ੍ਰਮ, ਜਾਂ ਦੁਹਰਾਈ ਗਈ ਲੜੀ ਦੀ ਇਜਾਜ਼ਤ ਨਹੀਂ ਹੈ"</string>
@@ -837,19 +763,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2.4 GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"ਸਾਈਨ-ਇਨ ਕਰੋ"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"ਸਾਈਟ ਖੋਲ੍ਹੋ"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"<xliff:g id="REMAINING_TIME">%1$s</xliff:g> ਬਾਕੀ"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"<xliff:g id="EXPIRY_TIME">%1$s</xliff:g> ਨੂੰ ਮਿਆਦ ਮੁੱਕ ਜਾਵੇਗੀ"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"ਨੈੱਟਵਰਕ ਵਿੱਚ ਸਾਈਨ-ਇਨ ਕਰਨ ਲਈ ਇੱਥੇ ਟੈਪ ਕਰੋ"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"<xliff:g id="REQUESTER">%s</xliff:g> ਵਾਈ-ਫਾਈ ਨੂੰ ਚਾਲੂ ਕਰਨਾ ਚਾਹੁੰਦੀ ਹੈ"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"<xliff:g id="REQUESTER">%s</xliff:g> ਵਾਈ-ਫਾਈ ਨੂੰ ਬੰਦ ਕਰਨਾ ਚਾਹੁੰਦੀ ਹੈ"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"ਡੀਬੱਗਯੋਗ ਐਪਾਂ ਦੇ ਬਾਈਟਕੋਡ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"ਡੀਬੱਗਯੋਗ ਐਪਾਂ ਲਈ ART ਨੂੰ ਬਾਈਟਕੋਡ ਦੀ ਪੁਸ਼ਟੀ ਕਰਨ ਦਿਓ"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"ਰਿਫ੍ਰੈਸ਼ ਦਰ ਦਿਖਾਓ"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"ਹਾਲੀਆ ਡਿਸਪਲੇ ਦੀ ਰਿਫ੍ਰੈਸ਼ ਦਰ ਦਿਖਾਓ"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"ਜਦੋਂ ਟੈਬਲੈੱਟ ਦੂਜੇ ਡੀਵਾਈਸ ਨੂੰ ਛੋਂਹਦਾ ਹੈ ਤਾਂ ਡਾਟਾ ਵਟਾਂਦਰੇ ਦੀ ਆਗਿਆ ਦਿਓ"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"ਜਦੋਂ ਫ਼ੋਨ ਦੂਜੇ ਡੀਵਾਈਸ ਨੂੰ ਛੋਂਹਦਾ ਹੈ ਤਾਂ ਡਾਟਾ ਵਟਾਂਦਰੇ ਦੀ ਆਗਿਆ ਦਿਓ"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"ਜਦੋਂ ਟੈਬਲੈੱਟ NFC ਡੀਵਾਈਸ ਨੂੰ ਸਪਰਸ਼ ਕਰਦਾ ਹੈ ਤਾਂ ਡਾਟਾ ਵਟਾਂਦਰੇ ਦੀ ਆਗਿਆ ਦਿਓ"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"ਜਦੋਂ ਫ਼ੋਨ NFC ਡੀਵਾਈਸ ਨੂੰ ਸਪਰਸ਼ ਕਰਦਾ ਹੈ ਤਾਂ ਡਾਟਾ ਵਟਾਂਦਰੇ ਦੀ ਆਗਿਆ ਦਿਓ"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"NFC ਚਾਲੂ ਕਰੋ"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"NFC ਇਸ ਡੀਵਾਈਸ ਅਤੇ ਹੋਰ ਨੇੜਲੇ ਡੀਵਾਈਸਾਂ ਜਾਂ ਟੀਚਿਆਂ ਵਿਚਕਾਰ ਡਾਟੇ ਦਾ ਵਟਾਂਦਰਾ ਕਰਦਾ ਹੈ, ਜਿਵੇਂ ਕਿ ਭੁਗਤਾਨ ਟਰਮੀਨਲ, ਪਹੁੰਚ ਰੀਡਰ, ਅਤੇ ਅੰਤਰ-ਕਿਰਿਆਤਮਕ ਵਿਗਿਆਪਨ ਜਾਂ ਟੈਗ।"</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"ਸੁਰੱਖਿਅਤ NFC"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFC ਲਈ ਡੀਵਾਈਸ ਦਾ ਅਣਲਾਕ ਹੋਣਾ ਲੋੜੀਂਦਾ ਹੈ"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"ਸਿਰਫ਼ ਸਕ੍ਰੀਨ ਦੇ ਅਣਲਾਕ ਹੋਣ \'ਤੇ NFC ਭੁਗਤਾਨ ਅਤੇ ਲੈਣ-ਦੇਣ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦਿਓ"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android ਬੀਮ"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"NFC ਰਾਹੀਂ ਐਪ ਸਮੱਗਰੀ ਭੇਜਣ ਲਈ ਤਿਆਰ"</string>
@@ -923,8 +855,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"ਚਾਲੂ ਕਰੋ"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"ਵਾਈ-ਫਾਈ ਸਕੈਨਿੰਗ ਚਾਲੂ ਕੀਤੀ ਗਈ ਹੈ"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"ਵਿਕਸਿਤ ਵਿਕਲਪ"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"ਡ੍ਰੌਪ-ਡਾਊਨ ਸੂਚੀ ਉੱਨਤ ਵਿਕਲਪ। ਸੰਖਿਪਤ ਲਈ ਡਬਲ ਟੈਪ ਕਰੋ।"</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"ਡ੍ਰੌਪ-ਡਾਊਨ ਸੂਚੀ ਉੱਨਤ ਵਿਕਲਪ। ਵਿਸਤਾਰ ਕਰਨ ਲਈ ਡਬਲ ਟੈਪ ਕਰੋ।"</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"ਡ੍ਰੌਪ-ਡਾਊਨ ਸੂਚੀ ਦੇ ਉੱਨਤ ਵਿਕਲਪ"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"ਵਿਸਤਾਰ ਕਰੋ"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"ਨੈੱਟਵਰਕ ਦਾ ਨਾਮ"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"SSID ਦਾਖਲ ਕਰੋ"</string>
     <string name="wifi_security" msgid="9095934643631406913">"ਸੁਰੱਖਿਆ"</string>
@@ -934,6 +866,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"ਅਵਸਥਾ"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"ਭੇਜਣ ਸੰਬੰਧੀ ਲਿੰਕ ਦੀ ਗਤੀ"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"ਪ੍ਰਾਪਤ ਹੋਣ ਸੰਬੰਧੀ ਲਿੰਕ ਦੀ ਗਤੀ"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"ਲਿੰਕ ਸਪੀਡ"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"ਬਾਰੰਬਾਰਤਾ"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"IP ਪਤਾ"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"ਇਸ ਰਾਹੀਂ ਸੁਰੱਖਿਅਤ ਕੀਤਾ ਗਿਆ"</string>
@@ -941,6 +874,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"EAP ਵਿਧੀ"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"ਫੇਜ਼ 2 ਪ੍ਰਮਾਣੀਕਰਨ"</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>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"ਵਰਤੋਂਕਾਰ ਪ੍ਰਮਾਣ-ਪੱਤਰ"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"ਪਛਾਣ"</string>
@@ -957,6 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"ਵਾਈ-ਫਾਈ ਹੌਟਸਪੌਟ ਲਈ ਘੱਟੋ-ਘੱਟ ਇੱਕ ਬੈਂਡ ਚੁਣੋ:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"IP ਸੈਟਿੰਗਾਂ"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"ਪਰਦੇਦਾਰੀ"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"ਗਾਹਕੀ"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"ਗਾਹਕੀ ਦੇਖੋ ਜਾਂ ਬਦਲੋ"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"ਬੇਤਰਤੀਬਾ MAC"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"ਕੋਈ ਡੀਵਾਈਸ ਸ਼ਾਮਲ ਕਰੋ"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"ਡੀਵਾਈਸ ਨੂੰ “<xliff:g id="SSID">%1$s</xliff:g>” ਵਿੱਚ ਸ਼ਾਮਲ ਕਰਨ ਲਈ QR ਕੋਡ ਨੂੰ ਹੇਠਾਂ ਵਿਚਾਲੇ ਰੱਖੋ"</string>
@@ -966,12 +902,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"ਵਾਈ-ਫਾਈ ਸਾਂਝਾ ਕਰੋ"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"“<xliff:g id="SSID">%1$s</xliff:g>” ਨਾਲ ਕਨੈਕਟ ਕਰਨ ਲਈ ਇਹ QR ਕੋਡ ਸਕੈਨ ਕਰਕੇ ਪਾਸਵਰਡ ਸਾਂਝਾ ਕਰੋ"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"“<xliff:g id="SSID">%1$s</xliff:g>” ਨਾਲ ਕਨੈਕਟ ਕਰਨ ਲਈ ਇਹ QR ਕੋਡ ਸਕੈਨ ਕਰੋ"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"QR ਕੋਡ ਪੜ੍ਹਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ। ਕੋਡ ਮੁੜ-ਕੇਂਦਰਿਤ ਕਰਕੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ"</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ। ਜੇ ਸਮੱਸਿਆ ਜਾਰੀ ਰਹਿੰਦੀ ਹੈ, ਤਾਂ ਡੀਵਾਈਸ ਉਤਪਾਦਕ ਨੂੰ ਸੰਪਰਕ ਕਰੋ"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"ਕੋਈ ਗੜਬੜ ਹੋਈ"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"ਪੱਕਾ ਕਰੋ ਕਿ ਡੀਵਾਈਸ ਦਾ ਪਲੱਗ ਲੱਗਾ ਹੋਇਆ ਹੈ, ਚਾਰਜ ਕੀਤਾ ਹੋਇਆ ਅਤੇ ਚਾਲੂ ਹੈ"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"ਪੱਕਾ ਕਰੋ ਕਿ ਡੀਵਾਈਸ ਦਾ ਪਲੱਗ ਲੱਗਾ ਹੋਇਆ ਹੈ, ਚਾਰਜ ਕੀਤਾ ਹੋਇਆ ਅਤੇ ਚਾਲੂ ਹੈ। ਜੇ ਸਮੱਸਿਆ ਜਾਰੀ ਰਹਿੰਦੀ ਹੈ, ਤਾਂ ਡੀਵਾਈਸ ਉਤਪਾਦਕ ਨੂੰ ਸੰਪਰਕ ਕਰੋ"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"ਇਸ ਡੀਵਾਈਸ ਰਾਹੀਂ “<xliff:g id="SSID">%1$s</xliff:g>” ਨੂੰ ਸ਼ਾਮਲ ਕਰਨ ਦੀ ਸਹੂਲਤ ਨਹੀਂ ਹੈ"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"ਡੀਵਾਈਸ ਨੂੰ ਆਪਣੇ ਵਾਈ-ਫਾਈ ਪਹੁੰਚ ਬਿੰਦੂ/ਰਾਊਟਰ ਦੇ ਨੇੜੇ ਲਿਜਾ ਕੇ ਦੇਖੋ"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"ਪਾਸਵਰਡ ਦੀ ਜਾਂਚ ਕਰਕੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"ਡੀਵਾਈਸ ਉਤਪਾਦਕ ਨੂੰ ਸੰਪਰਕ ਕਰੋ"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"ਕਨੈਕਸ਼ਨ ਦੀ ਜਾਂਚ ਕਰਕੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"ਨੈੱਟਵਰਕ ਚੁਣੋ"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"ਆਪਣੇ ਡੀਵਾਈਸ ਨੂੰ ਕਨੈਕਟ ਕਰਨ ਲਈ, ਇੱਕ ਨੈੱਟਵਰਕ ਚੁਣੋ"</string>
@@ -984,11 +922,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"ਇਸ ਡੀਵਾਈਸ ਨਾਲ ਵਾਈ-ਫਾਈ ਸਾਂਝਾ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"ਕਨੈਕਟ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"ਹੌਟਸਪੌਟ ਸਾਂਝਾ ਕਰੋ"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"ਆਪਣੀ ਪਛਾਣ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"ਪੁਸ਼ਟੀ ਕਰੋ ਕਿ ਇਹ ਤੁਸੀਂ ਹੋ"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"ਵਾਈ-ਫਾਈ ਪਾਸਵਰਡ: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"ਹੌਟਸਪੌਟ ਪਾਸਵਰਡ: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"ਸਵੈ-ਕਨੈਕਟ ਕਰੋ"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"ਫ਼ੋਨ ਨੂੰ ਸਵੈਚਲਿਤ ਤੌਰ \'ਤੇ ਇਸ ਨੈੱਟਵਰਕ ਦੇ ਨੇੜੇ ਕਨੈਕਟ ਹੋਣ ਦੀ ਇਜਾਜ਼ਤ ਦਿਓ"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"ਟੈਬਲੈੱਟ ਨੂੰ ਸਵੈਚਲਿਤ ਤੌਰ \'ਤੇ ਇਸ ਨੈੱਟਵਰਕ ਦੇ ਨੇੜੇ ਕਨੈਕਟ ਹੋਣ ਦੀ ਇਜਾਜ਼ਤ ਦਿਓ"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"ਡੀਵਾਈਸ ਸ਼ਾਮਲ ਕਰੋ"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"ਇਸ ਨੈੱਟਵਰਕ \'ਤੇ ਡੀਵਾਈਸ ਸ਼ਾਮਲ ਕਰਨ ਲਈ QR ਕੋਡ ਵਰਤੋ"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"QR ਕੋਡ ਵੈਧ ਫਾਰਮੈਟ ਨਹੀਂ ਹੈ"</string>
     <string name="retry" msgid="7542103800274026915">"ਮੁੜ-ਕੋਸ਼ਿਸ਼ ਕਰੋ"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"ਹੋਰ ਡੀਵਾਈਸ ਵਰਤੋਂਕਾਰਾਂ ਨਾਲ ਸਾਂਝਾ ਕਰੋ"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(ਬਿਨਾਂ ਬਦਲਿਆ)"</string>
@@ -1000,6 +942,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"ਕੋਈ ਪ੍ਰਮਾਣ-ਪੱਤਰ ਨਿਰਧਾਰਤ ਨਹੀਂ ਕੀਤਾ ਗਿਆ। ਤੁਹਾਡਾ ਕਨੈਕਸ਼ਨ ਨਿੱਜੀ ਨਹੀਂ ਰਹੇਗਾ।"</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"ਨੈੱਟਵਰਕ ਦਾ ਨਾਮ ਬਹੁਤ ਹੀ ਵੱਡਾ ਹੈ।"</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"ਇੱਕ ਡੋਮੇਨ ਨਿਰਧਾਰਤ ਕਰਨਾ ਲਾਜ਼ਮੀ ਹੈ।"</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"ਪ੍ਰਮਾਣ-ਪੱਤਰ ਲੋੜੀਂਦਾ ਹੈ।"</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"WPS ਉਪਲਬਧ"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (WPS ਉਪਲਬਧ)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"ਕੈਰੀਅਰ ਵਾਈ‑ਫਾਈ ਨੈੱਟਵਰਕ"</string>
@@ -1051,7 +994,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"ਵਿਕਸਿਤ ਵਾਈ‑ਫਾਈ"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"MAC ਪਤਾ"</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_ip_address_title" msgid="4265355419782184514">"IP ਪਤਾ"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"ਨੈੱਟਵਰਕ ਵੇਰਵੇ"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"ਸਬਨੈੱਟ ਮਾਸਕ"</string>
@@ -1103,7 +1047,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"ਆਪਣੇ ਹੋਰ ਡੀਵਾਈਸਾਂ ਲਈ ਇੱਕ ਵਾਈ-ਫਾਈ ਨੈੱਟਵਰਕ ਬਣਾਉਣ ਲਈ ਹੌਟਸਪੌਟ ਦੀ ਵਰਤੋਂ ਕਰੋ। ਹੌਟਸਪੌਟ ਤੁਹਾਡੇ ਮੋਬਾਈਲ ਡਾਟਾ ਕਨੈਕਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇੰਟਰਨੈੱਟ ਮੁਹੱਈਆ ਕਰਵਾਉਂਦਾ ਹੈ। ਵਧੀਕ ਮੋਬਾਈਲ ਡਾਟਾ ਖਰਚੇ ਲਏ ਜਾ ਸਕਦੇ ਹਨ।"</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"ਨੇੜਲੇ ਡੀਵਾਈਸ ਨਾਲ ਸਮੱਗਰੀ ਨੂੰ ਸਾਂਝਾ ਕਰਨ ਲਈ ਐਪਾਂ ਇੱਕ ਹੌਟਸਪੌਟ ਬਣਾ ਸਕਦੇ ਹਨ।"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"ਹੌਟਸਪੌਟ ਸਵੈਚਲਿਤ ਤੌਰ \'ਤੇ ਬੰਦ ਕਰੋ"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"ਕਿਸੇ ਵੀ ਡੀਵਾਈਸ ਦੇ ਨਾ ਕਨੈਕਟ ਹੋਣ \'ਤੇ ਵਾਈ-ਫਾਈ ਹੌਟਸਪੌਟ ਬੰਦ ਹੋ ਜਾਵੇਗਾ"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"ਜਦੋਂ ਕੋਈ ਡੀਵਾਈਸ ਕਨੈਕਟ ਨਾ ਹੋਵੇ"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"ਹੌਟਸਪੌਟ ਚਾਲੂ ਕਰ ਰਿਹਾ ਹੈ..."</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"ਹੌਟਸਪੌਟ ਬੰਦ ਕਰ ਰਿਹਾ ਹੈ…"</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> ਕਿਰਿਆਸ਼ੀਲ ਹੈ"</string>
@@ -1112,6 +1056,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"ਵਾਈ‑ਫਾਈ ਹੌਟਸਪੌਟ ਸੈੱਟਅੱਪ"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"AndroidAP WPA2 PSK ਹੌਟਸਪੌਟ"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"AndroidHotspot"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"ਕੀ ਇਸ ਨੈੱਟਵਰਕ ਨੂੰ ਰੱਖਿਅਤ ਕਰਨਾ ਹੈ?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"<xliff:g id="APPNAME">%1$s</xliff:g> ਤੁਹਾਡੇ ਫ਼ੋਨ \'ਤੇ ਕਿਸੇ ਨੈੱਟਵਰਕ ਨੂੰ ਰੱਖਿਅਤ ਕਰਨਾ ਚਾਹੁੰਦੀ ਹੈ"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"<xliff:g id="APPNAME">%1$s</xliff:g> ਤੁਹਾਡੇ ਟੈਬਲੈੱਟ \'ਤੇ ਕਿਸੇ ਨੈੱਟਵਰਕ ਨੂੰ ਰੱਖਿਅਤ ਕਰਨਾ ਚਾਹੁੰਦੀ ਹੈ"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"ਰੱਖਿਅਤ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"ਰੱਖਿਅਤ ਕੀਤਾ"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"ਰੱਖਿਅਤ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ। ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"ਕੀ ਨੈੱਟਵਰਕਾਂ ਨੂੰ ਰੱਖਿਅਤ ਕਰਨਾ ਹੈ?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"<xliff:g id="APPNAME">%1$s</xliff:g> ਤੁਹਾਡੇ ਫ਼ੋਨ \'ਤੇ ਇਹਨਾਂ ਨੈੱਟਵਰਕਾਂ ਨੂੰ ਰੱਖਿਅਤ ਕਰਨਾ ਚਾਹੁੰਦੀ ਹੈ"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"<xliff:g id="APPNAME">%1$s</xliff:g> ਤੁਹਾਡੇ ਟੈਬਲੈੱਟ \'ਤੇ ਇਹਨਾਂ ਨੈੱਟਵਰਕਾਂ ਨੂੰ ਰੱਖਿਅਤ ਕਰਨਾ ਚਾਹੁੰਦੀ ਹੈ"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"<xliff:g id="NUMBER">%d</xliff:g> ਨੈੱਟਵਰਕਾਂ ਨੂੰ ਰੱਖਿਅਤ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"ਰੱਖਿਅਤ ਕੀਤੇ ਨੈੱਟਵਰਕਾਂ"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"ਵਾਈ-ਫਾਈ ਕਾਲਿੰਗ"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"ਵਾਈ-ਫਾਈ ਰਾਹੀਂ ਕਾਲਾਂ ਦਾ ਕਵਰੇਜ ਵਧਾਓ"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"ਕਵਰੇਜ ਵਧਾਉਣ ਲਈ ਵਾਈ-ਫਾਈ ਕਾਲਿੰਗ ਚਾਲੂ ਕਰੋ"</string>
@@ -1138,16 +1093,18 @@
     <string name="emergency_address_title" msgid="3490633500025717573">"ਸੰਕਟਕਾਲੀਨ ਪਤਾ"</string>
     <string name="emergency_address_summary" msgid="3022628750270626473">"ਤੁਹਾਡੇ ਵੱਲੋਂ ਕੀਤੀ ਜਾਣ ਵਾਲੀ ਕਿਸੇ ਸੰਕਟਕਾਲੀਨ ਕਾਲ ਵੇਲੇ ਇਹ ਪਤਾ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ"</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>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"ਵਾਈ-ਫਾਈ ਕਾਲਿੰਗ ਕਿਰਿਆਸ਼ੀਲ ਕਰੋ"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"ਵਾਈ-ਫਾਈ ਕਾਲਿੰਗ ਚਾਲੂ ਕਰੋ"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"%1$s ਲਈ ਵਾਈ-ਫਾਈ ਕਾਲਿੰਗ ਸਮਰਥਿਤ ਨਹੀਂ ਹੈ"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"<xliff:g id="SSID">%1$s</xliff:g> ਤੋਂ ਡਿਸਕਨੈਕਟ ਕੀਤਾ ਗਿਆ"</string>
     <string name="carrier" msgid="1755020806290963951">"ਕੈਰੀਅਰ"</string>
     <string name="display_settings_title" msgid="626835071804834218">"ਡਿਸਪਲੇ"</string>
     <string name="sound_settings" msgid="5514582720435174014">"ਧੁਨੀ"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"ਵੋਲਯੂਮ"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"ਸੰਗੀਤ ਇਫੈਕਟਸ"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"ਰਿੰਗ ਦੀ ਅਵਾਜ਼"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"ਘੰਟੀ ਅਤੇ ਸੂਚਨਾ ਦੀ ਅਵਾਜ਼"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"ਸ਼ਾਂਤ ਹੋਣ ਵੇਲੇ ਥਰਥਰਾਹਟ ਕਰੋ"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"ਪੂਰਵ-ਨਿਰਧਾਰਤ ਸੂਚਨਾ ਧੁਨੀ"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"ਰਿੰਗਟੋਨ"</string>
@@ -1272,13 +1229,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"ਸਮਾਂ-ਸੂਚੀ"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"ਕੋਈ ਨਹੀਂ"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"ਸੂਰਜ ਡੁੱਬਣ ਤੋਂ ਚੜ੍ਹਨ ਤੱਕ ਚਾਲੂ"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"ਵਿਉਂਂਤੇ ਸਮੇਂ \'ਤੇ ਚਾਲੂ ਹੁੰਦੀ ਹੈ"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"ਸਥਿਤੀ"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"ਬੰਦ / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"ਆਪਣੇ ਆਪ ਕਦੇ ਵੀ ਚਾਲੂ ਨਹੀਂ ਹੋਵੇਗਾ"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"ਸੂਰਜ ਡੁੱਬਣ ਸਮੇਂ ਆਪਣੇ ਆਪ ਚਾਲੂ ਹੋ ਜਾਵੇਗਾ"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"<xliff:g id="ID_1">%1$s</xliff:g> ਵਜੇ ਸਵੈਚਲਿਤ ਤੌਰ \'ਤੇ ਚਾਲੂ ਹੋ ਜਾਵੇਗੀ"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"ਚਾਲੂ / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"ਆਪਣੇ ਆਪ ਕਦੇ ਵੀ ਬੰਦ ਨਹੀਂ ਹੋਵੇਗਾ"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"ਸੂਰਜ ਚੜ੍ਹਨ ਸਮੇਂ ਆਪਣੇ ਆਪ ਬੰਦ ਹੋ ਜਾਵੇਗਾ"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"<xliff:g id="ID_1">%1$s</xliff:g> ਨੂੰ ਸਵੈਚਲਿਤ ਤੌਰ \'ਤੇ ਬੰਦ ਹੋ ਜਾਵੇਗੀ"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"<xliff:g id="ID_1">%1$s</xliff:g> ਤੱਕ ਚਾਲੂ ਕਰੋ"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"<xliff:g id="ID_1">%1$s</xliff:g> ਤੱਕ ਬੰਦ ਕਰੋ"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"ਕੁਝ ਸਕ੍ਰੀਨਾਂ \'ਤੇ ਗੂੜ੍ਹਾ ਥੀਮ ਬੈਟਰੀ ਨੂੰ ਵਧੇਰੇ ਲੰਬੇ ਸਮੇਂ ਤੱਕ ਬਚਾਈ ਰੱਖਣ ਵਿੱਚ ਮਦਦ ਲਈ ਕਾਲੇ ਰੰਗ ਦੇ ਬੈਕਗ੍ਰਾਊਂਡ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ। ਗੂੜ੍ਹੇ ਥੀਮ ਨੂੰ ਸਕ੍ਰੀਨ ਬੰਦ ਹੋਣ ਤੱਕ ਚਾਲੂ ਰੱਖਿਆ ਜਾਂਦਾ ਹੈ।"</string>
     <string name="screen_timeout" msgid="7709947617767439410">"ਸਕ੍ਰੀਨ ਦੇ ਬੰਦ ਹੋਣ ਦਾ ਸਮਾਂ"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"ਸਕ੍ਰੀਨ ਬੰਦ ਹੈ"</string>
@@ -1290,7 +1252,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"ਵਾਲਪੇਪਰ ਬਦਲੋ"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"ਆਪਣੀ ਸਕ੍ਰੀਨ ਨੂੰ ਵਿਅਕਤੀਗਤ ਬਣਾਓ"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"ਇਸਤੋਂ ਵਾਲਪੇਪਰ ਚੁਣੋ"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"ਆਪਣੇ Pixel ਨੂੰ ਵਿਉਂਤਬੱਧ ਕਰੋ"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"ਆਪਣੇ ਫ਼ੋਨ ਨੂੰ ਵਿਉਂਤਬੱਧ ਕਰੋ"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"ਵੱਖ-ਵੱਖ ਸਟਾਈਲ, ਵਾਲਪੇਪਰ ਵਰਤ ਕੇ ਦੇਖੋ ਅਤੇ ਹੋਰ ਬਹੁਤ ਕੁਝ"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"ਸਕ੍ਰੀਨ ਸੇਵਰ"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"ਚਾਰਜ ਕਰਦੇ ਜਾਂ ਡੌਕ ਕੀਤੇ ਹੋਣ ਦੌਰਾਨ"</string>
@@ -1379,6 +1341,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"USB ਸਟੋਰੇਜ ਨੂੰ ਅਨਮਾਉਂਟ ਕਰੋ, ਉਪਲਬਧ ਸਟੋਰੇਜ ਦੇਖੋ"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"SD ਕਾਰਡ ਅਨਮਾਉਂਟ ਕਰੋ, ਉਪਲਬਧ ਸਟੋਰੇਜ ਦੇਖੋ"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (ਸਿਮ ਸਲੌਟ %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"ਦੇਖਣ ਲਈ, ਰੱਖਿਅਤ ਕੀਤਾ ਗਿਆ ਨੈੱਟਵਰਕ ਚੁਣੋ"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"ਫ਼ੋਨ ਨੰਬਰ"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (ਸਿਮ ਸਲੌਟ %1$d)"</string>
@@ -1405,6 +1368,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"ਰੋਮਿੰਗ"</string>
     <string name="status_operator" msgid="4335640583552058491">"ਨੈੱਟਵਰਕ"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"ਵਾਈ‑ਫਾਈ MAC ਪਤਾ"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"ਡੀਵਾਈਸ ਵਾਈ-ਫਾਈ MAC ਪਤਾ"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"ਬਲੂਟੁੱਥ ਪਤਾ"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"ਸੀਰੀਅਲ ਨੰਬਰ"</string>
     <string name="status_up_time" msgid="1274778533719495438">"ਅੱਪ ਟਾਈਮ"</string>
@@ -1617,6 +1581,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"ਪੂਰਵ-ਨਿਰਧਾਰਤ APN ਸੈਟਿੰਗਾਂ ਰੀਸੈੱਟ ਕਰਨਾ ਪੂਰਾ ਹੋਇਆ।"</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"ਰੀਸੈੱਟ ਵਿਕਲਪ"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"ਨੈੱਟਵਰਕ, ਐਪਾਂ, ਜਾਂ ਡੀਵਾਈਸ ਨੂੰ ਰੀਸੈੱਟ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"ਐਪਾਂ ਨੂੰ ਰੀਸੈੱਟ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"ਵਾਈ-ਫਾਈ, ਮੋਬਾਈਲ ਅਤੇ ਬਲੂਟੁੱਥ ਨੂੰ ਰੀਸੈੱਟ ਕਰੋ"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"ਇਹ ਨੈੱਟਵਰਕ ਦੀਆਂ ਸਾਰੀਆਂ ਸੈਟਿੰਗਾਂ ਨੂੰ ਰੀਸੈੱਟ ਕਰੇਗਾ, ਜਿਸ ਵਿੱਚ ਇਹ ਸ਼ਾਮਲ ਹਨ:\n\n"<li>"ਵਾਈ-ਫਾਈ"</li>\n<li>"ਮੋਬਾਈਲ ਡਾਟਾ"</li>\n<li>"ਬਲੂਟੁੱਥ"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"ਡਾਊਨਲੋਡ ਕੀਤੇ ਸਿਮ ਮਿਟਾਓ"</string>
@@ -1666,6 +1631,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"ਹੌਟਸਪੌਟ ਚਾਲੂ ਹੈ"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"ਟੈਦਰਿੰਗ"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"ਡਾਟਾ ਸੇਵਰ ਚਾਲੂ ਹੋਣ \'ਤੇ ਟੈਦਰ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ ਜਾਂ ਪੋਰਟੇਬਲ ਹੌਟਸਪੌਟ ਦੀ ਵਰਤੋਂ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"ਸਿਰਫ਼ ਹੌਟਸਪੌਟ"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"ਸਿਰਫ਼ USB"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"ਸਿਰਫ਼ ਬਲੂਟੁੱਥ"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"ਹੌਟਸਪੌਟ, USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"ਹੌਟਸਪੌਟ, ਬਲੂਟੁੱਥ"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB, ਬਲੂਟੁੱਥ"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"ਹੌਟਸਪੌਟ, USB, ਬਲੂਟੁੱਥ"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"ਦੂਜੇ ਡੀਵਾਈਸਾਂ ਨਾਲ ਇੰਟਰਨੈੱਟ ਸਾਂਝਾ ਨਹੀਂ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"ਟੈਦਰਿੰਗ"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"ਵਾਈ-ਫਾਈ ਹੌਟਸਪੌਟ ਨਾ ਵਰਤੋ"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"ਸਿਰਫ਼ USB ਰਾਹੀਂ ਇੰਟਰਨੈੱਟ ਸਾਂਝਾ ਕਰੋ"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"ਸਿਰਫ਼ ਬਲੂਟੁੱਥ ਰਾਹੀਂ ਇੰਟਰਨੈੱਟ ਸਾਂਝਾ ਕਰੋ"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"ਸਿਰਫ਼ USB ਅਤੇ ਬਲੂਟੁੱਥ ਰਾਹੀਂ ਇੰਟਰਨੈੱਟ ਸਾਂਝਾ ਕਰੋ"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB ਟੈਦਰਿੰਗ"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"ਫ਼ੋਨ ਦੇ ਇੰਟਰਨੈੱਟ ਕਨੈਕਸ਼ਨ ਨੂੰ USB ਰਾਹੀਂ ਸਾਂਝਾ ਕਰੋ"</string>
@@ -1756,9 +1734,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"ਸੁਰੱਖਿਆ ਜਾਣਕਾਰੀ"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"ਤੁਹਾਡੇ ਕੋਲ ਕੋਈ ਡਾਟਾ ਕਨੈਕਸ਼ਨ ਨਹੀਂ ਹੈ। ਹੁਣ ਇਸ ਜਾਣਕਾਰੀ ਨੂੰ ਦੇਖਣ ਲਈ, ਇੰਟਰਨੈੱਟ ਨਾਲ ਕਨੈਕਟ ਕੀਤੇ ਕਿਸੇ ਵੀ ਕੰਪਿਊਟਰ ਤੋਂ %s \'ਤੇ ਜਾਓ।"</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"ਲੋਡ ਕਰ ਰਿਹਾ ਹੈ…"</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"ਪਿੰਨ ਵਰਤੋ"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"ਪੈਟਰਨ ਵਰਤੋ"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"ਪਾਸਵਰਡ ਵਰਤੋ"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"ਸਕ੍ਰੀਨ ਲਾਕ ਸੈੱਟ ਕਰੋ"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"ਸੁਰੱਖਿਆ ਲਈ, ਪਾਸਵਰਡ ਸੈੱਟ ਕਰੋ"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"ਫਿੰਗਰਪ੍ਰਿੰਟ ਵਰਤਣ ਲਈ ਪਾਸਵਰਡ ਸੈੱਟ ਕਰੋ"</string>
@@ -1767,8 +1742,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"ਫਿੰਗਰਪ੍ਰਿੰਟ ਵਰਤਣ ਲਈ ਪਿੰਨ ਸੈੱਟ ਕਰੋ"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"ਸੁਰੱਖਿਆ ਲਈ, ਪੈਟਰਨ ਸੈੱਟ ਕਰੋ"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"ਆਪਣਾ ਪਾਸਵਰਡ ਮੁੜ-ਦਾਖਲ ਕਰੋ"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"ਆਪਣਾ ਕਾਰਜ ਪਾਸਵਰਡ ਦਾਖਲ ਕਰੋ"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"ਆਪਣੇ ਪੈਟਰਨ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"ਆਪਣਾ ਕਾਰਜ ਪੈਟਰਨ ਦਾਖਲ ਕਰੋ"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"ਆਪਣਾ ਪਿੰਨ ਮੁੜ-ਦਾਖਲ ਕਰੋ"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"ਆਪਣਾ ਕਾਰਜ ਪਿੰਨ ਦਾਖਲ ਕਰੋ"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"ਪਾਸਵਰਡ ਮੇਲ ਨਹੀਂ ਖਾਂਦੇ"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"ਪਿੰਨ ਮੇਲ ਨਹੀਂ ਖਾਂਦੇ"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"ਆਪਣਾ ਪੈਟਰਨ ਦੁਬਾਰਾ ਉਲੀਕੋ"</string>
@@ -1779,6 +1757,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"ਚਿਹਰਾ ਅਣਲਾਕ ਲਈ, ਪਾਸਵਰਡ ਸੈੱਟ ਕਰੋ"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"ਚਿਹਰਾ ਅਣਲਾਕ ਵਰਤਣ ਲਈ, ਪੈਟਰਨ ਸੈੱਟ ਕਰੋ"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"ਚਿਹਰਾ ਅਣਲਾਕ ਲਈ, ਪਿੰਨ ਸੈੱਟ ਕਰੋ"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"ਕੀ ਆਪਣਾ ਪਾਸਵਰਡ ਭੁੱਲ ਗਏ?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"ਕੀ ਆਪਣਾ ਪੈਟਰਨ ਭੁੱਲ ਗਏ?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"ਕੀ ਆਪਣਾ ਪਿੰਨ ਭੁੱਲ ਗਏ?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"ਜਾਰੀ ਰੱਖਣ ਲਈ ਆਪਣੇ ਡੀਵਾਈਸ ਦਾ ਪੈਟਰਨ ਵਰਤੋ"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"ਜਾਰੀ ਰੱਖਣ ਲਈ ਆਪਣੇ ਡੀਵਾਈਸ ਦਾ ਪਿੰਨ ਦਾਖਲ ਕਰੋ"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"ਜਾਰੀ ਰੱਖਣ ਲਈ ਆਪਣਾ ਡੀਵਾਈਸ ਪਾਸਵਰਡ ਦਾਖਲ ਕਰੋ"</string>
@@ -1846,6 +1827,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"ਸਾਰੇ ਐਪ ਸਰੋਤਾਂ ਦੀ ਆਗਿਆ ਦਿਓ"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"ਹਾਲ ਹੀ ਵਿੱਚ ਖੋਲ੍ਹੀਆਂ ਗਈਆਂ ਐਪਾਂ"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"ਸਾਰੀਆਂ <xliff:g id="COUNT">%1$d</xliff:g> ਐਪਾਂ ਦੇਖੋ"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"ਆਪਣੇ IT ਪ੍ਰਸ਼ਾਸਕ ਨਾਲ ਸੰਪਰਕ ਕਰੋ"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"ਉਹ ਤੁਹਾਨੂੰ ਆਪਣਾ ਪਿੰਨ, ਪੈਟਰਨ ਜਾਂ ਪਾਸਵਰਡ ਰੀਸੈੱਟ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰ ਸਕਦੇ ਹਨ"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"ਤੁਹਾਡਾ ਟੈਬਲੈੱਟ ਅਤੇ ਨਿੱਜੀ ਡਾਟਾ ਅਗਿਆਤ ਐਪਾਂ ਤੋਂ ਹਮਲੇ ਪ੍ਰਤੀ ਵਧੇਰੇ ਕਮਜ਼ੋਰ ਹੈ। ਇਸ ਸਰੋਤ ਤੋਂ ਐਪਾਂ ਸਥਾਪਿਤ ਕਰਕੇ, ਤੁਸੀਂ ਸਹਿਮਤੀ ਦਿੰਦੇ ਹੋ ਕਿ ਆਪਣੇ ਟੈਬਲੈੱਟ ਨੂੰ ਹੋਣ ਵਾਲੇ ਕਿਸੇ ਵੀ ਨੁਕਸਾਨ ਜਾਂ ਡਾਟੇ ਦੇ ਗੁੰਮ ਹੋਣ ਲਈ ਤੁਸੀਂ ਜ਼ਿੰਮੇਵਾਰ ਹੋ, ਜੋ ਸ਼ਾਇਦ ਇਹਨਾਂ ਐਪਾਂ ਨੂੰ ਵਰਤਣ ਦੇ ਨਤੀਜੇ ਵਜੋਂ ਹੋ ਸਕਦਾ ਹੈ।"</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"ਤੁਹਾਡਾ ਫ਼ੋਨ ਅਤੇ ਨਿੱਜੀ ਡਾਟਾ ਅਗਿਆਤ ਐਪਾਂ ਤੋਂ ਹਮਲੇ ਪ੍ਰਤੀ ਵਧੇਰੇ ਵਿੰਨਣਸ਼ੀਲ ਹਨ। ਇਸ ਸਰੋਤ ਤੋਂ ਐਪਾਂ ਸਥਾਪਤ ਕਰ ਕੇ, ਤੁਸੀਂ ਸਹਿਮਤੀ ਦਿੰਦੇ ਹੋ ਕਿ ਆਪਣੇ ਫ਼ੋਨ ਨੂੰ ਹੋਣ ਵਾਲੇ ਕਿਸੇ ਵੀ ਨੁਕਸਾਨ ਜਾਂ ਡਾਟੇ ਦੇ ਗੁੰਮ ਹੋਣ ਲਈ ਤੁਸੀਂ ਜ਼ਿੰਮੇਵਾਰ ਹੋ ਜੋ ਸ਼ਾਇਦ ਇਹਨਾਂ ਐਪਾਂ ਨੂੰ ਵਰਤਣ ਦੇ ਨਤੀਜੇ ਵਜੋਂ ਹੋ ਸਕਦਾ ਹੈ।"</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"ਤੁਹਾਡਾ ਡੀਵਾਈਸ ਅਤੇ ਨਿੱਜੀ ਡਾਟਾ ਅਗਿਆਤ ਐਪਾਂ ਤੋਂ ਹਮਲੇ ਪ੍ਰਤੀ ਵਧੇਰੇ ਵਿੰਨਣਸ਼ੀਲ ਹਨ। ਇਸ ਸਰੋਤ ਤੋਂ ਐਪਾਂ ਸਥਾਪਤ ਕਰ ਕੇ, ਤੁਸੀਂ ਸਹਿਮਤੀ ਦਿੰਦੇ ਹੋ ਕਿ ਆਪਣੇ ਡੀਵਾਈਸ ਨੂੰ ਹੋਣ ਵਾਲੇ ਕਿਸੇ ਵੀ ਨੁਕਸਾਨ ਜਾਂ ਡਾਟੇ ਦੇ ਗੁੰਮ ਹੋਣ ਲਈ ਤੁਸੀਂ ਜ਼ਿੰਮੇਵਾਰ ਹੋ ਜੋ ਸ਼ਾਇਦ ਇਹਨਾਂ ਐਪਾਂ ਨੂੰ ਵਰਤਣ ਦੇ ਨਤੀਜੇ ਵਜੋਂ ਹੋ ਸਕਦਾ ਹੈ।"</string>
@@ -1897,7 +1880,7 @@
     <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="1377296810290814749">"ਇਹ ਹੇਠਲੀਆਂ ਸਾਰੀਆਂ ਤਰਜੀਹਾਂ ਨੂੰ ਰੀਸੈੱਟ ਕਰ ਦੇਵੇਗਾ:\n\n"<li>"ਬੰਦ ਕੀਤੀਆਂ ਐਪਾਂ"</li>\n<li>"ਬੰਦ ਕੀਤੀਆਂ ਐਪ ਸੂਚਨਾਵਾਂ"</li>\n<li>"ਕਿਰਿਆਵਾਂ ਲਈ ਪੂਰਵ-ਨਿਰਧਾਰਤ ਐਪਲੀਕੇਸ਼ਨਾਂ"</li>\n<li>"ਐਪਾਂ ਲਈ ਬੈਕਗ੍ਰਾਊਂਡ ਡਾਟਾ ਪਾਬੰਦੀਆਂ"</li>\n<li>"ਕੋਈ ਵੀ ਇਜਾਜ਼ਤ ਪਾਬੰਦੀਆਂ"</li>\n\n"ਤੁਸੀਂ ਕੋਈ ਵੀ ਐਪ ਡਾਟਾ ਨਹੀਂ ਗੁਆਓਗੇ।"</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>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"ਐਪਾਂ ਰੀਸੈੱਟ ਕਰੋ"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"ਸਪੇਸ ਵਿਵਸਥਿਤ ਕਰੋ"</string>
     <string name="filter" msgid="9039576690686251462">"ਫਿਲਟਰ"</string>
@@ -2097,7 +2080,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"ਆਡੀਓ ਅਤੇ ਆਨ-ਸਕ੍ਰੀਨ ਲਿਖਤ"</string>
     <string name="display_category_title" msgid="6638191682294461408">"ਡਿਸਪਲੇ"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"ਅੰਤਰਕਿਰਿਆ ਕੰਟਰੋਲ"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"ਡਾਊਨਲੋਡ ਕੀਤੀਆਂ ਸੇਵਾਵਾਂ"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"ਡਾਊਨਲੋਡ ਕੀਤੀਆਂ ਐਪਾਂ"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"ਪ੍ਰਯੋਗਮਈ"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"ਵਿਸ਼ੇਸ਼ਤਾ ਵਾਲੇ ਫਲੈਗ"</string>
     <string name="talkback_title" msgid="8756080454514251327">"Talkback"</string>
@@ -2105,27 +2088,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"ਆਪਣੀ ਸਕ੍ਰੀਨ \'ਤੇ ਦਿੱਤੀਆਂ ਆਈਟਮਾਂ ਨੂੰ ਉੱਚੀ ਅਵਾਜ਼ ਵਿੱਚ ਸੁਣਨ ਲਈ ਉਹਨਾਂ \'ਤੇ ਟੈਪ ਕਰੋ"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"ਸੁਰਖੀ ਤਰਜੀਹਾਂ"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"ਵੱਡਦਰਸ਼ੀਕਰਨ"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"ਵੱਡਦਰਸ਼ੀਕਰਨ ਖੇਤਰ"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"ਵੱਡਦਰਸ਼ੀਕਰਨ ਚਾਲੂ ਕਰੋ"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"ਉਹਨਾਂ ਵੱਡਦਰਸ਼ੀਕਰਨ ਖੇਤਰ(ਰਾਂ) ਨੂੰ ਚੁਣੋ ਜਿਹਨਾਂ ਨੂੰ ਤੁਸੀਂ ਸਕ੍ਰੀਨ ਨੂੰ ਵੱਡਾ ਕਰਨ ਦੌਰਾਨ ਵਰਤਣਾ ਚਾਹੁੰਦੇ ਹੋ"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"ਪੂਰੀ ਸਕ੍ਰੀਨ"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"ਸਕ੍ਰੀਨ ਦਾ ਹਿੱਸਾ"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"ਪੂਰੀ ਸਕ੍ਰੀਨ &amp; ਸਕ੍ਰੀਨ ਦਾ ਹਿੱਸਾ"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"ਸਾਰੀ ਸਕ੍ਰੀਨ ਨੂੰ ਵੱਡਾ ਕਰੋ"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"ਸਕ੍ਰੀਨ ਦੇ ਹਿੱਸੇ ਨੂੰ ਵੱਡਾ ਕਰੋ"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"ਵੱਡਦਰਸ਼ੀਕਰਨ ਸੈਟਿੰਗਾਂ"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"ਤਿੰਨ-ਟੈਪਾਂ ਨਾਲ ਵੱਡਾ ਕਰੋ"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"ਸ਼ਾਰਟਕੱਟ ਨਾਲ ਵੱਡਾ ਕਰੋ"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"ਸ਼ਾਰਟਕੱਟ ਅਤੇ ਤਿੰਨ-ਟੈਪ ਨਾਲ ਵੱਡਾ ਕਰੋ"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"<xliff:g id="SERVICE">%1$s</xliff:g> ਬਾਰੇ"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"ਵਿਕਲਪ"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"ਸਕ੍ਰੀਨ \'ਤੇ ਜ਼ੂਮ ਵਧਾਓ"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"ਜ਼ੂਮ ਕਰਨ ਲਈ 3 ਵਾਰ ਟੈਪ ਕਰੋ"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"ਜ਼ੂਮ ਕਰਨ ਲਈ ਬਟਨ \'ਤੇ ਟੈਪ ਕਰੋ"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><b>"ਜ਼ੂਮ ਕਰਨ ਲਈ"</b>", ਸਕ੍ਰੀਨ \'ਤੇ ਤੇਜ਼ੀ ਨਾਲ 3 ਵਾਰ ਟੈਪ ਕਰੋ।\n"<ul><li>"ਸਕ੍ਰੋਲ ਕਰਨ ਲਈ 2 ਜਾਂ ਜ਼ਿਆਦਾ ਉਂਗਲਾਂ ਘਸੀਟੋ"</li>\n<li>"ਜ਼ੂਮ ਨੂੰ ਵਿਵਸਥਿਤ ਕਰਨ ਲਈ 2 ਜਾਂ ਜ਼ਿਆਦਾ ਉਂਗਲਾਂ ਨਾਲ ਚੂੰਢੀ ਭਰੋ"</li></ul>\n\n<b>"ਅਸਥਾਈ ਤੌਰ \'ਤੇ ਜ਼ੂਮ ਕਰਨ ਲਈ"</b>", ਸਕ੍ਰੀਨ \'ਤੇ 3 ਵਾਰ ਟੈਪ ਕਰੋ, ਅਤੇ ਆਪਣੀ ਉਂਗਲ ਨੂੰ ਤੀਜੇ ਟੈਪ \'ਤੇ ਦਬਾਈ ਰੱਖੋ।\n"<ul><li>"ਸਕ੍ਰੀਨ \'ਤੇ ਆਲੇ-ਦੁਆਲੇ ਜਾਣ ਲਈ ਘਸੀਟੋ"</li>\n<li>"ਜ਼ੂਮ ਘਟਾਉਣ ਲਈ ਉਂਗਲ ਚੁੱਕੋ"</li></ul>\n\n"ਤੁਸੀਂ ਕੀ-ਬੋਰਡ ਜਾਂ ਦਿਸ਼ਾ-ਨਿਰਦੇਸ਼ ਪੱਟੀ \'ਤੇ ਜ਼ੂਮ ਵਧਾ ਨਹੀਂ ਸਕਦੇ।"</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"ਜਦੋਂ ਵੱਡਦਰਸ਼ੀਕਰਨ ਚਾਲੂ ਹੋਵੇ, ਤੁਸੀਂ ਸਕ੍ਰੀਨ \'ਤੇ ਜ਼ੂਮ ਵਧਾ ਸਕਦੇ ਹੋ।\n\n"<b>"ਜ਼ੂਮ ਕਰਨ ਲਈ"</b>", ਵੱਡਦਰਸ਼ੀਕਰਨ ਸ਼ੁਰੂ ਕਰੋ, ਫਿਰ ਸਕ੍ਰੀਨ \'ਤੇ ਕਿਤੇ ਵੀ ਟੈਪ ਕਰੋ।\n"<ul><li>"• ਸਕ੍ਰੋਲ ਕਰਨ ਲਈ 2 ਜਾਂ ਜ਼ਿਆਦਾ ਉਂਗਲਾਂ ਘਸੀਟੋ"</li>\n<li>"• ਜ਼ੂਮ ਨੂੰ ਵਿਵਸਥਿਤ ਕਰਨ ਲਈ 2 ਜਾਂ ਜ਼ਿਆਦਾ ਉਂਗਲਾਂ ਨਾਲ ਚੂੰਢੀ ਭਰੋ"</li></ul>\n\n<b>"ਅਸਥਾਈ ਤੌਰ \'ਤੇ ਜ਼ੂਮ ਕਰਨ ਲਈ"</b>", ਵੱਡਦਰਸ਼ੀਕਰਨ ਸ਼ੁਰੂ ਕਰੋ, ਫਿਰ ਸਕ੍ਰੀਨ \'ਤੇ ਕੀਤੇ ਵੀ ਸਪਰਸ਼ ਕਰਕੇ ਰੱਖੋ।\n"<ul><li>"• ਸਕ੍ਰੀਨ \'ਤੇ ਆਲੇ-ਦੁਆਲੇ ਜਾਣ ਲਈ ਘਸੀਟੋ"</li>\n<li>"• ਜ਼ੂਮ ਘਟਾਉਣ ਲਈ ਉਂਗਲ ਚੁੱਕੋ"</li></ul>\n\n"ਤੁਸੀਂ ਕੀ-ਬੋਰਡ ਜਾਂ ਦਿਸ਼ਾ-ਨਿਰਦੇਸ਼ ਪੱਟੀ \'ਤੇ ਜ਼ੂਮ ਵਧਾ ਨਹੀਂ ਸਕਦੇ।"</string>
+    <string name="accessibility_screen_magnification_summary" msgid="7617931632990040045">"ਸਮੱਗਰੀ ਨੂੰ ਵਧੇਰੇ ਚੰਗੀ ਤਰ੍ਹਾਂ ਦੇਖਣ ਲਈ ਸਕ੍ਰੀਨ \'ਤੇ ਤੇਜ਼ੀ ਨਾਲ ਜ਼ੂਮ ਵਧਾਓ।&lt;br/&gt;&lt;br/&gt;&lt;b&gt;ਜ਼ੂਮ ਵਧਾਉਣ ਲਈ:&lt;/b&gt;&lt;br/&gt;	1. ਵੱਡਦਰਸ਼ੀਕਰਨ ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਸ਼ਾਰਟਕੱਟ ਵਰਤੋ&lt;br/&gt;	2. ਸਕ੍ਰੀਨ \'ਤੇ ਟੈਪ ਕਰੋ&lt;br/&gt;	3. ਸਕ੍ਰੀਨ \'ਤੇ ਘੁਮਾਉਣ ਲਈ 2 ਉਂਗਲੀਆਂ ਨਾਲ ਘਸੀਟੋ&lt;br/&gt;	4. ਜ਼ੂਮ ਵਿੱਚ ਵਾਧ-ਘਾਟ ਕਰਨ ਲਈ 2 ਉਂਗਲੀਆਂ ਨਾਲ ਚੂੰਢੀ ਭਰੋ&lt;br/&gt;	5. ਵੱਡਦਰਸ਼ੀਕਰਨ ਨੂੰ ਰੋਕਣ ਲਈ ਸ਼ਾਰਟਕੱਟ ਵਰਤੋ&lt;br/&gt;&lt;br/&gt;&lt;b&gt;ਅਸਥਾਈ ਤੌਰ \'ਤੇ ਜ਼ੂਮ ਵਧਾਉਣ ਲਈ:&lt;/b&gt;&lt;br/&gt;	1. ਵੱਡਦਰਸ਼ੀਕਰਨ ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਸ਼ਾਰਟਕੱਟ ਵਰਤੋ&lt;br/&gt;	2. ਸਕ੍ਰੀਨ \'ਤੇ ਕੀਤੇ ਵੀ ਸਪਰਸ਼ ਕਰਕੇ ਰੱਖੋ।&lt;br/&gt;	3. ਸਕ੍ਰੀਨ \'ਤੇ ਘੁਮਾਉਣ ਲਈ ਉਂਗਲ ਨਾਲ ਘਸੀਟੋ&lt;br/&gt;	4. ਵੱਡਦਰਸ਼ੀਕਰਨ ਨੂੰ ਰੋਕਣ ਲਈ ਉਂਗਲ ਚੁੱਕੋ"</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"ਜਦੋਂ ਵੱਡਦਰਸ਼ੀਕਰਨ ਚਾਲੂ ਹੋਵੇ, ਤੁਸੀਂ ਸਕ੍ਰੀਨ \'ਤੇ ਜ਼ੂਮ ਵਧਾ ਸਕਦੇ ਹੋ।\n\n"<b>"ਜ਼ੂਮ ਕਰਨ ਲਈ"</b>", ਵੱਡਦਰਸ਼ੀਕਰਨ ਸ਼ੁਰੂ ਕਰੋ, ਫਿਰ ਸਕ੍ਰੀਨ \'ਤੇ ਕਿਤੇ ਵੀ ਟੈਪ ਕਰੋ।\n"<ul><li>"ਸਕ੍ਰੋਲ ਕਰਨ ਲਈ 2 ਜਾਂ ਜ਼ਿਆਦਾ ਉਂਗਲਾਂ ਘਸੀਟੋ"</li>\n<li>" ਜ਼ੂਮ ਨੂੰ ਵਿਵਸਥਿਤ ਕਰਨ ਲਈ 2 ਜਾਂ ਜ਼ਿਆਦਾ ਉਂਗਲਾਂ ਨਾਲ ਚੂੰਢੀ ਭਰੋ"</li></ul>\n\n<b>"ਅਸਥਾਈ ਤੌਰ \'ਤੇ ਜ਼ੂਮ ਕਰਨ ਲਈ"</b>", ਵੱਡਦਰਸ਼ੀਕਰਨ ਸ਼ੁਰੂ ਕਰੋ, ਫਿਰ ਸਕ੍ਰੀਨ \'ਤੇ ਕੀਤੇ ਵੀ ਸਪਰਸ਼ ਕਰਕੇ ਰੱਖੋ।\n"<ul><li>"ਸਕ੍ਰੀਨ \'ਤੇ ਆਲੇ-ਦੁਆਲੇ ਜਾਣ ਲਈ ਘਸੀਟੋ"</li>\n<li>"ਜ਼ੂਮ ਘਟਾਉਣ ਲਈ ਉਂਗਲ ਚੁੱਕੋ"</li></ul>\n\n"ਤੁਸੀਂ ਕੀ-ਬੋਰਡ ਜਾਂ ਦਿਸ਼ਾ-ਨਿਰਦੇਸ਼ ਪੱਟੀ \'ਤੇ ਜ਼ੂਮ ਵਧਾ ਨਹੀਂ ਸਕਦੇ।"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"ਖੋਲ੍ਹਣ ਲਈ ਪਹੁੰਚਯੋਗਤਾ ਬਟਨ ਵਰਤੋ"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"ਖੋਲ੍ਹਣ ਲਈ ਸੰਕੇਤ ਵਰਤੋ"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"ਨਵਾਂ ਪਹੁੰਚਯੋਗਤਾ ਸੰਕੇਤ ਵਰਤੋ"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"ਇਹ ਸੇਵਾ ਚਾਲੂ ਜਾਂ ਬੰਦ ਕਰਨ ਲਈ, ਆਪਣੀ ਸਕ੍ਰੀਨ ਦੇ ਹੇਠਾਂ ਪਹੁੰਚਯੋਗਤਾ ਬਟਨ<xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>\'ਤੇ ਟੈਪ ਕਰੋ।\n\nਸੇਵਾਵਾਂ ਵਿਚਾਲੇ ਅਦਲਾ-ਬਦਲੀ ਕਰਨ ਲਈ, ਪਹੁੰਚਯੋਗਤਾ ਬਟਨ \'ਤੇ ਸਪਰਸ਼ ਕਰਕੇ ਰੱਖੋ।"</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"ਇਹ ਸੇਵਾ ਚਾਲੂ ਜਾਂ ਬੰਦ ਕਰਨ ਲਈ, ਦੋ ਉਂਗਲਾਂ ਨਾਲ ਸਕ੍ਰੀਨ ਦੇ ਹੇਠਾਂ ਤੋਂ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰੋ।\n\nਸੇਵਾਵਾਂ ਵਿਚਾਲੇ ਅਦਲਾ-ਬਦਲੀ ਕਰਨ ਲਈ, ਦੋ ਉਂਗਲਾਂ ਨਾਲ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰਕੇ ਦਬਾਈ ਰੱਖੋ।"</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"ਇਹ ਸੇਵਾ ਚਾਲੂ ਜਾਂ ਬੰਦ ਕਰਨ ਲਈ, ਤਿੰਨ ਉਂਗਲਾਂ ਨਾਲ ਸਕ੍ਰੀਨ ਦੇ ਹੇਠਾਂ ਤੋਂ ਉੱਪਰ ਵੱਲ ਸਕ੍ਰੋਲ ਕਰੋ।\n\nਸੇਵਾਵਾਂ ਵਿਚਾਲੇ ਅਦਲਾ-ਬਦਲੀ ਕਰਨ ਲਈ, ਤਿੰਨ ਉਂਗਲਾਂ ਨਾਲ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰਕੇ ਦਬਾਈ ਰੱਖੋ।"</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"ਪਹੁੰਚਯੋਗਤਾ ਸੇਵਾ ਚਾਲੂ ਜਾਂ ਬੰਦ ਕਰਨ ਲਈ, ਦੋ ਉਂਗਲਾਂ ਨਾਲ ਸਕ੍ਰੀਨ ਦੇ ਹੇਠਾਂ ਤੋਂ ਉੱਪਰ ਵੱਲ ਸਕ੍ਰੋਲ ਕਰੋ।\n\nਸੇਵਾਵਾਂ ਵਿਚਾਲੇ ਅਦਲਾ-ਬਦਲੀ ਕਰਨ ਲਈ, ਦੋ ਉਂਗਲਾਂ ਨਾਲ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰਕੇ ਦਬਾਈ ਰੱਖੋ।"</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"ਪਹੁੰਚਯੋਗਤਾ ਸੇਵਾ ਚਾਲੂ ਜਾਂ ਬੰਦ ਕਰਨ ਲਈ, ਤਿੰਨ ਉਂਗਲਾਂ ਨਾਲ ਸਕ੍ਰੀਨ ਦੇ ਹੇਠਾਂ ਤੋਂ ਉੱਪਰ ਵੱਲ ਸਕ੍ਰੋਲ ਕਰੋ।\n\nਸੇਵਾਵਾਂ ਵਿਚਾਲੇ ਅਦਲਾ-ਬਦਲੀ ਕਰਨ ਲਈ, ਤਿੰਨ ਉਂਗਲਾਂ ਨਾਲ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰਕੇ ਦਬਾਈ ਰੱਖੋ।"</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"ਇਹ ਸੇਵਾ ਚਾਲੂ ਜਾਂ ਬੰਦ ਕਰਨ ਲਈ, ਆਪਣੀ ਸਕ੍ਰੀਨ ਦੇ ਹੇਠਾਂ ਪਹੁੰਚਯੋਗਤਾ ਬਟਨ <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>\'ਤੇ ਟੈਪ ਕਰੋ।\n\nਸੇਵਾਵਾਂ ਵਿਚਾਲੇ ਅਦਲਾ-ਬਦਲੀ ਕਰਨ ਲਈ, ਪਹੁੰਚਯੋਗਤਾ ਬਟਨ ਦਬਾਈ ਰੱਖੋ।"</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"ਇਹ ਸੇਵਾ ਚਾਲੂ ਜਾਂ ਬੰਦ ਕਰਨ ਲਈ, ਦੋ ਉਂਗਲਾਂ ਨਾਲ ਸਕ੍ਰੀਨ ਦੇ ਹੇਠਾਂ ਤੋਂ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰੋ।\n\nਸੇਵਾਵਾਂ ਵਿਚਾਲੇ ਅਦਲਾ-ਬਦਲੀ ਕਰਨ ਲਈ, ਦੋ ਉਂਗਲਾਂ ਨਾਲ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰਕੇ ਦਬਾਈ ਰੱਖੋ।"</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"ਇਹ ਸੇਵਾ ਚਾਲੂ ਜਾਂ ਬੰਦ ਕਰਨ ਲਈ, ਤਿੰਨ ਉਂਗਲਾਂ ਨਾਲ ਸਕ੍ਰੀਨ ਦੇ ਹੇਠਾਂ ਤੋਂ ਉੱਪਰ ਵੱਲ ਸਕ੍ਰੋਲ ਕਰੋ।\n\nਸੇਵਾਵਾਂ ਵਿਚਾਲੇ ਅਦਲਾ-ਬਦਲੀ ਕਰਨ ਲਈ, ਤਿੰਨ ਉਂਗਲਾਂ ਨਾਲ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰਕੇ ਦਬਾਈ ਰੱਖੋ।"</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"ਪਹੁੰਚਯੋਗਤਾ ਸੇਵਾ ਚਾਲੂ ਜਾਂ ਬੰਦ ਕਰਨ ਲਈ, ਦੋ ਉਂਗਲਾਂ ਨਾਲ ਸਕ੍ਰੀਨ ਦੇ ਹੇਠਾਂ ਤੋਂ ਉੱਪਰ ਵੱਲ ਸਕ੍ਰੋਲ ਕਰੋ।\n\nਸੇਵਾਵਾਂ ਵਿਚਾਲੇ ਅਦਲਾ-ਬਦਲੀ ਕਰਨ ਲਈ, ਦੋ ਉਂਗਲਾਂ ਨਾਲ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰਕੇ ਦਬਾਈ ਰੱਖੋ।"</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"ਪਹੁੰਚਯੋਗਤਾ ਸੇਵਾ ਚਾਲੂ ਜਾਂ ਬੰਦ ਕਰਨ ਲਈ, ਤਿੰਨ ਉਂਗਲਾਂ ਨਾਲ ਸਕ੍ਰੀਨ ਦੇ ਹੇਠਾਂ ਤੋਂ ਉੱਪਰ ਵੱਲ ਸਕ੍ਰੋਲ ਕਰੋ।\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="2820923641553461297">"ਪਹੁੰਚਯੋਗਤਾ ਬਟਨ"</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="8922102767509399352">"ਆਪਣੀ ਸਕ੍ਰੀਨ ਦੇ ਹੇਠਾਂ ਪਹੁੰਚਯੋਗਤਾ ਬਟਨ <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> \'ਤੇ ਟੈਪ ਕਰੋ"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"2 ਉਂਗਲਾਂ ਨਾਲ ਸਕ੍ਰੀਨ ਦੇ ਹੇਠਾਂ ਤੋਂ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰੋ"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"3 ਉਂਗਲਾਂ ਨਾਲ ਸਕ੍ਰੀਨ ਦੇ ਹੇਠਾਂ ਤੋਂ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰੋ"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"ਅਵਾਜ਼ ਕੁੰਜੀਆਂ ਨੂੰ ਰੋਕ ਕੇ ਰੱਖੋ"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"1 ਸਕਿੰਟ ਲਈ ਦੋਵੇਂ ਅਵਾਜ਼ੀ ਕੁੰਜੀਆਂ ਨੂੰ ਦਬਾਈ ਰੱਖੋ"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"ਟ੍ਰਿਪਲ-ਟੈਪ ਸਕ੍ਰੀਨ"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"ਤੇਜ਼ੀ ਨਾਲ ਸਕ੍ਰੀਨ \'ਤੇ 3 ਵਾਰ ਟੈਪ ਕਰੋ। ਇਹ ਸ਼ਾਰਟਕੱਟ ਸ਼ਾਇਦ ਤੁਹਾਡੇ ਡੀਵਾਈਸ ਨੂੰ ਹੌਲੀ ਕਰ ਦੇਵੇ।"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"ਉੱਨਤ"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"ਪਹੁੰਚਯੋਗਤਾ ਬਟਨ <xliff:g id="SERVICE">%1$s</xliff:g> \'ਤੇ ਸੈੱਟ ਹੈ। ਵੱਡਦਰਸ਼ੀਕਰਨ ਦੀ ਵਰਤੋਂ ਕਰਨ ਲਈ, ਪਹੁੰਚਯੋਗਤਾ ਬਟਨ ਨੂੰ ਸਪੱਰਸ਼ ਕਰੋ ਅਤੇ ਦਬਾਈ ਰੱਖੋ, ਫਿਰ ਵੱਡਦਰਸ਼ੀਕਰਨ ਨੂੰ ਚੁਣੋ।"</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"ਪਹੁੰਚਯੋਗਤਾ ਸੰਕੇਤਾਂ ਨੂੰ <xliff:g id="SERVICE">%1$s</xliff:g> \'ਤੇ ਸੈੱਟ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ਵੱਡਦਰਸ਼ੀਕਰਨ ਨੂੰ ਵਰਤਣ ਲਈ, ਦੋ ਉਂਗਲਾਂ ਨਾਲ ਸਕ੍ਰੀਨ ਦੇ ਹੇਠਾਂ ਤੋਂ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰਕੇ ਦਬਾਈ ਰੱਖੋ। ਫਿਰ ਵੱਡਦਰਸ਼ੀਕਰਨ ਚੁਣੋ।"</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"ਅਵਾਜ਼ ਕੁੰਜੀ ਸ਼ਾਰਟਕੱਟ"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"ਸ਼ਾਰਟਕੱਟ ਸੇਵਾ"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"ਸ਼ਾਰਟਕੱਟ ਸੈਟਿੰਗਾਂ"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">" ਲਾਕ  ਸਕ੍ਰੀਨ ਤੋਂ ਇਜਾਜ਼ਤ ਦਿਓ"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"ਜਦੋਂ ਸ਼ਾਰਟਕੱਟ ਚਾਲੂ ਹੋਵੇ, ਤਾਂ ਤੁਸੀਂ ਕਿਸੇ ਪਹੁੰਚਯੋਗਤਾ ਵਿਸ਼ੇਸ਼ਤਾ ਨੂੰ ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਦੋਵੇਂ ਅਵਾਜ਼ ਕੁੰਜੀਆਂ ਨੂੰ 3 ਸਕਿੰਟਾਂ ਲਈ ਦੱਬ ਸਕਦੇ ਹੋ।"</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"ਉੱਚ ਵਖਰੇਵਾਂ ਲਿਖਤ"</string>
@@ -2149,24 +2157,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"ਚੁਣੋ ਕਿ ਤੁਹਾਨੂੰ ਕਾਰਵਾਈ ਕਰਨ ਲਈ ਕਹਿਣ ਵਾਲੇ ਸੁਨੇਹਿਆਂ ਨੂੰ ਕਿੰਨੀ ਦੇਰ ਤੱਕ ਦਿਖਾਉਣਾ ਹੈ, ਜੋ ਕਿ ਸਿਰਫ਼ ਅਸਥਾਈ ਤੌਰ \'ਤੇ ਦਿਖਾਈ ਦਿੰਦੇ ਹਨ।\n\nਇਸ ਸੈਟਿੰਗ ਦਾ ਸਾਰੀਆਂ ਐਪਾਂ ਸਮਰਥਨ ਨਹੀਂ ਕਰਦੀਆਂ ਹਨ।"</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"ਸਪੱਰਸ਼ ਕਰਕੇ ਰੱਖਣ ਵਿੱਚ ਦੇਰੀ"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"ਰੰਗ ਦੀ ਉਲਟੀ ਤਰਤੀਬ"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"ਪ੍ਰਦਰਸ਼ਨ \'ਤੇ ਅਸਰ ਪਾ ਸਕਦੀ ਹੈ"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"ਉਡੀਕ ਦਾ ਸਮਾਂ"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"ਰੰਗ ਦੀ ਉਲਟੀ ਤਰਤੀਬ ਵਰਤੋ"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"ਰੰਗ ਦੀ ਉਲਟੀ ਤਰਤੀਬ ਸਕ੍ਰੀਨ ਨੂੰ ਗੂੜ੍ਹਾ ਕਰ ਦਿੰਦੀ ਹੈ। ਇਹ ਉਹਨਾਂ ਲੋਕਾਂ ਦੀ ਸਕ੍ਰੀਨ ਨੂੰ ਵਧੇਰੇ ਆਸਾਨੀ ਨਾਲ ਦੇਖਣ ਵਿੱਚ ਸਹਾਇਤਾ ਕਰਦੀ ਹੈ ਜੋ ਚਮਕਦਾਰ ਰੋਸ਼ਨੀ ਪ੍ਰਤੀ ਸੰਵੇਦਨਸ਼ੀਲ ਹੁੰਦੇ ਹਨ।&lt;br/&gt;&lt;br/&gt;ਨੋਟ ਕਰੋ: ਗੂੜ੍ਹੇ ਰੰਗ ਹਲਕੇ ਹੋ ਜਾਣਗੇ। ਰੰਗ ਮੀਡੀਆ ਅਤੇ ਚਿੱਤਰਾਂ ਵਿੱਚ ਬਦਲ ਜਾਣਗੇ। ਤੁਸੀਂ ਗੂੜ੍ਹਾ ਥੀਮ ਵੀ ਵਰਤ ਸਕਦੇ ਹੋ (ਸੈਟਿੰਗਾਂ &gt; ਡਿਸਪਲੇ)।"</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"ਸਵੈਚਲਿਤ ਕਲਿੱਕ (ਉਡੀਕ ਦਾ ਸਮਾਂ)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"ਜੇਕਰ ਤੁਸੀਂ ਮਾਊਸ ਵਰਤ ਰਹੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਕਰਸਰ ਦੇ ਕੁਝ ਦੇਰ ਤੱਕ ਚੱਲਣਾ ਬੰਦ ਹੋ ਜਾਣ \'ਤੇ ਸਵੈਚਲਿਤ ਤੌਰ \'ਤੇ ਕਾਰਵਾਈ ਕਰਨ ਨੂੰ ਸੈੱਟ ਕਰ ਸਕਦੇ ਹੋ।"</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"ਕਲਿੱਕ ਤੋਂ ਪਹਿਲਾਂ ਦੇਰੀ"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"ਸਵੈ ਕਲਿੱਕ ਨਾ ਵਰਤੋ (ਪੂਰਵ-ਨਿਰਧਾਰਤ)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"ਛੋਟਾ"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0.2 ਸਕਿੰਟ"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"ਦਰਮਿਆਨਾ"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0.6 ਸਕਿੰਟ"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"ਲੰਮਾ"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 ਸਕਿੰਟ"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"ਵਿਉਂਂਤੀ"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"ਘੱਟ"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"ਵੱਧ"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"ਸਵੈ ਕਲਿੱਕ ਸਮਾਂ"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"ਥਰਥਰਾਹਟ ਅਤੇ ਛੋਹ ਦੀ ਤੀਬਰਤਾ"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"ਸੂਚਨਾ ਦੀ ਥਰਥਰਾਹਟ"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"ਘੰਟੀ ਦੀ ਥਰਥਰਾਹਟ"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"ਸਪਰਸ਼ ਸੰਬੰਧੀ ਪ੍ਰਤੀਕਰਮ"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"ਸੇਵਾ ਦੀ ਵਰਤੋਂ ਕਰੋ"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g> ਵਰਤੋ"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g> ਖੋਲ੍ਹੋ"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"ਰੰਗ ਸੁਧਾਈ ਦੀ ਵਰਤੋਂ ਕਰੋ"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"ਸੁਰਖੀਆਂ ਦੀ ਵਰਤੋਂ ਕਰੋ"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"ਸੁਰਖੀਆਂ ਦਿਖਾਓ"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"ਸੁਰਖੀ ਦਾ ਪ੍ਰਗਟਾਵਾ"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"ਲਿਖਤ ਦਾ ਆਕਾਰ, ਸੁਰਖੀ ਦੀ ਸ਼ੈਲੀ"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"ਹੋਰ ਵਿਕਲਪ"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"ਸਾਰੀਆਂ ਐਪਾਂ ਵਿੱਚ ਇਸ ਸੈਟਿੰਗ ਦੀ ਸੁਵਿਧਾ ਨਹੀਂ ਹੈ।"</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"ਪਹੁੰਚਯੋਗਤਾ ਬਟਨ"</string>
+    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"ਹੇਠਾਂ ਤੋਂ ਉੱਪਰ ਵੱਲ 2-ਉਂਗਲਾਂ ਨਾਲ ਸਵਾਈਪ ਕਰੋ"</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>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"ਸੁਣਨ ਦੇ ਸਾਧਨ"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"ਸੁਣਨ ਦਾ ਕੋਈ ਸਾਧਨ ਕਨੈਕਟ ਨਹੀਂ ਕੀਤਾ ਹੋਇਆ"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"ਸੁਣਨ ਦੇ ਸਾਧਨ ਸ਼ਾਮਲ ਕਰੋ"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"ਸੁਣਨ ਦੇ ਸਾਧਨਾਂ ਨੂੰ ਜੋੜਾਬੱਧ ਕਰਨ ਲਈ, ਅਗਲੀ ਸਕ੍ਰੀਨ \'ਤੇ ਆਪਣਾ ਡੀਵਾਈਸ ਲੱਭ ਕੇ ਟੈਪ ਕਰੋ।"</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"ਪੱਕਾ ਕਰੋ ਕਿ ਤੁਹਾਡੇ ਸੁਣਨ ਦੇ ਸਾਧਨ ਜੋੋੜਾਬੱਧ ਕਰਨ ਦੇ ਮੋਡ ਵਿੱਚ ਹਨ।"</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"ਸੁਣਨ ਦੇ ਸਾਧਨਾਂ ਨੂੰ ਜੋੜਾਬੱਧ ਕਰਨ ਲਈ, ਅਗਲੀ ਸਕ੍ਰੀਨ \'ਤੇ ਆਪਣਾ ਡੀਵਾਈਸ ਲੱਭ ਕੇ ਟੈਪ ਕਰੋ। ਪੱਕਾ ਕਰੋ ਕਿ ਤੁਹਾਡੇ ਸੁਣਨ ਦੇ ਸਾਧਨ ਜੋੋੜਾਬੱਧ ਕਰਨ ਦੇ ਮੋਡ ਵਿੱਚ ਹਨ।"</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ਕਿਰਿਆਸ਼ੀਲ"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="one">ਰੱਖਿਅਤ ਕੀਤਾ <xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> ਸੁਣਨ ਦਾ ਸਾਧਨ</item>
@@ -2178,25 +2204,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"ਇਹ ਸੇਵਾ ਸਹੀ ਢੰਗ ਨਾਲ ਕੰਮ ਨਹੀਂ ਕਰ ਰਹੀ ਹੈ।"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"ਤਤਕਾਲ ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਦਿਖਾਓ"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"ਸੁਧਾਈ ਮੋਡ"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="one">ਬਹੁਤ ਛੋਟੀ ਦੇਰੀ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">ਬਹੁਤ ਛੋਟੀ ਦੇਰੀ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"ਲਾਲ-ਹਰਾ"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"ਹਰਾ-ਲਾਲ"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"ਨੀਲਾ-ਪੀਲਾ"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"ਡਿਊਟ੍ਰੈਨੋਮਲੀ"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"ਪ੍ਰੋਟੈਨੋਮਲੀ"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"ਰੰਗ ਅਸਪਸ਼ਟਤਾ"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="one">ਬਹੁਤ ਹੀ ਜ਼ਿਆਦਾ ਘੱਟ ਦੇਰੀ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ਸਕਿੰਟ)</item>
+      <item quantity="other">ਬਹੁਤ ਹੀ ਜ਼ਿਆਦਾ ਘੱਟ ਦੇਰੀ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ਸਕਿੰਟ)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="one">ਬਹੁਤ ਛੋਟੀ ਦੇਰੀ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">ਬਹੁਤ ਛੋਟੀ ਦੇਰੀ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="one">ਬਹੁਤ ਘੱਟ ਦੇਰੀ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ਸਕਿੰਟ)</item>
+      <item quantity="other">ਬਹੁਤ ਘੱਟ ਦੇਰੀ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ਸਕਿੰਟ)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="one">ਛੋਟੀ ਦੇਰੀ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">ਛੋਟੀ ਦੇਰੀ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="one">ਘੱਟ ਦੇਰੀ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ਸਕਿੰਟ)</item>
+      <item quantity="other">ਘੱਟ ਦੇਰੀ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ਸਕਿੰਟ)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="one">ਲੰਮੀ ਦੇਰੀ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">ਲੰਮੀ ਦੇਰੀ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="one">ਵੱਧ ਦੇਰੀ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ਸਕਿੰਟ)</item>
+      <item quantity="other">ਵੱਧ ਦੇਰੀ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ਸਕਿੰਟ)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="one">ਬਹੁਤ ਲੰਮੀ ਦੇਰੀ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">ਬਹੁਤ ਲੰਮੀ ਦੇਰੀ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="one">ਬਹੁਤ ਜ਼ਿਆਦਾ ਲੰਬੀ ਦੇਰੀ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ਸਕਿੰਟ)</item>
+      <item quantity="other">ਬਹੁਤ ਜ਼ਿਆਦਾ ਲੰਬੀ ਦੇਰੀ (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ਸਕਿੰਟ)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ਸਕਿੰਟ</item>
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> ਸਕਿੰਟ</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"ਘੰਟੀ <xliff:g id="SUMMARY_RING">%1$s</xliff:g>, ਸੂਚਨਾ <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>, ਸਪਰਸ਼ <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"ਘੰਟੀ ਅਤੇ ਸੂਚਨਾ ਬੰਦ \'ਤੇ ਸੈੱਟ ਹਨ"</string>
@@ -2513,7 +2549,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"<xliff:g id="UNPLUGGED">%1$s</xliff:g> ਲਈ ਪਿਛਲੀ ਵਾਰ ਅਨਪਲਗ ਕੀਤੇ ਜਾਣ ਵੇਲੇ"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"ਕੁੱਲ ਵਰਤੋਂ"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"ਤਾਜ਼ਾ"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"Android OS"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"Mediaserver"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"ਐਪ ਅਨੁਕੂਲਨ"</string>
     <string name="battery_saver" msgid="7737147344510595864">"ਬੈਟਰੀ ਸੇਵਰ"</string>
@@ -2594,8 +2629,7 @@
     <string name="tts_play" msgid="2945513377250757221">"ਚਲਾਓ"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"ਕ੍ਰੀਡੈਂਸ਼ੀਅਲ ਸਟੋਰੇਜ"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"ਸਟੋਰੇਜ ਤੋਂ ਸਥਾਪਤ ਕਰੋ"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"SD ਕਾਰਡ ਤੋਂ ਸਥਾਪਤ ਕਰੋ"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"ਪ੍ਰਮਾਣ-ਪੱਤਰ ਸਥਾਪਤ ਕਰੋ"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"ਸਟੋਰੇਜ ਤੋਂ ਪ੍ਰਮਾਣ-ਪੱਤਰ ਸਥਾਪਤ ਕਰੋ"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"SD ਕਾਰਡ ਤੋਂ ਪ੍ਰਮਾਣ-ਪੱਤਰ ਸਥਾਪਤ ਕਰੋ"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"ਕ੍ਰੀਡੈਂਸ਼ੀਅਲ ਹਟਾਓ"</string>
@@ -2615,6 +2649,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"ਕ੍ਰੀਡੈਂਸ਼ੀਅਲ ਸਟੋਰੇਜ ਮਿਟਾਈ ਗਈ।"</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"ਕ੍ਰੀਡੈਂਸ਼ੀਅਲ ਸਟੋਰੇਜ ਨਹੀਂ ਮਿਟ ਸਕੀ।"</string>
     <string name="usage_access_title" msgid="1580006124578134850">"ਵਰਤੋਂ ਤੱਕ ਪਹੁੰਚ ਵਾਲੀਆਂ ਐਪਾਂ"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"CA ਪ੍ਰਮਾਣ-ਪੱਤਰ"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"VPN ਤੇ ਐਪ ਵਰਤੋਂਕਾਰ ਪ੍ਰਮਾਣ-ਪੱਤਰ"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"ਵਾਈ-ਫਾਈ ਪ੍ਰਮਾਣ-ਪੱਤਰ"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"ਤੁਹਾਡੀ ਪਰਦੇਦਾਰੀ ਜੋਖਮ ਵਿੱਚ ਹੈ"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"ਵੈੱਬਸਾਈਟਾਂ, ਐਪਾਂ ਅਤੇ VPN ਵੱਲੋਂ ਇਨਕ੍ਰਿਪਸ਼ਨ ਲਈ CA ਪ੍ਰਮਾਣ-ਪੱਤਰ ਦੀ ਵਰਤੋਂ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਸਿਰਫ਼ ਭਰੋਸੇਯੋਗ ਸੰਸਥਾਵਾਂ ਦੇ CA ਪ੍ਰਮਾਣ-ਪੱਤਰ ਸਥਾਪਤ ਕਰੋ। \n\n ਜੇ ਤੁਸੀਂ CA ਪ੍ਰਮਾਣ-ਪੱਤਰ ਸਥਾਪਤ ਕਰਦੇ ਹੋ, ਤਾਂ ਪ੍ਰਮਾਣ-ਪੱਤਰ ਦਾ ਮਾਲਕ ਤੁਹਾਡੇ ਵੱਲੋਂ ਦੇਖੀਆਂ ਜਾਂਦੀਆਂ ਵੈੱਬਸਾਈਟਾਂ ਜਾਂ ਵਰਤੀਆਂ ਜਾਂਦੀਆਂ ਐਪਾਂ ਤੋਂ ਤੁਹਾਡੀ ਜਾਣਕਾਰੀ ਤੱਕ ਪਹੁੰਚ ਕਰ ਸਕਦਾ ਹੈ, ਜਿਵੇਂ ਕਿ ਪਾਸਵਰਡ, ਸੁਨੇਹੇ ਜਾਂ ਕ੍ਰੈਡਿਟ ਕਾਰਡ ਵੇਰਵੇ - ਭਾਵੇਂ ਇਹ ਜਾਣਕਾਰੀ ਇਨਕ੍ਰਿਪਟ ਕੀਤੀ ਗਈ ਹੋਵੇ।"</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"ਸਥਾਪਤ ਨਾ ਕਰੋ"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"ਫਿਰ ਵੀ ਸਥਾਪਤ ਕਰੋ"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"ਪ੍ਰਮਾਣ-ਪੱਤਰ ਸਥਾਪਤ ਨਹੀਂ ਕੀਤਾ ਗਿਆ"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"ਸੰਕਟਕਾਲੀਨ ਡਾਇਲਿੰਗ ਸਿਗਨਲ"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"ਜਦੋਂ ਇੱਕ ਸੰਕਟਕਾਲੀਨ ਕਾਲ ਕੀਤੀ ਜਾਂਦੀ ਹੈ ਤਾਂ ਵਿਵਹਾਰ ਸੈੱਟ ਕਰੋ"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"ਬੈਕਅੱਪ"</string>
@@ -2642,10 +2684,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"ਅਕਿਰਿਆਸ਼ੀਲ ਕਰੋ ਅਤੇ ਅਣਸਥਾਪਤ ਕਰੋ"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"ਡੀਵਾਈਸ ਪ੍ਰਸ਼ਾਸਕ ਐਪਾਂ"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"ਕੋਈ ਵੀ ਡੀਵਾਈਸ ਪ੍ਰਸ਼ਾਸਕ ਐਪਾਂ ਉਪਲਬਧ ਨਹੀਂ ਹਨ"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"ਨਿੱਜੀ"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"ਦਫ਼ਤਰ"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"SMS ਅਤੇ ਕਾਲ ਲੌਗ ਤੱਕ ਪਹੁੰਚ \'ਤੇ ਪਾਬੰਦੀ ਲਗਾਓ"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"ਸਿਰਫ਼ ਪੂਰਵ-ਨਿਰਧਾਰਤ ਫ਼ੋਨ ਅਤੇ ਸੁਨੇਹੇ ਐਪਾਂ ਨੂੰ SMS ਅਤੇ ਕਾਲ ਲੌਗ ਇਜਾਜ਼ਤਾਂ ਹਨ"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"ਕੋਈ ਉਪਲਬਧ ਭਰੋਸੇਯੋਗ ਏਜੰਟ ਨਹੀਂ"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"ਡੀਵਾਈਸ ਪ੍ਰਸ਼ਾਸਕ ਐਪ ਨੂੰ ਸਰਗਰਮ ਕਰੀਏ?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"ਇਸ ਡੀਵਾਈਸ ਪ੍ਰਸ਼ਾਸਕ ਐਪ ਨੂੰ ਸਰਗਰਮ ਕਰੋ"</string>
@@ -2659,6 +2697,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"ਤੁਹਾਡੇ ਪ੍ਰਸ਼ਾਸਕ ਵੱਲੋਂ ਹੋਰ ਵਿਕਲਪਾਂ ਨੂੰ ਅਯੋਗ ਬਣਾਇਆ ਗਿਆ ਹੈ"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"ਹੋਰ ਵੇਰਵੇ"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"ਸੂਚਨਾ ਲੌਗ"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"ਸੂਚਨਾ ਇਤਿਹਾਸ"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"ਅੱਜ"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"ਸਨੂਜ਼ ਕੀਤਾ"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"ਹਾਲ ਹੀ ਵਿੱਚ ਖਾਰਜ ਕੀਤਾ ਗਿਆ"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="one"><xliff:g id="NUMBER_1">%d</xliff:g> ਸੂਚਨਾ</item>
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> ਸੂਚਨਾਵਾਂ</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"ਕਾਲ ਰਿੰਗਟੋਨ &amp; ਵਾਈਬ੍ਰੇਟ"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"ਨੈੱਟਵਰਕ ਵੇਰਵੇ"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"ਸਿੰਕ ਸਮਰਥਿਤ"</string>
@@ -3008,7 +3054,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"ਪ੍ਰਤਿਬੰਧ"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"ਪ੍ਰਤਿਬੰਧ ਹਟਾਓ"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"ਪਿੰਨ ਬਦਲੋ"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"ਸੂਚਨਾਵਾਂ ਦਿਖਾਓ"</string>
     <string name="help_label" msgid="2896538416436125883">"ਮਦਦ &amp; ਫੀਡਬੈਕ"</string>
     <string name="support_summary" msgid="1034146931237148885">"ਮਦਦ ਲੇਖ, ਫ਼ੋਨ ਅਤੇ ਚੈਟ, ਸ਼ੁਰੂਆਤ ਕਰਨਾ"</string>
     <string name="user_account_title" msgid="6389636876210834864">"ਸਮੱਗਰੀ ਲਈ ਖਾਤਾ"</string>
@@ -3033,6 +3078,14 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G ਕਾਲਿੰਗ"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"ਅਵਾਜ਼ ਅਤੇ ਹੋਰ ਸੰਚਾਰਾਂ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ ਲਈ LTE ਸੇਵਾਵਾਂ ਵਰਤੋ (ਸਿਫ਼ਾਰਸ਼ੀ)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"ਅਵਾਜ਼ ਅਤੇ ਹੋਰ ਸੰਚਾਰਾਂ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ ਲਈ 4G ਸੇਵਾਵਾਂ ਵਰਤੋ (ਸਿਫ਼ਾਰਸ਼ੀ)"</string>
+    <!-- no translation found for contact_discovery_opt_in_title (4076990635900099116) -->
+    <skip />
+    <!-- no translation found for contact_discovery_opt_in_summary (4104310593310967300) -->
+    <skip />
+    <!-- no translation found for contact_discovery_opt_in_dialog_title (6278407286820554079) -->
+    <skip />
+    <!-- no translation found for contact_discovery_opt_in_dialog_message (5787751513924920435) -->
+    <skip />
     <string name="preferred_network_type_title" msgid="812509938714590857">"ਤਰਜੀਹੀ ਨੈੱਟਵਰਕ ਪ੍ਰਕਾਰ"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (ਸਿਫ਼ਾਰਸ਼ੀ)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS ਸੁਨੇਹੇ"</string>
@@ -3077,7 +3130,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"ਇਸਦੇ ਨਾਲ ਕਾਲ ਕਰੋ"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"ਇੱਕ SIM ਕਾਰਡ ਚੁਣੋ"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"SIM <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"SIM ਖਾਲੀ"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"SIM ਨਾਮ"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"SIM ਨਾਮ ਦਾਖਲ ਕਰੋ"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"SIM ਸਲੌਟ %1$d"</string>
@@ -3087,6 +3139,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"SIM ਕਾਰਡ ਚੁਣੋ"</string>
     <string name="color_orange" msgid="216547825489739010">"ਸੰਤਰੀ"</string>
     <string name="color_purple" msgid="6603701972079904843">"ਜਾਮਨੀ"</string>
+    <string name="color_pink" msgid="8596872110888626708">"ਗੁਲਾਬੀ"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"ਕੋਈ SIM ਕਾਰਡ ਨਹੀਂ ਪਾਏ"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"ਸਿਮ ਸਥਿਤੀ"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"ਸਿਮ ਅਵਸਥਾ (ਸਿਮ ਸਲੌਟ %1$d)"</string>
@@ -3100,7 +3153,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"SIM ਕਾਰਡ ਬਦਲੇ ਗਏ।"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"ਸੈੱਟ ਕਰਨ ਲਈ ਟੈਪ ਕਰੋ"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"ਇਸ ਲਈ ਤਰਜੀਹੀ SIM"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"ਹਰ ਵਾਰ ਪੁੱਛੋ"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"ਚੋਣ ਲੁੜੀਂਦੀ"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"ਸਿਮ ਚੋਣ"</string>
@@ -3118,6 +3170,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"ਬਲੂਟੁੱਥ, ਗੱਡੀ ਚਲਾਉਣ ਸੰਬੰਧੀ ਮੋਡ"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"ਬਲੂਟੁੱਥ, NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"ਬਲੂਟੁੱਥ"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"NFC ਬੰਦ ਹੋਣ ਕਰਕੇ ਅਣਉਪਲਬਧ"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"ਐਪਾਂ ਅਤੇ ਸੂਚਨਾਵਾਂ"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"ਹਾਲੀਆ ਐਪਾਂ, ਪੂਰਵ-ਨਿਰਧਾਰਤ ਐਪਾਂ"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"ਕਾਰਜ ਪ੍ਰੋਫਾਈਲ ਵਿੱਚ ਐਪਾਂ ਲਈ ਸੂਚਨਾ ਪਹੁੰਚ ਉਪਲਬਧ ਨਹੀਂ ਹੈ।"</string>
@@ -3128,13 +3181,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"ਸੈਟਿੰਗਾਂ"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"ਵਾਈਫਾਈ, ਵਾਈ-ਫਾਈ, ਨੈੱਟਵਰਕ ਕਨੈਕਸ਼ਨ, ਇੰਟਰਨੈੱਟ, ਵਾਇਰਲੈੱਸ, ਡਾਟਾ, ਵਾਈ ਫਾਈ"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"ਵਾਈ-ਫਾਈ ਸੂਚਨਾ, ਵਾਈ-ਫਾਈ ਸੂਚਨਾ"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"ਡਾਟਾ ਵਰਤੋਂ"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"ਥਰਥਰਾਹਟ ਬੰਦ ਕਰੋ, ਟੈਪ ਕਰੋ, ਕੀ-ਬੋਰਡ"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"24-ਘੰਟੇ ਵਾਲਾ ਫਾਰਮੈਟ ਵਰਤੋ"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"ਡਾਊਨਲੋਡ"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"ਇਸ ਨਾਲ ਖੋਲ੍ਹੋ"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"ਐਪਲੀਕੇਸ਼ਨਾਂ"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"ਸਮਾਂ ਖੇਤਰ"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"ਚੈਟ ਦਾ ਮੁੱਖ ਹਿੱਸਾ"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"ਚੈਟ ਦਾ ਸਿਖਰਲਾ ਹਿੱਸਾ, ਸਿਸਟਮ, ਸੁਚੇਤਨਾ, ਵਿੰਡੋ, ਵਿੰਡੋ ਬਾਕਸ, ਡਿਸਪਲੇ, ਦੂਜੀਆਂ ਐਪਾਂ ਦੇ ਉੱਪਰ ਦਿਸਣਾ, ਉਲੀਕਣਾ"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"ਫਲੈਸ਼ਲਾਈਟ, ਲਾਈਟ, ਟਾਰਚ"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"ਵਾਈ ਫਾਈ, ਵਾਈ-ਫਾਈ, ਟੌਗਲ, ਕੰਟਰੋਲ"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"ਸੈਲਿਊਲਰ, ਮੋਬਾਈਲ, ਸੈੱਲ ਕੈਰੀਅਰ, ਵਾਇਰਲੈੱਸ, ਡਾਟਾ, 4g,3g, 2g, lte"</string>
@@ -3158,7 +3212,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"ਨਾ ਕਰੋ ਪਰੇਸ਼ਾਨ ਨਾ ਕਰੋ, ਰੋਕੋ, ਰੁਕਾਵਟ, ਬ੍ਰੇਕ"</string>
     <string name="keywords_app" msgid="7983814237980258061">"ਰੈਮ"</string>
     <string name="keywords_location" msgid="8016374808099706213">"ਨਜ਼ਦੀਕੀ, ਟਿਕਾਣਾ, ਇਤਿਹਾਸ, ਰਿਪੋਰਟਿੰਗ, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"ਖਾਤਾ"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"ਖਾਤਾ, ਇੱਕ ਖਾਤਾ ਸ਼ਾਮਲ ਕਰੋ, ਕਾਰਜ ਪ੍ਰੋਫਾਈਲ, ਖਾਤਾ ਸ਼ਾਮਲ ਕਰੋ"</string>
     <string name="keywords_users" msgid="3497517660077620843">"ਪਾਬੰਦੀ, ਪਾਬੰਦੀ ਲਗਾਓ, ਪਾਬੰਦੀ ਲਗਾਈ"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"ਲਿਖਤ ਸੁਧਾਈ, ਸਹੀ, ਧੁਨੀ, ਕੰਬਣਾ, ਸਵੈ, ਭਾਸ਼ਾ, ਸੰਕੇਤ, ਸੁਝਾਓ, ਸੁਝਾਅ, ਥੀਮ, ਅਪਮਾਨਜਨਕ, ਸ਼ਬਦ, ਕਿਸਮ, ਇਮੋਜੀ, ਅੰਤਰਰਾਸ਼ਟਰੀ"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"ਮੁੜ-ਸੈੱਟ ਕਰੋ, ਤਰਜੀਹਾਂ, ਪੂਰਵ-ਨਿਰਧਾਰਤ"</string>
@@ -3196,6 +3250,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"ਮੈਮੋਰੀ, ਕੈਸ਼ੇ, ਡਾਟਾ, ਮਿਟਾਓ, ਕਲੀਅਰ ਕਰੋ, ਖਾਲੀ, ਜਗ੍ਹਾ"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"ਕਨੈਕਟ ਕੀਤੇ, ਡੀਵਾਈਸ, ਹੈੱਡਫ਼ੋਨ, ਹੈੱਡਸੈੱਟ, ਸਪੀਕਰ, ਵਾਇਰਲੈੱਸ, ਜੋੜਾਬੱਧ, ਈਅਰਬੱਡ, ਸੰਗੀਤ, ਮੀਡੀਆ"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"ਬੈਕਗ੍ਰਾਊਂਡ, ਸਕ੍ਰੀਨ, ਲਾਕਸਕ੍ਰੀਨ, ਥੀਮ"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"ਪ੍ਰਤੀਕ ਦੀ ਆਕ੍ਰਿਤੀ, ਐਕਸੈਂਟ ਰੰਗ, ਫੌਂਟ"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"ਪੂਰਵ-ਨਿਰਧਾਰਤ, ਸਹਾਇਕ"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"ਭੁਗਤਾਨ, ਪੂਰਵ-ਨਿਰਧਾਰਤ"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"ਇਨਕਮਿੰਗ ਸੂਚਨਾ"</string>
@@ -3205,18 +3260,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"ਸਪਰਸ਼ ਸੰਵੇਦਕ, ਥਰਥਰਾਹਟ, ਸੰਵੇਦਨਸ਼ੀਲਤਾ"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"ਬੈਟਰੀ ਸੇਵਰ, ਸਥਿਰ, ਬਰਕਰਾਰ, ਪਾਵਰ ਸੇਵਰ, ਬੈਟਰੀ"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"ਨਿਯਮਬੱਧ ਕੰਮ, ਸਮਾਂ-ਸੂਚੀ, ਬੈਟਰੀ ਸੇਵਰ, ਪਾਵਰ ਸੇਵਰ, ਬੈਟਰੀ, ਸਵੈਚਲਿਤ, ਫ਼ੀਸਦ"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"ਕਾਰਜ ਪ੍ਰੋਫਾਈਲ"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"volte, ਉੱਨਤ ਕਾਲਿੰਗ, 4g ਕਾਲਿੰਗ"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"ਭਾਸ਼ਾ ਸ਼ਾਮਲ ਕਰੋ, ਕੋਈ ਭਾਸ਼ਾ ਸ਼ਾਮਲ ਕਰੋ"</string>
     <string name="default_sound" msgid="6604374495015245195">"ਪੂਰਵ-ਨਿਰਧਾਰਤ ਧੁਨੀ"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"ਰਿੰਗ ਦੀ ਅਵਾਜ਼ <xliff:g id="PERCENTAGE">%1$s</xliff:g> ਹੈ"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"ਘੰਟੀ ਅਤੇ ਸੂਚਨਾ ਦੀ ਅਵਾਜ਼ <xliff:g id="PERCENTAGE">%1$s</xliff:g> ਹੈ"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"ਅਵਾਜ਼, ਥਰਥਰਾਹਟ, ਪਰੇਸ਼ਾਨ ਨਾ ਕਰੋ"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"ਰਿੰਗਰ ਥਰਥਰਾਹਟ \'ਤੇ ਸੈੱਟ ਹੈ"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"ਰਿੰਗਰ ਸ਼ਾਂਤ \'ਤੇ ਸੈੱਟ ਹੈ"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"ਰਿੰਗ ਦੀ ਅਵਾਜ਼ 80% ਹੈ"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"ਘੰਟੀ ਅਤੇ ਸੂਚਨਾ ਦੀ ਅਵਾਜ਼ 80% ਹੈ"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"ਮੀਡੀਆ ਦੀ ਅਵਾਜ਼"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"ਅਵਾਜ਼ ਕਾਸਟ ਕਰੋ"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"ਕਾਲ ਦੀ ਅਵਾਜ਼"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"ਅਲਾਰਮ ਦੀ ਅਵਾਜ਼"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"ਰਿੰਗ ਦੀ ਅਵਾਜ਼"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"ਘੰਟੀ ਅਤੇ ਸੂਚਨਾ ਦੀ ਅਵਾਜ਼"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"ਸੂਚਨਾ ਵੌਲਿਊਮ"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"ਫ਼ੋਨ ਰਿੰਗਟੋਨ"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"ਪੂਰਵ-ਨਿਰਧਾਰਤ ਸੂਚਨਾ ਧੁਨੀ"</string>
@@ -3224,6 +3280,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"ਪੂਰਵ-ਨਿਰਧਾਰਤ ਸੂਚਨਾ ਧੁਨੀ"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"ਪੂਰਵ-ਨਿਰਧਾਰਤ ਅਲਾਰਮ ਧੁਨੀ"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"ਕਾਲਾਂ ਲਈ ਥਰਥਰਾਹਟ"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"ਕਦੇ ਥਰਥਰਾਹਟ ਨਾ ਕਰੋ"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"ਹਮੇਸ਼ਾ ਥਰਥਰਾਹਟ ਕਰੋ"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"ਪਹਿਲਾਂ ਥਰਥਰਾਹ ਫਿਰ ਹੌਲੀ-ਹੌਲੀ ਘੰਟੀ ਵਜਾਓ"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"ਹੋਰ ਅਵਾਜ਼ਾਂ"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"ਡਾਇਲ ਪੈਡ ਟੋਨਾਂ"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"ਸਕ੍ਰੀਨ ਲਾਕ ਕਰਨ ਦੀਆਂ ਧੁਨੀਆਂ"</string>
@@ -3247,6 +3306,7 @@
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> ਨੂੰ ਚਾਲੂ ਕੀਤਾ ਗਿਆ</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"ਪਰੇਸ਼ਾਨ ਨਾ ਕਰੋ"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"ਸਿਰਫ਼ ਮਹੱਤਵਪੂਰਨ ਲੋਕਾਂ ਅਤੇ ਐਪਾਂ ਵੱਲੋਂ ਸੂਚਨਾ ਪ੍ਰਾਪਤ ਕਰੋ"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"ਰੁਕਾਵਟਾਂ ਸੀਮਤ ਕਰੋ"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"\'ਪਰੇਸ਼ਾਨ ਨਾ ਕਰੋ\' ਨੂੰ ਚਾਲੂ ਕਰੋ"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"ਇਨ੍ਹਾਂ ਤੋਂ ਇਲਾਵਾ"</string>
@@ -3273,7 +3333,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"ਦ੍ਰਿਸ਼ਟੀਗਤ ਗੜਬੜੀਆਂ ਬਲਾਕ ਕਰੋ"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"ਦ੍ਰਿਸ਼ਟੀਗਤ ਸਿਗਨਲ ਦਿਖਣ ਦਿਓ"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"\'ਪਰੇਸ਼ਾਨ ਨਾ ਕਰੋ\' ਦੇ ਚਾਲੂ ਹੋਣ \'ਤੇ"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"ਧੁਨੀ ਵਜਾਉਣ ਵਾਲੀਆਂ ਰੁਕਾਵਟਾਂ ਦੀ ਆਗਿਆ ਦਿਓ"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"ਸੂਚਨਾਵਾਂ \'ਤੇ ਪਾਬੰਦੀ ਲਗਾਓ"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"ਸੂਚਨਾਵਾਂ ਦੀ ਕੋਈ ਧੁਨੀ ਨਹੀਂ"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"ਤੁਸੀਂ ਆਪਣੀ ਸਕ੍ਰੀਨ \'ਤੇ ਸੂਚਨਾਵਾਂ ਦੇਖੋਗੇ"</string>
@@ -3304,7 +3364,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"ਧੁਨੀ ਅਤੇ ਥਰਥਰਾਹਟ"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"ਸੂਚਨਾਵਾਂ ਦੀ ਧੁਨੀ, ਥਰਥਰਾਹਟ ਅਤੇ ਕੁਝ ਦ੍ਰਿਸ਼ਟੀਗਤ ਚਿੰਨ੍ਹ"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"ਸੂਚਨਾਵਾਂ ਦੀ ਧੁਨੀ, ਥਰਥਰਾਹਟ ਅਤੇ ਦ੍ਰਿਸ਼ਟੀਗਤ ਚਿੰਨ੍ਹ"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"ਮੂਲ ਫ਼ੋਨ ਸਰਗਰਮੀ ਅਤੇ ਸਥਿਤੀ ਲਈ ਲੋੜੀਂਦੀਆਂ ਸੂਚਨਾਵਾਂ ਕਦੇ ਵੀ ਲੁਕਾਈਆਂ ਨਹੀਂ ਜਾਣਗੀਆਂ"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"ਮੂਲ ਫ਼ੋਨ ਸਰਗਰਮੀ ਅਤੇ ਸਥਿਤੀ ਲਈ ਲੋੜੀਂਦੀਆਂ ਸੂਚਨਾਵਾਂ ਕਦੇ ਵੀ ਲੁਕਾਈਆਂ ਨਹੀਂ ਜਾਣਗੀਆਂ।"</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"ਕੋਈ ਨਹੀਂ"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"ਹੋਰ ਵਿਕਲਪ"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"ਸ਼ਾਮਲ ਕਰੋ"</string>
@@ -3334,10 +3394,12 @@
       <item quantity="one"><xliff:g id="ON_COUNT">%d</xliff:g> ਸਮਾਂ-ਸੂਚੀ ਸਵੈਚਲਿਤ ਤੌਰ \'ਤੇ ਚਾਲੂ ਹੋ ਸਕਦੀ ਹੈ</item>
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> ਸਮਾਂ-ਸੂਚੀਆਂ ਸਵੈਚਲਿਤ ਤੌਰ \'ਤੇ ਚਾਲੂ ਹੋ ਸਕਦੀਆਂ ਹਨ</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"ਡੀਵਾਈਸ ਮਿਊਟ ਕਰੋ, ਪਰ ਅਪਵਾਦਾਂ ਦਿਖਾਉਣ ਦਿਓ"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"ਅਪਵਾਦ"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"ਸਮਾਂ-ਸੂਚੀ"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"ਸਾਰੇ ਅਪਵਾਦਾਂ ਨੂੰ ਦੇਖੋ"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"\'ਪਰੇਸ਼ਾਨ ਨਾ ਕਰੋ\' ਦੇ ਚਾਲੂ ਹੋਣ \'ਤੇ ਅਪਵਾਦ"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"ਲੋਕ"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"ਐਪਾਂ"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"ਅਲਾਰਮ ਅਤੇ ਹੋਰ ਰੁਕਾਵਟਾਂ"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"ਸਮਾਂ-ਸੂਚੀਆਂ"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"ਖਮੋਸ਼ ਕੀਤੀਆਂ ਸੂਚਨਾਵਾਂ"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"ਪਰੇਸ਼ਾਨ ਨਾ ਕਰੋ ਚਾਲੂ ਹੋਣ \'ਤੇ ਉਪਰੋਕਤ ਤੁਹਾਡੀ ਇਜਾਜ਼ਤ ਵਾਲੀਆਂ ਆਈਟਮਾਂ ਤੋਂ ਇਲਾਵਾ ਧੁਨੀ ਅਤੇ ਥਰਥਰਾਹਟ ਨੂੰ ਮਿਊਟ ਕੀਤਾ ਜਾਵੇਗਾ।"</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"ਇਸਤੋਂ ਇਲਾਵਾ ਸਭ ਮਿਊਟ ਕਰੋ"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"ਮਿਊਟ ਕੀਤਾ ਗਿਆ"</string>
@@ -3381,16 +3443,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"ਅਨੁਕੂਲ ਸੂਚਨਾਵਾਂ"</string>
     <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_capabilities_actions_replies_title" msgid="4392470465646394289">"ਸੁਝਾਈਆਂ ਗਈਆਂ ਕਾਰਵਾਈਆਂ ਅਤੇ ਜਵਾਬ"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"ਸਵੈਚਲਿਤ ਤੌਰ \'ਤੇ ਸੁਝਾਈਆਂ ਗਈਆਂ ਕਾਰਵਾਈਆਂ ਅਤੇ ਜਵਾਬਾਂ ਨੂੰ ਦਿਖਾਓ"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"ਪਿਛਲੀਆਂ ਸੂਚਨਾਵਾਂ ਅਤੇ ਸਨੂਜ਼ ਕੀਤੀਆਂ ਸੂਚਨਾਵਾਂ \'ਤੇ ਨਜ਼ਰ ਰੱਖਣ ਲਈ ਸੂਚਨਾ ਇਤਿਹਾਸ ਨੂੰ ਚਾਲੂ ਕਰੋ"</string>
+    <string name="notification_history" msgid="8663811361243456201">"ਸੂਚਨਾ ਇਤਿਹਾਸ"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"ਇਤਿਹਾਸ ਚਾਲੂ ਕਰੋ"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"ਇਤਿਹਾਸ ਬੰਦ ਕਰੋ"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"ਸੂਚਨਾ ਇਤਿਹਾਸ ਬੰਦ ਹੈ"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"ਸੂਚਨਾ ਸੈਟਿੰਗਾਂ ਦੇਖੋ"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"ਸੂਚਨਾਵਾਂ ਨੂੰ ਸਨੂਜ਼ ਕਰਨ ਦਿਓ"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"ਸਰਲ ਸੂਚਨਾਵਾਂ ਤੋਂ ਪ੍ਰਤੀਕ ਲੁਕਾਓ"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"ਸਰਲ ਸੂਚਨਾਵਾਂ ਵਾਲੇ ਪ੍ਰਤੀਕ ਸਥਿਤੀ ਪੱਟੀ \'ਤੇ ਨਹੀਂ ਦਿਖਾਏ ਜਾਂਦੇ ਹਨ"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"ਸੂਚਨਾ ਬਿੰਦੂਆਂ ਨੂੰ ਆਗਿਆ ਦਿਓ"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"ਹਾਲੀਆ ਗੱਲਬਾਤਾਂ ਦੀ ਪੱਟੀ ਦਿਖਾਓ"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"ਬੁਲਬੁਲੇ"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"ਕੁਝ ਸੂਚਨਾਵਾਂ ਬੁਲਬਲਿਆਂ ਦੇ ਰੂਪ ਵਿੱਚ ਸਕ੍ਰੀਨ \'ਤੇ ਦਿਸ ਸਕਦੀਆਂ ਹਨ"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"ਕੁਝ ਸੂਚਨਾਵਾਂ ਅਤੇ ਹੋਰ ਸਮੱਗਰੀ ਬੁਲਬਲਿਆਂ ਦੇ ਰੂਪ ਵਿੱਚ ਸਕ੍ਰੀਨ \'ਤੇ ਦਿਸ ਸਕਦੀਆਂ ਹਨ। ਬੁਲਬੁਲਾ ਖੋਲ੍ਹਣ ਲਈ, ਇਸ \'ਤੇ ਟੈਪ ਕਰੋ। ਇਸਨੂੰ ਖਾਰਜ ਕਰਨ ਲਈ, ਇਸਨੂੰ ਸਕ੍ਰੀਨ \'ਤੇ ਹੇਠਾਂ ਵੱਲ ਨੂੰ ਘਸੀਟੋ।"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"ਬੁਲਬੁਲੇ"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"ਨਵੇਂ ਸੁਨੇਹੇ ਸਕ੍ਰੀਨ \'ਤੇ ਦਿਸਣਗੇ"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"<xliff:g id="APP_NAME">%1$s</xliff:g> ਨੂੰ ਕੁਝ ਸੂਚਨਾਵਾਂ ਬੁਲਬੁਲਿਆਂ ਦੇ ਰੂਪ ਵਿੱਚ ਦਿਖਾਉਣ ਦਿਓ"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"ਬੁਲਬੁਲੇ ਚਾਲੂ ਕਰੋ"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"ਇਸ ਐਪ ਵਾਸਤੇ ਬੁਲਬੁਲੇ ਚਾਲੂ ਕਰਨ ਲਈ, ਪਹਿਲਾਂ ਤੁਹਾਨੂੰ ਆਪਣੇ ਡੀਵਾਈਸ \'ਤੇ ਉਹਨਾਂ ਨੂੰ ਚਾਲੂ ਕਰਨ ਦੀ ਲੋੜ ਹੈ। ਇੰਝ ਕਰਨ ਨਾਲ ਉਹਨਾਂ ਹੋਰਾਂ ਐਪਾਂ \'ਤੇ ਅਸਰ ਪੈਂਦਾ ਹੈ, ਜਿਨ੍ਹਾਂ \'ਤੇ ਪਹਿਲਾਂ ਹੀ ਬੁਲਬੁਲੇ ਚਾਲੂ ਕੀਤੇ ਹੋਣ।"</string>
@@ -3408,6 +3480,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"ਹੇਠਾਂ ਖਿੱਚੀ ਜਾਣ ਵਾਲੀ ਸੂਚੀ ਅਤੇ ਲਾਕ ਸਕ੍ਰੀਨ \'ਤੇ ਦਿਸਦੀਆਂ ਹਨ"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"ਹੇਠਾਂ ਖਿੱਚੀ ਜਾਣ ਵਾਲੀ ਸੂਚੀ ਅਤੇ ਸਥਿਤੀ ਪੱਟੀ \'ਤੇ ਦਿਸਦੀਆਂ ਹਨ"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"ਹੇਠਾਂ ਖਿੱਚੀ ਜਾਣ ਵਾਲੀ ਸੂਚੀ, ਸਥਿਤੀ ਪੱਟੀ ਅਤੇ ਲਾਕ ਸਕ੍ਰੀਨ \'ਤੇ ਦਿਸਦੀਆਂ ਹਨ"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"ਸਥਿਤੀ ਪੱਟੀ ਵਿੱਚ ਖਮੋਸ਼ ਸੂਚਨਾਵਾਂ ਲੁਕਾਓ"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"ਲਾਈਟ ਨੂੰ ਟਿਮ-ਟਿਮਾਓ"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"ਲਾਕ ਸਕ੍ਰੀਨ"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"ਲਾਕ ਸਕ੍ਰੀਨ ਛੱਡੋ"</string>
@@ -3438,6 +3511,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"ਵਰਤਾਅ"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"ਧੁਨੀ ਵੱਜਣ ਦਿਓ"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"ਸੂਚਨਾਵਾਂ ਕਦੇ ਵੀ ਨਾ  ਦਿਖਾਓ"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"ਗੱਲਾਂਬਾਤਾਂ"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"ਗੱਲਬਾਤ"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"ਗੱਲਬਾਤ ਨਹੀਂ ਹੈ"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"ਗੱਲਬਾਤ ਸੈਕਸ਼ਨ ਤੋਂ ਹਟਾਓ"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"ਇਹ ਗੱਲਬਾਤ ਹੈ"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"ਗੱਲਬਾਤ ਸੈਕਸ਼ਨ ਵਿੱਚ ਸ਼ਾਮਲ ਕਰੋ"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"ਗੱਲਾਂਬਾਤਾਂ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰੋ"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"ਮਹੱਤਵਪੂਰਨ ਗੱਲਾਂਬਾਤਾਂ"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"ਸਾਰੀਆਂ ਗੱਲਾਂਬਾਤਾਂ"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"ਮਹੱਤਵਪੂਰਨ ਗੱਲਾਂਬਾਤਾਂ ਨੂੰ ਬੁਲਬੁਲੇ ਵਜੋਂ ਦਿਖਾਓ"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"ਮਹੱਤਵਪੂਰਨ ਗੱਲਾਂਬਾਤਾਂ ਹੇਠਾਂ ਖਿੱਚੀ ਜਾਣ ਵਾਲੀ ਸੂਚੀ ਦੇ ਸਿਖਰ \'ਤੇ ਦਿਸਦੀਆਂ ਹਨ। ਤੁਸੀਂ ਇਹਨਾਂ ਨੂੰ ਬੁਲਬੁਲੇ \'ਤੇ ਵੀ ਸੈੱਟ ਕਰ ਸਕਦੇ ਹੋ ਅਤੇ \'ਪਰੇਸ਼ਾਨ ਨਾ ਕਰੋ\' ਮੋਡ ਰੋਕ ਸਕਦੇ ਹੋ।"</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"ਚੁੱਪ-ਚਪੀਤੇ ਅਤੇ ਛੋਟਾ ਕਰਕੇ ਦਿਖਾਓ"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"ਚੁੱਪਚਾਪ  ਦਿਖਾਓ"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"ਧੁਨੀ ਵਜਾਓ"</string>
@@ -3456,7 +3540,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"ਤੁਹਾਨੂੰ ਬਿਨਾਂ ਧੁਨੀ ਅਤੇ ਥਰਥਰਾਹਟ ਦੇ ਫੋਕਸ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"ਧੁਨੀ ਅਤੇ ਥਰਥਰਾਹਟ ਨਾਲ ਤੁਹਾਡਾ ਧਿਆਨ ਖਿੱਚਦੀ ਹੈ"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"ਡੀਵਾਈਸ ਅਣਲਾਕ ਕਰਨ \'ਤੇ, ਸਕ੍ਰੀਨ ਦੇ ਸਿਖਰ \'ਤੇ ਸੂਚਨਾਵਾਂ ਨੂੰ ਬੈਨਰ ਵਜੋਂ ਦਿਖਾਓ"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"ਸੂਚਨਾਵਾਂ ਦਿਖਾਓ"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"ਸਾਰੀਆਂ <xliff:g id="APP_NAME">%1$s</xliff:g> ਸੂਚਨਾਵਾਂ"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"ਅਨੁਕੂਲ ਸੂਚਨਾਵਾਂ"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="one">ਹਰ ਰੋਜ਼ ~<xliff:g id="NUMBER_1">%d</xliff:g> ਸੂਚਨਾ</item>
@@ -3477,6 +3561,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"ਅਨੁਕੂਲ ਸੂਚਨਾਵਾਂ"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"ਕੋਈ ਨਹੀਂ"</string>
     <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="3119843404577399036">"<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>
@@ -3538,8 +3623,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"ਹੋ ਗਿਆ"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"ਮਹੱਤਤਾ"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"ਲਾਈਟ ਨੂੰ ਟਿਮ-ਟਿਮਾਓ"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"ਥਰਥਰਾਹਟ ਕਰੋ"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"ਥਰਥਰਾਹਟ"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"ਧੁਨੀ"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"ਮਹੱਤਵਪੂਰਨ"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"ਹੋਮ ਵਿੱਚ ਸ਼ਾਮਲ ਕਰੋ"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"ਮਿਟਾਓ"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"ਨਾਮ ਬਦਲੋ"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"ਸਮਾਂ-ਸੂਚੀ ਦਾ ਨਾਮ"</string>
@@ -3593,6 +3680,10 @@
       <item quantity="one"><xliff:g id="NUM_PEOPLE">%d</xliff:g> ਹੋਰ</item>
       <item quantity="other"><xliff:g id="NUM_PEOPLE">%d</xliff:g> ਹੋਰ</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"ਗੱਲਾਂਬਾਤਾਂ"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"ਸਾਰੀਆਂ ਗੱਲਾਂਬਾਤਾਂ ਤੋਂ"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"ਮਹੱਤਵਪੂਰਨ ਗੱਲਾਂਬਾਤਾਂ ਤੋਂ"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"ਕਿਸੇ ਵੀ ਗੱਲਬਾਤ ਦੀ ਇਜਾਜ਼ਤ ਨਾ ਦਿਓ"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"ਸੁਨੇਹੇ ਭੇਜਣ ਅਤੇ ਆਉਣ ਦਿਓ"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"ਸੁਨੇਹਿਆਂ ਨੂੰ ਧੁਨੀ ਵਜਾਉਣ ਦੇਣ ਲਈ, ਜਾਂਚ ਕਰੋ ਕਿ ਤੁਹਾਡਾ ਡੀਵਾਈਸ ਘੰਟੀ, ਥਰਥਰਾਹਟ ਜਾਂ ਖਾਮੋਸ਼ੀ \'ਤੇ ਸੈੱਟ ਹੈ।"</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"‘<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>’ ਲਈ ਇਨਕਮਿੰਗ ਸੁਨੇਹੇ ਬਲਾਕ ਕੀਤੇ ਗਏ ਹਨ। ਤੁਸੀਂ ਆਪਣੇ ਦੋਸਤਾਂ, ਪਰਿਵਾਰਕ ਮੈਂਬਰਾਂ ਜਾਂ ਹੋਰ ਸੰਪਰਕਾਂ ਨੂੰ ਤੁਹਾਨੂੰ ਸੰਪਰਕ ਕਰਨ ਦੇਣ ਲਈ ਸੈਟਿੰਗਾਂ ਨੂੰ ਵਿਵਸਥਿਤ ਕਰ ਸਕਦੇ ਹੋ।"</string>
@@ -3606,15 +3697,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"ਕਿਸੇ ਤੋਂ ਵੀ ਨਹੀਂ"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"ਕਿਸੇ ਵੀ ਕਾਲ ਦੀ ਇਜਾਜ਼ਤ ਨਾ ਦਿਓ"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"ਕਿਸੇ ਵੀ ਸੁਨੇਹੇ ਦੀ ਇਜਾਜ਼ਤ ਨਾ ਦਿਓ"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"ਅਲਾਰਮ ਵੱਜਣ ਦਿਓ"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"ਅਲਾਰਮ"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"ਟਾਈਮਰ, ਅਲਾਰਮ, ਸੁਰੱਖਿਆ ਸਿਸਟਮ ਅਤੇ ਹੋਰ ਐਪਾਂ ਤੋਂ"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"ਅਲਾਰਮ"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"ਮੀਡੀਆ ਧੁਨੀਆਂ ਚਲਾਓ"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"ਮੀਡੀਆ ਧੁਨੀਆਂ"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"ਵੀਡੀਓ, ਗੇਮਾਂ ਅਤੇ ਹੋਰ ਮੀਡੀਆ ਤੋਂ"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"ਮੀਡੀਆ"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"ਸਪਰਸ਼ ਧੁਨੀਆਂ ਚੱਲਣ ਦਿਓ"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"ਸਪੱਰਸ਼ ਧੁਨੀਆਂ"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"ਤੁਹਾਡੇ ਕੀ-ਬੋਰਡ ਅਤੇ ਹੋਰ ਬਟਨਾਂ ਤੋਂ"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"ਸਪਰਸ਼ ਧੁਨੀਆਂ"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"ਯਾਦ-ਸੂਚਨਾਵਾਂ ਨੂੰ ਦਿਖਾਉਣ ਦਿਓ"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"ਯਾਦ-ਸੂਚਨਾਵਾਂ"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"ਕਾਰਜਾਂ ਅਤੇ ਯਾਦ-ਸੂਚਨਾਵਾਂ ਤੋਂ"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"ਯਾਦ-ਸੂਚਨਾਵਾਂ"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"ਇਵੈਂਟ ਦਿਖਾਉਣ ਦਿਓ"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"ਇਵੈਂਟ"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"ਆਗਾਮੀ ਕੈਲੰਡਰ ਇਵੈਂਟਾਂ ਤੋਂ"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"ਐਪਾਂ ਨੂੰ ਓਵਰਰਾਈਡ ਕਰਨ ਦਿਓ"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"ਐਪ ਅਪਵਾਦ"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3657,6 +3753,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"\'ਪਰੇਸ਼ਾਨ ਨਾ ਕਰੋ\' ਵੱਲੋਂ ਚੁੱਪ ਕਰਵਾਈਆਂ ਸੂਚਨਾਵਾਂ ਨੂੰ ਸਕ੍ਰੀਨ ਚਾਲੂ ਕਰਨ ਦਿਓ"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"ਸੂਚਨਾ ਸੈਟਿੰਗਾਂ"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"ਠੀਕ ਹੈ"</string>
+    <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>
@@ -3667,6 +3764,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"ਅਨਪਿੰਨ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਪਿੰਨ ਮੰਗੋ"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"ਅਨਪਿੰਨ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਪਾਸਵਰਡ ਮੰਗੋ"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"ਅਨਪਿੰਨ ਕਰਨ ਵੇਲੇ ਡੀਵਾਈਸ ਲਾਕ ਕਰੋ"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"ਸਿਮ ਮਿਟਾਉਣ ਦੀ ਤਸਦੀਕ ਕਰੋ"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"ਡਾਊਨਲੋਡ ਕੀਤੀ ਸਿਮ ਮਿਟਾਉਣ ਤੋਂ ਪਹਿਲਾਂ ਆਪਣੀ ਪਛਾਣ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"ਇਹ ਕਾਰਜ ਪ੍ਰੋਫਾਈਲ ਇਸ ਵੱਲੋਂ ਵਿਵਸਥਿਤ ਕੀਤੀ ਗਈ ਹੈ:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"<xliff:g id="ADMIN_APP_LABEL">%s</xliff:g> ਦੁਆਰਾ ਪ੍ਰਬੰਧਿਤ"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(ਪ੍ਰਯੋਗਾਤਮਿਕ)"</string>
@@ -3741,8 +3840,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"ਸਾਰੀਆਂ ਐਪਾਂ"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"ਸਥਾਪਤ ਐਪਾਂ"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"ਤਤਕਾਲ ਐਪਾਂ"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"ਨਿੱਜੀ"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"ਦਫ਼ਤਰ"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"ਐਪਾਂ: ਸਾਰੀਆਂ"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"ਬੰਦ ਕੀਤੀਆਂ ਗਈਆਂ"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"ਸ਼੍ਰੇਣੀਆਂ: ਜ਼ਰੂਰੀ ਮਹੱਤਵ"</string>
@@ -3754,6 +3851,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"ਅਗਿਆਤ ਐਪ"</string>
     <string name="app_permissions" msgid="8666537659217653626">"ਇਜਾਜ਼ਤ ਪ੍ਰਬੰਧਕ"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"<xliff:g id="APPS">%1$s</xliff:g> ਦੀ ਵਰਤੋਂ ਕਰ ਰਹੀਆਂ ਐਪਾਂ"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"<xliff:g id="APPS">%1$s</xliff:g> ਵਰਤਣ ਵਾਲੀਆਂ ਐਪਾਂ, ਅਤੇ ਹੋਰ"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"ਕਿਰਿਆਸ਼ੀਲ ਲਈ ਟੈਪ ਕਰੋ"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"ਡੀਵਾਈਸ ਨੂੰ ਕਿਰਿਆਸ਼ੀਲ ਲਈ ਸਕ੍ਰੀਨ \'ਤੇ ਕਿੱਥੇ ਵੀ ਦੋ ਵਾਰ ਟੈਪ ਕਰੋ"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"ਖੁੱਲ੍ਹਣ ਵਾਲੇ ਲਿੰਕ"</string>
@@ -3765,9 +3863,14 @@
       <item quantity="one">ਸਮਰਥਿਤ ਲਿੰਕ ਖੋਲ੍ਹਣ ਵਾਲੀ <xliff:g id="COUNT">%d</xliff:g> ਐਪ</item>
       <item quantity="other">ਸਮਰਥਿਤ ਲਿੰਕ ਖੋਲ੍ਹਣ ਵਾਲੀਆਂ <xliff:g id="COUNT">%d</xliff:g> ਐਪਾਂ</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"ਇਸ ਐਪ ਵਿੱਚ ਖੋਲ੍ਹੋ"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"ਐਪ ਨੂੰ ਸਮਰਥਿਤ ਲਿੰਕ ਨਾ ਖੋਲ੍ਹਣ ਦਿਓ"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"ਹਰ ਵਾਰ ਪੁੱਛੋ"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"ਇਸ ਐਪ ਵਿੱਚ ਨਾ ਖੋਲ੍ਹੋ"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"ਐਪ ਨੂੰ ਲਿੰਕ ਨਾ ਖੋਲ੍ਹਣ ਦਿਓ"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="one">ਐਪ <xliff:g id="COUNT_1">%d</xliff:g> ਲਿੰਕ ਨੂੰ ਸੰਭਾਲਣ ਦਾ ਦਾਅਵਾ ਕਰਦੀ ਹੈ</item>
+      <item quantity="other">ਐਪ <xliff:g id="COUNT_1">%d</xliff:g> ਲਿੰਕਾਂ ਨੂੰ ਸੰਭਾਲਣ ਦਾ ਦਾਅਵਾ ਕਰਦੀ ਹੈ</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"ਐਪ ਹੇਠਾਂ ਦਿੱਤੇ ਲਿੰਕਾਂ ਨੂੰ ਸੰਭਾਲਣ ਦਾ ਦਾਅਵਾ ਕਰਦੀ ਹੈ:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"ਪੂਰਵ-ਨਿਰਧਾਰਤ"</string>
     <string name="default_for_work" msgid="537558180548617528">"ਕੰਮ ਲਈ ਪੂਰਵ-ਨਿਰਧਾਰਤ"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"ਸਹਾਇਕ ਅਤੇ ਅਵਾਜ਼ੀ ਇਨਪੁੱਟ"</string>
@@ -3911,8 +4014,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"ਦੂਜੀਆਂ ਐਪਾਂ ਦੇ ਉੱਪਰ ਪ੍ਰਦਰਸ਼ਿਤ ਕਰੋ"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"ਦੂਜੀਆਂ ਐਪਾਂ ਉੱਪਰ ਪ੍ਰਦਰਸ਼ਿਤ ਹੋਣ ਨੂੰ ਇਜਾਜ਼ਤ ਦਿਓ"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"ਇਸ ਐਪ ਨੂੰ ਤੁਹਾਡੇ ਵੱਲੋਂ ਵਰਤੀਆਂ ਜਾ ਰਹੀਆਂ ਹੋਰ ਐਪਾਂ \'ਤੇ ਪ੍ਰਦਰਸ਼ਿਤ ਕਰਨ ਦਿਓ। ਇਹ ਤੁਹਾਡੇ ਦੁਆਰਾ ਉਹਨਾਂ ਐਪਾਂ ਦੀ ਵਰਤੋਂ ਵਿੱਚ ਦਖ਼ਲ ਦੇ ਸਕਦੀ ਹੈ ਜਾਂ ਉਹਨਾਂ ਦੇ ਦਿਖਾਈ ਦੇਣ ਜਾਂ ਕੰਮ ਕਰਨ ਦੇ ਤਰੀਕੇ ਨੂੰ ਬਦਲ ਸਕਦੀ ਹੈ।"</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"ਸਾਰੀਆਂ ਫ਼ਾਈਲਾਂ ਤੱਕ ਪਹੁੰਚ"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"ਸਾਰੀਆਂ ਫ਼ਾਈਲਾਂ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਨ ਦਿਓ"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"ਇਸ ਐਪ ਨੂੰ ਇਸ ਡੀਵਾਈਸ ਜਾਂ ਇਸ ਨਾਲ ਕਨੈਕਟ ਕਿਸੇ ਵੀ ਸਟੋਰੇਜ ਭਾਗ ਦੀਆਂ ਸਾਰੀਆਂ ਫ਼ਾਈਲਾਂ ਨੂੰ ਪੜ੍ਹਨ, ਸੋਧਣ ਅਤੇ ਮਿਟਾਉਣ ਦੀ ਆਗਿਆ ਦਿਓ। ਜੇ ਇਜਾਜ਼ਤ ਦਿੱਤੀ ਜਾਂਦੀ ਹੈ, ਤਾਂ ਐਪ ਤੁਹਾਨੂੰ ਸੂਚਿਤ ਕੀਤੇ ਬਿਨਾਂ ਫਾਈਲਾਂ ਤੱਕ ਪਹੁੰਚ ਕਰ ਸਕਦੀ ਹੈ।"</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"ਇਹ ਸਾਰੀਆਂ ਫ਼ਾਈਲਾਂ ਤੱਕ ਪਹੁੰਚ ਕਰ ਸਕਦੀ ਹੈ"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"VR ਆਭਾਸੀ ਵਾਸਤਵਿਕਤਾ ਸਰੋਤਾ ਸਟੀਰੀਓ ਸਹਾਇਕ ਸੇਵਾ"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"ਸਿਸਟਮ ਚਿਤਾਵਨੀ ਵਿੰਡੋ ਡਾਇਲੌਗ ਦੂਜੀਆਂ ਐਪਾਂ ਦੇ ਉੱਪਰ ਪ੍ਰਦਰਸ਼ਿਤ ਕਰੋ"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"ਦੂਜੀਆਂ ਐਪਾਂ ਦੇ ਉੱਪਰ ਪ੍ਰਦਰਸ਼ਿਤ ਕਰੋ"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"<xliff:g id="COUNT_1">%2$d</xliff:g> ਵਿੱਚੋਂ <xliff:g id="COUNT_0">%1$d</xliff:g> ਐਪਾਂ ਨੂੰ ਹੋਰ ਐਪਾਂ ਉੱਤੇ ਪ੍ਰਦਰਸ਼ਿਤ ਹੋਣ ਦੀ ਇਜਾਜ਼ਤ ਦਿੱਤੀ"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"ਅਨੁਮਤੀ ਵਾਲੀਆਂ ਐਪਸ"</string>
@@ -4078,6 +4184,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"<xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g> ਡਾਟਾ ਵਰਤਿਆ ਗਿਆ"</string>
     <string name="data_overusage" msgid="3680477320458707259">"<xliff:g id="ID_1">^1</xliff:g> ਤੋਂ ਵੱਧ"</string>
     <string name="data_remaining" msgid="6316251496381922837">"<xliff:g id="ID_1">^1</xliff:g> ਬਾਕੀ"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"ਗ੍ਰਾਫ਼ ਵਿੱਚ <xliff:g id="START_DATE">%1$s</xliff:g> ਅਤੇ <xliff:g id="END_DATE">%2$s</xliff:g> ਵਿਚਲੀ ਡਾਟਾ ਵਰਤੋਂ ਦਿਖਾਈ ਜਾ ਰਹੀ ਹੈ।"</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"ਇਸ ਤਾਰੀਖ ਦੀ ਰੇਂਜ ਵਿੱਚ ਕੋਈ ਡਾਟਾ ਨਹੀਂ"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="one">%d ਦਿਨ ਬਾਕੀ ਹੈ</item>
       <item quantity="other">%d ਦਿਨ ਬਾਕੀ ਹਨ</item>
@@ -4141,14 +4249,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"ਪਾਰਸਲ ਦਾ ਆਕਾਰ"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"ਸੂਚਨਾ ਭੇਜੀ ਗਈ"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"ਧੁਨੀ"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"ਥਰਥਰਾਹਟ ਕਰੋ"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"ਪੈਟਰਨ"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"ਪੂਰਵ-ਨਿਰਧਾਰਤ"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"ਚੈਨਲ"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"ਕੋਈ ਨਹੀਂਂ"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"ਰੈਕਿੰਗ ਔਬਜੈਕਟ ਗੁੰਮ ਹੈ।"</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"ਰੈਕਿੰਗ ਔਬਜੈਕਟ ਵਿੱਚ ਇਹ ਕੁੰਜੀ ਸ਼ਾਮਲ ਨਹੀਂ ਹੈ।"</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"ਥੀਮਿੰਗ"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"ਪੂਰਵ-ਨਿਰਧਾਰਤ ਡੀਵਾਈਸ"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"ਡਿਸਪਲੇ ਕੱਟਆਊਟ"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"ਡਿਸਪਲੇ ਕੱਟਆਊਟ, ਨੌਚ"</string>
@@ -4237,8 +4341,12 @@
     <string name="information_label" msgid="6939310810756569298">"ਜਾਣਕਾਰੀ"</string>
     <string name="low_label" msgid="6525629096999711220">"ਘੱਟ"</string>
     <string name="high_label" msgid="357503396626018487">"ਉੱਚ"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"ਉੱਚ ਸੰਵੇਦਨਸ਼ੀਲਤਾ ਕਾਰਨ ਸਕ੍ਰੀਨ ਦੇ ਕਿਨਾਰਿਆਂ ਸੰਬੰਧੀ ਐਪ ਸੰਕੇਤਾਂ ਵਿੱਚ ਉਲਝਣ ਪੈਦਾ ਹੋ ਸਕਦੀ ਹੈ।"</string>
+    <string name="left_edge" msgid="1513576842959071849">"ਖੱਬਾ ਕੋਨਾ"</string>
+    <string name="right_edge" msgid="1505309103265829121">"ਸੱਜਾ ਕਿਨਾਰਾ"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"ਉੱਚ ਸੰਵੇਦਨਸ਼ੀਲਤਾ ਕਾਰਨ ਸਕ੍ਰੀਨ ਦੇ ਕਿਨਾਰਿਆਂ ਸੰਬੰਧੀ ਐਪ ਸੰਕੇਤਾਂ ਵਿੱਚ ਉਲਝਣ ਪੈਦਾ ਹੋ ਸਕਦੀ ਹੈ।"</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"\'ਪਿੱਛੇ\' ਸੰਬੰਧੀ ਸੰਵੇਦਨਸ਼ੀਲਤਾ"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"ਸੰਕੇਤ ਸੈਟਿੰਗਾਂ"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"ਇਸ਼ਾਰਾ ਨੈਵੀਗੇਸ਼ਨ, \'ਪਿੱਛੇ\' ਸੰਬੰਧੀ ਸੰਵੇਦਨਸ਼ੀਲਤਾ, \'ਪਿੱਛੇ\' ਸੰਬੰਧੀ ਇਸ਼ਾਰਾ"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"ਫ਼ੋਨ ਚੈੱਕ ਕਰਨ ਲਈ ਡਬਲ ਟੈਪ ਕਰੋ"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"ਸੂਚਨਾਵਾਂ ਦੇਖਣ ਲਈ ਟੈਬਲੈੱਟ \'ਤੇ ਦੋ ਵਾਰ ਟੈਪ ਕਰੋ"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"ਸੂਚਨਾਵਾਂ ਦੇਖਣ ਲਈ ਡੀਵਾਈਸ \'ਤੇ ਦੋ ਵਾਰ ਟੈਪ ਕਰੋ"</string>
@@ -4393,7 +4501,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"ਕੈਰੀਅਰ ਵਿਵਸਥਾਕਰਨ ਨੂੰ ਤੂਲ ਦਿਓ"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"\'ਪਰੇਸ਼ਾਨ ਨਾ ਕਰੋ\' ਨੂੰ ਅੱਪਡੇਟ ਕਰੋ"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"ਧਿਆਨ ਕੇਂਦਰਿਤ ਰੱਖਣ ਲਈ ਸੂਚਨਾਵਾਂ ਰੋਕੋ"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"ਇਹ ਵਿਸ਼ੇਸ਼ਤਾ ਇਸ ਡੀਵਾਈਸ \'ਤੇ ਉਪਲਬਧ ਨਹੀਂ ਹੈ"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"ਵਿਸ਼ੇਸ਼ਤਾ ਉਪਲਬਧ ਨਹੀਂ ਹੈ"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"ਇਸ ਵਿਸ਼ੇਸ਼ਤਾ ਨੂੰ ਬੰਦ ਕਰ ਦਿੱਤਾ ਗਿਆ ਹੈ ਕਿਉਂਕਿ ਇਹ ਤੁਹਾਡੇ ਫ਼ੋਨ ਨੂੰ ਹੌਲੀ ਕਰ ਦਿੰਦੀ ਹੈ"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"GNSS ਮਾਪ ਨੂੰ ਜ਼ਬਰਦਰਸਤੀ ਲਾਗੂ ਕਰੋ"</string>
@@ -4403,20 +4510,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"ANGLE ਸਮਰਥਿਤ ਐਪ ਚੁਣੋ"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"ANGLE ਸਮਰਥਿਤ ਕੋਈ ਐਪਲੀਕੇਸ਼ਨ ਸੈੱਟ ਨਹੀਂ"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"ANGLE ਸਮਰਥਿਤ ਐਪਲੀਕੇਸ਼ਨ: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"ਗੇਮ ਡਰਾਈਵਰ ਤਰਜੀਹਾਂ"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"ਗੇਮ ਡਰਾਈਵਰ ਦੀਆਂ ਸੈਟਿੰਗਾਂ ਸੋਧੋ"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"ਜਦੋਂ ਗੇਮ ਡਰਾਈਵਰ ਚਾਲੂ ਹੁੰਦਾ ਹੈ, ਤਾਂ ਤੁਸੀਂ ਡੀਵਾਈਸ \'ਤੇ ਐਪਾਂ ਨੂੰ ਸਥਾਪਤ ਕਰਨ ਲਈ ਅੱਪਡੇਟ ਕੀਤੇ ਗ੍ਰਾਫ਼ਿਕ ਡਰਾਈਵਰ ਦੀ ਵਰਤੋਂ ਨੂੰ ਚੁਣ ਸਕਦੇ ਹੋ।"</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"ਸਾਰੀਆਂ ਐਪਾਂ ਲਈ ਚਾਲੂ ਕਰੋ"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"ਗ੍ਰਾਫਿਕ ਡਰਾਈਵਰ ਚੁਣੋ"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"ਪੂਰਵ-ਨਿਰਧਾਰਤ"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"ਗੇਮ ਡਰਾਈਵਰ"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"ਪੂਰਵ-ਰਿਲੀਜ਼ ਡਰਾਈਵਰ"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"ਸਿਸਟਮ ਗ੍ਰਾਫਿਕ ਡਰਾਈਵਰ"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"ਗ੍ਰਾਫ਼ਿਕ ਡਰਾਈਵਰ ਤਰਜੀਹਾਂ"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"ਗ੍ਰਾਫ਼ਿਕ ਡਰਾਈਵਰ ਸੈਟਿੰਗਾਂ ਸੋਧੋ"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"ਜਦੋਂ ਕਈ ਗ੍ਰਾਫ਼ਿਕ ਡਰਾਈਵਰ ਹੋਣ, ਤਾਂ ਤੁਸੀਂ ਡੀਵਾਈਸ \'ਤੇ ਸਥਾਪਤ ਐਪਾਂ ਲਈ ਅੱਪਡੇਟ ਕੀਤੇ ਗ੍ਰਾਫ਼ਿਕ ਡਰਾਈਵਰ ਦੀ ਵਰਤੋਂ ਨੂੰ ਚੁਣ ਸਕਦੇ ਹੋ।"</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"ਸਾਰੀਆਂ ਐਪਾਂ ਲਈ ਚਾਲੂ ਕਰੋ"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"ਗ੍ਰਾਫ਼ਿਕ ਡਰਾਈਵਰ ਚੁਣੋ"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"ਪੂਰਵ-ਨਿਰਧਾਰਤ"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"ਗੇਮ ਡਰਾਈਵਰ"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"ਵਿਕਾਸਕਾਰ ਡਰਾਈਵਰ"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"ਸਿਸਟਮ ਗ੍ਰਾਫ਼ਿਕ ਡਰਾਈਵਰ"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"ਐਪ ਅਨੁਰੂਪਤਾ ਸੰਬੰਧੀ ਤਬਦੀਲੀਆਂ"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"ਐਪ ਅਨੁਰੂਪਤਾ ਤਬਦੀਲੀਆਂ ਨੂੰ ਟੌਗਲ ਕਰੋ"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"ਪੂਰਵ-ਨਿਰਧਾਰਤ ਤੌਰ \'ਤੇ ਚਾਲੂ ਕੀਤੀਆਂ ਤਬਦੀਲੀਆਂ"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"ਪੂਰਵ-ਨਿਰਧਾਰਤ ਤੌਤ \'ਤੇ ਬੰਦ ਕੀਤੀਆਂ ਤਬਦੀਲੀਆਂ"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"ਸੈਟਿੰਗ ਇਸ ਫ਼ੋਨ \'ਤੇ ਸਮਰਥਿਤ ਨਹੀਂ ਹੈ"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"ਸੈਟਿੰਗ ਇਸ ਟੈਬਲੈੱਟ \'ਤੇ ਸਮਰਥਿਤ ਨਹੀਂ ਹੈ"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"ਸੈਟਿੰਗ ਇਸ ਡੀਵਾਈਸ \'ਤੇ ਸਮਰਥਿਤ ਨਹੀਂ ਹੈ"</string>
@@ -4435,6 +4548,12 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"ਡੀਵਾਈਸ"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"ਕਾਲਾਂ ਵੇਲੇ ਉਪਲਬਧ ਨਹੀਂ ਹੈ"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"ਅਣਉਪਲਬਧ"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"ਆਊਟਪੁੱਟ ਸ਼ਾਮਲ ਕਰੋ"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"ਗਰੁੱਪ"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 ਡੀਵਾਈਸ ਨੂੰ ਚੁਣਿਆ ਗਿਆ"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> ਡੀਵਾਈਸਾਂ ਨੂੰ ਚੁਣਿਆ ਗਿਆ"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"ਇਸ \'ਤੇ ਕਾਲ ਪ੍ਰਾਪਤ ਕਰੋ"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"ਇਸ APN ਨੂੰ ਬਦਲਿਆ ਨਹੀਂ ਜਾ ਸਕਦਾ।"</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"ਟੈਬਲੈੱਟ ਦੀ ਬੈਟਰੀ ਲਾਈਫ਼ ਨੂੰ ਬਿਹਤਰ ਬਣਾਓ"</string>
@@ -4552,10 +4671,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"ਇੱਕੋ ਵੇਲੇ ਸਿਰਫ਼ ਇੱਕ ਡਾਊਨਲੋਡ ਕੀਤਾ ਸਿਮ ਕਿਰਿਆਸ਼ੀਲ ਹੋ ਸਕਦਾ ਹੈ।\n\n <xliff:g id="CARRIER1">%1$s</xliff:g> ਵਰਤਣ ਨਾਲ ਤੁਹਾਡੀ <xliff:g id="CARRIER2">%2$s</xliff:g> ਸੇਵਾ ਰੱਦ ਨਹੀਂ ਹੋਵੇਗੀ।"</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"<xliff:g id="CARRIER">%1$s</xliff:g> \'ਤੇ ਜਾਓ"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"ਸਿਮ ਮਿਟਾਓ"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"ਕੀ ਇਹ ਡਾਊਨਲੋਡ ਕੀਤਾ ਸਿਮ ਮਿਟਾਉਣਾ ਹੈ?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"ਇਹ ਸਿਮ ਮਿਟਾਉਣ ਨਾਲ <xliff:g id="CARRIER_0">%1$s</xliff:g> ਸੇਵਾ ਇਸ ਡੀਵਾਈਸ ਤੋਂ ਮਿਟ ਜਾਂਦੀ ਹੈ।\n\n<xliff:g id="CARRIER_1">%2$s</xliff:g> ਲਈ ਸੇਵਾ ਰੱਦ ਨਹੀਂ ਕੀਤੀ ਜਾਵੇਗੀ।"</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"ਮਿਟਾਓ"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"ਸਿਮ ਮਿਟਾਇਆ ਜਾ ਰਿਹਾ ਹੈ…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"ਸਿਮ ਮਿਟਾਇਆ ਨਹੀਂ ਜਾ ਸਕਦਾ"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"ਕਿਸੇ ਗੜਬੜ ਕਰਕੇ ਇਹ ਸਿਮ ਮਿਟਾਇਆ ਨਹੀਂ ਜਾ ਸਕਦਾ।\n\nਆਪਣੇ ਡੀਵਾਈਸ ਨੂੰ ਮੁੜ-ਸ਼ੁਰੂ ਕਰਕੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"ਤਰਜੀਹੀ ਨੈੱਟਵਰਕ ਦੀ ਕਿਸਮ"</string>
@@ -4580,7 +4695,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"ਅਵੈਧ ਨੈੱਟਵਰਕ ਮੋਡ <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. ਅਣਡਿੱਠ ਕਰੋ।"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"ਐਕਸੈੱਸ ਪੁਆਇੰਟ ਨਾਮ"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"<xliff:g id="CARRIER">%1$s</xliff:g> ਨਾਲ ਕਨੈਕਟ ਹੋਣ \'ਤੇ ਉਪਲਬਧ ਨਹੀਂ ਹੈ"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"ਡਾਕਟਰੀ ਜਾਣਕਾਰੀ, ਸੰਕਟਕਾਲੀਨ ਸੰਪਰਕ"</string>
     <string name="see_more" msgid="7499355691042812723">"ਹੋਰ ਦੇਖੋ"</string>
     <string name="see_less" msgid="2642392725363552793">"ਘੱਟ ਵੇਖੋ"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"<xliff:g id="APPNAME">%1$s</xliff:g> ਨਾਲ ਵਰਤਣ ਵਾਲਾ ਡੀਵਾਈਸ"</string>
@@ -4589,11 +4703,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"ਕੋਈ ਗੜਬੜ ਹੋ ਗਈ। ਐਪਲੀਕੇਸ਼ਨ ਨੇ ਕਿਸੇ ਡੀਵਾਈਸ ਨੂੰ ਚੁਣਨ ਦੀ ਬੇਨਤੀ ਰੱਦ ਕਰ ਦਿੱਤੀ ਹੈ।"</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"ਕਨੈਕਸ਼ਨ ਸਫਲ ਰਿਹਾ"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"ਸਭ ਦਿਖਾਓ"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> ਡੀਵਾਈਸ ਕਨੈਕਟ ਕੀਤਾ ਗਿਆ</item>
-      <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> ਡੀਵਾਈਸ ਕਨੈਕਟ ਕੀਤੇ ਗਏ</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"ਕੋਈ ਬਲੂਟੁੱਥ ਡੀਵਾਈਸਾਂ ਨਹੀਂ ਹਨ"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"ਡੀਵਾਈਸ ਖੋਜਿਆ ਜਾ ਰਿਹਾ ਹੈ…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"ਡੀਵਾਈਸ ਨਾਲ ਕਨੈਕਟ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"ਖੱਬਾ"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"ਸੱਜਾ"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"ਕੇਸ"</string>
@@ -4603,6 +4714,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"ਹਵਾਈ-ਜਹਾਜ਼ ਮੋਡ ਚਾਲੂ ਹੋਣ ਵੇਲੇ ਉਪਲਬਧ ਨਹੀਂ ਹੈ"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"ਜ਼ਬਰਦਸਤੀ ਡੈਸਕਟਾਪ ਮੋਡ ਵਿੱਚ ਲਿਆਓ"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"ਸੈਕੰਡਰੀ ਡਿਸਪਲੇਆਂ \'ਤੇ ਜ਼ਬਰਦਸਤੀ ਪ੍ਰਯੋਗਮਈ ਡੈਸਕਟਾਪ ਮੋਡ"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"ਫ੍ਰੀਫਾਰਮ ਆਕਾਰ ਅਨੁਰੂਪਤਾ ਨੂੰ ਚਾਲੂ ਕਰੋ"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"ਆਕਾਰ ਅਨੁਰੂਪਤਾ ਵਾਲੀਆਂ ਐਪਾਂ ਨੂੰ ਫ੍ਰੀਫਾਰਮ ਵਿੱਚ ਰਹਿਣ ਦਿਓ"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"ਜ਼ਬਰਦਸਤੀ ਗੂੜ੍ਹਾ ਮੋਡ ਓਵਰਰਾਈਡ ਕਰੋ"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"ਜ਼ਬਰਦਸਤੀ ਨਾਲ ਗੂੜ੍ਹਾ ਮੋਡ ਲਾਗੂ ਕਰਨ ਵਾਲੀ ਵਿਸ਼ੇਸ਼ਤਾ ਨੂੰ ਹਮੇਸ਼ਾਂ-ਚਾਲੂ ਰੱਖਣ ਲਈ ਓਵਰਰਾਈਡ ਕਰਦੀ ਹੈ"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"ਪਰਦੇਦਾਰੀ"</string>
@@ -4639,6 +4752,10 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"ਤੁਸੀਂ ਇਹ ਐਪ ਹਾਲ ਹੀ ਵਿੱਚ ਸਥਾਪਤ ਕੀਤੀ।"</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"ਆਊਟਪੁੱਟ ਬਦਲੋ"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"ਫਿਲਹਾਲ <xliff:g id="DEVICE_NAME">%1$s</xliff:g> \'ਤੇ ਚੱਲ ਰਿਹਾ ਹੈ"</string>
+    <!-- no translation found for media_output_disconnected_status (5567111639832431865) -->
+    <skip />
+    <!-- no translation found for media_output_switch_error_text (603563475910236831) -->
+    <skip />
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"ਮਹੱਤਵਪੂਰਨ ਜਾਣਕਾਰੀ"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"ਜਾਰੀ ਰੱਖੋ"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"ਨਹੀਂ ਧੰਨਵਾਦ"</string>
@@ -4666,8 +4783,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"ਸਿਮ ਦਾ ਸੁਮੇਲ"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"ਤੁਹਾਡੀ ਕਾਰਜ ਨੀਤੀ ਸੰਬੰਧੀ ਜਾਣਕਾਰੀ"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"ਤੁਹਾਡੇ ਆਈ.ਟੀ. ਪ੍ਰਸ਼ਾਸਕ ਵੱਲੋਂ ਸੈਟਿੰਗਾਂ ਦਾ ਪ੍ਰਬੰਧਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"ਬੱਗ ਰਿਪੋਰਟ ਹੈਂਡਲਰ"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"ਪਤਾ ਕਰੋ ਕਿ ਕਿਹੜੀ ਐਪ ਤੁਹਾਡੇ ਡੀਵਾਈਸ \'ਤੇ ਬੱਗ ਰਿਪੋਰਟ ਸ਼ਾਰਟਕੱਟ ਦੀ ਸਾਂਭ-ਸੰਭਾਲ ਕਰਦੀ ਹੈ।"</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"ਨਿੱਜੀ"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"ਕੰਮ"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"ਸਿਸਟਮ ਪੂਰਵ-ਨਿਰਧਾਰਤ"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"ਇਹ ਚੋਣ ਹੁਣ ਵੈਧ ਨਹੀਂ ਹੈ। ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"ਕਾਸਟ ਕਰਨਾ ਬੰਦ ਕਰੋ"</string>
 </resources>
diff --git a/res/values-pl/arrays.xml b/res/values-pl/arrays.xml
index 639369b..232b37b 100644
--- a/res/values-pl/arrays.xml
+++ b/res/values-pl/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"Natychmiast"</item>
     <item msgid="463591454172790676">"5 sek."</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"Nie sprawdzaj poprawności"</item>
+    <item msgid="5703177653586269306">"Żądaj stanu certyfikatu"</item>
+    <item msgid="326388247868439528">"Wymagaj stanu certyfikatu"</item>
+    <item msgid="1090956283885790552">"Wymagaj stanów wszystkich niezaufanych certyfikatów"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"Naciśnij przycisk"</item>
     <item msgid="2630618799033509548">"Kod PIN z drugiego urządzenia"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"Brak"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"Sieć VPN wykorzystująca protokół IPSec z kluczami wspólnymi i uwierzytelnianiem Xauth"</item>
     <item msgid="2484564813864139237">"Sieć VPN wykorzystująca protokół IPSec z certyfikatami i uwierzytelnianiem Xauth"</item>
     <item msgid="68918911194507915">"Sieć VPN wykorzystująca protokół IPSec z certyfikatami i uwierzytelnianiem hybrydowym"</item>
+    <item msgid="4631647675167100375">"Sieć VPN IKEv2/IPSec z certyfikatami i uwierzytelnianiem przy pomocy nazwy użytkownika oraz hasła"</item>
+    <item msgid="8812228622975052811">"Sieć VPN IKEv2/IPSec z kluczami PSK"</item>
+    <item msgid="6630554779981113046">"Sieć VPN IKEv2/IPSec z certyfikatami"</item>
   </string-array>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"Brak"</item>
diff --git a/res/values-pl/config.xml b/res/values-pl/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-pl/config.xml
+++ b/res/values-pl/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index f010446..bbd897a 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -33,49 +33,17 @@
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Najpierw włącz opcje dla programistów."</string>
     <string name="header_category_wireless_networks" msgid="303445626075235229">"Sieci zwykłe i bezprzewodowe"</string>
     <string name="header_category_system" msgid="1665516346845259058">"System"</string>
-    <string name="radio_info_data_connection_enable" msgid="7500945447906187613">"Włącz transmisję danych"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"Wyłącz transmisję danych"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"Obsługa głosu przez LTE włączona"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"Możliwość prowadzenia rozmów wideo"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"Możliwość prowadzenia rozmów przez Wi-Fi"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"Obsługa EAB/obecności włączona"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"Dane CBRS"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"Włącz DSDS"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"Uruchomić urządzenie ponownie?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"Musisz ponownie uruchomić urządzenie, by zmienić to ustawienie."</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"Uruchom ponownie"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"Anuluj"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"Moc sygnału komórkowego"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"Wyświetl książkę adresową z karty SIM"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"Wyświetl ustalone numery"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"Wyświetl numery usług"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"Stan usługi IMS"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"Stan IMS"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"Zarejestrowano"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"Niezarejestrowano"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"Dostępna"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"Niedostępna"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"Rejestracja w usłudze IMS: <xliff:g id="STATUS">%1$s</xliff:g>\nVoice over LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nVoice over WiFi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nRozmowy wideo: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nInterfejs UT: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"Działa"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Nie działa"</string>
     <string name="radioInfo_service_emergency" msgid="6838935881091760942">"Tylko połączenia alarmowe"</string>
     <string name="radioInfo_service_off" msgid="6184928420860868571">"Radio wyłączone"</string>
     <string name="radioInfo_roaming_in" msgid="8892550453644088692">"Roaming"</string>
     <string name="radioInfo_roaming_not" msgid="3137594549464975054">"Brak roamingu"</string>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"Bezczynny"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"Dzwonienie"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"Połączenie w toku"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"Rozłączona"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"Łączenie"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"Połączony"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Zawieszony"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Nieznane"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"pakietów"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"bajtów"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"Odłącz nośnik USB"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"Odłącz kartę SD"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"Wyczyść nośnik USB"</string>
@@ -85,7 +53,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"Powiększ lub pomniejsz tekst na ekranie."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Pomniejsz"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Powiększ"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"Przykładowy tekst"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"Czarnoksiężnik z Krainy Oz"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"Rozdział 11: Szmaragdowe Miasto"</string>
@@ -176,9 +143,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"Musisz ponownie uruchomić urządzenie, by to zmienić."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"Zrestartuj"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"Anuluj"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"Dostępne urządzenia multimedialne"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"Dostępne urządzenia telefoniczne"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"Obecnie połączone"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"Nośniki danych"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"Urządzenia telefoniczne"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"Inne urządzenia"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Zapisane urządzenia"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth włączy się, by sparować urządzenia"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Ustawienia połączeń"</string>
@@ -211,46 +178,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"Wpisany port jest nieprawidłowy."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"Serwer proxy HTTP jest używany przez przeglądarkę, ale inne aplikacje mogą go nie używać."</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"URL pliku PAC: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"Bieżący identyfikator:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"Identyfikator domyślnej karty SIM do transmisji danych:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"Przepustowość kanału DL (kb/s):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"Przepustowość kanału UL (kb/s):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"Informacje o lokalizacji z sieci komórkowej (wycofane):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"Konfiguracja kanału fizycznego LTE:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"Częstotliwość odświeżania informacji o sieci komórkowej:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"Wszystkie informacje pomiarowe z sieci komórkowej:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"Usługa transmisji danych:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"Roaming:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"Przekierowanie połączeń:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"Liczba operacji resetowania PPP od momentu uruchomienia:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"Obecna sieć:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"Dane odebrane:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"Usługa połączeń głosowych:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"Siła sygnału:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"Stan połączenia głosowego:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"Dane wysłane:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"Wiadomość oczekująca:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"Numer telefonu:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"Wybierz pasmo radiowe"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"Typ sieci dla połączeń głosowych:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"Typ sieci danych:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"Wybierz indeks telefonu"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"Ustaw preferowany typ sieci:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"Ping nazwa_hosta(www.google.pl) IPv4:"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"Ping Nazwa_hosta(www.google.pl) IPv6:"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"Test klienta HTTP:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"Przeprowadź test pingu"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"Aktualizuj"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"Odśwież"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"Przełącz sprawdzanie DNS"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"Informacje/ustawienia specyficzne dla producenta OEM"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"Ustawianie trybu pasma radiowego"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"Ładuję listę pasm…"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"Ustaw"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"Niepowodzenie"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"Udało się"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"Zmiany zostaną wprowadzone po ponownym podłączeniu kabla USB."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"Włącz pamięć masową USB"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"Łącznie bajtów:"</string>
@@ -289,10 +220,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"Przenieś na koniec"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"Usuń język"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"Wybierz działanie"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"Informacje o urządzeniu"</string>
     <string name="display_label" msgid="3056320781191343221">"Ekran"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"Informacje o tablecie"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"Informacje o telefonie"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"Nośnik USB"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"Karta SD"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"Ustawienia proxy"</string>
@@ -310,9 +238,6 @@
     <string name="airplane_mode" msgid="3196085857882526817">"Tryb samolotowy"</string>
     <string name="wireless_networks_settings_title" msgid="8557542379234105369">"Sieci zwykłe i bezprzewodowe"</string>
     <string name="radio_controls_summary" msgid="9028430178697624501">"Zarządzaj połączeniami Wi-Fi i Bluetooth, trybem samolotowym, sieciami komórkowymi i VPN"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"Dane mobilne"</string>
-    <string name="calls_title" msgid="6334813967619899114">"Zezwól na połączenia"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"SMS-y"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"Zezwalaj na mobilną transmisję danych"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"Użycie danych w roamingu"</string>
     <string name="roaming" msgid="3055365654530847985">"Roaming"</string>
@@ -320,9 +245,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"Połącz z usługami transmisji danych w roamingu"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"Połączenie transmisji danych zostało utracone, ponieważ opuszczono sieć macierzystą przy wyłączonej opcji danych w roamingu."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"Włącz"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"Mogą się z tym wiązać wysokie opłaty."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"Po zezwoleniu na przesyłanie danych w roamingu mogą zostać naliczone znaczne opłaty za roaming.\n\nTo ustawienie obowiązuje wszystkich użytkowników tego tabletu."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"Po zezwoleniu na przesyłanie danych w roamingu mogą zostać naliczone znaczne opłaty za roaming.\n\nTo ustawienie obowiązuje wszystkich użytkowników tego telefonu."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"Mogą zostać naliczone opłaty za roaming."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"Jeśli zezwolisz na roaming danych, mogą zostać naliczone opłaty.\n\nTo ustawienie dotyczy wszystkich użytkowników tego tabletu."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"Jeśli zezwolisz na roaming danych, mogą zostać naliczone znaczne opłaty.\n\nTo ustawienie dotyczy wszystkich użytkowników tego telefonu."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"Zezwalać na roaming danych?"</string>
     <string name="networks" msgid="5184501333492775095">"Wybór operatora"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"Wybierz operatora sieci."</string>
@@ -363,8 +288,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"Wyłączone przez administratora"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"Pokaż opcję blokady"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"Wyświetlaj opcję przycisku zasilania, która wyłącza Smart Lock, odblokowywanie biometryczne i powiadomienia na ekranie blokady"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"Agenty zaufania przedłużają blokadę"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"Po włączeniu tej opcji agenty zaufania będą dłużej utrzymywać urządzenie w stanie odblokowanym, ale nie będą miały możliwości odblokowania zablokowanego urządzenia"</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"Zablokuj ekran po utracie zaufania"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"Po włączeniu urządzenie zablokuje się, gdy ostatni agent zaufania utraci zaufanie"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"Brak"</string>
@@ -396,7 +319,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"Ustaw funkcję Moja lokalizacja, odblokowywanie ekranu, blokadę karty SIM, blokadę magazynu danych logowania."</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"Ustaw funkcję Moja lokalizacja, odblokowywanie ekranu, blokadę magazynu danych logowania"</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"Prywatność"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"Wyłączone przez administratora"</string>
+    <string name="disabled_by_administrator_summary" msgid="5424846182313851124">"Niedostępne"</string>
     <string name="security_status_title" msgid="6958004275337618656">"Stan zabezpieczeń"</string>
     <string name="security_dashboard_summary_face" msgid="4198949293847206382">"Blokada ekranu, rozpoznawanie twarzy"</string>
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Blokada ekranu, odcisk palca"</string>
@@ -709,7 +632,6 @@
       <item quantity="other">Musi mieć mniej niż <xliff:g id="NUMBER_1">%d</xliff:g> cyfry</item>
       <item quantity="one">Musi mieć mniej niż <xliff:g id="NUMBER_0">%d</xliff:g> cyfrę</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"Musi zawierać tylko cyfry 0-9"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"Administrator urządzenia nie zezwala na ustawianie niedawno używanego kodu PIN"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"Popularne kody PIN zostały zablokowane przez administratora. Spróbuj użyć innego kodu PIN."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"Nie może zawierać nieprawidłowego znaku"</string>
@@ -752,6 +674,12 @@
       <item quantity="other">Musi zawierać co najmniej <xliff:g id="COUNT">%d</xliff:g> znaku niebędącego literą</item>
       <item quantity="one">Musi zawierać co najmniej 1 znak niebędący literą</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="few">Musi zawierać co najmniej <xliff:g id="COUNT">%d</xliff:g> znaki niebędące cyframi</item>
+      <item quantity="many">Musi zawierać co najmniej <xliff:g id="COUNT">%d</xliff:g> znaków niebędących cyframi</item>
+      <item quantity="other">Musi zawierać co najmniej <xliff:g id="COUNT">%d</xliff:g> znaku niebędącego cyfrą</item>
+      <item quantity="one">Musi zawierać co najmniej 1 znak niebędący cyfrą</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"Administrator urządzenia nie zezwala na ustawianie niedawno używanego hasła"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"Popularne hasła zostały zablokowane przez administratora. Spróbuj użyć innego hasła."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"Ciąg cyfr rosnących, malejących lub powtarzających się jest niedozwolony"</string>
@@ -869,19 +797,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2,4 GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"Zaloguj się"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"Otwórz stronę"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"Jeszcze <xliff:g id="REMAINING_TIME">%1$s</xliff:g>"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"Wygasa <xliff:g id="EXPIRY_TIME">%1$s</xliff:g>"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"Kliknij tutaj, by zalogować się w sieci"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Mb/s"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Mb/s"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Mb/s"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"<xliff:g id="REQUESTER">%s</xliff:g> chce włączyć Wi-Fi"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"<xliff:g id="REQUESTER">%s</xliff:g> chce wyłączyć Wi-Fi"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"Sprawdź kod bajtowy aplikacji do debugowania"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Zezwalaj ART na sprawdzanie kodu bajtowego aplikacji do debugowania"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"Pokaż częstotliwość odświeżania"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Pokaż bieżącą częstotliwość odświeżania"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"Komunikacja NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"Zezwalaj na wymianę danych, gdy tablet dotyka innego urządzenia"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"Zezwalaj na wymianę danych, gdy telefon dotyka innego urządzenia"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"Zezwalaj na wymianę danych, gdy tablet dotyka innego urządzenia z NFC"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"Zezwalaj na wymianę danych, gdy telefon dotyka innego urządzenia z NFC"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"Włącz komunikację NFC"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"Podczas komunikacji NFC wymieniane są dane między tym urządzeniem i innymi urządzeniami w pobliżu, takimi jak terminale płatnicze, czytniki zbliżeniowe i interaktywne reklamy lub tagi."</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"Zabezpiecz komunikację NFC"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFC wymaga odblokowania urządzenia"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"Zezwalaj na płatności i przenoszenie danych przez NFC tylko przy odblokowanym ekranie"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"Gotowy do przesyłania danych między aplikacjami przez NFC"</string>
@@ -955,8 +889,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Włącz"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Skanowanie Wi-Fi włączone"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Opcje zaawansowane"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"Menu Opcje zaawansowane. Kliknij dwukrotnie, by zwinąć."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"Menu Opcje zaawansowane. Kliknij dwukrotnie, by rozwinąć."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Lista Opcje zaawansowane"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"rozwiń"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"Nazwa sieci"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"Wpisz identyfikator SSID"</string>
     <string name="wifi_security" msgid="9095934643631406913">"Zabezpieczenia"</string>
@@ -966,6 +900,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"Stan"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"Szybkość łącza nadawania"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"Szybkość łącza odbierania"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"Szybkość łącza"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"Częstotliwość"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"Adres IP"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"Zapisane przez"</string>
@@ -973,6 +908,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"Metoda EAP"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"Uwierzytelnianie w drugiej fazie"</string>
     <string name="wifi_eap_ca_cert" msgid="8033404008276298886">"Certyfikat urzędu certyfikacji"</string>
+    <string name="wifi_eap_ocsp" msgid="8713933962516871238">"Stan certyfikatu online"</string>
     <string name="wifi_eap_domain" msgid="8304301470752333203">"Domena"</string>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"Certyfikat użytkownika"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"Tożsamość"</string>
@@ -989,6 +925,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"Wybierz co najmniej jedno pasmo dla hotspotu Wi-Fi:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"Ustawienia IP"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"Prywatność"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"Subskrypcja"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"Wyświetl lub zmień subskrypcję"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"Randomizowany adres MAC"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"Dodawanie urządzenia"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"Wyśrodkuj kod QR poniżej, by podłączyć urządzenie do sieci „<xliff:g id="SSID">%1$s</xliff:g>”"</string>
@@ -998,12 +936,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"Udostępnij Wi‑Fi"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"Zeskanuj ten kod QR, by połączyć się z siecią „<xliff:g id="SSID">%1$s</xliff:g>” i udostępnić hasło"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"Zeskanuj ten kod QR, by połączyć się z siecią „<xliff:g id="SSID">%1$s</xliff:g>”"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"Nie udało się odczytać kodu QR. Ustaw kod pośrodku pola i spróbuj ponownie"</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"Spróbuj ponownie. Jeśli problem się powtórzy, skontaktuj się z producentem urządzenia"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"Coś poszło nie tak"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"Upewnij się, że urządzenie jest podłączone do zasilania, naładowane i włączone"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"Upewnij się, że urządzenie jest podłączone do zasilania, naładowane i włączone. Jeśli problem się powtórzy, skontaktuj się z producentem urządzenia"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"Na tym urządzeniu nie można dodać sieci „<xliff:g id="SSID">%1$s</xliff:g>”"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"Spróbuj zbliżyć urządzenie do punktu dostępu Wi-Fi lub routera"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"Sprawdź hasło i spróbuj ponownie"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"Skontaktuj się z producentem urządzenia"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"Sprawdź połączenie i spróbuj ponownie"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"Wybierz sieć"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"Aby podłączyć urządzenie, wybierz sieć"</string>
@@ -1016,11 +956,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"Udostępniam Wi‑temu urządzeniu…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"Łączę…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"Udostępnij hotspot"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"Potwierdź swoją tożsamość"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"Potwierdź swoją tożsamość"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"Hasło do Wi-Fi: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"Hasło do hotspota: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"Połącz automatycznie"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"Pozwól telefonowi automatycznie łączyć się w pobliżu tej sieci"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"Pozwól tabletowi automatycznie łączyć się w pobliżu tej sieci"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"Dodaj urządzenie"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"Dodaj urządzenie do tej sieci, używając kodu QR"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"Nieprawidłowy format kodu QR"</string>
     <string name="retry" msgid="7542103800274026915">"Ponów"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"Udostępnij innym użytkownikom urządzenia"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(nie zmieniono)"</string>
@@ -1032,6 +976,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"Nie określono certyfikatu. Twoje połączenie nie będzie prywatne."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"Nazwa sieci jest zbyt długa."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"Musisz określić domenę."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"Wymagany certyfikat."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"Protokół WPS jest dostępny"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (protokół WPS dostępny)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"Sieć Wi‑Fi operatora"</string>
@@ -1089,7 +1034,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"Zaawansowane"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"Adres MAC"</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_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>
@@ -1141,7 +1087,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"Użyj hotspotu do utworzenia sieci Wi-Fi dla innych urządzeń. Hotspot zapewnia dostęp do internetu, korzystając z komórkowego połączenia do transmisji danych. Mogą zostać naliczone dodatkowe opłaty za mobilną transmisję danych."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"Aplikacje mogą utworzyć hotspot, by udostępniać treści urządzeniom w pobliżu."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Automatycznie wyłącz hotspot"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"Jeśli nie ma podłączonych urządzeń, hotspot Wi‑Fi wyłączy się"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Gdy żadne urządzenie nie jest połączone"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"Włączanie punktu dostępu…"</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"Wyłączam punkt dostępu…"</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"Sieć <xliff:g id="NETWORK_SSID">%1$s</xliff:g> jest aktywna"</string>
@@ -1150,6 +1096,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"Konfiguracja hotspotu Wi‑Fi"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"Hotspot AndroidAP WPA2 PSK"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"Punkt dostępu Android"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"Zapisać tę sieć?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"<xliff:g id="APPNAME">%1$s</xliff:g> chce zapisać sieć na twoim telefonie"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"<xliff:g id="APPNAME">%1$s</xliff:g> chce zapisać sieć na Twoim tablecie"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"Zapisuję…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"Zapisano"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"Nie można zapisać. Spróbuj ponownie."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"Zapisać sieci?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"<xliff:g id="APPNAME">%1$s</xliff:g> chce zapisać te sieci na twoim telefonie"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"<xliff:g id="APPNAME">%1$s</xliff:g> chce zapisać te sieci na Twoim tablecie"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"Zapisuję <xliff:g id="NUMBER">%d</xliff:g> sieci…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"Zapisano sieci"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"Połączenia przez Wi-Fi"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"Zwiększ zasięg połączeń, używając Wi-Fi"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"Włącz połączenia przez Wi-Fi, by zwiększyć zasięg"</string>
@@ -1176,16 +1133,18 @@
     <string name="emergency_address_title" msgid="3490633500025717573">"Adres alarmowy"</string>
     <string name="emergency_address_summary" msgid="3022628750270626473">"Traktowany jako Twoja lokalizacja, gdy dzwonisz pod numer alarmowy przez Wi‑Fi"</string>
     <string name="private_dns_help_message" msgid="851221502063782306"><annotation id="url">"Więcej informacji"</annotation>" o funkcjach prywatnego DNS"</string>
+    <string name="private_dns_mode_on" msgid="8878679071975375696">"Włączony"</string>
     <string name="wifi_calling_pref_managed_by_carrier" msgid="129524064888622179">"Ustawieniem zarządza operator"</string>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"Aktywuj Połączenia przez Wi-Fi"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"Włącz Połączenia przez Wi-Fi"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"Operator %1$s nie obsługuje Połączeń przez Wi-Fi"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"Rozłączono z: <xliff:g id="SSID">%1$s</xliff:g>"</string>
     <string name="carrier" msgid="1755020806290963951">"Operator"</string>
     <string name="display_settings_title" msgid="626835071804834218">"Wyświetlacz"</string>
     <string name="sound_settings" msgid="5514582720435174014">"Dźwięk"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"Głośność"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"Efekty muzyczne"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"Głośność dzwonka"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"Głośność dzwonka i powiadomień"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"Wibracje po wyciszeniu"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"Domyślny dźwięk powiadomienia"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"Dzwonek"</string>
@@ -1310,13 +1269,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"Harmonogram"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"Brak"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"Działa od zachodu do wschodu słońca"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"Włącza się w wybranym czasie"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"Stan"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"Wyłączono / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"Nigdy nie włączy się automatycznie"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"Włączy się automatycznie o zachodzie słońca"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"Włączy się automatycznie o <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"Włączono / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"Nigdy nie wyłączy się automatycznie"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"Wyłączy się automatycznie o wschodzie słońca"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"Wyłączy się automatycznie o <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"Włącz do <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"Wyłącz do <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"W trybie ciemnym czarne tło na niektórych ekranach pomaga wydłużyć czas pracy baterii. Harmonogramy trybu ciemnego są uruchamiane dopiero po wyłączeniu ekranu."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"Wygaszanie ekranu"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"Wyłączenie ekranu"</string>
@@ -1328,7 +1292,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"Zmień tapetę"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"Dostosuj swój ekran"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"Wybierz tapetę z..."</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"Dostosuj Pixela"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"Dostosowywanie telefonu"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"Wypróbuj różne style, tapety i inne elementy"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"Wygaszacz ekranu"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Podczas ładowania lub na stacji dokującej"</string>
@@ -1419,6 +1383,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"Odłącz nośnik USB i wyświetl ilość dostępnej pamięci"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"Odłącz kartę SD, pokaż ilość dostępnej pamięci w telefonie"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (gniazdo SIM %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"Aby wyświetlić, wybierz zapisaną sieć"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"Numer telefonu"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (gniazdo SIM %1$d)"</string>
@@ -1445,6 +1410,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"Roaming"</string>
     <string name="status_operator" msgid="4335640583552058491">"Sieć"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"Adres MAC karty Wi-Fi"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"Adres MAC karty Wi‑Fi urządzenia"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"Adres Bluetooth"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Numer seryjny"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Czas działania"</string>
@@ -1657,6 +1623,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Przywrócono domyślne ustawienia APN."</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"Opcje resetowania"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"Można zresetować sieć, aplikacje lub urządzenie"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"Aplikacje można zresetować"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"Reset Wi-Fi, transmisji i Bluetootha"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"Spowoduje to usunięcie wszystkich ustawień sieciowych, w tym:\n\n"<li>"Wi‑Fi"</li>\n<li>"mobilnej transmisji danych"</li>\n<li>"Bluetooth"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"Usuń pobrane karty SIM"</string>
@@ -1706,6 +1673,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"Hotspot włączony"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"Tethering"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"Nie można korzystać z tetheringu ani przenośnych hotspotów, gdy Oszczędzanie danych jest włączone"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"Tylko Hotspot"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"Tylko USB"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"Tylko Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"Hotspot, USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"Hotspot, Bluetooth"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB, Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"Hotspot, USB, Bluetooth"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"Nie udostępniam internetu innym urządzeniom"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"Tethering"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Nie używaj hotspotu Wi‑Fi"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Udostępniaj internet tylko przez USB"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Udostępniaj internet tylko przez Bluetooth"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Udostępniaj internet tylko przez USB i Bluetooth"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"Tethering przez USB"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"Udostępniaj połączenie telefonu z internetem przez USB"</string>
@@ -1798,9 +1778,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"Informacje o bezpieczeństwie"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"Brak połączenia do transmisji danych. Aby wyświetlić te informacje teraz, otwórz stronę %s na dowolnym komputerze połączonym z internetem."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"Wczytuję..."</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"Użyj kodu PIN"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"Użyj wzoru"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"Użyj hasła"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"Ustawianie blokady ekranu"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"Ze względów bezpieczeństwa ustaw hasło"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"Aby korzystać z odcisku palca, ustaw hasło"</string>
@@ -1809,8 +1786,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"Aby korzystać z odcisku palca, ustaw kod PIN"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"Ze względów bezpieczeństwa ustaw wzór"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"Podaj ponownie hasło"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"Podaj hasło profilu do pracy"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"Potwierdź wzór"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"Podaj wzór profilu do pracy"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"Podaj ponownie kod PIN"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"Podaj kod PIN profilu do pracy"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"Hasła nie są takie same"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"Kody PIN nie są takie same"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"Narysuj wzór ponownie"</string>
@@ -1821,6 +1801,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"Aby używać rozpoznawania twarzy, ustaw hasło"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"Aby używać rozpoznawania twarzy, ustaw wzór"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"Aby używać rozpoznawania twarzy, ustaw kod PIN"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"Nie pamiętasz hasła?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"Nie pamiętasz wzoru?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"Nie pamiętasz kodu PIN?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"Podaj wzór używany na urządzeniu, by kontynuować"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"Podaj kod PIN używany na urządzeniu, by kontynuować"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"Podaj hasło używane na urządzeniu, by kontynuować"</string>
@@ -1888,6 +1871,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"Zezwalaj na wszystkie źródła"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"Niedawno otwierane aplikacje"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"Wyświetl wszystkie aplikacje (<xliff:g id="COUNT">%1$d</xliff:g>)"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"Skontaktuj się z administratorem IT"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"Możesz uzyskać pomoc dotyczącą resetowania kodu PIN, wzoru lub hasła"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"Tablet i dane osobiste są bardziej narażone na atak nieznanych aplikacji. Instalując aplikacje z tego źródła, przyjmujesz odpowiedzialność za wszelkie uszkodzenia telefonu bądź utratę danych, które mogą być spowodowane używaniem tych aplikacji."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"Telefon i dane osobiste są bardziej narażone na atak nieznanych aplikacji. Instalując aplikacje z tego źródła, przyjmujesz odpowiedzialność za wszelkie uszkodzenia telefonu bądź utratę danych, które mogą być spowodowane używaniem tych aplikacji."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"Urządzenie i dane osobiste są bardziej narażone na atak nieznanych aplikacji. Instalując aplikacje z tego źródła, przyjmujesz odpowiedzialność za wszelkie uszkodzenia urządzenia bądź przypadki utraty danych, które mogą być spowodowane używaniem tych aplikacji."</string>
@@ -1941,7 +1926,7 @@
     <string name="default_emergency_app" msgid="1929974800666613803">"Aplikacja alarmowa"</string>
     <string name="reset_app_preferences" msgid="8861758340732716573">"Resetuj ustawienia aplikacji"</string>
     <string name="reset_app_preferences_title" msgid="8935136792316050759">"Zresetować ustawienia aplikacji?"</string>
-    <string name="reset_app_preferences_desc" msgid="1377296810290814749">"To działanie zresetuje wszystkie ustawienia dotyczące:\n\n"<li>"wyłączonych aplikacji,"</li>\n<li>"wyłączonych powiadomień aplikacji,"</li>\n<li>"domyślnych aplikacji dla wybranych czynności,"</li>\n<li>"ograniczeń użycia danych w tle dla aplikacji,"</li>\n<li>"wszelkich ograniczeń dostępu."</li>\n\n"Nie utracisz żadnych danych aplikacji."</string>
+    <string name="reset_app_preferences_desc" msgid="6509978724602405805">"To działanie zresetuje wszystkie ustawienia:\n\n"<li>"wyłączonych aplikacji,"</li>\n<li>"wyłączonych powiadomień z aplikacji,"</li>\n<li>"domyślnych aplikacji dla wybranych czynności,"</li>\n<li>"ograniczeń korzystania przez aplikacje z danych w tle,"</li>\n<li>"wszystkich ograniczeń dotyczących uprawnień."</li>\n\n"Nie stracisz żadnych danych aplikacji."</string>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"Resetuj aplikacje"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"Zarządzaj miejscem"</string>
     <string name="filter" msgid="9039576690686251462">"Filtr"</string>
@@ -2141,7 +2126,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"Dźwięk i tekst na ekranie"</string>
     <string name="display_category_title" msgid="6638191682294461408">"Wyświetlacz"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"Zarządzanie interakcjami"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"Pobrane usługi"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"Pobrane aplikacje"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"Eksperymentalne"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"Flagi funkcji"</string>
     <string name="talkback_title" msgid="8756080454514251327">"TalkBack"</string>
@@ -2149,27 +2134,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"Klikaj elementy na ekranie, by posłuchać ich nazw czytanych na głos"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"Ustawienia napisów"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"Powiększenie"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"Obszar powiększenia"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"Włączanie powiększenia"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"Wybierz obszar ekranu, który chcesz powiększyć"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"Pełny ekran"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"Część ekranu"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"Pełny ekran i część ekranu"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"Powiększ cały ekran"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"Powiększ część ekranu"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Ustawienia powiększenia"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"Powiększ 3-krotnym kliknięciem"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Powiększanie skrótem"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Powiększanie skrótem i trzykrotnym kliknięciem"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"<xliff:g id="SERVICE">%1$s</xliff:g> – informacje"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"Opcje"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"Powiększenie na ekranie"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"Kliknij trzy razy, by powiększyć"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Kliknij przycisk, by powiększyć"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><b>"Aby powiększyć"</b>", szybko kliknij ekran trzy raz.\n"<ul><li>"Przeciągnij co najmniej dwoma palcami, by przewijać ekran."</li>\n<li>"Ściągnij do siebie co najmniej dwa palce, by dostosować powiększenie."</li></ul>\n\n<b>"Aby tymczasowo powiększyć widok"</b>", szybko kliknij ekran trzy razy i przytrzymaj palec po trzecim kliknięciu.\n"<ul><li>"Przeciągaj palcem, by poruszać się po ekranie."</li>\n<li>"Unieś palec, by wyłączyć powiększenie."</li></ul>\n\n"Nie można powiększyć klawiatury ani paska nawigacji."</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"Gdy powiększenie jest włączone, możesz powiększać fragmenty ekranu.\n\n"<b>"Aby powiekszyć"</b>", uruchom powiększenie, a następnie kliknij dowolne miejsce na ekranie.\n"<ul><li>"• Przeciągnij co najmniej dwa palce, by przewinąć"</li>\n<li>"• Ściśnij co najmniej dwa palce, by dostosować powiększenie"</li></ul>\n\n<b>"Aby powiększyć fragment tymczasowo"</b>", uruchom powiększenie i kliknij dowolne miejsce na ekranie.\n"<ul><li>"• Przeciągnij, by poruszać się po ekranie"</li>\n<li>"• Podnieś palec, aby pomniejszyć fragment ekranu"</li></ul>\n\n"Nie można powiększać klawiatury ani paska nawigacyjnego."</string>
+    <string name="accessibility_screen_magnification_summary" msgid="7617931632990040045">"Szybkie powiększenie ekranu w celu polepszenia widoczności treści.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Aby powiększyć:&lt;/b&gt;&lt;br/&gt;	1. Włącz powiększenie skrótem&lt;br/&gt; 2. Kliknij ekran&lt;br/&gt;	3. Aby przesuwać powiększenie, przeciągaj dwoma palcami po ekranie&lt;br/&gt;	4. Aby dostosować powiększenie, ściągaj i rozciągaj palce&lt;br/&gt;	5. Wyłącz powiększenie skrótem&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Aby powiększyć tymczasowo:&lt;/b&gt;&lt;br/&gt;	1. Włącz powiększenie skrótem&lt;br/&gt; 2. Naciśnij i przytrzymaj dowolne miejsce na ekranie&lt;br/&gt;	3. Aby przesuwać powiększenie, przeciągaj palcem po ekranie&lt;br/&gt;	4. Podnieś palec, aby wyłączyć powiększenie"</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Gdy powiększenie jest włączone, możesz powiększać fragmenty ekranu.\n\n"<b>"Aby powiekszyć"</b>", uruchom powiększenie, a następnie kliknij dowolne miejsce na ekranie.\n"<ul><li>"Przeciągnij co najmniej dwoma palcami, by przewijać."</li>\n<li>"Ściągnij do siebie co najmniej dwa palce, by dostosować powiększenie."</li></ul>\n\n<b>"Aby powiększyć tymczasowo"</b>", uruchom powiększenie, a następnie naciśnij i przytrzymaj dowolne miejsce na ekranie.\n"<ul><li>"Przeciągaj palcem, by poruszać się po ekranie."</li>\n<li>"Unieś palec, by wyłączyć powiększenie."</li></ul>\n\n"Nie można powiększyć klawiatury ani paska nawigacji."</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Otwieranie przyciskiem ułatwień dostępu"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Otwieranie gestem"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"Użyj nowego gestu ułatwień dostępu"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"Aby włączyć lub wyłączyć tę usługę, kliknij przycisk ułatwień dostępu <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> na dole ekranu.\n\nAby przełączać usługi, naciśnij i przytrzymaj przycisk ułatwień dostępu."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"Aby włączyć lub wyłączyć tę usługę, przesuń dwoma palcami z dołu ekranu w górę.\n\nAby przełączać usługi, przesuń dwoma palcami w górę i przytrzymaj."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"Aby włączyć lub wyłączyć tę usługę, przesuń trzema palcami z dołu ekranu w górę.\n\nAby przełączać usługi, przesuń trzema palcami w górę i przytrzymaj."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"Aby włączyć lub wyłączyć usługę ułatwień dostępu, przesuń dwoma palcami w górę ekranu.\n\nAby przełączać usługi, przesuń dwoma palcami w górę i przytrzymaj."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"Aby włączyć lub wyłączyć usługę ułatwień dostępu, przesuń trzema palcami w górę ekranu.\n\nAby przełączać usługi, przesuń trzema palcami w górę i przytrzymaj."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"Aby włączyć lub wyłączyć tę usługę, kliknij przycisk ułatwień dostępu <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> na dole ekranu.\n\nAby przełączać usługi, kliknij i przytrzymaj przycisk ułatwień dostępu."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"Aby włączyć lub wyłączyć tę usługę, przesuń dwoma palcami z dołu ekranu w górę.\n\nAby przełączać usługi, przesuń dwoma palcami w górę i przytrzymaj."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"Aby włączyć lub wyłączyć tę usługę, przesuń trzema palcami z dołu ekranu w górę.\n\nAby przełączać usługi, przesuń trzema palcami w górę i przytrzymaj."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"Aby włączyć lub wyłączyć usługę ułatwień dostępu, przesuń dwoma palcami w górę ekranu.\n\nAby przełączać usługi, przesuń dwoma palcami w górę i przytrzymaj."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"Aby włączyć lub wyłączyć usługę ułatwień dostępu, przesuń trzema palcami w górę ekranu.\n\nAby przełączać usługi, przesuń trzema palcami w górę i przytrzymaj."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"OK"</string>
+    <string name="accessibility_shortcut_title" msgid="8125867833704517463">"skrót <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_edit_summary_software" msgid="2820923641553461297">"Przycisk ułatwień dostępu"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture" msgid="8078659880723370597">"Przesuń w górę dwoma palcami"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture_talkback" msgid="7422753388389160524">"Przesuń w górę trzema palcami"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software" msgid="4796192466943479849">"Kliknij przycisk ułatwień dostępu"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8922102767509399352">"Kliknij przycisk ułatwień dostępu <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> na dole ekranu"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"Przesuń dwoma palcami z dołu ekranu w górę"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"Przesuń trzema palcami z dołu ekranu w górę"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Przytrzymanie przycisków głośności"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"Naciśnij i przytrzymaj oba przyciski głośności przez jedną sekundę"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Kliknij ekran trzykrotnie"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"Szybko kliknij ekran trzykrotnie. Ten skrót może spowolnić urządzenie."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"Zaawansowane"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"Przycisk ułatwień dostępu włącza: <xliff:g id="SERVICE">%1$s</xliff:g>. Aby użyć powiększenia, naciśnij i przytrzymaj przycisk ułatwień dostępu, a następnie wybierz powiększenie."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"Gest ułatwień dostępu jest ustawiony na: <xliff:g id="SERVICE">%1$s</xliff:g>. Aby użyć powiększenia, przesuń dwoma palcami w górę od dołu ekranu i przytrzymaj. Potem wybierz powiększenie."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"Skrót z klawiszami głośności"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"Usługa skrótu"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Ustawienia skrótów"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"Pozwól na ekranie blokady"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"Gdy skrót jest włączony, możesz przytrzymać naciśnięte oba klawisze głośności przez trzy sekundy, by uruchomić funkcję ułatwień dostępu."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"Tekst o dużym kontraście"</string>
@@ -2193,24 +2203,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"Określ, jak długo mają być wyświetlane wiadomości wymagające wykonania jakiejś czynności, które są widoczne tylko tymczasowo.\n\nNie wszystkie aplikacje obsługują to ustawienie."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"Czas dotknięcia i przytrzymania"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"Odwrócenie kolorów"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"Może wpłynąć na wydajność"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"Czas oczekiwania"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"Odwróć kolory"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"Odwrócenie kolorów zamienia jasne obszary na ciemne. Zwiększa to komfort osób wrażliwych na intensywne światło.&lt;br/&gt;&lt;br/&gt;Uwaga: ciemne kolory staną się jasne. Kolory w multimediach i obrazach ulegną zmianie. Możesz też użyć trybu ciemnego (Ustawienia &gt; Wyświetlacz)."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"Automatyczne kliknięcie (czas oczekiwania)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"Jeśli używasz myszki, możesz ustawić urządzenie tak, by kliknięcie następowało automatycznie, gdy myszka nie będzie poruszała się przez określony czas."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"Opóźnienie przed kliknięciem"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"Wyłączone (domyślne)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"Krótko"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0,2 sekundy"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"Średnio"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0,6 sekundy"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"Długo"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 sekunda"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"Niestandardowo"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"Krótszy"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"Dłuższy"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"Czas automatycznego kliknięcia"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"Siła wibracji i reakcji na dotyk"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Wibracja przy powiadomieniu"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Wibracja przy dzwonku"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Reakcja na dotyk"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"Użyj usługi"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"Używanie aplikacji <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"Otwórz aplikację <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"Użyj korekcji kolorów"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"Użyj napisów"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"Pokaż napisy"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"Wygląd napisów"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"Rozmiar tekstu i styl napisów"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"Więcej opcji"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"Nie wszystkie aplikacje obsługują to ustawienie."</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"Przycisk ułatwień dostępu"</string>
+    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"Przesuń dwoma palcami w górę"</string>
+    <string name="accessibility_shortcut_type_hardware" msgid="4834144210432451916">"Przytrzymaj klawisze głośności"</string>
+    <string name="accessibility_shortcut_type_triple_tap" msgid="7717524216825494543">"Trzykrotnie kliknij ekran"</string>
     <string name="accessibility_hearingaid_instruction_continue_button" msgid="3367260988024430722">"Dalej"</string>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"Aparaty słuchowe"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"Brak połączonych aparatów słuchowych"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"Dodaj aparaty słuchowe"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"Aby sparować aparaty słuchowe, na następnym ekranie znajdź i kliknij urządzenie."</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"Upewnij się, że aparaty słuchowe są w trybie parowania."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"Aby sparować aparaty słuchowe, na następnym ekranie znajdź i kliknij urządzenie. Upewnij się, że aparaty słuchowe są w trybie parowania."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"Urządzenie <xliff:g id="DEVICE_NAME">%1$s</xliff:g> jest aktywne"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="few"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> zapisane aparaty słuchowe</item>
@@ -2224,35 +2252,47 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Ta usługa działa nieprawidłowo."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Pokaż w szybkich ustawieniach"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"Tryb korekcji"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="few">Niezwykle krótkie opóźnienie (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="many">Niezwykle krótkie opóźnienie (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Niezwykle krótkie opóźnienie (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Niezwykle krótkie opóźnienie (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Czerwony-zielony"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"Zielony-czerwony"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Niebieski-żółty"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"Deuteranomalia"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"Protanomalia"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"Tritanomalia"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="few">Najkrótsze opóźnienie (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundy)</item>
+      <item quantity="many">Najkrótsze opóźnienie (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekund)</item>
+      <item quantity="other">Najkrótsze opóźnienie (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundy)</item>
+      <item quantity="one">Najkrótsze opóźnienie (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> sekunda)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="few">Bardzo krótkie opóźnienie (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="many">Bardzo krótkie opóźnienie (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Bardzo krótkie opóźnienie (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Bardzo krótkie opóźnienie (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="few">Bardzo krótkie opóźnienie (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundy)</item>
+      <item quantity="many">Bardzo krótkie opóźnienie (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekund)</item>
+      <item quantity="other">Bardzo krótkie opóźnienie (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundy)</item>
+      <item quantity="one">Bardzo krótkie opóźnienie (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> sekunda)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="few">Krótkie opóźnienie (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="many">Krótkie opóźnienie (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Krótkie opóźnienie (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Krótkie opóźnienie (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="few">Krótkie opóźnienie (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundy)</item>
+      <item quantity="many">Krótkie opóźnienie (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekund)</item>
+      <item quantity="other">Krótkie opóźnienie (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundy)</item>
+      <item quantity="one">Krótkie opóźnienie (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> sekunda)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="few">Długie opóźnienie (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="many">Długie opóźnienie (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Długie opóźnienie (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Długie opóźnienie (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="few">Długie opóźnienie (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundy)</item>
+      <item quantity="many">Długie opóźnienie (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekund)</item>
+      <item quantity="other">Długie opóźnienie (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundy)</item>
+      <item quantity="one">Długie opóźnienie (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> sekunda)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="few">Bardzo długie opóźnienie (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="many">Bardzo długie opóźnienie (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Bardzo długie opóźnienie (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Bardzo długie opóźnienie (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="few">Bardzo długie opóźnienie (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundy)</item>
+      <item quantity="many">Bardzo długie opóźnienie (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekund)</item>
+      <item quantity="other">Bardzo długie opóźnienie (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundy)</item>
+      <item quantity="one">Bardzo długie opóźnienie (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> sekunda)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="few"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundy</item>
+      <item quantity="many"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekund</item>
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundy</item>
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> sekunda</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"Dzwonek: <xliff:g id="SUMMARY_RING">%1$s</xliff:g>, powiadomienie: <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>, dotyk: <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"Wyłączono wibracje przy dzwonku i powiadomieniach"</string>
@@ -2587,7 +2627,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"Ostatnio odłączony na <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"Łączne użycie"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"Odśwież"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"System operacyjny Android"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"Serwer mediów"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"Optymalizacja aplikacji"</string>
     <string name="battery_saver" msgid="7737147344510595864">"Oszczędzanie baterii"</string>
@@ -2668,8 +2707,7 @@
     <string name="tts_play" msgid="2945513377250757221">"Odtwórz"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"Magazyn danych logowania"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"Zainstaluj z nośnika"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"Zainstaluj z karty SD"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"Zainstaluj certyfikat"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"Zainstaluj certyfikaty z nośnika"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"Zainstaluj certyfikaty z karty SD"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"Wyczyść dane o certyfikatach"</string>
@@ -2689,6 +2727,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"Wyczyszczono magazyn danych logowania."</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"Nie można wymazać magazynu."</string>
     <string name="usage_access_title" msgid="1580006124578134850">"Aplikacje monitorujące"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"Certyfikat CA"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"Certyfikat użytkownika VPN i aplikacji"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"Certyfikat Wi‑Fi"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"Twoja prywatność jest zagrożona"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"Certyfikaty CA są używane przez witryny, aplikacje i sieci VPN na potrzeby szyfrowania. Instaluj tylko certyfikaty CA organizacji, którym ufasz. \n\n Gdy zainstalujesz certyfikat CA, jego właściciel będzie mógł uzyskać dostęp do Twoich danych, np. haseł, wiadomości czy danych karty, w odwiedzanych witrynach i używanych aplikacjach – nawet jeśli te informacje będą zaszyfrowane."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"Nie instaluj"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"Zawsze instaluj"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"Nie zainstalowano certyfikatu"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"Sygnał wybierania numeru alarmowego"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Skonfiguruj sposób działania w przypadku połączenia alarmowego"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Kopia zapasowa"</string>
@@ -2716,10 +2762,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"Dezaktywuj i odinstaluj"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"Aplikacje do zarządzania urządzeniem"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"Brak dostępnych aplikacji do administrowania urządzeniem"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"Osobiste"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"Praca"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"Ogranicz dostęp do SMS-ów i rejestru połączeń"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"Tylko domyślne aplikacje do obsługi telefonu i wiadomości mają dostęp do SMS-ów i rejestru połączeń"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"Brak agentów zaufania"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"Aktywować aplikację do administrowania urządzeniem?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"Aktywuj tę aplikację do administrowania urządzeniem"</string>
@@ -2733,6 +2775,16 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"Inne opcje zablokował administrator"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"Więcej szczegółów"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"Dziennik powiadomień"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"Historia powiadomień"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"Dzisiaj"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"Odłożono"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"Ostatnio zamknięte"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="few"><xliff:g id="NUMBER_1">%d</xliff:g> powiadomienia</item>
+      <item quantity="many"><xliff:g id="NUMBER_1">%d</xliff:g> powiadomień</item>
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> powiadomienia</item>
+      <item quantity="one"><xliff:g id="NUMBER_0">%d</xliff:g> powiadomienie</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"Dzwonek i wibracje przy połączeniu"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"Szczegóły sieci"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"Synchronizacja włączona"</string>
@@ -3090,7 +3142,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"Ograniczenia"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"Usuń ograniczenia"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"Zmień PIN"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"Pokazuj powiadomienia"</string>
     <string name="help_label" msgid="2896538416436125883">"Pomoc i opinie"</string>
     <string name="support_summary" msgid="1034146931237148885">"Artykuły pomocy, telefon i czat, pierwsze kroki"</string>
     <string name="user_account_title" msgid="6389636876210834864">"Konto na materiały"</string>
@@ -3115,6 +3166,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"Połączenia 4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Użyj usług LTE, by poprawić łączność głosową i inne (zalecane)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Użyj usług 4G, by poprawić łączność głosową i inne (zalecane)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Odkrywanie kontaktów"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Zezwala operatorowi na odkrywanie funkcji nawiązywania połączeń obsługiwanych przez Twoje kontakty."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Włączyć odkrywanie kontaktów?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Włączenie tej funkcji umożliwi operatorowi dostęp do numerów telefonu w Twoich kontaktach, by poznać funkcje nawiązywania połączeń obsługiwane przez te osoby."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Preferowany typ sieci"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (zalecana)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS-y"</string>
@@ -3159,7 +3214,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"Zadzwoń, używając karty:"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"Wybierz kartę SIM"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"Karta SIM <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"Karta SIM pusta"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"Nazwa karty SIM"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"Wpisz nazwę karty SIM"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"Gniazdo SIM %1$d"</string>
@@ -3169,6 +3223,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"Wybierz kartę SIM"</string>
     <string name="color_orange" msgid="216547825489739010">"Pomarańczowy"</string>
     <string name="color_purple" msgid="6603701972079904843">"Fioletowy"</string>
+    <string name="color_pink" msgid="8596872110888626708">"Różowy"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"Brak włożonych kart SIM"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"Stan karty SIM"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"Stan karty SIM (gniazdo SIM %1$d)"</string>
@@ -3182,7 +3237,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"Karty SIM zostały zmienione."</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Dotknij, by skonfigurować"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"Karta SIM preferowana dla:"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Pytaj za każdym razem"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Wymagany wybór"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"Wybór karty SIM"</string>
@@ -3202,6 +3256,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"Bluetooth, tryb samochodowy"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"Bluetooth, NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"Bluetooth"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"Niedostępne, ponieważ NFC jest wyłączone"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"Aplikacje i powiadomienia"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Ostatnio używane aplikacje, domyślne aplikacje"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Aplikacje w profilu do pracy nie mają dostępu do powiadomień."</string>
@@ -3212,13 +3267,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"Ustawienia"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"wifi, wi-fi, połączenie z siecią, internet, bezprzewodowe, dane, wi fi"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"powiadomienia Wi-Fi"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"użycie danych"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"Przerwij wibracje, kliknij, klawiatura"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"Format 24-godzinny"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"Pobierz"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"Otwórz w:"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"Aplikacje"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"strefa czasowa"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"Nagłówek czatu"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"Nagłówek czatu, system, alert, okno, wyświetlacz, nad innymi aplikacjami, rysować"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"Latarka"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"wifi, wi-fi, przełącz, sterowanie"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"komórkowy, mobilne, operator komórkowy, bezprzewodowe, dane, 4g, 3g, 2g, lte"</string>
@@ -3242,7 +3298,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"nie przeszkadzać, przerywać, zakłócenie, zakłócać"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"w pobliżu, lokalizacja, historia, raportowanie, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"konto"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"konto, dodaj konto, profil do pracy, dodawanie konta"</string>
     <string name="keywords_users" msgid="3497517660077620843">"ograniczenie, ogranicz, ograniczony"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"poprawianie tekstu, popraw, dźwięk, wibracje, automatycznie, język, gest, sugeruj, sugestia, motyw, obraźliwe, słowo, typ, emotikon, międzynarodowe"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"zresetuj, ustawienia, domyślne"</string>
@@ -3280,6 +3336,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"pamięć, pamięć podręczna, dane, usuwanie, czyszczenie, wolne, miejsce"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"połączone, urządzenie, słuchawki, zestaw słuchawkowy, głośnik, bezprzewodowy, parowanie, słuchawki douszne, muzyka, multimedia"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"tło, ekran, blokada ekranu, motyw"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"kształt ikony, kolor uzupełniający, czcionka"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"domyślne, asystent"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"płatność, domyślna"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"powiadomienie przychodzące"</string>
@@ -3289,18 +3346,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"reakcja na dotyk, wibracje, czułość"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"oszczędzanie baterii, przyklejony, trwały, oszczędzanie energii, bateria"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"rutyna, harmonogram, oszczędzanie baterii, oszczędzanie energii, bateria, automatycznie, procent"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"profil służbowy"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"volte, połączenia zaawansowane, połączenia 4g"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"dodaj język, dodawanie języka"</string>
     <string name="default_sound" msgid="6604374495015245195">"Dźwięk domyślny"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"Głośność dzwonka to <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"Głośność dzwonka i powiadomień na poziomie <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Głośność, wibracje, Nie przeszkadzać"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"Dzwonek ustawiony na wibrowanie"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"Dzwonek wyciszony"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"Głośność dzwonka to 80%"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"Głośność dzwonka i powiadomień na poziomie 80%"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Głośność multimediów"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Głośność przesyłania"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"Głośność połączenia"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"Głośność alarmu"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"Głośność dzwonka"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"Głośność dzwonka i powiadomień"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"Głośność powiadomień"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"Dzwonek telefonu"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"Domyślny dźwięk powiadomienia"</string>
@@ -3308,6 +3366,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"Domyślny dźwięk powiadomienia"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"Domyślny dźwięk alarmu"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"Wibracje przy połączeniu"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"Bez wibracji"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"Zawsze wibracje"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"Wibracje, potem narastający dzwonek"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"Inne dźwięki"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"Dźwięki wybierania numeru"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"Dźwięki blokady ekranu"</string>
@@ -3333,6 +3394,7 @@
       <item quantity="one">Włączono 1</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Nie przeszkadzać"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Otrzymuj powiadomienia tylko od ważnych osób i z istotnych aplikacji"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Ograniczanie powiadomień"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Włącz tryb Nie przeszkadzać"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"Wyjątki"</string>
@@ -3359,7 +3421,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Blokuj wyświetlanie"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Zezwól na sygnały wizualne"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"Po włączeniu trybu Nie przeszkadzać"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"Zezwól na powiadomienia dźwiękowe"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"Ogranicz powiadomienia"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Brak dźwięku powiadomień"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"Nie zobaczysz powiadomień na ekranie"</string>
@@ -3390,7 +3452,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"Dźwięk i wibracje"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"Dźwięk, wibracje i niektóre rodzaje wizualnej sygnalizacji powiadomień"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"Dźwięk, wibracje i wizualna sygnalizacja powiadomień"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"Powiadomienia wymagane przez podstawowe funkcje telefonu oraz stan nigdy nie będą ukryte"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"Powiadomienia wymagane przez podstawowe funkcje telefonu oraz stan nigdy nie będą ukryte."</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"Brak"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"inne opcje"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"Dodaj"</string>
@@ -3424,10 +3486,12 @@
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> harmonogramu może włączać się automatycznie</item>
       <item quantity="one">1 harmonogram może włączać się automatycznie</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"Wycisz urządzenie, ale zezwól na wyjątki"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"Wyjątki"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"Harmonogram"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"Zobacz wszystkie wyjątki"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"Wyjątki po włączeniu trybu Nie przeszkadzać"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"Osoby"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"Aplikacje"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"Alarmy i inne powiadomienia"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"Harmonogramy"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"Wyciszone powiadomienia"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"Gdy włączysz tryb Nie przeszkadzać, sygnalizowanie dźwiękiem i wibracjami będzie wyciszone. Wyciszenie nie będzie dotyczyło elementów, na które zezwolisz powyżej."</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"Wycisz wszystko oprócz:"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"Wyciszone"</string>
@@ -3471,16 +3535,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"Powiadomienia adaptacyjne"</string>
     <string name="asst_capability_prioritizer_title" msgid="1181272430009156556">"Priorytet powiadomień adaptacyjnych"</string>
     <string name="asst_capability_prioritizer_summary" msgid="954988212366568737">"Automatycznie kategoryzuj powiadomienia o niższym priorytecie jako subtelne"</string>
+    <string name="asst_capability_ranking_title" msgid="312998580233257581">"Adaptacyjne porządkowanie powiadomień"</string>
+    <string name="asst_capability_ranking_summary" msgid="2293524677144599450">"Automatycznie porządkuj powiadomienia według trafności"</string>
     <string name="asst_capabilities_actions_replies_title" msgid="4392470465646394289">"Sugerowane działania i odpowiedzi"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"Automatycznie pokazuj sugerowane działania i odpowiedzi"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"Włącz historię powiadomień, aby śledzić powiadomienia starsze i odłożone"</string>
+    <string name="notification_history" msgid="8663811361243456201">"Historia powiadomień"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"Włącz historię"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"Wyłącz historię"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"Historia powiadomień jest wyłączona"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"pokaż ustawienia powiadomień"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Zezwól na odkładanie powiadomień"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"Ukryj ikony z subtelnych powiadomień"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"Ikony z subtelnych powiadomień nie są pokazywane na pasku stanu"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"Zezwól na plakietki z powiadomieniami"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"Pokaż pasek ostatnich rozmów"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Dymki"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"Niektóre powiadomienia mogą pojawiać się jako dymki na ekranie"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"Niektóre powiadomienia i inne treści mogą pojawiać się jako dymki na ekranie. Aby otworzyć dymek, kliknij go. Aby zamknąć, przeciągnij go w dół ekranu."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Dymki"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"Na ekranie będą wyświetlane nowe wiadomości"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"Zezwól aplikacji <xliff:g id="APP_NAME">%1$s</xliff:g> na pokazywanie niektórych powiadomień jako dymków"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"Włącz dymki"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"Aby włączyć dymki w tej aplikacji, musisz je najpierw włączyć na urządzeniu. Będzie to miało wpływ na inne aplikacje, w których włączono już dymki."</string>
@@ -3498,6 +3572,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"Wyświetlaj w obszarze powiadomień i na ekranie blokady"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"Wyświetlaj w obszarze powiadomień i na pasku stanu"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"Wyświetlaj w obszarze powiadomień, na pasku stanu i ekranie blokady"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"Ukryj ciche powiadomienia na pasku stanu"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"Migająca dioda"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"Ekran blokady"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"Pomiń ekran blokady"</string>
@@ -3528,6 +3603,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"Działanie"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"Zezwól na dźwięk"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"Nigdy nie pokazuj powiadomień"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"Rozmowy"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"Rozmowa"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"To nie jest rozmowa"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"Usuń z sekcji rozmowy"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"Oznacz jako rozmowę"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"Dodaj do sekcji rozmowy"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"Zarządzanie wątkami"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"Ważne wątki"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"Wszystkie wątki"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"Wyświetlaj ważne wątki jako dymki"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"Ważne wątki są wyświetlane u góry obszaru powiadomień. Możesz też skonfigurować je tak, by wyświetlały się jako dymki i przerywały działanie trybu Nie przeszkadzać."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"Pokazuj dyskretnie i minimalizuj"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"Pokazuj dyskretnie"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"Sygnalizacja dźwiękiem"</string>
@@ -3546,7 +3632,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"Pomaga Ci się skupić, nie sygnalizując niczego dźwiękiem ani wibracjami"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"Przyciąga uwagę dźwiękiem lub wibracjami"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"Gdy urządzenie jest odblokowane, pokazuj powiadomienia jako pasek u góry ekranu"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"Pokazuj powiadomienia"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"Wszystkie powiadomienia z aplikacji <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"Powiadomienia adaptacyjne"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="few">~<xliff:g id="NUMBER_1">%d</xliff:g> powiadomienia dziennie</item>
@@ -3573,6 +3659,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"Powiadomienia adaptacyjne"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"Brak"</string>
     <string name="no_notification_listeners" msgid="2839354157349636000">"Żadna z zainstalowanych aplikacji nie prosiła o dostęp do powiadomień."</string>
+    <string name="notification_access_detail_switch" msgid="46386786409608330">"Zezwalaj na dostęp do powiadomień"</string>
     <string name="notification_assistant_security_warning_title" msgid="2972346436050925276">"Zezwolić usłudze <xliff:g id="SERVICE">%1$s</xliff:g> na dostęp do powiadomień?"</string>
     <string name="notification_assistant_security_warning_summary" msgid="3119843404577399036">"Aplikacja <xliff:g id="NOTIFICATION_ASSISTANT_NAME">%1$s</xliff:g> będzie mogła czytać wszystkie powiadomienia, w tym dane osobowe takie jak nazwy kontaktów oraz treść otrzymywanych wiadomości. Będzie też mogła modyfikować lub odrzucać powiadomienia oraz używać zawartych w nich przycisków działań. \n\nDodatkowo aplikacja będzie mogła włączać lub wyłączać tryb Nie przeszkadzać i zmieniać powiązane ustawienia."</string>
     <string name="notification_listener_security_warning_title" msgid="5791700876622858363">"Zezwolić usłudze <xliff:g id="SERVICE">%1$s</xliff:g> na dostęp do powiadomień?"</string>
@@ -3640,8 +3727,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"Gotowe"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"Ważność"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"Migająca dioda"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"Wibracje"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"Wibracje"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"Dźwięk"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"Ważne"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"Dodaj do ekranu głównego"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"Usuń"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"Zmień nazwę"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"Nazwa harmonogramu"</string>
@@ -3697,6 +3786,10 @@
       <item quantity="other"><xliff:g id="NUM_PEOPLE">%d</xliff:g> innej osoby</item>
       <item quantity="one">1 inna osoba.</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Rozmowy"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"Ze wszystkich rozmów"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"Z ważnych rozmów"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"Nie zezwalaj na żadne rozmowy"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"Zezwalaj na wiadomości"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"Aby mieć pewność, że dopuszczone wiadomości będą sygnalizowane dźwiękowo, sprawdź, czy urządzenie ma włączony dzwonek, a nie jest ustawione na wibracje ani wyciszone."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"W harmonogramie „<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>” powiadomienia o SMS-ach przychodzących są zablokowane. Możesz dostosować ustawienia, tak by znajomi, rodzina i inne osoby z kontaktów mogły się z Tobą skontaktować."</string>
@@ -3710,15 +3803,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"Żadne"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"Nie zezwalaj na połączenia"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"Nie zezwalaj na wiadomości"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"Zezwól na alarmy"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"Alarmy"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"Liczniki czasu, alarmy, systemy zabezpieczeń i inne aplikacje"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"alarmy"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"Odtwarzaj dźwięki multimediów"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"Dźwięki multimediów"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"Filmy, gry i inne multimedia"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"multimedia"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"Zezwól na dźwięki przy dotknięciu"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"Dźwięki przy dotknięciu"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"Klawiatura i inne przyciski"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"dźwięki przy dotknięciu"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"Zezwól na przypomnienia"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"Przypomnienia"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"Zadania i przypomnienia"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"przypomnienia"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"Zezwól na wydarzenia"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"Wydarzenia"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"Nadchodzące wydarzenia w kalendarzu"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Zezwól na zastępowanie przez aplikacje"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"Aplikacje stanowiące wyjątek"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3767,6 +3865,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"Powiadomienia wyciszone w trybie Nie przeszkadzać będą włączać ekran"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"Ustawienia powiadomień"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"OK"</string>
+    <string name="suggestion_button_close" msgid="6865170855573283759">"Zamknij"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Prześlij opinię o tym urządzeniu"</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"Wpisz kod PIN administratora"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"Wł."</string>
@@ -3777,6 +3876,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Podaj PIN, aby odpiąć"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Aby odpiąć, poproś o hasło"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Zablokuj urządzenie przy odpinaniu"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Potwierdź chęć usunięcia karty SIM"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"Zanim wykasujesz dane z pobranej karty SIM, potwierdź swoją tożsamość"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"Tym profilem do pracy zarządza:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"Zarządzane przez: <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(Funkcja eksperymentalna)"</string>
@@ -3859,8 +3960,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"Wszystkie aplikacje"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Zainstalowane aplikacje"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Aplikacje błyskawiczne"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"Osobiste"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"Do pracy"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"Aplikacje: wszystkie"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"Wyłączone"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"Kategorie: pilne"</string>
@@ -3872,6 +3971,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"Nieznana aplikacja"</string>
     <string name="app_permissions" msgid="8666537659217653626">"Menedżer uprawnień"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"Aplikacje używające: <xliff:g id="APPS">%1$s</xliff:g>"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"Aplikacje używające: <xliff:g id="APPS">%1$s</xliff:g> i inne"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"Kliknij, by wybudzić"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"Kliknij dwukrotnie w dowolnym miejscu na ekranie, by wybudzić urządzenie"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"Otwieranie linków"</string>
@@ -3885,9 +3985,16 @@
       <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> aplikacji otwiera obsługiwane linki</item>
       <item quantity="one">Jedna aplikacja otwiera obsługiwane linki</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"Otwieraj w tej aplikacji"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"Zezwól aplikacji na otwieranie obsługiwanych linków"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"Pytaj za każdym razem"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"Nie otwieraj w tej aplikacji"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"Nie zezwalaj aplikacji na otwieranie linków"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="few">Aplikacja chce obsługiwać<xliff:g id="COUNT_1">%d</xliff:g> linki</item>
+      <item quantity="many">Aplikacja chce obsługiwać<xliff:g id="COUNT_1">%d</xliff:g> linków</item>
+      <item quantity="other">Aplikacja chce obsługiwać<xliff:g id="COUNT_1">%d</xliff:g> linku</item>
+      <item quantity="one">Aplikacja chce obsługiwać <xliff:g id="COUNT_0">%d</xliff:g> link</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"Aplikacja chce obsługiwać te linki:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"Domyślne"</string>
     <string name="default_for_work" msgid="537558180548617528">"Domyślne do pracy"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"Asystent i rozpoznawanie mowy"</string>
@@ -4037,8 +4144,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"Wyświetlanie nad innymi aplikacjami"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Pozwól na wyświetlanie nad innymi aplikacjami"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"Pozwala aplikacji na wyświetlanie się nad innymi aplikacjami, których właśnie używasz. Może zakłócać korzystanie z innych aplikacji oraz wpływać na ich wygląd lub sposób działania."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"Dostęp do wszystkich plików"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"Zezwól na zarządzanie wszystkimi plikami"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Zezwól tej aplikacji na odczytywanie, modyfikowanie i usuwanie plików na tym urządzeniu oraz wszelkich połączonych woluminach przechowywania. Aplikacje z tymi uprawnieniami mogą korzystać z dostępu do plików bez konieczności wyraźnego informowania Cię o tym."</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"Ma dostęp do wszystkich plików"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"vr rzeczywistość wirtualna odbiornik stereo usługa pomocnicza"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"system alert okno okno dialogowe wyświetlać nad innymi aplikacjami"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"Wyświetlanie nad innymi"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"Aplikacje, które mogą wyświetlać się nad innymi: <xliff:g id="COUNT_0">%1$d</xliff:g> z <xliff:g id="COUNT_1">%2$d</xliff:g>"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"Aplikacje z uprawnieniami"</string>
@@ -4214,6 +4324,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"Wykorzystano <xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g>"</string>
     <string name="data_overusage" msgid="3680477320458707259">"<xliff:g id="ID_1">^1</xliff:g> ponad limit"</string>
     <string name="data_remaining" msgid="6316251496381922837">"Pozost.: <xliff:g id="ID_1">^1</xliff:g>"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"Wykres użycia danych w okresie <xliff:g id="START_DATE">%1$s</xliff:g> – <xliff:g id="END_DATE">%2$s</xliff:g>."</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"Brak danych z tego okresu"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="few">%d dni do końca</item>
       <item quantity="many">%d dni do końca</item>
@@ -4279,14 +4391,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"rozmiar działki"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"wysłane powiadomienie"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"dźwięk"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"wibracje"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"wzór"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"domyślne"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"kanał"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"brak"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"Brak obiektu rankingu."</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"Obiekt rankingu nie zawiera takiego klucza."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"Motywy"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"Ustawienie domyślne urządzenia"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"Wycięcie w ekranie"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"wycięcie w ekranie, notch"</string>
@@ -4383,8 +4491,12 @@
     <string name="information_label" msgid="6939310810756569298">"Informacje"</string>
     <string name="low_label" msgid="6525629096999711220">"Niska"</string>
     <string name="high_label" msgid="357503396626018487">"Wysoka"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"Wyższa czułość może powodować konflikt w przypadku gestów w aplikacji przy krawędziach ekranu."</string>
+    <string name="left_edge" msgid="1513576842959071849">"Lewa krawędź"</string>
+    <string name="right_edge" msgid="1505309103265829121">"Prawa krawędź"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"Wyższa czułość może powodować konflikt w przypadku gestów w aplikacji przy krawędziach ekranu."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"Czułość tyłu"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"Ustawienia gestów"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"nawigacja przy użyciu gestów, czułość cofania, gest cofania"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"Kliknij dwukrotnie, by sprawdzić telefon"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"Kliknij dwukrotnie, by sprawdzić tablet"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"Kliknij dwukrotnie, by sprawdzić urządzenie"</string>
@@ -4553,7 +4665,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"Uruchom obsługę administracyjną operatora"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"Zmień ustawienia trybu Nie przeszkadzać"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"Wstrzymaj powiadomienia, by Cię nie rozpraszały"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"Ta funkcja jest niedostępna na tym urządzeniu."</string>
     <string name="disabled_feature" msgid="7151433782819744211">"Funkcja niedostępna"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"Ta funkcja została wyłączona, bo spowalnia działanie telefonu"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"Wymuś pełną procedurę pomiarów GNSS"</string>
@@ -4563,20 +4674,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"Wybierz aplikację obsługującą ANGLE"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"Nie ustawiono aplikacji obsługującej ANGLE"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"Aplikacja obsługująca ANGLE: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"Ustawienia sterownika gry"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"Zmodyfikuj ustawienia sterownika gry"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"Gdy sterownik gry jest włączony, możesz wybrać korzystanie ze zaktualizowanego sterownika grafiki w aplikacjach zainstalowanych na urządzeniu."</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"Włącz dla wszystkich aplikacji"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"Wybierz sterownik grafiki"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"Domyślny"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"Sterownik gry"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"Sterownik przedpremierowy"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"Systemowy sterownik grafiki"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"Ustawienia sterownika grafiki"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"Zmodyfikuj ustawienia sterownika grafiki"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"Gdy dostępnych jest więcej sterowników niż jeden, możesz wybrać korzystanie ze zaktualizowanego sterownika grafiki w aplikacjach zainstalowanych na urządzeniu."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"Włącz dla wszystkich aplikacji"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"Wybierz sterownik grafiki"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"Domyślny"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"Sterownik gry"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"Sterownik dewelopera"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Systemowy sterownik grafiki"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Zmiany zgodności aplikacji"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Przełączanie zmian zgodności aplikacji"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Zmiany domyślnie włączonych"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Zmiany domyślnie zablokowanych"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"Ustawienie nieobsługiwane przez ten telefon"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"Ustawienie nieobsługiwane przez ten tablet"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"Ustawienie nieobsługiwane przez to urządzenie"</string>
@@ -4595,6 +4712,11 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"Urządzenie"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Brak dostępu w trakcie połączeń"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"Brak dostępu"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"Dodaj urządzenia wyjściowe"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"Grupa"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"Wybrano jedno urządzenie"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"Wybrane urządzenia: <xliff:g id="COUNT">%1$d</xliff:g>"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"Przełączam…"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Odbierz połączenie przez:"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Tego parametru APN nie można zmienić."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Wydłuż czas pracy tabletu na baterii"</string>
@@ -4714,10 +4836,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Tylko jedna pobrana karta SIM może być aktywna w danym momencie.\n\nPrzełączenie na operatora<xliff:g id="CARRIER1">%1$s</xliff:g> nie spowoduje rezygnacji z usług operatora <xliff:g id="CARRIER2">%2$s</xliff:g>."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Przełącz na sieć: <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Usuń dane z karty SIM"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Usunąć dane z tej pobranej karty SIM?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Usunięcie tej karty SIM spowoduje usunięcie usługi <xliff:g id="CARRIER_0">%1$s</xliff:g> z tego urządzenia.\n\nUsługa dostarczana przez operatora <xliff:g id="CARRIER_1">%2$s</xliff:g> nie zostanie anulowana."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Usuń dane"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Usuwam dane z karty SIM…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Nie można usunąć danych z karty SIM"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Nie można usunąć danych z tej karty SIM z powodu błędu.\n\nUruchom urządzenie ponownie i spróbuj jeszcze raz."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Preferowany typ sieci"</string>
@@ -4742,7 +4860,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Nieprawidłowy tryb sieci <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Ignoruj."</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Nazwy punktów dostępu"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Niedostępne po połączeniu z siecią <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"Informacje medyczne, kontakty alarmowe"</string>
     <string name="see_more" msgid="7499355691042812723">"Pokaż więcej"</string>
     <string name="see_less" msgid="2642392725363552793">"Pokaż mniej"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"Urządzenie, na którym chcesz korzystać z aplikacji <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
@@ -4751,13 +4868,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"Coś się stało. Aplikacja anulowała prośbę o wybór urządzenia."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"Mamy połączenie"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"Pokaż wszystko"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="few">Podłączono <xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> urządzenia</item>
-      <item quantity="many">Podłączono <xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> urządzeń</item>
-      <item quantity="other">Podłączono <xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> urządzenia</item>
-      <item quantity="one">Podłączono <xliff:g id="NUMBER_DEVICE_COUNT_0">%1$d</xliff:g> urządzenie</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"Brak urządzeń Bluetooth"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"Szukam urządzenia…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"Łączę się z urządzeniem…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"Po lewej"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"Po prawej"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Etui"</string>
@@ -4767,6 +4879,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"Niedostępne w trybie samolotowym"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"Wymuś tryb pulpitu"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Wymuś eksperymentalny tryb pulpitu na dodatkowych ekranach"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"Włącz dowolny rozmiar"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"Zezwól aplikacjom nieskalowanym na dowolny rozmiar"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Zastąp wymuszanie trybu ciemnego"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"Zastępuje ustawienie zawsze włączonej funkcji wymuszania trybu ciemnego"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"Prywatność"</string>
@@ -4809,6 +4923,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Ta aplikacja była ostatnio przez Ciebie instalowana."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Przełącz urządzenie wyjściowe"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Aktualnie odtwarzane na urządzeniu <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (rozłączono)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Nie można przełączyć. Spróbuj ponownie."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Ważna informacja"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"DALEJ"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"NIE"</string>
@@ -4836,8 +4952,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"Kombinacja kart SIM"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Informacje o zasadach służbowych"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Ustawienia, którymi zarządza administrator"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"Obsługiwanie zgłaszania błędów"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Określa, która aplikacja ma obsługiwać skrót do zgłaszania błędów na urządzeniu."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Osobista"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"Służbowa"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"Ustawienie domyślne"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"Ta opcja nie jest już obsługiwana. Spróbuj ponownie."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"Zatrzymaj przesyłanie"</string>
 </resources>
diff --git a/res/values-pt-rBR/arrays.xml b/res/values-pt-rBR/arrays.xml
index 0cb0d0c..cc18bf2 100644
--- a/res/values-pt-rBR/arrays.xml
+++ b/res/values-pt-rBR/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"Imediatamente"</item>
     <item msgid="463591454172790676">"5 segundos"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"Não validar"</item>
+    <item msgid="5703177653586269306">"Solicitar status de certificados"</item>
+    <item msgid="326388247868439528">"Exigir status de certificados"</item>
+    <item msgid="1090956283885790552">"Exigir todos os status de certificados não confiáveis"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"Pressione o botão"</item>
     <item msgid="2630618799033509548">"PIN do dispositivo pareado"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"Nenhum"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"VPN IPSec com chaves pré-compartilhadas e autenticação Xauth"</item>
     <item msgid="2484564813864139237">"VPN IPSec com autenticação de certificados e Xauth"</item>
     <item msgid="68918911194507915">"VPN IPSec com certificados e autenticação híbrida"</item>
+    <item msgid="4631647675167100375">"VPN IKEv2/IPSec com certificados e autenticação de nome de usuário/senha"</item>
+    <item msgid="8812228622975052811">"VPN IKEv2/IPSec com chaves pré-compartilhadas"</item>
+    <item msgid="6630554779981113046">"VPN IKEv2/IPSec com certificados"</item>
   </string-array>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"Nenhum"</item>
diff --git a/res/values-pt-rBR/config.xml b/res/values-pt-rBR/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-pt-rBR/config.xml
+++ b/res/values-pt-rBR/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-pt-rBR/strings.xml b/res/values-pt-rBR/strings.xml
index a9da1d2..66ed3cd 100644
--- a/res/values-pt-rBR/strings.xml
+++ b/res/values-pt-rBR/strings.xml
@@ -31,49 +31,17 @@
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Primeiro, ative as opções do desenvolvedor."</string>
     <string name="header_category_wireless_networks" msgid="303445626075235229">"Redes sem fio e outras"</string>
     <string name="header_category_system" msgid="1665516346845259058">"Sistema"</string>
-    <string name="radio_info_data_connection_enable" msgid="7500945447906187613">"Ativar conexão de dados"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"Desativar conexão de dados"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"Provisionado VoLTE"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"Videochamadas aprovisionadas"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"Chamadas por Wi-Fi aprovisionadas"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"EAB/Presença aprovisionados"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"Dados CBRS"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"Ativar DSDS"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"Reiniciar dispositivo?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"Reinicie o dispositivo para alterar essa configuração."</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"Reiniciar"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"Cancelar"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"Potência do rádio móvel"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"Ver o catálogo de endereços do chip"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"Visualizar números de discagem fixa"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"Visualizar números de chamada de serviço"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"Status de serviço IMS"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"Status IMS"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"Registrado"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"Não registrado"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"Disponível"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"Não disponível"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"Registro IMS: <xliff:g id="STATUS">%1$s</xliff:g>\nVoice over LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nVoice over Wi-Fi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideochamada: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nInterface UT: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"Em serviço"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Fora de serviço"</string>
     <string name="radioInfo_service_emergency" msgid="6838935881091760942">"Somente chamadas de emergência"</string>
     <string name="radioInfo_service_off" msgid="6184928420860868571">"Rádio desativado"</string>
     <string name="radioInfo_roaming_in" msgid="8892550453644088692">"Roaming"</string>
     <string name="radioInfo_roaming_not" msgid="3137594549464975054">"Não está em roaming"</string>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"Ocioso"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"Tocando"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"Chamada em andamento"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"Desconectado"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"Conectando"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"Conectado"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Suspenso"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Desconhecido"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"pkts"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"bytes"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"Desconectar armaz. USB"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"Desconectar cartão SD"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"Apagar armazenamento USB"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"Tornar o texto na tela menor ou maior."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Tornar menor"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Tornar maior"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"Texto de amostra"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"O Mágico de Oz"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"Capítulo 11: A maravilhosa Cidade das Esmeraldas de Oz"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"Reinicie o dispositivo para alterar essa configuração."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"Reiniciar"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"Cancelar"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"Dispositivos de mídia disponíveis"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"Dispositivos de chamada disponíveis"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"Conectados no momento"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"Dispositivos portáteis de mídia"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"Dispositivos de chamada"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"Outros dispositivos"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Dispositivos salvos"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"O Bluetooth será ativado para o pareamento"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Preferências de conexão"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"A porta digitada não é válida."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"O proxy HTTP é usado pelo navegador, mas não pode ser usado por outros apps."</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"URL do PAC: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"Subcódigo atual:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"Subcódigo do chip de dados padrão:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"Largura de banda DL (kbps):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"Largura de banda UL (kbps):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"Informações de local do celular (uso suspenso):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"Configuração do canal físico de LTE:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"Taxa de atualização das informações do celular:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"Todas as informações de medição do celular:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"Serviço de dados:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"Roaming:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"Redirecionamento da chamada:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"Número de redefinições PPP desde a inicialização:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"Rede atual:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"Dados recebidos:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"Serviço de voz:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"Potência do sinal:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"Status da chamada de voz:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"Dados enviados:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"Mensagem em espera:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"Número de telefone:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"Selecionar frequência de rádio"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"Tipo de rede de voz:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"Tipo de rede de dados:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"Selecionar lista telefônica"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"Definir tipo de rede preferido:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"Aplicar ping no nome do host (www.google.com) IPv4:"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"Aplicar ping no nome do host (www.google.com) IPv6:"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"Teste do cliente HTTP:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"Executar teste de ping"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"Atualizar"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"Atualizar"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"Ativar/desativar verificação de DNS"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"Informações/configurações específicas de OEM"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"Definir modo de frequência de rádio"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"Carregando a lista de frequências…"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"Definir"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"Falha"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"Feito"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"As alterações são aplicadas quando o cabo USB é reconectado."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"Ativar o armazenamento USB em massa"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"Total de bytes:"</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"Mover para o fim"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"Remover idioma"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"Selecione a atividade"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"Informações do dispositivo"</string>
     <string name="display_label" msgid="3056320781191343221">"Tela"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"Informações do tablet"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"Informações do telefone"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"Armaz. USB"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"Cartão SD"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"Configurações de proxy"</string>
@@ -306,9 +234,6 @@
     <string name="airplane_mode" msgid="3196085857882526817">"Modo avião"</string>
     <string name="wireless_networks_settings_title" msgid="8557542379234105369">"Redes sem fio e outras"</string>
     <string name="radio_controls_summary" msgid="9028430178697624501">"Gerenciar Wi-Fi, Bluetooth, modo avião, redes móveis e VPNs"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"Dados móveis"</string>
-    <string name="calls_title" msgid="6334813967619899114">"Permitir chamadas"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"Mensagens SMS"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"Permitir uso de dados pela rede móvel"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"Permitir usar dados em roaming"</string>
     <string name="roaming" msgid="3055365654530847985">"Roaming"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"Conectar aos serviços de dados quando estiver em roaming"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"Você perdeu a conectividade de dados porque deixou o roaming de dados da sua rede doméstica desativado."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"Ativar"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"Sujeito a cobranças. Os valores podem ser significativos."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"Ao permitir o roaming de dados, você poderá receber cobranças significativas de roaming.\n\nEsta configuração afeta todos os usuários do tablet."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"Ao permitir o roaming de dados, você poderá receber cobranças significativas de roaming.\n\nEsta configuração afeta todos os usuários do telefone."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"Sujeito a cobrança por uso de roaming."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"Permitir o roaming de dados pode gerar cobranças relacionadas.\n\nEssa configuração afeta todos os usuários do tablet."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"Permitir o roaming de dados pode gerar cobranças relacionadas.\n\nEssa configuração afeta todos os usuários do smartphone."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"Permitir roaming de dados?"</string>
     <string name="networks" msgid="5184501333492775095">"Seleção de operador"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"Selecione um operador de rede"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"Desativada pelo administrador"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"Mostrar opção de bloqueio total"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"Exibir a opção do botão liga/desliga que desativa o Smart Lock, o desbloqueio biométrico e as notificações na tela de bloqueio"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"Agentes de confiança só podem ampliar o desbloqueio"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"Se essa opção for ativada, os agentes de confiança poderão manter o dispositivo desbloqueado por mais tempo, mas não poderão desbloquear o dispositivo"</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"Bloquear tela quando a confiança for perdida"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"Se essa opção for ativada, o dispositivo será bloqueado quando o último agente de confiança perder a confiança"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"Nenhuma"</string>
@@ -390,7 +313,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"Definir Meu local, desbloqueio de tela, bloqueio do chip e do armazenamento de credenciais"</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"Definir o Meu local, o desbloqueio de tela, o bloqueio do armazenamento de credenciais"</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"Privacidade"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"Desativada pelo administrador"</string>
+    <string name="disabled_by_administrator_summary" msgid="5424846182313851124">"Indisponível"</string>
     <string name="security_status_title" msgid="6958004275337618656">"Status da segurança"</string>
     <string name="security_dashboard_summary_face" msgid="4198949293847206382">"Bloqueio de tela, desbloqueio facial"</string>
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Bloqueio de tela, impressão digital"</string>
@@ -693,7 +616,6 @@
       <item quantity="one">Precisa ter menos de <xliff:g id="NUMBER_1">%d</xliff:g> dígito</item>
       <item quantity="other">Precisa ter menos de <xliff:g id="NUMBER_1">%d</xliff:g> dígitos</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"Precisa ter apenas dígitos de 0 a 9"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"O administrador do dispositivo não permite o uso de um PIN recente"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"PINs comuns foram bloqueados pelo seu administrador de TI. Tente um PIN diferente."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"Não pode incluir um caractere inválido"</string>
@@ -724,6 +646,10 @@
       <item quantity="one">Precisa ter pelo menos <xliff:g id="COUNT">%d</xliff:g> caractere que não seja letra</item>
       <item quantity="other">Precisa ter pelo menos <xliff:g id="COUNT">%d</xliff:g> caracteres que não sejam letras</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="one">Precisa ter pelo menos <xliff:g id="COUNT">%d</xliff:g> caractere não numérico</item>
+      <item quantity="other">Precisa ter pelo menos <xliff:g id="COUNT">%d</xliff:g> caracteres não numéricos</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"O administrador do dispositivo não permite usar uma senha recente"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"Senhas comuns foram bloqueadas pelo seu administrador de TI. Tente uma senha diferente."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"Não é permitido usar uma sequência de dígitos em ordem crescente, decrescente ou repetidos"</string>
@@ -837,19 +763,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2,4 GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"Fazer login"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"Abrir site"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"Tempo restante: <xliff:g id="REMAINING_TIME">%1$s</xliff:g>"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"Expira em <xliff:g id="EXPIRY_TIME">%1$s</xliff:g>"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"Toque aqui para fazer login na rede"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"<xliff:g id="REQUESTER">%s</xliff:g> quer ativar o Wi-Fi"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"<xliff:g id="REQUESTER">%s</xliff:g> quer desativar o Wi-Fi"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"Verificar bytecode de apps depuráveis"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Permitir que o ART verifique o bytecode de apps depuráveis"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"Mostrar taxa de atualiz."</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Mostrar a taxa de atualização de tela atual"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"Permitir troca de dados quando o tablet tocar em outro dispositivo"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"Permite troca de dados quando o smartphone encosta em outro dispositivo"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"Permitir troca de dados quando o tablet encostar em um dispositivo NFC"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"Permitir troca de dados quando o smartphone encostar em um dispositivo NFC"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"Ativar NFC"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"O NFC troca dados entre este dispositivo e outros dispositivos ou alvos nas proximidades, tais como terminais de pagamento, leitores de acesso e tags ou anúncios interativos."</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"Proteger NFC"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Exigir desbloqueio de dispositivo para usar a NFC"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"Permitir pagamento por NFC e uso do Transit apenas com a tela desbloqueada"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"Pronto para transmitir conteúdo de apps via NFC"</string>
@@ -923,8 +855,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Ativar"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Busca por Wi‑Fi ativada"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Opções avançadas"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"Lista suspensa de Opções avançadas. Toque duas vezes para recolher."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"Lista suspensa de Opções avançadas. Toque duas vezes para expandir."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Lista suspensa \"Opções avançadas\""</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"expandir"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"Nome da rede"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"Digite o SSID"</string>
     <string name="wifi_security" msgid="9095934643631406913">"Segurança"</string>
@@ -934,6 +866,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"Status"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"Velocidade do link de transmissão"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"Velocidade do link de recepção"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"Velocidade do link"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"Frequência"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"Endereço IP"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"Salvo via"</string>
@@ -941,6 +874,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"Método EAP"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"Autenticação da Fase 2"</string>
     <string name="wifi_eap_ca_cert" msgid="8033404008276298886">"Certificado CA"</string>
+    <string name="wifi_eap_ocsp" msgid="8713933962516871238">"Status de certificado on-line"</string>
     <string name="wifi_eap_domain" msgid="8304301470752333203">"Domínio"</string>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"Certificado do usuário"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"Identidade"</string>
@@ -957,6 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"Escolha pelo menos uma banda para o ponto de acesso Wi-Fi:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"Configurações de IP"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"Privacidade"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"Inscrição"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"Ver ou mudar inscrição"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"MAC aleatório"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"Adicionar um dispositivo"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"Centralize o código QR abaixo para adicionar o dispositivo a “<xliff:g id="SSID">%1$s</xliff:g>”"</string>
@@ -966,12 +902,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"Compartilhar Wi‑Fi"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"Faça a leitura deste código QR para conectar-se a “<xliff:g id="SSID">%1$s</xliff:g>” e compartilhar a senha"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"Faça a leitura deste código QR para conectar-se a “<xliff:g id="SSID">%1$s</xliff:g>”"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"Não foi possível ler o código QR. Centralize a tela no código e tente novamente"</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"Tente novamente. Se o problema persistir, entre em contato com o fabricante do dispositivo"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"Algo deu errado"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"Verifique se o dispositivo está conectado, carregado e ligado"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"Verifique se o dispositivo está conectado, carregado e ligado. Se o problema persistir, entre em contato com o fabricante do dispositivo"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"Não há compatibilidade com a adição de “<xliff:g id="SSID">%1$s</xliff:g>” neste dispositivo"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"Tente aproximar o dispositivo do ponto de acesso/roteador Wi-Fi"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"Verifique a senha e tente novamente"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"Entre em contato com o fabricante do dispositivo"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"Verifique a conexão e tente novamente"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"Escolher rede"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"Para conectar seu dispositivo, escolha uma rede"</string>
@@ -984,11 +922,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"Compartilhando o Wi‑Fi com este dispositivo…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"Conectando…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"Compartilhar ponto de acesso"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"Confirme sua identidade"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"Confirmar sua identidade"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"Senha do Wi-Fi: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"Senha do ponto de acesso: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"Conexão automática"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"Permita que o smartphone se conecte automaticamente quando estiver perto dessa rede"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"Permita que o tablet se conecte automaticamente quando estiver perto dessa rede"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"Adicionar dispositivo"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"Use um código QR para adicionar um dispositivo a esta rede"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"O código QR não está em um formato válido"</string>
     <string name="retry" msgid="7542103800274026915">"Repetir"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"Compartilhar com outros usuários do dispositivo"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(sem alteração)"</string>
@@ -1000,6 +942,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"Nenhum certificado especificado. Sua conexão não será particular."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"O nome da rede é muito longo."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"É necessário especificar um domínio."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"Certificado obrigatório."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"WPS disponível"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (WPS disponível)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"Rede Wi‑Fi de operadora"</string>
@@ -1051,7 +994,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"Wi-Fi avançado"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"Endereço MAC"</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_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>
@@ -1103,7 +1047,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"Use o ponto de acesso para criar uma rede Wi‑Fi para outros dispositivos. O ponto de acesso fornece Internet usando sua conexão de dados móveis. Pode haver cobrança adicional para dados móveis."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"Os apps podem criar um ponto de acesso para compartilhamento de conteúdo com dispositivos nas proximidades."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Desativar ponto de acesso automaticamente"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"O ponto de acesso Wi‑Fi será desativado se nenhum dispositivo for conectado"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Quando nenhum dispositivo está conectado"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"Ativando o ponto de acesso..."</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"Desativando o ponto de acesso..."</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"A rede <xliff:g id="NETWORK_SSID">%1$s</xliff:g> está ativa"</string>
@@ -1112,6 +1056,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"Config. ponto de acesso Wi-Fi"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"Ponto de acesso AndroidAP WPA2 PSK"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"Ponto de acesso Android"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"Salvar essa rede?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"<xliff:g id="APPNAME">%1$s</xliff:g> quer salvar uma rede no smartphone"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"<xliff:g id="APPNAME">%1$s</xliff:g> quer salvar uma rede no tablet"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"Salvando…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"Salva"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"Não é possível salvar. Tente novamente."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"Salvar redes?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"<xliff:g id="APPNAME">%1$s</xliff:g> quer salvar essas redes no smartphone"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"<xliff:g id="APPNAME">%1$s</xliff:g> quer salvar essas redes no tablet"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"Salvando <xliff:g id="NUMBER">%d</xliff:g> redes…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"Redes salvas"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"Chamadas por Wi-Fi"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"Aumentar as chamadas com Wi‑Fi"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"Ativar a chamada no Wi‑Fi para aumentar a cobertura"</string>
@@ -1138,16 +1093,18 @@
     <string name="emergency_address_title" msgid="3490633500025717573">"Endereço de emergência"</string>
     <string name="emergency_address_summary" msgid="3022628750270626473">"Usado como seu local quando você faz uma chamada de emergência usando o Wi‑Fi"</string>
     <string name="private_dns_help_message" msgid="851221502063782306"><annotation id="url">"Saiba mais"</annotation>" sobre recursos de DNS particular"</string>
+    <string name="private_dns_mode_on" msgid="8878679071975375696">"Ativado"</string>
     <string name="wifi_calling_pref_managed_by_carrier" msgid="129524064888622179">"Configuração gerenciada pela operadora"</string>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"Ativar chamada no Wi-Fi"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"Ativar chamada no Wi-Fi"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"Chamadas no Wi-Fi não são compatíveis com a %1$s"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"Desconectado de <xliff:g id="SSID">%1$s</xliff:g>"</string>
     <string name="carrier" msgid="1755020806290963951">"Operadora"</string>
     <string name="display_settings_title" msgid="626835071804834218">"Tela"</string>
     <string name="sound_settings" msgid="5514582720435174014">"Som"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"Volumes"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"Efeitos sonoros"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"Volume do toque"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"Volume de toque e notificação"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"Vibrar no modo silencioso"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"Som de notificação padrão"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"Toque"</string>
@@ -1272,13 +1229,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"Programar"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"Nenhum"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"Ativ. do anoitecer ao amanhecer"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"Ativado nos horários definidos"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"Status"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"Desativado / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"Nunca será ativado automaticamente"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"Será ativada automaticamente ao anoitecer"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"Será ativado automaticamente: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"Ativado / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"Nunca será desativado automaticamente"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"Será desativado automaticamente ao amanhecer"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"Será desativado automaticamente: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"Ativar até <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"Desativar até <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"O tema escuro usa um plano de fundo preto para aumentar a duração da bateria em algumas telas. Ele é ativado apenas depois que a tela é desligada."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"Tempo limite da tela"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"A tela é desativada"</string>
@@ -1290,7 +1252,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"Alterar plano de fundo"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"Personalizar sua tela"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"Selecionar de..."</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"Personalize seu Pixel"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"Personalizar seu smartphone"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"Use diferentes estilos, planos de fundo e muito mais"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"Protetor de tela"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Ao carregar ou quando encaixado na base"</string>
@@ -1379,6 +1341,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"Desconectar cartão USB, ver armazenamento disponível"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"Desmontar o cartão SD, visualizar armazenamento disponível"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (slot para SIM %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"Selecione uma rede salva para vê-la"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"Número de telefone"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (slot para SIM %1$d)"</string>
@@ -1405,6 +1368,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"Roaming"</string>
     <string name="status_operator" msgid="4335640583552058491">"Rede"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"Endereço MAC da rede Wi-Fi"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"Endereço MAC do Wi-Fi do dispositivo"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"Endereço Bluetooth"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Número de série"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Tempo em atividade"</string>
@@ -1617,6 +1581,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Redefinição das configurações padrão do APN concluída."</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"Redefinir opções"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"A rede, os apps ou o dispositivo podem ser redefinidos"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"Os apps podem ser redefinidos"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"Redefinir Wi-Fi, rede móvel e Bluetooth"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"Esta ação redefinirá todas as configurações de rede, inclusive:\n\n"<li>"Wi‑Fi"</li>\n<li>"Dados móveis"</li>\n<li>"Bluetooth"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"Limpar chips salvos"</string>
@@ -1666,6 +1631,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"Ponto de acesso ativado"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"Tethering"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"Não é possível vincular ou usar pontos de acesso portáteis enquanto a Economia de dados está ativada"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"Somente ponto de acesso"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"Somente USB"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"Somente Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"Ponto de acesso, USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"Ponto de acesso, Bluetooth"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB, Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"Ponto de acesso, USB, Bluetooth"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"Não está compartilhando a Internet com outros dispositivos"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"Tethering"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Não usar ponto de acesso Wi-Fi"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Compartilhar Internet apenas por USB"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Compartilhar Internet apenas por Bluetooth"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Compartilhar Internet apenas por USB e Bluetooth"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"Tethering USB"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"Compartilhar conexão com a Internet do smartphone via USB"</string>
@@ -1756,9 +1734,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"Informações de segurança"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"Você não tem uma conexão de dados. Para ver essas informações agora, acesse %s em qualquer computador conectado à Internet."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"Carregando..."</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"Usar PIN"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"Usar padrão"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"Usar senha"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"Configurar o bloqueio de tela"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"Por segurança, defina uma senha"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"Para usar a impressão digital, defina uma senha"</string>
@@ -1767,8 +1742,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"Para usar a impressão digital, defina um PIN"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"Por segurança, defina um padrão"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"Digite sua senha novamente"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"Digite sua senha de trabalho"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"Confirme seu padrão"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"Informe seu padrão de trabalho"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"Digite seu PIN novamente"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"Digite seu PIN de trabalho"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"As senhas não correspondem"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"Os PINs não correspondem"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"Desenhe seu padrão novamente"</string>
@@ -1779,6 +1757,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"Para usar desbloq. facial, defina senha"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"Para usar desbloq. facial, defina padrão"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"Para usar o desbloq. facial, defina PIN"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"Esqueceu sua senha?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"Esqueceu seu padrão?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"Esqueceu seu PIN?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"Use o padrão do dispositivo para continuar"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"Digite o PIN do dispositivo para continuar"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"Digite a senha do dispositivo para continuar"</string>
@@ -1846,6 +1827,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"Permitir todas as origens"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"Apps abertos recentemente"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"Ver todos os <xliff:g id="COUNT">%1$d</xliff:g> apps"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"Entre em contato com o admin. de TI"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"Ele pode ajudar você a redefinir seu PIN, seu padrão ou sua senha"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"Seu tablet e seus dados pessoais estão mais vulneráveis a ataques de apps desconhecidos. Ao instalar apps dessa fonte, você concorda que é responsável por qualquer dano causado ao seu tablet ou pela perda de dados que possa resultar do uso desses apps."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"Seu smartphone e seus dados pessoais estão mais vulneráveis a ataques de apps desconhecidos. Ao instalar apps dessa fonte, você concorda que é responsável por qualquer dano causado ao seu smartphone ou pela perda de dados que possa resultar do uso desses apps."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"Seus dados pessoais e do seu dispositivo são mais vulneráveis a ataques de apps desconhecidos. Ao instalar apps dessa fonte, você concorda que é responsável por qualquer dano causado ao seu dispositivo ou pela perda de dados que possa resultar do uso desses apps."</string>
@@ -1897,7 +1880,7 @@
     <string name="default_emergency_app" msgid="1929974800666613803">"App de emergência"</string>
     <string name="reset_app_preferences" msgid="8861758340732716573">"Redefinir apps"</string>
     <string name="reset_app_preferences_title" msgid="8935136792316050759">"Redefinir apps?"</string>
-    <string name="reset_app_preferences_desc" msgid="1377296810290814749">"Isso redefinirá todas as preferências para:\n\n"<li>"Apps desabilitados"</li>\n<li>"Notificações de apps desabilitados"</li>\n<li>"Apps padrão para ações"</li>\n<li>"Restrições de dados em segundo plano para apps"</li>\n<li>"Qualquer restrição de permissão"</li>\n\n"Você não perderá os dados dos apps."</string>
+    <string name="reset_app_preferences_desc" msgid="6509978724602405805">"Isso redefinirá todas as preferências para:\n\n"<li>" apps desativados;"</li>" \n "<li>"notificações de apps desativados; "</li>\n<li>"apps padrão para ações;"</li>\n<li>"restrições de dados em segundo plano para apps; "</li>\n<li>"qualquer restrição de permissão."</li>\n\n"Você não perderá os dados dos apps."</string>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"Redefinir apps"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"Gerenciar espaço"</string>
     <string name="filter" msgid="9039576690686251462">"Filtro"</string>
@@ -2097,7 +2080,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"Áudio e texto na tela"</string>
     <string name="display_category_title" msgid="6638191682294461408">"Tela"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"Controles de interação"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"Serviços transferidos por download"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"Apps transferidos por download"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"Experimentais"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"Sinalizações de recursos"</string>
     <string name="talkback_title" msgid="8756080454514251327">"Talkback"</string>
@@ -2105,27 +2088,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"Tocar nos itens exibidos na tela para ouvir a leitura deles em voz alta"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"Preferências de legenda"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"Ampliação"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"Área de ampliação"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"Ampliação ativada"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"Escolha a área de ampliação que você quer usar ao ampliar a tela"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"Tela cheia"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"Parte da tela"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"Tela cheia e parte da tela"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"Ampliar toda a tela"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"Ampliar parte da tela"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Configurações de ampliação"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"Ampliar com toque triplo"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Ampliar com atalho"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Ampliar com atalho e toque triplo"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"Sobre <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"Opções"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"Aumentar o zoom na tela"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"Tocar três vezes para ampliar"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Toque em um botão para aplicar zoom"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><b>"Para aplicar zoom"</b>", toque três vezes na tela rapidamente.\n"<ul><li>"Arraste dois ou mais dedos para rolar"</li>\n<li>"Faça um gesto de pinça com dois ou mais dedos para ajustar o zoom"</li></ul>\n\n<b>"Para aplicar zoom temporariamente"</b>", toque rapidamente na tela três vezes e mantenha o dedo pressionado no terceiro toque.\n"<ul><li>"Arraste para mover pela tela"</li>\n<li>"Levante o dedo para diminuir o zoom"</li></ul>\n\n"Não é possível aumentar o zoom no teclado e na barra de navegação."</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"Quando a ampliação está ativada, você pode aumentar o zoom na tela.\n\n"<b>"Para aplicar zoom"</b>", inicie a ampliação e toque em qualquer lugar da tela.\n"<ul><li>"• Arraste com dois ou mais dedos para rolar a tela."</li>\n<li>"• Faça um movimento de pinça com dois ou mais dedos para ajustar o zoom."</li></ul>\n\n<b>"Se quiser aplicar zoom temporariamente"</b>", inicie a ampliação, toque e mantenha pressionada qualquer parte da tela.\n"<ul><li>"• Arraste para mover a visualização."</li>\n<li>"• Levante o dedo para diminuir o zoom."</li></ul>\n\n"Não é possível aumentar o zoom no teclado nem na barra de navegação."</string>
+    <string name="accessibility_screen_magnification_summary" msgid="7617931632990040045">"Aumente o zoom rapidamente na tela para ver o conteúdo com mais clareza.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Para aumentar o zoom:&lt;/b&gt;&lt;br/&gt;	1. Use o atalho para iniciar a ampliação&lt;br/&gt;	2. Toque na tela&lt;br/&gt;	3. Arraste dois dedos para navegar pela tela&lt;br/&gt;	4. Faça um gesto de pinça com dois dedos para ajustar o zoom&lt;br/&gt;	5. Use o atalho para interromper a ampliação.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Para aumentar o zoom temporariamente:&lt;/b&gt;&lt;br/&gt;	1. Use o atalho para iniciar a ampliação&lt;br/&gt;	2. Toque em qualquer lugar da tela e mantenha-o pressionado&lt;br/&gt;	3. Arraste o dedo para se mover pela tela&lt;br/&gt;	4. Solte para parar a ampliação."</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Quando a ampliação está ativada, você pode aumentar o zoom na tela.\n\n"<b>"Para aplicar zoom"</b>", inicie a ampliação e toque em qualquer lugar da tela.\n"<ul><li>"Arraste dois dedos ou mais para rolar a tela."</li>\n<li>"Faça um gesto de pinça com dois ou mais dedos para ajustar o zoom."</li></ul>\n\n<b>"Para aplicar zoom temporariamente"</b>", inicie a ampliação e depois toque em qualquer ponto na tela e mantenha-o pressionado.\n"<ul><li>"Arraste para mover a tela."</li>\n<li>"Levante o dedo para diminuir o zoom."</li></ul>\n\n"Não é possível aumentar o zoom no teclado e na barra de navegação."</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Usar o botão de acessibilidade para abrir"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Usar gesto para abrir"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"Usar o novo gesto de acessibilidade"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"Para ativar ou desativar esse serviço, toque no botão de acessibilidade <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> na parte inferior da tela.\n\nPara alternar entre serviços, toque no botão de acessibilidade e mantenha-o pressionado."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"Para ativar ou desativar esse serviço, deslize de baixo para cima na tela com dois dedos.\n\nPara alternar entre serviços, deslize de baixo para cima na tela com dois dedos sem soltar."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"Para ativar ou desativar esse serviço, deslize de baixo para cima na tela com três dedos.\n\nPara alternar entre serviços, deslize de baixo para cima na tela com três dedos sem soltar."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"Para ativar ou desativar um serviço de acessibilidade, deslize de baixo para cima na tela com dois dedos.\n\nPara alternar entre serviços, deslize de baixo para cima na tela com dois dedos sem soltar."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"Para ativar ou desativar um serviço de acessibilidade, deslize de baixo para cima na tela com três dedos.\n\nPara alternar entre serviços, deslize de baixo para cima na tela com três dedos sem soltar."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"Para ativar ou desativar esse serviço, toque no botão de acessibilidade <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> na parte inferior da tela.\n\nPara alternar entre serviços, toque no botão de acessibilidade e mantenha-o pressionado."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"Para ativar ou desativar esse serviço, deslize de baixo para cima na tela com dois dedos.\n\nPara alternar entre serviços, deslize de baixo para cima na tela com dois dedos sem soltar."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"Para ativar ou desativar esse serviço, deslize de baixo para cima na tela com três dedos.\n\nPara alternar entre serviços, deslize de baixo para cima na tela com três dedos sem soltar."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"Para ativar ou desativar um serviço de acessibilidade, deslize de baixo para cima na tela com dois dedos.\n\nPara alternar entre serviços, deslize de baixo para cima na tela com dois dedos sem soltar."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"Para ativar ou desativar um serviço de acessibilidade, deslize de baixo para cima na tela com três dedos.\n\nPara alternar entre serviços, deslize de baixo para cima na tela com três dedos sem soltar."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"Ok"</string>
+    <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Atalho para <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_edit_summary_software" msgid="2820923641553461297">"Botão de acessibilidade"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture" msgid="8078659880723370597">"Deslizar para cima com dois dedos"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture_talkback" msgid="7422753388389160524">"Deslizar para cima com três dedos"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software" msgid="4796192466943479849">"Toque no botão de acessibilidade"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8922102767509399352">"Tocar no botão de acessibilidade <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> na parte inferior da tela"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"Deslizar de baixo para cima na tela com dois dedos"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"Deslizar de baixo para cima na tela com três dedos"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Manter as teclas de volume pressionadas"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"Pressionar as teclas de volume e mantê-las pressionadas por um segundo"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Tocar na tela três vezes"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"Tocar rapidamente na tela três vezes. Esse atalho pode deixar o dispositivo mais lento."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"Avançado"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"O botão Acessibilidade está definido para <xliff:g id="SERVICE">%1$s</xliff:g>. Para usar a ampliação, toque nesse botão, mantenha-o pressionado e selecione a ampliação."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"O gesto de acessibilidade está definido para <xliff:g id="SERVICE">%1$s</xliff:g>. Para usar a ampliação, deslize de baixo para cima com dois dedos e mantenha a tela pressionada. Em seguida, selecione \"Ampliação\"."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"Atalho do volume"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"Serviço de atalho"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Configurações de atalho"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"Permitir na tela de bloqueio"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"Quando o atalho estiver ativado, pressione ambos os botões de volume por três segundos para iniciar um recurso de acessibilidade."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"Texto em alto contraste"</string>
@@ -2149,24 +2157,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"Escolha por quanto tempo serão mostradas mensagens que exigem uma ação sua, mas que ficam visíveis apenas temporariamente.\n\nNem todos os apps são compatíveis com essa configuração."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"Atraso ao tocar e pressionar"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"Inversão de cores"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"Pode afetar o desempenho"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"Tempo de permanência"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"Usar inversão de cores"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"A inversão de cores escurece telas claras. Isso ajuda pessoas sensíveis à luz forte a ver a tela com mais facilidade.&lt;br/&gt;&lt;br/&gt;Observação: cores escuras ficarão claras. As cores mudarão em mídias e imagens. Você também pode usar o tema escuro (Configurações &gt; Tela)."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"Clique automático (tempo de permanência)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"Se você estiver usando um mouse, poderá configurar o cursor para executar uma ação automaticamente quando ele parar de se mover por determinado período."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"Atraso antes do clique"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"Não usar clique automático (padrão)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"Curto"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0,2 segundos"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"Médio"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0,6 segundos"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"Longo"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 segundo"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"Personalizado"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"Mais curto"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"Mais longo"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"Tempo do clique automático"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"Intensidade da vibração e do retorno tátil"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Vibração de notificação"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Vibração do toque"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Feedback por toque"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"Usar serviço"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"Usar <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"Abrir <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"Usar correção de cor"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"Usar legendas"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"Mostrar legendas"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"Aparência da legenda"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"Tamanho do texto, estilo da legenda"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"Mais opções"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"Nem todos os apps são compatíveis com essa configuração."</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"Botão de acessibilidade"</string>
+    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"Deslizar de baixo para cima com dois dedos"</string>
+    <string name="accessibility_shortcut_type_hardware" msgid="4834144210432451916">"Manter as teclas de volume pressionadas"</string>
+    <string name="accessibility_shortcut_type_triple_tap" msgid="7717524216825494543">"Tocar na tela três vezes"</string>
     <string name="accessibility_hearingaid_instruction_continue_button" msgid="3367260988024430722">"Continuar"</string>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"Aparelhos auditivos"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"Nenhum aparelho auditivo conectado"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"Adicionar aparelhos auditivos"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"Para parear aparelhos auditivos, localize seu dispositivo na próxima tela e toque nele."</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"Verifique se seus aparelhos auditivos estão no modo de pareamento."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"Para parear aparelhos auditivos, localize seu dispositivo na próxima tela e toque nele. Verifique se seus aparelhos auditivos estão no modo de pareamento."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ativo"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> aparelho auditivo salvo</item>
@@ -2178,25 +2204,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Este serviço está com problemas."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Mostrar em \"Configurações rápidas\""</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"Modo de correção"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="one">Atraso extremamente curto (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Atraso extremamente curto (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Vermelho-verde"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"Verde-vermelho"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Azul-amarelo"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"Deuteranomalia"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"Protanomalia"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"Tritanomalia"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="one">Atraso extremamente curto (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> segundo)</item>
+      <item quantity="other">Atraso extremamente curto (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> segundos)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="one">Atraso muito curto (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Atraso muito curto (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="one">Atraso muito curto (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> segundo)</item>
+      <item quantity="other">Atraso muito curto (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> segundos)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="one">Atraso curto (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Atraso curto (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="one">Atraso curto (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> segundo)</item>
+      <item quantity="other">Atraso curto (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> segundos)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="one">Atraso longo (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Atraso longo (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="one">Atraso longo (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> segundo)</item>
+      <item quantity="other">Atraso longo (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> segundos)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="one">Atraso muito longo (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Atraso muito longo (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="one">Atraso muito longo (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> segundo)</item>
+      <item quantity="other">Atraso muito longo (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> segundos)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> segundo</item>
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> segundos</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"Toque sonoro: <xliff:g id="SUMMARY_RING">%1$s</xliff:g>, Notificação: <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>, Toque tátil: <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"Toque e notificação desativados"</string>
@@ -2513,7 +2549,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"Quando foi desconectado pela última vez para <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"Total de uso"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"Atualizar"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"Sistema operacional Android"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"Servidor de mídia"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"Otimização do app"</string>
     <string name="battery_saver" msgid="7737147344510595864">"Economia de bateria"</string>
@@ -2594,8 +2629,7 @@
     <string name="tts_play" msgid="2945513377250757221">"Reproduzir"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"Armazenamento de credenciais"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"Instalar do armazenamento"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"Instalar do cartão SD"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"Instalar um certificado"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"Instalar certificados do armazenamento"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"Instalar certificados do cartão SD"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"Limpar credenciais"</string>
@@ -2615,6 +2649,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"Armazenamento de credenciais apagado."</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"Armaz. de creden. não apagado."</string>
     <string name="usage_access_title" msgid="1580006124578134850">"Apps com acesso ao uso"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"Certificado de CA"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"Cert. do usuário do app e VPN"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"Certificado de Wi-Fi"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"Sua privacidade está em risco"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"Os certificados de CA são usados por sites, apps e VPNs para criptografia. Instale apenas os certificados de CA de organizações em que você confia. \n\n Se você instalar um certificado de CA, o proprietário do certificado poderá acessar suas informações, como senhas, mensagens ou detalhes do cartão de crédito, nos sites visitados ou apps usados, mesmo que esses dados estejam criptografados."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"Não instalar"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"Instalar mesmo assim"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"Certificado não instalado"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"Sinal de discagem de emergência"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Definir comportamento durante uma chamada de emergência"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Backup"</string>
@@ -2642,10 +2684,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"Desativar e desinstalar"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"Apps do administrador do dispositivo"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"Nenhum app de administrador do dispositivo disponível"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"Pessoal"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"Trabalho"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"Restringir acesso a SMS e registro de chamadas"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"Apenas apps padrão de chamadas e mensagens têm permissões para SMS e registro de chamadas"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"Nenhum agente de confiança disponível"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"Ativar app de admin. do dispositivo?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"Ativar o app de administrador deste dispositivo"</string>
@@ -2659,6 +2697,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"Outras opções estão desativadas pelo seu administrador"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"Mais detalhes"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"Registro de notificação"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"Histórico de notificações"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"Hoje"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"Adiadas"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"Dispensadas recentemente"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="one"><xliff:g id="NUMBER_1">%d</xliff:g> notificação</item>
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> notificações</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"Toque e vibração de chamadas"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"Detalhes da rede"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"Sincronização ativada"</string>
@@ -3008,7 +3054,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"Restrições"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"Remover restrições"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"Alterar PIN"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"Mostrar notificações"</string>
     <string name="help_label" msgid="2896538416436125883">"Ajuda e feedback"</string>
     <string name="support_summary" msgid="1034146931237148885">"Ajuda, início, telefone e bate-papo"</string>
     <string name="user_account_title" msgid="6389636876210834864">"Conta para conteúdo"</string>
@@ -3033,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"Chamada 4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Usar serviços de LTE para melhorar a comunicação por voz e de outros tipos (recomendado)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Usar os serviços 4G para melhorar comunicações por voz e de outros tipos (recomendado)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Descoberta de contatos"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Permite que sua operadora descubra quais recursos de chamada são compatíveis com seus contatos."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Ativar descoberta de contatos?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Ativar esse recurso permitirá que sua operadora acesse números de telefone nos seus contatos para descobrir quais recursos de chamada são compatíveis."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Tipo de rede preferencial"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (recomendado)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"Mensagens MMS"</string>
@@ -3077,7 +3126,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"Ligar com"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"Selecionar um chip"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"Chip <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"Chip vazio"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"Nome do chip"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"Inserir nome do chip"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"Slot para chip %1$d"</string>
@@ -3087,6 +3135,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"Selecionar chip"</string>
     <string name="color_orange" msgid="216547825489739010">"Laranja"</string>
     <string name="color_purple" msgid="6603701972079904843">"Roxo"</string>
+    <string name="color_pink" msgid="8596872110888626708">"Rosa"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"Nenhum chip inserido"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"Status do chip"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"Status do chip (slot para SIM %1$d)"</string>
@@ -3100,7 +3149,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"Alteração em chips."</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Toque para configurar"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"Chip preferido para"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Perguntar sempre"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Seleção necessária"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"Seleção de chip"</string>
@@ -3118,6 +3166,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"Bluetooth, Modo carro"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"Bluetooth, NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"Bluetooth"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"Indisponível porque a NFC está desativada"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"Apps e notificações"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Apps recentes, apps padrão"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"O acesso às notificações não está disponível para apps no perfil de trabalho."</string>
@@ -3128,13 +3177,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"Configurações"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"wifi, Wi-Fi, conexão de rede, Internet, sem fio, dados, wi fi"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"Notificação de Wi‑Fi, notificação de wifi"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"uso de dados"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"Parar vibração, toque, teclado"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"Usar formato de 24 horas"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"Download"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"Abrir com"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"Apps"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"fuso horário"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"Cabeçalho do chat"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"Ícone do chat, sistema, alerta, janela, diálogo, tela, sobre outros apps, sobrepor"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"Lanterna, Luz, Luminária"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"wifi, wi-fi, alternar, controle"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"celular, dispositivo móvel, operadora de celular, sem fio, dados, 4g, 3g, 2g, lte"</string>
@@ -3158,7 +3208,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"não perturbe, interromper, interrupção"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"por perto, local, histórico, relatório, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"conta"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"conta, adicionar uma conta, perfil de trabalho, adicionar conta"</string>
     <string name="keywords_users" msgid="3497517660077620843">"restrição, restringir, restrito"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"correção de texto, corrigir, som, vibrar, automático, idioma, gesto, sugerir, sugestão, tema, ofensivo, palavra, digitar, emoji, internacional"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"redefinir, preferências, padrão"</string>
@@ -3196,6 +3246,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"memória, cache, dados, excluir, limpar, liberar, espaço"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"conectado, dispositivo, fones de ouvido, headset, alto-falante, sem fio, parear, música, mídia"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"plano de fundo, tela, tela de bloqueio, tema"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"formato do ícone, cor de destaque, fonte"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"padrão, assistente"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"pagamento, padrão"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"notificação recebida"</string>
@@ -3205,18 +3256,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"funcionalidade tátil, vibração, sensibilidade"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"economia de bateria, fixo, persistir, economia de energia, bateria"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"rotina, agenda, economia de bateria, economia de energia, bateria, automático, percentagem"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"perfil de trabalho"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"volte, chamada avançada, chamadas por 4g"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"adicionar idioma, adicionar um idioma"</string>
     <string name="default_sound" msgid="6604374495015245195">"Som padrão"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"Volume do toque em <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"Volume de toque e notificação em <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Volume, vibração, Não perturbe"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"Campainha configurada para vibrar"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"Campainha silenciada"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"Volume do toque em 80%"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"Volume de toque e notificação em 80%"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Volume de mídia"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Volume da transmissão"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"Volume das chamadas"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"Volume do alarme"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"Volume do toque"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"Volume de toque e notificação"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"Volume das notificações"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"Toque do telefone"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"Som de notificação padrão"</string>
@@ -3224,6 +3276,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"Som de notificação padrão"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"Som de alarme padrão"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"Vibrar para chamadas"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"Nunca vibrar"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"Sempre vibrar"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"Vibrar primeiro e usar o toque gradual"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"Outros sons"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"Tons de discagem"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"Sons de bloqueio de tela"</string>
@@ -3247,6 +3302,7 @@
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> ativadas</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Não perturbe"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Receber notificações apenas de pessoas e apps importantes"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Limitar interrupções"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Ativar o \"Não perturbe\""</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"Exceções"</string>
@@ -3273,7 +3329,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Bloquear perturbações visuais"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Permitir sinais visuais"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"Quando o Não perturbe estiver ativado"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"Permitir interrupções que emitem sons"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"Restringir notificações"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Desativar som de notificações"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"Você verá as notificações na sua tela"</string>
@@ -3304,7 +3360,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"Som e vibração"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"Som, vibração e alguns sinais visuais de notificações"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"Som, vibração e sinais visuais de notificações"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"As notificações necessárias para atividades básicas do smartphone e o status nunca serão ocultados"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"As notificações necessárias para status e atividades básicas do smartphone nunca ficarão ocultas."</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"Nenhum"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"outras opções"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"Adicionar"</string>
@@ -3334,10 +3390,12 @@
       <item quantity="one"><xliff:g id="ON_COUNT">%d</xliff:g> programação pode ser ativada automaticamente</item>
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> programações podem ser ativadas automaticamente</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"Desativar sons do dispositivo, mas permitir exceções"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"Exceções"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"Programação"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"Ver todas as exceções"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"Exceções quando o \"Não perturbe\" está ativado"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"Pessoas"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"Apps"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"Alarmes e outras interrupções"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"Programações"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"Notificações silenciadas"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"Quando o Não perturbe estiver ativado, sons e vibrações serão desativados, com exceção dos itens permitidos por você acima."</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"Desativar todos os sons, exceto"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"Som desativado"</string>
@@ -3381,16 +3439,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"Notificações adaptáveis"</string>
     <string name="asst_capability_prioritizer_title" msgid="1181272430009156556">"Prioridade de notificação adaptável"</string>
     <string name="asst_capability_prioritizer_summary" msgid="954988212366568737">"Definir automaticamente as notificações de prioridade baixa como \"Discretas\""</string>
+    <string name="asst_capability_ranking_title" msgid="312998580233257581">"Classificação adaptativa de notificações"</string>
+    <string name="asst_capability_ranking_summary" msgid="2293524677144599450">"Classificar notificações automaticamente por relevância"</string>
     <string name="asst_capabilities_actions_replies_title" msgid="4392470465646394289">"Respostas e ações sugeridas"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"Mostrar automaticamente as respostas e ações sugeridas"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"Ative o histórico de notificações para controlar notificações antigas e adiadas"</string>
+    <string name="notification_history" msgid="8663811361243456201">"Histórico de notificações"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"Ativar histórico"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"Desativar histórico"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"O histórico de notificações está desativado"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"ver configurações de notificação"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Permitir soneca para notificações"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"Ocultar ícones das notificações discretas"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"Os ícones de notificações discretas não são exibidos na barra de status"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"Permitir pontos de notificação"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"Mostrar faixa de conversas recentes"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Balões"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"Algumas notificações podem ser exibidas como balões na tela"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"Notificações e outros conteúdos podem aparecer como balões na tela. Para abrir um balão, toque nele. Para dispensá-lo, arraste-o para baixo."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Balões"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"Novas mensagens serão exibidas na tela"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"Permitir que <xliff:g id="APP_NAME">%1$s</xliff:g> mostre algumas notificações na forma de balões"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"Ativar balões"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"Se quiser ativar os balões para este app, é necessário ativá-los primeiramente no seu dispositivo. Isso afeta outros apps em que os balões foram ativado anteriormente."</string>
@@ -3408,6 +3476,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"Exibir na aba suspensa e na tela de bloqueio"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"Exibir na aba suspensa e na barra de status"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"Exibir na aba suspensa, barra de status e tela de bloqueio"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"Ocultar notificações silenciosas na barra de status"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"Piscar a luz"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"Tela de bloqueio"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"Pular tela de bloqueio"</string>
@@ -3438,6 +3507,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"Comportamento"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"Permitir som"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"Nunca mostrar notificações"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"Conversas"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"Conversa"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"Não é uma conversa"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"Remover da seção de conversa"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"Esta é uma conversa"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"Adicionar à seção de conversas"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"Gerenciar conversas"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"Conversas importantes"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"Todas as conversas"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"Mostrar conversas importantes em balões"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"Conversas importantes são mostradas na parte superior da aba suspensa. Você também pode configurá-las para que sejam mostradas em balões e interrompam o modo \"Não perturbe\"."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"Mostrar de forma silenciosa e minimizada"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"Mostrar de forma silenciosa"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"Emitir som"</string>
@@ -3456,7 +3536,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"Ajuda você a manter o foco sem som ou vibração"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"Chama sua atenção com som ou vibração"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"Quando o dispositivo estiver desbloqueado, mostrar notificações em um banner no topo da tela"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"Mostrar notificações"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"Todas as notificações do app <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"Notificações adaptáveis"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="one">Cerca de <xliff:g id="NUMBER_1">%d</xliff:g> notificação por dia</item>
@@ -3477,6 +3557,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"Notificações adaptáveis"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"Nenhum"</string>
     <string name="no_notification_listeners" msgid="2839354157349636000">"Nenhum app instalado solicitou o acesso a notificações."</string>
+    <string name="notification_access_detail_switch" msgid="46386786409608330">"Permitir acesso às notificações"</string>
     <string name="notification_assistant_security_warning_title" msgid="2972346436050925276">"Permitir que <xliff:g id="SERVICE">%1$s</xliff:g> acesse as notificações?"</string>
     <string name="notification_assistant_security_warning_summary" msgid="3119843404577399036">"O <xliff:g id="NOTIFICATION_ASSISTANT_NAME">%1$s</xliff:g> poderá ler todas as notificações, incluindo informações pessoais, como nomes de contato e o texto das mensagens que você recebe. O app também poderá modificar e dispensar notificações ou acionar botões de ação que elas contenham. \n\nIsso também autoriza o app a ativar ou desativar o modo \"Não perturbe\" e alterar as configurações relacionadas."</string>
     <string name="notification_listener_security_warning_title" msgid="5791700876622858363">"Permitir que <xliff:g id="SERVICE">%1$s</xliff:g> acesse as notificações?"</string>
@@ -3538,8 +3619,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"Concluído"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"Importância"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"Piscar a luz"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"Vibrar"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"Vibração"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"Som"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"Importante"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"Adicionar à tela inicial"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"Excluir"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"Renomear"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"Nome da programação"</string>
@@ -3593,6 +3676,10 @@
       <item quantity="one">mais <xliff:g id="NUM_PEOPLE">%d</xliff:g></item>
       <item quantity="other">mais <xliff:g id="NUM_PEOPLE">%d</xliff:g></item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Conversas"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"De todas as conversas"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"De conversas importantes"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"Não permitir conversas"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"Permitir mensagens"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"Para garantir que as mensagens permitidas emitam sons, verifique se o dispositivo está configurado para tocar, vibrar ou no silencioso."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"Durante \"<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>\", as mensagens recebidas são bloqueadas. Você pode ajustar as configurações para permitir que seus amigos, familiares ou outros contatos falem com você."</string>
@@ -3606,15 +3693,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"Nenhum"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"Não permitir chamadas"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"Não permitir mensagens"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"Permitir alarmes"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"Alarmes"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"De timers, alarmes, sistemas de segurança e outros apps"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"alarmes"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"Reproduzir sons de mídia"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"Sons de mídia"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"De vídeos, jogos e outras mídias"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"mídia"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"Permitir sons de toque"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"Sons de toque"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"Do seu teclado e outros botões"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"sons de toque"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"Permitir lembretes"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"Lembretes"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"De tarefas e lembretes"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"lembretes"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"Permitir eventos"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"Eventos"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"De eventos futuros da agenda"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Permitir que apps modifiquem o \"Não perturbe\""</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"Exceções de apps"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3657,6 +3749,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"Permitir que as notificações silenciadas pelo modo \"Não perturbe\" ativem a tela"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"Configurações de notificação"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"Ok"</string>
+    <string name="suggestion_button_close" msgid="6865170855573283759">"Fechar"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Enviar feedback sobre o dispositivo"</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"Inserir PIN do administrador"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"Ativada"</string>
@@ -3667,6 +3760,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Pedir PIN antes de desafixar"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Pedir senha antes de desafixar"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Bloquear dispositivo ao desafixar"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Confirmar exclusão do chip"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"Confirme sua identidade antes de apagar um chip transferido por download"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"O perfil de trabalho é gerenciado por:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"Gerenciado por <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(Experimental)"</string>
@@ -3741,8 +3836,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"Todos os apps"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Apps instalados"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Apps instantâneos"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"Pessoais"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"Trabalho"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"Apps: todas"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"Desativado"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"Categorias: importância urgente"</string>
@@ -3754,6 +3847,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"App desconhecido"</string>
     <string name="app_permissions" msgid="8666537659217653626">"Gerenciar permissões"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"Apps usando <xliff:g id="APPS">%1$s</xliff:g>"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"Apps usando <xliff:g id="APPS">%1$s</xliff:g> e mais"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"Tocar para ativar"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"Toque duas vezes em qualquer parte da tela para ativar o dispositivo"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"Abrir links"</string>
@@ -3765,9 +3859,14 @@
       <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> app que abre links compatíveis</item>
       <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> apps que abrem links compatíveis</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"Abrir neste app"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"Permitir que o app abra links compatíveis"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"Perguntar sempre"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"Não abrir neste app"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"Não permitir que o app abra links"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="one">O app processará <xliff:g id="COUNT_1">%d</xliff:g> link</item>
+      <item quantity="other">O app processará <xliff:g id="COUNT_1">%d</xliff:g> links</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"O app processará estes links:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"Padrão"</string>
     <string name="default_for_work" msgid="537558180548617528">"Padrão para trabalho"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"Assistivo e voz"</string>
@@ -3911,8 +4010,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"Sobrepor a outros apps"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Permitir sobreposição a outros apps"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"Permite que esse app seja exibido em sobreposição a outros apps que você esteja usando. Pode haver interferência no uso e alteração nas atividades desses apps."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"Acesso a todos os arquivos"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"Acesso para gerenciar todos os arquivos"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Permitir que o app leia, modifique e exclua todos os arquivos deste dispositivo ou de qualquer volume de armazenamento conectado. Se a permissão for concedida, o app poderá acessar arquivos sem nenhum aviso prévio."</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"Pode acessar todos os arquivos"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"rv realidade virtual ouvinte estéreo serviço de ajuda"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"alerta do sistema janela caixa de diálogo sobreposição apps"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"Sobrepor a outros apps"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"<xliff:g id="COUNT_0">%1$d</xliff:g> de <xliff:g id="COUNT_1">%2$d</xliff:g> apps têm permissão para serem sobrepostos a outros apps"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"Apps com permissão"</string>
@@ -4078,6 +4180,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"<xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g> usados"</string>
     <string name="data_overusage" msgid="3680477320458707259">"<xliff:g id="ID_1">^1</xliff:g> acima do limite"</string>
     <string name="data_remaining" msgid="6316251496381922837">"<xliff:g id="ID_1">^1</xliff:g> restante(s)"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"Gráfico que mostra o uso de dados entre <xliff:g id="START_DATE">%1$s</xliff:g> e <xliff:g id="END_DATE">%2$s</xliff:g>."</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"Nenhum dado neste período"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="one">%d dia restante</item>
       <item quantity="other">%d dias restantes</item>
@@ -4141,14 +4245,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"tamanho do lote"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"alerta por notificação"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"som"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"vibração"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"padrão"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"padrão"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"canal"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"nenhum"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"O objeto de classificação está ausente."</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"O objeto de classificação não contém essa chave."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"Aplicação de temas"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"Padrão do dispositivo"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"Corte da tela"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"corte de tela, entalhe"</string>
@@ -4237,8 +4337,12 @@
     <string name="information_label" msgid="6939310810756569298">"Informações"</string>
     <string name="low_label" msgid="6525629096999711220">"Baixa"</string>
     <string name="high_label" msgid="357503396626018487">"Alta"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"Uma sensibilidade maior pode causar conflitos com gestos de apps ao longo das bordas da tela."</string>
+    <string name="left_edge" msgid="1513576842959071849">"Borda esquerda"</string>
+    <string name="right_edge" msgid="1505309103265829121">"Borda direita"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"Uma sensibilidade maior pode causar conflitos com gestos de apps ao longo das bordas da tela."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"Sensibilidade da parte de trás"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"Configurações de gestos"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"navegação por gestos, sensibilidade na parte de trás, gestos de retorno"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"Tocar duas vezes na tela para verificar o smartphone"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"Tocar duas vezes na tela para verificar o tablet"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"Tocar duas vezes na tela para verificar o dispositivo"</string>
@@ -4393,7 +4497,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"Acionar aprovisionamento da operadora"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"Atualizar o modo Não perturbe"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"Pausar notificações para manter o foco"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"Este recurso não está disponível neste dispositivo"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"Recurso não disponível"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"Esse recurso foi desativado porque causa lentidão no seu smartphone"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"Forçar medições completas de GNSS"</string>
@@ -4403,20 +4506,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"Selecionar app ativado para ANGLE"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"Nenhum conjunto de aplicativos ativados para ANGLE"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"Aplicativo ativado para ANGLE: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"Preferências do driver de jogo"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"Modificar configurações do driver de jogo"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"Quando o driver de jogo estiver ativado, você poderá usar o driver gráfico atualizado dos apps instalados no dispositivo."</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"Ativar para todos os apps"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"Selecionar driver gráfico"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"Padrão"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"Driver de jogo"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"Driver de pré-lançamento"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"Driver gráfico do sistema"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"Preferências do driver gráfico"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"Modificar configurações do driver gráfico"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"Quando houver vários drivers gráficos, você poderá usar o driver gráfico atualizado dos apps instalados no dispositivo."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"Ativar para todos os apps"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"Selecionar driver gráfico"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"Padrão"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"Driver de jogo"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"Developer Driver"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Driver gráfico do sistema"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Mudanças na compatibilidade do app"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Alternar mudanças de compatibilidade do app"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Mudanças ativadas padrão"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Mudanças desativadas padrão"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"A configuração não está disponível neste smartphone"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"A configuração não está disponível neste tablet"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"A configuração não está disponível neste dispositivo"</string>
@@ -4435,6 +4544,11 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"Dispositivo"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Indisponível durante chamadas"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"Indisponível"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"Adicionar saídas"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"Grupo"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 dispositivo selecionado"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> dispositivos selecionados"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"Alternando…"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Atender chamada"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Esse APN não pode ser alterado."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Melhorar a duração da bateria do tablet"</string>
@@ -4552,10 +4666,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Somente um chip transferido por download pode estar ativo por vez.\n\nAlternar para <xliff:g id="CARRIER1">%1$s</xliff:g> não cancelará o serviço da operadora <xliff:g id="CARRIER2">%2$s</xliff:g>."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Alternar para operadora <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Limpar chip"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Limpar este chip transferido por download?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"A limpeza deste chip remove o serviço da operadora <xliff:g id="CARRIER_0">%1$s</xliff:g> deste dispositivo.\n\nO serviço da <xliff:g id="CARRIER_1">%2$s</xliff:g> não será cancelado."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Limpar"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Limpando chip…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Não é possível limpar o chip"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Este chip não pode ser limpo devido a um erro.\n\nReinicie o dispositivo e tente novamente."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Tipo de rede preferencial"</string>
@@ -4580,7 +4690,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Modo de rede <xliff:g id="NETWORKMODEID">%1$d</xliff:g> inválido. Ignorar."</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Nomes dos pontos de acesso"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Indisponível quando conectado à <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"Informações médicas, contatos de emergência"</string>
     <string name="see_more" msgid="7499355691042812723">"Ver mais"</string>
     <string name="see_less" msgid="2642392725363552793">"Ver menos"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"Dispositivo para usar com <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
@@ -4589,11 +4698,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"Algo deu errado. O aplicativo cancelou a solicitação para selecionar um dispositivo."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"Conexão realizada"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"Mostrar tudo"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> dispositivo conectado</item>
-      <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> dispositivos conectados</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"Nenhum dispositivo Bluetooth"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"Procurando dispositivo…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"Conectando ao dispositivo…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"Esquerdo"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"Direito"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Estojo"</string>
@@ -4603,6 +4709,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"Indisponível no modo avião"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"Forçar modo de área de trabalho"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Forçar o modo de área de trabalho experimental em telas secundárias"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"Ativar sizecompat em forma livre"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"Permite que apps sizecompat fiquem em forma livre"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Modificar o recurso forçar modo escuro"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"Modificar o recurso de forçar modo escuro para que fique sempre ativado"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"Privacidade"</string>
@@ -4639,6 +4747,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Você instalou este app recentemente."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Alterar saída"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Tocando atualmente no <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (desconectado)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Impossível mudar. Toque e tente de novo."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Informações importantes"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"CONTINUAR"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"NÃO"</string>
@@ -4666,8 +4776,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"Combinação de chips"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Informações sobre sua política de trabalho"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Configurações gerenciadas pelo administrador de TI"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"Gerenciador de relatórios de bugs"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Determina qual app gerencia o atalho do relatório do bug no dispositivo."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Pessoais"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"Trabalho"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"Padrão do sistema"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"Essa opção não é mais válida. Tente novamente."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"Parar transmissão"</string>
 </resources>
diff --git a/res/values-pt-rPT/arrays.xml b/res/values-pt-rPT/arrays.xml
index aec6985..e520e8b 100644
--- a/res/values-pt-rPT/arrays.xml
+++ b/res/values-pt-rPT/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"De imediato"</item>
     <item msgid="463591454172790676">"5 segundos"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"Não validar"</item>
+    <item msgid="5703177653586269306">"Solicitar estado do certificado"</item>
+    <item msgid="326388247868439528">"Exigir estado do certificado"</item>
+    <item msgid="1090956283885790552">"Exigir estados de todos os certificados não fidedignos"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"Premir botão"</item>
     <item msgid="2630618799033509548">"PIN do aparelho do elemento"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"Nenhum"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"VPN IPSec com chaves pré-partilhadas e autenticação Xauth"</item>
     <item msgid="2484564813864139237">"VPN IPSec com certificados e autenticação Xauth"</item>
     <item msgid="68918911194507915">"VPN IPSec com certificados e autenticação híbrida"</item>
+    <item msgid="4631647675167100375">"VPN IKEv2/IPSec com certificados e autenticação de nome de utilizador/palavra-passe"</item>
+    <item msgid="8812228622975052811">"VPN IKEv2/IPSec com chaves pré-partilhadas"</item>
+    <item msgid="6630554779981113046">"VPN IKEv2/IPSec com certificados"</item>
   </string-array>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"Nenhum"</item>
diff --git a/res/values-pt-rPT/config.xml b/res/values-pt-rPT/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-pt-rPT/config.xml
+++ b/res/values-pt-rPT/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index f1c4d58..67c3d35 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -31,49 +31,17 @@
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Ative primeiro as Opções de programador."</string>
     <string name="header_category_wireless_networks" msgid="303445626075235229">"Redes sem fios e outras"</string>
     <string name="header_category_system" msgid="1665516346845259058">"Sistema"</string>
-    <string name="radio_info_data_connection_enable" msgid="7500945447906187613">"Ativar ligação de dados"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"Desativar ligação de dados"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"VoLTE fornecido"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"Videochamadas fornecidas"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"Chamadas Wi-Fi fornecidas"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"EAB/presença aprovisionada"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"Dados de CBRS"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"Ativar DSDS"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"Pretende reiniciar o dispositivo?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"Tem de reiniciar o dispositivo para alterar esta definição."</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"Reiniciar"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"Cancelar"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"Potência do rádio móvel"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"Ver livro de endereços do SIM"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"Ver números de marcação fixos"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"Ver números de marcação de serviços"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"Estado do serviço IMS"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"Estado IMS"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"Registado"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"Não registado"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"Disponível"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"Indisponível"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"Registo IMS: <xliff:g id="STATUS">%1$s</xliff:g>\nVoz por LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nVoz por Wi-Fi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideochamadas: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nInterface UT: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"Em serviço"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Fora de serviço"</string>
     <string name="radioInfo_service_emergency" msgid="6838935881091760942">"Apenas chamadas de emergência"</string>
     <string name="radioInfo_service_off" msgid="6184928420860868571">"Rádio desativado"</string>
     <string name="radioInfo_roaming_in" msgid="8892550453644088692">"Roaming"</string>
     <string name="radioInfo_roaming_not" msgid="3137594549464975054">"Sem roaming"</string>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"Inactivo"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"A tocar"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"Chamada em curso"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"Desligado"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"A ligar"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"Ligado"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Suspenso"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Desconhecida"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"pcts"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"bytes"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"Desmontar armaz. USB"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"Desmontar cartão SD"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"Apagar armazenamento USB"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"Aumente ou diminua o texto no ecrã."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Diminuir"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Aumentar"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"Exemplo de texto"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"O Maravilhoso Feiticeiro de Oz"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"Capítulo 11: A Maravilhosa Cidade Esmeralda de Oz"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"Tem de reiniciar o dispositivo para alterar esta definição."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"Reiniciar"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"Cancelar"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"Dispositivos multimédia disponíveis"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"Dispositivos de chamada disponíveis"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"Ligado atualmente"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"Dispositivos multimédia"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"Dispositivos de chamada"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"Outros dispositivos"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Dispositivos guardados"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"O Bluetooth será ativado para a sincronização."</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Preferências de ligação"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"A porta introduzida não é válida."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"O proxy HTTP é utilizado pelo navegador, mas não pode ser utilizado por outras aplicações."</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"URL do PAC: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"SubID atual:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"SubID do SIM de dados predefinido:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"Largura de banda de transferência (kbps):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"Largura de banda de carregamento (kbps):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"Informações da localização da célula (descontinuadas):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"Configuração do canal físico LTE:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"Taxa de atualização das informações da célula:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"Todas as informações de medição de células:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"Serviço de dados:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"Roaming:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"Redirecionar chamada:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"Número de reposições de PPP desde o arranque:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"Rede atual:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"Dados recebidos:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"Serviço de voz:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"Intensidade do sinal:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"Estado da chamada de voz:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"Dados enviados:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"Mensagem em espera:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"Número de telefone:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"Selecionar banda de rádio"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"Tipo de rede de voz:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"Tipo de rede de dados:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"Selecionar lista telefónica"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"Definir tipo de rede preferido:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"Nome de anfitrião de ping (www.google.com) IPv4:"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"Nome de anfitrião de ping (www.google.com) IPv6:"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"Teste de Cliente HTTP:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"Executar teste de ping"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"Atualizar"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"Atualizar"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"Ativar/desativar verificação de DNS"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"Informações/definições específicas de OEM"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"Definir modo de banda de rádio"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"A carregar lista de bandas…"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"Definir"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"Sem sucesso"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"Bem sucedido"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"As alterações terão efeito ao ligar novamente o cabo USB."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"Ativar armazenamento em massa USB"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"Total de bytes:"</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"Mover para o fim"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"Remover idioma"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"Escolher atividade"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"Informações sobre o dispositivo"</string>
     <string name="display_label" msgid="3056320781191343221">"Ecrã"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"Informações do tablet"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"Informações do telefone"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"Armazenamento USB"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"Cartão SD"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"Definições de proxy"</string>
@@ -306,9 +234,6 @@
     <string name="airplane_mode" msgid="3196085857882526817">"Modo de voo"</string>
     <string name="wireless_networks_settings_title" msgid="8557542379234105369">"Redes sem fios e outras"</string>
     <string name="radio_controls_summary" msgid="9028430178697624501">"Gerir Wi-Fi, Bluetooth, modo de avião, redes móveis e VPNs"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"Dados móveis"</string>
-    <string name="calls_title" msgid="6334813967619899114">"Permitir chamadas"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"Mensagens SMS"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"Permitir utilização dados por rede móvel"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"Perm. utiliz. dados em roaming"</string>
     <string name="roaming" msgid="3055365654530847985">"Roaming"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"Ligar a serviços de dados em roaming"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"A ligação de dados foi perdida porque saiu do alcance da sua rede e o roaming de dados estava desativado."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"Ligar"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"Pode incorrer em custos significativos."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"Ao permitir o roaming de dados, podem ser cobradas tarifas de roaming significativas!\n\nEsta definição afeta todos os utilizadores deste tablet."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"Ao permitir o roaming de dados, podem ser cobradas tarifas de roaming significativas!\n\nEsta definição afeta todos os utilizadores deste telemóvel."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"Podem aplicar-se custos de roaming."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"Ao permitir o roaming de dados, podem aplicar-se custos de roaming.\n\nEsta definição afeta todos os utilizadores deste tablet."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"Ao permitir o roaming de dados, podem aplicar-se custos de roaming.\n\nEsta definição afeta todos os utilizadores deste telemóvel."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"Permitir roaming de dados?"</string>
     <string name="networks" msgid="5184501333492775095">"Selecção da operadora"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"Escolher um operador de rede"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"Desativado pelo gestor"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"Mostrar opção de bloqueio"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"Apresente a opção de botão ligar/desligar, que desativa o Smart Lock, o desbloqueio com dados biométricos e as notificações no ecrã de bloqueio"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"Agentes fidedignos só podem ampliar o desbloqueio"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"Se estiver ativado, os agentes fidedignos mantêm o seu dispositivo desbloqueado durante mais tempo, mas já não conseguem desbloquear um dispositivo bloqueado."</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"Bloq. ecrã quando se perder a confiança"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"Se estiver ativado, o dispositivo fica bloqueado quando o último agente fidedigno perder a confiança."</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"Nenhum"</string>
@@ -390,7 +313,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"Definir A minha localização, desbloqueio do ecrã, bloqueio do cartão SIM, bloqueio do armazenamento de credenciais"</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"Definir O meu local, desbloqueio do ecrã, bloqueio do armazenamento de credenciais"</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"Privacidade"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"Desativada pelo gestor"</string>
+    <string name="disabled_by_administrator_summary" msgid="5424846182313851124">"Não disponível."</string>
     <string name="security_status_title" msgid="6958004275337618656">"Estado de segurança"</string>
     <string name="security_dashboard_summary_face" msgid="4198949293847206382">"Bloqueio de ecrã, Desbloqueio Através do Rosto"</string>
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Bloqueio de ecrã, impressão digital"</string>
@@ -693,7 +616,6 @@
       <item quantity="other">Tem de ter menos de <xliff:g id="NUMBER_1">%d</xliff:g> dígitos.</item>
       <item quantity="one">Tem de ter menos de <xliff:g id="NUMBER_0">%d</xliff:g> dígito.</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"Tem de incluir apenas dígitos de 0 a 9"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"O gestor do dispositivo não permite utilizar um PIN recente"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"Os PINs comuns estão bloqueados pelo seu gestor de TI. Experimente outro PIN."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"Não pode incluir um caráter inválido"</string>
@@ -724,6 +646,10 @@
       <item quantity="other">Tem de incluir, pelo menos, <xliff:g id="COUNT">%d</xliff:g> carateres que não sejam letras</item>
       <item quantity="one">Tem de incluir, pelo menos, 1 caráter que não seja uma letra</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="other">Tem de incluir, pelo menos, <xliff:g id="COUNT">%d</xliff:g> carateres que não sejam números.</item>
+      <item quantity="one">Tem de incluir, pelo menos, 1 caráter que não seja um número.</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"O admin. do disp. não permite a utilização de uma palavra-passe recente"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"As palavras-passe comuns estão bloqueadas pelo seu gestor de TI. Experimente outra palavra-passe."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"Não é permitida uma sequência de dígitos ascendente, descendente ou repetida"</string>
@@ -837,19 +763,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2,4 GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"Iniciar sessão"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"Abrir site"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"Resta(m) <xliff:g id="REMAINING_TIME">%1$s</xliff:g>"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"Expira a <xliff:g id="EXPIRY_TIME">%1$s</xliff:g>."</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"Toque aqui para iniciar sessão na rede."</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"<xliff:g id="REQUESTER">%s</xliff:g> pretende ativar o Wi-Fi"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"<xliff:g id="REQUESTER">%s</xliff:g> pretende desativar o Wi-Fi"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"Validar bytecode/aplicações depuráveis"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Permitir que o ART valide o bytecode para aplicações depuráveis"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"Most. taxa de atualização"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Most. a taxa de atualização de apresentação atual"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"Permitir a troca de dados quando o tablet toca noutro dispositivo"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"Permitir a troca de dados quando o telefone toca outro aparelho"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"Permitir a troca de dados quando o tablet toca num dispositivo NFC"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"Permitir a troca de dados quando o telemóvel toca num dispositivo NFC"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"Ativar NFC"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"O NFC troca dados entre este dispositivo e outros dispositivos ou alvos próximos, tais como terminais de pagamento, leitores de acesso e anúncios ou etiquetas interativos."</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"NFC seguro"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Solicitar o desbloqueio do dispositivo para o NFC"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"Permita a utilização do Pagamento NFC e do Google Transit apenas quando o ecrã está desbloqueado."</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"Pronto para transmitir conteúdo da aplicação via NFC"</string>
@@ -923,8 +855,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Ativar"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Procura de Wi-Fi ativada"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Opções avançadas"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"Lista pendente Opções avançadas. Toque duas vezes para a reduzir."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"Lista pendente Opções avançadas. Toque duas vezes para a expandir."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Lista pendente: Opções avançadas"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"expandir"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"Nome da rede"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"Introduza o SSID"</string>
     <string name="wifi_security" msgid="9095934643631406913">"Segurança"</string>
@@ -934,6 +866,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"Estado"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"Velocid. da ligação transmissão"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"Velocidade da ligação de receção"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"Velocidade da ligação"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"Frequência"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"Endereço IP"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"Guardada através de"</string>
@@ -941,6 +874,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"método EAP"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"Autenticação da fase 2"</string>
     <string name="wifi_eap_ca_cert" msgid="8033404008276298886">"Certificado CA"</string>
+    <string name="wifi_eap_ocsp" msgid="8713933962516871238">"Estado do certificado online"</string>
     <string name="wifi_eap_domain" msgid="8304301470752333203">"Domínio"</string>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"Certificado do utilizador"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"Identidade"</string>
@@ -957,6 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"Selecione, pelo menos, uma banda para a zona Wi-Fi:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"Definições de IP"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"Privacidade"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"Subscrição"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"Veja ou altere a subscrição."</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"MAC aleatório"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"Adicione um dispositivo"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"Centre o código QR abaixo para adicionar o dispositivo a \"<xliff:g id="SSID">%1$s</xliff:g>\"."</string>
@@ -966,12 +902,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"Partilhar Wi‑Fi"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"Leia este código QR para se ligar a \"<xliff:g id="SSID">%1$s</xliff:g>\" e partilhar a palavra-passe"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"Leia este código QR para se ligar a \"<xliff:g id="SSID">%1$s</xliff:g>\""</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"Não foi possível ler o código QR. Volte a centrar o código e tente novamente."</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"Tente novamente. Se o problema persistir, contacte o fabricante do dispositivo."</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"Ocorreu um erro."</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"Certifique-se de que o dispositivo está ligado à corrente, carregado e ligado."</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"Certifique-se de que o dispositivo está ligado à corrente, carregado e ligado. Se o problema persistir, contacte o fabricante do dispositivo."</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"A adição de \"<xliff:g id="SSID">%1$s</xliff:g>\" não é suportada por este dispositivo."</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"Experimente aproximar o dispositivo do router/ponto de acesso Wi-Fi."</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"Verifique a palavra-passe e tente novamente."</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"Contacte o fabricante do dispositivo."</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"Verifique a ligação e tente novamente."</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"Escolha a rede"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"Para ligar o seu dispositivo, escolha uma rede"</string>
@@ -984,11 +922,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"A partilhar o Wi‑Fi com este dispositivo…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"A ligar…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"Partilhar zona Wi-Fi"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"Confirme a sua identidade"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"Valide a sua identidade"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"Palavra-passe de Wi-Fi: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"Palavra-passe da zona Wi-Fi: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"Ligação automática"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"Permitir que o telemóvel estabeleça ligação automaticamente quando estiver perto desta rede"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"Permitir que o tablet estabeleça ligação automaticamente quando estiver perto desta rede"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"Adicionar dispositivo"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"Utilize um código QR para adicionar um dispositivo a esta rede"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"O código QR não é um formato válido."</string>
     <string name="retry" msgid="7542103800274026915">"Repetir"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"Partilhar com outros utilizadores do dispositivo"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(sem alteração)"</string>
@@ -1000,6 +942,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"Nenhum certificado especificado. A sua ligação não será privada."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"O nome da rede é demasiado longo."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"É necessário especificar um domínio."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"Certificado obrigatório."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"WPS disponível"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (WPS disponível)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"Rede Wi-Fi do operador"</string>
@@ -1051,7 +994,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"Wi-Fi Avançada"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"Endereço MAC"</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_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>
@@ -1103,7 +1047,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"Utilize uma zona Wi-Fi para criar uma rede Wi-Fi para os seus outros dispositivos. A zona Wi-Fi disponibiliza Internet através da sua ligação móvel de dados. Podem aplicar-se custos de dados móveis adicionais."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"As aplicações podem criar uma zona Wi-Fi para partilhar conteúdo com dispositivos próximos."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Desativar a zona Wi-Fi automaticamente"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"A zona Wi‑Fi será desativada se não forem ligados quaisquer dispositivos."</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Quando não existem dispositivos ligados."</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"A ativar zona Wi-Fi..."</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"A desativar zona Wi-Fi..."</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> está ativa"</string>
@@ -1112,6 +1056,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"Configuração de zona Wi-Fi"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"Zona Wi-Fi AndroidAP WPA2 PSK"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"AndroidHotspot"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"Pretende guardar esta rede?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"A app <xliff:g id="APPNAME">%1$s</xliff:g> pretende guardar uma rede no seu telemóvel."</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"A app <xliff:g id="APPNAME">%1$s</xliff:g> pretende guardar uma rede no seu tablet."</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"A guardar…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"Guardado"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"Não é possível guardar. Tente novamente."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"Pretende guardar as redes?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"A app <xliff:g id="APPNAME">%1$s</xliff:g> pretende guardar estas redes no seu telemóvel."</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"A app <xliff:g id="APPNAME">%1$s</xliff:g> pretende guardar estas redes no seu tablet."</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"A guardar <xliff:g id="NUMBER">%d</xliff:g> redes…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"Redes guardadas."</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"Chamadas Wi-Fi"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"Alargar as chamadas com o Wi‑Fi"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"Ativar as Chamadas Wi‑Fi para alargar a cobertura"</string>
@@ -1138,16 +1093,18 @@
     <string name="emergency_address_title" msgid="3490633500025717573">"Endereço de emergência"</string>
     <string name="emergency_address_summary" msgid="3022628750270626473">"Utilizado como a sua localização quando efetuar chamadas de emergência através de Wi‑Fi."</string>
     <string name="private_dns_help_message" msgid="851221502063782306"><annotation id="url">"Saiba mais"</annotation>" acerca das funcionalidades de DNS privado."</string>
+    <string name="private_dns_mode_on" msgid="8878679071975375696">"Ativado"</string>
     <string name="wifi_calling_pref_managed_by_carrier" msgid="129524064888622179">"Definição gerida pelo operador."</string>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"Ativar Chamadas Wi-Fi"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"Ativar Chamadas Wi-Fi"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"A funcionalidade Chamadas Wi-Fi não é suportada para %1$s."</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"Desligado de <xliff:g id="SSID">%1$s</xliff:g>"</string>
     <string name="carrier" msgid="1755020806290963951">"Operador"</string>
     <string name="display_settings_title" msgid="626835071804834218">"Ecrã"</string>
     <string name="sound_settings" msgid="5514582720435174014">"Som"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"Volumes"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"Efeitos musicais"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"Volume do toque"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"Volume de notificação e de toque"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"Vibrar quando estiver em silêncio"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"Som de notificação predefinido"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"Toque"</string>
@@ -1272,13 +1229,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"Horário"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"Nenhum"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"Ativado do pôr ao nascer do sol"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"É ativado à hora personalizada"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"Estado"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"Desativado/<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"Nunca se ativa automaticamente"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"Ativa-se automaticamente ao pôr do sol"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"Ativa-se automaticamente à(s) <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"Ativado/<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"Nunca se desativa automaticamente"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"Desativa-se automaticamente ao nascer do sol"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"Desativa-se automaticamente à(s) <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"Ativar até à(s) <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"Desativar até à(s) <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"O tema escuro utiliza um fundo preto para ajudar a prolongar a duração da bateria em alguns ecrãs. Os horários do tema escuro só são ativados quando o ecrã está desligado."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"Limite de tempo do ecrã"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"O ecrã desliga-se"</string>
@@ -1290,7 +1252,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"Alterar imagem de fundo"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"Personalizar o ecrã"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"Escolher imagem de fundo de"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"Personalize o seu Pixel"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"Personalizar o telemóvel"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"Experimente diferentes estilos, imagens de fundo e muito mais"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"Proteção de ecrã"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Ao carregar ou na estação de ancoragem"</string>
@@ -1379,6 +1341,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"Desmontar armazenamento USB, ver armazenamento disponível"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"Desmontar cartão SD, ver armazenamento disponível"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (ranhura para SIM %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"Para ver, escolha a rede guardada."</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"Número de telefone"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (ranhura para SIM %1$d)"</string>
@@ -1405,6 +1368,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"Roaming"</string>
     <string name="status_operator" msgid="4335640583552058491">"Rede"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"Endereço MAC de Wi-Fi"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"Endereço MAC de Wi-Fi do dispositivo"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"Endereço Bluetooth"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Número de série"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Tempo de actividade"</string>
@@ -1617,6 +1581,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Reposição de predefinições de APN concluída."</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"Opções de reposição"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"É possível repor a rede, as aplicações ou o dispositivo"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"É possível repor as apps."</string>
     <string name="reset_network_title" msgid="1395494440355807616">"Repor Wi-Fi, dados e Bluetooth"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"Esta ação repõe todas as definições de rede, incluindo:\n\n"<li>"Wi‑Fi"</li>\n<li>"Dados móveis"</li>\n<li>"Bluetooth"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"Apagar SIMs transferidos"</string>
@@ -1666,6 +1631,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"Zona Wi-Fi ativada"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"Ligação à Internet via telemóvel"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"Não é possível ligar via telemóvel ou utilizar zonas Wi-Fi portáteis com a Poupança de dados ativada"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"Apenas Zona Wi-Fi."</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"Apenas USB."</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"Apenas Bluetooth."</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"Zona Wi-Fi, USB."</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"Zona Wi-Fi, Bluetooth."</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB, Bluetooth."</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"Zona Wi-Fi, USB, Bluetooth."</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"Não está a partilhar Internet com outros dispositivos."</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"Ligação (à Internet) via telemóvel"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Não utilizar a zona Wi-Fi"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Apenas partilhe a Internet através de USB."</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Apenas partilhe a Internet através de Bluetooth."</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Apenas partilhe a Internet através de USB e Bluetooth."</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"Associação USB"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"Partilhar a ligação à Internet do telemóvel através de USB"</string>
@@ -1756,9 +1734,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"Informações de segurança"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"Não tem uma ligação de dados. Para ver estas informações agora, aceda a %s a partir de qualquer computador ligado à Internet."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"A carregar..."</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"Utilizar PIN"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"Utilizar padrão"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"Utilizar palavra-passe"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"Definir bloqueio de ecrã"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"Por motivos de segurança, defina uma palavra-passe."</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"Defina palavra-passe para usar impressão digital"</string>
@@ -1767,8 +1742,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"Defina PIN para usar impressão digital"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"Por motivos de segurança, defina um padrão."</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"Reintroduzir a palavra-passe"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"Introduza a palavra-passe de trabalho"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"Confirmar o padrão"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"Introduza o padrão de trabalho"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"Reintroduza o PIN"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"Introduza o PIN de trabalho"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"As palavras-passe não correspondem"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"Os PINs não correspondem"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"Desenhe o padrão novamente"</string>
@@ -1779,6 +1757,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"Defina pal.-pas. p/ Desbl. através Rosto"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"Defina padrão p/ utilizar Desbl. Rosto"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"Defina PIN para utilizar Desbloq. Rosto"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"Esqueceu-se da sua palavra-passe?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"Esqueceu-se do seu padrão?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"Esqueceu-se do seu PIN?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"Utilize o padrão do dispositivo para continuar"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"Introduza o PIN do dispositivo para continuar"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"Introduza a palavra-passe do dispositivo para continuar"</string>
@@ -1846,6 +1827,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"Permit. todas as fontes app"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"Aplicações abertas recentemente"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"Ver as <xliff:g id="COUNT">%1$d</xliff:g> apps"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"Contacte o seu administrador de TI"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"Pode ajudar a repor o seu PIN, padrão ou palavra-passe."</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"O seu tablet e os dados pessoais são mais vulneráveis a ataques de aplicações desconhecidas. Ao instalar aplicações desta fonte, aceita ser responsável por quaisquer danos no tablet ou perdas de dados que possam resultar da utilização do mesmo."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"O seu telemóvel e os dados pessoais são mais vulneráveis a ataques de aplicações desconhecidas. Ao instalar aplicações desta fonte, aceita ser responsável por quaisquer danos no telemóvel ou perdas de dados que possam resultar da utilização do mesmo."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"O dispositivo e os dados pessoais são mais vulneráveis a ataques de aplicações desconhecidas. Ao instalar aplicações desta fonte, aceita ser responsável por quaisquer danos no dispositivo ou perdas de dados que possam resultar da utilização do mesmo."</string>
@@ -1897,7 +1880,7 @@
     <string name="default_emergency_app" msgid="1929974800666613803">"Aplicação de emergência"</string>
     <string name="reset_app_preferences" msgid="8861758340732716573">"Repor preferências de aplicações"</string>
     <string name="reset_app_preferences_title" msgid="8935136792316050759">"Repor preferências de aplicações?"</string>
-    <string name="reset_app_preferences_desc" msgid="1377296810290814749">"Procede à reposição de todas as preferências de:\n\n"<li>"Aplicações desativadas"</li>\n<li>"Notificações de aplicações desativadas"</li>\n<li>"Aplicações predefinidas para ações"</li>\n<li>"Restrições de dados em segundo plano para aplicações"</li>\n<li>"Todas as restrições de permissão"</li>\n\n"Não irá perder quaisquer dados das aplicações."</string>
+    <string name="reset_app_preferences_desc" msgid="6509978724602405805">"Esta ação irá repor todas as preferências de:\n\n"<li>"Aplicações desativadas"</li>\n<li>"Notificações de aplicações desativadas"</li>\n<li>"Aplicações predefinidas para ações"</li>\n<li>"Restrições de dados de segundo plano para aplicações"</li>\n<li>"Todas as restrições de autorização"</li>\n\n"Não irá perder quaisquer dados das aplicações."</string>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"Repor aplicações"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"Gerir espaço"</string>
     <string name="filter" msgid="9039576690686251462">"Filtrar"</string>
@@ -2097,7 +2080,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"Áudio e texto no ecrã"</string>
     <string name="display_category_title" msgid="6638191682294461408">"Visualização"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"Controlos de interação"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"Serviços transferidos"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"Aplicações transferidas"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"Experimental"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"Sinalizadores de funcionalidades"</string>
     <string name="talkback_title" msgid="8756080454514251327">"Talkback"</string>
@@ -2105,27 +2088,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"Toque nos itens no ecrã para que sejam lidos em voz alta"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"Preferências de legendas"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"Ampliação"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"Área de ampliação"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"Ativar ampliação"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"Escolha a(s) área(s) de ampliação que pretende utilizar ao ampliar o ecrã."</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"Ecrã inteiro"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"Parte do ecrã"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"Ecrã inteiro e parte do ecrã"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"Ampliar o ecrã inteiro"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"Ampliar parte do ecrã"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Definições de ampliação"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"Ampliar com três toques"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Amplie com um atalho"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Amplie com um atalho e três toques"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"Acerca de <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"Opções"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"Aumentar zoom no ecrã"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"Tocar três vezes para aumentar/diminuir o zoom"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Tocar num botão para utilizar o zoom"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><b>"Para utilizar o zoom"</b>", toque rapidamente no ecrã três vezes.\n"<ul><li>"Arraste dois ou mais dedos para se deslocar"</li>\n<li>"Junte dois ou mais dedos para ajustar o zoom"</li></ul>\n\n<b>"Para utilizar o zoom temporariamente"</b>", toque rapidamente no ecrã três vezes sem soltar ao terceiro toque.\n"<ul><li>"Arraste para se mover no ecrã"</li>\n<li>"Levante o dedo para diminuir o zoom"</li></ul>\n\n"Não é possível utilizar o teclado ou a barra de navegação para aumentar o zoom."</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"Quando a ampliação estiver ativada, pode aumentar o zoom no ecrã.\n\n"<b>"Para utilizar o zoom"</b>", inicie a ampliação e, em seguida, toque em qualquer parte do ecrã.\n"<ul><li>"• Arraste 2 ou mais dedos para se deslocar."</li>\n<li>"• Junte 2 ou mais dedos para ajustar o zoom."</li></ul>\n\n<b>"Para utilizar o zoom temporariamente"</b>", inicie a ampliação e, em seguida, toque sem soltar em qualquer parte do ecrã.\n"<ul><li>"• Arraste o dedo para se mover pelo ecrã."</li>\n<li>"• Levante o dedo para diminuir o zoom."</li></ul>\n\n"Não é possível aumentar o zoom no teclado ou na barra de navegação."</string>
+    <string name="accessibility_screen_magnification_summary" msgid="7617931632990040045">"Aumente o zoom rapidamente no ecrã para ver o conteúdo mais claramente.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Para aumentar o zoom:&lt;/b&gt;&lt;br/&gt;	1. Utilize o atalho para iniciar a ampliação.&lt;br/&gt;	2. Toque no ecrã.&lt;br/&gt;	3. Arraste 2 dedos para se deslocar pelo ecrã.&lt;br/&gt;	4. Junte/afaste 2 dedos para ajustar o zoom.&lt;br/&gt;	5. Utilize o atalho para parar a ampliação.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Para aumentar o zoom temporariamente:&lt;/b&gt;&lt;br/&gt;	1. Utilize o atalho para iniciar a ampliação.&lt;br/&gt;	2. Toque sem soltar em qualquer parte do ecrã.&lt;br/&gt;	3. Arraste o dedo para se deslocar pelo ecrã.&lt;br/&gt;	4. Levante o dedo para parar a ampliação."</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Quando a ampliação estiver ativada, pode aumentar o zoom no ecrã.\n\n"<b>"Para utilizar o zoom"</b>", inicie a ampliação e, em seguida, toque em qualquer parte do ecrã.\n"<ul><li>"Arraste 2 ou mais dedos para se deslocar."</li>\n<li>"Junte 2 ou mais dedos para ajustar o zoom."</li></ul>\n\n<b>"Para utilizar o zoom temporariamente"</b>", inicie a ampliação e, em seguida, toque sem soltar em qualquer parte do ecrã.\n"<ul><li>"Arraste o dedo para se mover pelo ecrã."</li>\n<li>"Levante o dedo para diminuir o zoom."</li></ul>\n\n"Não é possível aumentar o zoom no teclado nem na barra de navegação."</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Utilize o botão de acessibilidade para abrir"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Utilize gestos para abrir"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"Utilize o novo gesto de acessibilidade"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"Para ativar ou desativar este serviço, toque no botão de acessibilidade<xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>na parte inferior do ecrã.\n\nPara alternar entre serviços, toque sem soltar no botão de acessibilidade."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"Para ativar ou desativar este serviço, deslize rapidamente com dois dedos para cima a partir da parte inferior do ecrã.\n\nPara alternar entre serviços, deslize rapidamente com dois dedos para cima sem soltar."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"Para ativar ou desativar este serviço, deslize rapidamente com três dedos para cima a partir da parte inferior do ecrã.\n\nPara alternar entre serviços, deslize rapidamente com três dedos para cima sem soltar."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"Para ativar ou desativar um serviço de acessibilidade, deslize rapidamente com dois dedos para cima a partir da parte inferior do ecrã.\n\nPara alternar entre serviços, deslize rapidamente com dois dedos para cima sem soltar."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"Para ativar ou desativar um serviço de acessibilidade, deslize rapidamente com três dedos para cima a partir da parte inferior do ecrã.\n\nPara alternar entre serviços, deslize rapidamente com três dedos para cima sem soltar."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"Para ativar ou desativar este serviço, toque no botão Acessibilidade <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> na parte inferior do ecrã.\n\nPara alternar entre serviços, toque sem soltar no botão Acessibilidade."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"Para ativar ou desativar este serviço, deslize rapidamente com dois dedos para cima a partir da parte inferior do ecrã.\n\nPara alternar entre serviços, deslize rapidamente com dois dedos para cima sem soltar."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"Para ativar ou desativar este serviço, deslize rapidamente com três dedos para cima a partir da parte inferior do ecrã.\n\nPara alternar entre serviços, deslize rapidamente com três dedos para cima sem soltar."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"Para ativar ou desativar um serviço de acessibilidade, deslize rapidamente com dois dedos para cima a partir da parte inferior do ecrã.\n\nPara alternar entre serviços, deslize rapidamente com dois dedos para cima sem soltar."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"Para ativar ou desativar um serviço de acessibilidade, deslize rapidamente com três dedos para cima a partir da parte inferior do ecrã.\n\nPara alternar entre serviços, deslize rapidamente com três dedos para cima sem soltar."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"OK"</string>
+    <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Atalho de <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_edit_summary_software" msgid="2820923641553461297">"Botão Acessibilidade"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture" msgid="8078659880723370597">"Deslize rapidamente para cima com 2 dedos"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture_talkback" msgid="7422753388389160524">"Deslize rapidamente para cima com 3 dedos"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software" msgid="4796192466943479849">"Toque no botão Acessibilidade."</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8922102767509399352">"Toque no botão Acessibilidade <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> na parte inferior do ecrã."</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"Deslize rapidamente para cima com 2 dedos a partir da parte inferior do ecrã."</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"Deslize rapidamente para cima com 3 dedos a partir da parte inferior do ecrã."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Mantenha premidas as teclas de volume"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"Prima sem soltar as teclas de volume durante 1 segundo."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Toque três vezes no ecrã"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"Toque rapidamente 3 vezes no ecrã. Este atalho pode tornar o dispositivo mais lento."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"Avançadas"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"O botão de acessibilidade está definido para o serviço <xliff:g id="SERVICE">%1$s</xliff:g>. Para utilizar a ampliação, toque sem soltar neste botão e, em seguida, selecione a ampliação."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"O gesto de acessibilidade está definido para o serviço <xliff:g id="SERVICE">%1$s</xliff:g>. Para utilizar a ampliação, deslize rapidamente com dois dedos para cima sem soltar a partir da parte inferior do ecrã. Em seguida, selecione a ampliação."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"Atalho-teclas de volume"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"Serviço do atalho"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Definições dos atalhos"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"Permitir a partir do ecrã de bloqueio"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"Quando o atalho estiver ativado, pode premir ambas as teclas de volume durante 3 segundos para iniciar uma funcionalidade de acessibilidade."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"Texto de alto contraste"</string>
@@ -2149,24 +2157,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"Escolha o tempo durante o qual pretende mostrar mensagens que lhe solicitam que tome medidas, mas que são visíveis apenas temporariamente.\n\nNem todas as aplicações são compatíveis com esta definição."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"Atraso ao manter premida a tecla"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"Inversão de cores"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"Pode afetar o desempenho"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"Tempo de permanência"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"Utilize a inversão de cores"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"A inversão de cores escurece os ecrãs claros. Isto ajuda as pessoas com sensibilidade à luz clara a verem o ecrã mais facilmente.&lt;br/&gt;&lt;br/&gt;Nota: as cores escuras vão ficar claras. As cores serão alteradas no conteúdo multimédia e nas imagens. Também pode utilizar o tema escuro (Definições &gt; Ecrã)."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"Clique automático (tempo de permanência)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"Se estiver a utilizar um rato, pode definir o cursor para efetuar uma ação automaticamente quando deixar de se mover durante um determinado período de tempo."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"Atraso antes de clicar"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"Não utilizar clique autom. (pred.)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"Curto"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0,2 segundos"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"Médio"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0,6 segundos"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"Longo"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 segundo"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"Personalizado"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"Mais curto"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"Mais longo"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"Tempo do clique automático."</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"Vibração e intensidade tátil"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Vibração de notificações"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Vibração do toque"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Respostas por toque"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"Utilizar o serviço"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"Utilizar <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"Abra a app <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"Utilizar a correção da cor"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"Utilizar as legendas"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"Mostrar legendas"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"Aspeto das legendas"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"Tamanho do texto, estilo das legendas"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"Mais opções"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"Nem todas as aplicações suportam esta definição."</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"Botão Acessibilidade"</string>
+    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"Deslize rápido para cima com 2 dedos a partir da parte inferior."</string>
+    <string name="accessibility_shortcut_type_hardware" msgid="4834144210432451916">"Manter premidas as teclas de volume."</string>
+    <string name="accessibility_shortcut_type_triple_tap" msgid="7717524216825494543">"Tocar três vezes no ecrã."</string>
     <string name="accessibility_hearingaid_instruction_continue_button" msgid="3367260988024430722">"Continuar"</string>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"Aparelhos auditivos"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"Nenhum aparelho auditivo associado"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"Adicione aparelhos auditivos"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"Para sincronizar os aparelhos auditivos, localize os dispositivos no ecrã seguinte e toque nos mesmos."</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"Certifique-se de que os aparelhos auditivos estão no modo de sincronização."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"Para sincronizar os aparelhos auditivos, localize os dispositivos no ecrã seguinte e toque nos mesmos. Certifique-se de que os aparelhos auditivos estão no modo de sincronização."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ativo"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> aparelhos auditivos guardados.</item>
@@ -2178,25 +2204,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Este serviço está a funcionar incorretamente."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Mostrar nas Definições rápidas"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"Modo de correção"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="other">Atraso extremamente curto (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Atraso extremamente curto (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Vermelho-verde"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"Verde-vermelho"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Azul-amarelo"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"Deuteranomalia"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"Protanomalia"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"Tritanomalia"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="other">Atraso extremamente curto (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> segundos)</item>
+      <item quantity="one">Atraso extremamente curto (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> segundo)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="other">Atraso muito curto (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Atraso muito curto (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="other">Atraso extremamente curto (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> segundos)</item>
+      <item quantity="one">Atraso extremamente curto (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> segundo)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="other">Atraso curto (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Atraso curto (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="other">Atraso curto (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> segundos)</item>
+      <item quantity="one">Atraso curto (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> segundo)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="other">Atraso longo (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Atraso longo (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="other">Atraso longo (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> segundos)</item>
+      <item quantity="one">Atraso longo (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> segundo)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="other">Atraso muito longo (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Atraso muito longo (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="other">Atraso muito longo (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> segundos)</item>
+      <item quantity="one">Atraso muito longo (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> segundo)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> segundos</item>
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> segundo</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"Toque <xliff:g id="SUMMARY_RING">%1$s</xliff:g>, notificação <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>, resposta tátil <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"Toque e notificação definidos como Desativada"</string>
@@ -2513,7 +2549,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"Desde a última vez que foi desligado por <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"Totais de utilização"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"Atualizar"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"SO Android"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"Mediaserver"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"Otimização de aplicações"</string>
     <string name="battery_saver" msgid="7737147344510595864">"Poupança de bateria"</string>
@@ -2594,8 +2629,7 @@
     <string name="tts_play" msgid="2945513377250757221">"Reproduzir"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"Armazenamento de credenciais"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"Instalar do armazenamento"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"Instalar a partir do cartão SD"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"Instalar um certificado"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"Instalar certificados a partir do armazenamento"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"Instalar certificados a partir do cartão SD"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"Limpar credenciais"</string>
@@ -2615,6 +2649,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"Armaz. credenciais apagado."</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"Não foi possível apagar o armazenamento de credenciais."</string>
     <string name="usage_access_title" msgid="1580006124578134850">"Apps com acesso de utilização"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"Certificado da AC"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"Certif. VPN/utiliz. da aplic."</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"Certificado de Wi‑Fi"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"A sua privacidade está em risco"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"Os certificado da AC (Autoridade de certificação) são utilizados por Websites, aplicações e VPNs para encriptação. Apenas instale certificados da AC (Autoridade de certificação) de entidades em que confia. \n\n Se instalar um certificado da AC (Autoridade de certificação), o proprietário do mesmo pode aceder às suas informações, tais como palavras-passe, mensagens ou detalhes do cartão de crédito, a partir de Websites que visita ou de aplicações que utiliza, mesmo que as informações estejam encriptadas."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"Não instalar"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"Instalar mesmo assim"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"Certificado não instalado."</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"Sinal para marcação de emergência"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Definir o comportamento quando é efetuada uma chamada de emergência"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Cópia de segurança"</string>
@@ -2642,10 +2684,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"Desativar e desinstalar"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"Aplicações de administração do dispositivo"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"Nenhuma aplicação de administração do dispositivo disponível"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"Pessoal"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"Trabalho"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"Restringir o acesso ao registo de chamadas e SMS"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"Apenas as aplicações de mensagens e de telefone predefinidas têm autorizações de registo de chamadas e de SMS."</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"Nenhum agente fidedigno disponível"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"Ativar aplicação admin. do dispositivo?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"Ativar a aplicação de administração deste dispositivo"</string>
@@ -2659,6 +2697,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"As outras opções estão desativadas pelo gestor"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"Mais detalhes"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"Registo de notificações"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"Histórico de notificações"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"Hoje"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"Suspensas"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"Ignoradas recentemente"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> notificações</item>
+      <item quantity="one"><xliff:g id="NUMBER_0">%d</xliff:g> notificação</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"Toque e vibração das chamadas"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"Detalhes da rede"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"Sincronização ativada"</string>
@@ -3008,7 +3054,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"Restrições"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"Remover restrições"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"Alterar PIN"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"Mostrar notificações"</string>
     <string name="help_label" msgid="2896538416436125883">"Ajuda e comentários"</string>
     <string name="support_summary" msgid="1034146931237148885">"Artigos de ajuda, telefone e chat, como começar"</string>
     <string name="user_account_title" msgid="6389636876210834864">"Conta para conteúdo"</string>
@@ -3033,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"Chamadas 4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Utilizar os serviços LTE para melhorar a voz e outras comunicações (recomendado)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Utilizar os serviços 4G para melhorar a voz e outras comunicações (recomendado)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Deteção de contactos"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Permite que o seu operador detete as funcionalidades de chamada que os seus contactos suportam."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Pretende ativar a deteção de contactos?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"A ativação desta funcionalidade vai permitir que o seu operador aceda aos números de telefone nos seus contactos para descobrir quais são as funcionalidades de chamada suportadas."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Tipo de rede preferido"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (recomendado)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"Mensagens MMS"</string>
@@ -3077,7 +3126,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"Telefonar com"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"Selecionar um cartão SIM"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"SIM <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"SIM vazio"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"Nome do SIM"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"Introduzir nome do SIM"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"Ranhura para cartão SIM %1$d"</string>
@@ -3087,6 +3135,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"Selecionar cartão SIM"</string>
     <string name="color_orange" msgid="216547825489739010">"Cor de laranja"</string>
     <string name="color_purple" msgid="6603701972079904843">"Roxo"</string>
+    <string name="color_pink" msgid="8596872110888626708">"Rosa"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"Nenhum cartão SIM inserido"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"Estado do SIM"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"Estado do SIM (ranhura para SIM %1$d)"</string>
@@ -3100,7 +3149,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"Cartões SIM alterados."</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Tocar para configurar"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"Cartão SIM preferido para"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Perguntar sempre"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"A seleção é necessária"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"Seleção de SIM"</string>
@@ -3118,6 +3166,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"Bluetooth, modo de condução"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"Bluetooth, NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"Bluetooth"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"Não disponível porque o NFC está desativado."</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"Apps e notificações"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Aplicações recentes, aplicações predefinidas"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"O acesso às notificações não está disponível para aplicações no perfil de trabalho."</string>
@@ -3128,13 +3177,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"Definições"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"wifi, Wi-Fi, ligação de rede, Internet, sem fios, dados, wi fi"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"Notificação Wi‑Fi, notificação wifi"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"utilização de dados"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"Parar vibração, toque, teclado"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"Utilizar formato de 24 horas"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"Transferir"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"Abrir com"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"Aplicações"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"fuso horário"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"Balão de chat"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"Balão de chat, sistema, alerta, janela, caixa de diálogo, ecrã, sobrepor-se a outras aplicações, desenhar"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"Lanterna, luz"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"Wifi, Wi-Fi, ativar/desativar, controlar"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"telemóvel, dispositivo móvel, operador de telemóvel, sem fios, dados, 4g, 3g, 2g, lte"</string>
@@ -3158,7 +3208,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"não, não incomodar, interromper, interrupção, pausa"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"próximo, localização, histórico, relatórios, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"conta"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"conta, adicionar uma conta, perfil de trabalho, adicionar conta"</string>
     <string name="keywords_users" msgid="3497517660077620843">"restrição, restringir, restrito"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"correção de texto, corrigir, som, vibrar, idioma, automático, gesto, sugerir, sugestão, tema, palavra, ofensiva, escrever, emoji, internacional"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"repor, preferências, predefinição"</string>
@@ -3196,6 +3246,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"memória, cache, dados, eliminar, limpar, libertar, espaço"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"associado, dispositivo, auscultadores, auscultadores com microfone integrado, altifalante, sem fios, sincronizar, auriculares, música, multimédia"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"fundo, ecrã, ecrã de bloqueio, tema"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"forma do ícone, cor de destaque, tipo de letra"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"predefinição, assistente"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"pagamento, predefinido"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"notificação recebida"</string>
@@ -3205,18 +3256,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"funcionalidade tátil, vibrar, sensibilidade"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"poupança de bateria, fixa, persistente, poupança de energia, bateria"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"rotina, horário, poupança de bateria, poupança de energia, bateria, automática, percentagem"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"perfil de trabalho"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"volte, chamadas avançadas, chamadas 4g"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"adicionar idioma, adicionar um idioma"</string>
     <string name="default_sound" msgid="6604374495015245195">"Som predefinido"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"Volume do toque a <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"Volume de notificação e de toque a <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Volume, vibração, Não incomodar"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"Campainha definida como vibração"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"Campainha definida como silenciosa"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"Volume do toque a 80%"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"Volume de notificação e de toque a 80%"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Volume de multimédia"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Volume de transmissão"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"Volume das chamadas"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"Volume do alarme"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"Volume do toque"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"Volume de notificação e toque"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"Volume de notificações"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"Toque do telemóvel"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"Som de notificação padrão"</string>
@@ -3224,6 +3276,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"Som de notificação padrão"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"Som de alarme predefinido"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"Vibrar ao receber chamadas"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"Nunca vibrar"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"Vibrar sempre"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"Vibrar primeiro e tocar gradualmente"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"Outros sons"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"Sons do teclado"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"Sons de bloqueio de ecrã"</string>
@@ -3247,6 +3302,7 @@
       <item quantity="one">1 ativado.</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Não incomodar"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Receber notificações apenas de pessoas e apps importantes"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Limite as interrupções"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Ativar o modo Não incomodar"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"Exceções"</string>
@@ -3273,7 +3329,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Bloquear perturbações visuais"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Permitir sinais visuais"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"Quando o modo Não incomodar está ativado"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"Permitir interrupções que emitam som"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"Restringir notificações"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Sem som de notificações"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"Vê as notificações no ecrã."</string>
@@ -3304,7 +3360,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"Som e vibração."</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"Som, vibração e alguns sinais visuais das notificações."</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"Som, vibração e sinais visuais das notificações."</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"As notificações necessárias para o estado e a atividade básica do telemóvel nunca serão ocultadas."</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"As notificações necessárias para o estado e a atividade básica do telemóvel nunca serão ocultadas."</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"Nenhum"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"outras opções"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"Adicionar"</string>
@@ -3334,10 +3390,12 @@
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> horários podem ser ativados automaticamente</item>
       <item quantity="one">1 horário pode ser ativado automaticamente</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"Desativar som do dispositivo, mas permitir exceções"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"Exceções"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"Horário"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"Ver todas as exceções"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"Exceções quando o modo Não incomodar está ativado"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"Pessoas"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"Apps"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"Alarmes e outras interrupções"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"Horários"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"Notificações silenciadas"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"Quando o modo Não incomodar está ativo, o som e a vibração são desativados, exceto para os itens que permitir acima."</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"Desativar tudo exceto"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"Desativados"</string>
@@ -3381,16 +3439,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"Notificações adaptáveis"</string>
     <string name="asst_capability_prioritizer_title" msgid="1181272430009156556">"Prioridade das notificações adaptável"</string>
     <string name="asst_capability_prioritizer_summary" msgid="954988212366568737">"Defina automaticamente as notificações de prioridade mais baixa como discretas."</string>
+    <string name="asst_capability_ranking_title" msgid="312998580233257581">"Classificação das notificações adaptável"</string>
+    <string name="asst_capability_ranking_summary" msgid="2293524677144599450">"Classifique as notificações por relevância automaticamente."</string>
     <string name="asst_capabilities_actions_replies_title" msgid="4392470465646394289">"Respostas e ações sugeridas"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"São apresentadas automaticamente respostas e ações sugeridas."</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"Ative o histórico de notificações para ficar a par das notificações anteriores e das notificações suspensas."</string>
+    <string name="notification_history" msgid="8663811361243456201">"Histórico de notificações"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"Ativar o histórico"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"Desativar o histórico"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"O histórico de notificações está desativado."</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"ver definições de notificação"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Permitir a suspensão de notificações"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"Ocultar os ícones das notificações discretas"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"Os ícones das notificações discretas não são apresentados na barra de estado."</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"Permitir pontos de notificação"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"Mostrar faixa de conversas recentes"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Balões"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"Algumas notificações podem aparecer como balões no ecrã."</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"Algumas notificações e outros conteúdos podem aparecer como balões no ecrã. Para abrir um balão, toque no mesmo. Para o ignorar, arraste-o para baixo no ecrã."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Balões"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"As novas mensagens serão apresentadas no ecrã."</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"Permitir que a aplicação <xliff:g id="APP_NAME">%1$s</xliff:g> mostre algumas notificações como balões"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"Ative os balões"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"Para ativar os balões para esta aplicação, primeiro, tem de os ativar para o dispositivo. Esta ação afeta outras aplicações nas quais tenha ativado previamente os balões."</string>
@@ -3408,6 +3476,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"Apresentar no painel pendente e no ecrã de bloqueio"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"Apresentar no painel pendente e na barra de estado"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"Apresentar no painel pendente, na barra de estado e no ecrã de bloqueio"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"Ocultar as notificações silenciosas na barra de estado"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"Emitir luz intermitente"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"Ecrã de bloqueio"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"Ignorar ecrã de bloqueio"</string>
@@ -3438,6 +3507,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"Comportamento"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"Permitir som"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"Nunca mostrar notificações"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"Conversas"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"Conversa"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"Não é uma conversa"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"Remova da secção da conversa."</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"Isto é uma conversa"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"Adicione à secção da conversa."</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"Gerir conversas"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"Conversas importantes"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"Todas as conversas"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"Mostrar conversas importantes como balões"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"As conversas importantes são apresentadas na parte superior do painel pendente. Também pode defini-las como balões e para interromperem o modo Não incomodar."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"Mostrar silenciosamente e minimizar"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"Mostrar silenciosamente"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"Emitir som"</string>
@@ -3456,7 +3536,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"Ajuda-o a focar-se sem som ou vibração"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"Chama a sua atenção com som ou vibração"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"Com o dispositivo desbloqueado, as notificações são apresentadas como uma faixa no topo do ecrã."</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"Mostrar notificações"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"Todas as notificações da aplicação <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"Notificações adaptáveis"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="other">~<xliff:g id="NUMBER_1">%d</xliff:g> notificações por dia</item>
@@ -3477,6 +3557,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"Notificações adaptáveis"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"Nenhum"</string>
     <string name="no_notification_listeners" msgid="2839354157349636000">"Nenhuma aplicação instalada solicitou acesso a notificações"</string>
+    <string name="notification_access_detail_switch" msgid="46386786409608330">"Permitir o acesso a notificações"</string>
     <string name="notification_assistant_security_warning_title" msgid="2972346436050925276">"Pretende permitir o acesso a notificações do <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
     <string name="notification_assistant_security_warning_summary" msgid="3119843404577399036">"O <xliff:g id="NOTIFICATION_ASSISTANT_NAME">%1$s</xliff:g> consegue ler todas as notificações, incluindo informações pessoais como nomes de contactos e o texto das mensagens recebidas. Também consegue modificar ou ignorar notificações, assim como acionar botões de ação que estas contenham. \n\nDeste modo, a aplicação também pode ativar ou desativar o modo Não incomodar e alterar as definições relacionadas."</string>
     <string name="notification_listener_security_warning_title" msgid="5791700876622858363">"Pretende permitir o acesso a notificações do <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
@@ -3538,8 +3619,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"Concluído"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"Importância"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"Emitir luz intermitente"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"Vibrar"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"Vibração"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"Som"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"Importante"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"Adicione ao ecrã principal"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"Eliminar"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"Mudar o nome"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"Nome do horário"</string>
@@ -3593,6 +3676,10 @@
       <item quantity="other">Mais <xliff:g id="NUM_PEOPLE">%d</xliff:g> pessoas</item>
       <item quantity="one">Mais 1 pessoa</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Conversas"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"De todas as conversas"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"Das conversas importantes"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"Não permitir quaisquer conversas"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"Permitir mensagens"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"Para se certificar de que as mensagens permitidas emitem som, verifique se o dispositivo está definido para tocar, para vibrar ou para o modo silencioso."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"Para \"<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>\", as mensagens recebidas estão bloqueadas. Pode ajustar as definições para permitir que os seus amigos, família ou outras pessoas o contactem."</string>
@@ -3606,15 +3693,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"Nenhuma"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"Não permitir quaisquer chamadas"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"Não permitir quaisquer mensagens"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"Permitir alarmes"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"Alarmes"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"De temporizadores, alarmes, sistemas de segurança e outras apps"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"alarmes"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"Reproduzir sons multimédia"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"Sons multimédia"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"De vídeos, jogos e outro conteúdo multimédia"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"multimédia"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"Permitir sons de toque"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"Sons de toque"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"Do teclado e outros botões"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"sons de toque"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"Permitir lembretes"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"Lembretes"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"De tarefas e lembretes"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"lembretes"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"Permitir eventos"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"Eventos"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"De eventos futuros do calendário"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Permitir que as aplicações substituam"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"Exceções de aplicações"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3657,6 +3749,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"Permitir que as notificações silenciadas pelo modo Não incomodar liguem o ecrã"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"Definições de notificações"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"Ok"</string>
+    <string name="suggestion_button_close" msgid="6865170855573283759">"Fechar"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Enviar comentários do dispositivo"</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"Introduzir o PIN do gestor"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"Ativado"</string>
@@ -3667,6 +3760,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Pedir PIN antes de soltar"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Pedir palavra-passe antes de soltar"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Bloquear dispositivo ao soltar"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Confirme a eliminação do SIM"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"Valide a sua identidade antes de apagar um SIM transferido."</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"Este perfil de trabalho é gerido por:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"Gerido por <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(Experimental)"</string>
@@ -3741,8 +3836,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"Todas as aplicações"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Aplicações instaladas"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Aplicações instantâneas"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"Pessoais"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"De trabalho"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"Aplicações: todas"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"Desativadas"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"Categorias: importância alta"</string>
@@ -3754,6 +3847,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"Aplicação desconhecida"</string>
     <string name="app_permissions" msgid="8666537659217653626">"Gestor de autorizações"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"Aplicações que utilizam <xliff:g id="APPS">%1$s</xliff:g>"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"Apps que utilizam <xliff:g id="APPS">%1$s</xliff:g> e mais."</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"Tocar para ativar"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"Tocar duas vezes em qualquer ponto do ecrã para ativar o dispositivo"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"Links de abertura"</string>
@@ -3765,9 +3859,14 @@
       <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> aplicações que abrem links compatíveis</item>
       <item quantity="one">Uma aplicação que abre links compatíveis</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"Abrir com esta aplicação"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"Permitir que a app abra links suportados"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"Perguntar sempre"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"Não abrir com esta aplicação"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"Não permitir que a app abra links"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="other">A app refere que consegue processar <xliff:g id="COUNT_1">%d</xliff:g> links.</item>
+      <item quantity="one">A app refere que consegue processar <xliff:g id="COUNT_0">%d</xliff:g> link.</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"A app refere que consegue processar os seguintes links:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"Predefinição"</string>
     <string name="default_for_work" msgid="537558180548617528">"Predefinição para o trabalho"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"Assistência e entrada por voz"</string>
@@ -3911,8 +4010,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"Sobrepor a outras aplicações"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Permitir sobreposição a outras aplicações"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"Permita que esta aplicação se sobreponha a outras aplicações que esteja a utilizar. Pode interferir com a sua utilização dessas aplicações ou alterar a forma como estas aparecem ou se comportam."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"Acesso a todos os ficheiros"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"Permitir acesso para gerir todos os ficheiros"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Permita que esta app leia, modifique e elimine todos os ficheiros neste dispositivo ou em qualquer volume de armazenamento ligado. Se a autorização for concedida, a app poderá aceder aos ficheiros sem o seu conhecimento explícito."</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"Pode aceder a todos os ficheiros"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"rv realidade virtual serviço de escuta estéreo serviço assistente"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"janela de alerta do sistema caixa de diálogo sobrepor-se a outras aplicações"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"Sobrepor a outras aplicações"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"<xliff:g id="COUNT_0">%1$d</xliff:g> de <xliff:g id="COUNT_1">%2$d</xliff:g> aplicações autorizadas a sobreporem-se a outras aplicações"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"Aplicações com autorização"</string>
@@ -4078,6 +4180,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"<xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g> utilizado(s)"</string>
     <string name="data_overusage" msgid="3680477320458707259">"<xliff:g id="ID_1">^1</xliff:g> acima do limite"</string>
     <string name="data_remaining" msgid="6316251496381922837">"Restam <xliff:g id="ID_1">^1</xliff:g> GB"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"Gráfico que mostra a utilização de dados entre <xliff:g id="START_DATE">%1$s</xliff:g> e <xliff:g id="END_DATE">%2$s</xliff:g>."</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"Não existem dados para este intervalo de datas."</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="other">%d dias restantes</item>
       <item quantity="one">%d dia restante</item>
@@ -4141,14 +4245,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"tamanho do pacote"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"notificação alertada"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"som"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"vibrar"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"padrão"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"predefinição"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"canal"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"nenhum"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"O objeto de classificação está em falta."</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"O objeto de classificação não contém esta chave."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"Temas"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"Predefinição do dispositivo"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"Recorte no ecrã"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"ecrã com recorte, entalhe"</string>
@@ -4237,8 +4337,12 @@
     <string name="information_label" msgid="6939310810756569298">"Informações"</string>
     <string name="low_label" msgid="6525629096999711220">"Baixa"</string>
     <string name="high_label" msgid="357503396626018487">"Elevada"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"Uma sensibilidade mais elevada pode entrar em conflito com quaisquer gestos de aplicações ao longo das extremidades do ecrã."</string>
+    <string name="left_edge" msgid="1513576842959071849">"Extremidade esquerda"</string>
+    <string name="right_edge" msgid="1505309103265829121">"Extremidade direita"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"Uma sensibilidade mais elevada pode entrar em conflito com quaisquer gestos de aplicações ao longo das extremidades do ecrã."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"Sensibilidade do botão Anterior"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"Definições de gestos"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"navegação por gestos, sensibilidade do botão anterior, gesto para voltar"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"Tocar duas vezes para verificar o telemóvel"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"Tocar duas vezes para verificar o tablet"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"Tocar duas vezes para verificar o dispositivo"</string>
@@ -4393,7 +4497,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"Acionar fornecimento do operador"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"Atualizar o modo Não incomodar"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"Coloque as notificações em pausa para se manter concentrado."</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"Esta funcionalidade não está disponível neste dispositivo."</string>
     <string name="disabled_feature" msgid="7151433782819744211">"Funcionalidade não disponível."</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"Esta funcionalidade foi desativada porque torna o seu telemóvel lento."</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"Forçar medições de GNSS completas"</string>
@@ -4403,20 +4506,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"Selecionar aplicação compatível com o ANGLE"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"Nenhuma aplicação compatível com o ANGLE definida."</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"Aplicação compatível com o ANGLE: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"Preferências da placa gráfica de jogos"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"Modifique as definições da placa gráfica de jogos."</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"Quando a placa gráfica de jogos está ativada, pode optar por utilizar o controlador da placa gráfica atualizado para as aplicações instaladas no dispositivo."</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"Ative para todas as aplicações"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"Selecione a placa gráfica"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"Predefinição"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"Placa gráfica de jogos"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"Controlador de pré-lançamento"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"Controlador da placa gráfica do sistema"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"Preferências da placa gráfica"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"Modifique as definições da placa gráfica."</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"Quando existem várias placas gráficas, pode optar por utilizar a placa gráfica atualizada para as apps instaladas no dispositivo."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"Ative para todas as apps"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"Selecione a placa gráfica"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"Predefinição"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"Controlador de jogos"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"Placa gráfica para programadores"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Controlador da placa gráfica do sistema"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Alterações de compatibilidade da aplicação"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Ativar/desativar alterações de compatibilidade das apps"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Alterações ativadas predefinidas"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Alterações desativadas predefinidas"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"A definição não é suportada neste telemóvel."</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"A definição não é suportada neste tablet."</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"A definição não é suportada neste dispositivo."</string>
@@ -4435,6 +4544,12 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"Dispositivo"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Indisponível durante as chamadas."</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"Indisponível"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"Adicione saídas"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"Grupo"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 dispositivo selecionado"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> dispositivos selecionados"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"Atender chamada em"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Não é possível alterar este APN."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Melhorar a autonomia da bateria do tablet"</string>
@@ -4552,10 +4667,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Só pode ter um SIM transferido ativo de cada vez.\n\nMudar para o operador <xliff:g id="CARRIER1">%1$s</xliff:g> não cancela o seu serviço no operador <xliff:g id="CARRIER2">%2$s</xliff:g>."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Mudar para <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Apagar SIM"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Pretende apagar este SIM transferido?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Se apagar este SIM, o serviço do operador <xliff:g id="CARRIER_0">%1$s</xliff:g> será removido deste dispositivo.\n\nO serviço do operador <xliff:g id="CARRIER_1">%2$s</xliff:g> não é cancelado."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Apagar"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"A apagar SIM…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Não é possível apagar o SIM"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Não é possível apagar este SIM devido a um erro.\n\nReinicie o dispositivo e tente novamente."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Tipo de rede preferido"</string>
@@ -4580,7 +4691,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Modo de rede inválido: <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Ignore."</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Nomes dos Pontos de Acesso"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Indisponível quando ligado a <xliff:g id="CARRIER">%1$s</xliff:g>."</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"Informações médicas, contactos de emergência"</string>
     <string name="see_more" msgid="7499355691042812723">"Ver mais"</string>
     <string name="see_less" msgid="2642392725363552793">"Ver menos"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"Dispositivo a utilizar com a aplicação <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
@@ -4589,11 +4699,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"Ocorreu um erro. A aplicação cancelou o pedido de escolha de um dispositivo."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"Ligação estabelecida com êxito"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"Mostrar tudo"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> dispositivos ligados.</item>
-      <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_0">%1$d</xliff:g> dispositivo ligado</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"Nenhum dispositivo Bluetooth"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"A procurar dispositivo…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"A ligar ao dispositivo…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"Esquerdo"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"Direito"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Caixa"</string>
@@ -4603,6 +4710,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"Não disponível durante o modo de avião"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"Forçar modo de ambiente de trabalho"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Forçar modo de ambiente de trabalho experimental em ecrãs secundários"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"Ativar compatibilidade de tamanho com forma livre"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"Permite que aplicações de tamanho compatível tenham forma livre."</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Substituir forçar o modo escuro"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"Substitui a funcionalidade de forçar a ativação permanente do modo escuro"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"Privacidade"</string>
@@ -4639,6 +4748,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Instalou recentemente esta aplicação."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Saída do interruptor"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"A reproduzir atualmente no dispositivo <xliff:g id="DEVICE_NAME">%1$s</xliff:g>…"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (desligado)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Imp. mudar. Toque para tentar novamente."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Informações importantes"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"CONTINUAR"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"NÃO, OBRIGADO"</string>
@@ -4666,8 +4777,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"Combinação de SIMs"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"As suas informações da política de trabalho"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Definições geridas pelo seu administrador de TI."</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"Controlador do Relatório de erro"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Determina que aplicação processa o atalho para Relatório de erro no seu dispositivo."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Pessoal"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"Trabalho"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"Predefinição do sistema"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"Esta opção já não é válida. Tente novamente."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"Parar transmissão"</string>
 </resources>
diff --git a/res/values-pt/arrays.xml b/res/values-pt/arrays.xml
index 0cb0d0c..cc18bf2 100644
--- a/res/values-pt/arrays.xml
+++ b/res/values-pt/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"Imediatamente"</item>
     <item msgid="463591454172790676">"5 segundos"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"Não validar"</item>
+    <item msgid="5703177653586269306">"Solicitar status de certificados"</item>
+    <item msgid="326388247868439528">"Exigir status de certificados"</item>
+    <item msgid="1090956283885790552">"Exigir todos os status de certificados não confiáveis"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"Pressione o botão"</item>
     <item msgid="2630618799033509548">"PIN do dispositivo pareado"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"Nenhum"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"VPN IPSec com chaves pré-compartilhadas e autenticação Xauth"</item>
     <item msgid="2484564813864139237">"VPN IPSec com autenticação de certificados e Xauth"</item>
     <item msgid="68918911194507915">"VPN IPSec com certificados e autenticação híbrida"</item>
+    <item msgid="4631647675167100375">"VPN IKEv2/IPSec com certificados e autenticação de nome de usuário/senha"</item>
+    <item msgid="8812228622975052811">"VPN IKEv2/IPSec com chaves pré-compartilhadas"</item>
+    <item msgid="6630554779981113046">"VPN IKEv2/IPSec com certificados"</item>
   </string-array>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"Nenhum"</item>
diff --git a/res/values-pt/config.xml b/res/values-pt/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-pt/config.xml
+++ b/res/values-pt/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index a9da1d2..66ed3cd 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -31,49 +31,17 @@
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Primeiro, ative as opções do desenvolvedor."</string>
     <string name="header_category_wireless_networks" msgid="303445626075235229">"Redes sem fio e outras"</string>
     <string name="header_category_system" msgid="1665516346845259058">"Sistema"</string>
-    <string name="radio_info_data_connection_enable" msgid="7500945447906187613">"Ativar conexão de dados"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"Desativar conexão de dados"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"Provisionado VoLTE"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"Videochamadas aprovisionadas"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"Chamadas por Wi-Fi aprovisionadas"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"EAB/Presença aprovisionados"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"Dados CBRS"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"Ativar DSDS"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"Reiniciar dispositivo?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"Reinicie o dispositivo para alterar essa configuração."</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"Reiniciar"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"Cancelar"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"Potência do rádio móvel"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"Ver o catálogo de endereços do chip"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"Visualizar números de discagem fixa"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"Visualizar números de chamada de serviço"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"Status de serviço IMS"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"Status IMS"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"Registrado"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"Não registrado"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"Disponível"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"Não disponível"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"Registro IMS: <xliff:g id="STATUS">%1$s</xliff:g>\nVoice over LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nVoice over Wi-Fi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideochamada: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nInterface UT: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"Em serviço"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Fora de serviço"</string>
     <string name="radioInfo_service_emergency" msgid="6838935881091760942">"Somente chamadas de emergência"</string>
     <string name="radioInfo_service_off" msgid="6184928420860868571">"Rádio desativado"</string>
     <string name="radioInfo_roaming_in" msgid="8892550453644088692">"Roaming"</string>
     <string name="radioInfo_roaming_not" msgid="3137594549464975054">"Não está em roaming"</string>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"Ocioso"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"Tocando"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"Chamada em andamento"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"Desconectado"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"Conectando"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"Conectado"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Suspenso"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Desconhecido"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"pkts"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"bytes"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"Desconectar armaz. USB"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"Desconectar cartão SD"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"Apagar armazenamento USB"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"Tornar o texto na tela menor ou maior."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Tornar menor"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Tornar maior"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"Texto de amostra"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"O Mágico de Oz"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"Capítulo 11: A maravilhosa Cidade das Esmeraldas de Oz"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"Reinicie o dispositivo para alterar essa configuração."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"Reiniciar"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"Cancelar"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"Dispositivos de mídia disponíveis"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"Dispositivos de chamada disponíveis"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"Conectados no momento"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"Dispositivos portáteis de mídia"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"Dispositivos de chamada"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"Outros dispositivos"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Dispositivos salvos"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"O Bluetooth será ativado para o pareamento"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Preferências de conexão"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"A porta digitada não é válida."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"O proxy HTTP é usado pelo navegador, mas não pode ser usado por outros apps."</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"URL do PAC: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"Subcódigo atual:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"Subcódigo do chip de dados padrão:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"Largura de banda DL (kbps):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"Largura de banda UL (kbps):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"Informações de local do celular (uso suspenso):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"Configuração do canal físico de LTE:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"Taxa de atualização das informações do celular:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"Todas as informações de medição do celular:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"Serviço de dados:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"Roaming:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"Redirecionamento da chamada:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"Número de redefinições PPP desde a inicialização:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"Rede atual:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"Dados recebidos:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"Serviço de voz:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"Potência do sinal:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"Status da chamada de voz:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"Dados enviados:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"Mensagem em espera:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"Número de telefone:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"Selecionar frequência de rádio"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"Tipo de rede de voz:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"Tipo de rede de dados:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"Selecionar lista telefônica"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"Definir tipo de rede preferido:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"Aplicar ping no nome do host (www.google.com) IPv4:"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"Aplicar ping no nome do host (www.google.com) IPv6:"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"Teste do cliente HTTP:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"Executar teste de ping"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"Atualizar"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"Atualizar"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"Ativar/desativar verificação de DNS"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"Informações/configurações específicas de OEM"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"Definir modo de frequência de rádio"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"Carregando a lista de frequências…"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"Definir"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"Falha"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"Feito"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"As alterações são aplicadas quando o cabo USB é reconectado."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"Ativar o armazenamento USB em massa"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"Total de bytes:"</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"Mover para o fim"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"Remover idioma"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"Selecione a atividade"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"Informações do dispositivo"</string>
     <string name="display_label" msgid="3056320781191343221">"Tela"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"Informações do tablet"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"Informações do telefone"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"Armaz. USB"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"Cartão SD"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"Configurações de proxy"</string>
@@ -306,9 +234,6 @@
     <string name="airplane_mode" msgid="3196085857882526817">"Modo avião"</string>
     <string name="wireless_networks_settings_title" msgid="8557542379234105369">"Redes sem fio e outras"</string>
     <string name="radio_controls_summary" msgid="9028430178697624501">"Gerenciar Wi-Fi, Bluetooth, modo avião, redes móveis e VPNs"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"Dados móveis"</string>
-    <string name="calls_title" msgid="6334813967619899114">"Permitir chamadas"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"Mensagens SMS"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"Permitir uso de dados pela rede móvel"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"Permitir usar dados em roaming"</string>
     <string name="roaming" msgid="3055365654530847985">"Roaming"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"Conectar aos serviços de dados quando estiver em roaming"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"Você perdeu a conectividade de dados porque deixou o roaming de dados da sua rede doméstica desativado."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"Ativar"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"Sujeito a cobranças. Os valores podem ser significativos."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"Ao permitir o roaming de dados, você poderá receber cobranças significativas de roaming.\n\nEsta configuração afeta todos os usuários do tablet."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"Ao permitir o roaming de dados, você poderá receber cobranças significativas de roaming.\n\nEsta configuração afeta todos os usuários do telefone."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"Sujeito a cobrança por uso de roaming."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"Permitir o roaming de dados pode gerar cobranças relacionadas.\n\nEssa configuração afeta todos os usuários do tablet."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"Permitir o roaming de dados pode gerar cobranças relacionadas.\n\nEssa configuração afeta todos os usuários do smartphone."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"Permitir roaming de dados?"</string>
     <string name="networks" msgid="5184501333492775095">"Seleção de operador"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"Selecione um operador de rede"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"Desativada pelo administrador"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"Mostrar opção de bloqueio total"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"Exibir a opção do botão liga/desliga que desativa o Smart Lock, o desbloqueio biométrico e as notificações na tela de bloqueio"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"Agentes de confiança só podem ampliar o desbloqueio"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"Se essa opção for ativada, os agentes de confiança poderão manter o dispositivo desbloqueado por mais tempo, mas não poderão desbloquear o dispositivo"</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"Bloquear tela quando a confiança for perdida"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"Se essa opção for ativada, o dispositivo será bloqueado quando o último agente de confiança perder a confiança"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"Nenhuma"</string>
@@ -390,7 +313,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"Definir Meu local, desbloqueio de tela, bloqueio do chip e do armazenamento de credenciais"</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"Definir o Meu local, o desbloqueio de tela, o bloqueio do armazenamento de credenciais"</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"Privacidade"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"Desativada pelo administrador"</string>
+    <string name="disabled_by_administrator_summary" msgid="5424846182313851124">"Indisponível"</string>
     <string name="security_status_title" msgid="6958004275337618656">"Status da segurança"</string>
     <string name="security_dashboard_summary_face" msgid="4198949293847206382">"Bloqueio de tela, desbloqueio facial"</string>
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Bloqueio de tela, impressão digital"</string>
@@ -693,7 +616,6 @@
       <item quantity="one">Precisa ter menos de <xliff:g id="NUMBER_1">%d</xliff:g> dígito</item>
       <item quantity="other">Precisa ter menos de <xliff:g id="NUMBER_1">%d</xliff:g> dígitos</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"Precisa ter apenas dígitos de 0 a 9"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"O administrador do dispositivo não permite o uso de um PIN recente"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"PINs comuns foram bloqueados pelo seu administrador de TI. Tente um PIN diferente."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"Não pode incluir um caractere inválido"</string>
@@ -724,6 +646,10 @@
       <item quantity="one">Precisa ter pelo menos <xliff:g id="COUNT">%d</xliff:g> caractere que não seja letra</item>
       <item quantity="other">Precisa ter pelo menos <xliff:g id="COUNT">%d</xliff:g> caracteres que não sejam letras</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="one">Precisa ter pelo menos <xliff:g id="COUNT">%d</xliff:g> caractere não numérico</item>
+      <item quantity="other">Precisa ter pelo menos <xliff:g id="COUNT">%d</xliff:g> caracteres não numéricos</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"O administrador do dispositivo não permite usar uma senha recente"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"Senhas comuns foram bloqueadas pelo seu administrador de TI. Tente uma senha diferente."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"Não é permitido usar uma sequência de dígitos em ordem crescente, decrescente ou repetidos"</string>
@@ -837,19 +763,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2,4 GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"Fazer login"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"Abrir site"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"Tempo restante: <xliff:g id="REMAINING_TIME">%1$s</xliff:g>"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"Expira em <xliff:g id="EXPIRY_TIME">%1$s</xliff:g>"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"Toque aqui para fazer login na rede"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"<xliff:g id="REQUESTER">%s</xliff:g> quer ativar o Wi-Fi"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"<xliff:g id="REQUESTER">%s</xliff:g> quer desativar o Wi-Fi"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"Verificar bytecode de apps depuráveis"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Permitir que o ART verifique o bytecode de apps depuráveis"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"Mostrar taxa de atualiz."</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Mostrar a taxa de atualização de tela atual"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"Permitir troca de dados quando o tablet tocar em outro dispositivo"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"Permite troca de dados quando o smartphone encosta em outro dispositivo"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"Permitir troca de dados quando o tablet encostar em um dispositivo NFC"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"Permitir troca de dados quando o smartphone encostar em um dispositivo NFC"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"Ativar NFC"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"O NFC troca dados entre este dispositivo e outros dispositivos ou alvos nas proximidades, tais como terminais de pagamento, leitores de acesso e tags ou anúncios interativos."</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"Proteger NFC"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Exigir desbloqueio de dispositivo para usar a NFC"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"Permitir pagamento por NFC e uso do Transit apenas com a tela desbloqueada"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"Pronto para transmitir conteúdo de apps via NFC"</string>
@@ -923,8 +855,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Ativar"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Busca por Wi‑Fi ativada"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Opções avançadas"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"Lista suspensa de Opções avançadas. Toque duas vezes para recolher."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"Lista suspensa de Opções avançadas. Toque duas vezes para expandir."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Lista suspensa \"Opções avançadas\""</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"expandir"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"Nome da rede"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"Digite o SSID"</string>
     <string name="wifi_security" msgid="9095934643631406913">"Segurança"</string>
@@ -934,6 +866,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"Status"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"Velocidade do link de transmissão"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"Velocidade do link de recepção"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"Velocidade do link"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"Frequência"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"Endereço IP"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"Salvo via"</string>
@@ -941,6 +874,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"Método EAP"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"Autenticação da Fase 2"</string>
     <string name="wifi_eap_ca_cert" msgid="8033404008276298886">"Certificado CA"</string>
+    <string name="wifi_eap_ocsp" msgid="8713933962516871238">"Status de certificado on-line"</string>
     <string name="wifi_eap_domain" msgid="8304301470752333203">"Domínio"</string>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"Certificado do usuário"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"Identidade"</string>
@@ -957,6 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"Escolha pelo menos uma banda para o ponto de acesso Wi-Fi:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"Configurações de IP"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"Privacidade"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"Inscrição"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"Ver ou mudar inscrição"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"MAC aleatório"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"Adicionar um dispositivo"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"Centralize o código QR abaixo para adicionar o dispositivo a “<xliff:g id="SSID">%1$s</xliff:g>”"</string>
@@ -966,12 +902,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"Compartilhar Wi‑Fi"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"Faça a leitura deste código QR para conectar-se a “<xliff:g id="SSID">%1$s</xliff:g>” e compartilhar a senha"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"Faça a leitura deste código QR para conectar-se a “<xliff:g id="SSID">%1$s</xliff:g>”"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"Não foi possível ler o código QR. Centralize a tela no código e tente novamente"</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"Tente novamente. Se o problema persistir, entre em contato com o fabricante do dispositivo"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"Algo deu errado"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"Verifique se o dispositivo está conectado, carregado e ligado"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"Verifique se o dispositivo está conectado, carregado e ligado. Se o problema persistir, entre em contato com o fabricante do dispositivo"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"Não há compatibilidade com a adição de “<xliff:g id="SSID">%1$s</xliff:g>” neste dispositivo"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"Tente aproximar o dispositivo do ponto de acesso/roteador Wi-Fi"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"Verifique a senha e tente novamente"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"Entre em contato com o fabricante do dispositivo"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"Verifique a conexão e tente novamente"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"Escolher rede"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"Para conectar seu dispositivo, escolha uma rede"</string>
@@ -984,11 +922,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"Compartilhando o Wi‑Fi com este dispositivo…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"Conectando…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"Compartilhar ponto de acesso"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"Confirme sua identidade"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"Confirmar sua identidade"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"Senha do Wi-Fi: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"Senha do ponto de acesso: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"Conexão automática"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"Permita que o smartphone se conecte automaticamente quando estiver perto dessa rede"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"Permita que o tablet se conecte automaticamente quando estiver perto dessa rede"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"Adicionar dispositivo"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"Use um código QR para adicionar um dispositivo a esta rede"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"O código QR não está em um formato válido"</string>
     <string name="retry" msgid="7542103800274026915">"Repetir"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"Compartilhar com outros usuários do dispositivo"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(sem alteração)"</string>
@@ -1000,6 +942,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"Nenhum certificado especificado. Sua conexão não será particular."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"O nome da rede é muito longo."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"É necessário especificar um domínio."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"Certificado obrigatório."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"WPS disponível"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (WPS disponível)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"Rede Wi‑Fi de operadora"</string>
@@ -1051,7 +994,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"Wi-Fi avançado"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"Endereço MAC"</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_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>
@@ -1103,7 +1047,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"Use o ponto de acesso para criar uma rede Wi‑Fi para outros dispositivos. O ponto de acesso fornece Internet usando sua conexão de dados móveis. Pode haver cobrança adicional para dados móveis."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"Os apps podem criar um ponto de acesso para compartilhamento de conteúdo com dispositivos nas proximidades."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Desativar ponto de acesso automaticamente"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"O ponto de acesso Wi‑Fi será desativado se nenhum dispositivo for conectado"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Quando nenhum dispositivo está conectado"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"Ativando o ponto de acesso..."</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"Desativando o ponto de acesso..."</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"A rede <xliff:g id="NETWORK_SSID">%1$s</xliff:g> está ativa"</string>
@@ -1112,6 +1056,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"Config. ponto de acesso Wi-Fi"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"Ponto de acesso AndroidAP WPA2 PSK"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"Ponto de acesso Android"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"Salvar essa rede?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"<xliff:g id="APPNAME">%1$s</xliff:g> quer salvar uma rede no smartphone"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"<xliff:g id="APPNAME">%1$s</xliff:g> quer salvar uma rede no tablet"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"Salvando…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"Salva"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"Não é possível salvar. Tente novamente."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"Salvar redes?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"<xliff:g id="APPNAME">%1$s</xliff:g> quer salvar essas redes no smartphone"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"<xliff:g id="APPNAME">%1$s</xliff:g> quer salvar essas redes no tablet"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"Salvando <xliff:g id="NUMBER">%d</xliff:g> redes…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"Redes salvas"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"Chamadas por Wi-Fi"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"Aumentar as chamadas com Wi‑Fi"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"Ativar a chamada no Wi‑Fi para aumentar a cobertura"</string>
@@ -1138,16 +1093,18 @@
     <string name="emergency_address_title" msgid="3490633500025717573">"Endereço de emergência"</string>
     <string name="emergency_address_summary" msgid="3022628750270626473">"Usado como seu local quando você faz uma chamada de emergência usando o Wi‑Fi"</string>
     <string name="private_dns_help_message" msgid="851221502063782306"><annotation id="url">"Saiba mais"</annotation>" sobre recursos de DNS particular"</string>
+    <string name="private_dns_mode_on" msgid="8878679071975375696">"Ativado"</string>
     <string name="wifi_calling_pref_managed_by_carrier" msgid="129524064888622179">"Configuração gerenciada pela operadora"</string>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"Ativar chamada no Wi-Fi"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"Ativar chamada no Wi-Fi"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"Chamadas no Wi-Fi não são compatíveis com a %1$s"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"Desconectado de <xliff:g id="SSID">%1$s</xliff:g>"</string>
     <string name="carrier" msgid="1755020806290963951">"Operadora"</string>
     <string name="display_settings_title" msgid="626835071804834218">"Tela"</string>
     <string name="sound_settings" msgid="5514582720435174014">"Som"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"Volumes"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"Efeitos sonoros"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"Volume do toque"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"Volume de toque e notificação"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"Vibrar no modo silencioso"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"Som de notificação padrão"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"Toque"</string>
@@ -1272,13 +1229,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"Programar"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"Nenhum"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"Ativ. do anoitecer ao amanhecer"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"Ativado nos horários definidos"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"Status"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"Desativado / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"Nunca será ativado automaticamente"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"Será ativada automaticamente ao anoitecer"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"Será ativado automaticamente: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"Ativado / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"Nunca será desativado automaticamente"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"Será desativado automaticamente ao amanhecer"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"Será desativado automaticamente: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"Ativar até <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"Desativar até <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"O tema escuro usa um plano de fundo preto para aumentar a duração da bateria em algumas telas. Ele é ativado apenas depois que a tela é desligada."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"Tempo limite da tela"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"A tela é desativada"</string>
@@ -1290,7 +1252,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"Alterar plano de fundo"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"Personalizar sua tela"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"Selecionar de..."</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"Personalize seu Pixel"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"Personalizar seu smartphone"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"Use diferentes estilos, planos de fundo e muito mais"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"Protetor de tela"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Ao carregar ou quando encaixado na base"</string>
@@ -1379,6 +1341,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"Desconectar cartão USB, ver armazenamento disponível"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"Desmontar o cartão SD, visualizar armazenamento disponível"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (slot para SIM %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"Selecione uma rede salva para vê-la"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"Número de telefone"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (slot para SIM %1$d)"</string>
@@ -1405,6 +1368,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"Roaming"</string>
     <string name="status_operator" msgid="4335640583552058491">"Rede"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"Endereço MAC da rede Wi-Fi"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"Endereço MAC do Wi-Fi do dispositivo"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"Endereço Bluetooth"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Número de série"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Tempo em atividade"</string>
@@ -1617,6 +1581,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Redefinição das configurações padrão do APN concluída."</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"Redefinir opções"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"A rede, os apps ou o dispositivo podem ser redefinidos"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"Os apps podem ser redefinidos"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"Redefinir Wi-Fi, rede móvel e Bluetooth"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"Esta ação redefinirá todas as configurações de rede, inclusive:\n\n"<li>"Wi‑Fi"</li>\n<li>"Dados móveis"</li>\n<li>"Bluetooth"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"Limpar chips salvos"</string>
@@ -1666,6 +1631,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"Ponto de acesso ativado"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"Tethering"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"Não é possível vincular ou usar pontos de acesso portáteis enquanto a Economia de dados está ativada"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"Somente ponto de acesso"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"Somente USB"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"Somente Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"Ponto de acesso, USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"Ponto de acesso, Bluetooth"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB, Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"Ponto de acesso, USB, Bluetooth"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"Não está compartilhando a Internet com outros dispositivos"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"Tethering"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Não usar ponto de acesso Wi-Fi"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Compartilhar Internet apenas por USB"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Compartilhar Internet apenas por Bluetooth"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Compartilhar Internet apenas por USB e Bluetooth"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"Tethering USB"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"Compartilhar conexão com a Internet do smartphone via USB"</string>
@@ -1756,9 +1734,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"Informações de segurança"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"Você não tem uma conexão de dados. Para ver essas informações agora, acesse %s em qualquer computador conectado à Internet."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"Carregando..."</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"Usar PIN"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"Usar padrão"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"Usar senha"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"Configurar o bloqueio de tela"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"Por segurança, defina uma senha"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"Para usar a impressão digital, defina uma senha"</string>
@@ -1767,8 +1742,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"Para usar a impressão digital, defina um PIN"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"Por segurança, defina um padrão"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"Digite sua senha novamente"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"Digite sua senha de trabalho"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"Confirme seu padrão"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"Informe seu padrão de trabalho"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"Digite seu PIN novamente"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"Digite seu PIN de trabalho"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"As senhas não correspondem"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"Os PINs não correspondem"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"Desenhe seu padrão novamente"</string>
@@ -1779,6 +1757,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"Para usar desbloq. facial, defina senha"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"Para usar desbloq. facial, defina padrão"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"Para usar o desbloq. facial, defina PIN"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"Esqueceu sua senha?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"Esqueceu seu padrão?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"Esqueceu seu PIN?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"Use o padrão do dispositivo para continuar"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"Digite o PIN do dispositivo para continuar"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"Digite a senha do dispositivo para continuar"</string>
@@ -1846,6 +1827,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"Permitir todas as origens"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"Apps abertos recentemente"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"Ver todos os <xliff:g id="COUNT">%1$d</xliff:g> apps"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"Entre em contato com o admin. de TI"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"Ele pode ajudar você a redefinir seu PIN, seu padrão ou sua senha"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"Seu tablet e seus dados pessoais estão mais vulneráveis a ataques de apps desconhecidos. Ao instalar apps dessa fonte, você concorda que é responsável por qualquer dano causado ao seu tablet ou pela perda de dados que possa resultar do uso desses apps."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"Seu smartphone e seus dados pessoais estão mais vulneráveis a ataques de apps desconhecidos. Ao instalar apps dessa fonte, você concorda que é responsável por qualquer dano causado ao seu smartphone ou pela perda de dados que possa resultar do uso desses apps."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"Seus dados pessoais e do seu dispositivo são mais vulneráveis a ataques de apps desconhecidos. Ao instalar apps dessa fonte, você concorda que é responsável por qualquer dano causado ao seu dispositivo ou pela perda de dados que possa resultar do uso desses apps."</string>
@@ -1897,7 +1880,7 @@
     <string name="default_emergency_app" msgid="1929974800666613803">"App de emergência"</string>
     <string name="reset_app_preferences" msgid="8861758340732716573">"Redefinir apps"</string>
     <string name="reset_app_preferences_title" msgid="8935136792316050759">"Redefinir apps?"</string>
-    <string name="reset_app_preferences_desc" msgid="1377296810290814749">"Isso redefinirá todas as preferências para:\n\n"<li>"Apps desabilitados"</li>\n<li>"Notificações de apps desabilitados"</li>\n<li>"Apps padrão para ações"</li>\n<li>"Restrições de dados em segundo plano para apps"</li>\n<li>"Qualquer restrição de permissão"</li>\n\n"Você não perderá os dados dos apps."</string>
+    <string name="reset_app_preferences_desc" msgid="6509978724602405805">"Isso redefinirá todas as preferências para:\n\n"<li>" apps desativados;"</li>" \n "<li>"notificações de apps desativados; "</li>\n<li>"apps padrão para ações;"</li>\n<li>"restrições de dados em segundo plano para apps; "</li>\n<li>"qualquer restrição de permissão."</li>\n\n"Você não perderá os dados dos apps."</string>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"Redefinir apps"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"Gerenciar espaço"</string>
     <string name="filter" msgid="9039576690686251462">"Filtro"</string>
@@ -2097,7 +2080,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"Áudio e texto na tela"</string>
     <string name="display_category_title" msgid="6638191682294461408">"Tela"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"Controles de interação"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"Serviços transferidos por download"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"Apps transferidos por download"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"Experimentais"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"Sinalizações de recursos"</string>
     <string name="talkback_title" msgid="8756080454514251327">"Talkback"</string>
@@ -2105,27 +2088,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"Tocar nos itens exibidos na tela para ouvir a leitura deles em voz alta"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"Preferências de legenda"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"Ampliação"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"Área de ampliação"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"Ampliação ativada"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"Escolha a área de ampliação que você quer usar ao ampliar a tela"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"Tela cheia"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"Parte da tela"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"Tela cheia e parte da tela"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"Ampliar toda a tela"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"Ampliar parte da tela"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Configurações de ampliação"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"Ampliar com toque triplo"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Ampliar com atalho"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Ampliar com atalho e toque triplo"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"Sobre <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"Opções"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"Aumentar o zoom na tela"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"Tocar três vezes para ampliar"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Toque em um botão para aplicar zoom"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><b>"Para aplicar zoom"</b>", toque três vezes na tela rapidamente.\n"<ul><li>"Arraste dois ou mais dedos para rolar"</li>\n<li>"Faça um gesto de pinça com dois ou mais dedos para ajustar o zoom"</li></ul>\n\n<b>"Para aplicar zoom temporariamente"</b>", toque rapidamente na tela três vezes e mantenha o dedo pressionado no terceiro toque.\n"<ul><li>"Arraste para mover pela tela"</li>\n<li>"Levante o dedo para diminuir o zoom"</li></ul>\n\n"Não é possível aumentar o zoom no teclado e na barra de navegação."</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"Quando a ampliação está ativada, você pode aumentar o zoom na tela.\n\n"<b>"Para aplicar zoom"</b>", inicie a ampliação e toque em qualquer lugar da tela.\n"<ul><li>"• Arraste com dois ou mais dedos para rolar a tela."</li>\n<li>"• Faça um movimento de pinça com dois ou mais dedos para ajustar o zoom."</li></ul>\n\n<b>"Se quiser aplicar zoom temporariamente"</b>", inicie a ampliação, toque e mantenha pressionada qualquer parte da tela.\n"<ul><li>"• Arraste para mover a visualização."</li>\n<li>"• Levante o dedo para diminuir o zoom."</li></ul>\n\n"Não é possível aumentar o zoom no teclado nem na barra de navegação."</string>
+    <string name="accessibility_screen_magnification_summary" msgid="7617931632990040045">"Aumente o zoom rapidamente na tela para ver o conteúdo com mais clareza.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Para aumentar o zoom:&lt;/b&gt;&lt;br/&gt;	1. Use o atalho para iniciar a ampliação&lt;br/&gt;	2. Toque na tela&lt;br/&gt;	3. Arraste dois dedos para navegar pela tela&lt;br/&gt;	4. Faça um gesto de pinça com dois dedos para ajustar o zoom&lt;br/&gt;	5. Use o atalho para interromper a ampliação.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Para aumentar o zoom temporariamente:&lt;/b&gt;&lt;br/&gt;	1. Use o atalho para iniciar a ampliação&lt;br/&gt;	2. Toque em qualquer lugar da tela e mantenha-o pressionado&lt;br/&gt;	3. Arraste o dedo para se mover pela tela&lt;br/&gt;	4. Solte para parar a ampliação."</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Quando a ampliação está ativada, você pode aumentar o zoom na tela.\n\n"<b>"Para aplicar zoom"</b>", inicie a ampliação e toque em qualquer lugar da tela.\n"<ul><li>"Arraste dois dedos ou mais para rolar a tela."</li>\n<li>"Faça um gesto de pinça com dois ou mais dedos para ajustar o zoom."</li></ul>\n\n<b>"Para aplicar zoom temporariamente"</b>", inicie a ampliação e depois toque em qualquer ponto na tela e mantenha-o pressionado.\n"<ul><li>"Arraste para mover a tela."</li>\n<li>"Levante o dedo para diminuir o zoom."</li></ul>\n\n"Não é possível aumentar o zoom no teclado e na barra de navegação."</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Usar o botão de acessibilidade para abrir"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Usar gesto para abrir"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"Usar o novo gesto de acessibilidade"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"Para ativar ou desativar esse serviço, toque no botão de acessibilidade <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> na parte inferior da tela.\n\nPara alternar entre serviços, toque no botão de acessibilidade e mantenha-o pressionado."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"Para ativar ou desativar esse serviço, deslize de baixo para cima na tela com dois dedos.\n\nPara alternar entre serviços, deslize de baixo para cima na tela com dois dedos sem soltar."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"Para ativar ou desativar esse serviço, deslize de baixo para cima na tela com três dedos.\n\nPara alternar entre serviços, deslize de baixo para cima na tela com três dedos sem soltar."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"Para ativar ou desativar um serviço de acessibilidade, deslize de baixo para cima na tela com dois dedos.\n\nPara alternar entre serviços, deslize de baixo para cima na tela com dois dedos sem soltar."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"Para ativar ou desativar um serviço de acessibilidade, deslize de baixo para cima na tela com três dedos.\n\nPara alternar entre serviços, deslize de baixo para cima na tela com três dedos sem soltar."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"Para ativar ou desativar esse serviço, toque no botão de acessibilidade <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> na parte inferior da tela.\n\nPara alternar entre serviços, toque no botão de acessibilidade e mantenha-o pressionado."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"Para ativar ou desativar esse serviço, deslize de baixo para cima na tela com dois dedos.\n\nPara alternar entre serviços, deslize de baixo para cima na tela com dois dedos sem soltar."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"Para ativar ou desativar esse serviço, deslize de baixo para cima na tela com três dedos.\n\nPara alternar entre serviços, deslize de baixo para cima na tela com três dedos sem soltar."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"Para ativar ou desativar um serviço de acessibilidade, deslize de baixo para cima na tela com dois dedos.\n\nPara alternar entre serviços, deslize de baixo para cima na tela com dois dedos sem soltar."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"Para ativar ou desativar um serviço de acessibilidade, deslize de baixo para cima na tela com três dedos.\n\nPara alternar entre serviços, deslize de baixo para cima na tela com três dedos sem soltar."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"Ok"</string>
+    <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Atalho para <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_edit_summary_software" msgid="2820923641553461297">"Botão de acessibilidade"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture" msgid="8078659880723370597">"Deslizar para cima com dois dedos"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture_talkback" msgid="7422753388389160524">"Deslizar para cima com três dedos"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software" msgid="4796192466943479849">"Toque no botão de acessibilidade"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8922102767509399352">"Tocar no botão de acessibilidade <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> na parte inferior da tela"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"Deslizar de baixo para cima na tela com dois dedos"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"Deslizar de baixo para cima na tela com três dedos"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Manter as teclas de volume pressionadas"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"Pressionar as teclas de volume e mantê-las pressionadas por um segundo"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Tocar na tela três vezes"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"Tocar rapidamente na tela três vezes. Esse atalho pode deixar o dispositivo mais lento."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"Avançado"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"O botão Acessibilidade está definido para <xliff:g id="SERVICE">%1$s</xliff:g>. Para usar a ampliação, toque nesse botão, mantenha-o pressionado e selecione a ampliação."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"O gesto de acessibilidade está definido para <xliff:g id="SERVICE">%1$s</xliff:g>. Para usar a ampliação, deslize de baixo para cima com dois dedos e mantenha a tela pressionada. Em seguida, selecione \"Ampliação\"."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"Atalho do volume"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"Serviço de atalho"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Configurações de atalho"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"Permitir na tela de bloqueio"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"Quando o atalho estiver ativado, pressione ambos os botões de volume por três segundos para iniciar um recurso de acessibilidade."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"Texto em alto contraste"</string>
@@ -2149,24 +2157,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"Escolha por quanto tempo serão mostradas mensagens que exigem uma ação sua, mas que ficam visíveis apenas temporariamente.\n\nNem todos os apps são compatíveis com essa configuração."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"Atraso ao tocar e pressionar"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"Inversão de cores"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"Pode afetar o desempenho"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"Tempo de permanência"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"Usar inversão de cores"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"A inversão de cores escurece telas claras. Isso ajuda pessoas sensíveis à luz forte a ver a tela com mais facilidade.&lt;br/&gt;&lt;br/&gt;Observação: cores escuras ficarão claras. As cores mudarão em mídias e imagens. Você também pode usar o tema escuro (Configurações &gt; Tela)."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"Clique automático (tempo de permanência)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"Se você estiver usando um mouse, poderá configurar o cursor para executar uma ação automaticamente quando ele parar de se mover por determinado período."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"Atraso antes do clique"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"Não usar clique automático (padrão)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"Curto"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0,2 segundos"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"Médio"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0,6 segundos"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"Longo"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 segundo"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"Personalizado"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"Mais curto"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"Mais longo"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"Tempo do clique automático"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"Intensidade da vibração e do retorno tátil"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Vibração de notificação"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Vibração do toque"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Feedback por toque"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"Usar serviço"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"Usar <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"Abrir <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"Usar correção de cor"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"Usar legendas"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"Mostrar legendas"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"Aparência da legenda"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"Tamanho do texto, estilo da legenda"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"Mais opções"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"Nem todos os apps são compatíveis com essa configuração."</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"Botão de acessibilidade"</string>
+    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"Deslizar de baixo para cima com dois dedos"</string>
+    <string name="accessibility_shortcut_type_hardware" msgid="4834144210432451916">"Manter as teclas de volume pressionadas"</string>
+    <string name="accessibility_shortcut_type_triple_tap" msgid="7717524216825494543">"Tocar na tela três vezes"</string>
     <string name="accessibility_hearingaid_instruction_continue_button" msgid="3367260988024430722">"Continuar"</string>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"Aparelhos auditivos"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"Nenhum aparelho auditivo conectado"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"Adicionar aparelhos auditivos"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"Para parear aparelhos auditivos, localize seu dispositivo na próxima tela e toque nele."</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"Verifique se seus aparelhos auditivos estão no modo de pareamento."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"Para parear aparelhos auditivos, localize seu dispositivo na próxima tela e toque nele. Verifique se seus aparelhos auditivos estão no modo de pareamento."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ativo"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> aparelho auditivo salvo</item>
@@ -2178,25 +2204,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Este serviço está com problemas."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Mostrar em \"Configurações rápidas\""</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"Modo de correção"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="one">Atraso extremamente curto (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Atraso extremamente curto (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Vermelho-verde"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"Verde-vermelho"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Azul-amarelo"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"Deuteranomalia"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"Protanomalia"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"Tritanomalia"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="one">Atraso extremamente curto (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> segundo)</item>
+      <item quantity="other">Atraso extremamente curto (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> segundos)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="one">Atraso muito curto (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Atraso muito curto (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="one">Atraso muito curto (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> segundo)</item>
+      <item quantity="other">Atraso muito curto (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> segundos)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="one">Atraso curto (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Atraso curto (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="one">Atraso curto (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> segundo)</item>
+      <item quantity="other">Atraso curto (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> segundos)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="one">Atraso longo (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Atraso longo (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="one">Atraso longo (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> segundo)</item>
+      <item quantity="other">Atraso longo (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> segundos)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="one">Atraso muito longo (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Atraso muito longo (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="one">Atraso muito longo (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> segundo)</item>
+      <item quantity="other">Atraso muito longo (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> segundos)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> segundo</item>
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> segundos</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"Toque sonoro: <xliff:g id="SUMMARY_RING">%1$s</xliff:g>, Notificação: <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>, Toque tátil: <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"Toque e notificação desativados"</string>
@@ -2513,7 +2549,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"Quando foi desconectado pela última vez para <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"Total de uso"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"Atualizar"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"Sistema operacional Android"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"Servidor de mídia"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"Otimização do app"</string>
     <string name="battery_saver" msgid="7737147344510595864">"Economia de bateria"</string>
@@ -2594,8 +2629,7 @@
     <string name="tts_play" msgid="2945513377250757221">"Reproduzir"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"Armazenamento de credenciais"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"Instalar do armazenamento"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"Instalar do cartão SD"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"Instalar um certificado"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"Instalar certificados do armazenamento"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"Instalar certificados do cartão SD"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"Limpar credenciais"</string>
@@ -2615,6 +2649,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"Armazenamento de credenciais apagado."</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"Armaz. de creden. não apagado."</string>
     <string name="usage_access_title" msgid="1580006124578134850">"Apps com acesso ao uso"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"Certificado de CA"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"Cert. do usuário do app e VPN"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"Certificado de Wi-Fi"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"Sua privacidade está em risco"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"Os certificados de CA são usados por sites, apps e VPNs para criptografia. Instale apenas os certificados de CA de organizações em que você confia. \n\n Se você instalar um certificado de CA, o proprietário do certificado poderá acessar suas informações, como senhas, mensagens ou detalhes do cartão de crédito, nos sites visitados ou apps usados, mesmo que esses dados estejam criptografados."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"Não instalar"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"Instalar mesmo assim"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"Certificado não instalado"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"Sinal de discagem de emergência"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Definir comportamento durante uma chamada de emergência"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Backup"</string>
@@ -2642,10 +2684,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"Desativar e desinstalar"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"Apps do administrador do dispositivo"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"Nenhum app de administrador do dispositivo disponível"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"Pessoal"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"Trabalho"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"Restringir acesso a SMS e registro de chamadas"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"Apenas apps padrão de chamadas e mensagens têm permissões para SMS e registro de chamadas"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"Nenhum agente de confiança disponível"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"Ativar app de admin. do dispositivo?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"Ativar o app de administrador deste dispositivo"</string>
@@ -2659,6 +2697,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"Outras opções estão desativadas pelo seu administrador"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"Mais detalhes"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"Registro de notificação"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"Histórico de notificações"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"Hoje"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"Adiadas"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"Dispensadas recentemente"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="one"><xliff:g id="NUMBER_1">%d</xliff:g> notificação</item>
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> notificações</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"Toque e vibração de chamadas"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"Detalhes da rede"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"Sincronização ativada"</string>
@@ -3008,7 +3054,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"Restrições"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"Remover restrições"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"Alterar PIN"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"Mostrar notificações"</string>
     <string name="help_label" msgid="2896538416436125883">"Ajuda e feedback"</string>
     <string name="support_summary" msgid="1034146931237148885">"Ajuda, início, telefone e bate-papo"</string>
     <string name="user_account_title" msgid="6389636876210834864">"Conta para conteúdo"</string>
@@ -3033,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"Chamada 4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Usar serviços de LTE para melhorar a comunicação por voz e de outros tipos (recomendado)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Usar os serviços 4G para melhorar comunicações por voz e de outros tipos (recomendado)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Descoberta de contatos"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Permite que sua operadora descubra quais recursos de chamada são compatíveis com seus contatos."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Ativar descoberta de contatos?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Ativar esse recurso permitirá que sua operadora acesse números de telefone nos seus contatos para descobrir quais recursos de chamada são compatíveis."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Tipo de rede preferencial"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (recomendado)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"Mensagens MMS"</string>
@@ -3077,7 +3126,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"Ligar com"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"Selecionar um chip"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"Chip <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"Chip vazio"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"Nome do chip"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"Inserir nome do chip"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"Slot para chip %1$d"</string>
@@ -3087,6 +3135,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"Selecionar chip"</string>
     <string name="color_orange" msgid="216547825489739010">"Laranja"</string>
     <string name="color_purple" msgid="6603701972079904843">"Roxo"</string>
+    <string name="color_pink" msgid="8596872110888626708">"Rosa"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"Nenhum chip inserido"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"Status do chip"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"Status do chip (slot para SIM %1$d)"</string>
@@ -3100,7 +3149,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"Alteração em chips."</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Toque para configurar"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"Chip preferido para"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Perguntar sempre"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Seleção necessária"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"Seleção de chip"</string>
@@ -3118,6 +3166,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"Bluetooth, Modo carro"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"Bluetooth, NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"Bluetooth"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"Indisponível porque a NFC está desativada"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"Apps e notificações"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Apps recentes, apps padrão"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"O acesso às notificações não está disponível para apps no perfil de trabalho."</string>
@@ -3128,13 +3177,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"Configurações"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"wifi, Wi-Fi, conexão de rede, Internet, sem fio, dados, wi fi"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"Notificação de Wi‑Fi, notificação de wifi"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"uso de dados"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"Parar vibração, toque, teclado"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"Usar formato de 24 horas"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"Download"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"Abrir com"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"Apps"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"fuso horário"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"Cabeçalho do chat"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"Ícone do chat, sistema, alerta, janela, diálogo, tela, sobre outros apps, sobrepor"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"Lanterna, Luz, Luminária"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"wifi, wi-fi, alternar, controle"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"celular, dispositivo móvel, operadora de celular, sem fio, dados, 4g, 3g, 2g, lte"</string>
@@ -3158,7 +3208,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"não perturbe, interromper, interrupção"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"por perto, local, histórico, relatório, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"conta"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"conta, adicionar uma conta, perfil de trabalho, adicionar conta"</string>
     <string name="keywords_users" msgid="3497517660077620843">"restrição, restringir, restrito"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"correção de texto, corrigir, som, vibrar, automático, idioma, gesto, sugerir, sugestão, tema, ofensivo, palavra, digitar, emoji, internacional"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"redefinir, preferências, padrão"</string>
@@ -3196,6 +3246,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"memória, cache, dados, excluir, limpar, liberar, espaço"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"conectado, dispositivo, fones de ouvido, headset, alto-falante, sem fio, parear, música, mídia"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"plano de fundo, tela, tela de bloqueio, tema"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"formato do ícone, cor de destaque, fonte"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"padrão, assistente"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"pagamento, padrão"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"notificação recebida"</string>
@@ -3205,18 +3256,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"funcionalidade tátil, vibração, sensibilidade"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"economia de bateria, fixo, persistir, economia de energia, bateria"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"rotina, agenda, economia de bateria, economia de energia, bateria, automático, percentagem"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"perfil de trabalho"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"volte, chamada avançada, chamadas por 4g"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"adicionar idioma, adicionar um idioma"</string>
     <string name="default_sound" msgid="6604374495015245195">"Som padrão"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"Volume do toque em <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"Volume de toque e notificação em <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Volume, vibração, Não perturbe"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"Campainha configurada para vibrar"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"Campainha silenciada"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"Volume do toque em 80%"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"Volume de toque e notificação em 80%"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Volume de mídia"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Volume da transmissão"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"Volume das chamadas"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"Volume do alarme"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"Volume do toque"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"Volume de toque e notificação"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"Volume das notificações"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"Toque do telefone"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"Som de notificação padrão"</string>
@@ -3224,6 +3276,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"Som de notificação padrão"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"Som de alarme padrão"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"Vibrar para chamadas"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"Nunca vibrar"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"Sempre vibrar"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"Vibrar primeiro e usar o toque gradual"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"Outros sons"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"Tons de discagem"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"Sons de bloqueio de tela"</string>
@@ -3247,6 +3302,7 @@
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> ativadas</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Não perturbe"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Receber notificações apenas de pessoas e apps importantes"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Limitar interrupções"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Ativar o \"Não perturbe\""</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"Exceções"</string>
@@ -3273,7 +3329,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Bloquear perturbações visuais"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Permitir sinais visuais"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"Quando o Não perturbe estiver ativado"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"Permitir interrupções que emitem sons"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"Restringir notificações"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Desativar som de notificações"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"Você verá as notificações na sua tela"</string>
@@ -3304,7 +3360,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"Som e vibração"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"Som, vibração e alguns sinais visuais de notificações"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"Som, vibração e sinais visuais de notificações"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"As notificações necessárias para atividades básicas do smartphone e o status nunca serão ocultados"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"As notificações necessárias para status e atividades básicas do smartphone nunca ficarão ocultas."</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"Nenhum"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"outras opções"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"Adicionar"</string>
@@ -3334,10 +3390,12 @@
       <item quantity="one"><xliff:g id="ON_COUNT">%d</xliff:g> programação pode ser ativada automaticamente</item>
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> programações podem ser ativadas automaticamente</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"Desativar sons do dispositivo, mas permitir exceções"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"Exceções"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"Programação"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"Ver todas as exceções"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"Exceções quando o \"Não perturbe\" está ativado"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"Pessoas"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"Apps"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"Alarmes e outras interrupções"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"Programações"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"Notificações silenciadas"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"Quando o Não perturbe estiver ativado, sons e vibrações serão desativados, com exceção dos itens permitidos por você acima."</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"Desativar todos os sons, exceto"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"Som desativado"</string>
@@ -3381,16 +3439,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"Notificações adaptáveis"</string>
     <string name="asst_capability_prioritizer_title" msgid="1181272430009156556">"Prioridade de notificação adaptável"</string>
     <string name="asst_capability_prioritizer_summary" msgid="954988212366568737">"Definir automaticamente as notificações de prioridade baixa como \"Discretas\""</string>
+    <string name="asst_capability_ranking_title" msgid="312998580233257581">"Classificação adaptativa de notificações"</string>
+    <string name="asst_capability_ranking_summary" msgid="2293524677144599450">"Classificar notificações automaticamente por relevância"</string>
     <string name="asst_capabilities_actions_replies_title" msgid="4392470465646394289">"Respostas e ações sugeridas"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"Mostrar automaticamente as respostas e ações sugeridas"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"Ative o histórico de notificações para controlar notificações antigas e adiadas"</string>
+    <string name="notification_history" msgid="8663811361243456201">"Histórico de notificações"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"Ativar histórico"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"Desativar histórico"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"O histórico de notificações está desativado"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"ver configurações de notificação"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Permitir soneca para notificações"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"Ocultar ícones das notificações discretas"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"Os ícones de notificações discretas não são exibidos na barra de status"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"Permitir pontos de notificação"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"Mostrar faixa de conversas recentes"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Balões"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"Algumas notificações podem ser exibidas como balões na tela"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"Notificações e outros conteúdos podem aparecer como balões na tela. Para abrir um balão, toque nele. Para dispensá-lo, arraste-o para baixo."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Balões"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"Novas mensagens serão exibidas na tela"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"Permitir que <xliff:g id="APP_NAME">%1$s</xliff:g> mostre algumas notificações na forma de balões"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"Ativar balões"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"Se quiser ativar os balões para este app, é necessário ativá-los primeiramente no seu dispositivo. Isso afeta outros apps em que os balões foram ativado anteriormente."</string>
@@ -3408,6 +3476,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"Exibir na aba suspensa e na tela de bloqueio"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"Exibir na aba suspensa e na barra de status"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"Exibir na aba suspensa, barra de status e tela de bloqueio"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"Ocultar notificações silenciosas na barra de status"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"Piscar a luz"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"Tela de bloqueio"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"Pular tela de bloqueio"</string>
@@ -3438,6 +3507,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"Comportamento"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"Permitir som"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"Nunca mostrar notificações"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"Conversas"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"Conversa"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"Não é uma conversa"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"Remover da seção de conversa"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"Esta é uma conversa"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"Adicionar à seção de conversas"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"Gerenciar conversas"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"Conversas importantes"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"Todas as conversas"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"Mostrar conversas importantes em balões"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"Conversas importantes são mostradas na parte superior da aba suspensa. Você também pode configurá-las para que sejam mostradas em balões e interrompam o modo \"Não perturbe\"."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"Mostrar de forma silenciosa e minimizada"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"Mostrar de forma silenciosa"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"Emitir som"</string>
@@ -3456,7 +3536,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"Ajuda você a manter o foco sem som ou vibração"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"Chama sua atenção com som ou vibração"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"Quando o dispositivo estiver desbloqueado, mostrar notificações em um banner no topo da tela"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"Mostrar notificações"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"Todas as notificações do app <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"Notificações adaptáveis"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="one">Cerca de <xliff:g id="NUMBER_1">%d</xliff:g> notificação por dia</item>
@@ -3477,6 +3557,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"Notificações adaptáveis"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"Nenhum"</string>
     <string name="no_notification_listeners" msgid="2839354157349636000">"Nenhum app instalado solicitou o acesso a notificações."</string>
+    <string name="notification_access_detail_switch" msgid="46386786409608330">"Permitir acesso às notificações"</string>
     <string name="notification_assistant_security_warning_title" msgid="2972346436050925276">"Permitir que <xliff:g id="SERVICE">%1$s</xliff:g> acesse as notificações?"</string>
     <string name="notification_assistant_security_warning_summary" msgid="3119843404577399036">"O <xliff:g id="NOTIFICATION_ASSISTANT_NAME">%1$s</xliff:g> poderá ler todas as notificações, incluindo informações pessoais, como nomes de contato e o texto das mensagens que você recebe. O app também poderá modificar e dispensar notificações ou acionar botões de ação que elas contenham. \n\nIsso também autoriza o app a ativar ou desativar o modo \"Não perturbe\" e alterar as configurações relacionadas."</string>
     <string name="notification_listener_security_warning_title" msgid="5791700876622858363">"Permitir que <xliff:g id="SERVICE">%1$s</xliff:g> acesse as notificações?"</string>
@@ -3538,8 +3619,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"Concluído"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"Importância"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"Piscar a luz"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"Vibrar"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"Vibração"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"Som"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"Importante"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"Adicionar à tela inicial"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"Excluir"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"Renomear"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"Nome da programação"</string>
@@ -3593,6 +3676,10 @@
       <item quantity="one">mais <xliff:g id="NUM_PEOPLE">%d</xliff:g></item>
       <item quantity="other">mais <xliff:g id="NUM_PEOPLE">%d</xliff:g></item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Conversas"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"De todas as conversas"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"De conversas importantes"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"Não permitir conversas"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"Permitir mensagens"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"Para garantir que as mensagens permitidas emitam sons, verifique se o dispositivo está configurado para tocar, vibrar ou no silencioso."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"Durante \"<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>\", as mensagens recebidas são bloqueadas. Você pode ajustar as configurações para permitir que seus amigos, familiares ou outros contatos falem com você."</string>
@@ -3606,15 +3693,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"Nenhum"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"Não permitir chamadas"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"Não permitir mensagens"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"Permitir alarmes"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"Alarmes"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"De timers, alarmes, sistemas de segurança e outros apps"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"alarmes"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"Reproduzir sons de mídia"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"Sons de mídia"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"De vídeos, jogos e outras mídias"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"mídia"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"Permitir sons de toque"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"Sons de toque"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"Do seu teclado e outros botões"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"sons de toque"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"Permitir lembretes"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"Lembretes"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"De tarefas e lembretes"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"lembretes"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"Permitir eventos"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"Eventos"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"De eventos futuros da agenda"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Permitir que apps modifiquem o \"Não perturbe\""</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"Exceções de apps"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3657,6 +3749,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"Permitir que as notificações silenciadas pelo modo \"Não perturbe\" ativem a tela"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"Configurações de notificação"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"Ok"</string>
+    <string name="suggestion_button_close" msgid="6865170855573283759">"Fechar"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Enviar feedback sobre o dispositivo"</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"Inserir PIN do administrador"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"Ativada"</string>
@@ -3667,6 +3760,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Pedir PIN antes de desafixar"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Pedir senha antes de desafixar"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Bloquear dispositivo ao desafixar"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Confirmar exclusão do chip"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"Confirme sua identidade antes de apagar um chip transferido por download"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"O perfil de trabalho é gerenciado por:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"Gerenciado por <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(Experimental)"</string>
@@ -3741,8 +3836,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"Todos os apps"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Apps instalados"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Apps instantâneos"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"Pessoais"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"Trabalho"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"Apps: todas"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"Desativado"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"Categorias: importância urgente"</string>
@@ -3754,6 +3847,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"App desconhecido"</string>
     <string name="app_permissions" msgid="8666537659217653626">"Gerenciar permissões"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"Apps usando <xliff:g id="APPS">%1$s</xliff:g>"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"Apps usando <xliff:g id="APPS">%1$s</xliff:g> e mais"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"Tocar para ativar"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"Toque duas vezes em qualquer parte da tela para ativar o dispositivo"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"Abrir links"</string>
@@ -3765,9 +3859,14 @@
       <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> app que abre links compatíveis</item>
       <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> apps que abrem links compatíveis</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"Abrir neste app"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"Permitir que o app abra links compatíveis"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"Perguntar sempre"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"Não abrir neste app"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"Não permitir que o app abra links"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="one">O app processará <xliff:g id="COUNT_1">%d</xliff:g> link</item>
+      <item quantity="other">O app processará <xliff:g id="COUNT_1">%d</xliff:g> links</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"O app processará estes links:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"Padrão"</string>
     <string name="default_for_work" msgid="537558180548617528">"Padrão para trabalho"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"Assistivo e voz"</string>
@@ -3911,8 +4010,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"Sobrepor a outros apps"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Permitir sobreposição a outros apps"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"Permite que esse app seja exibido em sobreposição a outros apps que você esteja usando. Pode haver interferência no uso e alteração nas atividades desses apps."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"Acesso a todos os arquivos"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"Acesso para gerenciar todos os arquivos"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Permitir que o app leia, modifique e exclua todos os arquivos deste dispositivo ou de qualquer volume de armazenamento conectado. Se a permissão for concedida, o app poderá acessar arquivos sem nenhum aviso prévio."</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"Pode acessar todos os arquivos"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"rv realidade virtual ouvinte estéreo serviço de ajuda"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"alerta do sistema janela caixa de diálogo sobreposição apps"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"Sobrepor a outros apps"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"<xliff:g id="COUNT_0">%1$d</xliff:g> de <xliff:g id="COUNT_1">%2$d</xliff:g> apps têm permissão para serem sobrepostos a outros apps"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"Apps com permissão"</string>
@@ -4078,6 +4180,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"<xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g> usados"</string>
     <string name="data_overusage" msgid="3680477320458707259">"<xliff:g id="ID_1">^1</xliff:g> acima do limite"</string>
     <string name="data_remaining" msgid="6316251496381922837">"<xliff:g id="ID_1">^1</xliff:g> restante(s)"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"Gráfico que mostra o uso de dados entre <xliff:g id="START_DATE">%1$s</xliff:g> e <xliff:g id="END_DATE">%2$s</xliff:g>."</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"Nenhum dado neste período"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="one">%d dia restante</item>
       <item quantity="other">%d dias restantes</item>
@@ -4141,14 +4245,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"tamanho do lote"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"alerta por notificação"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"som"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"vibração"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"padrão"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"padrão"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"canal"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"nenhum"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"O objeto de classificação está ausente."</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"O objeto de classificação não contém essa chave."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"Aplicação de temas"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"Padrão do dispositivo"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"Corte da tela"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"corte de tela, entalhe"</string>
@@ -4237,8 +4337,12 @@
     <string name="information_label" msgid="6939310810756569298">"Informações"</string>
     <string name="low_label" msgid="6525629096999711220">"Baixa"</string>
     <string name="high_label" msgid="357503396626018487">"Alta"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"Uma sensibilidade maior pode causar conflitos com gestos de apps ao longo das bordas da tela."</string>
+    <string name="left_edge" msgid="1513576842959071849">"Borda esquerda"</string>
+    <string name="right_edge" msgid="1505309103265829121">"Borda direita"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"Uma sensibilidade maior pode causar conflitos com gestos de apps ao longo das bordas da tela."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"Sensibilidade da parte de trás"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"Configurações de gestos"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"navegação por gestos, sensibilidade na parte de trás, gestos de retorno"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"Tocar duas vezes na tela para verificar o smartphone"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"Tocar duas vezes na tela para verificar o tablet"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"Tocar duas vezes na tela para verificar o dispositivo"</string>
@@ -4393,7 +4497,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"Acionar aprovisionamento da operadora"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"Atualizar o modo Não perturbe"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"Pausar notificações para manter o foco"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"Este recurso não está disponível neste dispositivo"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"Recurso não disponível"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"Esse recurso foi desativado porque causa lentidão no seu smartphone"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"Forçar medições completas de GNSS"</string>
@@ -4403,20 +4506,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"Selecionar app ativado para ANGLE"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"Nenhum conjunto de aplicativos ativados para ANGLE"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"Aplicativo ativado para ANGLE: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"Preferências do driver de jogo"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"Modificar configurações do driver de jogo"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"Quando o driver de jogo estiver ativado, você poderá usar o driver gráfico atualizado dos apps instalados no dispositivo."</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"Ativar para todos os apps"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"Selecionar driver gráfico"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"Padrão"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"Driver de jogo"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"Driver de pré-lançamento"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"Driver gráfico do sistema"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"Preferências do driver gráfico"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"Modificar configurações do driver gráfico"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"Quando houver vários drivers gráficos, você poderá usar o driver gráfico atualizado dos apps instalados no dispositivo."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"Ativar para todos os apps"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"Selecionar driver gráfico"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"Padrão"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"Driver de jogo"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"Developer Driver"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Driver gráfico do sistema"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Mudanças na compatibilidade do app"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Alternar mudanças de compatibilidade do app"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Mudanças ativadas padrão"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Mudanças desativadas padrão"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"A configuração não está disponível neste smartphone"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"A configuração não está disponível neste tablet"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"A configuração não está disponível neste dispositivo"</string>
@@ -4435,6 +4544,11 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"Dispositivo"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Indisponível durante chamadas"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"Indisponível"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"Adicionar saídas"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"Grupo"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 dispositivo selecionado"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> dispositivos selecionados"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"Alternando…"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Atender chamada"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Esse APN não pode ser alterado."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Melhorar a duração da bateria do tablet"</string>
@@ -4552,10 +4666,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Somente um chip transferido por download pode estar ativo por vez.\n\nAlternar para <xliff:g id="CARRIER1">%1$s</xliff:g> não cancelará o serviço da operadora <xliff:g id="CARRIER2">%2$s</xliff:g>."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Alternar para operadora <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Limpar chip"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Limpar este chip transferido por download?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"A limpeza deste chip remove o serviço da operadora <xliff:g id="CARRIER_0">%1$s</xliff:g> deste dispositivo.\n\nO serviço da <xliff:g id="CARRIER_1">%2$s</xliff:g> não será cancelado."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Limpar"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Limpando chip…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Não é possível limpar o chip"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Este chip não pode ser limpo devido a um erro.\n\nReinicie o dispositivo e tente novamente."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Tipo de rede preferencial"</string>
@@ -4580,7 +4690,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Modo de rede <xliff:g id="NETWORKMODEID">%1$d</xliff:g> inválido. Ignorar."</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Nomes dos pontos de acesso"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Indisponível quando conectado à <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"Informações médicas, contatos de emergência"</string>
     <string name="see_more" msgid="7499355691042812723">"Ver mais"</string>
     <string name="see_less" msgid="2642392725363552793">"Ver menos"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"Dispositivo para usar com <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
@@ -4589,11 +4698,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"Algo deu errado. O aplicativo cancelou a solicitação para selecionar um dispositivo."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"Conexão realizada"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"Mostrar tudo"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> dispositivo conectado</item>
-      <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> dispositivos conectados</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"Nenhum dispositivo Bluetooth"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"Procurando dispositivo…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"Conectando ao dispositivo…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"Esquerdo"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"Direito"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Estojo"</string>
@@ -4603,6 +4709,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"Indisponível no modo avião"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"Forçar modo de área de trabalho"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Forçar o modo de área de trabalho experimental em telas secundárias"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"Ativar sizecompat em forma livre"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"Permite que apps sizecompat fiquem em forma livre"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Modificar o recurso forçar modo escuro"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"Modificar o recurso de forçar modo escuro para que fique sempre ativado"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"Privacidade"</string>
@@ -4639,6 +4747,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Você instalou este app recentemente."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Alterar saída"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Tocando atualmente no <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (desconectado)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Impossível mudar. Toque e tente de novo."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Informações importantes"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"CONTINUAR"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"NÃO"</string>
@@ -4666,8 +4776,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"Combinação de chips"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Informações sobre sua política de trabalho"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Configurações gerenciadas pelo administrador de TI"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"Gerenciador de relatórios de bugs"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Determina qual app gerencia o atalho do relatório do bug no dispositivo."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Pessoais"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"Trabalho"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"Padrão do sistema"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"Essa opção não é mais válida. Tente novamente."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"Parar transmissão"</string>
 </resources>
diff --git a/res/values-ro/arrays.xml b/res/values-ro/arrays.xml
index f12e145..d397e2f 100644
--- a/res/values-ro/arrays.xml
+++ b/res/values-ro/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"Imediat"</item>
     <item msgid="463591454172790676">"5 secunde"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"Nu se validează"</item>
+    <item msgid="5703177653586269306">"Solicitați starea certificatelor"</item>
+    <item msgid="326388247868439528">"Solicitați starea certificatelor"</item>
+    <item msgid="1090956283885790552">"Solicitați toate stările certificatelor care nu prezintă încredere"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"Buton WPS"</item>
     <item msgid="2630618799033509548">"Codul PIN de la disp. pereche"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"Niciuna"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"IPSec VPN cu chei predistribuite și autentificare Xauth"</item>
     <item msgid="2484564813864139237">"IPSec VPN cu certificate și autentificare Xauth"</item>
     <item msgid="68918911194507915">"IPSec VPN cu certificate și autentificare hibridă"</item>
+    <item msgid="4631647675167100375">"VPN IKEv2/IPSec cu certificate și autentificare cu nume de utilizator/parolă"</item>
+    <item msgid="8812228622975052811">"VPN IKEv2/IPSec cu chei predistribuite"</item>
+    <item msgid="6630554779981113046">"VPN IKEv2/IPSec cu certificate"</item>
   </string-array>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"Niciunul"</item>
diff --git a/res/values-ro/config.xml b/res/values-ro/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-ro/config.xml
+++ b/res/values-ro/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index d5f501f..169184d 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -32,49 +32,17 @@
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Mai întâi activați opțiunile pentru dezvoltatori."</string>
     <string name="header_category_wireless_networks" msgid="303445626075235229">"Wireless și rețele"</string>
     <string name="header_category_system" msgid="1665516346845259058">"Sistem"</string>
-    <string name="radio_info_data_connection_enable" msgid="7500945447906187613">"Activați conexiunea de date"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"Dezactivați conexiunea de date"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"Oferit de VoLTE"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"Apelarea video este configurată"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"Apelarea prin Wi-Fi este configurată"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"Setări configurate pentru EAB/prezență"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"Date CBRS"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"Activați DSDS"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"Reporniți dispozitivul?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"Trebuie să reporniți dispozitivul pentru a modifica setarea."</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"Reporniți"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"Anulați"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"Alimentare radio celular"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"Afișați agenda de pe SIM"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"Afișați numerele fixe de apelare"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"Vedeți numere de apelare de serviciu"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"Starea serviciului IMS"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"Stare IMS"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"Înregistrat"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"Neînregistrat"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"Disponibil"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"Indisponibil"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"Înregistrare IMS: <xliff:g id="STATUS">%1$s</xliff:g>\nVoice prin LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nVoce prin WiFi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nApelare video: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nInterfață UT: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"În aria de acoperire"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"În afara ariei de acoperire"</string>
     <string name="radioInfo_service_emergency" msgid="6838935881091760942">"Numai apeluri de urgență"</string>
     <string name="radioInfo_service_off" msgid="6184928420860868571">"Radio oprit"</string>
     <string name="radioInfo_roaming_in" msgid="8892550453644088692">"Roaming"</string>
     <string name="radioInfo_roaming_not" msgid="3137594549464975054">"Nu se utilizează roamingul"</string>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"Inactiv"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"Sună"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"Apel în desfășurare"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"Deconectată"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"Se conectează"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"Conectat"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Suspendat"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Necunoscut"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"pachete"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"octeți"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"Demontați stocarea USB"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"Demontați cardul SD"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"Ștergeți stocarea USB"</string>
@@ -84,7 +52,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"Măriți sau micșorați textul de pe ecran."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Micșorați"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Măriți"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"Exemplu de text"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"Minunatul Vrăjitor din Oz"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"Capitolul 11: Minunatul Oraș de Smarald Oz"</string>
@@ -175,9 +142,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"Trebuie să reporniți dispozitivul pentru a modifica setarea."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"Reporniți"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"Anulați"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"Dispozitive media disponibile"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"Dispozitive de apel disponibile"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"Conectat în prezent"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"Dispozitive media"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"Dispozitive de apel"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"Alte dispozitive"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Dispozitive salvate"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth se va activa pentru asociere"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Preferințe pentru conexiune"</string>
@@ -210,46 +177,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"Portul introdus nu este valid."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"Proxy-ul HTTP este utilizat de browser, dar nu poate fi utilizat de alte aplicații."</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"Adresă URL fișier PAC: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"SubId curent:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"SubId pentru SIM-ul de date prestabilit:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"Lățime de bandă de descărcare (kbps):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"Lățime de bandă de încărcare (kbps):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"Informații despre localizarea celulei (învechite):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"Configurarea canalului fizic LTE:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"Frecvența de actualizare a informațiilor despre celulă:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"Toate informațiile de măsurare despre celulă:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"Serviciu de date:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"Roaming:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"Redirecționare apel:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"Numărul de resetări PPP de la pornire:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"Rețeaua actuală:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"Date primite:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"Serviciu de voce:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"Puterea semnalului:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"Stare apel vocal:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"Date trimise:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"Mesaj în așteptare:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"Număr de telefon:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"Selectați banda radio"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"Tipul rețelei de voce:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"Tipul rețelei de date:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"Selectați indexul telefonului"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"Setați tipul preferat de rețea:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"Dați ping adresei IPv4 a numelui de gazdă (www.google.com):"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"Dați ping adresei IPv6 a numelui de gazdă (www.google.com):"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"Test client HTTP:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"Efectuați testul de ping"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"Actualizați"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"Actualizați"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"Activați/dezactivați verificarea DNS"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"Informații/Setări caracteristice OEM"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"Setați Modul bandă radio"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"Se încarcă lista de benzi…"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"Setați"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"Nereușit"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"Reușit"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"Modificările intră în vigoare când se reconectează cablul USB."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"Activați stocarea în masă prin USB"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"Număr total de octeți:"</string>
@@ -287,10 +218,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"Mutați jos"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"Eliminați limba"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"Alegeți activitatea"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"Informații despre dispozitiv"</string>
     <string name="display_label" msgid="3056320781191343221">"Ecran"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"Informații tabletă"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"Informații telefon"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"Stocare USB"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"Card SD"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"Setări proxy"</string>
@@ -308,9 +236,6 @@
     <string name="airplane_mode" msgid="3196085857882526817">"Mod Avion"</string>
     <string name="wireless_networks_settings_title" msgid="8557542379234105369">"Wireless și rețele"</string>
     <string name="radio_controls_summary" msgid="9028430178697624501">"Gestionați rețelele Wi-Fi, funcția Bluetooth, modul Avion, rețelele mobile și rețelele VPN"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"Date mobile"</string>
-    <string name="calls_title" msgid="6334813967619899114">"Permiteți apelurile"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"Mesaje SMS"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"Permiteți utilizarea datelor mobile"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"Permiteți utilizare date în roaming"</string>
     <string name="roaming" msgid="3055365654530847985">"Roaming"</string>
@@ -318,9 +243,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"Conectați-vă la serviciile de date în roaming"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"Ați pierdut conectivitatea la date deoarece ați părăsit rețeaua de domiciliu neavând activat roamingul."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"Activați"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"Se pot acumula costuri mari."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"Dacă permiteți roamingul de date, puteți acumula cheltuieli considerabile pentru roaming!\n\nAceastă setare afectează toți utilizatorii de pe această tabletă."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"Dacă permiteți roamingul de date, puteți acumula cheltuieli considerabile pentru roaming!\n\nAceastă setare afectează toți utilizatorii de pe acest telefon."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"Se pot aplica tarife de roaming."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"Dacă permiteți roamingul de date, se pot aplica tarife de roaming.\n\nAceastă setare afectează toți utilizatorii de pe această tabletă."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"Dacă permiteți roamingul de date, se pot aplica tarife de roaming.\n\nAceastă setare afectează toți utilizatorii de pe acest telefon."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"Permiteți roamingul de date?"</string>
     <string name="networks" msgid="5184501333492775095">"Selectarea operatorului"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"Alegeți un operator de rețea"</string>
@@ -361,8 +286,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"Dezactivat de administrator"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"Afișați opțiunea de blocare strictă"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"Afișați opțiunea butonului de pornire care dezactivează Smart Lock, deblocarea biometrică și notificările pe ecranul de blocare"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"Doar agenții de încredere mențin dispozitivul deblocat mai mult timp"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"Dacă este activată această opțiune, agenții de încredere vor menține dispozitivul deblocat mai mult timp, dar nu mai pot debloca un dispozitiv blocat."</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"Ecranul de blocare când încrederea este pierdută"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"Dacă este activată, dispozitivul se va bloca atunci când ultimul agent de încredere pierde încrederea"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"Niciunul"</string>
@@ -393,7 +316,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"Setați Locația mea, deblocarea ecranului, blocarea cardului SIM, blocarea stocării acreditărilor"</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"Setați Locația mea, deblocarea ecranului, blocarea stocării acreditărilor"</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"Confidențialitate"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"Dezactivat de administrator"</string>
+    <string name="disabled_by_administrator_summary" msgid="5424846182313851124">"Indisponibil"</string>
     <string name="security_status_title" msgid="6958004275337618656">"Starea de securitate"</string>
     <string name="security_dashboard_summary_face" msgid="4198949293847206382">"Blocarea ecranului, deblocare facială"</string>
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Blocarea ecranului, amprentă"</string>
@@ -701,7 +624,6 @@
       <item quantity="other">Trebuie să conțină mai puțin de <xliff:g id="NUMBER_1">%d</xliff:g> de cifre</item>
       <item quantity="one">Trebuie să conțină mai puțin de <xliff:g id="NUMBER_0">%d</xliff:g> cifră</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"Trebuie să conțină numai cifre de la 0 la 9"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"Administratorul dispozitivului nu permite utilizarea unui PIN recent"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"Codurile PIN sunt blocate de administratorul dvs. IT. Încercați alt cod PIN."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"Aceasta nu poate include un caracter nevalid"</string>
@@ -738,6 +660,11 @@
       <item quantity="other">Trebuie să conțină cel puțin <xliff:g id="COUNT">%d</xliff:g> de caractere care să nu fie litere</item>
       <item quantity="one">Trebuie să conțină cel puțin un caracter care să nu fie literă</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="few">Trebuie să conțină cel puțin <xliff:g id="COUNT">%d</xliff:g> caractere care să nu fie cifre</item>
+      <item quantity="other">Trebuie să conțină cel puțin <xliff:g id="COUNT">%d</xliff:g> de caractere care să nu fie cifre</item>
+      <item quantity="one">Trebuie să conțină cel puțin un caracter care să nu fie cifră</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"Administratorul dispozitivului nu permite utilizarea unei parole recente"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"Parolele obișnuite sunt blocate de administratorul dvs. IT. Încercați altă parolă."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"Șirurile de cifre ascendente, descendente sau repetate nu sunt permise"</string>
@@ -853,19 +780,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2,4 GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"Conectați-vă"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"Accesați site-ul"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"Timp rămas: <xliff:g id="REMAINING_TIME">%1$s</xliff:g>"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"Expiră pe <xliff:g id="EXPIRY_TIME">%1$s</xliff:g>"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"Atingeți aici pentru a vă conecta la rețea"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"<xliff:g id="REQUESTER">%s</xliff:g> încearcă să activeze Wi-Fi"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"<xliff:g id="REQUESTER">%s</xliff:g> încearcă să dezactiveze Wi-Fi"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"Verificați bytecode-ul aplicațiilor care pot fi depanate"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Permiteți ART să verifice bytecode-ul pentru aplicațiile care pot fi depanate"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"Rata de actualizare"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Afișați rata de actualizare a ecranului"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"Permiteți schimbul de date atunci când tableta atinge alt dispozitiv"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"Permiteți schimbul de date atunci când telefonul atinge alt dispozitiv"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"Permiteți schimbul de date atunci când tableta atinge un dispozitiv NFC"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"Permiteți schimbul de date atunci când telefonul atinge un dispozitiv NFC"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"Activați NFC"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"NFC transmite date între acest dispozitiv și alte dispozitive sau ținte din apropiere, cum ar fi terminale de plată, cititoare de acces și anunțuri sau etichete interactive."</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"Securizați NFC"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Solicitați deblocarea dispozitivului pentru NFC"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"Permiteți folosirea plății NFC și Transit doar când ecranul este deblocat"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"Pregătit să transmită conținut din aplicații prin NFC"</string>
@@ -939,8 +872,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Activați"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Căutare de rețele Wi-Fi activată"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Opțiuni avansate"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"Listă drop-down cu Opțiuni avansate. Atingeți de două ori pentru a restrânge."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"Listă drop-down cu Opțiuni avansate. Atingeți de două ori pentru a extinde."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Lista drop-down Opțiuni avansate"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"extindeți"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"Numele rețelei"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"Introduceți identificatorul SSID"</string>
     <string name="wifi_security" msgid="9095934643631406913">"Securitate"</string>
@@ -950,6 +883,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"Stare"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"Viteză conectare la transfer"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"Viteza conexiunii redirecționării"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"Viteză"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"Frecvență"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"Adresă IP"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"Salvată prin"</string>
@@ -957,6 +891,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"Metodă EAP"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"Autentificare faza 2"</string>
     <string name="wifi_eap_ca_cert" msgid="8033404008276298886">"Certificat CA"</string>
+    <string name="wifi_eap_ocsp" msgid="8713933962516871238">"Starea certificatelor online"</string>
     <string name="wifi_eap_domain" msgid="8304301470752333203">"Domeniu"</string>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"Certificat de utilizator"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"Identitate"</string>
@@ -973,6 +908,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"Alegeți cel puțin o bandă pentru hotspot Wi-Fi:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"Setări IP"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"Confidențialitate"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"Abonament"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"Vedeți sau modificați abonamentul"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"Adresă MAC aleatorie"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"Adăugați un dispozitiv"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"Centrați codul QR de mai jos pentru a adăuga dispozitivul la „<xliff:g id="SSID">%1$s</xliff:g>”"</string>
@@ -982,12 +919,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"Distribuiți Wi‑Fi"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"Scanați acest cod QR ca să vă conectați la „<xliff:g id="SSID">%1$s</xliff:g>” și să trimiteți parola"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"Scanați acest cod QR pentru a vă conecta la „<xliff:g id="SSID">%1$s</xliff:g>”"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"Nu s-a putut citi codul QR. Reintroduceți codul și încercați din nou"</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"Încercați din nou. Dacă problema persistă, contactați producătorul dispozitivului"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"A apărut o eroare"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"Asigurați-vă că dispozitivul este conectat la priză, încărcat și pornit"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"Asigurați-vă că dispozitivul este conectat la priză, încărcat și pornit. Dacă problema persistă, contactați producătorul dispozitivului"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"Adăugarea „<xliff:g id="SSID">%1$s</xliff:g>” nu este acceptată de acest dispozitiv"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"Încercați să mutați dispozitivul mai aproape de router/punctul de acces Wi‑Fi"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"Verificați parola și încercați din nou"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"Contactați producătorul dispozitivului"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"Verificați conexiunea și încercați din nou"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"Alegeți rețeaua"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"Pentru a vă conecta dispozitivul, alegeți o rețea"</string>
@@ -1000,11 +939,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"Se permite accesul la Wi-Fi pentru acest dispozitiv…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"Se conectează…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"Permiteți accesul la hotspot"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"Confirmați că sunteți dvs."</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"Confirmați-vă identitatea"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"Parola rețelei Wi-Fi: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"Parolă hotspot: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"Conectare automată"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"Permiteți ca telefonul să se conecteze automat în apropiere de această rețea"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"Permiteți ca tableta să se conecteze automat în apropiere de această rețea"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"Adăugați un dispozitiv"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"Folosiți un cod QR pentru a adăuga un dispozitiv la această rețea"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"Codul QR nu are un format valid"</string>
     <string name="retry" msgid="7542103800274026915">"Încercați din nou"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"Permiteți accesul și altor utilizatori ai dispozitivului"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(nu s-a schimbat)"</string>
@@ -1016,6 +959,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"Nu s-a specificat niciun certificat. Conexiunea nu va fi privată."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"Numele rețelei este prea lung."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"Trebuie să specificați un domeniu."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"Este obligatoriu un certificat."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"WPS disponibil"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (WPS disponibil)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"Rețeaua Wi‑Fi a operatorului"</string>
@@ -1070,7 +1014,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"Setări Wi-Fi avansate"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"Adresă MAC"</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_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>
@@ -1122,7 +1067,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"Folosiți hotspotul pentru a crea o rețea Wi-Fi pentru celelalte dispozitive. Hotspotul oferă o conexiune de internet folosind conexiunea dvs. de date mobile. Este posibil să se aplice taxe suplimentare pentru datele mobile."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"Aplicațiile pot crea un hotspot pentru a trimite conținut dispozitivelor din apropiere."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Dezactivați automat hotspotul"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"Hotspotul Wi-Fi se va dezactiva dacă nu se conectează niciun dispozitiv"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Când nu este conectat niciun dispozitiv"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"Se activează hotspotul..."</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"Se dezactivează hotspotul..."</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> este activ"</string>
@@ -1131,6 +1076,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"Configurare hotspot Wi-Fi"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"Hotspot AndroidAP WPA2 PSK"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"AndroidHotspot"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"Salvați rețeaua?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"<xliff:g id="APPNAME">%1$s</xliff:g> dorește să vă salveze o rețea pe telefon"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"<xliff:g id="APPNAME">%1$s</xliff:g> dorește să vă salveze o rețea pe tabletă"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"Se salvează…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"Salvată"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"Nu se poate salva. Încercați din nou."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"Salvați rețelele?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"<xliff:g id="APPNAME">%1$s</xliff:g> dorește să vă salveze aceste rețele pe telefon"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"<xliff:g id="APPNAME">%1$s</xliff:g> dorește să vă salveze aceste rețele pe tabletă"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"Se salvează <xliff:g id="NUMBER">%d</xliff:g> rețele…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"Rețelele s-au salvat"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"Apelare prin Wi-Fi"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"Activați apelarea prin Wi‑Fi"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"Activați apelarea prin Wi-Fi pentru acoperire mai mare"</string>
@@ -1157,16 +1113,18 @@
     <string name="emergency_address_title" msgid="3490633500025717573">"Adresă de urgență"</string>
     <string name="emergency_address_summary" msgid="3022628750270626473">"Folosită ca locație când efectuați un apel de urgență prin Wi-Fi"</string>
     <string name="private_dns_help_message" msgid="851221502063782306"><annotation id="url">"Aflați mai multe"</annotation>" despre funcțiile DNS-ului privat"</string>
+    <string name="private_dns_mode_on" msgid="8878679071975375696">"Activat"</string>
     <string name="wifi_calling_pref_managed_by_carrier" msgid="129524064888622179">"Setare gestionată de operator"</string>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"Activați Apelarea prin Wi-Fi"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"Activați Apelarea prin Wi-Fi"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"Apelarea prin Wi-Fi nu este disponibilă pentru %1$s"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"Deconectat de la <xliff:g id="SSID">%1$s</xliff:g>"</string>
     <string name="carrier" msgid="1755020806290963951">"Operator"</string>
     <string name="display_settings_title" msgid="626835071804834218">"Afișaj"</string>
     <string name="sound_settings" msgid="5514582720435174014">"Sunet"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"Volume"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"Efecte muzicale"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"Volumul soneriei"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"Volum pentru sonerie și notificări"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"Vibrează la profilul Silențios"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"Sunet de notificare prestabilit"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"Ton de apel"</string>
@@ -1291,13 +1249,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"Program"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"Niciodată"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"Se activează de la apus la răsărit"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"Se activează la o anumită oră"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"Stare"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"Dezactivată/<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"Nu se va activa niciodată automat"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"Se va activa automat la apus"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"Se va activa automat la <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"Activată/<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"Nu se va dezactiva niciodată automat"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"Se va dezactiva automat la răsărit"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"Se va dezactiva automat la <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"Activați până la <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"Dezactivați până la <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"Tema întunecată folosește un fundal negru pentru a conserva autonomia bateriei pentru unele ecrane. Programele cu Tema întunecată se activează când se dezactivează ecranul."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"Durată până la dezactivarea ecranului"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"Ecranul se dezactivează"</string>
@@ -1309,7 +1272,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"Schimbați imaginea de fundal"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"Personalizați ecranul"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"Alegeți imagine de fundal din"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"Personalizați telefonul Pixel"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"Personalizați-vă telefonul"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"Încercați diverse stiluri, imagini de fundal și altele"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"Economizor de ecran"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"În timpul încărcării sau andocării"</string>
@@ -1399,6 +1362,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"Demontați stocarea USB, afișați stocarea disponibilă"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"Demontați cardul SD, afișați spațiul de stocare disponibil"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (slot pentru SIM %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"Alegeți rețeaua salvată pentru afișare"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"Număr de telefon"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (slot pentru SIM %1$d)"</string>
@@ -1425,6 +1389,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"Roaming"</string>
     <string name="status_operator" msgid="4335640583552058491">"Rețea"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"Adresă MAC Wi-Fi"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"Adresa MAC Wi-Fi a dispozitivului"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"Adresă Bluetooth"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Număr de serie"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Durată de funcționare"</string>
@@ -1637,6 +1602,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Resetarea setărilor APN prestabilite a fost finalizată."</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"Opțiuni de resetare"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"Rețeaua, aplicațiile sau dispozitivul pot fi resetate"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"Aplicațiile pot fi resetate"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"Resetați Wi-Fi, date mobile și Bluetooth"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"Astfel, toate setările pentru rețea vor fi reinițializate, inclusiv:\n\n"<li>"Wi‑Fi,"</li>\n<li>"date mobile,"</li>\n<li>"Bluetooth."</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"Ștergeți SIM-urile descărcate"</string>
@@ -1686,6 +1652,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"Hotspot activat"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"Tethering"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"Nu se poate face tethering și nu se pot folosi hotspoturile portabile în timp ce Economizorul de date este activat"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"Numai hotspot"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"Numai USB"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"Numai Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"Hotspot, USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"Hotspot, Bluetooth"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB, Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"Hotspot, USB, Bluetooth"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"Nu se permite altor dispozitive accesul la conexiunea de internet"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"Tethering"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Nu folosi hotspoturi Wi-Fi"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Permiteți accesul la internet doar prin USB"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Permiteți accesul la internet doar prin Bluetooth"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Permiteți accesul la internet prin USB și Bluetooth"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"Tethering prin USB"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"Permiteți accesul la conexiunea de internet a telefonului prin USB"</string>
@@ -1777,9 +1756,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"Informații privind siguranța"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"Nu aveți o conexiune de date. Pentru a vedea aceste informații acum, accesați %s de pe orice computer conectat la internet."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"Se încarcă…"</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"Folosiți PIN-ul"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"Folosiți modelul"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"Folosiți parola"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"Configurați blocarea ecranului"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"Din motive de securitate, setați o parolă"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"Pentru a utiliza amprenta, setați parola"</string>
@@ -1788,8 +1764,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"Pentru a utiliza amprenta, setați codul PIN"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"Din motive de securitate, setați un model"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"Reintroduceți parola"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"Introduceți parola de la serviciu"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"Confirmați modelul"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"Introduceți modelul pentru serviciu"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"Reintroduceți codul PIN"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"Introduceți codul PIN pentru serviciu"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"Parolele nu corespund"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"Codurile PIN nu corespund"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"Desenați modelul din nou"</string>
@@ -1800,6 +1779,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"Setați parola pentru deblocarea facială"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"Setați modelul pentru deblocarea facială"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"Setați parola pentru deblocarea facială"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"Ați uitat parola?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"Ați uitat modelul?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"Ați uitat codul PIN?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"Pentru a continua, folosiți modelul dispozitivului"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"Pentru a continua, introduceți codul PIN al dispozitivului"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"Pentru a continua, introduceți parola dispozitivului"</string>
@@ -1867,6 +1849,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"Permite aplic. din orice surse"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"Aplicații deschise recent"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"Afișați toate cele <xliff:g id="COUNT">%1$d</xliff:g> aplicații"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"Contactați administratorul IT"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"Acesta vă poate ajuta să resetați codul PIN, modelul sau parola"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"Tableta și datele dvs. personale sunt mai vulnerabile la un atac din partea aplicațiilor necunoscute. Dacă instalați aplicații din această sursă, acceptați că sunteți singura persoană responsabilă pentru deteriorarea tabletei sau pentru pierderea datelor, care pot avea loc în urma utilizării acestor aplicații."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"Telefonul și datele dvs. personale sunt mai vulnerabile la un atac din partea aplicațiilor necunoscute. Dacă instalați aplicații din această sursă, acceptați că sunteți singura persoană responsabilă pentru deteriorarea telefonului sau pentru pierderea datelor, care pot avea loc în urma utilizării acestor aplicații."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"Dispozitivul și datele dvs. personale sunt mai vulnerabile la un atac din partea aplicațiilor necunoscute. Dacă instalați aplicații din această sursă, acceptați că sunteți singura persoană responsabilă pentru deteriorarea dispozitivului sau pentru pierderea datelor, care pot avea loc în urma utilizării acestor aplicații."</string>
@@ -1919,7 +1903,7 @@
     <string name="default_emergency_app" msgid="1929974800666613803">"Aplicația de urgență"</string>
     <string name="reset_app_preferences" msgid="8861758340732716573">"Resetați preferințele pentru aplicații"</string>
     <string name="reset_app_preferences_title" msgid="8935136792316050759">"Resetați preferințele pentru aplicații?"</string>
-    <string name="reset_app_preferences_desc" msgid="1377296810290814749">"Se vor reseta toate preferințele pentru:\n\n"<li>"aplicații dezactivate,"</li>\n<li>"notificări de aplicații dezactivate,"</li>\n<li>"aplicații prestabilite pentru acțiuni,"</li>\n<li>"restricții privind datele de fundal pentru aplicații,"</li>\n<li>"orice restricții de permisiuni."</li>\n\n"Nu veți pierde datele aplicațiilor."</string>
+    <string name="reset_app_preferences_desc" msgid="6509978724602405805">"Astfel vor fi resetate toate preferințele pentru:\n\n"<li>"aplicații dezactivate,"</li>\n<li>"notificări de aplicații dezactivate,"</li>\n<li>"aplicații prestabilite pentru acțiuni,"</li>\n<li>"restricții privind datele de fundal pentru aplicații,"</li>\n<li>"orice restricții de permisiuni."</li>\n\n"Nu veți pierde datele aplicațiilor."</string>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"Resetați aplicațiile"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"Gestionați spațiul"</string>
     <string name="filter" msgid="9039576690686251462">"Filtrați"</string>
@@ -2119,7 +2103,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"Audio și text pe ecran"</string>
     <string name="display_category_title" msgid="6638191682294461408">"Afișaj"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"Comenzi pentru interacțiune"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"Servicii descărcate"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"Aplicații descărcate"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"Experimentale"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"Semnalări ale funcției"</string>
     <string name="talkback_title" msgid="8756080454514251327">"TalkBack"</string>
@@ -2127,27 +2111,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"Atingeți elementele de pe ecran pentru a le auzi cititte cu voce tare"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"Preferințe pentru subtitrări"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"Mărire"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"Zona de mărire"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"Mărire activată"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"Alegeți zonele pe care doriți să le măriți atunci când măriți ecranul"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"Ecran complet"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"O parte a ecranului"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"Ecran complet și o parte a ecranului"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"Măriți întregul ecran"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"Măriți o parte a ecranului"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Setări pentru mărire"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"Măriți atingând de trei ori"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Măriți folosind scurtătura"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Măriți folosind scurtătura și atingând de trei ori"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"Despre <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"Opțiuni"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"Măriți pe ecran"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"Atingeți de 3 ori pentru zoom"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Atingeți un buton pentru a micșora/mări"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><b>"Pentru a mări sau micșora"</b>", atingeți rapid ecranul de 3 ori.\n"<ul><li>"Trageți cu 2 sau mai multe degete pentru a derula"</li>\n<li>"Ciupiți cu 2 sau mai multe degete pentru a ajusta nivelul de zoom"</li></ul>\n\n<b>"Pentru a mări temporar"</b>", atingeți rapid ecranul de 3 ori și țineți apăsat cu degetul la a treia atingere.\n"<ul><li>"Trageți cu degetul pentru a mișca imaginea pe ecran."</li>\n<li>"Ridicați degetul pentru a micșora."</li></ul>\n\n"Nu puteți mări pe tastatură și pe bara de navigare."</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"Când mărirea este activată, puteți mări pe ecran.\n\n"<b>"Pentru a mări"</b>", începeți mărirea, apoi atingeți oriunde pe ecran.\n"<ul><li>"• Trageți cu 2 sau mai multe degete pentru a derula"</li>\n<li>"• Ciupiți cu 2 sau mai multe degete pentru a regla nivelul de zoom"</li></ul>\n\n<b>"Pentru a mări temporar"</b>", începeți mărirea, apoi atingeți lung oriunde pe ecran.\n"<ul><li>"• Trageți pentru a vă mișca pe ecran"</li>\n<li>"• Ridicați degetul pentru a micșora"</li></ul>\n\n"Nu puteți mări pe tastatură și pe bara de navigare."</string>
+    <string name="accessibility_screen_magnification_summary" msgid="7617931632990040045">"Măriți rapid ecranul pentru a vedea conținutul mai clar.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Pentru a mări:&lt;/b&gt;&lt;br/&gt;	1. folosiți comanda rapidă ca să începeți mărirea&lt;br/&gt;	2. atingeți ecranul&lt;br/&gt;	3. glisați cu două degete ca să vă deplasați pe ecran&lt;br/&gt;	4. ciupiți cu două degete ca să ajustați nivelul de zoom&lt;br/&gt;	5. folosiți comanda rapidă ca să încetați mărirea&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Ca să măriți temporar:&lt;/b&gt;&lt;br/&gt;	1. folosiți comanda rapidă ca să începeți mărirea&lt;br/&gt;	2. atingeți lung oriunde pe ecran&lt;br/&gt;	3. trageți cu degetul ca să vă deplasați pe ecran&lt;br/&gt;	4. ridicați degetul ca să opriți mărirea."</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Când mărirea este activată, puteți mări ecranul curent.\n\n"<b>"Pentru a mări"</b>", începeți mărirea, apoi atingeți oriunde pe ecran.\n"<ul><li>"Trageți cu două sau mai multe degete pentru a derula"</li>\n<li>"Ciupiți cu două sau mai multe degete pentru a regla nivelul de zoom"</li></ul>\n\n<b>"Pentru a mări temporar"</b>", începeți mărirea, apoi atingeți lung oriunde pe ecran.\n"<ul><li>"Trageți pentru a vă mișca pe ecran"</li>\n<li>"Ridicați degetul pentru a micșora"</li></ul>\n\n"Nu puteți mări pe tastatură și pe bara de navigare."</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Folosiți butonul de accesibilitate pentru a deschide"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Folosiți un gest pentru a deschide"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"Folosiți noul gest de accesibilitate"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"Pentru a activa sau dezactiva acest serviciu, atingeți butonul de accesibilitate<xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>din partea de jos a ecranului.\n\nPentru a comuta între servicii, atingeți lung butonul de accesibilitate."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"Pentru a activa sau dezactiva acest serviciu, glisați în sus cu două degete din partea de jos a ecranului.\n\nPentru a comuta între servicii, glisați în sus cu două degete și țineți lung."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"Pentru a activa sau dezactiva acest serviciu, glisați în sus cu trei degete din partea de jos a ecranului.\n\nPentru a comuta între servicii, glisați în sus cu trei degete și țineți lung."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"Pentru a activa sau dezactiva un serviciu de accesibilitate, glisați în sus cu două degete din partea de jos a ecranului.\n\nPentru a comuta între servicii, glisați în sus cu două degete și țineți lung."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"Pentru a activa sau dezactiva un serviciu de accesibilitate, glisați în sus cu trei degete din partea de jos a ecranului.\n\nPentru a comuta între servicii, glisați în sus cu trei degete și țineți lung."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"Pentru a activa sau dezactiva acest serviciu, atingeți butonul de accesibilitate <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> din partea de jos a ecranului.\n\nPentru a comuta între servicii, atingeți lung butonul de accesibilitate."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"Pentru a activa sau dezactiva acest serviciu, glisați în sus cu două degete din partea de jos a ecranului.\n\nPentru a comuta între servicii, glisați în sus cu două degete și țineți lung."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"Pentru a activa sau dezactiva acest serviciu, glisați în sus cu trei degete din partea de jos a ecranului.\n\nPentru a comuta între servicii, glisați în sus cu trei degete și țineți lung."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"Pentru a activa sau dezactiva un serviciu de accesibilitate, glisați în sus cu două degete din partea de jos a ecranului.\n\nPentru a comuta între servicii, glisați în sus cu două degete și țineți lung."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"Pentru a activa sau dezactiva un serviciu de accesibilitate, glisați în sus cu trei degete din partea de jos a ecranului.\n\nPentru a comuta între servicii, glisați în sus cu trei degete și țineți lung."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"OK"</string>
+    <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Comanda rapidă pentru <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_edit_summary_software" msgid="2820923641553461297">"Buton de accesibilitate"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture" msgid="8078659880723370597">"Glisați în sus cu două degete"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture_talkback" msgid="7422753388389160524">"Glisați în sus cu trei degete"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software" msgid="4796192466943479849">"Atingeți butonul de accesibilitate"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8922102767509399352">"Atingeți butonul de accesibilitate <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> din partea de jos a ecranului"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"Glisați în sus cu două degete din partea de jos a ecranului"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"Glisați în sus cu trei degete din partea de jos a ecranului"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Apăsați lung butoanele de volum"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"Apăsați lung ambele butoane de volum timp de o secundă"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Atingeți ecranul de trei ori"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"Atingeți rapid ecranul de trei ori. Această comandă rapidă poate încetini funcționarea dispozitivului."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"Avansate"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"Butonul Accesibilitate este setat pe <xliff:g id="SERVICE">%1$s</xliff:g>. Pentru a folosi mărirea, atingeți lung butonul Accesibilitate și apoi selectați mărirea."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"Gestul de accesibilitate este setat la <xliff:g id="SERVICE">%1$s</xliff:g>. Pentru a folosi mărirea, glisați în sus cu două degete din partea de jos a ecranului și mențineți apăsat. Apoi selectați mărirea."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"Comandă rapidă pentru butoane volum"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"Serviciul comenzii rapide"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Setări pentru comenzi rapide"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"Permiteți din ecranul de blocare"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"Când este activată comanda rapidă, puteți apăsa ambele butoane pentru volum timp de 3 secunde pentru a lansa o funcție de accesibilitate."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"Text cu contrast ridicat"</string>
@@ -2171,24 +2180,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"Alegeți durata de afișare a mesajelor care vă cer să acționați, dar care sunt vizibile numai temporar.\n\nNu toate aplicațiile permit această setare."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"Întârziere la atingere lungă"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"Inversarea culorilor"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"Poate afecta performanța"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"Durată de staționare"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"Folosiți inversarea culorilor"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"Inversarea culorilor întunecă ecranele luminoase. Astfel, persoanele sensibile la lumină puternică văd mai ușor ecranul.&lt;br/&gt;&lt;br/&gt;Notă: culorile întunecate devin mai deschise. Culorile conținutului media și ale imaginilor se schimbă. Puteți folosi și tema întunecată (Setări &gt; Afișaj)."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"Clic automat (durată de staționare)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"Dacă folosiți un mouse, puteți seta cursorul să acționeze automat când nu se mai mișcă de un anumit interval de timp."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"Întârziere înainte de clic"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"Fără clic automat (prestabilit)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"Scurt"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0,2 secunde"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"Mediu"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0,6 secunde"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"Lung"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"O secundă"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"Personalizat"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"Mai scurtă"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"Mai lungă"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"Durata clicului automat"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"Vibrațiile și puterea feedbackului haptic"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Vibrații la notificare"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Vibrațiile soneriei"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Feedback la atingere"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"Utilizați serviciul"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"Folosiți <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"Deschideți <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"Utilizați corecție de culoare"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"Utilizați subtitrările"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"Afișează subtitrările"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"Aspectul legendei"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"Dimensiunea textului, stilul legendei"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"Mai multe opțiuni"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"Nu toate aplicațiile acceptă această setare."</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"Buton de accesibilitate"</string>
+    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"Glisați cu două degete în sus din partea de jos"</string>
+    <string name="accessibility_shortcut_type_hardware" msgid="4834144210432451916">"Apăsați lung butoanele de volum"</string>
+    <string name="accessibility_shortcut_type_triple_tap" msgid="7717524216825494543">"Atingeți ecranul de trei ori"</string>
     <string name="accessibility_hearingaid_instruction_continue_button" msgid="3367260988024430722">"Continuați"</string>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"Aparate auditive"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"Nu s-a conectat niciun aparat auditiv"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"Adăugați aparate auditive"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"Pentru a asocia aparatele auditive, găsiți și atingeți dispozitivul pe ecranul următor."</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"Asigurați-vă că aparatele auditive sunt în modul de asociere."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"Pentru a asocia aparatele auditive, găsiți și atingeți dispozitivul pe ecranul următor. Asigurați-vă că aparatele auditive sunt în modul de asociere."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> este activ"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="few"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> aparate auditive salvate</item>
@@ -2201,30 +2228,41 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Acest serviciu nu funcționează corect."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Afișați în Setări rapide"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"Mod de corectare"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="few">Întârziere extrem de scurtă (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Întârziere extrem de scurtă (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Întârziere extrem de scurtă (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Roșu-verde"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"Verde-roșu"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Albastru-galben"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"Deuteranomalie"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"Protanomalie"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"Tritanomalie"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="few">Întârziere extrem de scurtă (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> secunde)</item>
+      <item quantity="other">Întârziere extrem de scurtă (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> de secunde)</item>
+      <item quantity="one">Întârziere extrem de scurtă (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> secundă)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="few">Întârziere foarte scurtă (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Întârziere foarte scurtă (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Întârziere foarte scurtă (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="few">Întârziere foarte scurtă (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> secunde)</item>
+      <item quantity="other">Întârziere foarte scurtă (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> de secunde)</item>
+      <item quantity="one">Întârziere foarte scurtă (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> secundă)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="few">Întârziere scurtă (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Întârziere scurtă (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Întârziere scurtă (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="few">Întârziere scurtă (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> secunde)</item>
+      <item quantity="other">Întârziere scurtă (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> de secunde)</item>
+      <item quantity="one">Întârziere scurtă (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> secundă)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="few">Întârziere lungă (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Întârziere lungă (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Întârziere lungă (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="few">Întârziere lungă (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> secunde)</item>
+      <item quantity="other">Întârziere lungă (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> de secunde)</item>
+      <item quantity="one">Întârziere lungă (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> secundă)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="few">Întârziere foarte lungă (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Întârziere foarte lungă (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Întârziere foarte lungă (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="few">Întârziere foarte lungă (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> secunde)</item>
+      <item quantity="other">Întârziere foarte lungă (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> de secunde)</item>
+      <item quantity="one">Întârziere foarte lungă (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> secundă)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="few"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> secunde</item>
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> de secunde</item>
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> secundă</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"Sonerie <xliff:g id="SUMMARY_RING">%1$s</xliff:g>, notificare <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>, atingere <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"Vibrații dezactivate pentru sonerie și notificări"</string>
@@ -2550,7 +2588,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"De la ultima deconectare pentru <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"Totaluri privind utilizarea"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"Actualizați"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"Sistem de operare Android"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"Server media"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"Optimizarea aplicației"</string>
     <string name="battery_saver" msgid="7737147344510595864">"Economisirea bateriei"</string>
@@ -2631,8 +2668,7 @@
     <string name="tts_play" msgid="2945513377250757221">"Redați"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"Stocarea certificatelor"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"Instalați de pe stocare"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"Instalați de pe cardul SD"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"Instalați un certificat"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"Instalați certificate de pe stocare"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"Instalați certificate de pe cardul SD"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"Ștergeți acreditările"</string>
@@ -2652,6 +2688,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"Acreditările stocate sunt șterse."</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"Nu s-au șters acredit. stocate"</string>
     <string name="usage_access_title" msgid="1580006124578134850">"Aplicații cu acces de utilizare"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"Certificat CA"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"Certificatul de utilizator de aplicații și VPN"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"Certificat pentru Wi‑Fi"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"Confidențialitatea dvs. este în pericol"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"Certificatele CA sunt folosite de site-uri, aplicații și VPN-uri pentru criptare. Instalați certificate CA numai de la organizații în care aveți încredere. \n\n Dacă instalați un certificat CA, proprietarul certificatului vă poate accesa informațiile, precum parole, mesaje sau datele cardului de credit, de pe site-urile pe care le accesați sau din aplicațiile pe care le folosiți, chiar dacă acele informații sunt criptate."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"Nu instalați"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"Instalați oricum"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"Certificatul nu a fost instalat"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"Semnal pentru apel de urgență"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Setați comportamentul la efectuarea unui apel de urgență"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Backup"</string>
@@ -2679,10 +2723,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"Dezactivați și dezinstalați"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"Aplicații pentru admin. dispozitivului"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"Nu este disponibilă nicio aplicație pentru administratorul dispozitivului"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"Personal"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"Serviciu"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"Limitați accesul la SMS-uri și jurnalul de apeluri"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"Doar aplicațiile prestabilite de telefonie și de mesagerie au permisiuni să acceseze SMS-urile și jurnalul de apeluri"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"Nu există agenți de încredere disponibili"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"Activați aplicația pentru administrator?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"Activați această aplicație pentru administratorul dispozitivului"</string>
@@ -2696,6 +2736,15 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"Alte opțiuni sunt dezactivate de administrator"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"Mai multe detalii"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"Jurnal de notificări"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"Istoricul notificărilor"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"Azi"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"Amânate"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"Închise recent"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="few"><xliff:g id="NUMBER_1">%d</xliff:g> notificări</item>
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> de notificări</item>
+      <item quantity="one"><xliff:g id="NUMBER_0">%d</xliff:g> notificare</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"Ton de apel și vibrații"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"Detalii rețea"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"Sincronizare activată"</string>
@@ -3049,7 +3098,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"Restricții"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"Eliminați restricțiile"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"Schimbați codul PIN"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"Afișați notificările"</string>
     <string name="help_label" msgid="2896538416436125883">"Ajutor și feedback"</string>
     <string name="support_summary" msgid="1034146931237148885">"Articole de ajutor, telefon și chat, noțiuni introductive"</string>
     <string name="user_account_title" msgid="6389636876210834864">"Cont pentru conținut"</string>
@@ -3074,6 +3122,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"Apelare 4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Folosiți servicii LTE pentru a îmbunătăți comunicările vocale și altele (recomandat)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Folosiți servicii 4G pentru a îmbunătăți comunicările vocale și altele (recomandat)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Contact discovery"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Permite operatorului să identifice funcțiile pentru apeluri pe care le acceptă persoanele de contact"</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Activați Contact Discovery?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Dacă activați această funcție, operatorul va putea să vă acceseze numerele de telefon din agendă pentru a identifica funcțiile pentru apeluri pe care le acceptă."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Tipul de rețea preferat"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (recomandat)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"Mesaje MMS"</string>
@@ -3118,7 +3170,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"Apelați de pe"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"Selectați un card SIM"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"SIM <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"Card SIM gol"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"Numele cardului SIM"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"Introduceți numele cardului SIM"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"Slot pentru SIM %1$d"</string>
@@ -3128,6 +3179,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"Selectați cardul SIM"</string>
     <string name="color_orange" msgid="216547825489739010">"Portocaliu"</string>
     <string name="color_purple" msgid="6603701972079904843">"Violet"</string>
+    <string name="color_pink" msgid="8596872110888626708">"Roz"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"Nu a fost introdus niciun card SIM"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"Starea cardului SIM"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"Stare card SIM (slot pentru SIM %1$d)"</string>
@@ -3141,7 +3193,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"Cardurile SIM au fost schimbate."</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Atingeți pentru a configura"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"Cartelă SIM preferată pentru"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Întreabă de fiecare dată"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Selectați o opțiune"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"Selectare SIM"</string>
@@ -3160,6 +3211,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"Bluetooth, modul Cu mașina"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"Bluetooth, NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"Bluetooth"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"Indisponibile, deoarece tehnologia NFC este dezactivată"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"Aplicații și notificări"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Aplicații recente, aplicații prestabilite"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Accesul la notificări nu este disponibil pentru aplicații în profilul de lucru."</string>
@@ -3170,13 +3222,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"Setări"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"wifi, wi-fi, conexiune la rețea, internet, wireless, date, wi fi"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"Notificare Wi-Fi, notificare Wi-Fi"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"utilizarea datelor"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"Opriți vibrațiile, atingeți, tastatură"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"Folosiți formatul de 24 de ore"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"Descărcați"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"Deschideți cu"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"Aplicații"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"fus orar"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"Cap de chat"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"Cap de chat, sistem, alertă, fereastră, casetă de dialog, ecran peste alte aplicații, desen"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"Lanternă, Lumină, Lanternă"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"wifi, wi-fi, comutator, control"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"celular, mobil, operator servicii mobile, wireless, date, 4g, 3g, 2g, lte"</string>
@@ -3200,7 +3253,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"nu deranja, întrerupe, întrerupere, pauză"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"în apropiere, locație, istoric, raportare, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"cont"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"cont, adăugați un cont, profil de serviciu, adăugați cont"</string>
     <string name="keywords_users" msgid="3497517660077620843">"restricție, restricționare, restricționat"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"corectarea textului, corectați, sunet, vibrații, automat, limbă, gest, sugerați, sugestie, temă, cuvânt, ofensator, introducere text, emoji, internațional"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"resetați, preferințe, valori prestabilite"</string>
@@ -3238,6 +3291,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"memorie, memorie cache, date, ștergeți, goliți, liber, spațiu"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"conectat, dispozitiv, căști, set căști-microfon, difuzoare, wireless, asociere, căști intraauriculare, muzică, conținut media"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"fundal, ecran, ecran de blocare, temă"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"forma pictogramei, culoare de evidențiere, font"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"prestabilit, asistent"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"plată, prestabilită"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"notificare primită"</string>
@@ -3247,18 +3301,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"tactil, vibrații, sensibilitate"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"economisirea bateriei, fix, persistent, economisirea energiei, baterie"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"rutină, program, economisirea bateriei, economisirea energiei, baterie, automat, procent"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"profil de serviciu"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"volte, apelare avansată, apelare 4g"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"adăugare limbă, adăugați o limbă"</string>
     <string name="default_sound" msgid="6604374495015245195">"Sunet prestabilit"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"Volumul soneriei este la <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"Volumul pentru sonerie și notificări la <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Volum, vibrații, Nu deranja"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"Soneria este setată pe vibrații"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"Soneria este setată pe silențios"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"Volumul soneriei este la 80%"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"Volumul pentru sonerie și notificări la 80 %"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Volum media"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Volumul proiectării"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"Volumul apelului"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"Volumul alarmei"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"Volumul soneriei"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"Volum pentru sonerie și notificări"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"Volumul notificărilor"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"Ton de sonerie al telefonului"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"Sunet de notificare prestabilit"</string>
@@ -3266,6 +3321,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"Sunet de notificare prestabilit"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"Sunet de alarmă prestabilit"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"Vibrații pentru apeluri"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"Fără vibrații"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"Vibrații întotdeauna"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"Întâi vibrații, apoi sună din ce în ce mai tare"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"Alte sunete"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"Tonuri pentru tastatura numerică"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"Sunete la blocarea ecranului"</string>
@@ -3290,6 +3348,7 @@
       <item quantity="one">O regulă activată</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Nu deranja"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Primiți doar notificări de la persoane și aplicații importante"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Limitați întreruperile"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Activați Nu deranja"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"Excepții"</string>
@@ -3316,7 +3375,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Blocați întreruperile vizuale"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Permiteți semnale vizuale"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"Când funcția „Nu deranja” este activată"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"Permiteți întreruperile care emit sunete"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"Restricționați notificările"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Fără sunet de la notificări"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"Veți vedea notificările pe ecran"</string>
@@ -3347,7 +3406,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"Sunet și vibrații"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"Sunet, vibrații și semnale vizuale pentru notificări"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"Sunet, vibrații și semnale vizuale pentru notificări"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"Notificările necesare pentru activitatea de bază a telefonului și starea acestuia nu vor fi niciodată ascunse"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"Notificările necesare pentru activitatea de bază a telefonului și starea acestuia nu vor fi niciodată ascunse."</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"Fără sunet"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"alte opțiuni"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"Adăugați"</string>
@@ -3379,10 +3438,12 @@
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> de programe se pot activa automat</item>
       <item quantity="one">Un program se poate activa automat</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"Dezactivați sunetul dispozitivului, dar permiteți excepții"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"Excepții"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"Program"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"Vedeți toate excepțiile"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"Excepții: când funcția „Nu deranja” este activată"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"Persoane"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"Aplicații"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"Alarme și alte întreruperi"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"Programe"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"Notificări dezactivate"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"Când este activată funcția Nu deranja, sunetele și vibrațiile vor fi dezactivate, cu excepția elementelor pe care le permiteți mai sus."</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"Dezactivați sunetul pentru toate, cu excepția"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"Sunet dezactivat"</string>
@@ -3426,16 +3487,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"Notificări adaptive"</string>
     <string name="asst_capability_prioritizer_title" msgid="1181272430009156556">"Prioritatea notificării adaptabile"</string>
     <string name="asst_capability_prioritizer_summary" msgid="954988212366568737">"Setați automat ca Discrete notificările cu prioritate redusă"</string>
+    <string name="asst_capability_ranking_title" msgid="312998580233257581">"Poziționare adaptivă a notificărilor"</string>
+    <string name="asst_capability_ranking_summary" msgid="2293524677144599450">"Poziționați automat notificările după relevanță"</string>
     <string name="asst_capabilities_actions_replies_title" msgid="4392470465646394289">"Acțiuni și răspunsuri sugerate"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"Afișați automat acțiunile și răspunsurile sugerate"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"Activați istoricul notificărilor pentru a ține evidența notificărilor anterioare și a notificărilor amânate"</string>
+    <string name="notification_history" msgid="8663811361243456201">"Istoricul notificărilor"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"Activați istoricul"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"Dezactivați istoricul"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"Istoricul notificărilor este dezactivat"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"Afișați setările pentru notificări"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Permiteți amânarea notificărilor"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"Ascundeți pictogramele notificărilor discrete"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"Pictogramele pentru notificările silențioase nu se afișează în bara de stare"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"Permiteți puncte de notificare"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"Afișați banda de conversații recente"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Baloane"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"Unele notificări pot apărea ca baloane pe ecran"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"Unele notificări și alte tipuri de conținut pot apărea ca baloane pe ecran. Pentru a deschide un balon, atingeți-l. Pentru a închide balonul, trageți-l în jos pe ecran."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Baloane"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"Mesajele noi vor apărea pe ecran"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"Permiteți <xliff:g id="APP_NAME">%1$s</xliff:g> să afișeze unele notificări ca baloane"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"Activați baloanele"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"Ca să activați baloanele pentru această aplicație, trebuie să le activați întâi pe dispozitiv. Aceasta afectează alte aplicații în care ați activat baloanele anterior."</string>
@@ -3453,6 +3524,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"Afișați în fereastra trasă în jos și pe ecranul de blocare"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"Afișați în fereastra trasă în jos și în bara de stare"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"Afișați în fereastra trasă în jos, bara de stare și ecranul de blocare"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"Ascundeți notificările silențioase din bara de stare"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"Lumină intermitentă"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"Ecran de blocare"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"Omiteți ecranul de blocare"</string>
@@ -3483,6 +3555,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"Comportament"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"Permiteți sunetul"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"Nu afișați niciodată notificările"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"Conversații"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"Conversație"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"Nu este o conversație"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"Eliminați din secțiunea cu conversații"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"Aceasta este o conversație"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"Adăugați în secțiunea cu conversații"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"Gestionați conversațiile"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"Conversații importante"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"Toate conversațiile"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"Afișează conversațiile importante în baloane"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"Conversațiile importante apar în partea de sus a panoului de notificări tras în jos. Le puteți seta să se afișeze în baloane și să întrerupă funcția Nu deranja."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"Afișați fără sunet și minimizați"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"Se afișează fără sunet"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"Se emite un sunet"</string>
@@ -3501,7 +3584,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"Vă ajută să vă concentrați fără sunet sau vibrare"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"Vă atrage atenția cu sunet sau vibrare"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"Când dispozitivul este deblocat, afișează notificările ca un banner în partea de sus a ecranului"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"Afișați notificările"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"Toate notificările din <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"Notificări adaptive"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="few">~<xliff:g id="NUMBER_1">%d</xliff:g> notificări pe zi</item>
@@ -3525,6 +3608,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"Notificări adaptive"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"Fără"</string>
     <string name="no_notification_listeners" msgid="2839354157349636000">"Nicio aplicație instalată nu a solicitat accesul la notificări."</string>
+    <string name="notification_access_detail_switch" msgid="46386786409608330">"Permiteți accesul la notificări"</string>
     <string name="notification_assistant_security_warning_title" msgid="2972346436050925276">"Permiteți accesul la notificări pentru <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
     <string name="notification_assistant_security_warning_summary" msgid="3119843404577399036">"<xliff:g id="NOTIFICATION_ASSISTANT_NAME">%1$s</xliff:g> va putea să citească toate notificările, inclusiv informațiile cu caracter personal, cum ar fi numele persoanelor de contact și textul mesajelor primite. De asemenea, va putea să modifice sau să închidă notificări sau să declanșeze butoane pentru acțiuni din acestea. \n\nAstfel, aplicația va putea să activeze sau să dezactiveze starea Nu deranja și să modifice setările aferente."</string>
     <string name="notification_listener_security_warning_title" msgid="5791700876622858363">"Permiteți accesul la notificări pentru <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
@@ -3589,8 +3673,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"Terminat"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"Importanță"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"Lumină intermitentă"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"Vibrează"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"Vibrație"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"Sunet"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"Important"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"Adăugați la casă"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"Ștergeți"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"Redenumiți"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"Numele programului"</string>
@@ -3645,6 +3731,10 @@
       <item quantity="other">încă <xliff:g id="NUM_PEOPLE">%d</xliff:g> de persoane</item>
       <item quantity="one">încă o persoană</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Conversații"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"Din toate conversațiile"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"Din conversațiile importante"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"Nu permite conversații"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"Permiteți mesaje"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"Pentru a vă asigura că mesajele permise emit sunete, verificați dacă dispozitivul este setat să sune, să vibreze sau este în modul silențios."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"Pentru „<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>”, mesajele primite sunt blocate. Puteți să modificați setările ca să le permiteți prietenilor, familiei sau altor persoane de contact să ia legătura cu dumneavoastră."</string>
@@ -3658,15 +3748,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"Niciunul"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"Nu permiteți niciun apel"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"Nu permiteți mesaje"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"Permiteți alarme"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"Alarme"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"De la temporizatoare, alarme, sisteme de securitate și alte aplicații"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"alarme"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"Redați sunete media"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"Sunete media"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"De la videoclipuri, jocuri și alte fișiere media"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"media"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"Permiteți sunetele de atingere"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"Sunete la atingere"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"De la tastatură și alte butoane"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"sunete la atingere"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"Permiteți mementouri"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"Mementouri"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"De la sarcini și mementouri"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"mementouri"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"Permiteți evenimente"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"Evenimente"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"De la evenimentele viitoare din calendar"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Permiteți aplicațiilor să ignore"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"Excepțiile aplicației"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3712,6 +3807,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"Permiteți notificărilor dezactivate prin Nu deranja să activeze ecranul"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"Setări pentru notificări"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"OK"</string>
+    <string name="suggestion_button_close" msgid="6865170855573283759">"Închideți"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Trimiteți feedback despre dispoz."</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"Introduceți codul PIN de administrator"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"Activat"</string>
@@ -3722,6 +3818,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Solicită codul PIN înainte de a anula fixarea"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Solicită parola înainte de a anula fixarea"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Blocați dispozitivul la anularea fixării"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Confirmați ștergerea profilului SIM"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"Confirmați-vă identitatea înainte de a șterge un profil SIM descărcat"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"Acest profil de serviciu este gestionat de:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"Gestionat de <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(Experimental)"</string>
@@ -3800,8 +3898,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"Toate aplicațiile"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Aplicații instalate"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Aplicații instantanee"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"Personale"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"Serviciu"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"Aplicații: toate"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"Dezactivate"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"Categorii: importanță urgentă"</string>
@@ -3813,6 +3909,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"Aplicație necunoscută"</string>
     <string name="app_permissions" msgid="8666537659217653626">"Manager de permisiuni"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"Aplicații care folosesc <xliff:g id="APPS">%1$s</xliff:g>"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"Aplicațiile care folosesc <xliff:g id="APPS">%1$s</xliff:g> și altele"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"Atingeți pentru a activa"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"Atingeți de două ori oriunde pe ecran pentru a activa dispozitivul"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"Deschiderea linkurilor"</string>
@@ -3825,9 +3922,15 @@
       <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> de aplicații care deschid linkurile acceptate</item>
       <item quantity="one">O aplicație care deschide linkurile acceptate</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"Deschide în această aplicație"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"Permiteți aplicației să deschidă linkurile acceptate"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"Întreabă de fiecare dată"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"Nu deschide în această aplicație"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"Nu permiteți aplicației să deschidă linkuri"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="few">Aplicația susține că gestionează <xliff:g id="COUNT_1">%d</xliff:g> linkuri</item>
+      <item quantity="other">Aplicația susține că gestionează <xliff:g id="COUNT_1">%d</xliff:g> de linkuri</item>
+      <item quantity="one">Aplicația susține că gestionează <xliff:g id="COUNT_0">%d</xliff:g> link</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"Aplicația susține că gestionează următoarele linkuri:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"Prestabilite"</string>
     <string name="default_for_work" msgid="537558180548617528">"Prestabilite pentru serviciu"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"Asistent și intrare vocală"</string>
@@ -3974,8 +4077,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"Afișare peste alte aplicații"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Permiteți afișarea peste alte aplicații"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"Permiteți acestei aplicații să se afișeze peste alte aplicații pe care le folosiți. Aceasta poate interfera cu folosirea acelor aplicații sau poate schimba modul în care acestea apar sau se comportă."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"Acces la toate fișierele"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"Permiteți gestionarea fișierelor"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Permiteți aplicației să citească, să modifice și să șteargă toate fișierele de pe dispozitiv sau din spațiile de stocare conectate. Dacă îi permiteți, aplicația poate accesa fișierele fără consimțământul dvs. explicit."</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"Poate accesa toate fișierele"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"rv realitate virtuală instrument de ascultare stereo serviciu de ajutor"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"fereastră de dialog alertă de sistem peste alte aplicații"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"Afișare peste alte aplicații"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"<xliff:g id="COUNT_0">%1$d</xliff:g> din <xliff:g id="COUNT_1">%2$d</xliff:g> aplicații au voie să afișeze peste alte aplicații"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"Aplicații cu permisiune"</string>
@@ -4146,6 +4252,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"<xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g> folosiți"</string>
     <string name="data_overusage" msgid="3680477320458707259">"Mai mult de <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="data_remaining" msgid="6316251496381922837">"Rămas: <xliff:g id="ID_1">^1</xliff:g>"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"Graficul arată utilizarea datelor între <xliff:g id="START_DATE">%1$s</xliff:g> și <xliff:g id="END_DATE">%2$s</xliff:g>."</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"Nu există date în acest interval de date"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="few">%d zile rămase</item>
       <item quantity="other">%d de zile rămase</item>
@@ -4210,14 +4318,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"dimensiune pachet"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"notificare trimisă"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"sunet"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"vibrează"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"model"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"prestabilit"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"canal"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"niciunul"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"Obiectul clasificării lipsește."</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"Obiectul clasificării nu conține această cheie."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"Personalizare temă"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"Prestabilit pentru dispozitiv"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"Decupajul ecranului"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"decupare ecran"</string>
@@ -4310,8 +4414,12 @@
     <string name="information_label" msgid="6939310810756569298">"Informații"</string>
     <string name="low_label" msgid="6525629096999711220">"Scăzută"</string>
     <string name="high_label" msgid="357503396626018487">"Ridicată"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"O sensibilitate mai mare poate intra în conflict cu gesturile făcute pe marginile ecranului în aplicație."</string>
+    <string name="left_edge" msgid="1513576842959071849">"Marginea din stânga"</string>
+    <string name="right_edge" msgid="1505309103265829121">"Marginea din dreapta"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"O sensibilitate mai mare poate intra în conflict cu gesturile făcute pe marginile ecranului în aplicație."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"Sensibilitatea gestului „Înapoi”"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"Setări pentru gesturi"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"navigare prin gesturi, sensibilitatea gestului „Înapoi”, gestul „Înapoi”"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"Atingeți de două ori pentru a verifica telefonul"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"Atingeți de două ori pentru a verifica tableta"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"Atingeți de două ori pentru a verifica dispozitivul"</string>
@@ -4473,7 +4581,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"Declanșați provizionarea operatorului"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"Actualizați funcția Nu deranja"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"Întrerupeți notificările pentru a vă păstra concentrarea"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"Această caracteristică nu este disponibilă pe acest dispozitiv"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"Funcție indisponibilă"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"Această funcție a fost dezactivată deoarece vă încetinește telefonul"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"Forțați măsurători GNSS complete"</string>
@@ -4483,20 +4590,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"Selectați aplicația compatibilă cu ANGLE"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"Nu există niciun set de aplicații compatibile cu ANGLE"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"Aplicație compatibilă cu ANGLE: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"Preferințe pentru driverul jocului"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"Modificați setările driverului jocului"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"Când driverul jocului este activat, puteți alege să folosiți driverul actualizat al plăcii grafice pentru aplicațiile instalate pe dispozitiv."</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"Activați pentru toate aplicațiile"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"Selectați driverul plăcii grafice"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"Prestabilit"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"Driverul jocului"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"Driver dinaintea lansării"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"Driverul plăcii grafice de sistem"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"Preferințe pentru driverul plăcii grafice"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"Modificați setările driverului plăcii grafice"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"Când sunt disponibile mai multe drivere ale plăcii grafice, puteți alege să folosiți driverul actualizat al plăcii grafice pentru aplicațiile instalate pe dispozitiv."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"Activați pentru toate aplicațiile"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"Selectați driverul plăcii grafice"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"Prestabilit"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"Driverul jocului"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"Developer Driver"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Driverul plăcii grafice de sistem"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Modificări ale compatibilității aplicației"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Activați/dezactivați modificările compatibilității aplicației"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Modificări activate prestabilite"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Modificări dezactivate prestabilite"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"Setarea nu este acceptată pe telefon"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"Setarea nu este acceptată pe tabletă"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"Setarea nu este acceptată pe dispozitiv"</string>
@@ -4515,6 +4628,12 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"Dispozitiv"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Indisponibil în timpul apelurilor"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"Indisponibil"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"Adăugați ieșiri"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"Grup"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"S-a selectat un dispozitiv"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"S-au selectat <xliff:g id="COUNT">%1$d</xliff:g> dispozitive"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"Preluați apelul pe"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Acest APN nu poate fi modificat."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Îmbunătățiți autonomia bateriei tabletei"</string>
@@ -4633,10 +4752,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Doar un SIM descărcat poate fi activ odată.\n\nCând comutați la <xliff:g id="CARRIER1">%1$s</xliff:g> nu anulați serviciul <xliff:g id="CARRIER2">%2$s</xliff:g>."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Comutați la <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Ștergeți SIM-ul"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Ștergeți acest SIM descărcat?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Dacă ștergeți acest SIM, veți elimina serviciul <xliff:g id="CARRIER_0">%1$s</xliff:g> de pe acest dispozitiv.\n\nServiciile <xliff:g id="CARRIER_1">%2$s</xliff:g> nu vor fi anulate."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Ștergeți"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Se șterge SIM-ul…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Nu se poate șterge SIM-ul"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Acest SIM nu poate fi șters din cauza unei erori.\n\nReporniți dispozitivul și încercați din nou."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Tipul de rețea preferat"</string>
@@ -4661,7 +4776,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Mod nevalid de rețea <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Ignoră."</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Numele punctelor de acces"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Indisponibil când este conectat la <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"Informații medicale, persoane de contact pentru urgențe"</string>
     <string name="see_more" msgid="7499355691042812723">"Vedeți mai multe"</string>
     <string name="see_less" msgid="2642392725363552793">"Afișați mai puține"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"Dispozitivul care va fi folosit cu <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
@@ -4670,12 +4784,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"A intervenit ceva. Această aplicație a anulat solicitarea de a alege un dispozitiv."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"Conectare reușită"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"Afișați-le pe toate"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="few"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> dispozitive conectate</item>
-      <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> de dispozitive conectate</item>
-      <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_0">%1$d</xliff:g> dispozitiv conectat</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"Nu sunt dispozitive Bluetooth"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"Se caută dispozitivul…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"Se conectează la dispozitiv…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"Stânga"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"Dreapta"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Carcasă"</string>
@@ -4685,6 +4795,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"Nu sunt disponibile în modul Avion"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"Forțați modul desktop"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Forțați modul desktop experimental pe ecrane secundare"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"Activați mutarea aplicațiilor compatibile cu o mărime fixă"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"Permite mutarea aplicațiilor compatibile cu o mărime fixă"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Modificați funcția Force-Dark"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"Modifică funcția Force-Dark să fie activată mereu"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"Confidențialitate"</string>
@@ -4724,6 +4836,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Ați instalat recent această aplicație."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Schimbați rezultatul"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Se redă acum pe <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (s-a deconectat)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Nu se poate comuta. Atingeți pentru a reîncerca."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Informații importante"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"CONTINUAȚI"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"NU, MULȚUMESC"</string>
@@ -4751,8 +4865,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"Combinație de SIM"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Informații despre politica de serviciu"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Setări gestionate de administratorul IT"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"Handler pentru rapoartele de eroare"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Stabilește ce aplicație gestionează comanda rapidă pentru Raportul de eroare pe dispozitivul dvs."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Personal"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"Serviciu"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"Valoare prestabilită"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"Această opțiune nu mai este validă. Încercați din nou."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"Nu mai proiectați"</string>
 </resources>
diff --git a/res/values-ru/arrays.xml b/res/values-ru/arrays.xml
index ac5e085..543fb62 100644
--- a/res/values-ru/arrays.xml
+++ b/res/values-ru/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"Сразу"</item>
     <item msgid="463591454172790676">"Через 5 сек."</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"Не проверять"</item>
+    <item msgid="5703177653586269306">"Запрашивать статус сертификата"</item>
+    <item msgid="326388247868439528">"Требовать статус сертификата"</item>
+    <item msgid="1090956283885790552">"Требовать статусы всех ненадежных сертификатов"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"Push-кнопка"</item>
     <item msgid="2630618799033509548">"PIN-код с обнаруженного устройства"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"Нет"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"VPN-подключение IPSec с общими ключами и аутентификацией Xauth"</item>
     <item msgid="2484564813864139237">"VPN-подключение IPSec с использованием сертификатов и аутентификации Xauth"</item>
     <item msgid="68918911194507915">"VPN-подключение IPSec с использованием сертификатов и комбинированной аутентификации"</item>
+    <item msgid="4631647675167100375">"VPN-подключение по протоколу IKEv2/IPSec с использованием сертификатов и аутентификации с помощью имени пользователя и пароля"</item>
+    <item msgid="8812228622975052811">"VPN-подключение по протоколу IKEv2/IPSec с общими ключами"</item>
+    <item msgid="6630554779981113046">"VPN-подключение по протоколу IKEv2/IPSec с использованием сертификатов"</item>
   </string-array>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"Не используется"</item>
diff --git a/res/values-ru/config.xml b/res/values-ru/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-ru/config.xml
+++ b/res/values-ru/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 3cec70f..9fa94f9 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -33,49 +33,17 @@
     <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="radio_info_data_connection_enable" msgid="7500945447906187613">"Включить передачу данных"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"Отключить передачу данных"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"Синхронизация VoLTE включена"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"Видеосвязь предоставлена"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"Связь по Wi-Fi предоставлена"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"Синхронизация EAB/Presence включена"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"Данные CBRS"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"Включить DSDS"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"Перезапустить устройство?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"Чтобы изменить эту настройку, перезапустите устройство."</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"Перезапустить"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"Отмена"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"Мощность радиосигнала"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"Просмотреть адресную книгу на SIM-карте"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"Просм. список разреш. номеров"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"Просмотреть номера служебного набора"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"Статус сервиса IMS"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"Статус сервиса IMS"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"Зарегистрирован"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"Не зарегистрирован"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"Доступен"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"Недоступен"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"Статус регистрации сервиса IMS: <xliff:g id="STATUS">%1$s</xliff:g>\nVoLTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nVoWi-Fi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nВидеовызовы: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT-интерфейс: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"В зоне обслуживания"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Вне зоны обслуживания"</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>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"Не работает"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"Звонок"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"Вызов"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"Нет подключения"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"Подключение"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"Подключено"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Приостановлено"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Неизвестно"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"pkts"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"байт"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"Отключить USB-накопитель"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"Извлечь SD-карту"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"Очистить USB-накопитель"</string>
@@ -85,7 +53,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"Сделайте текст на экране мельче или крупнее."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Уменьшить"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Увеличить"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Принесите мне, пожалуйста, чашку кофе."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"Пример текста"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"Удивительный волшебник из страны Оз"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"Глава 11. Изумрудный город страны Оз"</string>
@@ -176,9 +143,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"Чтобы изменить эту настройку, перезапустите устройство."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"Перезапуск"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"Отмена"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"Доступные медиаустройства"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"Доступные устройства для совершения звонков"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"Текущие подключения"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"Медиаустройства"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"Устройства для совершения звонков"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"Другие устройства"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Сохраненные устройства"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Будет включен Bluetooth"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Настройки подключения"</string>
@@ -211,46 +178,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"Указанный порт недействителен."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"Прокси-сервер HTTP используется только браузером."</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"URL автоконфигур. прокси: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"Текущий доп. идентификатор:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"Доп. идентификатор SIM-карты для мобильного Интернета по умолчанию:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"Пропускная способность DL-канала (кбит/c):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"Пропускная способность UL-канала (кбит/с):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"Информация о местоположении сети (устаревшее):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"Конфигурация физического канала LTE:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"Частота обновления данных о сетях:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"Статистика сети:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"Сервис для передачи данных:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"Роуминг:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"Переадресация вызовов:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"Количество сбросов PPP после загрузки:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"Текущая сеть:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"Получено данных:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"Сервис голосовой связи:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"Уровень сигнала:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"Статус голосовых вызовов:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"Отправлено данных:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"Параллельное сообщение:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"Номер телефона:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"Выбрать сеть"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"Тип сети для голосовой связи:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"Тип сети для передачи данных:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"Выберите телефонный код"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"Настроить предпочтительный тип сети:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"Запрос ping для www.google.com, IPv4:"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"Запрос ping для www.google.com, IPv6:"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"Проверка клиента HTTP:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"Выполнить проверку ping"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"Обновить"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"Обновление"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"Включить/отключить проверку DNS"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"Информация/настройки OEM"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"Настроить режим сети"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"Загрузка списка частот…"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"Настроить"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"Сбой"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"Успешно"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"Изменения вступят в силу после повторного подключения USB-кабеля."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"Включить запоминающее устройство USB"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"Всего байтов:"</string>
@@ -289,10 +220,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"Переместить в конец"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"Удалить язык"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"Выбор действия"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"Сведения об устройстве"</string>
     <string name="display_label" msgid="3056320781191343221">"Экран"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"Информация о планшетном ПК"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"Информация о телефоне"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"USB-накопитель"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"SD-карта"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"Настройки прокси-сервера"</string>
@@ -310,9 +238,6 @@
     <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="cellular_data_title" msgid="8072108204621057526">"Мобильный Интернет"</string>
-    <string name="calls_title" msgid="6334813967619899114">"Разрешить звонки"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"SMS"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"Разрешить передачу данных по моб. сети"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"Передавать данные в роуминге"</string>
     <string name="roaming" msgid="3055365654530847985">"Роуминг"</string>
@@ -320,9 +245,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"Подключаться к службам передачи данных при роуминге"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"Мобильный Интернет в роуминге отключен. Вы можете включить интернет-роуминг в настройках."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"Включить"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"Возможны высокие расходы."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"Использование роуминга может повлечь за собой непредвиденные расходы.\n\nНастройки будут изменены для всех пользователей устройства."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"Использование роуминга может повлечь за собой непредвиденные расходы.\n\nНастройки будут изменены для всех пользователей устройства."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"Может взиматься плата за роуминг."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"За использование интернет-роуминга может взиматься дополнительная плата.\n\nНастройки будут изменены для всех пользователей этого планшета."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"За использование интернет-роуминга может взиматься дополнительная плата.\n\nНастройки будут изменены для всех пользователей этого телефона."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"Разрешить интернет-роуминг?"</string>
     <string name="networks" msgid="5184501333492775095">"Выбор оператора"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"Выберите оператора связи"</string>
@@ -363,8 +288,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"Отключено администратором"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"Добавить кнопку блокировки"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"Добавить в меню кнопки питания возможность отключения Smart Lock, биометрической разблокировки и уведомлений на заблокированном экране"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"Агенты доверия откладывают блокировку"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"Если параметр включен, агенты доверия могут увеличивать время, в течение которого устройство остается разблокированным, но не могут разблокировать его"</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"Блокировать экран при утрате доверия"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"Если параметр включен, устройство блокируется, когда последний агент доверия теряет доверие"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"Нет текста"</string>
@@ -396,7 +319,7 @@
     <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="disabled_by_administrator_summary" msgid="4181894719300350343">"Отключено администратором"</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>
@@ -709,7 +632,6 @@
       <item quantity="many">PIN-код должен содержать менее <xliff:g id="NUMBER_1">%d</xliff:g> цифр</item>
       <item quantity="other">PIN-код должен содержать менее <xliff:g id="NUMBER_1">%d</xliff:g> цифры</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"PIN-код должен содержать только цифры"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"Использовать недавний PIN-код запрещено"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"ИТ-администратор заблокировал простые PIN-коды. Выберите более сложную комбинацию."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"Недопустимые символы"</string>
@@ -752,6 +674,12 @@
       <item quantity="many">Используйте как минимум <xliff:g id="COUNT">%d</xliff:g> небуквенных символов</item>
       <item quantity="other">Используйте как минимум <xliff:g id="COUNT">%d</xliff:g> небуквенного символа</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="one">Пароль должен содержать хотя бы <xliff:g id="COUNT">%d</xliff:g> нечисловой символ.</item>
+      <item quantity="few">Пароль должен содержать хотя бы <xliff:g id="COUNT">%d</xliff:g> нечисловых символа.</item>
+      <item quantity="many">Пароль должен содержать хотя бы <xliff:g id="COUNT">%d</xliff:g> нечисловых символов.</item>
+      <item quantity="other">Пароль должен содержать хотя бы <xliff:g id="COUNT">%d</xliff:g> нечислового символа.</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"Использовать недавний пароль запрещено"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"ИТ-администратор заблокировал простые пароли. Выберите более сложную комбинацию."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"Нельзя использовать последовательности из идущих подряд или повторяющихся цифр"</string>
@@ -869,19 +797,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2,4 ГГц"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 ГГц"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"Войти"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"Открыть сайт"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"Осталось времени: <xliff:g id="REMAINING_TIME">%1$s</xliff:g>"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"Действует до <xliff:g id="EXPIRY_TIME">%1$s</xliff:g>"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"Нажмите, чтобы войти в сеть."</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Мбит/с"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Мбит/с"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Мбит/с"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"Приложению \"<xliff:g id="REQUESTER">%s</xliff:g>\" требуется включить Wi-Fi"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"Приложению \"<xliff:g id="REQUESTER">%s</xliff:g>\" требуется отключить Wi-Fi"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"Проверять байт-код приложений, доступных для отладки"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Разрешить ART проверять байт-код приложений, доступных для отладки"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"Частота обновления"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Показывать текущую частоту обновления экрана"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"Разрешить обмен данными, когда вы подносите планшет к другому устройству"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"Разрешить обмен данными, когда вы подносите телефон к другому устройству"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"Разрешить обмен данными, когда планшет находится рядом с NFC-устройством"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"Разрешить обмен данными, когда телефон находится рядом с NFC-устройством"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"Включите NFC"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"Связь малого радиуса действия (NFC) позволяет обмениваться данными с другими устройствами поблизости, например кассовыми терминалами, устройствами доступа, интерактивной рекламой и метками."</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"Безопасное использование NFC"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Требовать разблокировки устройства для использования NFC"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"Разрешить оплату покупок и проезда с помощью NFC только при разблокированном экране"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"Готов к передаче контента приложений по NFC"</string>
@@ -955,8 +889,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Да"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Поиск сетей Wi‑Fi включен"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Расширенные настройки"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"Раскрывающее меню дополнительных настроек. Нажмите дважды, чтобы свернуть."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"Раскрывающее меню дополнительных настроек. Нажмите дважды, чтобы развернуть."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Раскрывающийся список расширенных настроек"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"развернуть"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"Имя сети"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"Введите имя сети (SSID)"</string>
     <string name="wifi_security" msgid="9095934643631406913">"Защита"</string>
@@ -966,6 +900,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"Статус"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"Скорость передачи данных"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"Скорость получения данных"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"Скорость связи"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"Частота"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"IP-адрес"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"Сохранено через"</string>
@@ -973,6 +908,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"Метод EAP"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"2-й этап аутентификации"</string>
     <string name="wifi_eap_ca_cert" msgid="8033404008276298886">"Сертификат центра сертификации"</string>
+    <string name="wifi_eap_ocsp" msgid="8713933962516871238">"Статус онлайн-сертификата"</string>
     <string name="wifi_eap_domain" msgid="8304301470752333203">"Домен"</string>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"Сертификат пользователя"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"Пользователь"</string>
@@ -989,6 +925,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"Выберите хотя бы один диапазон частот для точек доступа Wi-Fi."</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"Настройки IP"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"Конфиденциальность"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"Подписки"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"Просмотр и изменение подписок"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"Случайный MAC-адрес"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"Подключение устройства"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"Чтобы подключиться к сети \"<xliff:g id="SSID">%1$s</xliff:g>\", наведите камеру на QR-код ниже."</string>
@@ -998,12 +936,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"Предоставить доступ к Wi‑Fi"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"Чтобы подключиться к сети \"<xliff:g id="SSID">%1$s</xliff:g>\" и поделиться паролем, отсканируйте этот QR-код."</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"Чтобы подключиться к сети \"<xliff:g id="SSID">%1$s</xliff:g>\", отсканируйте этот QR-код."</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"Не удалось считать QR-код. Наведите камеру так, чтобы QR-код располагался по центру, и повторите попытку."</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"Повторите попытку. Если это не поможет, свяжитесь с производителем устройства."</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"Произошла ошибка."</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"Убедитесь, что устройство включено, заряжено и подключено к адаптеру питания."</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"Убедитесь, что устройство включено, заряжено и подключено к адаптеру питания. Если это не поможет, свяжитесь с производителем устройства."</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"Сеть \"<xliff:g id="SSID">%1$s</xliff:g>\" не поддерживается этим устройством."</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"Переместите устройство ближе к точке доступа Wi-Fi или роутеру."</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"Проверьте пароль и повторите попытку."</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"Обратитесь к производителю устройства."</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"Проверьте подключение и повторите попытку."</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"Выбор сети"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"Чтобы подключить устройство, выберите сеть."</string>
@@ -1016,11 +956,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"Предоставление доступа к сети Wi‑Fi…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"Подключение…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"Поделиться точкой доступа"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"Подтвердите, что это вы"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"Подтвердите, что это вы"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"Пароль сети Wi-Fi: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"Пароль точки доступа: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"Автоматическое подключение"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"Разрешить автоматическое подключение в зоне действия этой сети"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"Разрешить автоматическое подключение в зоне действия этой сети"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"Добавить устройство"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"Использовать QR-код, чтобы добавить устройство к этой сети"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"Недопустимый формат QR-кода"</string>
     <string name="retry" msgid="7542103800274026915">"Повторить попытку"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"Поделиться с другими пользователями устройства"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(без изменений)"</string>
@@ -1032,6 +976,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"Сертификат не указан. Будет установлено незащищенное соединение."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"Слишком длинное имя сети."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"Укажите домен."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"Требуется сертификат."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"Поддерживает WPS"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (доступно WPS)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"Сеть Wi‑Fi оператора связи"</string>
@@ -1089,7 +1034,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"Дополнительные функции"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"MAC-адрес"</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_ip_address_title" msgid="4265355419782184514">"IP-адрес"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"Сведения о сети"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Маска подсети"</string>
@@ -1141,7 +1087,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"Создайте сеть Wi‑Fi, включив точку доступа. С ее помощью другие устройства смогут подключаться к мобильному Интернету. За трафик может взиматься дополнительная плата."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"Приложения могут создавать точки доступа, чтобы делиться контентом с устройствами поблизости."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Автоматически выключать точку доступа"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"Выключать точку доступа Wi‑Fi автоматически, если к ней не подключено ни одного устройства"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Если нет подключенных устройств"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"Включение точки доступа…"</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"Выключение точки доступа…"</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"Сеть <xliff:g id="NETWORK_SSID">%1$s</xliff:g> активна"</string>
@@ -1150,6 +1096,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"Настройка точки доступа Wi‑Fi"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"Точка доступа AndroidAP WPA2 PSK"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"Хот-спот Android"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"Сохранить эту сеть?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"Приложение \"<xliff:g id="APPNAME">%1$s</xliff:g>\" запрашивает разрешение сохранить сеть на телефоне."</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"Приложение \"<xliff:g id="APPNAME">%1$s</xliff:g>\" запрашивает разрешение сохранить сеть на планшете."</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"Сохранение…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"Сохранено"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"Не удалось сохранить. Повторите попытку."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"Сохранить сети?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"Приложение \"<xliff:g id="APPNAME">%1$s</xliff:g>\" запрашивает разрешение сохранить эти сети на телефоне."</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"Приложение \"<xliff:g id="APPNAME">%1$s</xliff:g>\" запрашивает разрешение сохранить эти сети на планшете."</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"Сохранение сетей (<xliff:g id="NUMBER">%d</xliff:g>)…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"Сети сохранены"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"Звонки по Wi-Fi"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"Звонки по Wi-Fi"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"Звоните по Wi-Fi, когда нет сигнала сотовой связи."</string>
@@ -1176,16 +1133,18 @@
     <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">"Подробнее "<annotation id="url">"о персональном DNS-сервере"</annotation>"…"</string>
+    <string name="private_dns_mode_on" msgid="8878679071975375696">"Включено"</string>
     <string name="wifi_calling_pref_managed_by_carrier" msgid="129524064888622179">"Эти настройки управляются оператором"</string>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"Активируйте звонки по Wi-Fi"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"Включите звонки по Wi-Fi"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"%1$s не поддерживает звонки по Wi-Fi"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"Отключено от сети \"<xliff:g id="SSID">%1$s</xliff:g>\""</string>
     <string name="carrier" msgid="1755020806290963951">"Оператор"</string>
     <string name="display_settings_title" msgid="626835071804834218">"Экран"</string>
     <string name="sound_settings" msgid="5514582720435174014">"Звук"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"Громкость"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"Звуковые эффекты"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"Громкость звонка"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"Громкость сигналов при входящих вызовах и уведомлениях"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"Виброзвонок без звука"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"Звук уведомлений по умолчанию"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"Мелодия"</string>
@@ -1310,13 +1269,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"Расписание"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"Никогда"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"От заката до рассвета"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"В выбранное время"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"Статус"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"Отключено/<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"Не включится автоматически"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"Включится автоматически на закате"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"Включится автоматически в <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"Включено/<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"Не выключится автоматически"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"Выключится автоматически на рассвете"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"Отключится автоматически в <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"Включить до <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"Отключить до <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"В тёмной теме используется черный фон. Это помогает продлить срок работы батареи некоторых устройств. Если вы работаете с телефоном в тот момент, когда по расписанию должна активироваться тёмная тема, она будет применена только после следующего включения экрана."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"Время отключения экрана"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"Отключение экрана"</string>
@@ -1328,7 +1292,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"Смените обои"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"Выберите обои для экрана"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"Установка обоев"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"Персонализация Pixel"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"Настройка телефона"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"Пробуйте разные стили, обои и не только"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"Заставка"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Во время зарядки или при подключении к док-станции"</string>
@@ -1419,6 +1383,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"Отключить USB-накопитель, просмотреть доступные накопители"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"Отключение SD-карты, сведения о доступной памяти"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI-код (слот SIM %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"Для просмотра выберите сохраненную сеть."</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"Номер телефона"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (слот SIM %1$d)"</string>
@@ -1445,6 +1410,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"Роуминг"</string>
     <string name="status_operator" msgid="4335640583552058491">"Сеть"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"MAC-адрес Wi-Fi"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"MAC-адрес Wi-Fi устройства"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"Адрес Bluetooth"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Серийный номер"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Время с момента включения"</string>
@@ -1657,6 +1623,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Настройки по умолчанию восстановлены"</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"Сброс настроек"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"Вы можете сбросить настройки сети, приложений или устройства"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"Вы можете сбросить настройки приложений"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"Сбросить настройки Wi-Fi, мобильного Интернета и Bluetooth"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"На устройстве будут сброшены все сетевые настройки, в том числе:\n\n"<li>"Wi‑Fi"</li>\n<li>"Мобильный Интернет"</li>\n<li>"Bluetooth"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"Удалить скачанные SIM-карты"</string>
@@ -1706,6 +1673,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"Точка доступа"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"Режим модема"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"В режиме экономии трафика нельзя подключаться к точкам доступа"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"Только хот-спот"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"Только USB"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"Только Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"Хот-спот, USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"Хот-спот, Bluetooth"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB, Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"Хот-спот, USB, Bluetooth"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"Доступ к Интернету закрыт для других устройств"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"Режим модема"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Не использовать хот-спот Wi‑Fi"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Разрешать другим устройствам использовать ваше интернет-соединение только через USB."</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Разрешать другим устройствам использовать ваше интернет-соединение только через Bluetooth."</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Разрешать другим устройствам использовать ваше интернет-соединение только через USB или Bluetooth."</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB-модем"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"Открыть доступ к интернет-подключению телефона через USB"</string>
@@ -1798,9 +1778,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"Сведения о безопасности"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"Устройство не подключено к Интернету. Чтобы просмотреть эту информацию, откройте страницу %s на любом компьютере с интернет-доступом."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"Загрузка…"</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"Ввести PIN-код"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"Ввести графический ключ"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"Ввести пароль"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"Настройте блокировку экрана"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"Установите пароль"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"Задайте пароль"</string>
@@ -1809,8 +1786,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"Задайте PIN-код"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"Задайте графический ключ"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"Введите пароль ещё раз"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"Введите пароль рабочего профиля"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"Подтвердите графический ключ"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"Введите граф. ключ рабочего профиля"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"Введите PIN-код ещё раз"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"Введите PIN-код рабочего профиля"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"Пароли не совпадают"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"PIN-коды не совпадают"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"Начертите графический ключ ещё раз"</string>
@@ -1821,6 +1801,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"Задайте пароль"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"Задайте графический ключ"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"Задайте PIN-код"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"Забыли пароль?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"Забыли графический ключ?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"Забыли PIN-код?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"Чтобы продолжить, введите графический ключ устройства"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"Чтобы продолжить, введите PIN-код устройства"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"Чтобы продолжить, введите пароль устройства"</string>
@@ -1888,6 +1871,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"Разрешить из всех источников"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"Недавно открытые приложения"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"Показать все приложения (<xliff:g id="COUNT">%1$d</xliff:g>)"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"Обратитесь к системному администратору"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"Он поможет сбросить PIN-код, графический ключ или пароль."</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"Ваши личные данные и данные планшета более уязвимы для атак приложений из неизвестных источников. Устанавливая приложения из этого источника, вы соглашаетесь с тем, что несете полную ответственность за любой ущерб, нанесенный планшету, и потерю данных, связанные с использованием этих приложений."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"Ваши личные данные и данные телефона более уязвимы для атак приложений из неизвестных источников. Устанавливая приложения из этого источника, вы соглашаетесь с тем, что несете полную ответственность за любой ущерб, нанесенный телефону, и потерю данных, связанные с использованием этих приложений."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"Ваши личные данные и данные устройства более уязвимы для атак приложений из неизвестных источников. Устанавливая такие приложения, вы соглашаетесь с тем, что несете полную ответственность за любой ущерб, нанесенный устройству, и потерю данных, связанные с использованием этих приложений."</string>
@@ -1941,7 +1926,7 @@
     <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="1377296810290814749">"Будут сброшены следующие настройки:\n\n"<li>"Отключенные приложения"</li>\n<li>"Отключенные уведомления приложений"</li>\n<li>"Приложения по умолчанию"</li>\n<li>"Ограничения на передачу данных в фоновом режиме"</li>\n<li>"Все ограничения разрешений"</li>\n\n"Данные приложений удалены не будут."</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>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"Сбросить"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"Управление местом"</string>
     <string name="filter" msgid="9039576690686251462">"Фильтр"</string>
@@ -2141,7 +2126,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"Аудио и озвучивание текста"</string>
     <string name="display_category_title" msgid="6638191682294461408">"Экран"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"Элементы управления"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"Скачанные сервисы"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"Скачанные приложения"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"Экспериментальные функции"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"Экспериментальные функции"</string>
     <string name="talkback_title" msgid="8756080454514251327">"Talkback"</string>
@@ -2149,27 +2134,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"Чтобы услышать описание элемента, нажмите на него"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"Настройки субтитров"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"Увеличение"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"Область увеличения"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"Включение увеличения"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"Выберите область увеличения экрана."</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"Весь экран"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"Часть экрана"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"Весь экран или его часть"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"Увеличить весь экран"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"Увеличить часть экрана"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Настройки увеличения"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"Увеличение по тройному нажатию"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Увеличение с помощью кнопки"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Увеличение с помощью кнопки и по тройному нажатию"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"О сервисе \"<xliff:g id="SERVICE">%1$s</xliff:g>\""</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"Параметры"</string>
     <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="2831926970059739911">"Чтобы "<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_screen_magnification_navbar_summary" msgid="5603519616005297803">"Благодаря функции увеличения вы сможете приближать изображение на экране.\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_screen_magnification_summary" msgid="7617931632990040045">"Вы можете быстро увеличить масштаб, чтобы лучше рассмотреть содержимое на экране.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Для увеличения масштаба следуйте этим инструкциям.&lt;/b&gt;&lt;br/&gt;	1. Выполните действие быстрого запуска, чтобы войти в режим увеличения.&lt;br/&gt;	2. Нажмите на экран.&lt;br/&gt;	3. Для перехода к другой области экрана перемещайте по нему два пальца.&lt;br/&gt;	4. Сведите два пальца на экране, чтобы настроить масштаб.&lt;br/&gt;	5. Выполните действие быстрого запуска, чтобы выйти из режима увеличения.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Для временного увеличения масштаба следуйте этим инструкциям.&lt;/b&gt;&lt;br/&gt;	1. Выполните действие быстрого запуска, чтобы войти в режим увеличения.&lt;br/&gt;	2. Нажмите на любую область экрана и удерживайте.&lt;br/&gt;	3. Для перехода к другой области экрана перемещайте по нему палец.&lt;br/&gt;	4. Поднимите палец, чтобы вернуть исходный масштаб."</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Благодаря функции увеличения вы сможете приближать изображение на экране.\n\n"<b>"Если вы хотите увеличить изображение"</b>", включите функцию и нажмите на экран в любом месте.\n"<ul><li>"Для прокрутки проведите двумя пальцами."</li>\n<li>"Чтобы изменить масштаб, сведите два пальца вместе или разведите их."</li></ul>\n\n<b>"Если нужно временно увеличить масштаб"</b>", включите функцию увеличения, коснитесь экрана и удерживайте.\n"<ul><li>"Для обзора проведите по экрану."</li>\n<li>"Чтобы уменьшить масштаб, отпустите палец."</li></ul>\n\n"Эти жесты не работают на клавиатуре и панели навигации."</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Используйте кнопку специальных возможностей"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Используйте жесты"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"Используйте новый жест"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"Чтобы включить или выключить сервис, нажмите кнопку специальных возможностей <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> в нижней части экрана.\n\nДля переключения между сервисами нажмите и удерживайте эту кнопку."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"Чтобы включить или выключить сервис, проведите по экрану снизу вверх двумя пальцами.\n\nДля переключения между сервисами проведите по экрану снизу вверх двумя пальцами и задержите их."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"Чтобы включить или выключить сервис, проведите по экрану снизу вверх тремя пальцами.\n\nДля переключения между сервисами проведите по экрану снизу вверх тремя пальцами и задержите их."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"Чтобы включить или выключить сервис специальных возможностей, проведите по экрану снизу вверх двумя пальцами.\n\nДля переключения между сервисами проведите по экрану снизу вверх двумя пальцами и задержите их."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"Чтобы включить или выключить сервис специальных возможностей, проведите по экрану снизу вверх тремя пальцами.\n\nДля переключения между сервисами проведите по экрану снизу вверх тремя пальцами и задержите их."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"Чтобы включить или выключить сервис, нажмите кнопку специальных возможностей <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> в нижней части экрана.\n\nДля переключения между сервисами нажмите и удерживайте эту кнопку."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"Чтобы включить или выключить сервис, проведите по экрану снизу вверх двумя пальцами.\n\nДля переключения между сервисами проведите по экрану снизу вверх двумя пальцами и задержите их."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"Чтобы включить или выключить сервис, проведите по экрану снизу вверх тремя пальцами.\n\nДля переключения между сервисами проведите по экрану снизу вверх тремя пальцами и задержите их."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"Чтобы включить или выключить сервис специальных возможностей, проведите по экрану снизу вверх двумя пальцами.\n\nДля переключения между сервисами проведите по экрану снизу вверх двумя пальцами и задержите их."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"Чтобы включить или выключить сервис специальных возможностей, проведите по экрану снизу вверх тремя пальцами.\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="2820923641553461297">"Кнопка специальных возможностей"</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>
+    <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8922102767509399352">"Нажмите кнопку специальных возможностей <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> внизу экрана"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"Проведите вверх от нижнего края экрана двумя пальцами"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"Проведите вверх от нижнего края экрана тремя пальцами"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Удерживание кнопок регулировки громкости"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"Нажмите обе кнопки громкости и удерживайте их в течение одной секунды"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Тройное нажатие на экран"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"Быстро нажмите на экран три раза (этот жест может замедлить работу устройства)"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"Ещё"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"Кнопка специальных возможностей настроена на сервис \"<xliff:g id="SERVICE">%1$s</xliff:g>\". Чтобы использовать увеличение, удерживайте ее, а затем выберите \"Увеличение изображения на экране\"."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"Для этого жеста задана команда \"<xliff:g id="SERVICE">%1$s</xliff:g>\". Чтобы увеличить масштаб, проведите двумя пальцами снизу вверх и задержите их на экране. Затем выберите пункт \"Увеличение\"."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"Кнопки регулировки громкости"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"Быстрое включение сервиса"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Настройки быстрого запуска"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"Разрешить на заблокированном экране"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"Чтобы использовать функцию специальных возможностей, когда она включена, нажмите и удерживайте обе кнопки регулировки громкости в течение трех секунд."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"Контрастный текст"</string>
@@ -2193,24 +2203,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"Укажите, сколько времени вам нужно на выполнение действий в автоматически исчезающих сообщениях.\n\nЭта настройка поддерживается не во всех приложениях."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"Задержка при нажатии и удержании"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"Инверсия цветов"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"Может снизить производительность"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"Время задержки"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"Использовать инверсию цветов"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"Инверсия цветов позволяет сделать светлые цвета темными. Так людям с чувствительностью к яркому свету будет легче смотреть на экран.&lt;br/&gt;&lt;br/&gt;Обратите внимание: темные цвета станут светлыми. Изменение цвета коснется медиафайлов и изображений. Можно также использовать тёмную тему (\"Настройки &gt; Экран\")."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"Автонажатие (время задержки)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"Подключив мышь к устройству Android, вы сможете настроить автоматическое нажатие. Оно будет выполняться через некоторое время после остановки курсора."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"Задержка перед нажатием"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"Автонажатие выкл. (по умолчанию)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"Короткая задержка"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0,2 секунды"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"Средняя задержка"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0,6 секунды"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"Долгая задержка"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 секунда"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"Другие настройки"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"Уменьшить"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"Увеличить"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"Время автонажатия"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"Сила вибрации"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Вибрация при уведомлении"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Вибрация при звонке"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Вибрация при касании"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"Использовать сервис"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"Использовать <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"Открыть приложение \"<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>\""</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"Использовать коррекцию цвета"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"Использовать субтитры"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"Показать субтитры"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"Стиль шрифта субтитров"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"Размер текста и стиль субтитров"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"Ещё"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"Не все приложения поддерживают эту настройку."</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>
     <string name="accessibility_hearingaid_instruction_continue_button" msgid="3367260988024430722">"Далее"</string>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"Слуховые аппараты"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"Нет подключенных слуховых аппаратов"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"Добавить слуховой аппарат"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"Чтобы подключить слуховой аппарат, коснитесь его названия на следующем экране."</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"Убедитесь, что ваш слуховой аппарат находится в режиме установления соединения."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"Чтобы подключить слуховой аппарат, нажмите на его название на следующем экране. Убедитесь, что ваш слуховой аппарат находится в режиме установления соединения."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"Устройство \"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>\" активно"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> сохраненный слуховой аппарат</item>
@@ -2224,35 +2252,47 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Сервис работает некорректно."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Показывать в быстрых настройках"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"Режим коррекции"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="one">Сверхкраткая задержка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мсек.)</item>
-      <item quantity="few">Сверхкраткая задержка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мсек.)</item>
-      <item quantity="many">Сверхкраткая задержка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мсек.)</item>
-      <item quantity="other">Сверхкраткая задержка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мсек.)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Красный и зеленый"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"Зеленый и красный"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Синий и желтый"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"Дейтераномалия"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"Протаномалия"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"Тританомалия"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="one">Сверхкраткая задержка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунда)</item>
+      <item quantity="few">Сверхкраткая задержка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунды)</item>
+      <item quantity="many">Сверхкраткая задержка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунд)</item>
+      <item quantity="other">Сверхкраткая задержка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунды)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="one">Очень короткая задержка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мсек.)</item>
-      <item quantity="few">Очень короткая задержка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мсек.)</item>
-      <item quantity="many">Очень короткая задержка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мсек.)</item>
-      <item quantity="other">Очень короткая задержка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мсек.)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="one">Очень короткая задержка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунда)</item>
+      <item quantity="few">Очень короткая задержка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунды)</item>
+      <item quantity="many">Очень короткая задержка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунд)</item>
+      <item quantity="other">Очень короткая задержка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунды)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="one">Короткая задержка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мсек.)</item>
-      <item quantity="few">Короткая задержка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мсек.)</item>
-      <item quantity="many">Короткая задержка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мсек.)</item>
-      <item quantity="other">Короткая задержка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мсек.)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="one">Короткая задержка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунда)</item>
+      <item quantity="few">Короткая задержка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунды)</item>
+      <item quantity="many">Короткая задержка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунд)</item>
+      <item quantity="other">Короткая задержка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунды)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="one">Долгая задержка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мсек.)</item>
-      <item quantity="few">Долгая задержка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мсек.)</item>
-      <item quantity="many">Долгая задержка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мсек.)</item>
-      <item quantity="other">Долгая задержка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мсек.)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="one">Долгая задержка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунда)</item>
+      <item quantity="few">Долгая задержка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунды)</item>
+      <item quantity="many">Долгая задержка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунд)</item>
+      <item quantity="other">Долгая задержка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунды)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="one">Очень долгая задержка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мсек.)</item>
-      <item quantity="few">Очень долгая задержка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мсек.)</item>
-      <item quantity="many">Очень долгая задержка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мсек.)</item>
-      <item quantity="other">Очень долгая задержка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мсек.)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="one">Очень долгая задержка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунда)</item>
+      <item quantity="few">Очень долгая задержка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунды)</item>
+      <item quantity="many">Очень долгая задержка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунд)</item>
+      <item quantity="other">Очень долгая задержка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунды)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунда</item>
+      <item quantity="few"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунды</item>
+      <item quantity="many"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунд</item>
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунды</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"<xliff:g id="SUMMARY_RING">%1$s</xliff:g>: звонок. <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>: уведомление. <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>: касание."</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"Вибрация при входящих вызовах и уведомлениях отключена"</string>
@@ -2587,7 +2627,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"С последнего отключения <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"Всего"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"Обновить"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"ОС Android"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"Сервер медиа"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"Оптимизация приложений"</string>
     <string name="battery_saver" msgid="7737147344510595864">"Режим энергосбережения"</string>
@@ -2668,8 +2707,7 @@
     <string name="tts_play" msgid="2945513377250757221">"Воспроизвести"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"Хранилище учетных данных"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"Установить"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"Установка с SD-карты"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"Установка сертификатов"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"Установить сертификаты"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"Установить сертификаты с SD-карты"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"Очистить учетные данные"</string>
@@ -2689,6 +2727,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"Хранилище учетных данных очищено"</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"Не удалось очистить хранилище."</string>
     <string name="usage_access_title" msgid="1580006124578134850">"Доступ к данным"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"Сертификат центра сертификации"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"Сертификат пользователя приложений и VPN"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"Сертификат Wi-Fi"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"Ваша конфиденциальность под угрозой"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"Сайты, приложения и VPN используют для шифрования сертификаты центра сертификации (ЦС). Устанавливайте сертификаты ЦС только тех организаций, которым вы доверяете. \n\nВладелец установленного сертификата может получить доступ к вашим данным, введенным на сайтах и в приложениях (например, паролям, сообщениям и реквизитам банковской карты, даже если они зашифрованы)."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"Не устанавливать"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"Все равно установить"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"Сертификат не установлен."</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"Сигнал набора номера при экстренных вызовах"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Настроить режим работы при экстренном вызове"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Резервное копирование"</string>
@@ -2716,10 +2762,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"Отключить и удалить"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"Приложения администратора"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"Нет доступных приложений администратора устройства"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"Личный"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"Рабочий"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"Ограничение доступа к SMS и списку вызовов"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"Доступ к SMS и списку вызовов есть только у приложений для звонков и обмена сообщениями, используемых по умолчанию"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"Нет агентов доверия."</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"Приложение администратора устройства"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"Активировать приложение администратора устройства"</string>
@@ -2733,6 +2775,16 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"Другие настройки отключены администратором"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"Подробнее…"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"Журнал уведомлений"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"История уведомлений"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"Сегодня"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"Отложенные"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"Недавно закрытые"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="one"><xliff:g id="NUMBER_1">%d</xliff:g> уведомление</item>
+      <item quantity="few"><xliff:g id="NUMBER_1">%d</xliff:g> уведомления</item>
+      <item quantity="many"><xliff:g id="NUMBER_1">%d</xliff:g> уведомлений</item>
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> уведомления</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"Вибросигнал и рингтон"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"Сведения о сети"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"Синхронизация включена"</string>
@@ -3090,7 +3142,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"Ограничения"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"Отменить ограничения"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"Изменить PIN-код"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"Уведомления"</string>
     <string name="help_label" msgid="2896538416436125883">"Справка/отзыв"</string>
     <string name="support_summary" msgid="1034146931237148885">"Справочные статьи, поддержка по телефону и в чате, инструкции по началу работы"</string>
     <string name="user_account_title" msgid="6389636876210834864">"Аккаунт для контента"</string>
@@ -3115,6 +3166,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"Звонки по сети 4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Использовать сервисы LTE, чтобы улучшить качество связи (рекомендуется)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Использовать сервисы 4G, чтобы улучшить качество связи (рекомендуется)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Доступ к контактам"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Ваш мобильный оператор сможет узнать, какие функции вызова используют ваши контакты."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Разрешить доступ к контактам?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"После включения этой функции ваш мобильный оператор получит доступ к телефонным номерам ваших контактов и сможет узнать, какие функции вызова они поддерживают."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Тип сети"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (рекомендуется)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS-сообщения"</string>
@@ -3159,7 +3214,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"Выберите SIM-карту"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"Выберите SIM-карту"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"SIM-карта <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"Пустая SIM-карта"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"Название SIM-карты"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"Укажите название SIM-карты"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"Слот SIM %1$d"</string>
@@ -3169,6 +3223,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"Выберите SIM-карту"</string>
     <string name="color_orange" msgid="216547825489739010">"Оранжевый"</string>
     <string name="color_purple" msgid="6603701972079904843">"Фиолетовый"</string>
+    <string name="color_pink" msgid="8596872110888626708">"Розовый"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"SIM-карта не вставлена"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"Статус SIM-карты"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"Статус SIM (слот SIM %1$d)"</string>
@@ -3182,7 +3237,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> дБмВт, asu: <xliff:g id="ASU">%2$d</xliff:g>"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"SIM-карты заменены"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Нажмите, чтобы настроить"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"Использование SIM-карт"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Всегда спрашивать"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Выберите SIM-карту"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"Выбор SIM-карты"</string>
@@ -3202,6 +3256,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"Bluetooth, режим вождения"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"Bluetooth, NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"Bluetooth"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"Недоступно, так как функция NFC выключена"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"Приложения и уведомления"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Недавние приложения, приложения по умолчанию"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Приложениям в рабочем профиле нельзя предоставить доступ к уведомлениям."</string>
@@ -3212,13 +3267,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"Настройки"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"Wi-Fi, WiFi, сетевое подключение, Интернет, беспроводной, данные, Wi Fi"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"Уведомления о Wi‑Fi, уведомления о wifi"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"передача данных"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"Вибрация, нажатие, клавиатура"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"Использовать 24-часовой формат"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"Скачивание"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"Открыть с помощью"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"Приложения"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"часовой пояс"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"Chat Heads"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"Чат-фото, системные сообщения, оповещения, окна, диалоговые окна, экран, поверх других приложений, графический ключ поверх других элементов"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"Фонарик, фонарь, свет"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"wifi, wi-fi, переключатель, управление"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"сотовая сеть, мобильный Интернет, сотовый оператор, беспроводная сеть, передача данных, 4G, 3G, 2G, LTE"</string>
@@ -3242,7 +3298,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"не беспокоить, режим оповещения, оповещение, прерывание"</string>
     <string name="keywords_app" msgid="7983814237980258061">"ОЗУ"</string>
     <string name="keywords_location" msgid="8016374808099706213">"поблизости, местоположение, история, отчеты, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"аккаунт"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"аккаунт, добавить аккаунт, рабочий профиль, добавление аккаунта"</string>
     <string name="keywords_users" msgid="3497517660077620843">"ограничение, ограничить, ограничено"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"исправление текста, автозамена, звук, вибрация, авто, язык, жест, подсказка, тема, неприемлемый, слово, ввод, эмодзи, смайлик, международный"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"сбросить, настройки, по умолчанию"</string>
@@ -3280,6 +3336,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"память, кеш, данные, удалить, очистить, освободить, место"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"подключено, устройство, наушники, гарнитура, динамик, беспроводной, связать, наушники-вкладыши, музыка, мультимедиа"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"фон, экран, блокировка экрана, тема"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"форма значков, цвет акцента, шрифт"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"по умолчанию, ассистент"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"оплата, по умолчанию"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"входящее уведомление"</string>
@@ -3289,18 +3346,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"осязание, вибрация, чувствительность"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"энергосбережение, постоянная экономия заряда, батарея"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"программа, расписание, режим энергосбережения, экономия заряда, батарея, автоматически, процент"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"рабочий профиль"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"volte, расширенный вызов, звонки по сети 4g"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"добавить язык, добавление языка"</string>
     <string name="default_sound" msgid="6604374495015245195">"Мелодия по умолчанию"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"Громкость звонка: <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"Громкость сигналов при входящих вызовах и уведомлениях: <xliff:g id="PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Громкость, вибрация, режим \"Не беспокоить\""</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"Включен вибросигнал"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"Включен режим без звука"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"Громкость звонка: 80 %"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"Громкость сигналов при входящих вызовах и уведомлениях: 80 %."</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Музыка, видео, игры"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Громкость трансляции"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"Разговор"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"Будильник"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"Рингтон"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"Громкость вызовов и уведомлений"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"Громкость уведомлений"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"Рингтон"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"Звук уведомления по умолчанию"</string>
@@ -3308,6 +3366,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"Звук уведомления по умолчанию"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"Звук будильника по умолчанию"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"Вибрация при звонке"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"Без вибрации"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"С вибрацией"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"Вибрация, а затем нарастающий звонок"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"Другие звуки"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"Звук при наборе номера"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"Звук блокировки экрана"</string>
@@ -3333,6 +3394,7 @@
       <item quantity="other">Включено <xliff:g id="ON_COUNT">%d</xliff:g> расписания.</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Не беспокоить"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Получать уведомления только от важных людей и приложений"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Отключение уведомлений"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Включите режим \"Не беспокоить\""</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"Исключения"</string>
@@ -3359,7 +3421,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Блокировка визуального оповещения"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Включить визуальное оповещение"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"В режиме \"Не беспокоить\""</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"Разрешить звуковые уведомления"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"Ограничение уведомлений"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Отключить звук уведомлений"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"Уведомления будут показываться на экране"</string>
@@ -3390,7 +3452,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"Звуки и вибрация"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"Звуки, вибрация и некоторые визуальные сигналы"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"Звуки, вибрация и визуальные сигналы"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"Статус и уведомления, необходимые для базовых действий с телефоном, не будут скрываться."</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"Статус и уведомления, необходимые для базовых действий с телефоном, не будут скрываться."</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"Нет"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"Другие параметры"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"Добавить"</string>
@@ -3424,10 +3486,12 @@
       <item quantity="many">Могут автоматически включиться <xliff:g id="ON_COUNT">%d</xliff:g> расписаний.</item>
       <item quantity="other">Может автоматически включиться <xliff:g id="ON_COUNT">%d</xliff:g> расписания.</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"Без звука (кроме исключений)"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"Исключения"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"Расписание"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"Все исключения"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"Исключения в режиме \"Не беспокоить\""</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"Пользователи"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"Приложения"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"Будильники и важные уведомления"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"Расписания"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"Отключенные уведомления"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"В режиме \"Не беспокоить\" будут отключены звук и вибрация, за исключением случаев, для которых вы настроите разрешения выше."</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"Все без звука, кроме"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"Без звука"</string>
@@ -3471,16 +3535,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"Адаптивные уведомления"</string>
     <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_capabilities_actions_replies_title" msgid="4392470465646394289">"Рекомендуемые действия и ответы"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"Автоматически показывать рекомендуемые действия и ответы"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"Включите историю уведомлений, чтобы отслеживать полученные и отложенные уведомления"</string>
+    <string name="notification_history" msgid="8663811361243456201">"История уведомлений"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"Включить историю"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"Отключить историю"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"История уведомлений отключена"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"Просмотр настроек уведомлений"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Разрешить откладывать уведомления"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"Скрыть значки у беззвучных уведомлений"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"Значки беззвучных уведомлений не появляются в строке состояния"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"Показывать значки уведомлений"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"Показывать недавние чаты"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Всплывающие уведомления"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"Некоторые уведомления могут появляться как всплывающие"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"Некоторые уведомления могут появляться на экране как всплывающие. Чтобы открыть уведомление, нажмите на него. Чтобы скрыть уведомление, перетащите его в нижнюю часть экрана."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Всплывающие уведомления"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"Новые сообщения будут появляться на экране"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"Разрешить приложению \"<xliff:g id="APP_NAME">%1$s</xliff:g>\" показывать некоторые уведомления как всплывающие"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"Включить всплывающие уведомления"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"Сначала включите всплывающие уведомления на устройстве. Это отразится и на других приложениях, в которых вы включили всплывающие уведомления."</string>
@@ -3498,6 +3572,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"Показывать на панели уведомлений и заблокированном экране"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"Показывать на панели уведомлений и в строке состояния"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"Показывать на панели уведомлений, в строке состояния и на заблокированном экране"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"Скрыть беззвучные уведомления в строке состояния"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"Световая индикация"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"Заблокированный экран"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"Пропуск экрана блокировки"</string>
@@ -3528,6 +3603,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"Действия"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"Разрешить звуковой сигнал"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"Отключить уведомления"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"Чаты"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"Чат"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"Это не чат"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"Удалить из раздела чатов"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"Это чат"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"Добавить в раздел чатов"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"Управление чатами"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"Важные чаты"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"Все чаты"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"Показывать всплывающие уведомления для важных чатов"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"Важные чаты появляются в верхней части панели уведомлений. Вы также можете включить для них всплывающие уведомления и разрешить показ сообщений в режиме \"Не беспокоить\"."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"Без звука, компактный формат"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"Без звука"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"Звук"</string>
@@ -3546,7 +3632,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"Уведомления приходят без звука и вибрации"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"Уведомления приходят со звуком или вибрацией"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"При разблокированном устройстве показывать уведомления в виде баннера в верхней части экрана"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"Уведомления"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"Показывать все уведомления приложения \"<xliff:g id="APP_NAME">%1$s</xliff:g>\""</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"Адаптивные уведомления"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="one">~ <xliff:g id="NUMBER_1">%d</xliff:g> уведомление в день</item>
@@ -3573,6 +3659,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"Адаптивные уведомления"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"–"</string>
     <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="3119843404577399036">"Приложение \"<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>
@@ -3640,8 +3727,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"Готово"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"Важность"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"Световая индикация"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"Вибросигнал"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"Вибрация"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"Звук"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"Важный"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"Добавить на главный экран"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"Удалить"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"Переименовать"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"Название расписания"</string>
@@ -3697,6 +3786,10 @@
       <item quantity="many">ещё <xliff:g id="NUM_PEOPLE">%d</xliff:g> контактов</item>
       <item quantity="other">ещё <xliff:g id="NUM_PEOPLE">%d</xliff:g> контакта</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Чаты"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"Из всех чатов"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"Из важных чатов"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"Запретить"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"Сообщения"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"Чтобы не пропустить важные сообщения, убедитесь, что на устройстве включен звук или вибрация."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"Когда действует правило \"<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>\", входящие сообщения блокируются. Вы можете изменить настройки, чтобы принимать сообщения от друзей, членов семьи и других контактов."</string>
@@ -3710,15 +3803,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"Ни от кого"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"Запретить все звонки"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"Запретить все сообщения"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"Сигналы будильника"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"Будильник"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"Таймеры, будильники, системы обеспечения безопасности и другие приложения"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"будильники"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"Звуки мультимедиа"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"Звуки мультимедиа"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"Видео, игры и другие медиафайлы"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"мультимедиа"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"Звук нажатия на экран"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"Звук нажатия на экран"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"Клавиатура и кнопки"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"звук нажатия на экран"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"Напоминания"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"Напоминания"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"Задачи и напоминания"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"напоминания"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"Уведомления о мероприятиях"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"Мероприятия"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"Предстоящие мероприятия в календаре"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Разрешить приложениям переопределять \"Не беспокоить\""</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"Исключения для приложений"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3767,6 +3865,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"Включать экран для уведомлений, заблокированных в режиме \"Не беспокоить\""</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"Настройки уведомлений"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"ОК"</string>
+    <string name="suggestion_button_close" msgid="6865170855573283759">"Закрыть"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Отправить отзыв об устройстве"</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"Введите PIN-код администратора"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"Включено"</string>
@@ -3777,6 +3876,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Запрашивать PIN-код"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Запрашивать пароль"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Блокировать устройство при откл. блокировки в приложении"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Подтверждение удаления SIM-карты"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"Запрашивать подтверждение личности перед удалением скачанной SIM-карты"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"Профилем управляет"</string>
     <string name="managing_admin" msgid="2633920317425356619">"Управляется <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(экспериментальная настройка)"</string>
@@ -3859,8 +3960,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"Все приложения"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Установленные приложения"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Приложения с мгновенным запуском"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"Личные"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"Рабочие"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"Приложения: все"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"Уведомления отключены"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"Категории: крайняя важность"</string>
@@ -3872,6 +3971,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"Неизвестное приложение"</string>
     <string name="app_permissions" msgid="8666537659217653626">"Управление разрешениями"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"Приложения, которым разрешен доступ (<xliff:g id="APPS">%1$s</xliff:g>)"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"Приложения с доступом к следующим разрешениям: <xliff:g id="APPS">%1$s</xliff:g> и другие"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"Включение нажатием"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"Дважды нажмите в любом месте экрана, чтобы включить устройство"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"Открытие ссылок"</string>
@@ -3885,9 +3985,16 @@
       <item quantity="many">Поддерживаемые ссылки можно открыть в <xliff:g id="COUNT">%d</xliff:g> приложениях</item>
       <item quantity="other">Поддерживаемые ссылки можно открыть в <xliff:g id="COUNT">%d</xliff:g> приложения</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"Открывать в этом приложении"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"Разрешить приложению открывать поддерживаемые ссылки"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"Всегда спрашивать"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"Не открывать в этом приложении"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"Запретить приложению открывать ссылки"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="one">Через приложение открывается <xliff:g id="COUNT_1">%d</xliff:g> ссылка</item>
+      <item quantity="few">Через приложение открываются <xliff:g id="COUNT_1">%d</xliff:g> ссылки</item>
+      <item quantity="many">Через приложение открываются <xliff:g id="COUNT_1">%d</xliff:g> ссылок</item>
+      <item quantity="other">Через приложение открывается <xliff:g id="COUNT_1">%d</xliff:g> ссылки</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"Через приложение открываются следующие ссылки:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"По умолчанию"</string>
     <string name="default_for_work" msgid="537558180548617528">"По умолчанию для работы"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"Помощник и голосовой ввод"</string>
@@ -4037,8 +4144,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"Поверх других приложений"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Показывать поверх других приложений"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"Элементы интерфейса будут отображаться поверх других окон. Это может мешать вашей работе с приложениями или искажать их интерфейс."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"Доступ ко всем файлам"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"Разрешить доступ к управлению всеми файлами"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Разрешает приложению просматривать, изменять и удалять все файлы на этом устройстве и на подключенных устройствах внешней памяти. Если вы предоставите это разрешение, приложение сможет получать доступ к файлам без вашего ведома."</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"Приложения, имеющие доступ ко всем файлам"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"vr виртуальная реальность режим вспомогательный сервис"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"системные предупреждения показ поверх других окон"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"Поверх других приложений"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"<xliff:g id="COUNT_0">%1$d</xliff:g> из <xliff:g id="COUNT_1">%2$d</xliff:g> приложений отображаются поверх других окон"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"Авторизованные приложения"</string>
@@ -4214,6 +4324,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"Расход <xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g>"</string>
     <string name="data_overusage" msgid="3680477320458707259">"Лимит превышен на <xliff:g id="ID_1">^1</xliff:g>."</string>
     <string name="data_remaining" msgid="6316251496381922837">"Остаток <xliff:g id="ID_1">^1</xliff:g>"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"График передачи данных с <xliff:g id="START_DATE">%1$s</xliff:g> по <xliff:g id="END_DATE">%2$s</xliff:g>."</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"По этому диапазону дат нет данных."</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="one">Остался %d день</item>
       <item quantity="few">Осталось %d дня</item>
@@ -4279,14 +4391,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"размер пакета"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"уведомление отправлено"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"звук"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"вибросигнал"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"графический ключ"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"по умолчанию"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"канал"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"нет"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"Объект отсутствует."</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"В объекте нет этого ключа."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"Темы"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"Вариант по умолчанию"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"Вырез на экране"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"вырез на экране, выемка"</string>
@@ -4383,8 +4491,12 @@
     <string name="information_label" msgid="6939310810756569298">"Информация"</string>
     <string name="low_label" msgid="6525629096999711220">"Низкая"</string>
     <string name="high_label" msgid="357503396626018487">"Высокая"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"При высокой чувствительности могут не работать жесты по краям экрана в приложении."</string>
+    <string name="left_edge" msgid="1513576842959071849">"Левый край"</string>
+    <string name="right_edge" msgid="1505309103265829121">"Правый край"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"При высокой чувствительности могут не работать жесты по краям экрана в приложениях."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"Чувствительность по краям экрана"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"Настройки жестов"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"навигация с помощью жестов, чувствительность по краям экрана, жест \"Назад\""</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"Дважды нажать, чтобы проверить уведомления"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"Дважды нажать, чтобы проверить уведомления"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"Дважды нажать, чтобы проверить уведомления"</string>
@@ -4553,7 +4665,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"Запустить синхронизацию оператора"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"Включите режим \"Не беспокоить\""</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"Заблокируйте отвлекающие уведомления"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"Функция недоступна на этом устройстве."</string>
     <string name="disabled_feature" msgid="7151433782819744211">"Функция недоступна"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"Эта функция отключена, поскольку она замедляет работу телефона."</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"Полные измерения GNSS"</string>
@@ -4563,20 +4674,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"Выбрать приложение с поддержкой ANGLE"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"Приложение с поддержкой ANGLE не выбрано"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"Приложение с поддержкой ANGLE: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"Настройки Game Driver"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"Изменить настройки Game Driver"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"Когда на устройстве включен сервис Game Driver, вы можете использовать улучшенный графический драйвер для установленных приложений."</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"Включить для всех приложений"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"Выбор графического драйвера"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"По умолчанию"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"Game Driver"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"Предварительная версия Game Driver"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"Системный графический драйвер"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"Настройки графического драйвера"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"Изменение настроек графического драйвера"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"Если на устройстве доступно несколько графических драйверов, вы можете использовать улучшенный драйвер для установленных приложений."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"Включить для всех приложений"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"Выбор графического драйвера"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"По умолчанию"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"Игровой драйвер"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"Версия драйвера для разработчиков"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Системный графический драйвер"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Изменение настроек совместимости приложений"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Показывать изменение настроек совместимости приложений"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Изменения, включенные по умолчанию"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Изменения, отключенные по умолчанию"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"Настройка не поддерживается на этом телефоне."</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"Настройка не поддерживается на этом планшете."</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"Настройка не поддерживается на этом устройстве."</string>
@@ -4595,6 +4712,11 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"На устройстве"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Недоступно во время вызовов"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"Недоступно"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"Добавление устройств вывода"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"Группа"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"Выбрано 1 устройство"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"Выбрано устройств: <xliff:g id="COUNT">%1$d</xliff:g>"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"Подождите…"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Ответить с помощью"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Изменить параметры этой точки доступа невозможно"</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Продлите время работы от батареи"</string>
@@ -4714,10 +4836,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Нельзя использовать несколько скачанных SIM-карт одновременно.\n\nВы можете переключиться на SIM-карту \"<xliff:g id="CARRIER1">%1$s</xliff:g>\". Это действие не повлияет на ваш тарифный план у оператора \"<xliff:g id="CARRIER2">%2$s</xliff:g>\"."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Выбрать оператора \"<xliff:g id="CARRIER">%1$s</xliff:g>\""</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Стереть данные SIM-карты"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Стереть данные скачанной SIM-карты?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Если вы сотрете данные SIM-карты, обслуживание этого устройства оператором \"<xliff:g id="CARRIER_0">%1$s</xliff:g>\" будет остановлено.\n\nЭто не повлияет на сервисы оператора \"<xliff:g id="CARRIER_1">%2$s</xliff:g>\"."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Стереть данные"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Удаление данных SIM-карты…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Не удалось стереть данные SIM-карты"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Не удалось стереть данные SIM-карты из-за ошибки.\n\nПерезагрузите устройство и повторите попытку."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Предпочтительный тип сети"</string>
@@ -4742,7 +4860,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Недопустимый режим сети (<xliff:g id="NETWORKMODEID">%1$d</xliff:g>). Не используется."</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Точки доступа"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Недоступны при подключении к <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"Медицинская информация, контакты для чрезвычайных ситуаций"</string>
     <string name="see_more" msgid="7499355691042812723">"Ещё"</string>
     <string name="see_less" msgid="2642392725363552793">"Скрыть"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"Устройство для работы с приложением \"<xliff:g id="APPNAME">%1$s</xliff:g>\""</string>
@@ -4751,13 +4868,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"Произошла ошибка. Приложение отменило запрос на выбор устройства."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"Подключено"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"Показать все"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="one">Подключено <xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> устройство</item>
-      <item quantity="few">Подключено <xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> устройства</item>
-      <item quantity="many">Подключено <xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> устройств</item>
-      <item quantity="other">Подключено <xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> устройства</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"Нет устройств Bluetooth"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"Поиск устройства…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"Подключение к устройству…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"Левый"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"Правый"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Зарядный чехол"</string>
@@ -4767,6 +4879,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"Мобильный Интернет недоступен в режиме полета."</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"Принудительное включение режима рабочего стола"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Принудительное включение экспериментального режима рабочего стола на дополнительных экранах"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"Разрешить открытие окон произвольного размера"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"Позволяет приложениям открывать окна произвольного размера"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Переопределение включения тёмной темы"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"Изменение настройки принудительного включения тёмной темы на \"Всегда включено\""</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"Конфиденциальность"</string>
@@ -4809,6 +4923,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Вы недавно установили это приложение."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Смена устройства аудиовыхода"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Воспроизводится на устройстве \"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>\""</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (отключено)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Ошибка. Нажмите, чтобы повторить."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Важная информация"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"ДАЛЕЕ"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"НЕТ"</string>
@@ -4836,8 +4952,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"Сочетание SIM-карт"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Сведения о правилах организации"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Настройки, доступные системному администратору"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"Графический процессор"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"Обработчик отчетов об ошибках"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Приложение, которое запускается при нажатии быстрой клавиши для отправки отчета об ошибке."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Личный профиль"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"Рабочий профиль"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"По умолчанию"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"Вариант недействителен. Повторите попытку."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"Прекратить трансляцию"</string>
 </resources>
diff --git a/res/values-si/arrays.xml b/res/values-si/arrays.xml
index 67c9a97..83a5fb3 100644
--- a/res/values-si/arrays.xml
+++ b/res/values-si/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"වහාම"</item>
     <item msgid="463591454172790676">"තත්පර 5"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"වලංගු නොකරන්න"</item>
+    <item msgid="5703177653586269306">"සහතික තත්ත්වය ඉල්ලන්න"</item>
+    <item msgid="326388247868439528">"සහතික තත්ත්වය අවශ්‍යයි"</item>
+    <item msgid="1090956283885790552">"සියලු විශ්වාසදායි නොවන සහතික තත්ත්ව අවශ්‍යයි"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"ඔබන බොත්තම"</item>
     <item msgid="2630618799033509548">"සමයන්ගේ උපාංග වෙතින් PIN"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"කිසිවක් නැත"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"Xauth සත්‍යාපනය සහ පෙර බෙදාගත් යතුරු සමඟ IPSec VPN"</item>
     <item msgid="2484564813864139237">"සහතික සහ Xauth සත්‍යාපනය සමග IPSec VPN"</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>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"කිසිවක් නැත"</item>
diff --git a/res/values-si/config.xml b/res/values-si/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-si/config.xml
+++ b/res/values-si/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-si/strings.xml b/res/values-si/strings.xml
index 7bf66d8..7ccb7ff 100644
--- a/res/values-si/strings.xml
+++ b/res/values-si/strings.xml
@@ -31,49 +31,17 @@
     <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="radio_info_data_connection_enable" msgid="7500945447906187613">"දත්ත සබැඳුම සබල කරන්න"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"දත්ත සබැඳුම අබල කරන්න"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"VoLTE ප්රතිපාදන ලත්"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"වීඩියෝ ඇමතුම් ප්‍රතිපාදනය"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"Wifi ඇමතුම් ප්‍රතිපාදනය"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"EAB/තිබීම ප්‍රතිපාදනය කර ඇත"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"Cbrs දත්ත"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"DSDS සබල කරන්න"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"උපාංගය යළි අරඹන්නේද?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"මෙම සැකසීම වෙනස් කිරීමට ඔබ ඔබේ උපාංගය යළි ඇරඹීමට අවශ්‍යයි."</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"යළි අරඹන්න"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"අවලංගු කරන්න"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"ජංගම රේඩියෝ බලය"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"SIM ලිපින පොත බලන්න"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"ස්ථිර ඇමතුම් අංක පෙන්වන්න"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"සේවා ඇමතුම් අංක පෙන්වන්න"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"IMS සේවා තත්ත්වය"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"IMS තත්ත්වය"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"ලියාපදිංචි වී ඇත"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"ලියාපදිංචි වී නැත"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"තිබේ"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"ලබා ගත නොහැකිය"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"IMS ලියාපදිංචි කිරීම: <xliff:g id="STATUS">%1$s</xliff:g>\nවොයිස් ඕවර් LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nවොයිස් ඕවර් WiFi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nවීඩියෝ ඇමතුම්: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT අතුරුමුහුණත: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"සේවයේ පවතියි"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"සේවය රහිතයි"</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>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"අක්‍රිය"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"නාදවිම"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"ඇමතුම කෙරෙමින් පවතී"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"විසන්ධි වුණි"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"සම්බන්ධ වෙමින්"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"සම්බන්ධිතයි"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"තහනම් කරන ලදී"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"නොදනී"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"pkts"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"බයිට"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"USB ආචයනය ඉවත් කරන්න"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"SD කාඩ් පත ගලවන්න"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"USB ආචයනය මකන්න"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"තිරය මත පෙළ වඩාත් කුඩා හෝ විශාල කරන්න."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"වඩා කුඩා කරන්න"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"වඩා විශාල කරන්න"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"ආදර්ශ පෙළ"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"The Wonderful Wizard of Oz"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"11වන පරිච්ඡේදය: The Wonderful Emerald City of Oz"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"මෙම සැකසීම වෙනස් කිරීමට ඔබ ඔබේ උපාංගය නැවත ඇරඹීම අවශ්‍යයි."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"යළි අරඹන්න"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"අවලංගු කර."</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"තිබෙන මාධ්‍ය උපාංග"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"තිබෙන ඇමතුම් උපාංග"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"දැනට සම්බන්ධ වී ඇත"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"මාධ්‍ය උපාංග"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"ඇමතුම් උපාංග"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"වෙනත් උපාංග"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"සුරැකි උපාංග"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"යුගල කිරීමට බ්ලූටූත් ක්‍රියාත්මක කරනු ඇත"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"සම්බන්ධතා මනාප"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"ඔබ සඳහන් කළ තොට වලංගු නැත."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"HTTP නියුතුව බ්‍රව්සරය විසින් භාවිත කරන අතර වෙනත් යෙදුම් වලින් භාවිත නොකළ හැක."</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"PAC URL: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"වත්මන් උප හැඳුනුම:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"පෙරනිමි දත්ත SIM පතේ උප හැඳුනුම:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"DL කලාප පළල (kbps):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"UL කලාප පළල (kbps):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"සෙල් ස්ථාන තොරතුරු (අත් හරින ලදී):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"LTE භෞතික නාලිකා වින්‍යාසය:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"සෙල් තොරතුරු යළි නැවුම් කිරීමේ අනුපාතය:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"සියලු සෙල් මිනුම් තොරතුරු:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"දත්ත සේවාව:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"රෝමින්:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"ඇමතුම් යළි හරවා යැවීම:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"පණ ගැන්වීමේ සිට PPP යළි සැකසීම් ගණන:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"වත්මන් ජාලය:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"දත්ත ලැබිණි:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"හඬ සේවාව:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"සංඥා ප්‍රබලතාව:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"හඬ ඇමතුම් තත්ත්වය:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"යැවූ දත්ත:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"පණිවිඩය රැඳී සිටී:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"දුරකථන අංකය:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"රේඩියෝ කලාපය තෝරන්න"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"හඬ ජාල වර්ගය:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"දත්ත ජාල වර්ගය:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"දුරකථන දර්ශකය තෝරන්න"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"වඩා කැමති ජාල වර්ගය සකසන්න:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"සත්කාරක නම පින්ග් කරන්න(www.google.com) IPv4:"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"සත්කාරක නම පින්ග් කරන්න(www.google.com) IPv6:"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"HTTP සේවාලාභී පරික්ෂාව:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"පින්ග් පරික්ෂාව ධාවනය කරන්න"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"යාවත්කාලීන කරන්න"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"නැවුම් කරන්න"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"DNS පරීක්ෂාව ටොගල කරන්න"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"OEM-විශේෂිත තොරතුරු/සැකසීම්"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"රේඩියෝ කලාප ප්‍රකාරය සකසන්න"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"කලාප ලැයිස්තුව පූරණය කරමින්…"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"සකසන්න"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"අසාර්ථකයි"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"සාර්ථකයි"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"USB කේබලය නැවත සම්බන්ධ කළ විට වෙනස්කම් සිදුවේ."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"USB විශාල ආචයනය සබල කරන්න"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"බයිට් මුළු එකතුව:"</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"පහළට ගෙන යන්න"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"භාෂාව ඉවත් කරන්න"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"ක්‍රියාකාරකම තෝරන්න"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"උපාංගයේ තොරතුරු"</string>
     <string name="display_label" msgid="3056320781191343221">"තිරය"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"ටැබ්ලට් තොරතුරු"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"දුරකථන තොරතුරු"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"USB ආචයනය"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"SD කාඩ් පත"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"නියුතු සැකසීම්"</string>
@@ -306,9 +234,6 @@
     <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, බ්ලූටූත්, ගුවන්යානා ආකාරය, ජංගම ජාල, සහ VPN කළමනාකරණය"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"ජංගම දත්ත"</string>
-    <string name="calls_title" msgid="6334813967619899114">"ඇමතුම් ඉඩ දෙන්න"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"SMS පණිවිඩ"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"ජංගම ජාලය හරහා දත්ත භාවිතය ඉඩ දෙන්න"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"රෝමිං විට දත්ත භාවිත කිරීමේ ඉඩ දෙන්න"</string>
     <string name="roaming" msgid="3055365654530847985">"රෝමිං"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"රෝමින් අතරතුර දත්ත සේවා වෙත සම්බන්ධ වන්න"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"ඔබගේ නිවාස ජාලය ඔබ හැර ගිය විට දත්ත රෝමින් අක්‍රිය වන බැවින් දත්ත සම්බන්ධතාවය ඔබට නැති වී ගොස් ඇත."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"එය සක්‍රිය කරන්න"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"ඔබට සැලකිය යුතු ගාස්තු ඇති විය හැකිය."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"ඔබ දත්ත රෝමිං වෙත අවසර දුන් විට, ඔබෙන් සැලකිය යුතු ලෙස රෝමිං ගාස්තු අයවිය හැක!\n\nමෙම සැකසීම ටැබ්ලටයේ සියලුම පරිශීලකයන්ට බලපායි."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"ඔබ දත්ත රෝමිං, ඔබෙන් විශාල වශයෙන් රෝමිං ගාස්තු අයවිය හැක!\n\nමෙම සැකසුම දුරකතනයේ සියලුම පරිශීලකයන්ට බලපායි."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"රෝමිං ගාස්තු අදාළ විය හැකිය."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"ඔබ දත්ත රෝමිං සඳහා ඉඩ දුන් විට, රෝමිං ගාස්තු අදාළ විය හැකිය!\n\nමෙම සැකසීම මෙම ටැබ්ලටයෙහි සියලු පරිශීලකයන්ට බලපායි."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"ඔබ දත්ත රෝමිං සඳහා ඉඩ දුන් විට, රෝමිං ගාස්තු අදාළ විය හැකිය!\n\nමෙම සැකසීම මෙම දුරකථනයෙහි සියලු පරිශීලකයන්ට බලපායි."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"දත්ත රෝමින් සඳහා අවසර දෙන්න ද"</string>
     <string name="networks" msgid="5184501333492775095">"ක්‍රියාකරු තේරීම"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"ජාල ක්‍රියාකරවන්නෙකු තෝරන්න"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"ඔබගේ පරිපාලක විසින් අබල කර ඇත"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"අගුලු හැරීමේ විකල්පය පෙන්වන්න"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"Smart Lock, ජෛව මිතික අගුලු හැරීම, සහ අගුලු තිරයෙහි දැනුම්දීම් සඳහා වන සංදර්ශක බල සැපයුම් බොත්තම් විකල්පය."</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"විශ්වාස නියෝජිතයින් පමණක් අඟුලු ඇරීම දීර්ඝ කරති"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"සබල කළේ නම්, විශ්වාස නියෝජිතයින් දිගු කලකට ඔබේ උපාංගය අඟුලු ඇර තබා ගන්නා නමුත්, ඔවුන්ට අඟුළු දැමූ උපාංගයක් තවදුරටත් අඟුලු ඇරීමට නොහැකි වෙයි."</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"විශ්වාසය අහිමි වන විට තිරය අගුළු දමන්න"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"සබල කර ඇත්නම්, අවසන් විශ්වාසනීය නියෝජිතයාට විශ්වාසය අහිමි වන විට උපාංගය අගුළු දැමෙනු ඇත"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"කිසිවක් නැත"</string>
@@ -390,7 +313,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"මගේ ස්ථානය, තිර අගුළු ඇරීම, SIM පත් අගුල, අක්තපත්‍ර ආචයන අගුල සකසන්න"</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"මගේ ස්ථානය, තිර අගුළු ඇරීම, අක්තපත්‍ර ආචයන අගුල සකසන්න"</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"රහස්‍යතාව"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"ඔබගේ පරිපාලක විසින් අබල කර ඇත"</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>
@@ -693,7 +616,6 @@
       <item quantity="one">ඉලක්කම් <xliff:g id="NUMBER_1">%d</xliff:g>කට වඩා අඩු විය යුතුය</item>
       <item quantity="other">ඉලක්කම් <xliff:g id="NUMBER_1">%d</xliff:g>කට වඩා අඩු විය යුතුය</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"0-9 දක්වා ඉලක්කම් පමණක් අඩංගු විය යුතුය"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"උපාංග පරිපාලක මෑත PIN එකක් භාවිතා කිරීමට අවසර නොදේ"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"ඔබගේ IT පරිපාලක විසින් සුලබ PIN අවහිර කරනු ලැබේ. වෙනත් PIN එකක් උත්සාහ කරන්න."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"මෙහි වලංගු නොවන අනුලකුණක් ඇතුළත් විය නොහැකිය"</string>
@@ -724,6 +646,10 @@
       <item quantity="one">අඩු තරමින් අකුරු නොවන අනුලකුණු <xliff:g id="COUNT">%d</xliff:g>ක් අඩංගු විය යුතුය</item>
       <item quantity="other">අඩු තරමින් අකුරු නොවන අනුලකුණු <xliff:g id="COUNT">%d</xliff:g>ක් අඩංගු විය යුතුය</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="one">අඩු තරමින් සංඛ්‍යාත්මක-නොවන අනුලකුණු <xliff:g id="COUNT">%d</xliff:g>ක් අඩංගු විය යුතුය</item>
+      <item quantity="other">අඩු තරමින් සංඛ්‍යාත්මක-නොවන අනුලකුණු <xliff:g id="COUNT">%d</xliff:g>ක් අඩංගු විය යුතුය</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"උපාංග පරිපාලක මෑත මුරපදයක් භාවිතා කිරීමට අවසර නොදේ."</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"ඔබගේ IT පරිපාලක විසින් සුලබ මුරපද අවහිර කරනු ලැබේ. වෙනත් මුරපදයක් උත්සාහ කරන්න."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"ආරෝහණ, අවරෝහණ හෝ ප්‍රනරාවර්ත අනුක්‍රමයේ අංක වෙත අවසර නැත"</string>
@@ -837,19 +763,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2.4 GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"පුරන්න"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"අඩවිය විවෘත කරන්න"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"<xliff:g id="REMAINING_TIME">%1$s</xliff:g>ක් ඉතිරිය"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"<xliff:g id="EXPIRY_TIME">%1$s</xliff:g> දින කල් ඉකුත් වේ"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"ජාලයට පිරීමට මෙහි තට්ටු කරන්න"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"<xliff:g id="REQUESTER">%s</xliff:g> හට Wi-Fi ක්‍රියාත්මක කිරීමට අවශ්‍යය"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"<xliff:g id="REQUESTER">%s</xliff:g> හට Wi-Fi ක්‍රියාවිරහිත කිරීමට අවශ්‍යය"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"දෝෂ නිරාකරණ කළ හැකි යෙදුම්වල බයිට්කේතය සත්‍යාපන කරන්න"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"දෝෂ නිරාකරණ කළ හැකි යෙදුම් සඳහා බයිට්කේතය සත්‍යාපන කිරීමට ART හට ඉඩ දෙන්න"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"නැවුම් අනුපාතය පෙන්වන්න"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"වත්මන් සංදර්ශක නැවුම් කිරීමේ අනුපාතය පෙන්වන්න"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"ටැබ්ලටය වෙනත් උපාංගයක් ස්පර්ශ කළ විට දත්ත හුවමාරුවට අවසර දෙන්න"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"දුරකථනය වෙනත් උපාංගයක් ස්පර්ශ කරන විට දත්ත හුවමාරුවට අවසර දෙන්න"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"ටැබ්ලට් පරිගණකය NFC උපාංගයක් ස්පර්ශ කරන විට දත්ත හුවමාරුවට ඉඩ දෙන්න"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"දුරකථනය NFC උපාංගයක් ස්පර්ශ කරන විට දත්ත හුවමාරුවට ඉඩ දෙන්න"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"NFC ක්‍රියාත්මක කරන්න"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"NFC මෙම උපාංගය සහ වෙනත් අවට උපාංග හෝ ගෙවීම් පර්යන්ත, ප්‍රවේශ කියවීම්, සහ අන්තර්ක්‍රියාකාරී වෙළඳ දැන්වීම් හෝ ටැග වැනි ඉලක්ක අතර දත්ත හුවමාරු කරයි."</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"සුරක්ෂිත NFC"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFC සඳහා උපාංග අගුලු ඇරීම අවශ්‍යය"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"NFC ගෙවීමට සහ සංක්‍රමණ භාවිතයට තිරය අගුළු හැර ඇති විට පමණක් ඉඩ දෙන්න"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android බීම්"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"NFC හරහා යෙදුමේ අන්තර්ගතය සම්ප්‍රේෂණය කිරීමට සුදානම්"</string>
@@ -923,8 +855,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"ක්‍රියාත්මක කරන්න"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Wi‑Fi ස්කෑන් කිරීම ක්‍රියාත්මකයි"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"උසස් විකල්ප"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"පතන ලැයිස්තු උසස් විකල්ප. හැකිළීමට දෙවරක් තට්ටු කරන්න."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"පතන ලැයිස්තු උසස් විකල්ප. දිග හැරීමට දෙවරක් තට්ටු කරන්න."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"පතන ලැයිස්තු උසස් විකල්ප"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"දිග හරින්න"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"ජාල නම"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"SSID ඇතුලත් කරන්න"</string>
     <string name="wifi_security" msgid="9095934643631406913">"ආරක්ෂාව"</string>
@@ -934,6 +866,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"තත්වය"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"සම්ප්‍රේෂණ සම්බන්ධතා වේගය"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"ලබන සම්බන්ධතා වේගය"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"සබැඳියේ වේගය"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"සංඛ්‍යාතය"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"IP ලිපිනය"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"මෙය හරහා සුරකින්න"</string>
@@ -941,6 +874,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"EAP ආකාරය"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"පියවර 2 කේ සත්‍යාපනය"</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>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"පරිශීලක සහතිකය"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"අනන්‍යතාවය"</string>
@@ -957,6 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"Wi-Fi හොට්ස්පොට් සඳහා අවම වශයෙන් එක් කලාපයක් තෝරන්න:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"IP සැකසීම්"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"රහස්‍යතාව"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"දායකත්වය"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"දායකත්වය බලන්න නැතහොත් වෙනස් කරන්න"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"අහඹු කළ MAC"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"උපාංගයක් එක් කරන්න"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"උපාංගය “<xliff:g id="SSID">%1$s</xliff:g>” වෙත එක් කිරීමට පහත QR කේතය කේන්‍ද්‍රගත කරන්න"</string>
@@ -966,12 +902,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"Wi‑Fi බෙදා ගන්න"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"“<xliff:g id="SSID">%1$s</xliff:g>” වෙත සම්බන්ධ කිරීමටත් මුරපදය බෙදා ගැනීමටත් මෙම QR කේතය ස්කෑන් කරන්න"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"“<xliff:g id="SSID">%1$s</xliff:g>” වෙත සම්බන්ධ කිරීමට මෙම QR කේතය ස්කෑන් කරන්න"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"QR කේතය කියවීමට නොහැකි විය. කේතය යළි ඇතුළත් කර නැවත උත්සාහ කරන්න"</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"නැවත උත්සාහ කරන්න. ගැටලුව පවතින්නේ නම්, උපාංග නිෂ්පාදකය සම්බන්ධ කර ගන්න"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"යමක් වැරදිණි"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"උපාංගය පේනුගත කර, ආරෝපණ කර, සක්‍රීය කර තිබෙන බවට වග බලා ගන්න"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"උපාංගය පේනුගත කර, ආරෝපණ කර, සක්‍රීය කර තිබෙන බවට වග බලා ගන්න. ගැටලුව පවතින්නේ නම්, උපාංග නිෂ්පාදකය සම්බන්ධ කර ගන්න"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"“<xliff:g id="SSID">%1$s</xliff:g>” එක් කිරීමට මෙම උපාංගයෙන් සහය නොදැක්වේ"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"ඔබේ උපාංගය ඔබේ Wi‑Fi ප්‍රවේශ ලක්ෂ්‍යය/රවුටරය සමීපයට ගෙන යාමට උත්සාහ කරන්න"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"මුරපදය පරීක්ෂා කර නැවත උත්සාහ කරන්න"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"උපාංග නිෂ්පාදක අමතන්න"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"සම්බන්ධතාව පරීක්‍ෂා කර නැවත උත්සාහ කරන්න"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"ජාලය තෝරන්න"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"ඔබේ උපාංගය සම්බන්ධ කිරීමට, ජාලයක් තෝරන්න"</string>
@@ -984,11 +922,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"මෙම උපාංගය සමඟ Wi‑Fi බෙදා ගනිමින්…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"සබැඳෙමින්…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"හොට්ස්පොට් බෙදා ගන්න"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"ඒ ඔබ බව සත්‍යාපන කරන්න"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"ඒ ඔබ බව සත්‍යාපනය කරන්න"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"Wi-Fi මුරපදය: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"හොට්ස්පොට් මුරපදය: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"ස්වයං‑සම්බන්ධ වීම"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"දුරකථනයට මෙම ජාලය අසල ස්වයංක්‍රියව සම්බන්ධ වීමට ඉඩ දෙන්න"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"ටැබ්ලට් පරිගණකයට මෙම ජාලය අසල ස්වයංක්‍රියව සම්බන්ධ වීමට ඉඩ දෙන්න"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"උපාංගය එක් කරන්න"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"මෙම ජාලයට උපාංගයක් එක් කිරීමට QR කේතයක් භාවිතා කරන්න"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"QR කේතය වලංගු ආකෘතියක් නොවේ"</string>
     <string name="retry" msgid="7542103800274026915">"යළි උත්සාහ කරන්න"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"අනෙකුත් උපාංග පරිශීලකයන් සමග බෙදා ගන්න"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(වෙනස් නොකළ)"</string>
@@ -1000,6 +942,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"සහතිකයක් දක්වා නැත. ඔබේ සබැඳුම පුද්ගලික නොවනු ඇත."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"ජාල නම දිග වැඩියි."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"වසමක් නියම කළ යුතුය."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"සහතිකය අවශ්‍යයි."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"WPS ඇත"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (WPS පවතී)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"වාහක Wi-Fi ජාලය"</string>
@@ -1051,7 +994,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"උසස් Wi‑Fi"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"MAC ලිපිනය"</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_ip_address_title" msgid="4265355419782184514">"IP ලිපිනය"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"ජාල විස්තර"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"සබ්නෙට් මාස්ක්"</string>
@@ -1103,7 +1047,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"ඔබගේ අනෙකුත් උපාංග සඳහා Wi-Fi ජාලයක් තැනීමට හොට්ස්පොට් භාවිත කරන්න. හොට්ස්පොට් ඔබගේ ජංගම දත්ත සබැඳුම භාවිත කරමින් අන්තර්ජාල සපයයි. අමතර ජංගම දත්ත ගාස්තු අදාළ විය හැකිය."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"යෙදුම් අවට උපාංග සමග අන්තර්ගතය බෙදා ගැනීමට හොට්ස්පොට් එකක් සෑදිය හැකිය."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"ස්වයංක්‍රියව හොට්ස්පොට් ක්‍රියාවිරහිත කරන්න"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"උපාග සම්බන්ධ කර නැතිනම් Wi‑Fi හොට්ස්පොට් ක්‍රියාවිරහිත වනු ඇත"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"කිසිදු උපාංගයක් සබැඳී නැති විට"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"හොට්ස්පොට් සක්‍රිය කරමින්..."</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"හොට්ස්පොට් අක්‍රිය කරමින්…"</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> සක්‍රීයයි"</string>
@@ -1112,6 +1056,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"Wi-Fi හොට්ස්පොට් සැකසුම"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"AndroidAP WPA2 PSK හෝට් සපෝට්"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"AndroidHotspot"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"මෙම ජාලය සුරකින්නද?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"<xliff:g id="APPNAME">%1$s</xliff:g> හට ජාලයක් ඔබේ දුරකථනයට සුරැකීමට අවශ්‍යයි"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"<xliff:g id="APPNAME">%1$s</xliff:g> හට ජාලයක් ඔබේ ටැබ්ලට් පරිගණකය වෙත සුරැකීමට අවශ්‍යයි"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"සුරකිමින්…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"සුරකින ලදි"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"සුරැකිය නොහැකිය. නැවත උත්සාහ කරන්න."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"ජාල සුරකින්නද?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"<xliff:g id="APPNAME">%1$s</xliff:g> හට මෙම ජාල ඔබේ දුරකථනයට සුරැකීමට අවශ්‍යයි"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"<xliff:g id="APPNAME">%1$s</xliff:g> හට මෙම ජාල ඔබේ ටැබ්ලට් පරිගණකය වෙත සුරැකීමට අවශ්‍යයි"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"ජාල <xliff:g id="NUMBER">%d</xliff:g>ක් සුරකිමින්…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"ජාල සුරකින ලදී"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"Wi-Fi ඇමතීම"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"Wi-Fi සමඟ ඇමතුම් දිගු කරන්න"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"ආවරණය පුළුල් කිරීමට Wi-Fi ඇමතුම් ක්‍රියාත්මක කරන්න"</string>
@@ -1138,16 +1093,18 @@
     <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>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"Wi-Fi ඇමතුම සක්‍රිය කරන්න"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"Wi-Fi ඇමතුම ක්‍රියාත්මක කරන්න"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"Wi‑Fi ඇමතුම %1$s සඳහා සහාය නොදේ"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"<xliff:g id="SSID">%1$s</xliff:g> වෙතින් සම්බන්ධය ඉවත් කරන ලදී"</string>
     <string name="carrier" msgid="1755020806290963951">"වාහකය"</string>
     <string name="display_settings_title" msgid="626835071804834218">"සංදර්ශකය"</string>
     <string name="sound_settings" msgid="5514582720435174014">"ශබ්ද"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"ශබ්ද තීව්‍රතා"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"සංගීත විලාස"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"නාද ශබ්දය"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"නාද සහ දැනුම්දීම හඬ පරිමාව"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"නිශ්ශබ්ධ විටදී කම්පනය කරන්න"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"සුපුරුදු දැනුම්දීම් නාදය"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"රිගින්ටෝනය"</string>
@@ -1272,13 +1229,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"කාලසටහන්ගත කරන්න"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"කිසිවක් නැත"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"හිරු බැසීම සිට නැගීම තෙක් ක්‍රි."</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"අභිරුචි වේලාවට ක්‍රියාත්මක වේ"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"තත්ත්වය"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"ක්‍රියාවිරහිතයි / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"කිසි විටෙක ස්වයංක්‍රියව ක්‍රියාත්මක නොකරනු ඇත"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"හිරු බැස යාමේදී ස්වයංක්‍රියව ක්‍රියාත්මක කරනු ඇත"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"<xliff:g id="ID_1">%1$s</xliff:g>ට ස්වයංක්‍රියව ක්‍රියාත්මක වනු ඇත"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"ක්‍රියාත්මකයි / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"කිසි විටෙක ස්වයංක්‍රියව ක්‍රියාවිරහිත නොකරනු ඇත"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"හිරු නැගීමේදී ස්වයංක්‍රියව ක්‍රියාවිරහිත කරනු ඇත"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"<xliff:g id="ID_1">%1$s</xliff:g>ට ස්වයංක්‍රියව ක්‍රියාවිරහිත වනු ඇත"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"<xliff:g id="ID_1">%1$s</xliff:g> තෙක් ක්‍රියාත්මක කරන්න"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"<xliff:g id="ID_1">%1$s</xliff:g> තෙක් ක්‍රියාවිරහිත කරන්න"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"අඳුරු තේමාව ඔබේ බැටරිය සමහර තිරවල දිගු කාලයක් පවත්වා ගැනීම සඳහා සහාය වීමට කලු පසුබිමක් භාවිත කරයි. අඳුරු තේමා කාල සටහන් ක්‍රියාත්මක වීමට ඔබගේ තිරය ක්‍රියාවිරහිත වන තෙක් රැඳී සිටී."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"තිර කල් ඉකුත්වීම"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"තිරය අක්‍රිය කරන්න"</string>
@@ -1290,7 +1252,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"බිතුපත වෙනස් කරන්න"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"ඔබේ තිරය පෞද්ගලීකරණය කරන්න"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"වෙතින් වෝල්පේපරය තෝරන්න"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"ඔබේ Pixel අභිරුචි කරන්න"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"ඔබේ දුරකථනය අභිරුචිකරණය කරන්න"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"වෙනත් මෝස්තර, වෝල්පේපර, සහ තවත් ඒවා උත්සාහ කරන්න"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"තිර සුරැකුම"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"ආරෝපණය හෝ ඩොක් කර ඇති විට"</string>
@@ -1379,6 +1341,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"USB ආචයනය බැසවන්න, පවතින ආචයනය බලන්න"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"SD කාඩ් පත බැසවන්න, පවතින ආචයනය බලන්න"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (sim විවරය %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"බැලීමට, සුරකින ලද ජාලය තෝරන්න"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"දුරකථන අංකය"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (sim විවරය %1$d)"</string>
@@ -1405,6 +1368,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"රෝමිං"</string>
     <string name="status_operator" msgid="4335640583552058491">"ජාලය"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"Wi‑Fi MAC ලිපිනය"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"උපාංග Wi‑Fi MAC ලිපිනය"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"බ්ලූටූත් ලිපිනය"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"අනුක්‍රමාංකය"</string>
     <string name="status_up_time" msgid="1274778533719495438">"ක්‍රියාකාරීව ඇති කාලය"</string>
@@ -1617,6 +1581,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"සුපුරුදු APN සැකසීම නැවත සැකසීම සම්පූර්ණ කරන ලදි."</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"යළි සැකසීමේ විකල්ප"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"ජාල, යෙදුම්, හෝ උපාංගය යළි සැකසිය හැකිය"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"යෙදුම් යළි සැකසිය නොහැකිය"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"Wi-Fi, ජංගම, බ්ලූටූත් යළි සකසන්න"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"මෙය, පහත ඒවා ඇතුළුව සියලු ජාල සැකසීම් යළි සකසනු ඇත:\n\n"<li>"Wi‑Fi"</li>\n<li>"ජංගම දත්ත"</li>\n<li>"බ්ලූටූත්"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"බාගත් SIM පත් මකන්න"</string>
@@ -1666,6 +1631,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"හොට්ස්පොට් ක්‍රියාත්මකයි"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"ටෙදරින්"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"දත්ත සුරැකුම ක්‍රියාත්මක විට ටෙදර් කිරීමට හෝ අතේ ගෙන යා හැකි හොට්ස්පොට් භාවිත කිරීමට නොහැකිය"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"හොට්ස්පොට් පමණයි"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"USB පමණයි"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"බ්ලූටූත් පමණයි"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"හොට්ස්පොට්, USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"හොට්ස්පොට්, බ්ලූටූත්"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB, බ්ලූටූත්"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"හොට්ස්පොට්, USB, බ්ලූටූත්"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"අන්තර්ජාලය වෙනත් උපාංග සමග බෙදා නොගනී"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"ටෙදරින්"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Wi‑Fi හොට්ස්පොට් භාවිත නොකරන්න"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"USB හරහා පමණක් අන්තර්ජාලය බෙදා ගන්න"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"බ්ලූටූත් හරහා පමණක් අන්තර්ජාලය බෙදා ගන්න"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"USB සහ බ්ලූටූත් හරහා පමණක් අන්තර්ජාලය බෙදා ගන්න"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB ටෙදරින්"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"USB හරහා දුරකථනයේ අන්තර්ජාල සබැඳුම බෙදා ගන්න"</string>
@@ -1756,9 +1734,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"ආරක්ෂක තොරතුරු"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"ඔබට දත්ත සබැඳුමක් නොමැත. දැන් මෙම තොරතුරු නැරඹීමට, අන්තර්ජාලයට සම්බන්ධ ඕනෑම පරිගණකයකින් %s වෙත යන්න."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"පූරණය වෙමින්..."</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"රහස් අංකය භාවිත කරන්න"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"රටාව භාවිත කරන්න"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"මුරපදය භාවිත කරන්න"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"තිර අගුල සැකසීම"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"ආරක්ෂාව සඳහා, මුරපදය සකසන්න"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"ඇඟිලි සලකුණ භාවිත කිරීමට, මුරපදයක් සකසන්න"</string>
@@ -1767,8 +1742,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"ඇඟිලි සලකුණ භාවිත කිරීමට, PIN අංකයක් සකසන්න"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"ආරක්ෂාව සඳහා, රටාව සකසන්න"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"ඔබගේ මුරපදය නැවතත් ඇතුළු කරන්න"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"ඔබේ කාර්යාල මුරපදය ඇතුළු කරන්න"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"ඔබගේ රටාව තහවුරු කරන්න"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"ඔබේ වැඩ රටාව ඇතුළු කරන්න"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"ඔබගේ PIN අංකය නැවත ඇතුළු කරන්න"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"ඔබේ කාර්යාල PIN ඇතුළු කරන්න"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"මුරපද නොගැලපේ"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"PIN නොගැලපේ"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"ඔබේ රටාව නැවත අඳින්න"</string>
@@ -1779,6 +1757,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"මුහුණු අඟුලු ඇරීම භාවිත කිරීමට, මුරපදය සකසන්න"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"මුහුණු අඟුලු ඇරීම භාවිත කිරීමට, රටාව සකසන්න"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"මුහුණු අඟුලු ඇරීම භාවිත කිරීමට, රහස් අංකයක් සකසන්න"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"ඔබේ මුරපදය අමතකද?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"ඔබේ රටාව අමතකද?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"ඔබේ PIN අමතකද?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"දිගටම කරගෙන යාමට ඔබේ උපාංග රටාව භාවිත කරන්න"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"දිගටම කරගෙන යාමට ඔබේ උපාංග PIN අංකය ඇතුළු කරන්න"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"දිගටම කරගෙන යාමට ඔබේ උපාංග මුරපදය ඇතුළු කරන්න"</string>
@@ -1846,6 +1827,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"සියලුම යෙදුම් මූලාශ්‍ර වලට ඉඩ දෙන්න"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"මෑතකදී විවෘත කරන ලද යෙදුම්"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"සියලු යෙදුම් <xliff:g id="COUNT">%1$d</xliff:g> බලන්න"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"ඔබේ IT පරිපාලක අමතන්න"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"ඔවුන්ට ඔබේ PIN, රටාව හෝ මුරපදය යළි සැකසීමට සහාය විය හැකිය"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"ඔබගේ ටැබ්ලටය සහ පෞද්ගලික දත්ත නොදන්නා යෙදුම් මඟින් තර්ජන එල්ල කිරීමේ හැකියාව වැඩිය. මෙම මුලාශ්‍රය මඟින් ලැබෙන යෙදුම් ස්ථාපනයෙන් සහ භාවිතයෙන් ඔබේ දුරකතනයට හෝ ඔබේ දත්ත වලට සිදුවන හානිය පිලිබඳ වගකීම ඔබ ලබා ගන්නා බවට එකඟ වේ."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"ඔබගේ දුරකථනය සහ පෞද්ගලික දත්ත නොදන්නා යෙදුම් මඟින් තර්ජන එල්ල කිරීමේ හැකියාව වැඩිය. මෙම මුලාශ්‍රය මඟින් ලැබෙන යෙදුම් ස්ථාපනයෙන් සහ භාවිතයෙන් ඔබේ දුරකතනයට හෝ ඔබේ දත්ත වලට සිදුවන හානිය පිලිබඳ වගකීම ඔබ ලබා ගන්නා බවට එකඟ වේ."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"ඔබේ උපාංගය සහ පෞද්ගලික දත්ත නොදන්නා යෙදුම් මඟින් කරන ප්‍රහාරවලට නිරාවරණය වීමේ හැකියාව වඩාත් වැඩිය. මෙම මුලාශ්‍රයෙන් ලැබෙන යෙදුම් ස්ථාපනය කිරීමෙන් , ඔබ ඒවායේ භාවිතයෙන් හට ගත හැකි ඔබේ උපාංගයට වන ඕනෑම හානියකට හෝ දත්ත අහිමි වීමකට ඔබ වග කිය යුතු බවට ඔබ එකඟ වේ."</string>
@@ -1897,7 +1880,7 @@
     <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="1377296810290814749">"මේ මගින් පහත සඳහන් සියලු අභිරුචි යළි පිහිටුවයි:\n\n"<li>"අබල යෙදුම්"</li>\n" "<li>"අබල යෙදුම් දැනුම්දීම්"</li>\n" "<li>"ක්‍රියාවන් සඳහා සුපුරුදු යෙදුම්"</li>\n" "<li>"යෙදුම් සඳහා පසුබිම් දත්ත සීමා කිරීම්"</li>\n" "<li>"ඕනෑම අවසර සීමා"</li>\n\n" ඔබට යෙදුම් දත්ත කිසිවක් නැති නොවේ."</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>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"යෙදුම් මනාප නැවත සකසන්න"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"ඉඩ කළමනාකරණය"</string>
     <string name="filter" msgid="9039576690686251462">"පෙරහන කරන්න"</string>
@@ -2097,7 +2080,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"ශ්‍රව්‍ය සහ තිරය මත පෙළ"</string>
     <string name="display_category_title" msgid="6638191682294461408">"සංදර්ශකය"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"අන්තර්ක්‍රියා පාලන"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"බාගත් සේවා"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"බාගත් යෙදුම්"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"පරීක්ෂණාත්මක"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"විශේෂාංග සලකුණු කිරීම්"</string>
     <string name="talkback_title" msgid="8756080454514251327">"Talkback"</string>
@@ -2105,27 +2088,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"හඬ නඟා කියවීමට සවන් දීම සඳහා ඔබේ තිරය මත අයිතම තට්ටු කරන්න"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"සිරස්තල මනාප"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"විශාලනය"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"විශාලනය කිරීමේ ප්‍රදේශය"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"විශාලනය සබල"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"තිරය විශාලනය කරන විට ඔබට භාවිත කිරීමට අවශ්‍ය විශාලනය කිරීමේ ප්‍රදේශය(ප්‍රදේශ) තෝරා ගන්න"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"පූර්ණ තිරය"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"තිරයේ කොටස"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"පූර්ණ තිරය &amp; තිරයේ කොටස"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"සම්පූර්ණ තිරය විශාලනය කරන්න"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"තිරයේ කොටස විශාලනය කරන්න"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"විශාලන සැකසීම්"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"තට්ටු-තුනක් සමඟ විශාලනය කරන්න"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"කෙටිමඟ සමඟ විශාලන කරන්න"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"කෙටිමඟ සහ තට්ටු කිරීම් තුනක් සමඟ විශාලන කරන්න"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"<xliff:g id="SERVICE">%1$s</xliff:g> පිළිබඳ"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"විකල්ප"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"තිරය මත විශාලනය කරන්න"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"විශාලනය කිරීමට 3 වරක් තට්ටු කරන්න"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"විශාලනය කිරීමට බොත්තමක් තට්ටු කරන්න"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><b>"විශාලනය කිරීමට"</b>", ඉක්මනින් තිරය මත 3න් වරක් තට්ටු කරන්න.\n"<ul><li>"අනුචලනය කිරීමට ඇඟිලි 2කක් හෝ ඊට වැඩි ගණනක් ඇඳගෙන යන්න"</li>\n<li>"විශාලනය සීරුමාරු කිරීමට ඇඟිලි 2කක් හෝ ඊට වැඩි ගණනක් පින්ච් කරන්න"</li></ul>\n\n<b>"තාවකාලිකව විශාලනය කිරීමට"</b>", ඉක්මනින් තිරය මත 3න් වරක් තට්ටු කර තුන් වන තට්ටුව මත ඇඟිල්ල රඳවා ගෙන සිටින්න.\n"<ul><li>"තිරය වටා යාමට අඳින්න"</li>\n<li>"විශාලනය අඩු කිරීමට ඇඟිල්ල ඔසවන්න"</li></ul>\n\n"යතුරු පුවරුව හෝ සංචලන තීරුව තුළට ඔබට විශාලනය කළ නොහැක."</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"විශාලනය සක්‍රීය කළ විට, ඔබට ඔබේ තිරය විශාලන කළ හැක.\n\n"<b>"විශාලන කිරීමට"</b>", විශාලනය ආරම්භ කරන්න, පසුව තිරයේ ඕනෑම තැනකින් තට්ටු කරන්න.\n"<ul><li>"• අනුචලන කිරීමට ඇඟිලි 2 ක් හෝ වැඩි ගණනක් අදින්න"</li>\n<li>"• විශාලනය ගැළපීමට ඇඟිලි 2 ක් හෝ වැඩි ගණනක් කොනහන්න"</li></ul>\n\n<b>"තාවකාලිකව විශාලන කිරීමට"</b>", විශාලනය ආරම්භ කරන්න, පසුව තිරයේ ඕනෑම තැනකින් ස්පර්ශ කර අල්ලා සිටින්න.\n"<ul><li>"• තිරය වටේ එහා මෙහා කිරීමට අදින්න"</li>\n<li>"• විශාලනය අඩු කිරීමට ඇඟිල්ල උස්සන්න"</li></ul>\n\n"ඔබට යතුරු පුවරුවේ හෝ සංචලන තීරුවේ විශාලන කළ නොහැක."</string>
+    <string name="accessibility_screen_magnification_summary" msgid="7617931632990040045">"අන්තර්ගතය වඩාත් පැහැදිලිව බැලීමට තිරය මත ඉක්මනින් විශාලනය වැඩි කරන්න.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;විශාලනය වැඩි කිරීමට:&lt;/b&gt;&lt;br/&gt;	1. විශාලනය කිරීම ආරම්භ කිරීමට කෙටිමග භාවිත කරන්න&lt;br/&gt;	2. තිරය තට්ටු කරන්න&lt;br/&gt;	3. තිරය වටා ගෙන යාමට ඇඟිලි 2කින් අදින්න&lt;br/&gt;	4. විශාලනය සීරුමාරු කිරීමට ඇඟිලි 2කින් කොනහන්න&lt;br/&gt;	5. විශාලනය කිරීම නතර කිරීමට කෙටිමග භාවිත කරන්න&lt;br/&gt;&lt;br/&gt;&lt;b&gt;තාවකාලිකව විශාලනය වැඩි කිරීමට:&lt;/b&gt;&lt;br/&gt;	1. විශාලනය කිරීම ආරම්භ කිරීමට කෙටිමග භාවිත කරන්න&lt;br/&gt;	2. තිර‍යේ ඕනෑම තැනක ස්පර්ශ කර &amp; අල්ලා ගන්න&lt;br/&gt;	3. තිරය වටා ගෙන යාමට ඇඟිල්ල අදින්න&lt;br/&gt;	4. විශාලනය කිරීම නතර කිරීමට ඇඟිල්ල ඔසවන්න"</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"විශාලනය ක්‍රියාත්මක කර ඇති විට, ඔබට ඔබේ තිරයේ දී විශාලනය වැඩි කළ හැකිය.\n\n"<b>"විශාලනය කිරීමට"</b>", විශාලනය ආරම්භ කර, අනතුරුව තිරයේ ඕනෑම තැනක තට්ටු කරන්න.\n"<ul><li>"අනුචලනය කිරීමට ඇඟිලි 2ක් හෝ ඊට වැඩි ගණනක් අදින්න"</li>\n<li>"විශාලනය සීරුමාරු කිරීමට ඇඟිලි 2ක් හෝ ඊට වැඩි ගණනක් කොනහන්න"</li></ul>\n\n<b>"තාවකාලිකව විශාලනය කිරීමට"</b>", විශාලනය ආරම්භ කර, අනතුරුව තිරයේ ඕනෑම තැනක ස්පර්ශ කර &amp; අල්ලාගෙන සිටින්න.\n"<ul><li>"තිරය වටා චලනය කිරීමට අදින්න"</li>\n<li>"විශාලනය අඩු කිරීමට ඇඟිල්ල ඔසවන්න"</li></ul>\n\n"ඔබට යතුරු පුවරුවේ හෝ සංචාලන තීරුවේ දී විශාලනය වැඩි කළ නොහැකිය."</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"විවෘත කිරීමට ප්‍රවේශ්‍යතා බොත්තම භාවිත කරන්න"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"විවෘත කිරීමට ඉංගිතය භාවිත කරන්න"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"නව ප්‍රවේශ්‍යතා ඉංගිතය භාවිත කරන්න"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"මෙම සේවය සක්‍රීය හෝ අක්‍රිය කිරීමට, ඔබේ තිරයේ පහළින් ඇති ප්‍රවේශ්‍යතා බොත්තමට<xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>තට්ටු කරන්න.\n\nසේවා අතර මාරු වීමට, ප්‍රවේශ්‍යතා බොත්තම ස්පර්ශ කර අල්ලා සිටින්න."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"මෙම සේවය සක්‍රීය හෝ අක්‍රිය කිරීමට, ඇඟිලි දෙකකින් තිරයේ පහළින් උඩට ස්වයිප් කරන්න.\n\nසේවා අතර මාරු වීමට, ඇඟිලි දෙකකින් උඩට ස්වයිප් කර අල්ලා සිටින්න."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"මෙම සේවය සක්‍රීය හෝ අක්‍රිය කිරීමට, ඇඟිලි තුනකින් තිරයේ පහළින් උඩට ස්වයිප් කරන්න.\n\nසේවා අතර මාරු වීමට, ඇඟිලි තුනකින් උඩට ස්වයිප් කර අල්ලා සිටින්න."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"ප්‍රවේශ්‍යතා සේවයක් සක්‍රීය හෝ අක්‍රිය කිරීමට, ඇඟිලි දෙකකින් තිරයේ පහළින් උඩට ස්වයිප් කරන්න.\n\nසේවා අතර මාරු වීමට, ඇඟිලි දෙකකින් උඩට ස්වයිප් කර අල්ලා සිටින්න."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"ප්‍රවේශ්‍යතා සේවයක් සක්‍රීය හෝ අක්‍රිය කිරීමට, ඇඟිලි තුනකින් තිරයේ පහළින් උඩට ස්වයිප් කරන්න.\n\nසේවා අතර මාරු වීමට, ඇඟිලි තුනකින් උඩට ස්වයිප් කර අල්ලා සිටින්න."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"මෙම සේවය ක්‍රියාත්මක හෝ ක්‍රියාවිරහිත කිරීමට, ඔබේ තිරයේ පහළින් ඇති ප්‍රවේශ්‍යතා බොත්තම <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> තට්ටු කරන්න.\n\nසේවා අතර මාරු වීමට, ප්‍රවේශ්‍යතා බොත්තම ස්පර්ශ කර අල්ලාගෙන සිටින්න."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"මෙම සේවාව ක්‍රියාත්මක හෝ ක්‍රියාවිරහිත කිරීමට, ඇඟිලි දෙකකින් තිරයේ පහළ සිට ඉහළට ස්වයිප් කරන්න.\n\nසේවා අතර මාරු වීමට, ඇඟිලි දෙකකින් ඉහළට ස්වයිප් කර අල්ලා ගෙන සිටින්න."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"මෙම සේවාව ක්‍රියාත්මක හෝ ක්‍රියාවිරහිත කිරීමට, ඇඟිලි තුනකින් තිරයේ පහළ සිට ඉහළට ස්වයිප් කරන්න.\n\nසේවා අතර මාරු වීමට, ඇඟිලි තුනකින් ඉහළට ස්වයිප් කර අල්ලා ගෙන සිටින්න."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"ප්‍රවේශ්‍යතා සේවාවක් ක්‍රියාත්මක හෝ ක්‍රියාවිරහිත කිරීමට, ඇඟිලි දෙකකින් තිරයේ පහළ සිට ඉහළට ස්වයිප් කරන්න.\n\nසේවා අතර මාරු වීමට, ඇඟිලි දෙකකින් ඉහළට ස්වයිප් කර අල්ලා ගෙන සිටින්න."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"ප්‍රවේශ්‍යතා සේවාවක් ක්‍රියාත්මක හෝ ක්‍රියාවිරහිත කිරීමට, ඇඟිලි තුනකින් තිරයේ පහළ සිට ඉහළට ස්වයිප් කරන්න.\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="2820923641553461297">"ප්‍රවේශ්‍යතා බොත්තම"</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="8922102767509399352">"ඔබේ තිරයේ පහළ ඇති <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> ප්‍රවේශ්‍යතා බොත්තම තට්ටු කරන්න"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"ඇඟිලි 2කින් තිරයේ පහළ සිට ඉහළට ස්වයිප් කරන්න"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"ඇඟිලි 3කින් තිරයේ පහළ සිට ඉහළට ස්වයිප් කරන්න"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"හඬ පරිමා යතුරු අල්ලාගන්න"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"තත්පර 1කට හඬ පරිමා යතුරු ඔබා &amp; අල්ලාගෙන සිටින්න"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"තිරය තෙවරක් තට්ටු කරන්න"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"ඉක්මනින් තිරය 3 වතාවක් තට්ටු කරන්න. මෙම කෙටිමග ඔබේ උපාංගය මන්දගාමි කළ හැකිය."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"උසස්"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"ප්‍රවේශ්‍යතා බොත්තම <xliff:g id="SERVICE">%1$s</xliff:g> වෙත සකසා ඇත. විශාලනය භාවිතා කිරීමට ප්‍රවේශ්‍යතා බොත්තම ස්පර්ශ කරගෙන විශාලනය තෝරන්න."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"ප්‍රවේශ්‍යතා ඉංගිතය <xliff:g id="SERVICE">%1$s</xliff:g> ලෙස සකසා ඇත. විශාලනය භාවිත කිරීමට, ඔබේ තිරයේ පහළ සිට ඇඟිලලි දෙකකින් උඩට ස්වයිප් කර අල්ලා ගෙන සිටින්න. අනතුරුව විශාලනය තෝරන්න."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"ශබ්ද බොත්තම් කෙටිමඟ"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"කෙටිමඟ සේවා"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"කෙටිමං සැකසීම්"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"අගුලු තිරයෙන් ඉඩ දෙන්න"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"කෙටිමඟ සක්‍රිය විට, ප්‍රවේශ්‍යතා අංගය සක්‍රිය කිරීමට ඔබට ශබ්ද බොත්තම් තත්පර 3කට ඔබාගෙන සිටිය හැක."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"ඉහළම වෙනසක් ඇති පෙළ"</string>
@@ -2149,24 +2157,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"ක්‍රියා කිරීමට ඔබගෙන් ඉල්ලා සිටින, නමුත් තාවකාලිකව පමණක් දිස් වන, පණිවිඩ කොතරම් කාලයක් දිස් වන්නේද යන්න තෝරන්න.\n\nසියලු යෙදුම් මෙම සැකසීමට සහාය නොදක්වයි."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"ස්පර්ශ කර ප්‍රමාදය රඳවන්න"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"වර්ණ අපවර්තනය"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"ඇතැම් විට ක්‍රියාකාරිත්වයට බලපෑ හැක"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"තිබෙන කාලය"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"වර්ණ අපවර්තනය භාවිත කරන්න"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"වර්ණ අපවර්තනය ළා තිර අඳුරු බවට හරවයි. මෙය දීප්තිමත් එළියට සංවේදි පුද්ගලයන්ට තිරය වඩාත් පහසුවෙන් බැලීමට සහාය වේ.&lt;br/&gt;&lt;br/&gt;සටහන: අඳුරු වර්ණ ළා බවට හැරෙනු ඇත. මාධ්‍ය සහ රූපවල වර්ණ වෙනස් වනු ඇත. ඔබට අඳුරු තේමාවද භාවිත කළ හැකිය (සැකසීම් &gt; සංදර්ශකය)."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"ස්වයං ක්ලික් කිරීම (රැඳී සිටින කාල නිර්ණය)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"ඔබ මූසිකය භාවිත කරන්නේ නම්, යම් නිශ්චිත කාලයක් සඳහා ගෙන යාම නවත්වන විට කර්සරය ස්වයංක්‍රියව ක්‍රියා කිරීමට ඔබට සැකසිය හැකිය."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"ක්ලික් කිරීමට පෙර පමාව"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"ස්වයං ක්ලික් කිරීම නොකර (default)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"කෙටි"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"තත්පර 0.2"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"මධ්‍යම"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"තත්පර 0.6"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"දීර්ඝ"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"තත්පර 1"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"අභිරුචි"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"වඩාත් කෙටි"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"වඩාත් දිග"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"ස්වයං ක්ලික් කිරීමේ වේලාව"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"කම්පනය සහ ත්වච ශක්තිය"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"දැනුම්දීම් කම්පනය"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"නාද කම්පනය"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"ප්‍රතිපෝෂණය ස්පර්ශ කරන්න"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"සේවාව භාවිත කරන්න"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g> භාවිත කරන්න"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g> විවෘත කරන්න"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"වර්ණ නිවැරදි කිරීම භාවිත කරන්න"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"සිරස්තල භාවිත කරන්න"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"සිරස්තල පෙන්වන්න"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"සිරස්තල පෙනුම"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"පෙළ තරම, සිරස්තල විලාසය"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"තව විකල්ප"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"සියලු යෙදුම් මෙම සැකසීමට සහාය නොදක්වයි."</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"ප්‍රවේශ්‍යතා බොත්තම"</string>
+    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"පහළ සිට ඇඟිලි 2 කේ ඉහළට ස්වයිප් කිරීම"</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>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"ශ්‍රවණාධාරක"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"ශ්‍රවණාධාරක සම්බන්ධ කර නැත"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"ශ්‍රවණාධාරක එක් කරන්න"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"ඔබගේ ශ්‍රවණාධාරක යුගල කිරීමට, ඊළඟ තිරයේ ඔබේ උපාංගය සොයා තට්ටු කරන්න."</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"ඔබේ යුගල ප්‍රකාරයක ඇති බව සහතික කර ගන්න."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"ඔබගේ ශ්‍රවණාධාරක යුගල කිරීමට, මීළඟ තිරයේ ඔබේ උපාංගය සොයා තට්ටු කරන්න. ඔබේ යුගල ප්‍රකාරයක ඇති බව සහතික කර ගන්න."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ක්‍රියාත්මකයි"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="one">සුරැකි ශ්‍රවණාධාර <xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g></item>
@@ -2178,25 +2204,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"මෙම සේවාව නිසි පරිදි ක්‍රියා නොකරයි."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"ඉක්මන් සැකසීම් තුළ පෙන්වන්න"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"නිවැරදි කිරීම් ප්‍රකාරය"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="one">අතිශයින්ම කෙටි ප්‍රමාදය (මිලිතත්පර <xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g>)</item>
-      <item quantity="other">අතිශයින්ම කෙටි ප්‍රමාදය (මිලිතත්පර <xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g>)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"රතු-කොළ"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"කොළ-රතු"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"නිල්-කහ"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"වර්ණ අන්ධතාව"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"වර්ණ දුර්වලතාව"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"වර්ණ අන්ධතාව"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="one">අතිශයින්ම කෙටි ප්‍රමාදයකි (තත්පර <xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g>)</item>
+      <item quantity="other">අතිශයින්ම කෙටි ප්‍රමාදයකි (තත්පර <xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g>)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="one">ඉතා කෙටි ප්‍රමාදය (මිලිතත්පර <xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g>)</item>
-      <item quantity="other">ඉතා කෙටි ප්‍රමාදය (මිලිතත්පර <xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g>)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="one">ඉතා කෙටි ප්‍රමාදයකි (තත්පර <xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g>)</item>
+      <item quantity="other">ඉතා කෙටි ප්‍රමාදයකි (තත්පර <xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g>)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="one">කෙටි ප්‍රමාදය (මිලිතත්පර <xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g>)</item>
-      <item quantity="other">කෙටි ප්‍රමාදය (මිලිතත්පර <xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g>)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="one">කෙටි ප්‍රමාදයකි (තත්පර <xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g>)</item>
+      <item quantity="other">කෙටි ප්‍රමාදයකි (තත්පර <xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g>)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="one">දිගු ප්‍රමාදය (මිලිතත්පර <xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g>)</item>
-      <item quantity="other">දිගු ප්‍රමාදය (මිලිතත්පර <xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g>)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="one">දිගු ප්‍රමාදයකි (තත්පර <xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g>)</item>
+      <item quantity="other">දිගු ප්‍රමාදයකි (තත්පර <xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g>)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="one">ඉතා දිගු ප්‍රමාදය (මිලිතත්පර <xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g>)</item>
-      <item quantity="other">ඉතා දිගු ප්‍රමාදය (මිලිතත්පර <xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g>)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="one">ඉතා දිගු ප්‍රමාදයකි (තත්පර <xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g>)</item>
+      <item quantity="other">ඉතා දිගු ප්‍රමාදයකි (තත්පර <xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g>)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="one">තත්පර <xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g></item>
+      <item quantity="other">තත්පර <xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g></item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"නාදය <xliff:g id="SUMMARY_RING">%1$s</xliff:g>, දැනුම්දීම <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>, ස්පර්ශය <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"නාද සහ දැනුම්දීම ක්‍රියාවිරහිත ලෙස සකසා ඇත"</string>
@@ -2513,7 +2549,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"අවසන් වරට පේනුව ගලවුයේ <xliff:g id="UNPLUGGED">%1$s</xliff:g> සඳහාය"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"භාවිත එකතු"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"නැවුම් කරන්න"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"Android OS"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"මාධ්‍යසේවාදායකය"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"යෙදුම් ප්‍රශස්තකරණය"</string>
     <string name="battery_saver" msgid="7737147344510595864">"බැටරි සුරැකුම"</string>
@@ -2594,8 +2629,7 @@
     <string name="tts_play" msgid="2945513377250757221">"ධාවනය කරන්න"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"අක්තපත්‍ර ආචයනය"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"ආචයනයේ සිට ස්ථාපනය කරන්න"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"SD කාඩ් පතෙන් ස්ථාපනය කරන්න"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"සහතිකයක් ස්ථාපනය කරන්න"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"සහතික ආචයනයෙන් ස්ථාපනය කරන්න"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"SD කාඩ් පතේ සිට සහතික ස්ථාපනය කරන්න"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"අක්තපත්‍ර හිස් කරන්න"</string>
@@ -2615,6 +2649,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"අක්තපත්‍ර ආචයනය මකා දමා ඇත."</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"අක්තපත්‍ර ආචයනය මැකිය නොහැක."</string>
     <string name="usage_access_title" msgid="1580006124578134850">"යෙදුම් භාවිත ප්‍රවේශය"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"CA සහතිකය"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"VPN &amp; යෙදුම් පරිශීලක සහතිකය"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"Wi‑Fi සහතිකය"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"ඔබේ සහතිකය අවදානමේ ඇත"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"CA සහතික සංකේතනය සඳහා වෙබ් අඩවි, යෙදුම් සහ VPNs භාවිත කරයි. ඔබ විශ්වාස කරන සංවිධානවලින් පමණක් CA සහතික ස්ථාපනය කරන්න. \n\n ඔබ CA සහතිකයක් ස්ථාපනය කරන්නේ නම්, සහතිකයේ හිමිකරුට මුරපද, පණිවිඩ හෝ ණය කාඩ්පත් විස්තර වැනි ඔබේ තොරතුරුවලට එම තොරතුරු සංකේතනය කර තිබියදී පවා ප්‍රවේශ විය හැකිය."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"ස්ථාපනය නොකරන්න"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"සැමවිට ස්ථාපනය කරන්න"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"සහතිකය ස්ථාපනය කර නැත"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"හදිසි අවස්ථා ඩයල් කිරීමේ සංඥාව"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"හදිසි ඇමතුමක් ලැබුණ විට හැසිරීම සකසන්න"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"උපස්ථය"</string>
@@ -2642,10 +2684,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"අක්‍රිය කර අස්ථාපනය කරන්න"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"උපාංග පරිපාලක යෙදුම්"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"උපාංග පරිපාලක යෙදුම් ලබාගත නොහැක"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"පෞද්ගලික"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"කාර්යාලය"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"SMS සහ ඇමතුම් ලොග ප්‍රවේශය සීමා කරන්න"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"පෙරනිමි දුරකථන සහ පණිවිඩකරණ යෙදුම්වලට පමණක් SMS සහ ඇමතුම් ලොග අවසර ඇත"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"විශ්වාසනීය ඒජන්තවරුන් නැත"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"උපාංගය පරිපාලක යෙදුම සක්‍රිය කරන්නද?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"මෙම උපාංගය පරිපාලක යෙදුම සක්‍රිය කරන්න"</string>
@@ -2659,6 +2697,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"ඔබගේ පරිපාලක විසින් අනෙකුත් විකල්ප අබල කරන ලදී"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"වැඩි විස්තර"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"දැනුම්දීමේ ලොගය"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"දැනුම්දීම් ඉතිහාසය"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"අද"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"යළි සිහිකැඳවූ"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"මෑතකදී ඉවත දැමූ"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="one">දැනුම් දීම් <xliff:g id="NUMBER_1">%d</xliff:g></item>
+      <item quantity="other">දැනුම් දීම් <xliff:g id="NUMBER_1">%d</xliff:g></item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"ඇමතීම් රිගින්ටෝනය සහ කම්පනය"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"ජාල විස්තර"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"සමමුහුර්තය සබලයි"</string>
@@ -3008,7 +3054,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"සිමා"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"සිමා ඉවත් කරන්න"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"PIN වෙනස් කරන්න"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"දැනුම්දීම් පෙන්වන්න"</string>
     <string name="help_label" msgid="2896538416436125883">"උදවු සහ ප්‍රතිපෝෂණ"</string>
     <string name="support_summary" msgid="1034146931237148885">"උදවු ලිපි, දුරකථන සහ කතාබස්, ආරම්භ කිරීම"</string>
     <string name="user_account_title" msgid="6389636876210834864">"අන්තර්ගතය සඳහා ගිණුම"</string>
@@ -3033,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G ඇමතුම"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"හඬ සහ වෙනත් සන්නිවේදන දියුණු කිරීමට LTE සේවය භාවිත කරන්න (නිර්දේශිතයි)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"හඬ සහ වෙනත් සන්නිවේදන දියුණු කිරීමට 4G සේවා භාවිත කරන්න (නිර්දේශිතයි)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"සම්බන්ධතා අනාවරණය"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"ඔබේ වාහකට ඔබේ සම්බන්ධතා සහාය දක්වන්නේ කුමන ඇමතුම් විශේෂාංගවලටදැයි අනාවරණය කර ගැනීමට ඉඩ දෙයි."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"සම්බන්ධතා අනාවරණය සබල කරන්නද?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"මෙම විශේෂාංගය සබල කිරීමෙන් ඔබේ වාහකයට ඔවුන් සහාය දක්වන්නේ කුමන ඇමතුම් විශේෂාංගවලටදැයි අනාවරණය කර ගැනීමට ඔබේ සම්බන්ධතාවල දුරකථන අංක වෙත ප්‍රවේශ වීමට ඉඩ දෙනු ඇත."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"ප්‍රියකරන ජාල වර්ගය"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (නිර්දෙශිත)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS පණිවිඩ"</string>
@@ -3077,7 +3126,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"සමඟ අමතන්න"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"SIM කාඩ් පත තෝරන්න"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"SIM <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"SIM හිස්"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"SIM නම"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"SIM නම ඇතුළත් කරන්න"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"SIM විවරය %1$d"</string>
@@ -3087,6 +3135,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"SIM කාඩ්පත තෝරන්න"</string>
     <string name="color_orange" msgid="216547825489739010">"තැඹිලි"</string>
     <string name="color_purple" msgid="6603701972079904843">"දම්"</string>
+    <string name="color_pink" msgid="8596872110888626708">"රෝස"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"SIM කාඩ්පත් ඇතුළත් කර නොමැත"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"SIM තත්ත්වය"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"SIM තත්ත්වය (sim විවරය %1$d)"</string>
@@ -3100,7 +3149,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"SIM කාඩ්පත් වෙනස් කෙරිණි."</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"පිහිටුවීමට තට්ටු කරන්න"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"සඳහා වඩා කැමති SIM"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"සෑම වේලාවකම ආසන්න"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"තේරීමක් අවශ්‍යයි"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"SIM තේරීම"</string>
@@ -3118,6 +3166,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"බ්ලූටූත්, රිය පැවීම් ප්‍රකාරය"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"බ්ලූටූත්, NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"බ්ලූටූත්"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"NFC ක්‍රියාවිරහිත නිසා ලබා ගත නොහැකිය"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"යෙදුම් සහ දැනුම්දීම්"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"මෑත යෙදුම්, පෙරනිමි යෙදුම්"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"කාර්යාල පැතිකඩ තුළ යෙදුම් සඳහා දැනුම්දීම් ප්‍රවේශය ලබා ගත නොහැකිය"</string>
@@ -3128,13 +3177,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"සැකසීම්"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"wifi, wi-fi, ජාල සම්බන්ධය, අන්තර්ජාලය, රැහැන් රහිත, දත්ත, wi fi"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"Wi‑Fi දැනුම්දීම, wifi දැනුම්දීම"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"දත්ත භාවිතය"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"කම්පනය නවත්වන්න, තට්ටු කරන්න, යතුරු පුවරුව"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"පැය 24 ආකෘතිය භාවිත කරන්න"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"බාගැනීම"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"සමඟ විවෘත කරන්න"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"යෙදුම්"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"වේලා කලාපය"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"කථාබස් ශීර්ෂය"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"Chat ශීර්ෂකය, පද්ධතිය, ඇඟවීම, කවුළුව, සංදර්ශකය, අනෙක් යෙදුම් ඉහළින්, ඇදීම"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"සැණෙළිය, එළිය, පන්දම"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"wifi, wi-fi, ටොගල කිරීම, පාලනය"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"සෙලියුලර්, ජංගම, සෙල් වාහකය, රැහැන් රහිත, දත්ත, 4g, 3g, 2g, lte"</string>
@@ -3158,7 +3208,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"බාධා නොකරන්න එපා, බාධා කිරීම, බාධාව, බිඳීම"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"අවට, ස්ථානය, ඉතිහාසය, වාර්තාකරණය, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"ගිණුම"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"ගිණුම, ගිණුමක් එක් කරන්න, කාර්යාල පැතිකඩ, ගිණුම එක් කරන්න"</string>
     <string name="keywords_users" msgid="3497517660077620843">"සීමා කිරීම, සීමා කරන්න, සීමා කරන ලදී"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"පෙළ නිවැරදි කිරීම, නිවැරදි, ශබ්දය, කම්පනය, ස්වයං, භාෂාව, අභිනය, යෝජනා කිරීම, යෝජනාව, තේමාව, අහිතකර, වචනය, වර්ගය, ඉමොජි ජාත්‍යන්තර"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"නැවත සකසන්න, මනාප, පෙරනිමි"</string>
@@ -3196,6 +3246,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"මතකය, හැඹිලිය, දත්ත, ඉවත් කිරීම, පැහැදිලි, නිදහස්, ඉඩ"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"සම්බන්ධිත, උපාංගය, හෙඩ්ෆෝන්, හෙඩ්සෙට්, ස්පීකර, රැහැන් රහිත, යුගල, ඉයර්බඩ්, සංගීතය, මාධ්‍ය"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"පසුබිම, තිරය, අගුලු තිරය, තේමාව"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"නිරූපක හැඩය, උච්ඡාරණ වර්ණය, ෆොන්ටය"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"පෙරනිමි, සහායක"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"ගෙවීම, පෙරනිමි"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"එන දැනුම්දීම"</string>
@@ -3205,18 +3256,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"ස්පර්ශ, කම්පනය, සංවේදීතාව"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"බැටරි සුරැකුම, ඇලෙන, දිගටම පැවතීම, බල සුරැකුම, බැටරිය"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"චර්යානුගත, කාල සටහන, බැටරි සුරැකුම, බල සුරැකුම, බැටරිය, ස්වයංක්‍රීය, ප්‍රතිශතය"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"වැඩ පැතිකඩ"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"volte, උසස් ඇමතුම්, 4g ඇමතුම්"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"භාෂාව එක් කරන්න, භාෂාවක් එක් කරන්න"</string>
     <string name="default_sound" msgid="6604374495015245195">"සුපුරුදු හඬ"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"<xliff:g id="PERCENTAGE">%1$s</xliff:g> දී නාදක හඬ පරිමාව"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"නාද සහ දැනුම්දීම හඬ පරිමාව <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"හඬ පරිමාව, කම්පනය, බාධා නොකරන්න"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"හඬ නඟනය කම්පනය වන ලෙස සකසා ඇත"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"හඬ නඟනය නිහඬ වන ලෙස සකසා ඇත"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"80% දී නාදක හඬ පරිමාව"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"නාද සහ දැනුම්දීම හඬ පරිමාව 80%"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"මාධ්‍ය ශබ්දය"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"විකාශන පරිමාව"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"ඇමතුම් ශබ්දය ත්‍රීවතාවය"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"සීනුවේ ශබ්දය"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"නාද ශබ්දය"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"නාද සහ දැනුම්දීම හඬ පරිමාව"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"දැනුම්දීමේ ශබ්ද ත්‍රීවතාව"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"දුරකථන රිගින්ටෝනය"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"පෙරනිමි දැනුම්දීම් හඬ"</string>
@@ -3224,6 +3276,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"පෙරනිමි දැනුම්දීම් හඬ"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"පෙරනිමි එලාම හඬ"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"ඇමතුම් සඳහා කම්පනය කරන්න"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"කිසි විටෙක කම්පනය නොකරන්න"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"සැමවිට කම්පනය කරන්න"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"පළමුව කම්පනය කර අනතුරුව ක්‍රමයෙන් නාද කරන්න"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"වෙනත් ශබ්ද"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"ඇමතුම් පැඩ නාද"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"තිරය අඟුළු දැමීමේ ශබ්ද"</string>
@@ -3247,6 +3302,7 @@
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g>ක් සබලයි</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"බාධා නොකරන්න"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"වැදගත් පුද්ගලයන් සහ යෙදුම් විසින් පමණක් දැනුම් දෙනු ලැබේ"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"බාධා සීමා කරන්න"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"බාධා නොකරන්න ක්‍රියාත්මක කරන්න"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"ව්‍යතිරේක"</string>
@@ -3273,7 +3329,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g> : <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"දෘශ්‍ය බාධක අවහිර කරන්න"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"දෘශ්‍ය සංඥාවලට ඉඩ දෙන්න"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"Do Not Disturb ක්‍රියාත්මක වන්නේ මොන වේලාවටද"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"ශබ්දය ඇති කරන බාධා කිරීම්වලට ඉඩ දෙන්න"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"දැනුම්දීම් සීමා කරන්න"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"දැනුම්දීම් වෙතින් හඬ නැත"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"ඔබ ඔබගේ තිරය මත දැනුම්දීම් දකිනු ඇත"</string>
@@ -3304,7 +3360,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"හඬ සහ කම්පනය"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"දැනුම්දීම්වල හඬ, කම්පනය සහ සමහර දෘශ්‍ය සංඥා"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"දැනුම්දීම්වල හඬ, කම්පනය සහ දෘශ්‍ය සංඥා"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"මූලික දුරකථන ක්‍රියාකාරකම් සහ තත්ත්වය සඳහා දැනුම්දීම් කිසි විටක නොසඟවනු ඇත"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"මූලික දුරකථන ක්‍රියාකාරකම සහ තත්ත්වය සඳහා අවශ්‍ය දැනුම් දීම් කිසි විටක නොසැඟවෙනු ඇත."</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"කිසිවක් නැත"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"වෙනත් විකල්ප"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"එක් කරන්න"</string>
@@ -3334,10 +3390,12 @@
       <item quantity="one">කාල සටහන් <xliff:g id="ON_COUNT">%d</xliff:g>ක් ස්වයංක්‍රියව ක්‍රියාත්මක කළ හැකිය</item>
       <item quantity="other">කාල සටහන් <xliff:g id="ON_COUNT">%d</xliff:g>ක් ස්වයංක්‍රියව ක්‍රියාත්මක කළ හැකිය</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"උපාංගය නිහඬ කරන්න, නමුත් ව්‍යාතිරේක ඉඩ දෙන්න"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"ව්‍යතිරේක"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"කාල සටහන"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"සියලු ව්‍යාතිරේක බලන්න"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"බාධා නොකරන්න ක්‍රියාත්මක විට ව්‍යතිරේක"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"පුද්ගලයන්"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"යෙදුම්"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"එලාම &amp; වෙනත් බාධා කිරීම්"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"කාල සටහන්"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"නිහඬ කළ දැනුම් දීම්"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"බාධා නොකරන්න ක්‍රියාත්මක විට, ඔබ විසින් අවසර දෙනු ලබන අයිතම සඳහා හැරුණු විට, ශබ්දය සහ කම්පනය නිහඬ වනු ඇත."</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"හැර සියල්ල නිහඬ කරන්න"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"නිහඬයි"</string>
@@ -3381,16 +3439,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"අනුවර්තී දැනුම්දීම්"</string>
     <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_capabilities_actions_replies_title" msgid="4392470465646394289">"යෝජිත ක්‍රියා සහ පිළිතුරු"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"යෝජිත ක්‍රියා සහ පිළිතුරු ස්වයංක්‍රීයව පෙන්වන්න"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"පසුගිය දැනුම් දීම සහ මඳක් නිද්‍රාවට පත් කළ දැනුම් දීම්වල වාර්තා තබා ගැනීමට දැනුම් දීම් ඉතිහාසය ක්‍රියාත්මක කරන්න"</string>
+    <string name="notification_history" msgid="8663811361243456201">"දැනුම් දීම් ඉතිහාසය"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"ඉතිහාසය ක්‍රියාත්මක කරන්න"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"ඉතිහාසය ක්‍රියා විරහිත කරන්න"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"දැනුම් දීම් ඉතිහාසය ක්‍රියාවිරහිත කර ඇත"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"දැනුම් දීම් සැකසීම් බලන්න"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"දැනුම්දීම කල් දැමීමට ඉඩ දෙන්න"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"සියුම් දැනුම්දීම්වලින් නිරූපක සඟවන්න"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"සියුම් දැනුම්දීම්වල නිරූපක තත්ත්‍ව තීරුව තුළ පෙන්වනු නොලබති"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"දැනුම්දීම් තිත් සඳහා ඉඩ දෙන්න"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"මෑත සංවාදවල තිරය පෙන්වන්න"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"බුබුළු"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"සමහර දැනුම්දීම් තිරයේ බුබුළු ලෙස දිස් විය හැක"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"සමහර දැනුම්දීම් සහ අනෙකුත් අන්තර්ගත තිරය මත බුබුළු ලෙස දිස් විය හැක. බුබුළක් විවෘත කිරීමට, එයට තට්ටු කරන්න. එය ඉවත ලෑමට, එය තිරයේ පහළට අදින්න."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"බුබුළු"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"නව පණිවිඩ තිරයේ දිස්වනු ඇත"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"<xliff:g id="APP_NAME">%1$s</xliff:g> හට සමහර දැනුම්දීම් බුබුළු ලෙස පෙන්වීමට ඉඩ දෙන්න"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"බුබුළු සක්‍රීය කරන්න"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"මෙම යෙදුම සඳහා බුබුළු සක්‍රීය කළ කිරීමට, පළමුව ඔබ ඔබේ උපාංගය සඳහා ඒවා සක්‍රීය කිරීමට අවශ්‍යයි මෙය ඔබ පෙර බුබුභ සක්‍රීය කළ අනෙකුත් යෙදුම්වලට බලපායි."</string>
@@ -3408,6 +3476,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"පහළ ඇදීමේ සෙවන සහ අඟුලු තිරය මත සංදර්ශන කරයි"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"පහළ ඇදීමේ සෙවන සහ තත්ත්‍ව තීරුව තුළ සංදර්ශන කරයි"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"පහළ ඇදීමේ සෙවන, තත්ත්‍ව තීරුව තුළ සහ අඟුලු තිරය මත සංදර්ශන කරයි"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"තත්ත්ව තීරුවේ නිහඬ දැනුම් දීම් සඟවන්න"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"නිවී නිවී දැල්වෙන එළිය"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"අඟුලු තිරය"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"අගුළු තිරය මඟ හරින්න"</string>
@@ -3438,6 +3507,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"හැසිරීම"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"ශබ්දයට ඉඩ දෙන්න"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"දැනුම්දීම් කිසිදා නොපෙන්වන්න"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"සංවාද"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"සංවාදය"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"සංවාදයක් නොවේ"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"සංවාද කොටසෙන් ඉවත් කරන්න"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"මෙය සංවාදයකි"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"සංවාද කොටසට එක් කරන්න"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"සංවාද කළමනාකරණය කරන්න"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"වැදගත් සංවාද"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"සියලු සංවාද"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"වැදගත් සංවාද බුබුලු නගන්න"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"වැදගත් සංවාද ඇද හෙළන වැස්ම මුදුනේදී පෙන්වයි. ඔබට ඒවා බුබුලු නැගීමට සැකසීමට සහ බාධා නොකරන්න බාධා කිරීමටද හැකිය."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"නිහඬව පෙන්වන්න සහ කුඩා කරන්න"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"නිහඬව පෙන්වන්න"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"ශබ්ද කරන්න"</string>
@@ -3456,7 +3536,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"ඔබට ශබ්දය හෝ කම්පනය නොමැතිව අවධානය යොමු කිරීමට උදවු කරයි"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"ශබ්දය හෝ කම්පනය සමඟ ඔබේ අවධානය ලබා ගනී"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"උපාංගය අඟුලු අරිනු ලැබූ විට, තිරයේ මුදුනින් දැනුම්දීම් බැනරයක් ලෙස පෙන්වන්න"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"දැනුම්දීම් පෙන්වන්න"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"සියලු <xliff:g id="APP_NAME">%1$s</xliff:g> දැනුම්දීම්"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"අනුවර්තී දැනුම්දීම්"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="one">දිනකට දැනුම්දීම් ~<xliff:g id="NUMBER_1">%d</xliff:g> ක්</item>
@@ -3477,6 +3557,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"අනුවර්තී දැනුම්දීම්"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"කිසිවක් නැත"</string>
     <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="3119843404577399036">"<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>
@@ -3538,8 +3619,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"අවසන්"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"වැදගත්කම"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"නිවී නිවී දැල්වෙන එළිය"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"කම්පනය"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"කම්පනය"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"හඬ"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"වැදගත්"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"මුල් පිටුවට එක් කරන්න"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"මකන්න"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"නැවත නම් කරන්න"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"කාල සටහන් නම"</string>
@@ -3593,6 +3676,10 @@
       <item quantity="one">තවත් <xliff:g id="NUM_PEOPLE">%d</xliff:g></item>
       <item quantity="other">තවත් <xliff:g id="NUM_PEOPLE">%d</xliff:g></item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"සංවාද"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"සියලු සංවාද වෙතින්"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"වැදගත් සම්බන්ධතා වෙතින්"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"කිසිදු සංවාදයකට ඉඩ නොදෙන්න"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"පණිවිඩ ඉඩ දෙන්න"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"අවසර දුන් පණිවුඩ ශබ්ද නැඟීම තහවුරු කිරීමට, ඔබේ උපාංගය නාද වීමට, කම්පා වීමට, හෝ නිහඬ වීමට සකසා තිබේදැයි පරීක්‍ෂා කරන්න."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"‘<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>’ සඳහා එන පණිවිඩ අවහිර වේ. ඔබට ඔබේ මිතුරන්, පවුලේ අය හෝ වෙනත් සම්බන්ධතාවලට ඔබ කරා ළඟා වීමට ඉඩ දීමට සැකසීම් සීරුමාරු කළ හැකිය."</string>
@@ -3606,15 +3693,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"කිසිවක් නැත"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"කිසිදු ඇමතුමකට ඉඩ නොදෙන්න"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"කිසිදු පණිවිඩයකට ඉඩ නොදෙන්න"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"එලාම ඉඩ දෙන්න"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"ඇඟවීම්"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"කාල ගණක, එලාම, ආරක්ෂක පද්ධති සහ වෙනත් යෙදුම් වෙතින්"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"එලාම"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"මාධ්‍ය ශබ්ද වාදන කරන්න"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"මාධ්‍ය ශබ්ද"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"වීඩියෝ, ක්‍රීඩා සහ වෙනත් මාධ්‍ය වෙතින්"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"මාධ්‍ය"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"ස්පර්ශ ශබ්දවලට ඉඩ දෙන්න"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"ස්පර්ශ ශබ්ද"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"ඔබගේ යතුරුපුවරුව සහ වෙනත් බොත්තම් වෙතින්"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"ස්පර්ශ ශබ්ද"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"සිහිකැඳවීම් ඉඩ දෙන්න"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"සිහිකැඳවීම්"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"කාර්ය සහ සිහිකැඳවීම් වෙතින්"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"සිහි කැඳවීම්"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"සිදුවීම් ඉඩ දෙන්න"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"සිදුවීම්"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"ඉදිරියට එන දින දර්ශන සිදුවීම් වෙතින්"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"ප්‍රතික්ෂේප කිරිමට යෙදුම්වලට ඉඩ දෙන්න"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"යෙදුම් ව්‍යතිරේක"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3657,6 +3749,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"තිරය මත බාධා නොකරන්න ක්‍රියාත්මක කිරීමෙන් දැනුම්දීම් නිහඬ කරන්න"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"දැනුම්දීම් සැකසීම්"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"හරි"</string>
+    <string name="suggestion_button_close" msgid="6865170855573283759">"වසන්න"</string>
     <string name="device_feedback" msgid="5351614458411688608">"මෙම උපාංගය පිළිබඳ ප්‍රතිපෝෂණ යවන්න"</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"පරිපාලක PIN එක ඇතුල් කරන්න"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"ක්‍රියාත්මකයි"</string>
@@ -3667,6 +3760,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"ගැලවීමට පෙර PIN විමසන්න"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"ගැලවීමට පෙර මුරපදය විමසන්න"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"ගැලවීමට උපාංගය අගුළු දමා ඇත"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"SIM අනාවරණය තහවුරු කරන්න"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"බාගත් SIM එකක් මකා දැමීමට පෙර ඒ ඔබ බව සත්‍යාපනය කරන්න"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"මෙම කාර්යාල පැතිකඩ කළමනාකරණය කරන්නේ:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"<xliff:g id="ADMIN_APP_LABEL">%s</xliff:g> විසින් කළමනාකරණය කරන ලදී"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(පරීක්ෂණාත්මක)"</string>
@@ -3741,8 +3836,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"සියලු යෙදුම්"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"ස්ථාපිත යෙදුම්"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"ක්ෂණික යෙදුම්"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"පුද්ගලික"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"කාර්යාලය"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"යෙදුම්: සියල්ල"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"ක්‍රියාවිරහිතයි"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"ප්‍රවර්ග: හදිසි වැදගත්කම"</string>
@@ -3754,6 +3847,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"නොදන්නා යෙදුම"</string>
     <string name="app_permissions" msgid="8666537659217653626">"අවසර කළමනාකරු"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"<xliff:g id="APPS">%1$s</xliff:g> භාවිතා කරන යෙදුම්"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"<xliff:g id="APPS">%1$s</xliff:g> සහ තවත් දේවල් භාවිත කරන යෙදුම්"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"අවදි කිරීමට තට්ටු කරන්න"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"උපාංගය අවදි කිරීමට තිරයේ ඕනෑම තැනක මත දෙපාරක් තට්ටු කරන්න"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"සබැඳි විවෘත කිරීම"</string>
@@ -3765,9 +3859,14 @@
       <item quantity="one">සහය දක්වන සබැඳි විවෘත කරන යෙදුම් <xliff:g id="COUNT">%d</xliff:g>ක්</item>
       <item quantity="other">සහය දක්වන සබැඳි විවෘත කරන යෙදුම් <xliff:g id="COUNT">%d</xliff:g>ක්</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"මෙම යෙදුම තුළ විවෘත කරන්න"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"සහාය දක්වන සබැඳි විවෘත කිරීමට යෙදුමට ඉඩ දෙන්න"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"සෑම විටම අසන්න"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"මෙම යෙදුම තුළ විවෘත නොකරන්න"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"සබැඳි විවෘත කිරීමට යෙදුමට ඉඩ නොදෙන්න"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="one">සබැඳි <xliff:g id="COUNT_1">%d</xliff:g>ක් හැසිරවීමට යෙදුම් හිමිකම් පෑම්</item>
+      <item quantity="other">සබැඳි <xliff:g id="COUNT_1">%d</xliff:g>ක් හැසිරවීමට යෙදුම් හිමිකම් පෑම්</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"පහත සබැඳි හැසිරවීමට යෙදුම් හිමිකම් පෑම්:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"පෙරනිමි"</string>
     <string name="default_for_work" msgid="537558180548617528">"වැඩ සඳහා පෙරනිමි"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"සහාය සහ හඬ ආදානය"</string>
@@ -3911,8 +4010,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"වෙනත් යෙදුම් උඩින් පෙන්වන්න"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"වෙනත් යෙදුම් උඩින් පෙන්වීමට අවසර දෙන්න"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"මෙම යෙදුමට ඔබ භාවිත කරන වෙනත් යෙදුම්වලට ඉහළින්ම සංදර්ශනය වීමට ඉඩ දෙන්න. එය ඔබේ එම යෙදුම් භාවිතය හෝ ඒවා පෙනෙන හෝ හැසිරෙන ආකාරය වෙත අවහිර කිරීමට හැකිය."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"සියලු ගොනු ප්‍රවේශය"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"සියලු ගොනු කළමනාකරණය කිරීමට ප්‍රවේශය ඉඩ දෙන්න"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"මෙම යෙදුමට මෙම උපාංගයේ හෝ ඕනෑම සබැඳුණු ගබඩා ධාරිතාවක ඇති සියලු ගොනු කියවීමට, වෙනස් කිරීමට සහ මැකීමට ඉඩ දෙන්න. ප්‍රදානය කළහොත්, ඔබේ ප්‍රකාශිත දැනුම රහිතව යෙදුමට ගොනු වෙත ප්‍රවේශ විය හැකිය."</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"සියලු ගොනු වෙත ප්‍රවේශ විය හැකිය"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"vr අතථ්‍ය තථ්‍ය සවන් දෙන්නා ස්ටීරියෝ උදවුකරු සේවාව"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"පද්ධති ඇඟවීම් කවුළු සංවාදය අනෙක් යෙදුම් උඩින් පෙන්වීම"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"වෙනත් යෙදුම් උඩින් පෙන්වන්න"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"යෙදුම් <xliff:g id="COUNT_1">%2$d</xliff:g>කින් <xliff:g id="COUNT_0">%1$d</xliff:g> කට වෙනත් යෙදුම් උඩින් පෙන්වන්න අවසර ඇත"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"අවසරය ඇති යෙදුම්"</string>
@@ -4078,6 +4180,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"<xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g> භාවිත කරන ලදී"</string>
     <string name="data_overusage" msgid="3680477320458707259">"<xliff:g id="ID_1">^1</xliff:g> අවසන්ය"</string>
     <string name="data_remaining" msgid="6316251496381922837">"<xliff:g id="ID_1">^1</xliff:g>ක් ඉතිරිය"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"<xliff:g id="START_DATE">%1$s</xliff:g> සහ <xliff:g id="END_DATE">%2$s</xliff:g> අතර දත්ත භාවිතය පෙන්වන ප්‍රස්තාරය."</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"මෙම දින පරාසය තුළ දත්ත නැත"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="one">දින %dක් ඉතිරිව ඇත</item>
       <item quantity="other">දින %dක් ඉතිරිව ඇත</item>
@@ -4141,14 +4245,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"පාර්සල තරම"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"දැනුම්දීම අඟවනු ලැබුවේය"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"හඬ"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"කම්පනය"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"රටාව"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"පෙරනිමි"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"නාලිකාව"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"කිසිවක් නැත"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"ශ්‍රේණිගත කිරීමේ වස්තුව අස්ථානගතයි."</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"ශ්‍රේණිගත කිරීමේ වස්තුවේ මෙම යතුර අඩංගු නොවේ."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"තේමා යෙදීම"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"උපාංගයේ පෙරනිමිය"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"සංදර්ශක කට්අවුට්"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"සංදර්ශක කටවුට්, නොච්"</string>
@@ -4237,8 +4337,12 @@
     <string name="information_label" msgid="6939310810756569298">"තොරතුරු"</string>
     <string name="low_label" msgid="6525629096999711220">"අඩු"</string>
     <string name="high_label" msgid="357503396626018487">"වැඩි"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"වඩා ඉහළ සංවේදීතාව තිරයෙහි මායිම් දිගේ යම් යෙදුම් ඉංගිත සමග ගැටීමට හැකිය."</string>
+    <string name="left_edge" msgid="1513576842959071849">"වම් මායිම"</string>
+    <string name="right_edge" msgid="1505309103265829121">"දකුණු මායිම"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"වඩා ඉහළ සංවේදීතාව තිරයෙහි මායිම් දිගේ යම් යෙදුම් ඉංගිත සමග ගැටීමට හැකිය."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"පසු සංවේදීතාව"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"ඉංගිත සැකසීම්"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"ඉංගිත සංචාලනය, පසු සංවේදීතාව, පසු ඉංගිතය"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"දුරකථනය පරීක්ෂා කිරීමට දෙවරක් තට්ටු කරන්න"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"ටැබ්ලට් පරිගණකය පරීක්ෂා කිරීමට දෙවරක් තට්ටු කරන්න"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"උපාංගය පරීක්ෂා කිරීමට දෙවරක් තට්ටු කරන්න"</string>
@@ -4393,7 +4497,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"උත්ප්‍රේරක වාහක ප්‍රතිපාදන"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"බාධා නොකරන්න යාවත්කාලීන කරන්න"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"අවධානය යොමු කිරීම සඳහා දැනුම්දීම් විරාම කරන්න"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"මෙම අංගය මෙම උපාංගයේ ලබා ගත නොහැක"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"විශේෂාංගය නොලැබේ"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"මෙම විශේෂාංගය ඔබේ දුරකථනය මන්දගාමී කරන බැවින් මෙය අක්‍රිය කර ඇත"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"සම්පූර්ණ GNSS මිනුම් බලාත්මක කරන්න"</string>
@@ -4403,20 +4506,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"ANGLE සබල යෙදුමක් තෝරන්න"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"ANGLE සබල යෙදුමක් සකසා නැත"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"ANGLE සබල යෙදුම: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"ක්‍රීඩා ධාවක මනාප"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"ක්‍රීඩා ධාවක සැකසීම් වෙනස් කරන්න"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"ක්‍රීඩා ධාවකය ක්‍රියාත්මක විට, ඔබට උපාංගයෙහි ස්ථාපිත කර ඇති යෙදුම් සඳහා යාවත්කාලීන ග්‍රැෆික් ධාවකය භාවිතා කිරීමට තෝරා ගත හැකිය."</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"සියලුම යෙදුම් සඳහා සබල කරන්න"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"ග්‍රැෆික් ධාවකය තෝරන්න"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"පෙරනිමි"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"ක්‍රීඩා ධාවකය"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"Prerelease Driver"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"පද්ධති ග්‍රැෆික් ධාවකය"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"ග්‍රැෆික් ධාවක මනාප"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"ග්‍රැෆික් ධාවක සැකසීම් වෙනස් කරන්න"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"ග්‍රැෆික් ධාවක කීපයක් ඇති විට, ඔබට උපාංගයේ ස්ථාපනය කළ යාවත්කාලීන කළ ග්‍රැෆික් ධාවකය තෝරා ගත හැකිය."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"සියලුම යෙදුම් සඳහා සබල කරන්න"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"ග්‍රැෆික් ධාවකය තෝරන්න"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"පෙරනිමි"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"ක්‍රීඩා ධාවකය"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"සංවර්ධක ධාවකය"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"පද්ධති ග්‍රැෆික් ධාවකය"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"යෙදුම් ගැළපෙන බවේ වෙනස් කිරීම්"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"යෙදුම් ගැළපෙන බව පිළිබඳ වෙනස් කිරීම් ටොගල් කරන්න"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"පෙරනිමි සබල කළ වෙනස් කිරීම්"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"පෙරනිමි අබල කළ වෙනස් කිරීම්"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"මෙම දුරකථනය සැකසීමට සහාය නොදක්වයි"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"මෙම ටැබ්ලට් උපාංගය සැකසීමට සහාය නොදක්වයි."</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"මෙම උපාංගය සැකසීමට සහාය නොදක්වයි"</string>
@@ -4435,6 +4544,12 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"උපාංගය"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"ඇමතුම් අතරතුර නොපවතී"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"නොතිබේ"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"ප්‍රතිදාන එක් කරන්න"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"සමූහය"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"උපාංග 1ක් තෝරන ලදී"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"උපාංග <xliff:g id="COUNT">%1$d</xliff:g>ක් තෝරන ලදී"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"ඇමතුම ගැනීම ක්‍රියාත්මකයි"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"මෙම APN වෙනස් කළ නොහැක."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"ටැබ්ලටයේ බැටරි ආයු කාලය වැඩි දියුණු කරන්න"</string>
@@ -4552,10 +4667,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"එක වේලාවකට බාගත් SIM එකක් පමණක් ක්‍රියාත්මක විය හැක.\n\n<xliff:g id="CARRIER1">%1$s</xliff:g> වෙත මාරු වීම ඔබේ <xliff:g id="CARRIER2">%2$s</xliff:g> සේවය අවසන් නොකරයි."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"<xliff:g id="CARRIER">%1$s</xliff:g> වෙත මාරු වන්න"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"SIM පත මකන්න"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"මෙම බාගත් SIM පත මකන්නේද?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"මෙම SIM පත මැකීම මෙම උපාංගයෙන් <xliff:g id="CARRIER_0">%1$s</xliff:g> සේවය ඉවත් කරයි.\n\n<xliff:g id="CARRIER_1">%2$s</xliff:g> සඳහා වන සේවය අවලංගු නොකෙරේ."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"මැකීම"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"SIM මැකේ…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"SIM පත මැකිය නොහැක"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"දෝෂයක් හේතුවෙන් මෙම SIM පත මැකිය නොහැක.\n\nඔබේ උපාංගය යළි අරඹා නැවත උත්සාහ කරන්න."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"ප්‍රියකරන ජාල වර්ගය"</string>
@@ -4580,7 +4691,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"වලංගු නොවන ජාල ප්‍රකාරය <xliff:g id="NETWORKMODEID">%1$d</xliff:g> . නොසලකා හරින්න."</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"ප්‍රවේශ ලක්ෂ්‍ය නම්"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"<xliff:g id="CARRIER">%1$s</xliff:g> වෙත සම්බන්ධ වූ විට නොමැත"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"වෛද්‍ය තොරතුරු, හසිදි අවස්ථා සම්බන්ධතා"</string>
     <string name="see_more" msgid="7499355691042812723">"තව බලන්න"</string>
     <string name="see_less" msgid="2642392725363552793">"අඩුවෙන් බලන්න"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"<xliff:g id="APPNAME">%1$s</xliff:g> සමඟ භාවිත කළ යුතු උපාංගය"</string>
@@ -4589,11 +4699,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"යම් දෙයක් ඇත. යෙදුම උපාංගයක් තේරීමට කළ ඉල්ලීම අවලංගු කර ඇත."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"සම්බන්ධතාව සාර්ථකයි"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"සියල්ල පෙන්වන්න"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="one">උපාංග <xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g>ක් සම්බන්ධිතය</item>
-      <item quantity="other">උපාංග <xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g>ක් සම්බන්ධිතය</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"බ්ලූටූත් උපාංග නැත"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"උපාංගය සඳහා සොයමින්…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"උපාංගය වෙත සම්බන්ධ වෙමින්…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"වම"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"දකුණ"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"කේස්"</string>
@@ -4603,6 +4710,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"ගුවන් යානා ප්‍රකාරයේදී නොලැබේ"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"වැඩතල ප්‍රකාරය බල කරන්න"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"ද්විතීයික සංදර්ශන කෙරෙහි අත්හදා බැලීමේ වැඩතල ප්‍රකාරය බල කරන්න"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"නිදහස් ආකෘති සංගත තරම සබල කරන්න"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"sizecompat යෙදුම්වලට නිදහස් ආකෘතියෙන් තිබීමට ඉඩ දෙන්න"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"force-dark ප්‍රතික්ෂේප කරන්න"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"force-dark විශේෂාංගය සැම විට ක්‍රියාත්මකව තිබීමට ප්‍රතික්ෂේප කරයි"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"රහස්‍යතාව"</string>
@@ -4639,6 +4748,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"ඔබ මෑතකදී මෙම යෙදුම ස්ථාපිත කළා."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"ප්‍රතිදාන මාරු කරන්න"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"දැනට <xliff:g id="DEVICE_NAME">%1$s</xliff:g> මත වාදන කෙරෙන"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (විසන්ධි විය)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"මාරු කිරීමට නොහැකිය. නැවත උත්සාහ කිරීමට තට්ටු කරන්න."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"වැදගත් තොරතුරු"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"ඉදිරියට"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"එපා, ස්තුතියි"</string>
@@ -4666,8 +4777,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"SIM සංකලනය"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"ඔබේ කාර්යාල ප්‍රතිපත්ති තතු"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"ඔබගේ IT පරිපාලක විසින් කළමනාකරණය කරන සැකසීම්"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"දෝෂ වාර්තා හසුරුවනය"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"ඔබේ උපාංගයේ දෝෂ වර්තා කෙටිමග හසුරුවන්නේ කුමන යෙදුමදැයි තීරණය කරයි."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"පුද්ගලික"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"කාර්යාලය"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"පද්ධති පෙරනිමිය"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"මෙම තෝරා ගැනීම තව දුරටත් වලංගු නැත. නැවත උත්සාහ කරන්න."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"විකාශය නවතන්න"</string>
 </resources>
diff --git a/res/values-sk/arrays.xml b/res/values-sk/arrays.xml
index 639e8fa..24d7fb6 100644
--- a/res/values-sk/arrays.xml
+++ b/res/values-sk/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"Okamžite"</item>
     <item msgid="463591454172790676">"5 sekúnd"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"Neoverovať"</item>
+    <item msgid="5703177653586269306">"Požiadať o stav certifikátu"</item>
+    <item msgid="326388247868439528">"Vyžadovať stav certifikátu"</item>
+    <item msgid="1090956283885790552">"Vyžadovať stavy všetkých nedôveryhodných certifikátov"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"Stlačenie tlačidla"</item>
     <item msgid="2630618799033509548">"PIN zo zdieľaného zariadenia"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"Žiadne"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"IPSec VPN s predzdieľanými kľúčmi a overením Xauth"</item>
     <item msgid="2484564813864139237">"IPSec VPN s certifikátmi a overením Xauth"</item>
     <item msgid="68918911194507915">"IPSec VPN s certifikátmi a hybridným overením"</item>
+    <item msgid="4631647675167100375">"VPN IKEv2/IPSec s certifikátmi a overením používateľského mena a hesla"</item>
+    <item msgid="8812228622975052811">"VPN IKEv2/IPSec s predzdieľanými kľúčmi"</item>
+    <item msgid="6630554779981113046">"VPN IKEv2/IPSec s certifikátmi"</item>
   </string-array>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"Žiadny"</item>
diff --git a/res/values-sk/config.xml b/res/values-sk/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-sk/config.xml
+++ b/res/values-sk/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 1fc91c9..08f7802 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -33,49 +33,17 @@
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Najprv povoľte možnosti pre vývojárov"</string>
     <string name="header_category_wireless_networks" msgid="303445626075235229">"Bezdrôtové pripojenia a siete"</string>
     <string name="header_category_system" msgid="1665516346845259058">"Systém"</string>
-    <string name="radio_info_data_connection_enable" msgid="7500945447906187613">"Povoliť dátové pripojenie"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"Zakázať dátové pripojenie"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"Poskytované VoLTE"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"Poskytované videohovory"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"Poskytované volanie cez Wi‑Fi"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"Zaistenie EAB/Presence"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"Údaje CBRS"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"Aktivovať DSDS"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"Chcete zariadenie reštartovať?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"Ak chcete zmeniť nastavenie, musíte reštartovať zariadenie."</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"Reštartovať"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"Zrušiť"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"Sila signálu GSM"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"Zobraziť adresár SIM karty"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"Zobraziť povolené čísla"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"Zobraziť čísla volaní služieb"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"Stav služby IMS"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"Stav IMS"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"Registrované"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"Nezaregistrované"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"K dispozícii"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"Nie je k dispozícii"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"Registrácia IMS: <xliff:g id="STATUS">%1$s</xliff:g>\nHlas cez LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nHlas cez Wi‑Fi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideohovory: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nRozhranie UT: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"V prevádzke"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Mimo prevádzky"</string>
     <string name="radioInfo_service_emergency" msgid="6838935881091760942">"Len tiesňové volania"</string>
     <string name="radioInfo_service_off" msgid="6184928420860868571">"Rádio je vypnuté"</string>
     <string name="radioInfo_roaming_in" msgid="8892550453644088692">"Roaming"</string>
     <string name="radioInfo_roaming_not" msgid="3137594549464975054">"Bez roamingu"</string>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"Nečinný"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"Vyzváňanie"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"Prebieha hovor"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"Odpojený"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"Pripája sa"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"Pripojené"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Pozastavená"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Neznáme"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"pakety"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"B"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"Odpoj. uklad. priestor USB"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"Odpojiť SD kartu"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"Vymazať ukladací priestor USB"</string>
@@ -85,7 +53,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"Zväčšite alebo zmenšite text na obrazovke."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Zmenšiť"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Zväčšiť"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"Ukážkový text"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"Čarodejník z krajiny Oz"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"11. kapitola: Nádherné smaragdové mesto"</string>
@@ -176,9 +143,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"Ak chcete zmeniť nastavenie, musíte reštartovať zariadenie."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"Reštartovať"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"Zrušiť"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"Dostupné mediálne zariadenia"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"Dostupné telefonické zariadenia"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"Aktuálne pripojené"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"Mediálne zariadenia"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"Zariadenia na telefonovanie"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"Iné zariadenia"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Uložené zariadenia"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Zapne sa Bluetooth s cieľom párovania"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Nastavenia pripojenia"</string>
@@ -211,46 +178,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"Zadaný port nie je platný."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"Prehliadač používa proxy server protokolu HTTP, ale ostatné aplikácie ho používať nemusia."</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"Webová adresa PAC: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"Aktuálny podradený identifikátor:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"Podradený identifikátor predvolenej dátovej SIM karty:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"Rýchlosť pripojenia DL (kb/s):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"Rýchlosť pripojenia UL (kb/s):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"Informácie o polohe mobilnej siete (podpora bola ukončená):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"Konfigurácia fyzického kanála LTE:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"Interval obnovenia informácií o mobilnej sieti:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"Všetky údaje o meraní mobilnej siete:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"Dátová služba:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"Roaming:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"Presmerovanie hovoru:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"Počet obnovení protokolu PPP od spustenia:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"Aktuálna sieť:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"Prijaté dáta:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"Hlasová služba:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"Sila signálu:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"Stav hlasového hovoru:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"Odoslané dáta:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"Čakajúca správa:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"Telefónne číslo:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"Vybrať pásmo rádia"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"Typ hlasovej siete:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"Typ dátovej siete:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"Vybrať index telefónu"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"Nastaviť preferovaný typ siete:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"Testovať dostupnosť domény (www.google.com) IPv4:"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"Testovať dostupnosť domény (www.google.com) IPv6:"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"Test klienta HTTP:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"Spustiť testovanie dostupnosti (ping)"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"Aktualizovať"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"Obnoviť"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"Prepnúť kontrolu DNS"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"Informácie a nastavenia špecifické pre výrobcu OEM"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"Nastaviť režim rádiového pásma"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"Načítava sa zoznam pásiem…"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"Nastaviť"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"Neúspešné"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"Úspešné"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"Zmena sa prejaví pri ďalšom pripojení kábla USB."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"Povoliť veľkokapacitné pamäťové zariadenie USB"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"Celková kapacita (bajty):"</string>
@@ -289,10 +220,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"Presunúť na koniec"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"Odstrániť jazyk"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"Zvoliť aktivitu"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"Informácie o zariadení"</string>
     <string name="display_label" msgid="3056320781191343221">"Obrazovka"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"Informácie o tablete"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"Informácie o telefóne"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"Ukladací priestor USB"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"SD karta"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"Nastavenia servera proxy"</string>
@@ -310,9 +238,6 @@
     <string name="airplane_mode" msgid="3196085857882526817">"Režim v lietadle"</string>
     <string name="wireless_networks_settings_title" msgid="8557542379234105369">"Bezdrôtové pripojenia a siete"</string>
     <string name="radio_controls_summary" msgid="9028430178697624501">"Spravovať Wi‑Fi, Bluetooth, režim v lietadle, mobilné siete a siete VPN"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"Mobilné dáta"</string>
-    <string name="calls_title" msgid="6334813967619899114">"Povoliť hovory"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"Správy SMS"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"Povoliť využitie dát cez mobilnú sieť"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"Povoliť využ. dát pri roamingu"</string>
     <string name="roaming" msgid="3055365654530847985">"Roaming"</string>
@@ -320,9 +245,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"Pripájať sa k dátovým službám pri roamingu"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"Dátové pripojenie bolo prerušené, pretože ste opustili domovskú sieť a máte vypnutý dátový roaming."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"Zapnúť"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"Môžu sa vám účtovať nemalé poplatky."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"Ak povolíte dátový roaming, môžu sa vám účtovať nemalé poplatky za roaming!\n\nToto nastavenie ovplyvní všetkých používateľov tohto tabletu."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"Ak povolíte dátový roaming, môžu sa vám účtovať nemalé poplatky za roaming!\n\nToto nastavenie ovplyvní všetkých používateľov tohto telefónu."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"Môžu sa účtovať poplatky za roaming."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"Keď povolíte dátový roaming, môžu sa zaň účtovať poplatky.\n\nToto nastavenie platí pre všetkých používateľov tohto tabletu."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"Keď povolíte dátový roaming, môžu sa zaň účtovať poplatky.\n\nToto nastavenie platí pre všetkých používateľov tohto telefónu."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"Povoliť dátový roaming?"</string>
     <string name="networks" msgid="5184501333492775095">"Výber operátora"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"Zvoliť sieťového operátora"</string>
@@ -363,8 +288,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"Zakázané správcom"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"Zobraziť možnosti uzamknutia"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"Zobrazenie vypínača, ktorý vypína Smart Lock, biometrické odomykanie a upozornenia na uzamknutej obrazovke"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"Agenty dôvery predĺžia iba odomknutie"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"Ak túto možnosť povolíte, agenty dôvery ponechajú vaše zariadenie dlhšie odomknuté, ale už nebudú môcť odomknúť uzamknuté zariadenie."</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"Uzamknutie obrazovky v prípade straty dôveryhodnosti"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"Po aktivácii umožňuje zariadeniu uzamknúť sa, keď posledný agent dôvery stratí dôveryhodnosť"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"Žiadne"</string>
@@ -396,7 +319,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"Moja poloha, odomknutie obrazovky, zámok SIM, zámok úložiska poverení"</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"Nastavenie funkcie Moje poloha, odomknutie obrazovky a zamknutie úložiska poverení"</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"Ochrana súkromia"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"Zakázané správcom"</string>
+    <string name="disabled_by_administrator_summary" msgid="5424846182313851124">"Nie je k dispozícii"</string>
     <string name="security_status_title" msgid="6958004275337618656">"Stav zabezpečenia"</string>
     <string name="security_dashboard_summary_face" msgid="4198949293847206382">"Zámka obrazovky, odomknutie tvárou"</string>
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Zámka obrazovky, odtlačok prsta"</string>
@@ -709,7 +632,6 @@
       <item quantity="other">Musí mať menej ako <xliff:g id="NUMBER_1">%d</xliff:g> číslic</item>
       <item quantity="one">Musí mať menej ako <xliff:g id="NUMBER_0">%d</xliff:g> číslicu</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"Musí obsahovať len číslice 0 až 9"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"Správca zariadenia neumožňuje používať nedávny kód PIN"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"Bežné kódy PIN zablokoval váš správca IT. Skúste iný PIN."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"Musí obsahovať iba platné znaky"</string>
@@ -752,6 +674,12 @@
       <item quantity="other">Musí obsahovať aspoň <xliff:g id="COUNT">%d</xliff:g> znakov, ktoré nie sú písmená</item>
       <item quantity="one">Musí obsahovať aspoň 1 znak, ktorý nie je písmeno</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="few">Musí obsahovať aspoň <xliff:g id="COUNT">%d</xliff:g> znaky, ktoré nie sú číslice</item>
+      <item quantity="many">Musí obsahovať aspoň <xliff:g id="COUNT">%d</xliff:g> znakov, ktoré nie sú číslice</item>
+      <item quantity="other">Musí obsahovať aspoň <xliff:g id="COUNT">%d</xliff:g> znakov, ktoré nie sú číslice</item>
+      <item quantity="one">Musí obsahovať aspoň jeden znak, ktorý nie je číslica</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"Správca zariadenia neumožňuje používať nedávne heslo"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"Bežné heslá zablokoval váš správca IT. Skúste iné heslo."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"Vzostupná, zostupná alebo opakovaná sekvencia čísiel nie je povolená"</string>
@@ -869,19 +797,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2,4 GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"Prihlásiť sa"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"Otvoriť web"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"Zostáva <xliff:g id="REMAINING_TIME">%1$s</xliff:g>"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"Platí do <xliff:g id="EXPIRY_TIME">%1$s</xliff:g>"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"Klepnite tu a prihláste sa tak do siete"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Mb/s"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Mb/s"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Mb/s"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"<xliff:g id="REQUESTER">%s</xliff:g> chce zapnúť Wi‑Fi"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"<xliff:g id="REQUESTER">%s</xliff:g> chce vypnúť Wi‑Fi"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"Overovať bajtkód laditeľných aplikácií"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Povoliť nástroju ART overovať bajtkód laditeľných aplikácií"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"Zobraziť frekv. obnovenia"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Zobraziť aktuálnu frekvenciu obnovenia obrazovky"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"Povoliť výmenu dát, ak sa tablet dotýka iného zariadenia"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"Povoliť výmenu dát, ak sa telefón dotýka iného zariadenia"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"Výmena dát je možná, keď sa tablet dotýka zariadenia NFC"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"Výmena dát je možná, keď sa telefón dotýka zariadenia NFC"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"Zapnutie NFC"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"NFC posiela dáta medzi týmto zariadením a ďalšími zariadeniami alebo cieľmi v okolí, ako sú platobné terminály, čítačky prístupových médií a interaktívne reklamy alebo značky."</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"Zabezpečiť technológiu NFC"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Vyžadovať odomknutie zariadenia pre NFC"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"Povoliť platbu pomocou technológie NFC a použitie pre verejnú dopravu iba na odomknutej obrazovke"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"Pripravené na prenos obsahu aplikácie prostredníctvom NFC"</string>
@@ -955,8 +889,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Zapnúť"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Vyhľadávanie sietí Wi‑Fi je zapnuté"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Rozšírené možnosti"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"Rozbaľovací zoznam Rozšírené možnosti. Zbalíte ho dvojitým klepnutím."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"Rozbaľovací zoznam Rozšírené možnosti. Rozbalíte ho dvojitým klepnutím."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Rozbaľovací zoznam Pokročilé možnosti"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"rozbaliť"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"Názov siete"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"Zadajte SSID"</string>
     <string name="wifi_security" msgid="9095934643631406913">"Zabezpečenie"</string>
@@ -966,6 +900,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"Stav"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"Rýchlosť prenosu dát"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"Rýchlosť pripojenia (prijímanie)"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"Rýchlosť pripojenia"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"Frekvencia"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"Adresa IP"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"Uložené prostredníctvom siete"</string>
@@ -973,6 +908,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"Metóda EAP"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"Overenie – 2. fáza"</string>
     <string name="wifi_eap_ca_cert" msgid="8033404008276298886">"Certifikát CA"</string>
+    <string name="wifi_eap_ocsp" msgid="8713933962516871238">"Stav online certifikátu"</string>
     <string name="wifi_eap_domain" msgid="8304301470752333203">"Doména"</string>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"Certifikát používateľa"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"Identita"</string>
@@ -989,6 +925,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"Vyberte aspoň jedno pásmo pre hotspot Wi-Fi:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"Nastavenia adresy IP"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"Ochrana súkromia"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"Odber"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"Zobrazenie alebo zmena odberu"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"Randomizovaná adresa MAC"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"Pridanie zariadenia"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"Ak chcete pridať zariadenie do siete <xliff:g id="SSID">%1$s</xliff:g>, vycentrujte QR kód nižšie"</string>
@@ -998,12 +936,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"Zdieľanie Wi‑Fi"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"Ak sa chcete pripojiť k sieti <xliff:g id="SSID">%1$s</xliff:g> a zdieľať heslo, naskenujte tento QR kód"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"Ak sa chcete pripojiť k sieti <xliff:g id="SSID">%1$s</xliff:g>, naskenujte tento QR kód"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"QR kód sa nepodarilo prečítať. Opätovne ho vycentrujte a skúste to znova."</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"Skúste to znova. Ak problém pretrváva, kontaktujte výrobcu zariadenia."</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"Vyskytol sa problém"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"Uistite, sa či je zariadenie zapojené do zásuvky, nabité a zapnuté"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"Uistite, sa či je zariadenie zapojené do zásuvky, nabité a zapnuté. Ak problém pretrváva, kontaktujte výrobcu zariadenia."</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"Toto zariadenie nepodporuje pridanie siete <xliff:g id="SSID">%1$s</xliff:g>"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"Skúste presunúť zariadenie bližšie k prístupovému bodu Wi-Fi alebo smerovaču"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"Skontrolujte heslo a skúste to znova"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"Kontaktujte výrobcu zariadenia"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"Skontrolujte pripojenie a skúste to znova"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"Výber siete"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"Ak chcete pripojiť svoje zariadenie, vyberte sieť"</string>
@@ -1016,11 +956,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"S týmto zariadením sa zdieľa pripojenie Wi‑Fi…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"Pripája sa…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"Zdieľať hotspot"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"Ste to vy?"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"Overenie vašej totožnosti"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"Heslo siete Wi‑Fi: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"Heslo hotspotu: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"Automaticky pripájať"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"Povoľte automatické pripájanie telefónu v blízkosti tejto siete"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"Povoľte automatické pripájanie tabletu v blízkosti tejto siete"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"Pridať zariadenie"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"Pridajte zariadenie do tejto siete pomocou QR kódu"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"QR kód nie je platný formát"</string>
     <string name="retry" msgid="7542103800274026915">"Skúsiť znova"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"Zdieľať s ostatnými používateľmi zariadenia"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(nezmenené)"</string>
@@ -1032,6 +976,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"Nebol určený žiadny certifikát. Vaše pripojenie nebude súkromné."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"Názov siete je príliš dlhý."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"Je potrebné zadať doménu."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"Vyžaduje sa certifikát."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"WPS je k dispozícii"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (WPS je k dispozícii)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"Sieť Wi‑Fi operátora"</string>
@@ -1089,7 +1034,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"Wi‑Fi, rozšírené"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"Adresa MAC"</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_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>
@@ -1141,7 +1087,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"Použite hotspot na vytvorenie siete Wi‑Fi pre ostatné zariadenia. Hotspot poskytuje internet pomocou mobilného dátového pripojenia. Môžu vám byť účtované ďalšie poplatky za mobilné dáta."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"Aplikácie tiež môžu vytvoriť hostpot na zdieľanie obsahu so zariadeniami v okolí."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Automatické vypínanie hotspotu"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"Ak nebudú pripojené žiadne zariadenia, hotspot Wi‑Fi sa vypne"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Keď nie sú pripojené žiadne zariadenia"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"Prebieha zapínanie hotspotu..."</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"Prebieha vypínanie hotspotu..."</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"Sieť <xliff:g id="NETWORK_SSID">%1$s</xliff:g> je aktívna"</string>
@@ -1150,6 +1096,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"Nastavenie hotspotu Wi‑Fi"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"Hotspot AndroidAP WPA2 PSK"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"AndroidHotspot"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"Chcete túto sieť uložiť?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"<xliff:g id="APPNAME">%1$s</xliff:g> chce uložiť sieť do vášho telefónu"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"<xliff:g id="APPNAME">%1$s</xliff:g> chce uložiť sieť do vášho tabletu"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"Ukladá sa…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"Uložené"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"Nie je možné uložiť. Skúste to znova."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"Chcete uložiť siete?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"<xliff:g id="APPNAME">%1$s</xliff:g> chce uložiť tieto siete do vášho telefónu"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"<xliff:g id="APPNAME">%1$s</xliff:g> chce uložiť tieto siete do vášho tabletu"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"Ukladajú sa siete (<xliff:g id="NUMBER">%d</xliff:g>)…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"Siete boli uložené"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"Volanie cez Wi‑Fi"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"Rozšírte hovory pomocou volania cez Wi‑Fi"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"Zapnutie volania cez Wi‑Fi na rozšírenie dostupnosti"</string>
@@ -1176,16 +1133,18 @@
     <string name="emergency_address_title" msgid="3490633500025717573">"Tiesňová adresa"</string>
     <string name="emergency_address_summary" msgid="3022628750270626473">"Používa sa ako vaša poloha pri tiesňových volaniach cez Wi‑Fi"</string>
     <string name="private_dns_help_message" msgid="851221502063782306"><annotation id="url">"Ďalšie informácie"</annotation>" o funkciách súkromného režimu DNS"</string>
+    <string name="private_dns_mode_on" msgid="8878679071975375696">"Zapnuté"</string>
     <string name="wifi_calling_pref_managed_by_carrier" msgid="129524064888622179">"Nastavenie spravuje operátor"</string>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"Aktivujte volanie cez Wi-Fi"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"Zapnite volanie cez Wi-Fi"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"Operátor %1$s nepodporuje volanie cez Wi-Fi"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"Odpojené od siete <xliff:g id="SSID">%1$s</xliff:g>"</string>
     <string name="carrier" msgid="1755020806290963951">"Operátor"</string>
     <string name="display_settings_title" msgid="626835071804834218">"Obrazovka"</string>
     <string name="sound_settings" msgid="5514582720435174014">"Zvuk"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"Hlasitosti"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"Hudobné efekty"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"Hlasitosť zvonenia"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"Hlasitosť zvonenenia a upozornení"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"Vibrovať v tichom režime"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"Predvolený zvuk upozornenia"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"Tón zvonenia"</string>
@@ -1310,13 +1269,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"Plán"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"Žiadne"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"Zap. od západu do východu slnka"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"Zapne sa vo vybranom čase"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"Stav"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"Vypnuté / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"Nikdy sa automaticky nezapne"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"Zapne sa automaticky pri západe slnka"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"Zapne sa automaticky o <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"Zapnuté / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"Nikdy sa automaticky nevypne"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"Vypne sa automaticky pri východe slnka"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"Vypne sa automaticky o <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"Zapnúť do <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"Vypnúť do <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"Tmavý motív na niektorých obrazovkách používa čierne pozadie a predlžuje tak výdrž batérie. Plány tmavého motívu sa zapnú až po vypnutí obrazovky."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"Časový limit obrazovky"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"Vypnutie obrazovky"</string>
@@ -1328,7 +1292,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"Zmeniť tapetu"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"Prispôsobte si obrazovku"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"Vybrať tapetu"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"Prispôsobte si Pixel"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"Prispôsobenie telefónu"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"Vyskúšajte rôzne štýly, tapety atď."</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"Šetrič obrazovky"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Pri nabíjaní alebo v doku"</string>
@@ -1419,6 +1383,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"Odpojiť ukladací priestor USB a zobraziť dostupný ukladací priestor"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"Umožňuje odpojiť SD kartu a zobraziť dostupný ukladací priestor"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (%1$d. slot na SIM kartu)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"Zobrazte výberom uloženej siete"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"Telefónne číslo"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (%1$d. slot na SIM kartu)"</string>
@@ -1445,6 +1410,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"Roaming"</string>
     <string name="status_operator" msgid="4335640583552058491">"Sieť"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"Adresa MAC siete Wi‑Fi"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"Adresa MAC siete Wi‑Fi zariadenia"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"Adresa Bluetooth"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Sériové číslo"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Doba prevádzky"</string>
@@ -1657,6 +1623,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Predvolené nastavenia prístupových bodov boli obnovené"</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"Možnosti resetovania"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"Sieť, aplikácie a zariadenie sa dajú resetovať"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"Aplikácie sa dajú resetovať"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"Resetovať Wi‑Fi, dáta a Bluetooth"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"Touto akciou obnovíte nastavenia všetkých sietí vrátane\n\n"<li>"Wi‑Fi"</li>\n<li>"mobilnej siete"</li>\n<li>"siete Bluetooth"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"Vymazať stiahnuté SIM karty"</string>
@@ -1706,6 +1673,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"Hotspot je zapnutý"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"Zdieľané pripojenie"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"Keď je šetrič dát zapnutý, nie je možné zdieľať dátové pripojenie ani používať prenosné hotspoty"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"Iba hotspot"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"Iba USB"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"Iba Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"Hotspot, USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"Hotspot, Bluetooth"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB, Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"Hotspot, USB, Bluetooth"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"Internet sa nezdieľa s inými zariadeniami"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"Zdieľanie dátového pripojenia"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Nepoužívať hotspot Wi‑Fi"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Zdieľať internet len cez USB"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Zdieľať internet len cez Bluetooth"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Zdieľať internet len cez USB a Bluetooth"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"Pripojenie cez USB"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"Zdieľať internetové pripojenie telefónu cez USB"</string>
@@ -1798,9 +1778,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"Bezpečnostné informácie"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"Nemáte dátové pripojenie. Ak chcete tieto informácie zobraziť teraz, prejdite v ľubovoľnom počítači pripojenom k internetu na adresu %s."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"Načítava sa…"</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"Použiť kód PIN"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"Použiť vzor"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"Použiť heslo"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"Nastavenie zámky obrazovky"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"Z bezpečnostných dôvodov si nastavte heslo"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"Ak chcete použiť odtlačok prsta, nastavte heslo"</string>
@@ -1809,8 +1786,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"Ak chcete použiť odtlačok prsta, nastavte PIN"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"Z bezpečnostných dôvodov si nastavte vzor"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"Znova zadajte heslo"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"Zadajte pracovné heslo"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"Potvrďte svoj vzor"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"Zadajte pracovný vzor"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"Znova zadajte kód PIN"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"Zadajte pracovný kód PIN"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"Heslá sa nezhodujú"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"Kódy PIN nie sú zhodné"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"Znova nakreslite vzor"</string>
@@ -1821,6 +1801,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"Ak chcete použiť odomknutie tvárou, nastavte heslo"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"Ak chcete použiť odomknutie tvárou, nastavte vzor"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"Ak chcete použiť odomknutie tvárou, nastavte PIN"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"Zabudli ste heslo?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"Zabudli ste vzor?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"Zabudli ste PIN?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"Ak chcete pokračovať, použite bezpečnostný vzor zariadenia"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"Ak chcete pokračovať, zadajte PIN zariadenia"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"Ak chcete pokračovať, zadajte heslo zariadenia"</string>
@@ -1888,6 +1871,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"Povoliť všet. zdroje aplikácií"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"Nedávno spustené aplikácie"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"Zobraziť všetky aplikácie (<xliff:g id="COUNT">%1$d</xliff:g>)"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"Kontaktujte správcu IT"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"Môže vám pomôcť resetovať PIN, vzor alebo heslo"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"Váš tablet a osobné dáta sú náchylnejšie na útok z neznámych aplikácií. Inštaláciou aplikácií z tohto zdroja vyjadrujete súhlas s tým, že nesiete zodpovednosť za akékoľvek poškodenie tabletu alebo stratu dát, ktoré by mohli nastať pri ich používaní."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"Váš telefón a osobné dáta sú náchylnejšie na útok z neznámych aplikácií. Inštaláciou aplikácií z tohto zdroja vyjadrujete súhlas s tým, že nesiete zodpovednosť za akékoľvek poškodenie telefónu alebo stratu dát, ktoré by mohli nastať pri ich používaní."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"Vaše zariadenie a osobné údaje sú náchylnejšie na útok z neznámych aplikácií. Inštaláciou aplikácií z tohto zdroja vyjadrujete súhlas s tým, že nesiete zodpovednosť za akékoľvek poškodenie zariadenia alebo stratu údajov, ktoré by mohli nastať pri ich používaní."</string>
@@ -1941,7 +1926,7 @@
     <string name="default_emergency_app" msgid="1929974800666613803">"Aplikácia pre tiesňové volania"</string>
     <string name="reset_app_preferences" msgid="8861758340732716573">"Resetovať nastavenia aplikácií"</string>
     <string name="reset_app_preferences_title" msgid="8935136792316050759">"Chcete resetovať nastavenia aplikácií?"</string>
-    <string name="reset_app_preferences_desc" msgid="1377296810290814749">"Touto akciou resetujete predvoľby položiek:\n\n"<li>"deaktivované aplikácie,"</li>\n<li>"deaktivované upozornenia aplikácií,"</li>\n<li>"predvolené aplikácie pre rôzne akcie,"</li>\n<li>"obmedzenia dátových prenosov na pozadí pre aplikácie,"</li>\n<li>"akékoľvek obmedzenia povolení."</li>\n\n"Neprídete o žiadne dáta v aplikáciách."</string>
+    <string name="reset_app_preferences_desc" msgid="6509978724602405805">"Táto akcia resetuje predvoľby \n\n"<li>"zakázaných aplikácií;"</li>\n<li>"upozornení zakázaných aplikácií;"</li>\n<li>"predvolených aplikácií pre akcie;"</li>\n<li>"obmedzení dát na pozadí pre aplikácie;"</li>\n<li>"akýchkoľvek obmedzení povolení."</li>\n\n"Neprídete o žiadne dáta aplikácií."</string>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"Obnoviť aplikácie"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"Správa pamäte"</string>
     <string name="filter" msgid="9039576690686251462">"Filtrovať"</string>
@@ -2141,7 +2126,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"Zvuk a text na obrazovke"</string>
     <string name="display_category_title" msgid="6638191682294461408">"Zobrazenie"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"Interaktívne ovládanie"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"Stiahnuté služby"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"Stiahnuté aplikácie"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"Experimentálne"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"Experimentálne funkcie"</string>
     <string name="talkback_title" msgid="8756080454514251327">"TalkBack"</string>
@@ -2149,27 +2134,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"Položky na obrazovke si môžete vypočuť nahlas klepnutím"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"Nastavenia titulkov"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"Priblíženie"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"Oblasť zväčšenia"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"Aktivácia priblíženia"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"Vyberte oblasti zväčšenia, ktoré chcete pri zväčšení obrazovky používať"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"Celá obrazovka"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"Časť obrazovky"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"Celá obrazovka a časť obrazovky"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"Zväčšiť celú obrazovku"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"Zväčšiť časť obrazovky"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Nastavenia priblíženia"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"Priblíženie trojitým klepnutím"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Priblíženie skratkou"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Priblíženie skratkou a trojitým klepnutím"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"<xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"Možnosti"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"Priblížte si obrazovku"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"Na priblíženie trikrát klepnite"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Na priblíženie klepnite na tlačidlo"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><b>"Ak chcete zobrazenie priblížiť"</b>", trikrát rýchlo klepnite na obrazovku.\n"<ul><li>"Zobrazenie posuniete presunutím dvoch alebo viacerých prstov po obrazovke."</li>\n<li>"Priblíženie upravíte priblížením dvoch alebo viacerých prstov."</li></ul>\n\n<b>"Zobrazenie dočasne priblížite"</b>" tak, že trikrát rýchlo klepnete na obrazovku jedným prstom a po poslednom klepnutí prst pridržíte.\n"<ul><li>"Obrazovku môžete posúvať presúvaním prsta."</li>\n<li>"Zdvihnutím prsta zobrazenie oddialite."</li></ul>\n\n"Klávesnica ani navigačný panel sa nedajú priblížiť."</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"Keď je priblíženie zapnuté, môžete si zväčšiť obsah obrazovky.\n\n"<b>"Urobíte to tak"</b>", že spustíte priblíženie a klepnete kamkoľvek na obrazovku.\n"<ul><li>"• Zobrazenie posuniete presunutím dvoch alebo viacerých prstov."</li>\n<li>"• Priblíženie upravíte stiahnutím dvoch alebo viacerých prstov."</li></ul>\n\n<b>"Ak chcete obsah priblížiť krátkodobo"</b>", spustite priblíženie a pridržte ľubovoľné miesto na obrazovke.\n"<ul><li>"• Po obrazovke prechádzate presunutím."</li>\n<li>"• Oddialite zdvihnutím prsta."</li></ul>\n\n"Nemôžete priblížiť klávesnicu ani navigačný panel."</string>
+    <string name="accessibility_screen_magnification_summary" msgid="7617931632990040045">"Ak chcete lepšie vidieť obsah na obrazovke, použite rýchle priblíženie.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Postup:&lt;/b&gt;&lt;br/&gt;	1. Spustite skratkou zväčšenie.&lt;br/&gt;	2. Klepnite na obrazovku.&lt;br/&gt;	3. Posúvajte sa po obrazovke presúvaním dvoch prstov.&lt;br/&gt;	4. Priblíženie upravíte stiahnutím dvoch prstov.&lt;br/&gt;	5. Zastavte skratkou zväčšenie.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Postup dočasného priblíženia:&lt;/b&gt;&lt;br/&gt;	1. Spustite skratkou zväčšenie.&lt;br/&gt;	2. Pridržte ľuboľovné miesto na obrazovke.&lt;br/&gt;	3. Posúvajte sa po obrazovke presúvaním prsta.&lt;br/&gt;	4. Zväčšenie zastavíte zdvihnutím prsta"</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Keď je priblíženie zapnuté, môžete si zväčšiť obsah obrazovky.\n\n"<b>"Urobíte to tak"</b>", že spustíte priblíženie a klepnete kamkoľvek na obrazovku.\n"<ul><li>"Zobrazenie posuniete presunutím dvoch alebo viacerých prstov."</li>\n<li>"Priblíženie upravíte stiahnutím dvoch alebo viacerých prstov."</li></ul>\n\n<b>"Ak chcete obsah priblížiť krátkodobo"</b>", spustite priblíženie a pridržte ľubovoľné miesto na obrazovke.\n"<ul><li>"Po obrazovke prechádzate presunutím."</li>\n<li>"Oddialite zdvihnutím prsta."</li></ul>\n\n"Nemôžete priblížiť klávesnicu ani navigačný panel."</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Otváranie tlačidlom dostupnosti"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Otváranie gestom"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"Používanie nového gesta dostupnosti"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"Túto službu zapnete alebo vypnete klepnutím na tlačidlo dostupnosti <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> v dolnej časti obrazovky.\n\nSlužby prepnete pridržaním tlačidla dostupnosti."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"Túto službu zapnete alebo vypnete potiahnutím dvoma prstami z dolnej časti obrazovky smerom nahor.\n\nSlužby prepnete potiahnutím dvoma prstami smerom nahor a pridržaním."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"Túto službu zapnete alebo vypnete potiahnutím troma prstami z dolnej časti obrazovky smerom nahor.\n\nSlužby prepnete potiahnutím troma prstami smerom nahor a pridržaním."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"Službu dostupnosti zapnete alebo vypnete potiahnutím dvoma prstami z dolnej časti obrazovky smerom nahor.\n\nSlužby prepnete potiahnutím dvoma prstami smerom nahor a pridržaním."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"Službu dostupnosti zapnete alebo vypnete potiahnutím troma prstami z dolnej časti obrazovky smerom nahor.\n\nSlužby prepnete potiahnutím troma prstami smerom nahor a pridržaním."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"Túto službu zapnete alebo vypnete klepnutím na tlačidlo dostupnosti <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> v dolnej časti obrazovky.\n\nSlužby prepnete pridržaním tlačidla dostupnosti."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"Túto službu zapnete alebo vypnete potiahnutím dvoma prstami z dolnej časti obrazovky smerom nahor.\n\nSlužby prepnete potiahnutím dvoma prstami smerom nahor a pridržaním."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"Túto službu zapnete alebo vypnete potiahnutím troma prstami z dolnej časti obrazovky smerom nahor.\n\nSlužby prepnete potiahnutím troma prstami smerom nahor a pridržaním."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"Službu dostupnosti zapnete alebo vypnete potiahnutím dvoma prstami z dolnej časti obrazovky smerom nahor.\n\nSlužby prepnete potiahnutím dvoma prstami smerom nahor a pridržaním."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"Službu dostupnosti zapnete alebo vypnete potiahnutím troma prstami z dolnej časti obrazovky smerom nahor.\n\nSlužby prepnete potiahnutím troma prstami smerom nahor a pridržaním."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"Dobre"</string>
+    <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Skratka služby <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_edit_summary_software" msgid="2820923641553461297">"Tlačidlo dostupnosti"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture" msgid="8078659880723370597">"Potiahnite dvoma prstami nahor"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture_talkback" msgid="7422753388389160524">"Potiahnite troma prstami nahor"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software" msgid="4796192466943479849">"Klepnite na tlačidlo dostupnosti"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8922102767509399352">"Klepnite na tlačidlo dostupnosti <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> v dolnej časti obrazovky"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"Potiahnite dvoma prstami z dolnej časti obrazovky nahor"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"Potiahnite troma prstami z dolnej časti obrazovky nahor"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Pridržanie klávesov hlasitosti"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"Pridržte oba klávesy hlasitosti jednu sekundu"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Trikrát klepnite na obrazovku"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"Rýchlo trikrát klepnite na obrazovku. Táto skratka môže zariadenie spomaliť."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"Rozšírené"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"Tlačidlo dostupnosti je nastavené na službu <xliff:g id="SERVICE">%1$s</xliff:g>. Ak chcete použiť priblíženie, klepnite na tlačidlo dostupnosti, podržte ho a potom vyberte priblíženie."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"Gesto dostupnosti je nastavené na službu <xliff:g id="SERVICE">%1$s</xliff:g>. Ak chcete použiť priblíženie, potiahnite dvoma prstami nahor zo spodnej časti obrazovky a pridržte ich. Potom vyberte priblíženie."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"Skratka klávesa hlasitosti"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"Služba ovládaná skratkou"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Nastavenia skratiek"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"Povoliť z uzamknutej obrazovky"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"Keď je klávesová skratka zapnutá, stlačením obidvoch klávesov hlasitosti na tri sekundy spustíte funkciu dostupnosti."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"Text s vysokým kontrastom"</string>
@@ -2193,24 +2203,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"Vyberte, koľko sa majú zobrazovať správy s výzvami na akciu, ktoré sa zobrazujú iba dočasne.\n\nNiektoré aplikácie toto nastavenie nepodporujú."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"Oneskorenie pridržania"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"Inverzia farieb"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"Môže ovplyvniť výkonnosť"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"Čas zotrvania"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"Použiť inverziu farieb"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"Inverzia farieb stmaví svetlé obrazovky. Ľudia citliví na silné svetlo vďaka tomu lepšie uvidia na obrazovku.&lt;br/&gt;&lt;br/&gt;Poznámka: Tmavé farby budú zosvetlené. Budú zmenené farby médií a obrázkov. Môžete tiež použiť tmavý motív (Nastavenia &gt; Obrazovka)."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"Automatické kliknutie (čas zotrvania)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"Ak používate myš, môžete kurzor nastaviť tak, aby automaticky vykonal akciu, keď sa na určitý čas zastaví."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"Oneskorenie pred kliknutím"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"Nepoužívať auto. klik. (predvolené)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"Krátke"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0,2 sekundy"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"Stredné"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0,6 sekundy"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"Dlhé"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 sekunda"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"Vlastné"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"Kratší"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"Dlhší"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"Čas automatického kliknutia"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"Vibrácie a hmatová odozva"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Vibrovanie pri upozornení"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Vibrovanie pri zvonení"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Odozva pri klepnutí"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"Používať službu"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"Použiť <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"Otvoriť <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"Používať úpravu farieb"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"Používať titulky"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"Zobrazenie titulkov"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"Vzhľad titulkov"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"Veľkosť textu, štýl titulkov"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"Ďalšie možnosti"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"Toto nastavenie nepodporujú všetky aplikácie."</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"Tlačidlo dostupnosti"</string>
+    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"potiahnutie dvoma prstami z dolnej časti nahor"</string>
+    <string name="accessibility_shortcut_type_hardware" msgid="4834144210432451916">"Podržanie klávesov hlasitosti"</string>
+    <string name="accessibility_shortcut_type_triple_tap" msgid="7717524216825494543">"Trojité klepnutie na obrazovku"</string>
     <string name="accessibility_hearingaid_instruction_continue_button" msgid="3367260988024430722">"Ďalej"</string>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"Načúvadlá"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"Nie sú pripojené žiadne načúvadlá"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"Pridať načúvadlá"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"Ak chcete spárovať načúvadlo, na ďalšej obrazovke klepnite na svoje zariadenie."</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"Skontrolujte, či sú načúvadlá v režime párovania."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"Ak chcete spárovať načúvadlá, na ďalšej obrazovke klepnite na svoje zariadenie. Skontrolujte, či sú načúvadlá v režime párovania."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"Zariadenie <xliff:g id="DEVICE_NAME">%1$s</xliff:g> je aktívne"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="few"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> uložené načúvadlá</item>
@@ -2224,35 +2252,47 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Táto služba nepracuje správne."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Zobraziť v rýchlych nastaveniach"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"Režim korekcie"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="few">Extrémne krátke oneskorenie (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="many">Extrémne krátke oneskorenie (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Extrémne krátke oneskorenie (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Extrémne krátke oneskorenie (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Červená a zelená"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"Zelená a červená"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Modrá a žltá"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"Deuteranomália"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"Protanomália"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"Tritanomália"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="few">Mimoriadne krátke oneskorenie (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundy)</item>
+      <item quantity="many">Mimoriadne krátke oneskorenie (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundy)</item>
+      <item quantity="other">Mimoriadne krátke oneskorenie (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekúnd)</item>
+      <item quantity="one">Mimoriadne krátke oneskorenie (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> sekunda)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="few">Veľmi krátke oneskorenie (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="many">Veľmi krátke oneskorenie (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Veľmi krátke oneskorenie (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Veľmi krátke oneskorenie (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="few">Veľmi krátke oneskorenie (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundy)</item>
+      <item quantity="many">Veľmi krátke oneskorenie (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundy)</item>
+      <item quantity="other">Veľmi krátke oneskorenie (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekúnd)</item>
+      <item quantity="one">Veľmi krátke oneskorenie (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> sekunda)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="few">Krátke oneskorenie (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="many">Krátke oneskorenie (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Krátke oneskorenie (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Krátke oneskorenie (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="few">Krátke oneskorenie (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundy)</item>
+      <item quantity="many">Krátke oneskorenie (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundy)</item>
+      <item quantity="other">Krátke oneskorenie (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekúnd)</item>
+      <item quantity="one">Krátke oneskorenie (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> sekunda)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="few">Dlhé oneskorenie (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="many">Dlhé oneskorenie (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Dlhé oneskorenie (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Dlhé oneskorenie (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="few">Dlhé oneskorenie (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundy)</item>
+      <item quantity="many">Dlhé oneskorenie (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundy)</item>
+      <item quantity="other">Dlhé oneskorenie (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekúnd)</item>
+      <item quantity="one">Dlhé oneskorenie (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> sekunda)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="few">Veľmi dlhé oneskorenie (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="many">Veľmi dlhé oneskorenie (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Veľmi dlhé oneskorenie (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Veľmi dlhé oneskorenie (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="few">Veľmi dlhé oneskorenie (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundy)</item>
+      <item quantity="many">Veľmi dlhé oneskorenie (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundy)</item>
+      <item quantity="other">Veľmi dlhé oneskorenie (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekúnd)</item>
+      <item quantity="one">Veľmi dlhé oneskorenie (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> sekunda)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="few"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundy</item>
+      <item quantity="many"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundy</item>
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekúnd</item>
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> sekunda</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"Zvonenie <xliff:g id="SUMMARY_RING">%1$s</xliff:g>, upozornenie <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>, dotyk <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"Vibrácie pre vyzváňanie a upozornenia sú vypnuté"</string>
@@ -2587,7 +2627,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"Pri poslednom odpojení pre <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"Využitie batérie celkom"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"Obnoviť"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"OS Android"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"Mediaserver"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"Optimalizácia aplikácií"</string>
     <string name="battery_saver" msgid="7737147344510595864">"Šetrič batérie"</string>
@@ -2668,8 +2707,7 @@
     <string name="tts_play" msgid="2945513377250757221">"Prehrať"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"Úložisko poverení"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"Inštalovať z úložiska"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"Inštalovať z SD karty"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"Inštalácia certifikátu"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"Inštalovať certifikáty z úložiska"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"Inštalovať certifikáty z SD karty"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"Vymazať poverenia"</string>
@@ -2689,6 +2727,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"Úložisko poverení bolo vymazané"</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"Úlož. poverení nemožno vymazať"</string>
     <string name="usage_access_title" msgid="1580006124578134850">"Prístup k dátam o používaní"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"Certifikát CA"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"Certifikát použív. VPN a apl."</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"Certifikát Wi‑Fi"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"Vaša ochrana súkromia je ohrozená"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"Certifikáty CA využívajú weby, aplikácie a siete VPN na šifrovanie. Inštalujte iba certifikáty CA od organizácií, ktorým dôverujete. \n\n Ak si nainštalujete certifikát CA, vlastník certifikátu by mohol získať prístup k vašim údajom, napríklad k heslám, správam či údajom o kreditnej karte z webov alebo aplikácií, ktoré používate, a to aj vtedy, ak sú príslušné údaje šifrované."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"Neinštalovať"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"Napriek tomu nainštalovať"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"Certifikát nie je nainštalovaný"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"Signál núdzového vytáčania"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Nastaviť správanie pri tiesňovom volaní"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Zálohovanie"</string>
@@ -2716,10 +2762,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"Deaktivovať a odinštalovať"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"Aplikácie na správu zariadenia"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"K dispozícii nie sú žiadne aplikácie na správu zariadenia"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"Osobné"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"Práca"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"Obmedzenie prístupu k SMS a denníku hovorov"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"Povolenia na prístup k SMS a denníku hovorov majú iba predvolené telefónne aplikácie a aplikácie pre SMS a MMS"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"Nie sú k dispozícii žiadne agenty dôvery"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"Aktivovať aplikáciu na správu zariadenia?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"Aktivovať túto aplikáciu na správu zariadenia"</string>
@@ -2733,6 +2775,16 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"Ďalšie možnosti zakázal váš správca."</string>
     <string name="admin_more_details" msgid="6698424974827333973">"Ďalšie podrobnosti"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"Denník upozornení"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"História upozornení"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"Dnes"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"Odložené"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"Nedávno zrušené"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="few"><xliff:g id="NUMBER_1">%d</xliff:g> upozornenia</item>
+      <item quantity="many"><xliff:g id="NUMBER_1">%d</xliff:g> notifications</item>
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> upozornení</item>
+      <item quantity="one"><xliff:g id="NUMBER_0">%d</xliff:g> upozornenie</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"Tón zvonenia a vibrovanie"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"Podrobnosti siete"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"Synchronizácia je povolená"</string>
@@ -3090,7 +3142,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"Obmedzenia"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"Odstrániť obmedzenia"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"Zmeniť kód PIN"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"Zobrazovať upozornenia"</string>
     <string name="help_label" msgid="2896538416436125883">"Pomocník a spät. väzba"</string>
     <string name="support_summary" msgid="1034146931237148885">"Články pomocníka, telefón a čet, začíname"</string>
     <string name="user_account_title" msgid="6389636876210834864">"Účet pre obsah"</string>
@@ -3115,6 +3166,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"Volanie cez 4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Používať na zlepšenie hlasovej a inej komunikácie LTE (odporúčané)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Používať na zlepšenie hlasovej a inej komunikácie služby 4G (odporúčané)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Zisťovanie kontaktov"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Umožňuje operátorovi zistiť, ktoré funkcie hovorov podporujú vaše kontakty."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Chcete povoliť zisťovanie kontaktov?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Povolením tejto funkcie udelíte operátorovi prístup k telefónnym číslam vo vašich kontaktoch, aby mohol zistiť, ktoré funkcie hovorov podporujú."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Preferovaný typ siete"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (odporúčané)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"Správy MMS"</string>
@@ -3159,7 +3214,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"Volať pomocou služby"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"Výber SIM karty"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"SIM karta <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"SIM karta je prázdna"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"Názov SIM karty"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"Zadajte názov SIM karty"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"Slot pre SIM kartu %1$d"</string>
@@ -3169,6 +3223,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"Vybrať SIM kartu"</string>
     <string name="color_orange" msgid="216547825489739010">"Oranžová"</string>
     <string name="color_purple" msgid="6603701972079904843">"Purpurová"</string>
+    <string name="color_pink" msgid="8596872110888626708">"Ružová"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"Nie sú vložené žiadne SIM karty"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"Stav SIM karty"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"Stav SIM karty (%1$d. slot na SIM kartu)"</string>
@@ -3182,7 +3237,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"SIM karty boli zmenené."</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Klepnutím prejdete do Nastavení"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"Preferovaná SIM karta pre"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Vždy sa opýtať"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Vyžaduje sa výber"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"Výber SIM karty"</string>
@@ -3202,6 +3256,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"Bluetooth, režim v aute"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"Bluetooth, NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"Bluetooth"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"Nie je k dispozícii, pretože technológia NFC je vypnutá"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"Aplikácie a upozornenia"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Nedávne aplikácie, predvolené aplikácie"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Prístup k upozorneniam nie je k dispozícii pre aplikácie v pracovnom profile."</string>
@@ -3212,13 +3267,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"Nastavenia"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"wifi, wi-fi, sieťové pripojenie, internet, bezdrôtové, dáta, wi fi"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"Upozornenie Wi‑Fi, upozornenie wifi"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"spotreba dát"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"Zastaviť vibrovanie, klepnutie, klávesnica"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"Používať 24-hodinový formát"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"Stiahnuť"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"Otvoriť v aplikácii"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"Aplikácie"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"časové pásmo"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"Záhlavie četu"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"Záhlavie četu, systém, upozornenie, okno, dialógové okno, zobrazenie, nad inými aplikáciami, vykreslenie"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"Svietidlo, svetlo, baterka"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"wifi, wi-fi, prepínač, ovládanie"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"mobilné, mobil, mobilný operátor, bezdrôtové, dáta, 4g, 3g, 2g, lte"</string>
@@ -3242,7 +3298,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"nie, nerušiť, vyrušiť, vyrušenie, prerušenie"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"nablízku, poloha, história, nahlasovanie, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"účet"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"účet, pridanie účtu, pracovný profil, pridať účet"</string>
     <string name="keywords_users" msgid="3497517660077620843">"obmedzenie, obmedziť, obmedzené"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"oprava textu, opraviť, zvuk, vibrácie, automatický výber, jazyk, gesto, navrhnúť, návrh, motív, urážlivé slovo, typ, emodži, medzinárodné"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"resetovať, nastavenia, predvolené"</string>
@@ -3280,6 +3336,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"pamäť, vyrovnávacia pamäť, údaje, odstrániť, vymazať, voľné, miesto"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"pripojené, zariadenie, slúchadlá, slúchadlá s mikrofónom, reproduktor, bezdrôtové, párovať, slúchadlá do uší, hudba, médiá"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"pozadie, obrazovka, uzamknutá obrazovka, motív"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"tvar ikony, zvýrazňujúca farba, písmo"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"predvolené, asistent"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"platby, predvolené"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"prichádzajúce upozornenie"</string>
@@ -3289,18 +3346,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"hmatová spätná väzba, vibrovanie, citlivosť"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"šetrič batérie, pevne umiestnené, trvalé, šetrič energie, batéria"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"postup, plán, šetrič batérie, šetrič energie, batéria, automaticky, percento"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"pracovný profil"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"VoLTE, rozšírené hovory, volanie cez 4g"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"pridať jazyk, pridať určitý jazyk"</string>
     <string name="default_sound" msgid="6604374495015245195">"Predvolený zvuk"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"Hlasitosť zvonenia <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"Hlasitosť zvonenia a upozornení je na <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Hlasitosť, vibrovanie, režim bez vyrušení"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"Zvonenie je nastavené na vibrovanie"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"Zvonenie je stlmené"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"Hlasitosť zvonenia 80 %"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"Hlasitosť zvonenia a upozornení je na 80 %"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Hlasitosť médií"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Hlasitosť prenášania"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"Hlasitosť hovoru"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"Hlasitosť budíkov"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"Hlasitosť zvonenia"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"Hlasitosť zvonen. a upozornení"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"Hlasitosť upozornení"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"Tón zvonenia telefónu"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"Predvolený zvuk upozornenia"</string>
@@ -3308,6 +3366,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"Predvolený zvuk upozornenia"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"Predvolený zvuk budíkov"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"Vibrovať pri hovoroch"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"Vypnúť vibrovanie"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"Vždy vibrovať"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"Najprv vibrovať, potom stupňovať zvonenie"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"Iné zvuky"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"Zvuky číselnej klávesnice"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"Zvuky zámky obrazovky"</string>
@@ -3333,6 +3394,7 @@
       <item quantity="one">1 aktivovaný</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Režim bez vyrušení"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Dostávajte upozornenia iba od relevantných ľudí a z dôležitých aplikácií"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Obmedzenie vyrušení"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Zapnite režim bez vyrušení"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"Výnimky"</string>
@@ -3359,7 +3421,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Blokovať vizuálne vyrušenia"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Povoliť vizuálne signály"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"Keď je zapnutý režim bez vyrušení"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"Povolenie zvukových vyrušení"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"Obmedziť upozornenia"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Upozornenia bez zvuku"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"Upozornenia bude vidieť na obrazovke"</string>
@@ -3390,7 +3452,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"Zvuk a vibrácie"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"Zvuk, vibrácie a niektoré vizuálne signály upozornení"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"Zvuk, vibrácie a vizuálne signály upozornení"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"Upozornenia týkajúce sa základnej aktivity telefónu a stavu sa nebudú nikdy skrývať"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"Upozornenia týkajúce sa základnej aktivity telefónu a stavu nebudú nikdy skryté."</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"Žiadne"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"ďalšie možnosti"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"Pridať"</string>
@@ -3424,10 +3486,12 @@
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> plánov sa môže automaticky zapnúť</item>
       <item quantity="one">1 plán sa môže automaticky zapnúť</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"Vypnúť zvuk zariadenia, ale povoliť výnimky"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"Výnimky"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"Plán"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"Zobraziť všetky výnimky"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"Výnimky, kedy je režime bez vyrušení zapnutý"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"Ľudia"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"Aplikácie"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"Budíky a iné vyrušenia"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"Plány"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"Stlmené upozornenia"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"Keď je zapnutý režim bez vyrušení, zvuky a vibrácie budú vypnuté. Výnimku predstavujú položky, ktoré povolíte vyššie."</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"Vypnúť všetky zvuky okrem"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"Zvuk bol vypnutý"</string>
@@ -3471,16 +3535,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"Prispôsobivé upozornenia"</string>
     <string name="asst_capability_prioritizer_title" msgid="1181272430009156556">"Priorita prispôsobivých upozornení"</string>
     <string name="asst_capability_prioritizer_summary" msgid="954988212366568737">"Automaticky nastaviť upozornenia s nižšou prioritou ako nenápadné"</string>
+    <string name="asst_capability_ranking_title" msgid="312998580233257581">"Pozícia prispôsobivých upozornení"</string>
+    <string name="asst_capability_ranking_summary" msgid="2293524677144599450">"Automaticky zoradiť upozornenia podľa relevancie"</string>
     <string name="asst_capabilities_actions_replies_title" msgid="4392470465646394289">"Navrhované akcie a odpovede"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"Automaticky zobrazovať navrhované akcie a odpovede"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"Ak chcete mať prehľad o predchádzajúcich a stlmených upozorneniach, zapnite históriu upozornení"</string>
+    <string name="notification_history" msgid="8663811361243456201">"História upozornení"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"Zapnutie histórie"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"Vypnutie histórie"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"História upozornení je vypnutá"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"zobraziť nastavenia upozornení"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Povoliť stlmenie upozornení"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"Skrývať ikony nenápadných upozornení"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"Ikony nenápadných upozornení sa nezobrazujú v stavovom riadku"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"Povoliť bodky upozornení"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"Zobraziť panel nedávnych konverzácií"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Bubliny"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"Niektoré upozornenia sa môžu na obrazovke objaviť ako bubliny"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"Niektoré upozornenia a ďalší obsah sa môžu na obrazovke zobrazovať ako bubliny. Bublinu otvoríte klepnutím. Zatvoríte ju presunutím nadol."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Bubliny"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"Nové správy sa budú zobrazovať na obrazovke"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"Povoliť aplikácii <xliff:g id="APP_NAME">%1$s</xliff:g> zobrazovať niektoré upozornenia ako bubliny"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"Zapnutie bublín"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"Než budete môcť zapnúť bubliny pre túto aplikáciu, musíte zapnúť bubliny pre zariadenie. Ovplyvní to ostatné aplikácie, v ktorých ste predtým zapli bubliny."</string>
@@ -3498,6 +3572,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"Zobrazovať v rozbaľovacom paneli a na uzamknutej obrazovke"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"Zobrazovať v rozbaľovacom paneli a stavovom riadku"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"Zobrazovať v rozbaľovacom paneli, stavovom riadku a na uzamknutej obrazovke"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"Skryť tiché upozornenia v stavovom riadku"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"Blikať"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"Uzamknutá obrazovka"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"Preskakovať uzamknutú obrazovku"</string>
@@ -3528,6 +3603,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"Správanie"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"Povoliť zvuk"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"Nikdy nezobrazovať upozornenia"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"Konverzácie"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"Konverzácia"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"Nejde o konverzáciu"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"Odstrániť zo sekcie konverzácií"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"Toto je konverzácia"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"Pridajte do sekcie konverzácií"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"Správa konverzácií"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"Dôležité konverzácie"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"Všetky konverzácie"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"Zobrazovať dôležité konverzácie v bubline"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"Dôležité konverzácie sa zobrazujú v hornej časti panela upozornení. Môžete tiež nastaviť, aby sa zobrazovali v bubline a prerušili režim bez vyrušení."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"Zobraziť potichu a minimalizovať"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"Bez zvuku"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"Vydať zvukový signál"</string>
@@ -3546,7 +3632,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"Pomáha vám sústrediť sa bez zvukov či vibrácií"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"Upúta vás zvukom alebo vibráciami"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"Keď je zariadenie odomknuté, zobrazovať upozornenia ako banner v hornej časti obrazovky"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"Zobrazovať upozornenia"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"Všetky upozornenia aplikácie <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"Adaptívne upozornenia"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="few">~<xliff:g id="NUMBER_1">%d</xliff:g> upozornenia denne</item>
@@ -3573,6 +3659,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"Adaptívne upozornenia"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"Žiadne"</string>
     <string name="no_notification_listeners" msgid="2839354157349636000">"Prístup k upozorneniam si nevyžiadali žiadne nainštalované aplikácie"</string>
+    <string name="notification_access_detail_switch" msgid="46386786409608330">"Povoliť prístup k upozorneniam"</string>
     <string name="notification_assistant_security_warning_title" msgid="2972346436050925276">"Povoliť službe <xliff:g id="SERVICE">%1$s</xliff:g> prístup k upozorneniam?"</string>
     <string name="notification_assistant_security_warning_summary" msgid="3119843404577399036">"<xliff:g id="NOTIFICATION_ASSISTANT_NAME">%1$s</xliff:g> bude môcť čítať všetky upozornenia vrátane osobných údajov, ako sú mená kontaktov a texty prijatých správ. Bude môcť tiež upraviť alebo zrušiť upozornenia, prípadne v nich spustiť tlačidlá akcie. \n\nAplikácia tým získa aj možnosť vypnúť alebo zapnúť režim bez vyrušení a meniť súvisiace nastavenia."</string>
     <string name="notification_listener_security_warning_title" msgid="5791700876622858363">"Povoliť prístup k upozorneniam pre službu <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
@@ -3640,8 +3727,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"Hotovo"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"Dôležitosť"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"Blikať"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"Vibrovať"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"Vibrácie"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"Zvuk"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"Dôležité"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"Pridať do domácnosti"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"Odstrániť"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"Premenovať"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"Názov plánu"</string>
@@ -3697,6 +3786,10 @@
       <item quantity="other"><xliff:g id="NUM_PEOPLE">%d</xliff:g> ďalších</item>
       <item quantity="one">1 ďalší</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Konverzácie"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"Zo všetkých konverzácií"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"Z dôležitých konverzácií"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"Nepovoliť žiadne konverzácie"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"Povoliť správy"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"Ak chcete zaistiť, aby vaše zariadenie upozorňovalo na povolené správy zvukom, skontrolujte, či je v ňom nastavené zvonenie, vibrovanie alebo tichý režim."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"Prichádzajúce správy sú v rámci plánu <xliff:g id="SCHEDULE_NAME">%1$s</xliff:g> blokované. Môžete upraviť nastavenia a povoliť priateľom, rodine alebo ďalším kontaktom spojiť sa s vami."</string>
@@ -3710,15 +3803,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"Žiadne"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"Nepovoliť žiadne hovory"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"Nepovoliť žiadne správy"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"Povoliť budíky"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"Budíky"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"Z časovačov, budíkov, bezpečnostných systémov a ďalších aplikácií"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"budíky"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"Prehrávať zvuky médií"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"Zvuky médií"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"Z videí, hier a ďalších médií"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"médiá"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"Povoliť zvuky klepnutí"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"Zvuk pri klepnutí"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"Z klávesnice a iných tlačidiel"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"zvuk pri klepnutí"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"Povoliť pripomenutia"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"Pripomenutia"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"Z úloh a pripomenutí"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"pripomenutia"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"Povoliť udalosti"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"Udalosti"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"Z nadchádzajúcich udalostí v kalendári"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Povoľte aplikáciám prekonávať nastavenia"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"Výnimky aplikácie"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3767,6 +3865,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"Povoliť, aby upozornenia stlmené režimom bez vyrušení mohli zapnúť obrazovku"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"Nastavenia upozornení"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"OK"</string>
+    <string name="suggestion_button_close" msgid="6865170855573283759">"Zavrieť"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Spätná väzba o zariadení"</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"Zadajte PIN správcu"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"Zapnuté"</string>
@@ -3777,6 +3876,8 @@
     <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_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>
     <string name="experimental_preference" msgid="869354050717870055">"(Experimentálne)"</string>
@@ -3859,8 +3960,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"Všetky aplikácie"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Nainštalované aplikácie"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Okamžité aplikácie"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"Osobné"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"Pracovné"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"Aplikácie: Všetky"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"Vypnuté"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"Kategórie: Neodkladná dôležitosť"</string>
@@ -3872,6 +3971,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"Neznáma aplikácia"</string>
     <string name="app_permissions" msgid="8666537659217653626">"Správca povolení"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"Aplikácie s povoleniami <xliff:g id="APPS">%1$s</xliff:g>"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"Aplikácie používajúce povolenia <xliff:g id="APPS">%1$s</xliff:g> a ďalšie"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"Zobudiť klepnutím"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"Zariadenie prebudíte dvojitým klepnutím na ľubovoľné miesto na obrazovke."</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"Otváranie odkazov"</string>
@@ -3885,9 +3985,16 @@
       <item quantity="other">Podporované odkazy otvára <xliff:g id="COUNT">%d</xliff:g> aplikácií</item>
       <item quantity="one">Podporované odkazy otvára jedna aplikácia</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"Otvárať v tejto aplikácii"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"Povoliť aplikácii otvárať podporované odkazy"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"Vždy sa opýtať"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"Neotvárať v tejto aplikácii"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"Nepovoliť aplikácii otvárať odkazy"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="few">Aplikácia žiada o spracovanie <xliff:g id="COUNT_1">%d</xliff:g> odkazov</item>
+      <item quantity="many">App claims to handle <xliff:g id="COUNT_1">%d</xliff:g> links</item>
+      <item quantity="other">Aplikácia žiada o spracovanie <xliff:g id="COUNT_1">%d</xliff:g> odkazov</item>
+      <item quantity="one">Aplikácia žiada o spracovanie <xliff:g id="COUNT_0">%d</xliff:g> odkazu</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"Aplikácia žiada o spracovanie nasledujúcich odkazov:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"Predvolené"</string>
     <string name="default_for_work" msgid="537558180548617528">"Predvolené na prácu"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"Asistencia a hlasový vstup"</string>
@@ -4037,8 +4144,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"Zobrazenie cez iné aplikácie"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Povoliť zobrazenie nad ostatnými aplikáciami"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"Umožní tejto aplikácii zobrazovať sa nad ostatnými aplikáciami, ktoré používate. Môže tak narušiť vašu prácu s týmito aplikáciami alebo zmeniť ich vzhľad či správanie."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"Prístup k všetkým súborom"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"Povoľte prístup na správu všetkých súborov"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Povoľte tejto aplikácii čítať, upravovať a odstraňovať všetky súbory v tomto zariadení alebo akýchkoľvek pripojených úložiskách. Po udelení tohto povolenia bude môcť aplikácia používať súbory bez vášho vedomia."</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"Má prístup k všetkým súborom"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"vr virtuálna realita prijímač stereo pomocné zariadenie"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"zobrazenie dialógového okna s upozornením systému nad inými aplikáciami"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"Zobrazenie cez iné aplikácie"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"<xliff:g id="COUNT_0">%1$d</xliff:g> z <xliff:g id="COUNT_1">%2$d</xliff:g> aplikácií má povolené zobrazovanie cez iné aplikácie"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"Aplikácie s povolením"</string>
@@ -4214,6 +4324,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"Spotrebované <xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g>"</string>
     <string name="data_overusage" msgid="3680477320458707259">"Prekročený limit <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="data_remaining" msgid="6316251496381922837">"Zostáva: <xliff:g id="ID_1">^1</xliff:g>"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"Graf zobrazuje spotrebu dát od <xliff:g id="START_DATE">%1$s</xliff:g> do <xliff:g id="END_DATE">%2$s</xliff:g>."</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"Pre tento rozsah dátumov neexistujú žiadne údaje."</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="few">Zostávajú %d dni</item>
       <item quantity="many">Zostáva %d dňa</item>
@@ -4279,14 +4391,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"veľkosť parcely"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"aktivované upozornenie"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"zvuk"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"vibrovanie"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"vzor"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"predvolené"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"kanál"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"žiadne"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"Chýba objekt hodnotenia."</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"Objekt hodnotenia neobsahuje tento kľúč."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"Motívy"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"Predvolené nastavenie zariadenia"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"Výrez obrazovky"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"výrez obrazovky, výrez"</string>
@@ -4383,8 +4491,12 @@
     <string name="information_label" msgid="6939310810756569298">"Informácie"</string>
     <string name="low_label" msgid="6525629096999711220">"Nízka"</string>
     <string name="high_label" msgid="357503396626018487">"Vysoká"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"Vyššia citlivosť môže kolidovať s gestami aplikácie pri okrajoch obrazovky."</string>
+    <string name="left_edge" msgid="1513576842959071849">"Ľavý okraj"</string>
+    <string name="right_edge" msgid="1505309103265829121">"Pravý okraj"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"Vyššia citlivosť môže kolidovať s gestami aplikácie pri okrajoch obrazovky."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"Citlivosť prechádzania späť"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"Nastavenia gest"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"navigácia gestami, citlivosť prechádzania späť, gesto späť"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"Kontrola telefónu dvojitým klepnutím"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"Tablet skontrolujete dvojitým klepnutím"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"Zariadenie skontrolujete dvojitým klepnutím"</string>
@@ -4553,7 +4665,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"Spustiť poskytovanie služieb operátorom"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"Aktualizovať režim bez vyrušení"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"Pozastavte upozornenia, aby ste sa mohli sústrediť"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"Táto funkcia nie je v zariadení k dispozícii"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"Funkcia nie je k dispozícii"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"Táto funkcia bola vypnutá, pretože spomaľuje telefón"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"Vynútiť úplné meranie GNSS"</string>
@@ -4563,20 +4674,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"Vybrať aplikáciu podporujúcu ANGLE"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"Nie je nastavená žiadna aplikácia podporujúca ANGLE"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"Aplikácia podporujúca ANGLE: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"Predvoľby ovládača hry"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"Upraviť nastavenia ovládača hry"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"Keď je ovládač hry vypnutý, môžete použiť aktualizovaný grafický ovládač pre aplikácie nainštalované v zariadení."</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"Povoliť pre všetky aplikácie"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"Výber grafického ovládača"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"Predvolené"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"Ovládač hry"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"Ovládač predbežného vydania"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"Grafický ovládač systému"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"Predvoľby grafického ovládača"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"Zmeňte nastavenia grafického ovládača"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"Keď je k dispozícii viacero grafických ovládačov, môžete použiť aktualizovaný grafický ovládač pre aplikácie nainštalované v zariadení."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"Povoliť pre všetky aplikácie"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"Vybrať grafický ovládač"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"Predvolené"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"Ovládač hry"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"Ovládač vývojára"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Grafický ovládač systému"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Zmeny v kompatibilite aplikácie"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Prepínač zmien kompatibility aplikácie"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Predvolené aktivované zmeny"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Predvolené deaktivované zmeny"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"Nastavenie nie je v tomto telefóne podporované"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"Nastavenie nie je v tomto tablete podporované"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"Nastavenie nie je v tomto zariadení podporované"</string>
@@ -4595,6 +4712,11 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"Zariadenie"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Počas hovorov nie je k dispozícii"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"Nedostupné"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"Pridanie výstupov"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"Skupina"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 vybrané zariadenie"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"Počet vybraných zariadení: <xliff:g id="COUNT">%1$d</xliff:g>"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"Prepína sa…"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Prijať hovor v zariadení"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Tento názov prístupového bodu sa nedá zmeniť."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Predĺženie výdrže batérie tabletu"</string>
@@ -4714,10 +4836,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"V jednej chvíli môže byť aktívna iba jedna stiahnutá SIM karta.\n\nPrepnutím na operátora <xliff:g id="CARRIER1">%1$s</xliff:g> nezrušíte službu operátora <xliff:g id="CARRIER2">%2$s</xliff:g>."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Prepnúť na <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Vymazať SIM kartu"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Chcete vymazať túto stiahnutú SIM kartu?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Vymazaním SIM karty odstránite službu operátora <xliff:g id="CARRIER_0">%1$s</xliff:g> z tohto zariadenia.\n\nSlužba operátora <xliff:g id="CARRIER_1">%2$s</xliff:g> sa nezruší."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Vymazať"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Odstraňuje sa SIM karta…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"SIM karta sa nedá vymazať"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"SIM karta sa nedá vymazať, pretože došlo k chybe.\n\nReštartujte zariadenie a skúste to znova."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Preferovaný typ siete"</string>
@@ -4742,7 +4860,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Neplatný režim siete <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Ignorovať."</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Názvy prístupových bodov"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Nie je k dispozícii pri pripojení k operátorovi <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"Zdravotné údaje, tiesňové kontakty"</string>
     <string name="see_more" msgid="7499355691042812723">"Zobraziť viac"</string>
     <string name="see_less" msgid="2642392725363552793">"Zobraziť menej"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"Zariadenie, ktoré sa má používať s aplikáciou <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
@@ -4751,13 +4868,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"Vyskytol sa problém. Aplikácia zrušila žiadosť o výber zariadenia."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"Pripojenie je úspešné"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"Zobraziť všetko"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="few"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> pripojené zariadenia</item>
-      <item quantity="many"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> devices connected</item>
-      <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> pripojených zariadení</item>
-      <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_0">%1$d</xliff:g> pripojené zariadenie</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"Žiadne zariadenia Bluetooth"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"Hľadá sa zariadenie…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"Pripája sa k zariadeniu…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"Ľavé"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"Pravé"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Puzdro"</string>
@@ -4767,6 +4879,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"Nedostupné v režime v lietadle"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"Vynútiť režim pracovnej plochy"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Vynútenie experimentálneho režimu pracovnej plochy na sekundárnych obrazovkách"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"Povoliť prispôsobenie pri nemennej veľkosti"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"Povolí prispôsobenie aplikácií s nemennou veľkosťou"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Presadiť tmavý režim"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"Presadí, aby bol tmavý režim vždy zapnutý"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"Ochrana súkromia"</string>
@@ -4809,6 +4923,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Túto aplikáciu ste nainštalovali nedávno."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Prepnutie výstupu"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Momentálne sa prehráva v zariadení <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (odpojené)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Nedá sa prepnúť. Zopakujte klepnutím."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Dôležité informácie"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"POKRAČOVAŤ"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"NIE, ĎAKUJEM"</string>
@@ -4836,8 +4952,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"Kombinácia SIM kariet"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Informácie o pracovných pravidlách"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Nastavenia spravované vaším správcom IT"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"Grafický procesor"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"Obslužný nástroj hlásenia chyby"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Určuje, ktorá aplikácia spracuje vo vašom zariadení skratku na hlásenie chyby."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Osobné"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"Práca"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"Predvolené nastavenie systému"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"Táto voľba už nie je platná. Skúste to znova."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"Zastaviť prenos"</string>
 </resources>
diff --git a/res/values-sl/arrays.xml b/res/values-sl/arrays.xml
index f06f836..641e131 100644
--- a/res/values-sl/arrays.xml
+++ b/res/values-sl/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"Takoj"</item>
     <item msgid="463591454172790676">"5 sekund"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"Ne potrdi"</item>
+    <item msgid="5703177653586269306">"Zahtevaj stanje potrdila"</item>
+    <item msgid="326388247868439528">"Obvezno stanje potrdila"</item>
+    <item msgid="1090956283885790552">"Obvezna vsa stanja potrdil, ki niso zaupanja vredna"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"Pritisnite gumb"</item>
     <item msgid="2630618799033509548">"PIN iz enakovredne naprave"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"Brez"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"IPSec VPN s ključi v predhodni skupni rabi in preverjanjem pristnosti Xauth"</item>
     <item msgid="2484564813864139237">"IPSec VPN s potrdili in preverjanjem pristnosti Xauth"</item>
     <item msgid="68918911194507915">"IPSec VPN s potrdili in hibridnim preverjanjem pristnosti"</item>
+    <item msgid="4631647675167100375">"IKEv2/IPSec VPN s potrdili in preverjanjem pristnosti z uporabniškim imenom in geslom"</item>
+    <item msgid="8812228622975052811">"L2TP/IPSec VPN z vnaprej dogovorjenimi ključi"</item>
+    <item msgid="6630554779981113046">"IKEv2/IPSec VPN s potrdili"</item>
   </string-array>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"Brez"</item>
diff --git a/res/values-sl/config.xml b/res/values-sl/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-sl/config.xml
+++ b/res/values-sl/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index c8bddcf..b8e4424 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -33,49 +33,17 @@
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Najprej omogočite možnosti za razvijalce."</string>
     <string name="header_category_wireless_networks" msgid="303445626075235229">"Brezžično in omrežja"</string>
     <string name="header_category_system" msgid="1665516346845259058">"Sistem"</string>
-    <string name="radio_info_data_connection_enable" msgid="7500945447906187613">"Omogočanje podatkovne povezave"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"Onemogočanje podatkovne povezave"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"Pripravljeno za uporabo tehnologije VoLTE"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"Videoklicanje je pripravljeno"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"Klicanje prek Wi-Fi-ja je pripravljeno"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"EAB/prisotnost omogočena"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"Podatki Cbrs"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"Omogoči DSDS"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"Vnovični zagon?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"Če želite spremeniti to nastavitev, znova zaženite napravo."</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"Vnovični zagon"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"Prekliči"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"Moč radia mobilne naprave"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"Prikaži imenik na kartici SIM"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"Prikaži številke za zaporo odhodnih klicev"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"Prikaži številke za klicanje storitev"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"Stanje storitve IMS"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"Stanje storitve IMS"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"Registrirana"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"Ni registrirana"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"Na voljo"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"Ni na voljo"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"Registracija storitve IMS: <xliff:g id="STATUS">%1$s</xliff:g>\nGovor prek povezave LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nGovor prek povezave WiFi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideoklici: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nVmesnik UT: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"V uporabi"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Ne deluje"</string>
     <string name="radioInfo_service_emergency" msgid="6838935881091760942">"Samo klici v sili"</string>
     <string name="radioInfo_service_off" msgid="6184928420860868571">"Radio je izklopljen"</string>
     <string name="radioInfo_roaming_in" msgid="8892550453644088692">"Gostovanje"</string>
     <string name="radioInfo_roaming_not" msgid="3137594549464975054">"Ni gostovanja"</string>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"Nedejaven"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"Zvonjenje"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"Aktivni klic"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"Prekinjena povezava"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"Vzpostavljanje povezave"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"Povezava je vzpostavljena"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Začasno ustavljeno"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Neznano"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"pkts"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"bajtov"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"Izpni pomnilnik USB"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"Izpni kartico SD"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"Izbriši pomnilnik USB"</string>
@@ -85,7 +53,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"Pomanjšava ali povečava besedila na zaslonu"</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Pomanjšanje"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Povečanje"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"Vzorčno besedilo"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"Čudoviti čarovnik iz Oza"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"11. poglavje: Čudovito Smaragdno mesto"</string>
@@ -176,9 +143,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"Če želite spremeniti to nastavitev, znova zaženite napravo."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"Nov zagon"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"Prekliči"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"Razpoložljive naprave za predvajanje predstavnosti"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"Razpoložljive naprave za klice"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"Trenutno povezano"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"Predstavnostne naprave"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"Klicne naprave"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"Druge naprave"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Shranjene naprave"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth bo vklopljen, da bo omogočeno seznanjanje"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Nastavitve povezave"</string>
@@ -211,46 +178,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"Vtipkana številka vrat je neveljavna."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"Proxy HTTP lahko uporablja brskalnik, druge aplikacije pa ne."</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"URL datoteke PAC: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"Trenutni ID naročnine:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"ID naročnine privzete kartice SIM za prenos podatkov:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"Pasovna širina za prenos (kbps):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"Pasovna širina za nalaganje (kbps):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"Podatki o lokaciji celice (zastarelo):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"Konfiguracija fizičnega kanala LTE:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"Frekvenca osveževanja podatkov o celici:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"Vsi podatki o meritvah celice:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"Podatkovna storitev:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"Gostovanje:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"Preusmeritev klica:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"Število ponastavitev PPP od zagona:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"Trenutno omrežje:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"Prejeti podatki:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"Glasovna storitev:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"Moč signala:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"Stanje glasovnega klica:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"Poslani podatki:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"Čakajoče sporočilo:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"Telefonska številka:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"Izbira radijskega območja"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"Vrsta glasovnega omrežja:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"Vrsta podatkovnega omrežja:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"Izberite indeks telefona"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"Nastavitev vrste prednostnega omrežja:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"Preverjanje imena gostitelja (www.google.com) za IPv4:"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"Preverjanje imena gostitelja (www.google.com) za IPv6:"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"Preskus odjemalca HTTP:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"Izvedba preskusa ping"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"Posodobi"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"Osveži"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"Preklop preverjanja DNS"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"Informacije/nastavitve za OEM"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"Nastavljanje načina radijskega območja"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"Nalaganje seznama frekvenčnih pasov ..."</string>
-    <string name="band_mode_set" msgid="494968379352406359">"Nastavi"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"Ni uspelo"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"Uspelo"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"Spremembe začnejo veljati ob vnovičnem priklopu kabla USB."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"Omogoči masovni pomnilnik USB"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"Skupno število bajtov:"</string>
@@ -289,10 +220,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"Premakni na dno"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"Odstrani jezik"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"Izberite dejavnost"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"Informacije o napravi"</string>
     <string name="display_label" msgid="3056320781191343221">"Zaslon"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"Podatki o tabličnem računalniku"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"Informacije o telefonu"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"Pomnilnik USB"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"Kartica SD"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"Nastavitve strežnika proxy"</string>
@@ -310,9 +238,6 @@
     <string name="airplane_mode" msgid="3196085857882526817">"Način za letalo"</string>
     <string name="wireless_networks_settings_title" msgid="8557542379234105369">"Brezžično in omrežja"</string>
     <string name="radio_controls_summary" msgid="9028430178697624501">"Upravljajte Wi‑Fi, Bluetooth, način za letalo, mobilna omrežja in omrežja VPN"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"Prenos podatkov v mob. omrežju"</string>
-    <string name="calls_title" msgid="6334813967619899114">"Dovoli klice"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"Sporočila SMS"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"Dovoli prenos podatkov v mobil. omrežju"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"Dovoli prenos podat. med gost."</string>
     <string name="roaming" msgid="3055365654530847985">"Gostovanje"</string>
@@ -320,9 +245,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"Med gostovanjem vzpostavi povezavo s podatkovnimi storitvami"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"Podatkovna povezava ni mogoča, ker ste zapustili domače omrežje, podatkovno gostovanje pa je izklopljeno."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"Vklopi"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"Stroški utegnejo biti veliki."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"Če omogočite podatkovno gostovanje, si lahko naprtite velike stroške!\n\nNastavitev vpliva na vse uporabnike v tem tabličnem računalniku."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"Če omogočite podatkovno gostovanje, si lahko naprtite velike stroške!\n\nNastavitev vpliva na vse uporabnike v tem telefonu."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"Morda boste morali plačati stroške gostovanja."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"Če omogočite podatkovno gostovanje, boste morda morali plačati stroške gostovanja.\n\nNastavitev vpliva na vse uporabnike v tem tabličnem računalniku."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"Če omogočite podatkovno gostovanje, boste morda morali plačati stroške gostovanja.\n\nNastavitev vpliva na vse uporabnike v tem telefonu."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"Želite dovoliti podatkovno gostovanje?"</string>
     <string name="networks" msgid="5184501333492775095">"Izbira operaterja"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"Izbira omrežnega operaterja"</string>
@@ -363,8 +288,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"Onemogočil skrbnik"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"Prikaz možnosti za zaklep"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"Prikaz možnosti gumba za vklop, s katero izklopite funkcijo Smart Lock, odklepanje z biometričnimi podatki in obvestila na zaklenjenem zaslonu"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"Posredniki zaupanja le podaljšajo čas odklenjenosti"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"Če je ta možnost omogočena, posredniki zaupanja poskrbijo, da naprava ostane odklenjena dalj časa, vendar ne more več odkleniti zaklenjene naprave."</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"Zakleni zaslon ob izgubljenem zaupanju"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"Če je ta možnost omogočena, se naprava zaklene, ko zadnji posrednik zaupanja izgubi zaupanje"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"Brez"</string>
@@ -396,7 +319,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"Nastavi Mojo lokacijo, odklepanje zaslona, zaklepanje kartice SIM, zaklepanje shrambe poverilnic"</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"Nastavitev Moje lokacije, odklepanja zaslona, zaklepanja shrambe poverilnic"</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"Zasebnost"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"Onemogočil skrbnik"</string>
+    <string name="disabled_by_administrator_summary" msgid="5424846182313851124">"Ni na voljo"</string>
     <string name="security_status_title" msgid="6958004275337618656">"Stanje varnosti"</string>
     <string name="security_dashboard_summary_face" msgid="4198949293847206382">"Zaklepanje zaslona, odklepanje z obrazom"</string>
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Zaklepanje zaslona, prstni odtis"</string>
@@ -709,7 +632,6 @@
       <item quantity="few">Vsebovati mora manj kot <xliff:g id="NUMBER_1">%d</xliff:g> števke</item>
       <item quantity="other">Vsebovati mora manj kot <xliff:g id="NUMBER_1">%d</xliff:g> števk</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"Vsebovati sme samo števke od 0 do 9."</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"Skrbnik naprave ne dovoli uporabe nedavne kode PIN."</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"Skrbnik za IT je blokiral pogoste kode PIN. Poskusite z drugo kodo PIN."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"Ne sme vsebovati neveljavnih znakov."</string>
@@ -752,6 +674,12 @@
       <item quantity="few">Vsebovati mora vsaj <xliff:g id="COUNT">%d</xliff:g> znake, ki niso črka</item>
       <item quantity="other">Vsebovati mora vsaj <xliff:g id="COUNT">%d</xliff:g> znakov, ki niso črka</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="one">Vsebovati mora vsaj <xliff:g id="COUNT">%d</xliff:g> neštevilski znak</item>
+      <item quantity="two">Vsebovati mora vsaj <xliff:g id="COUNT">%d</xliff:g> neštevilska znaka</item>
+      <item quantity="few">Vsebovati mora vsaj <xliff:g id="COUNT">%d</xliff:g> neštevilske znake</item>
+      <item quantity="other">Vsebovati mora vsaj <xliff:g id="COUNT">%d</xliff:g> neštevilskih znakov</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"Skrbnik naprave ne dovoli uporabe nedavnega gesla."</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"Skrbnik za IT je blokiral pogosta gesla. Poskusite z drugim geslom."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"Naraščajoč, padajoč ali ponavljajoč se niz števk je prepovedan."</string>
@@ -869,19 +797,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2,4 GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"Prijava"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"Odpri spletno mesto"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"Še <xliff:g id="REMAINING_TIME">%1$s</xliff:g>"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"Poteče <xliff:g id="EXPIRY_TIME">%1$s</xliff:g>"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"Dotaknite se tukaj, da se prijavite v omrežje"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Mb/s"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Mb/s"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Mb/s"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"Aplikacija <xliff:g id="REQUESTER">%s</xliff:g> želi vklopiti Wi-Fi"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"Aplikacija <xliff:g id="REQUESTER">%s</xliff:g> želi izklopiti Wi-Fi"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"Preveri bitno kodo aplikacij z možnostjo odpravljanja napak"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Preverjevalniku ART dovoli preverjanje bitne kode aplikacij, ki podpirajo odpravljanje napak"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"Pokaži hitrost osveževanja"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Prikaz trenutne hitrosti osveževanja zaslona"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"Dovoli izmenjavo podatkov, ko se tablični računalnik dotakne druge naprave"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"Dovoli izmenjavo podatkov, ko se telefon dotakne druge naprave"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"Dovoli izmenjavo podatkov, ko se tablični računalnik dotakne druge naprave NFC"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"Dovoli izmenjavo podatkov, ko se telefon dotakne druge naprave NFC"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"Vklop NFC-ja"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"NFC izmenjuje podatke med napravo in drugimi bližnjimi napravami ali cilji, na primer plačilnimi terminali, bralniki za dostop ter interaktivnimi oglasi ali oznakami."</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"Varni NFC"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Zahtevaj odklenitev naprave pred uporabo vmesnika NFC"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"Uporabo plačevanja na prodajnih mestih in v javnem prevozu prek povezave NFC dovoli samo pri odklenjenem zaslonu"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"Pripravljen za prenos vsebine aplikacije prek NFC"</string>
@@ -955,8 +889,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Vklopi"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Iskanje omrežij Wi‑Fi je vklopljeno"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Dodatne možnosti"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"Spustni seznam Dodatne možnosti. Dvakrat se dotaknite, da ga strnete."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"Spustni seznam Dodatne možnosti. Dvakrat se dotaknite, da ga razširite."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Dodatne možnosti spustnega seznama"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"razširi"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"Ime omrežja"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"Vnesite SSID"</string>
     <string name="wifi_security" msgid="9095934643631406913">"Varnost"</string>
@@ -966,6 +900,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"Stanje"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"Hitrost povezave za pošiljanje"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"Hitrost povezave za prejemanje"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"Hitrost povezave"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"Frekvenca"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"Naslov IP"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"Shranjeno prek:"</string>
@@ -973,6 +908,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"Način EAP"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"Preverjanje pristnosti v fazi 2"</string>
     <string name="wifi_eap_ca_cert" msgid="8033404008276298886">"Overjeno potrdilo"</string>
+    <string name="wifi_eap_ocsp" msgid="8713933962516871238">"Stanje spletnega potrdila"</string>
     <string name="wifi_eap_domain" msgid="8304301470752333203">"Domena"</string>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"Uporabniško potrdilo"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"Identiteta"</string>
@@ -989,6 +925,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"Izberite vsaj en pas za dostopno točko Wi‑Fi:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"Nastavitve naslova IP"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"Zasebnost"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"Naročnina"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"Ogled ali sprememba naročnine"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"Naključno izbran MAC"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"Dodajanje naprave"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"Spodnjo kodo QR nastavite na sredino, če želite napravo dodati v omrežje »<xliff:g id="SSID">%1$s</xliff:g>«."</string>
@@ -998,12 +936,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"Skupna raba omrežja Wi‑Fi"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"Če želite vzpostaviti povezavo z omrežjem »<xliff:g id="SSID">%1$s</xliff:g>« in dati geslo v skupno rabo, preberite to kodo QR"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"Če želite vzpostaviti povezavo z omrežjem »<xliff:g id="SSID">%1$s</xliff:g>«, preberite to kodo QR"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"Kode QR ni bilo mogoče prebrati. Kodo nastavite na sredino in poskusite znova."</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"Poskusite znova. Če se težava ponavlja, se obrnite na proizvajalca naprave."</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"Prišlo je do težave"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"Prepričajte se, da je naprava priključena, napolnjena in vklopljena"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"Prepričajte se, da je naprava priključena, napolnjena in vklopljena. Če se težava ponavlja, se obrnite na proizvajalca naprave."</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"Naprava ne podpira dodajanja oznake »<xliff:g id="SSID">%1$s</xliff:g>«"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"Poskusite napravo premakniti bliže dostopni točki/usmerjevalniku Wi-Fi"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"Preverite geslo in poskusite znova"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"Obrnite se na proizvajalca naprave"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"Preverite povezavo in poskusite znova"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"Izbira omrežja"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"Če želite povezati napravo, izberite omrežje"</string>
@@ -1016,11 +956,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"Skupna raba povezave Wi‑Fi s to napravo …"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"Povezovanje …"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"Skupna raba dostopne točke"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"Potrdite, da ste res vi"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"Potrdite, da ste res vi"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"Geslo za Wi-Fi: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"Geslo za dostopno točko: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"Samodejna povezava"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"Dovoli telefonu, da se samodejno poveže v bližini tega omrežja"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"Dovoli tabličnemu računalniku, da se samodejno poveže v bližini tega omrežja"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"Dodajte napravo"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"Če želite dodati napravo v to omrežje, uporabite kodo QR"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"Koda QR nima pravilne oblike zapisa"</string>
     <string name="retry" msgid="7542103800274026915">"Poskusi znova"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"Skupna raba z drugimi uporabniki naprave"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(nespremenjeno)"</string>
@@ -1032,6 +976,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"Ni navedenih potrdil. Povezava ne bo zasebna."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"Ime omrežja je predolgo."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"Določiti morate domeno."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"Potreben je certifikat."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"WPS je na voljo"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (WPS je na voljo)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"Omrežje Wi‑Fi operaterja"</string>
@@ -1089,7 +1034,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"Dodatne nast. za Wi‑Fi"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"Naslov MAC"</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_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>
@@ -1141,7 +1087,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"Uporabite dostopno točko, da ustvarite omrežje Wi‑Fi za svoje druge naprave. Dostopna točka omogoča uporabo interneta prek mobilne podatkovne povezave, zato lahko nastanejo dodatni stroški prenosa podatkov v mobilnih omrežjih."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"Aplikacije lahko ustvarijo dostopno točko za skupno rabo vsebin z napravami v bližini."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Samodejni izklop dostopne točke"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"Dostopna točka Wi‑Fi se bo izklopila, če ni povezana nobena naprava"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Kadar ni povezana nobena naprava"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"Vklop dostopne točke  ..."</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"Izklop dostopne točke ..."</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"Povezava <xliff:g id="NETWORK_SSID">%1$s</xliff:g> je aktivna"</string>
@@ -1150,6 +1096,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"Nastavitev dostopne toč. Wi‑Fi"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"Dostopna točka AndroidAP WPA2 PSK"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"AndroidHotspot"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"Želite shraniti to omrežje?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"Aplikacija <xliff:g id="APPNAME">%1$s</xliff:g> želi shraniti omrežje v telefon"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"Aplikacija <xliff:g id="APPNAME">%1$s</xliff:g> želi shraniti omrežje v tablični računalnik"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"Shranjevanje …"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"Shranjeno"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"Ni mogoče shraniti. Poskusite znova."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"Želite shraniti omrežja?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"Aplikacija <xliff:g id="APPNAME">%1$s</xliff:g> želi shraniti ta omrežja v telefon"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"Aplikacija <xliff:g id="APPNAME">%1$s</xliff:g> želi shraniti ta omrežja v tablični računalnik"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"Shranjevanje toliko omrežij: <xliff:g id="NUMBER">%d</xliff:g> …"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"Shranjena omrežja"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"Klicanje prek Wi-Fi-ja"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"Razširite območje klicanja s povezavo Wi‑Fi"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"Vklopite klicanje prek Wi‑Fi-ja, da povečate pokritost"</string>
@@ -1176,16 +1133,18 @@
     <string name="emergency_address_title" msgid="3490633500025717573">"Naslov za nujne primere"</string>
     <string name="emergency_address_summary" msgid="3022628750270626473">"Uporabljen je kot vaš naslov, ko opravite klic v sili prek Wi‑Fi-ja"</string>
     <string name="private_dns_help_message" msgid="851221502063782306"><annotation id="url">"Preberite več"</annotation>" o funkcijah zasebnega strežnika DNS"</string>
+    <string name="private_dns_mode_on" msgid="8878679071975375696">"Vklopljeno"</string>
     <string name="wifi_calling_pref_managed_by_carrier" msgid="129524064888622179">"Nastavitev upravlja operater"</string>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"Aktivirajte klicanje prek Wi-Fi-ja"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"Vklopite klicanje prek Wi-Fi-ja"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"Operater %1$s ne podpira klicanja prek Wi‑Fi-ja"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"Povezava z omrežjem <xliff:g id="SSID">%1$s</xliff:g> je prekinjena"</string>
     <string name="carrier" msgid="1755020806290963951">"Operater"</string>
     <string name="display_settings_title" msgid="626835071804834218">"Zaslon"</string>
     <string name="sound_settings" msgid="5514582720435174014">"Zvok"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"Glasnost"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"Glasbeni učinki"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"Glasnost zvonjenja"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"Glasnost zvonjenja in obvestil"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"Vibriraj v tihem načinu"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"Privzeti zvok obvestila"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"Zvonjenje"</string>
@@ -1310,13 +1269,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"Razpored"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"Brez"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"Vklop od sončn. zahoda do vzhoda"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"Vklop ob poljubni uri"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"Stanje"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"Izklopljeno/<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"Brez samodejnega vklopa"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"Samodejni vklop ob sončnem zahodu"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"Samodejni vklop ob <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"Vklopljeno/<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"Brez samodejnega izklopa"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"Samodejni izklop ob sončnem vzhodu"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"Samodejni izklop ob <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"Vklopi do <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"Izklopi do <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"Temna tema s črnim ozadjem poskrbi, da imate dalj časa energijo v bateriji na nekaterih zaslonih. Razporedi temne teme z vklopom počakajo, dokler se zaslon ne izklopi."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"Časovna omejitev za zaslon"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"Zaslon se izklopi"</string>
@@ -1328,7 +1292,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"Spremenite ozadje"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"Prilagajanje zaslona"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"Izberite ozadje iz"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"Prilagajanje telefona Pixel"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"Prilagajanje telefona"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"Preizkusite različne sloge, ozadja in drugo"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"Ohranjevalnik zaslona"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Med polnjenjem ali v stojalu"</string>
@@ -1419,6 +1383,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"Izpni pomnilnik USB, prikaži razpoložljiv pomnilnik"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"Izpenjanje kartice SD, prikaz razpoložljivega pomnilnika"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (reža za kartico SIM %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"Za ogled izberite shranjeno omrežje"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"Telefonska številka"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (reža za kartico SIM %1$d)"</string>
@@ -1445,6 +1410,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"Gostovanje"</string>
     <string name="status_operator" msgid="4335640583552058491">"Omrežje"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"Naslov MAC vmesnika Wi‑Fi"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"Naslov MAC vmesnika Wi‑Fi naprave"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"Naslov Bluetooth"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Serijska številka"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Čas delovanja"</string>
@@ -1657,6 +1623,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Ponastavitev privzetih nastavitev APN-jev končana"</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"Možnosti ponastavitve"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"Ponastavite lahko omrežje, aplikacije ali napravo"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"Aplikacije je mogoče ponastaviti"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"Ponastavi Wi-Fi, mob. podatke in Bluetooth"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"S tem boste ponastavili vse omrežne nastavitve, vključno s temi:\n\n"<li>"Wi‑Fi"</li>\n<li>"Prenos podatkov v mobilnih omrežjih"</li>\n<li>"Bluetooth"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"Brisanje prenesenih kartic SIM"</string>
@@ -1706,6 +1673,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"Dostopna točka je vklopljena"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"Internetna povezava prek telefona"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"Dokler je vklopljeno varčevanje s podatki, ni mogoče vzpostaviti povezave z internetom prek mobilnega telefona ali uporabljati prenosnih dostopnih točk."</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"Samo dostopna točka"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"Samo USB"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"Samo Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"Dostopna točka, USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"Dostopna točka, Bluetooth"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB, Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"Dostopna točka, USB, Bluetooth"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"Internetna povezava ni deljena z drugimi napravami"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"Internetna povezava prek mobilnega telefona"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Brez uporabe dostopne točke Wi‑Fi"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Deljenje internetne povezave samo prek USB-ja"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Deljenje internetne povezave samo prek Bluetootha"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Deljenje internetne povezave samo prek USB-ja in Bluetootha"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"Internet prek USB-ja"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"Skupna raba internetne povezave telefona prek USB-ja"</string>
@@ -1798,9 +1778,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"Informacije o varnosti"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"Nimate podatkovne povezave. Če si želite te informacije ogledati zdaj, obiščite %s v katerem koli računalniku z vzpostavljeno internetno povezavo."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"Nalaganje …"</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"Uporaba kode PIN"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"Uporaba vzorca"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"Uporaba gesla"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"Nastavitev zaklepanja zaslona"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"Zaradi varnosti nastavite geslo"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"Nastavite geslo za prstni odtis"</string>
@@ -1809,8 +1786,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"Nastavite kodo PIN za prstni odtis"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"Zaradi varnosti nastavite vzorec"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"Znova vnesite geslo"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"Vnesite geslo za delovni profil"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"Potrdite vzorec"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"Vnesite vzorec za del. profil"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"Znova vnesite kodo PIN"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"Vnesite kodo PIN za delovni profil"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"Gesli se ne ujemata"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"Kodi PIN se ne ujemata"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"Znova narišite vzorec"</string>
@@ -1821,6 +1801,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"Za odklepanje z obrazom nastavite geslo"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"Za odklepanje z obrazom nastavite vzorec"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"Za odklepanje z obrazom nastavite PIN"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"Ste pozabili geslo?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"Ste pozabili vzorec?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"Ste pozabili svoj PIN?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"Če želite nadaljevati, uporabite vzorec za napravo"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"Če želite nadaljevati, vnesite kodo PIN za napravo"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"Če želite nadaljevati, vnesite geslo za napravo"</string>
@@ -1888,6 +1871,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"Dovoli vse vire aplikacij"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"Nedavno odprte aplikacije"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"Prikaži vse aplikacije (<xliff:g id="COUNT">%1$d</xliff:g>)"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"Obrnite se na skrbnika za IT"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"Lahko vam pomaga ponastaviti kodo PIN, vzorec ali geslo"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"Neznane aplikacije lažje napadejo tablični računalnik in osebne podatke v njem. Če namestite aplikacije iz tega vira, se strinjate, da ste sami odgovorni za morebitno škodo, nastalo v tabličnem računalniku, ali izgubo podatkov, ki je lahko posledica uporabe teh aplikacij."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"Neznane aplikacije lažje napadejo telefon in osebne podatke v njem. Če namestite aplikacije iz tega vira, se strinjate, da ste sami odgovorni za morebitno škodo, nastalo v telefonu, ali izgubo podatkov, ki je lahko posledica uporabe teh aplikacij."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"Neznane aplikacije lažje napadejo napravo in osebne podatke v njej. Če namestite aplikacije iz tega vira, se strinjate, da ste sami odgovorni za morebitno škodo, nastalo v napravi, ali izgubo podatkov zaradi uporabe teh aplikacij."</string>
@@ -1941,7 +1926,7 @@
     <string name="default_emergency_app" msgid="1929974800666613803">"Aplikacija v sili"</string>
     <string name="reset_app_preferences" msgid="8861758340732716573">"Ponastavi nastavitve aplikacij"</string>
     <string name="reset_app_preferences_title" msgid="8935136792316050759">"Želite ponastaviti nastavitve aplikacij?"</string>
-    <string name="reset_app_preferences_desc" msgid="1377296810290814749">"S tem bodo ponastavljene vse nastavitve za:\n\n"<li>"onemogočene aplikacije,"</li>\n<li>"obvestila za onemogočene aplikacije,"</li>\n<li>"privzete aplikacije za dejanja,"</li>\n<li>"omejitev prenosa podatkov v ozadju za aplikacije,"</li>\n<li>"omejitve dovoljenj."</li>\n\n" Podatkov iz aplikacij ne boste izgubili."</string>
+    <string name="reset_app_preferences_desc" msgid="6509978724602405805">"S tem bodo ponastavljene vse nastavitve za:\n\n"<li>" onemogočene aplikacije,"</li>\n<li>" obvestila za onemogočene aplikacije,"</li>\n<li>" privzete aplikacije za dejanja,"</li>\n<li>" omejitve prenosa podatkov v ozadju za aplikacije,"</li>\n<li>" omejitve dovoljenj."</li>\n\n" Podatkov aplikacij ne boste izgubili."</string>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"Ponastavi aplikacije"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"Upravljaj prostor"</string>
     <string name="filter" msgid="9039576690686251462">"Filtriraj"</string>
@@ -2141,7 +2126,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"Zvok in besedilo na zaslonu"</string>
     <string name="display_category_title" msgid="6638191682294461408">"Zaslon"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"Kontrolniki za interakcije"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"Prenesene storitve"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"Prenesene aplikacije"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"Poskusno"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"Zastavice za funkcije"</string>
     <string name="talkback_title" msgid="8756080454514251327">"TalkBack"</string>
@@ -2149,27 +2134,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"Če želite slišati vsebino elementov na zaslonu, se jih dotaknite"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"Nastavitve podnapisov"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"Povečava"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"Območje povečave"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"Omogočanje povečave"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"Izberite eno ali več območij povečave, na katerih naj se izvede povečava zaslona"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"Celotni zaslon"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"Del zaslona"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"Celotni zaslon in del zaslona"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"Povečava celotnega zaslona"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"Povečava dela zaslona"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Nastavitve povečave"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"Povečevanje s trikratnim dotikom"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Povečanje z bližnjico"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Povečanje z bližnjico in trikratnim dotikom"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"<xliff:g id="SERVICE">%1$s</xliff:g> – vizitka"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"Možnosti"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"Povečava zaslona"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"Če želite povečati, se trikrat dotaknite"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Če želite povečati, se dotaknite gumba"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><b>"Če želite povečati"</b>", se hitro trikrat dotaknite zaslona.\n"<ul><li>"Povlecite z dvema ali več prsti po zaslonu, če se želite pomikati."</li>\n<li>"Povlecite dva ali več prstov skupaj, če želite prilagoditi povečavo."</li></ul>\n\n<b>"Če želite začasno povečati"</b>", se hitro trikrat dotaknite zaslona in pri tretjem dotiku zadržite prst na zaslonu.\n"<ul><li>"Povlecite, če se želite premikati po zaslonu."</li>\n<li>"Dvignite prst, če želite zmanjšati povečavo."</li></ul>\n\n"Povečava ni mogoča na tipkovnici in v vrstici za krmarjenje."</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"Ko je povečava vklopljena, lahko povečate prikaz na zaslonu.\n\n"<b>"Če želite povečati prikaz"</b>", zaženite povečavo, nato pa se dotaknite poljubnega mesta na zaslonu.\n"<ul><li>"• Povlecite z dvema ali več prsti po zaslonu, če se želite pomikati."</li>\n<li>"• Primaknite ali razmaknite dva ali več prstov, če želite prilagoditi povečavo."</li></ul>\n\n<b>"Če želite začasno povečati prikaz"</b>", zaženite povečavo in se dotaknite poljubnega mesta na zaslonu ter ga pridržite.\n"<ul><li>"• Povlecite, če se želite premikati po zaslonu."</li>\n<li>"• Dvignite prst, če želite zmanjšati povečavo."</li></ul>\n\n"Povečava ni mogoča na tipkovnici ali v vrstici za krmarjenje."</string>
+    <string name="accessibility_screen_magnification_summary" msgid="7617931632990040045">"Hitro povečanje prikaza na zaslonu za razločnejši prikaz vsebine.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Prikaz povečate tako:&lt;/b&gt;&lt;br/&gt;	1. Z bližnjico vklopite povečavo.&lt;br/&gt;	2. Dotaknite se zaslona.&lt;br/&gt;	3. Po zaslonu se pomikajte z vlečenjem dveh prstov.&lt;br/&gt;	4. Stopnjo povečave prilagodite tako, da prsta povlečete skupaj.&lt;br/&gt;	5. Z bližnjico izklopite povečavo.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Povečavo začasno povečate tako:&lt;/b&gt;&lt;br/&gt;	1. Z bližnjico vklopite povečavo.&lt;br/&gt;	2. Dotaknite se poljubne točke na zaslonu in jo pridržite.&lt;br/&gt;	3. Po zaslonu se pomikajte z vlečenjem prsta.&lt;br/&gt;	4. Dvignite prst, da izklopite povečavo."</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Ko je povečava vklopljena, lahko povečate prikaz na zaslonu.\n\n"<b>"Če želite povečati prikaz"</b>", zaženite povečavo, nato pa se dotaknite poljubnega mesta na zaslonu.\n"<ul><li>"Povlecite z dvema ali več prsti po zaslonu, če se želite pomikati."</li>\n<li>"Primaknite ali razmaknite dva ali več prstov, če želite prilagoditi povečavo."</li></ul>\n\n<b>"Če želite začasno povečati prikaz"</b>", zaženite povečavo ter se dotaknite poljubnega mesta na zaslonu in ga pridržite.\n"<ul><li>"Povlecite, če se želite premikati po zaslonu."</li>\n<li>"Dvignite prst, če želite zmanjšati povečavo."</li></ul>\n\n"Povečava ni mogoča na tipkovnici ali v vrstici za krmarjenje."</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Odpiranje z gumbom za ljudi s posebnimi potrebami"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Odpiranje s potezo"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"Uporaba nove poteze za ljudi s posebnimi potrebami"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"Če želite vklopiti ali izklopiti to storitev, se dotaknite gumba za funkcije za ljudi s posebnimi potrebami<xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>na dnu zaslona.\n\nČe želite preklopiti med storitvami, se dotaknite gumba za funkcije za ljudi s posebnimi potrebami in ga pridržite."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"Če želite vklopiti ali izklopiti to storitev, z dvema prstoma povlecite z dna zaslona navzgor.\n\nČe želite preklopiti med storitvami, z dvema prstoma povlecite navzgor in pridržite."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"Če želite vklopiti ali izklopiti to storitev, s tremi prsti povlecite z dna zaslona navzgor.\n\nČe želite preklopiti med storitvami, s tremi prsti povlecite navzgor in pridržite."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"Če želite vklopiti ali izklopiti storitev funkcij za ljudi s posebnimi potrebami, z dvema prstoma povlecite z dna zaslona navzgor.\n\nČe želite preklopiti med storitvami, z dvema prstoma povlecite navzgor in pridržite."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"Če želite vklopiti ali izklopiti storitev funkcij za ljudi s posebnimi potrebami, s tremi prsti povlecite z dna zaslona navzgor.\n\nČe želite preklopiti med storitvami, s tremi prsti povlecite navzgor in pridržite."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"Če želite vklopiti ali izklopiti to storitev, se dotaknite gumba za funkcije za ljudi s posebnimi potrebami<xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>na dnu zaslona.\n\nČe želite preklopiti med storitvami, se dotaknite gumba za funkcije za ljudi s posebnimi potrebami in ga pridržite."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"Če želite vklopiti ali izklopiti to storitev, z dvema prstoma povlecite z dna zaslona navzgor.\n\nČe želite preklopiti med storitvami, z dvema prstoma povlecite navzgor in pridržite."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"Če želite vklopiti ali izklopiti to storitev, s tremi prsti povlecite z dna zaslona navzgor.\n\nČe želite preklopiti med storitvami, s tremi prsti povlecite navzgor in pridržite."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"Če želite vklopiti ali izklopiti storitev funkcij za ljudi s posebnimi potrebami, z dvema prstoma povlecite z dna zaslona navzgor.\n\nČe želite preklopiti med storitvami, z dvema prstoma povlecite navzgor in pridržite."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"Če želite vklopiti ali izklopiti storitev funkcij za ljudi s posebnimi potrebami, s tremi prsti povlecite z dna zaslona navzgor.\n\nČe želite preklopiti med storitvami, s tremi prsti povlecite navzgor in pridržite."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"Razumem"</string>
+    <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Bližnjica do storitve <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_edit_summary_software" msgid="2820923641553461297">"Gumb za funkcije za ljudi s posebnimi potrebami"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture" msgid="8078659880723370597">"Vlečenje navzgor z dvema prstoma"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture_talkback" msgid="7422753388389160524">"Vlečenje navzgor s tremi prsti"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software" msgid="4796192466943479849">"Dotik gumba za funkcije za ljudi s posebnimi potrebami"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8922102767509399352">"Dotaknite se gumba za funkcije za ljudi s posebnimi potrebami <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> na dnu zaslona"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"Vlečenje z dvema prstoma z dna zaslona navzgor"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"Vlečenje s tremi prsti z dna zaslona navzgor"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Pridržanje tipk za glasnost"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"Pritisnite obe tipki za glasnost in ju pridržite eno sekundo"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Trikratni dotik zaslona"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"Hitro se trikrat dotaknite zaslona. Ta bližnjica bo morda upočasnila delovanje naprave."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"Dodatno"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"Gumb »Dostopnost« je nastavljen na <xliff:g id="SERVICE">%1$s</xliff:g>. Če želite uporabiti povečavo, se dotaknite gumba »Dostopnost« in ga pridržite, nato pa izberite povečavo."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"Poteza za ljudi s posebnimi potrebami je nastavljena na <xliff:g id="SERVICE">%1$s</xliff:g>. Če želite uporabiti povečavo, z dvema prstoma povlecite z dna zaslona navzgor in pridržite. Nato izberite povečavo."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"Bližnjica na tipki za glasnost"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"Storitev z bližnjico"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Nastavitve bližnjice"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"Dovoli na zaklenjenem zaslonu"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"Ko je bližnjica vklopljena, lahko funkcijo za ljudi s posebnimi potrebami zaženete tako, da pritisnete obe tipki za glasnost in ju pridržite tri sekunde."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"Visokokontrastno besedilo"</string>
@@ -2193,24 +2203,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"Izberite, kako dolgo naj bodo prikazana sporočila, ki vas pozivajo k ukrepanju, vendar so prikazana le začasno.\n\nTe nastavitve ne podpirajo vse aplikacije."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"Časovni zamik za dotik in pridržanje"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"Inverzija barv"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"Lahko vpliva na učinkovitost delovanja"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"Čas negibnosti"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"Uporabi inverzijo barv"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"Pri inverziji barv se svetli zasloni spremenijo v temne. Osebe, občutljive na močno svetlobo, tako lažje gledajo na zaslon.&lt;br/&gt;&lt;br/&gt;Opomba: Temne barve se spremenijo v svetle. Barve se spremenijo v predstavnosti in na slikah. Uporabite lahko tudi temno temo (»Nastavitve« &gt; »Prikaz«)."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"Samodejni klik (čas negibnosti)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"Če uporabljate miško, lahko nastavite, da kazalec samodejno izvede dejanje, ko se določen čas ne premika."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"Zakasnitev pred klikom"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"Brez samodejnega klika (privzeto)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"Kratko"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0,2 sekunde"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"Srednje dolgo"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0,6 sekunde"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"Dolgo"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 sekunda"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"Po meri"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"Krajše"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"Daljše"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"Čas za samodejni klik"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"Moč vibriranja in odziva na dotik"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Vibriranje pri obvestilih"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Vibriranje pri zvonjenju"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Odziv na dotik"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"Uporaba storitve"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"Uporabi storitev <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"Odpiranje aplikacije <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"Uporaba popravljanja barv"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"Uporaba podnapisov"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"Pokaži podnapise"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"Videz podnapisov"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"Velikost besedila, slog podnapisov"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"Več možnosti"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"Te nastavitve ne podpirajo vse aplikacije."</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"Gumb za funkcije za ljudi s posebnimi potrebami"</string>
+    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"Vlečenje z dvema prstoma od dna navzgor"</string>
+    <string name="accessibility_shortcut_type_hardware" msgid="4834144210432451916">"Pridržanje tipk za glasnost"</string>
+    <string name="accessibility_shortcut_type_triple_tap" msgid="7717524216825494543">"Trikratni dotik zaslona"</string>
     <string name="accessibility_hearingaid_instruction_continue_button" msgid="3367260988024430722">"Naprej"</string>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"Slušni pripomočki"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"Noben slušni pripomoček ni povezan"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"Dodajanje slušnih pripomočkov"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"Če želite seznaniti slušne pripomočke, na naslednjem zaslonu poiščite napravo in se je dotaknite."</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"Prepričajte se, da so slušni pripomočki v načinu seznanjanja."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"Če želite seznaniti slušne pripomočke, na naslednjem zaslonu poiščite napravo in se je dotaknite. Prepričajte se, da so slušni pripomočki v načinu seznanjanja."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"Naprava <xliff:g id="DEVICE_NAME">%1$s</xliff:g> je aktivna"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> shranjen slušni pripomoček</item>
@@ -2224,35 +2252,47 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Ta storitev ne deluje pravilno."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Prikaži v »Hitrih nastavitvah«"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"Način za popravljanje"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="one">Izjemno kratka zakasnitev (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="two">Izjemno kratka zakasnitev (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="few">Izjemno kratka zakasnitev (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Izjemno kratka zakasnitev (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Rdeča – zelena"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"Zelena – rdeča"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Modra – rumena"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"Devteranomalija"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"Protanomalija"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"Tritanomalija"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="one">Izjemno kratka zakasnitev (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunda)</item>
+      <item quantity="two">Izjemno kratka zakasnitev (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundi)</item>
+      <item quantity="few">Izjemno kratka zakasnitev (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunde)</item>
+      <item quantity="other">Izjemno kratka zakasnitev (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekund)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="one">Zelo kratka zakasnitev (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="two">Zelo kratka zakasnitev (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="few">Zelo kratka zakasnitev (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Zelo kratka zakasnitev (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="one">Zelo kratka zakasnitev (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunda)</item>
+      <item quantity="two">Zelo kratka zakasnitev (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundi)</item>
+      <item quantity="few">Zelo kratka zakasnitev (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunde)</item>
+      <item quantity="other">Zelo kratka zakasnitev (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekund)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="one">Kratka zakasnitev (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="two">Kratka zakasnitev (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="few">Kratka zakasnitev (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Kratka zakasnitev (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="one">Kratka zakasnitev (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunda)</item>
+      <item quantity="two">Kratka zakasnitev (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundi)</item>
+      <item quantity="few">Kratka zakasnitev (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunde)</item>
+      <item quantity="other">Kratka zakasnitev (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekund)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="one">Dolga zakasnitev (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="two">Dolga zakasnitev (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="few">Dolga zakasnitev (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Dolga zakasnitev (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="one">Dolga zakasnitev (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunda)</item>
+      <item quantity="two">Dolga zakasnitev (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundi)</item>
+      <item quantity="few">Dolga zakasnitev (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunde)</item>
+      <item quantity="other">Dolga zakasnitev (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekund)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="one">Zelo dolga zakasnitev (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="two">Zelo dolga zakasnitev (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="few">Zelo dolga zakasnitev (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Zelo dolga zakasnitev (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="one">Zelo dolga zakasnitev (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunda)</item>
+      <item quantity="two">Zelo dolga zakasnitev (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundi)</item>
+      <item quantity="few">Zelo dolga zakasnitev (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunde)</item>
+      <item quantity="other">Zelo dolga zakasnitev (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekund)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunda</item>
+      <item quantity="two"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekundi</item>
+      <item quantity="few"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunde</item>
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekund</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"Zvonjenje: <xliff:g id="SUMMARY_RING">%1$s</xliff:g>, obvestilo: <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>, dotik: <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"Vibriranje za zvonjenje in obvestila je izklopljeno"</string>
@@ -2587,7 +2627,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"Po zadnjem odklopu za <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"Skupna poraba"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"Osveži"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"OS Android"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"Predstavnostni strežnik"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"Optimizacija aplikacij"</string>
     <string name="battery_saver" msgid="7737147344510595864">"Varčevanje z energijo akumulatorja"</string>
@@ -2668,8 +2707,7 @@
     <string name="tts_play" msgid="2945513377250757221">"Predvajaj"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"Shramba poverilnic"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"Namestitev iz shrambe"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"Namesti s kartice SD"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"Namestitev potrdila"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"Namestitev potrdil iz shrambe"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"Namesti potrdila s kartice SD"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"Brisanje poverilnic"</string>
@@ -2689,6 +2727,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"Shramba poverilnic je izbrisana."</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"Shrambe pover. ni mogoče izbr."</string>
     <string name="usage_access_title" msgid="1580006124578134850">"Apl. z dost. do pod. o uporabi"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"Potrdilo overitelja potrdil"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"Upor. potrdilo za VPN in apl."</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"Potrdilo za Wi‑Fi"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"Vaša zasebnost je ogrožena"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"Spletna mesta, aplikacije in navidezna zasebna omrežja (VPN) uporabljajo potrdila overiteljev potrdil za izvajanje šifriranja. Nameščajte samo potrdila overiteljev potrdil, ki jih izdajo zaupanja vredne organizacije. \n\n Če namestite potrdilo overitelja potrdil, lahko lastnik potrdila dostopa do vaših podatkov, kot so gesla, sporočila ali podrobnosti o kreditni kartici, ki izvirajo z obiskanih spletnih mest in iz uporabljenih aplikacij – tudi če so podatki šifrirani."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"Ne namesti"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"Kljub temu namesti"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"Potrdilo ni nameščeno"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"Signal za klice v sili"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Nastavi način delovanja ob klicanju v sili"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Varnostno kopiranje"</string>
@@ -2716,10 +2762,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"Deaktiviraj in odstrani"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"Skrbniške aplikacije naprave"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"Na voljo ni nobena skrbniška aplikacija naprave"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"Osebno"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"Delo"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"Omejitev dostopa do SMS-ov in dnevnika klicev"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"Samo privzete aplikacije za klicanje in sporočila imajo dovoljenja za sporočila SMS in dnevnik klicev"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"Na voljo ni nobenega posrednika zaupanja"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"Aktivacija skrbniške aplikacije naprave?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"Aktiviraj to skrbniško aplikacijo naprave"</string>
@@ -2733,6 +2775,16 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"Druge možnosti je onemogočil skrbnik"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"Več podrobnosti"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"Dnevnik obvestil"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"Zgodovina obvestil"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"Danes"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"Preloženo"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"Nedavno opuščeno"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="one"><xliff:g id="NUMBER_1">%d</xliff:g> obvestilo</item>
+      <item quantity="two"><xliff:g id="NUMBER_1">%d</xliff:g> obvestili</item>
+      <item quantity="few"><xliff:g id="NUMBER_1">%d</xliff:g> obvestila</item>
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> obvestil</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"Ton zvonjenja in vibriranje"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"O omrežju"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"Sinhronizacija omogočena"</string>
@@ -3090,7 +3142,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"Omejitve"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"Odstranitev omejitev"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"Sprememba kode PIN"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"Pokaži obvestila"</string>
     <string name="help_label" msgid="2896538416436125883">"Pomoč in povr. inf."</string>
     <string name="support_summary" msgid="1034146931237148885">"Članki s pomočjo, telefon in klepet, prvi koraki"</string>
     <string name="user_account_title" msgid="6389636876210834864">"Račun za vsebino"</string>
@@ -3115,6 +3166,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"Klicanje prek omrežja 4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Uporaba storitev LTE za izboljšanje glasovne in druge komunikacije (priporočeno)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Uporaba storitev 4G za izboljšanje glasovne in druge komunikacije (priporočeno)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Odkrivanje stikov"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Operaterju omogoča odkrivanje, katere funkcije za klicanje podpirajo vaši stiki."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Želite omogočiti odkrivanje stikov?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Če omogočite to funkcijo, boste operaterju omogočili dostop do telefonskih številk stikov, da bo lahko odkril, katere funkcije za klicanje stiki podpirajo."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Prednostna vrsta omrežja"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (priporočeno)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"Sporočila MMS"</string>
@@ -3159,7 +3214,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"Klicanje z …"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"Izberite kartico SIM"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"SIM <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"Kartica SIM je prazna"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"Ime kartice SIM"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"Vnesite ime kartice SIM"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"Reža za SIM %1$d"</string>
@@ -3169,6 +3223,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"Izberite kartico SIM"</string>
     <string name="color_orange" msgid="216547825489739010">"Oranžna"</string>
     <string name="color_purple" msgid="6603701972079904843">"Vijolična"</string>
+    <string name="color_pink" msgid="8596872110888626708">"Rožnata"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"Ni vstavljenih kartic SIM"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"Stanje kartice SIM"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"Stanje kartice SIM (reža za SIM %1$d)"</string>
@@ -3182,7 +3237,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"Zamenjava kartic SIM."</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Dotaknite se, če želite nastaviti"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"Prednostna kartica SIM za:"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Vedno vprašaj"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Zahtevana je izbira"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"Izbira kartice SIM"</string>
@@ -3202,6 +3256,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"Bluetooth, način vožnje"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"Bluetooth, NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"Bluetooth"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"Ni na voljo, ker je vmesnik NFC izklopljen"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"Aplikacije in obvestila"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Nedavne aplikacije, privzete aplikacije"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Dostop do obvestil ni na voljo za aplikacije v delovnem profilu."</string>
@@ -3212,13 +3267,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"Nastavitve"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"wifi, wi-fi, omrežna povezava, internet, brezžično, podatki, wi fi"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"Obvestilo za Wi‑Fi, obvestilo za wifi"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"prenesena količina podatkov"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"Onemogočanje vibriranja, dotik, tipkovnica"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"Uporaba 24-urne oblike"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"Prenos"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"Za odpiranje uporabi"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"Aplikacije"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"časovni pas"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"Glava klepeta"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"Glava klepeta, sistem, opozorilo, okno, pogovorno okno, prikaz, čez druge aplikacije, risanje"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"Svetilka, luč, baterijska svetilka, žepna svetilka"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"wifi, wi-fi, preklop, upravljanje"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"mobilno omrežje, mobilno, operater, brezžično, podatki, 4g, 3g, 2g, lte"</string>
@@ -3242,7 +3298,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"ne moti, prekinjaj, prekinitev, motnja"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"v bližini, lokacija, zgodovina, poročanje, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"račun"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"račun, dodajanje računa, delovni profil, dodaj račun"</string>
     <string name="keywords_users" msgid="3497517660077620843">"omejitev, omeji, omejeno"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"popravljanje besedila, pravilno, zvok, vibriranje, samodejno, jezik, poteza, predlaganje, predlog, tema, žaljivo, beseda, vrsta, emodžiji, mednarodno"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"ponastavitev, nastavitve, privzeto"</string>
@@ -3280,6 +3336,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"pomnilnik, predpomnilnik, podatki, izbrisati, počistiti, sprostiti, prostor"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"povezano, naprava, slušalke, slušalke z mikrofonom, zvočnik, brezžično, seznaniti, seznanitev, ušesne slušalke, glasba, predstavnost"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"ozadje, zaslon, zaklenjen zaslon, tema"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"oblika ikon, barva poudarka, pisava"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"privzeto, pomočnik"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"plačilo, plačevanje, privzeto"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"dohodno obvestilo"</string>
@@ -3289,18 +3346,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"haptično, vibriranje, občutljivost"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"varčevanje z energijo akumulatorja, lepljivo, trajno, varčevanje z energijo, akumulator"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"rutina, vsakodnevni opravek, razpored, urnik, varčevanje z energijo akumulatorja, varčevanje z energijo, akumulator, samodejno, odstotek, delež"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"delovni profil"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"volte, napredno klicanje, klicanje 4g"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"dodajanje jezika, dodajte jezik"</string>
     <string name="default_sound" msgid="6604374495015245195">"Privzeti zvok"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"Glasnost zvonjenja: <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"Glasnost zvonjenja in obvestil na <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Glasnost, vibriranje, ne moti"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"Zvonjenje je nastavljeno na vibriranje"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"Zvonjenje je nastavljeno na tiho"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"Glasnost zvonjenja: 80 %"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"Glasnost zvonjenja in obvestil na 80 %"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Glasnost predstavnosti"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Glasnost predvajanja"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"Glasnost klica"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"Glasnost alarma"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"Glasnost zvonjenja"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"Glasnost zvonjenja in obvestil"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"Glasnost obvestila"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"Melodija zvonjenja telefona"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"Privzeti zvok obvestila"</string>
@@ -3308,6 +3366,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"Privzeti zvok obvestila"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"Privzeti zvok alarma"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"Vibriranje za klice"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"Brez vibriranja"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"Vedno vibriranje"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"Najprej vibriranje, nato postopno zvonjenje"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"Drugi zvoki"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"Toni tipkovnice"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"Zvoki ob zaklepanju zaslona"</string>
@@ -3333,6 +3394,7 @@
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> omogočenih</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Ne moti"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Samo prejemanje obvestil pomembnih oseb in aplikacij"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Omejitev prekinitev"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Vklop načina »ne moti«"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"Izjeme"</string>
@@ -3359,7 +3421,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Blokiranje vizualnih motenj"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Dovoli vizualne znake"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"Ko je vklopljen način »ne moti«"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"Dovoljene zvočne motnje"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"Omejitev obvestil"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Brez zvočnega opozarjanja na obvestila"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"Obvestila bodo prikazana na zaslonu"</string>
@@ -3390,7 +3452,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"Zvok in vibriranje"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"Zvok, vibriranje in nekateri vizualni znaki obvestil"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"Zvok, vibriranje in vizualni znaki obvestil"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"Obvestila, potrebna za osnovno delovanje telefona in obveščanje o njegovem stanju, ne bodo nikoli skrita"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"Obvestila, potrebna za osnovno delovanje telefona in obveščanje o njegovem stanju, ne bodo nikoli skrita."</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"Nič"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"druge možnosti"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"Dodaj"</string>
@@ -3424,10 +3486,12 @@
       <item quantity="few"><xliff:g id="ON_COUNT">%d</xliff:g> razporedi se lahko samodejno vklopijo</item>
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> razporedov se lahko samodejno vklopi</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"Utišaj napravo, vendar dovoli izjeme"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"Izjeme"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"Urnik"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"Prikaz vseh izjem"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"Izjeme, ko je vklopljen način »ne moti«"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"Osebe"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"Aplikacije"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"Alarmi in druge motnje"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"Razporedi"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"Utišana obvestila"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"Pri vklopljenem načinu »ne moti« bosta zvok in vibriranje izklopljena v vseh primerih razen za zgoraj omogočene elemente."</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"Prezri vse razen"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"Prezrto"</string>
@@ -3471,16 +3535,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"Prilagodljiva obvestila"</string>
     <string name="asst_capability_prioritizer_title" msgid="1181272430009156556">"Prilagodljiva prednost obvestil"</string>
     <string name="asst_capability_prioritizer_summary" msgid="954988212366568737">"Samodejna nastavitev manj pomembnih obvestil na »Brez zvočnega opozorila«"</string>
+    <string name="asst_capability_ranking_title" msgid="312998580233257581">"Prilagodljivo razvrščanje obvestil"</string>
+    <string name="asst_capability_ranking_summary" msgid="2293524677144599450">"Samodejna razvrstitev obvestil glede na ustreznost"</string>
     <string name="asst_capabilities_actions_replies_title" msgid="4392470465646394289">"Predlagana dejanja in odgovori"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"Samodejen prikaz predlaganih dejanj in odgovorov"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"Če želite imeti vpogled v pretekla in preložena obvestila, vklopite zgodovino obvestil."</string>
+    <string name="notification_history" msgid="8663811361243456201">"Zgodovina obvestil"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"Vklopi zgodovino"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"Izklopi zgodovino"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"Zgodovina obvestil je izklopljena"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"ogled nastavitev obvestil"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Omogočanje prelaganja obvestil"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"Skrivanje ikon diskretnih obvestil"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"Ikone diskretnih obvestil niso prikazane v vrstici stanja"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"Dovoli obvestilne pike"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"Prikaz traku nedavnih pogovorov"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Oblački"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"Nekatera obvestila so lahko prikazana kot oblački na zaslonu"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"Nekatera obvestila in druga vsebina se lahko prikažejo kot oblački na zaslonu. Če želite odpreti oblaček, se ga dotaknite. Če ga želite opustiti, ga povlecite navzdol po zaslonu."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Oblački"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"Nova sporočila bodo prikazana na zaslonu"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"Aplikacija <xliff:g id="APP_NAME">%1$s</xliff:g> lahko nekatera obvestila prikaže kot oblačke"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"Vklop oblačkov"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"Če želite vklopiti oblačke za to aplikacijo, jih morate najprej vklopiti za napravo. To vpliva na druge aplikacije, v katerih ste že vklopili oblačke."</string>
@@ -3498,6 +3572,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"Prikaz na poteznem zaslonu z obvestili in na zaklenjenem zaslonu"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"Prikaz na poteznem zaslonu z obvestili in v vrstici stanja"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"Prikaz na poteznem zaslonu z obvestili, v vrstici stanja in na zaklenjenem zaslonu"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"Skrivanje tihih obvestil v vrstici stanja"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"Utripajoča lučka"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"Na zaklenjenem zaslonu"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"Preskok zaklenjenega zaslona"</string>
@@ -3528,6 +3603,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"Vedenje"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"Omogoči zvok"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"Nikoli ne pokaži obvestil"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"Pogovori"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"Pogovor"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"Ni pogovor"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"Odstranitev iz razdelka s pogovorom"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"To je pogovor"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"Dodajanje v razdelek s pogovorom"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"Upravljanje pogovorov"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"Pomembni pogovori"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"Vsi pogovori"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"Prikaz pomembnih pogovorov v oblačkih"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"Pomembni pogovori so prikazani na vrhu poteznega zaslona z obvestili. Nastavite lahko tudi, naj se prikažejo v oblačkih in naj preglasijo način »ne moti«."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"Prikaži brez zvoka in minimiraj"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"Prikaži brez zvoka"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"Predvajaj zvok"</string>
@@ -3546,7 +3632,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"Nemoteč prikaz brez zvoka ali vibriranja"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"Pritegne vašo pozornost z zvokom ali vibriranjem"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"Ko je naprava odklenjena, so obvestila prikazana kot pasica na vrhu zaslona"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"Pokaži obvestila"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"Vsa obvestila aplikacije <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"Prilagodljiva obvestila"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="one">~<xliff:g id="NUMBER_1">%d</xliff:g> obvestilo na dan</item>
@@ -3573,6 +3659,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"Prilagodljiva obvestila"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"Brez"</string>
     <string name="no_notification_listeners" msgid="2839354157349636000">"Nobena nameščena aplikacija ni zahtevala dostopa do obvestil."</string>
+    <string name="notification_access_detail_switch" msgid="46386786409608330">"Dovoli dostop do obvestil"</string>
     <string name="notification_assistant_security_warning_title" msgid="2972346436050925276">"Želite storitvi <xliff:g id="SERVICE">%1$s</xliff:g> dovoliti dostop do obvestil?"</string>
     <string name="notification_assistant_security_warning_summary" msgid="3119843404577399036">"<xliff:g id="NOTIFICATION_ASSISTANT_NAME">%1$s</xliff:g> lahko prebere vsa obvestila, vključno z osebnimi podatki, kot so imena stikov in besedilo prejetih sporočil. Prav tako lahko spremeni ali opusti obvestila ali sproži gumbe dejanj v obvestilih. \n\nS tem lahko aplikacija tudi vklopi ali izklopi način »ne moti« in spremeni povezane nastavitve."</string>
     <string name="notification_listener_security_warning_title" msgid="5791700876622858363">"Želite storitvi <xliff:g id="SERVICE">%1$s</xliff:g> dovoliti dostop do obvestil?"</string>
@@ -3640,8 +3727,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"Končano"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"Pomembnost"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"Utripajoča lučka"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"Vibriranje"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"Vibriranje"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"Zvok"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"Pomembno"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"Dodaj na začetni zaslon"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"Izbriši"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"Preimenuj"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"Ime razporeda"</string>
@@ -3697,6 +3786,10 @@
       <item quantity="few">Še <xliff:g id="NUM_PEOPLE">%d</xliff:g> druge osebe</item>
       <item quantity="other">Še <xliff:g id="NUM_PEOPLE">%d</xliff:g> drugih oseb</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Pogovori"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"Iz vseh pogovorov"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"Iz pomembnih pogovorov"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"Ne dovoli iz nobenega pogovora"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"Dovoli sporočila"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"Če se želite prepričati, da bo telefon zvonil, ko prejmete dovoljena sporočila, preverite, ali je naprava nastavljena na zvonjenje, vibriranje ali tihi način."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"Dohodna sporočila za »<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>« so blokirana. Nastavitve lahko prilagodite tako, da boste dosegljivi za prijatelje, družinske člane ali druge stike."</string>
@@ -3710,15 +3803,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"Nič"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"Ne dovoli nobenih klicev"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"Ne dovoli nobenih sporočil"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"Dovoli alarme"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"Alarmi"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"Obvestila o časovnikih, alarmih, varnostnih sistemih in drugih aplikacijah"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"alarmi"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"Predvajaj zvoke predstavnosti"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"Zvoki predstavnosti"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"Zvok videoposnetkov, iger in druge predstavnosti"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"predstavnost"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"Dovoli zvoke dotikov"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"Zvoki dotikov"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"Zvoki tipkovnice in drugih gumbov"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"zvoki dotikov"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"Dovoli opomnike"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"Opomniki"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"Obvestila o opravilih in opomnikih"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"opomniki"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"Dovoli dogodke"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"Dogodki"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"Obvestila o prihajajočih dogodkih v koledarju"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Aplikacijam dovoli preglasitev"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"Izjeme aplikacij"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3767,6 +3865,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"Obvestilom, utišanim z načinom »ne moti«, dovoli, da vklopijo zaslon"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"Nastavitve obvestil"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"V redu"</string>
+    <string name="suggestion_button_close" msgid="6865170855573283759">"Zapri"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Pošlji povratne info. o tej napravi"</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"Vnos skrbniške kode PIN"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"Vklopljeno"</string>
@@ -3777,6 +3876,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Zahtevaj PIN pred odpenjanjem"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Pred odpenjanjem vprašaj za geslo"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Pri odpenjanju zakleni napravo"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Potrditev brisanja profila e-SIM"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"Pred brisanjem prenesenega profila e-SIM potrdite, da ste to res vi"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"Ta delovni profil upravlja:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"Upravlja: <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(Poskusno)"</string>
@@ -3859,8 +3960,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"Vse aplikacije"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Nameščene aplikacije"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Nenamestljive aplikacije"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"Osebno"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"Služba"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"Aplikacije: vse"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"Izklopljeno"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"Kategorije: nujna pomembnost"</string>
@@ -3872,6 +3971,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"Neznana aplikacija"</string>
     <string name="app_permissions" msgid="8666537659217653626">"Upravitelj dovoljenj"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"Aplikacije uporabljajo: <xliff:g id="APPS">%1$s</xliff:g>"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"Aplikacije, ki uporabljajo <xliff:g id="APPS">%1$s</xliff:g>, in drugo"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"Dot. za prekl. iz stan. pripr."</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"Za preklop naprave iz stanja pripravljenosti se dvakrat dotaknite kjer koli na zaslonu"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"Odpiranje povezav"</string>
@@ -3885,9 +3985,16 @@
       <item quantity="few"><xliff:g id="COUNT">%d</xliff:g> aplikacije odpirajo podprte povezave</item>
       <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> aplikacij odpira podprte povezave</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"Odpri v tej aplikaciji"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"Aplikaciji je dovoljeno odpiranje podprtih povezav"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"Vedno vprašaj"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"Ne odpri v tej aplikaciji"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"Aplikaciji ni dovoljeno odpiranje povezav"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="one">Aplikacija naj bi odpirala <xliff:g id="COUNT_1">%d</xliff:g> povezavo</item>
+      <item quantity="two">Aplikacija naj bi odpirala <xliff:g id="COUNT_1">%d</xliff:g> povezavi</item>
+      <item quantity="few">Aplikacija naj bi odpirala <xliff:g id="COUNT_1">%d</xliff:g> povezave</item>
+      <item quantity="other">Aplikacija naj bi odpirala <xliff:g id="COUNT_1">%d</xliff:g> povezav</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"Aplikacija naj bi odpirala te povezave:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"Privzeto"</string>
     <string name="default_for_work" msgid="537558180548617528">"Privzeto za delo"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"Pomoč in glasovni vnos"</string>
@@ -4037,8 +4144,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"Prekrivanje drugih aplikacij"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Dovoli prekrivanje drugih aplikacij"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"Omogočite tej aplikaciji, da prekrije druge aplikacije, ki jih uporabljate. To lahko vpliva na uporabo teh aplikacij ali spremeni njihov običajen videz ali delovanje."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"Dostop do vseh datotek"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"Dovoli dostop za upravljanje vseh datotek"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Tej aplikaciji dovolite, da bere, spreminja in briše vse datoteke v tej napravi ali drugih povezanih nosilcih za shranjevanje. Če daste to dovoljenje, bo aplikacija morda dostopala do datotek brez vaše vednosti."</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"Lahko dostopa do vseh datotek"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"vr navidezna resničnost poslušalec stereo storitev za pomoč"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"sistemsko opozorilo pogovorno okno prikaz s prekrivanjem drugih aplikacij"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"Prekrivanje drugih aplikacij"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"<xliff:g id="COUNT_0">%1$d</xliff:g> od <xliff:g id="COUNT_1">%2$d</xliff:g> aplikacij, ki lahko prekrivajo druge aplikacije"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"Aplikacije z dovoljenjem"</string>
@@ -4214,6 +4324,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"Porabljeno: <xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g>"</string>
     <string name="data_overusage" msgid="3680477320458707259">"Prekoračeno za <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="data_remaining" msgid="6316251496381922837">"Preostalo: <xliff:g id="ID_1">^1</xliff:g>"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"Grafikon prikazuje prenesene količine podatkov v obdobju od <xliff:g id="START_DATE">%1$s</xliff:g> do <xliff:g id="END_DATE">%2$s</xliff:g>."</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"Ni podatkov za to obdobje"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="one">Še %d dan</item>
       <item quantity="two">Še %d dneva</item>
@@ -4279,14 +4391,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"velikost paketa"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"opozorjeno z obvestilom"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"zvok"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"vibriranje"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"vzorec"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"privzeto"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"kanal"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"brez"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"Manjka predmet za uvrščanje."</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"Predmet za uvrščanje ne vsebuje tega ključa."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"Nastavljanje teme"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"Privzeta nastavitev naprave"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"Zareza zaslona"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"izrez prikaza"</string>
@@ -4383,8 +4491,12 @@
     <string name="information_label" msgid="6939310810756569298">"Informacije"</string>
     <string name="low_label" msgid="6525629096999711220">"Nizko"</string>
     <string name="high_label" msgid="357503396626018487">"Visoko"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"Višja občutljivost bo morda ovirala izvajanje potez ob robovih zaslona v aplikaciji."</string>
+    <string name="left_edge" msgid="1513576842959071849">"Levi rob"</string>
+    <string name="right_edge" msgid="1505309103265829121">"Desni rob"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"Višja občutljivost bo morda ovirala izvajanje potez ob robovih zaslona v aplikaciji."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"Občutljivost poteze za nazaj"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"Nastavitve potez"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"krmarjenje s potezami, občutljivost poteze za nazaj, poteza za nazaj"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"Dvojni dotik za preverjanje telefona"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"Dvakratni dotik za preverjanje tabličnega računalnika"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"Dvakratni dotik za preverjanje naprave"</string>
@@ -4553,7 +4665,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"Sproži omogočanje uporabe operaterja"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"Posodobitev načina »ne moti«"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"Začasno zaustavite prikazovanje obvestil, da ostanete osredotočeni"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"Ta funkcija ni na voljo v tej napravi."</string>
     <string name="disabled_feature" msgid="7151433782819744211">"Funkcija ni na voljo"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"Ta funkcija je bila izklopljena, ker upočasnjuje vaš telefon"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"Vsili popolne meritve GNSS"</string>
@@ -4563,20 +4674,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"Izbira aplikacije, ki podpira ANGLE"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"Ni nastavljene aplikacije, ki podpira ANGLE"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"Aplikacija, ki podpira ANGLE: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"Nastavitve gonilnika za igre"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"Sprememba nastavitev gonilnika za igre"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"Ko je gonilnik za igre vklopljen, lahko izberete, naj aplikacije, nameščene v napravi, uporabljajo posodobljeni grafični gonilnik."</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"Omogočanje za vse aplikacije"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"Izbira grafičnega gonilnika"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"Privzeto"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"Gonilnik za igre"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"Gonilnik v predizdajni različici"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"Grafični gonilnik sistema"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"Nastavitve grafičnega gonilnika"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"Sprememba nastavitev grafičnega gonilnika"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"Kadar je nameščenih več grafičnih gonilnikov, lahko izberete, naj aplikacije, nameščene v napravi, uporabljajo posodobljeni grafični gonilnik."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"Omogočanje za vse aplikacije"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"Izbira grafičnega gonilnika"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"Privzeto"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"Gonilnik za igre"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"Gonilnik za razvijalce"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Grafični gonilnik sistema"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Spremembe združljivosti aplikacij"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Vklop/izklop sprememb združljivosti aplikacij"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Privzeto omogočene spremembe"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Privzeto onemogočene spremembe"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"Telefon ne podpira nastavitve"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"Tablični računalnik ne podpira nastavitve"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"Naprava ne podpira nastavitve"</string>
@@ -4595,6 +4712,11 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"Naprava"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Ni na voljo med klici"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"Ni na voljo"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"Dodajanje izhodov"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"Skupina"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"Izbrana je ena naprava"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"Izbranih je toliko naprav: <xliff:g id="COUNT">%1$d</xliff:g>"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"Preklapljanje …"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Sprejemanje klicev je vklopljeno"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Tega APN-ja ni mogoče spremeniti."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Izboljšajte čas delovanja akumulatorja tablice"</string>
@@ -4714,10 +4836,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Hkrati je lahko aktivna samo ena prenesena kartica SIM.\n\nČe preklopite na operaterja <xliff:g id="CARRIER1">%1$s</xliff:g>, ne boste preklicali storitve operaterja <xliff:g id="CARRIER2">%2$s</xliff:g>."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Preklopi na operaterja <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Izbriši kartico SIM"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Želite izbrisati preneseno kartico SIM?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Če izbrišete to kartico SIM, boste iz te naprave odstranili storitev operaterja <xliff:g id="CARRIER_0">%1$s</xliff:g>.\n\nStoritev operaterja <xliff:g id="CARRIER_1">%2$s</xliff:g> ne bo preklicana."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Izbriši"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Brisanje kartice SIM …"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Kartice SIM ni mogoče izbrisati"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Te kartice SIM ni mogoče izbrisati zaradi napake.\n\nZnova zaženite napravo in poskusite znova."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Prednostna vrsta omrežja"</string>
@@ -4742,7 +4860,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Neveljaven način omrežja: <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Prezri."</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Imena dostopnih točk"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Ni na voljo ob vzpostavljeni povezavi z operaterjem <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"Zdravstvene informacije, stiki za nujne primere"</string>
     <string name="see_more" msgid="7499355691042812723">"Pokaži več"</string>
     <string name="see_less" msgid="2642392725363552793">"Pokaži manj"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"Naprava, ki bo uporabljena skupaj z aplikacijo <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
@@ -4751,13 +4868,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"Prišlo je do napake. Aplikacija je preklicala zahtevo za izbiro naprave."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"Uspešna vzpostavitev povezave"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"Pokaži vse"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> povezana naprava</item>
-      <item quantity="two"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> povezani napravi</item>
-      <item quantity="few"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> povezane naprave</item>
-      <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> povezanih naprav</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"Ni naprav Bluetooth"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"Iskanje naprave …"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"Vzpostavljanje povezave z napravo …"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"Levo"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"Desno"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Ovitek"</string>
@@ -4767,6 +4879,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"Ni na voljo v načinu za letalo"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"Vsili namizni način"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Vsili poskusni namizni način na sekundarnih zaslonih"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"Omog. proste obl. apl., ki nimajo možn. spr. vel."</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"Omogočanje proste oblike aplikacij, ki nimajo možnosti spremembe velikosti"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Preglasi vsiljenje temnega načina"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"Preglasi vsiljenje vedno vklopljenega temnega načina"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"Zasebnost"</string>
@@ -4809,6 +4923,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"To aplikacijo ste nedavno namestili."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Preklop izhoda"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Trenutno se predvaja v napravi <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (povezava prekinjena)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Preklop ni mogoč. Dotik za vnov. poskus."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Pomembne informacije"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"NADALJUJ"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"NE, HVALA"</string>
@@ -4836,8 +4952,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"Kombinacija kartic SIM"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Podatki o službenem pravilniku"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Nastavitve upravlja skrbnik za IT"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPE"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"Rutina za obravnavo poročila o napakah"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Določa, katera aplikacija obravnava bližnjico za poročilo o napakah v napravi."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Osebno"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"Služba"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"Sistemsko privzeto"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"Ta izbira ni več veljavna. Poskusite znova."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"Ustavi predvajanje"</string>
 </resources>
diff --git a/res/values-sq/arrays.xml b/res/values-sq/arrays.xml
index 5a9fde5..2758b18 100644
--- a/res/values-sq/arrays.xml
+++ b/res/values-sq/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"Menjëherë"</item>
     <item msgid="463591454172790676">"5 sek."</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"Mos e mirato"</item>
+    <item msgid="5703177653586269306">"Kërko statusin e certifikatës"</item>
+    <item msgid="326388247868439528">"Kërko detyrimisht statusin e certifikatës"</item>
+    <item msgid="1090956283885790552">"Kërko detyrimisht të gjitha statutet e certifikatave të pacertifikuara"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"Shtyp butonin"</item>
     <item msgid="2630618799033509548">"Kodi PIN nga pajisja homologe"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"Asnjë"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"VPN IPSec me çelësa të ndarë paraprakisht dhe verifikimin Xauth"</item>
     <item msgid="2484564813864139237">"Rrjeti VPN IPSec me certifikata dhe me verifikimin Xauth"</item>
     <item msgid="68918911194507915">"Rrjeti VPN IPSec me certifikata dhe me vërtetim hibrid"</item>
+    <item msgid="4631647675167100375">"Rrjeti VPN IKEv2/IPSec me certifikata dhe vërtetimin e emrit të përdoruesit/fjalëkalimit"</item>
+    <item msgid="8812228622975052811">"Rrjeti VPN IKEv2/IPSec me çelësat e ndarë paraprakisht"</item>
+    <item msgid="6630554779981113046">"Rrjeti VPN IKEv2/IPSec me certifikata"</item>
   </string-array>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"Asnjë"</item>
diff --git a/res/values-sq/config.xml b/res/values-sq/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-sq/config.xml
+++ b/res/values-sq/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-sq/strings.xml b/res/values-sq/strings.xml
index ca571cc..f2dccc0 100644
--- a/res/values-sq/strings.xml
+++ b/res/values-sq/strings.xml
@@ -31,49 +31,17 @@
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Aktivizo opsionet e zhvilluesit në fillim."</string>
     <string name="header_category_wireless_networks" msgid="303445626075235229">"Rrjetet me valë"</string>
     <string name="header_category_system" msgid="1665516346845259058">"Sistemi"</string>
-    <string name="radio_info_data_connection_enable" msgid="7500945447906187613">"Aktivizo lidhjen e të dhënave"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"Çaktivizo lidhjen e të dhënave"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"VoLTE e përgatitur"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"Telefonata me video u parapërgatit"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"Telefonata me Wifi u parapërgatit"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"EAB/prania është parapërgatitur"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"Të dhënat e Crbs"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"Aktivizo DSDS"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"Të riniset pajisja?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"Duhet të rinisësh pajisjen tënde për të ndryshuar këtë cilësim."</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"Rinis"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"Anulo"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"Fuqia e radios së rrjetit celular"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"Shiko librin e adresave të kartës SIM"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"Shiko numrat me telefonim të përzgjedhur"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"Shiko numrat e telefonit të shërbimit"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"Statusi i Shërbimit IMS"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"Statusi IMS"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"Regjistruar"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"Paregjistruar"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"I disponueshëm"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"I padisponueshëm"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"Regjistrimi IMS: <xliff:g id="STATUS">%1$s</xliff:g>\nZëri përmes LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nZëri përmes Wi-Fi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideo telefonatat: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nNdërfaqja UT: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"Në shërbim"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Jashtë shërbimit"</string>
     <string name="radioInfo_service_emergency" msgid="6838935881091760942">"Vetëm telefonata urgjence"</string>
     <string name="radioInfo_service_off" msgid="6184928420860868571">"Radioja joaktive"</string>
     <string name="radioInfo_roaming_in" msgid="8892550453644088692">"Roaming"</string>
     <string name="radioInfo_roaming_not" msgid="3137594549464975054">"Jo në roaming"</string>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"Në gjendje joaktive"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"Po bie zilja"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"Telefonatë në vazhdim"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"I shkëputur"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"Po lidhet"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"Lidhur"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"I pezulluar"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"E panjohur"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"paketa"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"bajte"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"Shkëput hapësirën për ruajtje të USB-së"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"Shkëput kartën SD"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"Spastro hapësirën për ruajtje të USB-së"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"Bëje tekstin në ekran më të vogël ose më të madh."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Zvogëlo"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Zmadho"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"Teksti shembull"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"Magjistari i mrekullueshëm i Ozit"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"Kapitulli 11: Qyteti i mrekullueshëm i smeraldtë i Ozit"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"Duhet të rinisësh pajisjen tënde për të ndryshuar këtë cilësim."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"Rinis"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"Anulo"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"Pajisjet e ofruara për median"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"Pajisjet e ofruara për telefonata"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"Të lidhur aktualisht"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"Pajisjet për median"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"Pajisjet për telefonata"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"Pajisjet e tjera"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Pajisjet e ruajtura"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth-i do të aktivizohet për çiftimin"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Preferencat e lidhjes"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"Porta që shkrove nuk është e vlefshme."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"Përfaqësuesi HTTP përdoret zakonisht nga shfletuesi. Ai mund të mos përdoret nga aplikacionet e tjera."</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"URL-ja e përfaqësuesit: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"ID-ja dytësore aktuale:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"ID-ja dytësore e kartës SIM të parazgjedhur të të dhënave:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"Gjerësia e bandës DL (kbps):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"Gjerësia e bandës UL (kbps):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"Informacionet e vendndodhjes të rrjetit celular (e vjetruar):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"Konfigurimi i kanalit fizik LTE:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"Shpejtësia e rifreskimit të informacioneve të rrjetit celular"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"Të gjitha informacionet e matjes së rrjetit celular:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"Shërbimi i të dhënave:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"Roaming:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"Ridrejtimi i telefonatës:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"Numri i rivendosjeve të PPP-së që nga rifillimi:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"Rrjeti aktual:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"Të dhënat e marra:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"Shërbimi zanor:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"Fuqia e sinjalit:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"Statusi i telefonatës zanore:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"Të dhënat e dërguara:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"Mesazh në pritje:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"Numri i telefonit:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"Përzgjidh brezin e radios"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"Lloji i rrjetit të zërit:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"Lloji i rrjetit të të dhënave:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"Zgjidh indeksin e telefonit"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"Cakto llojin e preferuar të rrjetit:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"Verifiko emrin e pritësit (www.google.com) IPv4:"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"Verifiko emrin e pritësit (www.google.com) IPv6:"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"Testi i klientit HTTP:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"Ekzekuto testin e verifikimit \"ping\""</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"Përditëso"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"Rifresko"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"Ndrysho kontrollin e DNS-së"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"Informacion/cilësime specifike për OEM"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"Cakto modalitetin e brezit të radios"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"Po ngarkon listën e brezave…"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"Cakto"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"Pa sukses"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"Me sukses!"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"Ndryshimet do të zbatohen kur të rilidhet kablloja e USB-së."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"Aktivizo hapësirën ruajtëse masive të USB-së"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"Bajte në total:"</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"Lëvize në fund"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"Hiq gjuhën"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"Zgjidh aktivitetin"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"Informacioni i pajisjes"</string>
     <string name="display_label" msgid="3056320781191343221">"Ekrani"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"Informacion mbi tabletin"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"Informacioni i telefonit"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"Hapësira për ruajtje e USB-së"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"Karta SD"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"Cilësimet e përfaqësuesit"</string>
@@ -306,9 +234,6 @@
     <string name="airplane_mode" msgid="3196085857882526817">"Modaliteti i aeroplanit"</string>
     <string name="wireless_networks_settings_title" msgid="8557542379234105369">"Wi-Fi dhe rrjetet"</string>
     <string name="radio_controls_summary" msgid="9028430178697624501">"Menaxho Wi‑Fi, Bluetooth, modalitetin \"në aeroplan\", rrjetet celulare dhe rrjetet VPN"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"Të dhënat celulare"</string>
-    <string name="calls_title" msgid="6334813967619899114">"Lejo telefonatat"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"Mesazhe MMS"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"Lejo përdorimin e të dhënave nëpërmjet rrjetit celular"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"Lejo përdorimin e të dhënave kur je në roaming"</string>
     <string name="roaming" msgid="3055365654530847985">"Roaming"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"Lidhu me shërbimet e të dhënave kur je në roaming"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"Ke humbur lidhshmërinë e të dhënave sepse u largove nga rrjeti vendor me të dhënat e roaming-ut që çaktivizove."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"Aktivizoje"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"Mund të shkaktohen tarifa të larta."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"Nëse lejon përdorim të dhënash gjatë kohës që je në roaming, mund të shkaktosh tarifa të konsiderueshme!\n\nKy cilësim ndikon te të gjithë përdoruesit në këtë tablet."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"Nëse lejon përdorim të dhënash gjatë kohës që je në roaming, mund të shkaktosh tarifa të konsiderueshme!\n\nKy cilësim ndikon te të gjithë përdoruesit në këtë telefon."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"Mund të zbatohen tarifat e roaming-ut."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"Kur lejon roaming-un e të dhënave, mund të zbatohen tarifat e roaming-ut.\n\nKy cilësim ndikon te të gjithë përdoruesit në këtë tablet."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"Kur lejon roaming-un e të dhënave, mund të zbatohen tarifat e roaming-ut.\n\nKy cilësim ndikon te të gjithë përdoruesit në këtë telefon."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"Të lejohet shfrytëzimi i roaming-ut?"</string>
     <string name="networks" msgid="5184501333492775095">"Zgjedhja e operatorit"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"Zgjidh një operator rrjeti"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"Çaktivizuar nga administratori"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"Shfaq opsionin e bllokimit"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"Shfaq opsionin e butonit të energjisë që çaktivizon Smart Lock, shkyçjen biometrike dhe njoftimet në ekranin e kyçjes"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"Shkyçja e zgjeruar vetëm për agjentët e besimit"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"Nëse janë aktivizuar, agjentët e besimit do ta mbajnë pajisjen tënde të shkyçur për një kohë më të gjatë, por nuk mund ta shkyçin më një pajisje të kyçur."</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"Kyçe ekranin kur të humbasë besimi"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"Nëse është aktivizuar, pajisja do të kyçet kur agjenti i fundit i besimit të humbasë besimin"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"Asnjë"</string>
@@ -390,7 +313,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"Cakto \"Vendndodhjen time\", shkyçjen e ekranit, kyçjen e kartës SIM, kyçjen e hapësirës për ruajtjen e kredencialeve"</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"Cakto \"Vendndodhja ime\", shkyçjen e ekranit, kyçjen e hapësirës ruajtëse të kredencialeve"</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"Privatësia"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"Çaktivizuar nga administratori"</string>
+    <string name="disabled_by_administrator_summary" msgid="5424846182313851124">"Nuk ofrohet"</string>
     <string name="security_status_title" msgid="6958004275337618656">"Statusi i sigurisë"</string>
     <string name="security_dashboard_summary_face" msgid="4198949293847206382">"Kyçja e ekranit, shkyçja me fytyrë"</string>
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Kyçja e ekranit, gjurma e gishtit"</string>
@@ -693,7 +616,6 @@
       <item quantity="other">Duhet të ketë më pak se <xliff:g id="NUMBER_1">%d</xliff:g> shifra</item>
       <item quantity="one">Duhet të ketë më pak se <xliff:g id="NUMBER_0">%d</xliff:g> shifër</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"Duhet të përmbajë vetëm shifrat 0-9"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"Administratori i pajisjes nuk e lejon përdorimin e një kodi PIN të përdorur së fundi"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"Kodet e zakonshme PIN janë bllokuar nga administratori i TI-së. Provo një kod tjetër PIN."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"Kjo nuk mund të përfshijë një karakter të pavlefshëm"</string>
@@ -724,6 +646,10 @@
       <item quantity="other">Duhet të përmbajë të paktën <xliff:g id="COUNT">%d</xliff:g> karaktere që nuk janë shkronja</item>
       <item quantity="one">Duhet të përmbajë të paktën 1 karakter që nuk është shkronjë</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="other">Duhet të përmbajë të paktën <xliff:g id="COUNT">%d</xliff:g> karaktere jonumerike</item>
+      <item quantity="one">Duhet të përmbajë të paktën 1 karakter jonumerik</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"Administratori i pajisjes nuk e lejon përdorimin e një fjalëkalimi të përdorur së fundi"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"Fjalëkalimet e zakonshme janë bllokuar nga administratori i TI-së. Provo një fjalëkalim tjetër."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"Nuk lejohet një sekuencë shifrash në rritje, në zbritje ose me përsëritje"</string>
@@ -837,19 +763,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2,4 GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"Identifikohu"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"Hap sajtin"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"<xliff:g id="REMAINING_TIME">%1$s</xliff:g> të mbetura"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"Skadon më <xliff:g id="EXPIRY_TIME">%1$s</xliff:g>"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"Trokit këtu për t\'u identifikuar në rrjet"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"<xliff:g id="REQUESTER">%s</xliff:g> kërkon të aktivizojë Wi-Fi"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"<xliff:g id="REQUESTER">%s</xliff:g> kërkon të çaktivizojë Wi-Fi"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"Verifiko kodin me bajte për apl. e korrigjueshme"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Lejo që ART të verifikojë kodin me bajte për aplikacionet e korrigjueshme"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"Shfaq shpejtësinë e rifreskimit"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Shfaq shpejtësinë aktuale të rifreskimit të ekranit"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"Lejo shkëmbimin e të dhënave kur tableti prek një tjetër pajisje"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"Lejo shkëmbimin e të dhënave kur telefoni prek një tjetër pajisje"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"Lejo shkëmbimin e të dhënave kur tableti prek një pajisje me NFC"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"Lejo shkëmbimin e të dhënave kur telefoni prek një pajisje me NFC"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"Aktivizo NFC-në"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"Të dhënat e shkëmbimit NFC mes kësaj pajisjeje dhe pajisjeve ose objektivave të tjera në afërsi, siç janë terminalet e pagesave, lexuesit e qasjes dhe reklamat apo etiketat interaktive."</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"NFC-ja e sigurt"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Kërkohet shkyçja e pajisjes për NFC"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"Lejo përdorimin e \"Pagesave me NFC\" dhe \"Tranzitit\" vetëm kur ekrani është i shkyçur"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Dërgimi me rreze i Androidit"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"Gati për të transmetuar përmbajtjen e aplikacionit përmes NFC-së"</string>
@@ -923,8 +855,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Aktivizo"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Skanimi i Wi‑Fi është aktivizuar"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Opsionet e përparuara"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"\"Opsionet e përparuara\" të listës me lëshim poshtë. Trokit dy herë për ta palosur."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"\"Opsionet e përparuara\" të listës me lëshim poshtë. Trokit dy herë për ta zgjeruar."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Opsionet e përparuara të listës me lëshim poshtë"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"zgjero"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"Emri i rrjetit"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"Fut SSID-në"</string>
     <string name="wifi_security" msgid="9095934643631406913">"Siguria"</string>
@@ -934,6 +866,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"Statusi"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"Shpejtësia e lidhjes së transmetimit"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"Merr shpejtësinë e lidhjes"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"Shpejtësia e lidhjes"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"Frekuenca"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"Adresa e IP-së"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"U ruajt me"</string>
@@ -941,6 +874,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"Metoda EAP"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"Vërtetimi i Fazës 2"</string>
     <string name="wifi_eap_ca_cert" msgid="8033404008276298886">"Certifikata CA"</string>
+    <string name="wifi_eap_ocsp" msgid="8713933962516871238">"Statusi i certifikatës në linjë"</string>
     <string name="wifi_eap_domain" msgid="8304301470752333203">"Domeni"</string>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"Certifikata e përdoruesit"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"Identiteti"</string>
@@ -957,6 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"Zgjidh të paktën një brez për zonën e qasjes për internet për Wi‑Fi:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"Cilësimet e IP-së"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"Privatësia"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"Abonim"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"Shiko ose ndrysho abonimin"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"Adresa MAC e rastësishme"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"Shto një pajisje"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"Vendos në qendër më poshtë kodin QR për ta shtuar pajisjen te “<xliff:g id="SSID">%1$s</xliff:g>”"</string>
@@ -966,12 +902,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"Ndaj Wi‑Fi"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"Skano këtë kod QR për t\'u lidhur me “<xliff:g id="SSID">%1$s</xliff:g>” dhe ndaj fjalëkalimin"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"Skano këtë kod QR për t\'u lidhur me “<xliff:g id="SSID">%1$s</xliff:g>”"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"Kodi QR nuk mund të lexohej Vendose përsëri kodin në qendër dhe provo përsëri"</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"Provo sërish. Nëse problemi vazhdon, kontakto me prodhuesin e pajisjes"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"Ndodhi një gabim"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"Sigurohu që pajisja është në prizë, e karikuar dhe e ndezur"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"Sigurohu që pajisja është në prizë, e karikuar dhe e ndezur. Nëse problemi vazhdon, kontakto me prodhuesin e pajisjes"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"Shtimi i “<xliff:g id="SSID">%1$s</xliff:g>” nuk mbështetet nga kjo pajisje"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"Provo ta lëvizësh pajisjen më pranë pikës së qasjes Wi‑Fi/router-it"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"Kontrollo fjalëkalimin dhe provo përsëri"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"Kontakto me prodhuesin e pajisjes"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"Kontrollo lidhjen dhe provo përsëri"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"Zgjidh rrjetin"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"Për të lidhur pajisjen, zgjidh një rrjet"</string>
@@ -984,11 +922,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"Po ndan Wi‑Fi me këtë pajisje…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"Po lidhet…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"Ndaje zonën e qasjes për internet"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"Verifiko që je ti"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"Verifiko që je ti"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"Fjalëkalimi i Wi‑Fi: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"Fjalëkalimi i zonës së qasjes për internet: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"Lidh automatikisht"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"Lejo që telefoni të lidhet automatikisht në afërsi të këtij rrjeti"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"Lejo që tableti të lidhet automatikisht në afërsi të këtij rrjeti"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"Shto pajisje"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"Përdor një kod QR për të shtuar një pajisje në këtë rrjet"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"Kodi QR nuk është në format të vlefshëm"</string>
     <string name="retry" msgid="7542103800274026915">"Riprovo"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"Ndaje me përdoruesit e tjerë të pajisjes"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(i pandryshuar)"</string>
@@ -1000,6 +942,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"Nuk u specifikua asnjë certifikatë. Lidhja jote nuk do të jetë private."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"Emri i rrjetit është shumë i gjatë."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"Duhet të specifikohet një domen."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"Kërkohet certifikimi."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"Ofrohet WPS"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (Ofrohet WPS)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"Rrjeti Wi-Fi i operatorit celular"</string>
@@ -1051,7 +994,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"Cilësimet e Wi‑Fi"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"Adresa MAC"</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_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>
@@ -1103,7 +1047,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"Përdor zonën e qasjes së internetit për të krijuar një rrjet Wi‑Fi për pajisjet e tua të tjera. Zona e qasjes e internetit ofron internet duke përdorur lidhjen e të dhënave celulare. Mund të zbatohen tarifa shtesë për të dhënat celulare."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"Aplikacionet mund të krijojnë një zonë qasjeje të internetit për të ndarë përmbajtje me pajisjet në afërsi."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Çaktivizo automatikisht zonën e qasjes për internet"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"Zona e qasjes për internet e Wi‑Fi do të çaktivizohet nëse nuk është lidhur asnjë pajisje"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Kur nuk është lidhur asnjë pajisje"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"Po aktivizon zonën e qasjes..."</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"Po çaktivizon zonën e qasjes..."</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> është aktiv"</string>
@@ -1112,6 +1056,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"Konfigurimi i zonës së qasjes Wi‑Fi"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"Zona e qasjes e AndroidAP WPA2 PSK"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"Zona Android e qasjes së lirë për internet"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"Të ruhet ky rrjet?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"<xliff:g id="APPNAME">%1$s</xliff:g> dëshiron të ruajë një rrjet në telefonin tënd"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"<xliff:g id="APPNAME">%1$s</xliff:g> dëshiron të ruajë një rrjet në tabletin tënd"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"Po ruan…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"U ruajt"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"Nuk mund të ruhet. Provo sërish."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"Do t\'i ruash rrjetet?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"<xliff:g id="APPNAME">%1$s</xliff:g> dëshiron t\'i ruajë këto rrjete në telefonin tënd"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"<xliff:g id="APPNAME">%1$s</xliff:g> dëshiron t\'i ruajë këto rrjete në tabletin tënd"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"Po ruhen <xliff:g id="NUMBER">%d</xliff:g> rrjete…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"Rrjetet e ruajtura"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"Telefonata me Wi-Fi"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"Zgjero telefonatat me Wi‑Fi"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"Aktivizo telefonatat me Wi‑Fi për të zgjeruar mbulimin"</string>
@@ -1138,16 +1093,18 @@
     <string name="emergency_address_title" msgid="3490633500025717573">"Adresa e urgjencës"</string>
     <string name="emergency_address_summary" msgid="3022628750270626473">"Përdoret si vendndodhja jote kur kryen një telefonatë urgjence me Wi‑Fi"</string>
     <string name="private_dns_help_message" msgid="851221502063782306"><annotation id="url">"Mëso më shumë"</annotation>" rreth funksioneve të \"DNS-së private\""</string>
+    <string name="private_dns_mode_on" msgid="8878679071975375696">"Aktive"</string>
     <string name="wifi_calling_pref_managed_by_carrier" msgid="129524064888622179">"Cilësimi menaxhohet nga operatori celular"</string>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"Aktivizo \"Telefonatën me Wi-Fi\""</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"Aktivizo \"Telefonatën me Wi-Fi\""</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"\"Telefonata me Wi‑Fi\" nuk mbështetet për %1$s"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"U shkëput nga <xliff:g id="SSID">%1$s</xliff:g>"</string>
     <string name="carrier" msgid="1755020806290963951">"Operatori celular"</string>
     <string name="display_settings_title" msgid="626835071804834218">"Paraqitja"</string>
     <string name="sound_settings" msgid="5514582720435174014">"Tingulli"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"Volumet"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"Efektet e muzikës"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"Volumi i ziles"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"Volumi i ziles dhe njoftimeve"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"Dridhje kur është \"në heshtje\""</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"Zëri i parazgjedhur i njoftimit"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"Toni i ziles"</string>
@@ -1272,13 +1229,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"Orari"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"Asnjëra"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"Aktivizohet nga perëndimi deri në agim"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"Aktivizohet në kohë të personalizuar"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"Statusi"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"Joaktiv / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"Nuk do të aktivizohet asnjëherë automatikisht"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"Do të aktivizohet automatikisht kur të perëndojë dielli"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"Do të aktivizohet automatikisht në <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"Aktiv / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"Nuk do të çaktivizohet asnjëherë automatikisht"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"Do të çaktivizohet automatikisht në agim"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"Do të çaktivizohet automatikisht në <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"Çaktivizo deri në <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"Çaktivizo deri në <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"\"Tema e errët\" përdor një sfond të zi për të të ndihmuar ta mbash baterinë të karikuar për më shumë kohë në disa ekrane. Oraret e \"Temës së errët\" presin që të aktivizohen kur ekrani është joaktiv."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"Koha e pritjes së ekranit"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"Ekrani çaktivizohet"</string>
@@ -1290,7 +1252,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"Ndrysho imazhin e sfondit"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"Personalizo ekranin"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"Zgjidh imazhin e sfondit nga"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"Personalizo Pixel"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"Personalizo telefonin"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"Provo stile, imazhe sfondi të ndryshme etj."</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"Mbrojtësi i ekranit"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Gjatë karikimit ose lidhjes me stacionin"</string>
@@ -1379,6 +1341,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"Shkëput hapësirën ruajtëse të USB-së dhe shiko hapësirën ruajtëse të lirë"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"Shkëput kartën SD. Shiko hapësirën e lirë për ruajtje."</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (foleja %1$d e kartës SIM)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"Për shikim, zgjidh rrjetin e ruajtur"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"Numri i telefonit"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (foleja %1$d e kartës SIM)"</string>
@@ -1405,6 +1368,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"Roaming"</string>
     <string name="status_operator" msgid="4335640583552058491">"Rrjeti"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"Adresa MAC e Wi‑Fi"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"Adresa MAC e Wi‑Fi të pajisjes"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"Adresa e Bluetooth-it"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Numri i serisë"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Koha aktive"</string>
@@ -1617,6 +1581,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Rivendosja e cilësimeve të APN-së me parazgjedhje përfundoi."</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"Opsionet e rivendosjes"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"Rrjeti, aplikacionet ose pajisja mund të rivendosen"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"Aplikacionet mund të rivendosen"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"Rivendos Wi-Fi, lidhjen celulare dhe Bluetooth"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"Kjo do të rivendosë të gjitha cilësimet e rrjetit, duke përfshirë:\n\n"<li>"Wi‑Fi"</li>\n<li>"Të dhënat celulare"</li>\n<li>"Bluetooth"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"Spastro kartat SIM të shkarkuara"</string>
@@ -1666,6 +1631,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"Zona e qasjes së internetit aktive"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"Ndarja e internetit"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"Nuk mund të ndajë internetin ose të përdorë zonat e qasjes në internet kur \"Kursyesi i të dhënave\" është aktiv"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"Vetëm zona e qasjes për internet"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"Vetëm USB"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"Vetëm Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"Zona e qasjes për internet, USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"Zona e qasjes për internet, Bluetooth"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB, Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"Zona e qasjes për internet, USB, Bluetooth"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"Interneti nuk ndahet me pajisje të tjera"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"Ndarja e internetit"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Mos përdor zonën e qasjes për internet me Wi-Fi"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Ndaje internetin vetëm me USB"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Ndaje internetin vetëm me Bluetooth"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Ndaje internetin vetëm me USB dhe Bluetooth"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"Ndarje përmes USB-së"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"Ndaj lidhjen e internetit të telefonit nëpërmjet USB-së"</string>
@@ -1756,9 +1734,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"Informacioni i sigurisë"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"Nuk ke një lidhje të dhënash. Për të parë këtë informacion tani, shko te %s nga një kompjuter i lidhur me internetin."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"Po ngarkon..."</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"Përdor kodin PIN"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"Përdor motivin"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"Përdor fjalëkalimin"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"Vendos kyçjen e ekranit"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"Për siguri, cakto një fjalëkalim"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"Për të përdorur gjurmën e gishtit, vendos fjalëkalimin"</string>
@@ -1767,8 +1742,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"Për të përdorur gjurmën e gishtit, vendos kodin PIN"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"Për siguri, cakto një motiv"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"Fut përsëri fjalëkalimin"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"Fut fjalëkalimin e punës"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"Konfirmo motivin"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"Fut motivin e punës"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"Fut përsëri kodin PIN"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"Fut kodin PIN të punës"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"Fjalëkalimet nuk përputhen"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"Kodet PIN nuk përputhen"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"Vizato sërish motivin tënd"</string>
@@ -1779,6 +1757,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"Për të përdorur shkyçjen me fytyrë, cakto fjalëkalimin"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"Për të përdorur shkyçjen me fytyrë, cakto motivin"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"Për të përdorur kyçjen me fytyrë, cakto kodin PIN"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"Harrove fjalëkalimin?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"Harrove motivin?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"Harrove kodin PIN?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"Përdor motivin e pajisjes për të vazhduar"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"Fut kodin PIN të pajisjes për të vazhduar"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"Fut fjalëkalimin e pajisjes për të vazhduar"</string>
@@ -1846,6 +1827,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"Lejo të gjitha burimet e apl."</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"Aplikacionet e hapura së fundi"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"Shiko të <xliff:g id="COUNT">%1$d</xliff:g> aplikacionet"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"Kontakto me administratorin e teknologjisë së informacionit"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"Ata mund të të ndihmojnë të rivendosësh kodin PIN, motivin ose fjalëkalimin"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"Tableti dhe të dhënat e tua personale janë më të cenueshme për t\'u sulmuar nga aplikacione të panjohura. Duke instaluar aplikacionet nga ky burim, ti pranon se je plotësisht përgjegjës për çdo dëm ndaj tabletit ose çdo humbje të dhënash që mund të rezultojë nga përdorimi i tyre."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"Telefoni dhe të dhënat e tua personale janë më të cenueshme për t\'u sulmuar nga aplikacione të panjohura. Duke instaluar aplikacionet nga ky burim, ti pranon se je plotësisht përgjegjës për çdo dëm ndaj telefonit ose çdo humbje të dhënash që mund të rezultojë nga përdorimi i tyre."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"Pajisja dhe të dhënat e tua personale janë më të cenueshme nga sulmet nga aplikacionet e panjohura. Duke instaluar aplikacionet nga ky burim, ti pranon se je përgjegjës për çdo dëm ndaj pajisjes tënde ose çdo humbje të të dhënave që mund të rezultojë nga përdorimi i tyre."</string>
@@ -1897,7 +1880,7 @@
     <string name="default_emergency_app" msgid="1929974800666613803">"Aplikacioni i emergjencave"</string>
     <string name="reset_app_preferences" msgid="8861758340732716573">"Rivendos preferencat e apl."</string>
     <string name="reset_app_preferences_title" msgid="8935136792316050759">"Të rivendosen preferencat e aplikacionit?"</string>
-    <string name="reset_app_preferences_desc" msgid="1377296810290814749">"Kjo do t\'i rivendosë të gjitha preferencat për:\n\n"<li>"Aplikacionet e çaktivizuara"</li>\n<li>"Njoftimet e aplikacioneve të çaktivizuara"</li>\n<li>"Aplikacionet e parazgjedhura për veprimet"</li>\n<li>"Kufizimet e të dhënave në sfond për aplikacionet"</li>\n<li>"Çdo kufizim të lejes"</li>\n\n" Nuk do të humbësh asnjë të dhënë aplikacioni."</string>
+    <string name="reset_app_preferences_desc" msgid="6509978724602405805">"Kjo do t\'i rivendosë të gjitha preferencat për:\n\n"<li>" Aplikacionet e çaktivizuara"</li>\n<li>" Njoftimet e aplikacioneve të çaktivizuara"</li>\n<li>" Aplikacionet e parazgjedhura për veprimet"</li>\n<li>" Kufizimet e të dhënave në sfond për aplikacionet"</li>\n<li>" Çdo kufizim të autorizimeve"</li>\n\n" Nuk do të humbësh asnjë të dhënë aplikacioni."</string>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"Rivendos aplikacionet"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"Menaxho hapësirën"</string>
     <string name="filter" msgid="9039576690686251462">"Filtro"</string>
@@ -2097,7 +2080,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"Audioja dhe teksti në ekran"</string>
     <string name="display_category_title" msgid="6638191682294461408">"Ekrani"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"Kontrollet e ndërveprimeve"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"Shërbimet e shkarkuara"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"Aplikacionet e shkarkuara"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"Eksperimentale"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"Raportimet e funksioneve"</string>
     <string name="talkback_title" msgid="8756080454514251327">"Talkback"</string>
@@ -2105,27 +2088,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"Trokit artikujt në ekran për t\'i dëgjuar të lexuar me zë të lartë"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"Preferencat e titrave"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"Zmadhimi"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"Zona e zmadhimit"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"Aktivizimi i zmadhimit"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"Zgjidh zonën(at) e zmadhimit që dëshiron të përdorësh kur zmadhon ekranin"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"Ekrani i plotë"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"Një pjesë e ekranit"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"Ekrani i plotë dhe një pjesë e ekranit"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"Zmadho të gjithë ekranin"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"Zmadho një pjesë të ekranit"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Cilësimet e \"Zmadhimit\""</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"Zmadho me tre trokitje"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Zmadho me shkurtore"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Zmadho me shkurtore dhe tri trokitje"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"Rreth <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"Opsionet"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"Zmadho ekranin"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"Trokit 3 herë për ta zmadhuar"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Trokit te një buton për të zmadhuar"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><b>"Për të zmadhuar"</b>", trokit me shpejtësi tek ekrani 3 herë.\n"<ul><li>"Zvarrit 2 ose më shumë gishta për të lëvizur"</li>\n<li>"Afro 2 ose më shumë gishta për të rregulluar zmadhimin"</li></ul>\n\n<b>"Për të zmadhuar përkohësisht"</b>", trokit me shpejtësi 3 herë tek ekrani dhe mbaj të shtypur gishtin në trokitjen e tretë.\n"<ul><li>"Zvarrite për të zhvendosur ekranin"</li>\n<li>"Ngrije gishtin për ta zvogëluar"</li></ul>\n\n"Nuk mund të zmadhosh te tastiera dhe te shiriti i navigimit."</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"Kur aktivizohet zmadhimi, mund të zmadhosh mbi ekranin tënd.\n\n"<b>"Për të zmadhuar"</b>", nis zmadhimin, më pas trokit diku në ekran.\n"<ul><li>"• Zvarrit 2 ose më shumë gishta për të lëvizur"</li>\n<li>"• Bashko 2 ose më shumë gishta për të rregulluar zmadhimin"</li></ul>\n\n<b>"Për të zmadhuar përkohësisht"</b>", nis zmadhimin, më pas prek dhe mbaj të shtypur diku në ekran.\n"<ul><li>"• Zvarrit për të lëvizur rrotull në ekran"</li>\n<li>"• Ngri gishtin për të zvogëluar"</li></ul>\n\n"Nuk mund të zmadhosh mbi tastierë ose shiritin e navigimit."</string>
+    <string name="accessibility_screen_magnification_summary" msgid="7617931632990040045">"Zmadho me shpejtësi në ekran për të parë përmbajtjen më qartë.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Për ta zmadhuar:&lt;/b&gt;&lt;br/&gt;	1. Përdor shkurtoren për të filluar zmadhimin&lt;br/&gt;	2. Trokit mbi ekran&lt;br/&gt;	3. Zvarrit 2 gishta për të lëvizur nëpër ekran&lt;br/&gt;	4. Bashko 2 gishta për të rregulluar zmadhimin&lt;br/&gt;	5. Përdor shkurtoren për të ndaluar zmadhimin&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Për ta zmadhuar përkohësisht:&lt;/b&gt;&lt;br/&gt;	1. Përdor shkurtoren për të filluar zmadhimin&lt;br/&gt;	2. Prek dhe mbaj prekur diku në ekran&lt;br/&gt;	3. Zvarrit gishtin për të lëvizur nëpër ekran&lt;br/&gt;	4. Ngrije gishtin për të ndaluar zmadhimin"</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Kur aktivizohet zmadhimi, mund të zmadhosh mbi ekranin tënd.\n\n"<b>"Për të zmadhuar"</b>", nis zmadhimin, më pas trokit diku në ekran.\n"<ul><li>"Zvarrit 2 ose më shumë gishta për të lëvizur"</li>\n<li>"Afro 2 ose më shumë gishta për të rregulluar zmadhimin"</li></ul>\n\n<b>"Për të zmadhuar përkohësisht"</b>", nis zmadhimin dhe më pas prek dhe mbaj të shtypur diku në ekran.\n"<ul><li>"Zvarrit për të lëvizur nëpër ekran"</li>\n<li>"Ngri gishtin për të zvogëluar"</li></ul>\n\n"Nuk mund të zmadhosh te tastiera ose shiriti i navigimit."</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Përdor butonin e qasshmërisë për të hapur"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Përdor gjestin për të hapur"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"Përdor gjestin e ri të qasshmërisë"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"Për të aktivizuar ose çaktivizuar këtë shërbim, trokit mbi butonin e qasshmërisë<xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>në fund të ekranit.\n\nPër të kaluar mes shërbimeve, prek dhe mbaj të shtypur butonin e qasshmërisë."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"Për të aktivizuar ose çaktivizuar këtë shërbim, rrëshqit shpejt lart nga fundi i ekranit me dy gishta.\n\nPër të kaluar nga një shërbim te tjetri, rrëshqit shpejt lart me dy gishta dhe mbaje të shtypur."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"Për të aktivizuar ose çaktivizuar këtë shërbim, rrëshqit lart nga fundi i ekranit me tre gishta.\n\nPër të kaluar mes pajisjeve, rrëshqit shpejt lart me tre gishta dhe mbaje prekur."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"Për të aktivizuar ose çaktivizuar një shërbim qasshmërie, rrëshqit shpejt lart nga fundi i ekranit me dy gishta.\n\nPër të kaluar mes pajisjeve, rrëshqit shpejt lart me dy gishta dhe mbaje prekur."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"Për të aktivizuar ose çaktivizuar një shërbim qasshmërie, rrëshqit shpejt lart nga fundi i ekranit me tre gishta.\n\nPër të kaluar mes pajisjeve, rrëshqit shpejt lart me tre gishta dhe mbaje prekur."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"Për të aktivizuar ose çaktivizuar këtë shërbim, trokit mbi butonin e qasshmërisë <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> në fund të ekranit.\n\nPër të kaluar mes shërbimeve, prek dhe mbaj prekur butonin e qasshmërisë."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"Për të aktivizuar ose çaktivizuar këtë shërbim, rrëshqit shpejt lart nga fundi i ekranit me dy gishta.\n\nPër të kaluar nga një shërbim te tjetri, rrëshqit shpejt lart me dy gishta dhe mbaje të shtypur."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"Për të aktivizuar ose çaktivizuar këtë shërbim, rrëshqit lart nga fundi i ekranit me tre gishta.\n\nPër të kaluar mes pajisjeve, rrëshqit shpejt lart me tre gishta dhe mbaje prekur."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"Për të aktivizuar ose çaktivizuar një shërbim qasshmërie, rrëshqit shpejt lart nga fundi i ekranit me dy gishta.\n\nPër të kaluar mes pajisjeve, rrëshqit shpejt lart me dy gishta dhe mbaje prekur."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"Për të aktivizuar ose çaktivizuar një shërbim qasshmërie, rrëshqit shpejt lart nga fundi i ekranit me tre gishta.\n\nPër të kaluar mes pajisjeve, rrëshqit shpejt lart me tre gishta dhe mbaje prekur."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"E kuptova"</string>
+    <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Shkurtorja e <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_edit_summary_software" msgid="2820923641553461297">"Butoni i qasshmërisë"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture" msgid="8078659880723370597">"Rrëshqit lart me 2 gishta"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture_talkback" msgid="7422753388389160524">"Rrëshqit lart me 3 gishta"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software" msgid="4796192466943479849">"Trokit mbi butonin e qasshmërisë"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8922102767509399352">"Trokit te butoni i qasshmërisë <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> në fund të ekranit"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"Rrëshqit shpejt lart nga fundi i ekranit me 2 gishta"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"Rrëshqit shpejt lart nga fundi i ekranit me 3 gishta"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Mbaj butonat e volumit"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"Shtyp dhe mbaj shtypur të dy butonat e volumit për 1 sekondë"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Trokit tri herë mbi ekran"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"Trokit me shpejtësi mbi ekran 3 herë. Kjo shkurtore mund të ngadalësojë pajisjen tënde."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"Të përparuara"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"Butoni i \"Qasshmërisë\" është caktuar te <xliff:g id="SERVICE">%1$s</xliff:g>. Për të përdorur zmadhimin, prek dhe mbaj butonin e \"Qasshmërisë\" dhe më pas zgjidh zmadhimin."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"Gjesti i qasshmërisë është caktuar në <xliff:g id="SERVICE">%1$s</xliff:g>. Për të përdorur zmadhimin, rrëshqit lart me dy gishta nga fundi i ekranit dhe mbaje. Më pas zgjidh zmadhimin."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"Shkurtorja e tastit të volumit"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"Shërbimi i shkurtores"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Cilësimet e shkurtores"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"Lejo nga ekrani i kyçjes"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"Kur shkurtorja është aktive, mund të shtypësh të dy tastet e volumit për 3 sekonda për të nisur një funksion të qasshmërisë."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"Tekst me kontrast të lartë"</string>
@@ -2149,24 +2157,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"Zgjidh se për sa kohë të shfaqen mesazhet që të kërkojnë të kryesh një veprim, por që janë të dukshme vetëm përkohësisht.\n\nKy cilësim nuk mbështetet nga të gjitha aplikacionet."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"Vonesa e prekjes dhe e mbajtjes shtypur"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"Kthimi i ngjyrës"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"Mund të ndikojë te cilësia e funksionimit"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"Koha e qëndrimit pa lëvizur"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"Përdor anasjelljen e ngjyrave"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"Anasjellja e ngjyrave i bën të errëta ekranet e çelura. Kjo i ndihmon personat e ndjeshëm ndaj dritës së fortë që ta shohin ekranin më lehtë.&lt;br/&gt;&lt;br/&gt;Shënim: Ngjyrat e errëta do të bëhen të çelura. Ngjyrat do të ndryshojnë në media dhe imazhe. Mund të përdorësh gjithashtu \"Temën e errët\" (Cilësimet &gt; Ekrani)."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"Klikim automatik (koha e qëndrimit pa lëvizur)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"Nëse po përdor një mi, mund të caktosh që kursori të kryejë automatikisht një veprim kur ai të ndalojë lëvizjen për një kohë të caktuar."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"Vonesa përpara klikimit"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"Mos përdor klikimin automatik (e parazgjedhur)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"I shkurtër"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0,2 sekonda"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"Mesatar"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0,6 sekonda"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"I gjatë"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 sekondë"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"Personalizo"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"Më e shkurtër"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"Më e gjatë"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"Koha e klikimit automatik"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"Fuqia e dridhjeve dhe e prekjes"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Dridhjet e njoftimeve"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Dridhjet e ziles"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Reagimi me prekje"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"Përdor shërbimin"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"Përdor <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"Hap <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"Përdor korrigjimin e ngjyrave"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"Përdor titrat"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"Shfaq titrat"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"Paraqitja e titrave"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"Madhësia e tekstit, stili i titrave"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"Opsione të tjera"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"Jo të gjitha aplikacionet e mbështesin këtë cilësim."</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"Butoni i qasshmërisë"</string>
+    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"Rrëshqitja shpejt lart me 2 gishta nga poshtë"</string>
+    <string name="accessibility_shortcut_type_hardware" msgid="4834144210432451916">"Mbaj butonat e volumit"</string>
+    <string name="accessibility_shortcut_type_triple_tap" msgid="7717524216825494543">"Trokit tri herë tek ekrani"</string>
     <string name="accessibility_hearingaid_instruction_continue_button" msgid="3367260988024430722">"Vazhdo"</string>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"Aparatet e dëgjimit"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"Nuk ka asnjë aparat dëgjimi të lidhur"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"Shto aparate dëgjimi"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"Për të çiftuar aparatin e dëgjimit, gjej e trokit pajisjen tënde në ekranin tjetër."</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"Sigurohu që aparatet e tua të dëgjimit të jenë në modalitetin e çiftimit."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"Për të çiftuar aparatet e tua të dëgjimit, gjej dhe trokit te pajisja jote në ekranin tjetër. Sigurohu që aparatet e tua të dëgjimit të jenë në modalitetin e çiftimit."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> është aktive"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> aparate dëgjimi të ruajtura</item>
@@ -2178,25 +2204,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Ky shërbim nuk po funksionon mirë."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Shfaq në Cilësimet e shpejta"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"Modaliteti i korrigjimit"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="other">Vonesë jashtëzakonisht e shkurtër (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Vonesë jashtëzakonisht e shkurtër (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"E kuqe - e gjelbër"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"E gjelbër - e kuqe"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"E kaltër - e verdhë"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"Deuteranomali"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"Protanomali"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"Tritanomali"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="other">Vonesë jashtëzakonisht e shkurtër (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekonda)</item>
+      <item quantity="one">Vonesë jashtëzakonisht e shkurtër (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> sekondë)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="other">Vonesë shumë e shkurtër (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Vonesë shumë e shkurtër (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="other">Vonesë shumë e shkurtër (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekonda)</item>
+      <item quantity="one">Vonesë shumë e shkurtër (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> sekondë)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="other">Vonesë e shkurtër (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Vonesë e shkurtër (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="other">Vonesë e gjatë (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekonda)</item>
+      <item quantity="one">Vonesë e shkurtër (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> sekondë)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="other">Vonesë e gjatë (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Vonesë e gjatë (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="other">Vonesë e gjatë (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekonda)</item>
+      <item quantity="one">Vonesë e gjatë (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> sekondë)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="other">Vonesë shumë e gjatë (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Vonesë shumë e gjatë (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="other">Vonesë shumë e gjatë (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekonda)</item>
+      <item quantity="one">Vonesë shumë e gjatë (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> sekondë)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekonda</item>
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> sekondë</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"Zilja <xliff:g id="SUMMARY_RING">%1$s</xliff:g>, njoftimi <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>, prekja <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"Zilja dhe njoftimi janë vendosur në \"Joaktiv\""</string>
@@ -2513,7 +2549,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"Kur ishte në prizë për herë të fundit për <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"Totalet e përdorimit"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"Rifresko"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"Sistemi operativ Android"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"Serveri i medias"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"Optimizimi i aplikacionit"</string>
     <string name="battery_saver" msgid="7737147344510595864">"Kursyesi i baterisë"</string>
@@ -2594,8 +2629,7 @@
     <string name="tts_play" msgid="2945513377250757221">"Luaj"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"Ruajtja e kredencialeve"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"Instalo nga hapësira ruajtëse"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"Instalo nga karta SD"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"Instalo një certifikatë"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"Instalo certifikatat nga hapësira ruajtëse"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"Instalo certifikatat nga karta SD"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"Pastro kredencialet"</string>
@@ -2615,6 +2649,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"Hapësira ruajtëse e kredencialeve është spastruar."</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"Ruajtja e kred. s\'mund të fshihej."</string>
     <string name="usage_access_title" msgid="1580006124578134850">"Aplikacionet me qasje përdorimi"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"Certifikata CA"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"Cert. e përdoruesit të VPN-së dhe apl."</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"Certifikata e Wi‑Fi"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"Privatësia jote është në rrezik"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"Certifikatat CA përdoren nga faqet e internetit, aplikacionet dhe VPN-të për enkriptim Instalo vetëm certifikata CA nga organizatat që u beson. \n\n Nëse instalon një certifikatë CA, zotëruesi i certifikatës mund të qaset tek informacionet e tua, siç janë fjalëkalimet, mesazhet ose të dhënat e kartave të kreditit, nga faqet e internetit që viziton ose aplikacionet që përdor, edhe nëse ato informacione janë të enkriptuara."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"Mos e instalo"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"Instaloje gjithsesi"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"Certifikata nuk u instalua"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"Sinjali i telefonimit të urgjencës"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Cakto sjelljen kur kryhet një telefonatë urgjence"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Rezervimi"</string>
@@ -2642,10 +2684,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"Çaktivizo dhe çinstalo"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"Apl. e admin. të pajisjes"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"Nuk ka asnjë aplikacion administrimi të pajisjes në dispozicion"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"Personal"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"Punë"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"Kufizo qasjen tek evidenca e telefonatave dhe SMS-ve"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"Vetëm aplikacionet e parazgjedhura të mesazheve dhe telefonit kanë leje për evidencën e telefonatave dhe SMS-ve"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"Nuk mundësohet asnjë agjent i besuar"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"Të aktivizohet aplikacioni i administratorit të pajisjes?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"Aktivizo këtë aplikacion të administratorit të pajisjes"</string>
@@ -2659,6 +2697,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"Opsionet e tjera janë çaktivizuar nga administratori yt"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"Më shumë detaje"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"Regjistri i njoftimeve"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"Historiku i njoftimeve"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"Sot"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"Shtyrë"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"Hequr së fundi"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> njoftime</item>
+      <item quantity="one"><xliff:g id="NUMBER_0">%d</xliff:g> njoftim</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"Zilja dhe dridhja e telefonit."</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"Detajet e rrjetit"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"Sinkronizimi u aktivizua"</string>
@@ -3008,7 +3054,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"Kufizimet"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"Hiq kufizimet"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"Ndrysho kodin PIN"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"Shfaq njoftimet"</string>
     <string name="help_label" msgid="2896538416436125883">"Ndihmë dhe komente"</string>
     <string name="support_summary" msgid="1034146931237148885">"Artikuj ndihme, telefoni dhe biseda, fillimi"</string>
     <string name="user_account_title" msgid="6389636876210834864">"Llogaria për përmbajtjen"</string>
@@ -3033,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"Telefonatat me 4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Përdor shërbimet LTE për të përmirësuar komunikimet zanore dhe të tjera (rekomandohet)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Përdor shërbimet 4G për të përmirësuar komunikimet zanore dhe të tjera (rekomandohet)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Zbulimi i kontakteve"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Lejo që operatori yt celular të zbulojë se cilat veçori mbështesin kontaktet e tua."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Të aktivizohet zbulimi i kontakteve?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Aktivizimi i kësaj veçorie do të lejojë që operatori yt celular të ketë qasje te numrat e telefonit në kontaktet e tua për të zbuluar cilat veçori telefonate mbështesin ato."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Lloji i preferuar i rrjetit"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (rekomandohet)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"Mesazhet MMS"</string>
@@ -3077,7 +3126,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"Telefono me"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"Zgjidh një kartë SIM"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"SIM <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"Karta SIM është bosh"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"Emri i kartës SIM"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"Fut emrin e kartës SIM"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"Foleja e kartës SIM %1$d"</string>
@@ -3087,6 +3135,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"Zgjidh kartën SIM"</string>
     <string name="color_orange" msgid="216547825489739010">"portokalli"</string>
     <string name="color_purple" msgid="6603701972079904843">"Vjollcë"</string>
+    <string name="color_pink" msgid="8596872110888626708">"Rozë"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"Nuk janë futur karta SIM"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"Statusi i kartës SIM"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"Statusi i kartës SIM (foleja %1$d e SIM)"</string>
@@ -3100,7 +3149,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"Kartat SIM kanë ndryshuar."</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Trokit për ta konfiguruar"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"Karta SIM e preferuar për"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Pyet çdo herë"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Kërkohet përzgjedhja"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"Zgjedhja e kartës SIM"</string>
@@ -3118,6 +3166,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"Bluetooth, modaliteti \"me makinë\""</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"Bluetooth, NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"Bluetooth"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"Nuk ofrohet sepse NFC është joaktive"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"Apl. dhe njoftimet"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Aplikacionet së fundi, aplikacionet e parazgjedhura"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Qasja te njoftimet nuk ofrohet për aplikacionet në profilin e punës."</string>
@@ -3128,13 +3177,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"Cilësimet"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"wifi, wi-fi, lidhja e rrjetit, internet, pa tel, të dhëna, wi fi"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"Njoftimi i Wi‑Fi, njoftimi i wifi"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"përdorimi i të dhënave"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"Ndalo dridhjet, trokit, tastiera"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"Përdor formatin 24-orësh"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"Shkarko"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"Hap me"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"Aplikacionet"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"brezi orar"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"Koka e bisedës"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"Koka e bisedës, sistem, sinjalizim, dritare, dialog, shfaq, mbi aplikacionet e tjera, vizato"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"Elektriku, drita, feneri"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"wifi, wi-fi, ndrysho, kontrolli"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"celular, celular, operator celular, pa tel, të dhëna, 4g, 3g, 2g, lte"</string>
@@ -3158,7 +3208,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"mos, mos shqetëso, ndërprit, ndërprerje, pushim"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"në afërsi, vendndodhje, historik, raportim, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"llogaria"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"llogari, shto një llogari, profili i punës, shto llogari"</string>
     <string name="keywords_users" msgid="3497517660077620843">"kufizimi, kufizo, të kufizuara"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"korrigjim teksti, saktë, zë, dridhje, automatike, gjuhë, gjest, sugjero, sugjerim, temë, ofenduese, fjalë, emoji. ndërkombëtare"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"rivendos, preferencat, e parazgjedhur"</string>
@@ -3196,6 +3246,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"memorie, memorie specifike, të dhëna, fshi, pastro, e lirë, hapësirë"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"e lidhur, pajisje, kufje, kufje me mikrofon, altoparlant, pa tela, çift, kufje të vogla, muzikë, media"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"sfond, ekran, ekrani i kyçjes, temë"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"forma e ikonës, ngjyra e theksit, fonti"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"i parazgjedhur, asistenti"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"pagesë, e parazgjedhur"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"njoftim hyrës"</string>
@@ -3205,18 +3256,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"prekje, dridhje, ndjeshmëri"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"kursyesi i baterisë, i ngjitur, vazhdoj, kursyesi i energjisë, bateria"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"rutina, planifikimi, kursyesi i baterisë, kursyesi i energjisë, bateria, automatike, përqind"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"profili i punës"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"volte, telefonatë e përparuar, telefonatë me 4g"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"shto gjuhën, shto një gjuhë"</string>
     <string name="default_sound" msgid="6604374495015245195">"Zëri i parazgjedhur"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"Volumi i ziles në <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"Volumi i ziles dhe njoftimeve në <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Volum, dridhje, \"Mos shqetëso\""</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"Zilja u caktua me dridhje"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"Zilja u vendos në heshtje"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"Volumi i ziles në 80%"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"Volumi i ziles dhe njoftimeve në 80%"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Volumi i medias"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Volumi i transmetimit"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"Volumi i telefonatës"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"Volumi i alarmit"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"Volumi i ziles"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"Volumi i ziles dhe njoftimeve"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"Volumi i njoftimit"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"Zilja e telefonit"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"Zëri i parazgjedhur i njoftimit"</string>
@@ -3224,6 +3276,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"Tingulli i parazgjedhur i njoftimit"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"Tingulli i parazgjedhur i alarmit"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"Lësho dridhje për telefonatat"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"Mos lësho asnjëherë dridhje"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"Gjithmonë me dridhje"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"Me dridhje në fillim e më pas zilja gradualisht"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"Tinguj të tjerë"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"Tonet e bllokut të tasteve"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"Tingujt e kyçjes së ekranit"</string>
@@ -3247,6 +3302,7 @@
       <item quantity="one">1 aktiv</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Mos shqetëso"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Merr njoftime vetëm nga aplikacionet dhe personat e rëndësishëm"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Kufizo ndërprerjet"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Aktivizo \"Mos shqetëso\""</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"Përjashtime"</string>
@@ -3273,7 +3329,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Blloko shqetësimet vizuale"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Lejo sinjalet vizuale"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"Kur modaliteti \"Mos shqetëso\" është aktiv"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"Lejo ndërprerjet që lëshojnë tinguj"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"Kufizo njoftimet"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Asnjë tingull nga njoftimet"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"Do të shikosh njoftime në ekranin tënd"</string>
@@ -3304,7 +3360,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"Tingull dhe dridhje"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"Tingull, dridhje dhe disa shenja vizuale të njoftimeve"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"Tingull, dridhje dhe shenja vizuale të njoftimeve"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"Njoftimet që nevojiten për aktivitetin bazë të telefonit dhe statusin nuk do të fshihen asnjëherë"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"Njoftimet që nevojiten për aktivitetin bazë të telefonit dhe statusin nuk do të fshihen asnjëherë"</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"Asnjë"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"opsione të tjera"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"Shto"</string>
@@ -3334,10 +3390,12 @@
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> orare mund të aktivizohen automatikisht</item>
       <item quantity="one">1 orar mund të aktivizohet automatikisht</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"Çaktivizo zërin e pajisjes, por lejo përjashtimet"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"Përjashtimet"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"Orari"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"Shiko të gjitha përjashtimet"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"Përjashtimet kur modaliteti \"Mos shqetëso\" është aktiv"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"Personat"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"Aplikacionet"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"Alarmet dhe ndërprerjet e tjera"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"Oraret"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"Njoftimet e kaluara në heshtje"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"Kur modaliteti \"Mos shqetëso\" është aktiv, tingujt dhe dridhjet do të jenë në heshtje, përveçse për artikujt që lejon më sipër."</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"Çaktivizo audion për të gjitha përveçse për"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"Pa zë"</string>
@@ -3381,16 +3439,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"Njoftimet me përshtatje"</string>
     <string name="asst_capability_prioritizer_title" msgid="1181272430009156556">"Përparësia e njoftimeve me përshtatje"</string>
     <string name="asst_capability_prioritizer_summary" msgid="954988212366568737">"Caktoji automatikisht njoftimet me prioritet më të ulët te \"Me rëndësi të ulët\""</string>
+    <string name="asst_capability_ranking_title" msgid="312998580233257581">"Renditja e njoftimeve me përshtatje"</string>
+    <string name="asst_capability_ranking_summary" msgid="2293524677144599450">"Rendit automatikisht njoftimet sipas përshtatshmërisë"</string>
     <string name="asst_capabilities_actions_replies_title" msgid="4392470465646394289">"Veprimet dhe përgjigjet e sugjeruara"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"Shfaq automatikisht veprimet dhe përgjigjet e sugjeruara"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"Aktivizo historikun e njoftimeve për të monitoruar njoftimet e kaluara dhe njoftimet e shtyra"</string>
+    <string name="notification_history" msgid="8663811361243456201">"Historiku i njoftimeve"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"Aktivizo historikun"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"Çaktivizo historikun"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"Historiku i njoftimeve është çaktivizuar"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"shiko cilësimet e njoftimeve"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Lejo shtyrjen e njoftimeve"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"Fshih ikonat nga njoftimet me rëndësi të ulët"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"Ikonat nga njoftimet me rëndësi të ulët nuk shfaqen në shiritin e statusit"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"Lejo pikat e njoftimeve"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"Shfaq shiritin e bisedave të fundit"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Flluskat"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"Disa njoftime mund të shfaqen si flluska në ekran"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"Disa njoftime dhe përmbajtje të tjera mund të shfaqen si flluska në ekran. Për ta hapur një flluskë, trokit tek ajo. Për ta hequr, zvarrite poshtë në ekran."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Flluskat"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"Mesazhet e reja do të shfaqen në ekran"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"Lejo që <xliff:g id="APP_NAME">%1$s</xliff:g> të shfaqë disa njoftime si flluska"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"Aktivizo flluskat"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"Për të aktivizuar flluskat për këtë aplikacion, në fillim duhet t\'i aktivizosh ato për pajisjen tënde. Kjo ka ndikim tek aplikacionet e tjera ku ke aktivizuar më parë flluskat."</string>
@@ -3408,6 +3476,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"Shfaq në strehën me tërheqje poshtë dhe në ekranin e kyçjes"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"Shfaq në strehën me tërheqje poshtë dhe shiritin e statusit"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"Shfaq në strehën me tërheqje poshtë, shiritin e statusit dhe në ekranin e kyçjes"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"Fshih njoftimet në heshtje në shiritin e statusit"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"Drita me pulsim"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"Ekrani i kyçjes"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"Kapërce ekranin e kyçjes"</string>
@@ -3438,6 +3507,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"Sjellja"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"Lejo tingullin"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"Mos i shfaq asnjëherë njoftimet"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"Bashkëbisedime"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"Bashkëbisedim"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"Nuk është bashkëbisedim"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"Hiq nga seksioni i bashkëbisedimit"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"Ky është bashkëbisedim"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"Shto te një seksion bashkëbisedimi"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"Menaxho bashkëbisedimet"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"Bashkëbisedime të rëndësishme"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"Të gjitha bashkëbisedimet"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"Shfaq si flluskë bashkëbisedimet e rëndësishme"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"Bashkëbisedimet e rëndësishme shfaqen në krye të strehës me tërheqje poshtë. Mund t\'i caktosh po ashtu që të shfaqen si flluskë dhe të ndërpresin \"Mos shqetëso\"."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"Shfaq në heshtje dhe minimizo"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"Shfaq në heshtje"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"Bëj tingull"</string>
@@ -3456,7 +3536,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"Të ndihmon të fokusohesh pa tinguj ose dridhje"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"Të tërheq vëmendjen me tinguj ose dridhje"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"Kur pajisja është e shkyçur, shfaq njoftimet si një banderolë përgjatë kreut të ekranit"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"Shfaq njoftimet"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"Të gjitha njoftimet e <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"Njoftimet me përshtatje"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="other">~<xliff:g id="NUMBER_1">%d</xliff:g> njoftime në ditë</item>
@@ -3477,6 +3557,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"Njoftimet me përshtatje"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"Asnjë"</string>
     <string name="no_notification_listeners" msgid="2839354157349636000">"Asnjë apl. i instaluar nuk ka kërkuar qasje te njoftimet."</string>
+    <string name="notification_access_detail_switch" msgid="46386786409608330">"Lejo qasjen te njoftimet"</string>
     <string name="notification_assistant_security_warning_title" msgid="2972346436050925276">"Të lejohet qasja e njoftimeve për <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
     <string name="notification_assistant_security_warning_summary" msgid="3119843404577399036">"<xliff:g id="NOTIFICATION_ASSISTANT_NAME">%1$s</xliff:g> do të jetë në gjendje të lexojë të gjitha njoftimet, duke përfshirë informacione personale të tilla si emrat e kontakteve dhe tekstin e mesazheve që merr. Ai do të jetë po ashtu në gjendje t\'i modifikojë ose t\'i heqë njoftimet ose të aktivizojë butonat e veprimeve që përmbajnë. \n\nKjo do t\'i japë aplikacionit aftësinë për të aktivizuar ose çaktivizuar \"Mos shqetëso\" dhe për të ndryshuar cilësimet përkatëse."</string>
     <string name="notification_listener_security_warning_title" msgid="5791700876622858363">"Të lejohet qasja te njoftimet për <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
@@ -3538,8 +3619,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"U krye"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"Rëndësia"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"Drita me pulsim"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"Dridhje"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"Dridhje"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"Tingulli"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"E rëndësishme"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"Shto te shtëpia"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"Fshi"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"Riemërto"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"Emri i orarit"</string>
@@ -3593,6 +3676,10 @@
       <item quantity="other"><xliff:g id="NUM_PEOPLE">%d</xliff:g> të tjerë</item>
       <item quantity="one">1 tjetër</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Bisedat"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"Nga të gjitha bisedat"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"Nga bisedat e rëndësishme"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"Mos lejo asnjë bisedë"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"Lejo mesazhet"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"Sigurohu që mesazhet e lejuara të lëshojnë tingull, kontrollo nëse pajisja jote është caktuar me zile, dridhje ose heshtje."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"Për \"<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>\", mesazhet hyrëse janë të bllokuara. Mund t\'i rregullosh cilësimet për të lejuar shokët, familjen ose kontakte të tjera të lidhen me ty."</string>
@@ -3606,15 +3693,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"Asnjë"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"Mos lejo asnjë telefonatë"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"Mos lejo mesazhe"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"Lejo alarmet"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"Alarmet"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"Nga kohëmatësit, alarmet, sistemet e sigurisë dhe aplikacione të tjera"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"alarmet"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"Luaj tingujt e medias"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"Tingujt e medias"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"Nga videot, lojërat dhe media të tjera"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"media"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"Lejo tingujt e prekjes"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"Tingujt e prekjes"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"Nga tastiera dhe butonat e tjerë"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"tingujt e prekjes"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"Lejo alarmet rikujtuese"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"Alarmet rikujtuese"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"Nga detyrat dhe alarmet rikujtuese"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"alarmet rikujtuese"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"Lejo ngjarjet"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"Ngjarjet"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"Nga ngjarjet e ardhshme të kalendarit"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Lejo aplikacionet ta anulojnë"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"Përjashtimet e aplikacioneve"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3657,6 +3749,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"Lejo që njoftimet e vendosura në heshtje nga \"Mos shqetëso\" të aktivizojnë ekranin"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"Cilësimet e njoftimeve"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"Në rregull"</string>
+    <string name="suggestion_button_close" msgid="6865170855573283759">"Mbyll"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Dërgo përshtypjet për këtë pajisje"</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"Fut kodin PIN të administratorit"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"Aktivizuar"</string>
@@ -3667,6 +3760,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Zhgozhdimi kërkon PIN-in"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Kërko fjalëkalim para heqjes nga gozhdimi"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Kyçe pajisjen kur heq gozhdimin"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Konfirmo fshirjen e kartës SIM"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"Verifiko që je ti përpara se të fshish një kartë SIM të shkarkuar"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"Ky profil pune menaxhohet nga:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"I menaxhuar nga <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(Eksperimentale)"</string>
@@ -3741,8 +3836,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"Të gjitha apl."</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Aplikacionet e instaluara"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Aplikacionet e çastit"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"Personale"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"Punë"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"Aplikacionet: Të gjitha"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"Çaktivizuar"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"Kategoritë: Rëndësia urgjente"</string>
@@ -3754,6 +3847,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"Aplikacion i panjohur"</string>
     <string name="app_permissions" msgid="8666537659217653626">"Menaxheri i lejeve"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"Apl. që marrin të dhëna nga <xliff:g id="APPS">%1$s</xliff:g>"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"Aplikacionet që përdorin <xliff:g id="APPS">%1$s</xliff:g> dhe më shumë"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"Trokit për ta zgjuar"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"Trokit dy herë diku në ekran për ta zgjuar pajisjen."</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"Lidhjet po hapen"</string>
@@ -3765,9 +3859,14 @@
       <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> aplikacione që hapin lidhjet e mbështetura</item>
       <item quantity="one">Një aplikacion që hap lidhjet e mbështetura</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"Hap në këtë aplikacion"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"Lejo që aplikacioni të hapë lidhjet e mbështetura"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"Pyet çdo herë"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"Mos e hap në këtë aplikacion"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"Mos lejo që aplikacioni të hapë lidhjet"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="other">Aplikacioni kërkon të administrojë <xliff:g id="COUNT_1">%d</xliff:g> lidhje</item>
+      <item quantity="one">Aplikacioni kërkon të administrojë <xliff:g id="COUNT_0">%d</xliff:g> lidhje</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"Aplikacioni kërkon të administrojë lidhjet e mëposhtme:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"Të parazgjedhura"</string>
     <string name="default_for_work" msgid="537558180548617528">"Të parazgjedhura për punën"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"Asistenti dhe hyrja zanore"</string>
@@ -3911,8 +4010,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"Shfaq mbi aplikacionet e tjera"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Lejo shfaqjen mbi aplikacionet e tjera"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"Lejoje këtë aplikacion të shfaqet në krye të aplikacioneve të tjera që po përdor. Kjo mund të ndërhyjë me përdorimin tënd të atyre aplikacioneve ose mund të ndryshojë mënyrën se si ata duken ose sillen."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"Qasje te të gjithë skedarët"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"Lejo qasjen për të menaxhuar të gjithë skedarët"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Lejo që ky aplikacion të lexojë, modifikojë dhe fshijë të gjithë skedarët në këtë pajisje ose në çdo volum hapësire ruajtjeje të lidhur. Nëse lejohet, aplikacioni mund të ketë qasje te skedarët pa dijeninë tënde të qartë."</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"Mund të ketë qasje te të gjithë skedarët"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"vr realitet virtual dëgjues stereo ndihmues shërbim"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"sistem sinjalizim dritare dialog shfaq mbi aplikacionet e tjera"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"Shfaq mbi aplikacionet e tjera"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"<xliff:g id="COUNT_0">%1$d</xliff:g> nga <xliff:g id="COUNT_1">%2$d</xliff:g> gjithsej lejohen të shfaqen mbi aplikacionet e tjera"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"Aplikacionet me leje"</string>
@@ -4078,6 +4180,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"<xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g> të përdorura"</string>
     <string name="data_overusage" msgid="3680477320458707259">"<xliff:g id="ID_1">^1</xliff:g> mbi kufi"</string>
     <string name="data_remaining" msgid="6316251496381922837">"<xliff:g id="ID_1">^1</xliff:g> të mbetura"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"Grafiku shfaq të përdorimin e të dhënave mes <xliff:g id="START_DATE">%1$s</xliff:g> dhe <xliff:g id="END_DATE">%2$s</xliff:g>."</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"Nuk ka të dhëna në këtë diapazon datash"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="other">%d ditë të mbetura</item>
       <item quantity="one">%d ditë e mbetur</item>
@@ -4141,14 +4245,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"madhësia e pakos"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"njoftimi u sinjalizua"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"tingulli"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"dridhje"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"motivi"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"e parazgjedhur"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"kanal"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"asnjë"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"Objekti i renditjes mungon."</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"Objekti i renditjes nuk e përmban këtë çelës."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"Krijimi i temës"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"Parazgjedhja e pajisjes"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"Prerja e ekranit"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"prerje ekrani, e prerë"</string>
@@ -4237,8 +4337,12 @@
     <string name="information_label" msgid="6939310810756569298">"Informacione"</string>
     <string name="low_label" msgid="6525629096999711220">"I ulët"</string>
     <string name="high_label" msgid="357503396626018487">"I lartë"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"Ndjeshmëria më e lartë mund të bjerë në konflikt me gjestet e aplikacionit përgjatë anëve të ekranit."</string>
+    <string name="left_edge" msgid="1513576842959071849">"Skaji i majtë"</string>
+    <string name="right_edge" msgid="1505309103265829121">"Skaji i djathtë"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"Ndjeshmëria më e lartë mund të jetë në konflikt me gjestet e aplikacionit përgjatë anëve të ekranit."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"Ndjeshmëria e kthimit pas"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"Cilësimet e gjestit"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"navigimi me gjeste, ndjeshmëria e kthimit prapa, gjesti i kthimit prapa"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"Trokit dy herë për të kontrolluar telefonin"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"Trokit dy herë për të kontrolluar tabletin"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"Trokit dy herë për të kontrolluar pajisjen"</string>
@@ -4393,7 +4497,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"Aktivizo përgatitjen e operatorit celular"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"Përditëso modalitetin \"Mos shqetëso\""</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"Vendos njoftimet në pauzë për të qëndruar i fokusuar"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"Ky funksion nuk ofrohet në këtë pajisje"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"Veçoria nuk ofrohet"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"Kjo veçori është çaktivizuar sepse ngadalëson telefonin tënd"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"Matjet GNSS me fuqi të plotë"</string>
@@ -4403,20 +4506,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"Zgjidh aplikacionin e aktivizuar për ANGLE"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"Nuk është caktuar aplikacion i aktivizuar për ANGLE"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"Aplikacioni i aktivizuar për ANGLE: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"Preferencat e \"Drejtuesit të lojës\""</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"Modifiko cilësimet e \"Drejtuesit të lojës\""</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"Kur \"Drejtuesi i lojës\" është i aktivizuar, mund të zgjedhësh të përdorësh drejtuesin e përditësuar të grafikës për aplikacionet e instaluara në pajisje."</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"Aktivizo për të gjitha aplikacionet"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"Zgjidh drejtuesin e grafikës"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"E parazgjedhur"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"Drejtuesi i lojës"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"Drejtuesi para publikimit zyrtar"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"Drejtuesi i grafikës së sistemit"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"Preferencat e drejtuesit të grafikës"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"Modifiko cilësimet e drejtuesit të grafikës"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"Kur ka disa drejtues grafike, mund të zgjedhësh të përdorësh drejtuesin e përditësuar të grafikës për aplikacionet e instaluara në pajisje."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"Aktivizo për të gjitha aplikacionet"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"Zgjidh drejtuesin e grafikës"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"E parazgjedhur"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"Drejtuesi i lojës"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"Drejtuesi i zhvilluesit"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Drejtuesi i grafikës së sistemit"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Ndryshimet e pajtueshmërisë së aplikacionit"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Aktivizo ose çaktivizo ndryshimet e përputhshmërisë së aplikacionit"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Ndryshimet të aktivizuara si parazgjedhje"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Ndryshimet të çaktivizuara si parazgjedhje"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"Cilësimi nuk mbështetet në këtë telefon"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"Cilësimi nuk mbështetet në këtë tablet"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"Cilësimi nuk mbështetet në këtë pajisje"</string>
@@ -4435,6 +4544,12 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"Pajisja"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Nuk ofrohet gjatë telefonatave"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"Nuk ofrohet"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"Shto daljet"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"Grupi"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 pajisje e zgjedhur"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> pajisje të zgjedhura"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"Prano telefonatën te"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Ky emër APN nuk mund të ndryshohet."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Përmirëso kohëzgjatjen e baterisë së tabletit"</string>
@@ -4552,10 +4667,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Vetëm një kartë SIM e shkarkuar mund të jetë aktive në të njëjtën kohë.\n\nKalimi te <xliff:g id="CARRIER1">%1$s</xliff:g> nuk do ta anulojë shërbimin e <xliff:g id="CARRIER2">%2$s</xliff:g>."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Kalo te <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Spastro kartën SIM"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Dëshiron ta pastrosh këtë kartë SIM të shkarkuar?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Spastrimi i kësaj karte SIM e heq shërbimin e <xliff:g id="CARRIER_0">%1$s</xliff:g> nga kjo pajisje.\n\nShërbimi për <xliff:g id="CARRIER_1">%2$s</xliff:g> nuk do të anulohet."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Spastro"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Karta SIM po spastrohet…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Karta SIM nuk mund të spastrohet"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Kjo kartë SIM nuk mund të spastrohet për shkak të një gabimi.\n\nRinise pajisjen dhe provo përsëri."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Lloji i rrjetit të preferuar"</string>
@@ -4580,7 +4691,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Regjim i pavlefshëm i rrjetit <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Shpërfille."</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Emrat e pikës së qasjes"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Nuk ofrohet kur është e lidhur me <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"Informacioni mjekësor, kontaktet e urgjencës"</string>
     <string name="see_more" msgid="7499355691042812723">"Shiko më shumë"</string>
     <string name="see_less" msgid="2642392725363552793">"Shiko më pak"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"Pajisja që do të përdoret me <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
@@ -4589,11 +4699,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"Ndodhi diçka. Aplikacioni ka anuluar kërkesën për të zgjedhur një pajisje."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"Lidhja ishte e suksesshme"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"Shfaq të gjitha"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> pajisje të lidhura</item>
-      <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_0">%1$d</xliff:g> pajisje e lidhur</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"Nuk ka asnjë pajisje me Bluetooth"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"Po kërkohet për pajisjen…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"Po lidhet me pajisjen…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"Majtas"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"Djathtas"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Kasa"</string>
@@ -4603,6 +4710,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"Nuk ofrohen në modalitetin e aeroplanit"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"Detyro \"modalitetin e desktopit\""</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Detyro \"modalitetin e desktopit\" eksperimental në ekrane dytësore"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"Aktivizo sizecompat në formë të lirë"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"Lejo aplikacionet sizecompat që të jenë në formë të lirë"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Anulo detyrimin e errësimit"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"Anulon funksionin e detyrimit të errësimit që të jetë gjithmonë aktiv"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"Privatësia"</string>
@@ -4639,6 +4748,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Ke instaluar së fundi këtë aplikacion."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Ndrysho daljen"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Aktualisht po luhet në <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (e shkëputur)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Nuk mund të ndërrohet. Trokit për të provuar përsëri."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Informacione të rëndësishme"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"VAZHDO"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"JO, FALEMINDERIT"</string>
@@ -4666,8 +4777,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"Kombinimi i kartës SIM"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Informacioni i politikës sate të punës"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Cilësimet menaxhohen nga administratori yt i TI-së"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"Administruesi i raportit të gabimeve në kod"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Përcakton se cili aplikacion administron shkurtoren e \"Raportit të defekteve në kod\" në pajisjen tënde."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Personal"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"Puna"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"Parazgjedhja e sistemit"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"Kjo zgjedhje nuk është më e vlefshme. Provo përsëri."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"Ndalo transmetimin"</string>
 </resources>
diff --git a/res/values-sr/arrays.xml b/res/values-sr/arrays.xml
index 1c975e0..e98808c 100644
--- a/res/values-sr/arrays.xml
+++ b/res/values-sr/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"Одмах"</item>
     <item msgid="463591454172790676">"5 секунди"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"Не проверавај"</item>
+    <item msgid="5703177653586269306">"Затражи статус сертификата"</item>
+    <item msgid="326388247868439528">"Захтевај статус сертификата"</item>
+    <item msgid="1090956283885790552">"Захтевај статусе свих непоузданих сертификата"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"Притискање дугмета"</item>
     <item msgid="2630618799033509548">"PIN са равноправног уређаја"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"Ниједан"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"IPSec VPN са унапред дељеним кључевима и Xauth потврдом идентитета"</item>
     <item msgid="2484564813864139237">"IPSec VPN са сертификатима и Xauth потврдом идентитета"</item>
     <item msgid="68918911194507915">"IPSec VPN са сертификатима и хибридном потврдом идентитета"</item>
+    <item msgid="4631647675167100375">"VPN са IKEv2/IPSec протоколом са сертификатима и потврдом идентитета корисничким именом/лозинком"</item>
+    <item msgid="8812228622975052811">"VPN са IKEv2/IPSec протоколом са унапред дељеним кључевима"</item>
+    <item msgid="6630554779981113046">"VPN са IKEv2/IPSec протоколом са сертификатима"</item>
   </string-array>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"Нема"</item>
diff --git a/res/values-sr/config.xml b/res/values-sr/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-sr/config.xml
+++ b/res/values-sr/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index 0708354..a9feb22 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -32,49 +32,17 @@
     <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="radio_info_data_connection_enable" msgid="7500945447906187613">"Омогући везу за пренос података"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"Онемогући везу за пренос података"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"Додељено за VoLTE"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"Видео позивање је додељено"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"Позивање преко Wifi везе је додељено"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"EAB/Додељено присуство"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"Cbrs подаци"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"Омогући DSDS"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"Желите ли да рестартујете уређај?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"Рестартујте уређај да бисте променили ово подешавање."</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"Рестартуј"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"Откажи"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"Напајање за радио на мобилним уређајима"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"Прикажи SIM адресар"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"Прикажи бројеве за фиксно бирање"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"Прикажи бројеве за сервисно бирање"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"Статус услуге за размену тренутних порука"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"Статус размене тренутних порука"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"Регистровано je"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"Није регистровано"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"Доступно"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"Недоступно"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"Регистрација услуге за размену тренутних порука: <xliff:g id="STATUS">%1$s</xliff:g>\nГлас преко LTE-а: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nГлас преко WiFi-ја: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nВидео позив: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT интерфејс: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"Ради"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Не ради"</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>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"Неактиван/на"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"Звоњава"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"Позивање је у току"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"Веза је прекинута"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"Повезивање"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"Повезано"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Обустављено"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Непознато"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"пак."</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"бајта(ова)"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"ИД клијента"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"Искључи USB меморију"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"Ослобађање SD картице"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"Брисање USB меморије"</string>
@@ -84,7 +52,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"Омогућава да текст на екрану буде мањи или већи."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Умањи"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Увећај"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"Пример текста"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"Чаробњак из Оза"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"Поглавље 11: Чудесни Смарагдни град Оза"</string>
@@ -175,9 +142,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"Рестартујте уређај да бисте променили ово подешавање."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"Рестартуј"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"Откажи"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"Доступни медијски уређаји"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"Доступни уређаји за позивање"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"Тренутно повезани"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"Медијски уређаји"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"Уређаји за позивање"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"Други уређаји"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Сачувани уређаји"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth ће се укључити ради упаривања"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Повезивања"</string>
@@ -210,46 +177,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"Унели сте неважећи порт."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"Прегледач користи HTTP прокси, али друге апликације не могу да га користе."</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"PAC URL: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"Актуелни резервисани ИД:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"Резервисани ИД подразумеваног SIM-а за податке:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"DL пропусни опсег (kb/s):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"UL пропусни опсег (kb/s):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"Информације о локацији предајника (застарело):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"Конфигурација LTE физичког канала:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"Брзина освежавања информација о предајнику:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"Све информације о мерењу за предајник:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"Услуга преноса података:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"Роминг:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"Преусмеравање позива:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"Број PPP ресетовања од покретања:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"Актуелна мрежа:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"Примљени подаци:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"Гласовна услуга:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"Јачина сигнала:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"Статус гласовног позива:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"Послати подаци:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"Порука на чекању:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"Број телефона:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"Изаберите радио опсег"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"Тип гласовне мреже:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"Тип мреже за пренос података:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"Изаберите индекс телефона"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"Подесите жељени тип мреже:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"IPv4 имена хоста за пинговање (www.google.com):"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"IPv6 имена хоста за пинговање (www.google.com):"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"Тест за HTTP клијента:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"Покрени тест пинговања"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"Ажурирај"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"Освежи"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"Укључи/искључи DNS проверу"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"Информације/подешавања специфична за OEM"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"Подесите режим радио опсега"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"Учитава се листа опсега…"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"Подеси"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"Неуспешно"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"Успешно"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"Промене ће ступити на снагу када USB кабл буде поново повезан."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"Омогући USB масовно складиштење"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"Укупно бајтова:"</string>
@@ -287,10 +218,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"Премести на дно"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"Уклони језик"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"Избор активности"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"Информације о уређају"</string>
     <string name="display_label" msgid="3056320781191343221">"Екран"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"Информације о таблету"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"Информације о телефону"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"USB меморија"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"SD картица"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"Подешавања за прокси"</string>
@@ -308,9 +236,6 @@
     <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="cellular_data_title" msgid="8072108204621057526">"Мобилни подаци"</string>
-    <string name="calls_title" msgid="6334813967619899114">"Дозволи позиве"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"SMS поруке"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"Омогућава потрошњу података на моб. мрежи"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"Дозволи потр. подат. у ромингу"</string>
     <string name="roaming" msgid="3055365654530847985">"Роминг"</string>
@@ -318,9 +243,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"Повежи са услугом за податке у ромингу"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"Веза за пренос података је прекинута зато што сте напустили матичну мрежу са искљученим преносом података у ромингу."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"Укључи"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"Могу да настану значајни трошкови."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"Када омогућите пренос података у ромингу, можете да направите велике трошкове у ромингу!\n\nОво подешавање утиче на све кориснике овог таблета."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"Када омогућите пренос података у ромингу, можете да направите велике трошкове у ромингу!\n\nОво подешавање утиче на све кориснике овог телефона."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"Важе накнаде за роминг."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"Када омогућите пренос података у ромингу, важе накнаде за роминг.\n\nОво подешавање утиче на све кориснике овог таблета."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"Када омогућите пренос података у ромингу, важе накнаде за роминг.\n\nОво подешавање утиче на све кориснике овог телефона."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"Дозволите пренос података у ромингу?"</string>
     <string name="networks" msgid="5184501333492775095">"Избор оператера"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"Избор мрежног оператера"</string>
@@ -361,8 +286,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"Администратор је онемогућио"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"Прикажи опцију закључавања"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"Приказује опцију дугмета за напајање која искључује Smart Lock, биометријско откључавање и обавештења на закључаном екрану"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"Поуздани агенти - дуже откључано"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"Ако је омогућено, поуздани агенти ће омогућити да уређај дуже остане откључан, али не могу више да откључавају закључан уређај."</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"Закључај екран када је агент непоуздан"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"Ако се омогући, уређај ће се закључати када последњи поуздани агент више не буде поуздан"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"Ништа"</string>
@@ -393,7 +316,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"Подешавање Моје локације, откључавања екрана, закључавања SIM картице и закључавања акредитива складишта"</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"Подешавање Моје локације, откључавања екрана, закључавања складишта акредитива"</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"Приватност"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"Администратор је онемогућио"</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>
@@ -701,7 +624,6 @@
       <item quantity="few">Мора да садржи мање од <xliff:g id="NUMBER_1">%d</xliff:g> цифре</item>
       <item quantity="other">Мора да садржи мање од <xliff:g id="NUMBER_1">%d</xliff:g> цифара</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"Мора да садржи само цифре 0–9"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"Администратор уређаја не дозвољава употребу недавно коришћеног PIN-а"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"ИТ администратор блокира честе PIN-ове. Изаберите други PIN."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"Не сме да обухвата неважећи знак"</string>
@@ -738,6 +660,11 @@
       <item quantity="few">Мора да садржи најмање <xliff:g id="COUNT">%d</xliff:g> знака који нису словa</item>
       <item quantity="other">Мора да садржи најмање <xliff:g id="COUNT">%d</xliff:g> знакова који нису словa</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="one">Мора да садржи најмање <xliff:g id="COUNT">%d</xliff:g> знак који није број</item>
+      <item quantity="few">Мора да садржи најмање <xliff:g id="COUNT">%d</xliff:g> знака који нису бројеви</item>
+      <item quantity="other">Мора да садржи најмање <xliff:g id="COUNT">%d</xliff:g> знакова који нису бројеви</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"Администратор уређаја не дозвољава употребу недавно коришћене лозинке"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"ИТ администратор блокира честе лозинке. Изаберите другу лозинку."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"Растући, опадајући или поновљени низ цифара није дозвољен"</string>
@@ -853,19 +780,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2,4 GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"Пријави ме"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"Отвори сајт"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"Још <xliff:g id="REMAINING_TIME">%1$s</xliff:g>"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"Истиче <xliff:g id="EXPIRY_TIME">%1$s</xliff:g>"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"Додирните овде да бисте се пријавили на мрежу"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Mb/s"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Mb/s"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Mb/s"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"<xliff:g id="REQUESTER">%s</xliff:g> жели да укључи Wi-Fi"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"<xliff:g id="REQUESTER">%s</xliff:g> жели да искључи Wi-Fi"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"Потврди бинарни кôд апликација из којих могу да се отклоне грешке"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Дозволи да ART потврди бинарни кôд апликација из којих могу да се отклоне грешке"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"Прикажи учесталост освежавања"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Прикажи актуелну учесталост освежавања екрана"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"Омогућава размену података када таблет додирне други уређај"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"Омогућава размену података када телефон додирне други уређај"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"Дозволите размену података када таблет додирне NFC уређај"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"Дозволите размену података када телефон додирне NFC уређај"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"Укључите NFC"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"NFC размењује податке између овог уређаја и других оближњих уређаја или мета, попут терминала за плаћање, читача за контролу приступа и интерактивних огласа или ознака."</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"Заштити NFC"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"За коришћење NFC-а мора да се откључа уређај"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"Дозволи коришћење NFC опција за плаћање и јавни превоз само када је екран откључан"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"Спремно за пренос садржаја апликација преко NFC-а"</string>
@@ -939,8 +872,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Укључи"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Wi‑Fi скенирање је укључено"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Напредне опције"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"Падајућа листа Напредне опције. Двапут додирните да бисте скупили."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"Падајућа листа Напредне опције. Двапут додирните да бисте проширили."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Падајућа листа са напредним опцијама"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"проширите"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"Име мреже"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"Унесите SSID"</string>
     <string name="wifi_security" msgid="9095934643631406913">"Безбедност"</string>
@@ -950,6 +883,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"Статус"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"Брзина линка за пренос"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"Брзина линка за пријем"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"Брзина везе"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"Учесталост"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"IP адреса"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"Сачувано преко"</string>
@@ -957,6 +891,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"EAP метод"</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>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"Кориснички сертификат"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"Идентитет"</string>
@@ -973,6 +908,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"Изаберите барем један опсег за Wi‑Fi хотспот:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"IP подешавања"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"Приватност"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"Претплата"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"Прегледајте или промените претплату"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"Насумично изабрани MAC"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"Додај уређај"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"Поставите QR кôд у наставку да бисте додали уређај на мрежу „<xliff:g id="SSID">%1$s</xliff:g>“"</string>
@@ -982,12 +919,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"Дели Wi‑Fi"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"Скенирајте овај QR кôд да бисте се повезали са „<xliff:g id="SSID">%1$s</xliff:g>“ и делили лозинку"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"Скенирајте овај QR кôд да бисте се придружили мрежи „<xliff:g id="SSID">%1$s</xliff:g>“"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"Читање QR кода није успело. Поново центрирајте кôд, па пробајте поново"</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"Пробајте поново. Ако се проблем настави, контактирајте произвођача уређаја"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"Дошло је до грешке"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"Уверите се да је уређај прикључен на извор напајања, напуњен и укључен"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"Уверите се да је уређај прикључен на извор напајања, напуњен и укључен. Ако се проблем настави, контактирајте произвођача уређаја"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"Овај уређај не подржава додавање мреже „<xliff:g id="SSID">%1$s</xliff:g>“"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"Пробајте да приближите уређај Wi‑Fi приступној тачки/рутеру"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"Проверите лозинку и пробајте поново"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"Обратите се произвођачу уређаја"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"Проверите везу и пробајте поново"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"Одаберите мрежу"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"Да бисте повезали уређај, одаберите мрежу"</string>
@@ -1000,11 +939,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"Дели се Wi‑Fi са овим уређајем…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"Повезује се…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"Делите хотспот"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"Потврдите да сте то ви"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"Потврдите свој идентитет"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"Лозинка за Wi-Fi: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"Лозинка хотспота: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"Аутоматско повезивање"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"Дозволите телефону да се аутоматски повезује у близини ове мреже"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"Дозволите таблету да се аутоматски повезује у близини ове мреже"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"Додајте уређај"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"Користите QR кôд да бисте додали уређај на ову мрежу"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"QR кôд није у важећем формату"</string>
     <string name="retry" msgid="7542103800274026915">"Пробај поново"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"Дели са другим корисницима уређаја"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(непромењено)"</string>
@@ -1016,6 +959,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"Није наведен никакав сертификат. Веза неће бити приватна."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"Назив мреже је предугачак."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"Морате да наведете домен."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"Сертификат је обавезан."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"WPS је доступан"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (WPS је доступан)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"Wi‑Fi мрежа мобилног оператера"</string>
@@ -1070,7 +1014,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"Напредна Wi-Fi подешавања"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"MAC адреса"</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_ip_address_title" msgid="4265355419782184514">"IP адреса"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"Детаљи о мрежи"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Маска подмреже"</string>
@@ -1122,7 +1067,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"Користите хотспот да бисте направили Wi‑Fi мрежу за друге уређаје. Хотспот пружа интернет помоћу везе за мобилне податке. Можда ће важити додатне тарифе за мобилне податке."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"Апликације могу да праве хотспотове за дељење садржаја са оближњим уређајима."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Аутоматски искључи хотспот"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"Wi‑Fi хотспот ће се искључити ако ниједан уређај није повезан"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Када ниједан уређај није повезан"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"Укључивање хотспота…"</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"Искључивање хотспота..."</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> је активан"</string>
@@ -1131,6 +1076,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"Подешавање Wi‑Fi хотспота"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"AndroidAP WPA2 PSK хотспот"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"AndroidHotspot"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"Желите ли да сачувате ову мрежу?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"<xliff:g id="APPNAME">%1$s</xliff:g> жели да сачува мрежу на телефону"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"<xliff:g id="APPNAME">%1$s</xliff:g> жели да сачува мрежу на телефону"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"Чува се…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"Сачувано"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"Чување није успело. Пробајте поново."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"Желите ли да сачувате мреже?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"<xliff:g id="APPNAME">%1$s</xliff:g> жели да сачува ове мреже на телефону"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"<xliff:g id="APPNAME">%1$s</xliff:g> жели да сачува ове мреже на таблету"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"Чувају се мреже (<xliff:g id="NUMBER">%d</xliff:g>)…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"Мреже су сачуване"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"Позивање преко Wi-Fi-ја"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"Продужите позиве помоћу Wi‑Fi-ја"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"Укљ. позивање преко Wi‑Fi-ја да проширите покривеност"</string>
@@ -1157,16 +1113,18 @@
     <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"><annotation id="url">"Сазнајте више"</annotation>" о функцијама Приватног DNS-а"</string>
+    <string name="private_dns_mode_on" msgid="8878679071975375696">"Укључено"</string>
     <string name="wifi_calling_pref_managed_by_carrier" msgid="129524064888622179">"Мобилни оператер управља подешавањем"</string>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"Активирајте Позивање преко Wi-Fi-ја"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"Укључите позивање преко Wi-Fi-ја"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"Позивање преко Wi-Fi-ја није подржано за %1$s"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"Прекинута је веза са: <xliff:g id="SSID">%1$s</xliff:g>"</string>
     <string name="carrier" msgid="1755020806290963951">"Мобилни оператер"</string>
     <string name="display_settings_title" msgid="626835071804834218">"Приказ"</string>
     <string name="sound_settings" msgid="5514582720435174014">"Звук"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"Јачине звука"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"Музички ефекти"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"Јачина звука звона"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"Јачина звука за звоно и обавештења"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"Вибрација у нечујном режиму"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"Подразумевани звук обавештења"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"Звук звона"</string>
@@ -1291,13 +1249,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"Закажите"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"Ништа"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"Укључује се од сумрака до свитања"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"Укључује се у жељено време"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"Статус"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"Искључено/<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"Никада се не укључује аутоматски"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"Укључује се аутоматски када сунце зађе"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"Укључује се аутоматски у <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"Укључено/<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"Никада се не искључује аутоматски"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"Искључује се аутоматски када сунце изађе"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"Искључује се аутоматски у <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"Укључи до <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"Искључи до <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"Тамна тема користи црну позадину да би батерија трајала дуже на неким екранима. Распореди тамне теме се не укључују док се екран не искључи."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"Гашење екрана"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"Екран се искључује"</string>
@@ -1309,7 +1272,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"Промените позадину"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"Персонализујте екран"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"Изаберите позадину из"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"Прилагодите Pixel"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"Прилагодите телефон"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"Пробајте другачије стилове, позадине и још тога"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"Чувар екрана"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Током пуњења или на базној станици"</string>
@@ -1399,6 +1362,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"Искључивање USB меморије, приказ доступне меморије"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"Ослобађање SD картице, приказ доступног складишта"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (отвор за SIM: %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"Да бисте видели, одаберите сачувану мрежу"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"Број мобилног директоријума"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"Број телефона"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (отвор за SIM: %1$d)"</string>
@@ -1425,6 +1389,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"Роминг"</string>
     <string name="status_operator" msgid="4335640583552058491">"Мрежа"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"Wi-Fi MAC адреса"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"MAC адреса уређаја за Wi‑Fi"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"Bluetooth адреса"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Серијски број"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Време рада"</string>
@@ -1637,6 +1602,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Поновно постављање подразумеваних подешавања назива приступне тачке је завршено"</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"Опције за ресетовање"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"Мрежа, апликацијe или уређај могу да се ресетују"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"Апликације могу да се ресетују"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"Ресетуј Wi-Fi, мобилну мрежу и Bluetooth"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"Овим ресетујете сва подешавања мреже, укључујући:\n\n"<li>"Wi‑Fi"</li>\n<li>"Мобилне податке"</li>\n<li>"Bluetooth"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"Обриши преузете SIM картице"</string>
@@ -1686,6 +1652,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"Хотспот је укључен"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"Привезивање"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"Није могуће привезивање нити коришћење преносивих хотспотова док је Уштеда података укључена"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"Само хотспот"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"Само USB"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"Само Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"Хотспот, USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"Хотспот, Bluetooth"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB, Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"Хотспот, USB, Bluetooth"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"Интернет се не дели са другим уређајима"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"Привезивање"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Немој да користиш Wi‑Fi хотспот"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Дели интернет само преко USB-а"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Дели интернет само преко Bluetooth-а"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Дели интернет само преко USB-а и Bluetooth-а"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB повезивање"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"Дељење интернет везе телефона преко USB-а"</string>
@@ -1777,9 +1756,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"Безбедносне информације"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"Немате везу за пренос података. Да бисте одмах погледали ове информације, идите на %s са било ког рачунара који је повезан на интернет."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"Учитава се…"</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"Користите PIN"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"Користите шаблон"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"Користите лозинку"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"Подесите закључавање екрана"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"Подесите лозинку из безбедносних разлога"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"Подесите лозинку да бисте користили отисак"</string>
@@ -1788,8 +1764,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"Подесите PIN да бисте користили отисак"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"Подесите шаблон из безбедносних разлога"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"Поново унесите лозинку"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"Унесите лозинку профила за Work"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"Потврдите шаблон"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"Унесите шаблон профила за Work"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"Поново унесите PIN"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"Унесите PIN профила за Work"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"Лозинке се не подударају"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"PIN-ови се не подударају"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"Поново нацртајте шаблон"</string>
@@ -1800,6 +1779,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"Откључавање лицем захтева лозинку"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"Откључавање лицем захтева шаблон"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"Откључавање лицем захтева PIN"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"Заборавили сте лозинку?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"Заборавили сте шаблон?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"Заборавили сте PIN?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"Употребите шаблон за уређај да бисте наставили"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"Унесите PIN уређаја да бисте наставили"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"Унесите лозинку уређаја да бисте наставили"</string>
@@ -1867,6 +1849,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"Дозволи све изворе апликација"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"Недавно отваране апликације"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"Прикажи све апликације: <xliff:g id="COUNT">%1$d</xliff:g>"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"Обратите се ИТ администратору"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"Он може да вам помогне да ресетујете PIN, шаблон или лозинку"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"Таблет и лични подаци су подложнији нападу непознатих апликација. Инсталирањем апликација из овог извора прихватате да сте одговорни за оштећења телефона или губитак података до којих може да дође због њиховог коришћења."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"Телефон и лични подаци су подложнији нападу непознатих апликација. Инсталирањем апликација из овог извора прихватате да сте одговорни за оштећења телефона или губитак података до којих може да дође због њиховог коришћења."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"Уређај и лични подаци су подложнији нападу непознатих апликација. Ако инсталирате апликације из овог извора, прихватате да сте одговорни за евентуална оштећења уређаја или губитак података до којих може да дође због њиховог коришћења."</string>
@@ -1919,7 +1903,7 @@
     <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="1377296810290814749">"Овим ћете вратити на почетне вредности сва подешавања за:\n\n"<li>"Онемогућене апликације"</li>\n<li>"Обавештења о онемогућеним апликацијама"</li>\n<li>"Подразумеване апликације за радње"</li>\n<li>"Ограничења за позадинске податке за апликације"</li>\n<li>"Било каква ограничења за дозволе"</li>\n\n" Нећете изгубити податке апликација."</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>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"Ресетуј апликације"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"Управљај простором"</string>
     <string name="filter" msgid="9039576690686251462">"Филтрирај"</string>
@@ -2119,7 +2103,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"Звук и текст на екрану"</string>
     <string name="display_category_title" msgid="6638191682294461408">"Приказ"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"Контроле интеракције"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"Преузете услуге"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"Преузете апликације"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"Експериментално"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"Ознаке функција"</string>
     <string name="talkback_title" msgid="8756080454514251327">"TalkBack"</string>
@@ -2127,27 +2111,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"Додирните ставке на екрану да бисте их чули"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"Подешавања титла"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"Увећање"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"Област за увећање"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"Омогућите увећање"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"Одаберите области за увећање које желите да користите када увећавате екран"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"Цео екран"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"Део екрана"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"Цео екран и део екрана"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"Увећајте цео екран"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"Увећајте део екрана"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Подешавања увећања"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"Увећање помоћу троструког додира"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Увећавајте помоћу пречице"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Увећавајте помоћу пречице и троструког додира"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"О услузи <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"Опције"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"Увећајте приказ на екрану"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"Додирните 3 пута да бисте зумирали"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Додирните дугме да бисте зумирали"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><b>"Да бисте зумирали"</b>", брзо додирните екран 3 пута.\n"<ul><li>"Превуците помоћу 2 или више прстију да бисте померали приказ"</li>\n<li>"Скупите 2 или више прстију да бисте прилагодили зумирање"</li></ul>\n\n<b>"За привремено зумирање"</b>" брзо додирните екран 3 пута и задржите прст при трећем додиру.\n"<ul><li>"Превлачите прстом да бисте се кретали по екрану"</li>\n<li>"Подигните прст да бисте умањили приказ"</li></ul>\n\n"Не можете да зумирате тастатуру ни траку за навигацију."</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"Када је увећање укључено, можете да увећате екран.\n\n"<b>"Да бисте зумирали"</b>", покрените увећање, па додирните било који део екрана.\n"<ul><li>"• Превуците помоћу 2 или више прстију да бисте померали приказ"</li>\n<li>"• Скупите 2 или више прстију да бисте прилагодили зумирање"</li></ul>\n\n<b>"За привремено зумирање"</b>" покрените увећање, па додирните и задржите било који део екрана.\n"<ul><li>"• Превлачите прстом да бисте се кретали по екрану"</li>\n<li>"• Подигните прст да бисте умањили приказ"</li></ul>\n\n"Не можете да увећавате тастатуру или траку за навигацију."</string>
+    <string name="accessibility_screen_magnification_summary" msgid="7617931632990040045">"Брзо увећајте екран да бисте видели садржај јасније.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Да бисте увећали:&lt;/b&gt;&lt;br/&gt;	1. Користите пречицу да бисте покренули увећање&lt;br/&gt;	2. Додирните екран&lt;br/&gt;	3. Превлачите помоћу 2 прста да бисте се кретали по екрану&lt;br/&gt;	4. Скупите 2 прста да бисте прилагодили зумирање&lt;br/&gt;	5. Користите пречицу да бисте зауставили увећање&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Да бисте привремено увећали:&lt;/b&gt;&lt;br/&gt;	1. Користите пречицу да бисте покренули увећање&lt;br/&gt;	2. Додирните и задржите било који део екрана&lt;br/&gt;	3. Превлачите прст да бисте се кретали по екрану&lt;br/&gt;	4. Подигните прст да бисте зауставили увећање"</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Када је увећање укључено, можете да увећате екран.\n\n"<b>"Да бисте зумирали"</b>", покрените увећање, па додирните било који део екрана.\n"<ul><li>"Превлачите помоћу 2 или више прстију да бисте померали приказ"</li>\n<li>"Скупите 2 или више прстију да бисте прилагодили зумирање"</li></ul>\n\n<b>"За привремено зумирање"</b>" покрените увећање, па додирните и задржите било који део екрана.\n"<ul><li>"Превлачите да бисте се кретали по екрану"</li>\n<li>"Подигните прст да бисте умањили приказ"</li></ul>\n\n"Не можете да увећавате тастатуру или траку за навигацију."</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Отварајте помоћу дугмета за приступачност"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Отварајте помоћу покрета"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"Користите нови покрет за приступачност"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"Да бисте укључили или искључили ову услугу, додирните дугме за приступачност <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> у дну екрана.\n\nДа бисте прелазили са једне услуге на другу, додирните и задржите дугме за приступачност."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"Да бисте укључили или искључили ову услугу, превлачите нагоре од дна екрана помоћу два прста.\n\nДа бисте прелазили са једне услуге на другу, превлачите нагоре помоћу два прста и задржите."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"Да бисте укључили или искључили ову услугу, превлачите нагоре од дна екрана помоћу три прста.\n\nДа бисте прелазили са једне услуге на другу, превлачите нагоре помоћу три прста и задржите."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"Да бисте укључили или искључили услугу приступачности, превлачите нагоре од дна екрана помоћу два прста.\n\nДа бисте прелазили са једне услуге на другу, превлачите нагоре помоћу два прста и задржите."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"Да бисте укључили или искључили услугу приступачности, превлачите нагоре од дна екрана помоћу три прста.\n\nДа бисте прелазили са једне услуге на другу, превлачите нагоре помоћу три прста и задржите."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"Да бисте укључили или искључили ову услугу, додирните дугме за приступачност <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> у дну екрана.\n\nДа бисте прелазили са једне услуге на другу, додирните и задржите дугме за приступачност."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"Да бисте укључили или искључили ову услугу, превуците нагоре од дна екрана помоћу два прста.\n\nДа бисте прелазили са једне услуге на другу, превуците нагоре помоћу два прста и задржите."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"Да бисте укључили или искључили ову услугу, превуците нагоре од дна екрана помоћу три прста.\n\nДа бисте прелазили са једне услуге на другу, превуците нагоре помоћу три прста и задржите."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"Да бисте укључили или искључили услугу приступачности, превуците нагоре од дна екрана помоћу два прста.\n\nДа бисте прелазили са једне услуге на другу, превуците нагоре помоћу два прста и задржите."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"Да бисте укључили или искључили услугу приступачности, превуците нагоре од дна екрана помоћу три прста.\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="2820923641553461297">"Дугме Приступачност"</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="8922102767509399352">"Додирните дугме Приступачност <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> у дну екрана"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"Превуците нагоре од дна екрана помоћу 2 прста"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"Превуците нагоре од дна екрана помоћу 3 прста"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Задржите тастере за јачину звука"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"Притисните и задржите оба тастера за јачину звука 1 секунду"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Додирните екран трипут"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"Брзо додирните екран 3 пута. Ова пречица може да успори уређај."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"Напредно"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"Дугме за приступачност је подешено на <xliff:g id="SERVICE">%1$s</xliff:g>. Да бисте користили увећање, додирните и задржите дугме за приступачност, па изаберите увећање."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"Покрет за приступачност је подешен на функцију <xliff:g id="SERVICE">%1$s</xliff:g>. Да бисте користили увећање, превлачите нагоре од дна екрана помоћу два прста и задржите. Затим одаберите увећање."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"Тастер јачине звука као пречица"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"Услуга пречице"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Подешавања пречица"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"Омогући на закључаном екрану"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"Када је пречица укључена, можете да притиснете оба тастера за јачину звука и задржите их 3 секунде да бисте покренули функцију приступачности."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"Текст високог контраста"</string>
@@ -2171,24 +2180,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"Одаберите колико дуго ће се приказивати поруке које траже да реагујете, али су видљиве само привремено.\n\nОво подешавање не подржавају све апликације."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"Одлагање додира и задржавањa"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"Инверзија боја"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"Може да утиче на квалитет рада"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"Време задржавања"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"Користи инверзију боја"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"Инверзија боја мења светле екране у тамне. То помаже људима који су осетљиви на јако светло да лакше виде екран.&lt;br/&gt;&lt;br/&gt;Напомена: тамне боје ће се променити у светле. Боје се мењају у медијима и на сликама. Можете да користите и тамну тему (Подешавања &gt; Приказ)."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"Аутоматски клик (време задржавања)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"Ако користите миш, можете да подесите курсор да аутоматски кликне када престане да се креће одређени временски период."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"Одлагање пре клика"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"Не користи аутоматски клик (подразумевано)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"Кратко"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0,2 секунде"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"Средње"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0,6 секунди"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"Дуго"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 секунда"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"Прилагођено"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"Краће"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"Дуже"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"Трајање аутоматског клика"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"Вибрације и јачина додира"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Вибрирање обавештења"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Вибрирање звона"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Додирне повратне информације"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"Користи услугу"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"Користите апликацију <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"Отворите апликацију <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"Користи корекцију боја"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"Користи натписе"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"Прикажи титл"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"Изглед титла"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"Величина текста, стил титла"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"Још опција"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"Не подржавају све апликације ово подешавање."</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"дугме Приступачност"</string>
+    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"Превуците нагоре од доњег дела екрана помоћу 2 прста"</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>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"Слушни апарати"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"Није повезан ниједан слушни апарат"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"Додајте слушне апарате"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"Да бисте упарили слушне апарате, пронађите и додирните свој уређај на следећем екрану."</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"Проверите да ли су слушни апарати у режиму упаривања."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"Да бисте упарили слушне апарате, пронађите и додирните уређај на следећем екрану. Проверите да ли су слушни апарати у режиму упаривања."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"Активан: <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> сачувани слушни апарат</item>
@@ -2201,30 +2228,41 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Ова услуга није исправна."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Прикажи у Брзим подешавањима"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"Режим исправљања"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="one">Изузетно кратак период (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="few">Изузетно кратак период (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Изузетно кратак период (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Црвено-зелено"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"Зелено-црвено"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Плаво-жуто"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"Деутераномалија"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"Протаномалија"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"Тританомалија"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="one">Веома кратко кашњење (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунда)</item>
+      <item quantity="few">Веома кратко кашњење (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунде)</item>
+      <item quantity="other">Веома кратко кашњење (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунди)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="one">Веома кратак период (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="few">Веома кратак период (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Веома кратак период (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="one">Веома кратко кашњење (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунда)</item>
+      <item quantity="few">Веома кратко кашњење (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунде)</item>
+      <item quantity="other">Веома кратко кашњење (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунди)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="one">Кратак период (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="few">Кратак период (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Кратак период (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="one">Кратко кашњење (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунда)</item>
+      <item quantity="few">Кратко кашњење (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунде)</item>
+      <item quantity="other">Кратко кашњење (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунди)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="one">Дуг период (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="few">Дуг период (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Дуг период (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="one">Дуго кашњење (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунда)</item>
+      <item quantity="few">Дуго кашњење (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунде)</item>
+      <item quantity="other">Дуго кашњење (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунди)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="one">Веома дуг период (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="few">Веома дуг период (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Веома дуг период (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="one">Веома дуго кашњење (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунда)</item>
+      <item quantity="few">Веома дуго кашњење (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунде)</item>
+      <item quantity="other">Веома дуго кашњење (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунди)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунда</item>
+      <item quantity="few"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунде</item>
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунди</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"Звоно <xliff:g id="SUMMARY_RING">%1$s</xliff:g>, обавештење <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>, додир <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"Звоно и обавештења су искључена"</string>
@@ -2550,7 +2588,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"Током последњег искључивања за <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"Укупно коришћено"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"Освежи"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"Android ОС"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"Медија сервер"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"Оптимизација апликација"</string>
     <string name="battery_saver" msgid="7737147344510595864">"Уштеда батерије"</string>
@@ -2631,8 +2668,7 @@
     <string name="tts_play" msgid="2945513377250757221">"Пусти"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"Складиште акредитива"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"Инсталирање из меморије"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"Инсталирање са SD картице"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"Инсталирај сертификат"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"Инсталирај сертификате из меморије"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"Инсталирање сертификата са SD картице"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"Брисање акредитива"</string>
@@ -2652,6 +2688,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"Складиште акредитива је избрисано."</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"Није могуће oбрисати складиште акредитива."</string>
     <string name="usage_access_title" msgid="1580006124578134850">"Апл. са приступом подацима о коришћењу"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"CA сертификат"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"Кориснички сертификат за VPN и апликацију"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"Сертификат за Wi‑Fi"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"Ваша приватност је угрожена"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"Веб-сајтови, апликације и VPN-ови користе CA сертификате за шифровање. Инсталирајте CA сертификате само из организација у које имате поверења. \n\n Ако инсталирате CA сертификат, власник сертификата би могао да приступи информацијама, попут лозинки, порука или података о кредитној картици, са веб-сајтова које посећујете или из апликација које користите – чак и ако су те информације шифроване."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"Не инсталирај"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"Ипак инсталирај"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"Сертификат није инсталиран"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"Сигнал за хитне позиве"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Подешавање понашања када се успоставља хитан позив"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Резервне копије"</string>
@@ -2679,10 +2723,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"Деактивирај и деинсталирај"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"Апликације за администратора"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"Нема доступних апликација за администратора уређаја"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"Лични"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"Посао"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"Ограничи приступ SMS-овима и евиденцији позива"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"Само подразумеване апликације за позиве и размену SMS-ова имају дозволе за приступ SMS-овима и евиденцији позива"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"Нема доступних поузданих агената"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"Активирај апликацију за администраторе?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"Активирај ову апликацију за администраторе уређаја"</string>
@@ -2696,6 +2736,15 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"Администратор је онемогућио друге опције"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"Још детаља"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"Евиденција обавештења"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"Историја обавештења"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"Данас"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"Одложено"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"Недавно одбачено"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="one"><xliff:g id="NUMBER_1">%d</xliff:g> обавештење</item>
+      <item quantity="few"><xliff:g id="NUMBER_1">%d</xliff:g> обавештења</item>
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> обавештења</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"Мелодија звона и вибрација позива"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"Мрежни детаљи"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"Синхронизација је омогућена"</string>
@@ -3049,7 +3098,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"Ограничења"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"Уклони ограничења"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"Промени PIN"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"Приказуј обавештења"</string>
     <string name="help_label" msgid="2896538416436125883">"Помоћ и повратне инф."</string>
     <string name="support_summary" msgid="1034146931237148885">"Чланци помоћи, подршка телефоном и ћаскањем, почетни кораци"</string>
     <string name="user_account_title" msgid="6389636876210834864">"Налог за садржај"</string>
@@ -3074,6 +3122,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G позивање"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Коришћење LTE услуга за побољшање гласовних и других комуникација (препоручено)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Користи 4G услуге за побољшање гласовне и друге комуникације (препоручено)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Откривање контаката"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Омогућава мобилном оператеру да открије које функције позивања подржавају ваши контакти."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Желите ли да омогућите откривање контаката?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Ако омогућите ову функцију, мобилни оператер ће моћи да приступи бројевима телефона из ваших контаката да би открио које функције позивања подржавају."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Жељени тип мреже"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (препоручено)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS поруке"</string>
@@ -3118,7 +3170,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"Позови помоћу"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"Избор SIM картице"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"SIM картица <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"Отвор за SIM картицу је празан"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"Назив SIM картице"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"Унесите име SIM картице"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"Отвор за SIM картицу %1$d"</string>
@@ -3128,6 +3179,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"Изаберите SIM картицу"</string>
     <string name="color_orange" msgid="216547825489739010">"Наранџаста"</string>
     <string name="color_purple" msgid="6603701972079904843">"Љубичаста"</string>
+    <string name="color_pink" msgid="8596872110888626708">"Розе"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"Није убачена ниједна SIM картица"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"Статус SIM картице"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"Статус SIM картице (отвор за SIM: %1$d)"</string>
@@ -3141,7 +3193,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"SIM картице су промењене."</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Додирните да бисте подесили"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"Жељена SIM картица за"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Питај сваки пут"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Потребно је да изаберете нешто"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"Избор SIM картице"</string>
@@ -3160,6 +3211,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"Bluetooth, режим за вожњу"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"Bluetooth, NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"Bluetooth"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"Није доступно зато што је NFC искључен"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"Aпликације и обавештења"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Недавне апликације, подразумеване апликације"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Приступ обавештењима није доступан за апликације на радном профилу."</string>
@@ -3170,13 +3222,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"Подешавања"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"wifi, wi-fi, веза са мрежом, интернет, бежично, подаци, wi fi"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"Wi‑Fi обавештење, wifi обавештење"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"потрошња података"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"Прекид вибрације, додир, тастатура"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"Користи 24-часовни формат"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"Преузми"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"Отвори помоћу"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"Апликације"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"временска зона"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"Приказ ћаскања преко других апликација"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"Облачић за ћаскање, систем, обавештење, прозор, дијалог, приказ, преко других апликација, превлачење"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"Батеријска лампа, светло, лампа"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"wifi, wi-fi, укључи/искључи, контрола"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"мобилна мрежа, мобилни подаци, мобилни оператер, бежично, подаци, 4g, 3g, 2g, lte"</string>
@@ -3200,7 +3253,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"не ометати, прекидати, прекид, прекинути"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"у близини, локација, историја, извештавање, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"налог"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"налог, додајте налог, профил за Work, додавање налога"</string>
     <string name="keywords_users" msgid="3497517660077620843">"ограничење, ограничити, ограничено"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"исправка текста, исправити, звук, вибрирати, аутоматски, језик, покрет, предлагати, предлог, тема, увредљиво, реч, куцати, емоџи, међународно"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"ресетовање, подешавања, подразумевано"</string>
@@ -3238,6 +3291,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"меморија, кеш, подаци, избриши, обриши, слободно, простор"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"повезано, уређај, слушалице, хедсет, звучник, бежично, упари, бубице, музика, медији"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"позадина, екран, закључани екран, тема"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"облик иконе, боја за наглашавање, фонт"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"подразумевано, помоћник"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"плаћање, подразумевано"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"долазно обавештење"</string>
@@ -3247,18 +3301,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"додирне повратне информације, вибрирање, осетљивост"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"уштеда батерије, лепљиво, трајно, уштеда енергије, батерија"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"рутина, распоред, уштеда батерије, уштеда енергије, батерија, аутоматско, проценат"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"профил за Work"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"volte, напредно позивање, 4g позивање"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"додај језик, додајте језик"</string>
     <string name="default_sound" msgid="6604374495015245195">"Подразумевани звук"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"Јачина звона је <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"Јачина звука за звоно и обавештења је на <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Јачина звука, вибрација, Не узнемиравај"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"Звоно је подешено на вибрацију"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"Звоно је подешено на нечујно"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"Јачина звона је 80%"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"Јачина звука за звоно и обавештења је на 80%"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Јачина звука медија"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Јачина звука за пребацивање"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"Јачина звука позива"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"Јачина звука аларма"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"Јачина звука звона"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"Јач. звука за звоно и обавеш."</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"Јачина звука за обавештења"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"Звук звона телефона"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"Подразумевани звук обавештења"</string>
@@ -3266,6 +3321,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"Подразумевани звук обавештења"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"Подразумевани звук аларма"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"Вибрирај за позиве"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"Никад не укључуј вибрацију"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"Увек вибрирај"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"Вибрирај, па постепено звони"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"Други звукови"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"Тонови нумеричке тастатуре"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"Звукови закључавања екрана"</string>
@@ -3290,6 +3348,7 @@
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> је омогућено</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Не узнемиравај"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Добијајте обавештења само од важних особа и апликација"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Ограничите прекиде"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Укључите режим Не узнемиравај"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"Изузеци"</string>
@@ -3316,7 +3375,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Блокирај визуелна ометања"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Дозволи визуелне сигнале"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"Када је укључен режим Не узнемиравај"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"Омогућите прекиде који производе звук"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"Ограничите обавештења"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Без звучног сигнала за обавештења"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"Видећете обавештења на екрану"</string>
@@ -3347,7 +3406,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"Звук и вибрација"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"Звук, вибрација и неки визуелни знакови обавештења"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"Звук, вибрација и визуелни знакови обавештења"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"Обавештења која су потребна за основне активности и статус телефона никада неће бити сакривене."</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"Обавештења која су потребна за основне активности и статус телефона никада неће бити сакривена."</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"Ништа"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"друге опције"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"Додај"</string>
@@ -3379,10 +3438,12 @@
       <item quantity="few"><xliff:g id="ON_COUNT">%d</xliff:g> распореда могу да се укључују аутоматски</item>
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> распореда може да се укључује аутоматски</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"Искључи звук уређаја али дозволи изузетке"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"Изузеци"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"Распоред"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"Погледајте све изузетке"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"Изузеци када је укључен режим Не узнемиравај"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"Људи"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"Апликације"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"Аларми и други прекиди"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"Распореди"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"Обавештења за које је искључен звук"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"Када је укључен режим Не узнемиравај, звук и вибрација биће искључени, осим за ставке које сте дозволили изнад."</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"Искључи звук за све осим за:"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"Звук је искључен"</string>
@@ -3426,16 +3487,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"Прилагодљива обавештења"</string>
     <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_capabilities_actions_replies_title" msgid="4392470465646394289">"Предложене радње и одговори"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"Аутоматски приказује предложене радње и одговоре"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"Искључите историју обавештења да бисте пратили ранија и одложена обавештења"</string>
+    <string name="notification_history" msgid="8663811361243456201">"Историја обавештења"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"Укључите историју"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"Искључите историју"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"Историја обавештења је искључена"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"прикажи подешавања обавештења"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Омогући одлагање обавештења"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"Сакриј иконе из дискретних обавештења"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"Иконе из дискретних обавештења се не приказују на статусној траци"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"Дозволи тачке за обавештења"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"Прикажи траку са недавним конверзацијама"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Облачићи"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"Нека обавештења могу да се појављују као облачићи на екрану"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"Нека обавештења и други садржај могу да се приказују као облачићи на екрану. Да бисте отворили облачић, додирните га. Да бисте га одбацили, превуците га надоле на екрану."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Облачићи"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"Нове поруке ће се приказати на екрану"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"Дозволите апликацији <xliff:g id="APP_NAME">%1$s</xliff:g> да приказује нека обавештења као облачиће"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"Укључите облачиће"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"Да бисте укључили облачиће за ову апликацију, прво треба да их укључите на нивоу уређаја. То утиче на друге апликације у којима сте претходно укључили облачиће."</string>
@@ -3453,6 +3524,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"Прикажи на клизном панелу и закључаном екрану"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"Прикажи на клизном панелу и статусној траци"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"Прикажи на клизном панелу, статусној траци и закључаном екрану"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"Сакријте нечујна обавештења на статусној траци"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"Укључи треперење лампице"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"Закључан екран"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"Прескакање закључаног екрана"</string>
@@ -3483,6 +3555,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"Понашање"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"Дозволи звук"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"Никада не приказуј обавештења"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"Конверзације"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"Конверзација"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"Није конверзација"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"Уклоните из одељка конверзација"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"Ово је конверзација"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"Додајте у одељак конверзација"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"Управљајте разговорима"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"Важни разговори"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"Сви разговори"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"Означи важне разговоре облачићима"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"Важни разговори се приказују у врху клизног панела. Можете и да их подесите тако да имају облачиће и да прекидају режим Не узнемиравај."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"Приказуј без звучног сигнала и умањи"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"Приказује се без звучног сигнала"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"Емитује се звучни сигнал"</string>
@@ -3501,7 +3584,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"Помаже вам да се концентришете без звука или вибрације"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"Привлачи вам пажњу помоћу звука или вибрације"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"Када је уређај откључан, приказује обавештења као банер у врху екрана"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"Приказуј обавештења"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"Сва обавештења апликације <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"Прилагодљива обавештења"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="one">~<xliff:g id="NUMBER_1">%d</xliff:g> обавештење дневно</item>
@@ -3525,6 +3608,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"Прилагодљива обавештења"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"Нема"</string>
     <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="3119843404577399036">"<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>
@@ -3589,8 +3673,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"Готово"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"Важност"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"Укључи треперење лампице"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"Вибрација"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"Вибрирање"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"Звук"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"Важно"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"Додајте у дом"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"Избриши"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"Преименуј"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"Назив распореда"</string>
@@ -3645,6 +3731,10 @@
       <item quantity="few">Још <xliff:g id="NUM_PEOPLE">%d</xliff:g> особе</item>
       <item quantity="other">Још <xliff:g id="NUM_PEOPLE">%d</xliff:g> особа</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Конверзације"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"Из свих разговора"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"Из важних разговора"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"Не дозвољавај никакве разговоре"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"Дозволи поруке"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"Да бисте били сигурни да ће се дозвољене поруке чути, проверите да ли је уређај подешен да звони, вибрира или је у нечујном режиму."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"Долазне поруке су блокиране за „<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>“. Можете да прилагодите подешавања да бисте дозволили пријатељима, члановима породице или другим контактима да вас контактирају."</string>
@@ -3658,15 +3748,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"Ни од кога"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"Не дозволи позиве"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"Не дозвољавај никакве поруке"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"Дозволи аларме"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"Аларми"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"Обавештења тајмера, аларма, безбедносних система и других апликација"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"аларми"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"Пуштај медијске звуке"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"Звукови медија"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"Обавештења видео снимака, игара и других медија"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"медији"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"Дозволи звукове при додиру"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"Звукови при додиру"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"Обавештења тастатуре и друге дугмади"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"звукови при додиру"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"Дозволи подсетнике"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"Подсетници"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"Обавештења о задацима и подсетницима"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"подсетници"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"Дозволи догађаје"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"Догађаји"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"Обавештења о предстојећим догађајима из календара"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Дозволи да апликације занемарују"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"Изузеци за апликације"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3712,6 +3807,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"Нека обавештења која су искључена режимом Не узнемиравај укључе екран"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"Подешавања обавештења"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"Потврди"</string>
+    <string name="suggestion_button_close" msgid="6865170855573283759">"Затвори"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Шаљи повратне информације о уређају"</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"Унесите PIN администратора"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"Укључено"</string>
@@ -3722,6 +3818,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Тражи PIN пре откачињања"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Тражи лозинку пре откачињања"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Закључај уређај пре откачињања"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Потврдите брисање SIM картице"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"Потврдите да сте то ви пре него што обришете преузету SIM картицу"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"Овим профилом за Work управља:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"Управља <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(Експериментално)"</string>
@@ -3800,8 +3898,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"Све апликације"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Инсталиране апликације"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Инстант апликације"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"Личне"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"Посао"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"Апликације: све"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"Искључено"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"Категорије: висок приоритет"</string>
@@ -3813,6 +3909,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"Непозната апликација"</string>
     <string name="app_permissions" msgid="8666537659217653626">"Менаџер дозвола"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"Апликације у којима се користи <xliff:g id="APPS">%1$s</xliff:g>"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"Апликације које користе дозволу <xliff:g id="APPS">%1$s</xliff:g> и друго"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"Додирните за буђење"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"Двапут додирните било који део екрана да бисте пробудили уређај"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"Отварање линкова"</string>
@@ -3825,9 +3922,15 @@
       <item quantity="few"><xliff:g id="COUNT">%d</xliff:g> апликације отварају подржане линкове</item>
       <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> апликација отвара подржане линкове</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"Отварај у овој апликацији"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"Дозволи апликацији да отвара подржане линкове"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"Питај сваки пут"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"Не отварај у овој апликацији"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"Не дозволи апликацији да отвара линкове"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="one">Апликација тврди да обрађује <xliff:g id="COUNT_1">%d</xliff:g> линк</item>
+      <item quantity="few">Апликација тврди да обрађује <xliff:g id="COUNT_1">%d</xliff:g> линка</item>
+      <item quantity="other">Апликација тврди да обрађује <xliff:g id="COUNT_1">%d</xliff:g> линкова</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"Апликација тврди да обрађује следеће линкове:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"Подразумевана"</string>
     <string name="default_for_work" msgid="537558180548617528">"Подразумевана за посао"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"Помоћ и гласовни унос"</string>
@@ -3974,8 +4077,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"Приказ преко других апликација"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Дозволи приказ преко других апликација"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"Омогућите овој апликацији да се приказује преко других апликација које користите. То може да омета коришћење тих апликација или да промени њихов изглед или понашање."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"Приступ свим датотекама"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"Дозволи приступ за управљање свим датотекама"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Дозволите да ова апликација чита, мења и брише све датотеке на овом уређају или свим повезаним уређајима за складиштење. Ако то дозволите, апликација може да приступа датотекама без вашег знања."</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"Може да приступа свим датотекама"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"вр виртуелна реалност обрађивач услуга стерео помагача"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"систем обавештење прозор дијалог приказ преко других апликација"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"Приказ преко других апликација"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"Апликације са дозволом за приказ преко других: <xliff:g id="COUNT_0">%1$d</xliff:g> од <xliff:g id="COUNT_1">%2$d</xliff:g>"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"Апликације са дозволом"</string>
@@ -4146,6 +4252,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"<xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g> потрошено"</string>
     <string name="data_overusage" msgid="3680477320458707259">"<xliff:g id="ID_1">^1</xliff:g> преко ограничења"</string>
     <string name="data_remaining" msgid="6316251496381922837">"Још <xliff:g id="ID_1">^1</xliff:g>"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"Графикон приказује потрошњу података између: <xliff:g id="START_DATE">%1$s</xliff:g> и <xliff:g id="END_DATE">%2$s</xliff:g>."</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"Нема података из овог периода"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="one">Остао је још %d дан</item>
       <item quantity="few">Остала су још %d дана</item>
@@ -4210,14 +4318,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"величина пакета"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"обавештење је послато"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"звук"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"вибрација"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"шаблон"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"подразумевано"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"канал"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"ниједно"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"Недостаје објекат за рангирање."</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"Објекат за рангирање не садржи ову шифру."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"Теме"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"Подразумевано подешавање за уређај"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"Изрез екрана"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"изрезана слика за екран, урез"</string>
@@ -4310,8 +4414,12 @@
     <string name="information_label" msgid="6939310810756569298">"Информације"</string>
     <string name="low_label" msgid="6525629096999711220">"Ниска"</string>
     <string name="high_label" msgid="357503396626018487">"Висока"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"Виша осетљивост може да изазове неслагање са покретима у апликацији дуж ивица екрана."</string>
+    <string name="left_edge" msgid="1513576842959071849">"Лева ивица"</string>
+    <string name="right_edge" msgid="1505309103265829121">"Десна ивица"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"Већа осетљивост може да изазове неслагање са покретима у апликацији дуж ивица екрана."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"Позадинска осетљивост"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"Подешавања покрета"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"навигација помоћу покрета, осетљивост покрета за назад, покрет за назад"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"Двапут додирните телефон да бисте га проверили"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"Двапут додирните таблет да бисте га проверили"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"Двапут додирните уређај да бисте га проверили"</string>
@@ -4473,7 +4581,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"Покретање доделе мобилног оператера"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"Ажурирајте режим Не узнемиравај"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"Паузирајте обавештења ради боље концентрације"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"Ова функција није доступна на овом уређају."</string>
     <string name="disabled_feature" msgid="7151433782819744211">"Функција није доступна"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"Ова функција је искључена јер успорава телефон"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"Принудно покрени пуна GNSS мерења"</string>
@@ -4483,20 +4590,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"Изабери апликацију омогућену за ANGLE"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"Није подешена апликација омогућена за ANGLE"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"Апликација омогућена за ANGLE: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"Подешавања управљачког програма за игре"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"Промените подешавања управљачког програма за игре"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"Када је управљачки програм за игре укључен, можете да изаберете да користите ажурирани управљачки програм за графику за апликације инсталиране на уређају."</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"Омогући за све апликације"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"Изаберите управљачки програм за графику"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"Подразумевано"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"Управљачки програм за игре"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"Управљачки програм за необјављену верзију"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"Системски управљачки програм за графику"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"Подешавања управљачког програма за графику"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"Измена подешавања управљачког програма за графику"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"Када постоји више управљачких програма за графику, можете да изаберете да користите ажурирани управљачки програм за графику за апликације инсталиране на уређају."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"Омогући за све апликације"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"Изаберите управљачки програм за графику"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"Подразумевано"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"Управљачки програм за игре"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"Управљачки програм за програмере"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Системски управљачки програм за графику"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Промене компатибилности апликације"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Укључите/искључите промене компатибилности апликације"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Подразумеване омогућене промене"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Подразумеване онемогућене промене"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"Подешавање није подржано на овом телефону"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"Подешавање није подржано на овом таблету"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"Подешавање није подржано на овом уређају"</string>
@@ -4515,6 +4628,11 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"Уређај"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Недоступно током позива"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"Недоступно"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"Додајте излазе"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"Група"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"Изабран је 1 уређај"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"Изабраних уређаја: <xliff:g id="COUNT">%1$d</xliff:g>"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"Мења се…"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Преузми позив"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Назив приступне тачке не може да се мења."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Продужите трајање батерије таблета"</string>
@@ -4633,10 +4751,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"У датом тренутку може да буде активна само једна SIM картица.\n\nПребацивање на <xliff:g id="CARRIER1">%1$s</xliff:g> неће отказати <xliff:g id="CARRIER2">%2$s</xliff:g> услугу."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Пређи на <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Обриши SIM"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Желите ли да обришете преузети SIM?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Брисањем ове SIM картице уклонићете <xliff:g id="CARRIER_0">%1$s</xliff:g> услугу са овог уређаја.\n\n<xliff:g id="CARRIER_1">%2$s</xliff:g> услуга неће бити отказана."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Обриши"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"SIM се брише…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Брисање SIM-а није успело"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Овај SIM не може да се обрише због грешке.\n\nРестартујте уређај и пробајте поново."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Жељени тип мреже"</string>
@@ -4661,7 +4775,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Неважећи режим мреже <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Игноришите."</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Називи приступних тачака"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Недоступно када је успостављена веза са оператером <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"Здравствени подаци, контакти за хитне случајеве"</string>
     <string name="see_more" msgid="7499355691042812723">"Прикажи још"</string>
     <string name="see_less" msgid="2642392725363552793">"Прикажи мање"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"Уређај који ће се користити за <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
@@ -4670,12 +4783,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"Дошло је до неког проблема. Апликација је отказала захтев за избор уређаја."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"Повезивање је успело"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"Прикажи све"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="one">Повезан је <xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> уређај</item>
-      <item quantity="few">Повезана су <xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> уређаја</item>
-      <item quantity="other">Повезано је <xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> уређаја</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"Нема Bluetooth уређаја"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"Тражи се уређај…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"Повезује се са уређајем…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"Лево"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"Десно"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Футрола"</string>
@@ -4685,6 +4794,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"Недоступно током режима рада у авиону"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"Наметни режим рачунара"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Наметни експериментални режим рачунара на секундарним екранима"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"Омогући слободни облик апликација са непромењивом величином"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"Омогућава апликацијама са непромењивом величином да буду у слободном облику"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Замени функцију наметања тамне теме"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"Мења функцију наметања тамне теме тако да буде увек укључена"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"Приватност"</string>
@@ -4724,6 +4835,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Недавно сте инсталирали ову апликацију."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Промените излаз"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Тренутно се пушта на уређају <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (веза је прекинута)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Пребацивање није успело. Пробајте опет."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Важне информације"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"НАСТАВИ"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"НЕ, ХВАЛА"</string>
@@ -4751,8 +4864,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"SIM комбинација"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Информације о смерницама за Work"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Подешавањима управља ИТ администратор"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"Обрађивач извештаја о грешци"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Одређује која апликација управља пречицом за извештај о грешци на уређају."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Лични"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"Пословни"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"Подразумевана системска"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"Овај избор више није важећи. Пробајте поново."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"Заустави пребацивање"</string>
 </resources>
diff --git a/res/values-sv/arrays.xml b/res/values-sv/arrays.xml
index 00c54a0..ab908d8 100644
--- a/res/values-sv/arrays.xml
+++ b/res/values-sv/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"Omedelbart"</item>
     <item msgid="463591454172790676">"5 sekunder"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"Validera inte"</item>
+    <item msgid="5703177653586269306">"Begär certifikatstatus"</item>
+    <item msgid="326388247868439528">"Kräv certifikatstatus"</item>
+    <item msgid="1090956283885790552">"Kräv status för alla icke-betrodda certifikat"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"Tryckknapp"</item>
     <item msgid="2630618799033509548">"PIN-kod från den andra enheten"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"Ingen"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"IPSec-VPN med nycklar som delats i förväg och Xauth-autentisering"</item>
     <item msgid="2484564813864139237">"IPSec-VPN med certifikat och Xauth-autentisering"</item>
     <item msgid="68918911194507915">"IPSec-VPN med certifikat och dubbel autentisering"</item>
+    <item msgid="4631647675167100375">"IKEv2-/IPSec-VPN med certifikat och autentisering med användarnamn och lösenord"</item>
+    <item msgid="8812228622975052811">"IKEv2-/IPSec-VPN med i förväg delade nycklar"</item>
+    <item msgid="6630554779981113046">"IKEv2-/IPSec-VPN med certifikat"</item>
   </string-array>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"Inga"</item>
diff --git a/res/values-sv/config.xml b/res/values-sv/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-sv/config.xml
+++ b/res/values-sv/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index 4b868e1..41fac0a 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -31,49 +31,17 @@
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Aktivera utvecklaralternativ först"</string>
     <string name="header_category_wireless_networks" msgid="303445626075235229">"Trådlöst och nätverk"</string>
     <string name="header_category_system" msgid="1665516346845259058">"System"</string>
-    <string name="radio_info_data_connection_enable" msgid="7500945447906187613">"Aktivera dataanslutning"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"Inaktivera dataanslutning"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"VoLTE-administrerad"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"Videosamtal tillhandahålls"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"Wi-Fi-samtal tillhandahålls"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"EAB/Presence tillhandahålls"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"Data via CBRS"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"Aktivera DSDS"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"Vill du starta om enheten?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"Du måste starta om enheten för att ändra den här inställningen."</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"Starta om"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"Avbryt"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"Strömförsörjning för mobilradio"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"Visa SIM-adressbok"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"Visa Fasta nummer"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"Visa tjänstenummer"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"Status för IMS-tjänst"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"IMS-status"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"Registrerad"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"Ej registrerad"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"Tillgänglig"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"Inte tillgänglig"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"IMS-registrering: <xliff:g id="STATUS">%1$s</xliff:g>\nRöst via LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nRöst via Wi-Fi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideosamtal: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT-gränssnitt: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"I tjänst"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Ur funktion"</string>
     <string name="radioInfo_service_emergency" msgid="6838935881091760942">"Endast nödsamtal"</string>
     <string name="radioInfo_service_off" msgid="6184928420860868571">"Avstängd radio"</string>
     <string name="radioInfo_roaming_in" msgid="8892550453644088692">"Roaming"</string>
     <string name="radioInfo_roaming_not" msgid="3137594549464975054">"Ingen roaming"</string>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"Inaktiv"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"Ringer"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"Pågående samtal"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"Frånkopplad"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"Ansluter"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"Ansluten"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Pausad"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Ingen uppgift"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"paket"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"bytes"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"Avmontera USB-enhet"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"Avmontera SD-kort"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"Radera USB-lagring"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"Gör texten på skärmen större eller mindre."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Förminska"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Förstora"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"Exempeltext"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"Den fantastiska trollkarlen från Oz"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"Kapitel 11: Den underbara Smaragdstaden i Oz"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"Du måste starta om enheten för att ändra den här inställningen."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"Starta om"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"Avbryt"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"Tillgängliga mediaenheter"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"Tillgängliga telefonenheter"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"Anslutna just nu"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"Medieenheter"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"Telefonenheter"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"Andra enheter"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Sparade enheter"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth aktiveras för parkoppling"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Anslutningsinställningar"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"Porten som du har angett är inte giltig."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"HTTP-proxyn används av webbläsaren men får inte användas av de andra apparna."</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"PAC-webbadress: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"Nuvarande subId:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"SubId för standarddata på SIM-kortet:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"Bandbredd för nedladdning (kbps):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"Bandbredd för uppladdning (kbps):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"Platsinformation för mast (utfasad):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"Fysisk kanalkonfiguration för LTE:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"Frekvens för uppdatering av mastinformation:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"Alla information om mastmätning:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"Datatjänst:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"Roaming:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI-kod:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"Vidarekoppling av samtal:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"Antal återställningar av köpkraftsparitet sedan start:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"Aktuellt nätverk:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"Mottagen data:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"Rösttjänst:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"Signalstyrka:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"Status på videosamtal:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"Skickad data:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"Meddelande väntar:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"Telefonnummer:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"Välj radioband"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"Nätverkstyp för röst:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"Typ av datanätverk:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"Välj telefonindex"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"Ställ in önskad nätverkstyp:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"Pinga värdnamn(www.google.com) IPv4:"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"Pinga värdnamn(www.google.com) IPv6:"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"Test av HTTP-klient:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"Köra pingtest"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"Uppdatera"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"Uppdatera"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"Aktivera och inaktivera DNS-kontroll"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"OEM-specifik information/inställningar"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"Konfigurera radiobandsläget"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"Läser in bandlista …"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"Ställ in"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"Misslyckades"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"Lyckades"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"Ändringarna börjar gälla när USB-kabeln har anslutits igen."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"Aktivera USB-masslagring"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"Totalt antal bytes:"</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"Flytta längst ned"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"Ta bort språket"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"Välj aktivitet"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"Enhetsinfo"</string>
     <string name="display_label" msgid="3056320781191343221">"Skärm"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"Information om surfplattan"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"Telefoninformation"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"USB-lagring"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"SD-kort"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"Proxy-inställningar"</string>
@@ -306,9 +234,6 @@
     <string name="airplane_mode" msgid="3196085857882526817">"Flygplansläge"</string>
     <string name="wireless_networks_settings_title" msgid="8557542379234105369">"Trådlöst och nätverk"</string>
     <string name="radio_controls_summary" msgid="9028430178697624501">"Hantera Wi-Fi, Bluetooth, flygplansläge, mobilnät och VPN"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"Mobildata"</string>
-    <string name="calls_title" msgid="6334813967619899114">"Tillåt samtal"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"Sms"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"Tillåt dataanvändning via mobilnätverk"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"Tillåt dataanv. vid roaming"</string>
     <string name="roaming" msgid="3055365654530847985">"Roaming"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"Anslut till datatjänster vid roaming"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"Du förlorade dataanslutningen eftersom du lämnade ditt hemnätverk utan att aktivera dataroaming."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"Aktivera"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"Detta kan leda till höga kostnader."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"Om du tillåter dataroaming kan det leda till höga kostnader.\n\nDen här inställningen påverkar samtliga användare."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"Om du tillåter dataroaming kan det leda till höga kostnader.\n\nDen här inställningen påverkar samtliga användare."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"Roamingavgifter kan tillkomma."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"Om du tillåter dataroaming kan roamingavgifter tillkomma.\n\nAlla användare på surfplattan påverkas av den här inställningen."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"Om du tillåter dataroaming kan roamingavgifter tillkomma.\n\nAlla användare på telefonen påverkas av den här inställningen."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"Vill du tillåta dataroaming?"</string>
     <string name="networks" msgid="5184501333492775095">"Val av operatör"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"Välj en nätverksoperatör"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"Inaktiverad av administratören"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"Visa låsningsalternativ"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"Visa alternativet för strömbrytaren som inaktiverar Smart Lock, upplåsning med biometri och aviseringar på låsskärmen."</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"Enbart förlängd upplåsning för betrodda"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"Om detta aktiveras håller betrodda agenter enheten upplåst längre, men de kan inte längre låsa upp en låst enhet."</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"Lås skärmen när ingen är betrodd"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"Om detta aktiveras låses enheten när den sista betrodda agenten slutar att vara betrodd"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"Inget"</string>
@@ -390,7 +313,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"Ställ in Min plats, skärmupplåsning, lås för SIM-kort och lås för uppgiftslagring"</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"Ställ in Min plats, skärmupplåsning, lås för uppgiftslagring"</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"Sekretess"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"Inaktiverad av administratören"</string>
+    <string name="disabled_by_administrator_summary" msgid="5424846182313851124">"Inte tillgänglig"</string>
     <string name="security_status_title" msgid="6958004275337618656">"Säkerhetsstatus"</string>
     <string name="security_dashboard_summary_face" msgid="4198949293847206382">"Skärmlås, ansiktslås"</string>
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Skärmlås, fingeravtryck"</string>
@@ -693,7 +616,6 @@
       <item quantity="other">Får inte innehålla fler än <xliff:g id="NUMBER_1">%d</xliff:g> siffror</item>
       <item quantity="one">Får inte innehålla fler än <xliff:g id="NUMBER_0">%d</xliff:g> siffra</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"Får endast innehålla siffrorna 0–9"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"Enhetsadministratören tillåter inte att en pinkod som använts nyligen används igen"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"IT-adminstratören har blockerat de vanligaste pinkoderna. Testa en annan pinkod."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"Får inte innehålla ogiltiga tecken"</string>
@@ -724,6 +646,10 @@
       <item quantity="other">Lösenordet måste innehålla minst <xliff:g id="COUNT">%d</xliff:g> tecken som inte är bokstäver</item>
       <item quantity="one">Lösenordet måste innehålla minst ett tecken som inte är en bokstav</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="other">Lösenordet måste innehålla minst <xliff:g id="COUNT">%d</xliff:g> tecken som inte är en siffra</item>
+      <item quantity="one">Lösenordet måste innehålla minst ett tecken som inte är en siffra</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"Enhetsadministratören tillåter inte att ett lösenord som använts nyligen används igen"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"IT-adminstratören har blockerat de vanligaste lösenorden. Testa ett annat lösenord."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"En stigande, fallande eller upprepad siffersekvens är inte tillåten"</string>
@@ -837,19 +763,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2,4 GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"Logga in"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"Öppna webbplatsen"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"<xliff:g id="REMAINING_TIME">%1$s</xliff:g> kvar"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"Löper ut den <xliff:g id="EXPIRY_TIME">%1$s</xliff:g>"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"Tryck här om du vill logga in på nätverket"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Mbit/s"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Mbit/s"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Mbit/s"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"<xliff:g id="REQUESTER">%s</xliff:g> vill aktivera Wi-Fi"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"<xliff:g id="REQUESTER">%s</xliff:g> vill inaktivera Wi-Fi"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"Verifiera felsökningsbara appars bytekod"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Verifiera bytekod för felsökningsbara appar genom att tillåta ART"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"Visa uppdateringsfrekvens"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Visa skärmens aktuella uppdateringsfrekvens"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"Tillåt datautbyte när surfplattan vidrör en annan enhet"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"Tillåt datautbyte när mobilen vidrör en annan enhet"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"Tillåt dataöverföring när telefonen vidrör en NFC-enhet"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"Tillåt dataöverföring när telefonen vidrör en NFC-enhet"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"Aktivera NFC"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"NFC skickar och tar emot data till och från denna enhet samt andra enheter eller mål i närheten, t.ex. betalningsterminaler, tillgänglighetsläsare och interaktiva annonser eller taggar."</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"Säker NFC"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Enheten måste låsas upp för NFC"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"Tillåt endast betalningar och överföringar via NFC när skärmen är upplåst"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"Redo att överföra appinnehåll via NFC"</string>
@@ -923,8 +855,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Aktivera"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Wi‑Fi-sökning har aktiverats"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Avancerade alternativ"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"Rullgardinslista för Avancerade alternativ. Komprimera genom att trycka snabbt två gånger."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"Rullgardinslista för Avancerade alternativ. Utöka genom att trycka snabbt två gånger."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Rullgardinsmenyn Avancerade alternativ"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"utöka"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"Nätverksnamn"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"Ange SSID"</string>
     <string name="wifi_security" msgid="9095934643631406913">"Säkerhet"</string>
@@ -934,6 +866,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"Status"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"Hastighet för sändlänk"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"Hastighet för mottagarlänk"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"Länkhastighet"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"Frekvens"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"IP-adress"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"Sparat via"</string>
@@ -941,6 +874,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"EAP-metod"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"Autentisering för fas 2"</string>
     <string name="wifi_eap_ca_cert" msgid="8033404008276298886">"CA-certifikat"</string>
+    <string name="wifi_eap_ocsp" msgid="8713933962516871238">"Certifikatstatus online"</string>
     <string name="wifi_eap_domain" msgid="8304301470752333203">"Domän"</string>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"Användarcertifikat"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"Identitet"</string>
@@ -957,6 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"Välj minst ett band för Wi‑Fi-surfzon:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"IP-inställningar"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"Sekretess"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"Prenumeration"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"Visa eller ändra prenumeration"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"Slumpgenererad MAC-adress"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"Lägg till en enhet"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"Lägg till enheten i <xliff:g id="SSID">%1$s</xliff:g> genom att centrera QR-koden i fönstret nedan"</string>
@@ -966,12 +902,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"Dela Wi‑Fi"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"Anslut till <xliff:g id="SSID">%1$s</xliff:g> och dela lösenordet genom att skanna QR-koden"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"Anslut till <xliff:g id="SSID">%1$s</xliff:g> genom att skanna QR-koden"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"Det gick inte att läsa QR-koden. Centrera om koden och försök igen"</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"Försök igen. Om problemet kvarstår kontaktar du enhetens tillverkare"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"Något gick fel"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"Kontrollera att enheten är inkopplad, laddad och påslagen"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"Kontrollera att enheten är inkopplad, laddad och påslagen. Om problemet kvarstår kontaktar du enhetens tillverkare"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"Det finns inte stöd för att lägga till <xliff:g id="SSID">%1$s</xliff:g> på enheten"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"Testa att flytta enheten närmare Wi-Fi-åtkomstpunkten eller routern"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"Kontrollera lösenordet och försök igen"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"Kontakta enhetens tillverkare"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"Kontrollera anslutningen och försök igen"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"Välj nätverk"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"Välj ett nätverk om du vill ansluta enheten"</string>
@@ -984,11 +922,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"Wi‑Fi delas med den här enheten …"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"Ansluter …"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"Dela surfzon"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"Verifiera din identitet"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"Verifiera din identitet"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"Wi-Fi-lösenord: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"Lösenord till surfzon: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"Automatisk anslutning"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"Tillåt att telefonen ansluter automatiskt i närheten av det här nätverket"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"Tillåt att surfplattan ansluter automatiskt i närheten av det här nätverket"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"Lägg till enhet"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"Lägg till en enhet på nätverket med hjälp av en QR-kod"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"QR-kodens format är ogiltigt"</string>
     <string name="retry" msgid="7542103800274026915">"Försök igen"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"Dela med andra som använder enheten"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(oförändrat)"</string>
@@ -1000,6 +942,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"Inget certifikat är specificerat. Anslutningen blir inte privat."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"Nätverkets namn är för långt."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"Domän måste specificeras."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"Certifikat krävs."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"WPS tillgängligt"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (WPS tillgängligt)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"Wi‑Fi-nätverk från operatör"</string>
@@ -1051,7 +994,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"Avancerat för Wi-Fi"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"MAC-adress"</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_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>
@@ -1103,7 +1047,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"Använd surfzoner för att skapa ett Wi-Fi-nätverk för andra enheter. Med hjälp av surfzonerna ansluts enheterna till internet via din mobils dataanslutning. Ytterligare dataavgifter kan tillkomma."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"Surfzoner kan också skapas i appar för att dela innehåll med enheter i närheten."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Inaktivera surfzon automatiskt"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"Wi-Fi-surfzon inaktiveras om inga enheter är anslutna"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"När inga enheter är anslutna"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"Aktiverar surfzon ..."</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"Surfzon inaktiveras ..."</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> är aktiv"</string>
@@ -1112,6 +1056,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"Installation för Wi-Fi-surfzon"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"AndroidAP WPA2 PSK-surfzon"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"AndroidHotspot"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"Vill du spara nätverket?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"<xliff:g id="APPNAME">%1$s</xliff:g> vill spara ett nätverk på telefonen"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"<xliff:g id="APPNAME">%1$s</xliff:g> vill spara ett nätverk på surfplattan"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"Sparar …"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"Sparat"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"Det gick inte att spara. Försök igen."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"Vill du spara nätverken?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"<xliff:g id="APPNAME">%1$s</xliff:g> vill spara dessa nätverk på telefonen"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"<xliff:g id="APPNAME">%1$s</xliff:g> vill spara dessa nätverk på surfplattan"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"<xliff:g id="NUMBER">%d</xliff:g> nätverk sparas …"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"Sparade nätverk"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"Wi-Fi-samtal"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"Utöka samtal med Wi‑Fi"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"Utöka täckningen genom att aktivera Wi-Fi-samtal"</string>
@@ -1138,16 +1093,18 @@
     <string name="emergency_address_title" msgid="3490633500025717573">"Adress för nödfall"</string>
     <string name="emergency_address_summary" msgid="3022628750270626473">"Används som din plats om du ringer nödsamtal via Wi‑Fi"</string>
     <string name="private_dns_help_message" msgid="851221502063782306"><annotation id="url">"Läs mer"</annotation>" om privata DNS-funktioner"</string>
+    <string name="private_dns_mode_on" msgid="8878679071975375696">"På"</string>
     <string name="wifi_calling_pref_managed_by_carrier" msgid="129524064888622179">"Inställningen hanteras av operatören"</string>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"Aktivera Wi-Fi-samtal"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"Aktivera Wi-Fi-samtal"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"%1$s stöder inte för Wi-Fi-samtal"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"Frånkopplad från <xliff:g id="SSID">%1$s</xliff:g>"</string>
     <string name="carrier" msgid="1755020806290963951">"Operatör"</string>
     <string name="display_settings_title" msgid="626835071804834218">"Skärm"</string>
     <string name="sound_settings" msgid="5514582720435174014">"Ljud"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"Volymer"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"Musikeffekter"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"Ringvolym"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"Samtals och aviseringsvolym"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"Vibrera vid tyst"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"Standardljud för meddelanden"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"Ringsignal"</string>
@@ -1272,13 +1229,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"Schema"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"Ingen"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"På fr. solnedgång t. soluppgång"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"Aktiveras vid anpassad tid"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"Status"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"Av/<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"Aktiveras aldrig automatiskt"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"Aktiveras automatiskt vid solnedgången"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"Aktiveras automatiskt kl. <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"På/<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"Inaktiveras aldrig automatiskt"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"Inaktiveras automatiskt vid soluppgången"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"Inaktiveras automatiskt kl. <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"Aktivera till <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"Inaktivera till <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"Med mörkt tema används en svart bakgrund på vissa skärmar så att batteriet räcker längre. Om mörkt tema är schemalagt aktiveras det inte förrän skärmen är av."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"Skärmens tidsgräns"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"Skärmen stängs av"</string>
@@ -1290,7 +1252,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"Ändra bakgrund"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"Anpassa skärmen"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"Välj bakgrund från"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"Anpassa Pixel"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"Anpassa telefonen"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"Testa olika format, bakgrunder med mera"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"Skärmsläckare"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Vid laddning eller dockning"</string>
@@ -1379,6 +1341,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"Avmontera USB-lagringsenheten och visa tillgängligt lagringsutrymme"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"Avmontera SD-kort, visa tillgängligt lagringsutrymme"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI-kod (SIM-kortsplats %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"Välj ett sparat nätverk för att visa"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"Mobilnummer (MDN)"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"Telefonnummer"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (SIM-kortsplats %1$d)"</string>
@@ -1405,6 +1368,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"Roaming"</string>
     <string name="status_operator" msgid="4335640583552058491">"Nätverk"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"Wi-Fi MAC-adress"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"Enhetens MAC-adress för Wi-Fi"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"Bluetooth-adress"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Serienummer"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Tid sedan systemstart"</string>
@@ -1617,6 +1581,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Återställning av standardinställningar för APN har slutförts."</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"Återställningsalternativ"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"Nätverk, appar och enheter kan återställas"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"Appar kan återställas"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"Återställ Wi-Fi, mobildata och Bluetooth"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"Alla nätverksinställningar återställs, till exempel \n\n"<li>"Wi‑Fi"</li>\n<li>"Mobildata"</li>\n<li>"Bluetooth"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"Rensa nedladdade SIM-kort"</string>
@@ -1666,6 +1631,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"Surfzon har aktiverats"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"Internetdelning"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"Det går inte att använda internetdelning eller trådlösa surfzoner när Databesparing är aktiverat."</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"Endast surfzon"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"Endast USB"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"Endast Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"Surfzon, USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"Surfzon, Bluetooth"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB, Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"Surfzon, USB, Bluetooth"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"Internet delas inte med andra enheter"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"Internetdelning"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Använd inte Wi‑Fi-surfzon"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Dela internet endast via USB"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Dela internet endast via Bluetooth"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Dela internet endast via USB och Bluetooth"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"Delning via USB"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"Dela mobilens internetanslutning via USB"</string>
@@ -1756,9 +1734,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"Säkerhetsinformation"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"Du har inte någon dataanslutning. Besök %s på en dator som är ansluten till internet om du vill visa informationen nu."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"Läser in …"</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"Använd pinkod"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"Använd grafiskt lösenord"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"Använd lösenord"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"Konfigurera skärmlås"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"Ange ett lösenord som skydd"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"Lösenord krävs för fingeravtryck"</string>
@@ -1767,8 +1742,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"Pinkod krävs för fingeravtryck"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"Ange ett grafiskt lösenord som skydd"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"Ange ditt lösenord igen"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"Ange lösenordet för jobbprofilen"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"Bekräfta grafiskt lösenord"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"Ange det grafiska lösenordet"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"Ange din pinkod igen"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"Ange pinkoden för jobbprofilen"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"Lösenorden matchar inte"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"PIN-koderna matchar inte"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"Rita det grafiska lösenordet igen"</string>
@@ -1779,6 +1757,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"Ange lösenord för ansiktslås"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"Ange grafiskt lösenord för ansiktslås"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"Ange pinkod för ansiktslås"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"Har du glömt lösenordet?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"Har du glömt det grafiska lösenordet?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"Har du glömt pinkoden?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"Ange det grafiska lösenordet för enheten om du vill fortsätta"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"Ange pinkoden för enheten om du vill fortsätta"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"Ange lösenordet för enheten om du vill fortsätta"</string>
@@ -1846,6 +1827,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"Tillåt alla appkällor"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"Senast öppnade appar"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"Visa alla <xliff:g id="COUNT">%1$d</xliff:g> appar"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"Kontakta IT-administratören"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"Administratören kan hjälpa dig att återställa pinkoden, lösenordet eller det grafiska lösenordet"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"Surfplattan och dina personliga uppgifter är mer sårbara när attackerna kommer från okända appar. Genom att installera appar från den här källan accepterar du att du är ansvarig för eventuella skador på surfplattan eller förlust av data som kan uppstå när du använder dessa appar."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"Mobilen och dina personliga uppgifter är mer sårbara när attackerna kommer från okända appar. Genom att installera appar från den här källan accepterar du att du är ansvarig för eventuella skador på mobilen eller förlust av data som kan uppstå när du använder dessa appar."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"Enheten och dina personliga uppgifter är mer sårbara när attackerna kommer från okända appar. Genom att installera appar från den här källan accepterar du att du är ansvarig för eventuella skador på enheten eller förlust av data som kan uppstå när du använder dessa appar."</string>
@@ -1897,7 +1880,7 @@
     <string name="default_emergency_app" msgid="1929974800666613803">"App för nödsituationer"</string>
     <string name="reset_app_preferences" msgid="8861758340732716573">"Återställ inställningarna"</string>
     <string name="reset_app_preferences_title" msgid="8935136792316050759">"Vill du återställa?"</string>
-    <string name="reset_app_preferences_desc" msgid="1377296810290814749">"Detta återställer alla inställningar för:\n\n "<li>"inaktiverade appar"</li>\n" "<li>"inaktiverade appaviseringar"</li>\n" "<li>"standardappar för åtgärder"</li>\n" "<li>"begränsningar i bakgrundsdata för appar"</li>\n" "<li>"begränsningar för alla behörigheter."</li>\n\n"Ingen appdata kommer att försvinna."</string>
+    <string name="reset_app_preferences_desc" msgid="6509978724602405805">"Detta återställer alla inställningar för:\n\n"<li>"Inaktiverade appar"</li>\n<li>"Inaktiverade appmeddelanden"</li>\n<li>"Standardappar för åtgärder"</li>\n<li>"Begränsningar av bakgrundsdata för appar"</li>\n<li>"Alla begränsningar av behörigheter"</li>\n\n"Ingen appdata försvinner."</string>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"Återställ appar"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"Hantera utrymme"</string>
     <string name="filter" msgid="9039576690686251462">"Filtrera"</string>
@@ -2097,7 +2080,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"Ljud och text på skärmen"</string>
     <string name="display_category_title" msgid="6638191682294461408">"Skärm"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"Interaktionsinställningar"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"Nedladdade tjänster"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"Nedladdade appar"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"Experimentella"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"Funktionsflaggor"</string>
     <string name="talkback_title" msgid="8756080454514251327">"TalkBack"</string>
@@ -2105,27 +2088,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"Tryck på objekt på skärmen om du vill höra dem upplästa"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"Inställningar för textning"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"Förstoring"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"Förstoringsområde"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"Magnification enable"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"Välj vilket förstoringsområde du vill använda när du förstorar skärmen"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"Hela skärmen"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"Del av skärmen"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"Hela skärmen och en del av skärmen"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"Förstora hela skärmen"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"Förstora en del av skärmen"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Inställningar för förstoring"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"Tryck tre gånger för att förstora"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Förstora med genväg"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Förstora med genväg och tryck snabbt tre gånger"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"Om <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"Alternativ"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"Zooma in på skärmen"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"Tryck tre gånger om du vill zooma"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Tryck på en knapp för att zooma"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><b>"Zooma"</b>" genom att trycka snabbt tre gånger på skärmen.\n"<ul><li>"Tryck och dra med minst två fingrar om du vill rulla över skärmen"</li>\n<li>"Justera zoomen genom att nypa med minst två fingrar"</li></ul>\n\n<b>"Zooma tillfälligt"</b>" genom att trycka snabbt på skärmen tre gånger och trycka ned fingret på det tredje trycket.\n"<ul><li>"Tryck och dra om du vill flytta runt på skärmen"</li>\n<li>"Lyft fingret när du vill zooma ut"</li></ul>\n\n"Det går inte att zooma in på tangentbordet eller navigeringsfältet."</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"När förstoring har aktiverats kan du zooma in på skärmen.\n\n"<b>"Om du vill zooma"</b>" aktiverar du förstoring och trycker var som helst på skärmen.\n"<ul><li>"• Skrolla genom att dra med minst två fingrar."</li>\n<li>"• Justera zoomen genom att nypa med minst två fingrar."</li></ul>\n\n<b>"Om du vill zooma tillfälligt"</b>" aktiverar du förstoring och trycker länge var som helst på skärmen.\n"<ul><li>"• Flytta runt på skärmen genom att dra."</li>\n<li>"• Zooma ut genom att lyfta fingret."</li></ul>\n\n"Det går inte att zooma in på tangentbordet eller navigeringsfältet."</string>
+    <string name="accessibility_screen_magnification_summary" msgid="7617931632990040045">"Zooma in snabbt på skärmen för att se innehållet tydligare.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Så här zoomar du in:&lt;/b&gt;&lt;br/&gt;	1. Starta förstoring med kortkommando&lt;br/&gt;	2. Tryck på skärmen&lt;br/&gt;	3. Dra två fingrar för att navigera på skärmen&lt;br/&gt;	4. Nyp med två fingrar för att justera zoomnivån&lt;br/&gt;	5. Stoppa förstoring med kortkommando&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Så här zoomar du in tillfälligt:&lt;/b&gt;&lt;br/&gt;	1. Starta förstoring med kortkommando&lt;br/&gt;	2. Tryck länge var som helst på skärmen&lt;br/&gt;	3. Dra fingret för att navigera på skärmen&lt;br/&gt;	4. Stoppa förstoringen genom att lyfta fingret"</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"När förstoring har aktiverats kan du zooma in på skärmen.\n\n"<b>"Om du vill zooma"</b>" aktiverar du förstoring och trycker var som helst på skärmen.\n"<ul><li>"Skrolla genom att dra med minst två fingrar."</li>\n<li>"Justera zoomen genom att nypa med minst två fingrar."</li></ul>\n\n<b>"Om du vill zooma tillfälligt"</b>" aktiverar du förstoring och trycker länge var som helst på skärmen.\n"<ul><li>"Flytta runt på skärmen genom att dra."</li>\n<li>"Zooma ut genom att lyfta fingret."</li></ul>\n\n"Det går inte att zooma in på tangentbordet eller navigeringsfältet."</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Öppna med tillgänglighetsknappen"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Öppna med rörelse"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"Använd en ny tillgänglighetsrörelse"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"Aktivera och inaktivera tjänsten genom att trycka på tillgänglighetsknappen <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>.\n\nByt mellan tjänster genom att trycka länge på tillgänglighetsknappen."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"Aktivera och inaktivera tjänsten genom att svepa uppåt med två fingrar från skärmens nederkant.\n\nByt mellan tjänster genom att svepa uppåt med två fingrar och hålla kvar dem."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"Aktivera och inaktivera tjänsten genom att svepa uppåt med tre fingrar från skärmens nederkant.\n\nByt mellan tjänster genom att svepa uppåt med tre fingrar och hålla kvar dem."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"Aktivera och inaktivera tillgänglighetstjänster genom att svepa uppåt med två fingrar från skärmens nederkant.\n\nByt mellan tjänster genom att svepa uppåt med två fingrar och hålla kvar dem."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"Aktivera och inaktivera tillgänglighetstjänster genom att svepa uppåt med tre fingrar från skärmens nederkant.\n\nByt mellan tjänster genom att svepa uppåt med tre fingrar och hålla kvar dem."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"Aktivera och inaktivera tjänsten genom att trycka på tillgänglighetsknappen <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> längst ned på skärmen.\n\nByt mellan tjänster genom att trycka länge på tillgänglighetsknappen."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"Aktivera och inaktivera tjänsten genom att svepa uppåt med två fingrar från skärmens nederkant.\n\nByt mellan tjänster genom att svepa uppåt med två fingrar och hålla kvar dem."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"Aktivera och inaktivera tjänsten genom att svepa uppåt med tre fingrar från skärmens nederkant.\n\nByt mellan tjänster genom att svepa uppåt med tre fingrar och hålla kvar dem."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"Aktivera och inaktivera tillgänglighetstjänster genom att svepa uppåt med två fingrar från skärmens nederkant.\n\nByt mellan tjänster genom att svepa uppåt med två fingrar och hålla kvar dem."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"Aktivera och inaktivera tillgänglighetstjänster genom att svepa uppåt med tre fingrar från skärmens nederkant.\n\nByt mellan tjänster genom att svepa uppåt med tre fingrar och hålla kvar dem."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"OK"</string>
+    <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Kortkommando för <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_edit_summary_software" msgid="2820923641553461297">"Tillgänglighetsknapp"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture" msgid="8078659880723370597">"Svep uppåt med två fingrar"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture_talkback" msgid="7422753388389160524">"Svep uppåt med tre fingrar"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software" msgid="4796192466943479849">"Tryck på tillgänglighetsknappen"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8922102767509399352">"Tryck på tillgänglighetsknappen <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> längst ned på skärmen"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"Svep uppåt från skärmens nederkant med två fingrar"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"Svep uppåt från skärmens nederkant med tre fingrar"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Håll ned volymknapparna"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"Tryck och håll båda volymknapparna i en sekund"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Tryck snabbt tre gånger på skärmen"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"Tryck snabbt på skärmen tre gånger. Detta kortkommando kan göra enheten långsammare."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"Avancerat"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"<xliff:g id="SERVICE">%1$s</xliff:g> har angetts för tillgänglighetsknappen. Om du vill använda förstoring trycker du länge på tillgänglighetsknappen och väljer förstoring."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"Tillgänglighetsrörelsen är inställd på <xliff:g id="SERVICE">%1$s</xliff:g>. Om du vill använda förstoring sveper du uppåt med två fingrar från skärmens nederkant och håller kvar fingret. Välj sedan Förstoring."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"Kortkommando för volymknapp"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"Tjänst för kortkommando"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Inställningar för kortkommandon"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"Tillåt på låsskärmen"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"När kortkommandot har aktiverats kan du starta en tillgänglighetsfunktion genom att trycka ned båda volymknapparna i tre sekunder."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"Text med hög kontrast"</string>
@@ -2149,24 +2157,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"Ställ in hur lång tid som tillfälliga meddelanden som ber dig att vidta åtgärder ska visas.\n\nDet är inte alla appar som har stöd för inställningen."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"Fördröjning för tryck och håll ned"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"Inverterade färger"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"Kan påverka prestandan"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"Hovringstid"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"Använd inverterade färger"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"Med inverterade färger blir ljusa skärmar mörka. Då kan personer som är känsliga mot skarpt ljus se skärmen bättre.&lt;br/&gt;&lt;br/&gt;Obs! Mörka färger blir ljusa. Färgerna ändras i media och bilder. Du kan även använda mörkt tema (System &gt; Skärm)."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"Automatiskt klick (hovringstid)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"Om du använder en mus kan du ställa in markören så att musen klickar automatiskt när muspekaren har varit stilla en viss tid."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"Fördröjning före klick"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"Använd inte autoklick (standard)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"Kort"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0,2 sekunder"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"Medel"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0,6 sekunder"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"Lång"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 sekund"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"Anpassa"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"Kortare"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"Längre"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"Tid för automatiskt klick"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"Vibration och haptisk styrka"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Vibration för aviseringar"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Vibration för ringsignal"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Tryckåterkoppling"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"Använd tjänsten"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"Använd <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"Öppna <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"Använd färgkorrigering"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"Använd textning"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"Visa textning"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"Textutseende"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"Textstorlek och textstil"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"Fler alternativ"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"Alla appar har inte stöd för den här inställningen."</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"Tillgänglighetsknapp"</string>
+    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"Svep nedifrån och upp med två fingrar"</string>
+    <string name="accessibility_shortcut_type_hardware" msgid="4834144210432451916">"Håll ned volymknapparna"</string>
+    <string name="accessibility_shortcut_type_triple_tap" msgid="7717524216825494543">"Tryck snabbt tre gånger på skärmen"</string>
     <string name="accessibility_hearingaid_instruction_continue_button" msgid="3367260988024430722">"Fortsätt"</string>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"Hörapparater"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"Inga hörapparater har anslutits"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"Lägg till hörapparater"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"Parkoppla hörapparater genom att hitta och trycka på dem på nästa skärm."</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"Kontrollera att hörapparaterna är i kopplingsläge."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"Parkoppla dina hörapparater genom att hitta och trycka på dem på nästa skärm. Kontrollera att hörapparaterna är i kopplingsläge."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> aktiv"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> hörapparater har sparats</item>
@@ -2178,25 +2204,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Tjänsten fungerar inte."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Visa i Snabbinställningar"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"Korrigeringsläge"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="other">Extremt kort fördröjning (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Extremt kort fördröjning (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Röd–grön"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"Grön–röd"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Gul–blå"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"Deuteranopi"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"Protanopi"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"Tritanopi"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="other">Extremt kort fördröjning (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunder)</item>
+      <item quantity="one">Extremt kort fördröjning (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> sekund)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="other">Mycket kort fördröjning (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Mycket kort fördröjning (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="other">Mycket kort fördröjning (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunder)</item>
+      <item quantity="one">Mycket kort fördröjning (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> sekund)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="other">Kort fördröjning (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Kort fördröjning (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="other">Kort fördröjning (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunder)</item>
+      <item quantity="one">Kort fördröjning (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> sekund)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="other">Lång fördröjning (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Lång fördröjning (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="other">Lång fördröjning (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunder)</item>
+      <item quantity="one">Lång fördröjning (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> sekund)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="other">Mycket lång fördröjning (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Mycket lång fördröjning (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="other">Mycket lång fördröjning (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunder)</item>
+      <item quantity="one">Mycket lång fördröjning (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> sekund)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> sekunder</item>
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> sekund</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"Ringsignal <xliff:g id="SUMMARY_RING">%1$s</xliff:g>, avisering <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>, tryck <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"Vibrationer har inaktiverats för samtal och aviseringar"</string>
@@ -2513,7 +2549,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"Sedan senaste bortkoppling <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"Total förbrukning"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"Uppdatera"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"Operativsystemet Android"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"Mediaserver"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"Appoptimering"</string>
     <string name="battery_saver" msgid="7737147344510595864">"Batterisparläge"</string>
@@ -2594,8 +2629,7 @@
     <string name="tts_play" msgid="2945513377250757221">"Spela upp"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"Uppgiftslagring"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"Installera från lagringsenhet"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"Installera från SD-kort"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"Installera ett certifikat"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"Installera certifikat från lagringsenhet"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"Installera certifikat från SD-kort"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"Rensa användaruppgifter"</string>
@@ -2615,6 +2649,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"Uppgiftslagringen raderades."</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"Uppgiftslagringen kunde inte raderas."</string>
     <string name="usage_access_title" msgid="1580006124578134850">"Appar med åtkomst"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"CA-certifikat"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"VPN- och appanvändarcertifikat"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"Wi‑Fi-certifikat"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"Din integritet är i fara"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"CA-certifikat används av webbplatser, appar och VPN-nätverk i krypteringssyfte. Installera endast CA-certifikat från organisationer du litar på. \n\n Om du installerar ett CA-certifikat kan certifikatsägaren få åtkomst till din information (t.ex. lösenord, meddelanden och kreditkortsuppgifter) från webbplatser du besöker och appar du använder – även om informationen är krypterad."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"Installera inte"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"Installera ändå"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"Certifikatet installerades inte"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"Ringsignal vid nödsituationer"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Ange beteende vid nödsamtal"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Säkerhetskopiering"</string>
@@ -2642,10 +2684,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"Inaktivera och installera"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"Enhetsadministratörsappar"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"Inga tillgängliga appar för enhetsadministratör"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"Personlig"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"Arbete"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"Begränsa åtkomst till sms- och samtalshistorik"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"Endast standardappar för telefon och sms har behörighet till samtalshistorik"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"Det finns inga tillgängliga betrodda agenter"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"Aktivera appen för enhetsadministratör?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"Aktivera den här appen för enhetsadministratör"</string>
@@ -2659,6 +2697,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"Andra alternativ har inaktiverats av administratören"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"Mer information"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"Aviseringslogg"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"Aviseringshistorik"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"I dag"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"Snoozade"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"Senast stängda"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> aviseringar</item>
+      <item quantity="one"><xliff:g id="NUMBER_0">%d</xliff:g> avisering</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"Ringsignal och vibration"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"Nätverksinformation"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"Synkronisering aktiverad"</string>
@@ -3008,7 +3054,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"Begränsningar"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"Ta bort begränsningar"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"Ändra PIN-koden"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"Visa meddelanden"</string>
     <string name="help_label" msgid="2896538416436125883">"Hjälp och feedback"</string>
     <string name="support_summary" msgid="1034146931237148885">"Hjälpartiklar, telefon och chatt, kom igång"</string>
     <string name="user_account_title" msgid="6389636876210834864">"Konto för innehåll"</string>
@@ -3033,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G-samtal"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Använd LTE-tjänster för att förbättra bl.a. röstkommunikation (rekommenderas)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Använd 4G-tjänster för att förbättra bl.a. röstkommunikation (rekommenderas)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Funktionsverifiering för kontakter"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Tillåter att operatören verifierar vilka samtalsfunktioner dina kontakter kan använda."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Ska Funktionsverifiering för kontakter aktiveras?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Om du aktiverar den här funktionen får operatören åtkomst till telefonnummer i dina kontakter och verifierar vilka samtalsfunktioner kontakterna kan använda."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Önskad nätverkstyp"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (rekommenderas)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"Mms"</string>
@@ -3077,7 +3126,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"Ring med"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"Välj ett SIM-kort"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"SIM-kort <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"SIM-kortet är tomt"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"Namn på SIM-kort"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"Ange SIM-namn"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"SIM-kortsplats %1$d"</string>
@@ -3087,6 +3135,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"Välj SIM-kort"</string>
     <string name="color_orange" msgid="216547825489739010">"Orange"</string>
     <string name="color_purple" msgid="6603701972079904843">"Lila"</string>
+    <string name="color_pink" msgid="8596872110888626708">"Rosa"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"Inga SIM-kort har anslutits"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"Status för SIM-kort"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"SIM-status (SIM-kortsplats %1$d)"</string>
@@ -3100,7 +3149,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"SIM-korten har ändrats."</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Tryck för att konfigurera"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"Primärt SIM-kort för"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Fråga varje gång"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Du måste välja något"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"Val av SIM"</string>
@@ -3118,6 +3166,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"Bluetooth, körläge"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"Bluetooth, NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"Bluetooth"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"Inte tillgängligt eftersom NFC är inaktiverat"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"Appar och aviseringar"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Senaste apparna, standardappar"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Appar i jobbprofilen har inte åtkomst till aviseringar"</string>
@@ -3128,13 +3177,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"Inställningar"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"wifi, wi-fi, nätverksanslutning, internet, trådlös, data, wi fi"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"Wi‑Fi-avisering, wi-fi-avisering"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"dataanvändning"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"Sluta vibrera, tryck, tangentbord"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"Använd 24-timmarsformat"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"Ladda ned"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"Öppna med"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"Appar"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"tidszon"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"Chatthuvud"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"Chatthuvud, system, avisering, fönster, dialogruta, skärm, ovanpå andra appar, rita"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"Ficklampa, Lampa, Handlampa"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"wifi, wi-fi, på/av, styra"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"mobiltelefon, mobil, mobiloperatör, trådlös, data, 4g, 3g, 2g, lte"</string>
@@ -3158,7 +3208,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"stör inte, avbryt, avbrott, paus"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"närliggande, plats, historik, rapportering, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"konto"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"konto, lägg till ett konto, jobbprofil, lägg till konto"</string>
     <string name="keywords_users" msgid="3497517660077620843">"begränsning, begränsa, begränsad"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"textkorrigering, korrigera, ljud, vibrera, automatiskt, språk, gest, föreslå, förslag, tema, stötande, ord, skriva, emoji, internationell"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"återställa, inställningar, standardinställningar"</string>
@@ -3196,6 +3246,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"minne, cache, data, radera, rensa, frigör, utrymme"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"ansluten, enhet, hörlurar, headset, högtalare, trådlös, parkoppla, hörsnäckor, musik, media"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"bakgrund, skärm, låsskärm, tema"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"ikonform, accentfärg, teckensnitt"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"standard, assistent"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"betalning, standard"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"inkommande avisering"</string>
@@ -3205,18 +3256,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"haptik, vibration, känslighet"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"batterisparläge, fast position, beständig, strömläge, batteri"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"rutin, schema, batterisparläge, energisparläge, batteri, automatiskt, procent"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"jobbprofil"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"volte, avancerade samtal, 4g-samtal"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"lägg till språk, lägg till ett språk"</string>
     <string name="default_sound" msgid="6604374495015245195">"Standardsignal"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"Ringvolym på <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"Volymen för samtal och aviseringar är inställd på <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Volym, vibrera, stör ej"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"Enheten är inställd på att vibrera som ringsignal"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"Ringsignalen är avstängd"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"Ringvolym på 80 %"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"Volymen för samtal och aviseringar är inställd på 80 %"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Medievolym"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Castvolym"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"Samtalsvolym"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"Alarmvolym"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"Ringvolym"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"Samtals och aviseringsvolym"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"Aviseringsvolym"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"Ringsignal"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"Standardljud för aviseringar"</string>
@@ -3224,6 +3276,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"Standardljud för aviseringar"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"Standardljud för alarm"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"Vibrera vid samtal"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"Vibrera aldrig"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"Vibrera alltid"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"Vibrera först, ring sedan allt starkare"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"Andra ljud"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"Knappsatsljud"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"Ljud vid skärmlåsning"</string>
@@ -3247,6 +3302,7 @@
       <item quantity="one">1 har aktiverats</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Stör ej"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Få bara aviseringar från viktiga personer och appar"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Begränsa antalet avbrott"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Aktivera Stör ej."</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"Undantag"</string>
@@ -3273,7 +3329,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Blockera synliga störningar"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Tillåt synliga signaler"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"När Stör ej har aktiverats"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"Tillåt avbrott med ljud"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"Begränsa aviseringar"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Aviseringar hörs inte"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"Aviseringar visas på skärmen"</string>
@@ -3304,7 +3360,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"Ljud och vibration"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"Ljud, vibration och vissa visuella aviseringar"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"Ljud, vibration och visuella aviseringar"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"Aviseringar som behövs för grundläggande aktivitet och status för mobilen döljs aldrig."</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"Aviseringar som behövs för grundläggande aktivitet och status för telefonen döljs aldrig."</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"Inga"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"övriga alternativ"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"Lägg till"</string>
@@ -3334,10 +3390,12 @@
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> scheman kan aktiveras automatiskt</item>
       <item quantity="one">1 schema kan aktiveras automatiskt</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"Stäng av ljudet men tillåt undantag"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"Undantag"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"Schema"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"Visa alla undantag"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"Undantag till Stör ej"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"Personer"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"Appar"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"Alarm och andra störningsmoment"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"Scheman"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"Aviseringar som hindras från att visas på skärmen"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"Ljud och vibrationer stängs av när Stör ej har aktiverats, utom objekten du har tillåtit ovan."</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"Stäng av ljudet för alla utom"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"Ljudet har stängts av"</string>
@@ -3381,16 +3439,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"Anpassade aviseringar"</string>
     <string name="asst_capability_prioritizer_title" msgid="1181272430009156556">"Prioritet för anpassad avisering"</string>
     <string name="asst_capability_prioritizer_summary" msgid="954988212366568737">"Ställ automatiskt in aviseringar av lägre prioritet på Utan avbrott"</string>
+    <string name="asst_capability_ranking_title" msgid="312998580233257581">"Smart rankning av aviseringar"</string>
+    <string name="asst_capability_ranking_summary" msgid="2293524677144599450">"Rangordna automatiskt aviseringar efter relevans"</string>
     <string name="asst_capabilities_actions_replies_title" msgid="4392470465646394289">"Föreslagna åtgärder och svar"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"Visa föreslagna åtgärder och svar automatiskt"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"Aktivera aviseringshistorik för att hålla koll på tidigare och uppskjutna aviseringar"</string>
+    <string name="notification_history" msgid="8663811361243456201">"Aviseringshistorik"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"Aktivera historik"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"Inaktivera historik"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"Aviseringshistorik är inaktiverat"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"visa aviseringsinställningar"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Tillåt att aviseringar snoozas"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"Dölj ikoner från aviseringar utan avbrott"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"Ikoner för aviseringar utan avbrott visas inte i statusfältet"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"Tillåt aviseringsprickar"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"Visa en remsa med de senaste konversationerna"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Bubblor"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"Vissa aviseringar kan visas som bubblor på skärmen"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"Vissa aviseringar och annat innehåll kan visas som bubblor på skärmen. Tryck på en bubbla för att öppna den. Om du vill stänga bubblan drar du den längst ned på skärmen."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Bubblor"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"Nya meddelanden visas på skärmen"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"Tillåt att <xliff:g id="APP_NAME">%1$s</xliff:g> visar vissa aviseringar som bubblor"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"Aktivera bubblor"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"Om du vill aktivera bubblor för appen måste du först aktivera dem för enheten. Detta påverkar andra appar där du redan har aktiverat bubblor."</string>
@@ -3408,6 +3476,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"Visa på aviseringspanelen och låsskärmen."</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"Visa på aviseringspanelen och i statusfältet."</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"Visa på aviseringspanelen, i statusfältet och på låsskärmen."</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"Dölj tysta aviseringar i statusfältet"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"Blinkande ljus"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"Låsskärm"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"Hoppa över låsskärmen"</string>
@@ -3438,6 +3507,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"Beteende"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"Tillåt ljud"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"Visa aldrig aviseringar"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"Konversationer"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"Konversation"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"Inte en konversation"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"Ta bort från konversationsavsnittet"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"Det här är en konversation"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"Lägg till i konversationsavsnittet"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"Hantera konversationer"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"Viktiga konversationer"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"Alla konversationer"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"Visa viktiga konversationer i bubblor"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"Viktiga konversationer visas högst upp i aviseringspanelen. Du kan även ställa in så att de visas i bubblor och kringgår Stör ej."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"Visa utan ljud och minimera"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"Visa utan ljud"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"Spela upp ljud"</string>
@@ -3456,7 +3536,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"Inga ljud eller vibrationer som stör koncentrationen"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"Påkallar uppmärksamhet med ljud eller vibrationer"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"När enheten är olåst visas aviseringar i en banner högst upp på skärmen"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"Visa aviseringar"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"Alla aviseringar från <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"Anpassade aviseringar"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="other">ca <xliff:g id="NUMBER_1">%d</xliff:g> aviseringar om dagen</item>
@@ -3477,6 +3557,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"Anpassade aviseringar"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"Inga"</string>
     <string name="no_notification_listeners" msgid="2839354157349636000">"Inga installerade appar har begärt åtkomst till aviseringar"</string>
+    <string name="notification_access_detail_switch" msgid="46386786409608330">"Tillåt åtkomst till aviseringar"</string>
     <string name="notification_assistant_security_warning_title" msgid="2972346436050925276">"Vill du tillåta åtkomst till aviseringar för <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
     <string name="notification_assistant_security_warning_summary" msgid="3119843404577399036">"<xliff:g id="NOTIFICATION_ASSISTANT_NAME">%1$s</xliff:g> kan läsa alla aviseringar, inklusive personliga uppgifter som namn på kontaktpersoner och texten i mottagna meddelanden. Den kan också ändra eller stänga aviseringar eller aktivera åtgärdsknappar i dem. \n\nAppen kan också aktivera eller inaktivera Stör ej och ändra relaterade inställningar."</string>
     <string name="notification_listener_security_warning_title" msgid="5791700876622858363">"Vill du tillåta åtkomst till aviseringar för <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
@@ -3538,8 +3619,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"Klart"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"Relevans"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"Blinkande ljus"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"Vibration"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"Vibration"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"Ljud"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"Viktigt"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"Lägg till i hemmet"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"Radera"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"Byt namn"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"Schemanamn"</string>
@@ -3593,6 +3676,10 @@
       <item quantity="other"><xliff:g id="NUM_PEOPLE">%d</xliff:g> till</item>
       <item quantity="one">1 till</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Konversationer"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"Från alla konversationer"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"Från viktiga konversationer"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"Tillåt inga konversationer"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"Tillåt meddelanden"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"Kontrollera om enheten är inställd på att ringa, vibrera eller på ljudlös så du vet att tillåtna meddelanden hörs."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"Inkommande meddelanden blockeras med <xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>. Du kan anpassa inställningarna så att vänner, familj eller andra kontakter ändå kan nå dig."</string>
@@ -3606,15 +3693,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"Ingen"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"Tillåt inga samtal"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"Tillåt inga sms"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"Tillåt alarm"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"Alarm"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"Från timers, alarm, säkerhetssystem och andra appar"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"alarm"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"Spela upp medieljud"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"Medieljud"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"Från videor, spel och annan media"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"ljud från video"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"Tillåt ljud vid tryck"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"Ljud vid tryck"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"Från tangentbordet och andra knappar"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"ljud vid tryck"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"Tillåt påminnelser"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"Påminnelser"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"Från uppgifter och andra påminnelser"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"påminnelser"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"Tillåt händelser"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"Händelser"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"Från kommande kalenderhändelser"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Tillåt att appar åsidosätter funktionen"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"Undantagna appar"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3657,6 +3749,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"Tillåt att skärmen slås på för aviseringar som tystats via Stör ej"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"Aviseringsinställningar"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"OK"</string>
+    <string name="suggestion_button_close" msgid="6865170855573283759">"Stäng"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Skicka feedback om den här enheten"</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"Ange administratörens pinkod:"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"På"</string>
@@ -3667,6 +3760,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Be om pinkod innan skärmen lossas"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Be om lösenord innan skärmen lossas"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Lås enheten när skärmen lossas"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Bekräfta borttagning av SIM"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"Verifiera din identitet innan du tar bort ett nedladdat SIM"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"Den här jobbprofilen hanteras av:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"Hanteras av <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(experimentellt)"</string>
@@ -3741,8 +3836,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"Alla appar"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Installerade appar"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Snabbappar"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"Personligt"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"Arbetet"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"Appar: alla"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"Inaktiverade"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"Kategorier: brådskande avisering"</string>
@@ -3754,6 +3847,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"Okänd app"</string>
     <string name="app_permissions" msgid="8666537659217653626">"Behörighetshantering"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"Appar som använder <xliff:g id="APPS">%1$s</xliff:g>"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"Appar som använder <xliff:g id="APPS">%1$s</xliff:g> med mera"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"Väck genom att trycka"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"Väck enheten genom att trycka två gånger var som helst på skärmen"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"Öppna länkar"</string>
@@ -3765,9 +3859,14 @@
       <item quantity="other">Länkar som stöds kan öppnas av <xliff:g id="COUNT">%d</xliff:g> appar</item>
       <item quantity="one">Länkar som stöds kan öppnas av en app</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"Öppna i den här appen"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"Tillåt att länkar som stöds öppnas med appen"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"Fråga varje gång"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"Öppna inte i den här appen"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"Tillåt inte att länkar öppnas med appen"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="other">Appen påstås kunna hantera <xliff:g id="COUNT_1">%d</xliff:g> länkar</item>
+      <item quantity="one">Appen påstås kunna hantera <xliff:g id="COUNT_0">%d</xliff:g> länk</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"Appen påstås kunna hantera följande länkar:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"Standardinställning"</string>
     <string name="default_for_work" msgid="537558180548617528">"Standardinställning för jobbet"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"Assistent och röstinmatning"</string>
@@ -3911,8 +4010,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"Visa ovanpå andra appar"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Tillåt visning ovanpå andra appar"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"Tillåt att den här appen visas ovanpå andra appar. Detta kan inverka på ett störande sätt på användningen av de andra apparna eller göra så att de verkar se ut eller fungera annorlunda."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"Åtkomst till alla filer"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"Tillåt hanteringsåtkomst för alla filer"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Tillåt att den här appen får läsa, redigera och radera alla filer på enheten och eventuella anslutna lagringsutrymmen. Om du beviljar behörigheten kan appen komma åt filer utan att du informeras."</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"Har åtkomst till alla filer"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"vr virtuell verklighet lyssnare stereo hjälptjänst"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"systemvarning dialogruta visa på andra appar"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"Visa ovanpå andra appar"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"<xliff:g id="COUNT_0">%1$d</xliff:g> av <xliff:g id="COUNT_1">%2$d</xliff:g> appar får visas ovanpå andra appar"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"Appar med behörighet"</string>
@@ -4078,6 +4180,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"<xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g> använt"</string>
     <string name="data_overusage" msgid="3680477320458707259">"<xliff:g id="ID_1">^1</xliff:g> över"</string>
     <string name="data_remaining" msgid="6316251496381922837">"<xliff:g id="ID_1">^1</xliff:g> kvar"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"Diagram som visar dataanvändningen mellan <xliff:g id="START_DATE">%1$s</xliff:g> och <xliff:g id="END_DATE">%2$s</xliff:g>."</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"Ingen data inom det här datumintervallet"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="other">%d dagar kvar</item>
       <item quantity="one">%d dag kvar</item>
@@ -4141,14 +4245,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"paketstorlek"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"avisering har skickats"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"ljud"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"vibration"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"grafiskt lösenord"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"standardinställning"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"kanal"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"ingen"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"Det finns inget rankningsobjekt."</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"Rankningsobjektet innehåller inte den här nyckeln."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"Teman"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"Enhetens standardinställning"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"Skärmutskärning"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"urklipp av skärm, flärp"</string>
@@ -4237,8 +4337,12 @@
     <string name="information_label" msgid="6939310810756569298">"Information"</string>
     <string name="low_label" msgid="6525629096999711220">"Låg"</string>
     <string name="high_label" msgid="357503396626018487">"Hög"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"Om känsligheten höjs kan konflikter med apprörelser längs skärmens kant uppstå."</string>
+    <string name="left_edge" msgid="1513576842959071849">"Vänsterkant"</string>
+    <string name="right_edge" msgid="1505309103265829121">"Högerkant"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"Om känsligheten höjs kan konflikter med apprörelser längs skärmens kant uppstå."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"Känslighet för tillbaka-rörelsen"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"Rörelseinställningar"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"navigering med rörelser, känslighet för bakåtrörelsen, bakåtrörelse"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"Tryck snabbt två gånger för att kolla mobilen"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"Tryck snabbt två gånger för att kolla surfplattan"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"Tryck snabbt två gånger för att kolla enheten"</string>
@@ -4393,7 +4497,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"Aktivera operatörsadministration"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"Uppdatera Stör ej"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"Pausa aviseringar så du kan behålla ditt fokus"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"Den här funktionen är inte tillgänglig på den här enheten."</string>
     <string name="disabled_feature" msgid="7151433782819744211">"Funktionen är inte tillgänglig"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"Denna funktion har inaktiverats eftersom den gör mobilen långsammare"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"Framtvinga fullständiga GNSS-mätningar"</string>
@@ -4403,20 +4506,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"Välj en ANGLE-kompatibel app"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"Ingen ANGLE-kompatibel app har angetts"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"ANGLE-kompatibel app: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"Inställningar för Game Driver"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"Ändra inställningar för Game Driver"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"När Game Driver är aktiverat kan du välja om du vill använda den uppdaterade grafikdrivrutinen för appar som är installerade på enheten."</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"Aktivera för alla appar"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"Välj grafikdrivrutin"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"Standard"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"Game Driver"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"Drivrutin som inte har lanserats"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"System för grafikdrivrutin"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"Inställningar för grafikdrivrutin"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"Ändra inställningar för grafikdrivrutin"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"Om det finns flera grafikdrivrutiner kan du välja att använd den uppdaterade grafikdrivrutinen för appar som har installerats på enheten."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"Aktivera för alla appar"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"Välj grafikdrivrutin"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"Standard"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"Game Driver"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"Developer Driver"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"System för grafikdrivrutin"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Kompatibilitetsändringar för appar"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Aktivera eller inaktivera kompabilitetsändringar för appar"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Ändringar som är aktiverade som standard"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Ändringar som är inaktiverade som standard"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"Inställningen stöds inte på den här mobilen"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"Inställningen stöds inte på den här surfplattan"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"Inställningen stöds inte på den här enheten"</string>
@@ -4435,6 +4544,12 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"Enhet"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Ej tillgänglig under samtal"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"Ej tillgänglig"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"Lägg till utgångar"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"Grupp"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 enhet har valts"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> enheter har valts"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"Svara med"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Denna APN kan inte ändras."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Förbättra surfplattans batteritid"</string>
@@ -4552,10 +4667,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Du kan bara ha ett aktivt SIM-kort åt gången.\n\nOm du byter till <xliff:g id="CARRIER1">%1$s</xliff:g> avslutas inte tjänsten hos <xliff:g id="CARRIER2">%2$s</xliff:g>."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Byt till <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Rensa SIM-kort"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Vill du rensa det här nedladdade SIM-kortet?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Om du rensar det här SIM-kortet tas tjänsten hos <xliff:g id="CARRIER_0">%1$s</xliff:g> bort från enheten.\n\nTjänsten hos <xliff:g id="CARRIER_1">%2$s</xliff:g> avslutas inte."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Rensa"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Rensar SIM-kort …"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Det går inte att rensa SIM-kortet"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Det gick inte att rensa SIM-kortet på grund av ett fel.\n\nStarta om enheten och försök igen."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Önskad nätverkstyp"</string>
@@ -4580,7 +4691,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Ogiltigt nätverksläge: <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Ignorera."</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Åtkomstpunktens namn (APN)"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Inte tillgänglig vid anslutning till <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"Medicinsk information och kriskontakt"</string>
     <string name="see_more" msgid="7499355691042812723">"Visa mer"</string>
     <string name="see_less" msgid="2642392725363552793">"Visa färre"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"Använd enheten med <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
@@ -4589,11 +4699,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"Något inträffade. Appen har avbrutit förfrågan om att välja enhet."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"Anslutningen har upprättats"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"Visa alla"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> anslutna enheter</item>
-      <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_0">%1$d</xliff:g> ansluten enhet</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"Inga Bluetooth-enheter"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"Söker efter enhet …"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"Ansluter till enheten …"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"Vänster"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"Höger"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Fodral"</string>
@@ -4603,6 +4710,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"Ej tillgängligt i flygplansläge"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"Tvinga fram skrivbordsläge"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Tvinga fram experimentellt skrivbordsläge på sekundära skärmar"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"Aktivera fritt format för kompatibla storlekar"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"Tillåter fritt format för appar i kompatibel storlek"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Åsidosätter tvingat mörkt läge"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"Åsidosätter funktionen som tvingar mörkt läge att alltid vara aktiverat"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"Sekretess"</string>
@@ -4639,6 +4748,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Du installerade nyligen den här appen."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Utdata som styrs med reglaget"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Spelas upp nu på <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (frånkopplad)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Misslyckat byte. Tryck och försök igen."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Viktig information"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"FORTSÄTT"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"NEJ TACK"</string>
@@ -4666,8 +4777,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"SIM-kombination"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Information om jobbpolicy"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Inställningar som hanteras av IT-administratören"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"Grafikprocessor"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"Felrapportshanterare"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Avgör vilken app som hanterar Genväg till felrapport på enheten."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Privat"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"Jobb"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"Systemets standardinställning"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"Det här alternativet är inte längre giltigt. Försök igen."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"Sluta casta"</string>
 </resources>
diff --git a/res/values-sw/arrays.xml b/res/values-sw/arrays.xml
index 6eed660..5b94a85 100644
--- a/res/values-sw/arrays.xml
+++ b/res/values-sw/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"Papo hapo"</item>
     <item msgid="463591454172790676">"Sekunde 5"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"Usithibitishe"</item>
+    <item msgid="5703177653586269306">"Omba hali ya cheti"</item>
+    <item msgid="326388247868439528">"Inahitaji hali ya cheti"</item>
+    <item msgid="1090956283885790552">"Inahitaji hali za vyeti vyote visivyoaminika"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"Kichupo cha kusukuma"</item>
     <item msgid="2630618799033509548">"PIN kutoka kwa kifaa cha rika"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"Hamna"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"IPSec VPN  na vitue vilivyoshirikishwa kabla na uthibitishaji wa Xauth"</item>
     <item msgid="2484564813864139237">"IPSec VPN  na vieti na uthibitishaji wa Xauth"</item>
     <item msgid="68918911194507915">"IPSec VPN  na vieti na uthibitishaji wa hybridi"</item>
+    <item msgid="4631647675167100375">"VPN ya IKEv2/IPSec yenye uthibitishaji wa vyeti na jina la mtumiaji/nenosiri"</item>
+    <item msgid="8812228622975052811">"VPN ya IKEv2/IPSec yenye funguo zilizoshirikiwa mapema"</item>
+    <item msgid="6630554779981113046">"VPN ya IKEv2/IPSec yenye vyeti"</item>
   </string-array>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"Hamna"</item>
diff --git a/res/values-sw/config.xml b/res/values-sw/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-sw/config.xml
+++ b/res/values-sw/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index 74ff5f2..558d6f1 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -31,49 +31,17 @@
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Tafadhali washa chaguo za wasanidi programu kwanza."</string>
     <string name="header_category_wireless_networks" msgid="303445626075235229">"Wi-Fi na mitandao mingine"</string>
     <string name="header_category_system" msgid="1665516346845259058">"Mfumo"</string>
-    <string name="radio_info_data_connection_enable" msgid="7500945447906187613">"Washa Muunganisho wa Data"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"Zima Muunganisho wa Data"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"VoLTE Inayotumika"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"Inaruhusu Hangout ya Video"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"Inaruhusu Kupiga Simu kupitia Wi-Fi"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"Inaruhusu EAB"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"Data ya Cbrs"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"Washa DSDS"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"Ungependa Kuzima kisha Uwashe Kifaa?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"Unahitaji kuzima kisha uwashe kifaa chako ili ubadilishe mipangilio."</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"Zima kisha uwashe"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"Ghairi"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"Nishati ya Redio ya Simu"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"Angalia Kitabu cha Anwani katika SIM"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"Ona nambari za simu zilizobainishwa"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"Angalia number za huduma za kubonyeza"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"Hali ya Huduma ya IMS"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"Hali ya IMS"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"Imesajiliwa"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"Haijasajiliwa"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"Kinapatikana"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"Hakipatikani"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"Usajili wa IMS: <xliff:g id="STATUS">%1$s</xliff:g>\nHuduma ya kupiga simu kupitia LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nHuduma ya kupiga simu kupitia WiFi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nKupiga simu ya video: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nKiolesura cha UT: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"Inatumika"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Haitumiki"</string>
     <string name="radioInfo_service_emergency" msgid="6838935881091760942">"Simu za Dharura Pekee"</string>
     <string name="radioInfo_service_off" msgid="6184928420860868571">"Radio Imezimwa"</string>
     <string name="radioInfo_roaming_in" msgid="8892550453644088692">"Unatumia mitandao ya ng\'ambo"</string>
     <string name="radioInfo_roaming_not" msgid="3137594549464975054">"Hautumii mitandao ya ng\'ambo"</string>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"Hafanyi kitu"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"Inalia"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"Inapiga simu"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"Haijaunganishwa"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"Inaunganisha"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"Umeunganishwa"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Imetanguliwa"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Haijulikani"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"pkts"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"baiti"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"Ondoa hifadhi ya USB"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"Ondoa kadi ya SD"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"Futa hifadhi ya USB"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"Kuongeza au kupunguza ukubwa wa maandishi kwenye skrini."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Punguza"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Kuza"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"Sampuli ya maandishi"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"Wachawi wa Ajabu kutoka Oz"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"Sura ya 11: Mji wa Ajabu wa Johari wa Oz"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"Washa upya kifaa chako ili ubadilishe mipangilio."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"Zima kisha uwashe"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"Ghairi"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"Vifaa vya maudhui vinavyopatikana"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"Vifaa vya simu vinavyopatikana"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"Ambavyo vimeunganishwa kwa sasa"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"Vifaa vya kuhifadhia data"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"Vifaa vya kupiga simu"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"Vifaa vingine"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Vifaa vilivyohifadhiwa"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth itawaka ili ioanishe"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Mapendeleo ya muunganisho"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"Lango uliloandika si halali."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"Proksi ya HTTP inayotumiwa na kivinjari lakini haiwezi kutumika na programu zingine."</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"URL ya PAC: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"SubId ya hivi karibuni:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"SubId ya SIM chaguomsingi ya data:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"Kipimo Data cha DL (kbps):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"Kipimo Data cha UL (kbps):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"Maelezo ya Mahali Ilipo Simu ya Mkononi (iliacha kuendesha huduma):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"Mipangilio ya Kituo Halisi cha LTE:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"Kadirio la Kuonyesha Upya Maelezo ya Simu:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"Maelezo Yote ya Vipimo vya Simu:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"Huduma ya Data:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"urandaji:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"Kuelekeza Simu Kwingine:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"Idadi ya PPP Zilizowekwa Upya Tangu Iwashwe"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"Mtandao wa Sasa:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"Data Imepokelewa:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"Huduma ya Sauti:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"Uthabiti wa Mawimbi:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"Hali ya Kupiga Simu:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"Data Imetumwa:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"Ujumbe Unasubiri Kutumwa:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"Nambari ya Simu:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"Chagua Bendi ya Redio"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"Aina ya Sauti ya Mtandao:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"Aina ya Mtandao wa Data:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"Chagua faharasa ya simu"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"Weka Aina ya Mtandao Unaopendelea:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"Ita Jina la mpangishaji(www.google.com) IPv4:"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"Ita Jina la mpangishaji(www.google.com) IPv6:"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"Jaribio la Mteja la HTTP:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"Tekeleza Jaribio la Mwito"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"Sasisha"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"Onyesha upya"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"Geuza Ukaguzi wa DNS"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"OEM-sbainifu Habari/Mipangilio"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"Weka Hali ya Bendi ya Redio"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"Inapakia Orodha ya Bendi..."</string>
-    <string name="band_mode_set" msgid="494968379352406359">"Weka"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"Haijafanikiwa"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"Imefanikiwa"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"Mabadiliko hutekelezwa wakati kebo ya USB imeunganishwa tena."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"Wezesha hifadhi kubwa ya USB"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"Jumla ya baiti:"</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"Hamishia chini"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"Ondoa lugha"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"Chagua shughuli"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"Maelezo ya kifaa"</string>
     <string name="display_label" msgid="3056320781191343221">"Skrini"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"Maelezo kuhusu kompyuta kibao"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"Maelezo ya simu"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"Hifadhi ya USB"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"Kadi ya SD"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"Mipangilio ya seva mbadala"</string>
@@ -306,9 +234,6 @@
     <string name="airplane_mode" msgid="3196085857882526817">"Hali ya ndegeni"</string>
     <string name="wireless_networks_settings_title" msgid="8557542379234105369">"Mitandao isiyotumia waya"</string>
     <string name="radio_controls_summary" msgid="9028430178697624501">"Dhibiti Wi-Fi, Bluetooth, hali ya ndegeni, mitandao ya simu za mkononi na VPN"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"Data ya mtandao wa simu"</string>
-    <string name="calls_title" msgid="6334813967619899114">"Ruhusu simu"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"Ujumbe wa SMS"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"Ruhusu matumizi ya data kupitia mtandao wa simu"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"Ruhusu data kwenye mitandao mingine"</string>
     <string name="roaming" msgid="3055365654530847985">"Kutumia mitandao ya ng\'ambo"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"Unganisha huduma ya data wakati natumia mtandao wa ng\'ambo"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"Umepoteza muunganisho wa data kwa sababu uliondoka kwenye mtandao wako wa kawaida ukiwa umezima utumiaji data nje ya mtandao wa kawaida."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"Iwashe"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"Huenda ukatozwa gharama kubwa."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"Unaporuhusu data kupitia mitandao mingine, huenda ukatozwa gharama kubwa za matumizi ya nje!\n\nMpangilio huu unaathiri watumiaji wote kwenye kompyuta hii ndogo."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"Unaporuhusu data kupitia mitandao mingine, huenda ukatozwa gharama kubwa za matumizi ya nje!\n\nMpangilio huu unaathiri watumiaji wote kwenye simu hii."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"Huenda ukatozwa ada za kutumia mitandao ya ng\'ambo."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"Unapotumia mitandao ya ng\'ambo, huenda ukatozwa ada za kutumia mitandao hiyo.\n\nMipangilio hii huathiri watumiaji wote kwenye kompyuta hii kibao."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"Unapotumia mitandao ya ng\'ambo, huenda ukatozwa ada za kutumia mitandao hiyo.\n\nMipangilio hii huathiri watumiaji wote kwenye simu hii."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"Ruhusu data kupitia mitandao mingine?"</string>
     <string name="networks" msgid="5184501333492775095">"Uchaguzi wa mtoa huduma"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"Chagua mtoa huduma ya mtandao"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"Imezimwa na msimamizi"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"Onyesha chaguo la kufunga"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"Onyesha chaguo la kitufe cha kuwasha/kuzima ambacho huzima Smart Lock, kufungua kwa bayometriki na arifa kwenye skrini iliyofungwa"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"Kipengele cha kutathmini hali ya kuaminika kitumike tu kufungua"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"Vikiwashwa, vipengele vya kutathmini hali ya kuaminika vitaifanya simu yako isalie ikiwa imefunguliwa kwa kipindi kirefu, lakini havitaweza kufungua kifaa kilichofungwa."</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"Funga skrini ikiacha kuaminika"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"Ikiwashwa, kifaa kitafungwa wakati kipengele cha mwisho cha kutathmini hali ya kuaminika kitaacha kuaminika"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"Hamna"</string>
@@ -390,7 +313,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"Weka Mahali Pangu, fungua skrini, funga SIM kadi, funga hifadhi ya hati-tambulishi"</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"Weka Mahali Pangu, fungua skrini, funga hifadhi ya hati-tambulishi"</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"Faragha"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"Imezimwa na msimamizi"</string>
+    <string name="disabled_by_administrator_summary" msgid="5424846182313851124">"Haipatikani"</string>
     <string name="security_status_title" msgid="6958004275337618656">"Hali ya usalama"</string>
     <string name="security_dashboard_summary_face" msgid="4198949293847206382">"Kufunga skrini, kufungua kwa uso"</string>
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Kufunga skrini, alama ya kidole"</string>
@@ -693,7 +616,6 @@
       <item quantity="other">Lazima iwe na chini ya tarakimu <xliff:g id="NUMBER_1">%d</xliff:g></item>
       <item quantity="one">Lazima iwe na chini ya tarakimu <xliff:g id="NUMBER_0">%d</xliff:g></item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"Ni lazima iwe na tarakimu 0-9 pekee"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"Msimamizi wa kifaa haruhusu utumie PIN uliyotumia hivi majuzi"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"PIN zinazotumika zaidi zimezuiwa na msimamizi wako wa Tehama. Jaribu PIN tofauti."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"Hali hii haiwezi kujumuisha kibambo kisichoruhusiwa"</string>
@@ -724,6 +646,10 @@
       <item quantity="other">Ni lazima liwe na angalau vibambo <xliff:g id="COUNT">%d</xliff:g> ambavyo si herufi</item>
       <item quantity="one">Ni lazima liwe na angalau kibambo 1 ambacho si herufi</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="other">Ni lazima liwe na angalau herufi <xliff:g id="COUNT">%d</xliff:g> ambazo si tarakimu</item>
+      <item quantity="one">Ni lazima liwe na angalau herufi moja ambayo si tarakimu</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"Msimamizi wa kifaa haruhusu kutumia nenosiri ulilotumia hivi majuzi"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"Manenosiri yanayotumika sana yamezuiwa na msimamizi wako wa Tehama. Jaribu nenosiri tofauti."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"Haturuhusi mpangilio wa kupanda, kushuka au kujirudia kwa tarakimu"</string>
@@ -837,19 +763,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"GHz 2.4"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"GHz 5"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"Ingia katika akaunti"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"Fungua tovuti"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"Zimesalia <xliff:g id="REMAINING_TIME">%1$s</xliff:g>"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"Muda wake utaisha <xliff:g id="EXPIRY_TIME">%1$s</xliff:g>"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"Gusa hapa ili uingie katika akaunti ya mtandao"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"Mbps <xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g>"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"Mbps <xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g>"</string>
+    <string name="link_speed" msgid="931786745741016446">"Mbps <xliff:g id="LINK_SPEED">%1$d</xliff:g>"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"<xliff:g id="REQUESTER">%s</xliff:g> inataka kuwasha Wi-Fi"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"<xliff:g id="REQUESTER">%s</xliff:g> inataka kuzima Wi-Fi"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"Thibitisha msimbo wa baiti wa programu zinazoweza kutatuliwa"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Ruhusu ART kuthibitisha msimbo wa baiti wa programu zinazoweza kutatuliwa"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"Onyesha kiwango cha kuonyesha upya"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Onyesha kiwango cha kuonyesha upya cha sasa cha skrini"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"Ruhusu ubadilishanaji wa data kompyuta kibao inapogusa kifaa kingine"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"Ruhusu ubadilishanaji wa data simu inapogusa kifaa kingine"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"Ruhusu ubadilishanaji wa data kompyuta kibao inapogusa kifaa cha NFC"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"Ruhusu ubadilishanaji wa data simu inapogusa kifaa cha NFC"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"Washa NFC"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"NFC hubadilisha data kati ya kifaa hiki na malengo au vifaa vingine vya karibu nawe, kama vile vituo vya malipo, visomaji vya data ya kadi na lebo au matangazo yanayoshirikisha mtumiaji."</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"Imarisha usalama wa NFC"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Ruhusu kufaa kifunguliwe ili kipengele cha NFC kitumike"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"Ruhusu tu matumizi katika Usafiri wa Umma na Malipo ya NFC wakati skrini imefunguliwa"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"Programu iko tayari kusambaza maudhui kupitia NFC"</string>
@@ -923,8 +855,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Washa"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Umewasha utafutaji wa Wi‑Fi"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Chaguo za kina"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"Orodha ya menyu kunjuzi ya Chaguo za Kina. Gusa mara mbili ili ukunje."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"Orodha ya menyu kunjuzi ya Chaguo za Kina. Gusa mara mbili ili upanue."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Chaguo za Kina za Orodha Kunjuzi"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"panua"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"Jina la mtandao"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"Weka Kitambulisho cha Mtandao (SSID)"</string>
     <string name="wifi_security" msgid="9095934643631406913">"Usalama"</string>
@@ -934,6 +866,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"Hali"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"Kasi ya kutuma kiungo"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"Kasi ya kupokea kiungo"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"Kasi ya muunganisho"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"Masafa"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"Anwani ya IP"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"Imehifadhiwa kupitia"</string>
@@ -941,6 +874,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"Mtindo wa EAP"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"Uhalalishaji wa awamu ya 2"</string>
     <string name="wifi_eap_ca_cert" msgid="8033404008276298886">"Cheti cha CA"</string>
+    <string name="wifi_eap_ocsp" msgid="8713933962516871238">"Hali ya Cheti Mtandaoni"</string>
     <string name="wifi_eap_domain" msgid="8304301470752333203">"Kikoa"</string>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"Cheti cha mtumiaji"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"Kitambulisho"</string>
@@ -957,6 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"Chagua angalau bendi moja ya mtandaopepe wa Wi‑Fi:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"Mipangilio ya IP"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"Faragha"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"Usajili"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"Angalia au ubadilishe usajili"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"Anwani ya MAC kwa nasibu"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"Ongeza kifaa"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"Weka katikati msimbo wa QR ulio hapa chini ili uongeze kifaa kwenye “<xliff:g id="SSID">%1$s</xliff:g>”"</string>
@@ -966,12 +902,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"Shiriki Wi‑Fi"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"Changanua msimbo huu wa QR ili uunganishe kwenye “<xliff:g id="SSID">%1$s</xliff:g>” na ushiriki nenosiri"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"Changanua msimbo huu wa QR ili uunganishe kwenye “<xliff:g id="SSID">%1$s</xliff:g>”"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"Imeshindwa kusoma msimbo wa QR. Weka msimbo upya kisha ujaribu tena"</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"Jaribu tena. Tatizo hili likiendelea, wasiliana na kampuni iliyotengeneza kifaa"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"Hitilafu fulani imetokea"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"Hakikisha kuwa umechomeka kifaa, umechaji na umekiwasha"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"Hakikisha kuwa umechomeka kifaa, umechaji na umekiwasha. Tatizo hili likiendelea, wasiliana na kampuni iliyotengeneza kifaa"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"Huwezi kuongeza “<xliff:g id="SSID">%1$s</xliff:g>” kwenye kifaa hiki"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"Jaribu kusogeza kifaa karibu na kisambaza data/mlango wa mtandao wako wa Wi-Fi"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"Angalia nenosiri na ujaribu tena"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"Wasiliana na mtengenezaji wa kifaa"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"Angalia muunganisho na ujaribu tena"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"Chagua mtandao"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"Ili uunganishe kifaa chako, chagua mtandao"</string>
@@ -984,11 +922,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"Inashiriki Wi‑Fi na kifaa hiki…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"Inaunganisha…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"Shiriki mtandaopepe"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"Thibitisha kuwa ni wewe"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"Thibitisha kwamba ni wewe"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"Nenosiri la Wi-Fi: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"Nenosiri la mtandaopepe: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"Unganisha kiotomatiki"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"Ruhusu simu iunganishe kiotomatiki karibu na mtandao huu"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"Ruhusu kompyuta kibao iunganishe kiotomatiki karibu na mtandao huu"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"Ongeza kifaa"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"Tumia msimbo wa QR ili uongeze kifaa kwenye mtandao huu"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"Msimbo wa QR si muundo sahihi"</string>
     <string name="retry" msgid="7542103800274026915">"Jaribu tena"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"Shiriki na watumiaji wengine wa kifaa"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(haijabadilishwa)"</string>
@@ -1000,6 +942,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"Hakuna cheti kilichobainishwa. Muunganisho wako hautakuwa wa faragha."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"Jina la mtandao ni refu sana."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"Lazima ubainishe kikoa."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"Inahitaji cheti."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"WPS inapatikana"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" WPS inapatikana"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"Mtandao wa mtoa huduma wa Wi‑Fi"</string>
@@ -1051,7 +994,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"Wi-Fi mahiri"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"Anwani ya MAC"</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_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>
@@ -1103,7 +1047,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"Tumia kipengele cha mtandaopepe kuunda mtandao wa Wi-Fi kwa ajili ya vifaa vyako vingine. Mtandaopepe hutoa huduma ya intaneti ikitumia muunganisho wa data ya simu za mkononi. Huenda ukalipia ada za kutumia data ya mtandao wa simu."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"Programu zinaweza kuunda mtandaopepe ili kushiriki maudhui na vifaa vilivyo karibu."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Zima mtandaopepe kiotomatiki"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"Mtandaopepe wa Wi-Fi utazimwa ikiwa hakuna vifaa vilivyounganishwa"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Wakati hamna vifaa vilivyounganishwa"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"Inawezesha mtandaopepe…"</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"Inazima intaneti..."</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> inatumika"</string>
@@ -1112,6 +1056,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"Kuweka mtandaopepe wa Wi-Fi"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"Mtandao pepe wa AndroidAP WPA2 PSK"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"AndroidHotspot"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"Je, ungependa kuhifadhi mtandao huu?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"<xliff:g id="APPNAME">%1$s</xliff:g> inataka kuhifadhi mtandao kwenye simu yako"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"<xliff:g id="APPNAME">%1$s</xliff:g> inataka kuhifadhi mtandao kwenye kompyuta yako kibao"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"Inahifadhi…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"Imehifadhiwa"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"Imeshindwa kuhifadhi. Jaribu tena."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"Ungependa kuhifadhi mitandao?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"<xliff:g id="APPNAME">%1$s</xliff:g> inataka kuhifadhi mitandao hii kwenye simu yako"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"<xliff:g id="APPNAME">%1$s</xliff:g> inataka kuhifadhi mitandao hii kwenye kompyuta yako kibao"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"Inahifadhi mitandao <xliff:g id="NUMBER">%d</xliff:g>…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"Mitandao imehifadhiwa"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"Kupiga simu kupitia Wi-Fi"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"Panua eneo la huduma kwa kupiga simu kupitia Wi‑Fi"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"Washa kupiga simu kupitia Wi‑Fi ili upanue eneo la huduma"</string>
@@ -1138,16 +1093,18 @@
     <string name="emergency_address_title" msgid="3490633500025717573">"Anwani ya Dharura"</string>
     <string name="emergency_address_summary" msgid="3022628750270626473">"Inatumika kama anwani ya mahali ulipo ikiwa utapiga simu ukitumia Wi‑Fi"</string>
     <string name="private_dns_help_message" msgid="851221502063782306"><annotation id="url">"Pata maelezo zaidi"</annotation>" kuhusu vipengele vya DNS ya Faragha"</string>
+    <string name="private_dns_mode_on" msgid="8878679071975375696">"Imewashwa"</string>
     <string name="wifi_calling_pref_managed_by_carrier" msgid="129524064888622179">"Mipangilio inadhibitiwa na mtoa huduma"</string>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"Washa Huduma ya Kupiga Simu kupitia Wi-Fi"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"Washa kipengele cha kupiga simu kupitia Wi-Fi"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"Kipengele cha kupiga simu kupitia Wi‑Fi hakitumiki kwenye %1$s"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"Imeondolewa kwenye <xliff:g id="SSID">%1$s</xliff:g>"</string>
     <string name="carrier" msgid="1755020806290963951">"Mtoa huduma"</string>
     <string name="display_settings_title" msgid="626835071804834218">"Skrini"</string>
     <string name="sound_settings" msgid="5514582720435174014">"Sauti"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"Sauti"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"Athari za muziki"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"Kiwango cha sauti ya mlio"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"Sauti ya arifa na mlio wa simu"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"Tetema wakati imenyamaza"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"Sauti chaguomsingi ya arifa"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"Mlio wa simu"</string>
@@ -1272,13 +1229,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"Ratiba"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"Hamna"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"Iwake usiku kucha"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"Huwaka wakati maalum"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"Hali"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"Imezimwa / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"Haitawahi kuwashwa kiotomatiki"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"Itawashwa kiotomatiki jua litakapotua"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"Itawaka kiotomatiki saa <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"Imewashwa / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"Haitawahi kuzimwa kiotomatiki"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"Itazima kiotomatiki kutakapopambazuka"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"Itazima kiotomatiki saa <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"Washa hadi saa <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"Zima hadi saa <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"Mandhari meusi hutumia mandharinyuma meusi ili kusaidia kuboresha muda wa matumizi ya betri kwenye baadhi ya skrini. Ratiba za Mandhari meusi hujiwasha pindi skrini ya simu yako inapozima."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"Muda wa skrini kujizima"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"Skrini huzima"</string>
@@ -1290,7 +1252,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"Badilisha mandhari"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"Weka mapendeleo ya skrini yako"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"Chagua mandhari kutoka"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"Badilisha Pixel yako upendavyo"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"Weka mapendeleo kwenye simu yako"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"Jaribu miundo, mandhari tofauti na zaidi"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"Taswira ya skrini"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Inapochaji au imeunganishwa na kifaa kingine"</string>
@@ -1379,6 +1341,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"Ondoa hifadhi ya USB, angalia hifadhi inayopatikana"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"Ondoa SIM kadi, angalia hifadhi iliyopo"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (nafasi ya sim ya %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"Ili uangalie, chagua mtandao uliohifadhiwa"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"Nambari ya simu"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (nafasi ya sim ya %1$d)"</string>
@@ -1405,6 +1368,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"Matumizi ya mitandao ya ng\'ambo"</string>
     <string name="status_operator" msgid="4335640583552058491">"Mtandao"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"Anwani ya Wi-Fi ya MAC"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"Anwani ya MAC ya kifaa ya Wi-Fi"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"Anwani ya Bluetooth"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Nambari ya Ufuatiliaji"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Muda wa kutumika tangu ilipowashwa"</string>
@@ -1617,6 +1581,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Kuweka upya kwa mipangilio mbadala ya APN kumekamilika"</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"Chaguo za kubadilisha mipangilio"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"Unaweza kubadilisha mipangilio ya mtandao, programu au kifaa"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"Programu zinaweza kuwekwa upya"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"Badilisha mipangilio ya Wi-Fi, data ya simu na Bluetooth"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"Hatua hii itabadilisha mipangilio yote ya mtandao ikiwa ni pamoja:\n\n"<li>"Wi‑Fi"</li>\n<li>"Data ya simu"</li>\n<li>"Bluetooth"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"Futa data iliyopakuliwa kwenye SIMs"</string>
@@ -1666,6 +1631,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"Mtandaopepe umewashwa"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"Inasambaza mtandao"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"Haiwezi kusambaza mtandao au kutumia mitandaopepe wakati umewasha Kiokoa Data"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"Mtandaopepe pekee"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"USB pekee"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"Bluetooth pekee"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"Mtandaopepe, USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"Mtandaopepe, Bluetooth"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB, Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"Mtandaopepe, USB, Bluetooth"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"Haishiriki intaneti na vifaa vingine"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"Kusambaza mtandao"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Usitumie mtandaopepe wa Wi-Fi"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Shiriki intaneti kupitia USB pekee"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Shiriki intaneti kupitia Bluetooth pekee"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Shiriki intaneti kupitia USB na Bluetooth pekee"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"Shiriki intaneti kwa USB"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"Shiriki muunganisho wa intaneti ya simu kupitia USB"</string>
@@ -1756,9 +1734,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"Maelezo ya usalama"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"Huna muunganisho wa data. Ili kuona maelezo haya sasa, nenda kwenye %s ukitumia kompyuta yoyote iliyounganishwa kwenye intaneti."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"Inapakia…"</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"Tumia PIN"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"Tumia mchoro"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"Tumia nenosiri"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"Weka mbinu ya kufunga skrini"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"Kwa sababu za usalama, weka nenosiri"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"Weka nenosiri ili utumie alama ya kidole"</string>
@@ -1767,8 +1742,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"Weka PIN ili utumie alama ya kidole"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"Kwa sababu za usalama, weka mchoro"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"Weka nenosiri lako tena"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"Weka nenosiri lako la kazini"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"Thibitisha mchoro wako"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"Weka mchoro wako wa kazini"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"Weka PIN yako tena"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"Weka PIN yako ya kazini"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"Nenosiri halilingani"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"PIN hailingani"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"Chora mchoro wako tena"</string>
@@ -1779,6 +1757,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"Weka nenosiri ili utumie kufungua kwa uso"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"Ili utumie kufungua kwa uso, weka mchoro"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"Weka PIN ili utumie kufungua kwa uso"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"Je, umesahau nenosiri lako?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"Je, umesahau mchoro wako?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"Je, umesahau PIN yako?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"Weka mchoro wa kufungua kifaa chako ili uendelee"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"Weka PIN ya kifaa chako ili uendelee"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"Weka nenosiri la kifaa chako ili uendelee"</string>
@@ -1846,6 +1827,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"Ruhusu vyanzo vyote vya programu"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"Programu ulizofungua hivi karibuni"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"Angalia programu zote <xliff:g id="COUNT">%1$d</xliff:g>"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"Wasiliana na msimamizi wako wa TEHAMA"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"Anaweza kukusaidia kubadilisha PIN, mchoro au nenosiri lako"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"Data yako ya binafsi na ya kompyuta kibao yako zinaweza kuathiriwa na programu ambazo hazijulikani. Kwa kusakinisha programu kutoka chanzo hiki, unakubali kuwajibika kila wakati kutokana na uharibifu wowote kwenye simu yako au kupotea kwa data kutokana na matumizi yake."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"Data yako ya binafsi na ya simu yako zinaweza kuathiriwa na programu ambazo hazijulikani. Kwa kusakinisha programu kutoka chanzo hiki, unakubali kuwajibika kila wakati kutokana na uharibifu wowote kwenye simu yako au kupotea kwa data kutokana na matumizi yake."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"Data yako ya binafsi na ya kifaa chako inaweza kuathiriwa na programu ambazo hazijulikani. Kwa kusakinisha programu kutoka chanzo hiki, unakubali kuwajibikia uharibifu wowote kwenye kifaa chako au kupotea kwa data kutokana na matumizi ya programu hizo."</string>
@@ -1897,7 +1880,7 @@
     <string name="default_emergency_app" msgid="1929974800666613803">"Programu ya dharura"</string>
     <string name="reset_app_preferences" msgid="8861758340732716573">"Badilisha mapendeleo ya programu"</string>
     <string name="reset_app_preferences_title" msgid="8935136792316050759">"Ungependa kubadilisha mapendeleo ya programu?"</string>
-    <string name="reset_app_preferences_desc" msgid="1377296810290814749">"Kufanya hivi kutabadilisha mapendeleo yote ya:\n\n"<li>"Programu zilizozimwa"</li>\n<li>"Arifa za programu zilizozimwa"</li>\n<li>"Programu chaguomsingi kwa vitendo"</li>\n<li>"Vikwazo vya chinichini vya data ya programu"</li>\n<li>"Vikwazo vyovyote vya ruhusa"</li>\n\n"Hutapoteza data yoyote ya programu."</string>
+    <string name="reset_app_preferences_desc" msgid="6509978724602405805">"Hatua hii itaweka upya mapendeleo yote ya:\n\n"<li>"Programu zilizozimwa"</li>\n<li>"Arifa za programu zilizozimwa"</li>\n<li>"Programu chaguomsingi za vitendo"</li>\n<li>"Udhibiti wa data ya chini chini katika programu"</li>\n<li>"Udhibiti wowote wa ruhusa"</li>\n\n"Hutapoteza data yoyote ya programu."</string>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"Weka upya"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"Dhibiti nafasi"</string>
     <string name="filter" msgid="9039576690686251462">"Kichujio"</string>
@@ -2097,7 +2080,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"Maandishi kwenye skrini na sauti"</string>
     <string name="display_category_title" msgid="6638191682294461408">"Skrini"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"Vidhibiti vya mawasiliano"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"Huduma zilizopakuliwa"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"Programu ulizopakua"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"Ya majaribio"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"Alama za vipengele"</string>
     <string name="talkback_title" msgid="8756080454514251327">"Talkback"</string>
@@ -2105,27 +2088,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"Gusa vipengee kwenye skrini yako ili usikie vikisoma kwa sauti"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"Mapendeleo ya manukuu"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"Ukuzaji"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"Eneo la ukuzaji"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"Kuwasha hali ya ukuzaji"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"Chagua maeneo ya ukuzaji ambayo ungependa kutumia unapokuza skrini"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"Skrini nzima"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"Sehemu ya skrini"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"Skrini nzima na sehemu ya skrini"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"Kuza skrini yote"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"Kuza sehemu ya skrini"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Mipangilio ya ukuzaji"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"Kuza kwa kugusa mara tatu"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Kuza kwa njia ya mkato"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Kuza ukitumia njia ya mkato na kugonga mara tatu"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"Kuhusu <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"Chaguo"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"Vuta karibu kwenye skrini"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"Gusa mara 3 ili ukuze"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Gusa kitufe ili ukuze"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><b>"Ili kukuza"</b>", gusa skrini mara 3 haraka.\n"<ul><li>"Buruta vidole 2 au zaidi ili usogeze"</li>\n<li>"Bana vidole 2 au zaidi ili ubadilishe ukuzaji"</li></ul>\n\n<b>"Ili kukuza kwa muda mfupi"</b>", gusa skrini mara 3 kwa haraka na ukifika mara ya tatu, usiondoe kidole.\n"<ul><li>"Buruta ili usogeze kwenye skrini"</li>\n<li>"Inua kidole ili uvute mbali"</li></ul>\n\n"Huwezi kukuza ukitumia kibodi au sehemu ya viungo muhimu."</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"Ukiwasha ukuzaji, unaweza kuvuta karibu kwenye skrini yako.\n\n"<b>"Ili ukuze"</b>", anzisha ukuzaji kisha uguse mahali popote kwenye skrini.\n"<ul><li>"• Buruta vidole 2 au zaidi ili usogeze"</li>\n<li>"• Bana vidole 2 au zaidi ili urekebishe ukuzaji"</li></ul>\n\n<b>"Ili ukuze kwa muda"</b>", anzisha ukuzaji kisha uguse na ushikilie mahali popote kwenye skrini.\n"<ul><li>"• Buruta ili usogeze kwenye skrini"</li>\n<li>"• Inua kidole ili usogeze mbali"</li></ul>\n\n"Huwezi kuvuta karibu kwenye kibodi au sehemu ya viungo muhimu."</string>
+    <string name="accessibility_screen_magnification_summary" msgid="7617931632990040045">"Vuta karibu haraka kwenye skrini ili uone maudhui vizuri zaidi.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Ili uvute karibu:&lt;/b&gt;&lt;br/&gt;	1. Tumia njia ya mkato ili uanzishe ukuzaji&lt;br/&gt; 2. Gusa skrini&lt;br/&gt;	3. Buruta vidole viwili ili usogeze kwenye skrini&lt;br/&gt;	4. Bana kwa vidole viwili ili ubadilishe ukuzaji&lt;br/&gt;	5. Tumia njia ya mkato ili usimamishe ukuzaji&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Ili uvute karibu kwa muda:&lt;/b&gt;&lt;br/&gt;	1. Tumia njia ya mkato ili uanzishe ukuzaji&lt;br/&gt; 2. Gusa na ushikilie mahali popote kwenye skrini&lt;br/&gt;	3. Buruta kidole ili usogeze kwenye skrini&lt;br/&gt; 4. Inua kidole ili uache kukuza"</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Ukiwasha ukuzaji, unaweza kuvuta karibu kwenye skrini yako.\n\n"<b>"Ili ukuze"</b>", anzisha ukuzaji kisha uguse mahali popote kwenye skrini.\n"<ul><li>"Buruta vidole 2 au zaidi ili usogeze"</li>\n<li>"Bana vidole 2 au zaidi ili urekebishe ukuzaji"</li></ul>\n\n<b>"Ili ukuze kwa muda"</b>", anzisha ukuzaji kisha uguse na ushikilie mahali popote kwenye skrini.\n"<ul><li>"Buruta ili usogeze kwenye skrini"</li>\n<li>"Inua kidole ili usogeze mbali"</li></ul>\n\n"Huwezi kuvuta karibu kwenye kibodi au sehemu ya viungo muhimu."</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Tumia kitufe cha ufikivu kufungua"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Tumia ishara ili ufungue"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"Tumia ishara mpya ya ufikivu"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"Ili uwashe au uzime huduma hii, gusa kitufe cha ufikivu<xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>katika sehemu ya chini ya skrini yako.\n\nIli ubadilishe kati ya huduma, gusa na ushikilie kitufe cha ufikivu."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"Ili uwashe au uzime huduma hii, telezesha vidole viwili kutoka chini kwenda juu kwenye skrini.\n\nIli ubadilishe kati ya huduma, telezesha vidole viwili juu na ushikilie."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"Ili uwashe au uzime huduma hii, telezesha vidole vitatu juu kutoka sehemu ya chini ya skrini.\n\nIli ubadilishe kati ya huduma, telezesha vidole vitatu juu na ushikilie."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"Ili uwashe au uzime huduma ya ufikivu, telezesha vidole viwili kutoka chini kwenda juu kwenye skrini.\n\nIli ubadilishe kati ya huduma, telezesha vidole viwili juu na ushikilie."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"Ili uwashe au uzime huduma ya ufikivu, telezesha vidole vitatu juu kutoka sehemu ya chini ya skrini.\n\nIli ubadilishe kati ya huduma, telezesha vidole vitatu juu na ushikilie."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"Ili uwashe au uzime huduma hii, gusa kitufe cha ufikivu<xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>katika sehemu ya chini ya skrini yako.\n\nIli ubadilishe kati ya huduma, gusa na ushikilie kitufe cha ufikivu."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"Ili uwashe au uzime huduma hii, telezesha vidole viwili kutoka chini kwenda juu kwenye skrini.\n\nIli ubadilishe kati ya huduma, telezesha vidole viwili juu na ushikilie."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"Ili uwashe au uzime huduma hii, telezesha vidole vitatu juu kutoka sehemu ya chini ya skrini.\n\nIli ubadilishe kati ya huduma, telezesha vidole vitatu juu na ushikilie."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"Ili uwashe au uzime huduma ya ufikivu, telezesha vidole viwili kutoka chini kwenda juu kwenye skrini.\n\nIli ubadilishe kati ya huduma, telezesha vidole viwili juu na ushikilie."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"Ili uwashe au uzime huduma ya ufikivu, telezesha vidole vitatu juu kutoka sehemu ya chini ya skrini.\n\nIli ubadilishe kati ya huduma, telezesha vidole vitatu juu na ushikilie."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"Nimeelewa"</string>
+    <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Njia mkato ya <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_edit_summary_software" msgid="2820923641553461297">"Kitufe cha Zana za Ufikivu"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture" msgid="8078659880723370597">"Telezesha vidole viwili juu"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture_talkback" msgid="7422753388389160524">"Telezesha vidole vitatu juu"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software" msgid="4796192466943479849">"Gusa kitufe cha zana za ufikivu"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8922102767509399352">"Gusa kitufe cha zana za ufikivu cha <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> kilicho sehemu ya chini ya skrini yako"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"Telezesha vidole viwili juu kutoka sehemu ya chini ya skrini"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"Telezesha vidole vitatu juu kutoka sehemu ya chini ya skrini"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Shikilia vitufe vya sauti"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"Bonyeza na ushikilie vitufe vyote viwili vya sauti kwa sekunde moja"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Gusa skrini mara tatu"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"Gusa skrini mara tatu kwa haraka. Huenda njia hii ya mkato ikapunguza kasi ya kifaa chako."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"Mipangilio ya kina"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"Kitufe cha zana za walio na matatizo ya kuona au kusikia kimewekwa kuwa <xliff:g id="SERVICE">%1$s</xliff:g>. Gusa na ushikilie Kitufe cha zana za walio na matatizo ya kuona au kusikia, kisha uchague ukuzaji ili utumie kipengele cha ukuzaji."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"Ishara ya zana za walio na matatizo ya kuona au kusikia imewekwa kwenye <xliff:g id="SERVICE">%1$s</xliff:g>. Ili utumie ukuzaji, telezesha vidole viwili kutoka chini kwenda juu kwenye skrini na ushikilie. Kisha uchague ukuzaji."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"Mkato wa kitufe cha sauti"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"Huduma ya njia ya mkato"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Mipangilio ya njia ya mkato"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"Ruhusu kwenye skrini iliyofungwa"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"Ukiwasha njia ya mkato, unaweza kubonyeza vitufe vyote viwili vya sauti kwa sekunde 3 ili uanze kutumia kipengele cha ufikivu."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"Maandishi yenye utofautishaji bora"</string>
@@ -2149,24 +2157,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"Chagua muda ambao ungependa kuonyesha ujumbe unaokuomba uchukue hatua, lakini utaonekana kwa muda mfupi.\n\nBaadhi ya programu hazitumii mipangilio hii."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"Muda wa kugusa na kushikilia"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"Ugeuzaji rangi"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"Huenda ikaathiri utendaji"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"Muda wa kuchukua hatua"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"Tumia ugeuzaji rangi"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"Ugeuzaji rangi hubadilisha skrini zenye mwangaza kuwa nyeusi. Hii huwasaidia watu wanaoathiriwa na kiasi cha juu cha mwangaza waone skrini kwa urahisi.&lt;br/&gt;&lt;br/&gt;Kumbuka: Rangi nyeusi zitageuka na kuwa za mwangaza. Rangi zitabadilika katika maudhui na picha. Unaweza pia kutumia Mandhari meusi (Mipangilio > Onyesho)."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"Kubofya kiotomatiki (muda wa kuchukua hatua)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"Ikiwa unatumia kipanya, unaweza kuweka mipangilio ili kielekezi kichukue hatua kiotomatiki kinaposimama kwa muda fulani."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"Muda wa kusubiri kabla ya kubofya"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"Usitumie kipengele cha kubofya kiotomatiki (chaguomsingi)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"Kifupi"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"Sekunde 0.2"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"Wastani"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"Sekunde 0.6"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"Kirefu"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"Sekunde 1"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"Maalum"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"Mfupi zaidi"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"Mrefu zaidi"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"Muda wa kubofya kiotomatiki"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"Uthabiti wa kuhisi na mtetemo"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Mtetemo wa arifa"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Mtetemo wa mlio"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Mtetemo kifaa kinapoguswa"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"Tumia huduma"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"Tumia <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"Fungua <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"Tumia usahihishaji wa rangi"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"Tumia manukuu"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"Onyesha manukuu"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"Mwonekano wa manukuu"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"Ukubwa wa maandishi, muundo wa manukuu"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"Chaguo zaidi"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"Baadhi ya programu hazitumii mipangilio hii."</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"Kitufe cha zana za ufikivu"</string>
+    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"Telezesha vidole viwili juu kutoka upande wa chini"</string>
+    <string name="accessibility_shortcut_type_hardware" msgid="4834144210432451916">"Shikilia vitufe vya kuongeza sauti"</string>
+    <string name="accessibility_shortcut_type_triple_tap" msgid="7717524216825494543">"Gusa skrini mara tatu"</string>
     <string name="accessibility_hearingaid_instruction_continue_button" msgid="3367260988024430722">"Endelea"</string>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"Vifaa vya kusaidia kusikia"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"Hujaunganisha vifaa vyovyote vya kusaidia kusikia"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"Ongeza vifaa vya kusaidia kusikia"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"Ili uoanishe visaidizi vya kusikia, tafuta na uguse kifaa chako kwenye skrini inayofuata."</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"Hakikisha kuwa vifaa vya kusaidia kusikia viko katika hali ya kuoanisha."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"Ili uoanishe visaidizi vyako vya kusikia, tafuta na uguse kifaa chako kwenye skrini inayofuata. Hakikisha kuwa visaidizi vyako vya kusikia viko katika hali ya kuoanisha."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> inatumika"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="other">Imehifadhi vifaa <xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> vya kusaidia kusikia</item>
@@ -2178,25 +2204,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Huduma hii haifanyi kazi vizuri."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Onyesha katika Mipangilio ya Haraka"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"Hali ya kusahihisha"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="other">Kukawia kwa muda mfupi zaidi (ms <xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g>)</item>
-      <item quantity="one">Kukawia kwa muda mfupi zaidi (ms <xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g>)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Nyekundu-kijani"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"Kijani-nyekundu"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Bluu-manjano"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"Upofu rangi wa kutokuona rangi ya kijani"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"Upofu rangi wa kutokuona rangi nyekundu"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"Upofu rangi wa kutokuona rangi ya bluu"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="other">Kuchelewa kwa muda mfupi mno (sekunde <xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g>)</item>
+      <item quantity="one">Kuchelewa kwa muda mfupi mno (sekunde <xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> )</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="other">Kukawia kwa muda mfupi sana (ms <xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g>)</item>
-      <item quantity="one">Kukawia kwa muda mfupi sana (ms <xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g>)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="other">Kuchelewa kwa muda mfupi sana (sekunde <xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g>)</item>
+      <item quantity="one">Kuchelewa kwa muda mfupi sana (sekunde <xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g>)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="other">Kukawia kwa muda mfupi (ms <xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g>)</item>
-      <item quantity="one">Kukawia kwa muda mfupi (ms <xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g>)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="other">Kuchelewa kwa muda mfupi (sekunde<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g>)</item>
+      <item quantity="one">Kuchelewa kwa muda mfupi (sekunde <xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g>)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="other">Kukawia kwa muda mrefu (ms<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g>)</item>
-      <item quantity="one">Kukawia kwa muda mrefu (ms <xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g>)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="other">Kuchelewa kwa muda mrefu (sekunde<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g>)</item>
+      <item quantity="one">Kuchelewa kwa muda mrefu (sekunde<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g>)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="other">Kukawia kwa muda mrefu sana (ms <xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g>)</item>
-      <item quantity="one">Kukawia kwa muda mrefu sana (ms <xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g>)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="other">Kuchelewa kwa muda mrefu sana (sekunde <xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g>)</item>
+      <item quantity="one">Kuchelewa kwa muda mrefu sana (sekunde <xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> )</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="other">Sekunde <xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g></item>
+      <item quantity="one">Sekunde <xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g></item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"Mlio <xliff:g id="SUMMARY_RING">%1$s</xliff:g>, arifa <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>, kugusa <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"Umezima mtetemo wa arifa na mlio wa simu"</string>
@@ -2513,7 +2549,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"Ilipochopolewa mara ya mwisho kwa <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"Jumla ya utumiaji"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"Onyesha upya"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"Mfumo wa Uendeshaji wa Android"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"Seva ya media"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"Uboreshaji wa programu"</string>
     <string name="battery_saver" msgid="7737147344510595864">"Kiokoa Betri"</string>
@@ -2594,8 +2629,7 @@
     <string name="tts_play" msgid="2945513377250757221">"Cheza"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"Hifadhi ya hati-tambulishi"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"Sakinisha kutoka kwenye hifadhi"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"Sakinisha kutoka kwa kadi ya SD"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"Sakinisha cheti"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"Sakinisha vyeti kutoka kwenye hifadhi"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"Sakinisha vyeti  kutoka kwa kadi ya SD"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"Futa stakabadhi"</string>
@@ -2615,6 +2649,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"Hifadhi ya stakabadhi imefutwa"</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"Hifadhi ya stakabadhi haikuweza kufutwa."</string>
     <string name="usage_access_title" msgid="1580006124578134850">"Zenye idhini ya kufikia maelezo"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"Cheti cha CA"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"Cheti cha mtumiaji wa programu na VPN"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"Cheti cha Wi-Fi"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"Faragha yako iko hatarini"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"Vyeti vya CA hutumiwa na tovuti, programu na VPN kwa usimbaji fiche. Sakinisha vyeti vya CA kwenye mashirika unayoamini pekee. \n\n Ukisakinisha cheti cha CA, mmiliki wa cheti anaweza kufikia maelezo yako, kama vile manenosiri, ujumbe au maelezo ya kadi za mikopo kwenye tovuti unazotembelea au programu unazotumia - hata ikiwa maelezo hayo yamesimbwa kwa njia fiche."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"Usisakinishe"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"Sakinisha licha ya hayo"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"Cheti hakijasakinishwa"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"Ishara ya simu ya dharura"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Weka tabia wakati simu ya dharura imepigwa"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Hifadhi nakala"</string>
@@ -2642,10 +2684,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"Zima na uondoe"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"Programu za msimamizi wa kifaa"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"Hakuna programu za msimamizi wa kifaa zinazopatikana"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"Binafsi"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"Kazini"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"Zuia ufikiaji wa rekodi ya nambari za simu na SMS"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"Programu chaguomsingi za simu na za kutuma ujumbe ndizo tu zina ruhusa za kufikia SMS na rekodi ya nambari za simu"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"Hakuna madalali wa kuaminiwa wanaopatikana"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"Ungependa kuanza kutumia programu ya msimamizi wa kifaa?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"Anza kutumia programu ya msimamizi wa kifaa"</string>
@@ -2659,6 +2697,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"Baadhi ya chaguo zimezimwa na msimamizi wako"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"Maelezo zaidi"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"Kumbukumbu ya arifa"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"Historia ya arifa"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"Leo"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"Imeahirishwa"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"Imeondolewa hivi majuzi"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="other">Arifa <xliff:g id="NUMBER_1">%d</xliff:g></item>
+      <item quantity="one">Arifa <xliff:g id="NUMBER_0">%d</xliff:g></item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"Mlio na mtetemo wa simu"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"Maelezo ya mtandao"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"Kusawazisha kumelemazwa"</string>
@@ -3008,7 +3054,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"Vikwazo"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"Ondoa vikwazo"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"Badilisha PIN"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"Onyesha arifa"</string>
     <string name="help_label" msgid="2896538416436125883">"Usaidizi na maoni"</string>
     <string name="support_summary" msgid="1034146931237148885">"Makala ya usaidizi, simu na gumzo, kuanza"</string>
     <string name="user_account_title" msgid="6389636876210834864">"Akaunti ya maudhui"</string>
@@ -3033,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"Upigaji simu kupitia 4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Tumia huduma za LTE ili uboreshe sauti na mawasiliano mengine (inapendekezwa)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Tumia huduma za 4G ili uboreshe sauti na mawasiliano mengine (inapendekezwa)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Kugundua anwani"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Huruhusu mtoa huduma wako kugundua ni vipengele gani vya kupiga simu vinavyotumiwa na anwani zako."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Ungependa kuwasha kipengele cha kugundua anwani?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Hatua ya kuwasha kipengele hiki itamruhusu mtoa huduma wako kufikia nambari za simu katika anwani zako ili kugundua ni vipengele gani vya kupiga simu vinavyotumiwa na anwani zako."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Aina ya mtandao unaoupendelea"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (inapendekezwa)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"Ujumbe wa MMS"</string>
@@ -3077,7 +3126,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"Piga simu ukitumia"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"Chagua SIM kadi"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"SIM <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"SIM kadi isiyo na kitu"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"Jina la SIM"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"Weka jina la SIM"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"Nafasi ya SIM %1$d"</string>
@@ -3087,6 +3135,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"Chagua SIM kadi"</string>
     <string name="color_orange" msgid="216547825489739010">"Rangi ya machungwa"</string>
     <string name="color_purple" msgid="6603701972079904843">"Zambarau"</string>
+    <string name="color_pink" msgid="8596872110888626708">"Waridi"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"Hakuna SIM kadi zilizoingizwa"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"Hali ya SIM"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"Hali ya SIM (nafasi ya sim ya %1$d)"</string>
@@ -3100,7 +3149,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"dBm <xliff:g id="DBM">%1$d</xliff:g> asu <xliff:g id="ASU">%2$d</xliff:g>"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"SIM kadi zimebadilishwa."</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Gusa ili uweke mipangilio"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"SIM inayopendelewa kwa"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Uliza kila wakati"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Uteuzi unahitajika"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"Uteuzi wa SIM"</string>
@@ -3118,6 +3166,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"Bluetooth, hali ya kuendesha gari"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"Bluetooth, NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"Bluetooth"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"Haipatikani kwa sababu NFC imezimwa"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"Programu na arifa"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Programu za hivi majuzi, programu chaguomsingi"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Programu zilizo katika wasifu wa kazini haziwezi kufungua arifa."</string>
@@ -3128,13 +3177,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"Mipangilio"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"wifi, wi-fi, mtandao, muunganisho wa mtandao, intaneti, pasiwaya, data,"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"Arifa ya Wi-Fi, arifa ya wifi"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"matumizi ya data"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"Simamisha mtetemo, gusa, kibodi"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"Tumia mpangilio wa saa 24"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"Pakua"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"Fungua ukitumia"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"Maombi"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"saa za eneo"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"Gumzo kuu"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"Gumzo kuu, mfumo, arifa, dirisha, kidirisha, onyesho, juu ya programu zingine, droo"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"Taa, Mwangaza, Tochi"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"Wi-Fi, wi-fi, geuza, dhibiti"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"mtandao wa simu, rununu, mtoa huduma wa vifaa vya mkononi, isiyotumia waya, data, 4g, 3g, 2g, lte"</string>
@@ -3158,7 +3208,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"usinisumbue, katiza, kukatiza, katiza"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"maeneo ya karibu nawe, mahali, historia, kuripoti, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"akaunti"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"akaunti, ongeza akaunti, wasifu wa kazini, ongeza akaunti"</string>
     <string name="keywords_users" msgid="3497517660077620843">"vikwazo, weka vikwazo, imewekewa vikwazo"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"kusahihisha maandishi, sahihisha, sauti, tetema, otomatiki, lugha, ishara, pendekeza, pendekezo, mandhari, ya kukera, neno, andika, emoji, ya kimataifa"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"weka upya, mapendeleo, chaguomsingi"</string>
@@ -3196,6 +3246,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"hifadhi, akiba, data, futa, futa data yote, nafasi iliyosalia, nafasi"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"imeunganishwa, kifaa, vipokea sauti vinavyobanwa kichwani, vifaa vya sauti, spika, pasiwaya, oanisha, vifaa vya sauti vya masikioni, muziki, maudhui"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"chinichini, skrini, kifunga skrini, mandhari"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"umbo la aikoni, rangi ya msisitizo, fonti"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"chaguomsingi, mratibu"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"malipo, chaguomsingi"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"arifa zinazoingia"</string>
@@ -3205,18 +3256,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"kugusa, kutetema, utambuzi"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"kiokoa betri, inayonata, inayodumu, kiokoa umeme, betri"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"mpangilio, ratiba, kiokoa betri, kuokoa umeme, betri, otomatiki, asilimia"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"wasifu wa kazini"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"volte, upigaji simu ulioimarishwa, upigaji simu kupitia 4g"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"ongeza lugha, ongeza lugha"</string>
     <string name="default_sound" msgid="6604374495015245195">"Sauti chaguomsingi"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"Kiwango cha sauti ya mlio ni <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"Kiwango cha sauti ya arifa na mlio wa simu ni <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Kiwango cha sauti, mtetemo, Usinisumbue"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"Programu inayotoa milio ya simu imewekwa katika hali ya kutetema"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"Programu inayotoa milio ya simu imewekwa katika hali ya kimya"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"Kiwango cha sauti ya mlio ni 80%"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"Kiwango cha sauti ya arifa na mlio wa simu ni 80%"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Sauti ya maudhui"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Sauti ya maudhui ya kutumwa"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"Sauti ya simu"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"Sauti ya kengele"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"Sauti ya mlio"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"Sauti ya arifa na mlio wa simu"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"Sauti ya arifa"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"Mlio wa simu"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"Sauti chaguomsingi ya arifa"</string>
@@ -3224,6 +3276,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"Sauti chaguomsingi ya arifa"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"Sauti chaguomsingi ya kengele"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"Iteteme simu zikipigwa"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"Isiteteme kamwe"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"Iteteme kila mara"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"Iteteme kisha itoe sauti kwa utaratibu"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"Sauti nyingine"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"Sauti za vitufe vya kupiga simu"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"Sauti za kufunga skrini"</string>
@@ -3247,6 +3302,7 @@
       <item quantity="one">1 imewashwa</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Usinisumbue"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Pata arifa za watu na programu muhimu pekee"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Punguza usumbufu"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Washa kipengele cha Usinisumbue"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"Hali maalum"</string>
@@ -3273,7 +3329,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Zuia ukatizaji wa maonyesho"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Ruhusu ishara zinazoonekena"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"Wakati umewasha kipengele cha Usinisumbue"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"Ruhusu usumbufu unaotoa sauti"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"Dhibiti arifa"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Arifa zisitoe sauti"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"Utaona arifa kwenye skrini yako"</string>
@@ -3304,7 +3360,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"Sauti na mtetemo"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"Sauti, mtetemo na baadhi ya ishara za arifa zinazoonekana"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"Sauti, mtetemo na ishara za arifa zinazoonekana"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"Haitaficha kamwe arifa zinazohitajika katika hali na shughuli za msingi za simu"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"Haitaficha arifa zinazohitajika kwa ajili ya hali na shughuli za msingi za simu kamwe."</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"Hamna"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"chaguo zingine"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"Ongeza"</string>
@@ -3334,10 +3390,12 @@
       <item quantity="other">Ratiba <xliff:g id="ON_COUNT">%d</xliff:g> zinaweza kuwashwa kiotomatiki</item>
       <item quantity="one">Ratiba 1 inaweza kuwashwa kiotomatiki</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"Zima sauti ya kifaa lakini uruhusu hali fulani maalum"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"Hali maalum"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"Ratibu"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"Angalia hali zote maalum"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"Zisizofuata kanuni wakati umewasha kipengele cha Usinisumbue"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"Watu"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"Programu"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"Kengele na usumbufu mwingine"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"Ratiba"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"Arifa zilizozimwa sauti"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"Wakati umewasha mipangilio ya Usinisumbue, milio na mitetemo itazimwa, isipokuwa inayotoka kwenye vipengee ambavyo umeruhusu hapo juu."</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"Zima zote isipokuwa"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"Imezimwa sauti"</string>
@@ -3381,16 +3439,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"Arifa zinazojirekebisha"</string>
     <string name="asst_capability_prioritizer_title" msgid="1181272430009156556">"Kipaumbele cha arifa inayojirekebisha"</string>
     <string name="asst_capability_prioritizer_summary" msgid="954988212366568737">"Weka kiotomatiki arifa za kipaumbele cha chini ili Zisitoe sauti"</string>
+    <string name="asst_capability_ranking_title" msgid="312998580233257581">"Nafasi ya arifa zinazojirekebisha"</string>
+    <string name="asst_capability_ranking_summary" msgid="2293524677144599450">"Panga arifa kiotomatiki kulingana na uhusiano"</string>
     <string name="asst_capabilities_actions_replies_title" msgid="4392470465646394289">"Vitendo na majibu yaliyopendekezwa"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"Onyesha kiotomatiki vitendo na majibu yaliyopendekezwa"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"Washa historia ya arifa ili uendelee kufuatilia arifa za awali na arifa zilizoahirishwa"</string>
+    <string name="notification_history" msgid="8663811361243456201">"Historia ya arifa"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"Washa kipengele cha historia"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"Zima kipengele cha historia"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"Umezima historia ya arifa"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"angalia mipangilio ya arifa"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Ruhusu uahirishaji wa arifa"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"Ficha aikoni kutoka arifa zisizo na sauti"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"Aikoni kutoka arifa zisizo na sauti hazionyeshwi kwenye sehemu ya arifa"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"Ruhusu vitone vya arifa"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"Onyesha utepe wa mazungumzo ya hivi majuzi"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Viputo"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"Baadhi ya arifa zinaweza kuonekana kama viputo kwenye skrini"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"Baadhi ya arifa na maudhui mengine yanaweza kuonekana kama viputo kwenye skrini. Ili ufungue kiputo, kiguse. Ili kukiondoa, kiburute chini kwenye skrini."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Viputo"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"Ujumbe mpya utaonekana kwenye skrini"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"Ruhusu <xliff:g id="APP_NAME">%1$s</xliff:g> ionyeshe baadhi ya arifa kama viputo"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"Washa viputo"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"Ili kuwasha viputo kwenye programu hii, unahitaji kuviwasha kwenye kifaa chako kwanza. Hii huathiri programu zingine ulizowashia viputo awali."</string>
@@ -3408,6 +3476,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"Onyesha katika orodha kunjuzi na kwenye skrini iliyofungwa"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"Onyesha katika orodha kunjuzi na kwenye sehemu ya arifa"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"Onyesha katika orodha kunjuzi, sehemu ya arifa na kwenye skrini iliyofungwa"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"Ficha arifa zisizo na sauti katika sehemu ya arifa"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"Mwangaza umemeteke"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"Skrini iliyofungwa"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"Kuruka skrini iliyofungwa"</string>
@@ -3438,6 +3507,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"Utendaji"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"Ruhusu sauti"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"Usawahi kuonyesha arifa"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"Mazungumzo"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"Mazungumzo"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"Si mazungumzo"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"Ondoa kwenye sehemu ya mazungumzo"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"Haya ni mazungumzo"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"Weka kwenye sehemu ya mazungumzo"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"Dhibiti mazungumzo"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"Mazungumzo muhimu"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"Mazungumzo yote"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"Weka viputo kwenye mazungumzo muhimu"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"Mazungumzo muhimu huonekana juu ya menyu inayovutwa chini. Unaweza pia kuyafanya yatoe viputo na kukatiza kipengele cha Usinisumbue."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"Punguza na uonyeshe bila sauti"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"Onyesha chinichini"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"Toa sauti"</string>
@@ -3456,7 +3536,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"Hukusaidia kuwa makini bila sauti au mtetemo"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"Hupata umakinifu wako kwa sauti na mtetemo"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"Kifaa kinapofunguliwa, onyesha arifa kama bango katika sehemu ya juu ya skrini"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"Onyesha arifa"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"Arifa zote za <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"Arifa Zinazojirekebisha"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="other">Takriban arifa <xliff:g id="NUMBER_1">%d</xliff:g> kwa siku</item>
@@ -3477,6 +3557,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"Arifa Zinazojirekebisha"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"Hamna"</string>
     <string name="no_notification_listeners" msgid="2839354157349636000">"Hakuna programu zilizosakinishwa ambazo zimeomba kufikia arifa."</string>
+    <string name="notification_access_detail_switch" msgid="46386786409608330">"Ruhusu ifikie arifa"</string>
     <string name="notification_assistant_security_warning_title" msgid="2972346436050925276">"Je, ungependa kuruhusu ufikiaji wa arifa za <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
     <string name="notification_assistant_security_warning_summary" msgid="3119843404577399036">".<xliff:g id="NOTIFICATION_ASSISTANT_NAME">%1$s</xliff:g> itaweza kusoma arifa zote; zikiwemo taarifa binafsi kama vile majina ya anwani na maandishi ya ujumbe unaopokea. Pia itaweza kubadilisha au kuondoa arifa au kuanzisha vitufe vya vitendo vilivyomo. \n\nHatua hii pia itaipa programu uwezo wa kuwasha au kuzima kipengele cha Usinisumbue na kubadilisha mipangilio inayohusiana nacho."</string>
     <string name="notification_listener_security_warning_title" msgid="5791700876622858363">"Je, ungependa kuruhusu ufikiaji wa arifa za <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
@@ -3538,8 +3619,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"Nimemaliza"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"Umuhimu"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"Mwangaza umemeteke"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"Mtetemo"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"Mtetemo"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"Mlio"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"Muhimu"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"Ongeza kwenye skrini ya kwanza"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"Futa"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"Badilisha jina"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"Jina la ratiba"</string>
@@ -3593,6 +3676,10 @@
       <item quantity="other">Wengine <xliff:g id="NUM_PEOPLE">%d</xliff:g></item>
       <item quantity="one">Mwingine 1</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Mazungumzo"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"Kwenye mazungumzo yote"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"Kwenye mazungumzo muhimu"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"Usiruhusu mazungumzo yoyote"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"Ruhusu ujumbe"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"Ili uhakikishe kuwa ujumbe unaoruhusiwa unatoa sauti, angalia kama umeweka mipangilio ya kutoa sauti, kutetema ama kimya kwenye kifaa chako."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"Katika hali ya ‘<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>’ ujumbe unaoingia umezuiwa. Unaweza kubadilisha mipangilio ili uwaruhusu marafiki, familia na watu wengine wawasiliane nawe."</string>
@@ -3606,15 +3693,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"Hamna"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"Usiruhusu simu yoyote"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"Usiruhusu ujumbe wowote"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"Ruhusu kengele"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"Kengele"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"Kutoka vipima muda, kengele, mifumo ya usalama na programu zingine"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"kengele"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"Cheza sauti za video"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"Sauti za maudhui"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"Kutoka video, michezo na maudhui mengine"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"maudhui"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"Ruhusu sauti unapogusa"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"Sauti inapoguswa"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"Kutoka kibodi yako na vitufe vingine"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"sauti inapoguswa"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"Ruhusu vikumbusho"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"Vikumbusho"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"Kutoka majukumu na vikumbusho"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"vikumbusho"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"Ruhusu matukio"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"Matukio"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"Kutoka matukio yajayo ya kalenda"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Ruhusu programu zibatilishe hali"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"Hali maalum kwa programu"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3657,6 +3749,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"Ruhusu arifa zilizozuiwa na kipengele cha Usinisumbue ziwashe skrini"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"Mipangilio ya arifa"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"Sawa"</string>
+    <string name="suggestion_button_close" msgid="6865170855573283759">"Funga"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Tuma maoni kuhusu kifaa hiki"</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"Weka PIN ya msimamizi"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"Imewashwa"</string>
@@ -3667,6 +3760,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Itisha PIN kabla hujabandua"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Omba nenosiri kabla hujabandua"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Funga kifaa wakati wa kubandua"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Thibitisha hatua ya kufuta SIM"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"Thibitisha kuwa ni wewe kabla ya kufuta SIM iliyopakuliwa"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"Wasifu huu wa kazini unasimamiwa na:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"Inasimamiwa na <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(Majaribio)"</string>
@@ -3741,8 +3836,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"Programu Zote"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Programu zilizosakinishwa"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Programu zinazofunguka papo hapo"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"Binafsi"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"Kazini"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"Programu: Zote"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"Zimezimwa"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"Aina: Umuhimu wa dharura"</string>
@@ -3754,6 +3847,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"Programu isiyojulikana"</string>
     <string name="app_permissions" msgid="8666537659217653626">"Kidhibiti cha ruhusa"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"Programu zinazotumia <xliff:g id="APPS">%1$s</xliff:g>"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"Programu zinatumia <xliff:g id="APPS">%1$s</xliff:g> na zaidi"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"Gusa ili uanze kutumia"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"Gusa mara mbili mahali popote kwenye skrini ili uanze kutumia kifaa"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"Kufungua viungo"</string>
@@ -3765,9 +3859,14 @@
       <item quantity="other">Programu <xliff:g id="COUNT">%d</xliff:g> zinafungua viungo vinavyotumika</item>
       <item quantity="one">Programu moja inafungua viungo vinavyotumika</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"Fungua katika programu hii"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"Ruhusu programu ifungue viungo vinavyotumika"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"Uliza kila wakati"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"Usifungue katika programu hii"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"Usiruhusu programu ifungue viungo"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="other">Programu inadai kudhibiti viungo <xliff:g id="COUNT_1">%d</xliff:g></item>
+      <item quantity="one">Programu inadai kudhibiti kiungo <xliff:g id="COUNT_0">%d</xliff:g></item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"Programu inadai kudhibiti viungo vifuatavyo:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"Chaguomsingi"</string>
     <string name="default_for_work" msgid="537558180548617528">"Chaguomsingi ya kazini"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"Maagizo na usaidizi kwa kutamka"</string>
@@ -3911,8 +4010,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"Onyesha juu ya programu zingine"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Programu ionekane juu ya zingine"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"Ruhusu programu hii ionekane juu ya programu zingine unazotumia. Huenda hali hii ikaathiri jinsi unavyotumia programu hizo au kubadilisha jinsi zinavyoonekana au kufanya kazi."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"Kufikia faili zote"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"Ruhusu ufikiaji ili idhibiti faili zote"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Ruhusu programu hii isome, irekebishe na kufuta faili zote kwenye kifaa hiki au nafasi zozote za hifadhi zilizounganishwa. Ukiipa ruhusa, huenda programu ikafikia faili bila ufahamu wako."</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"Inaweza kufikia faili zote"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"vr uhalisia pepe kisikilizaji stereo kisaidizi huduma"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"kidirisha cha arifa ya mfumo huonekana kwenye programu zingine"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"Onyesha juu ya programu zingine"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"Programu <xliff:g id="COUNT_0">%1$d</xliff:g> kati ya <xliff:g id="COUNT_1">%2$d</xliff:g> zimeruhusiwa kuonekana juu ya programu zingine"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"Programu zilizo na ruhusa"</string>
@@ -4078,6 +4180,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"Umetumia <xliff:g id="ID_2">^2</xliff:g> <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="data_overusage" msgid="3680477320458707259">"Zaidi ya <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="data_remaining" msgid="6316251496381922837">"Zimesalia <xliff:g id="ID_1">^1</xliff:g>"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"Grafu inayoonyesha matumizi ya data kati ya tarehe <xliff:g id="START_DATE">%1$s</xliff:g> na <xliff:g id="END_DATE">%2$s</xliff:g>."</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"Hakuna data katika kipindi hiki"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="other">Zimesalia siku %d</item>
       <item quantity="one">Imesalia siku %d</item>
@@ -4141,14 +4245,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"ukubwa wa sehemu"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"hifadhi inayoshirikiwa katika Android"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"imewasilisha arifa"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"sauti"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"tetema"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"mchoro"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"chaguomsingi"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"kituo"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"hamna"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"Haina kipengele cha kuorodhesha."</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"Kipengele cha kuorodhesha hakina ufunguo huu."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"Kuweka maudhui"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"Hali chaguomsingi ya kifaa"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"Mkato kwenye skrini"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"mwonekano wenye pengo, mkato wa umbo"</string>
@@ -4237,8 +4337,12 @@
     <string name="information_label" msgid="6939310810756569298">"Maelezo"</string>
     <string name="low_label" msgid="6525629096999711220">"Chini"</string>
     <string name="high_label" msgid="357503396626018487">"Juu"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"Kiwango cha juu cha hisi kinaweza kukizana na ishara zozote za programu kwenye kingo za skrini."</string>
+    <string name="left_edge" msgid="1513576842959071849">"Ncha ya kushoto"</string>
+    <string name="right_edge" msgid="1505309103265829121">"Ncha ya kulia"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"Kiwango cha juu cha hisi kinaweza kukinzana na ishara zozote za programu kwenye kingo za skrini."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"Hisi za Nyuma"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"Mipangilio ya Ishara"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"usogezaji kwa kutumia ishara, kiwango cha hisi ya nyuma, ishara ya nyuma"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"Gusa mara mbili ili uangalie simu"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"Gusa mara mbili ili uangalie kompyuta kibao"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"Gusa mara mbili ili uangalie kifaa"</string>
@@ -4394,7 +4498,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"Anzisha Utaratibu wa Mtoa Huduma"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"Sasisha kipengele cha Usinisumbue"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"Sitisha arifa ili uendelee kumakinika"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"Kipengele hiki hakipatikani kwenye kifaa hiki"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"Kipengele hakipatikani"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"Kipengele hiki kimezimwa kwa sababu kinapunguza kasi ya simu yako"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"Lazimisha vipimo vya GNSS kamili"</string>
@@ -4404,20 +4507,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"Chagua programu inayoweza kutumia ANGLE"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"Hujaweka programu yoyote inayoweza kutumia ANGLE"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"Programu inayoweza kutumia ANGLE: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"Mapendeleo ya Kiendeshaji cha Michezo"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"Badilisha mipangilio ya Kiendeshaji cha Michezo"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"Ukizima Kiendeshaji cha Michezo, unaweza kuchagua kutumia kiendeshaji cha michoro kilichosasishwa kwa Programu zilizosakinishwa kwenye kifaa."</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"Washa katika programu zote"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"Chagua Kiendeshaji cha Michoro"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"Chaguomsingi"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"Kiendeshaji cha Michezo"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"Kiendeshaji Kilichotolewa Mapema"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"Kiendeshaji cha Michoro ya Mfumo"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"Mapendeleo ya Kiendeshaji cha Michoro"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"Badilisha mipangilio ya kiendeshaji cha michoro"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"Wakati kuna viendeshaji vingi vya michoro, unaweza kuchagua kutumia kiendeshaji kilichosasishwa cha michoro kwa Programu zilizosakinishwa kwenye kifaa."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"Washa katika programu zote"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"Chagua Kiendeshaji cha Michoro"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"Chaguomsingi"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"Kiendeshaji cha Michezo"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"Kiendeshaji cha Msanidi Programu"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Kiendeshaji cha Michoro cha Mfumo"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Mabadiliko ya Uoanifu wa Programu"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Geuza mabadiliko ya uoanifu wa programu"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Mabadiliko chaguomsingi yaliyowashwa"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Mabadiliko chaguomsingi yaliyozimwa"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"Mipangilio hii haitumiki katika simu hii"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"Mipangilio hii haitumiki katika kompyuta kibao hii"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"Mipangilio hii haitumiki katika kifaa hiki"</string>
@@ -4436,6 +4545,12 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"Kifaa"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Haipatikani wakati unaongea kwa simu"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"Haipatikani"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"Weka vifaa vya kutoa sauti"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"Kikundi"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"Umechagua kifaa 1"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"Umechagua vifaa <xliff:g id="COUNT">%1$d</xliff:g>"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"Pokea simu kwenye"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Huwezi kubadilisha APN hii."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Boresha muda wa matumizi ya betri ya kompyuta kibao"</string>
@@ -4553,10 +4668,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"SIM moja tu iliyopakuliwa ndiyo inayoweza kutumika kwa wakati mmoja. \n\nKubadili na kutumia <xliff:g id="CARRIER1">%1$s</xliff:g> hakuwezi kughairi huduma yako ya <xliff:g id="CARRIER2">%2$s</xliff:g>."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Badili utumie <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Futa data yote kwenye SIM"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Je, ungependa kufuta SIM hii iliyopakuliwa?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Kufuta SIM huondoa huduma ya <xliff:g id="CARRIER_0">%1$s</xliff:g> kwenye kifaa hiki.\n\n Huduma ya <xliff:g id="CARRIER_1">%2$s</xliff:g> haitaghairiwa."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Futa"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Inafuta SIM…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Imeshindwa kufuta SIM"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Hitilafu imetokea wakati wa kufuta SIM.\n\n Zima kisha uwashe kifaa chako na ujaribu tena."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Aina ya mtandao inayopendelewa"</string>
@@ -4581,7 +4692,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Hali ya Mtandao Isiyo sahihi <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Puuza"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Majina ya Milango ya Mtandao"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Haipatikani inapounganishwa kwenye <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"Maelezo ya matibabu, anwani za dharura"</string>
     <string name="see_more" msgid="7499355691042812723">"Angalia zaidi"</string>
     <string name="see_less" msgid="2642392725363552793">"Angalia chache"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"Kifaa kitatumia <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
@@ -4590,11 +4700,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"Hitilafu fulani imetokea. Programu imeghairi ombi la kuchagua kifaa."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"Imeunganisha"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"Onyesha yote"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="other">Imeunganisha vifaa <xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g></item>
-      <item quantity="one">Imeunganisha kifaa <xliff:g id="NUMBER_DEVICE_COUNT_0">%1$d</xliff:g></item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"Hakuna vifaa vya  Bluetooth"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"Inatafuta kifaa…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"Inaunganisha kwenye kifaa…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"Kushoto"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"Kulia"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Kipochi"</string>
@@ -4604,6 +4711,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"Haipatikani ukitumia hali ya ndegeni"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"Lazimisha hali ya eneo-kazi"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Lazimisha hali ya jaribio la eneo-kazi kwenye maonyesho yasiyo ya msingi"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"Ruhusu ukubwa usiobadilishwa katika muundo huru"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"Huruhusu programu zisizobadilishwa ukubwa kuwa katika muundo huru"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Badilisha ulazimishaji wa mandhari meusi"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"Hubatilisha mipangilio ya kipengele cha kulazimisha mandhari meusi ili kiwake kila wakati"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"Faragha"</string>
@@ -4640,6 +4749,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Ulisakinisha programu hii hivi majuzi."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Badilisha kifaa cha kutoa"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Inacheza sasa kwenye <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (hakijaunganishwa)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Imeshindwa kubadilisha. Gusa ili ujaribu tena."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Maelezo muhimu"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"ENDELEA"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"HAPANA"</string>
@@ -4667,8 +4778,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"Uunganishaji wa SIM"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Maelezo yako ya sera ya kazini"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Mipangilio inayodhibitiwa na msimamizi wako wa TEHAMA"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"Kidhibiti cha ripoti ya hitilafu"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Hubaini programu inayodhibiti njia ya mkato ya Ripoti ya Hitilafu kwenye kifaa chako."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Binafsi"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"Kazi"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"Chaguomsingi la mfumo"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"Chaguo hili halipo tena. Jaribu tena."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"Acha kutuma"</string>
 </resources>
diff --git a/res/values-ta/arrays.xml b/res/values-ta/arrays.xml
index 9135fff..8daf905 100644
--- a/res/values-ta/arrays.xml
+++ b/res/values-ta/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"உடனடியாக"</item>
     <item msgid="463591454172790676">"5 வினாடிகள்"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"சரிபார்க்காதே"</item>
+    <item msgid="5703177653586269306">"சான்றிதழ் கோரிக்கை நிலை"</item>
+    <item msgid="326388247868439528">"சான்றிதழ் தேவை நிலை"</item>
+    <item msgid="1090956283885790552">"அனைத்து நம்பகத்தன்மை இல்லாத சான்றிதழ்களுக்கான தேவை நிலைகள்"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"புஷ் பட்டன்"</item>
     <item msgid="2630618799033509548">"பியர் சாதனத்திலிருந்து பின்"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"ஏதுமில்லை"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"பாதுகாப்பு விசைகள் மற்றும் Xauth அங்கீகாரத்துடனான IPSec VPN"</item>
     <item msgid="2484564813864139237">"சான்றிதழ்கள் மற்றும் Xauth அங்கீகாரத்துடனான IPSec VPN"</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>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"ஏதுமில்லை"</item>
diff --git a/res/values-ta/config.xml b/res/values-ta/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-ta/config.xml
+++ b/res/values-ta/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-ta/strings.xml b/res/values-ta/strings.xml
index 01659f6..af08920 100644
--- a/res/values-ta/strings.xml
+++ b/res/values-ta/strings.xml
@@ -31,49 +31,17 @@
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"முதலில் டெவெலப்பர் விருப்பங்களை இயக்கவும்."</string>
     <string name="header_category_wireless_networks" msgid="303445626075235229">"வயர்லெஸ் &amp; நெட்வொர்க்குகள்"</string>
     <string name="header_category_system" msgid="1665516346845259058">"சிஸ்டம்"</string>
-    <string name="radio_info_data_connection_enable" msgid="7500945447906187613">"டேட்டா இணைப்பை இயக்கு"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"டேட்டா இணைப்பை முடக்கு"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"VoLTE ஒதுக்கீட்டுக் கொடி இயக்கத்தில்"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"வீடியோ அழைப்பு அமைக்கப்பட்டது"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"வைஃபை அழைப்பு அமைக்கப்பட்டது"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"EAB/பிரசென்ஸ் அமைக்கப்பட்டது"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"Cbrs தரவு"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"DSDSஸை இயக்கு"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"சாதனத்தை மீண்டும் தொடங்கவா?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"இந்த அமைப்பை மாற்ற சாதனத்தை மீண்டும் தொடங்க வேண்டும்."</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"மீண்டும் தொடங்கு"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"ரத்துசெய்"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"மொபைல் ரேடியோ பவர்"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"சிம் முகவரிப் புத்தகத்தைக் காட்டு"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"நிலையான அழைப்பு எண்களைக் காட்டு"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"சேவை அழைப்பு எண்களைக் காட்டு"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"IMS சேவை நிலை"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"IMS நிலை"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"பதிவுசெய்யப்பட்டது"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"பதிவுசெய்யப்படவில்லை"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"இருக்கிறது"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"இல்லை"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"IMS பதிவு: <xliff:g id="STATUS">%1$s</xliff:g>\nவாய்ஸ் ஓவர் LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nவாய்ஸ் ஓவர் WiFi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nவீடியோ அழைப்பு: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT இடைமுகம்: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"சேவையில் உள்ளது"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"சேவையில் இல்லை"</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>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"செயலின்றி"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"அழைக்கிறது"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"அழைப்பில் உள்ளது"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"தொடர்பு துண்டிக்கப்பட்டது"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"இணைக்கிறது"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"இணைக்கப்பட்டது"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"இடைநீக்கப்பட்டது"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"தெரியவில்லை"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"pkts"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"பைட்கள்"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"USB சேமிப்பிடத்தை அகற்று"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"SD கார்டை அகற்று"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"USB சேமிப்பிடத்தை அழி"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"திரையில் காட்டப்படும் உரையைச் சிறிதாக்கும் அல்லது பெரிதாக்கும்."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"சிறிதாக்கு"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"பெரிதாக்கு"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"மாதிரி உரை"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"தி விசார்ட் ஆஃப் ஓஸ்"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"அத்தியாயம் 11: ஓஸின் அற்புதமான மரகத நகரம்"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"இந்த அமைப்பை மாற்ற, சாதனத்தை மீண்டும் தொடங்க வேண்டும்."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"தொடங்கு"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"வேண்டாம்"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"மீடியா வசதியைக் கொண்ட சாதனங்கள்"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"அழைப்பு வசதியைக் கொண்ட சாதனங்கள்"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"தற்போது இணைக்கப்பட்டுள்ளது"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"மீடியா சாதனங்கள்"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"அழைப்பதற்கான சாதனங்கள்"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"பிற சாதனங்கள்"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"சேமிக்கப்பட்ட சாதனங்கள்"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"இணைப்பதற்கு, புளூடூத் ஆன் செய்யப்படும்"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"இணைப்பு விருப்பத்தேர்வுகள்"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"நீங்கள் உள்ளிட்ட போர்ட் தவறானது."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"HTTP ப்ராக்ஸியை உலாவி பயன்படுத்தும் ஆனால் பிற ஆப்ஸ் பயன்படுத்தாமல் போகலாம்."</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"PAC URL: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"தற்போதைய துணை ஐடி:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"இயல்பான டேட்டா சிம்மின் துணை ஐடி:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"DL இணைய வேகம் (kbps):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"UL இணைய வேகம் (kbps):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"மொபைலின் இருப்பிடத் தகவல் (நிறுத்தப்பட்டது):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"LTE ஃபிசிக்கல் சேனல் உள்ளமைவு:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"மொபைல் தகவலின் புதுப்பிப்பு விகிதம்:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"அனைத்து மொபைல் அளவீட்டுத் தகவல்:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"டேட்டா சேவை:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"ரோமிங்:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"அழைப்பைத் திசைதிருப்பு:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"தொடக்கம் முதல் PPP மீட்டமைவின் எண்ணிக்கை:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"தற்போதைய நெட்வொர்க்:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"பெறப்பட்ட தரவு:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"குரல் சேவை:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"சிக்னலின் வலிமை:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"குரல் அழைப்பின் நிலை:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"அனுப்பிய தரவு:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"காத்திருப்பில் உள்ள செய்தி:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"ஃபோன் எண்:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"ரேடியோ பேண்டைத் தேர்ந்தெடுக்கவும்"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"குரல் நெட்வொர்க் வகை:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"தரவு நெட்வொர்க்கின் வகை:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"ஃபோன் அட்டவணையைத் தேர்ந்தெடுக்கவும்"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"விரும்பப்படும் நெட்வொர்க் வகையை அமைக்கவும்:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"ஹோஸ்ட்பெயர்(www.google.com) IPv4ஐப் பிங் செய்:"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"ஹோஸ்ட்பெயர்(www.google.com) IPv6ஐப் பிங் செய்:"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"HTTP க்ளையன்ட் சோதனை:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"பிங் சோதனையை இயக்கு"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"புதுப்பி"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"புதுப்பி"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"DNS சரிபார்ப்பை நிலைமாற்று"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"OEM சார்ந்த தகவல்/அமைப்பு"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"ரேடியோ பேண்டு பயன்முறையை அமை"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"பேண்டு பட்டியலை ஏற்றுகிறது…"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"அமை"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"தோல்வி"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"வெற்றி"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"USB கேபிள் மீண்டும் இணைக்கப்படும்போது மாற்றங்கள் பயன்படுத்தப்படும்."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"USB பெரும் சேமிப்பகத்தை இயக்கு"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"மொத்த பைட்கள்:"</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"கடைசிக்கு நகர்த்து"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"மொழியை அகற்று"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"செயல்பாட்டைத் தேர்வுசெய்யவும்"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"சாதனத் தகவல்"</string>
     <string name="display_label" msgid="3056320781191343221">"திரை"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"டேப்லெட்டின் தகவல்"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"மொபைலின் தகவல்"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"USB சேமிப்பிடம்"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"SD கார்டு"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"ப்ராக்ஸி அமைப்பு"</string>
@@ -306,9 +234,6 @@
     <string name="airplane_mode" msgid="3196085857882526817">"விமானப் பயன்முறை"</string>
     <string name="wireless_networks_settings_title" msgid="8557542379234105369">"வயர்லெஸ் &amp; நெட்வொர்க்குகள்"</string>
     <string name="radio_controls_summary" msgid="9028430178697624501">"வைஃபை, புளூடூத், விமானப் பயன்முறை, மொபைல் நெட்வொர்க்குகள், &amp; VPNகள் ஆகியவற்றை நிர்வகி"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"மொபைல் டேட்டா"</string>
-    <string name="calls_title" msgid="6334813967619899114">"அழைப்புகளை அனுமதி"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"SMS செய்திகள்"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"செல் நெட்வொர்க்கில் டேட்டா உபயோகத்தை அனுமதி"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"ரோமிங்கின் போது டேட்டா உபயோகத்தை அனுமதி"</string>
     <string name="roaming" msgid="3055365654530847985">"ரோமிங்"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"ரோமிங்கின் போது டேட்டா சேவைகளுடன் இணை"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"உங்களுடைய உள்ளூர் நெட்வொர்க்கில் தரவு ரோமிங்கை முடக்கியுள்ளதால் உங்கள் டேட்டா இணைப்பை இழந்துவிட்டீர்கள்."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"இதை இயக்கவும்"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"கட்டணம் விதிக்கப்படலாம்."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"நீங்கள் தரவு ரோமிங்கை அனுமதிக்கும்போது, குறிப்பிட்ட ரோமிங் பேமெண்ட்கள் உங்களுக்கு விதிக்கப்படலாம்!\n\nஅமைப்பானது, டேப்லெட்டில் உள்ள அனைவரையும் பாதிக்கும்."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"நீங்கள் தரவு ரோமிங்கை அனுமதிக்கும்போது, குறிப்பிட்ட ரோமிங் பேமெண்ட்கள் உங்களுக்கு விதிக்கப்படலாம்!\n\nஅமைப்பானது, தொலைபேசியில் உள்ள அனைவரையும் பாதிக்கும்."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"ரோமிங் கட்டணங்கள் விதிக்கப்படக்கூடும்."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"டேட்டா ரோமிங்கை அனுமதிக்கும்போது ரோமிங் கட்டணங்கள் விதிக்கப்படக்கூடும்.\n\nஇந்த டேப்லெட்டில் அனைத்துப் பயனர்களுக்கும் இந்த அமைப்பு பொருந்தும்."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"டேட்டா ரோமிங்கை அனுமதிக்கும்போது ரோமிங் கட்டணங்கள் விதிக்கப்படக்கூடும்.\n\nஇந்த மொபைலில் அனைத்துப் பயனர்களுக்கும் இந்த அமைப்பு பொருந்தும்."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"டேட்டா ரோமிங்கை அனுமதிக்கவா?"</string>
     <string name="networks" msgid="5184501333492775095">"ஆபரேட்டர் தேர்வு"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"நெட்வொர்க் ஆபரேட்டரைத் தேர்வுசெய்யவும்"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"நிர்வாகி முடக்கியுள்ளார்"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"பூட்டு விருப்பத்தைக் காட்டு"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"Smart Lock, பயோமெட்ரிக் அன்லாக்கிங், பூட்டுத் திரையில் தெரியும் அறிவிப்புகள் ஆகியவற்றை ஆஃப் செய்யக்கூடிய \'பவர் பட்டன்\' விருப்பத்தைக் காட்டும்"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"நீடித்த திறப்பு: நம்பகமான ஏஜெண்டுக்கு"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"நம்பமான ஏஜெண்டுகளை இயக்குவதன் மூலம் நீண்ட நேரம் உங்கள் சாதனத்தைத் திறந்து வைக்க முடியுமே தவிர மூடப்பட்டுள்ள சாதனத்தை அது திறக்காது."</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"நம்பிக்கை இழந்ததும் திரை பூட்டப்படுதல்"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"இயக்கப்பட்டால், கடைசி நம்பகமான ஏஜெண்ட் நம்பிக்கையை இழந்ததும் சாதனம் பூட்டப்படும்"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"ஏதுமில்லை"</string>
@@ -390,7 +313,7 @@
     <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="disabled_by_administrator_summary" msgid="4181894719300350343">"நிர்வாகி முடக்கியுள்ளார்"</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>
@@ -693,7 +616,6 @@
       <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> இலக்கங்களை விடக் குறைவாக இருக்க வேண்டும்</item>
       <item quantity="one"><xliff:g id="NUMBER_0">%d</xliff:g> இலக்கத்தை விடக் குறைவாக இருக்க வேண்டும்</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"0-9 இலக்கங்கள் மட்டுமே இருக்க வேண்டும்"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"சாதன நிர்வாகி சமீபத்திய பின்னை பயன்படுத்துவதை அனுமதிக்கவில்லை"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"IT நிர்வாகியால், பொதுவான பின்கள் தடை செய்யப்பட்டுள்ளன. வேறொரு பின்னை முயலவும்."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"இதில் தவறான எழுத்துக்குறி இருக்கக்கூடாது"</string>
@@ -724,6 +646,10 @@
       <item quantity="other">குறைந்தது எழுத்து அல்லாத <xliff:g id="COUNT">%d</xliff:g> குறிகள் இருக்க வேண்டும்</item>
       <item quantity="one">குறைந்தது எழுத்து அல்லாத 1 குறி இருக்க வேண்டும்</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="other">எண் அல்லாத <xliff:g id="COUNT">%d</xliff:g> எழுத்துகளாவது இருக்க வேண்டும்</item>
+      <item quantity="one">எண் அல்லாத 1 எழுத்தாவது இருக்க வேண்டும்</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"சாதன நிர்வாகி சமீபத்திய கடவுச்சொல்லைப் பயன்படுத்துவதை அனுமதிக்கவில்லை"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"IT நிர்வாகியால், பொதுவான கடவுச்சொற்கள் தடை செய்யப்பட்டுள்ளன. வேறொரு கடவுச்சொல்லை முயலவும்."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"இலக்கங்கள் ஏறுவரிசையில், இறங்குவரிசையில் அல்லது ஒரே இலக்கத்தைப் பயன்படுத்துவது அனுமதிக்கப்படவில்லை"</string>
@@ -837,19 +763,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2.4 GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"உள்நுழை"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"தளத்தைத் திற"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"<xliff:g id="REMAINING_TIME">%1$s</xliff:g> மீதமுள்ளது"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"<xliff:g id="EXPIRY_TIME">%1$s</xliff:g> அன்று காலாவதியாகும்"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"நெட்வொர்க்கில் உள்நுழைய, இங்கே தட்டவும்"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> மெ.பை./வி"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> மெ.பை./வி"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> மெ.பை./வி"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"வைஃபையை இயக்க <xliff:g id="REQUESTER">%s</xliff:g> விரும்புகிறது"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"வைஃபையை முடக்க <xliff:g id="REQUESTER">%s</xliff:g> விரும்புகிறது"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"பிழைதிருத்த, ஆப்ஸ் பைட்கோடை சரிபார்த்தல்"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"பிழைதிருத்த, ஆப்ஸிற்கான பைட்கோடைச் சரிபார்க்க ARTயை அனுமதிக்கும்"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"ரெஃப்ரெஷ் விகிதம் காட்டு"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"தற்போதைய டிஸ்ப்ளே ரெஃப்ரெஷ் விகிதத்தைக் காட்டு"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"டேப்லெட்டானது வேறொரு சாதனத்தைத் தொடும்போது தரவுப் பரிமாற்றத்தை அனுமதி"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"வேறொரு சாதனத்தைத் தொடும்போது டேட்டா பரிமாற்றத்தை அனுமதி"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"டேப்லெட்டானது NFC சாதனம் ஒன்றைத் தொடும்போது தரவுப் பரிமாற்றத்தை அனுமதி"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"மொபைலானது NFC சாதனம் ஒன்றைத் தொடும்போது தரவுப் பரிமாற்றத்தை அனுமதி"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"NFCஐ இயக்கு"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"NFC ஆனது இந்தச் சாதனம் மற்றும் அருகிலுள்ள பிற சாதனங்கள் அல்லது இலக்குகளுக்கு இடையே (எ.கா: கட்டண முனையங்கள், ஆக்சஸ் ரீடர்கள், ஊடாடத்தக்க விளம்பரங்கள் அல்லது குறிகள்) தரவைப் பரிமாற்றும்."</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"NFCயைப் பாதுகாத்தல்"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFCக்கு சாதனம் அன்லாக் செய்யப்படுவதை அவசியமாக்குதல்"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"திரை திறந்திருக்கும்போது மட்டும் NFC பேமெண்ட் மற்றும் டிரான்ஸிட்டை அனுமதி"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android பீம்"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"NFC வழியாக ஆப்ஸ் உள்ளடக்கத்தைப் பரிமாற்றும்"</string>
@@ -923,8 +855,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"ஆன் செய்"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"வைஃபை ஸ்கேனிங் ஆன் செய்யப்பட்டது"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"மேம்பட்ட விருப்பங்கள்"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"கீழ் தோன்றுதல் பட்டியலின் மேம்பட்ட விருப்பங்கள். சுருக்க, இருமுறை தட்டவும்."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"கீழ் தோன்றுதல் பட்டியலின் மேம்பட்ட விருப்பங்கள். விரிவாக்க, இருமுறை தட்டவும்."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"கீழ் தோன்றும் பட்டியின் மேம்படுத்தப்பட்ட விருப்பங்கள்"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"விரி"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"நெட்வொர்க் பெயர்"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"SSID ஐ உள்ளிடவும்"</string>
     <string name="wifi_security" msgid="9095934643631406913">"பாதுகாப்பு"</string>
@@ -934,6 +866,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"நிலை"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"இணைப்பு வேகத்தைப் பரிமாற்று"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"இணைப்பு வேகத்தைப் பெறு"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"இணைப்பு வேகம்"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"அலைவரிசை"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"IP முகவரி"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"இதன் வழியாகச் சேமிக்கப்பட்டது"</string>
@@ -941,6 +874,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"EAP முறை"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"2 ஆம் நிலை அங்கீகரிப்பு"</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>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"பயனர் சான்றிதழ்"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"அடையாளம்"</string>
@@ -957,6 +891,10 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"வைஃபை ஹாட்ஸ்பாட்டிற்கு, குறைந்தது ஒரு பேண்ட்டைத் தேர்வுசெய்யவும்:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"IP அமைப்பு"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"தனியுரிமை"</string>
+    <!-- no translation found for wifi_subscription (4432423938285430113) -->
+    <skip />
+    <!-- no translation found for wifi_subscription_summary (18802471063384598) -->
+    <skip />
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"ரேண்டம் ஆக்கப்பட்ட MAC"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"சாதனத்தைச் சேர்த்தல்"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"“<xliff:g id="SSID">%1$s</xliff:g>” இல் சாதனத்தைச் சேர்ப்பதற்குக் கீழேயுள்ள QR குறியீட்டை மையப்படுத்திக் காட்டவும்"</string>
@@ -966,12 +904,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"வைஃபையைப் பகிர்தல்"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"“<xliff:g id="SSID">%1$s</xliff:g>” உடன் இணைக்க இந்த QR குறியீட்டை ஸ்கேன் செய்து கடவுச்சொல்லைப் பகிரவும்"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"“<xliff:g id="SSID">%1$s</xliff:g>” உடன் இணைக்க இந்த QR குறியீட்டை ஸ்கேன் செய்யவும்"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"QR குறியீட்டின் விவரங்களைப் பெற இயலவில்லை. சரியாக மையத்தில் காட்டி முயலவும்"</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"மீண்டும் முயலவும். சிக்கல் தொடர்ந்தால் சாதன உற்பத்தியாளரைத் தொடர்புகொள்ளவும்"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"ஏதோ தவறாகிவிட்டது"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"சாதனம் பிளக்கில் செருகப்பட்டும் சார்ஜ் செய்யப்பட்டும் ஆன் நிலையிலும் இருப்பதை உறுதிசெய்துகொள்ளவும்"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"சாதனம் பிளக்கில் செருகப்பட்டும் சார்ஜ் செய்யப்பட்டும் ஆன் நிலையிலும் இருப்பதை உறுதி செய்துகொள்ளவும். சிக்கல் தொடர்ந்தால் சாதன உற்பத்தியாளரைத் தொடர்புகொள்ளவும்"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"இந்தச் சாதனத்தில் இதைச் சேர்க்க இயலாது: <xliff:g id="SSID">%1$s</xliff:g>"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"உங்கள் சாதனத்தை வைஃபை அணுகல் பாயிண்ட்/ரூட்டருக்கு அருகில் நகர்த்துங்கள்"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"கடவுச்சொல்லைச் சரிபார்த்து மீண்டும் முயலவும்"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"சாதன தயாரிப்பாளரைத் தொடர்புகொள்ளவும்"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"இணைப்பைச் சரிபார்த்து மீண்டும் முயலவும்"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"நெட்வொர்க்கைத் தேர்வுசெய்தல்"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"உங்கள் சாதனத்தை இணைப்பதற்கு நெட்வொர்க் ஒன்றைத் தேர்வுசெய்யவும்"</string>
@@ -984,11 +924,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"இந்தச் சாதனத்துடன் வைஃபை பகிரப்படுகிறது…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"இணைக்கிறது…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"ஹாட்ஸ்பாட்டைப் பகிர்தல்"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"நீங்கள்தான் என உறுதிசெய்க"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"நீங்கள்தான் என்பதை உறுதிப்படுத்தவும்"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"வைஃபை கடவுச்சொல்: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"ஹாட்ஸ்பாட் கடவுச்சொல்: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"தானாக இணைத்தல்"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"இந்த நெட்வொர்க்கின் அருகில் இருக்கும்போது மொபலைத் தானாக இணைவதற்கு அனுமதிக்கும்"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"இந்த நெட்வொர்க்கின் அருகில் இருக்கும்போது டேப்லெட்டைத் தானாக இணைவதற்கு அனுமதிக்கும்"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"சாதனத்தைச் சேர்க்கவும்"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"நெட்வொர்க்கில் சாதனத்தைச் சேர்க்க QR குறியீட்டைப் பயன்படுத்தவும்"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"QR குறியீடு சரியான வடிவமில்லை"</string>
     <string name="retry" msgid="7542103800274026915">"மீண்டும் முயல்க"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"பிற சாதனப் பயனர்களுடன் பகிர்"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(மாற்றப்படவில்லை)"</string>
@@ -1000,6 +944,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"சான்றிதழ் எதுவும் குறிப்பிடப்படவில்லை. உங்கள் இணைப்பு தனிப்பட்டதாக இருக்காது."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"நெட்வொர்க்கின் பெயர் மிகவும் நீளமாக உள்ளது."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"டொமைனைக் குறிப்பிட வேண்டும்."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"சான்றிதழ் தேவை."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"WPS கிடைக்கிறது"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (WPS கிடைக்கிறது)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"தொலைத்தொடர்பு நிறுவன வைஃபை நெட்வொர்க்"</string>
@@ -1051,7 +996,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"மேம்பட்ட வைஃபை"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"MAC முகவரி"</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_ip_address_title" msgid="4265355419782184514">"IP முகவரி"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"நெட்வொர்க் விவரங்கள்"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"சப்நெட் மாஸ்க்"</string>
@@ -1103,7 +1049,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"மற்ற சாதனங்களுக்கு வைஃபை நெட்வொர்க்கை உருவாக்க, ஹாட்ஸ்பாட்டைப் பயன்படுத்தவும். ஹாட்ஸ்பாட்டானது, மொபைல் டேட்டா இணைப்பைப் பயன்படுத்தி இண்டர்நெட்டை வழங்குகிறது. கூடுதல் மொபைல் டேட்டா பேமெண்ட்கள் விதிக்கப்படலாம்."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"அருகிலுள்ள சாதனங்களுடன் உள்ளடக்கத்தைப் பகிர, ஆப்ஸ் ஹாட்ஸ்பாட்டையும் உருவாக்கலாம்."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"ஹாட்ஸ்பாட்டைத் தானாக ஆஃப் செய்"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"சாதனங்கள் எதுவும் இணைக்கப்படவில்லை எனில், வைஃபை ஹாட்ஸ்பாட் ஆஃப் செய்யப்படும்"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"எந்த சாதனங்களும் இணைக்கப்படாதபோது"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"ஹாட்ஸ்பாட்டை இயக்குகிறது…"</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"ஹாட்ஸ்பாட்டை முடக்குகிறது…"</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> செயலில் உள்ளது"</string>
@@ -1112,6 +1058,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"வைஃபை ஹாட்ஸ்பாட் அமைவு"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"AndroidAP WPA2 PSK ஹாட்ஸ்பாட்"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"AndroidHotspot"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"இந்த நெட்வொர்க்கை சேமிக்க வேண்டுமா?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"உங்கள் மொபைலில் ஒரு நெட்வொர்க்கை <xliff:g id="APPNAME">%1$s</xliff:g> சேமிக்க விரும்புகிறது"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"உங்கள் டேப்லெட்டில் ஒரு நெட்வொர்க்கை சேமிக்க <xliff:g id="APPNAME">%1$s</xliff:g> விரும்புகிறது"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"சேமிக்கிறது…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"சேமித்தது"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"சேமிக்க முடியவில்லை. மீண்டும் முயலவும்."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"நெட்வொர்க்குகளைச் சேமிக்கவா?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"உங்கள் மொபைலில் இந்த நெட்வொர்க்குகளை <xliff:g id="APPNAME">%1$s</xliff:g> சேமிக்க விரும்புகிறது"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"உங்கள் டேப்லெட்டில் இந்த நெட்வொர்க்குகளை சேமிக்க <xliff:g id="APPNAME">%1$s</xliff:g> விரும்புகிறது"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"<xliff:g id="NUMBER">%d</xliff:g> நெட்வொர்க்குகள் சேமிக்கப்படுகின்றன…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"நெட்வொர்க்குகள் சேமிக்கப்பட்டன"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"வைஃபை அழைப்பு"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"வைஃபை மூலம் அழைப்புகளைத் தடையின்றிச் செய்யவும்"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"கவரேஜை அதிகரிக்க, வைஃபை அழைப்பை ஆன் செய்யவும்"</string>
@@ -1138,16 +1095,18 @@
     <string name="emergency_address_title" msgid="3490633500025717573">"அவசர முகவரி"</string>
     <string name="emergency_address_summary" msgid="3022628750270626473">"வைஃபை மூலம் அவசர அழைப்பை மேற்கொள்ளும்போது, உங்களின் அப்போதைய இருப்பிடமே உங்கள் முகவரியாகக் கருதப்படும்"</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>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"வைஃபை அழைப்பைச் செயல்படுத்தவும்"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"வைஃபை அழைப்பை ஆன் செய்க"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"%1$s இல் வைஃபை அழைப்பு ஆதரிக்கப்படாது"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"<xliff:g id="SSID">%1$s</xliff:g> இல் இருந்து துண்டிக்கப்பட்டது"</string>
     <string name="carrier" msgid="1755020806290963951">"மொபைல் நிறுவனம்"</string>
     <string name="display_settings_title" msgid="626835071804834218">"திரை அமைப்பு"</string>
     <string name="sound_settings" msgid="5514582720435174014">"ஒலி"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"ஒலியளவுகள்"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"இசை விளைவுகள்"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"ரிங் ஒலியளவு"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"ஒலி &amp; அறிவிப்பு ஒலியளவு"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"அமைதியாக இருக்கும்போது அதிர்வடை"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"இயல்புநிலை அறிவிப்பிற்கான ஒலி"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"ரிங்டோன்"</string>
@@ -1272,13 +1231,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"திட்ட அட்டவணை"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"எதுவுமில்லை"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"மாலை முதல் காலை வரை ஆன் செய்யும்"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"குறிப்பிட்ட நேரத்தில் இயக்கும்"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"நிலை"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"ஆஃப் / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"ஒருபோதும் தானாக இயக்கப்படாது"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"சூரிய அஸ்தமனத்தின் போது தானாக இயக்கப்படும்"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"<xliff:g id="ID_1">%1$s</xliff:g>க்குத் தானாக இயக்கப்படும்"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"ஆன் / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"ஒருபோதும் தானாக முடக்கப்படாது"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"சூரிய உதயத்தின் போது தானாக முடக்கப்படும்"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"<xliff:g id="ID_1">%1$s</xliff:g>க்குத் தானாக முடக்கப்படும்"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"<xliff:g id="ID_1">%1$s</xliff:g> வரை ஆனில் வைத்திரு"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"<xliff:g id="ID_1">%1$s</xliff:g> வரை ஆஃப் செய்"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"உங்கள் பேட்டரி நீண்ட காலம் நீடித்திருக்கும் பொருட்டு சில திரைகளில் கருப்பு நிறப் பின்னணியை டார்க் தீம் பயன்படுத்துகிறது. உங்கள் திரை ஆஃப் ஆகும் வரை டார்க் தீம் ஆனில் இருக்குமாறு அமைக்கப்பட்டிருக்கும்."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"திரை அணைவு நேரம்"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"திரை முடக்கப்படும்"</string>
@@ -1290,7 +1254,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"வால்பேப்பரை மாற்று"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"திரையைப் பிரத்தியேகமாக்கு"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"வால்பேப்பர் தேர்வு"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"Pixelலைப் பிரத்தியேகமாக்குதல்"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"மொபைலைப் பிரத்தியேகமாக்கல்"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"மாறுபட்ட ஸ்டைல்கள், வால்பேப்பர்கள் மற்றும் பலவற்றை முயல்க"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"ஸ்கிரீன் சேவர்"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"சார்ஜ் ஆகும் போது அல்லது சாதனத்தில் இணைந்திருக்கும்போது"</string>
@@ -1379,6 +1343,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"USB சேமிப்பிடத்தை அகற்று, கிடைக்கும் சேமிப்பிடத்தைக் காட்டு"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"SD கார்டை அகற்றவும், கிடைக்கும் சேமிப்பிடத்தைக் காட்டவும்"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (சிம் செருகுமிடம் %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"பார்ப்பதற்கு, சேமிக்கப்பட்ட நெட்வொர்க்கைத் தேர்வுசெய்யுங்கள்"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"மொபைல் எண்"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (சிம் செருகுமிடம் %1$d)"</string>
@@ -1405,6 +1370,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"ரோமிங்"</string>
     <string name="status_operator" msgid="4335640583552058491">"நெட்வொர்க்"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"வைஃபை MAC முகவரி"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"சாதன வைஃபையின் MAC முகவரி"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"புளூடூத் முகவரி"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"வரிசை எண்"</string>
     <string name="status_up_time" msgid="1274778533719495438">"இயங்கிய நேரம்"</string>
@@ -1617,6 +1583,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"இயல்புநிலை APN அமைப்புகளை மீட்டமைப்பது முடிந்தது."</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"மீட்டமைவு விருப்பங்கள்"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"நெட்வொர்க், ஆப்ஸ் அல்லது சாதனத்தை மீட்டமைக்கலாம்"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"ஆப்ஸை ரீசெட் செய்யலாம்"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"வைஃபை, மொபைல் &amp; புளூடூத்தை மீட்டமை"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"பின்வருபவை உட்பட, எல்லா நெட்வொர்க் அமைப்புகளையும் இது மீட்டமைக்கும்:\n\n"<li>"வைஃபை"</li>\n<li>"மொபைல் தரவு"</li>\n<li>"புளூடூத்"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"பதிவிறக்கிய சிம்களை அழி"</string>
@@ -1666,6 +1633,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"ஹாட்ஸ்பாட் இயக்கத்திலுள்ளது"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"இணைப்பு முறை"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"டேட்டா சேமிப்பான் இயக்கப்பட்டிருக்கும் போது, இணைக்கவோ போர்ட்டபிள் ஹாட்ஸ்பாட்டுகளைப் பயன்படுத்தவோ முடியாது"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"ஹாட்ஸ்பாட் மட்டும்"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"USB மட்டும்"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"புளூடூத் மட்டும்"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"ஹாட்ஸ்பாட், USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"ஹாட்ஸ்பாட், புளூடூத்"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB, புளூடூத்"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"ஹாட்ஸ்பாட், USB, புளூடூத்"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"பிற சாதனங்களுடன் இணையத்தைப் பகிர்வதில்லை"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"டெதெரிங்"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"வைஃபை ஹாட்ஸ்பாட்டைப் பயன்படுத்த வேண்டாம்"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"USB வழியாக மட்டும் இணையத்தைப் பகிரவும்"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"புளூடூத் வழியாக மட்டும் இணையத்தைப் பகிரவும்"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"USB மற்றும் புளூடூத் வழியாக மட்டும் இணையத்தைப் பகிரவும்"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB டெதெரிங்"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"USB மூலம் ஃபோனின் இண்டர்நெட்டைப் பகிரவும்"</string>
@@ -1756,9 +1736,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"பாதுகாப்பு தகவல்"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"டேட்டா இணைப்பு இல்லை. இந்தத் தகவலை தற்சமயம் பார்க்க, இண்டர்நெட்டில் இணைக்கப்பட்டுள்ள ஏதேனும் கணினியிலிருந்து %sக்குச் செல்லவும்."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"ஏற்றுகிறது..."</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"பின்னைப் பயன்படுத்து"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"பேட்டர்னைப் பயன்படுத்து"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"கடவுச்சொல்லைப் பயன்படுத்து"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"திரைப் பூட்டை அமைக்கவும்"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"பாதுகாப்பிற்காக, கடவுச்சொல்லை அமைக்கவும்"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"கடவுச்சொல்லை அமைக்கவும்"</string>
@@ -1767,8 +1744,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"கைரேகையைப் பயன்படுத்த, பின்னை அமைக்கவும்"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"பாதுகாப்பிற்காக, பேட்டர்னை அமைக்கவும்"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"கடவுச்சொல்லை மீண்டும் உள்ளிடவும்"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"பணிக்கான கடவுச்சொல்லை உள்ளிடுக"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"உங்கள் வடிவத்தை உறுதிப்படுத்தவும்"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"பணிக்கான பேட்டர்னை உள்ளிடுக"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"பின்னை மீண்டும் உள்ளிடவும்"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"பணிக்கான பின்னை உள்ளிடுக"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"கடவுச்சொற்கள் பொருந்தவில்லை"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"பின்கள் பொருந்தவில்லை"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"பேட்டர்னை மீண்டும் வரையவும்"</string>
@@ -1779,6 +1759,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"முகம் காட்டித் திறக்க பின்னை அமைக்கவும்"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"முகம் காட்டி திறக்க பேட்டர்னை அமைக்கவும்"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"முகம் காட்டித் திறக்க பின்னை அமைக்கவும்"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"கடவுச்சொல்லை மறந்துவிட்டீர்களா?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"பேட்டர்னை மறந்துவிட்டீர்களா?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"பின்னை மறந்துவிட்டீர்களா?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"தொடர, சாதனப் பேட்டர்னை வரையவும்"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"தொடர, சாதனப் பின்னை உள்ளிடவும்"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"தொடர, சாதனக் கடவுச்சொல்லை உள்ளிடவும்"</string>
@@ -1846,6 +1829,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"எல்லா ஆப்ஸ் ஆதாரங்களையும் அனுமதி"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"சமீபத்தில் திறந்தவை"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"<xliff:g id="COUNT">%1$d</xliff:g> ஆப்ஸையும் காட்டு"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"உங்கள் IT நிர்வாகியைத் தொடர்பு கொள்ளவும்"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"உங்கள் பின், பேட்டர்ன் அல்லது கடவுச்சொல்லை மீட்டமைக்க அவர் உதவுவார்"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"அறியப்படாத ஆப்ஸால் உங்கள் டேப்லெட்டும் தனிப்பட்ட தரவும் அதிகம் பாதிப்பிற்கு உள்ளாகும். இந்த மூலத்திலிருந்து ஆப்ஸை நிறுவுவதால், அவற்றைப் பயன்படுத்தும் போது உங்கள் டேப்லெட்டுக்கு ஏதேனும் சேதம் ஏற்பட்டாலோ அல்லது தரவை இழந்தாலோ, அதற்கு நீங்கள்தான் பொறுப்பாவீர்கள் என்பதை ஏற்கிறீர்கள்."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"அறியப்படாத பயன்பாடுககளால் உங்கள் மொபைலும் தனிப்பட்ட தரவும் அதிகம் பாதிப்பிற்கு உள்ளாகும். இந்த மூலத்திலிருந்து ஆப்ஸை நிறுவுவதால், அவற்றைப் பயன்படுத்தும் போது உங்கள் மொபைலுக்கு ஏதேனும் சேதம் ஏற்பட்டாலோ அல்லது தரவை இழந்தாலோ, அதற்கு நீங்கள்தான் பொறுப்பாவீர்கள் என்பதை ஏற்கிறீர்கள்."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"அறியப்படாத ஆப்ஸால் உங்கள் சாதனம் மற்றும் தனிப்பட்ட தரவு மிக எளிதாகப் பாதிப்புக்குள்ளாகும். இந்த மூலத்திலிருந்து ஆப்ஸை நிறுவி, பயன்படுத்தும்போது, உங்கள் சாதனத்திற்கு ஏதேனும் சேதம் ஏற்பட்டாலோ தரவை இழந்தாலோ, அதற்கு நீங்கள்தான் பொறுப்பாவீர்கள் என்பதை ஏற்கிறீர்கள்."</string>
@@ -1897,7 +1882,7 @@
     <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="1377296810290814749">"இது, பின்வருபவற்றின் எல்லா விருப்பத்தேர்வுகளையும் மீட்டமைக்கும்:\n\n"<li>"முடக்கப்பட்ட ஆப்ஸ்"</li>\n<li>"முடக்கப்பட்ட ஆப்ஸின் அறிவிப்புகள்"</li>\n<li>"செயல்பாடுகளுக்கான இயல்புநிலை ஆப்ஸ்"</li>\n<li>"ஆப்ஸ்களுக்கான பின்புல டேட்டாவின் கட்டுப்பாடுகள்"</li>\n<li>"ஏதேனும் அனுமதிக் கட்டுப்பாடுகள்"</li>\n\n"எந்த ஆப்ஸ் டேட்டாவையும் இழக்கமாட்டீர்கள்."</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>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"ஆப்ஸை மீட்டமை"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"காலி இடத்தை நிர்வகி"</string>
     <string name="filter" msgid="9039576690686251462">"வடிகட்டு"</string>
@@ -2097,7 +2082,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"ஆடியோ &amp; திரையில் காட்டப்படும் உரை"</string>
     <string name="display_category_title" msgid="6638191682294461408">"திரை அமைப்பு"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"ஊடாடல் கட்டுப்பாடுகள்"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"பதிவிறக்கிய சேவைகள்"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"பதிவிறக்கிய ஆப்ஸ்"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"பரிசோதனை முயற்சி"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"அம்சங்களை மாற்றுதல்"</string>
     <string name="talkback_title" msgid="8756080454514251327">"Talkback"</string>
@@ -2105,27 +2090,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"உங்கள் திரையில் உள்ளவற்றைச் சத்தமாகப் படித்துக் காட்ட, அவற்றைத் தட்டவும்"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"வசன விருப்பத்தேர்வுகள்"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"பெரிதாக்கல்"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"பெரிதாக்கும் பகுதி"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"பெரிதாக்கலை இயக்குதல்"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"திரையைப் பெரிதாக்கும்போது நீங்கள் பயன்படுத்த விரும்பும் பெரிதாக்கும் பகுதிகளைத் தேர்ந்தெடுக்கவும்"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"முழுத்திரை"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"திரையின் ஒரு பகுதி"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"முழுத்திரை &amp; திரையின் ஒரு பகுதி"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"முழுத்திரையைப் பெரிதாக்கும்"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"திரையின் ஒரு பகுதியைப் பெரிதாக்கும்"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"பெரிதாக்கல் அமைப்புகள்"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"மூன்றுமுறை தட்டிப் பெரிதாக்குதல்"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"ஷார்ட்கட் மூலம் பெரிதாக்குதல்"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"ஷார்ட்கட் &amp; 3 முறை தட்டுவதன் மூலம் பெரிதாக்கலாம்"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"<xliff:g id="SERVICE">%1$s</xliff:g> பற்றிய அறிமுகம்"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"விருப்பங்கள்"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"திரையில் பெரிதாக்குவதை இயக்கும்"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"அளவை மாற்ற, 3 முறை தட்டவும்"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"திரையைப் பெரிதாக்க, பட்டனைத் தட்டவும்"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><b>"பெரிதாக்க"</b>", திரையில் 3 முறை வேகமாகத் தட்டவும்.\n"<ul><li>"ஸ்க்ரோல் செய்ய, இரண்டு அல்லது அதற்கு மேற்பட்ட விரல்களால் இழுக்கவும்"</li>\n<li>"அளவை மாற்ற, இரண்டு அல்லது அதற்கு மேற்பட்ட விரல்களால் பின்ச் செய்யவும்"</li></ul>\n\n<b>"தற்காலிகமாகப் பெரிதாக்க"</b>", திரையை 3 முறை வேகமாகத் தட்டி, மூன்றாவது முறை தட்டும் போது விரலால் திரையைப் பிடித்திருக்கவும்.\n"<ul><li>"திரையில் நகர்த்த, இழுக்கவும்"</li>\n<li>"சிறிதாக்க, விரலை எடுக்கவும்"</li></ul>\n\n"விசைப்பலகையிலும் உலாவல் பட்டியிலும் பெரிதாக்க முடியாது."</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"’பெரிதாக்கல்’ அம்சம் ஆன் செய்யப்பட்டுள்ளபோது திரையைப் பெரிதாக்கிப் பார்க்கலாம்.\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_screen_magnification_summary" msgid="7617931632990040045">"உள்ளடக்கத்தை மேலும் தெளிவாகப் பார்க்க திரையை உடனடியாகப் பெரிதாக்கும்.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;பெரிதாக்குவதற்கு:&lt;/b&gt;&lt;br/&gt;	1. பெரிதாக்குவதற்கு ஷார்ட்கட்டைப் பயன்படுத்தவும்&lt;br/&gt;	2. திரையைத் தட்டவும்&lt;br/&gt;	3. திரை முழுவதும் நகர்வதற்கு 2 விரல்கள் மூலம் இழுக்கவும்&lt;br/&gt;	4. அளவை மாற்றுவதற்கு 2 விரல்கள் மூலம் பின்ச் செய்யவும்&lt;br/&gt;	5. பெரிதாக்குவதை நிறுத்த ஷார்ட்கட்டைப் பயன்படுத்தவும்&lt;br/&gt;&lt;br/&gt;&lt;b&gt;தற்காலிகமாகப் பெரிதாக்குவதற்கு:&lt;/b&gt;&lt;br/&gt;	1. பெரிதாக்குவதற்கு ஷார்ட்கட்டைப் பயன்படுத்தவும்&lt;br/&gt;	2. திரையில் எங்காவது தொட்டுப் பிடித்திருக்கவும்&lt;br/&gt;	3. திரை முழுவதும் நகர்வதற்கு விரலைப் பயன்படுத்தி இழுக்கவும்&lt;br/&gt;	4. பெரிதாக்குவதை நிறுத்த விரலைத் திரையிலிருந்து எடுக்கவும்"</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"’பெரிதாக்கல்’ அம்சம் ஆன் செய்யப்பட்டுள்ளபோது திரையைப் பெரிதாக்கிப் பார்க்கலாம்.\n\n"<b>"அதற்கு "</b>", இந்த அம்சத்தைத் தொடங்கி திரையில் எங்கு வேண்டுமானாலும் தட்டவும்.\n"<ul><li>"ஸ்க்ரோல் செய்ய இரண்டு அல்லது மேற்பட்ட விரல்களில் இழுக்கவும்"</li>\n<li>"அளவை மாற்ற இரண்டு அல்லது மேற்பட்ட விரல்களில் பின்ச் செய்யவும்"</li></ul>\n\n<b>"தற்காலிகமாகப் பெரிதாக்க"</b>", இந்த அம்சத்தைத் தொடங்கி திரையில் எங்கு வேண்டுமானாலும் தொட்டுப் பிடிக்கவும்.\n"<ul><li>"திரையில் எங்கு வேண்டுமானாலும் செல்ல இழுக்கவும்"</li>\n<li>"சிறிதாக்க விரல்களால் பின்ச் செய்து மேலே இழுக்கவும்"</li></ul>\n\n"கீபோர்டிலோ வழிசெலுத்தல் பட்டியையோ பெரிதாக்க இயலாது."</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"திறக்க அணுகல்தன்மை பட்டனைப் பயன்படுத்துதல்"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"திறக்க சைகைகளைப் பயன்படுத்துதல்"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"புதிய அணுகல்தன்மை சைகையைப் பயன்படுத்துதல்"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"இந்தச் சேவையை ஆன் அல்லது ஆஃப் செய்ய திரையின் கீழுள்ள அணுகல்தன்மை பட்டனைத்<xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>தட்டவும்.\n\nசேவைகளுக்கு இடையே மாற அணுகல்தன்மை பட்டனைத் தொட்டுப் பிடிக்கவும்."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"இதை ஆன் அல்லது ஆஃப் செய்ய இருவிரல்களால் திரையின் கீழிருந்து மேலாக ஸ்வைப் செய்யவும்.\n\nசேவைகளுக்கு இடையே மாற இரண்டு விரல்களால் மேல்நோக்கி ஸ்வைப் செய்து பிடிக்கவும்."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"இதை ஆன் அல்லது ஆஃப் செய்ய மூன்று விரல்களால் திரையின் கீழிருந்து மேலாக ஸ்வைப் செய்யவும்.\n\nசேவைகளுக்கு இடையே மாற மூன்று விரல்களால் மேல்நோக்கி ஸ்வைப் செய்து பிடிக்கவும்."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"அணுகல்தன்மை சேவையை ஆன் அல்லது ஆஃப் செய்ய இரண்டு விரல்களால் திரையின் கீழிருந்து மேலாக ஸ்வைப் செய்யவும்.\n\nசேவைகளுக்கு இடையே மாற இரண்டு விரல்களால் மேல்நோக்கி ஸ்வைப் செய்து பிடிக்கவும்."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"அணுகல்தன்மை சேவையை ஆன் அல்லது ஆஃப் செய்ய மூன்று விரல்களால் திரையின் கீழிருந்து மேலாக ஸ்வைப் செய்யவும்.\n\nசேவைகளுக்கு இடையே மாற மூன்று விரல்களால் மேல்நோக்கி ஸ்வைப் செய்து பிடிக்கவும்."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"இந்தச் சேவையை ஆன் அல்லது ஆஃப் செய்ய திரையின் கீழுள்ள அணுகல்தன்மை பட்டனைத் <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> தட்டவும்.\n\nசேவைகளுக்கு இடையே மாற அணுகல்தன்மை பட்டனைத் தொட்டுப் பிடித்திருக்கவும்."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"இதை ஆன் அல்லது ஆஃப் செய்ய இருவிரல்களால் திரையின் கீழிருந்து மேலாக ஸ்வைப் செய்யவும்.\n\nசேவைகளுக்கு இடையே மாற இரண்டு விரல்களால் மேல்நோக்கி ஸ்வைப் செய்து பிடிக்கவும்."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"இதை ஆன் அல்லது ஆஃப் செய்ய மூன்று விரல்களால் திரையின் கீழிருந்து மேலாக ஸ்வைப் செய்யவும்.\n\nசேவைகளுக்கு இடையே மாற மூன்று விரல்களால் மேல்நோக்கி ஸ்வைப் செய்து பிடிக்கவும்."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"அணுகல்தன்மை சேவையை ஆன் அல்லது ஆஃப் செய்ய இரண்டு விரல்களால் திரையின் கீழிருந்து மேலாக ஸ்வைப் செய்யவும்.\n\nசேவைகளுக்கு இடையே மாற இரண்டு விரல்களால் மேல்நோக்கி ஸ்வைப் செய்து பிடிக்கவும்."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"அணுகல்தன்மை சேவையை ஆன் அல்லது ஆஃப் செய்ய மூன்று விரல்களால் திரையின் கீழிருந்து மேலாக ஸ்வைப் செய்யவும்.\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="2820923641553461297">"அணுகல்தன்மை பட்டன்"</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>
+    <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8922102767509399352">"திரையின் கீழே இருக்கும் அணுகல்தன்மை பட்டனைத் <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> தட்டவும்"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"இரண்டு விரல்களால் திரையின் கீழிருந்து மேல் நோக்கி ஸ்வைப் செய்யவும்"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"மூன்று விரல்களால் திரையின் கீழிருந்து மேல் நோக்கி ஸ்வைப் செய்யவும்"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"ஒலியளவுக்கான விசைகளைப் பிடிக்கவும்"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"ஒலியளவு பட்டன்கள் இரண்டையும் 1 வினாடி அழுத்திப் பிடித்திருக்கவும்"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"திரையில் மூன்று முறை தட்டுதல்"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"விரைவாக திரையில் 3 முறை தட்டவும். இந்த ஷார்ட்கட் உங்கள் சாதனத்தின் வேகத்தைக் குறைக்கக்கூடும்."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"மேம்பட்டவை"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"அணுகல்தன்மை பட்டன், <xliff:g id="SERVICE">%1$s</xliff:g> என்பதற்கு அமைக்கப்பட்டுள்ளது. பெரிதாக்குதலைப் பயன்படுத்த, அணுகல்தன்மை பட்டனைத் தொட்டுப் பிடித்து, பெரிதாக்குதலைத் தேர்ந்தெடுக்கவும்."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"இந்த அணுகல்தன்மை சைகை <xliff:g id="SERVICE">%1$s</xliff:g> சேவைக்கு அமைக்கப்பட்டுள்ளது. பெரிதாக்க திரையின் கீழிருந்து மேலே இரண்டு விரல்களால் ஸ்வைப் செய்துப் பிடிக்கவும். பிறகு \'பெரிதாக்குதல்\' என்பதைத் தேர்வுசெய்யவும்."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"ஒலியளவு விசைக்கான ஷார்ட்கட்"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"ஷார்ட்கட் சேவை"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"ஷார்ட்கட் அமைப்புகள்"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"லாக் ஸ்கிரீனிலிருந்து அனுமதி"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"ஷார்ட்கட் இயக்கப்பட்டிருக்கும் போது, அணுகல்தன்மை அம்சத்தைத் தொடங்க, 3 வினாடிகளுக்கு இரண்டு ஒலியளவு விசைகளையும் அழுத்தவும்."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"உரையின் உயர் மாறுபாடு"</string>
@@ -2149,24 +2159,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"உங்களைச் செயல்படும்படி கூறும் மெசேஜ்களை எவ்வளவு நேரம் காட்டலாம் என்பதைத் தேர்வுசெய்யவும். இவை சற்று நேரத்திற்கு மட்டுமே காட்டப்படும்.\n\nஇந்த அமைப்பு அனைத்து ஆப்ஸாலும் ஆதரிக்கப்படாது."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"தொட்டுப் பிடித்தல் தாமதம்"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"வண்ணத்தின் நேர்மாறான முறை"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"செயல்திறனைப் பாதிக்கலாம்"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"இருப்பு நேரம்"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"கலர் இன்வெர்ஷனைப் பயன்படுத்து"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"கலர் இன்வெர்ஷன் லைட் ஸ்கிரீன்களை டார்க்காக மாற்றும். பிரகாசமான ஒளியைப் பார்ப்பதில் சிரமமுள்ளவர்கள் மிக எளிதாகத் திரையைப் பார்ப்பதற்கு இது உதவும்.&lt;br/&gt;&lt;br/&gt;கவனத்திற்கு: டார்க்கான வண்ணங்கள் லைட்டாக மாறும். மீடியாவிலும் படங்களிலும் வண்ணங்கள் மாறும். அமைப்புகள் &gt; காட்சி என்பதில் டார்க் தீமினையும் நீங்கள் பயன்படுத்தலாம்."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"தானியக்க கிளிக் (இருப்பு நேரம்)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"நீங்கள் மவுஸைப் பயன்படுத்துகிறீர்கள் எனில், ஒரு குறிப்பிட்ட நேரத்திற்குக் கர்சர் நகராமல் இருக்கும்போது, அது தானாகவே என்ன செய்யவேண்டுமென அமைத்துக்கொள்ளலாம்."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"கிளிக்கிற்கு முந்தைய தாமதம்"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"தானியங்கு கிளிக் வேண்டாம் (இயல்பு)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"சுருக்கமாக"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0.2 வினாடிகள்"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"நடுத்தரம்"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0.6 வினாடிகள்"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"விரிவாக"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 வினாடி"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"பிரத்தியேகம்"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"குறைவு"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"அதிகம்"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"தானாகக் கிளிக் செய்யும் நேரம்"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"அதிர்வு &amp; ஹாப்டிக் வலிமை"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"அறிவிப்பு அதிர்வுகள்"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"ரிங் அதிர்வுகள்"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"தொட்டு கருத்து தெரிவித்தல்"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"சேவையைப் பயன்படுத்து"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>ஐப் பயன்படுத்து"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g> ஆப்ஸைத் திற"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"வண்ணத் திருத்தத்தைப் பயன்படுத்து"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"தலைப்புகளைப் பயன்படுத்து"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"தலைப்புகளைக் காண்பி"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"தலைப்புத் தோற்றம்"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"உரை அளவு, தலைப்பு ஸ்டைல்"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"மேலும் விருப்பங்கள்"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"இந்த அமைப்பு அனைத்து ஆப்ஸிலும் ஆதரிக்கப்படுவதில்லை."</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"அணுகல்தன்மை பட்டன்"</string>
+    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"கீழிருந்து 2 விரல்கள் மூலம் மேல்நோக்கி ஸ்வைப் செய்யவும்"</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>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"செவித்துணைக் கருவிகள்"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"இணைக்கப்பட்ட செவித்துணைக் கருவிகள் இல்லை"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"செவித்துணை கருவிகளைச் சேர்க்கவும்"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"செவித்துணைக் கருவிகளை இணைக்க, அடுத்துவரும் திரையில் காட்டப்படும் உங்கள் சாதனத்தைக் கண்டறிந்து, தட்டவும்."</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"உங்கள் செவித்துணைக் கருவிகள், இணைத்தல் பயன்முறையில் உள்ளதை உறுதிப்படுத்திக்கொள்ளவும்."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"செவித்துணைக் கருவிகளை இணைக்க அடுத்துவரும் திரையில் காட்டப்படும் உங்கள் சாதனத்தைக் கண்டறிந்து தட்டவும். உங்கள் செவித்துணைக் கருவிகள் \'இணைத்தல் பயன்முறையில்\' உள்ளதை உறுதிப்படுத்திக்கொள்ளவும்."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> செயல்பாட்டில் உள்ளது"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="other">சேமித்த செவித்துணைக் கருவிகள்: <xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g></item>
@@ -2178,25 +2206,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"இந்தச் சேவை சரியாகச் செயல்படவில்லை."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"விரைவு அமைப்புகளில் காட்டு"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"சரிப்படுத்தும் முறை"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="other">மிகவும் குறுகிய தாமதம் (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> மிவி)</item>
-      <item quantity="one">மிகவும் குறுகிய தாமதம் (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> மிவி)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"சிவப்பு-பச்சை"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"பச்சை-சிவப்பு"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"நீலம்-மஞ்சள்"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"டியூட்டரானோமலி"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"பிரோடனோமலி"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"ட்ரைடானோமலி"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="other">மிகவும் குறைவான தாமதம் (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> வினாடிகள்)</item>
+      <item quantity="one">மிகவும் குறைவான தாமதம் (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> வினாடி)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="other">மிக குறுகிய தாமதம் (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> மிவி)</item>
-      <item quantity="one">மிக குறுகிய தாமதம் (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> மிவி)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="other">மிகக் குறைந்த தாமதம் (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> வினாடிகள்)</item>
+      <item quantity="one">மிகக் குறைந்த தாமதம் (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> வினாடி)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="other">குறுகிய தாமதம் (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> மிவி)</item>
-      <item quantity="one">குறுகிய தாமதம் (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> மிவி)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="other">குறைந்த தாமதம் (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> வினாடிகள்)</item>
+      <item quantity="one">குறைந்த தாமதம் (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> வினாடி)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="other">அதிக தாமதம் (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> மிவி)</item>
-      <item quantity="one">அதிக தாமதம் (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> மிவி)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="other">நீண்ட தாமதம் (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> வினாடிகள்)</item>
+      <item quantity="one">நீண்ட தாமதம் (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> வினாடி)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="other">மிக அதிக தாமதம் (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> மிவி)</item>
-      <item quantity="one">மிக அதிக தாமதம் (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> மிவி)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="other">மிக நீண்ட தாமதம் (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> வினாடிகள்)</item>
+      <item quantity="one">மிக நீண்ட தாமதம் (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> வினாடி)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> வினாடிகள்</item>
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> வினாடி</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"ரிங்: <xliff:g id="SUMMARY_RING">%1$s</xliff:g>, அறிவிப்பு: <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>, தொடுதல்: <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"ஒலி &amp; அறிவிப்பு அதிர்வு ஆஃப் செய்யப்பட்டது"</string>
@@ -2513,7 +2551,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"<xliff:g id="UNPLUGGED">%1$s</xliff:g> க்குக் கடைசியாக பிளகை அகற்றியபோது"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"பயன்பாட்டின் மொத்தம்"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"புதுப்பி"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"Android OS"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"மீடியாசர்வர்"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"பயன்பாட்டிற்கான மேம்படுத்தல்"</string>
     <string name="battery_saver" msgid="7737147344510595864">"பேட்டரி சேமிப்பான்"</string>
@@ -2594,8 +2631,7 @@
     <string name="tts_play" msgid="2945513377250757221">"இயக்கு"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"அனுமதிச் சான்று சேமிப்பிடம்"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"சேமிப்பிடத்திலிருந்து நிறுவு"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"SD கார்டிலிருந்து நிறுவு"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"சான்றிதழை நிறுவுதல்"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"சேமிப்பிடத்திலிருந்து சான்றிதழ்களை நிறுவு"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"SD கார்டிலிருந்து சான்றிதழ்களை நிறுவு"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"அனுமதிச் சான்றுகளை அழி"</string>
@@ -2615,6 +2651,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"நற்சான்றிதழ் சேமிப்பிடம் அழிக்கப்பட்டது."</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"நற்சான்று சேமிப்பிடத்தை அழிக்க முடியாது."</string>
     <string name="usage_access_title" msgid="1580006124578134850">"உபயோக அணுகலுடைய ஆப்ஸ்"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"CA சான்றிதழ்"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"VPN &amp; ஆப்ஸ் பயனர் சான்றிதழ்"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"வைஃபை சான்றிதழ்"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"உங்கள் தனியுரிமை ஆபத்தில் உள்ளது"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"வலைதளங்கள், ஆப்ஸ் ஆகியவற்றாலும் என்க்ரிப்ஷன் செய்வதற்காக VPNகளாலும் CA சான்றிதழ்கள் பயன்படுத்தப்படுகின்றன. நீங்கள் நம்பும் நிறுவனங்களால் வழங்கப்படும் CA சான்றிதழ்களை மட்டும் நிறுவவும். \n\nCA சான்றிதழை நிறுவினால் நீங்கள் பார்க்கும் வலைதளங்களில் இருந்தோ பயன்படுத்தும் ஆப்ஸில் இருந்தோ உங்கள் கடவுச்சொற்கள், மெசேஜ்கள் அல்லது கிரெடிட் கார்டு விவரங்கள் போன்ற தகவல்களை அவை என்க்ரிப்ஷன் செய்யப்பட்டிருந்தாலும்கூட, சான்றிதழ் உரிமையாளரால் அணுக முடியும்."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"நிறுவ வேண்டாம்"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"பரவாயில்லை, நிறுவு"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"சான்றிதழ் நிறுவப்படவில்லை"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"அவசரகால டயலிங் சிக்னல்"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"அவசர அழைப்பு இயக்கப்பட்டிருக்கும்போது நடத்தையை அமை"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"காப்புப்பிரதி"</string>
@@ -2642,10 +2686,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"செயலற்றதாக்கி, நிறுவல் நீக்கு"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"சாதனநிர்வாகி ஆப்ஸ்"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"சாதன நிர்வாகிப் ஆப்ஸ் எதுவுமில்லை"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"தனிப்பட்டவை"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"பணியிடம்"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"மெசேஜ், அழைப்புப் பதிவு அணுகலைக் கட்டுப்படுத்துதல்"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"இயல்புநிலை மொபைலாலும் மெசேஜிங் ஆப்ஸாலும் மட்டுமே மெசேஜையும் \'அழைப்புப் பதிவையும்\' அணுக இயலும்"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"நம்பகமான ஏஜென்ட்கள் இல்லை"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"இந்த ஆப்ஸை செயல்படுத்தவா?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"இந்தச் சாதன நிர்வாகி ஆப்ஸைச் செயல்படுத்து"</string>
@@ -2659,6 +2699,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"உங்கள் நிர்வாகி பிற விருப்பங்களை முடக்கியுள்ளார்"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"மேலும் விவரங்கள்"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"அறிவிப்பு பதிவு"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"அறிவிப்பு வரலாறு"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"இன்று"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"ஒத்திவைக்கப்பட்டவை"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"சமீபத்தில் நிராகரிக்கப்பட்டது"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> அறிவிப்புகள்</item>
+      <item quantity="one"><xliff:g id="NUMBER_0">%d</xliff:g> அறிவிப்பு</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"அழைப்பின் ரிங்டோன் &amp; அதிர்வு"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"நெட்வொர்க் விவரங்கள்"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"ஒத்திசைவு இயக்கப்பட்டது"</string>
@@ -3008,7 +3056,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"கட்டுப்பாடுகள்"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"வரையறைகளை அகற்று"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"பின்னை மாற்று"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"அறிவிப்புகளைக் காட்டு"</string>
     <string name="help_label" msgid="2896538416436125883">"உதவி &amp; கருத்து"</string>
     <string name="support_summary" msgid="1034146931237148885">"உதவிக் கட்டுரைகள், மொபைல் &amp; அரட்டை, தொடங்குதல்"</string>
     <string name="user_account_title" msgid="6389636876210834864">"உள்ளடக்கத்திற்கான கணக்கு"</string>
@@ -3033,6 +3080,14 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G அழைப்பு"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"குரலையும் வேறு தகவல்தொடர்புகளையும் மேம்படுத்த LTE சேவைகளைப் பயன்படுத்தவும் (பரிந்துரைக்கப்பட்டது)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"குரலையும் வேறு தகவல்தொடர்புகளையும் மேம்படுத்த 4G சேவைகளைப் பயன்படுத்தவும் (பரிந்துரைக்கப்பட்டது)"</string>
+    <!-- no translation found for contact_discovery_opt_in_title (4076990635900099116) -->
+    <skip />
+    <!-- no translation found for contact_discovery_opt_in_summary (4104310593310967300) -->
+    <skip />
+    <!-- no translation found for contact_discovery_opt_in_dialog_title (6278407286820554079) -->
+    <skip />
+    <!-- no translation found for contact_discovery_opt_in_dialog_message (5787751513924920435) -->
+    <skip />
     <string name="preferred_network_type_title" msgid="812509938714590857">"விரும்பும் நெட்வொர்க் வகை"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (பரிந்துரைக்கப்பட்டது)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS மெசேஜ்கள்"</string>
@@ -3077,7 +3132,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"இந்த SIM வழியாக அழை"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"சிம் கார்டைத் தேர்வுசெய்யவும்"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"சிம் <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"சிம் இல்லை"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"சிம் பெயர்"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"சிம் பெயரை உள்ளிடுக"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"SIM ஸ்லாட் %1$d"</string>
@@ -3087,6 +3141,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"சிம் கார்டைத் தேர்ந்தெடுக்கவும்"</string>
     <string name="color_orange" msgid="216547825489739010">"இளஞ்சிவப்பு"</string>
     <string name="color_purple" msgid="6603701972079904843">"ஊதா"</string>
+    <string name="color_pink" msgid="8596872110888626708">"பிங்க்"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"சிம் கார்டுகள் செருகப்படவில்லை"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"சிம் நிலை"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"சிம் நிலை (சிம் செருகுமிடம் %1$d)"</string>
@@ -3100,7 +3155,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"சிம் கார்டுகள் மாற்றப்பட்டன."</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"அமைக்க, தட்டவும்"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"இதற்குப் பயன்படுத்த வேண்டிய SIM"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"ஒவ்வொரு முறையும் கேள்"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"தேர்வு தேவை"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"சிம் தேர்வு"</string>
@@ -3118,6 +3172,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"புளூடூத், வாகனம் ஓட்டும் பயன்முறை"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"புளூடூத், NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"புளூடூத்"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"NFC ஆஃப் செய்யப்பட்டிருப்பதால் பயன்படுத்த முடியாது"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"ஆப்ஸ் &amp; அறிவிப்பு"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"சமீபத்திய ஆப்ஸ், இயல்பான ஆப்ஸ்"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"பணிக் கணக்கில், ஆப்ஸுற்கான அறிவிப்பு அணுகல் இல்லை."</string>
@@ -3128,13 +3183,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"அமைப்பு"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"வைஃபை, வை-ஃபை, நெட்வொர்க் இணைப்பு, இணையம், வயர்லெஸ், டேட்டா, வை ஃபை"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"வைஃபை அறிவிப்பு, கடவுச்சொல் கேட்காத வைஃபை அறிவிப்பு"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"டேட்டா உபயோகம்"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"அதிர்வை நிறுத்து, தட்டு, கீபோர்ட்"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"24 மணிநேர வடிவத்தைப் பயன்படுத்து"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"பதிவிறக்கு"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"இதன்மூலம் திற"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"ஆப்ஸ்"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"நேர மண்டலம்"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"சாட்-ஹெட்"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"சாட் ஹெட், அமைப்பு, விழிப்பூட்டல், சாளரம், உரையாடல், காட்சிப்படுத்தல், பிற ஆப்ஸ் மேல், வரை"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"ஃபிளாஷ்லைட், லைட், டார்ச்"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"வைஃபை, வை-ஃபை, நிலைமாற்றி, கட்டுப்பாடு"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"செல்லுலார், மொபைல், செல் கேரியர், வயர்லெஸ், தரவு, 4g,3g, 2g, lte"</string>
@@ -3158,7 +3214,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"வேண்டாம், தொந்தரவு செய்யாதே, குறுக்கீடு, குறுக்கிடல், இடைநிறுத்தம்"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"அக்கம்பக்கம், இருப்பிடம், வரலாறு, அறிக்கையிடல், GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"கணக்கு"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"account, add an account, work profile, add account கணக்கு, கணக்கொன்றைச் சேர்த்தல், பணிக் கணக்கு, கணக்கைச் சேர்த்தல்"</string>
     <string name="keywords_users" msgid="3497517660077620843">"வரம்பிடல், வரம்பு, வரம்பிட்டது"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"உரை திருத்தம், சரிசெய், ஒலி, அதிர்வு, தானியங்கு, மொழி, சைகை, பரிந்துரை, பரிந்துரைப்பு, தீம், வன்மொழி, சொல், வகை, ஈமோஜி, சர்வதேசம்"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"மீட்டமை, விருப்பத்தேர்வுகள், இயல்பு"</string>
@@ -3196,6 +3252,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"நினைவகம், தற்காலிக நினைவகம், தரவு, நீக்கு, அழி, காலியாக்கு, நினைவக இடம்"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"இணைக்கப்பட்டது, சாதனம், ஹெட்ஃபோன்கள், ஹெட்செட், ஸ்பீக்கர், வயர்லெஸ், இணை, சிறிய ஹெட்ஃபோன்கள், இசை, மீடியா"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"பின்னணி, திரை, பூட்டுத்திரை, தீம்"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"ஐகான் வடிவம், ஆக்செண்ட் வண்ணம், எழுத்துரு"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"இயல்பு, அசிஸ்டண்ட்"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"பேமெண்ட், இயல்பு"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"உள்வரும் அறிவிப்பு"</string>
@@ -3205,18 +3262,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"தொட்டு கருத்துத் தெரிவித்தல், அதிர்வு, உணர்திறன்"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"பேட்டரி சேமிப்பான், ஸ்டிக்கி, பெர்சிஸ்ட், மின்சக்தி சேமிப்பான், பேட்டரி"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"வழக்கமான செயல்பாடு, கால அட்டவணை, பேட்டரி சேமிப்பான், மின்சக்தி சேமிப்பான், பேட்டரி, தானியங்கு, சதவீதம்"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"பணிக் கணக்கு"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"volte, மேம்பட்ட அழைப்பு, 4g அழைப்பு"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"மொழியைச் சேர்க்கவும், ஒரு மொழியைச் சேர்க்கவும்"</string>
     <string name="default_sound" msgid="6604374495015245195">"இயல்பு ஒலி"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"ரிங் ஒலியளவு: <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"ஒலி &amp; அறிவிப்பு ஒலியளவு: <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"ஒலியளவு, அதிர்வு, தொந்தரவு செய்யாதே"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"ரிங்கர் \"அதிர்வு நிலைக்கு\" அமைக்கப்பட்டது"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"ரிங்கர் \"நிசப்த நிலைக்கு\" அமைக்கப்பட்டது"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"ரிங் ஒலியளவு: 80%"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"ஒலி &amp; அறிவிப்பு ஒலியளவு: 80%"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"மீடியா ஒலியளவு"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"அலைபரப்புவதற்கான ஒலியளவு"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"அழைப்பின் ஒலியளவு"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"அலார ஒலியளவு"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"அழைப்பு - ஒலியளவு"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"ஒலி &amp; அறிவிப்பு ஒலியளவு"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"அறிவிப்பின் ஒலியளவு"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"மொபைலின் ரிங்டோன்"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"இயல்பு அறிவிப்பு ஒலி"</string>
@@ -3224,6 +3282,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"இயல்பு அறிவிப்பு ஒலி"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"இயல்பு அலார ஒலி"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"அழைப்புகளுக்கு அதிர்வு"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"அதிர வேண்டாம்"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"எப்போதும் அதிர்வுறு"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"முதலில் அதிர்ந்து படிப்படியாக ஒலிக்கும்"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"பிற ஒலிகள்"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"டயல்பேடு டோன்கள்"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"திரையைப் பூட்டும் போது"</string>
@@ -3247,6 +3308,7 @@
       <item quantity="one">1 இயக்கப்பட்டுள்ளது</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"தொந்தரவு செய்யாதே"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"முக்கியமான நபர்கள் மற்றும் ஆப்ஸிலிருந்து மட்டும் அறிவிப்புகளைப் பெறு"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"குறுக்கீடுகளைக் குறைத்தல்"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"தொந்தரவு செய்ய வேண்டாம் என்பதை ஆன் செய்யும்"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"விதிவிலக்குகள்"</string>
@@ -3273,7 +3335,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"விஷுவல் குறுக்கீடுகளைத் தடு"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"விஷுவல் சிக்னல்களை அனுமதி"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"’தொந்தரவு செய்ய வேண்டாம்’ ஆனில் இருக்கும்போது"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"ஒலியுடன் உள்ள குறுக்கீடுகளை அனுமதி"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"அறிவிப்புகளைக் கட்டுப்படுத்துதல்"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"அறிவிப்புகள் வரும்போது ஒலியெழுப்ப வேண்டாம்"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"உங்கள் திரையில் அறிவிப்புகளைக் காண்பீர்கள்"</string>
@@ -3304,7 +3366,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"ஒலி மற்றும் அதிர்வு"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"ஒலி, அதிர்வு மற்றும் அறிவிப்புகளின் சில காட்சித் தோற்றங்கள்"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"ஒலி, அதிர்வு மற்றும் அறிவிப்புகளின் காட்சித் தோற்றங்கள்"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"அடிப்படை மொபைல் செயல்பாடு மற்றும் நிலைக்குத் தேவைப்படும் அறிவிப்புகள் இனி ஒருபோதும் மறைக்கப்படாது"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"அடிப்படை மொபைல் செயல்பாடு மற்றும் நிலைக்குத் தேவைப்படும் அறிவிப்புகள் இனி ஒருபோதும் மறைக்கப்படாது."</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"ஏதுமில்லை"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"பிற விருப்பங்கள்"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"சேர்"</string>
@@ -3334,10 +3396,12 @@
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> கால அட்டவணைகள் தானாகவே ஆன் செய்யப்படலாம்</item>
       <item quantity="one">1 கால அட்டவணை தானாகவே ஆன் செய்யப்படலாம்</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"சாதனத்தை ஒலியடக்கு ஆனால் விதிவிலக்குகளை அனுமதி"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"விதிவிலக்குகள்"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"திட்டமிடல்"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"அனைத்து விதிவிலக்குகளையும் காட்டு"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"’தொந்தரவு செய்ய வேண்டாம்’ ஆனில் இருக்கும்போது உள்ள விதிவிலக்குகள்"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"நபர்கள்"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"ஆப்ஸ்"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"விழிப்பூட்டல்கள் &amp; பிற குறுக்கீடுகள்"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"திட்ட அட்டவணைகள்"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"ஒலியடக்கப்பட்ட அறிவிப்புகள்"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"\'தொந்தரவு செய்ய வேண்டாம்\' ஆன் செய்யப்பட்டிருக்கும்போது, நீங்கள் மேலே அனுமதித்துள்ளவற்றைத் தவிர, மற்றவற்றுக்கு ஒலியும் அதிர்வும் முடக்கப்படும்"</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"இவற்றைத் தவிர அனைத்தையும் ஒலியடக்கு"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"ஒலியடக்கப்பட்டது"</string>
@@ -3381,16 +3445,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"சூழலுக்கேற்ற அறிவிப்புகள்"</string>
     <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_capabilities_actions_replies_title" msgid="4392470465646394289">"பரிந்துரைக்கப்படும் செயல்களும் பதில்களும்"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"பரிந்துரைக்கப்படும் செயல்கள் &amp; பதில்களைத் தானாகவே காட்டு"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"முந்தைய அறிவிப்புகளையும் ஒத்திவைத்த அறிவிப்புகளையும் கண்காணிக்க அறிவிப்பு வரலாற்றை ஆன் செய்யவும்"</string>
+    <string name="notification_history" msgid="8663811361243456201">"அறிவிப்பு வரலாறு"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"வரலாற்றை ஆன் செய்"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"வரலாற்றை ஆஃப் செய்"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"அறிவிப்பு வரலாறு ஆஃப் செய்யப்பட்டுள்ளது"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"அறிவிப்பு அமைப்புகளைக் காட்டு"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"அறிவிப்புகளை ஸ்னூஸ் செய்ய அனுமதி"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"ஜென்டில் அறிவிப்புகளைச் சேர்ந்த ஐகான்களை மறை"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"ஜென்டில் அறிவிப்புகளைச் சேர்ந்த ஐகான்கள் நிலைப்பட்டியில் காட்டப்படாது"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"அறிவிப்புப் புள்ளிகளைக் காட்டு"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"சமீபத்திய உரையாடல்களின் ஸ்டிரிப்பைக் காட்டு"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"குமிழ்கள்"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"சில அறிவிப்புகள் குமிழ்களாக திரையில் தோன்றும்"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"சில அறிவிப்புகளும் வேறு உள்ளடக்கமும் திரையில் குமிழ்களாகக் காட்டப்படலாம். ஒரு குமிழைத் திறக்க அதைத் தட்டவும். நிராகரிக்க அதைத் திரைக்குக் கீழே இழுக்கவும்."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"குமிழ்கள்"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"புதிய மெசேஜ்கள் திரையில் தோன்றும்"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"சில அறிவிப்புகளைக் குமிழ்களாகக் காட்ட<xliff:g id="APP_NAME">%1$s</xliff:g> ஆப்ஸை அனுமதிக்கவும்"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"குமிழ்களை ஆன் செய்தல்"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"இந்த ஆப்ஸிற்கு குமிழ்களை ஆன் செய்ய உங்கள் சாதனத்தில் இதை முதலில் ஆன் செய்ய வேண்டும். இதற்கு முன்பு குமிழ்களை ஆன் செய்த மற்ற ஆப்ஸையும் இது பாதிக்கிறது."</string>
@@ -3408,6 +3482,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"கீழ் இழுக்கும் ஷேட் &amp; பூட்டுத் திரையில் காட்டப்படும்"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"கீழ் இழுக்கும் ஷேட் &amp; நிலைப் பட்டியில் காட்டப்படும்"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"கீழ் இழுக்கும் ஷேட், நிலைப்பட்டி &amp; பூட்டுத் திரையில் காட்டப்படும்"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"நிலைப் பட்டியில் ஒலியில்லாத அறிவிப்புகளை மறை"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"ஒளியைச் சிமிட்டு"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"பூட்டுத் திரை"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"பூட்டுத் திரையைத் தவிர்த்தல்"</string>
@@ -3438,6 +3513,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"செயல்பாடு"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"ஒலியை அனுமதிக்கவும்"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"அறிவிப்புகளை ஒருபோதும் காட்டாது"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"உரையாடல்கள்"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"உரையாடல்"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"உரையாடல் அல்ல"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"உரையாடல் பிரிவிலிருந்து அகற்றும்"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"இது ஓர் உரையாடல்"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"உரையாடல் பிரிவில் சேர்க்கும்"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"உரையாடல்களை நிர்வகி"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"முக்கிய உரையாடல்கள்"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"அனைத்து உரையாடல்களும்"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"முக்கிய உரையாடல்களின் குமிழ்"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"அறிவிப்பு விபரத்தின் மேல் பகுதியில் முக்கிய உரையாடல்களைக் காட்டும். அவற்றைக் குமிழாகவும் ‘தொந்தரவு செய்ய வேண்டாம்’ என்ற குறுக்கீடாகவும் அமைக்கலாம்."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"ஒலியெழுப்பாமல் காண்பித்து, பிறகு சிறிதாக்கு"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"ஒலிக்காமல் காட்டும்"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"ஒலியெழுப்பும்"</string>
@@ -3456,7 +3542,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"ஒலியோ அதிர்வோ இல்லாமல் முழு கவனம் செலுத்த உதவும்"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"ஒலியோ அதிர்வோ ஏற்படுத்தி உங்கள் கவனத்தை ஈர்க்கும்"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"மொபைல் அன்லாக் செய்யப்பட்ட நிலையிலிருக்கும்போது அறிவிப்புகளைத் திரையின் மேல் பகுதியில் பேனராகக் காட்டும்"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"அறிவிப்புகளைக் காட்டு"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"அனைத்து <xliff:g id="APP_NAME">%1$s</xliff:g> அறிவிப்புகளும்"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"சூழலுக்கேற்ற அறிவிப்புகள்"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="other">~<xliff:g id="NUMBER_1">%d</xliff:g> அறிவிப்புகள் / நாள்</item>
@@ -3477,6 +3563,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"சூழலுக்கேற்ற அறிவிப்புகள்"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"ஏதுமில்லை"</string>
     <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="3119843404577399036">"தொடர்புகளின் பெயர்கள் மற்றும் உங்களுக்கான மெசேஜ்களில் இருக்கும் உரைகள் போன்ற தனிப்பட்ட தகவல்கள் அடங்கிய அனைத்து அறிவிப்புகளையும் <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>
@@ -3538,8 +3625,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"முடிந்தது"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"முக்கியத்துவம்"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"ஒளியைச் சிமிட்டு"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"அதிர்வுறு"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"அதிர்வு"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"ஒலி"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"முக்கியமானவை"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"முகப்புத் திரையில் சேர்க்கவும்"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"நீக்கு"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"மறுபெயரிடு"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"கால அட்டவணையின் பெயர்"</string>
@@ -3593,6 +3682,10 @@
       <item quantity="other"><xliff:g id="NUM_PEOPLE">%d</xliff:g> பேர்</item>
       <item quantity="one">ஒருவர்</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"உரையாடல்கள்"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"அனைத்து உரையாடல்களிலிருந்தும்"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"முக்கியமான உரையாடல்களிலிருந்து"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"எந்த உரையாடல்களையும் அனுமதிக்காதே"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"மெசேஜ்களை அனுமதி"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"அனுமதிக்கப்படும் செய்திகள் ஒலி எழுப்புமா என்பதை உறுதிப்படுத்த, உங்கள் சாதனம் ஒலி எழுப்பும்படி, அதிர்வுறும்படி அல்லது நிசப்தத்தில் உள்ளதா என்பதைச் சரிபார்க்கவும்."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"‘<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>’ என்பதற்கு உள்வரும் மெசேஜ்கள் தடுக்கப்பட்டுள்ளன. உங்களைத் தொடர்புகொள்ள நண்பர்களையோ குடும்பத்தினரையோ வேறு தொடர்புகளையோ அனுமதிக்குமாறு அமைப்புகளை மாற்றிக்கொள்ளலாம்."</string>
@@ -3606,15 +3699,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"ஏதுமில்லை"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"அழைப்புகள் எதையும் அனுமதிக்காதே"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"மெசேஜ்களை அனுமதிக்காதே"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"அலாரங்களை அனுமதி"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"அலாரங்கள்"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"டைமர்கள், அலாரங்கள், பாதுகாப்பு அமைப்புகள் மற்றும் பிற ஆப்லிருந்து வருபவை"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"அலாரங்கள்"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"மீடியா ஒலிகளை இயக்கு"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"மீடியா ஒலிகள்"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"வீடியோக்கள், கேம்கள் மற்றும் பிற மீடியாவிலிருந்து வருபவை"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"மீடியா"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"தொடுதல் ஒலிகளை அனுமதி"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"தொடுதலின்போது"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"உங்கள் விசைப்பலகை மற்றும் பிற பட்டன்களிலிருந்து வருபவை"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"தொடுதல் ஒலிகள்"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"நினைவூட்டல்களை அனுமதி"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"நினைவூட்டல்கள்"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"பணிகள் மற்றும் நினைவூட்டகளிலிருந்து வருபவை"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"நினைவூட்டல்கள்"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"நிகழ்வுகளை அனுமதி"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"நிகழ்வுகள்"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"வரவிருக்கும் கேலேண்டர்கள் நிகழ்வுகளிலிருந்து வருபவை"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"ஆப்ஸை மீறிச் செயல்பட அனுமதிக்கின்றன"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"ஆப்ஸ் விதிவிலக்குகள்"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3657,6 +3755,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"’தொந்தரவு செய்ய வேண்டாம்’ அம்சத்தின் மூலம் ஒலியடக்கப்பட்ட அறிவிப்புகள் வரும்போது, திரையை ஆன் செய்யட்டும்."</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"அறிவிப்பு அமைப்பு"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"சரி"</string>
+    <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>
@@ -3667,6 +3766,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"அகற்றும் முன் பின்னைக் கேள்"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"அகற்றும் முன் கடவுச்சொல்லைக் கேள்"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"திரையை விலக்கும்போது சாதனத்தைப் பூட்டு"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"சிம் நீக்கத்தை உறுதிப்படுத்தவும்"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"பதிவிறக்கப்பட்ட சிம்மை அழிக்கும் முன்பு இது நீங்கள்தான் என்பதை சரிபார்க்கவும்"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"இந்தப் பணிக் கணக்கை நிர்வகிப்பது:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"நிர்வகிப்பது: <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(பரிசோதனை முயற்சி)"</string>
@@ -3741,8 +3842,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"எல்லா பயன்பாடுகளும்"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"நிறுவிய ஆப்ஸ்"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"இன்ஸ்டண்ட் ஆப்ஸ்"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"தனிப்பட்டவை"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"பணியிடம்"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"ஆப்ஸ்: எல்லாம்"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"ஆஃப் செய்யப்பட்டவை"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"வகைகள்: அதிக முக்கியத்துவம்"</string>
@@ -3754,6 +3853,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"அறியப்படாத ஆப்ஸ்"</string>
     <string name="app_permissions" msgid="8666537659217653626">"அனுமதி நிர்வாகம்"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"<xliff:g id="APPS">%1$s</xliff:g> பயன்படுத்தும் ஆப்ஸ்"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"<xliff:g id="APPS">%1$s</xliff:g> &amp; மேலும் பலவற்றை ஆப்ஸ் பயன்படுத்துகிறது"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"இயக்க, தட்டவும்"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"சாதனத்தை இயக்க, திரையின் எந்த இடத்திலும் இருமுறை தட்டவும்"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"இணைப்புகளைத் திறக்க"</string>
@@ -3765,9 +3865,14 @@
       <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> ஆப்ஸ்கள், ஆதரிக்கப்படும் இணைப்புகளைத் திறக்கும்</item>
       <item quantity="one">ஒரு ஆப்ஸ், ஆதரிக்கப்படும் இணைப்புகளைத் திறக்கும்</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"இந்தப் பயன்பாட்டில் திற"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"ஆதரிக்கப்பட்ட இணைப்புகளைத் திறப்பதற்கு ஆப்ஸை அனுமதியுங்கள்"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"ஒவ்வொரு முறையும் கேள்"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"இந்தப் பயன்பாட்டில் திறக்காதே"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"இணைப்புகளைத் திறப்பதற்கான அனுமதியை ஆப்ஸுக்கு வழங்க வேண்டாம்"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="other">ஆப்ஸ் <xliff:g id="COUNT_1">%d</xliff:g> இணைப்புகளைக் கையாள்வதாகத் தெரிவிக்கிறது</item>
+      <item quantity="one">ஆப்ஸ் <xliff:g id="COUNT_0">%d</xliff:g> இணைப்பையும் கையாள்கிறது என்று தெரிவிக்கிறது</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"பின்வரும் இணைப்புகளைக் கையாள்வதாக ஆப்ஸ் தெரிவிக்கிறது:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"இயல்பு"</string>
     <string name="default_for_work" msgid="537558180548617528">"பணிக்கான இயல்பு அமைப்புகள்"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"அசிஸ்ட் &amp; குரல் உள்ளீடு"</string>
@@ -3911,8 +4016,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"பிற ஆப்ஸின் மேலே காட்டு"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"பிற ஆப்ஸின் மேலே காட்டுவதை அனுமதி"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"நீங்கள் பயன்படுத்தும் பிற ஆப்ஸின் மேலே உள்ளடக்கத்தைக் காட்ட, இந்த ஆப்ஸை அனுமதிக்கும். மேலும், அவற்றை நீங்கள் பயன்படுத்தும் போது இது குறுக்கிடக்கூடும் அல்லது அவை தோன்றும் விதத்தையோ, செயல்படும் விதத்தையோ மாற்றக்கூடும்."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"ஃபைல்கள் அனைத்திற்குமான அணுகல்"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"ஃபைல்கள் அனைத்தையும் நிர்வகிப்பதற்கு அனுமதி"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"இந்த சாதனத்திலோ இணைக்கப்பட்டுள்ள சேமிப்பகங்களிலோ உள்ள ஃபைல்கள் அனைத்தையும் படிக்கவும் நீக்கவும் அவற்றில் மாற்றங்களைச் செய்யவும் இந்த ஆப்ஸை அனுமதிக்கும். அனுமதி வழங்கப்படும் பட்சத்தில் உங்களுக்குத் தெரியாமலேயே ஃபைல்களை ஆப்ஸ் அணுகக்கூடும்."</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"அனைத்து ஃபைல்களையும் அணுகமுடிந்த ஆப்ஸ்"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"vr விர்ச்சுவல் ரியாலிட்டி லிஷனர் ஸ்டீரியோ உதவிச் சேவை"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"சாதனம் விழிப்பூட்டல் சாளரம் உரையாடல் காட்டு பிற ஆப்ஸின் மேல்"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"பிற ஆப்ஸின் மேலே காட்டு"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"பிற ஆப்ஸின் மேலே காட்டுவதற்கு <xliff:g id="COUNT_1">%2$d</xliff:g> இல் <xliff:g id="COUNT_0">%1$d</xliff:g> ஆப்ஸ் அனுமதிக்கப்பட்டுள்ளன"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"அனுமதி பெற்ற ஆப்ஸ்"</string>
@@ -4078,6 +4186,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"<xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g> பயன்படுத்தப்பட்டது"</string>
     <string name="data_overusage" msgid="3680477320458707259">"<xliff:g id="ID_1">^1</xliff:g>க்கு மேல்"</string>
     <string name="data_remaining" msgid="6316251496381922837">"<xliff:g id="ID_1">^1</xliff:g> பயன்படுத்தாமல் உள்ளது"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"<xliff:g id="START_DATE">%1$s</xliff:g> முதல் <xliff:g id="END_DATE">%2$s</xliff:g> வரையிலான டேட்டா உபயோகத்தைக் காட்டும் வரைபடம்."</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"இந்தத் தேதி வரம்பில் எந்தத் தரவும் இல்லை"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="other">%d நாட்கள் உள்ளன</item>
       <item quantity="one">%d நாள் உள்ளது</item>
@@ -4141,14 +4251,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"பார்சல் அளவு"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ஆஷ்மெம்"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"அறிவிப்பிற்கான விழிபூட்டல் அனுப்பப்பட்டது"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"ஒலி"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"அதிர்வு"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"பேட்டர்ன்"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"இயல்பு"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"சேனல்"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"எதுவுமில்லை"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"மதிப்பீட்டுத் தகவல் இல்லை."</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"மதிப்பீட்டுத் தகவலில் இந்த விசை இல்லை."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"தீம் மேலடுக்குகள்"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"சாதனத்தின் இயல்புநிலை"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"டிஸ்ப்ளே கட்அவுட்"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"கட்அவுட் காட்சி, நோட்ச்"</string>
@@ -4237,8 +4343,12 @@
     <string name="information_label" msgid="6939310810756569298">"தகவல் ஐகான்"</string>
     <string name="low_label" msgid="6525629096999711220">"குறைவு"</string>
     <string name="high_label" msgid="357503396626018487">"அதிகம்"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"அதிக உணர்திறன் திரை ஓரங்களுக்கான ஆப்ஸ் சைகைகளுடன் முரண்படலாம்."</string>
+    <string name="left_edge" msgid="1513576842959071849">"இடதுபுற ஓரம்"</string>
+    <string name="right_edge" msgid="1505309103265829121">"வலதுபுற ஓரம்"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"அதிக உணர்திறன் ஆப்ஸ் சைகைகளுடன் திரை ஓரங்களில் முரண்படலாம்."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"பின்புற உணர்திறன்"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"சைகை அமைப்புகள்"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"சைகை வழிசெலுத்தல், பின்புற உணர்திறன், பின்புற சைகை"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"மொபைல் திரையில் அறிவிப்புகளைப் பார்க்க, இருமுறை தட்டவும்"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"டேப்லெட் திரையில் அறிவிப்புகளைப் பார்க்க, இருமுறை தட்டவும்"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"சாதனத் திரையில் அறிவிப்புகளைப் பார்க்க, இருமுறை தட்டவும்"</string>
@@ -4393,7 +4503,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"Trigger Carrier Provisioning"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"தொந்தரவு செய்ய வேண்டாம் அமைப்பைப் புதுப்பிக்கவும்"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"கவனம் சிதறாமல் இருக்க, அறிவிப்புகளை இடைநிறுத்தவும்"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"இந்தச் சாதனத்தில் இந்த அம்சம் இல்லை"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"அம்சம் இல்லை"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"மொபைலின் வேகத்தைப் பாதிப்பதால் இந்த அம்சம் ஆஃப் செய்யப்பட்டுள்ளது"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"முழுமையான GNSS அளவீடுகளை அமலாக்கு"</string>
@@ -4403,20 +4512,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"ANGLE இயக்கப்பட்ட ஆப்ஸைத் தேர்வுசெய்க"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"ANGLE இயக்கப்பட்ட ஆப்ஸ் எதுவும் இல்லை"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"ANGLE இயக்கப்பட்ட ஆப்ஸ்: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"கேம் டிரைவர் முன்னுரிமைகள்"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"கேம் டிரைவர் அமைப்புகளை மாற்றவும்"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"கேம் டிரைவர் ஆன் நிலையில் இருக்கும்போது இந்தச் சாதனத்தில் நிறுவப்பட்டுள்ள ஆப்ஸ்க்கான புதுப்பிக்கப்பட்ட கிராஃபிக்ஸ் டிரைவரைப் பயன்படுத்தத் தேர்ந்தெடுக்கலாம்."</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"அனைத்து ஆப்ஸிற்கும் இயக்கு"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"கிராஃபிக்ஸ் டிரைவரைத் தேர்ந்தெடுத்தல்"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"இயல்புநிலை"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"கேம் டிரைவர்"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"வெளியீட்டுக்கு முன்பு சோதனை ஓட்டத்திற்கான டிரைவர்"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"சிஸ்டம் கிராஃபிக்ஸ் டிரைவர்"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"Graphics Driver முன்னுரிமைகள்"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"Graphics Driver அமைப்புகளை மாற்றும்"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"பல்வேறு Graphics Driverகள் இருக்கும்போது, இந்தச் சாதனத்தில் நிறுவப்பட்டுள்ள ஆப்ஸில் பயன்படுத்துவதற்குப் புதுப்பிக்கப்பட்ட Graphics Driverரைத் தேர்ந்தெடுக்கலாம்."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"அனைத்து ஆப்ஸிற்கும் இயக்குதல்"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"Graphics Driverரைத் தேர்ந்தெடுத்தல்"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"இயல்பு"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"Game Driver"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"டெவெலப்பர் டிரைவர்"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"System Graphics Driver"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"ஆப்ஸ் இணக்கத்தன்மை தொடர்பான மாற்றங்கள்"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"ஆப்ஸ் இணக்கத்தன்மை தொடர்பான மாற்றங்களை நிலைமாற்றும்"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"இயல்புநிலை இயக்கப்பட்டது தொடர்பான மாற்றங்கள்"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"இயல்புநிலை முடக்கப்பட்டது தொடர்பான மாற்றங்கள்"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"இந்த மொபைலில் அமைப்பு ஆதரிக்கப்படவில்லை"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"இந்த டேப்லெட்டில் அமைப்பு ஆதரிக்கப்படவில்லை"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"இந்தச் சாதனத்தில் அமைப்பு ஆதரிக்கப்படவில்லை"</string>
@@ -4435,6 +4550,12 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"சாதனம்"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"அழைப்புகளின்போது பயன்படுத்த இயலாது"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"இல்லை"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"வெளியீடுகளைச் சேர்த்தல்"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"குழு"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 சாதனம் தேர்ந்தெடுக்கப்பட்டுள்ளது"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> சாதனங்கள் தேர்ந்தெடுக்கப்பட்டுள்ளன"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"அழைப்புகளை எதில் எடுப்பது?"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"இந்த APNனை மாற்ற இயலாது."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"டேப்லெட்டின் பேட்டரி நிலையை மேம்படுத்தவும்"</string>
@@ -4552,10 +4673,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"ஒரு நேரத்தில் ஒரு பதிவிறக்கிய சிம் மட்டுமே செயலில் இருக்கும்.\n\n<xliff:g id="CARRIER1">%1$s</xliff:g> சேவைக்கு மாறுவதால் <xliff:g id="CARRIER2">%2$s</xliff:g> சேவை ரத்துசெய்யப்படாது."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"<xliff:g id="CARRIER">%1$s</xliff:g>க்கு மாறு"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"சிம்மை அழி"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"இந்தப் பதிவிறக்கிய சிம்மை அழிக்கவா?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"சிம்மை அழிப்பதால் இந்தச் சாதனத்தில் இருந்து <xliff:g id="CARRIER_0">%1$s</xliff:g> சேவை அகற்றப்படும்.\n\nஇதனால் <xliff:g id="CARRIER_1">%2$s</xliff:g>க்கு உரிய சேவை ரத்துசெய்யப்படாது."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"அழி"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"சிம்மை அழிக்கிறது…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"சிம்மை அழிக்க இயலவில்லை"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"பிழை ஏற்பட்டதால் சிம்மை அழிக்க இயலாது.\n\nசாதனத்தை மீண்டும் தொடங்கி மறுபடியும் முயலவும்."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"விருப்பமான நெட்வொர்க் வகை"</string>
@@ -4580,7 +4697,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"தவறான நெட்வொர்க் பயன்முறை <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. நிராகரி."</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"ஆக்சஸ் பாயிண்ட் நேம்கள்"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"<xliff:g id="CARRIER">%1$s</xliff:g> உடன் இணைந்திருக்கும்போது கிடைக்காது"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"மருத்துவ விவரங்கள், அவசரகாலத் தொடர்புகள்"</string>
     <string name="see_more" msgid="7499355691042812723">"மேலும் காட்டு"</string>
     <string name="see_less" msgid="2642392725363552793">"குறைவாகக் காட்டு"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"<xliff:g id="APPNAME">%1$s</xliff:g> உடன் பயன்படுத்தக்கூடிய சாதனம்"</string>
@@ -4589,11 +4705,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"ஏதோ அறிவிப்பு வந்துள்ளது. ஒரு சாதனத்தைத் தேர்வுசெய்வதற்கான கோரிக்கையை இந்த ஆப்ஸ் ரத்துசெய்துள்ளது."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"இணைப்பு வெற்றியடைந்தது"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"அனைத்தையும் காட்டு"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> சாதனங்கள் இணைக்கப்பட்டுள்ளன</item>
-      <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_0">%1$d</xliff:g> சாதனம் இணைக்கப்பட்டுள்ளது</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"புளூடூத் சாதனங்கள் இல்லை"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"சாதனத்தைத் தேடுகிறது…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"சாதனத்துடன் இணைக்கப்படுகிறது…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"இடது"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"வலது"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"சார்ஜ் செய்யும் பெட்டி"</string>
@@ -4603,6 +4716,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"விமானப் பயன்முறையின்போது கிடைக்காது"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"கட்டாய டெஸ்க்டாப் பயன்முறை"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"இரண்டாம்நிலை திரைகளில் \'கட்டாயப் பரிசோதனை டெஸ்க்டாப்\' பயன்முறை"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"குறிப்பிட்ட வடிவமற்ற sizecompat ஆப்ஸை இயக்கும்"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"sizecompat ஆப்ஸ் குறிப்பிட்ட வடிவமற்று இருப்பதை அனுமதிக்கும்"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"force-dark அம்சத்தை மீறிச் செயல்படுதல்"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"எப்போதும் இயக்கத்தில் இருக்குமாறு force-dark அம்சத்தை மேலெழுதுகிறது"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"தனியுரிமை"</string>
@@ -4639,6 +4754,10 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"இந்த ஆப்ஸைச் சமீபத்தில் நிறுவியுள்ளீர்கள்."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"அவுட்புட்டை மாற்று"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> சாதனத்தில் தற்போது இயங்குகிறது"</string>
+    <!-- no translation found for media_output_disconnected_status (5567111639832431865) -->
+    <skip />
+    <!-- no translation found for media_output_switch_error_text (603563475910236831) -->
+    <skip />
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"முக்கியமான தகவல்"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"தொடர்க"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"வேண்டாம்"</string>
@@ -4666,8 +4785,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"சிம் சேர்க்கை"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"உங்கள் பணிக் கணக்கின் கொள்கை குறித்த தகவல்"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"உங்கள் IT நிர்வாகி கட்டுப்படுத்தும் அமைப்புகள்"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"பிழை அறிக்கை ஹேண்ட்லர்"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"உங்கள் சாதனத்தில் பிழை அறிக்கைக்கான ஷார்ட்கட்டை எந்த ஆப்ஸ் கையாள வேண்டும் என்பதைத் தீர்மானிக்கும்."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"தனிப்பட்டது"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"பணி"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"சிஸ்டத்தின் இயல்புநிலை"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"இனி இந்தத் தேர்வைப் பயன்படுத்த முடியாது. மீண்டும் முயலவும்."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"அலைபரப்புவதை நிறுத்து"</string>
 </resources>
diff --git a/res/values-te/arrays.xml b/res/values-te/arrays.xml
index 7c92706..7f5c05c 100644
--- a/res/values-te/arrays.xml
+++ b/res/values-te/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"తక్షణమే"</item>
     <item msgid="463591454172790676">"5 సెకన్లు"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"ప్రామాణీకరించవద్దు"</item>
+    <item msgid="5703177653586269306">"సర్టిఫికేట్ స్థితిని అభ్యర్థించండి"</item>
+    <item msgid="326388247868439528">"సర్టిఫికేట్ స్థితి అవసరం"</item>
+    <item msgid="1090956283885790552">"అన్ని విశ్వసనీయత లేని సర్టిఫికేట్ స్థితిగతులు అవసరం"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"పుష్ బటన్"</item>
     <item msgid="2630618799033509548">"పీర్ డివైజ్ నుండి పిన్‌"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"ఏదీ వద్దు"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"పూర్వ-భాగస్వామ్య కీలు మరియు Xauth ప్రామాణీకరణతో IPSec VPN"</item>
     <item msgid="2484564813864139237">"ప్రమాణపత్రాలు మరియు Xauth ప్రామాణీకరణతో IPSec VPN"</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>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"ఏదీ వద్దు"</item>
diff --git a/res/values-te/config.xml b/res/values-te/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-te/config.xml
+++ b/res/values-te/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml
index fc2a9bb..58e3b37 100644
--- a/res/values-te/strings.xml
+++ b/res/values-te/strings.xml
@@ -31,49 +31,17 @@
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"దయచేసి మొదట డెవలపర్ ఎంపికలను ప్రారంభించండి."</string>
     <string name="header_category_wireless_networks" msgid="303445626075235229">"వైర్‌లెస్ &amp; నెట్‌వర్క్‌లు"</string>
     <string name="header_category_system" msgid="1665516346845259058">"సిస్టమ్"</string>
-    <string name="radio_info_data_connection_enable" msgid="7500945447906187613">"డేటా కనెక్షన్‌ను ప్రారంభించండి"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"డేటా కనెక్షన్‌ను నిలిపివేయండి"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"VoLTE సదుపాయం ఉంది"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"వీడియో కాలింగ్ సదుపాయం ఉంది"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"Wifi కాలింగ్ సదుపాయం ఉంది"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"EAB/ఉనికి సక్రియం చేయబడింది"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"Cbrs డేటా"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"DSDSను ప్రారంభించండి"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"పరికరాన్ని మళ్లీ ప్రారంభించాలా?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"మీరు ఈ సెట్టింగ్‌ను మార్చడానికి మీ పరికరాన్ని మళ్లీ ప్రారంభించాలి."</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"మళ్లీ ప్రారంభించండి"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"రద్దు చేయి"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"మొబైల్ రేడియో పవర్"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"SIM చిరునామా పుస్తకాన్ని వీక్షించండి"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"ఫిక్స్‌డ్ డయలింగ్ నంబర్‌లను వీక్షించండి"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"సర్వీస్ డయలింగ్ నంబర్‌లను వీక్షించండి"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"IMS సేవ స్థితి"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"IMS స్థితి"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"నమోదు చేయబడింది"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"నమోదు కాలేదు"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"అందుబాటులో ఉంది"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"అందుబాటులో లేదు"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"IMS నమోదు: <xliff:g id="STATUS">%1$s</xliff:g>\nవాయిస్ ఓవర్ LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nవాయిస్ ఓవర్ WiFi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nవీడియో కాలింగ్: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT ఇంటర్‌ఫేస్: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"సేవ అందుబాటులో ఉంది"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"సేవ అందుబాటులో లేదు"</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>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"నిష్క్రియంగా ఉంది"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"రింగ్ వస్తోంది"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"కాల్ ప్రోగ్రెస్‌లో ఉంది"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"డిస్‌కనెక్ట్ చేయబడింది"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"కనెక్ట్ చేస్తోంది"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"కనెక్ట్ చేయబడింది"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"తాత్కాలికంగా రద్దు చేయబడింది"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"తెలియదు"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"pkts"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"బైట్‌లు"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"USB నిల్వను అన్‌మౌంట్ చేయండి"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"SD కార్డు‌ను అన్‌మౌంట్ చేయండి"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"USB నిల్వను ఎరేజ్ చేయండి"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"స్క్రీన్‌పై ఉండే వచనాన్ని చిన్నదిగా లేదా పెద్దదిగా చేస్తుంది."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"చిన్నదిగా చేస్తుంది"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"పెద్దదిగా చేస్తుంది"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"నమూనా వచనం"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"ది వండర్‌ఫుల్ విజర్డ్ ఆఫ్ ఆజ్"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"అధ్యాయం 11: ది వండర్‌ఫుల్ ఎమరాల్డ్ సిటీ ఆఫ్ ఆజ్"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"మీరు ఈ సెట్టింగ్‌ను మార్చడానికి మీ పరికరాన్ని మళ్లీ ప్రారంభించాలి."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"మళ్లీ ప్రారంభించు"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"రద్దు చేయి"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"అందుబాటులో ఉన్న మీడియా పరికరాలు"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"అందుబాటులో ఉన్న కాల్ పరికరాలు"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"ప్రస్తుతం కనెక్ట్ చేయబడింది"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"మీడియా పరికరాలు"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"కాల్ పరికరాలు"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"ఇతర పరికరాలు"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"సేవ్ చేసిన పరికరాలు"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"జత చేయడం కోసం బ్లూటూత్ ఆన్ చేయబడుతుంది"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"కనెక్షన్ ప్రాధాన్యతలు"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"మీరు టైప్ చేసిన పోర్ట్ చెల్లదు."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"HTTP ప్రాక్సీని బ్రౌజరే ఉపయోగిస్తుంది, ఇతర అనువర్తనాల ఉపయోగించకపోవచ్చు."</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"PAC URL: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"ప్రస్తుత subId:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"డిఫాల్ట్ డేటా SIM యొక్క SubId:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"DL బ్యాండ్‌విడ్త్ (kbps):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"UL బ్యాండ్‌విడ్త్ (kbps):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"సెల్ స్థాన సమాచారం (నిలిపివేయబడింది):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"LTE భౌతిక ఛానెల్ కాన్ఫిగరేషన్:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"సెల్ సమాచార రిఫ్రెష్ సగటు:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"మొత్తం సెల్ పరిమాణ సమాచారం:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"డేటా సేవ:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"రోమింగ్:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"కాల్ దారి మళ్లింపు:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"బూట్ చేసినప్పటి నుండి PPP రీసెట్ సంఖ్య:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"ప్రస్తుత నెట్‌వర్క్:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"స్వీకరించిన డేటా:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"వాయిస్ సేవ:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"సిగ్నల్ సామర్థ్యం:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"వాయిస్ కాల్ స్థితి:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"పంపిన డేటా:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"సందేశ నిరీక్షణ:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"ఫోన్ నంబర్:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"రేడియో బ్యాండ్‌ను ఎంచుకోండి"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"వాయిస్ నెట్‌వర్క్ రకం:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"డేటా నెట్‌వర్క్ రకం:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"ఫోన్ సూచికను ఎంచుకోండి"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"సెట్ చేసిన ప్రాధాన్య నెట్‌వర్క్ రకం:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"పింగ్ హోస్ట్ పేరు(www.google.com) IPv4:"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"పింగ్ హోస్ట్ పేరు(www.google.com) IPv6:"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"HTTP క్లయింట్ పరీక్ష:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"పింగ్ పరీక్షను అమలు చేయండి"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"అప్‌డేట్"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"రిఫ్రెష్ చేయండి"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"DNS తనిఖీని టోగుల్ చేయండి"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"OEM-నిర్దిష్ట సమాచారం/సెట్టింగ్‌లు"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"రేడియో బ్యాండ్ మోడ్‌ను సెట్ చేయండి"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"బ్యాండ్ జాబితాను లోడ్ చేస్తోంది…"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"సెట్ చేయి"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"విఫలమైంది"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"విజయవంతమైంది"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"USB కేబుల్ మళ్లీ కనెక్ట్ చేయబడినప్పుడు మార్పులు ప్రభావంలోకి వస్తాయి."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"USB భారీ నిల్వను ప్రారంభించు"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"మొత్తం బైట్‌లు:"</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"దిగువకు తరలించు"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"భాషను తీసివేయి"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"కార్యాచరణను ఎంచుకోండి"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"పరికర సమాచారం"</string>
     <string name="display_label" msgid="3056320781191343221">"స్క్రీన్"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"టాబ్లెట్ సమాచారం"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"ఫోన్ సమాచారం"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"USB నిల్వ"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"SD కార్డు"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"ప్రాక్సీ సెట్టింగ్‌లు"</string>
@@ -306,9 +234,6 @@
     <string name="airplane_mode" msgid="3196085857882526817">"ఎయిర్‌ప్లేన్ మోడ్"</string>
     <string name="wireless_networks_settings_title" msgid="8557542379234105369">"వైర్‌లెస్ &amp; నెట్‌వర్క్‌లు"</string>
     <string name="radio_controls_summary" msgid="9028430178697624501">"Wi‑Fi, బ్లూటూత్, ఎయిర్‌ప్లేన్ మోడ్, మొబైల్ నెట్‌వర్క్‌లు &amp; VPNలను నిర్వహించు"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"మొబైల్ డేటా"</string>
-    <string name="calls_title" msgid="6334813967619899114">"కాల్‌లను అనుమతించు"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"SMS సందేశాలు"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"మొబైల్ నెట్‌వర్క్ ద్వారా డేటాని ఉపయోగించు"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"రోమింగ్‌లో డేటా వినియో. అనుమతి"</string>
     <string name="roaming" msgid="3055365654530847985">"రోమింగ్"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"రోమింగ్‌లో ఉన్నప్పుడు డేటా సేవలకు కనెక్ట్ చేయి"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"మీరు ఆఫ్ చేయబడిన డేటా రోమింగ్‌తో మీ హోమ్ నెట్‌వర్క్ నుండి నిష్క్రమించినందున డేటా కనెక్టివిటీని కోల్పోయారు."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"దీన్ని ప్రారంభించు"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"మీకు గణనీయ ఛార్జీలు విధించబడవచ్చు."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"మీరు డేటా రోమింగ్‌ను అనుమతించినప్పుడు, మీకు గణనీయంగా రోమింగ్ ఛార్జీలు విధించబడవచ్చు!\n\nఈ సెట్టింగ్ ఈ టాబ్లెట్‌లో వినియోగదారులందరినీ ప్రభావితం చేస్తుంది."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"మీరు డేటా రోమింగ్‌ను అనుమతించినప్పుడు, మీకు గణనీయంగా రోమింగ్ ఛార్జీలు విధించబడవచ్చు!\n\nఈ సెట్టింగ్ ఈ ఫోన్‌లో వినియోగదారులందరినీ ప్రభావితం చేస్తుంది."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"రోమింగ్ ఛార్జీలు వర్తించవచ్చు."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"మీరు డేటా రోమింగ్‌ను అనుమతించినప్పుడు, రోమింగ్ ఛార్జీలు విధించబడవచ్చు.\n\nఈ సెట్టింగ్ ఈ టాబ్లెట్‌లో వినియోగదారులందరినీ ప్రభావితం చేస్తుంది."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"మీరు డేటా రోమింగ్‌ను అనుమతించినప్పుడు, రోమింగ్ ఛార్జీలు విధించబడవచ్చు.\n\nఈ సెట్టింగ్ ఈ ఫోన్‌లో వినియోగదారులందరినీ ప్రభావితం చేస్తుంది."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"డేటా రోమింగ్‌ను అనుమతించాలా?"</string>
     <string name="networks" msgid="5184501333492775095">"ఆపరేటర్ ఎంపిక"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"నెట్‌వర్క్ ఆపరేటర్‌ను ఎంచుకోండి"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"నిర్వాహకులు నిలిపివేసారు"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"అన్నీ లాక్ చేయి ఎంపికను చూపు"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"Smart Lock, బయోమెట్రిక్ అన్‌లాకింగ్ మరియు లాక్ స్క్రీన్‌లో నోటిఫికేషన్‌లను ఆఫ్ చేసే పవర్ బటన్ ఎంపికను ప్రదర్శించు"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"విశ్వ‌స‌నీయ ఏజెంట్లు మాత్ర‌మే అన్‌లాక్‌ను పొడిగిస్తాయి"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"ప్రారంభించబడితే, విశ్వసనీయ ఏజెంట్‌లు మీ పరికరాన్ని ఎక్కువ సమయం పాటు అన్‌లాక్ చేసి ఉంచుతాయి, కానీ లాక్ చేయబడిన పరికరాన్ని అన్‌లాక్ చేయలేవు."</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"విశ్వసనీయతను కోల్పోయినప్పుడు స్క్రీన్‌ను లాక్ చేయండి"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"ప్రారంభించబడితే, చివరి విశ్వసనీయ ఏజెంట్ విశ్వసనీయతను కోల్పోయినప్పుడు పరికరం లాక్ చేయబడుతుంది"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"ఏమీ లేదు"</string>
@@ -390,7 +313,7 @@
     <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="disabled_by_administrator_summary" msgid="4181894719300350343">"నిర్వాహకులు నిలిపివేసారు"</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>
@@ -693,7 +616,6 @@
       <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> కంటే తక్కువ అంకెలు తప్పక ఉండాలి</item>
       <item quantity="one"><xliff:g id="NUMBER_0">%d</xliff:g> కంటే తక్కువ అంకె తప్పక ఉండాలి</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"తప్పనిసరిగా 0-9 అంకెలను మాత్రమే కలిగి ఉండాలి"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"ఇటీవలి పిన్‌ని ఉపయోగించడానికి డివైజ్ నిర్వాహకులు అనుమతించరు"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"సాధారణ PINలను మా IT నిర్వాహకుడు బ్లాక్ చేసారు. వేరే PINని ప్రయత్నించండి."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"ఇందులో చెల్లని అక్షరం ఉండకూడదు"</string>
@@ -724,6 +646,10 @@
       <item quantity="other">తప్పనిసరిగా కనీసం <xliff:g id="COUNT">%d</xliff:g> వర్ణమాల యేతర అక్షరాలను కలిగి ఉండాలి</item>
       <item quantity="one">తప్పనిసరిగా కనీసం 1 వర్ణమాల యేతర అక్షరాన్ని కలిగి ఉండాలి</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="other">తప్పనిసరిగా కనీసం <xliff:g id="COUNT">%d</xliff:g> అసంఖ్యాత్మక అక్షరాలను కలిగి ఉండాలి</item>
+      <item quantity="one">తప్పనిసరిగా కనీసం 1 అసంఖ్యాత్మక అక్షరాన్ని కలిగి ఉండాలి</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"ఇటీవలి పాస్‌వర్డ్‌ను ఉపయోగించడానికి పరికర నిర్వాహకులు అనుమతించరు"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"సాధారణ పాస్‌వర్డ్‌లను మా IT నిర్వాహకుడు బ్లాక్ చేసారు. వేరే పాస్‌వర్డ్‌ని ప్రయత్నించండి."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"అంకెలను ఆరోహణ, అవరోహణ క్రమంలో లేదా ఒకే అంకెను వరుసగా పునరావృతంగా ఉపయోగించకూడదు"</string>
@@ -837,19 +763,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2.4 GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"సైన్ ఇన్ చేయి"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"సైట్‌ను తెరవండి"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"<xliff:g id="REMAINING_TIME">%1$s</xliff:g> మిగిలి ఉంది"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"<xliff:g id="EXPIRY_TIME">%1$s</xliff:g>న గడువు ముగుస్తుంది"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"నెట్‌వర్క్‌కి సైన్ ఇన్ చేయడానికి ఇక్కడ నొక్కండి"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"<xliff:g id="REQUESTER">%s</xliff:g> Wi-Fiని ఆన్ చేయాలనుకుంటోంది"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"<xliff:g id="REQUESTER">%s</xliff:g> Wi-Fiని ఆఫ్ చేయాలనుకుంటోంది"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"డీబగ్ చేయగల యాప్‌ల బైట్‌కోడ్‌ను తనిఖీ చేయండి"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"డీబగ్ చేయదగిన యాప్‌ల బైట్‌కోడ్ తనిఖీ చేయడం కోసం ARTని అనుమతించండి"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"రిఫ్రెష్ రేటును చూపడం"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"ప్రస్తుతం ప్రదర్శనలో వున్న రిఫ్రెష్ రేటును చూపడం"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"టాబ్లెట్ మరో పరికరాన్ని తాకినప్పుడు డేటా మార్పిడిని అనుమతించు"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"ఫోన్ మరో పరికరాన్ని తాకినప్పుడు డేటా పరస్పర మార్పిడికి అనుమతించండి"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"టాబ్లెట్ NFC పరికరాన్ని తాకినప్పుడు డేటా పరస్పర మార్పిడిని అనుమతించండి"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"ఫోన్ NFC పరికరాన్ని తాకినప్పుడు డేటా పరస్పర మార్పిడిని అనుమతించండి"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"NFCని ఆన్ చేయండి"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"NFC ఈ పరికరం మరియు ఇతర సమీప పరికరాలు లేదా చెల్లింపు టెర్మినల్‌లు, యాక్సెస్ రీడర్‌లు మరియు పరస్పర చర్య కలిగి ఉండే ప్రకటనలు లేదా ట్యాగ్‌ల వంటి లక్ష్యాల మధ్య డేటా మార్పిడి చేస్తుంది."</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"NFCని సురక్షితం చేయండి"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFC కోసం పరికరాన్ని అన్‌లాక్ చేయడం అవసరం"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"NFC చెల్లింపులను Transit వినియోగాన్ని స్క్రీన్ అన్‌లాక్‌ స్థితిలో ఉన్నప్పుడు మాత్రమే అనుమతించు"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"యాప్ కంటెంట్‌ను NFC ద్వారా పంపడానికి సిద్ధంగా ఉంది"</string>
@@ -923,8 +855,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"ఆన్ చేయి"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Wi-Fi స్కానింగ్ ఆన్ చేయబడింది"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"అధునాతన ఎంపికలు"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"అధునాతన ఎంపికల డ్రాప్ డౌన్ జాబితా. కుదించడానికి రెండుసార్లు నొక్కండి."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"అధునాతన ఎంపికల డ్రాప్ డౌన్ జాబితా. విస్తరింపజేయడానికి రెండుసార్లు నొక్కండి."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"డ్రాప్-డౌన్ జాబితా అధునాతన ఎంపికలు"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"విస్తరించు"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"నెట్‌వర్క్ పేరు"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"SSIDని నమోదు చేయండి"</string>
     <string name="wifi_security" msgid="9095934643631406913">"భద్రత"</string>
@@ -934,6 +866,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"స్థితి"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"ప్రసార లింక్ వేగం"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"లింక్ వేగాన్ని స్వీకరించండి"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"లింక్ వేగం"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"ఫ్రీక్వెన్సీ"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"IP చిరునామా"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"దీని ద్వారా సేవ్ చేయబడింది"</string>
@@ -941,6 +874,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"EAP పద్ధతి"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"2వ దశ ప్రామాణీకరణ"</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>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"వినియోగదారు సర్టిఫికెట్"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"గుర్తింపు"</string>
@@ -957,6 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"Wi-Fi హాట్‌స్పాట్ కోసం కనీసం ఒక బ్యాండ్‌ను ఎంచుకోండి:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"IP సెట్టింగ్‌లు"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"గోప్యత"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"చెల్లింపు సభ్యత్వం"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"చెల్లింపు సభ్యత్వాన్ని చూడండి లేదా మార్చండి"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"యాదృచ్ఛీకరించబడిన MAC"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"పరికరాన్ని జోడించండి"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"“<xliff:g id="SSID">%1$s</xliff:g>”కి పరికరాన్ని జోడించడానికి QR కోడ్‌ను దిగువున చూపించండి"</string>
@@ -966,12 +902,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"Wi‑Fi షేర్ చేయి"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"“<xliff:g id="SSID">%1$s</xliff:g>”కు కనెక్ట్ చేయడానికి, అలాగే షేర్ చేయడానికి ఈ QR కోడ్‌ను స్కాన్ చేయండి"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"“<xliff:g id="SSID">%1$s</xliff:g>”కు కనెక్ట్ చేయడానికి ఈ QR కోడ్‌ను స్కాన్ చేయండి"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"QR కోడ్‌ను చదవడం సాధ్యం కాలేదు కోడ్‌ను మధ్యలో పెట్టి మళ్లీ ప్రయత్నించండి"</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"మళ్లీ ప్రయత్నించండి. సమస్య ఇంకా కొనసాగితే, పరికరం తయారీదారుని సంప్రదించండి"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"ఏదో తప్పు జరిగింది"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"పరికరం ప్లగ్-ఇన్ చేయబడి, ఛార్జ్ చేయబడి మరియు ఆన్ చేయబడి ఉండేలా చూడండి"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"పరికరం ప్లగ్-ఇన్ చేయబడి, ఛార్జ్ చేయబడి మరియు ఆన్ చేయబడి ఉండేలా చూడండి. సమస్య ఇంకా కొనసాగితే, పరికరం తయారీదారుని సంప్రదించండి"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"“<xliff:g id="SSID">%1$s</xliff:g>”ను జోడించడానికి ఈ పరికరం మద్దతు ఇవ్వదు"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"పరికరాన్ని మీ Wi-Fi యాక్సెస్ పాయింట్/రూటర్ కు దగ్గరగా జరపడానికి ప్రయత్నించండి"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"మీ పాస్‌వర్డ్‌ని సరిచూసుకొని, మళ్లీ ప్రయత్నించండి"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"పరికరం తయారీదారుని సంప్రదించండి"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"కనెక్షన్‌ను పరిశీలించి, మళ్లీ ప్రయత్నించండి"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"నెట్‌వర్క్‌ను ఎంచుకోండి"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"మీ పరికరాన్ని కనెక్ట్ చేయడానికి ఒక నెట్‌వర్క్‌ని ఎంచుకోండి"</string>
@@ -984,11 +922,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"ఈ పరికరంతో Wi‑Fiని షేర్ చేస్తోంది…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"కనెక్ట్ అవుతోంది…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"హాట్‌స్పాట్‌ను షేర్ చేయండి"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"ఇది మీరేనని ధృవీకరించండి"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"అది మీరేనని ధృవీకరించండి"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"Wi‑Fi పాస్‌వర్డ్: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"హాట్‌స్పాట్ పాస్‌వర్డ్: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"స్వీయ-కనెక్ట్"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"ఈ నెట్‌వర్క్ సమీపంలో ఆటోమేటిక్‌గా కనెక్ట్ అవ్వడానికి ఫోన్‌ను అనుమతించండి"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"ఈ నెట్‌వర్క్ సమీపంలో ఆటోమేటిక్‌గా కనెక్ట్ అవ్వడానికి టాబ్లెట్‌ను అనుమతించండి"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"పరికరాన్ని జోడించండి"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"ఈ నెట్‌వర్క్‌కు పరికరాన్ని జోడించడానికి QR కోడ్‌ను ఉపయోగించండి"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"QR కోడ్ చెల్లుబాటు అయ్యే ఫార్మాట్‌లో లేదు"</string>
     <string name="retry" msgid="7542103800274026915">"మళ్లీ ప్రయత్నించు"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"ఇతర పరికర వినియోగదారులతో భాగస్వామ్యం చేయి"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(మారలేదు)"</string>
@@ -1000,6 +942,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"సర్టిఫికెట్ ఏదీ పేర్కొనబడలేదు. మీ కనెక్షన్ ప్రైవేట్‌గా ఉండదు."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"నెట్‌వర్క్ పేరు చాలా పొడవుగా ఉంది."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"తప్పనిసరిగా డొమైన్‌ను పేర్కొనాలి."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"సర్టిఫికెట్ అవసరం."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"WPS అందుబాటులో ఉంది"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (WPS అందుబాటులో ఉంది)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"క్యారియర్ Wi‑Fi నెట్‌వర్క్"</string>
@@ -1051,7 +994,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"అధునాతన Wi‑Fi"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"MAC చిరునామా"</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_ip_address_title" msgid="4265355419782184514">"IP చిరునామా"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"నెట్‌వర్క్ వివరాలు"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"సబ్‌నెట్ మాస్క్"</string>
@@ -1103,7 +1047,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"మీ ఇతర పరికరాల కోసం Wi-Fi నెట్‌వర్క్‌ని సృష్టించడానికి హాట్‌స్పాట్‌ని ఉపయోగించండి. హాట్‌స్పాట్ అనేది మీ మొబైల్ డేటా కనెక్షన్‌ని ఉపయోగించి ఇంటర్నెట్‌ని అందిస్తుంది. అదనపు మొబైల్ డేటా ఛార్జీలు చెల్లించాల్సి రావచ్చు."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"యాప్‌లు సమీప పరికరాలతో కంటెంట్‌ని షేర్ చేయడం కోసం హాట్‌స్పాట్‌ని సృష్టించవచ్చు."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"హాట్‌స్పాట్‌ని ఆటోమేటిక్‌గా ఆఫ్ చేయి"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"పరికరాలు ఏవీ కనెక్ట్ కాకపోతే Wi‑Fi హాట్‌స్పాట్‌ ఆఫ్ అవుతుంది"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"పరికరాలేవీ కనెక్ట్ చేసి లేనప్పుడు"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"హాట్‌స్పాట్‌ను ప్రారంభిస్తోంది…"</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"హాట్‌స్పాట్‌ను ఆపివేస్తోంది…"</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> సక్రియంగా ఉంది"</string>
@@ -1112,6 +1056,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"Wi‑Fi హాట్‌స్పాట్ సెటప్"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"AndroidAP WPA2 PSK హాట్‌స్పాట్"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"Android హాట్‌స్పాట్"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"ఈ నెట్‌వర్క్‌ను సేవ్ చేయాలా?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"నెట్‌వర్క్‌ను మీ ఫోన్‌లో సేవ్ చేయడానికి <xliff:g id="APPNAME">%1$s</xliff:g> అనుమతి కోరుతోంది"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"<xliff:g id="APPNAME">%1$s</xliff:g>, మీ టాబ్లెట్‌లో ఒక నెట్‌వర్క్‌ను సేవ్ చేయాలనుకుంటోంది"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"సేవ్ చేస్తోంది…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"సేవ్ అయింది"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"సేవ్ చేయడం సాధ్యపడదు మళ్లీ ప్రయత్నించండి."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"నెట్‌వర్క్‌లను సేవ్ చేయాలా?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"ఈ నెట్‌వర్క్‌లను మీ ఫోన్‌లో సేవ్ చేయడానికి <xliff:g id="APPNAME">%1$s</xliff:g> అనుమతి కోరుతోంది"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"<xliff:g id="APPNAME">%1$s</xliff:g>, ఈ నెట్‌వర్క్‌లను మీ టాబ్లెట్‌లో సేవ్ చేయడానికి అనుమతి కోరుతోంది"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"<xliff:g id="NUMBER">%d</xliff:g> నెట్‌వర్క్‌లను సేవ్ చేస్తోంది…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"నెట్‌వర్క్‌లు సేవ్ చేయబడ్డాయి"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"Wi-Fi కాలింగ్"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"Wi‑Fiతో కాల్‌లను విస్తరింపజేయండి"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"కవరేజిని విస్తరించడానికి Wi‑Fi కాలింగ్‌ను ఆన్ చేయండి"</string>
@@ -1138,16 +1093,18 @@
     <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>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"Wi-Fi కాలింగ్‌ను సక్రియం చేయండి"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"Wi-Fi కాలింగ్‌ను ఆన్ చేయండి"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"%1$sలో Wi‑Fi కాలింగ్‌కు మద్దతు లేదు"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"<xliff:g id="SSID">%1$s</xliff:g> నుండి డిస్‌కనెక్ట్ చేయబడింది"</string>
     <string name="carrier" msgid="1755020806290963951">"క్యారియర్"</string>
     <string name="display_settings_title" msgid="626835071804834218">"డిస్‌ప్లే"</string>
     <string name="sound_settings" msgid="5514582720435174014">"ధ్వని"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"వాల్యూమ్‌లు"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"సంగీత ప్రభావాలు"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"రింగ్ వాల్యూమ్"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"రింగ్ &amp; నోటిఫికేషన్ వాల్యూమ్"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"నిశ్శబ్దంగా ఉన్నప్పుడు వైబ్రేట్ చేయి"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"డిఫాల్ట్ నోటిఫికేషన్ ధ్వని"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"రింగ్‌టోన్"</string>
@@ -1272,13 +1229,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"షెడ్యూల్ చేయండి"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"ఏదీ వద్దు"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"రాత్రి సమయం అంతా ఆన్ అవుతుంది"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"అనుకూల సమయంలో ఆన్ చేయబడుతుంది"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"స్టేటస్"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"ఆఫ్ / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"ఎన్నటికీ ఆటోమేటిక్‌గా ఆన్ కాదు"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"సూర్యాస్తమయానికి ఆటోమేటిక్‌గా ఆన్ అవుతుంది"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"<xliff:g id="ID_1">%1$s</xliff:g>కు ఆటోమేటిక్‌గా ఆన్ అవుతుంది"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"ఆన్ / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"ఎన్నటికీ ఆటోమేటిక్‌గా ఆఫ్ కాదు"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"సూర్యోదయ వేళకు ఆటోమేటిక్‌గా ఆఫ్ అవుతుంది"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"<xliff:g id="ID_1">%1$s</xliff:g>కు ఆటోమేటిక్‌గా ఆఫ్ అవుతుంది"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"<xliff:g id="ID_1">%1$s</xliff:g> వరకు ఆన్ చేయి"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"<xliff:g id="ID_1">%1$s</xliff:g> వరకు ఆఫ్ చేయి"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"మీ బ్యాటరీ ఎక్కువ సేపు పని చేయడానికి సహాయపడేలా ముదురు రంగు థీమ్ అనేది కొన్ని స్క్రీన్‌ల మీద నలుపు బ్యాక్‌గ్రౌండ్‌ను ఉపయోగిస్తుంది. ఆన్ చేయాల్సిన నిరీక్షణ సమయాన్ని ముదురు రంగు థీమ్ అనేది మీ స్క్రీన్ ఆఫ్ అయ్యే వరకు షెడ్యూల్ చేస్తుంది."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"స్క్రీన్ గడువు ముగింపు"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"స్క్రీన్‌ను ఆఫ్ చేయాల్సిన సమయం"</string>
@@ -1290,7 +1252,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"వాల్‌పేపర్‌ను మార్చండి"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"మీ స్క్రీన్‌ను వ్యక్తిగతీకరించండి"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"వీటిలో వాల్‌పేపర్‌ను ఎంచుకోండి"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"మీ Pixelను అనుకూలీకరించండి"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"మీ ఫోన్‌ను అనుకూలీకరించండి"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"వివిధ శైలులు, వాల్‌పేపర్‌లు, మరిన్నింటిని ప్రయత్నించండి"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"స్క్రీన్ సేవర్"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"ఛార్జ్ చేసేటప్పుడు లేదా డాక్ చేసినప్పుడు"</string>
@@ -1379,6 +1341,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"USB నిల్వను అన్‌మౌంట్ చేయండి, అందుబాటులో ఉన్న నిల్వను వీక్షించండి"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"SD కార్డుని అన్‌మౌంట్ చేయండి, అందుబాటులో ఉన్న నిల్వను వీక్షించండి"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (సిమ్ స్లాట్ %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"చూడటానికి సేవ్ చేసిన నెట్‌వర్క్‌ను ఎంచుకోండి"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"ఫోన్ నంబర్"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (సిమ్ స్లాట్ %1$d)"</string>
@@ -1405,6 +1368,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"రోమింగ్‌"</string>
     <string name="status_operator" msgid="4335640583552058491">"నెట్‌వర్క్"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"Wi‑Fi MAC చిరునామా"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"డివైజ్ యొక్క Wi‑Fi MAC చిరునామా"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"బ్లూటూత్ చిరునామా"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"క్రమ సంఖ్య"</string>
     <string name="status_up_time" msgid="1274778533719495438">"గడిచిన సమయం"</string>
@@ -1617,6 +1581,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"డిఫాల్ట్ APN సెట్టింగ్‌లను రీసెట్ చేయడం పూర్తయింది."</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"రీసెట్ ఎంపికలు"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"నెట్‌వర్క్, యాప్‌లు లేదా పరికరాన్ని రీసెట్ చేయవచ్చు"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"యాప్‌లను రీసెట్ చేయవచ్చు"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"Wi-Fi, మొబైల్ డేటా &amp; బ్లూటూత్‌లను రీసెట్ చేయండి"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"ఇది అన్ని నెట్‌వర్క్ సెట్టింగ్‌లను రీసెట్ చేస్తుంది, వీటితో సహా:\n\n"<li>"Wi‑Fi"</li>\n<li>"మొబైల్ డేటా"</li>\n<li>"బ్లూటూత్"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"డౌన్‌లోడ్ చేసిన SIMలు తొలగించు"</string>
@@ -1666,6 +1631,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"హాట్‌స్పాట్ ఆన్"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"టెథెరింగ్"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"డేటా సేవర్ ఆన్‌లో ఉన్నప్పుడు టీథర్ చేయలేరు లేదా పోర్టబుల్ హాట్‌స్పాట్‌లను ఉపయోగించలేరు"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"హాట్‌స్పాట్ మాత్రమే"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"USB మాత్రమే"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"బ్లూటూత్ మాత్రమే"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"హాట్‌స్పాట్, USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"హాట్‌స్పాట్, బ్లూటూత్"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB, బ్లూటూత్"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"హాట్‌స్పాట్, USB, బ్లూటూత్"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"ఇంటర్నెట్‌ను ఇతర పరికరాలతో షేర్ చేయడం లేదు"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"టెథరింగ్"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Wi-Fi హాట్‌స్పాట్‌ను ఉపయోగించవద్దు"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"USB ద్వారా మాత్రమే ఇంటర్నెట్‌ను షేర్ చేయండి"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"బ్లూటూత్ ద్వారా మాత్రమే ఇంటర్నెట్‌ను షేర్ చేయండి"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"USB, బ్లూటూత్ ద్వారా మాత్రమే ఇంటర్నెట్‌ను షేర్ చేయండి"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB టెథెరింగ్"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"ఫోన్ యొక్క ఇంటర్నెట్ కనెక్షన్‌ని USB ద్వారా షేర్ చేయండి"</string>
@@ -1756,9 +1734,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"భద్రతా సమాచారం"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"మీకు డేటా కనెక్షన్ లేదు. ఈ సమాచారాన్ని ఇప్పుడే వీక్షించడానికి, ఇంటర్నెట్ కనెక్షన్ సౌకర్యం ఉన్న ఏదైనా కంప్యూటర్ నుండి %sకి వెళ్లండి."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"లోడ్ చేస్తోంది…"</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"పిన్‌ను ఉపయోగించు"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"ఆకృతిని వాడండి"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"పాస్‌వర్డ్‌ను ఉపయోగించు"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"స్క్రీన్ లాక్‌ను సెట్ చేయండి"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"భద్రత కోసం పాస్‌వర్డ్‌ని సెట్ చేయండి"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"వేలిముద్ర కోసం పాస్‌వర్డ్"</string>
@@ -1767,8 +1742,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"వేలిముద్రకు పిన్ సెట్ చేయండి"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"భద్రత కోసం ఆకృతిని సెట్ చేయండి"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"మీ పాస్‌వర్డ్‌ను మళ్ళీ నమోదు చేయండి"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"మీ కార్యాలయ పాస్‌వర్డ్‌ను నమోదు చేయండి"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"మీ నమూనాను నిర్ధారించండి"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"మీ కార్యాలయ నమూనాను నమోదు చేయి"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"మీ పిన్‌ను మళ్లీ నమోదు చేయండి"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"మీ కార్యాలయ పిన్‌ను నమోదు చేయండి"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"పాస్‌‌వర్డ్‌లు సరిపోలలేదు"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"పిన్‌లు సరిపోలలేదు"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"మీ ఆకృతిని మళ్లీ గీయండి"</string>
@@ -1779,6 +1757,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"ముఖంతో అన్‌లాక్ కోసం పాస్‌వర్డ్ పెట్టండి"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"ముఖంతో అన్‌లాక్ కోసం, ఆకృతి సెట్ చేయండి"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"ముఖంతో అన్‌లాక్ కోసం, పిన్ సెట్ చేయండి"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"మీ పాస్‌వర్డ్‌ను మరచిపోయారా?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"మీ ఆకృతిని మర్చిపోయారా?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"మీ పిన్‌ను మర్చిపోయారా?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"కొనసాగడానికి మీ పరికరం నమూనాను ఉపయోగించండి"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"కొనసాగడానికి మీ డివైజ్ పిన్‌ను నమోదు చేయండి"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"కొనసాగడానికి మీ పరికర పాస్‌వర్డ్‌ను నమోదు చేయండి"</string>
@@ -1846,6 +1827,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"అన్ని అనువ. మూలాలను అనుమతించు"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"ఇటీవల తెరిచిన యాప్‌లు"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"మొత్తం <xliff:g id="COUNT">%1$d</xliff:g> యాప్‌లను చూడండి"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"మీ IT నిర్వాహకులను సంప్రదించండి"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"పిన్‌ను, ఆకృతిని, లేదా పాస్‌వర్డ్‌ను రీసెట్ చేయడానికి వారు సహాయపడతారు"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"మీ టాబ్లెట్ మరియు వ్యక్తిగత డేటా తెలియని మూలాల్లోని అనువర్తనాల ద్వారా దాడికి గురి కావడానికి ఎక్కువ అవకాశం ఉంటుంది. ఈ మూలం నుండి అనువర్తనాలను ఇన్‌స్టాల్ చేయడం ద్వారా, ఈ అనువర్తనాలను ఉపయోగించడం ద్వారా మీ టాబ్లెట్‌కు సంభవించే ఏదైనా నష్టానికి లేదా కోల్పోయే డేటాకి బాధ్యత వహించడానికి మీరు అంగీకరిస్తున్నారు."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"మీ ఫోన్ మరియు వ్యక్తిగత డేటా తెలియని మూలాల్లోని అనువర్తనాల ద్వారా దాడికి గురి కావడానికి ఎక్కువ అవకాశం ఉంటుంది. ఈ మూలం నుండి అనువర్తనాలను ఇన్‌స్టాల్ చేయడం ద్వారా, ఈ అనువర్తనాలను ఉపయోగించడం వలన మీ ఫోన్‌కు సంభవించే ఏదైనా నష్టానికి లేదా కోల్పోయే డేటాకి బాధ్యత వహించడానికి మీరు అంగీకరిస్తున్నారు."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"మీ పరికరం మరియు వ్యక్తిగత డేటాపై తెలియని మూలాధారాల నుండి పొందిన యాప్‌లు దాడి చేసే అవకాశం ఎక్కువగా ఉంది. ఈ మూలాధారం నుండి పొందిన యాప్‌లను ఇన్‌స్టాల్ చేయడం ద్వారా, వాటి ఉపయోగం కారణంగా మీ పరికరానికి జరిగే హాని లేదా డేటాని కోల్పోవడం వంటి వాటికి మీరే పూర్తి బాధ్యత వహించడానికి మీరు అంగీకరించాలి."</string>
@@ -1897,7 +1880,7 @@
     <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="1377296810290814749">"ఇది వీటి కోసం అన్ని ప్రాధాన్యతలను రీసెట్ చేస్తుంది:\n\n"<li>"నిలిపివేయబడిన యాప్‌లు"</li>\n<li>"నిలిపివేయబడిన యాప్ నోటిఫికేషన్‌లు"</li>\n<li>"చర్యల కోసం డిఫాల్ట్ యాప్‌లు"</li>\n<li>"యాప్‌ల కోసం నేపథ్య డేటా పరిమితులు"</li>\n<li>"ఏవైనా అనుమతి పరిమితులు"</li>\n\n"మీరు యాప్‌ డేటాను కోల్పోరు."</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>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"యాప్‌లను రీసెట్ చేయి"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"నిల్వ ఖాళీని నిర్వహించు"</string>
     <string name="filter" msgid="9039576690686251462">"ఫిల్టర్ చేయి"</string>
@@ -2097,7 +2080,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"ఆడియో &amp; స్క్రీన్‌పై ఉన్న వచనం"</string>
     <string name="display_category_title" msgid="6638191682294461408">"డిస్‌ప్లే"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"పరస్పర చర్య నియంత్రణలు"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"డౌన్‌లోడ్ చేయబడిన సేవలు"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"డౌన్‌లోడ్ చేసిన యాప్‌లు"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"ప్రయోగాత్మకం"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"ఫీచర్ ఫ్లాగ్‌లు"</string>
     <string name="talkback_title" msgid="8756080454514251327">"Talkback"</string>
@@ -2105,27 +2088,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"మీ స్క్రీన్‌పై ఉన్న అంశాలను నొక్కడం ద్వారా అవి బిగ్గరగా చదవబడతాయి"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"శీర్షిక ప్రాధాన్యతలు"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"మాగ్నిఫికేషన్"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"మాగ్నిఫికేషన్ ప్రాంతం"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"మాగ్నిఫికేషన్ ఎనేబుల్"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"స్క్రీన్‌ను మాగ్నిఫై చేస్తున్నప్పుడు మీరు ఉపయోగించాలనుకుంటున్న మాగ్నిఫికేషన్ ప్రాంతము(ల)ను ఎంచుకోండి"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"ఫుల్ స్క్రీన్"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"స్క్రీన్‌లో భాగం"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"ఫుల్ స్క్రీన్ &amp; స్క్రీన్‌లో భాగం"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"స్క్రీన్ మొత్తాన్ని మాగ్నిఫై చేయండి"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"స్క్రీన్‌లో భాగాన్ని మాగ్నిఫై చేయండి"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"మాగ్నిఫికేషన్ సెట్టింగ్‌లు"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"మూడుసార్లు నొక్కడంతో మాగ్నిఫై చేయండి"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"షార్ట్‌కట్‌తో మాగ్నిఫై చేయండి"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"షార్ట్‌కట్‌తో, మూడుసార్లు నొక్కి మాగ్నిఫై చేయండి"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"<xliff:g id="SERVICE">%1$s</xliff:g> గురించి"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"ఎంపికలు"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"దగ్గరకు జూమ్ చేస్తుంది"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"జూమ్ చేయడానికి 3 సార్లు నొక్కండి"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"జూమ్ చేయడం కోసం బటన్‌ని నొక్కండి"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><b>"జూమ్ చేయాలంటే"</b>", స్క్రీన్‌పై 3 సార్లు వెంటవెంటనే నొక్కండి.\n"<ul><li>"స్క్రోల్ చేయాలంటే 2 లేదా అంతకంటే ఎక్కువ వేళ్లతో లాగండి"</li>\n<li>"జూమ్‌ని సర్దుబాటు చేయాలంటే 2 లేదా అంతకంటే ఎక్కువ వేళ్లను స్క్రీన్‌పై ఉంచి ఆ వేళ్లను దగ్గరకు లేదా దూరానికి లాగండి"</li></ul>\n\n<b>"తాత్కాలికంగా జూమ్ చేయాలంటే"</b>", స్క్రీన్‌పై 3 సార్లు వెంటవెంటనే నొక్కి, మూడవసారి మీ వేలిని అలాగే పైకెత్తకుండా ఉంచండి.\n"<ul><li>"స్క్రీన్‌ని కదిలించడానికి దానిని ఎటువైపు కావాలంటే అటువైపు లాగండి"</li>\n<li>"దూరంగా జూమ్ చేయాలంటే వేలిని పైకి ఎత్తండి"</li></ul>\n\n"కీబోర్డ్ లేదా నావిగేషన్ పట్టీలో మీరు దగ్గరకు జూమ్ చేయలేరు."</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"మాగ్నిఫికేషన్‌ను ఆన్ చేసినప్పుడు, మీ స్క్రీన్‌‌‌లో దగ్గరకు జూమ్ చేయవచ్చు.\n\n"<b>"జూమ్ చేయడానికి"</b>", మాగ్నిఫికేషన్‌‌ను ప్రారంభించి, తర్వాత స్క్రీన్‌‌‌పై ఎక్కడైనా నొక్కండి.\n"<ul><li>"• స్క్రోల్ చేయడానికి 2 లేదా అంతకంటే ఎక్కువ వేళ్లతో లాగండి"</li>\n<li>"• జూమ్‌ను సర్దుబాటు చేయడానికి 2 లేదా అంతకంటే ఎక్కువ వేళ్లను దగ్గరకు లేదా దూరానికి లాగండి"</li></ul>\n\n<b>"తాత్కాలికంగా జూమ్ చేయడానికి "</b>", మాగ్నిఫికేషన్‌‌ను ప్రారంభించి, తర్వాత స్క్రీన్‌‌ను ఎక్కడైనా తాకి &amp; పట్టుకోండి.\n"<ul><li>"• స్క్రీన్ చుట్టూ కదలడానికి లాగండి"</li>\n<li>"• దూరంగా జూమ్ చేయడానికి వేలిని పైకి ఎత్తండి"</li></ul>\n\n"కీబోర్డ్‌లో లేదా నావిగేషన్ బార్‌లో మీరు దగ్గరగా జూమ్ చేయలేరు."</string>
+    <string name="accessibility_screen_magnification_summary" msgid="7617931632990040045">"కంటెంట్‌ను మరింత స్పష్టంగా చూడటానికి స్క్రీన్‌ను త్వరగా దగ్గరగా జూమ్ చేయండి.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;దగ్గరగా జూమ్ చేయడానికి ఈ విధంగా చేయండి:&lt;/b&gt;&lt;br/&gt;	1. మాగ్నిఫికేషన్‌ను ప్రారంభించడానికి షార్ట్‌కట్‌ను ఉపయోగించండి&lt;br/&gt;	2. స్క్రీన్‌ను ట్యాప్ చేయండి&lt;br/&gt;	3. స్క్రీన్ చుట్టూ కదిలేందుకు 2 వేళ్లతో లాగండి&lt;br/&gt;	4. జూమ్ చేయడాన్ని సర్దుబాటు చేయడానికి 2 వేళ్లతో స్క్రీన్‌ను నియంత్రించండి&lt;br/&gt;	5. మాగ్నిఫికేషన్‌ను ఆపివేయడానికి షార్ట్‌కట్‌ను ఉపయోగించండి&lt;br/&gt;&lt;br/&gt;&lt;b&gt;తాత్కాలికంగా దగ్గరగా జూమ్ చేయడానికి ఈ విధంగా చేయండి:&lt;/b&gt;&lt;br/&gt;	1. మాగ్నిఫికేషన్‌ను ప్రారంభించడానికి షార్ట్‌కట్‌ను ఉపయోగించండి&lt;br/&gt;	2. స్క్రీన్‌పై ఎక్కడైనా తాకి హోల్డ్ చేయండి&lt;br/&gt;	3. స్క్రీన్ చుట్టూ కదిలేందుకు వేలితో లాగండి&lt;br/&gt;	4. మాగ్నిఫికేషన్‌ను ఆపివేయడానికి వేలును స్క్రీన్‌పై నుండి తీసివేయండి"</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"మాగ్నిఫికేషన్‌ను ఆన్ చేసినప్పుడు, మీ స్క్రీన్‌పైన దగ్గరకు జూమ్ చేయవచ్చు.\n\n"<b>"జూమ్ చేయడానికి"</b>", మాగ్నిఫికేషన్‌ను ప్రారంభించి, తర్వాత స్క్రీన్‌పై ఎక్కడైనా నొక్కండి.\n"<ul><li>"స్క్రోల్ చేయడానికి 2 లేదా అంతకంటే ఎక్కువ వేళ్లతో లాగండి"</li>\n<li>"జూమ్‌ను సర్దుబాటు చేయడానికి 2 లేదా అంతకంటే ఎక్కువ వేళ్లను దగ్గరకు లేదా దూరానికి లాగండి"</li></ul>\n\n<b>"తాత్కాలికంగా జూమ్ చేయడానికి"</b>", మాగ్నిఫికేషన్‌ను ప్రారంభించి, తర్వాత స్క్రీన్‌ను ఎక్కడైనా తాకి &amp; పట్టుకోండి.\n"<ul><li>"స్క్రీన్ పైన కదలడానికి లాగండి"</li>\n<li>"దూరంగా జూమ్ చేయడానికి వేలిని పైకి ఎత్తండి"</li></ul>\n\n"కీబోర్డ్‌లో లేదా నావిగేషన్ బార్‌లో మీరు దగ్గరగా జూమ్ చేయలేరు."</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"తెరవడానికి యాక్సెసిబిలిటీ బటన్‌ను ఉపయోగించండి"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"తెరవడానికి సంజ్ఞను ఉపయోగించండి"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"కొత్త యాక్సెసిబిలిటీ సంజ్ఞ‌ను ఉపయోగించండి"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"మీ స్క్రీన్ దిగువన ఉన్న యాక్సెసిబిలిటీ బటన్‌<xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>ను నొక్కడం ద్వారా ఈ సేవను ఆన్ లేదా ఆఫ్ చేయండి.\n\nసేవల మధ్య మారడానికి, యాక్సెసిబిలిటీ బటన్‌ను తాకి &amp; పట్టుకోండి."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"ఈ సేవను ఆన్ లేదా ఆఫ్ చేయడానికి, మీ స్క్రీన్ దిగువ నుండి రెండు వేళ్లతో పైకి స్వైప్ చేయండి.\n\nసేవల మధ్య మారడానికి, రెండు వేళ్లతో పైకి స్వైప్ చేసి, పట్టుకోండి."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"ఈ సేవను ఆన్ లేదా ఆఫ్ చేయడానికి, మీ స్క్రీన్ దిగువ నుండి మూడు వేళ్లతో పైకి స్వైప్ చేయండి.\n\nసేవల మధ్య మారడానికి, మూడు వేళ్లతో పైకి స్వైప్ చేసి, పట్టుకోండి."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"యాక్సెసిబిలిటీ సేవను ఆన్ లేదా ఆఫ్ చేయడానికి, మీ స్క్రీన్ దిగువ నుండి రెండు వేళ్లతో పైకి స్వైప్ చేయండి.\n\nసేవల మధ్య మారడానికి, రెండు వేళ్లతో పైకి స్వైప్ చేసి, పట్టుకోండి."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"యాక్సెసిబిలిటీ సేవను ఆన్ లేదా ఆఫ్ చేయడానికి, మీ స్క్రీన్ దిగువ నుండి మూడు వేళ్లతో పైకి స్వైప్ చేయండి.\n\nసేవల మధ్య మారడానికి, మూడు వేళ్లతో పైకి స్వైప్ చేసి, పట్టుకోండి."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"మీ స్క్రీన్ దిగువన ఉన్న యాక్సెసిబిలిటీ బటన్ <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>ను నొక్కడం ద్వారా ఈ సేవను ఆన్ లేదా ఆఫ్ చేయండి.\n\nసేవల మధ్య మారడానికి, యాక్సెసిబిలిటీ బటన్‌ను తాకి &amp; పట్టుకోండి."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"ఈ సేవను ఆన్ లేదా ఆఫ్ చేయడానికి, మీ స్క్రీన్ దిగువ నుండి రెండు వేళ్లతో పైకి స్వైప్ చేయండి.\n\nసేవల మధ్య మారడానికి, రెండు వేళ్లతో పైకి స్వైప్ చేసి, పట్టుకోండి."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"ఈ సేవను ఆన్ లేదా ఆఫ్ చేయడానికి, మీ స్క్రీన్ దిగువ నుండి మూడు వేళ్లతో పైకి స్వైప్ చేయండి.\n\nసేవల మధ్య మారడానికి, మూడు వేళ్లతో పైకి స్వైప్ చేసి, పట్టుకోండి."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"యాక్సెస్ సామర్ధ్య సేవను ఆన్ లేదా ఆఫ్ చేయడానికి, మీ స్క్రీన్ దిగువ నుండి రెండు వేళ్లతో పైకి స్వైప్ చేయండి.\n\nసేవల మధ్య మారడానికి, రెండు వేళ్లతో పైకి స్వైప్ చేసి, పట్టుకోండి."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"యాక్సెస్ సామర్ధ్య సేవను ఆన్ లేదా ఆఫ్ చేయడానికి, మీ స్క్రీన్ దిగువ నుండి మూడు వేళ్లతో పైకి స్వైప్ చేయండి.\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="2820923641553461297">"యాక్సెసిబిలిటీ బటన్"</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="8922102767509399352">"మీ స్క్రీన్ దిగువన ఉన్న యాక్సెసిబిలిటీ బటన్‌ను <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> నొక్కండి"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"రెండు చేతి వేళ్లతో స్క్రీన్‌ను కింద నుండి పైకి స్వైప్ చేయండి"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"మూడు చేతి వేళ్లతో స్క్రీన్‌ను కింద నుండి పైకి స్వైప్ చేయండి"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"వాల్యూమ్ కీలను నొక్కి ఉంచడం"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"వాల్యూమ్ కీలు రెండింటినీ 1 సెకను పాటు నొక్కి &amp; పట్టుకోండి"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"స్క్రీన్‌పై మూడు సార్లు నొక్కండి"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"త్వరితంగా స్క్రీన్‌ను 3 సార్లు ట్యాప్ చేయండి. ఈ షార్ట్‌కట్ వల్ల మీ పరికరం పనితీరు నెమ్మదించవచ్చు."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"అధునాతనం"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"యాక్సెస్ సామర్థ్య బటన్ <xliff:g id="SERVICE">%1$s</xliff:g>కు సెట్ చేయబడింది. మాగ్నిఫికేషన్‌ని ఉపయోగించాలంటే, యాక్సెస్ సామర్ధ్య బటన్‌ని తాకి, ఉంచి, ఆపై మాగ్నిఫికేషన్‌ని ఎంచుకోండి."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"సంజ్ఞ యాక్సెసిబిలిటీ అనేది <xliff:g id="SERVICE">%1$s</xliff:g>కు సెట్ చేయబడింది. మాగ్నిఫికేషన్‌ను ఉపయోగించడానికి, రెండు వేళ్లతో స్క్రీన్‌ను కింద నుండి పైకి స్వైప్ చేసి పట్టుకోండి. ఆ తర్వాత మాగ్నిఫికేషన్‌ను ఎంచుకోండి."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"వాల్యూమ్ కీ షార్ట్‌కట్"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"షార్ట్‌కట్ సేవ"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"షార్ట్‌కట్ సెట్టింగ్‌లు"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"లాక్ స్క్రీన్ నుండి అనుమతించండి"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"షార్ట్‌కట్ ఆన్ చేయబడినప్పుడు, మీరు వాల్యూమ్ కీలు రెండింటినీ 3 సెకన్లు నొక్కి ఉంచడం ద్వారా యాక్సెస్ సామర్థ్య ఫీచర్‌ను ప్రారంభించవచ్చు."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"అధిక కాంట్రాస్ట్ వచనం"</string>
@@ -2149,24 +2157,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"మిమ్మల్ని ఏదో ఒక చర్యని తీసుకోమంటూ, తాత్కాలికంగా స్క్రీన్‌పై కనిపించే సందేశాలు ఎంతసేపు అలాగే ఉండాలనేది ఎంచుకోవచ్చు.\n\nఈ సెట్టింగ్‌కు అన్ని యాప్‌లలో మద్దతు ఉండదు."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"తాకి ఉంచాల్సిన సమయం"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"రంగుల మార్పిడి"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"పనితీరుపై ప్రభావం చూపవచ్చు"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"డ్వెల్ టైమింగ్"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"రంగు మార్పిడిని ఉపయోగించండి"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"రంగుల మార్పిడి ప్రకాశవంతంగా వుండే స్క్రీన్‌లను ముదురు రంగులోకి మారుస్తుంది ఎక్కువ కాంతిని తట్టుకోలేని వ్యక్తులు స్క్రీన్‌ను మరింత సులభంగా చూడటానికి ఇది సహాయ పడుతుంది.&lt;br/&gt;&lt;br/&gt;గమనిక: ముదురు రంగులు తేలికగా మారుతాయి. మీడియా, ఇమేజ్‌లలో రంగులు మారతాయి. మీరు ముదురు రంగు థీమ్‌ను కూడా ఉపయోగించవచ్చు (సెట్టింగ్‌లు &gt; ప్రదర్శన)."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"ఆటోమేటిక్ క్లిక్ (డ్వెల్ టైమింగ్)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"మీరు మౌస్‌ని ఉపయోగిస్తున్నట్లయితే, కర్సర్ నిర్దిష్ట సమయం పాటు కదలడం ఆగిపోయినప్పుడు అది ఆటోమేటిక్‌గా చర్య తీసుకునే విధంగా దానిని సెట్ చేయండి."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"క్లిక్ చేయడానికి ముందు జాప్యం"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"ఆటో క్లిక్‌ను వాడద్దు (డిఫాల్ట్)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"చిన్నగా"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0.2 సెకన్లు"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"మధ్యస్థం"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0.6 సెకన్లు"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"పొడవైన"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 సెకను"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"అనుకూలం"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"మరింత తక్కువ సమయం"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"మరింత సమయం"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"ఆటో క్లిక్ టైం"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"వైబ్రేషన్ &amp; స్పర్శ సామర్థ్యం"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"నోటిఫికేషన్ వైబ్రేషన్"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"రింగ్ వైబ్రేషన్"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"స్పర్శ ప్రతిస్పందన"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"ఈ సేవను ఉపయోగించు"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>ను ఉపయోగించు"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>ను తెరువు"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"రంగు సవరణను ఉపయోగించండి"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"శీర్షికలను ఉపయోగించండి"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"శీర్షికలను చూపించు"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"శీర్షిక ప్రదర్శన శైలి"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"వచన పరిమాణం, శీర్షిక శైలి"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"మరిన్ని ఎంపికలు"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"ఈ సెట్టింగ్‌కు అన్ని యాప్‌లలో మద్దతు ఉండదు."</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"యాక్సెసిబిలిటీ బటన్"</string>
+    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"2-వేళ్లతో కింది నుండి పైకి స్వైప్ చేయడం"</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>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"వినికిడి పరికరాలు"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"వినికిడి పరికరాలను కనెక్ట్ చేయలేదు"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"వినికిడి మద్దతు ఉపకరణాలను జోడించండి"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"వినికిడి పరికరాలు జత చేయాలంటే, తర్వాతి స్క్రీన్‌లో మీ పరికరాన్ని కనుగొని, దాన్ని నొక్కండి."</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"మీ వినికిడి పరికరాలు జత చేసే మోడ్‌లో ఉన్నట్లు నిర్ధారించుకోండి."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"మీ వినికిడి పరికరాలు జత చేయాలంటే, తర్వాతి స్క్రీన్‌లో మీ పరికరాన్ని కనుగొని, దానిపై నొక్కండి. మీ వినికిడి పరికరాలు జత చేసే మోడ్‌లో ఉన్నట్లు నిర్ధారించుకోండి."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> యాక్టివ్‌గా ఉంది"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> వినికిడి పరికరాలు సేవ్ చేయబడ్డాయి</item>
@@ -2178,25 +2204,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"ఈ సేవ పాడైంది."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"శీఘ్ర సెట్టింగ్‌ల్లో చూపు"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"సవరణ మోడ్"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="other">అత్యంత తక్కువ ఆలస్యం (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> మి.సె)</item>
-      <item quantity="one">అత్యంత తక్కువ ఆలస్యం (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> మి.సె)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"ఎరుపు-ఆకుపచ్చ రంగు"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"ఆకుపచ్చ రంగు-ఎరుపు"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"నీలం-పసుపు"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"డ్యూటెరానోమలీ"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"ప్రొటానోమలీ"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"ట్రైటనోమలీ"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="other">అత్యంత తక్కువ ఆలస్యం (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> సెకన్లు)</item>
+      <item quantity="one">అత్యంత తక్కువ ఆలస్యం (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g>సెకను)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="other">చాలా తక్కువ ఆలస్యం (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> మి.సె)</item>
-      <item quantity="one">చాలా తక్కువ ఆలస్యం (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> మి.సె)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="other">చాలా తక్కువ ఆలస్యం (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> సెకన్లు)</item>
+      <item quantity="one">చాలా తక్కువ ఆలస్యం (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> సెకను)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="other">తక్కువ ఆలస్యం (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> మి.సె)</item>
-      <item quantity="one">తక్కువ ఆలస్యం (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> మి.సె)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="other">తక్కువ ఆలస్యం (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> సెకన్లు)</item>
+      <item quantity="one">తక్కువ ఆలస్యం (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> సెకను)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="other">ఎక్కువ ఆలస్యం (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> మి.సె)</item>
-      <item quantity="one">ఎక్కువ ఆలస్యం (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> మి.సె)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="other">సుదీర్ఘమైన ఆలస్యం (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> సెకన్లు)</item>
+      <item quantity="one">సుదీర్ఘమైన ఆలస్యం (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> సెకను)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="other">చాలా ఎక్కువ ఆలస్యం (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> మి.సె)</item>
-      <item quantity="one">చాలా ఎక్కువ ఆలస్యం (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> మి.సె)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="other">చాలా ఎక్కువ ఆలస్యం (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g>సెకన్లు)</item>
+      <item quantity="one">చాలా ఎక్కువ ఆలస్యం (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> సెకను)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> సెకన్లు</item>
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> సెకను</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"రింగ్ శబ్దం <xliff:g id="SUMMARY_RING">%1$s</xliff:g>, నోటిఫికేషన్ శబ్దం <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>, టచ్ శబ్దం <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"రింగ్ &amp; నోటిఫికేషన్ ఆఫ్‌కు సెట్ చేయబడింది"</string>
@@ -2513,7 +2549,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"<xliff:g id="UNPLUGGED">%1$s</xliff:g> వరకు చివరిగా అన్‌ప్లగ్ చేయబడినప్పుడు"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"వినియోగ మొత్తాలు"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"రిఫ్రెష్ చేయి"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"Android OS"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"మీడియా సర్వర్"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"అనువర్తన అనుకూలీకరణ"</string>
     <string name="battery_saver" msgid="7737147344510595864">"బ్యాటరీ సేవర్"</string>
@@ -2594,8 +2629,7 @@
     <string name="tts_play" msgid="2945513377250757221">"ప్లే చేయి"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"ఆధారాల నిల్వ"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"నిల్వ నుండి ఇన్‌స్టాల్ చేయండి"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"SD కార్డు నుండి ఇన్‌స్టాల్ చేయండి"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"సర్టిఫికెట్ ఇన్‌స్టాల్ చేయండి"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"నిల్వ నుండి స‌ర్టిఫికెట్‌ల‌ను ఇన్‌స్టాల్ చేయండి"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"SD కార్డు నుండి సర్టిఫికెట్‌లను ఇన్‌స్టాల్ చేయండి"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"ఆధారాలను క్లియర్ చేయండి"</string>
@@ -2615,6 +2649,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"ఆధారాల నిల్వ ఎరేజ్ చేయబడింది."</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"ఆధారాల నిల్వను ఎరేజ్ చేయడం సాధ్యపడలేదు."</string>
     <string name="usage_access_title" msgid="1580006124578134850">"వినియోగ యాక్సెస్ గల యాప్‌లు"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"CA సర్టిఫికెట్"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"VPN యాప్ యూజర్ సర్టిఫికెట్"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"Wi‑Fi సర్టిఫికెట్"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"మీ గోప్యత ప్రమాదంలో ఉంది"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"ఎన్‌క్రిప్షన్ కోసం వెబ్‌సైట్‌లు, యాప్‌లు, VPNలు CA సర్టిఫికెట్‌లను ఉపయోగిస్తున్నాయి. మీకు నమ్మకం ఉన్న సంస్థల నుండి మాత్రమే CA సర్టిఫికెట్‌లను ఇన్‌స్టాల్ చేయండి. \n\n మీరు CA సర్టిఫికెట్‌ను ఇన్‌స్టాల్ చేసినట్లయితే, మీరు సందర్శించిన వెబ్‌సైట్‌లు లేదా మీరు ఉపయోగించిన యాప్‌లలోని పాస్‌వర్డ్‌‌లు, సందేశాలు, లేదా క్రెడిట్ కార్డ్ వివరాల వంటి మీ గోప్యమైన సమాచారం, ఎన్‌క్రిప్ట్ చేసినప్పటికి, సర్టిఫికెట్ యజమాని యాక్సెస్ చేయగలరు."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"ఇన్‌స్టాల్ చేయవద్దు"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"అయినా సరే ఇన్‌స్టాల్ చేయి"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"సర్టిఫికెట్ ఇన్‌స్టాల్ చేయబడలేదు"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"అత్యవసర డయలింగ్ సిగ్నల్"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"అత్యవసర కాల్ వచ్చినప్పుడు చేయాల్సిన విధిని సెట్ చేయండి"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"బ్యాకప్"</string>
@@ -2642,10 +2684,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"నిష్క్రియం చేసి, అన్ఇన్‌స్టాల్ చేయి"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"పరికర నిర్వాహకుల యాప్‌లు"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"పరికర నిర్వాహకుల అనువర్తనాలు అందుబాటులో లేవు"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"వ్యక్తిగతం"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"కార్యాలయం"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"SMS &amp; కాల్ లాగ్ యాక్సెస్‌ను పరిమితం చేయండి"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"కేవలం డిఫాల్ట్ ఫోన్ మరియు సందేశ యాప్‌లు మాత్రమే SMS &amp; లాగ్ అనుమతులను కలిగి ఉన్నాయి"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"విశ్వసనీయ ఏజెంట్‌లు అందుబాటులో లేరు"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"పరికర నిర్వాహకుల యాప్‌ను యాక్టివేట్‌ చేయాలా?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"ఈ పరికరం నిర్వాహకుల యాప్‌ను యాక్టివేట్‌ చేయి"</string>
@@ -2659,6 +2697,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"ఇతర ఎంపికలను మీ నిర్వాహకులు నిలిపివేసారు"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"మరిన్ని వివరాలు"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"నోటిఫికేషన్ లాగ్"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"నోటిఫికేషన్ చరిత్ర"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"ఈరోజు"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"తాత్కాలికంగా ఆపివేసినవి"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"ఇటీవల తీసివేయబడినవి"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> నోటిఫికేషన్‌లు</item>
+      <item quantity="one"><xliff:g id="NUMBER_0">%d</xliff:g> నోటిఫికేషన్</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"కాల్ రింగ్‌టోన్ &amp; వైబ్రేట్"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"నెట్‌వర్క్ వివరాలు"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"సమకాలీకరణ ప్రారంభించబడింది"</string>
@@ -3008,7 +3054,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"పరిమితులు"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"పరిమితులను తీసివేయి"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"పిన్‌ను మార్చు"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"నోటిఫికేషన్‌లను చూపు"</string>
     <string name="help_label" msgid="2896538416436125883">"సహాయం &amp; అభిప్రాయం"</string>
     <string name="support_summary" msgid="1034146931237148885">"సహాయక కథనాలు, ఫోన్ &amp; చాట్, ప్రారంభించండి"</string>
     <string name="user_account_title" msgid="6389636876210834864">"కంటెంట్ కోసం ఖాతా"</string>
@@ -3033,6 +3078,14 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G కాలింగ్"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"వాయిస్, ఇతర కమ్యూనికేషన్‌లను మెరుగుపరచడానికి LTE సేవలను ఉపయోగించు (సిఫార్సు చేయబడింది)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"వాయిస్, ఇతర కమ్యూనికేషన్‌లను మెరుగుపరచడానికి 4G సేవలను ఉపయోగించండి (సిఫార్సు చేయబడింది)"</string>
+    <!-- no translation found for contact_discovery_opt_in_title (4076990635900099116) -->
+    <skip />
+    <!-- no translation found for contact_discovery_opt_in_summary (4104310593310967300) -->
+    <skip />
+    <!-- no translation found for contact_discovery_opt_in_dialog_title (6278407286820554079) -->
+    <skip />
+    <!-- no translation found for contact_discovery_opt_in_dialog_message (5787751513924920435) -->
+    <skip />
     <string name="preferred_network_type_title" msgid="812509938714590857">"ప్రాధాన్య నెట్‌వర్క్ రకం"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (సిఫార్సు చేయబడింది)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS సందేశాలు"</string>
@@ -3077,7 +3130,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"దీనితో కాల్ చేయండి"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"సిమ్ కార్డును ఎంచుకోండి"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"సిమ్ <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"సిమ్ లేదు"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"సిమ్ పేరు"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"SIM పేరు నమోదు చేయండి"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"SIM స్లాట్ %1$d"</string>
@@ -3087,6 +3139,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"సిమ్ కార్డ్‌ను ఎంచుకోండి"</string>
     <string name="color_orange" msgid="216547825489739010">"నారింజ రంగు"</string>
     <string name="color_purple" msgid="6603701972079904843">"వంగ రంగు"</string>
+    <string name="color_pink" msgid="8596872110888626708">"గులాబి"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"సిమ్ కార్డులు ఏవీ చొప్పించబడలేదు"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"సిమ్ స్థితి"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"సిమ్ స్థితి (సిమ్ స్లాట్ %1$d)"</string>
@@ -3100,7 +3153,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"SIM కార్డ్‌లు మార్చబడ్డాయి."</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"సెటప్ చేయడానికి నొక్కండి"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"దీని కోసం ప్రాధాన్య SIM"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"ప్రతిసారి అడుగు"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"ఎంపిక అవసరం"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"సిమ్ ఎంపిక"</string>
@@ -3118,6 +3170,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"బ్లూటూత్, డ్రైవింగ్ మోడ్"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"బ్లూటూత్, NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"బ్లూటూత్"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"NFC ఆఫ్‌లో ఉన్నందున అందుబాటులో లేదు"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"యాప్‌లు &amp; నోటిఫికేషన్‌లు"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"ఇటీవలి యాప్‌లు, డిఫాల్ట్ యాప్‌లు"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"కార్యాలయ ప్రొఫైల్‌లో ఉన్న యాప్‌లకు సంబంధించి నోటిఫికేషన్ యాక్సెస్ అందుబాటులో లేదు."</string>
@@ -3128,13 +3181,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"సెట్టింగ్‌లు"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"wifi, wi-fi, నెట్‌వర్క్ కనెక్షన్, ఇంటర్నెట్, వైర్‌లెస్, డేటా, wi fi"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"Wi‑Fi నోటిఫికేషన్, wifi నోటిఫికేషన్"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"డేటా వినియోగం"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"వైబ్రేషన్ ఆపివేయి, నొక్కడం, కీబోర్డ్"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"24-గంటల ఫార్మాట్‌ను ఉపయోగించు"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"డౌన్‌లోడ్ చేయి"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"దీనితో తెరువు"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"అప్లికేషన్‌లు"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"సమయ మండలి"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"చాట్ హెడ్"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"చాట్ హెడ్, సిస్టమ్, హెచ్చరిక, విండో, డైలాగ్, ప్రదర్శన, ఇతర అగ్ర యాప్‌ల పైకి, లాగడం"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"ఫ్లాష్‌లైట్, లైట్, టార్చ్"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"wifi, wi-fi, టోగుల్, నియంత్రణ"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"సెల్యులార్, మొబైల్, సెల్ క్యారియర్, వైర్‌లెస్, డేటా, 4g, 3g, 2g, lte"</string>
@@ -3158,7 +3212,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"ఆటంకం కలిగించవద్దు, అంతరాయం కలిగించు, అంతరాయం, విరామం"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"సమీపంలోని, స్థానం, చరిత్ర, నివేదించబడుతోంది, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"ఖాతా"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"ఖాతా, ఖాతాను జోడించండి, కార్యాలయ ప్రొఫైల్, ఖాతాను జోడించండి"</string>
     <string name="keywords_users" msgid="3497517660077620843">"పరిమితి, పరిమితం చేయి, పరిమితం చేయబడింది"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"వచన దిద్దుబాటు, దిద్దుబాటు చేయి, ధ్వని, వైబ్రేట్, స్వయంచాలకం, భాష, సంజ్ఞ, సూచించు, సూచన, థీమ్, అభ్యంతరకరం, పదం, రకం, ఎమోజీ, అంతర్జాతీయం"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"రీసెట్, ప్రాధాన్యతలు, డిఫాల్ట్"</string>
@@ -3196,6 +3250,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"మెమరీ, కాష్, డేటా, తొలగించు, క్లియర్ చేయి, ఖాళీ, స్థలం"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"కనెక్ట్ అయింది, పరికరం, హెడ్‌ఫోన్‌లు, హెడ్‌సెట్, స్పీకర్, వైర్‌లెస్, జత చేయి, ఇయర్‌బడ్‌లు, సంగీతం, మీడియా"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"నేపథ్యం, స్క్రీన్, లాక్‌స్క్రీన్, థీమ్"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"చిహ్నం ఆకారం, ముదురు రంగు, ఫాంట్"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"డిఫాల్ట్, అసిస్టెంట్"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"చెల్లింపు, డిఫాల్ట్"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"ఇన్‌కమింగ్ నోటిఫికేషన్"</string>
@@ -3205,18 +3260,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"స్పర్శలు, వైబ్రేట్, సెన్సిటివిటీ"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"బ్యాటరీ సేవర్, అనుబంధితం, స్థిరం, పవర్ సేవర్, బ్యాటరీ"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"సాధారణ సమయం, షెడ్యూల్, బ్యాటరీ సేవర్, పవర్ సేవర్, బ్యాటరీ, ఆటోమేటిక్, శాతం"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"కార్యాలయ ప్రొఫైల్"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"volte, అధునాతన కాలింగ్, 4g కాలింగ్"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"భాషను జోడించు, ఒక భాషను జోడించు"</string>
     <string name="default_sound" msgid="6604374495015245195">"డిఫాల్ట్ ధ్వని"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"రింగ్ వాల్యూమ్ <xliff:g id="PERCENTAGE">%1$s</xliff:g> ఉంది"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"రింగ్ &amp; నోటిఫికేషన్ వాల్యూమ్ <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"వాల్యూమ్, వైబ్రేషన్, అంతరాయం కలిగించవద్దు"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"రింగర్ వైబ్రేట్‌కి సెట్ చేయబడింది"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"రింగర్ నిశ్శబ్దానికి సెట్ చేయబడింది"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"రింగ్ వాల్యూమ్ 80% ఉంది"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"రింగ్ &amp; నోటిఫికేషన్ వాల్యూమ్ 80%"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"మీడియా వాల్యూమ్"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"ప్రసారం వాల్యూమ్"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"కాల్ వాల్యూమ్"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"అలారం వాల్యూమ్"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"రింగ్ వాల్యూమ్"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"రింగ్ &amp; నోటిఫికేషన్ వాల్యూమ్"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"నోటిఫికేషన్ వాల్యూమ్"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"ఫోన్ రింగ్‌టోన్"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"డిఫాల్ట్ నోటిఫికేషన్ ధ్వని"</string>
@@ -3224,6 +3280,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"డిఫాల్ట్ నోటిఫికేషన్ ధ్వని"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"డిఫాల్ట్ అలారం ధ్వని"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"కాల్స్ వచ్చినప్పుడు వైబ్రేట్ అవ్వు"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"ఎప్పుడూ వైబ్రేట్ చేయవద్దు"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"ఎల్లప్పుడూ వైబ్రేట్ చేయి"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"మొదట వైబ్రేట్ చేసి, క్రమంగా రింగ్ పెంచు"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"ఇతర ధ్వనులు"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"డయల్ ప్యాడ్ టోన్‌లు"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"స్క్రీన్ లాకింగ్ ధ్వనులు"</string>
@@ -3247,6 +3306,7 @@
       <item quantity="one">1 ప్రారంభించారు</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"అంతరాయం కలిగించవద్దు"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"ముఖ్యమైన వ్యక్తులు, యాప్‌ల నుంచి వచ్చే నోటిఫికేషన్‌లను మాత్రమే అందించు"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"అంతరాయాలను పరిమితం చేయండి"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"అంతరాయం కలిగించవద్దును ఆన్ చేయండి"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"మినహాయింపులు"</string>
@@ -3273,7 +3333,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"దృశ్య అంతరాయాలను బ్లాక్ చేయండి"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"దృశ్యమానత సంకేతాలను అనుమతించండి"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"అంతరాయం కలిగించవద్దు మోడ్ ఆన్‌లో ఉన్నప్పుడు"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"శబ్దాలు చేసే అంతరాయాలను అనుమతించు"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"నోటిఫికేషన్‌లను పరిమితం చేయండి"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"నోటిఫికేషన్‌ల నుండి శబ్దం లేదు"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"మీ స్క్రీన్‌పై మీకు నోటిఫికేషన్‌లు కనిపిస్తాయి"</string>
@@ -3304,7 +3364,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"ధ్వని మరియు వైబ్రేషన్"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"ధ్వని, వైబ్రేషన్ మరియు కొన్ని నోటిఫికేషన్‌ల యొక్క దృశ్య జాబితా చిహ్నాలు"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"ధ్వని, వైబ్రేషన్ మరియు నోటిఫికేషన్‌ల యొక్క దృశ్య జాబితా చిహ్నాలు"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"ప్రాథమిక ఫోన్ కార్యాకలాపం మరియు స్థితికి అవసరమైన నోటిఫికేషన్‌లు ఎప్పటికీ దాచబడవు"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"ఫోన్‌లోని ప్రాథమిక కార్యకలాపాలకు, దాని స్టేటస్‌కు అవసరమైన నోటిఫికేషన్‌లు ఎప్పటికీ దాచబడవు."</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"ఏదీ కాదు"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"ఇతర ఎంపికలు"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"జోడించు"</string>
@@ -3334,10 +3394,12 @@
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> షెడ్యూల్‌లు ఆటోమేటిక్‌గా ఆన్ అవుతాయి</item>
       <item quantity="one">1 షెడ్యూల్ ఆటోమేటిక్‌గా ఆన్ అవుతుంది</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"పరికరాన్ని మ్యూట్ చేయి, కానీ మినహాయింపులను అనుమతించు"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"మినహాయింపులు"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"షెడ్యూల్"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"అన్ని మినహాయింపులను చూడండి"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"అంతరాయం కలిగించవద్దు మోడ్ ఆన్‌లో ఉన్నప్పుడు మినహాయింపులు"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"వ్యక్తులు"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"యాప్‌లు"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"అలారంలు &amp; ఇతర అంతరాయాలు"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"షెడ్యూల్‌లు"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"నిశ్శబ్దం చేయబడిన నోటిఫికేషన్‌లు"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"అంతరాయం కలిగించవద్దు ఆన్‌లో ఉన్నప్పుడు, పైన మీరు అనుమతించే అంశాల‌కు త‌ప్పించి  మిగిలిన వాటికి శబ్దం, వైబ్రేషన్ మ్యూట్ చేయబడతాయి."</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"కొన్ని మినహా అన్ని మ్యూట్ చేయండి"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"మ్యూట్ చేయబడినవి"</string>
@@ -3381,16 +3443,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"అనుకూల నోటిఫికేషన్‌లు"</string>
     <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_capabilities_actions_replies_title" msgid="4392470465646394289">"సూచించబడిన చర్యలు, ప్రత్యుత్తరాలు"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"చర్య సూచనలు &amp; ప్రత్యుత్తరాలను ఆటోమేటిక్‌గా చూపుతుంది"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"గత నోటిఫికేషన్‌లను, స్నూజ్ చేసిన నోటిఫికేషన్‌లను తెలుసుకుంటూ ఉండటానికి నోటిఫికేషన్ చరిత్రను ఆన్‌లో ఉంచండి"</string>
+    <string name="notification_history" msgid="8663811361243456201">"నోటిఫికేషన్ చరిత్ర"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"చరిత్రను ఆన్ చేయండి"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"చరిత్రను ఆఫ్ చేయండి"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"నోటిఫికేషన్ చరిత్ర ఆఫ్ చేయబడింది"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"నోటిఫికేషన్ సెట్టింగ్‌లను చూడండి"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"తాత్కాలిక ఆపివేత నోటిఫికేషన్‌ను అనుమతించు"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"సాధారణ నోటిఫికేషన్‌ల చిహ్నాలను దాచి పెట్టు"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"సాధారణ నోటిఫికేషన్‌లకు సంబంధించిన చిహ్నాలు స్థితి పట్టీలో చూపబడవు"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"నోటిఫికేషన్ డాట్‌లను అనుమతించండి"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"ఇటీవలి సంభాషణల స్ట్రిప్‌ను చూపు"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"బబుల్‌లు"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"కొన్ని నోటిఫికేషన్‌లు బబుల్‌లుగా స్క్రీన్‌పై కనిపిస్తాయి"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"కొన్ని నోటిఫికేషన్‌లు, ఇతర కంటెంట్‌, స్క్రీన్‌పై బబుల్‌లుగా కనిపిస్తాయి. బబుల్‌ను తెరవడానికి, దానిపై నొక్కండి. దానిని తీసివేయడానికి, దానిని స్క్రీన్ కిందికి లాగండి."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"బబుల్‌లు"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"కొత్త మెసేజ్‌లు స్క్రీన్‌పై కనిపిస్తాయి"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"కొన్ని నోటిఫికేషన్‌లను బబుల్‌ల రూపంలో చూపడానికి <xliff:g id="APP_NAME">%1$s</xliff:g>ను అనుమతించండి"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"బబుల్‌లు ఆన్ చేయండి"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"ఈ యాప్ కోసం బబుల్‌లను ఆన్ చేయడానికి, మొదట మీరు వాటిని మీ పరికరం కోసం ఆన్ చేయాలి. మీరు గతంలో బబుల్‌లను ఆన్ చేసిన ఇతర యాప్‌లను ఇది ప్రభావితం చేస్తుంది."</string>
@@ -3408,6 +3480,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"కిందకు-లాగే షేడ్ &amp; లాక్ స్క్రీన్‌లో ప్రదర్శిస్తుంది"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"కిందకు-లాగే షేడ్ &amp; స్థితి పట్టీ‌లో ప్రదర్శిస్తుంది"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"కిందకు-లాగే షేడ్, స్థితి పట్టీ &amp; లాక్ స్క్రీన్‌లో ప్రదర్శింపబడుతుంది"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"స్టేటస్ బార్‌లో నిశ్శబ్ద నోటిఫికేషన్‌లను దాచు"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"కాంతి మిణుకుమిణుకు అనేలా ఉంచు"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"లాక్ స్క్రీన్"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"లాక్ స్క్రీన్‌ను దాటవేయి"</string>
@@ -3438,6 +3511,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"ప్రవర్తన"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"ధ్వనిని అనుమతించండి"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"ఎన్నడూ నోటిఫికేషన్‌లను చూపవద్దు"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"సంభాషణలు"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"సంభాషణ"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"సంభాషణ కాదు"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"సంభాషణ విభాగం నుండి తీసివేయండి"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"ఇది ఒక సంభాషణ"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"సంభాషణ విభాగానికి జోడించండి"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"సంభాషణలను మేనేజ్ చేయండి"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"ముఖ్యమైన సంభాషణలు"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"అన్ని సంభాషణలు"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"ముఖ్యమైన సంభాషణలను బబుల్ చేయండి"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"కిందకు-లాగే షేడ్ ఎగువ భాగంలో ముఖ్యమైన సంభాషణలు కనిపిస్తాయి. మీరు వాటిని బబుల్‌గా కూడా సెట్ చేయవచ్చు \'అంతరాయం కలిగించవద్దు\'ను ఆపవచ్చు."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"నిశ్శబ్దంగా చూపించు మరియు కనిష్టీకరించండి"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"నిశ్శబ్దంగా చూపు"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"శబ్దం చేయి"</string>
@@ -3456,7 +3540,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"శబ్దం లేదా వైబ్రేషన్ లేకుండా దృష్టి కేంద్రీకరించడానికి మీకు సహాయపడుతుంది"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"శబ్దం లేదా వైబ్రేషన్‌తో మీరు దృష్టి సారించేలా చేస్తుంది"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"ఫోన్‌ను అన్‌లాక్ చేసినప్పుడు స్క్రీన్ పైభాగంలో ఒక‌ బ్యానర్‌గా నోటిఫికేషన్‌లను చూపించు"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"నోటిఫికేషన్‌లను చూపండి"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"అన్ని <xliff:g id="APP_NAME">%1$s</xliff:g> నోటిఫికేషన్‌లు"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"అనుకూల నోటిఫికేషన్‌లు"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="other">రోజుకు~<xliff:g id="NUMBER_1">%d</xliff:g> నోటిఫికేషన్‌లు</item>
@@ -3477,6 +3561,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"అనుకూల నోటిఫికేషన్‌లు"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"ఏమీ లేవు"</string>
     <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="3119843404577399036">"<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>
@@ -3538,8 +3623,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"పూర్తయింది"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"ప్రాముఖ్యత"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"కాంతి మిణుకుమిణుకు అనేలా ఉంచు"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"వైబ్రేషన్"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"వైబ్రేషన్"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"ధ్వని"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"ముఖ్యమైనది"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"హోమ్‌కు జోడించండి"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"తొలగించు"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"పేరు మార్చు"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"షెడ్యూల్ పేరు"</string>
@@ -3593,6 +3680,10 @@
       <item quantity="other">మరో <xliff:g id="NUM_PEOPLE">%d</xliff:g> మంది</item>
       <item quantity="one">మరో 1 వ్యక్తి</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"సంభాషణలు"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"అన్ని సంభాషణల నుండి"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"ముఖ్యమైన సంభాషణల నుండి"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"సంభాషణలు ఏవీ అనుమతించవద్దు"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"సందేశాలను అనుమతించు"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"అనుమతించిన సందేశాలు వచ్చినప్పుడు ఖచ్చితంగా శబ్దం వస్తుందో లేదో, అసలు మీ పరికరం రింగ్‌, వైబ్రేట్ లేదా నిశ్శబ్ద మోడ్‌లలో ఏ మోడ్‌లో ఉందో ఓసారి తనిఖీ చేసి చూడండి."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"‘<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>’కి సంబంధించిన ఇన్‌కమింగ్ కాల్‌లు బ్లాక్ చేయబడ్డాయి. మీ స్నేహితులు, కుటుంబ సభ్యులు లేదా ఇతర పరిచయాలు మిమ్మల్ని సంప్రదించగలిగేలా మీరు సెట్టింగ్‌లను సర్దుబాటు చేయవచ్చు."</string>
@@ -3606,15 +3697,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"ఏవీ వద్దు"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"ఏ కాల్‌లను అనుమతించవద్దు"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"సందేశాలు ఏవీ అనుమతించవద్దు"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"అలారంలను అనుమతించు"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"అలారాలు"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"టైమర్‌లు, అలారంలు, భద్రతా సిస్టమ్‌లు, ఇతర యాప్‌ల నుంచి"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"అలారాలు"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"మీడియా శబ్దాలను ప్లే చేయి"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"మీడియా శబ్దాలు"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"వీడియోలు, గేమ్‌లు, ఇతర మీడియా నుంచి"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"మీడియా"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"తాకినప్పుడు ధ్వనులను అనుమతించు"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"తాకినప్పుడు ధ్వనులు"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"మీ కీ బోర్డ్, ఇతర బటన్‌ల నుంచి"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"తాకినప్పుడు ధ్వనులు"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"రిమైండర్‌లను అనుమతించు"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"రిమైండర్‌లు"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"టాస్క్‌లు, రిమైండర్‌ల నుంచి"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"రిమైండర్‌లు"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"ఈవెంట్‌లను అనుమతించు"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"ఈవెంట్‌లు"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"రానున్న క్యాలెండర్ ఈవెంట్‌ల నుంచి"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"భర్తీ చేయడానికి యాప్‌లను అనుమతించు"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"యాప్ మినహాయింపులు"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3657,6 +3753,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"అంతరాయం కలిగించవద్దు ద్వారా నిశ్శబ్దం చేయబడిన నోటిఫికేషన్‌లను స్క్రీన్‌ని ఆన్ చేయనివ్వండి"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"నోటిఫికేషన్ సెట్టింగ్‌లు"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"సరే"</string>
+    <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>
@@ -3667,6 +3764,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"అన్‌పిన్ చేయడానికి ముందు పిన్‌ను అడుగు"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"అన్‌పిన్ చేయడానికి ముందు పాస్‌వర్డ్ కోసం అడుగు"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"అన్‌పిన్ చేస్తున్నప్పుడు పరికరాన్ని లాక్ చేయి"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"SIM తొలగింపును నిర్ధారించండి"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"డౌన్‌లోడ్ అయిన SIMను తొలగించేముందు మీరేనని వెరిఫై చేయండి"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"ఈ కార్యాలయ ప్రొఫైల్ వీరి నిర్వహణలో ఉంది:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"నిర్వహిస్తున్నది <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(ప్రయోగాత్మకం)"</string>
@@ -3743,8 +3842,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"అన్ని యాప్‌లు"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"ఇన్‌స్టాల్ చేయబడిన యాప్‌లు"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"తక్షణ యాప్‌లు"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"వ్యక్తిగతం"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"కార్యాలయం"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"అనువర్తనాలు: అన్నీ"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"ఆఫ్ చేయబడింది"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"వర్గాలు: అత్యవసర ప్రాధాన్యత"</string>
@@ -3756,6 +3853,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"తెలియని యాప్"</string>
     <string name="app_permissions" msgid="8666537659217653626">"అనుమతి మేనేజర్"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"యాప్‌లు <xliff:g id="APPS">%1$s</xliff:g>‌ను ఉపయోగిస్తున్నాయి"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"<xliff:g id="APPS">%1$s</xliff:g>ను, మరిన్నిటిని ఉపయోగిస్తున్న యాప్‌లు"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"సక్రియం చేయడానికి నొక్కండి"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"పరికరాన్ని సక్రియం చేయడానికి స్క్రీన్‌పై ఎక్కడైనా రెండుసార్లు నొక్కండి"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"లింక్‌లను తెరవడం"</string>
@@ -3767,9 +3865,14 @@
       <item quantity="other">మద్దతు ఉన్న లింక్‌లను తెరవగల సామర్థ్యం <xliff:g id="COUNT">%d</xliff:g> అనువర్తనాలకు ఉంది</item>
       <item quantity="one">మద్దతు ఉన్న లింక్‌లను తెరవగల సామర్థ్యం ఒక అనువర్తనానికి ఉంది</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"ఈ యాప్‌లో తెరవాలి"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"మద్దతిచ్చే లింక్‌లను తెరవడానికి యాప్‌ను అనుమతించండి"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"ప్రతిసారి అడగాలి"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"ఈ యాప్‌లో తెరవకూడదు"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"లింక్‌లను తెరవడానికి యాప్‌ను అనుమతించవద్దు"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="other">యాప్ <xliff:g id="COUNT_1">%d</xliff:g> లింక్‌లను నిర్వహించే క్లెయిమ్ చేస్తుంది</item>
+      <item quantity="one">యాప్ <xliff:g id="COUNT_0">%d</xliff:g> లింక్‌ను నిర్వహించే క్లెయిమ్ చేస్తుంది</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"యాప్ ఈ కింది లింక్‌లను నిర్వహించే క్లెయిమ్ చేస్తుంది:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"డిఫాల్ట్"</string>
     <string name="default_for_work" msgid="537558180548617528">"కార్యాలయం కోసం డిఫాల్ట్"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"సహాయకం &amp; వాయిస్ ఇన్‌పుట్"</string>
@@ -3913,8 +4016,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"ఇతర యాప్‌ల ఎగువన ప్రదర్శన"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"ఇతర యాప్‌ల ఎగువన కనిపించడానికి అనుమతించు"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"మీరు ఉపయోగించే ఇతర అనువర్తనాలలో ఎగువ భాగంలో కనిపించడం కోసం ఈ అనువర్తనాన్ని అనుమతించండి. మీరు ఆ అనువర్తనాలను ఉపయోగించే సమయంలో ఇది అంతరాయం కలిగించవచ్చు లేదా అవి కనిపించే లేదా ప్రవర్తించే తీరును మార్చవచ్చు."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"అన్ని ఫైల్‌లకు యాక్సెస్"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"అన్ని ఫైల్‌లను నిర్వహించడానికి అనుమతించండి"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"ఈ పరికరంలో, లేదా కనెక్ట్ చేయబడిన ఏవైనా నిల్వ వాల్యూమ్‌లలో, అన్ని ఫైల్‌లను చదవడానికి, మార్చడానికి, తొలగించడానికి ఈ యాప్‌నకు అనుమతిని ఇవ్వండి. అటువంటి అనుమతిని మీరు మంజూరు చేస్తే, మీకు ప్రత్యేకంగా తెలియపరచకుండానే మీ ఫైల్‌లను యాప్ యాక్సెస్ చేయవచ్చు."</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"అన్ని ఫైల్‌లను యాక్సెస్ చేయగలవు"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"vr వర్చువల్ రియాలిటీ పరిశీలన స్టీరియో సహాయకం సేవ"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"సిస్టమ్ హెచ్చరిక విండో డైలాగ్‌ని ఇతర అనువర్తనాల ఎగువన చూపు"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"ఇతర యాప్‌ల పైన ప్రదర్శన"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"<xliff:g id="COUNT_1">%2$d</xliff:g>లో <xliff:g id="COUNT_0">%1$d</xliff:g> యాప్‌లు ఇతర యాప్‌ల ఎగువన కనిపించడానికి అనుమతించబడ్డాయి"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"అనుమతి ఉన్న అనువర్తనాలు"</string>
@@ -4080,6 +4186,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"<xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g> వినియోగించబడింది"</string>
     <string name="data_overusage" msgid="3680477320458707259">"<xliff:g id="ID_1">^1</xliff:g>ని మించింది"</string>
     <string name="data_remaining" msgid="6316251496381922837">"<xliff:g id="ID_1">^1</xliff:g> మిగిలి ఉంది"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"<xliff:g id="START_DATE">%1$s</xliff:g>నుండి<xliff:g id="END_DATE">%2$s</xliff:g> మధ్య గల డేటా వినియోగాన్ని చూపించే గ్రాఫ్"</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"ఈ తేదీ పరిధిలో డేటా లేదు"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="other">%d రోజులు మిగిలి ఉన్నాయి</item>
       <item quantity="one">%d రోజు మిగిలి ఉంది</item>
@@ -4143,14 +4251,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"పార్సిల్ పరిమాణం"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"యాష్‌మెమ్"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"నోటిఫికేషన్ హెచ్చరించబడింది"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"ధ్వని"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"వైబ్రేట్"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"నమూనా"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"డిఫాల్ట్"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"ఛానెల్"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"ఏదీ లేదు"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"ర్యాంకింగ్ ఆబ్జెక్ట్ లేదు."</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"ర్యాంకింగ్ ఆబ్జెక్ట్‌లో ఈ కీ లేదు."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"థీమ్ సెట్ చేయబడుతుంది"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"పరికర డిఫాల్ట్"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"డిస్‌ప్లే కట్అవుట్‌"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"ప్రదర్శన కట్అవుట్, నాచ్"</string>
@@ -4239,8 +4343,12 @@
     <string name="information_label" msgid="6939310810756569298">"సమాచారం"</string>
     <string name="low_label" msgid="6525629096999711220">"తక్కువ"</string>
     <string name="high_label" msgid="357503396626018487">"అధికం"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"సెన్సిటివిటీ ఎక్కువగా ఉండటం, అంచుల వెంబడి జరిగే ఏవైనా యాప్ సంజ్ఞలతో ప్రతికూలించవచ్చు."</string>
+    <string name="left_edge" msgid="1513576842959071849">"ఎడమ అంచు"</string>
+    <string name="right_edge" msgid="1505309103265829121">"కుడి అంచు"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"సెన్సిటివిటీ ఎక్కువగా ఉండటం, అంచుల వెంబడి జరిగే ఏవైనా యాప్ సంజ్ఞలతో ప్రతికూలించవచ్చు."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"వెనుకకు వెళ్లే సంజ్ఞ యొక్క సెన్సిటివిటీ"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"సంజ్ఞ సెట్టింగ్‌లు"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"సంజ్ఞ నావిగేషన్, వెనుకకు వెళ్లే సంజ్ఞ సెన్సిటివిటీ, వెనుక సంజ్ఞ"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"ఫోన్ చెక్ చేయ‌డానికి 2 సార్లు నొక్కడం"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"టాబ్లెట్‌ను తరచి చూడటానికి రెండుసార్లు నొక్కండి"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"పరికరాన్ని తరచి చూడటానికి రెండుసార్లు నొక్కండి"</string>
@@ -4395,7 +4503,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"క్యారియర్ కేటాయింపు సక్రియం చేయండి"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"అంతరాయం కలిగించవద్దును అప్‌డేట్ చేయి"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"ఇతర వ్యాపకాలపై దృష్టి మరలకుండా ఉండడానికి నోటిఫికేషన్‌లను పాజ్ చేయండి"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"ఈ లక్షణం ఈ పరికరంలో అందుబాటులో లేదు"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"ఫీచర్ అందుబాటులో లేదు"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"మీ ఫోన్ పనితీరును నెమ్మ‌దించేలా చేస్తున్నందున ఈ ఫీచర్ ఆఫ్ చేయబడింది"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"శక్తివంతమైన GNSS కొలతలు"</string>
@@ -4405,20 +4512,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"కోణం ప్రారంభించబడిన యాప్‌ను ఎంచుకోండి"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"కోణం ప్రారంభించబడిన అప్లికేషన్ సెట్ ఏదీ లేదు"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"కోణం ప్రారంభించబడిన అప్లికేషన్: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"గేమ్ డ్రైవర్‌ల ప్రాధాన్యత"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"గేమ్ డ్రైవర్ సెట్టింగ్‌లను సవరించండి"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"గేమ్ డ్రైవర్ ఆఫ్ చేసి ఉన్నప్పుడు, మీ పరికరంలో ఇన్‌స్టాల్ చేయబడి ఉన్న యాప్‌లకు అప్‌డేట్ చేయబడిన గ్రాఫిక్స్ డ్రైవర్‌ను ఉపయోగించడాన్ని ఎంచుకోవచ్చు."</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"అన్ని యాప్‌లకు ప్రారంభించండి"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"గ్రాఫిక్స్ డ్రైవర్‌ను ఎంచుకోండి"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"డిఫాల్ట్"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"గేమ్ డ్రైవర్"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"Prerelease డ్రైవర్"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"సిస్టమ్ గ్రాఫిక్స్ డ్రైవర్‌"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"గ్రాఫిక్స్ డ్రైవర్ ప్రాధాన్యతలు"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"గ్రాఫిక్స్ డ్రైవర్ సెట్టింగ్‌లను సవరించండి"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"అనేక గ్రాఫిక్స్ డ్రైవర్‌లు ఉన్నప్పుడు, మీ పరికరంలో ఇన్‌స్టాల్ చేయబడి ఉన్న యాప్‌ల కోసం మీరు అప్‌డేట్ చేయబడిన గ్రాఫిక్స్ డ్రైవర్‌ను ఉపయోగించడాన్ని ఎంచుకోవచ్చు."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"అన్ని యాప్‌లకు ఎనేబుల్ చేయండి"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"గ్రాఫిక్స్ డ్రైవర్‌ను ఎంచుకోండి"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"డిఫాల్ట్"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"గేమ్ డ్రైవర్"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"డెవలపర్ డ్రైవర్"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"సిస్టమ్ గ్రాఫిక్స్ డ్రైవర్"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"యాప్ అనుకూలత మార్పులు"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"యాప్ అనుకూలత మార్పులను టోగుల్ చేయడం"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"డిఫాల్ట్‌గా ఎనేబుల్ చేయబడిన మార్పులు"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"డిఫాల్ట్‌గా డిజేబుల్‌ చేయబడిన మార్పులు"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"ఈ ఫోన్‌లో సెట్టింగ్‌కి మద్దతు లేదు"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"ఈ టాబ్లెట్‌లో సెట్టింగ్‌కి మద్దతు లేదు"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"ఈ పరికరంలో సెట్టింగ్‌కి మద్దతు లేదు"</string>
@@ -4437,6 +4550,12 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"పరికరం"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"కాల్‌ల సమయంలో అందుబాటులో ఉండదు"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"అందుబాటులో లేదు"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"అవుట్‌పుట్‌లను యాడ్ చేయండి"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"గ్రూప్"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 పరికరం ఎంచుకోబడింది"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> పరికరాలు ఎంచుకోబడ్డాయి"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"కాల్ తీసుకోండి"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"ఈ APNని మార్చడానికి సాధ్యం కాదు."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"టాబ్లెట్ బ్యాటరీ జీవితకాలాన్ని మెరుగుపరచండి"</string>
@@ -4554,10 +4673,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"ఒకసారి ఒక డౌన్‌లోడ్ చేయబడిన SIMను మాత్రమే యాక్టివ్‌గా ఉంచగలరు.\n\n<xliff:g id="CARRIER1">%1$s</xliff:g>కు మారడం వలన మీ <xliff:g id="CARRIER2">%2$s</xliff:g> సేవ రద్దు చేయబడదు."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"<xliff:g id="CARRIER">%1$s</xliff:g>కు మార్చు"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"SIMను తొలగించు"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"ఈ డౌన్‌లోడ్ చేసిన SIMను తొలగించాలా?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"ఈ SIMను తొలగించడం వలన <xliff:g id="CARRIER_0">%1$s</xliff:g> సేవ ఈ పరికరం నుండి తీసివేయబడుతుంది.\n\n<xliff:g id="CARRIER_1">%2$s</xliff:g>కు సేవ రద్దు చేయబడదు."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"తొలగించు"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"SIM డేటాను తొలగిస్తోంది…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"SIMను తొలగించలేకపోయింది"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"ఎర్రర్ కారణంగా ఈ SIMను తొలగించలేకపోయింది.\n\nమీ పరికరాన్ని పునఃప్రారంభించి, ఆపై మళ్లీ ప్రయత్నించండి."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"ప్రాధాన్యత గల నెట్‌వర్క్ రకం"</string>
@@ -4582,7 +4697,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"చెల్లని నెట్‌వర్క్ మోడ్<xliff:g id="NETWORKMODEID">%1$d</xliff:g>. విస్మరించు."</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"యాక్సెస్ స్థానం పేర్లు"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"<xliff:g id="CARRIER">%1$s</xliff:g>కి కనెక్ట్ చేసినప్పుడు అందుబాటులో ఉండదు"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"వైద్య సమాచారం, అత్యవసర పరిచయాలు"</string>
     <string name="see_more" msgid="7499355691042812723">"మరిన్నింటిని చూడండి"</string>
     <string name="see_less" msgid="2642392725363552793">"తక్కువ చూడండి"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"<xliff:g id="APPNAME">%1$s</xliff:g>తో ఉపయోగించుకునే పరికరం"</string>
@@ -4591,11 +4705,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"ఏదో తప్పు జరిగింది. ఈ అప్లికేషన్ పరికరాన్ని ఎంచుకునే అభ్యర్థనని రద్దు చేసింది."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"విజయవంతంగా కనెక్ట్ చేయబడింది"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"అన్నింటినీ చూపు"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> పరికరాలు కనెక్ట్ అయ్యాయి</item>
-      <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_0">%1$d</xliff:g> పరికరం కనెక్ట్ అయ్యింది</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"బ్లూటూత్‌ పరికరాలు ఏవీ లేవు"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"పరికరం కోసం వెతుకుతోంది..."</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"పరికరానికి కనెక్ట్ చేస్తోంది..."</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"ఎడమ"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"కుడి"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"కేస్"</string>
@@ -4605,6 +4716,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"విమానం మోడ్‌లో సేవ అందుబాటులో ఉండదు"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"ఫోర్స్ డెస్క్‌టాప్ మోడ్"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"ద్వితీయ ప్రదర్శనల్లో ఫోర్స్ ప్రయోగాత్మక డెస్క్‌టాప్ మోడ్"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"స్వతంత్ర రూప పరిమాణ అనుకూలతను ఎనేబుల్ చేయండి"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"పరిమాణ అనుకూలత గల యాప్‌లను స్వతంత్ర రూపంలో ఉండేందుకు అనుమతిస్తుంది"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"ఫోర్స్‌-డార్క్‌ను అధిగ‌మించ‌డం"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"ఫోర్స్‌-డార్క్ ఫీచ‌ర్‌ను అధిగ‌మించ‌డం ఎల్ల‌ప్పుడూ ఆన్‌లో ఉండాలి"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"గోప్యత"</string>
@@ -4641,6 +4754,10 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"మీరు ఇటీవల ఈ యాప్‌ను ఇన్‌స్టాల్ చేసారు."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"అవుట్‌పుట్ మార్చండి"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>లో ప్లే అవుతోంది"</string>
+    <!-- no translation found for media_output_disconnected_status (5567111639832431865) -->
+    <skip />
+    <!-- no translation found for media_output_switch_error_text (603563475910236831) -->
+    <skip />
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"ముఖ్య సమాచారం"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"కొనసాగించు"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"వద్దు, ధన్యవాదాలు"</string>
@@ -4668,8 +4785,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"SIM కాంబినేషన్"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"మీ కార్యాలయ విధానానికి సంబంధించిన సమాచారం"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"మీ IT నిర్వాహకుల ద్వారా సెట్టింగ్‌లు నిర్వహించబడతాయి"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"బగ్ నివేదిక హ్యాండ్లర్"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"మీ పరికరంలో బగ్ నివేదిక షార్ట్‌కట్‌ను ఏ యాప్ నిర్వహించాలో నిర్ణయిస్తుంది."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"వ్యక్తిగతం"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"కార్యాలయం"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"సిస్టమ్ డిఫాల్ట్"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"ఈ ఎంపిక ఇప్పుడు లేదు. మళ్లీ ప్రయత్నించండి."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"ప్రసారాన్ని ఆపివేయండి"</string>
 </resources>
diff --git a/res/values-th/arrays.xml b/res/values-th/arrays.xml
index 2fc410de..c880be9 100644
--- a/res/values-th/arrays.xml
+++ b/res/values-th/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"ทันที"</item>
     <item msgid="463591454172790676">"5 วินาที"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"ไม่ต้องตรวจสอบ"</item>
+    <item msgid="5703177653586269306">"ขอสถานะใบรับรอง"</item>
+    <item msgid="326388247868439528">"ต้องมีสถานะใบรับรอง"</item>
+    <item msgid="1090956283885790552">"ต้องมีสถานะใบรับรองที่ไม่ใช่ \"เชื่อถือได้\" ทุกสถานะ"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"ปุ่มกด"</item>
     <item msgid="2630618799033509548">"PIN จากอุปกรณ์เพียร์"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"ไม่มี"</item>
@@ -404,6 +412,9 @@
     <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>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"ไม่มี"</item>
diff --git a/res/values-th/config.xml b/res/values-th/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-th/config.xml
+++ b/res/values-th/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index bbf1373..83e56b9 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -31,49 +31,17 @@
     <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="radio_info_data_connection_enable" msgid="7500945447906187613">"เปิดใช้การเชื่อมต่ออินเทอร์เน็ต"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"ปิดใช้การเชื่อมต่ออินเทอร์เน็ต"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"VoLTE ที่จัดสรรแล้ว"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"จัดสรร Hangouts วิดีโอแล้ว"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"จัดสรรการโทรผ่าน Wi-Fi แล้ว"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"จัดสรร EAB/Presence แล้ว"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"ข้อมูล CBRS"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"เปิดใช้ DSDS"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"รีสตาร์ทอุปกรณ์ใช่ไหม"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"คุณต้องรีสตาร์ทอุปกรณ์เพื่อเปลี่ยนการตั้งค่านี้"</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"รีสตาร์ท"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"ยกเลิก"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"กำลังส่งของวิทยุเครือข่ายมือถือ"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"ดูสมุดที่อยู่ของซิม"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"ดูการจำกัดหมายเลขโทรออก"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"ดูหมายเลขรับบริการโทรออก"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"สถานะบริการ IMS"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"สถานะ IMS"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"ลงทะเบียนแล้ว"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"ไม่ได้ลงทะเบียน"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"ใช้งานได้"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"ไม่มี"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"การลงทะเบียน IMS: <xliff:g id="STATUS">%1$s</xliff:g>\nการสื่อสารทางเสียงผ่าน LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nการสื่อสารทางเสียงผ่าน Wi-Fi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nการโทรแบบวิดีโอคอล: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nอินเทอร์เฟซ UT: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"กำลังให้บริการ"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"ไม่พร้อมให้บริการ"</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>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"ไม่เคลื่อนไหว"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"เสียงกริ่ง"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"กำลังใช้สาย"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"ถูกตัดการเชื่อมต่อ"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"กำลังเชื่อมต่อ"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"เชื่อมต่อแล้ว"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"ระงับไว้"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"ไม่ทราบ"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"pkts"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"ไบต์"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"ยกเลิกการต่อเชื่อมที่เก็บข้อมูล USB"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"ยกเลิกการต่อเชื่อมการ์ด SD"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"ลบที่เก็บข้อมูล USB"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"ปรับขนาดข้อความบนหน้าจอให้เล็กลงหรือใหญ่ขึ้น"</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"ทำให้เล็กลง"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"ทำให้ใหญ่ขึ้น"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"ข้อความตัวอย่าง"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"พ่อมดมหัศจรรย์แห่งออซ"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"บทที่ 11: เมืองมรกตมหัศจรรย์แห่งออซ"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"คุณต้องรีสตาร์ทอุปกรณ์เพื่อเปลี่ยนการตั้งค่านี้"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"รีสตาร์ท"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"ยกเลิก"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"อุปกรณ์สื่อที่ใช้ได้"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"อุปกรณ์สำหรับโทรที่ใช้ได้"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"เชื่อมต่ออยู่"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"อุปกรณ์สื่อ"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"อุปกรณ์สำหรับโทร"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"อุปกรณ์อื่นๆ"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"อุปกรณ์ที่บันทึกไว้"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"บลูทูธจะเปิดเพื่อจับคู่อุปกรณ์"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"ค่ากำหนดการเชื่อมต่อ"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"พอร์ตที่คุณพิมพ์ไม่ถูกต้อง"</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"พร็อกซี HTTP มีการใช้งานโดยเบราว์เซอร์ แต่อาจไม่มีการใช้งานโดยแอปพลิเคชันอื่น"</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"PAC URL: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"SubId ปัจจุบัน:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"SubId ของซิมอินเทอร์เน็ตเริ่มต้น:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"แบนด์วิดท์ดาวน์โหลด (kbps):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"แบนด์วิดท์อัปโหลด (kbps):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"ข้อมูลตำแหน่งของเครือข่ายมือถือ (เลิกใช้งานแล้ว):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"การกำหนดค่าแชนเนลทางกายภาพของ LTE:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"อัตราการรีเฟรชข้อมูลมือถือ:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"ข้อมูลการวัดเครือข่ายมือถือทั้งหมด:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"บริการข้อมูล:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"โรมมิ่ง:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"การเปลี่ยนเส้นทางการโทร:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"จำนวนการรีเซ็ต PPP ตั้งแต่เปิดเครื่อง:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"เครือข่ายปัจจุบัน:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"ข้อมูลที่ได้รับ:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"บริการเสียง:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"ความแรงสัญญาณ:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"สถานะการโทรด้วยเสียง:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"ส่งข้อมูลแล้ว:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"ข้อความที่รออยู่:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"หมายเลขโทรศัพท์:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"เลือกย่านความถี่วิทยุ"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"ประเภทของเครือข่ายเสียง:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"ประเภทเครือข่ายข้อมูล:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"เลือกดัชนีโทรศัพท์"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"ตั้งค่าประเภทเครือข่ายที่ต้องการ:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"ใช้คำสั่ง ping ชื่อโฮสต์ (www.google.com) IPv4:"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"ใช้คำสั่ง ping ชื่อโฮสต์ (www.google.com) IPv6:"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"การทดสอบไคลเอ็นต์ HTTP:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"ใช้การทดสอบคำสั่ง ping"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"อัปเดต"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"รีเฟรช"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"สลับการตรวจสอบ DNS"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"ข้อมูล/การตั้งค่าเฉพาะตาม OEM"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"ตั้งค่าโหมดย่านความถี่วิทยุ"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"กำลังโหลดรายการย่านความถี่…"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"ตั้งค่า"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"ไม่สำเร็จ"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"สำเร็จแล้ว"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"การเปลี่ยนแปลงจะมีผลเมื่อต่อสาย USB อีกครั้ง"</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"เปิดใช้งานที่จัดเก็บข้อมูลจำนวนมากแบบ USB"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"ไบต์รวม:"</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"เลื่อนไปสุดด้านล่าง"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"นำภาษาออก"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"เลือกกิจกรรม"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"ข้อมูลอุปกรณ์"</string>
     <string name="display_label" msgid="3056320781191343221">"หน้าจอ"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"ข้อมูลแท็บเล็ต"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"ข้อมูลโทรศัพท์"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"ที่เก็บข้อมูล USB"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"การ์ด SD"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"การตั้งค่าพร็อกซี"</string>
@@ -306,9 +234,6 @@
     <string name="airplane_mode" msgid="3196085857882526817">"โหมดบนเครื่องบิน"</string>
     <string name="wireless_networks_settings_title" msgid="8557542379234105369">"ระบบไร้สายและเครือข่าย"</string>
     <string name="radio_controls_summary" msgid="9028430178697624501">"จัดการ WiFi, บลูทูธ, โหมดใช้งานบนเครื่องบิน, เครือข่ายมือถือ และ VPN"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"เน็ตมือถือ"</string>
-    <string name="calls_title" msgid="6334813967619899114">"อนุญาตการโทร"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"ข้อความ SMS"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"อนุญาตให้ใช้เน็ตผ่านเครือข่ายมือถือ"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"อนุญาตให้ใช้ข้อมูลเมื่อโรมมิ่ง"</string>
     <string name="roaming" msgid="3055365654530847985">"โรมมิ่ง"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"เชื่อมต่ออินเทอร์เน็ตขณะโรมมิ่ง"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"การเชื่อมต่อข้อมูลของคุณหายไปเนื่องจากคุณออกจากเครือข่ายที่บ้านโดยปิดการโรมมิ่งข้อมูลไว้"</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"เปิด"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"คุณอาจต้องเสียค่าใช้จ่ายมาก"</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"เมื่อคุณอนุญาตการโรมมิ่งข้อมูล อาจมีการเรียกเก็บค่าใช้จ่ายเพิ่มเติมจำนวนมากในการโรมมิ่ง!\n\nการตั้งค่านี้ส่งผลต่อผู้ใช้แท็บเล็ตนี้ทุกราย"</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"เมื่อคุณอนุญาตการโรมมิ่งข้อมูล อาจมีการเรียกเก็บค่าใช้จ่ายเพิ่มเติมจำนวนมากในการโรมมิ่ง!\n\nการตั้งค่านี้ส่งผลต่อผู้ใช้โทรศัพท์นี้ทุกราย"</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"อาจมีค่าบริการโรมมิ่ง"</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"เมื่อคุณอนุญาตการโรมมิ่งข้อมูล อาจมีการเรียกเก็บค่าใช้จ่ายเพิ่มเติม\n\nการตั้งค่านี้ส่งผลต่อผู้ใช้แท็บเล็ตนี้ทุกราย"</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"เมื่อคุณอนุญาตการโรมมิ่งข้อมูล อาจมีการเรียกเก็บค่าใช้จ่ายเพิ่มเติม\n\nการตั้งค่านี้ส่งผลต่อผู้ใช้โทรศัพท์นี้ทุกราย"</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"อนุญาตการโรมมิ่งข้อมูลหรือไม่"</string>
     <string name="networks" msgid="5184501333492775095">"การเลือกผู้ให้บริการ"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"เลือกผู้ให้บริการเครือข่าย"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"ปิดใช้โดยผู้ดูแลระบบ"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"แสดงตัวเลือกการปิดล็อก"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"แสดงตัวเลือกปุ่มเปิด/ปิดที่จะปิด Smart Lock การปลดล็อกด้วยข้อมูลไบโอเมตริก และการแจ้งเตือนในหน้าจอล็อก"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"เอเจนต์ความน่าเชื่อถือขยายเฉพาะการปลดล็อก"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"หากเปิดใช้ เอเจนต์ความน่าเชื่อถือจะปลดล็อกอุปกรณ์ค้างไว้นานขึ้น แต่จะปลดล็อกอุปกรณ์ที่ล็อกอยู่ไม่ได้อีกต่อไป"</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"หน้าจอล็อกเมื่อสภาพแวดล้อมไม่น่าเชื่อถือ"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"หากเปิดใช้ อุปกรณ์จะล็อกเมื่อเอเจนต์ความน่าเชื่อถือล่าสุดเห็นว่าสภาพแวดล้อมไม่น่าเชื่อถือ"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"ไม่มี"</string>
@@ -390,7 +313,7 @@
     <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="disabled_by_administrator_summary" msgid="4181894719300350343">"ปิดใช้โดยผู้ดูแลระบบ"</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">"ล็อกหน้าจอ, Face Unlock"</string>
     <string name="security_dashboard_summary" msgid="8750183806533140464">"ล็อกหน้าจอ ลายนิ้วมือ"</string>
@@ -693,7 +616,6 @@
       <item quantity="other">ต้องมีตัวเลขไม่เกิน <xliff:g id="NUMBER_1">%d</xliff:g> ตัว</item>
       <item quantity="one">ต้องมีตัวเลขไม่เกิน <xliff:g id="NUMBER_0">%d</xliff:g> ตัว</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"ต้องมีตัวเลข 0-9 เท่านั้น"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"ผู้ดูแลระบบอุปกรณ์ไม่อนุญาตให้ใช้ PIN ที่เพิ่งใช้ไป"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"ผู้ดูแลระบบไอทีบล็อก PIN ที่ไม่รัดกุม ลอง PIN อื่น"</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"ต้องใช้อักขระที่ใช้ได้ทั้งหมด"</string>
@@ -724,6 +646,10 @@
       <item quantity="other">ต้องมีอักขระที่ไม่ใช่ตัวอักษรอย่างน้อย <xliff:g id="COUNT">%d</xliff:g> ตัว</item>
       <item quantity="one">ต้องมีอักขระที่ไม่ใช่ตัวอักษรอย่างน้อย 1 ตัว</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="other">ต้องมีอักขระที่ไม่ใช่ตัวเลขอย่างน้อย <xliff:g id="COUNT">%d</xliff:g> ตัว</item>
+      <item quantity="one">ต้องมีอักขระที่ไม่ใช่ตัวเลขอย่างน้อย 1 ตัว</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"ผู้ดูแลระบบอุปกรณ์ไม่อนุญาตให้ใช้รหัสผ่านที่เพิ่งใช้ไป"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"ผู้ดูแลระบบไอทีบล็อกรหัสผ่านที่ไม่รัดกุม ลองรหัสผ่านอื่น"</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"ไม่อนุญาตให้เรียงจากน้อยไปมาก จากมากไปน้อย หรือเรียงลำดับตัวเลขที่ซ้ำกัน"</string>
@@ -837,19 +763,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2.4 GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"ลงชื่อเข้าใช้"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"เปิดเว็บไซต์"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"เหลือ <xliff:g id="REMAINING_TIME">%1$s</xliff:g>"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"หมดอายุวันที่ <xliff:g id="EXPIRY_TIME">%1$s</xliff:g>"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"แตะที่นี่เพื่อลงชื่อเข้าใช้เครือข่าย"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"<xliff:g id="REQUESTER">%s</xliff:g> ต้องการเปิด Wi-Fi"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"<xliff:g id="REQUESTER">%s</xliff:g> ต้องการปิด Wi-Fi"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"ตรวจสอบไบต์โค้ดแอปที่จะแก้ไขข้อบกพร่อง"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"อนุญาตให้ ART ตรวจสอบไบต์โค้ดแอปที่จะแก้ไขข้อบกพร่อง"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"แสดงอัตราการรีเฟรช"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"แสดงอัตราการรีเฟรชจอแสดงผลล่าสุด"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"อนุญาตให้มีการแลกเปลี่ยนข้อมูล เมื่อแตะแท็บเล็ตกับอุปกรณ์อื่น"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"อนุญาตให้มีการแลกเปลี่ยนข้อมูล เมื่อแตะโทรศัพท์กับอุปกรณ์อื่น"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"อนุญาตให้มีการแลกเปลี่ยนข้อมูลเมื่อแตะแท็บเล็ตกับอุปกรณ์ NFC"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"อนุญาตให้มีการแลกเปลี่ยนข้อมูลเมื่อแตะโทรศัพท์กับอุปกรณ์ NFC"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"เปิดใช้ NFC"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"NFC จะแลกเปลี่ยนข้อมูลระหว่างอุปกรณ์นี้กับอุปกรณ์อื่นที่อยู่ใกล้ๆ หรืออุปกรณ์เป้าหมาย เช่น เครื่องชำระเงิน เครื่องอ่านการเข้าถึง และโฆษณาหรือป้ายสินค้าเชิงโต้ตอบ"</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"รักษาความปลอดภัยของ NFC"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"ต้องปลดล็อกอุปกรณ์เพื่อใช้งาน NFC"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"อนุญาตการใช้การชำระเงินผ่าน NFC และขนส่งสาธารณะเฉพาะเวลาที่ไม่ได้ล็อกหน้าจอเท่านั้น"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"พร้อมที่จะส่งเนื้อหาแอปผ่านทาง NFC"</string>
@@ -923,8 +855,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"เปิด"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"เปิดการสแกนหา Wi-Fi แล้ว"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"ตัวเลือกขั้นสูง"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"รายการแบบเลื่อนลงของตัวเลือกขั้นสูง แตะ 2 ครั้งเพื่อยุบ"</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"รายการแบบเลื่อนลงของตัวเลือกขั้นสูง แตะ 2 ครั้งเพื่อขยาย"</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"ตัวเลือกขั้นสูงที่เป็นรายการแบบเลื่อนลง"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"ขยาย"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"ชื่อเครือข่าย"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"ป้อน SSID"</string>
     <string name="wifi_security" msgid="9095934643631406913">"ความปลอดภัย"</string>
@@ -934,6 +866,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"สถานะ"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"ความเร็วในการส่งลิงก์"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"ความเร็วในการรับลิงก์"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"ความเร็วในการลิงก์"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"ความถี่"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"ที่อยู่ IP"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"บันทึกผ่านทาง"</string>
@@ -941,6 +874,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"วิธีการ EAP"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"การตรวจสอบสิทธิ์เฟส 2"</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>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"ใบรับรองของผู้ใช้"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"ข้อมูลระบุตัวตน"</string>
@@ -957,6 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"เลือกอย่างน้อยหนึ่งย่านความถี่สำหรับฮอตสปอต Wi‑Fi:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"การตั้งค่า IP"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"ความเป็นส่วนตัว"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"การสมัครใช้บริการ"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"ดูหรือเปลี่ยนการสมัครใช้บริการ"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"MAC แบบสุ่ม"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"เพิ่มอุปกรณ์"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"ถือให้โค้ด QR อยู่กลางช่องด้านล่างเพื่อเพิ่มอุปกรณ์ไปยัง “<xliff:g id="SSID">%1$s</xliff:g>”"</string>
@@ -966,12 +902,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"แชร์ Wi‑Fi"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"สแกนโค้ด QR นี้เพื่อเชื่อมต่อกับ “<xliff:g id="SSID">%1$s</xliff:g>” และแชร์รหัสผ่าน"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"สแกนโค้ด QR นี้เพื่อเชื่อมต่อกับ “<xliff:g id="SSID">%1$s</xliff:g>”"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"อ่านโค้ด QR ไม่ได้ เล็งให้โค้ดอยู่กึ่งกลางอีกครั้งแล้วลองใหม่"</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"ลองอีกครั้ง หากยังแก้ปัญหาไม่ได้ ให้ติดต่อผู้ผลิตอุปกรณ์"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"มีข้อผิดพลาดเกิดขึ้น"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"ตรวจสอบว่าได้เสียบปลั๊ก ชาร์จ และเปิดอุปกรณ์แล้ว"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"ตรวจสอบว่าได้เสียบปลั๊ก ชาร์จ และเปิดอุปกรณ์แล้ว หากยังแก้ปัญหาไม่ได้ ให้ติดต่อผู้ผลิตอุปกรณ์"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"อุปกรณ์เครื่องนี้ไม่รองรับการเพิ่ม “<xliff:g id="SSID">%1$s</xliff:g>”"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"ลองย้ายอุปกรณ์ให้อยู่ใกล้จุดเข้าใช้งาน Wi‑Fi/เราเตอร์มากขึ้น"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"ตรวจสอบรหัสผ่านและลองอีกครั้ง"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"ติดต่อผู้ผลิตอุปกรณ์"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"ตรวจสอบการเชื่อมต่อแล้วลองอีกครั้ง"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"เลือกเครือข่าย"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"หากต้องการเชื่อมต่ออุปกรณ์ ให้เลือกเครือข่าย"</string>
@@ -984,11 +922,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"กำลังแชร์ Wi‑Fi กับอุปกรณ์เครื่องนี้…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"กำลังเชื่อมต่อ…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"แชร์ฮอตสปอต"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"ยืนยันว่าเป็นคุณ"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"ยืนยันว่าเป็นคุณ"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"รหัสผ่าน Wi-Fi: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"รหัสผ่านฮอตสปอต: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"เชื่อมต่ออัตโนมัติ"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"อนุญาตให้โทรศัพท์เชื่อมต่อโดยอัตโนมัติเมื่ออยู่ใกล้เครือข่ายนี้"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"อนุญาตให้แท็บเล็ตเชื่อมต่อโดยอัตโนมัติเมื่ออยู่ใกล้เครือข่ายนี้"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"เพิ่มอุปกรณ์"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"ใช้คิวอาร์โค้ดเพื่อเพิ่มอุปกรณ์ในเครือข่ายนี้"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"คิวอาร์โค้ดมีรูปแบบไม่ถูกต้อง"</string>
     <string name="retry" msgid="7542103800274026915">"ลองอีกครั้ง"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"แชร์กับผู้ใช้อุปกรณ์คนอื่นๆ"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(ไม่เปลี่ยน)"</string>
@@ -1000,6 +942,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"ไม่ได้ระบุใบรับรอง การเชื่อมต่อของคุณจะไม่เป็นส่วนตัว"</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"ชื่อเครือข่ายยาวเกินไป"</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"ต้องระบุโดเมน"</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"ต้องมีใบรับรอง"</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"WPS ใช้งานได้"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (WPS ใช้งานได้)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"เครือข่าย Wi‑Fi ของผู้ให้บริการ"</string>
@@ -1051,7 +994,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"WiFi ขั้นสูง"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"ที่อยู่ Mac"</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_ip_address_title" msgid="4265355419782184514">"ที่อยู่ IP"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"รายละเอียดเครือข่าย"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"ซับเน็ตมาสก์"</string>
@@ -1103,7 +1047,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"ใช้ฮอตสปอตเพื่อสร้างเครือข่าย Wi‑Fi สำหรับอุปกรณ์อื่นๆ ฮอตสปอตจะแชร์อินเทอร์เน็ตโดยใช้การเชื่อมต่อเน็ตมือถือ อาจมีค่าบริการเน็ตมือถือเพิ่มเติม"</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"แอปสามารถสร้างฮอตสปอตเพื่อแชร์เนื้อหากับอุปกรณ์ที่อยู่ใกล้"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"ปิดฮอตสปอตโดยอัตโนมัติ"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"ฮอตสปอต Wi‑Fi จะปิดถ้าไม่มีอุปกรณ์ที่เชื่อมต่อ"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"เมื่อไม่มีอุปกรณ์ใดเชื่อมต่ออยู่"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"กำลังเปิดฮอตสปอต…"</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"กำลังปิดฮอตสปอต…"</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> ใช้งานอยู่"</string>
@@ -1112,6 +1056,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"การตั้งค่าฮอตสปอต Wi-Fi"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"ฮอตสปอต AndroidAP WPA2 PSK"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"AndroidHotspot"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"บันทึกเครือข่ายนี้ไหม"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"<xliff:g id="APPNAME">%1$s</xliff:g> ต้องการบันทึกเครือข่ายลงในโทรศัพท์"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"<xliff:g id="APPNAME">%1$s</xliff:g> ต้องการบันทึกเครือข่ายลงในแท็บเล็ต"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"กำลังบันทึก…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"บันทึกแล้ว"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"บันทึกไม่ได้ ลองอีกครั้ง"</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"บันทึกเครือข่ายใหม่"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"<xliff:g id="APPNAME">%1$s</xliff:g> ต้องการบันทึกเครือข่ายเหล่านี้ลงในโทรศัพท์"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"<xliff:g id="APPNAME">%1$s</xliff:g> ต้องการบันทึกเครือข่ายเหล่านี้ลงในแท็บเล็ต"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"กำลังบันทึก <xliff:g id="NUMBER">%d</xliff:g> เครือข่าย…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"บันทึกเครือข่ายแล้ว"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"การโทรผ่าน Wi-Fi"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"ขยายการโทรด้วย Wi‑Fi"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"เปิดการโทรผ่าน Wi‑Fi เพื่อขยายความครอบคลุม"</string>
@@ -1138,16 +1093,18 @@
     <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"><annotation id="url">"ดูข้อมูลเพิ่มเติม"</annotation>"เกี่ยวกับฟีเจอร์ของ DNS ส่วนตัว"</string>
+    <string name="private_dns_mode_on" msgid="8878679071975375696">"เปิด"</string>
     <string name="wifi_calling_pref_managed_by_carrier" msgid="129524064888622179">"การตั้งค่าที่จัดการโดยผู้ให้บริการ"</string>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"เปิดใช้งานการโทรผ่าน Wi-Fi"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"เปิดการโทรผ่าน Wi-Fi"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"การโทรผ่าน Wi‑Fi ไม่รองรับใน %1$s"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"ยกเลิกการเชื่อมต่อกับ <xliff:g id="SSID">%1$s</xliff:g> แล้ว"</string>
     <string name="carrier" msgid="1755020806290963951">"ผู้ให้บริการ"</string>
     <string name="display_settings_title" msgid="626835071804834218">"การแสดงผล"</string>
     <string name="sound_settings" msgid="5514582720435174014">"เสียง"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"ระดับเสียง"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"เอฟเฟ็กต์เพลง"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"ระดับเสียงเรียกเข้า"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"เสียงเรียกเข้าและการแจ้งเตือน"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"สั่นเตือนเมื่อปิดเสียง"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"เสียงแจ้งเตือนเริ่มต้น"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"เสียงเรียกเข้า"</string>
@@ -1272,13 +1229,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"กำหนดการ"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"ไม่มี"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"เปิดตั้งแต่อาทิตย์ตกจนขึ้น"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"เปิดในเวลาที่กำหนด"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"สถานะ"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"ปิด / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"จะไม่เปิดโดยอัตโนมัติ"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"จะเปิดโดยอัตโนมัติเมื่อพระอาทิตย์ตก"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"จะเปิดโดยอัตโนมัติในเวลา <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"เปิด/<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"จะไม่ปิดโดยอัตโนมัติ"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"จะปิดโดยอัตโนมัติเมื่อพระอาทิตย์ขึ้น"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"จะปิดโดยอัตโนมัติในเวลา <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"เปิดจนถึง <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"ปิดจนถึง <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"ธีมมืดใช้พื้นหลังสีดำเพื่อช่วยให้แบตเตอรี่ของคุณใช้งานได้นานขึ้นในหน้าจอบางรุ่น ธีมมืดจะกำหนดเวลารอในการเปิดหน้าจอไว้ก่อนที่จะดับลง"</string>
     <string name="screen_timeout" msgid="7709947617767439410">"ระยะหมดเวลาหน้าจอ"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"หน้าจอปิด"</string>
@@ -1290,7 +1252,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"เปลี่ยนวอลเปเปอร์"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"ปรับเปลี่ยนหน้าจอในแบบของคุณ"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"เลือกวอลเปเปอร์จาก"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"ปรับแต่ง Pixel ของคุณ"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"ปรับแต่งโทรศัพท์"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"ลองใช้รูปแบบ วอลเปเปอร์ และอื่นๆ ที่มีหลากหลาย"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"โปรแกรมรักษาหน้าจอ"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"ขณะชาร์จหรือเสียบกับแท่นชาร์จ"</string>
@@ -1379,6 +1341,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"ยกเลิกการต่อเชื่อมที่เก็บข้อมูล USB ดูที่เก็บข้อมูลที่ใช้งานได้"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"ยกเลิกการต่อเชื่อมการ์ด SD ดูที่จัดเก็บข้อมูลที่ใช้ได้"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (ช่องซิม %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"เลือกเครือข่ายที่บันทึกไว้เพื่อดู"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"หมายเลขโทรศัพท์"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (ช่องซิม %1$d)"</string>
@@ -1405,6 +1368,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"โรมมิ่ง"</string>
     <string name="status_operator" msgid="4335640583552058491">"เครือข่าย"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"ที่อยู่ MAC ของ WiFi"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"ที่อยู่ MAC ของ Wi-Fi ของอุปกรณ์"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"ที่อยู่บลูทูธ"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"หมายเลขซีเรียล"</string>
     <string name="status_up_time" msgid="1274778533719495438">"เวลาใช้งาน"</string>
@@ -1617,6 +1581,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"รีเซ็ตการตั้งค่า APN กลับเป็นค่าเริ่มต้นเรียบร้อยแล้ว"</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"ตัวเลือกการรีเซ็ต"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"สามารถรีเซ็ตเครือข่าย แอป หรืออุปกรณ์ได้"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"รีเซ็ตแอปได้"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"รีเซ็ต Wi-Fi, เน็ตมือถือ และบลูทูธ"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"การดำเนินการนี้จะรีเซ็ตการตั้งค่าเครือข่ายทั้งหมด รวมถึง:\n\n"<li>"Wi‑Fi"</li>\n<li>"อินเทอร์เน็ตมือถือ"</li>\n<li>"บลูทูธ"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"ลบซิมที่ดาวน์โหลด"</string>
@@ -1666,6 +1631,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"ฮอตสปอตเปิดอยู่"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"การเชื่อมต่ออินเทอร์เน็ตผ่านมือถือ"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"ไม่สามารถเชื่อมต่ออินเทอร์เน็ตผ่านมือถือหรือใช้โหมดฮอตสปอตแบบพกพาขณะที่การประหยัดอินเทอร์เน็ตเปิดอยู่"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"ฮอตสปอตเท่านั้น"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"USB เท่านั้น"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"บลูทูธเท่านั้น"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"ฮอตสปอต, USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"ฮอตสปอต, บลูทูธ"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB, บลูทูธ"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"ฮอตสปอต, USB, บลูทูธ"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"ไม่ได้แชร์อินเทอร์เน็ตกับอุปกรณ์อื่น"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"การเชื่อมต่ออินเทอร์เน็ตผ่านมือถือ"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"ไม่ใช้ฮอตสปอต Wi‑Fi"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"แชร์อินเทอร์เน็ตผ่าน USB เท่านั้น"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"แชร์อินเทอร์เน็ตผ่านบลูทูธเท่านั้น"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"แชร์อินเทอร์เน็ตผ่าน USB และบลูทูธเท่านั้น"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"ปล่อยสัญญาณผ่าน USB"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"แชร์การเชื่อมต่ออินเทอร์เน็ตของโทรศัพท์ผ่าน USB"</string>
@@ -1756,9 +1734,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"ข้อมูลความปลอดภัย"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"คุณไม่มีการเชื่อมต่อข้อมูล หากต้องการดูข้อมูลตอนนี้ ให้ไปที่ %s จากคอมพิวเตอร์ที่เชื่อมต่อกับอินเทอร์เน็ต"</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"กำลังโหลด…"</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"ใช้ PIN"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"ใช้รูปแบบ"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"ใช้รหัสผ่าน"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"ตั้งค่าการล็อกหน้าจอ"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"เพื่อความปลอดภัย โปรดตั้งรหัสผ่าน"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"หากต้องการใช้ลายนิ้วมือ ให้ตั้งรหัสผ่าน"</string>
@@ -1767,8 +1742,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"หากต้องการใช้ลายนิ้วมือ ให้ตั้งค่า PIN"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"เพื่อความปลอดภัย โปรดตั้งรูปแบบ"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"ป้อนรหัสผ่านอีกครั้ง"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"ป้อนรหัสผ่านของโปรไฟล์งาน"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"ยืนยันรูปแบบของคุณ"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"ป้อนรูปแบบของโปรไฟล์งาน"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"ป้อน PIN อีกครั้ง"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"ป้อน PIN ของโปรไฟล์งาน"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"รหัสผ่านไม่ตรงกัน"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"PIN ไม่ตรงกัน"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"ลากรูปแบบอีกครั้ง"</string>
@@ -1779,6 +1757,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"ตั้งรหัสผ่านเพื่อใช้ Face Unlock"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"ตั้งรูปแบบเพื่อใช้ Face Unlock"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"ตั้ง PIN เพื่อใช้ Face Unlock"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"หากลืมรหัสผ่าน"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"หากลืมรูปแบบ"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"หากลืม PIN"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"ใช้รูปแบบของอุปกรณ์เพื่อดำเนินการต่อ"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"ป้อน PIN ของอุปกรณ์เพื่อดำเนินการต่อ"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"ป้อนรหัสผ่านของอุปกรณ์เพื่อดำเนินการต่อ"</string>
@@ -1846,6 +1827,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"อนุญาตให้ติดตั้งแอปจากทุกแห่ง"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"แอปที่เปิดล่าสุด"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"ดูทั้ง <xliff:g id="COUNT">%1$d</xliff:g> แอป"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"ติดต่อผู้ดูแลระบบไอทีของคุณ"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"ผู้ดูแลระบบอาจช่วยคุณรีเซ็ต PIN รูปแบบ หรือรหัสผ่านได้"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"แท็บเล็ตและข้อมูลส่วนตัวของคุณมีความเสี่ยงมากขึ้นที่จะถูกโจมตีจากแอปที่ไม่รู้จัก การติดตั้งแอปจากแหล่งที่มานี้แสดงว่าคุณยอมรับว่าจะรับผิดชอบต่อความเสียหายใดๆ ที่มีต่อแท็บเล็ตหรือการสูญเสียข้อมูลที่อาจเกิดจากการใช้งานแอปดังกล่าว"</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"โทรศัพท์และข้อมูลส่วนตัวของคุณมีความเสี่ยงมากขึ้นที่จะถูกโจมตีจากแอปที่ไม่รู้จัก การติดตั้งแอปจากแหล่งที่มานี้แสดงว่าคุณยอมรับว่าจะรับผิดชอบต่อความเสียหายใดๆ ที่มีต่อโทรศัพท์หรือการสูญเสียข้อมูลที่อาจเกิดจากการใช้งานแอปดังกล่าว"</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"อุปกรณ์และข้อมูลส่วนตัวมีความเสี่ยงที่จะถูกโจมตีจากแอปที่ไม่มีข้อมูลมากขึ้น การติดตั้งแอปจากแหล่งที่มานี้แสดงว่าคุณยอมรับว่าจะรับผิดชอบต่อความเสียหายใดๆ ที่จะเกิดขึ้นกับอุปกรณ์หรือการสูญเสียข้อมูลที่อาจเกิดจากการใช้งานแอปดังกล่าว"</string>
@@ -1897,7 +1880,7 @@
     <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="1377296810290814749">"การดำเนินการนี้จะรีเซ็ตค่ากำหนดทั้งหมดสำหรับ:\n\n"<li>"แอปที่ปิดใช้งาน"</li>\n<li>"การแจ้งเตือนแอปที่ปิดใช้งาน"</li>\n<li>"แอปพลิเคชันเริ่มต้นสำหรับการทำงานต่างๆ"</li>\n<li>"ข้อจำกัดข้อมูลในพื้นหลังสำหรับแอป"</li>\n<li>"ข้อจำกัดสิทธิ์ใดๆ"</li>\n\n"ข้อมูลของแอปจะไม่หายไป"</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>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"รีเซ็ตแอป"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"จัดการพื้นที่"</string>
     <string name="filter" msgid="9039576690686251462">"ตัวกรอง"</string>
@@ -2097,7 +2080,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"เสียงและข้อความบนหน้าจอ"</string>
     <string name="display_category_title" msgid="6638191682294461408">"การแสดงผล"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"ส่วนควบคุมการโต้ตอบ"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"บริการที่ดาวน์โหลด"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"แอปที่ดาวน์โหลด"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"ทดสอบ"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"แฟล็กฟีเจอร์"</string>
     <string name="talkback_title" msgid="8756080454514251327">"TalkBack"</string>
@@ -2105,27 +2088,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"แตะรายการบนหน้าจอเพื่อฟังการอ่านออกเสียง"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"ค่ากำหนดคำบรรยายวิดีโอ"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"การขยาย"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"พื้นที่ในการขยาย"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"เปิดใช้การขยาย"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"เลือกพื้นที่ในการขยายที่ต้องการใช้เมื่อขยายหน้าจอ"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"เต็มหน้าจอ"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"บางส่วนของหน้าจอ"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"เต็มหน้าจอและบางส่วนของหน้าจอ"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"ขยายทั้งหน้าจอ"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"ขยายบางส่วนของหน้าจอ"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"การตั้งค่าการขยาย"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"ขยายด้วยการแตะ 3 ครั้ง"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"ขยายโดยใช้ทางลัด"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"ขยายโดยใช้ทางลัดและการแตะ 3 ครั้ง"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"เกี่ยวกับ <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"ตัวเลือก"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"ซูมเข้าบนหน้าจอ"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"แตะ 3 ครั้งเพื่อซูม"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"แตะปุ่มเพื่อซูม"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><b>"หากต้องการซูม"</b>" ให้แตะหน้าจอ 3 ครั้งเร็วๆ\n"<ul><li>"ลากนิ้ว 2 นิ้วหรือมากกว่าเพื่อเลื่อน"</li>\n<li>"บีบนิ้ว 2 นิ้วหรือมากกว่าเพื่อปรับการซูม"</li></ul>\n\n<b>"หากต้องการซูมชั่วคราว"</b>" ให้แตะหน้าจอ 3 ครั้งเร็วๆ และกดนิ้วค้างไว้ขณะแตะครั้งที่ 3\n"<ul><li>"ลากเพื่อเลื่อนไปยังส่วนต่างๆ ของหน้าจอ"</li>\n<li>"ยกนิ้วเพื่อซูมออก"</li></ul>\n\n"คุณไม่สามารถซูมเข้าในแป้นพิมพ์และแถบการนำทาง"</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"คุณจะซูมหน้าจอเข้าได้เมื่อเปิดการขยาย\n\n"<b>"วิธีซูมคือ"</b>" เริ่มการขยาย จากนั้นแตะบริเวณที่ต้องการซูมในหน้าจอ\n"<ul><li>"• ลากนิ้วอย่างน้อย 2 นิ้วเพื่อเลื่อน"</li>\n<li>"• บีบนิ้วอย่างน้อย 2 นิ้วเพื่อปรับการซูม"</li></ul>\n\n<b>"วิธีซูมชั่วคราวคือ"</b>" เริ่มการขยาย จากนั้นแตะบริเวณที่ต้องการซูมในหน้าจอค้างไว้\n"<ul><li>"• ลากเพื่อไปยังส่วนต่างๆ ในหน้าจอ"</li>\n<li>"• ยกนิ้วขึ้นเพื่อซูมออก"</li></ul>\n\n"คุณซูมเข้าโดยใช้แป้นพิมพ์หรือแถบนำทางไม่ได้"</string>
+    <string name="accessibility_screen_magnification_summary" msgid="7617931632990040045">"ซูมเข้าอย่างรวดเร็วบนหน้าจอเพื่อดูเนื้อหาได้ชัดเจนมากขึ้น&lt;br/&gt;&lt;br/&gt;&lt;b&gt;วิธีซูมเข้า&lt;/b&gt;&lt;br/&gt;	1. ใช้ทางลัดเพื่อเริ่มการขยาย&lt;br/&gt;	2. แตะหน้าจอ&lt;br/&gt;	3. ใช้ 2 นิ้วลากเพื่อย้ายไปรอบๆ หน้าจอ&lt;br/&gt;	4. บีบ 2 นิ้วเพื่อปรับการซูม&lt;br/&gt;	5. ใช้ทางลัดเพื่อหยุดการขยาย&lt;br/&gt;&lt;br/&gt;&lt;b&gt;วิธีซูมเข้าชั่วคราว&lt;/b&gt;&lt;br/&gt;	1. ใช้ทางลัดเพื่อเริ่มการขยาย&lt;br/&gt;	2. แตะที่ใดก็ได้บนหน้าจอค้างไว้&lt;br/&gt;	3. ลากนิ้วเพื่อย้ายไปรอบๆ หน้าจอ&lt;br/&gt;	4. ยกนิ้วขึ้นเพื่อหยุดการขยาย"</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"คุณจะซูมหน้าจอเข้าได้เมื่อเปิดการขยาย\n\n"<b>"วิธีซูมคือ"</b>" เริ่มการขยาย จากนั้นแตะบริเวณที่ต้องการซูมในหน้าจอ\n"<ul><li>"ลากนิ้วอย่างน้อย 2 นิ้วเพื่อเลื่อน"</li>\n<li>"บีบนิ้วอย่างน้อย 2 นิ้วเพื่อปรับการซูม"</li></ul>\n\n<b>"วิธีซูมชั่วคราวคือ"</b>" เริ่มการขยาย จากนั้นแตะบริเวณที่ต้องการซูมในหน้าจอค้างไว้\n"<ul><li>"ลากเพื่อไปยังส่วนต่างๆ ในหน้าจอ"</li>\n<li>"ยกนิ้วขึ้นเพื่อซูมออก"</li></ul>\n\n"คุณซูมเข้าโดยใช้แป้นพิมพ์หรือแถบนำทางไม่ได้"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"ใช้ปุ่มการช่วยเหลือพิเศษเพื่อเปิด"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"ใช้ท่าทางสัมผัสเพื่อเปิด"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"ใช้ท่าทางสัมผัสการช่วยเหลือพิเศษแบบใหม่"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"หากต้องการเปิดหรือปิดบริการนี้ ให้แตะปุ่มการช่วยเหลือพิเศษ <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> ที่ด้านล่างของหน้าจอ\n\nหากต้องการสลับระหว่างบริการต่างๆ ให้แตะปุ่มการช่วยเหลือพิเศษค้างไว้"</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"หากต้องการเปิดหรือปิดบริการนี้ ให้ใช้ 2 นิ้วเลื่อนขึ้นจากด้านล่างของหน้าจอ\n\nหากต้องการสลับระหว่างบริการต่างๆ ให้ใช้ 2 นิ้วเลื่อนขึ้นค้างไว้"</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"หากต้องการเปิดหรือปิดบริการนี้ ให้ใช้ 3 นิ้วเลื่อนขึ้นจากด้านล่างของหน้าจอ\n\nหากต้องการสลับระหว่างบริการต่างๆ ให้ใช้ 3 นิ้วเลื่อนขึ้นค้างไว้"</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"หากต้องการเปิดหรือปิดบริการช่วยเหลือพิเศษ ให้ใช้ 2 นิ้วเลื่อนขึ้นจากด้านล่างของหน้าจอ\n\nหากต้องการสลับระหว่างบริการต่างๆ ให้ใช้ 2 นิ้วเลื่อนขึ้นค้างไว้"</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"หากต้องการเปิดหรือปิดบริการช่วยเหลือพิเศษ ให้ใช้ 3 นิ้วเลื่อนขึ้นจากด้านล่างของหน้าจอ\n\nหากต้องการสลับระหว่างบริการต่างๆ ให้ใช้ 3 นิ้วเลื่อนขึ้นค้างไว้"</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"หากต้องการเปิดหรือปิดบริการนี้ ให้แตะปุ่มการช่วยเหลือพิเศษ <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> ที่ด้านล่างของหน้าจอ\n\nหากต้องการสลับระหว่างบริการต่างๆ ให้แตะปุ่มการช่วยเหลือพิเศษค้างไว้"</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"หากต้องการเปิดหรือปิดบริการนี้ ให้ใช้ 2 นิ้วเลื่อนขึ้นจากด้านล่างของหน้าจอ\n\nหากต้องการสลับระหว่างบริการต่างๆ ให้ใช้ 2 นิ้วเลื่อนขึ้นค้างไว้"</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"หากต้องการเปิดหรือปิดบริการนี้ ให้ใช้ 3 นิ้วเลื่อนขึ้นจากด้านล่างของหน้าจอ\n\nหากต้องการสลับระหว่างบริการต่างๆ ให้ใช้ 3 นิ้วเลื่อนขึ้นค้างไว้"</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"หากต้องการเปิดหรือปิดบริการช่วยเหลือพิเศษ ให้ใช้ 2 นิ้วเลื่อนขึ้นจากด้านล่างของหน้าจอ\n\nหากต้องการสลับระหว่างบริการต่างๆ ให้ใช้ 2 นิ้วเลื่อนขึ้นค้างไว้"</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"หากต้องการเปิดหรือปิดบริการช่วยเหลือพิเศษ ให้ใช้ 3 นิ้วเลื่อนขึ้นจากด้านล่างของหน้าจอ\n\nหากต้องการสลับระหว่างบริการต่างๆ ให้ใช้ 3 นิ้วเลื่อนขึ้นค้างไว้"</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="2820923641553461297">"ปุ่มการช่วยเหลือพิเศษ"</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="8922102767509399352">"แตะปุ่มการช่วยเหลือพิเศษ <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> ที่ด้านล่างของหน้าจอ"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"ใช้ 2 นิ้วเลื่อนขึ้นจากด้านล่างของหน้าจอ"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"ใช้ 3 นิ้วเลื่อนขึ้นจากด้านล่างของหน้าจอ"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"กดปุ่มปรับระดับเสียงค้างไว้"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"กดปุ่มปรับระดับเสียงทั้งสองค้างไว้ 1 วินาที"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"แตะหน้าจอ 3 ครั้ง"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"แตะหน้าจอเร็วๆ 3 ครั้ง ทางลัดนี้อาจทำให้อุปกรณ์ทำงานช้าลง"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"ขั้นสูง"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"ปุ่ม \"การเข้าถึง\" ตั้งค่าเป็น <xliff:g id="SERVICE">%1$s</xliff:g> หากต้องการใช้การขยาย ให้แตะปุ่ม \"การเข้าถึง\" ค้างไว้ แล้วเลือกการขยาย"</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"ตั้งค่าท่าทางสัมผัสการช่วยเหลือพิเศษเป็น<xliff:g id="SERVICE">%1$s</xliff:g> หากต้องการใช้การขยาย ให้ใช้ 2 นิ้วเลื่อนขึ้นจากด้านล่างของหน้าจอแล้วหยุดค้างไว้ จากนั้นเลือกการขยาย"</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"ทางลัดปุ่มปรับระดับเสียง"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"บริการทางลัด"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"การตั้งค่าทางลัด"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"อนุญาตจากหน้าจอล็อก"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"เมื่อทางลัดเปิดอยู่ คุณสามารถกดปุ่มปรับระดับเสียงทั้ง 2 ปุ่มไว้ 3 วินาทีเพื่อเริ่มฟีเจอร์การช่วยเหลือพิเศษ"</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"ข้อความคอนทราสต์สูง"</string>
@@ -2149,24 +2157,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"เลือกระยะเวลาแสดงข้อความที่ขอให้คุณดำเนินการแต่ปรากฏเพียงชั่วคราวเท่านั้น\n\nแอปบางแอปไม่รองรับการตั้งค่านี้"</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"การหน่วงเวลาด้วยการแตะค้างไว้"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"การกลับสี"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"อาจส่งผลกระทบต่อประสิทธิภาพ"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"ระยะเวลาที่ไม่ขยับเมาส์"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"ใช้การกลับสี"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"การกลับสีปรับหน้าจอที่สว่างให้มืดลง ซึ่งช่วยให้ผู้ที่ไวต่อแสงจ้าดูหน้าจอได้สบายตายิ่งขึ้น&lt;br/&gt;&lt;br/&gt;หมายเหตุ: สีเข้มจะปรับเป็นสีสว่าง สีในสื่อและรูปภาพจะมีการเปลี่ยนแปลง นอกจากนี้ คุณยังใช้ธีมมืด (การตั้งค่า &gt; การแสดงผล) ได้อีกด้วย"</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"การคลิกอัตโนมัติ (เวลาที่ไม่มีการขยับเมาส์)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"หากใช้เมาส์อยู่ คุณตั้งค่าเคอร์เซอร์ให้ดำเนินการโดยอัตโนมัติเมื่อเมาส์หยุดเคลื่อนที่ครู่หนึ่งได้"</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"หน่วงเวลาก่อนคลิก"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"ไม่ใช้คลิกอัตโนมัติ (ค่าเริ่มต้น)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"สั้น"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0.2 วินาที"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"กลาง"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0.6 วินาที"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"ยาว"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 วินาที"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"กำหนดเอง"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"สั้นลง"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"ยาวขึ้น"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"เวลาในการคลิกอัตโนมัติ"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"การสั่นและระดับการโต้ตอบการสัมผัส"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"การสั่นเมื่อมีการแจ้งเตือน"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"การสั่นเมื่อมีเสียงเรียกเข้า"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"การตอบสนองด้วยสัมผัส"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"ใช้บริการ"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"ใช้ <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"เปิด <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"ใช้การแก้สี"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"ใช้คำบรรยาย"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"แสดงคำบรรยาย"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"ลักษณะคำบรรยาย"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"ขนาดข้อความ รูปแบบคำบรรยาย"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"ตัวเลือกเพิ่มเติม"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"บางแอปไม่รองรับการตั้งค่านี้"</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"ปุ่มการช่วยเหลือพิเศษ"</string>
+    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"ใช้ 2 นิ้วเลื่อนขึ้นจากด้านล่าง"</string>
+    <string name="accessibility_shortcut_type_hardware" msgid="4834144210432451916">"กดปุ่มปรับระดับเสียงค้างไว้"</string>
+    <string name="accessibility_shortcut_type_triple_tap" msgid="7717524216825494543">"แตะหน้าจอ 3 ครั้ง"</string>
     <string name="accessibility_hearingaid_instruction_continue_button" msgid="3367260988024430722">"ต่อไป"</string>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"เครื่องช่วยการได้ยิน"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"ไม่ได้เชื่อมต่อเครื่องช่วยการได้ยิน"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"เพิ่มเครื่องช่วยการได้ยิน"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"หากต้องการจับคู่กับเครื่องช่วยการได้ยิน ให้ค้นหาและแตะอุปกรณ์ในหน้าจอถัดไป"</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"ตรวจสอบว่าเครื่องช่วยการได้ยินอยู่ในโหมดการจับคู่"</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"หากต้องการจับคู่กับเครื่องช่วยฟัง ให้ค้นหาและแตะอุปกรณ์ในหน้าจอถัดไป ตรวจสอบว่าเครื่องช่วยฟังอยู่ในโหมดการจับคู่"</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ใช้งานอยู่"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="other">บันทึกเครื่องช่วยการได้ยิน <xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> เครื่องแล้ว</item>
@@ -2178,25 +2204,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"บริการนี้ทำงานผิดปกติ"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"แสดงในการตั้งค่าด่วน"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"โหมดแก้ไข"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="other">เวลาหน่วงสั้นที่สุด (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> มิลลิวินาที)</item>
-      <item quantity="one">เวลาหน่วงสั้นที่สุด (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> มิลลิวินาที)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"สีแดง/เขียว"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"สีเขียว/แดง"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"สีน้ำเงิน/เหลือง"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"ตาบอดสีเขียว"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"ตาบอดสีแดง"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"ตาบอดสีน้ำเงิน"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="other">เวลาหน่วงสั้นที่สุด (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> วินาที)</item>
+      <item quantity="one">เวลาหน่วงสั้นที่สุด (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> วินาที)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="other">เวลาหน่วงสั้นมาก (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> มิลลิวินาที)</item>
-      <item quantity="one">เวลาหน่วงสั้นมาก (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> มิลลิวินาที)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="other">เวลาหน่วงสั้นมาก (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> วินาที)</item>
+      <item quantity="one">เวลาหน่วงสั้นมาก (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> วินาที)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="other">เวลาหน่วงสั้น (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> มิลลิวินาที)</item>
-      <item quantity="one">เวลาหน่วงสั้น (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> มิลลิวินาที)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="other">เวลาหน่วงสั้น (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> วินาที)</item>
+      <item quantity="one">เวลาหน่วงสั้น (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> วินาที)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="other">เวลาหน่วงยาว (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> มิลลิวินาที)</item>
-      <item quantity="one">เวลาหน่วงยาว (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> มิลลิวินาที)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="other">เวลาหน่วงยาว (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> วินาที)</item>
+      <item quantity="one">เวลาหน่วงยาว (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> วินาที)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="other">เวลาหน่วงยาวมาก (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> มิลลิวินาที)</item>
-      <item quantity="one">เวลาหน่วงยาวมาก (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> มิลลิวินาที)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="other">เวลาหน่วงยาวมาก (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> วินาที)</item>
+      <item quantity="one">เวลาหน่วงยาวมาก (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> วินาที)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> วินาที</item>
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> วินาที</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"เสียงเรียกเข้า <xliff:g id="SUMMARY_RING">%1$s</xliff:g>, การแจ้งเตือน <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>, การแตะ <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"ตั้งค่าเมื่อมีเสียงเรียกเข้าและการแจ้งเตือนเป็นปิด"</string>
@@ -2513,7 +2549,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"การใช้งานตั้งแต่ถอดปลั๊กของ <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"ยอดใช้งานรวม"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"รีเฟรช"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"ระบบปฏิบัติการ Android"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"Mediaserver"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"การเพิ่มประสิทธิภาพแอป"</string>
     <string name="battery_saver" msgid="7737147344510595864">"โหมดประหยัดแบตเตอรี่"</string>
@@ -2594,8 +2629,7 @@
     <string name="tts_play" msgid="2945513377250757221">"เล่น"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"ที่เก็บข้อมูลรับรอง"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"ติดตั้งจากที่เก็บข้อมูล"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"ติดตั้งจากการ์ด SD"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"ติดตั้งใบรับรอง"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"ติดตั้งใบรับรองจากที่เก็บข้อมูล"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"ติดตั้งใบรับรองจากการ์ด SD"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"ล้างข้อมูลรับรอง"</string>
@@ -2615,6 +2649,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"ที่จัดเก็บข้อมูลรับรองถูกลบ"</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"ไม่สามารถลบที่เก็บข้อมูลรับรอง"</string>
     <string name="usage_access_title" msgid="1580006124578134850">"แอปที่มีสิทธิ์เข้าถึงการใช้งาน"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"ใบรับรอง CA"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"ใบรับรองผู้ใช้ VPN และแอป"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"ใบรับรอง Wi‑Fi"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"ความเป็นส่วนตัวของคุณมีความเสี่ยง"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"เว็บไซต์ แอป และ VPN จะใช้ใบรับรอง CA ในการเข้ารหัส ติดตั้งใบรับรอง CA จากองค์กรที่คุณไว้วางใจเท่านั้น \n\n หากติดตั้งใบรับรอง CA เจ้าของใบรับรองจะเข้าถึงข้อมูลต่างๆ เช่น รหัสผ่าน ข้อความ หรือรายละเอียดบัตรเครดิตได้จากเว็บไซต์ที่คุณเข้าชมหรือแอปที่คุณใช้ แม้ว่าจะมีการเข้ารหัสข้อมูลดังกล่าวก็ตาม"</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"ไม่ติดตั้ง"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"ติดตั้งต่อไป"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"ไม่ได้ติดตั้งใบรับรอง"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"สัญญาณการโทรฉุกเฉิน"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"ตั้งค่าการทำงานเมื่อมีการโทรหาหมายเลขฉุกเฉิน"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"การสำรองข้อมูล"</string>
@@ -2642,10 +2684,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"ปิดใช้งานและถอนการติดตั้ง"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"แอปดูแลอุปกรณ์"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"ไม่มีแอปดูแลอุปกรณ์ที่พร้อมใช้งาน"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"ส่วนตัว"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"ที่ทำงาน"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"จำกัดการเข้าถึง SMS และประวัติการโทร"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"เฉพาะแอปโทรศัพท์และแอปรับส่งข้อความเริ่มต้นเท่านั้นที่มีสิทธิ์เข้าถึง SMS และประวัติการโทร"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"ไม่มีเอเจนต์ความน่าเชื่อถือ"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"เปิดใช้งานแอปผู้ดูแลระบบอุปกรณ์ไหม"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"เปิดใช้งานแอปผู้ดูแลระบบอุปกรณ์นี้"</string>
@@ -2659,6 +2697,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"ผู้ดูแลระบบปิดใช้ตัวเลือกอื่นๆ"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"รายละเอียดเพิ่มเติม"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"บันทึกการแจ้งเตือน"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"ประวัติการแจ้งเตือน"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"วันนี้"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"เลื่อนการปลุก"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"ปิดล่าสุด"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="other">การแจ้งเตือน <xliff:g id="NUMBER_1">%d</xliff:g> รายการ</item>
+      <item quantity="one">การแจ้งเตือน <xliff:g id="NUMBER_0">%d</xliff:g> รายการ</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"มีเสียงเรียกเข้าและสั่น"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"รายละเอียดเครือข่าย"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"เปิดใช้งานการซิงค์แล้ว"</string>
@@ -3008,7 +3054,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"ข้อจำกัด"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"ลบข้อจำกัด"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"เปลี่ยน PIN"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"แสดงการแจ้งเตือน"</string>
     <string name="help_label" msgid="2896538416436125883">"ช่วยเหลือและความเห็น"</string>
     <string name="support_summary" msgid="1034146931237148885">"บทความช่วยเหลือ โทรศัพท์และแชท การเริ่มต้นใช้งาน"</string>
     <string name="user_account_title" msgid="6389636876210834864">"บัญชีสำหรับเนื้อหา"</string>
@@ -3033,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"การโทร 4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"ใช้บริการ LTE เพื่อปรับปรุงเสียงและการติดต่อสื่อสารด้วยวิธีอื่นๆ (แนะนำ)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"ใช้บริการ 4G เพื่อปรับปรุงเสียงและการติดต่อสื่อสารด้วยวิธีอื่นๆ (แนะนำ)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"การค้นพบเกี่ยวกับรายชื่อติดต่อ"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"อนุญาตให้ผู้ให้บริการค้นพบฟีเจอร์การโทรที่รายชื่อติดต่อของคุณรองรับ"</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"เปิดใช้การค้นพบเกี่ยวกับรายชื่อติดต่อไหม"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"การเปิดใช้ฟีเจอร์นี้จะทำให้ผู้ให้บริการเข้าถึงหมายเลขโทรศัพท์ในรายชื่อติดต่อเพื่อดูฟีเจอร์การโทรที่รายชื่อติดต่อเหล่านั้นรองรับได้"</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"ประเภทเครือข่ายที่ต้องการ"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (แนะนำ)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"ข้อความ MMS"</string>
@@ -3077,7 +3126,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"โทรด้วย"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"เลือกซิมการ์ด"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"ซิมหมายเลข <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"ซิมว่าง"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"ชื่อซิม"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"ป้อนชื่อซิม"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"ช่องใส่ซิม %1$d"</string>
@@ -3087,6 +3135,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"เลือกซิมการ์ด"</string>
     <string name="color_orange" msgid="216547825489739010">"ส้ม"</string>
     <string name="color_purple" msgid="6603701972079904843">"ม่วง"</string>
+    <string name="color_pink" msgid="8596872110888626708">"ชมพู"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"ไม่ได้เสียบซิมการ์ด"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"สถานะซิม"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"สถานะซิม (ช่องซิม %1$d)"</string>
@@ -3100,7 +3149,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"เปลี่ยนซิมการ์ดแล้ว"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"แตะเพื่อตั้งค่า"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"ซิมที่แนะนำสำหรับ"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"ถามทุกครั้ง"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"ต้องเลือก"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"การเลือกซิม"</string>
@@ -3118,6 +3166,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"บลูทูธ, โหมดขับรถ"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"บลูทูธ, NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"บลูทูธ"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"ใช้ไม่ได้เพราะ NFC ปิดอยู่"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"แอปและการแจ้งเตือน"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"แอปล่าสุด แอปเริ่มต้น"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"การเข้าถึงการแจ้งเตือนไม่พร้อมใช้งานสำหรบแอปในโปรไฟล์งาน"</string>
@@ -3128,13 +3177,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"การตั้งค่า"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"wifi, wi-fi, การเชื่อมต่อเครือข่าย, อินเทอร์เน็ต, ไร้สาย, ข้อมูล, wi fi"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"การแจ้งเตือน Wi‑Fi การแจ้งเตือน wifi"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"ปริมาณการใช้อินเทอร์เน็ต"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"หยุดการสั่น แตะ แป้นพิมพ์"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"ใช้รูปแบบ 24 ชั่วโมง"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"ดาวน์โหลด"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"เปิดด้วย"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"แอปพลิเคชัน"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"เขตเวลา"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"ส่วนหัวของแชท"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"ส่วนหัวของแชท ระบบ การแจ้งเตือน หน้าต่าง กล่องโต้ตอบ การแสดงผล ทับแอปอื่นๆ วาด"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"ไฟฉาย ไฟ แฟลช"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"wifi, wi-fi, สลับ, การควบคุม"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"มือถือ, อุปกรณ์เคลื่อนที่, ผู้ให้บริการมือถือ, ไร้สาย, เน็ต, 4g, 3g, 2g, lte"</string>
@@ -3158,7 +3208,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"ห้าม อย่ารบกวน, แทรก, การรบกวน, การพัก"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"ใกล้เคียง, ประวัติตำแหน่ง, การรายงาน, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"บัญชี"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"บัญชี, เพิ่มหนึ่งบัญชี, โปรไฟล์งาน, เพิ่มบัญชี"</string>
     <string name="keywords_users" msgid="3497517660077620843">"การจำกัด, จำกัด, ถูกจำกัด"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"การแก้ไขข้อความ, แก้ไข, เสียง, สั่น, อัตโนมัติ, ภาษา, ท่าทางสัมผัส, แนะนำ, คำแนะนำ, ธีม, คำที่ไม่เหมาะสม, พิมพ์, อีโมจิ, นานาชาติ"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"รีเซ็ต, ค่ากำหนด, ค่าเริ่มต้น"</string>
@@ -3196,6 +3246,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"หน่วยความจำ แคช ข้อมูล ลบ ล้าง เพิ่มพื้นที่ว่าง พื้นที่"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"เชื่อมต่อแล้ว, อุปกรณ์, หูฟัง, ชุดหูฟัง, ลำโพง, ไร้สาย, จับคู่, หูฟังเอียร์บัด, เพลง, สื่อ"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"พื้นหลัง, หน้าจอ, หน้าจอล็อก, ธีม"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"รูปร่างไอคอน, สีเฉพาะจุด, แบบอักษร"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"ค่าเริ่มต้น, ผู้ช่วย"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"การชำระเงิน, ค่าเริ่มต้น"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"การแจ้งเตือนเข้ามาใหม่"</string>
@@ -3205,18 +3256,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"ระบบสัมผัส, สั่น, ความไว"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"โหมดประหยัดแบตเตอรี่ ตลอด สม่ำเสมอ โหมดประหยัดพลังงาน แบตเตอรี่"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"กิจวัตร, ตั้งเวลา, โหมดประหยัดแบตเตอรี่, โหมดประหยัดพลังงาน, แบตเตอรี่, อัตโนมัติ, เปอร์เซ็นต์"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"โปรไฟล์งาน"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"VoLTE, การโทรขั้นสูง, การโทรผ่าน 4g"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"เพิ่มภาษา"</string>
     <string name="default_sound" msgid="6604374495015245195">"เสียงเริ่มต้น"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"ระดับเสียงเรียกเข้าที่ <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"เสียงเรียกเข้าและการแจ้งเตือนอยู่ที่ <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"ระดับเสียง การสั่น ห้ามรบกวน"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"ตั้งโปรแกรมสร้างเสียงเรียกเข้าเป็นโหมดสั่นแล้ว"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"ตั้งโปรแกรมสร้างเสียงเรียกเข้าเป็นโหมดเงียบแล้ว"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"ระดับเสียงเรียกเข้าที่ 80%"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"เสียงเรียกเข้าและการแจ้งเตือนอยู่ที่ 80%"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"ระดับเสียงของสื่อ"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"ระดับเสียงเมื่อแคสต์"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"ระดับเสียงการโทร"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"ระดับเสียงปลุก"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"ระดับเสียงเรียกเข้า"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"เสียงเรียกเข้าและการแจ้งเตือน"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"ระดับเสียงของการแจ้งเตือน"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"เสียงเรียกเข้า"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"เสียงแจ้งเตือนเริ่มต้น"</string>
@@ -3224,6 +3276,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"เสียงแจ้งเตือนเริ่มต้น"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"เสียงปลุกเริ่มต้น"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"สั่นเมื่อมีสายเรียกเข้า"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"ไม่ใช้ระบบสั่น"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"สั่นทุกครั้ง"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"สั่นก่อนแล้วจึงค่อยๆ ส่งเสียงเรียกเข้า"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"เสียงอื่นๆ"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"เสียงแป้นหมายเลข"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"เสียงล็อกหน้าจอ"</string>
@@ -3247,6 +3302,7 @@
       <item quantity="one">เปิดใช้อยู่ 1 รายการ</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"ห้ามรบกวน"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"รับเฉพาะการแจ้งเตือนจากผู้คนและแอปที่สำคัญ"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"จำกัดการรบกวน"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"เปิด \"ห้ามรบกวน\""</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"ข้อยกเว้น"</string>
@@ -3273,7 +3329,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"บล็อกสิ่งรบกวนการมองเห็น"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"อนุญาตสัญญาณที่มองเห็น"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"เมื่อเปิดโหมดห้ามรบกวน"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"อนุญาตการรบกวนที่มีเสียง"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"จำกัดการแจ้งเตือน"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"ไม่มีเสียงเวลาแจ้งเตือน"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"คุณจะเห็นการแจ้งเตือนในหน้าจอ"</string>
@@ -3304,7 +3360,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"เสียงและการสั่น"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"เสียง การสั่น และการแจ้งเตือนด้วยภาพบางประเภท"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"เสียง การสั่น และการแจ้งเตือนด้วยภาพ"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"การแจ้งเตือนที่จำเป็นสำหรับกิจกรรมและสถานะเบื้องต้นของโทรศัพท์จะซ่อนไม่ได้"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"การแจ้งเตือนที่จำเป็นสำหรับกิจกรรมและสถานะเบื้องต้นของโทรศัพท์จะซ่อนไม่ได้"</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"ไม่มี"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"ตัวเลือกอื่นๆ"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"เพิ่ม"</string>
@@ -3334,10 +3390,12 @@
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> กำหนดการเปิดได้โดยอัตโนมัติ</item>
       <item quantity="one">1 กำหนดการเปิดได้โดยอัตโนมัติ</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"ปิดเสียงอุปกรณ์ แต่อนุญาตข้อยกเว้น"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"ข้อยกเว้น"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"กำหนดเวลา"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"ดูข้อยกเว้นทั้งหมด"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"ยกเว้นเมื่อโหมดห้ามรบกวนเปิดอยู่"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"ผู้คน"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"แอป"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"การปลุกและการรบกวนอื่นๆ"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"กำหนดการ"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"การแจ้งเตือนที่ปิดเสียงไว้"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"เมื่อเปิด \"ห้ามรบกวน\" ระบบเสียงและการสั่นจะถูกปิดเสียงยกเว้นรายการที่คุณอนุญาตข้างต้น"</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"ปิดเสียงทั้งหมดยกเว้น"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"ปิดเสียงอยู่"</string>
@@ -3381,16 +3439,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"การแจ้งเตือนแบบปรับอัตโนมัติ"</string>
     <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_capabilities_actions_replies_title" msgid="4392470465646394289">"การดำเนินการและการตอบที่แนะนำ"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"แสดงการดำเนินการและการตอบที่แนะนำโดยอัตโนมัติ"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"เปิดประวัติการแจ้งเตือนเพื่อติดตามการแจ้งเตือนในอดีตและการแจ้งเตือนที่มีการเลื่อนเวลา"</string>
+    <string name="notification_history" msgid="8663811361243456201">"ประวัติการแจ้งเตือน"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"เปิดประวัติ"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"ปิดประวัติ"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"ประวัติการแจ้งเตือนปิดอยู่"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"ดูการตั้งค่าการแจ้งเตือน"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"อนุญาตให้ใช้เลื่อนการแจ้งเตือน"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"ซ่อนไอคอนจากการแจ้งเตือนเบาๆ"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"ไอคอนจากการแจ้งเตือนเบาๆ จะไม่แสดงในแถบสถานะ"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"อนุญาตให้ใช้จุดแจ้งเตือน"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"แสดงแถบการสนทนาล่าสุด"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"ลูกโป่ง"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"การแจ้งเตือนบางรายการแสดงเป็นลูกโป่งในหน้าจอได้"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"การแจ้งเตือนบางรายการและเนื้อหาอื่นอาจแสดงเป็นลูกโป่งในหน้าจอได้ แตะลูกโป่งเพื่อเปิด ลากลูกโป่งลงไปที่ด้านล่างของหน้าจอเพื่อปิด"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"ลูกโป่ง"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"ข้อความใหม่จะปรากฏบนหน้าจอ"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"อนุญาตให้ \"<xliff:g id="APP_NAME">%1$s</xliff:g>\" แสดงการแจ้งเตือนบางรายการเป็นลูกโป่ง"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"เปิดลูกโป่ง"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"หากต้องการเปิดลูกโป่งของแอปนี้ คุณต้องเปิดลูกโป่งของอุปกรณ์ก่อน การดำเนินการนี้จะส่งผลต่อแอปอื่นๆ ที่คุณเปิดลูกโป่งไว้ก่อนหน้านี้"</string>
@@ -3408,6 +3476,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"แสดงในหน้าต่างแบบเลื่อนลงและในหน้าจอล็อก"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"แสดงในหน้าต่างแบบเลื่อนลงและแถบสถานะ"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"แสดงในหน้าต่างแบบเลื่อนลง แถบสถานะ และในหน้าจอล็อก"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"ซ่อนการแจ้งเตือนที่ปิดเสียงในแถบสถานะ"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"ไฟกะพริบ"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"หน้าจอล็อก"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"ข้ามการล็อกหน้าจอ"</string>
@@ -3438,6 +3507,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"ลักษณะการทำงาน"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"อนุญาตให้ส่งเสียง"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"ไม่ต้องแสดงการแจ้งเตือน"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"การสนทนา"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"การสนทนา"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"ไม่ใช่การสนทนา"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"นำออกจากส่วนการสนทนา"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"นี่คือการสนทนา"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"เพิ่มลงในส่วนการสนทนา"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"จัดการการสนทนา"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"การสนทนาที่สำคัญ"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"การสนทนาทั้งหมด"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"แสดงการสนทนาที่สำคัญเป็นบับเบิล"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"การสนทนาที่สำคัญจะแสดงที่ด้านบนของหน้าต่างแจ้งเตือนแบบดึงลง และคุณยังตั้งค่าให้แสดงเป็นบับเบิลและข้ามโหมดห้ามรบกวนได้ด้วย"</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"แสดงโดยไม่ส่งเสียงและย่อเล็กสุด"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"แสดงโดยไม่ส่งเสียง"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"ส่งเสียง"</string>
@@ -3456,7 +3536,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"ช่วยรักษาสมาธิของคุณด้วยการไม่ส่งเสียงหรือสั่น"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"ดึงความสนใจของคุณด้วยเสียงและการสั่น"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"เมื่ออุปกรณ์ปลดล็อกอยู่ ให้แสดงการแจ้งเตือนเป็นแบนเนอร์ที่ด้านบนของหน้าจอ"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"แสดงการแจ้งเตือน"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"การแจ้งเตือนทั้งหมดของ <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"การแจ้งเตือนแบบปรับอัตโนมัติ"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="other">การแจ้งเตือนประมาณ <xliff:g id="NUMBER_1">%d</xliff:g> ครั้งต่อวัน</item>
@@ -3477,6 +3557,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"การแจ้งเตือนแบบปรับอัตโนมัติ"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"ไม่มี"</string>
     <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="3119843404577399036">"<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>
@@ -3538,8 +3619,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"เสร็จสิ้น"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"ความสำคัญ"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"ไฟกะพริบ"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"สั่น"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"การสั่น"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"เสียง"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"สำคัญ"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"เพิ่มลงในหน้าจอหลัก"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"ลบ"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"เปลี่ยนชื่อ"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"ชื่อกำหนดเวลา"</string>
@@ -3593,6 +3676,10 @@
       <item quantity="other">อีก <xliff:g id="NUM_PEOPLE">%d</xliff:g> คน</item>
       <item quantity="one">อีก 1 คน</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"การสนทนา"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"จากการสนทนาทั้งหมด"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"จากการสนทนาที่สำคัญ"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"ไม่อนุญาตการสนทนาทั้งหมด"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"อนุญาตข้อความ"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"ตรวจสอบว่าคุณตั้งค่าอุปกรณ์ให้ส่งเสียง สั่น หรือปิดเสียงไว้เพื่อให้แน่ใจว่าอุปกรณ์จะส่งเสียงเมื่อได้รับข้อความที่อนุญาต"</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"บล็อกข้อความเข้าสำหรับ \"<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>\" เอาไว้ คุณปรับเปลี่ยนการตั้งค่าเพื่ออนุญาตให้เพื่อน ครอบครัว หรือรายชื่อติดต่อคนอื่นๆ ติดต่อคุณได้"</string>
@@ -3606,15 +3693,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"ไม่มี"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"ไม่อนุญาตการโทรทั้งหมด"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"ไม่อนุญาตข้อความทั้งหมด"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"อนุญาตการปลุก"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"การปลุก"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"จากตัวจับเวลา การปลุก ระบบรักษาความปลอดภัย และแอปอื่นๆ"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"การปลุก"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"เปิดเสียงสื่อ"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"เสียงสื่อ"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"จากวิดีโอ เกม และสื่ออื่นๆ"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"สื่อ"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"อนุญาตเสียงแตะ"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"เสียงแตะ"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"จากแป้นพิมพ์และปุ่มอื่นๆ"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"เสียงแตะ"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"อนุญาตการช่วยเตือน"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"การช่วยเตือน"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"จากงานและการช่วยเตือน"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"ช่วยเตือน"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"อนุญาตกิจกรรม"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"กิจกรรม"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"จากกิจกรรมในปฏิทินที่กำลังจะเกิดขึ้น"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"อนุญาตให้แอปลบล้าง"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"ข้อยกเว้นแอป"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3657,6 +3749,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"อนุญาตให้การแจ้งเตือนที่ปิดเสียงโดย \"ห้ามรบกวน\" เปิดหน้าจอ"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"การตั้งค่าการแจ้งเตือน"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"ตกลง"</string>
+    <string name="suggestion_button_close" msgid="6865170855573283759">"ปิด"</string>
     <string name="device_feedback" msgid="5351614458411688608">"ส่งความคิดเห็นเกี่ยวกับอุปกรณ์นี้"</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"ป้อน PIN ผู้ดูแลระบบ"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"เปิด"</string>
@@ -3667,6 +3760,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"ขอ PIN ก่อนเลิกตรึง"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"ขอรหัสผ่านก่อนเลิกตรึง"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"ล็อกอุปกรณ์เมื่อเลิกตรึง"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"ยืนยันการลบซิม"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"ยืนยันตัวตนของคุณก่อนลบซิมที่ดาวน์โหลด"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"โปรไฟล์งานนี้ได้รับการจัดการโดย:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"จัดการโดย <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(ทดลอง)"</string>
@@ -3741,8 +3836,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"แอปทั้งหมด"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"แอปที่ติดตั้ง"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Instant Apps"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"ส่วนตัว"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"งาน"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"แอป: ทั้งหมด"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"ปิดอยู่"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"หมวดหมู่: ความสำคัญเร่งด่วน"</string>
@@ -3754,6 +3847,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"แอปที่ไม่รู้จัก"</string>
     <string name="app_permissions" msgid="8666537659217653626">"เครื่องมือจัดการสิทธิ์"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"แอปต่างๆ ที่ใช้<xliff:g id="APPS">%1$s</xliff:g>"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"แอปที่ใช้ <xliff:g id="APPS">%1$s</xliff:g> และอื่นๆ"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"แตะเพื่อปลุก"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"แตะที่ใดก็ได้บนหน้าจอ 2 ครั้งเพื่อปลุกอุปกรณ์"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"การเปิดลิงก์"</string>
@@ -3765,9 +3859,14 @@
       <item quantity="other">มี <xliff:g id="COUNT">%d</xliff:g> แอปเปิดลิงก์ที่รองรับได้</item>
       <item quantity="one">มี 1 แอปเปิดลิงก์ที่รองรับได้</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"เปิดในแอปนี้"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"อนุญาตให้แอปเปิดลิงก์ที่รองรับ"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"ถามทุกครั้ง"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"อย่าเปิดในแอปนี้"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"ไม่อนุญาตให้แอปเปิดลิงก์"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="other">แอปอ้างว่าจัดการ <xliff:g id="COUNT_1">%d</xliff:g> ลิงก์</item>
+      <item quantity="one">แอปอ้างว่าจัดการ <xliff:g id="COUNT_0">%d</xliff:g> ลิงก์</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"แอปอ้างว่าจัดการลิงก์ต่อไปนี้"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"ค่าเริ่มต้น"</string>
     <string name="default_for_work" msgid="537558180548617528">"ค่าเริ่มต้นสำหรับงาน"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"แอปผู้ช่วยและข้อมูลเสียง"</string>
@@ -3911,8 +4010,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"แสดงทับแอปอื่นๆ"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"อนุญาตให้แสดงทับแอปอื่นๆ"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"อนุญาตให้แอปนี้แสดงทับแอปอื่นๆ ที่คุณกำลังใช้อยู่ ซึ่งอาจรบกวนการใช้งานแอปเหล่านั้นหรือเปลี่ยนรูปลักษณ์หรือการทำงานตามที่ควรเป็น"</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"การเข้าถึงไฟล์ทั้งหมด"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"อนุญาตให้เข้าถึงเพื่อจัดการไฟล์ทั้งหมด"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"อนุญาตให้แอปนี้อ่าน แก้ไข และลบไฟล์ทั้งหมดในอุปกรณ์นี้หรือวอลุ่มของพื้นที่เก็บข้อมูลใดๆ ที่เชื่อมต่อ หากได้รับอนุญาต แอปอาจเข้าถึงไฟล์ได้โดยที่คุณไม่ทราบอย่างชัดแจ้ง"</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"เข้าถึงไฟล์ทั้งหมดได้"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"VR Virtual Reality Listener บริการตัวช่วยสเตอริโอ"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"แสดงหน้าต่างแจ้งเตือนของระบบทับแอปอื่นๆ"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"แสดงทับแอปอื่นๆ"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"<xliff:g id="COUNT_0">%1$d</xliff:g> จาก <xliff:g id="COUNT_1">%2$d</xliff:g> แอปได้รับอนุญาตให้แสดงทับแอปอื่นๆ"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"แอปที่มีสิทธิ์"</string>
@@ -4078,6 +4180,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"ใช้ไป <xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g>"</string>
     <string name="data_overusage" msgid="3680477320458707259">"เกิน <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="data_remaining" msgid="6316251496381922837">"เหลือ <xliff:g id="ID_1">^1</xliff:g>"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"กราฟแสดงปริมาณการใช้อินเทอร์เน็ตระหว่างวันที่ <xliff:g id="START_DATE">%1$s</xliff:g> ถึง <xliff:g id="END_DATE">%2$s</xliff:g>"</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"ไม่มีข้อมูลในช่วงวันที่นี้"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="other">เหลืออีก %d วัน</item>
       <item quantity="one">เหลืออีก %d วัน</item>
@@ -4141,14 +4245,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"ขนาดพาร์เซล"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"การแจ้งเตือนที่เข้ามา"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"เสียง"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"สั่น"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"รูปแบบ"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"ค่าเริ่มต้น"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"ช่อง"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"ไม่มี"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"ไม่มีวัตถุการจัดอันดับ"</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"วัตถุการจัดอันดับไม่มีคีย์นี้"</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"ธีม"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"ค่าเริ่มต้นของอุปกรณ์"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"คัตเอาท์ดิสเพลย์"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"คัตเอาท์ดิสเพลย์"</string>
@@ -4237,8 +4337,12 @@
     <string name="information_label" msgid="6939310810756569298">"ข้อมูล"</string>
     <string name="low_label" msgid="6525629096999711220">"ต่ำ"</string>
     <string name="high_label" msgid="357503396626018487">"สูง"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"ความไวที่สูงขึ้นอาจขัดแย้งกับท่าทางสัมผัสของแอปที่บริเวณขอบหน้าจอ"</string>
+    <string name="left_edge" msgid="1513576842959071849">"ขอบซ้าย"</string>
+    <string name="right_edge" msgid="1505309103265829121">"ขอบขวา"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"ความไวที่สูงขึ้นอาจขัดแย้งกับท่าทางสัมผัสของแอปที่บริเวณขอบหน้าจอ"</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"ความไวต่อการเลื่อนกลับ"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"การตั้งค่าท่าทางสัมผัส"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"การนำทางด้วยท่าทางสัมผัส ความไวต่อการเลื่อนกลับ ท่าทางสัมผัสการย้อนกลับ"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"แตะสองครั้งเพื่อดูโทรศัพท์"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"แตะ 2 ครั้งเพื่อตรวจสอบแท็บเล็ต"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"แตะ 2 ครั้งเพื่อตรวจสอบอุปกรณ์"</string>
@@ -4393,7 +4497,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"ทริกเกอร์การจัดสรรผู้ให้บริการ"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"อัปเดตโหมดห้ามรบกวน"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"หยุดการแจ้งเตือนชั่วคราวเพื่อไม่ให้มีสิ่งรบกวน"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"ฟีเจอร์นี้ไม่สามารถใช้ได้บนอุปกรณ์นี้"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"ใช้งานฟีเจอร์ไม่ได้"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"ฟีเจอร์นี้ถูกปิดไปเพราะทำให้โทรศัพท์ช้า"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"บังคับใช้การวัด GNSS เต็มรูปแบบ"</string>
@@ -4403,20 +4506,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"เลือกแอปที่พร้อมใช้งาน ANGLE"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"ไม่ได้ตั้งค่าแอปพลิเคชันที่พร้อมใช้งาน ANGLE"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"แอปพลิเคชันที่พร้อมใช้งาน ANGLE: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"ค่ากำหนดไดรเวอร์เกม"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"แก้ไขการตั้งค่าไดรเวอร์เกม"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"เมื่อเปิดไดรเวอร์เกมไว้ คุณจะเลือกใช้ไดรเวอร์กราฟิกที่อัปเดตกับแอปที่ติดตั้งในอุปกรณ์ได้"</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"เปิดใช้สำหรับแอปทั้งหมด"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"เลือกไดรเวอร์กราฟิก"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"ค่าเริ่มต้น"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"ไดรเวอร์เกม"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"ไดรเวอร์การเผยแพร่ล่วงหน้า"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"ไดรเวอร์กราฟิกของระบบ"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"ค่ากำหนดไดรเวอร์กราฟิก"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"แก้ไขการตั้งค่าไดรเวอร์กราฟิก"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"เมื่อมีไดรเวอร์กราฟิกหลายรายการ คุณจะเลือกใช้ไดรเวอร์กราฟิกที่อัปเดตกับแอปที่ติดตั้งในอุปกรณ์ได้"</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"เปิดใช้สำหรับแอปทั้งหมด"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"เลือกไดรเวอร์กราฟิก"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"ค่าเริ่มต้น"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"ไดรเวอร์เกม"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"ไดรเวอร์ของนักพัฒนาซอฟต์แวร์"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"ไดรเวอร์กราฟิกของระบบ"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"การเปลี่ยนแปลงความเข้ากันได้ของแอป"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"สลับการเปลี่ยนแปลงความเข้ากันได้ของแอป"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"การเปลี่ยนแปลงที่เปิดใช้โดยค่าเริ่มต้น"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"การเปลี่ยนแปลงที่ปิดใช้โดยค่าเริ่มต้น"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"ไม่รองรับการตั้งค่าในโทรศัพท์นี้"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"ไม่รองรับการตั้งค่าในแท็บเล็ตนี้"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"ไม่รองรับการตั้งค่าในอุปกรณ์นี้"</string>
@@ -4435,6 +4544,12 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"อุปกรณ์"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"ใช้งานไม่ได้ขณะสนทนาโทรศัพท์"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"ไม่สามารถใช้งานได้"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"เพิ่มเอาต์พุต"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"กลุ่ม"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"เลือกอุปกรณ์ 1 รายการ"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"เลือกอุปกรณ์ <xliff:g id="COUNT">%1$d</xliff:g> รายการ"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"รับสายใน"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"เปลี่ยนแปลง APN นี้ไม่ได้"</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"เพิ่มอายุการใช้งานแบตเตอรี่ของแท็บเล็ต"</string>
@@ -4552,10 +4667,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"ใช้ซิมที่ดาวน์โหลดมาได้ครั้งละ 1 รายการเท่านั้น\n\nการเปลี่ยนเป็น <xliff:g id="CARRIER1">%1$s</xliff:g> จะไม่ยกเลิกบริการ <xliff:g id="CARRIER2">%2$s</xliff:g>"</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"เปลี่ยนเป็น <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"ลบซิม"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"ลบซิมที่ดาวน์โหลดมานี้ใช่ไหม"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"การลบซิมนี้จะนำบริการ <xliff:g id="CARRIER_0">%1$s</xliff:g> ออกจากอุปกรณ์นี้\n\nแต่จะไม่ยกเลิกบริการของ <xliff:g id="CARRIER_1">%2$s</xliff:g>"</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"ลบ"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"กำลังลบซิม…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"ลบซิมไม่ได้"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"ลบซิมนี้ไม่ได้เนื่องจากมีข้อผิดพลาด\n\nรีสตาร์ทอุปกรณ์แล้วลองอีกครั้ง"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"ประเภทเครือข่ายที่ต้องการ"</string>
@@ -4580,7 +4691,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"โหมดเครือข่ายไม่ถูกต้อง <xliff:g id="NETWORKMODEID">%1$d</xliff:g> ไม่สนใจ"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"ชื่อจุดเข้าใช้งาน"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"ใช้ไม่ได้เมื่อเชื่อมต่อกับ <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"ข้อมูลทางการแพทย์ รายชื่อติดต่อฉุกเฉิน"</string>
     <string name="see_more" msgid="7499355691042812723">"ดูเพิ่ม"</string>
     <string name="see_less" msgid="2642392725363552793">"ดูน้อยลง"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"อุปกรณ์ที่จะใช้กับ <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
@@ -4589,11 +4699,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"เกิดข้อผิดพลาด แอปพลิเคชันยกเลิกคำขอเลือกอุปกรณ์"</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"เชื่อมต่อสำเร็จ"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"แสดงทั้งหมด"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="other">เชื่อมต่ออุปกรณ์อยู่ <xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> เครื่อง</item>
-      <item quantity="one">เชื่อมต่ออุปกรณ์อยู่ <xliff:g id="NUMBER_DEVICE_COUNT_0">%1$d</xliff:g> เครื่อง</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"ไม่มีอุปกรณ์บลูทูธ"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"กำลังค้นหาอุปกรณ์…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"กำลังเชื่อมต่ออุปกรณ์…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"ซ้าย"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"ขวา"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"กล่อง"</string>
@@ -4603,6 +4710,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"ใช้ขณะที่เปิดโหมดบนเครื่องบินไม่ได้"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"บังคับใช้โหมดเดสก์ท็อป"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"บังคับใช้โหมดเดสก์ท็อปแบบทดลองในจอแสดงผลรอง"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"เปิดใช้แอปที่มีขนาดเข้ากันได้ในรูปแบบอิสระ"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"อนุญาตให้แอปที่มีขนาดเข้ากันได้อยู่ในรูปแบบอิสระ"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"ลบล้างฟีเจอร์บังคับใช้โหมดมืด"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"ลบล้างฟีเจอร์บังคับใช้โหมดมืดให้เปิดตลอดเวลา"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"ความเป็นส่วนตัว"</string>
@@ -4639,6 +4748,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"คุณเพิ่งติดตั้งแอปนี้"</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"เปลี่ยนเอาต์พุต"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"กำลังเล่นใน <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (ยกเลิกการเชื่อมต่อแล้ว)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"เปลี่ยนไม่ได้ แตะเพื่อลองอีกครั้ง"</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"ข้อมูลสำคัญ"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"ต่อไป"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"ไม่เป็นไร"</string>
@@ -4666,8 +4777,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"การรวมซิม"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"ข้อมูลนโยบายงาน"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"การตั้งค่าที่ผู้ดูแลระบบไอทีจัดการ"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"เครื่องจัดการรายงานข้อบกพร่อง"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"เลือกแอปที่จะให้จัดการทางลัดรายงานข้อบกพร่องในอุปกรณ์"</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"ส่วนตัว"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"งาน"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"ค่าเริ่มต้นของระบบ"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"ตัวเลือกนี้ใช้ไม่ได้อีกต่อไป โปรดลองอีกครั้ง"</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"หยุดแคสต์"</string>
 </resources>
diff --git a/res/values-tl/arrays.xml b/res/values-tl/arrays.xml
index 3d439a6..c73b961 100644
--- a/res/values-tl/arrays.xml
+++ b/res/values-tl/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"Kaagad"</item>
     <item msgid="463591454172790676">"5 segundo"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"Huwag i-validate"</item>
+    <item msgid="5703177653586269306">"Hilingin ang status ng certificate"</item>
+    <item msgid="326388247868439528">"Hingin ang status ng certificate"</item>
+    <item msgid="1090956283885790552">"Hingin ang lahat ng status ng hindi pinagkakatiwalaang certificate"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"button na Push"</item>
     <item msgid="2630618799033509548">"PIN mula sa device ng kaibigan"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"Wala"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"IPSec VPN na may mga paunang nabahaging keys at pagpapatotoo ng Xauth"</item>
     <item msgid="2484564813864139237">"IPSec VPN na may mga certificate at pagpapatotoo ng Xauth"</item>
     <item msgid="68918911194507915">"IPSec VPN na may mga certificate at hybrid na pagpapatotoo"</item>
+    <item msgid="4631647675167100375">"IKEv2/IPSec VPN na may mga certificate at pag-authenticate ng username/password"</item>
+    <item msgid="8812228622975052811">"IKEv2/IPSec VPN na may mga paunang nabahaging key"</item>
+    <item msgid="6630554779981113046">"IKEv2/IPSec VPN na may mga certificate"</item>
   </string-array>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"Wala"</item>
diff --git a/res/values-tl/config.xml b/res/values-tl/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-tl/config.xml
+++ b/res/values-tl/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index 9ab1d77..558d04c 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -31,49 +31,17 @@
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Paki-enable muna ang mga opsyon ng developer."</string>
     <string name="header_category_wireless_networks" msgid="303445626075235229">"Wireless at mga network"</string>
     <string name="header_category_system" msgid="1665516346845259058">"System"</string>
-    <string name="radio_info_data_connection_enable" msgid="7500945447906187613">"I-enable ang Koneksyon sa Data"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"I-disable ang Koneksyon sa Data"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"VoLTE Provisioned"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"Naka-provision ang Pag-video Call"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"Naka-provision ang Pagtawag gamit ang Wifi"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"Naka-provision ang EAB/Presence"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"Cbrs Data"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"I-enable ang DSDS"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"I-restart ang Device?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"Kailangan mong i-restart ang device para mabago ang setting na ito."</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"I-restart"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"Kanselahin"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"Mobile Radio Power"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"Tingnan ang Address Book ng SIM"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"Tingnan ang Mga Fixed Dialing Number"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"Tingnan ang Mga Service Dialing Number"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"Status ng Serbisyo ng IMS"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"Status ng IMS"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"Nakarehistro"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"Hindi Nakarehistro"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"Available"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"Hindi Available"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"Pagpaparehistro ng IMS: <xliff:g id="STATUS">%1$s</xliff:g>\nVoice sa pamamagitan ng LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nVoice sa pamamagitan ng WiFi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideo Calling: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT Interface: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"Gumagana"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Hindi Gumagana"</string>
     <string name="radioInfo_service_emergency" msgid="6838935881091760942">"Mga Emergency na Tawag Lang"</string>
     <string name="radioInfo_service_off" msgid="6184928420860868571">"Naka-off ang Radyo"</string>
     <string name="radioInfo_roaming_in" msgid="8892550453644088692">"Roaming"</string>
     <string name="radioInfo_roaming_not" msgid="3137594549464975054">"Hindi Roaming"</string>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"Idle"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"Nagri-ring"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"May Kausap sa Telepono"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"Hindi nakakonekta"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"Pagkonekta"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"Konektado"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Suspendido"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Hindi Alam"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"pkts"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"bytes"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"I-unmount storage na USB"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"I-unmount ang SD card"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"Burahin storage na USB"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"Gawing mas maliit o mas malaki ang text sa screen."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Paliitin"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Palakihin"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"Sample na text"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"The Wonderful Wizard of Oz"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"Kabanata 11: The Wonderful Emerald City of Oz"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"Kailangan mong i-restart ang device para mabago ang setting."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"I-restart"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"Kanselahin"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"Mga available na media device"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"Mga available na call device"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"Kasalukuyang nakakonekta"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"Mga media device"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"Mga device sa pagtawag"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"Iba pang device"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Mga naka-save na device"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Mag-o-on ang Bluetooth para magpares"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Kagustuhan sa koneksyon"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"Hindi wasto ang port na iyong na-type."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"Ang HTTP proxy ay ginagamit ng browser pero hindi puwedeng gamitin ng iba pang app."</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"PAC URL: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"Kasalukuyang subId:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"SubId ng default na data SIM:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"DL Bandwidth (kbps):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"UL Bandwidth (kbps):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"Impormasyon ng Lokasyon ng Cell (hindi na ginagamit):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"Configuration ng LTE Physical Channel:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"Rate ng Pag-refresh ng Impormasyon ng Cell:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"Impormasyon ng Pagsukat sa Lahat ng Cell:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"Serbisyo ng Data:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"Roaming:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"Pag-redirect ng Tawag:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"Bilang ng Pag-reset ng PPP Pagkatapos Mag-boot:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"Kasalukuyang Network:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"Natanggap na Data:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"Serbisyo ng Voice:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"Lakas ng Signal:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"Status ng Voice Call:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"Ipinadalang Data:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"Naghihintay na Mensahe:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"Numero ng Telepono:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"Pumili ng Band ng Radyo"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"Uri ng Voice Network:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"Uri ng Data Network:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"Pumili ng index ng telepono"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"Itakda ang Uri ng Gustong Network:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"I-ping ang Hostname(www.google.com) IPv4:"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"I-ping ang Hostname(www.google.com) IPv6:"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"Test ng HTTP Client:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"Patakbuhin ang Ping Test"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"I-update"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"I-refresh"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"I-toggle ang DNS Check"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"Impormasyon/Mga Setting na partikular sa OEM"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"Itakda ang Band Mode ng Radyo"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"Nilo-load ang Listahan ng Band…"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"Itakda"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"Hindi tagumpay"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"Matagumpay"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"Nagkakabisa ang mga pagbabago kapag muling ikinonekta ang USB cable."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"Paganahin ang USB mass storage"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"Kabuuang bytes:"</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"Ilipat sa ibaba"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"Alisin ang wika"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"Pumili ng aktibidad"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"Impormasyon ng device"</string>
     <string name="display_label" msgid="3056320781191343221">"Screen"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"Impormasyon ng tablet"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"Impormasyon ng telepono"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"Storage na USB"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"SD card"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"Mga setting ng proxy"</string>
@@ -306,9 +234,6 @@
     <string name="airplane_mode" msgid="3196085857882526817">"Airplane mode"</string>
     <string name="wireless_networks_settings_title" msgid="8557542379234105369">"Wireless at mga network"</string>
     <string name="radio_controls_summary" msgid="9028430178697624501">"Pamahalaan ang Wi-Fi, Bluetooth, airplane mode, mga mobile network at mga VPN"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"Mobile data"</string>
-    <string name="calls_title" msgid="6334813967619899114">"Pahintulutan ang mga tawag"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"Mga mensaheng SMS"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"Payagan ang paggamit ng data sa mobile network"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"Payagan data usage pag roaming"</string>
     <string name="roaming" msgid="3055365654530847985">"Pag-roam"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"Kumonekta sa mga serbisyo ng data kapag naka-roaming"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"Nawala ang koneksyon ng data dahil iniwan mo ang iyong home network na naka-off ang roaming ng data."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"I-on ito"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"Puwede kang magkaroon ng malaking bayarin."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"Kapag papayagan mo ang roaming ng data, puwede kang magkaroon ng malaking bayarin sa roaming!\n\nNakakaapekto ang setting na ito sa lahat ng user ng tablet na ito."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"Kapag papayagan mo ang roaming ng data, puwede kang magkaroon ng malaking bayarin sa roaming!\n\nNakakaapekto ang setting na ito sa lahat ng user ng teleponong ito."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"Puwedeng magkaroon ng mga singil sa roaming."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"Kapag papayagan mo ang roaming ng data, puwedeng malapat ang mga singil sa roaming.\n\nNakakaapekto ang setting na ito sa lahat ng user sa tablet na ito."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"Kapag papayagan mo ang roaming ng data, puwedeng malapat ang mga singil sa roaming.\n\nNakakaapekto ang setting na ito ang lahat ng user sa teleponong ito."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"Payagan ang roaming ng data?"</string>
     <string name="networks" msgid="5184501333492775095">"Pagpipilian ng operator"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"Pumili ng isang tagapagpatakbo ng network"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"Na-disable ng admin"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"Ipakita ang opsyong lockdown"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"Ipakita ang opsyong power button na nag-o-off ng Smart Lock, pag-unlock gamit ang biometrics, at mga notification sa lock screen"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"Extend unlock para lang sa trust agent"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"Kung naka-enable, pananatilihin ng mga trust agent na mas matagal na naka-unlock ang iyong device, ngunit hindi na makakapag-unlock ng naka-lock na device."</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"I-lock ang screen kapag nawala ang trust"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"Kung naka-enable, mala-lock ang device kapag nawalan ng trust ang huling trust agent"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"Wala"</string>
@@ -390,7 +313,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"Itakda ang Aking Lokasyon, pag-unlock ng screen, lock ng SIM card, lock ng storage ng kredensyal"</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"Itakda ang Aking Lokasyon, pag-unlock ng screen, lock ng storage ng kredensyal"</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"Privacy"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"Na-disable ng admin"</string>
+    <string name="disabled_by_administrator_summary" msgid="5424846182313851124">"Hindi available"</string>
     <string name="security_status_title" msgid="6958004275337618656">"Status ng seguridad"</string>
     <string name="security_dashboard_summary_face" msgid="4198949293847206382">"Lock ng screen, face unlock"</string>
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Lock ng screen, fingerprint"</string>
@@ -693,7 +616,6 @@
       <item quantity="one">Dapat ay wala pang <xliff:g id="NUMBER_1">%d</xliff:g> digit</item>
       <item quantity="other">Dapat ay wala pang <xliff:g id="NUMBER_1">%d</xliff:g> na digit</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"Maglaman lang dapat ng mga digit na 0-9"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"Hindi pinapayagan ng admin ng device ang paggamit ng kamakailang PIN"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"Bina-block ng iyong IT admin ang mga pangkaraniwang PIN. Sumubok ng ibang PIN."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"Hindi ito maaaring magsama ng di-wastong character"</string>
@@ -724,6 +646,10 @@
       <item quantity="one">Dapat na maglaman ng kahit <xliff:g id="COUNT">%d</xliff:g> hindi titik na character lang</item>
       <item quantity="other">Dapat na maglaman ng kahit <xliff:g id="COUNT">%d</xliff:g> na hindi titik na character lang</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="one">Dapat ay may kahit <xliff:g id="COUNT">%d</xliff:g> hindi numerong character</item>
+      <item quantity="other">Dapat ay may kahit <xliff:g id="COUNT">%d</xliff:g> na hindi numerong character</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"Hindi pinapayagan ng admin ng device ang paggamit ng kamakailang password"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"Bina-block ng iyong IT admin ang mga pangkaraniwang password. Sumubok ng ibang password."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"Hindi pinapayagan ang pataas, pababa, o paulit-ulit na pagkakasunod-sunod ng mga digit"</string>
@@ -837,19 +763,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2.4 GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"Mag-sign in"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"Buksan ang site"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"<xliff:g id="REMAINING_TIME">%1$s</xliff:g> na lang"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"Mag-e-expire sa <xliff:g id="EXPIRY_TIME">%1$s</xliff:g>"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"Mag-tap dito para mag-sign in sa network"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"Gustong i-on ng <xliff:g id="REQUESTER">%s</xliff:g> ang Wi-Fi"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"Gustong i-off ng <xliff:g id="REQUESTER">%s</xliff:g> ang Wi-Fi"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"I-verify ang bytecode ng mga nade-debug na app"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Payagan ang ART na i-verify ang bytecode para sa mga nade-debug na app"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"Ipakita ang refresh rate"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Ipakita ang kasalukuyang refresh rate ng display"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"Payagan ang palitan ng data kapag dumikit ang tablet sa isa pang device"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"Payagan ang pagpapalitan ng data kapag nadikit ang telepono sa isa pang device"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"Payagan ang pagpapalitan ng data kapag dumikit ang tablet sa isang NFC device"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"Payagan ang pagpapalitan ng data kapag dumikit ang telepono sa isang NFC device"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"I-on ang NFC"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"Nakikipagpalitan ang NFC ng data sa pagitan ng device na ito at iba pang mga kalapit na device o target, tulad ng mga terminal sa pagbabayad, access reader at mga interactive na ad o tag."</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"I-secure ang NFC"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Hingin ang pag-unlock ng device para sa NFC"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"Payagan lang ang paggamit ng Pagbabayad sa NFC at Transit kapag naka-unlock ang screen"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"Handa nang maglipat ng content ng app sa pamamagitan ng NFC"</string>
@@ -923,8 +855,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"I-on"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Na-on ang pag-scan ng Wi‑Fi"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Mga advanced na opsyon"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"Drop-down na listahan ng Mga Advanced na Opsyon. I-double tap upang i-collapse."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"Drop-down na listahan ng Mga Advanced na Opsyon. I-double tap upang palawakin."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Mga Advanced na Opsyon sa drop down na listahan"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"i-expand"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"Pangalan ng network"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"Ilagay ang SSID"</string>
     <string name="wifi_security" msgid="9095934643631406913">"Seguridad"</string>
@@ -934,6 +866,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"Katayuan"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"Bilis ng pagpapadala ng link"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"Bilis ng pagtanggap ng link"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"Bilis ng link"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"Frequency"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"IP address"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"Na-save sa pamamagitan ng"</string>
@@ -941,6 +874,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"Pamamaraang EAP"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"Phase 2 na pagpapatotoo"</string>
     <string name="wifi_eap_ca_cert" msgid="8033404008276298886">"Certificate ng CA"</string>
+    <string name="wifi_eap_ocsp" msgid="8713933962516871238">"Status ng Online na Certificate"</string>
     <string name="wifi_eap_domain" msgid="8304301470752333203">"Domain"</string>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"Certificate ng user"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"Pagkakilanlan"</string>
@@ -957,6 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"Pumili ng kahit isang band para sa Wi‑Fi hotspot:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"Mga setting ng IP"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"Privacy"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"Subscription"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"Tingnan o baguhin ang subscription"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"Na-randomize na MAC"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"Magdagdag ng device"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"Igitna ang QR code sa ibaba para maidagdag ang device sa “<xliff:g id="SSID">%1$s</xliff:g>”"</string>
@@ -966,12 +902,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"Ibahagi ang Wi‑Fi"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"I-scan ang QR code na ito para kumonekta sa “<xliff:g id="SSID">%1$s</xliff:g>” at ibahagi ang password"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"I-scan ang QR code na ito para kumonekta sa “<xliff:g id="SSID">%1$s</xliff:g>”"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"Hindi mabasa ang QR code. Igitna ulit ang code at subukang muli"</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"Subukang muli. Kung magpatuloy ang isyu, makipag-ugnayan sa manufacturer ng device"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"Nagkaproblema"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"Tiyaking nakasaksak ang device, may charge, at naka-on"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"Tiyaking nakasaksak ang device, may charge, at naka-on. Kung magpapatuloy ang isyu, makipag-ugnayan sa manufacturer ng device"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"Hindi sinusuportahan ng device na ito ang pagdaragdag ng “<xliff:g id="SSID">%1$s</xliff:g>”"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"Subukang ilapit ang device sa iyong Wi‑Fi access point/router"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"Suriin ang password at subukan ulit"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"Makipag-ugnayan sa manufacturer ng device"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"Suriin ang koneksyon at subukang muli"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"Pumili ng network"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"Para maikonekta ang iyong device, pumili ng network"</string>
@@ -984,11 +922,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"Ibinabahagi ang Wi‑Fi sa device na ito…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"Kumokonekta…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"Ibahagi ang hotspot"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"I-verify na ikaw ito"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"I-verify na ikaw ito"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"Password ng Wi‑Fi: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"Password ng hotspot: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"Auto‑connect"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"Payagan ang telepono na awtomatikong kumonekta malapit sa network na ito"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"Payagan ang tablet na awtomatikong kumonekta malapit sa network na ito"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"Magdagdag ng device"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"Gumamit ng QR code para makapagdagdag ng device sa network na ito"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"Hindi valid na format ang QR code"</string>
     <string name="retry" msgid="7542103800274026915">"Subukang Muli"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"Ibahagi sa iba pang mga user ng device"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(di-nabago)"</string>
@@ -1000,6 +942,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"Walang natukoy na certificate. Hindi magiging pribado ang iyong koneksyon."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"Masyadong mahaba ang pangalan ng network."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"Dapat tumukoy ng domain."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"Kinakailangan ang certificate."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"Available ang WPS"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (Available ang WPS)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"Carrier ng Wi-Fi network"</string>
@@ -1051,7 +994,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"Advanced na Wi-Fi"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"MAC address"</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_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>
@@ -1103,7 +1047,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"Gamitin ang hotspot upang gumawa ng Wi‑Fi network para sa iyong iba pang device. Nagbibigay ng internet ang hotspot gamit ang iyong koneksyon ng mobile data. Maaaring may mailapat na karagdagang singilin sa mobile data."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"Maaaring gumawa ang mga app ng hotspot upang magbahagi ng content sa mga kalapit na device."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Awtomatikong i-off ang hotspot"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"Mag-o-off ang Wi‑Fi hotspot kung walang nakakonektang device"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Kapag walang nakakonektang device"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"Pag-on sa hotspot…"</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"Pag-off sa hotspot…"</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"Aktibo ang <xliff:g id="NETWORK_SSID">%1$s</xliff:g>"</string>
@@ -1112,6 +1056,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"Pag-setup ng Wi‑Fi hotspot"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"AndroidAP WPA2 PSK na hotspot"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"AndroidHotspot"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"I-save ang network na ito?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"Gusto ng <xliff:g id="APPNAME">%1$s</xliff:g> na mag-save ng network sa iyong telepono"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"Gusto ng <xliff:g id="APPNAME">%1$s</xliff:g> na mag-save ng network sa iyong tablet"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"Sine-save…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"Na-save"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"Hindi ma-save Subukan ulit."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"I-save ang mga network?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"Gustong i-save ng <xliff:g id="APPNAME">%1$s</xliff:g> ang mga network na ito sa iyong telepono"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"Gustong i-save ng <xliff:g id="APPNAME">%1$s</xliff:g> ang mga network na ito sa iyong tablet"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"Sine-save ang <xliff:g id="NUMBER">%d</xliff:g> (na) network…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"Mga network na naka-save"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"Pagtawag gamit ang Wi-Fi"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"I-extend ang mga tawag gamit ang Wi‑Fi"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"I-on ang pagtawag sa Wi‑Fi para i-extend ang saklaw"</string>
@@ -1138,16 +1093,18 @@
     <string name="emergency_address_title" msgid="3490633500025717573">"Pang-emergency na Address"</string>
     <string name="emergency_address_summary" msgid="3022628750270626473">"Ginagamit bilang iyong lokasyon kapag nagsagawa ka ng pang-emergency na tawag sa pamamagitan ng Wi‑Fi"</string>
     <string name="private_dns_help_message" msgid="851221502063782306"><annotation id="url">"Matuto pa"</annotation>" tungkol sa mga feature ng Pribadong DNS"</string>
+    <string name="private_dns_mode_on" msgid="8878679071975375696">"Naka-on"</string>
     <string name="wifi_calling_pref_managed_by_carrier" msgid="129524064888622179">"Pinamamahalaan ng carrier ang setting"</string>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"I-activate ang Pagtawag gamit ang Wi-Fi"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"I-on ang pagtawag gamit ang Wi-Fi"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"Hindi sinusuportahan ang pagtawag gamit ang Wi-Fi para sa %1$s"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"Nadiskonekta sa <xliff:g id="SSID">%1$s</xliff:g>"</string>
     <string name="carrier" msgid="1755020806290963951">"Carrier"</string>
     <string name="display_settings_title" msgid="626835071804834218">"Ipakita"</string>
     <string name="sound_settings" msgid="5514582720435174014">"Tunog"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"Mga Volume"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"Mga effect sa musika"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"Volume ng pag-ring"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"Volume ng pag-ring at notification"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"I-vibrate kapag naka-silent"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"Default na tunog ng notification"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"Ringtone"</string>
@@ -1272,13 +1229,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"Iskedyul"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"Wala"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"Ma-on sa sunset hanggang sunrise"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"Ino-on sa custom na oras"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"Status"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"Naka-off / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"Hindi awtomatikong mao-on kailanman"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"Awtomatikong mao-on sa sunset"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"Awtomatikong mag-o-on nang <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"Naka-on / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"Hindi awtomatikong mao-off kailanman"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"Awtomatikong mao-off sa sunrise"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"Awtomatikong mag-o-off nang <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"I-on hanggang <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"I-off hanggang <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"Gumagamit ng itim na background sa madilim na tema para makatulong na mas tumagal ang baterya sa ilang screen. Naghihintay ang mga iskedyul ng madilim na tema na ma-off ang iyong screen bago ma-on ang mga ito."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"Timeout ng screen"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"Pag-off ng screen"</string>
@@ -1290,7 +1252,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"Baguhin ang wallpaper"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"I-personalize ang iyong screen"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"Pumili ng wallpaper sa"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"I-customize ang iyong Pixel"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"I-customize ang iyong telepono"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"Sumubok ng iba\'t ibang istilo, wallpaper, at higit pa"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"Screen saver"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Habang nagcha-charge o naka-dock"</string>
@@ -1379,6 +1341,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"I-unmount ang storage na USB, tingnan ang available na storage"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"I-unmount ang SD card, tingnan ang available na storage"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (slot ng sim %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"Para tingnan, piliin ang naka-save na network"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"Numero ng telepono"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (slot ng sim %1$d)"</string>
@@ -1405,6 +1368,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"Roaming"</string>
     <string name="status_operator" msgid="4335640583552058491">"Network"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"MAC address ng Wi-Fi"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"Device Wi‑Fi MAC address"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"Address ng bluetooth"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Serial number"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Oras na naka-up"</string>
@@ -1617,6 +1581,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Nakumpleto ang pag-reset sa default na mga setting ng APN."</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"Mga opsyon sa pag-reset"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"Maaaring i-reset ang network, mga app, o device"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"Puwedeng i-reset ang mga app"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"I-reset ang Wi-Fi, mobile, at Bluetooth"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"Ire-reset nito ang lahat ng setting ng network, kasama ang:\n\n"<li>"Wi‑Fi"</li>\n<li>"Mobile data"</li>\n<li>"Bluetooth"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"Burahin ang na-download na SIM"</string>
@@ -1666,6 +1631,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"Naka-on ang hotspot"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"Pag-tether"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"Hindi makapag-tether o makagamit ng mga portable hotspot habang naka-on ang Data Saver"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"Hotspot lang"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"USB lang"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"Bluetooth lang"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"Hotspot, USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"Hotspot, Bluetooth"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB, Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"Hotspot, USB, Bluetooth"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"Hindi nagbabahagi ng internet sa ibang device"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"Pag-tether"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Huwag gumamit ng Wi‑Fi hotspot"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Magbahagi ng internet sa pamamagitan lang ng USB"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Magbahagi ng internet sa pamamagitan lang ng Bluetooth"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Magbahagi ng internet sa pamamagitan lang ng USB at Bluetooth"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"Pag-tether ng USB"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"Ibahagi ang koneksyon sa internet ng telepono sa pamamagitan ng USB"</string>
@@ -1756,9 +1734,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"Impormasyon sa kaligtasan"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"Wala kang koneksyon sa data. Upang tingnan ang impormasyong ito ngayon, pumunta sa %s mula sa anumang computer na nakakonekta sa internet."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"Naglo-load…"</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"Gamitin ang PIN"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"Gamitin ang pattern"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"Gamitin ang password"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"Magtakda ng lock ng screen"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"Para sa seguridad, magtakda ng password"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"Para magamit ang fingerprint, i-set ang pw"</string>
@@ -1767,8 +1742,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"Para magamit ang fingerprint, i-set ang PIN"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"Para sa seguridad, magtakda ng pattern"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"Ilagay ulit ang iyong password"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"Ilagay ang iyong password sa trabaho"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"Kumpirmahin ang iyong pattern"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"Ilagay ang pattern sa trabaho"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"Ilagay ulit ang iyong PIN"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"Ilagay ang iyong PIN sa trabaho"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"Hindi tugma ang mga password"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"Hindi tugma ang mga PIN"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"Iguhit ulit ang iyong pattern"</string>
@@ -1779,6 +1757,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"Para sa face unlock, mag-set ng password"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"Para sa face unlock, mag-set ng pattern"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"Para sa face unlock, mag-set ng PIN"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"Nakalimutan ang iyong password?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"Nakalimutan ang iyong pattern?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"Nakalimutan ang iyong PIN?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"Gamitin ang iyong pattern sa device upang magpatuloy"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"Ilagay ang iyong PIN sa device upang magpatuloy"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"Ilagay ang iyong password sa device upang magpatuloy"</string>
@@ -1846,6 +1827,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"Payagan lahat ng source ng app"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"Mga app na binuksan kamakailan"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"Tingnan ang lahat ng <xliff:g id="COUNT">%1$d</xliff:g> (na) app"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"Makipag-ugnayan sa iyong IT admin"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"Matutulungan ka nilang i-reset ang iyong PIN, pattern, o password"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"Mas nanganganib ang iyong tablet at personal na data sa pag-atake ng mga hindi alam na app. Sa pamamagitan ng pag-install ng mga app mula sa pinagmulang ito, sumasang-ayon kang ikaw ang mananagot para sa anumang pinsala sa iyong tablet o pagkawala ng data na maaaring maging resulta ng paggamit sa mga ito."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"Mas nanganganib ang iyong telepono at personal na data sa pag-atake ng mga hindi alam na app. Sa pamamagitan ng pag-install ng mga app mula sa pinagmulang ito, sumasang-ayon kang ikaw ang mananagot para sa anumang pinsala sa iyong telepono o pagkawala ng data na maaaring maging resulta ng paggamit sa mga ito."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"Mas nanganganib ang iyong device at personal na data sa pag-atake ng mga hindi alam na app. Sa pamamagitan ng pag-install ng mga app mula sa source na ito, sumasang-ayon kang ikaw ang mananagot para sa anumang pinsala sa iyong device o pagkawala ng data na maaaring maging resulta ng paggamit sa mga ito."</string>
@@ -1897,7 +1880,7 @@
     <string name="default_emergency_app" msgid="1929974800666613803">"Emergency app"</string>
     <string name="reset_app_preferences" msgid="8861758340732716573">"I-reset ang kagustuhan sa app"</string>
     <string name="reset_app_preferences_title" msgid="8935136792316050759">"I-reset ang gusto sa app?"</string>
-    <string name="reset_app_preferences_desc" msgid="1377296810290814749">"Ire-reset nito ang lahat ng kagustuhan para sa:\n\n"<li>"Mga naka-disable na app"</li>\n<li>"Mga naka-disable na notification ng app"</li>\n<li>"Mga default na application para sa mga pagkilos"</li>\n<li>"Mga paghihigpit sa data sa background para sa mga app"</li>\n<li>"Anumang mga paghihigpit sa pahintulot"</li>\n\n"Hindi ka mawawalan ng anumang data ng app."</string>
+    <string name="reset_app_preferences_desc" msgid="6509978724602405805">"Ire-reset nito ang lahat ng kagustuhan para sa:\n\n"<li>"Mga naka-disable na app"</li>\n<li>"Mga naka-disable na notification ng app"</li>\n<li>"Mga default na application para sa mga pagkilos"</li>\n<li>"Mga paghihigpit sa data ng background para sa mga app"</li>\n<li>"Anumang paghihigpit sa pahintulot"</li>\n\n"Hindi ka mawawalan ng anumang data ng app."</string>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"I-reset ang apps"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"Pamahalaan ang espasyo"</string>
     <string name="filter" msgid="9039576690686251462">"I-filter"</string>
@@ -2097,7 +2080,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"Audio at text sa screen"</string>
     <string name="display_category_title" msgid="6638191682294461408">"Display"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"Mga kontrol ng pakikipag-ugnayan"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"Mga na-download na serbisyo"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"Mga na-download na app"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"Pang-eksperimento"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"Mga flag ng feature"</string>
     <string name="talkback_title" msgid="8756080454514251327">"Talkback"</string>
@@ -2105,27 +2088,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"Mag-tap ng mga item sa iyong screen upang marinig ang mga ito na binabasa nang malakas"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"Mga kagustuhan sa caption"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"Pag-magnify"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"Bahaging ima-magnify"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"I-enable ang pag-magnify"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"Piliin ang (mga) bahaging ima-magnify na gusto mong gamitin kapag mina-magnify ang screen"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"Full screen"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"Bahagi ng screen"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"Full screen at bahagi ng screen"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"I-magnify ang buong screen"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"I-magnify ang bahagi ng screen"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Mga setting ng pag-magnify"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"Mag-magnify gamit ang triple-tap"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Mag-magnify gamit ang shortcut"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Mag-magnify gamit ang shortcut at pag-triple tap"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"Tungkol sa <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"Mga Opsyon"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"Mag-zoom in sa screen"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"Mag-tap nang 3 beses upang mag-zoom"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Mag-tap ng button upang mag-zoom"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><b>"Upang mag-zoom"</b>", mabilisang i-tap ang screen nang 3 beses.\n"<ul><li>"I-drag ang 2 o higit pang daliri upang mag-scroll"</li>\n<li>"I-pinch ang 2 o higit pang daliri upang isaayos ang zoom"</li></ul>\n\n<b>"Upang mag-zoom pansamantala"</b>", mabilisang i-tap ang screen nang 3 beses at pumindot nang matagal sa pangatlong pag-tap.\n"<ul><li>"Mag-drag upang gumalaw-galaw sa screen"</li>\n<li>"Iangat ang iyong daliri upang mag-zoom out"</li></ul>\n\n"Hindi ka maaaring mag-zoom in sa keyboard at navigation bar."</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"Kapag naka-on ang pag-magnify, makakapag-zoom in ka sa iyong screen.\n\n"<b>"Para mag-zoom"</b>", simulan ang pag-magnify, pagkatapos ay mag-tap kahit saan sa screen.\n"<ul><li>"• Mag-drag ng 2 o higit pang daliri para mag-scroll"</li>\n<li>"• Mag-pinch ng 2 o higit pang daliri para i-adjust ang zoom"</li></ul>\n\n<b>"Para pansamantalang mag-zoom"</b>", simulan ang pag-magnify, pagkatapos ay pumindot nang matagal kahit saan sa screen.\n"<ul><li>"• Mag-drag para mag-navigate sa screen"</li>\n<li>"• Iangat ang daliri para mag-zoom out"</li></ul>\n\n"Hindi ka puwedeng mag-zoom in sa keyboard o navigation bar."</string>
+    <string name="accessibility_screen_magnification_summary" msgid="7617931632990040045">"Mabilis na mag-zoom in sa screen para makita nang mas malinaw ang content.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Para mag-zoom in:&lt;/b&gt;&lt;br/&gt;	1. Gamitin ang shortcut para simulan ang pag-magnify&lt;br/&gt;	2. I-tap ang screen&lt;br/&gt;	3. Mag-drag gamit ang 2 daliri para makita ang iba\'t ibang bahagi ng screen&lt;br/&gt;	4. Mag-pinch gamit ang 2 daliri para i-adjust ang pagka-zoom&lt;br/&gt;	5. Gamitin ang shortcut para ihinto ang pag-magnify&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Para mag-zoom in nang pansamantala:&lt;/b&gt;&lt;br/&gt;	1. Gamitin ang shortcut para simulan ang pag-magnify&lt;br/&gt;	2. Pumindot nang matagal kahit saan sa screen&lt;br/&gt;	3. Mag-drag gamit ang daliri para makita ang iba\'t ibang bahagi ng screen&lt;br/&gt;	4. Iangat ang daliri para ihinto ang pag-magnify"</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Kapag naka-on ang pag-magnify, makakapag-zoom in ka sa iyong screen.\n\n"<b>"Para mag-zoom"</b>", simulan ang pag-magnify, pagkatapos ay mag-tap kahit saan sa screen.\n"<ul><li>"Mag-drag ng 2 o higit pang daliri para mag-scroll"</li>\n<li>"Mag-pinch ng 2 o higit pang daliri para isaayos ang pag-zoom"</li></ul>\n\n<b>"Para mag-zoom pansamantala"</b>", simulan ang pag-magnify, pagkatapos ay pumindot nang matagal kahit saan sa screen.\n"<ul><li>"Mag-drag para gumalaw-galaw sa screen"</li>\n<li>"Iangat ang daliri para mag-zoom out"</li></ul>\n\n"Hindi ka makakapag-zoom in sa keyboard o navigation bar."</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Gamitin ang button sa accessibility para buksan"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Gumamit ng galaw para buksan"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"Gamitin ang bagong galaw sa pagiging accessible"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"Para i-on o i-off ang serbisyong ito, i-tap ang button ng pagiging accessible<xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>sa ibaba ng iyong screen.\n\nPara magpalipat-lipat sa mga serbisyo, pindutin nang matagal ang button ng pagiging accessible."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"Para i-on o i-off ang serbisyong ito, mag-swipe pataas mula sa ibaba ng screen gamit ang dalawang daliri.\n\nPara magpalipat-lipat sa mga serbisyo, mag-swipe pataas gamit ang dalawang daliri at i-hold."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"Para i-on o i-off ang serbisyong ito, mag-swipe pataas mula sa ibaba ng screen gamit ang tatlong daliri.\n\nPara magpalipat-lipat sa mga serbisyo, mag-swipe pataas gamit ang tatlong daliri at i-hold."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"Para i-on o i-off ang isang serbisyo sa pagiging accessible, mag-swipe pataas mula sa ibaba ng screen gamit ang dalawang daliri.\n\nPara magpalipat-lipat sa mga serbisyo, mag-swipe pataas gamit ang dalawang daliri at i-hold."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"Para i-on o i-off ang isang serbisyo sa pagiging accessible, mag-swipe pataas mula sa ibaba ng screen gamit ang tatlong daliri.\n\nPara magpalipat-lipat sa mga serbisyo, mag-swipe pataas gamit ang tatlong daliri at i-hold."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"Para i-on o i-off ang serbisyong ito, i-tap ang button ng accessibility <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> sa ibaba ng iyong screen.\n\nPara magpalipat-lipat sa mga serbisyo, pindutin nang matagal ang button ng accessibility."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"Para i-on o i-off ang serbisyong ito, mag-swipe pataas mula sa ibaba ng screen gamit ang dalawang daliri.\n\nPara magpalipat-lipat sa mga serbisyo, mag-swipe pataas gamit ang dalawang daliri at i-hold."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"Para i-on o i-off ang serbisyong ito, mag-swipe pataas mula sa ibaba ng screen gamit ang tatlong daliri.\n\nPara magpalipat-lipat sa mga serbisyo, mag-swipe pataas gamit ang tatlong daliri at i-hold."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"Para i-on o i-off ang isang serbisyo sa pagiging accessible, mag-swipe pataas mula sa ibaba ng screen gamit ang dalawang daliri.\n\nPara magpalipat-lipat sa mga serbisyo, mag-swipe pataas gamit ang dalawang daliri at i-hold."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"Para i-on o i-off ang isang serbisyo sa pagiging accessible, mag-swipe pataas mula sa ibaba ng screen gamit ang tatlong daliri.\n\nPara magpalipat-lipat sa mga serbisyo, mag-swipe pataas gamit ang tatlong daliri at i-hold."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"OK"</string>
+    <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Shortcut ng <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_edit_summary_software" msgid="2820923641553461297">"Button ng Pagiging Accessible"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture" msgid="8078659880723370597">"Mag-swipe pataas gamit ang 2 daliri"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture_talkback" msgid="7422753388389160524">"Mag-swipe pataas gamit ang 2 daliri"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software" msgid="4796192466943479849">"I-tap ang button ng pagiging accessible"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8922102767509399352">"I-tap ang button ng pagiging accessible <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> sa ibaba ng iyong screen"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"Mag-swipe pataas mula sa ibaba ng screen gamit ang 2 daliri"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"Mag-swipe pataas mula sa ibaba ng screen gamit ang 3 daliri"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"I-hold ang mga volume key"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"Pindutin nang matagal ang parehong volume key sa loob ng 1 segundo"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"I-triple tap ang screen"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"Mabilis na i-tap ang screen nang 3 beses. Baka mapabagal ng shortcut na ito ang iyong device."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"Advanced"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"Nakatakda sa <xliff:g id="SERVICE">%1$s</xliff:g> ang button na Pagiging Accessible. Upang gumamit ng pag-magnify, pindutin nang matagal ang button na Pagiging Accessible, pagkatapos ay piliin ang pag-magnify."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"Nakatakda sa <xliff:g id="SERVICE">%1$s</xliff:g> ang galaw ng pagiging accessible. Para magamit ang pag-magnify, mag-swipe pataas gamit ang dalawang daliri mula sa ibaba ng screen at i-hold. Pagkatapos ay piliin ang pag-magnify."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"Shortcut gamit ang volume key"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"Serbisyo ng shortcut"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Mga setting ng shortcut"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"Payagan mula sa lock screen"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"Kapag naka-on ang shortcut, maaari mong pindutin ang dalawang volume key nang 3 segundo upang magsimula ng feature sa pagiging naa-access."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"Text na high contrast"</string>
@@ -2149,24 +2157,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"Piliin kung gaano katagal ipapakita ang mga mensaheng humihiling sa iyong umaksyon, ngunit pansamantala lang makikita.\n\nHindi lahat ng app ay sumusuporta sa setting na ito."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"Pindutin nang matagal ang delay"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"Pag-invert ng kulay"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"Maaaring makaapekto sa performance"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"Oras ng pananatili"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"Gamitin ang pag-invert ng kulay"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"Pinapadilim ng pag-invert ng kulay ang maliliwanag na screen. Nakakatulong ito sa mga taong sensitibo sa maliliwanag na ilaw para mas madali nilang makita ang screen.&lt;br/&gt;&lt;br/&gt;Tandaan: Magiging maliwanag ang madidilim na kulay. Mababago ang kulay ng media at mga larawan. Puwede mo ring gamitin ang Madilim na tema (Mga Setting &gt; Display)."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"Awtomatikong pag-click (oras ng pananatili)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"Kung gumagamit ka ng mouse, maaari mong itakda ang cursor na awtomatikong gumawa ng pagkilos kapag huminto ito sa paggalaw sa loob ng partikular na tagal ng oras."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"Pagkaantala bago ang pag-click"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"Huwag mag-auto click (default)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"Maikli"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0.2 segundo"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"Katamtaman"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0.6 segundo"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"Mahaba"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 segundo"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"Custom"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"Mas maikli"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"Mas mahaba"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"Tagal ng auto click"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"Lakas ng pag-vibrate at haptic na feedback"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Pag-vibrate kapag may notification"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Pag-vibrate kapag nag-ring"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Feedback sa pagpindot"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"Gamitin ang serbisyo"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"Gamitin ang <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"Buksan ang <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"Gumamit ng pagwawasto ng kulay"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"Gumamit ng mga caption"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"Ipakita ang mga caption"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"Hitsura ng caption"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"Laki ng text size, istilo ng caption"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"Higit pang opsyon"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"May mga app na hindi sumusuporta sa setting na ito."</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"Button ng accessibility"</string>
+    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"Mag-swipe pataas gamit ang dalawang daliri mula sa ibaba"</string>
+    <string name="accessibility_shortcut_type_hardware" msgid="4834144210432451916">"I-hold ang mga volume key"</string>
+    <string name="accessibility_shortcut_type_triple_tap" msgid="7717524216825494543">"I-triple tap ang screen"</string>
     <string name="accessibility_hearingaid_instruction_continue_button" msgid="3367260988024430722">"Magpatuloy"</string>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"Mga hearing aid"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"Walang nakakonektang hearing aid"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"Magdagdag ng mga hearing aid"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"Para ipares ang hearing aids mo, hanapin at i-tap ang device mo sa susunod na screen."</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"Tiyaking nasa mode ng pagpapares ang iyong mga hearing aid."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"Para ipares ang iyong mga hearing aid, hanapin at i-tap ang device mo sa susunod na screen. Tiyaking nasa mode ng pagpapares ang iyong mga hearing aid."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"Aktibo ang <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> na-save na hearing aid</item>
@@ -2178,25 +2204,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Hindi gumagana nang maayos ang serbisyong ito."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Ipakita sa Mga Mabilisang Setting"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"Correction mode"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="one">Sobrang ikling pagkaantala (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Sobrang ikling pagkaantala (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> na ms)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Pula-berde"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"Berde-pula"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Asul-dilaw"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"Deuteranomaly"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"Protanomaly"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"Tritanomaly"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="one">Napakaikling pagkaantala (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> segundo)</item>
+      <item quantity="other">Napakaikling pagkaantala (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> na segundo)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="one">Napakaikling pagkaantala (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Napakaikling pagkaantala (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> na ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="one">Mas maikling pagkaantala (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> segundo)</item>
+      <item quantity="other">Mas maikling pagkaantala (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> na segundo)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="one">Maikling pagkaantala (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Maikling pagkaantala (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> na ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="one">Maikling pagkaantala (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> segundo)</item>
+      <item quantity="other">Maikling pagkaantala (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> na segundo)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="one">Matagal na pagkaantala (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Matagal na pagkaantala (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> na ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="one">Mahabang pagkaantala (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> segundo)</item>
+      <item quantity="other">Mahabang pagkaantala (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> na segundo)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="one">Sobrang tagal na pagkaantala (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Sobrang tagal na pagkaantala (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> na ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="one">Mas mahabang pagkaantala (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> segundo)</item>
+      <item quantity="other">Mas mahabang pagkaantala (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> na segundo)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> segundo</item>
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> na segundo</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"Pag-ring <xliff:g id="SUMMARY_RING">%1$s</xliff:g>, notification <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>, pagpindot <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"Naka-off ang pag-ring at notification"</string>
@@ -2513,7 +2549,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"Habang huling naka-unplug para sa <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"Mga kabuuan ng paggamit"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"I-refresh"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"Android OS"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"Mediaserver"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"Pag-optimize ng app"</string>
     <string name="battery_saver" msgid="7737147344510595864">"Pangtipid sa Baterya"</string>
@@ -2594,8 +2629,7 @@
     <string name="tts_play" msgid="2945513377250757221">"I-play"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"Storage ng kredensyal"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"I-install mula sa storage"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"I-install mula sa SD card"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"Mag-install ng certificate"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"Mag-install ng mga certificate mula sa storage"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"Mag-install ng mga certificate mula sa SD card"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"I-clear ang mga kredensyal"</string>
@@ -2615,6 +2649,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"Binura: storage ng kredensyal."</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"Di mbura storage ng krednsyal."</string>
     <string name="usage_access_title" msgid="1580006124578134850">"App na may access sa paggamit"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"CA certificate"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"VPN at certificate ng app user"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"Certificate ng Wi-Fi"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"Nanganganib ang iyong privacy"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"Ang mga CA certificate ay ginagamit ng mga website, app, at VPN para sa pag-encrypt. Mag-install lang ng mga CA certificate mula sa mga organisasyong pinagkakatiwalaan mo. \n\n Kung mag-i-install ka ng CA certificate, magagawa ng may-ari ng certificate na i-access ang iyong impormasyon, tulad ng mga password, mensahe, o detalye ng credit card, mula sa mga website na binibisita mo o mga app na ginagamit mo - kahit na naka-encrypt ang impormasyong iyon."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"Huwag i-install"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"I-install pa rin"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"Hindi na-install ang certificate"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"Signal sa pang-emergency na pag-dial"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Itakda ang pag-uugali kapag naganap ang isang pang-emergency na tawag"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Pag-back Up"</string>
@@ -2642,10 +2684,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"I-deactivate at i-uninstall"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"Mga app ng admin ng device"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"Walang available na app ng admin ng device"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"Personal"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"Trabaho"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"Paghigpitan ang access sa SMS at log ng tawag"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"Ang mga default na app sa telepono at pagmemensahe lang ang may mga pahintulot sa SMS at log ng tawag"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"Walang available na mga trust agent"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"I-activate ang app ng admin ng device?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"I-activate ang app ng admin ng device na ito"</string>
@@ -2659,6 +2697,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"Na-disable ng iyong admin ang iba pang opsyon"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"Higit pang mga detalye"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"Log ng notification"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"History ng notification"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"Ngayon"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"Naka-snooze"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"Na-dismiss kamakailan"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="one"><xliff:g id="NUMBER_1">%d</xliff:g> notification</item>
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> na notification</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"Ringtone at pag-vibrate ng tawag"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"Detalye ng network"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"Pinapagana ang sync"</string>
@@ -3008,7 +3054,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"Mga Paghihigpit"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"Alisin ang paghihigpit"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"Palitan ang PIN"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"Ipakita notification"</string>
     <string name="help_label" msgid="2896538416436125883">"Tulong at feedback"</string>
     <string name="support_summary" msgid="1034146931237148885">"Mga artikulo ng tulong, telepono at pakikipag-chat, pagsisimula"</string>
     <string name="user_account_title" msgid="6389636876210834864">"Account para sa nilalaman"</string>
@@ -3033,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"Pagtawag gamit ang 4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Gamitin ang mga serbisyo ng LTE para pahusayin ang boses at iba pang komunikasyon (inirerekomenda)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Gamitin ang mga serbisyo ng 4G para pahusayin ang boses at iba pang komunikasyon (inirerekomenda)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Pagtuklas sa contact"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Papayagan ang carrier mo na tuklasin kung aling feature sa pagtawag ang puwede sa mga contact mo."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"I-enable ang pagtuklas sa contact?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Kapag na-enable ang feature na ito, papayagan ang iyong carrier na mag-access ng mga numero ng telepono sa iyong mga contact para matuklasan kung aling mga feature sa pagtawag ang sinusuportahan nila."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Gustong uri ng network"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (inirerekomenda)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"Mga mensaheng MMS"</string>
@@ -3077,7 +3126,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"Tumawag gamit ang"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"Pumili ng SIM card"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"SIM <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"Walang laman ang SIM"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"Pangalan ng SIM"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"Ilagay ang pangalan ng SIM"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"Slot ng SIM %1$d"</string>
@@ -3087,6 +3135,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"Pumili ng SIM card"</string>
     <string name="color_orange" msgid="216547825489739010">"Orange"</string>
     <string name="color_purple" msgid="6603701972079904843">"Lila"</string>
+    <string name="color_pink" msgid="8596872110888626708">"Pink"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"Walang nakalagay na mga SIM card"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"Status ng SIM"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"Status ng SIM (slot ng sim %1$d)"</string>
@@ -3100,7 +3149,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"Pinalitan ang SIM card."</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"I-tap upang mag-set up"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"Ginustong SIM para sa"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Itanong palagi"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Kinakailangang pumili"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"Pagpipilian ng SIM"</string>
@@ -3118,6 +3166,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"Bluetooth, driving mode"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"Bluetooth, NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"Bluetooth"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"Hindi available dahil naka-off ang NFC"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"Mga app at notification"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Mga kamakailang app, mga default na app"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Hindi available ang access sa notification para sa mga app sa profile sa trabaho."</string>
@@ -3128,13 +3177,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"Mga Setting"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"wifi, wi-fi, koneksyon sa network, internet, wireless, data, wi fi"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"Notification sa Wi‑Fi, notification sa wifi"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"paggamit ng data"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"Ihinto ang pag-vibrate, pag-tap, keyboard"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"Gamitin ang 24 na oras na format"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"Pag-download"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"Buksan gamit ang"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"Mga Application"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"timezone"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"Head ng chat"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"Head ng chat, system, alerto, window, dialog, display, sa ibabaw ng iba pang app, draw"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"Flashlight, Ilaw, Torch"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"wifi, wi-fi, i-toggle, pagkontrol"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"cellular, mobile, cell carrier, wireless, data, 4g,3g, 2g, lte"</string>
@@ -3158,7 +3208,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"huwag gambalain, gambalain, pagkagambala, putol"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"kalapit, lokasyon, history, pag-uulat, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"account"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"account, magdagdag ng account, profile sa trabaho, magdagdag ng account"</string>
     <string name="keywords_users" msgid="3497517660077620843">"paghihigpit, paghigpitan, pinaghigpitan"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"pagwawasto ng text, iwasto, tunog, i-vibrate, auto, wika, galaw, imungkahi, mungkahi, tema, nakakapanakit, salita, i-type, emoji, international"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"i-reset, mga kagustuhan, default"</string>
@@ -3196,6 +3246,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"memory, cache, data, i-delete, i-clear, bakante, espasyo"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"nakakonekta, device, headphones, headset, speaker, wireless, ipares, earbuds, musika, media"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"background, screen, lockscreen, tema"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"hugis ng icon, kulay ng accent, font"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"default, assistant"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"pagbabayad, default"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"papasok na notification"</string>
@@ -3205,18 +3256,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"haptics, pag-vibrate, pagkasensitibo"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"pangtipid sa baterya, sticky, manatili, pantipid ng baterya, baterya"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"routine, iskedyul, pangtipid sa baterya, pangtipid ng power, baterya, awtomatiko, porsyento"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"profile sa trabaho"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"volte, advanced na pagtawag, pagtawag gamit ang 4g"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"idagdag ang wika, magdagdag ng wika"</string>
     <string name="default_sound" msgid="6604374495015245195">"Default na tunog"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"Nasa <xliff:g id="PERCENTAGE">%1$s</xliff:g> ang volume ng pag-ring"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"Nasa <xliff:g id="PERCENTAGE">%1$s</xliff:g> ang volume ng pag-ring at notification"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Volume, pag-vibrate, Huwag Istorbohin"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"Naka-vibrate ang ringer"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"Naka-silent ang ringer"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"Nasa 80% ang volume ng pag-ring"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"Nasa 80% ang volume ng pag-ring at notification"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Volume ng media"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Volume ng pag-cast"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"Volume ng tawag"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"Volume ng alarm"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"Volume ng pag-ring"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"Volume ng pag-ring at notification"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"Volume ng notification"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"Ringtone ng telepono"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"Default na notification sound"</string>
@@ -3224,6 +3276,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"Default na tunog ng notification"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"Default na tunog ng alarm"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"Mag-vibrate para sa mga tawag"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"Huwag kailanman mag-vibrate"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"Palaging i-vibrate"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"Mag-vibrate muna at mag-ring"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"Iba pang mga tunog"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"Mga tono ng dial pad"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"Tunog sa pag-screen lock"</string>
@@ -3247,6 +3302,7 @@
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> ang naka-enable</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Huwag Istorbohin"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Makakuha lang ng notification mula sa mahahalagang tao at app"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Limitahan ang mga pagkaantala"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"I-on ang Huwag Istorbohin"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"Mga Pagbubukod"</string>
@@ -3273,7 +3329,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"I-block ang visual na abala"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Payagan ang visual na signal"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"Kapag naka-on ang Huwag Istorbohin"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"Payagan ang mga abalang tumutunog"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"Paghigpitan ang mga notification"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Walang tunog mula sa mga notification"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"Makikita mo ang mga notification sa iyong screen"</string>
@@ -3304,7 +3360,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"Tunog at pag-vibrate"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"Tunog, pag-vibrate, at ilang visual na senyales ng mga notification"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"Tunog, pag-vibrate, at mga visual na senyales ng mga notification"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"Hindi kailanman itatago ang mga notification na kinakailangan para sa pangunahing aktibidad at status ng telepono"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"Hindi kailanman itatago ang mga notification na kinakailangan para sa pangunahing aktibidad at status ng telepono."</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"Wala"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"iba pang opsyon"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"Magdagdag"</string>
@@ -3334,10 +3390,12 @@
       <item quantity="one"><xliff:g id="ON_COUNT">%d</xliff:g> (na) iskedyul ang maaaring awtomatikong mag-on</item>
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> (na) iskedyul ang maaaring awtomatikong mag-on</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"I-mute ang device pero pahintulutan ang mga exception"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"Mga Exception"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"Iskedyul"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"Tingnan ang lahat ng exception"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"Mga pagbubukod kapag naka-on ang Huwag Istorbohin"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"Mga Tao"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"Mga App"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"Mga alarm at iba pang abala"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"Mga Iskedyul"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"Mga pinatahimik na notification"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"Kapag naka-on ang Huwag Istorbohin, mamu-mute ang tunog at pag-vibrate, maliban sa mga item na pinapayagan mo sa itaas."</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"I-mute lahat maliban sa"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"Na-mute"</string>
@@ -3381,16 +3439,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"Mga adaptive na notification"</string>
     <string name="asst_capability_prioritizer_title" msgid="1181272430009156556">"Priyoridad ng adaptive na notification"</string>
     <string name="asst_capability_prioritizer_summary" msgid="954988212366568737">"Awtomatikong itakda sa Malumanay ang mga notification na may mababang priyoridad"</string>
+    <string name="asst_capability_ranking_title" msgid="312998580233257581">"Pag-rank ng adaptive na notification"</string>
+    <string name="asst_capability_ranking_summary" msgid="2293524677144599450">"Awtomatikong i-rank ang mga notification ayon sa kaugnayan nito"</string>
     <string name="asst_capabilities_actions_replies_title" msgid="4392470465646394289">"Mga iminumungkahing pagkilos at tugon"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"Awtomatikong ipakita ang mga iminumungkahing pagkilos at tugon"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"I-on ang history ng notification para masubaybayan ang mga dating notification at na-snooze na notification"</string>
+    <string name="notification_history" msgid="8663811361243456201">"History ng notification"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"I-on ang history"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"I-off ang history"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"Naka-off ang history ng notification"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"tingnan ang mga setting ng notification"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Payagan ang pag-snooze ng notification"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"Itago ang mga icon mula sa mga malumanay na notification"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"Hindi ipinapakita sa status bar ang mga icon mula sa mga malumanay na notification"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"Payagan ang notification dots"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"Magpakita ng strip ng mga kamakailang pag-uusap"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Mga Bubble"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"Puwedeng lumabas ang ilang notification bilang mga bubble sa screen"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"Puwedeng lumabas ang ilang notification at iba pang content bilang mga bubble sa screen. Para magbukas ng bubble, i-tap ito. Para i-dismiss ito, i-drag ito pababa sa screen."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Mga Bubble"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"Lalabas ang mga bagong mensahe sa screen"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"Payagan ang <xliff:g id="APP_NAME">%1$s</xliff:g> na ipakita ang ilang notification bilang mga bubble"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"I-on ang mga bubble"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"Para i-on ang mga bubble para sa app na ito, kailangan mo munang i-on ang mga ito para sa iyong device. Maaapektuhan nito ang iba pang app kung saan mo dating na-on ang mga bubble."</string>
@@ -3408,6 +3476,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"Ipakita sa pull-down na shade at lock screen"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"Ipakita sa pull-down na at status bar"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"Ipakita sa pull-down na shade, status bar, at lock screen"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"Itago ang mga silent na notification sa status bar"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"Patay-sinding ilaw"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"Lock screen"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"Laktawan ang lock screen"</string>
@@ -3438,6 +3507,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"Gawi"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"Payagan ang tunog"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"Huwag kailanman magpakita ng mga notification"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"Mga Pag-uusap"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"Pag-uusap"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"Hindi isang pag-uusap"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"Alisin sa seksyon ng pag-uusap"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"Isa itong pag-uusap"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"Ilagay sa seksyon ng pag-uusap"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"Pamahalaan ang mga pag-uusap"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"Mahahalagang pag-uusap"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"Lahat ng pag-uusap"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"Gawing bubbles ang mahahalagang pag-uusap"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"Lalabas ang mahahalagang pag-uusap sa itaas ng pull-down shade. Puwede mo ring itakda ang mga ito na maging bubbles at gambalain ang Huwag Istorbohin."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"Ipakita nang tahimik at i-minimize"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"Ipakita nang tahimik"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"Tumunog"</string>
@@ -3456,7 +3536,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"Nakakatulong sa iyong tumuon nang walang tunog o pag-vibrate"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"Kinukuha ang iyong atensyon sa pamamagitan ng tunog o pag-vibrate"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"Kapag naka-unlock ang device, ipakita ang mga notification bilang banner sa itaas ng screen"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"Ipakita ang mga notification"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"Lahat ng notification ng <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"Mga Adaptive na Notification"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="one">~<xliff:g id="NUMBER_1">%d</xliff:g> notification bawat araw</item>
@@ -3477,6 +3557,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"Mga Adaptive na Notification"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"Wala"</string>
     <string name="no_notification_listeners" msgid="2839354157349636000">"Walang mga naka-install na app ang humiling ng access sa notification."</string>
+    <string name="notification_access_detail_switch" msgid="46386786409608330">"Payagan ang pag-access sa notification"</string>
     <string name="notification_assistant_security_warning_title" msgid="2972346436050925276">"Payagan ang pag-access sa notification para sa <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
     <string name="notification_assistant_security_warning_summary" msgid="3119843404577399036">"Mababasa ng <xliff:g id="NOTIFICATION_ASSISTANT_NAME">%1$s</xliff:g> ang lahat ng notification, kasama ang personal na impormasyon gaya ng mga pangalan ng contact at text ng mga mensaheng iyong matatanggap. Magagawa rin nitong magbago o mag-dismiss ng mga notification o mag-trigger ng mga action button sa mga ito. \n\nDahil dito, mabibigyan din ng kakayahan ang app na i-on o i-off ang Huwag Istorbohin at baguhin ang mga nauugnay na setting."</string>
     <string name="notification_listener_security_warning_title" msgid="5791700876622858363">"Payagan ang pag-access sa notification para sa <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
@@ -3538,8 +3619,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"Tapos na"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"Kahalagahan"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"Patay-sinding ilaw"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"I-vibrate"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"Pag-vibrate"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"Tunog"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"Mahalaga"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"Idagdag sa home"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"I-delete"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"Palitan ang pangalan"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"Pangalan ng iskedyul"</string>
@@ -3593,6 +3676,10 @@
       <item quantity="one"><xliff:g id="NUM_PEOPLE">%d</xliff:g> iba pa</item>
       <item quantity="other"><xliff:g id="NUM_PEOPLE">%d</xliff:g> na iba pa</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Mga Pag-uusap"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"Mula sa lahat ng pag-uusap"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"Mula sa mahahalagang pag-uusap"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"Huwag payagan ang anumang pag-uusap"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"Payagan ang mga mensahe"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"Para matiyak na tumutunog ang mga pinapayagang mensahe, tingnan kung ang iyong device ay nakatakdang mag-ring, mag-vibrate, o silent."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"Para sa ‘<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>,’ naka-block ang mga papasok na mensahe. Puwede mong isaayos ang mga setting para payagan ang iyong mga kaibigan, kapamilya, o iba pang contact na makipag-ugnayan sa iyo."</string>
@@ -3606,15 +3693,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"Wala"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"Huwag magpahintulot ng anumang tawag"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"Huwag magpahintulot ng anumang mensahe"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"Payagan ang mga alarm"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"Mga Alarm"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"Mula sa mga timer, alarm, system ng seguridad, at iba pang app"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"mga alarm"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"I-play ang mga tunog ng media"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"Mga tunog ng media"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"Mula sa mga video, laro, at iba pang media"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"media"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"Payagan ang mga tunog sa pagpindot"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"Mga tunog sa pagpindot"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"Mula sa iyong keyboard at iba pang button"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"mga tunog sa pagpindot"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"Payagan ang mga paalala"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"Mga Paalala"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"Mula sa mga gawain at paalala"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"mga paalala"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"Payagan ang mga event"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"Mga Event"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"Mula sa mga paparating na event sa kalendaryo"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Payagan ang mga app na mag-override"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"Mga exception na app"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3657,6 +3749,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"Hayaan ang mga notification na pinatahimik ng Huwag Istorbohin na i-on ang screen"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"Mga setting ng notification"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"Ok"</string>
+    <string name="suggestion_button_close" msgid="6865170855573283759">"Isara"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Feedback tungkol sa device"</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"Ilagay ang PIN ng admin"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"Naka-on"</string>
@@ -3667,6 +3760,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Humingi ng PIN bago mag-unpin"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Humingi ng password bago mag-unpin"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"I-lock ang device kapag nag-a-unpin"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Kumpirmahin ang pag-delete ng SIM"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"I-verify na ikaw ito bago magbura ng na-download na SIM"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"Ang profile sa trabahong ito ay pinapamahalaan ng:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"Pinapamahalaan ng <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(Pang-eksperimento)"</string>
@@ -3741,8 +3836,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"Lahat ng app"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Mga naka-install na app"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Mga instant na app"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"Personal"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"Trabaho"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"Mga App: Lahat"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"Naka-off"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"Mga Kategorya: Mahalagang-mahalaga"</string>
@@ -3754,6 +3847,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"Hindi kilalang app"</string>
     <string name="app_permissions" msgid="8666537659217653626">"Manager ng pahintulot"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"Mga app na gumagamit ng <xliff:g id="APPS">%1$s</xliff:g>"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"Mga app na gumagamit sa <xliff:g id="APPS">%1$s</xliff:g>, at iba pa"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"I-tap upang paganahin"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"Mag-double tap kahit saan sa screen upang paganahin ang device"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"Pagbubukas ng mga link"</string>
@@ -3765,9 +3859,14 @@
       <item quantity="one">Binubuksan ng <xliff:g id="COUNT">%d</xliff:g> app ang mga sinusuportahang link</item>
       <item quantity="other">Binubuksan ng <xliff:g id="COUNT">%d</xliff:g> na app ang mga sinusuportahang link</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"Buksan sa app na ito"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"Payagan ang app na buksan ang mga sinusuportahang link"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"Magtanong palagi"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"Huwag buksan sa app na ito"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"Huwag payagan ang app na magbukas ng mga link"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="one">Papangasiwaan ng mga claim sa app ang <xliff:g id="COUNT_1">%d</xliff:g> link</item>
+      <item quantity="other">Papangasiwaan ng mga claim sa app ang <xliff:g id="COUNT_1">%d</xliff:g> na link</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"Papangasiwaan ng mga claim sa app ang mga sumusunod na link:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"Default"</string>
     <string name="default_for_work" msgid="537558180548617528">"Default para sa trabaho"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"Tulong at voice input"</string>
@@ -3911,8 +4010,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"Ipakita sa ibabaw ng ibang app"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Payagang ipakita sa ibabaw ng iba pang app"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"Payagan ang app na ito na lumabas sa ibabaw ng iba pang ginagamit mong app. Posible itong makaapekto sa iyong paggamit ng mga naturang app, o sa hitsura o paggana ng mga ito."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"Access sa lahat ng file"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"Payagan para mapamahalaan ang lahat ng file"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Payagan ang app na ito na basahin, baguhin, at i-delete ang lahat ng file sa device na ito o sa anumang nakakonektang storage volume. Kung pagbibigyan ito, puwedeng mag-access ng mga file ang app nang hindi mo nalalaman."</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"Makaka-access sa lahat ng file"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"vr virtual reality listener stereo pantulong serbisyo"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"lumalabas ang dialog ng window ng alerto sa system sa ibabaw ng iba pang app"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"Ipakita sa ibabaw ng ibang app"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"Pinapayagan ang <xliff:g id="COUNT_0">%1$d</xliff:g> sa <xliff:g id="COUNT_1">%2$d</xliff:g> (na) app na lumabas sa ibabaw ng ibang app"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"Mga app na may pahintulot"</string>
@@ -4078,6 +4180,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"<xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g> ang nagamit"</string>
     <string name="data_overusage" msgid="3680477320458707259">"Lampas na nang <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="data_remaining" msgid="6316251496381922837">"May <xliff:g id="ID_1">^1</xliff:g> na lang"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"Graph na nagpapakita ng paggamit ng data mula <xliff:g id="START_DATE">%1$s</xliff:g> hanggang <xliff:g id="END_DATE">%2$s</xliff:g>."</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"Walang data sa hanay ng petsa na ito"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="one">%d araw ang natitira</item>
       <item quantity="other">%d na araw ang natitira</item>
@@ -4141,14 +4245,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"laki ng parcel"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"naalertuhan ng notification"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"tunog"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"mag-vibrate"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"pattern"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"default"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"channel"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"wala"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"Walang object sa ranking."</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"Walang ganitong key ang object sa ranking."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"Pagtatakda ng Tema"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"Default ng device"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"Cutout ng display"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"cutout ng display, notch"</string>
@@ -4237,8 +4337,12 @@
     <string name="information_label" msgid="6939310810756569298">"Impormasyon"</string>
     <string name="low_label" msgid="6525629096999711220">"Mababa"</string>
     <string name="high_label" msgid="357503396626018487">"Mataas"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"Baka makasagabal sa anumang galaw sa app sa mga gilid ng screen ang pagkakaroon ng mas mataas na sensitivity."</string>
+    <string name="left_edge" msgid="1513576842959071849">"Kaliwang gilid"</string>
+    <string name="right_edge" msgid="1505309103265829121">"Kanang gilid"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"Baka makasagabal ang pagkakaroon ng mas mataas na sensitivity sa anumang galaw sa app sa mga gilid ng screen."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"Back Sensitivity"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"Mga Setting ng Galaw"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"navigation gamit ang galaw, sensitivity ng bumalik, galaw na bumalik"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"Mag-double tap para suriin ang telepono"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"Mag-double tap upang suriin ang tablet"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"Mag-double tap upang suriin ang device"</string>
@@ -4393,7 +4497,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"I-trigger ang Provisioning ng Carrier"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"I-update ang Huwag Istorbohin"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"I-pause ang mga notification para manatiling nakatuon ang pansin"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"Hindi available ang feature na ito sa device na ito"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"Hindi available ang feature"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"Na-off ang feature na ito dahil pinapabagal nito ang iyong telepono"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"Ipatupad ang kumpletong sukat ng GNSS"</string>
@@ -4403,20 +4506,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"Pumili ng app na may naka-enable na ANGLE"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"Walang nakatakdang application na may naka-enable na ANGLE"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"Application na may naka-enable na ANGLE: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"Mga Kagustuhan sa Game Driver"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"Baguhin ang mga setting ng Game Driver"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"Kapag naka-on ang Game Driver, maaari mong piliing gamitin ang updated na graphics driver para sa Mga app na naka-install sa device."</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"I-enable para sa lahat ng app"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"Pumili ng Graphics Driver"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"Default"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"Game Driver"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"Prerelease na Driver"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"Graphics Driver ng System"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"Mga Kagustuhan sa Graphics Driver"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"Baguhin ang mga setting ng graphics driver"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"Kapag marami ang graphics driver, puwede mong piliing gamitin ang naka-update na graphics driver para sa Mga App na naka-install sa device."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"I-enable para sa lahat ng app"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"Pumili ng Graphics Driver"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"Default"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"Game Driver"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"Developer Driver"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Graphics Driver ng System"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Mga Pagbabago sa Compatibility ng App"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"I-toggle ang mga pagbabago sa compatibility ng app"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Mga default na naka-enable na pagbabago"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Mga default na naka-disable na pagbabago"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"Hindi sinusuportahan ang setting sa teleponong ito"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"Hindi sinusuportahan ang setting sa tablet na ito"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"Hindi sinusuportahan ang setting sa device na ito"</string>
@@ -4435,6 +4544,12 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"Device"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Hindi available habang may tawag"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"Hindi Available"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"Magdagdag ng mga output"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"Grupo"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 device ang napili"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> (na) device ang napili"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"Sagutin ang tawag sa"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Hindi mababago ang APN na ito."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Patagalin ang baterya ng tablet"</string>
@@ -4552,10 +4667,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Isang na-download na SIM lang ang puwedeng maging aktibo sa isang pagkakataon.\n\nHindi makakansela ang iyong serbisyo sa <xliff:g id="CARRIER2">%2$s</xliff:g> kapag lumipat ka sa <xliff:g id="CARRIER1">%1$s</xliff:g>."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Lumipat sa <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Burahin ang SIM"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Burahin ang na-download na SIM na ito?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Kapag binura ang SIM na ito, maaalis ang serbisyo ng <xliff:g id="CARRIER_0">%1$s</xliff:g> sa device na ito.\n\nHindi makakansela ang serbisyo para sa <xliff:g id="CARRIER_1">%2$s</xliff:g>."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Burahin"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Binubura ang SIM…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Hindi mabura ang SIM"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Hindi mabura ang SIM na ito dahil sa isang error.\n\nI-restart ang iyong device at subukang muli."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Mas gustong network type"</string>
@@ -4580,7 +4691,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Invalid ang Network Mode na <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Balewalain."</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Mga Access Point Name"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Hindi available kapag nakakonekta sa <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"Medikal na impormasyon, mga pang-emergency na contact"</string>
     <string name="see_more" msgid="7499355691042812723">"Tumingin pa"</string>
     <string name="see_less" msgid="2642392725363552793">"Tumingin nang kaunti"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"Device na gagamitin sa <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
@@ -4589,11 +4699,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"Nagkaproblema. Kinansela ng application ang kahilingang pumili ng device."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"Naikonekta"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"Ipakita lahat"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> (na) device ang nakakonekta</item>
-      <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> (na) device ang nakakonekta</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"Walang Bluetooth device"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"Naghahanap ng device…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"Kumokonekta sa device…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"Kaliwa"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"Kanan"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Case"</string>
@@ -4603,6 +4710,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"Hindi available sa airplane mode"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"Force desktop mode"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Force experimental desktop mode sa mga pangalawang display"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"I-enable ang freeform sizecompat"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"Pinapayagan ang mga sizecompat app sa freeform"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"I-override ang force-dark"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"Ino-override ang force-dark feature para maging palaging naka-on"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"Privacy"</string>
@@ -4639,6 +4748,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Na-install mo kamakailan ang app na ito."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Output ng Switch"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Kasalukuyang nagpe-play sa <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (nakadiskonekta)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Hindi makalipat. I-tap at subukan ulit."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Mahalagang impormasyon"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"MAGPATULOY"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"HUWAG NA LANG"</string>
@@ -4666,8 +4777,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"Kumbinasyon ng SIM"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Impormasyon tungkol sa iyong patakaran sa trabaho"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Pinapamahalaan ng iyong IT admin ang mga setting"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"Tagapangasiwa ng ulat ng bug"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Tinutukoy kung aling app ang mangangasiwa sa shortcut ng Ulat ng Bug sa iyong device."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Personal"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"Trabaho"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"Default ng system"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"Hindi na valid ang napiling ito. Subukan ulit."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"Ihinto ang pag-cast"</string>
 </resources>
diff --git a/res/values-tr/arrays.xml b/res/values-tr/arrays.xml
index 080847c..f753493 100644
--- a/res/values-tr/arrays.xml
+++ b/res/values-tr/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"Hemen"</item>
     <item msgid="463591454172790676">"5 saniye"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"Doğrulama"</item>
+    <item msgid="5703177653586269306">"Sertifika durumunu iste"</item>
+    <item msgid="326388247868439528">"Sertifika durumunu gerektir"</item>
+    <item msgid="1090956283885790552">"Tüm güvenilmeyen sertifika durumlarını gerektir"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"Düğme"</item>
     <item msgid="2630618799033509548">"Eş cihazın PIN\'i"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"Yok"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"Önceden paylaşılan anahtarlara ve Xauth kimlik doğrulamaya sahip IPSec VPN"</item>
     <item msgid="2484564813864139237">"Sertifikalara ve Xauth kimlik doğrulamaya sahip IPSec VPN"</item>
     <item msgid="68918911194507915">"Sertifikalara ve karma kimlik doğrulamaya sahip IPSec VPN"</item>
+    <item msgid="4631647675167100375">"Sertifika ve kullanıcı adı/şifre yetkilendirmesine sahip IKEv2/IPSec VPN"</item>
+    <item msgid="8812228622975052811">"Önceden paylaşılan anahtara sahip IKEv2/IPSec VPN"</item>
+    <item msgid="6630554779981113046">"Sertifikaya sahip IKEv2/IPSec VPN"</item>
   </string-array>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"Yok"</item>
diff --git a/res/values-tr/config.xml b/res/values-tr/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-tr/config.xml
+++ b/res/values-tr/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index cd70789..56c64b0 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -31,49 +31,17 @@
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Lütfen önce geliştirici seçeneklerini etkinleştirin."</string>
     <string name="header_category_wireless_networks" msgid="303445626075235229">"Kablosuz ve ağlar"</string>
     <string name="header_category_system" msgid="1665516346845259058">"Sistem"</string>
-    <string name="radio_info_data_connection_enable" msgid="7500945447906187613">"Veri Bağlantısını Etkinleştir"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"Veri Bağlantısını Devre Dışı Bırak"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"VoLTE Temel Hazırlığı Yapıldı"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"Video Görüşmesi Temel Hazırlığını Yap"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"Kablosuz Ağ Üzerinden Görüşme Temel Hazırlığını Yap"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"EAB/Varlık Temel Hazırlığı Yapıldı"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"Cbrs Verileri"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"DSDS\'yi etkinleştir"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"Cihaz Yeniden Başlatılsın mı?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"Bu ayarı değiştirmek için cihazınızı yeniden başlatmanız gerekir."</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"Yeniden başlat"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"İptal"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"Mobil Radyo Gücü"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"SIM Adres Defterini Görüntüle"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"Sabit Arama Numaralarını Görüntüle"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"Hizmet Arama Numaralarını Görüntüle"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"IMS Hizmet Durumu"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"IMS Durumu"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"Kaydettirildi"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"Kaydettirilmedi"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"Kullanılabiliyor"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"Kullanılamıyor"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"IMS Kaydı: <xliff:g id="STATUS">%1$s</xliff:g>\nLTE:üzerinden ses <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nWiFi üzerinden ses: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nGörüntülü Görüşme: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT Arayüzü: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"Hizmette"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Hizmet Dışı"</string>
     <string name="radioInfo_service_emergency" msgid="6838935881091760942">"Yalnızca Acil Çağrılar İçin"</string>
     <string name="radioInfo_service_off" msgid="6184928420860868571">"Radyo Kapalı"</string>
     <string name="radioInfo_roaming_in" msgid="8892550453644088692">"Dolaşım"</string>
     <string name="radioInfo_roaming_not" msgid="3137594549464975054">"Dolaşımda Değil"</string>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"Boşta"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"Çalıyor"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"Çağrı Devam Ediyor"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"Bağlantı kesildi"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"Bağlanıyor"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"Bağlandı"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Askıya alındı"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Bilinmiyor"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"pkt"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"bayt"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"USB belleğin bağln kes"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"SD kartının bağlantısını kes"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"USB belleği sil"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"Ekrandaki metni daha küçük veya daha büyük yapın."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Küçült"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Büyüt"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"Örnek metin"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"Muhteşem Oz Büyücüsü"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"11. Bölüm: Oz\'un Muhteşem Zümrüt Kenti"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"Bu ayarı değiştirmek için cihazınızı yeniden başlatın."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"Yeniden başlat"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"İptal"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"Kullanılabilir medya cihazları"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"Kullanılabilir çağrı cihazları"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"Şu anda bağlı olanlar"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"Medya cihazları"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"Cihazları ara"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"Diğer cihazlar"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Kayıtlı cihazlar"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth, eşleme işlemi için açılır"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Bağlantı tercihleri"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"Yazdığınız bağlantı noktası geçerli değil."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"HTTP proxy, tarayıcı tarafından kullanılır, ancak diğer uygulamalar tarafından kullanılamayabilir."</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"PAC URL\'si: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"Mevcut alt kimlik:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"Varsayılan veri SIM\'inin alt kimliği:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"İndirme Bant Genişliği (kb/sn.):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"Yükleme Bant Genişliği (kb/sn.):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"Hücre Konumu Bilgisi (kullanımdan kaldırıldı):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"LTE Fiziksel Kanal Yapılandırması:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"Hücre Bilgilerini Yenileme Oranı:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"Tüm Hücre Ölçümü Bilgileri:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"Veri Hizmeti:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"Dolaşım:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"Çağrıyı Yönlendir:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"Açılıştan Bu Yana PPP Sıfırlama Sayısı:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"Geçerli Ağ:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"Veri Alındı:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"Ses Hizmeti:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"Sinyal Gücü:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"Sesli Çağrı Durumu:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"Veri Gönderildi:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"İleti Bekleniyor:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"Telefon Numarası:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"Radyo Bandını Seç"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"Sesli Ağ Türü:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"Veri Ağı Türü:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"Telefon dizinini seçin"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"Tercih Edilen Ağ Türünü Ayarla:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"Ping Ana Makine Adı (www.google.com) IPv4:"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"Ping Ana Makine Adı (www.google.com) IPv6:"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"HTTP İstemcisi Testi:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"Ping Testini Çalıştır"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"Güncelle"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"Yenile"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"DNS Denetimini Aç/Kapat"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"OEM\'e Özgü Bilgiler/Ayarlar"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"Radyo Bant Modunu Ayarla"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"Bant Listesi Yükleniyor…"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"Ayarla"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"Başarısız"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"Başarılı"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"Değişiklikler USB kablosu tekrar bağlandığında devreye girer."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"USB yığın depolamasını etkinleştir"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"Toplam bayt sayısı:"</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"En alta taşı"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"Dili kaldır"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"Etkinlik seçin"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"Cihaz bilgileri"</string>
     <string name="display_label" msgid="3056320781191343221">"Ekran"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"Tablet bilgileri"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"Telefon bilgileri"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"USB bellek"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"SD kart"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"Proxy ayarları"</string>
@@ -306,9 +234,6 @@
     <string name="airplane_mode" msgid="3196085857882526817">"Uçak modu"</string>
     <string name="wireless_networks_settings_title" msgid="8557542379234105369">"Kablosuz özelliği ve ağlar"</string>
     <string name="radio_controls_summary" msgid="9028430178697624501">"Kablosuz, Bluetooth, uçak modu, mobil ağlar ve VPN\'leri yönet"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"Mobil veri"</string>
-    <string name="calls_title" msgid="6334813967619899114">"Çağrılara izin ver"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"SMS iletileri"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"Mobil ağda veri kullanımına izin ver"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"Dolaşımdayken veri kullanımına izin ver"</string>
     <string name="roaming" msgid="3055365654530847985">"Dolaşım"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"Dolaşımdayken veri hizmetlerine bağlan"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"Veri dolaşımı kapalıyken ana ağınızdan ayrıldığınız için veri bağlantısını kaybettiniz."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"Açın"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"Yüksek miktarda ücretler ödeyebilirsiniz."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"Veri dolaşımına izin verirseniz, önemli düzeyde dolaşım ücretleriyle karşılaşabilirsiniz!\n\nBu ayar bu tabletteki tüm kullanıcıları etkiler."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"Veri dolaşımına izin verirseniz, önemli düzeyde dolaşım ücretleriyle karşılaşabilirsiniz!\n\nBu ayar bu telefondaki tüm kullanıcıları etkiler."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"Dolaşım ücretleri alınabilir."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"Veri dolaşımına izin verirseniz dolaşım ücretleri alınabilir.\n\nBu ayar bu tabletteki tüm kullanıcıları etkiler."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"Veri dolaşımına izin verirseniz dolaşım ücretleri alınabilir.\n\nBu ayar bu telefondaki tüm kullanıcıları etkiler."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"Veri dolaşımına izin verilsin mi?"</string>
     <string name="networks" msgid="5184501333492775095">"Operatör seçimi"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"Bir ağ operatörü seçin"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"Yönetici devre dışı bıraktı"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"Kilitleme seçeneğini göster"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"Kilit ekranında Smart Lock, biyometrik kilit açma ve bildirimler özelliğini kapatan güç düğmesi seçeneğini görüntüleyin"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"Sadece güven aracıları kilit açmaya izin verir"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"Etkinleştirilirse güven aracıları cihazınızı daha uzun süre kilidi açık olarak tutar, ancak artık kilitlenen bir cihazın kilidini açamaz."</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"Güven kaybedildiğinde ekranı kilitle"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"Etkinleştirilirse son güven aracısı güvenini kaybettiğinde cihaz kilitlenecektir."</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"Yok"</string>
@@ -390,7 +313,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"Konumum, ekran kil. açma, SIM kart kil., kim. bilg. dep.kilidini ayarla"</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"Konumum, ekran kilidi açma, kimlik bilgileri deposunun kilidi özelliklerini ayarla"</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"Gizlilik"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"Yönetici devre dışı bıraktı"</string>
+    <string name="disabled_by_administrator_summary" msgid="5424846182313851124">"Kullanılamıyor"</string>
     <string name="security_status_title" msgid="6958004275337618656">"Güvenlik durumu"</string>
     <string name="security_dashboard_summary_face" msgid="4198949293847206382">"Ekran kilidi, yüz tanıma kilidi"</string>
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Ekran kilidi, parmak izi"</string>
@@ -693,7 +616,6 @@
       <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> basamaktan az olmalıdır</item>
       <item quantity="one"><xliff:g id="NUMBER_0">%d</xliff:g> basamaktan az olmalıdır</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"Yalnızca 0-9 arasındaki rakamları içermelidir"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"Cihaz yöneticisi yakın zamanda kullanılan bir PIN\'e izin vermiyor"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"Yaygın olarak kullanılan PIN\'ler BT yöneticiniz tarafından engellendi. Farklı bir PIN deneyin."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"Burada geçersiz bir karakter kullanılamaz"</string>
@@ -724,6 +646,10 @@
       <item quantity="other">Harf olmayan en az <xliff:g id="COUNT">%d</xliff:g> karakter içermelidir</item>
       <item quantity="one">Harf olmayan en az 1 karakter içermelidir</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="other">En az <xliff:g id="COUNT">%d</xliff:g> rakam olmayan karakter içermelidir</item>
+      <item quantity="one">En az 1 rakam olmayan karakter içermelidir</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"Cihaz yöneticisi yakın zamanda kullanılan bir şifreye izin vermiyor"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"Yaygın olarak kullanılan şifreler BT yöneticiniz tarafından engellendi. Farklı bir şifre deneyin."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"Artan, azalan veya tekrar eden rakam dizisine izin verilmiyor"</string>
@@ -837,19 +763,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2,4 GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"Oturum aç"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"Siteyi aç"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"<xliff:g id="REMAINING_TIME">%1$s</xliff:g> kaldı"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"Süre sonu: <xliff:g id="EXPIRY_TIME">%1$s</xliff:g>"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"Ağda oturum açmak için buraya dokunun"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Mb/sn."</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Mb/sn."</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Mb/sn."</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"<xliff:g id="REQUESTER">%s</xliff:g>, Kablosuz özelliğini açmak istiyor"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"<xliff:g id="REQUESTER">%s</xliff:g>, Kablosuz özelliğini kapatmak istiyor"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"Hata ayıklaması yapılabilecek uygulamaların bayt kodunu doğrula"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"ART\'ın, hata ayıklaması yapılabilecek uygulamaların bayt kodunu doğrulamasına izin ver"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"Yenileme hızını göster"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Mevcut ekranın yenileme hızını göster"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"Telefon başka cihaza dokunduğunda veri alışverişine izin ver"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"Telefon başka cihaza dokunduğunda veri alışverişine izin ver"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"Tablet bir NFC cihazına dokunduğunda veri alışverişine izin ver"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"Telefon bir NFC cihazına dokunduğunda veri alışverişine izin ver"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"NFC\'yi açın"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"NFC, bu cihaz ile etrafındaki diğer cihazlar veya ödeme noktaları, erişim okuyucular ve etkileşimli reklamlar ya da etiketler gibi hedefler arasında veri alışverişi yapar."</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"NFC\'yi güvenli hale getir"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFC için cihaz kilidinin açılmasını gerektirir"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"NFC Ödeme ve Toplu Taşıma bilgilerinin yalnızca ekran kilitli değilken kullanılmasına izin verin"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"NFC ile uygulama içeriği aktarmaya hazır"</string>
@@ -923,8 +855,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Aç"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Kablosuz ağ taraması açık"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Gelişmiş seçenekler"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"Gelişmiş Seçenekler açılır listesi. Daraltmak için iki kez dokunun."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"Gelişmiş Seçenekler açılır listesi. Genişletmek için iki kez dokunun."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Açılır liste Gelişmiş Seçenekler"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"genişlet"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"Ağ adı"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"SSID\'yi girin"</string>
     <string name="wifi_security" msgid="9095934643631406913">"Güvenlik"</string>
@@ -934,6 +866,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"Durum"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"Bağlantı iletim hızı"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"Bağlantı alma hızı"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"Bağlantı hızı"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"Frekans"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"IP adresi"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"Şununla kaydedildi:"</string>
@@ -941,6 +874,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"EAP yöntemi"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"Aşama 2 için kimlik doğrulaması"</string>
     <string name="wifi_eap_ca_cert" msgid="8033404008276298886">"CA sertifikası"</string>
+    <string name="wifi_eap_ocsp" msgid="8713933962516871238">"Online Sertifika Durumu"</string>
     <string name="wifi_eap_domain" msgid="8304301470752333203">"Alan adı"</string>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"Kullanıcı sertifikası"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"Kimlik"</string>
@@ -957,6 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"Kablosuz hotspot için en az bir grup seçin:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"IP ayarları"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"Gizlilik"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"Abonelik"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"Aboneliği görüntüleyin veya değiştirin"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"Rastgele MAC"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"Cihaz ekleyin"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"Cihazı “<xliff:g id="SSID">%1$s</xliff:g>” ağına eklemek için QR kodunu ortalayın"</string>
@@ -966,12 +902,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"Kablosuz ağı paylaşın"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"\"<xliff:g id="SSID">%1$s</xliff:g>\" ağına bağlanmak ve şifreyi paylaşmak için bu QR kodunu tarayın"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"\"<xliff:g id="SSID">%1$s</xliff:g>\" ağına bağlanmak için bu QR kodunu tarayın"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"QR kodu okunamadı. Kodu yeniden ortalayıp tekrar deneyin."</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"Tekrar deneyin. Sorun devam ederse cihaz üreticisiyle iletişime geçin"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"Bir hata oluştu"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"Cihazın takılı olduğundan, şarjının olduğundan ve açık olduğundan emin olun"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"Cihazın takılı olduğundan, şarjının olduğundan ve açık olduğundan emin olun. Sorun devam ederse cihaz üreticisiyle iletişime geçin"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"Bu cihaz, “<xliff:g id="SSID">%1$s</xliff:g>” öğesinin eklenmesini desteklemez"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"Cİhazı kablosuz erişim noktanıza/yönlendiricinize yaklaştırmayı deneyin"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"Şifreyi kontrol edip tekrar deneyin"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"Cihazın üreticisiyle iletişim kurun"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"Bağlantıyı kontrol edip tekrar deneyin"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"Ağ seçin"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"Cihazınızı bağlamak için bir ağ seçin"</string>
@@ -984,11 +922,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"Bu cihazla kablosuz bağlantı paylaşılıyor…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"Bağlanıyor…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"Hotspot\'u paylaş"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"Siz olduğunuzu doğrulayın"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"Bu kişinin siz olduğunu doğrulayın"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"Kablosuz ağ şifresi: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"Hotspot şifresi: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"Otomatik bağlan"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"Bu ağın yakınındayken telefonun otomatik olarak bağlanmasına izin verin"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"Bu ağın yakınındayken tabletin otomatik olarak bağlanmasına izin verin"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"Cihaz ekle"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"Bu ağa cihaz eklemek için QR kodu kullanın"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"QR kodu geçerli bir biçim değil"</string>
     <string name="retry" msgid="7542103800274026915">"Tekrar dene"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"Diğer cihaz kullanıcılarıyla paylaş"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(değişmedi)"</string>
@@ -1000,6 +942,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"Sertifika belirtilmedi. Bağlantınız gizli olmayacak."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"Ağ adı çok uzun."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"Alan adı belirtilmelidir."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"Sertifika zorunlu."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"WPS kullanılabilir"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (WPS kullanılabilir)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"Operatör kablosuz ağı"</string>
@@ -1051,7 +994,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"Gelişmiş Kablosuz"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"MAC adresi"</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_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>
@@ -1103,7 +1047,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"Diğer cihazlarınız için kablosuz ağ oluşturmak üzere hotspot\'u kullanın. Hotspot, mobil veri bağlantınızı kullanarak internet bağlantısı sağlar. Bunun için ek mobil veri ücretleri uygulanabilir."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"Uygulamalar yakınlardaki cihazlarla içerik paylaşmak için bir hotspot oluşturabilir."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Hotspot\'u otomatik olarak kapat"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"Herhangi bir cihaz bağlanmazsa Kablosuz hotspot kapatılır"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Hiçbir cihaz bağlı olmadığında"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"Hotspot açılıyor…"</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"Hotspot kapatılıyor…"</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> etkin durumda"</string>
@@ -1112,6 +1056,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"Kablosuz hotspot kurulumu"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"AndroidAP WPA2 PSK hotspot"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"Android Ortak Erişim Noktası"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"Bu ağ kaydedilsin mi?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"<xliff:g id="APPNAME">%1$s</xliff:g>, telefonunuza bir ağ kaydetmek istiyor"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"<xliff:g id="APPNAME">%1$s</xliff:g>, tabletinize bir ağ kaydetmek istiyor"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"Kaydediliyor…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"Kaydedildi"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"Kaydedilemiyor. Tekrar deneyin."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"Ağlar kaydedilsin mi?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"<xliff:g id="APPNAME">%1$s</xliff:g> bu ağları telefonunuza kaydetmek istiyor"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"<xliff:g id="APPNAME">%1$s</xliff:g> bu ağları tabletinize kaydetmek istiyor"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"<xliff:g id="NUMBER">%d</xliff:g> ağ kaydediliyor…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"Ağlar kaydedildi"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"Kablosuz çağrı"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"Kablosuz ağ ile çağrı kapsamını genişletin"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"Kapsama alanını genişletmek için kablosuz çağrıyı açın"</string>
@@ -1138,16 +1093,18 @@
     <string name="emergency_address_title" msgid="3490633500025717573">"Acil Durum Adresi"</string>
     <string name="emergency_address_summary" msgid="3022628750270626473">"Kablosuz bağlantı üzerinden acil durum çağrısı yaptığınızda konumunuz olarak kullanılır"</string>
     <string name="private_dns_help_message" msgid="851221502063782306">"Gizli DNS özellikleri ile ilgili "<annotation id="url">"daha fazla bilgi edinin"</annotation></string>
+    <string name="private_dns_mode_on" msgid="8878679071975375696">"Açık"</string>
     <string name="wifi_calling_pref_managed_by_carrier" msgid="129524064888622179">"Ayar, operatör tarafından yönetiliyor"</string>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"Kablosuz çağrıyı etkinleştirin"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"Kablosuz çağrıyı açın"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"Kablosuz çağrı %1$s için desteklenmiyor"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"<xliff:g id="SSID">%1$s</xliff:g> ağının bağlantısı kesildi"</string>
     <string name="carrier" msgid="1755020806290963951">"Operatör"</string>
     <string name="display_settings_title" msgid="626835071804834218">"Ekran"</string>
     <string name="sound_settings" msgid="5514582720435174014">"Ses"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"Ses Düzeyleri"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"Müzik efektleri"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"Zil ses düzeyi"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"Zil ve bildirim ses düzeyi"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"Sessizken titret"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"Varsayılan bildirim sesi"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"Zil sesi"</string>
@@ -1272,13 +1229,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"Programla"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"Hiçbir zaman"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"Güneşin batışından doğuşuna kadar açık kalır"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"Belirlenen saatte açılır"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"Durum"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"Kapalı / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"hiçbir zaman otomatik olarak açılmayacak"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"Güneş battığında otomatik olarak açılacak"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"Şu saatte otomatik olarak açılacak: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"Açık / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"hiçbir zaman otomatik olarak kapatılmayacak"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"Güneş doğduğunda otomatik olarak kapatılacak"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"Şu saatte otomatik olarak kapatılacak: <xliff:g id="ID_1">%1$s</xliff:g>."</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"Şu saate kadar açık tut: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"Şu saate kadar kapalı tut: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"Koyu tema özelliği, pilinizin daha uzun süre dayanmasını sağlamak için bazı ekranlarda siyah kullanır. Koyu tema, açılmak için ekranınızın kapanmasını beklemeye programlanır."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"Ekran zaman aşımı"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"Ekran kapanır"</string>
@@ -1290,7 +1252,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"Duvar kağıdını değiştirin"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"Ekranınızı kişiselleştirin"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"Şuradan duvar kağıdı seçin:"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"Pixel cihazınızı özelleştirin"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"Telefonunuzu özelleştirme"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"Farklı stiller, duvar kağıtları ve daha fazlasını deneyin"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"Ekran koruyucu"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Şarj olurken veya yuvadayken"</string>
@@ -1379,6 +1341,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"USB belleğin bağlantısını kes, kullanılabilir depolama alanını görüntüle"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"SD kartın bağlantısını kes, kull. Depolama alanını görüntüle"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (SIM yuvası %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"Görüntülemek için kaydedilmiş ağı seçin"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"Telefon numarası"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (SIM yuvası %1$d)"</string>
@@ -1405,6 +1368,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"Dolaşım"</string>
     <string name="status_operator" msgid="4335640583552058491">"Ağ"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"Kablosuz MAC adresi"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"Cihaz kablosuz MAC adresi"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"Bluetooth adresi"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Seri numara"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Açık kalma süresi"</string>
@@ -1617,6 +1581,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Varsayılan APN ayarlarına sıfırlama tamamlandı."</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"Sıfırlama seçenekleri"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"Ağ, uygulamalar veya cihaz sıfırlanabilir"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"Uygulamalar sıfırlanabilir"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"Kablosuz, mobil, Bluetooth\'u sıfırla"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"Bu sıfırlama işlemi, aşağıdakiler de dahil olmak üzere tüm ağ ayarlarınızı sıfırlayacaktır:\n\n"<li>"Kablosuz ağ"</li>\n<li>"Mobil veri"</li>\n<li>"Bluetooth"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"İndirilen SIM\'leri sil"</string>
@@ -1666,6 +1631,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"Hotspot açık"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"Tethering"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"Veri Tasarrufu açıkken taşınabilir hotspot\'lara bağlanılamaz veya kullanılamaz"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"Yalnızca Hotspot"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"Yalnızca USB"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"Yalnızca Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"Hotspot, USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"Hotspot, Bluetooth"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB, Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"Hotspot, USB, Bluetooth"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"İnternet diğer cihazlarla paylaşılmıyor"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"Tethering"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Kablosuz hotspot kullanma"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"İnterneti yalnızca USB üzerinden paylaş"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"İnterneti yalnızca Bluetooth üzerinden paylaş"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"İnterneti yalnızca USB ve Bluetooth üzerinden paylaş"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB tethering"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"Telefonun internet bağlantısını USB üzerinden paylaşın"</string>
@@ -1756,9 +1734,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"Güvenlik bilgileri"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"Veri bağlantınız yok. Bu bilgileri şimdi görüntülemek için internet\'e bağlı herhangi bir bilgisayardan %s adresine gidin."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"Yükleniyor…"</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"PIN kullan"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"Deseni kullan"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"Şifre kullan"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"Ekran kilidi ayarlayın"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"Güvenlik için şifre oluşturun"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"Parmak izi için şifre ayarlayın"</string>
@@ -1767,8 +1742,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"Parmak izi için PIN ayarlayın"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"Güvenlik için desen oluşturun"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"Şifrenizi yeniden girin"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"İş şifrenizi girin"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"Deseninizi onaylayın"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"İş deseninizi girin"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"PIN\'inizi yeniden girin"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"İş PIN\'inizi girin"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"Şifreler eşleşmiyor"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"PIN\'ler eşleşmiyor"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"Deseninizi tekrar çizin"</string>
@@ -1779,6 +1757,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"Yüz tanıma kilidini kullanmak için şifre belirleyin"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"Yüz tanıma kilidini kullanmak için desen ayarlayın"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"Yüz tanıma kilidini kullanmak için PIN belirleyin"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"Şifrenizi mi unuttunuz?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"Deseninizi mi unuttunuz?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"PIN\'inizi mi unuttunuz?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"Devam etmek için cihazınızın desenini kullanın"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"Devam etmek için cihazınızın PIN\'ini girin"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"Devam etmek için cihazınızın şifresini girin"</string>
@@ -1846,6 +1827,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"Tüm uyg. kaynaklarına izin ver"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"Son açılan uygulamalar"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"<xliff:g id="COUNT">%1$d</xliff:g> uygulamanın tümünü göster"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"BT yöneticinizle iletişim kurun"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"Kendisi PIN, desen veya şifrenizi sıfırlamanıza yardımcı olabilir."</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"Tabletiniz ve kişisel verileriniz, bilinmeyen uygulamalardan gelen saldırılara karşı daha savunmasızdır. Bu kaynaktan uygulama yükleyerek, bu uygulamaları kullanmanız sonucunda tabletinizin başına gelebilecek her tür hasardan ve veri kaybından kendinizin sorumlu olduğunu kabul etmiş olursunuz."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"Telefonunuz ve kişisel verileriniz, bilinmeyen uygulamalardan gelen saldırılara karşı daha savunmasızdır. Bu kaynaktan uygulama yükleyerek, bu uygulamaları kullanmanız sonucunda telefonunuzun başına gelebilecek her tür hasardan ve veri kaybından kendinizin sorumlu olduğunu kabul etmiş olursunuz."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"Cihazınız ve kişisel verileriniz, bilinmeyen uygulamalardan gelen saldırılara karşı daha savunmasızdır. Bu kaynaktan uygulama yükleyerek, bu uygulamaları kullanmanız sonucunda cihazınızın başına gelebilecek her tür hasardan ve veri kaybından kendinizin sorumlu olduğunu kabul etmiş olursunuz."</string>
@@ -1897,7 +1880,7 @@
     <string name="default_emergency_app" msgid="1929974800666613803">"Acil durum uygulaması"</string>
     <string name="reset_app_preferences" msgid="8861758340732716573">"Uygulama tercihlerini sıfırla"</string>
     <string name="reset_app_preferences_title" msgid="8935136792316050759">"Uygulama tercihleri sıfırlansın mı?"</string>
-    <string name="reset_app_preferences_desc" msgid="1377296810290814749">"Bu işlem şunlar için tüm tercihleri sıfırlayacaktır:\n\n"<li>"Devre dışı bırakılan uygulamalar"</li>\n<li>"Devre dışı bırakılan uygulama bildirimleri"</li>\n<li>"İşlemler için varsayılan uygulamalar"</li>\n<li>"Uygulamalar için arka plan veri kısıtlamaları"</li>\n<li>"Tüm izin kısıtlamaları"</li>\n\n"Hiçbir uygulama verisini kaybetmeyeceksiniz."</string>
+    <string name="reset_app_preferences_desc" msgid="6509978724602405805">"Bu işlem, şunlarla ilgili tüm tercihleri sıfırlayacaktır:\n\n"<li>"Devre dışı bırakılan uygulamalar"</li>\n<li>"Devre dışı bırakılan uygulama bildirimleri"</li>\n<li>"İşlemler için varsayılan uygulamalar"</li>\n<li>"Uygulamalar için arka plan verileri kısıtlamaları"</li>\n<li>"Tüm izin kısıtlamaları"</li>\n\n"Uygulama verileriniz kaybolmayacak."</string>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"Uygulamaları sıfırla"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"Alanı yönet"</string>
     <string name="filter" msgid="9039576690686251462">"Filtre"</string>
@@ -2097,7 +2080,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"Ses ve ekran metni"</string>
     <string name="display_category_title" msgid="6638191682294461408">"Ekran"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"Etkileşim denetimleri"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"İndirilen hizmetler"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"İndirilen uygulamalar"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"Deneysel"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"Özellik işaretleri"</string>
     <string name="talkback_title" msgid="8756080454514251327">"Talkback"</string>
@@ -2105,27 +2088,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"Sesli okunması için ekranınızdaki öğelere dokunun"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"Altyazı tercihleri"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"Büyütme"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"Büyütme alanı"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"Büyütmeyi etkinleştirme"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"Ekranı büyütürken kullanmak istediğiniz büyütme alanlarını seçin"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"Tam ekran"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"Ekranın bir parçası"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"Tam ekran ve ekranın bir parçası"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"Ekranın tamamını büyütün"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"Ekranın bir parçasını büyütün"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Büyütme ayarları"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"Üç kez dokunarak büyütme"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Kısayolla büyütme"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Kısayolla ve üç kez dokunarak büyütme"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"<xliff:g id="SERVICE">%1$s</xliff:g> hakkında"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"Seçenekler"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"Ekranı yakınlaştırın"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"Yakınlaştırmak için 3 defa dokunun"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Yakınlaştırmak için bir düğmeye dokunun"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><b>"Yakınlaştırmak için"</b>" ekrana 3 kez hızlıca dokunun.\n"<ul><li>"Kaydırmak için 2 veya daha fazla parmağınızı sürükleyin"</li>\n<li>"Yakınlaştırmayı ayarlamak için 2 veya daha fazla parmağınızı birbirine yaklaştırın"</li></ul>\n\n<b>"Geçici olarak büyütmek için"</b>" ekrana 3 kez hızlıca dokunun ve üçüncü dokunuşunuzda parmağınızı basılı tutun.\n"<ul><li>"Ekranda gezinmek için parmağınızı sürükleyin"</li>\n<li>"Uzaklaştırmak için parmağınızı kaldırın"</li></ul>\n\n"Klavyede veya gezinme çubuğundayken yakınlaştırma yapamazsınız."</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"Büyütme açıkken, ekranınızı yakınlaştırabilirsiniz.\n\n"<b>"Yakınlaştırmak için"</b>", büyütme işlevini başlatın, ardından ekranda istediğiniz yere dokunun.\n"<ul><li>"• Kaydırmak için 2 veya daha fazla parmağınızla sürükleme hareketi yapın"</li>\n<li>"• Yakınlaştırmayı ayarlamak için 2 veya daha fazla parmağınızla sıkıştırma hareketi yapın"</li></ul>\n\n<b>"Geçici olarak yakınlaştırmak için"</b>", büyütme işlevini başlatın, ardından ekranda herhangi bir yere dokunup basılı tutun.\n"<ul><li>"• Ekranda gezinmek için sürükleyin"</li>\n<li>"• Uzaklaştırmak için parmağınızı kaldırın"</li></ul>\n\n"Klavyede veya gezinme çubuğunda yakınlaştıramazsınız."</string>
+    <string name="accessibility_screen_magnification_summary" msgid="7617931632990040045">"İçeriği daha net görmek için ekranı hızlıca yakınlaştırın.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Yakınlaştırmak için:&lt;/b&gt;&lt;br/&gt;	1. Büyütmeyi başlatmak için kısayol kullanın&lt;br/&gt;	2. Ekrana dokunun&lt;br/&gt;	3. Ekranda gezinmek için 2 parmağınızı sürükleyin&lt;br/&gt;	4. Yakınlaştırmayı ayarlamak için 2 parmağınızla sıkıştırın&lt;br/&gt;	5. Büyütmeyi durdurmak için kısayol kullanın&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Geçici bir süreliğine yakınlaştırmak için:&lt;/b&gt;&lt;br/&gt;	1. Büyütmeyi başlatmak için kısayol kullanın&lt;br/&gt;	2. Ekranda herhangi bir yere dokunup basılı tutun&lt;br/&gt;	3. Ekranda gezinmek için parmağınızı sürükleyin&lt;br/&gt;	4. Büyütmeyi durdurmak için parmağınızı kaldırın"</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Büyütme açıldığında ekranınızda yakınlaştırma yapabilirsiniz.\n\n"<b>"Yakınlaştırmak için"</b>", büyütmeyi başlatın, ardından ekranda herhangi bir yere dokunun.\n"<ul><li>"Kaydırmak için 2 veya daha fazla parmağınızı sürükleyin"</li>\n<li>"Yakınlaştırmayı ayarlamak için 2 veya daha fazla parmağınızı birbirine yaklaştırın"</li></ul>\n\n<b>"Geçici olarak yakınlaştırmak için"</b>", büyütmeyi başlatın, ardından ekranda herhangi bir yere dokunup basılı tutun.\n"<ul><li>"Ekranda hareket etmek için sürükleyin"</li>\n<li>"Uzaklaştırmak için parmağınızı çekin"</li></ul>\n\n"Klavyede veya gezinme çubuğundayken yakınlaştırma yapamazsınız."</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Açmak için erişilebilirlik düğmesini kullanın"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Açmak için hareketi kullanın"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"Yeni erişilebilirlik hareketlerini kullanma"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"Bu hizmeti açmak veya kapatmak için ekranınızın altındaki erişilebilirlik<xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> düğmesine dokunun.\n\nHizmetler arasında geçiş yapmak için erişilebilirlik düğmesine dokunup basılı tutun."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"Bu hizmeti açmak veya kapatmak için iki parmağınızla ekranın altından yukarı doğru kaydırın.\n\nHizmetler arasında geçiş yapmak için iki parmağınızla yukarı kaydırıp basılı tutun."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"Bu hizmeti açmak veya kapatmak için üç parmağınızla ekranın altından yukarı doğru kaydırın.\n\nHizmetler arasında geçiş yapmak için üç parmağınızla yukarı kaldırıp basılı tutun."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"Erişilebilirlik hizmetini açmak veya kapatmak için iki parmağınızla ekranın altından yukarı doğru kaydırın.\n\nHizmetler arasında geçiş yapmak için iki parmağınızla yukarı kaydırıp basılı tutun."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"Bu hizmeti açmak veya kapatmak için üç parmağınızla ekranın altından yukarı doğru kaydırın.\n\nHizmetler arasında geçiş yapmak için üç parmağınızla yukarı kaldırıp basılı tutun."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"Bu hizmeti açmak veya kapatmak için ekranınızın altındaki erişilebilirlik düğmesine <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> dokunun.\n\nHizmetler arasında geçiş yapmak için erişilebilirlik düğmesine dokunup basılı tutun."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"Bu hizmeti açmak veya kapatmak için iki parmağınızla ekranın altından yukarı doğru kaydırın.\n\nHizmetler arasında geçiş yapmak için iki parmağınızla yukarı kaydırıp basılı tutun."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"Bu hizmeti açmak veya kapatmak için üç parmağınızla ekranın altından yukarı doğru kaydırın.\n\nHizmetler arasında geçiş yapmak için üç parmağınızla yukarı kaldırıp basılı tutun."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"Erişilebilirlik hizmetini açmak veya kapatmak için iki parmağınızla ekranın altından yukarı doğru kaydırın.\n\nHizmetler arasında geçiş yapmak için iki parmağınızla yukarı kaydırıp basılı tutun."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"Bu hizmeti açmak veya kapatmak için üç parmağınızla ekranın altından yukarı doğru kaydırın.\n\nHizmetler arasında geçiş yapmak için üç parmağınızla yukarı kaldırıp basılı tutun."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"Anladım"</string>
+    <string name="accessibility_shortcut_title" msgid="8125867833704517463">"<xliff:g id="SERVICE">%1$s</xliff:g> kısayolu"</string>
+    <string name="accessibility_shortcut_edit_summary_software" msgid="2820923641553461297">"Erişilebilirlik Düğmesi"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture" msgid="8078659880723370597">"2 parmağınızla yukarı kaydırın"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture_talkback" msgid="7422753388389160524">"3 parmağınızla yukarı kaydırın"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software" msgid="4796192466943479849">"Erişilebilirlik düğmesine dokunun"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8922102767509399352">"Ekranın alt kısmındaki erişilebilirlik düğmesine <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> dokunun"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"2 parmağınızla ekranın altından yukarı kaydırın"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"3 parmağınızla ekranın altından yukarı kaydırın"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Ses tuşlarını basılı tutun"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"Her iki ses düğmesini 1 saniye süreyle basılı tutun"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Ekrana üç kez dokunun"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"Ekrana 3 kez hızlıca dokunun. Bu kısayol cihazınızı yavaşlatabilir."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"Gelişmiş"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"Erişilebilirlik düğmesi <xliff:g id="SERVICE">%1$s</xliff:g> olarak ayarlandı. Büyütmeyi kullanmak için Erişilebilirlik düğmesine dokunup basılı tutun, ardından büyütmeyi seçin."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"Erişilebilirlik hareketi <xliff:g id="SERVICE">%1$s</xliff:g> hizmetine ayarlandı. Büyütme özelliğini kullanmak için iki parmağınızla ekranın altından kaydırıp basılı tutun. Ardından büyütmeyi seçin."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"Ses tuşu kısayolu"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"Kısayol hizmeti"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Kısayol ayarları"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"Kilit ekranından izin verme"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"Kısayol açıkken erişilebilirlik özelliği başlatmak için ses ayar tuşlarının ikisini birden 3 saniyeliğine basılı tutabilirsiniz."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"Yüksek kontrastlı metin"</string>
@@ -2149,24 +2157,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"Harekete geçmenizi isteyen, ancak geçici olarak görüntülenen mesajların ne kadar süre gösterileceğini seçin.\n\nBu ayar tüm uygulamalar tarafından desteklenmez."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"Dokunma ve basılı tutma süresi"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"Rengi ters çevirme"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"Performansı etkileyebilir"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"Bekleme süresi"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"Rengi ters çevirme işlevini kullan"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"Rengi ters çevirme özelliği açık renkli ekranları koyulaştırır. Bu özellik, parlak ışığa karşı duyarlı olan kullanıcıların ekranı daha kolay görmelerine yardımcı olur.&lt;br/&gt;&lt;br/&gt;Not: Koyu renkler açık renge dönüşür. Renkler medyada ve resimlerde değişir. Koyu temayı da kullanabilirsiniz (Ayarlar &gt; Ekran)."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"Otomatik tıklama (bekleme süresi)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"Fare kullanıyorsanız cihazınızı, imleci belirli bir süre hareket etmediğinde otomatik olarak işlem yapacak şekilde ayarlayabilirsiniz."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"Tıklamadan önce gecikme süresi"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"Otomatik tıklamayı kullanma (varsayılan)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"Kısa"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0,2 saniye"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"Orta"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0,6 saniye"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"Uzun"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 saniye"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"Özel"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"Daha kısa"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"Daha uzun"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"Otomatik tıklama süresi"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"Titreşim ve dokunsal geri bildirim gücü"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Bildirim titreşimi"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Zili çaldırma titreşimi"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Dokunma geri bildirimi"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"Hizmeti kulan"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g> uygulamasını kullan"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"Aç: <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"Renk düzeltme işlevini kullan"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"Altyazıları kullan"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"Altyazıları göster"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"Altyazı görünümü"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"Metin boyutu, altyazı stili"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"Diğer seçenekler"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"Bu ayarı tüm uygulamalar desteklememektedir."</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"Erişilebilirlik düğmesi"</string>
+    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"2 parmakla yukarıdan aşağı kaydırın"</string>
+    <string name="accessibility_shortcut_type_hardware" msgid="4834144210432451916">"Ses tuşlarını basılı tutun"</string>
+    <string name="accessibility_shortcut_type_triple_tap" msgid="7717524216825494543">"Ekrana üç kez dokunun"</string>
     <string name="accessibility_hearingaid_instruction_continue_button" msgid="3367260988024430722">"Devam"</string>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"İşitme cihazları"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"Bağlı işitme cihazı yok"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"İşitme cihazı ekle"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"İşitme cihazınızı eşleştirmek için sonraki ekranda cihazınızı bulup dokunun."</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"İşitme cihazlarınızın eşleme modunda olduğundan emin olun."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"İşitme cihazınızı eşleştirmek için sonraki ekranda cihazınızı bulup dokunun. İşitme cihazınızın eşleme modunda olduğundan emin olun."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> etkin"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> işitme cihazı kayıtlı</item>
@@ -2178,25 +2204,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Bu hizmet hatalı çalışıyor."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Hızlı Ayarlar\'da göster"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"Düzeltme modu"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="other">Olağanüstü kısa gecikme süresi (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Olağanüstü kısa gecikme süresi (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Kırmızı-yeşil"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"Yeşil-kırmızı"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Mavi-sarı"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"Yeşil renk körlüğü"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"Kırmızı renk körlüğü"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"Mavi renk körlüğü"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="other">Olağanüstü kısa gecikme süresi (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> saniye)</item>
+      <item quantity="one">Olağanüstü kısa gecikme süresi (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> saniye)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="other">Çok kısa gecikme süresi (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Çok kısa gecikme süresi (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="other">Çok kısa gecikme süresi (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> saniye)</item>
+      <item quantity="one">Çok kısa gecikme süresi (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> saniye)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="other">Kısa gecikme süresi (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Kısa gecikme süresi (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="other">Kısa gecikme süresi (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> saniye)</item>
+      <item quantity="one">Kısa gecikme süresi (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> saniye)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="other">Uzun gecikme süresi (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Uzun gecikme süresi (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="other">Uzun gecikme süresi (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> saniye)</item>
+      <item quantity="one">Uzun gecikme süresi (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> saniye)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="other">Çok uzun gecikme süresi (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Çok uzun gecikme süresi (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="other">Çok uzun gecikme süresi (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> saniye)</item>
+      <item quantity="one">Çok uzun gecikme süresi (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> saniye)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> saniye</item>
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> saniye</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"Zili çaldırma: <xliff:g id="SUMMARY_RING">%1$s</xliff:g>, bildirim: <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>, dokunma: <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"Zil ve titreşim kapatıldı"</string>
@@ -2513,7 +2549,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"<xliff:g id="UNPLUGGED">%1$s</xliff:g> için fişten son çekildikten itibaren"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"Kullanım toplamı"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"Yenile"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"Android OS"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"Medya sunucusu"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"Optimizasyon ekle"</string>
     <string name="battery_saver" msgid="7737147344510595864">"Pil Tasarrufu"</string>
@@ -2594,8 +2629,7 @@
     <string name="tts_play" msgid="2945513377250757221">"Çal"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"Kimlik bilgileri deposu"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"Depolama biriminden yükle"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"SD karttan yükle"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"Sertifika yükleme"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"Sertifikaları depolama biriminden yükleyin"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"Sertifikaları SD karttan yükle"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"Kimlik bilgilerini temizle"</string>
@@ -2615,6 +2649,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"Kimlik bilgileri deposu silindi."</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"Kimlik bilgileri deposu silinemedi."</string>
     <string name="usage_access_title" msgid="1580006124578134850">"Erişimi olan uygulamalar"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"CA sertifikası"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"VPN ve uygulama kullanıcı sertifikası"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"Kablosuz sertifikası"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"Gizliliğiniz risk altında"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"CA sertifikaları web siteleri, uygulamalar ve VPN\'ler tarafından şifreleme için kullanılır. Yalnızca güvendiğiniz kuruluşların CA sertifikalarını yükleyin. \n\n Bir CA sertifikası yüklerseniz sertifika sahibi; şifreler, mesajlar veya kredi kartı bilgileri gibi bilgilerinize, bu bilgiler şifreli olsa bile, ziyaret ettiğiniz web sitelerinden veya kullandığınız uygulamalardan erişebilir."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"Yükleme"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"Yine de yükle"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"Sertifika yüklenmedi"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"Acil durum arama sinyali"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Acil çağrı yapıldığında nasıl işlev göreceğini ayarlayın"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Yedekleme"</string>
@@ -2642,10 +2684,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"Devre dışı bırak ve yüklemesini kaldır"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"Cihaz yönetimi uygulamaları"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"Kullanılabilir cihaz yönetimi uygulaması yok"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"Kişisel"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"İş"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"SMS ve çağrı günlüğüne erişimi kısıtla"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"Yalnızca varsayılan telefon ve mesajlaşma uygulamalarının SMS ve çağrı günlüğüne erişim izinleri vardır"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"Kullanılabilir güven aracısı yok"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"Cihaz yönetimi uygulaması etkinleştirilsin mi?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"Bu cihaz yönetimi uygulamasını etkinleştir"</string>
@@ -2659,6 +2697,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"Diğer seçenekler yöneticiniz tarafından devre dışı bırakıldı"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"Diğer ayrıntılar"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"Bildirim günlüğü"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"Bildirim geçmişi"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"Bugün"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"Ertelendi"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"Yakın zamanda kapatıldı"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> bildirim</item>
+      <item quantity="one"><xliff:g id="NUMBER_0">%d</xliff:g> bildirim</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"Çağrı zil sesi ve titreşim"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"Ağ ayrıntıları"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"Senkronizasyon etkinleştirildi"</string>
@@ -3008,7 +3054,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"Kısıtlamalar"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"Kısıtlamaları kaldır"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"PIN\'i değiştir"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"Bildirimleri göster"</string>
     <string name="help_label" msgid="2896538416436125883">"Yardım ve geri bildirim"</string>
     <string name="support_summary" msgid="1034146931237148885">"Yardım makaleleri, telefon ve sohbet, başlarken"</string>
     <string name="user_account_title" msgid="6389636876210834864">"İçerik için kullanılan hesap"</string>
@@ -3033,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G Arama"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Sesin ve diğer iletişimlerin kalitesini yükseltmek için LTE kullanılsın (önerilir)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Sesin ve diğer iletişimlerin kalitesini yükseltmek için 4G kullanılsın (önerilir)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Kişi keşfi"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Operatörünüzün kişileriniz tarafından desteklenen arama özelliklerini öğrenmesini sağlar."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Kişi keşfi etkinleştirilsin mi?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Bu özellik etkinleştirilirse operatörünüz hangi arama özelliklerini desteklediklerini öğrenmek için kişilerinizdeki telefon numaralarına erişim iznine sahip olur."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Tercih edilen ağ türü"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (önerilir)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS mesajları"</string>
@@ -3077,7 +3126,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"Telefon etmek için şu SIM kartı kullan:"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"Bir SIM kart seçin"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"SIM: <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"SIM boş"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"SIM kart adı"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"SIM adı girin"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"SIM yuvası %1$d"</string>
@@ -3087,6 +3135,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"SIM kart seçin"</string>
     <string name="color_orange" msgid="216547825489739010">"Turuncu"</string>
     <string name="color_purple" msgid="6603701972079904843">"Mor"</string>
+    <string name="color_pink" msgid="8596872110888626708">"Pembe"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"SIM kart takılı değil"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"SIM durumu"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"SIM durumu (SIM yuvası %1$d)"</string>
@@ -3100,7 +3149,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"SIM kartlar değiştirildi."</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Ayarlamak için dokunun"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"Şunun için tercih edilen SIM:"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Her zaman sor"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Seçim gerekiyor"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"SIM seçimi"</string>
@@ -3118,6 +3166,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"Bluetooth, sürüş modu"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"Bluetooth, NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"Bluetooth"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"NFC kapalı olduğundan kullanılamaz"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"Uygulama ve bildirimler"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Son uygulamalar, varsayılan uygulamalar"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"İş profilindeki uygulamalar için bildirim erişimi kullanılamaz."</string>
@@ -3128,13 +3177,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"Ayarlar"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"kablosuz, ağ bağlantısı, internet, kablosuz bağlantı, veri"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"Kablosuz ağ bildirimi, kablosuz bağlantı bildirimi"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"veri kullanımı"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"Titreşimi durdurma, dokunma, klavye"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"24 saat biçimini kullan"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"İndir"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"Şununla aç:"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"Uygulamalar"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"saat dilimi"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"Chat head"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"Sohbet başlığı, sistem, uyarı, pencere, iletişim, ekran, en üstte diğer uygulamalar, çizim"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"El feneri, Işık, Fener"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"kablosuz, kablosuz ağ, aç/kapat, kontrol"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"hücresel, mobil, cep telefonu operatörü, kablosuz, veri, 4g, 3g, 2g, lte"</string>
@@ -3158,7 +3208,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"rahatsız etmeyin, kesme, kesinti, kopma"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"etrafta, konum, geçmiş, raporlama, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"hesap"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"hesap, hesap ekle, iş profili, hesap ekle"</string>
     <string name="keywords_users" msgid="3497517660077620843">"kısıtlama, kısıtla, kısıtlı"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"metin düzeltme, düzeltme, ses, titreşim, otomatik, dil, hareket, öner, öneri, tema, rahatsız edici, kelime, tür, emoji, uluslararası"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"sıfırlama, tercihler, varsayılan"</string>
@@ -3196,6 +3246,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"bellek, önbellek, veri, sil, temizle, boş, alan"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"bağlı, cihaz, kulaklık, mikrofonlu kulaklık, hoparlör, kablosuz, eşle, kulak içi kulaklık, müzik, medya"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"arka plan, ekran, kilit ekranı, tema"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"simge şekli, vurgu rengi, yazı tipi"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"varsayılan, destek"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"ödeme, varsayılan"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"gelen bildirim"</string>
@@ -3205,18 +3256,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"dokunma teknolojisi, titreşim, hassasiyet"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"pil tasarrufu, yapışkan, kalıcı, güç tasarrufu, pil"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"rutin, program, pil tasarrufu, güç tasarrufu, pil, otomatik, yüzde"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"iş profili"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"VoLTE, Gelişmiş Arama, 4G Arama"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"dil ekle, bir dil ekle"</string>
     <string name="default_sound" msgid="6604374495015245195">"Varsayılan ses"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"Zil sesi seviyesi: <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"Zil ve bildirim sesi <xliff:g id="PERCENTAGE">%1$s</xliff:g> düzeyinde"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Ses düzeyi, titreşim, Rahatsız Etmeyin"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"Telefon zili titreşime ayarlandı"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"Telefon zili sessize ayarlandı"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"Zil sesi seviyesi: %80"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"Zil ve bildirim sesi %80 düzeyinde"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Medya ses düzeyi"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Yayın ses düzeyi"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"Çağrı ses düzeyi"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"Alarm ses düzeyi"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"Zil ses düzeyi"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"Zil ve bildirim ses düzeyi"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"Bildirim ses düzeyi"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"Telefon zil sesi"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"Varsayılan bildirim sesi"</string>
@@ -3224,6 +3276,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"Varsayılan bildirim sesi"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"Varsayılan alarm sesi"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"Çağrılarda titreştir"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"Asla titreştirme"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"Her zaman titreştir"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"Önce titreştir, sonra sesi yavaşça yükselt"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"Diğer sesler"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"Tuş takımı sesleri"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"Ekran kilitleme sesleri"</string>
@@ -3247,6 +3302,7 @@
       <item quantity="one">1 kural etkin</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Rahatsız Etmeyin"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Yalnızca önemli kişiler ve uygulamalardan gelen bildirimleri alın"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Kesintileri sınırlayın"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Rahatsız Etmeyin\'i açın"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"İstisnalar"</string>
@@ -3273,7 +3329,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Görsel bildirimleri engelle"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Görsel sinyallere izin ver"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"Rahatsız Etmeyin ayarı açık olduğunda"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"Ses çıkaran kesintilere izin ver"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"Bildirimleri kısıtla"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Bildirimlerden sesli uyarı yok"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"Bildirimleri ekranınızda göreceksiniz"</string>
@@ -3304,7 +3360,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"Ses ve titreşim"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"Ses, titreşim ve bazı görsel bildirim işaretleri"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"Ses, titreşim ve görsel bildirim işaretleri"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"Temel telefon etkinliği ve durumu için gereken bildirimler hiçbir zaman gizlenmez"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"Temel telefon etkinliği ve durumu için gereken bildirimler hiçbir zaman gizlenmez"</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"Yok"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"diğer seçenekler"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"Ekle"</string>
@@ -3334,10 +3390,12 @@
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> program otomatik olarak açılabilir</item>
       <item quantity="one">1 program otomatik olarak açılabilir</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"Cihazın sesini kapat, ancak istisnalara izin ver"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"İstisnalar"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"Program"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"Tüm istisnaları göster"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"Rahatsız Etmeyin ayarı açıkken istisnalar"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"Kişiler"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"Uygulamalar"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"Alarmlar ve diğer kesintiler"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"Programlar"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"Sessize alınmış bildirimler"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"Rahatsız Etmeyin ayarı açık olduğunda ses ve titreşim kapatılır (yukarıda izin verdiğiniz öğeler hariç)."</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"Şu öğe hariç hepsinin sesini kapat:"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"Ses kapatıldı"</string>
@@ -3381,16 +3439,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"Uyarlanabilir bildirimler"</string>
     <string name="asst_capability_prioritizer_title" msgid="1181272430009156556">"Uyarlamalı bildirim önceliği"</string>
     <string name="asst_capability_prioritizer_summary" msgid="954988212366568737">"Düşük öncelikli bildirimleri otomatik olarak Sessiz moda ayarla"</string>
+    <string name="asst_capability_ranking_title" msgid="312998580233257581">"Uyarlamalı bildirim sıralama"</string>
+    <string name="asst_capability_ranking_summary" msgid="2293524677144599450">"Bildirimleri alaka düzeyine göre otomatik olarak sırala"</string>
     <string name="asst_capabilities_actions_replies_title" msgid="4392470465646394289">"Önerilen işlemler ve yanıtlar"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"Önerilen işlemleri ve yanıtları otomatik olarak göster"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"Geçmiş bildirimleri ve ertelenen bildirimleri takip etmek için bildirim geçmişini açın"</string>
+    <string name="notification_history" msgid="8663811361243456201">"Bildirim geçmişi"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"Geçmişi aç"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"Geçmişe kayıt özelliğini kapat"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"Bildirim geçmişi kapalı"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"bildirim ayarları görüntülenir"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Bildirimin ertelenmesine izin ver"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"Sessiz bildirimlerdeki simgeleri gizle"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"Sessiz bildirimlerdeki simgeler durum çubuğunda gösterilmez"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"Bildirim noktalarına izin ver"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"Son iletişim görüşme bandını göster"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Baloncuklar"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"Bazı bildirimler ekranda balonlar olarak görünebilir"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"Bazı bildirimler ve diğer içerikler ekranda baloncuk olarak görünebilir. Bir baloncuğu açmak için dokunun. Kapatmak için ekranın alt kısmına sürükleyin."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Baloncuklar"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"Yeni mesajlar ekranda görünür"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"<xliff:g id="APP_NAME">%1$s</xliff:g> uygulamasının bazı bildirimleri baloncuk olarak göstermesine izin verin"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"Baloncukları aç"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"Bu uygulamada baloncukları etkinleştirmek için ilk olarak bunları cihazınızda açmanız gerekiyor. Bu durum, baloncukları daha önce açmış olduğunuz diğer uygulamaları etkiler."</string>
@@ -3408,6 +3476,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"Aşağı açılır gölgede ve kilit ekranında gösterilir"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"Aşağı açılır gölgede ve durum çubuğunda gösterilir"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"Aşağı açılır gölgede, durum çubuğunda ve kilit ekranında gösterilir"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"Durum çubuğunda sessiz bildirimleri gizle"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"Işığı yakıp söndür"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"Kilit ekranı"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"Kilit ekranını atla"</string>
@@ -3438,6 +3507,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"Davranış"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"Sese izin ver"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"Bildirimleri hiçbir zaman gösterme"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"Görüşmeler"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"Görüşme"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"Bir görüşme değil"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"Görüşme bölümünden kaldırın"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"Bu bir görüşme"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"Görüşme bölümüne ekleyin"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"Görüşmeleri yönetme"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"Önemli görüşmeler"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"Tüm görüşmeler"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"Önemli görüşmeleri baloncuk olarak göster"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"Önemli görüşmeler aşağı indirilen gölgenin üst kısmında gösterilir. Bunları ayrıca baloncuk olarak gösterilecek ve Rahatsız Etmeyin özelliğini dikkate almayacak şekilde ayarlayabilirsiniz."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"Sessiz olarak göster ve küçült"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"Sessiz bir şekilde göster"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"Ses çıkar"</string>
@@ -3456,7 +3536,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"Ses veya titreşim olmadan odaklanmanıza yardımcı olur"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"Ses veya titreşimle dikkatinizi çeker."</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"Cihaz kilitli değilken, bildirimleri ekranın üst kısmında banner olarak göster"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"Bildirim göster"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"Tüm <xliff:g id="APP_NAME">%1$s</xliff:g> bildirimleri"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"Uyarlanabilir Bildirimler"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="other">Günde yaklaşık <xliff:g id="NUMBER_1">%d</xliff:g> bildirim</item>
@@ -3477,6 +3557,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"Uyarlanabilir Bildirimler"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"Yok"</string>
     <string name="no_notification_listeners" msgid="2839354157349636000">"Yüklü hiçbir uygulama, bildirim erişimi isteğinde bulunmadı."</string>
+    <string name="notification_access_detail_switch" msgid="46386786409608330">"Bildirimlere erişime izin ver"</string>
     <string name="notification_assistant_security_warning_title" msgid="2972346436050925276">"<xliff:g id="SERVICE">%1$s</xliff:g> için bildirim erişimine izin verilsin mi?"</string>
     <string name="notification_assistant_security_warning_summary" msgid="3119843404577399036">"<xliff:g id="NOTIFICATION_ASSISTANT_NAME">%1$s</xliff:g>, kişi adları ve gelen mesajların metni gibi kişisel bilgiler de dahil olmak üzere tüm bildirimleri okuyabilecek. Ayrıca, bildirimleri değiştirebilecek veya kapatabilecek ya da bildirime ait işlem düğmelerini tetikleyebilecek. \n\nBu izin, uygulamaya, Rahatsız Etmeyin ayarını açma veya kapatma ve ilgili ayarları değiştirme olanağı da verecek."</string>
     <string name="notification_listener_security_warning_title" msgid="5791700876622858363">"<xliff:g id="SERVICE">%1$s</xliff:g> için bildirim erişimine izin verilsin mi?"</string>
@@ -3538,8 +3619,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"Tamam"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"Önem"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"Işığı yakıp söndür"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"Titreşim"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"Titreşim"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"Ses"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"Önemli"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"Eve ekle"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"Sil"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"Yeniden adlandır"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"Program adı"</string>
@@ -3593,6 +3676,10 @@
       <item quantity="other"><xliff:g id="NUM_PEOPLE">%d</xliff:g> kişi daha</item>
       <item quantity="one">1 kişi daha</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Görüşmeler"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"Tüm görüşmelerden"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"Önemli görüşmelerden"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"Hiçbir görüşmeye izin verme"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"Mesajlara izin ver"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"İzin verilen mesajların ses çıkardığından emin olmak için cihazınızın çalmaya mı titreşime mi yoksa sessize mi ayarlandığını kontrol edin."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"\"<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>\" için gelen mesajlar engelleniyor. Arkadaşlarınız, aileniz veya diğer kişilerin size ulaşmasına izin vermek için ayarları düzenleyebilirsiniz."</string>
@@ -3606,15 +3693,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"Hiçbiri"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"Aramalara izin verme"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"Mesajlara izin verme"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"Alarmlara izin ver"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"Alarmlar"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"Zamanlayıcılar, alarmlar, güvenlik sistemleri ve diğer uygulamalardan"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"alarmlar"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"Medya seslerini çal"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"Medya sesleri"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"Videolar, oyunlar ve diğer medyalardan"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"medya"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"Dokunma seslerine izin ver"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"Dokunma sesleri"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"Klavyeniz ve diğer düğmelerden"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"dokunma sesleri"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"Hatırlatıcılara izin ver"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"Hatırlatıcılar"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"Görevler ve hatırlatıcılardan"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"hatırlatıcılar"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"Etkinliklere izin ver"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"Etkinlikler"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"Yaklaşan takvim etkinliklerinden"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Uygulamaların geçersiz kılmasına izin ver"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"Uygulama istisnaları"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3657,6 +3749,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"Rahatsız Etmeyin özelliği tarafından kapatılan bildirimlerin ekranı açmasına izin ver"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"Bildirim ayarları"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"Tamam"</string>
+    <string name="suggestion_button_close" msgid="6865170855573283759">"Kapat"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Bu cihazla ilgili geri bildirim gönder"</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"Yönetici PIN\'ini girin"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"Açık"</string>
@@ -3667,6 +3760,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Sabitlemeyi kaldırmadan önce PIN\'i sor"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Sabitlemeyi kaldırmadan önce şifre sor"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Sabitlemeyi kaldırırken cihazı kilitle"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"SIM\'in silinmesini onaylayın"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"İndirilen SIM\'i silmeden önce siz olduğunuzu doğrulayın"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"Bu iş profili şunun tarafından yönetiliyor:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"<xliff:g id="ADMIN_APP_LABEL">%s</xliff:g> tarafından yönetiliyor"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(Deneysel)"</string>
@@ -3741,8 +3836,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"Tüm uygulamalar"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Yüklü uygulamalar"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Hazır uygulamalar"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"Kişisel uygulamalar"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"İş uygulamaları"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"Uygulamalar: Tümü"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"Kapatılanlar"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"Kategoriler: Önem düzeyi acil"</string>
@@ -3754,6 +3847,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"Bilinmeyen uygulama"</string>
     <string name="app_permissions" msgid="8666537659217653626">"İzin yöneticisi"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"<xliff:g id="APPS">%1$s</xliff:g> kullanan uygulamalar"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"<xliff:g id="APPS">%1$s</xliff:g> ve diğer izinleri kullanan uygulamalar"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"Dokunarak uyandır"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"Cihazı uyandırmak için ekranda herhangi bir yere iki kez dokunun"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"Bağlantıları açma"</string>
@@ -3765,9 +3859,14 @@
       <item quantity="other">Desteklenen bağlantıları <xliff:g id="COUNT">%d</xliff:g> uygulama açıyor</item>
       <item quantity="one">Desteklenen bağlantıları bir uygulama açıyor</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"Bu uygulamada aç"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"Uygulamanın desteklenen bağlantıları açmasına izin verin"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"Her zaman sor"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"Bu uygulamada açma"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"Uygulamanın bağlantıları açmasına izin vermeyin"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="other">Uygulama <xliff:g id="COUNT_1">%d</xliff:g> bağlantıyı işlemeyi talep ediyor</item>
+      <item quantity="one">Uygulama <xliff:g id="COUNT_0">%d</xliff:g> bağlantıyı işlemeyi talep ediyor</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"Uygulama aşağıdaki bağlantıları işlemeyi talep ediyor:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"Varsayılan"</string>
     <string name="default_for_work" msgid="537558180548617528">"İş için varsayılan"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"Asistan ve ses girişi"</string>
@@ -3911,8 +4010,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"Diğer uygulamaların üzerinde göster"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Diğer uyg. üzerinde gösterime izin ver"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"Bu uygulamaya, kullandığınız diğer uygulamaların üzerinde gösterme izin verir. Bu durum, diğer uygulamaların kullanımını etkileyebilir veya görünüşünü ya da davranışını değiştirebilir."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"Tüm dosyalara erişim"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"Tüm dosyaları yönetme erişimine izin ver"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Bu uygulamanın, bu cihazdaki veya cihaza bağlı depolama birimlerindeki tüm dosyaları okumasına, değiştirmesine ve silmesine izin verin İzin verilirse uygulama size açıkça bildirmeden dosyalara erişebilir."</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"Tüm dosyalara erişebilir"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"vr sanal gerçeklik dinleyici stereo yardımcı hizmeti"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"sistem uyarı penceresi iletişim kutusu gösterme en üstte diğer uygulamalar"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"Diğer uyg. üzerinde göster"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"<xliff:g id="COUNT_0">%1$d</xliff:g>/<xliff:g id="COUNT_1">%2$d</xliff:g> uyg. diğer uyg. üzerinde gösterilmesine izin veriliyor"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"İzni olan uygulamalar"</string>
@@ -4078,6 +4180,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"<xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g> kullanıldı"</string>
     <string name="data_overusage" msgid="3680477320458707259">"<xliff:g id="ID_1">^1</xliff:g>\'ın üzerinde"</string>
     <string name="data_remaining" msgid="6316251496381922837">"<xliff:g id="ID_1">^1</xliff:g> kaldı"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"<xliff:g id="START_DATE">%1$s</xliff:g>-<xliff:g id="END_DATE">%2$s</xliff:g> tarihleri arasındaki veri kullanımını gösteren grafik."</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"Bu tarih aralığında veri yok"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="other">%d gün kaldı</item>
       <item quantity="one">%d gün kaldı</item>
@@ -4141,14 +4245,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"paket boyutu"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"bildirim uyarısı gönderildi"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"ses"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"titreşim"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"desen"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"varsayılan"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"kanal"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"hiçbiri"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"Sıralama nesnesi eksik."</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"Sıralama nesnesi bu anahtarı içermiyor."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"Tema oluşturma"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"Cihaz varsayılanı"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"Ekran kesimi"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"ekran kesimi, çentik"</string>
@@ -4237,8 +4337,12 @@
     <string name="information_label" msgid="6939310810756569298">"Bilgi"</string>
     <string name="low_label" msgid="6525629096999711220">"Düşük"</string>
     <string name="high_label" msgid="357503396626018487">"Yüksek"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"Daha yüksek hassasiyet, ekranın kenarlarında uygulamanın hareketleri ile çakışabilir."</string>
+    <string name="left_edge" msgid="1513576842959071849">"Sol kenar"</string>
+    <string name="right_edge" msgid="1505309103265829121">"Sağ kenar"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"Daha yüksek hassasiyet, ekranın kenarlarında uygulamanın hareketleri ile çakışabilir."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"Geri Gitme Hassasiyeti"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"Hareket Ayarları"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"hareketle gezinme, geri hassasiyeti, geri hareketi"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"Bakmak için telefona iki kez dokun"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"Tableti kontrol etmek için iki kez dokunun"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"Cihazı kontrol etmek için iki kez dokunun"</string>
@@ -4393,7 +4497,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"Tetikleyici Operatör Temel Hazırlığı"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"Rahatsız Etmeyin özelliğini güncelleyin"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"Konsantrasyonunuzu bozmamak için bildirimleri duraklatın"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"Bu özellik bu cihazda kullanılamıyor"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"Özellik kullanılamıyor"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"Bu özellik, telefonunuzu yavaşlattığı için kapatıldı."</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"Tam GNSS ölçümlerini zorla"</string>
@@ -4403,20 +4506,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"ANGLE özellikli uygulamayı seçin"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"ANGLE özellikli uygulama ayarlanmadı"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"ANGLE özellikli uygulama: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"Oyun Sürücüsü Tercihleri"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"Oyun Sürücüsü ayarlarını değiştirin"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"Oyun Sürücüsü açıkken, cihazda yüklü Uygulamalar için güncellenmiş grafik sürücüsünü kullanmayı seçebilirsiniz."</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"Tüm uygulamalar için etkinleştir"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"Grafik Sürücüsünü Seçin"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"Varsayılan"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"Oyun Sürücüsü"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"Yayın Öncesi Sürücü"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"Sistem Grafik Sürücüsü"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"Grafik Sürücüsü Tercihleri"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"Grafik sürücüsü ayarlarını değiştirin"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"Birden çok grafik sürücüsü olduğunda cihazda yüklü Uygulamalar için güncellenmiş grafik sürücüsünü kullanmayı seçebilirsiniz."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"Tüm uygulamalar için etkinleştir"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"Grafik Sürücüsünü Seçin"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"Varsayılan"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"Oyun Sürücüsü"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"Geliştirici Sürücüsü"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Sistem Grafik Sürücüsü"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Uygulama Uyumluluğuyla İlgili Değişiklikler"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Uygulama uyumluluk değişikliklerini aç/kapat"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Varsayılan olarak etkin değişiklikler"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Varsayılan olarak devre dışı değişiklikler"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"Ayar bu telefonda desteklenmiyor"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"Ayar bu tablette desteklenmiyor"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"Ayar bu cihazda desteklenmiyor"</string>
@@ -4435,6 +4544,12 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"Cihaz"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Çağrılar sırasında kullanılamaz"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"Kullanılamıyor"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"Çıkışlar ekleyin"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"Grup"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 cihaz seçildi"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> cihaz seçildi"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"Çağrıyı al"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Bu APN değiştirilemez."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Tabletin pil ömrünü uzatın"</string>
@@ -4552,10 +4667,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Aynı anda yalnızca bir indirilmiş SIM etkin olabilir.\n\n<xliff:g id="CARRIER1">%1$s</xliff:g> operatörüne geçtiğinizde <xliff:g id="CARRIER2">%2$s</xliff:g> hizmetiniz iptal edilmez."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"<xliff:g id="CARRIER">%1$s</xliff:g> hesabına geç"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"SIM\'i sil"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Bu indirilen SIM silinsin mi?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Bu SIM silindiğinde, <xliff:g id="CARRIER_0">%1$s</xliff:g> hizmeti bu cihazdan kaldırılır.\n\n<xliff:g id="CARRIER_1">%2$s</xliff:g> hizmeti iptal edilmez."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Sil"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"SIM siliniyor…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"SIM silinemiyor"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Bu SIM bir hata nedeniyle silinemiyor.\n\nCihazınızı yeniden başlatın ve tekrar deneyin."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Tercih edilen ağ türü"</string>
@@ -4580,7 +4691,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"<xliff:g id="NETWORKMODEID">%1$d</xliff:g> Geçersiz Ağ Modu. Yoksayın."</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Erişim Noktası Adları"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"<xliff:g id="CARRIER">%1$s</xliff:g> operatörüne bağlıyken kullanılamaz"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"Tıbbi bilgiler, acil durumda iletişim kurulacak kişiler"</string>
     <string name="see_more" msgid="7499355691042812723">"Daha fazla"</string>
     <string name="see_less" msgid="2642392725363552793">"Daha az göster"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"<xliff:g id="APPNAME">%1$s</xliff:g> ile kullanılacak cihaz"</string>
@@ -4589,11 +4699,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"Bir sorun oluştu. Uygulama, cihaz seçme isteğini iptal etti."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"Bağlantı başarılı"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"Tümünü göster"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> cihaz bağlandı</item>
-      <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_0">%1$d</xliff:g> cihaz bağlandı</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"Bluetooth cihazı yok"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"Cihaz aranıyor…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"Cihaza bağlanıyor…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"Sol"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"Sağ"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Kılıf"</string>
@@ -4603,6 +4710,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"Uçak modunda kullanılamaz"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"Masaüstü modunu zorunlu kıl"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"İkincil ekranlarda deneysel masaüstü modunu zorunlu kıl"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"Serbest biçimli boyut uyumunu etkinleştir"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"Boyut uyumlu olmayan uygulamaların serbest biçimde olmasına izin verir"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Zorunlu koyu rengi geçersiz kıl"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"Zorunlu koyu renk özelliğini geçersiz kılma her zaman açık"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"Gizlilik"</string>
@@ -4639,6 +4748,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Bu uygulamayı kısa bir süre önce yüklediniz."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Çıkışı değiştir"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Şu anda <xliff:g id="DEVICE_NAME">%1$s</xliff:g> cihazında oynatılıyor"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (bağlı değil)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Geçiş yapılamıyor. Tekrar denemek için dokunun."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Önemli bilgiler"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"DEVAM"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"HAYIR TEŞEKKÜRLER"</string>
@@ -4666,8 +4777,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"SIM kombinasyonu"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"İş politikası bilgileriniz"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Ayarlar BT yöneticiniz tarafından yönetilir"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"Hata raporu işleyici"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Cihazınızda Hata Raporu kısayolunun hangi uygulama tarafından işleneceğini belirler."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Kişisel"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"İş"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"Sistem varsayılanı"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"Bu seçenek artık geçerli değil. Tekrar deneyin."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"Yayını durdur"</string>
 </resources>
diff --git a/res/values-uk/arrays.xml b/res/values-uk/arrays.xml
index 9c93c7c..95695ae 100644
--- a/res/values-uk/arrays.xml
+++ b/res/values-uk/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"Одразу"</item>
     <item msgid="463591454172790676">"5 секунд"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"Не перевіряти"</item>
+    <item msgid="5703177653586269306">"Запит статусу сертифіката"</item>
+    <item msgid="326388247868439528">"Потрібен статус сертифіката"</item>
+    <item msgid="1090956283885790552">"Потрібні статуси всіх несхвалених сертифікатів"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"Кнопка Push"</item>
     <item msgid="2630618799033509548">"PIN з однорангового пристрою"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"Немає"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"IPSec VPN зі спільними ключами й автентифікацією Xauth"</item>
     <item msgid="2484564813864139237">"IPSec VPN із сертифікатами та автентифікацією Xauth"</item>
     <item msgid="68918911194507915">"IPSec VPN із сертифікатами та гібридною автентифікацією"</item>
+    <item msgid="4631647675167100375">"VPN-підключення за протоколом IKEv2/IPSec із сертифікатами й автентифікацією імен користувачів або паролів"</item>
+    <item msgid="8812228622975052811">"VPN-підключення за протоколом IKEv2/IPSec зі спільними ключами"</item>
+    <item msgid="6630554779981113046">"VPN-підключення за протоколом IKEv2/IPSec із сертифікатами"</item>
   </string-array>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"Немає"</item>
diff --git a/res/values-uk/config.xml b/res/values-uk/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-uk/config.xml
+++ b/res/values-uk/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index 933af27..c9e4e5a 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -33,49 +33,17 @@
     <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="radio_info_data_connection_enable" msgid="7500945447906187613">"Увімкнути передавання даних"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"Вимкнути передавання даних"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"Ініціалізація VoLTE"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"Відеодзвінки дозволено"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"Виклики через Wi-Fi дозволено"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"Увімкнено службу EAB/Presence"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"Дані CBRS"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"Увімкнути DSDS"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"Перезапустити пристрій?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"Щоб змінити це налаштування, перезапустіть пристрій."</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"Перезапустити"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"Скасувати"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"Потужність мобільного радіо"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"Переглянути адресну книгу SIM-карти"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"Перегл. фікс. номери набору"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"Перегл. служб. номери набору"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"Статус служби IMS"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"Статус IMS"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"Зареєстровано"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"Не зареєстровано"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"Служба доступна"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"Служба недоступна"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"Реєстрація IMS: <xliff:g id="STATUS">%1$s</xliff:g>\nГолосові команди через LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nГолосові команди через Wi-Fi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nВідеодзвінки: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nІнтерфейс UT: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"Працює"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Не працює"</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>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"Неакт."</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"Дзвінок"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"Триває дзвінок"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"Роз’єднано"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"Підключення"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"Підключено"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Призупинено"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Невідомо"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"pkts"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"байтів"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"Відключити носій USB"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"Відключ. карту SD"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"Очистити носій USB"</string>
@@ -85,7 +53,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"Збільшуйте або зменшуйте текст на екрані."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Зменшити"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Збільшити"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"Зразок тексту"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"Чарівник країни Оз"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"Глава 11. Дивовижне Смарагдове місто країни Оз"</string>
@@ -176,9 +143,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"Щоб змінити це налаштування, перезапустіть пристрій."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"Перезапустити"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"Скасувати"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"Доступні носії"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"Доступні пристрої для дзвінків"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"Поточні підключення"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"Носії"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"Пристрої для дзвінків"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"Інші пристрої"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Збережені пристрої"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth увімкнеться, щоб створити пару"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Параметри підключень"</string>
@@ -211,46 +178,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"Введений порт не дійсний."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"Проксі-сервер HTTP використовується веб-переглядачем і не може використовуватися іншими додатками."</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"URL-адреса PAC: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"Поточний субідентифікатор:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"Субідентифікатор SIM-карти для даних за умовчанням:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"Пропускна спроможність DL (Кб/с):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"Пропускна спроможність UL (Кб/с):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"Геодані телефона (більше не підтримується):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"Конфігурація фізичного каналу LTE:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"Частота оновлення даних про мобільний зв’язок:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"Усі дані про показники мобільного зв’язку:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"Мобільний Інтернет:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"Роумінг:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"Переадресація виклику:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"Кількість скидань PPP з часу завантаження:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"Поточна мережа:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"Отримані дані:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"Служба голосових дзвінків:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"Рівень сигналу:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"Статус голосового дзвінка:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"Надіслані дані:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"Очікування на повідомлення:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"Номер телефону:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"Виберіть радіодіапазон"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"Тип мережі голосових дзвінків:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"Тип мережі передавання даних:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"Виберіть телефонний код"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"Установити потрібний тип мережі:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"Надіслати запит ping на ім’я хосту (www.google.com) через IPv4:"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"Надіслати запит на ім’я хосту (www.google.com) через IPv6:"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"Тест клієнта HTTP:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"Тестувати з’єднання"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"Оновл."</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"Оновлення"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"Увімкнути перевірку DNS"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"Інф-я/налашт. OEM"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"Налаштувати режим радіодіапазону"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"Завантаження списку діапазонів…"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"Устан."</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"Помилка"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"Успішно"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"Зміни почнуть діяти після повторного підключення USB-кабелю."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"Увімк. носій USB вел. ємн."</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"Усього байтів:"</string>
@@ -289,10 +220,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"У кінець"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"Вилучити мову"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"Вибрати дію"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"Інф-я пристрою"</string>
     <string name="display_label" msgid="3056320781191343221">"Екран"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"Інф. про прис."</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"Інф-я тел-ну"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"Носій USB"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"Карта SD"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"Налашт-ня проксі"</string>
@@ -310,9 +238,6 @@
     <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="cellular_data_title" msgid="8072108204621057526">"Мобільний трафік"</string>
-    <string name="calls_title" msgid="6334813967619899114">"Дозволити дзвінки"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"SMS-повідомлення"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"Передавати дані через мобільну мережу"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"Передавати дані в роумінгу"</string>
     <string name="roaming" msgid="3055365654530847985">"Роумінг"</string>
@@ -320,9 +245,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"Підключатися до служб передавання даних у роумінгу"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"Доступ до даних утрачено, оскільки ви залишили домашню мережу з вимкненим роумінгом даних."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"Увімкнути"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"Може стягуватися значна плата."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"Якщо дозволити роумінг даних, з вас може стягуватися значна плата за роумінг.\n\nТаке налаштування впливає на всіх користувачів цього планшетного ПК."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"Якщо дозволити роумінг даних, з вас може стягуватися значна плата за роумінг.\n\nТаке налаштування впливає на всіх користувачів цього телефону."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"Може стягуватися плата за роумінг."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"Якщо дозволити роумінг даних, може стягуватися плата за його використання.\n\nНалаштування впливає на всіх користувачів цього планшета."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"Якщо дозволити роумінг даних, може стягуватися плата за його використання.\n\nНалаштування впливає на всіх користувачів цього телефона."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"Дозволити роумінг даних?"</string>
     <string name="networks" msgid="5184501333492775095">"Вибір оператора"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"Виберіть оператора мережі"</string>
@@ -363,8 +288,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"Вимкнено адміністратором"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"Показувати опцію блокування"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"Додати в меню кнопки живлення функцію, яка вимикає Smart Lock, біометричне розблокування та сповіщення на заблокованому екрані"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"Довірчі агенти лише подовжують розблокування"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"Коли довірчі агенти ввімкнено, пристрій залишається розблокованим довше, але вони не можуть розблокувати заблокований пристрій."</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"Блокувати екран, коли втрачено довіру"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"Якщо цю функцію ввімкнено, пристрій заблокується, коли останній агент утратить довіру"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"Немає"</string>
@@ -396,7 +319,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"Устан. Моє місцезн., розблок. екрана, блок. SIM-карти, сховища обл. даних"</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"Устан. Моє місцезн., розбл. екрана, блок. схов. обл. даних"</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"Конфіденційність"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"Вимкнено адміністратором"</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>
@@ -709,7 +632,6 @@
       <item quantity="many">Може містити до <xliff:g id="NUMBER_1">%d</xliff:g> цифр</item>
       <item quantity="other">Може містити до <xliff:g id="NUMBER_1">%d</xliff:g> цифри</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"Має містити лише цифри від 0 до 9"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"Адміністратор пристрою не дозволяє використовувати останній PIN-код"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"IT-адміністратор заблокував загальні PIN-коди. Введіть інший PIN-код."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"Не може містити недійсних символів"</string>
@@ -752,6 +674,12 @@
       <item quantity="many">Має містити принаймні <xliff:g id="COUNT">%d</xliff:g> символів, які не є літерами</item>
       <item quantity="other">Має містити принаймні <xliff:g id="COUNT">%d</xliff:g> символу, які не є літерами</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="one">Має містити принаймні <xliff:g id="COUNT">%d</xliff:g> символ, який не є цифрою</item>
+      <item quantity="few">Має містити принаймні <xliff:g id="COUNT">%d</xliff:g> символи, які не є цифрами</item>
+      <item quantity="many">Має містити принаймні <xliff:g id="COUNT">%d</xliff:g> символів, які не є цифрами</item>
+      <item quantity="other">Має містити принаймні <xliff:g id="COUNT">%d</xliff:g> символу, які не є цифрами</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"Адміністратор пристрою не дозволяє використовувати останній пароль"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"IT-адміністратор заблокував загальні паролі. Введіть інший пароль."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"Цифри в порядку зростання чи спадання та повторювані цифри заборонені"</string>
@@ -869,19 +797,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2,4 ГГц"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 ГГц"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"Увійти"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"Відкрити сайт"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"Залишилося: <xliff:g id="REMAINING_TIME">%1$s</xliff:g>"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"Діє до <xliff:g id="EXPIRY_TIME">%1$s</xliff:g>"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"Торкніться тут, щоб увійти в мережу"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Мбіт/с"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Мбіт/с"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Мбіт/с"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"Додаток <xliff:g id="REQUESTER">%s</xliff:g> хоче ввімкнути Wi-Fi"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"Додаток <xliff:g id="REQUESTER">%s</xliff:g> хоче вимкнути Wi-Fi"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"Підтвердьте байт-код налагоджуваних додатків"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Дозволити ART підтверджувати байт-код налагоджуваних додатків"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"Частота оновлення"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Показати поточну частоту оновлення екрана"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"Дозволити обмін даними, коли планшетний ПК торкнеться іншого пристрою"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"Дозволити обмін даними, коли телефон торкнеться іншого пристрою"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"Дозволити обмін даними, коли планшет торкнеться пристрою NFC"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"Дозволити обмін даними, коли телефон торкнеться пристрою NFC"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"Увімкнути NFC"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"За допомогою NFC цей пристрій обмінюється даними з іншими пристроями чи об’єктами поруч, зокрема з платіжними терміналами, пристроями зчитування даних для доступу, інтерактивними оголошеннями та тегами."</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"Захист NFC"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Використовувати NFC лише на розблокованому пристрої"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"Дозволити оплату й передавання через NFC, лише коли екран розблоковано"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Передавання даних Android"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"Вміст додатка готовий до передачі через NFC"</string>
@@ -955,8 +889,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Увімкнути"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Пошук мереж Wi-Fi увімкнено"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Додаткові параметри"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"Список спадного меню \"Додаткові параметри\". Двічі торкніться, щоб згорнути."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"Список спадного меню \"Додаткові параметри\". Двічі торкніться, щоб розгорнути."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Спадний список додаткових параметрів"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"розгорнути"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"Назва мережі"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"Введіть ідентифікатор SSID"</string>
     <string name="wifi_security" msgid="9095934643631406913">"Безпека"</string>
@@ -966,6 +900,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"Стан"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"Швидкість передавання даних"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"Швидкість отримання даних"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"Швид. зв\'язку"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"Частота"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"ІР-адреса"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"Збережено через мережу"</string>
@@ -973,6 +908,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"Метод EAP"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"Друга фаза автентифікації"</string>
     <string name="wifi_eap_ca_cert" msgid="8033404008276298886">"Сертифікат ЦС"</string>
+    <string name="wifi_eap_ocsp" msgid="8713933962516871238">"Статус онлайн-сертифіката"</string>
     <string name="wifi_eap_domain" msgid="8304301470752333203">"Домен"</string>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"Сертиф. корист-ча"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"Ідентифік."</string>
@@ -989,6 +925,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"Виберіть принаймні один діапазон для точки доступу Wi-Fi:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"Налаштування IP"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"Конфіденційність"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"Підписка"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"Перегляд або редагування підписки"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"Довільна MAC-адреса"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"Додати пристрій"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"Щоб додати пристрій у мережу \"<xliff:g id="SSID">%1$s</xliff:g>\", наведіть камеру на QR-код нижче"</string>
@@ -998,12 +936,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"Поділитися мережею Wi‑Fi"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"Відскануйте QR-код, щоб підключитися до мережі \"<xliff:g id="SSID">%1$s</xliff:g>\" і поділитися паролем"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"Відскануйте QR-код, щоб підключитися до мережі \"<xliff:g id="SSID">%1$s</xliff:g>\""</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"Не вдалося розпізнати QR-код. Ще раз розмістіть код у центрі рамки й повторіть спробу"</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"Повторіть спробу. Якщо проблема не зникне, зверніться до виробника пристрою"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"Сталася помилка"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"Переконайтеся, що пристрій підключено, заряджено й увімкнено"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"Переконайтеся, що пристрій підключено, заряджено й увімкнено. Якщо проблема не зникне, зверніться до виробника пристрою"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"Цей пристрій не підтримує \"<xliff:g id="SSID">%1$s</xliff:g>\""</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"Спробуйте піднести пристрій ближче до точки доступу чи маршрутизатора Wi‑Fi"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"Перевірте пароль і повторіть спробу"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"Зв\'яжіться з виробником пристрою"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"Перевірте підключення й повторіть спробу"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"Вибрати мережу"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"Виберіть мережу, до якої потрібно підключити пристрій"</string>
@@ -1016,11 +956,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"Цьому пристрою надається доступ до Wi‑Fi…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"З’єднання…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"Поділіться точкою доступу"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"Підтвердьте, що це ви"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"Підтвердьте, що це ви"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"Пароль Wi-Fi: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"Пароль точки доступу: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"Автоматичне підключення"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"Надайте телефону дозвіл на автоматичне з\'єднання з цією мережею"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"Надайте планшету дозвіл на автоматичне з\'єднання з цією мережею"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"Додати пристрій"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"Зіскануйте QR-код, щоб додати пристрій до цієї мережі"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"Недійсний формат QR-коду"</string>
     <string name="retry" msgid="7542103800274026915">"Повторити"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"Надати доступ іншим користувачам пристрою"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(без змін)"</string>
@@ -1032,6 +976,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"Сертифікат не вказано. З’єднання не буде конфіденційним."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"Назва мережі задовга."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"Укажіть домен."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"Потрібен сертифікат."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"Є доступ до WPS"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" Є доступ до WPS"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"Мережа Wi-Fi оператора"</string>
@@ -1089,7 +1034,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"Розширені налаштування Wi-Fi"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"MAC-адреса"</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_ip_address_title" msgid="4265355419782184514">"ІР-адреса"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"Деталі мережі"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Маска підмережі"</string>
@@ -1141,7 +1087,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"Створіть мережу Wi-Fi для своїх пристроїв за допомогою точки доступу. Точка доступу надає інтернет-з’єднання через мобільне передавання даних. Може стягуватися додаткова плата за використання мобільного трафіку."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"Додатки можуть створювати точку доступу, щоб ділитися вмістом із пристроями поруч."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Вимикати точку доступу автоматично"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"Якщо немає під’єднаних пристроїв, точка доступу Wi-Fi вимикатиметься"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Коли немає підключених пристроїв"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"Увімкнення точки доступу…"</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"Вимкнення точки доступу…"</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> активовано"</string>
@@ -1150,6 +1096,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"Налаштув. точки доступу Wi‑Fi"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"Точка доступу AndroidAP WPA2 PSK"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"AndroidHotspot"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"Зберегти мережу?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"Додаток <xliff:g id="APPNAME">%1$s</xliff:g> хоче зберегти цю мережу на вашому телефоні"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"Додаток <xliff:g id="APPNAME">%1$s</xliff:g> хоче зберегти цю мережу на вашому планшеті"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"Зберігання…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"Збережено"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"Не вдалося зберегти. Повторіть спробу."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"Зберегти мережі?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"Додаток <xliff:g id="APPNAME">%1$s</xliff:g> хоче зберегти ці мережі на вашому телефоні"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"Додаток <xliff:g id="APPNAME">%1$s</xliff:g> хоче зберегти ці мережі на вашому планшеті"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"Зберігання мереж (<xliff:g id="NUMBER">%d</xliff:g>)…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"Мережі збережено"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"Дзвінки через Wi-Fi"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"Розширте покриття за допомогою Wi-Fi"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"Увімкніть дзвінки через Wi-Fi, щоб розширити покриття"</string>
@@ -1176,16 +1133,18 @@
     <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"><annotation id="url">"Докладніше"</annotation>" про функції приватної DNS"</string>
+    <string name="private_dns_mode_on" msgid="8878679071975375696">"Увімкнено"</string>
     <string name="wifi_calling_pref_managed_by_carrier" msgid="129524064888622179">"Налаштуванням керує оператор"</string>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"Активувати дзвінки через Wi-Fi"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"Увімкнути дзвінки через Wi-Fi"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"%1$s не підтримує дзвінки через Wi-Fi"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"Відключено від мережі \"<xliff:g id="SSID">%1$s</xliff:g>\""</string>
     <string name="carrier" msgid="1755020806290963951">"Оператор"</string>
     <string name="display_settings_title" msgid="626835071804834218">"Екран"</string>
     <string name="sound_settings" msgid="5514582720435174014">"Звук"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"Гучність"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"Музичні ефекти"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"Гучність дзвінка"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"Гучність дзвінків і сповіщень"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"Вібр. в беззвуч. реж."</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"Звук сповіщення за умовчанням"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"Мелодія"</string>
@@ -1310,13 +1269,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"Налаштувати розклад"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"Немає"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"Від заходу до світанку"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"Вмикається у вибраний час"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"Статус"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"Вимкнено / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"Не ввімкнеться автоматично"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"Увімкнеться автоматично після заходу сонця"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"Вмикатиметься автоматично о <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"Увімкнено / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"Не вимкнеться автоматично"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"Вимкнеться автоматично на світанку"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"Вимикатиметься автоматично о <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"Увімкнути до <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"Вимкнути до <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"Щоб економити заряд акумулятора, у темній темі використовується чорний фон. Її буде ввімкнено, доки ви не вимкнете екран."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"Час вимкнення екрана"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"Вимикати екран"</string>
@@ -1328,7 +1292,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"Змінити фоновий малюнок"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"Налаштувати екран"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"Вибрати фоновий малюнок з"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"Налаштуйте свій Pixel"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"Налаштувати телефон"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"Спробуйте інші стилі, фонові малюнки тощо"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"Заставка"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Під час заряджання чи в док-станції"</string>
@@ -1419,6 +1383,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"Відключити носій USB, перегл. доступні носії"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"Відключ. карту SD, перегл. доступ. сховище"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (гніздо %1$d для SIM-карти)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"Щоб переглянути, виберіть збережену мережу"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"Номер телефону"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (гніздо %1$d для SIM-карти)"</string>
@@ -1445,6 +1410,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"Роумінг"</string>
     <string name="status_operator" msgid="4335640583552058491">"Мережа"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"MAC-адреса Wi-Fi"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"MAC-адреса Wi‑Fi пристрою"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"Адреса Bluetooth"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Серійний номер"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Час із моменту ввімкнення"</string>
@@ -1657,6 +1623,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Налаштування за умовчанням відновлено."</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"Скинути параметри"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"Можна скинути налаштування мережі, додатків або пристрою"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"Додатки може бути скинуто"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"Скинути параметри Wi-Fi, мобільного передавання даних і Bluetooth"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"Буде скинуто всі налаштування мережі, зокрема \n\n"<li>"Wi‑Fi"</li>\n<li>"мобільний трафік"</li>\n<li>"Bluetooth"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"Видалити завантажені SIM-карти"</string>
@@ -1706,6 +1673,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"Точку доступу ввімкнено"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"Телефон використовується в режимі модема"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"Коли ввімкнено Заощадження трафіку, неможливо ввімкнути режим модема або використовувати портативні точки доступу"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"Лише точка доступу"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"Лише USB"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"Лише Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"Точка доступу, USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"Точка доступу, Bluetooth"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB, Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"Точка доступу, USB, Bluetooth"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"Інші пристрої не мають доступу до Інтернету"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"Використання телефона як модема"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Не використовувати точку доступу Wi‑Fi"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Надавати доступ до Інтернету тільки через USB"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Надавати доступ до Інтернету тільки через Bluetooth"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Надавати доступ до Інтернету тільки через USB та Bluetooth"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB-модем"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"Надавати доступ до Інтернету через телефон за допомогою USB"</string>
@@ -1798,9 +1778,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"Інф-я про безпеку"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"Немає передавання даних. Щоб переглянути цю інформацію, перейдіть на сторінку %s із комп’ютера, під’єднаного до Інтернету."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"Завантаження…"</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"Ввести PIN-код"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"Намалювати ключ"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"Ввести пароль"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"Параметри блокування екрана"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"З міркувань безпеки налаштуйте пароль"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"Щоб користуватися відбитком пальця, налаштуйте пароль"</string>
@@ -1809,8 +1786,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"Щоб користуватися відбитком пальця, налаштуйте PIN-код"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"З міркувань безпеки налаштуйте ключ"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"Введіть пароль ще раз"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"Введіть пароль робочого профілю"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"Підтвердьте ключ розблокування"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"Введіть ключ робочого профілю"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"Введіть PIN-код ще раз"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"Введіть PIN-код робочого профілю"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"Паролі не збігаються"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"PIN-коди не збігаються"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"Намалюйте ключ ще раз"</string>
@@ -1821,6 +1801,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"Налаштуйте пароль для Фейсконтроля"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"Налаштуйте ключ для Фейсконтролю"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"Налаштуйте PIN-код для Фейсконтролю"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"Забули пароль?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"Забули ключ?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"Забули PIN-код?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"Щоб продовжити, введіть ключ пристрою"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"Щоб продовжити, введіть PIN-код пристрою"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"Щоб продовжити, введіть пароль пристрою"</string>
@@ -1888,6 +1871,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"Дозволити всі джерела додатків"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"Нещодавно відкриті додатки"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"Переглянути всі додатки (<xliff:g id="COUNT">%1$d</xliff:g>)"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"Зверніться до IT-адміністратора"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"Він може допомогти вам скинути PIN-код, ключ або пароль"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"Ваш планшет і особисті дані більш уразливі до атак із боку додатків із невідомих джерел Установлюючи додатки з цього джерела, ви погоджуєтеся, що несете відповідальність за будь-яку шкоду, заподіяну вашому планшету, чи втрату даних унаслідок використання таких додатків."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"Ваш телефон і особисті дані більш уразливі до атак із боку додатків із невідомих джерел Установлюючи додатки з цього джерела, ви погоджуєтеся, що несете відповідальність за будь-яку шкоду, заподіяну вашому телефону, чи втрату даних унаслідок використання таких додатків."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"Ваш пристрій і особисті дані більш уразливі до атак невідомих додатків. Установлюючи додатки з цього джерела, ви погоджуєтеся, що несете відповідальність за будь-яку шкоду, заподіяну вашому пристрою, чи втрату даних унаслідок використання таких додатків."</string>
@@ -1941,7 +1926,7 @@
     <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="1377296810290814749">"Буде скинуто всі налаштування для:\n\n"<li>"вимкнених додатків"</li>\n<li>"вимкнених сповіщень із додатків"</li>\n<li>"додатків за умовчанням"</li>\n<li>"обмежень щодо передавання даних у фоновому режимі"</li>\n<li>"усіх обмежень щодо дозволів"</li>\n\n"Дані додатків видалено не буде."</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>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"Скинути"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"Кер. простором"</string>
     <string name="filter" msgid="9039576690686251462">"Фільтрув."</string>
@@ -2141,7 +2126,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"Аудіо й текст на екрані"</string>
     <string name="display_category_title" msgid="6638191682294461408">"Дисплей"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"Елементи керування взаємодією"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"Завантажені служби"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"Завантажені додатки"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"Експериментальні налаштування"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"Прапорці функцій"</string>
     <string name="talkback_title" msgid="8756080454514251327">"TalkBack"</string>
@@ -2149,27 +2134,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"Щоб почути назву елемента на екрані, торкніться його"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"Налаштування субтитрів"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"Збільшення"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"Область збільшення"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"Збільшення ввімкнено"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"Виберіть області для збільшення масштабу екрана"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"На весь екран"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"Частина екрана"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"Повноекранний і напівекранний режим"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"Збільшити весь екран"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"Збільшити частину екрана"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Налаштування збільшення"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"Збільшувати потрійним торканням"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Збільшувати кнопкою/жестом"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Збільшувати кнопкою й потрійним дотиком"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"Про сервіс <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"Параметри"</string>
     <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="2831926970059739911"><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_screen_magnification_navbar_summary" msgid="5603519616005297803">"Коли функцію збільшення ввімкнено, ви можете наближувати вміст на екрані.\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_screen_magnification_summary" msgid="7617931632990040045">"Швидко наближайте вміст екрана, щоб краще його бачити.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Щоб наблизити вміст:&lt;/b&gt;&lt;br/&gt;	1. Увімкніть збільшення за допомогою засобу спеціальних можливостей&lt;br/&gt;	2. Торкніться екрана&lt;br/&gt;	3. Пересувайте два пальці, щоб переміщатись екраном&lt;br/&gt;	4. Стискайте два пальці, щоб змінювати рівень масштабування&lt;br/&gt;	5. Вимкніть збільшення за допомогою засобу спеціальних можливостей&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Щоб наблизити вміст тимчасово:&lt;/b&gt;&lt;br/&gt;	1. Увімкніть збільшення за допомогою засобу спеціальних можливостей&lt;br/&gt;	2. Натисніть і утримуйте будь-яке місце на екрані&lt;br/&gt;	3. Пересувайте палець, щоб переміщатися екраном&lt;br/&gt;	4. Підніміть палець, щоб вимкнути збільшення"</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Коли функцію збільшення ввімкнено, ви можете наближувати вміст на екрані.\n\n"<b>"Щоб наблизити вміст"</b>", увімкніть збільшення, а потім торкніться будь-якого місця на екрані.\n"<ul><li>"Щоб прокрутити вміст, проведіть по екрану принаймні двома пальцями"</li>\n<li>"Щоб змінити масштаб, стисніть або розведіть принаймні два пальці"</li></ul>\n\n<b>"Щоб тимчасово збільшити вміст"</b>", увімкніть збільшення, а потім натисніть і утримуйте будь-яке місце на екрані.\n"<ul><li>"Пересувайте палець, щоб переміщатись екраном"</li>\n<li>"Підніміть палець, щоб знову зменшити елемент"</li></ul>\n\n"Масштабування не підтримується на клавіатурі та панелі навігації."</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Використовуйте кнопку спеціальних можливостей"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Використовуйте жест"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"Спробуйте новий жест для спеціальних можливостей"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"Щоб увімкнути або вимкнути цей сервіс, натисніть кнопку спеціальних можливостей <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> унизу екрана.\n\nЩоб переключитися між сервісами, натисніть і утримуйте цю кнопку."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"Щоб увімкнути або вимкнути цей сервіс, проведіть двома пальцями знизу екрана вгору.\n\nЩоб переключитися між сервісами, проведіть двома пальцями вгору й утримуйте екран."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"Щоб увімкнути або вимкнути цей сервіс, проведіть трьома пальцями знизу екрана.\n\nЩоб переключитися між сервісами, проведіть трьома пальцями вгору й утримуйте екран."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"Щоб увімкнути або вимкнути сервіс спеціальних можливостей, проведіть двома пальцями знизу екрана.\n\nЩоб переключитися між сервісами, проведіть двома пальцями вгору й утримуйте екран."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"Щоб увімкнути або вимкнути сервіс спеціальних можливостей, проведіть трьома пальцями знизу екрана.\n\nЩоб переключитися між сервісами, проведіть трьома пальцями вгору й утримуйте екран."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"Щоб увімкнути або вимкнути цей сервіс, натисніть кнопку спеціальних можливостей <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> унизу екрана.\n\nЩоб переключитися між сервісами, натисніть і утримуйте цю кнопку."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"Щоб увімкнути або вимкнути цей сервіс, проведіть двома пальцями вгору від нижнього краю екрана.\n\nЩоб переключитися між сервісами, проведіть двома пальцями вгору й утримуйте екран."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"Щоб увімкнути або вимкнути цей сервіс, проведіть трьома пальцями вгору від нижнього краю екрана.\n\nЩоб переключитися між сервісами, проведіть трьома пальцями вгору й утримуйте екран."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"Щоб увімкнути або вимкнути сервіс спеціальних можливостей, проведіть двома пальцями вгору від нижнього краю екрана.\n\nЩоб переключитися між сервісами, проведіть двома пальцями вгору й утримуйте екран."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"Щоб увімкнути або вимкнути сервіс спеціальних можливостей, проведіть трьома пальцями вгору від нижнього краю екрана.\n\nЩоб переключитися між сервісами, проведіть трьома пальцями вгору й утримуйте екран."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"OK"</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="2820923641553461297">"Кнопка спеціальних можливостей"</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>
+    <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8922102767509399352">"Натиснути кнопку спеціальних можливостей <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> унизу екрана"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"Провести двома пальцями вгору від нижнього краю екрана"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"Провести трьома пальцями вгору від нижнього краю екрана"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Утримувати клавіші гучності"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"Утримувати обидві клавіші гучності впродовж однієї секунди"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Тричі торкнутися екрана"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"Швидко тричі торкнутися екрана. Це може сповільнити роботу вашого пристрою."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"Додатково"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"Для кнопки спеціальних можливостей вибрано службу \"<xliff:g id="SERVICE">%1$s</xliff:g>\". Щоб змінити на збільшення, натисніть і втримуйте кнопку спеціальних можливостей, а потім виберіть \"Збільшення\"."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"Для цього жесту спеціальних можливостей вибрана команда \"<xliff:g id="SERVICE">%1$s</xliff:g>\". Щоб збільшити масштаб, проведіть двома пальцями знизу вгору і втримуйте їх на екрані. Потім виберіть збільшення."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"Комбінація клавіш гучності"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"Швидке ввімкнення сервісу"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Налаштування засобу спеціальних можливостей"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"Дозволити на заблокованому екрані"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"Якщо цю комбінацію клавіш увімкнено, ви можете активувати спеціальні можливості, утримуючи обидві клавіші гучності протягом 3 секунд."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"Висококонтрастний текст"</string>
@@ -2193,24 +2203,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"Виберіть, як довго показувати тимчасово видимі повідомлення із закликом до дії.\n\nНе всі додатки підтримують це налаштування."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"Затримка натискання й утримування"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"Інверсія кольорів"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"Може вплинути на продуктивність"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"Час взаємодії"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"Використовувати інверсію кольорів"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"Інверсія кольорів перетворює яскраві кольори на темні, щоб людям із чутливістю до яскравого світла було легше дивитися на екран.&lt;br/&gt;&lt;br/&gt;Примітка: темні кольори стануть світлішими. Кольори медіа-файлів і зображень також зміняться. Також можна використовувати темну тему (\"Налаштування\" &gt; \"Екран\")."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"Автоматичне натискання (час взаємодії)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"Якщо ви використовуєте мишу, можна налаштувати автоматичний клік, коли курсор миші не рухається впродовж певного часу."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"Затримка перед кліком"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"Без автонатискання (за умовчанням)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"Короткий"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0,2 секунди"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"Середній"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0,6 секунди"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"Довгий"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 секунда"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"Інший"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"Коротше"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"Довше"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"Час автоматичного натискання"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"Вібровідгук"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Вібрація під час сповіщень"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Вібрація під час дзвінків"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Реакція на дотик"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"Використовувати сервіс"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"Використовувати <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"Відкрити додаток <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"Використовувати корекцію кольорів"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"Використовувати субтитри"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"Показувати субтитри"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"Показ субтитрів"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"Розмір тексту, стиль субтитрів"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"Інші параметри"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"Це налаштування підтримують не всі додатки."</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>
     <string name="accessibility_hearingaid_instruction_continue_button" msgid="3367260988024430722">"Продовжити"</string>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"Слухові апарати"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"Слухові апарати не під’єднано"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"Додати слухові апарати"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"Щоб підключити слуховий апарат, виберіть його на наступному екрані."</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"Переконайтеся, що на слухових апаратах увімкнено режим створення пари."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"Щоб підключити слуховий апарат, виберіть його на наступному екрані. Не забудьте перевести свій слуховий апарат у режим створення пари."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"Пристрій <xliff:g id="DEVICE_NAME">%1$s</xliff:g> активовано"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="one">Збережено <xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> слуховий апарат</item>
@@ -2224,35 +2252,47 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Ця служба не працює."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Показувати на панелі швидкого налаштування"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"Режим корекції"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="one">Надзвичайно коротка затримка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мс)</item>
-      <item quantity="few">Надзвичайно коротка затримка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мс)</item>
-      <item quantity="many">Надзвичайно коротка затримка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мс)</item>
-      <item quantity="other">Надзвичайно коротка затримка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мс)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Червоний – зелений"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"Зелений – червоний"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Синій – жовтий"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"Дейтераномалія"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"Протаномалія"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"Тританомалія"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="one">Надзвичайно коротка затримка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунда)</item>
+      <item quantity="few">Надзвичайно коротка затримка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунди)</item>
+      <item quantity="many">Надзвичайно коротка затримка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунд)</item>
+      <item quantity="other">Надзвичайно коротка затримка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунди)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="one">Дуже коротка затримка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мс)</item>
-      <item quantity="few">Дуже коротка затримка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мс)</item>
-      <item quantity="many">Дуже коротка затримка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мс)</item>
-      <item quantity="other">Дуже коротка затримка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мс)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="one">Дуже коротка затримка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунда)</item>
+      <item quantity="few">Дуже коротка затримка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунди)</item>
+      <item quantity="many">Дуже коротка затримка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунд)</item>
+      <item quantity="other">Дуже коротка затримка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунди)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="one">Коротка затримка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мс)</item>
-      <item quantity="few">Коротка затримка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мс)</item>
-      <item quantity="many">Коротка затримка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мс)</item>
-      <item quantity="other">Коротка затримка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мс)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="one">Коротка затримка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунда)</item>
+      <item quantity="few">Коротка затримка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунди)</item>
+      <item quantity="many">Коротка затримка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунд)</item>
+      <item quantity="other">Коротка затримка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунди)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="one">Довга затримка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мс)</item>
-      <item quantity="few">Довга затримка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мс)</item>
-      <item quantity="many">Довга затримка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мс)</item>
-      <item quantity="other">Довга затримка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мс)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="one">Довга затримка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунда)</item>
+      <item quantity="few">Довга затримка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунди)</item>
+      <item quantity="many">Довга затримка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунд)</item>
+      <item quantity="other">Довга затримка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунди)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="one">Дуже довга затримка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мс)</item>
-      <item quantity="few">Дуже довга затримка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мс)</item>
-      <item quantity="many">Дуже довга затримка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мс)</item>
-      <item quantity="other">Дуже довга затримка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> мс)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="one">Дуже довга затримка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунда)</item>
+      <item quantity="few">Дуже довга затримка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунди)</item>
+      <item quantity="many">Дуже довга затримка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунд)</item>
+      <item quantity="other">Дуже довга затримка (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунди)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунда</item>
+      <item quantity="few"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунди</item>
+      <item quantity="many"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунд</item>
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> секунди</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"<xliff:g id="SUMMARY_RING">%1$s</xliff:g> для дзвінків, <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g> для сповіщень, <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g> для дотиків"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"Вібрацію для дзвінків і сповіщень вимкнено"</string>
@@ -2587,7 +2627,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"З часу ост. відключ. для <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"Заг. використ."</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"Оновити"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"ОС Android"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"Медіа-сервер"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"Оптимізація додатка"</string>
     <string name="battery_saver" msgid="7737147344510595864">"Режим економії заряду акумулятора"</string>
@@ -2668,8 +2707,7 @@
     <string name="tts_play" msgid="2945513377250757221">"Відтворити"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"Сховище облікових даних"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"Установити з носія"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"Установити з карти SD"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"Установіть сертифікат"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"Установити сертифікати з носія"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"Установлювати сертифікати з карти SD"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"Видалити облікові дані"</string>
@@ -2689,6 +2727,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"Сховище облік. даних очищено."</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"Схов.облік.даних неможл.видал."</string>
     <string name="usage_access_title" msgid="1580006124578134850">"Додатки з доступом до даних"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"Сертифікат ЦС"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"VPN і сертифікат користувача"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"Сертифікат Wi‑Fi"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"Ваша конфіденційність під загрозою"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"Сертифікати центру сертифікації (ЦС) використовуються веб-сайтами, додатками й мережами VPN для шифрування. Установлюйте сертифікати ЦС тільки від тих організацій, яким довіряєте. \n\n Якщо ви встановите сертифікат ЦА, то його власник зможе отримувати доступ до вашої інформації (зокрема паролів, повідомлень і даних кредитних карток) з веб-сайтів, які ви відвідуєте, та з додатків, якими користуєтеся, навіть якщо таку інформацію зашифровано."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"Не встановлювати"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"Усе одно встановити"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"Сертифікат не встановлено"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"Сигнал екстреного виклику"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Устан. поведінку при розміщ. аварійного виклику"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Резервне копіювання"</string>
@@ -2716,10 +2762,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"Дезактивувати й видалити"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"Додатки адміністратора пристрою"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"Немає додатків адміністратора пристрою"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"Особисте"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"Робота"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"Обмежити доступ до SMS і журналу викликів"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"Лише додатки для дзвінків і обміну повідомленнями за умовчанням мають дозволи на доступ до SMS і журналу викликів"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"Немає довірчих агентів"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"Активувати додаток адміністратора пристрою?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"Активувати додаток адміністратора пристрою"</string>
@@ -2733,6 +2775,16 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"Адміністратор вимкнув інші опції"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"Докладніше"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"Журнал сповіщень"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"Історія сповіщень"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"Сьогодні"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"Відкладено"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"Нещодавно відхилено"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="one"><xliff:g id="NUMBER_1">%d</xliff:g> сповіщення</item>
+      <item quantity="few"><xliff:g id="NUMBER_1">%d</xliff:g> сповіщення</item>
+      <item quantity="many"><xliff:g id="NUMBER_1">%d</xliff:g> сповіщень</item>
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> сповіщення</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"Сигнал і вібрація під час виклику"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"Деталі мережі"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"Синхронізацію ввімкнено"</string>
@@ -3090,7 +3142,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"Обмеження"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"Зняти обмеження"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"Змінити PIN-код"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"Показати сповіщення"</string>
     <string name="help_label" msgid="2896538416436125883">"Довідка й відгуки"</string>
     <string name="support_summary" msgid="1034146931237148885">"Довідкові статті, підтримка телефоном і в чаті, початок роботи"</string>
     <string name="user_account_title" msgid="6389636876210834864">"Обліковий запис для вмісту"</string>
@@ -3115,6 +3166,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"Виклики в режимі 4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Використовувати сервіси LTE для кращого голосового й інших типів зв’язку (рекомендовано)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Використовувати сервіси 4G для кращого голосового й інших типів зв’язку (рекомендовано)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Аналіз контактів"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Да змогу оператору аналізувати, які функції викликів підтримують ваші контакти."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Увімкнути аналіз контактів?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Якщо ввімкнути цю функцію, оператор отримає доступ до номерів телефонів у списку ваших контактів, щоб перевірити, які функції викликів вони підтримують."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Тип мережі"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (рекомендовано)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS-повідомлення"</string>
@@ -3159,7 +3214,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"Телефонувати за допомогою"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"Виберіть SIM-карту"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"SIM-карта <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"SIM-карта порожня"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"Назва SIM-карти"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"Введіть назву SIM-карти"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"Гніздо для SIM-карти %1$d"</string>
@@ -3169,6 +3223,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"Вибрати SIM-карту"</string>
     <string name="color_orange" msgid="216547825489739010">"Оранжевий"</string>
     <string name="color_purple" msgid="6603701972079904843">"Пурпуровий"</string>
+    <string name="color_pink" msgid="8596872110888626708">"Рожевий"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"SIM-карту не вставлено"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"Статус SIM-карти"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"Статус SIM-карти (гніздо %1$d для SIM-карти)"</string>
@@ -3182,7 +3237,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> дБм <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"SIM-карти змінено."</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Торкніться, щоб налаштувати"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"Використання SIM-карт"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Запитувати щоразу"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Потрібно вибрати"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"Вибір SIM-карти"</string>
@@ -3202,6 +3256,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"Bluetooth, режим автомобіля"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"Bluetooth, NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"Bluetooth"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"Недоступно, оскільки вимкнено NFC"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"Додатки та сповіщення"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Нещодавні додатки, додатки за умовчанням"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Додатки в робочому профілі не мають доступу до сповіщень."</string>
@@ -3212,13 +3267,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"Налаштування"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"wifi, wi-fi, мережеве з’єднання, інтернет, бездротовий, дані, wi fi"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"сповіщення Wi‑Fi, сповіщення wifi"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"використання трафіку"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"Вимкнути вібрацію, дотик, клавіатура"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"24-годинний формат"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"Завантажити"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"Відкрити за допомогою"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"Додатки"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"часовий пояс"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"Показувати поверх інших додатків"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"угорі чату, система, сповіщення, вікно, діалог, показ, поверх інших додатків, відображення"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"Ліхтарик, світло, ліхтар"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"wifi, wi-fi, перемкнути, керувати"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"мобільний зв’язок, мобільний, оператор мобільного зв’язку, без дротів, трафік, 4g, 3g, 2g, lte"</string>
@@ -3242,7 +3298,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"не турбувати, пріоритет, пріоритетні сповіщення, втручатися"</string>
     <string name="keywords_app" msgid="7983814237980258061">"оперативна пам’ять"</string>
     <string name="keywords_location" msgid="8016374808099706213">"поруч, місцезнаходження, історія, надсилання, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"обліковий запис"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"обліковий запис, як додати обліковий запис, робочий профіль, додати обліковий запис"</string>
     <string name="keywords_users" msgid="3497517660077620843">"обмеження, обмежувати, обмежено"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"виправлення тексту, виправити, звук, вібросигнал. автоматично, мова, жести, пропонувати, пропозиція, тема, образливо, слово, ввести текст, смайли міжнародний"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"скинути, параметри, за умовчанням"</string>
@@ -3280,6 +3336,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"пам’ять, кеш, дані, видалити, очистити, звільнити, місце"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"під’єднано, пристрій, навушники, гарнітура, динамік, бездротовий, створення пари, вакуумні навушники, музика, медіа-вміст"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"фон, екран, заблокований екран, тема"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"форма значка, акцентний колір, шрифт"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"за умовчанням, асистент"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"платіж, за умовчанням"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"вхідне сповіщення"</string>
@@ -3289,18 +3346,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"тактильна реакція, вібрація, чутливість"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"режим енергозбереження, закріплений, постійний, економія заряду, акумулятор"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"послідовність дій, розклад, режим енергозбереження, економія заряду, акумулятор, автоматично, відсоток"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"робочий профіль"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"volte, виклики з розширеними можливостями, виклики в режимі 4G"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"додати мову, додавання мови"</string>
     <string name="default_sound" msgid="6604374495015245195">"Звук за умовчанням"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"Гучність дзвінка: <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"Гучність дзвінків і сповіщень: <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Гучність, вібросигнал і режим \"Не турбувати\""</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"Вібрацію під час дзвінка ввімкнено"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"Звук дзвінка вимкнено"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"Гучність дзвінка: 80%"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"Гучність дзвінків і сповіщень: 80%"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Гучність медіа"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Гучність трансляції"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"Гучність розмови"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"Гучність будильника"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"Гучність дзвінка"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"Гучність дзвінків і сповіщень"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"Гучність сповіщень"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"Сигнал дзвінка"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"Стандартний звук сповіщень"</string>
@@ -3308,6 +3366,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"Сигнал сповіщень за умовчанням"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"Стандартний сигнал будильника"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"Вібрація під час викликів"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"Без вібрації"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"Постійна вібрація"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"Вібрація, потім дзвінок, що стає гучніше"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"Інші звуки"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"Звуки цифрової клавіатури"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"Звуки блокування екрана"</string>
@@ -3333,6 +3394,7 @@
       <item quantity="other">Увімкнено: <xliff:g id="ON_COUNT">%d</xliff:g></item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Не турбувати"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Отримуйте сповіщення лише від важливих людей і додатків"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Обмеження сповіщень"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Увімкнути режим \"Не турбувати\""</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"Винятки"</string>
@@ -3359,7 +3421,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>. <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Блокувати візуальні сповіщення"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Дозволити візуальні сигнали"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"Коли ввімкнено режим \"Не турбувати\""</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"Дозволити сповіщення зі звуком"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"Обмежити сповіщення"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Вимкнути звук сповіщень"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"Ви бачитимете сповіщення на екрані"</string>
@@ -3390,7 +3452,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"Звук і вібросигнал"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"Звукові, вібраційні й деякі візуальні сигнали сповіщень"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"Звукові, вібраційні й візуальні сигнали сповіщень"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"Сповіщення, необхідні для основних функцій телефона, та повідомлення про його стан ніколи не приховуються"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"Сповіщення про основні операції телефона й повідомлення про його статус ніколи не приховуються."</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"Немає"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"інші опції"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"Додати"</string>
@@ -3424,10 +3486,12 @@
       <item quantity="many"><xliff:g id="ON_COUNT">%d</xliff:g> розкладів можуть вмикатись автоматично</item>
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> розкладу можуть вмикатись автоматично</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"Вимкнути звук на пристрої, крім винятків"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"Винятки"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"Графік"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"Показати всі винятки"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"Винятки під час роботи режиму \"Не турбувати\""</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"Люди"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"Додатки"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"Будильники й інші сповіщення"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"Графіки"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"Сповіщення, для яких вимкнено звук"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"У режимі \"Не турбувати\" звук і вібрація вимикатиметься для всіх сигналів, окрім дозволених вище."</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"Вимкнути звук для всього, винятки:"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"Без звуку"</string>
@@ -3471,16 +3535,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"Адаптивні сповіщення"</string>
     <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_capabilities_actions_replies_title" msgid="4392470465646394289">"Пропоновані дії та відповіді"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"Автоматично показувати пропоновані дії та відповіді"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"Увімкніть історію сповіщень, щоб відстежувати минулі та відкладені сповіщення"</string>
+    <string name="notification_history" msgid="8663811361243456201">"Історія сповіщень"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"Увімкнути історію"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"Вимкнути історію"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"Історію сповіщень вимкнено"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"переглянути налаштування сповіщень"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Дозволити відкладання сповіщень"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"Сховати значки тихих сповіщень"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"Значки тихих сповіщень не показуються в рядку стану"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"Дозволити значки сповіщень"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"Показати панель нещодавніх повідомлень"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Спливаючі підказки"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"Деякі сповіщення можуть з’являтись як спливаючі підказки на екрані"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"Деякі сповіщення та інший вміст можуть з’являтися у вигляді спливаючих підказок на екрані. Щоб відкрити спливаючу підказку, натисніть її, а щоб сховати – перетягніть вниз екрана."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Спливаючі підказки"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"Нові повідомлення з\'являтимуться на екрані"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"Дозволити додатку <xliff:g id="APP_NAME">%1$s</xliff:g> показувати деякі сповіщення у вигляді спливаючих підказок"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"Увімкнути спливаючі підказки"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"Щоб увімкнути спливаючі підказки від цього додатка, спершу увімкніть їх для пристрою. Це вплине на інші додатки, у яких уже ввімкнено спливаючі підказки."</string>
@@ -3498,6 +3572,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"Показувати на розкривній панелі й на заблокованому екрані"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"Показувати на розкривній панелі й у рядку стану"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"Показувати на розкривній панелі, у рядку стану й на заблокованому екрані"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"Сховати беззвучні сповіщення в рядку стану"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"Блимання"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"Заблокований екран"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"Пропускати заблокований екран"</string>
@@ -3528,6 +3603,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"Поведінка"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"Дозволити звуковий сигнал"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"Ніколи не показувати сповіщення"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"Чати"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"Чат"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"Не чат"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"Вилучити з розділу чатів"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"Це чат"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"Додати в розділ чатів"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"Керувати чатами"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"Важливі чати"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"Усі чати"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"Надсилати спливаючі сповіщення про важливі чати"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"Важливі чати з\'являються у верхній частині розкривної панелі. Ви можете налаштувати надсилання важливих сповіщень про них, навіть коли режим \"Не турбувати\" ввімкнено."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"Показувати без звуку та в згорнутому вигляді"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"Показувати без звукового сигналу"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"Зі звуком"</string>
@@ -3546,7 +3632,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"Не відволікає увагу звуковим сигналом або вібрацією"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"Привертає увагу звуковим сигналом або вібрацією"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"Коли пристрій розблоковано, показувати сповіщення як банер угорі екрана"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"Показувати сповіщення"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"Усі сповіщення від додатка <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"Адаптивні сповіщення"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="one">~<xliff:g id="NUMBER_1">%d</xliff:g> сповіщення на день</item>
@@ -3573,6 +3659,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"Адаптивні сповіщення"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"Немає"</string>
     <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="3119843404577399036">"<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>
@@ -3640,8 +3727,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"Готово"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"Пріоритет"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"Блимання"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"Вібросигнал"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"Вібрація"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"Звук"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"Важливо"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"Додати на головний екран"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"Видалити"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"Перейменувати"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"Назва розкладу"</string>
@@ -3697,6 +3786,10 @@
       <item quantity="many">Ще <xliff:g id="NUM_PEOPLE">%d</xliff:g></item>
       <item quantity="other">Ще <xliff:g id="NUM_PEOPLE">%d</xliff:g></item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Чати"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"З усіх чатів"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"З важливих чатів"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"Заборонити чати"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"Дозволити повідомлення"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"Те, чи надходитимуть дозволені повідомлення зі звуком, залежить від вибраного на телефоні режиму (дзвінок, вібрація чи без звуку)."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>: вхідні повідомлення блокуються. Ви можете змінити налаштування, щоб друзі, члени сім’ї й інші контакти зв’язувалися з вами."</string>
@@ -3710,15 +3803,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"Немає"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"Заборонити дзвінки"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"Заборонити повідомлення"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"Дозволити будильники"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"Будильник"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"З таймерів, будильників, систем безпеки й інших додатків"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"сигнали будильників"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"Відтворювати звуки медіа"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"Звуки з відео"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"З відео, ігор та інших медіафайлів"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"медіа-вміст"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"Дозволити звуки під час дотику"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"Звуки під час дотику"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"З клавіатури й інших кнопок"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"звуки під час дотику"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"Дозволити нагадування"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"Нагадування"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"Із завдань і нагадувань"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"нагадування"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"Дозволити події"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"Події"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"З майбутніх подій календаря"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Дозволити додаткам замінювати режим \"Не турбувати\""</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"Винятки для додатків"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3767,6 +3865,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"Дозволити сповіщенням, для яких вибрано режим \"Не турбувати\", вмикати екран"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"Налаштування сповіщень"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"ОK"</string>
+    <string name="suggestion_button_close" msgid="6865170855573283759">"Закрити"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Надіслати відгук про цей пристрій"</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"Введіть PIN-код адміністратора"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"Увімкнено"</string>
@@ -3777,6 +3876,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"PIN-код для відкріплення"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Запитувати пароль перед відкріпленням"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Блокувати пристрій після відкріплення"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Підтвердьте видалення SIM-карти"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"Перш ніж видалити завантажену SIM-карту, підтвердьте свою особу"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"Цим робочим профілем керує додаток"</string>
     <string name="managing_admin" msgid="2633920317425356619">"Керує додаток <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(Експериментальна функція)"</string>
@@ -3859,8 +3960,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"Усі додатки"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Установлені додатки"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Додатки з миттєвим запуском"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"Особисті"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"Робочі"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"Додатки: усі"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"Вимкнені"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"Категорії: терміново"</string>
@@ -3872,6 +3971,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"Невідомий додаток"</string>
     <string name="app_permissions" msgid="8666537659217653626">"Диспетчер дозволів"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"Додатки з доступом (<xliff:g id="APPS">%1$s</xliff:g>)"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"Додатки з доступом (<xliff:g id="APPS">%1$s</xliff:g> тощо)"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"Торкніться, щоб активувати"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"Двічі торкніться екрана, щоб активувати пристрій"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"Відкривання посилань"</string>
@@ -3885,9 +3985,16 @@
       <item quantity="many"><xliff:g id="COUNT">%d</xliff:g> додатків, у яких можна відкривати посилання</item>
       <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> додатка, у яких можна відкривати посилання</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"Відкрити в цьому додатку"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"Дозволити додатку відкривати підтримувані посилання"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"Запитувати щоразу"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"Не відкривати в цьому додатку"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"Заборонити додатку відкривати посилання"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="one">Додаток хоче відкрити <xliff:g id="COUNT_1">%d</xliff:g> посилання</item>
+      <item quantity="few">Додаток хоче відкрити <xliff:g id="COUNT_1">%d</xliff:g> посилання</item>
+      <item quantity="many">Додаток хоче відкрити <xliff:g id="COUNT_1">%d</xliff:g> посилань</item>
+      <item quantity="other">Додаток хоче відкрити <xliff:g id="COUNT_1">%d</xliff:g> посилання</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"Додаток хоче відкрити наведені нижче посилання."</string>
     <string name="default_apps_title" msgid="6943471331817718664">"За умовчанням"</string>
     <string name="default_for_work" msgid="537558180548617528">"За умовчанням для роботи"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"Помічник і голосовий ввід"</string>
@@ -4037,8 +4144,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"Показувати поверх інших додатків"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Показувати поверх інших додатків"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"Дозволити цьому додатку відображатися поверх інших відкритих додатків. Він може заважати користуватись іншими додатками або змінювати їх вигляд чи поведінку."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"Доступ до всіх файлів"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"Надати доступ до керування всіма файлами"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Дозволити цьому додатку переглядати, змінювати та видаляти всі файли на цьому пристрої або інших підключених носіях пам\'яті. Після надання дозволу додаток може отримувати доступ до файлів без вашого відома."</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"Мають доступ до всіх файлів"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"vr віртуальна реальність стерео допоміжний сервіс"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"показувати діалогове вікно сповіщень системи поверх інших додатків"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"Показувати поверх додатків"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"Додатки, які можуть відображатися поверх інших додатків: <xliff:g id="COUNT_0">%1$d</xliff:g> з <xliff:g id="COUNT_1">%2$d</xliff:g>"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"Додатки з дозволом"</string>
@@ -4214,6 +4324,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"Використано: <xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g>"</string>
     <string name="data_overusage" msgid="3680477320458707259">"<xliff:g id="ID_1">^1</xliff:g> понад ліміт"</string>
     <string name="data_remaining" msgid="6316251496381922837">"Залишилося <xliff:g id="ID_1">^1</xliff:g>"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"Графік показує використання трафіку за період <xliff:g id="START_DATE">%1$s</xliff:g> – <xliff:g id="END_DATE">%2$s</xliff:g>."</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"Немає даних у цьому діапазоні дат"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="one">Залишився %d день</item>
       <item quantity="few">Залишилося %d дні</item>
@@ -4279,14 +4391,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"розмір пакета"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"індикація сповіщення"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"звук"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"вібросигнал"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"шаблон"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"за умовчанням"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"канал"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"немає"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"Об’єкта немає в рейтингу."</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"Об’єкт у рейтингу не містить цього ключа."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"Теми"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"Налаштування пристрою за умовчанням"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"Відрізання екрана"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"відключення дисплея, переривання"</string>
@@ -4383,8 +4491,12 @@
     <string name="information_label" msgid="6939310810756569298">"Інформація"</string>
     <string name="low_label" msgid="6525629096999711220">"Низька"</string>
     <string name="high_label" msgid="357503396626018487">"Висока"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"Через високу чутливість можуть не працювати жести з боків екрана в додатку."</string>
+    <string name="left_edge" msgid="1513576842959071849">"Лівий край"</string>
+    <string name="right_edge" msgid="1505309103265829121">"Правий край"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"Через високу чутливість можуть не працювати жести з боків екрана в додатку."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"Чутливість країв екрана"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"Налаштування жестів"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"навігація за допомогою жестів, чутливість країв екрана, жест \"назад\""</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"Двічі торкнутися, щоб перевірити сповіщення"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"Двічі торкніться, щоб перевірити планшет"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"Двічі торкніться, щоб перевірити пристрій"</string>
@@ -4553,7 +4665,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"Активатор ініціалізації оператора"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"Оновити режим \"Не турбувати\""</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"Призупинити сповіщення, щоб не відволікатися"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"Ця функція недоступна на цьому пристрої"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"Функція недоступна"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"Цю функцію вимкнено, оскільки вона сповільнює роботу телефона"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"Увімкнути повне вимірювання GNSS"</string>
@@ -4563,20 +4674,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"Виберіть додаток із підтримкою ANGLE"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"Немає встановлених додатків із підтримкою ANGLE"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"Додаток із підтримкою ANGLE: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"Параметри драйвера для ігор"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"Змінити налаштування ігрового драйвера"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"Коли ігровий драйвер увімкнено, ви можете використовувати оновлений графічний драйвер для встановлених на пристрої додатків."</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"Увімкнути для всіх додатків"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"Виберіть графічний драйвер"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"За умовчанням"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"Ігровий драйвер"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"Попередня версія драйвера"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"Системний графічний драйвер"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"Налаштування графічного драйвера"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"Змінити налаштування графічного драйвера"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"Коли доступно кілька графічних драйверів, ви можете вибрати оновлений графічний драйвер для встановлених на пристрої додатків."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"Увімкнути для всіх додатків"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"Вибрати графічний драйвер"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"За умовчанням"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"Ігровий драйвер"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"Драйвер для розробників"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Системний графічний драйвер"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Зміни сумісності додатка"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Увімкнути або вимкнути зміни сумісності додатка"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Зміни, увімкнені за умовчанням"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Зміни, вимкнені за умовчанням"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"Налаштування не підтримується на цьому телефоні"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"Налаштування не підтримується на цьому планшеті"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"Налаштування не підтримується на цьому пристрої"</string>
@@ -4595,6 +4712,12 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"Пристрій"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Недоступно під час викликів"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"Недоступно"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"Додати виходи"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"Група"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"Вибрано 1 пристрій"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"Вибрано пристроїв: <xliff:g id="COUNT">%1$d</xliff:g>"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"Прийняти виклик на"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"APN не можна змінювати."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Збільште час роботи акумулятора планшета"</string>
@@ -4714,10 +4837,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Активною може бути лише одна завантажена SIM-карта.\n\nЯкщо ви перейдете до оператора <xliff:g id="CARRIER1">%1$s</xliff:g>, сервіс <xliff:g id="CARRIER2">%2$s</xliff:g> не буде скасовано."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Перейти до оператора <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Видалити SIM-карту"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Видалити цю завантажену SIM-карту?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Якщо ви видалите цю SIM-карту, сервіс <xliff:g id="CARRIER_0">%1$s</xliff:g> буде вилучено з пристрою.\n\nСервіс <xliff:g id="CARRIER_1">%2$s</xliff:g> не буде скасовано."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Видалити"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Видалення SIM-карти…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Не вдалося видалити SIM-карту"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Під час видалення SIM-карти сталася помилка.\n\nПерезапустіть пристрій і повторіть спробу."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Рекомендований тип мережі"</string>
@@ -4742,7 +4861,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Недійсний режим мережі: <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Ігнорувати."</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Імена точок доступу"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Недоступно, коли підключено до оператора <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"Медична інформація, контактні дані екстрених служб"</string>
     <string name="see_more" msgid="7499355691042812723">"Докладніше"</string>
     <string name="see_less" msgid="2642392725363552793">"Показати менше"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"Пристрій для використання з додатком <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
@@ -4751,13 +4869,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"Щось трапилося. Додаток скасував запит на вибір пристрою."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"Підключено"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"Показати всі"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="one">Підключено <xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> пристрій</item>
-      <item quantity="few">Підключено <xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> пристрої</item>
-      <item quantity="many">Підключено <xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> пристроїв</item>
-      <item quantity="other">Підключено <xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> пристрою</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"Немає пристроїв Bluetooth"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"Пошук пристрою…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"Підключення до пристрою…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"Лівий"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"Правий"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Середній"</string>
@@ -4767,6 +4880,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"Недоступно, коли ввімкнено режим польоту"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"Примусово застосувати режим робочого столу"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Примусово застосувати експериментальний режим робочого столу на додаткових екранах"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"Увімкнути переміщення додатків фіксованого розміру"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"Дозволити довільно переміщати додатки фіксованого розміру"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Замінити примусовий темний режим"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"Не дозволяє постійний примусовий темний режим"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"Конфіденційність"</string>
@@ -4809,6 +4924,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Ви нещодавно встановили цей додаток."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Виберіть вихід"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Зараз відтворюється на пристрої <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (від\'єднано)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Не вдалося переключитись. Торкніться, щоб повторити спробу."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Важлива інформація"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"ПРОДОВЖИТИ"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"НІ, ДЯКУЮ"</string>
@@ -4836,8 +4953,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"Комбінація SIM-карт"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Інформація про правила роботи"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Налаштування, якими керує адміністратор вашої організації"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"ГП"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"Обробник звіту про помилку"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Визначає, яка програма обробляє ярлик звіту про помилку на пристрої."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Особисті додатки"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"Робота"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"За умовчанням"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"Ця опція вже не дійсна. Повторіть спробу."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"Припинити трансляцію"</string>
 </resources>
diff --git a/res/values-ur/arrays.xml b/res/values-ur/arrays.xml
index 8b13cf9..943d8e1 100644
--- a/res/values-ur/arrays.xml
+++ b/res/values-ur/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"فوری طور پر"</item>
     <item msgid="463591454172790676">"5 سیکنڈ"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"توثیق نہ کریں"</item>
+    <item msgid="5703177653586269306">"سرٹیفکیٹ کی صورتحال درخواست کریں"</item>
+    <item msgid="326388247868439528">"سرٹیفکیٹ کی صورتحال درکار ہے"</item>
+    <item msgid="1090956283885790552">"تمام غیر بھروسہ مند سرٹیفکیٹ کی صورتحال درکار ہے"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"پش بٹن"</item>
     <item msgid="2630618799033509548">"‏ہمسر آلہ سے PIN"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"کوئی نہیں"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"‏پہلے سے اشتراک کردہ کلیدوں اور Xauth توثیق کے ساتھ IPSec VPN"</item>
     <item msgid="2484564813864139237">"‏سرٹیفیکیٹس اور Xauth توثیق کے ساتھ IPSec VPN"</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>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"کوئی نہیں"</item>
diff --git a/res/values-ur/config.xml b/res/values-ur/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-ur/config.xml
+++ b/res/values-ur/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-ur/strings.xml b/res/values-ur/strings.xml
index 0360701..3efcce4 100644
--- a/res/values-ur/strings.xml
+++ b/res/values-ur/strings.xml
@@ -31,49 +31,17 @@
     <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="radio_info_data_connection_enable" msgid="7500945447906187613">"ڈیٹا کنکشن فعال کریں"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"ڈیٹا کنکشن غیر فعال کریں"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"‏VoLTE سے لیس"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"ویڈیو کالنگ فراہم کردہ"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"‏WiFi کالنگ فراہم کردہ"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"‏EAB/موجودگی فراہم کر دی گئی"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"‏CBRS ڈیٹا"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"‏DSDS فعال کریں"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"آلہ ریسٹارٹ کریں؟"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"یہ ترتیب تبدیل کرنے کیلئے آپ کو اپنا آلہ ریسٹارٹ کرنا ہوگا۔"</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"ری سٹارٹ"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"منسوخ کریں"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"موبائل ریڈیو پاور"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"‏SIM ایڈریس بک دیکھیں"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"فکسڈ ڈائلنگ نمبرز دیکھیں"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"سروس ڈائلنگ نمبرز دیکھیں"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"‏IMS سروس اسٹیٹس"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"‏IMS اسٹیٹس"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"رجسٹر شدہ"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"رجسٹر نہیں ہے"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"دستیاب"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"غیر دستیاب"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"‏IMS رجسٹریشن: <xliff:g id="STATUS">%1$s</xliff:g>\nوائس اوور LTE‏: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\n‎وائس اوور WiFi‏: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\n‎ویڈیو کالنگ: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT انٹرفیس: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"سروس میں"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"سروس میں نہیں ہے"</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>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"معطل"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"کال کی جا رہی ہے"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"کال کی جا رہی ہے"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"منقطع"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"رابطہ کیا جا رہا ہے"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"مربوط"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"معطل شدہ"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"نامعلوم"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"پیکٹس"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"بائٹس"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"‏USB اسٹوریج کو ان ماؤنٹ کریں"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"‏SD کارڈ ان ماؤنٹ کریں"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"‏USB اسٹوریج کو حذف کریں"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"اسکرین پر موجود متن کو چھوٹا یا بڑا کریں۔"</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"چھوٹا کریں"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"بڑا کریں"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis.‎"</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"نمونہ متن"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"اوز کا شاندار جادوگر"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"گیارھواں باب: اوز کا شاندار زمردی شہر"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"یہ ترتیب تبدیل کرنے کیلئے آپ کو اپنا آلہ ریسٹارٹ کرنا ہوگا۔"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"ری سٹارٹ"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"منسوخ کریں"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"دستیاب میڈیا آلات"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"دستیاب کال آلات"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"فی الحال منسلک ہے"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"میڈیا آلات"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"کال آلات"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"دیگر آلات"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"محفوظ کردہ آلات"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"جوڑا بنانے کے لیے بلوٹوتھ آن ہو جائے گا"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"کنکشن کی ترجیحات"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"آپ کے ذریعے ٹائپ کردہ پورٹ درست نہیں ہے۔"</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"‏HTTP پراکسی کا استعمال براؤزر کے ذریعے ہوتا ہے لیکن ممکن ہے دوسری ایپس اسے استعمال نہ کریں۔"</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"PAC URL:‎ "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"‏موجودہ subId:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"‏ڈیفالٹ ڈیٹا SIM کی SubId:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"‏DL بینڈ وڈتھ (kbps):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"‏UL بینڈ وڈتھ (kbps):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"سیل کے مقام کی معلومات (فرسودہ):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"‏LTE فزيکل چینل کنفیگریشن:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"سیل کی معلومات ریفریش کرنے کی شرح:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"سیل پیمائش کی تمام معلومات:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"ڈیٹا سروس:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"رومنگ:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"کال ری ڈائریکٹ:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"‏بوٹ کے بعد سے PPP ری سیٹ کی تعداد:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"موجودہ نیٹ ورک:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"ڈیٹا موصول ہوا:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"صوتی سروس:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"سگنل کی قوت:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"صوتی کال کا اسٹیٹس:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"ڈیٹا بھیج دیا گیا:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"پیغام منتظر ہے:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"فون نمبر:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"ریڈیو بینڈ منتخب کریں"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"صوتی نیٹ ورک کی قسم:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"ڈیٹا نیٹ ورک کی قسم:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"فون انڈیکس منتخب کریں"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"ترجیحی نیٹ ورک کی قسم سیٹ کریں:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"‏میزبان کا نام پنگ کریں‏‎(www.google.com)‎ ‏IPv4:"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"‏میزبان کا نام پنگ کریں(www.google.com) ‏IPv6:"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"‏HTTP کلائنٹ ٹیسٹ:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"پنگ ٹیسٹ چلائیں"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"تازہ معلومات"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"ریفریش کریں"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"‏DNS چیک ٹوگل کریں"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"‏OEM-کیلئے مخصوص معلومات/ترتیبات"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"ریڈیو بینڈ موڈ سیٹ کریں"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"بینڈ کی فہرست لوڈ ہو رہی ہے…"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"سیٹ کریں"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"ناکام"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"کامیاب"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"‏تبدیلیاں USB کیبل کو دوبارہ مربوط کئے جانے پر لاگو ہوتی ہیں۔"</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"‏USB عظیم ذخیرہ فعال کریں"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"کل بائٹس:"</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"نیچے منتقل کریں"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"زبان ہٹائیں"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"سرگرمی منتخب کریں"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"آلہ کی معلومات"</string>
     <string name="display_label" msgid="3056320781191343221">"اسکرین"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"ٹیبلٹ کی معلومات"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"فون کی معلومات"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"‏USB اسٹوریج"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"‏SD کارڈ"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"پراکسی ترتیبات"</string>
@@ -306,9 +234,6 @@
     <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، بلوٹوتھ، ہوائی جہاز وضع، موبائل نیٹ ورکس اور VPNs کا نظم کریں"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"موبائل ڈیٹا"</string>
-    <string name="calls_title" msgid="6334813967619899114">"کالز کی اجازت دیں"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"‏SMS پیغامات"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"موبائل نیٹ ورک پر ڈیٹا استعمال کرنے دیں"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"رومنگ میں ڈیٹا استعمال کرنے کی اجازت دیں"</string>
     <string name="roaming" msgid="3055365654530847985">"رومنگ"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"رومنگ کے وقت ڈیٹا سروسز سے مربوط ہوں"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"آپ ڈیٹا کنیکٹوٹی سے اس لیے محروم ہو گئے ہیں کیونکہ آپ نے اپنے ہوم نیٹ ورک کو ڈیٹا رومنگ آف ہونے کے ساتھ چھوڑ دیا ہے۔"</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"اسے آن کریں"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"آپ پر خاطر خواہ چارجز لگ سکتے ہیں۔"</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"اگر آپ ڈیٹا رومنگ کی اجازت دیتے ہیں تو آپ پر کافی زیادہ رومنگ چارجز لگ سکتے ہیں!\n\nیہ ترتیب اس ٹیبلٹ پر موجود سبھی صارفین پر اثرانداز ہوتی ہے۔"</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"اگر آپ ڈیٹا رومنگ کی اجازت دیتے ہیں تو آپ پر کافی زیادہ رومنگ چارجز لگ سکتے ہیں!\n\nیہ ترتیب اس فون پر موجود سبھی صارفین پر اثرانداز ہوتی ہے۔"</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"رومنگ چارجز لاگو ہو سکتے ہیں۔"</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"اگر آپ ڈیٹا رومنگ کی اجازت دیتے ہیں تو آپ پر کافی زیادہ رومنگ لاگو ہو سکتے ہیں۔\n\nیہ ترتیب اس ٹیبلیٹ پر موجود سبھی صارفین پر اثرانداز ہوتی ہے۔"</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"اگر آپ ڈیٹا رومنگ کی اجازت دیتے ہیں تو رومنگ چارجز لاگو ہو سکتے ہیں۔\n\nیہ ترتیب اس فون پر موجود سبھی صارفین پر اثرانداز ہوتی ہے۔"</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"ڈیٹا رومنگ کی اجازت دیں؟"</string>
     <string name="networks" msgid="5184501333492775095">"آپریٹر کا انتخاب"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"ایک نیٹ ورک آپریٹر منتخب کریں"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"منتظم کی طرف سے غیر فعال کردہ"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"مقفل کرنے کا اختیار دکھائیں"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"‏مقفل اسکرین پر Smart Lock، بایو میٹرک غیر مقفل کرنے کی سہولت اور اطلاعات کو آف کرنے والے پاور بٹن کا اختیار ڈسپلے کریں"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"صرف ٹرسٹ ایجنٹس کے لیے غیر مقفل کی توسیع"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"فعال ہونے پر، ٹرسٹ ایجنٹس آپ کے آلہ کو لمبے وقت تک غیر مقفل رکھیں گے، لیکن مقفل شدہ آلہ کو اب غیر مقفل نہیں کر پائیں گے۔"</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"اعتماد کھو دینے پر مقفل اسکرین"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"اگر فعال ہے تو، جب ٹرسٹ ایجنٹ کے اعتماد کھو دینے پر آلہ مقفل ہو جائے گا"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"کوئی نہیں"</string>
@@ -390,7 +313,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"‏میرا مقام، اسکرین اَن لاک، SIM کارڈ لاک، اسناد کے اسٹوریج کا لاک سیٹ کریں"</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"میرا مقام، اسکرین ان لاک، اسناد کے اسٹوریج کا لاک سیٹ کریں"</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"رازداری"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"منتظم کی طرف سے غیر فعال کردہ"</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>
@@ -693,7 +616,6 @@
       <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g>ہندسوں سے کم ہونے چاہئیں</item>
       <item quantity="one"><xliff:g id="NUMBER_0">%d</xliff:g> ہندسے سے کم ہونا چاہیے</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"‏صرف ‎0-9 ہندسے شامل ہونے چاہئیں"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"‏آلہ کا منتظم ایک حالیہ PIN استعمال کرنے کی اجازت نہیں دیتا ہے"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"‏آپ کے IT منتظم نے عمومی PINs کو مسدود کر دیا ہے۔ کوئی دوسرا PIN آزمائیں۔"</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"اس میں غلط کریکٹر شامل نہیں ہو سکتا"</string>
@@ -724,6 +646,10 @@
       <item quantity="other">کم از کم <xliff:g id="COUNT">%d</xliff:g> غیر حرفی علامتوں پر مشتمل ہونا چاہیے</item>
       <item quantity="one">کم از کم ایک ایسے کریکٹر پر مشتمل ہونا چاہیئے جو حرف نہ ہو</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="other">کم از کم <xliff:g id="COUNT">%d</xliff:g> غیر عددی حروف پر مشتمل ہونا چاہیے</item>
+      <item quantity="one">کم از کم 1 غیر عددی حرف ہونا چاہیے</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"آلے کا منتظم ایک حالیہ پاس ورڈ کا استعمال کرنے کی اجازت نہیں دیتا ہے"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"‏آپ کے IT منتظم نے عمومی پاس ورڈز کو مسدود کر دیا ہے۔ کوئی دوسرا پاس ورڈ آزمائیں۔"</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"ہندسوں کی صعودی، نزولی یا مکرر ترتیب کی اجازت نہیں ہے"</string>
@@ -837,19 +763,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2.4‎ GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5‎ GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"سائن ان کریں"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"سائٹ کھولیں"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"<xliff:g id="REMAINING_TIME">%1$s</xliff:g> باقی"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"<xliff:g id="EXPIRY_TIME">%1$s</xliff:g> کو میعاد ختم ہوگی"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"نیٹ ورک میں سائن ان کرنے کے لیے یہاں تھپتھپائیں"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"‏<xliff:g id="REQUESTER">%s</xliff:g> Wi-Fi کو آن کرنا چاہتی ہے"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"‏<xliff:g id="REQUESTER">%s</xliff:g> Wi-Fi کو آف کرنا چاہتی ہے"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"قابل ڈیبگ اپپس کے بائٹ کوڈ کی توثیق کریں"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"‏قابل ڈیبگ اپپس کے بائٹ کوڈ کی توثیق کے لیے ART کو اجازت دیں"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"ریفریش کی شرح دکھائیں"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"موجودہ ڈسپلے کی ریفریش کی شرح دکھائیں"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"ٹیبلٹ دوسرے آلہ سے ٹچ ہونے پر ڈیٹا کے تبادلے کی اجازت دیں"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"فون کو دوسرے آلہ سے ٹچ ہونے پر ڈیٹا کے تبادلے کی اجازت دیں"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"‏ٹیبلیٹ NFC آلہ سے ٹچ ہونے پر ڈیٹا کے تبادلے کی اجازت دیں"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"‏فون NFC آلہ سے ٹچ ہونے پر ڈیٹا کے تبادلے کی اجازت دیں"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"‏NFC آن کریں"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"‏NFC اس آلہ اور دیگر قریبی آلات یا اہداف جیسے ادائیگی ٹرمینل، رسائی ریڈرز، اور انٹرایکٹو اشتہارات یا ٹیگز کے درمیان ڈیٹا سوئچ کرتا ہے۔"</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"‏محفوظ NFC"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"‏NFC کے لیے آلہ کو غیر مقفل کرنے کی ضرورت ہے"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"‏NFC ادائیگی اور Transit کو صرف اسکرین کے غیر مقفل ہونے کے وقت ہی استعمال کی اجازت دیں"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"‏NFC کے ذریعے ایپ کا مواد ٹرانسمٹ کرنے کیلئے تیار"</string>
@@ -923,8 +855,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"آن کریں"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"‏Wi‑Fi اسکیننگ آن ہے"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"جدید ترین اختیارات"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"ڈراپ ڈاؤن فہرست کے اعلی ترین اختیارات۔ سکیڑنے کیلئے دو بار تھپتھپائیں۔"</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"ڈراپ ڈاؤن فہرست کے اعلی ترین اختیارات۔ پھیلانے کیلئے دو بار تھپتھپائیں۔"</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"ڈراپ ڈاؤن فہرست کے اعلی درجے کے اختیارات"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"پھیلائیں"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"نیٹ ورک کا نام"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"‏SSID درج کریں"</string>
     <string name="wifi_security" msgid="9095934643631406913">"سیکیورٹی"</string>
@@ -934,6 +866,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"اسٹیٹس"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"ترسیل کے لنک کی رفتار"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"لنک کی رفتار وصول کریں"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"لنک کی رفتار"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"تعدد"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"‏IP پتہ"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"محفوظ کردہ بذریعہ"</string>
@@ -941,6 +874,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"‏EAP طریقہ"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"مرحلہ 2 توثیق"</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>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"صارف کا سرٹیفیکیٹ"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"شناخت"</string>
@@ -957,6 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"‏Wi‑Fi ہاٹ اسپاٹ کیلئے کم از کم ایک بینڈ منتخب کریں:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"‏IP ترتیبات"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"رازداری"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"سبسکرپشن"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"سبسکرپشن دیکھیں یا تبدیل کریں"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"‏بے ترتیب MAC"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"کوئی آلہ منسلک کریں"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"‏آلہ کو \"<xliff:g id="SSID">%1$s</xliff:g>\" سے منسلک کرنے کے لیے مندرجہ ذیل QR کوڈ کو مرکز میں رکھیں"</string>
@@ -966,12 +902,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"‏Wi-Fi کا اشتراک کریں"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"‏”<xliff:g id="SSID">%1$s</xliff:g>“ سے منسلک ہونے کے لیے اس QR کوڈ کو اسکین کریں اور پاس ورڈ کا اشتراک کریں"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"‏”<xliff:g id="SSID">%1$s</xliff:g>“ سے منسلک ہونے کے لیے یہ QR کوڈ اسکین کریں"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"‏QR کوڈ کو نہیں پڑھا جا سکا۔ کوڈ کو پھر سے سینٹر میں کریں اور دوبارہ کوشش کریں"</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"دوبارہ کوشش کریں۔ اگر مسئلہ جاری رہتا ہے تو آلہ کے صنعت کار سے رابطہ کریں"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"کچھ غلط ہو گیا"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"یقینی بنائیں کے آلہ کو پلگ ان، چارج اور آن کر دیا گیا ہے"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"یقینی بنائیں کے آلہ کو پلگ ان، چارج اور آن کر دیا گیا ہے۔ اگر مسئلہ جاری رہتا ہے تو آلہ کے صنعت کار سے رابطہ کریں"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"<xliff:g id="SSID">%1$s</xliff:g> کو شامل کرنا اس آلہ میں سپورٹ شدہ نہیں ہے"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"‏آلہ کو اپنے Wi-Fi رسائی پوائنٹ/روٹر کے قریب منتقل کرنے کی کوشش کریں"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"پاس ورڈ چیک کریں اور دبارہ کوشش کریں"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"آلہ کے مینوفیکچرر سے رابطہ کریں"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"کنکشن چیک کریں اور دوبارہ کوشش کریں"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"نیٹ ورک منتخب کریں"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"اپنے آلہ کو منسلک کرنے کے لیے نیٹ ورک منتخب کریں"</string>
@@ -984,11 +922,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"‏اس آلہ کے ساتھ Wi‑Fi کا اشتراک کیا جا رہا ہے…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"منسلک ہو رہا ہے…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"ہاٹ اسپاٹ کا اشتراک کریں"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"توثیق کریں کہ یہ آپ ہیں"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"یہ آپ ہی ہیں اس بات کی تصدیق کریں"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"‏Wi-Fi کا پاس ورڈ: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"ہاٹ اسپاٹ کا پاس ورڈ: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"خود کار طور پر منسلک کریں"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"فون کو خود کار طور پر اس نیٹ ورک کے قریب منسلک ہونے کی اجازت دیں"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"ٹیبلیٹ کو خود کار طور پر اس نیٹ ورک کے قریب منسلک ہونے کی اجازت دیں"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"آلہ شامل کریں"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"‏اس نیٹ ورک میں کوئی آلہ شامل کرنے کے لیے QR کوڈ استعمال کریں"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"‏QR کوڈ درست فارمیٹ نہیں ہے"</string>
     <string name="retry" msgid="7542103800274026915">"پھر کوشش کریں"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"دوسرے آلہ صارفین کے ساتھ اشتراک کریں"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(غیر تبدیل شدہ)"</string>
@@ -1000,6 +942,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"کوئی سرٹیفیکیٹ متعین نہیں کیا گیا۔ آپ کا کنکشن نجی نہیں ہو گا۔"</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"نیٹ ورک کا نام کافی بڑا ہے۔"</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"کوئی ڈومین مختص کرنا لازمی ہے۔"</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"سرٹیفکیٹ درکار ہے۔"</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"‏WPS دستیاب ہے"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" ‏ (WPS دستیاب ہے)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"‏کیریئر Wi‑Fi نیٹ ورک"</string>
@@ -1051,7 +994,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"‏جدید Wi‑Fi"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"‏MAC پتہ"</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_ip_address_title" msgid="4265355419782184514">"‏IP پتہ"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"نیٹ ورک کی تفصیلات"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"سب نیٹ ماسک"</string>
@@ -1103,7 +1047,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"‏اپنے دیگر آلات کیلئے Wi‑Fi نیٹ ورک بنانے کی خاطر ہاٹ اسپاٹ کا استعمال کریں۔ ہاٹ اسپاٹ آپ کے موبائل ڈیٹا کنکشن کا استعمال کر کے انٹرنیٹ فراہم کرتا ہے۔ اضافی موبائل ڈیٹا کے چارجز عائد ہو سکتے ہیں۔"</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"قریبی آلات کے ساتھ مواد کا اشتراک کرنے کے لیے ایپس ایک ہاٹ اسپاٹ بنا سکتی ہیں۔"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"خودکار طور پر ہاٹ اسپاٹ آف کریں"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"‏کوئی آلہ منسلک نہ ہونے پر Wi‑Fi ہاٹ اسپاٹ آف ہو جائے گا"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"جب کوئی آلات منسلک نہ ہوں"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"ہاٹ اسپاٹ آن ہو رہا ہے…"</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"ہاٹ اسپاٹ آف ہو رہا ہے…"</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> فعال ہے"</string>
@@ -1112,6 +1056,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"‏Wi‑Fi ہاٹ اسپاٹ سیٹ اپ"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"‏AndroidAP WPA2 PSK ہاٹ اسپاٹ"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"AndroidHotspot"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"اس نیٹ ورک کو محفوظ کریں؟"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"<xliff:g id="APPNAME">%1$s</xliff:g> آپ کے فون پر ایک نیٹ ورک کو محفوظ کرنا چاہے گی"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"<xliff:g id="APPNAME">%1$s</xliff:g> آپ کے ٹیبلیٹ پر ایک نیٹ ورک کو محفوظ کرنا چاہتی ہے"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"محفوظ ہو رہا ہے…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"محفوظ کردہ"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"محفوظ نہیں ہو سکتا۔ دوبارہ کوشش کریں۔"</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"نیٹ ورکس محفوظ کریں؟"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"<xliff:g id="APPNAME">%1$s</xliff:g> آپ کے فون پر ان نیٹ ورکس کو محفوظ کرنا چاہے گی"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"<xliff:g id="APPNAME">%1$s</xliff:g> آپ کے ٹیبلیٹ پر ان نیٹ ورکس کو محفوظ کرنا چاہتی ہے"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"<xliff:g id="NUMBER">%d</xliff:g> نیٹ ورکس محفوظ کیے جا رہے ہیں…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"نیٹ ورکس محفوظ کیے گئے"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"‏Wi-Fi کالنگ"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"‏Wi‑Fi کے ساتھ کالز کی توسیع کریں"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"‏کوریج کی توسیع کرنے کیلئے Wi‑Fi کالنگ آن کریں"</string>
@@ -1138,16 +1093,18 @@
     <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>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"‏Wi-Fi کالنگ فعال کریں"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"‏Wi-Fi کالنگ آن کریں"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"‏Wi‑Fi کالنگ ‎%1$s کیلئے دستیاب نہیں ہے"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"<xliff:g id="SSID">%1$s</xliff:g> سے غیر منسلک ہو گيا"</string>
     <string name="carrier" msgid="1755020806290963951">"کیریئر"</string>
     <string name="display_settings_title" msgid="626835071804834218">"ڈسپلے"</string>
     <string name="sound_settings" msgid="5514582720435174014">"آواز"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"والیومز"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"موسیقی کے اثرات"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"رنگ والیوم"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"گھنٹی اور اطلاعات کا والیوم"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"خاموش ہونے پر وائبریٹ کریں"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"ڈیفالٹ اطلاع کی آواز"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"رنگ ٹون"</string>
@@ -1272,13 +1229,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"شیڈول"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"کوئی نہیں"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"شام سے صبح تک کے ليے آن ہوتی ہے"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"حسب ضرورت وقت پر آن ہوتی ہے"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"صورتحال"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"آف / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"کبھی بھی خودکار طور پر آن نہیں ہو گی"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"غروب آفتاب پر خودکار طور پر آن ہو جائے گی"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"<xliff:g id="ID_1">%1$s</xliff:g> پر خودکار طور پر آن ہو جائے گا"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"آن / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"کبھی بھی خودکار طور پر آف نہیں ہو گی"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"طلوع آفتاب پر خودکار طور پر آف ہو جائے گی"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"<xliff:g id="ID_1">%1$s</xliff:g> پر خودکار طور پر آف ہو جائے گا"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"‫<xliff:g id="ID_1">%1$s</xliff:g> تک آن کریں"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"‫<xliff:g id="ID_1">%1$s</xliff:g> تک بند کریں"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"گہری تھیم کچھ اسکرینز پر بیٹری کو زیادہ دیر تک فعال رکھنے میں مدد کے لیے سیاہ پس منظر استعمال کرتی ہے۔ گہری تھیم کے شیڈولز آپ کی اسکرین کے آف ہونے پر آن ہونے کا انتظار کرتے ہیں۔"</string>
     <string name="screen_timeout" msgid="7709947617767439410">"اسکرین ٹائم آؤٹ"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"اسکرین آف ہوجاتی ہے"</string>
@@ -1290,7 +1252,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"وال پیپر تبدیل کریں"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"اپنی اسکرین کو ذاتی نوعیت کا بنائیں"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"وال پیپر منتخب کریں"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"‏اپنے Pixel کو حسب ضرورت بنائیں"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"اپنے فون کو حسب ضرورت بنائیں"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"مختلف اسٹائل، وال پیپرز، اور مزید بہت کچھ آزمائیں"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"اسکرین سیور"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"ڈاک سے منسلک یا چارج ہونے کے دوران"</string>
@@ -1379,6 +1341,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"‏USB اسٹوریج کو ان ماؤنٹ کریں، دستیاب اسٹوریج دیکھیں"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"‏SD کارڈ ان ماؤنٹ کریں، دستیاب اسٹوریج دیکھیں"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"‏IMEI (sim سلاٹ ‎%1$d)‎"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"دیکھنے کے لیے، محفوظ کردہ نیٹ ورک کا انتخاب کریں۔"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"فون نمبر"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"‏MDN (sim سلاٹ ‎%1$d)‎"</string>
@@ -1405,6 +1368,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"رومنگ"</string>
     <string name="status_operator" msgid="4335640583552058491">"نیٹ ورک"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"‏Wi‑Fi MAC پتہ"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"‏آلہ کے Wi‑Fi کا MAC پتہ"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"بلوٹوتھ پتہ"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"سیریل نمبر"</string>
     <string name="status_up_time" msgid="1274778533719495438">"چلنے کا وقت"</string>
@@ -1617,6 +1581,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"‏ڈیفالٹ APN ترتیبات کو دوبارہ ترتیب دینے کا عمل مکمل ہو گیا۔"</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"ری سیٹ کے اختیارات"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"نیٹ ورک، ایپس، یا آلہ کو ری سیٹ کیا جا سکتا ہے"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"ایپس کو ری سیٹ کیا جا سکتا ہے"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"‏Wi-Fi، موبائل اور بلوٹوتھ ری سیٹ کریں"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"‏اس سے نیٹ ورک کی سبھی ترتیبات ری سیٹ ہو جائیں گی، بشمول:\n\n"<li>"Wi‑Fi"</li>\n<li>"موبائل ڈیٹا"</li>\n<li>"بلوٹوتھ"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"‏ڈاؤن لوڈ کردہ SIMs کو مٹائیں"</string>
@@ -1666,6 +1631,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"ہاٹ اسپاٹ آن ہے"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"ٹیدرنگ"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"ڈیٹا سیور آن ہوتے ہوئے ربط نہیں بنایا جا سکتا یا پورٹیبل ہاٹ اسپاٹس استعمال نہیں ہو سکتے"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"صرف ہاٹ اسپاٹ"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"‏صرف USB"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"صرف بلوٹوتھ"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"‏ہاٹ اسپاٹ، USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"ہاٹ اسپاٹ، بلوٹوتھ"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"‏USB، بلوٹوتھ"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"‏ہاٹ اسپاٹ، USB، بلوٹوتھ"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"دیگر آلات کے ساتھ انٹرنیٹ کا اشتراک نہیں ہو رہا ہے"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"ٹیدرنگ"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"‏Wi-Fi ہاٹ اسپاٹ کا استعمال نہ کریں"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"‏USB کے ذریعے صرف انٹرٹیٹ کا اشتراک کریں"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"بلوٹوتھ کے ذریعے صرف انٹرنیٹ کا اشتراک کریں"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"‏USB اور بلوٹوتھ کے ذریعے صرف انٹرنیٹ کا اشتراک کریں"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"‏USB ٹیدرنگ"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"‏USB کے ذریعے فون کے انٹرنیٹ کنیکشن کا اشتراک کریں"</string>
@@ -1756,9 +1734,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"حفاظت سے متعلق معلومات"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"‏آپ کے پاس ڈيٹا کنکشن نہيں ہے۔ اس معلومات کو ابھی دیکھنے کیلئے، انٹرنیٹ سے مربوط کسی بھی کمپیوٹر سے ‎%s پر جائیں۔"</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"لوڈ ہو رہا ہے…"</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"‏PIN استعمال کریں"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"پیٹرن کا استعمال کریں"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"پاس ورڈ استعمال کریں"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"اسکرین لاک سیٹ کریں"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"سیکیورٹی کیلئے، پاسورڈ سیٹ کریں"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"فنگر پرنٹ کے استعمال کے لیے پاسورڈ سیٹ کریں"</string>
@@ -1767,8 +1742,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"‏فنگر پرنٹ کے استعمال کے لیے PIN سیٹ کریں"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"سیکیورٹی کیلئے، پیٹرن سیٹ کریں"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"اپنا پاس ورڈ دوبارہ درج کریں"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"اپنا دفتری پاس ورڈ درج کریں"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"اپنے پیٹرن کی توثیق کریں"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"اپنا دفتری پیٹرن درج کریں"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"‏اپنا PIN دوبارہ درج کریں"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"‏اپنا دفتری PIN درج کریں"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"پاس ورڈز مماثل نہیں ہیں"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"‏PINs مماثل نہیں ہیں"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"اپنا پیٹرن دوبارہ ڈرا کریں"</string>
@@ -1779,6 +1757,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"فیس انلاک کے لیے، پاس ورڈ سیٹ کریں"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"فیس انلاک استعمال کیلئے، پیٹرن سیٹ کریں"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"‏فیس انلاک کے استعمال کے لیے PIN سیٹ کریں"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"اپنا پاس ورڈ بھول گئے؟"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"اپنا پیٹرن بھول گئے؟"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"‏اپنا PIN بھول گئے؟"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"جاری رکھنے کیلئے اپنے آلہ کا پیٹرن استعمال کریں"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"‏جاری رکھنے کیلئے اپنے آلہ کا PIN درج کریں"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"جاری رکھنے کیلئے اپنے آلہ کا پاسورڈ درج کریں"</string>
@@ -1846,6 +1827,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"ایپ کے سبھی مآخذ کی اجازت دیں"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"حال ہی میں کھولی گئی ایپس"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"سبھی <xliff:g id="COUNT">%1$d</xliff:g> ایپس دیکھیں"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"‏اپنے IT منتظم سے رابطہ کریں"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"‏وہ آپ کو اپنا PIN، پیٹرن یا پاس ورڈ ری سیٹ کرنے میں مدد کرسکتے ہیں"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"آپ کے ٹیبلیٹ اور ذاتی ڈیٹا کو نامعلوم ایپس کی جانب سے حملے کا زیادہ خطرہ ہے۔ اس ذریعے سے ایپس ڈاؤن لوڈ کر کے، آپ اس بات سے اتفاق کرتے ہیں کہ آپ ان ایپس سے اپنے ٹیبلیٹ کو ہونے والے کسی بھی نقصان یا ڈیٹا کے نقصان کیلئے تنہا خود ذمہ دار ہوں گے۔"</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"آپ کے فون اور ذاتی ڈیٹا کو نامعلوم ایپس کی جانب سے حملے کا زیادہ خطرہ ہے۔ اس ذریعے سے ایپس ڈاؤن لوڈ کر کے، آپ اس بات سے اتفاق کرتے ہیں کہ آپ ان ایپس سے اپنے فون کو ہونے والے کسی بھی نقصان یا ڈیٹا کے نقصان کیلئے تنہا خود ذمہ دار ہوں گے۔"</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"آپ کے آلے اور ذاتی ڈیٹا کو نامعلوم ایپس کی جانب سے حملے کا زیادہ خطرہ ہے۔ اس ذریعے سے ایپس ڈاؤن لوڈ کر کے، آپ اس بات سے اتفاق کرتے ہیں کہ آپ ان ایپس سے اپنے آلے کو ہونے والے کسی بھی نقصان یا ڈیٹا کے نقصان کیلئے تنہا خود ذمہ دار ہوں گے۔"</string>
@@ -1897,7 +1880,7 @@
     <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="1377296810290814749">"اس سے مندرجہ ذیل کیلئے تمام ترجیحات ری سیٹ ہو جائیں گی:\n\n"<li>"غیر فعال ایپس"</li>\n<li>"غیر فعال ایپس کی اطلاعات"</li>\n<li>"کارروائیوں کیلئے ڈیفالٹ ایپلیکیشنز"</li>\n<li>"ایپس کیلئے پس منظر کے ڈیٹا کی پابندیاں"</li>\n<li>"کوئی بھی اجازتی پابندیاں"</li>\n\n" آپ کسی ایپ کے ڈیٹا سے محروم نہیں ہوں گے۔"</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>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"ایپس کو دوبارہ ترتیب دیں"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"خالی جگہ کا نظم کریں"</string>
     <string name="filter" msgid="9039576690686251462">"فلٹر"</string>
@@ -2097,7 +2080,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"آڈیو اور اسکرین پر موجود ٹیکسٹ"</string>
     <string name="display_category_title" msgid="6638191682294461408">"ڈسپلے"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"تعامل کنٹرولز"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"ڈاؤن لوڈ شدہ سروسز"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"ڈاؤن لوڈ کردہ ایپس"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"تجرباتی"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"خصوصیت کے پرچم"</string>
     <string name="talkback_title" msgid="8756080454514251327">"Talkback"</string>
@@ -2105,27 +2088,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"آئٹمز کو بہ آواز بلند پڑھتے ہوئے سننے کیلئے اپنی اسکرین پر ان آئٹمز کو تھپتھپائیں"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"کیپشن کی ترجیحات"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"میگنیفکیشن"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"میگنیفکیشن کی جگہ"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"میگنیفکیشن انیبل"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"اسکرین بڑا کرتے وقت آپ جس میگنیفکیشن جگہ(جگہیں) استعمال کرنا چاہتے ہیں وہ منتخب کریں"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"پوری اسکرین"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"اسکرین کا حصہ"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"مکمل اسکرین اور اسکرین کا حصہ"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"پوری اسکرین کو بڑا کریں"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"اسکرین کا حصہ بڑا کریں"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"میگنیفکیشن کی ترتیبات"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"تین بار تھپتھپا کر بڑا کریں"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"شارٹ کٹ سے بڑا کریں"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"شارٹ کٹ اور تین بار تھپتھپانے سے بڑا کریں"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"<xliff:g id="SERVICE">%1$s</xliff:g> کے بارے میں"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"اختیارات"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"اسکرین پر زوم ان کریں"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"زوم کرنے کیلئے 3 بار تھپتھپائیں"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"زوم کرنے کیلئے ایک بٹن پر تھپتھپائیں"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><b>"زوم کرنے کیلئے"</b>"، تیزی سے اسکرین پر 3 بار تھپتھپائیں۔\n"<ul><li>"اسکرول کرنے کیلئے 2 یا زیادہ انگلیوں کو گھسیٹیں"</li>\n<li>"زوم ایڈجسٹ کرنے کیلئے 2 یا زیادہ انگلیوں سے چٹکی بھریں"</li></ul>\n\n<b>"عارضی طور پر زوم کرنے کیلئے"</b>"، تیزی سے اسکرین کو 3 بار تھپتھپائیں اور تیسری تھپتھپاہٹ پر اپنی انگلی کو نیچے دبائے رکھیں۔\n"<ul><li>"اسکرین کے اوپر اِدھر اُدھر حرکت دینے کیلئے گھسیٹیں"</li>\n<li>"زوم آؤٹ کرنے کیلئے انگلی اٹھائیں"</li></ul>\n\n"آپ کی بورڈ اور نیویگیشن بار پر زوم ان نہیں کر سکتے۔"</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"جب نوٹیفکیشن آن ہو، تو آپ اپنی اسکرین پر زوم ان کرسکتے ہیں۔\n\n"<b>"زوم کرنے کے لیے "</b>"، نوٹیفکیشن شروع کریں، پھر اسکرین پر کہیں بھی تھپتھپائیں۔\n"<ul><li>" سکرول کرنے کے لیے 2 یا زائد انگلیوں سے گھسیٹیں"</li>\n<li>"• زوم ایڈجیسٹ کرنے کے لیے 2 یا زائد انگلیوں سے چٹکی بھریں"</li></ul>\n\n<b>"عارضی طورپر زوم کرنے کے لیے"</b>"، نوٹیفکیشن شروع کریں، پھر اسکرین پر کہیں بھی ٹچ کرکے ہولڈ کریں۔\n"<ul><li>"• اسکرین کے اردگرد منتقل کرنے کے لیے گھسیٹیں"</li>\n<li>"• زوم آؤٹ کرنے کے لیے انگلی اٹھائیں"</li></ul>\n\n"آپ کی بورڈ یا نیویگیشن بار پر زوم ان نہیں کرسکتے۔"</string>
+    <string name="accessibility_screen_magnification_summary" msgid="7617931632990040045">"‏مزید واضح طور پر مواد دیکھنے کے لیے اسکرین پر فوری طور پر زوم ان کریں۔&lt;br/&gt;&lt;br/&gt;&lt;b&gt;زوم ان کرنے کے لیے:&lt;/b&gt;&lt;br/&gt;	1۔ میگنیفکیشن شروع کرنے کے لیے شارٹ کٹ کا استعمال کریں&lt;br/&gt;	2۔ اسکرین پر تھپتھپائيں&lt;br/&gt;	3۔ اسکرین پر گھومانے کے لیے 2 انگلیوں سے گھسیٹیں&lt;br/&gt;	4۔ زوم کو ایڈجسٹ کرنے کے لیے 2 انگلیوں سے چٹکی بھریں&lt;br/&gt;	5۔ میگنیفکیشن بند کے لیے شارٹ کٹ استعمال کریں&lt;br/&gt;&lt;br/&gt;&lt;b&gt;عارضی طور پر زوم ان کرنے کے لیے:&lt;/b&gt;&lt;br/&gt;	1۔ میگنیفکیشن شروع کرنے کے لیے شارٹ کٹ کا استعمال کریں&lt;br/&gt;	2۔ اسکرین پر کسی بھی جگہ پر ٹچ اور ہولڈ کریں&lt;br/&gt;	3۔ اسکرین کے چاروں طرف گھمانے کے لیے انگلی گھسیٹیں &lt;br/&gt;	4۔ میگنیفکیشن بند کرنے کے لیے انگلی اٹھائيں"</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"جب میگنیفکیشن آن ہو، تو آپ اپنی اسکرین پر زوم ان کرسکتے ہیں۔\n\n"<b>"زوم کرنے کے لیے"</b>"، میگنیفکیشن شروع کریں، پھر اسکرین پر کہیں بھی تھپتھپائیں۔\n"<ul><li>" اسکرول کرنے کے لیے 2 یا زائد انگلیوں سے گھسیٹیں"</li>\n<li>"زوم ایڈجیسٹ کرنے کے لیے 2 یا زائد انگلیوں سے چٹکی بھریں"</li></ul>\n\n<b>"عارضی طور پر زوم کرنے کے لیے"</b>"، میگنیفکیشن شروع کریں، پھر اسکرین پر کہیں بھی ٹچ اور ہولڈ کریں۔\n"<ul><li>"اسکرین کے اردگرد منتقل کرنے کے لیے گھسیٹیں"</li>\n<li>"زوم آؤٹ کرنے کے لیے انگلی اٹھائیں"</li></ul>\n\n"آپ کی بورڈ یا نیویگیشن بار پر زوم ان نہیں کرسکتے۔"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"کھولنے کے لیے ایکسیسبیلٹی بٹن کا استعمال کریں"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"کھولنے کے لیے اشارہ استعمال کریں"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"نیا رسائی اشارہ استعمال کریں"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"اس سروس کو آن یا آف کرنے کے لیے، اپنی اسکرین کے نیچے بٹن <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> کو تھپتھپائیں۔\n\nسروسز کے مابین سوئچ کرنے کے لیے، ایکسیسبیلٹی بٹن کو ٹچ کرکے ہولڈ کریں۔"</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"یہ سروس آن یا آف کرنے کے لیے، دو انگلیوں سے اسکرین کے نیچے سے اوپر کی طرف سوائپ کریں۔\n\nسروسز کے مابین سوئچ کرنے کے لیے، دو انگلیوں سے اوپر سوائپ کرکے ہولڈ کریں۔"</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"یہ سروس آن یا آف کرنے کے لیے، تین انگلیوں سے اسکرین کے نیچے سے اوپر کی طرف سوائپ کریں۔\n\nسروسز کے مابین سوئچ کرنے کے لیے، تین انگلیوں سے اوپر سوائپ کرکے ہولڈ کریں۔"</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"ایکسیسبیلٹی سروس آن یا آف کرنے کے لیے، دو انگلیوں سے اسکرین کے نیچے سے اوپر کی طرف سوائپ کریں۔\n\nسروسز کے مابین سوئچ کرنے کے لیے، دو انگلیوں سے اوپر سوائپ کرکے ہولڈ کریں۔"</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"ایکسیسبیلٹی سروس آن یا آف کرنے کے لیے، تین انگلیوں سے اسکرین کے نیچے سے اوپر کی طرف سوائپ کریں۔\n\nسروسز کے مابین سوئچ کرنے کے لیے، تین انگلیوں سے اوپر سوائپ کرکے ہولڈ کریں۔"</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"اس سروس کو آن یا آف کرنے کے لیے، اپنی اسکرین کے نیچے بٹن <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> کو تھپتھپائیں۔\n\nسروسز کے مابین سوئچ کرنے کے لیے، ایکسیسبیلٹی بٹن کو ٹچ اور ہولڈ کریں۔"</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"یہ سروس آن یا آف کرنے کے لیے، دو انگلیوں سے اسکرین کے نیچے سے اوپر کی طرف سوائپ کریں۔\n\nسروسز کے مابین سوئچ کرنے کے لیے، دو انگلیوں سے اوپر سوائپ کرکے ہولڈ کریں۔"</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"یہ سروس آن یا آف کرنے کے لیے، تین انگلیوں سے اسکرین کے نیچے سے اوپر کی طرف سوائپ کریں۔\n\nسروسز کے مابین سوئچ کرنے کے لیے، تین انگلیوں سے اوپر سوائپ کرکے ہولڈ کریں۔"</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"ایکسیسبیلٹی سروس آن یا آف کرنے کے لیے، دو انگلیوں سے اسکرین کے نیچے سے اوپر کی طرف سوائپ کریں۔\n\nسروسز کے مابین سوئچ کرنے کے لیے، دو انگلیوں سے اوپر سوائپ کرکے ہولڈ کریں۔"</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"ایکسیسبیلٹی سروس آن یا آف کرنے کے لیے، تین انگلیوں سے اسکرین کے نیچے سے اوپر کی طرف سوائپ کریں۔\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="2820923641553461297">"ایکسیسبیلٹی بٹن"</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="8922102767509399352">"اپنی اسکرین کے نیچے <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> ایکسیسبیلٹی بٹن پر تھپتھپائیں"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"2 انگلیوں سے اسکرین کے نیچے سے اوپر کی طرف سوائپ کریں"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"3 انگلیوں سے اسکرین کے نیچے سے اوپر کی طرف سوائپ کریں"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"والیوم کی کلیدوں کو دبائیں رکھیں"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"1 سیکنڈ تک والیوم کی دونوں کلیدوں کو دبائے رکھیں"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"اسکرین پر تین بار تھپتھپائیں"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"فوری طور پر 3 بار اسکرین پر تھپتھپائیں۔ اس شارٹ کٹ سے آپ کا آلہ سست ہو سکتا ہے۔"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"جدید ترین"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"ایکسیسبیلٹی بٹن <xliff:g id="SERVICE">%1$s</xliff:g> پر سیٹ ہے۔ میگنیفکیشن استعمال کرنے کیلئے، ایکسیسبیلٹی بٹن ٹچ کریں اور دبائے رکھیں، پھر میگنیفکیشن منتخب کریں۔"</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"ایکسیسبیلٹی اشارے کو <xliff:g id="SERVICE">%1$s</xliff:g> پر سیٹ کر دیا گیا۔ میگنیفکیشن استعمال کرنے کے لیے، اسکرین کے نیچے سے دو انگلیوں سے اوپر سوائپ اور ہولڈ کریں۔ پھر میگنیفکیشن منتخب کریں۔"</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"والیوم کی کلید کا شارٹ کٹ"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"شارٹ کٹ سروس"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"شارٹ کٹ کی ترتیبات"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"مقفل اسکرین سے اجازت دیں"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"شارٹ کٹ آن ہونے پر، آپ ایک ایکسیسبیلٹی خصوصیت شروع کرنے کیلئے 3 سیکنڈ تک والیوم کی دونوں کلیدوں کو دبائے رکھ سکتے ہیں۔"</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"اعلی تناسب امتزاج والا متن"</string>
@@ -2149,24 +2157,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"ان پیغامات کو دکھانے کی مدت منتخب کریں جو آپ سے کارروائی کرنے کا مطالبہ کرتے ہیں، لیکن عارضی طور پر دکھائی دیتے ہیں۔\n\nسبھی ایپس اس ترتیب کا تعاون نہیں کرتی ہیں۔"</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"چھونے اور دبائے رکھنے کا وقفہ"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"رنگوں کی تقلیب"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"کارکردگی متاثر ہو سکتی ہے"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"پوائنٹر حرکت کے بعد کلک کا وقت"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"رنگ میں تبدیلی کا استعمال کریں"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"‏رنگ میں تبدیلی سے ہلکی اسکرینز گہری ہو جاتی ہے۔ اس سے چمکدار روشنی کے لیے حساس لوگوں کو زیادہ آسانی سے اسکرین کو دیکھنے میں مدد ملتی ہے۔‎&lt;br/&gt;&lt;br/&gt;‪نوٹ: رنگ ہلکا ہو جائے گا۔ میڈیا اور تصاویر میں رنگ تبدیل ہو جائیں گے۔ آپ گہری تھیم (ترتیبات ‏‎&gt;‎ ڈسپلے) بھی استعمال کر سکتے ہیں۔"</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"خودکار کلک (پسنے کا وقت)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"اگر آپ ماؤس استعمال کر رہے ہیں تو مخصوص وقت کے لئے کرسر کی حرکت موقوف ہونے پر آپ خودکار طور پر کارروائی کرنے کے لئے کرسر کو سیٹ کر سکتے ہیں۔"</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"کلک سے قبل توقف"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"آٹو کلک کا استعمال نہ کریں (ڈیفالٹ)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"مختصر"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0.2 سیکنڈ"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"متوسط"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0.6 سیکنڈ"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"طویل"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 سیکنڈ"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"حسب ضرورت"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"خودکار کلک کا محتصر تر وقت"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"خودکار کلک کا طویل تر وقت"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"خودکار کلک کا وقت"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"وائبریشن اور تھپتھپانے کی طاقت"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"اطلاع وائبریشن"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"رنگ وائبریشن"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"ٹچ تاثرات"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"سروس استعمال کریں"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g> استعمال کریں"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g> کھوليں"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"رنگ کی اصلاح استعمال کریں"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"کیپشنز استعمال کریں"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"کیپشنز دکھائیں"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"کیپشن کی ہئیت"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"متن کا سائز اور کیپشن کا طرز"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"مزید اختیارات"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"اس ترتیب کو سبھی ایپس سپورٹ نہیں کرتی ہیں۔"</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"ایکسیسبیلٹی بٹن"</string>
+    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"نیچے سے اوپر کی طرف 2 انگلیوں سے سوائپ کریں"</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>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"سماعتی آلات"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"کوئی سماعتی آلہ منسلک نہیں ہے"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"سماعتی آلات شامل کریں"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"اپنے سماعتی آلات کا جوڑا بنانے کے لئے اگلی اسکرین پر اپنا آلہ تلاش کریں اور تھپتھپائیں۔"</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"یقینی بنائیں کہ آپ کے سماعتی آلات جوڑا بنانے کی وضع میں ہیں۔"</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"اپنے سماعتی آلات کا جوڑا بنانے کے لیے، اگلی اسکرین پر اپنا آلہ تلاش کریں اور تھپتھپائیں۔ یقینی بنائیں کہ آپ کے سماعتی آلات جوڑا بنانے کی وضع میں ہیں۔"</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> فعال ہے"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> محفوظ کردہ سماعتی آلات</item>
@@ -2178,25 +2204,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"یہ سروس ٹھیک سے کام نہیں کر رہی۔"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"فوری ترتیبات میں دکھائیں"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"اصلاح کی وضع"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="other">انتہائی مختصر توقف (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ملی سیکنڈ)</item>
-      <item quantity="one">انتہائی مختصر توقف (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ملی سیکنڈ)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"سرخ-سبز"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"سبز-سرخ"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"نیلا-پیلا"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"سرخ اور سبز رنگ دیکھنے کی صلاحیت میں کمی"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"سرخ اور سبز کی بے قاعدہ رنگ بینی"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"نیلے پیلے رنگ کی شناخت کرنے میں دشواری"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="other">انتہائی مختصر تاخیر (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> سیکنڈز)</item>
+      <item quantity="one">انتہائی مختصر تاخیر (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> سیکنڈ)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="other">بہت مختصر توقف (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ملی سیکنڈ)</item>
-      <item quantity="one">بہت مختصر توقف (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ملی سیکنڈ)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="other">بہت مختصر تاخیر (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> سیکنڈز)</item>
+      <item quantity="one">بہت مختصر تاخیر (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> سیکنڈ)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="other">مختصر توقف (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ملی سیکنڈ)</item>
-      <item quantity="one">مختصر توقف (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ملی سیکنڈ)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="other">مختصر تاخیر (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> سیکنڈز)</item>
+      <item quantity="one">مختصر تاخیر (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> سیکنڈ)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="other">طویل توقف (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ملی سیکنڈ)</item>
-      <item quantity="one">طویل توقف (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ملی سیکنڈ)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="other">طویل تاخیر (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> سیکنڈز)</item>
+      <item quantity="one">طویل تاخیر (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> سیکنڈ)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="other">بہت طویل توقف (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ملی سیکنڈ)</item>
-      <item quantity="one">بہت طویل توقف (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ملی سیکنڈ)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="other">بہت طویل تاخیر (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> سیکنڈز)</item>
+      <item quantity="one">بہت طویل تاخیر (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> سیکنڈ)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> سیکنڈز</item>
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> سیکنڈ</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"رِنگ: <xliff:g id="SUMMARY_RING">%1$s</xliff:g>، اطلاع: <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>، ٹچ: <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"گھنٹی بجنا اور اطلاعات آف پر سیٹ ہیں"</string>
@@ -2513,7 +2549,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"<xliff:g id="UNPLUGGED">%1$s</xliff:g> کیلئے آخری بار پلگ نکالے جانے کے وقت"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"مجموعی استعمال"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"ریفریش کریں"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"Android OS"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"Mediaserver"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"ایپ کو بہتر بنانا"</string>
     <string name="battery_saver" msgid="7737147344510595864">"بیٹری سیور"</string>
@@ -2594,8 +2629,7 @@
     <string name="tts_play" msgid="2945513377250757221">"چلائیں"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"اسناد کی اسٹوریج"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"اسٹوریج سے انسٹال کریں"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"‏SD کارڈ سے انسٹال کریں"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"ایک سرٹیفکیٹ انسٹال کریں"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"اسٹوریج سے سرٹیفیکیٹس انسٹال کریں"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"‏SD کارڈ سے سرٹیفیکیٹس انسٹال کریں"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"اسنادات صاف کریں"</string>
@@ -2615,6 +2649,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"اسناد کا اسٹوریج حذف ہو گیا۔"</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"اسناد کا اسٹوریج صاف نہیں کیا جا سکا۔"</string>
     <string name="usage_access_title" msgid="1580006124578134850">"استعمال تک رسائی والی ایپس"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"‏CA سرٹیفکیٹ"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"‏VPN اور ایپ صارف کا سرٹیفکیٹ"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"‏Wi-Fi کا سرٹیفکیٹ"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"آپ کی راز داری خطرے میں ہے"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"‏CA سرٹیفکیٹ کو مرموزکاری کے لیے ویب سائٹس، ایپس اور VPN کے ذریعہ استعمال کیا جاتا ہے۔ ان تنظیموں سے صرف CA سرٹیفکیٹ انسٹال کریں جن پر آپ کو اعتماد ہے۔ \n\n اگر آپ CA سرٹیفکیٹ انسٹال کرتے ہیں تو سرٹیفکیٹ کا مالک آپ کی معلومات تک رسائی حاصل کرسکتا ہے، جیسے پاس ورڈز، پیغامات یا کریڈٹ کارڈ کی تفصیلات، جن ویب سائٹس پر آپ جاتے ہیں یا آپ استعمال کرتے ہیں وہ ایپس - حتی کہ اگر وہ معلومات مرموز کردہ ہے۔"</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"انسٹال نہ کریں"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"بہرصورت انسٹال کريں"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"سرٹیفکیٹ انسٹال نہیں ہے"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"ایمرجنسی ڈائلنگ سگنل"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"ہنگامی کال کرتے وقت برتاؤ سیٹ کریں"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"بیک اپ"</string>
@@ -2642,10 +2684,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"غیر فعال اور اَن انسٹال کریں"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"آلہ کے نظم و نسق کی ایپس"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"آلہ کے منتظم کی کوئی ایپ دستیاب نہیں ہے"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"ذاتی"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"دفتر"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"‏SMS اور کال لاگ تک رسائی کو محدود کریں"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"‏صرف ڈیفالٹ فون اور پیغام رسانی کی ایپس میں SMS اور کال لاگ کی اجازتیں ہیں"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"ٹرسٹ کے کوئی ایجنٹس دستیاب نہیں ہیں"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"آلہ کے منتظم کی ایپ فعال کریں؟"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"اس آلہ کے منتظم کی ایپ فعال کریں"</string>
@@ -2659,6 +2697,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"دیگر اختیارات آپ کے منتظم کی جانب سے غیر فعال کردہ ہیں"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"مزید تفصیلات"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"اطلاعاتی لاگ"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"اطلاع کی سرگزشت"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"آج"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"اسنوز کردہ"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"حال ہی میں مسترد کر دیا گیا"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> اطلاعات</item>
+      <item quantity="one"><xliff:g id="NUMBER_0">%d</xliff:g> اطلاع</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"کال کی رنگ ٹون اور ارتعاش"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"نیٹ ورک کی تفصیلات"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"مطابقت پذیری فعال کر دی گئی"</string>
@@ -3008,7 +3054,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"پابندیاں"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"پابندیاں ہٹائیں"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"‏PIN تبدیل کریں"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"اطلاعات دکھائیں"</string>
     <string name="help_label" msgid="2896538416436125883">"مدد اور تاثرات"</string>
     <string name="support_summary" msgid="1034146931237148885">"امدادی مضامین، فون اور چیٹ، شروع کرنا"</string>
     <string name="user_account_title" msgid="6389636876210834864">"مواد کیلئے اکاؤنٹ"</string>
@@ -3033,6 +3078,14 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"‏4G کالنگ"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"‏صوتی اور دیگر مواصلات کو بہتر بنانے کے لیے LTE سروسز استعمال کریں (تجویز کردہ)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"‏صوتی اور دیگر مواصلات کو بہتر بنانے کے لیے 4G سروسز کا استعمال کریں (تجویز کردہ)"</string>
+    <!-- no translation found for contact_discovery_opt_in_title (4076990635900099116) -->
+    <skip />
+    <!-- no translation found for contact_discovery_opt_in_summary (4104310593310967300) -->
+    <skip />
+    <!-- no translation found for contact_discovery_opt_in_dialog_title (6278407286820554079) -->
+    <skip />
+    <!-- no translation found for contact_discovery_opt_in_dialog_message (5787751513924920435) -->
+    <skip />
     <string name="preferred_network_type_title" msgid="812509938714590857">"ترجیحی نیٹ ورک کی قسم"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"‏LTE (تجویز کردہ)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"‏MMS پیغامات"</string>
@@ -3077,7 +3130,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"کال کریں مع"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"‏ایک SIM کارڈ منتخب کریں"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"SIM <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"‏SIM خالی ہے"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"‏SIM کا نام"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"‏SIM کا نام درج کریں"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"‏SIM سلاٹ ‎%1$d"</string>
@@ -3087,6 +3139,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"‏SIM کارڈ منتخب کریں"</string>
     <string name="color_orange" msgid="216547825489739010">"نارنجی"</string>
     <string name="color_purple" msgid="6603701972079904843">"جامنی"</string>
+    <string name="color_pink" msgid="8596872110888626708">"گلابی"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"‏کوئی SIM کارڈز داخل نہیں کیے گئے"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"‏SIM کا اسٹیٹس"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"‏SIM اسٹیٹس (sim سلاٹ ‎%1$d)‎"</string>
@@ -3100,7 +3153,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"‎<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"‏SIM کارڈز تبدیل ہوگئے۔"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"سیٹ اپ کرنے کیلئے تھپتھپائیں"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"‏ترجیحی SIM برائے"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"ہر بار پوچھیں"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"انتخاب درکار ہے"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"‏SIM کا انتخاب"</string>
@@ -3116,6 +3168,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"بلوٹوتھ، ڈرائیونگ موڈ"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"‏بلوٹوتھ، NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"بلوٹوتھ"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"‏دستیاب نہیں ہے کیونکہ NFC آف ہے"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"ایپس اور اطلاعات"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"حالیہ ایپس، ڈیفالٹ ایپس"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"دفتری پروفائل میں ایپس کو اطلاع تک رسائی حاصل نہیں ہے۔"</string>
@@ -3126,13 +3179,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"ترتیبات"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"‏wifi، wi-fi، نیٹ ورک کنکشن، انٹرنیٹ، وائر لیس، ڈیٹا، wi fi"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"‏Wi‑Fi کی اطلاع، wifi کی اطلاع"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"ڈیٹا کا استعمال"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"وائبریشن روکیں، تھپتھپائیں، کی بورڈ"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"24 گھنٹے کا فارمیٹ استعمال کریں"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"ڈاؤن لوڈ کریں"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"ان کے ساتھ کھولیں"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"ایپلیکیشنز"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"ٹائم زون"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"چَیٹ ہیڈ"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"چیٹ ہیڈ، سسٹم، الرٹ، ونڈو، ڈائیلاگ، دیگر ایپس پر ڈسپلے، ڈرا"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"فلیش لائٹ، روشنی، ٹارچ"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"‏wifi, wi-fi ٹوگل، کنٹرول"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"‏سیلولر، موبائل، سیل کیریئر، وائرلیس، ڈیٹا، 4g,3g, 2g, lte"</string>
@@ -3156,7 +3210,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"ڈسٹرب نہ کریں، مداخلت کرنا، مداخلت، بریک"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"‏قریبی، مقام، سرگزشت، اطلاع دہندگی، GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"اکاؤنٹ"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"اکاؤنٹ، ایک اکاؤنٹ شامل کریں، دفتری پروفائل، اکاؤنٹ شامل کریں"</string>
     <string name="keywords_users" msgid="3497517660077620843">"پابندی، پابندی لگائیں، پابندی شدہ"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"‏متن کی اصلاح، اصلاح، آواز، ارتعاش، خودکار، زبان، اشارہ، تجویز کریں، تجویز، تھیم، ناگوار، لفظ، ٹائپ کریں، emoji، بین الاقوامی"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"ری سیٹ کریں، ترجیحات، ڈیفالٹ"</string>
@@ -3194,6 +3248,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"میموری، کیش، ڈیٹا، حذف، صاف، خالی، جگہ"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"منسلک، آلہ، ہیڈ فونز، ہیڈ سیٹ، اسپیکر، وائرلیس، جوڑا، ایئر بڈز، موسیقی، میڈیا"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"پس منظر، اسکرین، لاک اسکرین، تھیم"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"آئیکن، شکل، لہجہ کا رنگ، فونٹ"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"ڈیفالٹ، اسسٹنٹ"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"ادائیگی، ڈیفالٹ"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"آنے والی اطلاع"</string>
@@ -3203,18 +3258,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"ہیپٹکس، وائبریٹ، حساسیت"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"بیٹری سیور، چپک جانے والی، برقرار، پاور سیور، بیٹری"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"روٹین، شیڈول، بیٹری سیور، پاور سیور، بیٹری، خودکار طور پر، فیصد"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"دفتری پروفائل"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"‏volte، اعلی درجے کی کالنگ، 4G کالنگ"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"زبان شامل کریں، ایک زبان شامل کریں"</string>
     <string name="default_sound" msgid="6604374495015245195">"ڈیفالٹ ساؤنڈ"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"رنگ والیوم <xliff:g id="PERCENTAGE">%1$s</xliff:g> پر ہے"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"گھنٹی بجنے اور اطلاعات کا والیوم <xliff:g id="PERCENTAGE">%1$s</xliff:g> پر ہے"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"والیوم، ارتعاش، ڈسٹرب نہ کریں"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"رنگر ارتعاش پر سیٹ ہو گیا"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"رنگر خاموش پر سیٹ ہو گیا"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"‏رنگ والیوم ‎80%‎ پر ہے"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"‏گھنٹی بجنے اور اطلاعات کا والیوم ‎ 80%پر ہے"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"میڈیا والیوم"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"والیوم کاسٹ کریں"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"کال کا والیوم"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"الارم والیوم"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"رنگ والیوم"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"گھنٹی اور اطلاعات کا والیوم"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"اطلاع کا والیوم"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"فون رنگ ٹون"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"اطلاع کی ڈیفالٹ آواز"</string>
@@ -3222,6 +3278,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"اطلاع کی ڈیفالٹ آواز"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"الارم کی ڈیفالٹ آواز"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"کالز آنے پر وائبریٹ کریں"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"کبھی وائبریٹ نہ کریں"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"ہمیشہ وائبریٹ کریں"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"پہلے وائبریٹ کریں، پھر بتدریج رِنگ کریں"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"دیگر آوازیں"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"ڈائل پیڈ ٹونز"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"اسکرین کو مقفل کرنے کی آوازیں"</string>
@@ -3245,6 +3304,7 @@
       <item quantity="one">1 فعال ہے</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"ڈسٹرب نہ کریں"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"صرف اہم لوگوں اور ایپس کے ذریعہ اطلاع حاصل کریں"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"مداخلتوں کی حد مقرر کریں"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"\'ڈسٹرب نہ کریں\' کو آن کریں"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"مستثنیات"</string>
@@ -3271,7 +3331,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"بصری مداخلتیں مسدود کریں"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"بصری سگنلز کی اجازت دیں"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"جب \'ڈسٹرب نہ کریں\' آن ہو"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"مداخلتوں کو اجازت دیں جو آواز نکالیں"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"اطلاعات پر پابندی لگائیں"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"اطلاعات کی کوئی آواز نہیں"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"آپ کو اپنی اسکرین پر اطلاعات نظر آئیں گی"</string>
@@ -3302,7 +3362,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"آواز اور وائبریشن"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"اطلاعات کی آواز، وائبریشن اور کچھ ویژوئل علامات"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"آواز، وائبریشن اور اطلاعات کی ویژوئل علامات"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"فون کی بنیادی سرگرمی اور اسٹیٹس کے لیے درکار اطلاعات کو کھبی نیہں چھپایا جائے گا"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"فون کی بنیادی سرگرمی اور اسٹیٹس کے لیے درکار اطلاعات کو کھبی نیہں چھپایا جائے گا۔"</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"کوئی نہیں"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"دیگر اختیارات"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"شامل کریں"</string>
@@ -3332,10 +3392,12 @@
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> شیڈولز خود بخود آن ہو سکتے ہیں</item>
       <item quantity="one">1 شیڈول خود بخود آن ہو سکتا ہے</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"آلہ کو خاموش کریں لیکن مستثنیات کی اجازت دیں"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"مستثنیات"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"شیڈول"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"سبھی مستثنیات دیکھیں"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"جب \'ڈسٹرب نہ کریں\' آن ہو تو مستثنیات"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"لوگ"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"ایپس"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"الارمز اور دیگر مداخلتیں"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"شیڈولز"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"خاموش کردہ اطلاعات"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"\'ڈسٹرب نہ کریں\' آن ہونے پر، آواز اور وائبریشن کو خاموش کر دیا جائے گا، ماسوا ان آئٹمز کے جن کی آپ نے اوپر اجازت دی ہے۔"</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"ان کے سوا تمام خاموش کریں"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"خاموش کردہ"</string>
@@ -3379,16 +3441,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"تغیر پذیر اطلاعات"</string>
     <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_capabilities_actions_replies_title" msgid="4392470465646394289">"تجویز کردہ کارروائیاں اور جوابات"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"تجویز کردہ کارروائیوں اور جوابات کو خودکار طور پر دکھائیں"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"گزشتہ اطلاعات اور اسنوز کردہ اطلاعات کا ٹریک رکھنے کے لیے اطلاع کی سرگزشت کو آن کریں"</string>
+    <string name="notification_history" msgid="8663811361243456201">"اطلاع کی سرگزشت"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"سرگزشت آن کریں"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"سرگزشت آف کریں"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"اطلاع کی سرگزشت آف ہے"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"اطلاع کی ترتیبات دیکھیں"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"اطلاع کی اسنوزنگ کی اجازت دیں"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"لطیف اطلاعات کے آئیکنز کو چھپائیں"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"لطیف اطلاعات کے آئیکنز اسٹیٹس بار میں دکھائی نہیں دے رہے ہیں"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"اطلاعاتی ڈاٹس کی اجازت دیں"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"حالیہ گفتگوئیں کی پٹی میں دکھائیں"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"بُلبُلے"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"کچھ اطلاعات اسکرین پر بلبلوں کی طرح ظاہر ہو سکتی ہیں"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"کچھ اطلاعات اور دیگر مواد اسکرین پر بلبلوں کی طرح ظاہر ہو سکتے ہیں۔ بلبلہ کھولنے کے لیے، اس پر تھپتھپائیں۔ اسے برخاست کرنے کے لیے، اسے گھسیٹ کر نیچے اسکرین پر لے جائیں۔"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"بلبلے"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"نئے پیغامات اسکرین پر دکھائی دیں گے"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"<xliff:g id="APP_NAME">%1$s</xliff:g> کو کچھ اطلاعات بلبلوں کے بطور دکھانے کی اجازت دیں"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"بلبلوں کو آن کریں"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"اس ایپ کی خاطر بلبلوں کو آن کرنے کیلئے، آپ کو انہیں پہلے اپنے آلہ کیلئے آن کرنا ہوگا۔ یہ ان دیگر ایپس کو متاثر کرتا ہے جن میں آپ نے پہلے بلبلوں کو آن کیا تھا۔"</string>
@@ -3406,6 +3478,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"نیچے کی طرف کھینچیں شیڈ اور مقفل اسکرین پر ڈسپلے کرتا ہے"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"نیچے کی طرف کھینچیں شیڈ اور اسٹیٹس بار پر ڈسپلے کرتا ہے"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"نیچے کی طرف کھینچیں شیڈ، اسٹیٹس بار اور مقفل اسکرین پر ڈسپلے کرتا ہے"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"اسٹیٹس بار میں خاموش اطلاعات کو چھپائیں"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"بلنک لائٹ"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"مقفل اسکرین"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"مقفل اسکرین کو نظرانداز کرنے کیلئے"</string>
@@ -3436,6 +3509,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"برتاؤ"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"آواز کی اجازت دیں"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"کبھی اطلاعات نہ دکھائیں"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"گفتگوئیں"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"گفتگو"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"کوئی گفتگو نہیں ہے"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"گفتگو کے سیکشن سے ہٹائیں"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"یہ ایک گفتگو ہے"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"گفتگو کے سیکشن میں شامل کریں"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"گفتگوؤں کا نظم کریں"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"اہم گفتگوئیں"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"سبھی گفتگوئيں"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"اہم گفتگوؤں کو بلبلہ کریں"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"اہم گفتگوئیں پُل ڈاؤن شیڈ کے اوپری حصے میں دکھائی دیتی ہیں۔ آپ انہیں بلبلہ اور \'ڈسٹرب نہ کریں\' مداخلت پر بھی سیٹ کر سکتے ہیں۔"</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"بغیر آواز کے دکھائیں اور چھوٹا کریں"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"خاموشی سے دکھائیں"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"آواز نکالیں"</string>
@@ -3454,7 +3538,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"بغیر آواز یا وائبریشن کے آپ کو فوکس کرنے میں مدد کرتا ہے"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"آواز اور وائبریشن کے ذریعے آپ کی توجہ حاصل کرتا ہے"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"آلہ کے غیر مقفل ہو جانے پر، اطلاعات کو اسکرین کے اوپر بینر کے طور پر دکھائيں"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"اطلاعات دکھائیں"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"سبھی <xliff:g id="APP_NAME">%1$s</xliff:g> اطلاعات"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"تغیر پذیر اطلاعات"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="other">~<xliff:g id="NUMBER_1">%d</xliff:g> اطلاعات فی دن</item>
@@ -3475,6 +3559,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"تغیر پذیر اطلاعات"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"کوئی نہیں"</string>
     <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="3119843404577399036">"<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>
@@ -3536,8 +3621,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"ہوگیا"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"اہمیت"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"بلنک لائٹ"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"وائبریٹ"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"وائبریشن"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"آواز"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"اہم"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"گھر میں شامل کریں"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"حذف کریں"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"نام بدلیں"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"شیڈول کا نام"</string>
@@ -3591,6 +3678,10 @@
       <item quantity="other"><xliff:g id="NUM_PEOPLE">%d</xliff:g> دیگر</item>
       <item quantity="one">1 دیگر</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"گفتگوئیں"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"سبھی گفتگوؤں سے"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"اہم گفتگوؤں سے"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"کسی گفتگو کی اجازت نہ دیں"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"پیغامات کی اجازت دیں"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"اجازت یافتہ پیغامات کے آواز کرنے کو یقینی بنانے کیلئے، چیک کریں کہ آیا آپ کا آلہ رِنگ، وائبریٹ یا خاموش پر سیٹ ہے۔"</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"‘<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>’ کے لیے آنے والے پیغامات مسدود ہیں۔ اپنے دوستوں، فیملی اور دیگر رابطوں کو آپ سے رابطہ کرنے کی اجازت دینے کے لیے، آپ ترتیبات کو ایڈجسٹ کر سکتے ہیں۔"</string>
@@ -3604,15 +3695,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"کوئی نہیں"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"کسی کال کی اجازت نہ دیں"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"کسی پیغام کی اجازت نہ دیں"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"الارمز کی اجازت دیں"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"الارمز"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"ٹائمرز، الارمز، سیکیورٹی سسٹمز اور دیگر ایپس سے"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"الارمز"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"میڈیا کی آوازیں چلائیں"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"میڈیا کی آوازیں"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"ویڈیوز، گیمز اور دیگر میڈیا سے"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"میڈیا"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"ٹچ کی آوازوں کی اجازت دیں"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"ٹچ کی آوازیں"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"آپ کے کی بورڈ اور دیگر بٹنز سے"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"ٹچ کی آوازیں"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"یاددہانیوں کی اجازت دیں"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"یاد دہانیاں"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"ٹاسکس اور یاد دہانیوں سے"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"یاددہانیاں"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"ایونٹس کی اجازت دیں"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"ایونٹس"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"آنے والے کیلنڈر کے ایونٹس سے"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"ایپس کو اوور رائیڈ کرنے کی اجازت دیں"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"ایپ کے مستثنیات"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3655,6 +3751,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"\'ڈسٹرب نہ کریں\' کے ذریعے خاموش کردہ اطلاعات کو اسکرین آن کرنے دیں"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"اطلاع کی ترتیبات"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"ٹھیک ہے"</string>
+    <string name="suggestion_button_close" msgid="6865170855573283759">"بند کریں"</string>
     <string name="device_feedback" msgid="5351614458411688608">"اس آلہ کے بارے میں تاثرات بھیجیں"</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"‏منتظم PIN درج کریں"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"آن"</string>
@@ -3665,6 +3762,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"‏پن ہٹانے سے پہلے PIN طلب کریں"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"پن ہٹانے سے پہلے پاس ورڈ طلب کریں"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"پن ہٹاتے وقت آلہ کو مقفل کریں"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"‏SIM کو حذف کرنے کی تصدیق کریں"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"‏ڈاؤن لوڈ کردہ SIM کو مٹانے سے پہلے تصدیق کریں کہ یہ آپ ہیں"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"یہ دفتری پروفائل اس کے زیر انتظام ہے:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"<xliff:g id="ADMIN_APP_LABEL">%s</xliff:g> کے زیر انتظام ہے"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(تجرباتی)"</string>
@@ -3739,8 +3838,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"سبھی ایپس"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"انسٹال کردہ ایپس"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"فوری ایپس"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"ذاتی"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"دفتری"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"ایپس: سبھی"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"آف ہیں"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"زمرے: فوری اہمیت"</string>
@@ -3752,6 +3849,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"نامعلوم ایپ"</string>
     <string name="app_permissions" msgid="8666537659217653626">"اجازتوں کا مینیجر"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"ایپس <xliff:g id="APPS">%1$s</xliff:g> استعمال کر رہی ہیں"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"<xliff:g id="APPS">%1$s</xliff:g> کا استعمال کرتے ہوئے ایپس، اور مزید"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"فعال کرنے کیلئے تھپتھپائیں"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"آلہ کو فعال کرنے کیلئے اسکرین پر کہیں بھی دو بار تھپتھپائیں"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"شروعاتی لنکس"</string>
@@ -3763,9 +3861,14 @@
       <item quantity="other">تعاون یافتہ لنکس کھولنے والی <xliff:g id="COUNT">%d</xliff:g> ایپس</item>
       <item quantity="one">تعاون یافتہ لنکس کھولنے والی ایک ایپ</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"اس ایپ میں کھولیں"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"ایپ کو سپورٹ کردہ لنکس کھولنے کی اجازت دیں"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"ہر بار پوچھیں"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"اس ایپ میں مت کھولیں"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"ایپ کو لنکس کھولنے کی اجازت نہ دیں"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="other">ایپ <xliff:g id="COUNT_1">%d</xliff:g> لنکس ہینڈل کرنے کا دعوی کرتی ہے</item>
+      <item quantity="one">ایپ <xliff:g id="COUNT_0">%d</xliff:g> لنک ہینڈل کرنے کا دعوی کرتی ہے</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"ایپ ذیل کی لنکس کو ہینڈل کرنے کا دعوی کرتی ہے:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"ڈیفالٹ"</string>
     <string name="default_for_work" msgid="537558180548617528">"کام کیلئے ڈیفالٹ"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"معاون اور صوتی ان پٹ"</string>
@@ -3909,8 +4012,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"دیگر ایپس پر ڈسپلے کریں"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"دیگر ایپس پر ڈسپلے کی اجازت دیں"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"اپنی زیر استعمال دیگر ایپس کے اوپر اس ایپ کو ڈسپلے ہونے کی اجازت دیں۔ یہ آپ کی ان ایپس کے استعمال میں مداخلت کر سکتی ہے یا وہ جس طرح دکھائی دیتی یا برتاؤ کرتی دکھائی دیتی ہیں، اس میں تبدیلی کر سکتی ہے۔"</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"سبھی فائلز کی رسائی"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"سبھی فائلز کا نظم کرنے کیلئے رسائی کی اجازت دیں"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"اس ایپ کو اس آلہ یا کسی منسلک اسٹوریج والیوم کی تمام فائلز کو پڑھنے، بڑا کرنے اور حذف کرنے کی اجازت دیں۔ اگر اجازت دی گئی تو، ایپ آپ کی صَرِيح معلومات کے بغیر فائلز تک رسائی حاصل کر سکتی ہے۔"</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"سبھی فائلز تک رسائی حاصل کی جا سکتی ہے"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"‏vr ورچوئل رئیلٹی سامع اسٹیریو مددگار سروس"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"دیگر ایپس کے اوپر سسٹم الرٹ ونڈو ڈائیلاگ کا ڈسپلے"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"دیگر ایپس پر ڈسپلے کریں"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"<xliff:g id="COUNT_1">%2$d</xliff:g> میں سے <xliff:g id="COUNT_0">%1$d</xliff:g> ایپس کو دیگر ایپس پر دکھانے کی اجازت ہے"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"اجازت والی ایپس"</string>
@@ -4076,6 +4182,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"<xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g> استعمال شدہ"</string>
     <string name="data_overusage" msgid="3680477320458707259">"<xliff:g id="ID_1">^1</xliff:g> سے زیادہ استعمال ہو گیا"</string>
     <string name="data_remaining" msgid="6316251496381922837">"<xliff:g id="ID_1">^1</xliff:g> باقی ہے"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"گراف جس کے درمیان ڈیٹا کا استعمال دکھا رہا ہے <xliff:g id="START_DATE">%1$s</xliff:g> اور <xliff:g id="END_DATE">%2$s</xliff:g>۔"</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"اس تاریخ کی حد میں کوئی ڈیٹا نہیں ہے"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="other">‏‎%d دن باقی ہیں</item>
       <item quantity="one">‏‎%d دن باقی ہے</item>
@@ -4139,14 +4247,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"پارسل کا سائز"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"اطلاع کو الرٹ کر دیا گیا"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"آواز"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"وائبریٹ"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"پیٹرن"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"ٖڈیفالٹ"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"چینل"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"کوئی نہیں"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"رینکنگ آبجیکٹ غائب ہے۔"</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"یہ کلید رینکنگ آبجیکٹ میں موجود نہیں ہے۔"</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"تھیم لگایا جا رہا ہے"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"آلہ ڈیفالٹ"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"ڈسپلے کٹ آؤٹ"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"ڈسپلے کٹ آؤٹ، نشان"</string>
@@ -4235,8 +4339,12 @@
     <string name="information_label" msgid="6939310810756569298">"معلومات"</string>
     <string name="low_label" msgid="6525629096999711220">"کم"</string>
     <string name="high_label" msgid="357503396626018487">"زیادہ"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"اسکرین کے کناروں پر اعلی حساسیت کسی بھی ایپ کے اشاروں کے ساتھ تصادم کا سبب بن سکتی ہیں۔"</string>
+    <string name="left_edge" msgid="1513576842959071849">"بایاں کنارہ"</string>
+    <string name="right_edge" msgid="1505309103265829121">"دایاں کنارہ"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"اسکرین کے کناروں پر اعلی حساسیت کسی بھی ایپ کے اشاروں کے ساتھ تصادم کا سبب بن سکتی ہیں۔"</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"پیچھے کی حساسیت"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"اشارے کی ترتیبات"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"اشاروں والی نیویگیشن، پیچھے کی حساسیت، پیچھے کا اشارہ"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"فون کو چیک کرنے کیلئے دو بار تھپتھپائیں"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"ٹیبلیٹ کو چیک کرنے کیلئے دو بار تھپتھپائیں"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"آلہ کو چیک کرنے کیلئے دو بار تھپتھپائیں"</string>
@@ -4391,7 +4499,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"ٹرگر کیرئیر فراہمی"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"\'ڈسٹرب نہ کریں\' کو اپ ڈیٹ کریں"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"متوجہ رہنے کے لیے اطلاعات موقوف کریں"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"یہ خصوصیت اس آلہ میں دستیاب نہیں ہے"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"خصوصیت دستیاب نہیں ہے"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"اس خصوصیت کو آف کر دیا گیا کیونکہ یہ آپ کے فون کو سست کر دیتی ہے"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"‏مکمل GNSS پیمائشوں کو زبردستی لاگو کریں"</string>
@@ -4401,20 +4508,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"‏ANGLE کے لیے فعال ایپ منتخب کریں"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"‏ANGLE کے لیے فعال کردہ کوئی ایپلیکیشن سیٹ نہیں ہے"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"‏ANGLE کے لیے فعال ایپلیکیشن: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"گیم ڈرائیور کی ترجیحات"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"گیم ڈرائیور کی ترتیبات میں ترمیم کریں"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"جب گیم ڈرائیور آن ہو تو آپ اس آلہ پر انسٹال کردہ ایپس کے لیے اپ ڈیٹ کردہ گرافکس ڈرائیور استعمال کرنے کو منتخب کر سکتے ہیں۔"</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"سبھی ایپس کے لیے فعال کریں"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"گرافکس ڈرائیور منتخب کریں"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"ڈیفالٹ"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"گیم ڈرائیور"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"پری ریلیز ڈرائیور"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"سسٹم گرافکس ڈرائیور"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"گرافکس ڈرائیور کی ترجیحات"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"گرافکس ڈرائیور کی ترتیبات میں ترمیم کریں"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"جب ایک سے زیادہ گرافکس ڈرائیورز موجود ہوں، تو آپ اس آلہ پر انسٹال کردہ ایپس کے لیے اپ ڈیٹ کردہ گرافکس ڈرائیور استعمال کرنے کو منتخب کر سکتے ہیں۔"</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"سبھی ایپس کے لیے فعال کریں"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"گرافکس ڈرائیور منتخب کریں"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"ڈیفالٹ"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"گیم ڈرائیور"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"ڈیولپر ڈرائیور"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"سسٹم کا گرافکس ڈرائیور"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"ایپ کی موافقت میں تبدیلیاں"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"ایپ کی موافقت کی تبدیلیاں ٹوگل کریں"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"فعال کردہ ڈیفالٹ تبدیلیاں"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"غیر فعال کردہ ڈیفالٹ تبدیلیاں"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"ترتیب اس فون پر تعاون یافتہ نہیں ہے"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"ترتیب اس ٹیبلیٹ پر تعاون یافتہ نہیں ہے"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"ترتیب اس آلے پر تعاون یافتہ نہیں ہے"</string>
@@ -4433,6 +4546,12 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"آلہ"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"کالز کے دوران غیر دستیاب"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"غیر دستیاب"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"آؤٹ پٹس شامل کریں"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"گروپ"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 آلہ منتخب کیا گیا"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> آلات منتخب کیے گئے"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"اس کے ذریعے کال موصول کریں"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"‏اس APN کو تبدیل نہیں کیا جا سکتا۔"</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"ٹیبلیٹ کی بیٹری لائف کو بہتر بنائیں"</string>
@@ -4550,10 +4669,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"‏ایک وقت میں صرف ایک ڈاؤن لوڈ کردہ SIM فعال ہو سکتا ہے۔\n\n <xliff:g id="CARRIER1">%1$s</xliff:g> پر سوئچ کرنے سے آپ کی <xliff:g id="CARRIER2">%2$s</xliff:g> سروس منسوخ نہیں ہوگی۔"</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"<xliff:g id="CARRIER">%1$s</xliff:g> پر سوئچ کریں"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"‏SIM مٹائیں"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"‏ڈاؤن لوڈ کردہ اس SIM کو مٹائیں؟"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"‏اس SIM کو مٹانے سے اس آلہ سے <xliff:g id="CARRIER_0">%1$s</xliff:g> سروس ہٹ جاتی ہے۔\n\n <xliff:g id="CARRIER_1">%2$s</xliff:g> کی سروس منسوخ نہیں ہوگی۔"</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"مٹائیں"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"‏SIM کو مٹایا جا رہا ہے…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"‏SIM کو نہیں مٹا سکتے"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"‏ایک خرابی کی وجہ سے اس SIM کو مٹایا نہیں جا سکتا ہے۔\n\nاپنا آلہ دوبارہ شروع کریں اور دوبارہ کوشش کریں۔"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"ترجیحی نیٹ ورک کی قسم"</string>
@@ -4578,7 +4693,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"غلط نیٹ ورک موڈ <xliff:g id="NETWORKMODEID">%1$d</xliff:g>۔ نظر انداز کریں۔"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"رسائی کی جگہ کے نام"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"<xliff:g id="CARRIER">%1$s</xliff:g> سے منسلک ہونے پر دستیاب نہیں ہے"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"طبی معلومات، ایمرجنسی رابطے"</string>
     <string name="see_more" msgid="7499355691042812723">"مزید دیکھیں"</string>
     <string name="see_less" msgid="2642392725363552793">"کم دیکھیں"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"<xliff:g id="APPNAME">%1$s</xliff:g> کے ساتھ استعمال کیا جانے والا آلہ"</string>
@@ -4587,11 +4701,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"کچھ غلط ہو گیا۔ ایپلیکیشن نے آلہ کو منتخب کرنے کی درخواست کو منسوخ کر دیا ہے۔"</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"کنکشن کامیاب"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"سبھی دکھائیں"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> آلات منسلک ہیں</item>
-      <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_0">%1$d</xliff:g> آلہ منسلک ہے</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"کوئی بلوٹوتھ آلہ نہیں ہے"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"آلے کی تلاش جاری ہے…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"آلہ سے منسلک ہو رہا ہے…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"بائیں"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"دائیں"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"کیس"</string>
@@ -4601,6 +4712,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"ہوائی جہاز وضع کے دوران غیر دستیاب"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"ڈیسک ٹاپ موڈ فورس کریں"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"ثانوی ڈسپلیز پر تجرباتی ڈیسک ٹاپ موڈ فورس کریں"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"‏فری فارم sizecompat کو فعال کريں"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"‏sizecompat ایپس کو فری فارم میں رہنے کی اجازت دیتا ہے"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"‏force-dark کو اوور رائیڈ کریں"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"‏force-dark کی خصوصیت کو ہمیشہ زبردستی آن رکھنے کے لیے اوور رائیڈ کرتی ہے"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"رازداری"</string>
@@ -4637,6 +4750,10 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"آپ نے حال ہی میں اس ایپ کو انسٹال کیا ہے۔"</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"آؤٹ پٹ سوئچ کریں"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"فی الوقت <xliff:g id="DEVICE_NAME">%1$s</xliff:g> پر چلایا جا رہا ہے"</string>
+    <!-- no translation found for media_output_disconnected_status (5567111639832431865) -->
+    <skip />
+    <!-- no translation found for media_output_switch_error_text (603563475910236831) -->
+    <skip />
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"اہم معلومات"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"جاری رکھیں"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"نہیں شکریہ"</string>
@@ -4664,8 +4781,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"‏SIM کا جوڑا"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"آپ کے کام کی پالیسی کی معلومات"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"‏آپ کے IT منتظم کے ذریعے نظم کردہ ترتیبات"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"بگ رپورٹ کا ہینڈلر"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"آپ کے آلے پر کون سی ایپ بگ رپورٹ شارٹ کٹ ہینڈل کرتی اس کا تعین کرتی ہے۔"</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"ذاتی"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"دفتر"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"سسٹم ڈیفالٹ"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"یہ انتخاب اب درست نہیں رہا۔ دوبارہ کوشش کریں۔"</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"کاسٹ کرنا بند کریں"</string>
 </resources>
diff --git a/res/values-uz/arrays.xml b/res/values-uz/arrays.xml
index abe944c..dd55c2f 100644
--- a/res/values-uz/arrays.xml
+++ b/res/values-uz/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"Darhol"</item>
     <item msgid="463591454172790676">"5 soniya"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"Tasdiqlanmasin"</item>
+    <item msgid="5703177653586269306">"Sertifikat holatini talab qilish"</item>
+    <item msgid="326388247868439528">"Sertifikat holatini talab qilish"</item>
+    <item msgid="1090956283885790552">"Barcha ishonchsiz sertifikat holatlarini talab qilish"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"Bog‘lash tugmasi"</item>
     <item msgid="2630618799033509548">"ulashma qurilmadagi PIN-kod"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"Hech qanday"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"IPSec VPN avval ulashilgan kalitlar bilan va Xauth tasdiqidan o‘tish"</item>
     <item msgid="2484564813864139237">"IPSec VPN sertifikatlar bilan and Xauth tasdiqidan o‘tish"</item>
     <item msgid="68918911194507915">"IPSec VPN sertifikatlar bilan va aralash tasdiqidan o‘tish"</item>
+    <item msgid="4631647675167100375">"IKEv2/IPSec VPN sertifikatlari bilan va foydalanuvchi nomi/parol autentifikatsiyasi"</item>
+    <item msgid="8812228622975052811">"IKEv2/IPSec VPN avval ulashilgan kalitlar bilan"</item>
+    <item msgid="6630554779981113046">"IKEv2/IPSec VPN sertifikatlari bilan"</item>
   </string-array>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"Hech qanday"</item>
diff --git a/res/values-uz/config.xml b/res/values-uz/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-uz/config.xml
+++ b/res/values-uz/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-uz/strings.xml b/res/values-uz/strings.xml
index 6fbeea8..38516e2 100644
--- a/res/values-uz/strings.xml
+++ b/res/values-uz/strings.xml
@@ -31,49 +31,17 @@
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Avval dasturchi sozlamalarini yoqing."</string>
     <string name="header_category_wireless_networks" msgid="303445626075235229">"Simsiz tarmoqlar"</string>
     <string name="header_category_system" msgid="1665516346845259058">"Tizim"</string>
-    <string name="radio_info_data_connection_enable" msgid="7500945447906187613">"Mobil internetni yoqish"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"Mobil internetni o‘chirish"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"VoLTE sinxronizatsiyasi yoqilgan"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"Video qo‘ng‘iroqlar ta’minoti yoniq"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"Wifi qo‘ng‘iroqlar ta’minoti yoniq"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"EAB/Presence sinxronizatsiyasi yoniq"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"CBRS axboroti"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"DSDS funksiyasini yoqish"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"Qurilma qayta ishga tushirilsinmi?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"Bu sozlamani oʻzgartirish uchun qurilmani qayta ishga tushiring."</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"Qayta ishga tushirish"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"Bekor qilish"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"Radiosignal quvvati"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"SIM kartadagi manzillar kitobini ko‘rish"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"Ruxsat etilgan raqamlarni ko‘rish"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"Terish xizmati raqamlarini ko‘rish"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"IMS xizmati holati"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"IMS holati"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"Ro‘yxatga olingan"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"Ro‘yxatdan o‘tmagan"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"Mavjud"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"Mavjud emas"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"IMS registratsiyasi: <xliff:g id="STATUS">%1$s</xliff:g>\nLTE orqali: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nWi-Fi orqali: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideoqo‘ng‘iroq: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT interfeysi: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"Xizmat doirasida"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Xizmat doirasidan tashqarida"</string>
     <string name="radioInfo_service_emergency" msgid="6838935881091760942">"Faqat favqulodda chaqiruvlar"</string>
     <string name="radioInfo_service_off" msgid="6184928420860868571">"Tarmoq o‘chirilgan"</string>
     <string name="radioInfo_roaming_in" msgid="8892550453644088692">"Rouming"</string>
     <string name="radioInfo_roaming_not" msgid="3137594549464975054">"Rouming o‘chirilgan"</string>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"Faol emas"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"Jiringlamoqda"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"Chaqiruv"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"Uzildi"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"Ulanilmoqda"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"Ulandi"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Muzlatildi"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Noma’lum"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"pkts"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"bayt"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"USB xotirani uzish"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"SD kartani uzish"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"USB xotirani tozalash"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"Ekrandagi matnni kattalashtirish yoki kichiklashtirish."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Kichiklashtirish"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Kattalashtirish"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"Namunaviy matn"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"Oz mamlakati sehrgari"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"11-bob: Oz mamlakatining zumrad shahri"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"O‘zgartirish uchun qurilmangizni qayta ishga tushiring."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"Qaytadan"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"Bekor"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"Mavjud media qurilmalar"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"Mavjud chaqiruv qurilmalari"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"Hozirda ulangan"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"Media qurilmalar"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"Chaqiruv qurilmalari"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"Boshqa qurilmalar"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Saqlangan qurilmalar"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Ulanish uchun Bluetooth yoqiladi"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Ulanish parametrlari"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"Siz noto‘g‘ri port raqamini kiritdingiz."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"HTTP proksi-serveri faqat brauzer tomonidan foydalaniladi."</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"Proksi avto-sozlamalari URL "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"Joriy qoʻshimcha identifikator:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"Mobil internet uchun standart SIM kartaning qoʻshimcha identifikatori:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"Yuklash/yuklab olish tezligi (kbit/s):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"Yuqori-past tezlik (kbit/s):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"Tarmoqning joylashuvi haqida ma’lumot (eskirgan):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"LTE jismoniy kanal konfiguratsiyasi:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"Tarmoq ma’lumotlarining yangilanish darajasi:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"Tarmoq statistikasi:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"Mobil internet xizmati:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"Rouming:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"Qo‘ng‘iroqlarni yo‘naltirish:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"Tizim yongandan keyingi PPPlar soni:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"Joriy tarmoq:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"Qabul qilingan trafik:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"Mobil aloqa xizmati:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"Signal darajasi:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"Ovozli qo‘ng‘iroq holati:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"Yuborilgan trafik:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"Parallel xabar:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"Telefon raqami:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"Tarmoqni tanlash"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"Mobil aloqa uchun tarmoq turi:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"Tarmoq turi:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"Telefon kodini tanlang"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"Afzal tarmoq turini tanlash:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"www.google.com uchun ping so‘rovi, IPv4:"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"www.google.com uchun ping so‘rovi, IPv6:"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"HTTP mijozini tekshirish:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"Ping tekshiruvini boshlash"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"Yangilanish"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"Yangilash"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"DNS tekshiruvini sozlash"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"OEM-maxsus ma\'lumoti/Sozlamalari"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"Tarmoq rejimini sozlash"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"Chastotalar ro‘yxati yuklanmoqda…"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"Sozlash"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"Muvaffaqiyatsiz"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"Bajarildi"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"USB simi ulanganda o‘zgartirishlar kuchga kiradi."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"USB xotirani yoqish"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"Jami baytlar:"</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"Oxiriga o‘tkazish"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"Tilni olib tashlash"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"Faoliyatni tanlang"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"Qurilma haqida"</string>
     <string name="display_label" msgid="3056320781191343221">"Ekran"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"Planshet haqida"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"Telefon haqida"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"USB xotira"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"SD karta"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"Proksi sozlamalari"</string>
@@ -306,9 +234,6 @@
     <string name="airplane_mode" msgid="3196085857882526817">"Parvoz rejimi"</string>
     <string name="wireless_networks_settings_title" msgid="8557542379234105369">"Simsiz tarmoqlar"</string>
     <string name="radio_controls_summary" msgid="9028430178697624501">"Wi‑Fi, Bluetooth, parvoz rejimi, uyali tarmoqlar, &amp; VPN‘larni boshqarish"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"Mobil internet"</string>
-    <string name="calls_title" msgid="6334813967619899114">"Chaqiruvlarga ruxsat"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"SMS xabarlar"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"Mobil internetdan foydalanishga ruxsat"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"Roumingda mob. int-dan foyd-sh"</string>
     <string name="roaming" msgid="3055365654530847985">"Rouming"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"Rouming vaqtida mobil internetga ulanish"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"Internet aloqangiz uzilganligiga sabab, uydan chiqib ketganligiz yoki ma‘lumotlar roumingi o‘chiq holatda."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"Roumingni yoqish"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"Roumingda internet narxi ancha yuqori."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"Internet roumingiga ruxsat berilsa, rouming uchun xarajatlar katta bo‘lishi mumkin!\n\nBu sozlama tanlovi ushbu planshetning barcha foydalanuvchilariga ta‘sir ko‘rsatishi mumkin."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"Internet roumingiga ruxsat berilsa, rouming uchun xarajatlar katta bo‘lishi mumkin!\n\nBu sozlama tanlovi ushbu telefonning barcha foydalanuvchilariga ta‘sir ko‘rsatishi mumkin."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"Rouming uchun ortiqcha haq olinishi mumkin."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"Internet-roumingga ruxsat berilganda rouming uchun haq olinishi mumkin.\n\nMazkur sozlama bu planshetdagi barcha foydalanuvchilarga ta’sir qiladi."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"Internet-roumingga ruxsat berilganda rouming uchun haq olinishi mumkin.\n\nMazkur sozlama bu telefondagi barcha foydalanuvchilarga ta’sir qiladi."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"Internet-roumingga ruxsat berilsinmi?"</string>
     <string name="networks" msgid="5184501333492775095">"Operatorni tanlash"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"Tarmoq operatorini tanlash"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"Administrator tomonidan o‘chirilgan"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"Qulflash tugmasini chiqarish"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"Smart Lock, qulfni biometrik sensor bilan ochish va ekran qulfidagi bildirishnomalarni faolsizlantiradigan quvvat tugmasini chiqarish"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"Ishonch agentlari qulf ochishni sura oladi"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"Bu parametr yoqilsa, ishonch agentlari uzoq vaqt qulfsiz saqlaydi, lekin qulflangan qurilmani qulfdan chiqara olmaydi."</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"Ishonch yoʻqolsa, ekran qulflansin"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"Bu parametr yoqilsa, oxirgi ishonchli agent ishonchni yoʻqotsa, qurilma qulflanadi"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"Hech narsa kiritilmagan"</string>
@@ -390,7 +313,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"Joylashuv va xavfsizlik sozlamalari"</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"Mening joylashuvim, ekran qulfi, hisob ma‘lumotlari omborini qulflash sozlamalari"</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"Maxfiylik"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"Administrator tomonidan o‘chirilgan"</string>
+    <string name="disabled_by_administrator_summary" msgid="5424846182313851124">"Mavjud emas"</string>
     <string name="security_status_title" msgid="6958004275337618656">"Xavfsizlik holati"</string>
     <string name="security_dashboard_summary_face" msgid="4198949293847206382">"Ekran qulfi, qulfni yuzni tanitib ochish"</string>
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Ekran qulfi, barmoq izi"</string>
@@ -693,7 +616,6 @@
       <item quantity="other">Maksimum <xliff:g id="NUMBER_1">%d</xliff:g> ta raqam</item>
       <item quantity="one">Maksimum <xliff:g id="NUMBER_0">%d</xliff:g> ta raqam</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"PIN kod faqat 0-9 raqamlaridan iborat bo‘lishi lozim"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"Qurilma administratori oxirgi PIN koddan yana foydalanishga ruxsat bermaydi"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"Oddiy PIN kodlar AT admini tomonidan bloklangan. Murakkabroq PIN kod tanlang."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"Parol yaroqsiz belgidan iborat bo‘lmasligi lozim"</string>
@@ -724,6 +646,10 @@
       <item quantity="other">Parol tarkibida kamida <xliff:g id="COUNT">%d</xliff:g> ta harf bo‘lmagan belgi bo‘lishi lozim</item>
       <item quantity="one">Parol tarkibida kamida 1 ta harf bo‘lmagan belgi bo‘lishi lozim</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="other">Kamida <xliff:g id="COUNT">%d</xliff:g> ta raqamsiz belgi boʻlishi lozim</item>
+      <item quantity="one">Kamida 1 ta raqamsiz belgi boʻlishi lozim</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"Qurilma administratori yaqinda foydalanilgan paroldan yana foydalanishga ruxsat bermaydi"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"Oddiy parollar AT admini tomonidan bloklangan. Murakkabroq parol tanlang."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"Oshib boruvchi, kamayib boruvchi yoki qaytarilgan ketma-ket raqamlarga ruxsat berilmaydi"</string>
@@ -837,19 +763,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2,4 GGs"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 GGs"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"Kirish"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"Saytni ochish"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"<xliff:g id="REMAINING_TIME">%1$s</xliff:g> qoldi"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"Muddati: <xliff:g id="EXPIRY_TIME">%1$s</xliff:g>"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"Tarmoqqa kirish uchun shu yerga bosing"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Mbit/s"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Mbit/s"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Mbit/s"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"<xliff:g id="REQUESTER">%s</xliff:g> ilovasi Wi-Fi tarmog‘ini yoqmoqchi"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"<xliff:g id="REQUESTER">%s</xliff:g> ilovasi Wi-Fi tarmog‘ini o‘chirib qo‘ymoqchi"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"Debug ilova bayt-kodlarini tekshirish"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"ART taʼminotiga debug imkoniyatli ilova bayt-kodlarini tekshirishga ruxsat berish"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"Yangilash chastotasi"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Joriy yangilash chastotasini chiqarish"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"Planshet boshqa qurilmaga tekkizilganda axborot almashinuviga ruxsat berish"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"Telefon boshqa qurilmaga tekkizilganda axborot almashinuviga ruxsat berish"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"Planshet boshqa NFC qurilmaga tekkizilganda axborot almashinuviga ruxsat berish"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"Telefon boshqa NFC qurilmaga tekkizilganda axborot almashinuviga ruxsat berish"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"NFC funksiyasini yoqish"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"NFC yordamida bu qurilma boshqa qurilmalar bilan yoki yaqin-atrofdagi obyektlar, jumladan, to‘lov terminallari, ruxsat uchun ma’lumotlarni o‘qish qurilmalari, interfaol reklamalar va teglar bilan ma’lumotlar almashadi."</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"Xavfsiz NFC"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFC uchun qurilma qulfini ochish"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"Faqat ekran ochiqligida NFC toʻlov va tranzitiga ruxsat berish"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"NFC orqali axborot almashish"</string>
@@ -923,8 +855,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Yoqish"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Wi‑Fi tarmoqlarni qidirish funksiyasi yoqildi"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Kengaytirilgan sozlamalar"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"Qo‘shimcha parametrlar pastga ochiluvchi ro‘yxatda joylashgan. Yig‘ish uchun ikki marta bosing."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"Qo‘shimcha parametrlar pastga ochiluvchi ro‘yxatda joylashgan. Yoyish uchun ikki marta bosing."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Qoʻshimcha parametrlar pastga ochiluvchi roʻyxati"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"yoyish"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"Tarmoq nomi"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"Tarmoq nomini (SSID) kiriting"</string>
     <string name="wifi_security" msgid="9095934643631406913">"Himoya"</string>
@@ -934,6 +866,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"Holati"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"Axborot uzatish tezligi"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"Axborot qabul qilish tezligi"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"Ulanish tezligi"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"Chastota"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"IP manzil"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"Bu orqali saqlangan"</string>
@@ -941,6 +874,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"EAP usuli"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"2-qadam tasdiqdan o‘tish"</string>
     <string name="wifi_eap_ca_cert" msgid="8033404008276298886">"SM sertifikati"</string>
+    <string name="wifi_eap_ocsp" msgid="8713933962516871238">"Onlayn sertifikat holati"</string>
     <string name="wifi_eap_domain" msgid="8304301470752333203">"Domain"</string>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"Foydalanuvchi sertifikati"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"Nom"</string>
@@ -957,6 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"Wi‑Fi hotspot uchun kamida bitta chastota tanlang:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"IP sozlamalari"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"Maxfiylik"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"Obuna"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"Obunani koʻrish yoki oʻzgartirish"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"Tasodifiy MAC manzil"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"Qurilma kiritish"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"Qurilmani “<xliff:g id="SSID">%1$s</xliff:g>” nomli tarmoqqa ulash uchun quyidagi QR kodni kameraga qarating"</string>
@@ -966,12 +902,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"Wi‑Fi tarmoqni ulashish"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"“<xliff:g id="SSID">%1$s</xliff:g>” nomli tarmoqqa ulanish va parolni ulashish uchun mazkur QR kodni skanerlang"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"“<xliff:g id="SSID">%1$s</xliff:g>” nomli tarmoqqa ulanish uchun mazkur QR kodni skanerlang"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"QR kod oʻqilmadi Kodni kamera oʻrtasiga moslab, qaytadan urining"</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"Qayta urining. Muammo qaytarilsa, qurilma ishlab chiqaruvchisiga murojaat qiling"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"Xatolik yuz berdi"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"Qurilma quvvat manbaiga ulangan, quvvati yetarli va yoniqligini tekshiring"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"Qurilma quvvat manbaiga ulangan, quvvati yetarli va yoniqligini tekshiring. Muammo qaytarilsa, qurilma ishlab chiqaruvchisiga murojaat qiling"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"“<xliff:g id="SSID">%1$s</xliff:g>” nomli tarmoq bu qurilma bilan mos emas"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"Qurilmani Wi‑Fi nuqtasi/routerga yaqinroq tuting"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"Parolni tekshiring va qaytadan urining"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"Qurilma ishlab chiqaruvchisiga murojaat qiling"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"Aloqani tekshiring va qaytadan urining"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"Tarmoqni tanlash"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"Qurilmangizni ulash uchun tarmoqni tanlang"</string>
@@ -984,11 +922,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"Wi‑Fi bu qurilma bilan ulashilmoqda…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"Ulanmoqda…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"Hotspotni ulashish"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"Bu siz ekaningizni isbotlang"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"Oʻzingiz ekanligingizni tasdiqlang"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"Wi-Fi paroli: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"Hotspot paroli: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"Avtoulanish"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"Bu tarmoq doirasida avtomatik ulanishga ruxsat berish"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"Bu tarmoq doirasida avtomatik ulanishga ruxsat berish"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"Qurilma kiritish"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"Qurilmani bu tarmoqqa kiritish uchun QR kodni skanlang"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"QR xato formatda"</string>
     <string name="retry" msgid="7542103800274026915">"Qaytadan"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"Qurilmaning boshqa foydalanuvchilari bilan ulashish"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(o‘zgartirilmagan)"</string>
@@ -1000,6 +942,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"Birorta ham sertifikat ko‘rsatilmagan. Aloqangiz ochiq bo‘ladi."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"Tarmoq nomi juda uzun."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"Domenni ko‘rsating."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"Sertifikat talab etiladi."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"WPS mavjud"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (WPS mavjud)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"Aloqa operatorining Wi‑Fi tarmog‘i"</string>
@@ -1051,7 +994,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"Qo‘shimcha funksiyalar"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"Tarmoq nomi (SSID)"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"MAC manzil"</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_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>
@@ -1103,7 +1047,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"Boshqa qurilmalaringiz uchun Wi-Fi tarmoq yaratish uchun hotspotdan foydalaning. Hotspot mobil internetingizni tarqatadi. Mobil internet uchun qo‘shimcha to‘lovlar olinishi mumkin."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"Ilovalar yaqin-atrofdagi qurilmalarga kontent ulashish uchun hotspot yarata oladi."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Hotspotni avtomatik faolsizlantirish"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"Hech qanday qurilma ulanmasa, Wi-Fi hotspot faolsizlantiriladi"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Hech qanday qurilma ulanmaganda"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"Ulanish nuqtasi yoqilmoqda…"</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"Ulanish nuqtasi o‘chirilmoqda…"</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> faol"</string>
@@ -1112,6 +1056,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"Wi‑Fi ulanish nuqtasini sozlash"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"AndroidAP WPA2 PSK hotspot"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"AndroidHotspot"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"Bu tarmoq saqlansinmi?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"<xliff:g id="APPNAME">%1$s</xliff:g> ilovasi tarmoqni telefonga saqlamoqchi"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"<xliff:g id="APPNAME">%1$s</xliff:g> ilovasi tarmoqni planshetga saqlamoqchi"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"Saqlanmoqda…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"Saqlandi"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"Saqlanmadi. Qayta urining."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"Tarmoqlar saqlansinmi?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"<xliff:g id="APPNAME">%1$s</xliff:g> ilovasi bu tarmoqlarni telefonga saqlamoqchi"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"<xliff:g id="APPNAME">%1$s</xliff:g> ilovasi bu tarmoqlarni planshetga saqlamoqchi"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"<xliff:g id="NUMBER">%d</xliff:g> ta tarmoq saqlanmoqda…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"Tarmoqlar saqlandi"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"Wi-Fi qo‘ng‘iroq"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"Wi‑Fi orqali chaqiruv qamrovini kengaytiring"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"Qamrovni kengaytirish uchun Wi-Fi chaqiruvni yoqing"</string>
@@ -1138,16 +1093,18 @@
     <string name="emergency_address_title" msgid="3490633500025717573">"Favqulodda holatlardagi manzili"</string>
     <string name="emergency_address_summary" msgid="3022628750270626473">"Wi‑Fi orqali favqulodda chaqiruv amalga oshirilganda joylashuvingizdan foydalaniladi"</string>
     <string name="private_dns_help_message" msgid="851221502063782306">"Shaxsiy DNS imkoniyatlari haqida "<annotation id="url">"batafsil"</annotation></string>
+    <string name="private_dns_mode_on" msgid="8878679071975375696">"Yoniq"</string>
     <string name="wifi_calling_pref_managed_by_carrier" msgid="129524064888622179">"Bu sozlamalarni aloqa operatori boshqaradi"</string>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"Wi-Fi chaqiruvni faollashtiring"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"Wi-Fi chaqiruvni yoqing"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"%1$s aloqa operatorida Wi-Fi chaqiruv ishlamaydi"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"<xliff:g id="SSID">%1$s</xliff:g> nomli tarmoqdan uzildi"</string>
     <string name="carrier" msgid="1755020806290963951">"Aloqa operatori"</string>
     <string name="display_settings_title" msgid="626835071804834218">"Ekran"</string>
     <string name="sound_settings" msgid="5514582720435174014">"Tovush"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"Ovoz balandligi"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"Musiqa effektlari"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"Jiringlash tovushi"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"Rington va bildirishnoma balandligi"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"Ovozsizligida tebranish"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"Standart bildirishnoma tovushi"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"Rington"</string>
@@ -1272,13 +1229,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"Reja"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"Hech qanday"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"Quyosh botishidan to chiqishigacha"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"Muayyan vaqtda yoqiladi"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"Holati"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"Yoqilmagan / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"Hech qachon avtomatik yoqilmaydi"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"Quyosh botishi bilan avtomatik yoqiladi"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"<xliff:g id="ID_1">%1$s</xliff:g> da avtomatik yoqiladi"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"Yoniq / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"Hech qachon avtomatik faolsizlantirilmaydi"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"Quyosh chiqishi bilan avtomatik tugaydi"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"<xliff:g id="ID_1">%1$s</xliff:g> da avtomatik faolsizlantiriladi"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"<xliff:g id="ID_1">%1$s</xliff:g> gacha yoniq tursin"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"<xliff:g id="ID_1">%1$s</xliff:g> gacha yoqilmasin"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"Tungi mavzuda ayrim ekranlar asl qora tusga kiradi va batareya sarfi tejaladi. Agar telefonni ishlatayotgan vaqtingizda tungi rejimning yonish vaqti kelib qolsa, u ekran keyingi safar yonganida ishga tushadi."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"Ekranning kutish vaqti"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"Ekranning o‘chishi"</string>
@@ -1290,7 +1252,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"Fon rasmini o‘zgartirish"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"Ekran uchun fon rasmini tanlang"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"Fon rasmi qayerdan tanlansin"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"Pixel qurilmangizni moslab oling"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"Telefoningizni moslashtiring"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"Boshqa uslub va fon rasmlaridan foydalaning."</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"Ekran lavhasi"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Quvvat olayotganda yoki dok-stansiyaga ulanganda"</string>
@@ -1379,6 +1341,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"USB xotirani uzib, xotiradagi qolgan joyni ko‘rish"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"SD kartani uzib, xotirada qolgan joyni ko‘rsatish"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (%1$d-SIM uyasi)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"Ochish uchun saqlangan tarmoqni tanlang"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"Telefon raqami"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (%1$d-SIM uyasi)"</string>
@@ -1405,6 +1368,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"Rouming"</string>
     <string name="status_operator" msgid="4335640583552058491">"Tarmoq"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"Wi‑Fi MAC manzili"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"Qurilmaning Wi‑Fi MAC manzili"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"Bluetooth manzili"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Seriya raqami"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Faollik vaqti"</string>
@@ -1617,6 +1581,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Standart sozlamalar tiklandi."</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"Asliga qaytarish"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"Tarmoq, ilova yoki qurilma sozlamalarini asliga qaytarishingiz mumkin"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"Ilovalarni asliga qaytarish mumkin"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"Wi-Fi, mobil internet va Bluetooth parametrlarini tiklash"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"Bu barcha tarmoq sozlamalarini, jumladan, mazkur sozlamalarni asliga qaytaradi:\n\n"<li>"Wi‑Fi"</li>\n<li>"Mobil internet"</li>\n<li>"Bluetooth"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"Yuklab olingan SIM kartalar axborotini tozalash"</string>
@@ -1666,6 +1631,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"Hotspot yoniq"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"Modem rejimi"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"Trafik tejash rejimida hotspotga ulanib bo‘lmaydi"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"Faqat Hotspot orqali"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"Faqat USB orqali"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"Faqat Bluetooth orqali"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"Hotspot, USB orqali"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"Hotspot, Bluetooth orqali"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB, Bluetooth orqali"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"Hotspot, USB, Bluetooth orqali"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"Internet boshqa qurilmalarga ulashilmaydi"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"Modem rejimi"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Wi‑Fi hotspot ishlatilmasin"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Internetni faqat USB orqali ulashish"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Internetni faqat Bluetooth orqali ulashish"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Internetni faqat USB va Bluetooth orqali ulashish"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB modem"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"Telefondagi internetni USB orqali tarqatish"</string>
@@ -1756,9 +1734,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"Xavfsizlik qoidalari"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"Qurilma internetga ulanmagan. Bu ma’lumotni ko‘rish uchun internetga ulangan istalgan kompyuterda %s sahifasini oching."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"Yuklanmoqda…"</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"PIN kod ishlatish"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"Grafik kalitdan foydalanish"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"Paroldan foydalanish"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"Ekranni qulfini sozlash"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"Xavfsizlik uchun parol o‘rnating"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"Barmoq izidan foydalanish uchun parol o‘rnating"</string>
@@ -1767,8 +1742,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"Barmoq izidan foydalanish uchun PIN kod o‘rnating"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"Grafik kalit yarating"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"Parolni qayta kiriting"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"Ishchi profilingiz parolini kiriting"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"Grafik kalitni tasdiqlang"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"Ishchi profilingizning chizmali kalitini kiriting"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"PIN kodni qayta kiriting"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"Ishchi profilingizning PIN kodini kiriting"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"Parol mos kelmadi"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"PIN-kod mos kelmadi"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"Grafik kalitni yana bir marta chizing"</string>
@@ -1779,6 +1757,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"Yuz bilan ochish uchun parolni sozlang"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"Yuz bilan ochish uchun grafik parolni sozlang"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"Yuz bilan ochish uchun PIN kodni sozlang"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"Parolni unutdingizmi?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"Chizmali kalitni unutdingizmi?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"PIN kodni unutdingizmi?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"Davom etish uchun grafik kalitni chizing"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"Davom etish uchun qurilmangiz PIN kodini kiriting"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"Davom etish uchun qurilmangiz parolini kiriting"</string>
@@ -1846,6 +1827,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"Barcha manbalarga ruxsat"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"Yaqinda ochilgan ilovalar"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"Barcha ilovalar (<xliff:g id="COUNT">%1$d</xliff:g>)"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"AT administratoriga murojaat qiling"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"Ular sizga PIN kod, grafik kalit yoki parolni tiklashda yordam beradi"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"Planshetingiz va shaxsiy ma‘lumotlaringiz notanish ilovalar xujumiga zaif bo‘ladi. Bunday ilovalarni ushbu manbadan o‘rnatish bilan ularning planshetizga yetkazadigan shikast va ma‘lumotlaringizni o‘chirib yuborishiga javobgarlikni o‘z zimmangizga olasiz."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"Telefoningiz va shaxsiy ma‘lumotlaringiz notanish ilovalar xujumiga zaif bo‘ladi. Bunday ilovalarni ushbu manbadan o‘rnatish bilan ularning telefoningizga yetkazadigan shikast va ma‘lumotlaringizni o‘chirib yuborishiga javobgarlikni o‘z zimmangizga olasiz."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"Qurilmangiz va shaxsiy ma’lumotlaringiz notanish ilovalar hujumiga qarshilik ko‘rsata olmaydi. Ushbu manbadan ilovalar o‘rnatish orqali siz ulardan foydalanish natijasida qurilmangizga yetkazilgan har qanday zarar yoki o‘chib ketgan ma’lumotlaringiz uchun o‘zingiz javobgar bo‘lasiz."</string>
@@ -1897,7 +1880,7 @@
     <string name="default_emergency_app" msgid="1929974800666613803">"Favqulodda bildirishnomalar ilovasi"</string>
     <string name="reset_app_preferences" msgid="8861758340732716573">"Standart sozlamalarni tiklash"</string>
     <string name="reset_app_preferences_title" msgid="8935136792316050759">"Standart sozlamalar tiklansinmi?"</string>
-    <string name="reset_app_preferences_desc" msgid="1377296810290814749">"Quyidagi sozlamalar asliga qaytariladi:\n\n"<li>"Faolsizlantirilgan ilovalar"</li>\n<li>"Faolsizlantirilgan ilovalarning bildirishnomalari"</li>\n<li>"Muayyan amallar uchun birlamchi ilovalar"</li>\n<li>"Fonda internetdan foydalanishga nisbatan cheklovlar"</li>\n<li>"Ruxsatlar uchun barcha cheklovlar"</li>\n\n"Ilovalarga tegishli ma’lumotlar saqlanib qoladi."</string>
+    <string name="reset_app_preferences_desc" msgid="6509978724602405805">"Quyidagi sozlamalar asliga qaytariladi:\n\n "<li>"Faolsizlantirilgan ilovalar"</li>\n" "<li>"Faolsizlantirilgan ilovalarning bildirishnomalari"</li>\n" "<li>"Muayyan amallar uchun birlamchi ilovalar"</li>\n" "<li>"Fonda internetdan foydalanishga nisbatan cheklovlar"</li>\n" "<li>"Ruxsatlar uchun barcha cheklovlar"</li>\n\n"Ilovalarga tegishli axborotlar saqlanib qoladi."</string>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"OK"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"Xotiradagi bo‘sh joy boshqaruvi"</string>
     <string name="filter" msgid="9039576690686251462">"Saralash"</string>
@@ -2097,7 +2080,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"Audio va ekrandagi matn"</string>
     <string name="display_category_title" msgid="6638191682294461408">"Ekran"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"Boshqaruv elementlari"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"Yuklab olingan xizmatlar"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"Yuklab olingan ilovalar"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"Tajribaviy"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"Tajribaviy funksiyalar"</string>
     <string name="talkback_title" msgid="8756080454514251327">"Talkback"</string>
@@ -2105,27 +2088,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"Ekrandagi elementlarni o‘qib eshittirish uchun ularning ustiga bosing"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"Taglavha sozlamalari"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"Kattalashtirish"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"Kattalashtiriladigan hudud"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"Kattalashtirish sozlamasini yoqish"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"Kattalashtiriladigan ekran hududini tanlang"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"Butun ekran"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"Ekran qismi"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"Butun ekran va ekran qismi"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"Butun ekranni kattalashtirish"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"Ekran qismini kattalashtirish"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Kattalashtirish sozlamalari"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"Uch marta bosib kattalashtirish"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Tugma yordamida kattalashtirish"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Tugma va uch marta bosish bilan kattalashtirish"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"<xliff:g id="SERVICE">%1$s</xliff:g> haqida"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"Parametrlar"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"Ekranda kattalashtirish"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"3 marta bosib masshtabni o‘zgartirish"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Kattalashtirish uchun tugmani bosing"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><b>"Kattalashtirish"</b>" uchun ekranga bitta barmoq bilan 3 marta bosing.\n"<ul><li>"Siljitish uchun ikkita barmog‘ingiz bilan suring"</li>\n<li>"Masshtabini o‘zgartirish uchun ekran ustida ikki barmog‘ingizni jipslashtiring"</li></ul>\n\n<b>"Vaqtinchalik kattalashtirish"</b>" uchun ekran ustida barmog‘ingizni 3 marta tez-tez bosib, oxirgisini bosib turing.\n"<ul><li>"Ekran bo‘ylab harakatlanish uchun suring"</li>\n<li>"O‘z holatiga qaytarish uchun barmoqni qo‘yib yuboring"</li></ul>\n\n"Klaviatura yoki navigatsiya paneli orqali kattalashtirib bo‘lmaydi."</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"Kattalashtirish funksiyasi yordamida ekrandagi tasvirlarni yaqinlashtirishingiz mumkin.\n\n"<b>"Tasvirni yaqinlashtirish uchun"</b>" bu xizmatni ishga tushiring va ekranning biror yeriga bosing.\n"<ul><li>"• Yaqinlashtirilgan hududni siljitish uchun 2 ta yoki koʻproq barmoq bilan suring"</li>\n<li>"• Yaqinlashtirish yoki uzoqlashtirish uchun 2 ta yoki koʻproq barmoq bilan chimding"</li></ul>\n\n<b>"Tasvrni vaqtinchalik yaqinlashtirish uchun"</b>" kattalashtirish funksiyasini ishga tushiring va ekranning biror yeriga bosib turing.\n"<ul><li>"• Ekranning biror qismiga oʻtish uchun barmoq bilan suring"</li>\n<li>"• Chap barmoq bilan uzoqlashtirish mumkin"</li></ul>\n\n"Klaviatura yoki navigatsiya paneli orqali yaqinlashtirish imkonsiz."</string>
+    <string name="accessibility_screen_magnification_summary" msgid="7617931632990040045">"Ekrandagi kontentni tiniqlashtirish uchun uni tezkor usulda kattalashtiring.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Kattalashtirish uchun:&lt;/b&gt;&lt;br/&gt;	1. Kattalashtirish tugmasini bosing&lt;br/&gt;	2. Ekran ustiga bosing&lt;br/&gt;	3. Ekranni 2 ta barmoq bilan suring&lt;br/&gt;	4. Moslash uchun 2 ta barmoq bilan chimding&lt;br/&gt;	5. Yakunlash uchun kattalashtirish tugmasini bosing&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Vaqtincha kattalashtirish uchun:&lt;/b&gt;&lt;br/&gt;	1. Kattalashtirish tugmasini bosing&lt;br/&gt;	2. Ekranning istalgan qismini bosib turing&lt;br/&gt;	3. Ekranni barmoq bilan suring&lt;br/&gt;	4. Yakunlash uchun barmoqni ekrandan oling"</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Agar kattalashtirish yoqilsa, ekrandagi maʼlumotlarni kattalashtirish mumkin.\n\n"<b>"Kattalashtirish"</b>" uchun zum tugmasini bosib, ekranning istalgan joyini bosing.\n"<ul><li>"Siljitish uchun bir nechta barmogʻingiz bilan suring"</li>\n<li>"Masshtabini oʻzgartirish uchun bir nechta barmogʻingizni jipslashtiring"</li></ul>\n\n<b>"Vaqtinchalik kattalashtirish uchun"</b>" zum tugmasini bosib, ekranning istalgan joyini bosing va ushlab turing.\n"<ul><li>"Ekran boʻylab harakatlanish uchun suring"</li>\n<li>"Oʻz holatiga qaytarish uchun barmoqni qoʻyib yuboring"</li></ul>\n\n"Klaviatura yoki navigatsiya paneli orqali kattalashtirib boʻlmaydi."</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Ochish uchun maxsus imkoniyatlar tugmasi"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Imo-ishoralardan foydalaning"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"Maxsus imkoniyatlarga oid yangi ishora"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"Bu xizmatni yoqish va faolsizlantirish uchun ekran pastidagi <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> maxsus imkoniyatlar tugmasi ustiga bosing.\n\nXizmatlarni almashtirish uchun maxsus imkoniyatlar tugmasini bosib turing."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"Bu xizmatni yoqish va faolsizlantirish uchun 2 ta barmoq bilan ekranning pastidan tepaga suring.\n\nXizmatlarni almashtirish uchun 2 ta barmoq bilan tepaga suring va bosib turing."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"Bu xizmatni yoqish va faolsizlantirish uchun 3 ta barmoq bilan ekranning pastidan tepaga suring.\n\nXizmatlarni almashtirish uchun 3 ta barmoq bilan tepaga suring va bosib turing."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"Maxsus imkoniyatlar xizmatini yoqish va faolsizlantirish uchun 2 barmoq bilan ekranning pastidan tepaga suring.\n\nXizmatlarni almashtirish uchun 2 barmoq bilan tepaga suring va bosib turing."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"Maxsus imkoniyatlar xizmatini yoqish va faolsizlantirish uchun 3 ta barmoq bilan ekranning pastidan tepaga suring.\n\nXizmatlarni almashtirish uchun 3 ta barmoq bilan tepaga suring va bosib turing."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"Bu xizmatni yoqish va faolsizlantirish uchun ekran pastidagi maxsus imkoniyatlar tugmasi<xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> ustiga bosing.\n\nXizmatlarni almashtirish uchun maxsus imkoniyatlar tugmasini bosib turing."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"Bu xizmatni yoqish va faolsizlantirish uchun 2 ta barmoq bilan ekranning pastidan tepaga suring.\n\nXizmatlarni almashtirish uchun 2 ta barmoq bilan tepaga suring va bosib turing."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"Bu xizmatni yoqish va faolsizlantirish uchun 3 ta barmoq bilan ekranning pastidan tepaga suring.\n\nXizmatlarni almashtirish uchun 3 ta barmoq bilan tepaga suring va bosib turing."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"Maxsus imkoniyatlar xizmatini yoqish va faolsizlantirish uchun 2 barmoq bilan ekranning pastidan tepaga suring.\n\nXizmatlarni almashtirish uchun 2 barmoq bilan tepaga suring va bosib turing."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"Maxsus imkoniyatlar xizmatini yoqish va faolsizlantirish uchun 3 ta barmoq bilan ekranning pastidan tepaga suring.\n\nXizmatlarni almashtirish uchun 3 ta barmoq bilan tepaga suring va bosib turing."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"OK"</string>
+    <string name="accessibility_shortcut_title" msgid="8125867833704517463">"<xliff:g id="SERVICE">%1$s</xliff:g> tezkor tugmasi"</string>
+    <string name="accessibility_shortcut_edit_summary_software" msgid="2820923641553461297">"Maxsus imkoniyatlar tugmasi"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture" msgid="8078659880723370597">"2 barmoq bilan tepaga svayp qiling"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture_talkback" msgid="7422753388389160524">"3 barmoq bilan tepaga svayp qiling"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software" msgid="4796192466943479849">"Maxsus imkoniyatlar tugmasini bosing"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8922102767509399352">"Ekranning pastidagi <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> maxsus imkoniyatlar tugmasini bosing"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"2 barmoq bilan ekran pastidan tepaga svayp qiling"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"3 barmoq bilan ekran pastidan tepaga svayp qiling"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Tovush tugmalarini bosib turing"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"Ikkala tovush tugmalarini 1 soniya bosib turing"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Ekran ustiga uch marta bosing"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"Ekranga tez-tez 3 marta bosing. Bu qurilmangizni sekinlashtirishi mumkin."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"Kengaytirilgan"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"Maxsus imkoniyatlar tugmasi <xliff:g id="SERVICE">%1$s</xliff:g> xizmatiga sozlangan. Kattalashtirish uchun Maxsus imkoniyatlar tugmasini bosib turib, keyin kattalashtirishni tanlang."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"Endi <xliff:g id="SERVICE">%1$s</xliff:g> maxsus imkoniyatlar ishorasi bilan ishga tushadi. Lupadan foydalanish uchun 2 barmoq bilan ekranning pastidan tepaga suring va tortib turing. Keyin masshtabni tanlang."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"Tovush balandligi tugmasi"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"Xizmatni tezkor ishga tushirish"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Tezkor tugma sozlamalari"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"Qulflangan ekrandan ruxsat berish"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"Agar tezkor tugmalar yoniq bo‘lsa, maxsus imkoniyatlar funksiyasini ishga tushirish uchun ikkala ovoz balandligini boshqarish tugmasini 3 soniya bosib turing."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"Yuqori kontrastli matn"</string>
@@ -2149,24 +2157,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"Amal bajarishni talab qiladigan vaqtinchalik xabarlar qancha vaqt chiqishi kerakligini tanlang.\n\nAyrim ilovalarda bu parametr ishlamasligi mumkin."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"Bosganda va bosib turganda kechikish"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"Ranglarni akslantirish"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"Unumdorligiga ta’sir qilishi mumkin"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"Kutish vaqti"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"Ranglarni akslantirishdan foydalanish"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"Ranglarni akslantirish yorqin ranglarni qora ranglarga almashtiradi. Bu yorqin ranglarda koʻzlari tez charchaydigan insonlarning koʻrishini osonlashtiradi.&lt;br/&gt;&lt;br/&gt;Diqqat: qora ranglar esa yorqin ranglarga almashadi. Media va rasmlarda ranglar oʻzgaradi. Shuningdek, tungi mavzudan foydalanishingiz mumkin (Sozlamalar &gt; Displey)."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"Avtomatik bosish (kechikish vaqti)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"Agar sichqoncha ishlatsangiz, muayyan vaqtdan keyin kursor harakatlanishdan to‘xtaganda u avtomatik ishlashini sozlashingiz mumkin."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"Bosishdan oldin biroz kuting"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"Avtoklik ishlatilmasin (asosiy)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"Qisqa"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0,2 soniya"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"Oʻrtacha"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0,6 soniya"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"Uzun"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 soniya"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"Boshqa"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"Qisqaroq"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"Uzoqroq"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"Avtoklik vaqti"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"Tebranish va sezgir aloqa"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Bildirishnomada tebranish"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Jiringlaganda tebranish"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Sezgir aloqa"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"Xizmatdan foydalanish"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g> ishlatish"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g> ilovasini ochish"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"Rangni tuzatish funksiyasidan foydalanish"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"Taglavhalardan foydalanish"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"Taglavhalarni koʻrsatish"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"Taglavha koʻrinishi"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"Matn oʻlchami va taglavha uslubi"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"Boshqa parametrlar"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"Bu sozlama barcha ilovalarda ishlamaydi."</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"Maxsus imkoniyatlar tugmasi"</string>
+    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"2 ta barmoq bilan yuqoriga va pastga svayp qilish"</string>
+    <string name="accessibility_shortcut_type_hardware" msgid="4834144210432451916">"Tovush tugmalarini bosib turing"</string>
+    <string name="accessibility_shortcut_type_triple_tap" msgid="7717524216825494543">"Ekran ustiga uch marta bosing"</string>
     <string name="accessibility_hearingaid_instruction_continue_button" msgid="3367260988024430722">"Davom etish"</string>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"Eshitish apparatlari"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"Hech qanday eshitish apparatlari ulanmagan"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"Eshitish apparatlarini kiritish"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"Eshitish apparatlarini ulash uchun keyingi ekranda qurilmani topib, ustiga bosing."</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"Eshitish apparatlari ulanish rejimida ekanini tekshiring."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"Eshitish apparatlarini ulash uchun keyingi ekranda qurilmani topib, ustiga bosing. Eshitish apparatlari ulanish rejimida ekanini tekshiring."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> faol"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> ta saqlangan eshitish apparati</item>
@@ -2178,25 +2204,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Bu xizmat xato ishlayapti."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Tezkor sozlamalarda ko‘rsatish"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"Tuzatish rejimi"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="other">Nihoyatda qisqa kechikish bilan (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Nihoyatda qisqa kechikish bilan (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Qizil/yashil"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"Yashil/qizil"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Koʻk/sariq"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"Deyteranomaliya"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"Protanomaliya"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"Tritanomaliya"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="other">Nihoyatda qisqa kechikish bilan (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> soniya)</item>
+      <item quantity="one">Nihoyatda qisqa kechikish bilan (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> soniya)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="other">Juda qisqa kechikish bilan (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Juda qisqa kechikish bilan (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="other">Juda qisqa kechikish bilan (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> soniya)</item>
+      <item quantity="one">Juda qisqa kechikish bilan (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> soniya)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="other">Qisqa kechikish bilan (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Qisqa kechikish bilan (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="other">Qisqa kechikish bilan (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> soniya)</item>
+      <item quantity="one">Qisqa kechikish bilan (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> soniya)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="other">Uzoq kechikish bilan (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Uzoq kechikish bilan (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="other">Uzoq kechikish bilan (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> soniya)</item>
+      <item quantity="one">Uzoq kechikish bilan (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> soniya)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="other">Juda uzoq kechikish bilan (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="one">Juda uzoq kechikish bilan (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="other">Juda uzoq kechikish bilan (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> soniya)</item>
+      <item quantity="one">Juda uzoq kechikish bilan (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> soniya)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> soniya</item>
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> soniya</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"Jiringlash: <xliff:g id="SUMMARY_RING">%1$s</xliff:g>, bildirishnoma: <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>, teginish: <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"Jiringlash va bildirishnoma: tebranmaydi"</string>
@@ -2523,7 +2559,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"Quvvat manbaidan uzilganiga <xliff:g id="UNPLUGGED">%1$s</xliff:g> bo‘ldi"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"Jami"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"Yangilash"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"Android OS"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"Mediaserver"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"Ilovalarni optimallashtirish"</string>
     <string name="battery_saver" msgid="7737147344510595864">"Quvvat tejash"</string>
@@ -2604,8 +2639,7 @@
     <string name="tts_play" msgid="2945513377250757221">"Ijro"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"Hisob axboroti ombori"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"Xotira kartasidan o‘rnatish"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"SD-kartadan o‘rnatish"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"Sertifikat oʻrnatish"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"Sertifikatlarni xotira kartasidan o‘rnatish"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"Sertifikatlarni SD-kartadan o‘rnatish"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"Hisob axborotini tozalash"</string>
@@ -2625,6 +2659,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"Hisob ma‘lumotlari ombori tozalandi."</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"Hisob ma’lumotlari omborini o‘chirib bo‘lmaydi."</string>
     <string name="usage_access_title" msgid="1580006124578134850">"Ruxsati bor ilovalar"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"SM sertifikati"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"VPN va ilova foydalanuvchisi sertifikati"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"Wi‑Fi sertifikati"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"Maxfiyligingiz xavf ostida"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"SM sertifikatlari saytlar, ilovalar va shifrlanadigan VPN tarmoqlar tomonidan ishlatiladi. Faqatgina ishonchli tashkilotlarning SM sertifikatlarini oʻrnating. \n\n Agar SM sertifikati oʻrnatilsa, serfitikat egasi sayt yoki ilovalarda ishlatilgan parollar, xabarlar, kredit karta axboroti kabi shaxsiy maʼlumotlaringizni hatto shifrlangan taqdirda ham koʻra oladi."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"Oʻrnatilmasin"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"Baribir oʻrnatish"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"Sertifikat oʻrnatilmadi"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"Favqulodda chaqiruv signali"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Favqulodda qo‘ng‘iroq uchun xususiyat o‘rnatish"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Zaxiralash"</string>
@@ -2652,10 +2694,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"Faolsizlantirish va o‘chirib tashlash"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"Qurilma administratori ilovalari"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"Hech qanday qurilma administratori ilovasi o‘rnatilmagan"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"Shaxsiy"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"Ish"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"SMS va chaqiruvlar jurnaliga kirishni cheklash"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"Faqat asosiy telefon va SMS ilovalarida SMS va chaqiruvlar jurnaliga kirish uchun ruxsat bor"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"Ishonchli agentlar mavjud emas"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"Bu ilova faollashtirilsinmi?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"Bu qurilma administratori ilovasini faollashtirish"</string>
@@ -2669,6 +2707,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"Boshqa funksiyalar administratoringiz tomonidan o‘chirilgan"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"Batafsil"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"Bildirishnomalar jurnali"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"Bildirishnomalar tarixi"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"Bugun"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"Kechiktirildi"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"Yaqinda yopildi"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> ta bildirishnoma</item>
+      <item quantity="one"><xliff:g id="NUMBER_0">%d</xliff:g> ta bildirishnoma</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"Qo‘ng‘iroq jiringlash ohangi &amp; tebranish"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"Tarmoq tafsilotlari"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"Sinxronlash yoniq"</string>
@@ -3018,7 +3064,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"Cheklovlar"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"Cheklovlarni olib tashlash"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"PIN kodni o‘zgartirish"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"Xabarnomalarni ko‘rsatish"</string>
     <string name="help_label" msgid="2896538416436125883">"Yordam va fikr-mulohaza"</string>
     <string name="support_summary" msgid="1034146931237148885">"Yordam maqolalari, telefon va chat, ishni boshlash"</string>
     <string name="user_account_title" msgid="6389636876210834864">"Kontent uchun hisob"</string>
@@ -3043,6 +3088,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G chaqiruv"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Aloqa sifatini yaxshilash uchun LTE xizmatlaridan foydalanish (tavsiya etiladi)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Aloqa sifatini yaxshilash uchun 4G xizmatlaridan foydalanish (tavsiya etiladi)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Kontaktlarga kirish ruxsati"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Tarmoq operatoriga kontaktlar uchun qaysi chaqiruv funksiyalari ishlashini aniqlashga ruxsat beradi."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Kontaktlarga kirish ruxsati berilsinmi?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Bu funksiya yoqilsa, tarmoq operatori kontaktlar uchun qaysi chaqiruv funksiyalari ishlashini aniqlashi uchun kontaktlaringizdagi telefon raqamlaridan foydalana oladi."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Tarmoq turi"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (tavsiya etiladi)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS xabarlar"</string>
@@ -3087,7 +3136,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"Quyidagi bilan qo‘ng‘iroq qilish"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"SIM kartani tanlang"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"<xliff:g id="CARD_NUMBER">%1$d</xliff:g>-SIM"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"SIM karta uyasi bo‘sh"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"SIM karta nomi"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"SIM karta nomini kiriting"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"%1$d-SIM karta teshigi"</string>
@@ -3097,6 +3145,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"SIM kartani tanlang"</string>
     <string name="color_orange" msgid="216547825489739010">"To‘q sariq"</string>
     <string name="color_purple" msgid="6603701972079904843">"Binafsharang"</string>
+    <string name="color_pink" msgid="8596872110888626708">"Pushti"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"SIM karta solinmagan"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"SIM karta holati"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"SIM karta holati (%1$d-SIM uyasi)"</string>
@@ -3110,7 +3159,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> sh.s.b"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"SIM kartalar o‘zgartirildi."</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Sozlash uchun bosing"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"Quyidagi uchun afzal ko‘rilgan SIM karta"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Har safar so‘ralsin"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Tanlash zarur"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"SIM kartani tanlang"</string>
@@ -3128,6 +3176,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"Bluetooth, avtomobil rejimi"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"Bluetooth, NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"Bluetooth"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"NFC yoqilmagani uchun ishlamaydi"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"Ilovalar va bildirishnomalar"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Oxirgi ilovalar, birlamchi ilovalar"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Ishchi profildagi ilovalarga bildirishnomalar ruxsati berilmagan."</string>
@@ -3138,13 +3187,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"Sozlamalar"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"Wi-Fi, WiFi, tarmoq aloqasi, Internet, simsiz, mobil internet, Wi Fi"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"Wi‑Fi bildirishnomasi, Wi-Fi bildirishnoma"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"trafik sarfi"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"Tebranishni toʻxtatish, teginish, klaviatura"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"24 soatlik format"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"Yuklab olish"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"Bu orqali ochish"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"Ilovalar"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"vaqt mintaqasi"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"Chat boshi"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"Chat boshi, tizim, bildirishnoma, oyna, muloqot, chiqarish, boshqa ilovalar ustidan, chizish"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"Chaqnoq, chiroq, yorqinlik"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"Wi-Fi, wi-fi, almashtirish, boshqarish"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"mobil, mobil aloqa operatori, simsiz, internet, 4g, 3g, 2g, lte"</string>
@@ -3168,7 +3218,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"bezovta qilmaslik, bezovta, bezovtalik, uzish"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"yaqin-atrofda, joylashuv, tarix, xabar berish, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"hisob"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"hisob, hisob kiritish, ishchi profil, hisob qoʻshish"</string>
     <string name="keywords_users" msgid="3497517660077620843">"cheklov, cheklash, cheklangan"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"matnni tuzatish, to‘g‘ri, ovoz, tebranish, avto, til, imo-ishora, taklif qilish, taklif, mavzu, haqoratomuz so‘z, yozish, kulgich, xalqaro"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"tiklash, sozlamalar, birlamchi"</string>
@@ -3206,6 +3256,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"xotira, kesh, maʼlumotlar, oʻchirish, tozalash, ochish, joy"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"ulangan, qurilma, quloqliklar, garnitura, karnay, simsiz, ulash, quloqliklar, musiqa, media"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"fon, ekran, ekran qulfi, mavzu"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"belgi shakli, aksent rangi, shrift"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"birlamchi, assistent"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"to‘lov, birlamchi"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"kiruvchi bildirishnoma"</string>
@@ -3215,18 +3266,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"sezish, tebranish, sezuvchanlik"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"quvvat tejash, yopishqoq, davom etish, batareya tejash, batareya"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"amallar ketma-ketligi, jadval, batareya tejagich, quvvat tejagich, batareya, avtomatik, foiz"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"ish profili"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"volte, kengaytirilgan chaqiruv, 4g chaqiruv"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"til kiritish, tilni kiritish"</string>
     <string name="default_sound" msgid="6604374495015245195">"Birlamchi ovoz"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"Jiringlaganda: <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"Rington va bildirishnoma balandligi: 80<xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Tovush balandligi, tebranish, Bezovta qilinmasin rejimi"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"Qo‘ng‘iroq vaqti tebranish yoqilgan"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"Qo‘ng‘iroq ovozi o‘chirilgan"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"Jiringlaganda: 80%"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"Rington va bildirishnoma balandligi: 80%"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Multimedia tovushi"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Translatsiya tovushi balandligi"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"Suhbat tovushi"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"Signal tovushi"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"Jiringlash tovushi"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"Rington va bildirishnoma balandligi"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"Bildirishnomalar ovozi"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"Telefon ringtoni"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"Standart bildirishnoma tovushi"</string>
@@ -3234,6 +3286,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"Standart bildirishnoma tovushi"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"Standart signal tovushi"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"Chaqiruv vaqtida tebranish"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"Tebranmasin"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"Doim tebransin"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"Tebranib, keyin balandlashib jiringlasin"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"Boshqa ovozlar"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"Raqam terilgandagi tovush"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"Ekran qulflangandagi tovush"</string>
@@ -3257,6 +3312,7 @@
       <item quantity="one">1 ta yoqilgan</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Bezovta qilinmasin"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Faqat ishonchli odamlar va ilovalardan bildirishnoma kelsin"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Bildirishnomalarni kamaytirish"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Bezovta qilinmasin rejimini yoqing"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"Istisnolar"</string>
@@ -3283,7 +3339,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Vizual bildirishnomalarni bloklash"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Vizual signallarga ruxsat"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"Bezovta qilinmasin rejimida"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"Tovush chiqarib bezovta qilishlarga ruxsat berish"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"Bildirishnoma cheklovlari"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Bildirishnomalar tovushsiz keladi"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"Bildirishnomalar ekranga chiqariladi"</string>
@@ -3314,7 +3370,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"Ovoz va tebranish"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"Ovoz, tebranish va bildirishnomalarning ayrim vizual belgilari"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"Ovoz, tebranish va bildirishnomalarning vizual belgilari"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"Asosiy telefon faoliyati uchun zarur bildirishnomalar va holati hech qachon berkitilmaydi"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"Asosiy telefon faoliyati uchun zarur bildirishnomalar va holati hech qachon berkitilmaydi."</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"Hech qanday"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"boshqa variantlar"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"Qo‘shish"</string>
@@ -3344,10 +3400,12 @@
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> ta rejani avtomatik tarzda yoqish mumkin</item>
       <item quantity="one">1 ta rejani avtomatik tarzda yoqish mumkin</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"Tovushsiz (istisnolardan tashqari)"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"Istisnolar"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"Jadval"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"Barcha istisnolar"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"Bezovta qilinmasin rejimidan istisnolar"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"Odamlar"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"Ilovalar"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"Signallar va boshqa bezovta qilishlar"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"Rejalar"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"Ovozsiz bildirishnomalar"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"Bezovta qilinmasin rejimida, yuqorida ruxsat berilganlardan tashqari, tovush va tebranishlar ovozsiz qilinadi."</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"Hammasini ovozsiz qilish, faqat bular mustasno:"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"Ovozsiz"</string>
@@ -3391,16 +3449,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"Moslashuvchan bildirishnomalar"</string>
     <string name="asst_capability_prioritizer_title" msgid="1181272430009156556">"Moslashuvchan bildirishnomalar muhimligi"</string>
     <string name="asst_capability_prioritizer_summary" msgid="954988212366568737">"Muhimligi past bildirishnomalar avtomatik ravishda tovushsiz qilinsin"</string>
+    <string name="asst_capability_ranking_title" msgid="312998580233257581">"Moslashuvchan bildirishnomalar tartiblanishi"</string>
+    <string name="asst_capability_ranking_summary" msgid="2293524677144599450">"Bildirishnomalarni moslik asosida avtomatik tartiblash"</string>
     <string name="asst_capabilities_actions_replies_title" msgid="4392470465646394289">"Tavsiya etiladigan amallar va javoblar"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"Tavsiya etiladigan amallar va javoblarni avtomatik chiqarish"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"Eski va keyinga qoldirilgan bildirishnomalarni kuzatib borish uchun bildirishnomalar tarixini yoqing"</string>
+    <string name="notification_history" msgid="8663811361243456201">"Bildirishnomalar tarixi"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"Tarixni yoqish"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"Tarixni faolsizlantirish"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"Bildirishnomalar tarixi faolsizlantirildi"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"bildirishnoma sozlamalarini ochish"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Bildirishnomalar kechiktirilishiga ruxsat berish"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"Tovushsiz bildirishnomlarda maxsus belgini chiqarmaslik"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"Tovushsiz bildirishnomalar nishonchalari holat panelida chiqmaydi"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"Bildirishnoma belgisi"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"Oxirgi suhbatlar panelini ochish"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Pufakchalar"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"Ayrim bildirishnomalar ekranda pufakcha sifatida chiqishi mumkin"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"Ayrim bildirishnomalar va boshqa kontent ekranda pufakchalar sifatida chiqishi mumkin. Pufakchani ochish uchun uning ustiga bosing. Yopish uchun esa ekranda uni pastga torting."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Pufakchalar"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"Yangi xabarlar ekranga chiqariladi"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"<xliff:g id="APP_NAME">%1$s</xliff:g> ilovasiga ayrim bildirishnomalarini pufatkchalar sifatida chiqarish uchun ruxsat berilsinmi?"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"Pufakchalarni yoqish"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"Bu ilova uchun pufakchalarni yoqishni xohlasangiz, avval qurilmangizda ularni yoqishingiz lozim. Oldin pufakchalar yoqilgan boshqa ilovalarga ham amal qiladi."</string>
@@ -3418,6 +3486,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"Bildirishnomalar paneli va ekran qulfida chiqarish"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"Bildirishnomalar paneli va holat qatorida chiqarish"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"Bildirishnomalar paneli, holat qatori va ekran qulfida chiqarish"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"Holat qatorida ovozsiz bildirishnomalarni tozalash"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"Indikator"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"Ekran qulfi"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"Ekran qulfini tashlab ketish"</string>
@@ -3448,6 +3517,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"Xatti-harakatlar"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"Ovozga ruxsat berish"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"Bildirishnomalar hech qachon ko‘rsatilmasin"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"Suhbatlar"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"Suhbat"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"Suhbat emas"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"Suhbat boʻlimidan olib tashlash"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"Bu – suhbat"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"Suhbat boʻlimiga kiritish"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"Suhbatlarni boshqarish"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"Muhim suhbatlar"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"Barcha suhbatlar"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"Muhim suhbatlar qalqib chiqsin"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"Muhim xabarlar bildirishnomalar panelining tepasida chiqadi. Siz ularni qalqib chiqadigan va Bezovta qilinmasin rejimida ham bildirishnoma chiqadigan qilishingiz mumkin."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"Tovushsiz chiqarish va kichraytirish"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"Tovushsiz"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"Tovush bilan"</string>
@@ -3466,7 +3546,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"Bildirishnomalar tovush va tebranishsiz keladi"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"Bildirishnomalar tovush va tebranish bilan keladi"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"Telefon qulfi yechilsa, bildirishnomalar ekranning yuqori qismida banner sifatida chiqsin"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"Bildirishnomalarni yoqish"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"<xliff:g id="APP_NAME">%1$s</xliff:g> ilovasining barcha bildirishnomalari"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"Moslashuvchan bildirishnomalar"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="other">~<xliff:g id="NUMBER_1">%d</xliff:g> ta bildirishnoma (kuniga)</item>
@@ -3487,6 +3567,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"Moslashuvchan bildirishnomalar"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"Yoʻq"</string>
     <string name="no_notification_listeners" msgid="2839354157349636000">"O‘rnatilgan ilovalardan hech biri bildirishnomalarga kirish uchun ruxsat so‘ramagan."</string>
+    <string name="notification_access_detail_switch" msgid="46386786409608330">"Bildirishnomalarga ruxsat berish"</string>
     <string name="notification_assistant_security_warning_title" msgid="2972346436050925276">"<xliff:g id="SERVICE">%1$s</xliff:g> uchun bildirishnomadan foydalanish ruxsati berilsinmi?"</string>
     <string name="notification_assistant_security_warning_summary" msgid="3119843404577399036">"<xliff:g id="NOTIFICATION_ASSISTANT_NAME">%1$s</xliff:g> ilovasi barcha bildirishnomalarni, jumladan, shaxsiy maʼlumotlarni (kontakt nomlari va xabarlar) oʻqiy oladi. Shuningdek, unga bildirishnomalarni oʻzgartirish va yopish hamda undagi tugmalarni bosish huquqi beriladi. \n\nIlova Bezovta qilinmasin rejimini yoqish va oʻchirish hamda shunga aloqador sozlamalarni ham oʻzgartirishi mumkin."</string>
     <string name="notification_listener_security_warning_title" msgid="5791700876622858363">"<xliff:g id="SERVICE">%1$s</xliff:g> xizmatiga bildirishnomalarga kirish uchun ruxsat berilsinmi?"</string>
@@ -3548,8 +3629,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"Tayyor"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"Muhimligi"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"Indikator"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"Tebranish"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"Tebranish"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"Tovush"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"Muhim"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"Bosh ekranga kiritish"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"O‘chirish"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"Qayta nomlash"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"Jadval nomi"</string>
@@ -3603,6 +3686,10 @@
       <item quantity="other">Yana <xliff:g id="NUM_PEOPLE">%d</xliff:g> ta kontakt</item>
       <item quantity="one">Yana 1 ta kontakt</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Suhbatlar"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"Barcha suhbatlardan"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"Muhim suhbatlardan"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"Taqiqlash"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"Xabarlar qabuliga ruxsat berish"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"Muhim xabarlarni oʻtkazib yubormaslik uchun qurilmangizda tovushli signal yoki tebranish xususiyati yoqilganini tekshiring."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"“<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>” uchun kiruvchi xabarlar bloklandi. Tanishlar, qarindoshlaringizdan SMS xabarlarni tovushli signal bilan qabul qila olishingiz uchun sozlamalarni tahrirlang."</string>
@@ -3616,15 +3703,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"Hech kimdan"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"Barcha chaqiruvlarni taqiqlash"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"Barcha xabarlarni taqiqlash"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"Signallar"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"Signallar"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"Taymerlar, signallar, xavfsizlik tizimlari va boshqa ilovalardan"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"signallar"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"Multimedia tovushlari"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"Media tovushlar"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"Videolar, oʻyinlar va boshqa media ilovalardan"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"media"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"Sensor tovushlari"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"Ekranga bosilgandagi tovush"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"Klaviatura va boshqa tugmalardan"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"ekranga bosilgandagi tovush"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"Eslatmalar"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"Eslatmalar"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"Vazifa va eslatmalardan"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"eslatmalar"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"Tadbirlar"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"Tadbirlar"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"Kelgusi taqvim tadbirlaridan"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Ilovalarga Bezovta qilinmasin rejimiga amal qilmasligiga ruxsat berish"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"Ilova istisnolari"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3667,6 +3759,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"“Bezovta qilinmasin” funksiyasi orqali ovozsiz qilingan bildirishnomalar tomonidan ekranning yoqilishiga ruxsat berish"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"Bildirishnoma sozlamalari"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"OK"</string>
+    <string name="suggestion_button_close" msgid="6865170855573283759">"Yopish"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Qurilma haqida fikr-mulohaza"</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"Administrator PIN kodini kiriting"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"YONIQ"</string>
@@ -3677,6 +3770,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Yechishda PIN kod talab qilinsin"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Yechishdan oldin parol so‘ralsin"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Yechish vaqtida qurilma qulflansin"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"SIM kartani oʻchirishni tadiqlash"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"Yuklab olingan SIM kartani oʻchirishdan oldin shaxsni tasdiqlash"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"Bu ishchi profil quyidagi tomonidan boshqariladi:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"<xliff:g id="ADMIN_APP_LABEL">%s</xliff:g> tomonidan boshqariladi"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(Tajribaviy)"</string>
@@ -3751,8 +3846,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"Barcha ilovalar"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Oʻrnatilgan ilovalar"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Darhol ochiladigan ilovalar"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"Shaxsiy"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"Ishga oid"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"Ilovalar: hammasi"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"Bildirishnoma kelmaydigan"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"Turkumlar: favqulodda muhim"</string>
@@ -3764,6 +3857,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"Noma’lum ilova"</string>
     <string name="app_permissions" msgid="8666537659217653626">"Ruxsatlar menejeri"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"Ruxsatga ega ilovalar (<xliff:g id="APPS">%1$s</xliff:g>)"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"Ruxsati bor ilovalar (<xliff:g id="APPS">%1$s</xliff:g> va boshqalar)"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"Teginib yoqish"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"Qurilmani yoqish uchun ekranning istalgan joyiga ikki marta bosing"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"Havolalarni ochish"</string>
@@ -3775,9 +3869,14 @@
       <item quantity="other">Mos havolalarni <xliff:g id="COUNT">%d</xliff:g> ta ilovada ochish mumkin</item>
       <item quantity="one">Mos havolalarni bitta ilovada ochish mumkin</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"Shu ilovada ochish"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"Mos havolalarni ochish uchun ilovaga ruxsat berish"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"Har safar so‘ralsin"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"Bu ilovada ochilmasin"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"Havolalarni ochish uchun ilovaga ruxsat bermaslik"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="other">Ilova orqali <xliff:g id="COUNT_1">%d</xliff:g> ta havola ochilmoqda</item>
+      <item quantity="one">Ilova orqali <xliff:g id="COUNT_0">%d</xliff:g> ta havola ochilmoqda</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"Ilova orqali quyidagi havolalar ochilmoqda:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"Birlamchi"</string>
     <string name="default_for_work" msgid="537558180548617528">"Ish uchun birlamchi"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"Yordamchi va ovoz bilan yozish"</string>
@@ -3925,8 +4024,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"Boshqa ilovalar ustidan ochilish"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Boshqa ilovalar ustidan ochilish"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"Interfeys elementlarini boshqa oynalar ustidan ochishga ruxsat beradi. Bu funksiya ilovalar bilan ishlashingizga xalaqit qilishi yoki ularning interfeysini buzib tashlashi mumkin."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"Barcha fayllarga ruxsat"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"Barcha fayllarni boshqarishga ruxsat berish"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Bu ilovaga mazkur qurilmadagi yoki ulangan xotira qurilmalaridagi barcha fayllarni oʻqish, tahrirlash va oʻchirib tashlash uchun ruxsat beriladi. Ruxsat berilgandan keyin ilova fayllardan sizning xabaringizsiz foydalana oladi."</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"Barcha fayllarga ruxsati bor ilova"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"vr virtual borliq tinglovchi stereo yordamchi xizmat"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"tizim signal muloqot oynasi boshqa ilovalar ustidan ochilish"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"Boshqa ilovalar ustidan ochilish"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"<xliff:g id="COUNT_0">%1$d</xliff:g> ta ilova boshqa oynalar ustidan ochilishi mumkin (jami: <xliff:g id="COUNT_1">%2$d</xliff:g>)"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"Ruxsatga ega ilovalar"</string>
@@ -4092,6 +4194,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"<xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g> sarflandi"</string>
     <string name="data_overusage" msgid="3680477320458707259">"<xliff:g id="ID_1">^1</xliff:g> oshib ketdi"</string>
     <string name="data_remaining" msgid="6316251496381922837">"<xliff:g id="ID_1">^1</xliff:g> qoldi"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"Rasmda <xliff:g id="START_DATE">%1$s</xliff:g>-<xliff:g id="END_DATE">%2$s</xliff:g> orasidagi trafik sarfi koʻrsatilgan."</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"Bu sanalar uchun hech qanday axborot topilmadi"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="other">%d kun qoldi</item>
       <item quantity="one">%d kun qoldi</item>
@@ -4155,14 +4259,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"paket hajmi"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"bildirishnoma yuborildi"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"tovush"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"tebranish"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"grafik kalit"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"birlamchi"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"kanal"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"hech qanday"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"Obyekt mavjud emas."</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"Obyektda bu kalit yo‘q."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"Mavzular"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"Qurilma standarti"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"Ekran kesimi"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"ekran kesimi, kesim"</string>
@@ -4251,8 +4351,12 @@
     <string name="information_label" msgid="6939310810756569298">"Axborot"</string>
     <string name="low_label" msgid="6525629096999711220">"Past"</string>
     <string name="high_label" msgid="357503396626018487">"Yuqori"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"Yuqori sezuvchanlik sozlansa, ekran chekkasidan tortiladigan ishoralar ilovalarnikiga zid kelishi mumkin."</string>
+    <string name="left_edge" msgid="1513576842959071849">"Chap chet"</string>
+    <string name="right_edge" msgid="1505309103265829121">"Oʻng chet"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"Yuqori sezuvchanlik sozlansa, ekran chekkasidan tortiladigan ishoralar ilovalarnikiga zid kelishi mumkin."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"Ekran chetidagi sezuvchanlik"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"Ishora sozlamalari"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"ishorali navigatsiya, qaytarish sensori, qaytarish ishorasi"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"Ekranga ikki marta bosib tekshirish"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"Ekranga ikki marta bosib tekshirish"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"Ekranga ikki marta bosib tekshirish"</string>
@@ -4407,7 +4511,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"Operator ta’minotini yoqish/o‘chirish"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"Bezovta qilinmasin rejimini yoqing"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"Bezovta qiluvchi bildirishnomalarni pauza qiling"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"Bu funksiya ushbu qurilmada ishlamaydi"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"Bu funksiya ishlamaydi"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"Bu funksiya telefoningizni sekinlashtirgani sababli u faolsizlantirildi"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"Butun GNSS statistikasini yuklash"</string>
@@ -4417,20 +4520,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"ANGLE yoqilgan ilovani tanlang"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"ANGLE yoqilgan ilova tanlanmagan"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"ANGLE yoqilgan ilova: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"Game Driver sozlamalari"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"Game Driver sozlamalarni oʻzgartirish"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"Game Driver yoniqligida qurilmada oʻrnatilgan ilovalar uchun yangilangan grafik draverdan foydalanishingiz mumkin."</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"Barcha ilovalar uchun yoqish"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"Grafik drayverni tanlang"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"Standart"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"Game Driver"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"Game Driver sinov versiyasi"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"Tizim grafik drayveri"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"Grafik drayver parametrlari"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"Grafik drayver sozlamalarini oʻzgartirish"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"Bir nechta grafik drayveri borligi uchun qurilmada oʻrnatilgan ilovalar uchun yangilangan grafik draverdan foydalanishingiz mumkin."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"Barcha ilovalar uchun yoqish"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"Grafik drayverni tanlang"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"Asosiy"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"Game Driver"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"Ishlab chiquvchilar uchun drayver versiyasi"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Tizim grafik drayveri"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Ilovalar mosligi sozlamalaridagi oʻzgarishlar"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Ilova mosligiga oʻzgartirishlarni koʻrsatish"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Standart yoniq oʻzgartirishlar"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Standart yoqilmagan oʻzgartirishlar"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"Parametr bu telefonda ishlamaydi"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"Parametr bu planshetda ishlamaydi"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"Parametr bu qurilmada ishlamaydi"</string>
@@ -4449,6 +4558,11 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"Qurilma"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Chaqiruv paytida ishlamaydi"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"Mavjud emas"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"Chiquvchi qurilmani kiritish"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"Guruh"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 ta qurilma tanlandi"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> ta qurilma tanlandi"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"Almashtirilmoqda…"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Chaqiruv qabul qilish"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Bu APN parametrlarini almashtirish imkonsiz."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Batareya quvvatini uzoqroq vaqtga yetkazing"</string>
@@ -4566,10 +4680,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Faqat bitta yuklab olingan SIM kartani faollashtirish mumkin.\n\n<xliff:g id="CARRIER1">%1$s</xliff:g> yoqilganda <xliff:g id="CARRIER2">%2$s</xliff:g> xizmati bekor qilinmaydi."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"<xliff:g id="CARRIER">%1$s</xliff:g> xizmatini tanlash"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"SIM karta axborotini tozalash"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Mazkur yuklab olingan SIM karta axboroti tozalansinmi?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Bu SIM karta axboroti tozalanganda bu qurilmadan <xliff:g id="CARRIER_0">%1$s</xliff:g> xizmati ham oʻchirib tashlanadi.\n\n<xliff:g id="CARRIER_1">%2$s</xliff:g> xizmati bekor qilinmaydi."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Oʻchirish"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"SIM karta axboroti tozalanmoqda…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"SIM karta axboroti tozalanmadi"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Bu SIM karta axboroti xatolik sabab tozalanmadi.\n\nQurilmani qayta ishga tushirib, qaytadan urining."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Tarmoq turi"</string>
@@ -4594,7 +4704,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Notanish tarmoq rejimi: <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Inkor qilish"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Internetga ulanish nuqtalari (APN)"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"<xliff:g id="CARRIER">%1$s</xliff:g> bilan ishlamaydi"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"Tibbiy axborot, favqulodda holatlar uchun kontaktlar"</string>
     <string name="see_more" msgid="7499355691042812723">"Yana"</string>
     <string name="see_less" msgid="2642392725363552793">"Kamroq"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"<xliff:g id="APPNAME">%1$s</xliff:g> ishlatiladigan qurilma"</string>
@@ -4603,11 +4712,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"Xatolik yuz berdi. Ilova qurilmani tanlash talabini bekor qildi."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"Muvaffaqiyatli ulandi!"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"Hammasi"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> ta qurilma ulandi</item>
-      <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_0">%1$d</xliff:g> ta qurilma ulandi</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"Bluetooth qurilmalar mavjud emas"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"Qurilma qidirilmoqda…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"Qurilmaga ulanilmoqda…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"Chap"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"Oʻng"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Quvvatlash gʻilofi"</string>
@@ -4617,6 +4723,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"Parvoz rejimida ishlamaydi"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"Desktop rejimini majburiy ochish"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Ikkilamchi displeylarda tajribaviy desktop rejimini majburiy ochish"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"Oʻzgarmas hajmli ilovalarning erkin shakl olishi"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"Oʻzgarmas hajmli ilovalarning erkin shaklda ochilishiga ruxsat beradi"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Tungi mavzuni yoqish ustidan yozadi"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"Tungi mavzuni majburiy yoqish sozlamasini “Doimo yoniq” sifatida sozlaydi."</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"Maxfiylik"</string>
@@ -4653,6 +4761,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Bu ilovani hozirgina oʻrnatdingiz."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Audiochiqishni almashtirish"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Hozirda <xliff:g id="DEVICE_NAME">%1$s</xliff:g> qurilmasida ijro etilmoqda"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (uzilgan)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Xatolik. Qayta urinish uchun tegining."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Muhim axborot"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"DAVOM ETISH"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"KERAK EMAS"</string>
@@ -4680,8 +4790,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"SIM kartalar juftligi"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Ish siyosati haqida axborot"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Sozlamalar AT administratori tomonidan boshqariladi"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"Xatoliklarni xabar qilish vositasi"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Qurilmadagi qaysi ilova xatoliklarni xabar qilish vositasi bilan ishlashini aniqlaydi."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Shaxsiy"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"Ish"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"Tizim standarti"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"Bu variant endi yaroqsiz. Qaytadan urining."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"Translatsiyani toʻxtatish"</string>
 </resources>
diff --git a/res/values-vi/arrays.xml b/res/values-vi/arrays.xml
index e54b3bc..dc774e1 100644
--- a/res/values-vi/arrays.xml
+++ b/res/values-vi/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"Ngay lập tức"</item>
     <item msgid="463591454172790676">"5 giây"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"Không xác thực"</item>
+    <item msgid="5703177653586269306">"Yêu cầu trạng thái chứng chỉ"</item>
+    <item msgid="326388247868439528">"Cần có trạng thái chứng chỉ"</item>
+    <item msgid="1090956283885790552">"Cần có tất cả trạng thái chứng chỉ không đáng tin cậy"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"Nút bấm"</item>
     <item msgid="2630618799033509548">"Mã PIN từ thiết bị ngang hàng"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"Không có"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"IPSec VPN có khóa được chia sẻ trước và xác thực Xauth"</item>
     <item msgid="2484564813864139237">"IPSec VPN có chứng chỉ và xác thực Xauth"</item>
     <item msgid="68918911194507915">"IPSec VPN có chứng chỉ và xác thực kết hợp"</item>
+    <item msgid="4631647675167100375">"VPN IKEv2/IPSec có chứng chỉ và thông tin xác thực tên người dùng/mật khẩu"</item>
+    <item msgid="8812228622975052811">"VPN IKEv2/IPSec có khóa chia sẻ trước"</item>
+    <item msgid="6630554779981113046">"VPN IKEv2/IPSec có chứng chỉ"</item>
   </string-array>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"Không có"</item>
diff --git a/res/values-vi/config.xml b/res/values-vi/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-vi/config.xml
+++ b/res/values-vi/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index f6b574c..cdb7c75 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -31,49 +31,17 @@
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Vui lòng bật tùy chọn của nhà phát triển trước."</string>
     <string name="header_category_wireless_networks" msgid="303445626075235229">"Mạng không dây và mạng"</string>
     <string name="header_category_system" msgid="1665516346845259058">"Hệ thống"</string>
-    <string name="radio_info_data_connection_enable" msgid="7500945447906187613">"Bật kết nối dữ liệu"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"Tắt kết nối dữ liệu"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"Đã cấp phép VoLTE"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"Đã cấp phép gọi điện video"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"Đã cấp phép gọi điện qua Wi-Fi"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"Đã cấp phép hiện diện/EAB"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"Dữ liệu Cbrs"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"Bật DSDS"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"Bạn muốn khởi động lại thiết bị?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"Bạn cần khởi động lại thiết bị để thay đổi tùy chọn cài đặt này."</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"Bắt đầu lại"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"Hủy"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"Cường độ của sóng di động"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"Xem sổ địa chỉ trên SIM"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"Xem Số quay định sẵn"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"Xem Số Quay số Dịch vụ"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"Trạng thái dịch vụ IMS"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"Trạng thái IMS"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"Đã đăng ký"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"Chưa được đăng ký"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"Khả dụng"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"Không khả dụng"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"Đăng ký IMS: <xliff:g id="STATUS">%1$s</xliff:g>\nThoại trên nền LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nThoại qua Wi-Fi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nGọi điện video: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nGiao diện UT: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"Đang sử dụng"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Không có dịch vụ"</string>
     <string name="radioInfo_service_emergency" msgid="6838935881091760942">"Chỉ cuộc gọi khẩn cấp"</string>
     <string name="radioInfo_service_off" msgid="6184928420860868571">"Đài đã tắt"</string>
     <string name="radioInfo_roaming_in" msgid="8892550453644088692">"Chuyển vùng"</string>
     <string name="radioInfo_roaming_not" msgid="3137594549464975054">"Không chuyển vùng"</string>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"Rảnh"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"Rung chuông"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"Đang gọi điện"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"Đã ngắt kết nối"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"Đang kết nối"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"Đã kết nối"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Bị tạm ngưng"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Không xác định"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"pkts"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"byte"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"Ngắt kết nối bộ nhớ USB"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"Tháo thẻ SD"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"Xóa bộ nhớ USB"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"Thu nhỏ hoặc phóng to văn bản trên màn hình."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Thu nhỏ"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Phóng to"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"Văn bản mẫu"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"Phù thủy xứ Oz"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"Chương 11: Thành phố ngọc lục bảo của xứ Oz"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"Bạn cần khởi động lại thiết bị để thay đổi cài đặt này."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"Khởi động lại"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"Hủy"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"Các thiết bị phương tiện có sẵn"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"Các thiết bị thực hiện cuộc gọi có sẵn"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"Hiện đang kết nối"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"Thiết bị truyền thông"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"Thiết bị gọi điện"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"Thiết bị khác"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Thiết bị đã lưu"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth sẽ bật để ghép nối"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Tùy chọn kết nối"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"Cổng bạn đã nhập không hợp lệ."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"Proxy HTTP được sử dụng bởi trình duyệt nhưng có thể không được sử dụng bởi các ứng dụng khác."</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"URL PAC: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"Mã phụ hiện tại:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"Mã phụ của SIM dữ liệu mặc định:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"Băng thông DL (kb/giây):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"Băng thông UL (kb/giây):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"Thông tin vị trí mạng di động (không dùng nữa):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"Cấu hình kênh LTE thực:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"Tốc độ làm mới thông tin mạng di động:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"Toàn bộ thông tin về số đo mạng di động:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"Dịch vụ dữ liệu:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"Chuyển vùng:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"Chuyển hướng cuộc gọi:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"Số lần đặt lại PPP kể từ khi khởi động:"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"Mạng hiện tại:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"Đã nhận dữ liệu:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"Dịch vụ thoại:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"Cường độ tín hiệu:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"Trạng thái cuộc gọi thoại:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"Đã gửi dữ liệu:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"Tin nhắn đang đợi:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"Số điện thoại:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"Chọn dải tần số"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"Loại mạng thoại:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"Loại mạng dữ liệu:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"Chọn chỉ mục điện thoại"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"Đặt loại mạng ưu tiên:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"Tên máy chủ Ping (www.google.com) IPv4:"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"Tên máy chủ Ping (www.google.com) IPv6:"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"Kiểm tra máy khách HTTP:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"Chạy kiểm tra ping"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"Cập nhật"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"Làm mới"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"Chuyển sang kiểm tra DNS"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"Thông tin/Cài đặt OEM cụ thể"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"Đặt chế độ dải tần số"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"Đang tải danh sách băng tần…"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"Đặt"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"Không thành công"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"Thành công"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"Thay đổi có hiệu lực khi cáp USB được kết nối lại."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"Bật thiết bị lưu trữ USB"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"Tổng số byte:"</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"Chuyển xuống dưới cùng"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"Xóa ngôn ngữ"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"Chọn hoạt động"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"Thông tin thiết bị"</string>
     <string name="display_label" msgid="3056320781191343221">"Màn hình"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"Thông tin về máy tính bảng"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"Thông tin điện thoại"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"Bộ nhớ USB"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"Thẻ SD"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"Cài đặt proxy"</string>
@@ -306,9 +234,6 @@
     <string name="airplane_mode" msgid="3196085857882526817">"Chế độ trên máy bay"</string>
     <string name="wireless_networks_settings_title" msgid="8557542379234105369">"Không dây &amp; mạng"</string>
     <string name="radio_controls_summary" msgid="9028430178697624501">"Quản lý Wi-Fi, Bluetooth, chế độ trên máy bay, mạng di động và VPN"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"Dữ liệu di động"</string>
-    <string name="calls_title" msgid="6334813967619899114">"Cho phép cuộc gọi"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"Tin nhắn SMS"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"Cho phép sử dụng dữ liệu qua mạng di động"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"Cho phép SD d.liệu khi ch.vùng"</string>
     <string name="roaming" msgid="3055365654530847985">"Chuyển vùng"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"Kết nối với dịch vụ dữ liệu khi chuyển vùng"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"Bạn đã mất kết nối dữ liệu vì bạn đã tắt chuyển vùng dữ liệu của mạng gia đình của mình."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"Bật"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"Bạn có thể phải trả một khoản phí lớn."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"Khi bạn cho phép chuyển vùng dữ liệu, bạn có thể phải trả khoản phí chuyển vùng đáng kể!\n\nCài đặt này ảnh hưởng đến tất cả người dùng trên máy tính bảng này."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"Khi bạn cho phép chuyển vùng dữ liệu, bạn có thể phải trả khoản phí chuyển vùng đáng kể!\n\nCài đặt này ảnh hưởng đến tất cả người dùng trên điện thoại này."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"Bạn có thể mất phí chuyển vùng."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"Khi cho phép chuyển vùng dữ liệu, bạn có thể phải mất phí chuyển vùng.\n\nTùy chọn cài đặt này sẽ ảnh hưởng đến tất cả người dùng trên máy tính bảng này."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"Khi cho phép chuyển vùng dữ liệu, bạn có thể phải mất phí chuyển vùng.\n\nTùy chọn cài đặt này sẽ ảnh hưởng đến tất cả người dùng trên điện thoại này."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"Cho phép chuyển vùng dữ liệu?"</string>
     <string name="networks" msgid="5184501333492775095">"Chọn nhà cung cấp dịch vụ"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"Chọn nhà cung cấp dịch vụ mạng"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"Bị quản trị viên vô hiệu hóa"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"Hiển thị tùy chọn khóa"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"Hiển thị tùy chọn nút nguồn để tắt tính năng Smart Lock, mở khóa bằng sinh trắc học, và thông báo trên màn hình khóa"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"Tác nhân tin cậy chỉ kéo dài thời gian mở khóa"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"Nếu bạn bật, các tác nhân tin cậy sẽ kéo dài thời gian mở khóa, nhưng không thể mở khóa thiết bị bị khóa nữa."</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"Khóa màn hình khi mất đi sự tin cậy"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"Nếu bạn bật, thiết bị sẽ khóa khi tác nhân tin cậy cuối cùng mất đi sự tin cậy"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"Không có"</string>
@@ -390,7 +313,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"Đặt Vị trí của tôi, mở khóa màn hình, khóa thẻ SIM, khóa bộ nhớ thông tin xác thực"</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"Đặt Vị trí của tôi, mở khóa màn hình, khóa bộ nhớ thông tin xác thực"</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"Bảo mật"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"Bị quản trị viên vô hiệu hóa"</string>
+    <string name="disabled_by_administrator_summary" msgid="5424846182313851124">"Chưa có"</string>
     <string name="security_status_title" msgid="6958004275337618656">"Trạng thái bảo mật"</string>
     <string name="security_dashboard_summary_face" msgid="4198949293847206382">"Phương thức khóa màn hình, mở khóa bằng khuôn mặt"</string>
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Phương thức khóa màn hình, vân tay"</string>
@@ -693,7 +616,6 @@
       <item quantity="other">Phải có ít hơn <xliff:g id="NUMBER_1">%d</xliff:g> chữ số</item>
       <item quantity="one">Phải có ít hơn <xliff:g id="NUMBER_0">%d</xliff:g> chữ số</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"Chỉ được chứa các chữ số 0-9"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"Quản trị viên thiết bị không cho phép dùng mã PIN gần đây"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"Quản vị viên CNTT đã chặn những mã PIN phổ biến. Hãy thử mã PIN khác."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"Mật khẩu này không được bao gồm ký tự không hợp lệ"</string>
@@ -724,6 +646,10 @@
       <item quantity="other">Phải chứa ít nhất <xliff:g id="COUNT">%d</xliff:g> ký tự không phải chữ cái</item>
       <item quantity="one">Phải chứa ít nhất 1 ký tự không phải chữ cái</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="other">Phải có ít nhất <xliff:g id="COUNT">%d</xliff:g> ký tự không phải là số</item>
+      <item quantity="one">Phải có ít nhất 1 ký tự không phải là số</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"Quản trị viên thiết bị không cho phép sử dụng mật khẩu gần đây"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"Quản vị viên CNTT đã chặn những mật khẩu phổ biến. Hãy thử mật khẩu khác."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"Không cho phép thứ tự chữ số tăng dần, giảm dần hoặc lặp lại"</string>
@@ -837,19 +763,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2,4 GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"Đăng nhập"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"Mở trang web"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"Còn <xliff:g id="REMAINING_TIME">%1$s</xliff:g>"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"Hết hạn vào <xliff:g id="EXPIRY_TIME">%1$s</xliff:g>"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"Nhấn vào đây để đăng nhập vào mạng"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Mb/giây"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Mb/giây"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Mb/giây"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"<xliff:g id="REQUESTER">%s</xliff:g> muốn bật Wi-Fi"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"<xliff:g id="REQUESTER">%s</xliff:g> muốn tắt Wi-Fi"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"Xác minh bytecode của ứng dụng có thể gỡ lỗi"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Cho phép ART xác minh bytecode cho các ứng dụng có thể gỡ lỗi"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"Hiển thị tốc độ làm mới"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Hiển thị tốc độ làm mới trên màn hình hiện tại"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"Cho phép trao đổi dữ liệu khi máy tính bảng chạm vào thiết bị khác"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"Cho phép trao đổi dữ liệu khi điện thoại chạm vào thiết bị khác"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"Cho phép trao đổi dữ liệu khi máy tính bảng chạm vào thiết bị NFC"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"Cho phép trao đổi dữ liệu khi điện thoại chạm vào thiết bị NFC"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"Bật NFC"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"NFC trao đổi dữ liệu giữa thiết bị này với các thiết bị hoặc thiết bị đích lân cận khác, chẳng hạn như trạm thanh toán, trình đọc truy cập và các quảng cáo hoặc thẻ tương tác."</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"Bảo mật NFC"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Yêu cầu mở khóa thiết bị để sử dụng NFC"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"Chỉ cho phép sử dụng Thanh toán bằng NFC và Phương tiện công cộng khi màn hình đang mở khóa"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"Sẵn sàng truyền tải nội dung ứng dụng qua NFC"</string>
@@ -923,8 +855,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Bật"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Đã bật tính năng quét tìm Wi‑Fi"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Tùy chọn nâng cao"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"Danh sách Tùy chọn nâng cao thả xuống. Nhấn đúp để thu gọn."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"Danh sách Tùy chọn nâng cao thả xuống. Nhấn đúp để mở rộng."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Danh sách thả xuống của Tùy chọn nâng cao"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"mở rộng"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"Tên mạng"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"Nhập SSID"</string>
     <string name="wifi_security" msgid="9095934643631406913">"Bảo mật"</string>
@@ -934,6 +866,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"Trạng thái"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"Tốc độ của liên kết truyền"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"Tốc độ nhận đường dẫn liên kết"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"Tốc độ liên kết"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"Tần số"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"Địa chỉa IP"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"Đã lưu thông qua"</string>
@@ -941,6 +874,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"Phương pháp EAP"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"Xác thực Giai đoạn 2"</string>
     <string name="wifi_eap_ca_cert" msgid="8033404008276298886">"Chứng chỉ CA"</string>
+    <string name="wifi_eap_ocsp" msgid="8713933962516871238">"Trạng thái chứng chỉ trực tuyến"</string>
     <string name="wifi_eap_domain" msgid="8304301470752333203">"Miền"</string>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"Chứng chỉ người dùng"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"Nhận dạng"</string>
@@ -957,6 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"Chọn ít nhất một băng tần cho điểm phát sóng Wi‑Fi:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"Cài đặt IP"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"Quyền riêng tư"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"Tùy chọn đăng ký"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"Xem hoặc thay đổi tùy chọn đăng ký"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"Địa chỉ MAC gán ngẫu nhiên"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"Thêm một thiết bị"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"Căn giữa mã QR dưới đây để thêm thiết bị vào “<xliff:g id="SSID">%1$s</xliff:g>”"</string>
@@ -966,12 +902,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"Chia sẻ Wi‑Fi"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"Quét mã QR này để kết nối với “<xliff:g id="SSID">%1$s</xliff:g>” và chia sẻ mật khẩu"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"Quét mã QR này để kết nối với “<xliff:g id="SSID">%1$s</xliff:g>”"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"Không thể đọc mã QR. Hãy căn lại mã vào giữa rồi thử lại"</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"Hãy thử lại. Nếu sự cố vẫn tiếp diễn, hãy liên hệ với nhà sản xuất thiết bị"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"Đã xảy ra lỗi"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"Hãy đảm bảo thiết bị đã cắm điện, sạc đầy và đang bật"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"Hãy đảm bảo thiết bị đã cắm điện, sạc đầy và đang bật. Nếu sự cố vẫn tiếp diễn, hãy liên hệ với nhà sản xuất thiết bị"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"Không hỗ trợ thêm “<xliff:g id="SSID">%1$s</xliff:g>” bằng thiết bị này"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"Thử đưa thiết bị đến gần bộ định tuyến/điểm truy cập Wi-Fi"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"Kiểm tra mật khẩu rồi thử lại"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"Liên hệ với nhà sản xuất thiết bị"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"Hãy kiểm tra trạng thái kết nối rồi thử lại"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"Chọn mạng"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"Để kết nối thiết bị của bạn, hãy chọn một mạng"</string>
@@ -984,11 +922,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"Chia sẻ Wi‑Fi với thiết bị này…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"Đang kết nối…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"Chia sẻ điểm phát sóng"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"Xác minh đó là bạn"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"Xác minh rằng đó là bạn"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"Mật khẩu Wi-Fi: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"Mật khẩu điểm phát sóng: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"Tự động kết nối"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"Cho phép điện thoại tự động kết nối khi ở gần mạng này"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"Cho phép máy tính bảng tự động kết nối khi ở gần mạng này"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"Thêm thiết bị"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"Sử dụng mã QR để thêm thiết bị vào mạng này"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"Mã QR không phải là định dạng hợp lệ"</string>
     <string name="retry" msgid="7542103800274026915">"Thử lại"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"Chia sẻ với những người khác cũng dùng thiết bị này"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(không thay đổi)"</string>
@@ -1000,6 +942,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"Không có chứng chỉ nào được chỉ định. Kết nối của bạn sẽ không phải là riêng tư."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"Tên mạng quá dài."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"Phải chỉ định một miền."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"Bạn cần có chứng chỉ."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"Có WPS"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (Có WPS)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"Mạng Wi‑Fi của nhà cung cấp dịch vụ"</string>
@@ -1051,7 +994,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"Wi‑Fi nâng cao"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"Địa chỉ MAC"</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_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>
@@ -1103,7 +1047,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"Sử dụng điểm phát sóng để tạo mạng Wi-Fi cho các thiết bị khác của bạn. Điểm phát sóng cung cấp kết nối Internet bằng kết nối dữ liệu di động. Bạn có thể mất thêm phí dữ liệu di động."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"Ứng dụng có thể tạo một điểm phát sóng để chia sẻ nội dung với các thiết bị lân cận."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Tự động tắt điểm phát sóng"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"Điểm phát sóng Wi-Fi sẽ tắt nếu không có thiết bị nào kết nối"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Khi không có thiết bị nào được kết nối"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"Đang bật điểm phát sóng…"</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"Đang tắt điểm phát sóng…"</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> đang hiện hoạt"</string>
@@ -1112,6 +1056,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"Thiết lập điểm phát sóng Wi‑Fi"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"Điểm phát sóng AndroidAP WPA2 PSK"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"AndroidHotspot"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"Bạn có muốn lưu mạng này không?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"<xliff:g id="APPNAME">%1$s</xliff:g> muốn lưu một mạng vào điện thoại của bạn"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"<xliff:g id="APPNAME">%1$s</xliff:g> muốn lưu một mạng vào máy tính bảng của bạn"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"Đang lưu…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"Đã lưu"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"Không lưu được. Hãy thử lại."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"Bạn có muốn lưu mạng không?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"<xliff:g id="APPNAME">%1$s</xliff:g> muốn lưu những mạng này vào điện thoại của bạn"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"<xliff:g id="APPNAME">%1$s</xliff:g> muốn lưu những mạng này vào máy tính bảng của bạn"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"Đang lưu <xliff:g id="NUMBER">%d</xliff:g> mạng…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"Đã lưu mạng"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"Gọi qua Wi-Fi"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"Mở rộng cuộc gọi bằng Wi‑Fi"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"Bật tính năng gọi qua Wi‑Fi để tăng phạm vi phủ sóng"</string>
@@ -1138,16 +1093,18 @@
     <string name="emergency_address_title" msgid="3490633500025717573">"Địa chỉ khẩn cấp"</string>
     <string name="emergency_address_summary" msgid="3022628750270626473">"Dùng làm vị trí của bạn khi bạn thực hiện cuộc gọi khẩn cấp qua Wi‑Fi"</string>
     <string name="private_dns_help_message" msgid="851221502063782306"><annotation id="url">"Tìm hiểu thêm"</annotation>" về tính năng DNS riêng"</string>
+    <string name="private_dns_mode_on" msgid="8878679071975375696">"Đang bật"</string>
     <string name="wifi_calling_pref_managed_by_carrier" msgid="129524064888622179">"Cài đặt do nhà mạng quản lý"</string>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"Kích hoạt tính năng Gọi qua Wi‑Fi"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"Bật tính năng Gọi qua Wi‑Fi"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"%1$s không hỗ trợ tính năng Gọi qua Wi-Fi"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"Đã ngắt kết nối khỏi <xliff:g id="SSID">%1$s</xliff:g>"</string>
     <string name="carrier" msgid="1755020806290963951">"Nhà mạng"</string>
     <string name="display_settings_title" msgid="626835071804834218">"Hiển thị"</string>
     <string name="sound_settings" msgid="5514582720435174014">"Âm thanh"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"Âm lượng"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"Hiệu ứng âm nhạc"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"Âm lượng chuông"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"Âm lượng chuông và thông báo"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"Rung khi im lặng"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"Âm thanh thông báo mặc định"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"Nhạc chuông"</string>
@@ -1272,13 +1229,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"Lên lịch"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"Không có"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"Bật từ hoàng hôn đến bình minh"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"Bật vào thời gian tùy chỉnh"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"Trạng thái"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"Đang tắt/<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"Sẽ không bao giờ tự động bật"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"Sẽ tự động bật lúc hoàng hôn"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"Sẽ tự động bật lúc <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"Đang bật/<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"Sẽ không bao giờ tự động tắt"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"Sẽ tự động tắt lúc bình minh"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"Sẽ tự động tắt lúc <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"Bật cho đến <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"Tắt cho đến <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"Giao diện tối dùng nền màu đen để giúp tăng thời lượng pin trên một số màn hình. Khi màn hình tắt đi, giao diện tối sẽ kích hoạt theo lịch."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"Thời gian chờ khóa màn hình"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"Màn hình tắt"</string>
@@ -1290,7 +1252,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"Thay đổi hình nền"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"Cá nhân hóa màn hình của bạn"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"Chọn hình nền từ"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"Tùy chỉnh Pixel của bạn"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"Tùy chỉnh điện thoại"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"Thử nhiều kiểu, hình nền và các tùy chọn khác"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"Trình bảo vệ màn hình"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Khi sạc hoặc gắn vào đế sạc"</string>
@@ -1379,6 +1341,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"Ngắt kết nối bộ nhớ USB, xem dung lượng sẵn có"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"Tháo thẻ SD, xem dung lượng còn trống"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (khe cắm thẻ SIM %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"Để xem, hãy chọn mạng đã lưu"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"SỐ THƯ MỤC DI ĐỘNG (MDN)"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"Số điện thoại"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (khe cắm thẻ SIM %1$d)"</string>
@@ -1405,6 +1368,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"Chuyển vùng"</string>
     <string name="status_operator" msgid="4335640583552058491">"Mạng"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"Địa chỉ MAC của Wi‑Fi"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"Địa chỉ MAC của Wi-Fi mà thiết bị sử dụng"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"Địa chỉ Bluetooth"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Số sê-ri"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Thời gian hoạt động"</string>
@@ -1617,6 +1581,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Đặt lại cài đặt APN mặc định đã hoàn tất."</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"Tùy chọn đặt lại"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"Có thể đặt lại mạng, ứng dụng hoặc thiết bị"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"Có thể đặt lại các ứng dụng"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"Đặt lại Wi-Fi, di động và Bluetooth"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"Thao tác này sẽ đặt lại tất cả các tùy chọn cài đặt mạng, bao gồm:\n\n"<li>"Wi‑Fi"</li>\n<li>"Dữ liệu di động"</li>\n<li>"Bluetooth"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"Xóa SIM đã tải xuống"</string>
@@ -1666,6 +1631,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"Điểm phát sóng bật"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"Chia sẻ kết nối"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"Không thể chia sẻ kết nối hoặc sử dụng điểm phát sóng di động khi Trình tiết kiệm dữ liệu đang bật"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"Chỉ chia sẻ kết nối qua điểm phát sóng"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"Chỉ chia sẻ kết nối qua USB"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"Chỉ chia sẻ kết nối qua Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"Chia sẻ kết nối qua điểm phát sóng, USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"Chia sẻ kết nối qua điểm phát sóng, Bluetooth"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"Chỉ chia sẻ kết nối qua USB, Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"Chia sẻ kết nối qua điểm phát sóng, USB, Bluetooth"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"Không chia sẻ kết nối Internet với các thiết bị khác"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"Chia sẻ kết nối"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Không dùng điểm phát sóng Wi‑Fi"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Chỉ chia sẻ kết nối Internet qua USB"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Chỉ chia sẻ kết nối Internet qua Bluetooth"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Chỉ chia sẻ kết nối Internet qua USB và Bluetooth"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"Chia sẻ kết nối Internet qua USB"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"Chia sẻ kết nối Internet của điện thoại qua USB"</string>
@@ -1756,9 +1734,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"Thông tin an toàn"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"Bạn chưa có kết nối dữ liệu. Để xem thông tin này ngay bây giờ, hãy truy cập %s từ máy tính bất kỳ đã kết nối với Internet."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"Đang tải…"</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"Sử dụng mã PIN"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"Sử dụng hình mở khóa"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"Sử dụng mật khẩu"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"Đặt phương thức khóa màn hình"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"Để bảo mật, hãy đặt mật khẩu"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"Đặt mật khẩu để dùng vân tay"</string>
@@ -1767,8 +1742,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"Đặt mã PIN để dùng vân tay"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"Để bảo mật, hãy đặt hình mở khóa"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"Nhập lại mật khẩu"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"Nhập mật khẩu công việc của bạn"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"Xác nhận hình của bạn"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"Nhập hình mở khóa công việc của bạn"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"Nhập lại mã PIN"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"Nhập mã PIN công việc của bạn"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"Mật khẩu không khớp"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"Mã PIN không khớp"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"Vẽ lại hình mở khóa"</string>
@@ -1779,6 +1757,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"Đặt mật khẩu để dùng mở khóa bằng khuôn mặt"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"Đặt hình mở khóa để dùng mở khóa bằng khuôn mặt"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"Đặt mã PIN để dùng mở khóa bằng khuôn mặt"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"Bạn quên mật khẩu?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"Bạn quên hình mở khóa?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"Bạn quên mã PIN?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"Sử dụng hình mở khóa thiết bị của bạn để tiếp tục"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"Nhập mã PIN thiết bị của bạn để tiếp tục"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"Nhập mật khẩu thiết bị của bạn để tiếp tục"</string>
@@ -1846,6 +1827,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"Cho phép tất cả các nguồn ƯD"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"Ứng dụng đã mở gần đây"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"Xem tất cả <xliff:g id="COUNT">%1$d</xliff:g> ứng dụng"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"Liên hệ với quản trị viên CNTT của bạn"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"Họ có thể giúp bạn đặt lại mã PIN, hình mở khóa hoặc mật khẩu"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"Máy tính bảng và dữ liệu cá nhân của bạn dễ bị các ứng dụng không xác định tấn công hơn. Bằng cách cài đặt ứng dụng từ nguồn này, bạn đồng ý tự chịu trách nhiệm cho mọi hỏng hóc đối với máy tính bảng của mình hoặc mất mát dữ liệu có thể phát sinh do sử dụng những ứng dụng này."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"Điện thoại và dữ liệu cá nhân của bạn dễ bị các ứng dụng không xác định tấn công hơn. Bằng cách cài đặt ứng dụng từ nguồn này, bạn đồng ý tự chịu trách nhiệm cho mọi hỏng hóc đối với điện thoại của mình hoặc mất mát dữ liệu có thể phát sinh do sử dụng những ứng dụng này."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"Thiết bị và dữ liệu cá nhân của bạn dễ bị các ứng dụng không xác định tấn công hơn. Bằng cách cài đặt ứng dụng từ nguồn này, bạn đồng ý tự chịu trách nhiệm cho mọi hỏng hóc đối với thiết bị hoặc mất mát dữ liệu có thể phát sinh do sử dụng những ứng dụng này."</string>
@@ -1897,7 +1880,7 @@
     <string name="default_emergency_app" msgid="1929974800666613803">"Ứng dụng khẩn cấp"</string>
     <string name="reset_app_preferences" msgid="8861758340732716573">"Đặt lại tùy chọn ứng dụng"</string>
     <string name="reset_app_preferences_title" msgid="8935136792316050759">"Đặt lại tùy chọn ứng dụng?"</string>
-    <string name="reset_app_preferences_desc" msgid="1377296810290814749">"Thao tác này sẽ đặt lại tất cả tùy chọn cho:\n\n"<li>"Ứng dụng bị tắt"</li>\n<li>"Thông báo của ứng dụng bị tắt"</li>\n<li>"Ứng dụng mặc định cho các thao tác"</li>\n<li>"Các hạn hế về dữ liệu nền cho các ứng dụng"</li>\n<li>"Mọi hạn chế về quyền truy cập"</li>\n\n"Bạn sẽ không mất bất kỳ dữ liệu ứng dụng nào."</string>
+    <string name="reset_app_preferences_desc" msgid="6509978724602405805">"Thao tác này sẽ đặt lại tất cả tùy chọn cho:\n\n"<li>"Ứng dụng bị tắt"</li>\n<li>"Thông báo ứng dụng bị tắt"</li>\n<li>"Ứng dụng mặc định cho các thao tác"</li>\n<li>"Giới hạn dữ liệu nền cho ứng dụng"</li>\n<li>"Bất kỳ giới hạn về quyền nào"</li>\n\n"Bạn sẽ không mất bất kỳ dữ liệu ứng dụng nào."</string>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"Đặt lại ứng dụng"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"Quản lý dung lượng"</string>
     <string name="filter" msgid="9039576690686251462">"Bộ lọc"</string>
@@ -2097,7 +2080,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"Âm thanh và văn bản trên màn hình"</string>
     <string name="display_category_title" msgid="6638191682294461408">"Màn hình"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"Điều khiển tương tác"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"Các dịch vụ đã tải xuống"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"Ứng dụng đã tải xuống"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"Thử nghiệm"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"Cờ tính năng"</string>
     <string name="talkback_title" msgid="8756080454514251327">"Talkback"</string>
@@ -2105,27 +2088,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"Nhấn vào mục trên màn hình của bạn để nghe mục được đọc to"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"Tùy chọn phụ đề"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"Phóng to"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"Khu vực phóng to"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"Bật tính năng phóng to"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"Chọn (các) khu vực phóng to mà bạn muốn dùng khi phóng to màn hình"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"Toàn màn hình"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"Một phần màn hình"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"Toàn màn hình và một phần màn hình"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"Phóng to toàn bộ màn hình"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"Phóng to một phần màn hình"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Cài đặt phóng to"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"Phóng to bằng cách nhấn 3 lần"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Phóng to bằng phím tắt"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Phóng to bằng phím tắt và nhấn 3 lần"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"Giới thiệu về <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"Tùy chọn"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"Phóng to trên màn hình"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"Nhấn 3 lần để thu phóng"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Nhấn vào nút để thu phóng"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><b>"Để thu phóng"</b>", nhấn nhanh màn hình 3 lần.\n"<ul><li>"Kéo 2 hoặc nhiều ngón tay để cuộn"</li>\n<li>"Chụm 2 hoặc nhiều ngón tay để điều chỉnh mức thu phóng"</li></ul>\n\n<b>"Để thu phóng tạm thời"</b>", nhấn nhanh màn hình 3 lần và giữ ngón tay của bạn vào lần nhấn thứ ba.\n"<ul><li>"Kéo để di chuyển quanh màn hình"</li>\n<li>"Nhấc ngón tay để thu nhỏ"</li></ul>\n\n"Bạn không thể phóng to trên thanh điều hướng."</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"Khi tính năng phóng to đang bật, bạn có thể phóng to trên màn hình.\n\n"<b>"Để thu phóng"</b>", hãy bắt đầu tính năng phóng to, sau đó nhấn vào vị trí bất kỳ trên màn hình.\n"<ul><li>"• Kéo 2 hoặc nhiều ngón tay để cuộn"</li>\n<li>"• Chụm 2 hoặc nhiều ngón tay để điều chỉnh mức thu phóng"</li></ul>\n\n<b>"Để thu phóng tạm thời"</b>", hãy bắt đầu tính năng phóng to, sau đó chạm và giữ vị trí bất kỳ trên màn hình.\n"<ul><li>"• Kéo để di chuyển xung quanh màn hình"</li>\n<li>"• Nhấc ngón tay lên để thu nhỏ"</li></ul>\n\n"Bạn không thể phóng to trên bàn phím hoặc thanh điều hướng."</string>
+    <string name="accessibility_screen_magnification_summary" msgid="7617931632990040045">"Phóng to nhanh trên màn hình để thấy rõ nội dung hơn.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Cách phóng to:&lt;/b&gt;&lt;br/&gt;	1. Dùng phím tắt để bắt đầu phóng to&lt;br/&gt;	2. Nhấn vào màn hình&lt;br/&gt;	3. Kéo 2 ngón tay để di chuyển xung quanh màn hình&lt;br/&gt;	4. Chụm 2 ngón tay để điều chỉnh mức thu phóng&lt;br/&gt;	5. Dùng phím tắt để dừng phóng to&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Cách phóng to tạm thời:&lt;/b&gt;&lt;br/&gt;	1. Dùng phím tắt để bắt đầu phóng to&lt;br/&gt;	2. Chạm và giữ vị trí bất kỳ trên màn hình&lt;br/&gt;	3. Kéo ngón tay để di chuyển xung quanh màn hình&lt;br/&gt;	4. Nhấc ngón tay lên để dừng phóng to"</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Khi tính năng phóng to đang bật, bạn có thể phóng to trên màn hình.\n\n"<b>"Để thu phóng"</b>", hãy mở tính năng phóng to rồi nhấn vào vị trí bất kỳ trên màn hình.\n"<ul><li>"Kéo 2 hoặc nhiều ngón tay để cuộn"</li>\n<li>"Chụm 2 hoặc nhiều ngón tay để điều chỉnh mức thu phóng"</li></ul>\n\n<b>"Để thu phóng tạm thời"</b>", hãy mở tính năng phóng to rồi chạm và giữ vị trí bất kỳ trên màn hình.\n"<ul><li>"Kéo để di chuyển quanh màn hình"</li>\n<li>"Nhấc ngón tay để thu nhỏ"</li></ul>\n\n"Bạn không thể phóng to trên bàn phím hoặc thanh điều hướng."</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Dùng nút hỗ trợ tiếp cận để mở"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Dùng cử chỉ để mở"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"Dùng cử chỉ hỗ trợ tiếp cận mới"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"Để bật hoặc tắt dịch vụ này, hãy nhấn vào nút hỗ trợ tiếp cận <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> ở cuối màn hình.\n\nĐể chuyển đổi giữa các dịch vụ, hãy chạm và giữ nút hỗ trợ tiếp cận."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"Để bật hoặc tắt dịch vụ này, hãy vuốt lên từ cuối màn hình bằng 2 ngón tay.\n\nĐể chuyển đổi giữa các dịch vụ, hãy vuốt lên và giữ bằng 2 ngón tay."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"Để bật hoặc tắt dịch vụ này, hãy vuốt lên từ cuối màn hình bằng 3 ngón tay.\n\nĐể chuyển đổi giữa các dịch vụ, hãy vuốt lên và giữ bằng 3 ngón tay."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"Để bật hoặc tắt một dịch vụ hỗ trợ tiếp cận, hãy vuốt lên từ cuối màn hình bằng 2 ngón tay.\n\nĐể chuyển đổi giữa các dịch vụ, hãy vuốt lên và giữ bằng 2 ngón tay."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"Để bật hoặc tắt một dịch vụ hỗ trợ tiếp cận, hãy vuốt lên từ cuối màn hình bằng 3 ngón tay.\n\nĐể chuyển đổi giữa các dịch vụ, hãy vuốt lên và giữ bằng 3 ngón tay."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"Để bật hoặc tắt dịch vụ này, hãy nhấn vào nút hỗ trợ tiếp cận <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> ở cuối màn hình.\n\nĐể chuyển đổi giữa các dịch vụ, hãy chạm và giữ nút hỗ trợ tiếp cận."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"Để bật hoặc tắt dịch vụ này, hãy vuốt lên từ cuối màn hình bằng 2 ngón tay.\n\nĐể chuyển đổi giữa các dịch vụ, hãy vuốt lên và giữ bằng 2 ngón tay."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"Để bật hoặc tắt dịch vụ này, hãy vuốt lên từ cuối màn hình bằng 3 ngón tay.\n\nĐể chuyển đổi giữa các dịch vụ, hãy vuốt lên và giữ bằng 3 ngón tay."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"Để bật hoặc tắt một dịch vụ hỗ trợ tiếp cận, hãy vuốt lên từ cuối màn hình bằng 2 ngón tay.\n\nĐể chuyển đổi giữa các dịch vụ, hãy vuốt lên và giữ bằng 2 ngón tay."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"Để bật hoặc tắt một dịch vụ hỗ trợ tiếp cận, hãy vuốt lên từ cuối màn hình bằng 3 ngón tay.\n\nĐể chuyển đổi giữa các dịch vụ, hãy vuốt lên và giữ bằng 3 ngón tay."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"Đã hiểu"</string>
+    <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Phím tắt dành cho <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_edit_summary_software" msgid="2820923641553461297">"Nút hỗ trợ tiếp cận"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture" msgid="8078659880723370597">"Vuốt lên bằng 2 ngón tay"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture_talkback" msgid="7422753388389160524">"Vuốt lên bằng 3 ngón tay"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software" msgid="4796192466943479849">"Nhấn vào nút hỗ trợ tiếp cận"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8922102767509399352">"Nhấn vào nút hỗ trợ tiếp cận <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> ở cuối màn hình"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"Vuốt lên từ cuối màn hình bằng 2 ngón tay"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"Vuốt lên từ cuối màn hình bằng 3 ngón tay"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Giữ phím âm lượng"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"Nhấn và giữ đồng thời cả 2 phím âm lượng trong 1 giây"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Nhấn 3 lần vào màn hình"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"Nhấn nhanh 3 lần vào màn hình. Lối tắt này có thể làm chậm thiết bị."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"Nâng cao"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"Nút Hỗ trợ tiếp cận được đặt thành <xliff:g id="SERVICE">%1$s</xliff:g>. Để sử dụng tính năng phóng đại, hãy chạm và giữ nút Hỗ trợ tiếp cận, sau đó chọn độ phóng đại."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"Cử chỉ hỗ trợ tiếp cận này đã được đặt thành <xliff:g id="SERVICE">%1$s</xliff:g>. Để phóng to, hãy dùng 2 ngón tay vuốt từ cuối màn hình lên rồi giữ. Sau đó, chọn tùy chọn phóng to."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"Dùng phím âm lượng làm phím tắt"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"Dịch vụ phím tắt"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Cài đặt phím tắt"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"Cho phép từ màn hình khóa"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"Khi phím tắt này đang bật, bạn có thể nhấn vào cả hai phím âm lượng trong 3 giây để mở tính năng hỗ trợ tiếp cận."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"Văn bản có độ tương phản cao"</string>
@@ -2149,24 +2157,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"Chọn thời lượng hiển thị thông báo yêu cầu bạn thực hiện hành động nhưng chỉ hiển thị tạm thời.\n\nKhông phải tất cả ứng dụng đều hỗ trợ tùy chọn cài đặt này."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"Thời gian chờ cho chạm và giữ"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"Đảo màu"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"Có thể ảnh hưởng đến hiệu suất"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"Thời gian dừng"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"Sử dụng tính năng đảo màu"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"Tính năng đảo màu khiến màn hình chuyển từ sáng thành tối. Tính năng này giúp những người nhạy cảm với ánh sáng chói dễ nhìn màn hình hơn.&lt;br/&gt;&lt;br/&gt;Lưu ý: Màu tối sẽ chuyển thành màu sáng. Màu sắc trong nội dung nghe nhìn và hình ảnh sẽ thay đổi. Bạn cũng có thể dùng Giao diện tối (Cài đặt &gt; Màn hình)."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"Tự động nhấp (thời gian dừng)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"Nếu đang sử dụng chuột, thì bạn có thể đặt con trỏ chuột để tự động thực hiện hành động khi con trỏ chuột dừng di chuyển trong một khoảng thời gian nhất định."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"Trì hoãn trước khi nhấp"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"Không dùng tự động nhấp (mặc định)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"Ngắn"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0,2 giây"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"Vừa"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0,6 giây"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"Dài"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 giây"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"Tùy chỉnh"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"Ngắn hơn"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"Lâu hơn"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"Thời gian tự động nhấp"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"Cường độ rung và xúc giác"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Rung khi có thông báo"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Rung khi đổ chuông"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Phản hồi chạm"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"Sử dụng dịch vụ"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"Sử dụng <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"Mở <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"Sử dụng tính năng sửa màu"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"Sử dụng phụ đề"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"Hiển thị phụ đề"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"Giao diện phụ đề"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"Cỡ chữ, kiểu phụ đề"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"Tùy chọn khác"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"Không phải ứng dụng nào cũng hỗ trợ tùy chọn cài đặt này."</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"Nút hỗ trợ tiếp cận"</string>
+    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"dùng 2 ngón tay vuốt từ dưới lên"</string>
+    <string name="accessibility_shortcut_type_hardware" msgid="4834144210432451916">"Giữ phím âm lượng"</string>
+    <string name="accessibility_shortcut_type_triple_tap" msgid="7717524216825494543">"Nhấn 3 lần vào màn hình"</string>
     <string name="accessibility_hearingaid_instruction_continue_button" msgid="3367260988024430722">"Tiếp tục"</string>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"Thiết bị trợ thính"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"Chưa kết nối thiết bị trợ thính nào"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"Thêm thiết bị trợ thính"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"Để ghép nối thiết bị trợ thính, hãy tìm và nhấn vào thiết bị trên màn hình tiếp theo."</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"Đảm bảo thiết bị trợ thính ở chế độ ghép nối."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"Để ghép nối máy trợ thính, hãy tìm và nhấn vào thiết bị trên màn hình tiếp theo. Đảm bảo máy trợ thính đang ở chế độ ghép nối."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> hoạt động"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> thiết bị trợ thính đã lưu</item>
@@ -2178,25 +2204,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Dịch vụ này đang hoạt động không bình thường."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Hiển thị trong Cài đặt nhanh"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"Chế độ sửa"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="other">Độ trễ cực kỳ ngắn (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> mili giây)</item>
-      <item quantity="one">Độ trễ cực kỳ ngắn (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> mili giây)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Đỏ – xanh lục"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"Đỏ – xanh lục"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Xanh lam – vàng"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"Mù màu xanh lục nhẹ"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"Mù màu đỏ nhẹ"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"Mù màu lam vàng"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="other">Độ trễ cực kỳ ngắn (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> giây)</item>
+      <item quantity="one">Độ trễ cực kỳ ngắn (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> giây)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="other">Độ trễ rất ngắn (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> mili giây)</item>
-      <item quantity="one">Độ trễ rất ngắn (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> mili giây)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="other">Độ trễ rất ngắn (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> giây)</item>
+      <item quantity="one">Độ trễ rất ngắn (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> giây)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="other">Độ trễ ngắn (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> mili giây)</item>
-      <item quantity="one">Độ trễ ngắn (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> mili giây)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="other">Độ trễ ngắn (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> giây)</item>
+      <item quantity="one">Độ trễ ngắn (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> giây)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="other">Độ trễ dài (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> mili giây)</item>
-      <item quantity="one">Độ trễ dài (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> mili giây)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="other">Độ trễ dài (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> giây)</item>
+      <item quantity="one">Độ trễ dài (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> giây)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="other">Độ trễ rất dài (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> mili giây)</item>
-      <item quantity="one">Độ trễ rất dài (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> mili giây)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="other">Độ trễ rất dài (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> giây)</item>
+      <item quantity="one">Độ trễ rất dài (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> giây)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> giây</item>
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> giây</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"Chuông: <xliff:g id="SUMMARY_RING">%1$s</xliff:g>, thông báo: <xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>, chạm: <xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"Đổ chuông và thông báo được đặt thành tắt"</string>
@@ -2513,7 +2549,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"Trong khi tháo đầu cắm lần cuối cho <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"Tổng số sử dụng"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"Làm mới"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"Hệ điều hành Android"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"Máy chủ phương tiện"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"Tối ưu hóa ứng dụng"</string>
     <string name="battery_saver" msgid="7737147344510595864">"Trình tiết kiệm pin"</string>
@@ -2594,8 +2629,7 @@
     <string name="tts_play" msgid="2945513377250757221">"Phát"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"Lưu thông tin xác thực"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"Cài đặt từ bộ nhớ"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"Cài đặt từ thẻ SD"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"Cài đặt chứng chỉ"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"Cài đặt chứng chỉ từ bộ nhớ"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"Cài đặt chứng chỉ từ thẻ SD"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"Xóa thông tin xác thực"</string>
@@ -2615,6 +2649,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"Bộ nhớ thông tin xác thực đã bị xóa."</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"Ko thể xóa b.nhớ t.tin x.thực."</string>
     <string name="usage_access_title" msgid="1580006124578134850">"ƯD có quyền tr.cập s.dụng"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"Chứng chỉ CA"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"Chứng chỉ người dùng ứng dụng và VPN"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"Chứng chỉ Wi‑Fi"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"Bạn có thể gặp phải những rủi ro về quyền riêng tư"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"Các trang web, ứng dụng và mạng riêng ảo (VPN) sẽ dùng chứng chỉ CA để mã hóa. Bạn chỉ nên cài đặt chứng chỉ CA của tổ chức mà mình tin cậy. \n\n Nếu bạn cài đặt một chứng chỉ CA, thì chủ sở hữu của chứng chỉ đó có thể truy cập vào thông tin của bạn, chẳng hạn như mật khẩu, thư hoặc thông tin chi tiết thẻ tín dụng, từ các trang web mà bạn truy cập hoặc các ứng dụng mà bạn dùng – ngay cả khi những thông tin đó đã được mã hóa."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"Không cài đặt"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"Vẫn cài đặt"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"Chưa cài đặt chứng chỉ"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"Tín hiệu quay số khẩn cấp"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Đặt chế độ khi cuộc gọi khẩn cấp được thực hiện"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Sao lưu"</string>
@@ -2642,10 +2684,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"Hủy kích hoạt và gỡ cài đặt"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"Ứng dụng quản trị thiết bị"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"Không có ứng dụng quản trị thiết bị nào"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"Cá nhân"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"Cơ quan"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"Hạn chế truy cập vào SMS và nhật ký cuộc gọi"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"Chỉ ứng dụng gọi điện và nhắn tin mặc định có quyền truy cập vào SMS và nhật ký cuộc gọi"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"Không có tác nhân tin cậy nào"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"Kích hoạt ứng dụng quản trị thiết bị?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"Kích hoạt ứng dụng quản trị thiết bị này"</string>
@@ -2659,6 +2697,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"Các tùy chọn khác đã bị quản trị viên của bạn tắt"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"Thông tin chi tiết khác"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"Nhật ký thông báo"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"Lịch sử thông báo"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"Hôm nay"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"Đã tạm hoãn"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"Đã tắt gần đây"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> thông báo</item>
+      <item quantity="one"><xliff:g id="NUMBER_0">%d</xliff:g> thông báo</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"Nhạc chuông và rung khi gọi"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"Chi tiết mạng"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"Đồng bộ hóa đã được bật"</string>
@@ -3008,7 +3054,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"Hạn chế"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"Xóa các hạn chế"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"Thay đổi PIN"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"Hiển thị thông báo"</string>
     <string name="help_label" msgid="2896538416436125883">"Trợ giúp và phản hồi"</string>
     <string name="support_summary" msgid="1034146931237148885">"Bài viết trợ giúp, điện thoại và trò chuyện, bắt đầu"</string>
     <string name="user_account_title" msgid="6389636876210834864">"Tài khoản dành cho nội dung"</string>
@@ -3033,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"Gọi qua 4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Dùng dịch vụ LTE để cải thiện tính năng thoại và các phương thức giao tiếp khác (khuyên dùng)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Sử dụng dịch vụ 4G để cải tiến tính năng thoại và các phương thức giao tiếp khác (đề xuất)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Khám phá danh bạ"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Cho phép nhà mạng khám phá xem những người liên hệ của bạn hỗ trợ các tính năng gọi điện nào."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Cho phép khám phá danh bạ?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Khi bạn bật tính năng này, nhà mạng sẽ được phép truy cập vào số điện thoại trong danh bạ của bạn để xác định xem những người liên hệ hỗ trợ các tính năng gọi điện nào."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Loại mạng ưu tiên"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (khuyên dùng)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"Tin nhắn MMS"</string>
@@ -3077,7 +3126,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"Gọi bằng"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"Chọn thẻ SIM"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"SIM <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"Không có SIM"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"Tên SIM"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"Nhập tên SIM"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"Khe cắm thẻ SIM %1$d"</string>
@@ -3087,6 +3135,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"Chọn thẻ SIM"</string>
     <string name="color_orange" msgid="216547825489739010">"Cam"</string>
     <string name="color_purple" msgid="6603701972079904843">"Tía"</string>
+    <string name="color_pink" msgid="8596872110888626708">"Hồng"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"Không có thẻ SIM nào được lắp"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"Trạng thái SIM"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"Trạng thái SIM (khe cắm thẻ SIM %1$d)"</string>
@@ -3100,7 +3149,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"Đã thay đổi thẻ SIM."</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Nhấn để thiết lập"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"Thẻ SIM ưu tiên cho"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Hỏi mỗi lần gọi"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Lựa chọn là bắt buộc"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"Chọn SIM"</string>
@@ -3118,6 +3166,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"Bluetooth, chế độ lái xe"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"Bluetooth, NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"Bluetooth"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"Không sử dụng được vì tính năng Giao tiếp phạm vi gần (NFC) đang tắt"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"Ứng dụng và thông báo"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Ứng dụng gần đây, ứng dụng mặc định"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Trong hồ sơ công việc, các ứng dụng không có quyền truy cập vào mục thông báo."</string>
@@ -3128,13 +3177,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"Cài đặt"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"wifi, wi-fi, kết nối mạng, internet, không dây, dữ liệu, wi fi"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"thông báo về Wi‑Fi, thông báo wifi"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"sử dụng dữ liệu"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"Ngừng rung, nhấn, bàn phím"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"Sử dụng định dạng 24 giờ"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"Tải xuống"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"Mở bằng"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"Ứng dụng"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"múi giờ"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"Bong bóng trò chuyện"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"Bong bóng trò chuyện, hệ thống, thông báo, cửa sổ, hộp thoại, hiển thị, trên đầu các ứng dụng khác, vẽ"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"Đèn pin, Sáng, Đèn pin"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"wifi, wi-fi, bật/tắt, kiểm soát"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"di động, thiết bị di động, nhà cung cấp dịch vụ di động, không dây, dữ liệu, 4g, 3g, 2g, lte"</string>
@@ -3158,7 +3208,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"không làm phiền, làm gián đoạn, gián đoạn, ngắt"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"lân cận, vị trí, lịch sử, báo cáo, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"tài khoản"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"tài khoản, thêm một tài khoản, hồ sơ công việc, thêm tài khoản"</string>
     <string name="keywords_users" msgid="3497517660077620843">"giới hạn, hạn chế, bị hạn chế"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"sửa văn bản, sửa, âm thanh, rung, tự động, ngôn ngữ, cử chỉ, đề xuất, khuyến nghị, chủ đề, từ, xúc phạm, nhập, biểu tượng cảm xúc, quốc tế"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"đặt lại, tùy chọn, mặc định"</string>
@@ -3196,6 +3246,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"bộ nhớ, bộ nhớ đệm, dữ liệu, xóa, xóa sạch, giải phóng, dung lượng"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"đã kết nối, thiết bị, tai nghe, bộ tai nghe, loa, không dây, ghép nối, tai nghe đặt trong tai, nhạc, phương tiện"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"nền, màn hình, màn hình khóa, giao diện"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"hình dạng biểu tượng, màu nhấn, phông chữ"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"mặc định, trợ lý"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"thanh toán, mặc định"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"thông báo đến"</string>
@@ -3205,18 +3256,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"xúc giác, rung, độ nhạy"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"trình tiết kiệm pin, cố định, tiếp tục, trình tiết kiệm điện, pin"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"quy trình, lịch biểu, trình tiết kiệm pin, trình tiết kiệm điện, pin, tự động, phần trăm"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"hồ sơ công việc"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"volte, gọi nâng cao, gọi qua mạng 4G"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"thêm ngôn ngữ, thêm một ngôn ngữ"</string>
     <string name="default_sound" msgid="6604374495015245195">"Âm thanh mặc định"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"Âm lượng chuông ở mức <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"Âm lượng chuông và thông báo ở mức <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Âm lượng, rung, Không làm phiền"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"Đã đặt chuông thành rung"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"Đã đặt chuông thành im lặng"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"Âm lượng chuông ở mức 80%"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"Âm lượng chuông và thông báo ở mức 80%"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Âm lượng phương tiện"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Âm lượng truyền"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"Âm lượng cuộc gọi"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"Âm lượng báo thức"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"Âm lượng chuông"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"Âm lượng chuông và thông báo"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"Âm lượng thông báo"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"Nhạc chuông điện thoại"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"Âm thanh thông báo mặc định"</string>
@@ -3224,6 +3276,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"Âm thanh thông báo mặc định"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"Âm thanh báo thức mặc định"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"Rung khi có cuộc gọi"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"Không rung"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"Luôn rung"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"Rung trước tiên rồi đổ chuông to dần"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"Âm thanh khác"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"Âm bàn phím số"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"Âm thanh khóa màn hình"</string>
@@ -3247,6 +3302,7 @@
       <item quantity="one">Đã bật 1</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Không làm phiền"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Chỉ nhận thông báo về những người và ứng dụng quan trọng"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Hạn chế bị gián đoạn"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Bật chế độ Không làm phiền"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"Ngoại lệ"</string>
@@ -3273,7 +3329,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Ngăn gián đoạn hình ảnh"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Cho phép tín hiệu hình ảnh"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"Khi chế độ Không làm phiền đang bật"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"Cho phép các hoạt động gây gián đoạn phát âm thanh"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"Hạn chế thông báo"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Không phát âm thanh khi có thông báo"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"Bạn sẽ thấy thông báo trên màn hình của mình"</string>
@@ -3304,7 +3360,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"Âm thanh và rung"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"Âm thanh, rung và một số tín hiệu hình ảnh của thông báo"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"Âm thanh, rung và tín hiệu hình ảnh của thông báo"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"Các thông báo cần thiết cho hoạt động và trạng thái cơ bản của điện thoại sẽ không bao giờ bị ẩn"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"Các thông báo cần thiết cho hoạt động và trạng thái cơ bản của điện thoại sẽ không bao giờ bị ẩn."</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"Không"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"tùy chọn khác"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"Thêm"</string>
@@ -3334,10 +3390,12 @@
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> lịch biểu có thể tự động bật</item>
       <item quantity="one">1 lịch biểu có thể tự động bật</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"Tắt tiếng thiết bị nhưng cho phép ngoại lệ"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"Ngoại lệ"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"Lịch biểu"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"Xem tất cả trường hợp ngoại lệ"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"Các trường hợp ngoại lệ khi chế độ Không làm phiền đang bật"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"Người"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"Ứng dụng"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"Chuông báo và các hoạt động gây gián đoạn khác"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"Lịch biểu"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"Thông báo đã tắt tiếng"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"Khi chế độ Không làm phiền đang bật, âm thanh và rung sẽ bị tắt trừ các mục mà bạn cho phép ở trên."</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"Tắt tiếng tất cả ngoại trừ"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"Đã tắt tiếng"</string>
@@ -3381,16 +3439,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"Thông báo thích ứng"</string>
     <string name="asst_capability_prioritizer_title" msgid="1181272430009156556">"Mức độ ưu tiên của thông báo thích ứng"</string>
     <string name="asst_capability_prioritizer_summary" msgid="954988212366568737">"Tự động đặt thông báo có mức ưu tiên thấp thành Nhẹ nhàng"</string>
+    <string name="asst_capability_ranking_title" msgid="312998580233257581">"Thứ tự thông báo thích ứng"</string>
+    <string name="asst_capability_ranking_summary" msgid="2293524677144599450">"Tự động sắp xếp các thông báo theo mức độ liên quan"</string>
     <string name="asst_capabilities_actions_replies_title" msgid="4392470465646394289">"Câu trả lời và hành động đề xuất"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"Tự động hiển thị câu trả lời và hành động đề xuất"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"Bật lịch sử thông báo để theo dõi các thông báo trước đây và thông báo đã tạm ẩn"</string>
+    <string name="notification_history" msgid="8663811361243456201">"Lịch sử thông báo"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"Bật lịch sử"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"Tắt lịch sử"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"Lịch sử thông báo đã bị tắt"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"xem tùy chọn cài đặt thông báo"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Cho phép tạm hoãn thông báo"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"Ẩn các biểu tượng khỏi thông báo nhẹ nhàng"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"Các biểu tượng trong thông báo nhẹ nhàng không hiển thị trên thanh trạng thái"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"Cho phép dấu chấm thông báo"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"Hiển thị chuỗi các cuộc trò chuyện gần đây"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Bong bóng"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"Một số thông báo có thể xuất hiện dưới dạng bong bóng trên màn hình"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"Một số thông báo và nội dung khác có thể hiển thị dưới dạng bong bóng trên màn hình. Hãy nhấn vào bong bóng nếu bạn muốn mở. Để loại bỏ, hãy kéo bong bóng xuống phía cuối màn hình."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Bong bóng"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"Tin nhắn mới sẽ xuất hiện trên màn hình"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"Cho phép <xliff:g id="APP_NAME">%1$s</xliff:g> hiển thị một số thông báo dưới dạng bong bóng"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"Bật bong bóng"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"Để bật bong bóng cho ứng dụng này, trước tiên bạn cần bật bong bóng cho thiết bị. Việc này sẽ ảnh hưởng đến các ứng dụng khác mà bạn đã bật bong bóng trước đây."</string>
@@ -3408,6 +3476,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"Hiển thị trong ngăn kéo xuống và trên màn hình khóa"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"Hiển thị trong ngăn kéo xuống và thanh trạng thái"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"Hiển thị trong ngăn kéo xuống, thanh trạng thái và trên màn hình khóa"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"Ẩn các thông báo im lặng trong thanh trạng thái"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"Nhấp nháy đèn"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"Màn hình khóa"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"Bỏ qua màn hình khóa"</string>
@@ -3438,6 +3507,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"Hành vi"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"Cho phép âm thanh"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"Không bao giờ hiển thị thông báo"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"Cuộc trò chuyện"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"Cuộc trò chuyện"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"Không phải là cuộc trò chuyện"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"Xóa khỏi mục cuộc trò chuyện"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"Đây là một cuộc trò chuyện"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"Thêm vào mục cuộc trò chuyện"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"Quản lý cuộc trò chuyện"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"Cuộc trò chuyện quan trọng"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"Tất cả các cuộc trò chuyện"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"Hiển thị cuộc trò chuyện quan trọng dưới dạng bong bóng"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"Các cuộc trò chuyện quan trọng sẽ hiển thị ở đầu ngăn kéo xuống. Bạn cũng có thể chuyển các cuộc trò chuyện này sang dạng bong bóng và tạm thời dừng chế độ Không làm phiền."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"Hiển thị mà không phát âm báo và thu nhỏ"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"Hiển thị mà không phát âm báo"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"Phát âm báo"</string>
@@ -3456,7 +3536,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"Giúp bạn tập trung bằng cách tắt tiếng hoặc không rung"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"Thu hút sự chú ý của bạn bằng cách bật tiếng hoặc rung"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"Hiển thị thông báo ở đầu màn hình khi thiết bị đang mở khóa"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"Hiển thị thông báo"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"Tất cả thông báo của <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"Thông báo thích ứng"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="other">~<xliff:g id="NUMBER_1">%d</xliff:g> thông báo mỗi ngày</item>
@@ -3477,6 +3557,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"Thông báo thích ứng"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"Không có"</string>
     <string name="no_notification_listeners" msgid="2839354157349636000">"Không có ứng dụng đã cài đặt nào yêu cầu quyền truy cập thông báo."</string>
+    <string name="notification_access_detail_switch" msgid="46386786409608330">"Cho phép truy cập thông báo"</string>
     <string name="notification_assistant_security_warning_title" msgid="2972346436050925276">"Bạn muốn cấp quyền truy cập thông báo cho <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
     <string name="notification_assistant_security_warning_summary" msgid="3119843404577399036">"<xliff:g id="NOTIFICATION_ASSISTANT_NAME">%1$s</xliff:g> có thể đọc tất cả các thông báo, bao gồm cả thông tin cá nhân như tên liên hệ và nội dung của thông báo bạn nhận được. Tính năng này cũng có thể sửa đổi, bỏ qua thông báo hay kích hoạt các nút thao tác trong những thông báo đó. \n\nNgoài ra, tính năng này có thể bật hoặc tắt chế độ Không làm phiền và thay đổi các tùy chọn cài đặt liên quan."</string>
     <string name="notification_listener_security_warning_title" msgid="5791700876622858363">"Cho phép truy cập thông báo cho <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
@@ -3538,8 +3619,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"Xong"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"Mức độ quan trọng"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"Nhấp nháy đèn"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"Rung"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"Rung"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"Âm báo"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"Quan trọng"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"Thêm vào nhà"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"Xóa"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"Đổi tên"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"Tên lịch biểu"</string>
@@ -3593,6 +3676,10 @@
       <item quantity="other"><xliff:g id="NUM_PEOPLE">%d</xliff:g> người khác</item>
       <item quantity="one">1 người khác</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Cuộc trò chuyện"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"Từ tất cả cuộc trò chuyện"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"Từ các cuộc trò chuyện quan trọng"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"Không cho phép bất kỳ cuộc trò chuyện nào"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"Cho phép tin nhắn"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"Để đảm bảo các tin nhắn đã cho phép sẽ phát ra âm thanh, hãy kiểm tra xem thiết bị của bạn được đặt ở chế độ đổ chuông, rung hay im lặng."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"Các tin nhắn đến sẽ bị chặn khi áp dụng ‘<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>’. Bạn có thể điều chỉnh các tùy chọn cài đặt để cho phép bạn bè, gia đình hoặc những người liên hệ khác liên lạc với bạn."</string>
@@ -3606,15 +3693,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"Không có"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"Không cho phép cuộc gọi"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"Không cho phép tin nhắn"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"Cho phép chuông báo thức"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"Báo thức"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"Từ đồng hồ hẹn giờ, chuông báo, hệ thống an ninh và các ứng dụng khác"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"báo thức"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"Phát âm thanh nội dung nghe nhìn"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"Âm thanh nội dung nghe nhìn"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"Từ video, trò chơi và các nội dung nghe nhìn khác"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"nội dung phương tiện"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"Cho phép âm chạm"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"Âm chạm"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"Từ bàn phím và các nút khác của bạn"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"âm chạm"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"Cho phép lời nhắc"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"Lời nhắc"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"Từ các việc cần làm và lời nhắc"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"lời nhắc"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"Cho phép sự kiện"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"Sự kiện"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"Từ các sự kiện lịch sắp tới"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Cho phép ứng dụng ghi đè"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"Ngoại lệ ứng dụng"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3657,6 +3749,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"Cho phép thông báo đã bị tắt tiếng bằng tính năng Không làm phiền bật màn hình"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"Cài đặt thông báo"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"Ok"</string>
+    <string name="suggestion_button_close" msgid="6865170855573283759">"Đóng"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Gửi phản hồi về thiết bị này"</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"Nhập mã PIN quản trị"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"Đang bật"</string>
@@ -3667,6 +3760,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Hỏi mã PIN trước khi bỏ ghim"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Hỏi mật khẩu trước khi bỏ khóa màn hình"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Khóa thiết bị khi bỏ khóa màn hình"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Xác nhận việc xóa SIM"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"Xác minh danh tính của bạn trước khi xóa SIM vừa tải xuống"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"Hồ sơ công việc này được quản lý bằng:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"Quản lý bởi <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(Thử nghiệm)"</string>
@@ -3741,8 +3836,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"Tất cả ứng dụng"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Ứng dụng đã cài đặt"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Ứng dụng tức thì"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"Cá nhân"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"Cơ quan"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"Ứng dụng: Tất cả"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"Đã tắt"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"Danh mục: Tầm q.trọng khẩn cấp"</string>
@@ -3754,6 +3847,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"Ứng dụng không xác định"</string>
     <string name="app_permissions" msgid="8666537659217653626">"Trình quản lý quyền"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"Ứng dụng sử dụng <xliff:g id="APPS">%1$s</xliff:g>"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"Ứng dụng dùng <xliff:g id="APPS">%1$s</xliff:g> và các ứng dụng khác"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"Nhấn để đánh thức"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"Nhấn đúp vào vị trí bất kỳ trên màn hình để đánh thức thiết bị"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"Mở liên kết"</string>
@@ -3765,9 +3859,14 @@
       <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> ứng dụng đang mở liên kết được hỗ trợ</item>
       <item quantity="one">Một ứng dụng đang mở liên kết được hỗ trợ</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"Mở trong ứng dụng này"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"Cho phép ứng dụng mở đường liên kết được hỗ trợ"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"Luôn hỏi"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"Không mở trong ứng dụng này"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"Không cho phép ứng dụng mở đường liên kết"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="other">Ứng dụng muốn truy cập vào <xliff:g id="COUNT_1">%d</xliff:g> đường liên kết</item>
+      <item quantity="one">Ứng dụng muốn truy cập vào <xliff:g id="COUNT_0">%d</xliff:g> đường liên kết</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"Ứng dụng muốn truy cập vào các đường liên kết sau:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"Mặc định"</string>
     <string name="default_for_work" msgid="537558180548617528">"Mặc định cho công việc"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"Trợ lý và nhập bằng giọng nói"</string>
@@ -3911,8 +4010,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"Hiển thị trên các ứng dụng khác"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Cho phép hiển thị trên các ứng dụng khác"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"Cho phép ứng dụng này hiển thị trên các ứng dụng khác mà bạn đang sử dụng. Điều này có thể ảnh hưởng đến việc bạn sử dụng các ứng dụng đó hoặc thay đổi cách chúng xuất hiện hoặc hoạt động."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"Quyền truy cập vào mọi tệp"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"Cho phép truy cập để quản lý tất cả các tệp"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Cho phép ứng dụng này đọc, sửa đổi và xóa tất cả các tệp trên thiết bị này hoặc bất kỳ thiết bị lưu trữ nào đã kết nối. Nếu bạn cho phép, ứng dụng có thể truy cập vào các tệp mà không cần thông báo rõ ràng cho bạn."</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"Có thể truy cập vào tất cả các tệp"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"vr thực tế ảo trình nghe âm thanh nổi trình trợ giúp dịch vụ"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"hộp thoại cửa sổ thông báo hệ thống hiển thị trên các ứng dụng khác"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"Hiển thị trên các ứng dụng khác"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"<xliff:g id="COUNT_0">%1$d</xliff:g>/<xliff:g id="COUNT_1">%2$d</xliff:g> ứng dụng được phép hiển thị trên các ứng dụng khác"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"Các ứng dụng có quyền"</string>
@@ -4078,6 +4180,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"Đã dùng <xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g>"</string>
     <string name="data_overusage" msgid="3680477320458707259">"Trên <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="data_remaining" msgid="6316251496381922837">"Còn <xliff:g id="ID_1">^1</xliff:g>"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"Biểu đồ cho biết mức sử dụng dữ liệu từ <xliff:g id="START_DATE">%1$s</xliff:g> đến <xliff:g id="END_DATE">%2$s</xliff:g>."</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"Không có dữ liệu trong phạm vi ngày này"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="other">Còn %d ngày</item>
       <item quantity="one">Còn %d ngày</item>
@@ -4141,14 +4245,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"kích thước bưu kiện"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"đã gửi thông báo"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"âm thanh"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"rung"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"hình mở khóa"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"mặc định"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"kênh"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"không có"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"Thiếu đối tượng xếp hạng."</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"Đối tượng xếp hạng không chứa khóa này."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"Tùy chỉnh giao diện"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"Theo mặc định của thiết bị"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"Vết cắt trên màn hình"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"cắt hiển thị, vết cắt"</string>
@@ -4237,8 +4337,12 @@
     <string name="information_label" msgid="6939310810756569298">"Thông tin"</string>
     <string name="low_label" msgid="6525629096999711220">"Thấp"</string>
     <string name="high_label" msgid="357503396626018487">"Cao"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"Độ nhạy cao hơn có thể xung đột với mọi cử chỉ trong ứng dụng dọc theo các cạnh màn hình."</string>
+    <string name="left_edge" msgid="1513576842959071849">"Cạnh bên trái"</string>
+    <string name="right_edge" msgid="1505309103265829121">"Cạnh bên phải"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"Độ nhạy cao hơn có thể xung đột với mọi cử chỉ trong ứng dụng dọc theo các cạnh màn hình."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"Độ nhạy với cử chỉ quay lại"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"Tùy chọn cài đặt về cử chỉ"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"thao tác bằng cử chỉ, độ nhạy với cử chỉ quay lại, cử chỉ quay lại"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"Nhấn đúp để kiểm tra điện thoại"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"Nhấn đúp để kiểm tra máy tính bảng"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"Nhấn đúp để kiểm tra thiết bị"</string>
@@ -4393,7 +4497,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"Kích hoạt cấp phép của nhà cung cấp dịch vụ"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"Cập nhật chế độ Không làm phiền"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"Tạm dừng thông báo để tập trung"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"Không sử dụng được tính năng này trên thiết bị này"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"Tính năng không hoạt động"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"Tính năng này đã bị tắt vì sẽ khiến điện thoại chạy chậm"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"Thực thi số đo GNSS đầy đủ"</string>
@@ -4403,20 +4506,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"Chọn ứng dụng hỗ trợ ANGLE"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"Chưa đặt ứng dụng hỗ trợ ANGLE nào"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"Ứng dụng hỗ trợ ANGLE: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"Các tùy chọn của Trình điều khiển trò chơi"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"Sửa đổi tùy chọn cài đặt Trình điều khiển trò chơi"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"Khi bật Trình điều khiển trò chơi, bạn có thể chọn sử dụng trình điều khiển đồ họa đã cập nhật cho Ứng dụng được cài đặt trên thiết bị."</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"Bật cho tất cả các ứng dụng"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"Chọn trình điều khiển đồ họa"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"Mặc định"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"Trình điều khiển trò chơi"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"Trình điều khiển thử nghiệm"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"Trình điều khiển đồ họa hệ thống"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"Các tùy chọn của trình điều khiển đồ họa"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"Sửa đổi tùy chọn cài đặt trình điều khiển đồ họa"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"Khi có nhiều trình điều khiển đồ họa, bạn có thể chọn sử dụng trình điều khiển đồ họa đã cập nhật cho Ứng dụng được cài đặt trên thiết bị."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"Bật cho tất cả các ứng dụng"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"Chọn trình điều khiển đồ họa"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"Mặc định"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"Trình điều khiển trò chơi"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"Trình điều khiển dành cho nhà phát triển"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Trình điều khiển đồ họa hệ thống"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Các thay đổi về khả năng tương thích của ứng dụng"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Bật/tắt chế độ thay đổi về khả năng tương thích của ứng dụng"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Các thay đổi được bật theo mặc định"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Các thay đổi bị tắt theo mặc định"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"Điện thoại này không hỗ trợ cài đặt"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"Máy tính bảng này không hỗ trợ cài đặt"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"Thiết bị này không hỗ trợ cài đặt."</string>
@@ -4435,6 +4544,12 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"Thiết bị"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Không hoạt động khi có cuộc gọi"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"Không có"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"Thêm thiết bị ra"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"Nhóm"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"Đã chọn 1 thiết bị"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"Đã chọn <xliff:g id="COUNT">%1$d</xliff:g> thiết bị"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"Thực hiện cuộc gọi trên"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Không thể thay đổi APN (Tên điểm truy cập) này."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Tăng tuổi thọ pin của máy tính bảng"</string>
@@ -4552,10 +4667,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Chỉ một SIM đã tải xuống có thể hoạt động mỗi lần.\n\nKhi chuyển sang <xliff:g id="CARRIER1">%1$s</xliff:g>, dịch vụ <xliff:g id="CARRIER2">%2$s</xliff:g> của bạn sẽ không bị hủy."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Chuyển sang <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Xóa SIM"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Bạn muốn xóa SIM đã tải xuống này?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Khi bạn xóa SIM này, dịch vụ <xliff:g id="CARRIER_0">%1$s</xliff:g> sẽ bị xóa khỏi thiết bị này.\n\nDịch vụ của <xliff:g id="CARRIER_1">%2$s</xliff:g> sẽ không bị hủy."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Xóa"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Đang xóa SIM…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Không thể xóa SIM"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Không xóa được SIM do lỗi.\n\nHãy khởi động lại thiết bị của bạn rồi thử lại."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Loại mạng ưu tiên"</string>
@@ -4580,7 +4691,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Chế độ mạng <xliff:g id="NETWORKMODEID">%1$d</xliff:g> không hợp lệ. Bỏ qua."</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Tên điểm truy cập"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Không sử dụng được khi kết nối với <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"Thông tin y tế, người liên hệ lúc khẩn cấp"</string>
     <string name="see_more" msgid="7499355691042812723">"Xem thêm"</string>
     <string name="see_less" msgid="2642392725363552793">"Xem bớt"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"Thiết bị sẽ sử dụng với <xliff:g id="APPNAME">%1$s</xliff:g>"</string>
@@ -4589,11 +4699,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"Đã xảy ra lỗi. Ứng dụng đã hủy yêu cầu chọn thiết bị."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"Kết nối thành công"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"Hiển thị tất cả"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> thiết bị đã kết nối</item>
-      <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_0">%1$d</xliff:g> thiết bị đã kết nối</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"Không có thiết bị Bluetooth nào"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"Đang tìm kiếm thiết bị..."</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"Đang kết nối với thiết bị..."</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"Trái"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"Phải"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Hộp sạc"</string>
@@ -4603,6 +4710,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"Không sử dụng được khi ở chế độ trên máy bay"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"Buộc chạy chế độ máy tính"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Buộc chạy chế độ máy tính thử nghiệm trên màn hình phụ"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"Cho phép ở dạng tự do khi không thể đổi kích thước"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"Cho phép các ứng dụng ở dạng tự do khi không thể đổi kích thước"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Ghi đè tính năng buộc tối"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"Ghi đè tính năng buộc tối để luôn bật"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"Quyền riêng tư"</string>
@@ -4639,6 +4748,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Gần đây, bạn đã cài đặt ứng dụng này."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Chuyển đổi đầu ra"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Hiện đang phát trên <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (đã ngắt kết nối)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Không thể chuyển đổi. Nhấn để thử lại."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Thông tin quan trọng"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"TIẾP TỤC"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"KHÔNG, CẢM ƠN"</string>
@@ -4666,8 +4777,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"Kết hợp SIM"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Thông tin về chính sách công việc của bạn"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Các tùy chọn cài đặt do quản trị viên CNTT quản lý"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"Trình xử lý báo cáo lỗi"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Xác định ứng dụng nào xử lý phím tắt Báo cáo lỗi trên thiết bị của bạn."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Cá nhân"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"Cơ quan"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"Giá trị mặc định của hệ thống"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"Lựa chọn này không còn hợp lệ nữa. Hãy thử lại."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"Dừng truyền"</string>
 </resources>
diff --git a/res/values-zh-rCN/arrays.xml b/res/values-zh-rCN/arrays.xml
index fffcf47..301a846 100644
--- a/res/values-zh-rCN/arrays.xml
+++ b/res/values-zh-rCN/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"立即"</item>
     <item msgid="463591454172790676">"5秒"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"不验证"</item>
+    <item msgid="5703177653586269306">"需要证书状态"</item>
+    <item msgid="326388247868439528">"需要证书状态"</item>
+    <item msgid="1090956283885790552">"需要所有非信任证书的状态"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"按钮"</item>
     <item msgid="2630618799033509548">"从对等设备获取的 PIN 码"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"无"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"具有预共享密钥且进行 Xauth 身份验证的 IPSec VPN"</item>
     <item msgid="2484564813864139237">"具有证书且进行 Xauth 身份验证的 IPSec VPN"</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>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"无"</item>
diff --git a/res/values-zh-rCN/config.xml b/res/values-zh-rCN/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-zh-rCN/config.xml
+++ b/res/values-zh-rCN/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index e729619..deaa881 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -31,49 +31,17 @@
     <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="radio_info_data_connection_enable" msgid="7500945447906187613">"启用数据网络连接"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"停用数据网络连接"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"已配置 VoLTE"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"已配置视频通话"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"已配置 WLAN 通话"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"已配置 EAB/Presence"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"CBRS 数据"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"启用 DSDS"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"要重启设备吗？"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"您需要重启设备才能让这项设置更改生效。"</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"重启"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"取消"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"移动无线装置电源"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"查看 SIM 卡通讯录"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"查看固定拨号号码"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"查看服务拨号"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"IMS 服务状态"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"IMS 状态"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"已注册"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"未注册"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"可供使用"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"无法使用"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"IMS 注册：<xliff:g id="STATUS">%1$s</xliff:g>\nLTE 语音通话：<xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nWLAN 语音通话：<xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\n视频通话：<xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT 接口：<xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"服务中"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"不在服务区"</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>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"空闲"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"响铃"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"正在通话"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"已断开连接"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"正在连接"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"已连接"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"已暂停"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"未知"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"pkts"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"字节"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"卸载USB存储设备"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"卸载SD卡"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"格式化USB存储设备"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"缩小或放大屏幕上的文字。"</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"缩小"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"放大"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"示例文本"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"绿野仙踪"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"第 11 章：奥兹国神奇的翡翠城"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"您需要重启设备才能让这项设置更改生效。"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"重启"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"取消"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"可用的媒体设备"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"可用的通话设备"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"当前已连接"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"媒体设备"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"通话设备"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"其他设备"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"保存的设备"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"系统将开启蓝牙以进行配对"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"连接偏好设置"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"您键入的端口无效。"</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"浏览器会使用 HTTP 代理，但其他应用可能不会使用。"</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"PAC网址： "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"当前 SubId："</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"默认数据 SIM 卡的 SubId："</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"DL 带宽 (kbps)："</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"UL 带宽 (kbps)："</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"移动网络位置信息（已弃用）："</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"LTE 物理信道配置："</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"移动网络信息刷新频率："</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"所有移动网络测量信息："</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"数据服务："</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"漫游："</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"移动通信国际识别码："</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"来电转接："</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"启动后重置 PPP 的次数："</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"当前网络："</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"已接收的数据量："</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"语音服务："</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"信号强度："</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"语音通话状态："</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"已发送的数据量："</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"消息等待："</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"电话号码："</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"选择无线装置频道"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"语音网络类型："</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"数据网络类型："</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"选择电话号码索引"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"设置首选网络类型："</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"ping 主机名(www.google.com) IPv4："</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"ping 主机名(www.google.com) IPv6："</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"HTTP 客户端测试："</string>
     <string name="ping_test_label" msgid="265427033290391845">"运行 ping 测试"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC："</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"更新"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"刷新"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"切换 DNS 检查"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"特定 OEM 的信息/设置"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"设置无线装置频道模式"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"正在加载频道列表…"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"设置"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"失败"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"成功"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"重新连接USB线后更改就会生效。"</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"启用USB大容量存储设备"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"总字节数："</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"移至底部"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"移除语言"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"选择活动"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"设备信息"</string>
     <string name="display_label" msgid="3056320781191343221">"屏幕"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"平板电脑信息"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"手机信息"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"USB存储设备"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"SD卡"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"代理设置"</string>
@@ -306,9 +234,6 @@
     <string name="airplane_mode" msgid="3196085857882526817">"飞行模式"</string>
     <string name="wireless_networks_settings_title" msgid="8557542379234105369">"无线和网络"</string>
     <string name="radio_controls_summary" msgid="9028430178697624501">"管理WLAN、蓝牙、飞行模式、移动网络和VPN"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"移动数据"</string>
-    <string name="calls_title" msgid="6334813967619899114">"允许通话"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"短信"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"允许使用移动数据网络"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"允许漫游时使用数据流量"</string>
     <string name="roaming" msgid="3055365654530847985">"漫游"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"漫游时连接到移动数据网络服务"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"移动数据网络连接已断开，因为您已离开本地网络并关闭了移动数据网络漫游功能。"</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"将其启用"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"这可能会产生高额费用。"</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"如果允许数据漫游，您可能需要支付高昂的漫游费用！\n\n此设置会影响这部平板电脑上的所有用户。"</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"如果允许数据漫游，您可能需要支付高昂的漫游费用！\n\n此设置会影响这部手机上的所有用户。"</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"可能需要支付漫游费用。"</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"如果允许数据网络漫游，您可能需要支付漫游费用！\n\n此设置会影响这部平板电脑上的所有用户。"</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"如果允许数据网络漫游，您可能需要支付漫游费用！\n\n此设置会影响这部手机上的所有用户。"</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"允许移动数据网络漫游吗？"</string>
     <string name="networks" msgid="5184501333492775095">"运营商选择"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"选择网络运营商"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"已被管理员停用"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"显示锁定选项"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"显示可在锁定屏幕上关闭 Smart Lock、指纹解锁和通知功能的电源按钮选项"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"可信代理只会延长解锁时间"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"启用后，可信代理会延长设备的解锁时间，但无法再将已锁定的设备解锁。"</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"信任状态结束时锁定屏幕"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"启用后，系统会在最后一个可信代理结束信任状态时锁定设备"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"无"</string>
@@ -390,7 +313,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"设置我的位置、屏幕解锁、SIM 卡锁定和凭据存储锁定"</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"设置我的位置、屏幕解锁和凭据存储锁定"</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"隐私设置"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"已被管理员停用"</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>
@@ -693,7 +616,6 @@
       <item quantity="other">必须少于 <xliff:g id="NUMBER_1">%d</xliff:g> 位数</item>
       <item quantity="one">必须少于 <xliff:g id="NUMBER_0">%d</xliff:g> 位数</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"只能包含 0-9 的数字"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"设备管理员不允许使用最近用过的 PIN 码"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"常用 PIN 码已被您的 IT 管理员屏蔽。请尝试一个不同的 PIN 码。"</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"密码不得包含无效字符"</string>
@@ -724,6 +646,10 @@
       <item quantity="other">必须包含至少 <xliff:g id="COUNT">%d</xliff:g> 个非字母字符</item>
       <item quantity="one">必须包含至少 1 个非字母字符</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="other">必须包含至少 <xliff:g id="COUNT">%d</xliff:g> 个非数字字符</item>
+      <item quantity="one">必须包含至少 1 个非数字字符</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"设备管理员不允许使用最近用过的密码"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"常用密码已被您的 IT 管理员屏蔽。请尝试一个不同的密码。"</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"不允许使用以升序、降序或重复序列进行排列的一串数字"</string>
@@ -837,19 +763,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2.4 GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"登录"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"打开网站"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"还剩 <xliff:g id="REMAINING_TIME">%1$s</xliff:g>"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"到期时间：<xliff:g id="EXPIRY_TIME">%1$s</xliff:g>"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"点按此处即可登录网络"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"<xliff:g id="REQUESTER">%s</xliff:g>请求开启 WLAN"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"<xliff:g id="REQUESTER">%s</xliff:g>请求关闭 WLAN"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"验证可调试应用的字节码"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"允许 ART 验证可调试应用的字节码"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"显示刷新频率"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"显示当前的显示屏刷新频率"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"允许平板电脑在接触其他设备时交换数据"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"允许手机在接触其他设备时交换数据"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"允许平板电脑在与 NFC 设备触碰时交换数据"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"允许手机在与 NFC 设备触碰时交换数据"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"开启 NFC"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"NFC 可让此设备和附近的其他设备或目标（例如付款终端、门禁读卡器和互动式广告或标签）交换数据。"</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"安全 NFC"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"必须解锁设备才能使用 NFC"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"只有屏幕处于解锁状态时，才允许通过 NFC 进行付款以及使用公共交通服务"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"已准备好通过 NFC 传输应用内容"</string>
@@ -923,8 +855,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"开启"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"WLAN 扫描功能已开启"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"高级选项"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"高级选项下拉列表。点按两次即可收起。"</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"高级选项下拉列表。点按两次即可展开。"</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"下拉列表高级选项"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"展开"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"网络名称"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"输入 SSID"</string>
     <string name="wifi_security" msgid="9095934643631406913">"安全性"</string>
@@ -934,6 +866,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"状态信息"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"传输链接速度"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"接收链接速度"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"连接速度"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"频率"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"IP 地址"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"保存方式："</string>
@@ -941,6 +874,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"EAP方法"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"阶段2身份验证"</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>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"用户证书"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"身份"</string>
@@ -957,6 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"请为 WLAN 热点至少选择一个频段："</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"IP 设置"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"隐私"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"订阅"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"查看或更改订阅"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"随机选择的 MAC"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"添加设备"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"将二维码置于下方中间位置即可将设备添加到“<xliff:g id="SSID">%1$s</xliff:g>”"</string>
@@ -966,12 +902,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"分享 WLAN"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"扫描此二维码即可连接到“<xliff:g id="SSID">%1$s</xliff:g>”并分享密码"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"扫描此二维码即可连接到“<xliff:g id="SSID">%1$s</xliff:g>”"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"无法读取二维码。请重新将二维码置中，然后重试"</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"请重试。如果问题依然存在，请与设备制造商联系"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"出了点问题"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"请确保设备已连接到电源，正在充电且处于开启状态"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"请确保设备已连接到电源，正在充电且处于开启状态。如果问题依然存在，请与设备制造商联系"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"此设备不支持添加“<xliff:g id="SSID">%1$s</xliff:g>”"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"请尝试让设备更靠近您的 WLAN 接入点/路由器"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"请检查密码，然后重试"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"请与设备制造商联系"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"请检查连接状况，然后重试"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"选择网络"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"要连接设备，请选择一个网络"</string>
@@ -984,11 +922,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"正在与此设备分享 WLAN…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"正在连接…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"分享热点"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"验证您的身份"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"验证是您本人"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"WLAN 密码：<xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"热点密码：<xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"自动连接"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"允许手机在此网络附近时自动连接"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"允许平板电脑在此网络附近时自动连接"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"添加设备"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"使用二维码将设备添加到此网络"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"二维码的格式无效"</string>
     <string name="retry" msgid="7542103800274026915">"重试"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"与其他设备用户共享"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"（未更改）"</string>
@@ -1000,6 +942,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"未指定任何证书。您的网络连接将不是私密连接。"</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"网络名称太长。"</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"必须指定域名。"</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"需要指定证书。"</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"可使用 WPS"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" （可使用 WPS）"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"运营商 WLAN 网络"</string>
@@ -1051,7 +994,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"高级WLAN"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"MAC 地址"</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_ip_address_title" msgid="4265355419782184514">"IP 地址"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"网络详情"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"子网掩码"</string>
@@ -1103,7 +1047,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"使用热点创建 WLAN 网络供其他设备使用。热点会使用您的移动数据连接提供互联网连接。这可能会产生额外的移动数据流量费用。"</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"应用可以通过创建热点，与附近的设备共享内容。"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"自动关闭热点"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"如果未连接任何设备，WLAN 热点将关闭"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"未连接任何设备时"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"正在打开热点..."</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"正在关闭热点..."</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> 已连接"</string>
@@ -1112,6 +1056,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"WLAN热点设置"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"AndroidAP WPA2 PSK 热点"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"Android热点"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"要保存此网络吗？"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"<xliff:g id="APPNAME">%1$s</xliff:g>想将 1 个网络保存到您的手机"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"<xliff:g id="APPNAME">%1$s</xliff:g>想将 1 个网络保存到您的平板电脑"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"正在保存…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"已保存"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"无法保存，请重试。"</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"要保存网络吗？"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"<xliff:g id="APPNAME">%1$s</xliff:g>想将这些网络保存到您的手机"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"<xliff:g id="APPNAME">%1$s</xliff:g>想将这些网络保存到您的平板电脑"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"正在保存 <xliff:g id="NUMBER">%d</xliff:g> 个网络…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"网络已保存"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"WLAN 通话"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"通过 WLAN 扩大通话覆盖范围"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"开启 WLAN 通话功能以扩大通话覆盖范围"</string>
@@ -1138,16 +1093,18 @@
     <string name="emergency_address_title" msgid="3490633500025717573">"紧急联系地址"</string>
     <string name="emergency_address_summary" msgid="3022628750270626473">"当您通过 WLAN 网络拨打紧急呼救电话时，系统会判定您位于这个位置"</string>
     <string name="private_dns_help_message" msgid="851221502063782306"><annotation id="url">"详细了解"</annotation>"私人 DNS 功能"</string>
+    <string name="private_dns_mode_on" msgid="8878679071975375696">"开启"</string>
     <string name="wifi_calling_pref_managed_by_carrier" msgid="129524064888622179">"这项设置由运营商管理"</string>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"请启用 WLAN 通话功能"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"请开启 WLAN 通话功能"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"%1$s不支持 WLAN 通话功能"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"已断开与 <xliff:g id="SSID">%1$s</xliff:g> 的连接"</string>
     <string name="carrier" msgid="1755020806290963951">"运营商"</string>
     <string name="display_settings_title" msgid="626835071804834218">"显示"</string>
     <string name="sound_settings" msgid="5514582720435174014">"声音"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"音量"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"音乐效果"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"铃声音量"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"铃声和通知音量"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"静音时振动"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"默认通知提示音"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"铃声"</string>
@@ -1272,13 +1229,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"排定时间"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"无"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"在日落到日出期间开启"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"在设定的时间开启"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"状态"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"关闭/<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"一律不自动开启"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"将在日落时自动开启"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"将在<xliff:g id="ID_1">%1$s</xliff:g> 自动开启"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"开启/<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"一律不自动关闭"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"将在日出时自动关闭"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"将在<xliff:g id="ID_1">%1$s</xliff:g> 自动关闭"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"保持开启状态，直到<xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"保持关闭状态，直到<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"在某些屏幕上，深色主题使用纯黑背景，有助于延长您的电池续航时间。深色主题时间表会在您的屏幕进入关闭状态后开启。"</string>
     <string name="screen_timeout" msgid="7709947617767439410">"屏幕超时"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"屏幕关闭"</string>
@@ -1290,7 +1252,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"更换壁纸"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"对屏幕进行个性化设置"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"选择壁纸来源"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"自定义您的 Pixel"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"自定义您的手机"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"尝试不同的样式、壁纸等"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"屏保"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"充电或插入基座时"</string>
@@ -1379,6 +1341,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"卸载USB存储设备，查看可用存储设备"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"卸载SD卡，查看可用存储设备"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI（SIM 卡插槽 %1$d）"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"要进行查看，请选择已保存的网络"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"移动目录编号 (MDN)"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"手机号码"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN（SIM 卡插槽 %1$d）"</string>
@@ -1405,6 +1368,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"漫游"</string>
     <string name="status_operator" msgid="4335640583552058491">"网络"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"WLAN MAC 地址"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"设备 WLAN MAC 地址"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"蓝牙地址"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"序列号"</string>
     <string name="status_up_time" msgid="1274778533719495438">"开机累计时长"</string>
@@ -1617,6 +1581,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"已重置默认APN设置。"</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"重置选项"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"网络、应用或设备可以重置"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"应用可以重置"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"重置 WLAN、移动数据网络和蓝牙设置"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"此操作会重置所有网络设置，包括：\n\n"<li>"WLAN"</li>\n<li>"移动数据网络"</li>\n<li>"蓝牙"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"清除已下载的 SIM 卡"</string>
@@ -1666,6 +1631,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"已开启热点"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"网络共享"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"当流量节省程序开启时，无法使用网络共享功能或便携式热点"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"仅热点"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"仅 USB"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"仅蓝牙"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"热点与 USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"热点与蓝牙"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB 与蓝牙"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"热点、USB 与蓝牙"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"目前没有与其他设备共享互联网连接"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"网络共享"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"不使用 WLAN 热点"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"仅通过 USB 共享互联网连接"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"仅通过蓝牙共享互联网连接"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"仅通过 USB 和蓝牙共享互联网连接"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB 网络共享"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"通过 USB 共享手机的互联网连接"</string>
@@ -1756,9 +1734,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"安全信息"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"您没有数据连接。要立即查看此信息，请使用任何联网的计算机访问%s。"</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"正在加载..."</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"使用 PIN 码"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"使用图案"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"使用密码"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"设置屏幕锁定"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"为了安全起见，请设置密码"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"要使用指纹，请设置密码"</string>
@@ -1767,8 +1742,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"要使用指纹，请设置 PIN 码"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"为了安全起见，请设置解锁图案"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"重新输入密码"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"请输入您的工作密码"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"确认您的图案"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"请绘制您的工作解锁图案"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"重新输入 PIN 码"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"请输入您的工作 PIN 码"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"密码不匹配"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"PIN 码不匹配！"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"再次绘制图案"</string>
@@ -1779,6 +1757,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"要使用人脸解锁，请设置密码"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"要使用人脸解锁，请设置图案"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"要使用人脸解锁，请设置 PIN 码"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"忘记了密码？"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"忘记了图案？"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"忘记了 PIN 码？"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"请绘制您的设备解锁图案以继续"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"请输入您的设备 PIN 码以继续"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"请输入您的设备密码以继续"</string>
@@ -1846,6 +1827,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"允许所有应用来源"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"最近打开的应用"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"查看全部 <xliff:g id="COUNT">%1$d</xliff:g> 个应用"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"请联系您的 IT 管理员"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"他们可以帮助您重置 PIN 码、解锁图案或密码"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"您的平板电脑和个人数据更容易受到未知应用的攻击。安装来自该来源的应用即表示，您同意对因使用这些应用可能导致的平板电脑损坏或数据丢失承担责任。"</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"您的手机和个人数据更容易受到未知应用的攻击。安装来自该来源的应用即表示，您同意对因使用这些应用可能导致的手机损坏或数据丢失承担责任。"</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"您的设备和个人数据更容易受到未知应用的攻击。安装来自该来源的应用即表示，您同意对因使用这些应用可能导致的设备损坏或数据丢失问题承担责任。"</string>
@@ -1897,7 +1880,7 @@
     <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="1377296810290814749">"这将重置以下所有偏好设置：\n\n"<li>"已停用的应用"</li>\n<li>"已停用的应用通知"</li>\n<li>"用于执行操作的默认应用"</li>\n<li>"应用的后台流量限制"</li>\n<li>"所有权限限制"</li>\n\n" 您将不会丢失任何应用数据。"</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>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"重置应用"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"管理空间"</string>
     <string name="filter" msgid="9039576690686251462">"过滤"</string>
@@ -2097,7 +2080,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"音频和屏幕上的文字"</string>
     <string name="display_category_title" msgid="6638191682294461408">"显示"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"互动控件"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"已下载的服务"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"已下载的应用"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"实验性功能"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"功能标记"</string>
     <string name="talkback_title" msgid="8756080454514251327">"TalkBack"</string>
@@ -2105,27 +2088,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"点按屏幕上的内容即可让系统大声朗读出来"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"字幕偏好设置"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"放大功能"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"放大区域"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"放大功能启用"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"选择您在放大屏幕时想要使用的放大区域"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"全屏"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"部分屏幕"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"全屏与部分屏幕"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"放大整个屏幕"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"放大部分屏幕"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"放大设置"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"点按屏幕三次进行放大"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"使用快捷手势进行放大"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"通过“快捷手势”和“点按屏幕三次”进行放大"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"<xliff:g id="SERVICE">%1$s</xliff:g>简介"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"选项"</string>
     <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="2831926970059739911"><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_screen_magnification_navbar_summary" msgid="5603519616005297803">"开启放大功能后，您可以放大屏幕。\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_screen_magnification_summary" msgid="7617931632990040045">"您可以快速放大屏幕以便更清晰地查看内容。&lt;br/&gt;&lt;br/&gt;&lt;b&gt;要放大屏幕，请按以下步骤操作：&lt;/b&gt;&lt;br/&gt;	1. 使用快捷方式启动放大功能&lt;br/&gt;	2. 点按屏幕&lt;br/&gt;	3. 用两根手指拖动以在屏幕上移动&lt;br/&gt;	4. 双指张合以调整缩放级别&lt;br/&gt;	5. 使用快捷方式停止放大功能&lt;br/&gt;&lt;br/&gt;&lt;b&gt;要暂时放大屏幕，请按以下步骤操作：&lt;/b&gt;&lt;br/&gt;	1. 使用快捷方式启动放大功能&lt;br/&gt;	2. 轻触并按住屏幕上的任意位置&lt;br/&gt;	3. 用一根手指拖动以在屏幕上移动&lt;br/&gt;	4. 抬起手指以停止放大功能"</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"开启放大功能后，您就可以放大屏幕上的内容。\n\n"<b>"要放大内容"</b>"，请先启动放大功能，然后点按屏幕上的任意位置。\n"<ul><li>"拖动双指或多指即可进行滚动"</li>\n<li>"张合双指或多指即可调整缩放级别"</li></ul>\n\n<b>"要暂时性放大内容"</b>"，请先启动放大功能，然后轻触并按住屏幕上的任意位置。\n"<ul><li>"拖动手指即可在屏幕上四处移动"</li>\n<li>"松开手指即可缩小回原来的状态"</li></ul>\n\n"您无法针对键盘或导航栏使用放大功能。"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"使用“无障碍”按钮打开"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"使用手势打开"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"使用新的无障碍手势"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"要开启或关闭此服务，请点按屏幕底部的“无障碍”按钮 <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>。\n\n要在多项服务之间切换，请轻触并按住“无障碍”按钮。"</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"要开启或关闭此服务，请用双指从屏幕底部向上滑动。\n\n要在多项服务之间切换，请用双指向上滑动并按住。"</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"要开启或关闭此服务，请用三指从屏幕底部向上滑动。\n\n要在多项服务之间切换，请用三指向上滑动并按住。"</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"要开启或关闭无障碍服务，请用双指从屏幕底部向上滑动。\n\n要在多项服务之间切换，请用双指向上滑动并按住。"</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"要开启或关闭无障碍服务，请用三指从屏幕底部向上滑动。\n\n要在多项服务之间切换，请用三指向上滑动并按住。"</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"要开启或关闭此服务，请点按屏幕底部的“无障碍”按钮 <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>。\n\n要在多项服务之间切换，请轻触并按住“无障碍”按钮。"</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"要开启或关闭此服务，请用双指从屏幕底部向上滑动。\n\n要在多项服务之间切换，请用双指向上滑动并按住。"</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"要开启或关闭此服务，请用三指从屏幕底部向上滑动。\n\n要在多项服务之间切换，请用三指向上滑动并按住。"</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"要开启或关闭无障碍服务，请用双指从屏幕底部向上滑动。\n\n要在多项服务之间切换，请用双指向上滑动并按住。"</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"要开启或关闭无障碍服务，请用三指从屏幕底部向上滑动。\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="2820923641553461297">"“无障碍”按钮"</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>
+    <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8922102767509399352">"点按屏幕底部的“无障碍”按钮 <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"用两根手指从屏幕底部向上滑动"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"用三根手指从屏幕底部向上滑动"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"按住音量键"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"同时按住两个音量键 1 秒钟"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"点按屏幕三次"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"快速点按屏幕 3 次。此快捷方式可能会减慢设备的运行速度。"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"高级"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"“无障碍”按钮已设为“<xliff:g id="SERVICE">%1$s</xliff:g>”。要使用放大功能，请触摸并按住“无障碍”按钮，然后选择“放大功能”。"</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"无障碍手势已设为<xliff:g id="SERVICE">%1$s</xliff:g>。要使用放大功能，请用两指从屏幕底部向上滑动并按住，然后选择放大功能。"</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"音量键快捷方式"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"快捷方式服务"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"快捷方式设置"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"屏幕锁定时也可以用"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"启用这项快捷方式后，同时按下两个音量键 3 秒钟即可启动无障碍功能。"</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"高对比度文字"</string>
@@ -2149,24 +2157,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"请选择提示您执行操作的消息的显示时间（只会暂时显示）。\n\n部分应用可能不支持这项设置。"</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"触摸和按住延迟"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"颜色反转"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"可能会影响性能"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"停留时间"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"使用颜色反转"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"颜色反转功能可将亮屏幕调成暗屏幕，让对强光敏感的用户更容易看清屏幕。&lt;br/&gt;&lt;br/&gt;注意：深色将变浅。多媒体和图片中的颜色会发生变化。您也可以使用深色主题（依次转到“设置”&gt;“显示”）。"</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"自动点击（停留时间）"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"如果您使用鼠标，则可以将光标设置为停止移动一段时间后自动点击。"</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"点击前延迟"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"不使用自动点击（默认）"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"短"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0.2 秒"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"中"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0.6 秒"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"长"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 秒"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"自定义"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"较短"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"较长"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"自动点击时间"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"震动和触感强度"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"通知振动"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"响铃振动"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"按触反馈"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"使用服务"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"使用<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"打开<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"使用色彩校正"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"使用字幕"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"显示字幕"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"字幕外观"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"文字大小、字幕样式"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"更多选项"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"只有部分应用支持此设置。"</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>
     <string name="accessibility_hearingaid_instruction_continue_button" msgid="3367260988024430722">"继续"</string>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"助听器"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"未连接任何助听器"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"添加助听器"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"要为助听器配对，请在下一个屏幕上查找并点按您的设备。"</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"请确保您的助听器已处于配对模式。"</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"要为助听器配对，请在下一个屏幕上查找并点按您的设备。请确保您的助听器已处于配对模式。"</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>已启用"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="other">已保存 <xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> 台助听器</item>
@@ -2178,25 +2204,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"此服务出现故障。"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"在“快捷设置”中显示"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"校正模式"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="other">延迟时间极短（<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> 毫秒）</item>
-      <item quantity="one">延迟时间极短（<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> 毫秒）</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"红绿不分"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"绿红不分"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"蓝黄不分"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"绿色弱视"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"红色弱视"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"蓝色弱视"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="other">延迟时间极短（<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> 秒）</item>
+      <item quantity="one">延迟时间极短（<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> 秒）</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="other">延迟时间很短（<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> 毫秒）</item>
-      <item quantity="one">延迟时间很短（<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> 毫秒）</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="other">延迟时间很短（<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> 秒）</item>
+      <item quantity="one">延迟时间很短（<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> 秒）</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="other">延迟时间短（<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> 毫秒）</item>
-      <item quantity="one">延迟时间短（<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> 毫秒）</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="other">延迟时间短（<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> 秒）</item>
+      <item quantity="one">延迟时间短（<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> 秒）</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="other">延迟时间长（<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> 毫秒）</item>
-      <item quantity="one">延迟时间长（<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> 毫秒）</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="other">延迟时间长（<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> 秒）</item>
+      <item quantity="one">延迟时间长（<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> 秒）</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="other">延迟时间很长（<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> 毫秒）</item>
-      <item quantity="one">延迟时间很长（<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> 毫秒）</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="other">延迟时间很长（<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> 秒）</item>
+      <item quantity="one">延迟时间很长（<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> 秒）</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> 秒</item>
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> 秒</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"响铃：<xliff:g id="SUMMARY_RING">%1$s</xliff:g>，通知：<xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>，按触：<xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"将响铃和通知振动设为关闭"</string>
@@ -2513,7 +2549,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"上次拔下电源 <xliff:g id="UNPLUGGED">%1$s</xliff:g> 时"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"总使用量"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"刷新"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"Android 操作系统"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"媒体服务器"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"应用优化"</string>
     <string name="battery_saver" msgid="7737147344510595864">"省电模式"</string>
@@ -2594,8 +2629,7 @@
     <string name="tts_play" msgid="2945513377250757221">"播放"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"凭据存储"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"从存储设备安装"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"从SD卡安装"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"安装证书"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"从存储设备安装证书"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"从SD卡安装证书"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"清除凭据"</string>
@@ -2615,6 +2649,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"凭据存储空间已清空。"</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"系统无法清除凭据存储。"</string>
     <string name="usage_access_title" msgid="1580006124578134850">"有权查看使用情况的应用"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"CA 证书"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"VPN 和应用用户证书"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"WLAN 证书"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"您正面临隐私权方面的风险"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"网站、应用和 VPN 会使用 CA 证书进行加密。请只安装您信任的单位所提供的 CA 证书。\n\n如果您安装 CA 证书，CA 证书拥有者可能会通过您访问的网站或使用的应用获取您的密码、消息或信用卡详情等信息（即使这些信息已加密）。"</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"不安装"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"仍然安装"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"未安装证书"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"紧急拨号信号"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"设置进行紧急呼救时的行为"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"备份"</string>
@@ -2642,10 +2684,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"停用并卸载"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"设备管理应用"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"没有可用的设备管理应用"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"个人"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"工作"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"限制短信和通话记录访问权限"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"只有默认的电话和短信应用拥有短信和通话记录权限"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"没有可信代理"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"要启用设备管理应用吗？"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"启用此设备管理应用"</string>
@@ -2659,6 +2697,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"其他选项已被您的管理员停用"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"更多详情"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"通知日志"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"通知历史记录"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"今天"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"已延后"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"最近关闭"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> 条通知</item>
+      <item quantity="one"><xliff:g id="NUMBER_0">%d</xliff:g> 条通知</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"来电铃声和振动"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"网络详情"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"同步功能已启用"</string>
@@ -3008,7 +3054,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"限制"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"取消限制"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"更改PIN码"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"显示通知"</string>
     <string name="help_label" msgid="2896538416436125883">"帮助和反馈"</string>
     <string name="support_summary" msgid="1034146931237148885">"帮助文章、电话与聊天支持、使用入门"</string>
     <string name="user_account_title" msgid="6389636876210834864">"内容帐号"</string>
@@ -3033,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G 通话"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"使用 LTE 服务改进语音和其他通信功能（推荐）"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"使用 4G 服务改善语音和其他通讯方式的质量（推荐）"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"联系人探索功能"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"允许运营商了解您的联系人支持哪些通话功能。"</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"要启用联系人探索功能吗？"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"启用此功能将允许运营商访问您通讯录中的电话号码，以便了解这些电话号码支持哪些通话功能。"</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"首选网络类型"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE（推荐）"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"彩信"</string>
@@ -3077,7 +3126,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"选择用于通话的 SIM 卡"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"选择 SIM 卡"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"SIM 卡 <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"未插入SIM卡"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"SIM 卡名称"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"输入 SIM 卡名称"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"SIM 卡插槽 %1$d"</string>
@@ -3087,6 +3135,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"选择 SIM 卡"</string>
     <string name="color_orange" msgid="216547825489739010">"橙色"</string>
     <string name="color_purple" msgid="6603701972079904843">"紫色"</string>
+    <string name="color_pink" msgid="8596872110888626708">"粉色"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"尚未插入SIM卡"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"SIM 卡状态"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"SIM 卡状态（SIM 卡插槽 %1$d）"</string>
@@ -3100,7 +3149,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"SIM 卡已更改。"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"点按即可进行设置"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"首选 SIM 卡"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"每次都询问"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"必须选择"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"SIM 卡选择"</string>
@@ -3118,6 +3166,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"蓝牙、驾车模式"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"蓝牙、NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"蓝牙"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"无法使用，因为 NFC 已关闭"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"应用和通知"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"最近使用的应用、默认应用"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"工作资料中的应用无法访问通知。"</string>
@@ -3128,13 +3177,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"设置"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"wifi, WLAN, 网络连接, 互联网, 无线, 数据, WLAN 网络"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"WLAN 通知, wlan 通知"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"流量消耗"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"停止振动, 点按, 键盘"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"使用 24 小时制"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"下载"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"打开方式"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"应用"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"时区"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"聊天头像"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"聊天头像, 系统, 提醒, 窗口, 对话框, 显示屏, 在其他应用上层, 绘制"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"手电筒, 灯, 手电"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"WLAN, wlan, 切换, 控制"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"移动网络, 移动, 手机运营商, 无线, 数据, 4G, 3G, 2G, LTE"</string>
@@ -3158,7 +3208,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"勿扰, 请勿打扰, 打扰, 打断"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM 内存"</string>
     <string name="keywords_location" msgid="8016374808099706213">"附近, 位置信息, 历史记录, 报告, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"帐号"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"帐号, 添加一个帐号, 工作资料, 添加帐号"</string>
     <string name="keywords_users" msgid="3497517660077620843">"限制, 限定, 受限"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"文字, 文本, 更正, 声音, 提示音, 振动, 自动, 语言, 手势, 推荐, 建议, 主题, 主题背景, 令人反感, 字词, 输入, 表情符号, 国际"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"重置, 偏好设置, 默认"</string>
@@ -3196,6 +3246,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"内存, 缓存, 数据, 删除, 清除, 释放, 空间"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"已连接, 设备, 头戴式耳机, 耳机, 扬声器, 无线, 配对, 入耳式耳机, 音乐, 媒体"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"背景, 屏幕, 锁屏, 主题背景"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"图标形状, 强调色, 字体"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"默认, 智能助理"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"付款, 默认"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"收到的通知"</string>
@@ -3205,18 +3256,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"触感, 振动, 敏感度"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"省电模式, 固定式, 保留, 节省电量, 电池"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"日常安排, 日程, 省电模式, 节省电量, 电池, 自动, 百分比"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"工作资料"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"VoLTE, 高级通话, 4G 通话"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"添加语言, 添加一种语言"</string>
     <string name="default_sound" msgid="6604374495015245195">"默认铃声"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"铃声音量为 <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"铃声和通知音量为 <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"音量、振动、勿扰"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"振铃器已设为振动"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"振铃器已设为静音"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"铃声音量为 80%"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"铃声和通知音量为 80%"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"媒体音量"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"投射音量"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"通话音量"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"闹钟音量"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"铃声音量"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"铃声和通知音量"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"通知音量"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"手机铃声"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"默认通知提示音"</string>
@@ -3224,6 +3276,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"默认通知提示音"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"默认闹钟提示音"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"有来电时振动"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"一律不振动"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"一律振动"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"先振动再响铃（铃声逐渐增大）"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"其他提示音"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"拨号键盘提示音"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"屏幕锁定提示音"</string>
@@ -3247,6 +3302,7 @@
       <item quantity="one">已启用 1 个</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"勿扰模式"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"仅接收来自重要联系人和重要应用的通知"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"限制打扰"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"开启“勿扰”模式"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"例外情况"</string>
@@ -3273,7 +3329,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>：<xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"屏蔽视觉打扰"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"允许视觉信号"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"开启勿扰模式时"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"允许会发出声音的干扰项"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"限制通知"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"不发出通知提示音"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"您会在屏幕上看到通知"</string>
@@ -3304,7 +3360,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"提示音和振动"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"通知的声音、振动和部分视觉符号"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"通知的声音、振动和视觉符号"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"基本手机活动和状态所需的通知一律不隐藏"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"基本手机活动和状态所需的通知一律不隐藏。"</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"无"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"其他选项"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"添加"</string>
@@ -3334,10 +3390,12 @@
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> 个时间表可以自动开启</item>
       <item quantity="one">1 个时间表可以自动开启</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"将设备设为静音（例外情况除外）"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"例外情况"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"设定时间"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"查看所有例外情况"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"“勿扰”模式处于开启状态时的例外情况"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"联系人"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"应用"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"闹钟和其他干扰项"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"时间安排"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"已设为静音的通知"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"开启勿扰模式后，除了您在上方允许的项目外，所有音效和振动均会设为静音。"</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"全部静音，除了"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"已设为静音"</string>
@@ -3381,16 +3439,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"自动调节通知"</string>
     <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_capabilities_actions_replies_title" msgid="4392470465646394289">"建议的操作和回复"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"自动显示建议的操作和回复"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"要跟踪过往通知和已暂停通知，请开启通知历史记录"</string>
+    <string name="notification_history" msgid="8663811361243456201">"通知历史记录"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"开启历史记录"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"关闭历史记录"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"通知历史记录已关闭"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"查看通知设置"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"允许通知暂停"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"隐藏无声通知的图标"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"无声通知的图标不会显示在状态栏中"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"允许使用通知圆点"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"显示近期会话栏"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"气泡"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"部分通知可能会以气泡形式显示在屏幕上"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"部分通知及其他内容可以在屏幕上以气泡的形式显示。点按气泡即可将其打开，将气泡向屏幕下方拖动即可将其关闭。"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"气泡"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"屏幕将会显示新消息"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"允许<xliff:g id="APP_NAME">%1$s</xliff:g>以气泡的形式显示部分通知"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"开启气泡功能"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"您需要先为设备开启气泡功能，然后才能为此应用开启气泡功能。这会影响您之前已开启气泡功能的其他应用。"</string>
@@ -3408,6 +3476,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"显示在下拉通知栏和锁定屏幕中"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"显示在下拉通知栏和状态栏中"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"显示在下拉通知栏、状态栏以及锁定屏幕中"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"在状态栏中隐藏无声通知"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"闪烁指示灯"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"锁定屏幕"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"跳过锁定屏幕"</string>
@@ -3438,6 +3507,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"行为"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"允许发出提示音"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"一律不显示通知"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"对话"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"对话"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"非对话"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"从对话部分中移除"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"这是对话"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"添加到对话部分"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"管理对话"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"重要对话"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"所有对话"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"以气泡形式显示重要对话"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"重要对话会显示在下拉通知栏顶部。您也可将此类对话设成以气泡形式显示，并暂停使用“勿扰”模式。"</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"无声显示并将重要性级别最小化"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"显示通知但不发出提示音"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"发出提示音"</string>
@@ -3456,7 +3536,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"不会发出提示音或振动，可帮助您保持专注"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"通过提示音或振动吸引您的注意"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"当设备处于解锁状态时，在屏幕顶端以横幅形式显示通知"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"显示通知"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"所有<xliff:g id="APP_NAME">%1$s</xliff:g>通知"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"自动调节通知"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="other">每天大约 <xliff:g id="NUMBER_1">%d</xliff:g> 条通知</item>
@@ -3477,6 +3557,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"自动调节通知"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"无"</string>
     <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="3119843404577399036">"<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>
@@ -3538,8 +3619,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"完成"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"重要程度"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"闪烁指示灯"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"振动"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"振动"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"提示音"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"重要"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"添加到主屏幕"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"删除"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"重命名"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"时间表名称"</string>
@@ -3593,6 +3676,10 @@
       <item quantity="other">另外 <xliff:g id="NUM_PEOPLE">%d</xliff:g> 人</item>
       <item quantity="one">另外 1 人</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"对话"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"来自所有对话"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"来自重要对话"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"不允许任何对话"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"允许显示消息"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"为确保设备在显示所允许的消息时发出提示音，请检查您的设备目前是设为响铃、振动还是静音。"</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"系统会在“<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>”排程进行时屏蔽收到的消息。您可以调整相应设置，以便允许您的好友、家人或其他联系人与您联系。"</string>
@@ -3606,15 +3693,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"无"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"不允许任何通话"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"不允许使用任何消息功能"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"允许闹钟"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"闹钟"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"来自定时器、闹钟、安防系统和其他应用"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"闹钟"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"播放媒体提示音"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"媒体声音"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"来自视频、游戏和其他媒体内容"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"媒体"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"允许轻触提示音"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"触摸提示音"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"来自键盘和其他按钮"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"轻触提示音"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"允许提醒"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"提醒"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"来自任务和提醒"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"提醒"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"允许活动"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"活动"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"来自即将进行的日历活动"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"允许应用覆盖"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"应用例外情况"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3657,6 +3749,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"允许在“勿扰”模式下被静音的通知开启屏幕"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"通知设置"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"确定"</string>
+    <string name="suggestion_button_close" msgid="6865170855573283759">"关闭"</string>
     <string name="device_feedback" msgid="5351614458411688608">"发送有关此设备的反馈"</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"输入管理员 PIN 码"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"开启"</string>
@@ -3667,6 +3760,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"取消固定屏幕前要求输入 PIN 码"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"取消固定屏幕前要求输入密码"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"取消固定屏幕时锁定设备"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"删除 SIM 卡前需先进行确认"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"先验证是您本人在操作，然后才能清除已下载的 SIM 卡"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"此工作资料由以下应用管理："</string>
     <string name="managing_admin" msgid="2633920317425356619">"由<xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>管理"</string>
     <string name="experimental_preference" msgid="869354050717870055">"（实验性）"</string>
@@ -3741,8 +3836,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"所有应用"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"已安装的应用"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"免安装应用"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"个人应用"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"工作应用"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"应用：全部"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"已关闭"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"类别：重要性 - 紧急"</string>
@@ -3754,6 +3847,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"未知应用"</string>
     <string name="app_permissions" msgid="8666537659217653626">"权限管理器"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"目前使用<xliff:g id="APPS">%1$s</xliff:g>的应用"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"目前使用<xliff:g id="APPS">%1$s</xliff:g>等的应用"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"点按唤醒"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"在屏幕上的任意位置点按两次即可唤醒设备"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"打开链接"</string>
@@ -3765,9 +3859,14 @@
       <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> 个应用可打开支持的链接</item>
       <item quantity="one">1 个应用可打开支持的链接</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"在此应用中打开"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"允许应用打开支持的链接"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"每次都询问"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"不要在此应用中打开"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"不允许应用打开链接"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="other">应用声明处理 <xliff:g id="COUNT_1">%d</xliff:g> 个链接</item>
+      <item quantity="one">应用声明处理 <xliff:g id="COUNT_0">%d</xliff:g> 个链接</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"应用声明处理以下链接："</string>
     <string name="default_apps_title" msgid="6943471331817718664">"默认应用"</string>
     <string name="default_for_work" msgid="537558180548617528">"默认工作应用"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"助手和语音输入"</string>
@@ -3911,8 +4010,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"显示在其他应用的上层"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"允许显示在其他应用的上层"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"允许此应用显示在您当前使用的其他应用的上层。这可能会干扰您使用相关应用，或变更这类应用的显示或运行方式。"</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"所有文件访问权限"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"授予所有文件的管理权限"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"允许此应用读取、修改和删除此设备或任何已连接存储卷上的所有文件。如果您授予该权限，应用无需明确通知您即可访问文件。"</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"可以访问所有文件"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"vr 虚拟实境 监听器 立体 助手服务"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"系统 提醒 窗口 对话框 显示 上层 其他应用"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"显示在其他应用的上层"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"<xliff:g id="COUNT_0">%1$d</xliff:g> 个（共 <xliff:g id="COUNT_1">%2$d</xliff:g> 个）应用可以显示在其他应用的上层"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"具有该权限的应用"</string>
@@ -4078,6 +4180,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"已使用 <xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g>"</string>
     <string name="data_overusage" msgid="3680477320458707259">"超过 <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="data_remaining" msgid="6316251496381922837">"还剩 <xliff:g id="ID_1">^1</xliff:g>"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"这张图表显示的是 <xliff:g id="START_DATE">%1$s</xliff:g>到 <xliff:g id="END_DATE">%2$s</xliff:g>之间的数据用量。"</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"此日期范围内没有任何数据"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="other">还剩 %d 天</item>
       <item quantity="one">还剩 %d 天</item>
@@ -4141,14 +4245,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"parcel 大小"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"已发出通知提醒"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"提示音"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"振动"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"图案"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"默认"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"频道"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"无"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"缺少排名对象。"</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"排名对象不包含此键。"</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"主题"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"设备默认设置"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"刘海屏"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"刘海屏, 缺口"</string>
@@ -4237,8 +4337,12 @@
     <string name="information_label" msgid="6939310810756569298">"信息"</string>
     <string name="low_label" msgid="6525629096999711220">"低"</string>
     <string name="high_label" msgid="357503396626018487">"高"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"再调高灵敏度可能会导致与沿屏幕边缘执行的任何应用手势相冲突。"</string>
+    <string name="left_edge" msgid="1513576842959071849">"左侧边缘"</string>
+    <string name="right_edge" msgid="1505309103265829121">"右侧边缘"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"如果再调高灵敏度，可能会与沿屏幕边缘执行的任何应用手势冲突。"</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"“返回”手势的灵敏度"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"手势设置"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"手势导航, 返回手势的灵敏度, 返回手势"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"点按两次即显示"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"点按两次即可查看平板电脑"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"点按两次即可查看设备"</string>
@@ -4393,7 +4497,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"触发运营商配置"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"更新勿扰模式"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"暂停通知即可保持专注"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"该设备不支持此功能"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"无法使用此功能"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"由于此功能会导致您的手机速度变慢，因此系统已关闭此功能"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"强制启用 GNSS 测量结果全面跟踪"</string>
@@ -4403,20 +4506,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"选择已启用 ANGLE 的应用"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"未设置已启用 ANGLE 的应用"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"已启用 ANGLE 的应用：<xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"游戏驱动程序偏好设置"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"修改游戏驱动程序设置"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"开启游戏驱动程序后，您可以为设备上已安装的应用选择是否使用更新的图形驱动程序。"</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"针对所有应用启用"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"选择图形驱动程序"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"默认"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"游戏驱动程序"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"预发布驱动程序"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"系统图形驱动程序"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"图形驱动程序偏好设置"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"修改图形驱动程序设置"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"如果有多个图形驱动程序，您可以为设备上已安装的应用选择使用更新的图形驱动程序。"</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"针对所有应用启用"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"选择图形驱动程序"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"默认"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"游戏驱动程序"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"开发者驱动程序"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"系统图形驱动程序"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"应用兼容性变更"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"在应用兼容性变更之间切换"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"默认启用的应用兼容性变更"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"默认停用的应用兼容性变更"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"此手机不支持这项设置"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"此平板电脑不支持这项设置"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"此设备不支持这项设置"</string>
@@ -4435,6 +4544,12 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"设备"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"通话期间无法使用"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"无法使用"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"添加输出设备"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"群组"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"已选择 1 个设备"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"已选择 <xliff:g id="COUNT">%1$d</xliff:g> 个设备"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"接听来电的设备："</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"此 APN 无法更改。"</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"延长平板电脑的电池续航时间"</string>
@@ -4552,10 +4667,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"一次只能启用一个已下载的 SIM 卡。\n\n切换到<xliff:g id="CARRIER1">%1$s</xliff:g>不会取消<xliff:g id="CARRIER2">%2$s</xliff:g>服务。"</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"切换到<xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"清除 SIM 卡"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"要清除这个已下载的 SIM 卡吗？"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"清除此 SIM 卡将同时从此设备中移除<xliff:g id="CARRIER_0">%1$s</xliff:g>服务。\n\n<xliff:g id="CARRIER_1">%2$s</xliff:g>的服务不会因此遭到取消。"</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"清除"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"正在清除 SIM 卡…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"无法清除 SIM 卡"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"发生错误，因此无法清除此 SIM 卡。\n\n请重启设备，然后重试。"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"首选网络类型"</string>
@@ -4580,7 +4691,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"无效的网络模式<xliff:g id="NETWORKMODEID">%1$d</xliff:g>。忽略。"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"接入点名称"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"连接到<xliff:g id="CARRIER">%1$s</xliff:g>时无法使用"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"医疗信息、紧急情况联系人"</string>
     <string name="see_more" msgid="7499355691042812723">"查看更多"</string>
     <string name="see_less" msgid="2642392725363552793">"隐藏部分"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"要与<xliff:g id="APPNAME">%1$s</xliff:g>搭配使用的设备"</string>
@@ -4589,11 +4699,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"出了点问题。该应用已取消选择设备的请求。"</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"连接成功"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"全部显示"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="other">已连接 <xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> 个设备</item>
-      <item quantity="one">已连接 <xliff:g id="NUMBER_DEVICE_COUNT_0">%1$d</xliff:g> 个设备</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"无蓝牙设备"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"正在搜索设备…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"正在连接到设备…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"左"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"右"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"充电盒"</string>
@@ -4603,6 +4710,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"在飞行模式下不可用"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"强制使用桌面模式"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"在辅助显示屏上强制使用实验桌面模式"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"启用自由形式大小"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"允许无法调整大小的应用采用自由形式"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"覆盖“强制启用 SmartDark 功能”的设置"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"覆盖“强制 SmartDark 功能始终开启”的设置"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"隐私权"</string>
@@ -4639,6 +4748,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"您最近安装过此应用。"</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"切换输出"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"目前正在<xliff:g id="DEVICE_NAME">%1$s</xliff:g>上播放"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>（已断开连接）"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"无法切换。点按即可重试。"</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"重要信息"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"继续"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"不用了"</string>
@@ -4666,8 +4777,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"SIM 卡组合"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"您的工作政策信息"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"由 IT 管理员管理的设置"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"错误报告处理程序"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"确定用于处理设备上错误报告快捷方式的应用。"</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"个人"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"工作"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"系统默认"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"这项选择已失效，请重试。"</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"停止投射"</string>
 </resources>
diff --git a/res/values-zh-rHK/arrays.xml b/res/values-zh-rHK/arrays.xml
index 7055620..c811c50 100644
--- a/res/values-zh-rHK/arrays.xml
+++ b/res/values-zh-rHK/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"立即"</item>
     <item msgid="463591454172790676">"5 秒"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"不驗證"</item>
+    <item msgid="5703177653586269306">"要求憑證狀態"</item>
+    <item msgid="326388247868439528">"需要憑證狀態"</item>
+    <item msgid="1090956283885790552">"需要所有不受信任的憑證狀態"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"按鈕"</item>
     <item msgid="2630618799033509548">"來自對端裝置的 PIN"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"無"</item>
@@ -404,6 +412,9 @@
     <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>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"無"</item>
diff --git a/res/values-zh-rHK/config.xml b/res/values-zh-rHK/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-zh-rHK/config.xml
+++ b/res/values-zh-rHK/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index 66748c7..ead2243 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -31,49 +31,17 @@
     <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="radio_info_data_connection_enable" msgid="7500945447906187613">"啟用數據連線"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"停用數據連線"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"已佈建 VoLTE"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"已佈建視像通話"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"已佈建 Wi-Fi 通話"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"已佈建 EAB/Presence"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"CBRS 數據"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"啟用 DSDS"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"要重新啟動裝置嗎？"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"您需要重新啟動裝置，才可變更此設定。"</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"重新啟動"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"取消"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"流動無線電的電源"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"查看 SIM 卡通訊錄"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"查看固定撥號"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"查看服務撥號"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"IMS 服務狀態"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"IMS 狀態"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"已註冊"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"未註冊"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"可用"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"無法使用"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"IMS 註冊：<xliff:g id="STATUS">%1$s</xliff:g>\n語音 LTE：<xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\n語音 Wi-Fi：<xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\n視像通話：<xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT 介面：<xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"服務中"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"沒有服務"</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>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"閒置"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"鈴聲"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"正在通話"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"已中斷連線"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"連線中"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"已連線"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"已暫停"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"不明"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"pkt"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"位元組"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"客戶編號"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"卸載 USB 儲存裝置"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"卸載 SD 卡"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"清除 USB 儲存裝置資料"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"縮小或放大畫面上的文字。"</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"縮小"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"放大"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"範例文字"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"《綠野仙蹤》"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"第 11 章：奧茲國的奇妙翡翠城"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"您需要重新啟動裝置，才可變更此設定。"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"重新啟動"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"取消"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"可用的媒體裝置"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"可用的通話裝置"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"目前已連接的裝置"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"媒體裝置"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"通話裝置"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"其他裝置"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"已儲存的裝置"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"系統將開啟藍牙以配對裝置"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"連接偏好設定"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"您所輸入的通訊埠無效。"</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"瀏覽器會使用 HTTP Proxy，但其他應用程式未必會採用。"</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"PAC 網址： "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"目前的子 ID："</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"預設數據 SIM 卡的子 ID："</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"下載頻寬 (kbps)："</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"上載頻寬 (kbps)："</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"發射站位置資料 (已淘汰)："</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"LTE 實體渠道設定："</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"發射站資料重新整理頻率："</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"所有發射站量度資料："</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"數據服務："</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"漫遊："</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI："</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"來電轉駁："</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"開機後重設 PPP 的次數："</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"目前的網絡："</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"收到的數據："</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"語音服務："</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"訊號強度："</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"視像通話狀態："</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"已傳送的資料："</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"正在等待訊息："</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"電話號碼："</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"選擇無線電波段"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"語音網絡類型："</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"數據網絡類型："</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"選取手機索引"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"設定偏好的網絡類型："</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"連線偵測主機名稱 (www.google.com) IPv4："</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"連線偵測主機名稱 (www.google.com) IPv6："</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"HTTP 用戶端測試："</string>
     <string name="ping_test_label" msgid="265427033290391845">"執行連線偵測測試"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC："</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"更新"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"重新整理"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"切換 DNS 檢查"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"OEM 專用資訊/設定"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"設定無線電波段模式"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"正在載入波段清單..."</string>
-    <string name="band_mode_set" msgid="494968379352406359">"設定"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"不成功"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"成功"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"重新接上 USB 連接線時，所作的更改才會生效。"</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"啟用 USB 大量儲存裝置"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"總容量 (位元組)："</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"移到底端"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"移除語言"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"選擇活動"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"裝置資訊"</string>
     <string name="display_label" msgid="3056320781191343221">"螢幕"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"平板電腦資訊"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"手機資訊"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"USB 儲存裝置"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"SD 卡"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"代理設定"</string>
@@ -306,9 +234,6 @@
     <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、藍牙、飛行模式、流動網絡和 VPN"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"流動數據"</string>
-    <string name="calls_title" msgid="6334813967619899114">"允許通話"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"短訊"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"允許使用流動數據網絡"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"允許漫遊時使用數據"</string>
     <string name="roaming" msgid="3055365654530847985">"漫遊"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"漫遊時連線到數據服務"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"您已離開主網絡覆蓋範圍，且已關閉數據傳輸漫遊服務，因此數據連線已中斷。"</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"開啟"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"您可能需要支付龐大的費用。"</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"如果您允許數據漫遊，可能需要支付高昂的漫遊費用！\n\n這項設定會影響這部平板電腦的所有使用者。"</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"如果您允許數據漫遊，可能需要支付高昂的漫遊費用！\n\n這項設定會影響這部手機的所有使用者。"</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"可能需要支付漫遊費用。"</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"如果您允許數據漫遊，可能需要支付漫遊費用。\n\n此設定會影響這部平板電腦的所有使用者。"</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"如果您允許數據漫遊，可能需要支付漫遊費用。\n\n此設定會影響這部手機的所有使用者。"</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"允許數據漫遊？"</string>
     <string name="networks" msgid="5184501333492775095">"選擇網絡供應商"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"選擇網絡供應商"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"已由管理員停用"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"顯示鎖定選項"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"顯示開關按鈕選項，即可在上鎖畫面停用 Smart Lock、生物識別解鎖和通知功能"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"「信任代理程式」只能延長解鎖的時間"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"啟用這項功能後，「信任代理程式」會讓您的裝置處於解鎖狀態較長時間，但無法再解鎖已上鎖的裝置。"</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"失去信任後，畫面將會上鎖"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"啟用這項功能後，當最後一個信任代理程式失去信任時，裝置將會上鎖"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"無"</string>
@@ -390,7 +313,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"設定我的位置、畫面解鎖、SIM 卡鎖定、認證儲存空間鎖定"</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"設定我的位置、螢幕解鎖及認證儲存空間鎖定"</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"私隱權"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"已由管理員停用"</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>
@@ -693,7 +616,6 @@
       <item quantity="other">必須少於 <xliff:g id="NUMBER_1">%d</xliff:g> 個數字</item>
       <item quantity="one">必須少於 <xliff:g id="NUMBER_0">%d</xliff:g> 個數字</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"只可包含數字 0-9"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"裝置管理員不允許使用最近用過的 PIN 碼"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"您的 IT 管理員已禁止使用常用的 PIN 碼，請嘗試輸入另一個 PIN 碼。"</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"您不可使用無效字元"</string>
@@ -724,6 +646,10 @@
       <item quantity="other">必須包含最少 <xliff:g id="COUNT">%d</xliff:g> 個非字母字元</item>
       <item quantity="one">必須包含最少 1 個非字母字元</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="other">必須包含至少 <xliff:g id="COUNT">%d</xliff:g> 個非數字字元</item>
+      <item quantity="one">必須包含至少 1 個非數字字元</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"裝置管理員不允許使用最近用過的密碼"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"您的 IT 管理員已禁止使用常用的密碼，請嘗試輸入另一個密碼。"</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"不可使用依遞增或遞減順序排列或重複的連續數字"</string>
@@ -837,19 +763,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2.4 GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"登入"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"開啟網站"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"尚餘 <xliff:g id="REMAINING_TIME">%1$s</xliff:g>"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"於 <xliff:g id="EXPIRY_TIME">%1$s</xliff:g>到期"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"輕按這裡即可登入網絡"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"「<xliff:g id="REQUESTER">%s</xliff:g>」要求開啟 Wi-Fi"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"「<xliff:g id="REQUESTER">%s</xliff:g>」要求關閉 Wi-Fi"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"驗證可偵錯應用程式的位元組碼"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"允許 ART 驗證可偵錯應用程式的位元組碼"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"顯示重新整理頻率"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"顯示現時的顯示屏重新整理頻率"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"允許平板電腦在與其他裝置接觸時交換資料"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"允許手機與其他裝置接觸時交換資料"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"允許平板電腦在與 NFC 裝置接觸時交換資料"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"允許手機在與 NFC 裝置接觸時交換資料"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"開啟 NFC"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"NFC 讓此裝置和其他附近的裝置/目標 (例如付款終端機、存取閱讀器，以及互動廣告或標籤) 交換之間交換資料。"</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"保護 NFC"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"必須解鎖裝置才能使用 NFC"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"只允許在螢幕解鎖時使用 NFC 付款和車費支付功能"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"準備就緒，可經由 NFC 傳輸應用程式內容"</string>
@@ -923,8 +855,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"開啟"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"已開啟 Wi‑Fi 掃瞄功能"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"進階選項"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"「進階選項」下拉式選單。輕按兩下就可以收埋。"</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"「進階選項」下拉式選單。輕按兩下就可以打開。"</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"下拉式清單進階選項"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"展開"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"網絡名稱"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"輸入 SSID"</string>
     <string name="wifi_security" msgid="9095934643631406913">"安全性"</string>
@@ -934,6 +866,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"狀態"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"傳輸連結速度"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"接收連結的速度"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"連線速度"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"頻率"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"IP 位址"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"已儲存，透過"</string>
@@ -941,6 +874,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"EAP 方法"</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>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"使用者憑證"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"身分"</string>
@@ -957,6 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"請為 Wi-Fi 熱點至少選擇一個頻段："</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"IP 設定"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"私隱"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"訂閱"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"查看或變更訂閱"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"隨機化處理 MAC"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"新增裝置"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"相機對準以下二維條碼，即可將裝置新增至「<xliff:g id="SSID">%1$s</xliff:g>」"</string>
@@ -966,12 +902,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"分享 Wi‑Fi"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"掃瞄此二維條碼即可連線至「<xliff:g id="SSID">%1$s</xliff:g>」並分享密碼"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"掃描此二維條碼即可連線至「<xliff:g id="SSID">%1$s</xliff:g>」"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"無法讀取二維條碼。重新將二維條碼放在正中，然後再試一次"</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"請再試一次。如果仍有問題，請聯絡裝置製造商"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"發生問題"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"確保裝置已插入、充電並開啟"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"確保裝置已插入、充電並開啟。如果仍有問題，請聯絡裝置製造商"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"此裝置不支援新增「<xliff:g id="SSID">%1$s</xliff:g>」"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"請嘗試將裝置移近 Wi-Fi 存取點/路由器"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"請檢查密碼，然後再試一次"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"請聯絡裝置製造商"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"請檢查網絡連線，然後再試一次"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"選擇網絡"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"如要連接裝置，請選擇網絡"</string>
@@ -984,11 +922,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"正在與此裝置分享 Wi-Fi…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"連接中…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"分享熱點"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"驗證這是您本人"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"驗證您的身分"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"Wi-Fi 密碼：<xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"熱點密碼：<xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"自動連線"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"允許手機在此網絡附近時自動連線"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"允許平板電腦在此網絡附近時自動連線"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"新增裝置"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"使用二維條碼在此網絡新增裝置"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"二維條碼格式無效"</string>
     <string name="retry" msgid="7542103800274026915">"重試"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"與其他裝置使用者分享"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(未變更)"</string>
@@ -1000,6 +942,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"您未指定任何憑證，因此將無法設定私人連線。"</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"網絡名稱太長。"</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"必須指定網域。"</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"需要認證。"</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"有 WPS 可供使用"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (有 WPS 可供使用)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"流動網絡供應商 Wi‑Fi 網絡"</string>
@@ -1051,7 +994,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"進階 Wi-Fi"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"MAC 位址"</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_ip_address_title" msgid="4265355419782184514">"IP 位址"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"網絡詳細資料"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"子網絡遮罩"</string>
@@ -1103,7 +1047,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"使用熱點為其他裝置建立 Wi-Fi 網絡。熱點會使用流動數據連線提供互聯網服務。可能需要支付額外流動數據費用。"</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"應用程式可以建立熱點，與附近的裝置分享內容。"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"自動關閉熱點"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"如果未連接任何裝置，Wi‑Fi 熱點將會關閉"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"沒有已連線的裝置時"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"正在開啟熱點…"</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"正在關閉熱點…"</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> 使用中"</string>
@@ -1112,6 +1056,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"Wi‑Fi 熱點設定"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"AndroidAP WPA2 PSK 熱點"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"Android 熱點"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"要儲存此網絡嗎？"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"「<xliff:g id="APPNAME">%1$s</xliff:g>」想在您的手機內儲存網絡"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"「<xliff:g id="APPNAME">%1$s</xliff:g>」想在您的平板電腦中新增網絡"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"儲存中…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"已儲存"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"無法儲存，請再試一次。"</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"要儲存網絡嗎？"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"「<xliff:g id="APPNAME">%1$s</xliff:g>」想在您的手機內儲存這些網絡"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"「<xliff:g id="APPNAME">%1$s</xliff:g>」想在您的平板電腦中新增這些網絡"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"正在儲存 <xliff:g id="NUMBER">%d</xliff:g> 個網絡…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"已儲存網絡"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"Wi-Fi 通話"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"透過 Wi-Fi 擴大通話覆蓋範圍"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"開啟 Wi-Fi 通話功能，以擴大通話覆蓋範圍"</string>
@@ -1138,16 +1093,18 @@
     <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"><annotation id="url">"進一步瞭解"</annotation>"私人 DNS 功能"</string>
+    <string name="private_dns_mode_on" msgid="8878679071975375696">"開啟"</string>
     <string name="wifi_calling_pref_managed_by_carrier" msgid="129524064888622179">"由流動網絡供應商管理的設定"</string>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"啟用 Wi-Fi 通話功能"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"開啟 Wi-Fi 通話功能"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"%1$s不支援 Wi-Fi 通話功能"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"已中斷與「<xliff:g id="SSID">%1$s</xliff:g>」的連線"</string>
     <string name="carrier" msgid="1755020806290963951">"流動網絡供應商"</string>
     <string name="display_settings_title" msgid="626835071804834218">"螢幕"</string>
     <string name="sound_settings" msgid="5514582720435174014">"音效"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"音量"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"音樂效果"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"鈴聲音量"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"鈴聲和通知音量"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"靜音時震動"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"預設通知音效"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"鈴聲"</string>
@@ -1272,13 +1229,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"時間表"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"無"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"由日落至日出期間開啟"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"在自訂時間開啟"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"狀態"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"關閉/<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"永遠不會自動開啟"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"日落時會自動開啟"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"將會在<xliff:g id="ID_1">%1$s</xliff:g>自動開啟"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"開啟/<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"永遠不會自動關閉"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"日出時會自動關閉"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"將會在<xliff:g id="ID_1">%1$s</xliff:g>自動關閉"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"開啟 (直至<xliff:g id="ID_1">%1$s</xliff:g>)"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"保持關閉狀態，直至<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"「深色主題背景」使用黑色背景以延長部分螢幕的電池壽命。「深色主題背景」時間表會等待啟動，直至螢幕關閉。"</string>
     <string name="screen_timeout" msgid="7709947617767439410">"螢幕逾時"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"螢幕關閉時"</string>
@@ -1290,7 +1252,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"變更桌布"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"設定個人化螢幕"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"選擇桌布"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"自訂您的 Pixel"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"自訂您的手機"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"嘗試其他樣式和桌布等"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"螢幕保護程式"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"充電或放上插座時"</string>
@@ -1379,6 +1341,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"卸載 USB 儲存裝置，查看可用的儲存空間"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"卸載 SD 卡，查看可用儲存空間"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (SIM 卡插槽 %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"請選擇已儲存的網絡來檢視內容"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"電話號碼"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (SIM 卡插槽 %1$d)"</string>
@@ -1405,6 +1368,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"漫遊"</string>
     <string name="status_operator" msgid="4335640583552058491">"網絡"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"Wi-Fi MAC 位址"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"裝置 Wi-Fi MAC 位址"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"藍牙位址"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"序號"</string>
     <string name="status_up_time" msgid="1274778533719495438">"開機時間"</string>
@@ -1618,6 +1582,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"重設預設 APN 設定已完成。"</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"重設選項"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"網絡、應用程式或裝置可以重設"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"應用程式可以重設"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"重設 Wi-Fi、流動數據和藍牙"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"此操作會重設所有網絡設定，包括：\n\n"<li>"Wi‑Fi"</li>\n<li>"流動數據"</li>\n<li>"藍牙"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"清除已下載的 SIM 卡"</string>
@@ -1667,6 +1632,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"已開啟熱點"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"已開啟網絡共享功能"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"「數據節省模式」開啟時，網絡共享功能或便攜熱點便無法使用。"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"只限熱點"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"只限 USB"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"只限藍牙"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"熱點、USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"熱點、藍牙"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB、藍牙"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"熱點、USB、藍牙"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"目前沒有與其他裝置分享互聯網"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"網絡共享"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"不使用 Wi‑Fi 熱點"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"僅透過 USB 分享互聯網"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"僅透過藍牙分享互聯網"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"僅透過 USB 和藍牙分享互聯網"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB 網絡共享"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"透過 USB 分享手機的互聯網連線"</string>
@@ -1757,9 +1735,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"安全資訊"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"您沒有數據連線，如要立即查看這項資訊，請使用任何已連接互聯網的電腦前往 %s。"</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"載入中…"</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"使用 PIN"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"使用圖案"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"使用密碼"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"設定螢幕鎖定"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"為安全起見，請設定密碼"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"如要使用指紋，請設定密碼"</string>
@@ -1768,8 +1743,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"如要使用指紋，請設定 PIN"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"為安全起見，請設定圖案"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"請重新輸入密碼"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"輸入工作設定檔密碼"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"確認圖形"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"畫出工作設定檔上鎖圖案"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"請重新輸入 PIN"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"輸入工作設定檔 PIN 碼"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"密碼不符"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"PIN 不符"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"再次畫出圖案"</string>
@@ -1780,6 +1758,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"要使用「臉孔解鎖」，請設定密碼"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"要使用「臉孔解鎖」，請設定圖案"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"要使用「臉孔解鎖」，請設定 PIN"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"忘記密碼嗎？"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"忘記圖案嗎？"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"忘記 PIN 嗎？"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"畫出裝置上鎖圖形以繼續操作"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"請輸入裝置 PIN 碼，然後繼續操作"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"輸入裝置密碼即可繼續"</string>
@@ -1847,6 +1828,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"允許安裝所有來源的應用程式"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"最近開啟的應用程式"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"查看全部 <xliff:g id="COUNT">%1$d</xliff:g> 個應用程式"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"請聯絡您的 IT 管理員"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"他們可協助您重設 PIN、圖案或密碼"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"來源不明的應用程式可能會侵害您的平板電腦和個人資料。安裝來自此來源的應用程式，即表示您同意承擔因使用這些應用程式而導致平板電腦損壞或資料遺失的責任。"</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"來源不明的應用程式可能會侵害您的手機和個人資料。安裝來自此來源的應用程式，即表示您同意承擔因使用這些應用程式而導致手機損壞或資料遺失的責任。"</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"來源不明的應用程式可能會侵害您的裝置和個人資料。安裝來自此來源的應用程式，即表示您同意承擔因使用這些應用程式而導致裝置損壞或資料遺失的責任。"</string>
@@ -1898,7 +1881,7 @@
     <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="1377296810290814749">"此操作會重設以下項目的所有偏好設定：\n\n"<li>"已停用的應用程式"</li>\n<li>"已停用的應用程式通知"</li>\n<li>"執行操作的預設應用程式"</li>\n<li>"應用程式的背景資料限制"</li>\n<li>"任何權限限制"</li>\n\n"您不會遺失任何應用程式資料。"</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>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"重設應用程式"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"管理空間"</string>
     <string name="filter" msgid="9039576690686251462">"篩選"</string>
@@ -2098,7 +2081,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"音訊和螢幕上的文字"</string>
     <string name="display_category_title" msgid="6638191682294461408">"螢幕"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"互動控制項"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"已下載的服務"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"已下載的應用程式"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"實驗性"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"功能標示"</string>
     <string name="talkback_title" msgid="8756080454514251327">"Talkback"</string>
@@ -2106,27 +2089,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"輕按畫面上的項目即可收聽系統朗讀項目"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"字幕偏好設定"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"放大"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"放大範圍"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"放大啟用"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"選擇在放大螢幕時要使用的放大範圍"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"全螢幕"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"部分螢幕畫面"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"全螢幕及部分螢幕"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"放大整個螢幕畫面"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"放大部分螢幕畫面"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"放大設定"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"輕按三下來放大"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"使用快速鍵來放大"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"使用快速鍵和輕按三下來放大"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"關於「<xliff:g id="SERVICE">%1$s</xliff:g>」"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"選項"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"放大螢幕"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"輕按 3 次即可縮放畫面"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"輕按按鈕即可縮放"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><b>"如要縮放"</b>"，請快速輕按螢幕 3 下。\n"<ul><li>"用 2 隻或多隻手指拖曳，即可捲動螢幕"</li>\n<li>"用 2 隻或多隻手指縮放，即可調整縮放程度"</li></ul>\n\n<b>"如要暫時縮放"</b>"，請快速輕按螢幕 3 下 (第 3 下按住螢幕)。\n"<ul><li>"拖曳即可在螢幕上移動"</li>\n<li>"提起手指即可縮小至原大"</li></ul>\n\n"您無法在鍵盤或導覽列上使用放大功能。"</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"當放大功能開啟時，您可放大畫面。\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_screen_magnification_summary" msgid="7617931632990040045">"快速放大螢幕畫面，就可以更加清楚睇下內容。&lt;br/&gt;&lt;br/&gt;&lt;b&gt;如果要放大螢幕畫面，請跟住以下步驟操作：	1. 用快速鍵啟用放大功能&lt;br/&amp;gt	2. 㩒一下螢幕&lt;br/&gt;	3. 拖曳兩指就可以在畫面上移動&lt;br/&gt;	4. 用兩指縮放就可以調整縮放程度&lt;br/&gt;	5. 用快速鍵就可以停用放大功能&lt;br/&gt;&lt;br/&gt;&lt;b&gt;如果要暫時放大螢幕畫面，請跟住以下步驟操作：&lt;/b&gt;&lt;br/&gt;	1. 用快速鍵啟用放大功能&lt;br/&amp;gt	2. 㩒住畫面上任何地方&lt;br/&gt;	3. 拖曳手指就可以在畫面上移動&lt;br/&gt;	4. 提起手指就可以停止放大螢幕畫面"</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"開啟放大功能後，您可放大畫面。\n\n"<b>"如要縮放"</b>"，請開啟放大功能，然後輕按螢幕任何地方。\n"<ul><li>"用 2 隻或多隻手指拖曳，即可捲動螢幕"</li>\n<li>"用 2 隻或多隻手指縮放，即可調整縮放程度"</li></ul>\n\n<b>"如要暫時縮放"</b>"，請開啟放大功能，再按住螢幕任何地方。\n"<ul><li>"拖曳即可在螢幕上移動"</li>\n<li>"提起手指即可縮小至原大"</li></ul>\n\n"您無法在鍵盤或導覽列上使用放大功能。"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"使用無障礙功能按鈕即可開啟"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"使用手勢即可開啟"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"使用新的無障礙手勢"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"如要開啟或關閉此服務，請輕按畫面底部的無障礙功能按鈕 <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>。\n\n如要在服務之間切換，請按住無障礙功能按鈕。"</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"如要開啟或關閉此服務，請使用兩隻手指從螢幕底部向上滑動。\n\n如要在服務之間切換，請使用兩隻手指向上滑動並按住。"</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"如要開啟或關閉此服務，請使用三隻手指從螢幕底部向上滑動。\n\n如要在服務之間切換，請使用三隻手指向上滑動並按住。"</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"如要開啟或關閉無障礙服務，請使用兩隻手指從螢幕底部向上滑動。\n\n如要在服務之間切換，請使用兩隻手指向上滑動並按住。"</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"如要開啟或關閉無障礙服務，請使用三隻手指從螢幕底部向上滑動。\n\n如要在服務之間切換，請使用三隻手指向上滑動並按住。"</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"如要開啟或關閉此服務，請輕按畫面底部的無障礙功能按鈕 <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>。\n\n如要在服務之間切換，請按住無障礙功能按鈕。"</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"如要開啟或關閉此服務，請使用兩隻手指從螢幕底部向上滑動。\n\n如要在服務之間切換，請使用兩隻手指向上滑動並按住。"</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"如要開啟或關閉此服務，請使用三隻手指從螢幕底部向上滑動。\n\n如要在服務之間切換，請使用三隻手指向上滑動並按住。"</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"如要開啟或關閉無障礙服務，請使用兩隻手指從螢幕底部向上滑動。\n\n如要在服務之間切換，請使用兩隻手指向上滑動並按住。"</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"如要開啟或關閉無障礙服務，請使用三隻手指從螢幕底部向上滑動。\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="2820923641553461297">"無障礙功能按鈕"</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="8922102767509399352">"㩒一下畫面底部嘅無障礙功能按鈕 <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"用 2 隻手指由螢幕底部向上掃"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"用 2 隻手指由螢幕底部向上掃"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"按住音量鍵"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"同時㩒住校低同校高音量鍵 1 秒"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"㩒螢幕 3 下"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"快速㩒螢幕 3 下。呢個快速鍵可能會減慢裝置運作速度。"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"進階"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"「無障礙功能」按鈕已設定為「<xliff:g id="SERVICE">%1$s</xliff:g>」。如要使用放大功能，請按住「無障礙功能」按鈕，然後選擇「放大功能」。"</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"無障礙手勢已設為「<xliff:g id="SERVICE">%1$s</xliff:g>」。如要使用放大功能，請使用兩隻手指從螢幕底部向上滑動並長按，然後選取放大功能。"</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"音量快速鍵"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"快速鍵服務"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"快速鍵設定"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"允許在鎖定螢幕上使用"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"啟用快速鍵後，同時按下兩個音量鍵 3 秒即可啟動無障礙功能。"</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"高對比文字"</string>
@@ -2150,24 +2158,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"對於您要處理的訊息，選擇顯示時間 (只會暫時顯示)。\n\n只有部分應用程式支援此設定。"</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"輕觸並按住延遲"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"色彩反轉"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"可能會影響效能"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"停留時間"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"用色彩反轉"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"色彩反轉可以將光嘅螢幕畫面轉暗，令到對強光敏感嘅人更易睇到畫面內容。&lt;br/&gt;&lt;br/&gt;注意：系統會將深色轉為淺色，媒體同圖片嘅色彩將會改變。你亦都可以用深色主題背景 (請去 [設定] > [顯示] 進行設定)。"</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"自動點擊 (停留時間)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"如果您使用滑鼠，可以將游標設為在停止移動一段時間後自動點擊。"</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"延遲點擊"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"不使用自動點擊 (預設)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"短"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0.2 秒"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"中"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0.6 秒"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"長"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 秒"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"自訂"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"較短"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"較長"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"自動點擊時間"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"震動和觸感強度"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"通知震動"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"鈴聲震動"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"輕觸反應"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"使用服務"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"使用「<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>」"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"開啟「<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>」"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"使用色彩校正"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"使用字幕"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"顯示字幕"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"字幕字型"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"文字大小和字幕樣式"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"更多選項"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"只有部分應用程式支援此設定。"</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>
     <string name="accessibility_hearingaid_instruction_continue_button" msgid="3367260988024430722">"繼續"</string>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"助聽器"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"冇連接任何助聽器"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"新增助聽器"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"如果要配對助聽器，請喺下一個畫面搵出你嘅裝置，然後扲一下。"</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"請確定你嘅助聽器已經處於配對模式。"</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"如要配對助聽器，請於下一個畫面找出您的裝置，然後輕按一下。請確定您的助聽器已處於配對模式。"</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"「<xliff:g id="DEVICE_NAME">%1$s</xliff:g>」已啟用"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="other">儲存咗 <xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> 個助聽器</item>
@@ -2179,25 +2205,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"呢個服務出現故障。"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"在「快速設定」中顯示"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"校正模式"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="other">極短時間延誤 (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> 微秒)</item>
-      <item quantity="one">極短時間延誤 (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> 微秒)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"紅綠不分"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"綠紅不分"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"藍黃不分"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"綠色弱視"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"紅色弱視"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"藍色弱視"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="other">延遲時間極短 (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> 秒)</item>
+      <item quantity="one">延遲時間極短 (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> 秒)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="other">很短時間延誤 (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> 微秒)</item>
-      <item quantity="one">很短時間延誤 (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> 微秒)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="other">延遲時間好短 (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> 秒)</item>
+      <item quantity="one">延遲時間好短 (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> 秒)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="other">短時間延誤 (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> 微秒)</item>
-      <item quantity="one">短時間延誤 (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> 微秒)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="other">延遲時間短 (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> 秒)</item>
+      <item quantity="one">延遲時間短 (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> 秒)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="other">長時間延誤 (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> 微秒)</item>
-      <item quantity="one">長時間延誤 (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> 微秒)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="other">延遲時間長 (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> 秒)</item>
+      <item quantity="one">延遲時間長 (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> 秒)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="other">很長時間延誤 (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> 微秒)</item>
-      <item quantity="one">很長時間延誤 (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> 微秒)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="other">延遲時間很長 (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> 秒)</item>
+      <item quantity="one">延遲時間很長 (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> 秒)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> 秒</item>
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> 秒</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"鈴聲：<xliff:g id="SUMMARY_RING">%1$s</xliff:g>，通知：<xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>，觸控：<xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"將鈴聲和通知震動設為「關閉」"</string>
@@ -2514,7 +2550,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"<xliff:g id="UNPLUGGED">%1$s</xliff:g> 前拔除電源"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"整體使用狀況"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"重新整理"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"Android 作業系統"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"媒體伺服器"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"應用程式優化"</string>
     <string name="battery_saver" msgid="7737147344510595864">"省電模式"</string>
@@ -2595,8 +2630,7 @@
     <string name="tts_play" msgid="2945513377250757221">"播放"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"憑證儲存空間"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"從儲存裝置安裝"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"從 SD 記憶卡安裝"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"安裝憑證"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"從儲存裝置安裝憑證"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"從 SD 記憶卡安裝憑證"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"清除憑證"</string>
@@ -2616,6 +2650,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"憑證儲存空間已清除。"</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"無法清除憑證儲存空間。"</string>
     <string name="usage_access_title" msgid="1580006124578134850">"可存取使用狀況的應用程式"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"CA 憑證"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"VPN 及應用程式使用者憑證"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"Wi‑Fi 憑證"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"您的私隱存在風險"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"網站、應用程式和 VPN 會使用 CA 憑證作加密用途。請只安裝由您信任的機構發出的 CA 憑證。\n\n如果您安裝 CA 憑證，憑證擁有者便可以從您瀏覽的網站或使用的應用程式存取您的資料 (例如密碼、訊息或信用卡詳情)，即使有關資料已加密亦不例外。"</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"不要安裝"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"繼續安裝"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"未安裝憑證"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"緊急撥號訊號"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"設定撥打緊急電話時的運作方式"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"備份"</string>
@@ -2643,10 +2685,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"停用並解除安裝"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"裝置管理應用程式"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"沒有可用的裝置管理應用程式"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"個人"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"公司"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"限制存取短訊和通話記錄"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"只有預設手機和短訊應用程式能夠存取短訊和通話記錄"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"沒有信任的代理程式可供使用"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"要啟動裝置管理應用程式嗎？"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"啟動此裝置管理應用程式"</string>
@@ -2660,6 +2698,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"您的管理員已停用其他選項"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"更多詳細資料"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"通知記錄"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"通知記錄"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"今天"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"已延後"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"最近已關閉"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> 則通知</item>
+      <item quantity="one"><xliff:g id="NUMBER_0">%d</xliff:g> 則通知</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"來電鈴聲及震動"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"網絡詳細資料"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"同步已啟用"</string>
@@ -3009,7 +3055,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"限制"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"移除限制"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"更改 PIN 碼"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"顯示通知"</string>
     <string name="help_label" msgid="2896538416436125883">"說明和意見反映"</string>
     <string name="support_summary" msgid="1034146931237148885">"說明文章、電話和即時通訊、開始使用"</string>
     <string name="user_account_title" msgid="6389636876210834864">"內容帳戶"</string>
@@ -3034,6 +3079,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G 通話"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"使用 LTE 服務改善語音及其他通訊 (建議)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"使用 4G 服務改善語音及其他通訊 (建議)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"聯絡人探索"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"允許流動網絡供應商找出聯絡人支援的通話功能。"</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"要啟用聯絡人探索嗎？"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"啟用此功能後，流動網絡供應商將可存取您聯絡人的電話號碼，以便找出號碼支援的通話功能。"</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"偏好的網絡類型"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (建議)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS 訊息"</string>
@@ -3078,7 +3127,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"選取用於撥號的 SIM 卡："</string>
     <string name="sim_select_card" msgid="1226182454109919045">"選取 SIM 卡"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"SIM <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"未插入 SIM 卡"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"SIM 卡名稱"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"輸入 SIM 名稱"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"SIM 卡插槽 %1$d"</string>
@@ -3088,6 +3136,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"選取 SIM 卡"</string>
     <string name="color_orange" msgid="216547825489739010">"橙色"</string>
     <string name="color_purple" msgid="6603701972079904843">"紫色"</string>
+    <string name="color_pink" msgid="8596872110888626708">"粉紅色"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"尚未插入 SIM 卡"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"SIM 卡狀態"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"SIM 卡狀態 (SIM 卡插槽 %1$d)"</string>
@@ -3101,7 +3150,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"SIM 卡已變更。"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"輕按即可設定"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"首選 SIM 卡用於："</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"每次都詢問"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"請選取偏好設定"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"SIM 卡選擇"</string>
@@ -3119,6 +3167,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"藍牙、駕駛模式"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"藍牙、NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"藍牙"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"由於 NFC 已關閉，因此無法使用"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"應用程式和通知"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"最近使用的應用程式、預設應用程式"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"工作設定檔中的應用程式無法存取通知設定。"</string>
@@ -3129,13 +3178,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"設定"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"Wifi, Wi-Fi, 網絡連線, 互聯網, 無線, 數據, Wifi"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"Wi‑Fi 通知, wifi 通知"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"數據用量"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"停止震動, 輕按, 鍵盤"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"使用 24 小時制"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"下載"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"開啟方式"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"應用程式"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"時區"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"即時通訊大頭貼"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"即時通訊大頭貼, 系統, 通知, 視窗, 對話框, 顯示屏, 在其他應用程式上面, 繪圖"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"閃光燈, 燈, 電筒"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"WiFi, Wi-Fi, 切換, 控制"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"流動網絡, 流動裝置, 流動網絡供應商, 無線, 數據, 4G, 3G, 2G, LTE"</string>
@@ -3159,7 +3209,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"不得干擾, 騷擾, 干擾, 中斷"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"附近, 位置, 記錄, 報告, GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"帳戶"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"帳戶, 新增帳戶, 工作設定檔, 加入帳戶"</string>
     <string name="keywords_users" msgid="3497517660077620843">"規限, 限制, 受限"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"文字更正, 修正, 聲音, 震動, 自動, 語言, 手勢, 建議, 提議, 主題背景, 令人反感, 文字, 輸入, 表情圖案, 國際"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"重設, 偏好, 預設"</string>
@@ -3197,6 +3247,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"記憶體, 快取, 資料, 刪除, 清除, 釋出, 空間"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"已連線, 裝置, 耳機, 耳機, 喇叭, 無線, 配對, 耳塞, 音樂, 媒體"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"背景, 螢幕, 鎖定螢幕, 主題"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"圖示形狀、強調色、字型"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"預設, 助理"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"付款, 預設"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"收到的通知"</string>
@@ -3206,18 +3257,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"觸感反應, 震動, 敏感度"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"省電模式, 固定, 持續, 節電模式, 電池"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"日常用電情況, 用電安排, 省電模式, 節能模式, 電池, 自動, 百分比"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"工作設定檔"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"VoLTE、進階通話、4G 通話"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"新增語言、加入語言"</string>
     <string name="default_sound" msgid="6604374495015245195">"預設音效"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"鈴聲音量為 <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"鈴聲和通知音量已設為 <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"音量、震動、請勿騷擾"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"響鈴設定為震動"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"響鈴設定為靜音"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"鈴聲音量為 80%"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"鈴聲和通知音量已設為 80%"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"媒體音量"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"投放音量"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"通話音量"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"鬧鐘音量"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"鈴聲音量"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"鈴聲和通知音量"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"通知音量"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"電話鈴聲"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"預設通知音效"</string>
@@ -3225,6 +3277,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"預設通知音效"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"預設鬧鐘音效"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"來電時震動"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"永不震動"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"保持震動"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"先震動，然後逐漸發出鈴聲"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"其他音效"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"撥號鍵盤音效"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"螢幕鎖定音效"</string>
@@ -3248,6 +3303,7 @@
       <item quantity="one">已啟用 1 個日程表</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"請勿騷擾"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"只接收重要聯絡人和應用程式的通知"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"減少干擾"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"開啟「請勿騷擾」模式"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"例外情況"</string>
@@ -3274,7 +3330,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>：<xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"封鎖視覺干擾"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"允許視覺訊號"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"開啟「請勿騷擾」模式時"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"允許發出音效的干擾"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"限制通知"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"無音效通知"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"您會在螢幕上看到通知"</string>
@@ -3305,7 +3361,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"音效和震動"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"通知的音效、震動和個別視像訊號"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"通知的音效、震動和視像訊號"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"基本手機活動及狀態所需的通知一律不會隱藏"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"基本手機活動及狀態所需的通知一律不會隱藏。"</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"無"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"其他選項"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"新增"</string>
@@ -3335,10 +3391,12 @@
       <item quantity="other">系統已自動啟用 <xliff:g id="ON_COUNT">%d</xliff:g> 個日程表</item>
       <item quantity="one">系統已自動啟用 1 個日程表</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"將裝置設為靜音但允許例外情況"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"例外情況"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"設定時間"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"查看所有例外情況"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"開啟「請勿騷擾」模式時的例外情況"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"人物"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"應用程式"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"鬧鐘和其他干擾"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"時間表"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"設為靜音的通知"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"開啟「請勿騷擾」模式時，除了您在上方允許的項目外，所有音效和震動會設為靜音。"</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"全部設為靜音，除了"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"已設為靜音"</string>
@@ -3382,16 +3440,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"自動調節通知"</string>
     <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_capabilities_actions_replies_title" msgid="4392470465646394289">"建議操作和回覆"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"自動顯示建議操作和回覆"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"開啟通知記錄即可追蹤過去的通知和已延後的通知"</string>
+    <string name="notification_history" msgid="8663811361243456201">"通知記錄"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"開啟記錄功能"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"關閉記錄功能"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"通知記錄已關閉"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"查看通知設定"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"允許通知延後"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"隱藏低重要性通知圖示"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"低重要性的通知圖示不會顯示在狀態列"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"允許使用通知圓點"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"顯示最近的對話列"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"小視窗"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"部分通知可在螢幕上以小視窗形式顯示"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"部分通知和其他內容可在螢幕中以小視窗形式顯示。輕按小視窗即可開啟。如要關閉小視窗，只需將之拖至螢幕下方。"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"小視窗"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"螢幕上會顯示新訊息"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」以小視窗形式顯示部分通知"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"開啟小視窗"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"如要開啟此應用程式的小視窗功能，您需要先在裝置開啟這些功能。此操作會影響之前已開啟小視窗功能的其他應用程式。"</string>
@@ -3409,6 +3477,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"在下拉式面板和上鎖畫面中顯示"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"在下拉式面板和狀態列中顯示"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"在下拉式面板、狀態列和上鎖畫面中顯示"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"隱藏狀態列的靜音通知"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"閃燈"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"上鎖畫面"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"略過上鎖畫面"</string>
@@ -3439,6 +3508,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"行為"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"允許發出音效"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"永不顯示通知"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"對話"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"對話"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"並非對話"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"從對話部分中移除"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"這是對話"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"新增至對話部分"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"管理對話"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"重要對話"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"所有對話"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"以小視窗顯示重要對話"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"在下拉式面板頂部顯示重要對話。您亦可設定為以小視窗顯示，並中斷「請勿騷擾」。"</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"無聲顯示並將重要性級別最小化"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"顯示通知但不發出音效"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"發出音效"</string>
@@ -3457,7 +3537,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"助您保持專注，不會發出聲音或震動"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"發出聲音或震動來吸引您的注意"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"裝置處於解鎖狀態時，系統會在螢幕頂部以橫額形式顯示通知"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"顯示通知"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"「<xliff:g id="APP_NAME">%1$s</xliff:g>」的所有通知"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"自動調節通知"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="other">~每天 <xliff:g id="NUMBER_1">%d</xliff:g> 個通知</item>
@@ -3478,6 +3558,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"自動調節通知"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"無"</string>
     <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="3119843404577399036">"<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>
@@ -3539,8 +3620,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"完成"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"重要性"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"閃燈"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"震動"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"震動"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"音效"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"重要"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"新增至主畫面"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"刪除"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"重新命名"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"日程表名稱"</string>
@@ -3594,6 +3677,10 @@
       <item quantity="other">另外 <xliff:g id="NUM_PEOPLE">%d</xliff:g> 人</item>
       <item quantity="one">另外 1 人</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"對話"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"來自所有對話"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"來自重要對話"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"不允許任何對話"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"允許訊息"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"如要確保允許的訊息發出音效，請檢查您的裝置目前設為發出鈴聲、震動還是靜音。"</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"在「<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>」中，收到的訊息會被封鎖。您可以調整設定，讓好友、家人或其他聯絡人聯絡您。"</string>
@@ -3607,15 +3694,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"無"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"不允許任何通話"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"不允許任何訊息"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"允許鬧鐘"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"鬧鐘"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"來自計時器、鬧鐘、保安系統和其他應用程式"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"鬧鐘"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"播放媒體音效"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"媒體音效"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"來自影片、遊戲和其他媒體"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"媒體"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"允許觸控音效"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"觸控音效"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"來自鍵盤和其他按鈕"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"觸控音效"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"允許提醒"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"提醒"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"來自工作和提醒"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"提醒"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"允許活動通知"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"活動"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"來自即將開始的日曆活動"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"允許應用程式取代「請勿騷擾」"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"應用程式例外情況"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3658,6 +3750,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"允許「請勿騷擾」模式設為靜音的通知開啟螢幕"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"通知設定"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"確定"</string>
+    <string name="suggestion_button_close" msgid="6865170855573283759">"關閉"</string>
     <string name="device_feedback" msgid="5351614458411688608">"傳送您對這部裝置的意見"</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"輸入管理員 PIN 碼"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"開啟"</string>
@@ -3668,6 +3761,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"取消固定時必須輸入 PIN"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"取消固定時必須輸入密碼"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"取消固定時鎖定裝置"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"確認刪除 SIM 卡"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"如要清除已下載的 SIM 卡，請驗證這是您本人"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"這個工作設定檔由以下應用程式管理："</string>
     <string name="managing_admin" msgid="2633920317425356619">"由<xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>管理"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(實驗性)"</string>
@@ -3742,8 +3837,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"所有應用程式"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"已安裝的應用程式"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"免安裝應用程式"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"個人"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"工作"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"應用程式：全部"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"已關閉"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"類別：緊急重要性"</string>
@@ -3755,6 +3848,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"不明應用程式"</string>
     <string name="app_permissions" msgid="8666537659217653626">"權限管理工具"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"使用<xliff:g id="APPS">%1$s</xliff:g>的應用程式"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"有權存取<xliff:g id="APPS">%1$s</xliff:g>和其他項目的應用程式"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"輕按以喚醒"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"在螢幕上任何地方連按兩下即可喚醒裝置"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"開啟連結"</string>
@@ -3766,9 +3860,14 @@
       <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> 個應用程式可開啟支援的連結</item>
       <item quantity="one">一個應用程式可開啟支援的連結</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"在此應用程式開啟"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"允許應用程式開啟支援連結"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"每次都詢問"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"不要在此應用程式開啟"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"不允許應用程式開啟連結"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="other">應用程式聲稱可處理 <xliff:g id="COUNT_1">%d</xliff:g> 個連結</item>
+      <item quantity="one">應用程式聲稱可處理 <xliff:g id="COUNT_0">%d</xliff:g> 個連結</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"應用程式聲稱可處理以下連結："</string>
     <string name="default_apps_title" msgid="6943471331817718664">"預設"</string>
     <string name="default_for_work" msgid="537558180548617528">"預設工作設定"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"小幫手及語音輸入"</string>
@@ -3912,8 +4011,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"在其他應用程式上面顯示"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"可顯示在其他應用程式上面"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"允許此應用程式在您目前使用的其他應用程式上層顯示內容，因此可能會干擾您使用相關應用程式，或變更這些應用程式的顯示或運作方式。"</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"所有檔案存取權"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"允許存取以管理所有檔案"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"允許此應用程式讀取、修改和刪除此裝置或任何已連接的儲存空間卷宗上的所有檔案。如獲得權限，應用程式可能會在您不知情的情況下存取檔案。"</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"可存取所有檔案"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"VR 虛擬實境 接聽器 立體聲 協助服務"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"系統提示視窗對話框在其他應用程式上層顯示"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"在其他應用程式上面顯示"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"<xliff:g id="COUNT_0">%1$d</xliff:g> 個應用程式 (共 <xliff:g id="COUNT_1">%2$d</xliff:g> 個) 可顯示在其他應用程式上面"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"擁有權限的應用程式"</string>
@@ -4079,6 +4181,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"已使用 <xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g>"</string>
     <string name="data_overusage" msgid="3680477320458707259">"超過了 <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="data_remaining" msgid="6316251496381922837">"剩餘 <xliff:g id="ID_1">^1</xliff:g>"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"顯示 <xliff:g id="START_DATE">%1$s</xliff:g>至 <xliff:g id="END_DATE">%2$s</xliff:g>期間數據用量的圖表。"</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"此日期範圍內沒有資料"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="other">尚餘 %d 天</item>
       <item quantity="one">尚餘 %d 天</item>
@@ -4142,14 +4246,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"包裹大小"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"已傳送通知"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"音效"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"震動"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"圖案"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"預設"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"頻道"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"無"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"沒有評級物件。"</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"評級物件不包含此密鑰。"</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"自訂主題背景"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"裝置預設設定"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"顯示屏凹口"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"顯示屏凹口 (缺口)"</string>
@@ -4238,8 +4338,12 @@
     <string name="information_label" msgid="6939310810756569298">"資料"</string>
     <string name="low_label" msgid="6525629096999711220">"低"</string>
     <string name="high_label" msgid="357503396626018487">"高"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"調高敏感度可能會影響螢幕邊緣的應用程式手勢操作。"</string>
+    <string name="left_edge" msgid="1513576842959071849">"左側邊緣"</string>
+    <string name="right_edge" msgid="1505309103265829121">"右側邊緣"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"較高的敏感度可能會與任何在螢幕邊緣的應用程式手勢互相衝突。"</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"返回手勢的敏感度"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"手勢設定"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"手勢導覽, 返回手勢的敏感度, 返回手勢"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"輕按兩下以查看手機"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"輕按兩下即可查看平板電腦"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"輕按兩下即可查看裝置"</string>
@@ -4394,7 +4498,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"觸發流動網絡供應商佈建程序"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"更新請勿騷擾模式"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"暫停通知，助您保持專注"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"這部裝置不支援此功能"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"功能無法使用"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"由於這項功能會降低手機運行速度，因此已關閉"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"強制啟用完整的 GNSS 測量資料"</string>
@@ -4404,20 +4507,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"選取支援 ANGLE 的應用程式"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"尚未設定支援 ANGLE 的應用程式"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"支援 ANGLE 的應用程式：<xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"遊戲驅動程式偏好設定"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"修改「遊戲驅動程式」設定"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"啟用「遊戲驅動程式」後，您便可選用在裝置上安裝的更新應用程式顯示卡驅動程式。"</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"為所有應用程式啟用"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"選取顯示卡驅動程式"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"預設"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"遊戲驅動程式"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"預先發佈版驅動程式"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"系統顯示卡驅動程式"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"顯示卡驅動程式偏好設定"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"修改顯示卡驅動程式設定"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"若您有多個顯示卡驅動程式，便可為安裝在裝置上的應用程式選擇是否使用更新的顯示卡驅動程式。"</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"為所有應用程式啟用此設定"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"選取顯示卡驅動程式"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"預設"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"遊戲驅動程式"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"開發人員驅動程式"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"系統顯示卡驅動程式"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"應用程式兼容性變更"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"切換應用程式兼容性變更"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"預設為啟用的變更"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"預設為已停用的變更"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"此手機不支援這項設定"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"此平板電腦不支援這項設定"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"此裝置不支援這項設定"</string>
@@ -4436,6 +4545,11 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"裝置"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"通話時無法使用"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"無法使用"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"新增輸出裝置"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"群組"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"已選取 1 部裝置"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"已選取 <xliff:g id="COUNT">%1$d</xliff:g> 部裝置"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"正在切換…"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"接聽來電時使用的裝置"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"無法變更此 APN。"</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"延長平板電腦的電池壽命"</string>
@@ -4553,10 +4667,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"每次只可啟用一張已下載的 SIM 卡。\n\n切換至<xliff:g id="CARRIER1">%1$s</xliff:g>將不會取消您的<xliff:g id="CARRIER2">%2$s</xliff:g>服務。"</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"切換至<xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"清除 SIM 卡"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"是否清除此已下載 SIM 卡？"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"清除此 SIM 卡即會從此裝置中移除<xliff:g id="CARRIER_0">%1$s</xliff:g>服務。\n\n<xliff:g id="CARRIER_1">%2$s</xliff:g>的服務將不會被取消。"</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"清除"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"正在清除 SIM 卡…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"無法清除 SIM 卡"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"由於發生錯誤，因此無法清除此 SIM 卡。\n\n請重新開機，然後再試一次。"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"首選網絡類型"</string>
@@ -4581,7 +4691,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"網絡模式 <xliff:g id="NETWORKMODEID">%1$d</xliff:g> 無效。忽略。"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"接入點名稱 (APN)"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"無法在連接至<xliff:g id="CARRIER">%1$s</xliff:g>時使用"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"醫療資訊、緊急聯絡人"</string>
     <string name="see_more" msgid="7499355691042812723">"查看更多"</string>
     <string name="see_less" msgid="2642392725363552793">"顯示較少"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"可配合<xliff:g id="APPNAME">%1$s</xliff:g>使用的裝置"</string>
@@ -4590,11 +4699,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"發生錯誤。應用程式已取消選擇裝置的要求。"</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"連線成功"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"顯示全部"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="other">已連接 <xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> 部裝置</item>
-      <item quantity="one">已連接 <xliff:g id="NUMBER_DEVICE_COUNT_0">%1$d</xliff:g> 部裝置</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"沒有藍牙裝置"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"正在搜尋裝置…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"正在連接裝置…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"左耳"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"右耳"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"耳機盒"</string>
@@ -4604,6 +4710,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"飛行模式啟用期間無法使用"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"強制執行桌面模式"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"在次要顯示屏強制執行實驗版桌面模式"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"啟用可自由移動的尺寸兼容應用程式"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"允許尺寸兼容應用程式處於可自由移動狀態"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"蓋過強制深色模式"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"蓋過永遠啟用強制深色模式的設定"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"私隱"</string>
@@ -4640,6 +4748,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"您最近安裝過此應用程式。"</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"切換輸出"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"目前正在「<xliff:g id="DEVICE_NAME">%1$s</xliff:g>」上播放"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (連線中斷)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"無法切換，輕按即可重試。"</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"重要資料"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"繼續"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"不用了，謝謝"</string>
@@ -4667,8 +4777,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"SIM 卡組合"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"您的工作政策資料"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"由 IT 管理員管理的設定"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"錯誤報告處理常式"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"選擇裝置上負責處理錯誤報告快速鍵的應用程式。"</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"個人"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"公司"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"系統預設"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"此選擇已失效，請再試一次。"</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"停止投放"</string>
 </resources>
diff --git a/res/values-zh-rTW/arrays.xml b/res/values-zh-rTW/arrays.xml
index 2dd50e6..8d41312 100644
--- a/res/values-zh-rTW/arrays.xml
+++ b/res/values-zh-rTW/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"0 秒"</item>
     <item msgid="463591454172790676">"5 秒"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"不進行驗證"</item>
+    <item msgid="5703177653586269306">"要求取得憑證狀態"</item>
+    <item msgid="326388247868439528">"需要取得憑證狀態"</item>
+    <item msgid="1090956283885790552">"需要取得所有非信任憑證的狀態"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"按鈕"</item>
     <item msgid="2630618799033509548">"來自對端裝置的 PIN"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"無"</item>
@@ -404,6 +412,9 @@
     <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>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"無"</item>
diff --git a/res/values-zh-rTW/config.xml b/res/values-zh-rTW/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-zh-rTW/config.xml
+++ b/res/values-zh-rTW/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 9b6e75e..e78b8d1 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -31,49 +31,17 @@
     <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="radio_info_data_connection_enable" msgid="7500945447906187613">"啟用數據連線"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"停用數據連線"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"已佈建 VoLTE"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"已建立視訊通話"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"已建立 Wi-Fi 通話"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"EAB/顯示狀態：已啟用"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"CBRS 資料"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"啟用 DSDS"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"要將裝置重新啟動嗎？"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"你必須重新啟動裝置，才能變更這項設定。"</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"重新啟動"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"取消"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"行動無線電電源"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"查看 SIM 通訊錄"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"查看固定撥號"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"檢視服務撥號號碼"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"IMS 服務狀態"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"IMS 狀態"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"已註冊"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"未註冊"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"可供使用"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"無法使用"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"IMS 註冊狀態：<xliff:g id="STATUS">%1$s</xliff:g>\nVoLTE：<xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nVoWi-Fi：<xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\n視訊通話：<xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT 介面：<xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"服務中"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"無服務"</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>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"閒置"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"響鈴"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"通話中"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"連線中斷"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"連線中"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"已連線"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"待命"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"不明"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"pkts"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"bytes"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"客戶編號"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"無法卸載 USB 儲存裝置"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"卸載 SD 卡"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"清除 USB 儲存裝置"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"縮小或放大畫面上的文字。"</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"縮小"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"放大"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"範例文字"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"綠野仙蹤"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"第 11 章：奧茲國的翡翠城"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"你必須重新啟動裝置才能變更這項設定。"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"重新啟動"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"取消"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"可用的媒體裝置"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"可用的通話裝置"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"目前已連線的裝置"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"媒體裝置"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"通話裝置"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"其他裝置"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"已儲存的裝置"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"系統將開啟藍牙以配對裝置"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"連線偏好設定"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"你所輸入的通訊埠無效。"</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"瀏覽器會使用 HTTP Proxy，但其他應用程式不一定會採用這項設定。"</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"PAC 網址： "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"目前的子 ID："</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"預設資料 SIM 卡的子 ID："</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"下行頻寬 (kbps)："</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"上行頻寬 (kbps)："</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"行動網路位置資訊 (已不適用)："</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"LTE 實體通道設定："</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"行動網路資訊更新頻率："</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"所有行動網路測量資訊："</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"數據服務："</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"漫遊："</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI："</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"來電轉接："</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"開機後重設 PPP 的次數："</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"目前的網路："</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"已接收的數據："</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"語音服務："</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"訊號強度："</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"語音通話狀態："</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"已傳送的數據："</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"留言待取："</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"電話號碼："</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"選取無線電頻帶"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"語音網路類型："</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"數據網路類型："</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"選取電話索引"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"設定偏好的網路類型："</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"連線偵測 (ping) 主機名稱 (www.google.com) IPv4："</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"連線偵測 (ping) 主機名稱 (www.google.com) IPv6："</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"HTTP 用戶端測試："</string>
     <string name="ping_test_label" msgid="265427033290391845">"執行連線偵測 (ping) 測試"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC："</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"更新"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"重新整理"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"切換 DNS 檢查"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"OEM 專用資訊/設定"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"設定無線電頻帶模式"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"正在載入頻帶清單…"</string>
-    <string name="band_mode_set" msgid="494968379352406359">"設定"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"失敗"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"成功"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"重新連接 USB 傳輸線後，變更才會生效。"</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"啟用 USB 大量儲存裝置"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"總容量 (bytes)："</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"移到底端"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"移除語言"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"選擇活動"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"裝置資訊"</string>
     <string name="display_label" msgid="3056320781191343221">"螢幕"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"平板電腦資訊"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"手機資訊"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"USB 儲存裝置"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"SD 卡"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"Proxy 設定"</string>
@@ -306,9 +234,6 @@
     <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、藍牙、飛航模式、行動網路和 VPN"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"行動數據"</string>
-    <string name="calls_title" msgid="6334813967619899114">"允許進行通話"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"簡訊"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"允許在行動網路中使用數據服務"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"允許在漫遊時使用數據服務"</string>
     <string name="roaming" msgid="3055365654530847985">"漫遊"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"漫遊時連線到數據傳輸服務"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"由於你不在主要網路蓋涵範圍，且已關閉漫遊服務，資料連線已中斷。"</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"開啟"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"你可能需要支付可觀的費用。"</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"允許使用數據漫遊服務時，你可能需要支付龐大的漫遊費用！\n\n這項設定會影響這台平板電腦的所有使用者。"</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"允許使用數據漫遊服務時，你可能需要支付龐大的漫遊費用！\n\n這項設定會影響這支手機的所有使用者。"</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"可能要支付漫遊費用。"</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"如果你允許使用漫遊服務，可能要支付漫遊費用。\n\n這項設定會影響這部平板電腦的所有使用者。"</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"如果你允許使用漫遊服務，可能要支付漫遊費用。\n\n這項設定會影響這支手機的所有使用者。"</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"允許漫遊服務？"</string>
     <string name="networks" msgid="5184501333492775095">"選取電信業者"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"選擇網路業者"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"已由管理員停用"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"顯示鎖定選項"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"顯示電源按鈕選項，可在螢幕鎖定畫面停用 Smart Lock、生物特徵辨識解鎖和通知功能"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"信任的代理程式只會延長解鎖時間"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"啟用後，信任的代理程式會延長裝置的解鎖時間，但無法再將已鎖定的裝置解鎖。"</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"信任狀態結束時鎖定螢幕"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"啟用後，系統會在最後一個信任的代理程式結束信任狀態時鎖定裝置"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"無"</string>
@@ -390,7 +313,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"設定我的位置、畫面解鎖、SIM 卡鎖定、認證儲存空間鎖定"</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"設定我的位置、解除鎖定畫面及鎖定認證儲存空間"</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"隱私"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"已由管理員停用"</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>
@@ -693,7 +616,6 @@
       <item quantity="other">長度必須少於 <xliff:g id="NUMBER_1">%d</xliff:g> 個數字</item>
       <item quantity="one">長度必須少於 <xliff:g id="NUMBER_0">%d</xliff:g> 個數字</item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"只能包含數字 0 到 9"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"裝置管理員不允許使用最近用過的 PIN"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"你的 IT 管理員已封鎖常見 PIN 碼，請改用其他 PIN 碼。"</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"密碼不得包含無效字元"</string>
@@ -724,6 +646,10 @@
       <item quantity="other">必須包含至少 <xliff:g id="COUNT">%d</xliff:g> 個非字母的字元</item>
       <item quantity="one">必須包含至少 1 個非字母的字元</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="other">至少必須包含 <xliff:g id="COUNT">%d</xliff:g> 個非數值字元</item>
+      <item quantity="one">至少必須包含 1 個非數值字元</item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"裝置管理員不允許使用最近用過的密碼"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"你的 IT 管理員已封鎖常見密碼，請改用其他密碼。"</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"不允許使用依遞增或遞減順序排列或是重複的一串數字"</string>
@@ -837,19 +763,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2.4 GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"登入"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"開啟網站"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"剩餘時間：<xliff:g id="REMAINING_TIME">%1$s</xliff:g>"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"到期時間：<xliff:g id="EXPIRY_TIME">%1$s</xliff:g>"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"輕觸這裡即可登入網路"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"「<xliff:g id="REQUESTER">%s</xliff:g>」要求開啟 Wi-Fi"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"「<xliff:g id="REQUESTER">%s</xliff:g>」要求關閉 Wi-Fi"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"驗證可偵錯應用程式的位元碼"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"允許 ART 驗證可偵錯應用程式的位元碼"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"顯示重新整理頻率"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"顯示目前的螢幕重新整理頻率"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"允許平板電腦在與其他裝置接觸時交換資料"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"允許手機與其他裝置接觸時交換資料"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"允許平板電腦與 NFC 裝置接觸時交換資料"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"允許手機與 NFC 裝置接觸時交換資料"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"開啟 NFC"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"NFC 能夠讓這個裝置與附近的其他裝置或目標 (例如付款終端機、門禁讀卡機以及互動式廣告或標記) 交換資料。"</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"確保 NFC 安全"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"必須解鎖裝置才能使用 NFC"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"只有螢幕處於解鎖狀態時，才允許進行 NFC 付款及使用大眾運輸服務"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"準備就緒，可透過 NFC 傳輸應用程式內容"</string>
@@ -923,8 +855,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"開啟"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"已開啟掃描 Wi-Fi 功能"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"進階選項"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"進階選項下拉式清單。輕觸兩下即可收合。"</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"進階選項下拉式清單。輕觸兩下即可展開。"</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"下拉式清單進階選項"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"展開"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"網路名稱"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"輸入 SSID"</string>
     <string name="wifi_security" msgid="9095934643631406913">"安全性"</string>
@@ -934,6 +866,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"狀態"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"傳送連結速度"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"接收連結速度"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"連線速度"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"頻率"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"IP 位址"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"透過下列方式儲存："</string>
@@ -941,6 +874,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"EAP 方法"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"階段 2 驗證"</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>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"使用者憑證"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"身分"</string>
@@ -957,6 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"請至少選擇一個用於 Wi‑Fi 無線基地台的頻帶："</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"IP 設定"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"隱私"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"訂閱"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"查看或變更訂閱"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"已隨機化的 MAC"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"新增裝置"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"將 QR 圖碼置於相機正下方，即可將這個裝置新增至「<xliff:g id="SSID">%1$s</xliff:g>」"</string>
@@ -966,12 +902,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"分享 Wi-Fi"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"掃描這個 QR 圖碼即可連線至「<xliff:g id="SSID">%1$s</xliff:g>」並分享密碼"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"掃描這個 QR 圖碼即可連線至「<xliff:g id="SSID">%1$s</xliff:g>」"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"無法讀取 QR 圖碼。請重新將圖碼置中，然後再試一次"</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"請再試一次，如果問題持續發生，請與裝置製造商聯絡"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"發生錯誤"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"請確認已插上裝置，且裝置已充滿電並處於開啟狀態"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"請確認已插上裝置，且裝置已充滿電並處於開啟狀態。如果問題持續發生，請與裝置製造商聯絡"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"這個裝置不支援新增「<xliff:g id="SSID">%1$s</xliff:g>」"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"請試著將裝置移到較靠近 Wi-Fi 存取點/路由器的地方"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"請檢查輸入的密碼是否正確，然後再試一次"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"請與裝置製造商聯絡"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"請檢查連線狀況，然後再試一次"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"選擇網路"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"選擇裝置要連線的網路"</string>
@@ -984,11 +922,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"正在與這個裝置分享 Wi‑Fi…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"連線中…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"分享無線基地台"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"驗證你的身分"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"確認你的身分"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"Wi-Fi 密碼：<xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"無線基地台密碼：<xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"自動連線"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"允許手機在進入連線範圍內時自動連上這個網路"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"允許平板電腦在進入連線範圍內時自動連上這個網路"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"新增裝置"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"使用 QR 圖碼將裝置新增至這個網路"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"QR 圖碼格式無效"</string>
     <string name="retry" msgid="7542103800274026915">"重試"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"與裝置的其他使用者共用"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(未變更)"</string>
@@ -1000,6 +942,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"你未指定任何憑證，因此無法為你設定私人連線。"</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"網路名稱太長。"</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"必須指定網域。"</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"需要認證。"</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"可使用 WPS"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (可使用 WPS)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"電信業者 Wi‑Fi 網路"</string>
@@ -1051,7 +994,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"進階 Wi-Fi"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"MAC 位址"</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_ip_address_title" msgid="4265355419782184514">"IP 位址"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"網路詳細資料"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"子網路遮罩"</string>
@@ -1103,7 +1047,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"使用無線基地台建立 Wi‑Fi 網路供其他裝置使用。無線基地台會使用你的行動數據連線提供網際網路。可能需支付額外的行動數據傳輸費用。"</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"應用程式可以建立無線基地台來和鄰近的裝置分享內容。"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"自動關閉無線基地台"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"Wi‑Fi 無線基地台會在沒有任何裝置連線時關閉"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"沒有已連線的裝置時"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"正在開啟無線基地台…"</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"正在關閉無線基地台…"</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> 使用中"</string>
@@ -1112,6 +1056,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"Wi‑Fi 無線基地台設定"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"AndroidAP WPA2 PSK 無線基地台"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"Android 無線基地台"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"要儲存這個網路嗎？"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"「<xliff:g id="APPNAME">%1$s</xliff:g>」想在你的手機中新增網路"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"「<xliff:g id="APPNAME">%1$s</xliff:g>」想在你的平板電腦中新增網路"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"儲存中…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"已儲存"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"無法儲存，請再試一次。"</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"要儲存網路嗎？"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"「<xliff:g id="APPNAME">%1$s</xliff:g>」想在你的手機中新增這些網路"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"「<xliff:g id="APPNAME">%1$s</xliff:g>」想在你的平板電腦中新增這些網路"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"正在儲存 <xliff:g id="NUMBER">%d</xliff:g> 個網路…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"已儲存網路"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"Wi-Fi 通話"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"透過 Wi‑Fi 擴大通話涵蓋範圍"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"開啟 Wi-Fi 通話功能以擴大通話涵蓋範圍"</string>
@@ -1138,16 +1093,18 @@
     <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"><annotation id="url">"進一步瞭解"</annotation>"私人 DNS 功能"</string>
+    <string name="private_dns_mode_on" msgid="8878679071975375696">"已開啟"</string>
     <string name="wifi_calling_pref_managed_by_carrier" msgid="129524064888622179">"這項設定由電信業者管理"</string>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"啟用 Wi-Fi 通話功能"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"開啟 Wi-Fi 通話功能"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"「%1$s」不支援 Wi-Fi 通話功能"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"已中斷與「<xliff:g id="SSID">%1$s</xliff:g>」的連線"</string>
     <string name="carrier" msgid="1755020806290963951">"電信業者"</string>
     <string name="display_settings_title" msgid="626835071804834218">"顯示"</string>
     <string name="sound_settings" msgid="5514582720435174014">"音效"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"音量"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"音樂效果"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"鈴聲音量"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"鈴聲和通知音量"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"靜音時震動"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"預設通知音效"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"鈴聲"</string>
@@ -1272,13 +1229,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"排程"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"無"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"在日落到日出之間開啟"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"在自訂時間開啟"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"狀態"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"關閉/<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"一律不自動開啟"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"將於日落時自動開啟"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"將於<xliff:g id="ID_1">%1$s</xliff:g> 自動開啟"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"開啟/<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"一律不自動關閉"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"將於日出時自動關閉"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"將於<xliff:g id="ID_1">%1$s</xliff:g> 自動關閉"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"保持開啟狀態，直到<xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"保持關閉狀態，直到<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"深色主題可針對某些畫面套用黑色背景，藉此延長電池續航力。這項功能會保持開啟狀態，直到螢幕關閉為止。"</string>
     <string name="screen_timeout" msgid="7709947617767439410">"螢幕自動關閉"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"螢幕關閉時"</string>
@@ -1290,7 +1252,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"變更桌布"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"設定個人化螢幕"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"選擇桌布來源"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"打造個人專屬 Pixel"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"自訂你的手機"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"試試不同的樣式、桌布和其他項目"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"螢幕保護程式"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"充電或安置於座架上時"</string>
@@ -1379,6 +1341,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"卸載 USB 儲存裝置、查看可用的儲存空間"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"卸載 SD 卡，檢視可用儲存媒體。"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"IMEI (SIM 卡插槽 %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"如要查看 MAC 位址，請選擇已儲存的網路"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"電話號碼"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"MDN (SIM 卡插槽 %1$d)"</string>
@@ -1405,6 +1368,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"漫遊"</string>
     <string name="status_operator" msgid="4335640583552058491">"網路"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"Wi-Fi MAC 位址"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"裝置的 Wi‑Fi MAC 位址"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"藍牙位址"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"序號"</string>
     <string name="status_up_time" msgid="1274778533719495438">"開機累計時間"</string>
@@ -1617,6 +1581,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"重設預設 APN 設定已完成。"</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"重設選項"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"網路、應用程式或裝置可以重設"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"可重設應用程式"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"重設 Wi-Fi、行動網路和藍牙"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"這項操作會重設所有網路設定，包括：\n\n"<li>"Wi‑Fi"</li>\n<li>"行動數據"</li>\n<li>"藍牙"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"清除已下載的 SIM 卡"</string>
@@ -1666,6 +1631,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"已開啟無線基地台"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"已開啟網路共用"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"數據節省模式開啟時，無法使用網路共用功能或可攜式無線基地台"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"僅限無線基地台"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"僅限 USB"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"僅限藍牙"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"無線基地台和 USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"無線基地台和藍牙"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB 和藍牙"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"無線基地台、USB 和藍牙"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"目前並未分享網路給其他裝置"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"數據連線"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"不使用 Wi-Fi 無線基地台"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"僅透過 USB 分享網際網路連線"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"僅透過藍牙分享網際網路連線"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"僅透過 USB 和藍牙分享網際網路連線"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB 網路共用"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"透過 USB 分享手機的網際網路連線"</string>
@@ -1756,9 +1734,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"安全資訊"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"你沒有數據連線，如要立即查看這項資訊，請使用任何已連上網際網路的電腦前往 %s。"</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"載入中…"</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"使用 PIN 碼"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"使用解鎖圖案"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"使用密碼"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"設定螢幕鎖定"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"為了安全起見，請設定密碼"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"如要使用指紋，請設定密碼"</string>
@@ -1767,8 +1742,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"如要使用指紋，請設定 PIN 碼"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"為了安全起見，請設定解鎖圖案"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"請重新輸入你的密碼"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"請輸入工作資料夾的密碼"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"確認圖案"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"請畫出工作資料夾的解鎖圖案"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"請重新輸入你的 PIN 碼"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"請輸入工作資料夾的 PIN 碼"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"密碼不符"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"PIN 碼不符"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"再次畫出剛剛的圖案"</string>
@@ -1779,6 +1757,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"如要使用人臉解鎖功能，請設定密碼"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"如要使用人臉解鎖功能，請設定解鎖圖案"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"如要使用人臉解鎖功能，請設定 PIN 碼"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"忘記密碼了嗎？"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"忘記解鎖圖案了嗎？"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"忘記 PIN 碼了嗎？"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"請畫出你的裝置解鎖圖案以繼續作業"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"輸入裝置 PIN 碼即可繼續"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"請輸入你的裝置密碼以繼續作業"</string>
@@ -1846,6 +1827,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"允許安裝所有來源的應用程式"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"最近開啟的應用程式"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"查看全部共 <xliff:g id="COUNT">%1$d</xliff:g> 個應用程式"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"請與 IT 管理員聯絡"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"IT 管理員可協助你重設 PIN 碼、解鎖圖案或密碼"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"來歷不明的應用程式可能會損害你的平板電腦和個人資料。安裝這個來源提供的應用程式集表示你同意，如因使用這些應用程式導致你的平板電腦受損或資料遺失，須自行負責。"</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"來歷不明的應用程式可能會損害你的手機和個人資料。安裝這個來源提供的應用程式即表示你同意，如因使用這些應用程式導致你的手機受損或資料遺失，須自行負責。"</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"來歷不明的應用程式可能會損害你的裝置和個人資料。安裝這個來源提供的應用程式即表示你同意，如因使用這些應用程式導致你的裝置受損或資料遺失，須自行負責。"</string>
@@ -1897,7 +1880,7 @@
     <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="1377296810290814749">"這會重設下列項目的所有偏好設定：\n\n"<li>"已停用的應用程式"</li>\n<li>"已停用的應用程式通知"</li>\n<li>"執行動作的預設應用程式"</li>\n<li>"應用程式的背景數據限制"</li>\n<li>"任何權限限制"</li>\n\n"你不會遺失任何應用程式資料。"</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>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"重設應用程式"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"管理空間"</string>
     <string name="filter" msgid="9039576690686251462">"篩選"</string>
@@ -2097,7 +2080,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"音訊和畫面上的文字"</string>
     <string name="display_category_title" msgid="6638191682294461408">"顯示"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"互動控制項"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"已下載的服務"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"下載的應用程式"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"實驗性"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"功能標記"</string>
     <string name="talkback_title" msgid="8756080454514251327">"TalkBack"</string>
@@ -2105,27 +2088,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"輕觸畫面上的項目即可聽取項目內容"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"字幕偏好設定"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"放大"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"放大區域"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"啟用放大功能"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"選擇你要放大的螢幕區域"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"整個螢幕"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"部分螢幕區域"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"整個螢幕和部分螢幕區域"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"放大整個螢幕"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"放大部分螢幕區域"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"放大功能設定"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"輕觸螢幕三下進行放大"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"使用快速手勢放大畫面"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"使用快速手勢並輕觸三下即可放大畫面"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"關於「<xliff:g id="SERVICE">%1$s</xliff:g>」"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"選項"</string>
     <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="2831926970059739911"><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_screen_magnification_navbar_summary" msgid="5603519616005297803">"放大功能啟用後，你可以放大檢視畫面內容。\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_screen_magnification_summary" msgid="7617931632990040045">"快速放大螢幕畫面，以便更清楚地查看內容。&lt;br/&gt;&lt;br/&gt;&lt;b&gt;如要放大螢幕畫面，請按照以下步驟操作：&lt;/b&gt;&lt;br/&gt;	1. 使用快速鍵啟用放大功能&lt;br/&gt;	2. 輕觸螢幕&lt;br/&gt;	3. 拖曳 2 指即可四處移動畫面&lt;br/&gt;	4. 使用 2 指撥動即可調整縮放等級&lt;br/&gt;	5. 使用快速鍵即可停用放大功能&lt;br/&gt;&lt;br/&gt;&lt;b&gt;如要暫時放大螢幕畫面，請按照以下步驟操作：&lt;/b&gt;&lt;br/&gt;	1. 使用快速鍵啟用放大功能&lt;br/&gt;	2. 按住螢幕上的任一處&lt;br/&gt;	3. 拖曳手指即可四處移動畫面&lt;br/&gt;	4. 移開手指即可停用放大功能"</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"放大功能啟用後，你可以放大畫面上的內容。\n\n"<b>"如要進行縮放"</b>"，請開啟放大功能，然後輕觸畫面上的任何位置。\n"<ul><li>"使用兩指或多指以拖曳的方式捲動畫面"</li>\n<li>"使用兩指或多指撥動以調整縮放大小"</li></ul>\n\n<b>"如要暫時放大畫面"</b>"，請開啟放大功能，然後輕觸並按住畫面上的任何位置。\n"<ul><li>"使用手指拖曳可瀏覽畫面的不同部分"</li>\n<li>"放開手指即可縮小"</li></ul>\n\n"你無法放大鍵盤和導覽列部分。"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"使用無障礙按鈕啟用無障礙服務"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"使用手勢啟用無障礙服務"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"使用全新的無障礙手勢"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"如要啟用或停用這項服務，請輕觸畫面底部的無障礙按鈕 <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>。\n\n如要切換不同的服務，請輕觸並按住無障礙按鈕。"</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"如要啟用或停用這項服務，請用兩指從螢幕底部向上滑動。\n\n如要切換不同的服務，請用兩指向上滑動並按住。"</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"如要啟用或停用這項服務，請用三指從螢幕底部向上滑動。\n\n如要切換不同的服務，請用三指向上滑動並按住。"</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"如要啟用或停用無障礙服務，請用兩指從螢幕底部向上滑動。\n\n如要切換不同的服務，請用兩指向上滑動並按住。"</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"如要啟用或停用無障礙服務，請用三指從螢幕底部向上滑動。\n\n如要切換不同的服務，請用三指向上滑動並按住。"</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"如要開啟或關閉這項服務，請輕觸畫面底部的無障礙工具按鈕 <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>。\n\n如要切換不同的服務，請輕觸並按住無障礙工具按鈕。"</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"如要開啟或關閉這項服務，請用兩指從螢幕底部向上滑動。\n\n如要切換不同的服務，請用兩指向上滑動並按住。"</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"如要開啟或關閉這項服務，請用三指從螢幕底部向上滑動。\n\n如要切換不同的服務，請用三指向上滑動並按住。"</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"如要開啟或關閉無障礙服務，請用兩指從螢幕底部向上滑動。\n\n如要切換不同的服務，請用兩指向上滑動並按住。"</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"如要開啟或關閉無障礙服務，請用三指從螢幕底部向上滑動。\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="2820923641553461297">"無障礙工具按鈕"</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="8922102767509399352">"輕觸畫面底部的無障礙工具按鈕 <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"使用 2 指從螢幕底部向上滑動"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"使用 3 指從螢幕底部向上滑動"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"按住音量鍵"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"同時按住調低及調高音量鍵 1 秒"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"輕觸螢幕三下"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"快速輕觸螢幕 3 下。這個快速鍵可能會減慢裝置運作速度。"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"進階"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"[無障礙] 按鈕已設為 <xliff:g id="SERVICE">%1$s</xliff:g>。如要使用放大功能，請輕觸並按住 [無障礙] 按鈕，然後選取 [放大]。"</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"無障礙手勢已設為「<xliff:g id="SERVICE">%1$s</xliff:g>」。如要使用放大功能，請用兩指從螢幕底部向上滑動並按住，然後選取 [放大]。"</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"音量快速鍵功能"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"快速鍵服務"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"快速鍵設定"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"在螢幕鎖定畫面中啟動"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"啟用快速鍵功能之後，同時按下音量調高和調低鍵 3 秒即可啟動無障礙功能。"</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"高對比文字"</string>
@@ -2149,24 +2157,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"選擇提示你進行操作的訊息會暫時顯示多久。\n\n只有部分應用程式支援這項設定。"</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"輕觸並按住的延遲時間"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"色彩反轉"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"可能會影響效能"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"停留時間"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"使用色彩反轉"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"色彩反轉可將明亮的螢幕畫面調暗，藉此讓對強光感到敏感的人享有更佳的觀看體驗。&lt;br/&gt;&lt;br/&gt;注意：系統會將深色轉為淺色，媒體和圖片中的色彩會因此有所改變。你也可以使用深色主題 (請前往 [設定] &gt; [顯示] 進行設定)。"</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"自動點擊 (停留時間)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"如果你使用滑鼠，可以將游標設為在停止移動一段時間後自動點擊。"</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"點擊前延遲"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"不使用自動點擊 (預設)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"短"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0.2 秒"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"中"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0.6 秒"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"長"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 秒"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"自訂"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"較短"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"較長"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"自動點擊時間"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"震動與觸覺回饋強度"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"通知震動"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"響鈴震動"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"觸覺回饋"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"使用服務"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"使用「<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>」"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"開啟「<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>」"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"使用色彩校正"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"使用字幕"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"顯示字幕"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"字幕外觀"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"文字大小、字幕樣式"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"更多選項"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"僅部分應用程式支援這項設定。"</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>
     <string name="accessibility_hearingaid_instruction_continue_button" msgid="3367260988024430722">"繼續"</string>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"助聽器"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"未連接任何助聽器"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"新增助聽器"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"如要配對助聽器，請在下一個畫面中找出並輕觸你的裝置。"</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"請確定你的助聽器已處於配對模式。"</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"如要配對助聽器，請在下一個畫面中找出並輕觸你的裝置。請確定你的助聽器已處於配對模式。"</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"已啟用「<xliff:g id="DEVICE_NAME">%1$s</xliff:g>」"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="other">已儲存 <xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> 個助聽器</item>
@@ -2178,25 +2204,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"這項服務發生異常。"</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"在快速設定中顯示"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"校正模式"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="other">延遲時間極短 (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> 毫秒)</item>
-      <item quantity="one">延遲時間極短 (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> 毫秒)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"紅 - 綠"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"綠 - 紅"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"藍 - 黃"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"綠色弱視"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"紅色弱視"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"藍色弱視"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="other">延遲時間極短 (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> 秒)</item>
+      <item quantity="one">延遲時間極短 (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> 秒)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="other">延遲時間很短 (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> 毫秒)</item>
-      <item quantity="one">延遲時間很短 (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> 毫秒)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="other">延遲時間很短 (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> 秒)</item>
+      <item quantity="one">延遲時間很短 (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> 秒)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="other">延遲時間短 (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> 毫秒)</item>
-      <item quantity="one">延遲時間短 (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> 毫秒)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="other">延遲時間短 (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> 秒)</item>
+      <item quantity="one">延遲時間短 (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> 秒)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="other">延遲時間長 (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> 毫秒)</item>
-      <item quantity="one">延遲時間長 (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> 毫秒)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="other">延遲時間長 (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> 秒)</item>
+      <item quantity="one">延遲時間長 (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> 秒)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="other">延遲時間很長 (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> 毫秒)</item>
-      <item quantity="one">延遲時間很長 (<xliff:g id="CLICK_DELAY_LABEL_0">%1$d</xliff:g> 毫秒)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="other">延遲時間很長 (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> 秒)</item>
+      <item quantity="one">延遲時間很長 (<xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> 秒)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> 秒</item>
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_0">%1$s</xliff:g> 秒</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"響鈴：<xliff:g id="SUMMARY_RING">%1$s</xliff:g>、通知：<xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>、輕觸：<xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"將鈴聲和通知震動設為關閉"</string>
@@ -2513,7 +2549,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"<xliff:g id="UNPLUGGED">%1$s</xliff:g> 前拔除插頭"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"電池整體使用狀況"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"重新整理"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"Android 作業系統"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"媒體伺服器"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"應用程式最佳化"</string>
     <string name="battery_saver" msgid="7737147344510595864">"節約耗電量"</string>
@@ -2594,8 +2629,7 @@
     <string name="tts_play" msgid="2945513377250757221">"播放"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">"憑證儲存空間"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"從裝置的儲存空間安裝"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"從 SD 卡安裝"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"安裝憑證"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"從裝置的儲存空間安裝憑證"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"從 SD 卡安裝憑證"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"清除憑證"</string>
@@ -2615,6 +2649,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"憑證儲存空間已清除。"</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"無法清除認證儲存空間。"</string>
     <string name="usage_access_title" msgid="1580006124578134850">"有權查看使用情況的應用程式"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"CA 憑證"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"VPN 和應用程式使用者憑證"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"Wi‑Fi 憑證"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"你正面臨隱私方面的風險"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"網站、應用程式和 VPN 會使用 CA 憑證進行加密，請勿安裝你不信任的機構所提供的 CA 憑證。\n\n 如果你安裝 CA 憑證，即使你的資訊 (例如密碼、訊息或信用卡資料) 已經過加密，憑證擁有者仍可透過你造訪的網站或你使用的應用程式存取上述資訊。"</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"不要安裝"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"仍要安裝"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"未安裝憑證"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"緊急撥號信號"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"設定撥打緊急電話時的運作方式"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"備份"</string>
@@ -2642,10 +2684,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"停用並解除安裝"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"裝置管理員應用程式"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"沒有可用的裝置管理員應用程式"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"個人"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"工作"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"限制簡訊和通話記錄存取權"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"只有預設使用的電話和簡訊應用程式擁有簡訊和通話記錄權限"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"沒有信任的代理程式可供使用"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"要啟用裝置管理員應用程式嗎？"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"啟用這個裝置管理員應用程式"</string>
@@ -2659,6 +2697,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"其他選項已由你的管理員停用"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"其他詳細資訊"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"通知記錄"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"通知記錄"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"今天"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"已延後的通知"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"最近關閉的通知"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> 則通知</item>
+      <item quantity="one"><xliff:g id="NUMBER_0">%d</xliff:g> 則通知</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"來電鈴聲與震動"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"網路詳細資料"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"同步處理已啟用"</string>
@@ -3008,7 +3054,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"限制"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"移除限制"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"變更 PIN 碼"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"顯示通知"</string>
     <string name="help_label" msgid="2896538416436125883">"說明與意見回饋"</string>
     <string name="support_summary" msgid="1034146931237148885">"說明文章、電話與即時通訊、開始使用"</string>
     <string name="user_account_title" msgid="6389636876210834864">"內容帳戶"</string>
@@ -3033,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G 通話功能"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"使用 LTE 服務提升語音通訊和其他通訊的品質 (建議)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"使用 4G 服務改善語音和其他通訊的品質 (建議)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"聯絡人探索"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"可讓電信業者瞭解聯絡人支援的通話功能。"</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"要啟用聯絡人探索功能嗎？"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"啟用這項功能後，電信業者將可存取聯絡人的電話號碼，以便瞭解這些電話號碼支援的通話功能。"</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"偏好的網路類型"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (建議)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"多媒體訊息"</string>
@@ -3077,7 +3126,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"選擇通話 SIM 卡"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"選取 SIM 卡"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"SIM <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"未插入 SIM 卡"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"SIM 卡名稱"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"輸入 SIM 卡名稱"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"SIM 卡插槽 %1$d"</string>
@@ -3087,6 +3135,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"選取 SIM 卡"</string>
     <string name="color_orange" msgid="216547825489739010">"橘色"</string>
     <string name="color_purple" msgid="6603701972079904843">"紫色"</string>
+    <string name="color_pink" msgid="8596872110888626708">"粉紅色"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"尚未插入 SIM 卡"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"SIM 卡狀態"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"SIM 卡狀態 (SIM 卡插槽 %1$d)"</string>
@@ -3100,7 +3149,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"SIM 卡已變更。"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"輕觸即可進行設定"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"適用於以下用途的偏好 SIM 卡"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"每次都詢問"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"請選取偏好設定"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"SIM 卡選項"</string>
@@ -3118,6 +3166,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"藍牙，行車模式"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"藍牙、NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"藍牙"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"NFC 已關閉，因此無法使用"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"應用程式和通知"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"最近使用的應用程式、預設應用程式"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"這個工作資料夾中的應用程式無法存取通知。"</string>
@@ -3128,13 +3177,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"設定"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"wifi, wi-fi, 網路連線, 網際網路, 無線, 數據, wi fi"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"Wi‑Fi 通知, wifi 通知"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"數據用量"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"停止震動, 輕觸, 鍵盤"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"使用 24 小時格式"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"下載"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"開啟方式"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"應用程式"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"時區"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"即時通訊頭像"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"即時通訊頭像, 系統, 快訊, 視窗, 對話方塊, 顯示, 在其他應用程式上層, 拉動"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"手電筒, 燈, 閃光燈"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"wifi, wi-fi, 切換, 控制"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"行動網路, 行動裝置, 電信業者, 無線, 數據, 4G, 3G, 2G, LTE"</string>
@@ -3158,7 +3208,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"零干擾, 干擾, 打擾, 中斷"</string>
     <string name="keywords_app" msgid="7983814237980258061">"RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"附近, 位置資訊, 記錄, 回報, 全球衛星定位系統"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"帳戶"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"帳戶、新增帳戶、工作資料夾、加入帳戶"</string>
     <string name="keywords_users" msgid="3497517660077620843">"限制, 限制, 受限"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"文字修正, 校正, 音效, 震動, 自動, 語言, 手勢, 建議, 字詞建議, 主題, 令人反感, 字詞, 輸入, 表情符號, 國際"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"重設, 偏好設定, 預設值"</string>
@@ -3196,6 +3246,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"記憶體, 快取, 資料, 刪除, 清除, 釋出, 空間"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"已連線, 裝置, 耳罩式耳機, 耳機, 喇叭, 無線, 配對, 耳塞式耳機, 音樂, 媒體"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"背景, 螢幕, 鎖定螢幕, 主題"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"圖示形狀, 強調色, 字型"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"預設,  Google 助理"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"付款, 預設"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"收到的通知"</string>
@@ -3205,18 +3256,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"觸動回饋, 震動, 敏感度"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"節約耗電量, 固定式, 保留, 省電功能, 電池"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"日常安排, 時間表, 節約耗電量, 節約電量, 電池, 自動, 百分比"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"工作資料"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"VoLTE, 進階通話功能, 4G 通話功能"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"新增語言, 新增一種語言"</string>
     <string name="default_sound" msgid="6604374495015245195">"預設音效"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"鈴聲音量為 <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"鈴聲和通知音量為 <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"音量、震動、零打擾"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"鈴聲已設為震動"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"鈴聲已設為靜音"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"鈴聲音量為 80%"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"鈴聲和通知音量為 80%"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"媒體音量"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"投放音量"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"通話音量"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"鬧鐘音量"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"鈴聲音量"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"鈴聲和通知音量"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"通知音量"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"電話鈴聲"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"預設通知音效"</string>
@@ -3224,6 +3276,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"預設通知音效"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"預設鬧鐘音效"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"來電震動"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"一律不震動"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"一律震動"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"先震動後逐漸響鈴"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"其他音效"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"撥號鍵盤音效"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"螢幕鎖定音效"</string>
@@ -3247,6 +3302,7 @@
       <item quantity="one">已啟用 1 項排程</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"零打擾"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"僅接收重要聯絡人和應用程式的通知"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"降低干擾"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"開啟「零打擾」模式"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"例外狀況"</string>
@@ -3273,7 +3329,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>：<xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"封鎖視覺干擾"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"允許視覺信號"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"開啟「零打擾」模式時"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"允許發出音效的干擾"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"限制通知"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"不發出通知音效"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"你將會在畫面上看到通知"</string>
@@ -3304,7 +3360,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"音效和震動"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"通知的音效、震動和部分視覺符號"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"通知的音效、震動和視覺符號"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"基本手機活動和狀態所需的通知一律不會隱藏"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"系統將一律不隱藏基本手機活動和狀態的必要通知。"</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"無"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"其他選項"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"新增"</string>
@@ -3334,10 +3390,12 @@
       <item quantity="other">系統可以自動啟用 <xliff:g id="ON_COUNT">%d</xliff:g> 項排程</item>
       <item quantity="one">系統可以自動啟用 1 項排程</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"將裝置設為靜音 (例外狀況除外)"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"例外狀況"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"設定時間"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"查看所有例外狀況"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"開啟「零打擾」模式時的例外狀況"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"聯絡人"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"應用程式"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"鬧鐘和其他干擾"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"排程"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"設為靜音的通知"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"開啟「零打擾」模式時，系統會將音效和震動設為靜音 (你在上方允許的項目除外)。"</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"全部設為靜音，除了"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"已設為靜音"</string>
@@ -3381,16 +3439,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"自動調整通知"</string>
     <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_capabilities_actions_replies_title" msgid="4392470465646394289">"建議採取的動作和回覆"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"自動顯示建議採取的動作和回覆"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"開啟通知記錄即可追蹤過去的通知和已延後的通知"</string>
+    <string name="notification_history" msgid="8663811361243456201">"通知記錄"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"開啟記錄功能"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"關閉記錄功能"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"通知記錄已關閉"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"查看通知設定"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"允許顯示通知延後選項"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"隱藏無聲通知的圖示"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"無聲通知的圖示不會顯示在狀態列中"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"允許使用通知圓點"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"顯示近期對話列"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"泡泡"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"部分通知可能會以泡泡形式顯示在畫面上"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"部分通知和其他內容可能會以泡泡形式顯示在畫面上。輕觸泡泡即可將其開啟，將泡泡向畫面下方拖曳則可將其關閉。"</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"泡泡"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"螢幕上會顯示新訊息"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」以泡泡形式顯示部分通知"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"啟用泡泡功能"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"必須先啟用裝置的泡泡功能，才能啟用這個應用程式的泡泡功能。這麼做會影響先前已啟用泡泡功能的其他應用程式。"</string>
@@ -3408,6 +3476,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"顯示在下拉式通知欄和螢幕鎖定畫面中"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"顯示在下拉式通知欄和狀態列中"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"顯示在下拉式通知欄、狀態列和螢幕鎖定畫面中"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"隱藏狀態列中的靜音通知"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"閃爍燈光"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"螢幕鎖定"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"略過螢幕鎖定程序"</string>
@@ -3438,6 +3507,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"行為"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"開啟音效"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"一律不顯示通知"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"對話"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"對話"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"非對話"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"從對話部分中移除"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"這是對話"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"新增至對話部分"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"管理對話"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"重要對話"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"所有對話"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"以泡泡的形式顯示重要對話"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"重要對話會顯示在下拉式通知欄的頂端。你也可以設定讓重要對話以泡泡的形式顯示，並允許系統在「零打擾」模式下顯示這類泡泡。"</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"無聲顯示並最小化"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"顯示通知但不發出音效"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"發出音效"</string>
@@ -3456,7 +3536,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"協助你不受音效或震動干擾"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"發出音效或震動吸引你的注意力"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"裝置處於解鎖狀態時，在螢幕頂端以橫幅形式顯示通知"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"顯示通知"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"「<xliff:g id="APP_NAME">%1$s</xliff:g>」的所有通知"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"自動調整通知"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="other">每天大約 <xliff:g id="NUMBER_1">%d</xliff:g> 則通知</item>
@@ -3477,6 +3557,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"自動調整通知"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"無"</string>
     <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="3119843404577399036">"<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>
@@ -3538,8 +3619,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"完成"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"重要性"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"閃爍燈光"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"震動"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"震動"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"音效"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"重要"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"新增至主螢幕"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"刪除"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"重新命名"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"排程名稱"</string>
@@ -3593,6 +3676,10 @@
       <item quantity="other">另外 <xliff:g id="NUM_PEOPLE">%d</xliff:g> 人</item>
       <item quantity="one">另外 1 人</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"對話"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"來自所有對話"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"來自重要對話"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"不允許任何對話"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"允許顯示訊息"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"如要確認允許的訊息是否會發出音效，請檢查你的裝置目前設為響鈴、震動還是靜音。"</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"系統會在「<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>」排程進行時封鎖訊息。你可以調整設定，讓好友、家人或其他聯絡人可以聯絡你。"</string>
@@ -3606,15 +3693,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"無"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"不允許任何通話"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"不允許任何訊息"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"允許播放鬧鐘音效"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"鬧鐘"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"計時器、鬧鐘、安全系統和其他應用程式的通知"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"鬧鐘"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"播放媒體音效"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"媒體音效"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"影片、遊戲和其他媒體的音效"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"媒體"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"允許播放觸控音效"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"觸控音效"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"鍵盤和其他按鈕的觸控音效"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"觸控音效"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"允許顯示提醒/播放提醒音效"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"提醒"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"工作和提醒的通知/音效"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"提醒"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"允許顯示活動通知/播放活動通知音效"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"活動"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"近期日曆活動的通知/音效"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"允許應用程式覆寫"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"例外應用程式"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3657,6 +3749,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"允許「零打擾」模式設為靜音的通知開啟螢幕"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"通知設定"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"確定"</string>
+    <string name="suggestion_button_close" msgid="6865170855573283759">"關閉"</string>
     <string name="device_feedback" msgid="5351614458411688608">"傳送你對這個裝置的意見"</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"輸入管理員 PIN 碼"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"開啟"</string>
@@ -3667,6 +3760,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"取消固定時必須輸入 PIN 碼"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"取消固定時必須輸入密碼"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"取消固定時鎖定裝置"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"SIM 卡刪除確認"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"你必須先驗證身分，才能清除已下載的 SIM 卡"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"這個工作資料夾是由下列應用程式管理："</string>
     <string name="managing_admin" msgid="2633920317425356619">"由 <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g> 管理"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(實驗性)"</string>
@@ -3741,8 +3836,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"所有應用程式"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"已安裝的應用程式"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"免安裝應用程式"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"個人"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"工作"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"應用程式：全部"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"已關閉"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"類別：緊急重要性"</string>
@@ -3754,6 +3847,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"不明的應用程式"</string>
     <string name="app_permissions" msgid="8666537659217653626">"權限管理員"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"目前使用<xliff:g id="APPS">%1$s</xliff:g>的應用程式"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"有權存取<xliff:g id="APPS">%1$s</xliff:g>和其他項目的應用程式"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"輕觸即可喚醒"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"在螢幕上任一處輕觸兩下即可喚醒裝置"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"開啟連結"</string>
@@ -3765,9 +3859,14 @@
       <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> 個應用程式可開啟支援的連結</item>
       <item quantity="one">1 個應用程式可開啟支援的連結</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"在這個應用程式中開啟"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"允許應用程式開啟支援的連結"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"每次都詢問"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"不要在這個應用程式中開啟"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"不允許應用程式開啟連結"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="other">應用程式要求處理 <xliff:g id="COUNT_1">%d</xliff:g> 個連結</item>
+      <item quantity="one">應用程式要求處理 <xliff:g id="COUNT_0">%d</xliff:g> 個連結</item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"應用程式要求處理以下連結："</string>
     <string name="default_apps_title" msgid="6943471331817718664">"預設"</string>
     <string name="default_for_work" msgid="537558180548617528">"Work 預設值"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"小幫手和語音輸入"</string>
@@ -3911,8 +4010,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"顯示在其他應用程式上層"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"允許顯示在其他應用程式上層"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"允許此應用程式顯示在畫面上層 (覆蓋你使用的其他應用程式)。這可能會干擾你使用相關的應用程式，或是影響它們的顯示或運作方式。"</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"所有檔案的存取權"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"授予管理所有檔案的權限"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"允許這個應用程式讀取、修改及刪除這部裝置或任何已連結儲存空間上的所有檔案。如果應用程式獲得授權，可能會在你不知情的情況下存取檔案。"</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"可以存取所有檔案"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"vr 虛擬實境 接聽器 音響 小幫手 服務"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"系統快訊視窗對話方塊在其他應用程式上層顯示"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"顯示在其他應用程式上層"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"<xliff:g id="COUNT_0">%1$d</xliff:g> 個應用程式可以顯示在其他應用程式上層 (共 <xliff:g id="COUNT_1">%2$d</xliff:g> 個應用程式)"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"具備權限的應用程式"</string>
@@ -4078,6 +4180,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"已使用 <xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g>"</string>
     <string name="data_overusage" msgid="3680477320458707259">"超過 <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="data_remaining" msgid="6316251496381922837">"還剩 <xliff:g id="ID_1">^1</xliff:g>"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"這張圖表顯示 <xliff:g id="START_DATE">%1$s</xliff:g>到 <xliff:g id="END_DATE">%2$s</xliff:g>之間的數據用量。"</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"這個日期範圍內沒有資料"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="other">剩下 %d 天</item>
       <item quantity="one">剩下 %d 天</item>
@@ -4141,14 +4245,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"包裹大小"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"已發出通知"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"音效"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"震動"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"圖案"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"預設"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"頻道"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"無"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"缺少排名物件。"</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"排名物件不包含這組金鑰。"</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"主題設定"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"裝置預設設定"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"螢幕凹口"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"螢幕凹口, 凹口"</string>
@@ -4237,8 +4337,12 @@
     <string name="information_label" msgid="6939310810756569298">"資訊"</string>
     <string name="low_label" msgid="6525629096999711220">"低"</string>
     <string name="high_label" msgid="357503396626018487">"高"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"如果你調高敏感度，可能會影響針對螢幕邊緣執行的應用程式。"</string>
+    <string name="left_edge" msgid="1513576842959071849">"左側邊緣"</string>
+    <string name="right_edge" msgid="1505309103265829121">"右側邊緣"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"如果你調高敏感度，可能影響會用到螢幕邊緣的手勢。"</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"系統偵測「返回」手勢的敏感度"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"手勢設定"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"手勢操作, 系統偵測「返回」手勢的敏感度,「返回」手勢"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"輕觸兩下手機即可查看"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"輕觸兩下平板電腦即可查看"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"輕觸兩下裝置即可查看"</string>
@@ -4393,7 +4497,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"觸發電信業者佈建程序"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"更新「零打擾」模式"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"暫停通知以保持專注"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"這個裝置不支援此功能"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"無法使用此功能"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"這項功能會降低你的手機速度，因此已由系統停用"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"強制啟用完整的 GNSS 測量資料"</string>
@@ -4403,20 +4506,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"選取已啟用 ANGLE 的應用程式"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"未設定已啟用 ANGLE 的應用程式"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"已啟用 ANGLE 的應用程式：<xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"遊戲驅動程式偏好設定"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"修改遊戲驅動程式設定"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"啟用遊戲驅動程式後，你可以為安裝在裝置上的應用程式選擇是否使用最新版的繪圖驅動程式。"</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"為所有應用程式啟用這項設定"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"選取繪圖驅動程式"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"預設"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"遊戲驅動程式"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"預先發布版驅動程式"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"系統繪圖驅動程式"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"繪圖驅動程式偏好設定"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"修改繪圖驅動程式設定"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"如果你具備多個繪圖驅動程式，你可以為安裝在裝置上的應用程式選擇是否使用最新版的繪圖驅動程式。"</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"為所有應用程式啟用這項設定"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"選取繪圖驅動程式"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"預設"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"遊戲驅動程式"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"開發人員驅動程式"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"系統繪圖驅動程式"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"應用程式相容性異動"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"切換應用程式相容性變更"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"預設啟用的應用程式有相容性異動"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"預設停用的應用程式有相容性異動"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"這支手機不支援這項設定"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"這台平板電腦不支援這項設定"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"這個裝置不支援這項設定"</string>
@@ -4435,6 +4544,12 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"裝置"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"通話時無法使用"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"無法使用"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"新增輸出裝置"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"群組"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"已選取 1 部裝置"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"已選取 <xliff:g id="COUNT">%1$d</xliff:g> 部裝置"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"接聽來電時使用的裝置"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"這個 APN 無法變更。"</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"延長平板電腦的電池續航力"</string>
@@ -4552,10 +4667,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"你一次只能啟用一張已下載的 SIM 卡。\n\n切換至「<xliff:g id="CARRIER1">%1$s</xliff:g>」不會取消「<xliff:g id="CARRIER2">%2$s</xliff:g>」的服務。"</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"切換至「<xliff:g id="CARRIER">%1$s</xliff:g>」"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"清除 SIM 卡"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"要清除這張已下載的 SIM 卡嗎？"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"清除這張 SIM 卡會同時從這個裝置中移除「<xliff:g id="CARRIER_0">%1$s</xliff:g>」服務。\n\n「<xliff:g id="CARRIER_1">%2$s</xliff:g>」服務不會因此遭到取消。"</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"清除"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"正在清除 SIM 卡…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"無法清除 SIM 卡"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"發生錯誤，因此無法清除這張 SIM 卡。\n\n請重新啟動你的裝置，然後再試一次。"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"偏好的網路類型"</string>
@@ -4580,7 +4691,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"網路模式 <xliff:g id="NETWORKMODEID">%1$d</xliff:g> 無效。忽略。"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"存取點名稱"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"無法在連線到「<xliff:g id="CARRIER">%1$s</xliff:g>」時使用"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"醫療資訊、緊急聯絡人"</string>
     <string name="see_more" msgid="7499355691042812723">"顯示更多"</string>
     <string name="see_less" msgid="2642392725363552793">"顯示較少"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"搭配「<xliff:g id="APPNAME">%1$s</xliff:g>」使用的裝置"</string>
@@ -4589,11 +4699,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"網路連線發生錯誤，因此應用程式已取消選擇裝置的要求。"</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"連線成功"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"全部顯示"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> 個已連線的裝置</item>
-      <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_0">%1$d</xliff:g> 個已連線的裝置</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"沒有任何藍牙裝置"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"正在搜尋裝置…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"正在連線到裝置…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"左耳機"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"右耳機"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"充電盒"</string>
@@ -4603,6 +4710,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"飛航模式開啟時無法使用"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"強制使用桌面模式"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"在次要顯示器上強制使用桌面模式實驗性功能"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"啟用自由形式大小"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"允許無法調整大小的應用程式維持自由形式"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"覆寫強制使用深色模式的功能"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"覆寫強制使用深色模式的功能，讓系統一律開啟這個模式"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"隱私"</string>
@@ -4639,6 +4748,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"你最近安裝了這個應用程式。"</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"切換輸出裝置"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"目前正在「<xliff:g id="DEVICE_NAME">%1$s</xliff:g>」上播放"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (已中斷連線)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"無法切換，輕觸即可重試。"</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"重要資訊"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"繼續"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"不用了，謝謝"</string>
@@ -4666,8 +4777,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"SIM 卡組合"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"你的工作政策資訊"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"由你的 IT 管理員管理的設定"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"錯誤報告處理常式"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"決定裝置上的哪些應用程式可控管「錯誤報告」捷徑。"</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"個人"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"工作"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"系統預設"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"這個選項已失效，請再試一次。"</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"停止投放"</string>
 </resources>
diff --git a/res/values-zu/arrays.xml b/res/values-zu/arrays.xml
index 9a31ab4..cdf0474 100644
--- a/res/values-zu/arrays.xml
+++ b/res/values-zu/arrays.xml
@@ -50,6 +50,7 @@
   </string-array>
     <!-- no translation found for dark_ui_scheduler_preference_titles:0 (7465697698048662118) -->
     <!-- no translation found for dark_ui_scheduler_preference_titles:1 (4057198235664064478) -->
+    <!-- no translation found for dark_ui_scheduler_preference_titles:2 (8842756744447000897) -->
   <string-array name="lock_after_timeout_entries">
     <item msgid="2223808927866488981">"Ngokushesha"</item>
     <item msgid="463591454172790676">"5 amasekhondi"</item>
@@ -97,6 +98,12 @@
   </string-array>
     <!-- no translation found for wifi_tether_security:0 (6312112980634811065) -->
     <!-- no translation found for wifi_tether_security:1 (1428294025896439258) -->
+  <string-array name="eap_ocsp_type">
+    <item msgid="7202884222741437608">"Ungaqinisekisi"</item>
+    <item msgid="5703177653586269306">"Cela isimo sesitifiketi"</item>
+    <item msgid="326388247868439528">"Kudinga isimo sesitifiketi"</item>
+    <item msgid="1090956283885790552">"Kudinga zonke izimo zesitifiketi ezingathembeki"</item>
+  </string-array>
   <string-array name="wifi_p2p_wps_setup">
     <item msgid="1446717102923442720">"Cindezela inkinobho"</item>
     <item msgid="2630618799033509548">"Iphinikhodi kusuka kudivaysisi yabangani"</item>
@@ -199,6 +206,7 @@
     <item msgid="1396997182108950268">"1xRTT"</item>
     <item msgid="3658086883471544773">"IS95B"</item>
     <item msgid="6208908029106498824">"IS95A"</item>
+    <item msgid="5043127102327682718">"I-NR"</item>
   </string-array>
   <string-array name="mvno_type_entries">
     <item msgid="1909908032710683029">"Lutho"</item>
@@ -404,6 +412,9 @@
     <item msgid="3792393562235791509">"i-IPSec VPN nokhiye ababelanwe ngabo nokufakazela ubuqiniso be-Xauth"</item>
     <item msgid="2484564813864139237">"i-IPSec VPN kanye nezitifiketi nokufakazela ubuqiniso be-Xauth"</item>
     <item msgid="68918911194507915">"i-IPSec VPN nezitifiketi nokufakazela ubuqiniso nge-hybrid"</item>
+    <item msgid="4631647675167100375">"IKEv2/IPSec VPN enezitifiketi nokugunyaza kwegama lomsebenzisi/iphasiwedi"</item>
+    <item msgid="8812228622975052811">"IKEv2/IPSec VPN nokhiye okwabeliswaniwa ngabo"</item>
+    <item msgid="6630554779981113046">"IKEv2/IPSec VPN nezitifiketi"</item>
   </string-array>
   <string-array name="vpn_proxy_settings">
     <item msgid="7165538292837266997">"Lutho"</item>
diff --git a/res/values-zu/config.xml b/res/values-zu/config.xml
index e869fef..6b1e0fb 100644
--- a/res/values-zu/config.xml
+++ b/res/values-zu/config.xml
@@ -17,5 +17,4 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="config_backup_settings_label" msgid="1623475653989899715"></string>
-    <string name="config_grayscale_settings_intent" msgid="5355804456020511993"></string>
 </resources>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index 826f778..c6ed1e2 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -31,49 +31,17 @@
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Sicela unike amandla izinketho zokuthuthukisa kuqala."</string>
     <string name="header_category_wireless_networks" msgid="303445626075235229">"Okugenantambo namanethiwekhi"</string>
     <string name="header_category_system" msgid="1665516346845259058">"Isistimu"</string>
-    <string name="radio_info_data_connection_enable" msgid="7500945447906187613">"Vumela uxhumano lwedatha"</string>
-    <string name="radio_info_data_connection_disable" msgid="8604841967700865652">"Khubaza uxhumano lwedatha"</string>
-    <string name="volte_provisioned_switch_string" msgid="8934098342370970223">"Okunikeziwe kwe-VoLTE"</string>
-    <string name="vt_provisioned_switch_string" msgid="4355464240965212513">"Kugunyazwe ukushaya kwevidiyo"</string>
-    <string name="wfc_provisioned_switch_string" msgid="4422170900830707226">"Kugunyazwe ukushaya kwe-Wifi"</string>
-    <string name="eab_provisioned_switch_string" msgid="7587292685146545260">"I-EAB/Ukuba khona kunikezelwe"</string>
-    <string name="cbrs_data_switch_string" msgid="2896574015153905035">"Idatha ye-Cbrs"</string>
-    <string name="dsds_switch_string" msgid="4907365444013155133">"Nika amandla i-DSDS"</string>
-    <string name="dsds_dialog_title" msgid="3668611910354782795">"Qalisa kabusha idivayisi?"</string>
-    <string name="dsds_dialog_message" msgid="3639495712738363729">"Udinga ukuqalisa kabusha idivayisi yakho ukushintsha lesi silungiselelo."</string>
-    <string name="dsds_dialog_confirm" msgid="5067018824061453057">"Qala kabusha"</string>
-    <string name="dsds_dialog_cancel" msgid="5219602208973199952">"Khansela"</string>
-    <string name="radio_info_radio_power" msgid="4369440062342571382">"Amandla erediyo yeselula"</string>
-    <string name="radioInfo_menu_viewADN" msgid="6868137648019216349">"Buka incwadi yekheli le-SIM"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="8653892983154225208">"Buka Izinombolo Zokudayela Okungaguquki"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="3924796159215442726">"Buka Izinombolo Zokudayela Isevisi"</string>
-    <string name="radioInfo_menu_getIMS" msgid="6757606210635403027">"Isimo sesevisi ye-IMS"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="8795239519507698646">"Isimo se-IMS"</string>
-    <string name="radio_info_ims_reg_status_registered" msgid="4879423105696709569">"Kubhalisiwe"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="4077921618888195960">"Akubhalisiwe"</string>
-    <string name="radio_info_ims_feature_status_available" msgid="8993855603692847184">"Kuyatholakala"</string>
-    <string name="radio_info_ims_feature_status_unavailable" msgid="6863496498730629050">"Ayitholakali"</string>
-    <string name="radio_info_ims_reg_status" msgid="7485500436613134869">"Ukubhalisa kwe-IMS: <xliff:g id="STATUS">%1$s</xliff:g>\nI-Voice over LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nI-Voice over WiFi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nUkushaya kwevidiyo: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT isixhumi esibonakalayo: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"Kwisevisi"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Ayikho isevisi"</string>
     <string name="radioInfo_service_emergency" msgid="6838935881091760942">"Amakholi aphuthumayo kuphela"</string>
     <string name="radioInfo_service_off" msgid="6184928420860868571">"Irediyo ivaliwe"</string>
     <string name="radioInfo_roaming_in" msgid="8892550453644088692">"Iyazulazula"</string>
     <string name="radioInfo_roaming_not" msgid="3137594549464975054">"Ayizulazuli"</string>
-    <string name="radioInfo_phone_idle" msgid="5310342873119295351">"Okungenzi lutho"</string>
-    <string name="radioInfo_phone_ringing" msgid="1360894968062218051">"Iyakhala"</string>
-    <string name="radioInfo_phone_offhook" msgid="297799336906183726">"Ikholi iyaqhubeka"</string>
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"Ayixhunyiwe kwi-inthanethi"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"Ixhunyiwe"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"Ixhunyiwe"</string>
     <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Kumiswe okwesikhashana"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Akwaziwa"</string>
-    <string name="radioInfo_display_packets" msgid="8666551670406026640">"amaphakethe"</string>
-    <string name="radioInfo_display_bytes" msgid="5176608882540495361">"amabhaythi"</string>
-    <string name="radioInfo_display_dbm" msgid="4007347116017337654">"dBm"</string>
-    <string name="radioInfo_display_asu" msgid="7624383058472383864">"asu"</string>
-    <string name="radioInfo_lac" msgid="903689355872809325">"LAC"</string>
-    <string name="radioInfo_cid" msgid="8310177269682108070">"CID"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"Yehlisa isitoreji se-USB"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"Khipha ikhadi le-SD"</string>
     <string name="sdcard_format" product="nosdcard" msgid="3248760426252305366">"Sula isitoreji se-USB"</string>
@@ -83,7 +51,6 @@
     <string name="font_size_summary" msgid="1296835853522566260">"Yenza umbhalo okusikrini ube mncane noma mkhulu."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Yenza kube kuncane"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Yenza kube kukhulu"</string>
-    <string name="font_size_preview_text" msgid="5578792111916168343">"Servez à ce monsieur une bière et des kiwis."</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"Isampuli yombhalo"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"I-The Wonderful Wizard of Oz"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"Isahluko 11: The Wonderful Emerald City of Oz"</string>
@@ -174,9 +141,9 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_message" msgid="8333029144800835996">"Udinga ukuqalisa kabusha idivayisi yakho ukushintsha lesi silungiselelo."</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_confirm" msgid="3488695418187553566">"Qala kabusha"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel" msgid="4930826928585464191">"Khansela"</string>
-    <string name="connected_device_available_media_title" msgid="8531194778265628127">"Amadivayisi atholakalayo emidiya"</string>
-    <string name="connected_device_available_call_title" msgid="7605773870782658083">"Amadivayisi atholakalayo ekholi"</string>
-    <string name="connected_device_connected_title" msgid="9204460090990817231">"Kuxhunyiwe manje"</string>
+    <string name="connected_device_media_device_title" msgid="3783388247594566734">"Amadivayisi emidiya"</string>
+    <string name="connected_device_call_device_title" msgid="88732390601723608">"Shayela amadivayisi"</string>
+    <string name="connected_device_other_device_title" msgid="4652120430615729193">"Amanye amadivayisi"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Amadivayisi alondoloziwe"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"I-Bluetooth izovula ukuze ibhanqe"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Izinketho zoxhumo"</string>
@@ -209,46 +176,10 @@
     <string name="proxy_error_invalid_port" msgid="2830054691770209166">"Imbobo oyithayiphile ayilungile."</string>
     <string name="proxy_warning_limited_support" msgid="3277104160797351942">"Iphrokzi ye-HTTP isetshenziswa isiphequluli kodwa kungenzeka ingasetshenziswa ezinye izinhlelo zokusebenza"</string>
     <string name="proxy_url_title" msgid="3502625766036404073">"I-PAC URL: "</string>
-    <string name="radio_info_subid" msgid="7327800379827284836">"I-subId yamanje:"</string>
-    <string name="radio_info_dds" msgid="4170740686898792195">"I-SubId ye-SIM yedatha yokuzenzakalela:"</string>
-    <string name="radio_info_dl_kbps" msgid="2881272681619183358">"Umkhawulokudonsa we-DL (kbps):"</string>
-    <string name="radio_info_ul_kbps" msgid="7803946965237104599">"Umkhawulokudonsa we-UL (kbps):"</string>
-    <string name="radio_info_signal_location_label" msgid="1736165284575303917">"Ulwazi lwendawo lweseli (kwehlisiwe):"</string>
-    <string name="radio_info_phy_chan_config" msgid="6097618338120723281">"Ukulungiselelwa okuphathekayo kwesiteshi se-LTE:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="241009784379188617">"Isilinganiso sokuqalisa kabusha solwazi lweseli:"</string>
-    <string name="radio_info_cellinfo_label" msgid="4284529077586993923">"Ulwazi lwesilinganiso seseli:"</string>
-    <string name="radio_info_gprs_service_label" msgid="3733917071929608133">"Isevisi yedatha:"</string>
-    <string name="radio_info_roaming_label" msgid="8376970228207513419">"Ukuzulazula:"</string>
-    <string name="radio_info_imei_label" msgid="8768028106987976248">"IMEI:"</string>
-    <string name="radio_info_call_redirect_label" msgid="6964847242415886703">"Ukuqondisa kabusha ikholi:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="1714896740900243345">"Inani lokuhlelwa kabusha kwe-PPP ngenkathi igcina ukuqala"</string>
-    <string name="radio_info_current_network_label" msgid="686668370205363838">"Inethiwekhi yamanje:"</string>
-    <string name="radio_info_ppp_received_label" msgid="1290363531874292574">"Idatha Etholiwe:"</string>
-    <string name="radio_info_gsm_service_label" msgid="247102877123202571">"Isevisi yezwi:"</string>
-    <string name="radio_info_signal_strength_label" msgid="6135020763466924127">"Amandla esiginali:"</string>
-    <string name="radio_info_call_status_label" msgid="961125819952596454">"Isimo sekholi yezwi:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="1241621472160491978">"Idatha ithunyelwe:"</string>
-    <string name="radio_info_message_waiting_label" msgid="3956809623143614299">"Umlayezo ulindile:"</string>
-    <string name="radio_info_phone_number_label" msgid="574486595407781377">"Inombolo yefoni:"</string>
-    <string name="radio_info_band_mode_label" msgid="3476369593146703531">"Khetha ibhendi yerediyo"</string>
-    <string name="radio_info_voice_network_type_label" msgid="5258745525673807882">"Uhlobo lwenethiwekhi yezwi:"</string>
-    <string name="radio_info_data_network_type_label" msgid="3047409597161924725">"Uhlobo lwenethiwekhi yedatha:"</string>
-    <string name="phone_index_label" msgid="4363452876038885914">"Khetha inkomba yefoni"</string>
-    <string name="radio_info_set_perferred_label" msgid="8401641174699255350">"Setha uhlobo lwenethiwekhi olufisekayo:"</string>
     <string name="radio_info_ping_hostname_v4" msgid="4790577760885127088">"Qhweba i-Hostname(www.google.com) IPv4:"</string>
     <string name="radio_info_ping_hostname_v6" msgid="8327436534663560713">"Qhweba i-Hostname(www.google.com) IPv6:"</string>
     <string name="radio_info_http_client_test" msgid="5673975677271544085">"Ukuhlola ikhasimende ye-HTTP:"</string>
     <string name="ping_test_label" msgid="265427033290391845">"Yenza ukuhlola kokuntwiza"</string>
-    <string name="radio_info_smsc_label" msgid="8791850754231448677">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5188170141348184882">"Buyekeza"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8649680071647954564">"Qala kabusha"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="8385222188363594645">"Guqula ukuhlola i-DNS"</string>
-    <string name="oem_radio_info_label" msgid="4435487925582197844">"Ulwazi oucacile kwe-OEM/Izilungiselelo"</string>
-    <string name="band_mode_title" msgid="6203249435902326774">"Isetha imodi yebhendi yerediyo"</string>
-    <string name="band_mode_loading" msgid="5858249248306279569">"Ilayisha uhlu lwebhendi..."</string>
-    <string name="band_mode_set" msgid="494968379352406359">"Hlela"</string>
-    <string name="band_mode_failed" msgid="7171137302312882111">"Akuphumelelanga"</string>
-    <string name="band_mode_succeeded" msgid="4987605828933549780">"Kuphumelele"</string>
     <string name="sdcard_changes_instructions" msgid="2331969501845866957">"Izinguquko zenzeka lapho ikhebula ye-USB ixhunyiwe kabusha"</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="129059989000252994">"Nika amandla isitoreji esiphezulu se-USB"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="5298511430610207103">"Inani lamabhaythi:"</string>
@@ -285,10 +216,7 @@
     <string name="action_drag_label_move_bottom" msgid="6266165197792827003">"Isa phansi"</string>
     <string name="action_drag_label_remove" msgid="1034900377796780568">"Susa ulimi"</string>
     <string name="activity_picker_label" msgid="351250401590691126">"Khetha okwenziwayo"</string>
-    <string name="device_info_label" msgid="2935198177248803716">"Ulwazi lwedivaysi"</string>
     <string name="display_label" msgid="3056320781191343221">"Isikrini"</string>
-    <string name="phone_info_label" product="tablet" msgid="7518199097113911566">"Ulwazi lethebhulethi"</string>
-    <string name="phone_info_label" product="default" msgid="1824896269282225602">"Ulwazi lwefoni"</string>
     <string name="sd_card_settings_label" product="nosdcard" msgid="1850505156136467106">"Isitoreji se-USB"</string>
     <string name="sd_card_settings_label" product="default" msgid="8715502912796241588">"Ikhadi le-SD"</string>
     <string name="proxy_settings_label" msgid="6300573815025557843">"Izilungiselelo zommeleli"</string>
@@ -306,9 +234,6 @@
     <string name="airplane_mode" msgid="3196085857882526817">"Imodi yendiza"</string>
     <string name="wireless_networks_settings_title" msgid="8557542379234105369">"Amanethiwekhi; nokungenantambo"</string>
     <string name="radio_controls_summary" msgid="9028430178697624501">"Phatha i-Wi-Fi, i-Bluetooth, imodi yendiza, amanethiwekhi eselula; nama-VPN"</string>
-    <string name="cellular_data_title" msgid="8072108204621057526">"Idatha yeselula"</string>
-    <string name="calls_title" msgid="6334813967619899114">"Vumela amakholi"</string>
-    <string name="sms_messages_title" msgid="9152493525985640011">"Imilayezo ye-SMS"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"Vumela ukusetshenziswa kwedatha ngenethiwekhi yeselula"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"Vumela ukusetshenziswa kwedatha uma izula"</string>
     <string name="roaming" msgid="3055365654530847985">"Iyazulazula"</string>
@@ -316,9 +241,9 @@
     <string name="roaming_disable" msgid="729512894708689604">"Xhuma kumasevisi edatha lapho uzulazula"</string>
     <string name="roaming_reenable_message" msgid="5150423860521673540">"Ulahlekelwe uxhumano lwedatha ngoba ushiye inethiwekhi yakho yasekhaya inokuzulazula kwedatha kuvaliwe."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"Yivule"</string>
-    <string name="roaming_warning" msgid="8108744874738165518">"Ungathola izindleko ezithile."</string>
-    <string name="roaming_warning_multiuser" product="tablet" msgid="3277793097556822693">"Uma uvumela ukuzulazula kwedatha, ungahle ufake ebucayini amashaji okuzula amancane!\n\nLesi silungiselelwa sithinta bonke abasebenzisi kule thebulethi."</string>
-    <string name="roaming_warning_multiuser" product="default" msgid="3187223947019963356">"Uma uvumela ukuzulazula kwedatha, ungahle ufake ebucayini amashaji okuzula amancane!\n\nLesi silungiselelwa sithinta bonke abasebenzisi kule foni."</string>
+    <string name="roaming_warning" msgid="7703647889040229013">"Izindleko zokuzula zingahle zisebenze."</string>
+    <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"Uma uvumela ukuzulazula kwedatha, izindleko zokuzula zingasebenza.\n\nLesi silungiselelo sithinta bonke abasebenzisi kule thebulethi."</string>
+    <string name="roaming_warning_multiuser" product="default" msgid="3693719745119874126">"Uma uvumela ukuzulazula kwedatha, izindleko zokuzula zingasebenza.\n\nLesi silungiselelo sithinta bonke abasebenzisi kule foni."</string>
     <string name="roaming_reenable_title" msgid="770824950144026180">"Vumela ukuhamba kwedatha?"</string>
     <string name="networks" msgid="5184501333492775095">"Inketho yo-opheretha"</string>
     <string name="sum_carrier_select" msgid="1669911795517995916">"Khetha inkamapani yenethiwekhi"</string>
@@ -359,8 +284,6 @@
     <string name="security_enable_widgets_disabled_summary" msgid="5191637768484254146">"Kukhutshazwe umlawuli"</string>
     <string name="lockdown_settings_title" msgid="8988970335658365075">"Bonisa inketho yokukhiya"</string>
     <string name="lockdown_settings_summary" msgid="7422522013953398806">"Bonisa inketho yenkinobho yamandla evala i-Smart Lock, ukuvulwa kwe-biometric, nezaziso ekukhiyeni isikrini"</string>
-    <string name="trust_agents_extend_unlock_title" msgid="6704799119336718965">"Ukwethemba abenzeli kukhulisa ukuvula"</string>
-    <string name="trust_agents_extend_unlock_summary" msgid="2567077920329962827">"Uma kunikwe amandla, abasebenzeli bokwethembeka bazogcina idivayisi yakho ivulekile isikhathi eside, ngeke bakwazi ukuvula idivayisi ekhiyiwe."</string>
     <string name="trust_lost_locks_screen_title" msgid="4231232144565291276">"Khiya isikrini uma ukwethemba kulahleka"</string>
     <string name="trust_lost_locks_screen_summary" msgid="718374221849537361">"Uma kunikwe amandla, idivayisi izokhiya uma umsebenzeli wokwethemba alahlekelwa ukwethembeka"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"Lutho"</string>
@@ -390,7 +313,7 @@
     <string name="security_settings_summary" msgid="1627059516127354233">"Setha Indawo Yami, ukuvula isikrini, ukuvala ikhadi le-SIM, ukuvala isitoreji sokuqinisekisa"</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"Setha Indawo Yami, ukuvula isikrini, ukuvala isitoreji seziqinisekiso"</string>
     <string name="security_passwords_title" msgid="4154420930973818581">"Ubumfihlo"</string>
-    <string name="disabled_by_administrator_summary" msgid="4181894719300350343">"Kukhutshazwe umlawuli"</string>
+    <string name="disabled_by_administrator_summary" msgid="5424846182313851124">"Ayitholakali"</string>
     <string name="security_status_title" msgid="6958004275337618656">"Isimo sokuphepha"</string>
     <string name="security_dashboard_summary_face" msgid="4198949293847206382">"Ukukhiya isikrini, i-face unlock"</string>
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Ukukhiywa kwesikrini, izigxivizo zeminwe"</string>
@@ -693,7 +616,6 @@
       <item quantity="one">Kufanele kube amadijithi angaphansi kuka-<xliff:g id="NUMBER_1">%d</xliff:g></item>
       <item quantity="other">Kufanele kube amadijithi angaphansi kuka-<xliff:g id="NUMBER_1">%d</xliff:g></item>
     </plurals>
-    <string name="lockpassword_pin_contains_non_digits" msgid="8749897085454833003">"Kumele iqukathe amadijithi angu-0-9 kuphela"</string>
     <string name="lockpassword_pin_recently_used" msgid="6650277060998923465">"Umlawuli wedivayisi akavumeli ukusebenzisa iphinikhodi yakamuva"</string>
     <string name="lockpassword_pin_blacklisted_by_admin" msgid="115994274880232984">"Ama-PIN avamile avinjelwe umlawuli wakho we-IT. Zama i-PIN ehlukile."</string>
     <string name="lockpassword_illegal_character" msgid="3434031212215886433">"Lokhu akukwazi ukufana uhlamvu olungavumelekile"</string>
@@ -724,6 +646,10 @@
       <item quantity="one">Kumele iqukathe okungenani okungu-<xliff:g id="COUNT">%d</xliff:g> okungezona izinhlamvu</item>
       <item quantity="other">Kumele iqukathe okungenani okungu-<xliff:g id="COUNT">%d</xliff:g> okungezona izinhlamvu</item>
     </plurals>
+    <plurals name="lockpassword_password_requires_nonnumerical" formatted="false" msgid="5056743974888384475">
+      <item quantity="one">Kumele iqukathe okungenani izinhlamvu ezingasizo izinombolo ezingu-<xliff:g id="COUNT">%d</xliff:g></item>
+      <item quantity="other">Kumele iqukathe okungenani izinhlamvu ezingasizo izinombolo ezingu-<xliff:g id="COUNT">%d</xliff:g></item>
+    </plurals>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"Umlawuli wedivayisi akavumeli ukusebenzisa iphasiwedi yakamuva"</string>
     <string name="lockpassword_password_blacklisted_by_admin" msgid="8956110268546396737">"Amaphasiwedi avamile avinjelwe umlawuli wakho we-IT. Zama iphasiwedi ehlukile."</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"Ukwenyuka, ukwehla, noma uchungechunge olwehlayo lamadijithi alivunyewe"</string>
@@ -837,19 +763,25 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2.4 GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"Ngena ngemvume"</string>
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"Vula isayithi"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"<xliff:g id="REMAINING_TIME">%1$s</xliff:g> esele"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"Iphelelwa isikhathi ngomhla ka-<xliff:g id="EXPIRY_TIME">%1$s</xliff:g>"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"Thepha lapha ukuze ungene ngemvume kunethiwekhi"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
+    <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="wifi_ask_enable" msgid="6860056048266810769">"<xliff:g id="REQUESTER">%s</xliff:g> ifuna ukuvula i-Wi-Fi"</string>
     <string name="wifi_ask_disable" msgid="1663208096020309639">"<xliff:g id="REQUESTER">%s</xliff:g> ifuna ukuvala i-Wi-Fi"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"Qinisekisa i-bytecode yezinhlelo zokusebenza ezingalungiswa amaphutha"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Vumela i-ART ukuze iqinisekise i-bytecode yezinhlelo zokusebenza ezingasusa iphutha"</string>
+    <string name="show_refresh_rate" msgid="5742688821872354973">"Bonisa isilinganiso sokuvuselela"</string>
+    <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Bonisa isilinganisi sokuvuselela sesibonisi samanje"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"i-NFC"</string>
-    <string name="nfc_quick_toggle_summary" product="tablet" msgid="9027030586154852221">"Vumela ukushintshanisa kwedatha uma ithebhulethi ithinta enye idivayisi"</string>
-    <string name="nfc_quick_toggle_summary" product="default" msgid="5961264333260120898">"Vumela ukushintshanisa kwedatha uma ifoni ithinta enye idivayisi"</string>
+    <string name="nfc_quick_toggle_summary" product="tablet" msgid="3622326550467939809">"Vumela ukushintshisana kwedatha uma ithebulethi ithinta idivayisi ye-NFC"</string>
+    <string name="nfc_quick_toggle_summary" product="default" msgid="1460871052409162980">"Vumela ukushintshisana kwedatha uma ifoni ithinta idivayisi ye-NFC"</string>
     <string name="nfc_disclaimer_title" msgid="3696580694485048039">"Vula i-NFC"</string>
     <string name="nfc_disclaimer_content" msgid="8256675597551036207">"I-NFC ishintshisana ngedatha phakathi kwale divayisi namanye amadivayisi aseduze noma okuqondiwe, okufana namatheminali enkokhelo, izifundi zokufinyelela, nezikhangiso ezibandakanyayo noma omaka."</string>
-    <string name="nfc_secure_settings_title" msgid="8947380729696717356">"I-NFC evikelekile"</string>
+    <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Idinga ukuvula idivayisi ye-NFC"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="4591286109299690373">"Vumela inkokhelo ye-NFC nezokuthutha zisetshenziswe kuphela uma isikrini sivuliwe"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"i-Android Beam"</string>
     <string name="android_beam_on_summary" msgid="6067720758437490896">"Ilungele ukudlulisa okuqukethwe uhlelo lokusebenza nge-NFC"</string>
@@ -923,8 +855,8 @@
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Vula"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Ukuskena kwe-Wi-Fi kuvuliwe"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Izinketho ezithuthukile"</string>
-    <string name="wifi_advanced_toggle_description_expanded" msgid="142819158732919941">"Izinketho ezithuthukisiwe zohlu olushona ezansi. Thepha kabili ukuze ugoqe."</string>
-    <string name="wifi_advanced_toggle_description_collapsed" msgid="6577687828045126764">"Izinketho ezithuthukisiwe zohlu olushona phansi. Thepha kabili ukuze unwebe."</string>
+    <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Izinketho ezithuthukisiwe zohlu olushona ezansi"</string>
+    <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"nweba"</string>
     <string name="wifi_ssid" msgid="2713062130735103151">"Igama lenethiwekhi"</string>
     <string name="wifi_ssid_hint" msgid="1940577553241083524">"Faka i-SSID"</string>
     <string name="wifi_security" msgid="9095934643631406913">"Ukuphepha"</string>
@@ -934,6 +866,7 @@
     <string name="wifi_status" msgid="5349199188871002778">"Isimo"</string>
     <string name="tx_wifi_speed" msgid="2368986629172050673">"Hambisa isivinini sesixhumanisi"</string>
     <string name="rx_wifi_speed" msgid="5167966079215111232">"Thola isivinini sesixhumanisi"</string>
+    <string name="wifi_speed" msgid="6562147734565434513">"Isivinini sokuhlanganisa"</string>
     <string name="wifi_frequency" msgid="3120998420184702834">"Imvamisa"</string>
     <string name="wifi_ip_address" msgid="8903577251845268209">"Ikheli le-IP"</string>
     <string name="passpoint_label" msgid="6513669696739302866">"Kulondolozwe nge-"</string>
@@ -941,6 +874,7 @@
     <string name="wifi_eap_method" msgid="3776009521349381742">"Indlela ye-EAP"</string>
     <string name="please_select_phase2" msgid="577633852089847142">"Isigaba 2 sokuqinisekisa"</string>
     <string name="wifi_eap_ca_cert" msgid="8033404008276298886">"Isitifiketi se-CA"</string>
+    <string name="wifi_eap_ocsp" msgid="8713933962516871238">"Isimo sesitifiketi esiku-inthanethi"</string>
     <string name="wifi_eap_domain" msgid="8304301470752333203">"Isizinda"</string>
     <string name="wifi_eap_user_cert" msgid="3569182430929173220">"Isitifiketi somsebenzisi"</string>
     <string name="wifi_eap_identity" msgid="3629406902174137028">"Ukuhlonza"</string>
@@ -957,6 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"Khetha okungenani ibhendi eyodwa ye-Wi‑Fi hotspot:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"Izilungiselelo ze-IP"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"Ubumfihlo"</string>
+    <string name="wifi_subscription" msgid="4432423938285430113">"Okubhalisile"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"Buka noma shintsha okubhalisile"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"I-MAC eyenziwe noma yini"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"Engeza idivayisi"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"Misa phakathi nendawo ikhodi ye-QR ngaphansi ukuze ungeze idivayisi ku-“<xliff:g id="SSID">%1$s</xliff:g>”"</string>
@@ -966,12 +902,14 @@
     <string name="wifi_dpp_share_wifi" msgid="2431744447544057866">"Yaba i-Wi‑Fi"</string>
     <string name="wifi_dpp_scan_qr_code_with_another_device" msgid="4405316188694088689">"Skena le khodi ye-QR ukuze uxhumeke ku-“<xliff:g id="SSID">%1$s</xliff:g>” uphinde wabelane ngephasiwedi"</string>
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device" msgid="5398619697898444311">"Skena le khodi ye-QR ukuze ixhumeke ku-“<xliff:g id="SSID">%1$s</xliff:g>”"</string>
-    <string name="wifi_dpp_could_not_detect_valid_qr_code" msgid="2112977774341648820">"Ayikwazanga ukufunda ikhodi ye-QR. Phinda umise phakathi kwendawo ikhodi uphinde uzame futhi"</string>
     <string name="wifi_dpp_failure_authentication_or_configuration" msgid="847551626830740204">"Zama futhi. Uma inkinga iqhubeka, xhumana nomkhiqizi wedivayisi"</string>
     <string name="wifi_dpp_failure_not_compatible" msgid="4453775826337805825">"Okuthile akuhambanga kahle"</string>
     <string name="wifi_dpp_failure_timeout" msgid="7902971341771145564">"Yenza isiqinisekiso sokuthi idivayisi ixhunyiwe, ishajiwe, futhi ivuliwe"</string>
     <string name="wifi_dpp_failure_generic" msgid="6559442892600448442">"Yenza isiqinisekiso sokuthi idivayisi ixhunyiwe, ishajiwe, futhi ivuliwe. Uma inkinga iqhubeka, xhumana nomkhiqizi wedivayisi"</string>
     <string name="wifi_dpp_failure_not_supported" msgid="2908961523550486480">"Ukungeza i-“<xliff:g id="SSID">%1$s</xliff:g>” akusekelwa ile divayisi"</string>
+    <string name="wifi_dpp_failure_cannot_find_network" msgid="8519567801353014036">"Zama ukuhambisa idivayisi eduze kwephoyinti lakho lokufinyelela/irutha ye-Wi-Fi"</string>
+    <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"Hlola iphasiwedi uphinde uzame futhi"</string>
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"Xhumana nomkhiqizi wedivayisi"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"Hlola ukuxhumeka uphinde uzame futhi"</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"Khetha inethiwekhi"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"Ukuze uxhume idivayisi yakho, khetha inethiwekhi"</string>
@@ -984,11 +922,15 @@
     <string name="wifi_dpp_sharing_wifi_with_this_device" msgid="7250369936882080107">"Yabelana nge-Wi‑Fi ngale divayisi…"</string>
     <string name="wifi_dpp_connecting" msgid="2312769193202897589">"Iyaxhuma…"</string>
     <string name="wifi_dpp_share_hotspot" msgid="6186452780604755316">"Yabelana i-hotspot"</string>
-    <string name="wifi_dpp_lockscreen_title" msgid="5246641326066972419">"Qinisekisa ukuthi unguwe"</string>
+    <string name="wifi_dpp_lockscreen_title" msgid="4231438175617953652">"Qinisekisa ukuthi nguwe"</string>
     <string name="wifi_dpp_wifi_password" msgid="4992986319806934381">"Iphasiwedi ye-Wi‑Fi: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
     <string name="wifi_dpp_hotspot_password" msgid="688464342650820420">"Iphasiwedi ye-hotspot: <xliff:g id="PASSWORD">%1$s</xliff:g>"</string>
+    <string name="wifi_auto_connect_title" msgid="1890342051674657892">"Ukuxhumeka okuzenzakalelayo"</string>
+    <string name="wifi_auto_connect_summary" product="default" msgid="5383749408911542382">"Vumela ifoni ukuba ixhume ngokuzenzakalelayo eduze nale nethiwekhi"</string>
+    <string name="wifi_auto_connect_summary" product="tablet" msgid="5209799194164396401">"Vumela ithebulethi ukuba ixhume ngokuzenzakalelayo eduze nale nethiwekhi"</string>
     <string name="wifi_dpp_add_device" msgid="8695656122114721335">"Engeza idivayisi"</string>
     <string name="wifi_dpp_connect_network_using_qr_code" msgid="6975258007798254937">"Sebenzisa ikhodi ye-QR ukuze ungeze idivayisi kule nethiwekhi"</string>
+    <string name="wifi_dpp_qr_code_is_not_valid_format" msgid="5190689503019328279">"Ikhodi ye-QR ayiyona ifomethi evumelekile"</string>
     <string name="retry" msgid="7542103800274026915">"Zama futhi"</string>
     <string name="wifi_shared" msgid="8850748923537589782">"Yabelana nabanye abasebenzisi bedivayisi"</string>
     <string name="wifi_unchanged" msgid="8026045290856150191">"(akushintshiwe)"</string>
@@ -1000,6 +942,7 @@
     <string name="wifi_do_not_validate_eap_server_warning" msgid="5741728006175181647">"Asikho isitifiketi esicacisiwe. Ukuxhumeka kwakho ngeke kube yimfihlo."</string>
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"Igama lenethiwekhi lide kakhulu."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"Kumele icacise isizinda."</string>
+    <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"Isitifiketi siyadingeka."</string>
     <string name="wifi_wps_available_first_item" msgid="5780501151792036589">"i-WPS iyatholakala"</string>
     <string name="wifi_wps_available_second_item" msgid="1717024103303480804">" (i-WPS iyatholakala)"</string>
     <string name="wifi_carrier_connect" msgid="4511538300946413213">"Inethiwekhi ye-Wi-Fi yenkampani yenethiwekhi"</string>
@@ -1051,7 +994,8 @@
     </plurals>
     <string name="wifi_advanced_titlebar" msgid="1234150304285575798">"Ukuxhumana kungenazintambo okuphambili"</string>
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"I-SSID"</string>
-    <string name="wifi_advanced_mac_address_title" msgid="407465970207574753">"Ikheli le-MAC"</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_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>
@@ -1103,7 +1047,7 @@
     <string name="wifi_hotspot_footer_info_regular" msgid="6620216295510397461">"Sebenzisa i-hotspot ukudala inethiwekhi ye-Wi‑Fi yamanye amadivayisi akho. I-Hotspot inikezela nge-inthanethi isebenzisa uxhumo lwedatha yakho yeselula. Amashaji edatha yeselula angeziwe angasebenza."</string>
     <string name="wifi_hotspot_footer_info_local_only" msgid="3813311942370920903">"Izinhlelo zokusebenza zingadala i-hotspot ukwabelana ngokuqukethwe namadivayisi aseduze."</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Vala ama-hotspot ngokuzenzakalela"</string>
-    <string name="wifi_hotspot_auto_off_summary" msgid="7342409072397243649">"I-Wi-Fi hotspot izovaleka uma kungekho amadivayisi axhunyiwe"</string>
+    <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Lapho engekho amadivayisi axhunyiwe"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"Ivula i-hotspot…"</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"Ivala i-hotspot…"</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"I-<xliff:g id="NETWORK_SSID">%1$s</xliff:g> iyasebenza"</string>
@@ -1112,6 +1056,17 @@
     <string name="wifi_hotspot_configure_ap_text" msgid="9027072969831022321">"Ukusetha i-Wi‑Fi hotspot"</string>
     <string name="wifi_hotspot_configure_ap_text_summary" msgid="1445157424926935178">"I-AndroidAP WPA2 PSK hotspot"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"Indawo ye-Android"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"Londoloza le nethiwekhi?"</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="6881712878537666626">"I-<xliff:g id="APPNAME">%1$s</xliff:g> ifuna ukulondoloza inethiwekhi kufoni yakho"</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="8455616967601552440">"I-<xliff:g id="APPNAME">%1$s</xliff:g> ifuna ukulondoloza inethiwekhi kuthebulethi yakho"</string>
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"Iyalondoloza…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"Kulondoloziwe"</string>
+    <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"Ayikwazi ukulondoloza. Zama futhi."</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"Londoloza amanethiwekhi?"</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="2670215712788515167">"I-<xliff:g id="APPNAME">%1$s</xliff:g> ifuna ukulondoloza lamanethiwekhi kufoni yakho"</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="2088967184512169910">"I-<xliff:g id="APPNAME">%1$s</xliff:g> ifuna ukulondoloza lamanethiwekhi kuthebulethi yakho"</string>
+    <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"Ukulondoloza amanethiwekhi angu-<xliff:g id="NUMBER">%d</xliff:g>…"</string>
+    <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"Amanethiwekhi alondoloziwe"</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"Ukushaya kwe-Wi-Fi"</string>
     <string name="wifi_calling_suggestion_title" msgid="4791435106729906727">"Nweba amakholi nge-Wi-Fi"</string>
     <string name="wifi_calling_suggestion_summary" msgid="5413024679599742858">"Vula ukushaya kwe-Wi-Fi ukuze unwebe ukufakwa"</string>
@@ -1138,16 +1093,18 @@
     <string name="emergency_address_title" msgid="3490633500025717573">"Ikheli eliphuthumayo"</string>
     <string name="emergency_address_summary" msgid="3022628750270626473">"Isetshenziswa njengendawo yakho uma wenza ikholi ephuthumayo nge-Wi-Fi"</string>
     <string name="private_dns_help_message" msgid="851221502063782306"><annotation id="url">"Funda kabanzi"</annotation>" mayelana nezici ze-Private DNS"</string>
+    <string name="private_dns_mode_on" msgid="8878679071975375696">"Kuvuliwe"</string>
     <string name="wifi_calling_pref_managed_by_carrier" msgid="129524064888622179">"Isilungiselelo siphethwe inkampani yenethiwekhi"</string>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"Yenza kusebenze ukushaya kwe-Wi-Fi"</string>
     <string name="wifi_calling_turn_on" msgid="7687886259199428823">"Vula ukushaya kwe-Wi-Fi"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"Ukushaya kwe-Wi‑Fi akusekelwa ku-%1$s"</string>
+    <string name="wifi_disconnected_from" msgid="5249576734324159708">"Inqanyuliwe kusukela ku-<xliff:g id="SSID">%1$s</xliff:g>"</string>
     <string name="carrier" msgid="1755020806290963951">"Inkampani yenethiwekhi"</string>
     <string name="display_settings_title" msgid="626835071804834218">"Ukubukeka"</string>
     <string name="sound_settings" msgid="5514582720435174014">"Umsindo"</string>
     <string name="all_volume_title" msgid="6196367642878437513">"Amavolumu"</string>
     <string name="musicfx_title" msgid="5458574743312283473">"Imphumelo Yomculo"</string>
-    <string name="ring_volume_title" msgid="4977016825760652112">"Ivolumu yokukhalisa"</string>
+    <string name="ring_volume_title" msgid="4869034595079914541">"Ivolumu yokukhala neyesaziso"</string>
     <string name="vibrate_in_silent_title" msgid="5076579100685867363">"Idlidliza uma ithulile"</string>
     <string name="notification_sound_title" msgid="8747567935870133157">"Umsindo wokwazisa ozenzakalelayo"</string>
     <string name="incoming_call_volume_title" msgid="8445408274513654261">"Iringithoni"</string>
@@ -1272,13 +1229,18 @@
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"Shejula"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"Lutho"</string>
     <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"Ivula kusuka ekuseni kuya entambama"</string>
+    <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"Ivula ngesikhathi sangokwezifiso"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"Isimo"</string>
     <string name="dark_ui_summary_off" msgid="3897438633224959099">"Kuvaliwe / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"Ngeke ize ivuleke ngokuzenzakalela"</string>
     <string name="dark_ui_summary_off_auto_mode_auto" msgid="6766831395970887213">"Izovuleka ngokuzenzakalela ekushoneni kwelanga"</string>
+    <string name="dark_ui_summary_off_auto_mode_custom" msgid="1345906088326708376">"Izovula ngokuzenzakalela ngo-<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on" msgid="3886998135388176000">"Vuliwe / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_summary_on_auto_mode_never" msgid="2468597062391435521">"Ngeke ize ivaleke ngokuzenzakalela"</string>
     <string name="dark_ui_summary_on_auto_mode_auto" msgid="5553376115092648636">"Izovaleka ngokuzenzakalela ekuphumeni kwelanga"</string>
+    <string name="dark_ui_summary_on_auto_mode_custom" msgid="2526935680241734784">"Izovaleka ngokuzenzakalela ngo-<xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_on_custom" msgid="1889379402860316125">"Vula kuze kube ngu-<xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="dark_ui_activation_off_custom" msgid="2192932161592759607">"Vala kuze kube ngu-<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="dark_ui_text" msgid="4392646155331126666">"Itimu emnyama isebenzisa ingemuva elimnyama ukuze isize ukugcina ibhethri liphila isikhathi eside kwezinye izikrini. Itimu emnyama ihlelelwe ukulinga ukuvula isikrini sakho size sivale."</string>
     <string name="screen_timeout" msgid="7709947617767439410">"Isikrini siphelelwe yisikhathi"</string>
     <string name="screen_timeout_title" msgid="785134393520893049">"Isikrini siyavaleka"</string>
@@ -1290,7 +1252,7 @@
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"Shintsha isithombe sangemuva"</string>
     <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"Yenza isikrini sibe ngesakho"</string>
     <string name="wallpaper_settings_fragment_title" msgid="8445963841717633149">"Khetha iphephalodonga kwi"</string>
-    <string name="style_suggestion_title" msgid="5213040799245193378">"Enza ngendlela oyifisayo i-Pixel yakho"</string>
+    <string name="style_suggestion_title" msgid="1213747484782364775">"Enza ngendlela oyifisayo ifoni yakho"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"Zama izitayela ezihlukile, izithombe zangemuva, nokuningi"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"Isigcini sihenqo"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Ngenkathi ishaja noma idokhiwe"</string>
@@ -1379,6 +1341,7 @@
     <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"Yehlisa isitoreji se-USB, buka isitoreji esivulekile"</string>
     <string name="storage_settings_summary" product="default" msgid="267557695753980969">"Yehlisa ikhadi le-SD, buka isikhala sesitoreji esisele"</string>
     <string name="imei_multi_sim" msgid="71477088017585479">"I-IMEI (imbobo ye-sim %1$d)"</string>
+    <string name="view_saved_network" msgid="1232387673095080910">"Ukuze ubuke, khetha inethiwekhi elondoloziwe"</string>
     <string name="status_number" product="tablet" msgid="3597945414666253183">"MDN"</string>
     <string name="status_number" product="default" msgid="8407999629121682207">"Inombolo yefoni"</string>
     <string name="status_number_sim_slot" product="tablet" msgid="6582203988975619529">"I-MDN (imbobo ye-sim %1$d)"</string>
@@ -1405,6 +1368,7 @@
     <string name="status_roaming" msgid="1253597174715663778">"Iyazulazula"</string>
     <string name="status_operator" msgid="4335640583552058491">"Inethiwekhi"</string>
     <string name="status_wifi_mac_address" msgid="4447611754614388914">"Ikheli le-Wi-Fi MAC"</string>
+    <string name="status_device_wifi_mac_address" msgid="1896121694334176494">"Ikheli le-Wi‑Fi MAC ledivayisi"</string>
     <string name="status_bt_address" msgid="6919660304578476547">"Ikheli le-Bluetooth"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Inombolo yomkhiqizo"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Isikhathi esiphezulu"</string>
@@ -1618,6 +1582,7 @@
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Ukuhlela okumisiwe izilungiselelo ze-APN kuqedile."</string>
     <string name="reset_dashboard_title" msgid="7423200250697886918">"Izinketho zokusetha kabusha"</string>
     <string name="reset_dashboard_summary" msgid="4390780188264852956">"Inethiwekhi, izinhlelo zokusebenza, noma idivayisi ingasethwa kabusha"</string>
+    <string name="reset_dashboard_summary_onlyApps" msgid="3304252260039419584">"Izinhlelo zokusebenza zingasethwa kabusha"</string>
     <string name="reset_network_title" msgid="1395494440355807616">"Setha kabusha i-Wi-Fi, iselula ne-Bluetooth"</string>
     <string name="reset_network_desc" msgid="1112523764899788246">"Lokhu kuzosetha kabusha zonke izilungiselelo zenethiwekhi ezifaka:\n\n"<li>"i-Wi‑Fi"</li>\n<li>"Idatha yeselula"</li>\n<li>"ne-Bluetooth"</li></string>
     <string name="reset_esim_title" msgid="6152167073280852849">"Sula ama-SIM alandiwe"</string>
@@ -1667,6 +1632,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"I-hotspot ivuliwe"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"Ukusebenzisa ifoni njengemodemu"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"Thola i-tether noma sebenzisa ama-hotspots aphathekayo ngenkathi iseva yedatha ivulekile"</string>
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"I-Hotspot kuphela"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"I-USB kuphela"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"I-Bluetooth kuphela"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"I-Hotspot, USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"I-Hotspot, Bluetooth"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"I-USB, Bluetooth"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"I-Hotspot, USB, Bluetooth"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"Ayabelani nge-inthanethi namanye amadivayisi"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"Ukusebenzisa ifoni njengemodemu"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Ungasebenzisi i-Wi‑Fi hotspot"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Yabelana i-inthanethi nge-USB"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Yabelana i-inthanethi nge-Bluetooth kuphela"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Yabelana i-inthanethi nge-USB nange-Bluetooth"</string>
     <string name="usb_title" msgid="1157283449840612901">"I-USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"Imodemu nge-USB"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"Yabelana ngoxhumo lwe-inthanethi lwefoni nge-USB"</string>
@@ -1757,9 +1735,6 @@
     <string name="settings_safetylegal_activity_title" msgid="2218587051061093358">"Ulwazi lokuvikeleka"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="6571695168138207587">"Awunalo uxhumano lwedatha. Ukubuka lolu lwazi manje, iya ku-%s kunoma iyiphi ikhompuyutha exhunywe kwi-Inthanethi."</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"Iyalayisha…"</string>
-    <string name="confirm_device_credential_pin" msgid="5708034681954992002">"Sebenzisa iphinikhodi"</string>
-    <string name="confirm_device_credential_pattern" msgid="39207099645510263">"Sebenzisa iphethini"</string>
-    <string name="confirm_device_credential_password" msgid="2471269024934865534">"Sebenzisa iphasiwedi"</string>
     <string name="lockpassword_choose_your_screen_lock_header" msgid="7587198092214670356">"Setha ukukhiya kwesikrini"</string>
     <string name="lockpassword_choose_your_password_message" msgid="4474728476383676731">"Ukuze uvikelwe, setha iphasiwedi"</string>
     <string name="lockpassword_choose_your_password_header_for_fingerprint" msgid="3167261267229254090">"Ukuze usebenzise izigxivizo zeminwe, setha iphasiwedi"</string>
@@ -1768,8 +1743,11 @@
     <string name="lockpassword_choose_your_pin_header_for_fingerprint" msgid="2783879743691792556">"Ukuze usebenzise izigxivizo zeminwe, setha iphinikhodi"</string>
     <string name="lockpassword_choose_your_pattern_message" msgid="5815780503576680412">"Ukuze uvikelwe, setha iphethini"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"Faka kabusha iphasiwedi yakho"</string>
+    <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"Faka iphasiwedi yakho yomsebenzi"</string>
     <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"Qinisekisa iphathini yakho"</string>
+    <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"Faka iphethini yakho yomsebenzi"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"Faka kabusha i-PIN yakho"</string>
+    <string name="lockpassword_confirm_your_work_pin_header" msgid="4229765521391960255">"Faka iphinikhodi yakho yomsebenzi"</string>
     <string name="lockpassword_confirm_passwords_dont_match" msgid="2100071354970605232">"Amaphasiwedi awafani"</string>
     <string name="lockpassword_confirm_pins_dont_match" msgid="1103699575489401030">"Ama-PIN awafani"</string>
     <string name="lockpassword_draw_your_pattern_again_header" msgid="1045638030120803622">"Dweba iphethini yakho futhi"</string>
@@ -1780,6 +1758,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"Ukuze usebenzise i-face unlock, setha iphasiwedi"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"Ukuze usebenzise i-face unlock, setha iphethini"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"Ukuze usebenzise i-face unlock, setha iphinikhodi"</string>
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"Ukhohlwe iphasiwedi yakho?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"Ukhohlwe iphethini yakho?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"Ukhohlwe iphinikhodi yakho?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"Sebenzisa iphethini yakho yedivayisi ukuze uqhubeke"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"Faka i-PIN yedivayisi yakho ukuze uqhubeke"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"Faka iphasiwedi yedivayisi yakho ukuze uqhubeke"</string>
@@ -1847,6 +1828,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"Vumela yonke imithombo yohlelo lokusebenza"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"Izinhlelo zokusebenze ezisanda kuvuleka"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"Bona zonke izinhlelo zokusebenza ezingu-<xliff:g id="COUNT">%1$d</xliff:g>"</string>
+    <string name="forgot_password_title" msgid="3967873480875239885">"Xhumana nomphathi wakho we-IT"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"Zingakusiza usethe kabusha Iphinikhodi yakho, iphethini, noma iphasiwedi"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"Ithebulethi yakho nedatha yomuntu siqu kusengcupheni enkulu ukuthi kungahlaselwa izinhlelo zokusebenza ezingaziwa. Ngokufaka izinhlelo zokusebenza kusukela kulo mthombo, uyavuma ukuthi unesibopho sanoma ikuphi ukonakala kuthebulethi yakho noma ukulahlekelwa idatha okungabangelwa ukusetshenziswa kwazo."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"Ifoni yakho nedatha yomuntu siqu kusengcupheni enkulu ukuthi kungahlaselwa izinhlelo zokusebenza ezingaziwa. Ngokufaka izinhlelo zokusebenza kusukela kulo mthombo, uyavuma ukuthi unesibopho sanoma ikuphi ukonakala kufoni yakho noma ukulahlekelwa idatha okungabangelwa ukusetshenziswa kwazo."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"Idivayisi yakho nedatha yomuntu siqu isengcupheni enkulu ukuthi kungahlaselwa izinhlelo zokusebenza ezingaziwa. Ngokufaka izinhlelo zokusebenza kusukela kulo mthombo, uyavuma ukuthi unesibopho sanoma ikuphi ukonakala kudivayisi yakho noma ukulahlekelwa idatha okungabangelwa ukusetshenziswa kwazo."</string>
@@ -1898,7 +1881,7 @@
     <string name="default_emergency_app" msgid="1929974800666613803">"Uhlelo lokusebenza lwesimo esiphuthumayo"</string>
     <string name="reset_app_preferences" msgid="8861758340732716573">"Setha kabusha izintandokazi zezinhlelo zokusebenza"</string>
     <string name="reset_app_preferences_title" msgid="8935136792316050759">"Setha kabusha izintandokazi zohlelo lokusebenza?"</string>
-    <string name="reset_app_preferences_desc" msgid="1377296810290814749">"Lokhu kuzosetha kabusha konke okuncamelayo kwe-:\n\n"<li>"Izinhlelo zokusebenza ezikhutshaziwe"</li>\n<li>"Izaziso zezinhlelo zokusebenza ezikhutshaziwe"</li>\n<li>"Izinhlelo zokusebenza ezizenzakalelayo zezenzo"</li>\n<li>"Imikhawulo yedatha yangemuva yezinhlelo zokusebenza"</li>\n<li>"Noma yimiphi imikhawulo yemvume"</li>\n\n"Ngeke uze ulahlekelwe noma iyiphi idatha yohlelo lokusebenza."</string>
+    <string name="reset_app_preferences_desc" msgid="6509978724602405805">"Lokhu kuzosetha kabusha konke okuncamelayo kwe-:\n\n"<li>"Izinhlelo zokusebenza ezikhutshaziwe"</li>\n<li>"Izaziso zezinhlelo zokusebenza ezikhutshaziwe"</li>\n<li>"Izinhlelo zokusebenza ezizenzakalelayo zezenzo"</li>\n<li>"Imikhawulo yedatha yangemuva yezinhlelo zokusebenza"</li>\n<li>"Noma yimiphi imikhawulo yemvume"</li>\n\n"Ngeke uze ulahlekelwe noma iyiphi idatha yohlelo lokusebenza."</string>
     <string name="reset_app_preferences_button" msgid="2591318711372850058">"Setha kabusha izinhlelo zokusebenza"</string>
     <string name="manage_space_text" msgid="9013414693633572277">"Lawula isikhala"</string>
     <string name="filter" msgid="9039576690686251462">"Hlunga"</string>
@@ -2098,7 +2081,7 @@
     <string name="audio_and_captions_category_title" msgid="5049122378290004050">"Umsindo nombhalo okusikrini"</string>
     <string name="display_category_title" msgid="6638191682294461408">"Bonisa"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"Izilawuli zokubandakanya"</string>
-    <string name="user_installed_services_category_title" msgid="8645994134481807730">"Amasevisi alandiwe"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"Izinhlelo zokusebenza ezila"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"Okokulinga"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"Faka amafulegi"</string>
     <string name="talkback_title" msgid="8756080454514251327">"I-Talkback"</string>
@@ -2106,27 +2089,52 @@
     <string name="select_to_speak_summary" msgid="1995285446766920925">"Thepha izinto esikrinini sakho ukuze uzizwe zifundelwa phezulu"</string>
     <string name="accessibility_captioning_title" msgid="4561871958958925225">"Okuncanyelwayo kwamagama-ngcazo"</string>
     <string name="accessibility_screen_magnification_title" msgid="1211169976144629087">"Ukukhuliswa"</string>
+    <string name="accessibility_magnification_mode_title" msgid="879250866604403721">"Indawo yokukhulisa"</string>
+    <string name="accessibility_magnification_enable_mode_title" msgid="4390488034396824276">"Ukukhuliswa kunikwe amandla"</string>
+    <string name="accessibility_magnification_area_settings_message" msgid="4821458740248772054">"Khetha izindawo zokukhulisa ofuna ukuzisebenzisa uma ukhulisa isikrini"</string>
+    <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"Iskrini esigcwele"</string>
+    <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="5630032596384610913">"Ingxenye yesikrini"</string>
+    <string name="accessibility_magnification_area_settings_all_summary" msgid="5139954486886669293">"Isikrini esigcwele nengxenye yesikrini"</string>
+    <string name="accessibility_magnification_area_settings_full_screen" msgid="4189574224079433280">"Khulisa sonke isikrini"</string>
+    <string name="accessibility_magnification_area_settings_window_screen" msgid="7431401975447232976">"Khulisa ingxenye eyesikrini"</string>
+    <string name="accessibility_magnification_service_settings_title" msgid="3531350704632316017">"Izilungiselelo zokukhuliswa"</string>
     <string name="accessibility_screen_magnification_gestures_title" msgid="3121714118381882167">"Shintsha ngokuthepha kathathu"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Khulisa ngesinqamuleli"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Khulisa ngenkinobho futhi uthephe kathathu"</string>
+    <string name="accessibility_introduction_title" msgid="8834950581512452348">"Mayelana ne-<xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_screen_option" msgid="8465307075278878145">"Izinketho"</string>
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"Sondeza isithombe kusikrini"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"Thepha izikhathi ezingu-3 ukuze usondeze"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"Thepha inkinobho ukuze usondeze"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2831926970059739911"><b>"Ukuze usondeze"</b>", thepha izikhathi ezingu-3 iskikrini.\n"<ul><li>"Hudula iminwe engu-2 noma ngaphezulu ukuze uskrole"</li>\n<li>"Ncinza iminwe engu-2 noma ngaphezulu ukuze ulungise ukusondeza"</li></ul>\n\n<b>"Ukuze usondeze okwesikhashana"</b>", thepha ngokushesha isikrini izikhathi ezingu-3 bese ucindezele ngomunwe wakho ekuthepheni kwesithathu.\n"<ul><li>"Hudula ukuze uhambise esikrinini"</li>\n<li>"Phakamisa umunwe ukuze uhlehlise"</li></ul>\n\n"Awukwazi ukusondeza kukhibhodi nakwibha yokuzula."</string>
-    <string name="accessibility_screen_magnification_navbar_summary" msgid="5603519616005297803">"Uma i-magnification ivuliwe, ungasondeza isikrini sakho.\n\n"<b>"Ukuze uzondeze"</b>", qalisa i-magnification, bese uthephe noma yikuphi esikrinini.\n"<ul><li>"• Hudula iminwe engu-2 noma ngaphezulu ukuze uskrole"</li>\n<li>"• Ncinza iminwe engu-2 noma ngaphezulu ukuze ulungise ukusondeza"</li></ul>\n\n<b>"Ukuze usondeze okwesikhashana"</b>", qalisa i-magnification, bese uthinte &amp; ubambe noma yikuphi esikrinini.\n"<ul><li>"• Hudula ukuze uzungezise isikrini"</li>\n<li>"• Phakamisa umunwe ukuze uhlehlise"</li></ul>\n\n"Awukwazi ukusondeza kukhibhodi noma ibha yokuzula."</string>
+    <string name="accessibility_screen_magnification_summary" msgid="7617931632990040045">"Sondeza isithombe ngokushesha kusikrini ukuze ubone okuqukethwe ngokucacile kakhulu.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Ukuze usondeze isithombe:&lt;/b&gt;&lt;br/&gt; 1. Sebenzisa isinqamuleli ukuze uqalise ukukhuliswa&lt;br/&gt; 2. Thepha isikrini&lt;br/&gt; 3. Hudula iminwe engu-2 ukuze uhambahambe esikrinini&lt;br/&gt; 4. Ncinza iminwe engu-2 ukuze ulungise ukusondezwa&lt;br/&gt; 5. Sebenzisa isinqamuleli ukuze umise ukukhuliswa&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Ukuze usondeze isithombe okwesikhashana:&lt;/b&gt;&lt;br/&gt; 1. Sebenzisa isinqamuleli ukuze uqalise ukukhuliswa&lt;br/&gt; 2. Thinta uphinde ubambe noma ikuphi kusikrini&lt;br/&gt; 3. Hudula umunwe ukuze uhambahambe esikrinini&lt;br/&gt; 4. Phakamisa umunwe ukuze umise ukukhuliswa"</string>
+    <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"Uma ukukhulisa kuvuliwe, ungasondeza isikrini sakho.\n\n"<b>"Ukuze usondeze"</b>", qala ukukhulisa, thepha noma yikuphi kusikrini.\n"<ul><li>"Hudula iminwe engu-2 noma ngaphezulu ukuze uskrole"</li>\n<li>"Ncinza iminwe engu-2 noma ngaphezulu ukuze ulungisa ukusondela"</li></ul>\n\n<b>"Ukuze usondeze okwesikhashana"</b>", qalisaukukhulisa, bese uthinte futhi ubambe noma yokuhi esikrinini.\n"<ul><li>"Hudula ukuze uhambahambe esikrinini"</li>\n<li>"Phakamisa umunwe ukuze uhlehlise isithombe"</li></ul>\n\n"Awukwazi ukusondeza kwikhibhodi noma kwibha yokuzula."</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Sebenzisa inkinobho yokufinyelela ukuze uvule"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Sebenzisa ukuthinta ukuze uvule"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="8485448068531147828">"Sebenzisa ukuthinta kokufinyelela okusha"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="5055636663540877171">"Ukuze uvule noma uvale le sevisi, thepha inkinobho yokufinyelela<xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>phansi kwesikrini sakho.\n\nUkuze ushintshe phakathi kwamasevisi, ukuthinta &amp; ubambe inkinobho yokufinyelela."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback" msgid="7784184645746558289">"Ukuze uvule noma uvale le sevisi, swayiphela phezulu kusuka phansi kwesikrini ngeminwe emibili.\n\nUkuze ushintshe phakathi kwamasevisi, swayiphela phezulu ngeminwe emibili bese uyabamba."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback" msgid="7405718459133831431">"Ukuze uvule noma uvale le sevisi, swayiphela phezulu kusuka phansi kwesikrini ngeminwe emithathu.\n\nUkuze ushintshe phakathi kwamasevisi, swayiphela phezulu, ngeminwe emibili bese uyabamba."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback" msgid="8744979550867005938">"Ukuze uvule noma uvale isevisi yokufinyelela, swayiphela phezulu kusuka phansi kwesikrini ngeminwe emibili.\n\nUkuze ushintshe phakathi kwamasevisi, swayiphela phezulu ngeminwe emibili bese uyabamba."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback" msgid="9124610711696596426">"Ukuze uvule noma uvale isevisi yokufinyelela, swayiphela phezulu kusuka phansi kwesikrini ngeminwe emithathu.\n\nUkuze ushintshe phakathi kwamasevisi, swayiphela phezulu ngeminwe emithathu bese uyabamba."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="3672965930162660635">"Ukuze uvule noma uvale le sevisi, thepha inkinobho yokufinyeleleka engu-<xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> ngaphansi kwesikrini sakho.\n\nUkuze ushintshe phakathi kwamasevisi, thepha uphinde ubambe inkinobho yokufinyeleleka."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="2352392328654233863">"Ukuze uvule noma uvale le sevisi, swayiphela phezulu kusuka phansi kwesikrini ngeminwe emibili.\n\nUkuze ushintshe phakathi kwamasevisi, swayiphela phezulu ngeminwe emibili bese uyabamba."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="3328419170800579107">"Ukuze uvule noma uvale le sevisi, swayiphela phezulu kusuka phansi kwesikrini ngeminwe emithathu.\n\nUkuze ushintshe phakathi kwamasevisi, swayiphela phezulu, ngeminwe emibili bese uyabamba."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="7008711788173462227">"Ukuze uvule noma uvale isevisi yokufinyelela, swayiphela phezulu kusuka phansi kwesikrini ngeminwe emibili.\n\nUkuze ushintshe phakathi kwamasevisi, swayiphela phezulu ngeminwe emibili bese uyabamba."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="8503206088740095124">"Ukuze uvule noma uvale isevisi yokufinyelela, swayiphela phezulu kusuka phansi kwesikrini ngeminwe emithathu.\n\nUkuze ushintshe phakathi kwamasevisi, swayiphela phezulu ngeminwe emithathu bese uyabamba."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"Ngiyezwa"</string>
+    <string name="accessibility_shortcut_title" msgid="8125867833704517463">"<xliff:g id="SERVICE">%1$s</xliff:g> isinqamuleli"</string>
+    <string name="accessibility_shortcut_edit_summary_software" msgid="2820923641553461297">"Inkinobho yokufinyeleleka"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture" msgid="8078659880723370597">"Swayiphela phezulu ngeminwe engu-2"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture_talkback" msgid="7422753388389160524">"Swayiphela phezulu ngeminwe engu-3"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software" msgid="4796192466943479849">"Thepha inkinobho yokufinyeleleka"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8922102767509399352">"Thepha inkinobho yokufinyeleleka engu-<xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> ngaphansi kwesikrini sakho"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="7019216141092205215">"Swayiphela phezulu kusuka ngezansi kwesikrini ngeminwe engu-2"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="5967787136477866253">"Swayiphela phezulu kusuka ngezansi kwesikrini ngeminwe engu-3"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Bamba okhiye bevolomu"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="7318273124091000632">"Cindezela uphinde ubambe bobabili okhiye bevolumu isekhondi elingu-1"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap" msgid="6672798007229795841">"Isikrini sokuthepha kathathu"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="3081710523998838305">"Thepha ngokushesha isikrini izikhathi ezingu-3. Lesi sinqamuleli singase sehlise isivinini sedivayisi yakho."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_advance" msgid="4567868630655591506">"Okuthuthukile"</string>
     <string name="accessibility_screen_magnification_navbar_configuration_warning" msgid="266736851606791552">"Inkinobho yokufinyelela isethelwe ku-<xliff:g id="SERVICE">%1$s</xliff:g>. Ukuze usebenzise ukushintsha, thinta futhi ubambe inkinobho yokufinyelela, bese ukhethe ukushintsha."</string>
     <string name="accessibility_screen_magnification_gesture_navigation_warning" msgid="991017769735632046">"Ukuthinta kokufinyelela kusethelwe ku-<xliff:g id="SERVICE">%1$s</xliff:g>. Ukuze usebenzise ukushintsha usayizi, swayiphela phezulu ngeminwe emibili kusuka phansi kwesikrini futhi ubambe. Bese khetha ukulungisa."</string>
     <string name="accessibility_global_gesture_preference_title" msgid="3713636732641882959">"Isinqamuleli sokhiye wevolumu"</string>
     <string name="accessibility_shortcut_service_title" msgid="6842883700702723355">"Isevisi yesinqamuleli"</string>
+    <string name="accessibility_shortcut_settings" msgid="836783442658447995">"Izilungiselelo zesinqamuleli"</string>
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="5918442016264847021">"Vumela kusuka esikrini sokukhiya"</string>
     <string name="accessibility_shortcut_description" msgid="9051481607998911585">"Uma isinqamuleli sivuliwe, ungacindezela bobabili okhiye bevolumu amasekhondi angu-3 ukuze uqale isici sokufinyelela."</string>
     <string name="accessibility_toggle_high_text_contrast_preference_title" msgid="1830189632458752698">"Umbala okhanya kakhulu"</string>
@@ -2150,24 +2158,42 @@
     <string name="accessibility_control_timeout_preference_summary" msgid="5283566580551714506">"Khetha ukuthi imilayezo izoboniswa isikhathi esingakanani ekucela ukuthi wenze isenzo, kodwa ebonakala kuphela okwesikhashana.\n\nAkuzona zonke izinhlelo zokusebenza ezisekela lesi silungiselelo."</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"Thinta futhi ukulibazisa"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"Ukuguqulwa kombala"</string>
-    <string name="accessibility_display_inversion_preference_subtitle" msgid="6737173589782501324">"Ingaphazamisa ukusebenza"</string>
-    <string name="accessibility_autoclick_preference_title" msgid="6771914155290467570">"Hlala esikhathini"</string>
+    <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"Sebenzisa ukuguqulwa kombala"</string>
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"Ukuguqulwa kombala kushintsha izikrini ezikhanyayo zibe mnyama. Lokhu kusiza abantu abazwela ekukhanyeni okukhulu babone isikrini kalula kakhulu.&lt;br/&gt;&lt;br/&gt;Qaphela: Imibala emnyama izoshintsha ukukhanya. Imibala izoshintsha kumidiya nasezithombeni. Ungasebenzisa netimu emnyama (Izilungiselelo &gt; Nesiboniso)."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"Ukuchofoza ngokuzenzakalelayo (dwell timing)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"Uma usebenzisa imawuzi, ungasetha ikhesa ukuze yenze isenzo ngokuzenzakalela uma iyeka ukuhamba ngesikhathi esithile."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"Bambezela ngaphambi kokuchofoza"</string>
+    <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"Ungasebenzisi ukuchofoza okuzenzakalelayo (okuzenzakalelayo)"</string>
+    <string name="accessibility_autoclick_short_title" msgid="7938302504358912984">"Kufushane"</string>
+    <string name="accessibility_autoclick_short_summary" msgid="4106953930081213514">"0.2 amasekhondi"</string>
+    <string name="accessibility_autoclick_medium_title" msgid="3134175117576834320">"Maphakathi"</string>
+    <string name="accessibility_autoclick_medium_summary" msgid="1343390686514222871">"0.6 amasekhondi"</string>
+    <string name="accessibility_autoclick_long_title" msgid="6799311820641687735">"Kude"</string>
+    <string name="accessibility_autoclick_long_summary" msgid="3747153151313563637">"1 isekhondi"</string>
+    <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"Ngokwezifiso"</string>
+    <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"Okufushane"</string>
+    <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"Okude nakakhulu"</string>
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"Isikhathi sokuchofoza ngokuzenzakalelayo"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"Ukudlidlizela namandla e-haptic"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Ukudlidliza kwesaziso"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Ukudlidliza kokukhala"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Impendulo yokuthinta"</string>
-    <string name="accessibility_service_master_switch_title" msgid="979099798342407249">"Sebenzisa isevisi"</string>
+    <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"Sebenzisa i-<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"Vula i-<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"Sebenzisa ukulungisa kombala"</string>
-    <string name="accessibility_caption_master_switch_title" msgid="2950713524171781503">"Sebenzisa amagama-ncazo"</string>
+    <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"Bonisa amagama-ncazo"</string>
+    <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"Ukubonakala kwegama-ncazo"</string>
+    <string name="captioning_caption_appearance_summary" msgid="5288447033673835822">"Usayizi wombhalo, isitayela segama-ncazo"</string>
+    <string name="captioning_more_options_title" msgid="3484496882942539652">"Ezinye izinketho"</string>
     <string name="accessibility_caption_preference_summary" msgid="1118803144637364439">"Akuzona zonke izinhlelo zokusebenza ezisekela lesi silungiselelo."</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"Inkinobho yokufinyeleleka"</string>
+    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"Ukuswayipha kweminwe emibili kusuka phansi"</string>
+    <string name="accessibility_shortcut_type_hardware" msgid="4834144210432451916">"Bamba okhiye bevolomu"</string>
+    <string name="accessibility_shortcut_type_triple_tap" msgid="7717524216825494543">"Isikrini sokuthepha kathathu"</string>
     <string name="accessibility_hearingaid_instruction_continue_button" msgid="3367260988024430722">"Qhubeka"</string>
     <string name="accessibility_hearingaid_title" msgid="427173678199203191">"Izinsiza zokuzwa"</string>
     <string name="accessibility_hearingaid_not_connected_summary" msgid="3371427366765435743">"Azikho izinsiza zokuzwa ezixhunyiwe"</string>
     <string name="accessibility_hearingaid_adding_summary" msgid="999051610528600783">"Engeza izinsinza zokuzwa"</string>
-    <string name="accessibility_hearingaid_pair_instructions_first_message" msgid="3818611344192290749">"Ukuze ubhanqe insiza yakho yokuzwa, thola futhi uthephe idivayisi yakho esikrinini esilandelayo."</string>
-    <string name="accessibility_hearingaid_pair_instructions_second_message" msgid="7546508010485969475">"Qiniseka ukuthi izinsiza zakho zokuzwa zikumodi yokubhanqa."</string>
+    <string name="accessibility_hearingaid_pair_instructions_message" msgid="8913409742121315657">"Ukuze ubhanqe insiza yakho yokuzwa, thola futhi uthephe idivayisi yakho esikrinini esilandelayo. Qiniseka ukuthi izinsiza zakho zokuzwa zikumodi yokubhanqa."</string>
     <string name="accessibility_hearingaid_active_device_summary" msgid="509703438222873967">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> iyasebenza"</string>
     <plurals name="show_number_hearingaid_count" formatted="false" msgid="776000580683647556">
       <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> kulondolozwe izinsiza zokuzwa</item>
@@ -2179,25 +2205,35 @@
     <string name="accessibility_description_state_stopped" msgid="5364752492861199133">"Le sevisi ayisebenzi kahle."</string>
     <string name="enable_quick_setting" msgid="6648073323202243604">"Bonisa Kuzilungiselelo Ezisheshayo"</string>
     <string name="daltonizer_type" msgid="1715154680803795947">"Imodi yokulungisa"</string>
-    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8532203878881473608">
-      <item quantity="one">Ukubambezeleka okuncane ngokudlulele (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Ukubambezeleka okuncane ngokudlulele (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <string name="daltonizer_mode_deuteranomaly_title" msgid="4210949400493358650">"Okubomvu-okuluhlaza okotshani"</string>
+    <string name="daltonizer_mode_protanomaly_title" msgid="2929354940552262472">"Okuluhlaza okotshani-okubomvu"</string>
+    <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Okuluhlaza okwesibhakabhaka-okuphuzi"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="391621040826073327">"I-Deuteranomaly"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="877971556622350648">"I-Protanomaly"</string>
+    <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"I-Tritanomaly"</string>
+    <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay" formatted="false" msgid="8226135362782015387">
+      <item quantity="one">Ukubambezeka okufushane kakhulu (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> amasekhondi)</item>
+      <item quantity="other">Ukubambezeka okufushane kakhulu (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> amasekhondi)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="5067805618144149445">
-      <item quantity="one">Ukubambezeleka okufushane kakhulu (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Ukubambezeleka okufushane kakhulu (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay" formatted="false" msgid="4440667435012753839">
+      <item quantity="one">Ukubambezeka okufushane kakhulu (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> amasekhondi)</item>
+      <item quantity="other">Ukubambezeka okufushane kakhulu (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> amasekhondi)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="416055324409474880">
-      <item quantity="one">Ukubambezeleka okufushane (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Ukubambezeleka okufushane (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_short_delay" formatted="false" msgid="1627969745093865560">
+      <item quantity="one">Ukubambezeka okufushane (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> amasekhondi)</item>
+      <item quantity="other">Ukubambezeka okufushane (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> amasekhondi)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="556424440912669213">
-      <item quantity="one">Ukubambezeleka okude (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Ukubambezeleka okude (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_long_delay" formatted="false" msgid="1126608261854734991">
+      <item quantity="one">Ukubambezeka okude (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> amasekhondi)</item>
+      <item quantity="other">Ukubambezeka okude (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> amasekhondi)</item>
     </plurals>
-    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="4474904810885802549">
-      <item quantity="one">Ukubambezeleka okude kakhulu (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
-      <item quantity="other">Ukubambezeleka okude kakhulu (<xliff:g id="CLICK_DELAY_LABEL_1">%1$d</xliff:g> ms)</item>
+    <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay" formatted="false" msgid="6624972454933133135">
+      <item quantity="one">Ukubambezeka okude kakhulu (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> amasekhondi)</item>
+      <item quantity="other">Ukubambezeka okude kakhulu (<xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> amasekhondi)</item>
+    </plurals>
+    <plurals name="accessibilty_autoclick_delay_unit_second" formatted="false" msgid="8132935106204075064">
+      <item quantity="one"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> amasekhondi</item>
+      <item quantity="other"><xliff:g id="CLICK_DELAY_LABEL_1">%1$s</xliff:g> amasekhondi</item>
     </plurals>
     <string name="accessibility_vibration_summary" msgid="27904038683405084">"Khalisa i-<xliff:g id="SUMMARY_RING">%1$s</xliff:g>, isaziso se-<xliff:g id="SUMMARY_NOTIFICATION">%2$s</xliff:g>, ukuthinta kwe-<xliff:g id="SUMMARY_TOUCH">%3$s</xliff:g>"</string>
     <string name="accessibility_vibration_summary_off" msgid="7776105450117095736">"Ukukhalisa nesaziso kusethelwe kokuvaliwe"</string>
@@ -2514,7 +2550,6 @@
     <string name="menu_stats_last_unplugged" msgid="230678127178268655">"Ngenkathi igcinwe ukunqamulwa kwe <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
     <string name="menu_stats_total" msgid="2713445396954503670">"Inani lokusetshenziswa"</string>
     <string name="menu_stats_refresh" msgid="6727628139586938835">"Qala kabusha"</string>
-    <string name="process_kernel_label" msgid="7662122411157291974">"I-Android OS"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"Iseva yemidiya"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"Ukuthuthukisa kohlelo lokusebenza"</string>
     <string name="battery_saver" msgid="7737147344510595864">"Isilondolozi sebhethri"</string>
@@ -2595,8 +2630,7 @@
     <string name="tts_play" msgid="2945513377250757221">"Dlala"</string>
     <string name="vpn_settings_title" msgid="9131315656202257272">"I-VPN"</string>
     <string name="credentials_title" msgid="7535942196886123656">" Isitoreji sokuqinisekisa"</string>
-    <string name="credentials_install" product="nosdcard" msgid="3285276242493434158">"Faka kusukela kusitoreji se-USB"</string>
-    <string name="credentials_install" product="default" msgid="3773097518666345628">"Faka kusuka ekhadini le-SD"</string>
+    <string name="credentials_install" msgid="3933218407598415827">"Faka isitifiketi"</string>
     <string name="credentials_install_summary" product="nosdcard" msgid="6644116499934553975">"Faka izitifiketi kusuka ekugcineni"</string>
     <string name="credentials_install_summary" product="default" msgid="8161351950524166012">"Faka izitifiketi zombhalo ofihliwe kusuka ekhadini le-SD"</string>
     <string name="credentials_reset" msgid="4246628389366452655">"Sula ukufakazela ubuqiniso"</string>
@@ -2616,6 +2650,14 @@
     <string name="credentials_erased" msgid="9121052044566053345">"Isitoreji sokuqinisekisa sisuliwe."</string>
     <string name="credentials_not_erased" msgid="3611058412683184031">"Ukulonda kokuqinisekia akwazanga ukusulwa."</string>
     <string name="usage_access_title" msgid="1580006124578134850">"Izinhlelo zokusebenza ezinokufinyelela kokusebenza"</string>
+    <string name="ca_certificate" msgid="3076484307693855611">"Isitifiketi se-CA"</string>
+    <string name="user_certificate" msgid="6897024598058566466">"I-VPN nesitifiketi somsebenzisi sohlelo lokusebenza"</string>
+    <string name="wifi_certificate" msgid="8461905432409380387">"Isitifiketi se-Wi-Fi"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"Ubumfihlo bakho busengcupheni"</string>
+    <string name="ca_certificate_warning_description" msgid="1592953815964406032">"Izitifiketi ze-CA zisetshenziswa amawebhusayithi, izinhlelo zokusebenza, kanye nama-VPN ngokubethela. Faka kuphela izitifiketi ze-CA kusukela kuzinhlangano ozithembayo. \n\n Uma ufaka isitifiketi se-CA, umnikazi wesitifiketi angafinyelela kulwazi lwakho, olufana namaphasiwedi, imilayezo, noma imininingwane yekhadi lesikweletu, kusukela kumawebhusayithi owavakashelayo noma kuzinhlelo zokusebenza ozisebenzisayo - nanoma lolo lwazi lubetheliwe."</string>
+    <string name="certificate_warning_dont_install" msgid="3794366420884560605">"Ungafaki"</string>
+    <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"Faka noma kunjalo"</string>
+    <string name="cert_not_installed" msgid="6725137773549974522">"Isitifiketi asifakiwe"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"Isignali yokudayela isimo esiphuthumayo"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Hlela ukuziphatha lapho ikholi oluphuthumayo lwenziwa"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Sekela ngokulondoloza"</string>
@@ -2643,10 +2685,6 @@
     <string name="remove_and_uninstall_device_admin" msgid="707912012681691559">"Yekisa futhi ukhiphe"</string>
     <string name="select_device_admin_msg" msgid="5501360309040114486">"Izinhlelo zokusebenza zomlawuli wedivayisi"</string>
     <string name="no_device_admins" msgid="8888779888103079854">"Azikho izinhlelo zokusebenza zomlawuli wedivayisi ezitholakalayo"</string>
-    <string name="personal_device_admin_title" msgid="3760026556728177389">"Okomuntu siqu"</string>
-    <string name="managed_device_admin_title" msgid="5995937968962501866">"Umsebenzi"</string>
-    <string name="sms_access_restriction_enabled" msgid="5972388584593509910">"Khawulela i-SMS nokufinyelela kurekhodi lamakholi"</string>
-    <string name="sms_access_restriction_enabled_summary" msgid="8024310355007830849">"Inombolo yefoni ezenzakalelayo nezinhlelo zokusebenza zokulayeza zine-SMS kanye nezimvume zerekhodi lamakholi"</string>
     <string name="no_trust_agents" msgid="8659098725864191600">"Abekho abenzeli bethemba abatholakalayo"</string>
     <string name="add_device_admin_msg" msgid="7730006568970042119">"Sebenzisa uhlelo lokusebenza lomlawuli wedivayisi?"</string>
     <string name="add_device_admin" msgid="6252128813507932519">"Sebenzisa lolu hlelo lokusebenza lomlawuli wedivayisi"</string>
@@ -2660,6 +2698,14 @@
     <string name="admin_disabled_other_options" msgid="8122039047419172139">"Ezinye izinketho zikhutshazwe umlawuli wakho"</string>
     <string name="admin_more_details" msgid="6698424974827333973">"Imininingwane engaphezulu"</string>
     <string name="notification_log_title" msgid="2812594935014664891">"Ilogu yesaziso"</string>
+    <string name="notification_history_title" msgid="8821060912502593309">"Umlando wesaziso"</string>
+    <string name="notification_history_today" msgid="8776595977526590103">"Namuhla"</string>
+    <string name="notification_history_snooze" msgid="3980568893290512257">"Kusnuziwe"</string>
+    <string name="notification_history_dismiss" msgid="6180321217375722918">"Okucashiswe kamuva nje"</string>
+    <plurals name="notification_history_count" formatted="false" msgid="1859304685071321991">
+      <item quantity="one"><xliff:g id="NUMBER_1">%d</xliff:g> izaziso</item>
+      <item quantity="other"><xliff:g id="NUMBER_1">%d</xliff:g> izaziso</item>
+    </plurals>
     <string name="sound_category_call_ringtone_vibrate_title" msgid="9090693401915654528">"Ithoni yokukhala yekholi nokudlidliza"</string>
     <string name="wifi_setup_detail" msgid="2012898800571616422">"Imininingwane yenethiwekhi"</string>
     <string name="accessibility_sync_enabled" msgid="5308864640407050209">"Ukunika amandla kuvumelanisiwe"</string>
@@ -3009,7 +3055,6 @@
     <string name="restriction_settings_title" msgid="4293731103465972557">"Izinciphiso"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"Susa izinciphiso"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"Shintsha i-PIN"</string>
-    <string name="app_notifications_switch_label" msgid="9006158778778728365">"Bonisa izaziso"</string>
     <string name="help_label" msgid="2896538416436125883">"Usizo nempendulo"</string>
     <string name="support_summary" msgid="1034146931237148885">"Ama-athikili osizo, ifoni, ingxoxo, ukuqalisa"</string>
     <string name="user_account_title" msgid="6389636876210834864">"I-akhawunti yokuqukethwe"</string>
@@ -3034,6 +3079,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"Ukushaya kwe-4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Sebenzisa amasevisi we-LTE ukuze uthuthukise izwi nokunye ukuxhumana (kunconyiwe)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Sebenzisa amasevisi we-G4 ukuze uthuthukise izwi nokunye ukuxhumana (kunconyiwe)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Ukuthola oxhumana nabo"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Kuvumela inkampini yenethiwekhi ukuthola ukuthi yiziphi izici ezisekelwa oxhumana nabo."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Unika amandla ukuthola oxhumana nabo?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Ukunika amandla lesi sici kuzovumela inkampini yenethiwekhi yakho ifinyelele inombolo yefoni ekulabo oxhumana nabo ukuze sikwazi ukuthola ukuthi yisiphi isici sokufona abasisekelayo."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Uhlobo lwenethiwekhi oluncamelayo"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"I-LTE (inconyiwe)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"Imilayezo ye-MMS"</string>
@@ -3078,7 +3127,6 @@
     <string name="select_sim_for_calls" msgid="7843107015635189868">"Shaya nge"</string>
     <string name="sim_select_card" msgid="1226182454109919045">"Khetha ikhadi le-SIM"</string>
     <string name="sim_card_number_title" msgid="4728780444646439845">"I-SIM <xliff:g id="CARD_NUMBER">%1$d</xliff:g>"</string>
-    <string name="sim_slot_empty" msgid="5866346525782869086">"I-SIM ayinalutho"</string>
     <string name="sim_editor_name" msgid="5900178038499314621">"Igama le-SIM"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"Faka igama le-SIM"</string>
     <string name="sim_editor_title" msgid="918655391915256859">"Isikhala se-SIM %1$d"</string>
@@ -3088,6 +3136,7 @@
     <string name="sim_card_select_title" msgid="8146523005929848793">"Khetha ikhadi le-SIM"</string>
     <string name="color_orange" msgid="216547825489739010">"Okuwolintshi"</string>
     <string name="color_purple" msgid="6603701972079904843">"Phephuli"</string>
+    <string name="color_pink" msgid="8596872110888626708">"Okuphinki"</string>
     <string name="sim_no_inserted_msg" msgid="7272710974813741735">"Awekho amakhadi we-SIM afakiwe"</string>
     <string name="sim_status_title" msgid="6188770698037109774">"Isimo se-SIM"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"Isimo se-SIM (imbobo ye-sim %1$d)"</string>
@@ -3101,7 +3150,6 @@
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
     <string name="sim_notification_title" msgid="584752983048661108">"Imodi yokuthula ishintshiwe."</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Thepha ukuze usethe"</string>
-    <string name="sim_pref_divider" msgid="8131843546203023324">"I-SIM ethandekayo ye-"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Buza njalo"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Ukukhetha kuyadingeka"</string>
     <string name="sim_selection_channel_title" msgid="3193666315607572484">"Ukhetho lwe-SIM"</string>
@@ -3119,6 +3167,7 @@
     <string name="connected_devices_dashboard_no_nfc_summary" msgid="8424794257586524040">"I-Bluetooth, imodi yokushayela"</string>
     <string name="connected_devices_dashboard_no_driving_mode_summary" msgid="7155882619333726331">"I-Bluetooth, i-NFC"</string>
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary" msgid="1175254057213044560">"I-Bluetooth"</string>
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary" msgid="7132040463607801625">"Akutholakali ngoba i-NFC ivaliwe"</string>
     <string name="app_and_notification_dashboard_title" msgid="2861781687031832943">"Izinhlelo zokusebenza nezaziso"</string>
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Izinhlelo zokusebenza zakamuva, izinhlelo zokusebenza ezizenzakalelayo"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Ukufinyelela kwesaziso akutholakaleli izinhelo zokusebenza kuphrofayela yomsebenzi."</string>
@@ -3129,13 +3178,14 @@
     <string name="search_results_title" msgid="3360639917793022533">"Izilungiselelo"</string>
     <string name="keywords_wifi" msgid="8156528242318351490">"i-wifi, i-wi-fi, uxhumo lwenethiwekhi, i-inthanethi, i-wireless, idatha, i-wi fi"</string>
     <string name="keywords_wifi_notify_open_networks" msgid="6580896556389306636">"Isaziso se-Wi-Fi, isaziso se-wifi"</string>
+    <string name="keywords_wifi_data_usage" msgid="4718555409695862085">"ukusetshenziswa kwedatha"</string>
     <string name="keywords_vibrate_on_touch" msgid="8379369786860641429">"Misa ukudlidliza, thepha, ikhibhodi"</string>
     <string name="keywords_time_format" msgid="5384803098766166820">"Sebenzisa ifomethi ye-24 amahora"</string>
     <string name="keywords_storage_files" msgid="4509695858659705198">"Landa"</string>
     <string name="keywords_app_default" msgid="8977706259156428770">"Vula nge-"</string>
     <string name="keywords_applications_settings" msgid="999926810912037792">"Izinhlelo zokusebenza"</string>
     <string name="keywords_time_zone" msgid="6402919157244589055">"izoni yendawo"</string>
-    <string name="keywords_draw_overlay" msgid="6299815116574901227">"Isihloko sengxoxo"</string>
+    <string name="keywords_draw_overlay" msgid="3170036145197260392">"Inhloko yeshadi, isistimu, isexwayiso, iwindi, ingxoxo, isibonisi, ngaphezu kwezinye izinhlelo zokusebenza, ukulingana"</string>
     <string name="keywords_flashlight" msgid="2133079265697578183">"I-flashlight, isibani, ithoshi"</string>
     <string name="keywords_change_wifi_state" msgid="7573039644328488165">"I-wifi, i-wi-fi, guqula, lawula"</string>
     <string name="keywords_more_mobile_networks" msgid="5041272719326831744">"iselula, iselula, inkampani yenethiwekhi yeselula, okungenantambo, idatha, i-4g, i-3g, i-2g, i-lte"</string>
@@ -3159,7 +3209,7 @@
     <string name="keywords_sounds_and_notifications_interruptions" msgid="1500312884808362467">"ungaphazamisi ukungaphazamisi, phazamisa, ukuphazamisa, ikhefu"</string>
     <string name="keywords_app" msgid="7983814237980258061">"I-RAM"</string>
     <string name="keywords_location" msgid="8016374808099706213">"eduze, indawo, umlando, ukubik, i-GPS"</string>
-    <string name="keywords_accounts" msgid="7732742192332747368">"i-akhawunti"</string>
+    <string name="keywords_accounts" msgid="3482052586502133909">"i-akhawunti, engeza i-akhawunti, iphrofayela yomsebenzi, engeza i-akhawunti"</string>
     <string name="keywords_users" msgid="3497517660077620843">"umkhawulo, khawulela, okukhawulelwe"</string>
     <string name="keywords_keyboard_and_ime" msgid="4741098648730042570">"ukulungiswa kombhalo, ukulunga, umsindo, ukudlidliza, okuzenzakalelayo, ulimi, ukuthinta, phakamisa, isiphakamiso, itimu, okuhlaselayo, igama, uhlobo, i-emoji, okwamazwe ngamazwe"</string>
     <string name="keywords_reset_apps" msgid="8254315757754930862">"setha kabusha, okuncamelayo, okuzenzakalelayo"</string>
@@ -3197,6 +3247,7 @@
     <string name="keywords_storage_settings" msgid="6018856193950281898">"imemori, inqolobane, idatha, susa, sula, khulula, isikhala"</string>
     <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"xhuma, idivayisi, ama-headphones, ama-headset, isipika, i-wireless, ipheya, ama-earbuds, umculo, idatha"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"ingemuva, isikrini, ukukhiya isikrini, itimu"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"umumo wesithonjana, umbala we-accent, ifonti"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"okuzenzakalelayo, umsizi"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"okuzenzakalelayo kwenkokhelo"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"isaziso esingenayo"</string>
@@ -3206,18 +3257,19 @@
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"ama-haptics, ukudlidliza, ukuzwela"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"isilondolozi sebhethri, okunamathelayo, ukuqhubeka, ukulondolozwa kwamandla, ibhethri"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"umzila, ishejuli, isilondolozi sebhethri, isilondolozi samandla, ibhethri, ukuzenzakalela, iphesenti"</string>
-    <string name="keywords_add_an_account" msgid="2428051177661688842">"iphrofayela yomsebenzi"</string>
+    <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"i-volte, ukushaya okuthuthukile, ukushaya kwe-4g"</string>
+    <string name="keywords_add_language" msgid="1882751300359939436">"engeza ulimi, engeza ulimi"</string>
     <string name="default_sound" msgid="6604374495015245195">"Umsindo owufica ukhona"</string>
-    <string name="sound_settings_summary" msgid="9028872028537131054">"Ivolumu yokukhalisa kokungu-<xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="sound_settings_summary" msgid="944761906531715109">"Ivolumu yokukhala neyesaziso ku-<xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Ivolomu, ukudlidliza, ungaphazamisi"</string>
     <string name="sound_settings_summary_vibrate" msgid="7192223433295988890">"Ukukhala kusethelwe ukudlidliza"</string>
     <string name="sound_settings_summary_silent" msgid="746662794579344761">"Ukukhala kusethelwe ukuthula"</string>
-    <string name="sound_settings_example_summary" msgid="8591477547752896452">"Ivolumu yokukhalisa kokungu-80%"</string>
+    <string name="sound_settings_example_summary" msgid="8125110691864707925">"Ivolumu yokukhala neyesaziso ku-80%"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Ivolumu yabezindaba"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Ivolumu yokusakaza"</string>
     <string name="call_volume_option_title" msgid="1461105986437268924">"Ivolumi yocingo"</string>
     <string name="alarm_volume_option_title" msgid="6398641749273697140">"Ivolumu ye-alamu"</string>
-    <string name="ring_volume_option_title" msgid="1628784257083776131">"Ivolumu yokukhala"</string>
+    <string name="ring_volume_option_title" msgid="1520802026403038560">"Ivolumu yokukhala neyesaziso"</string>
     <string name="notification_volume_option_title" msgid="4838818791683615978">"Ivolumu yesaziso"</string>
     <string name="ringtone_title" msgid="3271453110387368088">"Iringithoni yefoni"</string>
     <string name="notification_ringtone_title" msgid="6924501621312095512">"Umsindo wesaziso ozenzakalelayo"</string>
@@ -3225,6 +3277,9 @@
     <string name="notification_sound_default" msgid="8630353701915294299">"Umsindo wesaziso ozenzakalelayo"</string>
     <string name="alarm_ringtone_title" msgid="6680761007731764726">"Umsindo we-alamu ozenzakalelayo"</string>
     <string name="vibrate_when_ringing_title" msgid="3436203665622843196">"Dlidliza kumakholi"</string>
+    <string name="vibrate_when_ringing_option_never_vibrate" msgid="6518980907289156517">"Ingadlidlizi sanhlobo"</string>
+    <string name="vibrate_when_ringing_option_always_vibrate" msgid="968652667232075466">"Hlala udlidliza"</string>
+    <string name="vibrate_when_ringing_option_ramping_ringer" msgid="2798848945803840348">"Mayidlidlize kuqala bese ikhala kancane"</string>
     <string name="other_sound_settings" msgid="5468360269346162072">"Eminye imisindo"</string>
     <string name="dial_pad_tones_title" msgid="3536945335367914892">"Amathoni wephedi yokudayela"</string>
     <string name="screen_locking_sounds_title" msgid="1502654020775767536">"Imisindo yokukhiya isikrini"</string>
@@ -3248,6 +3303,7 @@
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> kunikwe amandla</item>
     </plurals>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Ungaphazamisi"</string>
+    <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Yaziswa kuphela abantu ababalulekile nezinhlelo zokusebenza"</string>
     <string name="zen_mode_slice_subtitle" msgid="6849372107272604160">"Khawulela ukuphazamisa"</string>
     <string name="zen_mode_settings_turn_on_dialog_title" msgid="7500702838426404527">"Vula ukungaphazamisi"</string>
     <string name="zen_mode_behavior_settings_title" msgid="2511039563690605227">"Okuhlukile"</string>
@@ -3274,7 +3330,7 @@
     <string name="zen_mode_summary_combination" msgid="5944689309915947828">"<xliff:g id="MODE">%1$s</xliff:g>: <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_visual_interruptions_settings_title" msgid="7806181124566937214">"Vimbela ukuphazamiseka okubonakalayo"</string>
     <string name="zen_mode_visual_signals_settings_subtitle" msgid="7433077540895876672">"Vumela amasignali okubuka"</string>
-    <string name="zen_mode_settings_category" msgid="3531156898689133018">"Lapho kuvulwe khona Ukungaphazamisi"</string>
+    <string name="zen_mode_settings_category" msgid="3794956668816783447">"Vumela iziphazamiso ezenza umsindo"</string>
     <string name="zen_mode_restrict_notifications_title" msgid="5881948256821375291">"Khawulela izaziso"</string>
     <string name="zen_mode_restrict_notifications_mute" msgid="6692072837485018287">"Awukho umsindo kusukela kuzaziso"</string>
     <string name="zen_mode_restrict_notifications_mute_summary" msgid="966597459849580949">"Uzobona izaziso kusikrini sakho"</string>
@@ -3305,7 +3361,7 @@
     <string name="zen_mode_block_effect_summary_sound" msgid="1559968890497946901">"Umsindo nokudlidliza"</string>
     <string name="zen_mode_block_effect_summary_some" msgid="2730383453754229650">"Umsindo, ukudlidliza, nezinye izimpawu zokubuka zezaziso"</string>
     <string name="zen_mode_block_effect_summary_all" msgid="3131918059492425222">"Umsindo, ukudlidliza, nezimpawu zokubuka zezaziso"</string>
-    <string name="zen_mode_blocked_effects_footer" msgid="505955325110421621">"Izaziso ziyadingeka kumsebenzi wefoni ovamile nesimo ngeke sifihlwe"</string>
+    <string name="zen_mode_blocked_effects_footer" msgid="1115914818435434668">"Izaziso ziyadingeka kumsebenzi wefoni ovamile futhi isimo ngeke sifihlwe sanhlobo."</string>
     <string name="zen_mode_no_exceptions" msgid="1580136061336585873">"Lutho"</string>
     <string name="zen_mode_other_options" msgid="3399967231522580421">"ezinye izinketho"</string>
     <string name="zen_mode_add" msgid="8789024026733232566">"Engeza"</string>
@@ -3335,10 +3391,12 @@
       <item quantity="one"><xliff:g id="ON_COUNT">%d</xliff:g> amashejuli angavula ngokuzenzakalelayo</item>
       <item quantity="other"><xliff:g id="ON_COUNT">%d</xliff:g> amashejuli angavula ngokuzenzakalelayo</item>
     </plurals>
-    <string name="zen_category_behavior" msgid="4456460102057665854">"Thulisa idivayisi kodwa vumela okukhishiwe"</string>
-    <string name="zen_category_exceptions" msgid="6329803391764042865">"Okuhlukile"</string>
-    <string name="zen_category_schedule" msgid="6117378495178187519">"Ishejuli"</string>
-    <string name="zen_sound_title" msgid="7345256674791165630">"Bona okuhlukile"</string>
+    <string name="zen_category_behavior" msgid="9188445582469977640">"Okuhlukile uma Ukungaphazamisi kuvuliwe"</string>
+    <string name="zen_category_people" msgid="8252926021894933047">"Abantu"</string>
+    <string name="zen_category_apps" msgid="1167374545618451925">"Izinhlelo zokusebenza"</string>
+    <string name="zen_category_exceptions" msgid="1316097981052752811">"Ama-alamu nokunye ukuphazamiseka"</string>
+    <string name="zen_category_schedule" msgid="2003707171924226212">"Amashejuli"</string>
+    <string name="zen_category_visuals" msgid="2875037337125038831">"Izaziso ezithulisiwe"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"Uma kuvulwe ukungaphazamisi, umsindo nokudlidliza kuzothuliswa, ngaphandle kwezinto ozivumela ngaphezulu."</string>
     <string name="zen_sound_category_title" msgid="3092475944624375238">"Thulisa konke ngaphandle"</string>
     <string name="zen_sound_all_muted" msgid="1134675098348493443">"Kuthulisiwe"</string>
@@ -3382,16 +3440,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"Izaziso eziguqukayo"</string>
     <string name="asst_capability_prioritizer_title" msgid="1181272430009156556">"Ukubaluleka kwesaziso sokujwayela"</string>
     <string name="asst_capability_prioritizer_summary" msgid="954988212366568737">"Setha ngokuzenzakalela izaziso zokubaluleka okuncane zibe Mnene"</string>
+    <string name="asst_capability_ranking_title" msgid="312998580233257581">"Ukulinganisa kwesaziso sokujwayela"</string>
+    <string name="asst_capability_ranking_summary" msgid="2293524677144599450">"Linganisa ngokuzenzakalelayo izaziso ngokuhlobana"</string>
     <string name="asst_capabilities_actions_replies_title" msgid="4392470465646394289">"Izenzo eziphakanyisiwe nezimpendulo"</string>
     <string name="asst_capabilities_actions_replies_summary" msgid="416234323365645871">"Bonisa ngokuzenzakalela izenzo eziphakanyisiwe nezimpendulo"</string>
+    <string name="notification_history_summary" msgid="6821337322742231789">"Vula umlando wesaziso ukuze ulandele izaziso ezedlule nezaziso ezisnuziwe"</string>
+    <string name="notification_history" msgid="8663811361243456201">"Umlando wesaziso"</string>
+    <string name="notification_history_turn_on" msgid="3298178949776249681">"Vula umlando"</string>
+    <string name="notification_history_turn_off" msgid="3141050596252009528">"Vala umlando"</string>
+    <string name="notification_history_off_title_extended" msgid="2174043349602912717">"Umlando wesaziso uvaliwe"</string>
+    <string name="notification_history_view_settings" msgid="5269317798670449002">"buka izilungiselelo zesaziso"</string>
     <string name="snooze_options_title" msgid="2109795569568344617">"Vumela ukusnuza kwesaziso"</string>
     <string name="hide_silent_icons_title" msgid="5951392023601167577">"Fihla izithonjana kusukela kuzaziso ezimnene"</string>
     <string name="hide_silent_icons_summary" msgid="623763437631637232">"Izithonjana kusukela kuzaziso ezimnene aziboniswa kubha yesimo"</string>
     <string name="notification_badging_title" msgid="3149547223586336353">"Vumela amachashazi esaziso"</string>
+    <string name="notification_people_strip_title" msgid="1185857822541001139">"Bonisa uhambo lezingxoxo zakamuva"</string>
     <string name="notification_bubbles_title" msgid="5681506665322329301">"Amabhamu"</string>
     <string name="notification_bubbles_developer_setting_summary" msgid="3675697756601760093">"Ezinye izaziso zingabonakala njengamabhamuza esikrinini"</string>
     <string name="bubbles_feature_education" msgid="4088275802688887634">"Ezinye izaziso nokunye okuqukethwe kungavela njengamabhamuza kusikrini. Ukuze uvule ibhamuza, lithephe. Ukuze ulicashise, lidonsele phansi kusikrini."</string>
     <string name="bubbles_app_toggle_title" msgid="5319021259954576150">"Amabhamuza"</string>
+    <string name="bubbles_conversation_toggle_summary" msgid="7518341992582158610">"Imilayezo emisha izovela kusikrini"</string>
     <string name="bubbles_app_toggle_summary" msgid="1574515698567947948">"Vumela i-<xliff:g id="APP_NAME">%1$s</xliff:g> ukuthi ikubonise ezinye izaziso njengamabhamuza"</string>
     <string name="bubbles_feature_disabled_dialog_title" msgid="1233382767099262132">"Vula amabhamuza"</string>
     <string name="bubbles_feature_disabled_dialog_text" msgid="6969068442520056407">"Ukuze uvule amabhamuza kulolu hlelo lokusebenza, kokuqala udinga ukuwavula kudivayisi yakho. Lokhu kuthinta ezinye izinhlelo zokusebenza lapho uvule khona ngaphambilini amabhamuza."</string>
@@ -3409,6 +3477,7 @@
     <string name="gentle_notifications_display_summary_shade_lock" msgid="3936088046873705625">"Iboniswa kumthunzi wokudonsela phansi nowokukhiywa kwesikrini"</string>
     <string name="gentle_notifications_display_summary_shade_status" msgid="3363137853729359907">"Iboniswa kumthunzi wokudonselwa phansi nakubha yesimo"</string>
     <string name="gentle_notifications_display_summary_shade_status_lock" msgid="2068738866725616212">"Iboniswa kumthunzi wokudonselwa phansi, ibha yesimo nokukhiywa kwesikrini"</string>
+    <string name="silent_notifications_status_bar" msgid="6113307620588767516">"Fihla izaziso ezithulile kubha yesimo"</string>
     <string name="notification_pulse_title" msgid="8013178454646671529">"Cwabizisa ukukhanya"</string>
     <string name="lock_screen_notifications_title" msgid="6215543388550190381">"Khiya isikrini"</string>
     <string name="lockscreen_bypass_title" msgid="6519964196744088573">"Yeqa ukuze ukhiye isikrini"</string>
@@ -3439,6 +3508,17 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"Ukuziphatha"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"Vumela umsindo"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"Ungalokothi ubonise izaziso"</string>
+    <string name="conversations_category_title" msgid="5586541340846847798">"Izingxoxo"</string>
+    <string name="conversation_category_title" msgid="6777135786004214149">"Ingxoxo"</string>
+    <string name="demote_conversation_title" msgid="6355383023376508485">"Akuyona ingxoxo"</string>
+    <string name="demote_conversation_summary" msgid="4319929331165604112">"Susa kusuka kwisigaba sengxoxo"</string>
+    <string name="promote_conversation_title" msgid="4731148769888238722">"Lena ingxoxo"</string>
+    <string name="promote_conversation_summary" msgid="3890724115743515035">"Engeza esigabeni sengxoxo"</string>
+    <string name="manage_conversations" msgid="4440289604887824337">"Phatha izingxoxo"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"Izingxoxo ezibalulekile"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"Zonke izingxoxo"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"Faka amabhamuza kuzingxoxo ezibalulekile"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"Izingxoxo ezibalulekile ziboniswa phezulu komthunzi wokudonsela phansi. Futhi ungazisethela kubhamuza uphinde uphazamise Ukungaphazamisi."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"Bonisa ngokuthulile uphinde unciphise"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"Bonisa ngokuthulile"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"Yenza umsindo"</string>
@@ -3457,7 +3537,7 @@
     <string name="notification_channel_summary_low" msgid="4842529455460294865">"Ikusiza ukuthi ugxile ngaphandle komsindo noma ukudlidliza"</string>
     <string name="notification_channel_summary_default" msgid="2919219975379032181">"Ithola ukunaka kwakho ngomsindo noma ukudlidliza"</string>
     <string name="notification_channel_summary_high" msgid="3411637309360617621">"Uma idivayisi ivuliwe, bonisa izaziso njengesibhengezo ngaphezulu kwesikrini"</string>
-    <string name="notification_switch_label" msgid="2950240358797111509">"Bonisa izaziso"</string>
+    <string name="notification_switch_label" msgid="6022236996552304892">"Zonke izaziso ze-<xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
     <string name="default_notification_assistant" msgid="243718059890346442">"Izaziso eziguqukayo"</string>
     <plurals name="notifications_sent_daily" formatted="false" msgid="1479283620504341566">
       <item quantity="one">~<xliff:g id="NUMBER_1">%d</xliff:g> izaziso ngosuku</item>
@@ -3478,6 +3558,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"Izaziso eziguqukayo"</string>
     <string name="no_notification_assistant" msgid="2533323397091834096">"Lutho"</string>
     <string name="no_notification_listeners" msgid="2839354157349636000">"Azikho izinhlelo zokusebenza ezicele ukufinyelela kwesaziso."</string>
+    <string name="notification_access_detail_switch" msgid="46386786409608330">"Vumela ukufinyelela kwesaziso"</string>
     <string name="notification_assistant_security_warning_title" msgid="2972346436050925276">"Vumela ukufinyelela kwesaziso kwe-<xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
     <string name="notification_assistant_security_warning_summary" msgid="3119843404577399036">"<xliff:g id="NOTIFICATION_ASSISTANT_NAME">%1$s</xliff:g> uzokwazi ukufunda zonke izaziso, kufaka phakathi ulwazi lomuntu siqu njengamagama okuxhumana nemibhalo yemilayezo oyitholayo. Futhi izokwazi ukushintsha noma ukulahla izaziso noma ukucupha izinkinobho zesenzo eziqukethwe. \n\nLokhu kuzonika uhlelo lokusebenza amandla okuvula nokuvala okuthi ungaphazamisi futhi kushintshe izilungiselelo eziphathelene."</string>
     <string name="notification_listener_security_warning_title" msgid="5791700876622858363">"Vumela ukufinyelela kwe-<xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
@@ -3539,8 +3620,10 @@
     <string name="app_notifications_dialog_done" msgid="573716608705273004">"Kwenziwe"</string>
     <string name="app_notification_importance_title" msgid="8293193440040799998">"Ukubaluleka"</string>
     <string name="notification_show_lights_title" msgid="5564315979007438583">"Cwabizisa ukukhanya"</string>
-    <string name="notification_vibrate_title" msgid="6207488114527068741">"Dlidlizela"</string>
+    <string name="notification_vibrate_title" msgid="1422330728336623351">"Ukudlidliza"</string>
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"Umsindo"</string>
+    <string name="notification_conversation_important" msgid="3502749563429704283">"Kubalulekile"</string>
+    <string name="notification_conversation_add_to_home" msgid="8136269431130231389">"Engeza ekhaya"</string>
     <string name="zen_mode_rule_delete_button" msgid="7642063606919058862">"Susa"</string>
     <string name="zen_mode_rule_rename_button" msgid="4158377587795511144">"Qamba kabusha"</string>
     <string name="zen_mode_rule_name" msgid="7303080427006917702">"Igama leshejuli"</string>
@@ -3594,6 +3677,10 @@
       <item quantity="one"><xliff:g id="NUM_PEOPLE">%d</xliff:g> okunye</item>
       <item quantity="other"><xliff:g id="NUM_PEOPLE">%d</xliff:g> okunye</item>
     </plurals>
+    <string name="zen_mode_conversations_title" msgid="5491912973456026379">"Izingxoxo"</string>
+    <string name="zen_mode_from_all_conversations" msgid="4646332080225579376">"Kusukela kuzo zonke izingxoxo"</string>
+    <string name="zen_mode_from_important_conversations" msgid="5249278652331540929">"Kusukela kuzingxoxo ezibalulekile"</string>
+    <string name="zen_mode_from_no_conversations" msgid="2525336494889055022">"Ungavumeli noma yiziphi izingxoxo"</string>
     <string name="zen_mode_messages" msgid="7835537207069585861">"Vumela imilayezo"</string>
     <string name="zen_mode_messages_footer" msgid="6996375319078720643">"Ukuze uqinisekise ukuthi imilayezo evunyelwe nayo yenza umsindo, hlola uma ngabe idivayisi yakho isethelwe ukuthi ikhale, idlidlize, noma ithule."</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"Okwemilayezo engenayo ye-\'<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>\' evinjiwe. Ungalungisa izilungiselelo ukuze uvumele abangani bakho, umndeni, noma abanye oxhumana nabo ukuthi bafinyelele kuwe."</string>
@@ -3607,15 +3694,20 @@
     <string name="zen_mode_from_none" msgid="8456745188276131873">"Lutho"</string>
     <string name="zen_mode_from_none_calls" msgid="419514492513274710">"Ungavumeli amakholi"</string>
     <string name="zen_mode_from_none_messages" msgid="122458013195428548">"Ungavumeli imilayezo"</string>
-    <string name="zen_mode_alarms" msgid="1111047002365378012">"Vumela ama-alamu"</string>
+    <string name="zen_mode_alarms" msgid="5989343060100771099">"Ama-alamu"</string>
+    <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"Kusukela kuzibali sikhathi, ama-alamu, amasistimu okuvikela, nezinye izinhlelo zokusebenza"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"ama-alamu"</string>
-    <string name="zen_mode_media" msgid="3470940840136036522">"Dlala imisindo yemidiya"</string>
+    <string name="zen_mode_media" msgid="885017672250984735">"Imisindo yemidiya"</string>
+    <string name="zen_mode_media_summary" msgid="3052407079117545815">"Kusukela kumavidiyo, amageyimu, nenye imidiya"</string>
     <string name="zen_mode_media_list" msgid="2006413476596092020">"imidiya"</string>
-    <string name="zen_mode_system" msgid="4996563074066075171">"Vumela imisindo yokuthinta"</string>
+    <string name="zen_mode_system" msgid="7301665021634204942">"Imisindo yokuthinta"</string>
+    <string name="zen_mode_system_summary" msgid="7905531918458452765">"Kusukela kukhibhodi yakho nezinye izinkinobho"</string>
     <string name="zen_mode_system_list" msgid="2256218792042306434">"imisindo yokuthinta"</string>
-    <string name="zen_mode_reminders" msgid="1957379696610030851">"Vumela izikhumbuzi"</string>
+    <string name="zen_mode_reminders" msgid="1970224691551417906">"Izikhumbuzi"</string>
+    <string name="zen_mode_reminders_summary" msgid="3961627037429412382">"Kusukela kumisebenzi nezikhumbuzi"</string>
     <string name="zen_mode_reminders_list" msgid="3133513621980999858">"izikhumbuzi"</string>
-    <string name="zen_mode_events" msgid="5695716091022098055">"Vumela imicimbi"</string>
+    <string name="zen_mode_events" msgid="7455308377739125312">"Imibuthano"</string>
+    <string name="zen_mode_events_summary" msgid="3241903481309766428">"Kusukela kumicimbi yekhalenda ezayo"</string>
     <string name="zen_mode_bypassing_apps" msgid="625309443389126481">"Vumela izinhlelo zokusebenza ukubhala ngaphezulu"</string>
     <string name="zen_mode_bypassing_apps_title" msgid="4142154650779609193">"Ukukhishwa kohlelo lokusebenza"</string>
     <plurals name="zen_mode_bypassing_apps_subtext" formatted="false" msgid="3992144201138339160">
@@ -3658,6 +3750,7 @@
     <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"Vumela izaziso zithuliswe ngokuthi Ungaphazamisi kuvule isikrini"</string>
     <string name="notification_app_settings_button" msgid="4692549882609342128">"Izilungiselelo zesaziso"</string>
     <string name="suggestion_button_text" msgid="4370673818678692873">"Kulungile"</string>
+    <string name="suggestion_button_close" msgid="6865170855573283759">"Vala"</string>
     <string name="device_feedback" msgid="5351614458411688608">"Thumela impendulo mayelana nale divayisi"</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"Faka iphinikhodi yomlawuli"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"Vuliwe"</string>
@@ -3668,6 +3761,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Cela iphinikhodi ngaphambi kokuphina"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Cela iphasiwedi ngaphambi kokususa ukuphina"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Khiya idivayisi uma ususa ukuphina"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Qinisekisa ukutholwa kwe-SIM"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"Qinisekisa ukuthi uwena ngaphambi kokususa i-SIM elandiwe"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"Le phrofayela yomsebenzi iphethwe ngu:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"Iphethwe ngu-<xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(Ukuhlola)"</string>
@@ -3742,8 +3837,6 @@
     <string name="filter_all_apps" msgid="6645539744080251371">"Zonke izinhlelo zokusebenza"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Izinhlelo zokusebenza ezifakiwe"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Izinhlelo zokusebenza ezisheshayo"</string>
-    <string name="filter_personal_apps" msgid="6381137559116555485">"Okomuntu siqu"</string>
-    <string name="filter_work_apps" msgid="5080158572515936510">"Umsebenzi"</string>
     <string name="filter_notif_all_apps" msgid="2764590815789208306">"Izinhlelo zokusebenza: Konke"</string>
     <string name="filter_notif_blocked_apps" msgid="1065653868850012325">"Vala"</string>
     <string name="filter_notif_urgent_channels" msgid="875381675739324318">"Izigaba: Ukubaluleka okusheshayo"</string>
@@ -3755,6 +3848,7 @@
     <string name="unknown_app" msgid="2027248925719898714">"Uhlelo lokusebenza olungaziwa"</string>
     <string name="app_permissions" msgid="8666537659217653626">"Isiphathi semvume"</string>
     <string name="app_permissions_summary" msgid="2709819220672938860">"Izinhlelo zokusebenza ezisebenzisa ama-<xliff:g id="APPS">%1$s</xliff:g>"</string>
+    <string name="app_permissions_summary_more" msgid="6247952473615352350">"Izinhlelo zokusebenza ezisebenzisa i-<xliff:g id="APPS">%1$s</xliff:g>, nokuningi"</string>
     <string name="tap_to_wake" msgid="3313433536261440068">"Thepha ukuze uvuse"</string>
     <string name="tap_to_wake_summary" msgid="6641039858241611072">"Thepha kabili noma yikuphi kusikrini ukuze uvuse idivayisi"</string>
     <string name="domain_urls_title" msgid="7012209752049678876">"Ivula izixhumanisi"</string>
@@ -3766,9 +3860,14 @@
       <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> izinhlelo zokusebenza ezivula izixhumanisi ezisekelwe</item>
       <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> izinhlelo zokusebenza ezivula izixhumanisi ezisekelwe</item>
     </plurals>
-    <string name="app_link_open_always" msgid="7734202520425781182">"Vula kulolu hlelo lokusebenza"</string>
+    <string name="app_link_open_always" msgid="9167065494930657503">"Vumela uhlelo lokusebenza ukuthi luvule izixhumanisi ezisekwelwe"</string>
     <string name="app_link_open_ask" msgid="2422450109908936371">"Buza njalo"</string>
-    <string name="app_link_open_never" msgid="4324624654943778291">"Ungavuli kulolu hlelo lokusebenza"</string>
+    <string name="app_link_open_never" msgid="5299808605386052350">"Ungavumeli uhlelo lokusebenza ukuthi luvule izixhumanisi"</string>
+    <plurals name="app_link_open_always_summary" formatted="false" msgid="1816161439007251694">
+      <item quantity="one">Uhlelo lokusebenza luthi luphethe izixhumanisi ezingu-<xliff:g id="COUNT_1">%d</xliff:g></item>
+      <item quantity="other">Uhlelo lokusebenza luthi luphethe izixhumanisi ezingu-<xliff:g id="COUNT_1">%d</xliff:g></item>
+    </plurals>
+    <string name="open_supported_links_footer" msgid="3188808142432787933">"Uhlelo lokusebenza luthi luphele izixhumanisi ezilandelayo:"</string>
     <string name="default_apps_title" msgid="6943471331817718664">"Okuzenzakalelayo"</string>
     <string name="default_for_work" msgid="537558180548617528">"Okuzenzakalelayo kokusebenza"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"Okokufaka kwensiza nezwi"</string>
@@ -3912,8 +4011,11 @@
     <string name="system_alert_window_access_title" msgid="3074573819155116817">"Bonisa ngaphezulu kwezinye izinhlelo zokusebenza"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Vumela ukuboniswa ngaphezu kwezinye izinhlelo zokusebenza"</string>
     <string name="allow_overlay_description" msgid="2266886438777971131">"Vumela lolu hlelo lokusebenza ukuthi luboniswe ngaphezulu kwezinye izinhlelo zokusebenza ozisebenzisayo. Lingaphazamisana nokusebenza kwalezo zinhlelo zokusebenza noma lishintshe indlela ezibonakala zivela ngayo noma eziziphatha ngayo."</string>
+    <string name="manage_external_storage_title" msgid="8024521099838816100">"Ukufinyelela kuwo wonke amafayela"</string>
+    <string name="permit_manage_external_storage" msgid="6928847280689401761">"Vumela ukufinyelela ukuze kuphathwe wonke amafayela"</string>
+    <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Vumela lolu hlelo lokusebenza ukuthi lufunde, lulungise luphinde lususe wonke amafayela kule divayisi noma kwamanye amavolumu axhunyiwe esitoreji. Uma linikeziwe, uhlelo lokusebenza lungafinyelela kumafayela ngaphandle kokwazi kwakho okusobala."</string>
+    <string name="filter_manage_external_storage" msgid="6751640571715343804">"Ingafinyelela kuwo wonke amafayela"</string>
     <string name="keywords_vr_listener" msgid="902737490270081131">"isevisi yomsizi we-vr wangempela okubonakalayo kwesitiriyo somlaleli"</string>
-    <string name="keywords_system_alert_window" msgid="5810664019581804395">"ukuboniwa kwewindi lengxoxo yokwaziswa kwesistimu ngaphezulu kwezinye izinhlelo zokusebenza"</string>
     <string name="overlay_settings" msgid="2030836934139139469">"Bonisa ngaphezulu kwezinye izinhlelo zokusebenza"</string>
     <string name="system_alert_window_summary" msgid="1435856750594492891">"<xliff:g id="COUNT_0">%1$d</xliff:g> kuzinhlelo zokusebenza ezingu-<xliff:g id="COUNT_1">%2$d</xliff:g> zivunyelwe ukuboniswa ngaphezulu kwezinye izinhlelo zokusebenza"</string>
     <string name="filter_overlay_apps" msgid="2483998217116789206">"Izinhlelo zokusebenza ezinemvume"</string>
@@ -4079,6 +4181,8 @@
     <string name="data_used_formatted" msgid="7913920278059077938">"<xliff:g id="ID_1">^1</xliff:g> <xliff:g id="ID_2">^2</xliff:g> esetshenzisiwe"</string>
     <string name="data_overusage" msgid="3680477320458707259">"<xliff:g id="ID_1">^1</xliff:g> ngaphezulu"</string>
     <string name="data_remaining" msgid="6316251496381922837">"<xliff:g id="ID_1">^1</xliff:g> osele"</string>
+    <string name="data_usage_chart_brief_content_description" msgid="5548074070258881530">"Igrafu ebonisa ukusetshenziswa kwedatha phakathi kuka-<xliff:g id="START_DATE">%1$s</xliff:g> no-<xliff:g id="END_DATE">%2$s</xliff:g>."</string>
+    <string name="data_usage_chart_no_data_content_description" msgid="5481968839079467231">"Ayikho idatha kuleli banga ledethi"</string>
     <plurals name="billing_cycle_days_left" formatted="false" msgid="661792524671718753">
       <item quantity="one">%d izinsuku ezisele</item>
       <item quantity="other">%d izinsuku ezisele</item>
@@ -4142,14 +4246,10 @@
     <string name="notification_log_details_parcel" msgid="2098454650154230531">"usayizi wephasela"</string>
     <string name="notification_log_details_ashmem" msgid="6163312898302809015">"ashmem"</string>
     <string name="notification_log_details_alerted" msgid="5285078967825048406">"isaziso sazisiwe"</string>
-    <string name="notification_log_details_sound" msgid="2245643595630552205">"umsindo"</string>
-    <string name="notification_log_details_vibrate" msgid="4860054834631945362">"dlidliza"</string>
-    <string name="notification_log_details_vibrate_pattern" msgid="8319407337975194161">"iphethini"</string>
-    <string name="notification_log_details_default" msgid="1564086150220725726">"okuzenzakalelayo"</string>
+    <string name="notification_log_channel" msgid="3406738695621767204">"isiteshi"</string>
     <string name="notification_log_details_none" msgid="1090852853755089991">"lutho"</string>
     <string name="notification_log_details_ranking_null" msgid="6607596177723101524">"Into yokulinganisa ilahlekile."</string>
     <string name="notification_log_details_ranking_none" msgid="2484105338466675261">"Into yokulinganisa ayiqukethe lo khiye."</string>
-    <string name="theme_customization_category" msgid="6031945560184297318">"Yenza itimu"</string>
     <string name="theme_customization_device_default" msgid="7641813022590999286">"Idivayisi ezenzakalelayo"</string>
     <string name="display_cutout_emulation" msgid="1421648375408281244">"Ukusikwa kwesiboniso"</string>
     <string name="display_cutout_emulation_keywords" msgid="4506580703807358127">"bonisa ukusika, inotshi"</string>
@@ -4238,8 +4338,12 @@
     <string name="information_label" msgid="6939310810756569298">"Ulwazi"</string>
     <string name="low_label" msgid="6525629096999711220">"Phansi"</string>
     <string name="high_label" msgid="357503396626018487">"Phezulu"</string>
-    <string name="back_sensitivity_dialog_message" msgid="613168204296434222">\n"Ukuzwela okuphezulu kungagxubuzana nanoma yikuphi ukuthinta kohlelo lokusebenza emiphethweni yesikrini."</string>
+    <string name="left_edge" msgid="1513576842959071849">"Umkhawulo ongakwesokunxele"</string>
+    <string name="right_edge" msgid="1505309103265829121">"Umkhawulo ongakwesokudla"</string>
+    <string name="back_sensitivity_dialog_message" msgid="6638367716784103306">"Ukuzwela okuphezulu kungagxubuzana nanoma yikuphi ukuthinta kohlelo lokusebenza emiphethweni yesikrini."</string>
     <string name="back_sensitivity_dialog_title" msgid="6153608904168908264">"Ukuzwela kwasemuva"</string>
+    <string name="gesture_settings_activity_title" msgid="6047431928567911330">"Izilungiselelo zokuthinta"</string>
+    <string name="keywords_gesture_navigation_settings" msgid="667561222717238931">"ukuzula kokuthinta, ukuzwela kwasemuva, ukuthinta kwasemuva"</string>
     <string name="ambient_display_title" product="default" msgid="5885136049497127396">"Thepha kabili ukuze uhlole ifoni"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"Thepha kabili ukuze uhlole ithebulethi"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"Thepha kabili ukuze uhlole idivayisi"</string>
@@ -4394,7 +4498,6 @@
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"Cupha ukunikezwa kwenkampani yenethiwekhi"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"Buyekeza okuthi ungaphazamisi"</string>
     <string name="zen_suggestion_summary" msgid="1984990920503217">"Misa isikhashana izikhangiso ukuze uhlale ugxilile"</string>
-    <string name="disabled_low_ram_device" msgid="5456316412719852286">"Lesi sici asitholakali kule divayisi"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"Isici asitholakali"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"Lesi sici sivaliwe ngoba sibambezela ifoni yakho"</string>
     <string name="enable_gnss_raw_meas_full_tracking" msgid="1206679951510243341">"Phoqa izikali ezigcwele ze-GNSS"</string>
@@ -4404,20 +4507,26 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"Khetha uhlelo lokusebenza olunikwe amandla lwe-ANGLE"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"Alukho uhlelo lokusebenza olunikwe amandla lwe-ANGLE olusethiwe"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"Uhlelo lokusebenza olunikwe amandla lwe-ANGLE: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="game_driver_dashboard_title" msgid="3712698197368751098">"Okuncanyelwayo komshayeli wegeyimu"</string>
-    <string name="game_driver_dashboard_summary" msgid="5237656921753714014">"Lungisa izilungiselelo zedrayiva yegeyimu"</string>
-    <string name="game_driver_footer_text" msgid="2265216549831941145">"Uma umshayeli wegeyimu avuliwe, ungathatha ukuze usebenzise i-graphics driver ebuyekeziwe yezinhlelo zokusebenza ezifakwe kudivayisi."</string>
-    <string name="game_driver_all_apps_preference_title" msgid="298512356345656779">"Nikela amandla zonke izinhlelo zokusebenza"</string>
-    <string name="game_driver_app_preference_title" msgid="6863447512388154419">"Khetha umshayeli wemifanekiso"</string>
-    <string name="game_driver_app_preference_default" msgid="1269684396998407074">"Okuzenzekelayo"</string>
-    <string name="game_driver_app_preference_game_driver" msgid="2329054801549222463">"Umshayeli wegeyimu"</string>
-    <string name="game_driver_app_preference_prerelease_driver" msgid="7258721417404540425">"Umshayela wokukhulula ngaphambilini"</string>
-    <string name="game_driver_app_preference_system" msgid="6391897754441906403">"Umshayeli wemifanekiso yesistimu"</string>
-    <!-- no translation found for game_driver_all_apps_preference_values:0 (7452588158761007889) -->
-    <!-- no translation found for game_driver_all_apps_preference_values:1 (754592542604697) -->
-    <!-- no translation found for game_driver_app_preference_values:0 (2432393448266016546) -->
-    <!-- no translation found for game_driver_app_preference_values:1 (398843973192851256) -->
-    <!-- no translation found for game_driver_app_preference_values:2 (8840726898745627072) -->
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"Okuncanyelwayo kwesishayeli semifanekiso"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"Lungisa izilungiselelo zesishayeli semifanekiso"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"Lapho kukhona izishayeli zemifanekiso eziningi, ungakhetha ukusebenzisa isishayeli semifanekiso esibuyekeziwe sezinhlelo zokusebenza ezifakwe kudivayisi."</string>
+    <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"Nikela amandla zonke izinhlelo zokusebenza"</string>
+    <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"Khetha i-Graphics Driver"</string>
+    <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"Okuzenzekelayo"</string>
+    <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"Umshayeli wegeyimu"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"Isishayeli Sikanjiniyela"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Umshayeli wemifanekiso yesistimu"</string>
+    <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
+    <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
+    <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
+    <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
+    <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
+    <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Ushintsho lokuhambisana kohlelo lokusebenza"</string>
+    <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Guqula ushintsho lokuhambisana kohlelo lokusebenza"</string>
+    <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Ushintsho olunikwe amandla oluzenzakalelayo"</string>
+    <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Ushintsho olukhutshaziwe oluzenzakalelayo"</string>
     <string name="unsupported_setting_summary" product="default" msgid="1085229417771470172">"Isilungiselelo asisekelwa kule foni"</string>
     <string name="unsupported_setting_summary" product="tablet" msgid="7402414129786489664">"Isilungiselelo asisekelwa kule thebhulethi"</string>
     <string name="unsupported_setting_summary" product="device" msgid="3422953459122926833">"Isilungiselelo asisekelwa kule divayisi"</string>
@@ -4436,6 +4545,11 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"Idivayisi"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Akutholakali ngesikhathi samakholi"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"Akutholakali"</string>
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"Engeza okukhiphayo"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"Iqembu"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 idivayisi ekhethiwe"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> amadivayisi akhethiwe"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"Iyashintsha…"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Thatha ikholi ku-"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Le APN ayikwazi ukuguqulwa."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Thuthukisa impilo yebhethri lethebulethi"</string>
@@ -4553,10 +4667,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"I-SIM eyodwa kuphela elandiwe engeziwa isebenze ngesikhathi esithile.\n\nUkushintshela ku-<xliff:g id="CARRIER1">%1$s</xliff:g> ngeke kuze kukhansele isevisi yakho ye-<xliff:g id="CARRIER2">%2$s</xliff:g>."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Shintshela ku-<xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Sula i-SIM"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Sula le SIM elandiwe?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Ukusula le-SIM kususa isevisi ye-<xliff:g id="CARRIER_0">%1$s</xliff:g> kusukela kule divayisi.\n\nIsevisi ye-<xliff:g id="CARRIER_1">%2$s</xliff:g> ngeke ize ikhanselwe."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Sula"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Isula i-SIM…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Ayikwazi ukusula i-SIM"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Le SIM ayikwazi ukusulwa ngenxa yephutha.\n\nQala kabusha idivayisi yakho uphinde uzame futhi."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Uhlobo lwenethiwekhi oluncamelayo"</string>
@@ -4581,7 +4691,6 @@
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Imodi yenethiwekhi engavumelekile <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Ziba."</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Amagama wephoyinti lokufinyelela"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Ayitholakali uma ixhumeke ku-<xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="emergency_info_contextual_card_summary" msgid="4472575229724567215">"Ulwazi lezemithi, oxhumana nabo besimo esiphuthumayo"</string>
     <string name="see_more" msgid="7499355691042812723">"Bona okuningi"</string>
     <string name="see_less" msgid="2642392725363552793">"Buka okuncane"</string>
     <string name="network_connection_request_dialog_title" msgid="4683049769192109232">"Idivayisi ezosetshenziswa ne-<xliff:g id="APPNAME">%1$s</xliff:g>"</string>
@@ -4590,11 +4699,8 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"Okuthile kuvelile. Uhlelo lokusebenza likhansele isicelo sokukhetha idivayisi."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"Ukuxhumeka kuphumelele"</string>
     <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"Bonisa konke"</string>
-    <plurals name="show_bluetooth_devices" formatted="false" msgid="5247313302567705452">
-      <item quantity="one"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> amadivayisi axhunyiwe</item>
-      <item quantity="other"><xliff:g id="NUMBER_DEVICE_COUNT_1">%1$d</xliff:g> amadivayisi axhunyiwe</item>
-    </plurals>
-    <string name="no_bluetooth_devices" msgid="6310025908614933116">"Awekho amadivayisi e-Bluetooth"</string>
+    <string name="network_connection_searching_message" msgid="8521819623516926482">"Iseshela idivayisi…"</string>
+    <string name="network_connection_connecting_message" msgid="433189540877274889">"Ixhumeka kudivayisi…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"Kwesobunxele"</string>
     <string name="bluetooth_right_name" msgid="7588088072444124949">"Okungakwesokudla"</string>
     <string name="bluetooth_middle_name" msgid="3909371955137442319">"Isimo"</string>
@@ -4604,6 +4710,8 @@
     <string name="mobile_data_ap_mode_disabled" msgid="6067959496888990983">"Ayitholakali ngesikhathi semodi yendiza"</string>
     <string name="force_desktop_mode" msgid="1336913605091334238">"Phoqelela imodi yedeskithophu"</string>
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Phoqelela imodi yedeskithophu yokuhlola esibukisweni sesibili"</string>
+    <string name="enable_sizecompat_freeform" msgid="3799755160777404309">"Nika amandla i-freeform sizecompat"</string>
+    <string name="enable_sizecompat_freeform_summary" msgid="1484050174538201499">"Vumela izinhlelo zokusebenza ze-sizecompat ukuze zikhululeke"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Bhala ngaphezulu isici sokuphoqelela okumnyama"</string>
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"Ibhala ngaphezulu isici sokuphoqelela okumnyama ukuthi ihlale sivulekile"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"Ubumfihlo"</string>
@@ -4640,6 +4748,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Kamuva nje ufake lolu hlelo lokusebenza."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Shintsha okukhiphayo"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Manje idlala ku-<xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (inqamukile)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Akukwazi ukushintsha. Thepha ukuze uzame futhi."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Ulwazi olubalulekile"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"QHUBEKA"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"CHA NGIYABONGA"</string>
@@ -4667,8 +4777,16 @@
     <string name="dual_cdma_sim_warning_notification_channel_title" msgid="1049161096896074364">"Inhlanganisela ye-SIM"</string>
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Ulwazi lwenqubomgomo yakho yomsebenzi"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Izilungiselelo eziphethwe umlawuli wakho we-IT"</string>
+    <string name="track_frame_time_keywords" msgid="7885340257945922239">"I-GPU"</string>
+    <string name="bug_report_handler_title" msgid="713439959113250125">"Isibambi sombiko wesiphazamiso"</string>
+    <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Icacisa ukuthi uluphi uhlelo lokusebenza oluphatha isinqamuleli sombiko wesiphazamisi kudivayisi yakho."</string>
+    <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Okomuntu siqu"</string>
+    <string name="work_profile_app_subtext" msgid="5043419461440127879">"Umsebenzi"</string>
+    <string name="system_default_app_subtext" msgid="5212055189703164839">"Okuzenzakalelayo kwesistimu"</string>
+    <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"Lokhu kukhetha akusavumelekile. Zama futhi."</string>
     <string name="rtt_settings_title" msgid="7049259598645966354"></string>
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"Misa ukusakaza"</string>
 </resources>
diff --git a/res/values/arrays.xml b/res/values/arrays.xml
index 09447b9..1649cb2 100644
--- a/res/values/arrays.xml
+++ b/res/values/arrays.xml
@@ -23,19 +23,19 @@
          strings. --> <skip />
     <!-- The time zone picker screen has two levels.  The first level allows the user to choose a region. -->
     <string-array name="timezone_filters">
-    <!-- The next level of the time zoner picker should show time zones from the Americas. -->
+        <!-- The next level of the time zoner picker should show time zones from the Americas. -->
         <item>America</item>
-    <!-- The next level of the time zoner picker should show time zones from Europe. -->
+        <!-- The next level of the time zoner picker should show time zones from Europe. -->
         <item>Europe</item>
-    <!-- The next level of the time zoner picker should show time zones from Africa. -->
+        <!-- The next level of the time zoner picker should show time zones from Africa. -->
         <item>Africa</item>
-    <!-- The next level of the time zoner picker should show time zones from Asia. -->
+        <!-- The next level of the time zoner picker should show time zones from Asia. -->
         <item>Asia</item>
-    <!-- The next level of the time zoner picker should show time zones from Australia. -->
+        <!-- The next level of the time zoner picker should show time zones from Australia. -->
         <item>Australia</item>
-    <!-- The next level of the time zoner picker should show time zones from Pacific. -->
+        <!-- The next level of the time zoner picker should show time zones from Pacific. -->
         <item>Pacific</item>
-    <!-- The next level of the time zoner picker should show time zones from ALL regions. -->
+        <!-- The next level of the time zoner picker should show time zones from ALL regions. -->
         <item>All</item>
     </string-array>
 
@@ -102,10 +102,12 @@
 
     <!-- Dark theme scheduling preferences  [CHAR LIMIT=NONE] -->
     <string-array name="dark_ui_scheduler_preference_titles">
-        <!-- 1: None -->
+        <!-- 0: None -->
         <item>@string/dark_ui_auto_mode_never</item>
-        <!-- 2: Auto -->
+        <!-- 1: Auto -->
         <item>@string/dark_ui_auto_mode_auto</item>
+        <!-- 2: Custom -->
+        <item>@string/dark_ui_auto_mode_custom</item>
     </string-array>
 
     <!-- Security settings.  The delay after screen is turned off until device locks.
@@ -229,7 +231,7 @@
     <!-- Values for security type for wireless tether -->
     <string-array name="wifi_tether_security_values" translatable="false">
         <!-- Do not translate. -->
-        <item>4</item>
+        <item>1</item>
         <!-- Do not translate. -->
         <item>0</item>
     </string-array>
@@ -246,6 +248,18 @@
         <item>AKA\'</item>
     </string-array>
 
+    <!-- Target EAP methods that will have different TTS strings -->
+    <!-- Note that this array length should be same as the wifi_eap_method_tts_strings-->
+    <string-array name="wifi_eap_method_target_strings" translatable="false">
+        <item>AKA\'</item>
+    </string-array>
+
+    <!-- TTS strings for the target EAP methods -->
+    <!-- Note that this array length should be same as the wifi_eap_method_target_strings-->
+    <string-array name="wifi_eap_method_tts_strings" translatable="false">
+        <item>AKA prime</item>
+    </string-array>
+
     <!-- Type of EAP method when EAP SIM, AKA, AKA' are not supported -->
     <string-array name="eap_method_without_sim_auth" translatable="false">
         <item>PEAP</item>
@@ -254,24 +268,22 @@
         <item>PWD</item>
     </string-array>
 
-   <!-- Wi-Fi AP band settings.  Either Auto, 2.4GHz or 5GHz. -->
-   <!-- Note that adding/removing/moving the items will need wifi settings code change. -->
-    <string-array translatable="false" name="wifi_ap_band_config_full">
-        <item>0</item>
+    <!-- Type of OCSP -->
+    <string-array name="eap_ocsp_type" translatable="true">
+        <item>Do not validate</item>
+        <item>Request certificate status</item>
+        <item>Require certificate status</item>
+        <item>Require all non-trusted certificate statuses</item>
+    </string-array>
+
+    <!-- Wi-Fi AP band settings.  Either 2.4GHz or 5GHz prefer. -->
+    <!-- Note that adding/removing/moving the items will need wifi settings code change. -->
+    <string-array translatable="false" name="wifi_ap_band">
         <item>1</item>
+        <item>3</item>
     </string-array>
 
-    <string-array translatable="false" name="wifi_ap_band_summary_full">
-        <item>@string/wifi_ap_choose_2G</item>
-        <item>@string/wifi_ap_choose_5G</item>
-    </string-array>
-
-    <string-array translatable="false" name="wifi_ap_band_dual_mode">
-        <item>0</item>
-        <item>-1</item>
-    </string-array>
-
-    <string-array translatable="false" name="wifi_ap_band_dual_mode_summary">
+    <string-array translatable="false" name="wifi_ap_band_summary">
         <item>@string/wifi_ap_choose_2G</item>
         <item>@string/wifi_ap_prefer_5G</item>
     </string-array>
@@ -281,8 +293,8 @@
         <item>@string/wifi_ap_choose_2G</item>
     </string-array>
 
-   <!-- Wi-Fi WPS setup for p2p connections.  -->
-   <!-- Note that adding/removing/moving the items will need wifi settings code change. -->
+    <!-- Wi-Fi WPS setup for p2p connections.  -->
+    <!-- Note that adding/removing/moving the items will need wifi settings code change. -->
     <string-array name="wifi_p2p_wps_setup">
         <!-- Push button based configuration involves pushing a button on two connecting devices [CHAR LIMIT=30]-->
         <item>Push button</item>
@@ -300,7 +312,7 @@
         <item>Unsuccessful</item>
         <item>Available</item>
         <item>Out-of-range</item>
-   </string-array>
+    </string-array>
 
 
     <!-- Bluetooth Settings -->
@@ -390,7 +402,7 @@
     </string-array>
 
     <!-- Wi-Fi IP settings. -->
-   <!-- Note that adding/removing/moving the items will need wifi settings code change. -->
+    <!-- Note that adding/removing/moving the items will need wifi settings code change. -->
     <string-array name="wifi_ip_settings">
         <!-- Use DHCP (Dynamic Host Configuration Protocol) for obtaining IP settings [CHAR LIMIT=25] -->
         <item>DHCP</item>
@@ -462,6 +474,7 @@
         <item>1xRTT</item>
         <item>IS95B</item>
         <item>IS95A</item>
+        <item>NR</item>
     </string-array>
 
     <string-array translatable="false" name="bearer_values">
@@ -497,6 +510,8 @@
         <item>5</item>
         <!-- Do not translate. -->
         <item>4</item>
+        <!-- Do not translate. -->
+        <item>20</item>
     </string-array>
 
     <!-- MVNO Info used in APN editor -->
@@ -679,6 +694,24 @@
         <item>Accessibility volume</item>
     </string-array>
 
+    <!-- Keys for the list of accessibility auto click xml. -->
+    <string-array name="accessibility_autoclick_control_selector_keys" translatable="false">
+        <item>accessibility_control_autoclick_default</item>
+        <item>accessibility_control_autoclick_200ms</item>
+        <item>accessibility_control_autoclick_600ms</item>
+        <item>accessibility_control_autoclick_1sec</item>
+        <item>accessibility_control_autoclick_custom</item>
+    </string-array>
+
+    <!-- Values for the list of accessibility auto click, pairs to Keys . -->
+    <integer-array name="accessibility_autoclick_selector_values" translatable="false">
+        <item>0</item>
+        <item>200</item>
+        <item>600</item>
+        <item>1000</item>
+        <item>2000</item>
+    </integer-array>
+
     <!-- Keys for the list of accessibility timeouts xml. -->
     <string-array name="accessibility_timeout_control_selector_keys" translatable="false">
         <item>accessibility_control_timeout_default</item>
@@ -753,7 +786,7 @@
     <string-array name="captioning_font_size_selector_titles">
         <item>Very small</item>
         <item>Small</item>
-        <item>Normal</item>
+        <item>Default</item>
         <item>Large</item>
         <item>Very large</item>
     </string-array>
@@ -887,7 +920,7 @@
 
     <!-- Titles for captioning text style preset preference. [CHAR LIMIT=35] -->
     <string-array name="captioning_preset_selector_titles" >
-        <item>Use app defaults</item>
+        <item>Set by app</item>
         <item>White on black</item>
         <item>Black on white</item>
         <item>Yellow on black</item>
@@ -914,6 +947,9 @@
         <item>IPSec Xauth PSK</item>
         <item>IPSec Xauth RSA</item>
         <item>IPSec Hybrid RSA</item>
+        <item>IKEv2/IPSec MSCHAPv2</item>
+        <item>IKEv2/IPSec PSK</item>
+        <item>IKEv2/IPSec RSA</item>
     </string-array>
 
     <!-- Match this with the constants in VpnProfile. --> <skip />
@@ -925,6 +961,9 @@
         <item>IPSec VPN with pre-shared keys and Xauth authentication</item>
         <item>IPSec VPN with certificates and Xauth authentication</item>
         <item>IPSec VPN with certificates and hybrid authentication</item>
+        <item>IKEv2/IPSec VPN with certificates and username/password authentication</item>
+        <item>IKEv2/IPSec VPN with pre-shared keys</item>
+        <item>IKEv2/IPSec VPN with certificates</item>
     </string-array>
 
     <!-- VPN proxy settings. -->
@@ -994,19 +1033,43 @@
         <item>\?</item>
     </string-array>
 
-    <!-- Display color space adjustment modes for accessibility -->
-    <string-array name="daltonizer_type_entries" translatable="false">
+    <!-- Summary for magnification adjustment modes for accessibility -->
+    <string-array name="magnification_mode_summaries" translatable="false">
+        <item>@string/accessibility_magnification_area_settings_full_screen_summary</item>
+        <item>@string/accessibility_magnification_area_settings_window_screen_summary</item>
+        <item>@string/accessibility_magnification_area_settings_all_summary</item>
+    </string-array>
+
+    <!-- Values for magnification adjustment modes for accessibility -->
+    <integer-array name="magnification_mode_values" translatable="false">
+        <!-- Full screen -->
+        <item>1</item>
+        <!-- Window screen -->
+        <item>2</item>
+        <!-- Full screen and window screen. -->
+        <item>3</item>
+    </integer-array>
+
+    <!-- Summary for color space adjustment modes for accessibility -->
+    <string-array name="daltonizer_mode_summaries" translatable="false">
         <item>@string/daltonizer_mode_deuteranomaly</item>
         <item>@string/daltonizer_mode_protanomaly</item>
         <item>@string/daltonizer_mode_tritanomaly</item>
     </string-array>
 
+    <!-- Keys for color space adjustment modes for accessibility -->
+    <string-array name="daltonizer_mode_keys" translatable="false">
+        <item>daltonizer_mode_deuteranomaly</item>
+        <item>daltonizer_mode_protanomaly</item>
+        <item>daltonizer_mode_tritanomaly</item>
+    </string-array>
+
     <!-- Values for display color space adjustment modes for accessibility -->
-    <string-array name="daltonizer_type_values" translatable="false">
+    <integer-array name="daltonizer_type_values" translatable="false">
         <item>12</item>
         <item>11</item>
         <item>13</item>
-    </string-array>
+    </integer-array>
 
     <!-- Battery saver mode: allowable trigger threshold levels. -->
     <integer-array name="battery_saver_trigger_values" translatable="false" >
@@ -1102,6 +1165,19 @@
         <item>zen_mode_from_none</item>
     </string-array>
 
+    <string-array name="zen_mode_conversations_entries" translatable="false">
+        <item>@string/zen_mode_from_all_conversations</item>
+        <item>@string/zen_mode_from_important_conversations</item>
+        <item>@string/zen_mode_from_no_conversations</item>
+    </string-array>
+
+    <!-- these values correspond with ZenPolicy.ConversationSenders -->
+    <string-array name="zen_mode_conversations_values" translatable="false">
+        <item>1</item>
+        <item>2</item>
+        <item>3</item>
+    </string-array>
+
     <!--String arrays for notification swipe direction -->
     <string-array name="swipe_direction_titles">
         <item>@string/swipe_direction_rtl</item>
@@ -1299,101 +1375,18 @@
         <item>"1"</item>
     </string-array>
 
-    <string-array name="enabled_networks_except_gsm_choices" translatable="false">
-        <item>@string/network_lte</item>
-        <item>@string/network_3G</item>
-    </string-array>
-    <string-array name="enabled_networks_except_gsm_4g_choices" translatable="false">
-        <item>@string/network_4G</item>
-        <item>@string/network_3G</item>
-    </string-array>
-    <string-array name="enabled_networks_except_gsm_values" translatable="false">
-        <item>"9"</item>
-        <item>"0"</item>
-    </string-array>
-
-    <string-array name="enabled_networks_except_lte_choices" translatable="false">
-        <item>@string/network_3G</item>
-        <item>@string/network_2G</item>
-    </string-array>
-    <string-array name="enabled_networks_except_lte_values" translatable="false">
-        <item>"0"</item>
-        <item>"1"</item>
-    </string-array>
-
-    <string-array name="enabled_networks_except_gsm_lte_choices" translatable="false">
-        <item>@string/network_3G</item>
-    </string-array>
-    <string-array name="enabled_networks_except_gsm_lte_values" translatable="false">
-        <item>"0"</item>
-    </string-array>
-
-    <string-array name="enabled_networks_cdma_choices" translatable="false">
-        <item>@string/network_lte</item>
-        <item>@string/network_3G</item>
-        <item>@string/network_1x</item>
-        <item>@string/network_global</item>
-    </string-array>
-    <string-array name="enabled_networks_cdma_values" translatable="false">
-        <item>"8"</item>
-        <item>"4"</item>
-        <item>"5"</item>
-        <item>"10"</item>
-    </string-array>
-
-    <string-array name="enabled_networks_cdma_no_lte_choices" translatable="false">
-        <item>@string/network_3G</item>
-        <item>@string/network_1x</item>
-    </string-array>
-    <string-array name="enabled_networks_cdma_no_lte_values" translatable="false">
-        <item>"4"</item>
-        <item>"5"</item>
-    </string-array>
-
-    <string-array name="enabled_networks_cdma_only_lte_choices" translatable="false">
-        <item>@string/network_lte</item>
-        <item>@string/network_global</item>
-    </string-array>
-    <string-array name="enabled_networks_cdma_only_lte_values" translatable="false">
-        <item>"8"</item>
-        <item>"10"</item>
-    </string-array>
-
-    <string-array name="enabled_networks_tdscdma_choices" translatable="false">
-        <item>@string/network_lte</item>
-        <item>@string/network_3G</item>
-        <item>@string/network_2G</item>
-    </string-array>
-    <string-array name="enabled_networks_tdscdma_values" translatable="false">
-        <item>"22"</item>
-        <item>"18"</item>
-        <item>"1"</item>
-    </string-array>
-
-    <!--String arrays for World preferred netwrok modes -->
-    <string-array name="preferred_network_mode_choices_world_mode">
-        <item>Global</item>
-        <item>LTE / CDMA</item>
-        <item>LTE / GSM / UMTS</item>
-    </string-array>
-
-    <string-array name="preferred_network_mode_values_world_mode" translatable="false">
-        <item>"10"</item>
-        <item>"8"</item>
-        <item>"9"</item>
-    </string-array>
 
     <!-- WiFi calling mode array -->
     <string-array name="wifi_calling_mode_summaries" translatable="false">
-         <item>@string/wifi_calling_mode_wifi_preferred_summary</item>
-         <item>@string/wifi_calling_mode_cellular_preferred_summary</item>
-         <item>@string/wifi_calling_mode_wifi_only_summary</item>
+        <item>@string/wifi_calling_mode_wifi_preferred_summary</item>
+        <item>@string/wifi_calling_mode_cellular_preferred_summary</item>
+        <item>@string/wifi_calling_mode_wifi_only_summary</item>
     </string-array>
 
     <!-- WiFi calling mode array without wifi only mode -->
     <string-array name="wifi_calling_mode_summaries_without_wifi_only" translatable="false">
-         <item>@string/wifi_calling_mode_wifi_preferred_summary</item>
-         <item>@string/wifi_calling_mode_cellular_preferred_summary</item>
+        <item>@string/wifi_calling_mode_wifi_preferred_summary</item>
+        <item>@string/wifi_calling_mode_cellular_preferred_summary</item>
     </string-array>
 
     <!-- Carrier variant of Enhaced 4G LTE Mode title.  [CHAR LIMIT=NONE] -->
@@ -1416,6 +1409,34 @@
         <item>@string/enhanced_4g_lte_mode_summary_4g_calling</item>
     </string-array>
 
+    <!-- A whitelist which packages won't show summary in battery usage screen.  [CHAR LIMIT=NONE] -->
+    <string-array name="whitelist_hide_summary_in_battery_usage" translatable="false">
+        <!-- Google -->
+        <item>"com.google.android.googlequicksearchbox"</item>
+    </string-array>
+
+    <!-- Array of titles palette list for accessibility. -->
+    <string-array name="setting_palette_colors" translatable="false" >
+        <item>@string/color_red</item>
+        <item>@string/color_orange</item>
+        <item>@string/color_yellow</item>
+        <item>@string/color_green</item>
+        <item>@string/color_cyan</item>
+        <item>@string/color_blue</item>
+        <item>@string/color_purple</item>
+    </string-array>
+
+    <!-- Values for palette list view preference. -->
+    <array name="setting_palette_data" translatable="false" >
+        <item>@color/palette_list_color_red</item>
+        <item>@color/palette_list_color_orange</item>
+        <item>@color/palette_list_color_yellow</item>
+        <item>@color/palette_list_color_green</item>
+        <item>@color/palette_list_color_cyan</item>
+        <item>@color/palette_list_color_blue</item>
+        <item>@color/palette_list_color_purple</item>
+    </array>
+
     <!--String arrays for showing the rtt settings options -->
     <string-array name="rtt_setting_mode">
         <!-- 0: Invalid value -->
diff --git a/res/values/attrs.xml b/res/values/attrs.xml
index 83269cc..ee47124 100644
--- a/res/values/attrs.xml
+++ b/res/values/attrs.xml
@@ -56,8 +56,6 @@
 
     <attr name="cardPreferenceStyle" format="reference" />
 
-    <attr name="footerPreferenceStyle" format="reference" />
-
     <declare-styleable name="FixedLineSummaryPreference">
         <attr name="summaryLineCount" format="integer" />
     </declare-styleable>
@@ -70,10 +68,10 @@
         <attr name="searchable" format="boolean" />
         <!-- Classname of a PreferenceController corresponding to the preference -->
         <attr name="controller" format="string" />
-        <!-- {@code true} when the controller declared represents a slice from {@link android.app.SettingsSliceContract} -->
-        <attr name="platform_slice" format="boolean" />
-        <!-- customized subtitle if it's an unavailable slice -->
+        <!-- Customized subtitle if it's an unavailable slice -->
         <attr name="unavailableSliceSubtitle" format="string" />
+        <!-- Whether or not the preference is for work profile, by default it's false. -->
+        <attr name="forWork" format="boolean" />
     </declare-styleable>
 
     <declare-styleable name="PreferenceScreen">
@@ -116,13 +114,10 @@
     <attr name="confirmDeviceCredentialsSideMargin" format="dimension" />
     <attr name="confirmDeviceCredentialsTopMargin" format="dimension" />
 
-    <declare-styleable name="WorkPreference">
-        <attr name="forWork" format="boolean" />
-    </declare-styleable>
-
     <declare-styleable name="VideoPreference">
         <attr name="animation" format="reference" />
         <attr name="preview" format="reference" />
+        <attr name="vectorAnimation" format="reference" />
     </declare-styleable>
 
     <!-- For AspectRatioFrameLayout -->
@@ -164,6 +159,12 @@
         <attr name="textOff" format="reference" />
     </declare-styleable>
 
+    <!-- For LabeledSeekBarPreference -->
+    <declare-styleable name="LabeledSeekBarPreference">
+        <attr name="textStart" format="reference" />
+        <attr name="textEnd" format="reference" />
+    </declare-styleable>
+
     <declare-styleable name="TintDrawable">
         <attr name="android:tint" />
         <attr name="android:drawable" />
diff --git a/res/values/colors.xml b/res/values/colors.xml
index 7114bb1..06f135f 100644
--- a/res/values/colors.xml
+++ b/res/values/colors.xml
@@ -108,8 +108,6 @@
     <color name="switchbar_switch_track_tint">#BFFFFFFF</color>
     <color name="switchbar_switch_thumb_tint">@android:color/white</color>
 
-    <color name="glif_error_color">@*android:color/material_red_A700</color>
-
     <color name="battery_good_color_light">#43a047</color> <!-- Material Green 600 -->
     <color name="battery_maybe_color_light">#ef6c00</color> <!-- Material Orange 800 -->
     <color name="battery_bad_color_light">#f44336</color> <!-- Material Red 500 -->
@@ -148,4 +146,26 @@
     <color name="dialog_background">@*android:color/background_device_default_light</color>
 
     <color name="face_intro_outline">#ffdadce0</color>
+
+    <color name="back_gesture_indicator">#4182ef</color>
+
+    <!-- Palette list preference colors. -->
+    <color name="palette_list_gradient_background">@android:color/white</color>
+    <color name="palette_list_color_red">#d93025</color> <!-- Material Red 600 -->
+    <color name="palette_list_color_orange">#e8710a</color> <!-- Material Orange 600 -->
+    <color name="palette_list_color_yellow">#f9ab00</color> <!-- Material Yellow 600 -->
+    <color name="palette_list_color_green">#1e8e3e</color> <!-- Material Green 600 -->
+    <color name="palette_list_color_cyan">#12b5cb</color> <!-- Material Cyan 600 -->
+    <color name="palette_list_color_blue">#1a73e8</color> <!-- Material Blue 600 -->
+    <color name="palette_list_color_purple">#9334e6</color> <!-- Material Purple 600 -->
+
+    <!-- Palette list preference dark mode colors. -->
+    <color name="palette_list_dark_mode_color_red">#f28b82</color> <!-- Material Red 300 -->
+    <color name="palette_list_dark_mode_color_orange">#fcad70</color> <!-- Material Orange 300 -->
+    <color name="palette_list_dark_mode_color_yellow">#fdd663</color> <!-- Material Yellow 300 -->
+    <color name="palette_list_dark_mode_color_green">#81c995</color> <!-- Material Green 300 -->
+    <color name="palette_list_dark_mode_color_cyan">#78d9ec</color> <!-- Material Cyan 300 -->
+    <color name="palette_list_dark_mode_color_blue">#8AB4F8</color> <!-- Material Blue 300 -->
+    <color name="palette_list_dark_mode_color_purple">#c58af9</color> <!-- Material Purple 300 -->
+
 </resources>
\ No newline at end of file
diff --git a/res/values/config.xml b/res/values/config.xml
index 0f03c23..64d9ab7 100755
--- a/res/values/config.xml
+++ b/res/values/config.xml
@@ -201,11 +201,17 @@
     <!-- Whether or not TopLevelSettings should force rounded icon for injected tiles -->
     <bool name="config_force_rounded_icon_TopLevelSettings">true</bool>
 
+    <!-- Whether dismissal timestamp should be kept before deletion -->
+    <bool name="config_keep_contextual_card_dismissal_timestamp">false</bool>
+
     <!-- Settings intelligence package name -->
     <string name="config_settingsintelligence_package_name" translatable="false">
         com.android.settings.intelligence
     </string>
 
+    <!-- Whether the confirmation for sim deletion is defaulted to be on or off-->
+    <bool name="config_sim_deletion_confirmation_default_on">false</bool>
+
     <!-- Package Installer package name -->
     <string name="config_package_installer_package_name" translatable="false">
         com.android.packageinstaller
@@ -410,20 +416,11 @@
     <string name="config_nearby_devices_slice_uri" translatable="false">content://com.google.android.gms.nearby.fastpair/device_status_list_item</string>
 
     <!-- Grayscale settings intent -->
-    <string name="config_grayscale_settings_intent" translate="false"></string>
+    <string name="config_grayscale_settings_intent" translatable="false"></string>
 
     <!-- List containing the injected tile keys which are suppressed. -->
     <string-array name="config_suppress_injected_tile_keys" translatable="false"/>
 
-    <!-- "Show work policy info" intent action. TODO(b/134391103): Replace with final SystemAPI intent when it's available. -->
-    <string name="config_work_policy_info_intent_action" translatable="false"/>
-
-    <!-- RTT setting intent action -->
-    <string name="config_rtt_setting_intent_action" translatable="false"></string>
-
-    <!-- Package name of dialer supports RTT setting-->
-    <string name="config_rtt_setting_package_name" translatable="false"></string>
-
     <!-- Reset application package name -->
     <string-array name="config_skip_reset_apps_package_name" translatable="false">
         <item>android</item>
@@ -431,4 +428,18 @@
         <item>com.android.systemui</item>
         <item>com.android.vending</item>
     </string-array>
+
+    <!-- Settings panel keeps observe this uri -->
+    <string-array name="config_panel_keep_observe_uri" translatable="false">
+        <item>content://com.android.settings.slices/intent/media_output_indicator</item>
+    </string-array>
+
+    <!-- Uri to query non-public Slice Uris. -->
+    <string name="config_non_public_slice_query_uri" translatable="false"></string>
+
+    <!-- RTT setting intent action -->
+    <string name="config_rtt_setting_intent_action" translatable="false"></string>
+
+    <!-- Package name of dialer supports RTT setting-->
+    <string name="config_rtt_setting_package_name" translatable="false"></string>
 </resources>
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index 31a1592..4ca9798 100755
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -56,6 +56,8 @@
 
     <dimen name="captioning_preview_height">200dp</dimen>
 
+    <dimen name="autoclick_preview_height">200dp</dimen>
+
     <dimen name="color_mode_preview_height">320dp</dimen>
 
     <dimen name="ring_progress_bar_thickness">4dp</dimen>
@@ -81,6 +83,10 @@
     <dimen name="notification_importance_button_text">16sp</dimen>
     <dimen name="notification_importance_button_padding">14dp</dimen>
 
+    <dimen name="notification_history_header_drawable_start">26dp</dimen>
+    <dimen name="conversation_icon_size">48dp</dimen>
+
+    <dimen name="zen_mode_button_padding_vertical">16dp</dimen>
     <dimen name="zen_schedule_rule_checkbox_padding">7dp</dimen>
     <dimen name="zen_schedule_day_margin">17dp</dimen>
 
@@ -157,9 +163,6 @@
     <!-- CryptKeeper pattern size for tablet -->
     <dimen name="crypt_keeper_pattern_size">354dip</dimen>
 
-    <!-- Screen pinning textview paddings -->
-    <dimen name="screen_pinning_textview_padding">40dp</dimen>
-
     <!-- SIM Dialog Margin top -->
     <dimen name="sim_dialog_margin_top">8dip</dimen>
     <!-- SIM Dialog Margin bottom -->
@@ -218,8 +221,8 @@
     <dimen name="fingerprint_finish_max_size">288dp</dimen>
 
     <!-- Face -->
-    <dimen name="face_preview_translate_y">0dp</dimen>
-    <dimen name="face_preview_translate_x">0dp</dimen>
+    <item name="face_preview_translate_y" format="float" type="dimen">0</item>
+    <item name="face_preview_translate_x" format="float" type="dimen">0</item>
     <item name="face_preview_scale" format="float" type="dimen">1.0</item>
 
     <!-- Confirm device credentials -->
@@ -252,9 +255,6 @@
     <dimen name="admin_details_dialog_learn_more_button_padding">8dp</dimen>
     <dimen name="admin_details_dialog_learn_more_button_minWidth">88dp</dimen>
 
-    <!-- Button bar padding for unmount button. -->
-    <dimen name="unmount_button_padding">8dp</dimen>
-
     <!-- Display, Screen zoom -->
     <dimen name="conversation_message_list_padding">10dp</dimen>
     <dimen name="conversation_message_contact_icon_text_size">32sp</dimen>
@@ -269,7 +269,7 @@
     <dimen name="message_metadata_top_padding">4dp</dimen>
 
     <!-- Accessibility Settings -->
-    <dimen name="accessibility_layout_margin_start_end">24dp</dimen>
+    <dimen name="accessibility_layout_margin_start_end">16dp</dimen>
     <dimen name="accessibility_button_preference_padding_top_bottom">18dp</dimen>
 
     <!-- Accessibility, Screen magnification. These values are meant to be relative values and the actual layout value will be set programmatically. -->
@@ -328,10 +328,6 @@
     <dimen name="reset_master_clear_margin_start">32dp</dimen>
     <dimen name="reset_master_clear_margin_end">12dp</dimen>
 
-    <!-- Padding for screen pinning -->
-    <dimen name="screen_pinning_padding_start">64dp</dimen>
-    <dimen name="screen_pinning_padding_end">64dp</dimen>
-
     <!-- Padding for the reset screens -->
     <dimen name="reset_checkbox_padding_end">8dp</dimen>
     <dimen name="reset_checkbox_title_padding_top">12dp</dimen>
@@ -351,15 +347,6 @@
     <dimen name="contextual_half_card_padding_top">12dp</dimen>
     <dimen name="contextual_half_card_padding_bottom">16dp</dimen>
     <dimen name="contextual_half_card_title_margin_top">12dp</dimen>
-    <dimen name="contextual_deferred_setup_card_padding_top">16dp</dimen>
-    <dimen name="contextual_deferred_setup_card_padding_bottom">12dp</dimen>
-    <dimen name="contextual_deferred_setup_card_title_margin_top">12dp</dimen>
-    <dimen name="contextual_deferred_setup_card_summary_margin_top">2dp</dimen>
-    <dimen name="contextual_deferred_setup_card_button_margin_top">8dp</dimen>
-    <dimen name="contextual_deferred_setup_card_button_padding_top">8dp</dimen>
-    <dimen name="contextual_deferred_setup_card_button_padding_bottom">8dp</dimen>
-    <dimen name="contextual_deferred_setup_card_button_padding_start">24dp</dimen>
-    <dimen name="contextual_deferred_setup_card_button_padding_end">24dp</dimen>
 
     <!-- Homepage dismissal cards size and padding -->
     <dimen name="contextual_card_dismissal_margin_top">12dp</dimen>
@@ -401,24 +388,30 @@
     <dimen name="qrcode_size">264dp</dimen>
     <dimen name="qrcode_preview_size">360dp</dimen>
 
-    <!-- Wi-Fi DPP fragment icon size -->
-    <dimen name="wifi_dpp_fragment_icon_width_height">48dp</dimen>
-
     <!-- Elevation of bluetooth icon -->
     <dimen name="bt_icon_elevation">4dp</dimen>
 
     <dimen name="two_target_min_width">80dp</dimen>
 
     <!-- Maximum height for SliceView, override on slices/view/src/main/res/values/dimens.xml -->
-    <dimen name="abc_slice_large_height">480dp</dimen>
+    <!-- A single Row Slice height is 60dp -->
+    <dimen name="abc_slice_large_height">1200dp</dimen>
 
     <!-- System navigation settings illustration height -->
     <dimen name="system_navigation_illustration_height">320dp</dimen>
 
+    <dimen name="back_gesture_indicator_width">60dp</dimen>
+
     <!-- Header title size of advanced bluetooth device -->
     <dimen name="advanced_bluetooth_header_title_text_size">16sp</dimen>
 
     <!-- Battery meter icon size of advanced bluetooth device -->
     <dimen name="advanced_bluetooth_battery_meter_width">7.8dp</dimen>
     <dimen name="advanced_bluetooth_battery_meter_height">13dp</dimen>
+
+    <!-- Developer option bluetooth settings dialog -->
+    <dimen name="developer_option_dialog_margin_start">8dp</dimen>
+    <dimen name="developer_option_dialog_margin_top">8dp</dimen>
+    <dimen name="developer_option_dialog_min_height">48dp</dimen>
+    <dimen name="developer_option_dialog_padding_start">16dp</dimen>
 </resources>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index deea388..7867d85 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -46,69 +46,6 @@
     <!-- Settings main menu category heading. System (Updates, data, accessibility, about phone). [CHAR LIMIT=40] -->
     <string name="header_category_system">System</string>
 
-    <!-- Data Connection Enable. Only shown in diagnostic screen, so precise translation is not needed. -->
-    <string name="radio_info_data_connection_enable">Enable Data Connection</string>
-    <!-- Data Connection Disable. Only shown in diagnostic screen, so precise translation is not needed. -->
-    <string name="radio_info_data_connection_disable">Disable Data Connection</string>
-
-    <!-- VoLTE provisioning flag on. Only shown in diagnostic screen, so precise translation is not needed. -->
-    <string name="volte_provisioned_switch_string">VoLTE Provisioned</string>
-
-    <!-- Video calling provisioning flag on. Only shown in diagnostic screen, so precise translation is not needed. -->
-    <string name="vt_provisioned_switch_string">Video Calling Provisioned</string>
-
-    <!-- Wifi Calling provisioning flag on. Only shown in diagnostic screen, so precise translation is not needed. -->
-    <string name="wfc_provisioned_switch_string">Wifi Calling Provisioned</string>
-
-    <!-- EAB provisioning flag on. Only shown in diagnostic screen, so precise translation is not needed. -->
-    <string name="eab_provisioned_switch_string">EAB/Presence Provisioned</string>
-
-    <!-- Cbrs enable disable flag. Only shown in diagnostic screen, so precise translation is not needed -->
-    <string name="cbrs_data_switch_string">Cbrs Data</string>
-
-    <!-- Dsds enable/disable flag. Only shown in diagnostic screen, so precise translation is not needed, [CHAR LIMIT=none] -->
-    <string name="dsds_switch_string">Enable DSDS</string>
-
-    <!-- UI debug setting: Enable/Disable DSDS [CHAR LIMIT=none] -->
-    <string name="dsds_dialog_title">Restart Device?</string>
-
-    <!-- UI debug setting: Enable/Disable DSDS [CHAR LIMIT=none] -->
-    <string name="dsds_dialog_message">You need to restart your device to change this setting.</string>
-
-    <!-- UI debug setting: Enable/Disable DSDS [CHAR LIMIT=none] -->
-    <string name="dsds_dialog_confirm">Restart</string>
-
-    <!-- UI debug setting: Enable/Disable DSDS [CHAR LIMIT=none] -->
-    <string name="dsds_dialog_cancel">Cancel</string>
-
-    <!-- Title for controlling on/off for Mobile phone's radio power. Only shown in diagnostic screen, so precise translation is not needed. -->
-    <string name="radio_info_radio_power">Mobile Radio Power</string>
-
-    <!-- Phone Info screen. Menu item label.  Used for diagnostic info screens, precise translation isn't needed -->
-    <string name="radioInfo_menu_viewADN">View SIM Address Book</string>
-    <!-- Phone Info screen. Menu item label.  Used for diagnostic info screens, precise translation isn't needed -->
-    <string name="radioInfo_menu_viewFDN">View Fixed Dialing Numbers</string>
-    <!-- Phone Info screen. Menu item label.  Used for diagnostic info screens, precise translation isn't needed -->
-    <string name="radioInfo_menu_viewSDN">View Service Dialing Numbers</string>
-    <!-- Phone Info screen. Menu item label.  Used for diagnostic info screens, precise translation isn't needed -->
-    <string name="radioInfo_menu_getIMS">IMS Service Status</string>
-
-    <!-- Phone Info screen. IMS Registration Title.  Used for diagnostic info screens, precise translation isn't needed -->
-    <string name="radio_info_ims_reg_status_title">IMS Status</string>
-
-    <!-- Phone Info screen. IMS Status - Registered.  Used for diagnostic info screens, precise translation isn't needed -->
-    <string name="radio_info_ims_reg_status_registered">Registered</string>
-    <!-- Phone Info screen. Ims Status - Unregistered.  Used for diagnostic info screens, precise translation isn't needed -->
-    <string name="radio_info_ims_reg_status_not_registered">Not Registered</string>
-
-    <!-- Phone Info screen. Ims Feature Status label.  Used for diagnostic info screens, precise translation isn't needed -->
-    <string name="radio_info_ims_feature_status_available">Available</string>
-    <!-- Phone Info screen. Ims Feature status label.  Used for diagnostic info screens, precise translation isn't needed -->
-    <string name="radio_info_ims_feature_status_unavailable">Unavailable</string>
-
-    <!-- Phone Info screen. IMS Registration.  Used for diagnostic info screens, precise translation isn't needed -->
-    <string name="radio_info_ims_reg_status">IMS Registration: <xliff:g id="status" example="registered">%1$s</xliff:g>\u000AVoice over LTE: <xliff:g id="availability" example="available">%2$s</xliff:g>\u000AVoice over WiFi: <xliff:g id="availability" example="available">%3$s</xliff:g>\u000AVideo Calling: <xliff:g id="availability" example="available">%4$s</xliff:g>\u000AUT Interface: <xliff:g id="availability" example="available">%5$s</xliff:g></string>
-
     <!-- Phone Info screen. Status label.  Used for diagnostic info screens, precise translation isn't needed -->
     <string name="radioInfo_service_in">In Service</string>
     <!-- Phone Info screen. Status label.  Used for diagnostic info screens, precise translation isn't needed -->
@@ -124,13 +61,6 @@
     <string name="radioInfo_roaming_not">Not Roaming</string>
 
     <!-- Phone Info screen. Status label.  Used for diagnostic info screens, precise translation isn't needed -->
-    <string name="radioInfo_phone_idle">Idle</string>
-    <!-- Phone Info screen. Status label.  Used for diagnostic info screens, precise translation isn't needed -->
-    <string name="radioInfo_phone_ringing">Ringing</string>
-    <!-- Phone Info screen. Status label.  Used for diagnostic info screens, precise translation isn't needed -->
-    <string name="radioInfo_phone_offhook">Call in Progress</string>
-
-    <!-- Phone Info screen. Status label.  Used for diagnostic info screens, precise translation isn't needed -->
     <string name="radioInfo_data_disconnected">Disconnected</string>
     <!-- Phone Info screen. Status label.  Used for diagnostic info screens, precise translation isn't needed -->
     <string name="radioInfo_data_connecting">Connecting</string>
@@ -141,18 +71,6 @@
 
     <!-- Used for diagnostic info screens, precise translation isn't needed -->
     <string name="radioInfo_unknown">Unknown</string>
-    <!-- Phone Info screen. Units shown after a value.  Used for diagnostic info screens, precise translation isn't needed -->
-    <string name="radioInfo_display_packets">pkts</string>
-    <!-- Phone Info screen. Units shown after a value.  Used for diagnostic info screens, precise translation isn't needed -->
-    <string name="radioInfo_display_bytes">bytes</string>
-    <!-- Phone Info screen. Units shown after a value.  Used for diagnostic info screens, precise translation isn't needed -->
-    <string name="radioInfo_display_dbm">dBm</string>
-    <!-- Phone Info screen. Units shown after a value.  Used for diagnostic info screens, precise translation isn't needed -->
-    <string name="radioInfo_display_asu">asu</string>
-    <!-- Used for diagnostic info screens, precise translation isn't needed -->
-    <string name="radioInfo_lac">LAC</string>
-    <!-- Used for diagnostic info screens, precise translation isn't needed -->
-    <string name="radioInfo_cid">CID</string>
 
     <!-- Used for diagnostic info screens, precise translation isn't needed. Unmounts the SD card from the phone, meaning it will become available for an attached computer  [CHAR LIMIT=25] -->
     <string name="sdcard_unmount" product="nosdcard">Unmount USB storage</string>
@@ -177,8 +95,6 @@
     <!-- Description for the button that makes interface elements larger. [CHAR_LIMIT=NONE] -->
     <string name="font_size_make_larger_desc">Make larger</string>
 
-    <!-- Sample text for font size preview. -->
-    <string name="font_size_preview_text">Servez à ce monsieur une bière et des kiwis.</string>
     <string name="font_size_preview_text_headline">Sample text</string>
     <string name="font_size_preview_text_title"
             translation_description="Title text in sample text used to illustrate how the currently selected font size will appear to the user. NOTE: Translate manually. No not adopt any copyrighted material for translation.">
@@ -228,7 +144,7 @@
     <string name="bluetooth_lock_voice_dialing_summary">
       Prevent use of the bluetooth dialer when the screen is locked
     </string>
-    <!-- Bluetooth settings screen, heading above the list of nearby bluetooth devices -->
+    <!-- Bluetooth settings screen, heading above the list of nearby bluetooth devices. [CHAR LIMIT=NONE] -->
     <string name="bluetooth_devices">Bluetooth devices</string>
     <!-- Bluetooth settings screen, title for the current bluetooth name setting -->
     <string name="bluetooth_device_name">Device name</string>
@@ -411,11 +327,11 @@
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_cancel">Cancel</string>
 
     <!-- Title for Bluetooth device group with media capability group [CHAR LIMIT=none]-->
-    <string name="connected_device_available_media_title">Available media devices</string>
+    <string name="connected_device_media_device_title">Media devices</string>
     <!-- Title for Bluetooth device group with media capability group [CHAR LIMIT=none]-->
-    <string name="connected_device_available_call_title">Available call devices</string>
+    <string name="connected_device_call_device_title">Call devices</string>
     <!-- Title for connected device group [CHAR LIMIT=none]-->
-    <string name="connected_device_connected_title">Currently connected</string>
+    <string name="connected_device_other_device_title">Other devices</string>
     <!-- Title for connected device group [CHAR LIMIT=none]-->
     <string name="connected_device_saved_title">Saved devices</string>
     <!-- Summary for preference to add a device [CHAR LIMIT=none]-->
@@ -485,60 +401,6 @@
     <string name="proxy_url_title">"PAC URL: "</string>
 
     <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
-    <string name="radio_info_subid">Current subId:</string>
-    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
-    <string name="radio_info_dds">SubId of default data SIM:</string>
-    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
-    <string name="radio_info_dl_kbps">DL Bandwidth (kbps):</string>
-    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
-    <string name="radio_info_ul_kbps">UL Bandwidth (kbps):</string>
-    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
-    <string name="radio_info_signal_location_label">Cell Location Info (deprecated):</string>
-    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
-    <string name="radio_info_phy_chan_config">LTE Physical Channel Configuration:</string>
-    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
-    <string name="radio_info_cell_info_refresh_rate">Cell Info Refresh Rate:</string>
-    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
-    <string name="radio_info_cellinfo_label">All Cell Measurement Info:</string>
-    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
-    <string name="radio_info_gprs_service_label">Data Service:</string>
-    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
-    <string name="radio_info_roaming_label">Roaming:</string>
-    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
-    <string name="radio_info_imei_label">IMEI:</string>
-    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, DO NOT TRANSLATE. -->
-    <string name="radio_info_imsi_label">IMSI:</string>
-    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
-    <string name="radio_info_call_redirect_label">Call Redirect:</string>
-    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
-    <string name="radio_info_ppp_resets_label">Number of PPP Reset Since Boot:</string>
-    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
-    <string name="radio_info_current_network_label">Current Network:</string>
-    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
-    <string name="radio_info_ppp_received_label">Data Received:</string>
-    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
-    <string name="radio_info_gsm_service_label">Voice Service:</string>
-    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
-    <string name="radio_info_signal_strength_label">Signal Strength:</string>
-    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
-    <string name="radio_info_call_status_label">Voice Call Status:</string>
-    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
-    <string name="radio_info_ppp_sent_label">Data Sent:</string>
-    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
-    <string name="radio_info_message_waiting_label">Message Waiting:</string>
-    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
-    <string name="radio_info_phone_number_label">Phone Number:</string>
-    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
-    <string name="radio_info_band_mode_label">Select Radio Band</string>
-    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
-    <string name="radio_info_voice_network_type_label">Voice Network Type:</string>
-    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
-    <string name="radio_info_data_network_type_label">Data Network Type:</string>
-    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
-    <string name="phone_index_label">Select phone index</string>
-    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
-    <string name="radio_info_set_perferred_label">Set Preferred Network Type:</string>
-    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
     <string name="radio_info_ping_hostname_v4">Ping Hostname(www.google.com) IPv4:</string>
     <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
     <string name="radio_info_ping_hostname_v6">Ping Hostname(www.google.com) IPv6:</string>
@@ -546,28 +408,6 @@
     <string name="radio_info_http_client_test">HTTP Client Test:</string>
     <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
     <string name="ping_test_label">Run Ping Test</string>
-    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
-    <string name="radio_info_smsc_label">SMSC:</string>
-    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
-    <string name="radio_info_smsc_update_label">Update</string>
-    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
-    <string name="radio_info_smsc_refresh_label">Refresh</string>
-    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
-    <string name="radio_info_toggle_dns_check_label">Toggle DNS Check</string>
-    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
-    <string name="oem_radio_info_label">OEM-specific Info/Settings</string>
-
-    <!-- Band Mode Selection -->
-    <!-- Band mode screen.  Title of activity. -->
-    <string name="band_mode_title">Set Radio Band Mode</string>
-    <!-- Band mode screen.  Loading message. -->
-    <string name="band_mode_loading">Loading Band List\u2026</string>
-    <!-- Band mode screen. Button caption to set the bandmode. -->
-    <string name="band_mode_set">Set</string>
-    <!-- Band mode screen. Status message when unsuccessful. -->
-    <string name="band_mode_failed">Unsuccessful</string>
-    <!-- Band mode screen. Statusm essage when successful. -->
-    <string name="band_mode_succeeded">Successful</string>
 
     <!-- Instructions after the user changes the mass storage settings -->
     <string name="sdcard_changes_instructions">Changes take effect when USB cable is reconnected.</string>
@@ -650,14 +490,8 @@
     <string name="activity_picker_label">Choose activity</string>
     <!-- Do not translate. -->
     <string name="debug_intent_sender_label">Debug intent sender</string>
-    <!-- The title of the activity to see random device info. -->
-    <string name="device_info_label">Device info</string>
     <!-- The title of the activity to adjust display settings -->
     <string name="display_label">Screen</string>
-    <!-- The title of the activity to see phone info -->
-    <string name="phone_info_label" product="tablet">Tablet info</string>
-    <!-- The title of the activity to see phone info -->
-    <string name="phone_info_label" product="default">Phone info</string>
     <!-- The title of the activity to adjust SD card settings [CHAR LIMIT=25] -->
     <string name="sd_card_settings_label" product="nosdcard">USB storage</string>
     <!-- The title of the activity to adjust SD card settings-->
@@ -695,12 +529,6 @@
     <!-- Main Settings screen settings summary text for the "Wireless controls" setting -->
     <string name="radio_controls_summary">Manage Wi\u2011Fi, Bluetooth, airplane mode, mobile networks, &amp; VPNs</string>
 
-    <!-- check box cellular data title [CHAR LIMIT=30] -->
-    <string name="cellular_data_title">Mobile data</string>
-    <!-- check box Calls title [CHAR LIMIT=30] -->
-    <string name="calls_title">Allow calls</string>
-    <!-- check box SMS Messges title [CHAR LIMIT=30] -->
-    <string name="sms_messages_title">SMS messages</string>
     <!-- check box cellular data summary [CHAR LIMIT=85] -->
     <string name="cellular_data_summary">Allow data usage over mobile network</string>
     <!-- check box to allow data usage when roaming [CHAR LIMIT=41] -->
@@ -716,11 +544,11 @@
     <!-- mobile network settings screen, button on dialog box that appears when you are roaming and clear the "Data roaming" check box -->
     <string name="roaming_turn_it_on_button">Turn it on</string>
     <!-- mobile network settings screen, message in dialog box that appears when you select the "Data roaming" check box -->
-    <string name="roaming_warning">You may incur significant charges.</string>
+    <string name="roaming_warning">Roaming charges may apply.</string>
     <!-- mobile network settings screen, message in dialog box that appears when you select the "Data roaming" check box. This is for multiuser tablets [CHAR LIMIT=none] -->
-    <string name="roaming_warning_multiuser" product="tablet">When you allow data roaming, you may incur significant roaming charges!\n\nThis setting affects all users on this tablet.</string>
+    <string name="roaming_warning_multiuser" product="tablet">When you allow data roaming, roaming charges may apply.\n\nThis setting affects all users on this tablet.</string>
     <!-- mobile network settings screen, message in dialog box that appears when you select the "Data roaming" check box. This is for multiuser phones [CHAR LIMIT=none] -->
-    <string name="roaming_warning_multiuser" product="default">When you allow data roaming, you may incur significant roaming charges!\n\nThis setting affects all users on this phone.</string>
+    <string name="roaming_warning_multiuser" product="default">When you allow data roaming, roaming charges may apply.\n\nThis setting affects all users on this phone.</string>
     <!-- mobile network settings screen, title of dialog box that appears when you select the "Data roaming" check box -->
     <string name="roaming_reenable_title">Allow data roaming?</string>
     <!-- mobile network settings screen, setting option name -->
@@ -810,11 +638,6 @@
     <!-- Text shown for the description of the lockdown option -->
     <string name="lockdown_settings_summary">Display power button option that turns off Smart Lock, biometric unlocking, and notifications on the lock screen</string>
 
-    <!-- Text shown for the title of the extend unlock mode option for trust agents [CHAR LIMIT=40] -->
-    <string name="trust_agents_extend_unlock_title">Trust agents only extend unlock</string>
-    <!-- Text shown for the description of the extend unlock mode option [CHAR LIMIT=NONE] -->
-    <string name="trust_agents_extend_unlock_summary">If enabled, trust agents will keep your device unlocked for longer, but can no longer unlock a locked device.</string>
-
     <!-- Text shown for the title of the lock when trust lost option [CHAR LIMIT=40] -->
     <string name="trust_lost_locks_screen_title">Lock screen when trust is lost</string>
     <!-- Text shown for the description of the lock when trust lost option [CHAR LIMIT=NONE -->
@@ -871,7 +694,7 @@
     <!-- In the security screen, the header title for settings related to  Passwords-->
     <string name="security_passwords_title">Privacy</string>
     <!-- Summary for settings preference disabled by administrator [CHAR LIMIT=50] -->
-    <string name="disabled_by_administrator_summary">Disabled by admin</string>
+    <string name="disabled_by_administrator_summary">Not available</string>
     <!-- In the security screen, the header title for security statuses -->
     <string name="security_status_title">Security status</string>
     <!-- Summary for Security settings, explaining a few important settings under it [CHAR LIMIT=NONE] -->
@@ -1579,9 +1402,6 @@
         <item quantity="other">Must be fewer than <xliff:g id="number" example="17">%d</xliff:g> digits</item>
     </plurals>
 
-    <!-- Error shown when in PIN mode and user enters a non-digit -->
-    <string name="lockpassword_pin_contains_non_digits">Must contain only digits 0-9</string>
-
     <!-- Error shown when in PIN mode and PIN has been used recently. Please keep this string short! -->
     <string name="lockpassword_pin_recently_used">Device admin doesn\'t allow using a recent PIN</string>
 
@@ -1636,6 +1456,11 @@
         <item quantity="other">Must contain at least <xliff:g id="count" example="3">%d</xliff:g> non-letter characters</item>
     </plurals>
 
+    <plurals name="lockpassword_password_requires_nonnumerical">
+        <item quantity="one">Must contain at least 1 non-numerical character</item>
+        <item quantity="other">Must contain at least <xliff:g id="count" example="3">%d</xliff:g> non-numerical characters</item>
+    </plurals>
+
     <!-- Error shown when in PASSWORD mode and password has been used recently. Please keep this string short! -->
     <string name="lockpassword_password_recently_used">Device admin doesn\'t allow using a recent
         password</string>
@@ -1812,7 +1637,7 @@
     <!-- Bluetooth connecting error message [CHAR LIMIT=NONE] -->
     <string name="bluetooth_connect_failed">Couldn\'t connect. Try again.</string>
 
-    <!-- Title of device details screen [CHAR LIMIT=40]-->
+    <!-- Title of device details screen [CHAR LIMIT=28]-->
     <string name="device_details_title">Device details</string>
     <!-- Title of the item to show device MAC address -->
     <string name="bluetooth_device_mac_address">Device\'s Bluetooth address: <xliff:g id="address">%1$s</xliff:g></string>
@@ -1932,13 +1757,20 @@
     <string name="wifi_band_5ghz">5 GHz</string>
     <!-- Wifi Sign in text for button [CHAR LIMIT = 40]-->
     <string name="wifi_sign_in_button_text">Sign in</string>
+    <!-- Text for button to go to Wifi venue information webpage when Wifi is a captive portal [CHAR LIMIT=40]-->
+    <string name="wifi_venue_website_button_text">Open site</string>
+    <!-- Text shown in wifi settings indicating how much time is left on an internet access point that has a time limit for the session [CHAR LIMIT=40] -->
+    <string name="wifi_time_remaining"><xliff:g id="Remaining time" example="1 day, 2 hours, 3 minutes">%1$s</xliff:g> left</string>
+    <!-- Text shown in wifi settings indicating at what time the connection will expire on an internet access point that has a time limit for the session [CHAR LIMIT=40] -->
+    <string name="wifi_expiry_time">Expires on <xliff:g id="Expiry time" example="2020/01/02 12:34PM">%1$s</xliff:g></string>
     <!-- Wifi Sign in CTA for wifi settings when captive portal auth is required [CHAR LIMIT = 50] -->
     <string name="wifi_tap_to_sign_in">Tap here to sign in to network</string>
     <!-- Transmit Link speed on Wifi Status screen [CHAR LIMIT=32] -->
     <string name="tx_link_speed"><xliff:g id="Transmit link speed" example="150 Mbps">%1$d</xliff:g> Mbps</string>
     <!-- Receive Link speed on Wifi Status screen [CHAR LIMIT=32] -->
     <string name="rx_link_speed"><xliff:g id="Receive link speed" example="54 Mbps">%1$d</xliff:g> Mbps</string>
-
+    <!-- Link speed on Wifi Status screen [CHAR LIMIT=32] -->
+    <string name="link_speed"><xliff:g id="Link speed" example="54 Mbps">%1$d</xliff:g> Mbps</string>
     <!-- This string asks the user whether or not to allow an app to enable WiFi. [CHAR LIMIT=NONE] -->
     <string name="wifi_ask_enable"><xliff:g id="requester" example="FancyApp">%s</xliff:g> wants to turn on Wi-Fi</string>
     <!-- This string asks the user whether or not to allow an app to disable WiFi. [CHAR LIMIT=NONE] -->
@@ -1949,20 +1781,25 @@
     <!-- Debugging developer settings: Enable ART verifier for Debuggable Apps [CHAR LIMIT=NONE] -->
     <string name="art_verifier_for_debuggable_summary">Allow ART to verify bytecode for debuggable apps</string>
 
+    <!-- Debugging developer settings: show refresh rate? [CHAR LIMIT=36] -->
+    <string name="show_refresh_rate">Show refresh rate</string>
+    <!-- Debugging developer settings: show refresh rate summary [CHAR LIMIT=58] -->
+    <string name="show_refresh_rate_summary">Show the current display refresh rate</string>
+
     <!-- NFC settings -->
     <!-- Used in the 1st-level settings screen to turn on NFC -->
     <string name="nfc_quick_toggle_title">NFC</string>
     <!-- Description of NFC in the 1st level settings screen, for a tablet. [CHAR LIMIT=NONE] -->
-    <string name="nfc_quick_toggle_summary" product="tablet">Allow data exchange when the tablet touches another device</string>
+    <string name="nfc_quick_toggle_summary" product="tablet">Allow data exchange when the tablet touches an NFC device</string>
     <!-- Description of NFC in the 1st level settings screen, for a phone. [CHAR LIMIT=NONE] -->
-    <string name="nfc_quick_toggle_summary" product="default">Allow data exchange when the phone touches another device</string>
+    <string name="nfc_quick_toggle_summary" product="default">Allow data exchange when the phone touches an NFC device</string>
     <!-- Dialog title for NFC disclaimer [CHAR_LIMIT=40]-->
     <string name="nfc_disclaimer_title">Turn on NFC</string>
     <!-- Dialog content for NFC disclaimer: telling user NFC can exchange data when device is nearby other devices (for example: payment terminals, badge reader etc). [CHAR_LIMIT=NONE]-->
     <string name="nfc_disclaimer_content">NFC exchanges data between this device and other nearby devices or targets, such as payment terminals, access readers, and interactive ads or tags.</string>
 
     <!-- Used in the settings screen to secure NFC [CHAR LIMIT=NONE] -->
-    <string name="nfc_secure_settings_title">Secure NFC</string>
+    <string name="nfc_secure_settings_title">Require device unlock for NFC</string>
     <!-- Description of Secure NFC in the 1st level settings screen. [CHAR LIMIT=NONE] -->
     <string name="nfc_secure_toggle_summary" product="default">Allow NFC Payment and Transit use only when screen is unlocked</string>
 
@@ -2122,10 +1959,10 @@
     <!-- Dialog for Access Points --> <skip />
     <!-- Label to show/hide advanced options [CHAR LIMIT=40] -->
     <string name="wifi_show_advanced">Advanced options</string>
-    <!-- Message for talkback to say when Advanced Options expanded [CHAR LIMIT=NONE] -->
-    <string name="wifi_advanced_toggle_description_expanded">Drop down list Advanced Options. Double-tap to collapse.</string>
-    <!-- Message for talkback to say when Advanced Options is collapsed [CHAR LIMIT=NONE] -->
-    <string name="wifi_advanced_toggle_description_collapsed">Drop down list Advanced Options. Double-tap to expand.</string>
+    <!-- Message for talkback to say when focus on Advanced Options[CHAR LIMIT=NONE] -->
+    <string name="wifi_advanced_toggle_description">Drop down list Advanced Options</string>
+    <!-- Extended message for talkback to say when Advanced Options is collapsed. (e.g., Double-tap to expand) [CHAR LIMIT=NONE] -->
+    <string name="wifi_advanced_toggle_description_collapsed">expand</string>
     <!-- Label for the SSID of the network -->
     <string name="wifi_ssid">Network name</string>
     <!-- Hint for a text field to enter the SSID of a hidden wifi network. [CHAR LIMIT=35] -->
@@ -2144,6 +1981,8 @@
     <string name="tx_wifi_speed">Transmit link speed</string>
     <!-- Label for the receive link speed of the connection. [CHAR LIMIT=32] -->
     <string name="rx_wifi_speed">Receive link speed</string>
+    <!-- Label for the link speed of the connection. [CHAR LIMIT=32] -->
+    <string name="wifi_speed">Link speed</string>
     <!-- Label for the frequency band of the connection -->
     <string name="wifi_frequency">Frequency</string>
     <!-- Label for the IP address of the connection -->
@@ -2158,6 +1997,8 @@
     <string name="please_select_phase2">Phase 2 authentication</string>
     <!-- Label for the EAP CA certificate of the network -->
     <string name="wifi_eap_ca_cert">CA certificate</string>
+    <!-- Label for the OCSP type of the network. [CHAR LIMIT=32] -->
+    <string name="wifi_eap_ocsp">Online Certificate Status</string>
     <!-- Label for the domain name that the EAP CA certificate(s) can be used to validate. -->
     <string name="wifi_eap_domain">Domain</string>
     <!-- Label for the EAP user certificate of the network -->
@@ -2190,7 +2031,11 @@
     <string name="wifi_ip_settings">IP settings</string>
     <!-- Label for the spinner to show Wifi MAC randomization [CHAR LIMIT=25] -->
     <string name="wifi_privacy_settings">Privacy</string>
-    <!-- Summary for Wifi MAC randomization option when it is ephemeral network [CHAR LIMIT=40] -->
+    <!-- Label for the subscription preference. [CHAR LIMIT=32] -->
+    <string name="wifi_subscription">Subscription</string>
+    <!-- Summary text for the subscription preference. [CHAR LIMIT=NONE] -->
+    <string name="wifi_subscription_summary">View or change subscription</string>
+    <!-- Summary for Wifi MAC randomization option when it is ephemeral network [CHAR LIMIT=50] -->
     <string name="wifi_privacy_settings_ephemeral_summary">Randomized MAC</string>
     <!-- Title for the fragment to add a device into the wifi network [CHAR LIMIT=50]  -->
     <string name="wifi_dpp_add_device_to_network">Add a device</string>
@@ -2208,8 +2053,6 @@
     <string name="wifi_dpp_scan_qr_code_with_another_device">Scan this QR code to connect to \u201c<xliff:g id="ssid" example="OfficeWifi">%1$s</xliff:g>\u201d and share the password</string>
     <!-- Hint for the user to use another device to scan QR code on screen to join a open Wi-Fi [CHAR LIMIT=NONE] -->
     <string name="wifi_dpp_scan_open_network_qr_code_with_another_device">Scan this QR code to connect to \u201c<xliff:g id="ssid" example="OfficeWifi">%1$s</xliff:g>\u201d</string>
-    <!-- Hint for QR code detection [CHAR LIMIT=NONE]  -->
-    <string name="wifi_dpp_could_not_detect_valid_qr_code">Couldn\u2019t read QR code. Re-center code and try again</string>
     <!-- Hint for Wi-Fi DPP handshake failure [CHAR LIMIT=NONE]  -->
     <string name="wifi_dpp_failure_authentication_or_configuration">Try again. If the issue continues, contact the device manufacturer</string>
     <!-- Hint for Wi-Fi DPP handshake failure [CHAR LIMIT=NONE]  -->
@@ -2220,6 +2063,12 @@
     <string name="wifi_dpp_failure_generic">Make sure the device has been plugged in, charged, and turned on. If the issue continues, contact the device manufacturer</string>
     <!-- Hint for Wi-Fi DPP handshake failure [CHAR LIMIT=NONE]  -->
     <string name="wifi_dpp_failure_not_supported">Adding \u201c<xliff:g id="ssid" example="OfficeWifi">%1$s</xliff:g>\u201d isn\u2019t supported by this device</string>
+    <!-- Hint for Wi-Fi DPP handshake failure [CHAR LIMIT=NONE]  -->
+    <string name="wifi_dpp_failure_cannot_find_network">Try moving the device closer to your Wi\u2011Fi access point/router</string>
+    <!-- Hint for Wi-Fi DPP handshake failure [CHAR LIMIT=NONE]  -->
+    <string name="wifi_dpp_failure_enrollee_authentication">Check the password and try again</string>
+    <!-- Hint for Wi-Fi DPP handshake failure [CHAR LIMIT=NONE]  -->
+    <string name="wifi_dpp_failure_enrollee_rejected_configuration">Contact the device manufacturer</string>
     <!-- Hint for Wi-Fi connection fail [CHAR LIMIT=NONE]  -->
     <string name="wifi_dpp_check_connection_try_again">Check connection and try again</string>
     <!-- Title for the fragment choose network [CHAR LIMIT=50]  -->
@@ -2245,15 +2094,24 @@
     <!-- Title for the fragment to show that the QR code is for sharing Wi-Fi hotspot network [CHAR LIMIT=50] -->
     <string name="wifi_dpp_share_hotspot">Share hotspot</string>
     <!-- Title for Wi-Fi DPP lockscreen title [CHAR LIMIT=50] -->
-    <string name="wifi_dpp_lockscreen_title">Verify it\u0027s you</string>
+    <string name="wifi_dpp_lockscreen_title">Verify that it\u0027s you</string>
     <!-- Hint for Wi-Fi password [CHAR LIMIT=50]  -->
     <string name="wifi_dpp_wifi_password">Wi\u2011Fi password: <xliff:g id="password" example="my password">%1$s</xliff:g></string>
     <!-- Hint for Wi-Fi hotspot password [CHAR LIMIT=50]  -->
     <string name="wifi_dpp_hotspot_password">Hotspot password: <xliff:g id="password" example="my password">%1$s</xliff:g></string>
+    <!-- Label for a Wi-Fi network to specify if the device will auto connect to the Wi-Fi network
+         when signal of the Wi-Fi network is reachable [CHAR LIMIT=50]  -->
+    <string name="wifi_auto_connect_title">Auto\u2011connect</string>
+    <!-- Hint for Wi-Fi Auto-connect [CHAR LIMIT=NONE]  -->
+    <string name="wifi_auto_connect_summary" product="default">Allow phone to automatically connect near this network</string>
+    <!-- Hint for Wi-Fi Auto-connect [CHAR LIMIT=NONE]  -->
+    <string name="wifi_auto_connect_summary" product="tablet">Allow tablet to automatically connect near this network</string>
     <!-- Label for "Use a QR code to add a device to this network" [CHAR LIMIT=50]  -->
     <string name="wifi_dpp_add_device">Add device</string>
     <!-- Hint for "Add device" [CHAR LIMIT=NONE]  -->
     <string name="wifi_dpp_connect_network_using_qr_code">Use a QR code to add a device to this network</string>
+    <!-- Hint for QR code process failure [CHAR LIMIT=NONE]  -->
+    <string name="wifi_dpp_qr_code_is_not_valid_format">QR code isn\u0027t a valid format</string>
      <!-- Label for the try again button [CHAR LIMIT=20]-->
     <string name="retry">Retry</string>
     <!-- Label for the check box to share a network with other users on the same device -->
@@ -2277,6 +2135,10 @@
     <!-- Warning message displayed if user does not specify a domain for the CA certificate.
          Only displayed if the user also chooses to use system certificates. -->
     <string name="wifi_no_domain_warning">Must specify a domain.</string>
+    <!-- Warning message displayed if user does not specify a user certification for
+         WPA3-Enterprise 192-bit. Only displayed if the user does not specify user certificate
+         for WPA3-Enterprise 192-bit [CHAR LIMIT=80]-->
+    <string name="wifi_no_user_cert_warning">Certificate required.</string>
     <!-- Substring of status line when Wi-Fi Protected Setup (WPS) is available and
          string is listed first [CHAR LIMIT=20]-->
     <string name="wifi_wps_available_first_item">WPS available</string>
@@ -2369,8 +2231,10 @@
     <string name="wifi_advanced_titlebar">Advanced Wi\u2011Fi</string>
     <!-- Wi-Fi settings screen, advanced, title of the item to show the Wi-Fi device's SSID. [CHAR LIMIT=20] -->
     <string name="wifi_advanced_ssid_title">SSID</string>
-    <!-- Wi-Fi settings screen, advanced, title of the item to show the Wi-Fi device's MAC address. -->
-    <string name="wifi_advanced_mac_address_title">MAC address</string>
+    <!-- Wi-Fi settings screen, advanced, title of the item to show the device's Wi-Fi MAC address. [CHAR LIMIT=50] -->
+    <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>
     <!-- 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>
@@ -2481,7 +2345,7 @@
     <!-- Title for the toggle to turn off hotspot automatically [CHAR LIMIT=NONE]-->
     <string name="wifi_hotspot_auto_off_title">Turn off hotspot automatically</string>
     <!-- Summary for the toggle to turn off hotspot automatically [CHAR LIMIT=NONE]-->
-    <string name="wifi_hotspot_auto_off_summary">Wi\u2011Fi hotspot will turn off if no devices are connected</string>
+    <string name="wifi_hotspot_auto_off_summary">When no devices are connected</string>
 
     <!-- Summary text when turning hotspot on -->
     <string name="wifi_tether_starting">Turning hotspot on\u2026</string>
@@ -2499,6 +2363,28 @@
     <string name="wifi_hotspot_configure_ap_text_summary">AndroidAP WPA2 PSK hotspot</string>
     <!-- Default access point SSID used for tethering -->
     <string name="wifi_tether_configure_ssid_default">AndroidHotspot</string>
+    <!-- Title for the panel of add Wi-Fi network from APP [CHAR LIMIT=50] -->
+    <string name="wifi_add_app_single_network_title">Save this network?</string>
+    <!-- Summary for the panel of add Wi-Fi network from APP [CHAR LIMIT=NONE] -->
+    <string name="wifi_add_app_single_network_summary" product="default"><xliff:g id="appName" example="ThirdPartyAppName">%1$s</xliff:g> wants to save a network to your phone</string>
+    <!-- Summary for the panel of add Wi-Fi network from APP [CHAR LIMIT=NONE] -->
+    <string name="wifi_add_app_single_network_summary" product="tablet"><xliff:g id="appName" example="ThirdPartyAppName">%1$s</xliff:g> wants to save a network to your tablet</string>
+    <!-- Summary for saving status when saving single network [CHAR LIMIT=30] -->
+    <string name="wifi_add_app_single_network_saving_summary">Saving\u2026</string>
+    <!-- Summary for saved status when saving single network   [CHAR LIMIT=30] -->
+    <string name="wifi_add_app_single_network_saved_summary">Saved</string>
+    <!-- Summary for save failed status when saving single network [CHAR LIMIT=50] -->
+    <string name="wifi_add_app_network_save_failed_summary">Can\u2019t save. Try again.</string>
+    <!--  Title for the panel of add multiple Wi-Fi networks from APP [CHAR LIMIT=50] -->
+    <string name="wifi_add_app_networks_title">Save networks?</string>
+    <!-- Summary for the panel of add multiple Wi-Fi networks from APP [CHAR LIMIT=NONE] -->
+    <string name="wifi_add_app_networks_summary" product="default"><xliff:g id="appName" example="ThirdPartyAppName">%1$s</xliff:g> wants to save these networks to your phone</string>
+    <!-- Summary for the panel of add multiple Wi-Fi networks from APP [CHAR LIMIT=NONE] -->
+    <string name="wifi_add_app_networks_summary" product="tablet"><xliff:g id="appName" example="ThirdPartyAppName">%1$s</xliff:g> wants to save these networks to your tablet</string>
+    <!-- Summary for the panel of add Wi-Fi networks from APP [CHAR LIMIT=NONE] -->
+    <string name="wifi_add_app_networks_saving_summary">Saving <xliff:g id="number" example="3">%d</xliff:g> networks\u2026</string>
+    <!-- Summary for saved status when saving multiple networks   [CHAR LIMIT=NONE] -->
+    <string name="wifi_add_app_networks_saved_summary">Networks saved</string>
 
     <!-- Do not translate. Used for diagnostic screens, precise translation is not necessary
          Wi-Fi Testing on the diagnostic screen-->
@@ -2647,6 +2533,8 @@
     <string name="emergency_address_summary">Used as your location when you make an emergency call over Wi\u2011Fi</string>
     <!-- Message of private dns that provides a help link. [CHAR LIMIT=NONE] -->
     <string name="private_dns_help_message"><annotation id="url">Learn more</annotation> about Private DNS features</string>
+    <!-- Message to display when private dns is on. [CHAR LIMIT=10] -->
+    <string name="private_dns_mode_on">On</string>
 
     <!-- Message to display when setting wifi calling are not editable [CHAR LIMIT=NONE] -->
     <string name="wifi_calling_pref_managed_by_carrier">Setting managed by carrier</string>
@@ -2657,6 +2545,8 @@
     <!-- Message to display when carrier does not support wifi calling or doesn't want the user
          to modify the settings [CHAR LIMIT=NONE] -->
     <string name="wifi_calling_not_supported">Wi\u2011Fi calling is not supported for %1$s</string>
+    <!-- Hint for a Wi-Fi network is disconnected successfully [CHAR LIMIT=NONE] -->
+    <string name="wifi_disconnected_from">Disconnected from <xliff:g id="ssid" example="OfficeWifi">%1$s</xliff:g></string>
     <!-- Carrier string to use in other messages -->
     <string name="carrier">Carrier</string>
     <!-- Sound and alerts settings -->
@@ -2673,7 +2563,7 @@
     <!-- Sound settings screen, music effects title [CHAR LIMIT=30]-->
     <string name="musicfx_title">Music effects</string>
     <!-- Sound settings screen, setting option name -->
-    <string name="ring_volume_title">Ring volume</string>
+    <string name="ring_volume_title">Ring &amp; notification volume</string>
     <!-- Sound settings screen, setting option name checkbox -->
     <string name="vibrate_in_silent_title">Vibrate when silent</string>
     <!-- Sound settings screen, setting option name -->
@@ -2852,7 +2742,7 @@
     <!-- Display settings screen, display white balance settings summary [CHAR LIMIT=NONE] -->
     <string name="display_white_balance_summary"></string>
     <!-- Display settings screen, setting option name to enable adaptive sleep [CHAR LIMIT=30] -->
-    <string name="adaptive_sleep_title">Screen attention</string>
+    <string name="adaptive_sleep_title">Turn on screen attention</string>
     <!-- Setting option summary when adaptive sleep is on [CHAR LIMIT=NONE] -->
     <string name="adaptive_sleep_summary_on">On / Screen won\u2019t turn off if you\u2019re looking at it</string>
     <!-- Setting option summary when adaptive sleep is off [CHAR LIMIT=NONE] -->
@@ -2866,7 +2756,7 @@
     <!-- Description feature's privacy sensitive details to make sure users understand what feature users, what it saves/sends etc [CHAR LIMIT=NONE]-->
     <string name="adaptive_sleep_privacy">Screen attention uses the front camera to see if someone is looking at the screen. It works on device, and images are never stored or sent to Google.</string>
     <!-- Description about the contextual adaptive sleep card [CHAR LIMIT=NONE]-->
-    <string name="adaptive_sleep_contextual_slice_summary">Keep screen on when viewing it</string>
+    <string name="adaptive_sleep_contextual_slice_summary">Keep screen on when looking at it</string>
 
     <!-- Night display screen, setting option name to enable night display (renamed "Night Light" with title caps). [CHAR LIMIT=30] -->
     <string name="night_display_title">Night Light</string>
@@ -2892,7 +2782,7 @@
     <string name="night_display_summary_off">Off / <xliff:g name="auto_mode_summary" example="Never turn on automatically">%1$s</xliff:g></string>
     <!-- Display settings screen, summary of night display when off and will *never* turn on automatically. [CHAR LIMIT=NONE] -->
     <string name="night_display_summary_off_auto_mode_never">Will never turn on automatically</string>
-    <!-- Display settings screen, summary format of night display when off and will turn on automatically at a user defined time. [CHAR LIMIT=NONE] -->
+         <!-- Display settings screen, summary format of night display when off and will turn on automatically at a user defined time. [CHAR LIMIT=NONE] -->
     <string name="night_display_summary_off_auto_mode_custom">Will turn on automatically at <xliff:g name="time" example="6 AM">%1$s</xliff:g></string>
     <!-- Display settings screen, summary of night display when off and will turn on automatically at sunset. [CHAR LIMIT=NONE] -->
     <string name="night_display_summary_off_auto_mode_twilight">Will turn on automatically at sunset</string>
@@ -2934,9 +2824,11 @@
     <string name="dark_ui_auto_mode_title">Schedule</string>
     <!-- Dark UI screen, setting option value for Dark UI to *never* turn on/off automatically. [CHAR LIMIT=30] -->
     <string name="dark_ui_auto_mode_never">None</string>
-    <!-- Dark UIscreen, setting option value for Dark UI to turn on/off automatically at sunset/sunrise. [CHAR LIMIT=32] -->
+    <!-- Dark UI screen, setting option value for Dark UI to turn on/off automatically at sunset/sunrise. [CHAR LIMIT=32] -->
     <string name="dark_ui_auto_mode_auto">Turns on from sunset to sunrise</string>
-    <!-- Dark UIscreen, setting option name controlling the current activation status. [CHAR LIMIT=30] -->
+    <!-- Dark UI screen, setting option value for Dark theme to turn on/off automatically according to a user defined schedule. [CHAR LIMIT=32] -->
+    <string name="dark_ui_auto_mode_custom">Turns on at custom time</string>
+    <!-- Dark UI screen, setting option name controlling the current activation status. [CHAR LIMIT=30] -->
     <string name="dark_ui_status_title">Status</string>
     <!-- Display settings screen, summary format of Dark UI when off. [CHAR LIMIT=NONE] -->
     <string name="dark_ui_summary_off">Off / <xliff:g name="auto_mode_summary" example="Never turn on automatically">%1$s</xliff:g></string>
@@ -2944,12 +2836,20 @@
     <string name="dark_ui_summary_off_auto_mode_never">Will never turn on automatically</string>
     <!-- Display settings screen, summary of Dark UI when off and will turn on automatically at sunset. [CHAR LIMIT=NONE] -->
     <string name="dark_ui_summary_off_auto_mode_auto">Will turn on automatically at sunset</string>
+        <!-- Display settings screen, summary format of night display when off and will turn on automatically at a user defined time. [CHAR LIMIT=NONE] -->
+    <string name="dark_ui_summary_off_auto_mode_custom">Will turn on automatically at <xliff:g name="time" example="6 AM">%1$s</xliff:g></string>
     <!-- Display settings screen, summary format of Dark UI when on. [CHAR LIMIT=NONE] -->
     <string name="dark_ui_summary_on">On / <xliff:g name="auto_mode_summary" example="Never turn off automatically">%1$s</xliff:g></string>
     <!-- Display settings screen, summary of Dark UI when on and will *never* turn off automatically. [CHAR LIMIT=NONE] -->
     <string name="dark_ui_summary_on_auto_mode_never">Will never turn off automatically</string>
     <!-- Display settings screen, summary of Dark UI when on and will turn off automatically at sunrise. [CHAR LIMIT=NONE] -->
     <string name="dark_ui_summary_on_auto_mode_auto">Will turn off automatically at sunrise</string>
+    <!-- Display settings screen, summary format of night display when on and will turn off automatically at a user defined time. [CHAR LIMIT=NONE] -->
+    <string name="dark_ui_summary_on_auto_mode_custom">Will turn off automatically at <xliff:g name="time" example="10 PM">%1$s</xliff:g></string>
+    <!-- Display settings screen, activation button action for custom schedule [CHAR LIMIT=40] -->
+    <string name="dark_ui_activation_on_custom">Turn on until <xliff:g name="time" example="6 AM">%1$s</xliff:g></string>
+    <!-- Display settings screen, deactivation button action for custom schedule [CHAR LIMIT=40] -->
+    <string name="dark_ui_activation_off_custom">Turn off until <xliff:g name="time" example="10 PM">%1$s</xliff:g></string>
     <!-- Dark theme screen, description of Dark theme feature. [CHAR LIMIT=NONE] -->
     <string name="dark_ui_text">Dark theme uses a black background to help keep battery alive longer on some screens. Dark theme schedules wait to turn on until your screen is off.</string>
 
@@ -2974,7 +2874,7 @@
     <!-- Wallpaper settings fragment title [CHAR LIMIT=30] -->
     <string name="wallpaper_settings_fragment_title">Choose wallpaper from</string>
     <!-- Styles and Wallpaper settings title [CHAR_LIMIT=46] -->
-    <string name="style_suggestion_title">Customize your Pixel</string>
+    <string name="style_suggestion_title">Customize your phone</string>
     <!-- Styles and Wallpapers summary [CHAR_LIMIT=70] -->
     <string name="style_suggestion_summary">Try different styles, wallpapers, and more</string>
     <!-- Display settings screen, trigger for screen saver options -->
@@ -3084,7 +2984,7 @@
     <string name="sim_multi_sims_title">Multiple SIMs found</string>
     <!-- Multiple SIMs found summary.  [CHAR LIMIT=100] -->
     <string name="sim_multi_sims_summary">Choose the SIM you prefer for mobile data.</string>
-    <!-- Title asking user if they wish to change the default sim for cellular data.  [CHAR LIMIT=30] -->
+    <!-- Title asking user if they wish to change the default sim for cellular data.  [CHAR LIMIT=40] -->
     <string name="sim_change_data_title">
         Use <xliff:g id="carrier" example="Verizon">%1$s</xliff:g> for mobile data?
     </string>
@@ -3168,6 +3068,8 @@
     <string name="storage_settings_summary" product="default">Unmount SD card, view available storage</string>
     <!-- About phone screen, title for IMEI for multi-sim devices -->
     <string name="imei_multi_sim">IMEI (sim slot %1$d)</string>
+    <!-- About phone screen, summary of the MAC address [CHAR LIMIT=80] -->
+    <string name="view_saved_network">To view, choose saved network</string>
     <!-- Do not translate. About phone, status item title -->
     <string name="status_imei">IMEI</string>
     <!-- Do not translate. About phone, status item title -->
@@ -3226,6 +3128,8 @@
     <string name="status_operator">Network</string>
     <!-- About phone, status item title.  The MAC address of the Wi-Fi network adapter. -->
     <string name="status_wifi_mac_address">Wi\u2011Fi MAC address</string>
+    <!-- About phone, status item title.  The device's MAC address of the Wi-Fi network adapter. [CHAR LIMIT=50] -->
+    <string name="status_device_wifi_mac_address">Device Wi\u2011Fi MAC address</string>
     <!-- About phone, status item title.  The bluetooth adapter's hardware address-->
     <string name="status_bt_address">Bluetooth address</string>
     <!-- About phone, status item title.  The hardware serial number. [CHAR LIMIT=30]-->
@@ -3747,6 +3651,8 @@
 
     <!-- Summary text for a screen containing all device reset options [CHAR LIMIT=None] -->
     <string name="reset_dashboard_summary">Network, apps, or device can be reset</string>
+    <!-- Summary text for a screen device reset option for Apps [CHAR LIMIT=NONE] -->
+    <string name="reset_dashboard_summary_onlyApps">Apps can be reset</string>
 
     <!-- Reset Network -->
     <!-- Button title to reset Wi-Fi settings, Mobile data setting, bluetooth settings -->
@@ -3856,6 +3762,36 @@
     <!-- Tethering controls, footer note displayed when tethering is disabled because Data Saver mode is on [CHAR LIMIT=none]-->
     <string name="tether_settings_disabled_on_data_saver">"Can\u2019t tether or use portable hotspots while Data Saver is on"</string>
 
+    <!-- Tethering setting summary when only Wi-Fi hotspot is on [CHAR LIMIT=NONE]-->
+    <string name="tether_settings_summary_hotspot_only">Hotspot only</string>
+    <!-- Tethering setting summary when only USB tethering is on [CHAR LIMIT=NONE]-->
+    <string name="tether_settings_summary_usb_tethering_only">USB only</string>
+    <!-- Tethering setting summary when only Bluetooth tethering is on [CHAR LIMIT=NONE]-->
+    <string name="tether_settings_summary_bluetooth_tethering_only">Bluetooth only</string>
+    <!-- Tethering setting summary when Wi-Fi hotspot and USB tethering are on [CHAR LIMIT=NONE]-->
+    <string name="tether_settings_summary_hotspot_and_usb">Hotspot, USB</string>
+    <!-- Tethering setting summary when Wi-Fi hotspot and Bluetooth tethering are on [CHAR LIMIT=NONE]-->
+    <string name="tether_settings_summary_hotspot_and_bluetooth">Hotspot, Bluetooth</string>
+    <!-- Tethering setting summary when USB and Bluetooth tethering are on [CHAR LIMIT=NONE]-->
+    <string name="tether_settings_summary_usb_and_bluetooth">USB, Bluetooth</string>
+    <!-- Tethering setting summary when Wi-Fi hotspot and USB and Bluetooth tethering are on [CHAR LIMIT=NONE]-->
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth">Hotspot, USB, Bluetooth</string>
+    <!-- Tethering setting summary when hotspot and tethering are off [CHAR LIMIT=NONE]-->
+    <string name="tether_settings_summary_off">Not sharing internet with other devices</string>
+
+    <!-- Tethering interface options [CHAR LIMIT=NONE]-->
+    <string name="tethering_interface_options">Tethering</string>
+
+    <!-- Disable Wifi Hotspot option-->
+    <!-- Don't use Wi-Fi hotspot title [CHAR LIMIT=NONE]-->
+    <string name="disable_wifi_hotspot_title">Don\u2019t use Wi\u2011Fi hotspot</string>
+    <!-- Don't use Wi-Fi hotspot summary when USB tethering is chosen [CHAR LIMIT=NONE]-->
+    <string name="disable_wifi_hotspot_when_usb_on">Only share internet via USB</string>
+    <!-- Don't use Wi-Fi hotspot summary when Bluetooth tethering is chosen [CHAR LIMIT=NONE]-->
+    <string name="disable_wifi_hotspot_when_bluetooth_on">Only share internet via Bluetooth</string>
+    <!-- Don't use Wi-Fi hotspot summary when USB tethering and Bluetooth tethering are chosen [CHAR LIMIT=NONE]-->
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on">Only share internet via USB and Bluetooth</string>
+
     <!-- USB Tethering options -->
     <string name="usb_title">USB</string>
     <string name="usb_tethering_button_text">USB tethering</string>
@@ -3878,6 +3814,8 @@
 
     <!-- Tethering footer info [CHAR LIMIT=NONE]-->
     <string name="tethering_footer_info">Use hotspot and tethering to provide internet to other devices through your mobile data connection. Apps can also create a hotspot to share content with nearby devices.</string>
+    <!-- Tethering footer info for the device which supports Wi-Fi and Wi-Fi tethering enabled at the same time [CHAR LIMIT=NONE]-->
+    <string name="tethering_footer_info_sta_ap_concurrency">Use hotspot and tethering to provide internet to other devices through your Wi\u2011Fi or mobile data connection. Apps can also create a hotspot to share content with nearby devices.</string>
 
     <!-- Tethering help button - calls up a web view with general tethering info -->
     <string name="tethering_help_button_text">Help</string>
@@ -4073,14 +4011,6 @@
     <!-- About phone settings screen, Safety Legal dialog title until the link is fully loaded -->
     <string name="settings_safetylegal_activity_loading">Loading\u2026</string>
 
-    <!-- ConfirmDeviceCredential settings-->
-    <!-- Button text shown on BiometricPrompt (system dialog that asks for biometric authentication) giving the user the option to use an alternate form of authentication (Pin) [CHAR LIMIT=30] -->
-    <string name="confirm_device_credential_pin">Use PIN</string>
-    <!-- Button text shown on BiometricPrompt (system dialog that asks for biometric authentication) giving the user the option to use an alternate form of authentication (Pattern) [CHAR LIMIT=30] -->
-    <string name="confirm_device_credential_pattern">Use pattern</string>
-    <!-- Button text shown on BiometricPrompt (system dialog that asks for biometric authentication) giving the user the option to use an alternate form of authentication (Pass) [CHAR LIMIT=30] -->
-    <string name="confirm_device_credential_password">Use password</string>
-
     <!-- Lock Pattern settings -->
     <!-- Header on first screen of choose password/PIN flow [CHAR LIMIT=40] -->
     <string name="lockpassword_choose_your_screen_lock_header">Set screen lock</string>
@@ -4098,10 +4028,16 @@
     <string name="lockpassword_choose_your_pattern_message">For security, set pattern</string>
     <!-- Header on password confirm screen [CHAR LIMIT=40] -->
     <string name="lockpassword_confirm_your_password_header">Re-enter your password</string>
+    <!-- Header on password confirm screen for the work profile [CHAR LIMIT=40] -->
+    <string name="lockpassword_confirm_your_work_password_header">Enter your work password</string>
     <!-- Header on pattern confirm screen [CHAR LIMIT=30] -->
     <string name="lockpassword_confirm_your_pattern_header">Confirm your pattern</string>
+    <!-- Header on pattern confirm screen for the work profile [CHAR LIMIT=30] -->
+    <string name="lockpassword_confirm_your_work_pattern_header">Enter your work pattern</string>
     <!-- Header on password confirm screen [CHAR LIMIT=40] -->
     <string name="lockpassword_confirm_your_pin_header">Re-enter your PIN</string>
+    <!-- Header on password confirm screen for the work profile [CHAR LIMIT=40] -->
+    <string name="lockpassword_confirm_your_work_pin_header">Enter your work PIN</string>
     <!-- Header on password confirm screen if second password doesn't match the first. [CHAR LIMIT=30] -->
     <string name="lockpassword_confirm_passwords_dont_match">Passwords don\u2019t match</string>
     <!-- Header on pin confirm screen if second pin doesn't match the first. [CHAR LIMIT=30]-->
@@ -4122,6 +4058,12 @@
     <string name="lockpassword_choose_your_pattern_header_for_face">To use face unlock, set pattern</string>
     <!-- Header on first screen of choose password/PIN as backup for face unlock flow. If this string cannot be translated in under 40 characters, please translate "Set face unlock backup" [CHAR LIMIT=40] -->
     <string name="lockpassword_choose_your_pin_header_for_face">To use face unlock, set PIN</string>
+    <!-- Text for button that the user should tap when they forgot their work profile password [CHAR LIMIT=40] -->
+    <string name="lockpassword_forgot_password">Forgot your password?</string>
+    <!-- Text for button that the user should tap when they forgot their work profile pattern [CHAR LIMIT=40] -->
+    <string name="lockpassword_forgot_pattern">Forgot your pattern?</string>
+    <!-- Text for button that the user should tap when they forgot their work profile PIN [CHAR LIMIT=40] -->
+    <string name="lockpassword_forgot_pin">Forgot your PIN?</string>
 
     <!-- Message to be used to explain the user that he needs to enter his pattern to continue a
          particular operation. [CHAR LIMIT=70]-->
@@ -4293,6 +4235,11 @@
     <!-- Preference title for showing all apps on device [CHAR_LIMIT=50]-->
     <string name="see_all_apps_title">See all <xliff:g id="count" example="3">%1$d</xliff:g> apps</string>
 
+    <!-- Title of the dialog that asks the user to contact the IT admin to reset password [CHAR LIMIT=40] -->
+    <string name="forgot_password_title">Contact your IT admin</string>
+    <!-- Content of the dialog that asks the user to contact the IT admin to reset password [CHAR LIMIT=100] -->
+    <string name="forgot_password_text">They can help you reset your PIN, pattern, or password</string>
+
     <!-- Warning that appears below the unknown sources switch in settings -->
     <string name="install_all_warning" product="tablet">
         Your tablet and personal data are more vulnerable
@@ -4416,13 +4363,7 @@
     <!-- [CHAR LIMIT=NONE] Manage applications screen, menu item.  Title of dialog to confirm resetting user's app preferences. -->
     <string name="reset_app_preferences_title">Reset app preferences?</string>
     <!-- [CHAR LIMIT=NONE] Manage applications screen, menu item.  Body of dialog to confirm resetting user's app preferences. -->
-    <string name="reset_app_preferences_desc">This will reset all preferences for:\n\n
-        <li>Disabled apps</li>\n
-        <li>Disabled app notifications</li>\n
-        <li>Default applications for actions</li>\n
-        <li>Background data restrictions for apps</li>\n
-        <li>Any permission restrictions</li>\n\n
-        You will not lose any app data.</string>
+    <string name="reset_app_preferences_desc">This will reset all preferences for:\n\n<li>Disabled apps</li>\n<li>Disabled app notifications</li>\n<li>Default applications for actions</li>\n<li>Background data restrictions for apps</li>\n<li>Any permission restrictions</li>\n\nYou will not lose any app data.</string>
     <!-- [CHAR LIMIT=25] Manage applications screen, menu item.  Confirmation button of dialog to confirm resetting user's app preferences. -->
     <string name="reset_app_preferences_button">Reset apps</string>
     <!-- Manage applications screen, individual app screen, button label when the user wants to manage the space taken up by an app. -->
@@ -4886,7 +4827,7 @@
     <!-- Title for the accessibility preference category of interaction control services and settings. [CHAR LIMIT=50] -->
     <string name="interaction_control_category_title">Interaction controls</string>
     <!-- Title for the accessibility preference category of services downloaded by the user. [CHAR LIMIT=50] -->
-    <string name="user_installed_services_category_title">Downloaded services</string>
+    <string name="user_installed_services_category_title">Downloaded apps</string>
     <!-- Title for the accessibility preference category of settings considered to be experimental, meaning they might be changed or removed in the future. [CHAR LIMIT=50] -->
     <string name="experimental_category_title">Experimental</string>
     <!-- Title for feature flags dashboard where developers can turn on experimental features [CHAR LIMIT=50] -->
@@ -4901,12 +4842,34 @@
     <string name="accessibility_captioning_title">Caption preferences</string>
     <!-- Title for the accessibility preference screen to enable screen magnification. [CHAR LIMIT=35] -->
     <string name="accessibility_screen_magnification_title">Magnification</string>
+    <!-- Title for the accessibility preference screen to edit magnification area. [CHAR LIMIT=35] -->
+    <string name="accessibility_magnification_mode_title">Magnification area</string>
+    <!-- Title for the accessibility preference screen to edit magnification enable mode. [CHAR LIMIT=35] -->
+    <string name="accessibility_magnification_enable_mode_title">Magnification enable</string>
+    <!-- Message for the accessibility preference screen to edit magnification area dialog. [CHAR LIMIT=none] -->
+    <string name="accessibility_magnification_area_settings_message">Choose the magnification area(s) you want to use when magnifying the screen</string>
+    <!-- Summary for the accessibility preference screen to edit full screen. [CHAR LIMIT=none] -->
+    <string name="accessibility_magnification_area_settings_full_screen_summary">Full screen</string>
+    <!-- Summary for the accessibility preference screen to edit window screen. [CHAR LIMIT=none] -->
+    <string name="accessibility_magnification_area_settings_window_screen_summary">Part of screen</string>
+    <!-- Summary for the accessibility preference screen to edit entire screen. [CHAR LIMIT=none] -->
+    <string name="accessibility_magnification_area_settings_all_summary">Full screen &amp; part of screen</string>
+    <!-- Message for the accessibility preference screen to edit entire screen. [CHAR LIMIT=none] -->
+    <string name="accessibility_magnification_area_settings_full_screen">Magnify entire screen</string>
+    <!-- Message for the accessibility preference screen to edit part of screen. [CHAR LIMIT=none] -->
+    <string name="accessibility_magnification_area_settings_window_screen">Magnify part of screen</string>
+    <!-- Title for the accessibility preference screen to enable screen magnification settings. [CHAR LIMIT=35] -->
+    <string name="accessibility_magnification_service_settings_title">Magnification settings</string>
     <!-- Title for the accessibility preference screen to enable triple-tap gesture screen magnification. [CHAR LIMIT=35] -->
     <string name="accessibility_screen_magnification_gestures_title">Magnify with triple-tap</string>
     <!-- Title for the accessibility preference screen to enable navigation bar screen magnification. [CHAR LIMIT=35] -->
     <string name="accessibility_screen_magnification_navbar_title">Magnify with shortcut</string>
     <!-- Summary for the accessibility magnification setting indicating both "Magnify with button" and "Magnify with triple-tap" are enabled [CHAR LIMIT=50] -->
     <string name="accessibility_screen_magnification_state_navbar_gesture">Magnify with shortcut &amp; triple-tap</string>
+    <!-- Title for the footer text to explain what accessibility service does. [CHAR LIMIT=35] -->
+    <string name="accessibility_introduction_title">About <xliff:g id="service" example="Select to Speak">%1$s</xliff:g></string>
+    <!-- Title for the footer text to explain what option accessibility service does. [CHAR LIMIT=35] -->
+    <string name="accessibility_screen_option">Options</string>
     <!-- Summary for the accessibility preference to enable screen magnification. [CHAR LIMIT=25] -->
     <string name="accessibility_preference_magnification_summary">Zoom in on screen</string>
     <!-- Short summary for Magnification gesture. Tells the user that this feature allows the user to magnify the screen by tapping 3 times. Appears in accessibility portion of setup wizard -->
@@ -4914,9 +4877,9 @@
     <!-- Short summary for nav bar Magnification. Tells the user that this feature allows the user to magnify the screen using a button in the nav bar -->
     <string name="accessibility_screen_magnification_navbar_short_summary">Tap a button to zoom</string>
     <!-- Summary for the accessibility preference screen to enable screen magnification gestures. [CHAR LIMIT=none] -->
-    <string name="accessibility_screen_magnification_summary"><b>To zoom</b>, quickly tap the screen 3 times.\n<ul><li>Drag 2 or more fingers to scroll</li>\n<li>Pinch 2 or more fingers to adjust zoom</li></ul>\n\n<b>To zoom temporarily</b>, quickly tap the screen 3 times and hold down your finger on the third tap.\n<ul><li>Drag to move around the screen</li>\n<li>Lift finger to zoom out</li></ul>\n\nYou can\'t zoom in on the keyboard and navigation bar.</string>
+    <string name="accessibility_screen_magnification_summary"><![CDATA[Quickly zoom in on the screen to see content more clearly.<br/><br/><b>To zoom in:</b><br/>\t1. Use shortcut to start magnification<br/>\t2. Tap the screen<br/>\t3. Drag 2 fingers to move around screen<br/>\t4. Pinch with 2 fingers to adjust zoom<br/>\t5. Use shortcut to stop magnification<br/><br/><b>To zoom in temporarily:</b><br/>\t1. Use shortcut to start magnification<br/>\t2. Touch & hold anywhere on the screen<br/>\t3. Drag finger to move around screen<br/>\t4. Lift finger to stop magnification]]></string>
     <!-- Summary for the accessibility preference screen to enable screen magnification via the nav bar. [CHAR LIMIT=none] -->
-    <string name="accessibility_screen_magnification_navbar_summary">When magnification is turned on, you can zoom in on your screen.\n\n<b>To zoom</b>, start magnification, then tap anywhere on the screen.\n<ul><li>•  Drag 2 or more fingers to scroll</li>\n<li>•  Pinch 2 or more fingers to adjust zoom</li></ul>\n\n<b>To zoom temporarily</b>, start magnification, then touch &amp; hold anywhere on the screen.\n<ul><li>•  Drag to move around the screen</li>\n<li>•  Lift finger to zoom out</li></ul>\n\nYou can’t zoom in on the keyboard or navigation bar.</string>
+    <string name="accessibility_screen_magnification_navbar_summary">When magnification is turned on, you can zoom in on your screen.\n\n<b>To zoom</b>, start magnification, then tap anywhere on the screen.\n<ul><li>Drag 2 or more fingers to scroll</li>\n<li>Pinch 2 or more fingers to adjust zoom</li></ul>\n\n<b>To zoom temporarily</b>, start magnification, then touch &amp; hold anywhere on the screen.\n<ul><li>Drag to move around the screen</li>\n<li>Lift finger to zoom out</li></ul>\n\nYou can’t zoom in on the keyboard or navigation bar.</string>
     <!-- Title for the Accessibility tutorial dialog in Accessibility service with button. [CHAR LIMIT=50] -->
     <string name="accessibility_tutorial_dialog_title_button">Use accessibility button to open</string>
     <!-- Title for the Accessibility tutorial dialog in Accessibility service with gesture. [CHAR LIMIT=50] -->
@@ -4924,17 +4887,43 @@
     <!-- Title for the Accessibility tutorial dialog in gesture navigation settings. [CHAR LIMIT=50] -->
     <string name="accessibility_tutorial_dialog_title_gesture_settings">Use new accessibility gesture</string>
     <!-- Message for the Accessibility tutorial dialog when user enables an accessibility service while using the 3-button nav bar. [CHAR LIMIT=NONE] -->
-    <string name="accessibility_tutorial_dialog_message_button">To turn this service on or off, tap the accessibility button<xliff:g id="accessibility_icon" example="[Icon]">%s</xliff:g>on the bottom of your screen.\n\nTo switch between services, touch &amp; hold the accessibility button.</string>
+    <string name="accessibility_tutorial_dialog_message_button">To turn this service on or off, tap the accessibility button <xliff:g id="accessibility_icon" example="[Icon]">%s</xliff:g> on the bottom of your screen.\n\nTo switch between services, touch &amp; hold the accessibility button.</string>
     <!-- Message for the Accessibility tutorial dialog when user enables an accessibility service while using gesture navigation and touch exploration is not enabled. [CHAR LIMIT=NONE] -->
-    <string name="accessibility_tutorial_dialog_message_gesture_without_talkback">To turn this service on or off, swipe up from the bottom of the screen with two fingers.\n\nTo switch between services, swipe up with two fingers and hold.</string>
+    <string name="accessibility_tutorial_dialog_message_gesture">To turn this service on or off, swipe up from the bottom of the screen with two fingers.\n\nTo switch between services, swipe up with two fingers and hold.</string>
     <!-- Message for the Accessibility tutorial dialog when user enables an accessibility service while using gesture navigation and touch exploration is enabled. [CHAR LIMIT=NONE] -->
-    <string name="accessibility_tutorial_dialog_message_gesture_with_talkback">To turn this service on or off, swipe up from the bottom of the screen with three fingers.\n\nTo switch between services, swipe up with three fingers and hold.</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback">To turn this service on or off, swipe up from the bottom of the screen with three fingers.\n\nTo switch between services, swipe up with three fingers and hold.</string>
     <!-- Message for the Accessibility tutorial dialog when user chooses gesture navigation in navigation settings, an accessibility service is using the accessibility button, and touch exploration is disabled. [CHAR LIMIT=NONE] -->
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_without_talkback">To turn an accessibility service on or off, swipe up from the bottom of the screen with two fingers.\n\nTo switch between services, swipe up with two fingers and hold.</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings">To turn an accessibility service on or off, swipe up from the bottom of the screen with two fingers.\n\nTo switch between services, swipe up with two fingers and hold.</string>
     <!-- Message for the Accessibility tutorial dialog when user chooses gesture navigation in navigation settings, an accessibility service is using the accessibility button, and touch exploration is enabled. [CHAR LIMIT=NONE] -->
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_with_talkback">To turn an accessibility service on or off, swipe up from the bottom of the screen with three fingers.\n\nTo switch between services, swipe up with three fingers and hold.</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback">To turn an accessibility service on or off, swipe up from the bottom of the screen with three fingers.\n\nTo switch between services, swipe up with three fingers and hold.</string>
     <!-- Button for the Accessibility tutorial dialog to dismiss the dialog when user clicks it. [CHAR LIMIT=10] -->
     <string name="accessibility_tutorial_dialog_button">Got it</string>
+    <!-- Title for accessibility shortcut preference for accessibility apps. [CHAR LIMIT=40] -->
+    <string name="accessibility_shortcut_title"><xliff:g id="service" example="Select to Speak">%1$s</xliff:g> shortcut</string>
+    <!-- Title for software shortcut in Accessibility edit shortcut dialog. [CHAR LIMIT=NONE] -->
+    <string name="accessibility_shortcut_edit_summary_software">Accessibility Button</string>
+    <!-- Title for software shortcut in gesture mode in Accessibility edit shortcut dialog while using gesture navigation is enabled. [CHAR LIMIT=NONE] -->
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture">Swipe up with 2 fingers</string>
+    <!-- Title for software shortcut in gesture mode in Accessibility edit shortcut dialog while using gesture navigation and touch exploration are enabled. [CHAR LIMIT=NONE] -->
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture_talkback">Swipe up with 3 fingers</string>
+    <!-- Summary for accessibility shortcut preference for software shortcut type. [CHAR LIMIT=NONE] -->
+    <string name="accessibility_shortcut_edit_dialog_title_software">Tap accessibility button</string>
+    <!-- Summary for software shortcut in Accessibility edit shortcut dialog. [CHAR LIMIT=NONE] -->
+    <string name="accessibility_shortcut_edit_dialog_summary_software">Tap the accessibility button <xliff:g id="accessibility_icon" example="[Icon]">%s</xliff:g> at the bottom of your screen</string>
+    <!-- Summary for software shortcut in gesture mode in Accessibility edit shortcut dialog while using gesture navigation is enabled. [CHAR LIMIT=NONE] -->
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture">Swipe up from the bottom of the screen with 2 fingers</string>
+    <!-- Summary for software shortcut in gesture mode in Accessibility edit shortcut dialog while using gesture navigation and touch exploration are enabled [CHAR LIMIT=NONE] -->
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback">Swipe up from the bottom of the screen with 3 fingers</string>
+    <!-- Title for hardware shortcut in Accessibility edit shortcut dialog. [CHAR LIMIT=NONE] -->
+    <string name="accessibility_shortcut_edit_dialog_title_hardware">Hold volume keys</string>
+    <!-- Summary for hardware shortcut in Accessibility edit shortcut dialog. [CHAR LIMIT=NONE] -->
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware">Press &amp; hold both volume keys for 1 second</string>
+    <!-- Title for triple tap shortcut in Accessibility edit shortcut dialog. [CHAR LIMIT=NONE] -->
+    <string name="accessibility_shortcut_edit_dialog_title_triple_tap">Triple-tap screen</string>
+    <!-- Summary for triple tap shortcut in Accessibility edit shortcut dialog. [CHAR LIMIT=NONE] -->
+    <string name="accessibility_shortcut_edit_dialog_summary_triple_tap">Quickly tap screen 3 times. This shortcut may slow down your device.</string>
+    <!-- Title for the Accessibility edit shortcut dialog to save the preference when user clicks it. [CHAR LIMIT=10] -->
+    <string name="accessibility_shortcut_edit_dialog_title_advance">Advanced</string>
     <!-- Summary text appearing on the accessibility preference screen to enable screen magnification from the nav bar when the feature is enabled, but the accessibility button is not configured correctly for the feature to be used [CHAR LIMIT=none] -->
     <string name="accessibility_screen_magnification_navbar_configuration_warning">The Accessibility button is set to <xliff:g id="service" example="Select to Speak">%1$s</xliff:g>. To use magnification, touch &amp; hold the Accessibility button, then select magnification.</string>
     <!-- Summary text appearing on the accessibility preference screen to enable screen magnification from the nav bar when the feature is enabled, but the accessibility button is not configured correctly for the feature to be used [CHAR LIMIT=none] -->
@@ -4943,10 +4932,12 @@
     <string name="accessibility_global_gesture_preference_title">Volume key shortcut</string>
     <!-- Title for the preference to choose the service that is turned on and off by the accessibility shortcut. [CHAR LIMIT=35] -->
     <string name="accessibility_shortcut_service_title">Shortcut service</string>
+    <!-- Label for shortcut settings button. [CHAR LIMIT=NONE] -->
+    <string name="accessibility_shortcut_settings">Shortcut settings</string>
     <!-- Title for the switch preference that controls whether or not the accessibility shortcut works on the lock screen. [CHAR LIMIT=35] -->
-    <string name="accessibility_shortcut_service_on_lock_screen_title">Allow from lock screen</string>
+    <string name="accessibility_shortcut_service_on_lock_screen_title">Shortcut from lock screen</string>
     <!-- Description of accessibility shortcut. [CHAR LIMIT=NONE] -->
-    <string name="accessibility_shortcut_description">When the shortcut is on, you can press both volume keys for 3 seconds to start an accessibility feature.</string>
+    <string name="accessibility_shortcut_description">Allow feature shortcut to turn on from the lock screen. Hold both volume keys for 3 seconds.</string>
     <!-- Title for the accessibility preference to high contrast text. [CHAR LIMIT=35] -->
     <string name="accessibility_toggle_high_text_contrast_preference_title">High contrast text</string>
     <!-- Title for the accessibility preference to auto update screen magnification. [CHAR LIMIT=35] -->
@@ -4993,14 +4984,36 @@
     <string name="accessibility_long_press_timeout_preference_title">Touch &amp; hold delay</string>
     <!-- Title for the accessibility preference to configure display color inversion. [CHAR LIMIT=NONE] -->
     <string name="accessibility_display_inversion_preference_title">Color inversion</string>
+    <!-- Used in the accessibility service settings to control turning display color inversion on/off entirely. [CHAR LIMIT=NONE] -->
+    <string name="accessibility_display_inversion_switch_title">Use color inversion</string>
     <!-- Subtitle for the accessibility preference to configure display color inversion. [CHAR LIMIT=NONE] -->
-    <string name="accessibility_display_inversion_preference_subtitle">May affect performance</string>
+    <string name="accessibility_display_inversion_preference_subtitle"><![CDATA[Color inversion turns light screens dark. This feature may be helpful for people who are sensitive to bright light.<br/><br/>Color inversion also turns dark screens light. Colors will change in media and images.<br/><br/>Note: You can also use Dark theme to display a dark background. Dark theme works with supported apps. Color inversion works on all apps.]]></string>
     <!-- Title for accessibility preference for configuring feature that performs click action soon after mouse/trackpad pointer stops moving. [CHAR LIMIT=NONE] -->
-    <string name="accessibility_autoclick_preference_title">Dwell timing</string>
+    <string name="accessibility_autoclick_preference_title">Autoclick (dwell timing)</string>
     <!-- Footer text to explain what autoclick does -->
-    <string name="accessibility_autoclick_description">If you are using a mouse, you can set the cursor to take action automatically when it stops moving for a certain amount of time.</string>
-    <!-- Title for accessibility preference for configuring amount of time that has to pass after pointer stops moving before click action can be performed (if automatic click after pointer stops moving feature is enabled). [CHAR LIMIT=NONE] -->
-    <string name="accessibility_autoclick_delay_preference_title">Delay before click</string>
+    <string name="accessibility_autoclick_description">Autoclick works with a connected mouse. You can set the mouse cursor to click automatically when the cursor stops moving for a certain amount of time.</string>
+    <!-- Option heading to leave the auto click requirement for accessibility users at its default level. [CHAR LIMIT=50] -->
+    <string name="accessibility_autoclick_default_title">Off</string>
+    <!-- Option heading to leave the auto click requirement for accessibility users at its short level. [CHAR LIMIT=35] -->
+    <string name="accessibility_autoclick_short_title">Short</string>
+    <!-- Option summary text for the auto click delay 0.2 seconds radio button. [CHAR LIMIT=35] -->
+    <string name="accessibility_autoclick_short_summary">0.2 seconds</string>
+    <!-- Option heading to leave the auto click requirement for accessibility users at its medium level. [CHAR LIMIT=35] -->
+    <string name="accessibility_autoclick_medium_title">Medium</string>
+    <!-- Option summary text for the auto click delay 0.6 seconds radio button. [CHAR LIMIT=35] -->
+    <string name="accessibility_autoclick_medium_summary">0.6 seconds</string>
+    <!-- Option heading to leave the auto click requirement for accessibility users at its long level. [CHAR LIMIT=35] -->
+    <string name="accessibility_autoclick_long_title">Long</string>
+    <!-- Option summary text for the auto click delay 1 second radio button. [CHAR LIMIT=35] -->
+    <string name="accessibility_autoclick_long_summary">1 second</string>
+    <!-- Option heading to leave the auto click requirement for accessibility users at its custom level. [CHAR LIMIT=35] -->
+    <string name="accessibility_autoclick_custom_title">Custom</string>
+    <!-- Description for the button that shorter auto click time. [CHAR_LIMIT=NONE] -->
+    <string name="accessibility_autoclick_shorter_desc">Shorter</string>
+    <!-- Description for the button that longer auto click time. [CHAR_LIMIT=NONE] -->
+    <string name="accessibility_autoclick_longer_desc">Longer</string>
+    <!-- Description for the seekbar that adjust auto click time. [CHAR_LIMIT=NONE] -->
+    <string name="accessibility_autoclick_seekbar_desc">Auto click time</string>
     <!-- Title for accessibility preference screen for configuring vibrations. -->
     <string name="accessibility_vibration_settings_title">Vibration &amp; haptic strength</string>
     <!-- Title for accessibility preference for configuring notification vibrations. -->
@@ -5009,14 +5022,32 @@
     <string name="accessibility_ring_vibration_title">Ring vibration</string>
     <!-- Title for accessibility preference for configuring touch feedback vibrations. -->
     <string name="accessibility_touch_vibration_title">Touch feedback</string>
-    <!-- Used in the acessibilty service settings to control turning on/off the service entirely -->
-    <string name="accessibility_service_master_switch_title">Use service</string>
+    <!-- Used in the accessibility service settings to control turning on/off the service entirely -->
+    <string name="accessibility_service_master_switch_title">Use <xliff:g id="accessibility_app_name" example="TalkBack">%1$s</xliff:g></string>
+    <!-- Used in the accessibility service settings to open the activity. [CHAR LIMIT=NONE] -->
+    <string name="accessibility_service_master_open_title">Open <xliff:g id="accessibility_app_name" example="TalkBack">%1$s</xliff:g></string>
     <!-- Used in the Color correction settings screen to control turning on/off the feature entirely -->
     <string name="accessibility_daltonizer_master_switch_title">Use color correction</string>
-    <!-- Used in the Captions settings screen to control turning on/off the feature entirely -->
-    <string name="accessibility_caption_master_switch_title">Use captions</string>
+    <!-- Title for Captions settings screen to control turning on/off the feature entirely -->
+    <string name="accessibility_caption_master_switch_title">Show captions</string>
+    <!-- Summary for Captions settings screen to control turning on/off the feature entirely [CHAR LIMIT=NONE] -->
+    <string name="accessibility_caption_master_switch_summary">For supported app only</string>
+    <!-- Title for Caption preference settings screen for configuring font style. [CHAR LIMIT=NONE] -->
+    <string name="captioning_caption_appearance_title">Caption size and style</string>
+    <!-- Summary for Captions settings, explaining important settings under it. [CHAR LIMIT=NONE] -->
+    <string name="captioning_caption_appearance_summary"><xliff:g id="accessibility_font_size" example="Large">%1$s</xliff:g> text size</string>
+    <!-- Title for Caption preference settings screen for configuring language. [CHAR LIMIT=NONE] -->
+    <string name="captioning_more_options_title">More options</string>
     <!-- Used in the Captions preference to tell users that the setting doesn't support all apps. [CHAR LIMIT=NONE] -->
-    <string name="accessibility_caption_preference_summary">Not all apps support this setting.</string>
+    <string name="accessibility_caption_preference_summary">Not all apps support these caption preferences</string>
+    <!-- Summary for accessibility shortcut preference for software shortcut type. [CHAR LIMIT=NONE] -->
+    <string name="accessibility_shortcut_type_software">Accessibility button</string>
+    <!-- Summary for accessibility shortcut preference for software shortcut type when gesture mode is on. [CHAR LIMIT=NONE] -->
+    <string name="accessibility_shortcut_type_software_gesture">2-finger swipe up from bottom</string>
+    <!-- Summary for accessibility shortcut preference for hardware shortcut type. [CHAR LIMIT=NONE] -->
+    <string name="accessibility_shortcut_type_hardware">Hold volume keys</string>
+    <!-- Summary for accessibility shortcut preference for magnification triple tap shortcut type. [CHAR LIMIT=NONE] -->
+    <string name="accessibility_shortcut_type_triple_tap">Triple tap screen</string>
 
     <!-- Button text for the accessibility dialog continue to the next screen for hearing aid. [CHAR LIMIT=32] -->
     <string name="accessibility_hearingaid_instruction_continue_button">Continue</string>
@@ -5026,10 +5057,8 @@
     <string name="accessibility_hearingaid_not_connected_summary">No hearing aids connected</string>
     <!-- Summary for the accessibility preference for hearing aid when adding new devices. [CHAR LIMIT=50] -->
     <string name="accessibility_hearingaid_adding_summary">Add hearing aids</string>
-    <!-- Message to ask the user that if they want to pair the hearing aid, then they should find and tap the hearing aid device from the list on the next screen. [CHAR LIMIT=NONE] -->
-    <string name="accessibility_hearingaid_pair_instructions_first_message">To pair your hearing aids, find and tap your device on the next screen.</string>
     <!-- Message to ask the user to make sure that their hearing aid devices are in pairing mode. [CHAR LIMIT=NONE] -->
-    <string name="accessibility_hearingaid_pair_instructions_second_message">Make sure your hearing aids are in pairing mode.</string>
+    <string name="accessibility_hearingaid_pair_instructions_message">To pair your hearing aids, find and tap your device on the next screen. Make sure your hearing aids are in pairing mode.</string>
     <!-- Summary for the accessibility preference for hearing aid when there is an active device. [CHAR LIMIT=50] -->
     <string name="accessibility_hearingaid_active_device_summary"><xliff:g id="device_name">%1$s</xliff:g> active</string>
     <!-- Summary for the accessibility preference for hearing aid when there are saved devices. [CHAR LIMIT=50] -->
@@ -5038,9 +5067,13 @@
         <item quantity="other"><xliff:g id="number_device_count">%1$d</xliff:g> saved hearing aids</item>
     </plurals>
 
-    <!-- Preference's state when enabled. -->
+    <!-- Preference's shortcut when enabled. [CHAR LIMIT=NONE] -->
+    <string name="accessibility_summary_shortcut_enabled">Shortcut on</string>
+    <!-- Preference's shortcut when disabled. [CHAR LIMIT=NONE] -->
+    <string name="accessibility_summary_shortcut_disabled">Off</string>
+    <!-- Preference's state when enabled. [CHAR LIMIT=NONE] -->
     <string name="accessibility_summary_state_enabled">On</string>
-    <!-- Preference's state when disabled. -->
+    <!-- Preference's state when disabled. [CHAR LIMIT=NONE] -->
     <string name="accessibility_summary_state_disabled">Off</string>
     <!-- Accessibility service's preference's state when enabled but not running (like maybe it crashed). -->
     <string name="accessibility_summary_state_stopped">Not working. Tap for info.</string>
@@ -5051,31 +5084,49 @@
     <string name="enable_quick_setting">Show in Quick Settings</string>
     <!-- Title for the preference to configure the type of color space correction to apply. [CHAR LIMIT=NONE] -->
     <string name="daltonizer_type">Correction mode</string>
+    <!-- Title shown for deuteranomaly (red-green color blindness) [CHAR LIMIT=45] -->
+    <string name="daltonizer_mode_deuteranomaly_title">Deuteranomaly</string>
+    <!-- Title shown for protanomaly (red-green color blindness) [CHAR LIMIT=45] -->
+    <string name="daltonizer_mode_protanomaly_title">Protanomaly</string>
+    <!-- Title shown for tritanomaly (blue-yellow color blindness) [CHAR LIMIT=45] -->
+    <string name="daltonizer_mode_tritanomaly_title">Tritanomaly</string>
+    <!-- Summary shown for deuteranomaly (red-green color blindness) [CHAR LIMIT=45] -->
+    <string name="daltonizer_mode_deuteranomaly_summary">Red-green</string>
+    <!-- Summary shown for protanomaly (red-green color blindness) [CHAR LIMIT=45] -->
+    <string name="daltonizer_mode_protanomaly_summary">Red-green</string>
+    <!-- Summary shown for tritanomaly (blue-yellow color blindness) [CHAR LIMIT=45] -->
+    <string name="daltonizer_mode_tritanomaly_summary">Blue-yellow</string>
 
     <!-- Subtitle for the accessibility preference to configure feature that performs click action soon after mouse/trackpad pointer stops moving, in case delay before click is extremely short. Placeholder will be set to the number of milliseconds to which the delay amounts. [CHAR LIMIT=NONE] -->
     <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay">
-        <item quantity="one">Extremely short delay (<xliff:g id="click_delay_label" example="200">%1$d</xliff:g> ms)</item>
-        <item quantity="other">Extremely short delay (<xliff:g id="click_delay_label" example="200">%1$d</xliff:g> ms)</item>
+        <item quantity="one">Extremely short delay (<xliff:g id="click_delay_label" example="200">%1$s</xliff:g> second)</item>
+        <item quantity="other">Extremely short delay (<xliff:g id="click_delay_label" example="200">%1$s</xliff:g> seconds)</item>
     </plurals>
     <!-- Subtitle for the accessibility preference to configure feature that performs click action soon after mouse/trackpad pointer stops moving, in case delay before click is extremely short. Placeholder will be set to the number of milliseconds to which the delay amounts. [CHAR LIMIT=NONE] -->
     <plurals name="accessibilty_autoclick_preference_subtitle_very_short_delay">
-        <item quantity="one">Very short delay (<xliff:g id="click_delay_label" example="200">%1$d</xliff:g> ms)</item>
-        <item quantity="other">Very short delay (<xliff:g id="click_delay_label" example="200">%1$d</xliff:g> ms)</item>
+        <item quantity="one">Very short delay (<xliff:g id="click_delay_label" example="200">%1$s</xliff:g> second)</item>
+        <item quantity="other">Very short delay (<xliff:g id="click_delay_label" example="200">%1$s</xliff:g> seconds)</item>
     </plurals>
     <!-- Subtitle for the accessibility preference to configure feature that performs click action soon after mouse/trackpad pointer stops moving, in case delay before click is extremely short. Placeholder will be set to the number of milliseconds to which the delay amounts. [CHAR LIMIT=NONE] -->
     <plurals name="accessibilty_autoclick_preference_subtitle_short_delay">
-        <item quantity="one">Short delay (<xliff:g id="click_delay_label" example="200">%1$d</xliff:g> ms)</item>
-        <item quantity="other">Short delay (<xliff:g id="click_delay_label" example="200">%1$d</xliff:g> ms)</item>
+        <item quantity="one">Short delay (<xliff:g id="click_delay_label" example="200">%1$s</xliff:g> second)</item>
+        <item quantity="other">Short delay (<xliff:g id="click_delay_label" example="200">%1$s</xliff:g> seconds)</item>
     </plurals>
     <!-- Subtitle for the accessibility preference to configure feature that performs click action soon after mouse/trackpad pointer stops moving, in case delay before click is extremely short. Placeholder will be set to the number of milliseconds to which the delay amounts. [CHAR LIMIT=NONE] -->
     <plurals name="accessibilty_autoclick_preference_subtitle_long_delay">
-        <item quantity="one">Long delay (<xliff:g id="click_delay_label" example="200">%1$d</xliff:g> ms)</item>
-        <item quantity="other">Long delay (<xliff:g id="click_delay_label" example="200">%1$d</xliff:g> ms)</item>
+        <item quantity="one">Long delay (<xliff:g id="click_delay_label" example="200">%1$s</xliff:g> second)</item>
+        <item quantity="other">Long delay (<xliff:g id="click_delay_label" example="200">%1$s</xliff:g> seconds)</item>
     </plurals>
     <!-- Subtitle for the accessibility preference to configure feature that performs click action soon after mouse/trackpad pointer stops moving, in case delay before click is extremely short. Placeholder will be set to the number of milliseconds to which the delay amounts. [CHAR LIMIT=NONE] -->
     <plurals name="accessibilty_autoclick_preference_subtitle_very_long_delay">
-        <item quantity="one">Very long delay (<xliff:g id="click_delay_label" example="200">%1$d</xliff:g> ms)</item>
-        <item quantity="other">Very long delay (<xliff:g id="click_delay_label" example="200">%1$d</xliff:g> ms)</item>
+        <item quantity="one">Very long delay (<xliff:g id="click_delay_label" example="200">%1$s</xliff:g> second)</item>
+        <item quantity="other">Very long delay (<xliff:g id="click_delay_label" example="200">%1$s</xliff:g> seconds)</item>
+    </plurals>
+
+    <!-- Summary for autoclick seekbar settings preference when user selected custom item. [CHAR LIMIT=35] -->
+    <plurals name="accessibilty_autoclick_delay_unit_second">
+        <item quantity="one"><xliff:g id="click_delay_label" example="1">%1$s</xliff:g> second</item>
+        <item quantity="other"><xliff:g id="click_delay_label" example="0.6">%1$s</xliff:g> seconds</item>
     </plurals>
 
     <!-- Summary for vibration settings preference when notification vibration and haptic feedback intensity are set. [CHAR LIMIT=50] -->
@@ -5105,7 +5156,7 @@
     <!-- Label describing a high intensity vibration option. [CHAR LIMIT=15] -->
     <string name="accessibility_vibration_intensity_high">High</string>
 
-    <!-- Title for accessibility menu item to lauch a settings activity. [CHAR LIMIT=15] -->
+    <!-- Title for accessibility menu item to launch a settings activity. [CHAR LIMIT=15] -->
     <string name="accessibility_menu_item_settings">Settings</string>
 
     <!-- Summary for the enabled state of an accessibility feature. [CHAR LIMIT=10] -->
@@ -5825,9 +5876,6 @@
     <!-- Menu label for refreshing with latest usage numbers -->
     <string name="menu_stats_refresh">Refresh</string>
 
-    <!-- TODO: Remove it once the same entry in SettingsLib is translated. -->
-    <!-- Label for kernel threads in battery usage -->
-    <string name="process_kernel_label">Android OS</string>
     <!-- Label for mediaserver process in battery usage -->
     <string name="process_mediaserver_label">Mediaserver</string>
     <!-- Label for dex2oat process in battery usage used for the optimization of one or more apps -->
@@ -6039,10 +6087,8 @@
 
     <!-- Title of preference group for credential storage settings [CHAR LIMIT=30] -->
     <string name="credentials_title">Credential storage</string>
-    <!-- Title of preference to install certificates from SD card [CHAR LIMIT=30] -->
-    <string name="credentials_install" product="nosdcard">Install from storage</string>
-    <!-- Title of preference to install certificates from SD card [CHAR LIMIT=30] -->
-    <string name="credentials_install" product="default">Install from SD card</string>
+    <!-- Title of preference to install certificates [CHAR LIMIT=30] -->
+    <string name="credentials_install">Install a certificate</string>
     <!-- Summary of preference to install certificates from SD card [CHAR LIMIT=NONE] -->
     <string name="credentials_install_summary" product="nosdcard">Install certificates from storage</string>
     <!-- Summary of preference to install certificates from SD card [CHAR LIMIT=NONE] -->
@@ -6081,6 +6127,22 @@
     <string name="credentials_not_erased">Credential storage couldn\u2019t be erased.</string>
     <!-- Title of Usage Access preference item [CHAR LIMIT=30] -->
     <string name="usage_access_title">Apps with usage access</string>
+    <!-- Title of CA certificate [CHAR LIMIT=30] -->
+    <string name="ca_certificate">CA certificate</string>
+    <!-- Title of User certificate [CHAR LIMIT=30] -->
+    <string name="user_certificate">VPN &amp; app user certificate</string>
+    <!-- Title of Wi-Fi certificate [CHAR LIMIT=30] -->
+    <string name="wifi_certificate">Wi\u2011Fi certificate</string>
+    <!-- Title of warning shown to the user before they can install a CA certificate [CHAR LIMIT=NONE] -->
+    <string name="ca_certificate_warning_title">Your data won\u2019t be private</string>
+    <!-- Description of warning shown to the user before they can install a CA certificate [CHAR LIMIT=NONE] -->
+    <string name="ca_certificate_warning_description">CA certificates are used by websites, apps, and VPNs for encryption. Only install CA certificates from organizations you trust. \n\n If you install a CA certificate, the certificate owner could access your data, such as passwords or credit card details, from websites you visit or apps you use – even if your data is encrypted.</string>
+    <!-- Label for button to not install a certificate [CHAR_LIMIT=50] -->
+    <string name="certificate_warning_dont_install">Don\u2019t install</string>
+    <!-- Label for button to continue installing a certificate [CHAR_LIMIT=50] -->
+    <string name="certificate_warning_install_anyway">Install anyway</string>
+    <!-- Toast message that a certificate was not installed -->
+    <string name="cert_not_installed">Certificate not installed</string>
 
     <!-- Sound settings screen, setting check box label -->
     <string name="emergency_tone_title">Emergency dialing signal</string>
@@ -6141,15 +6203,6 @@
 
     <!-- Message when there are no available device admin apps to display -->
     <string name="no_device_admins">No device admin apps available</string>
-    <!-- Title for personal device admin apps on the list [CHAR_LIMIT=25] -->
-    <string name="personal_device_admin_title">Personal</string>
-    <!-- Title for managed device admin apps on the list [CHAR_LIMIT=25] -->
-    <string name="managed_device_admin_title">Work</string>
-    <!-- Title for whether to enable SMS access restriction [CHAR LIMIT=50]-->
-    <string name="sms_access_restriction_enabled">Restrict SMS &amp; call log access</string>
-    <!-- Summary for whether to enable SMS access restriction [CHAR LIMIT=NONE]-->
-    <string name="sms_access_restriction_enabled_summary">Only default phone and messaging apps have SMS &amp; call log permissions</string>
-
 
     <!-- Message when there are no available trust agents to display -->
     <string name="no_trust_agents">No available trust agents</string>
@@ -6188,6 +6241,17 @@
     <string name="admin_more_details">More details</string>
     <string name="notification_log_title">Notification log</string>
 
+    <string name="notification_history_title">Notification history</string>
+    <string name="notification_history_today">Today</string>
+    <string name="notification_history_snooze">Snoozed</string>
+    <string name="notification_history_dismiss">Recently dismissed</string>
+
+    <!-- app summary of notification app list screen [CHAR LIMIT=100] -->
+    <plurals name="notification_history_count">
+        <item quantity="one"><xliff:g id="number">%d</xliff:g> notification</item>
+        <item quantity="other"><xliff:g id="number">%d</xliff:g> notifications</item>
+    </plurals>
+
     <!-- Category title for phone call's ringtone and vibration settings in the Sound Setting.
          [CHAR LIMIT=40] -->
     <string name="sound_category_call_ringtone_vibrate_title">Call ringtone &amp; vibrate</string>
@@ -6951,9 +7015,6 @@
     <!-- Restrictions screen - menu label to change restrictions pin [CHAR LIMIT=25] -->
     <string name="restriction_menu_change_pin">Change PIN</string>
 
-    <!-- Label for are-notifications-enabled checkbox in app details [CHAR LIMIT=20] -->
-    <string name="app_notifications_switch_label">Show notifications</string>
-
     <!--  Help URLs for some screens. Not specified here. Specified in product overlays --><skip/>
     <!-- Help menu label [CHAR LIMIT=20] -->
     <string name="help_label">Help &amp; feedback</string>
@@ -6995,6 +7056,8 @@
     <string name="help_uri_apps_photography" translatable="false"></string>
     <!-- Help URI, manage apps wifi access [DO NOT TRANSLATE] -->
     <string name="help_uri_apps_wifi_access" translatable="false"></string>
+    <!-- Help URI, manage apps that have access to all files [DO NOT TRANSLATE] -->
+    <string name="help_uri_manage_external_storage" translatable="false"></string>
     <!-- Help URI, Storage [DO NOT TRANSLATE] -->
     <string name="help_uri_storage" translatable="false"></string>
     <!-- Help URI, Accessibility [DO NOT TRANSLATE] -->
@@ -7042,6 +7105,8 @@
     <string name="help_url_security" translatable="false"></string>
     <!-- Help URL, Encryption settings [DO NOT TRANSLATE] -->
     <string name="help_url_encryption" translatable="false"></string>
+    <!-- Help URL, Install certificate settings [DO NOT TRANSLATE] -->
+    <string name="help_url_install_certificate" translatable="false"></string>
     <!-- Help URL, Tap & pay [DO NOT TRANSLATE] -->
     <string name="help_url_nfc_payment" translatable="false"></string>
     <!-- Help URL, Remote display [DO NOT TRANSLATE] -->
@@ -7086,6 +7151,8 @@
     <string name="help_url_magnification" translatable="false"></string>
     <string name="help_url_color_correction" translatable="false"></string>
     <string name="help_url_autoclick" translatable="false"></string>
+    <!-- Help URL, Accessibility caption preferences [DO NOT TRANSLATE] -->
+    <string name="help_url_caption" translatable="false"></string>
     <string name="help_url_system_dashboard" translatable="false"></string>
     <string name="help_url_double_tap_screen" translatable="false"></string>
     <string name="help_url_account_detail" translatable="false"></string>
@@ -7101,6 +7168,8 @@
     <string name="help_uri_bluetooth_screen" translatable="false"></string>
     <!-- url for the SIM combination warning required dialog help page -->
     <string name="help_uri_sim_combination_warning" translatable="false"></string>
+    <!-- url for the NFC and payment settings page -->
+    <string name="help_uri_nfc_and_payment_settings" translatable="false"></string>
 
     <!-- User account title [CHAR LIMIT=30] -->
     <string name="user_account_title">Account for content</string>
@@ -7147,6 +7216,19 @@
     <string name="enhanced_4g_lte_mode_summary">Use LTE services to improve voice and other communications (recommended)</string>
     <!-- Enhaced 4G LTE Mode summary for 4g calling.  [CHAR LIMIT=100] -->
     <string name="enhanced_4g_lte_mode_summary_4g_calling">Use 4G services to improve voice and other communications (recommended)</string>
+    <!-- Title of a preference determining whether or not the user has enabled contact discovery,
+         which is a service that uses the phone numbers in your contacts to determine if your
+         contacts support advanced calling features, such as video calling. [CHAR LIMIT=50]-->
+    <string name="contact_discovery_opt_in_title">Contact discovery</string>
+    <!-- Summary of a preference determining whether or not the user has enabled contact discovery.
+         [CHAR LIMIT=110] -->
+    <string name="contact_discovery_opt_in_summary">Allows your carrier to discover which calling features your contacts support.</string>
+    <!-- Title of the dialog shown when the user tries to enable Contact Discovery.
+         [CHAR LIMIT=50] -->
+    <string name="contact_discovery_opt_in_dialog_title">Enable contact discovery?</string>
+    <!-- Text displayed in the dialog shown when the user tries to enable Contact Discovery.
+         [CHAR LIMIT=NONE]-->
+    <string name="contact_discovery_opt_in_dialog_message">Enabling this feature will allow your carrier access to phone numbers in your contacts in order to discover which calling features they support.</string>
     <!-- Preferred network type title.  [CHAR LIMIT=50] -->
     <string name="preferred_network_type_title">Preferred network type</string>
     <!-- Preferred network type summary.  [CHAR LIMIT=100] -->
@@ -7249,8 +7331,6 @@
     <string name="sim_select_card">Select a SIM card</string>
     <!-- Label for a numbered SIM card.  [CHAR LIMIT=40] -->
     <string name="sim_card_number_title">SIM <xliff:g id="card_number">%1$d</xliff:g></string>
-    <!-- Name label of Sim card that is empty.  [CHAR LIMIT=40] -->
-    <string name="sim_slot_empty">SIM empty</string>
     <!-- Name label of Sim Editor.  [CHAR LIMIT=40] -->
     <string name="sim_editor_name">SIM name</string>
     <!-- Hint for SIM name in sim name editor dialog.  [CHAR LIMIT=40] -->
@@ -7296,8 +7376,6 @@
     <!-- Message under title informing the user to touch to go to SIM Cards in Settings.  [CHAR LIMIT=40] -->
     <string name="sim_notification_summary">Tap to set up</string>
 
-    <!-- This is a divider in the SIM cards preferences that is the header of various settings where the user chooses which SIM to use for phone calls, data, and SMS messages [CHAR LIMIT=50] -->
-    <string name="sim_pref_divider">Preferred SIM for</string>
     <!-- When a user chooses this "Ask first" preference for the SIM to use for phone calls, they'll be prompted to choose a SIM every time they initiate a call [CHAR LIMIT=50] -->
     <string name="sim_calls_ask_first_prefs_title">Ask every time</string>
     <!-- When a SIM preference hasn't been selected yet, this string is displayed as the pref summary until the user chooses a SIM subscription from the preference list [CHAR LIMIT=50] -->
@@ -7333,6 +7411,8 @@
     <string name="connected_devices_dashboard_no_driving_mode_summary">Bluetooth, NFC</string>
     <!-- Summary for Connected devices settings, explaning a few important settings under it [CHAR LIMIT=NONE]-->
     <string name="connected_devices_dashboard_no_driving_mode_no_nfc_summary">Bluetooth</string>
+    <!-- Summary for Tap & pay settings, explaning a few important settings under it [CHAR LIMIT=NONE]-->
+    <string name="nfc_and_payment_settings_payment_off_nfc_off_summary">Unavailable because NFC is off</string>
     <!-- Title for setting tile leading to Apps & Notification settings [CHAR LIMIT=40]-->
     <string name="app_and_notification_dashboard_title">Apps &amp; notifications</string>
     <!-- Summary for Apps & Notification settings, explaining a few important settings under it [CHAR LIMIT=NONE]-->
@@ -7361,6 +7441,8 @@
     <string name="keywords_wifi">wifi, wi-fi, network connection, internet, wireless, data, wi fi</string>
     <!-- Search keyword for "Open Network Notification" settings. [CHAR_LIMIT=NONE]-->
     <string name="keywords_wifi_notify_open_networks">Wi\u2011Fi notification, wifi notification</string>
+    <!-- Search keyword for "Wi-fi data usage" settings. [CHAR_LIMIT=NONE]-->
+    <string name="keywords_wifi_data_usage">data usage</string>
     <!-- Search keyword for "Vibrate on touch" settings. [CHAR_LIMIT=NONE]-->
     <string name="keywords_vibrate_on_touch">Stop vibration, tap, keyboard</string>
     <!-- Search keyword for "Time format" settings. [CHAR_LIMIT=NONE]-->
@@ -7374,7 +7456,7 @@
     <!-- Search keyword for "Time zone" settings [CHAR_LIMIT=NONE]-->
     <string name="keywords_time_zone">timezone</string>
     <!-- Search keyword for "Display over other apps" settings [CHAR_LIMIT=NONE]-->
-    <string name="keywords_draw_overlay">Chat head</string>
+    <string name="keywords_draw_overlay">Chat head, system, alert, window, dialog, display, on top other apps, draw</string>
 
     <!-- Search keyword for "Flashlight" settings [CHAR_LIMIT=NONE]-->
     <string name="keywords_flashlight">Flashlight, Light, Torch</string>
@@ -7401,7 +7483,7 @@
     <string name="keywords_sounds_and_notifications_interruptions">dont don\u2019t disturb, interrupt, interruption, break</string>
     <string name="keywords_app">RAM</string>
     <string name="keywords_location">nearby, location, history, reporting, GPS</string>
-    <string name="keywords_accounts">account</string>
+    <string name="keywords_accounts">account, add an account, work profile, add account</string>
     <string name="keywords_users">restriction, restrict, restricted</string>
     <string name="keywords_keyboard_and_ime">text correction, correct, sound, vibrate, auto, language, gesture, suggest, suggestion, theme, offensive, word, type, emoji, international</string>
     <string name="keywords_reset_apps">reset, preferences, default</string>
@@ -7473,6 +7555,9 @@
     <!-- List of synonyms for the Wallpaper picker setting, used to match in settings search [CHAR LIMIT=NONE] -->
     <string name="keywords_wallpaper">background, screen, lockscreen, theme</string>
 
+    <!-- List of synonyms for the Styles picker setting, used to match in settings search [CHAR LIMIT=NONE] -->
+    <string name="keywords_styles">icon shape, accent color, font</string>
+
     <!-- List of synonyms for the Default Assist and Voice input setting, used to match in settings search [CHAR LIMIT=NONE] -->
     <string name="keywords_assist_input">default, assistant</string>
 
@@ -7497,8 +7582,11 @@
     <!-- Battery Saver: Search terms for battery saver schedule preference. Feel free to add additional terms when translating if appropriate [CHAR_LIMIT=NONE] -->
     <string name="keywords_battery_saver_schedule">routine, schedule, battery saver, power saver, battery, automatic, percent</string>
 
-    <!-- List of synonyms for the Add an account setting [CHAR_LIMIT=NONE] -->
-    <string name="keywords_add_an_account">work profile</string>
+    <!-- List of synonyms for the enhance 4G LTE titles, used to match in settings search [CHAR LIMIT=NONE] -->
+    <string name="keywords_enhance_4g_lte">volte, advanced calling, 4g calling</string>
+
+    <!-- List of synonyms for add language, used to match in settings search [CHAR LIMIT=NONE] -->
+    <string name="keywords_add_language">add language, add a language</string>
 
     <!-- Option title for the default sound, context based on screen -->
     <string name="default_sound">Default sound</string>
@@ -7511,7 +7599,7 @@
     <!-- Sounds and Notification -->
     <!-- Sound: Dashboard summary indicating the volume of ringtone. example: Ring volume at 20%.
     [CHAR LIMIT=100] -->
-    <string name="sound_settings_summary">Ring volume at <xliff:g id="percentage" example="2%">%1$s</xliff:g></string>
+    <string name="sound_settings_summary">Ring &amp; notification volume at <xliff:g id="percentage" example="2%">%1$s</xliff:g></string>
 
     <!-- Summary for sound settings, explaining a few important settings under it [CHAR LIMIT=NONE]-->
     <string name="sound_dashboard_summary">Volume, vibration, Do Not Disturb</string>
@@ -7523,7 +7611,7 @@
     <string name="sound_settings_summary_silent">Ringer set to silent</string>
 
     <!-- Sound: Dashboard summary example used in Setup Wizard preview screen. [CHAR LIMIT=100] -->
-    <string name="sound_settings_example_summary">Ring volume at 80%</string>
+    <string name="sound_settings_example_summary">Ring &amp; notification volume at 80%</string>
 
     <!-- Sound: Title for the option managing media volume. [CHAR LIMIT=30] -->
     <string name="media_volume_option_title">Media volume</string>
@@ -7538,7 +7626,7 @@
     <string name="alarm_volume_option_title">Alarm volume</string>
 
     <!-- Sound: Title for the option managing ring volume. [CHAR LIMIT=30] -->
-    <string name="ring_volume_option_title">Ring volume</string>
+    <string name="ring_volume_option_title">Ring &amp; notification volume</string>
 
     <!-- Sound: Title for the option managing notification volume. [CHAR LIMIT=30] -->
     <string name="notification_volume_option_title">Notification volume</string>
@@ -7561,6 +7649,15 @@
     <!-- Sound: Title for the option managing whether or not to vibrate when ringing. [CHAR LIMIT=30] -->
     <string name="vibrate_when_ringing_title">Vibrate for calls</string>
 
+    <!-- Sound: Option for vibrate when ringing setting: Never vibrate. [CHAR LIMIT=40] -->
+    <string name="vibrate_when_ringing_option_never_vibrate">Never vibrate</string>
+
+    <!-- Sound: Option for vibrate when ringing setting: Always vibrate. [CHAR LIMIT=40] -->
+    <string name="vibrate_when_ringing_option_always_vibrate">Always vibrate</string>
+
+    <!-- Sound: Option for vibrate when ringing setting: Ramping ringer. [CHAR LIMIT=80] -->
+    <string name="vibrate_when_ringing_option_ramping_ringer">Vibrate first then ring gradually</string>
+
     <!-- Sound: Title for the other sounds option and associated settings page. [CHAR LIMIT=30] -->
     <string name="other_sound_settings">Other sounds</string>
 
@@ -7624,6 +7721,9 @@
     <!-- Sound: Title for the Do not Disturb option and associated settings page. [CHAR LIMIT=50]-->
     <string name="zen_mode_settings_title">Do Not Disturb</string>
 
+    <!-- Sound: Summary for the Do not Disturb option and associated settings page. [CHAR LIMIT=240]-->
+    <string name="zen_mode_settings_summary">Only get notified by important people and apps</string>
+
     <!-- Subtitle for the Do not Disturb slice. [CHAR LIMIT=50]-->
     <string name="zen_mode_slice_subtitle">Limit interruptions</string>
 
@@ -7703,7 +7803,7 @@
     <string name="zen_mode_visual_signals_settings_subtitle">Allow visual signals</string>
 
     <!-- Do not disturb: zen settings screens category title [CHAR LIMIT=100] -->
-    <string name="zen_mode_settings_category">When Do Not Disturb is on</string>
+    <string name="zen_mode_settings_category">Allow interruptions that make sound</string>
 
     <!-- Do not disturb: restrict notifications title [CHAR LIMIT=80] -->
     <string name="zen_mode_restrict_notifications_title">Restrict notifications</string>
@@ -7768,7 +7868,7 @@
     <!-- Do not disturb: what to block summary, all effects -->
     <string name="zen_mode_block_effect_summary_all">Sound, vibration, and visual signs of notifications</string>
 
-    <string name="zen_mode_blocked_effects_footer">Notifications needed for basic phone activity and status will never be hidden</string>
+    <string name="zen_mode_blocked_effects_footer">Notifications needed for basic phone activity and status will never be hidden.</string>
 
     <!--  Do not disturb: Zen mode no sounds are exceptions to bypass do not disturb-->
     <string name="zen_mode_no_exceptions">None</string>
@@ -7844,15 +7944,19 @@
         <item quantity="other"><xliff:g id="on_count" example="3">%d</xliff:g> schedules can turn on automatically</item>
     </plurals>
 
-    <!-- Do not disturb settings, category header [CHAR LIMIT=120]-->
-    <string name="zen_category_behavior">Mute device but allow exceptions</string>
-    <!-- Do not disturb settings, exceptions to dnd title [CHAR LIMIT=100]-->
-    <string name="zen_category_exceptions">Exceptions</string>
-    <!-- Do not disturb settings, category header [CHAR LIMIT=100]-->
-    <string name="zen_category_schedule">Schedule</string>
+    <!-- Do not disturb settings, main screen, category header [CHAR LIMIT=120]-->
+    <string name="zen_category_behavior">Exceptions when Do Not Disturb is on</string>
+    <!-- Do not disturb settings, main screen, field, dnd breakthrough [CHAR LIMIT=100]-->
+    <string name="zen_category_people">People</string>
+    <!-- Do not disturb settings, main screen, field, dnd breakthrough  [CHAR LIMIT=100]-->
+    <string name="zen_category_apps">Apps</string>
+    <!-- Do not disturb settings, main screen, field, dnd breakthrough  [CHAR LIMIT=100]-->
+    <string name="zen_category_exceptions">Alarms &amp; other interruptions</string>
+    <!-- Do not disturb settings, main screen, field, schedules [CHAR LIMIT=100]-->
+    <string name="zen_category_schedule">Schedules</string>
+    <!-- Do not disturb settings, main screen, field, dnd visuals [CHAR LIMIT=100]-->
+    <string name="zen_category_visuals">Silenced notifications</string>
 
-    <!-- Do not disturb settings, sound and vibrations exceptions title [CHAR LIMIT=100]-->
-    <string name="zen_sound_title">See all exceptions</string>
     <!-- Do not disturb settings, sound and vibrations screen footer [CHAR LIMIT=NONE]-->
     <string name="zen_sound_footer">When Do Not Disturb is on, sound and vibration will be muted, except for the items you allow above.</string>
     <!-- Do not disturb settings, sound and vibrations screen category [CHAR LIMIT=100]-->
@@ -7980,12 +8084,36 @@
     <!-- Configure Notifications: setting summary [CHAR LIMIT=200] -->
     <string name="asst_capability_prioritizer_summary">Automatically set lower priority notifications to Gentle</string>
 
+    <!-- Configure Notifications: setting title [CHAR LIMIT=80 BACKUP_MESSAGE_ID=6691908606916292167] -->
+    <string name="asst_capability_ranking_title">Adaptive notification ranking</string>
+
+    <!-- Configure Notifications: setting summary [CHAR LIMIT=200] -->
+    <string name="asst_capability_ranking_summary">Automatically rank notifications by relevance</string>
+
     <!-- Configure Notifications: setting title [CHAR LIMIT=80] -->
     <string name="asst_capabilities_actions_replies_title">Suggested actions and replies</string>
 
     <!-- Configure Notifications: setting summary [CHAR LIMIT=200] -->
     <string name="asst_capabilities_actions_replies_summary">Automatically show suggested actions &amp; replies</string>
 
+    <!-- Configure notifications: settings summary [CHAR LIMIT=NONE] -->
+    <string name="notification_history_summary">Turn on notification history to keep track of past notifications and snoozed notifications</string>
+
+    <!-- Configure notifications: settings title [CHAR LIMIT=100] -->
+    <string name="notification_history">Notification history</string>
+
+    <!-- Configure notifications: settings title [CHAR LIMIT=100] -->
+    <string name="notification_history_turn_on">Turn on history</string>
+
+    <!-- Configure notifications: settings title [CHAR LIMIT=100] -->
+    <string name="notification_history_turn_off">Turn off history</string>
+
+    <!-- Notification history screen; summary when history is off [CHAR LIMIT=200] -->
+    <string name="notification_history_off_title_extended">Notification history is turned off</string>
+
+    <!-- Notification history screen; content description describing what happens when you tap on a notification history entry [CHAR LIMIT=NONE] -->
+    <string name="notification_history_view_settings">view notification settings</string>
+
     <!-- Configure Notifications: setting title, whether the snooze menu is shown on notifications [CHAR LIMIT=80] -->
     <string name="snooze_options_title">Allow notification snoozing</string>
 
@@ -7998,6 +8126,9 @@
     <!-- Configure Notifications: Title for the notification badging option. [CHAR LIMIT=30 BACKUP_MESSAGE_ID=5125022693565388760] -->
     <string name="notification_badging_title">Allow notification dots</string>
 
+    <!-- Configure Notifications: Title for the people notification strip option. [CHAR LIMIT=60] -->
+    <string name="notification_people_strip_title">Show strip of recent conversations</string>
+
     <!-- Configure Notifications: Title for the notification bubbles option. [CHAR LIMIT=60] -->
     <string name="notification_bubbles_title">Bubbles</string>
     <!-- Developer setting summary for bubbles [CHAR LIMIT=NONE] -->
@@ -8006,6 +8137,8 @@
     <string name="bubbles_feature_education">Some notifications and other content can appear as bubbles on the screen. To open a bubble, tap it. To dismiss it, drag it down the screen.</string>
     <!-- Title for the toggle shown on the app-level bubbles page  [CHAR LIMIT=60] -->
     <string name="bubbles_app_toggle_title">Bubbles</string>
+    <!-- Summary for bubbles option on the conversation level screen -->
+    <string name="bubbles_conversation_toggle_summary">New messages will appear on screen</string>
     <!-- Description for the toggle shown on the app-level bubbles page  [CHAR LIMIT=NONE] -->
     <string name="bubbles_app_toggle_summary">Allow <xliff:g id="app_name" example="YouTube">%1$s</xliff:g> to show some notifications as bubbles</string>
     <!-- Title of the dialog shown when the user has disabled bubbles at the feature level but tries to enable it for an app. [CHAR LIMIT=NONE] -->
@@ -8053,6 +8186,9 @@
     <!-- Gentle notifications settings: display on all surfaces  [CHAR LIMIT=100] -->
     <string name="gentle_notifications_display_summary_shade_status_lock">Display in pull-down shade, status bar &amp; on lock screen</string>
 
+    <!-- Notification settings: suppress status bar/ambient icons for silent notifications -->
+    <string name="silent_notifications_status_bar">Hide silent notifications in status bar</string>
+
     <!-- Configure Notifications: Title for the pulse notification light option. [CHAR LIMIT=30] -->
     <string name="notification_pulse_title">Blink light</string>
 
@@ -8157,6 +8293,42 @@
     <!-- [CHAR LIMIT=100] Notification Importance template for the channel importance summary -->
     <string name="notification_importance_divider" translatable="false"><xliff:g id="importance_title">%1$s</xliff:g>: <xliff:g id="importance_summary">%2$s</xliff:g></string>
 
+    <!-- [CHAR LIMIT=100] Header for a grouping on conversations-->
+    <string name="conversations_category_title">Conversations</string>
+
+    <!-- [CHAR LIMIT=100] Header for an individual conversation-->
+    <string name="conversation_category_title">Conversation</string>
+
+    <!-- [CHAR LIMIT=NONE] Conversation preference summary, the parent channel this conversation was spawned from (separator) the parent channel group (e.g. an account name)-->
+    <string name="notification_conversation_summary" translatable="false">"<xliff:g id="parent_category_name">%1$s</xliff:g> • <xliff:g id="parent_category_group_name">%2$s</xliff:g>"</string>
+
+    <!-- [CHAR LIMIT=100] Field on conversation settings page -->
+    <string name="demote_conversation_title">Not a conversation</string>
+
+    <!-- [CHAR LIMIT=NONE] Summary for demote_conversation_title on conversation settings page -->
+    <string name="demote_conversation_summary">Remove from the conversation section</string>
+
+    <!-- [CHAR LIMIT=100] Field on notification channel settings page -->
+    <string name="promote_conversation_title">This is a conversation</string>
+
+    <!-- [CHAR LIMIT=NONE] Summary for promote_conversation_title on notifications settings page -->
+    <string name="promote_conversation_summary">Add to the conversation section</string>
+
+    <!-- [CHAR LIMIT=100] link to page listing all conversations -->
+    <string name="manage_conversations">Manage conversations</string>
+
+    <!-- [CHAR LIMIT=100] preference category title -->
+    <string name="important_conversations">Important conversations</string>
+
+    <!-- [CHAR LIMIT=100] preference category title -->
+    <string name="all_conversations">All conversations</string>
+
+    <!-- [CHAR LIMIT=100] Setting to automatically bubble all notifications from favorite conversations -->
+    <string name="important_bubble">Bubble important conversations</string>
+
+    <!-- [CHAR LIMIT=NONE] description of how notifications from important conversations behave -->
+    <string name="important_conversation_behavior_summary">Important conversations show at the top of the pull-down shade. You can also set them to bubble and interrupt Do Not Disturb.</string>
+
     <!-- Importance title strings for the Importance page. Also the second part of the importance
      summary on the channel page-->
 
@@ -8221,7 +8393,7 @@
     <string name="notification_channel_summary_high">When device is unlocked, show notifications as a banner across the top of the screen</string>
 
     <!-- [CHAR LIMIT=100] Label for on/off toggle -->
-    <string name="notification_switch_label">Show notifications</string>
+    <string name="notification_switch_label">All <xliff:g id="app_name" example="Android Services">%1$s</xliff:g> notifications</string>
 
     <!-- Default Apps > Default notification assistant -->
     <string name="default_notification_assistant">Adaptive Notifications</string>
@@ -8264,6 +8436,9 @@
     <!-- String to show in the list of notification listeners, when none is installed -->
     <string name="no_notification_listeners">No installed apps have requested notification access.</string>
 
+    <!-- Button title that grants 'notification access' permission to an app [CHAR_LIMIT=60]-->
+    <string name="notification_access_detail_switch">Allow notification access</string>
+
     <!-- Title for a warning message about security implications of enabling a notification
       assistant, displayed as a dialog message. [CHAR LIMIT=NONE] -->
     <string name="notification_assistant_security_warning_title">Allow notification access for
@@ -8273,7 +8448,7 @@
     <string name="notification_assistant_security_warning_summary">
         <xliff:g id="notification_assistant_name" example="Notification Assistant">%1$s</xliff:g> will be able to read all notifications,
         including personal information such as contact names and the text of messages you receive.
-        It will also be able to modify or dismiss notifications or trigger action buttons they contain.
+        This app will also be able to dismiss notifications or take action on buttons in notifications, including answering phone calls.
         \n\nThis will also give the app the ability to turn Do Not Disturb on or off and change related settings.
     </string>
 
@@ -8286,7 +8461,7 @@
     <string name="notification_listener_security_warning_summary">
         <xliff:g id="notification_listener_name">%1$s</xliff:g> will be able to read all notifications,
         including personal information such as contact names and the text of messages you receive.
-        It will also be able to dismiss notifications or trigger action buttons they contain.
+        This app will also be able to dismiss notifications or take action on buttons in notifications, including answering phone calls.
         \n\nThis will also give the app the ability to turn Do Not Disturb on or off and change related settings.
     </string>
     <string name="notification_listener_disable_warning_summary">
@@ -8340,6 +8515,58 @@
     <!-- Apps > App Details > Picture-in-picture > Description. [CHAR LIMIT=NONE] -->
     <string name="picture_in_picture_app_detail_summary">Allow this app to create a picture-in-picture window while the app is open or after you leave it (for example, to continue watching a video).  This window displays on top of other apps you\'re using.</string>
 
+    <!-- Special access > Title for managing the settings where users opt-in to connect a work app
+    to its personal equivalent, allowing cross-profile communication. [CHAR LIMIT=50] -->
+    <string name="interact_across_profiles_title" translatable="false">Connected personal and work apps</string>
+
+    <!-- Special access > Connected personal and work apps > Text to display when the list is empty. [CHAR LIMIT=NONE] -->
+    <string name="interact_across_profiles_empty_text" translatable="false">No connected apps</string>
+
+    <!-- Special access > Connected personal and work apps > Additional keywords to search for. [CHAR LIMIT=NONE] -->
+    <string name="interact_across_profiles_keywords" translatable="false">cross profile connected app apps work and personal</string>
+
+    <!-- Apps > App Details > Advanced section string title. [CHAR LIMIT=NONE] -->
+    <string name="interact_across_profiles_app_detail_title" translatable="false">Connected personal and work apps</string>
+
+    <!-- Apps > App Details > Connected personal and work apps > Switch title. [CHAR LIMIT=NONE] -->
+    <string name="interact_across_profiles_switch_enabled" translatable="false">Connected</string>
+
+    <!-- Apps > App Details > Connected personal and work apps > Switch title. [CHAR LIMIT=NONE] -->
+    <string name="interact_across_profiles_switch_disabled" translatable="false">Connect these apps</string>
+
+    <!-- Apps > App Details > Connected personal and work apps > Description. [CHAR LIMIT=NONE] -->
+    <string name="interact_across_profiles_summary_1" translatable="false">Connected apps share permissions and can access each other\u2019s data.</string>
+
+    <!-- Apps > App Details > Connected personal and work apps > Description. [CHAR LIMIT=NONE] -->
+    <string name="interact_across_profiles_summary_2" translatable="false">Only connect apps that you trust with your personal data. Work apps may expose your data to your IT admin.</string>
+
+    <!-- Apps > App Details > Connected personal and work apps > Consent dialog title. [CHAR LIMIT=NONE] -->
+    <string name="interact_across_profiles_consent_dialog_title" translatable="false">Trust work %1$s with your personal data?</string>
+
+    <!-- Apps > App Details > Connected personal and work apps > Consent dialog description. [CHAR LIMIT=NONE] -->
+    <string name="interact_across_profiles_consent_dialog_summary" translatable="false">%1$s may expose your personal data to your IT admin.</string>
+
+    <!-- Apps > App Details > Connected personal and work apps > Consent dialog App data title. [CHAR LIMIT=NONE] -->
+    <string name="interact_across_profiles_consent_dialog_app_data_title" translatable="false">App data</string>
+
+    <!-- Apps > App Details > Connected personal and work apps > Consent dialog App data description. [CHAR LIMIT=NONE] -->
+    <string name="interact_across_profiles_consent_dialog_app_data_summary" translatable="false">It can access data in your personal %1$s app.</string>
+
+    <!-- Apps > App Details > Connected personal and work apps > Consent dialog Permissions title. [CHAR LIMIT=NONE] -->
+    <string name="interact_across_profiles_consent_dialog_permissions_title" translatable="false">Permissions</string>
+
+    <!-- Apps > App Details > Connected personal and work apps > Consent dialog Permissions description. [CHAR LIMIT=NONE] -->
+    <string name="interact_across_profiles_consent_dialog_permissions_summary" translatable="false">It can use your personal %1$s app\u2019s permissions, like access to location, storage, or contacts.</string>
+
+    <!-- Summary of preference to manage connected personal and work apps, informing the user that currently no apps are connected -->
+    <string name="interact_across_profiles_number_of_connected_apps_none" translatable="false">No apps connected</string>
+
+    <!-- Summary of preference to manage connected personal and work apps, informing the user how many apps are connected -->
+    <plurals name="interact_across_profiles_number_of_connected_apps" translatable="false">
+        <item quantity="one"><xliff:g id="count">%d</xliff:g> app connected</item>
+        <item quantity="other"><xliff:g id="count">%d</xliff:g> apps connected</item>
+    </plurals>
+
     <!-- Sound & notification > Advanced section: Title for managing Do Not Disturb access option. [CHAR LIMIT=40] -->
     <string name="manage_zen_access_title">Do Not Disturb access</string>
 
@@ -8445,11 +8672,17 @@
     <string name="notification_show_lights_title">Blink light</string>
 
     <!-- [CHAR LIMIT=180] Notification settings: vibration -->
-    <string name="notification_vibrate_title">Vibrate</string>
+    <string name="notification_vibrate_title">Vibration</string>
 
     <!-- [CHAR LIMIT=180] Notification settings: sound -->
     <string name="notification_channel_sound_title">Sound</string>
 
+    <!-- [CHAR LIMIT=180] Notification conversation: important -->
+    <string name="notification_conversation_important">Important</string>
+
+    <!-- [CHAR LIMIT=180] Notification conversation: add to home screen -->
+    <string name="notification_conversation_add_to_home">Add to home</string>
+
     <!-- [CHAR LIMIT=40] Zen mode settings: Rule delete button -->
     <string name="zen_mode_rule_delete_button">Delete</string>
 
@@ -8603,6 +8836,11 @@
         <item quantity="other"><xliff:g id="num_people" example="3">%d</xliff:g> others</item>
     </plurals>
 
+    <string name="zen_mode_conversations_title">Conversations</string>
+    <string name="zen_mode_from_all_conversations">From all conversations</string>
+    <string name="zen_mode_from_important_conversations">From important conversations</string>
+    <string name="zen_mode_from_no_conversations">Don\u2019t allow any conversations</string>
+
     <!-- [CHAR LIMIT=40] Zen mode settings: Messages option -->
     <string name="zen_mode_messages">Allow messages</string>
 
@@ -8643,31 +8881,46 @@
     <string name="zen_mode_from_none_messages">Don\u2019t allow any messages</string>
 
     <!-- [CHAR LIMIT=80] Zen mode settings: Allow alarms option -->
-    <string name="zen_mode_alarms">Allow alarms</string>
+    <string name="zen_mode_alarms">Alarms</string>
+
+    <!-- [CHAR LIMIT=NONE] Zen mode settings: Allow alarms summary -->
+    <string name="zen_mode_alarms_summary">From timers, alarms, security systems, and other apps</string>
 
     <!-- [CHAR LIMIT=50] Zen mode settings: Alarms option (ie: sound from alarm clock) -->
     <string name="zen_mode_alarms_list">alarms</string>
 
     <!-- [CHAR LIMIT=80] Zen mode settings: Allow media (sound from video) to bypass dnd -->
-    <string name="zen_mode_media">Play media sounds</string>
+    <string name="zen_mode_media">Media sounds</string>
+
+    <!-- [CHAR LIMIT=NONE] Zen mode settings: Allow media (sound from video) to bypass dnd  summary-->
+    <string name="zen_mode_media_summary">From videos, games, and other media</string>
 
     <!-- [CHAR LIMIT=50] Zen mode settings: Media (ie: sound from video) -->
     <string name="zen_mode_media_list">media</string>
 
     <!-- [CHAR LIMIT=80] Zen mode settings: allow touch sounds to bypass DND  -->
-    <string name="zen_mode_system">Allow touch sounds</string>
+    <string name="zen_mode_system">Touch sounds</string>
+
+    <!-- [CHAR LIMIT=NONE] Zen mode settings: allow touch sounds to bypass DND summary  -->
+    <string name="zen_mode_system_summary">From your keyboard and other buttons</string>
 
     <!-- [CHAR LIMIT=50] Zen mode settings: System sounds (ie: touch sounds) -->
     <string name="zen_mode_system_list">touch sounds</string>
 
     <!-- [CHAR LIMIT=80] Zen mode settings: Allow reminder notifications/sounds to bypass DND  -->
-    <string name="zen_mode_reminders">Allow reminders</string>
+    <string name="zen_mode_reminders">Reminders</string>
+
+    <!-- [CHAR LIMIT=NONE] Zen mode settings: Allow reminder notifications/sounds to bypass DND summary  -->
+    <string name="zen_mode_reminders_summary">From tasks and reminders</string>
 
     <!-- [CHAR LIMIT=50] Zen mode settings: Reminders (ie: calendar reminders are allowed to bypass dnd) -->
     <string name="zen_mode_reminders_list">reminders</string>
 
     <!-- [CHAR LIMIT=80] Zen mode settings: Allow event notifications/sounds to bypass DND -->
-    <string name="zen_mode_events">Allow events</string>
+    <string name="zen_mode_events">Events</string>
+
+    <!-- [CHAR LIMIT=NONE] Zen mode settings: Allow event notifications/sounds to bypass DND summary -->
+    <string name="zen_mode_events_summary">From upcoming calendar events</string>
 
     <!-- [CHAR LIMIT=100] Zen mode settings: Allow apps to bypass DND -->
     <string name="zen_mode_bypassing_apps">Allow apps to override</string>
@@ -8675,6 +8928,9 @@
     <!-- [CHAR LIMIT=100] Zen mode settings: Allow apps to bypass DND title-->
     <string name="zen_mode_bypassing_apps_title">App exceptions</string>
 
+    <!-- [CHAR LIMIT=120] Zen mode settings: No apps are bypassing DND -->
+    <string name="zen_mode_bypassing_apps_subtext_none">No apps can override Do Not Disturb</string>
+
     <!-- [CHAR LIMIT=120] Zen mode settings: Allow apps to bypass DND -->
     <plurals name="zen_mode_bypassing_apps_subtext">
         <item quantity="zero">No apps can override Do Not Disturb</item>
@@ -8775,6 +9031,9 @@
     <!-- Generic label for suggestion card's ok button [CHAR LIMIT=20] -->
     <string name="suggestion_button_text">Ok</string>
 
+    <!-- Strings for suggestion card's close button [CHAR LIMIT=20] -->
+    <string name="suggestion_button_close">Close</string>
+
     <!-- [CHAR LIMIT=35] Feedback on the device -->
     <string name="device_feedback">Send feedback about this device</string>
 
@@ -8801,6 +9060,11 @@
     <!-- [CHAR LIMIT=60] Unlock setting for screen pinning -->
     <string name="screen_pinning_unlock_none">Lock device when unpinning</string>
 
+    <!-- [CHAR LIMIT=60] turn eSim deletion confirmation on/off  -->
+    <string name="confirm_sim_deletion_title">Confirm SIM deletion</string>
+    <!-- [CHAR LIMIT=NONE] eSim deletion confirmation description  -->
+    <string name="confirm_sim_deletion_description">Verify it\u0027s you before erasing a downloaded SIM</string>
+
     <!-- Opening string on the dialog that prompts the user to confirm that they really want to delete their existing work profile. The administration app icon and name appear after the final colon. [CHAR LIMIT=NONE] -->
     <string name="opening_paragraph_delete_profile_unknown_company">This work profile is managed by:</string>
     <!-- Summary for work profile accounts group. [CHAR LIMIT=25] -->
@@ -8972,10 +9236,6 @@
     <string name="filter_enabled_apps">Installed apps</string>
     <!-- Label for showing instant apps in list [CHAR LIMIT=40] -->
     <string name="filter_instant_apps">Instant apps</string>
-    <!-- Label for showing personal apps in list [CHAR LIMIT=30] -->
-    <string name="filter_personal_apps">Personal</string>
-    <!-- Label for showing work apps in list [CHAR LIMIT=30] -->
-    <string name="filter_work_apps">Work</string>
 
     <!-- Label for showing apps with blocked notifications in list [CHAR LIMIT=30] -->
     <string name="filter_notif_all_apps">Apps: All</string>
@@ -9003,6 +9263,8 @@
     <string name="app_permissions">Permission manager</string>
     <!-- Summary of permissions currently granted to apps [CHAR LIMIT=60] -->
     <string name="app_permissions_summary">Apps using <xliff:g id="apps" example="location">%1$s</xliff:g></string>
+    <!-- Summary of permissions currently granted to apps [CHAR LIMIT=60] -->
+    <string name="app_permissions_summary_more">Apps using <xliff:g id="apps" example="location">%1$s</xliff:g>, and more</string>
 
     <!-- Label for tap to wake setting [CHAR LIMIT=30] -->
     <string name="tap_to_wake">Tap to wake</string>
@@ -9032,13 +9294,22 @@
     </plurals>
 
     <!-- Explanation that the app that will ALWAYS be launched to open web links to domains that it understands -->
-    <string name="app_link_open_always">Open in this app</string>
+    <string name="app_link_open_always">Allow app to open supported links</string>
 
     <!-- Explanation that the user will be asked whether to launch the app to open web links to domains that it understands -->
     <string name="app_link_open_ask">Ask every time</string>
 
     <!-- Explanation that the app that will NEVER be launched to open web links to domains that it understands -->
-    <string name="app_link_open_never">Don&#8217;t open in this app</string>
+    <string name="app_link_open_never">Don&#8217;t allow app to open links</string>
+
+    <!-- Summary for allow app to open supported links [CHAR LIMIT=42] -->
+    <plurals name="app_link_open_always_summary">
+        <item quantity="one">App claims to handle <xliff:g id="count">%d</xliff:g> link</item>
+        <item quantity="other">App claims to handle <xliff:g id="count">%d</xliff:g> links</item>
+    </plurals>
+
+    <!-- Footer of open supported links settings [CHAR LIMIT=NONE] -->
+    <string name="open_supported_links_footer">App claims to handle following links:</string>
 
     <!-- Title for Default Apps settings [CHAR LIMIT=30] -->
     <string name="default_apps_title">Default</string>
@@ -9050,7 +9321,10 @@
     <string name="assist_and_voice_input_title">Assist &amp; voice input</string>
 
     <!-- Title for Default Assist settings [CHAR LIMIT=30] -->
-    <string name="default_assist_title">Assist app</string>
+    <string name="default_assist_title">Digital assistant app</string>
+
+    <!-- Title for Default Assist settings [CHAR LIMIT=30] -->
+    <string name="default_digital_assistant_title">Default digital assistant app</string>
 
     <!-- [CHAR_LIMIT=45] Title of the security warning dialog for setting an assitant -->
     <string name="assistant_security_warning_title">
@@ -9453,10 +9727,18 @@
     <!-- Description of allowing overlay setting [CHAR LIMIT=NONE] -->
     <string name="allow_overlay_description">Allow this app to display on top of other apps you\u2019re using. It may interfere with your use of those apps or change the way they seem to appear or behave.</string>
 
+    <!-- Manager External Storage settings title [CHAR LIMIT=40] -->
+    <string name="manage_external_storage_title">All files access</string>
+    <!-- Label for a setting which controls whether an app can manage external storage [CHAR LIMIT=45] -->
+    <string name="permit_manage_external_storage">Allow access to manage all files</string>
+    <!-- Description for a setting which controls whether an app can manage external storage
+         [CHAR LIMIT=NONE] -->
+    <string name="allow_manage_external_storage_description">Allow this app to read, modify and delete all files on this device or any connected storage volumes. If granted, app may access files without your explicit knowledge.</string>
+    <!-- Label for showing apps that can manage external storage[CHAR LIMIT=45] -->
+    <string name="filter_manage_external_storage">Can access all files</string>
+
     <!-- Keyword for VR setting -->
     <string name="keywords_vr_listener">vr virtual reality listener stereo helper service</string>
-    <!-- Keyword for SYSTEM_ALERT_WINDOW -->
-    <string name="keywords_system_alert_window">system alert window dialog display on top other apps</string>
     <!-- Main settings screen item's title to go into the overlay settings screen [CHAR LIMIT=30] -->
     <string name="overlay_settings">Display over other apps</string>
 
@@ -9894,6 +10176,12 @@
     <!-- Optional part of data usage showing the remaining amount [CHAR LIMIT=13] -->
     <string name="data_remaining"><xliff:g name="bytes" example="2 GB">^1</xliff:g> left</string>
 
+    <!-- Brief content description for data usage chart [CHAR LIMIT=NONE] -->
+    <string name="data_usage_chart_brief_content_description">Graph showing data usage between <xliff:g id="start_date" example="August 19">%1$s</xliff:g> and <xliff:g id="end_date" example="September 16">%2$s</xliff:g>.</string>
+
+    <!-- Content description for data usage chart when data is not available [CHAR LIMIT=NONE] -->
+    <string name="data_usage_chart_no_data_content_description">No data in this date range</string>
+
     <!-- Informational text about time left in billing cycle [CHAR LIMIT=60] -->
     <plurals name="billing_cycle_days_left">
         <item quantity="one">%d day left</item>
@@ -10058,14 +10346,7 @@
     <string name="notification_log_details_ashmem">ashmem</string>
     <!-- Notification log debug tool: header: notification alert info -->
     <string name="notification_log_details_alerted">notification alerted</string>
-    <!-- Notification log debug tool: header: notification sound info -->
-    <string name="notification_log_details_sound">sound</string>
-    <!-- Notification log debug tool: header: notification vibration info -->
-    <string name="notification_log_details_vibrate">vibrate</string>
-    <!-- Notification log debug tool: header: notification vibration info -->
-    <string name="notification_log_details_vibrate_pattern">pattern</string>
-    <!-- Notification log debug tool: the word 'default' -->
-    <string name="notification_log_details_default">default</string>
+    <string name="notification_log_channel">channel</string>
     <!-- Notification log debug tool: the word 'none' -->
     <string name="notification_log_details_none">none</string>
     <!-- Notification log debug tool: missing ranking information -->
@@ -10073,8 +10354,6 @@
     <!-- Notification log debug tool: the word 'none' -->
     <string name="notification_log_details_ranking_none">Ranking object doesn\'t contain this key.</string>
 
-    <!-- [CHAR_LIMIT=NONE] Developer Settings: Title of the settings category for theme overlays. -->
-    <string name="theme_customization_category">Theming</string>
     <!-- [CHAR_LIMIT=NONE] Developer Settings: Label for the option that turns off customizations for a given category.-->
     <string name="theme_customization_device_default">Device default</string>
 
@@ -10304,12 +10583,23 @@
     <!-- Label on the right side of sensitivity adjustment slider [CHAR LIMIT=30] -->
     <string name="high_label">High</string>
 
+    <!-- Label for the slider to set sensitivity of the left edge of the screen [CHAR LIMIT=40] -->
+    <string name="left_edge">Left edge</string>
+    <!-- Label for the slider to set sensitivity of the right edge of the screen [CHAR LIMIT=40] -->
+    <string name="right_edge">Right edge</string>
+
     <!-- Message for the dialog that explains how increasing sensitivity can affect gestures along the edges. [CHAR LIMIT=NONE] -->
-    <string name="back_sensitivity_dialog_message">\nHigher sensitivity may conflict with any app gestures along the edges of the screen.</string>
+    <string name="back_sensitivity_dialog_message">Higher sensitivity may conflict with any app gestures along the edges of the screen.</string>
 
     <!-- Title for the dialog that is shown to adjust the back sensitivity [CHAR LIMIT=60] -->
     <string name="back_sensitivity_dialog_title">Back Sensitivity</string>
 
+    <!-- Title for the screen to show all the gesture navigation settings [CHAR LIMIT=80] -->
+    <string name="gesture_settings_activity_title">Gesture Settings</string>
+
+    <!-- Keywords for the gesture navigation settings. [CHAR LIMIT=NONE] -->
+    <string name="keywords_gesture_navigation_settings">gesture navigation, back sensitivity, back gesture</string>
+
     <!-- Preference and settings suggestion title text for ambient display double tap (phone) [CHAR LIMIT=60]-->
     <string name="ambient_display_title" product="default">Double-tap to check phone</string>
     <!-- Preference and settings suggestion title text for ambient display double tap (tablet) [CHAR LIMIT=60]-->
@@ -10695,8 +10985,6 @@
     <!-- The divider symbol between different parts of the notification header including spaces. not translatable [CHAR LIMIT=3] -->
     <string name="notification_header_divider_symbol_with_spaces" translatable="false">" • "</string>
 
-    <!-- Note displayed when certain features are not available on low ram devices. [CHAR LIMIT=NONE] -->
-    <string name="disabled_low_ram_device">This feature is not available on this device</string>
     <!-- Title of a message for an empty state screen. A user will see this message if they try to use a certain feature, but the feature was turned off so it won't slow down their phone. [CHAR LIMIT=NONE] -->
     <string name="disabled_feature">Feature not available</string>
     <!-- Part of a message for an empty state screen. A user will see this message if they try to use a certain feature, but the feature was turned off so it won't slow down their phone. [CHAR LIMIT=NONE] -->
@@ -10719,36 +11007,51 @@
     <!-- UI debug setting: ANGLE enabled app has been set [CHAR LIMIT=NONE] -->
     <string name="angle_enabled_app_set">ANGLE enabled application: <xliff:g id="app_name" example="com.company.app">%1$s</xliff:g></string>
 
-    <!-- Title for Game Driver dashboard where developers can configure apps to use game driver or not [CHAR LIMIT=50] -->
-    <string name="game_driver_dashboard_title">Game Driver Preferences</string>
-    <!-- Summary for Game Driver dashboard [CHAR LIMIT=50] -->
-    <string name="game_driver_dashboard_summary">Modify Game Driver settings</string>
-    <!-- Footer text for Game Driver dashboard [CHAR LIMIT=NONE] -->
-    <string name="game_driver_footer_text">When Game Driver is turned on, you can pick to use the updated graphics driver for Apps installed on the device.</string>
-    <!-- Title for Game Driver all apps preference [CHAR LIMIT=50] -->
-    <string name="game_driver_all_apps_preference_title">Enable for all apps</string>
-    <!-- Title for Game Driver app preference [CHAR LIMIT=50] -->
-    <string name="game_driver_app_preference_title">Select Graphics Driver</string>
-    <!-- The default value for Game Driver app preference [CHAR LIMIT=50] -->
-    <string name="game_driver_app_preference_default">Default</string>
+    <!-- Title for graphics driver dashboard where developers can configure apps to choose graphics driver [CHAR LIMIT=50] -->
+    <string name="graphics_driver_dashboard_title">Graphics Driver Preferences</string>
+    <!-- Summary for graphics driver dashboard [CHAR LIMIT=50] -->
+    <string name="graphics_driver_dashboard_summary">Modify graphics driver settings</string>
+    <!-- Footer text for graphics driver dashboard [CHAR LIMIT=NONE] -->
+    <string name="graphics_driver_footer_text">When there are multiple graphics drivers, you can pick to use the updated graphics driver for Apps installed on the device.</string>
+    <!-- Title for graphics Driver all apps preference [CHAR LIMIT=50] -->
+    <string name="graphics_driver_all_apps_preference_title">Enable for all apps</string>
+    <!-- Title for graphics driver preference for app [CHAR LIMIT=50] -->
+    <string name="graphics_driver_app_preference_title">Select Graphics Driver</string>
+    <!-- The default value of graphics driver preference for app [CHAR LIMIT=50] -->
+    <string name="graphics_driver_app_preference_default">Default</string>
     <!-- The game driver value for Game Driver app preference [CHAR LIMIT=50] -->
-    <string name="game_driver_app_preference_game_driver">Game Driver</string>
-    <!-- The game driver value for Prerelease Game Driver app preference [CHAR LIMIT=50] -->
-    <string name="game_driver_app_preference_prerelease_driver">Prerelease Driver</string>
-    <!-- The system value for Game Driver app preference [CHAR LIMIT=50] -->
-    <string name="game_driver_app_preference_system">System Graphics Driver</string>
-    <!-- All the values for Game Driver all apps preference [CHAR LIMIT=50] -->
-    <string-array name="game_driver_all_apps_preference_values">
-        <item>@string/game_driver_app_preference_default</item>
-        <item>@string/game_driver_app_preference_game_driver</item>
+    <string name="graphics_driver_app_preference_game_driver">Game Driver</string>
+    <!-- The prerelase driver value for Developer Driver app preference [CHAR LIMIT=50] -->
+    <string name="graphics_driver_app_preference_prerelease_driver">Developer Driver</string>
+    <!-- The system driver value for system graphics driver app preference [CHAR LIMIT=50] -->
+    <string name="graphics_driver_app_preference_system">System Graphics Driver</string>
+    <!-- All the graphics driver preference values for all apps globally [CHAR LIMIT=50] -->
+    <string-array name="graphics_driver_all_apps_preference_values">
+        <item>@string/graphics_driver_app_preference_default</item>
+        <item>@string/graphics_driver_app_preference_game_driver</item>
+        <item>@string/graphics_driver_app_preference_prerelease_driver</item>
     </string-array>
-    <!-- All the values for Game Driver app preference [CHAR LIMIT=50] -->
-    <string-array name="game_driver_app_preference_values">
-        <item>@string/game_driver_app_preference_default</item>
-        <item>@string/game_driver_app_preference_game_driver</item>
-        <item>@string/game_driver_app_preference_system</item>
+    <!-- All the values of graphics driver for app preference [CHAR LIMIT=50] -->
+    <string-array name="graphics_driver_app_preference_values">
+        <item>@string/graphics_driver_app_preference_default</item>
+        <item>@string/graphics_driver_app_preference_prerelease_driver</item>
+        <item>@string/graphics_driver_app_preference_game_driver</item>
+        <item>@string/graphics_driver_app_preference_system</item>
     </string-array>
 
+    <!-- Title for App Compatibility Changes dashboard where developers can configure per-app overrides for compatibility changes [CHAR LIMIT=50] -->
+    <string name="platform_compat_dashboard_title">App Compatibility Changes</string>
+    <!-- Summary for App Compatibility Changes dashboard [CHAR LIMIT=NONE] -->
+    <string name="platform_compat_dashboard_summary">Toggle app compatibility changes</string>
+    <!-- Summary for selected app [DO NOT TRANSLATE] -->
+    <string name="platform_compat_selected_app_summary" translatable="false"><xliff:g id="app_name" example="com.google.android.chrome">%1$s</xliff:g> targetSdkVersion <xliff:g id="number" example="29">%2$d</xliff:g></string>
+    <!-- Title for default enabled app compat changes category [CHAR LIMIT=50] -->
+    <string name="platform_compat_default_enabled_title">Default enabled changes</string>
+    <!-- Title for default disabled app compat changes category [CHAR LIMIT=50] -->
+    <string name="platform_compat_default_disabled_title">Default disabled changes</string>
+    <!-- Title for target SDK gated app compat changes category (do not translate 'targetSdkVersion') [CHAR LIMIT=50] -->
+    <string name="platform_compat_target_sdk_title">Enabled for targetSdkVersion &gt; <xliff:g id="number" example="29">%d</xliff:g></string>
+
     <!-- Slices Strings -->
 
     <!-- Summary text on a card explaining that a setting does not exist / is not supported on the device [CHAR_LIMIT=NONE]-->
@@ -10816,6 +11119,21 @@
     <!-- Summary for media output settings when the media stream is being captured by something else. -->
     <string name="media_output_summary_unavailable">Unavailable</string>
 
+    <!-- Title for the media output group dialog with media related devices [CHAR LIMIT=50] -->
+    <string name="media_output_group_panel_title">Add outputs</string>
+
+    <!-- Title for the media output slice with group devices [CHAR LIMIT=50] -->
+    <string name="media_output_group">Group</string>
+
+    <!-- Summary for media output group with only one device which is active [CHAR LIMIT=NONE] -->
+    <string name="media_output_group_panel_single_device_summary">1 device selected</string>
+
+    <!-- Summary for media output group with the active device count [CHAR LIMIT=NONE] -->
+    <string name="media_output_group_panel_multiple_devices_summary"><xliff:g id="count" example="2">%1$d</xliff:g> devices selected</string>
+
+    <!-- Summary for media output switching output [CHAR LIMIT=50] -->
+    <string name="media_output_switching">Switching\u2026</string>
+
     <!-- Title for HFP(hands free profile) output switch button in settings. -->
     <string name="take_call_on_title">Take call on</string>
 
@@ -10983,7 +11301,11 @@
     <!-- Text for Network 1x [CHAR LIMIT=NONE] -->
     <string name="network_1x" translatable="false">1x</string>
     <!-- Text for Network global [CHAR LIMIT=NONE] -->
-    <string name="network_global">Global</string>
+    <string name="network_global" translatable="false">Global</string>
+    <!-- Text for Network world mode CDMA LTE [CHAR LIMIT=NONE] -->
+    <string name="network_world_mode_cdma_lte" translatable="false">LTE / CDMA</string>
+    <!-- Text for Network world mode GSM LTE [CHAR LIMIT=NONE] -->
+    <string name="network_world_mode_gsm_lte" translatable="false">LTE / GSM / UMTS</string>
 
     <!-- Available networks screen title/heading [CHAR LIMIT=NONE] -->
     <string name="label_available">Available networks</string>
@@ -11144,22 +11466,6 @@
     <!-- Mobile network details page. Label for an option that lets the user delete an eSIM from
          the device. [CHAR LIMIT=60] -->
     <string name="mobile_network_erase_sim">Erase SIM</string>
-    <!-- Title of a confirmation dialog for deleting an eSIM from the device.
-         [CHAR LIMIT=60] -->
-    <string name="mobile_network_erase_sim_dialog_title">Erase this downloaded SIM?</string>
-    <!-- Body text of of a confirmation dialog for deleting an eSIM from the device.
-         [CHAR LIMIT=NONE] -->
-    <string name="mobile_network_erase_sim_dialog_body">
-        Erasing this SIM removes <xliff:g id="carrier" example="Verizon">%1$s</xliff:g> service
-        from this device.\n\nService for <xliff:g id="carrier" example="Verizon">%2$s</xliff:g>
-        won\u2019t be canceled.
-    </string>
-    <!-- OK button on a confirmation dialog for deleting an eSIM from the device.
-         [CHAR LIMIT=30] -->
-    <string name="mobile_network_erase_sim_dialog_ok">Erase</string>
-    <!-- Body text of the progress dialog we show while deleting an eSIM from the device.
-         [CHAR LIMIT=NONE] -->
-    <string name="mobile_network_erase_sim_dialog_progress">Erasing SIM\u2026</string>
 
     <!-- Title of a dialog indicating that an error ocurred when deleting an eSIM from the device
          [CHAR LIMIT=60] -->
@@ -11223,9 +11529,6 @@
     <!-- Available networks screen, summary when button disallowed due to permanent automatic mode [CHAR LIMIT=NONE] -->
     <string name="manual_mode_disallowed_summary">Unavailable when connected to <xliff:g id="carrier" example="verizon">%1$s</xliff:g></string>
 
-    <!-- Used for EmergencyInfoSlice slice helper class [CHAR LIMIT=NONE]-->
-    <string name="emergency_info_contextual_card_summary">Medical info, emergency contacts</string>
-
     <!-- See more items in contextual homepage [CHAR LIMIT=30]-->
     <string name="see_more">See more</string>
     <!-- See less items in contextual homepage [CHAR LIMIT=30]-->
@@ -11243,14 +11546,10 @@
     <string name="network_connection_connect_successful">Connection successful</string>
     <!-- Neutral button for Network connection request Dialog [CHAR LIMIT=30] -->
     <string name="network_connection_request_dialog_showall">Show all</string>
-
-    <!-- Summary for bluetooth devices count in Bluetooth devices slice. [CHAR LIMIT=NONE] -->
-    <plurals name="show_bluetooth_devices">
-        <item quantity="one"><xliff:g id="number_device_count">%1$d</xliff:g> device connected</item>
-        <item quantity="other"><xliff:g id="number_device_count">%1$d</xliff:g> devices connected</item>
-    </plurals>
-    <!-- Title for no bluetooth devices in Bluetooth devices slice. [CHAR LIMIT=NONE] -->
-    <string name="no_bluetooth_devices">No Bluetooth devices</string>
+    <!-- Message for Network connection searching progress Dialog. Searching for wifi ap. [CHAR LIMIT=40] -->
+    <string name="network_connection_searching_message">Searching for device\u2026</string>
+    <!-- Message for Network connection connecting progress Dialog. Try to connect to wifi ap.[CHAR LIMIT=40] -->
+    <string name="network_connection_connecting_message">Connecting to device\u2026</string>
 
     <!-- Title for left bluetooth device. [CHAR LIMIT=NONE] -->
     <string name="bluetooth_left_name">Left</string>
@@ -11275,12 +11574,21 @@
     <string name="force_desktop_mode">Force desktop mode</string>
     <!-- UI debug setting: force desktop mode summary [CHAR LIMIT=NONE] -->
     <string name="force_desktop_mode_summary">Force experimental desktop mode on secondary displays</string>
+    <!-- UI debug setting: enable non-resizables in freeform [CHAR LIMIT=50] -->
+    <string name="enable_sizecompat_freeform">Enable freeform sizecompat</string>
+    <!-- UI debug setting: enable non-resizables in freeform summary [CHAR LIMIT=NONE] -->
+    <string name="enable_sizecompat_freeform_summary">Allows sizecompat apps to be in freeform</string>
 
     <!-- UI debug setting: Force enable "smart dark" UI rendering feature [CHAR LIMIT=60] -->
     <string name="hwui_force_dark_title">Override force-dark</string>
     <!-- UI debug setting: Force enable "smart dark" UI rendering feature summary [CHAR LIMIT=NONE] -->
     <string name="hwui_force_dark_summary">Overrides the force-dark feature to be always-on</string>
 
+    <!-- If blurs are supported on SurfaceFlinger. [CHAR LIMIT=60] -->
+    <string name="enable_blurs_on_windows_title">Enable blurs</string>
+    <!-- If blurs are supported on SurfaceFlinger, summary. [CHAR LIMIT=NONE] -->
+    <string name="enable_blurs_on_windows_summary">Enables window blurs at compositor level. Requires device reboot.</string>
+
     <!-- Title for the top level Privacy Settings [CHAR LIMIT=30]-->
     <string name="privacy_dashboard_title">Privacy</string>
     <!-- Summary for the top level Privacy Settings [CHAR LIMIT=NONE]-->
@@ -11352,6 +11660,10 @@
     <string name="media_output_panel_title">Switch output</string>
     <!-- Summary for represent which device is playing media [CHAR LIMIT=NONE] -->
     <string name="media_output_panel_summary_of_playing_device">Currently playing on <xliff:g id="device_name" example="Bose headphone">%1$s</xliff:g></string>
+    <!-- Summary for disconnected status [CHAR LIMIT=50] -->
+    <string name="media_output_disconnected_status"><xliff:g id="device_name" example="My device">%1$s</xliff:g> (disconnected)</string>
+    <!-- Summary for switching error state [CHAR LIMIT=40] -->
+    <string name="media_output_switch_error_text">Can\u2019t switch. Tap to try again.</string>
 
     <!-- Label for the title on wfc disclaimer fragment. [CHAR LIMIT=40] -->
     <string name="wfc_disclaimer_title_text">Important information</string>
@@ -11423,6 +11735,35 @@
     <string name="work_policy_privacy_settings">Your work policy info</string>
     <!-- Summary for Enterprise Privacy settings, explaining what the user can expect to find under it [CHAR LIMIT=NONE]-->
     <string name="work_policy_privacy_settings_summary">Settings managed by your IT admin</string>
+
+    <!-- Developer Settings: Search keywords for the Profile HWUI rendering. [CHAR_LIMIT=NONE] -->
+    <string name="track_frame_time_keywords">GPU</string>
+
+    <!-- DSU Loader. Do not translate. -->
+    <string name="dsu_loader_title" translatable="false">DSU Loader</string>
+    <!-- DSU Loader Description. Do not translate. -->
+    <string name="dsu_loader_description" translatable="false">Load a Dynamic System Update Image</string>
+    <!-- DSU Loader Loading. Do not translate. -->
+    <string name="dsu_loader_loading" translatable="false">Loading...</string>
+
+    <!-- Name of dev option called "Bug report handler" [CHAR LIMIT=NONE] -->
+    <string name="bug_report_handler_title">Bug report handler</string>
+
+    <!-- Developer Settings: Footer text for bug report handler picker [CHAR LIMIT=NONE] -->
+    <string name="bug_report_handler_picker_footer_text">Determines which app handles the Bug Report shortcut on your device.</string>
+
+    <!-- Subtext of personal profile app for current setting [CHAR LIMIT=NONE] -->
+    <string name="personal_profile_app_subtext">Personal</string>
+
+    <!-- Subtext of work profile app for current setting [CHAR LIMIT=NONE] -->
+    <string name="work_profile_app_subtext">Work</string>
+
+    <!-- Subtext of system default app for current setting [CHAR LIMIT=NONE] -->
+    <string name="system_default_app_subtext">System default</string>
+
+    <!-- Developer settings: text for the bug report handler selection toast shown if an invalid bug report handler was chosen. [CHAR LIMIT=NONE] -->
+    <string name="select_invalid_bug_report_handler_toast_text">This choice is no longer valid. Try again.</string>
+
     <!-- Title for RTT setting. [CHAR LIMIT=NONE] -->
     <string name="rtt_settings_title"></string>
     <!-- Subtext for showing the option of RTT setting. [CHAR LIMIT=NONE] -->
@@ -11432,4 +11773,6 @@
     <!-- Subtext for showing the option of RTT setting. [CHAR LIMIT=NONE] -->
     <string name="rtt_settings_always_visible"></string>
 
+    <!-- Button label to stop casting on media device. [CHAR LIMIT=40 -->
+    <string name="media_output_panel_stop_casting_button">Stop casting</string>
 </resources>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index d3d3199..848eaf1 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -144,8 +144,9 @@
     <style name="wifi_item_edit_content">
         <item name="android:paddingStart">4dip</item>
         <item name="android:layout_marginStart">4dip</item>
-        <item name="android:textSize">18sp</item>
         <item name="android:textAlignment">viewStart</item>
+        <item name="android:textAppearance">@android:style/TextAppearance.DeviceDefault.Medium</item>
+        <item name="android:textColorHint">?android:attr/textColorSecondary</item>
         <item name="android:minHeight">@dimen/min_tap_target_size</item>
     </style>
 
@@ -153,6 +154,44 @@
         <item name="android:orientation">vertical</item>
     </style>
 
+    <style name="adb_wireless_item">
+        <item name="android:layout_marginTop">8dp</item>
+        <item name="android:layout_marginStart">8dp</item>
+        <item name="android:layout_marginEnd">8dp</item>
+        <item name="android:paddingStart">8dp</item>
+        <item name="android:paddingEnd">8dp</item>
+        <item name="android:orientation">vertical</item>
+        <item name="android:gravity">start</item>
+    </style>
+
+    <style name="adb_wireless_item_label">
+        <item name="android:paddingStart">8dp</item>
+        <item name="android:textSize">14sp</item>
+        <item name="android:textAlignment">viewStart</item>
+        <item name="android:textAppearance">@android:style/TextAppearance.Material.Body1</item>
+        <item name="android:textColor">?android:attr/textColorSecondary</item>
+    </style>
+
+    <style name="adb_wireless_item_content">
+        <item name="android:paddingStart">8dp</item>
+        <item name="android:textSize">24sp</item>
+        <item name="android:textAlignment">viewStart</item>
+        <item name="android:textAppearance">@android:style/TextAppearance.Material.Body1</item>
+        <item name="android:textColor">?android:attr/textColorPrimary</item>
+    </style>
+
+    <style name="adb_wireless_item_progress_text">
+        <item name="android:paddingTop">16dp</item>
+        <item name="android:textSize">18sp</item>
+        <item name="android:textAlignment">viewStart</item>
+        <item name="android:textAppearance">@android:style/TextAppearance.Material.Body1</item>
+        <item name="android:textColor">?android:attr/textColorPrimary</item>
+    </style>
+
+    <style name="adb_wireless_section">
+        <item name="android:orientation">vertical</item>
+    </style>
+
     <style name="ConfirmDeviceCredentialsAnimationStyle"
            parent="@*android:style/Animation.Material.Activity">
         <item name="android:activityOpenEnterAnimation">@anim/confirm_credential_open_enter</item>
@@ -244,8 +283,6 @@
         <item name="android:letterSpacing">0.072727273</item>
     </style>
 
-    <style name="TextAppearance.TileTitle" parent="@*android:style/TextAppearance.DeviceDefault.Subhead"/>
-
     <style name="TextAppearance.SuggestionTitle"
            parent="@*android:style/TextAppearance.DeviceDefault.Subhead">
         <item name="android:textSize">16sp</item>
@@ -276,7 +313,7 @@
         <item name="android:textSize">@dimen/search_bar_text_size</item>
     </style>
 
-    <style name="TextAppearance.ConditionCardTitle"
+    <style name="TextAppearance.HomepageCardTitle"
            parent="@*android:style/TextAppearance.DeviceDefault.Subhead">
         <item name="android:fontFamily">@*android:string/config_headlineFontFamilyMedium</item>
         <item name="android:textSize">16sp</item>
@@ -464,66 +501,49 @@
         <item name="rowStyle">@style/SliceRowStyle.Settings</item>
     </style>
 
-    <style name="TextAppearance.DeferredSetupCardTitle">
-        <item name="android:fontFamily">@*android:string/config_headlineFontFamilyMedium</item>
-        <item name="android:textSize">16sp</item>
-    </style>
-
-    <style name="TextAppearance.DeferredSetupCardSummary"
-           parent="@*android:style/TextAppearance.DeviceDefault.Body1">
-        <item name="android:textColor">?android:attr/textColorSecondary</item>
-    </style>
-
-    <style name="DeferredSetupCardButton" parent="android:Widget.DeviceDefault.Button.Colored">
-        <item name="android:fontFamily">@*android:string/config_headlineFontFamilyMedium</item>
-        <item name="android:paddingBottom">@dimen/contextual_deferred_setup_card_button_padding_bottom</item>
-        <item name="android:paddingEnd">@dimen/contextual_deferred_setup_card_button_padding_end</item>
-        <item name="android:paddingStart">@dimen/contextual_deferred_setup_card_button_padding_start</item>
-        <item name="android:paddingTop">@dimen/contextual_deferred_setup_card_button_padding_top</item>
-        <item name="android:textAllCaps">false</item>
-        <item name="android:textSize">14sp</item>
-    </style>
-
     <style name="SliceViewStyle">
-        <!-- 2dp start padding for the start icon -->
-        <item name="android:paddingStart">2dp</item>
-
-        <!-- End margin of content without end items is 24dp.
-             android:paddingEnd = 24 - 16(contentEndPadding) -->
-        <item name="android:paddingEnd">8dp</item>
-
         <item name="rowStyle">@style/SliceRowStyle</item>
         <item name="android:background">?android:attr/colorBackgroundFloating</item>
     </style>
 
+    <style name="SliceViewSliderStyle">
+        <item name="rowStyle">@style/SliceRowSliderStyle</item>
+        <item name="android:background">?android:attr/colorBackgroundFloating</item>
+    </style>
+
+    <style name="SliceRowSliderStyle" parent="SliceRowStyle">
+        <!-- Align text with slider -->
+        <item name="titleStartPadding">12dp</item>
+        <item name="subContentStartPadding">12dp</item>
+    </style>
+
     <style name="ContextualCardSliceViewStyle" parent="SliceViewStyle">
         <item name="android:background">@color/contextual_card_background</item>
     </style>
 
     <style name="SliceRowStyle">
+        <!-- 2dp start padding for the start icon -->
+        <item name="titleItemStartPadding">2dp</item>
         <item name="titleItemEndPadding">0dp</item>
 
-        <!-- Padding between content and the start icon is 14dp. -->
+        <!-- Padding between content and the start icon is 14dp -->
         <item name="contentStartPadding">14dp</item>
-        <!-- Padding between content and end items is 16dp. -->
+        <!-- Padding between content and end items is 16dp -->
         <item name="contentEndPadding">16dp</item>
 
-        <!-- Both side margins of end item are 16dp.
-             endItemEndPadding = 16 - 8(android:paddingEnd) -->
+        <!-- Both side margins of end item are 16dp -->
         <item name="endItemStartPadding">16dp</item>
-        <item name="endItemEndPadding">8dp</item>
+        <item name="endItemEndPadding">16dp</item>
 
-        <!-- Both side margins of bottom divider are 12dp.
-             bottomDividerStartPadding = 12 - 2(android:paddingStart)
-             bottomDividerEndPadding = 12 - 8(android:paddingEnd) -->
-        <item name="bottomDividerStartPadding">10dp</item>
-        <item name="bottomDividerEndPadding">4dp</item>
+        <!-- Both side margins of bottom divider are 12dp -->
+        <item name="bottomDividerStartPadding">12dp</item>
+        <item name="bottomDividerEndPadding">12dp</item>
 
         <item name="actionDividerHeight">32dp</item>
     </style>
 
     <style name="SliceRowStyle.Settings">
-        <!-- Padding between content and the start icon is 8dp. -->
+        <!-- Padding between content and the start icon is 8dp -->
         <item name="contentStartPadding">8dp</item>
     </style>
 
@@ -574,6 +594,12 @@
         <item name="android:showDividers">middle</item>
     </style>
 
+    <style name="TextAppearance.Tab" parent="@android:style/TextAppearance.DeviceDefault.Medium">
+        <item name="android:textAllCaps">false</item>
+        <item name="android:textSize">14sp</item>
+        <item name="android:fontFamily">@*android:string/config_headlineFontFamilyMedium</item>
+    </style>
+
     <style name="AccessibilityDialogServiceIcon">
         <item name="android:layout_width">36dp</item>
         <item name="android:layout_height">36dp</item>
@@ -651,9 +677,60 @@
         <item name="android:background">?android:attr/selectableItemBackground</item>
     </style>
 
-    <style name="AccessibilityDialogButtonAllow"
-           parent="@style/AccessibilityDialogButton"></style>
-    <style name="AccessibilityDialogButtonDeny"
-           parent="@style/AccessibilityDialogButton"></style>
+    <style name="Widget.PopupWindow.Settings"
+           parent="@android:style/Widget.DeviceDefault.PopupWindow">
+        <item name="android:clipToPadding">true</item>
+        <item name="android:clipChildren">true</item>
+    </style>
 
+    <style name="PickerDialogTheme.Settings" parent="@*android:style/ThemeOverlay.Material.Dialog.DatePicker">
+        <item name="android:clipToPadding">true</item>
+        <item name="android:clipChildren">true</item>
+    </style>
+
+    <style name="CrossProfileConsentDialogTitle">
+        <item name="android:layout_width">wrap_content</item>
+        <item name="android:layout_height">wrap_content</item>
+        <item name="android:gravity">center</item>
+        <item name="android:textSize">20sp</item>
+        <item name="android:textColor">?android:attr/textColorPrimary</item>
+        <item name="android:fontFamily">google-sans-medium</item>
+        <item name="android:paddingTop">36dp</item>
+        <item name="android:paddingBottom">16dp</item>
+    </style>
+
+    <style name="CrossProfileConsentDialogDescription">
+        <item name="android:layout_width">wrap_content</item>
+        <item name="android:layout_height">wrap_content</item>
+        <item name="android:layout_marginBottom">36dp</item>
+        <item name="android:textSize">16sp</item>
+        <item name="android:textColor">?android:attr/textColorPrimary</item>
+        <item name="android:fontFamily">sans-serif</item>
+        <item name="android:gravity">start</item>
+    </style>
+
+    <style name="CrossProfileConsentDialogIcon">
+        <item name="android:layout_width">24dp</item>
+        <item name="android:layout_height">24dp</item>
+        <item name="android:antialias">true</item>
+        <item name="android:gravity">start</item>
+    </style>
+
+    <style name="CrossProfileConsentDialogSubTitle">
+        <item name="android:layout_width">wrap_content</item>
+        <item name="android:layout_height">wrap_content</item>
+        <item name="android:textSize">16sp</item>
+        <item name="android:textColor">?android:attr/textColorPrimary</item>
+        <item name="android:fontFamily">sans-serif</item>
+        <item name="android:gravity">start</item>
+    </style>
+
+    <style name="CrossProfileConsentDialogSubDescription">
+        <item name="android:layout_width">wrap_content</item>
+        <item name="android:layout_height">wrap_content</item>
+        <item name="android:textSize">14sp</item>
+        <item name="android:textColor">?android:attr/textColorSecondary</item>
+        <item name="android:fontFamily">sans-serif</item>
+        <item name="android:gravity">start</item>
+    </style>
 </resources>
diff --git a/res/values/styles_preference.xml b/res/values/styles_preference.xml
index 1f4421f..3e6f772 100644
--- a/res/values/styles_preference.xml
+++ b/res/values/styles_preference.xml
@@ -27,6 +27,8 @@
         <item name="twoStateButtonPreferenceStyle">@style/TwoStateButtonPreference</item>
         <item name="preferenceCategoryTitleTextAppearance">@style/TextAppearance.CategoryTitle
         </item>
+        <!-- For preference category color -->
+        <item name="preferenceCategoryTitleTextColor">?android:attr/textColorSecondary</item>
         <item name="preferenceFragmentCompatStyle">@style/SettingsPreferenceFragmentStyle</item>
     </style>
 
diff --git a/res/values/themes.xml b/res/values/themes.xml
index b96fd86..172a89a 100644
--- a/res/values/themes.xml
+++ b/res/values/themes.xml
@@ -32,6 +32,7 @@
         <item name="android:listPreferredItemHeight">72dip</item>
         <item name="android:homeAsUpIndicator">@drawable/ic_arrow_back</item>
         <item name="android:navigationBarColor">@android:color/transparent</item>
+        <item name="android:datePickerDialogTheme">@style/PickerDialogTheme.Settings</item>
 
         <item name="fingerprint_layout_theme">@style/FingerprintLayoutTheme</item>
         <item name="face_layout_theme">@style/FaceLayoutTheme</item>
@@ -209,6 +210,10 @@
         <item name="android:windowBackground">@android:color/white</item>
     </style>
 
+    <style name="Theme.Settings.ContextualCard" parent="Theme.Settings.Home">
+        <item name="android:textAppearanceListItem">@style/TextAppearance.HomepageCardTitle</item>
+    </style>
+
     <!-- Note that Dialog themes do not set list dividers -->
     <style name="Theme.Panel" parent="@*android:style/Theme.DeviceDefault.Settings.Dialog">
         <item name="android:windowBackground">@null</item>
@@ -252,4 +257,8 @@
         <item name="android:colorPrimaryDark">@android:color/white</item>
         <item name="android:colorAccent">@color/material_blue_700</item>
     </style>
+    <!-- Material theme for the pages containing TabLayout and ViewPager -->
+    <style name="Theme.TabTheme" parent="@style/Theme.MaterialComponents.DayNight">
+        <item name="colorPrimary">@*android:color/edge_effect_device_default_light</item>
+    </style>
 </resources>
diff --git a/res/values/themes_suw.xml b/res/values/themes_suw.xml
index f7f1d16..3c171a1 100644
--- a/res/values/themes_suw.xml
+++ b/res/values/themes_suw.xml
@@ -52,7 +52,6 @@
         <item name="preferenceTheme">@style/PreferenceTheme.SetupWizard</item>
 
         <item name="*android:lockPatternStyle">@style/LockPatternStyle.Setup</item>
-        <item name="*android:colorError">@color/glif_error_color</item>
     </style>
 
     <style name="GlifV2Theme" parent="SudThemeGlifV2.DayNight">
@@ -90,7 +89,6 @@
         <item name="preferenceTheme">@style/PreferenceTheme.SetupWizard</item>
 
         <item name="*android:lockPatternStyle">@style/LockPatternStyle.Setup</item>
-        <item name="*android:colorError">@color/glif_error_color</item>
     </style>
 
     <style name="GlifV3Theme" parent="SudThemeGlifV3.DayNight">
@@ -133,7 +131,6 @@
         <item name="preferenceTheme">@style/PreferenceTheme.SetupWizard</item>
 
         <item name="*android:lockPatternStyle">@style/LockPatternStyle.Setup</item>
-        <item name="*android:colorError">@color/glif_error_color</item>
     </style>
 
     <style name="GlifV2Theme.Transparent">
diff --git a/res/xml/about_legal.xml b/res/xml/about_legal.xml
index 90b1985..d30ceaa 100644
--- a/res/xml/about_legal.xml
+++ b/res/xml/about_legal.xml
@@ -16,8 +16,7 @@
 
 <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
                   xmlns:settings="http://schemas.android.com/apk/res-auto"
-                  android:title="@string/legal_information"
-                  android:key="legal_screen">
+                  android:title="@string/legal_information">
 
     <!-- Note: The titles given here probably won't be used.  Instead, we programmatically
        fill the title with the label of the activity with the corresponding action.
@@ -59,6 +58,7 @@
         android:key="wallpaper_attributions"
         android:title="@string/wallpaper_attributions"
         android:summary="@string/wallpaper_attributions_values"
+        android:selectable="false"
         settings:controller="com.android.settings.deviceinfo.legal.WallpaperAttributionsPreferenceController" />
 
 </PreferenceScreen>
diff --git a/res/xml/accessibility_autoclick_settings.xml b/res/xml/accessibility_autoclick_settings.xml
index bb77002..d387b58 100644
--- a/res/xml/accessibility_autoclick_settings.xml
+++ b/res/xml/accessibility_autoclick_settings.xml
@@ -16,12 +16,54 @@
 
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
-    android:key="autoclick_preference_screen"
+    xmlns:settings="http://schemas.android.com/apk/res-auto"
     android:title="@string/accessibility_autoclick_preference_title">
 
+    <com.android.settingslib.widget.LayoutPreference
+        android:key="accessibility_autoclick_preview"
+        android:layout="@layout/accessibility_autoclick_preview"
+        android:persistent="false"
+        android:selectable="false"
+        android:title="@string/summary_placeholder"
+        settings:allowDividerBelow="true"
+        settings:searchable="false" />
 
-    <com.android.settings.widget.SeekBarPreference
-        android:key="autoclick_delay"
-        android:title="@string/accessibility_autoclick_delay_preference_title" />
+    <com.android.settingslib.widget.RadioButtonPreference
+        android:key="accessibility_control_autoclick_default"
+        android:title="@string/accessibility_autoclick_default_title"
+        settings:allowDividerAbove="true" />
+
+    <com.android.settingslib.widget.RadioButtonPreference
+        android:key="accessibility_control_autoclick_200ms"
+        android:title="@string/accessibility_autoclick_short_title"
+        android:summary="@string/accessibility_autoclick_short_summary" />
+
+    <com.android.settingslib.widget.RadioButtonPreference
+        android:key="accessibility_control_autoclick_600ms"
+        android:title="@string/accessibility_autoclick_medium_title"
+        android:summary="@string/accessibility_autoclick_medium_summary" />
+
+    <com.android.settingslib.widget.RadioButtonPreference
+        android:key="accessibility_control_autoclick_1sec"
+        android:title="@string/accessibility_autoclick_long_title"
+        android:summary="@string/accessibility_autoclick_long_summary" />
+
+    <com.android.settingslib.widget.RadioButtonPreference
+        android:key="accessibility_control_autoclick_custom"
+        android:title="@string/accessibility_autoclick_custom_title" />
+
+    <com.android.settingslib.widget.LayoutPreference
+        android:key="autoclick_custom_seekbar"
+        android:layout="@layout/accessibility_autoclick_custom_seekbar"
+        android:selectable="false"
+        android:visibility="gone"
+        settings:allowDividerBelow="true"
+        settings:controller="com.android.settings.accessibility.ToggleAutoclickCustomSeekbarController" />
+
+    <com.android.settingslib.widget.FooterPreference
+        android:key="autoclick_footer"
+        android:title="@string/accessibility_autoclick_description"
+        android:selectable="false"
+        settings:searchable="false" />
 
 </PreferenceScreen>
diff --git a/res/xml/accessibility_color_inversion_settings.xml b/res/xml/accessibility_color_inversion_settings.xml
new file mode 100644
index 0000000..f44d41f
--- /dev/null
+++ b/res/xml/accessibility_color_inversion_settings.xml
@@ -0,0 +1,34 @@
+<?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:persistent="false"
+    android:title="@string/accessibility_display_inversion_preference_title">
+
+    <com.android.settings.widget.VideoPreference
+        android:key="color_inversion_preview"
+        android:persistent="false"
+        android:selectable="false"
+        android:title="@string/summary_placeholder"
+        settings:allowDividerBelow="true"
+        settings:animation="@raw/accessibility_color_inversion"
+        settings:controller="com.android.settings.widget.VideoPreferenceController"
+        settings:searchable="false" />
+
+</PreferenceScreen>
diff --git a/res/xml/accessibility_control_timeout_settings.xml b/res/xml/accessibility_control_timeout_settings.xml
index e5a6e5b..0f14cd5 100644
--- a/res/xml/accessibility_control_timeout_settings.xml
+++ b/res/xml/accessibility_control_timeout_settings.xml
@@ -18,7 +18,6 @@
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
-    android:key="accessibility_control_timeout_preference"
     android:title="@string/accessibility_control_timeout_preference_title"
     android:persistent="false" >
 
@@ -30,28 +29,28 @@
         settings:controller="com.android.settings.widget.VideoPreferenceController"
         android:persistent="false" />
 
-    <com.android.settings.widget.RadioButtonPreference
+    <com.android.settingslib.widget.RadioButtonPreference
         android:key="accessibility_control_timeout_default"
         android:title="@string/accessibility_timeout_default"
         settings:allowDividerAbove="true"
         android:persistent="false" />
 
-    <com.android.settings.widget.RadioButtonPreference
+    <com.android.settingslib.widget.RadioButtonPreference
         android:key="accessibility_control_timeout_10secs"
         android:title="@string/accessibility_timeout_10secs"
         android:persistent="false" />
 
-    <com.android.settings.widget.RadioButtonPreference
+    <com.android.settingslib.widget.RadioButtonPreference
         android:key="accessibility_control_timeout_30secs"
         android:title="@string/accessibility_timeout_30secs"
         android:persistent="false" />
 
-    <com.android.settings.widget.RadioButtonPreference
+    <com.android.settingslib.widget.RadioButtonPreference
         android:key="accessibility_control_timeout_1min"
         android:title="@string/accessibility_timeout_1min"
         android:persistent="false" />
 
-    <com.android.settings.widget.RadioButtonPreference
+    <com.android.settingslib.widget.RadioButtonPreference
         android:key="accessibility_control_timeout_2mins"
         android:title="@string/accessibility_timeout_2mins"
         android:persistent="false" />
diff --git a/res/xml/accessibility_daltonizer_settings.xml b/res/xml/accessibility_daltonizer_settings.xml
index 9cd3865..c98736b 100644
--- a/res/xml/accessibility_daltonizer_settings.xml
+++ b/res/xml/accessibility_daltonizer_settings.xml
@@ -16,15 +16,40 @@
 
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
-    android:key="daltonizer_preference_screen"
+    xmlns:settings="http://schemas.android.com/apk/res-auto"
+    android:persistent="false"
     android:title="@string/accessibility_display_daltonizer_preference_title">
 
-    <ListPreference
-        android:entries="@array/daltonizer_type_entries"
-        android:entryValues="@array/daltonizer_type_values"
-        android:key="type"
-        android:summary="%s"
+    <com.android.settings.accessibility.PaletteListPreference
+        android:key="daltonizer_preview"
+        android:persistent="false"
+        android:selectable="false"
+        android:title="@string/summary_placeholder"
+        settings:allowDividerBelow="true"
+        settings:searchable="false"/>
+
+    <PreferenceCategory
         android:title="@string/daltonizer_type"
-        android:icon="@drawable/ic_accessibility_illustration_colorblind" />
+        android:key="daltonizer_mode_category" >
+
+        <com.android.settingslib.widget.RadioButtonPreference
+            android:key="daltonizer_mode_deuteranomaly"
+            android:persistent="false"
+            android:summary="@string/daltonizer_mode_deuteranomaly_summary"
+            android:title="@string/daltonizer_mode_deuteranomaly_title" />
+
+        <com.android.settingslib.widget.RadioButtonPreference
+            android:key="daltonizer_mode_protanomaly"
+            android:persistent="false"
+            android:summary="@string/daltonizer_mode_protanomaly_summary"
+            android:title="@string/daltonizer_mode_protanomaly_title" />
+
+        <com.android.settingslib.widget.RadioButtonPreference
+            android:key="daltonizer_mode_tritanomaly"
+            android:persistent="false"
+            android:summary="@string/daltonizer_mode_tritanomaly_summary"
+            android:title="@string/daltonizer_mode_tritanomaly_title" />
+
+    </PreferenceCategory>
 
 </PreferenceScreen>
diff --git a/res/xml/accessibility_magnification_service_settings.xml b/res/xml/accessibility_magnification_service_settings.xml
new file mode 100644
index 0000000..0548e5e
--- /dev/null
+++ b/res/xml/accessibility_magnification_service_settings.xml
@@ -0,0 +1,41 @@
+<?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:key="magnification_mode_screen"
+    android:persistent="false"
+    android:title="@string/accessibility_magnification_service_settings_title"
+    settings:searchable="false">
+
+    <Preference
+        android:key="magnification_mode"
+        android:persistent="false"
+        android:title="@string/accessibility_magnification_mode_title"
+        settings:searchable="false"
+        settings:controller="com.android.settings.accessibility.MagnificationModePreferenceController" />
+
+    <SwitchPreference
+        android:key="magnification_enable"
+        android:persistent="false"
+        android:title="@string/accessibility_magnification_enable_mode_title"
+        android:summaryOn="@string/accessibility_magnification_area_settings_full_screen_summary"
+        android:summaryOff="@string/accessibility_magnification_area_settings_window_screen_summary"
+        settings:searchable="false"
+        settings:controller="com.android.settings.accessibility.MagnificationEnablePreferenceController" />
+
+</PreferenceScreen>
diff --git a/res/xml/accessibility_magnification_settings.xml b/res/xml/accessibility_magnification_settings.xml
index bb40394..83ce79b 100644
--- a/res/xml/accessibility_magnification_settings.xml
+++ b/res/xml/accessibility_magnification_settings.xml
@@ -16,17 +16,18 @@
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
-    android:key="magnification_preference_screen_title"
     android:title="@string/accessibility_screen_magnification_title"
     settings:searchable="false">
     <Preference
         android:fragment="com.android.settings.accessibility.ToggleScreenMagnificationPreferenceFragment"
         android:key="screen_magnification_gestures_preference_screen"
         android:title="@string/accessibility_screen_magnification_gestures_title"
+        settings:searchable="false"
         settings:controller="com.android.settings.accessibility.MagnificationGesturesPreferenceController"/>
     <Preference
         android:fragment="com.android.settings.accessibility.ToggleScreenMagnificationPreferenceFragment"
         android:key="screen_magnification_navbar_preference_screen"
         android:title="@string/accessibility_screen_magnification_navbar_title"
+        settings:searchable="false"
         settings:controller="com.android.settings.accessibility.MagnificationNavbarPreferenceController"/>
 </PreferenceScreen>
diff --git a/res/xml/accessibility_settings.xml b/res/xml/accessibility_settings.xml
index 3e27117..1802060 100644
--- a/res/xml/accessibility_settings.xml
+++ b/res/xml/accessibility_settings.xml
@@ -15,134 +15,165 @@
 -->
 
 <PreferenceScreen
-        xmlns:android="http://schemas.android.com/apk/res/android"
-        xmlns:settings="http://schemas.android.com/apk/res-auto"
-        android:key="accessibility_settings_screen"
-        android:title="@string/accessibility_settings"
-        android:persistent="true">
-
-    <Preference
-            android:key="accessibility_shortcut_preference"
-            android:fragment="com.android.settings.accessibility.AccessibilityShortcutPreferenceFragment"
-            android:title="@string/accessibility_global_gesture_preference_title"/>
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:settings="http://schemas.android.com/apk/res-auto"
+    android:key="accessibility_settings_screen"
+    android:persistent="false"
+    android:title="@string/accessibility_settings">
 
     <PreferenceCategory
-            android:key="user_installed_services_category"
-            android:title="@string/user_installed_services_category_title">
-    </PreferenceCategory>
+        android:key="user_installed_services_category"
+        android:persistent="false"
+        android:title="@string/user_installed_services_category_title"/>
 
     <PreferenceCategory
-            android:key="screen_reader_category"
-            android:title="@string/screen_reader_category_title">
+        android:key="screen_reader_category"
+        android:persistent="false"
+        android:title="@string/screen_reader_category_title">
 
         <Preference
-                android:key="tts_settings_preference"
-                android:fragment="com.android.settings.tts.TextToSpeechSettings"
-                android:title="@string/tts_settings_title"
-                settings:searchable="false"/>
+            android:fragment="com.android.settings.tts.TextToSpeechSettings"
+            android:key="tts_settings_preference"
+            android:persistent="false"
+            android:title="@string/tts_settings_title"
+            settings:controller="com.android.settings.language.TtsPreferenceController"/>
     </PreferenceCategory>
 
     <PreferenceCategory
-            android:key="display_category"
-            android:title="@string/display_category_title">
+        android:key="display_category"
+        android:persistent="false"
+        android:title="@string/display_category_title">
 
         <Preference
             android:fragment="com.android.settings.display.ToggleFontSizePreferenceFragment"
             android:key="font_size_preference_screen"
+            android:persistent="false"
             android:title="@string/title_font_size"
+            settings:controller="com.android.settings.display.FontSizePreferenceController"
             settings:searchable="false"/>
 
-        <com.android.settings.display.ScreenZoomPreference
-            android:key="accessibility_settings_screen_zoom"
+     <com.android.settings.display.ScreenZoomPreference
             android:fragment="com.android.settings.display.ScreenZoomSettings"
+            android:key="accessibility_settings_screen_zoom"
+            android:persistent="false"
             android:title="@string/screen_zoom_title"
             settings:searchable="false"/>
 
-        <SwitchPreference
+       <SwitchPreference
             android:key="dark_ui_mode_accessibility"
+            android:persistent="false"
             android:title="@string/dark_ui_mode"
+            settings:controller="com.android.settings.display.DarkUIPreferenceController"
             settings:searchable="false"/>
 
-        <Preference
+       <Preference
             android:fragment="com.android.settings.accessibility.MagnificationPreferenceFragment"
+            android:icon="@drawable/ic_accessibility_magnification"
             android:key="magnification_preference_screen"
+            android:persistent="false"
             android:title="@string/accessibility_screen_magnification_title"
-            android:icon="@drawable/ic_accessibility_magnification" />
+            settings:controller="com.android.settings.accessibility.MagnificationPreferenceController"/>
 
         <SwitchPreference
-                android:key="toggle_large_pointer_icon"
-                android:title="@string/accessibility_toggle_large_pointer_icon_title" />
+            android:key="toggle_large_pointer_icon"
+            android:persistent="false"
+            android:title="@string/accessibility_toggle_large_pointer_icon_title"
+            settings:controller="com.android.settings.accessibility.LargePointerIconPreferenceController"/>
 
         <SwitchPreference
             android:key="toggle_disable_animations"
-            android:title="@string/accessibility_disable_animations" />
+            android:persistent="false"
+            android:title="@string/accessibility_disable_animations"
+            settings:controller="com.android.settings.accessibility.DisableAnimationsPreferenceController"/>
 
     </PreferenceCategory>
 
     <PreferenceCategory
-            android:key="interaction_control_category"
-            android:title="@string/interaction_control_category_title">
+        android:key="interaction_control_category"
+        android:persistent="false"
+        android:title="@string/interaction_control_category_title">
 
         <Preference
-                android:fragment="com.android.settings.accessibility.ToggleAutoclickPreferenceFragment"
-                android:key="autoclick_preference"
-                android:title="@string/accessibility_autoclick_preference_title"
-                settings:searchable="false"/>
+            android:fragment="com.android.settings.accessibility.ToggleAutoclickPreferenceFragment"
+            android:key="autoclick_preference"
+            android:persistent="false"
+            android:title="@string/accessibility_autoclick_preference_title"
+            settings:controller="com.android.settings.accessibility.AutoclickPreferenceController"/>
 
         <SwitchPreference
-                android:key="toggle_power_button_ends_call_preference"
-                android:title="@string/accessibility_power_button_ends_call_prerefence_title"
-                android:persistent="false"/>
+            android:key="toggle_power_button_ends_call_preference"
+            android:persistent="false"
+            android:title="@string/accessibility_power_button_ends_call_prerefence_title"
+            settings:controller="com.android.settings.accessibility.PowerButtonEndsCallPreferenceController"/>
 
         <SwitchPreference
-                android:key="toggle_lock_screen_rotation_preference"
-                android:title="@string/accelerometer_title"
-                android:persistent="false"/>
+            android:key="toggle_lock_screen_rotation_preference"
+            android:persistent="false"
+            android:title="@string/accelerometer_title"
+            settings:controller="com.android.settings.accessibility.LockScreenRotationPreferenceController"/>
 
         <ListPreference
-                android:key="select_long_press_timeout_preference"
-                android:title="@string/accessibility_long_press_timeout_preference_title"
-                android:entries="@array/long_press_timeout_selector_titles"
-                android:entryValues="@array/long_press_timeout_selector_values"
-                android:persistent="false"/>
+            android:entries="@array/long_press_timeout_selector_titles"
+            android:entryValues="@array/long_press_timeout_selector_values"
+            android:key="select_long_press_timeout_preference"
+            android:persistent="false"
+            android:title="@string/accessibility_long_press_timeout_preference_title"
+            settings:controller="com.android.settings.accessibility.SelectLongPressTimeoutPreferenceController"/>
 
         <Preference
             android:fragment="com.android.settings.accessibility.AccessibilityControlTimeoutPreferenceFragment"
             android:key="accessibility_control_timeout_preference_fragment"
+            android:persistent="false"
             android:title="@string/accessibility_setting_item_control_timeout_title"
-            android:persistent="false" />
+            settings:controller="com.android.settings.accessibility.AccessibilityTimeoutPreferenceController"/>
 
         <Preference
             android:fragment="com.android.settings.accessibility.VibrationSettings"
             android:key="vibration_preference_screen"
-            android:title="@string/accessibility_vibration_settings_title" />
+            android:persistent="false"
+            android:title="@string/accessibility_vibration_settings_title"
+            settings:controller="com.android.settings.accessibility.VibrationPreferenceController"/>
+
+        <Preference
+            android:fragment="com.android.settings.gestures.SystemNavigationGestureSettings"
+            android:key="gesture_system_navigation_input_summary_accessibility"
+            android:persistent="false"
+            android:title="@string/system_navigation_title"
+            settings:searchable="false"
+            settings:controller="com.android.settings.gestures.SystemNavigationPreferenceController"/>
 
     </PreferenceCategory>
 
     <PreferenceCategory
-            android:key="audio_and_captions_category"
-            android:title="@string/audio_and_captions_category_title">
+        android:key="audio_and_captions_category"
+        android:persistent="false"
+        android:title="@string/audio_and_captions_category_title">
 
         <Preference
             android:key="live_caption"
-            android:title="@string/live_caption_title"
+            android:persistent="false"
             android:summary="@string/live_caption_summary"
+            android:title="@string/live_caption_title"
             settings:controller="com.android.settings.accessibility.LiveCaptionPreferenceController"/>
 
         <SwitchPreference
-                android:key="toggle_master_mono"
-                android:title="@string/accessibility_toggle_master_mono_title"
-                android:summary="@string/accessibility_toggle_master_mono_summary"
-                android:persistent="false"/>
+            android:key="toggle_master_mono"
+            android:persistent="false"
+            android:summary="@string/accessibility_toggle_master_mono_summary"
+            android:title="@string/accessibility_toggle_master_mono_title"
+            settings:controller="com.android.settings.accessibility.MasterMonoPreferenceController"/>
 
         <com.android.settings.accessibility.BalanceSeekBarPreference
-                android:key="seekbar_master_balance"
-                android:title="@string/accessibility_toggle_master_balance_title" />
+            android:key="seekbar_master_balance"
+            android:persistent="false"
+            android:title="@string/accessibility_toggle_master_balance_title"/>
 
         <Preference
             android:key="hearing_aid_preference"
+            android:persistent="false"
             android:summary="@string/accessibility_hearingaid_not_connected_summary"
-            android:title="@string/accessibility_hearingaid_title"/>
+            android:title="@string/accessibility_hearingaid_title"
+            settings:controller="com.android.settings.accessibility.AccessibilityHearingAidPreferenceController"/>
 
         <Preference
             android:key="rtt_setting"
@@ -151,32 +182,49 @@
             settings:controller="com.android.settings.accessibility.RTTSettingPreferenceController"/>
 
         <Preference
-                android:fragment="com.android.settings.accessibility.CaptionPropertiesFragment"
-                android:key="captioning_preference_screen"
-                android:title="@string/accessibility_captioning_title" />
+            android:fragment="com.android.settings.accessibility.CaptionPropertiesFragment"
+            android:key="captioning_preference_screen"
+            android:persistent="false"
+            android:title="@string/accessibility_captioning_title"
+            settings:controller="com.android.settings.accessibility.CaptioningPreferenceController"/>
+
     </PreferenceCategory>
 
     <PreferenceCategory
-            android:key="experimental_category"
-            android:title="@string/experimental_category_title">
+        android:key="experimental_category"
+        android:persistent="false"
+        android:title="@string/experimental_category_title"
+        settings:initialExpandedChildrenCount="1">
 
         <SwitchPreference
-                android:key="toggle_high_text_contrast_preference"
-                android:title="@string/accessibility_toggle_high_text_contrast_preference_title" />
+            android:key="toggle_high_text_contrast_preference"
+            android:persistent="false"
+            android:title="@string/accessibility_toggle_high_text_contrast_preference_title"
+            settings:controller="com.android.settings.accessibility.HighTextContrastPreferenceController"/>
 
         <Preference
-                android:fragment="com.android.settings.accessibility.ToggleDaltonizerPreferenceFragment"
-                android:key="daltonizer_preference"
-                android:title="@string/accessibility_display_daltonizer_preference_title"
-                android:icon="@drawable/ic_daltonizer"
-                settings:searchable="false"/>
+            android:fragment="com.android.settings.accessibility.ToggleDaltonizerPreferenceFragment"
+            android:icon="@drawable/ic_daltonizer"
+            android:key="daltonizer_preference"
+            android:persistent="false"
+            android:title="@string/accessibility_display_daltonizer_preference_title"
+            settings:controller="com.android.settings.accessibility.DaltonizerPreferenceController"/>
+
+        <Preference
+            android:fragment="com.android.settings.accessibility.ToggleColorInversionPreferenceFragment"
+            android:icon="@drawable/ic_color_inversion"
+            android:key="toggle_inversion_preference"
+            android:persistent="false"
+            android:title="@string/accessibility_display_inversion_preference_title"
+            settings:controller="com.android.settings.accessibility.ColorInversionPreferenceController"/>
 
         <SwitchPreference
-                android:key="toggle_inversion_preference"
-                android:title="@string/accessibility_display_inversion_preference_title"
-                android:summary="@string/accessibility_display_inversion_preference_subtitle"
-                android:persistent="false"
-                android:icon="@drawable/ic_color_inversion"
-                settings:controller="com.android.settings.accessibility.ColorInversionPreferenceController"/>
+            android:key="accessibility_shortcut_preference"
+            android:persistent="false"
+            android:title="@string/accessibility_shortcut_service_on_lock_screen_title"
+            android:summary="@string/accessibility_shortcut_description"
+            settings:controller="com.android.settings.accessibility.AccessibilityShortcutPreferenceController"/>
+
     </PreferenceCategory>
+
 </PreferenceScreen>
diff --git a/res/xml/accessibility_settings_for_setup_wizard.xml b/res/xml/accessibility_settings_for_setup_wizard.xml
index 738bb8e..1b9939a 100644
--- a/res/xml/accessibility_settings_for_setup_wizard.xml
+++ b/res/xml/accessibility_settings_for_setup_wizard.xml
@@ -15,47 +15,45 @@
 -->
 
 <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
-        android:title="@string/vision_settings_title"
-        android:persistent="true" >
+    xmlns:settings="http://schemas.android.com/apk/res-auto"
+    android:persistent="true"
+    android:title="@string/vision_settings_title">
 
     <com.android.settings.accessibility.DividerAllowedBelowPreference
         android:key="vision_settings_summary"
-        android:title="@string/vision_settings_description"
         android:layout="@layout/preference_multiline_title"
-        android:selectable="false" />
+        android:selectable="false"
+        android:title="@string/vision_settings_description" />
 
     <Preference
-        android:fragment=
-                "com.android.settings.accessibility.MagnificationPreferenceFragment"
+        settings:controller="com.android.settings.accessibility.MagnificationPreferenceController"
+        android:fragment="com.android.settings.accessibility.MagnificationPreferenceFragment"
         android:key="screen_magnification_preference"
-        android:title="@string/accessibility_screen_magnification_title"
-        android:summary="@string/accessibility_preference_magnification_summary" />
+        android:summary="@string/accessibility_preference_magnification_summary"
+        android:title="@string/accessibility_screen_magnification_title" />
 
     <Preference
-        android:fragment=
-                "com.android.settings.display.FontSizePreferenceFragmentForSetupWizard"
+        android:fragment="com.android.settings.display.FontSizePreferenceFragmentForSetupWizard"
         android:key="font_size_preference"
-        android:title="@string/title_font_size"
-        android:summary="@string/short_summary_font_size" />
+        android:summary="@string/short_summary_font_size"
+        android:title="@string/title_font_size" />
 
     <com.android.settings.display.ScreenZoomPreference
         android:fragment="com.android.settings.display.ScreenZoomPreferenceFragmentForSetupWizard"
         android:key="force_density_preference"
-        android:title="@string/screen_zoom_title"
-        android:summary="@string/screen_zoom_short_summary" />
+        android:summary="@string/screen_zoom_short_summary"
+        android:title="@string/screen_zoom_title" />
 
     <Preference
-        android:fragment=
-                "com.android.settings.accessibility.ToggleSelectToSpeakPreferenceFragmentForSetupWizard"
+        android:fragment="com.android.settings.accessibility.ToggleSelectToSpeakPreferenceFragmentForSetupWizard"
         android:key="select_to_speak_preference"
-        android:summary="@string/select_to_speak_summary"
-        android:persistent="true" />
+        android:persistent="true"
+        android:summary="@string/select_to_speak_summary" />
 
     <Preference
-        android:fragment=
-                "com.android.settings.accessibility.ToggleScreenReaderPreferenceFragmentForSetupWizard"
+        android:fragment="com.android.settings.accessibility.ToggleScreenReaderPreferenceFragmentForSetupWizard"
         android:key="screen_reader_preference"
-        android:summary="@string/talkback_summary"
-        android:persistent="true" />
+        android:persistent="true"
+        android:summary="@string/talkback_summary" />
 
 </PreferenceScreen>
diff --git a/res/xml/accessibility_shortcut_settings.xml b/res/xml/accessibility_shortcut_settings.xml
deleted file mode 100644
index 1245050..0000000
--- a/res/xml/accessibility_shortcut_settings.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- 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.
--->
-<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
-                  android:title="@string/accessibility_global_gesture_preference_title" >
-
-    <Preference
-            android:key="accessibility_shortcut_service"
-            android:title="@string/accessibility_shortcut_service_title"
-            android:fragment="com.android.settings.accessibility.ShortcutServicePickerFragment"/>
-
-    <SwitchPreference
-            android:key="accessibility_shortcut_on_lock_screen"
-            android:title="@string/accessibility_shortcut_service_on_lock_screen_title"/>
-</PreferenceScreen>
\ No newline at end of file
diff --git a/res/xml/accessibility_vibration_settings.xml b/res/xml/accessibility_vibration_settings.xml
index dc2b16a..87c2988 100644
--- a/res/xml/accessibility_vibration_settings.xml
+++ b/res/xml/accessibility_vibration_settings.xml
@@ -18,7 +18,6 @@
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
-    android:key="accessibility_settings_vibration_screen"
     android:title="@string/accessibility_vibration_settings_title">
 
     <Preference
diff --git a/res/xml/accounts_dashboard_settings.xml b/res/xml/accounts_dashboard_settings.xml
index 6b5f825..d2affc7 100644
--- a/res/xml/accounts_dashboard_settings.xml
+++ b/res/xml/accounts_dashboard_settings.xml
@@ -36,6 +36,7 @@
         android:key="auto_sync_work_account_data"
         android:title="@string/account_settings_menu_auto_sync_work"
         android:summary="@string/auto_sync_account_summary"
+        settings:forWork="true"
         android:order="103"/>
 
     <SwitchPreference
diff --git a/res/xml/accounts_personal_dashboard_settings.xml b/res/xml/accounts_personal_dashboard_settings.xml
new file mode 100644
index 0000000..db57e3d
--- /dev/null
+++ b/res/xml/accounts_personal_dashboard_settings.xml
@@ -0,0 +1,42 @@
+<?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:key="user_and_account_settings_screen"
+    android:title="@string/account_dashboard_title"
+    settings:keywords="@string/keywords_accounts">
+
+    <PreferenceCategory
+        android:key="dashboard_tile_placeholder"
+        android:order="30"/>
+
+    <SwitchPreference
+        android:key="auto_sync_account_data"
+        android:title="@string/auto_sync_account_title"
+        android:summary="@string/auto_sync_account_summary"
+        android:order="100"
+        settings:allowDividerAbove="true"/>
+
+    <SwitchPreference
+        android:key="auto_sync_personal_account_data"
+        android:title="@string/account_settings_menu_auto_sync_personal"
+        android:summary="@string/auto_sync_account_summary"
+        android:order="110"/>
+
+</PreferenceScreen>
diff --git a/res/xml/accounts_work_dashboard_settings.xml b/res/xml/accounts_work_dashboard_settings.xml
new file mode 100644
index 0000000..b27357d
--- /dev/null
+++ b/res/xml/accounts_work_dashboard_settings.xml
@@ -0,0 +1,42 @@
+<?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:key="user_and_account_settings_screen"
+    android:title="@string/account_dashboard_title"
+    settings:keywords="@string/keywords_accounts">
+
+    <PreferenceCategory
+        android:key="dashboard_tile_placeholder"
+        android:order="30"/>
+
+    <SwitchPreference
+        android:key="auto_sync_account_data"
+        android:title="@string/auto_sync_account_title"
+        android:summary="@string/auto_sync_account_summary"
+        android:order="100"
+        settings:allowDividerAbove="true"/>
+
+    <SwitchPreference
+        android:key="auto_sync_work_account_data"
+        android:title="@string/account_settings_menu_auto_sync_work"
+        android:summary="@string/auto_sync_account_summary"
+        android:order="110"/>
+
+</PreferenceScreen>
diff --git a/res/xml/adaptive_sleep_detail.xml b/res/xml/adaptive_sleep_detail.xml
index 568e694..0ea31ff 100644
--- a/res/xml/adaptive_sleep_detail.xml
+++ b/res/xml/adaptive_sleep_detail.xml
@@ -18,7 +18,6 @@
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
-    android:key="adaptive_sleep_detail"
     android:title="@string/adaptive_sleep_title">
 
     <com.android.settings.widget.VideoPreference
@@ -45,4 +44,11 @@
         settings:useAdminDisabledSummary="true"
         settings:allowDividerAbove="true" />
 
-</PreferenceScreen>
\ No newline at end of file
+    <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/adb_device_details_fragment.xml b/res/xml/adb_device_details_fragment.xml
new file mode 100644
index 0000000..2e149ed
--- /dev/null
+++ b/res/xml/adb_device_details_fragment.xml
@@ -0,0 +1,39 @@
+<?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:title="@string/device_details_title"
+    settings:initialExpandedChildrenCount="3">
+
+    <com.android.settingslib.widget.LayoutPreference
+        android:key="adb_device_header"
+        android:layout="@layout/settings_entity_header"
+        android:selectable="false" />
+
+    <!-- Buttons -->
+    <com.android.settingslib.widget.ActionButtonsPreference
+        android:key="buttons"
+        android:selectable="false" />
+
+    <!-- Device Fingerprint Details -->
+    <PreferenceCategory
+            android:key="fingerprint_category"
+            android:layout="@layout/preference_category_no_label">
+    </PreferenceCategory>
+</PreferenceScreen>
+
diff --git a/res/xml/adb_wireless_settings.xml b/res/xml/adb_wireless_settings.xml
new file mode 100644
index 0000000..7f60c69
--- /dev/null
+++ b/res/xml/adb_wireless_settings.xml
@@ -0,0 +1,68 @@
+<?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:title="@string/adb_wireless_settings">
+
+    <PreferenceCategory
+        android:layout="@layout/preference_category_no_label">
+        <!-- ADB device name -->
+        <Preference
+            android:key="adb_device_name_pref"
+            android:title="@string/my_device_info_device_name_preference_title"
+            android:summary="@string/summary_placeholder"
+            android:selectable="false"
+            settings:controller="com.android.settings.development.AdbDeviceNamePreferenceController"
+            settings:enableCopying="true"/>
+
+        <!-- IP address & port -->
+        <Preference
+            android:key="adb_ip_addr_pref"
+            android:title="@string/adb_wireless_ip_addr_preference_title"
+            android:summary="@string/summary_placeholder"
+            android:selectable="false"/>
+    </PreferenceCategory>
+
+    <!-- Pairing methods category -->
+    <PreferenceCategory
+        android:key="adb_pairing_methods_category"
+        android:layout="@layout/preference_category_no_label">
+        <!-- qrcode scanner -->
+        <Preference
+            android:key="adb_pair_method_qrcode_pref"
+            android:icon="@drawable/ic_scan_24dp"
+            android:title="@string/adb_pair_method_qrcode_title"
+            android:summary="@string/adb_pair_method_qrcode_summary"/>
+        <Preference
+            android:key="adb_pair_method_code_pref"
+            android:title="@string/adb_pair_method_code_title"
+            android:summary="@string/adb_pair_method_code_summary"/>
+    </PreferenceCategory>
+
+    <!-- Paired devices list -->
+    <PreferenceCategory
+        android:key="adb_paired_devices_category"
+        android:title="@string/adb_paired_devices_title"/>
+
+    <!-- Off message: Shown only in the off state -->
+    <PreferenceCategory
+        android:key="adb_wireless_footer_category"
+        android:layout="@layout/preference_category_no_label"
+        settings:allowDividerAbove="false"/>
+
+</PreferenceScreen>
diff --git a/res/xml/add_account_settings.xml b/res/xml/add_account_settings.xml
index 01e7674..1bc9149 100644
--- a/res/xml/add_account_settings.xml
+++ b/res/xml/add_account_settings.xml
@@ -19,5 +19,11 @@
     xmlns:settings="http://schemas.android.com/apk/res-auto"
     android:key="add_account_screen"
     android:title="@string/header_add_an_account"
-    settings:controller="com.android.settings.accounts.ChooseAccountPreferenceController"
-    settings:keywords="@string/keywords_add_an_account"/>
+    settings:controller="com.android.settings.accounts.ChooseAccountPreferenceController">
+
+    <com.android.settingslib.widget.FooterPreference
+        android:key="add_account_enterprise_disclosure_footer"
+        android:selectable="false"
+        settings:searchable="false"
+        settings:controller="com.android.settings.accounts.EnterpriseDisclosurePreferenceController"/>
+</PreferenceScreen>
diff --git a/res/xml/all_tether_prefs.xml b/res/xml/all_tether_prefs.xml
new file mode 100644
index 0000000..294e975
--- /dev/null
+++ b/res/xml/all_tether_prefs.xml
@@ -0,0 +1,93 @@
+<?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="all_tether_prefs_screen"
+    android:title="@string/tether_settings_title_all"
+    settings:searchable="false">
+
+    <PreferenceCategory
+        android:key="wifi_tether_settings_group"
+        android:title="@string/wifi_hotspot_checkbox_text"
+        settings:searchable="false">
+        <com.android.settings.wifi.tether.WifiTetherSsidPreference
+            android:key="wifi_tether_network_name_2"
+            android:title="@string/wifi_hotspot_name_title"
+            android:summary="@string/summary_placeholder"/>
+
+        <com.android.settings.widget.ValidatedEditTextPreference
+            android:key="wifi_tether_network_password_2"
+            android:persistent="false"
+            android:title="@string/wifi_hotspot_password_title"/>
+
+        <SwitchPreference
+            android:key="wifi_tether_auto_turn_off_2"
+            android:title="@string/wifi_hotspot_auto_off_title"
+            android:summary="@string/wifi_hotspot_auto_off_summary"/>
+
+        <ListPreference
+            android:key="wifi_tether_security_2"
+            android:title="@string/wifi_security"
+            android:summary="@string/summary_placeholder"
+            android:entries="@array/wifi_tether_security"
+            android:entryValues="@array/wifi_tether_security_values"/>
+
+        <ListPreference
+            android:key="wifi_tether_network_ap_band_2"
+            android:title="@string/wifi_hotspot_ap_band_title"/>
+    </PreferenceCategory>
+
+    <PreferenceCategory
+        android:key="tethering_options_group"
+        android:title="@string/tethering_interface_options"
+        settings:searchable="false">
+        <SwitchPreference
+            android:key="enable_usb_tethering"
+            android:title="@string/usb_tethering_button_text"
+            android:summary="@string/usb_tethering_subtext"
+            settings:controller="com.android.settings.network.UsbTetherPreferenceController"
+            settings:keywords="@string/keywords_hotspot_tethering" />
+
+        <SwitchPreference
+            android:key="enable_bluetooth_tethering_2"
+            android:title="@string/bluetooth_tether_checkbox_text"
+            android:summary="@string/bluetooth_tethering_subtext"
+            settings:controller="com.android.settings.network.BluetoothTetherPreferenceController"
+            settings:keywords="@string/keywords_hotspot_tethering" />
+
+        <SwitchPreference
+            android:key="disable_wifi_tethering"
+            android:title="@string/disable_wifi_hotspot_title"
+            android:summary="@string/summary_placeholder"
+            settings:controller="com.android.settings.network.WifiTetherDisablePreferenceController"
+            settings:keywords="@string/keywords_hotspot_tethering" />
+    </PreferenceCategory>
+
+    <Preference
+        android:key="disabled_on_data_saver_2"
+        android:summary="@string/tether_settings_disabled_on_data_saver"
+        android:selectable="false"
+        settings:searchable="false"
+        settings:allowDividerAbove="true" />
+
+    <com.android.settingslib.widget.FooterPreference
+        android:key="tether_prefs_footer_2"
+        android:selectable="false"
+        settings:searchable="false"/>
+</PreferenceScreen>
diff --git a/res/xml/apn_editor.xml b/res/xml/apn_editor.xml
index 742a436..0c39948 100644
--- a/res/xml/apn_editor.xml
+++ b/res/xml/apn_editor.xml
@@ -148,7 +148,7 @@
         android:key="carrier_enabled"
         android:enabled="false"
         android:summaryOn="@string/carrier_enabled_summaryOn"
-        android:summaryOff="@@string/carrier_enabled_summaryOff"
+        android:summaryOff="@string/carrier_enabled_summaryOff"
         android:persistent="false"
         />
     <MultiSelectListPreference
diff --git a/res/xml/app_and_notification.xml b/res/xml/app_and_notification.xml
index eccb0d1..f75bd86 100644
--- a/res/xml/app_and_notification.xml
+++ b/res/xml/app_and_notification.xml
@@ -46,6 +46,13 @@
         android:layout="@layout/preference_category_no_label"
         android:order="-997"/>
 
+    <Preference
+        android:key="configure_notification_settings"
+        android:title="@string/configure_notification_settings"
+        android:order="-440"
+        android:fragment="com.android.settings.notification.ConfigureNotificationSettings"
+        settings:controller="com.android.settings.notification.ConfigureNotificationPreferenceController"/>
+
     <!-- Notifications (appears before manage_perms), default apps (appears after) -->
     <PreferenceCategory
         android:key="dashboard_tile_placeholder"
diff --git a/res/xml/app_info_settings.xml b/res/xml/app_info_settings.xml
index 435a7ef..a76f0d9 100644
--- a/res/xml/app_info_settings.xml
+++ b/res/xml/app_info_settings.xml
@@ -150,6 +150,12 @@
             android:summary="@string/summary_placeholder"
             settings:controller="com.android.settings.applications.appinfo.ExternalSourceDetailPreferenceController" />
 
+        <Preference
+            android:key="interact_across_profiles"
+            android:title="@string/interact_across_profiles_title"
+            android:summary="@string/summary_placeholder"
+            settings:controller="com.android.settings.applications.specialaccess.interactacrossprofiles.InteractAcrossProfilesDetailsPreferenceController" />
+
     </PreferenceCategory>
 
     <!-- App installer info -->
diff --git a/res/xml/app_notification_settings.xml b/res/xml/app_notification_settings.xml
index 7330f8d..ceb08a2 100644
--- a/res/xml/app_notification_settings.xml
+++ b/res/xml/app_notification_settings.xml
@@ -26,9 +26,17 @@
         android:key="block"
         android:layout="@layout/styled_switch_bar" />
 
-    <com.android.settings.notification.NotificationFooterPreference
+    <com.android.settings.notification.app.NotificationFooterPreference
         android:key="block_desc" />
 
+    <!-- Conversations added here -->
+    <PreferenceCategory
+        android:title="@string/conversations_category_title"
+        android:key="conversations"
+        android:visibility="gone"
+        settings:allowDividerAbove="false"
+        settings:allowDividerBelow="false" />
+
     <!-- Channels/Channel groups added here -->
     <PreferenceCategory
         android:key="channels"
@@ -76,11 +84,11 @@
 
     </PreferenceCategory>
 
-    <com.android.settings.notification.NotificationFooterPreference
+    <com.android.settings.notification.app.NotificationFooterPreference
         android:key="desc"
         android:order="5000" />
 
-    <com.android.settings.notification.NotificationFooterPreference
+    <com.android.settings.notification.app.NotificationFooterPreference
         android:key="deleted"
         android:order="8000" />
 
diff --git a/res/xml/assist_gesture_settings.xml b/res/xml/assist_gesture_settings.xml
index 7cbd483..5f7918f 100644
--- a/res/xml/assist_gesture_settings.xml
+++ b/res/xml/assist_gesture_settings.xml
@@ -18,7 +18,6 @@
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
-    android:key="gesture_assist_settings_page"
     android:title="@string/assist_gesture_title">
 
     <com.android.settings.widget.VideoPreference
diff --git a/res/xml/auto_brightness_detail.xml b/res/xml/auto_brightness_detail.xml
index abf535f..6b304ef 100644
--- a/res/xml/auto_brightness_detail.xml
+++ b/res/xml/auto_brightness_detail.xml
@@ -18,7 +18,6 @@
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
-    android:key="auto_brightness_detail"
     android:title="@string/auto_brightness_title">
 
     <com.android.settings.widget.VideoPreference
@@ -39,4 +38,10 @@
         settings:userRestriction="no_config_brightness"
         settings:allowDividerAbove="true" />
 
-</PreferenceScreen>
\ No newline at end of file
+    <com.android.settingslib.widget.FooterPreference
+        android:key="auto_brightness_footer"
+        android:title="@string/auto_brightness_description"
+        android:selectable="false"
+        settings:searchable="false" />
+
+</PreferenceScreen>
diff --git a/res/xml/available_virtual_keyboard.xml b/res/xml/available_virtual_keyboard.xml
index 9a0b3c6..6be06a2 100644
--- a/res/xml/available_virtual_keyboard.xml
+++ b/res/xml/available_virtual_keyboard.xml
@@ -17,7 +17,6 @@
 
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
-    android:key="available_virtual_keyboard_page"
     android:title="@string/add_virtual_keyboard">
 
-</PreferenceScreen>
\ No newline at end of file
+</PreferenceScreen>
diff --git a/res/xml/battery_saver_settings.xml b/res/xml/battery_saver_settings.xml
index fa02bff..29b82ef 100644
--- a/res/xml/battery_saver_settings.xml
+++ b/res/xml/battery_saver_settings.xml
@@ -17,8 +17,7 @@
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
-    android:title="@string/battery_saver"
-    android:key="battery_saver_page">
+    android:title="@string/battery_saver">
 
     <Preference
         android:key="battery_saver_schedule"
@@ -39,17 +38,16 @@
         android:title="@string/battery_saver"
         android:selectable="false"
         android:summary="@string/battery_saver_turn_on_summary"
+        settings:allowDividerBelow="true"
         settings:textOn="@string/battery_saver_button_turn_on"
         settings:textOff="@string/battery_saver_button_turn_off"
-        settings:platform_slice="true"
-        settings:controller="com.android.settings.fuelgauge.batterysaver.BatterySaverButtonPreferenceController" />
+        settings:controller="com.android.settings.fuelgauge.batterysaver.BatterySaverButtonPreferenceController"/>
 
-    <PreferenceCategory
-        android:key="battery_saver_footer">
-        <com.android.settingslib.widget.FooterPreference
-            android:key="battery_saver_footer_preference"
-            android:title="@*android:string/battery_saver_description"
-            android:selectable="false" />
-    </PreferenceCategory>
+    <com.android.settingslib.widget.FooterPreference
+        android:key="battery_saver_footer_preference"
+        android:selectable="true"
+        android:title="@*android:string/battery_saver_description"
+        settings:allowDividerAbove="true"
+        settings:searchable="false"/>
 
 </PreferenceScreen>
diff --git a/res/xml/billing_cycle.xml b/res/xml/billing_cycle.xml
index 3720240..77f8bc3 100644
--- a/res/xml/billing_cycle.xml
+++ b/res/xml/billing_cycle.xml
@@ -16,7 +16,7 @@
 
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
-    android:key="billing_cycle_settings"
+    xmlns:settings="http://schemas.android.com/apk/res-auto"
     android:title="@string/billing_cycle">
 
     <Preference
@@ -39,4 +39,10 @@
         android:key="data_limit"
         android:title="@string/data_limit" />
 
+    <com.android.settingslib.widget.FooterPreference
+        android:key="billing_cycle_footer"
+        android:title="@string/data_warning_footnote"
+        android:selectable="false"
+        settings:searchable="false"/>
+
 </PreferenceScreen>
diff --git a/res/xml/bluetooth_device_details_fragment.xml b/res/xml/bluetooth_device_details_fragment.xml
index f485c6a..94052b6 100644
--- a/res/xml/bluetooth_device_details_fragment.xml
+++ b/res/xml/bluetooth_device_details_fragment.xml
@@ -47,4 +47,10 @@
     <PreferenceCategory
         android:key="bluetooth_profiles"/>
 
+    <com.android.settingslib.widget.FooterPreference
+        android:key="device_details_footer"
+        android:selectable="false"
+        settings:searchable="false"
+        settings:controller="com.android.settings.bluetooth.BluetoothDetailsMacAddressController"/>
+
 </PreferenceScreen>
\ No newline at end of file
diff --git a/res/xml/bluetooth_screen.xml b/res/xml/bluetooth_screen.xml
index 42f71b3..86dc8a1 100644
--- a/res/xml/bluetooth_screen.xml
+++ b/res/xml/bluetooth_screen.xml
@@ -16,7 +16,6 @@
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
-    android:key="bluetooth_switchbar_screen"
     android:title="@string/bluetooth_settings_title">
 
     <Preference
@@ -34,6 +33,11 @@
         settings:allowDividerAbove="true"
         settings:userRestriction="no_config_bluetooth"
         settings:useAdminDisabledSummary="true"
+        settings:searchable="false"
         settings:controller="com.android.settings.connecteddevice.AddDevicePreferenceController"/>
 
-</PreferenceScreen>
\ No newline at end of file
+    <com.android.settingslib.widget.FooterPreference
+        android:key="bluetooth_screen_footer"
+        android:selectable="false"
+        settings:searchable="false"/>
+</PreferenceScreen>
diff --git a/res/xml/bug_report_handler_settings.xml b/res/xml/bug_report_handler_settings.xml
new file mode 100644
index 0000000..41e8f08
--- /dev/null
+++ b/res/xml/bug_report_handler_settings.xml
@@ -0,0 +1,23 @@
+<?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/bug_report_handler_title"
+    settings:staticPreferenceLocation="append" >
+</PreferenceScreen>
\ No newline at end of file
diff --git a/res/xml/captioning_appearance.xml b/res/xml/captioning_appearance.xml
new file mode 100644
index 0000000..3e0e804
--- /dev/null
+++ b/res/xml/captioning_appearance.xml
@@ -0,0 +1,94 @@
+<?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/captioning_caption_appearance_title">
+
+    <com.android.settingslib.widget.LayoutPreference
+        android:key="caption_preview"
+        android:title="@string/summary_placeholder"
+        android:layout="@layout/captioning_preview"
+        android:selectable="false"
+        settings:searchable="false"/>
+
+    <ListPreference
+        android:entries="@array/captioning_font_size_selector_titles"
+        android:entryValues="@array/captioning_font_size_selector_values"
+        android:key="captioning_font_size"
+        android:summary="%s"
+        android:title="@string/captioning_text_size"/>
+
+    <com.android.settings.accessibility.PresetPreference
+        android:key="captioning_preset"
+        android:title="@string/captioning_preset"/>
+
+    <PreferenceCategory
+        android:key="custom"
+        android:title="@string/captioning_custom_options_title">
+
+        <ListPreference
+            android:entries="@array/captioning_typeface_selector_titles"
+            android:entryValues="@array/captioning_typeface_selector_values"
+            android:key="captioning_typeface"
+            android:summary="%s"
+            android:title="@string/captioning_typeface"/>
+
+        <com.android.settings.accessibility.ColorPreference
+            android:key="captioning_foreground_color"
+            android:title="@string/captioning_foreground_color"/>
+
+        <com.android.settings.accessibility.ColorPreference
+            android:dependency="captioning_foreground_color"
+            android:key="captioning_foreground_opacity"
+            android:title="@string/captioning_foreground_opacity"/>
+
+        <com.android.settings.accessibility.EdgeTypePreference
+            android:key="captioning_edge_type"
+            android:title="@string/captioning_edge_type"/>
+
+        <com.android.settings.accessibility.ColorPreference
+            android:dependency="captioning_edge_type"
+            android:key="captioning_edge_color"
+            android:title="@string/captioning_edge_color"/>
+
+        <com.android.settings.accessibility.ColorPreference
+            android:key="captioning_background_color"
+            android:title="@string/captioning_background_color"/>
+
+        <com.android.settings.accessibility.ColorPreference
+            android:dependency="captioning_background_color"
+            android:key="captioning_background_opacity"
+            android:title="@string/captioning_background_opacity"/>
+
+        <com.android.settings.accessibility.ColorPreference
+            android:key="captioning_window_color"
+            android:title="@string/captioning_window_color"/>
+
+        <com.android.settings.accessibility.ColorPreference
+            android:dependency="captioning_window_color"
+            android:key="captioning_window_opacity"
+            android:title="@string/captioning_window_opacity"/>
+
+    </PreferenceCategory>
+
+    <com.android.settingslib.widget.FooterPreference
+        android:title="@string/accessibility_caption_preference_summary"
+        android:selectable="false"/>
+
+</PreferenceScreen>
diff --git a/res/xml/captioning_more_options.xml b/res/xml/captioning_more_options.xml
new file mode 100644
index 0000000..d4111d2
--- /dev/null
+++ b/res/xml/captioning_more_options.xml
@@ -0,0 +1,32 @@
+<?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/captioning_more_options_title" >
+
+    <com.android.settings.accessibility.LocalePreference
+        android:key="captioning_locale"
+        android:summary="%s"
+        android:title="@string/captioning_locale" />
+
+    <com.android.settingslib.widget.FooterPreference
+        android:title="@string/accessibility_caption_preference_summary"
+        android:selectable="false" />
+
+</PreferenceScreen>
diff --git a/res/xml/captioning_settings.xml b/res/xml/captioning_settings.xml
index d8dabdc..7ae93b9 100644
--- a/res/xml/captioning_settings.xml
+++ b/res/xml/captioning_settings.xml
@@ -15,85 +15,44 @@
      limitations under the License.
 -->
 
-<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
+<PreferenceScreen
+    xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
-    android:fragment="com.android.settings.accessibility.CaptionPropertiesFragment"
-    android:key="captioning_preference_screen"
-    android:title="@string/accessibility_captioning_title" >
+    android:persistent="false"
+    android:title="@string/accessibility_captioning_title">
 
     <com.android.settingslib.widget.LayoutPreference
-        android:key="caption_preview"
+        android:key="captions_preview"
+        android:layout="@layout/accessibility_captions_preview"
+        android:persistent="false"
+        android:selectable="false"
         android:title="@string/summary_placeholder"
-        android:layout="@layout/captioning_preview"
-        settings:searchable="false"/>
+        settings:allowDividerBelow="true"
+        settings:searchable="false" />
 
-    <PreferenceCategory
-        android:key="standard"
-        android:title="@string/captioning_standard_options_title" >
-        <SwitchPreference
-            android:key="captioning_preference_switch"
-            android:title="@string/accessibility_caption_master_switch_title" />
+    <SwitchPreference
+        android:key="captioning_preference_switch"
+        android:persistent="false"
+        android:summary="@string/accessibility_caption_master_switch_summary"
+        android:title="@string/accessibility_caption_master_switch_title"
+        settings:allowDividerAbove="true" />
 
-        <ListPreference
-            android:entries="@array/captioning_font_size_selector_titles"
-            android:entryValues="@array/captioning_font_size_selector_values"
-            android:key="captioning_font_size"
-            android:summary="%s"
-            android:title="@string/captioning_text_size" />
+    <Preference
+        android:fragment="com.android.settings.accessibility.CaptionAppearanceFragment"
+        android:key="captioning_caption_appearance"
+        android:persistent="false"
+        android:title="@string/captioning_caption_appearance_title" />
 
-        <com.android.settings.accessibility.PresetPreference
-            android:key="captioning_preset"
-            android:title="@string/captioning_preset" />
-
-        <com.android.settings.accessibility.LocalePreference
-            android:key="captioning_locale"
-            android:summary="%s"
-            android:title="@string/captioning_locale" />
-    </PreferenceCategory>
-    <PreferenceCategory
-        android:key="custom"
-        android:title="@string/captioning_custom_options_title" >
-        <ListPreference
-            android:entries="@array/captioning_typeface_selector_titles"
-            android:entryValues="@array/captioning_typeface_selector_values"
-            android:key="captioning_typeface"
-            android:summary="%s"
-            android:title="@string/captioning_typeface" />
-
-        <com.android.settings.accessibility.ColorPreference
-            android:key="captioning_foreground_color"
-            android:title="@string/captioning_foreground_color" />
-        <com.android.settings.accessibility.ColorPreference
-            android:dependency="captioning_foreground_color"
-            android:key="captioning_foreground_opacity"
-            android:title="@string/captioning_foreground_opacity" />
-
-        <com.android.settings.accessibility.EdgeTypePreference
-            android:key="captioning_edge_type"
-            android:title="@string/captioning_edge_type" />
-
-        <com.android.settings.accessibility.ColorPreference
-            android:dependency="captioning_edge_type"
-            android:key="captioning_edge_color"
-            android:title="@string/captioning_edge_color" />
-        <com.android.settings.accessibility.ColorPreference
-            android:key="captioning_background_color"
-            android:title="@string/captioning_background_color" />
-        <com.android.settings.accessibility.ColorPreference
-            android:dependency="captioning_background_color"
-            android:key="captioning_background_opacity"
-            android:title="@string/captioning_background_opacity" />
-        <com.android.settings.accessibility.ColorPreference
-            android:key="captioning_window_color"
-            android:title="@string/captioning_window_color" />
-        <com.android.settings.accessibility.ColorPreference
-            android:dependency="captioning_window_color"
-            android:key="captioning_window_opacity"
-            android:title="@string/captioning_window_opacity" />
-    </PreferenceCategory>
+    <Preference
+        android:fragment="com.android.settings.accessibility.CaptionMoreOptionsFragment"
+        android:key="captioning_more_options"
+        android:persistent="false"
+        android:title="@string/captioning_more_options_title" />
 
     <com.android.settingslib.widget.FooterPreference
+        android:persistent="false"
+        android:selectable="false"
         android:title="@string/accessibility_caption_preference_summary"
-        android:selectable="false" />
+        settings:searchable="false"/>
 
 </PreferenceScreen>
diff --git a/res/xml/channel_notification_settings.xml b/res/xml/channel_notification_settings.xml
index 267281f..1117921 100644
--- a/res/xml/channel_notification_settings.xml
+++ b/res/xml/channel_notification_settings.xml
@@ -38,7 +38,7 @@
         android:summary="@string/allow_interruption_summary" />
 
     <!-- Importance -->
-    <com.android.settings.notification.ImportancePreference
+    <com.android.settings.notification.app.ImportancePreference
         android:key="importance"
         android:order="4"
         android:title="@string/notification_importance_title"
@@ -58,13 +58,21 @@
         android:title="@string/notification_importance_high_title"
         android:summary="@string/notification_channel_summary_high"/>
 
+    <Preference
+        android:key="convo_promote"
+        android:order="7"
+        android:icon="@drawable/ic_promote_conversation"
+        android:title="@string/promote_conversation_title"
+        android:summary="@string/promote_conversation_summary"
+        settings:allowDividerAbove="true"/>
+
     <PreferenceCategory
         android:key="channel_advanced"
         android:order="50"
         settings:initialExpandedChildrenCount="0">
 
         <!-- Default ringtone -->
-        <com.android.settings.notification.NotificationSoundPreference
+        <com.android.settings.notification.app.NotificationSoundPreference
             android:key="ringtone"
             android:title="@string/notification_channel_sound_title"
             android:dialogTitle="@string/notification_channel_sound_title"
@@ -121,11 +129,11 @@
             settings:allowDividerAbove="true"/>
     </PreferenceCategory>
 
-    <com.android.settings.notification.NotificationFooterPreference
+    <com.android.settings.notification.app.NotificationFooterPreference
         android:key="desc"
         android:order="100"/>
 
-    <com.android.settings.notification.NotificationFooterPreference
+    <com.android.settings.notification.app.NotificationFooterPreference
         android:key="block_desc"
         android:order="110"
         settings:allowDividerAbove="false"/>
diff --git a/res/xml/choose_network.xml b/res/xml/choose_network.xml
index 97ea9be..4ae1ffb 100644
--- a/res/xml/choose_network.xml
+++ b/res/xml/choose_network.xml
@@ -20,9 +20,6 @@
     android:title="@string/choose_network_title">
 
     <PreferenceCategory
-        android:key="connected_network_operator_preference"/>
-
-    <PreferenceCategory
         android:key="network_operators_preference"/>
 
-</PreferenceScreen>
\ No newline at end of file
+</PreferenceScreen>
diff --git a/res/xml/color_mode_settings.xml b/res/xml/color_mode_settings.xml
index b7f58d2..6044141 100644
--- a/res/xml/color_mode_settings.xml
+++ b/res/xml/color_mode_settings.xml
@@ -17,5 +17,4 @@
 
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
-    android:key="color_mode_settings_screen"
     android:title="@string/color_mode_title" />
diff --git a/res/xml/configure_notification_settings.xml b/res/xml/configure_notification_settings.xml
index 89464fb..4078e82 100644
--- a/res/xml/configure_notification_settings.xml
+++ b/res/xml/configure_notification_settings.xml
@@ -16,8 +16,7 @@
 
 <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
                   xmlns:settings="http://schemas.android.com/apk/res-auto"
-                  android:title="@string/configure_notification_settings"
-                  android:key="configure_notification_settings">
+                  android:title="@string/configure_notification_settings">
 
     <com.android.settings.widget.VideoPreference
         android:key="notification_model_illustration"
@@ -43,7 +42,8 @@
             android:key="all_notifications"
             android:title="@string/notifications_title"
             android:fragment="com.android.settings.applications.manageapplications.ManageApplications"
-            android:order="4">
+            android:order="4"
+            settings:searchable="false">
             <extra
                 android:name="classname"
                 android:value="com.android.settings.Settings$NotificationAppListActivity"/>
@@ -51,6 +51,16 @@
     </PreferenceCategory>
 
     <PreferenceCategory
+        android:key="conversations"
+        android:title="@string/conversations_category_title"
+        android:order="5">
+        <Preference
+            android:key="manage_conversations"
+            android:title="@string/manage_conversations"
+            android:fragment="com.android.settings.notification.app.ConversationListSettings"/>
+    </PreferenceCategory>
+
+    <PreferenceCategory
         android:key="configure_notifications_lock"
         android:title="@string/lock_screen_notifications_title"
         android:order="10">
@@ -58,6 +68,7 @@
         <com.android.settings.RestrictedListPreference
             android:key="lock_screen_notifications"
             android:title="@string/lock_screen_notifs_title"
+            android:singleLineTitle="false"
             android:summary="@string/summary_placeholder" />
 
         <SwitchPreference
@@ -87,6 +98,17 @@
         settings:initialExpandedChildrenCount="0">
 
         <SwitchPreference
+            android:key="notification_history"
+            android:title="@string/notification_history"
+            android:summary="@string/notification_history_summary"
+            settings:controller="com.android.settings.notification.NotificationHistoryPreferenceController"/>
+
+        <SwitchPreference
+            android:key="silent_icons"
+            android:title="@string/silent_notifications_status_bar"
+            settings:controller="com.android.settings.notification.SilentStatusBarPreferenceController"/>
+
+        <SwitchPreference
             android:key="show_snooze_options"
             android:title="@string/snooze_options_title"
             settings:controller="com.android.settings.notification.SnoozeNotificationPreferenceController" />
@@ -115,7 +137,13 @@
             android:title="@string/notification_ringtone_title"
             android:dialogTitle="@string/notification_ringtone_title"
             android:summary="@string/summary_placeholder"
-            android:ringtoneType="notification"/>
+            android:ringtoneType="notification"
+            settings:searchable="false"/>
+
+        <SwitchPreference
+            android:key="notification_people_strip"
+            android:title="@string/notification_people_strip_title"
+            settings:controller="com.android.settings.notification.NotificationPeopleStripPreferenceController"/>
 
         <Preference
             android:key="gesture_swipe_down_fingerprint_notifications"
@@ -127,8 +155,8 @@
             android:key="zen_mode_notifications"
             android:title="@string/zen_mode_settings_title"
             settings:useAdminDisabledSummary="true"
-            android:fragment="com.android.settings.notification.ZenModeSettings"
-            settings:controller="com.android.settings.notification.ZenModePreferenceController"
+            android:fragment="com.android.settings.notification.zen.ZenModeSettings"
+            settings:controller="com.android.settings.notification.zen.ZenModePreferenceController"
             settings:allowDividerAbove="false"/>
     </PreferenceCategory>
 </PreferenceScreen>
diff --git a/res/xml/connected_devices.xml b/res/xml/connected_devices.xml
index 7acdc79..a1736b2 100644
--- a/res/xml/connected_devices.xml
+++ b/res/xml/connected_devices.xml
@@ -28,12 +28,12 @@
 
     <PreferenceCategory
         android:key="available_device_list"
-        android:title="@string/connected_device_available_media_title"
+        android:title="@string/connected_device_media_device_title"
         settings:controller="com.android.settings.connecteddevice.AvailableMediaDeviceGroupController"/>
 
     <PreferenceCategory
         android:key="connected_device_list"
-        android:title="@string/connected_device_connected_title"
+        android:title="@string/connected_device_other_device_title"
         settings:controller="com.android.settings.connecteddevice.ConnectedDeviceGroupController"/>
 
     <com.android.settingslib.RestrictedPreference
@@ -57,6 +57,7 @@
             android:title="@string/previous_connected_see_all"
             android:icon="@drawable/ic_chevron_right_24dp"
             android:order="10"
+            settings:searchable="false"
             android:fragment="com.android.settings.connecteddevice.PreviouslyConnectedDeviceDashboardFragment"/>
     </PreferenceCategory>
 
@@ -67,4 +68,11 @@
         settings:allowDividerAbove="true"
         settings:controller="com.android.settings.connecteddevice.AdvancedConnectedDeviceController"/>
 
+    <com.android.settingslib.widget.FooterPreference
+        android:key="discoverable_footer"
+        android:title="@string/bluetooth_off_footer"
+        android:selectable="false"
+        settings:controller="com.android.settings.connecteddevice.DiscoverableFooterPreferenceController">
+    </com.android.settingslib.widget.FooterPreference>
+
 </PreferenceScreen>
diff --git a/res/xml/connected_devices_advanced.xml b/res/xml/connected_devices_advanced.xml
index ab8967d..958af7f 100644
--- a/res/xml/connected_devices_advanced.xml
+++ b/res/xml/connected_devices_advanced.xml
@@ -17,24 +17,31 @@
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
-    android:key="connected_devices_advanced_screen"
     android:title="@string/connected_device_connections_title">
 
     <Preference
         android:fragment="com.android.settings.connecteddevice.BluetoothDashboardFragment"
-        android:key="bluetooth_settings"
+        android:key="bluetooth_switchbar_screen"
         android:title="@string/bluetooth_settings_title"
         android:icon="@*android:drawable/ic_settings_bluetooth"
-        android:order="-9"
-        settings:searchable="false"/>
+        android:order="-9"/>
 
-    <SwitchPreference
-        android:key="toggle_nfc"
+    <Preference
+        android:fragment="com.android.settings.connecteddevice.NfcAndPaymentFragment"
+        android:key="nfc_and_payment_settings"
         android:title="@string/nfc_quick_toggle_title"
         android:icon="@drawable/ic_nfc"
-        android:summary="@string/nfc_quick_toggle_summary"
-        settings:controller="com.android.settings.nfc.NfcPreferenceController"
-        android:order="-7"/>
+        android:order="-7"
+        settings:searchable="false"
+        settings:controller="com.android.settings.connecteddevice.NfcAndPaymentFragmentController"/>
+
+    <Preference
+        android:fragment="com.android.settings.wfd.WifiDisplaySettings"
+        android:key="wifi_display_settings"
+        android:title="@string/wifi_display_settings_title"
+        android:icon="@drawable/ic_cast_24dp"
+        android:order="-6"
+        settings:controller="com.android.settings.wfd.WifiDisplayPreferenceController"/>
 
     <com.android.settingslib.RestrictedPreference
         android:fragment="com.android.settings.nfc.AndroidBeam"
@@ -42,15 +49,7 @@
         android:title="@string/android_beam_settings_title"
         settings:controller="com.android.settings.nfc.AndroidBeamPreferenceController"
         android:icon="@drawable/ic_android"
-        android:order="-6"/>
-
-    <SwitchPreference
-        android:key="nfc_secure_settings"
-        android:title="@string/nfc_secure_settings_title"
-        settings:controller="com.android.settings.nfc.SecureNfcPreferenceController"
-        android:icon="@drawable/ic_nfc"
-        android:summary="@string/nfc_secure_toggle_summary"
-        android:order="-7"/>
+        android:order="-5"/>
 
     <com.android.settingslib.RestrictedPreference
         android:key="connected_device_printing"
@@ -58,8 +57,7 @@
         android:summary="@string/summary_placeholder"
         android:icon="@*android:drawable/ic_settings_print"
         android:fragment="com.android.settings.print.PrintSettingsFragment"
-        android:order="-3"
-        settings:searchable="false"/>
+        android:order="-3"/>
 
     <Preference
         android:key="bt_received_files"
diff --git a/res/xml/conversation_list_settings.xml b/res/xml/conversation_list_settings.xml
new file mode 100644
index 0000000..5b9f0c4
--- /dev/null
+++ b/res/xml/conversation_list_settings.xml
@@ -0,0 +1,46 @@
+<?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="conversation_list">
+
+    <PreferenceCategory
+        android:title="@string/important_conversations"
+        android:key="important_conversations"
+        android:visibility="gone"
+        settings:allowDividerAbove="false"
+        settings:allowDividerBelow="true" >
+        <Preference
+            android:key="behavior"
+            android:summary="@string/important_conversation_behavior_summary"/>
+        <!-- Important conversations added here -->
+        <PreferenceCategory
+            android:key="important_conversations_list"
+            settings:allowDividerAbove="false"
+            settings:allowDividerBelow="false" >
+        </PreferenceCategory>
+    </PreferenceCategory>
+
+
+    <!--Other conversations added here -->
+    <PreferenceCategory
+        android:title="@string/all_conversations"
+        android:key="all_conversations"
+        settings:allowDividerAbove="true"
+        settings:allowDividerBelow="false" />
+
+</PreferenceScreen>
diff --git a/res/xml/conversation_notification_settings.xml b/res/xml/conversation_notification_settings.xml
new file mode 100644
index 0000000..d0db428
--- /dev/null
+++ b/res/xml/conversation_notification_settings.xml
@@ -0,0 +1,118 @@
+<?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="conversation_settings"
+    android:title="" >
+
+    <com.android.settingslib.widget.LayoutPreference
+        android:key="pref_app_header"
+        android:layout="@layout/settings_entity_header"
+        settings:allowDividerBelow="true"/>
+
+    <!-- important conversation -->
+    <com.android.settingslib.RestrictedSwitchPreference
+        android:key="important"
+        android:title="@string/notification_conversation_important"
+        android:icon="@drawable/ic_important_outline"
+        settings:restrictedSwitchSummary="@string/enabled_by_admin"
+        settings:allowDividerAbove="true"/>
+
+    <!-- silence -->
+    <com.android.settingslib.RestrictedSwitchPreference
+        android:key="alerting"
+        android:icon="@drawable/ic_notification_alert"
+        android:title="@string/notification_alert_title"
+        android:summary="@string/notification_channel_summary_default"/>
+
+    <!-- bubbles -->
+    <com.android.settingslib.RestrictedSwitchPreference
+        android:key="bubble_pref"
+        android:title="@string/notification_bubbles_title"
+        android:summary="@string/bubbles_conversation_toggle_summary"
+        android:icon="@drawable/ic_create_bubble"
+        settings:restrictedSwitchSummary="@string/enabled_by_admin" />
+
+    <!-- peeking -->
+    <com.android.settingslib.RestrictedSwitchPreference
+        android:key="high_importance"
+        android:title="@string/notification_importance_high_title"
+        android:summary="@string/notification_channel_summary_high"/>
+
+    <!-- Visibility Override -->
+    <com.android.settings.RestrictedListPreference
+        android:key="visibility_override"
+        android:icon="@drawable/ic_lock"
+        android:title="@string/app_notification_visibility_override_title"/>
+
+    <!-- Show badge -->
+    <com.android.settingslib.RestrictedSwitchPreference
+        android:key="badge"
+        android:title="@string/notification_channel_badge_title"
+        settings:useAdditionalSummary="true"
+        settings:restrictedSwitchSummary="@string/enabled_by_admin"/>
+
+    <!-- Lights -->
+    <com.android.settingslib.RestrictedSwitchPreference
+        android:key="lights"
+        android:title="@string/notification_show_lights_title"
+        settings:useAdditionalSummary="true"/>
+
+    <!-- Vibration -->
+    <com.android.settingslib.RestrictedSwitchPreference
+        android:key="vibrate"
+        android:icon="@drawable/ic_volume_ringer_vibrate"
+        android:title="@string/notification_vibrate_title"
+        settings:useAdditionalSummary="true" />
+
+    <!-- ringtone -->
+    <com.android.settings.notification.app.NotificationSoundPreference
+        android:key="ringtone"
+        android:title="@string/notification_channel_sound_title"
+        android:dialogTitle="@string/notification_channel_sound_title"
+        android:icon="@drawable/ic_media_stream"
+        android:showSilent="true"
+        android:showDefault="true"/>
+
+    <!-- demote -->
+    <Preference
+        android:key="demote"
+        android:icon="@drawable/ic_demote_conversation"
+        android:title="@string/demote_conversation_title"
+        android:summary="@string/demote_conversation_summary"
+        settings:allowDividerAbove="true"/>
+
+    <Preference
+        android:key="add_to_home"
+        android:title="@string/notification_conversation_add_to_home"
+        android:icon="@drawable/ic_add_to_home"
+        settings:allowDividerAbove="true"/>
+
+    <Preference
+        android:key="app_link"
+        android:title="@string/app_settings_link"
+        settings:allowDividerAbove="true"/>
+
+    <com.android.settings.notification.app.NotificationFooterPreference
+        android:key="desc" />
+
+    <com.android.settings.notification.app.NotificationFooterPreference
+        android:key="block_desc"
+        settings:allowDividerAbove="false"/>
+
+</PreferenceScreen>
diff --git a/res/xml/dark_mode_settings.xml b/res/xml/dark_mode_settings.xml
index 9247a0c..a5f03d2 100644
--- a/res/xml/dark_mode_settings.xml
+++ b/res/xml/dark_mode_settings.xml
@@ -18,7 +18,6 @@
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
     android:title="@string/dark_ui_mode"
-    android:key="dark_ui_mode_screen"
     settings:keywords="@string/keywords_dark_ui_mode">
 
     <DropDownPreference
@@ -30,6 +29,16 @@
         settings:controller="com.android.settings.display.darkmode.DarkModeScheduleSelectorController"
         settings:keywords="@string/keywords_dark_ui_mode"/>
 
+    <Preference
+        android:key="dark_theme_start_time"
+        android:title="@string/night_display_start_time_title"
+        settings:searchable="false"/>
+
+    <Preference
+        android:key="dark_theme_end_time"
+        android:title="@string/night_display_end_time_title"
+        settings:searchable="false"/>
+
     <com.android.settingslib.widget.LayoutPreference
         android:key="dark_ui_activated"
         android:title="@string/dark_ui_title"
@@ -46,4 +55,4 @@
             settings:searchable="false"
             settings:allowDividerAbove="true"/>
 
-</PreferenceScreen>
\ No newline at end of file
+</PreferenceScreen>
diff --git a/res/xml/dark_ui_settings.xml b/res/xml/dark_ui_settings.xml
index 1f11eba..8932670 100644
--- a/res/xml/dark_ui_settings.xml
+++ b/res/xml/dark_ui_settings.xml
@@ -21,4 +21,4 @@
     android:key="dark_ui_mode_screen"
     settings:staticPreferenceLocation="append"
     settings:keywords="@string/keywords_dark_ui_mode">
-</PreferenceScreen >
+</PreferenceScreen >
\ No newline at end of file
diff --git a/res/xml/data_saver.xml b/res/xml/data_saver.xml
index 19944e2..3816f26 100644
--- a/res/xml/data_saver.xml
+++ b/res/xml/data_saver.xml
@@ -17,7 +17,6 @@
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
-    android:key="data_saver_screen"
     android:title="@string/data_saver_title">
 
     <Preference
@@ -25,6 +24,13 @@
         android:title="@string/unrestricted_data_saver"
         android:summary="@string/summary_two_lines_placeholder"
         android:fragment="com.android.settings.datausage.UnrestrictedDataAccess"
+        settings:searchable="false"
         settings:controller="com.android.settings.applications.specialaccess.DataSaverController" />
 
+    <com.android.settingslib.widget.FooterPreference
+        android:key="data_saver_footer"
+        android:title="@*android:string/data_saver_description"
+        android:selectable="false"
+        settings:searchable="false"/>
+
 </PreferenceScreen>
diff --git a/res/xml/date_time_prefs.xml b/res/xml/date_time_prefs.xml
index 2d5b24d..20fac45 100644
--- a/res/xml/date_time_prefs.xml
+++ b/res/xml/date_time_prefs.xml
@@ -17,48 +17,40 @@
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
-    android:key="date_time_settings_screen"
     android:title="@string/date_and_time"
     settings:keywords="@string/keywords_date_and_time">
 
-    <PreferenceCategory
-        android:key="date_time_preference_category"
-        android:layout="@layout/preference_category_no_label">
-        <com.android.settingslib.RestrictedSwitchPreference
-            android:key="auto_time"
-            android:title="@string/date_time_auto"
-            settings:useAdditionalSummary="true"
-            settings:userRestriction="no_config_date_time" />
+    <com.android.settingslib.RestrictedSwitchPreference
+        android:key="auto_time"
+        android:title="@string/date_time_auto"
+        settings:useAdditionalSummary="true"
+        settings:userRestriction="no_config_date_time"/>
 
-        <com.android.settingslib.RestrictedPreference
-            android:key="date"
-            android:title="@string/date_time_set_date_title"
-            android:summary="@string/summary_placeholder"
-            settings:userRestriction="no_config_date_time" />
+    <com.android.settingslib.RestrictedPreference
+        android:key="date"
+        android:title="@string/date_time_set_date_title"
+        android:summary="@string/summary_placeholder"
+        settings:userRestriction="no_config_date_time"/>
 
-        <com.android.settingslib.RestrictedPreference
-            android:key="time"
-            android:title="@string/date_time_set_time_title"
-            android:summary="@string/summary_placeholder"
-            settings:userRestriction="no_config_date_time" />
-    </PreferenceCategory>
+    <com.android.settingslib.RestrictedPreference
+        android:key="time"
+        android:title="@string/date_time_set_time_title"
+        android:summary="@string/summary_placeholder"
+        settings:userRestriction="no_config_date_time"/>
 
-    <PreferenceCategory
-        android:key="time_zone_preference_category"
-        android:layout="@layout/preference_category_no_label">
-        <com.android.settingslib.RestrictedSwitchPreference
-            android:key="auto_zone"
-            android:title="@string/zone_auto_title"
-            settings:userRestriction="no_config_date_time" />
+    <com.android.settingslib.RestrictedSwitchPreference
+        android:key="auto_zone"
+        android:title="@string/zone_auto_title"
+        settings:allowDividerAbove="true"
+        settings:userRestriction="no_config_date_time"/>
 
-        <com.android.settingslib.RestrictedPreference
-            android:key="timezone"
-            android:title="@string/date_time_set_timezone_title"
-            android:summary="@string/summary_placeholder"
-            android:fragment="com.android.settings.datetime.timezone.TimeZoneSettings"
-            settings:userRestriction="no_config_date_time"
-            settings:keywords="@string/keywords_time_zone"/>
-    </PreferenceCategory>
+    <com.android.settingslib.RestrictedPreference
+        android:key="timezone"
+        android:title="@string/date_time_set_timezone_title"
+        android:summary="@string/summary_placeholder"
+        android:fragment="com.android.settings.datetime.timezone.TimeZoneSettings"
+        settings:userRestriction="no_config_date_time"
+        settings:keywords="@string/keywords_time_zone"/>
 
     <PreferenceCategory
         android:key="time_format_preference_category"
diff --git a/res/xml/default_autofill_picker_settings.xml b/res/xml/default_autofill_picker_settings.xml
index da72b43..2aa39e4 100644
--- a/res/xml/default_autofill_picker_settings.xml
+++ b/res/xml/default_autofill_picker_settings.xml
@@ -26,6 +26,7 @@
       android:key="default_autofill_main"
       android:title="@string/autofill_app"
       android:fragment="com.android.settings.applications.defaultapps.DefaultAutofillPicker"
+      settings:searchable="false"
       settings:keywords="@string/autofill_keywords">
     <extra android:name="for_work" android:value="false" />
   </com.android.settings.widget.GearPreference>
diff --git a/res/xml/development_settings.xml b/res/xml/development_settings.xml
index 7cf52fa..b4d0bba 100644
--- a/res/xml/development_settings.xml
+++ b/res/xml/development_settings.xml
@@ -36,6 +36,11 @@
             android:dialogTitle="@*android:string/bugreport_title" />
 
         <Preference
+            android:key="bug_report_handler"
+            android:title="@string/bug_report_handler_title"
+            android:fragment="com.android.settings.bugreporthandler.BugReportHandlerPicker" />
+
+        <Preference
             android:key="system_server_heap_dump"
             android:title="@string/capture_system_heap_dump_title" />
 
@@ -108,6 +113,9 @@
             android:title="@string/ota_disable_automatic_update"
             android:summary="@string/ota_disable_automatic_update_summary" />
 
+        <Preference android:key="dsu_loader"
+                    android:title="@string/dsu_loader_title" />
+
         <Preference
             android:key="demo_mode"
             android:title="@string/demo_mode">
@@ -117,19 +125,7 @@
         <Preference
             android:key="quick_settings_tiles"
             android:title="@string/quick_settings_developer_tiles"
-            android:fragment="com.android.settings.development.qstile.DevelopmentTileConfigFragment"
-            settings:searchable="false" />
-
-    <!-- Configure trust agent behavior -->
-    <SwitchPreference
-        android:key="security_setting_trust_agents_extend_unlock"
-        android:title="@string/trust_agents_extend_unlock_title"
-        android:summary="@string/trust_agents_extend_unlock_summary" />
-
-    <SwitchPreference
-        android:key="security_setting_trust_lost_locks_screen"
-        android:title="@string/trust_lost_locks_screen_title"
-        android:summary="@string/trust_lost_locks_screen_summary" />
+            android:fragment="com.android.settings.development.qstile.DevelopmentTileConfigFragment" />
     </PreferenceCategory>
 
     <PreferenceCategory
@@ -145,6 +141,13 @@
         <Preference android:key="clear_adb_keys"
                     android:title="@string/clear_adb_keys" />
 
+        <com.android.settings.widget.MasterSwitchPreference
+            android:fragment="com.android.settings.development.WirelessDebuggingFragment"
+            android:key="toggle_adb_wireless"
+            android:title="@string/enable_adb_wireless"
+            android:summary="@string/enable_adb_wireless_summary"
+            settings:keywords="@string/keywords_adb_wireless" />
+
         <SwitchPreference
             android:key="enable_terminal"
             android:title="@string/enable_terminal_title"
@@ -156,6 +159,11 @@
             android:summary="@string/bugreport_in_power_summary" />
 
         <SwitchPreference
+            android:key="enable_verbose_vendor_logging"
+            android:title="@string/enable_verbose_vendor_logging"
+            android:summary="@string/enable_verbose_vendor_logging_summary" />
+
+        <SwitchPreference
             android:key="automatic_system_server_heap_dumps"
             android:title="@string/automatic_system_heap_dump_title"
             android:summary="@string/automatic_system_heap_dump_summary" />
@@ -211,8 +219,7 @@
         <Preference
             android:key="feature_flags_dashboard"
             android:title="@string/feature_flags_dashboard_title"
-            android:fragment="com.android.settings.development.featureflags.FeatureFlagsDashboard"
-            settings:searchable="false" />
+            android:fragment="com.android.settings.development.featureflags.FeatureFlagsDashboard" />
 
         <SwitchPreference
             android:key="enable_gpu_debug_layers"
@@ -220,11 +227,22 @@
             android:summary="@string/enable_gpu_debug_layers_summary" />
 
         <Preference
-            android:key="game_driver_dashboard"
-            android:title="@string/game_driver_dashboard_title"
-            android:summary="@string/game_driver_dashboard_summary"
-            android:fragment="com.android.settings.development.gamedriver.GameDriverDashboard"
-            settings:searchable="false" />
+            android:key="graphics_driver_dashboard"
+            android:title="@string/graphics_driver_dashboard_title"
+            android:summary="@string/graphics_driver_dashboard_summary"
+            android:fragment="com.android.settings.development.graphicsdriver.GraphicsDriverDashboard" />
+
+        <Preference
+            android:key="platform_compat_dashboard"
+            android:title="@string/platform_compat_dashboard_title"
+            android:summary="@string/platform_compat_dashboard_summary"
+            android:fragment="com.android.settings.development.compat.PlatformCompatDashboard"
+            />
+
+        <SwitchPreference
+            android:key="show_refresh_rate"
+            android:title="@string/show_refresh_rate"
+            android:summary="@string/show_refresh_rate_summary" />
 
     </PreferenceCategory>
 
@@ -258,6 +276,11 @@
             android:summary="@string/mobile_data_always_on_summary" />
 
         <SwitchPreference
+            android:key="enhanced_connectivity"
+            android:title="@string/enhanced_connectivity"
+            android:summary="@string/enhanced_connectivity_summary" />
+
+        <SwitchPreference
             android:key="tethering_hardware_offload"
             android:title="@string/tethering_hardware_offload"
             android:summary="@string/tethering_hardware_offload_summary" />
@@ -279,6 +302,11 @@
             android:summary="@string/bluetooth_disable_absolute_volume_summary" />
 
         <SwitchPreference
+            android:key="bluetooth_gabeldorsche_enable"
+            android:title="@string/bluetooth_enable_gabeldorsche"
+            android:summary="@string/bluetooth_enable_gabeldorsche_summary" />
+
+        <SwitchPreference
             android:key="bluetooth_disable_a2dp_hw_offload"
             android:title="@string/bluetooth_disable_a2dp_hw_offload" />
 
@@ -290,39 +318,55 @@
             android:entryValues="@array/bluetooth_avrcp_version_values" />
 
         <ListPreference
-            android:key="bluetooth_select_a2dp_codec"
+            android:key="bluetooth_select_map_version"
+            android:title="@string/bluetooth_select_map_version_string"
+            android:dialogTitle="@string/bluetooth_select_map_version_dialog_title"
+            android:entries="@array/bluetooth_map_versions"
+            android:entryValues="@array/bluetooth_map_version_values" />
+
+        <SwitchPreference
+            android:key="bluetooth_hd_audio_settings"
+            android:title="@string/bluetooth_profile_a2dp_high_quality_unknown_codec"/>
+
+        <com.android.settings.development.bluetooth.BluetoothCodecDialogPreference
+            android:key="bluetooth_audio_codec_settings"
             android:title="@string/bluetooth_select_a2dp_codec_type"
             android:dialogTitle="@string/bluetooth_select_a2dp_codec_type_dialog_title"
-            android:entries="@array/bluetooth_a2dp_codec_titles"
-            android:entryValues="@array/bluetooth_a2dp_codec_values" />
+            android:dialogLayout="@layout/bluetooth_audio_codec_dialog"
+            android:positiveButtonText=""
+            android:negativeButtonText="@string/dlg_ok"/>
 
-        <ListPreference
-            android:key="bluetooth_select_a2dp_sample_rate"
+        <com.android.settings.development.bluetooth.BluetoothSampleRateDialogPreference
+            android:key="bluetooth_sample_rate_settings"
             android:title="@string/bluetooth_select_a2dp_codec_sample_rate"
             android:dialogTitle="@string/bluetooth_select_a2dp_codec_sample_rate_dialog_title"
-            android:entries="@array/bluetooth_a2dp_codec_sample_rate_titles"
-            android:entryValues="@array/bluetooth_a2dp_codec_sample_rate_values" />
+            android:dialogLayout="@layout/bluetooth_audio_sample_rate_dialog"
+            android:positiveButtonText=""
+            android:negativeButtonText="@string/dlg_ok"/>
 
-        <ListPreference
-            android:key="bluetooth_select_a2dp_bits_per_sample"
+        <com.android.settings.development.bluetooth.BluetoothBitPerSampleDialogPreference
+            android:key="bluetooth_bit_per_sample_settings"
             android:title="@string/bluetooth_select_a2dp_codec_bits_per_sample"
             android:dialogTitle="@string/bluetooth_select_a2dp_codec_bits_per_sample_dialog_title"
-            android:entries="@array/bluetooth_a2dp_codec_bits_per_sample_titles"
-            android:entryValues="@array/bluetooth_a2dp_codec_bits_per_sample_values" />
+            android:dialogLayout="@layout/bluetooth_audio_bit_per_sample_dialog"
+            android:positiveButtonText=""
+            android:negativeButtonText="@string/dlg_ok"/>
 
-        <ListPreference
-            android:key="bluetooth_select_a2dp_channel_mode"
+        <com.android.settings.development.bluetooth.BluetoothChannelModeDialogPreference
+            android:key="bluetooth_channel_mode_settings"
             android:title="@string/bluetooth_select_a2dp_codec_channel_mode"
             android:dialogTitle="@string/bluetooth_select_a2dp_codec_channel_mode_dialog_title"
-            android:entries="@array/bluetooth_a2dp_codec_channel_mode_titles"
-            android:entryValues="@array/bluetooth_a2dp_codec_channel_mode_values" />
+            android:dialogLayout="@layout/bluetooth_audio_channel_mode_dialog"
+            android:positiveButtonText=""
+            android:negativeButtonText="@string/dlg_ok"/>
 
-        <ListPreference
-            android:key="bluetooth_select_a2dp_ldac_playback_quality"
+        <com.android.settings.development.bluetooth.BluetoothQualityDialogPreference
+            android:key="bluetooth_a2dp_ldac_playback_quality"
             android:title="@string/bluetooth_select_a2dp_codec_ldac_playback_quality"
             android:dialogTitle="@string/bluetooth_select_a2dp_codec_ldac_playback_quality_dialog_title"
-            android:entries="@array/bluetooth_a2dp_codec_ldac_playback_quality_titles"
-            android:entryValues="@array/bluetooth_a2dp_codec_ldac_playback_quality_values" />
+            android:dialogLayout="@layout/bluetooth_audio_quality_dialog"
+            android:positiveButtonText=""
+            android:negativeButtonText="@string/dlg_ok"/>
 
         <ListPreference
             android:key="bluetooth_max_connected_audio_devices"
@@ -438,6 +482,11 @@
             android:summary="@string/hwui_force_dark_summary" />
 
         <SwitchPreference
+            android:key="enable_blurs_on_windows"
+            android:title="@string/enable_blurs_on_windows_title"
+            android:summary="@string/enable_blurs_on_windows_summary" />
+
+        <SwitchPreference
             android:key="force_msaa"
             android:title="@string/force_msaa"
             android:summary="@string/force_msaa_summary" />
@@ -482,7 +531,8 @@
             android:key="track_frame_time"
             android:title="@string/track_frame_time"
             android:entries="@array/track_frame_time_entries"
-            android:entryValues="@array/track_frame_time_values" />
+            android:entryValues="@array/track_frame_time_values"
+            settings:keywords="@string/track_frame_time_keywords" />
 
     </PreferenceCategory>
 
@@ -527,6 +577,11 @@
             android:title="@string/asst_capability_prioritizer_title"
             settings:controller="com.android.settings.notification.AssistantCapabilityPreferenceController" />
 
+        <SwitchPreference
+            android:key="asst_capability_ranking"
+            android:title="@string/asst_capability_ranking_title"
+            settings:controller="com.android.settings.notification.AssistantCapabilityPreferenceController" />
+
         <Preference
             android:key="inactive_apps"
             android:title="@string/inactive_apps_title"
@@ -552,16 +607,16 @@
             android:title="@string/force_desktop_mode"
             android:summary="@string/force_desktop_mode_summary" />
 
+        <SwitchPreference
+            android:key="enable_sizecompat_freeform"
+            android:title="@string/enable_sizecompat_freeform"
+            android:summary="@string/enable_sizecompat_freeform_summary" />
+
         <Preference
             android:key="reset_shortcut_manager_throttling"
             android:title="@string/reset_shortcut_manager_throttling" />
 
         <SwitchPreference
-            android:key="sms_access_restriction_enabled"
-            android:title="@string/sms_access_restriction_enabled"
-            android:summary="@string/sms_access_restriction_enabled_summary" />
-
-        <SwitchPreference
             android:key="notification_bubbles"
             android:title="@string/notification_bubbles_title"
             android:summary="@string/notification_bubbles_developer_setting_summary"/>
diff --git a/res/xml/development_tile_settings.xml b/res/xml/development_tile_settings.xml
index 3ce6694..558535fe 100644
--- a/res/xml/development_tile_settings.xml
+++ b/res/xml/development_tile_settings.xml
@@ -20,4 +20,5 @@
     xmlns:settings="http://schemas.android.com/apk/res-auto"
     android:key="development_tile_settings"
     android:title="@string/quick_settings_developer_tiles"
+    settings:searchable="false"
     settings:controller="com.android.settings.development.qstile.DevelopmentTilePreferenceController" />
diff --git a/res/xml/device_admin_settings.xml b/res/xml/device_admin_settings.xml
index 09e0724..6fbc139 100644
--- a/res/xml/device_admin_settings.xml
+++ b/res/xml/device_admin_settings.xml
@@ -20,4 +20,12 @@
     xmlns:settings="http://schemas.android.com/apk/res-auto"
     android:title="@string/manage_device_admin"
     android:key="device_admin_settings"
-    settings:controller="com.android.settings.applications.specialaccess.deviceadmin.DeviceAdminListPreferenceController" />
\ No newline at end of file
+    settings:searchable="false"
+    settings:controller="com.android.settings.applications.specialaccess.deviceadmin.DeviceAdminListPreferenceController">
+
+    <com.android.settingslib.widget.FooterPreference
+        android:key="device_admin_footer"
+        android:title="@string/no_device_admins"
+        android:selectable="false"
+        settings:searchable="false"/>
+</PreferenceScreen>
diff --git a/res/xml/display_settings.xml b/res/xml/display_settings.xml
index 9bc6710..35b7b4d 100644
--- a/res/xml/display_settings.xml
+++ b/res/xml/display_settings.xml
@@ -37,8 +37,7 @@
         android:fragment="com.android.settings.display.darkmode.DarkModeSettingsFragment"
         android:widgetLayout="@null"
         settings:widgetLayout="@null"
-        settings:controller="com.android.settings.display.DarkUIPreferenceController"
-        settings:searchable="false"/>
+        settings:controller="com.android.settings.display.DarkUIPreferenceController"/>
 
     <com.android.settings.display.NightDisplayPreference
         android:key="night_display"
@@ -107,8 +106,7 @@
     <com.android.settings.display.ScreenZoomPreference
         android:key="display_settings_screen_zoom"
         android:title="@string/screen_zoom_title"
-        android:fragment="com.android.settings.display.ScreenZoomSettings"
-        settings:searchable="false"/>
+        android:fragment="com.android.settings.display.ScreenZoomSettings"/>
 
     <SwitchPreference
         android:key="show_operator_name"
@@ -118,13 +116,13 @@
     <Preference
         android:key="screensaver"
         android:title="@string/screensaver_settings_title"
-        android:fragment="com.android.settings.dream.DreamSettings"
-        settings:searchable="false" />
+        android:fragment="com.android.settings.dream.DreamSettings" />
 
     <Preference
         android:key="lockscreen_from_display_settings"
         android:title="@string/lockscreen_settings_title"
         android:fragment="com.android.settings.security.LockscreenDashboardFragment"
+        settings:keywords="@string/keywords_ambient_display_screen"
         settings:controller="com.android.settings.security.screenlock.LockScreenPreferenceController" />
 
     <SwitchPreference
diff --git a/res/xml/double_tap_power_settings.xml b/res/xml/double_tap_power_settings.xml
index c04a90b..cb7bcbe 100644
--- a/res/xml/double_tap_power_settings.xml
+++ b/res/xml/double_tap_power_settings.xml
@@ -18,7 +18,6 @@
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
-    android:key="gesture_double_tap_power_screen"
     android:title="@string/double_tap_power_for_camera_title">
 
     <com.android.settings.widget.VideoPreference
@@ -34,4 +33,4 @@
         app:controller="com.android.settings.gestures.DoubleTapPowerPreferenceController"
         app:allowDividerAbove="true" />
 
-</PreferenceScreen>
\ No newline at end of file
+</PreferenceScreen>
diff --git a/res/xml/double_tap_screen_settings.xml b/res/xml/double_tap_screen_settings.xml
index 2734143..e9eeb3a 100644
--- a/res/xml/double_tap_screen_settings.xml
+++ b/res/xml/double_tap_screen_settings.xml
@@ -18,7 +18,6 @@
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
-    android:key="gesture_double_tap_screen_screen"
     android:title="@string/ambient_display_title">
 
     <com.android.settings.widget.VideoPreference
@@ -34,4 +33,4 @@
         app:controller="com.android.settings.gestures.DoubleTapScreenPreferenceController"
         app:allowDividerAbove="true" />
 
-</PreferenceScreen>
\ No newline at end of file
+</PreferenceScreen>
diff --git a/res/xml/double_twist_gesture_settings.xml b/res/xml/double_twist_gesture_settings.xml
index f91bd35..ad82df3 100644
--- a/res/xml/double_twist_gesture_settings.xml
+++ b/res/xml/double_twist_gesture_settings.xml
@@ -18,7 +18,6 @@
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
-    android:key="gesture_double_twist_screen"
     android:title="@string/double_twist_for_camera_mode_title">
 
     <com.android.settings.widget.VideoPreference
@@ -34,4 +33,4 @@
         app:controller="com.android.settings.gestures.DoubleTwistPreferenceController"
         app:allowDividerAbove="true" />
 
-</PreferenceScreen>
\ No newline at end of file
+</PreferenceScreen>
diff --git a/res/xml/dream_fragment_overview.xml b/res/xml/dream_fragment_overview.xml
index e4c2eb5..3cb49f9 100644
--- a/res/xml/dream_fragment_overview.xml
+++ b/res/xml/dream_fragment_overview.xml
@@ -17,7 +17,6 @@
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
-    android:key="dream_overview_screen"
     android:title="@string/screensaver_settings_title">
 
     <com.android.settings.widget.GearPreference
@@ -41,4 +40,4 @@
             android:layout="@layout/dream_start_button" />
     </PreferenceCategory>
 
-</PreferenceScreen>
\ No newline at end of file
+</PreferenceScreen>
diff --git a/res/xml/dummy_preference_screen.xml b/res/xml/dummy_preference_screen.xml
new file mode 100644
index 0000000..4ffa916
--- /dev/null
+++ b/res/xml/dummy_preference_screen.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<PreferenceScreen
+    xmlns:settings="http://schemas.android.com/apk/res-auto"
+    settings:searchable="false">
+</PreferenceScreen>
+
diff --git a/res/xml/encryption_and_credential.xml b/res/xml/encryption_and_credential.xml
index f9d9679..b0906c1 100644
--- a/res/xml/encryption_and_credential.xml
+++ b/res/xml/encryption_and_credential.xml
@@ -17,8 +17,7 @@
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
-    android:title="@string/encryption_and_credential_settings_title"
-    android:key="encryption_and_credentials_screen">
+    android:title="@string/encryption_and_credential_settings_title">
 
     <PreferenceCategory
         android:key="encryption_and_credentials_status_category"
@@ -58,17 +57,11 @@
             settings:userRestriction="no_config_credentials" />
 
         <com.android.settingslib.RestrictedPreference
-            android:key="credentials_install"
+            android:key="install_certificate"
             android:title="@string/credentials_install"
             android:summary="@string/credentials_install_summary"
-            settings:userRestriction="no_config_credentials">
-
-            <intent
-                android:action="android.credentials.INSTALL"
-                android:targetPackage="com.android.certinstaller"
-                android:targetClass="com.android.certinstaller.CertInstallerMain" />
-
-        </com.android.settingslib.RestrictedPreference>
+            android:fragment="com.android.settings.security.InstallCertificateFromStorage"
+            settings:userRestriction="no_config_credentials" />
 
         <com.android.settingslib.RestrictedPreference
             android:key="credentials_reset"
diff --git a/res/xml/enterprise_privacy_settings.xml b/res/xml/enterprise_privacy_settings.xml
index e8b26b0..aebd130 100644
--- a/res/xml/enterprise_privacy_settings.xml
+++ b/res/xml/enterprise_privacy_settings.xml
@@ -16,16 +16,8 @@
 
 <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
                   xmlns:settings="http://schemas.android.com/apk/res-auto"
-                  android:key="enterprise_privacy_settings"
                   android:title="@string/enterprise_privacy_settings">
 
-    <!-- Header -->
-    <Preference android:key="enterprise_privacy_header"
-                android:order="100"
-                android:icon="@drawable/ic_info_outline_24dp"
-                android:summary="@string/enterprise_privacy_header"
-                android:selectable="false"/>
-
     <PreferenceCategory android:key="exposure_category"
                         android:order="200"
                         android:title="@string/enterprise_privacy_exposure_category"
@@ -125,4 +117,10 @@
                     android:title="@string/enterprise_privacy_failed_password_wipe_work"
                     android:selectable="false"/>
     </PreferenceCategory>
+
+    <com.android.settingslib.widget.FooterPreference
+        android:key="enterprise_privacy_footer"
+        android:title="@string/enterprise_privacy_header"
+        android:selectable="false"
+        settings:searchable="false"/>
 </PreferenceScreen>
diff --git a/res/xml/enterprise_set_default_apps_settings.xml b/res/xml/enterprise_set_default_apps_settings.xml
index 474a5c9..92a38f9 100644
--- a/res/xml/enterprise_set_default_apps_settings.xml
+++ b/res/xml/enterprise_set_default_apps_settings.xml
@@ -16,8 +16,7 @@
   -->
 
 <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
-                  xmlns:settings="http://schemas.android.com/apk/res-auto"
-                  android:key="enterprise_set_default_apps_settings">
+                  xmlns:settings="http://schemas.android.com/apk/res-auto">
     <PreferenceCategory
             android:key="dashboard_tile_placeholder"/>
 </PreferenceScreen>
diff --git a/res/xml/feature_flags_settings.xml b/res/xml/feature_flags_settings.xml
index 8dc5ab3..a6cc0a9 100644
--- a/res/xml/feature_flags_settings.xml
+++ b/res/xml/feature_flags_settings.xml
@@ -18,11 +18,16 @@
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
-    android:key="feature_flags_settings"
     android:title="@string/feature_flags_dashboard_title">
     <PreferenceCategory
         android:key="feature_flag_category"
         android:layout="@layout/preference_category_no_label"
         android:title="@string/summary_placeholder"
         settings:controller="com.android.settings.development.featureflags.FeatureFlagsPreferenceController" />
+
+    <com.android.settingslib.widget.FooterPreference
+        android:key="feature_flag_footer"
+        android:title="@string/experimental_category_title"
+        android:selectable="false"
+        settings:searchable="false"/>
 </PreferenceScreen>
diff --git a/res/xml/firmware_version.xml b/res/xml/firmware_version.xml
index f55ee11..41f7733 100644
--- a/res/xml/firmware_version.xml
+++ b/res/xml/firmware_version.xml
@@ -18,7 +18,6 @@
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
-    android:key="firmware_version_screen"
     android:title="@string/firmware_version"
     settings:keywords="@string/keywords_android_version">
 
@@ -28,6 +27,7 @@
         android:title="@string/firmware_version"
         android:summary="@string/summary_placeholder"
         settings:enableCopying="true"
+        settings:searchable="false"
         settings:controller="com.android.settings.deviceinfo.firmwareversion.FirmwareVersionDetailPreferenceController"/>
 
     <!-- Security patch -->
@@ -50,6 +50,7 @@
         android:key="base_band"
         android:title="@string/baseband_version"
         android:summary="@string/summary_placeholder"
+        android:selectable="false"
         settings:enableCopying="true"
         settings:controller="com.android.settings.deviceinfo.firmwareversion.BasebandVersionPreferenceController"/>
 
@@ -58,6 +59,7 @@
         android:key="kernel_version"
         android:title="@string/kernel_version"
         android:summary="@string/summary_placeholder"
+        android:selectable="false"
         settings:enableCopying="true"
         settings:controller="com.android.settings.deviceinfo.firmwareversion.KernelVersionPreferenceController"/>
 
@@ -66,7 +68,8 @@
         android:key="os_build_number"
         android:title="@string/build_number"
         android:summary="@string/summary_placeholder"
+        android:selectable="false"
         settings:enableCopying="true"
         settings:controller="com.android.settings.deviceinfo.firmwareversion.SimpleBuildNumberPreferenceController"/>
 
-</PreferenceScreen>
\ No newline at end of file
+</PreferenceScreen>
diff --git a/res/xml/game_driver_settings.xml b/res/xml/game_driver_settings.xml
deleted file mode 100644
index 6daeefb..0000000
--- a/res/xml/game_driver_settings.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  Copyright 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:key="game_driver_settings"
-    android:title="@string/game_driver_dashboard_title">
-
-    <ListPreference
-        android:key="game_driver_all_apps_preference"
-        android:title="@string/game_driver_all_apps_preference_title"
-        android:dialogTitle="@string/game_driver_all_apps_preference_title"
-        android:entries="@array/game_driver_all_apps_preference_values"
-        android:entryValues="@array/game_driver_all_apps_preference_values"
-        settings:controller="com.android.settings.development.gamedriver.GameDriverEnableForAllAppsPreferenceController">
-    </ListPreference>
-
-    <PreferenceCategory
-        android:key="game_driver_category"
-        android:title="@string/game_driver_app_preference_title"
-        settings:controller="com.android.settings.development.gamedriver.GameDriverAppPreferenceController">
-    </PreferenceCategory>
-
-    <com.android.settingslib.widget.FooterPreference
-        android:key="footer_preference"
-        android:title="@string/game_driver_footer_text"
-        android:selectable="false"
-        settings:controller="com.android.settings.development.gamedriver.GameDriverFooterPreferenceController">
-    </com.android.settingslib.widget.FooterPreference>
-
-</PreferenceScreen>
diff --git a/res/xml/gesture_navigation_settings.xml b/res/xml/gesture_navigation_settings.xml
new file mode 100644
index 0000000..6230054
--- /dev/null
+++ b/res/xml/gesture_navigation_settings.xml
@@ -0,0 +1,55 @@
+<?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:key="gesture_navigation_settings_page"
+    android:title="@string/gesture_settings_activity_title"
+    settings:keywords="@string/keywords_gesture_navigation_settings">
+
+    <PreferenceCategory
+        android:key="back_sensitivity_category"
+        android:persistent="false"
+        android:title="@string/back_sensitivity_dialog_title">
+
+        <com.android.settings.widget.LabeledSeekBarPreference
+            android:key="gesture_left_back_sensitivity"
+            android:title="@string/left_edge"
+            android:max="3"
+            android:selectable="true"
+            settings:textStart="@string/low_label"
+            settings:textEnd="@string/high_label"/>
+
+        <com.android.settings.widget.LabeledSeekBarPreference
+            android:key="gesture_right_back_sensitivity"
+            android:title="@string/right_edge"
+            android:max="3"
+            android:selectable="true"
+            settings:textStart="@string/low_label"
+            settings:textEnd="@string/high_label"/>
+    </PreferenceCategory>
+
+    <com.android.settingslib.widget.FooterPreference
+        android:key="gesture_navigation_settings_footer"
+        android:title="@string/back_sensitivity_dialog_message"
+        android:selectable="false"
+        settings:searchable="false"
+        settings:allowDividerAbove="true"/>
+</PreferenceScreen>
+
diff --git a/res/xml/gestures.xml b/res/xml/gestures.xml
index ff3a6b5..a523ec6 100644
--- a/res/xml/gestures.xml
+++ b/res/xml/gestures.xml
@@ -18,7 +18,6 @@
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
-    android:key="gesture_settings_screen"
     android:title="@string/gesture_preference_title">
 
     <Preference
@@ -31,18 +30,21 @@
         android:key="gesture_swipe_down_fingerprint_input_summary"
         android:title="@string/fingerprint_swipe_for_notifications_title"
         android:fragment="com.android.settings.gestures.SwipeToNotificationSettings"
+        settings:searchable="false"
         settings:controller="com.android.settings.gestures.SwipeToNotificationPreferenceController" />
 
     <Preference
         android:key="gesture_double_tap_power_input_summary"
         android:title="@string/double_tap_power_for_camera_title"
         android:fragment="com.android.settings.gestures.DoubleTapPowerSettings"
+        settings:searchable="false"
         settings:controller="com.android.settings.gestures.DoubleTapPowerPreferenceController" />
 
     <Preference
         android:key="gesture_double_twist_input_summary"
         android:title="@string/double_twist_for_camera_mode_title"
         android:fragment="com.android.settings.gestures.DoubleTwistGestureSettings"
+        settings:searchable="false"
         settings:controller="com.android.settings.gestures.DoubleTwistPreferenceController" />
 
     <Preference
@@ -55,18 +57,21 @@
         android:key="gesture_tap_screen_input_summary"
         android:title="@string/ambient_display_tap_screen_title"
         android:fragment="com.android.settings.gestures.TapScreenGestureSettings"
+        settings:searchable="false"
         settings:controller="com.android.settings.gestures.TapScreenGesturePreferenceController" />
 
     <Preference
         android:key="gesture_double_tap_screen_input_summary"
         android:title="@string/ambient_display_title"
         android:fragment="com.android.settings.gestures.DoubleTapScreenSettings"
+        settings:searchable="false"
         settings:controller="com.android.settings.gestures.DoubleTapScreenPreferenceController" />
 
     <Preference
         android:key="gesture_pick_up_input_summary"
         android:title="@string/ambient_display_pickup_title"
         android:fragment="com.android.settings.gestures.PickupGestureSettings"
+        settings:searchable="false"
         settings:controller="com.android.settings.gestures.PickupGesturePreferenceController" />
 
     <Preference
diff --git a/res/xml/global_actions_panel_settings.xml b/res/xml/global_actions_panel_settings.xml
index 2dc0fe9..3b7bef3 100644
--- a/res/xml/global_actions_panel_settings.xml
+++ b/res/xml/global_actions_panel_settings.xml
@@ -18,7 +18,6 @@
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
-    android:key="gesture_global_actions_panel"
     android:title="@string/global_actions_panel_title">
 
     <com.android.settings.widget.VideoPreference
diff --git a/res/xml/graphics_driver_settings.xml b/res/xml/graphics_driver_settings.xml
new file mode 100644
index 0000000..a1fa78c
--- /dev/null
+++ b/res/xml/graphics_driver_settings.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  Copyright 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/graphics_driver_dashboard_title">
+
+    <ListPreference
+        android:key="graphics_driver_all_apps_preference"
+        android:title="@string/graphics_driver_all_apps_preference_title"
+        android:dialogTitle="@string/graphics_driver_all_apps_preference_title"
+        settings:controller="com.android.settings.development.graphicsdriver.GraphicsDriverEnableForAllAppsPreferenceController">
+    </ListPreference>
+
+    <PreferenceCategory
+        android:key="graphics_driver_category"
+        android:title="@string/graphics_driver_app_preference_title"
+        settings:controller="com.android.settings.development.graphicsdriver.GraphicsDriverAppPreferenceController">
+    </PreferenceCategory>
+
+    <com.android.settingslib.widget.FooterPreference
+        android:key="graphics_driver_footer"
+        android:title="@string/graphics_driver_footer_text"
+        android:selectable="false"
+        settings:controller="com.android.settings.development.graphicsdriver.GraphicsDriverFooterPreferenceController">
+    </com.android.settingslib.widget.FooterPreference>
+
+</PreferenceScreen>
diff --git a/res/xml/hardware_info.xml b/res/xml/hardware_info.xml
index 2fd58ff..10de299 100644
--- a/res/xml/hardware_info.xml
+++ b/res/xml/hardware_info.xml
@@ -18,7 +18,6 @@
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
-    android:key="hardware_info_screen"
     android:title="@string/hardware_info"
     settings:keywords="@string/keywords_model_and_hardware">
 
@@ -27,6 +26,7 @@
         android:key="hardware_info_device_model"
         android:title="@string/model_info"
         android:summary="@string/summary_placeholder"
+        android:selectable="false"
         settings:controller="com.android.settings.deviceinfo.hardwareinfo.DeviceModelPreferenceController"
         settings:enableCopying="true"/>
 
@@ -35,6 +35,7 @@
         android:key="hardware_info_device_serial"
         android:title="@string/status_serial_number"
         android:summary="@string/summary_placeholder"
+        android:selectable="false"
         settings:controller="com.android.settings.deviceinfo.hardwareinfo.SerialNumberPreferenceController"
         settings:enableCopying="true"/>
 
@@ -43,7 +44,8 @@
         android:key="hardware_info_device_revision"
         android:title="@string/hardware_revision"
         android:summary="@string/summary_placeholder"
+        android:selectable="false"
         settings:controller="com.android.settings.deviceinfo.hardwareinfo.HardwareRevisionPreferenceController"
         settings:enableCopying="true"/>
 
-</PreferenceScreen>
\ No newline at end of file
+</PreferenceScreen>
diff --git a/res/xml/inactive_apps.xml b/res/xml/inactive_apps.xml
deleted file mode 100644
index 6f93bdb..0000000
--- a/res/xml/inactive_apps.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2015 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<PreferenceScreen
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:title="@string/inactive_apps_title">
-
-</PreferenceScreen>
-
diff --git a/res/xml/install_certificate_from_storage.xml b/res/xml/install_certificate_from_storage.xml
new file mode 100644
index 0000000..f7e35af
--- /dev/null
+++ b/res/xml/install_certificate_from_storage.xml
@@ -0,0 +1,66 @@
+<!--
+  ~ 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/credentials_install">
+
+    <PreferenceCategory
+        android:key="certificate_types">
+
+        <Preference
+            android:key="install_ca_certificate"
+            android:title="@string/ca_certificate">
+
+            <intent
+                android:targetPackage="com.android.settings"
+                android:targetClass="com.android.settings.security.InstallCaCertificateWarning">
+            </intent>
+
+        </Preference>
+
+        <Preference
+            android:key="install_user_certificate"
+            android:title="@string/user_certificate">
+
+            <intent
+                android:action="android.credentials.INSTALL"
+                android:targetPackage="com.android.certinstaller"
+                android:targetClass="com.android.certinstaller.CertInstallerMain">
+                <!-- Same value as CERTIFICATE_USAGE_USER in keystore/java/android/security/Credentials.java -->
+                <extra android:name="certificate_install_usage" android:value="user"/>
+            </intent>
+
+        </Preference>
+
+        <Preference
+            android:key="install_wifi_certificate"
+            android:title="@string/wifi_certificate">
+
+            <intent
+                android:action="android.credentials.INSTALL"
+                android:targetPackage="com.android.certinstaller"
+                android:targetClass="com.android.certinstaller.CertInstallerMain">
+                <!-- Same value as CERTIFICATE_USAGE_WIFI in keystore/java/android/security/Credentials.java -->
+                <extra android:name="certificate_install_usage" android:value="wifi"/>
+            </intent>
+
+        </Preference>
+
+    </PreferenceCategory>
+
+</PreferenceScreen>
\ No newline at end of file
diff --git a/res/xml/installed_app_launch_settings.xml b/res/xml/installed_app_launch_settings.xml
index a2a0ca4..b777949 100644
--- a/res/xml/installed_app_launch_settings.xml
+++ b/res/xml/installed_app_launch_settings.xml
@@ -21,16 +21,16 @@
     <PreferenceCategory android:key="app_launch_domain_links"
                         android:title="@string/app_launch_domain_links_title">
 
-        <DropDownPreference
-                android:key="app_link_state"
-                android:summary="%s"
-                android:title="@string/app_launch_open_domain_urls_title" />
+        <Preference
+            android:key="app_link_state"
+            android:summary="@string/summary_placeholder"
+            android:title="@string/app_launch_open_domain_urls_title"/>
 
         <com.android.settings.applications.AppDomainsPreference
-                android:key="app_launch_supported_domain_urls"
-                android:title="@string/app_launch_supported_domain_urls_title"
-                android:dependency="app_link_state"
-                />
+            android:key="app_launch_supported_domain_urls"
+            android:title="@string/app_launch_supported_domain_urls_title"
+            android:dependency="app_link_state"
+        />
 
     </PreferenceCategory>
 
@@ -38,7 +38,8 @@
                         android:title="@string/app_launch_other_defaults_title">
 
         <com.android.settings.applications.ClearDefaultsPreference
-                android:key="app_launch_clear_defaults" />
+            android:key="app_launch_clear_defaults"
+            android:selectable="false"/>
 
     </PreferenceCategory>
 
diff --git a/res/xml/interact_across_profiles.xml b/res/xml/interact_across_profiles.xml
new file mode 100644
index 0000000..6fd1885
--- /dev/null
+++ b/res/xml/interact_across_profiles.xml
@@ -0,0 +1,23 @@
+<?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:title="@string/interact_across_profiles_title"
+    settings:controller="com.android.settings.applications.specialaccess.interactacrossprofiles.InteractAcrossProfilesController" />
+
diff --git a/res/xml/interact_across_profiles_permissions_details.xml b/res/xml/interact_across_profiles_permissions_details.xml
new file mode 100644
index 0000000..8b1e043
--- /dev/null
+++ b/res/xml/interact_across_profiles_permissions_details.xml
@@ -0,0 +1,36 @@
+<?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/interact_across_profiles_title">
+
+    <com.android.settingslib.widget.LayoutPreference
+        android:key="interact_across_profiles_header"
+        android:layout="@layout/cross_profiles_settings_entity_header"
+        android:selectable="false"/>
+
+    <SwitchPreference
+        android:key="interact_across_profiles_settings_switch" />
+
+    <Preference
+        android:summary="@string/interact_across_profiles_summary_1"
+        android:selectable="false" />
+
+    <Preference
+        android:summary="@string/interact_across_profiles_summary_2"
+        android:selectable="false" />
+</PreferenceScreen>
diff --git a/res/xml/language_and_input.xml b/res/xml/language_and_input.xml
index e3690a9..c3848e3 100644
--- a/res/xml/language_and_input.xml
+++ b/res/xml/language_and_input.xml
@@ -18,7 +18,6 @@
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
-    android:key="language_and_input_settings_screen"
     android:title="@string/language_settings"
     settings:initialExpandedChildrenCount="3">
 
@@ -39,8 +38,7 @@
             android:key="physical_keyboard_pref"
             android:title="@string/physical_keyboard_title"
             android:summary="@string/summary_placeholder"
-            android:fragment="com.android.settings.inputmethod.PhysicalKeyboardFragment"
-            settings:searchable="false"/>
+            android:fragment="com.android.settings.inputmethod.PhysicalKeyboardFragment"/>
     </PreferenceCategory>
 
     <PreferenceCategory
@@ -101,18 +99,21 @@
             android:key="virtual_keyboards_for_work_pref"
             android:title="@string/virtual_keyboards_for_work_title"
             android:fragment="com.android.settings.inputmethod.VirtualKeyboardFragment"
+            settings:forWork="true"
             settings:controller="com.android.settings.inputmethod.VirtualKeyboardForWorkPreferenceController" />
 
         <Preference
             android:key="spellcheckers_settings_for_work_pref"
             android:title="@string/spellcheckers_settings_for_work_title"
             android:fragment="com.android.settings.inputmethod.SpellCheckersSettings"
-            settings:controller="com.android.settings.language.UserDictionaryForWorkPreferenceController" />
+            settings:forWork="true"
+            settings:controller="com.android.settings.core.WorkPreferenceController" />
 
         <Preference
             android:key="user_dictionary_settings_for_work_pref"
             android:title="@string/user_dict_settings_for_work_title"
             android:fragment="com.android.settings.inputmethod.UserDictionaryList"
+            settings:forWork="true"
             settings:controller="com.android.settings.inputmethod.SpellCheckerForWorkPreferenceController" />
     </com.android.settings.widget.WorkOnlyCategory>
 
diff --git a/res/xml/location_recent_requests_see_all.xml b/res/xml/location_recent_requests_see_all.xml
index dfb8804..5bfb0ac 100644
--- a/res/xml/location_recent_requests_see_all.xml
+++ b/res/xml/location_recent_requests_see_all.xml
@@ -10,9 +10,11 @@
      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/location_category_recent_location_requests"
-        android:key="recent_location_requests_see_all">
-        <PreferenceCategory
-            android:key="all_recent_location_requests"/>
+<PreferenceScreen
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:settings="http://schemas.android.com/apk/res-auto"
+    android:title="@string/location_category_recent_location_requests"
+    android:key="all_recent_location_requests"
+    settings:controller="com.android.settings.location.RecentLocationRequestSeeAllPreferenceController">
+
 </PreferenceScreen>
diff --git a/res/xml/location_scanning.xml b/res/xml/location_scanning.xml
index 5e7bd24..f82500b 100644
--- a/res/xml/location_scanning.xml
+++ b/res/xml/location_scanning.xml
@@ -15,8 +15,7 @@
 -->
 
 <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
-        android:title="@string/location_scanning_screen_title"
-        android:key="scanning_screen">
+        android:title="@string/location_scanning_screen_title">
 
         <SwitchPreference
             android:title="@string/location_scanning_wifi_always_scanning_title"
diff --git a/res/xml/location_settings.xml b/res/xml/location_settings.xml
index 136e6ab..fb03f4c 100644
--- a/res/xml/location_settings.xml
+++ b/res/xml/location_settings.xml
@@ -14,64 +14,74 @@
      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="location_settings"
-        android:title="@string/location_settings_title"
-        settings:keywords="@string/keywords_location">
+<PreferenceScreen
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:settings="http://schemas.android.com/apk/res-auto"
+    android:key="location_settings"
+    android:title="@string/location_settings_title"
+    settings:keywords="@string/keywords_location">
 
-        <PreferenceCategory
-            android:key="recent_location_requests"
-            android:title="@string/location_category_recent_location_requests"/>
+    <PreferenceCategory
+        android:key="recent_location_requests"
+        android:title="@string/location_category_recent_location_requests"
+        settings:controller="com.android.settings.location.RecentLocationRequestPreferenceController"/>
+
+    <Preference
+        android:key="recent_location_requests_see_all_button"
+        android:title="@string/location_recent_location_requests_see_all"
+        android:icon="@drawable/ic_chevron_right_24dp"
+        android:fragment="com.android.settings.location.RecentLocationRequestSeeAllFragment"
+        settings:searchable="false"/>
+
+    <PreferenceCategory
+        android:key="location_advanced_settings"
+        android:layout="@layout/preference_category_no_label"
+        settings:initialExpandedChildrenCount="2">
+
+        <!-- This preference category gets removed if new_recent_location_ui is disabled -->
+        <Preference
+            android:key="app_level_permissions"
+            android:title="@string/location_app_level_permissions"
+            settings:controller="com.android.settings.location.AppLocationPermissionPreferenceController">
+            <intent android:action="android.intent.action.MANAGE_PERMISSION_APPS">
+                <extra android:name="android.intent.extra.PERMISSION_NAME"
+                       android:value="android.permission-group.LOCATION"/>
+            </intent>
+        </Preference>
 
         <Preference
-            android:key="recent_location_requests_see_all_button"
-            android:title="@string/location_recent_location_requests_see_all"
-            android:icon="@drawable/ic_chevron_right_24dp"
-            android:fragment="com.android.settings.location.RecentLocationRequestSeeAllFragment"
-            settings:searchable="false"/>
+            android:fragment="com.android.settings.location.ScanningSettings"
+            android:key="location_scanning"
+            android:title="@string/location_scanning_screen_title"
+            settings:controller="com.android.settings.location.LocationScanningPreferenceController"/>
+
+        <!-- This preference gets removed if there is no managed profile -->
+        <com.android.settingslib.RestrictedSwitchPreference
+            android:enabled="false"
+            android:key="managed_profile_location_switch"
+            android:selectable="true"
+            android:title="@string/managed_profile_location_switch_title"
+            settings:controller="com.android.settings.location.LocationForWorkPreferenceController"
+            settings:forWork="true"
+            settings:useAdminDisabledSummary="true"/>
 
         <PreferenceCategory
-            android:key="location_advanced_settings"
+            android:key="location_services"
             android:layout="@layout/preference_category_no_label"
-            settings:initialExpandedChildrenCount="2">
+            settings:controller="com.android.settings.location.LocationServicePreferenceController"/>
 
-            <!-- This preference category gets removed if new_recent_location_ui is disabled -->
-            <Preference
-                android:key="app_level_permissions"
-                android:title="@string/location_app_level_permissions">
-                <intent android:action="android.intent.action.MANAGE_PERMISSION_APPS">
-                    <extra android:name="android.intent.extra.PERMISSION_NAME"
-                           android:value="android.permission-group.LOCATION" />
-                </intent>
-            </Preference>
-
-            <Preference
-                android:key="location_scanning"
-                android:title="@string/location_scanning_screen_title"
-                android:fragment="com.android.settings.location.ScanningSettings"/>
-
-            <!-- This preference gets removed if there is no managed profile -->
-            <com.android.settingslib.RestrictedSwitchPreference
-                android:key="managed_profile_location_switch"
-                android:title="@string/managed_profile_location_switch_title"
-                settings:useAdminDisabledSummary="true"
-                android:enabled="false"
-                android:selectable="true" />
-
-            <PreferenceCategory
-                android:key="location_services"
-                android:layout="@layout/preference_category_no_label"/>
-
-            <!-- This preference gets removed if there is no managed profile -->
-            <PreferenceCategory
-                android:title="@string/managed_profile_location_services"
-                android:key="location_services_managed_profile" />
-
-        </PreferenceCategory>
-
+        <!-- This preference gets removed if there is no managed profile -->
         <PreferenceCategory
-            android:key="location_footer"
-            android:layout="@layout/preference_category_no_label"
-            settings:allowDividerAbove="false"/>
+            android:key="location_services_managed_profile"
+            android:title="@string/managed_profile_location_services"
+            settings:forWork="true"
+            settings:controller="com.android.settings.location.LocationServiceForWorkPreferenceController"/>
+
+    </PreferenceCategory>
+
+    <PreferenceCategory
+        android:key="location_footer"
+        android:layout="@layout/preference_category_no_label"
+        settings:allowDividerAbove="false"
+        settings:controller="com.android.settings.location.LocationFooterPreferenceController"/>
 </PreferenceScreen>
diff --git a/res/xml/location_settings_personal.xml b/res/xml/location_settings_personal.xml
new file mode 100644
index 0000000..de8ed81
--- /dev/null
+++ b/res/xml/location_settings_personal.xml
@@ -0,0 +1,64 @@
+<?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:key="location_settings"
+    android:title="@string/location_settings_title"
+    settings:keywords="@string/keywords_location">
+
+    <PreferenceCategory
+        android:key="recent_location_requests"
+        android:title="@string/location_category_recent_location_requests"
+        settings:controller="com.android.settings.location.RecentLocationRequestPreferenceController"/>
+
+    <Preference
+        android:key="recent_location_requests_see_all_button"
+        android:title="@string/location_recent_location_requests_see_all"
+        android:icon="@drawable/ic_chevron_right_24dp"
+        android:fragment="com.android.settings.location.RecentLocationRequestSeeAllFragment"
+        settings:searchable="false"/>
+
+    <!-- This preference category gets removed if new_recent_location_ui is disabled -->
+    <Preference
+        android:key="app_level_permissions"
+        android:title="@string/location_app_level_permissions"
+        settings:controller="com.android.settings.location.AppLocationPermissionPreferenceController">
+        <intent android:action="android.intent.action.MANAGE_PERMISSION_APPS">
+            <extra android:name="android.intent.extra.PERMISSION_NAME"
+                   android:value="android.permission-group.LOCATION"/>
+        </intent>
+    </Preference>
+
+    <Preference
+        android:key="location_scanning"
+        android:title="@string/location_scanning_screen_title"
+        android:fragment="com.android.settings.location.ScanningSettings"
+        settings:controller="com.android.settings.location.LocationScanningPreferenceController"/>
+
+    <PreferenceCategory
+        android:key="location_services"
+        android:layout="@layout/preference_category_no_label"
+        settings:controller="com.android.settings.location.LocationServicePreferenceController"/>
+
+    <PreferenceCategory
+        android:key="location_footer"
+        android:layout="@layout/preference_category_no_label"
+        settings:allowDividerAbove="false"
+        settings:controller="com.android.settings.location.LocationFooterPreferenceController"/>
+</PreferenceScreen>
diff --git a/res/xml/location_settings_workprofile.xml b/res/xml/location_settings_workprofile.xml
new file mode 100644
index 0000000..f15c8d8
--- /dev/null
+++ b/res/xml/location_settings_workprofile.xml
@@ -0,0 +1,68 @@
+<?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:key="location_settings"
+    android:title="@string/location_settings_title"
+    settings:keywords="@string/keywords_location">
+
+    <PreferenceCategory
+        android:key="recent_location_requests"
+        android:title="@string/location_category_recent_location_requests"
+        settings:controller="com.android.settings.location.RecentLocationRequestPreferenceController"/>
+
+    <Preference
+        android:key="recent_location_requests_see_all_button"
+        android:title="@string/location_recent_location_requests_see_all"
+        android:icon="@drawable/ic_chevron_right_24dp"
+        android:fragment="com.android.settings.location.RecentLocationRequestSeeAllFragment"
+        settings:controller="com.android.settings.core.WorkPreferenceController"
+        settings:forWork="true"
+        settings:searchable="false"/>
+
+    <com.android.settingslib.RestrictedSwitchPreference
+        android:key="managed_profile_location_switch"
+        android:title="@string/managed_profile_location_switch_title"
+        settings:useAdminDisabledSummary="true"
+        settings:controller="com.android.settings.location.LocationForWorkPreferenceController"
+        android:selectable="true"/>
+
+    <!-- This preference category gets removed if new_recent_location_ui is disabled -->
+    <Preference
+        android:key="app_level_permissions"
+        android:title="@string/location_app_level_permissions"
+        settings:controller="com.android.settings.location.AppLocationPermissionPreferenceController">
+        <intent android:action="android.intent.action.MANAGE_PERMISSION_APPS">
+            <extra android:name="android.intent.extra.PERMISSION_NAME"
+                   android:value="android.permission-group.LOCATION"/>
+        </intent>
+    </Preference>
+
+    <PreferenceCategory
+        android:title="@string/managed_profile_location_services"
+        android:layout="@layout/preference_category_no_label"
+        android:key="location_services_managed_profile"
+        settings:controller="com.android.settings.location.LocationServiceForWorkPreferenceController"/>
+
+    <PreferenceCategory
+        android:key="location_footer"
+        android:layout="@layout/preference_category_no_label"
+        settings:allowDividerAbove="false"
+        settings:controller="com.android.settings.location.LocationFooterPreferenceController"/>
+</PreferenceScreen>
diff --git a/res/xml/manage_assist.xml b/res/xml/manage_assist.xml
index bb387b5..3430c05 100644
--- a/res/xml/manage_assist.xml
+++ b/res/xml/manage_assist.xml
@@ -19,12 +19,12 @@
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
     android:key="manage_assist_screen"
-    android:title="@string/assist_and_voice_input_title"
+    android:title="@string/default_assist_title"
     settings:keywords="@string/keywords_assist_input">
 
     <com.android.settings.widget.GearPreference
         android:key="default_assist"
-        android:title="@string/default_assist_title"
+        android:title="@string/default_digital_assistant_title"
         android:summary="@string/summary_placeholder" />
 
     <Preference
@@ -53,4 +53,10 @@
         android:title="@string/voice_input_settings_title"
         android:fragment="com.android.settings.applications.assist.DefaultVoiceInputPicker" />
 
+    <com.android.settingslib.widget.FooterPreference
+        android:key="manage_assist_footer"
+        android:title="@string/assist_footer"
+        android:selectable="false"
+        settings:searchable="false"/>
+
 </PreferenceScreen>
diff --git a/res/xml/manage_external_storage_permission_details.xml b/res/xml/manage_external_storage_permission_details.xml
new file mode 100644
index 0000000..29ff297
--- /dev/null
+++ b/res/xml/manage_external_storage_permission_details.xml
@@ -0,0 +1,32 @@
+<?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="manage_external_storage_permission_details"
+    android:title="@string/manage_external_storage_title">
+
+    <SwitchPreference
+        android:key="app_ops_settings_switch"
+        android:title="@string/permit_manage_external_storage"/>
+
+    <com.android.settingslib.widget.FooterPreference
+        android:title="@string/allow_manage_external_storage_description"
+        android:selectable="false"
+        settings:searchable="false"/>
+
+</PreferenceScreen>
diff --git a/res/xml/mobile_network_list.xml b/res/xml/mobile_network_list.xml
index 01ddb28..6bf9ad2 100644
--- a/res/xml/mobile_network_list.xml
+++ b/res/xml/mobile_network_list.xml
@@ -17,7 +17,6 @@
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
-    android:key="mobile_network_list_screen"
     android:title="@string/network_settings_title">
 
     <com.android.settingslib.RestrictedPreference
@@ -25,6 +24,7 @@
         settings:isPreferenceVisible="false"
         settings:userRestriction="no_config_mobile_networks"
         settings:useAdminDisabledSummary="true"
+        settings:searchable="false"
         android:title="@string/mobile_network_list_add_more"
         android:icon="@drawable/ic_menu_add_activated_tint"
         android:order="100" >
diff --git a/res/xml/mobile_network_settings.xml b/res/xml/mobile_network_settings.xml
index 1a9b885..1744513 100644
--- a/res/xml/mobile_network_settings.xml
+++ b/res/xml/mobile_network_settings.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2008 The Android Open Source Project
+<!-- 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.
@@ -17,136 +17,228 @@
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
     android:key="mobile_network_pref_screen"
-    settings:initialExpandedChildrenCount="4">
+    settings:initialExpandedChildrenCount="8">
 
-    <Preference
-        android:key="cdma_lte_data_service_key"
-        android:title="@string/cdma_lte_data_service"
-        settings:controller="com.android.settings.network.telephony.DataServiceSetupPreferenceController">
-    </Preference>
-
-    <SwitchPreference
-        android:key="mobile_data_enable"
-        android:title="@string/mobile_data_settings_title"
-        android:summary="@string/mobile_data_settings_summary"
-        settings:controller="com.android.settings.network.telephony.MobileDataPreferenceController"/>
-
-    <com.android.settingslib.RestrictedSwitchPreference
-        android:key="button_roaming_key"
-        android:title="@string/roaming"
-        android:persistent="false"
-        android:summaryOn="@string/roaming_enable"
-        android:summaryOff="@string/roaming_disable"
-        settings:userRestriction="no_data_roaming"
-        settings:controller="com.android.settings.network.telephony.RoamingPreferenceController"/>
-
-    <Preference
-        android:key="data_usage_summary"
-        android:title="@string/mobile_data_usage_title"
-        settings:controller="com.android.settings.network.telephony.DataUsagePreferenceController"/>
-
-    <SwitchPreference
-        android:key="enhanced_4g_lte"
-        android:title="@string/enhanced_4g_lte_mode_title"
-        android:persistent="false"
-        android:summary="@string/enhanced_4g_lte_mode_summary"
-        settings:controller="com.android.settings.network.telephony.Enhanced4gLtePreferenceController"/>
-
-    <ListPreference
-        android:key="preferred_network_mode_key"
-        android:title="@string/preferred_network_mode_title"
-        android:summary="@string/preferred_network_mode_summary"
-        android:entries="@array/preferred_network_mode_choices"
-        android:entryValues="@array/preferred_network_mode_values"
-        android:dialogTitle="@string/preferred_network_mode_dialogtitle"
-        settings:controller="com.android.settings.network.telephony.PreferredNetworkModePreferenceController"/>
-
-    <ListPreference
-        android:key="enabled_networks_key"
-        android:title="@string/preferred_network_mode_title"
-        android:summary="@string/preferred_network_mode_summary"
-        android:entries="@array/enabled_networks_choices"
-        android:entryValues="@array/enabled_networks_values"
-        android:dialogTitle="@string/preferred_network_mode_dialogtitle"
-        settings:controller="com.android.settings.network.telephony.EnabledNetworkModePreferenceController"/>
-
-    <Preference
-        android:key="carrier_settings_euicc_key"
-        android:title="@string/carrier_settings_euicc"
-        settings:controller="com.android.settings.network.telephony.EuiccPreferenceController" />
+    <com.android.settingslib.widget.LayoutPreference
+        android:key="use_sim_switch"
+        android:title="@string/summary_placeholder"
+        android:layout="@layout/styled_switch_bar"
+        settings:controller="com.android.settings.network.telephony.MobileNetworkSwitchController"/>
 
     <PreferenceCategory
-        android:key="calling_category"
-        android:title="@string/call_category"
-        settings:searchable="false">
+        android:key="enabled_state_container"
+        android:title="@string/summary_placeholder"
+        settings:controller="com.android.settings.network.telephony.DisabledSubscriptionController"
+        android:layout="@layout/preference_category_no_label">
 
-        <PreferenceScreen
-            android:key="wifi_calling_key"
-            android:title="@string/wifi_calling_settings_title"
-            android:summary="@string/wifi_calling_summary"
-            settings:controller="com.android.settings.network.telephony.WifiCallingPreferenceController" >
-            <intent android:action="android.intent.action.MAIN"
-                    android:targetPackage="com.android.settings"
-                    android:targetClass="com.android.settings.Settings$WifiCallingSettingsActivity">
-                        <extra android:name="show_drawer_menu" android:value="true" />
-            </intent>
-        </PreferenceScreen>
+        <com.android.settings.datausage.DataUsageSummaryPreference
+            android:key="status_header"
+            android:visibility="gone"
+            android:selectable="false"/>
 
-        <SwitchPreference
-            android:key="video_calling_key"
-            android:title="@string/video_calling_settings_title"
-            android:persistent="true"
-            settings:controller="com.android.settings.network.telephony.VideoCallingPreferenceController" />
+        <ListPreference
+            android:key="calls_preference"
+            android:title="@string/calls_preference"
+            settings:controller="com.android.settings.network.telephony.CallsDefaultSubscriptionController"
+            settings:allowDividerAbove="true"/>
 
-    </PreferenceCategory>
-
-    <com.android.settings.network.telephony.cdma.CdmaListPreference
-        android:key="cdma_system_select_key"
-        android:title="@string/cdma_system_select_title"
-        android:summary="@string/cdma_system_select_summary"
-        android:entries="@array/cdma_system_select_choices"
-        android:entryValues="@array/cdma_system_select_values"
-        android:dialogTitle="@string/cdma_system_select_dialogtitle"
-        settings:controller="com.android.settings.network.telephony.cdma.CdmaSystemSelectPreferenceController"/>
-
-    <com.android.settings.network.telephony.cdma.CdmaListPreference
-        android:key="cdma_subscription_key"
-        android:title="@string/cdma_subscription_title"
-        android:summary="@string/cdma_subscription_summary"
-        android:entries="@array/cdma_subscription_choices"
-        android:entryValues="@array/cdma_subscription_values"
-        android:dialogTitle="@string/cdma_subscription_dialogtitle"
-        settings:controller="com.android.settings.network.telephony.cdma.CdmaSubscriptionPreferenceController"/>
-
-    <PreferenceCategory
-        android:key="network_operators_category_key"
-        android:title="@string/network_operator_category"
-        settings:controller="com.android.settings.widget.PreferenceCategoryController">
-
-        <SwitchPreference
-            android:key="auto_select_key"
-            android:title="@string/select_automatically"
-            settings:controller="com.android.settings.network.telephony.gsm.AutoSelectPreferenceController"/>
+        <ListPreference
+            android:key="sms_preference"
+            android:title="@string/sms_preference"
+            settings:controller="com.android.settings.network.telephony.SmsDefaultSubscriptionController"/>
 
         <Preference
-            android:key="choose_network_key"
-            android:title="@string/choose_network_title"
-            android:fragment="com.android.phone.NetworkSelectSetting"
-            settings:controller="com.android.settings.network.telephony.gsm.OpenNetworkSelectPagePreferenceController"/>
+            android:key="cdma_lte_data_service_key"
+            android:title="@string/cdma_lte_data_service"
+            settings:controller="com.android.settings.network.telephony.DataServiceSetupPreferenceController"
+            settings:allowDividerAbove="true"
+            settings:allowDividerBelow="false"/>
+
+        <SwitchPreference
+            android:key="mobile_data_enable"
+            android:title="@string/mobile_data_settings_title"
+            android:summary="@string/mobile_data_settings_summary"
+            settings:controller="com.android.settings.network.telephony.MobileDataPreferenceController"
+            settings:allowDividerAbove="true"/>
+
+        <com.android.settingslib.RestrictedSwitchPreference
+            android:key="button_roaming_key"
+            android:title="@string/roaming"
+            android:persistent="false"
+            android:summaryOn="@string/roaming_enable"
+            android:summaryOff="@string/roaming_disable"
+            settings:userRestriction="no_data_roaming"
+            settings:controller="com.android.settings.network.telephony.RoamingPreferenceController"/>
+
+        <Preference
+            android:key="data_usage_summary"
+            android:title="@string/mobile_data_usage_title"
+            settings:controller="com.android.settings.network.telephony.DataUsagePreferenceController"/>
+
+        <com.android.settings.datausage.BillingCyclePreference
+            android:key="billing_preference"
+            android:title="@string/billing_cycle"
+            settings:controller="com.android.settings.datausage.BillingCyclePreferenceController"/>
+
+        <SwitchPreference
+            android:key="mms_message"
+            android:title="@string/mms_message_title"
+            android:summary="@string/mms_message_summary"
+            settings:controller="com.android.settings.network.telephony.MmsMessagePreferenceController"/>
+
+        <SwitchPreference
+            android:key="data_during_calls"
+            android:title="@string/data_during_calls_title"
+            android:summary="@string/data_during_calls_summary"
+            settings:controller="com.android.settings.network.telephony.DataDuringCallsPreferenceController"/>
+
+        <SwitchPreference
+            android:key="enhanced_4g_lte"
+            android:title="@string/enhanced_4g_lte_mode_title"
+            android:persistent="false"
+            android:summary="@string/enhanced_4g_lte_mode_summary"
+            settings:keywords="@string/keywords_enhance_4g_lte"
+            settings:controller="com.android.settings.network.telephony.Enhanced4gLtePreferenceController"/>
+
+        <SwitchPreference
+            android:key="4g_calling"
+            android:title="@string/enhanced_4g_lte_mode_title_4g_calling"
+            android:persistent="false"
+            android:summary="@string/enhanced_4g_lte_mode_summary_4g_calling"
+            settings:keywords="@string/keywords_enhance_4g_lte"
+            settings:controller="com.android.settings.network.telephony.Enhanced4gCallingPreferenceController"/>
+
+        <SwitchPreference
+            android:key="advance_call"
+            android:title="@string/enhanced_4g_lte_mode_title_advanced_calling"
+            android:persistent="false"
+            android:summary="@string/enhanced_4g_lte_mode_summary"
+            settings:keywords="@string/keywords_enhance_4g_lte"
+            settings:controller="com.android.settings.network.telephony.Enhanced4gAdvancedCallingPreferenceController"/>
+
+        <SwitchPreference
+            android:key="contact_discovery_opt_in"
+            android:title="@string/contact_discovery_opt_in_title"
+            android:persistent="false"
+            android:summary="@string/contact_discovery_opt_in_summary"
+            settings:controller="com.android.settings.network.telephony.ContactDiscoveryPreferenceController"/>
+
+        <ListPreference
+            android:key="preferred_network_mode_key"
+            android:title="@string/preferred_network_mode_title"
+            android:summary="@string/preferred_network_mode_summary"
+            android:entries="@array/preferred_network_mode_choices"
+            android:entryValues="@array/preferred_network_mode_values"
+            android:dialogTitle="@string/preferred_network_mode_dialogtitle"
+            settings:controller="com.android.settings.network.telephony.PreferredNetworkModePreferenceController"/>
+
+        <ListPreference
+            android:key="enabled_networks_key"
+            android:title="@string/preferred_network_mode_title"
+            android:summary="@string/preferred_network_mode_summary"
+            android:entries="@array/enabled_networks_choices"
+            android:entryValues="@array/enabled_networks_values"
+            android:dialogTitle="@string/preferred_network_mode_dialogtitle"
+            settings:controller="com.android.settings.network.telephony.EnabledNetworkModePreferenceController"/>
+
+        <Preference
+            android:key="carrier_settings_version_key"
+            android:title="@string/carrier_settings_version"
+            android:enabled="false"
+            android:shouldDisableView="false"
+            android:selectable="false"
+            settings:controller="com.android.settings.network.telephony.CarrierSettingsVersionPreferenceController"
+            settings:enableCopying="true"/>
+
+        <PreferenceCategory
+            android:key="calling_category"
+            android:title="@string/call_category"
+            settings:controller="com.android.settings.network.telephony.CallingPreferenceCategoryController">
+
+            <PreferenceScreen
+                android:key="wifi_calling"
+                android:title="@string/wifi_calling_settings_title"
+                android:summary="@string/wifi_calling_summary"
+                settings:controller="com.android.settings.network.telephony.WifiCallingPreferenceController">
+                <intent android:action="android.intent.action.MAIN"
+                        android:targetPackage="com.android.settings"
+                        android:targetClass="com.android.settings.Settings$WifiCallingSettingsActivity">
+                    <extra android:name="show_drawer_menu" android:value="true"/>
+                </intent>
+            </PreferenceScreen>
+
+            <SwitchPreference
+                android:key="video_calling_key"
+                android:title="@string/video_calling_settings_title"
+                android:persistent="true"
+                settings:controller="com.android.settings.network.telephony.VideoCallingPreferenceController"/>
+
+        </PreferenceCategory>
+
+        <com.android.settings.network.telephony.cdma.CdmaListPreference
+            android:key="cdma_system_select_key"
+            android:title="@string/cdma_system_select_title"
+            android:summary="@string/cdma_system_select_summary"
+            android:entries="@array/cdma_system_select_choices"
+            android:entryValues="@array/cdma_system_select_values"
+            android:dialogTitle="@string/cdma_system_select_dialogtitle"
+            settings:controller="com.android.settings.network.telephony.cdma.CdmaSystemSelectPreferenceController"/>
+
+        <com.android.settings.network.telephony.cdma.CdmaListPreference
+            android:key="cdma_subscription_key"
+            android:title="@string/cdma_subscription_title"
+            android:summary="@string/cdma_subscription_summary"
+            android:entries="@array/cdma_subscription_choices"
+            android:entryValues="@array/cdma_subscription_values"
+            android:dialogTitle="@string/cdma_subscription_dialogtitle"
+            settings:controller="com.android.settings.network.telephony.cdma.CdmaSubscriptionPreferenceController"/>
+
+        <PreferenceCategory
+            android:key="network_operators_category_key"
+            android:title="@string/network_operator_category"
+            settings:controller="com.android.settings.widget.PreferenceCategoryController">
+
+            <SwitchPreference
+                android:key="auto_select_key"
+                android:title="@string/select_automatically"
+                settings:controller="com.android.settings.network.telephony.gsm.AutoSelectPreferenceController"/>
+
+            <Preference
+                android:key="choose_network_key"
+                android:title="@string/choose_network_title"
+                android:fragment="com.android.phone.NetworkSelectSetting"
+                settings:controller="com.android.settings.network.telephony.gsm.OpenNetworkSelectPagePreferenceController"/>
+        </PreferenceCategory>
+
+        <!--We want separate APN setting from reset of settings because we want user to change it with caution-->
+        <com.android.settingslib.RestrictedPreference
+            android:key="telephony_apn_key"
+            android:persistent="false"
+            android:title="@string/mobile_network_apn_title"
+            settings:allowDividerAbove="true"
+            settings:controller="com.android.settings.network.telephony.ApnPreferenceController"/>
+
+        <Preference
+            android:key="carrier_settings_key"
+            android:title="@string/carrier_settings_title"
+            settings:controller="com.android.settings.network.telephony.CarrierPreferenceController">
+        </Preference>
+
     </PreferenceCategory>
 
-    <!--We want separate APN setting from reset of settings because we want user to change it with caution-->
-    <com.android.settingslib.RestrictedPreference
-        android:key="telephony_apn_key"
-        android:persistent="false"
-        android:title="@string/mobile_network_apn_title"
-        settings:allowDividerAbove="true"
-        settings:controller="com.android.settings.network.telephony.ApnPreferenceController"/>
-
     <Preference
-        android:key="carrier_settings_key"
-        android:title="@string/carrier_settings_title"
-        settings:controller="com.android.settings.network.telephony.CarrierPreferenceController">
-    </Preference>
+        android:key="erase_sim"
+        android:persistent="false"
+        android:title="@string/mobile_network_erase_sim"
+        settings:allowDividerBelow="true"
+        settings:controller="com.android.settings.network.telephony.DeleteSimProfilePreferenceController"/>
+
+    <com.android.settingslib.widget.FooterPreference
+        android:key="disable_sim_explanation"
+        android:title="@string/mobile_network_disable_sim_explanation"
+        android:selectable="false"
+        settings:allowDividerAbove="true"
+        settings:searchable="false"
+        settings:controller="com.android.settings.network.telephony.DisableSimFooterPreferenceController"/>
 
 </PreferenceScreen>
diff --git a/res/xml/mobile_network_settings_v2.xml b/res/xml/mobile_network_settings_v2.xml
deleted file mode 100644
index 506b354..0000000
--- a/res/xml/mobile_network_settings_v2.xml
+++ /dev/null
@@ -1,216 +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:key="mobile_network_pref_screen"
-    settings:initialExpandedChildrenCount="8">
-
-    <com.android.settingslib.widget.LayoutPreference
-        android:key="use_sim_switch"
-        android:layout="@layout/styled_switch_bar"
-        settings:controller="com.android.settings.network.telephony.MobileNetworkSwitchController"/>
-
-    <PreferenceCategory
-        android:key="enabled_state_container"
-        android:title="@string/summary_placeholder"
-        settings:controller="com.android.settings.network.telephony.DisabledSubscriptionController"
-        android:layout="@layout/preference_category_no_label">
-
-        <com.android.settings.datausage.DataUsageSummaryPreference
-            android:key="status_header"
-            android:visibility="gone"
-            android:selectable="false" />
-
-        <ListPreference
-            android:key="calls_preference"
-            android:title="@string/calls_preference"
-            settings:controller="com.android.settings.network.telephony.CallsDefaultSubscriptionController"
-            settings:allowDividerAbove="true"/>
-
-        <ListPreference
-            android:key="sms_preference"
-            android:title="@string/sms_preference"
-            settings:controller="com.android.settings.network.telephony.SmsDefaultSubscriptionController"/>
-
-        <Preference
-            android:key="cdma_lte_data_service_key"
-            android:title="@string/cdma_lte_data_service"
-            settings:controller="com.android.settings.network.telephony.DataServiceSetupPreferenceController"
-            settings:allowDividerAbove="true"
-            settings:allowDividerBelow="false"/>
-
-        <SwitchPreference
-            android:key="mobile_data_enable"
-            android:title="@string/mobile_data_settings_title"
-            android:summary="@string/mobile_data_settings_summary"
-            settings:controller="com.android.settings.network.telephony.MobileDataPreferenceController"
-            settings:allowDividerAbove="true"/>
-
-        <com.android.settingslib.RestrictedSwitchPreference
-            android:key="button_roaming_key"
-            android:title="@string/roaming"
-            android:persistent="false"
-            android:summaryOn="@string/roaming_enable"
-            android:summaryOff="@string/roaming_disable"
-            settings:userRestriction="no_data_roaming"
-            settings:controller="com.android.settings.network.telephony.RoamingPreferenceController"/>
-
-        <Preference
-            android:key="data_usage_summary"
-            android:title="@string/mobile_data_usage_title"
-            settings:controller="com.android.settings.network.telephony.DataUsagePreferenceController"/>
-
-        <com.android.settings.datausage.BillingCyclePreference
-            android:key="billing_preference"
-            android:title="@string/billing_cycle"
-            settings:controller="com.android.settings.datausage.BillingCyclePreferenceController"/>
-
-        <SwitchPreference
-            android:key="mms_message"
-            android:title="@string/mms_message_title"
-            android:summary="@string/mms_message_summary"
-            settings:controller="com.android.settings.network.telephony.MmsMessagePreferenceController"/>
-
-        <SwitchPreference
-            android:key="data_during_calls"
-            android:title="@string/data_during_calls_title"
-            android:summary="@string/data_during_calls_summary"
-            settings:controller="com.android.settings.network.telephony.DataDuringCallsPreferenceController"/>
-
-        <SwitchPreference
-            android:key="enhanced_4g_lte"
-            android:title="@string/enhanced_4g_lte_mode_title"
-            android:persistent="false"
-            android:summary="@string/enhanced_4g_lte_mode_summary"
-            settings:controller="com.android.settings.network.telephony.Enhanced4gLtePreferenceController"/>
-
-        <ListPreference
-            android:key="preferred_network_mode_key"
-            android:title="@string/preferred_network_mode_title"
-            android:summary="@string/preferred_network_mode_summary"
-            android:entries="@array/preferred_network_mode_choices"
-            android:entryValues="@array/preferred_network_mode_values"
-            android:dialogTitle="@string/preferred_network_mode_dialogtitle"
-            settings:controller="com.android.settings.network.telephony.PreferredNetworkModePreferenceController"/>
-
-        <ListPreference
-            android:key="enabled_networks_key"
-            android:title="@string/preferred_network_mode_title"
-            android:summary="@string/preferred_network_mode_summary"
-            android:entries="@array/enabled_networks_choices"
-            android:entryValues="@array/enabled_networks_values"
-            android:dialogTitle="@string/preferred_network_mode_dialogtitle"
-            settings:controller="com.android.settings.network.telephony.EnabledNetworkModePreferenceController"/>
-
-        <Preference
-            android:key="carrier_settings_version_key"
-            android:title="@string/carrier_settings_version"
-            settings:controller="com.android.settings.network.telephony.CarrierSettingsVersionPreferenceController"
-            settings:enableCopying="true"/>
-
-        <PreferenceCategory
-            android:key="calling_category"
-            android:title="@string/call_category">
-
-            <PreferenceScreen
-                android:key="wifi_calling_key"
-                android:title="@string/wifi_calling_settings_title"
-                android:summary="@string/wifi_calling_summary"
-                settings:controller="com.android.settings.network.telephony.WifiCallingPreferenceController">
-                <intent android:action="android.intent.action.MAIN"
-                        android:targetPackage="com.android.settings"
-                        android:targetClass="com.android.settings.Settings$WifiCallingSettingsActivity">
-                    <extra android:name="show_drawer_menu" android:value="true"/>
-                </intent>
-            </PreferenceScreen>
-
-            <SwitchPreference
-                android:key="video_calling_key"
-                android:title="@string/video_calling_settings_title"
-                android:persistent="true"
-                settings:controller="com.android.settings.network.telephony.VideoCallingPreferenceController"/>
-
-        </PreferenceCategory>
-
-        <com.android.settings.network.telephony.cdma.CdmaListPreference
-            android:key="cdma_system_select_key"
-            android:title="@string/cdma_system_select_title"
-            android:summary="@string/cdma_system_select_summary"
-            android:entries="@array/cdma_system_select_choices"
-            android:entryValues="@array/cdma_system_select_values"
-            android:dialogTitle="@string/cdma_system_select_dialogtitle"
-            settings:controller="com.android.settings.network.telephony.cdma.CdmaSystemSelectPreferenceController"/>
-
-        <com.android.settings.network.telephony.cdma.CdmaListPreference
-            android:key="cdma_subscription_key"
-            android:title="@string/cdma_subscription_title"
-            android:summary="@string/cdma_subscription_summary"
-            android:entries="@array/cdma_subscription_choices"
-            android:entryValues="@array/cdma_subscription_values"
-            android:dialogTitle="@string/cdma_subscription_dialogtitle"
-            settings:controller="com.android.settings.network.telephony.cdma.CdmaSubscriptionPreferenceController"/>
-
-        <PreferenceCategory
-            android:key="network_operators_category_key"
-            android:title="@string/network_operator_category"
-            settings:controller="com.android.settings.widget.PreferenceCategoryController">
-
-            <SwitchPreference
-                android:key="auto_select_key"
-                android:title="@string/select_automatically"
-                settings:controller="com.android.settings.network.telephony.gsm.AutoSelectPreferenceController"/>
-
-            <Preference
-                android:key="choose_network_key"
-                android:title="@string/choose_network_title"
-                android:fragment="com.android.phone.NetworkSelectSetting"
-                settings:controller="com.android.settings.network.telephony.gsm.OpenNetworkSelectPagePreferenceController"/>
-        </PreferenceCategory>
-
-        <!--We want separate APN setting from reset of settings because we want user to change it with caution-->
-        <com.android.settingslib.RestrictedPreference
-            android:key="telephony_apn_key"
-            android:persistent="false"
-            android:title="@string/mobile_network_apn_title"
-            settings:allowDividerAbove="true"
-            settings:controller="com.android.settings.network.telephony.ApnPreferenceController"/>
-
-        <Preference
-            android:key="carrier_settings_key"
-            android:title="@string/carrier_settings_title"
-            settings:controller="com.android.settings.network.telephony.CarrierPreferenceController">
-        </Preference>
-
-    </PreferenceCategory>
-
-    <Preference
-        android:key="erase_sim"
-        android:persistent="false"
-        android:title="@string/mobile_network_erase_sim"
-        settings:controller="com.android.settings.network.telephony.DeleteSimProfilePreferenceController" />
-
-    <PreferenceCategory
-        android:key="footer_container"
-        android:title="@string/summary_placeholder"
-        android:layout="@layout/preference_category_no_label"
-        settings:controller="com.android.settings.network.telephony.DisableSimFooterPreferenceController">
-        <com.android.settingslib.widget.FooterPreference
-            android:key="disable_sim_explanation"
-            android:title="@string/mobile_network_disable_sim_explanation" />
-    </PreferenceCategory>
-
-</PreferenceScreen>
diff --git a/res/xml/module_licenses.xml b/res/xml/module_licenses.xml
index 005b483..def4d49 100644
--- a/res/xml/module_licenses.xml
+++ b/res/xml/module_licenses.xml
@@ -18,7 +18,6 @@
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
-    android:key="module_licenses"
     android:title="@string/module_license_title">
     <PreferenceCategory
         android:key="module_licenses_category"
diff --git a/res/xml/my_device_info.xml b/res/xml/my_device_info.xml
index 9a6047c..5e5fab3 100644
--- a/res/xml/my_device_info.xml
+++ b/res/xml/my_device_info.xml
@@ -68,8 +68,7 @@
         android:order="15"
         android:title="@string/legal_information"
         android:fragment="com.android.settings.LegalSettings"
-        settings:allowDividerAbove="true"
-        settings:searchable="false"/>
+        settings:allowDividerAbove="true"/>
 
     <!-- Regulatory labels -->
     <Preference
@@ -94,6 +93,7 @@
         android:title="@string/sim_status_title"
         settings:keywords="@string/keywords_sim_status"
         android:summary="@string/summary_placeholder"
+        settings:enableCopying="true"
         settings:allowDividerAbove="true"/>
 
     <!-- Model & hardware -->
@@ -101,9 +101,10 @@
         android:key="device_model"
         android:order="31"
         android:title="@string/hardware_info"
-        settings:keywords="@string/keywords_model_and_hardware"
         android:summary="@string/summary_placeholder"
         android:fragment="com.android.settings.deviceinfo.hardwareinfo.HardwareInfoFragment"
+        settings:enableCopying="true"
+        settings:keywords="@string/keywords_model_and_hardware"
         settings:controller="com.android.settings.deviceinfo.HardwareInfoPreferenceController"/>
 
     <!-- IMEI -->
@@ -111,8 +112,9 @@
         android:key="imei_info"
         android:order="32"
         android:title="@string/status_imei"
-        settings:keywords="@string/keywords_imei_info"
         android:summary="@string/summary_placeholder"
+        settings:keywords="@string/keywords_imei_info"
+        settings:enableCopying="true"
         settings:controller="com.android.settings.deviceinfo.imei.ImeiInfoPreferenceController"/>
 
     <!-- Android version -->
@@ -136,9 +138,18 @@
 
     <!-- Wi-Fi MAC address -->
     <Preference
-        android:key="wifi_mac_address"
+        android:key="saved_accesspoints_wifi_mac_address"
         android:order="45"
         android:title="@string/status_wifi_mac_address"
+        android:summary="@string/view_saved_network"
+        android:fragment="com.android.settings.wifi.savedaccesspoints.SavedAccessPointsWifiSettings"
+        settings:enableCopying="false"/>
+
+    <!-- Factory Wi-Fi MAC address -->
+    <Preference
+        android:key="wifi_mac_address"
+        android:order="46"
+        android:title="@string/status_device_wifi_mac_address"
         android:summary="@string/summary_placeholder"
         android:selectable="false"
         settings:enableCopying="true"/>
@@ -146,7 +157,7 @@
     <!-- Bluetooth address -->
     <Preference
         android:key="bt_address"
-        android:order="46"
+        android:order="47"
         android:title="@string/status_bt_address"
         android:summary="@string/summary_placeholder"
         android:selectable="false"
@@ -155,7 +166,7 @@
     <!-- Device up time -->
     <Preference
         android:key="up_time"
-        android:order="47"
+        android:order="48"
         android:title="@string/status_up_time"
         android:summary="@string/summary_placeholder"
         android:selectable="false"/>
diff --git a/res/xml/network_and_internet.xml b/res/xml/network_and_internet.xml
index 32b51d4..eaa7808 100644
--- a/res/xml/network_and_internet.xml
+++ b/res/xml/network_and_internet.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2016 The Android Open Source Project
+<!-- 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.
@@ -21,40 +21,46 @@
     android:title="@string/network_dashboard_title"
     settings:initialExpandedChildrenCount="5">
 
+    <PreferenceCategory
+        android:key="multi_network_header"
+        android:title="@string/summary_placeholder"
+        android:layout="@layout/preference_category_no_label"
+        settings:allowDividerBelow="true"
+        android:order="-40"
+        settings:controller="com.android.settings.network.MultiNetworkHeaderController"/>
+
     <com.android.settings.widget.MasterSwitchPreference
         android:fragment="com.android.settings.wifi.WifiSettings"
-        android:key="toggle_wifi"
+        android:key="main_toggle_wifi"
         android:title="@string/wifi_settings"
         android:summary="@string/summary_placeholder"
         android:icon="@drawable/ic_settings_wireless"
-        android:order="-30">
+        android:order="-30"
+        settings:allowDividerAbove="true">
         <intent
             android:action="android.settings.WIFI_SETTINGS"
             android:targetClass="Settings$WifiSettingsActivity" />
     </com.android.settings.widget.MasterSwitchPreference>
 
-    <com.android.settingslib.RestrictedPreference
-        android:key="mobile_network_settings"
+    <com.android.settings.widget.AddPreference
+        android:key="mobile_network_list"
         android:title="@string/network_settings_title"
         android:summary="@string/summary_placeholder"
         android:icon="@drawable/ic_network_cell"
         android:order="-15"
         settings:keywords="@string/keywords_more_mobile_networks"
         settings:userRestriction="no_config_mobile_networks"
-        settings:useAdminDisabledSummary="true">
-    </com.android.settingslib.RestrictedPreference>
-
-    <com.android.settingslib.RestrictedPreference
-        android:fragment="com.android.settings.TetherSettings"
-        android:key="tether_settings"
-        android:title="@string/tether_settings_title_all"
-        android:icon="@drawable/ic_wifi_tethering"
-        android:order="-5"
-        android:summary="@string/summary_placeholder"
-        settings:keywords="@string/keywords_hotspot_tethering"
-        settings:userRestriction="no_config_tethering"
         settings:useAdminDisabledSummary="true" />
 
+    <com.android.settingslib.RestrictedSwitchPreference
+        android:key="airplane_mode"
+        android:title="@string/airplane_mode"
+        android:icon="@drawable/ic_airplanemode_active"
+        android:disableDependentsState="true"
+        android:order="-5"
+        settings:controller="com.android.settings.network.AirplaneModePreferenceController"
+        settings:userRestriction="no_airplane_mode"/>
+
     <com.android.settingslib.RestrictedPreference
         android:key="manage_mobile_plan"
         android:title="@string/manage_mobile_plan_title"
@@ -63,27 +69,42 @@
         settings:userRestriction="no_config_mobile_networks"
         settings:useAdminDisabledSummary="true" />
 
-    <com.android.settingslib.RestrictedSwitchPreference
-        android:key="airplane_mode_old"
-        android:title="@string/airplane_mode"
-        android:icon="@drawable/ic_airplanemode_active"
-        android:disableDependentsState="true"
+    <com.android.settingslib.RestrictedPreference
+        android:fragment="com.android.settings.TetherSettings"
+        android:key="tether_settings"
+        android:title="@string/tether_settings_title_all"
+        android:icon="@drawable/ic_wifi_tethering"
         android:order="5"
-        settings:controller="com.android.settings.network.AirplaneModePreferenceController"
-        settings:platform_slice="true"
-        settings:userRestriction="no_airplane_mode"/>
+        android:summary="@string/summary_placeholder"
+        settings:keywords="@string/keywords_hotspot_tethering"
+        settings:userRestriction="no_config_tethering"
+        settings:useAdminDisabledSummary="true" />
 
-    <Preference
-        android:fragment="com.android.settings.ProxySelector"
-        android:key="proxy_settings"
-        android:title="@string/proxy_settings_title" />
+    <com.android.settings.widget.MasterSwitchPreference
+        android:fragment="com.android.settings.AllInOneTetherSettings"
+        android:key="all_tether_settings"
+        android:title="@string/tether_settings_title_all"
+        android:icon="@drawable/ic_wifi_tethering"
+        android:order="6"
+        android:summary="@string/summary_placeholder"
+        settings:controller="com.android.settings.network.AllInOneTetherPreferenceController"
+        settings:keywords="@string/keywords_hotspot_tethering"
+        settings:userRestriction="no_config_tethering"
+        settings:useAdminDisabledSummary="true" />
+
+    <com.android.settings.datausage.DataSaverPreference
+        android:key="restrict_background_parent_entry"
+        android:title="@string/data_saver_title"
+        android:icon="@drawable/ic_settings_data_usage"
+        android:order="10"
+        android:fragment="com.android.settings.datausage.DataSaverSummary"/>
 
     <com.android.settingslib.RestrictedPreference
         android:fragment="com.android.settings.vpn2.VpnSettings"
         android:key="vpn_settings"
         android:title="@string/vpn_settings_title"
         android:icon="@drawable/ic_vpn_key"
-        android:order="10"
+        android:order="15"
         android:summary="@string/summary_placeholder"
         settings:userRestriction="no_config_vpn"
         settings:useAdminDisabledSummary="true" />
@@ -91,7 +112,7 @@
     <com.android.settings.network.PrivateDnsModeDialogPreference
         android:key="private_dns_settings"
         android:title="@string/select_private_dns_configuration_title"
-        android:order="15"
+        android:order="20"
         android:dialogTitle="@string/select_private_dns_configuration_dialog_title"
         android:dialogLayout="@layout/private_dns_mode_dialog"
         android:positiveButtonText="@string/save"
diff --git a/res/xml/network_and_internet_v2.xml b/res/xml/network_and_internet_v2.xml
deleted file mode 100644
index 3604480..0000000
--- a/res/xml/network_and_internet_v2.xml
+++ /dev/null
@@ -1,110 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2018 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<PreferenceScreen
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:settings="http://schemas.android.com/apk/res-auto"
-    android:key="network_and_internet_screen"
-    android:title="@string/network_dashboard_title"
-    settings:initialExpandedChildrenCount="5">
-
-    <PreferenceCategory
-        android:key="multi_network_header"
-        android:title="@string/summary_placeholder"
-        android:layout="@layout/preference_category_no_label"
-        settings:allowDividerBelow="true"
-        android:order="-40"
-        settings:controller="com.android.settings.network.MultiNetworkHeaderController"/>
-
-    <com.android.settings.widget.MasterSwitchPreference
-        android:fragment="com.android.settings.wifi.WifiSettings"
-        android:key="toggle_wifi"
-        android:title="@string/wifi_settings"
-        android:summary="@string/summary_placeholder"
-        android:icon="@drawable/ic_settings_wireless"
-        android:order="-30"
-        settings:allowDividerAbove="true">
-        <intent
-            android:action="android.settings.WIFI_SETTINGS"
-            android:targetClass="Settings$WifiSettingsActivity" />
-    </com.android.settings.widget.MasterSwitchPreference>
-
-    <com.android.settings.widget.AddPreference
-        android:key="mobile_network_list"
-        android:title="@string/network_settings_title"
-        android:summary="@string/summary_placeholder"
-        android:icon="@drawable/ic_network_cell"
-        android:order="-15"
-        settings:keywords="@string/keywords_more_mobile_networks"
-        settings:userRestriction="no_config_mobile_networks"
-        settings:useAdminDisabledSummary="true" />
-
-    <com.android.settingslib.RestrictedSwitchPreference
-        android:key="airplane_mode"
-        android:title="@string/airplane_mode"
-        android:icon="@drawable/ic_airplanemode_active"
-        android:disableDependentsState="true"
-        android:order="-5"
-        settings:controller="com.android.settings.network.AirplaneModePreferenceController"
-        settings:platform_slice="true"
-        settings:userRestriction="no_airplane_mode"/>
-
-    <com.android.settingslib.RestrictedPreference
-        android:key="manage_mobile_plan"
-        android:title="@string/manage_mobile_plan_title"
-        android:persistent="false"
-        android:order="0"
-        settings:userRestriction="no_config_mobile_networks"
-        settings:useAdminDisabledSummary="true" />
-
-    <com.android.settingslib.RestrictedPreference
-        android:fragment="com.android.settings.TetherSettings"
-        android:key="tether_settings"
-        android:title="@string/tether_settings_title_all"
-        android:icon="@drawable/ic_wifi_tethering"
-        android:order="5"
-        android:summary="@string/summary_placeholder"
-        settings:keywords="@string/keywords_hotspot_tethering"
-        settings:userRestriction="no_config_tethering"
-        settings:useAdminDisabledSummary="true" />
-
-    <com.android.settings.datausage.DataSaverPreference
-        android:key="restrict_background_parent_entry"
-        android:title="@string/data_saver_title"
-        android:icon="@drawable/ic_settings_data_usage"
-        android:order="10"
-        android:fragment="com.android.settings.datausage.DataSaverSummary"/>
-
-    <com.android.settingslib.RestrictedPreference
-        android:fragment="com.android.settings.vpn2.VpnSettings"
-        android:key="vpn_settings"
-        android:title="@string/vpn_settings_title"
-        android:icon="@drawable/ic_vpn_key"
-        android:order="15"
-        android:summary="@string/summary_placeholder"
-        settings:userRestriction="no_config_vpn"
-        settings:useAdminDisabledSummary="true" />
-
-    <com.android.settings.network.PrivateDnsModeDialogPreference
-        android:key="private_dns_settings"
-        android:title="@string/select_private_dns_configuration_title"
-        android:order="20"
-        android:dialogTitle="@string/select_private_dns_configuration_dialog_title"
-        android:dialogLayout="@layout/private_dns_mode_dialog"
-        android:positiveButtonText="@string/save"
-        android:negativeButtonText="@android:string/cancel" />
-
-</PreferenceScreen>
diff --git a/res/xml/nfc_and_payment_settings.xml b/res/xml/nfc_and_payment_settings.xml
new file mode 100644
index 0000000..f240388
--- /dev/null
+++ b/res/xml/nfc_and_payment_settings.xml
@@ -0,0 +1,40 @@
+<?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:title="@string/nfc_quick_toggle_title">
+
+    <SwitchPreference
+        android:key="toggle_nfc"
+        android:title="@string/nfc_quick_toggle_title"
+        android:summary="@string/nfc_quick_toggle_summary"
+        settings:controller="com.android.settings.nfc.NfcPreferenceController"/>
+
+    <SwitchPreference
+        android:key="nfc_secure_settings"
+        android:title="@string/nfc_secure_settings_title"
+        settings:controller="com.android.settings.nfc.SecureNfcPreferenceController"
+        android:summary="@string/nfc_secure_toggle_summary"/>
+
+    <Preference
+        android:key="default_payment_app"
+        android:title="@string/nfc_payment_settings_title"
+        android:fragment="com.android.settings.nfc.PaymentSettings"
+        settings:keywords="@string/keywords_default_payment_app"
+        settings:controller="com.android.settings.applications.specialaccess.DefaultPaymentSettingsPreferenceController"/>
+</PreferenceScreen>
\ No newline at end of file
diff --git a/res/xml/nfc_payment_settings.xml b/res/xml/nfc_payment_settings.xml
index 2508c39..8e55a39 100644
--- a/res/xml/nfc_payment_settings.xml
+++ b/res/xml/nfc_payment_settings.xml
@@ -17,7 +17,6 @@
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
-    android:key="nfc_payment_settings_screen"
     android:title="@string/nfc_payment_settings_title">
 
     <com.android.settings.nfc.NfcPaymentPreference
diff --git a/res/xml/night_display_settings.xml b/res/xml/night_display_settings.xml
index 07687ea..eed5c77 100644
--- a/res/xml/night_display_settings.xml
+++ b/res/xml/night_display_settings.xml
@@ -15,45 +15,48 @@
 -->
 
 <PreferenceScreen
-        xmlns:android="http://schemas.android.com/apk/res/android"
-        xmlns:settings="http://schemas.android.com/apk/res-auto"
-        android:title="@string/night_display_title"
-        android:key="night_display_title"
-        settings:keywords="@string/keywords_display_night_display">
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:settings="http://schemas.android.com/apk/res-auto"
+    android:title="@string/night_display_title"
+    settings:keywords="@string/keywords_display_night_display">
 
     <DropDownPreference
         android:key="night_display_auto_mode"
         android:title="@string/night_display_auto_mode_title"
         android:summary="%s"
-        settings:controller="com.android.settings.display.NightDisplayAutoModePreferenceController" />
+        settings:controller="com.android.settings.display.NightDisplayAutoModePreferenceController"/>
 
     <Preference
         android:key="night_display_start_time"
         android:title="@string/night_display_start_time_title"
-        settings:controller="com.android.settings.display.NightDisplayCustomStartTimePreferenceController" />
+        settings:controller="com.android.settings.display.NightDisplayCustomStartTimePreferenceController"/>
 
     <Preference
         android:key="night_display_end_time"
         android:title="@string/night_display_end_time_title"
-        settings:controller="com.android.settings.display.NightDisplayCustomEndTimePreferenceController" />
+        settings:controller="com.android.settings.display.NightDisplayCustomEndTimePreferenceController"/>
 
     <com.android.settings.widget.SeekBarPreference
         android:key="night_display_temperature"
         android:title="@string/night_display_temperature_title"
         settings:keywords="@string/keywords_display_night_display"
         settings:controller="com.android.settings.display.NightDisplayIntensityPreferenceController"
-        settings:unavailableSliceSubtitle="@string/night_display_not_currently_on" />
+        settings:unavailableSliceSubtitle="@string/night_display_not_currently_on"/>
 
     <com.android.settingslib.widget.LayoutPreference
         android:key="night_display_activated"
         android:title="@string/night_display_title"
         android:selectable="false"
         android:layout="@layout/night_display_activation_button"
+        settings:allowDividerBelow="true"
         settings:keywords="@string/keywords_display_night_display"
-        settings:controller="com.android.settings.display.NightDisplayActivationPreferenceController" />
+        settings:controller="com.android.settings.display.NightDisplayActivationPreferenceController"/>
 
-    <PreferenceCategory android:key="night_display_footer_category">
-        <com.android.settingslib.widget.FooterPreference />
-    </PreferenceCategory>
+    <com.android.settingslib.widget.FooterPreference
+        android:key="night_display_footer"
+        android:title="@string/night_display_text"
+        android:selectable="false"
+        settings:allowDividerAbove="true"
+        settings:controller="com.android.settings.display.NightDisplayFooterPreferenceController"/>
 
-</PreferenceScreen>
\ No newline at end of file
+</PreferenceScreen>
diff --git a/res/xml/notification_access_permission_details.xml b/res/xml/notification_access_permission_details.xml
new file mode 100644
index 0000000..8cc5993
--- /dev/null
+++ b/res/xml/notification_access_permission_details.xml
@@ -0,0 +1,27 @@
+<?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"
+    android:key="notification_access_permission_detail_settings"
+    android:title="@string/manage_notification_access_title">
+
+    <SwitchPreference
+        android:key="notification_access_switch"
+        android:title="@string/notification_access_detail_switch"/>
+
+</PreferenceScreen>
\ No newline at end of file
diff --git a/res/xml/notification_access_settings.xml b/res/xml/notification_access_settings.xml
index 4dbaf88..43f7c49 100644
--- a/res/xml/notification_access_settings.xml
+++ b/res/xml/notification_access_settings.xml
@@ -20,4 +20,5 @@
     xmlns:settings="http://schemas.android.com/apk/res-auto"
     android:key="notification_access_screen"
     android:title="@string/manage_notification_access_title"
+    settings:searchable="false"
     settings:controller="com.android.settings.applications.specialaccess.notificationaccess.NotificationAccessScreenPreferenceController" />
diff --git a/res/xml/notification_importance.xml b/res/xml/notification_importance.xml
index 6f9cc0e..0ca00e6 100644
--- a/res/xml/notification_importance.xml
+++ b/res/xml/notification_importance.xml
@@ -17,16 +17,16 @@
 <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
         android:title="@string/notification_importance_title">
 
-        <com.android.settings.widget.RadioButtonPreference
+        <com.android.settingslib.widget.RadioButtonPreference
             android:key="importance_high"
             android:title="@string/notification_importance_high" />
-        <com.android.settings.widget.RadioButtonPreference
+        <com.android.settingslib.widget.RadioButtonPreference
             android:key="importance_default"
             android:title="@string/notification_importance_default" />
-        <com.android.settings.widget.RadioButtonPreference
+        <com.android.settingslib.widget.RadioButtonPreference
             android:key="importance_low"
             android:title="@string/notification_importance_low" />
-        <com.android.settings.widget.RadioButtonPreference
+        <com.android.settingslib.widget.RadioButtonPreference
             android:key="importance_min"
             android:title="@string/notification_importance_min" />
 
diff --git a/res/xml/open_supported_links.xml b/res/xml/open_supported_links.xml
new file mode 100644
index 0000000..0f6e2ca
--- /dev/null
+++ b/res/xml/open_supported_links.xml
@@ -0,0 +1,40 @@
+<?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:title="@string/app_launch_open_domain_urls_title">
+
+    <com.android.settingslib.widget.LayoutPreference
+        android:key="app_header_view"
+        android:layout="@layout/settings_entity_header"
+        android:selectable="false"
+        settings:controller="com.android.settings.applications.AppHeaderPreferenceController"
+        settings:allowDividerBelow="true"/>
+
+    <PreferenceCategory
+        android:key="app_launch_allow_app_to_open_supported_links"
+        android:title="@string/app_link_open_always"
+        settings:controller="com.android.settings.applications.AppOpenSupportedLinksPreferenceController">
+    </PreferenceCategory>
+
+    <com.android.settingslib.widget.FooterPreference
+        android:key="supported_links_footer"
+        android:title="@string/open_supported_links_footer"
+        android:selectable="false"
+        settings:searchable="false"/>
+
+</PreferenceScreen>
\ No newline at end of file
diff --git a/res/xml/physical_keyboard_settings.xml b/res/xml/physical_keyboard_settings.xml
index a2d9a6b..96946a9 100644
--- a/res/xml/physical_keyboard_settings.xml
+++ b/res/xml/physical_keyboard_settings.xml
@@ -15,7 +15,6 @@
 -->
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
-    android:key="physical_keyboard_screen"
     android:title="@string/physical_keyboard_title">
     <!-- Additional preference screens are inserted here programmatically
          with low order values to set the key map of each attached keyboard. -->
diff --git a/res/xml/pick_up_gesture_settings.xml b/res/xml/pick_up_gesture_settings.xml
index 47f707a..178ddf5 100644
--- a/res/xml/pick_up_gesture_settings.xml
+++ b/res/xml/pick_up_gesture_settings.xml
@@ -18,7 +18,6 @@
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
-    android:key="gesture_pick_up_screen"
     android:title="@string/ambient_display_pickup_title">
 
     <com.android.settings.widget.VideoPreference
@@ -34,4 +33,4 @@
         app:controller="com.android.settings.gestures.PickupGesturePreferenceController"
         app:allowDividerAbove="true" />
 
-</PreferenceScreen>
\ No newline at end of file
+</PreferenceScreen>
diff --git a/res/xml/picture_in_picture_settings.xml b/res/xml/picture_in_picture_settings.xml
index 35839cd..c9e3a3f 100644
--- a/res/xml/picture_in_picture_settings.xml
+++ b/res/xml/picture_in_picture_settings.xml
@@ -20,4 +20,5 @@
     xmlns:settings="http://schemas.android.com/apk/res-auto"
     android:key="picture_in_picture_screen"
     android:title="@string/picture_in_picture_title"
+    settings:searchable="false"
     settings:controller="com.android.settings.applications.specialaccess.pictureinpicture.PictureInPictureScreenPreferenceController" />
diff --git a/res/xml/platform_compat_settings.xml b/res/xml/platform_compat_settings.xml
new file mode 100644
index 0000000..86e62fe
--- /dev/null
+++ b/res/xml/platform_compat_settings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  Copyright 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/platform_compat_dashboard_title">
+</PreferenceScreen>
diff --git a/res/xml/power_usage_details.xml b/res/xml/power_usage_details.xml
deleted file mode 100644
index 8c79116..0000000
--- a/res/xml/power_usage_details.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2015 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:settings="http://schemas.android.com/apk/res-auto">
-
-        <com.android.settingslib.widget.LayoutPreference
-            android:key="two_buttons"
-            android:layout="@layout/two_buttons_panel"
-            android:selectable="false" />
-
-        <PreferenceCategory
-            android:key="controls_parent"
-            android:title="@string/controls_subtitle">
-
-            <SwitchPreference
-                android:key="background_activity"
-                android:title="@string/background_activity_title"
-                android:summary="@string/background_activity_summary"/>
-
-            <Preference
-                android:key="high_power"
-                android:title="@string/high_power_apps" />
-
-        </PreferenceCategory>
-
-        <PreferenceCategory
-            android:key="details_parent"
-            android:layout="@layout/tall_preference_category"
-            android:title="@string/details_subtitle" />
-
-        <PreferenceCategory
-            android:key="messages_parent"
-            android:layout="@layout/tall_preference_category" />
-
-        <PreferenceCategory
-            android:key="packages_parent"
-            android:layout="@layout/tall_preference_category"
-            android:title="@string/packages_subtitle" />
-
-</PreferenceScreen>
diff --git a/res/xml/power_usage_summary.xml b/res/xml/power_usage_summary.xml
index 88f88f1..005ce17 100644
--- a/res/xml/power_usage_summary.xml
+++ b/res/xml/power_usage_summary.xml
@@ -37,8 +37,7 @@
         android:fragment="com.android.settings.fuelgauge.batterysaver.BatterySaverSettings"
         android:key="battery_saver_summary"
         android:title="@string/battery_saver"
-        settings:controller="com.android.settings.fuelgauge.BatterySaverController"
-        settings:platform_slice="true" />
+        settings:controller="com.android.settings.fuelgauge.BatterySaverController" />
 
     <Preference
         android:fragment="com.android.settings.fuelgauge.SmartBatterySettings"
@@ -64,4 +63,9 @@
         android:title="@string/device_screen_usage"
         android:selectable="false" />
 
+    <com.android.settingslib.widget.FooterPreference
+        android:key="power_usage_footer"
+        android:title="@string/battery_footer_summary"
+        android:selectable="false"
+        settings:searchable="false"/>
 </PreferenceScreen>
diff --git a/res/xml/premium_sms_settings.xml b/res/xml/premium_sms_settings.xml
index 17d1297..ede6057 100644
--- a/res/xml/premium_sms_settings.xml
+++ b/res/xml/premium_sms_settings.xml
@@ -20,4 +20,5 @@
     xmlns:settings="http://schemas.android.com/apk/res-auto"
     android:key="premium_sms_screen"
     android:title="@string/premium_sms_access"
+    settings:searchable="false"
     settings:controller="com.android.settings.applications.specialaccess.premiumsms.PremiumSmsScreenPreferenceController" />
diff --git a/res/xml/prevent_ringing_gesture_settings.xml b/res/xml/prevent_ringing_gesture_settings.xml
index 4b0edc3..cc2f234 100644
--- a/res/xml/prevent_ringing_gesture_settings.xml
+++ b/res/xml/prevent_ringing_gesture_settings.xml
@@ -18,7 +18,6 @@
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
-    android:key="gesture_prevent_ringing_screen"
     android:title="@string/gesture_prevent_ringing_screen_title">
 
     <com.android.settings.widget.VideoPreference
@@ -33,4 +32,4 @@
     <PreferenceCategory
         android:key="gesture_prevent_ringing_category"
         android:title="@string/gesture_prevent_ringing_title" />
-</PreferenceScreen>
\ No newline at end of file
+</PreferenceScreen>
diff --git a/res/xml/previously_connected_devices.xml b/res/xml/previously_connected_devices.xml
index 8c5509b..435ced7 100644
--- a/res/xml/previously_connected_devices.xml
+++ b/res/xml/previously_connected_devices.xml
@@ -17,11 +17,10 @@
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
-    android:key="connected_devices_screen_previously"
     android:title="@string/connected_device_previously_connected_screen_title">
 
     <PreferenceCategory
         android:key="saved_device_list"
         settings:controller="com.android.settings.connecteddevice.SavedDeviceGroupController"/>
 
-</PreferenceScreen>
\ No newline at end of file
+</PreferenceScreen>
diff --git a/res/xml/print_settings.xml b/res/xml/print_settings.xml
index 8d840d1..1919e53 100644
--- a/res/xml/print_settings.xml
+++ b/res/xml/print_settings.xml
@@ -17,7 +17,6 @@
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
-    android:key="print_settings_screen"
     android:title="@string/print_settings"
     settings:keywords="@string/keywords_printing">
 
diff --git a/res/xml/privacy_dashboard_settings.xml b/res/xml/privacy_dashboard_settings.xml
index 1dd609e..7899963 100644
--- a/res/xml/privacy_dashboard_settings.xml
+++ b/res/xml/privacy_dashboard_settings.xml
@@ -22,6 +22,7 @@
     android:title="@string/privacy_dashboard_title"
     settings:initialExpandedChildrenCount="4">
 
+
     <!-- Work Policy info -->
     <Preference
         android:key="work_policy_info"
@@ -43,8 +44,9 @@
     <Preference
         android:key="privacy_manage_perms"
         android:title="@string/app_permissions"
+        android:summary="@string/summary_placeholder"
         settings:allowDividerAbove="true"
-        settings:keywords="@string/keywords_app_permissions"
+        settings:searchable="false"
         settings:controller="com.android.settings.applications.AppPermissionsPreferenceController">
         <intent android:action="android.intent.action.MANAGE_PERMISSIONS"/>
     </Preference>
diff --git a/res/xml/privacy_settings.xml b/res/xml/privacy_settings.xml
index 2e09dbd..2fc3ca4 100644
--- a/res/xml/privacy_settings.xml
+++ b/res/xml/privacy_settings.xml
@@ -17,7 +17,6 @@
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
-    android:key="privacy_settings_screen"
     android:title="@string/privacy_settings_title">
 
     <!-- Backup settings -->
diff --git a/res/xml/reset_dashboard_fragment.xml b/res/xml/reset_dashboard_fragment.xml
index 1b8dc68..ac4ccb5 100644
--- a/res/xml/reset_dashboard_fragment.xml
+++ b/res/xml/reset_dashboard_fragment.xml
@@ -18,8 +18,7 @@
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
-    android:title="@string/reset_dashboard_title"
-    android:key="reset_dashboard_fragment_screen">
+    android:title="@string/reset_dashboard_title">
 
     <!-- Network reset -->
     <com.android.settingslib.RestrictedPreference
diff --git a/res/xml/restricted_apps_detail.xml b/res/xml/restricted_apps_detail.xml
index 1e08a7e..76c656e 100644
--- a/res/xml/restricted_apps_detail.xml
+++ b/res/xml/restricted_apps_detail.xml
@@ -16,9 +16,15 @@
 
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:settings="http://schemas.android.com/apk/res-auto"
     android:title="@string/restricted_app_title">
 
     <PreferenceCategory
         android:key="restrict_app_list"/>
 
+    <com.android.settingslib.widget.FooterPreference
+        android:key="restricted_app_footer"
+        android:title="@string/restricted_app_detail_footer"
+        android:selectable="false"
+        settings:searchable="false"/>
 </PreferenceScreen>
diff --git a/res/xml/screen_pinning_settings.xml b/res/xml/screen_pinning_settings.xml
index f27e4aa..04e5377 100644
--- a/res/xml/screen_pinning_settings.xml
+++ b/res/xml/screen_pinning_settings.xml
@@ -16,11 +16,17 @@
 
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
-    android:key="screen_pinning_settings_screen"
+    xmlns:settings="http://schemas.android.com/apk/res-auto"
     android:title="@string/screen_pinning_title">
 
     <SwitchPreference
         android:key="use_screen_lock"
         android:title="@string/screen_pinning_unlock_none" />
 
+    <com.android.settingslib.widget.FooterPreference
+        android:key="screen_pinning_settings_screen_footer"
+        android:title="@string/screen_pinning_description"
+        android:selectable="false"
+        settings:searchable="false" />
+
 </PreferenceScreen>
diff --git a/res/xml/security_dashboard_settings.xml b/res/xml/security_dashboard_settings.xml
index 6a896ce..7610b32 100644
--- a/res/xml/security_dashboard_settings.xml
+++ b/res/xml/security_dashboard_settings.xml
@@ -147,4 +147,11 @@
         android:summary="@string/summary_placeholder"
         android:fragment="com.android.settings.security.ScreenPinningSettings" />
 
+    <SwitchPreference
+        android:order="90"
+        android:key="confirm_sim_deletion"
+        android:title="@string/confirm_sim_deletion_title"
+        android:summary="@string/confirm_sim_deletion_description"
+        settings:controller="com.android.settings.security.ConfirmSimDeletionPreferenceController"/>
+
 </PreferenceScreen>
\ No newline at end of file
diff --git a/res/xml/security_lockscreen_settings.xml b/res/xml/security_lockscreen_settings.xml
index 8cd4d76..8962fc2 100644
--- a/res/xml/security_lockscreen_settings.xml
+++ b/res/xml/security_lockscreen_settings.xml
@@ -17,9 +17,7 @@
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
-    android:key="security_lockscreen_settings_screen"
-    android:title="@string/lockscreen_settings_title"
-    settings:keywords="@string/keywords_ambient_display_screen">
+    android:title="@string/lockscreen_settings_title">
 
     <PreferenceCategory
         android:key="lockscreen_what_to_show"
@@ -71,18 +69,21 @@
             android:key="ambient_display_tap"
             android:title="@string/ambient_display_tap_screen_title"
             android:fragment="com.android.settings.gestures.TapScreenGestureSettings"
+            settings:searchable="false"
             settings:controller="com.android.settings.gestures.TapScreenGesturePreferenceController" />
 
         <Preference
             android:key="ambient_display_double_tap"
             android:title="@string/ambient_display_title"
             android:fragment="com.android.settings.gestures.DoubleTapScreenSettings"
+            settings:searchable="false"
             settings:controller="com.android.settings.gestures.DoubleTapScreenPreferenceController" />
 
         <Preference
             android:key="ambient_display_pick_up"
             android:title="@string/ambient_display_pickup_title"
             android:fragment="com.android.settings.gestures.PickupGestureSettings"
+            settings:searchable="false"
             settings:controller="com.android.settings.gestures.PickupGesturePreferenceController" />
 
         <SwitchPreference
diff --git a/res/xml/security_settings_face.xml b/res/xml/security_settings_face.xml
index e613470..858911d 100644
--- a/res/xml/security_settings_face.xml
+++ b/res/xml/security_settings_face.xml
@@ -18,14 +18,13 @@
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
-    android:key="security_settings_face_settings_page"
     android:title="@string/security_settings_face_preference_title">
 
     <com.android.settings.widget.VideoPreference
         android:key="security_settings_face_video"
         android:title="@string/summary_placeholder"
         app:animation="@raw/face_settings"
-        app:controller="com.android.settings.biometrics.face.FaceSettingsVideoPreferenceController"/>
+        app:controller="com.android.settings.widget.VideoPreferenceController"/>
 
     <PreferenceCategory
         android:key="security_settings_face_unlock_category"
@@ -71,18 +70,19 @@
         android:title="@string/security_settings_face_preference_title">
         <com.android.settingslib.widget.LayoutPreference
             android:key="security_settings_face_delete_faces_container"
+            android:title="@string/security_settings_face_settings_remove_face_data"
             android:selectable="false"
-            android:layout="@layout/face_remove_button" />
+            android:layout="@layout/face_remove_button"
+            settings:allowDividerBelow="true"/>
 
         <com.android.settingslib.widget.LayoutPreference
             android:key="security_settings_face_enroll_faces_container"
+            android:title="@string/security_settings_face_settings_enroll"
             android:selectable="false"
-            android:layout="@layout/face_enroll_button" />
+            android:layout="@layout/face_enroll_button"
+            settings:allowDividerBelow="true"/>
     </PreferenceCategory>
 
-    <PreferenceCategory
-        android:key="security_settings_face_footer_container">
-        <com.android.settingslib.widget.FooterPreference />
-    </PreferenceCategory>
-
-</PreferenceScreen>
\ No newline at end of file
+    <com.android.settingslib.widget.FooterPreference
+        settings:allowDividerAbove="true"/>
+</PreferenceScreen>
diff --git a/res/xml/security_settings_picker.xml b/res/xml/security_settings_picker.xml
index 2e6361a..e772c38 100644
--- a/res/xml/security_settings_picker.xml
+++ b/res/xml/security_settings_picker.xml
@@ -15,6 +15,7 @@
 -->
 
 <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
+                  xmlns:settings="http://schemas.android.com/apk/res-auto"
         android:title="@string/lock_settings_picker_title"
         android:key="lock_settings_picker">
 
@@ -57,4 +58,9 @@
             android:title="@string/face_unlock_skip_face"
             android:persistent="false"/>
 
+    <com.android.settingslib.widget.FooterPreference
+            android:key="lock_settings_footer"
+            android:selectable="false"
+            settings:searchable="false"/>
+
 </PreferenceScreen>
diff --git a/res/xml/sim_settings.xml b/res/xml/sim_settings.xml
deleted file mode 100644
index 63e4ba4..0000000
--- a/res/xml/sim_settings.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2014 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
-    android:key="sim_cards"
-    android:title="@string/sim_settings_title">
-
-    <PreferenceCategory
-            android:key="sim_activities"
-            android:title="@string/sim_pref_divider" >
-
-        <Preference android:key="sim_cellular_data"
-            android:title="@string/cellular_data_title" />
-
-        <Preference android:key="sim_calls"
-            android:title="@string/calls_title" />
-
-        <Preference android:key="sim_sms"
-            android:title="@string/sms_messages_title" />
-
-    </PreferenceCategory>
-
-
-</PreferenceScreen>
diff --git a/res/xml/smart_battery_detail.xml b/res/xml/smart_battery_detail.xml
index fa1b20b..87eeb86 100644
--- a/res/xml/smart_battery_detail.xml
+++ b/res/xml/smart_battery_detail.xml
@@ -46,4 +46,9 @@
         android:key="restricted_app"
         android:title="@string/restricted_app_title"/>
 
+    <com.android.settingslib.widget.FooterPreference
+        android:key="smart_battery_detail_footer"
+        android:title="@string/smart_battery_footer"
+        android:selectable="false"
+        settings:searchable="false"/>
 </PreferenceScreen>
\ No newline at end of file
diff --git a/res/xml/sound_settings.xml b/res/xml/sound_settings.xml
index d99cc00..2c42111 100644
--- a/res/xml/sound_settings.xml
+++ b/res/xml/sound_settings.xml
@@ -22,13 +22,14 @@
     settings:keywords="@string/keywords_sounds"
     settings:initialExpandedChildrenCount="9">
 
-    <!-- Remote volume -->
-    <com.android.settings.notification.RemoteVolumeSeekBarPreference
-        android:key="remote_volume"
-        android:icon="@drawable/ic_volume_remote"
-        android:title="@string/remote_media_volume_option_title"
+    <!-- Remote volume group -->
+    <PreferenceCategory
+        android:key="remote_media_group"
+        android:title=""
         android:order="-185"
-        settings:controller="com.android.settings.notification.RemoteVolumePreferenceController"/>
+        settings:allowDividerBelow="true"
+        settings:controller="com.android.settings.notification.RemoteVolumeGroupController">
+    </PreferenceCategory>
 
     <!-- Media volume -->
     <com.android.settings.notification.VolumeSeekBarPreference
@@ -88,22 +89,23 @@
         settings:controller="com.android.settings.notification.NotificationVolumePreferenceController"/>
 
     <!-- Also vibrate for calls -->
-    <SwitchPreference
-        android:key="vibrate_when_ringing"
+    <Preference
+        android:fragment="com.android.settings.sound.VibrateForCallsPreferenceFragment"
+        android:key="vibrate_for_calls"
         android:title="@string/vibrate_when_ringing_title"
-        settings:controller="com.android.settings.notification.VibrateWhenRingPreferenceController"
-        android:order="-130"/>
+        android:order="-130"
+        settings:controller="com.android.settings.sound.VibrateForCallsPreferenceController"/>
 
     <!-- Interruptions -->
     <com.android.settingslib.RestrictedPreference
         android:key="zen_mode"
         android:title="@string/zen_mode_settings_title"
-        android:fragment="com.android.settings.notification.ZenModeSettings"
+        android:fragment="com.android.settings.notification.zen.ZenModeSettings"
         android:order="-120"
         settings:useAdminDisabledSummary="true"
         settings:keywords="@string/keywords_sounds_and_notifications_interruptions"
         settings:allowDividerAbove="true"
-        settings:controller="com.android.settings.notification.ZenModePreferenceController"/>
+        settings:controller="com.android.settings.notification.zen.ZenModePreferenceController"/>
 
     <Preference
         android:key="gesture_prevent_ringing_sound"
diff --git a/res/xml/special_access.xml b/res/xml/special_access.xml
index f846298..6ee87f4 100644
--- a/res/xml/special_access.xml
+++ b/res/xml/special_access.xml
@@ -17,10 +17,18 @@
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
-    android:key="special_app_access_screen"
     android:title="@string/special_access">
 
     <Preference
+        android:key="manage_external_storage"
+        android:title="@string/manage_external_storage_title"
+        android:fragment="com.android.settings.applications.manageapplications.ManageApplications">
+        <extra
+            android:name="classname"
+            android:value="com.android.settings.Settings$ManageExternalStorageActivity" />
+    </Preference>
+
+    <Preference
         android:key="high_power_apps"
         android:title="@string/high_power_apps"
         android:fragment="com.android.settings.applications.manageapplications.ManageApplications"
@@ -32,17 +40,25 @@
     </Preference>
 
     <Preference
+        android:key="interact_across_profiles"
+        android:title="@string/interact_across_profiles_title"
+        android:fragment="com.android.settings.applications.specialaccess.interactacrossprofiles.InteractAcrossProfilesSettings"
+        settings:keywords="@string/interact_across_profiles_keywords"
+        settings:controller="com.android.settings.applications.specialaccess.interactacrossprofiles.InteractAcrossProfilesController" />
+
+    <Preference
         android:key="device_administrators"
         android:title="@string/manage_device_admin"
         android:fragment="com.android.settings.applications.specialaccess.deviceadmin.DeviceAdminSettings"
         android:summary="@string/summary_placeholder"
+        settings:searchable="false"
         settings:controller="com.android.settings.enterprise.ManageDeviceAdminPreferenceController" />
 
     <Preference
-        android:key="system_alert_window"
+        android:key="system_alert_window_app_list"
         android:title="@string/system_alert_window_settings"
         android:fragment="com.android.settings.applications.manageapplications.ManageApplications"
-        settings:keywords="@string/keywords_system_alert_window"
+        settings:keywords="@string/keywords_draw_overlay"
         settings:controller="com.android.settings.applications.specialaccess.SystemAlertWindowPreferenceController">
         <extra
             android:name="classname"
@@ -52,7 +68,7 @@
     <Preference
         android:key="zen_access"
         android:title="@string/manage_zen_access_title"
-        android:fragment="com.android.settings.notification.ZenAccessSettings"
+        android:fragment="com.android.settings.notification.zen.ZenAccessSettings"
         settings:controller="com.android.settings.applications.specialaccess.zenaccess.ZenAccessController" />
 
     <Preference
@@ -92,13 +108,6 @@
         settings:controller="com.android.settings.applications.specialaccess.premiumsms.PremiumSmsController" />
 
     <Preference
-        android:key="default_payment_app"
-        android:title="@string/nfc_payment_settings_title"
-        android:fragment="com.android.settings.nfc.PaymentSettings"
-        settings:keywords="@string/keywords_default_payment_app"
-        settings:controller="com.android.settings.applications.specialaccess.DefaultPaymentSettingsPreferenceController" />
-
-    <Preference
         android:key="data_saver"
         android:title="@string/unrestricted_data_saver"
         android:fragment="com.android.settings.datausage.UnrestrictedDataAccess"
diff --git a/res/xml/storage_dashboard_fragment.xml b/res/xml/storage_dashboard_fragment.xml
index 63ce90b..51d4935 100644
--- a/res/xml/storage_dashboard_fragment.xml
+++ b/res/xml/storage_dashboard_fragment.xml
@@ -17,12 +17,13 @@
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
-    android:key="storage_dashboard_screen"
     android:title="@string/storage_settings"
     android:orderingFromXml="false">
     <com.android.settings.deviceinfo.storage.StorageSummaryDonutPreference
         android:key="pref_summary"
-        android:order="0" />
+        android:order="0"
+        settings:searchable="false"
+        settings:controller="com.android.settings.deviceinfo.storage.StorageSummaryDonutPreferenceController"/>
     <com.android.settings.widget.MasterSwitchPreference
         android:fragment="com.android.settings.deletionhelper.AutomaticStorageManagerSettings"
         android:key="toggle_asm"
diff --git a/res/xml/system_dashboard_fragment.xml b/res/xml/system_dashboard_fragment.xml
index 6a753f2..88b8d2f 100644
--- a/res/xml/system_dashboard_fragment.xml
+++ b/res/xml/system_dashboard_fragment.xml
@@ -22,6 +22,14 @@
     settings:initialExpandedChildrenCount="4">
 
     <Preference
+        android:key="language_input_settings"
+        android:title="@string/language_settings"
+        android:icon="@drawable/ic_settings_language"
+        android:order="-260"
+        android:fragment="com.android.settings.language.LanguageAndInputSettings"
+        settings:controller="com.android.settings.language.LanguageAndInputPreferenceController"/>
+
+    <Preference
         android:key="gesture_settings"
         android:title="@string/gesture_preference_title"
         android:icon="@drawable/ic_settings_gestures"
@@ -30,6 +38,14 @@
         settings:controller="com.android.settings.gestures.GesturesSettingPreferenceController"/>
 
     <Preference
+        android:key="date_time_settings"
+        android:title="@string/date_and_time"
+        android:icon="@drawable/ic_settings_date_time"
+        android:order="-240"
+        android:fragment="com.android.settings.datetime.DateTimeSettings"
+        settings:controller="com.android.settings.datetime.DateTimePreferenceController"/>
+
+    <Preference
         android:key="reset_dashboard"
         android:title="@string/reset_dashboard_title"
         android:summary="@string/reset_dashboard_summary"
@@ -47,7 +63,7 @@
         android:order="-30"
         settings:keywords="@string/keywords_system_update_settings"
         settings:controller="com.android.settings.system.SystemUpdatePreferenceController">
-        <intent android:action="android.settings.SYSTEM_UPDATE_SETTINGS" />
+        <intent android:action="android.settings.SYSTEM_UPDATE_SETTINGS"/>
     </Preference>
 
     <Preference
@@ -57,7 +73,7 @@
         settings:controller="com.android.settings.system.AdditionalSystemUpdatePreferenceController">
         <intent android:action="android.intent.action.MAIN"
                 android:targetPackage="@string/additional_system_update"
-                android:targetClass="@string/additional_system_update_menu" />
+                android:targetClass="@string/additional_system_update_menu"/>
     </Preference>
 
 </PreferenceScreen>
\ No newline at end of file
diff --git a/res/xml/system_navigation_gesture_settings.xml b/res/xml/system_navigation_gesture_settings.xml
index b1045fc..a75875b 100644
--- a/res/xml/system_navigation_gesture_settings.xml
+++ b/res/xml/system_navigation_gesture_settings.xml
@@ -18,6 +18,5 @@
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
-    android:key="gesture_system_navigation_screen"
     android:title="@string/system_navigation_title"
     settings:keywords="@string/keywords_system_navigation"/>
diff --git a/res/xml/tap_screen_gesture_settings.xml b/res/xml/tap_screen_gesture_settings.xml
index 9c0610a..fe31225 100644
--- a/res/xml/tap_screen_gesture_settings.xml
+++ b/res/xml/tap_screen_gesture_settings.xml
@@ -18,7 +18,6 @@
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
-    android:key="gesture_tap_screen"
     android:title="@string/ambient_display_tap_screen_title">
 
     <com.android.settings.widget.VideoPreference
@@ -34,4 +33,4 @@
         app:controller="com.android.settings.gestures.TapScreenGesturePreferenceController"
         app:allowDividerAbove="true" />
 
-</PreferenceScreen>
\ No newline at end of file
+</PreferenceScreen>
diff --git a/res/xml/testing_settings.xml b/res/xml/testing_settings.xml
index bce03e5..8bbec99 100644
--- a/res/xml/testing_settings.xml
+++ b/res/xml/testing_settings.xml
@@ -4,9 +4,9 @@
      Licensed under the Apache License, Version 2.0 (the "License");
      you may not use this file except in compliance with the License.
      You may obtain a copy of the License at
-  
+
           http://www.apache.org/licenses/LICENSE-2.0
-  
+
      Unless required by applicable law or agreed to in writing, software
      distributed under the License is distributed on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -16,13 +16,13 @@
 
 <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
         android:title="@string/testing" >
-            
+
     <PreferenceScreen
             android:title="@string/testing_phone_info"
             android:key="radio_info_settings">
         <intent android:action="android.intent.action.MAIN"
-                android:targetPackage="com.android.settings"
-                android:targetClass="com.android.settings.RadioInfo" />
+                android:targetPackage="com.android.phone"
+                android:targetClass="com.android.phone.settings.RadioInfo" />
     </PreferenceScreen>
 
     <PreferenceScreen
@@ -40,14 +40,4 @@
                 android:targetClass="com.android.settings.Settings$WifiInfoActivity" />
     </PreferenceScreen>
 
-    <!--    
-    <PreferenceScreen
-            android:title="@string/testing_sim_toolkit">
-        <intent android:action="android.intent.action.MAIN"
-                android:targetPackage="com.android.stk"
-                android:targetClass="com.android.stk.StkSettings" />
-    </PreferenceScreen>
-    -->
-
 </PreferenceScreen>
-        
diff --git a/res/xml/tether_prefs.xml b/res/xml/tether_prefs.xml
index 70a57d7..abc49cc 100644
--- a/res/xml/tether_prefs.xml
+++ b/res/xml/tether_prefs.xml
@@ -17,13 +17,12 @@
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
-    android:key="tether_prefs_screen"
     android:title="@string/tether_settings_title_all">
 
     <com.android.settings.widget.FixedLineSummaryPreference
         android:key="wifi_tether"
         android:title="@string/wifi_hotspot_checkbox_text"
-        android:summary="@string/summary_two_lines_placeholder"
+        android:summary="@string/summary_placeholder"
         android:fragment="com.android.settings.wifi.tether.WifiTetherSettings"
         settings:summaryLineCount="2" />
 
@@ -44,4 +43,9 @@
         android:summary="@string/tether_settings_disabled_on_data_saver"
         android:selectable="false"
         settings:allowDividerAbove="true" />
+
+    <com.android.settingslib.widget.FooterPreference
+        android:key="tether_prefs_footer"
+        android:selectable="false"
+        settings:searchable="false"/>
 </PreferenceScreen>
diff --git a/res/xml/time_zone_prefs.xml b/res/xml/time_zone_prefs.xml
index 2199fae..fa5cf97 100644
--- a/res/xml/time_zone_prefs.xml
+++ b/res/xml/time_zone_prefs.xml
@@ -17,7 +17,6 @@
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
-    android:key="time_zone_settings_screen"
     android:title="@string/date_time_set_timezone">
 
     <PreferenceCategory
@@ -31,7 +30,7 @@
             android:title="@string/date_time_set_timezone_title"
             android:summary="@string/summary_placeholder" />
         <com.android.settingslib.widget.FooterPreference
-            android:key="footer_preference"
+            android:key="timezone_footer"
             settings:controller="com.android.settings.datetime.timezone.TimeZoneInfoPreferenceController" />
     </PreferenceCategory>
 
diff --git a/res/xml/trust_agent_settings.xml b/res/xml/trust_agent_settings.xml
index c6539c4..25b3139 100644
--- a/res/xml/trust_agent_settings.xml
+++ b/res/xml/trust_agent_settings.xml
@@ -19,5 +19,6 @@
     xmlns:settings="http://schemas.android.com/apk/res-auto"
     android:key="trust_agents"
     android:title="@string/manage_trust_agents"
+    settings:searchable="false"
     settings:controller="com.android.settings.security.trustagent.TrustAgentsPreferenceController">
 </PreferenceScreen>
diff --git a/res/xml/tts_engine_picker.xml b/res/xml/tts_engine_picker.xml
index 92bfede..fd431ce 100644
--- a/res/xml/tts_engine_picker.xml
+++ b/res/xml/tts_engine_picker.xml
@@ -15,9 +15,6 @@
 -->
 
 <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
-        android:key="tts_engine_picker_screen"
         android:title="@string/tts_engine_preference_title">
 
-    <PreferenceCategory android:key="tts_engine_preference_category"/>
-
 </PreferenceScreen>
diff --git a/res/xml/tts_settings.xml b/res/xml/tts_settings.xml
index 92bf5d7..bcc9c85 100644
--- a/res/xml/tts_settings.xml
+++ b/res/xml/tts_settings.xml
@@ -17,14 +17,12 @@
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
-    android:key="tts_settings_screen"
     android:title="@string/tts_settings_title">
 
    <com.android.settings.widget.GearPreference
        android:key="tts_engine_preference"
        android:title="@string/tts_engine_preference_title"
-       android:fragment="com.android.settings.tts.TtsEnginePreferenceFragment"
-       settings:searchable="false"/>
+       android:fragment="com.android.settings.tts.TtsEnginePreferenceFragment"/>
 
    <ListPreference
        android:key="tts_default_lang"
diff --git a/res/xml/unrestricted_data_access_settings.xml b/res/xml/unrestricted_data_access_settings.xml
index a386d1b..d0d33b8 100644
--- a/res/xml/unrestricted_data_access_settings.xml
+++ b/res/xml/unrestricted_data_access_settings.xml
@@ -20,5 +20,6 @@
     xmlns:settings="http://schemas.android.com/apk/res-auto"
     android:key="unrestricted_data_screen"
     android:title="@string/unrestricted_data_saver"
-    settings:controller="com.android.settings.datausage.UnrestrictedDataAccessPreferenceController">
+    settings:controller="com.android.settings.datausage.UnrestrictedDataAccessPreferenceController"
+    settings:searchable="false">
 </PreferenceScreen>
diff --git a/res/xml/usb_default_fragment.xml b/res/xml/usb_default_fragment.xml
index b8d5e53..b062b8f 100644
--- a/res/xml/usb_default_fragment.xml
+++ b/res/xml/usb_default_fragment.xml
@@ -16,6 +16,5 @@
   -->
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
-    android:title="@string/usb_pref"
-    android:key="usb_default_fragment">
+    android:title="@string/usb_pref">
 </PreferenceScreen>
diff --git a/res/xml/user_dictionary_list_fragment.xml b/res/xml/user_dictionary_list_fragment.xml
index 46418c1..2565a1a 100644
--- a/res/xml/user_dictionary_list_fragment.xml
+++ b/res/xml/user_dictionary_list_fragment.xml
@@ -19,6 +19,7 @@
     xmlns:settings="http://schemas.android.com/apk/res-auto"
     android:key="user_dict_list"
     android:title="@string/user_dict_settings_title"
+    settings:searchable="false"
     settings:controller="com.android.settings.inputmethod.UserDictionaryListPreferenceController">
 
 </PreferenceScreen>
diff --git a/res/xml/user_settings.xml b/res/xml/user_settings.xml
index 269aa3a..eb8803b 100644
--- a/res/xml/user_settings.xml
+++ b/res/xml/user_settings.xml
@@ -40,4 +40,11 @@
         android:order="105"
         settings:allowDividerAbove="true"/>
 
+    <com.android.settingslib.widget.FooterPreference
+        android:key="multiuser_footer"
+        android:title="@string/user_settings_footer_text"
+        android:selectable="false"
+        settings:searchable="false"
+        settings:controller="com.android.settings.users.MultiUserFooterPreferenceController"/>
+
 </PreferenceScreen>
diff --git a/res/xml/vibrate_for_calls_settings.xml b/res/xml/vibrate_for_calls_settings.xml
new file mode 100644
index 0000000..5b6d217
--- /dev/null
+++ b/res/xml/vibrate_for_calls_settings.xml
@@ -0,0 +1,20 @@
+<?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/vibrate_when_ringing_title" />
diff --git a/res/xml/virtual_keyboard_settings.xml b/res/xml/virtual_keyboard_settings.xml
index 78b27f9..5a30082 100644
--- a/res/xml/virtual_keyboard_settings.xml
+++ b/res/xml/virtual_keyboard_settings.xml
@@ -16,12 +16,13 @@
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
-    android:key="virtual_keyboard_category"
     android:title="@string/virtual_keyboard_category">
     <!-- Enabled input method list will be populated programmatically here. -->
     <Preference
+        android:icon="@drawable/ic_add_24dp"
         android:key="add_virtual_keyboard_screen"
         android:title="@string/add_virtual_keyboard"
+        android:order="1000"
         android:fragment="com.android.settings.inputmethod.AvailableVirtualKeyboardFragment"
-        settings:searchable="false"/>
+        settings:controller="com.android.settings.inputmethod.InputMethodPreferenceController" />
 </PreferenceScreen>
diff --git a/res/xml/vr_listeners_settings.xml b/res/xml/vr_listeners_settings.xml
index ffd8545..d9b364c 100644
--- a/res/xml/vr_listeners_settings.xml
+++ b/res/xml/vr_listeners_settings.xml
@@ -20,4 +20,5 @@
     xmlns:settings="http://schemas.android.com/apk/res-auto"
     android:key="vr_listener_settings"
     android:title="@string/vr_listeners_title"
+    settings:searchable="false"
     settings:controller="com.android.settings.applications.specialaccess.vrlistener.VrListenerScreenPreferenceController" />
diff --git a/res/xml/wifi_configure_settings.xml b/res/xml/wifi_configure_settings.xml
index c621466..cc281fa 100644
--- a/res/xml/wifi_configure_settings.xml
+++ b/res/xml/wifi_configure_settings.xml
@@ -17,27 +17,29 @@
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
-    android:key="wifi_configure_settings_screen"
     android:title="@string/wifi_configure_settings_preference_title">
 
     <SwitchPreference
         android:key="enable_wifi_wakeup"
         android:title="@string/wifi_wakeup"
         android:icon="@drawable/ic_auto_wifi"
-        android:summary="@string/wifi_wakeup_summary" />
+        android:summary="@string/wifi_wakeup_summary"
+        settings:controller="com.android.settings.wifi.WifiWakeupPreferenceController"/>
 
     <SwitchPreference
         android:key="use_open_wifi_automatically"
         android:icon="@drawable/ic_open_wifi_autoconnect"
         android:title="@string/use_open_wifi_automatically_title"
-        android:summary="@string/use_open_wifi_automatically_summary" />
+        android:summary="@string/use_open_wifi_automatically_summary"
+        settings:controller="com.android.settings.wifi.UseOpenWifiPreferenceController"/>
 
     <SwitchPreference
         android:key="notify_open_networks"
         android:title="@string/wifi_notify_open_networks"
         android:icon="@drawable/ic_open_wifi_notifications"
         android:summary="@string/wifi_notify_open_networks_summary"
-        settings:keywords="@string/keywords_wifi_notify_open_networks"/>
+        settings:keywords="@string/keywords_wifi_notify_open_networks"
+        settings:controller="com.android.settings.wifi.NotifyOpenNetworksPreferenceController"/>
 
     <SwitchPreference
         android:key="wifi_cellular_data_fallback"
@@ -48,10 +50,12 @@
     <Preference
         android:key="install_credentials"
         android:title="@string/wifi_install_credentials">
-        <intent android:action="android.credentials.INSTALL_AS_USER"
-                android:targetPackage="com.android.certinstaller"
-                android:targetClass="com.android.certinstaller.CertInstallerMain">
-            <extra android:name="install_as_uid" android:value="1010" />
+        <intent
+            android:action="android.credentials.INSTALL"
+            android:targetPackage="com.android.certinstaller"
+            android:targetClass="com.android.certinstaller.CertInstallerMain">
+            <!-- Same value as CERTIFICATE_USAGE_WIFI in keystore/java/android/security/Credentials.java -->
+            <extra android:name="certificate_install_usage" android:value="wifi"/>
         </intent>
     </Preference>
 
@@ -66,12 +70,4 @@
         android:title="@string/wifi_menu_p2p"
         android:fragment="com.android.settings.wifi.p2p.WifiP2pSettings" />
 
-    <Preference
-        android:key="mac_address"
-        android:title="@string/wifi_advanced_mac_address_title" />
-
-    <Preference
-        android:key="current_ip_address"
-        android:title="@string/wifi_advanced_ip_address_title" />
-
 </PreferenceScreen>
diff --git a/res/xml/wifi_display_saved_access_points2.xml b/res/xml/wifi_display_saved_access_points2.xml
new file mode 100644
index 0000000..02c732a
--- /dev/null
+++ b/res/xml/wifi_display_saved_access_points2.xml
@@ -0,0 +1,33 @@
+<?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:key="saved_access_points"
+    android:title="@string/wifi_saved_access_points_label">
+
+    <PreferenceCategory
+        android:key="subscribed_access_points_category"
+        android:title="@string/wifi_subscribed_access_points_tab"
+        settings:controller="com.android.settings.wifi.savedaccesspoints2.SubscribedAccessPointsPreferenceController2"/>
+
+    <PreferenceCategory
+        android:key="saved_access_points_category"
+        android:title="@string/wifi_saved_access_points_tab"
+        settings:controller="com.android.settings.wifi.savedaccesspoints2.SavedAccessPointsPreferenceController2"/>
+
+</PreferenceScreen>
diff --git a/res/xml/wifi_display_settings.xml b/res/xml/wifi_display_settings.xml
index 769e9ce..62b75c2 100644
--- a/res/xml/wifi_display_settings.xml
+++ b/res/xml/wifi_display_settings.xml
@@ -17,7 +17,6 @@
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
-    android:key="wifi_display_settings_screen"
     android:title="@string/wifi_display_settings_title"
     settings:keywords="@string/keywords_display_cast_screen">
 
diff --git a/res/xml/wifi_network_details_fragment.xml b/res/xml/wifi_network_details_fragment.xml
index d45f9bc..7ec1f0e 100644
--- a/res/xml/wifi_network_details_fragment.xml
+++ b/res/xml/wifi_network_details_fragment.xml
@@ -87,7 +87,7 @@
                 settings:enableCopying="true"/>
         <Preference
                 android:key="mac_address"
-                android:title="@string/wifi_advanced_mac_address_title"
+                android:title="@string/wifi_advanced_randomized_mac_address_title"
                 android:selectable="false"
                 settings:enableCopying="true"/>
         <Preference
diff --git a/res/xml/wifi_network_details_fragment2.xml b/res/xml/wifi_network_details_fragment2.xml
new file mode 100644
index 0000000..30a7f67
--- /dev/null
+++ b/res/xml/wifi_network_details_fragment2.xml
@@ -0,0 +1,148 @@
+<?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"
+    settings:initialExpandedChildrenCount="5">
+
+    <com.android.settingslib.widget.LayoutPreference
+        android:key="connection_header"
+        android:layout="@layout/settings_entity_header"
+        android:selectable="false"
+        android:order="-10000"
+        settings:allowDividerBelow="true"/>
+
+    <com.android.settings.datausage.DataUsageSummaryPreference
+        android:key="status_header"
+        android:selectable="false"
+        settings:isPreferenceVisible="false"/>
+
+    <!-- Buttons -->
+    <com.android.settingslib.widget.ActionButtonsPreference
+        android:key="buttons"
+        android:selectable="false" />
+
+    <!-- General Details Preferences -->
+    <Preference
+        android:key="signal_strength"
+        android:title="@string/wifi_signal"
+        android:selectable="false"
+        settings:allowDividerAbove="true"/>
+
+    <Preference
+        android:key="frequency"
+        android:icon="@drawable/ic_frequency_antenna"
+        android:title="@string/wifi_frequency"
+        android:selectable="false"/>
+
+    <Preference
+        android:key="security"
+        android:icon="@drawable/ic_security_lock_24dp"
+        android:title="@string/wifi_security"
+        android:selectable="false"/>
+
+    <DropDownPreference
+        android:key="metered"
+        android:icon="@drawable/ic_attach_money_black_24dp"
+        android:title="@string/wifi_metered_title"
+        android:entries="@array/wifi_metered_entries"
+        android:entryValues="@array/wifi_metered_values"/>
+
+    <DropDownPreference
+        android:key="privacy"
+        android:icon="@drawable/ic_wifi_privacy_24dp"
+        android:title="@string/wifi_privacy_settings"
+        android:entries="@array/wifi_privacy_entries"
+        android:entryValues="@array/wifi_privacy_values"/>
+
+    <Preference
+        android:key="subscription_detail"
+        android:title="@string/wifi_subscription"
+        android:summary="@string/wifi_subscription_summary"
+        settings:allowDividerAbove="true"/>
+
+    <SwitchPreference
+        android:key="auto_connect"
+        android:title="@string/wifi_auto_connect_title"
+        android:summary="@string/wifi_auto_connect_summary"
+        settings:allowDividerAbove="true"/>
+
+    <!-- Add device Preference -->
+    <Preference
+        android:key="add_device_to_network"
+        android:title="@string/wifi_dpp_add_device"
+        android:summary="@string/wifi_dpp_connect_network_using_qr_code"
+        settings:allowDividerAbove="true"/>
+
+    <!-- Network Details -->
+    <PreferenceCategory
+            android:key="ip_details_category"
+            android:title="@string/wifi_setup_detail">
+        <Preference
+                android:key="ssid"
+                android:title="@string/wifi_advanced_ssid_title"
+                android:selectable="false"
+                settings:enableCopying="true"/>
+        <Preference
+                android:key="mac_address"
+                android:title="@string/wifi_advanced_randomized_mac_address_title"
+                android:selectable="false"
+                settings:enableCopying="true"/>
+        <Preference
+                android:key="ip_address"
+                android:title="@string/wifi_ip_address"
+                android:selectable="false"
+                settings:enableCopying="true"/>
+        <Preference
+                android:key="gateway"
+                android:title="@string/wifi_gateway"
+                android:selectable="false"
+                settings:enableCopying="true"/>
+        <Preference
+                android:key="subnet_mask"
+                android:title="@string/wifi_details_subnet_mask"
+                android:selectable="false"
+                settings:enableCopying="true"/>
+        <Preference
+                android:key="dns"
+                android:title="@string/wifi_details_dns"
+                android:selectable="false"
+                settings:enableCopying="true"/>
+        <Preference
+                android:key="tx_link_speed"
+                android:title="@string/tx_wifi_speed"
+                android:selectable="false"
+                settings:enableCopying="true"/>
+        <Preference
+                android:key="rx_link_speed"
+                android:title="@string/rx_wifi_speed"
+                android:selectable="false"
+                settings:enableCopying="true"/>
+    </PreferenceCategory>
+
+    <!-- IPv6 Details -->
+    <PreferenceCategory
+            android:key="ipv6_category"
+            android:title="@string/wifi_details_ipv6_address_header"
+            android:selectable="false">
+        <Preference
+                android:key="ipv6_addresses"
+                android:selectable="false"
+                settings:enableCopying="true"/>
+    </PreferenceCategory>
+
+</PreferenceScreen>
diff --git a/res/xml/wifi_settings.xml b/res/xml/wifi_settings.xml
index d7c299e..a7f5a20 100644
--- a/res/xml/wifi_settings.xml
+++ b/res/xml/wifi_settings.xml
@@ -17,22 +17,24 @@
 <PreferenceScreen
         xmlns:android="http://schemas.android.com/apk/res/android"
         xmlns:settings="http://schemas.android.com/apk/res-auto"
-        android:title="@string/wifi_settings"
-        settings:keywords="@string/keywords_wifi">
+        android:title="@string/wifi_settings">
 
     <com.android.settings.wifi.LinkablePreference
-        android:key="wifi_status_message"/>
+        android:key="wifi_status_message"
+        settings:searchable="false"/>
 
     <PreferenceCategory
         android:key="connected_access_point"
-        android:layout="@layout/preference_category_no_label"/>
+        android:layout="@layout/preference_category_no_label"
+        settings:searchable="false"/>
 
     <PreferenceCategory
         android:key="access_points"
-        android:layout="@layout/preference_category_no_label"/>
+        android:layout="@layout/preference_category_no_label"
+        settings:searchable="false"/>
 
     <Preference
-        android:key="configure_settings"
+        android:key="configure_wifi_settings"
         android:title="@string/wifi_configure_settings_preference_title"
         settings:allowDividerAbove="true"
         android:fragment="com.android.settings.wifi.ConfigureWifiSettings"/>
@@ -44,5 +46,6 @@
 
     <com.android.settings.datausage.DataUsagePreference
         android:key="wifi_data_usage"
-        android:title="@string/wifi_data_usage"/>
+        android:title="@string/wifi_data_usage"
+        settings:keywords="@string/keywords_wifi_data_usage"/>
 </PreferenceScreen>
diff --git a/res/xml/wifi_settings2.xml b/res/xml/wifi_settings2.xml
new file mode 100644
index 0000000..2bf39dbe
--- /dev/null
+++ b/res/xml/wifi_settings2.xml
@@ -0,0 +1,48 @@
+<?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/wifi_settings"
+        settings:keywords="@string/keywords_wifi">
+
+    <com.android.settings.wifi.LinkablePreference
+        android:key="wifi_status_message"/>
+
+    <PreferenceCategory
+        android:key="connected_access_point"
+        android:layout="@layout/preference_category_no_label"/>
+
+    <PreferenceCategory
+        android:key="access_points"
+        android:layout="@layout/preference_category_no_label"/>
+
+    <Preference
+        android:key="configure_wifi_settings"
+        android:title="@string/wifi_configure_settings_preference_title"
+        settings:allowDividerAbove="true"
+        android:fragment="com.android.settings.wifi.ConfigureWifiSettings"/>
+
+    <Preference
+        android:key="saved_networks"
+        android:title="@string/wifi_saved_access_points_label"
+        android:fragment="com.android.settings.wifi.savedaccesspoints2.SavedAccessPointsWifiSettings2"/>
+
+    <com.android.settings.datausage.DataUsagePreference
+        android:key="wifi_data_usage"
+        android:title="@string/wifi_data_usage"/>
+</PreferenceScreen>
diff --git a/res/xml/wifi_tether_settings.xml b/res/xml/wifi_tether_settings.xml
index 81e60a2..1f43bb5 100644
--- a/res/xml/wifi_tether_settings.xml
+++ b/res/xml/wifi_tether_settings.xml
@@ -18,10 +18,7 @@
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
-    android:key="wifi_tether_settings_screen"
-    android:title="@string/wifi_hotspot_checkbox_text"
-    settings:searchable="false"
-    settings:initialExpandedChildrenCount="3">
+    android:title="@string/wifi_hotspot_checkbox_text">
 
     <com.android.settings.wifi.tether.WifiTetherSsidPreference
         android:key="wifi_tether_network_name"
diff --git a/res/xml/zen_access_settings.xml b/res/xml/zen_access_settings.xml
index 48dc1af..35cfdb8 100644
--- a/res/xml/zen_access_settings.xml
+++ b/res/xml/zen_access_settings.xml
@@ -17,5 +17,4 @@
 
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
-    android:key="zen_access_screen"
     android:title="@string/manage_zen_access_title" />
diff --git a/res/xml/zen_mode_automation_settings.xml b/res/xml/zen_mode_automation_settings.xml
index 467331d..f00865d 100644
--- a/res/xml/zen_mode_automation_settings.xml
+++ b/res/xml/zen_mode_automation_settings.xml
@@ -16,7 +16,6 @@
 -->
 
 <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
-                  android:key="zen_mode_automation_settings_page"
                   android:title="@string/zen_mode_automation_settings_page_title" >
 
     <PreferenceCategory
diff --git a/res/xml/zen_mode_block_settings.xml b/res/xml/zen_mode_block_settings.xml
index cccc63c..1b04fb8 100644
--- a/res/xml/zen_mode_block_settings.xml
+++ b/res/xml/zen_mode_block_settings.xml
@@ -17,6 +17,7 @@
 
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:settings="http://schemas.android.com/apk/res-auto"
     android:key="zen_mode_block_settings_page"
     android:title="@string/zen_mode_what_to_block_title">
 
@@ -57,4 +58,10 @@
            android:title="@string/zen_mode_block_effect_list" />
    </PreferenceCategory>
 
+    <com.android.settingslib.widget.FooterPreference
+        android:key="zen_mode_block_footer"
+        android:title="@string/zen_mode_blocked_effects_footer"
+        android:selectable="false"
+        settings:searchable="false"/>
+
 </PreferenceScreen>
diff --git a/res/xml/zen_mode_bypassing_apps.xml b/res/xml/zen_mode_bypassing_apps.xml
index 0789839..bd46c67 100644
--- a/res/xml/zen_mode_bypassing_apps.xml
+++ b/res/xml/zen_mode_bypassing_apps.xml
@@ -17,5 +17,4 @@
 
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
-    android:key="zen_mode_bypassing_apps_screen"
     android:title="@string/zen_mode_bypassing_apps_title" />
diff --git a/res/xml/zen_mode_calls_settings.xml b/res/xml/zen_mode_calls_settings.xml
index 4616cf8..8366b09 100644
--- a/res/xml/zen_mode_calls_settings.xml
+++ b/res/xml/zen_mode_calls_settings.xml
@@ -21,26 +21,26 @@
     android:key="zen_mode_calls_settings_page"
     android:title="@string/zen_mode_calls_title" >
 
-   <PreferenceCategory
-       android:title="@string/zen_mode_settings_category"
-       android:key="zen_mode_settings_category_calls">
-      <!-- Calls -->
-      <ListPreference
-          android:key="zen_mode_calls"
-          android:title="@string/zen_mode_calls"
-          android:entries="@array/zen_mode_contacts_calls_entries"
-          android:entryValues="@array/zen_mode_contacts_values"/>
+    <PreferenceCategory
+        android:title="@string/zen_mode_settings_category"
+        android:key="zen_mode_settings_category_calls">
+        <!-- Calls -->
+        <ListPreference
+            android:key="zen_mode_calls"
+            android:title="@string/zen_mode_calls"
+            android:entries="@array/zen_mode_contacts_calls_entries"
+            android:entryValues="@array/zen_mode_contacts_values"/>
 
-      <Preference
-          android:key="zen_mode_starred_contacts_callers"
-          android:title="@string/zen_mode_starred_contacts_title"/>
+        <Preference
+            android:key="zen_mode_starred_contacts_callers"
+            android:title="@string/zen_mode_starred_contacts_title"/>
 
-      <!-- Repeat callers -->
-      <SwitchPreference
-          android:key="zen_mode_repeat_callers"
-          android:title="@string/zen_mode_repeat_callers_title" />
-   </PreferenceCategory>
+        <!-- Repeat callers -->
+        <SwitchPreference
+            android:key="zen_mode_repeat_callers"
+            android:title="@string/zen_mode_repeat_callers_title" />
+    </PreferenceCategory>
 
-   <com.android.settingslib.widget.FooterPreference/>
+    <com.android.settingslib.widget.FooterPreference/>
 
 </PreferenceScreen>
diff --git a/res/xml/zen_mode_custom_rule_configuration.xml b/res/xml/zen_mode_custom_rule_configuration.xml
index c1732a3..664c09a 100644
--- a/res/xml/zen_mode_custom_rule_configuration.xml
+++ b/res/xml/zen_mode_custom_rule_configuration.xml
@@ -36,27 +36,32 @@
         <!-- Alarms -->
         <SwitchPreference
             android:key="zen_rule_alarms"
-            android:title="@string/zen_mode_alarms"/>
+            android:title="@string/zen_mode_alarms"
+            android:summary="@string/zen_mode_alarms_summary"/>
 
         <!-- Media -->
         <SwitchPreference
             android:key="zen_rule_media"
-            android:title="@string/zen_mode_media"/>
+            android:title="@string/zen_mode_media"
+            android:summary="@string/zen_mode_media_summary"/>
 
         <!-- System -->
         <SwitchPreference
             android:key="zen_rule_system"
-            android:title="@string/zen_mode_system"/>
+            android:title="@string/zen_mode_system"
+            android:summary="@string/zen_mode_system_summary"/>
 
         <!-- Reminders -->
         <SwitchPreference
             android:key="zen_rule_reminders"
-            android:title="@string/zen_mode_reminders"/>
+            android:title="@string/zen_mode_reminders"
+            android:summary="@string/zen_mode_reminders_summary"/>
 
         <!-- Events -->
         <SwitchPreference
             android:key="zen_rule_events"
-            android:title="@string/zen_mode_events"/>
+            android:title="@string/zen_mode_events"
+            android:summary="@string/zen_mode_events_summary"/>
     </PreferenceCategory>
 
     <Preference
diff --git a/res/xml/zen_mode_custom_rule_settings.xml b/res/xml/zen_mode_custom_rule_settings.xml
index 7aedd2c..169a94f 100644
--- a/res/xml/zen_mode_custom_rule_settings.xml
+++ b/res/xml/zen_mode_custom_rule_settings.xml
@@ -22,11 +22,11 @@
 
     <PreferenceCategory
         android:key="zen_custom_rule_category">
-        <com.android.settings.notification.ZenCustomRadioButtonPreference
+        <com.android.settings.notification.zen.ZenCustomRadioButtonPreference
             android:key="zen_custom_rule_setting_default"
             android:title="@string/zen_mode_custom_behavior_summary_default"/>
 
-        <com.android.settings.notification.ZenCustomRadioButtonPreference
+        <com.android.settings.notification.zen.ZenCustomRadioButtonPreference
             android:key="zen_custom_rule_setting"
             android:title="@string/zen_mode_custom_behavior_summary" />
     </PreferenceCategory>
diff --git a/res/xml/zen_mode_event_rule_settings.xml b/res/xml/zen_mode_event_rule_settings.xml
index 841fc06..46b95e1 100644
--- a/res/xml/zen_mode_event_rule_settings.xml
+++ b/res/xml/zen_mode_event_rule_settings.xml
@@ -24,6 +24,7 @@
     <com.android.settingslib.widget.LayoutPreference
         android:key="pref_app_header"
         android:layout="@layout/settings_entity_header"
+        android:selectable="false"
         settings:allowDividerBelow="true" />
 
     <com.android.settingslib.widget.ActionButtonsPreference
diff --git a/res/xml/zen_mode_people_settings.xml b/res/xml/zen_mode_people_settings.xml
new file mode 100644
index 0000000..7755bb7
--- /dev/null
+++ b/res/xml/zen_mode_people_settings.xml
@@ -0,0 +1,73 @@
+<?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:title="@string/zen_category_people" >
+
+   <PreferenceCategory
+       android:title="@string/zen_mode_calls_title"
+       android:key="zen_mode_settings_category_calls">
+      <!-- Calls -->
+      <ListPreference
+          android:key="zen_mode_calls"
+          android:title="@string/zen_mode_calls"
+          android:entries="@array/zen_mode_contacts_calls_entries"
+          android:entryValues="@array/zen_mode_contacts_values"/>
+
+      <Preference
+          android:key="zen_mode_starred_contacts_callers"
+          android:title="@string/zen_mode_starred_contacts_title"/>
+
+      <!-- Repeat callers -->
+      <SwitchPreference
+          android:key="zen_mode_repeat_callers"
+          android:title="@string/zen_mode_repeat_callers_title" />
+   </PreferenceCategory>
+
+   <PreferenceCategory
+       android:title="@string/zen_mode_messages_title"
+       android:key="zen_mode_settings_category_messages">
+      <!-- Messages -->
+      <ListPreference
+          android:key="zen_mode_messages"
+          android:title="@string/zen_mode_messages"
+          android:entries="@array/zen_mode_contacts_messages_entries"
+          android:entryValues="@array/zen_mode_contacts_values"/>
+
+      <Preference
+          android:key="zen_mode_starred_contacts_messages"
+          android:title="@string/zen_mode_starred_contacts_title"/>
+   </PreferenceCategory>
+
+   <PreferenceCategory
+       android:title="@string/zen_mode_conversations_title"
+       android:key="zen_mode_settings_category_conversations">
+
+      <!-- Conversations -->
+      <ListPreference
+          android:key="zen_mode_conversations"
+          android:title="@string/zen_mode_conversations_title"
+          android:entries="@array/zen_mode_conversations_entries"
+          android:entryValues="@array/zen_mode_conversations_values"/>
+   </PreferenceCategory>
+
+   <!-- Footer that shows if user is put into alarms only or total silence mode by an app -->
+   <com.android.settingslib.widget.FooterPreference/>
+
+</PreferenceScreen>
diff --git a/res/xml/zen_mode_restrict_notifications_settings.xml b/res/xml/zen_mode_restrict_notifications_settings.xml
index e024ab9..0bf8c26 100644
--- a/res/xml/zen_mode_restrict_notifications_settings.xml
+++ b/res/xml/zen_mode_restrict_notifications_settings.xml
@@ -17,25 +17,28 @@
 
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
-    android:key="zen_mode_restrict_settings_page"
+    xmlns:settings="http://schemas.android.com/apk/res-auto"
     android:title="@string/zen_mode_restrict_notifications_title">
 
     <PreferenceCategory
         android:key="restrict_category"
         android:title="@string/zen_mode_settings_category">
-        <com.android.settings.notification.ZenCustomRadioButtonPreference
+        <com.android.settings.notification.zen.ZenCustomRadioButtonPreference
             android:key="zen_mute_notifications"
             android:title="@string/zen_mode_restrict_notifications_mute"
-            android:summary="@string/zen_mode_restrict_notifications_mute_summary"/>
+            android:summary="@string/zen_mode_restrict_notifications_mute_summary"
+            settings:searchable="false"/>
 
-        <com.android.settings.notification.ZenCustomRadioButtonPreference
+        <com.android.settings.notification.zen.ZenCustomRadioButtonPreference
             android:key="zen_hide_notifications"
             android:title="@string/zen_mode_restrict_notifications_hide"
-            android:summary="@string/zen_mode_restrict_notifications_hide_summary"/>
+            android:summary="@string/zen_mode_restrict_notifications_hide_summary"
+            settings:searchable="false"/>
 
-        <com.android.settings.notification.ZenCustomRadioButtonPreference
+        <com.android.settings.notification.zen.ZenCustomRadioButtonPreference
             android:key="zen_custom"
-            android:title="@string/zen_mode_restrict_notifications_custom" />
+            android:title="@string/zen_mode_restrict_notifications_custom"
+            settings:searchable="false"/>
 
     </PreferenceCategory>
     <com.android.settingslib.widget.FooterPreference />
diff --git a/res/xml/zen_mode_schedule_rule_settings.xml b/res/xml/zen_mode_schedule_rule_settings.xml
index 8484854..cab8731 100644
--- a/res/xml/zen_mode_schedule_rule_settings.xml
+++ b/res/xml/zen_mode_schedule_rule_settings.xml
@@ -24,6 +24,7 @@
     <com.android.settingslib.widget.LayoutPreference
         android:key="pref_app_header"
         android:layout="@layout/settings_entity_header"
+        android:selectable="false"
         settings:allowDividerBelow="true"/>
 
     <com.android.settingslib.widget.ActionButtonsPreference
diff --git a/res/xml/zen_mode_settings.xml b/res/xml/zen_mode_settings.xml
index 320a37c..ce2d132 100644
--- a/res/xml/zen_mode_settings.xml
+++ b/res/xml/zen_mode_settings.xml
@@ -18,51 +18,7 @@
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
-    android:key="zen_mode_settings"
-    android:title="@string/zen_mode_settings_title"
-    settings:searchable="false">
-
-    <PreferenceCategory
-        android:key="zen_mode_settings_category_behavior"
-        android:title="@string/zen_category_behavior">
-        <!-- Calls -->
-        <Preference
-            android:key="zen_mode_behavior_calls"
-            android:title="@string/zen_mode_calls_title"
-            android:fragment="com.android.settings.notification.ZenModeCallsSettings" />
-
-        <!-- Messages -->
-        <Preference
-            android:key="zen_mode_behavior_messages"
-            android:title="@string/zen_mode_messages_title"
-            android:fragment="com.android.settings.notification.ZenModeMessagesSettings" />
-
-        <!-- All sounds -->
-        <Preference
-            android:key="zen_sound_vibration_settings"
-            android:title="@string/zen_sound_title"
-            android:fragment="com.android.settings.notification.ZenModeSoundVibrationSettings"
-            android:icon="@drawable/ic_chevron_right_24dp"/>
-    </PreferenceCategory>
-
-    <!-- What to block (effects) -->
-    <Preference
-        android:key="zen_mode_block_effects_settings"
-        android:title="@string/zen_mode_restrict_notifications_title"
-        android:fragment="com.android.settings.notification.ZenModeRestrictNotificationsSettings"
-        settings:allowDividerAbove="true"/>
-
-    <!-- DND duration settings -->
-    <com.android.settings.notification.ZenDurationDialogPreference
-        android:key="zen_mode_duration_settings"
-        android:title="@string/zen_mode_duration_settings_title"
-        android:widgetLayout="@null"/>
-
-    <!-- Automatic rules -->
-    <Preference
-        android:key="zen_mode_automation_settings"
-        android:title="@string/zen_mode_automation_settings_title"
-        android:fragment="com.android.settings.notification.ZenModeAutomationSettings"/>
+    android:title="@string/zen_mode_settings_title">
 
     <!-- Turn on DND button -->
     <com.android.settingslib.widget.LayoutPreference
@@ -74,6 +30,53 @@
         settings:allowDividerBelow="true"
         settings:keywords="@string/keywords_zen_mode_settings"/>
 
+    <PreferenceCategory
+        android:key="zen_mode_settings_category_behavior"
+        android:title="@string/zen_category_behavior">
+        <!-- People -->
+        <Preference
+            android:key="zen_mode_behavior_people"
+            android:title="@string/zen_category_people"
+            android:fragment="com.android.settings.notification.zen.ZenModePeopleSettings" />
+
+        <!-- Apps -->
+        <Preference
+            android:key="zen_mode_behavior_apps"
+            android:title="@string/zen_category_apps"
+            android:fragment="com.android.settings.notification.zen.ZenModeBypassingAppsSettings" />
+
+        <!-- All sounds -->
+        <Preference
+            android:key="zen_sound_vibration_settings"
+            android:title="@string/zen_category_exceptions"
+            android:fragment="com.android.settings.notification.zen.ZenModeSoundVibrationSettings" />
+    </PreferenceCategory>
+
+    <!-- Automatic rules -->
+    <Preference
+        android:key="zen_mode_automation_settings"
+        android:title="@string/zen_mode_automation_settings_title"
+        settings:allowDividerAbove="true"
+        settings:allowDividerBelow="true"
+        android:fragment="com.android.settings.notification.zen.ZenModeAutomationSettings"/>
+
+    <PreferenceCategory
+        android:key="zen_mode_settings_advanced"
+        settings:initialExpandedChildrenCount="1">
+
+        <!-- What to block (effects) -->
+        <Preference
+            android:key="zen_mode_block_effects_settings"
+            android:title="@string/zen_mode_restrict_notifications_title"
+            android:fragment="com.android.settings.notification.zen.ZenModeRestrictNotificationsSettings" />
+
+        <!-- DND duration settings -->
+        <com.android.settings.notification.zen.ZenDurationDialogPreference
+            android:key="zen_mode_duration_settings"
+            android:title="@string/zen_mode_duration_settings_title"
+            android:widgetLayout="@null"/>
+    </PreferenceCategory>
+
     <!-- Footer that shows if user is put into alarms only or total silence mode by an app -->
     <com.android.settingslib.widget.FooterPreference/>
 
diff --git a/res/xml/zen_mode_sound_vibration_settings.xml b/res/xml/zen_mode_sound_vibration_settings.xml
index 73b5b05..26f003f 100644
--- a/res/xml/zen_mode_sound_vibration_settings.xml
+++ b/res/xml/zen_mode_sound_vibration_settings.xml
@@ -17,55 +17,41 @@
 
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
-    android:key="zen_mode_sound_vibration_settings_page"
     android:title="@string/zen_category_exceptions" >
 
     <PreferenceCategory
         android:title="@string/zen_mode_settings_category"
         android:key="zen_mode_settings_category_sound_vibration">
 
-        <!-- Calls -->
-        <Preference
-            android:key="zen_mode_calls_settings"
-            android:title="@string/zen_mode_calls"
-            android:fragment="com.android.settings.notification.ZenModeCallsSettings" />
-
-        <!-- Messages -->
-        <Preference
-            android:key="zen_mode_messages_settings"
-            android:title="@string/zen_mode_messages"
-            android:fragment="com.android.settings.notification.ZenModeMessagesSettings" />
-
         <!-- Alarms -->
         <SwitchPreference
             android:key="zen_mode_alarms"
-            android:title="@string/zen_mode_alarms"/>
+            android:title="@string/zen_mode_alarms"
+            android:summary="@string/zen_mode_alarms_summary"/>
 
         <!-- Media -->
         <SwitchPreference
             android:key="zen_mode_media"
-            android:title="@string/zen_mode_media"/>
+            android:title="@string/zen_mode_media"
+            android:summary="@string/zen_mode_media_summary"/>
 
         <!-- System -->
         <SwitchPreference
             android:key="zen_mode_system"
-            android:title="@string/zen_mode_system"/>
+            android:title="@string/zen_mode_system"
+            android:summary="@string/zen_mode_system_summary"/>
 
         <!-- Reminders -->
         <SwitchPreference
             android:key="zen_mode_reminders"
-            android:title="@string/zen_mode_reminders"/>
+            android:title="@string/zen_mode_reminders"
+            android:summary="@string/zen_mode_reminders_summary"/>
 
         <!-- Events -->
         <SwitchPreference
             android:key="zen_mode_events"
-            android:title="@string/zen_mode_events"/>
-
-        <!-- Apps overriding DND -->
-        <Preference
-            android:key="zen_mode_bypassing_apps"
-            android:title="@string/zen_mode_bypassing_apps"
-            android:fragment="com.android.settings.notification.ZenModeBypassingAppsSettings"/>
+            android:title="@string/zen_mode_events"
+            android:summary="@string/zen_mode_events_summary"/>
 
     </PreferenceCategory>
 
diff --git a/src/com/android/settings/AirplaneModeEnabler.java b/src/com/android/settings/AirplaneModeEnabler.java
index dde7ce0..a843a04 100644
--- a/src/com/android/settings/AirplaneModeEnabler.java
+++ b/src/com/android/settings/AirplaneModeEnabler.java
@@ -19,28 +19,34 @@
 import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.content.Intent;
-import android.database.ContentObserver;
-import android.os.Handler;
-import android.os.Looper;
-import android.os.Message;
-import android.os.SystemProperties;
 import android.os.UserHandle;
 import android.provider.Settings;
+import android.telephony.PhoneStateListener;
+import android.telephony.SubscriptionInfo;
+import android.telephony.TelephonyManager;
+import android.util.Log;
 
-import com.android.internal.telephony.PhoneStateIntentReceiver;
-import com.android.internal.telephony.TelephonyProperties;
+import androidx.annotation.VisibleForTesting;
+
+import com.android.settings.network.GlobalSettingsChangeListener;
+import com.android.settings.network.ProxySubscriptionManager;
+import com.android.settings.overlay.FeatureFactory;
 import com.android.settingslib.WirelessUtils;
 import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 
-public class AirplaneModeEnabler {
+import java.util.List;
 
-    private static final int EVENT_SERVICE_STATE_CHANGED = 3;
+/**
+ * Monitor and update configuration of airplane mode settings
+ */
+public class AirplaneModeEnabler extends GlobalSettingsChangeListener {
+
+    private static final String LOG_TAG = "AirplaneModeEnabler";
+    private static final boolean DEBUG = false;
 
     private final Context mContext;
     private final MetricsFeatureProvider mMetricsFeatureProvider;
 
-    private PhoneStateIntentReceiver mPhoneStateReceiver;
-
     private OnAirplaneModeChangedListener mOnAirplaneModeChangedListener;
 
     public interface OnAirplaneModeChangedListener {
@@ -52,46 +58,50 @@
         void onAirplaneModeChanged(boolean isAirplaneModeOn);
     }
 
-    private Handler mHandler = new Handler(Looper.getMainLooper()) {
-        @Override
-        public void handleMessage(Message msg) {
-            switch (msg.what) {
-                case EVENT_SERVICE_STATE_CHANGED:
-                    onAirplaneModeChanged();
-                    break;
-            }
-        }
-    };
+    private TelephonyManager mTelephonyManager;
+    @VisibleForTesting
+    PhoneStateListener mPhoneStateListener;
 
-    private ContentObserver mAirplaneModeObserver = new ContentObserver(
-            new Handler(Looper.getMainLooper())) {
-        @Override
-        public void onChange(boolean selfChange) {
-            onAirplaneModeChanged();
-        }
-    };
+    private GlobalSettingsChangeListener mAirplaneModeObserver;
 
-    public AirplaneModeEnabler(Context context, MetricsFeatureProvider metricsFeatureProvider,
-            OnAirplaneModeChangedListener listener) {
+    public AirplaneModeEnabler(Context context, OnAirplaneModeChangedListener listener) {
+        super(context, Settings.Global.AIRPLANE_MODE_ON);
 
         mContext = context;
-        mMetricsFeatureProvider = metricsFeatureProvider;
+        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
         mOnAirplaneModeChangedListener = listener;
 
-        mPhoneStateReceiver = new PhoneStateIntentReceiver(mContext, mHandler);
-        mPhoneStateReceiver.notifyServiceState(EVENT_SERVICE_STATE_CHANGED);
+        mTelephonyManager = context.getSystemService(TelephonyManager.class);
+
+        mPhoneStateListener = new PhoneStateListener() {
+            @Override
+            public void onRadioPowerStateChanged(int state) {
+                if (DEBUG) {
+                    Log.d(LOG_TAG, "RadioPower: " + state);
+                }
+                onAirplaneModeChanged();
+            }
+        };
+    }
+
+    /**
+     * Implementation of GlobalSettingsChangeListener.onChanged
+     */
+    public void onChanged(String field) {
+        if (DEBUG) {
+            Log.d(LOG_TAG, "Airplane mode configuration update");
+        }
+        onAirplaneModeChanged();
     }
 
     public void resume() {
-        mPhoneStateReceiver.registerIntent();
-        mContext.getContentResolver().registerContentObserver(
-                Settings.Global.getUriFor(Settings.Global.AIRPLANE_MODE_ON), true,
-                mAirplaneModeObserver);
+        mTelephonyManager.listen(mPhoneStateListener,
+                PhoneStateListener.LISTEN_RADIO_POWER_STATE_CHANGED);
     }
 
     public void pause() {
-        mPhoneStateReceiver.unregisterIntent();
-        mContext.getContentResolver().unregisterContentObserver(mAirplaneModeObserver);
+        mTelephonyManager.listen(mPhoneStateListener,
+                PhoneStateListener.LISTEN_NONE);
     }
 
     private void setAirplaneModeOn(boolean enabling) {
@@ -105,7 +115,7 @@
         }
 
         // Post the intent
-        Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED);
+        final Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED);
         intent.putExtra("state", enabling);
         mContext.sendBroadcastAsUser(intent, UserHandle.ALL);
     }
@@ -124,10 +134,36 @@
         }
     }
 
+    /**
+     * Check the status of ECM mode
+     *
+     * @return any subscription within device is under ECM mode
+     */
+    public boolean isInEcmMode() {
+        if (mTelephonyManager.getEmergencyCallbackMode()) {
+            return true;
+        }
+        final List<SubscriptionInfo> subInfoList =
+                ProxySubscriptionManager.getInstance(mContext).getActiveSubscriptionsInfo();
+        if (subInfoList == null) {
+            return false;
+        }
+        for (SubscriptionInfo subInfo : subInfoList) {
+            final TelephonyManager telephonyManager =
+                    mTelephonyManager.createForSubscriptionId(subInfo.getSubscriptionId());
+            if (telephonyManager != null) {
+                if (telephonyManager.getEmergencyCallbackMode()) {
+                    return true;
+                }
+            }
+        }
+        return false;
+    }
+
     public void setAirplaneMode(boolean isAirplaneModeOn) {
-        if (Boolean.parseBoolean(
-                SystemProperties.get(TelephonyProperties.PROPERTY_INECM_MODE))) {
+        if (isInEcmMode()) {
             // In ECM mode, do not update database at this point
+            Log.d(LOG_TAG, "ECM airplane mode=" + isAirplaneModeOn);
         } else {
             mMetricsFeatureProvider.action(mContext, SettingsEnums.ACTION_AIRPLANE_TOGGLE,
                     isAirplaneModeOn);
@@ -136,6 +172,7 @@
     }
 
     public void setAirplaneModeInECM(boolean isECMExit, boolean isAirplaneModeOn) {
+        Log.d(LOG_TAG, "Exist ECM=" + isECMExit + ", with airplane mode=" + isAirplaneModeOn);
         if (isECMExit) {
             // update database based on the current checkbox state
             setAirplaneModeOn(isAirplaneModeOn);
diff --git a/src/com/android/settings/AllInOneTetherSettings.java b/src/com/android/settings/AllInOneTetherSettings.java
new file mode 100644
index 0000000..251d135
--- /dev/null
+++ b/src/com/android/settings/AllInOneTetherSettings.java
@@ -0,0 +1,425 @@
+/*
+ * 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;
+
+import static android.net.ConnectivityManager.ACTION_TETHER_STATE_CHANGED;
+import static android.net.ConnectivityManager.TETHERING_WIFI;
+import static android.net.wifi.WifiManager.WIFI_AP_STATE_CHANGED_ACTION;
+
+import static com.android.settings.network.TetherEnabler.KEY_ENABLE_WIFI_TETHERING;
+
+import android.app.settings.SettingsEnums;
+import android.bluetooth.BluetoothAdapter;
+import android.bluetooth.BluetoothPan;
+import android.bluetooth.BluetoothProfile;
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.content.SharedPreferences;
+import android.net.wifi.SoftApConfiguration;
+import android.net.wifi.WifiManager;
+import android.os.Bundle;
+import android.os.UserManager;
+import android.text.TextUtils;
+import android.util.FeatureFlagUtils;
+import android.util.Log;
+
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceGroup;
+
+import com.android.settings.core.FeatureFlags;
+import com.android.settings.dashboard.RestrictedDashboardFragment;
+import com.android.settings.datausage.DataSaverBackend;
+import com.android.settings.network.BluetoothTetherPreferenceController;
+import com.android.settings.network.TetherEnabler;
+import com.android.settings.network.UsbTetherPreferenceController;
+import com.android.settings.network.WifiTetherDisablePreferenceController;
+import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settings.widget.SwitchBar;
+import com.android.settings.widget.SwitchBarController;
+import com.android.settings.wifi.tether.WifiTetherApBandPreferenceController;
+import com.android.settings.wifi.tether.WifiTetherAutoOffPreferenceController;
+import com.android.settings.wifi.tether.WifiTetherBasePreferenceController;
+import com.android.settings.wifi.tether.WifiTetherFooterPreferenceController;
+import com.android.settings.wifi.tether.WifiTetherPasswordPreferenceController;
+import com.android.settings.wifi.tether.WifiTetherSSIDPreferenceController;
+import com.android.settings.wifi.tether.WifiTetherSecurityPreferenceController;
+import com.android.settingslib.TetherUtil;
+import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.settingslib.search.SearchIndexable;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.concurrent.atomic.AtomicReference;
+
+/**
+ * Displays preferences for all Tethering options.
+ */
+@SearchIndexable
+public class AllInOneTetherSettings extends RestrictedDashboardFragment
+        implements DataSaverBackend.Listener,
+        WifiTetherBasePreferenceController.OnTetherConfigUpdateListener,
+        SharedPreferences.OnSharedPreferenceChangeListener {
+
+    // TODO(b/148622133): Should clean up the postfix once this fragment replaced TetherSettings.
+    public static final String DEDUP_POSTFIX = "_2";
+
+    @VisibleForTesting
+    static final String KEY_WIFI_TETHER_NETWORK_NAME = "wifi_tether_network_name" + DEDUP_POSTFIX;
+    @VisibleForTesting
+    static final String KEY_WIFI_TETHER_NETWORK_PASSWORD =
+            "wifi_tether_network_password" + DEDUP_POSTFIX;
+    @VisibleForTesting
+    static final String KEY_WIFI_TETHER_AUTO_OFF = "wifi_tether_auto_turn_off" + DEDUP_POSTFIX;
+    @VisibleForTesting
+    static final String KEY_WIFI_TETHER_NETWORK_AP_BAND =
+            "wifi_tether_network_ap_band" + DEDUP_POSTFIX;
+    @VisibleForTesting
+    static final String KEY_WIFI_TETHER_SECURITY = "wifi_tether_security" + DEDUP_POSTFIX;
+
+    private static final String KEY_DATA_SAVER_FOOTER = "disabled_on_data_saver" + DEDUP_POSTFIX;
+    private static final String KEY_WIFI_TETHER_GROUP = "wifi_tether_settings_group";
+    private static final int EXPANDED_CHILD_COUNT_WITH_SECURITY_NON = 2;
+    private static final int EXPANDED_CHILD_COUNT_DEFAULT = 3;
+    private static final String TAG = "AllInOneTetherSettings";
+
+    private boolean mUnavailable;
+
+    private DataSaverBackend mDataSaverBackend;
+    private boolean mDataSaverEnabled;
+    private Preference mDataSaverFooter;
+
+    private WifiManager mWifiManager;
+    private boolean mRestartWifiApAfterConfigChange;
+    private final AtomicReference<BluetoothPan> mBluetoothPan = new AtomicReference<>();
+
+    private WifiTetherSSIDPreferenceController mSSIDPreferenceController;
+    private WifiTetherPasswordPreferenceController mPasswordPreferenceController;
+    private WifiTetherApBandPreferenceController mApBandPreferenceController;
+    private WifiTetherSecurityPreferenceController mSecurityPreferenceController;
+    private PreferenceGroup mWifiTetherGroup;
+    private SharedPreferences mSharedPreferences;
+    private boolean mWifiTetherChosen;
+    private TetherEnabler mTetherEnabler;
+
+    private final BroadcastReceiver mTetherChangeReceiver = new BroadcastReceiver() {
+        @Override
+        public void onReceive(Context content, Intent intent) {
+            String action = intent.getAction();
+            if (Log.isLoggable(TAG, Log.DEBUG)) {
+                Log.d(TAG,
+                        "updating display config due to receiving broadcast action " + action);
+            }
+            updateDisplayWithNewConfig();
+            if (TextUtils.equals(action, ACTION_TETHER_STATE_CHANGED)) {
+                restartWifiTetherIfNeed(mWifiManager.getWifiApState());
+            } else if (TextUtils.equals(action, WIFI_AP_STATE_CHANGED_ACTION)) {
+                restartWifiTetherIfNeed(intent.getIntExtra(WifiManager.EXTRA_WIFI_AP_STATE, 0));
+            }
+        }
+
+        private void restartWifiTetherIfNeed(int state) {
+            if (state == WifiManager.WIFI_AP_STATE_DISABLED
+                    && mWifiTetherChosen
+                    && mRestartWifiApAfterConfigChange) {
+                mRestartWifiApAfterConfigChange = false;
+                mTetherEnabler.startTethering(TETHERING_WIFI);
+            }
+        }
+    };
+
+    private final BluetoothProfile.ServiceListener mProfileServiceListener =
+            new BluetoothProfile.ServiceListener() {
+                public void onServiceConnected(int profile, BluetoothProfile proxy) {
+                    mBluetoothPan.set((BluetoothPan) proxy);
+                }
+
+                public void onServiceDisconnected(int profile) {
+                    mBluetoothPan.set(null);
+                }
+            };
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.TETHER;
+    }
+
+    public AllInOneTetherSettings() {
+        super(UserManager.DISALLOW_CONFIG_TETHERING);
+    }
+
+    @Override
+    public void onAttach(Context context) {
+        super.onAttach(context);
+        mWifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
+        mSharedPreferences =
+                context.getSharedPreferences(TetherEnabler.SHARED_PREF, Context.MODE_PRIVATE);
+
+        mSSIDPreferenceController = use(WifiTetherSSIDPreferenceController.class);
+        mSecurityPreferenceController = use(WifiTetherSecurityPreferenceController.class);
+        mPasswordPreferenceController = use(WifiTetherPasswordPreferenceController.class);
+        mApBandPreferenceController = use(WifiTetherApBandPreferenceController.class);
+        getSettingsLifecycle().addObserver(use(UsbTetherPreferenceController.class));
+        getSettingsLifecycle().addObserver(use(BluetoothTetherPreferenceController.class));
+        getSettingsLifecycle().addObserver(use(WifiTetherDisablePreferenceController.class));
+    }
+
+    @Override
+    public void onCreate(Bundle icicle) {
+        super.onCreate(icicle);
+
+        mDataSaverBackend = new DataSaverBackend(getContext());
+        mDataSaverEnabled = mDataSaverBackend.isDataSaverEnabled();
+        mDataSaverFooter = findPreference(KEY_DATA_SAVER_FOOTER);
+        mWifiTetherGroup = findPreference(KEY_WIFI_TETHER_GROUP);
+
+        setIfOnlyAvailableForAdmins(true);
+        if (isUiRestricted()) {
+            mUnavailable = true;
+            return;
+        }
+
+        mDataSaverBackend.addListener(this);
+
+        // Set initial state based on Data Saver mode.
+        onDataSaverChanged(mDataSaverBackend.isDataSaverEnabled());
+
+        // Set initial state based on SharedPreferences value.
+        onSharedPreferenceChanged(mSharedPreferences, KEY_ENABLE_WIFI_TETHERING);
+    }
+
+    @Override
+    public void onActivityCreated(Bundle savedInstanceState) {
+        super.onActivityCreated(savedInstanceState);
+        if (mUnavailable) {
+            return;
+        }
+        // Assume we are in a SettingsActivity. This is only safe because we currently use
+        // SettingsActivity as base for all preference fragments.
+        final SettingsActivity activity = (SettingsActivity) getActivity();
+        final BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();
+        if (adapter != null) {
+            adapter.getProfileProxy(activity.getApplicationContext(), mProfileServiceListener,
+                    BluetoothProfile.PAN);
+        }
+        final SwitchBar switchBar = activity.getSwitchBar();
+        mTetherEnabler = new TetherEnabler(activity,
+                new SwitchBarController(switchBar), mBluetoothPan);
+        getSettingsLifecycle().addObserver(mTetherEnabler);
+        switchBar.show();
+    }
+
+    @Override
+    public void onStart() {
+        super.onStart();
+
+        if (mUnavailable) {
+            if (!isUiRestrictedByOnlyAdmin()) {
+                getEmptyTextView().setText(R.string.tethering_settings_not_available);
+            }
+            getPreferenceScreen().removeAll();
+            return;
+        }
+        final Context context = getContext();
+        if (context != null) {
+            IntentFilter filter = new IntentFilter(ACTION_TETHER_STATE_CHANGED);
+            filter.addAction(WIFI_AP_STATE_CHANGED_ACTION);
+            context.registerReceiver(mTetherChangeReceiver, filter);
+        }
+    }
+
+    @Override
+    public void onResume() {
+        super.onResume();
+        mSharedPreferences.registerOnSharedPreferenceChangeListener(this);
+    }
+
+    @Override
+    public void onPause() {
+        super.onPause();
+        mSharedPreferences.unregisterOnSharedPreferenceChangeListener(this);
+    }
+
+    @Override
+    public void onStop() {
+        super.onStop();
+        final Context context = getContext();
+        if (context != null) {
+            context.unregisterReceiver(mTetherChangeReceiver);
+        }
+    }
+
+    @Override
+    public void onDestroy() {
+        mDataSaverBackend.remListener(this);
+        super.onDestroy();
+    }
+
+    @Override
+    public void onDataSaverChanged(boolean isDataSaving) {
+        mDataSaverEnabled = isDataSaving;
+        mDataSaverFooter.setVisible(mDataSaverEnabled);
+    }
+
+    @Override
+    public void onWhitelistStatusChanged(int uid, boolean isWhitelisted) {
+        // Do nothing
+    }
+
+    @Override
+    public void onBlacklistStatusChanged(int uid, boolean isBlacklisted) {
+        // Do nothing
+    }
+
+    @Override
+    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
+        return buildPreferenceControllers(context, this);
+    }
+
+    private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
+            WifiTetherBasePreferenceController.OnTetherConfigUpdateListener listener) {
+        final List<AbstractPreferenceController> controllers = new ArrayList<>();
+        controllers.add(
+                new WifiTetherSSIDPreferenceController(context, listener));
+        controllers.add(
+                new WifiTetherPasswordPreferenceController(context, listener));
+        controllers.add(
+                new WifiTetherApBandPreferenceController(context, listener));
+        controllers.add(
+                new WifiTetherSecurityPreferenceController(context, listener));
+        controllers.add(
+                new WifiTetherAutoOffPreferenceController(context, KEY_WIFI_TETHER_AUTO_OFF));
+        controllers.add(
+                new WifiTetherFooterPreferenceController(context));
+
+        return controllers;
+    }
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.all_tether_prefs;
+    }
+
+    @Override
+    protected String getLogTag() {
+        return TAG;
+    }
+
+    @Override
+    public int getHelpResource() {
+        return R.string.help_url_tether;
+    }
+
+    @Override
+    public void onTetherConfigUpdated(AbstractPreferenceController controller) {
+        final SoftApConfiguration config = buildNewConfig();
+        mPasswordPreferenceController.updateVisibility(config.getSecurityType());
+        mWifiManager.setSoftApConfiguration(config);
+
+        if (mWifiManager.getWifiApState() == WifiManager.WIFI_AP_STATE_ENABLED) {
+            if (Log.isLoggable(TAG, Log.DEBUG)) {
+                Log.d(TAG, "Wifi AP config changed while enabled, stop and restart");
+            }
+            mRestartWifiApAfterConfigChange = true;
+            mTetherEnabler.stopTethering(TETHERING_WIFI);
+        }
+
+        if (controller instanceof WifiTetherSecurityPreferenceController) {
+            reConfigInitialExpandedChildCount();
+        }
+    }
+
+    private SoftApConfiguration buildNewConfig() {
+        final SoftApConfiguration.Builder configBuilder = new SoftApConfiguration.Builder();
+        final int securityType = mSecurityPreferenceController.getSecurityType();
+        configBuilder.setSsid(mSSIDPreferenceController.getSSID());
+        if (securityType == SoftApConfiguration.SECURITY_TYPE_WPA2_PSK) {
+            configBuilder.setPassphrase(
+                    mPasswordPreferenceController.getPasswordValidated(securityType),
+                    SoftApConfiguration.SECURITY_TYPE_WPA2_PSK);
+        }
+        configBuilder.setBand(mApBandPreferenceController.getBandIndex());
+        return configBuilder.build();
+    }
+
+    private void updateDisplayWithNewConfig() {
+        mSSIDPreferenceController.updateDisplay();
+        mSecurityPreferenceController.updateDisplay();
+        mPasswordPreferenceController.updateDisplay();
+        mApBandPreferenceController.updateDisplay();
+    }
+
+    @Override
+    public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
+        if (TextUtils.equals(key, KEY_ENABLE_WIFI_TETHERING)) {
+            mWifiTetherChosen = sharedPreferences.getBoolean(KEY_ENABLE_WIFI_TETHERING, true);
+            mWifiTetherGroup.setVisible(mWifiTetherChosen);
+            reConfigInitialExpandedChildCount();
+        }
+    }
+
+    private void reConfigInitialExpandedChildCount() {
+        getPreferenceScreen().setInitialExpandedChildrenCount(getInitialExpandedChildCount());
+    }
+
+    @Override
+    public int getInitialExpandedChildCount() {
+        if (!mWifiTetherChosen) {
+            // Expand all preferences in the screen.
+            return getPreferenceScreen().getPreferenceCount();
+        }
+
+        if (mSecurityPreferenceController == null) {
+            return EXPANDED_CHILD_COUNT_DEFAULT;
+        }
+
+        return (mSecurityPreferenceController.getSecurityType()
+                == SoftApConfiguration.SECURITY_TYPE_OPEN)
+                ? EXPANDED_CHILD_COUNT_WITH_SECURITY_NON : EXPANDED_CHILD_COUNT_DEFAULT;
+    }
+
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.all_tether_prefs) {
+
+                @Override
+                public List<String> getNonIndexableKeys(Context context) {
+                    final List<String> keys = super.getNonIndexableKeys(context);
+
+                    if (!TetherUtil.isTetherAvailable(context)) {
+                        keys.add(KEY_WIFI_TETHER_NETWORK_NAME);
+                        keys.add(KEY_WIFI_TETHER_NETWORK_PASSWORD);
+                        keys.add(KEY_WIFI_TETHER_AUTO_OFF);
+                        keys.add(KEY_WIFI_TETHER_NETWORK_AP_BAND);
+                        keys.add(KEY_WIFI_TETHER_SECURITY);
+                    }
+                    return keys;
+                }
+
+                @Override
+                protected boolean isPageSearchEnabled(Context context) {
+                    return FeatureFlagUtils.isEnabled(context, FeatureFlags.TETHER_ALL_IN_ONE);
+                }
+
+                @Override
+                public List<AbstractPreferenceController> createPreferenceControllers(
+                        Context context) {
+                    return buildPreferenceControllers(context, null /*listener*/);
+                }
+            };
+}
diff --git a/src/com/android/settings/BandMode.java b/src/com/android/settings/BandMode.java
deleted file mode 100644
index 6987d92..0000000
--- a/src/com/android/settings/BandMode.java
+++ /dev/null
@@ -1,238 +0,0 @@
-package com.android.settings;
-
-import android.app.Activity;
-import android.content.DialogInterface;
-import android.os.AsyncResult;
-import android.os.Bundle;
-import android.os.Handler;
-import android.os.Message;
-import android.util.Log;
-import android.view.View;
-import android.view.Window;
-import android.widget.AdapterView;
-import android.widget.ArrayAdapter;
-import android.widget.ListView;
-
-import androidx.appcompat.app.AlertDialog;
-
-import com.android.internal.telephony.Phone;
-import com.android.internal.telephony.PhoneFactory;
-
-/**
- * Radio Band Mode Selection Class
- *
- * It will query baseband about all available band modes and display them
- * in screen. It will display all six band modes if the query failed.
- *
- * After user select one band, it will send the selection to baseband.
- *
- * It will alter user the result of select operation and exit, no matter success
- * or not.
- *
- */
-public class BandMode extends Activity {
-    private static final String LOG_TAG = "phone";
-    private static final boolean DBG = false;
-
-    private static final int EVENT_BAND_SCAN_COMPLETED = 100;
-    private static final int EVENT_BAND_SELECTION_DONE = 200;
-
-    //Directly maps to RIL_RadioBandMode from ril.h
-    private static final String[] BAND_NAMES = new String[] {
-            "Automatic",
-            "Europe",
-            "United States",
-            "Japan",
-            "Australia",
-            "Australia 2",
-            "Cellular 800",
-            "PCS",
-            "Class 3 (JTACS)",
-            "Class 4 (Korea-PCS)",
-            "Class 5",
-            "Class 6 (IMT2000)",
-            "Class 7 (700Mhz-Upper)",
-            "Class 8 (1800Mhz-Upper)",
-            "Class 9 (900Mhz)",
-            "Class 10 (800Mhz-Secondary)",
-            "Class 11 (Europe PAMR 400Mhz)",
-            "Class 15 (US-AWS)",
-            "Class 16 (US-2500Mhz)"
-    };
-
-    private ListView mBandList;
-    private ArrayAdapter mBandListAdapter;
-    private BandListItem mTargetBand = null;
-    private DialogInterface mProgressPanel;
-
-    private Phone mPhone = null;
-
-    @Override
-    protected void onCreate(Bundle icicle) {
-        super.onCreate(icicle);
-
-        requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
-        setContentView(R.layout.band_mode);
-
-        mPhone = PhoneFactory.getDefaultPhone();
-
-        mBandList = (ListView) findViewById(R.id.band);
-        mBandListAdapter = new ArrayAdapter<BandListItem>(this,
-                android.R.layout.simple_list_item_1);
-        mBandList.setAdapter(mBandListAdapter);
-        mBandList.setOnItemClickListener(mBandSelectionHandler);
-
-        loadBandList();
-    }
-
-    private AdapterView.OnItemClickListener mBandSelectionHandler =
-            new AdapterView.OnItemClickListener () {
-                public void onItemClick(AdapterView parent, View v,
-                        int position, long id) {
-
-                    getWindow().setFeatureInt(
-                            Window.FEATURE_INDETERMINATE_PROGRESS,
-                            Window.PROGRESS_VISIBILITY_ON);
-
-                    mTargetBand = (BandListItem) parent.getAdapter().getItem(position);
-
-                    if (DBG) log("Select band : " + mTargetBand.toString());
-
-                    Message msg =
-                            mHandler.obtainMessage(EVENT_BAND_SELECTION_DONE);
-                    mPhone.setBandMode(mTargetBand.getBand(), msg);
-                }
-            };
-
-    static private class BandListItem {
-        private int mBandMode = Phone.BM_UNSPECIFIED;
-
-        public BandListItem(int bm) {
-            mBandMode = bm;
-        }
-
-        public int getBand() {
-            return mBandMode;
-        }
-
-        public String toString() {
-            if (mBandMode >= BAND_NAMES.length) return "Band mode " + mBandMode;
-            return BAND_NAMES[mBandMode];
-        }
-    }
-
-    private void loadBandList() {
-        String str = getString(R.string.band_mode_loading);
-
-        if (DBG) log(str);
-
-
-        //ProgressDialog.show(this, null, str, true, true, null);
-        mProgressPanel = new AlertDialog.Builder(this)
-            .setMessage(str)
-            .show();
-
-        Message msg = mHandler.obtainMessage(EVENT_BAND_SCAN_COMPLETED);
-        mPhone.queryAvailableBandMode(msg);
-
-    }
-
-    private void bandListLoaded(AsyncResult result) {
-        if (DBG) log("network list loaded");
-
-        if (mProgressPanel != null) mProgressPanel.dismiss();
-
-        clearList();
-
-        boolean addBandSuccess = false;
-        BandListItem item;
-
-        if (result.result != null) {
-            int bands[] = (int[])result.result;
-
-            if(bands.length == 0) {
-                Log.wtf(LOG_TAG, "No Supported Band Modes");
-                return;
-            }
-
-            int size = bands[0];
-
-            if (size > 0) {
-                mBandListAdapter.add(
-                        new BandListItem(Phone.BM_UNSPECIFIED)); //Always include AUTOMATIC
-                for (int i=1; i<=size; i++) {
-                    if (bands[i] == Phone.BM_UNSPECIFIED) {
-                        continue;
-                    }
-                    item = new BandListItem(bands[i]);
-                    mBandListAdapter.add(item);
-                    if (DBG) log("Add " + item.toString());
-                }
-                addBandSuccess = true;
-            }
-        }
-
-        if (addBandSuccess == false) {
-            if (DBG) log("Error in query, add default list");
-            for (int i=0; i<Phone.BM_NUM_BAND_MODES; i++) {
-                item = new BandListItem(i);
-                mBandListAdapter.add(item);
-                if (DBG) log("Add default " + item.toString());
-            }
-        }
-        mBandList.requestFocus();
-    }
-
-    private void displayBandSelectionResult(Throwable ex) {
-        String status = getString(R.string.band_mode_set)
-                +" [" + mTargetBand.toString() + "] ";
-
-        if (ex != null) {
-            status = status + getString(R.string.band_mode_failed);
-        } else {
-            status = status + getString(R.string.band_mode_succeeded);
-        }
-
-        mProgressPanel = new AlertDialog.Builder(this)
-            .setMessage(status)
-            .setPositiveButton(android.R.string.ok, null).show();
-    }
-
-    private void clearList() {
-        while(mBandListAdapter.getCount() > 0) {
-            mBandListAdapter.remove(
-                    mBandListAdapter.getItem(0));
-        }
-    }
-
-    private void log(String msg) {
-        Log.d(LOG_TAG, "[BandsList] " + msg);
-    }
-
-    private Handler mHandler = new Handler() {
-        public void handleMessage(Message msg) {
-            AsyncResult ar;
-            switch (msg.what) {
-                case EVENT_BAND_SCAN_COMPLETED:
-                    ar = (AsyncResult) msg.obj;
-
-                    bandListLoaded(ar);
-                    break;
-
-                case EVENT_BAND_SELECTION_DONE:
-                    ar = (AsyncResult) msg.obj;
-
-                    getWindow().setFeatureInt(
-                            Window.FEATURE_INDETERMINATE_PROGRESS,
-                            Window.PROGRESS_VISIBILITY_OFF);
-
-                    if (!isFinishing()) {
-                        displayBandSelectionResult(ar.exception);
-                    }
-                    break;
-            }
-        }
-    };
-
-
-}
diff --git a/src/com/android/settings/BugreportPreference.java b/src/com/android/settings/BugreportPreference.java
index 1652ad2..598399a 100644
--- a/src/com/android/settings/BugreportPreference.java
+++ b/src/com/android/settings/BugreportPreference.java
@@ -46,12 +46,15 @@
     }
 
     @Override
-    protected void onPrepareDialogBuilder(Builder builder, DialogInterface.OnClickListener listener) {
+    protected void onPrepareDialogBuilder(Builder builder,
+            DialogInterface.OnClickListener listener) {
         super.onPrepareDialogBuilder(builder, listener);
 
         final View dialogView = View.inflate(getContext(), R.layout.bugreport_options_dialog, null);
-        mInteractiveTitle = (CheckedTextView) dialogView.findViewById(R.id.bugreport_option_interactive_title);
-        mInteractiveSummary = (TextView) dialogView.findViewById(R.id.bugreport_option_interactive_summary);
+        mInteractiveTitle = (CheckedTextView) dialogView
+                .findViewById(R.id.bugreport_option_interactive_title);
+        mInteractiveSummary = (TextView) dialogView
+                .findViewById(R.id.bugreport_option_interactive_summary);
         mFullTitle = (CheckedTextView) dialogView.findViewById(R.id.bugreport_option_full_title);
         mFullSummary = (TextView) dialogView.findViewById(R.id.bugreport_option_full_summary);
         final View.OnClickListener l = new View.OnClickListener() {
@@ -86,21 +89,21 @@
                 Log.v(TAG, "Taking full bugreport right away");
                 FeatureFactory.getFactory(context).getMetricsFeatureProvider().action(context,
                         SettingsEnums.ACTION_BUGREPORT_FROM_SETTINGS_FULL);
-                takeBugreport(ActivityManager.BUGREPORT_OPTION_FULL);
+                try {
+                    ActivityManager.getService().requestFullBugReport();
+                } catch (RemoteException e) {
+                    Log.e(TAG, "error taking bugreport (bugreportType=Full)", e);
+                }
             } else {
                 Log.v(TAG, "Taking interactive bugreport right away");
                 FeatureFactory.getFactory(context).getMetricsFeatureProvider().action(context,
                         SettingsEnums.ACTION_BUGREPORT_FROM_SETTINGS_INTERACTIVE);
-                takeBugreport(ActivityManager.BUGREPORT_OPTION_INTERACTIVE);
+                try {
+                    ActivityManager.getService().requestInteractiveBugReport();
+                } catch (RemoteException e) {
+                    Log.e(TAG, "error taking bugreport (bugreportType=Interactive)", e);
+                }
             }
         }
     }
-
-    private void takeBugreport(int bugreportType) {
-        try {
-            ActivityManager.getService().requestBugReport(bugreportType);
-        } catch (RemoteException e) {
-            Log.e(TAG, "error taking bugreport (bugreportType=" + bugreportType + ")", e);
-        }
-    }
 }
diff --git a/src/com/android/settings/CryptKeeper.java b/src/com/android/settings/CryptKeeper.java
index 05054b4..5c94f59 100644
--- a/src/com/android/settings/CryptKeeper.java
+++ b/src/com/android/settings/CryptKeeper.java
@@ -60,7 +60,6 @@
 import android.widget.ProgressBar;
 import android.widget.TextView;
 
-import com.android.internal.telephony.PhoneConstants;
 import com.android.internal.widget.LockPatternUtils;
 import com.android.internal.widget.LockPatternView;
 import com.android.internal.widget.LockPatternView.Cell;
@@ -727,7 +726,7 @@
         public void onPatternDetected(List<LockPatternView.Cell> pattern) {
             mLockPatternView.setEnabled(false);
             if (pattern.size() >= MIN_LENGTH_BEFORE_REPORT) {
-                new DecryptTask().execute(LockPatternUtils.patternToString(pattern));
+                new DecryptTask().execute(new String(LockPatternUtils.patternToByteArray(pattern)));
             } else {
                 // Allow user to make as many of these as they want.
                 fakeUnlockAttempt(mLockPatternView);
@@ -916,9 +915,7 @@
      *    phone that has no encryption.
      */
     private final void setAirplaneModeIfNecessary() {
-        final boolean isLteDevice =
-                getTelephonyManager().getLteOnCdmaMode() == PhoneConstants.LTE_ON_CDMA_TRUE;
-        if (!isLteDevice) {
+        if (!getTelephonyManager().isLteCdmaEvdoGsmWcdmaEnabled()) {
             Log.d(TAG, "Going into airplane mode.");
             Settings.Global.putInt(getContentResolver(), Settings.Global.AIRPLANE_MODE_ON, 1);
             final Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED);
@@ -964,7 +961,7 @@
     }
 
     private boolean isEmergencyCallCapable() {
-        return getResources().getBoolean(com.android.internal.R.bool.config_voice_capable);
+        return getTelephonyManager().isVoiceCapable();
     }
 
     private void takeEmergencyCallAction() {
diff --git a/src/com/android/settings/DateTimeSettings.java b/src/com/android/settings/DateTimeSettings.java
deleted file mode 100644
index 40b2005..0000000
--- a/src/com/android/settings/DateTimeSettings.java
+++ /dev/null
@@ -1,196 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings;
-
-import android.app.Activity;
-import android.app.Dialog;
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.content.Intent;
-import android.provider.SearchIndexableResource;
-
-import com.android.settings.dashboard.DashboardFragment;
-import com.android.settings.dashboard.SummaryLoader;
-import com.android.settings.datetime.AutoTimeFormatPreferenceController;
-import com.android.settings.datetime.AutoTimePreferenceController;
-import com.android.settings.datetime.AutoTimeZonePreferenceController;
-import com.android.settings.datetime.DatePreferenceController;
-import com.android.settings.datetime.TimeChangeListenerMixin;
-import com.android.settings.datetime.TimeFormatPreferenceController;
-import com.android.settings.datetime.TimePreferenceController;
-import com.android.settings.datetime.TimeZonePreferenceController;
-import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
-import com.android.settingslib.core.AbstractPreferenceController;
-import com.android.settingslib.datetime.ZoneGetter;
-import com.android.settingslib.search.SearchIndexable;
-
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.List;
-
-@SearchIndexable
-public class DateTimeSettings extends DashboardFragment implements
-        TimePreferenceController.TimePreferenceHost, DatePreferenceController.DatePreferenceHost {
-
-    private static final String TAG = "DateTimeSettings";
-
-    // have we been launched from the setup wizard?
-    protected static final String EXTRA_IS_FROM_SUW = "firstRun";
-
-    @Override
-    public int getMetricsCategory() {
-        return SettingsEnums.DATE_TIME;
-    }
-
-    @Override
-    protected String getLogTag() {
-        return TAG;
-    }
-
-    @Override
-    protected int getPreferenceScreenResId() {
-        return R.xml.date_time_prefs;
-    }
-
-    @Override
-    public void onAttach(Context context) {
-        super.onAttach(context);
-        getSettingsLifecycle().addObserver(new TimeChangeListenerMixin(context, this));
-    }
-
-    @Override
-    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
-        final List<AbstractPreferenceController> controllers = new ArrayList<>();
-        final Activity activity = getActivity();
-        final Intent intent = activity.getIntent();
-        final boolean isFromSUW = intent.getBooleanExtra(EXTRA_IS_FROM_SUW, false);
-
-        final AutoTimeZonePreferenceController autoTimeZonePreferenceController =
-                new AutoTimeZonePreferenceController(
-                        activity, this /* UpdateTimeAndDateCallback */, isFromSUW);
-        final AutoTimePreferenceController autoTimePreferenceController =
-                new AutoTimePreferenceController(
-                        activity, this /* UpdateTimeAndDateCallback */);
-        final AutoTimeFormatPreferenceController autoTimeFormatPreferenceController =
-                new AutoTimeFormatPreferenceController(
-                        activity, this /* UpdateTimeAndDateCallback */);
-        controllers.add(autoTimeZonePreferenceController);
-        controllers.add(autoTimePreferenceController);
-        controllers.add(autoTimeFormatPreferenceController);
-
-        controllers.add(new TimeFormatPreferenceController(
-                activity, this /* UpdateTimeAndDateCallback */, isFromSUW));
-        controllers.add(new TimeZonePreferenceController(
-                activity, autoTimeZonePreferenceController));
-        controllers.add(new TimePreferenceController(
-                activity, this /* UpdateTimeAndDateCallback */, autoTimePreferenceController));
-        controllers.add(new DatePreferenceController(
-                activity, this /* UpdateTimeAndDateCallback */, autoTimePreferenceController));
-        return controllers;
-    }
-
-    @Override
-    public void updateTimeAndDateDisplay(Context context) {
-        updatePreferenceStates();
-    }
-
-    @Override
-    public Dialog onCreateDialog(int id) {
-        switch (id) {
-            case DatePreferenceController.DIALOG_DATEPICKER:
-                return use(DatePreferenceController.class)
-                        .buildDatePicker(getActivity());
-            case TimePreferenceController.DIALOG_TIMEPICKER:
-                return use(TimePreferenceController.class)
-                        .buildTimePicker(getActivity());
-            default:
-                throw new IllegalArgumentException();
-        }
-    }
-
-    @Override
-    public int getDialogMetricsCategory(int dialogId) {
-        switch (dialogId) {
-            case DatePreferenceController.DIALOG_DATEPICKER:
-                return SettingsEnums.DIALOG_DATE_PICKER;
-            case TimePreferenceController.DIALOG_TIMEPICKER:
-                return SettingsEnums.DIALOG_TIME_PICKER;
-            default:
-                return 0;
-        }
-    }
-
-    @Override
-    public void showTimePicker() {
-        removeDialog(TimePreferenceController.DIALOG_TIMEPICKER);
-        showDialog(TimePreferenceController.DIALOG_TIMEPICKER);
-    }
-
-    @Override
-    public void showDatePicker() {
-        showDialog(DatePreferenceController.DIALOG_DATEPICKER);
-    }
-
-    private static class SummaryProvider implements SummaryLoader.SummaryProvider {
-
-        private final Context mContext;
-        private final SummaryLoader mSummaryLoader;
-
-        public SummaryProvider(Context context, SummaryLoader summaryLoader) {
-            mContext = context;
-            mSummaryLoader = summaryLoader;
-        }
-
-        @Override
-        public void setListening(boolean listening) {
-            if (listening) {
-                final Calendar now = Calendar.getInstance();
-                mSummaryLoader.setSummary(this, ZoneGetter.getTimeZoneOffsetAndName(mContext,
-                        now.getTimeZone(), now.getTime()));
-            }
-        }
-    }
-
-    public static final SummaryLoader.SummaryProviderFactory SUMMARY_PROVIDER_FACTORY
-            = new SummaryLoader.SummaryProviderFactory() {
-        @Override
-        public SummaryLoader.SummaryProvider createSummaryProvider(Activity activity,
-                SummaryLoader summaryLoader) {
-            return new SummaryProvider(activity, summaryLoader);
-        }
-    };
-
-
-    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new DateTimeSearchIndexProvider();
-
-    private static class DateTimeSearchIndexProvider extends BaseSearchIndexProvider {
-
-        @Override
-        public List<SearchIndexableResource> getXmlResourcesToIndex(
-                Context context, boolean enabled) {
-            List<SearchIndexableResource> result = new ArrayList<>();
-
-            SearchIndexableResource sir = new SearchIndexableResource(context);
-            sir.xmlResId = R.xml.date_time_prefs;
-            result.add(sir);
-
-            return result;
-        }
-    }
-}
diff --git a/src/com/android/settings/DisplaySettings.java b/src/com/android/settings/DisplaySettings.java
index 06e4694..6b23b29 100644
--- a/src/com/android/settings/DisplaySettings.java
+++ b/src/com/android/settings/DisplaySettings.java
@@ -19,7 +19,6 @@
 import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.os.Bundle;
-import android.provider.SearchIndexableResource;
 
 import com.android.settings.dashboard.DashboardFragment;
 import com.android.settings.display.BrightnessLevelPreferenceController;
@@ -34,7 +33,6 @@
 import com.android.settings.display.TimeoutPreferenceController;
 import com.android.settings.display.VrDisplayPreferenceController;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
 import com.android.settingslib.core.AbstractPreferenceController;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 import com.android.settingslib.search.SearchIndexable;
@@ -95,18 +93,8 @@
         return controllers;
     }
 
-    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
-                        boolean enabled) {
-                    final ArrayList<SearchIndexableResource> result = new ArrayList<>();
-
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.display_settings;
-                    result.add(sir);
-                    return result;
-                }
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.display_settings) {
 
                 @Override
                 public List<AbstractPreferenceController> createPreferenceControllers(
diff --git a/src/com/android/settings/EncryptionInterstitial.java b/src/com/android/settings/EncryptionInterstitial.java
index c132c89..7a11053 100644
--- a/src/com/android/settings/EncryptionInterstitial.java
+++ b/src/com/android/settings/EncryptionInterstitial.java
@@ -31,7 +31,6 @@
 import android.view.View;
 import android.view.ViewGroup;
 import android.view.accessibility.AccessibilityManager;
-import android.widget.LinearLayout;
 import android.widget.TextView;
 
 import androidx.appcompat.app.AlertDialog;
diff --git a/src/com/android/settings/IccLockSettings.java b/src/com/android/settings/IccLockSettings.java
index 605f483..a9b496a 100644
--- a/src/com/android/settings/IccLockSettings.java
+++ b/src/com/android/settings/IccLockSettings.java
@@ -24,12 +24,13 @@
 import android.content.res.Configuration;
 import android.content.res.Resources;
 import android.graphics.PixelFormat;
-import android.os.AsyncResult;
+import android.os.AsyncTask;
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.Message;
+import android.os.PersistableBundle;
+import android.telephony.CarrierConfigManager;
 import android.telephony.SubscriptionInfo;
-import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
 import android.text.TextUtils;
 import android.util.Log;
@@ -37,6 +38,7 @@
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
+import android.view.WindowInsets.Type;
 import android.view.WindowManager;
 import android.widget.EditText;
 import android.widget.ListView;
@@ -51,10 +53,10 @@
 import androidx.preference.Preference;
 import androidx.preference.SwitchPreference;
 
-import com.android.internal.telephony.CommandException;
-import com.android.internal.telephony.Phone;
-import com.android.internal.telephony.PhoneFactory;
-import com.android.internal.telephony.TelephonyIntents;
+import com.android.settings.network.ProxySubscriptionManager;
+
+import java.util.ArrayList;
+import java.util.List;
 
 /**
  * Implements the preference screen to enable/disable ICC lock and
@@ -111,7 +113,7 @@
     private TabWidget mTabWidget;
     private ListView mListView;
 
-    private Phone mPhone;
+    private ProxySubscriptionManager mProxySubscriptionMgr;
 
     private EditPinPreference mPinDialog;
     private SwitchPreference mPinToggle;
@@ -119,24 +121,19 @@
     private Resources mRes;
 
     // For async handler to identify request type
-    private static final int MSG_ENABLE_ICC_PIN_COMPLETE = 100;
-    private static final int MSG_CHANGE_ICC_PIN_COMPLETE = 101;
     private static final int MSG_SIM_STATE_CHANGED = 102;
 
     // @see android.widget.Toast$TN
     private static final long LONG_DURATION_TIMEOUT = 7000;
 
+    private int mSlotId;
+    private int mSubId;
+    private TelephonyManager mTelephonyManager;
+
     // For replies from IccCard interface
     private Handler mHandler = new Handler() {
         public void handleMessage(Message msg) {
-            AsyncResult ar = (AsyncResult) msg.obj;
             switch (msg.what) {
-                case MSG_ENABLE_ICC_PIN_COMPLETE:
-                    iccLockChanged(ar.exception == null, msg.arg1, ar.exception);
-                    break;
-                case MSG_CHANGE_ICC_PIN_COMPLETE:
-                    iccPinChanged(ar.exception == null, msg.arg1);
-                    break;
                 case MSG_SIM_STATE_CHANGED:
                     updatePreferences();
                     break;
@@ -149,20 +146,21 @@
     private final BroadcastReceiver mSimStateReceiver = new BroadcastReceiver() {
         public void onReceive(Context context, Intent intent) {
             final String action = intent.getAction();
-            if (TelephonyIntents.ACTION_SIM_STATE_CHANGED.equals(action)) {
+            if (Intent.ACTION_SIM_STATE_CHANGED.equals(action)) {
                 mHandler.sendMessage(mHandler.obtainMessage(MSG_SIM_STATE_CHANGED));
             }
         }
     };
 
     // For top-level settings screen to query
-    static boolean isIccLockEnabled() {
-        return PhoneFactory.getDefaultPhone().getIccCard().getIccLockEnabled();
+    private boolean isIccLockEnabled() {
+        mTelephonyManager =  mTelephonyManager.createForSubscriptionId(mSubId);
+        return mTelephonyManager.isIccLockEnabled();
     }
 
-    static String getSummary(Context context) {
-        Resources res = context.getResources();
-        String summary = isIccLockEnabled()
+    private String getSummary(Context context) {
+        final Resources res = context.getResources();
+        final String summary = isIccLockEnabled()
                 ? res.getString(R.string.sim_lock_on)
                 : res.getString(R.string.sim_lock_off);
         return summary;
@@ -177,6 +175,13 @@
             return;
         }
 
+        // enable ProxySubscriptionMgr with Lifecycle support for all controllers
+        // live within this fragment
+        mProxySubscriptionMgr = ProxySubscriptionManager.getInstance(getContext());
+        mProxySubscriptionMgr.setLifecycle(getLifecycle());
+
+        mTelephonyManager = getContext().getSystemService(TelephonyManager.class);
+
         addPreferencesFromResource(R.xml.sim_lock_settings);
 
         mPinDialog = (EditPinPreference) findPreference(PIN_DIALOG);
@@ -217,14 +222,35 @@
     public View onCreateView(LayoutInflater inflater, ViewGroup container,
             Bundle savedInstanceState) {
 
-        final TelephonyManager tm =
-                (TelephonyManager) getContext().getSystemService(Context.TELEPHONY_SERVICE);
-        final int numSims = tm.getSimCount();
-        if (numSims > 1) {
-            View view = inflater.inflate(R.layout.icc_lock_tabs, container, false);
+        final int numSims = mProxySubscriptionMgr.getActiveSubscriptionInfoCountMax();
+        final List<SubscriptionInfo> subInfoList =
+                mProxySubscriptionMgr.getActiveSubscriptionsInfo();
+        mSlotId = 0;
+        final List<SubscriptionInfo> componenterList = new ArrayList<>();
+
+        for (int i = 0; i < numSims; ++i) {
+            final SubscriptionInfo subInfo =
+                    getActiveSubscriptionInfoForSimSlotIndex(subInfoList, i);
+            final CarrierConfigManager carrierConfigManager = getContext().getSystemService(
+                    CarrierConfigManager.class);
+            final PersistableBundle bundle = carrierConfigManager.getConfigForSubId(
+                    subInfo.getSubscriptionId());
+            if (bundle != null
+                    && !bundle.getBoolean(CarrierConfigManager.KEY_HIDE_SIM_LOCK_SETTINGS_BOOL)) {
+                componenterList.add(subInfo);
+            }
+        }
+
+        if (componenterList.size() == 0) {
+            Log.e(TAG, "onCreateView: no sim info");
+            return null;
+        }
+
+        if (componenterList.size() > 1) {
+            final View view = inflater.inflate(R.layout.icc_lock_tabs, container, false);
             final ViewGroup prefs_container = (ViewGroup) view.findViewById(R.id.prefs_container);
             Utils.prepareCustomPreferencesList(container, view, prefs_container, false);
-            View prefs = super.onCreateView(inflater, prefs_container, savedInstanceState);
+            final View prefs = super.onCreateView(inflater, prefs_container, savedInstanceState);
             prefs_container.addView(prefs);
 
             mTabHost = (TabHost) view.findViewById(android.R.id.tabhost);
@@ -235,25 +261,22 @@
             mTabHost.setOnTabChangedListener(mTabListener);
             mTabHost.clearAllTabs();
 
-            SubscriptionManager sm = SubscriptionManager.from(getContext());
-            for (int i = 0; i < numSims; ++i) {
-                final SubscriptionInfo subInfo = sm.getActiveSubscriptionInfoForSimSlotIndex(i);
-                mTabHost.addTab(buildTabSpec(String.valueOf(i),
+            for (SubscriptionInfo subInfo : componenterList) {
+                int slot = subInfo.getSimSlotIndex();
+                mTabHost.addTab(buildTabSpec(String.valueOf(slot),
                         String.valueOf(subInfo == null
-                            ? getContext().getString(R.string.sim_editor_title, i + 1)
-                            : subInfo.getDisplayName())));
+                                ? getContext().getString(R.string.sim_editor_title, slot + 1)
+                                : subInfo.getDisplayName())));
             }
-            final SubscriptionInfo sir = sm.getActiveSubscriptionInfoForSimSlotIndex(0);
 
-            mPhone = (sir == null) ? null
-                : PhoneFactory.getPhone(SubscriptionManager.getPhoneId(sir.getSubscriptionId()));
+            mSubId = componenterList.get(0).getSubscriptionId();
 
             if (savedInstanceState != null && savedInstanceState.containsKey(CURRENT_TAB)) {
                 mTabHost.setCurrentTabByTag(savedInstanceState.getString(CURRENT_TAB));
             }
             return view;
         } else {
-            mPhone = PhoneFactory.getDefaultPhone();
+            mSlotId = componenterList.get(0).getSimSlotIndex();
             return super.onCreateView(inflater, container, savedInstanceState);
         }
     }
@@ -265,14 +288,20 @@
     }
 
     private void updatePreferences() {
+
+        final List<SubscriptionInfo> subInfoList =
+                mProxySubscriptionMgr.getActiveSubscriptionsInfo();
+        final SubscriptionInfo sir = getActiveSubscriptionInfoForSimSlotIndex(subInfoList, mSlotId);
+        mSubId = sir.getSubscriptionId();
+
         if (mPinDialog != null) {
-            mPinDialog.setEnabled(mPhone != null);
+            mPinDialog.setEnabled(sir != null);
         }
         if (mPinToggle != null) {
-            mPinToggle.setEnabled(mPhone != null);
+            mPinToggle.setEnabled(sir != null);
 
-            if (mPhone != null) {
-                mPinToggle.setChecked(mPhone.getIccCard().getIccLockEnabled());
+            if (sir != null) {
+                mPinToggle.setChecked(isIccLockEnabled());
             }
         }
     }
@@ -288,7 +317,7 @@
 
         // ACTION_SIM_STATE_CHANGED is sticky, so we'll receive current state after this call,
         // which will call updatePreferences().
-        final IntentFilter filter = new IntentFilter(TelephonyIntents.ACTION_SIM_STATE_CHANGED);
+        final IntentFilter filter = new IntentFilter(Intent.ACTION_SIM_STATE_CHANGED);
         getContext().registerReceiver(mSimStateReceiver, filter);
 
         if (mDialogState != OFF_MODE) {
@@ -456,28 +485,52 @@
     private void tryChangeIccLockState() {
         // Try to change icc lock. If it succeeds, toggle the lock state and
         // reset dialog state. Else inject error message and show dialog again.
-        Message callback = Message.obtain(mHandler, MSG_ENABLE_ICC_PIN_COMPLETE);
-        mPhone.getIccCard().setIccLockEnabled(mToState, mPin, callback);
+        new SetIccLockEnabled(mToState, mPin).execute();
         // Disable the setting till the response is received.
         mPinToggle.setEnabled(false);
     }
 
-    private void iccLockChanged(boolean success, int attemptsRemaining, Throwable exception) {
+    private class SetIccLockEnabled extends AsyncTask<Void, Void, Void> {
+        private final boolean mState;
+        private final String mPassword;
+        private int mAttemptsRemaining;
+
+        private SetIccLockEnabled(boolean state, String pin) {
+            mState = state;
+            mPassword = pin;
+        }
+
+        @Override
+        protected Void doInBackground(Void... params) {
+            mTelephonyManager =  mTelephonyManager.createForSubscriptionId(mSubId);
+            mAttemptsRemaining = mTelephonyManager.setIccLockEnabled(mState, mPassword);
+            return null;
+        }
+
+        @Override
+        protected void onPostExecute(Void aVoid) {
+            if (mAttemptsRemaining == TelephonyManager.CHANGE_ICC_LOCK_SUCCESS) {
+                iccLockChanged(true, mAttemptsRemaining);
+            } else {
+                iccLockChanged(false, mAttemptsRemaining);
+            }
+        }
+    }
+
+    private void iccLockChanged(boolean success, int attemptsRemaining) {
+        Log.d(TAG, "iccLockChanged: success = " + success);
         if (success) {
             mPinToggle.setChecked(mToState);
         } else {
-            if (exception instanceof CommandException) {
-                CommandException.Error err = ((CommandException)(exception)).getCommandError();
-                if (err == CommandException.Error.PASSWORD_INCORRECT) {
-                    createCustomTextToast(getPinPasswordErrorMessage(attemptsRemaining));
+            if (attemptsRemaining >= 0) {
+                createCustomTextToast(getPinPasswordErrorMessage(attemptsRemaining));
+            } else {
+                if (mToState) {
+                    Toast.makeText(getContext(), mRes.getString(
+                            R.string.sim_pin_enable_failed), Toast.LENGTH_LONG).show();
                 } else {
-                    if (mToState) {
-                        Toast.makeText(getContext(), mRes.getString
-                               (R.string.sim_pin_enable_failed), Toast.LENGTH_LONG).show();
-                    } else {
-                        Toast.makeText(getContext(), mRes.getString
-                               (R.string.sim_pin_disable_failed), Toast.LENGTH_LONG).show();
-                    }
+                    Toast.makeText(getContext(), mRes.getString(
+                            R.string.sim_pin_disable_failed), Toast.LENGTH_LONG).show();
                 }
             }
         }
@@ -490,9 +543,9 @@
         // The window type of Toast is set by NotificationManagerService.
         // It can't be overwritten by LayoutParams.type.
         // Ovarlay a custom window with LayoutParams (TYPE_STATUS_BAR_PANEL) on PUK unlock screen.
-        View v = ((LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE))
+        final View v = ((LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE))
                 .inflate(com.android.internal.R.layout.transient_notification, null);
-        TextView tv = (TextView) v.findViewById(com.android.internal.R.id.message);
+        final TextView tv = (TextView) v.findViewById(com.android.internal.R.id.message);
         tv.setText(errorMessage);
 
         final WindowManager.LayoutParams params = new WindowManager.LayoutParams();
@@ -515,13 +568,14 @@
         params.width = WindowManager.LayoutParams.WRAP_CONTENT;
         params.format = PixelFormat.TRANSLUCENT;
         params.windowAnimations = com.android.internal.R.style.Animation_Toast;
-        params.type = WindowManager.LayoutParams.TYPE_STATUS_BAR_PANEL;
+        params.type = WindowManager.LayoutParams.TYPE_STATUS_BAR_SUB_PANEL;
+        params.setFitInsetsTypes(params.getFitInsetsTypes() & ~Type.statusBars());
         params.setTitle(errorMessage);
         params.flags = WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON
                 | WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
                 | WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE;
 
-        WindowManager wm = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
+        final WindowManager wm = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
         wm.addView(v, params);
 
         mHandler.postDelayed(new Runnable() {
@@ -533,21 +587,46 @@
     }
 
     private void iccPinChanged(boolean success, int attemptsRemaining) {
+        Log.d(TAG, "iccPinChanged: success = " + success);
         if (!success) {
             createCustomTextToast(getPinPasswordErrorMessage(attemptsRemaining));
         } else {
             Toast.makeText(getContext(), mRes.getString(R.string.sim_change_succeeded),
                     Toast.LENGTH_SHORT)
                     .show();
-
         }
         resetDialogState();
     }
 
     private void tryChangePin() {
-        Message callback = Message.obtain(mHandler, MSG_CHANGE_ICC_PIN_COMPLETE);
-        mPhone.getIccCard().changeIccLockPassword(mOldPin,
-                mNewPin, callback);
+        new ChangeIccLockPassword(mOldPin, mNewPin).execute();
+    }
+
+    private class ChangeIccLockPassword extends AsyncTask<Void, Void, Void> {
+        private final String mOldPwd;
+        private final String mNewPwd;
+        private int mAttemptsRemaining;
+
+        private ChangeIccLockPassword(String oldPin, String newPin) {
+            mOldPwd = oldPin;
+            mNewPwd = newPin;
+        }
+
+        @Override
+        protected Void doInBackground(Void... params) {
+            mTelephonyManager = mTelephonyManager.createForSubscriptionId(mSubId);
+            mAttemptsRemaining = mTelephonyManager.changeIccLockPassword(mOldPwd, mNewPwd);
+            return null;
+        }
+
+        @Override
+        protected void onPostExecute(Void aVoid) {
+            if (mAttemptsRemaining == TelephonyManager.CHANGE_ICC_LOCK_SUCCESS) {
+                iccPinChanged(true, mAttemptsRemaining);
+            } else {
+                iccPinChanged(false, mAttemptsRemaining);
+            }
+        }
     }
 
     private String getPinPasswordErrorMessage(int attemptsRemaining) {
@@ -583,15 +662,25 @@
         mDialogState = OFF_MODE;
     }
 
+    private static SubscriptionInfo getActiveSubscriptionInfoForSimSlotIndex(
+            List<SubscriptionInfo> subInfoList, int slotId) {
+        if (subInfoList == null) {
+            return null;
+        }
+        for (SubscriptionInfo subInfo : subInfoList) {
+            if (subInfo.getSimSlotIndex() == slotId) {
+                return subInfo;
+            }
+        }
+        return null;
+    }
+
     private OnTabChangeListener mTabListener = new OnTabChangeListener() {
         @Override
         public void onTabChanged(String tabId) {
-            final int slotId = Integer.parseInt(tabId);
-            final SubscriptionInfo sir = SubscriptionManager.from(getActivity().getBaseContext())
-                    .getActiveSubscriptionInfoForSimSlotIndex(slotId);
-
-            mPhone = (sir == null) ? null
-                : PhoneFactory.getPhone(SubscriptionManager.getPhoneId(sir.getSubscriptionId()));
+            mSlotId = Integer.parseInt(tabId);
+            final SubscriptionInfo sir = getActiveSubscriptionInfoForSimSlotIndex(
+                    mProxySubscriptionMgr.getActiveSubscriptionsInfo(), mSlotId);
 
             // The User has changed tab; update the body.
             updatePreferences();
diff --git a/src/com/android/settings/LegalSettings.java b/src/com/android/settings/LegalSettings.java
index e6f0c2c..9cb3bf4 100644
--- a/src/com/android/settings/LegalSettings.java
+++ b/src/com/android/settings/LegalSettings.java
@@ -17,17 +17,11 @@
 package com.android.settings;
 
 import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.provider.SearchIndexableResource;
 
 import com.android.settings.dashboard.DashboardFragment;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
 import com.android.settingslib.search.SearchIndexable;
 
-import java.util.Arrays;
-import java.util.List;
-
 @SearchIndexable
 public class LegalSettings extends DashboardFragment {
 
@@ -48,15 +42,6 @@
         return R.xml.about_legal;
     }
 
-    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(
-                        Context context, boolean enabled) {
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.about_legal;
-                    return Arrays.asList(sir);
-                }
-            };
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.about_legal);
 }
diff --git a/src/com/android/settings/LinkifyUtils.java b/src/com/android/settings/LinkifyUtils.java
index 5550db5..7da7ed2 100644
--- a/src/com/android/settings/LinkifyUtils.java
+++ b/src/com/android/settings/LinkifyUtils.java
@@ -74,7 +74,7 @@
             @Override
             public void updateDrawState(TextPaint ds) {
                 super.updateDrawState(ds);
-                ds.setUnderlineText(false);
+                ds.setUnderlineText(true);
             }
         };
         spannableContent.setSpan(spannableLink, beginIndex, endIndex,
diff --git a/src/com/android/settings/MasterClear.java b/src/com/android/settings/MasterClear.java
index 0df3984..8bb898a 100644
--- a/src/com/android/settings/MasterClear.java
+++ b/src/com/android/settings/MasterClear.java
@@ -64,6 +64,7 @@
 import com.android.settings.password.ChooseLockSettingsHelper;
 import com.android.settings.password.ConfirmLockPattern;
 import com.android.settingslib.RestrictedLockUtilsInternal;
+import com.android.settingslib.development.DevelopmentSettingsEnabler;
 
 import com.google.android.setupcompat.template.FooterBarMixin;
 import com.google.android.setupcompat.template.FooterButton;
@@ -382,8 +383,7 @@
         }
         ContentResolver cr = context.getContentResolver();
         return Settings.Global.getInt(cr, Settings.Global.EUICC_PROVISIONED, 0) != 0
-                || Settings.Global.getInt(
-                cr, Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 0) != 0;
+                || DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(context);
     }
 
     @VisibleForTesting
diff --git a/src/com/android/settings/MasterClearConfirm.java b/src/com/android/settings/MasterClearConfirm.java
index a8c4341..679f18f 100644
--- a/src/com/android/settings/MasterClearConfirm.java
+++ b/src/com/android/settings/MasterClearConfirm.java
@@ -49,6 +49,7 @@
 import com.google.android.setupcompat.template.FooterBarMixin;
 import com.google.android.setupcompat.template.FooterButton;
 import com.google.android.setupcompat.template.FooterButton.ButtonType;
+import com.google.android.setupcompat.util.WizardManagerHelper;
 import com.google.android.setupdesign.GlifLayout;
 
 /**
@@ -86,7 +87,7 @@
                     getActivity().getSystemService(Context.OEM_LOCK_SERVICE);
 
             if (pdbManager != null && !oemLockManager.isOemUnlockAllowed() &&
-                    Utils.isDeviceProvisioned(getActivity())) {
+                    WizardManagerHelper.isDeviceProvisioned(getActivity())) {
                 // if OEM unlock is allowed, the persistent data block will be wiped during FR
                 // process. If disabled, it will be wiped here, unless the device is still being
                 // provisioned, in which case the persistent data block will be preserved.
diff --git a/src/com/android/settings/RadioInfo.java b/src/com/android/settings/RadioInfo.java
deleted file mode 100644
index 249db58..0000000
--- a/src/com/android/settings/RadioInfo.java
+++ /dev/null
@@ -1,1768 +0,0 @@
-/*
- * Copyright (C) 2006 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings;
-
-import static android.net.ConnectivityManager.NetworkCallback;
-import static android.provider.Settings.Global.PREFERRED_NETWORK_MODE;
-
-import android.app.Activity;
-import android.app.QueuedWork;
-import android.content.ComponentName;
-import android.content.Context;
-import android.content.DialogInterface;
-import android.content.Intent;
-import android.content.pm.PackageManager;
-import android.content.pm.ResolveInfo;
-import android.content.res.Resources;
-import android.graphics.Typeface;
-import android.net.ConnectivityManager;
-import android.net.Network;
-import android.net.NetworkCapabilities;
-import android.net.NetworkRequest;
-import android.net.TrafficStats;
-import android.net.Uri;
-import android.os.AsyncResult;
-import android.os.Build;
-import android.os.Bundle;
-import android.os.Handler;
-import android.os.Message;
-import android.os.SystemProperties;
-import android.provider.Settings;
-import android.telephony.CarrierConfigManager;
-import android.telephony.CellIdentityCdma;
-import android.telephony.CellIdentityGsm;
-import android.telephony.CellIdentityLte;
-import android.telephony.CellIdentityWcdma;
-import android.telephony.CellInfo;
-import android.telephony.CellInfoCdma;
-import android.telephony.CellInfoGsm;
-import android.telephony.CellInfoLte;
-import android.telephony.CellInfoWcdma;
-import android.telephony.CellLocation;
-import android.telephony.CellSignalStrengthCdma;
-import android.telephony.CellSignalStrengthGsm;
-import android.telephony.CellSignalStrengthLte;
-import android.telephony.CellSignalStrengthWcdma;
-import android.telephony.PhoneStateListener;
-import android.telephony.PhysicalChannelConfig;
-import android.telephony.PreciseCallState;
-import android.telephony.ServiceState;
-import android.telephony.SignalStrength;
-import android.telephony.SubscriptionManager;
-import android.telephony.TelephonyManager;
-import android.telephony.cdma.CdmaCellLocation;
-import android.telephony.gsm.GsmCellLocation;
-import android.text.TextUtils;
-import android.util.Log;
-import android.view.Menu;
-import android.view.MenuItem;
-import android.view.View;
-import android.view.View.OnClickListener;
-import android.widget.AdapterView;
-import android.widget.ArrayAdapter;
-import android.widget.Button;
-import android.widget.CompoundButton;
-import android.widget.CompoundButton.OnCheckedChangeListener;
-import android.widget.EditText;
-import android.widget.Spinner;
-import android.widget.Switch;
-import android.widget.TextView;
-
-import androidx.appcompat.app.AlertDialog;
-import androidx.appcompat.app.AlertDialog.Builder;
-
-import com.android.ims.ImsConfig;
-import com.android.ims.ImsException;
-import com.android.ims.ImsManager;
-import com.android.internal.telephony.Phone;
-import com.android.internal.telephony.PhoneFactory;
-
-import java.io.IOException;
-import java.net.HttpURLConnection;
-import java.net.URL;
-import java.util.List;
-
-// TODO(b/123598192) consider to move this activity to telephony package.
-public class RadioInfo extends Activity {
-    private static final String TAG = "RadioInfo";
-
-    private static final String[] PREFERRED_NETWORK_LABELS_MAX_LTE = {
-            "GSM/WCDMA preferred",
-            "GSM only",
-            "WCDMA only",
-            "GSM/WCDMA auto (PRL)",
-            "CDMA/EvDo auto (PRL)",
-            "CDMA only",
-            "EvDo only",
-            "CDMA/EvDo/GSM/WCDMA (PRL)",
-            "CDMA + LTE/EvDo (PRL)",
-            "GSM/WCDMA/LTE (PRL)",
-            "LTE/CDMA/EvDo/GSM/WCDMA (PRL)",
-            "LTE only",
-            "LTE/WCDMA",
-            "TDSCDMA only",
-            "TDSCDMA/WCDMA",
-            "LTE/TDSCDMA",
-            "TDSCDMA/GSM",
-            "LTE/TDSCDMA/GSM",
-            "TDSCDMA/GSM/WCDMA",
-            "LTE/TDSCDMA/WCDMA",
-            "LTE/TDSCDMA/GSM/WCDMA",
-            "TDSCDMA/CDMA/EvDo/GSM/WCDMA ",
-            "LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA",
-            "Unknown"
-    };
-
-    private static final String[] PREFERRED_NETWORK_LABELS = {
-            "GSM/WCDMA preferred",
-            "GSM only",
-            "WCDMA only",
-            "GSM/WCDMA auto (PRL)",
-            "CDMA/EvDo auto (PRL)",
-            "CDMA only",
-            "EvDo only",
-            "CDMA/EvDo/GSM/WCDMA (PRL)",
-            "CDMA + LTE/EvDo (PRL)",
-            "GSM/WCDMA/LTE (PRL)",
-            "LTE/CDMA/EvDo/GSM/WCDMA (PRL)",
-            "LTE only",
-            "LTE/WCDMA",
-            "TDSCDMA only",
-            "TDSCDMA/WCDMA",
-            "LTE/TDSCDMA",
-            "TDSCDMA/GSM",
-            "LTE/TDSCDMA/GSM",
-            "TDSCDMA/GSM/WCDMA",
-            "LTE/TDSCDMA/WCDMA",
-            "LTE/TDSCDMA/GSM/WCDMA",
-            "TDSCDMA/CDMA/EvDo/GSM/WCDMA ",
-            "LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA",
-            "NR only",
-            "NR/LTE",
-            "NR/LTE/CDMA/EvDo",
-            "NR/LTE/GSM/WCDMA",
-            "NR/LTE/CDMA/EvDo/GSM/WCDMA",
-            "NR/LTE/WCDMA",
-            "NR/LTE/TDSCDMA",
-            "NR/LTE/TDSCDMA/GSM",
-            "NR/LTE/TDSCDMA/WCDMA",
-            "NR/LTE/TDSCDMA/GSM/WCDMA",
-            "NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA",
-            "Unknown"
-    };
-
-    private static String[] mPhoneIndexLabels;
-
-    private static final int CELL_INFO_LIST_RATE_DISABLED = Integer.MAX_VALUE;
-    private static final int CELL_INFO_LIST_RATE_MAX = 0;
-
-    private static final String DSDS_MODE_PROPERTY = "ro.boot.hardware.dsds";
-
-    /**
-     * A value indicates the device is always on dsds mode.
-     * @see {@link #DSDS_MODE_PROPERTY}
-     */
-    private static final int ALWAYS_ON_DSDS_MODE = 1;
-
-    private static final int IMS_VOLTE_PROVISIONED_CONFIG_ID =
-        ImsConfig.ConfigConstants.VLT_SETTING_ENABLED;
-
-    private static final int IMS_VT_PROVISIONED_CONFIG_ID =
-        ImsConfig.ConfigConstants.LVC_SETTING_ENABLED;
-
-    private static final int IMS_WFC_PROVISIONED_CONFIG_ID =
-        ImsConfig.ConfigConstants.VOICE_OVER_WIFI_SETTING_ENABLED;
-
-    private static final int EAB_PROVISIONED_CONFIG_ID =
-        ImsConfig.ConfigConstants.EAB_SETTING_ENABLED;
-
-    //Values in must match mCellInfoRefreshRates
-    private static final String[] mCellInfoRefreshRateLabels = {
-            "Disabled",
-            "Immediate",
-            "Min 5s",
-            "Min 10s",
-            "Min 60s"
-    };
-
-    //Values in seconds, must match mCellInfoRefreshRateLabels
-    private static final int mCellInfoRefreshRates[] = {
-        CELL_INFO_LIST_RATE_DISABLED,
-        CELL_INFO_LIST_RATE_MAX,
-        5000,
-        10000,
-        60000
-    };
-
-    private static void log(String s) {
-        Log.d(TAG, s);
-    }
-
-    private static final int EVENT_CFI_CHANGED = 302;
-
-    private static final int EVENT_QUERY_PREFERRED_TYPE_DONE = 1000;
-    private static final int EVENT_SET_PREFERRED_TYPE_DONE = 1001;
-    private static final int EVENT_QUERY_SMSC_DONE = 1005;
-    private static final int EVENT_UPDATE_SMSC_DONE = 1006;
-
-    private static final int MENU_ITEM_SELECT_BAND         = 0;
-    private static final int MENU_ITEM_VIEW_ADN            = 1;
-    private static final int MENU_ITEM_VIEW_FDN            = 2;
-    private static final int MENU_ITEM_VIEW_SDN            = 3;
-    private static final int MENU_ITEM_GET_IMS_STATUS      = 4;
-    private static final int MENU_ITEM_TOGGLE_DATA         = 5;
-
-    private TextView mDeviceId; //DeviceId is the IMEI in GSM and the MEID in CDMA
-    private TextView number;
-    private TextView mSubscriptionId;
-    private TextView mDds;
-    private TextView mSubscriberId;
-    private TextView callState;
-    private TextView operatorName;
-    private TextView roamingState;
-    private TextView gsmState;
-    private TextView gprsState;
-    private TextView voiceNetwork;
-    private TextView dataNetwork;
-    private TextView dBm;
-    private TextView mMwi;
-    private TextView mCfi;
-    private TextView mLocation;
-    private TextView mCellInfo;
-    private TextView sent;
-    private TextView received;
-    private TextView mPingHostnameV4;
-    private TextView mPingHostnameV6;
-    private TextView mHttpClientTest;
-    private TextView mPhyChanConfig;
-    private TextView dnsCheckState;
-    private TextView mDownlinkKbps;
-    private TextView mUplinkKbps;
-    private EditText smsc;
-    private Switch radioPowerOnSwitch;
-    private Button cellInfoRefreshRateButton;
-    private Button dnsCheckToggleButton;
-    private Button pingTestButton;
-    private Button updateSmscButton;
-    private Button refreshSmscButton;
-    private Button oemInfoButton;
-    private Button carrierProvisioningButton;
-    private Button triggercarrierProvisioningButton;
-    private Switch imsVolteProvisionedSwitch;
-    private Switch imsVtProvisionedSwitch;
-    private Switch imsWfcProvisionedSwitch;
-    private Switch eabProvisionedSwitch;
-    private Switch cbrsDataSwitch;
-    private Switch dsdsSwitch;
-    private Spinner preferredNetworkType;
-    private Spinner mSelectPhoneIndex;
-    private Spinner cellInfoRefreshRateSpinner;
-
-    private ConnectivityManager mConnectivityManager;
-    private TelephonyManager mTelephonyManager;
-    private ImsManager mImsManager = null;
-    private Phone mPhone = null;
-
-    private String mPingHostnameResultV4;
-    private String mPingHostnameResultV6;
-    private String mHttpClientTestResult;
-    private boolean mMwiValue = false;
-    private boolean mCfiValue = false;
-
-    private List<CellInfo> mCellInfoResult = null;
-    private CellLocation mCellLocationResult = null;
-
-    private int mPreferredNetworkTypeResult;
-    private int mCellInfoRefreshRateIndex;
-    private int mSelectedPhoneIndex;
-
-    private String[] mPreferredNetworkLabels;
-
-    private final NetworkRequest mDefaultNetworkRequest = new NetworkRequest.Builder()
-            .addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR)
-            .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
-            .build();
-
-    private final NetworkCallback mNetworkCallback = new NetworkCallback() {
-        public void onCapabilitiesChanged(Network n, NetworkCapabilities nc) {
-            int dlbw = nc.getLinkDownstreamBandwidthKbps();
-            int ulbw = nc.getLinkUpstreamBandwidthKbps();
-            updateBandwidths(dlbw, ulbw);
-        }
-    };
-
-    // not final because we need to recreate this object to register on a new subId (b/117555407)
-    private PhoneStateListener mPhoneStateListener = new RadioInfoPhoneStateListener();
-    private class RadioInfoPhoneStateListener extends PhoneStateListener {
-        @Override
-        public void onDataConnectionStateChanged(int state) {
-            updateDataState();
-            updateNetworkType();
-        }
-
-        @Override
-        public void onDataActivity(int direction) {
-            updateDataStats2();
-        }
-
-        @Override
-        public void onCallStateChanged(int state, String incomingNumber) {
-            updateNetworkType();
-            updatePhoneState(state);
-        }
-
-        @Override
-        public void onPreciseCallStateChanged(PreciseCallState preciseState) {
-            updateNetworkType();
-        }
-
-        @Override
-        public void onCellLocationChanged(CellLocation location) {
-            updateLocation(location);
-        }
-
-        @Override
-        public void onMessageWaitingIndicatorChanged(boolean mwi) {
-            mMwiValue = mwi;
-            updateMessageWaiting();
-        }
-
-        @Override
-        public void onCallForwardingIndicatorChanged(boolean cfi) {
-            mCfiValue = cfi;
-            updateCallRedirect();
-        }
-
-        @Override
-        public void onCellInfoChanged(List<CellInfo> arrayCi) {
-            log("onCellInfoChanged: arrayCi=" + arrayCi);
-            mCellInfoResult = arrayCi;
-            updateCellInfo(mCellInfoResult);
-        }
-
-        @Override
-        public void onSignalStrengthsChanged(SignalStrength signalStrength) {
-            log("onSignalStrengthChanged: SignalStrength=" +signalStrength);
-            updateSignalStrength(signalStrength);
-        }
-
-        @Override
-        public void onServiceStateChanged(ServiceState serviceState) {
-            log("onServiceStateChanged: ServiceState=" + serviceState);
-            updateServiceState(serviceState);
-            updateRadioPowerState();
-            updateNetworkType();
-            updateImsProvisionedState();
-        }
-
-        @Override
-        public void onPhysicalChannelConfigurationChanged(
-                List<PhysicalChannelConfig> configs) {
-            updatePhysicalChannelConfiguration(configs);
-        }
-
-    }
-
-    private void updatePhysicalChannelConfiguration(List<PhysicalChannelConfig> configs) {
-            StringBuilder sb = new StringBuilder();
-            String div = "";
-            sb.append("{");
-            if (configs != null) {
-                for(PhysicalChannelConfig c : configs) {
-                    sb.append(div).append(c);
-                    div = ",";
-                }
-            }
-            sb.append("}");
-            mPhyChanConfig.setText(sb.toString());
-    }
-
-    private void updatePreferredNetworkType(int type) {
-        if (type >= mPreferredNetworkLabels.length || type < 0) {
-            log("EVENT_QUERY_PREFERRED_TYPE_DONE: unknown " +
-                    "type=" + type);
-            type = mPreferredNetworkLabels.length - 1; //set to Unknown
-        }
-        mPreferredNetworkTypeResult = type;
-
-        preferredNetworkType.setSelection(mPreferredNetworkTypeResult, true);
-    }
-
-    private void updatePhoneIndex(int phoneIndex, int subId) {
-        // unregister listeners on the old subId
-        unregisterPhoneStateListener();
-        mTelephonyManager.setCellInfoListRate(CELL_INFO_LIST_RATE_DISABLED);
-
-        // update the subId
-        mTelephonyManager = mTelephonyManager.createForSubscriptionId(subId);
-
-        // update the phoneId
-        mImsManager = ImsManager.getInstance(getApplicationContext(), phoneIndex);
-        mPhone = PhoneFactory.getPhone(phoneIndex);
-
-        updateAllFields();
-    }
-
-    private Handler mHandler = new Handler() {
-        @Override
-        public void handleMessage(Message msg) {
-            AsyncResult ar;
-            switch (msg.what) {
-                case EVENT_QUERY_PREFERRED_TYPE_DONE:
-                    ar= (AsyncResult) msg.obj;
-                    if (ar.exception == null && ar.result != null) {
-                        updatePreferredNetworkType(((int[])ar.result)[0]);
-                    } else {
-                        //In case of an exception, we will set this to unknown
-                        updatePreferredNetworkType(mPreferredNetworkLabels.length-1);
-                    }
-                    break;
-                case EVENT_SET_PREFERRED_TYPE_DONE:
-                    ar= (AsyncResult) msg.obj;
-                    if (ar.exception != null) {
-                        log("Set preferred network type failed.");
-                    }
-                    break;
-                case EVENT_QUERY_SMSC_DONE:
-                    ar= (AsyncResult) msg.obj;
-                    if (ar.exception != null) {
-                        smsc.setText("refresh error");
-                    } else {
-                        smsc.setText((String)ar.result);
-                    }
-                    break;
-                case EVENT_UPDATE_SMSC_DONE:
-                    updateSmscButton.setEnabled(true);
-                    ar= (AsyncResult) msg.obj;
-                    if (ar.exception != null) {
-                        smsc.setText("update error");
-                    }
-                    break;
-                default:
-                    super.handleMessage(msg);
-                    break;
-
-            }
-        }
-    };
-
-    @Override
-    public void onCreate(Bundle icicle) {
-        super.onCreate(icicle);
-        if (!android.os.Process.myUserHandle().isSystem()) {
-            Log.e(TAG, "Not run from system user, don't do anything.");
-            finish();
-            return;
-        }
-
-        setContentView(R.layout.radio_info);
-
-        log("Started onCreate");
-
-        mTelephonyManager = (TelephonyManager)getSystemService(TELEPHONY_SERVICE);
-        mConnectivityManager = (ConnectivityManager)getSystemService(CONNECTIVITY_SERVICE);
-        mPhone = PhoneFactory.getDefaultPhone();
-
-        mImsManager = ImsManager.getInstance(getApplicationContext(),
-                SubscriptionManager.getDefaultVoicePhoneId());
-
-        mPhoneIndexLabels = getPhoneIndexLabels(mTelephonyManager);
-
-        mDeviceId = (TextView) findViewById(R.id.imei);
-        number = (TextView) findViewById(R.id.number);
-        mSubscriptionId = (TextView) findViewById(R.id.subid);
-        mDds = (TextView) findViewById(R.id.dds);
-        mSubscriberId = (TextView) findViewById(R.id.imsi);
-        callState = (TextView) findViewById(R.id.call);
-        operatorName = (TextView) findViewById(R.id.operator);
-        roamingState = (TextView) findViewById(R.id.roaming);
-        gsmState = (TextView) findViewById(R.id.gsm);
-        gprsState = (TextView) findViewById(R.id.gprs);
-        voiceNetwork = (TextView) findViewById(R.id.voice_network);
-        dataNetwork = (TextView) findViewById(R.id.data_network);
-        dBm = (TextView) findViewById(R.id.dbm);
-        mMwi = (TextView) findViewById(R.id.mwi);
-        mCfi = (TextView) findViewById(R.id.cfi);
-        mLocation = (TextView) findViewById(R.id.location);
-        mCellInfo = (TextView) findViewById(R.id.cellinfo);
-        mCellInfo.setTypeface(Typeface.MONOSPACE);
-
-        sent = (TextView) findViewById(R.id.sent);
-        received = (TextView) findViewById(R.id.received);
-        smsc = (EditText) findViewById(R.id.smsc);
-        dnsCheckState = (TextView) findViewById(R.id.dnsCheckState);
-        mPingHostnameV4 = (TextView) findViewById(R.id.pingHostnameV4);
-        mPingHostnameV6 = (TextView) findViewById(R.id.pingHostnameV6);
-        mHttpClientTest = (TextView) findViewById(R.id.httpClientTest);
-
-        mPhyChanConfig = (TextView) findViewById(R.id.phy_chan_config);
-
-        final long supportedRadioBitmask = mTelephonyManager.getSupportedRadioAccessFamily();
-        mPreferredNetworkLabels =
-                ((TelephonyManager.NETWORK_TYPE_BITMASK_NR & supportedRadioBitmask) > 0)
-                        ? PREFERRED_NETWORK_LABELS : PREFERRED_NETWORK_LABELS_MAX_LTE;
-        preferredNetworkType = (Spinner) findViewById(R.id.preferredNetworkType);
-        ArrayAdapter<String> preferredNetworkTypeAdapter = new ArrayAdapter<String> (this,
-                android.R.layout.simple_spinner_item, mPreferredNetworkLabels);
-        preferredNetworkTypeAdapter
-                .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
-        preferredNetworkType.setAdapter(preferredNetworkTypeAdapter);
-
-        mSelectPhoneIndex = (Spinner) findViewById(R.id.phoneIndex);
-        ArrayAdapter<String> phoneIndexAdapter = new ArrayAdapter<String> (this,
-                android.R.layout.simple_spinner_item, mPhoneIndexLabels);
-        phoneIndexAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
-        mSelectPhoneIndex.setAdapter(phoneIndexAdapter);
-
-        cellInfoRefreshRateSpinner = (Spinner) findViewById(R.id.cell_info_rate_select);
-        ArrayAdapter<String> cellInfoAdapter = new ArrayAdapter<String>(this,
-                android.R.layout.simple_spinner_item, mCellInfoRefreshRateLabels);
-        cellInfoAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
-        cellInfoRefreshRateSpinner.setAdapter(cellInfoAdapter);
-
-        imsVolteProvisionedSwitch = (Switch) findViewById(R.id.volte_provisioned_switch);
-        imsVtProvisionedSwitch = (Switch) findViewById(R.id.vt_provisioned_switch);
-        imsWfcProvisionedSwitch = (Switch) findViewById(R.id.wfc_provisioned_switch);
-        eabProvisionedSwitch = (Switch) findViewById(R.id.eab_provisioned_switch);
-
-        if (!ImsManager.isImsSupportedOnDevice(mPhone.getContext())) {
-            imsVolteProvisionedSwitch.setVisibility(View.GONE);
-            imsVtProvisionedSwitch.setVisibility(View.GONE);
-            imsWfcProvisionedSwitch.setVisibility(View.GONE);
-            eabProvisionedSwitch.setVisibility(View.GONE);
-        }
-
-        cbrsDataSwitch = (Switch) findViewById(R.id.cbrs_data_switch);
-        cbrsDataSwitch.setVisibility(isCbrsSupported() ? View.VISIBLE : View.GONE);
-
-        dsdsSwitch = findViewById(R.id.dsds_switch);
-        if (isDsdsSupported() && !dsdsModeOnly()) {
-            dsdsSwitch.setVisibility(View.VISIBLE);
-            dsdsSwitch.setOnClickListener(v -> {
-                if (mTelephonyManager.doesSwitchMultiSimConfigTriggerReboot()) {
-                    // Undo the click action until user clicks the confirm dialog.
-                    dsdsSwitch.toggle();
-                    showDsdsChangeDialog();
-                } else {
-                    performDsdsSwitch();
-                }
-            });
-            dsdsSwitch.setChecked(isDsdsEnabled());
-        } else {
-            dsdsSwitch.setVisibility(View.GONE);
-        }
-
-        radioPowerOnSwitch = (Switch) findViewById(R.id.radio_power);
-
-        mDownlinkKbps = (TextView) findViewById(R.id.dl_kbps);
-        mUplinkKbps = (TextView) findViewById(R.id.ul_kbps);
-        updateBandwidths(0, 0);
-
-        pingTestButton = (Button) findViewById(R.id.ping_test);
-        pingTestButton.setOnClickListener(mPingButtonHandler);
-        updateSmscButton = (Button) findViewById(R.id.update_smsc);
-        updateSmscButton.setOnClickListener(mUpdateSmscButtonHandler);
-        refreshSmscButton = (Button) findViewById(R.id.refresh_smsc);
-        refreshSmscButton.setOnClickListener(mRefreshSmscButtonHandler);
-        dnsCheckToggleButton = (Button) findViewById(R.id.dns_check_toggle);
-        dnsCheckToggleButton.setOnClickListener(mDnsCheckButtonHandler);
-        carrierProvisioningButton = (Button) findViewById(R.id.carrier_provisioning);
-        carrierProvisioningButton.setOnClickListener(mCarrierProvisioningButtonHandler);
-        triggercarrierProvisioningButton = (Button) findViewById(R.id.trigger_carrier_provisioning);
-        triggercarrierProvisioningButton.setOnClickListener(
-                mTriggerCarrierProvisioningButtonHandler);
-
-        oemInfoButton = (Button) findViewById(R.id.oem_info);
-        oemInfoButton.setOnClickListener(mOemInfoButtonHandler);
-        PackageManager pm = getPackageManager();
-        Intent oemInfoIntent = new Intent("com.android.settings.OEM_RADIO_INFO");
-        List<ResolveInfo> oemInfoIntentList = pm.queryIntentActivities(oemInfoIntent, 0);
-        if (oemInfoIntentList.size() == 0) {
-            oemInfoButton.setEnabled(false);
-        }
-
-        mCellInfoRefreshRateIndex = 0; //disabled
-        mPreferredNetworkTypeResult = mPreferredNetworkLabels.length - 1; //Unknown
-        mSelectedPhoneIndex = 0; //phone 0
-
-        //FIXME: Replace with TelephonyManager call
-        mPhone.getPreferredNetworkType(
-                mHandler.obtainMessage(EVENT_QUERY_PREFERRED_TYPE_DONE));
-
-        restoreFromBundle(icicle);
-    }
-
-    @Override
-    protected void onResume() {
-        super.onResume();
-
-        log("Started onResume");
-
-        updateAllFields();
-    }
-
-    private void updateAllFields() {
-        updateMessageWaiting();
-        updateCallRedirect();
-        updateDataState();
-        updateDataStats2();
-        updateRadioPowerState();
-        updateImsProvisionedState();
-        updateProperties();
-        updateDnsCheckState();
-        updateNetworkType();
-
-        updateLocation(mCellLocationResult);
-        updateCellInfo(mCellInfoResult);
-        updateSubscriptionIds();
-
-        mPingHostnameV4.setText(mPingHostnameResultV4);
-        mPingHostnameV6.setText(mPingHostnameResultV6);
-        mHttpClientTest.setText(mHttpClientTestResult);
-
-        cellInfoRefreshRateSpinner.setOnItemSelectedListener(mCellInfoRefreshRateHandler);
-        //set selection after registering listener to force update
-        cellInfoRefreshRateSpinner.setSelection(mCellInfoRefreshRateIndex);
-
-        //set selection before registering to prevent update
-        preferredNetworkType.setSelection(mPreferredNetworkTypeResult, true);
-        preferredNetworkType.setOnItemSelectedListener(mPreferredNetworkHandler);
-
-        // set phone index
-        mSelectPhoneIndex.setSelection(mSelectedPhoneIndex, true);
-        mSelectPhoneIndex.setOnItemSelectedListener(mSelectPhoneIndexHandler);
-
-        radioPowerOnSwitch.setOnCheckedChangeListener(mRadioPowerOnChangeListener);
-        imsVolteProvisionedSwitch.setOnCheckedChangeListener(mImsVolteCheckedChangeListener);
-        imsVtProvisionedSwitch.setOnCheckedChangeListener(mImsVtCheckedChangeListener);
-        imsWfcProvisionedSwitch.setOnCheckedChangeListener(mImsWfcCheckedChangeListener);
-        eabProvisionedSwitch.setOnCheckedChangeListener(mEabCheckedChangeListener);
-
-        if (isCbrsSupported()) {
-            cbrsDataSwitch.setChecked(getCbrsDataState());
-            cbrsDataSwitch.setOnCheckedChangeListener(mCbrsDataSwitchChangeListener);
-        }
-
-        unregisterPhoneStateListener();
-        registerPhoneStateListener();
-
-        mConnectivityManager.registerNetworkCallback(
-                mDefaultNetworkRequest, mNetworkCallback, mHandler);
-
-        smsc.clearFocus();
-    }
-
-    @Override
-    protected void onPause() {
-        super.onPause();
-
-        log("onPause: unregister phone & data intents");
-
-        mTelephonyManager.listen(mPhoneStateListener, PhoneStateListener.LISTEN_NONE);
-        mTelephonyManager.setCellInfoListRate(CELL_INFO_LIST_RATE_DISABLED);
-        mConnectivityManager.unregisterNetworkCallback(mNetworkCallback);
-
-    }
-
-    private void restoreFromBundle(Bundle b) {
-        if(b == null) {
-            return;
-        }
-
-        mPingHostnameResultV4 = b.getString("mPingHostnameResultV4","");
-        mPingHostnameResultV6 = b.getString("mPingHostnameResultV6","");
-        mHttpClientTestResult = b.getString("mHttpClientTestResult","");
-
-        mPingHostnameV4.setText(mPingHostnameResultV4);
-        mPingHostnameV6.setText(mPingHostnameResultV6);
-        mHttpClientTest.setText(mHttpClientTestResult);
-
-        mPreferredNetworkTypeResult = b.getInt("mPreferredNetworkTypeResult",
-                                               mPreferredNetworkLabels.length - 1);
-
-        mSelectedPhoneIndex = b.getInt("mSelectedPhoneIndex", 0);
-
-        mCellInfoRefreshRateIndex = b.getInt("mCellInfoRefreshRateIndex", 0);
-    }
-
-    @Override
-    protected void onSaveInstanceState(Bundle outState) {
-        outState.putString("mPingHostnameResultV4", mPingHostnameResultV4);
-        outState.putString("mPingHostnameResultV6", mPingHostnameResultV6);
-        outState.putString("mHttpClientTestResult", mHttpClientTestResult);
-
-        outState.putInt("mPreferredNetworkTypeResult", mPreferredNetworkTypeResult);
-        outState.putInt("mSelectedPhoneIndex", mSelectedPhoneIndex);
-        outState.putInt("mCellInfoRefreshRateIndex", mCellInfoRefreshRateIndex);
-
-    }
-
-    @Override
-    public boolean onCreateOptionsMenu(Menu menu) {
-        menu.add(0, MENU_ITEM_SELECT_BAND, 0, R.string.radio_info_band_mode_label)
-                .setOnMenuItemClickListener(mSelectBandCallback)
-                .setAlphabeticShortcut('b');
-        menu.add(1, MENU_ITEM_VIEW_ADN, 0,
-                R.string.radioInfo_menu_viewADN).setOnMenuItemClickListener(mViewADNCallback);
-        menu.add(1, MENU_ITEM_VIEW_FDN, 0,
-                R.string.radioInfo_menu_viewFDN).setOnMenuItemClickListener(mViewFDNCallback);
-        menu.add(1, MENU_ITEM_VIEW_SDN, 0,
-                R.string.radioInfo_menu_viewSDN).setOnMenuItemClickListener(mViewSDNCallback);
-        if (ImsManager.isImsSupportedOnDevice(mPhone.getContext())) {
-            menu.add(1, MENU_ITEM_GET_IMS_STATUS,
-                    0, R.string.radioInfo_menu_getIMS).setOnMenuItemClickListener(mGetImsStatus);
-        }
-        menu.add(1, MENU_ITEM_TOGGLE_DATA,
-                0, R.string.radio_info_data_connection_disable).setOnMenuItemClickListener(mToggleData);
-        return true;
-    }
-
-    @Override
-    public boolean onPrepareOptionsMenu(Menu menu) {
-        // Get the TOGGLE DATA menu item in the right state.
-        MenuItem item = menu.findItem(MENU_ITEM_TOGGLE_DATA);
-        int state = mTelephonyManager.getDataState();
-        boolean visible = true;
-
-        switch (state) {
-            case TelephonyManager.DATA_CONNECTED:
-            case TelephonyManager.DATA_SUSPENDED:
-                item.setTitle(R.string.radio_info_data_connection_disable);
-                break;
-            case TelephonyManager.DATA_DISCONNECTED:
-                item.setTitle(R.string.radio_info_data_connection_enable);
-                break;
-            default:
-                visible = false;
-                break;
-        }
-        item.setVisible(visible);
-        return true;
-    }
-
-    // returns array of string labels for each phone index. The array index is equal to the phone
-    // index.
-    private static String[] getPhoneIndexLabels(TelephonyManager tm) {
-        int phones = tm.getPhoneCount();
-        String[] labels = new String[phones];
-        for (int i = 0; i < phones; i++) {
-            labels[i] = "Phone " + i;
-        }
-        return labels;
-    }
-
-    private void unregisterPhoneStateListener() {
-        mTelephonyManager.listen(mPhoneStateListener, PhoneStateListener.LISTEN_NONE);
-
-        // clear all fields so they are blank until the next listener event occurs
-        operatorName.setText("");
-        gprsState.setText("");
-        dataNetwork.setText("");
-        voiceNetwork.setText("");
-        sent.setText("");
-        received.setText("");
-        callState.setText("");
-        mLocation.setText("");
-        mMwiValue = false;
-        mMwi.setText("");
-        mCfiValue = false;
-        mCfi.setText("");
-        mCellInfo.setText("");
-        dBm.setText("");
-        gsmState.setText("");
-        roamingState.setText("");
-        mPhyChanConfig.setText("");
-    }
-
-    // register mPhoneStateListener for relevant fields using the current TelephonyManager
-    private void registerPhoneStateListener() {
-        mPhoneStateListener = new RadioInfoPhoneStateListener();
-        mTelephonyManager.listen(mPhoneStateListener,
-                  PhoneStateListener.LISTEN_CALL_STATE
-        //b/27803938 - RadioInfo currently cannot read PRECISE_CALL_STATE
-        //      | PhoneStateListener.LISTEN_PRECISE_CALL_STATE
-                | PhoneStateListener.LISTEN_DATA_CONNECTION_STATE
-                | PhoneStateListener.LISTEN_DATA_ACTIVITY
-                | PhoneStateListener.LISTEN_CELL_LOCATION
-                | PhoneStateListener.LISTEN_MESSAGE_WAITING_INDICATOR
-                | PhoneStateListener.LISTEN_CALL_FORWARDING_INDICATOR
-                | PhoneStateListener.LISTEN_CELL_INFO
-                | PhoneStateListener.LISTEN_SERVICE_STATE
-                | PhoneStateListener.LISTEN_SIGNAL_STRENGTHS
-                | PhoneStateListener.LISTEN_PHYSICAL_CHANNEL_CONFIGURATION);
-    }
-
-    private void updateDnsCheckState() {
-        //FIXME: Replace with a TelephonyManager call
-        dnsCheckState.setText(mPhone.isDnsCheckDisabled() ?
-                "0.0.0.0 allowed" :"0.0.0.0 not allowed");
-    }
-
-    private void updateBandwidths(int dlbw, int ulbw) {
-        dlbw = (dlbw < 0 || dlbw == Integer.MAX_VALUE) ? -1 : dlbw;
-        ulbw = (ulbw < 0 || ulbw == Integer.MAX_VALUE) ? -1 : ulbw;
-        mDownlinkKbps.setText(String.format("%-5d", dlbw));
-        mUplinkKbps.setText(String.format("%-5d", ulbw));
-    }
-
-
-    private final void
-    updateSignalStrength(SignalStrength signalStrength) {
-        Resources r = getResources();
-
-        int signalDbm = signalStrength.getDbm();
-
-        int signalAsu = signalStrength.getAsuLevel();
-
-        if (-1 == signalAsu) signalAsu = 0;
-
-        dBm.setText(String.valueOf(signalDbm) + " "
-            + r.getString(R.string.radioInfo_display_dbm) + "   "
-            + String.valueOf(signalAsu) + " "
-            + r.getString(R.string.radioInfo_display_asu));
-    }
-
-    private final void updateLocation(CellLocation location) {
-        Resources r = getResources();
-        if (location instanceof GsmCellLocation) {
-            GsmCellLocation loc = (GsmCellLocation)location;
-            int lac = loc.getLac();
-            int cid = loc.getCid();
-            mLocation.setText(r.getString(R.string.radioInfo_lac) + " = "
-                    + ((lac == -1) ? "unknown" : Integer.toHexString(lac))
-                    + "   "
-                    + r.getString(R.string.radioInfo_cid) + " = "
-                    + ((cid == -1) ? "unknown" : Integer.toHexString(cid)));
-        } else if (location instanceof CdmaCellLocation) {
-            CdmaCellLocation loc = (CdmaCellLocation)location;
-            int bid = loc.getBaseStationId();
-            int sid = loc.getSystemId();
-            int nid = loc.getNetworkId();
-            int lat = loc.getBaseStationLatitude();
-            int lon = loc.getBaseStationLongitude();
-            mLocation.setText("BID = "
-                    + ((bid == -1) ? "unknown" : Integer.toHexString(bid))
-                    + "   "
-                    + "SID = "
-                    + ((sid == -1) ? "unknown" : Integer.toHexString(sid))
-                    + "   "
-                    + "NID = "
-                    + ((nid == -1) ? "unknown" : Integer.toHexString(nid))
-                    + "\n"
-                    + "LAT = "
-                    + ((lat == -1) ? "unknown" : Integer.toHexString(lat))
-                    + "   "
-                    + "LONG = "
-                    + ((lon == -1) ? "unknown" : Integer.toHexString(lon)));
-        } else {
-            mLocation.setText("unknown");
-        }
-
-
-    }
-
-    private final String getCellInfoDisplayString(int i) {
-        return (i != Integer.MAX_VALUE) ? Integer.toString(i) : "";
-    }
-
-    private final String getCellInfoDisplayString(long i) {
-        return (i != Long.MAX_VALUE) ? Long.toString(i) : "";
-    }
-
-    private final String getConnectionStatusString(CellInfo ci) {
-        String regStr = "";
-        String connStatStr = "";
-        String connector = "";
-
-        if (ci.isRegistered()) {
-            regStr = "R";
-        }
-        switch (ci.getCellConnectionStatus()) {
-            case CellInfo.CONNECTION_PRIMARY_SERVING: connStatStr = "P"; break;
-            case CellInfo.CONNECTION_SECONDARY_SERVING: connStatStr = "S"; break;
-            case CellInfo.CONNECTION_NONE: connStatStr = "N"; break;
-            case CellInfo.CONNECTION_UNKNOWN: /* Field is unsupported */ break;
-            default: break;
-        }
-        if (!TextUtils.isEmpty(regStr) && !TextUtils.isEmpty(connStatStr)) {
-            connector = "+";
-        }
-
-        return regStr + connector + connStatStr;
-    }
-
-    private final String buildCdmaInfoString(CellInfoCdma ci) {
-        CellIdentityCdma cidCdma = ci.getCellIdentity();
-        CellSignalStrengthCdma ssCdma = ci.getCellSignalStrength();
-
-        return String.format("%-3.3s %-5.5s %-5.5s %-5.5s %-6.6s %-6.6s %-6.6s %-6.6s %-5.5s",
-                getConnectionStatusString(ci),
-                getCellInfoDisplayString(cidCdma.getSystemId()),
-                getCellInfoDisplayString(cidCdma.getNetworkId()),
-                getCellInfoDisplayString(cidCdma.getBasestationId()),
-                getCellInfoDisplayString(ssCdma.getCdmaDbm()),
-                getCellInfoDisplayString(ssCdma.getCdmaEcio()),
-                getCellInfoDisplayString(ssCdma.getEvdoDbm()),
-                getCellInfoDisplayString(ssCdma.getEvdoEcio()),
-                getCellInfoDisplayString(ssCdma.getEvdoSnr()));
-    }
-
-    private final String buildGsmInfoString(CellInfoGsm ci) {
-        CellIdentityGsm cidGsm = ci.getCellIdentity();
-        CellSignalStrengthGsm ssGsm = ci.getCellSignalStrength();
-
-        return String.format("%-3.3s %-3.3s %-3.3s %-5.5s %-5.5s %-6.6s %-4.4s %-4.4s\n",
-                getConnectionStatusString(ci),
-                getCellInfoDisplayString(cidGsm.getMcc()),
-                getCellInfoDisplayString(cidGsm.getMnc()),
-                getCellInfoDisplayString(cidGsm.getLac()),
-                getCellInfoDisplayString(cidGsm.getCid()),
-                getCellInfoDisplayString(cidGsm.getArfcn()),
-                getCellInfoDisplayString(cidGsm.getBsic()),
-                getCellInfoDisplayString(ssGsm.getDbm()));
-    }
-
-    private final String buildLteInfoString(CellInfoLte ci) {
-        CellIdentityLte cidLte = ci.getCellIdentity();
-        CellSignalStrengthLte ssLte = ci.getCellSignalStrength();
-
-        return String.format(
-                "%-3.3s %-3.3s %-3.3s %-5.5s %-5.5s %-3.3s %-6.6s %-2.2s %-4.4s %-4.4s %-2.2s\n",
-                getConnectionStatusString(ci),
-                getCellInfoDisplayString(cidLte.getMcc()),
-                getCellInfoDisplayString(cidLte.getMnc()),
-                getCellInfoDisplayString(cidLte.getTac()),
-                getCellInfoDisplayString(cidLte.getCi()),
-                getCellInfoDisplayString(cidLte.getPci()),
-                getCellInfoDisplayString(cidLte.getEarfcn()),
-                getCellInfoDisplayString(cidLte.getBandwidth()),
-                getCellInfoDisplayString(ssLte.getDbm()),
-                getCellInfoDisplayString(ssLte.getRsrq()),
-                getCellInfoDisplayString(ssLte.getTimingAdvance()));
-    }
-
-    private final String buildWcdmaInfoString(CellInfoWcdma ci) {
-        CellIdentityWcdma cidWcdma = ci.getCellIdentity();
-        CellSignalStrengthWcdma ssWcdma = ci.getCellSignalStrength();
-
-        return String.format("%-3.3s %-3.3s %-3.3s %-5.5s %-5.5s %-6.6s %-3.3s %-4.4s\n",
-                getConnectionStatusString(ci),
-                getCellInfoDisplayString(cidWcdma.getMcc()),
-                getCellInfoDisplayString(cidWcdma.getMnc()),
-                getCellInfoDisplayString(cidWcdma.getLac()),
-                getCellInfoDisplayString(cidWcdma.getCid()),
-                getCellInfoDisplayString(cidWcdma.getUarfcn()),
-                getCellInfoDisplayString(cidWcdma.getPsc()),
-                getCellInfoDisplayString(ssWcdma.getDbm()));
-    }
-
-    private final String buildCellInfoString(List<CellInfo> arrayCi) {
-        String value = new String();
-        StringBuilder cdmaCells = new StringBuilder(),
-                gsmCells = new StringBuilder(),
-                lteCells = new StringBuilder(),
-                wcdmaCells = new StringBuilder();
-
-        if (arrayCi != null) {
-            for (CellInfo ci : arrayCi) {
-
-                if (ci instanceof CellInfoLte) {
-                    lteCells.append(buildLteInfoString((CellInfoLte) ci));
-                } else if (ci instanceof CellInfoWcdma) {
-                    wcdmaCells.append(buildWcdmaInfoString((CellInfoWcdma) ci));
-                } else if (ci instanceof CellInfoGsm) {
-                    gsmCells.append(buildGsmInfoString((CellInfoGsm) ci));
-                } else if (ci instanceof CellInfoCdma) {
-                    cdmaCells.append(buildCdmaInfoString((CellInfoCdma) ci));
-                }
-            }
-            if (lteCells.length() != 0) {
-                value += String.format(
-                        "LTE\n%-3.3s %-3.3s %-3.3s %-5.5s %-5.5s %-3.3s"
-                                + " %-6.6s %-2.2s %-4.4s %-4.4s %-2.2s\n",
-                        "SRV", "MCC", "MNC", "TAC", "CID", "PCI",
-                        "EARFCN", "BW", "RSRP", "RSRQ", "TA");
-                value += lteCells.toString();
-            }
-            if (wcdmaCells.length() != 0) {
-                value += String.format(
-                        "WCDMA\n%-3.3s %-3.3s %-3.3s %-5.5s %-5.5s %-6.6s %-3.3s %-4.4s\n",
-                        "SRV", "MCC", "MNC", "LAC", "CID", "UARFCN", "PSC", "RSCP");
-                value += wcdmaCells.toString();
-            }
-            if (gsmCells.length() != 0) {
-                value += String.format(
-                        "GSM\n%-3.3s %-3.3s %-3.3s %-5.5s %-5.5s %-6.6s %-4.4s %-4.4s\n",
-                        "SRV", "MCC", "MNC", "LAC", "CID", "ARFCN", "BSIC", "RSSI");
-                value += gsmCells.toString();
-            }
-            if (cdmaCells.length() != 0) {
-                value += String.format(
-                        "CDMA/EVDO\n%-3.3s %-5.5s %-5.5s %-5.5s %-6.6s %-6.6s %-6.6s %-6.6s %-5.5s\n",
-                        "SRV", "SID", "NID", "BSID", "C-RSSI", "C-ECIO", "E-RSSI", "E-ECIO", "E-SNR");
-                value += cdmaCells.toString();
-            }
-        } else {
-            value ="unknown";
-        }
-
-        return value.toString();
-    }
-
-    private final void updateCellInfo(List<CellInfo> arrayCi) {
-        mCellInfo.setText(buildCellInfoString(arrayCi));
-    }
-
-    private final void updateSubscriptionIds() {
-        mSubscriptionId.setText(Integer.toString(mPhone.getSubId()));
-        mDds.setText(Integer.toString(SubscriptionManager.getDefaultDataSubscriptionId()));
-    }
-
-    private final void
-    updateMessageWaiting() {
-        mMwi.setText(String.valueOf(mMwiValue));
-    }
-
-    private final void
-    updateCallRedirect() {
-        mCfi.setText(String.valueOf(mCfiValue));
-    }
-
-
-    private final void
-    updateServiceState(ServiceState serviceState) {
-        int state = serviceState.getState();
-        Resources r = getResources();
-        String display = r.getString(R.string.radioInfo_unknown);
-
-        switch (state) {
-            case ServiceState.STATE_IN_SERVICE:
-                display = r.getString(R.string.radioInfo_service_in);
-                break;
-            case ServiceState.STATE_OUT_OF_SERVICE:
-            case ServiceState.STATE_EMERGENCY_ONLY:
-                display = r.getString(R.string.radioInfo_service_emergency);
-                break;
-            case ServiceState.STATE_POWER_OFF:
-                display = r.getString(R.string.radioInfo_service_off);
-                break;
-        }
-
-        gsmState.setText(display);
-
-        if (serviceState.getRoaming()) {
-            roamingState.setText(R.string.radioInfo_roaming_in);
-        } else {
-            roamingState.setText(R.string.radioInfo_roaming_not);
-        }
-
-        operatorName.setText(serviceState.getOperatorAlphaLong());
-    }
-
-    private final void
-    updatePhoneState(int state) {
-        Resources r = getResources();
-        String display = r.getString(R.string.radioInfo_unknown);
-
-        switch (state) {
-            case TelephonyManager.CALL_STATE_IDLE:
-                display = r.getString(R.string.radioInfo_phone_idle);
-                break;
-            case TelephonyManager.CALL_STATE_RINGING:
-                display = r.getString(R.string.radioInfo_phone_ringing);
-                break;
-            case TelephonyManager.CALL_STATE_OFFHOOK:
-                display = r.getString(R.string.radioInfo_phone_offhook);
-                break;
-        }
-
-        callState.setText(display);
-    }
-
-    private final void
-    updateDataState() {
-        int state = mTelephonyManager.getDataState();
-        Resources r = getResources();
-        String display = r.getString(R.string.radioInfo_unknown);
-
-        switch (state) {
-            case TelephonyManager.DATA_CONNECTED:
-                display = r.getString(R.string.radioInfo_data_connected);
-                break;
-            case TelephonyManager.DATA_CONNECTING:
-                display = r.getString(R.string.radioInfo_data_connecting);
-                break;
-            case TelephonyManager.DATA_DISCONNECTED:
-                display = r.getString(R.string.radioInfo_data_disconnected);
-                break;
-            case TelephonyManager.DATA_SUSPENDED:
-                display = r.getString(R.string.radioInfo_data_suspended);
-                break;
-        }
-
-        gprsState.setText(display);
-    }
-
-    private final void updateNetworkType() {
-        if(mPhone != null) {
-            ServiceState ss = mPhone.getServiceState();
-            dataNetwork.setText(ServiceState.rilRadioTechnologyToString(
-                    mPhone.getServiceState().getRilDataRadioTechnology()));
-            voiceNetwork.setText(ServiceState.rilRadioTechnologyToString(
-                    mPhone.getServiceState().getRilVoiceRadioTechnology()));
-        }
-    }
-
-    private final void
-    updateProperties() {
-        String s;
-        Resources r = getResources();
-
-        s = mPhone.getDeviceId();
-        if (s == null) s = r.getString(R.string.radioInfo_unknown);
-        mDeviceId.setText(s);
-
-        s = mPhone.getSubscriberId();
-        if (s == null) s = r.getString(R.string.radioInfo_unknown);
-        mSubscriberId.setText(s);
-
-        //FIXME: Replace with a TelephonyManager call
-        s = mPhone.getLine1Number();
-        if (s == null) s = r.getString(R.string.radioInfo_unknown);
-        number.setText(s);
-    }
-
-    private final void updateDataStats2() {
-        Resources r = getResources();
-
-        long txPackets = TrafficStats.getMobileTxPackets();
-        long rxPackets = TrafficStats.getMobileRxPackets();
-        long txBytes   = TrafficStats.getMobileTxBytes();
-        long rxBytes   = TrafficStats.getMobileRxBytes();
-
-        String packets = r.getString(R.string.radioInfo_display_packets);
-        String bytes   = r.getString(R.string.radioInfo_display_bytes);
-
-        sent.setText(txPackets + " " + packets + ", " + txBytes + " " + bytes);
-        received.setText(rxPackets + " " + packets + ", " + rxBytes + " " + bytes);
-    }
-
-    /**
-     *  Ping a host name
-     */
-    private final void pingHostname() {
-        try {
-            try {
-                Process p4 = Runtime.getRuntime().exec("ping -c 1 www.google.com");
-                int status4 = p4.waitFor();
-                if (status4 == 0) {
-                    mPingHostnameResultV4 = "Pass";
-                } else {
-                    mPingHostnameResultV4 = String.format("Fail(%d)", status4);
-                }
-            } catch (IOException e) {
-                mPingHostnameResultV4 = "Fail: IOException";
-            }
-            try {
-                Process p6 = Runtime.getRuntime().exec("ping6 -c 1 www.google.com");
-                int status6 = p6.waitFor();
-                if (status6 == 0) {
-                    mPingHostnameResultV6 = "Pass";
-                } else {
-                    mPingHostnameResultV6 = String.format("Fail(%d)", status6);
-                }
-            } catch (IOException e) {
-                mPingHostnameResultV6 = "Fail: IOException";
-            }
-        } catch (InterruptedException e) {
-            mPingHostnameResultV4 = mPingHostnameResultV6 = "Fail: InterruptedException";
-        }
-    }
-
-    /**
-     * This function checks for basic functionality of HTTP Client.
-     */
-    private void httpClientTest() {
-        HttpURLConnection urlConnection = null;
-        try {
-            // TODO: Hardcoded for now, make it UI configurable
-            URL url = new URL("https://www.google.com");
-            urlConnection = (HttpURLConnection) url.openConnection();
-            if (urlConnection.getResponseCode() == 200) {
-                mHttpClientTestResult = "Pass";
-            } else {
-                mHttpClientTestResult = "Fail: Code: " + urlConnection.getResponseMessage();
-            }
-        } catch (IOException e) {
-            mHttpClientTestResult = "Fail: IOException";
-        } finally {
-            if (urlConnection != null) {
-                urlConnection.disconnect();
-            }
-        }
-    }
-
-    private void refreshSmsc() {
-        //FIXME: Replace with a TelephonyManager call
-        mPhone.getSmscAddress(mHandler.obtainMessage(EVENT_QUERY_SMSC_DONE));
-    }
-
-    private final void updateAllCellInfo() {
-
-        mCellInfo.setText("");
-        mLocation.setText("");
-
-        final Runnable updateAllCellInfoResults = new Runnable() {
-            public void run() {
-                updateLocation(mCellLocationResult);
-                updateCellInfo(mCellInfoResult);
-            }
-        };
-
-        Thread locThread = new Thread() {
-            @Override
-            public void run() {
-                mCellInfoResult = mTelephonyManager.getAllCellInfo();
-                mCellLocationResult = mTelephonyManager.getCellLocation();
-
-                mHandler.post(updateAllCellInfoResults);
-            }
-        };
-        locThread.start();
-    }
-
-    private final void updatePingState() {
-        // Set all to unknown since the threads will take a few secs to update.
-        mPingHostnameResultV4 = getResources().getString(R.string.radioInfo_unknown);
-        mPingHostnameResultV6 = getResources().getString(R.string.radioInfo_unknown);
-        mHttpClientTestResult = getResources().getString(R.string.radioInfo_unknown);
-
-        mPingHostnameV4.setText(mPingHostnameResultV4);
-        mPingHostnameV6.setText(mPingHostnameResultV6);
-        mHttpClientTest.setText(mHttpClientTestResult);
-
-        final Runnable updatePingResults = new Runnable() {
-            public void run() {
-                mPingHostnameV4.setText(mPingHostnameResultV4);
-                mPingHostnameV6.setText(mPingHostnameResultV6);
-                mHttpClientTest.setText(mHttpClientTestResult);
-            }
-        };
-
-        Thread hostname = new Thread() {
-            @Override
-            public void run() {
-                pingHostname();
-                mHandler.post(updatePingResults);
-            }
-        };
-        hostname.start();
-
-        Thread httpClient = new Thread() {
-            @Override
-            public void run() {
-                httpClientTest();
-                mHandler.post(updatePingResults);
-            }
-        };
-        httpClient.start();
-    }
-
-    private MenuItem.OnMenuItemClickListener mViewADNCallback = new MenuItem.OnMenuItemClickListener() {
-        public boolean onMenuItemClick(MenuItem item) {
-            Intent intent = new Intent(Intent.ACTION_VIEW);
-            // XXX We need to specify the component here because if we don't
-            // the activity manager will try to resolve the type by calling
-            // the content provider, which causes it to be loaded in a process
-            // other than the Dialer process, which causes a lot of stuff to
-            // break.
-            intent.setClassName("com.android.phone", "com.android.phone.SimContacts");
-            startActivity(intent);
-            return true;
-        }
-    };
-
-    private MenuItem.OnMenuItemClickListener mViewFDNCallback = new MenuItem.OnMenuItemClickListener() {
-        public boolean onMenuItemClick(MenuItem item) {
-            Intent intent = new Intent(Intent.ACTION_VIEW);
-            // XXX We need to specify the component here because if we don't
-            // the activity manager will try to resolve the type by calling
-            // the content provider, which causes it to be loaded in a process
-            // other than the Dialer process, which causes a lot of stuff to
-            // break.
-            intent.setClassName("com.android.phone", "com.android.phone.settings.fdn.FdnList");
-            startActivity(intent);
-            return true;
-        }
-    };
-
-    private MenuItem.OnMenuItemClickListener mViewSDNCallback = new MenuItem.OnMenuItemClickListener() {
-        public boolean onMenuItemClick(MenuItem item) {
-            Intent intent = new Intent(
-                    Intent.ACTION_VIEW, Uri.parse("content://icc/sdn"));
-            // XXX We need to specify the component here because if we don't
-            // the activity manager will try to resolve the type by calling
-            // the content provider, which causes it to be loaded in a process
-            // other than the Dialer process, which causes a lot of stuff to
-            // break.
-            intent.setClassName("com.android.phone", "com.android.phone.ADNList");
-            startActivity(intent);
-            return true;
-        }
-    };
-
-    private MenuItem.OnMenuItemClickListener mGetImsStatus = new MenuItem.OnMenuItemClickListener() {
-        public boolean onMenuItemClick(MenuItem item) {
-            boolean isImsRegistered = mPhone.isImsRegistered();
-            boolean availableVolte = mPhone.isVolteEnabled();
-            boolean availableWfc = mPhone.isWifiCallingEnabled();
-            boolean availableVt = mPhone.isVideoEnabled();
-            boolean availableUt = mPhone.isUtEnabled();
-
-            final String imsRegString = isImsRegistered ?
-                getString(R.string.radio_info_ims_reg_status_registered) :
-                getString(R.string.radio_info_ims_reg_status_not_registered);
-
-            final String available = getString(R.string.radio_info_ims_feature_status_available);
-            final String unavailable = getString(
-                    R.string.radio_info_ims_feature_status_unavailable);
-
-            String imsStatus = getString(R.string.radio_info_ims_reg_status,
-                    imsRegString,
-                    availableVolte ? available : unavailable,
-                    availableWfc ? available : unavailable,
-                    availableVt ? available : unavailable,
-                    availableUt ? available : unavailable);
-
-            AlertDialog imsDialog = new AlertDialog.Builder(RadioInfo.this)
-                .setMessage(imsStatus)
-                .setTitle(getString(R.string.radio_info_ims_reg_status_title))
-                .create();
-
-            imsDialog.show();
-
-            return true;
-        }
-    };
-
-    private MenuItem.OnMenuItemClickListener mSelectBandCallback = new MenuItem.OnMenuItemClickListener() {
-        public boolean onMenuItemClick(MenuItem item) {
-            Intent intent = new Intent();
-            intent.setClass(RadioInfo.this, BandMode.class);
-            startActivity(intent);
-            return true;
-        }
-    };
-
-    private MenuItem.OnMenuItemClickListener mToggleData = new MenuItem.OnMenuItemClickListener() {
-        public boolean onMenuItemClick(MenuItem item) {
-            int state = mTelephonyManager.getDataState();
-            switch (state) {
-                case TelephonyManager.DATA_CONNECTED:
-                    mTelephonyManager.setDataEnabled(false);
-                    break;
-                case TelephonyManager.DATA_DISCONNECTED:
-                    mTelephonyManager.setDataEnabled(true);
-                    break;
-                default:
-                    // do nothing
-                    break;
-            }
-            return true;
-        }
-    };
-
-    private boolean isRadioOn() {
-        //FIXME: Replace with a TelephonyManager call
-        return mPhone.getServiceState().getState() != ServiceState.STATE_POWER_OFF;
-    }
-
-    private void updateRadioPowerState() {
-        //delightful hack to prevent on-checked-changed calls from
-        //actually forcing the radio preference to its transient/current value.
-        radioPowerOnSwitch.setOnCheckedChangeListener(null);
-        radioPowerOnSwitch.setChecked(isRadioOn());
-        radioPowerOnSwitch.setOnCheckedChangeListener(mRadioPowerOnChangeListener);
-    }
-
-    void setImsVolteProvisionedState(boolean state) {
-        Log.d(TAG, "setImsVolteProvisioned state: " + ((state)? "on":"off"));
-        setImsConfigProvisionedState(IMS_VOLTE_PROVISIONED_CONFIG_ID, state);
-    }
-
-    void setImsVtProvisionedState(boolean state) {
-        Log.d(TAG, "setImsVtProvisioned() state: " + ((state)? "on":"off"));
-        setImsConfigProvisionedState(IMS_VT_PROVISIONED_CONFIG_ID, state);
-    }
-
-    void setImsWfcProvisionedState(boolean state) {
-        Log.d(TAG, "setImsWfcProvisioned() state: " + ((state)? "on":"off"));
-        setImsConfigProvisionedState(IMS_WFC_PROVISIONED_CONFIG_ID, state);
-    }
-
-    void setEabProvisionedState(boolean state) {
-        Log.d(TAG, "setEabProvisioned() state: " + ((state)? "on":"off"));
-        setImsConfigProvisionedState(EAB_PROVISIONED_CONFIG_ID, state);
-    }
-
-    void setImsConfigProvisionedState(int configItem, boolean state) {
-        if (mPhone != null && mImsManager != null) {
-            QueuedWork.queue(new Runnable() {
-                public void run() {
-                    try {
-                        mImsManager.getConfigInterface().setProvisionedValue(
-                                configItem,
-                                state? 1 : 0);
-                    } catch (ImsException e) {
-                        Log.e(TAG, "setImsConfigProvisioned() exception:", e);
-                    }
-                }
-            }, false);
-        }
-    }
-
-    OnCheckedChangeListener mRadioPowerOnChangeListener = new OnCheckedChangeListener() {
-        @Override
-        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
-            log("toggle radio power: currently " + (isRadioOn()?"on":"off"));
-            mPhone.setRadioPower(isChecked);
-       }
-    };
-
-    private boolean isImsVolteProvisioned() {
-        if (mPhone != null && mImsManager != null) {
-            return mImsManager.isVolteEnabledByPlatform(mPhone.getContext())
-                && mImsManager.isVolteProvisionedOnDevice(mPhone.getContext());
-        }
-        return false;
-    }
-
-    OnCheckedChangeListener mImsVolteCheckedChangeListener = new OnCheckedChangeListener() {
-        @Override
-        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
-            setImsVolteProvisionedState(isChecked);
-        }
-    };
-
-    private boolean isImsVtProvisioned() {
-        if (mPhone != null && mImsManager != null) {
-            return mImsManager.isVtEnabledByPlatform(mPhone.getContext())
-                && mImsManager.isVtProvisionedOnDevice(mPhone.getContext());
-        }
-        return false;
-    }
-
-    OnCheckedChangeListener mImsVtCheckedChangeListener = new OnCheckedChangeListener() {
-        @Override
-        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
-            setImsVtProvisionedState(isChecked);
-        }
-    };
-
-    private boolean isImsWfcProvisioned() {
-        if (mPhone != null && mImsManager != null) {
-            return mImsManager.isWfcEnabledByPlatform(mPhone.getContext())
-                && mImsManager.isWfcProvisionedOnDevice(mPhone.getContext());
-        }
-        return false;
-    }
-
-    OnCheckedChangeListener mImsWfcCheckedChangeListener = new OnCheckedChangeListener() {
-        @Override
-        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
-            setImsWfcProvisionedState(isChecked);
-        }
-    };
-
-    private boolean isEabProvisioned() {
-        return isFeatureProvisioned(EAB_PROVISIONED_CONFIG_ID, false);
-    }
-
-    OnCheckedChangeListener mEabCheckedChangeListener = new OnCheckedChangeListener() {
-        @Override
-        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
-            setEabProvisionedState(isChecked);
-        }
-    };
-
-    private boolean isFeatureProvisioned(int featureId, boolean defaultValue) {
-        boolean provisioned = defaultValue;
-        if (mImsManager != null) {
-            try {
-                ImsConfig imsConfig = mImsManager.getConfigInterface();
-                if (imsConfig != null) {
-                    provisioned =
-                            (imsConfig.getProvisionedValue(featureId)
-                                    == ImsConfig.FeatureValueConstants.ON);
-                }
-            } catch (ImsException ex) {
-                Log.e(TAG, "isFeatureProvisioned() exception:", ex);
-            }
-        }
-
-        log("isFeatureProvisioned() featureId=" + featureId + " provisioned=" + provisioned);
-        return provisioned;
-    }
-
-    private static boolean isEabEnabledByPlatform(Context context) {
-        if (context != null) {
-            CarrierConfigManager configManager = (CarrierConfigManager)
-                    context.getSystemService(Context.CARRIER_CONFIG_SERVICE);
-            if (configManager != null && configManager.getConfig().getBoolean(
-                        CarrierConfigManager.KEY_USE_RCS_PRESENCE_BOOL)) {
-                return true;
-            }
-        }
-        return false;
-    }
-
-    private void updateImsProvisionedState() {
-        if (!ImsManager.isImsSupportedOnDevice(mPhone.getContext())) {
-            return;
-        }
-        log("updateImsProvisionedState isImsVolteProvisioned()=" + isImsVolteProvisioned());
-        //delightful hack to prevent on-checked-changed calls from
-        //actually forcing the ims provisioning to its transient/current value.
-        imsVolteProvisionedSwitch.setOnCheckedChangeListener(null);
-        imsVolteProvisionedSwitch.setChecked(isImsVolteProvisioned());
-        imsVolteProvisionedSwitch.setOnCheckedChangeListener(mImsVolteCheckedChangeListener);
-        imsVolteProvisionedSwitch.setEnabled(!Build.IS_USER
-                && mImsManager.isVolteEnabledByPlatform(mPhone.getContext()));
-
-        imsVtProvisionedSwitch.setOnCheckedChangeListener(null);
-        imsVtProvisionedSwitch.setChecked(isImsVtProvisioned());
-        imsVtProvisionedSwitch.setOnCheckedChangeListener(mImsVtCheckedChangeListener);
-        imsVtProvisionedSwitch.setEnabled(!Build.IS_USER
-                && mImsManager.isVtEnabledByPlatform(mPhone.getContext()));
-
-        imsWfcProvisionedSwitch.setOnCheckedChangeListener(null);
-        imsWfcProvisionedSwitch.setChecked(isImsWfcProvisioned());
-        imsWfcProvisionedSwitch.setOnCheckedChangeListener(mImsWfcCheckedChangeListener);
-        imsWfcProvisionedSwitch.setEnabled(!Build.IS_USER
-                && mImsManager.isWfcEnabledByPlatform(mPhone.getContext()));
-
-        eabProvisionedSwitch.setOnCheckedChangeListener(null);
-        eabProvisionedSwitch.setChecked(isEabProvisioned());
-        eabProvisionedSwitch.setOnCheckedChangeListener(mEabCheckedChangeListener);
-        eabProvisionedSwitch.setEnabled(!Build.IS_USER
-                && isEabEnabledByPlatform(mPhone.getContext()));
-    }
-
-    OnClickListener mDnsCheckButtonHandler = new OnClickListener() {
-        public void onClick(View v) {
-            //FIXME: Replace with a TelephonyManager call
-            mPhone.disableDnsCheck(!mPhone.isDnsCheckDisabled());
-            updateDnsCheckState();
-        }
-    };
-
-    OnClickListener mOemInfoButtonHandler = new OnClickListener() {
-        public void onClick(View v) {
-            Intent intent = new Intent("com.android.settings.OEM_RADIO_INFO");
-            try {
-                startActivity(intent);
-            } catch (android.content.ActivityNotFoundException ex) {
-                log("OEM-specific Info/Settings Activity Not Found : " + ex);
-                // If the activity does not exist, there are no OEM
-                // settings, and so we can just do nothing...
-            }
-        }
-    };
-
-    OnClickListener mPingButtonHandler = new OnClickListener() {
-        public void onClick(View v) {
-            updatePingState();
-        }
-    };
-
-    OnClickListener mUpdateSmscButtonHandler = new OnClickListener() {
-        public void onClick(View v) {
-            updateSmscButton.setEnabled(false);
-            mPhone.setSmscAddress(smsc.getText().toString(),
-                    mHandler.obtainMessage(EVENT_UPDATE_SMSC_DONE));
-        }
-    };
-
-    OnClickListener mRefreshSmscButtonHandler = new OnClickListener() {
-        public void onClick(View v) {
-            refreshSmsc();
-        }
-    };
-
-    OnClickListener mCarrierProvisioningButtonHandler = new OnClickListener() {
-        public void onClick(View v) {
-            final Intent intent = new Intent("com.android.settings.CARRIER_PROVISIONING");
-            final ComponentName serviceComponent = ComponentName.unflattenFromString(
-                    "com.android.omadm.service/.DMIntentReceiver");
-            intent.setComponent(serviceComponent);
-            sendBroadcast(intent);
-        }
-    };
-
-    OnClickListener mTriggerCarrierProvisioningButtonHandler = new OnClickListener() {
-        public void onClick(View v) {
-            final Intent intent = new Intent("com.android.settings.TRIGGER_CARRIER_PROVISIONING");
-            final ComponentName serviceComponent = ComponentName.unflattenFromString(
-                    "com.android.omadm.service/.DMIntentReceiver");
-            intent.setComponent(serviceComponent);
-            sendBroadcast(intent);
-        }
-    };
-
-    AdapterView.OnItemSelectedListener mPreferredNetworkHandler =
-            new AdapterView.OnItemSelectedListener() {
-
-        public void onItemSelected(AdapterView parent, View v, int pos, long id) {
-            if (mPreferredNetworkTypeResult != pos && pos >= 0
-                    && pos <= mPreferredNetworkLabels.length - 2) {
-                mPreferredNetworkTypeResult = pos;
-
-                // TODO: Possibly migrate this to TelephonyManager.setPreferredNetworkType()
-                // which today still has some issues (mostly that the "set" is conditional
-                // on a successful modem call, which is not what we want). Instead we always
-                // want this setting to be set, so that if the radio hiccups and this setting
-                // is for some reason unsuccessful, future calls to the radio will reflect
-                // the users's preference which is set here.
-                final int subId = mPhone.getSubId();
-                if (SubscriptionManager.isUsableSubIdValue(subId)) {
-                    Settings.Global.putInt(mPhone.getContext().getContentResolver(),
-                            PREFERRED_NETWORK_MODE + subId, mPreferredNetworkTypeResult);
-                }
-                log("Calling setPreferredNetworkType(" + mPreferredNetworkTypeResult + ")");
-                Message msg = mHandler.obtainMessage(EVENT_SET_PREFERRED_TYPE_DONE);
-                mPhone.setPreferredNetworkType(mPreferredNetworkTypeResult, msg);
-            }
-        }
-
-        public void onNothingSelected(AdapterView parent) {
-        }
-    };
-
-    AdapterView.OnItemSelectedListener mSelectPhoneIndexHandler =
-            new AdapterView.OnItemSelectedListener() {
-
-        public void onItemSelected(AdapterView parent, View v, int pos, long id) {
-            if (pos >= 0 && pos <= mPhoneIndexLabels.length - 1) {
-                // the array position is equal to the phone index
-                int phoneIndex = pos;
-                Phone[] phones = PhoneFactory.getPhones();
-                if (phones == null || phones.length <= phoneIndex) {
-                    return;
-                }
-                // getSubId says it takes a slotIndex, but it actually takes a phone index
-                int[] subIds = SubscriptionManager.getSubId(phoneIndex);
-                if (subIds == null || subIds.length < 1) {
-                    return;
-                }
-                mSelectedPhoneIndex = phoneIndex;
-
-                updatePhoneIndex(phoneIndex, subIds[0]);
-            }
-        }
-
-        public void onNothingSelected(AdapterView parent) {
-        }
-    };
-
-    AdapterView.OnItemSelectedListener mCellInfoRefreshRateHandler  =
-            new AdapterView.OnItemSelectedListener() {
-
-        public void onItemSelected(AdapterView parent, View v, int pos, long id) {
-            mCellInfoRefreshRateIndex = pos;
-            mTelephonyManager.setCellInfoListRate(mCellInfoRefreshRates[pos]);
-            updateAllCellInfo();
-        }
-
-        public void onNothingSelected(AdapterView parent) {
-        }
-    };
-
-    boolean isCbrsSupported() {
-        return getResources().getBoolean(
-              com.android.internal.R.bool.config_cbrs_supported);
-    }
-
-    void updateCbrsDataState(boolean state) {
-        Log.d(TAG, "setCbrsDataSwitchState() state:" + ((state)? "on":"off"));
-        if (mTelephonyManager != null) {
-            QueuedWork.queue(new Runnable() {
-                public void run() {
-                  mTelephonyManager.setOpportunisticNetworkState(state);
-                  cbrsDataSwitch.setChecked(getCbrsDataState());
-                }
-            }, false);
-        }
-    }
-
-    boolean getCbrsDataState() {
-        boolean state = false;
-        if (mTelephonyManager != null) {
-            state = mTelephonyManager.isOpportunisticNetworkEnabled();
-        }
-        Log.d(TAG, "getCbrsDataState() state:" +((state)? "on":"off"));
-        return state;
-    }
-
-    OnCheckedChangeListener mCbrsDataSwitchChangeListener = new OnCheckedChangeListener() {
-        @Override
-        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
-            updateCbrsDataState(isChecked);
-        }
-    };
-
-    private void showDsdsChangeDialog() {
-        final AlertDialog confirmDialog = new Builder(RadioInfo.this)
-                .setTitle(R.string.dsds_dialog_title)
-                .setMessage(R.string.dsds_dialog_message)
-                .setPositiveButton(R.string.dsds_dialog_confirm, mOnDsdsDialogConfirmedListener)
-                .setNegativeButton(R.string.dsds_dialog_cancel, mOnDsdsDialogConfirmedListener)
-                .create();
-        confirmDialog.show();
-    }
-
-    private static boolean isDsdsSupported() {
-        return (TelephonyManager.getDefault().isMultiSimSupported()
-            == TelephonyManager.MULTISIM_ALLOWED);
-    }
-
-    private static boolean isDsdsEnabled() {
-        return TelephonyManager.getDefault().getPhoneCount() > 1;
-    }
-
-    private void performDsdsSwitch() {
-        mTelephonyManager.switchMultiSimConfig(dsdsSwitch.isChecked() ? 2 : 1);
-    }
-
-    /**
-     * @return {@code True} if the device is only supported dsds mode.
-     */
-    private boolean dsdsModeOnly() {
-        String dsdsMode = SystemProperties.get(DSDS_MODE_PROPERTY);
-        return !TextUtils.isEmpty(dsdsMode) && Integer.parseInt(dsdsMode) == ALWAYS_ON_DSDS_MODE;
-    }
-
-    DialogInterface.OnClickListener mOnDsdsDialogConfirmedListener =
-            new DialogInterface.OnClickListener() {
-        @Override
-        public void onClick(DialogInterface dialog, int which) {
-            if (which == DialogInterface.BUTTON_POSITIVE) {
-                dsdsSwitch.toggle();
-                performDsdsSwitch();
-            }
-        }
-    };
-}
diff --git a/src/com/android/settings/RegulatoryInfoDisplayActivity.java b/src/com/android/settings/RegulatoryInfoDisplayActivity.java
index 4c7515d..20aafc2 100644
--- a/src/com/android/settings/RegulatoryInfoDisplayActivity.java
+++ b/src/com/android/settings/RegulatoryInfoDisplayActivity.java
@@ -60,12 +60,6 @@
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
-        Resources resources = getResources();
-
-        if (!resources.getBoolean(R.bool.config_show_regulatory_info)) {
-            finish();   // no regulatory info to display for this device
-        }
-
         AlertDialog.Builder builder = new AlertDialog.Builder(this)
                 .setTitle(R.string.regulatory_labels)
                 .setOnDismissListener(this);
@@ -95,7 +89,8 @@
             }
         }
 
-        CharSequence regulatoryText = resources.getText(R.string.regulatory_info_text);
+        CharSequence regulatoryText = getResources()
+                .getText(R.string.regulatory_info_text);
 
         if (regulatoryInfoDrawableExists) {
             View view = getLayoutInflater().inflate(R.layout.regulatory_info, null);
diff --git a/src/com/android/settings/ResetNetwork.java b/src/com/android/settings/ResetNetwork.java
index 424d976..733d7fe 100644
--- a/src/com/android/settings/ResetNetwork.java
+++ b/src/com/android/settings/ResetNetwork.java
@@ -40,11 +40,9 @@
 import android.widget.Button;
 import android.widget.CheckBox;
 import android.widget.Spinner;
-import android.widget.TextView;
 
 import androidx.annotation.VisibleForTesting;
 
-import com.android.internal.telephony.PhoneConstants;
 import com.android.settings.core.InstrumentedFragment;
 import com.android.settings.core.SubSettingLauncher;
 import com.android.settings.enterprise.ActionDisabledByAdminDialogHelper;
@@ -52,6 +50,7 @@
 import com.android.settings.password.ConfirmLockPattern;
 import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
 import com.android.settingslib.RestrictedLockUtilsInternal;
+import com.android.settingslib.development.DevelopmentSettingsEnabler;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -120,10 +119,11 @@
         if (mSubscriptions != null && mSubscriptions.size() > 0) {
             int selectedIndex = mSubscriptionSpinner.getSelectedItemPosition();
             SubscriptionInfo subscription = mSubscriptions.get(selectedIndex);
-            args.putInt(PhoneConstants.SUBSCRIPTION_KEY, subscription.getSubscriptionId());
+            args.putInt(SubscriptionManager.EXTRA_SUBSCRIPTION_INDEX,
+                    subscription.getSubscriptionId());
         }
         args.putBoolean(MasterClear.ERASE_ESIMS_EXTRA,
-            mEsimContainer.getVisibility() == View.VISIBLE && mEsimCheckbox.isChecked());
+                mEsimContainer.getVisibility() == View.VISIBLE && mEsimCheckbox.isChecked());
         new SubSettingLauncher(getContext())
                 .setDestination(ResetNetworkConfirm.class.getName())
                 .setArguments(args)
@@ -165,17 +165,17 @@
         mEsimCheckbox = mContentView.findViewById(R.id.erase_esim);
 
         mSubscriptions = SubscriptionManager.from(getActivity())
-                .getActiveSubscriptionInfoList(true);
+                .getActiveSubscriptionInfoList();
         if (mSubscriptions != null && mSubscriptions.size() > 0) {
             // Get the default subscription in the order of data, voice, sms, first up.
             int defaultSubscription = SubscriptionManager.getDefaultDataSubscriptionId();
-            if (!SubscriptionManager.isUsableSubIdValue(defaultSubscription)) {
+            if (!SubscriptionManager.isUsableSubscriptionId(defaultSubscription)) {
                 defaultSubscription = SubscriptionManager.getDefaultVoiceSubscriptionId();
             }
-            if (!SubscriptionManager.isUsableSubIdValue(defaultSubscription)) {
+            if (!SubscriptionManager.isUsableSubscriptionId(defaultSubscription)) {
                 defaultSubscription = SubscriptionManager.getDefaultSmsSubscriptionId();
             }
-            if (!SubscriptionManager.isUsableSubIdValue(defaultSubscription)) {
+            if (!SubscriptionManager.isUsableSubscriptionId(defaultSubscription)) {
                 defaultSubscription = SubscriptionManager.getDefaultSubscriptionId();
             }
 
@@ -236,7 +236,7 @@
         }
         ContentResolver resolver = context.getContentResolver();
         return Settings.Global.getInt(resolver, Global.EUICC_PROVISIONED, 0) != 0
-                || Settings.Global.getInt(resolver, Global.DEVELOPMENT_SETTINGS_ENABLED, 0) != 0;
+                || DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(context);
     }
 
     @Override
diff --git a/src/com/android/settings/ResetNetworkConfirm.java b/src/com/android/settings/ResetNetworkConfirm.java
index beb0528..6856a5a 100644
--- a/src/com/android/settings/ResetNetworkConfirm.java
+++ b/src/com/android/settings/ResetNetworkConfirm.java
@@ -47,8 +47,6 @@
 import androidx.annotation.VisibleForTesting;
 import androidx.appcompat.app.AlertDialog;
 
-import com.android.ims.ImsManager;
-import com.android.internal.telephony.PhoneConstants;
 import com.android.settings.core.InstrumentedFragment;
 import com.android.settings.enterprise.ActionDisabledByAdminDialogHelper;
 import com.android.settings.network.ApnSettings;
@@ -104,15 +102,16 @@
             p2pFactoryReset(mContext);
 
             TelephonyManager telephonyManager = (TelephonyManager)
-                    mContext.getSystemService(Context.TELEPHONY_SERVICE);
+                    mContext.getSystemService(TelephonyManager.class)
+                            .createForSubscriptionId(mSubId);
             if (telephonyManager != null) {
-                telephonyManager.factoryReset(mSubId);
+                telephonyManager.resetSettings();
             }
 
             NetworkPolicyManager policyManager = (NetworkPolicyManager)
                     mContext.getSystemService(Context.NETWORK_POLICY_SERVICE);
             if (policyManager != null) {
-                String subscriberId = telephonyManager.getSubscriberId(mSubId);
+                String subscriberId = telephonyManager.getSubscriberId();
                 policyManager.factoryReset(subscriberId);
             }
 
@@ -125,8 +124,6 @@
                 }
             }
 
-            ImsManager.getInstance(mContext,
-                    SubscriptionManager.getPhoneId(mSubId)).factoryReset();
             restoreDefaultApn(mContext);
             if (mEraseEsim) {
                 return RecoverySystem.wipeEuiccData(mContext, mPackageName);
@@ -201,7 +198,7 @@
     private void restoreDefaultApn(Context context) {
         Uri uri = Uri.parse(ApnSettings.RESTORE_CARRIERS_URI);
 
-        if (SubscriptionManager.isUsableSubIdValue(mSubId)) {
+        if (SubscriptionManager.isUsableSubscriptionId(mSubId)) {
             uri = Uri.withAppendedPath(uri, "subId/" + String.valueOf(mSubId));
         }
 
@@ -252,7 +249,7 @@
 
         Bundle args = getArguments();
         if (args != null) {
-            mSubId = args.getInt(PhoneConstants.SUBSCRIPTION_KEY,
+            mSubId = args.getInt(SubscriptionManager.EXTRA_SUBSCRIPTION_INDEX,
                     SubscriptionManager.INVALID_SUBSCRIPTION_ID);
             mEraseEsim = args.getBoolean(MasterClear.ERASE_ESIMS_EXTRA);
         }
diff --git a/src/com/android/settings/RestrictedRadioButton.java b/src/com/android/settings/RestrictedRadioButton.java
index 20c2872..24a1b78 100644
--- a/src/com/android/settings/RestrictedRadioButton.java
+++ b/src/com/android/settings/RestrictedRadioButton.java
@@ -19,13 +19,13 @@
 import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
 
 import android.content.Context;
-import android.graphics.PorterDuff;
 import android.util.AttributeSet;
 import android.widget.RadioButton;
 import android.widget.TextView;
 
 import com.android.settingslib.RestrictedLockUtils;
 import com.android.settingslib.RestrictedLockUtilsInternal;
+import com.android.settingslib.utils.ColorUtil;
 
 public class RestrictedRadioButton extends RadioButton {
     private Context mContext;
@@ -67,10 +67,10 @@
             RestrictedLockUtilsInternal.setTextViewAsDisabledByAdmin(mContext,
                     (TextView) this, mDisabledByAdmin);
             if (mDisabledByAdmin) {
-                getButtonDrawable().setColorFilter(mContext.getColor(R.color.disabled_text_color),
-                        PorterDuff.Mode.MULTIPLY);
+                getButtonDrawable().setAlpha(
+                        (int) (255 * ColorUtil.getDisabledAlpha(mContext)));
             } else {
-                getButtonDrawable().clearColorFilter();
+                getButtonDrawable().setAlpha(0);
             }
         }
     }
diff --git a/src/com/android/settings/Settings.java b/src/com/android/settings/Settings.java
index e63edd7..d25d7e9 100644
--- a/src/com/android/settings/Settings.java
+++ b/src/com/android/settings/Settings.java
@@ -16,8 +16,12 @@
 
 package com.android.settings;
 
+import android.content.Context;
+import android.content.Intent;
 import android.os.Bundle;
+import android.util.FeatureFlagUtils;
 
+import com.android.settings.core.FeatureFlags;
 import com.android.settings.enterprise.EnterprisePrivacySettings;
 
 /**
@@ -33,9 +37,43 @@
     public static class CreateShortcutActivity extends SettingsActivity { /* empty */ }
     public static class FaceSettingsActivity extends SettingsActivity { /* empty */ }
     public static class FingerprintSettingsActivity extends SettingsActivity { /* empty */ }
-    public static class SimSettingsActivity extends SettingsActivity { /* empty */ }
-    public static class TetherSettingsActivity extends SettingsActivity { /* empty */ }
-    public static class WifiTetherSettingsActivity extends SettingsActivity { /* empty */ }
+    public static class TetherSettingsActivity extends SettingsActivity {
+        // TODO(b/147675042): Clean the override up when we enable the new Fragment persistently.
+        @Override
+        public Intent getIntent() {
+            return wrapIntentWithAllInOneTetherSettingsIfNeeded(
+                    getApplicationContext(), super.getIntent());
+        }
+    }
+    public static class WifiTetherSettingsActivity extends SettingsActivity {
+        // TODO(b/147675042): Clean the override up when we enable the new Fragment persistently.
+        @Override
+        public Intent getIntent() {
+            return wrapIntentWithAllInOneTetherSettingsIfNeeded(
+                    getApplicationContext(), super.getIntent());
+        }
+    }
+
+    private static Intent wrapIntentWithAllInOneTetherSettingsIfNeeded(
+            Context context, Intent superIntent) {
+        if (!FeatureFlagUtils.isEnabled(context, FeatureFlags.TETHER_ALL_IN_ONE)) {
+            return superIntent;
+        }
+
+        final Intent modIntent = new Intent(superIntent);
+        modIntent.putExtra(EXTRA_SHOW_FRAGMENT,
+                AllInOneTetherSettings.class.getCanonicalName());
+        Bundle args = superIntent.getBundleExtra(EXTRA_SHOW_FRAGMENT_ARGUMENTS);
+        if (args != null) {
+            args = new Bundle(args);
+        } else {
+            args = new Bundle();
+        }
+        args.putParcelable("intent", superIntent);
+        modIntent.putExtra(EXTRA_SHOW_FRAGMENT_ARGUMENTS, args);
+        return modIntent;
+    }
+
     public static class VpnSettingsActivity extends SettingsActivity { /* empty */ }
     public static class DataSaverSummaryActivity extends SettingsActivity{ /* empty */ }
     public static class DateTimeSettingsActivity extends SettingsActivity { /* empty */ }
@@ -43,6 +81,7 @@
     public static class PrivateVolumeSettingsActivity extends SettingsActivity { /* empty */ }
     public static class PublicVolumeSettingsActivity extends SettingsActivity { /* empty */ }
     public static class WifiSettingsActivity extends SettingsActivity { /* empty */ }
+    public static class WifiSettings2Activity extends SettingsActivity { /* empty */ }
     public static class WifiP2pSettingsActivity extends SettingsActivity { /* empty */ }
     public static class AvailableVirtualKeyboardActivity extends SettingsActivity { /* empty */ }
     public static class KeyboardLayoutPickerActivity extends SettingsActivity { /* empty */ }
@@ -97,6 +136,7 @@
     public static class NotificationStationActivity extends SettingsActivity { /* empty */ }
     public static class UserSettingsActivity extends SettingsActivity { /* empty */ }
     public static class NotificationAccessSettingsActivity extends SettingsActivity { /* empty */ }
+    public static class NotificationAccessDetailsActivity extends SettingsActivity { /* empty */ }
     public static class VrListenersSettingsActivity extends SettingsActivity { /* empty */ }
     public static class PictureInPictureSettingsActivity extends SettingsActivity { /* empty */ }
     public static class AppPictureInPictureSettingsActivity extends SettingsActivity { /* empty */ }
@@ -130,12 +170,21 @@
     public static class PhotosStorageActivity extends SettingsActivity {
         /* empty */
     }
+    public static class GestureNavigationSettingsActivity extends SettingsActivity { /* empty */ }
+    public static class InteractAcrossProfilesSettingsActivity extends SettingsActivity {
+        /* empty */
+    }
+    public static class AppInteractAcrossProfilesSettingsActivity extends SettingsActivity {
+        /* empty */
+    }
 
     public static class ApnSettingsActivity extends SettingsActivity { /* empty */ }
     public static class WifiCallingSettingsActivity extends SettingsActivity { /* empty */ }
     public static class MemorySettingsActivity extends SettingsActivity { /* empty */ }
     public static class AppMemoryUsageActivity extends SettingsActivity { /* empty */ }
     public static class OverlaySettingsActivity extends SettingsActivity { /* empty */ }
+    public static class ManageExternalStorageActivity extends SettingsActivity { /* empty */ }
+    public static class AppManageExternalStorageActivity extends SettingsActivity { /* empty */ }
     public static class WriteSettingsActivity extends SettingsActivity { /* empty */ }
     public static class ChangeWifiStateActivity extends SettingsActivity { /* empty */ }
     public static class AppDrawOverlaySettingsActivity extends SettingsActivity { /* empty */ }
@@ -147,6 +196,7 @@
     public static class ManagedProfileSettingsActivity extends SettingsActivity { /* empty */ }
     public static class DeletionHelperActivity extends SettingsActivity { /* empty */ }
 
+
     public static class ApnEditorActivity extends SettingsActivity { /* empty */ }
     public static class ChooseAccountActivity extends SettingsActivity { /* empty */ }
     public static class IccLockSettingsActivity extends SettingsActivity { /* empty */ }
@@ -168,6 +218,10 @@
     public static class WifiCallingDisclaimerActivity extends SettingsActivity { /* empty */ }
     public static class MobileNetworkListActivity extends SettingsActivity {}
     public static class GlobalActionsPanelSettingsActivity extends SettingsActivity {}
+    /**
+     * Activity for BugReportHandlerPicker.
+     */
+    public static class BugReportHandlerPickerActivity extends SettingsActivity { /* empty */ }
 
     // Top level categories for new IA
     public static class NetworkDashboardActivity extends SettingsActivity {}
diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java
index 3b01b32..3883eba 100644
--- a/src/com/android/settings/SettingsActivity.java
+++ b/src/com/android/settings/SettingsActivity.java
@@ -16,6 +16,8 @@
 
 package com.android.settings;
 
+import static com.android.settings.applications.appinfo.AppButtonsPreferenceController.KEY_REMOVE_TASK_WHEN_FINISHING;
+
 import android.app.ActionBar;
 import android.app.ActivityManager;
 import android.content.BroadcastReceiver;
@@ -28,6 +30,7 @@
 import android.content.pm.PackageManager;
 import android.content.pm.PackageManager.NameNotFoundException;
 import android.content.res.Resources.Theme;
+import android.graphics.drawable.Icon;
 import android.os.AsyncTask;
 import android.os.Bundle;
 import android.os.UserHandle;
@@ -50,7 +53,6 @@
 import com.android.internal.util.ArrayUtils;
 import com.android.settings.Settings.WifiSettingsActivity;
 import com.android.settings.applications.manageapplications.ManageApplications;
-import com.android.settings.backup.UserBackupSettingsActivity;
 import com.android.settings.core.OnActivityResultListener;
 import com.android.settings.core.SettingsBaseActivity;
 import com.android.settings.core.SubSettingLauncher;
@@ -134,6 +136,14 @@
     public static final String EXTRA_SHOW_FRAGMENT_AS_SUBSETTING =
             ":settings:show_fragment_as_subsetting";
 
+    /**
+     * Personal or Work profile tab of {@link ProfileSelectFragment}
+     * <p>0: Personal tab.
+     * <p>1: Work profile tab.
+     */
+    public static final String EXTRA_SHOW_FRAGMENT_TAB =
+            ":settings:show_fragment_tab";
+
     public static final String META_DATA_KEY_FRAGMENT_CLASS =
             "com.android.settings.FRAGMENT_CLASS";
 
@@ -203,10 +213,14 @@
     }
 
     private String getMetricsTag() {
-        String tag = getClass().getName();
+        String tag = null;
         if (getIntent() != null && getIntent().hasExtra(EXTRA_SHOW_FRAGMENT)) {
             tag = getIntent().getStringExtra(EXTRA_SHOW_FRAGMENT);
         }
+        if (TextUtils.isEmpty(tag)) {
+            Log.w(LOG_TAG, "MetricsTag is invalid " + tag);
+            tag = getClass().getName();
+        }
         if (tag.startsWith("com.android.settings.")) {
             tag = tag.replace("com.android.settings.", "");
         }
@@ -268,7 +282,7 @@
             launchSettingFragment(initialFragmentName, intent);
         }
 
-        final boolean deviceProvisioned = Utils.isDeviceProvisioned(this);
+        final boolean deviceProvisioned = WizardManagerHelper.isDeviceProvisioned(this);
 
         final ActionBar actionBar = getActionBar();
         if (actionBar != null) {
@@ -478,7 +492,7 @@
 
     @Override
     public void setTaskDescription(ActivityManager.TaskDescription taskDescription) {
-        taskDescription.setIcon(R.drawable.ic_launcher_settings);
+        taskDescription.setIcon(Icon.createWithResource(this, R.drawable.ic_launcher_settings));
         super.setTaskDescription(taskDescription);
     }
 
@@ -542,7 +556,12 @@
      */
     public void finishPreferencePanel(int resultCode, Intent resultData) {
         setResult(resultCode, resultData);
-        finish();
+        if (resultData != null &&
+                resultData.getBooleanExtra(KEY_REMOVE_TASK_WHEN_FINISHING, false)) {
+            finishAndRemoveTask();
+        } else {
+            finish();
+        }
     }
 
     /**
@@ -555,7 +574,7 @@
             throw new IllegalArgumentException("Invalid fragment for this activity: "
                     + fragmentName);
         }
-        Fragment f = Fragment.instantiate(this, fragmentName, args);
+        Fragment f = Utils.getTargetFragment(this, fragmentName, args);
         FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
         transaction.replace(R.id.main_content, f);
         if (titleResId > 0) {
@@ -573,12 +592,7 @@
         // Generally the items that are will be changing from these updates will
         // not be in the top list of tiles, so run it in the background and the
         // SettingsBaseActivity will pick up on the updates automatically.
-        AsyncTask.execute(new Runnable() {
-            @Override
-            public void run() {
-                doUpdateTilesList();
-            }
-        });
+        AsyncTask.execute(() -> doUpdateTilesList());
     }
 
     private void doUpdateTilesList() {
@@ -633,16 +647,11 @@
                 || somethingChanged;
 
         somethingChanged = setTileEnabled(changedList, new ComponentName(packageName,
-                UserBackupSettingsActivity.class.getName()), true, isAdmin)
-                || somethingChanged;
-
-        somethingChanged = setTileEnabled(changedList, new ComponentName(packageName,
                         Settings.WifiDisplaySettingsActivity.class.getName()),
                 WifiDisplaySettings.isAvailable(this), isAdmin)
                 || somethingChanged;
 
         if (UserHandle.MU_ENABLED && !isAdmin) {
-
             // When on restricted users, disable all extra categories (but only the settings ones).
             final List<DashboardCategory> categories = mDashboardFeatureProvider.getAllCategories();
             synchronized (categories) {
diff --git a/src/com/android/settings/SettingsDumpService.java b/src/com/android/settings/SettingsDumpService.java
index a57e983..2b6c7d8 100644
--- a/src/com/android/settings/SettingsDumpService.java
+++ b/src/com/android/settings/SettingsDumpService.java
@@ -102,13 +102,15 @@
         JSONObject obj = new JSONObject();
         DataUsageController controller = new DataUsageController(this);
         ConnectivityManager connectivityManager = getSystemService(ConnectivityManager.class);
-        SubscriptionManager manager = SubscriptionManager.from(this);
-        TelephonyManager telephonyManager = TelephonyManager.from(this);
+        SubscriptionManager manager = this.getSystemService(SubscriptionManager.class);
+        TelephonyManager telephonyManager = this.getSystemService(TelephonyManager.class);
         if (connectivityManager.isNetworkSupported(ConnectivityManager.TYPE_MOBILE)) {
             JSONArray array = new JSONArray();
-            for (SubscriptionInfo info : manager.getAllSubscriptionInfoList()) {
+            for (SubscriptionInfo info : manager.getAvailableSubscriptionInfoList()) {
+                telephonyManager = telephonyManager
+                        .createForSubscriptionId(info.getSubscriptionId());
                 NetworkTemplate mobileAll = NetworkTemplate.buildTemplateMobileAll(
-                        telephonyManager.getSubscriberId(info.getSubscriptionId()));
+                        telephonyManager.getSubscriberId());
                 final JSONObject usage = dumpDataUsage(mobileAll, controller);
                 usage.put("subId", info.getSubscriptionId());
                 array.put(usage);
diff --git a/src/com/android/settings/SettingsPreferenceFragment.java b/src/com/android/settings/SettingsPreferenceFragment.java
index 6b29b2e..80e5706 100644
--- a/src/com/android/settings/SettingsPreferenceFragment.java
+++ b/src/com/android/settings/SettingsPreferenceFragment.java
@@ -44,7 +44,6 @@
 
 import com.android.settings.core.InstrumentedPreferenceFragment;
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
-import com.android.settings.search.Indexable;
 import com.android.settings.search.actionbar.SearchMenuController;
 import com.android.settings.support.actionbar.HelpMenuController;
 import com.android.settings.support.actionbar.HelpResourceProvider;
@@ -53,7 +52,7 @@
 import com.android.settingslib.CustomDialogPreferenceCompat;
 import com.android.settingslib.CustomEditTextPreferenceCompat;
 import com.android.settingslib.core.instrumentation.Instrumentable;
-import com.android.settingslib.widget.FooterPreferenceMixinCompat;
+import com.android.settingslib.search.Indexable;
 import com.android.settingslib.widget.LayoutPreference;
 
 import java.util.UUID;
@@ -68,10 +67,6 @@
 
     private static final String SAVE_HIGHLIGHTED_KEY = "android:preference_highlighted";
 
-    protected final FooterPreferenceMixinCompat mFooterPreferenceMixin =
-            new FooterPreferenceMixinCompat(this, getSettingsLifecycle());
-
-
     private static final int ORDER_FIRST = -1;
 
     private SettingsDialogFragment mDialogFragment;
@@ -113,8 +108,8 @@
                 }
             };
 
-    private ViewGroup mPinnedHeaderFrameLayout;
-    private ViewGroup mButtonBar;
+    @VisibleForTesting
+    ViewGroup mPinnedHeaderFrameLayout;
 
     private LayoutPreference mHeader;
 
@@ -145,7 +140,6 @@
             Bundle savedInstanceState) {
         final View root = super.onCreateView(inflater, container, savedInstanceState);
         mPinnedHeaderFrameLayout = root.findViewById(R.id.pinned_header);
-        mButtonBar = root.findViewById(R.id.button_bar);
         return root;
     }
 
@@ -169,10 +163,6 @@
         }
     }
 
-    public ViewGroup getButtonBar() {
-        return mButtonBar;
-    }
-
     public View setPinnedHeaderView(int layoutResId) {
         final LayoutInflater inflater = getActivity().getLayoutInflater();
         final View pinnedHeader =
@@ -186,6 +176,10 @@
         mPinnedHeaderFrameLayout.setVisibility(View.VISIBLE);
     }
 
+    public void showPinnedHeader(boolean show) {
+        mPinnedHeaderFrameLayout.setVisibility(show ? View.VISIBLE : View.INVISIBLE);
+    }
+
     @Override
     public void onSaveInstanceState(Bundle outState) {
         super.onSaveInstanceState(outState);
@@ -264,6 +258,18 @@
         return 0;
     }
 
+    /**
+     * Whether preference is allowing to be displayed to the user.
+     *
+     * @param preference to check if it can be displayed to the user (not hidding in expand area).
+     * @return {@code true} when preference is allowing to be displayed to the user.
+     * {@code false} when preference is hidden in expand area and not been displayed to the user.
+     */
+    protected boolean isPreferenceExpanded(Preference preference) {
+        return ((mAdapter == null)
+                || (mAdapter.getPreferenceAdapterPosition(preference) != RecyclerView.NO_POSITION));
+    }
+
     protected void onDataSetChanged() {
         highlightPreferenceIfNeeded();
         updateEmptyView();
@@ -275,11 +281,13 @@
 
     protected void setHeaderView(int resource) {
         mHeader = new LayoutPreference(getPrefContext(), resource);
+        mHeader.setSelectable(false);
         addPreferenceToTop(mHeader);
     }
 
     protected void setHeaderView(View view) {
         mHeader = new LayoutPreference(getPrefContext(), view);
+        mHeader.setSelectable(false);
         addPreferenceToTop(mHeader);
     }
 
@@ -310,8 +318,7 @@
         if (getPreferenceScreen() != null) {
             final View listContainer = getActivity().findViewById(android.R.id.list_container);
             boolean show = (getPreferenceScreen().getPreferenceCount()
-                    - (mHeader != null ? 1 : 0)
-                    - (mFooterPreferenceMixin.hasFooter() ? 1 : 0)) <= 0
+                    - (mHeader != null ? 1 : 0)) <= 0
                     || (listContainer != null && listContainer.getVisibility() != View.VISIBLE);
             mEmptyView.setVisibility(show ? View.VISIBLE : View.GONE);
         } else {
diff --git a/src/com/android/settings/SettingsTutorialDialogWrapperActivity.java b/src/com/android/settings/SettingsTutorialDialogWrapperActivity.java
index ce44689..50b966f 100644
--- a/src/com/android/settings/SettingsTutorialDialogWrapperActivity.java
+++ b/src/com/android/settings/SettingsTutorialDialogWrapperActivity.java
@@ -39,4 +39,4 @@
         AccessibilityGestureNavigationTutorial
                 .showGestureNavigationSettingsTutorialDialog(this, dialog -> finish());
     }
-}
\ No newline at end of file
+}
diff --git a/src/com/android/settings/TestingSettingsBroadcastReceiver.java b/src/com/android/settings/TestingSettingsBroadcastReceiver.java
index 2172cd0..0e1296b 100644
--- a/src/com/android/settings/TestingSettingsBroadcastReceiver.java
+++ b/src/com/android/settings/TestingSettingsBroadcastReceiver.java
@@ -1,22 +1,21 @@
 package com.android.settings;
 
-import static com.android.internal.telephony.TelephonyIntents.SECRET_CODE_ACTION;
-
 import android.content.BroadcastReceiver;
 import android.content.Context;
 import android.content.Intent;
+import android.telephony.TelephonyManager;
 
 import com.android.settings.Settings.TestingSettingsActivity;
 
 
 public class TestingSettingsBroadcastReceiver extends BroadcastReceiver {
-  
+
     public TestingSettingsBroadcastReceiver() {
     }
-    
+
     @Override
     public void onReceive(Context context, Intent intent) {
-        if (intent.getAction().equals(SECRET_CODE_ACTION)) {
+        if (intent.getAction().equals(TelephonyManager.ACTION_SECRET_CODE)) {
             Intent i = new Intent(Intent.ACTION_MAIN);
             i.setClass(context, TestingSettingsActivity.class);
             i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
diff --git a/src/com/android/settings/TetherSettings.java b/src/com/android/settings/TetherSettings.java
index 20b6e2f..cce2010 100644
--- a/src/com/android/settings/TetherSettings.java
+++ b/src/com/android/settings/TetherSettings.java
@@ -31,19 +31,21 @@
 import android.content.pm.PackageManager;
 import android.hardware.usb.UsbManager;
 import android.net.ConnectivityManager;
+import android.net.wifi.WifiManager;
 import android.os.Bundle;
 import android.os.Environment;
 import android.os.Handler;
 import android.os.UserManager;
 import android.provider.SearchIndexableResource;
+import android.util.FeatureFlagUtils;
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 import androidx.preference.SwitchPreference;
 
+import com.android.settings.core.FeatureFlags;
 import com.android.settings.datausage.DataSaverBackend;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
 import com.android.settings.wifi.tether.WifiTetherPreferenceController;
 import com.android.settingslib.TetherUtil;
 import com.android.settingslib.search.SearchIndexable;
@@ -70,6 +72,8 @@
     @VisibleForTesting
     static final String KEY_ENABLE_BLUETOOTH_TETHERING = "enable_bluetooth_tethering";
     private static final String KEY_DATA_SAVER_FOOTER = "disabled_on_data_saver";
+    @VisibleForTesting
+    static final String KEY_TETHER_PREFS_FOOTER = "tether_prefs_footer";
 
     private static final String TAG = "TetheringSettings";
 
@@ -120,9 +124,6 @@
         super.onCreate(icicle);
 
         addPreferencesFromResource(R.xml.tether_prefs);
-        mFooterPreferenceMixin.createFooterPreference()
-            .setTitle(R.string.tethering_footer_info);
-
         mDataSaverBackend = new DataSaverBackend(getContext());
         mDataSaverEnabled = mDataSaverBackend.isDataSaverEnabled();
         mDataSaverFooter = findPreference(KEY_DATA_SAVER_FOOTER);
@@ -143,6 +144,7 @@
 
         mUsbTether = (SwitchPreference) findPreference(KEY_USB_TETHER_SETTINGS);
         mBluetoothTether = (SwitchPreference) findPreference(KEY_ENABLE_BLUETOOTH_TETHERING);
+        setFooterPreferenceTitle();
 
         mDataSaverBackend.addListener(this);
 
@@ -203,6 +205,18 @@
     public void onBlacklistStatusChanged(int uid, boolean isBlacklisted)  {
     }
 
+    @VisibleForTesting
+    void setFooterPreferenceTitle() {
+        final Preference footerPreference = findPreference(KEY_TETHER_PREFS_FOOTER);
+        final WifiManager wifiManager =
+                (WifiManager) getContext().getSystemService(Context.WIFI_SERVICE);
+        if (wifiManager.isStaApConcurrencySupported()) {
+            footerPreference.setTitle(R.string.tethering_footer_info_sta_ap_concurrency);
+        } else {
+            footerPreference.setTitle(R.string.tethering_footer_info);
+        }
+    }
+
     private class TetherChangeReceiver extends BroadcastReceiver {
         @Override
         public void onReceive(Context content, Intent intent) {
@@ -444,7 +458,7 @@
         }
     };
 
-    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
             new BaseSearchIndexProvider() {
                 @Override
                 public List<SearchIndexableResource> getXmlResourcesToIndex(
@@ -455,6 +469,11 @@
                 }
 
                 @Override
+                protected boolean isPageSearchEnabled(Context context) {
+                    return !FeatureFlagUtils.isEnabled(context, FeatureFlags.TETHER_ALL_IN_ONE);
+                }
+
+                @Override
                 public List<String> getNonIndexableKeys(Context context) {
                     final List<String> keys = super.getNonIndexableKeys(context);
                     final ConnectivityManager cm =
diff --git a/src/com/android/settings/Utils.java b/src/com/android/settings/Utils.java
index c4b1400..e8eb8ba 100644
--- a/src/com/android/settings/Utils.java
+++ b/src/com/android/settings/Utils.java
@@ -73,7 +73,6 @@
 import android.provider.ContactsContract.Data;
 import android.provider.ContactsContract.Profile;
 import android.provider.ContactsContract.RawContacts;
-import android.provider.Settings;
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
 import android.text.Spannable;
@@ -101,8 +100,8 @@
 import com.android.internal.app.UnlaunchableAppActivity;
 import com.android.internal.util.ArrayUtils;
 import com.android.internal.widget.LockPatternUtils;
-import com.android.settings.core.FeatureFlags;
-import com.android.settings.development.featureflags.FeatureFlagPersistent;
+import com.android.settings.dashboard.profileselector.ProfileFragmentBridge;
+import com.android.settings.dashboard.profileselector.ProfileSelectFragment;
 import com.android.settings.password.ChooseLockSettingsHelper;
 import com.android.settingslib.widget.ActionBarShadowController;
 
@@ -131,6 +130,11 @@
             "device_identifier_access_restrictions_disabled";
 
     /**
+     * Whether to show the Permissions Hub.
+     */
+    public static final String PROPERTY_PERMISSIONS_HUB_ENABLED = "permissions_hub_enabled";
+
+    /**
      * Finds a matching activity for a preference's intent. If a matching
      * activity is not found, it will remove the preference.
      *
@@ -148,19 +152,19 @@
     public static boolean updatePreferenceToSpecificActivityOrRemove(Context context,
             PreferenceGroup parentPreferenceGroup, String preferenceKey, int flags) {
 
-        Preference preference = parentPreferenceGroup.findPreference(preferenceKey);
+        final Preference preference = parentPreferenceGroup.findPreference(preferenceKey);
         if (preference == null) {
             return false;
         }
 
-        Intent intent = preference.getIntent();
+        final Intent intent = preference.getIntent();
         if (intent != null) {
             // Find the activity that is in the system image
-            PackageManager pm = context.getPackageManager();
-            List<ResolveInfo> list = pm.queryIntentActivities(intent, 0);
-            int listSize = list.size();
+            final PackageManager pm = context.getPackageManager();
+            final List<ResolveInfo> list = pm.queryIntentActivities(intent, 0);
+            final int listSize = list.size();
             for (int i = 0; i < listSize; i++) {
-                ResolveInfo resolveInfo = list.get(i);
+                final ResolveInfo resolveInfo = list.get(i);
                 if ((resolveInfo.activityInfo.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM)
                         != 0) {
 
@@ -186,19 +190,6 @@
     }
 
     /**
-     * Returns the UserManager for a given context
-     *
-     * @throws IllegalStateException if no UserManager could be retrieved.
-     */
-    public static UserManager getUserManager(Context context) {
-        UserManager um = UserManager.get(context);
-        if (um == null) {
-            throw new IllegalStateException("Unable to load UserManager");
-        }
-        return um;
-    }
-
-    /**
      * Returns true if Monkey is running.
      */
     public static boolean isMonkeyRunning() {
@@ -209,7 +200,7 @@
      * Returns whether the device is voice-capable (meaning, it is also a phone).
      */
     public static boolean isVoiceCapable(Context context) {
-        TelephonyManager telephony =
+        final TelephonyManager telephony =
                 (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
         return telephony != null && telephony.isVoiceCapable();
     }
@@ -220,12 +211,12 @@
      * @return the formatted and newline-separated IP addresses, or null if none.
      */
     public static String getWifiIpAddresses(Context context) {
-        WifiManager wifiManager = context.getSystemService(WifiManager.class);
-        Network currentNetwork = wifiManager.getCurrentNetwork();
+        final WifiManager wifiManager = context.getSystemService(WifiManager.class);
+        final Network currentNetwork = wifiManager.getCurrentNetwork();
         if (currentNetwork != null) {
-            ConnectivityManager cm = (ConnectivityManager)
+            final ConnectivityManager cm = (ConnectivityManager)
                 context.getSystemService(Context.CONNECTIVITY_SERVICE);
-            LinkProperties prop = cm.getLinkProperties(currentNetwork);
+            final LinkProperties prop = cm.getLinkProperties(currentNetwork);
             return formatIpAddresses(prop);
         }
         return null;
@@ -233,7 +224,7 @@
 
     private static String formatIpAddresses(LinkProperties prop) {
         if (prop == null) return null;
-        Iterator<InetAddress> iter = prop.getAllAddresses().iterator();
+        final Iterator<InetAddress> iter = prop.getAllAddresses().iterator();
         // If there are no entries, return null
         if (!iter.hasNext()) return null;
         // Concatenate all available addresses, comma separated
@@ -254,7 +245,7 @@
         // And : new Locale("en_US").toString() => "en_us"
         if (null == localeStr)
             return Locale.getDefault();
-        String[] brokenDownLocale = localeStr.split("_", 3);
+        final String[] brokenDownLocale = localeStr.split("_", 3);
         // split may not return a 0-length array.
         if (1 == brokenDownLocale.length) {
             return new Locale(brokenDownLocale[0]);
@@ -379,7 +370,7 @@
     }
 
     public static boolean hasMultipleUsers(Context context) {
-        return ((UserManager) context.getSystemService(Context.USER_SERVICE))
+        return context.getSystemService(UserManager.class)
                 .getUsers().size() > 1;
     }
 
@@ -388,7 +379,7 @@
      * exists but it is disabled.
      */
     public static UserHandle getManagedProfile(UserManager userManager) {
-        List<UserHandle> userProfiles = userManager.getUserProfiles();
+        final List<UserHandle> userProfiles = userManager.getUserProfiles();
         for (UserHandle profile : userProfiles) {
             if (profile.getIdentifier() == userManager.getUserHandle()) {
                 continue;
@@ -412,7 +403,7 @@
         // we need to use UserManager.getProfiles that is available on API 23 (the one currently
         // used for Settings Robolectric tests).
         final int myUserId = UserHandle.myUserId();
-        List<UserInfo> profiles = userManager.getProfiles(myUserId);
+        final List<UserInfo> profiles = userManager.getProfiles(myUserId);
         final int count = profiles.size();
         for (int i = 0; i < count; i++) {
             final UserInfo profile = profiles.get(i);
@@ -430,7 +421,7 @@
      * @return the managed profile id or UserHandle.USER_NULL if there is none.
      */
     public static int getManagedProfileId(UserManager um, int parentUserId) {
-        int[] profileIds = um.getProfileIdsWithDisabled(parentUserId);
+        final int[] profileIds = um.getProfileIdsWithDisabled(parentUserId);
         for (int profileId : profileIds) {
             if (profileId != parentUserId) {
                 return profileId;
@@ -456,13 +447,14 @@
      */
     public static UserHandle getSecureTargetUser(IBinder activityToken,
             UserManager um, @Nullable Bundle arguments, @Nullable Bundle intentExtras) {
-        UserHandle currentUser = new UserHandle(UserHandle.myUserId());
-        IActivityManager am = ActivityManager.getService();
+        final UserHandle currentUser = new UserHandle(UserHandle.myUserId());
+        final IActivityManager am = ActivityManager.getService();
         try {
-            String launchedFromPackage = am.getLaunchedFromPackage(activityToken);
-            boolean launchedFromSettingsApp = SETTINGS_PACKAGE_NAME.equals(launchedFromPackage);
+            final String launchedFromPackage = am.getLaunchedFromPackage(activityToken);
+            final boolean launchedFromSettingsApp =
+                    SETTINGS_PACKAGE_NAME.equals(launchedFromPackage);
 
-            UserHandle launchedFromUser = new UserHandle(UserHandle.getUserId(
+            final UserHandle launchedFromUser = new UserHandle(UserHandle.getUserId(
                     am.getLaunchedFromUid(activityToken)));
             if (launchedFromUser != null && !launchedFromUser.equals(currentUser)) {
                 // Check it's secure
@@ -470,14 +462,14 @@
                     return launchedFromUser;
                 }
             }
-            UserHandle extrasUser = getUserHandleFromBundle(intentExtras);
+            final UserHandle extrasUser = getUserHandleFromBundle(intentExtras);
             if (extrasUser != null && !extrasUser.equals(currentUser)) {
                 // Check it's secure
                 if (launchedFromSettingsApp && isProfileOf(um, extrasUser)) {
                     return extrasUser;
                 }
             }
-            UserHandle argumentsUser = getUserHandleFromBundle(arguments);
+            final UserHandle argumentsUser = getUserHandleFromBundle(arguments);
             if (argumentsUser != null && !argumentsUser.equals(currentUser)) {
                 // Check it's secure
                 if (launchedFromSettingsApp && isProfileOf(um, argumentsUser)) {
@@ -520,21 +512,6 @@
    }
 
     /**
-     * Return whether or not the user should have a SIM Cards option in Settings.
-     * TODO: Change back to returning true if count is greater than one after testing.
-     * TODO: See bug 16533525.
-     */
-    public static boolean showSimCardTile(Context context) {
-        if (FeatureFlagPersistent.isEnabled(context, FeatureFlags.NETWORK_INTERNET_V2)) {
-            return false;
-        }
-        final TelephonyManager tm =
-                (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
-
-        return tm.getSimCount() > 1;
-    }
-
-    /**
      * Queries for the UserInfo of a user. Returns null if the user doesn't exist (was removed).
      * @param userManager Instance of UserManager
      * @param checkUser The user to check the existence of.
@@ -562,10 +539,11 @@
     }
 
     public static ArraySet<String> getHandledDomains(PackageManager pm, String packageName) {
-        List<IntentFilterVerificationInfo> iviList = pm.getIntentFilterVerifications(packageName);
-        List<IntentFilter> filters = pm.getAllIntentFilters(packageName);
+        final List<IntentFilterVerificationInfo> iviList =
+                pm.getIntentFilterVerifications(packageName);
+        final List<IntentFilter> filters = pm.getAllIntentFilters(packageName);
 
-        ArraySet<String> result = new ArraySet<>();
+        final ArraySet<String> result = new ArraySet<>();
         if (iviList != null && iviList.size() > 0) {
             for (IntentFilterVerificationInfo ivi : iviList) {
                 for (String host : ivi.getDomains()) {
@@ -589,16 +567,16 @@
      * Returns the application info of the currently installed MDM package.
      */
     public static ApplicationInfo getAdminApplicationInfo(Context context, int profileId) {
-        DevicePolicyManager dpm =
+        final DevicePolicyManager dpm =
                 (DevicePolicyManager) context.getSystemService(Context.DEVICE_POLICY_SERVICE);
-        ComponentName mdmPackage = dpm.getProfileOwnerAsUser(profileId);
+        final ComponentName mdmPackage = dpm.getProfileOwnerAsUser(profileId);
         if (mdmPackage == null) {
             return null;
         }
-        String mdmPackageName = mdmPackage.getPackageName();
+        final String mdmPackageName = mdmPackage.getPackageName();
         try {
-            IPackageManager ipm = AppGlobals.getPackageManager();
-            ApplicationInfo mdmApplicationInfo =
+            final IPackageManager ipm = AppGlobals.getPackageManager();
+            final ApplicationInfo mdmApplicationInfo =
                     ipm.getApplicationInfo(mdmPackageName, 0, profileId);
             return mdmApplicationInfo;
         } catch (RemoteException e) {
@@ -625,7 +603,7 @@
      */
     public static SpannableString createAccessibleSequence(CharSequence displayText,
             String accessibileText) {
-        SpannableString str = new SpannableString(displayText);
+        final SpannableString str = new SpannableString(displayText);
         str.setSpan(new TtsSpan.TextBuilder(accessibileText).build(), 0,
                 displayText.length(),
                 Spannable.SPAN_INCLUSIVE_INCLUSIVE);
@@ -659,7 +637,7 @@
         }
         final boolean allowAnyUser = isInternal
                 && bundle.getBoolean(ChooseLockSettingsHelper.EXTRA_ALLOW_ANY_USER, false);
-        int userId = bundle.getInt(Intent.EXTRA_USER_ID, UserHandle.myUserId());
+        final int userId = bundle.getInt(Intent.EXTRA_USER_ID, UserHandle.myUserId());
         if (userId == LockPatternUtils.USER_FRP) {
             return allowAnyUser ? userId : enforceSystemUser(context, userId);
         } else {
@@ -686,7 +664,7 @@
      * @throws SecurityException if the given userId does not belong to the current user group.
      */
     public static int enforceSameOwner(Context context, int userId) {
-        final UserManager um = getUserManager(context);
+        final UserManager um = context.getSystemService(UserManager.class);
         final int[] profileIds = um.getProfileIdsWithDisabled(UserHandle.myUserId());
         if (ArrayUtils.contains(profileIds, userId)) {
             return userId;
@@ -706,10 +684,19 @@
      * Returns the user id of the credential owner of the given user id.
      */
     public static int getCredentialOwnerUserId(Context context, int userId) {
-        UserManager um = getUserManager(context);
+        final UserManager um = context.getSystemService(UserManager.class);
         return um.getCredentialOwnerProfile(userId);
     }
 
+    /**
+     * Returns the credential type of the given user id.
+     */
+    public static @LockPatternUtils.CredentialType int getCredentialType(Context context,
+            int userId) {
+        final LockPatternUtils lpu = new LockPatternUtils(context);
+        return lpu.getCredentialTypeForUser(userId);
+    }
+
     private static final StringBuilder sBuilder = new StringBuilder(50);
     private static final java.util.Formatter sFormatter = new java.util.Formatter(
             sBuilder, Locale.getDefault());
@@ -724,11 +711,6 @@
         }
     }
 
-    public static boolean isDeviceProvisioned(Context context) {
-        return Settings.Global.getInt(context.getContentResolver(),
-                Settings.Global.DEVICE_PROVISIONED, 0) != 0;
-    }
-
     public static boolean startQuietModeDialogIfNecessary(Context context, UserManager um,
             int userId) {
         if (um.isQuietModeEnabled(UserHandle.of(userId))) {
@@ -774,7 +756,7 @@
                     | PackageManager.MATCH_ANY_USER);
             return appInfo.loadLabel(context.getPackageManager());
         } catch (PackageManager.NameNotFoundException e) {
-            Log.w(TAG, "Unable to find info for package: " + packageName);
+            Log.e(TAG, "Unable to find info for package: " + packageName);
         }
         return null;
     }
@@ -811,7 +793,7 @@
     }
 
     public static boolean hasFingerprintHardware(Context context) {
-        FingerprintManager fingerprintManager = getFingerprintManagerOrNull(context);
+        final FingerprintManager fingerprintManager = getFingerprintManagerOrNull(context);
         return fingerprintManager != null && fingerprintManager.isHardwareDetected();
     }
 
@@ -824,7 +806,7 @@
     }
 
     public static boolean hasFaceHardware(Context context) {
-        FaceManager faceManager = getFaceManagerOrNull(context);
+        final FaceManager faceManager = getFaceManagerOrNull(context);
         return faceManager != null && faceManager.isHardwareDetected();
     }
 
@@ -848,7 +830,8 @@
     }
 
     public static boolean isDemoUser(Context context) {
-        return UserManager.isDeviceInDemoMode(context) && getUserManager(context).isDemoUser();
+        return UserManager.isDeviceInDemoMode(context)
+                && context.getSystemService(UserManager.class).isDemoUser();
     }
 
     public static ComponentName getDeviceOwnerComponent(Context context) {
@@ -877,7 +860,7 @@
     public static VolumeInfo maybeInitializeVolume(StorageManager sm, Bundle bundle) {
         final String volumeId = bundle.getString(VolumeInfo.EXTRA_VOLUME_ID,
                 VolumeInfo.ID_PRIVATE_INTERNAL);
-        VolumeInfo volume = sm.findVolumeById(volumeId);
+        final VolumeInfo volume = sm.findVolumeById(volumeId);
         return isVolumeValid(volume) ? volume : null;
     }
 
@@ -890,12 +873,13 @@
      */
     public static boolean isProfileOrDeviceOwner(UserManager userManager,
             DevicePolicyManager devicePolicyManager, String packageName) {
-        List<UserInfo> userInfos = userManager.getUsers();
+        final List<UserInfo> userInfos = userManager.getUsers();
         if (devicePolicyManager.isDeviceOwnerAppOnAnyUser(packageName)) {
             return true;
         }
         for (int i = 0, size = userInfos.size(); i < size; i++) {
-            ComponentName cn = devicePolicyManager.getProfileOwnerAsUser(userInfos.get(i).id);
+            final ComponentName cn = devicePolicyManager
+                    .getProfileOwnerAsUser(userInfos.get(i).id);
             if (cn != null && cn.getPackageName().equals(packageName)) {
                 return true;
             }
@@ -904,6 +888,27 @@
     }
 
     /**
+     * Return {@code true} if the supplied package is the device owner or profile owner of a
+     * given user.
+     *
+     * @param devicePolicyManager used to check whether it is device owner and profile owner app
+     * @param packageName         package to check about
+     * @param userId              the if of the relevant user
+     */
+    public static boolean isProfileOrDeviceOwner(DevicePolicyManager devicePolicyManager,
+            String packageName, int userId) {
+        if ((devicePolicyManager.getDeviceOwnerUserId() == userId)
+                && devicePolicyManager.isDeviceOwnerApp(packageName)) {
+            return true;
+        }
+        final ComponentName cn = devicePolicyManager.getProfileOwnerAsUser(userId);
+        if (cn != null && cn.getPackageName().equals(packageName)) {
+            return true;
+        }
+        return false;
+    }
+
+    /**
      * Return the resource id to represent the install status for an app
      */
     @StringRes
@@ -950,9 +955,9 @@
             return original;
         }
 
-        float scaleWidth = ((float) maxWidth) / actualWidth;
-        float scaleHeight = ((float) maxHeight) / actualHeight;
-        float scale = Math.min(scaleWidth, scaleHeight);
+        final float scaleWidth = ((float) maxWidth) / actualWidth;
+        final float scaleHeight = ((float) maxHeight) / actualHeight;
+        final float scale = Math.min(scaleWidth, scaleHeight);
         final int width = (int) (actualWidth * scale);
         final int height = (int) (actualHeight * scale);
 
@@ -1060,4 +1065,28 @@
             ActionBarShadowController.attachToView(activity, lifecycle, scrollView);
         }
     }
+
+    /**
+     * Return correct target fragment based on argument
+     *
+     * @param activity     the activity target fragment will be launched.
+     * @param fragmentName initial target fragment name.
+     * @param args         fragment launch arguments.
+     */
+    public static Fragment getTargetFragment(Activity activity, String fragmentName, Bundle args) {
+        Fragment f = null;
+        final boolean isPersonal = args != null ? args.getInt(ProfileSelectFragment.EXTRA_PROFILE)
+                == ProfileSelectFragment.ProfileType.PERSONAL : false;
+        final boolean isWork = args != null ? args.getInt(ProfileSelectFragment.EXTRA_PROFILE)
+                == ProfileSelectFragment.ProfileType.WORK : false;
+        if (activity.getSystemService(UserManager.class).getUserProfiles().size() > 1
+                && ProfileFragmentBridge.FRAGMENT_MAP.get(fragmentName) != null
+                && !isWork && !isPersonal) {
+            f = Fragment.instantiate(activity, ProfileFragmentBridge.FRAGMENT_MAP.get(fragmentName),
+                    args);
+        } else {
+            f = Fragment.instantiate(activity, fragmentName, args);
+        }
+        return f;
+    }
 }
diff --git a/src/com/android/settings/accessibility/AccessibilityControlTimeoutPreferenceFragment.java b/src/com/android/settings/accessibility/AccessibilityControlTimeoutPreferenceFragment.java
index df950e8..b37fdfb 100644
--- a/src/com/android/settings/accessibility/AccessibilityControlTimeoutPreferenceFragment.java
+++ b/src/com/android/settings/accessibility/AccessibilityControlTimeoutPreferenceFragment.java
@@ -104,21 +104,8 @@
         return sControllers;
     }
 
-    public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
-                        boolean enabled) {
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.accessibility_control_timeout_settings;
-                    return Arrays.asList(sir);
-                }
-
-                @Override
-                public List<String> getNonIndexableKeys(Context context) {
-                    final List<String> keys = super.getNonIndexableKeys(context);
-                    return keys;
-                }
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.accessibility_control_timeout_settings) {
 
                 @Override
                 public List<AbstractPreferenceController> createPreferenceControllers(
diff --git a/src/com/android/settings/accessibility/AccessibilityDetailsSettingsFragment.java b/src/com/android/settings/accessibility/AccessibilityDetailsSettingsFragment.java
index dc07ef0..73df875 100644
--- a/src/com/android/settings/accessibility/AccessibilityDetailsSettingsFragment.java
+++ b/src/com/android/settings/accessibility/AccessibilityDetailsSettingsFragment.java
@@ -135,9 +135,6 @@
         final String packageName = serviceInfo.packageName;
         final ComponentName componentName = new ComponentName(packageName, serviceInfo.name);
 
-        final List<AccessibilityServiceInfo> enabledServiceInfos = AccessibilityManager.getInstance(
-                getActivity()).getEnabledAccessibilityServiceList(
-                AccessibilityServiceInfo.FEEDBACK_ALL_MASK);
         final Set<ComponentName> enabledServices =
                 AccessibilityUtils.getEnabledServicesFromSettings(getActivity());
         final boolean serviceEnabled = enabledServices.contains(componentName);
@@ -146,8 +143,7 @@
             description = getString(R.string.accessibility_service_default_description);
         }
 
-        if (serviceEnabled && AccessibilityUtils.hasServiceCrashed(
-                packageName, serviceInfo.name, enabledServiceInfos)) {
+        if (serviceEnabled && info.crashed) {
             // Update the summaries for services that have crashed.
             description = getString(R.string.accessibility_description_state_stopped);
         }
@@ -168,7 +164,10 @@
                     new ComponentName(packageName, settingsClassName).flattenToString());
         }
         extras.putParcelable(AccessibilitySettings.EXTRA_COMPONENT_NAME, componentName);
+        extras.putInt(AccessibilitySettings.EXTRA_ANIMATED_IMAGE_RES, info.getAnimatedImageRes());
 
+        final String htmlDescription = info.loadHtmlDescription(getActivity().getPackageManager());
+        extras.putString(AccessibilitySettings.EXTRA_HTML_DESCRIPTION, htmlDescription);
         return extras;
     }
 
diff --git a/src/com/android/settings/accessibility/AccessibilityEditDialogUtils.java b/src/com/android/settings/accessibility/AccessibilityEditDialogUtils.java
new file mode 100644
index 0000000..fbe1e77
--- /dev/null
+++ b/src/com/android/settings/accessibility/AccessibilityEditDialogUtils.java
@@ -0,0 +1,315 @@
+/*
+ * 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.accessibility;
+
+import android.content.Context;
+import android.content.DialogInterface;
+import android.content.res.TypedArray;
+import android.graphics.drawable.Drawable;
+import android.text.Spannable;
+import android.text.SpannableString;
+import android.text.TextUtils;
+import android.text.style.ImageSpan;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.widget.CheckBox;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+
+import androidx.annotation.ColorInt;
+import androidx.annotation.IntDef;
+import androidx.appcompat.app.AlertDialog;
+import androidx.core.content.ContextCompat;
+
+import com.android.settings.R;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+/**
+ * Utility class for creating the edit dialog.
+ */
+public class AccessibilityEditDialogUtils {
+
+    /**
+     * IntDef enum for dialog type that indicates different dialog for user to choose the shortcut
+     * type.
+     */
+    @Retention(RetentionPolicy.SOURCE)
+    @IntDef({
+         DialogType.EDIT_SHORTCUT_GENERIC,
+         DialogType.EDIT_SHORTCUT_MAGNIFICATION,
+         DialogType.EDIT_MAGNIFICATION_MODE,
+    })
+
+    private @interface DialogType {
+        int EDIT_SHORTCUT_GENERIC = 0;
+        int EDIT_SHORTCUT_MAGNIFICATION = 1;
+        int EDIT_MAGNIFICATION_MODE = 2;
+    }
+
+    /**
+     * Method to show the edit shortcut dialog.
+     *
+     * @param context A valid context
+     * @param dialogTitle The title of edit shortcut dialog
+     * @param listener The listener to determine the action of edit shortcut dialog
+     * @return A edit shortcut dialog for showing
+     */
+    public static AlertDialog showEditShortcutDialog(Context context, CharSequence dialogTitle,
+            DialogInterface.OnClickListener listener) {
+        final AlertDialog alertDialog = createDialog(context, DialogType.EDIT_SHORTCUT_GENERIC,
+                dialogTitle, listener);
+        alertDialog.show();
+
+        return alertDialog;
+    }
+
+    /**
+     * Method to show the edit shortcut dialog in Magnification.
+     *
+     * @param context A valid context
+     * @param dialogTitle The title of edit shortcut dialog
+     * @param listener The listener to determine the action of edit shortcut dialog
+     * @return A edit shortcut dialog for showing in Magnification
+     */
+    public static AlertDialog showMagnificationEditShortcutDialog(Context context,
+            CharSequence dialogTitle, DialogInterface.OnClickListener listener) {
+        final AlertDialog alertDialog = createDialog(context,
+                DialogType.EDIT_SHORTCUT_MAGNIFICATION, dialogTitle, listener);
+        alertDialog.show();
+
+        return alertDialog;
+    }
+
+    /**
+     * Method to show the magnification mode dialog in Magnification.
+     *
+     * @param context A valid context
+     * @param dialogTitle The title of magnify mode dialog
+     * @param listener The listener to determine the action of magnify mode dialog
+     * @return A magnification mode dialog in Magnification
+     */
+    public static AlertDialog showMagnificationModeDialog(Context context,
+            CharSequence dialogTitle, DialogInterface.OnClickListener listener) {
+        final AlertDialog alertDialog = createDialog(context,
+                DialogType.EDIT_MAGNIFICATION_MODE, dialogTitle, listener);
+        alertDialog.show();
+
+        return alertDialog;
+    }
+
+    private static AlertDialog createDialog(Context context, int dialogType,
+            CharSequence dialogTitle, DialogInterface.OnClickListener listener) {
+
+        final AlertDialog alertDialog = new AlertDialog.Builder(context)
+                .setView(createEditDialogContentView(context, dialogType))
+                .setTitle(dialogTitle)
+                .setPositiveButton(R.string.save, listener)
+                .setNegativeButton(R.string.cancel,
+                        (DialogInterface dialog, int which) -> dialog.dismiss())
+                .create();
+
+        return alertDialog;
+    }
+
+    /**
+     * Get a content View for the edit shortcut dialog.
+     *
+     * @param context A valid context
+     * @param dialogType The type of edit shortcut dialog
+     * @return A content view suitable for viewing
+     */
+    private static View createEditDialogContentView(Context context, int dialogType) {
+        final LayoutInflater inflater = (LayoutInflater) context.getSystemService(
+                Context.LAYOUT_INFLATER_SERVICE);
+
+        View contentView = null;
+
+        switch (dialogType) {
+            case DialogType.EDIT_SHORTCUT_GENERIC:
+                contentView = inflater.inflate(
+                        R.layout.accessibility_edit_shortcut, null);
+                initSoftwareShortcut(context, contentView);
+                initHardwareShortcut(context, contentView);
+                break;
+            case DialogType.EDIT_SHORTCUT_MAGNIFICATION:
+                contentView = inflater.inflate(
+                        R.layout.accessibility_edit_shortcut_magnification, null);
+                initSoftwareShortcut(context, contentView);
+                initHardwareShortcut(context, contentView);
+                initMagnifyShortcut(context, contentView);
+                initAdvancedWidget(contentView);
+                break;
+            case DialogType.EDIT_MAGNIFICATION_MODE:
+                contentView = inflater.inflate(
+                        R.layout.accessibility_edit_magnification_mode, null);
+                initMagnifyFullScreen(context, contentView);
+                initMagnifyWindowScreen(context, contentView);
+                break;
+            default:
+                throw new IllegalArgumentException();
+        }
+
+        return contentView;
+    }
+
+    private static void initMagnifyFullScreen(Context context, View view) {
+        final View dialogView = view.findViewById(R.id.magnify_full_screen);
+        final CharSequence title = context.getText(
+                R.string.accessibility_magnification_area_settings_full_screen);
+        // TODO(b/146019459): Use vector drawable instead of temporal png file to avoid distorted.
+        setupShortcutWidget(dialogView, title, R.drawable.accessibility_magnification_full_screen);
+    }
+
+    private static void initMagnifyWindowScreen(Context context, View view) {
+        final View dialogView = view.findViewById(R.id.magnify_window_screen);
+        final CharSequence title = context.getText(
+                R.string.accessibility_magnification_area_settings_window_screen);
+        // TODO(b/146019459): Use vector drawable instead of temporal png file to avoid distorted.
+        setupShortcutWidget(dialogView, title,
+                R.drawable.accessibility_magnification_window_screen);
+    }
+
+    private static void setupShortcutWidget(View view, CharSequence titleText, int imageResId) {
+        setupShortcutWidget(view, titleText, null, imageResId);
+    }
+
+    private static void setupShortcutWidget(View view, CharSequence titleText,
+            CharSequence summaryText, int imageResId) {
+        final CheckBox checkBox = view.findViewById(R.id.checkbox);
+        checkBox.setText(titleText);
+        final TextView summary = view.findViewById(R.id.summary);
+        if (TextUtils.isEmpty(summaryText)) {
+            summary.setVisibility(View.GONE);
+        } else {
+            summary.setText(summaryText);
+        }
+        final ImageView image = view.findViewById(R.id.image);
+        image.setImageResource(imageResId);
+    }
+
+    private static void initSoftwareShortcut(Context context, View view) {
+        final View dialogView = view.findViewById(R.id.software_shortcut);
+        final TextView summary = dialogView.findViewById(R.id.summary);
+        final int lineHeight = summary.getLineHeight();
+        setupShortcutWidget(dialogView, retrieveTitle(context),
+                retrieveSummary(context, lineHeight), retrieveImageResId(context));
+    }
+
+    private static void initHardwareShortcut(Context context, View view) {
+        final View dialogView = view.findViewById(R.id.hardware_shortcut);
+        final CharSequence title = context.getText(
+                R.string.accessibility_shortcut_edit_dialog_title_hardware);
+        final CharSequence summary = context.getText(
+                R.string.accessibility_shortcut_edit_dialog_summary_hardware);
+        setupShortcutWidget(dialogView, title, summary,
+                R.drawable.accessibility_shortcut_type_hardware);
+        // TODO(b/142531156): Use vector drawable instead of temporal png file to avoid distorted.
+    }
+
+    private static void initMagnifyShortcut(Context context, View view) {
+        final View dialogView = view.findViewById(R.id.triple_tap_shortcut);
+        final CharSequence title = context.getText(
+                R.string.accessibility_shortcut_edit_dialog_title_triple_tap);
+        final CharSequence summary = context.getText(
+                R.string.accessibility_shortcut_edit_dialog_summary_triple_tap);
+        setupShortcutWidget(dialogView, title, summary,
+                R.drawable.accessibility_shortcut_type_triple_tap);
+        // TODO(b/142531156): Use vector drawable instead of temporal png file to avoid distorted.
+    }
+
+    private static void initAdvancedWidget(View view) {
+        final LinearLayout advanced = view.findViewById(R.id.advanced_shortcut);
+        final View tripleTap = view.findViewById(R.id.triple_tap_shortcut);
+        advanced.setOnClickListener((View v) -> {
+            advanced.setVisibility(View.GONE);
+            tripleTap.setVisibility(View.VISIBLE);
+        });
+    }
+
+    private static CharSequence retrieveTitle(Context context) {
+        int resId = R.string.accessibility_shortcut_edit_dialog_title_software;
+        if (AccessibilityUtil.isGestureNavigateEnabled(context)) {
+            resId = AccessibilityUtil.isTouchExploreEnabled(context)
+                    ? R.string.accessibility_shortcut_edit_dialog_title_software_gesture_talkback
+                    : R.string.accessibility_shortcut_edit_dialog_title_software_gesture;
+        }
+        return context.getText(resId);
+    }
+
+    private static CharSequence retrieveSummary(Context context, int lineHeight) {
+        if (AccessibilityUtil.isGestureNavigateEnabled(context)) {
+            final int resId = AccessibilityUtil.isTouchExploreEnabled(context)
+                    ? R.string.accessibility_shortcut_edit_dialog_summary_software_gesture_talkback
+                    : R.string.accessibility_shortcut_edit_dialog_summary_software_gesture;
+            return context.getText(resId);
+        }
+        return getSummaryStringWithIcon(context, lineHeight);
+    }
+
+    private static int retrieveImageResId(Context context) {
+        // TODO(b/142531156): Use vector drawable instead of temporal png file to avoid distorted.
+        int resId = R.drawable.accessibility_shortcut_type_software;
+        if (AccessibilityUtil.isGestureNavigateEnabled(context)) {
+            resId = AccessibilityUtil.isTouchExploreEnabled(context)
+                    ? R.drawable.accessibility_shortcut_type_software_gesture_talkback
+                    : R.drawable.accessibility_shortcut_type_software_gesture;
+        }
+        return resId;
+    }
+
+    private static SpannableString getSummaryStringWithIcon(Context context, int lineHeight) {
+        final String summary = context
+                .getString(R.string.accessibility_shortcut_edit_dialog_summary_software);
+        final SpannableString spannableMessage = SpannableString.valueOf(summary);
+
+        // Icon
+        final int indexIconStart = summary.indexOf("%s");
+        final int indexIconEnd = indexIconStart + 2;
+        final Drawable icon = context.getDrawable(R.drawable.ic_accessibility_new);
+        final ImageSpan imageSpan = new ImageSpan(icon);
+        imageSpan.setContentDescription("");
+        icon.setBounds(0, 0, lineHeight, lineHeight);
+        spannableMessage.setSpan(
+                imageSpan, indexIconStart, indexIconEnd,
+                Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
+
+        return spannableMessage;
+    }
+
+    /**
+     * Returns the color associated with the specified attribute in the context's theme.
+     */
+    @ColorInt
+    private static int getThemeAttrColor(final Context context, final int attributeColor) {
+        final int colorResId = getAttrResourceId(context, attributeColor);
+        return ContextCompat.getColor(context, colorResId);
+    }
+
+    /**
+     * Returns the identifier of the resolved resource assigned to the given attribute.
+     */
+    private static int getAttrResourceId(final Context context, final int attributeColor) {
+        final int[] attrs = {attributeColor};
+        final TypedArray typedArray = context.obtainStyledAttributes(attrs);
+        final int colorResId = typedArray.getResourceId(0, 0);
+        typedArray.recycle();
+        return colorResId;
+    }
+}
diff --git a/src/com/android/settings/accessibility/AccessibilityGestureNavigationTutorial.java b/src/com/android/settings/accessibility/AccessibilityGestureNavigationTutorial.java
index 8c0bdab..ddf7bd4 100644
--- a/src/com/android/settings/accessibility/AccessibilityGestureNavigationTutorial.java
+++ b/src/com/android/settings/accessibility/AccessibilityGestureNavigationTutorial.java
@@ -16,8 +16,6 @@
 
 package com.android.settings.accessibility;
 
-import static android.view.WindowManagerPolicyConstants.NAV_BAR_MODE_GESTURAL;
-
 import android.content.Context;
 import android.content.DialogInterface;
 import android.content.res.TypedArray;
@@ -29,7 +27,6 @@
 import android.view.TextureView;
 import android.view.View;
 import android.view.Window;
-import android.view.accessibility.AccessibilityManager;
 import android.widget.TextView;
 
 import androidx.annotation.ColorInt;
@@ -83,7 +80,7 @@
         final AlertDialog alertDialog = createDialog(context,
                 DialogType.LAUNCH_SERVICE_BY_ACCESSIBILITY_BUTTON);
 
-        if (!isGestureNavigateEnabled(context)) {
+        if (!AccessibilityUtil.isGestureNavigateEnabled(context)) {
             updateMessageWithIcon(context, alertDialog);
         }
 
@@ -119,13 +116,13 @@
                         R.id.gesture_tutorial_video);
                 final TextView gestureTutorialMessage = content.findViewById(
                         R.id.gesture_tutorial_message);
-                VideoPlayer.create(context, isTouchExploreOn(context)
+                VideoPlayer.create(context, AccessibilityUtil.isTouchExploreEnabled(context)
                                 ? R.raw.illustration_accessibility_gesture_three_finger
                                 : R.raw.illustration_accessibility_gesture_two_finger,
                         gestureTutorialVideo);
-                gestureTutorialMessage.setText(isTouchExploreOn(context)
-                        ? R.string.accessibility_tutorial_dialog_message_gesture_with_talkback
-                        : R.string.accessibility_tutorial_dialog_message_gesture_without_talkback);
+                gestureTutorialMessage.setText(AccessibilityUtil.isTouchExploreEnabled(context)
+                        ? R.string.accessibility_tutorial_dialog_message_gesture_talkback
+                        : R.string.accessibility_tutorial_dialog_message_gesture);
                 break;
             case DialogType.GESTURE_NAVIGATION_SETTINGS:
                 content = inflater.inflate(
@@ -134,14 +131,14 @@
                         R.id.gesture_tutorial_video);
                 final TextView gestureSettingsTutorialMessage = content.findViewById(
                         R.id.gesture_tutorial_message);
-                VideoPlayer.create(context, isTouchExploreOn(context)
+                VideoPlayer.create(context, AccessibilityUtil.isTouchExploreEnabled(context)
                                 ? R.raw.illustration_accessibility_gesture_three_finger
                                 : R.raw.illustration_accessibility_gesture_two_finger,
                         gestureSettingsTutorialVideo);
-                gestureSettingsTutorialMessage.setText(isTouchExploreOn(context)
-                        ?
-                        R.string.accessibility_tutorial_dialog_message_gesture_settings_with_talkback
-                        : R.string.accessibility_tutorial_dialog_message_gesture_settings_without_talkback);
+                final int stringResId = AccessibilityUtil.isTouchExploreEnabled(context)
+                        ? R.string.accessibility_tutorial_dialog_message_gesture_settings_talkback
+                        : R.string.accessibility_tutorial_dialog_message_gesture_settings;
+                gestureSettingsTutorialMessage.setText(stringResId);
                 break;
         }
 
@@ -179,10 +176,11 @@
         final int indexIconStart = messageString.indexOf("%s");
         final int indexIconEnd = indexIconStart + 2;
         final Drawable icon = context.getDrawable(R.drawable.ic_accessibility_new);
-        icon.setTint(getThemeAttrColor(context, android.R.attr.textColorPrimary));
+        final ImageSpan imageSpan = new ImageSpan(icon);
+        imageSpan.setContentDescription("");
         icon.setBounds(0, 0, lineHeight, lineHeight);
         spannableMessage.setSpan(
-                new ImageSpan(icon), indexIconStart, indexIconEnd,
+                imageSpan, indexIconStart, indexIconEnd,
                 Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
 
         return spannableMessage;
@@ -203,15 +201,4 @@
         typedArray.recycle();
         return colorResId;
     }
-
-    private static boolean isGestureNavigateEnabled(Context context) {
-        return context.getResources().getInteger(
-                com.android.internal.R.integer.config_navBarInteractionMode)
-                == NAV_BAR_MODE_GESTURAL;
-    }
-
-    private static boolean isTouchExploreOn(Context context) {
-        return ((AccessibilityManager) context.getSystemService(Context.ACCESSIBILITY_SERVICE))
-                .isTouchExplorationEnabled();
-    }
-}
\ No newline at end of file
+}
diff --git a/src/com/android/settings/accessibility/AccessibilityHearingAidPreferenceController.java b/src/com/android/settings/accessibility/AccessibilityHearingAidPreferenceController.java
index 641d8ca..8f0ca3e 100644
--- a/src/com/android/settings/accessibility/AccessibilityHearingAidPreferenceController.java
+++ b/src/com/android/settings/accessibility/AccessibilityHearingAidPreferenceController.java
@@ -31,9 +31,6 @@
 
 import androidx.annotation.VisibleForTesting;
 import androidx.fragment.app.FragmentManager;
-import androidx.lifecycle.Lifecycle.Event;
-import androidx.lifecycle.LifecycleObserver;
-import androidx.lifecycle.OnLifecycleEvent;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
@@ -43,6 +40,9 @@
 import com.android.settings.core.SubSettingLauncher;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
 import com.android.settingslib.bluetooth.LocalBluetoothManager;
+import com.android.settingslib.core.lifecycle.LifecycleObserver;
+import com.android.settingslib.core.lifecycle.events.OnStart;
+import com.android.settingslib.core.lifecycle.events.OnStop;
 
 import java.util.Iterator;
 import java.util.List;
@@ -53,7 +53,7 @@
  * Controller that shows and updates the bluetooth device name
  */
 public class AccessibilityHearingAidPreferenceController extends BasePreferenceController
-        implements LifecycleObserver {
+        implements LifecycleObserver, OnStart, OnStop {
     private static final String TAG = "AccessibilityHearingAidPreferenceController";
     private Preference mHearingAidPreference;
 
@@ -104,8 +104,8 @@
         return mHearingAidProfileSupported ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
     }
 
-    @OnLifecycleEvent(Event.ON_RESUME)
-    public void onResume() {
+    @Override
+    public void onStart() {
         if (mHearingAidProfileSupported) {
             IntentFilter filter = new IntentFilter();
             filter.addAction(BluetoothHearingAid.ACTION_CONNECTION_STATE_CHANGED);
@@ -114,8 +114,8 @@
         }
     }
 
-    @OnLifecycleEvent(Event.ON_PAUSE)
-    public void onPause() {
+    @Override
+    public void onStop() {
         if (mHearingAidProfileSupported) {
             mContext.unregisterReceiver(mHearingAidChangedReceiver);
         }
diff --git a/src/com/android/settings/accessibility/AccessibilityServiceWarning.java b/src/com/android/settings/accessibility/AccessibilityServiceWarning.java
index 40ac641..2206e81 100644
--- a/src/com/android/settings/accessibility/AccessibilityServiceWarning.java
+++ b/src/com/android/settings/accessibility/AccessibilityServiceWarning.java
@@ -19,9 +19,9 @@
 import static android.view.WindowManager.LayoutParams.SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS;
 
 import android.accessibilityservice.AccessibilityServiceInfo;
-import android.app.Activity;
 import android.app.Dialog;
 import android.content.Context;
+import android.content.DialogInterface;
 import android.graphics.drawable.Drawable;
 import android.os.storage.StorageManager;
 import android.text.BidiFormatter;
@@ -60,10 +60,11 @@
         return false;
     };
 
-    public static Dialog createCapabilitiesDialog(Activity parentActivity,
+    /** Returns a {@link Dialog} to be shown to confirm that they want to enable a service. */
+    public static Dialog createCapabilitiesDialog(Context context,
             AccessibilityServiceInfo info, View.OnClickListener listener) {
-        final AlertDialog ad = new AlertDialog.Builder(parentActivity)
-                .setView(createEnableDialogContentView(parentActivity, info, listener))
+        final AlertDialog ad = new AlertDialog.Builder(context)
+                .setView(createEnableDialogContentView(context, info, listener))
                 .create();
 
         Window window = ad.getWindow();
@@ -76,18 +77,8 @@
         return ad;
     }
 
-    public static Dialog createDisableDialog(Activity parentActivity,
-            AccessibilityServiceInfo info, View.OnClickListener listener) {
-        final AlertDialog ad = new AlertDialog.Builder(parentActivity)
-                .setView(createDisableDialogContentView(parentActivity, info, listener))
-                .setCancelable(true)
-                .create();
-
-        return ad;
-    }
-
     /**
-     * Return whether the device is encrypted with legacy full disk encryption. Newer devices
+     * Returns whether the device is encrypted with legacy full disk encryption. Newer devices
      * should be using File Based Encryption.
      *
      * @return true if device is encrypted
@@ -96,13 +87,6 @@
         return StorageManager.isNonDefaultBlockEncrypted();
     }
 
-    /**
-     * Get a content View for a dialog to confirm that they want to enable a service.
-     *
-     * @param context A valid context
-     * @param info The info about a service
-     * @return A content view suitable for viewing
-     */
     private static View createEnableDialogContentView(Context context,
             AccessibilityServiceInfo info, View.OnClickListener listener) {
         LayoutInflater inflater = (LayoutInflater) context.getSystemService(
@@ -148,31 +132,21 @@
         return content;
     }
 
-    private static View createDisableDialogContentView(Context context,
-            AccessibilityServiceInfo info, View.OnClickListener listener) {
-        LayoutInflater inflater = (LayoutInflater) context.getSystemService(
-                Context.LAYOUT_INFLATER_SERVICE);
+    /** Returns a {@link Dialog} to be shown to confirm that they want to disable a service. */
+    public static Dialog createDisableDialog(Context context,
+            AccessibilityServiceInfo info, DialogInterface.OnClickListener listener) {
+        final AlertDialog dialog = new AlertDialog.Builder(context)
+                .setTitle(context.getString(R.string.disable_service_title,
+                        info.getResolveInfo().loadLabel(context.getPackageManager())))
+                .setMessage(context.getString(R.string.disable_service_message,
+                        context.getString(R.string.accessibility_dialog_button_stop),
+                        getServiceName(context, info)))
+                .setCancelable(true)
+                .setPositiveButton(R.string.accessibility_dialog_button_stop, listener)
+                .setNegativeButton(R.string.accessibility_dialog_button_cancel, listener)
+                .create();
 
-        View content = inflater.inflate(R.layout.disable_accessibility_service_dialog_content,
-                null);
-
-        TextView permissionDialogTitle = content.findViewById(R.id.permissionDialog_disable_title);
-        permissionDialogTitle.setText(context.getString(R.string.disable_service_title,
-                getServiceName(context, info)));
-        TextView permissionDialogMessage = content
-                .findViewById(R.id.permissionDialog_disable_message);
-        permissionDialogMessage.setText(context.getString(R.string.disable_service_message,
-                context.getString(R.string.accessibility_dialog_button_stop),
-                getServiceName(context, info)));
-
-        Button permissionAllowButton = content.findViewById(
-                R.id.permission_disable_stop_button);
-        Button permissionDenyButton = content.findViewById(
-                R.id.permission_disable_cancel_button);
-        permissionAllowButton.setOnClickListener(listener);
-        permissionDenyButton.setOnClickListener(listener);
-
-        return content;
+        return dialog;
     }
 
     // Get the service name and bidi wrap it to protect from bidi side effects.
diff --git a/src/com/android/settings/accessibility/AccessibilitySettings.java b/src/com/android/settings/accessibility/AccessibilitySettings.java
index 3d1e946..1e3944e 100644
--- a/src/com/android/settings/accessibility/AccessibilitySettings.java
+++ b/src/com/android/settings/accessibility/AccessibilitySettings.java
@@ -16,52 +16,42 @@
 
 package com.android.settings.accessibility;
 
-import static android.os.Vibrator.VibrationIntensity;
-
 import static com.android.settingslib.TwoTargetPreference.ICON_SIZE_MEDIUM;
 
 import android.accessibilityservice.AccessibilityServiceInfo;
+import android.accessibilityservice.AccessibilityShortcutInfo;
 import android.app.admin.DevicePolicyManager;
 import android.app.settings.SettingsEnums;
 import android.content.ComponentName;
-import android.content.ContentResolver;
 import android.content.Context;
+import android.content.pm.ActivityInfo;
+import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
 import android.content.pm.ServiceInfo;
-import android.content.res.Resources;
 import android.graphics.drawable.Drawable;
 import android.hardware.display.ColorDisplayManager;
 import android.net.Uri;
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.UserHandle;
-import android.os.Vibrator;
-import android.provider.DeviceConfig;
-import android.provider.SearchIndexableResource;
 import android.provider.Settings;
 import android.text.TextUtils;
 import android.util.ArrayMap;
-import android.view.KeyCharacterMap;
-import android.view.KeyEvent;
 import android.view.accessibility.AccessibilityManager;
 
 import androidx.annotation.VisibleForTesting;
 import androidx.core.content.ContextCompat;
-import androidx.preference.ListPreference;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceCategory;
-import androidx.preference.PreferenceScreen;
 import androidx.preference.SwitchPreference;
 
 import com.android.internal.accessibility.AccessibilityShortcutController;
 import com.android.internal.content.PackageMonitor;
-import com.android.internal.view.RotationPolicy;
-import com.android.internal.view.RotationPolicy.RotationPolicyListener;
 import com.android.settings.R;
-import com.android.settings.SettingsPreferenceFragment;
 import com.android.settings.Utils;
+import com.android.settings.accessibility.AccessibilityUtil.AccessibilityServiceFragmentType;
+import com.android.settings.dashboard.DashboardFragment;
 import com.android.settings.display.DarkUIPreferenceController;
-import com.android.settings.display.ToggleFontSizePreferenceFragment;
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
 import com.android.settingslib.RestrictedLockUtilsInternal;
@@ -69,11 +59,8 @@
 import com.android.settingslib.accessibility.AccessibilityUtils;
 import com.android.settingslib.search.SearchIndexable;
 
-import com.google.common.primitives.Ints;
-
 import java.util.ArrayList;
 import java.util.Collection;
-import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -82,8 +69,9 @@
  * Activity with the accessibility settings.
  */
 @SearchIndexable
-public class AccessibilitySettings extends SettingsPreferenceFragment implements
-        Preference.OnPreferenceChangeListener {
+public class AccessibilitySettings extends DashboardFragment {
+
+    private static final String TAG = "AccessibilitySettings";
 
     // Index of the first preference in a preference category.
     private static final int FIRST_PREFERENCE_IN_CATEGORY_INDEX = -1;
@@ -102,45 +90,15 @@
     };
 
     // Preferences
-    private static final String TOGGLE_HIGH_TEXT_CONTRAST_PREFERENCE =
-            "toggle_high_text_contrast_preference";
     private static final String TOGGLE_INVERSION_PREFERENCE =
             "toggle_inversion_preference";
-    private static final String TOGGLE_POWER_BUTTON_ENDS_CALL_PREFERENCE =
-            "toggle_power_button_ends_call_preference";
-    private static final String TOGGLE_LOCK_SCREEN_ROTATION_PREFERENCE =
-            "toggle_lock_screen_rotation_preference";
     private static final String TOGGLE_LARGE_POINTER_ICON =
             "toggle_large_pointer_icon";
     private static final String TOGGLE_DISABLE_ANIMATIONS = "toggle_disable_animations";
-    private static final String TOGGLE_MASTER_MONO =
-            "toggle_master_mono";
-    private static final String SELECT_LONG_PRESS_TIMEOUT_PREFERENCE =
-            "select_long_press_timeout_preference";
-    private static final String ACCESSIBILITY_SHORTCUT_PREFERENCE =
-            "accessibility_shortcut_preference";
-    private static final String HEARING_AID_PREFERENCE =
-            "hearing_aid_preference";
-    private static final String RTT_SETTINGS_SCREEN = "rtt_setting";
-    private static final String CAPTIONING_PREFERENCE_SCREEN =
-            "captioning_preference_screen";
     private static final String DISPLAY_MAGNIFICATION_PREFERENCE_SCREEN =
             "magnification_preference_screen";
-    private static final String FONT_SIZE_PREFERENCE_SCREEN =
-            "font_size_preference_screen";
-    private static final String AUTOCLICK_PREFERENCE_SCREEN =
-            "autoclick_preference";
-    private static final String VIBRATION_PREFERENCE_SCREEN =
-            "vibration_preference_screen";
     private static final String DISPLAY_DALTONIZER_PREFERENCE_SCREEN =
             "daltonizer_preference";
-    private static final String ACCESSIBILITY_CONTROL_TIMEOUT_PREFERENCE =
-            "accessibility_control_timeout_preference_fragment";
-    private static final String DARK_UI_MODE_PREFERENCE =
-            "dark_ui_mode_accessibility";
-    private static final String LIVE_CAPTION_PREFERENCE_KEY =
-            "live_caption";
-
 
     // Extras passed to sub-fragments.
     static final String EXTRA_PREFERENCE_KEY = "preference_key";
@@ -155,6 +113,8 @@
     static final String EXTRA_SETTINGS_COMPONENT_NAME = "settings_component_name";
     static final String EXTRA_VIDEO_RAW_RESOURCE_ID = "video_resource";
     static final String EXTRA_LAUNCHED_FROM_SUW = "from_suw";
+    static final String EXTRA_ANIMATED_IMAGE_RES = "animated_image_res";
+    static final String EXTRA_HTML_DESCRIPTION = "html_description";
 
     // Timeout before we update the services if packages are added/removed
     // since the AccessibilityManagerService has to do that processing first
@@ -162,18 +122,6 @@
     // presentation.
     private static final long DELAY_UPDATE_SERVICES_MILLIS = 1000;
 
-    // Settings that should be changed when toggling animations
-    private static final String[] TOGGLE_ANIMATION_TARGETS = {
-            Settings.Global.WINDOW_ANIMATION_SCALE, Settings.Global.TRANSITION_ANIMATION_SCALE,
-            Settings.Global.ANIMATOR_DURATION_SCALE
-    };
-    private static final String ANIMATION_ON_VALUE = "1";
-    private static final String ANIMATION_OFF_VALUE = "0";
-
-    static final String RAMPING_RINGER_ENABLED = "ramping_ringer_enabled";
-
-    private final Map<String, String> mLongPressTimeoutValueToTitleMap = new HashMap<>();
-
     private final Handler mHandler = new Handler();
 
     private final Runnable mUpdateRunnable = new Runnable() {
@@ -213,13 +161,6 @@
 
     private final SettingsContentObserver mSettingsContentObserver;
 
-    private final RotationPolicyListener mRotationPolicyListener = new RotationPolicyListener() {
-        @Override
-        public void onChange() {
-            updateLockScreenRotationCheckbox();
-        }
-    };
-
     private final Map<String, PreferenceCategory> mCategoryToPrefCategoryMap =
             new ArrayMap<>();
     private final Map<Preference, PreferenceCategory> mServicePreferenceToPreferenceCategoryMap =
@@ -227,34 +168,11 @@
     private final Map<ComponentName, PreferenceCategory> mPreBundledServiceComponentToCategoryMap =
             new ArrayMap<>();
 
-    private SwitchPreference mToggleHighTextContrastPreference;
-    private SwitchPreference mTogglePowerButtonEndsCallPreference;
-    private SwitchPreference mToggleLockScreenRotationPreference;
     private SwitchPreference mToggleLargePointerIconPreference;
     private SwitchPreference mToggleDisableAnimationsPreference;
-    private SwitchPreference mToggleMasterMonoPreference;
-    private ListPreference mSelectLongPressTimeoutPreference;
-    private Preference mCaptioningPreferenceScreen;
     private Preference mDisplayMagnificationPreferenceScreen;
-    private Preference mFontSizePreferenceScreen;
-    private Preference mAutoclickPreferenceScreen;
-    private Preference mAccessibilityShortcutPreferenceScreen;
     private Preference mDisplayDaltonizerPreferenceScreen;
-    private Preference mHearingAidPreference;
-    private Preference mRTTPreference;
-    private Preference mVibrationPreferenceScreen;
-    private Preference mLiveCaptionPreference;
-    private SwitchPreference mToggleInversionPreference;
-    private ColorInversionPreferenceController mInversionPreferenceController;
-    private AccessibilityHearingAidPreferenceController mHearingAidPreferenceController;
-    private SwitchPreference mDarkUIModePreference;
-    private DarkUIPreferenceController mDarkUIPreferenceController;
-    private LiveCaptionPreferenceController mLiveCaptionPreferenceController;
-    private RTTSettingPreferenceController mRTTSettingPreferenceController;
-
-    private int mLongPressTimeoutDefault;
-
-    private DevicePolicyManager mDpm;
+    private Preference mToggleInversionPreference;
 
     /**
      * Check if the color transforms are color accelerated. Some transforms are experimental only
@@ -275,6 +193,10 @@
         for (AccessibilityShortcutController.ToggleableFrameworkFeatureInfo feature : features) {
             shortcutFeatureKeys.add(feature.getSettingKey());
         }
+
+        // Observe changes from accessibility selection menu
+        shortcutFeatureKeys.add(Settings.Secure.ACCESSIBILITY_BUTTON_TARGET_COMPONENT);
+        shortcutFeatureKeys.add(Settings.Secure.ACCESSIBILITY_SHORTCUT_TARGET_SERVICE);
         mSettingsContentObserver = new SettingsContentObserver(mHandler, shortcutFeatureKeys) {
             @Override
             public void onChange(boolean selfChange, Uri uri) {
@@ -296,257 +218,130 @@
     @Override
     public void onCreate(Bundle icicle) {
         super.onCreate(icicle);
-        addPreferencesFromResource(R.xml.accessibility_settings);
         initializeAllPreferences();
-        mDpm = (DevicePolicyManager) (getActivity()
-                .getSystemService(Context.DEVICE_POLICY_SERVICE));
     }
 
     @Override
     public void onAttach(Context context) {
         super.onAttach(context);
-        mHearingAidPreferenceController = new AccessibilityHearingAidPreferenceController
-                (context, HEARING_AID_PREFERENCE);
-        mHearingAidPreferenceController.setFragmentManager(getFragmentManager());
-        getLifecycle().addObserver(mHearingAidPreferenceController);
-
-        mLiveCaptionPreferenceController = new LiveCaptionPreferenceController(context,
-                LIVE_CAPTION_PREFERENCE_KEY);
-        mRTTSettingPreferenceController =
-                new RTTSettingPreferenceController(context, RTT_SETTINGS_SCREEN);
-
+        use(DarkUIPreferenceController.class).setParentFragment(this);
+        use(AccessibilityHearingAidPreferenceController.class)
+                .setFragmentManager(getFragmentManager());
     }
 
     @Override
-    public void onResume() {
-        super.onResume();
+    public void onStart() {
+        super.onStart();
         updateAllPreferences();
 
         mSettingsPackageMonitor.register(getActivity(), getActivity().getMainLooper(), false);
         mSettingsContentObserver.register(getContentResolver());
-        if (RotationPolicy.isRotationSupported(getActivity())) {
-            RotationPolicy.registerRotationPolicyListener(getActivity(),
-                    mRotationPolicyListener);
-        }
     }
 
     @Override
-    public void onPause() {
+    public void onStop() {
         mSettingsPackageMonitor.unregister();
         mSettingsContentObserver.unregister(getContentResolver());
-        if (RotationPolicy.isRotationSupported(getActivity())) {
-            RotationPolicy.unregisterRotationPolicyListener(getActivity(),
-                    mRotationPolicyListener);
-        }
-        super.onPause();
+        super.onStop();
     }
 
     @Override
-    public boolean onPreferenceChange(Preference preference, Object newValue) {
-        if (mSelectLongPressTimeoutPreference == preference) {
-            handleLongPressTimeoutPreferenceChange((String) newValue);
-            return true;
-        }
-        return false;
-    }
-
-    private void handleLongPressTimeoutPreferenceChange(String stringValue) {
-        Settings.Secure.putInt(getContentResolver(),
-                Settings.Secure.LONG_PRESS_TIMEOUT, Integer.parseInt(stringValue));
-        mSelectLongPressTimeoutPreference.setSummary(
-                mLongPressTimeoutValueToTitleMap.get(stringValue));
+    protected int getPreferenceScreenResId() {
+        return R.xml.accessibility_settings;
     }
 
     @Override
-    public boolean onPreferenceTreeClick(Preference preference) {
-        if (mToggleHighTextContrastPreference == preference) {
-            handleToggleTextContrastPreferenceClick();
-            return true;
-        } else if (mTogglePowerButtonEndsCallPreference == preference) {
-            handleTogglePowerButtonEndsCallPreferenceClick();
-            return true;
-        } else if (mToggleLockScreenRotationPreference == preference) {
-            handleLockScreenRotationPreferenceClick();
-            return true;
-        } else if (mToggleLargePointerIconPreference == preference) {
-            handleToggleLargePointerIconPreferenceClick();
-            return true;
-        } else if (mToggleDisableAnimationsPreference == preference) {
-            handleToggleDisableAnimations();
-            return true;
-        } else if (mToggleMasterMonoPreference == preference) {
-            handleToggleMasterMonoPreferenceClick();
-            return true;
-        } else if (mHearingAidPreferenceController.handlePreferenceTreeClick(preference)) {
-            return true;
-        }
-        return super.onPreferenceTreeClick(preference);
+    protected String getLogTag() {
+        return TAG;
     }
 
-    public static CharSequence getServiceSummary(Context context, AccessibilityServiceInfo info,
+    /**
+     * Returns the summary for the current state of this accessibilityService.
+     *
+     * @param context A valid context
+     * @param info The accessibilityService's info
+     * @param serviceEnabled Whether the accessibility service is enabled.
+     * @return The service summary
+     */
+    @VisibleForTesting
+    static CharSequence getServiceSummary(Context context, AccessibilityServiceInfo info,
             boolean serviceEnabled) {
-        final String serviceState = serviceEnabled
-                ? context.getString(R.string.accessibility_summary_state_enabled)
-                : context.getString(R.string.accessibility_summary_state_disabled);
+        if (serviceEnabled && info.crashed) {
+            return context.getText(R.string.accessibility_summary_state_stopped);
+        }
+
+        final CharSequence serviceState;
+        final int fragmentType = AccessibilityUtil.getAccessibilityServiceFragmentType(info);
+        if (fragmentType == AccessibilityServiceFragmentType.INVISIBLE) {
+            final ComponentName componentName = new ComponentName(
+                    info.getResolveInfo().serviceInfo.packageName,
+                    info.getResolveInfo().serviceInfo.name);
+            final boolean shortcutEnabled = AccessibilityUtil.getUserShortcutTypesFromSettings(
+                    context, componentName) != AccessibilityUtil.UserShortcutType.EMPTY;
+            serviceState = shortcutEnabled
+                    ? context.getText(R.string.accessibility_summary_shortcut_enabled)
+                    : context.getText(R.string.accessibility_summary_shortcut_disabled);
+        } else {
+            serviceState = serviceEnabled
+                    ? context.getText(R.string.accessibility_summary_state_enabled)
+                    : context.getText(R.string.accessibility_summary_state_disabled);
+        }
+
         final CharSequence serviceSummary = info.loadSummary(context.getPackageManager());
         final String stateSummaryCombo = context.getString(
                 R.string.preference_summary_default_combination,
                 serviceState, serviceSummary);
 
-        return (TextUtils.isEmpty(serviceSummary))
-                ? serviceState
-                : stateSummaryCombo;
+        return TextUtils.isEmpty(serviceSummary) ? serviceState : stateSummaryCombo;
     }
 
+    /**
+     * Returns the description for the current state of this accessibilityService.
+     *
+     * @param context A valid context
+     * @param info The accessibilityService's info
+     * @param serviceEnabled Whether the accessibility service is enabled.
+     * @return The service description
+     */
     @VisibleForTesting
-    static boolean isRampingRingerEnabled(final Context context) {
-        return (Settings.Global.getInt(
-                        context.getContentResolver(),
-                        Settings.Global.APPLY_RAMPING_RINGER, 0) == 1)
-                && DeviceConfig.getBoolean(
-                        DeviceConfig.NAMESPACE_TELEPHONY, RAMPING_RINGER_ENABLED, false);
-    }
-
-    private void handleToggleTextContrastPreferenceClick() {
-        Settings.Secure.putInt(getContentResolver(),
-                Settings.Secure.ACCESSIBILITY_HIGH_TEXT_CONTRAST_ENABLED,
-                (mToggleHighTextContrastPreference.isChecked() ? 1 : 0));
-    }
-
-    private void handleTogglePowerButtonEndsCallPreferenceClick() {
-        Settings.Secure.putInt(getContentResolver(),
-                Settings.Secure.INCALL_POWER_BUTTON_BEHAVIOR,
-                (mTogglePowerButtonEndsCallPreference.isChecked()
-                        ? Settings.Secure.INCALL_POWER_BUTTON_BEHAVIOR_HANGUP
-                        : Settings.Secure.INCALL_POWER_BUTTON_BEHAVIOR_SCREEN_OFF));
-    }
-
-    private void handleLockScreenRotationPreferenceClick() {
-        RotationPolicy.setRotationLockForAccessibility(getActivity(),
-                !mToggleLockScreenRotationPreference.isChecked());
-    }
-
-    private void handleToggleLargePointerIconPreferenceClick() {
-        Settings.Secure.putInt(getContentResolver(),
-                Settings.Secure.ACCESSIBILITY_LARGE_POINTER_ICON,
-                mToggleLargePointerIconPreference.isChecked() ? 1 : 0);
-    }
-
-    private void handleToggleDisableAnimations() {
-        String newAnimationValue = mToggleDisableAnimationsPreference.isChecked()
-                ? ANIMATION_OFF_VALUE : ANIMATION_ON_VALUE;
-        for (String animationPreference : TOGGLE_ANIMATION_TARGETS) {
-            Settings.Global.putString(getContentResolver(), animationPreference, newAnimationValue);
+    static CharSequence getServiceDescription(Context context, AccessibilityServiceInfo info,
+            boolean serviceEnabled) {
+        if (serviceEnabled && info.crashed) {
+            return context.getText(R.string.accessibility_description_state_stopped);
         }
+
+        final String description = info.loadDescription(context.getPackageManager());
+
+        return TextUtils.isEmpty(description)
+                ? context.getText(R.string.accessibility_service_default_description)
+                : description;
     }
 
-    private void handleToggleMasterMonoPreferenceClick() {
-        Settings.System.putIntForUser(getContentResolver(), Settings.System.MASTER_MONO,
-                mToggleMasterMonoPreference.isChecked() ? 1 : 0, UserHandle.USER_CURRENT);
+    static boolean isRampingRingerEnabled(final Context context) {
+        return Settings.Global.getInt(
+                context.getContentResolver(), Settings.Global.APPLY_RAMPING_RINGER, 0) == 1;
     }
 
     private void initializeAllPreferences() {
         for (int i = 0; i < CATEGORIES.length; i++) {
-            PreferenceCategory prefCategory = (PreferenceCategory) findPreference(CATEGORIES[i]);
+            PreferenceCategory prefCategory = findPreference(CATEGORIES[i]);
             mCategoryToPrefCategoryMap.put(CATEGORIES[i], prefCategory);
         }
 
-        // Text contrast.
-        mToggleHighTextContrastPreference =
-                (SwitchPreference) findPreference(TOGGLE_HIGH_TEXT_CONTRAST_PREFERENCE);
-
         // Display inversion.
-        mToggleInversionPreference = (SwitchPreference) findPreference(TOGGLE_INVERSION_PREFERENCE);
-        mInversionPreferenceController =
-                new ColorInversionPreferenceController(getContext(), TOGGLE_INVERSION_PREFERENCE);
-        mInversionPreferenceController.displayPreference(getPreferenceScreen());
-
-        // Power button ends calls.
-        mTogglePowerButtonEndsCallPreference =
-                (SwitchPreference) findPreference(TOGGLE_POWER_BUTTON_ENDS_CALL_PREFERENCE);
-        if (!KeyCharacterMap.deviceHasKey(KeyEvent.KEYCODE_POWER)
-                || !Utils.isVoiceCapable(getActivity())) {
-            mCategoryToPrefCategoryMap.get(CATEGORY_INTERACTION_CONTROL)
-                    .removePreference(mTogglePowerButtonEndsCallPreference);
-        }
-
-        // Lock screen rotation.
-        mToggleLockScreenRotationPreference =
-                (SwitchPreference) findPreference(TOGGLE_LOCK_SCREEN_ROTATION_PREFERENCE);
-        if (!RotationPolicy.isRotationSupported(getActivity())) {
-            mCategoryToPrefCategoryMap.get(CATEGORY_INTERACTION_CONTROL)
-                    .removePreference(mToggleLockScreenRotationPreference);
-        }
+        mToggleInversionPreference = findPreference(TOGGLE_INVERSION_PREFERENCE);
 
         // Large pointer icon.
-        mToggleLargePointerIconPreference =
-                (SwitchPreference) findPreference(TOGGLE_LARGE_POINTER_ICON);
+        mToggleLargePointerIconPreference = findPreference(TOGGLE_LARGE_POINTER_ICON);
 
-        mToggleDisableAnimationsPreference =
-                (SwitchPreference) findPreference(TOGGLE_DISABLE_ANIMATIONS);
-
-        // Master Mono
-        mToggleMasterMonoPreference =
-                (SwitchPreference) findPreference(TOGGLE_MASTER_MONO);
-
-        // Long press timeout.
-        mSelectLongPressTimeoutPreference =
-                (ListPreference) findPreference(SELECT_LONG_PRESS_TIMEOUT_PREFERENCE);
-        mSelectLongPressTimeoutPreference.setOnPreferenceChangeListener(this);
-        if (mLongPressTimeoutValueToTitleMap.size() == 0) {
-            String[] timeoutValues = getResources().getStringArray(
-                    R.array.long_press_timeout_selector_values);
-            mLongPressTimeoutDefault = Integer.parseInt(timeoutValues[0]);
-            String[] timeoutTitles = getResources().getStringArray(
-                    R.array.long_press_timeout_selector_titles);
-            final int timeoutValueCount = timeoutValues.length;
-            for (int i = 0; i < timeoutValueCount; i++) {
-                mLongPressTimeoutValueToTitleMap.put(timeoutValues[i], timeoutTitles[i]);
-            }
-        }
-
-        // Hearing Aid.
-        mHearingAidPreference = findPreference(HEARING_AID_PREFERENCE);
-        mHearingAidPreferenceController.displayPreference(getPreferenceScreen());
-
-        // RTT Setting
-        mRTTPreference = findPreference(RTT_SETTINGS_SCREEN);
-        mRTTSettingPreferenceController.displayPreference(getPreferenceScreen());
-
-
-        // Captioning.
-        mCaptioningPreferenceScreen = findPreference(CAPTIONING_PREFERENCE_SCREEN);
-
-        // Live caption
-        mLiveCaptionPreference = findPreference(LIVE_CAPTION_PREFERENCE_KEY);
-        mLiveCaptionPreferenceController.displayPreference(getPreferenceScreen());
+        mToggleDisableAnimationsPreference = findPreference(TOGGLE_DISABLE_ANIMATIONS);
 
         // Display magnification.
         mDisplayMagnificationPreferenceScreen = findPreference(
                 DISPLAY_MAGNIFICATION_PREFERENCE_SCREEN);
-        configureMagnificationPreferenceIfNeeded(mDisplayMagnificationPreferenceScreen);
-
-        // Font size.
-        mFontSizePreferenceScreen = findPreference(FONT_SIZE_PREFERENCE_SCREEN);
-
-        // Autoclick after pointer stops.
-        mAutoclickPreferenceScreen = findPreference(AUTOCLICK_PREFERENCE_SCREEN);
 
         // Display color adjustments.
         mDisplayDaltonizerPreferenceScreen = findPreference(DISPLAY_DALTONIZER_PREFERENCE_SCREEN);
-
-        // Accessibility shortcut.
-        mAccessibilityShortcutPreferenceScreen = findPreference(ACCESSIBILITY_SHORTCUT_PREFERENCE);
-
-        // Vibrations.
-        mVibrationPreferenceScreen = findPreference(VIBRATION_PREFERENCE_SCREEN);
-
-        // Dark Mode.
-        mDarkUIModePreference = findPreference(DARK_UI_MODE_PREFERENCE);
-        mDarkUIPreferenceController = new DarkUIPreferenceController(getContext(),
-                DARK_UI_MODE_PREFERENCE);
-        mDarkUIPreferenceController.setParentFragment(this);
-        mDarkUIPreferenceController.displayPreference(getPreferenceScreen());
     }
 
     private void updateAllPreferences() {
@@ -558,9 +353,7 @@
         // Since services category is auto generated we have to do a pass
         // to generate it since services can come and go and then based on
         // the global accessibility state to decided whether it is enabled.
-
-        // Generate.
-        ArrayList<Preference> servicePreferences =
+        final ArrayList<Preference> servicePreferences =
                 new ArrayList<>(mServicePreferenceToPreferenceCategoryMap.keySet());
         for (int i = 0; i < servicePreferences.size(); i++) {
             Preference service = servicePreferences.get(i);
@@ -577,106 +370,21 @@
         initializePreBundledServicesMapFromArray(CATEGORY_INTERACTION_CONTROL,
                 R.array.config_preinstalled_interaction_control_services);
 
-        AccessibilityManager accessibilityManager = AccessibilityManager.getInstance(getActivity());
+        final List<RestrictedPreference> preferenceList = getInstalledAccessibilityList(
+                getPrefContext());
 
-        List<AccessibilityServiceInfo> installedServices =
-                accessibilityManager.getInstalledAccessibilityServiceList();
-        List<AccessibilityServiceInfo> enabledServiceInfos = accessibilityManager
-                .getEnabledAccessibilityServiceList(AccessibilityServiceInfo.FEEDBACK_ALL_MASK);
-        Set<ComponentName> enabledServices = AccessibilityUtils.getEnabledServicesFromSettings(
-                getActivity());
-        List<String> permittedServices = mDpm.getPermittedAccessibilityServices(
-                UserHandle.myUserId());
-
-        PreferenceCategory downloadedServicesCategory =
+        final PreferenceCategory downloadedServicesCategory =
                 mCategoryToPrefCategoryMap.get(CATEGORY_DOWNLOADED_SERVICES);
-        // Temporarily add the downloaded services category back if it was previously removed.
-        if (findPreference(CATEGORY_DOWNLOADED_SERVICES) == null) {
-            getPreferenceScreen().addPreference(downloadedServicesCategory);
-        }
 
-        for (int i = 0, count = installedServices.size(); i < count; ++i) {
-            final AccessibilityServiceInfo info = installedServices.get(i);
-            final ResolveInfo resolveInfo = info.getResolveInfo();
-
-            final RestrictedPreference preference =
-                    new RestrictedPreference(downloadedServicesCategory.getContext());
-            final String title = resolveInfo.loadLabel(getPackageManager()).toString();
-
-            Drawable icon;
-            if (resolveInfo.getIconResource() == 0) {
-                icon = ContextCompat.getDrawable(getContext(), R.drawable.ic_accessibility_generic);
-            } else {
-                icon = resolveInfo.loadIcon(getPackageManager());
-            }
-
-            final ServiceInfo serviceInfo = resolveInfo.serviceInfo;
-            final String packageName = serviceInfo.packageName;
-            final ComponentName componentName = new ComponentName(packageName, serviceInfo.name);
-
-            preference.setKey(componentName.flattenToString());
-
-            preference.setTitle(title);
-            preference.setIconSize(ICON_SIZE_MEDIUM);
-            Utils.setSafeIcon(preference, icon);
-            final boolean serviceEnabled = enabledServices.contains(componentName);
-            String description = info.loadDescription(getPackageManager());
-            if (TextUtils.isEmpty(description)) {
-                description = getString(R.string.accessibility_service_default_description);
-            }
-
-            if (serviceEnabled && AccessibilityUtils.hasServiceCrashed(
-                    packageName, serviceInfo.name, enabledServiceInfos)) {
-                // Update the summaries for services that have crashed.
-                preference.setSummary(R.string.accessibility_summary_state_stopped);
-                description = getString(R.string.accessibility_description_state_stopped);
-            } else {
-                final CharSequence serviceSummary = getServiceSummary(getContext(), info,
-                        serviceEnabled);
-                preference.setSummary(serviceSummary);
-            }
-
-            // Disable all accessibility services that are not permitted.
-            final boolean serviceAllowed =
-                    permittedServices == null || permittedServices.contains(packageName);
-            if (!serviceAllowed && !serviceEnabled) {
-                final EnforcedAdmin admin =
-                        RestrictedLockUtilsInternal.checkIfAccessibilityServiceDisallowed(
-                                getActivity(), packageName, UserHandle.myUserId());
-                if (admin != null) {
-                    preference.setDisabledByAdmin(admin);
-                } else {
-                    preference.setEnabled(false);
-                }
-            } else {
-                preference.setEnabled(true);
-            }
-
-            preference.setFragment(ToggleAccessibilityServicePreferenceFragment.class.getName());
-            preference.setPersistent(true);
-
-            final Bundle extras = preference.getExtras();
-            extras.putString(EXTRA_PREFERENCE_KEY, preference.getKey());
-            extras.putBoolean(EXTRA_CHECKED, serviceEnabled);
-            extras.putString(EXTRA_TITLE, title);
-            extras.putParcelable(EXTRA_RESOLVE_INFO, resolveInfo);
-            extras.putString(EXTRA_SUMMARY, description);
-
-            final String settingsClassName = info.getSettingsActivityName();
-            if (!TextUtils.isEmpty(settingsClassName)) {
-                extras.putString(EXTRA_SETTINGS_TITLE,
-                        getString(R.string.accessibility_menu_item_settings));
-                extras.putString(EXTRA_SETTINGS_COMPONENT_NAME,
-                        new ComponentName(packageName, settingsClassName).flattenToString());
-            }
-            extras.putParcelable(EXTRA_COMPONENT_NAME, componentName);
-
+        for (int i = 0, count = preferenceList.size(); i < count; ++i) {
+            final RestrictedPreference preference = preferenceList.get(i);
+            final ComponentName componentName = preference.getExtras().getParcelable(
+                    EXTRA_COMPONENT_NAME);
             PreferenceCategory prefCategory = downloadedServicesCategory;
             // Set the appropriate category if the service comes pre-installed.
             if (mPreBundledServiceComponentToCategoryMap.containsKey(componentName)) {
                 prefCategory = mPreBundledServiceComponentToCategoryMap.get(componentName);
             }
-            preference.setOrder(FIRST_PREFERENCE_IN_CATEGORY_INDEX);
             prefCategory.addPreference(preference);
             mServicePreferenceToPreferenceCategoryMap.put(preference, prefCategory);
         }
@@ -691,13 +399,60 @@
         updateCategoryOrderFromArray(CATEGORY_DISPLAY,
             R.array.config_order_display_services);
 
-        // If the user has not installed any additional services, hide the category.
+        // Need to check each time when updateServicePreferences() called.
         if (downloadedServicesCategory.getPreferenceCount() == 0) {
-            final PreferenceScreen screen = getPreferenceScreen();
-            screen.removePreference(downloadedServicesCategory);
+            getPreferenceScreen().removePreference(downloadedServicesCategory);
+        } else {
+            getPreferenceScreen().addPreference(downloadedServicesCategory);
         }
     }
 
+    private List<RestrictedPreference> getInstalledAccessibilityList(Context context) {
+        final AccessibilityManager a11yManager = AccessibilityManager.getInstance(context);
+        final RestrictedPreferenceHelper preferenceHelper = new RestrictedPreferenceHelper(context);
+
+        final List<AccessibilityShortcutInfo> installedShortcutList =
+                a11yManager.getInstalledAccessibilityShortcutListAsUser(context,
+                        UserHandle.myUserId());
+
+        // Remove duplicate item here, new a ArrayList to copy unmodifiable list result
+        // (getInstalledAccessibilityServiceList).
+        final List<AccessibilityServiceInfo> installedServiceList = new ArrayList<>(
+                a11yManager.getInstalledAccessibilityServiceList());
+        installedServiceList.removeIf(
+                target -> containsTargetNameInList(installedShortcutList, target));
+
+        final List<RestrictedPreference> activityList =
+                preferenceHelper.createAccessibilityActivityPreferenceList(installedShortcutList);
+
+        final List<RestrictedPreference> serviceList =
+                preferenceHelper.createAccessibilityServicePreferenceList(installedServiceList);
+
+        final List<RestrictedPreference> preferenceList = new ArrayList<>();
+        preferenceList.addAll(activityList);
+        preferenceList.addAll(serviceList);
+
+        return preferenceList;
+    }
+
+    private boolean containsTargetNameInList(List<AccessibilityShortcutInfo> shortcutInfos,
+            AccessibilityServiceInfo targetServiceInfo) {
+        final ServiceInfo serviceInfo = targetServiceInfo.getResolveInfo().serviceInfo;
+        final String servicePackageName = serviceInfo.packageName;
+        final CharSequence serviceLabel = serviceInfo.loadLabel(getPackageManager());
+
+        for (int i = 0, count = shortcutInfos.size(); i < count; ++i) {
+            final ActivityInfo activityInfo = shortcutInfos.get(i).getActivityInfo();
+            final String activityPackageName = activityInfo.packageName;
+            final CharSequence activityLabel = activityInfo.loadLabel(getPackageManager());
+            if (servicePackageName.equals(activityPackageName)
+                    && serviceLabel.equals(activityLabel)) {
+                return true;
+            }
+        }
+        return false;
+    }
+
     private void initializePreBundledServicesMapFromArray(String categoryKey, int key) {
         String[] services = getResources().getStringArray(key);
         PreferenceCategory category = mCategoryToPrefCategoryMap.get(categoryKey);
@@ -740,289 +495,259 @@
                     mCategoryToPrefCategoryMap.get(CATEGORY_DISPLAY);
             experimentalCategory.removePreference(mToggleInversionPreference);
             experimentalCategory.removePreference(mDisplayDaltonizerPreferenceScreen);
+            mDisplayMagnificationPreferenceScreen.setSummary(
+                    ToggleScreenMagnificationPreferenceFragment.getServiceSummary(getContext()));
             mDisplayDaltonizerPreferenceScreen.setOrder(
                     mDisplayMagnificationPreferenceScreen.getOrder() + 1);
+            mDisplayDaltonizerPreferenceScreen.setSummary(AccessibilityUtil.getSummary(
+                    getContext(), Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER_ENABLED));
             mToggleInversionPreference.setOrder(
                     mDisplayDaltonizerPreferenceScreen.getOrder() + 1);
             mToggleLargePointerIconPreference.setOrder(
                     mToggleInversionPreference.getOrder() + 1);
             mToggleDisableAnimationsPreference.setOrder(
                     mToggleLargePointerIconPreference.getOrder() + 1);
-            mToggleInversionPreference.setSummary(R.string.summary_empty);
+            mToggleInversionPreference.setSummary(AccessibilityUtil.getSummary(
+                    getContext(), Settings.Secure.ACCESSIBILITY_DISPLAY_INVERSION_ENABLED));
             displayCategory.addPreference(mToggleInversionPreference);
             displayCategory.addPreference(mDisplayDaltonizerPreferenceScreen);
         }
-
-        // Text contrast.
-        mToggleHighTextContrastPreference.setChecked(
-                Settings.Secure.getInt(getContentResolver(),
-                        Settings.Secure.ACCESSIBILITY_HIGH_TEXT_CONTRAST_ENABLED, 0) == 1);
-
-        // If the quick setting is enabled, the preference MUST be enabled.
-        mInversionPreferenceController.updateState(mToggleInversionPreference);
-
-        // Dark Mode
-        mDarkUIPreferenceController.updateState(mDarkUIModePreference);
-
-        // Power button ends calls.
-        if (KeyCharacterMap.deviceHasKey(KeyEvent.KEYCODE_POWER)
-                && Utils.isVoiceCapable(getActivity())) {
-            final int incallPowerBehavior = Settings.Secure.getInt(getContentResolver(),
-                    Settings.Secure.INCALL_POWER_BUTTON_BEHAVIOR,
-                    Settings.Secure.INCALL_POWER_BUTTON_BEHAVIOR_DEFAULT);
-            final boolean powerButtonEndsCall =
-                    (incallPowerBehavior == Settings.Secure.INCALL_POWER_BUTTON_BEHAVIOR_HANGUP);
-            mTogglePowerButtonEndsCallPreference.setChecked(powerButtonEndsCall);
-        }
-
-        // Auto-rotate screen
-        updateLockScreenRotationCheckbox();
-
-        // Large pointer icon.
-        mToggleLargePointerIconPreference.setChecked(Settings.Secure.getInt(getContentResolver(),
-                Settings.Secure.ACCESSIBILITY_LARGE_POINTER_ICON, 0) != 0);
-
-        updateDisableAnimationsToggle();
-
-        // Master mono
-        updateMasterMono();
-
-        // Long press timeout.
-        final int longPressTimeout = Settings.Secure.getInt(getContentResolver(),
-                Settings.Secure.LONG_PRESS_TIMEOUT, mLongPressTimeoutDefault);
-        String value = String.valueOf(longPressTimeout);
-        mSelectLongPressTimeoutPreference.setValue(value);
-        mSelectLongPressTimeoutPreference.setSummary(mLongPressTimeoutValueToTitleMap.get(value));
-
-        updateVibrationSummary(mVibrationPreferenceScreen);
-
-        mHearingAidPreferenceController.updateState(mHearingAidPreference);
-
-        mRTTSettingPreferenceController.updateState(mRTTPreference);
-
-        mLiveCaptionPreferenceController.updateState(mLiveCaptionPreference);
-
-        updateFeatureSummary(Settings.Secure.ACCESSIBILITY_CAPTIONING_ENABLED,
-                mCaptioningPreferenceScreen);
-        updateFeatureSummary(Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER_ENABLED,
-                mDisplayDaltonizerPreferenceScreen);
-
-        updateMagnificationSummary(mDisplayMagnificationPreferenceScreen);
-
-        updateFontSizeSummary(mFontSizePreferenceScreen);
-
-        updateAutoclickSummary(mAutoclickPreferenceScreen);
-
-        updateAccessibilityShortcut(mAccessibilityShortcutPreferenceScreen);
-
-        updateAccessibilityTimeoutSummary(getContentResolver(),
-                findPreference(ACCESSIBILITY_CONTROL_TIMEOUT_PREFERENCE));
     }
 
-    void updateAccessibilityTimeoutSummary(ContentResolver resolver, Preference pref) {
-        String[] timeoutSummarys = getResources().getStringArray(
-                R.array.accessibility_timeout_summaries);
-        int[] timeoutValues = getResources().getIntArray(
-                R.array.accessibility_timeout_selector_values);
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.accessibility_settings);
 
-        int timeoutValue = AccessibilityTimeoutController.getSecureAccessibilityTimeoutValue(
-                    resolver, AccessibilityTimeoutController.CONTROL_TIMEOUT_SETTINGS_SECURE);
-
-        int idx = Ints.indexOf(timeoutValues, timeoutValue);
-        pref.setSummary(timeoutSummarys[idx == -1 ? 0 : idx]);
-    }
-
-    private void updateMagnificationSummary(Preference pref) {
-        final boolean tripleTapEnabled = Settings.Secure.getInt(getContentResolver(),
-                Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED, 0) == 1;
-        final boolean buttonEnabled = Settings.Secure.getInt(getContentResolver(),
-                Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_NAVBAR_ENABLED, 0) == 1;
-
-        int summaryResId = 0;
-        if (!tripleTapEnabled && !buttonEnabled) {
-            summaryResId = R.string.accessibility_feature_state_off;
-        } else if (!tripleTapEnabled && buttonEnabled) {
-            summaryResId = R.string.accessibility_screen_magnification_navbar_title;
-        } else if (tripleTapEnabled && !buttonEnabled) {
-            summaryResId = R.string.accessibility_screen_magnification_gestures_title;
-        } else {
-            summaryResId = R.string.accessibility_screen_magnification_state_navbar_gesture;
-        }
-        pref.setSummary(summaryResId);
-    }
-
-    private void updateFeatureSummary(String prefKey, Preference pref) {
-        final boolean enabled = Settings.Secure.getInt(getContentResolver(), prefKey, 0) == 1;
-        pref.setSummary(enabled ? R.string.accessibility_feature_state_on
-                : R.string.accessibility_feature_state_off);
-    }
-
-    private void updateAutoclickSummary(Preference pref) {
-        final boolean enabled = Settings.Secure.getInt(
-                getContentResolver(), Settings.Secure.ACCESSIBILITY_AUTOCLICK_ENABLED, 0) == 1;
-        if (!enabled) {
-            pref.setSummary(R.string.accessibility_feature_state_off);
-            return;
-        }
-        int delay = Settings.Secure.getInt(
-                getContentResolver(), Settings.Secure.ACCESSIBILITY_AUTOCLICK_DELAY,
-                AccessibilityManager.AUTOCLICK_DELAY_DEFAULT);
-        pref.setSummary(ToggleAutoclickPreferenceFragment.getAutoclickPreferenceSummary(
-                getResources(), delay));
-    }
-
-    private void updateFontSizeSummary(Preference pref) {
-        final float currentScale = Settings.System.getFloat(getContext().getContentResolver(),
-                Settings.System.FONT_SCALE, 1.0f);
-        final Resources res = getContext().getResources();
-        final String[] entries = res.getStringArray(R.array.entries_font_size);
-        final String[] strEntryValues = res.getStringArray(R.array.entryvalues_font_size);
-        final int index = ToggleFontSizePreferenceFragment.fontSizeValueToIndex(currentScale,
-                strEntryValues);
-        pref.setSummary(entries[index]);
-    }
-
+    /**
+     * This class helps setup RestrictedPreference.
+     */
     @VisibleForTesting
-    void updateVibrationSummary(Preference pref) {
-        final Context context = getContext();
-        final Vibrator vibrator = context.getSystemService(Vibrator.class);
+    static class RestrictedPreferenceHelper {
+        private final Context mContext;
+        private final DevicePolicyManager mDpm;
+        private final PackageManager mPm;
 
-        int ringIntensity = Settings.System.getInt(context.getContentResolver(),
-                Settings.System.RING_VIBRATION_INTENSITY,
-                vibrator.getDefaultRingVibrationIntensity());
-        if (Settings.System.getInt(context.getContentResolver(),
-                Settings.System.VIBRATE_WHEN_RINGING, 0) == 0 && !isRampingRingerEnabled(context)) {
-            ringIntensity = Vibrator.VIBRATION_INTENSITY_OFF;
-        }
-        CharSequence ringIntensityString =
-                VibrationIntensityPreferenceController.getIntensityString(context, ringIntensity);
-
-        int notificationIntensity = Settings.System.getInt(context.getContentResolver(),
-                Settings.System.NOTIFICATION_VIBRATION_INTENSITY,
-                vibrator.getDefaultNotificationVibrationIntensity());
-        CharSequence notificationIntensityString =
-                VibrationIntensityPreferenceController.getIntensityString(context,
-                        notificationIntensity);
-
-        int touchIntensity = Settings.System.getInt(context.getContentResolver(),
-                Settings.System.HAPTIC_FEEDBACK_INTENSITY,
-                vibrator.getDefaultHapticFeedbackIntensity());
-        if (Settings.System.getInt(context.getContentResolver(),
-                Settings.System.HAPTIC_FEEDBACK_ENABLED, 0) == 0) {
-            touchIntensity = Vibrator.VIBRATION_INTENSITY_OFF;
-        }
-        CharSequence touchIntensityString =
-                VibrationIntensityPreferenceController.getIntensityString(context, touchIntensity);
-
-        if (mVibrationPreferenceScreen == null) {
-            mVibrationPreferenceScreen = findPreference(VIBRATION_PREFERENCE_SCREEN);
+        RestrictedPreferenceHelper(Context context) {
+            mContext = context;
+            mDpm = context.getSystemService(DevicePolicyManager.class);
+            mPm = context.getPackageManager();
         }
 
-        if (ringIntensity == touchIntensity && ringIntensity == notificationIntensity) {
-            mVibrationPreferenceScreen.setSummary(ringIntensityString);
-        } else {
-            mVibrationPreferenceScreen.setSummary(
-                    getString(R.string.accessibility_vibration_summary,
-                            ringIntensityString,
-                            notificationIntensityString,
-                            touchIntensityString));
-        }
-    }
+        /**
+         * Creates the list of {@link RestrictedPreference} with the installedServices arguments.
+         *
+         * @param installedServices The list of {@link AccessibilityServiceInfo}s of the
+         *                          installed accessibility services
+         * @return The list of {@link RestrictedPreference}
+         */
+        List<RestrictedPreference> createAccessibilityServicePreferenceList(
+                List<AccessibilityServiceInfo> installedServices) {
 
-    private String getVibrationSummary(Context context, @VibrationIntensity int intensity) {
-        final boolean supportsMultipleIntensities = context.getResources().getBoolean(
-                R.bool.config_vibration_supports_multiple_intensities);
-        if (supportsMultipleIntensities) {
-            switch (intensity) {
-                case Vibrator.VIBRATION_INTENSITY_OFF:
-                    return context.getString(R.string.accessibility_vibration_summary_off);
-                case Vibrator.VIBRATION_INTENSITY_LOW:
-                    return context.getString(R.string.accessibility_vibration_summary_low);
-                case Vibrator.VIBRATION_INTENSITY_MEDIUM:
-                    return context.getString(R.string.accessibility_vibration_summary_medium);
-                case Vibrator.VIBRATION_INTENSITY_HIGH:
-                    return context.getString(R.string.accessibility_vibration_summary_high);
-                default:
-                    return "";
-            }
-        } else {
-            if (intensity == Vibrator.VIBRATION_INTENSITY_OFF) {
-                return context.getString(R.string.switch_on_text);
-            } else {
-                return context.getString(R.string.switch_off_text);
-            }
-        }
-    }
+            final Set<ComponentName> enabledServices =
+                    AccessibilityUtils.getEnabledServicesFromSettings(mContext);
+            final List<String> permittedServices = mDpm.getPermittedAccessibilityServices(
+                    UserHandle.myUserId());
+            final int installedServicesSize = installedServices.size();
 
-    private void updateLockScreenRotationCheckbox() {
-        Context context = getActivity();
-        if (context != null) {
-            mToggleLockScreenRotationPreference.setChecked(
-                    !RotationPolicy.isRotationLocked(context));
-        }
-    }
+            final List<RestrictedPreference> preferenceList = new ArrayList<>(
+                    installedServicesSize);
 
-    private void updateDisableAnimationsToggle() {
-        boolean allAnimationsDisabled = true;
-        for (String animationSetting : TOGGLE_ANIMATION_TARGETS) {
-            if (!TextUtils.equals(
-                    Settings.Global.getString(getContentResolver(), animationSetting),
-                    ANIMATION_OFF_VALUE)) {
-                allAnimationsDisabled = false;
-                break;
-            }
-        }
-        mToggleDisableAnimationsPreference.setChecked(allAnimationsDisabled);
-    }
+            for (int i = 0; i < installedServicesSize; ++i) {
+                final AccessibilityServiceInfo info = installedServices.get(i);
+                final ResolveInfo resolveInfo = info.getResolveInfo();
+                final String packageName = resolveInfo.serviceInfo.packageName;
+                final ComponentName componentName = new ComponentName(packageName,
+                        resolveInfo.serviceInfo.name);
 
-    private void updateMasterMono() {
-        final boolean masterMono = Settings.System.getIntForUser(
-                getContentResolver(), Settings.System.MASTER_MONO,
-                0 /* default */, UserHandle.USER_CURRENT) == 1;
-        mToggleMasterMonoPreference.setChecked(masterMono);
-    }
+                final String key = componentName.flattenToString();
+                final CharSequence title = resolveInfo.loadLabel(mPm);
+                final boolean serviceEnabled = enabledServices.contains(componentName);
+                final CharSequence summary = getServiceSummary(mContext, info, serviceEnabled);
+                final String fragment = getAccessibilityServiceFragmentTypeName(info);
 
-    private void updateAccessibilityShortcut(Preference preference) {
-        if (AccessibilityManager.getInstance(getActivity())
-                .getInstalledAccessibilityServiceList().isEmpty()) {
-            mAccessibilityShortcutPreferenceScreen
-                    .setSummary(getString(R.string.accessibility_no_services_installed));
-            mAccessibilityShortcutPreferenceScreen.setEnabled(false);
-        } else {
-            mAccessibilityShortcutPreferenceScreen.setEnabled(true);
-            boolean shortcutEnabled =
-                    AccessibilityUtils.isShortcutEnabled(getContext(), UserHandle.myUserId());
-            CharSequence summary = shortcutEnabled
-                    ? AccessibilityShortcutPreferenceFragment.getServiceName(getContext())
-                    : getString(R.string.accessibility_feature_state_off);
-            mAccessibilityShortcutPreferenceScreen.setSummary(summary);
-        }
-    }
-
-    private static void configureMagnificationPreferenceIfNeeded(Preference preference) {
-        // Some devices support only a single magnification mode. In these cases, we redirect to
-        // the magnification mode's UI directly, rather than showing a PreferenceScreen with a
-        // single list item.
-        final Context context = preference.getContext();
-        if (!MagnificationPreferenceFragment.isApplicable(context.getResources())) {
-            preference.setFragment(ToggleScreenMagnificationPreferenceFragment.class.getName());
-            final Bundle extras = preference.getExtras();
-            MagnificationGesturesPreferenceController
-                    .populateMagnificationGesturesPreferenceExtras(extras, context);
-        }
-    }
-
-    public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
-                        boolean enabled) {
-                    List<SearchIndexableResource> indexables = new ArrayList<>();
-                    SearchIndexableResource indexable = new SearchIndexableResource(context);
-                    indexable.xmlResId = R.xml.accessibility_settings;
-                    indexables.add(indexable);
-                    return indexables;
+                Drawable icon = resolveInfo.loadIcon(mPm);
+                if (resolveInfo.getIconResource() == 0) {
+                    icon = ContextCompat.getDrawable(mContext,
+                            R.drawable.ic_accessibility_generic);
                 }
-            };
+
+                final RestrictedPreference preference = createRestrictedPreference(key, title,
+                        summary, icon, fragment);
+
+                // permittedServices null means all accessibility services are allowed.
+                final boolean serviceAllowed =
+                        permittedServices == null || permittedServices.contains(packageName);
+
+                setRestrictedPreferenceEnabled(preference, packageName, serviceAllowed,
+                        serviceEnabled);
+
+                final String prefKey = preference.getKey();
+                final int imageRes = info.getAnimatedImageRes();
+                final CharSequence description = getServiceDescription(mContext, info,
+                        serviceEnabled);
+                final String htmlDescription = info.loadHtmlDescription(mPm);
+                final String settingsClassName = info.getSettingsActivityName();
+
+                putBasicExtras(preference, prefKey, title, description, imageRes, htmlDescription,
+                        componentName);
+                putServiceExtras(preference, resolveInfo, serviceEnabled);
+                putSettingsExtras(preference, packageName, settingsClassName);
+
+                preferenceList.add(preference);
+            }
+            return preferenceList;
+        }
+
+        /**
+         * Create the list of {@link RestrictedPreference} with the installedShortcuts arguments.
+         *
+         * @param installedShortcuts The list of {@link AccessibilityShortcutInfo}s of the
+         *                           installed accessibility shortcuts
+         * @return The list of {@link RestrictedPreference}
+         */
+        List<RestrictedPreference> createAccessibilityActivityPreferenceList(
+                List<AccessibilityShortcutInfo> installedShortcuts) {
+            final Set<ComponentName> enabledServices =
+                    AccessibilityUtils.getEnabledServicesFromSettings(mContext);
+            final List<String> permittedServices = mDpm.getPermittedAccessibilityServices(
+                    UserHandle.myUserId());
+
+            final int installedShortcutsSize = installedShortcuts.size();
+            final List<RestrictedPreference> preferenceList = new ArrayList<>(
+                    installedShortcutsSize);
+
+            for (int i = 0; i < installedShortcutsSize; ++i) {
+                final AccessibilityShortcutInfo info = installedShortcuts.get(i);
+                final ActivityInfo activityInfo = info.getActivityInfo();
+                final ComponentName componentName = info.getComponentName();
+
+                final String key = componentName.flattenToString();
+                final CharSequence title = activityInfo.loadLabel(mPm);
+                final String summary = info.loadSummary(mPm);
+                final String fragment =
+                        LaunchAccessibilityActivityPreferenceFragment.class.getName();
+
+                Drawable icon = activityInfo.loadIcon(mPm);
+                if (activityInfo.getIconResource() == 0) {
+                    icon = ContextCompat.getDrawable(mContext, R.drawable.ic_accessibility_generic);
+                }
+
+                final RestrictedPreference preference = createRestrictedPreference(key, title,
+                        summary, icon, fragment);
+
+                final String packageName = componentName.getPackageName();
+                // permittedServices null means all accessibility services are allowed.
+                final boolean serviceAllowed =
+                        permittedServices == null || permittedServices.contains(packageName);
+                final boolean serviceEnabled = enabledServices.contains(componentName);
+
+                setRestrictedPreferenceEnabled(preference, packageName, serviceAllowed,
+                        serviceEnabled);
+
+                final String prefKey = preference.getKey();
+                final String description = info.loadDescription(mPm);
+                final int imageRes = info.getAnimatedImageRes();
+                final String htmlDescription = info.loadHtmlDescription(mPm);
+                final String settingsClassName = info.getSettingsActivityName();
+
+                putBasicExtras(preference, prefKey, title, description, imageRes, htmlDescription,
+                        componentName);
+                putSettingsExtras(preference, packageName, settingsClassName);
+
+                preferenceList.add(preference);
+            }
+            return preferenceList;
+        }
+
+        private String getAccessibilityServiceFragmentTypeName(AccessibilityServiceInfo info) {
+            switch (AccessibilityUtil.getAccessibilityServiceFragmentType(
+                    info)) {
+                case AccessibilityServiceFragmentType.LEGACY:
+                    return LegacyAccessibilityServicePreferenceFragment.class.getName();
+                case AccessibilityServiceFragmentType.INVISIBLE:
+                    return InvisibleToggleAccessibilityServicePreferenceFragment.class.getName();
+                case AccessibilityServiceFragmentType.INTUITIVE:
+                    return ToggleAccessibilityServicePreferenceFragment.class.getName();
+                default:
+                    // impossible status
+                    throw new AssertionError();
+            }
+        }
+
+        private RestrictedPreference createRestrictedPreference(String key, CharSequence title,
+                CharSequence summary, Drawable icon, String fragment) {
+            final RestrictedPreference preference = new RestrictedPreference(mContext);
+
+            preference.setKey(key);
+            preference.setTitle(title);
+            preference.setSummary(summary);
+            Utils.setSafeIcon(preference, icon);
+            preference.setFragment(fragment);
+            preference.setIconSize(ICON_SIZE_MEDIUM);
+            preference.setPersistent(false); // Disable SharedPreferences.
+            preference.setOrder(FIRST_PREFERENCE_IN_CATEGORY_INDEX);
+
+            return preference;
+        }
+
+        private void setRestrictedPreferenceEnabled(RestrictedPreference preference,
+                String packageName, boolean serviceAllowed, boolean serviceEnabled) {
+            if (serviceAllowed || serviceEnabled) {
+                preference.setEnabled(true);
+            } else {
+                // Disable accessibility service that are not permitted.
+                final EnforcedAdmin admin =
+                        RestrictedLockUtilsInternal.checkIfAccessibilityServiceDisallowed(
+                                mContext, packageName, UserHandle.myUserId());
+                if (admin != null) {
+                    preference.setDisabledByAdmin(admin);
+                } else {
+                    preference.setEnabled(false);
+                }
+            }
+        }
+
+        /** Puts the basic extras into {@link RestrictedPreference}'s getExtras(). */
+        private void putBasicExtras(RestrictedPreference preference, String prefKey,
+                CharSequence title, CharSequence summary, int imageRes, String htmlDescription,
+                ComponentName componentName) {
+            final Bundle extras = preference.getExtras();
+
+            extras.putString(EXTRA_PREFERENCE_KEY, prefKey);
+            extras.putString(EXTRA_TITLE, title.toString());
+            extras.putString(EXTRA_SUMMARY, summary.toString());
+            extras.putParcelable(EXTRA_COMPONENT_NAME, componentName);
+            extras.putInt(EXTRA_ANIMATED_IMAGE_RES, imageRes);
+            extras.putString(AccessibilitySettings.EXTRA_HTML_DESCRIPTION, htmlDescription);
+        }
+
+        /**
+         * Puts the service extras into {@link RestrictedPreference}'s getExtras().
+         *
+         * Called by {@link AccessibilityServiceInfo} for now.
+         */
+        private void putServiceExtras(RestrictedPreference preference, ResolveInfo resolveInfo,
+                Boolean serviceEnabled) {
+            final Bundle extras = preference.getExtras();
+
+            extras.putParcelable(EXTRA_RESOLVE_INFO, resolveInfo);
+            extras.putBoolean(EXTRA_CHECKED, serviceEnabled);
+        }
+
+        /**
+         * Puts the settings extras into {@link RestrictedPreference}'s getExtras().
+         *
+         * Called when settings UI is needed.
+         */
+        private void putSettingsExtras(RestrictedPreference preference, String packageName,
+                String settingsClassName) {
+            final Bundle extras = preference.getExtras();
+
+            if (!TextUtils.isEmpty(settingsClassName)) {
+                extras.putString(EXTRA_SETTINGS_TITLE,
+                        mContext.getText(R.string.accessibility_menu_item_settings).toString());
+                extras.putString(EXTRA_SETTINGS_COMPONENT_NAME,
+                        new ComponentName(packageName, settingsClassName).flattenToString());
+            }
+        }
+    }
 }
diff --git a/src/com/android/settings/accessibility/AccessibilitySettingsForSetupWizard.java b/src/com/android/settings/accessibility/AccessibilitySettingsForSetupWizard.java
index 16f5fcd..2bcb5b3 100644
--- a/src/com/android/settings/accessibility/AccessibilitySettingsForSetupWizard.java
+++ b/src/com/android/settings/accessibility/AccessibilitySettingsForSetupWizard.java
@@ -16,6 +16,8 @@
 
 package com.android.settings.accessibility;
 
+import static com.android.settings.accessibility.AccessibilityUtil.AccessibilityServiceFragmentType.LEGACY;
+
 import android.accessibilityservice.AccessibilityServiceInfo;
 import android.app.settings.SettingsEnums;
 import android.content.ComponentName;
@@ -49,7 +51,6 @@
             "screen_magnification_preference";
     private static final String SCREEN_READER_PREFERENCE = "screen_reader_preference";
     private static final String SELECT_TO_SPEAK_PREFERENCE = "select_to_speak_preference";
-    private static final String FONT_SIZE_PREFERENCE = "font_size_preference";
 
     // Package names and service names used to identify screen reader and SelectToSpeak services.
     private static final String SCREEN_READER_PACKAGE_NAME = "com.google.android.marvin.talkback";
@@ -100,9 +101,11 @@
     public void onResume() {
         super.onResume();
         updateAccessibilityServicePreference(mScreenReaderPreference,
-                findService(SCREEN_READER_PACKAGE_NAME, SCREEN_READER_SERVICE_NAME));
+                SCREEN_READER_PACKAGE_NAME, SCREEN_READER_SERVICE_NAME,
+                LegacyToggleScreenReaderPreferenceFragmentForSetupWizard.class.getName());
         updateAccessibilityServicePreference(mSelectToSpeakPreference,
-                findService(SELECT_TO_SPEAK_PACKAGE_NAME, SELECT_TO_SPEAK_SERVICE_NAME));
+                SELECT_TO_SPEAK_PACKAGE_NAME, SELECT_TO_SPEAK_SERVICE_NAME,
+                LegacyToggleSelectToSpeakPreferenceFragmentForSetupWizard.class.getName());
         configureMagnificationPreferenceIfNeeded(mDisplayMagnificationPreference);
     }
 
@@ -144,7 +147,8 @@
     }
 
     private void updateAccessibilityServicePreference(Preference preference,
-            AccessibilityServiceInfo info) {
+            String packageName, String serviceName, String targetLegacyFragment) {
+        final AccessibilityServiceInfo info = findService(packageName, serviceName);
         if (info == null) {
             getPreferenceScreen().removePreference(preference);
             return;
@@ -155,6 +159,9 @@
         preference.setTitle(title);
         ComponentName componentName = new ComponentName(serviceInfo.packageName, serviceInfo.name);
         preference.setKey(componentName.flattenToString());
+        if (AccessibilityUtil.getAccessibilityServiceFragmentType(info) == LEGACY) {
+            preference.setFragment(targetLegacyFragment);
+        }
 
         // Update the extras.
         Bundle extras = preference.getExtras();
@@ -169,19 +176,17 @@
             description = getString(R.string.accessibility_service_default_description);
         }
         extras.putString(AccessibilitySettings.EXTRA_SUMMARY, description);
+
+        final String htmlDescription = info.loadHtmlDescription(getPackageManager());
+        extras.putString(AccessibilitySettings.EXTRA_HTML_DESCRIPTION, htmlDescription);
     }
 
     private static void configureMagnificationPreferenceIfNeeded(Preference preference) {
-        // Some devices support only a single magnification mode. In these cases, we redirect to
-        // the magnification mode's UI directly, rather than showing a PreferenceScreen with a
-        // single list item.
         final Context context = preference.getContext();
-        if (!MagnificationPreferenceFragment.isApplicable(context.getResources())) {
-            preference.setFragment(
-                    ToggleScreenMagnificationPreferenceFragmentForSetupWizard.class.getName());
-            final Bundle extras = preference.getExtras();
-            MagnificationGesturesPreferenceController
-                    .populateMagnificationGesturesPreferenceExtras(extras, context);
-        }
+        preference.setFragment(
+                ToggleScreenMagnificationPreferenceFragmentForSetupWizard.class.getName());
+        final Bundle extras = preference.getExtras();
+        MagnificationGesturesPreferenceController
+                .populateMagnificationGesturesPreferenceExtras(extras, context);
     }
 }
diff --git a/src/com/android/settings/accessibility/AccessibilityShortcutPreferenceController.java b/src/com/android/settings/accessibility/AccessibilityShortcutPreferenceController.java
new file mode 100644
index 0000000..ce3d294
--- /dev/null
+++ b/src/com/android/settings/accessibility/AccessibilityShortcutPreferenceController.java
@@ -0,0 +1,60 @@
+/*
+ * 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.android.settings.accessibility.AccessibilityUtil.State.OFF;
+import static com.android.settings.accessibility.AccessibilityUtil.State.ON;
+
+import android.content.ContentResolver;
+import android.content.Context;
+import android.os.UserHandle;
+import android.provider.Settings;
+
+import com.android.settings.core.TogglePreferenceController;
+
+/**
+ * Settings page for accessibility shortcut
+ */
+public class AccessibilityShortcutPreferenceController extends TogglePreferenceController {
+
+    public AccessibilityShortcutPreferenceController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+    }
+
+    @Override
+    public boolean isChecked() {
+        final ContentResolver cr = mContext.getContentResolver();
+        // The shortcut is enabled by default on the lock screen as long as the user has
+        // enabled the shortcut with the warning dialog
+        final int dialogShown = Settings.Secure.getInt(
+                cr, Settings.Secure.ACCESSIBILITY_SHORTCUT_DIALOG_SHOWN, OFF);
+        final boolean enabledFromLockScreen = Settings.Secure.getInt(
+                cr, Settings.Secure.ACCESSIBILITY_SHORTCUT_ON_LOCK_SCREEN, dialogShown) == ON;
+        return enabledFromLockScreen;
+    }
+
+    @Override
+    public boolean setChecked(boolean isChecked) {
+        return Settings.Secure.putIntForUser(mContext.getContentResolver(),
+                Settings.Secure.ACCESSIBILITY_SHORTCUT_ON_LOCK_SCREEN, isChecked ? ON : OFF,
+                UserHandle.USER_CURRENT);
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return AVAILABLE;
+    }
+}
diff --git a/src/com/android/settings/accessibility/AccessibilityShortcutPreferenceFragment.java b/src/com/android/settings/accessibility/AccessibilityShortcutPreferenceFragment.java
deleted file mode 100644
index de65324..0000000
--- a/src/com/android/settings/accessibility/AccessibilityShortcutPreferenceFragment.java
+++ /dev/null
@@ -1,204 +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.accessibility;
-
-import android.accessibilityservice.AccessibilityServiceInfo;
-import android.annotation.Nullable;
-import android.app.settings.SettingsEnums;
-import android.content.ComponentName;
-import android.content.ContentResolver;
-import android.content.Context;
-import android.database.ContentObserver;
-import android.os.Bundle;
-import android.os.Handler;
-import android.os.UserHandle;
-import android.provider.Settings;
-import android.view.accessibility.AccessibilityManager;
-import android.widget.Switch;
-
-import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
-
-import com.android.internal.accessibility.AccessibilityShortcutController;
-import com.android.settings.R;
-import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
-import com.android.settingslib.accessibility.AccessibilityUtils;
-import com.android.settingslib.search.SearchIndexable;
-
-/**
- * Settings page for accessibility shortcut
- */
-@SearchIndexable
-public class AccessibilityShortcutPreferenceFragment extends ToggleFeaturePreferenceFragment
-        implements Indexable {
-
-    public static final String SHORTCUT_SERVICE_KEY = "accessibility_shortcut_service";
-    public static final String ON_LOCK_SCREEN_KEY = "accessibility_shortcut_on_lock_screen";
-
-    private Preference mServicePreference;
-    private SwitchPreference mOnLockScreenSwitchPreference;
-    private final ContentObserver mContentObserver = new ContentObserver(new Handler()) {
-        @Override
-        public void onChange(boolean selfChange) {
-            updatePreferences();
-        }
-    };
-
-    @Override
-    public int getMetricsCategory() {
-        return SettingsEnums.ACCESSIBILITY_TOGGLE_GLOBAL_GESTURE;
-    }
-
-    @Override
-    public int getHelpResource() {
-        return R.string.help_url_accessibility_shortcut;
-    }
-
-    @Override
-    public void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-
-        mServicePreference = findPreference(SHORTCUT_SERVICE_KEY);
-        mOnLockScreenSwitchPreference = (SwitchPreference) findPreference(ON_LOCK_SCREEN_KEY);
-        mOnLockScreenSwitchPreference.setOnPreferenceChangeListener((Preference p, Object o) -> {
-            Settings.Secure.putInt(getContentResolver(),
-                    Settings.Secure.ACCESSIBILITY_SHORTCUT_ON_LOCK_SCREEN,
-                    ((Boolean) o) ? 1 : 0);
-            return true;
-        });
-        mFooterPreferenceMixin.createFooterPreference()
-                .setTitle(R.string.accessibility_shortcut_description);
-    }
-
-    @Override
-    public void onResume() {
-        super.onResume();
-        updatePreferences();
-        getContentResolver().registerContentObserver(
-                Settings.Secure.getUriFor(Settings.Secure.ACCESSIBILITY_SHORTCUT_DIALOG_SHOWN),
-                false, mContentObserver);
-    }
-
-    @Override
-    public void onPause() {
-        getContentResolver().unregisterContentObserver(mContentObserver);
-        super.onPause();
-    }
-
-    @Override
-    protected int getPreferenceScreenResId() {
-        return R.xml.accessibility_shortcut_settings;
-    }
-
-    @Override
-    protected void onInstallSwitchBarToggleSwitch() {
-        super.onInstallSwitchBarToggleSwitch();
-        mSwitchBar.addOnSwitchChangeListener((Switch switchView, boolean enabled) -> {
-            Context context = getContext();
-            if (enabled && !shortcutFeatureAvailable(context)) {
-                // If no service is configured, we'll disable the shortcut shortly. Give the
-                // user a chance to select a service. We'll update the preferences when we resume.
-                Settings.Secure.putInt(
-                        getContentResolver(), Settings.Secure.ACCESSIBILITY_SHORTCUT_ENABLED, 1);
-                mServicePreference.setEnabled(true);
-                mServicePreference.performClick();
-            } else {
-                onPreferenceToggled(Settings.Secure.ACCESSIBILITY_SHORTCUT_ENABLED, enabled);
-            }
-        });
-    }
-
-    @Override
-    protected void onPreferenceToggled(String preferenceKey, boolean enabled) {
-        Settings.Secure.putInt(getContentResolver(), preferenceKey, enabled ? 1 : 0);
-        updatePreferences();
-    }
-
-    private void updatePreferences() {
-        ContentResolver cr = getContentResolver();
-        Context context = getContext();
-        mServicePreference.setSummary(getServiceName(context));
-        if (!shortcutFeatureAvailable(context)) {
-            // If no service is configured, make sure the overall shortcut is turned off
-            Settings.Secure.putInt(
-                    getContentResolver(), Settings.Secure.ACCESSIBILITY_SHORTCUT_ENABLED, 0);
-        }
-        boolean isEnabled = Settings.Secure
-                .getInt(cr, Settings.Secure.ACCESSIBILITY_SHORTCUT_ENABLED, 1) == 1;
-        mSwitchBar.setChecked(isEnabled);
-        // The shortcut is enabled by default on the lock screen as long as the user has
-        // enabled the shortcut with the warning dialog
-        final int dialogShown = Settings.Secure.getInt(
-                cr, Settings.Secure.ACCESSIBILITY_SHORTCUT_DIALOG_SHOWN, 0);
-        final boolean enabledFromLockScreen = Settings.Secure.getInt(
-                cr, Settings.Secure.ACCESSIBILITY_SHORTCUT_ON_LOCK_SCREEN, dialogShown) == 1;
-        mOnLockScreenSwitchPreference.setChecked(enabledFromLockScreen);
-        // Only enable changing the service and lock screen behavior if the shortcut is on
-        mServicePreference.setEnabled(mToggleSwitch.isChecked());
-        mOnLockScreenSwitchPreference.setEnabled(mToggleSwitch.isChecked());
-    }
-
-    /**
-     * Get the user-visible name of the service currently selected for the shortcut.
-     *
-     * @param context The current context
-     * @return The name of the service or a string saying that none is selected.
-     */
-    public static CharSequence getServiceName(Context context) {
-        if (!shortcutFeatureAvailable(context)) {
-            return context.getString(R.string.accessibility_no_service_selected);
-        }
-        AccessibilityServiceInfo shortcutServiceInfo = getServiceInfo(context);
-        if (shortcutServiceInfo != null) {
-            return shortcutServiceInfo.getResolveInfo().loadLabel(context.getPackageManager());
-        }
-        return AccessibilityShortcutController.getFrameworkShortcutFeaturesMap()
-                .get(getShortcutComponent(context)).getLabel(context);
-    }
-
-    private static AccessibilityServiceInfo getServiceInfo(Context context) {
-        return AccessibilityManager.getInstance(context)
-                .getInstalledServiceInfoWithComponentName(getShortcutComponent(context));
-    }
-
-    private static boolean shortcutFeatureAvailable(Context context) {
-        ComponentName shortcutFeature = getShortcutComponent(context);
-        if (shortcutFeature == null) return false;
-
-        if (AccessibilityShortcutController.getFrameworkShortcutFeaturesMap()
-                .containsKey(shortcutFeature)) {
-            return true;
-        }
-        return getServiceInfo(context) != null;
-    }
-
-    private static @Nullable ComponentName getShortcutComponent(Context context) {
-        String componentNameString = AccessibilityUtils.getShortcutTargetServiceComponentNameString(
-                context, UserHandle.myUserId());
-        if (componentNameString == null) return null;
-        return ComponentName.unflattenFromString(componentNameString);
-    }
-
-    public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                // This fragment is for details of the shortcut. Only the shortcut itself needs
-                // to be indexed.
-                protected boolean isPageSearchEnabled(Context context) {
-                    return false;
-                }
-            };
-}
diff --git a/src/com/android/settings/accessibility/AccessibilitySlicePreferenceController.java b/src/com/android/settings/accessibility/AccessibilitySlicePreferenceController.java
index d1a60fa..ca3befa 100644
--- a/src/com/android/settings/accessibility/AccessibilitySlicePreferenceController.java
+++ b/src/com/android/settings/accessibility/AccessibilitySlicePreferenceController.java
@@ -16,6 +16,9 @@
 
 package com.android.settings.accessibility;
 
+import static com.android.settings.accessibility.AccessibilityUtil.State.OFF;
+import static com.android.settings.accessibility.AccessibilityUtil.State.ON;
+
 import android.accessibilityservice.AccessibilityServiceInfo;
 import android.content.ComponentName;
 import android.content.ContentResolver;
@@ -39,8 +42,7 @@
 
     private final ComponentName mComponentName;
 
-    private final int ON = 1;
-    private final int OFF = 0;
+    private static final String EMPTY_STRING = "";
 
     public AccessibilitySlicePreferenceController(Context context, String preferenceKey) {
         super(context, preferenceKey);
@@ -55,8 +57,9 @@
     @Override
     public CharSequence getSummary() {
         final AccessibilityServiceInfo serviceInfo = getAccessibilityServiceInfo();
-        return serviceInfo == null
-                ? "" : AccessibilitySettings.getServiceSummary(mContext, serviceInfo, isChecked());
+
+        return serviceInfo == null ? EMPTY_STRING : AccessibilitySettings.getServiceSummary(
+                mContext, serviceInfo, isChecked());
     }
 
     @Override
@@ -91,7 +94,7 @@
     }
 
     @Override
-    public boolean isSliceable() {
+    public boolean isPublicSlice() {
         return true;
     }
 
diff --git a/src/com/android/settings/accessibility/AccessibilityTimeoutController.java b/src/com/android/settings/accessibility/AccessibilityTimeoutController.java
index 057013c..a8bd6f0 100644
--- a/src/com/android/settings/accessibility/AccessibilityTimeoutController.java
+++ b/src/com/android/settings/accessibility/AccessibilityTimeoutController.java
@@ -27,9 +27,9 @@
 
 import com.android.settings.R;
 import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settings.widget.RadioButtonPreference;
 import com.android.settingslib.core.AbstractPreferenceController;
 import com.android.settingslib.core.lifecycle.Lifecycle;
+import com.android.settingslib.widget.RadioButtonPreference;
 
 import com.google.common.primitives.Ints;
 
@@ -87,7 +87,7 @@
         if (mAccessibilityTimeoutKeyToValueMap.size() == 0) {
 
             String[] timeoutKeys = mResources.getStringArray(
-                        R.array.accessibility_timeout_control_selector_keys);
+                    R.array.accessibility_timeout_control_selector_keys);
 
             int[] timeoutValues = mResources.getIntArray(
                     R.array.accessibility_timeout_selector_values);
@@ -141,7 +141,7 @@
     private int getAccessibilityTimeoutValue() {
         // get accessibility control timeout value
         int timeoutValue = getSecureAccessibilityTimeoutValue(mContentResolver,
-                    CONTROL_TIMEOUT_SETTINGS_SECURE);
+                CONTROL_TIMEOUT_SETTINGS_SECURE);
         return timeoutValue;
     }
 
diff --git a/src/com/android/settings/accessibility/AccessibilityTimeoutPreferenceController.java b/src/com/android/settings/accessibility/AccessibilityTimeoutPreferenceController.java
new file mode 100644
index 0000000..e7b0e3c
--- /dev/null
+++ b/src/com/android/settings/accessibility/AccessibilityTimeoutPreferenceController.java
@@ -0,0 +1,49 @@
+/*
+ * 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.accessibility;
+
+import android.content.Context;
+
+import com.android.settings.R;
+import com.android.settings.core.BasePreferenceController;
+
+import com.google.common.primitives.Ints;
+
+public class AccessibilityTimeoutPreferenceController extends BasePreferenceController {
+
+    public AccessibilityTimeoutPreferenceController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return AVAILABLE;
+    }
+
+    @Override
+    public CharSequence getSummary() {
+        final String[] timeoutSummarys = mContext.getResources().getStringArray(
+                R.array.accessibility_timeout_summaries);
+        final int[] timeoutValues = mContext.getResources().getIntArray(
+                R.array.accessibility_timeout_selector_values);
+        final int timeoutValue = AccessibilityTimeoutController.getSecureAccessibilityTimeoutValue(
+                mContext.getContentResolver(),
+                AccessibilityTimeoutController.CONTROL_TIMEOUT_SETTINGS_SECURE);
+        final int idx = Ints.indexOf(timeoutValues, timeoutValue);
+        return timeoutSummarys[idx == -1 ? 0 : idx];
+    }
+}
diff --git a/src/com/android/settings/accessibility/AccessibilityUtil.java b/src/com/android/settings/accessibility/AccessibilityUtil.java
new file mode 100644
index 0000000..ce0b5fb
--- /dev/null
+++ b/src/com/android/settings/accessibility/AccessibilityUtil.java
@@ -0,0 +1,383 @@
+/*
+ * 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.accessibility;
+
+import static android.view.WindowManagerPolicyConstants.NAV_BAR_MODE_GESTURAL;
+
+import android.accessibilityservice.AccessibilityServiceInfo;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.res.Resources;
+import android.os.Build;
+import android.provider.Settings;
+import android.text.TextUtils;
+import android.util.TypedValue;
+import android.view.accessibility.AccessibilityManager;
+
+import androidx.annotation.IntDef;
+import androidx.annotation.NonNull;
+import androidx.annotation.VisibleForTesting;
+
+import com.android.settings.R;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.util.StringJoiner;
+
+/** Provides utility methods to accessibility settings only. */
+final class AccessibilityUtil {
+
+    private AccessibilityUtil(){}
+
+    /**
+     * Annotation for different accessibilityService fragment UI type.
+     *
+     * {@code LEGACY} for displaying appearance aligned with sdk version Q accessibility service
+     * page, but only hardware shortcut allowed.
+     * {@code INVISIBLE} for displaying appearance without switch bar.
+     * {@code INTUITIVE} for displaying appearance with new design.
+     */
+    @Retention(RetentionPolicy.SOURCE)
+    @IntDef({
+            AccessibilityServiceFragmentType.LEGACY,
+            AccessibilityServiceFragmentType.INVISIBLE,
+            AccessibilityServiceFragmentType.INTUITIVE,
+    })
+
+    public @interface AccessibilityServiceFragmentType {
+        int LEGACY = 0;
+        int INVISIBLE = 1;
+        int INTUITIVE = 2;
+    }
+
+    // TODO(b/147021230): Will move common functions and variables to
+    //  android/internal/accessibility folder
+    private static final char COMPONENT_NAME_SEPARATOR = ':';
+    private static final TextUtils.SimpleStringSplitter sStringColonSplitter =
+            new TextUtils.SimpleStringSplitter(COMPONENT_NAME_SEPARATOR);
+
+    /**
+     * Annotation for different user shortcut type UI type.
+     *
+     * {@code EMPTY} for displaying default value.
+     * {@code SOFTWARE} for displaying specifying the accessibility services or features which
+     * choose accessibility button in the navigation bar as preferred shortcut.
+     * {@code HARDWARE} for displaying specifying the accessibility services or features which
+     * choose accessibility shortcut as preferred shortcut.
+     * {@code TRIPLETAP} for displaying specifying magnification to be toggled via quickly
+     * tapping screen 3 times as preferred shortcut.
+     */
+    @Retention(RetentionPolicy.SOURCE)
+    @IntDef({
+            UserShortcutType.EMPTY,
+            UserShortcutType.SOFTWARE,
+            UserShortcutType.HARDWARE,
+            UserShortcutType.TRIPLETAP,
+    })
+
+    /** Denotes the user shortcut type. */
+    public @interface UserShortcutType {
+        int EMPTY = 0;
+        int SOFTWARE = 1; // 1 << 0
+        int HARDWARE = 2; // 1 << 1
+        int TRIPLETAP = 4; // 1 << 2
+    }
+
+    /** Denotes the accessibility enabled status */
+    @Retention(RetentionPolicy.SOURCE)
+    public @interface State {
+        int OFF = 0;
+        int ON = 1;
+    }
+
+    /**
+     * Return On/Off string according to the setting which specifies the integer value 1 or 0. This
+     * setting is defined in the secure system settings {@link android.provider.Settings.Secure}.
+     */
+    static CharSequence getSummary(Context context, String settingsSecureKey) {
+        final boolean enabled = Settings.Secure.getInt(context.getContentResolver(),
+                settingsSecureKey, State.OFF) == State.ON;
+        final int resId = enabled ? R.string.accessibility_feature_state_on
+                : R.string.accessibility_feature_state_off;
+        return context.getResources().getText(resId);
+    }
+
+    /**
+     * Capitalizes a string by capitalizing the first character and making the remaining characters
+     * lower case.
+     */
+    public static String capitalize(String stringToCapitalize) {
+        if (stringToCapitalize == null) {
+            return null;
+        }
+
+        StringBuilder capitalizedString = new StringBuilder();
+        if (stringToCapitalize.length() > 0) {
+            capitalizedString.append(stringToCapitalize.substring(0, 1).toUpperCase());
+            if (stringToCapitalize.length() > 1) {
+                capitalizedString.append(stringToCapitalize.substring(1).toLowerCase());
+            }
+        }
+        return capitalizedString.toString();
+    }
+
+    /** Determines if a gesture navigation bar is being used. */
+    public static boolean isGestureNavigateEnabled(Context context) {
+        return context.getResources().getInteger(
+                com.android.internal.R.integer.config_navBarInteractionMode)
+                == NAV_BAR_MODE_GESTURAL;
+    }
+
+    /** Determines if a touch explore is being used. */
+    public static boolean isTouchExploreEnabled(Context context) {
+        final AccessibilityManager am = context.getSystemService(AccessibilityManager.class);
+        return am.isTouchExplorationEnabled();
+    }
+
+    /**
+     * Gets the corresponding fragment type of a given accessibility service.
+     *
+     * @param accessibilityServiceInfo The accessibilityService's info
+     * @return int from {@link AccessibilityServiceFragmentType}
+     */
+    static @AccessibilityServiceFragmentType int getAccessibilityServiceFragmentType(
+            AccessibilityServiceInfo accessibilityServiceInfo) {
+        final int targetSdk = accessibilityServiceInfo.getResolveInfo()
+                .serviceInfo.applicationInfo.targetSdkVersion;
+        final boolean requestA11yButton = (accessibilityServiceInfo.flags
+                & AccessibilityServiceInfo.FLAG_REQUEST_ACCESSIBILITY_BUTTON) != 0;
+
+        if (targetSdk <= Build.VERSION_CODES.Q) {
+            return AccessibilityServiceFragmentType.LEGACY;
+        }
+        return requestA11yButton
+                ? AccessibilityServiceFragmentType.INVISIBLE
+                : AccessibilityServiceFragmentType.INTUITIVE;
+    }
+
+    /**
+     * Opts in component name into multiple {@code shortcutTypes} colon-separated string in
+     * Settings.
+     *
+     * @param context The current context.
+     * @param shortcutTypes  A combination of {@link UserShortcutType}.
+     * @param componentName The component name that need to be opted in Settings.
+     */
+    static void optInAllValuesToSettings(Context context, int shortcutTypes,
+            @NonNull ComponentName componentName) {
+        if ((shortcutTypes & UserShortcutType.SOFTWARE) == UserShortcutType.SOFTWARE) {
+            optInValueToSettings(context, UserShortcutType.SOFTWARE, componentName);
+        }
+        if (((shortcutTypes & UserShortcutType.HARDWARE) == UserShortcutType.HARDWARE)) {
+            optInValueToSettings(context, UserShortcutType.HARDWARE, componentName);
+        }
+    }
+
+    /**
+     * Opts in component name into {@code shortcutType} colon-separated string in Settings.
+     *
+     * @param context The current context.
+     * @param shortcutType The preferred shortcut type user selected.
+     * @param componentName The component name that need to be opted in Settings.
+     */
+    @VisibleForTesting
+    static void optInValueToSettings(Context context, @UserShortcutType int shortcutType,
+            @NonNull ComponentName componentName) {
+        final String targetKey = convertKeyFromSettings(shortcutType);
+        final String targetString = Settings.Secure.getString(context.getContentResolver(),
+                targetKey);
+
+        if (hasValueInSettings(context, shortcutType, componentName)) {
+            return;
+        }
+
+        final StringJoiner joiner = new StringJoiner(String.valueOf(COMPONENT_NAME_SEPARATOR));
+        if (!TextUtils.isEmpty(targetString)) {
+            joiner.add(targetString);
+        }
+        joiner.add(componentName.flattenToString());
+
+        Settings.Secure.putString(context.getContentResolver(), targetKey, joiner.toString());
+    }
+
+    /**
+     * Opts out component name into multiple {@code shortcutTypes} colon-separated string in
+     * Settings.
+     *
+     * @param context The current context.
+     * @param shortcutTypes A combination of {@link UserShortcutType}.
+     * @param componentName The component name that need to be opted out from Settings.
+     */
+    static void optOutAllValuesFromSettings(Context context, int shortcutTypes,
+            @NonNull ComponentName componentName) {
+        if ((shortcutTypes & UserShortcutType.SOFTWARE) == UserShortcutType.SOFTWARE) {
+            optOutValueFromSettings(context, UserShortcutType.SOFTWARE, componentName);
+        }
+        if (((shortcutTypes & UserShortcutType.HARDWARE) == UserShortcutType.HARDWARE)) {
+            optOutValueFromSettings(context, UserShortcutType.HARDWARE, componentName);
+        }
+    }
+
+    /**
+     * Opts out component name into {@code shortcutType} colon-separated string in Settings.
+     *
+     * @param context The current context.
+     * @param shortcutType The preferred shortcut type user selected.
+     * @param componentName The component name that need to be opted out from Settings.
+     */
+    @VisibleForTesting
+    static void optOutValueFromSettings(Context context, @UserShortcutType int shortcutType,
+            @NonNull ComponentName componentName) {
+        final StringJoiner joiner = new StringJoiner(String.valueOf(COMPONENT_NAME_SEPARATOR));
+        final String targetKey = convertKeyFromSettings(shortcutType);
+        final String targetString = Settings.Secure.getString(context.getContentResolver(),
+                targetKey);
+
+        if (TextUtils.isEmpty(targetString)) {
+            return;
+        }
+
+        sStringColonSplitter.setString(targetString);
+        while (sStringColonSplitter.hasNext()) {
+            final String name = sStringColonSplitter.next();
+            if (TextUtils.isEmpty(name) || (componentName.flattenToString()).equals(name)) {
+                continue;
+            }
+            joiner.add(name);
+        }
+
+        Settings.Secure.putString(context.getContentResolver(), targetKey, joiner.toString());
+    }
+
+    /**
+     * Returns if component name existed in one of {@code shortcutTypes} string in Settings.
+     *
+     * @param context The current context.
+     * @param shortcutTypes A combination of {@link UserShortcutType}.
+     * @param componentName The component name that need to be checked existed in Settings.
+     * @return {@code true} if componentName existed in Settings.
+     */
+    static boolean hasValuesInSettings(Context context, int shortcutTypes,
+            @NonNull ComponentName componentName) {
+        boolean exist = false;
+        if ((shortcutTypes & UserShortcutType.SOFTWARE) == UserShortcutType.SOFTWARE) {
+            exist = hasValueInSettings(context, UserShortcutType.SOFTWARE, componentName);
+        }
+        if (((shortcutTypes & UserShortcutType.HARDWARE) == UserShortcutType.HARDWARE)) {
+            exist |= hasValueInSettings(context, UserShortcutType.HARDWARE, componentName);
+        }
+        return exist;
+    }
+
+    /**
+     * Returns if component name existed in {@code shortcutType} string Settings.
+     *
+     * @param context The current context.
+     * @param shortcutType The preferred shortcut type user selected.
+     * @param componentName The component name that need to be checked existed in Settings.
+     * @return {@code true} if componentName existed in Settings.
+     */
+    @VisibleForTesting
+    static boolean hasValueInSettings(Context context, @UserShortcutType int shortcutType,
+            @NonNull ComponentName componentName) {
+        final String targetKey = convertKeyFromSettings(shortcutType);
+        final String targetString = Settings.Secure.getString(context.getContentResolver(),
+                targetKey);
+
+        if (TextUtils.isEmpty(targetString)) {
+            return false;
+        }
+
+        sStringColonSplitter.setString(targetString);
+
+        while (sStringColonSplitter.hasNext()) {
+            final String name = sStringColonSplitter.next();
+            if ((componentName.flattenToString()).equals(name)) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    /**
+     * Gets the corresponding user shortcut type of a given accessibility service.
+     *
+     * @param context The current context.
+     * @param componentName The component name that need to be checked existed in Settings.
+     * @return The user shortcut type if component name existed in {@code UserShortcutType} string
+     * Settings.
+     */
+    static int getUserShortcutTypesFromSettings(Context context,
+            @NonNull ComponentName componentName) {
+        int shortcutTypes = UserShortcutType.EMPTY;
+        if (hasValuesInSettings(context, UserShortcutType.SOFTWARE, componentName)) {
+            shortcutTypes |= UserShortcutType.SOFTWARE;
+        }
+        if (hasValuesInSettings(context, UserShortcutType.HARDWARE, componentName)) {
+            shortcutTypes |= UserShortcutType.HARDWARE;
+        }
+        return shortcutTypes;
+    }
+
+    /**
+     * Converts {@link UserShortcutType} to key in Settings.
+     *
+     * @param shortcutType The shortcut type.
+     * @return Mapping key in Settings.
+     */
+    static String convertKeyFromSettings(@UserShortcutType int shortcutType) {
+        switch (shortcutType) {
+            case UserShortcutType.SOFTWARE:
+                return Settings.Secure.ACCESSIBILITY_BUTTON_TARGET_COMPONENT;
+            case UserShortcutType.HARDWARE:
+                return Settings.Secure.ACCESSIBILITY_SHORTCUT_TARGET_SERVICE;
+            case UserShortcutType.TRIPLETAP:
+                return Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED;
+            default:
+                throw new IllegalArgumentException(
+                        "Unsupported userShortcutType " + shortcutType);
+        }
+    }
+
+    /**
+     * Gets the width of the screen.
+     *
+     * @param context the current context.
+     * @return the width of the screen in terms of pixels.
+     */
+    public static int getScreenWidthPixels(Context context) {
+        final Resources resources = context.getResources();
+        final int screenWidthDp = resources.getConfiguration().screenWidthDp;
+
+        return Math.round(TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, screenWidthDp,
+                resources.getDisplayMetrics()));
+    }
+
+    /**
+     * Gets the height of the screen.
+     *
+     * @param context the current context.
+     * @return the height of the screen in terms of pixels.
+     */
+    public static int getScreenHeightPixels(Context context) {
+        final Resources resources = context.getResources();
+        final int screenHeightDp = resources.getConfiguration().screenHeightDp;
+
+        return Math.round(TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, screenHeightDp,
+                resources.getDisplayMetrics()));
+    }
+}
diff --git a/src/com/android/settings/accessibility/AnimatedImagePreference.java b/src/com/android/settings/accessibility/AnimatedImagePreference.java
new file mode 100644
index 0000000..61e439f
--- /dev/null
+++ b/src/com/android/settings/accessibility/AnimatedImagePreference.java
@@ -0,0 +1,90 @@
+/*
+ * 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.accessibility;
+
+import android.content.Context;
+import android.graphics.drawable.AnimatedImageDrawable;
+import android.graphics.drawable.Drawable;
+import android.net.Uri;
+import android.widget.ImageView;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceViewHolder;
+
+import com.android.settings.R;
+
+/**
+ * A custom {@link ImageView} preference for showing animated or static image, such as <a
+ * href="https://developers.google.com/speed/webp/">animated webp</a> and static png.
+ */
+public class AnimatedImagePreference extends Preference {
+
+    private Uri mImageUri;
+    private int mMaxHeight = -1;
+
+    AnimatedImagePreference(Context context) {
+        super(context);
+        setLayoutResource(R.layout.preference_animated_image);
+    }
+
+    @Override
+    public void onBindViewHolder(PreferenceViewHolder holder) {
+        super.onBindViewHolder(holder);
+
+        final ImageView imageView = holder.itemView.findViewById(R.id.animated_img);
+        if (imageView == null) {
+            return;
+        }
+
+        if (mImageUri != null) {
+            imageView.setImageURI(mImageUri);
+
+            final Drawable drawable = imageView.getDrawable();
+            if (drawable instanceof AnimatedImageDrawable) {
+                ((AnimatedImageDrawable) drawable).start();
+            }
+        }
+
+        if (mMaxHeight > -1) {
+            imageView.setMaxWidth(mMaxHeight);
+        }
+    }
+
+    /**
+     * Sets image uri to display image in {@link ImageView}
+     *
+     * @param imageUri the Uri of an image
+     */
+    public void setImageUri(Uri imageUri) {
+        if (imageUri != null && !imageUri.equals(mImageUri)) {
+            mImageUri = imageUri;
+            notifyChanged();
+        }
+    }
+
+    /**
+     * Sets the maximum height of the view.
+     *
+     * @param maxHeight the maximum height of ImageView in terms of pixels.
+     */
+    public void setMaxHeight(int maxHeight) {
+        if (maxHeight != mMaxHeight) {
+            mMaxHeight = maxHeight;
+            notifyChanged();
+        }
+    }
+}
diff --git a/src/com/android/settings/accessibility/AutoclickPreferenceController.java b/src/com/android/settings/accessibility/AutoclickPreferenceController.java
new file mode 100644
index 0000000..b354aa6
--- /dev/null
+++ b/src/com/android/settings/accessibility/AutoclickPreferenceController.java
@@ -0,0 +1,50 @@
+/*
+ * 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.accessibility;
+
+import android.content.Context;
+import android.provider.Settings;
+import android.view.accessibility.AccessibilityManager;
+
+import com.android.settings.R;
+import com.android.settings.core.BasePreferenceController;
+
+public class AutoclickPreferenceController extends BasePreferenceController {
+
+    public AutoclickPreferenceController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return AVAILABLE;
+    }
+
+    @Override
+    public CharSequence getSummary() {
+        final boolean enabled = Settings.Secure.getInt(mContext.getContentResolver(),
+                Settings.Secure.ACCESSIBILITY_AUTOCLICK_ENABLED, 0) == 1;
+        if (!enabled) {
+            return mContext.getResources().getText(R.string.accessibility_feature_state_off);
+        }
+        final int delay = Settings.Secure.getInt(mContext.getContentResolver(),
+                Settings.Secure.ACCESSIBILITY_AUTOCLICK_DELAY,
+                AccessibilityManager.AUTOCLICK_DELAY_DEFAULT);
+        return ToggleAutoclickPreferenceFragment.getAutoclickPreferenceSummary(
+                mContext.getResources(), delay);
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/settings/accessibility/CaptionAppearanceFragment.java b/src/com/android/settings/accessibility/CaptionAppearanceFragment.java
new file mode 100644
index 0000000..394f50a
--- /dev/null
+++ b/src/com/android/settings/accessibility/CaptionAppearanceFragment.java
@@ -0,0 +1,418 @@
+/*
+ * 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.accessibility;
+
+import android.app.settings.SettingsEnums;
+import android.content.ContentResolver;
+import android.content.Context;
+import android.content.res.Resources;
+import android.graphics.Color;
+import android.os.Bundle;
+import android.provider.Settings;
+import android.view.View;
+import android.view.accessibility.CaptioningManager;
+
+import androidx.preference.ListPreference;
+import androidx.preference.Preference;
+import androidx.preference.Preference.OnPreferenceChangeListener;
+import androidx.preference.PreferenceCategory;
+
+import com.android.internal.widget.SubtitleView;
+import com.android.settings.R;
+import com.android.settings.SettingsPreferenceFragment;
+import com.android.settings.accessibility.ListDialogPreference.OnValueChangedListener;
+import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settingslib.accessibility.AccessibilityUtils;
+import com.android.settingslib.search.SearchIndexable;
+import com.android.settingslib.widget.LayoutPreference;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Locale;
+
+/**
+ * Settings fragment containing font style of captioning properties.
+ */
+@SearchIndexable
+public class CaptionAppearanceFragment extends SettingsPreferenceFragment
+        implements OnPreferenceChangeListener, OnValueChangedListener {
+    private static final String PREF_CAPTION_PREVIEW = "caption_preview";
+    private static final String PREF_BACKGROUND_COLOR = "captioning_background_color";
+    private static final String PREF_BACKGROUND_OPACITY = "captioning_background_opacity";
+    private static final String PREF_FOREGROUND_COLOR = "captioning_foreground_color";
+    private static final String PREF_FOREGROUND_OPACITY = "captioning_foreground_opacity";
+    private static final String PREF_WINDOW_COLOR = "captioning_window_color";
+    private static final String PREF_WINDOW_OPACITY = "captioning_window_opacity";
+    private static final String PREF_EDGE_COLOR = "captioning_edge_color";
+    private static final String PREF_EDGE_TYPE = "captioning_edge_type";
+    private static final String PREF_FONT_SIZE = "captioning_font_size";
+    private static final String PREF_TYPEFACE = "captioning_typeface";
+    private static final String PREF_PRESET = "captioning_preset";
+    private static final String PREF_CUSTOM = "custom";
+
+    /* WebVtt specifies line height as 5.3% of the viewport height. */
+    private static final float LINE_HEIGHT_RATIO = 0.0533f;
+
+    private CaptioningManager mCaptioningManager;
+    private SubtitleView mPreviewText;
+    private View mPreviewWindow;
+    private View mPreviewViewport;
+
+    // Standard options.
+    private ListPreference mFontSize;
+    private PresetPreference mPreset;
+
+    // Custom options.
+    private ListPreference mTypeface;
+    private ColorPreference mForegroundColor;
+    private ColorPreference mForegroundOpacity;
+    private EdgeTypePreference mEdgeType;
+    private ColorPreference mEdgeColor;
+    private ColorPreference mBackgroundColor;
+    private ColorPreference mBackgroundOpacity;
+    private ColorPreference mWindowColor;
+    private ColorPreference mWindowOpacity;
+    private PreferenceCategory mCustom;
+
+    private boolean mShowingCustom;
+
+    private final List<Preference> mPreferenceList = new ArrayList<>();
+
+    private final View.OnLayoutChangeListener mLayoutChangeListener =
+            new View.OnLayoutChangeListener() {
+                @Override
+                public void onLayoutChange(View v, int left, int top, int right, int bottom,
+                        int oldLeft, int oldTop, int oldRight, int oldBottom) {
+                    // Remove the listener once the callback is triggered.
+                    mPreviewViewport.removeOnLayoutChangeListener(this);
+                    refreshPreviewText();
+                }
+            };
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.ACCESSIBILITY_CAPTION_PROPERTIES;
+    }
+
+    @Override
+    public void onCreate(Bundle icicle) {
+        super.onCreate(icicle);
+
+        mCaptioningManager = (CaptioningManager) getSystemService(Context.CAPTIONING_SERVICE);
+
+        addPreferencesFromResource(R.xml.captioning_appearance);
+        initializeAllPreferences();
+        updateAllPreferences();
+        refreshShowingCustom();
+        installUpdateListeners();
+        refreshPreviewText();
+    }
+
+    private void refreshPreviewText() {
+        final Context context = getActivity();
+        if (context == null) {
+            // We've been destroyed, abort!
+            return;
+        }
+
+        final SubtitleView preview = mPreviewText;
+        if (preview != null) {
+            final int styleId = mCaptioningManager.getRawUserStyle();
+            applyCaptionProperties(mCaptioningManager, preview, mPreviewViewport, styleId);
+
+            final Locale locale = mCaptioningManager.getLocale();
+            if (locale != null) {
+                final CharSequence localizedText = AccessibilityUtils.getTextForLocale(
+                        context, locale, R.string.captioning_preview_text);
+                preview.setText(localizedText);
+            } else {
+                preview.setText(R.string.captioning_preview_text);
+            }
+
+            final CaptioningManager.CaptionStyle style = mCaptioningManager.getUserStyle();
+            if (style.hasWindowColor()) {
+                mPreviewWindow.setBackgroundColor(style.windowColor);
+            } else {
+                final CaptioningManager.CaptionStyle defStyle =
+                        CaptioningManager.CaptionStyle.DEFAULT;
+                mPreviewWindow.setBackgroundColor(defStyle.windowColor);
+            }
+        }
+    }
+
+    /**
+     * Updates font style of captioning properties for preview screen.
+     *
+     * @param manager caption manager
+     * @param previewText preview text
+     * @param previewWindow preview window
+     * @param styleId font style id
+     */
+    public static void applyCaptionProperties(CaptioningManager manager, SubtitleView previewText,
+            View previewWindow, int styleId) {
+        previewText.setStyle(styleId);
+
+        final Context context = previewText.getContext();
+        final ContentResolver cr = context.getContentResolver();
+        final float fontScale = manager.getFontScale();
+        if (previewWindow != null) {
+            // Assume the viewport is clipped with a 16:9 aspect ratio.
+            final float virtualHeight = Math.max(9 * previewWindow.getWidth(),
+                    16 * previewWindow.getHeight()) / 16.0f;
+            previewText.setTextSize(virtualHeight * LINE_HEIGHT_RATIO * fontScale);
+        } else {
+            final float textSize = context.getResources().getDimension(
+                    R.dimen.caption_preview_text_size);
+            previewText.setTextSize(textSize * fontScale);
+        }
+
+        final Locale locale = manager.getLocale();
+        if (locale != null) {
+            final CharSequence localizedText = AccessibilityUtils.getTextForLocale(
+                    context, locale, R.string.captioning_preview_characters);
+            previewText.setText(localizedText);
+        } else {
+            previewText.setText(R.string.captioning_preview_characters);
+        }
+    }
+
+    private void initializeAllPreferences() {
+        final LayoutPreference captionPreview = findPreference(PREF_CAPTION_PREVIEW);
+
+        mPreviewText = captionPreview.findViewById(R.id.preview_text);
+
+        mPreviewWindow = captionPreview.findViewById(R.id.preview_window);
+
+        mPreviewViewport = captionPreview.findViewById(R.id.preview_viewport);
+        mPreviewViewport.addOnLayoutChangeListener(mLayoutChangeListener);
+
+        final Resources res = getResources();
+        final int[] presetValues = res.getIntArray(R.array.captioning_preset_selector_values);
+        final String[] presetTitles = res.getStringArray(R.array.captioning_preset_selector_titles);
+        mPreset = (PresetPreference) findPreference(PREF_PRESET);
+        mPreset.setValues(presetValues);
+        mPreset.setTitles(presetTitles);
+
+        mFontSize = (ListPreference) findPreference(PREF_FONT_SIZE);
+
+        // Initialize the preference list
+        mPreferenceList.add(mFontSize);
+        mPreferenceList.add(mPreset);
+
+        mCustom = (PreferenceCategory) findPreference(PREF_CUSTOM);
+        mShowingCustom = true;
+
+        final int[] colorValues = res.getIntArray(R.array.captioning_color_selector_values);
+        final String[] colorTitles = res.getStringArray(R.array.captioning_color_selector_titles);
+        mForegroundColor = (ColorPreference) mCustom.findPreference(PREF_FOREGROUND_COLOR);
+        mForegroundColor.setTitles(colorTitles);
+        mForegroundColor.setValues(colorValues);
+
+        final int[] opacityValues = res.getIntArray(R.array.captioning_opacity_selector_values);
+        final String[] opacityTitles = res.getStringArray(
+                R.array.captioning_opacity_selector_titles);
+        mForegroundOpacity = (ColorPreference) mCustom.findPreference(PREF_FOREGROUND_OPACITY);
+        mForegroundOpacity.setTitles(opacityTitles);
+        mForegroundOpacity.setValues(opacityValues);
+
+        mEdgeColor = (ColorPreference) mCustom.findPreference(PREF_EDGE_COLOR);
+        mEdgeColor.setTitles(colorTitles);
+        mEdgeColor.setValues(colorValues);
+
+        // Add "none" as an additional option for backgrounds.
+        final int[] bgColorValues = new int[colorValues.length + 1];
+        final String[] bgColorTitles = new String[colorTitles.length + 1];
+        System.arraycopy(colorValues, 0, bgColorValues, 1, colorValues.length);
+        System.arraycopy(colorTitles, 0, bgColorTitles, 1, colorTitles.length);
+        bgColorValues[0] = Color.TRANSPARENT;
+        bgColorTitles[0] = getString(R.string.color_none);
+        mBackgroundColor = (ColorPreference) mCustom.findPreference(PREF_BACKGROUND_COLOR);
+        mBackgroundColor.setTitles(bgColorTitles);
+        mBackgroundColor.setValues(bgColorValues);
+
+        mBackgroundOpacity = (ColorPreference) mCustom.findPreference(PREF_BACKGROUND_OPACITY);
+        mBackgroundOpacity.setTitles(opacityTitles);
+        mBackgroundOpacity.setValues(opacityValues);
+
+        mWindowColor = (ColorPreference) mCustom.findPreference(PREF_WINDOW_COLOR);
+        mWindowColor.setTitles(bgColorTitles);
+        mWindowColor.setValues(bgColorValues);
+
+        mWindowOpacity = (ColorPreference) mCustom.findPreference(PREF_WINDOW_OPACITY);
+        mWindowOpacity.setTitles(opacityTitles);
+        mWindowOpacity.setValues(opacityValues);
+
+        mEdgeType = (EdgeTypePreference) mCustom.findPreference(PREF_EDGE_TYPE);
+        mTypeface = (ListPreference) mCustom.findPreference(PREF_TYPEFACE);
+    }
+
+    private void installUpdateListeners() {
+        mPreset.setOnValueChangedListener(this);
+        mForegroundColor.setOnValueChangedListener(this);
+        mForegroundOpacity.setOnValueChangedListener(this);
+        mEdgeColor.setOnValueChangedListener(this);
+        mBackgroundColor.setOnValueChangedListener(this);
+        mBackgroundOpacity.setOnValueChangedListener(this);
+        mWindowColor.setOnValueChangedListener(this);
+        mWindowOpacity.setOnValueChangedListener(this);
+        mEdgeType.setOnValueChangedListener(this);
+
+        mTypeface.setOnPreferenceChangeListener(this);
+        mFontSize.setOnPreferenceChangeListener(this);
+    }
+
+    private void updateAllPreferences() {
+        final int preset = mCaptioningManager.getRawUserStyle();
+        mPreset.setValue(preset);
+
+        final float fontSize = mCaptioningManager.getFontScale();
+        mFontSize.setValue(Float.toString(fontSize));
+
+        final ContentResolver cr = getContentResolver();
+        final CaptioningManager.CaptionStyle attrs = CaptioningManager.CaptionStyle.getCustomStyle(
+                cr);
+        mEdgeType.setValue(attrs.edgeType);
+        mEdgeColor.setValue(attrs.edgeColor);
+
+        final int foregroundColor = attrs.hasForegroundColor() ? attrs.foregroundColor
+                : CaptioningManager.CaptionStyle.COLOR_UNSPECIFIED;
+        parseColorOpacity(mForegroundColor, mForegroundOpacity, foregroundColor);
+
+        final int backgroundColor = attrs.hasBackgroundColor() ? attrs.backgroundColor
+                : CaptioningManager.CaptionStyle.COLOR_UNSPECIFIED;
+        parseColorOpacity(mBackgroundColor, mBackgroundOpacity, backgroundColor);
+
+        final int windowColor = attrs.hasWindowColor() ? attrs.windowColor
+                : CaptioningManager.CaptionStyle.COLOR_UNSPECIFIED;
+        parseColorOpacity(mWindowColor, mWindowOpacity, windowColor);
+
+        final String rawTypeface = attrs.mRawTypeface;
+        mTypeface.setValue(rawTypeface == null ? "" : rawTypeface);
+    }
+
+    /**
+     * Unpacks the specified color value and update the preferences.
+     *
+     * @param color   color preference
+     * @param opacity opacity preference
+     * @param value   packed value
+     */
+    private void parseColorOpacity(ColorPreference color, ColorPreference opacity, int value) {
+        final int colorValue;
+        final int opacityValue;
+        if (!CaptioningManager.CaptionStyle.hasColor(value)) {
+            // "Default" color with variable alpha.
+            colorValue = CaptioningManager.CaptionStyle.COLOR_UNSPECIFIED;
+            opacityValue = (value & 0xFF) << 24;
+        } else if ((value >>> 24) == 0) {
+            // "None" color with variable alpha.
+            colorValue = Color.TRANSPARENT;
+            opacityValue = (value & 0xFF) << 24;
+        } else {
+            // Normal color.
+            colorValue = value | 0xFF000000;
+            opacityValue = value & 0xFF000000;
+        }
+
+        // Opacity value is always white.
+        opacity.setValue(opacityValue | 0xFFFFFF);
+        color.setValue(colorValue);
+    }
+
+    private int mergeColorOpacity(ColorPreference color, ColorPreference opacity) {
+        final int colorValue = color.getValue();
+        final int opacityValue = opacity.getValue();
+        final int value;
+        // "Default" is 0x00FFFFFF or, for legacy support, 0x00000100.
+        if (!CaptioningManager.CaptionStyle.hasColor(colorValue)) {
+            // Encode "default" as 0x00FFFFaa.
+            value = 0x00FFFF00 | Color.alpha(opacityValue);
+        } else if (colorValue == Color.TRANSPARENT) {
+            // Encode "none" as 0x000000aa.
+            value = Color.alpha(opacityValue);
+        } else {
+            // Encode custom color normally.
+            value = colorValue & 0x00FFFFFF | opacityValue & 0xFF000000;
+        }
+        return value;
+    }
+
+    private void refreshShowingCustom() {
+        final boolean customPreset =
+                mPreset.getValue() == CaptioningManager.CaptionStyle.PRESET_CUSTOM;
+        if (!customPreset && mShowingCustom) {
+            getPreferenceScreen().removePreference(mCustom);
+            mShowingCustom = false;
+        } else if (customPreset && !mShowingCustom) {
+            getPreferenceScreen().addPreference(mCustom);
+            mShowingCustom = true;
+        }
+    }
+
+    @Override
+    public void onValueChanged(ListDialogPreference preference, int value) {
+        final ContentResolver cr = getActivity().getContentResolver();
+        if (mForegroundColor == preference || mForegroundOpacity == preference) {
+            final int merged = mergeColorOpacity(mForegroundColor, mForegroundOpacity);
+            Settings.Secure.putInt(
+                    cr, Settings.Secure.ACCESSIBILITY_CAPTIONING_FOREGROUND_COLOR, merged);
+        } else if (mBackgroundColor == preference || mBackgroundOpacity == preference) {
+            final int merged = mergeColorOpacity(mBackgroundColor, mBackgroundOpacity);
+            Settings.Secure.putInt(
+                    cr, Settings.Secure.ACCESSIBILITY_CAPTIONING_BACKGROUND_COLOR, merged);
+        } else if (mWindowColor == preference || mWindowOpacity == preference) {
+            final int merged = mergeColorOpacity(mWindowColor, mWindowOpacity);
+            Settings.Secure.putInt(
+                    cr, Settings.Secure.ACCESSIBILITY_CAPTIONING_WINDOW_COLOR, merged);
+        } else if (mEdgeColor == preference) {
+            Settings.Secure.putInt(cr, Settings.Secure.ACCESSIBILITY_CAPTIONING_EDGE_COLOR, value);
+        } else if (mPreset == preference) {
+            Settings.Secure.putInt(cr, Settings.Secure.ACCESSIBILITY_CAPTIONING_PRESET, value);
+            refreshShowingCustom();
+        } else if (mEdgeType == preference) {
+            Settings.Secure.putInt(cr, Settings.Secure.ACCESSIBILITY_CAPTIONING_EDGE_TYPE, value);
+        }
+
+        refreshPreviewText();
+    }
+
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object value) {
+        final ContentResolver cr = getActivity().getContentResolver();
+        if (mTypeface == preference) {
+            Settings.Secure.putString(
+                    cr, Settings.Secure.ACCESSIBILITY_CAPTIONING_TYPEFACE, (String) value);
+            refreshPreviewText();
+        } else if (mFontSize == preference) {
+            Settings.Secure.putFloat(
+                    cr, Settings.Secure.ACCESSIBILITY_CAPTIONING_FONT_SCALE,
+                    Float.parseFloat((String) value));
+            refreshPreviewText();
+        }
+
+        return true;
+    }
+
+    @Override
+    public int getHelpResource() {
+        return R.string.help_url_caption;
+    }
+
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.captioning_appearance);
+}
+
diff --git a/src/com/android/settings/accessibility/CaptionMoreOptionsFragment.java b/src/com/android/settings/accessibility/CaptionMoreOptionsFragment.java
new file mode 100644
index 0000000..8e5c003
--- /dev/null
+++ b/src/com/android/settings/accessibility/CaptionMoreOptionsFragment.java
@@ -0,0 +1,93 @@
+/*
+ * 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.accessibility;
+
+import android.app.settings.SettingsEnums;
+import android.content.ContentResolver;
+import android.content.Context;
+import android.os.Bundle;
+import android.provider.Settings;
+import android.view.accessibility.CaptioningManager;
+
+import androidx.preference.Preference;
+
+import com.android.settings.R;
+import com.android.settings.SettingsPreferenceFragment;
+import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settingslib.search.SearchIndexable;
+
+/**
+ * Settings fragment containing more options of captioning properties.
+ */
+@SearchIndexable
+public class CaptionMoreOptionsFragment extends SettingsPreferenceFragment
+        implements Preference.OnPreferenceChangeListener {
+    private static final String PREF_LOCALE = "captioning_locale";
+
+    private CaptioningManager mCaptioningManager;
+
+    private LocalePreference mLocale;
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.ACCESSIBILITY_CAPTION_PROPERTIES;
+    }
+
+    @Override
+    public void onCreate(Bundle icicle) {
+        super.onCreate(icicle);
+
+        mCaptioningManager = (CaptioningManager) getSystemService(Context.CAPTIONING_SERVICE);
+
+        addPreferencesFromResource(R.xml.captioning_more_options);
+        initializeAllPreferences();
+        updateAllPreferences();
+        installUpdateListeners();
+    }
+
+    private void initializeAllPreferences() {
+        mLocale = (LocalePreference) findPreference(PREF_LOCALE);
+    }
+
+    private void installUpdateListeners() {
+        mLocale.setOnPreferenceChangeListener(this);
+    }
+
+    private void updateAllPreferences() {
+        final String rawLocale = mCaptioningManager.getRawLocale();
+        mLocale.setValue(rawLocale == null ? "" : rawLocale);
+    }
+
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object value) {
+        final ContentResolver cr = getActivity().getContentResolver();
+        if (mLocale == preference) {
+            Settings.Secure.putString(
+                    cr, Settings.Secure.ACCESSIBILITY_CAPTIONING_LOCALE, (String) value);
+        }
+
+        return true;
+    }
+
+    @Override
+    public int getHelpResource() {
+        return R.string.help_url_caption;
+    }
+
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.captioning_more_options);
+}
diff --git a/src/com/android/settings/accessibility/CaptionPropertiesFragment.java b/src/com/android/settings/accessibility/CaptionPropertiesFragment.java
index 9c344df..43539fd 100644
--- a/src/com/android/settings/accessibility/CaptionPropertiesFragment.java
+++ b/src/com/android/settings/accessibility/CaptionPropertiesFragment.java
@@ -19,81 +19,42 @@
 import android.app.settings.SettingsEnums;
 import android.content.ContentResolver;
 import android.content.Context;
-import android.content.res.Resources;
-import android.graphics.Color;
 import android.os.Bundle;
 import android.provider.Settings;
-import android.view.View;
 import android.view.accessibility.CaptioningManager;
-import android.view.accessibility.CaptioningManager.CaptionStyle;
 
-import androidx.preference.ListPreference;
 import androidx.preference.Preference;
 import androidx.preference.Preference.OnPreferenceChangeListener;
-import androidx.preference.PreferenceCategory;
 import androidx.preference.SwitchPreference;
 
-import com.android.internal.widget.SubtitleView;
 import com.android.settings.R;
 import com.android.settings.SettingsPreferenceFragment;
-import com.android.settings.accessibility.ListDialogPreference.OnValueChangedListener;
-import com.android.settingslib.accessibility.AccessibilityUtils;
-import com.android.settingslib.widget.LayoutPreference;
+import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settingslib.search.SearchIndexable;
+
+import com.google.common.primitives.Floats;
 
 import java.util.ArrayList;
 import java.util.List;
-import java.util.Locale;
 
 /**
  * Settings fragment containing captioning properties.
  */
+@SearchIndexable
 public class CaptionPropertiesFragment extends SettingsPreferenceFragment
-        implements OnPreferenceChangeListener, OnValueChangedListener {
-    private static final String PREF_CAPTION_PREVIEW = "caption_preview";
-    private static final String PREF_BACKGROUND_COLOR = "captioning_background_color";
-    private static final String PREF_BACKGROUND_OPACITY = "captioning_background_opacity";
-    private static final String PREF_FOREGROUND_COLOR = "captioning_foreground_color";
-    private static final String PREF_FOREGROUND_OPACITY = "captioning_foreground_opacity";
-    private static final String PREF_WINDOW_COLOR = "captioning_window_color";
-    private static final String PREF_WINDOW_OPACITY = "captioning_window_opacity";
-    private static final String PREF_EDGE_COLOR = "captioning_edge_color";
-    private static final String PREF_EDGE_TYPE = "captioning_edge_type";
-    private static final String PREF_FONT_SIZE = "captioning_font_size";
-    private static final String PREF_TYPEFACE = "captioning_typeface";
-    private static final String PREF_LOCALE = "captioning_locale";
-    private static final String PREF_PRESET = "captioning_preset";
+        implements OnPreferenceChangeListener {
     private static final String PREF_SWITCH = "captioning_preference_switch";
-    private static final String PREF_CUSTOM = "custom";
-
-    /** WebVtt specifies line height as 5.3% of the viewport height. */
-    private static final float LINE_HEIGHT_RATIO = 0.0533f;
+    private static final String PREF_TEXT = "captioning_caption_appearance";
+    private static final String PREF_MORE = "captioning_more_options";
 
     private CaptioningManager mCaptioningManager;
-    private SubtitleView mPreviewText;
-    private View mPreviewWindow;
-    private View mPreviewViewport;
 
-    // Standard options.
     private SwitchPreference mSwitch;
-    private LocalePreference mLocale;
-    private ListPreference mFontSize;
-    private PresetPreference mPreset;
-
-    // Custom options.
-    private ListPreference mTypeface;
-    private ColorPreference mForegroundColor;
-    private ColorPreference mForegroundOpacity;
-    private EdgeTypePreference mEdgeType;
-    private ColorPreference mEdgeColor;
-    private ColorPreference mBackgroundColor;
-    private ColorPreference mBackgroundOpacity;
-    private ColorPreference mWindowColor;
-    private ColorPreference mWindowOpacity;
-    private PreferenceCategory mCustom;
-
-    private boolean mShowingCustom;
+    private Preference mTextAppearance;
+    private Preference mMoreOptions;
 
     private final List<Preference> mPreferenceList = new ArrayList<>();
+    private float[] mFontSizeValuesArray;
 
     @Override
     public int getMetricsCategory() {
@@ -108,316 +69,70 @@
 
         addPreferencesFromResource(R.xml.captioning_settings);
         initializeAllPreferences();
-        updateAllPreferences();
-        refreshShowingCustom();
         installUpdateListeners();
-        refreshPreviewText();
-    }
-
-    private void setPreferenceViewEnabled(boolean enabled) {
-        for (Preference preference : mPreferenceList) {
-            preference.setEnabled(enabled);
-        }
-    }
-
-    private void refreshPreferenceViewEnabled(boolean enabled) {
-        setPreferenceViewEnabled(enabled);
-        mPreviewText.setVisibility(enabled ? View.VISIBLE : View.INVISIBLE);
-    }
-
-    private void refreshPreviewText() {
-        final Context context = getActivity();
-        if (context == null) {
-            // We've been destroyed, abort!
-            return;
-        }
-
-        final SubtitleView preview = mPreviewText;
-        if (preview != null) {
-            final int styleId = mCaptioningManager.getRawUserStyle();
-            applyCaptionProperties(mCaptioningManager, preview, mPreviewViewport, styleId);
-
-            final Locale locale = mCaptioningManager.getLocale();
-            if (locale != null) {
-                final CharSequence localizedText = AccessibilityUtils.getTextForLocale(
-                        context, locale, R.string.captioning_preview_text);
-                preview.setText(localizedText);
-            } else {
-                preview.setText(R.string.captioning_preview_text);
-            }
-
-            final CaptionStyle style = mCaptioningManager.getUserStyle();
-            if (style.hasWindowColor()) {
-                mPreviewWindow.setBackgroundColor(style.windowColor);
-            } else {
-                final CaptionStyle defStyle = CaptionStyle.DEFAULT;
-                mPreviewWindow.setBackgroundColor(defStyle.windowColor);
-            }
-        }
-    }
-
-    public static void applyCaptionProperties(CaptioningManager manager, SubtitleView previewText,
-            View previewWindow, int styleId) {
-        previewText.setStyle(styleId);
-
-        final Context context = previewText.getContext();
-        final ContentResolver cr = context.getContentResolver();
-        final float fontScale = manager.getFontScale();
-        if (previewWindow != null) {
-            // Assume the viewport is clipped with a 16:9 aspect ratio.
-            final float virtualHeight = Math.max(9 * previewWindow.getWidth(),
-                    16 * previewWindow.getHeight()) / 16.0f;
-            previewText.setTextSize(virtualHeight * LINE_HEIGHT_RATIO * fontScale);
-        } else {
-            final float textSize = context.getResources().getDimension(
-                    R.dimen.caption_preview_text_size);
-            previewText.setTextSize(textSize * fontScale);
-        }
-
-        final Locale locale = manager.getLocale();
-        if (locale != null) {
-            final CharSequence localizedText = AccessibilityUtils.getTextForLocale(
-                    context, locale, R.string.captioning_preview_characters);
-            previewText.setText(localizedText);
-        } else {
-            previewText.setText(R.string.captioning_preview_characters);
-        }
-    }
-
-    private void initializeAllPreferences() {
-        final LayoutPreference captionPreview = findPreference(PREF_CAPTION_PREVIEW);
-
-        mPreviewText = captionPreview.findViewById(R.id.preview_text);
-
-        mPreviewWindow = captionPreview.findViewById(R.id.preview_window);
-
-        mPreviewViewport = captionPreview.findViewById(R.id.preview_viewport);
-        mPreviewViewport.addOnLayoutChangeListener(
-                (v, left, top, right, bottom, oldLeft, oldTop, oldRight, oldBottom)
-                        -> refreshPreviewText());
-
-        final Resources res = getResources();
-        final int[] presetValues = res.getIntArray(R.array.captioning_preset_selector_values);
-        final String[] presetTitles = res.getStringArray(R.array.captioning_preset_selector_titles);
-        mPreset = (PresetPreference) findPreference(PREF_PRESET);
-        mPreset.setValues(presetValues);
-        mPreset.setTitles(presetTitles);
-
-        mSwitch = (SwitchPreference) findPreference(PREF_SWITCH);
-        mLocale = (LocalePreference) findPreference(PREF_LOCALE);
-        mFontSize = (ListPreference) findPreference(PREF_FONT_SIZE);
-
-        // Initialize the preference list
-        mPreferenceList.add(mLocale);
-        mPreferenceList.add(mFontSize);
-        mPreferenceList.add(mPreset);
-
-        refreshPreferenceViewEnabled(mCaptioningManager.isEnabled());
-
-        mCustom = (PreferenceCategory) findPreference(PREF_CUSTOM);
-        mShowingCustom = true;
-
-        final int[] colorValues = res.getIntArray(R.array.captioning_color_selector_values);
-        final String[] colorTitles = res.getStringArray(R.array.captioning_color_selector_titles);
-        mForegroundColor = (ColorPreference) mCustom.findPreference(PREF_FOREGROUND_COLOR);
-        mForegroundColor.setTitles(colorTitles);
-        mForegroundColor.setValues(colorValues);
-
-        final int[] opacityValues = res.getIntArray(R.array.captioning_opacity_selector_values);
-        final String[] opacityTitles = res.getStringArray(
-                R.array.captioning_opacity_selector_titles);
-        mForegroundOpacity = (ColorPreference) mCustom.findPreference(PREF_FOREGROUND_OPACITY);
-        mForegroundOpacity.setTitles(opacityTitles);
-        mForegroundOpacity.setValues(opacityValues);
-
-        mEdgeColor = (ColorPreference) mCustom.findPreference(PREF_EDGE_COLOR);
-        mEdgeColor.setTitles(colorTitles);
-        mEdgeColor.setValues(colorValues);
-
-        // Add "none" as an additional option for backgrounds.
-        final int[] bgColorValues = new int[colorValues.length + 1];
-        final String[] bgColorTitles = new String[colorTitles.length + 1];
-        System.arraycopy(colorValues, 0, bgColorValues, 1, colorValues.length);
-        System.arraycopy(colorTitles, 0, bgColorTitles, 1, colorTitles.length);
-        bgColorValues[0] = Color.TRANSPARENT;
-        bgColorTitles[0] = getString(R.string.color_none);
-        mBackgroundColor = (ColorPreference) mCustom.findPreference(PREF_BACKGROUND_COLOR);
-        mBackgroundColor.setTitles(bgColorTitles);
-        mBackgroundColor.setValues(bgColorValues);
-
-        mBackgroundOpacity = (ColorPreference) mCustom.findPreference(PREF_BACKGROUND_OPACITY);
-        mBackgroundOpacity.setTitles(opacityTitles);
-        mBackgroundOpacity.setValues(opacityValues);
-
-        mWindowColor = (ColorPreference) mCustom.findPreference(PREF_WINDOW_COLOR);
-        mWindowColor.setTitles(bgColorTitles);
-        mWindowColor.setValues(bgColorValues);
-
-        mWindowOpacity = (ColorPreference) mCustom.findPreference(PREF_WINDOW_OPACITY);
-        mWindowOpacity.setTitles(opacityTitles);
-        mWindowOpacity.setValues(opacityValues);
-
-        mEdgeType = (EdgeTypePreference) mCustom.findPreference(PREF_EDGE_TYPE);
-        mTypeface = (ListPreference) mCustom.findPreference(PREF_TYPEFACE);
-    }
-
-    private void installUpdateListeners() {
-        mPreset.setOnValueChangedListener(this);
-        mForegroundColor.setOnValueChangedListener(this);
-        mForegroundOpacity.setOnValueChangedListener(this);
-        mEdgeColor.setOnValueChangedListener(this);
-        mBackgroundColor.setOnValueChangedListener(this);
-        mBackgroundOpacity.setOnValueChangedListener(this);
-        mWindowColor.setOnValueChangedListener(this);
-        mWindowOpacity.setOnValueChangedListener(this);
-        mEdgeType.setOnValueChangedListener(this);
-
-        mSwitch.setOnPreferenceChangeListener(this);
-        mTypeface.setOnPreferenceChangeListener(this);
-        mFontSize.setOnPreferenceChangeListener(this);
-        mLocale.setOnPreferenceChangeListener(this);
-    }
-
-    private void updateAllPreferences() {
-        final int preset = mCaptioningManager.getRawUserStyle();
-        mPreset.setValue(preset);
-
-        final float fontSize = mCaptioningManager.getFontScale();
-        mFontSize.setValue(Float.toString(fontSize));
-
-        final ContentResolver cr = getContentResolver();
-        final CaptionStyle attrs = CaptionStyle.getCustomStyle(cr);
-        mEdgeType.setValue(attrs.edgeType);
-        mEdgeColor.setValue(attrs.edgeColor);
-
-        final int foregroundColor = attrs.hasForegroundColor() ?
-                attrs.foregroundColor : CaptionStyle.COLOR_UNSPECIFIED;
-        parseColorOpacity(mForegroundColor, mForegroundOpacity, foregroundColor);
-
-        final int backgroundColor = attrs.hasBackgroundColor() ?
-                attrs.backgroundColor : CaptionStyle.COLOR_UNSPECIFIED;
-        parseColorOpacity(mBackgroundColor, mBackgroundOpacity, backgroundColor);
-
-        final int windowColor = attrs.hasWindowColor() ?
-                attrs.windowColor : CaptionStyle.COLOR_UNSPECIFIED;
-        parseColorOpacity(mWindowColor, mWindowOpacity, windowColor);
-
-        final String rawTypeface = attrs.mRawTypeface;
-        mTypeface.setValue(rawTypeface == null ? "" : rawTypeface);
-
-        final String rawLocale = mCaptioningManager.getRawLocale();
-        mLocale.setValue(rawLocale == null ? "" : rawLocale);
-
-        mSwitch.setChecked(mCaptioningManager.isEnabled());
-    }
-
-    /**
-     * Unpack the specified color value and update the preferences.
-     *
-     * @param color   color preference
-     * @param opacity opacity preference
-     * @param value   packed value
-     */
-    private void parseColorOpacity(ColorPreference color, ColorPreference opacity, int value) {
-        final int colorValue;
-        final int opacityValue;
-        if (!CaptionStyle.hasColor(value)) {
-            // "Default" color with variable alpha.
-            colorValue = CaptionStyle.COLOR_UNSPECIFIED;
-            opacityValue = (value & 0xFF) << 24;
-        } else if ((value >>> 24) == 0) {
-            // "None" color with variable alpha.
-            colorValue = Color.TRANSPARENT;
-            opacityValue = (value & 0xFF) << 24;
-        } else {
-            // Normal color.
-            colorValue = value | 0xFF000000;
-            opacityValue = value & 0xFF000000;
-        }
-
-        // Opacity value is always white.
-        opacity.setValue(opacityValue | 0xFFFFFF);
-        color.setValue(colorValue);
-    }
-
-    private int mergeColorOpacity(ColorPreference color, ColorPreference opacity) {
-        final int colorValue = color.getValue();
-        final int opacityValue = opacity.getValue();
-        final int value;
-        // "Default" is 0x00FFFFFF or, for legacy support, 0x00000100.
-        if (!CaptionStyle.hasColor(colorValue)) {
-            // Encode "default" as 0x00FFFFaa.
-            value = 0x00FFFF00 | Color.alpha(opacityValue);
-        } else if (colorValue == Color.TRANSPARENT) {
-            // Encode "none" as 0x000000aa.
-            value = Color.alpha(opacityValue);
-        } else {
-            // Encode custom color normally.
-            value = colorValue & 0x00FFFFFF | opacityValue & 0xFF000000;
-        }
-        return value;
-    }
-
-    private void refreshShowingCustom() {
-        final boolean customPreset = mPreset.getValue() == CaptionStyle.PRESET_CUSTOM;
-        if (!customPreset && mShowingCustom) {
-            getPreferenceScreen().removePreference(mCustom);
-            mShowingCustom = false;
-        } else if (customPreset && !mShowingCustom) {
-            getPreferenceScreen().addPreference(mCustom);
-            mShowingCustom = true;
-        }
+        initFontSizeValuesArray();
     }
 
     @Override
-    public void onValueChanged(ListDialogPreference preference, int value) {
-        final ContentResolver cr = getActivity().getContentResolver();
-        if (mForegroundColor == preference || mForegroundOpacity == preference) {
-            final int merged = mergeColorOpacity(mForegroundColor, mForegroundOpacity);
-            Settings.Secure.putInt(
-                    cr, Settings.Secure.ACCESSIBILITY_CAPTIONING_FOREGROUND_COLOR, merged);
-        } else if (mBackgroundColor == preference || mBackgroundOpacity == preference) {
-            final int merged = mergeColorOpacity(mBackgroundColor, mBackgroundOpacity);
-            Settings.Secure.putInt(
-                    cr, Settings.Secure.ACCESSIBILITY_CAPTIONING_BACKGROUND_COLOR, merged);
-        } else if (mWindowColor == preference || mWindowOpacity == preference) {
-            final int merged = mergeColorOpacity(mWindowColor, mWindowOpacity);
-            Settings.Secure.putInt(
-                    cr, Settings.Secure.ACCESSIBILITY_CAPTIONING_WINDOW_COLOR, merged);
-        } else if (mEdgeColor == preference) {
-            Settings.Secure.putInt(cr, Settings.Secure.ACCESSIBILITY_CAPTIONING_EDGE_COLOR, value);
-        } else if (mPreset == preference) {
-            Settings.Secure.putInt(cr, Settings.Secure.ACCESSIBILITY_CAPTIONING_PRESET, value);
-            refreshShowingCustom();
-        } else if (mEdgeType == preference) {
-            Settings.Secure.putInt(cr, Settings.Secure.ACCESSIBILITY_CAPTIONING_EDGE_TYPE, value);
-        }
+    public void onResume() {
+        super.onResume();
+        updateAllPreferences();
+    }
 
-        refreshPreviewText();
+    private void initializeAllPreferences() {
+        mSwitch = (SwitchPreference) findPreference(PREF_SWITCH);
+        mTextAppearance = (Preference) findPreference(PREF_TEXT);
+        mMoreOptions = (Preference) findPreference(PREF_MORE);
+
+        mPreferenceList.add(mTextAppearance);
+        mPreferenceList.add(mMoreOptions);
+    }
+
+    private void installUpdateListeners() {
+        mSwitch.setOnPreferenceChangeListener(this);
+    }
+
+    private void initFontSizeValuesArray() {
+        final String[] fontSizeValuesStrArray = getPrefContext().getResources().getStringArray(
+                R.array.captioning_font_size_selector_values);
+        final int length = fontSizeValuesStrArray.length;
+        mFontSizeValuesArray = new float[length];
+        for (int i = 0; i < length; ++i) {
+            mFontSizeValuesArray[i] = Float.parseFloat(fontSizeValuesStrArray[i]);
+        }
+    }
+
+    private void updateAllPreferences() {
+        mSwitch.setChecked(mCaptioningManager.isEnabled());
+        mTextAppearance.setSummary(geTextAppearanceSummary(getPrefContext()));
     }
 
     @Override
     public boolean onPreferenceChange(Preference preference, Object value) {
         final ContentResolver cr = getActivity().getContentResolver();
-        if (mTypeface == preference) {
-            Settings.Secure.putString(
-                    cr, Settings.Secure.ACCESSIBILITY_CAPTIONING_TYPEFACE, (String) value);
-            refreshPreviewText();
-        } else if (mFontSize == preference) {
-            Settings.Secure.putFloat(
-                    cr, Settings.Secure.ACCESSIBILITY_CAPTIONING_FONT_SCALE,
-                    Float.parseFloat((String) value));
-            refreshPreviewText();
-        } else if (mLocale == preference) {
-            Settings.Secure.putString(
-                    cr, Settings.Secure.ACCESSIBILITY_CAPTIONING_LOCALE, (String) value);
-            refreshPreviewText();
-        } else if (mSwitch == preference) {
+        if (mSwitch == preference) {
             Settings.Secure.putInt(
                     cr, Settings.Secure.ACCESSIBILITY_CAPTIONING_ENABLED, (boolean) value ? 1 : 0);
-            refreshPreferenceViewEnabled((boolean) value);
         }
 
         return true;
     }
+
+    @Override
+    public int getHelpResource() {
+        return R.string.help_url_caption;
+    }
+
+    private CharSequence geTextAppearanceSummary(Context context) {
+        final String[] fontSizeSummaries = context.getResources().getStringArray(
+                R.array.captioning_font_size_selector_titles);
+
+        final float fontSize = mCaptioningManager.getFontScale();
+        final int idx = Floats.indexOf(mFontSizeValuesArray, fontSize);
+        final String fontSizeSummary = fontSizeSummaries[idx == /* not exist */ -1 ? 0 : idx];
+        return context.getString(R.string.captioning_caption_appearance_summary, fontSizeSummary);
+    }
+
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.captioning_settings);
 }
diff --git a/src/com/android/settings/accessibility/CaptioningPreferenceController.java b/src/com/android/settings/accessibility/CaptioningPreferenceController.java
new file mode 100644
index 0000000..35d9507
--- /dev/null
+++ b/src/com/android/settings/accessibility/CaptioningPreferenceController.java
@@ -0,0 +1,40 @@
+/*
+ * 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.accessibility;
+
+import android.content.Context;
+import android.provider.Settings;
+
+import com.android.settings.core.BasePreferenceController;
+
+public class CaptioningPreferenceController extends BasePreferenceController {
+
+    public CaptioningPreferenceController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return AVAILABLE;
+    }
+
+    @Override
+    public CharSequence getSummary() {
+        return AccessibilityUtil.getSummary(mContext,
+                Settings.Secure.ACCESSIBILITY_CAPTIONING_ENABLED);
+    }
+}
diff --git a/src/com/android/settings/accessibility/ColorInversionPreferenceController.java b/src/com/android/settings/accessibility/ColorInversionPreferenceController.java
index 4e4c17b..926bc0d 100644
--- a/src/com/android/settings/accessibility/ColorInversionPreferenceController.java
+++ b/src/com/android/settings/accessibility/ColorInversionPreferenceController.java
@@ -19,30 +19,21 @@
 import android.content.Context;
 import android.provider.Settings;
 
-import androidx.annotation.VisibleForTesting;
+import com.android.settings.core.BasePreferenceController;
 
-import com.android.settings.core.TogglePreferenceController;
+/** Controller that shows the color inversion summary. */
+public class ColorInversionPreferenceController extends BasePreferenceController {
 
-public class ColorInversionPreferenceController extends TogglePreferenceController {
-    @VisibleForTesting
-    static final int ON = 1;
-    @VisibleForTesting
-    static final int OFF = 0;
+    private static final String DISPLAY_INVERSION_ENABLED =
+            Settings.Secure.ACCESSIBILITY_DISPLAY_INVERSION_ENABLED;
 
     public ColorInversionPreferenceController(Context context, String preferenceKey) {
         super(context, preferenceKey);
     }
 
     @Override
-    public boolean isChecked() {
-        return Settings.Secure.getInt(mContext.getContentResolver(),
-                Settings.Secure.ACCESSIBILITY_DISPLAY_INVERSION_ENABLED, OFF) == ON;
-    }
-
-    @Override
-    public boolean setChecked(boolean isChecked) {
-        return Settings.Secure.putInt(mContext.getContentResolver(),
-                Settings.Secure.ACCESSIBILITY_DISPLAY_INVERSION_ENABLED, (isChecked ? ON : OFF));
+    public CharSequence getSummary() {
+        return AccessibilityUtil.getSummary(mContext, DISPLAY_INVERSION_ENABLED);
     }
 
     @Override
diff --git a/src/com/android/settings/accessibility/DaltonizerPreferenceController.java b/src/com/android/settings/accessibility/DaltonizerPreferenceController.java
new file mode 100644
index 0000000..c859d8c
--- /dev/null
+++ b/src/com/android/settings/accessibility/DaltonizerPreferenceController.java
@@ -0,0 +1,42 @@
+/*
+ * 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.accessibility;
+
+import android.content.Context;
+import android.provider.Settings;
+
+import com.android.settings.core.BasePreferenceController;
+
+/** Controller that shows and updates the color correction summary. */
+public class DaltonizerPreferenceController extends BasePreferenceController {
+    private static final String DALTONIZER_ENABLED =
+            Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER_ENABLED;
+
+    public DaltonizerPreferenceController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return AVAILABLE;
+    }
+
+    @Override
+    public CharSequence getSummary() {
+        return AccessibilityUtil.getSummary(mContext, DALTONIZER_ENABLED);
+    }
+}
diff --git a/src/com/android/settings/accessibility/DaltonizerRadioButtonPreferenceController.java b/src/com/android/settings/accessibility/DaltonizerRadioButtonPreferenceController.java
new file mode 100644
index 0000000..f6f554e
--- /dev/null
+++ b/src/com/android/settings/accessibility/DaltonizerRadioButtonPreferenceController.java
@@ -0,0 +1,167 @@
+/*
+ * 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.accessibility;
+
+import android.content.ContentResolver;
+import android.content.Context;
+import android.content.res.Resources;
+import android.provider.Settings;
+import android.view.View;
+import android.view.accessibility.AccessibilityManager;
+
+import androidx.lifecycle.LifecycleObserver;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settings.core.BasePreferenceController;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+import com.android.settingslib.widget.RadioButtonPreference;
+
+import com.google.common.primitives.Ints;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/** Controller class that control radio button of accessibility daltonizer settings. */
+public class DaltonizerRadioButtonPreferenceController extends BasePreferenceController implements
+        LifecycleObserver, RadioButtonPreference.OnClickListener {
+    private static final String TYPE = Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER;
+
+    // pair the preference key and daltonizer value.
+    private final Map<String, Integer> mAccessibilityDaltonizerKeyToValueMap = new HashMap<>();
+
+    // RadioButtonPreference key, each preference represent a daltonizer value.
+    private final ContentResolver mContentResolver;
+    private final Resources mResources;
+    private DaltonizerRadioButtonPreferenceController.OnChangeListener mOnChangeListener;
+    private RadioButtonPreference mPreference;
+    private int mAccessibilityDaltonizerValue;
+
+    public DaltonizerRadioButtonPreferenceController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+
+        mContentResolver = context.getContentResolver();
+        mResources = context.getResources();
+    }
+
+    public DaltonizerRadioButtonPreferenceController(Context context, Lifecycle lifecycle,
+            String preferenceKey) {
+        super(context, preferenceKey);
+
+        mContentResolver = context.getContentResolver();
+        mResources = context.getResources();
+
+        if (lifecycle != null) {
+            lifecycle.addObserver(this);
+        }
+    }
+
+    protected static int getSecureAccessibilityDaltonizerValue(ContentResolver resolver,
+            String name) {
+        final String daltonizerStringValue = Settings.Secure.getString(resolver, name);
+        if (daltonizerStringValue == null) {
+            return AccessibilityManager.DALTONIZER_CORRECT_DEUTERANOMALY;
+        }
+        final Integer daltonizerIntValue = Ints.tryParse(daltonizerStringValue);
+        return daltonizerIntValue == null ? AccessibilityManager.DALTONIZER_CORRECT_DEUTERANOMALY
+                : daltonizerIntValue;
+    }
+
+    public void setOnChangeListener(
+            DaltonizerRadioButtonPreferenceController.OnChangeListener listener) {
+        mOnChangeListener = listener;
+    }
+
+    private Map<String, Integer> getDaltonizerValueToKeyMap() {
+        if (mAccessibilityDaltonizerKeyToValueMap.size() == 0) {
+
+            final String[] daltonizerKeys = mResources.getStringArray(
+                    R.array.daltonizer_mode_keys);
+
+            final int[] daltonizerValues = mResources.getIntArray(
+                    R.array.daltonizer_type_values);
+
+            final int daltonizerValueCount = daltonizerValues.length;
+            for (int i = 0; i < daltonizerValueCount; i++) {
+                mAccessibilityDaltonizerKeyToValueMap.put(daltonizerKeys[i], daltonizerValues[i]);
+            }
+        }
+        return mAccessibilityDaltonizerKeyToValueMap;
+    }
+
+    private void putSecureString(String name, String value) {
+        Settings.Secure.putString(mContentResolver, name, value);
+    }
+
+    private void handlePreferenceChange(String value) {
+        putSecureString(TYPE, value);
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return AVAILABLE;
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        mPreference = (RadioButtonPreference)
+                screen.findPreference(getPreferenceKey());
+        mPreference.setOnClickListener(this);
+        mPreference.setAppendixVisibility(View.GONE);
+        updateState(mPreference);
+    }
+
+    @Override
+    public void onRadioButtonClicked(RadioButtonPreference preference) {
+        final int value = getDaltonizerValueToKeyMap().get(mPreferenceKey);
+        handlePreferenceChange(String.valueOf(value));
+        if (mOnChangeListener != null) {
+            mOnChangeListener.onCheckedChanged(mPreference);
+        }
+    }
+
+    private int getAccessibilityDaltonizerValue() {
+        final int daltonizerValue = getSecureAccessibilityDaltonizerValue(mContentResolver,
+                TYPE);
+        return daltonizerValue;
+    }
+
+    protected void updatePreferenceCheckedState(int value) {
+        if (mAccessibilityDaltonizerValue == value) {
+            mPreference.setChecked(true);
+        }
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        super.updateState(preference);
+        mAccessibilityDaltonizerValue = getAccessibilityDaltonizerValue();
+
+        // reset RadioButton
+        mPreference.setChecked(false);
+        final int preferenceValue = getDaltonizerValueToKeyMap().get(mPreference.getKey());
+        updatePreferenceCheckedState(preferenceValue);
+    }
+
+    /** Listener interface handles checked event. */
+    public interface OnChangeListener {
+        /** A hook that is called when preference checked. */
+        void onCheckedChanged(Preference preference);
+    }
+}
diff --git a/src/com/android/settings/accessibility/DisableAnimationsPreferenceController.java b/src/com/android/settings/accessibility/DisableAnimationsPreferenceController.java
new file mode 100644
index 0000000..1f91a87
--- /dev/null
+++ b/src/com/android/settings/accessibility/DisableAnimationsPreferenceController.java
@@ -0,0 +1,74 @@
+/*
+ * 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.accessibility;
+
+import android.content.Context;
+import android.provider.Settings;
+import android.text.TextUtils;
+
+import androidx.annotation.VisibleForTesting;
+
+import com.android.settings.core.TogglePreferenceController;
+
+public class DisableAnimationsPreferenceController extends TogglePreferenceController {
+
+    @VisibleForTesting
+    static final String ANIMATION_ON_VALUE = "1";
+    @VisibleForTesting
+    static final String ANIMATION_OFF_VALUE = "0";
+
+    // Settings that should be changed when toggling animations
+    @VisibleForTesting
+    static final String[] TOGGLE_ANIMATION_TARGETS = {
+            Settings.Global.WINDOW_ANIMATION_SCALE, Settings.Global.TRANSITION_ANIMATION_SCALE,
+            Settings.Global.ANIMATOR_DURATION_SCALE
+    };
+
+    public DisableAnimationsPreferenceController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+    }
+
+    @Override
+    public boolean isChecked() {
+        boolean allAnimationsDisabled = true;
+        for (String animationSetting : TOGGLE_ANIMATION_TARGETS) {
+            if (!TextUtils.equals(
+                    Settings.Global.getString(mContext.getContentResolver(), animationSetting),
+                    ANIMATION_OFF_VALUE)) {
+                allAnimationsDisabled = false;
+                break;
+            }
+        }
+        return allAnimationsDisabled;
+    }
+
+    @Override
+    public boolean setChecked(boolean isChecked) {
+        final String newAnimationValue = isChecked ? ANIMATION_OFF_VALUE : ANIMATION_ON_VALUE;
+        boolean allAnimationSet = true;
+        for (String animationPreference : TOGGLE_ANIMATION_TARGETS) {
+            allAnimationSet &= Settings.Global.putString(mContext.getContentResolver(),
+                    animationPreference, newAnimationValue);
+        }
+        return allAnimationSet;
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return AVAILABLE;
+    }
+}
diff --git a/src/com/android/settings/accessibility/DividerSwitchPreference.java b/src/com/android/settings/accessibility/DividerSwitchPreference.java
new file mode 100644
index 0000000..2c44789
--- /dev/null
+++ b/src/com/android/settings/accessibility/DividerSwitchPreference.java
@@ -0,0 +1,89 @@
+/*
+ * 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.view.View;
+
+import androidx.preference.PreferenceViewHolder;
+import androidx.preference.SwitchPreference;
+
+/**
+ * A switch preference that has a divider below and above. Used for Accessibility Settings use
+ * service.
+ */
+public final class DividerSwitchPreference extends SwitchPreference {
+
+    private Boolean mDividerAllowedAbove;
+    private Boolean mDividerAllowBelow;
+    private int mSwitchVisibility;
+
+    public DividerSwitchPreference(Context context) {
+        super(context);
+        mDividerAllowedAbove = true;
+        mDividerAllowBelow = true;
+        mSwitchVisibility = View.VISIBLE;
+    }
+
+    @Override
+    public void onBindViewHolder(PreferenceViewHolder holder) {
+        super.onBindViewHolder(holder);
+        holder.setDividerAllowedAbove(mDividerAllowedAbove);
+        holder.setDividerAllowedBelow(mDividerAllowBelow);
+
+        final View switchView = holder.itemView.findViewById(android.R.id.widget_frame);
+        if (switchView != null) {
+            switchView.setVisibility(mSwitchVisibility);
+        }
+    }
+
+    /**
+     * Sets divider whether to show in preference above.
+     *
+     * @param allowed true will be drawn on above this item
+     */
+    public void setDividerAllowedAbove(boolean allowed) {
+        if (mDividerAllowedAbove != allowed) {
+            mDividerAllowedAbove = allowed;
+            notifyChanged();
+        }
+    }
+
+    /**
+     * Sets divider whether to show in preference below.
+     *
+     * @param allowed true will be drawn on below this item
+     */
+    public void setDividerAllowedBelow(boolean allowed) {
+        if (mDividerAllowedAbove != allowed) {
+            mDividerAllowBelow = allowed;
+            notifyChanged();
+        }
+    }
+
+    /**
+     * Sets the visibility state of Settings view.
+     *
+     * @param visibility one of {@link View#VISIBLE}, {@link View#INVISIBLE}, or {@link View#GONE}.
+     */
+    public void setSwitchVisibility(@View.Visibility int visibility) {
+        if (mSwitchVisibility != visibility) {
+            mSwitchVisibility = visibility;
+            notifyChanged();
+        }
+    }
+}
diff --git a/src/com/android/settings/accessibility/HearingAidDialogFragment.java b/src/com/android/settings/accessibility/HearingAidDialogFragment.java
index 67b9d39..63633d8 100644
--- a/src/com/android/settings/accessibility/HearingAidDialogFragment.java
+++ b/src/com/android/settings/accessibility/HearingAidDialogFragment.java
@@ -37,8 +37,7 @@
     @Override
     public Dialog onCreateDialog(Bundle savedInstanceState) {
         return new AlertDialog.Builder(getActivity())
-                .setTitle(R.string.accessibility_hearingaid_pair_instructions_first_message)
-                .setMessage(R.string.accessibility_hearingaid_pair_instructions_second_message)
+                .setMessage(R.string.accessibility_hearingaid_pair_instructions_message)
                 .setPositiveButton(R.string.accessibility_hearingaid_instruction_continue_button,
                         new DialogInterface.OnClickListener() {
                             public void onClick(DialogInterface dialog, int which) {
diff --git a/src/com/android/settings/accessibility/HighTextContrastPreferenceController.java b/src/com/android/settings/accessibility/HighTextContrastPreferenceController.java
new file mode 100644
index 0000000..f4474d6
--- /dev/null
+++ b/src/com/android/settings/accessibility/HighTextContrastPreferenceController.java
@@ -0,0 +1,46 @@
+/*
+ * 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.accessibility;
+
+import android.content.Context;
+import android.provider.Settings;
+
+import com.android.settings.core.TogglePreferenceController;
+
+public class HighTextContrastPreferenceController extends TogglePreferenceController {
+
+    public HighTextContrastPreferenceController(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.ACCESSIBILITY_HIGH_TEXT_CONTRAST_ENABLED, 0) == 1;
+    }
+
+    @Override
+    public boolean setChecked(boolean isChecked) {
+        return Settings.Secure.putInt(mContext.getContentResolver(),
+                Settings.Secure.ACCESSIBILITY_HIGH_TEXT_CONTRAST_ENABLED, (isChecked ? 1 : 0));
+    }
+}
diff --git a/src/com/android/settings/accessibility/HtmlTextPreference.java b/src/com/android/settings/accessibility/HtmlTextPreference.java
new file mode 100644
index 0000000..4c528a3
--- /dev/null
+++ b/src/com/android/settings/accessibility/HtmlTextPreference.java
@@ -0,0 +1,86 @@
+/*
+ * 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.accessibility;
+
+import android.content.Context;
+import android.text.Html;
+import android.text.TextUtils;
+import android.widget.TextView;
+
+import androidx.preference.PreferenceViewHolder;
+
+/**
+ * A custom {@link android.widget.TextView} preference that shows html text with a custom tag
+ * filter.
+ */
+public final class HtmlTextPreference extends StaticTextPreference {
+
+    private int mFlag = Html.FROM_HTML_MODE_COMPACT;
+    private Html.ImageGetter mImageGetter;
+    private Html.TagHandler mTagHandler;
+
+    HtmlTextPreference(Context context) {
+        super(context);
+    }
+
+    @Override
+    public void onBindViewHolder(PreferenceViewHolder holder) {
+        super.onBindViewHolder(holder);
+
+        final TextView summaryView = holder.itemView.findViewById(android.R.id.summary);
+        if (summaryView != null && !TextUtils.isEmpty(getSummary())) {
+            summaryView.setText(
+                    Html.fromHtml(getSummary().toString(), mFlag, mImageGetter, mTagHandler));
+        }
+    }
+
+    /**
+     * Sets the flag to which text format to be applied.
+     *
+     * @param flag to indicate that html text format
+     */
+    public void setFlag(int flag) {
+        if (flag != mFlag) {
+            mFlag = flag;
+            notifyChanged();
+        }
+    }
+
+    /**
+     * Sets image getter and help to load corresponding images when parsing.
+     *
+     * @param imageGetter to load image by image tag content
+     */
+    public void setImageGetter(Html.ImageGetter imageGetter) {
+        if (imageGetter != null && !imageGetter.equals(mImageGetter)) {
+            mImageGetter = imageGetter;
+            notifyChanged();
+        }
+    }
+
+    /**
+     * Sets tag handler to handle the unsupported tags.
+     *
+     * @param tagHandler the handler for unhandled tags
+     */
+    public void setTagHandler(Html.TagHandler tagHandler) {
+        if (tagHandler != null && !tagHandler.equals(mTagHandler)) {
+            mTagHandler = tagHandler;
+            notifyChanged();
+        }
+    }
+}
diff --git a/src/com/android/settings/accessibility/InvisibleToggleAccessibilityServicePreferenceFragment.java b/src/com/android/settings/accessibility/InvisibleToggleAccessibilityServicePreferenceFragment.java
new file mode 100644
index 0000000..beeabd5
--- /dev/null
+++ b/src/com/android/settings/accessibility/InvisibleToggleAccessibilityServicePreferenceFragment.java
@@ -0,0 +1,71 @@
+/*
+ * 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.accessibility;
+
+import android.accessibilityservice.AccessibilityServiceInfo;
+import android.view.View;
+
+import com.android.settings.R;
+import com.android.settingslib.accessibility.AccessibilityUtils;
+
+/**
+ * Fragment that does not have toggle bar to turn on service to use.
+ *
+ * <p>The child {@link ToggleAccessibilityServicePreferenceFragment} shows the actual UI for
+ * providing basic accessibility service setup.
+ *
+ * <p>For accessibility services that target SDK > Q, and
+ * {@link AccessibilityServiceInfo#FLAG_REQUEST_ACCESSIBILITY_BUTTON} is set.
+ */
+public class InvisibleToggleAccessibilityServicePreferenceFragment extends
+        ToggleAccessibilityServicePreferenceFragment implements ShortcutPreference.OnClickCallback {
+
+    @Override
+    protected void onInstallSwitchPreferenceToggleSwitch() {
+        super.onInstallSwitchPreferenceToggleSwitch();
+        mToggleServiceDividerSwitchPreference.setVisible(false);
+    }
+
+    /**
+     * {@inheritDoc}
+     *
+     * Enables accessibility service only when user had allowed permission. Disables
+     * accessibility service when shortcutPreference is unchecked.
+     */
+    @Override
+    public void onToggleClicked(ShortcutPreference preference) {
+        super.onToggleClicked(preference);
+        boolean enabled = getArguments().getBoolean(AccessibilitySettings.EXTRA_CHECKED)
+                && preference.isChecked();
+
+        AccessibilityUtils.setAccessibilityServiceState(getContext(), mComponentName, enabled);
+    }
+
+    /**
+     * {@inheritDoc}
+     *
+     * Enables accessibility service when user clicks permission allow button.
+     */
+    @Override
+    void onDialogButtonFromShortcutToggleClicked(View view) {
+        super.onDialogButtonFromShortcutToggleClicked(view);
+        if (view.getId() == R.id.permission_enable_allow_button) {
+            AccessibilityUtils.setAccessibilityServiceState(getContext(), mComponentName,
+                    true);
+        }
+    }
+}
diff --git a/src/com/android/settings/accessibility/LargePointerIconPreferenceController.java b/src/com/android/settings/accessibility/LargePointerIconPreferenceController.java
new file mode 100644
index 0000000..a7ee3d5
--- /dev/null
+++ b/src/com/android/settings/accessibility/LargePointerIconPreferenceController.java
@@ -0,0 +1,53 @@
+/*
+ * 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.accessibility;
+
+import android.content.Context;
+import android.provider.Settings;
+
+import androidx.annotation.VisibleForTesting;
+
+import com.android.settings.core.TogglePreferenceController;
+
+public class LargePointerIconPreferenceController extends TogglePreferenceController {
+
+    @VisibleForTesting
+    static final int ON = 1;
+    @VisibleForTesting
+    static final int OFF = 0;
+
+    public LargePointerIconPreferenceController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+    }
+
+    @Override
+    public boolean isChecked() {
+        return Settings.Secure.getInt(mContext.getContentResolver(),
+                Settings.Secure.ACCESSIBILITY_LARGE_POINTER_ICON, OFF) != OFF;
+    }
+
+    @Override
+    public boolean setChecked(boolean isChecked) {
+        return Settings.Secure.putInt(mContext.getContentResolver(),
+                Settings.Secure.ACCESSIBILITY_LARGE_POINTER_ICON, isChecked ? ON : OFF);
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return AVAILABLE;
+    }
+}
diff --git a/src/com/android/settings/accessibility/LaunchAccessibilityActivityPreferenceFragment.java b/src/com/android/settings/accessibility/LaunchAccessibilityActivityPreferenceFragment.java
new file mode 100644
index 0000000..de37bab
--- /dev/null
+++ b/src/com/android/settings/accessibility/LaunchAccessibilityActivityPreferenceFragment.java
@@ -0,0 +1,168 @@
+/*
+ * 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.accessibilityservice.AccessibilityShortcutInfo;
+import android.app.ActivityOptions;
+import android.content.ActivityNotFoundException;
+import android.content.ComponentName;
+import android.content.ContentResolver;
+import android.content.Intent;
+import android.content.pm.ActivityInfo;
+import android.net.Uri;
+import android.os.Bundle;
+import android.os.UserHandle;
+import android.text.TextUtils;
+import android.util.Log;
+import android.view.Menu;
+import android.view.MenuInflater;
+import android.view.View;
+import android.view.accessibility.AccessibilityManager;
+
+import androidx.annotation.Nullable;
+import androidx.preference.SwitchPreference;
+
+import com.android.settings.R;
+
+import java.util.List;
+
+/** Fragment for providing open activity button. */
+public class LaunchAccessibilityActivityPreferenceFragment extends
+        ToggleFeaturePreferenceFragment {
+    private static final String TAG = "LaunchA11yActivity";
+    private static final String EMPTY_STRING = "";
+
+    @Override
+    public void onViewCreated(View view, Bundle savedInstanceState) {
+        super.onViewCreated(view, savedInstanceState);
+
+        mToggleServiceDividerSwitchPreference.setSwitchVisibility(View.GONE);
+    }
+
+    @Override
+    protected void onPreferenceToggled(String preferenceKey, boolean enabled) {
+        launchShortcutTargetActivity(getPrefContext().getDisplayId(), mComponentName);
+    }
+
+    @Override
+    protected void onInstallSwitchPreferenceToggleSwitch() {
+        super.onInstallSwitchPreferenceToggleSwitch();
+        mToggleServiceDividerSwitchPreference.setOnPreferenceClickListener((preference) -> {
+            final boolean checked = ((DividerSwitchPreference) preference).isChecked();
+            onPreferenceToggled(mPreferenceKey, checked);
+            return false;
+        });
+    }
+
+    @Override
+    protected void onProcessArguments(Bundle arguments) {
+        super.onProcessArguments(arguments);
+
+        mComponentName = arguments.getParcelable(AccessibilitySettings.EXTRA_COMPONENT_NAME);
+        final ActivityInfo info = getAccessibilityShortcutInfo().getActivityInfo();
+        mPackageName = info.loadLabel(getPackageManager()).toString();
+
+        // Settings animated image.
+        final int animatedImageRes = arguments.getInt(
+                AccessibilitySettings.EXTRA_ANIMATED_IMAGE_RES);
+        mImageUri = new Uri.Builder().scheme(ContentResolver.SCHEME_ANDROID_RESOURCE)
+                .authority(mComponentName.getPackageName())
+                .appendPath(String.valueOf(animatedImageRes))
+                .build();
+
+        // Settings html description.
+        mHtmlDescription = arguments.getCharSequence(AccessibilitySettings.EXTRA_HTML_DESCRIPTION);
+
+        // Settings title and intent.
+        final String settingsTitle = arguments.getString(
+                AccessibilitySettings.EXTRA_SETTINGS_TITLE);
+        mSettingsIntent = TextUtils.isEmpty(settingsTitle) ? null : getSettingsIntent(arguments);
+        mSettingsTitle = (mSettingsIntent == null) ? null : settingsTitle;
+    }
+
+    @Override
+    public void onSettingsClicked(ShortcutPreference preference) {
+        super.onSettingsClicked(preference);
+        showDialog(DialogEnums.EDIT_SHORTCUT);
+    }
+
+    @Override
+    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
+        // Do not call super. We don't want to see the "Help & feedback" option on this page so as
+        // not to confuse users who think they might be able to send feedback about a specific
+        // accessibility service from this page.
+    }
+
+    @Override
+    protected void updateToggleServiceTitle(SwitchPreference switchPreference) {
+        final AccessibilityShortcutInfo info = getAccessibilityShortcutInfo();
+        final String switchBarText = (info == null) ? EMPTY_STRING : getString(
+                R.string.accessibility_service_master_open_title,
+                info.getActivityInfo().loadLabel(getPackageManager()));
+
+        switchPreference.setTitle(switchBarText);
+    }
+
+    // IMPORTANT: Refresh the info since there are dynamically changing capabilities.
+    private AccessibilityShortcutInfo getAccessibilityShortcutInfo() {
+        final List<AccessibilityShortcutInfo> infos = AccessibilityManager.getInstance(
+                getPrefContext()).getInstalledAccessibilityShortcutListAsUser(getPrefContext(),
+                UserHandle.myUserId());
+
+        for (int i = 0, count = infos.size(); i < count; i++) {
+            AccessibilityShortcutInfo shortcutInfo = infos.get(i);
+            ActivityInfo activityInfo = shortcutInfo.getActivityInfo();
+            if (mComponentName.getPackageName().equals(activityInfo.packageName)
+                    && mComponentName.getClassName().equals(activityInfo.name)) {
+                return shortcutInfo;
+            }
+        }
+        return null;
+    }
+
+    private void launchShortcutTargetActivity(int displayId, ComponentName name) {
+        final Intent intent = new Intent();
+        final Bundle bundle = ActivityOptions.makeBasic().setLaunchDisplayId(displayId).toBundle();
+
+        intent.setComponent(name);
+        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
+        try {
+            final int userId = UserHandle.myUserId();
+            getPrefContext().startActivityAsUser(intent, bundle, UserHandle.of(userId));
+        } catch (ActivityNotFoundException ignore) {
+            // ignore the exception
+            Log.w(TAG, "Target activity not found.");
+        }
+    }
+
+    @Nullable
+    private Intent getSettingsIntent(Bundle arguments) {
+        final String settingsComponentName = arguments.getString(
+                AccessibilitySettings.EXTRA_SETTINGS_COMPONENT_NAME);
+        if (TextUtils.isEmpty(settingsComponentName)) {
+            return null;
+        }
+
+        final Intent settingsIntent = new Intent(Intent.ACTION_MAIN).setComponent(
+                ComponentName.unflattenFromString(settingsComponentName));
+        if (getPackageManager().queryIntentActivities(settingsIntent, /* flags= */ 0).isEmpty()) {
+            return null;
+        }
+
+        return settingsIntent;
+    }
+}
diff --git a/src/com/android/settings/accessibility/LegacyAccessibilityServicePreferenceFragment.java b/src/com/android/settings/accessibility/LegacyAccessibilityServicePreferenceFragment.java
new file mode 100644
index 0000000..1803874
--- /dev/null
+++ b/src/com/android/settings/accessibility/LegacyAccessibilityServicePreferenceFragment.java
@@ -0,0 +1,58 @@
+/*
+ * 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.accessibility;
+
+import static com.android.settings.accessibility.AccessibilityUtil.UserShortcutType;
+
+import android.os.Bundle;
+import android.view.View;
+
+import com.android.settings.R;
+
+import com.google.common.collect.ImmutableSet;
+
+/**
+ * Fragment that only allowed hardware {@link UserShortcutType} for shortcut to open.
+ *
+ * <p>The child {@link ToggleAccessibilityServicePreferenceFragment} shows the actual UI for
+ * providing basic accessibility service setup.
+ *
+ * <p>For accessibility services that target SDK <= Q.
+ */
+public class LegacyAccessibilityServicePreferenceFragment extends
+        ToggleAccessibilityServicePreferenceFragment {
+
+    @Override
+    public void onViewCreated(View view, Bundle savedInstanceState) {
+        super.onViewCreated(view, savedInstanceState);
+
+        final CharSequence hardwareTitle = getPrefContext().getText(
+                R.string.accessibility_shortcut_edit_dialog_title_hardware);
+        mShortcutPreference.setSummary(hardwareTitle);
+        mShortcutPreference.setSettingsEditable(false);
+
+        setAllowedPreferredShortcutType(UserShortcutType.HARDWARE);
+    }
+
+    private void setAllowedPreferredShortcutType(int type) {
+        final AccessibilityUserShortcutType shortcut = new AccessibilityUserShortcutType(
+                mComponentName.flattenToString(), type);
+
+        SharedPreferenceUtils.setUserShortcutType(getPrefContext(),
+                ImmutableSet.of(shortcut.flattenToString()));
+    }
+}
diff --git a/src/com/android/settings/accessibility/LegacyToggleScreenReaderPreferenceFragmentForSetupWizard.java b/src/com/android/settings/accessibility/LegacyToggleScreenReaderPreferenceFragmentForSetupWizard.java
new file mode 100644
index 0000000..1b37a42
--- /dev/null
+++ b/src/com/android/settings/accessibility/LegacyToggleScreenReaderPreferenceFragmentForSetupWizard.java
@@ -0,0 +1,51 @@
+/*
+ * 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.app.settings.SettingsEnums;
+import android.os.Bundle;
+import android.view.View;
+
+/** For accessibility services that target SDK <= Q in setup wizard. */
+public class LegacyToggleScreenReaderPreferenceFragmentForSetupWizard
+        extends LegacyAccessibilityServicePreferenceFragment {
+
+    private boolean mToggleSwitchWasInitiallyChecked;
+
+    @Override
+    public void onViewCreated(View view, Bundle savedInstanceState) {
+        super.onViewCreated(view, savedInstanceState);
+        mToggleSwitchWasInitiallyChecked = mToggleServiceDividerSwitchPreference.isChecked();
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.SUW_ACCESSIBILITY_TOGGLE_SCREEN_READER;
+    }
+
+    @Override
+    public void onStop() {
+        // Log the final choice in value if it's different from the previous value.
+        if (mToggleServiceDividerSwitchPreference.isChecked() != mToggleSwitchWasInitiallyChecked) {
+            mMetricsFeatureProvider.action(getContext(),
+                    SettingsEnums.SUW_ACCESSIBILITY_TOGGLE_SCREEN_READER,
+                    mToggleServiceDividerSwitchPreference.isChecked());
+        }
+
+        super.onStop();
+    }
+}
diff --git a/src/com/android/settings/accessibility/LegacyToggleSelectToSpeakPreferenceFragmentForSetupWizard.java b/src/com/android/settings/accessibility/LegacyToggleSelectToSpeakPreferenceFragmentForSetupWizard.java
new file mode 100644
index 0000000..ffb363c
--- /dev/null
+++ b/src/com/android/settings/accessibility/LegacyToggleSelectToSpeakPreferenceFragmentForSetupWizard.java
@@ -0,0 +1,51 @@
+/*
+ * 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.app.settings.SettingsEnums;
+import android.os.Bundle;
+import android.view.View;
+
+/** For accessibility services that target SDK <= Q in setup wizard. */
+public class LegacyToggleSelectToSpeakPreferenceFragmentForSetupWizard
+        extends LegacyAccessibilityServicePreferenceFragment {
+
+    private boolean mToggleSwitchWasInitiallyChecked;
+
+    @Override
+    public void onViewCreated(View view, Bundle savedInstanceState) {
+        super.onViewCreated(view, savedInstanceState);
+        mToggleSwitchWasInitiallyChecked = mToggleServiceDividerSwitchPreference.isChecked();
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.SUW_ACCESSIBILITY_TOGGLE_SCREEN_READER;
+    }
+
+    @Override
+    public void onStop() {
+        // Log the final choice in value if it's different from the previous value.
+        if (mToggleServiceDividerSwitchPreference.isChecked() != mToggleSwitchWasInitiallyChecked) {
+            mMetricsFeatureProvider.action(getContext(),
+                    SettingsEnums.SUW_ACCESSIBILITY_TOGGLE_SELECT_TO_SPEAK,
+                    mToggleServiceDividerSwitchPreference.isChecked());
+        }
+
+        super.onStop();
+    }
+}
diff --git a/src/com/android/settings/accessibility/LockScreenRotationPreferenceController.java b/src/com/android/settings/accessibility/LockScreenRotationPreferenceController.java
new file mode 100644
index 0000000..a9716d5
--- /dev/null
+++ b/src/com/android/settings/accessibility/LockScreenRotationPreferenceController.java
@@ -0,0 +1,91 @@
+/*
+ * 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.accessibility;
+
+import android.content.Context;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.internal.view.RotationPolicy;
+import com.android.internal.view.RotationPolicy.RotationPolicyListener;
+import com.android.settings.core.TogglePreferenceController;
+import com.android.settingslib.core.lifecycle.LifecycleObserver;
+import com.android.settingslib.core.lifecycle.events.OnStart;
+import com.android.settingslib.core.lifecycle.events.OnStop;
+
+public class LockScreenRotationPreferenceController extends TogglePreferenceController implements
+        LifecycleObserver, OnStart, OnStop {
+
+    private Preference mPreference;
+    private RotationPolicyListener mRotationPolicyListener;
+
+    public LockScreenRotationPreferenceController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+    }
+
+    /**
+     * Returns true if rotation lock is enabled.
+     */
+    @Override
+    public boolean isChecked() {
+        return !RotationPolicy.isRotationLocked(mContext);
+    }
+
+    /**
+     * Enables or disables screen rotation lock from Accessibility settings. If rotation is locked
+     * for accessibility, the toggle in Display settings is hidden to avoid confusion.
+     */
+    @Override
+    public boolean setChecked(boolean isChecked) {
+        RotationPolicy.setRotationLockForAccessibility(mContext, !isChecked);
+        return true;
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return RotationPolicy.isRotationSupported(mContext) ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
+    }
+
+    @Override
+    public void onStop() {
+        if (mRotationPolicyListener != null) {
+            RotationPolicy.unregisterRotationPolicyListener(mContext, mRotationPolicyListener);
+        }
+    }
+
+    @Override
+    public void onStart() {
+        if (mRotationPolicyListener == null) {
+            mRotationPolicyListener = new RotationPolicyListener() {
+                @Override
+                public void onChange() {
+                    if (mPreference != null) {
+                        updateState(mPreference);
+                    }
+                }
+            };
+        }
+        RotationPolicy.registerRotationPolicyListener(mContext, mRotationPolicyListener);
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        mPreference = screen.findPreference(getPreferenceKey());
+        super.displayPreference(screen);
+    }
+}
diff --git a/src/com/android/settings/accessibility/MagnificationEnablePreferenceController.java b/src/com/android/settings/accessibility/MagnificationEnablePreferenceController.java
new file mode 100644
index 0000000..a21c024
--- /dev/null
+++ b/src/com/android/settings/accessibility/MagnificationEnablePreferenceController.java
@@ -0,0 +1,58 @@
+/*
+ * 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.os.UserHandle;
+import android.provider.Settings;
+
+import androidx.preference.Preference;
+import androidx.preference.SwitchPreference;
+
+import com.android.settings.core.TogglePreferenceController;
+
+/** Controller that shows the magnification enable mode summary. */
+public class MagnificationEnablePreferenceController extends TogglePreferenceController {
+
+    private static final String KEY_ENABLE = Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE;
+
+    public MagnificationEnablePreferenceController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+    }
+
+    @Override
+    public boolean isChecked() {
+        final int enableMode = Settings.Secure.getIntForUser(mContext.getContentResolver(),
+                KEY_ENABLE,
+                Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN,
+                UserHandle.USER_CURRENT);
+        return enableMode == Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN;
+    }
+
+    @Override
+    public boolean setChecked(boolean isChecked) {
+        final int value = isChecked ? Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN
+                : Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW;
+        return Settings.Secure.putIntForUser(mContext.getContentResolver(), KEY_ENABLE, value,
+                UserHandle.USER_CURRENT);
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return AVAILABLE;
+    }
+}
diff --git a/src/com/android/settings/accessibility/MagnificationGesturesPreferenceController.java b/src/com/android/settings/accessibility/MagnificationGesturesPreferenceController.java
index f613c69..f73ca01 100644
--- a/src/com/android/settings/accessibility/MagnificationGesturesPreferenceController.java
+++ b/src/com/android/settings/accessibility/MagnificationGesturesPreferenceController.java
@@ -70,6 +70,11 @@
     }
 
     @Override
+    public boolean isPublicSlice() {
+        return true;
+    }
+
+    @Override
     public CharSequence getSummary() {
         int resId = 0;
         if (mIsFromSUW) {
@@ -87,8 +92,8 @@
                 Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED);
         extras.putInt(AccessibilitySettings.EXTRA_TITLE_RES,
                 R.string.accessibility_screen_magnification_gestures_title);
-        extras.putInt(AccessibilitySettings.EXTRA_SUMMARY_RES,
-                R.string.accessibility_screen_magnification_summary);
+        extras.putCharSequence(AccessibilitySettings.EXTRA_HTML_DESCRIPTION,
+                context.getText(R.string.accessibility_screen_magnification_summary));
         extras.putInt(AccessibilitySettings.EXTRA_VIDEO_RAW_RESOURCE_ID,
                 R.raw.accessibility_screen_magnification);
     }
diff --git a/src/com/android/settings/accessibility/MagnificationModePreferenceController.java b/src/com/android/settings/accessibility/MagnificationModePreferenceController.java
new file mode 100644
index 0000000..b45ad88
--- /dev/null
+++ b/src/com/android/settings/accessibility/MagnificationModePreferenceController.java
@@ -0,0 +1,41 @@
+/*
+ * 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.accessibility;
+
+import android.content.Context;
+
+import com.android.settings.core.BasePreferenceController;
+
+/** Controller that shows the magnification area mode summary. */
+public class MagnificationModePreferenceController extends BasePreferenceController {
+
+    public MagnificationModePreferenceController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return AVAILABLE;
+    }
+
+
+    @Override
+    public CharSequence getSummary() {
+        return MagnificationSettingsFragment.getMagnificationCapabilitiesSummary(
+                mContext);
+    }
+}
diff --git a/src/com/android/settings/accessibility/MagnificationNavbarPreferenceController.java b/src/com/android/settings/accessibility/MagnificationNavbarPreferenceController.java
index 5af5d93..952f820 100644
--- a/src/com/android/settings/accessibility/MagnificationNavbarPreferenceController.java
+++ b/src/com/android/settings/accessibility/MagnificationNavbarPreferenceController.java
@@ -55,8 +55,8 @@
                     Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_NAVBAR_ENABLED);
             extras.putInt(AccessibilitySettings.EXTRA_TITLE_RES,
                     R.string.accessibility_screen_magnification_navbar_title);
-            extras.putInt(AccessibilitySettings.EXTRA_SUMMARY_RES,
-                    R.string.accessibility_screen_magnification_navbar_summary);
+            extras.putCharSequence(AccessibilitySettings.EXTRA_HTML_DESCRIPTION,
+                    mContext.getText(R.string.accessibility_screen_magnification_navbar_summary));
             extras.putBoolean(AccessibilitySettings.EXTRA_CHECKED, isChecked());
             extras.putBoolean(AccessibilitySettings.EXTRA_LAUNCHED_FROM_SUW, mIsFromSUW);
         }
@@ -77,6 +77,11 @@
     }
 
     @Override
+    public boolean isPublicSlice() {
+        return true;
+    }
+
+    @Override
     public CharSequence getSummary() {
         int resId = 0;
         if (mIsFromSUW) {
diff --git a/src/com/android/settings/accessibility/MagnificationPreferenceController.java b/src/com/android/settings/accessibility/MagnificationPreferenceController.java
new file mode 100644
index 0000000..5b5236e
--- /dev/null
+++ b/src/com/android/settings/accessibility/MagnificationPreferenceController.java
@@ -0,0 +1,58 @@
+/*
+ * 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.accessibility;
+
+import android.content.Context;
+import android.os.Bundle;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.core.BasePreferenceController;
+
+public class MagnificationPreferenceController extends BasePreferenceController {
+
+    private Preference mPreference;
+
+    public MagnificationPreferenceController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return AVAILABLE;
+    }
+
+    @Override
+    public CharSequence getSummary() {
+        return ToggleScreenMagnificationPreferenceFragment.getServiceSummary(mContext);
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        mPreference = screen.findPreference(getPreferenceKey());
+        configureMagnificationPreferenceIfNeeded();
+    }
+
+    private void configureMagnificationPreferenceIfNeeded() {
+        mPreference.setFragment(ToggleScreenMagnificationPreferenceFragment.class.getName());
+        final Bundle extras = mPreference.getExtras();
+        MagnificationGesturesPreferenceController
+                .populateMagnificationGesturesPreferenceExtras(extras, mContext);
+    }
+}
diff --git a/src/com/android/settings/accessibility/MagnificationPreferenceFragment.java b/src/com/android/settings/accessibility/MagnificationPreferenceFragment.java
index b96d2b7..4c7d2a4 100644
--- a/src/com/android/settings/accessibility/MagnificationPreferenceFragment.java
+++ b/src/com/android/settings/accessibility/MagnificationPreferenceFragment.java
@@ -16,8 +16,6 @@
 
 package com.android.settings.accessibility;
 
-import static android.view.WindowManagerPolicyConstants.NAV_BAR_MODE_GESTURAL;
-
 import android.accessibilityservice.AccessibilityServiceInfo;
 import android.app.settings.SettingsEnums;
 import android.content.ComponentName;
@@ -25,9 +23,10 @@
 import android.content.Context;
 import android.content.res.Resources;
 import android.os.Bundle;
-import android.provider.SearchIndexableResource;
 import android.provider.Settings;
 import android.text.TextUtils;
+import android.view.Menu;
+import android.view.MenuInflater;
 import android.view.accessibility.AccessibilityManager;
 
 import androidx.annotation.VisibleForTesting;
@@ -36,12 +35,8 @@
 import com.android.settings.R;
 import com.android.settings.dashboard.DashboardFragment;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
-import com.android.settings.search.actionbar.SearchMenuController;
-import com.android.settings.support.actionbar.HelpResourceProvider;
 import com.android.settingslib.search.SearchIndexable;
 
-import java.util.Arrays;
 import java.util.List;
 
 @SearchIndexable
@@ -101,14 +96,19 @@
             // If invoked from SUW, redirect to fragment instrumented for Vision Settings metrics
             preference.setFragment(
                     ToggleScreenMagnificationPreferenceFragmentForSetupWizard.class.getName());
-            Bundle args = preference.getExtras();
-            // Copy from AccessibilitySettingsForSetupWizardActivity, hide search and help menu
-            args.putInt(HelpResourceProvider.HELP_URI_RESOURCE_KEY, 0);
-            args.putBoolean(SearchMenuController.NEED_SEARCH_ICON_IN_ACTION_BAR, false);
         }
         return super.onPreferenceTreeClick(preference);
     }
 
+    @Override
+    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
+        if (mLaunchedFromSuw) {
+            // Do not call super. We don't want to see the "Help & feedback" on OOBE page.
+        } else {
+            super.onCreateOptionsMenu(menu, inflater);
+        }
+    }
+
     static CharSequence getConfigurationWarningStringForSecureSettingsKey(String key,
             Context context) {
         if (!Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_NAVBAR_ENABLED.equals(key)) {
@@ -134,7 +134,7 @@
                 if (info.getComponentName().equals(assignedComponentName)) {
                     final CharSequence assignedServiceName = info.getResolveInfo().loadLabel(
                             context.getPackageManager());
-                    final int messageId = isGestureNavigateEnabled(context)
+                    final int messageId = AccessibilityUtil.isGestureNavigateEnabled(context)
                             ? R.string.accessibility_screen_magnification_gesture_navigation_warning
                             : R.string.accessibility_screen_magnification_navbar_configuration_warning;
                     return context.getString(messageId, assignedServiceName);
@@ -161,21 +161,8 @@
         return res.getBoolean(com.android.internal.R.bool.config_showNavigationBar);
     }
 
-    private static boolean isGestureNavigateEnabled(Context context) {
-        return context.getResources().getInteger(
-                com.android.internal.R.integer.config_navBarInteractionMode)
-                == NAV_BAR_MODE_GESTURAL;
-    }
-
-    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
-                        boolean enabled) {
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.accessibility_magnification_settings;
-                    return Arrays.asList(sir);
-                }
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.accessibility_magnification_settings) {
 
                 @Override
                 protected boolean isPageSearchEnabled(Context context) {
diff --git a/src/com/android/settings/accessibility/MagnificationSettingsFragment.java b/src/com/android/settings/accessibility/MagnificationSettingsFragment.java
new file mode 100644
index 0000000..0e766b4
--- /dev/null
+++ b/src/com/android/settings/accessibility/MagnificationSettingsFragment.java
@@ -0,0 +1,234 @@
+/*
+ * 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.accessibility;
+
+import android.app.Dialog;
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.content.DialogInterface;
+import android.os.Bundle;
+import android.provider.Settings;
+import android.view.View;
+import android.widget.CheckBox;
+
+import androidx.annotation.IntDef;
+import androidx.appcompat.app.AlertDialog;
+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;
+
+import com.google.common.primitives.Ints;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+/** Settings page for magnification. */
+@SearchIndexable
+public class MagnificationSettingsFragment extends DashboardFragment {
+
+    private static final String TAG = "MagnificationSettingsFragment";
+    private static final String PREF_KEY_MODE = "magnification_mode";
+    // TODO(b/146019459): Use magnification_capability.
+    private static final String KEY_CAPABILITY = Settings.System.MASTER_MONO;
+    private static final int DIALOG_MAGNIFICATION_CAPABILITY = 1;
+    private static final String EXTRA_CAPABILITY = "capability";
+    private Preference mModePreference;
+    private int mCapabilities = MagnifyMode.NONE;
+    private CheckBox mMagnifyFullScreenCheckBox;
+    private CheckBox mMagnifyWindowCheckBox;
+
+    static String getMagnificationCapabilitiesSummary(Context context) {
+        final String[] magnificationModeSummaries = context.getResources().getStringArray(
+                R.array.magnification_mode_summaries);
+        final int[] magnificationModeValues = context.getResources().getIntArray(
+                R.array.magnification_mode_values);
+        final int capabilities = MagnificationSettingsFragment.getMagnificationCapabilities(
+                context);
+
+        final int idx = Ints.indexOf(magnificationModeValues, capabilities);
+        return magnificationModeSummaries[idx == -1 ? 0 : idx];
+    }
+
+    private static int getMagnificationCapabilities(Context context) {
+        return getSecureIntValue(context, KEY_CAPABILITY, MagnifyMode.FULLSCREEN);
+    }
+
+    private static int getSecureIntValue(Context context, String key, int defaultValue) {
+        return Settings.Secure.getIntForUser(
+                context.getContentResolver(),
+                key, defaultValue, context.getContentResolver().getUserId());
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.ACCESSIBILITY_MAGNIFICATION_SETTINGS;
+    }
+
+    @Override
+    public void onSaveInstanceState(Bundle outState) {
+        outState.putInt(EXTRA_CAPABILITY, mCapabilities);
+        super.onSaveInstanceState(outState);
+    }
+
+    @Override
+    public void onActivityCreated(Bundle savedInstanceState) {
+        super.onActivityCreated(savedInstanceState);
+        if (savedInstanceState != null) {
+            mCapabilities = savedInstanceState.getInt(EXTRA_CAPABILITY, MagnifyMode.NONE);
+        }
+        if (mCapabilities == MagnifyMode.NONE) {
+            mCapabilities = getMagnificationCapabilities(getPrefContext());
+        }
+    }
+
+    @Override
+    public int getDialogMetricsCategory(int dialogId) {
+        switch (dialogId) {
+            case DIALOG_MAGNIFICATION_CAPABILITY:
+                return SettingsEnums.DIALOG_MAGNIFICATION_CAPABILITY;
+            default:
+                return 0;
+        }
+    }
+
+    @Override
+    protected String getLogTag() {
+        return TAG;
+    }
+
+    @Override
+    public void onCreate(Bundle icicle) {
+        super.onCreate(icicle);
+        mModePreference = findPreference(PREF_KEY_MODE);
+        mModePreference.setOnPreferenceClickListener(preference -> {
+            mCapabilities = getMagnificationCapabilities(getPrefContext());
+            showDialog(DIALOG_MAGNIFICATION_CAPABILITY);
+            return true;
+        });
+    }
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.accessibility_magnification_service_settings;
+    }
+
+    @Override
+    public Dialog onCreateDialog(int dialogId) {
+        if (dialogId == DIALOG_MAGNIFICATION_CAPABILITY) {
+            final String title = getPrefContext().getString(
+                    R.string.accessibility_magnification_mode_title);
+            AlertDialog alertDialog = AccessibilityEditDialogUtils
+                    .showMagnificationModeDialog(getPrefContext(), title,
+                            this::callOnAlertDialogCheckboxClicked);
+            initializeDialogCheckBox(alertDialog);
+            return alertDialog;
+        }
+        throw new IllegalArgumentException("Unsupported dialogId " + dialogId);
+    }
+
+    private void callOnAlertDialogCheckboxClicked(DialogInterface dialog, int which) {
+        updateCapabilities(true);
+        mModePreference.setSummary(
+                getMagnificationCapabilitiesSummary(getPrefContext()));
+    }
+
+    private void initializeDialogCheckBox(AlertDialog dialog) {
+        final View dialogFullScreenView = dialog.findViewById(R.id.magnify_full_screen);
+        mMagnifyFullScreenCheckBox = dialogFullScreenView.findViewById(R.id.checkbox);
+
+        final View dialogWidowView = dialog.findViewById(R.id.magnify_window_screen);
+        mMagnifyWindowCheckBox = dialogWidowView.findViewById(R.id.checkbox);
+
+        updateAlertDialogCheckState();
+        updateAlertDialogEnableState();
+    }
+
+    private void updateAlertDialogCheckState() {
+        updateCheckStatus(mMagnifyWindowCheckBox, MagnifyMode.WINDOW);
+        updateCheckStatus(mMagnifyFullScreenCheckBox, MagnifyMode.FULLSCREEN);
+
+    }
+
+    private void updateCheckStatus(CheckBox checkBox, int mode) {
+        checkBox.setChecked((mode & mCapabilities) != 0);
+        checkBox.setOnClickListener(v -> {
+            updateCapabilities(false);
+            updateAlertDialogEnableState();
+        });
+    }
+
+    private void updateAlertDialogEnableState() {
+        if (mCapabilities != MagnifyMode.ALL) {
+            disableEnabledMagnificationModePreference();
+        } else {
+            enableAllPreference();
+        }
+    }
+
+    private void enableAllPreference() {
+        mMagnifyFullScreenCheckBox.setEnabled(true);
+        mMagnifyWindowCheckBox.setEnabled(true);
+    }
+
+    private void disableEnabledMagnificationModePreference() {
+        if (!mMagnifyFullScreenCheckBox.isChecked()) {
+            mMagnifyWindowCheckBox.setEnabled(false);
+        } else if (!mMagnifyWindowCheckBox.isChecked()) {
+            mMagnifyFullScreenCheckBox.setEnabled(false);
+        }
+    }
+
+    private void updateCapabilities(boolean saveToDB) {
+        int capabilities = 0;
+        capabilities |=
+                mMagnifyFullScreenCheckBox.isChecked() ? MagnifyMode.FULLSCREEN : 0;
+        capabilities |= mMagnifyWindowCheckBox.isChecked() ? MagnifyMode.WINDOW : 0;
+        mCapabilities = capabilities;
+        if (saveToDB) {
+            setMagnificationCapabilities(capabilities);
+        }
+    }
+
+    private void setSecureIntValue(String key, int value) {
+        Settings.Secure.putIntForUser(getPrefContext().getContentResolver(),
+                key, value, getPrefContext().getContentResolver().getUserId());
+    }
+
+    private void setMagnificationCapabilities(int capabilities) {
+        setSecureIntValue(KEY_CAPABILITY, capabilities);
+    }
+
+    @Retention(RetentionPolicy.SOURCE)
+    @IntDef({
+            MagnifyMode.NONE,
+            MagnifyMode.FULLSCREEN,
+            MagnifyMode.WINDOW,
+            MagnifyMode.ALL,
+    })
+    private @interface MagnifyMode {
+        int NONE = 0;
+        int FULLSCREEN = 1;
+        int WINDOW = 2;
+        int ALL = 3;
+    }
+
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.accessibility_magnification_service_settings);
+}
diff --git a/src/com/android/settings/accessibility/MasterMonoPreferenceController.java b/src/com/android/settings/accessibility/MasterMonoPreferenceController.java
new file mode 100644
index 0000000..6082f14
--- /dev/null
+++ b/src/com/android/settings/accessibility/MasterMonoPreferenceController.java
@@ -0,0 +1,47 @@
+/*
+ * 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.accessibility;
+
+import android.content.Context;
+import android.os.UserHandle;
+import android.provider.Settings;
+
+import com.android.settings.core.TogglePreferenceController;
+
+public class MasterMonoPreferenceController extends TogglePreferenceController {
+
+    public MasterMonoPreferenceController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+    }
+
+    @Override
+    public boolean isChecked() {
+        return Settings.System.getIntForUser(mContext.getContentResolver(),
+                Settings.System.MASTER_MONO, 0 /* default */, UserHandle.USER_CURRENT) == 1;
+    }
+
+    @Override
+    public boolean setChecked(boolean isChecked) {
+        return Settings.System.putIntForUser(mContext.getContentResolver(),
+                Settings.System.MASTER_MONO, isChecked ? 1 : 0, UserHandle.USER_CURRENT);
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return AVAILABLE;
+    }
+}
diff --git a/src/com/android/settings/accessibility/PaletteListPreference.java b/src/com/android/settings/accessibility/PaletteListPreference.java
new file mode 100644
index 0000000..c5c4205
--- /dev/null
+++ b/src/com/android/settings/accessibility/PaletteListPreference.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.accessibility;
+
+import android.content.Context;
+import android.util.AttributeSet;
+import android.view.View;
+import android.view.ViewTreeObserver;
+import android.widget.FrameLayout;
+import android.widget.ListView;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceViewHolder;
+
+import com.android.settings.R;
+
+/** Preference that easier preview by matching name to color. */
+public class PaletteListPreference extends Preference {
+
+    private ListView mListView;
+    private ViewTreeObserver.OnPreDrawListener mPreDrawListener;
+
+    /**
+     * Constructs a new PaletteListPreference with the given context's theme and the supplied
+     * attribute set.
+     *
+     * @param context The Context this is associated with, through which it can access the current
+     *                theme, resources, etc.
+     * @param attrs The attributes of the XML tag that is inflating the view.
+     */
+    public PaletteListPreference(Context context, AttributeSet attrs) {
+        this(context, attrs, 0);
+    }
+
+    /**
+     * Constructs a new PaletteListPreference with the given context's theme, the supplied
+     * attribute set, and default style attribute.
+     *
+     * @param context The Context this is associated with, through which it can access the
+     *                current theme, resources, etc.
+     * @param attrs The attributes of the XML tag that is inflating the view.
+     * @param defStyleAttr An attribute in the current theme that contains a reference to a style
+     *                     resource that supplies default
+     *                     values for the view. Can be 0 to not look for
+     *                     defaults.
+     */
+    public PaletteListPreference(Context context, AttributeSet attrs, int defStyleAttr) {
+        super(context, attrs, defStyleAttr);
+        setLayoutResource(R.layout.daltonizer_preview);
+        initPreDrawListener();
+    }
+
+    @Override
+    public void onBindViewHolder(PreferenceViewHolder holder) {
+        super.onBindViewHolder(holder);
+
+        final View rootView = holder.itemView;
+        mListView = rootView.findViewById(R.id.palette_listView);
+        if (mPreDrawListener != null) {
+            mListView.getViewTreeObserver().addOnPreDrawListener(mPreDrawListener);
+        }
+    }
+
+    private void initPreDrawListener() {
+        mPreDrawListener = new ViewTreeObserver.OnPreDrawListener() {
+            @Override
+            public boolean onPreDraw() {
+                if (mListView == null) {
+                    return false;
+                }
+
+                final int listViewHeight = mListView.getMeasuredHeight();
+                final int listViewWidth = mListView.getMeasuredWidth();
+
+                // Removes the callback after get result of measure view.
+                final ViewTreeObserver viewTreeObserver = mListView.getViewTreeObserver();
+                if (viewTreeObserver.isAlive()) {
+                    viewTreeObserver.removeOnPreDrawListener(this);
+                }
+                mPreDrawListener = null;
+
+                // Resets layout parameters to display whole items from listView.
+                final FrameLayout.LayoutParams layoutParams =
+                        (FrameLayout.LayoutParams) mListView.getLayoutParams();
+                layoutParams.height = listViewHeight * mListView.getAdapter().getCount();
+                layoutParams.width = listViewWidth;
+                mListView.setLayoutParams(layoutParams);
+
+                return true;
+            }
+        };
+    }
+}
diff --git a/src/com/android/settings/accessibility/PaletteListView.java b/src/com/android/settings/accessibility/PaletteListView.java
new file mode 100644
index 0000000..ef010e2
--- /dev/null
+++ b/src/com/android/settings/accessibility/PaletteListView.java
@@ -0,0 +1,301 @@
+/*
+ * 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.annotation.NonNull;
+import android.content.Context;
+import android.content.res.TypedArray;
+import android.graphics.Color;
+import android.graphics.drawable.GradientDrawable;
+import android.graphics.drawable.GradientDrawable.Orientation;
+import android.util.AttributeSet;
+import android.util.DisplayMetrics;
+import android.view.Display;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.WindowManager;
+import android.widget.BaseAdapter;
+import android.widget.ListView;
+import android.widget.TextView;
+
+import androidx.annotation.VisibleForTesting;
+
+import com.android.settings.R;
+
+import com.google.common.collect.Iterables;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.List;
+
+/**
+ * Custom ListView {@link ListView} which displays palette to deploy the color code preview.
+ *
+ * <p>The preview shows gradient from color white to specific color code on each list view item, in
+ * addition, text view adjusts the attribute of width for adapting the text length.
+ *
+ * <p>The text cannot fills the whole view for ensuring the gradient color preview can purely
+ * display also the view background shows the color beside the text variable end point.
+ */
+public class PaletteListView extends ListView {
+    private final Context mContext;
+    private final DisplayAdapter mDisplayAdapter;
+    private final LayoutInflater mLayoutInflater;
+    private final String mDefaultGradientColorCodeString;
+    private final int mDefaultGradientColor;
+    private float mTextBound;
+    private static final float LANDSCAPE_MAX_WIDTH_PERCENTAGE = 100f;
+
+    public PaletteListView(Context context) {
+        this(context, null);
+    }
+
+    public PaletteListView(Context context, AttributeSet attrs) {
+        this(context, attrs, 0);
+    }
+
+    public PaletteListView(Context context, AttributeSet attrs, int defStyleAttr) {
+        super(context, attrs, defStyleAttr);
+        mContext = context;
+        mDisplayAdapter = new DisplayAdapter();
+        mLayoutInflater = LayoutInflater.from(context);
+        mDefaultGradientColorCodeString =
+                getResources().getString(R.color.palette_list_gradient_background);
+        mDefaultGradientColor =
+                getResources().getColor(R.color.palette_list_gradient_background, null);
+        mTextBound = 0.0f;
+        init();
+    }
+
+    private static int getScreenWidth(WindowManager windowManager) {
+        final Display display = windowManager.getDefaultDisplay();
+        final DisplayMetrics displayMetrics = new DisplayMetrics();
+        display.getMetrics(displayMetrics);
+        return displayMetrics.widthPixels;
+    }
+
+    private void init() {
+        final TypedArray colorNameArray = getResources().obtainTypedArray(
+                R.array.setting_palette_colors);
+        final TypedArray colorCodeArray = getResources().obtainTypedArray(
+                R.array.setting_palette_data);
+        final int colorNameArrayLength = colorNameArray.length();
+        final List<ColorAttributes> colorList = new ArrayList<>();
+        computeTextWidthBounds(colorNameArray);
+
+        for (int index = 0; index < colorNameArrayLength; index++) {
+            colorList.add(
+                    new ColorAttributes(
+                            /* colorName= */ colorNameArray.getString(index),
+                            /* colorCode= */ colorCodeArray.getColor(index, mDefaultGradientColor),
+                            /* textBound= */ mTextBound,
+                            /* gradientDrawable= */
+                            new GradientDrawable(Orientation.LEFT_RIGHT, null)));
+        }
+
+        mDisplayAdapter.setColorList(colorList);
+        setAdapter(mDisplayAdapter);
+        setDividerHeight(/* height= */ 0);
+    }
+
+    /**
+     * Sets string array that required the color name and color code for deploy the new color
+     * preview.
+     *
+     * <p>The parameters not allow null define but two array length inconsistent are acceptable, in
+     * addition, to prevent IndexOutOfBoundsException the algorithm will check array data, and base
+     * on the array size to display data, or fills color code array if length less than other.
+     *
+     * @param colorNames a string array of color name
+     * @param colorCodes a string array of color code
+     * @return true if new array data apply successful
+     */
+    @VisibleForTesting
+    boolean setPaletteListColors(@NonNull String[] colorNames, @NonNull String[] colorCodes) {
+        if (colorNames == null || colorCodes == null) {
+            return false;
+        }
+
+        final int colorNameArrayLength = colorNames.length;
+        final int colorCodeArrayLength = colorCodes.length;
+        final List<ColorAttributes> colorList = new ArrayList<>();
+        final String[] colorCodeArray = fillColorCodeArray(colorCodes, colorNameArrayLength,
+                colorCodeArrayLength);
+        computeTextWidthBounds(colorNames);
+
+        for (int index = 0; index < colorNameArrayLength; index++) {
+            colorList.add(
+                    new ColorAttributes(
+                            /* colorName= */ colorNames[index],
+                            /* colorCode= */ Color.parseColor(colorCodeArray[index]),
+                            /* textBound= */ mTextBound,
+                            /* gradientDrawable= */
+                            new GradientDrawable(Orientation.LEFT_RIGHT, null)));
+        }
+
+        mDisplayAdapter.setColorList(colorList);
+        mDisplayAdapter.notifyDataSetChanged();
+        return true;
+    }
+
+    private String[] fillColorCodeArray(String[] colorCodes, int colorNameArrayLength,
+            int colorCodeArrayLength) {
+        if (colorNameArrayLength == colorCodeArrayLength
+                || colorNameArrayLength < colorCodeArrayLength) {
+            return colorCodes;
+        }
+
+        final String[] colorCodeArray = new String[colorNameArrayLength];
+        for (int index = 0; index < colorNameArrayLength; index++) {
+            if (index < colorCodeArrayLength) {
+                colorCodeArray[index] = colorCodes[index];
+            } else {
+                colorCodeArray[index] = mDefaultGradientColorCodeString;
+            }
+        }
+        return colorCodeArray;
+    }
+
+    private void computeTextWidthBounds(TypedArray colorNameTypedArray) {
+        final int colorNameArrayLength = colorNameTypedArray.length();
+        final String[] colorNames = new String[colorNameArrayLength];
+        for (int index = 0; index < colorNameArrayLength; index++) {
+            colorNames[index] = colorNameTypedArray.getString(index);
+        }
+
+        measureBound(colorNames);
+    }
+
+    private void computeTextWidthBounds(String[] colorNameArray) {
+        final int colorNameArrayLength = colorNameArray.length;
+        final String[] colorNames = new String[colorNameArrayLength];
+        for (int index = 0; index < colorNameArrayLength; index++) {
+            colorNames[index] = colorNameArray[index];
+        }
+
+        measureBound(colorNames);
+    }
+
+    private void measureBound(String[] dataArray) {
+        final WindowManager windowManager = (WindowManager) mContext.getSystemService(
+                Context.WINDOW_SERVICE);
+        final View view = mLayoutInflater.inflate(R.layout.palette_listview_item, null);
+        final TextView textView = view.findViewById(R.id.item_textview);
+        final List<String> colorNameList = new ArrayList<>(Arrays.asList(dataArray));
+        Collections.sort(colorNameList, Comparator.comparing(String::length));
+        // Gets the last index of list which sort by text length.
+        textView.setText(Iterables.getLast(colorNameList));
+
+        final float textWidth = textView.getPaint().measureText(textView.getText().toString());
+        // Computes rate of text width compare to screen width, and measures the round the double
+        // to two decimal places manually.
+        final float textBound = Math.round(
+                textWidth / getScreenWidth(windowManager) * LANDSCAPE_MAX_WIDTH_PERCENTAGE)
+                / LANDSCAPE_MAX_WIDTH_PERCENTAGE;
+
+        // Left padding and right padding with color preview.
+        final float paddingPixel = getResources().getDimension(
+                R.dimen.accessibility_layout_margin_start_end);
+        final float paddingWidth =
+                Math.round(paddingPixel / getScreenWidth(windowManager)
+                        * LANDSCAPE_MAX_WIDTH_PERCENTAGE) / LANDSCAPE_MAX_WIDTH_PERCENTAGE;
+        mTextBound = textBound + paddingWidth + paddingWidth;
+    }
+
+    private static class ViewHolder {
+        public TextView textView;
+    }
+
+    /** An adapter that converts color text title and color code to text views. */
+    private final class DisplayAdapter extends BaseAdapter {
+
+        private List<ColorAttributes> mColorList;
+
+        @Override
+        public int getCount() {
+            return mColorList.size();
+        }
+
+        @Override
+        public Object getItem(int position) {
+            return mColorList.get(position);
+        }
+
+        @Override
+        public long getItemId(int position) {
+            return position;
+        }
+
+        @Override
+        public View getView(int position, View convertView, ViewGroup parent) {
+            final ViewHolder viewHolder;
+            final ColorAttributes paletteAttribute = mColorList.get(position);
+            final String colorName = paletteAttribute.getColorName();
+            final GradientDrawable gradientDrawable = paletteAttribute.getGradientDrawable();
+
+            if (convertView == null) {
+                convertView = mLayoutInflater.inflate(R.layout.palette_listview_item, null);
+                viewHolder = new ViewHolder();
+                viewHolder.textView = convertView.findViewById(R.id.item_textview);
+                convertView.setTag(viewHolder);
+            } else {
+                viewHolder = (ViewHolder) convertView.getTag();
+            }
+
+            viewHolder.textView.setText(colorName);
+            viewHolder.textView.setBackground(gradientDrawable);
+            return convertView;
+        }
+
+        protected void setColorList(List<ColorAttributes> colorList) {
+            mColorList = colorList;
+        }
+    }
+
+    private final class ColorAttributes {
+        private final int mColorIndex = 2; // index for inject color.
+        private final int mColorOffsetIndex = 1; // index for offset effect.
+        private final String mColorName;
+        private final GradientDrawable mGradientDrawable;
+        private final int[] mGradientColors =
+                {/* startColor=*/ mDefaultGradientColor, /* centerColor=*/ mDefaultGradientColor,
+                        /* endCode= */ 0};
+        private final float[] mGradientOffsets =
+                {/* starOffset= */ 0.0f, /* centerOffset= */ 0.5f, /* endOffset= */ 1.0f};
+
+        ColorAttributes(
+                String colorName, int colorCode, float textBound,
+                GradientDrawable gradientDrawable) {
+            mGradientColors[mColorIndex] = colorCode;
+            mGradientOffsets[mColorOffsetIndex] = textBound;
+            gradientDrawable.setColors(mGradientColors, mGradientOffsets);
+            mColorName = colorName;
+            mGradientDrawable = gradientDrawable;
+        }
+
+        public String getColorName() {
+            return mColorName;
+        }
+
+        public GradientDrawable getGradientDrawable() {
+            return mGradientDrawable;
+        }
+    }
+}
diff --git a/src/com/android/settings/accessibility/PowerButtonEndsCallPreferenceController.java b/src/com/android/settings/accessibility/PowerButtonEndsCallPreferenceController.java
new file mode 100644
index 0000000..9ea9644
--- /dev/null
+++ b/src/com/android/settings/accessibility/PowerButtonEndsCallPreferenceController.java
@@ -0,0 +1,54 @@
+/*
+ * 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.accessibility;
+
+import android.content.Context;
+import android.provider.Settings;
+import android.view.KeyCharacterMap;
+import android.view.KeyEvent;
+
+import com.android.settings.Utils;
+import com.android.settings.core.TogglePreferenceController;
+
+public class PowerButtonEndsCallPreferenceController extends TogglePreferenceController {
+
+    public PowerButtonEndsCallPreferenceController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+    }
+
+    @Override
+    public boolean isChecked() {
+        final int incallPowerBehavior = Settings.Secure.getInt(mContext.getContentResolver(),
+                Settings.Secure.INCALL_POWER_BUTTON_BEHAVIOR,
+                Settings.Secure.INCALL_POWER_BUTTON_BEHAVIOR_DEFAULT);
+        return incallPowerBehavior == Settings.Secure.INCALL_POWER_BUTTON_BEHAVIOR_HANGUP;
+    }
+
+    @Override
+    public boolean setChecked(boolean isChecked) {
+        return Settings.Secure.putInt(mContext.getContentResolver(),
+                Settings.Secure.INCALL_POWER_BUTTON_BEHAVIOR,
+                (isChecked ? Settings.Secure.INCALL_POWER_BUTTON_BEHAVIOR_HANGUP
+                        : Settings.Secure.INCALL_POWER_BUTTON_BEHAVIOR_SCREEN_OFF));
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return !KeyCharacterMap.deviceHasKey(KeyEvent.KEYCODE_POWER)
+                || !Utils.isVoiceCapable(mContext) ? UNSUPPORTED_ON_DEVICE : AVAILABLE;
+    }
+}
diff --git a/src/com/android/settings/accessibility/PresetPreference.java b/src/com/android/settings/accessibility/PresetPreference.java
index fe5ca68..680fcbc 100644
--- a/src/com/android/settings/accessibility/PresetPreference.java
+++ b/src/com/android/settings/accessibility/PresetPreference.java
@@ -52,7 +52,7 @@
         final View previewViewport = view.findViewById(R.id.preview_viewport);
         final SubtitleView previewText = (SubtitleView) view.findViewById(R.id.preview);
         final int value = getValueAt(index);
-        CaptionPropertiesFragment.applyCaptionProperties(
+        CaptionAppearanceFragment.applyCaptionProperties(
                 mCaptioningManager, previewText, previewViewport, value);
 
         final float density = getContext().getResources().getDisplayMetrics().density;
diff --git a/src/com/android/settings/accessibility/RTTSettingPreferenceController.java b/src/com/android/settings/accessibility/RTTSettingPreferenceController.java
index d455fc1..3b5915d 100644
--- a/src/com/android/settings/accessibility/RTTSettingPreferenceController.java
+++ b/src/com/android/settings/accessibility/RTTSettingPreferenceController.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.accessibility;
@@ -55,6 +55,7 @@
         mPackageManager = context.getPackageManager();
         mTelecomManager = context.getSystemService(TelecomManager.class);
         mRTTIntent = new Intent(context.getString(R.string.config_rtt_setting_intent_action));
+
     }
 
     @Override
diff --git a/src/com/android/settings/accessibility/SelectLongPressTimeoutPreferenceController.java b/src/com/android/settings/accessibility/SelectLongPressTimeoutPreferenceController.java
new file mode 100644
index 0000000..e5532c5
--- /dev/null
+++ b/src/com/android/settings/accessibility/SelectLongPressTimeoutPreferenceController.java
@@ -0,0 +1,96 @@
+/*
+ * 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.accessibility;
+
+import android.content.Context;
+import android.provider.Settings;
+
+import androidx.preference.ListPreference;
+import androidx.preference.Preference;
+
+import com.android.settings.R;
+import com.android.settings.core.BasePreferenceController;
+
+import java.util.HashMap;
+import java.util.Map;
+
+public class SelectLongPressTimeoutPreferenceController extends BasePreferenceController implements
+        Preference.OnPreferenceChangeListener {
+
+    private final Map<String, String> mLongPressTimeoutValueToTitleMap;
+    private int mLongPressTimeoutDefault;
+
+    public SelectLongPressTimeoutPreferenceController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+        mLongPressTimeoutValueToTitleMap = new HashMap<>();
+        initLongPressTimeoutValueToTitleMap();
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return AVAILABLE;
+    }
+
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object object) {
+        if (!(preference instanceof ListPreference)) {
+            return false;
+        }
+        final ListPreference listPreference = (ListPreference) preference;
+        final int newValue = Integer.parseInt((String) object);
+        Settings.Secure.putInt(mContext.getContentResolver(),
+                Settings.Secure.LONG_PRESS_TIMEOUT, newValue);
+        updateState(listPreference);
+        return true;
+
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        super.updateState(preference);
+        if (!(preference instanceof ListPreference)) {
+            return;
+        }
+        final ListPreference listPreference = (ListPreference) preference;
+        listPreference.setValue(getLongPressTimeoutValue());
+    }
+
+    @Override
+    public CharSequence getSummary() {
+        return mLongPressTimeoutValueToTitleMap.get(getLongPressTimeoutValue());
+    }
+
+    private String getLongPressTimeoutValue() {
+        final int longPressTimeout = Settings.Secure.getInt(mContext.getContentResolver(),
+                Settings.Secure.LONG_PRESS_TIMEOUT, mLongPressTimeoutDefault);
+        return String.valueOf(longPressTimeout);
+    }
+
+    private void initLongPressTimeoutValueToTitleMap() {
+        if (mLongPressTimeoutValueToTitleMap.size() == 0) {
+            final String[] timeoutValues = mContext.getResources().getStringArray(
+                    R.array.long_press_timeout_selector_values);
+            mLongPressTimeoutDefault = Integer.parseInt(timeoutValues[0]);
+            final String[] timeoutTitles = mContext.getResources().getStringArray(
+                    R.array.long_press_timeout_selector_titles);
+            final int timeoutValueCount = timeoutValues.length;
+            for (int i = 0; i < timeoutValueCount; i++) {
+                mLongPressTimeoutValueToTitleMap.put(timeoutValues[i], timeoutTitles[i]);
+            }
+        }
+    }
+}
diff --git a/src/com/android/settings/accessibility/SharedPreferenceUtils.java b/src/com/android/settings/accessibility/SharedPreferenceUtils.java
new file mode 100644
index 0000000..b25c3d2
--- /dev/null
+++ b/src/com/android/settings/accessibility/SharedPreferenceUtils.java
@@ -0,0 +1,49 @@
+/*
+ * 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> getUserShortcutType(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/ShortcutPreference.java b/src/com/android/settings/accessibility/ShortcutPreference.java
new file mode 100644
index 0000000..82ab506
--- /dev/null
+++ b/src/com/android/settings/accessibility/ShortcutPreference.java
@@ -0,0 +1,172 @@
+/*
+ * 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.accessibility;
+
+import android.content.Context;
+import android.util.AttributeSet;
+import android.util.TypedValue;
+import android.view.MotionEvent;
+import android.view.View;
+import android.widget.LinearLayout;
+import android.widget.Switch;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceViewHolder;
+
+import com.android.settings.R;
+
+/**
+ * Preference that can enable accessibility shortcut and let users choose which shortcut type they
+ * prefer to use.
+ */
+public class ShortcutPreference extends Preference {
+
+    /**
+     * Interface definition for a callback to be invoked when the toggle or settings has been
+     * clicked.
+     */
+    public interface OnClickCallback {
+        /**
+         * Called when the settings view has been clicked.
+         *
+         * @param preference The clicked preference
+         */
+        void onSettingsClicked(ShortcutPreference preference);
+
+        /**
+         * Called when the toggle in ShortcutPreference has been clicked.
+         *
+         * @param preference The clicked preference
+         */
+        void onToggleClicked(ShortcutPreference preference);
+    }
+
+    private OnClickCallback mClickCallback = null;
+    private boolean mChecked = false;
+    private boolean mSettingsEditable = true;
+
+    ShortcutPreference(Context context, AttributeSet attrs) {
+        super(context, attrs);
+        setLayoutResource(R.layout.accessibility_shortcut_secondary_action);
+        setWidgetLayoutResource(R.layout.preference_widget_master_switch);
+        setIconSpaceReserved(true);
+        setSelectable(false);
+    }
+
+    @Override
+    public void onBindViewHolder(PreferenceViewHolder holder) {
+        super.onBindViewHolder(holder);
+
+        final TypedValue outValue = new TypedValue();
+        getContext().getTheme().resolveAttribute(android.R.attr.selectableItemBackground,
+                outValue, true);
+
+        final LinearLayout mainFrame = holder.itemView.findViewById(R.id.main_frame);
+        if (mainFrame != null) {
+            mainFrame.setOnClickListener(view -> callOnSettingsClicked());
+            mainFrame.setClickable(mSettingsEditable);
+            mainFrame.setFocusable(mSettingsEditable);
+            mainFrame.setBackgroundResource(
+                    mSettingsEditable ? outValue.resourceId : /* Remove background */ 0);
+        }
+
+        Switch switchWidget = holder.itemView.findViewById(R.id.switchWidget);
+        if (switchWidget != null) {
+            // Consumes move events to ignore drag actions.
+            switchWidget.setOnTouchListener((v, event) -> {
+                return event.getActionMasked() == MotionEvent.ACTION_MOVE;
+            });
+            switchWidget.setContentDescription(
+                    getContext().getText(R.string.accessibility_shortcut_settings));
+            switchWidget.setChecked(mChecked);
+            switchWidget.setOnClickListener(view -> callOnToggleClicked());
+            switchWidget.setClickable(mSettingsEditable);
+            switchWidget.setFocusable(mSettingsEditable);
+            switchWidget.setBackgroundResource(
+                    mSettingsEditable ? outValue.resourceId : /* Remove background */ 0);
+        }
+
+        final View divider = holder.itemView.findViewById(R.id.divider);
+        if (divider != null) {
+            divider.setVisibility(mSettingsEditable ? View.VISIBLE : View.GONE);
+        }
+
+        holder.itemView.setOnClickListener(view -> callOnToggleClicked());
+        holder.itemView.setClickable(!mSettingsEditable);
+        holder.itemView.setFocusable(!mSettingsEditable);
+    }
+
+    /**
+     * Sets the shortcut toggle according to checked value.
+     *
+     * @param checked the state value of shortcut toggle
+     */
+    public void setChecked(boolean checked) {
+        if (mChecked != checked) {
+            mChecked = checked;
+            notifyChanged();
+        }
+    }
+
+    /**
+     * Gets the checked value of shortcut toggle.
+     *
+     * @return the checked value of shortcut toggle
+     */
+    public boolean isChecked() {
+        return mChecked;
+    }
+
+    /**
+     * Sets the editable state of Settings view. If the view cannot edited, it makes the settings
+     * and toggle be not touchable. The main ui handles touch event directly by {@link #onClick}.
+     */
+    public void setSettingsEditable(boolean enabled) {
+        if (mSettingsEditable != enabled) {
+            mSettingsEditable = enabled;
+            // Disable whole component to let each child component can be addressed.
+            setSelectable(!mSettingsEditable);
+            notifyChanged();
+        }
+    }
+
+    public boolean isSettingsEditable() {
+        return mSettingsEditable;
+    }
+
+    /**
+     * Sets the callback to be invoked when this preference is clicked by the user.
+     *
+     * @param callback the callback to be invoked
+     */
+    public void setOnClickCallback(OnClickCallback callback) {
+        mClickCallback = callback;
+    }
+
+    private void callOnSettingsClicked() {
+        if (mClickCallback != null) {
+            mClickCallback.onSettingsClicked(this);
+        }
+    }
+
+    private void callOnToggleClicked() {
+        setChecked(!mChecked);
+        if (mClickCallback != null) {
+            mClickCallback.onToggleClicked(this);
+        }
+    }
+}
diff --git a/src/com/android/settings/accessibility/ShortcutServicePickerFragment.java b/src/com/android/settings/accessibility/ShortcutServicePickerFragment.java
deleted file mode 100644
index dcf1f1c..0000000
--- a/src/com/android/settings/accessibility/ShortcutServicePickerFragment.java
+++ /dev/null
@@ -1,267 +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.accessibility;
-
-import static com.android.internal.accessibility.AccessibilityShortcutController.COLOR_INVERSION_COMPONENT_NAME;
-import static com.android.internal.accessibility.AccessibilityShortcutController.DALTONIZER_COMPONENT_NAME;
-
-import android.accessibilityservice.AccessibilityServiceInfo;
-import android.app.Dialog;
-import android.app.settings.SettingsEnums;
-import android.content.ComponentName;
-import android.content.Context;
-import android.content.pm.ApplicationInfo;
-import android.content.pm.PackageManager;
-import android.content.pm.ResolveInfo;
-import android.graphics.drawable.Drawable;
-import android.os.Binder;
-import android.os.Bundle;
-import android.os.IBinder;
-import android.os.UserHandle;
-import android.provider.Settings;
-import android.text.TextUtils;
-import android.view.accessibility.AccessibilityManager;
-import android.view.View;
-
-import androidx.fragment.app.Fragment;
-import androidx.fragment.app.FragmentActivity;
-
-import com.android.internal.accessibility.AccessibilityShortcutController;
-import com.android.internal.accessibility.AccessibilityShortcutController.ToggleableFrameworkFeatureInfo;
-import com.android.settings.R;
-import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
-import com.android.settings.widget.RadioButtonPickerFragment;
-import com.android.settings.widget.RadioButtonPreference;
-import com.android.settingslib.accessibility.AccessibilityUtils;
-import com.android.settingslib.widget.CandidateInfo;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-/**
- * Fragment for picking accessibility shortcut service
- */
-public class ShortcutServicePickerFragment extends RadioButtonPickerFragment {
-
-    @Override
-    public int getMetricsCategory() {
-        return SettingsEnums.ACCESSIBILITY_TOGGLE_GLOBAL_GESTURE;
-    }
-
-    @Override
-    protected int getPreferenceScreenResId() {
-        return R.xml.accessibility_shortcut_service_settings;
-    }
-
-    @Override
-    protected List<? extends CandidateInfo> getCandidates() {
-        final Context context = getContext();
-        final AccessibilityManager accessibilityManager = context
-                .getSystemService(AccessibilityManager.class);
-        final List<AccessibilityServiceInfo> installedServices =
-                accessibilityManager.getInstalledAccessibilityServiceList();
-        final int numInstalledServices = installedServices.size();
-
-        final List<CandidateInfo> candidates = new ArrayList<>(numInstalledServices);
-        Map<ComponentName, ToggleableFrameworkFeatureInfo> frameworkFeatureInfoMap =
-                AccessibilityShortcutController.getFrameworkShortcutFeaturesMap();
-        for (ComponentName componentName : frameworkFeatureInfoMap.keySet()) {
-            final int iconId;
-            if (componentName.equals(COLOR_INVERSION_COMPONENT_NAME)) {
-                iconId = R.drawable.ic_color_inversion;
-            } else if (componentName.equals(DALTONIZER_COMPONENT_NAME)) {
-                iconId = R.drawable.ic_daltonizer;
-            } else {
-                iconId = R.drawable.empty_icon;
-            }
-            candidates.add(new FrameworkCandidateInfo(frameworkFeatureInfoMap.get(componentName),
-                    iconId, componentName.flattenToString()));
-        }
-        for (int i = 0; i < numInstalledServices; i++) {
-            candidates.add(new ServiceCandidateInfo(installedServices.get(i)));
-        }
-
-        return candidates;
-    }
-
-    @Override
-    protected String getDefaultKey() {
-        String shortcutServiceString = AccessibilityUtils
-                .getShortcutTargetServiceComponentNameString(getContext(), UserHandle.myUserId());
-        if (shortcutServiceString != null) {
-            ComponentName shortcutName = ComponentName.unflattenFromString(shortcutServiceString);
-            if (shortcutName != null) {
-                return shortcutName.flattenToString();
-            }
-        }
-        return null;
-    }
-
-    @Override
-    protected boolean setDefaultKey(String key) {
-        Settings.Secure.putString(getContext().getContentResolver(),
-                Settings.Secure.ACCESSIBILITY_SHORTCUT_TARGET_SERVICE, key);
-        return true;
-    }
-
-    @Override
-    public void onRadioButtonClicked(RadioButtonPreference selected) {
-        final String selectedKey = selected.getKey();
-
-        if (TextUtils.isEmpty(selectedKey)) {
-            super.onRadioButtonClicked(selected);
-        } else {
-            final ComponentName selectedComponent = ComponentName.unflattenFromString(selectedKey);
-            if (AccessibilityShortcutController.getFrameworkShortcutFeaturesMap()
-                    .containsKey(selectedComponent)) {
-                // This is a framework feature. It doesn't need to be confirmed.
-                onRadioButtonConfirmed(selectedKey);
-            } else {
-                final FragmentActivity activity = getActivity();
-                if (activity != null) {
-                    ConfirmationDialogFragment.newInstance(this, selectedKey)
-                            .show(activity.getSupportFragmentManager(),
-                                    ConfirmationDialogFragment.TAG);
-                }
-            }
-        }
-    }
-
-    private void onServiceConfirmed(String serviceKey) {
-        onRadioButtonConfirmed(serviceKey);
-    }
-
-    public static class ConfirmationDialogFragment extends InstrumentedDialogFragment
-            implements View.OnClickListener {
-        private static final String EXTRA_KEY = "extra_key";
-        private static final String TAG = "ConfirmationDialogFragment";
-        private IBinder mToken;
-
-        public static ConfirmationDialogFragment newInstance(ShortcutServicePickerFragment parent,
-                String key) {
-            final ConfirmationDialogFragment fragment = new ConfirmationDialogFragment();
-            final Bundle argument = new Bundle();
-            argument.putString(EXTRA_KEY, key);
-            fragment.setArguments(argument);
-            fragment.setTargetFragment(parent, 0);
-            fragment.mToken = new Binder();
-            return fragment;
-        }
-
-        @Override
-        public int getMetricsCategory() {
-            return SettingsEnums.ACCESSIBILITY_TOGGLE_GLOBAL_GESTURE;
-        }
-
-        @Override
-        public Dialog onCreateDialog(Bundle savedInstanceState) {
-            final Bundle bundle = getArguments();
-            final String key = bundle.getString(EXTRA_KEY);
-            final ComponentName serviceComponentName = ComponentName.unflattenFromString(key);
-            final AccessibilityManager accessibilityManager = getActivity()
-                    .getSystemService(AccessibilityManager.class);
-            AccessibilityServiceInfo info = accessibilityManager
-                    .getInstalledServiceInfoWithComponentName(serviceComponentName);
-            return AccessibilityServiceWarning.createCapabilitiesDialog(getActivity(), info, this);
-        }
-
-        @Override
-        public void onClick(View view) {
-            final Fragment fragment = getTargetFragment();
-            if ((view.getId() == R.id.permission_enable_allow_button)
-                && (fragment instanceof ShortcutServicePickerFragment)) {
-                final Bundle bundle = getArguments();
-                ((ShortcutServicePickerFragment) fragment).onServiceConfirmed(
-                        bundle.getString(EXTRA_KEY));
-            }
-            dismiss();
-        }
-    }
-
-    private class FrameworkCandidateInfo extends CandidateInfo {
-        final ToggleableFrameworkFeatureInfo mToggleableFrameworkFeatureInfo;
-        final int mIconResId;
-        final String mKey;
-
-        public FrameworkCandidateInfo(
-                ToggleableFrameworkFeatureInfo frameworkFeatureInfo, int iconResId, String key) {
-            super(true /* enabled */);
-            mToggleableFrameworkFeatureInfo = frameworkFeatureInfo;
-            mIconResId = iconResId;
-            mKey = key;
-        }
-
-        @Override
-        public CharSequence loadLabel() {
-            return mToggleableFrameworkFeatureInfo.getLabel(getContext());
-        }
-
-        @Override
-        public Drawable loadIcon() {
-            return getContext().getDrawable(mIconResId);
-        }
-
-        @Override
-        public String getKey() {
-            return mKey;
-        }
-    }
-
-    private class ServiceCandidateInfo extends CandidateInfo {
-        final AccessibilityServiceInfo mServiceInfo;
-
-        public ServiceCandidateInfo(AccessibilityServiceInfo serviceInfo) {
-            super(true /* enabled */);
-            mServiceInfo = serviceInfo;
-        }
-
-        @Override
-        public CharSequence loadLabel() {
-            final PackageManager pmw = getContext().getPackageManager();
-            final CharSequence label =
-                    mServiceInfo.getResolveInfo().serviceInfo.loadLabel(pmw);
-            if (label != null) {
-                return label;
-            }
-
-            final ComponentName componentName = mServiceInfo.getComponentName();
-            if (componentName != null) {
-                try {
-                    final ApplicationInfo appInfo = pmw.getApplicationInfoAsUser(
-                            componentName.getPackageName(), 0, UserHandle.myUserId());
-                    return appInfo.loadLabel(pmw);
-                } catch (PackageManager.NameNotFoundException e) {
-                    return null;
-                }
-            }
-            return null;
-        }
-
-        @Override
-        public Drawable loadIcon() {
-            final ResolveInfo resolveInfo = mServiceInfo.getResolveInfo();
-            return (resolveInfo.getIconResource() == 0)
-                    ? getContext().getDrawable(R.drawable.ic_accessibility_generic)
-                    : resolveInfo.loadIcon(getContext().getPackageManager());
-        }
-
-        @Override
-        public String getKey() {
-            return mServiceInfo.getComponentName().flattenToString();
-        }
-    }
-}
diff --git a/src/com/android/settings/accessibility/StaticTextPreference.java b/src/com/android/settings/accessibility/StaticTextPreference.java
new file mode 100644
index 0000000..3270748
--- /dev/null
+++ b/src/com/android/settings/accessibility/StaticTextPreference.java
@@ -0,0 +1,42 @@
+/*
+ * 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.accessibility;
+
+import android.content.Context;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceViewHolder;
+
+import com.android.settings.R;
+
+/**
+ * A custom {@link android.widget.TextView} preference that removes the title and summary
+ * restriction from platform {@link Preference} implementation and the icon location is kept as
+ * gravity top instead of center.
+ */
+public class StaticTextPreference extends Preference {
+
+    StaticTextPreference(Context context) {
+        super(context);
+        setLayoutResource(R.layout.preference_static_text);
+    }
+
+    @Override
+    public void onBindViewHolder(PreferenceViewHolder holder) {
+        super.onBindViewHolder(holder);
+    }
+}
diff --git a/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java b/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java
index ec8df88..08be8b3 100644
--- a/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java
+++ b/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java
@@ -16,15 +16,14 @@
 
 package com.android.settings.accessibility;
 
-import static android.view.WindowManagerPolicyConstants.NAV_BAR_MODE_GESTURAL;
-
 import android.accessibilityservice.AccessibilityServiceInfo;
 import android.app.Activity;
 import android.app.Dialog;
 import android.app.admin.DevicePolicyManager;
 import android.app.settings.SettingsEnums;
 import android.content.ComponentName;
-import android.content.Context;
+import android.content.ContentResolver;
+import android.content.DialogInterface;
 import android.content.Intent;
 import android.content.pm.ResolveInfo;
 import android.content.pm.ServiceInfo;
@@ -40,25 +39,27 @@
 import android.view.View;
 import android.view.accessibility.AccessibilityManager;
 
+import androidx.preference.Preference;
+import androidx.preference.SwitchPreference;
+
 import com.android.internal.widget.LockPatternUtils;
 import com.android.settings.R;
+import com.android.settings.accessibility.AccessibilityUtil.UserShortcutType;
 import com.android.settings.password.ConfirmDeviceCredentialActivity;
-import com.android.settings.widget.ToggleSwitch;
-import com.android.settings.widget.ToggleSwitch.OnBeforeCheckedChangeListener;
 import com.android.settingslib.accessibility.AccessibilityUtils;
 
 import java.util.List;
+import java.util.concurrent.atomic.AtomicBoolean;
 
-public class ToggleAccessibilityServicePreferenceFragment
-        extends ToggleFeaturePreferenceFragment implements View.OnClickListener {
-
-    private static final int DIALOG_ID_ENABLE_WARNING = 1;
-    private static final int DIALOG_ID_DISABLE_WARNING = 2;
-    private static final int DIALOG_ID_LAUNCH_ACCESSIBILITY_TUTORIAL = 3;
+/** Fragment for providing toggle bar and basic accessibility service setup. */
+public class ToggleAccessibilityServicePreferenceFragment extends
+        ToggleFeaturePreferenceFragment {
 
     public static final int ACTIVITY_REQUEST_CONFIRM_CREDENTIAL_FOR_WEAKER_ENCRYPTION = 1;
-
     private LockPatternUtils mLockPatternUtils;
+    private AtomicBoolean mIsDialogShown = new AtomicBoolean(/* initialValue= */ false);
+
+    private static final String EMPTY_STRING = "";
 
     private final SettingsContentObserver mSettingsContentObserver =
             new SettingsContentObserver(new Handler()) {
@@ -68,8 +69,6 @@
                 }
             };
 
-    private ComponentName mComponentName;
-
     private Dialog mDialog;
 
     @Override
@@ -87,26 +86,20 @@
     @Override
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
-        mLockPatternUtils = new LockPatternUtils(getActivity());
+        mLockPatternUtils = new LockPatternUtils(getPrefContext());
     }
 
     @Override
     public void onResume() {
-        mSettingsContentObserver.register(getContentResolver());
-        updateSwitchBarToggleSwitch();
         super.onResume();
-    }
-
-    @Override
-    public void onPause() {
-        mSettingsContentObserver.unregister(getContentResolver());
-        super.onPause();
+        updateSwitchBarToggleSwitch();
+        mSettingsContentObserver.register(getContentResolver());
     }
 
     @Override
     public void onPreferenceToggled(String preferenceKey, boolean enabled) {
         ComponentName toggledService = ComponentName.unflattenFromString(preferenceKey);
-        AccessibilityUtils.setAccessibilityServiceState(getActivity(), toggledService, enabled);
+        AccessibilityUtils.setAccessibilityServiceState(getPrefContext(), toggledService, enabled);
     }
 
     // IMPORTANT: Refresh the info since there are dynamically changing
@@ -114,11 +107,11 @@
     // example, before JellyBean MR2 the user was granting the explore by touch
     // one.
     private AccessibilityServiceInfo getAccessibilityServiceInfo() {
-        List<AccessibilityServiceInfo> serviceInfos = AccessibilityManager.getInstance(
-                getActivity()).getInstalledAccessibilityServiceList();
-        final int serviceInfoCount = serviceInfos.size();
-        for (int i = 0; i < serviceInfoCount; i++) {
-            AccessibilityServiceInfo serviceInfo = serviceInfos.get(i);
+        final List<AccessibilityServiceInfo> infos = AccessibilityManager.getInstance(
+                getPrefContext()).getInstalledAccessibilityServiceList();
+
+        for (int i = 0, count = infos.size(); i < count; i++) {
+            AccessibilityServiceInfo serviceInfo = infos.get(i);
             ResolveInfo resolveInfo = serviceInfo.getResolveInfo();
             if (mComponentName.getPackageName().equals(resolveInfo.serviceInfo.packageName)
                     && mComponentName.getClassName().equals(resolveInfo.serviceInfo.name)) {
@@ -131,36 +124,58 @@
     @Override
     public Dialog onCreateDialog(int dialogId) {
         switch (dialogId) {
-            case DIALOG_ID_ENABLE_WARNING: {
+            case DialogEnums.ENABLE_WARNING_FROM_TOGGLE: {
                 final AccessibilityServiceInfo info = getAccessibilityServiceInfo();
                 if (info == null) {
                     return null;
                 }
                 mDialog = AccessibilityServiceWarning
-                        .createCapabilitiesDialog(getActivity(), info, this);
+                        .createCapabilitiesDialog(getPrefContext(), info,
+                                this::onDialogButtonFromEnableToggleClicked);
                 break;
             }
-            case DIALOG_ID_DISABLE_WARNING: {
-                AccessibilityServiceInfo info = getAccessibilityServiceInfo();
+            case DialogEnums.ENABLE_WARNING_FROM_SHORTCUT_TOGGLE: {
+                final AccessibilityServiceInfo info = getAccessibilityServiceInfo();
                 if (info == null) {
                     return null;
                 }
                 mDialog = AccessibilityServiceWarning
-                        .createDisableDialog(getActivity(), info, this);
+                        .createCapabilitiesDialog(getPrefContext(), info,
+                                this::onDialogButtonFromShortcutToggleClicked);
                 break;
             }
-            case DIALOG_ID_LAUNCH_ACCESSIBILITY_TUTORIAL: {
-                if (isGestureNavigateEnabled()) {
+            case DialogEnums.ENABLE_WARNING_FROM_SHORTCUT: {
+                final AccessibilityServiceInfo info = getAccessibilityServiceInfo();
+                if (info == null) {
+                    return null;
+                }
+                mDialog = AccessibilityServiceWarning
+                        .createCapabilitiesDialog(getPrefContext(), info,
+                                this::onDialogButtonFromShortcutClicked);
+                break;
+            }
+            case DialogEnums.DISABLE_WARNING_FROM_TOGGLE: {
+                final AccessibilityServiceInfo info = getAccessibilityServiceInfo();
+                if (info == null) {
+                    return null;
+                }
+                mDialog = AccessibilityServiceWarning
+                        .createDisableDialog(getPrefContext(), info,
+                                this::onDialogButtonFromDisableToggleClicked);
+                break;
+            }
+            case DialogEnums.LAUNCH_ACCESSIBILITY_TUTORIAL: {
+                if (AccessibilityUtil.isGestureNavigateEnabled(getPrefContext())) {
                     mDialog = AccessibilityGestureNavigationTutorial
-                            .showGestureNavigationTutorialDialog(getActivity());
+                            .showGestureNavigationTutorialDialog(getPrefContext());
                 } else {
                     mDialog = AccessibilityGestureNavigationTutorial
-                            .showAccessibilityButtonTutorialDialog(getActivity());
+                            .showAccessibilityButtonTutorialDialog(getPrefContext());
                 }
                 break;
             }
             default: {
-                throw new IllegalArgumentException();
+                mDialog = super.onCreateDialog(dialogId);
             }
         }
         return mDialog;
@@ -168,17 +183,38 @@
 
     @Override
     public int getDialogMetricsCategory(int dialogId) {
-        if (dialogId == DIALOG_ID_ENABLE_WARNING) {
-            return SettingsEnums.DIALOG_ACCESSIBILITY_SERVICE_ENABLE;
-        } else {
-            return SettingsEnums.DIALOG_ACCESSIBILITY_SERVICE_DISABLE;
+        switch (dialogId) {
+            case DialogEnums.ENABLE_WARNING_FROM_TOGGLE:
+            case DialogEnums.ENABLE_WARNING_FROM_SHORTCUT:
+            case DialogEnums.ENABLE_WARNING_FROM_SHORTCUT_TOGGLE:
+                return SettingsEnums.DIALOG_ACCESSIBILITY_SERVICE_ENABLE;
+            case DialogEnums.DISABLE_WARNING_FROM_TOGGLE:
+                return SettingsEnums.DIALOG_ACCESSIBILITY_SERVICE_DISABLE;
+            case DialogEnums.LAUNCH_ACCESSIBILITY_TUTORIAL:
+                return AccessibilityUtil.isGestureNavigateEnabled(getPrefContext())
+                        ? SettingsEnums.DIALOG_TOGGLE_SCREEN_GESTURE_NAVIGATION
+                        : SettingsEnums.DIALOG_TOGGLE_SCREEN_ACCESSIBILITY_BUTTON;
+            default:
+                return super.getDialogMetricsCategory(dialogId);
         }
     }
 
+    @Override
+    protected void updateToggleServiceTitle(SwitchPreference switchPreference) {
+        final AccessibilityServiceInfo info = getAccessibilityServiceInfo();
+        final String switchBarText = (info == null) ? "" :
+                getString(R.string.accessibility_service_master_switch_title,
+                        info.getResolveInfo().loadLabel(getPackageManager()));
+        switchPreference.setTitle(switchBarText);
+    }
+
     private void updateSwitchBarToggleSwitch() {
-        final boolean checked = AccessibilityUtils.getEnabledServicesFromSettings(getActivity())
+        final boolean checked = AccessibilityUtils.getEnabledServicesFromSettings(getPrefContext())
                 .contains(mComponentName);
-        mSwitchBar.setCheckedInternal(checked);
+        if (mToggleServiceDividerSwitchPreference.isChecked() == checked) {
+            return;
+        }
+        mToggleServiceDividerSwitchPreference.setChecked(checked);
     }
 
     /**
@@ -195,7 +231,7 @@
     public void onActivityResult(int requestCode, int resultCode, Intent data) {
         if (requestCode == ACTIVITY_REQUEST_CONFIRM_CREDENTIAL_FOR_WEAKER_ENCRYPTION) {
             if (resultCode == Activity.RESULT_OK) {
-                handleConfirmServiceEnabled(true);
+                handleConfirmServiceEnabled(/* confirmed= */ true);
                 // The user confirmed that they accept weaker encryption when
                 // enabling the accessibility service, so change encryption.
                 // Since we came here asynchronously, check encryption again.
@@ -205,46 +241,14 @@
                             Settings.Global.REQUIRE_PASSWORD_TO_DECRYPT, 0);
                 }
             } else {
-                handleConfirmServiceEnabled(false);
+                handleConfirmServiceEnabled(/* confirmed= */ false);
             }
         }
     }
 
-    @Override
-    public void onClick(View view) {
-        if (view.getId() == R.id.permission_enable_allow_button) {
-            if (isFullDiskEncrypted()) {
-                String title = createConfirmCredentialReasonMessage();
-                Intent intent = ConfirmDeviceCredentialActivity.createIntent(title, null);
-                startActivityForResult(intent,
-                        ACTIVITY_REQUEST_CONFIRM_CREDENTIAL_FOR_WEAKER_ENCRYPTION);
-            } else {
-                handleConfirmServiceEnabled(true);
-                if (isServiceSupportAccessibilityButton()) {
-                    showDialog(DIALOG_ID_LAUNCH_ACCESSIBILITY_TUTORIAL);
-                }
-            }
-        } else if (view.getId() == R.id.permission_enable_deny_button) {
-            handleConfirmServiceEnabled(false);
-        } else if (view.getId() == R.id.permission_disable_stop_button) {
-            handleConfirmServiceEnabled(false);
-        } else if (view.getId() == R.id.permission_disable_cancel_button) {
-            handleConfirmServiceEnabled(true);
-        } else {
-            throw new IllegalArgumentException();
-        }
-        mDialog.dismiss();
-    }
-
-    private boolean isGestureNavigateEnabled() {
-        return getContext().getResources().getInteger(
-                com.android.internal.R.integer.config_navBarInteractionMode)
-                == NAV_BAR_MODE_GESTURAL;
-    }
-
     private boolean isServiceSupportAccessibilityButton() {
-        final AccessibilityManager ams = (AccessibilityManager) getContext().getSystemService(
-                Context.ACCESSIBILITY_SERVICE);
+        final AccessibilityManager ams = getPrefContext().getSystemService(
+                AccessibilityManager.class);
         final List<AccessibilityServiceInfo> services = ams.getInstalledAccessibilityServiceList();
 
         for (AccessibilityServiceInfo info : services) {
@@ -261,7 +265,7 @@
     }
 
     private void handleConfirmServiceEnabled(boolean confirmed) {
-        mSwitchBar.setCheckedInternal(confirmed);
+        mToggleServiceDividerSwitchPreference.setChecked(confirmed);
         getArguments().putBoolean(AccessibilitySettings.EXTRA_CHECKED, confirmed);
         onPreferenceToggled(mPreferenceKey, confirmed);
     }
@@ -284,23 +288,36 @@
     }
 
     @Override
-    protected void onInstallSwitchBarToggleSwitch() {
-        super.onInstallSwitchBarToggleSwitch();
-        mToggleSwitch.setOnBeforeCheckedChangeListener(new OnBeforeCheckedChangeListener() {
-            @Override
-            public boolean onBeforeCheckedChanged(ToggleSwitch toggleSwitch, boolean checked) {
-                if (checked) {
-                    mSwitchBar.setCheckedInternal(false);
-                    getArguments().putBoolean(AccessibilitySettings.EXTRA_CHECKED, false);
-                    showDialog(DIALOG_ID_ENABLE_WARNING);
-                } else {
-                    mSwitchBar.setCheckedInternal(true);
-                    getArguments().putBoolean(AccessibilitySettings.EXTRA_CHECKED, true);
-                    showDialog(DIALOG_ID_DISABLE_WARNING);
-                }
-                return true;
+    protected void onInstallSwitchPreferenceToggleSwitch() {
+        super.onInstallSwitchPreferenceToggleSwitch();
+        mToggleServiceDividerSwitchPreference.setOnPreferenceClickListener(this::onPreferenceClick);
+    }
+
+    @Override
+    public void onToggleClicked(ShortcutPreference preference) {
+        final int shortcutTypes = getUserShortcutType(getPrefContext(), UserShortcutType.SOFTWARE);
+        if (preference.isChecked()) {
+            if (!mToggleServiceDividerSwitchPreference.isChecked()) {
+                preference.setChecked(false);
+                showPopupDialog(DialogEnums.ENABLE_WARNING_FROM_SHORTCUT_TOGGLE);
+            } else {
+                AccessibilityUtil.optInAllValuesToSettings(getPrefContext(), shortcutTypes,
+                        mComponentName);
             }
-        });
+        } else {
+            AccessibilityUtil.optOutAllValuesFromSettings(getPrefContext(), shortcutTypes,
+                    mComponentName);
+        }
+        mShortcutPreference.setSummary(getShortcutTypeSummary(getPrefContext()));
+    }
+
+    @Override
+    public void onSettingsClicked(ShortcutPreference preference) {
+        super.onSettingsClicked(preference);
+        final boolean isServiceOnOrShortcutAdded = mShortcutPreference.isChecked()
+                || mToggleServiceDividerSwitchPreference.isChecked();
+        showPopupDialog(isServiceOnOrShortcutAdded ? DialogEnums.EDIT_SHORTCUT
+                : DialogEnums.ENABLE_WARNING_FROM_SHORTCUT);
     }
 
     @Override
@@ -321,5 +338,146 @@
         }
 
         mComponentName = arguments.getParcelable(AccessibilitySettings.EXTRA_COMPONENT_NAME);
+
+        // Settings animated image.
+        final int animatedImageRes = arguments.getInt(
+                AccessibilitySettings.EXTRA_ANIMATED_IMAGE_RES);
+        mImageUri = new Uri.Builder().scheme(ContentResolver.SCHEME_ANDROID_RESOURCE)
+                .authority(mComponentName.getPackageName())
+                .appendPath(String.valueOf(animatedImageRes))
+                .build();
+
+        // Get Accessibility service name.
+        mPackageName = getAccessibilityServiceInfo().getResolveInfo().loadLabel(
+                getPackageManager());
+    }
+
+    private void onDialogButtonFromDisableToggleClicked(DialogInterface dialog, int which) {
+        switch (which) {
+            case DialogInterface.BUTTON_POSITIVE:
+                handleConfirmServiceEnabled(/* confirmed= */ false);
+                break;
+            case DialogInterface.BUTTON_NEGATIVE:
+                handleConfirmServiceEnabled(/* confirmed= */ true);
+                break;
+            default:
+                throw new IllegalArgumentException("Unexpected button identifier");
+        }
+    }
+
+    private void onDialogButtonFromEnableToggleClicked(View view) {
+        final int viewId = view.getId();
+        if (viewId == R.id.permission_enable_allow_button) {
+            onAllowButtonFromEnableToggleClicked();
+        } else if (viewId == R.id.permission_enable_deny_button) {
+            onDenyButtonFromEnableToggleClicked();
+        } else {
+            throw new IllegalArgumentException("Unexpected view id");
+        }
+    }
+
+    private void onAllowButtonFromEnableToggleClicked() {
+        if (isFullDiskEncrypted()) {
+            final String title = createConfirmCredentialReasonMessage();
+            final Intent intent = ConfirmDeviceCredentialActivity.createIntent(title, /* details= */
+                    null);
+            startActivityForResult(intent,
+                    ACTIVITY_REQUEST_CONFIRM_CREDENTIAL_FOR_WEAKER_ENCRYPTION);
+        } else {
+            handleConfirmServiceEnabled(/* confirmed= */ true);
+            if (isServiceSupportAccessibilityButton()) {
+                mIsDialogShown.set(false);
+                showPopupDialog(DialogEnums.LAUNCH_ACCESSIBILITY_TUTORIAL);
+            }
+        }
+
+        mDialog.dismiss();
+    }
+
+    private void onDenyButtonFromEnableToggleClicked() {
+        handleConfirmServiceEnabled(/* confirmed= */ false);
+        mDialog.dismiss();
+    }
+
+    void onDialogButtonFromShortcutToggleClicked(View view) {
+        final int viewId = view.getId();
+        if (viewId == R.id.permission_enable_allow_button) {
+            onAllowButtonFromShortcutToggleClicked();
+        } else if (viewId == R.id.permission_enable_deny_button) {
+            onDenyButtonFromShortcutToggleClicked();
+        } else {
+            throw new IllegalArgumentException("Unexpected view id");
+        }
+    }
+
+    private void onAllowButtonFromShortcutToggleClicked() {
+        mShortcutPreference.setChecked(true);
+
+        final int shortcutTypes = getUserShortcutType(getPrefContext(), UserShortcutType.SOFTWARE);
+        AccessibilityUtil.optInAllValuesToSettings(getPrefContext(), shortcutTypes, mComponentName);
+
+        mDialog.dismiss();
+
+        mShortcutPreference.setSummary(getShortcutTypeSummary(getPrefContext()));
+    }
+
+    private void onDenyButtonFromShortcutToggleClicked() {
+        mShortcutPreference.setChecked(false);
+
+        mDialog.dismiss();
+    }
+
+    void onDialogButtonFromShortcutClicked(View view) {
+        final int viewId = view.getId();
+        if (viewId == R.id.permission_enable_allow_button) {
+            onAllowButtonFromShortcutClicked();
+        } else if (viewId == R.id.permission_enable_deny_button) {
+            onDenyButtonFromShortcutClicked();
+        } else {
+            throw new IllegalArgumentException("Unexpected view id");
+        }
+    }
+
+    private void onAllowButtonFromShortcutClicked() {
+        mIsDialogShown.set(false);
+        showPopupDialog(DialogEnums.EDIT_SHORTCUT);
+
+        mDialog.dismiss();
+    }
+
+    private void onDenyButtonFromShortcutClicked() {
+        mDialog.dismiss();
+    }
+
+    private boolean onPreferenceClick(Preference preference) {
+        boolean checked = ((DividerSwitchPreference) preference).isChecked();
+        if (checked) {
+            mToggleServiceDividerSwitchPreference.setChecked(false);
+            getArguments().putBoolean(AccessibilitySettings.EXTRA_CHECKED,
+                    /* disableService */ false);
+            if (!mShortcutPreference.isChecked()) {
+                showPopupDialog(DialogEnums.ENABLE_WARNING_FROM_TOGGLE);
+            } else {
+                handleConfirmServiceEnabled(/* confirmed= */ true);
+                if (isServiceSupportAccessibilityButton()) {
+                    showPopupDialog(DialogEnums.LAUNCH_ACCESSIBILITY_TUTORIAL);
+                }
+            }
+        } else {
+            mToggleServiceDividerSwitchPreference.setChecked(true);
+            getArguments().putBoolean(AccessibilitySettings.EXTRA_CHECKED,
+                    /* enableService */ true);
+            showDialog(DialogEnums.DISABLE_WARNING_FROM_TOGGLE);
+        }
+        return true;
+    }
+
+    private void showPopupDialog(int dialogId) {
+        if (mIsDialogShown.compareAndSet(/* expect= */ false, /* update= */ true)) {
+            showDialog(dialogId);
+            setOnDismissListener(
+                    dialog -> mIsDialogShown.compareAndSet(/* expect= */ true, /* update= */
+                            false));
+        }
     }
 }
diff --git a/src/com/android/settings/accessibility/ToggleAutoclickCustomSeekbarController.java b/src/com/android/settings/accessibility/ToggleAutoclickCustomSeekbarController.java
new file mode 100644
index 0000000..b98a503
--- /dev/null
+++ b/src/com/android/settings/accessibility/ToggleAutoclickCustomSeekbarController.java
@@ -0,0 +1,216 @@
+/*
+ * 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 android.content.Context.MODE_PRIVATE;
+
+import static com.android.settings.accessibility.ToggleAutoclickPreferenceController.KEY_DELAY_MODE;
+import static com.android.settings.accessibility.ToggleAutoclickPreferenceFragment.Quantity;
+
+import android.content.ContentResolver;
+import android.content.Context;
+import android.content.SharedPreferences;
+import android.provider.Settings;
+import android.view.accessibility.AccessibilityManager;
+import android.widget.ImageView;
+import android.widget.SeekBar;
+import android.widget.TextView;
+
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settings.core.BasePreferenceController;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+import com.android.settingslib.core.lifecycle.LifecycleObserver;
+import com.android.settingslib.core.lifecycle.events.OnPause;
+import com.android.settingslib.core.lifecycle.events.OnResume;
+import com.android.settingslib.widget.LayoutPreference;
+
+/**
+ * Controller class that controls accessibility autoclick seekbar settings.
+ */
+public class ToggleAutoclickCustomSeekbarController extends BasePreferenceController
+        implements LifecycleObserver, OnResume, OnPause,
+        SharedPreferences.OnSharedPreferenceChangeListener {
+
+    private static final String CONTROL_AUTOCLICK_DELAY_SECURE =
+            Settings.Secure.ACCESSIBILITY_AUTOCLICK_DELAY;
+    private static final String KEY_CUSTOM_DELAY_VALUE = "custom_delay_value";
+
+    // Min allowed autoclick delay value.
+    static final int MIN_AUTOCLICK_DELAY_MS = 200;
+
+    // Max allowed autoclick delay value.
+    static final int MAX_AUTOCLICK_DELAY_MS = 1000;
+
+    // Allowed autoclick delay values are discrete.
+    // This is the difference between two allowed values.
+    private static final int AUTOCLICK_DELAY_STEP = 100;
+
+    private final SharedPreferences mSharedPreferences;
+    private final ContentResolver mContentResolver;
+    private ImageView mShorter;
+    private ImageView mLonger;
+    private SeekBar mSeekBar;
+    private TextView mDelayLabel;
+
+    private final SeekBar.OnSeekBarChangeListener mSeekBarChangeListener =
+            new SeekBar.OnSeekBarChangeListener() {
+
+                @Override
+                public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
+                    updateCustomDelayValue(seekBarProgressToDelay(progress));
+                }
+
+                @Override
+                public void onStartTrackingTouch(SeekBar seekBar) {
+                    // Nothing to do.
+                }
+
+                @Override
+                public void onStopTrackingTouch(SeekBar seekBar) {
+                    // Nothing to do.
+                }
+            };
+
+    public ToggleAutoclickCustomSeekbarController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+        mSharedPreferences = context.getSharedPreferences(context.getPackageName(), MODE_PRIVATE);
+        mContentResolver = context.getContentResolver();
+    }
+
+    public ToggleAutoclickCustomSeekbarController(Context context, Lifecycle lifecycle,
+            String preferenceKey) {
+        this(context, preferenceKey);
+
+        if (lifecycle != null) {
+            lifecycle.addObserver(this);
+        }
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return AVAILABLE;
+    }
+
+    @Override
+    public void onResume() {
+        if (mSharedPreferences != null) {
+            mSharedPreferences.registerOnSharedPreferenceChangeListener(this);
+        }
+    }
+
+    @Override
+    public void onPause() {
+        if (mSharedPreferences != null) {
+            mSharedPreferences.unregisterOnSharedPreferenceChangeListener(this);
+        }
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        final LayoutPreference preference = screen.findPreference(getPreferenceKey());
+
+        if (isAvailable()) {
+            int delayMillis = getSharedPreferenceForDelayValue();
+            // Initialize seek bar preference. Sets seek bar size to the number of possible delay
+            // values.
+            mSeekBar = preference.findViewById(R.id.autoclick_delay);
+            mSeekBar.setMax(delayToSeekBarProgress(MAX_AUTOCLICK_DELAY_MS));
+            mSeekBar.setProgress(delayToSeekBarProgress(delayMillis));
+            mSeekBar.setOnSeekBarChangeListener(mSeekBarChangeListener);
+
+            mDelayLabel = preference.findViewById(R.id.current_label);
+            mDelayLabel.setText(delayTimeToString(delayMillis));
+
+            mShorter = preference.findViewById(R.id.shorter);
+            mShorter.setOnClickListener(v -> {
+                minusDelayByImageView();
+            });
+
+            mLonger = preference.findViewById(R.id.longer);
+            mLonger.setOnClickListener(v -> {
+                plusDelayByImageView();
+            });
+        }
+    }
+
+    @Override
+    public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
+        if (KEY_DELAY_MODE.equals(key)) {
+            int delayMillis = getSharedPreferenceForDelayValue();
+            updateCustomDelayValue(delayMillis);
+        }
+    }
+
+    /** Converts seek bar preference progress value to autoclick delay associated with it. */
+    private int seekBarProgressToDelay(int progress) {
+        return progress * AUTOCLICK_DELAY_STEP + MIN_AUTOCLICK_DELAY_MS;
+    }
+
+    /**
+     * Converts autoclick delay value to seek bar preference progress values that represents said
+     * delay.
+     */
+    private int delayToSeekBarProgress(int delayMillis) {
+        return (delayMillis - MIN_AUTOCLICK_DELAY_MS) / AUTOCLICK_DELAY_STEP;
+    }
+
+    private int getSharedPreferenceForDelayValue() {
+        int delayMillis = mSharedPreferences.getInt(KEY_CUSTOM_DELAY_VALUE,
+                AccessibilityManager.AUTOCLICK_DELAY_DEFAULT);
+
+        return delayMillis;
+    }
+
+    private void putSecureInt(String name, int value) {
+        Settings.Secure.putInt(mContentResolver, name, value);
+    }
+
+    private void updateCustomDelayValue(int delayMillis) {
+        putSecureInt(CONTROL_AUTOCLICK_DELAY_SECURE, delayMillis);
+        mSharedPreferences.edit().putInt(KEY_CUSTOM_DELAY_VALUE, delayMillis).apply();
+        mSeekBar.setProgress(delayToSeekBarProgress(delayMillis));
+        mDelayLabel.setText(delayTimeToString(delayMillis));
+    }
+
+    private void minusDelayByImageView() {
+        int delayMillis = getSharedPreferenceForDelayValue();
+        if (delayMillis > MIN_AUTOCLICK_DELAY_MS) {
+            updateCustomDelayValue(delayMillis - AUTOCLICK_DELAY_STEP);
+        }
+    }
+
+    private void plusDelayByImageView() {
+        int delayMillis = getSharedPreferenceForDelayValue();
+        if (delayMillis < MAX_AUTOCLICK_DELAY_MS) {
+            updateCustomDelayValue(delayMillis + AUTOCLICK_DELAY_STEP);
+        }
+    }
+
+    private CharSequence delayTimeToString(int delayMillis) {
+        final int quantity = (delayMillis == 1000) ? Quantity.ONE : Quantity.OTHER;
+        final float delaySecond = (float) delayMillis / 1000;
+        // Only show integer when delay time is 1.
+        final String decimalFormat = (delaySecond == 1) ? "%.0f" : "%.1f";
+
+        return mContext.getResources().getQuantityString(
+                R.plurals.accessibilty_autoclick_delay_unit_second,
+                quantity, String.format(decimalFormat, delaySecond));
+    }
+}
diff --git a/src/com/android/settings/accessibility/ToggleAutoclickPreferenceController.java b/src/com/android/settings/accessibility/ToggleAutoclickPreferenceController.java
new file mode 100644
index 0000000..45cdf91
--- /dev/null
+++ b/src/com/android/settings/accessibility/ToggleAutoclickPreferenceController.java
@@ -0,0 +1,193 @@
+/*
+ * 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 android.content.Context.MODE_PRIVATE;
+
+import android.content.ContentResolver;
+import android.content.Context;
+import android.content.SharedPreferences;
+import android.content.res.Resources;
+import android.provider.Settings;
+import android.util.ArrayMap;
+
+import androidx.lifecycle.LifecycleObserver;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settings.core.BasePreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+import com.android.settingslib.widget.LayoutPreference;
+import com.android.settingslib.widget.RadioButtonPreference;
+
+import java.util.Map;
+
+/**
+ * Controller class that controls accessibility autoclick settings.
+ */
+public class ToggleAutoclickPreferenceController extends BasePreferenceController implements
+        LifecycleObserver, RadioButtonPreference.OnClickListener, PreferenceControllerMixin {
+
+    private static final String CONTROL_AUTOCLICK_DELAY_SECURE =
+            Settings.Secure.ACCESSIBILITY_AUTOCLICK_DELAY;
+    private static final String KEY_AUTOCLICK_CUSTOM_SEEKBAR = "autoclick_custom_seekbar";
+    static final String KEY_DELAY_MODE = "delay_mode";
+
+    private static final int AUTOCLICK_OFF_MODE = 0;
+    private static final int AUTOCLICK_CUSTOM_MODE = 2000;
+
+    // Pair the preference key and autoclick mode value.
+    private final Map<String, Integer> mAccessibilityAutoclickKeyToValueMap = new ArrayMap<>();
+
+    private SharedPreferences mSharedPreferences;
+    private final ContentResolver mContentResolver;
+    private final Resources mResources;
+    private OnChangeListener mOnChangeListener;
+    private RadioButtonPreference mDelayModePref;
+
+    /**
+     * Seek bar preference for autoclick delay value. The seek bar has values between 0 and
+     * number of possible discrete autoclick delay values. These will have to be converted to actual
+     * delay values before saving them in settings.
+     */
+    private LayoutPreference mSeekBerPreference;
+    private int mCurrentUiAutoClickMode;
+
+    public ToggleAutoclickPreferenceController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+
+        mSharedPreferences = context.getSharedPreferences(context.getPackageName(), MODE_PRIVATE);
+        mContentResolver = context.getContentResolver();
+        mResources = context.getResources();
+
+        setAutoclickModeToKeyMap();
+    }
+
+    public ToggleAutoclickPreferenceController(Context context, Lifecycle lifecycle,
+            String preferenceKey) {
+        super(context, preferenceKey);
+
+        mSharedPreferences = context.getSharedPreferences(context.getPackageName(), MODE_PRIVATE);
+        mContentResolver = context.getContentResolver();
+        mResources = context.getResources();
+
+        setAutoclickModeToKeyMap();
+
+        if (lifecycle != null) {
+            lifecycle.addObserver(this);
+        }
+    }
+
+    public void setOnChangeListener(OnChangeListener listener) {
+        mOnChangeListener = listener;
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return AVAILABLE;
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+
+        mDelayModePref = (RadioButtonPreference)
+                screen.findPreference(getPreferenceKey());
+        mDelayModePref.setOnClickListener(this);
+        mSeekBerPreference = (LayoutPreference) screen.findPreference(KEY_AUTOCLICK_CUSTOM_SEEKBAR);
+        updateState((Preference) mDelayModePref);
+    }
+
+    @Override
+    public void onRadioButtonClicked(RadioButtonPreference preference) {
+        int value = mAccessibilityAutoclickKeyToValueMap.get(mPreferenceKey);
+        handleRadioButtonPreferenceChange(value);
+        if (mOnChangeListener != null) {
+            mOnChangeListener.onCheckedChanged(mDelayModePref);
+        }
+    }
+
+    private void updatePreferenceCheckedState(int mode) {
+        if (mCurrentUiAutoClickMode == mode) {
+            mDelayModePref.setChecked(true);
+        }
+    }
+
+    private void updatePreferenceVisibleState(int mode) {
+        mSeekBerPreference.setVisible(mCurrentUiAutoClickMode == mode);
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        super.updateState(preference);
+
+        mCurrentUiAutoClickMode = getSharedPreferenceForAutoClickMode();
+
+        // Reset RadioButton.
+        mDelayModePref.setChecked(false);
+        int mode = mAccessibilityAutoclickKeyToValueMap.get(mDelayModePref.getKey());
+        updatePreferenceCheckedState(mode);
+        updatePreferenceVisibleState(mode);
+    }
+
+    /** Listener interface handles checked event. */
+    public interface OnChangeListener {
+        /**
+         * A hook that is called when preference checked.
+         */
+        void onCheckedChanged(Preference preference);
+    }
+
+    private void setAutoclickModeToKeyMap() {
+        String[] autoclickKeys = mResources.getStringArray(
+                R.array.accessibility_autoclick_control_selector_keys);
+
+        int[] autoclickValues = mResources.getIntArray(
+                R.array.accessibility_autoclick_selector_values);
+
+        final int autoclickValueCount = autoclickValues.length;
+        for (int i = 0; i < autoclickValueCount; i++) {
+            mAccessibilityAutoclickKeyToValueMap.put(autoclickKeys[i], autoclickValues[i]);
+        }
+    }
+
+    private void handleRadioButtonPreferenceChange(int preference) {
+        if (preference == AUTOCLICK_OFF_MODE) {
+            putSecureInt(Settings.Secure.ACCESSIBILITY_AUTOCLICK_ENABLED, /*value= */ 0);
+        } else {
+            putSecureInt(Settings.Secure.ACCESSIBILITY_AUTOCLICK_ENABLED, /*value= */ 1);
+        }
+
+        mSharedPreferences.edit().putInt(KEY_DELAY_MODE, preference).apply();
+
+        if (preference == AUTOCLICK_CUSTOM_MODE) {
+            return;
+        }
+
+        putSecureInt(CONTROL_AUTOCLICK_DELAY_SECURE, preference);
+    }
+
+    private void putSecureInt(String name, int value) {
+        Settings.Secure.putInt(mContentResolver, name, value);
+    }
+
+    private int getSharedPreferenceForAutoClickMode() {
+        return mSharedPreferences.getInt(KEY_DELAY_MODE, AUTOCLICK_OFF_MODE);
+    }
+}
diff --git a/src/com/android/settings/accessibility/ToggleAutoclickPreferenceFragment.java b/src/com/android/settings/accessibility/ToggleAutoclickPreferenceFragment.java
index 8e12339..5e09b2a 100644
--- a/src/com/android/settings/accessibility/ToggleAutoclickPreferenceFragment.java
+++ b/src/com/android/settings/accessibility/ToggleAutoclickPreferenceFragment.java
@@ -16,24 +16,26 @@
 
 package com.android.settings.accessibility;
 
+import static com.android.settings.accessibility.ToggleAutoclickCustomSeekbarController.MAX_AUTOCLICK_DELAY_MS;
+import static com.android.settings.accessibility.ToggleAutoclickCustomSeekbarController.MIN_AUTOCLICK_DELAY_MS;
+
+import static java.lang.annotation.RetentionPolicy.SOURCE;
+
+import android.annotation.IntDef;
 import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.content.res.Resources;
-import android.os.Bundle;
-import android.provider.SearchIndexableResource;
-import android.provider.Settings;
-import android.view.accessibility.AccessibilityManager;
-import android.widget.Switch;
 
 import androidx.preference.Preference;
 
 import com.android.settings.R;
+import com.android.settings.dashboard.DashboardFragment;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
-import com.android.settings.widget.SeekBarPreference;
-import com.android.settings.widget.SwitchBar;
+import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.settingslib.core.lifecycle.Lifecycle;
 import com.android.settingslib.search.SearchIndexable;
 
+import java.lang.annotation.Retention;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -42,18 +44,21 @@
  * feature.
  */
 @SearchIndexable
-public class ToggleAutoclickPreferenceFragment extends ToggleFeaturePreferenceFragment
-        implements SwitchBar.OnSwitchChangeListener, Preference.OnPreferenceChangeListener {
+public class ToggleAutoclickPreferenceFragment extends DashboardFragment
+        implements ToggleAutoclickPreferenceController.OnChangeListener {
 
-    /** Min allowed autoclick delay value. */
-    private static final int MIN_AUTOCLICK_DELAY = 200;
-    /** Max allowed autoclick delay value. */
-    private static final int MAX_AUTOCLICK_DELAY = 1000;
-    /**
-     * Allowed autoclick delay values are discrete. This is the difference between two allowed
-     * values.
-     */
-    private static final int AUTOCLICK_DELAY_STEP = 100;
+    private static final String TAG = "AutoclickPrefFragment";
+    private static final List<AbstractPreferenceController> sControllers = new ArrayList<>();
+
+    @Retention(SOURCE)
+    @IntDef({
+            Quantity.OTHER,
+            Quantity.ONE
+    })
+    @interface Quantity {
+        int OTHER = 0;
+        int ONE = 1;
+    }
 
     /**
      * Resource ids from which autoclick preference summaries should be derived. The strings have
@@ -68,43 +73,36 @@
     };
 
     /**
-     * Seek bar preference for autoclick delay value. The seek bar has values between 0 and
-     * number of possible discrete autoclick delay values. These will have to be converted to actual
-     * delay values before saving them in settings.
-     */
-    private SeekBarPreference mDelay;
-
-    /**
      * Gets string that should be used as a autoclick preference summary for provided autoclick
      * delay.
+     *
      * @param resources Resources from which string should be retrieved.
-     * @param delay Delay for whose value summary should be retrieved.
+     * @param delayMillis Delay for whose value summary should be retrieved.
      */
-    static CharSequence getAutoclickPreferenceSummary(Resources resources, int delay) {
-        int summaryIndex = getAutoclickPreferenceSummaryIndex(delay);
-        return resources.getQuantityString(
-                mAutoclickPreferenceSummaries[summaryIndex], delay, delay);
+    static CharSequence getAutoclickPreferenceSummary(Resources resources, int delayMillis) {
+        final int summaryIndex = getAutoclickPreferenceSummaryIndex(delayMillis);
+        final int quantity = (delayMillis == 1000) ? Quantity.ONE : Quantity.OTHER;
+        final float delaySecond =  (float) delayMillis / 1000;
+        // Only show integer when delay time is 1.
+        final String decimalFormat = (delaySecond == 1) ? "%.0f" : "%.1f";
+
+        return resources.getQuantityString(mAutoclickPreferenceSummaries[summaryIndex],
+                quantity, String.format(decimalFormat, delaySecond));
     }
 
     /**
      * Finds index of the summary that should be used for the provided autoclick delay.
      */
     private static int getAutoclickPreferenceSummaryIndex(int delay) {
-        if (delay <= MIN_AUTOCLICK_DELAY) {
+        if (delay <= MIN_AUTOCLICK_DELAY_MS) {
             return 0;
         }
-        if (delay >= MAX_AUTOCLICK_DELAY) {
+        if (delay >= MAX_AUTOCLICK_DELAY_MS) {
             return mAutoclickPreferenceSummaries.length - 1;
         }
-        int rangeSize = (MAX_AUTOCLICK_DELAY - MIN_AUTOCLICK_DELAY) /
-                (mAutoclickPreferenceSummaries.length - 1);
-        return (delay - MIN_AUTOCLICK_DELAY) / rangeSize;
-    }
-
-    @Override
-    protected void onPreferenceToggled(String preferenceKey, boolean enabled) {
-        Settings.Secure.putInt(getContentResolver(), preferenceKey, enabled ? 1 : 0);
-        mDelay.setEnabled(enabled);
+        int delayRange = MAX_AUTOCLICK_DELAY_MS - MIN_AUTOCLICK_DELAY_MS;
+        int rangeSize = (delayRange) / (mAutoclickPreferenceSummaries.length - 1);
+        return (delay - MIN_AUTOCLICK_DELAY_MS) / rangeSize;
     }
 
     @Override
@@ -118,87 +116,67 @@
     }
 
     @Override
+    protected String getLogTag() {
+        return TAG;
+    }
+
+    @Override
     protected int getPreferenceScreenResId() {
         return R.xml.accessibility_autoclick_settings;
     }
 
     @Override
-    public void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
+    public void onResume() {
+        super.onResume();
 
-        int delay = Settings.Secure.getInt(
-                getContentResolver(), Settings.Secure.ACCESSIBILITY_AUTOCLICK_DELAY,
-                AccessibilityManager.AUTOCLICK_DELAY_DEFAULT);
-
-        // Initialize seek bar preference. Sets seek bar size to the number of possible delay
-        // values.
-        mDelay = (SeekBarPreference) findPreference("autoclick_delay");
-        mDelay.setMax(delayToSeekBarProgress(MAX_AUTOCLICK_DELAY));
-        mDelay.setProgress(delayToSeekBarProgress(delay));
-        mDelay.setOnPreferenceChangeListener(this);
-        mFooterPreferenceMixin.createFooterPreference()
-                .setTitle(R.string.accessibility_autoclick_description);
+        for (AbstractPreferenceController controller : sControllers) {
+            ((ToggleAutoclickPreferenceController) controller).setOnChangeListener(this);
+        }
     }
 
     @Override
-    protected void onInstallSwitchBarToggleSwitch() {
-        super.onInstallSwitchBarToggleSwitch();
+    public void onPause() {
+        super.onPause();
 
-        int value = Settings.Secure.getInt(getContentResolver(),
-                Settings.Secure.ACCESSIBILITY_AUTOCLICK_ENABLED, 0);
-        mSwitchBar.setCheckedInternal(value == 1);
-        mSwitchBar.addOnSwitchChangeListener(this);
-        mDelay.setEnabled(value == 1);
+        for (AbstractPreferenceController controller : sControllers) {
+            ((ToggleAutoclickPreferenceController) controller).setOnChangeListener(null);
+        }
     }
 
     @Override
-    protected void onRemoveSwitchBarToggleSwitch() {
-        super.onRemoveSwitchBarToggleSwitch();
-        mSwitchBar.removeOnSwitchChangeListener(this);
+    public void onCheckedChanged(Preference preference) {
+        for (AbstractPreferenceController controller : sControllers) {
+            controller.updateState(preference);
+        }
     }
 
     @Override
-    public void onSwitchChanged(Switch switchView, boolean isChecked) {
-        onPreferenceToggled(Settings.Secure.ACCESSIBILITY_AUTOCLICK_ENABLED, isChecked);
+    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
+        return buildPreferenceControllers(context, getSettingsLifecycle());
     }
 
-    @Override
-    public boolean onPreferenceChange(Preference preference, Object newValue) {
-        if (preference == mDelay && newValue instanceof Integer) {
-            Settings.Secure.putInt(getContentResolver(),
-                   Settings.Secure.ACCESSIBILITY_AUTOCLICK_DELAY,
-                   seekBarProgressToDelay((int)newValue));
-            return true;
-         }
-         return false;
+    private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
+            Lifecycle lifecycle) {
+        Resources resources = context.getResources();
+
+        String[] autoclickKeys = resources.getStringArray(
+                R.array.accessibility_autoclick_control_selector_keys);
+
+        final int length = autoclickKeys.length;
+        for (int i = 0; i < length; i++) {
+            sControllers.add(new ToggleAutoclickPreferenceController(
+                    context, lifecycle, autoclickKeys[i]));
+        }
+        return sControllers;
     }
 
-    /**
-     * Converts seek bar preference progress value to autoclick delay associated with it.
-     */
-    private int seekBarProgressToDelay(int progress) {
-        return progress * AUTOCLICK_DELAY_STEP + MIN_AUTOCLICK_DELAY;
-    }
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.accessibility_autoclick_settings) {
 
-    /**
-     * Converts autoclick delay value to seek bar preference progress values that represents said
-     * delay.
-     */
-    private int delayToSeekBarProgress(int delay) {
-        return (delay - MIN_AUTOCLICK_DELAY) / AUTOCLICK_DELAY_STEP;
-    }
-
-    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
                 @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
-                        boolean enabled) {
-                    final ArrayList<SearchIndexableResource> result = new ArrayList<>();
-
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.accessibility_autoclick_settings;
-                    result.add(sir);
-                    return result;
+                public List<AbstractPreferenceController> createPreferenceControllers(
+                        Context context) {
+                    return buildPreferenceControllers(context, null);
                 }
             };
 }
diff --git a/src/com/android/settings/accessibility/ToggleColorInversionPreferenceFragment.java b/src/com/android/settings/accessibility/ToggleColorInversionPreferenceFragment.java
new file mode 100644
index 0000000..c0ad2ac
--- /dev/null
+++ b/src/com/android/settings/accessibility/ToggleColorInversionPreferenceFragment.java
@@ -0,0 +1,132 @@
+/*
+ * 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.accessibility;
+
+import static com.android.internal.accessibility.AccessibilityShortcutController.COLOR_INVERSION_COMPONENT_NAME;
+import static com.android.settings.accessibility.AccessibilityUtil.State.OFF;
+import static com.android.settings.accessibility.AccessibilityUtil.State.ON;
+
+import android.app.settings.SettingsEnums;
+import android.net.Uri;
+import android.os.Bundle;
+import android.os.Handler;
+import android.provider.Settings;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import androidx.preference.SwitchPreference;
+
+import com.android.settings.R;
+import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settingslib.search.SearchIndexable;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/** Settings page for color inversion. */
+@SearchIndexable
+public class ToggleColorInversionPreferenceFragment extends ToggleFeaturePreferenceFragment {
+
+    private static final String ENABLED = Settings.Secure.ACCESSIBILITY_DISPLAY_INVERSION_ENABLED;
+    private final Handler mHandler = new Handler();
+    private SettingsContentObserver mSettingsContentObserver;
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.ACCESSIBILITY_COLOR_INVERSION_SETTINGS;
+    }
+
+    @Override
+    protected void onPreferenceToggled(String preferenceKey, boolean enabled) {
+        Settings.Secure.putInt(getContentResolver(), ENABLED, enabled ? ON : OFF);
+    }
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.accessibility_color_inversion_settings;
+    }
+
+    @Override
+    protected void onRemoveSwitchPreferenceToggleSwitch() {
+        super.onRemoveSwitchPreferenceToggleSwitch();
+        mToggleServiceDividerSwitchPreference.setOnPreferenceClickListener(null);
+    }
+
+    @Override
+    protected void updateToggleServiceTitle(SwitchPreference switchPreference) {
+        switchPreference.setTitle(R.string.accessibility_display_inversion_switch_title);
+    }
+
+    @Override
+    protected void onInstallSwitchPreferenceToggleSwitch() {
+        super.onInstallSwitchPreferenceToggleSwitch();
+        updateSwitchBarToggleSwitch();
+        mToggleServiceDividerSwitchPreference.setOnPreferenceClickListener((preference) -> {
+            boolean checked = ((SwitchPreference) preference).isChecked();
+            onPreferenceToggled(mPreferenceKey, checked);
+            return false;
+        });
+    }
+
+    @Override
+    public View onCreateView(LayoutInflater inflater, ViewGroup container,
+            Bundle savedInstanceState) {
+        mComponentName = COLOR_INVERSION_COMPONENT_NAME;
+        mPackageName = getText(R.string.accessibility_display_inversion_preference_title);
+        mHtmlDescription = getText(R.string.accessibility_display_inversion_preference_subtitle);
+        final List<String> enableServiceFeatureKeys = new ArrayList<>(/* initialCapacity= */ 1);
+        enableServiceFeatureKeys.add(ENABLED);
+        mSettingsContentObserver = new SettingsContentObserver(mHandler, enableServiceFeatureKeys) {
+            @Override
+            public void onChange(boolean selfChange, Uri uri) {
+                updateSwitchBarToggleSwitch();
+            }
+        };
+        return super.onCreateView(inflater, container, savedInstanceState);
+    }
+
+    @Override
+    public void onResume() {
+        super.onResume();
+        updateSwitchBarToggleSwitch();
+        mSettingsContentObserver.register(getContentResolver());
+    }
+
+    @Override
+    public void onPause() {
+        mSettingsContentObserver.unregister(getContentResolver());
+        super.onPause();
+    }
+
+    @Override
+    public void onSettingsClicked(ShortcutPreference preference) {
+        super.onSettingsClicked(preference);
+        showDialog(DialogEnums.EDIT_SHORTCUT);
+    }
+
+    private void updateSwitchBarToggleSwitch() {
+        final boolean checked = Settings.Secure.getInt(getContentResolver(), ENABLED, OFF) == ON;
+        if (mToggleServiceDividerSwitchPreference.isChecked() == checked) {
+            return;
+        }
+        mToggleServiceDividerSwitchPreference.setChecked(checked);
+    }
+
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.accessibility_color_inversion_settings);
+}
diff --git a/src/com/android/settings/accessibility/ToggleDaltonizerPreferenceFragment.java b/src/com/android/settings/accessibility/ToggleDaltonizerPreferenceFragment.java
index 8924899..9b8b117 100644
--- a/src/com/android/settings/accessibility/ToggleDaltonizerPreferenceFragment.java
+++ b/src/com/android/settings/accessibility/ToggleDaltonizerPreferenceFragment.java
@@ -16,35 +16,138 @@
 
 package com.android.settings.accessibility;
 
+import static com.android.internal.accessibility.AccessibilityShortcutController.DALTONIZER_COMPONENT_NAME;
+import static com.android.settings.accessibility.AccessibilityUtil.State.OFF;
+import static com.android.settings.accessibility.AccessibilityUtil.State.ON;
+
 import android.app.settings.SettingsEnums;
 import android.content.Context;
-import android.hardware.display.ColorDisplayManager;
+import android.content.res.Resources;
+import android.net.Uri;
 import android.os.Bundle;
-import android.provider.SearchIndexableResource;
+import android.os.Handler;
 import android.provider.Settings;
-import android.view.accessibility.AccessibilityManager;
-import android.widget.Switch;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
 
-import androidx.preference.ListPreference;
 import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+import androidx.preference.SwitchPreference;
 
 import com.android.settings.R;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
-import com.android.settings.widget.SwitchBar;
+import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.settingslib.core.lifecycle.Lifecycle;
 import com.android.settingslib.search.SearchIndexable;
 
 import java.util.ArrayList;
 import java.util.List;
 
 @SearchIndexable
-public class ToggleDaltonizerPreferenceFragment extends ToggleFeaturePreferenceFragment
-        implements Preference.OnPreferenceChangeListener, SwitchBar.OnSwitchChangeListener {
-    private static final String ENABLED = Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER_ENABLED;
-    private static final String TYPE = Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER;
-    private static final int DEFAULT_TYPE = AccessibilityManager.DALTONIZER_CORRECT_DEUTERANOMALY;
+public final class ToggleDaltonizerPreferenceFragment extends ToggleFeaturePreferenceFragment
+        implements DaltonizerRadioButtonPreferenceController.OnChangeListener {
 
-    private ListPreference mType;
+    private static final String ENABLED = Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER_ENABLED;
+    private static final String KEY_PREVIEW = "daltonizer_preview";
+    private static final String KEY_CATEGORY_MODE = "daltonizer_mode_category";
+    private static final List<AbstractPreferenceController> sControllers = new ArrayList<>();
+    private final Handler mHandler = new Handler();
+    private SettingsContentObserver mSettingsContentObserver;
+
+    private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
+            Lifecycle lifecycle) {
+        if (sControllers.size() == 0) {
+            final Resources resources = context.getResources();
+            final String[] daltonizerKeys = resources.getStringArray(
+                    R.array.daltonizer_mode_keys);
+
+            for (int i = 0; i < daltonizerKeys.length; i++) {
+                sControllers.add(new DaltonizerRadioButtonPreferenceController(
+                        context, lifecycle, daltonizerKeys[i]));
+            }
+        }
+        return sControllers;
+    }
+
+    @Override
+    public void onCheckedChanged(Preference preference) {
+        for (AbstractPreferenceController controller : sControllers) {
+            controller.updateState(preference);
+        }
+    }
+
+    @Override
+    public View onCreateView(LayoutInflater inflater, ViewGroup container,
+            Bundle savedInstanceState) {
+        mComponentName = DALTONIZER_COMPONENT_NAME;
+        mPackageName = getText(R.string.accessibility_display_daltonizer_preference_title);
+        mHtmlDescription = getText(R.string.accessibility_display_daltonizer_preference_subtitle);
+        final List<String> enableServiceFeatureKeys = new ArrayList<>(/* initialCapacity= */ 1);
+        enableServiceFeatureKeys.add(ENABLED);
+        mSettingsContentObserver = new SettingsContentObserver(mHandler, enableServiceFeatureKeys) {
+            @Override
+            public void onChange(boolean selfChange, Uri uri) {
+                updateSwitchBarToggleSwitch();
+            }
+        };
+        return super.onCreateView(inflater, container, savedInstanceState);
+    }
+
+    @Override
+    public void onViewCreated(View view, Bundle savedInstanceState) {
+        super.onViewCreated(view, savedInstanceState);
+        updatePreferenceOrder();
+    }
+
+    /** Customizes the order by preference key. */
+    private List<String> getPreferenceOrderList() {
+        List<String> lists = new ArrayList<>();
+        lists.add(KEY_PREVIEW);
+        lists.add(KEY_USE_SERVICE_PREFERENCE);
+        lists.add(KEY_CATEGORY_MODE);
+        lists.add(KEY_GENERAL_CATEGORY);
+        lists.add(KEY_INTRODUCTION_CATEGORY);
+        return lists;
+    }
+
+    private void updatePreferenceOrder() {
+        List<String> lists = getPreferenceOrderList();
+        final PreferenceScreen preferenceScreen = getPreferenceScreen();
+        preferenceScreen.setOrderingAsAdded(false);
+
+        final int size = lists.size();
+        for (int i = 0; i < size; i++) {
+            final Preference preference = preferenceScreen.findPreference(lists.get(i));
+            if (preference != null) {
+                preference.setOrder(i);
+            }
+        }
+    }
+
+    @Override
+    public void onResume() {
+        super.onResume();
+        updateSwitchBarToggleSwitch();
+        mSettingsContentObserver.register(getContentResolver());
+
+        for (AbstractPreferenceController controller :
+                buildPreferenceControllers(getPrefContext(), getSettingsLifecycle())) {
+            ((DaltonizerRadioButtonPreferenceController) controller).setOnChangeListener(this);
+            ((DaltonizerRadioButtonPreferenceController) controller).displayPreference(
+                    getPreferenceScreen());
+        }
+    }
+
+    @Override
+    public void onPause() {
+        mSettingsContentObserver.unregister(getContentResolver());
+        for (AbstractPreferenceController controller :
+                buildPreferenceControllers(getPrefContext(), getSettingsLifecycle())) {
+            ((DaltonizerRadioButtonPreferenceController) controller).setOnChangeListener(null);
+        }
+        super.onPause();
+    }
 
     @Override
     public int getMetricsCategory() {
@@ -57,89 +160,51 @@
     }
 
     @Override
-    public void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-
-        mType = (ListPreference) findPreference("type");
-
-        if (!ColorDisplayManager.isColorTransformAccelerated(getActivity())) {
-            mFooterPreferenceMixin.createFooterPreference().setTitle(
-                    R.string.accessibility_display_daltonizer_preference_subtitle);
-        }
-        initPreferences();
-    }
-
-    @Override
     protected int getPreferenceScreenResId() {
         return R.xml.accessibility_daltonizer_settings;
     }
 
     @Override
     protected void onPreferenceToggled(String preferenceKey, boolean enabled) {
-        Settings.Secure.putInt(getContentResolver(), ENABLED, enabled ? 1 : 0);
+        Settings.Secure.putInt(getContentResolver(), ENABLED, enabled ? ON : OFF);
     }
 
     @Override
-    public boolean onPreferenceChange(Preference preference, Object newValue) {
-        if (preference == mType) {
-            Settings.Secure.putInt(getContentResolver(), TYPE, Integer.parseInt((String) newValue));
-            preference.setSummary("%s");
+    protected void onRemoveSwitchPreferenceToggleSwitch() {
+        super.onRemoveSwitchPreferenceToggleSwitch();
+        mToggleServiceDividerSwitchPreference.setOnPreferenceClickListener(null);
+    }
+
+    @Override
+    protected void updateToggleServiceTitle(SwitchPreference switchPreference) {
+        switchPreference.setTitle(R.string.accessibility_daltonizer_master_switch_title);
+    }
+
+    @Override
+    protected void onInstallSwitchPreferenceToggleSwitch() {
+        super.onInstallSwitchPreferenceToggleSwitch();
+        updateSwitchBarToggleSwitch();
+        mToggleServiceDividerSwitchPreference.setOnPreferenceClickListener((preference) -> {
+            boolean checked = ((SwitchPreference) preference).isChecked();
+            onPreferenceToggled(mPreferenceKey, checked);
+            return false;
+        });
+    }
+
+    @Override
+    public void onSettingsClicked(ShortcutPreference preference) {
+        super.onSettingsClicked(preference);
+        showDialog(DialogEnums.EDIT_SHORTCUT);
+    }
+
+    private void updateSwitchBarToggleSwitch() {
+        final boolean checked = Settings.Secure.getInt(getContentResolver(), ENABLED, OFF) == ON;
+        if (mToggleServiceDividerSwitchPreference.isChecked() == checked) {
+            return;
         }
-
-        return true;
+        mToggleServiceDividerSwitchPreference.setChecked(checked);
     }
 
-    @Override
-    protected void onInstallSwitchBarToggleSwitch() {
-        super.onInstallSwitchBarToggleSwitch();
-
-        mSwitchBar.setCheckedInternal(
-                Settings.Secure.getInt(getContentResolver(), ENABLED, 0) == 1);
-        mSwitchBar.addOnSwitchChangeListener(this);
-    }
-
-    @Override
-    protected void onRemoveSwitchBarToggleSwitch() {
-        super.onRemoveSwitchBarToggleSwitch();
-        mSwitchBar.removeOnSwitchChangeListener(this);
-    }
-
-    @Override
-    protected void updateSwitchBarText(SwitchBar switchBar) {
-        switchBar.setSwitchBarText(R.string.accessibility_daltonizer_master_switch_title,
-                R.string.accessibility_daltonizer_master_switch_title);
-    }
-
-    private void initPreferences() {
-        final String value = Integer.toString(
-                Settings.Secure.getInt(getContentResolver(), TYPE, DEFAULT_TYPE));
-        mType.setValue(value);
-        mType.setOnPreferenceChangeListener(this);
-        final int index = mType.findIndexOfValue(value);
-        if (index < 0) {
-            // We're using a mode controlled by developer preferences.
-            mType.setSummary(getString(R.string.daltonizer_type_overridden,
-                    getString(R.string.simulate_color_space)));
-        }
-    }
-
-    @Override
-    public void onSwitchChanged(Switch switchView, boolean isChecked) {
-        onPreferenceToggled(mPreferenceKey, isChecked);
-    }
-
-    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
-                        boolean enabled) {
-                    final ArrayList<SearchIndexableResource> result = new ArrayList<>();
-
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.accessibility_daltonizer_settings;
-                    result.add(sir);
-                    return result;
-                }
-            };
-
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.accessibility_daltonizer_settings);
 }
diff --git a/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java b/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java
index fba5ddb..ec2617a 100644
--- a/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java
+++ b/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java
@@ -16,60 +16,193 @@
 
 package com.android.settings.accessibility;
 
+import static com.android.settings.accessibility.AccessibilityUtil.getScreenHeightPixels;
+import static com.android.settings.accessibility.AccessibilityUtil.getScreenWidthPixels;
+
+import android.app.Dialog;
+import android.app.settings.SettingsEnums;
+import android.content.ComponentName;
+import android.content.ContentResolver;
+import android.content.Context;
+import android.content.DialogInterface;
 import android.content.Intent;
 import android.content.pm.ResolveInfo;
+import android.graphics.drawable.Drawable;
+import android.net.Uri;
 import android.os.Bundle;
+import android.os.UserHandle;
+import android.provider.Settings;
+import android.text.Html;
+import android.text.TextUtils;
+import android.view.LayoutInflater;
 import android.view.View;
+import android.view.ViewGroup;
+import android.view.accessibility.AccessibilityManager;
+import android.view.accessibility.AccessibilityManager.TouchExplorationStateChangeListener;
+import android.widget.CheckBox;
+import android.widget.ImageView;
 
 import androidx.preference.Preference;
+import androidx.preference.PreferenceCategory;
 import androidx.preference.PreferenceScreen;
+import androidx.preference.SwitchPreference;
 
 import com.android.settings.R;
 import com.android.settings.SettingsActivity;
 import com.android.settings.SettingsPreferenceFragment;
+import com.android.settings.accessibility.AccessibilityUtil.UserShortcutType;
 import com.android.settings.widget.SwitchBar;
-import com.android.settings.widget.ToggleSwitch;
+import com.android.settingslib.accessibility.AccessibilityUtils;
+import com.android.settingslib.widget.FooterPreference;
 
-public abstract class ToggleFeaturePreferenceFragment extends SettingsPreferenceFragment {
+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.Set;
+import java.util.StringJoiner;
+import java.util.stream.Collectors;
 
-    protected SwitchBar mSwitchBar;
-    protected ToggleSwitch mToggleSwitch;
+/**
+ * Base class for accessibility fragments with toggle, shortcut, some helper functions
+ * and dialog management.
+ */
+public abstract class ToggleFeaturePreferenceFragment extends SettingsPreferenceFragment
+        implements ShortcutPreference.OnClickCallback {
 
+    protected DividerSwitchPreference mToggleServiceDividerSwitchPreference;
+    protected ShortcutPreference mShortcutPreference;
+    protected Preference mSettingsPreference;
     protected String mPreferenceKey;
 
     protected CharSequence mSettingsTitle;
     protected Intent mSettingsIntent;
+    // The mComponentName maybe null, such as Magnify
+    protected ComponentName mComponentName;
+    protected CharSequence mPackageName;
+    protected Uri mImageUri;
+    protected CharSequence mHtmlDescription;
+    private static final String DRAWABLE_FOLDER = "drawable";
+    protected static final String KEY_USE_SERVICE_PREFERENCE = "use_service";
+    protected static final String KEY_GENERAL_CATEGORY = "general_categories";
+    protected static final String KEY_INTRODUCTION_CATEGORY = "introduction_categories";
+    private static final String KEY_SHORTCUT_PREFERENCE = "shortcut_preference";
+    private static final String EXTRA_SHORTCUT_TYPE = "shortcut_type";
+    private TouchExplorationStateChangeListener mTouchExplorationStateChangeListener;
+    private int mUserShortcutType = UserShortcutType.EMPTY;
+    // Used to restore the edit dialog status.
+    private int mUserShortcutTypeCache = UserShortcutType.EMPTY;
+    private CheckBox mSoftwareTypeCheckBox;
+    private CheckBox mHardwareTypeCheckBox;
+
+    // For html description of accessibility service, must follow the rule, such as
+    // <img src="R.drawable.fileName"/>, a11y settings will get the resources successfully.
+    private static final String IMG_PREFIX = "R.drawable.";
+
+    private ImageView mImageGetterCacheView;
+
+    private final Html.ImageGetter mImageGetter = (String str) -> {
+        if (str != null && str.startsWith(IMG_PREFIX)) {
+            final String fileName = str.substring(IMG_PREFIX.length());
+            return getDrawableFromUri(Uri.parse(
+                    ContentResolver.SCHEME_ANDROID_RESOURCE + "://"
+                            + mComponentName.getPackageName() + "/" + DRAWABLE_FOLDER + "/"
+                            + fileName));
+        }
+        return null;
+    };
 
     @Override
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
+        setupDefaultShortcutIfNecessary(getPrefContext());
         final int resId = getPreferenceScreenResId();
         if (resId <= 0) {
             PreferenceScreen preferenceScreen = getPreferenceManager().createPreferenceScreen(
-                    getActivity());
+                    getPrefContext());
             setPreferenceScreen(preferenceScreen);
         }
     }
 
     @Override
+    public View onCreateView(LayoutInflater inflater, ViewGroup container,
+            Bundle savedInstanceState) {
+        mTouchExplorationStateChangeListener = isTouchExplorationEnabled -> {
+            removeDialog(DialogEnums.EDIT_SHORTCUT);
+            mShortcutPreference.setSummary(getShortcutTypeSummary(getPrefContext()));
+        };
+        return super.onCreateView(inflater, container, savedInstanceState);
+    }
+
+    @Override
     public void onViewCreated(View view, Bundle savedInstanceState) {
         super.onViewCreated(view, savedInstanceState);
 
-        SettingsActivity activity = (SettingsActivity) getActivity();
-        mSwitchBar = activity.getSwitchBar();
-        updateSwitchBarText(mSwitchBar);
-        mToggleSwitch = mSwitchBar.getSwitch();
+        final SettingsActivity activity = (SettingsActivity) getActivity();
+        final SwitchBar switchBar = activity.getSwitchBar();
+        switchBar.hide();
 
+        // Need to be called as early as possible. Protected variables will be assigned here.
         onProcessArguments(getArguments());
 
-        // Show the "Settings" menu as if it were a preference screen
+        PreferenceScreen preferenceScreen = getPreferenceScreen();
+        if (mImageUri != null) {
+            final int screenHalfHeight = getScreenHeightPixels(getPrefContext()) / /* half */ 2;
+            final AnimatedImagePreference animatedImagePreference = new AnimatedImagePreference(
+                    getPrefContext());
+            animatedImagePreference.setImageUri(mImageUri);
+            animatedImagePreference.setSelectable(false);
+            animatedImagePreference.setMaxHeight(screenHalfHeight);
+            preferenceScreen.addPreference(animatedImagePreference);
+        }
+
+        mToggleServiceDividerSwitchPreference = new DividerSwitchPreference(getPrefContext());
+        mToggleServiceDividerSwitchPreference.setKey(KEY_USE_SERVICE_PREFERENCE);
+        if (getArguments().containsKey(AccessibilitySettings.EXTRA_CHECKED)) {
+            final boolean enabled = getArguments().getBoolean(AccessibilitySettings.EXTRA_CHECKED);
+            mToggleServiceDividerSwitchPreference.setChecked(enabled);
+        }
+
+        preferenceScreen.addPreference(mToggleServiceDividerSwitchPreference);
+
+        updateToggleServiceTitle(mToggleServiceDividerSwitchPreference);
+
+        final PreferenceCategory groupCategory = new PreferenceCategory(getPrefContext());
+        groupCategory.setKey(KEY_GENERAL_CATEGORY);
+        groupCategory.setTitle(R.string.accessibility_screen_option);
+        preferenceScreen.addPreference(groupCategory);
+
+        initShortcutPreference(savedInstanceState);
+        groupCategory.addPreference(mShortcutPreference);
+
+        // Show the "Settings" menu as if it were a preference screen.
         if (mSettingsTitle != null && mSettingsIntent != null) {
-            PreferenceScreen preferenceScreen = getPreferenceScreen();
-            Preference settingsPref = new Preference(preferenceScreen.getContext());
-            settingsPref.setTitle(mSettingsTitle);
-            settingsPref.setIconSpaceReserved(true);
-            settingsPref.setIntent(mSettingsIntent);
-            preferenceScreen.addPreference(settingsPref);
+            mSettingsPreference = new Preference(getPrefContext());
+            mSettingsPreference.setTitle(mSettingsTitle);
+            mSettingsPreference.setIconSpaceReserved(true);
+            mSettingsPreference.setIntent(mSettingsIntent);
+        }
+
+        // The downloaded app may not show Settings. The framework app has Settings.
+        if (mSettingsPreference != null) {
+            groupCategory.addPreference(mSettingsPreference);
+        }
+
+        if (mHtmlDescription != null) {
+            final PreferenceCategory introductionCategory = new PreferenceCategory(
+                    getPrefContext());
+            final CharSequence title = getString(R.string.accessibility_introduction_title,
+                    mPackageName);
+            introductionCategory.setKey(KEY_INTRODUCTION_CATEGORY);
+            introductionCategory.setTitle(title);
+            preferenceScreen.addPreference(introductionCategory);
+
+            final HtmlTextPreference htmlTextPreference = new HtmlTextPreference(getPrefContext());
+            htmlTextPreference.setSummary(mHtmlDescription);
+            htmlTextPreference.setImageGetter(mImageGetter);
+            htmlTextPreference.setSelectable(false);
+            introductionCategory.addPreference(htmlTextPreference);
         }
     }
 
@@ -80,37 +213,136 @@
     }
 
     @Override
+    public void onResume() {
+        super.onResume();
+        final AccessibilityManager am = getPrefContext().getSystemService(
+                AccessibilityManager.class);
+        am.addTouchExplorationStateChangeListener(mTouchExplorationStateChangeListener);
+        updateShortcutPreferenceData();
+        updateShortcutPreference();
+    }
+
+    @Override
+    public void onPause() {
+        final AccessibilityManager am = getPrefContext().getSystemService(
+                AccessibilityManager.class);
+        am.removeTouchExplorationStateChangeListener(mTouchExplorationStateChangeListener);
+        super.onPause();
+    }
+
+    @Override
+    public void onSaveInstanceState(Bundle outState) {
+        outState.putInt(EXTRA_SHORTCUT_TYPE, mUserShortcutTypeCache);
+        super.onSaveInstanceState(outState);
+    }
+
+    @Override
+    public Dialog onCreateDialog(int dialogId) {
+        switch (dialogId) {
+            case DialogEnums.EDIT_SHORTCUT:
+                final CharSequence dialogTitle = getPrefContext().getString(
+                        R.string.accessibility_shortcut_title, mPackageName);
+                Dialog dialog = AccessibilityEditDialogUtils.showEditShortcutDialog(
+                        getPrefContext(), dialogTitle, this::callOnAlertDialogCheckboxClicked);
+                initializeDialogCheckBox(dialog);
+                return dialog;
+            default:
+                throw new IllegalArgumentException("Unsupported dialogId " + dialogId);
+        }
+    }
+
+    @Override
+    public int getDialogMetricsCategory(int dialogId) {
+        switch (dialogId) {
+            case DialogEnums.EDIT_SHORTCUT:
+                return SettingsEnums.DIALOG_ACCESSIBILITY_SERVICE_EDIT_SHORTCUT;
+            default:
+                return SettingsEnums.ACTION_UNKNOWN;
+        }
+    }
+
+    /** Denotes the dialog emuns for show dialog */
+    @Retention(RetentionPolicy.SOURCE)
+    protected @interface DialogEnums {
+
+        /** OPEN: Settings > Accessibility > Any toggle service > Shortcut > Settings. */
+        int EDIT_SHORTCUT = 1;
+
+        /** OPEN: Settings > Accessibility > Magnification > Shortcut > Settings. */
+        int MAGNIFICATION_EDIT_SHORTCUT = 1001;
+
+        /**
+         * OPEN: Settings > Accessibility > Downloaded toggle service > Toggle use service to
+         * enable service.
+         */
+        int ENABLE_WARNING_FROM_TOGGLE = 1002;
+
+        /** OPEN: Settings > Accessibility > Downloaded toggle service > Shortcut checkbox. */
+        int ENABLE_WARNING_FROM_SHORTCUT = 1003;
+
+        /**
+         * OPEN: Settings > Accessibility > Downloaded toggle service > Shortcut checkbox
+         * toggle.
+         */
+        int ENABLE_WARNING_FROM_SHORTCUT_TOGGLE = 1004;
+
+        /**
+         * OPEN: Settings > Accessibility > Downloaded toggle service > Toggle use service to
+         * disable service.
+         */
+        int DISABLE_WARNING_FROM_TOGGLE = 1005;
+
+        /**
+         * OPEN: Settings > Accessibility > Magnification > Toggle user service in button
+         * navigation.
+         */
+        int ACCESSIBILITY_BUTTON_TUTORIAL = 1006;
+
+        /**
+         * OPEN: Settings > Accessibility > Magnification > Toggle user service in gesture
+         * navigation.
+         */
+        int GESTURE_NAVIGATION_TUTORIAL = 1007;
+
+        /**
+         * OPEN: Settings > Accessibility > Downloaded toggle service > Toggle user service > Show
+         * launch tutorial.
+         */
+        int LAUNCH_ACCESSIBILITY_TUTORIAL = 1008;
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.ACCESSIBILITY_SERVICE;
+    }
+
+    @Override
     public void onDestroyView() {
         super.onDestroyView();
-
         removeActionBarToggleSwitch();
     }
 
-    protected void updateSwitchBarText(SwitchBar switchBar) {
-        // Implement this to provide meaningful text in switch bar
-        switchBar.setSwitchBarText(R.string.accessibility_service_master_switch_title,
-                R.string.accessibility_service_master_switch_title);
+    protected void updateToggleServiceTitle(SwitchPreference switchPreference) {
+        switchPreference.setTitle(R.string.accessibility_service_master_switch_title);
     }
 
     protected abstract void onPreferenceToggled(String preferenceKey, boolean enabled);
 
-    protected void onInstallSwitchBarToggleSwitch() {
+    protected void onInstallSwitchPreferenceToggleSwitch() {
         // Implement this to set a checked listener.
     }
 
-    protected void onRemoveSwitchBarToggleSwitch() {
+    protected void onRemoveSwitchPreferenceToggleSwitch() {
         // Implement this to reset a checked listener.
     }
 
     private void installActionBarToggleSwitch() {
-        mSwitchBar.show();
-        onInstallSwitchBarToggleSwitch();
+        onInstallSwitchPreferenceToggleSwitch();
     }
 
     private void removeActionBarToggleSwitch() {
-        mToggleSwitch.setOnBeforeCheckedChangeListener(null);
-        onRemoveSwitchBarToggleSwitch();
-        mSwitchBar.hide();
+        mToggleServiceDividerSwitchPreference.setOnPreferenceClickListener(null);
+        onRemoveSwitchPreferenceToggleSwitch();
     }
 
     public void setTitle(String title) {
@@ -121,12 +353,6 @@
         // Key.
         mPreferenceKey = arguments.getString(AccessibilitySettings.EXTRA_PREFERENCE_KEY);
 
-        // Enabled.
-        if (arguments.containsKey(AccessibilitySettings.EXTRA_CHECKED)) {
-            final boolean enabled = arguments.getBoolean(AccessibilitySettings.EXTRA_CHECKED);
-            mSwitchBar.setCheckedInternal(enabled);
-        }
-
         // Title.
         if (arguments.containsKey(AccessibilitySettings.EXTRA_RESOLVE_INFO)) {
             ResolveInfo info = arguments.getParcelable(AccessibilitySettings.EXTRA_RESOLVE_INFO);
@@ -138,11 +364,326 @@
         // Summary.
         if (arguments.containsKey(AccessibilitySettings.EXTRA_SUMMARY_RES)) {
             final int summary = arguments.getInt(AccessibilitySettings.EXTRA_SUMMARY_RES);
-            mFooterPreferenceMixin.createFooterPreference().setTitle(summary);
+            createFooterPreference(getText(summary));
         } else if (arguments.containsKey(AccessibilitySettings.EXTRA_SUMMARY)) {
             final CharSequence summary = arguments.getCharSequence(
                     AccessibilitySettings.EXTRA_SUMMARY);
-            mFooterPreferenceMixin.createFooterPreference().setTitle(summary);
+            createFooterPreference(summary);
+        }
+
+        // Settings html description.
+        if (arguments.containsKey(AccessibilitySettings.EXTRA_HTML_DESCRIPTION)) {
+            mHtmlDescription = arguments.getCharSequence(
+                    AccessibilitySettings.EXTRA_HTML_DESCRIPTION);
+        }
+    }
+
+    private Drawable getDrawableFromUri(Uri imageUri) {
+        if (mImageGetterCacheView == null) {
+            mImageGetterCacheView = new ImageView(getPrefContext());
+        }
+
+        mImageGetterCacheView.setAdjustViewBounds(true);
+        mImageGetterCacheView.setImageURI(imageUri);
+
+        if (mImageGetterCacheView.getDrawable() == null) {
+            return null;
+        }
+
+        final Drawable drawable =
+                mImageGetterCacheView.getDrawable().mutate().getConstantState().newDrawable();
+        mImageGetterCacheView.setImageURI(null);
+        final int imageWidth = drawable.getIntrinsicWidth();
+        final int imageHeight = drawable.getIntrinsicHeight();
+        final int screenHalfHeight = getScreenHeightPixels(getPrefContext()) / /* half */ 2;
+        if ((imageWidth > getScreenWidthPixels(getPrefContext()))
+                || (imageHeight > screenHalfHeight)) {
+            return null;
+        }
+
+        drawable.setBounds(/* left= */0, /* top= */0, drawable.getIntrinsicWidth(),
+                drawable.getIntrinsicHeight());
+
+        return drawable;
+    }
+
+    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 initializeDialogCheckBox(Dialog dialog) {
+        final View dialogSoftwareView = dialog.findViewById(R.id.software_shortcut);
+        mSoftwareTypeCheckBox = dialogSoftwareView.findViewById(R.id.checkbox);
+        final View dialogHardwareView = dialog.findViewById(R.id.hardware_shortcut);
+        mHardwareTypeCheckBox = dialogHardwareView.findViewById(R.id.checkbox);
+        updateAlertDialogCheckState();
+    }
+
+    private void updateAlertDialogCheckState() {
+        updateCheckStatus(mSoftwareTypeCheckBox, UserShortcutType.SOFTWARE);
+        updateCheckStatus(mHardwareTypeCheckBox, UserShortcutType.HARDWARE);
+    }
+
+    private void updateCheckStatus(CheckBox checkBox, @UserShortcutType int type) {
+        checkBox.setChecked((mUserShortcutTypeCache & type) == type);
+        checkBox.setOnClickListener(v -> {
+            updateUserShortcutType(/* saveChanges= */ false);
+        });
+    }
+
+    private void updateUserShortcutType(boolean saveChanges) {
+        mUserShortcutTypeCache = UserShortcutType.EMPTY;
+        if (mSoftwareTypeCheckBox.isChecked()) {
+            mUserShortcutTypeCache |= UserShortcutType.SOFTWARE;
+        }
+        if (mHardwareTypeCheckBox.isChecked()) {
+            mUserShortcutTypeCache |= UserShortcutType.HARDWARE;
+        }
+
+        if (saveChanges) {
+            final boolean isChanged = (mUserShortcutTypeCache != UserShortcutType.EMPTY);
+            if (isChanged) {
+                setUserShortcutType(getPrefContext(), mUserShortcutTypeCache);
+            }
+            mUserShortcutType = mUserShortcutTypeCache;
+        }
+    }
+
+    private void setUserShortcutType(Context context, int type) {
+        if (mComponentName == null) {
+            return;
+        }
+
+        Set<String> info = SharedPreferenceUtils.getUserShortcutType(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);
+        }
+
+        if (!mShortcutPreference.isChecked()) {
+            return context.getText(R.string.switch_off_text);
+        }
+
+        final int shortcutType = getUserShortcutType(context, UserShortcutType.SOFTWARE);
+        int resId = R.string.accessibility_shortcut_edit_summary_software;
+        if (AccessibilityUtil.isGestureNavigateEnabled(context)) {
+            resId = AccessibilityUtil.isTouchExploreEnabled(context)
+                    ? R.string.accessibility_shortcut_edit_dialog_title_software_gesture_talkback
+                    : R.string.accessibility_shortcut_edit_dialog_title_software_gesture;
+        }
+        final CharSequence softwareTitle = context.getText(resId);
+
+        List<CharSequence> list = new ArrayList<>();
+        if ((shortcutType & UserShortcutType.SOFTWARE) == UserShortcutType.SOFTWARE) {
+            list.add(softwareTitle);
+        }
+        if ((shortcutType & UserShortcutType.HARDWARE) == UserShortcutType.HARDWARE) {
+            final CharSequence hardwareTitle = context.getText(
+                    R.string.accessibility_shortcut_edit_dialog_title_hardware);
+            list.add(hardwareTitle);
+        }
+
+        // Show software shortcut if first time to use.
+        if (list.isEmpty()) {
+            list.add(softwareTitle);
+        }
+        final String joinStrings = TextUtils.join(/* delimiter= */", ", list);
+        return AccessibilityUtil.capitalize(joinStrings);
+    }
+
+    protected int getUserShortcutType(Context context, @UserShortcutType int defaultValue) {
+        if (mComponentName == null) {
+            return defaultValue;
+        }
+
+        final Set<String> info = SharedPreferenceUtils.getUserShortcutType(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();
+    }
+
+    private void callOnAlertDialogCheckboxClicked(DialogInterface dialog, int which) {
+        if (mComponentName == null) {
+            return;
+        }
+
+        updateUserShortcutType(/* saveChanges= */ true);
+        AccessibilityUtil.optInAllValuesToSettings(getPrefContext(), mUserShortcutType,
+                mComponentName);
+        AccessibilityUtil.optOutAllValuesFromSettings(getPrefContext(), ~mUserShortcutType,
+                mComponentName);
+        mShortcutPreference.setChecked(mUserShortcutType != UserShortcutType.EMPTY);
+        mShortcutPreference.setSummary(
+                getShortcutTypeSummary(getPrefContext()));
+    }
+
+    private void updateShortcutPreferenceData() {
+        if (mComponentName == null) {
+            return;
+        }
+
+        // Get the user shortcut type from settings provider.
+        mUserShortcutType = AccessibilityUtil.getUserShortcutTypesFromSettings(getPrefContext(),
+                mComponentName);
+        if (mUserShortcutType != UserShortcutType.EMPTY) {
+            setUserShortcutType(getPrefContext(), mUserShortcutType);
+        } else {
+            //  Get the user shortcut type from shared_prefs if cannot get from settings provider.
+            mUserShortcutType = getUserShortcutType(getPrefContext(), UserShortcutType.SOFTWARE);
+        }
+    }
+
+    private void initShortcutPreference(Bundle savedInstanceState) {
+        // Restore the user shortcut type.
+        if (savedInstanceState != null && savedInstanceState.containsKey(EXTRA_SHORTCUT_TYPE)) {
+            mUserShortcutTypeCache = savedInstanceState.getInt(EXTRA_SHORTCUT_TYPE,
+                    UserShortcutType.EMPTY);
+        }
+
+        // Initial the shortcut preference.
+        mShortcutPreference = new ShortcutPreference(getPrefContext(), null);
+        mShortcutPreference.setPersistent(false);
+        mShortcutPreference.setKey(getShortcutPreferenceKey());
+        mShortcutPreference.setOnClickCallback(this);
+
+        final CharSequence title = getString(R.string.accessibility_shortcut_title, mPackageName);
+        mShortcutPreference.setTitle(title);
+    }
+
+    private void updateShortcutPreference() {
+        if (mComponentName == null) {
+            return;
+        }
+
+        final int shortcutTypes = getUserShortcutType(getPrefContext(), UserShortcutType.SOFTWARE);
+        mShortcutPreference.setChecked(
+                    AccessibilityUtil.hasValuesInSettings(getPrefContext(), shortcutTypes,
+                            mComponentName));
+        mShortcutPreference.setSummary(getShortcutTypeSummary(getPrefContext()));
+    }
+
+    private String getShortcutPreferenceKey() {
+        return KEY_SHORTCUT_PREFERENCE;
+    }
+
+    @Override
+    public void onToggleClicked(ShortcutPreference preference) {
+        if (mComponentName == null) {
+            return;
+        }
+
+        final int shortcutTypes = getUserShortcutType(getPrefContext(), UserShortcutType.SOFTWARE);
+        if (preference.isChecked()) {
+            AccessibilityUtil.optInAllValuesToSettings(getPrefContext(), shortcutTypes,
+                    mComponentName);
+        } else {
+            AccessibilityUtil.optOutAllValuesFromSettings(getPrefContext(), shortcutTypes,
+                    mComponentName);
+        }
+        mShortcutPreference.setSummary(getShortcutTypeSummary(getPrefContext()));
+    }
+
+    @Override
+    public void onSettingsClicked(ShortcutPreference preference) {
+        mUserShortcutTypeCache = getUserShortcutType(getPrefContext(), UserShortcutType.SOFTWARE);
+    }
+
+    private void createFooterPreference(CharSequence title) {
+        final PreferenceScreen preferenceScreen = getPreferenceScreen();
+        preferenceScreen.addPreference(new FooterPreference.Builder(getActivity()).setTitle(
+                title).build());
+    }
+
+    /**
+     *  Setups a configurable default if the setting has never been set.
+     */
+    private static void setupDefaultShortcutIfNecessary(Context context) {
+        final String targetKey = Settings.Secure.ACCESSIBILITY_SHORTCUT_TARGET_SERVICE;
+        String targetString = Settings.Secure.getString(context.getContentResolver(), targetKey);
+        if (!TextUtils.isEmpty(targetString)) {
+            // The shortcut setting has been set
+            return;
+        }
+
+        // AccessibilityManager#getAccessibilityShortcutTargets may not return correct shortcut
+        // targets during boot. Needs to read settings directly here.
+        targetString = AccessibilityUtils.getShortcutTargetServiceComponentNameString(context,
+                UserHandle.myUserId());
+        if (TextUtils.isEmpty(targetString)) {
+            // No configurable default accessibility service
+            return;
+        }
+
+        // Only fallback to default accessibility service when setting is never updated.
+        final ComponentName shortcutName = ComponentName.unflattenFromString(targetString);
+        if (shortcutName != null) {
+            Settings.Secure.putString(context.getContentResolver(), targetKey,
+                    shortcutName.flattenToString());
         }
     }
 }
diff --git a/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java b/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java
index ec3ebcc..4c2945a 100644
--- a/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java
+++ b/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java
@@ -16,14 +16,16 @@
 
 package com.android.settings.accessibility;
 
-import static android.view.WindowManagerPolicyConstants.NAV_BAR_MODE_GESTURAL;
+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 android.app.Dialog;
 import android.app.settings.SettingsEnums;
 import android.content.ContentResolver;
 import android.content.Context;
+import android.content.DialogInterface;
 import android.content.res.Resources;
-import android.graphics.Point;
 import android.media.AudioManager;
 import android.media.MediaPlayer;
 import android.media.MediaPlayer.OnPreparedListener;
@@ -31,27 +33,57 @@
 import android.os.Bundle;
 import android.provider.Settings;
 import android.text.TextUtils;
-import android.view.Display;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
 import android.view.ViewTreeObserver.OnGlobalLayoutListener;
-import android.view.WindowManager;
+import android.view.accessibility.AccessibilityManager;
+import android.view.accessibility.AccessibilityManager.TouchExplorationStateChangeListener;
+import android.widget.CheckBox;
 import android.widget.ImageView;
 import android.widget.RelativeLayout.LayoutParams;
-import android.widget.Switch;
 import android.widget.VideoView;
 
+import androidx.appcompat.app.AlertDialog;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 import androidx.preference.PreferenceViewHolder;
 
+import com.android.internal.annotations.VisibleForTesting;
 import com.android.settings.R;
-import com.android.settings.widget.SwitchBar;
+import com.android.settings.accessibility.AccessibilityUtil.UserShortcutType;
 
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+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
+ * and does not have toggle bar to turn on service to use.
+ */
 public class ToggleScreenMagnificationPreferenceFragment extends
-        ToggleFeaturePreferenceFragment implements SwitchBar.OnSwitchChangeListener {
+        ToggleFeaturePreferenceFragment {
 
-    private static final int DIALOG_ID_GESTURE_NAVIGATION_TUTORIAL = 1;
+    private static final String EXTRA_SHORTCUT_TYPE = "shortcut_type";
+    private static final String KEY_SHORTCUT_PREFERENCE = "shortcut_preference";
+    private TouchExplorationStateChangeListener mTouchExplorationStateChangeListener;
+    private int mUserShortcutType = UserShortcutType.EMPTY;
+    // Used to restore the edit dialog status.
+    private int mUserShortcutTypeCache = UserShortcutType.EMPTY;
+    private CheckBox mSoftwareTypeCheckBox;
+    private CheckBox mHardwareTypeCheckBox;
+    private CheckBox mTripleTapTypeCheckBox;
 
-    private Dialog mDialog;
+    // TODO(b/147021230): Will move common functions and variables to
+    //  android/internal/accessibility folder. For now, magnification need to be treated
+    //  individually.
+    private static final char COMPONENT_NAME_SEPARATOR = ':';
+    private static final TextUtils.SimpleStringSplitter sStringColonSplitter =
+            new TextUtils.SimpleStringSplitter(COMPONENT_NAME_SEPARATOR);
+    protected VideoPreference mVideoPreference;
 
     protected class VideoPreference extends Preference {
         private ImageView mVideoBackgroundView;
@@ -129,60 +161,224 @@
         }
     }
 
-    protected VideoPreference mVideoPreference;
-    protected Preference mConfigWarningPreference;
-
-    private boolean mLaunchFromSuw = false;
-    private boolean mInitialSetting = false;
-
     @Override
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
+        getActivity().setTitle(R.string.accessibility_screen_magnification_title);
+    }
 
+    @Override
+    public View onCreateView(LayoutInflater inflater, ViewGroup container,
+            Bundle savedInstanceState) {
+        mPackageName = getString(R.string.accessibility_screen_magnification_title);
+        mTouchExplorationStateChangeListener = isTouchExplorationEnabled -> {
+            removeDialog(DialogEnums.EDIT_SHORTCUT);
+            mShortcutPreference.setSummary(getShortcutTypeSummary(getPrefContext()));
+        };
+        return super.onCreateView(inflater, container, savedInstanceState);
+    }
+
+    @Override
+    public void onViewCreated(View view, Bundle savedInstanceState) {
+        final PreferenceScreen preferenceScreen = getPreferenceScreen();
         mVideoPreference = new VideoPreference(getPrefContext());
         mVideoPreference.setSelectable(false);
         mVideoPreference.setPersistent(false);
         mVideoPreference.setLayoutResource(R.layout.magnification_video_preference);
-
-        mConfigWarningPreference = new Preference(getPrefContext());
-        mConfigWarningPreference.setSelectable(false);
-        mConfigWarningPreference.setPersistent(false);
-        mConfigWarningPreference.setVisible(false);
-        mConfigWarningPreference.setIcon(R.drawable.ic_warning_24dp);
-
-        final PreferenceScreen preferenceScreen = getPreferenceManager().getPreferenceScreen();
-        preferenceScreen.setOrderingAsAdded(false);
-        mVideoPreference.setOrder(0);
-        mConfigWarningPreference.setOrder(2);
         preferenceScreen.addPreference(mVideoPreference);
-        preferenceScreen.addPreference(mConfigWarningPreference);
+
+        initShortcutPreference();
+
+        super.onViewCreated(view, savedInstanceState);
+    }
+
+    @Override
+    public void onSaveInstanceState(Bundle outState) {
+        outState.putInt(EXTRA_SHORTCUT_TYPE, mUserShortcutTypeCache);
+        super.onSaveInstanceState(outState);
     }
 
     @Override
     public void onResume() {
         super.onResume();
 
+        final AccessibilityManager am = getPrefContext().getSystemService(
+                AccessibilityManager.class);
+        am.addTouchExplorationStateChangeListener(mTouchExplorationStateChangeListener);
+
         VideoView videoView = (VideoView) getView().findViewById(R.id.video);
         if (videoView != null) {
             videoView.start();
         }
 
-        updateConfigurationWarningIfNeeded();
+        updateShortcutPreferenceData();
+        updateShortcutPreference();
+    }
+
+    @Override
+    public void onPause() {
+        final AccessibilityManager am = getPrefContext().getSystemService(
+                AccessibilityManager.class);
+        am.removeTouchExplorationStateChangeListener(mTouchExplorationStateChangeListener);
+
+        super.onPause();
     }
 
     @Override
     public Dialog onCreateDialog(int dialogId) {
-        if (dialogId == DIALOG_ID_GESTURE_NAVIGATION_TUTORIAL) {
-            if (isGestureNavigateEnabled()) {
-                mDialog = AccessibilityGestureNavigationTutorial
-                        .showGestureNavigationTutorialDialog(getActivity());
-            } else {
-                mDialog = AccessibilityGestureNavigationTutorial
-                        .showAccessibilityButtonTutorialDialog(getActivity());
-            }
+        switch (dialogId) {
+            case DialogEnums.GESTURE_NAVIGATION_TUTORIAL:
+                return AccessibilityGestureNavigationTutorial
+                        .showGestureNavigationTutorialDialog(getPrefContext());
+            case DialogEnums.ACCESSIBILITY_BUTTON_TUTORIAL:
+                return AccessibilityGestureNavigationTutorial
+                        .showAccessibilityButtonTutorialDialog(getPrefContext());
+            case DialogEnums.MAGNIFICATION_EDIT_SHORTCUT:
+                final CharSequence dialogTitle = getPrefContext().getString(
+                        R.string.accessibility_shortcut_title, mPackageName);
+                final AlertDialog dialog =
+                        AccessibilityEditDialogUtils.showMagnificationEditShortcutDialog(
+                                getPrefContext(), dialogTitle,
+                                this::callOnAlertDialogCheckboxClicked);
+                initializeDialogCheckBox(dialog);
+                return dialog;
+        }
+        throw new IllegalArgumentException("Unsupported dialogId " + dialogId);
+    }
+
+    private void initializeDialogCheckBox(AlertDialog dialog) {
+        final View dialogSoftwareView = dialog.findViewById(R.id.software_shortcut);
+        mSoftwareTypeCheckBox = dialogSoftwareView.findViewById(R.id.checkbox);
+        final View dialogHardwareView = dialog.findViewById(R.id.hardware_shortcut);
+        mHardwareTypeCheckBox = dialogHardwareView.findViewById(R.id.checkbox);
+        final View dialogTripleTapView = dialog.findViewById(R.id.triple_tap_shortcut);
+        mTripleTapTypeCheckBox = dialogTripleTapView.findViewById(R.id.checkbox);
+        final View advancedView = dialog.findViewById(R.id.advanced_shortcut);
+        updateAlertDialogCheckState();
+
+        // Window magnification mode doesn't support advancedView.
+        if (isWindowMagnification(getPrefContext())) {
+            advancedView.setVisibility(View.GONE);
+            return;
+        }
+        // Shows the triple tap checkbox directly if clicked.
+        if (mTripleTapTypeCheckBox.isChecked()) {
+            advancedView.setVisibility(View.GONE);
+            dialogTripleTapView.setVisibility(View.VISIBLE);
+        }
+    }
+
+    private void updateAlertDialogCheckState() {
+        updateCheckStatus(mSoftwareTypeCheckBox, UserShortcutType.SOFTWARE);
+        updateCheckStatus(mHardwareTypeCheckBox, UserShortcutType.HARDWARE);
+        updateCheckStatus(mTripleTapTypeCheckBox, UserShortcutType.TRIPLETAP);
+    }
+
+    private void updateCheckStatus(CheckBox checkBox, @UserShortcutType int type) {
+        checkBox.setChecked((mUserShortcutTypeCache & type) == type);
+        checkBox.setOnClickListener(v -> {
+            updateUserShortcutType(/* saveChanges= */ false);
+        });
+    }
+
+    private void updateUserShortcutType(boolean saveChanges) {
+        mUserShortcutTypeCache = UserShortcutType.EMPTY;
+        if (mSoftwareTypeCheckBox.isChecked()) {
+            mUserShortcutTypeCache |= UserShortcutType.SOFTWARE;
+        }
+        if (mHardwareTypeCheckBox.isChecked()) {
+            mUserShortcutTypeCache |= UserShortcutType.HARDWARE;
+        }
+        if (mTripleTapTypeCheckBox.isChecked()) {
+            mUserShortcutTypeCache |= UserShortcutType.TRIPLETAP;
         }
 
-        return mDialog;
+        if (saveChanges) {
+            final boolean isChanged = (mUserShortcutTypeCache != UserShortcutType.EMPTY);
+            if (isChanged) {
+                setUserShortcutType(getPrefContext(), mUserShortcutTypeCache);
+            }
+            mUserShortcutType = mUserShortcutTypeCache;
+        }
+    }
+
+    private void setUserShortcutType(Context context, int type) {
+        Set<String> info = SharedPreferenceUtils.getUserShortcutType(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 = getUserShortcutType(context, UserShortcutType.EMPTY);
+        int resId = R.string.accessibility_shortcut_edit_summary_software;
+        if (AccessibilityUtil.isGestureNavigateEnabled(context)) {
+            resId = AccessibilityUtil.isTouchExploreEnabled(context)
+                    ? R.string.accessibility_shortcut_edit_dialog_title_software_gesture_talkback
+                    : R.string.accessibility_shortcut_edit_dialog_title_software_gesture;
+        }
+        final CharSequence softwareTitle = context.getText(resId);
+
+        List<CharSequence> list = new ArrayList<>();
+        if ((shortcutType & UserShortcutType.SOFTWARE) == UserShortcutType.SOFTWARE) {
+            list.add(softwareTitle);
+        }
+        if ((shortcutType & UserShortcutType.HARDWARE) == UserShortcutType.HARDWARE) {
+            final CharSequence hardwareTitle = context.getText(
+                    R.string.accessibility_shortcut_edit_dialog_title_hardware);
+            list.add(hardwareTitle);
+        }
+
+        if ((shortcutType & UserShortcutType.TRIPLETAP) == UserShortcutType.TRIPLETAP) {
+            final CharSequence tripleTapTitle = context.getText(
+                    R.string.accessibility_shortcut_edit_dialog_title_triple_tap);
+            list.add(tripleTapTitle);
+        }
+
+        // Show software shortcut if first time to use.
+        if (list.isEmpty()) {
+            list.add(softwareTitle);
+        }
+        final String joinStrings = TextUtils.join(/* delimiter= */", ", list);
+        return AccessibilityUtil.capitalize(joinStrings);
+    }
+
+    @Override
+    protected int getUserShortcutType(Context context, @UserShortcutType int defaultValue) {
+        final Set<String> info = SharedPreferenceUtils.getUserShortcutType(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();
+    }
+
+    private void callOnAlertDialogCheckboxClicked(DialogInterface dialog, int which) {
+        updateUserShortcutType(/* saveChanges= */ true);
+        optInAllMagnificationValuesToSettings(getPrefContext(), mUserShortcutType);
+        optOutAllMagnificationValuesFromSettings(getPrefContext(), ~mUserShortcutType);
+        mShortcutPreference.setChecked(mUserShortcutType != UserShortcutType.EMPTY);
+        mShortcutPreference.setSummary(
+                getShortcutTypeSummary(getPrefContext()));
     }
 
     @Override
@@ -193,12 +389,16 @@
 
     @Override
     public int getDialogMetricsCategory(int dialogId) {
-        return SettingsEnums.ACCESSIBILITY_TOGGLE_SCREEN_MAGNIFICATION;
-    }
-
-    @Override
-    public void onSwitchChanged(Switch switchView, boolean isChecked) {
-        onPreferenceToggled(mPreferenceKey, isChecked);
+        switch (dialogId) {
+            case DialogEnums.GESTURE_NAVIGATION_TUTORIAL:
+                return SettingsEnums.DIALOG_TOGGLE_SCREEN_MAGNIFICATION_GESTURE_NAVIGATION;
+            case DialogEnums.ACCESSIBILITY_BUTTON_TUTORIAL:
+                return SettingsEnums.DIALOG_TOGGLE_SCREEN_MAGNIFICATION_ACCESSIBILITY_BUTTON;
+            case DialogEnums.MAGNIFICATION_EDIT_SHORTCUT:
+                return SettingsEnums.DIALOG_MAGNIFICATION_EDIT_SHORTCUT;
+            default:
+                return 0;
+        }
     }
 
     @Override
@@ -206,25 +406,17 @@
         if (enabled && TextUtils.equals(
                 Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_NAVBAR_ENABLED,
                 preferenceKey)) {
-            showDialog(DIALOG_ID_GESTURE_NAVIGATION_TUTORIAL);
+            showDialog(AccessibilityUtil.isGestureNavigateEnabled(getPrefContext())
+                    ? DialogEnums.GESTURE_NAVIGATION_TUTORIAL
+                    : DialogEnums.ACCESSIBILITY_BUTTON_TUTORIAL);
         }
         MagnificationPreferenceFragment.setChecked(getContentResolver(), preferenceKey, enabled);
-        updateConfigurationWarningIfNeeded();
     }
 
     @Override
-    protected void onInstallSwitchBarToggleSwitch() {
-        super.onInstallSwitchBarToggleSwitch();
-
-        mSwitchBar.setCheckedInternal(
-                MagnificationPreferenceFragment.isChecked(getContentResolver(), mPreferenceKey));
-        mSwitchBar.addOnSwitchChangeListener(this);
-    }
-
-    @Override
-    protected void onRemoveSwitchBarToggleSwitch() {
-        super.onRemoveSwitchBarToggleSwitch();
-        mSwitchBar.removeOnSwitchChangeListener(this);
+    protected void onInstallSwitchPreferenceToggleSwitch() {
+        super.onInstallSwitchPreferenceToggleSwitch();
+        mToggleServiceDividerSwitchPreference.setVisible(false);
     }
 
     @Override
@@ -236,49 +428,213 @@
 
         if (arguments.containsKey(AccessibilitySettings.EXTRA_VIDEO_RAW_RESOURCE_ID)) {
             mVideoPreference.setVisible(true);
-            final int resId = arguments.getInt(
-                    AccessibilitySettings.EXTRA_VIDEO_RAW_RESOURCE_ID);
         } else {
             mVideoPreference.setVisible(false);
         }
+    }
 
-        if (arguments.containsKey(AccessibilitySettings.EXTRA_LAUNCHED_FROM_SUW)) {
-            mLaunchFromSuw = arguments.getBoolean(AccessibilitySettings.EXTRA_LAUNCHED_FROM_SUW);
+    @Override
+    public void onToggleClicked(ShortcutPreference preference) {
+        final int shortcutTypes = getUserShortcutType(getPrefContext(), UserShortcutType.SOFTWARE);
+        if (preference.isChecked()) {
+            optInAllMagnificationValuesToSettings(getPrefContext(), shortcutTypes);
+        } else {
+            optOutAllMagnificationValuesFromSettings(getPrefContext(), shortcutTypes);
+        }
+        mShortcutPreference.setSummary(getShortcutTypeSummary(getPrefContext()));
+    }
+
+    @Override
+    public void onSettingsClicked(ShortcutPreference preference) {
+        mUserShortcutTypeCache = getUserShortcutType(getPrefContext(), UserShortcutType.SOFTWARE);
+        showDialog(DialogEnums.MAGNIFICATION_EDIT_SHORTCUT);
+    }
+
+    private void updateShortcutPreferenceData() {
+        // Get the user shortcut type from settings provider.
+        mUserShortcutType = getUserShortcutTypeFromSettings(getPrefContext());
+        if (mUserShortcutType != UserShortcutType.EMPTY) {
+            setUserShortcutType(getPrefContext(), mUserShortcutType);
+        } else {
+            //  Get the user shortcut type from shared_prefs if cannot get from settings provider.
+            mUserShortcutType = getUserShortcutType(getPrefContext(), UserShortcutType.SOFTWARE);
+        }
+    }
+
+    private void initShortcutPreference() {
+        mShortcutPreference = new ShortcutPreference(getPrefContext(), null);
+        mShortcutPreference.setPersistent(false);
+        mShortcutPreference.setKey(KEY_SHORTCUT_PREFERENCE);
+        mShortcutPreference.setSummary(getShortcutTypeSummary(getPrefContext()));
+        mShortcutPreference.setOnClickCallback(this);
+
+        final CharSequence title = getString(R.string.accessibility_shortcut_title, mPackageName);
+        mShortcutPreference.setTitle(title);
+    }
+
+    private void updateShortcutPreference() {
+        final int shortcutTypes = getUserShortcutType(getPrefContext(), UserShortcutType.SOFTWARE);
+        mShortcutPreference.setChecked(
+                hasMagnificationValuesInSettings(getPrefContext(), shortcutTypes));
+        mShortcutPreference.setSummary(getShortcutTypeSummary(getPrefContext()));
+    }
+
+    @VisibleForTesting
+    static void optInAllMagnificationValuesToSettings(Context context, int shortcutTypes) {
+        if ((shortcutTypes & UserShortcutType.SOFTWARE) == UserShortcutType.SOFTWARE) {
+            optInMagnificationValueToSettings(context, UserShortcutType.SOFTWARE);
+        }
+        if (((shortcutTypes & UserShortcutType.HARDWARE) == UserShortcutType.HARDWARE)) {
+            optInMagnificationValueToSettings(context, UserShortcutType.HARDWARE);
+        }
+        if (((shortcutTypes & UserShortcutType.TRIPLETAP) == UserShortcutType.TRIPLETAP)) {
+            optInMagnificationValueToSettings(context, UserShortcutType.TRIPLETAP);
+        }
+    }
+
+    private static void optInMagnificationValueToSettings(Context context,
+            @UserShortcutType int shortcutType) {
+        if (shortcutType == UserShortcutType.TRIPLETAP) {
+            Settings.Secure.putInt(context.getContentResolver(),
+                    Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED, ON);
+            return;
         }
 
-        if (arguments.containsKey(AccessibilitySettings.EXTRA_CHECKED)) {
-            mInitialSetting = arguments.getBoolean(AccessibilitySettings.EXTRA_CHECKED);
+        if (hasMagnificationValueInSettings(context, shortcutType)) {
+            return;
         }
 
-        if (arguments.containsKey(AccessibilitySettings.EXTRA_TITLE_RES)) {
-            final int titleRes = arguments.getInt(AccessibilitySettings.EXTRA_TITLE_RES);
-            if (titleRes > 0) {
-                getActivity().setTitle(titleRes);
+        final String targetKey = AccessibilityUtil.convertKeyFromSettings(shortcutType);
+        final String targetString = Settings.Secure.getString(context.getContentResolver(),
+                targetKey);
+        final StringJoiner joiner = new StringJoiner(String.valueOf(COMPONENT_NAME_SEPARATOR));
+
+        if (!TextUtils.isEmpty(targetString)) {
+            joiner.add(targetString);
+        }
+        joiner.add(MAGNIFICATION_CONTROLLER_NAME);
+
+        Settings.Secure.putString(context.getContentResolver(), targetKey, joiner.toString());
+    }
+
+    @VisibleForTesting
+    static void optOutAllMagnificationValuesFromSettings(Context context,
+            int shortcutTypes) {
+        if ((shortcutTypes & UserShortcutType.SOFTWARE) == UserShortcutType.SOFTWARE) {
+            optOutMagnificationValueFromSettings(context, UserShortcutType.SOFTWARE);
+        }
+        if (((shortcutTypes & UserShortcutType.HARDWARE) == UserShortcutType.HARDWARE)) {
+            optOutMagnificationValueFromSettings(context, UserShortcutType.HARDWARE);
+        }
+        if (((shortcutTypes & UserShortcutType.TRIPLETAP) == UserShortcutType.TRIPLETAP)) {
+            optOutMagnificationValueFromSettings(context, UserShortcutType.TRIPLETAP);
+        }
+    }
+
+    private static void optOutMagnificationValueFromSettings(Context context,
+            @UserShortcutType int shortcutType) {
+        if (shortcutType == UserShortcutType.TRIPLETAP) {
+            Settings.Secure.putInt(context.getContentResolver(),
+                    Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED, OFF);
+            return;
+        }
+
+        final String targetKey = AccessibilityUtil.convertKeyFromSettings(shortcutType);
+        final String targetString = Settings.Secure.getString(context.getContentResolver(),
+                targetKey);
+
+        if (TextUtils.isEmpty(targetString)) {
+            return;
+        }
+
+        final StringJoiner joiner = new StringJoiner(String.valueOf(COMPONENT_NAME_SEPARATOR));
+
+        sStringColonSplitter.setString(targetString);
+        while (sStringColonSplitter.hasNext()) {
+            final String name = sStringColonSplitter.next();
+            if (TextUtils.isEmpty(name) || MAGNIFICATION_CONTROLLER_NAME.equals(name)) {
+                continue;
+            }
+            joiner.add(name);
+        }
+
+        Settings.Secure.putString(context.getContentResolver(), targetKey, joiner.toString());
+    }
+
+    @VisibleForTesting
+    static boolean hasMagnificationValuesInSettings(Context context, int shortcutTypes) {
+        boolean exist = false;
+
+        if ((shortcutTypes & UserShortcutType.SOFTWARE) == UserShortcutType.SOFTWARE) {
+            exist = hasMagnificationValueInSettings(context, UserShortcutType.SOFTWARE);
+        }
+        if (((shortcutTypes & UserShortcutType.HARDWARE) == UserShortcutType.HARDWARE)) {
+            exist |= hasMagnificationValueInSettings(context, UserShortcutType.HARDWARE);
+        }
+        if (((shortcutTypes & UserShortcutType.TRIPLETAP) == UserShortcutType.TRIPLETAP)) {
+            exist |= hasMagnificationValueInSettings(context, UserShortcutType.TRIPLETAP);
+        }
+        return exist;
+    }
+
+    private static boolean hasMagnificationValueInSettings(Context context,
+            @UserShortcutType int shortcutType) {
+        if (shortcutType == UserShortcutType.TRIPLETAP) {
+            return Settings.Secure.getInt(context.getContentResolver(),
+                    Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED, OFF) == ON;
+        }
+
+        final String targetKey = AccessibilityUtil.convertKeyFromSettings(shortcutType);
+        final String targetString = Settings.Secure.getString(context.getContentResolver(),
+                targetKey);
+
+        if (TextUtils.isEmpty(targetString)) {
+            return false;
+        }
+
+        sStringColonSplitter.setString(targetString);
+        while (sStringColonSplitter.hasNext()) {
+            final String name = sStringColonSplitter.next();
+            if (MAGNIFICATION_CONTROLLER_NAME.equals(name)) {
+                return true;
             }
         }
+        return false;
     }
 
-    private boolean isGestureNavigateEnabled() {
-        return getContext().getResources().getInteger(
-                com.android.internal.R.integer.config_navBarInteractionMode)
-                == NAV_BAR_MODE_GESTURAL;
+    private boolean isWindowMagnification(Context context) {
+        final int mode = Settings.Secure.getIntForUser(
+                context.getContentResolver(),
+                Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE,
+                Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN,
+                context.getContentResolver().getUserId());
+        return mode == Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW;
     }
 
-    private void updateConfigurationWarningIfNeeded() {
-        final CharSequence warningMessage =
-                MagnificationPreferenceFragment.getConfigurationWarningStringForSecureSettingsKey(
-                        mPreferenceKey, getPrefContext());
-        if (warningMessage != null) {
-            mConfigWarningPreference.setSummary(warningMessage);
+    private static int getUserShortcutTypeFromSettings(Context context) {
+        int shortcutTypes = UserShortcutType.EMPTY;
+        if (hasMagnificationValuesInSettings(context, UserShortcutType.SOFTWARE)) {
+            shortcutTypes |= UserShortcutType.SOFTWARE;
         }
-        mConfigWarningPreference.setVisible(warningMessage != null);
+        if (hasMagnificationValuesInSettings(context, UserShortcutType.HARDWARE)) {
+            shortcutTypes |= UserShortcutType.HARDWARE;
+        }
+        if (hasMagnificationValuesInSettings(context, UserShortcutType.TRIPLETAP)) {
+            shortcutTypes |= UserShortcutType.TRIPLETAP;
+        }
+        return shortcutTypes;
     }
 
-    private static int getScreenWidth(Context context) {
-        WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
-        Display display = wm.getDefaultDisplay();
-        Point size = new Point();
-        display.getSize(size);
-        return size.x;
+    /**
+     * Gets the service summary of magnification.
+     *
+     * @param context The current context.
+     */
+    public static CharSequence getServiceSummary(Context context) {
+        // Get the user shortcut type from settings provider.
+        final int uerShortcutType = getUserShortcutTypeFromSettings(context);
+        return (uerShortcutType != AccessibilityUtil.UserShortcutType.EMPTY)
+                ? context.getText(R.string.accessibility_summary_shortcut_enabled)
+                : context.getText(R.string.accessibility_summary_shortcut_disabled);
     }
 }
diff --git a/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragmentForSetupWizard.java b/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragmentForSetupWizard.java
index 5fe62a7..3b786ff 100644
--- a/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragmentForSetupWizard.java
+++ b/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragmentForSetupWizard.java
@@ -32,11 +32,12 @@
         // Log the final choice in value if it's different from the previous value.
         Bundle args = getArguments();
         if ((args != null) && args.containsKey(AccessibilitySettings.EXTRA_CHECKED)) {
-            if (mToggleSwitch.isChecked() != args.getBoolean(AccessibilitySettings.EXTRA_CHECKED)) {
+            if (mToggleServiceDividerSwitchPreference.isChecked() != args.getBoolean(
+                    AccessibilitySettings.EXTRA_CHECKED)) {
                 // TODO: Distinguish between magnification modes
                 mMetricsFeatureProvider.action(getContext(),
                         SettingsEnums.SUW_ACCESSIBILITY_TOGGLE_SCREEN_MAGNIFICATION,
-                        mToggleSwitch.isChecked());
+                        mToggleServiceDividerSwitchPreference.isChecked());
             }
         }
         super.onStop();
diff --git a/src/com/android/settings/accessibility/ToggleScreenReaderPreferenceFragmentForSetupWizard.java b/src/com/android/settings/accessibility/ToggleScreenReaderPreferenceFragmentForSetupWizard.java
index fc68e03..4d7b653 100644
--- a/src/com/android/settings/accessibility/ToggleScreenReaderPreferenceFragmentForSetupWizard.java
+++ b/src/com/android/settings/accessibility/ToggleScreenReaderPreferenceFragmentForSetupWizard.java
@@ -18,6 +18,7 @@
 
 import android.app.settings.SettingsEnums;
 import android.os.Bundle;
+import android.view.View;
 
 public class ToggleScreenReaderPreferenceFragmentForSetupWizard
         extends ToggleAccessibilityServicePreferenceFragment {
@@ -25,9 +26,9 @@
     private boolean mToggleSwitchWasInitiallyChecked;
 
     @Override
-    protected void onProcessArguments(Bundle arguments) {
-        super.onProcessArguments(arguments);
-        mToggleSwitchWasInitiallyChecked = mToggleSwitch.isChecked();
+    public void onViewCreated(View view, Bundle savedInstanceState) {
+        super.onViewCreated(view, savedInstanceState);
+        mToggleSwitchWasInitiallyChecked = mToggleServiceDividerSwitchPreference.isChecked();
     }
 
     @Override
@@ -38,12 +39,11 @@
     @Override
     public void onStop() {
         // Log the final choice in value if it's different from the previous value.
-        if (mToggleSwitch.isChecked() != mToggleSwitchWasInitiallyChecked) {
+        if (mToggleServiceDividerSwitchPreference.isChecked() != mToggleSwitchWasInitiallyChecked) {
             mMetricsFeatureProvider.action(getContext(),
-                    SettingsEnums.SUW_ACCESSIBILITY_TOGGLE_SCREEN_READER, mToggleSwitch.isChecked());
+                    SettingsEnums.SUW_ACCESSIBILITY_TOGGLE_SCREEN_READER,
+                    mToggleServiceDividerSwitchPreference.isChecked());
         }
-
         super.onStop();
     }
 }
-
diff --git a/src/com/android/settings/accessibility/ToggleSelectToSpeakPreferenceFragmentForSetupWizard.java b/src/com/android/settings/accessibility/ToggleSelectToSpeakPreferenceFragmentForSetupWizard.java
index be9e8d4..87b8469 100644
--- a/src/com/android/settings/accessibility/ToggleSelectToSpeakPreferenceFragmentForSetupWizard.java
+++ b/src/com/android/settings/accessibility/ToggleSelectToSpeakPreferenceFragmentForSetupWizard.java
@@ -18,16 +18,17 @@
 
 import android.app.settings.SettingsEnums;
 import android.os.Bundle;
+import android.view.View;
 
 public class ToggleSelectToSpeakPreferenceFragmentForSetupWizard
-        extends ToggleAccessibilityServicePreferenceFragment {
+        extends InvisibleToggleAccessibilityServicePreferenceFragment {
 
     private boolean mToggleSwitchWasInitiallyChecked;
 
     @Override
-    protected void onProcessArguments(Bundle arguments) {
-        super.onProcessArguments(arguments);
-        mToggleSwitchWasInitiallyChecked = mToggleSwitch.isChecked();
+    public void onViewCreated(View view, Bundle savedInstanceState) {
+        super.onViewCreated(view, savedInstanceState);
+        mToggleSwitchWasInitiallyChecked = mToggleServiceDividerSwitchPreference.isChecked();
     }
 
     @Override
@@ -38,13 +39,12 @@
     @Override
     public void onStop() {
         // Log the final choice in value if it's different from the previous value.
-        if (mToggleSwitch.isChecked() != mToggleSwitchWasInitiallyChecked) {
+        if (mToggleServiceDividerSwitchPreference.isChecked() != mToggleSwitchWasInitiallyChecked) {
             mMetricsFeatureProvider.action(getContext(),
                     SettingsEnums.SUW_ACCESSIBILITY_TOGGLE_SELECT_TO_SPEAK,
-                    mToggleSwitch.isChecked());
+                    mToggleServiceDividerSwitchPreference.isChecked());
         }
 
         super.onStop();
     }
 }
-
diff --git a/src/com/android/settings/accessibility/TopLevelAccessibilityPreferenceController.java b/src/com/android/settings/accessibility/TopLevelAccessibilityPreferenceController.java
index 41040a0..7a8ba21 100644
--- a/src/com/android/settings/accessibility/TopLevelAccessibilityPreferenceController.java
+++ b/src/com/android/settings/accessibility/TopLevelAccessibilityPreferenceController.java
@@ -31,8 +31,7 @@
     @Override
     public int getAvailabilityStatus() {
         return mContext.getResources().getBoolean(R.bool.config_show_top_level_accessibility)
-        ? AVAILABLE_UNSEARCHABLE
-        : UNSUPPORTED_ON_DEVICE;
+                ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
     }
 }
 
diff --git a/src/com/android/settings/accessibility/VibrationPreferenceController.java b/src/com/android/settings/accessibility/VibrationPreferenceController.java
new file mode 100644
index 0000000..8bfea34
--- /dev/null
+++ b/src/com/android/settings/accessibility/VibrationPreferenceController.java
@@ -0,0 +1,77 @@
+/*
+ * 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.accessibility;
+
+import android.content.Context;
+import android.os.Vibrator;
+import android.provider.Settings;
+
+import com.android.settings.R;
+import com.android.settings.core.BasePreferenceController;
+
+public class VibrationPreferenceController extends BasePreferenceController {
+
+    private final Vibrator mVibrator;
+
+    public VibrationPreferenceController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+        mVibrator = mContext.getSystemService(Vibrator.class);
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return AVAILABLE;
+    }
+
+    @Override
+    public CharSequence getSummary() {
+        int ringIntensity = Settings.System.getInt(mContext.getContentResolver(),
+                Settings.System.RING_VIBRATION_INTENSITY,
+                mVibrator.getDefaultRingVibrationIntensity());
+        if (Settings.System.getInt(mContext.getContentResolver(),
+                Settings.System.VIBRATE_WHEN_RINGING, 0) == 0
+                && !AccessibilitySettings.isRampingRingerEnabled(mContext)) {
+            ringIntensity = Vibrator.VIBRATION_INTENSITY_OFF;
+        }
+        final CharSequence ringIntensityString =
+                VibrationIntensityPreferenceController.getIntensityString(mContext, ringIntensity);
+
+        final int notificationIntensity = Settings.System.getInt(mContext.getContentResolver(),
+                Settings.System.NOTIFICATION_VIBRATION_INTENSITY,
+                mVibrator.getDefaultNotificationVibrationIntensity());
+        final CharSequence notificationIntensityString =
+                VibrationIntensityPreferenceController.getIntensityString(mContext,
+                        notificationIntensity);
+
+        int touchIntensity = Settings.System.getInt(mContext.getContentResolver(),
+                Settings.System.HAPTIC_FEEDBACK_INTENSITY,
+                mVibrator.getDefaultHapticFeedbackIntensity());
+        if (Settings.System.getInt(mContext.getContentResolver(),
+                Settings.System.HAPTIC_FEEDBACK_ENABLED, 0) == 0) {
+            touchIntensity = Vibrator.VIBRATION_INTENSITY_OFF;
+        }
+        final CharSequence touchIntensityString =
+                VibrationIntensityPreferenceController.getIntensityString(mContext, touchIntensity);
+
+        if (ringIntensity == touchIntensity && ringIntensity == notificationIntensity) {
+            return ringIntensityString;
+        } else {
+            return mContext.getString(R.string.accessibility_vibration_summary, ringIntensityString,
+                    notificationIntensityString, touchIntensityString);
+        }
+    }
+}
diff --git a/src/com/android/settings/accessibility/VibrationSettings.java b/src/com/android/settings/accessibility/VibrationSettings.java
index 9d31220..32256f4 100644
--- a/src/com/android/settings/accessibility/VibrationSettings.java
+++ b/src/com/android/settings/accessibility/VibrationSettings.java
@@ -51,16 +51,6 @@
         return TAG;
     }
 
-    public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
-                        boolean enabled) {
-                    List<SearchIndexableResource> indexables = new ArrayList<>();
-                    SearchIndexableResource indexable = new SearchIndexableResource(context);
-                    indexable.xmlResId = R.xml.accessibility_vibration_settings;
-                    indexables.add(indexable);
-                    return indexables;
-                }
-            };
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.accessibility_vibration_settings);
 }
diff --git a/src/com/android/settings/accounts/AccountDashboardFragment.java b/src/com/android/settings/accounts/AccountDashboardFragment.java
index 515008a..7b50b46 100644
--- a/src/com/android/settings/accounts/AccountDashboardFragment.java
+++ b/src/com/android/settings/accounts/AccountDashboardFragment.java
@@ -17,22 +17,27 @@
 
 import static android.provider.Settings.EXTRA_AUTHORITIES;
 
+import android.accounts.Account;
+import android.accounts.AccountManager;
 import android.app.settings.SettingsEnums;
 import android.content.Context;
-import android.provider.SearchIndexableResource;
+import android.content.pm.UserInfo;
+import android.os.UserHandle;
+import android.os.UserManager;
 
 import com.android.settings.R;
 import com.android.settings.SettingsPreferenceFragment;
 import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.dashboard.profileselector.ProfileSelectFragment;
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settings.users.AutoSyncDataPreferenceController;
 import com.android.settings.users.AutoSyncPersonalDataPreferenceController;
 import com.android.settings.users.AutoSyncWorkDataPreferenceController;
 import com.android.settingslib.core.AbstractPreferenceController;
 import com.android.settingslib.search.SearchIndexable;
+import com.android.settingslib.search.SearchIndexableRaw;
 
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.List;
 
 @SearchIndexable
@@ -72,7 +77,8 @@
         final List<AbstractPreferenceController> controllers = new ArrayList<>();
 
         final AccountPreferenceController accountPrefController =
-                new AccountPreferenceController(context, parent, authorities);
+                new AccountPreferenceController(context, parent, authorities,
+                        ProfileSelectFragment.ProfileType.ALL);
         if (parent != null) {
             parent.getSettingsLifecycle().addObserver(accountPrefController);
         }
@@ -83,15 +89,8 @@
         return controllers;
     }
 
-    public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(
-                        Context context, boolean enabled) {
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.accounts_dashboard_settings;
-                    return Arrays.asList(sir);
-                }
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.accounts_dashboard_settings) {
 
                 @Override
                 public List<AbstractPreferenceController> createPreferenceControllers(
@@ -99,5 +98,30 @@
                     return buildPreferenceControllers(
                             context, null /* parent */, null /* authorities*/);
                 }
+
+                @Override
+                public List<SearchIndexableRaw> getDynamicRawDataToIndex(Context context,
+                        boolean enabled) {
+                    final List<SearchIndexableRaw> indexRaws = new ArrayList<>();
+                    final UserManager userManager = (UserManager) context.getSystemService(
+                            Context.USER_SERVICE);
+                    final List<UserInfo> profiles = userManager.getProfiles(UserHandle.myUserId());
+                    for (final UserInfo userInfo : profiles) {
+                        if (userInfo.isManagedProfile()) {
+                            return indexRaws;
+                        }
+                    }
+
+                    final AccountManager accountManager = AccountManager.get(context);
+                    final Account[] accounts = accountManager.getAccounts();
+                    for (Account account : accounts) {
+                        final SearchIndexableRaw raw = new SearchIndexableRaw(context);
+                        raw.key = AccountTypePreference.buildKey(account);
+                        raw.title = account.name;
+                        indexRaws.add(raw);
+                    }
+
+                    return indexRaws;
+                }
             };
-}
\ No newline at end of file
+}
diff --git a/src/com/android/settings/accounts/AccountPersonalDashboardFragment.java b/src/com/android/settings/accounts/AccountPersonalDashboardFragment.java
new file mode 100644
index 0000000..f29326e
--- /dev/null
+++ b/src/com/android/settings/accounts/AccountPersonalDashboardFragment.java
@@ -0,0 +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
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.accounts;
+
+import static android.provider.Settings.EXTRA_AUTHORITIES;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+
+import com.android.settings.R;
+import com.android.settings.SettingsPreferenceFragment;
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.dashboard.profileselector.ProfileSelectFragment;
+import com.android.settings.users.AutoSyncDataPreferenceController;
+import com.android.settings.users.AutoSyncPersonalDataPreferenceController;
+import com.android.settingslib.core.AbstractPreferenceController;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Account Setting page for personal profile.
+ */
+public class AccountPersonalDashboardFragment extends DashboardFragment {
+
+    private static final String TAG = "AccountPersonalFrag";
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.ACCOUNT;
+    }
+
+    @Override
+    protected String getLogTag() {
+        return TAG;
+    }
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.accounts_personal_dashboard_settings;
+    }
+
+    @Override
+    public int getHelpResource() {
+        return R.string.help_url_user_and_account_dashboard;
+    }
+
+    @Override
+    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
+        final String[] authorities = getIntent().getStringArrayExtra(EXTRA_AUTHORITIES);
+        return buildPreferenceControllers(context, this /* parent */, authorities);
+    }
+
+    private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
+            SettingsPreferenceFragment parent, String[] authorities) {
+        final List<AbstractPreferenceController> controllers = new ArrayList<>();
+
+        final AccountPreferenceController accountPrefController =
+                new AccountPreferenceController(context, parent, authorities,
+                        ProfileSelectFragment.ProfileType.PERSONAL);
+        if (parent != null) {
+            parent.getSettingsLifecycle().addObserver(accountPrefController);
+        }
+        controllers.add(accountPrefController);
+        controllers.add(new AutoSyncDataPreferenceController(context, parent));
+        controllers.add(new AutoSyncPersonalDataPreferenceController(context, parent));
+        return controllers;
+    }
+
+    // TODO: b/141601408. After featureFlag settings_work_profile is launched, unmark this
+//    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+//            new BaseSearchIndexProvider(R.xml.accounts_personal_dashboard_settings) {
+//
+//                @Override
+//                public List<AbstractPreferenceController> createPreferenceControllers(
+//                        Context context) {
+//                    return buildPreferenceControllers(
+//                            context, null /* parent */, null /* authorities*/);
+//                }
+//            };
+}
diff --git a/src/com/android/settings/accounts/AccountPreference.java b/src/com/android/settings/accounts/AccountPreference.java
index eea3113..c0da387 100644
--- a/src/com/android/settings/accounts/AccountPreference.java
+++ b/src/com/android/settings/accounts/AccountPreference.java
@@ -125,13 +125,13 @@
                 res = R.drawable.ic_settings_sync;
                 break;
             case SYNC_DISABLED:
-                res = R.drawable.ic_sync_grey_holo;
+                res = R.drawable.ic_settings_sync_disabled;
                 break;
             case SYNC_ERROR:
-                res = R.drawable.ic_sync_red_holo;
+                res = R.drawable.ic_settings_sync_failed;
                 break;
             default:
-                res = R.drawable.ic_sync_red_holo;
+                res = R.drawable.ic_settings_sync_failed;
                 Log.e(TAG, "Unknown sync status: " + status);
         }
         return res;
diff --git a/src/com/android/settings/accounts/AccountPreferenceController.java b/src/com/android/settings/accounts/AccountPreferenceController.java
index 1309cc2..db3a8eb 100644
--- a/src/com/android/settings/accounts/AccountPreferenceController.java
+++ b/src/com/android/settings/accounts/AccountPreferenceController.java
@@ -53,8 +53,8 @@
 import com.android.settings.Utils;
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settings.core.SubSettingLauncher;
+import com.android.settings.dashboard.profileselector.ProfileSelectFragment;
 import com.android.settings.overlay.FeatureFactory;
-import com.android.settings.search.SearchIndexableRaw;
 import com.android.settingslib.RestrictedPreference;
 import com.android.settingslib.accounts.AuthenticatorHelper;
 import com.android.settingslib.core.AbstractPreferenceController;
@@ -62,6 +62,7 @@
 import com.android.settingslib.core.lifecycle.LifecycleObserver;
 import com.android.settingslib.core.lifecycle.events.OnPause;
 import com.android.settingslib.core.lifecycle.events.OnResume;
+import com.android.settingslib.search.SearchIndexableRaw;
 
 import java.util.ArrayList;
 import java.util.Collections;
@@ -79,17 +80,21 @@
     private static final int ORDER_NEXT_TO_LAST = 1001;
     private static final int ORDER_NEXT_TO_NEXT_TO_LAST = 1000;
 
+    private static final String PREF_KEY_REMOVE_PROFILE = "remove_profile";
+    private static final String PREF_KEY_WORK_PROFILE_SETTING = "work_profile_setting";
+
     private UserManager mUm;
     private SparseArray<ProfileData> mProfiles = new SparseArray<ProfileData>();
-    private ManagedProfileBroadcastReceiver mManagedProfileBroadcastReceiver
-                = new ManagedProfileBroadcastReceiver();
+    private ManagedProfileBroadcastReceiver mManagedProfileBroadcastReceiver =
+            new ManagedProfileBroadcastReceiver();
     private Preference mProfileNotAvailablePreference;
     private String[] mAuthorities;
     private int mAuthoritiesCount = 0;
-    private SettingsPreferenceFragment mParent;
+    private SettingsPreferenceFragment mFragment;
     private int mAccountProfileOrder = ORDER_ACCOUNT_PROFILES;
     private AccountRestrictionHelper mHelper;
     private MetricsFeatureProvider mMetricsFeatureProvider;
+    private @ProfileSelectFragment.ProfileType int mType;
 
     /**
      * Holds data related to the accounts belonging to one profile.
@@ -130,23 +135,25 @@
     }
 
     public AccountPreferenceController(Context context, SettingsPreferenceFragment parent,
-        String[] authorities) {
-        this(context, parent, authorities, new AccountRestrictionHelper(context));
+            String[] authorities, @ProfileSelectFragment.ProfileType int type) {
+        this(context, parent, authorities, new AccountRestrictionHelper(context), type);
     }
 
     @VisibleForTesting
     AccountPreferenceController(Context context, SettingsPreferenceFragment parent,
-        String[] authorities, AccountRestrictionHelper helper) {
+            String[] authorities, AccountRestrictionHelper helper,
+            @ProfileSelectFragment.ProfileType int type) {
         super(context);
         mUm = (UserManager) context.getSystemService(Context.USER_SERVICE);
         mAuthorities = authorities;
-        mParent = parent;
+        mFragment = parent;
         if (mAuthorities != null) {
             mAuthoritiesCount = mAuthorities.length;
         }
         final FeatureFactory featureFactory = FeatureFactory.getFactory(mContext);
         mMetricsFeatureProvider = featureFactory.getMetricsFeatureProvider();
         mHelper = helper;
+        mType = type;
     }
 
     @Override
@@ -166,7 +173,7 @@
     }
 
     @Override
-    public void updateRawDataToIndex(List<SearchIndexableRaw> rawData) {
+    public void updateDynamicRawDataToIndex(List<SearchIndexableRaw> rawData) {
         if (!isAvailable()) {
             return;
         }
@@ -174,29 +181,21 @@
         final String screenTitle = res.getString(R.string.account_settings_title);
 
         List<UserInfo> profiles = mUm.getProfiles(UserHandle.myUserId());
-        final int profilesCount = profiles.size();
-        for (int i = 0; i < profilesCount; i++) {
-            UserInfo userInfo = profiles.get(i);
-            if (userInfo.isEnabled()) {
-                if (!mHelper.hasBaseUserRestriction(DISALLOW_MODIFY_ACCOUNTS, userInfo.id)) {
-                    SearchIndexableRaw data = new SearchIndexableRaw(mContext);
-                    data.title = res.getString(R.string.add_account_label);
-                    data.screenTitle = screenTitle;
-                    rawData.add(data);
-                }
-                if (userInfo.isManagedProfile()) {
-                    if (!mHelper.hasBaseUserRestriction(DISALLOW_REMOVE_MANAGED_PROFILE,
+        for (final UserInfo userInfo : profiles) {
+            if (userInfo.isEnabled() && userInfo.isManagedProfile()) {
+                if (!mHelper.hasBaseUserRestriction(DISALLOW_REMOVE_MANAGED_PROFILE,
                         UserHandle.myUserId())) {
-                        SearchIndexableRaw data = new SearchIndexableRaw(mContext);
-                        data.title = res.getString(R.string.remove_managed_profile_label);
-                        data.screenTitle = screenTitle;
-                        rawData.add(data);
-                    }
-                    SearchIndexableRaw data = new SearchIndexableRaw(mContext);
-                    data.title = res.getString(R.string.managed_profile_settings_title);
+                    final SearchIndexableRaw data = new SearchIndexableRaw(mContext);
+                    data.key = PREF_KEY_REMOVE_PROFILE;
+                    data.title = res.getString(R.string.remove_managed_profile_label);
                     data.screenTitle = screenTitle;
                     rawData.add(data);
                 }
+                final SearchIndexableRaw data = new SearchIndexableRaw(mContext);
+                data.key = PREF_KEY_WORK_PROFILE_SETTING;
+                data.title = res.getString(R.string.managed_profile_settings_title);
+                data.screenTitle = screenTitle;
+                rawData.add(data);
             }
         }
     }
@@ -239,7 +238,7 @@
             }
             if (preference == profileData.removeWorkProfilePreference) {
                 final int userId = profileData.userInfo.id;
-                RemoveUserFragment.newInstance(userId).show(mParent.getFragmentManager(),
+                RemoveUserFragment.newInstance(userId).show(mFragment.getFragmentManager(),
                         "removeUser");
                 return true;
             }
@@ -247,7 +246,7 @@
                 Bundle arguments = new Bundle();
                 arguments.putParcelable(Intent.EXTRA_USER, profileData.userInfo.getUserHandle());
                 new SubSettingLauncher(mContext)
-                        .setSourceMetricsCategory(mParent.getMetricsCategory())
+                        .setSourceMetricsCategory(mFragment.getMetricsCategory())
                         .setDestination(ManagedProfileSettings.class.getName())
                         .setTitleRes(R.string.managed_profile_settings_title)
                         .setArguments(arguments)
@@ -277,7 +276,13 @@
             List<UserInfo> profiles = mUm.getProfiles(UserHandle.myUserId());
             final int profilesCount = profiles.size();
             for (int i = 0; i < profilesCount; i++) {
-                updateProfileUi(profiles.get(i));
+                if (profiles.get(i).isManagedProfile()
+                        && (mType & ProfileSelectFragment.ProfileType.WORK) != 0) {
+                    updateProfileUi(profiles.get(i));
+                } else if (!profiles.get(i).isManagedProfile()
+                        && (mType & ProfileSelectFragment.ProfileType.PERSONAL) != 0) {
+                    updateProfileUi(profiles.get(i));
+                }
             }
         }
         cleanUpPreferences();
@@ -292,7 +297,7 @@
     }
 
     private void updateProfileUi(final UserInfo userInfo) {
-        if (mParent.getPreferenceManager() == null) {
+        if (mFragment.getPreferenceManager() == null) {
             return;
         }
         final ProfileData data = mProfiles.get(userInfo.id);
@@ -302,7 +307,7 @@
             if (userInfo.isEnabled()) {
                 // recreate the authentication helper to refresh the list of enabled accounts
                 data.authenticatorHelper =
-                    new AuthenticatorHelper(mContext, userInfo.getUserHandle(), this);
+                        new AuthenticatorHelper(mContext, userInfo.getUserHandle(), this);
             }
             return;
         }
@@ -310,29 +315,34 @@
         final ProfileData profileData = new ProfileData();
         profileData.userInfo = userInfo;
         AccessiblePreferenceCategory preferenceGroup =
-            mHelper.createAccessiblePreferenceCategory(mParent.getPreferenceManager().getContext());
+                mHelper.createAccessiblePreferenceCategory(
+                        mFragment.getPreferenceManager().getContext());
         preferenceGroup.setOrder(mAccountProfileOrder++);
         if (isSingleProfile()) {
             preferenceGroup.setTitle(context.getString(R.string.account_for_section_header,
                     BidiFormatter.getInstance().unicodeWrap(userInfo.name)));
             preferenceGroup.setContentDescription(
-                mContext.getString(R.string.account_settings));
+                    mContext.getString(R.string.account_settings));
         } else if (userInfo.isManagedProfile()) {
-            preferenceGroup.setTitle(R.string.category_work);
-            String workGroupSummary = getWorkGroupSummary(context, userInfo);
-            preferenceGroup.setSummary(workGroupSummary);
-            preferenceGroup.setContentDescription(
-                mContext.getString(R.string.accessibility_category_work, workGroupSummary));
+            if (mType == ProfileSelectFragment.ProfileType.ALL) {
+                preferenceGroup.setTitle(R.string.category_work);
+                final String workGroupSummary = getWorkGroupSummary(context, userInfo);
+                preferenceGroup.setSummary(workGroupSummary);
+                preferenceGroup.setContentDescription(
+                        mContext.getString(R.string.accessibility_category_work, workGroupSummary));
+            }
             profileData.removeWorkProfilePreference = newRemoveWorkProfilePreference();
             mHelper.enforceRestrictionOnPreference(profileData.removeWorkProfilePreference,
-                DISALLOW_REMOVE_MANAGED_PROFILE, UserHandle.myUserId());
+                    DISALLOW_REMOVE_MANAGED_PROFILE, UserHandle.myUserId());
             profileData.managedProfilePreference = newManagedProfileSettings();
         } else {
-            preferenceGroup.setTitle(R.string.category_personal);
-            preferenceGroup.setContentDescription(
-                mContext.getString(R.string.accessibility_category_personal));
+            if (mType == ProfileSelectFragment.ProfileType.ALL) {
+                preferenceGroup.setTitle(R.string.category_personal);
+                preferenceGroup.setContentDescription(
+                        mContext.getString(R.string.accessibility_category_personal));
+            }
         }
-        final PreferenceScreen screen = mParent.getPreferenceScreen();
+        final PreferenceScreen screen = mFragment.getPreferenceScreen();
         if (screen != null) {
             screen.addPreference(preferenceGroup);
         }
@@ -342,14 +352,14 @@
                     userInfo.getUserHandle(), this);
             profileData.addAccountPreference = newAddAccountPreference();
             mHelper.enforceRestrictionOnPreference(profileData.addAccountPreference,
-                DISALLOW_MODIFY_ACCOUNTS, userInfo.id);
+                    DISALLOW_MODIFY_ACCOUNTS, userInfo.id);
         }
         mProfiles.put(userInfo.id, profileData);
     }
 
     private RestrictedPreference newAddAccountPreference() {
         RestrictedPreference preference =
-            new RestrictedPreference(mParent.getPreferenceManager().getContext());
+                new RestrictedPreference(mFragment.getPreferenceManager().getContext());
         preference.setTitle(R.string.add_account_label);
         preference.setIcon(R.drawable.ic_add_24dp);
         preference.setOnPreferenceClickListener(this);
@@ -359,7 +369,8 @@
 
     private RestrictedPreference newRemoveWorkProfilePreference() {
         RestrictedPreference preference = new RestrictedPreference(
-            mParent.getPreferenceManager().getContext());
+                mFragment.getPreferenceManager().getContext());
+        preference.setKey(PREF_KEY_REMOVE_PROFILE);
         preference.setTitle(R.string.remove_managed_profile_label);
         preference.setIcon(R.drawable.ic_delete);
         preference.setOnPreferenceClickListener(this);
@@ -369,7 +380,8 @@
 
 
     private Preference newManagedProfileSettings() {
-        Preference preference = new Preference(mParent.getPreferenceManager().getContext());
+        Preference preference = new Preference(mFragment.getPreferenceManager().getContext());
+        preference.setKey(PREF_KEY_WORK_PROFILE_SETTING);
         preference.setTitle(R.string.managed_profile_settings_title);
         preference.setIcon(R.drawable.ic_settings_24dp);
         preference.setOnPreferenceClickListener(this);
@@ -388,12 +400,12 @@
     }
 
     void cleanUpPreferences() {
-        PreferenceScreen screen = mParent.getPreferenceScreen();
+        PreferenceScreen screen = mFragment.getPreferenceScreen();
         if (screen == null) {
             return;
         }
         final int count = mProfiles.size();
-        for (int i = count-1; i >= 0; i--) {
+        for (int i = count - 1; i >= 0; i--) {
             final ProfileData data = mProfiles.valueAt(i);
             if (data.pendingRemoval) {
                 screen.removePreference(data.preferenceGroup);
@@ -423,7 +435,7 @@
     }
 
     private void updateAccountTypes(ProfileData profileData) {
-        if (mParent.getPreferenceManager() == null
+        if (mFragment.getPreferenceManager() == null
                 || profileData.preferenceGroup.getPreferenceManager() == null) {
             // This could happen if activity is finishing
             return;
@@ -449,7 +461,7 @@
             }
             for (String key : preferenceToRemove.keySet()) {
                 profileData.preferenceGroup.removePreference(
-                    profileData.accountPreferences.get(key));
+                        profileData.accountPreferences.get(key));
                 profileData.accountPreferences.remove(key);
             }
         } else {
@@ -457,7 +469,7 @@
             // Put a label instead of the accounts list
             if (mProfileNotAvailablePreference == null) {
                 mProfileNotAvailablePreference =
-                    new Preference(mParent.getPreferenceManager().getContext());
+                        new Preference(mFragment.getPreferenceManager().getContext());
             }
             mProfileNotAvailablePreference.setEnabled(false);
             mProfileNotAvailablePreference.setIcon(R.drawable.empty_icon);
@@ -496,7 +508,7 @@
             final Account[] accounts = AccountManager.get(mContext)
                     .getAccountsByTypeAsUser(accountType, userHandle);
             final Drawable icon = helper.getDrawableForType(mContext, accountType);
-            final Context prefContext = mParent.getPreferenceManager().getContext();
+            final Context prefContext = mFragment.getPreferenceManager().getContext();
 
             // Add a preference row for each individual account
             for (Account account : accounts) {
@@ -507,26 +519,26 @@
                     continue;
                 }
                 final ArrayList<String> auths =
-                    helper.getAuthoritiesForAccountType(account.type);
+                        helper.getAuthoritiesForAccountType(account.type);
                 if (!AccountRestrictionHelper.showAccount(mAuthorities, auths)) {
                     continue;
                 }
                 final Bundle fragmentArguments = new Bundle();
                 fragmentArguments.putParcelable(AccountDetailDashboardFragment.KEY_ACCOUNT,
-                    account);
+                        account);
                 fragmentArguments.putParcelable(AccountDetailDashboardFragment.KEY_USER_HANDLE,
-                    userHandle);
+                        userHandle);
                 fragmentArguments.putString(AccountDetailDashboardFragment.KEY_ACCOUNT_TYPE,
-                    accountType);
+                        accountType);
                 fragmentArguments.putString(AccountDetailDashboardFragment.KEY_ACCOUNT_LABEL,
-                    label.toString());
+                        label.toString());
                 fragmentArguments.putInt(AccountDetailDashboardFragment.KEY_ACCOUNT_TITLE_RES,
-                    titleResId);
+                        titleResId);
                 fragmentArguments.putParcelable(EXTRA_USER, userHandle);
                 accountTypePreferences.add(new AccountTypePreference(
-                    prefContext, mMetricsFeatureProvider.getMetricsCategory(mParent),
-                    account, titleResPackageName, titleResId, label,
-                    AccountDetailDashboardFragment.class.getName(), fragmentArguments, icon));
+                        prefContext, mMetricsFeatureProvider.getMetricsCategory(mFragment),
+                        account, titleResPackageName, titleResId, label,
+                        AccountDetailDashboardFragment.class.getName(), fragmentArguments, icon));
             }
             helper.preloadDrawableForType(mContext, accountType);
         }
@@ -536,7 +548,7 @@
             public int compare(AccountTypePreference t1, AccountTypePreference t2) {
                 int result = t1.getSummary().toString().compareTo(t2.getSummary().toString());
                 return result != 0
-                    ? result : t1.getTitle().toString().compareTo(t2.getTitle().toString());
+                        ? result : t1.getTitle().toString().compareTo(t2.getTitle().toString());
             }
         });
         return accountTypePreferences;
@@ -575,11 +587,15 @@
             Log.v(TAG, "Received broadcast: " + action);
             if (action.equals(Intent.ACTION_MANAGED_PROFILE_REMOVED)
                     || action.equals(Intent.ACTION_MANAGED_PROFILE_ADDED)) {
-                // Clean old state
-                stopListeningToAccountUpdates();
-                // Build new state
-                updateUi();
-                listenToAccountUpdates();
+                if (mFragment instanceof AccountWorkProfileDashboardFragment) {
+                    mFragment.getActivity().finish();
+                } else {
+                    // Clean old state
+                    stopListeningToAccountUpdates();
+                    // Build new state
+                    updateUi();
+                    listenToAccountUpdates();
+                }
                 return;
             }
             Log.w(TAG, "Cannot handle received broadcast: " + intent.getAction());
diff --git a/src/com/android/settings/accounts/AccountRestrictionHelper.java b/src/com/android/settings/accounts/AccountRestrictionHelper.java
index 05b27aa..c67f5d1 100644
--- a/src/com/android/settings/accounts/AccountRestrictionHelper.java
+++ b/src/com/android/settings/accounts/AccountRestrictionHelper.java
@@ -15,8 +15,17 @@
  */
 package com.android.settings.accounts;
 
+import static android.os.UserManager.DISALLOW_REMOVE_MANAGED_PROFILE;
+
+import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
+
 import android.annotation.UserIdInt;
+import android.app.admin.DevicePolicyManager;
+import android.content.ComponentName;
 import android.content.Context;
+import android.content.pm.UserInfo;
+import android.os.UserHandle;
+import android.os.UserManager;
 
 import com.android.settings.AccessiblePreferenceCategory;
 import com.android.settingslib.RestrictedLockUtilsInternal;
@@ -44,7 +53,12 @@
             return;
         }
         if (hasBaseUserRestriction(userRestriction, userId)) {
-            preference.setEnabled(false);
+            if (userRestriction.equals(DISALLOW_REMOVE_MANAGED_PROFILE)
+                    && isOrganizationOwnedDevice()) {
+                preference.setDisabledByAdmin(getEnforcedAdmin(userRestriction, userId));
+            } else {
+                preference.setEnabled(false);
+            }
         } else {
             preference.checkRestrictionAndSetDisabled(userRestriction, userId);
         }
@@ -55,6 +69,41 @@
                 userId);
     }
 
+    private boolean isOrganizationOwnedDevice() {
+        final DevicePolicyManager dpm = (DevicePolicyManager) mContext.getSystemService(
+                Context.DEVICE_POLICY_SERVICE);
+        if (dpm == null) {
+            return false;
+        }
+        return dpm.isOrganizationOwnedDeviceWithManagedProfile();
+    }
+
+    private EnforcedAdmin getEnforcedAdmin(String userRestriction, int userId) {
+        final DevicePolicyManager dpm = (DevicePolicyManager) mContext.getSystemService(
+                Context.DEVICE_POLICY_SERVICE);
+        if (dpm == null) {
+            return null;
+        }
+        final int managedUsedId = getManagedUserId(userId);
+        ComponentName adminComponent = dpm.getProfileOwnerAsUser(managedUsedId);
+        if (adminComponent != null) {
+            return new EnforcedAdmin(adminComponent, userRestriction,
+                    UserHandle.of(managedUsedId));
+        }
+        return null;
+    }
+
+    private int getManagedUserId(int userId) {
+        final UserManager um = UserManager.get(mContext);
+        for (UserInfo ui : um.getProfiles(userId)) {
+            if (ui.id == userId || !ui.isManagedProfile()) {
+                continue;
+            }
+            return ui.id;
+        }
+        return -1;
+    }
+
     public AccessiblePreferenceCategory createAccessiblePreferenceCategory(Context context) {
         return new AccessiblePreferenceCategory(context);
     }
diff --git a/src/com/android/settings/accounts/AccountSyncSettings.java b/src/com/android/settings/accounts/AccountSyncSettings.java
index ec74cd8..e05fad6 100644
--- a/src/com/android/settings/accounts/AccountSyncSettings.java
+++ b/src/com/android/settings/accounts/AccountSyncSettings.java
@@ -48,11 +48,13 @@
 import com.android.settings.R;
 import com.android.settings.Utils;
 import com.android.settings.widget.EntityHeaderController;
+import com.android.settingslib.widget.FooterPreference;
 
 import com.google.android.collect.Lists;
 
 import java.util.ArrayList;
 import java.util.Date;
+import java.util.HashMap;
 import java.util.List;
 
 public class AccountSyncSettings extends AccountPreferenceBase {
@@ -61,9 +63,11 @@
     private static final int MENU_SYNC_NOW_ID = Menu.FIRST;
     private static final int MENU_SYNC_CANCEL_ID = Menu.FIRST + 1;
     private static final int CANT_DO_ONETIME_SYNC_DIALOG = 102;
+    private static final String UID_REQUEST_KEY = "uid_request_code";
 
     private Account mAccount;
     private ArrayList<SyncAdapterType> mInvisibleAdapters = Lists.newArrayList();
+    private HashMap<Integer, Integer> mUidRequestCodeMap = new HashMap<>();
 
     @Override
     public Dialog onCreateDialog(final int id) {
@@ -102,6 +106,14 @@
     }
 
     @Override
+    public void onSaveInstanceState(Bundle outState) {
+        super.onSaveInstanceState(outState);
+        if (!mUidRequestCodeMap.isEmpty()) {
+            outState.putSerializable(UID_REQUEST_KEY, mUidRequestCodeMap);
+        }
+    }
+
+    @Override
     public void onActivityCreated(Bundle savedInstanceState) {
         super.onActivityCreated(savedInstanceState);
 
@@ -130,6 +142,10 @@
                 .done(activity, getPrefContext());
         pref.setOrder(0);
         getPreferenceScreen().addPreference(pref);
+        if (savedInstanceState != null && savedInstanceState.containsKey(UID_REQUEST_KEY)) {
+            mUidRequestCodeMap = (HashMap<Integer, Integer>) savedInstanceState.getSerializable(
+                    UID_REQUEST_KEY);
+        }
     }
 
     private void setAccessibilityTitle() {
@@ -187,11 +203,9 @@
     @Override
     public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
         MenuItem syncNow = menu.add(0, MENU_SYNC_NOW_ID, 0,
-                getString(R.string.sync_menu_sync_now))
-                .setIcon(R.drawable.ic_menu_refresh_holo_dark);
+                getString(R.string.sync_menu_sync_now));
         MenuItem syncCancel = menu.add(0, MENU_SYNC_CANCEL_ID, 0,
-                getString(R.string.sync_menu_sync_cancel))
-                .setIcon(com.android.internal.R.drawable.ic_menu_close_clear_cancel);
+                getString(R.string.sync_menu_sync_cancel));
 
         syncNow.setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER |
                 MenuItem.SHOW_AS_ACTION_WITH_TEXT);
@@ -209,6 +223,7 @@
                 mUserHandle.getIdentifier()).isEmpty();
         menu.findItem(MENU_SYNC_NOW_ID).setVisible(!syncActive);
         menu.findItem(MENU_SYNC_CANCEL_ID).setVisible(syncActive);
+
     }
 
     @Override
@@ -227,13 +242,12 @@
     @Override
     public void onActivityResult(int requestCode, int resultCode, Intent data) {
         if (resultCode == Activity.RESULT_OK) {
-            final int uid = requestCode;
             final int count = getPreferenceScreen().getPreferenceCount();
             for (int i = 0; i < count; i++) {
                 Preference preference = getPreferenceScreen().getPreference(i);
                 if (preference instanceof SyncStateSwitchPreference) {
                     SyncStateSwitchPreference syncPref = (SyncStateSwitchPreference) preference;
-                    if (syncPref.getUid() == uid) {
+                    if (getRequestCodeByUid(syncPref.getUid()) == requestCode) {
                         onPreferenceTreeClick(syncPref);
                         return;
                     }
@@ -314,7 +328,9 @@
                     mAccount, packageName, mUserHandle);
             if (intent != null) {
                 try {
-                    startIntentSenderForResult(intent, uid, null, 0, 0, 0, null);
+                    final int requestCode = addUidAndGenerateRequestCode(uid);
+                    startIntentSenderForResult(intent, requestCode, null /* fillInIntent */, 0, 0,
+                            0, null /* options */);
                     return true;
                 } catch (IntentSender.SendIntentException e) {
                     Log.e(TAG, "Error requesting account access", e);
@@ -458,8 +474,8 @@
             syncPref.setChecked(oneTimeSyncMode || syncEnabled);
         }
         if (syncIsFailing) {
-            mFooterPreferenceMixin.createFooterPreference()
-                    .setTitle(R.string.sync_is_failing);
+            getPreferenceScreen().addPreference(new FooterPreference.Builder(
+                    getActivity()).setTitle(R.string.sync_is_failing).build());
         }
     }
 
@@ -552,4 +568,20 @@
                         | DateUtils.FORMAT_SHOW_YEAR
                         | DateUtils.FORMAT_SHOW_TIME);
     }
+
+    private int addUidAndGenerateRequestCode(int uid) {
+        if (mUidRequestCodeMap.containsKey(uid)) {
+            return mUidRequestCodeMap.get(uid);
+        }
+        final int requestCode = mUidRequestCodeMap.size() + 1;
+        mUidRequestCodeMap.put(uid, requestCode);
+        return requestCode;
+    }
+
+    private int getRequestCodeByUid(int uid) {
+        if (!mUidRequestCodeMap.containsKey(uid)) {
+            return -1;
+        }
+        return mUidRequestCodeMap.get(uid);
+    }
 }
diff --git a/src/com/android/settings/accounts/AccountWorkProfileDashboardFragment.java b/src/com/android/settings/accounts/AccountWorkProfileDashboardFragment.java
new file mode 100644
index 0000000..853c66b
--- /dev/null
+++ b/src/com/android/settings/accounts/AccountWorkProfileDashboardFragment.java
@@ -0,0 +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
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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.accounts;
+
+import static android.provider.Settings.EXTRA_AUTHORITIES;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+
+import com.android.settings.R;
+import com.android.settings.SettingsPreferenceFragment;
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.dashboard.profileselector.ProfileSelectFragment;
+import com.android.settings.users.AutoSyncDataPreferenceController;
+import com.android.settings.users.AutoSyncWorkDataPreferenceController;
+import com.android.settingslib.core.AbstractPreferenceController;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Account Setting page for work profile.
+ */
+public class AccountWorkProfileDashboardFragment extends DashboardFragment {
+
+    private static final String TAG = "AccountWorkProfileFrag";
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.ACCOUNT_WORK;
+    }
+
+    @Override
+    protected String getLogTag() {
+        return TAG;
+    }
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.accounts_work_dashboard_settings;
+    }
+
+    @Override
+    public int getHelpResource() {
+        return R.string.help_url_user_and_account_dashboard;
+    }
+
+    @Override
+    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
+        final String[] authorities = getIntent().getStringArrayExtra(EXTRA_AUTHORITIES);
+        return buildPreferenceControllers(context, this /* parent */, authorities);
+    }
+
+    private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
+            SettingsPreferenceFragment parent, String[] authorities) {
+        final List<AbstractPreferenceController> controllers = new ArrayList<>();
+
+        final AccountPreferenceController accountPrefController =
+                new AccountPreferenceController(context, parent, authorities,
+                        ProfileSelectFragment.ProfileType.WORK);
+        if (parent != null) {
+            parent.getSettingsLifecycle().addObserver(accountPrefController);
+        }
+        controllers.add(accountPrefController);
+        controllers.add(new AutoSyncDataPreferenceController(context, parent));
+        controllers.add(new AutoSyncWorkDataPreferenceController(context, parent));
+        return controllers;
+    }
+
+    // TODO: b/141601408. After featureFlag settings_work_profile is launched, unmark this
+//    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+//            new BaseSearchIndexProvider(R.xml.accounts_work_dashboard_settings) {
+//
+//                @Override
+//                public List<AbstractPreferenceController> createPreferenceControllers(
+//                        Context context) {
+//                    return buildPreferenceControllers(
+//                            context, null /* parent */, null /* authorities*/);
+//                }
+//            };
+}
diff --git a/src/com/android/settings/accounts/AddAccountSettings.java b/src/com/android/settings/accounts/AddAccountSettings.java
index cca15c9..d4d93dd 100644
--- a/src/com/android/settings/accounts/AddAccountSettings.java
+++ b/src/com/android/settings/accounts/AddAccountSettings.java
@@ -100,8 +100,9 @@
                     addAccountOptions.putBoolean(EXTRA_HAS_MULTIPLE_USERS,
                             Utils.hasMultipleUsers(AddAccountSettings.this));
                     addAccountOptions.putParcelable(EXTRA_USER, mUserHandle);
-                    intent.putExtras(addAccountOptions);
-                    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+                    intent.putExtras(addAccountOptions)
+                            .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
+                            .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
                     startActivityForResultAsUser(intent, ADD_ACCOUNT_REQUEST, mUserHandle);
                 } else {
                     setResult(RESULT_OK);
diff --git a/src/com/android/settings/accounts/AvatarViewMixin.java b/src/com/android/settings/accounts/AvatarViewMixin.java
index 9e762c7..7eb8cab 100644
--- a/src/com/android/settings/accounts/AvatarViewMixin.java
+++ b/src/com/android/settings/accounts/AvatarViewMixin.java
@@ -67,7 +67,8 @@
     private final MutableLiveData<Bitmap> mAvatarImage;
     private final ActivityManager mActivityManager;
 
-    private String mAccountName;
+    @VisibleForTesting
+    String mAccountName;
 
     public AvatarViewMixin(SettingsHomepageActivity activity, ImageView avatarView) {
         mContext = activity.getApplicationContext();
@@ -127,6 +128,7 @@
         if (hasAccount()) {
             loadAccount();
         } else {
+            mAccountName = null;
             mAvatarView.setImageResource(R.drawable.ic_account_circle_24dp);
         }
     }
diff --git a/src/com/android/settings/accounts/ChooseAccountFragment.java b/src/com/android/settings/accounts/ChooseAccountFragment.java
index 0d7956a..8f3318e 100644
--- a/src/com/android/settings/accounts/ChooseAccountFragment.java
+++ b/src/com/android/settings/accounts/ChooseAccountFragment.java
@@ -20,23 +20,14 @@
 import android.content.Context;
 import android.os.UserHandle;
 import android.os.UserManager;
-import android.provider.SearchIndexableResource;
 
 import com.android.settings.R;
 import com.android.settings.Utils;
 import com.android.settings.dashboard.DashboardFragment;
-import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
-import com.android.settingslib.core.AbstractPreferenceController;
-import com.android.settingslib.search.SearchIndexable;
-
-import java.util.ArrayList;
-import java.util.List;
 
 /**
  * Activity asking a user to select an account to be set up.
  */
-@SearchIndexable
 public class ChooseAccountFragment extends DashboardFragment {
 
     private static final String TAG = "ChooseAccountFragment";
@@ -60,8 +51,6 @@
 
         use(ChooseAccountPreferenceController.class).initialize(authorities, accountTypesFilter,
                 userHandle, getActivity());
-        use(EnterpriseDisclosurePreferenceController.class).setFooterPreferenceMixin(
-                mFooterPreferenceMixin);
     }
 
     @Override
@@ -73,35 +62,4 @@
     protected String getLogTag() {
         return TAG;
     }
-
-    @Override
-    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
-        return buildControllers(context);
-    }
-
-    private static List<AbstractPreferenceController> buildControllers(Context context) {
-        final List<AbstractPreferenceController> controllers = new ArrayList<>();
-        controllers.add(new EnterpriseDisclosurePreferenceController(context));
-        return controllers;
-    }
-
-    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
-                        boolean enabled) {
-                    final ArrayList<SearchIndexableResource> result = new ArrayList<>();
-
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.add_account_settings;
-                    result.add(sir);
-                    return result;
-                }
-
-                @Override
-                public List<AbstractPreferenceController> createPreferenceControllers(
-                        Context context) {
-                    return buildControllers(context);
-                }
-            };
 }
diff --git a/src/com/android/settings/accounts/EmergencyInfoPreferenceController.java b/src/com/android/settings/accounts/EmergencyInfoPreferenceController.java
index 5be829b..5bed05a0 100644
--- a/src/com/android/settings/accounts/EmergencyInfoPreferenceController.java
+++ b/src/com/android/settings/accounts/EmergencyInfoPreferenceController.java
@@ -28,7 +28,7 @@
 
 import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
-import com.android.settings.search.SearchIndexableRaw;
+import com.android.settingslib.search.SearchIndexableRaw;
 
 import java.util.List;
 
diff --git a/src/com/android/settings/accounts/EnterpriseDisclosurePreferenceController.java b/src/com/android/settings/accounts/EnterpriseDisclosurePreferenceController.java
index 7a6e5fa..b4dbf3d 100644
--- a/src/com/android/settings/accounts/EnterpriseDisclosurePreferenceController.java
+++ b/src/com/android/settings/accounts/EnterpriseDisclosurePreferenceController.java
@@ -19,32 +19,23 @@
 import android.content.Context;
 
 import androidx.annotation.VisibleForTesting;
-import androidx.preference.PreferenceScreen;
+import androidx.preference.Preference;
 
 import com.android.settings.core.BasePreferenceController;
 import com.android.settings.enterprise.EnterprisePrivacyFeatureProvider;
 import com.android.settings.overlay.FeatureFactory;
-import com.android.settingslib.widget.FooterPreference;
-import com.android.settingslib.widget.FooterPreferenceMixinCompat;
 
 public class EnterpriseDisclosurePreferenceController extends BasePreferenceController {
 
     private final EnterprisePrivacyFeatureProvider mFeatureProvider;
-    private FooterPreferenceMixinCompat mFooterPreferenceMixin;
-    private PreferenceScreen mScreen;
 
-    public EnterpriseDisclosurePreferenceController(Context context) {
+    public EnterpriseDisclosurePreferenceController(Context context, String key) {
         // Preference key doesn't matter as we are creating the preference in code.
-        super(context, "add_account_enterprise_disclosure_footer");
-
+        super(context, key);
         mFeatureProvider = FeatureFactory.getFactory(mContext)
                 .getEnterprisePrivacyFeatureProvider(mContext);
     }
 
-    public void setFooterPreferenceMixin(FooterPreferenceMixinCompat footerPreferenceMixin) {
-        mFooterPreferenceMixin = footerPreferenceMixin;
-    }
-
     @Override
     public int getAvailabilityStatus() {
         if (getDisclosure() == null) {
@@ -53,27 +44,17 @@
         return AVAILABLE;
     }
 
-    @Override
-    public void displayPreference(PreferenceScreen screen) {
-        super.displayPreference(screen);
-        mScreen = screen;
-        addEnterpriseDisclosure();
-    }
-
     @VisibleForTesting
     CharSequence getDisclosure() {
         return mFeatureProvider.getDeviceOwnerDisclosure();
     }
 
-    private void addEnterpriseDisclosure() {
+    @Override
+    public void updateState(Preference preference) {
         final CharSequence disclosure = getDisclosure();
         if (disclosure == null) {
             return;
         }
-        final FooterPreference enterpriseDisclosurePreference =
-                mFooterPreferenceMixin.createFooterPreference();
-        enterpriseDisclosurePreference.setSelectable(false);
-        enterpriseDisclosurePreference.setTitle(disclosure);
-        mScreen.addPreference(enterpriseDisclosurePreference);
+        preference.setTitle(disclosure);
     }
 }
diff --git a/src/com/android/settings/accounts/ManagedProfileSettings.java b/src/com/android/settings/accounts/ManagedProfileSettings.java
index 1f18d07..6591be4 100644
--- a/src/com/android/settings/accounts/ManagedProfileSettings.java
+++ b/src/com/android/settings/accounts/ManagedProfileSettings.java
@@ -37,7 +37,7 @@
 import com.android.settings.Utils;
 import com.android.settings.dashboard.DashboardFragment;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
+import com.android.settingslib.search.Indexable;
 import com.android.settingslib.search.SearchIndexable;
 
 import java.util.ArrayList;
@@ -116,7 +116,7 @@
         return SettingsEnums.ACCOUNTS_WORK_PROFILE_SETTINGS;
     }
 
-    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
             new BaseSearchIndexProvider() {
                 @Override
                 public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
diff --git a/src/com/android/settings/accounts/TopLevelAccountEntryPreferenceController.java b/src/com/android/settings/accounts/TopLevelAccountEntryPreferenceController.java
index a8d93d5..e4e32e5 100644
--- a/src/com/android/settings/accounts/TopLevelAccountEntryPreferenceController.java
+++ b/src/com/android/settings/accounts/TopLevelAccountEntryPreferenceController.java
@@ -36,7 +36,7 @@
 
     @Override
     public int getAvailabilityStatus() {
-        return AVAILABLE_UNSEARCHABLE;
+        return AVAILABLE;
     }
 
     @Override
diff --git a/src/com/android/settings/applications/AppAndNotificationDashboardFragment.java b/src/com/android/settings/applications/AppAndNotificationDashboardFragment.java
index 5e57908..8b0f851 100644
--- a/src/com/android/settings/applications/AppAndNotificationDashboardFragment.java
+++ b/src/com/android/settings/applications/AppAndNotificationDashboardFragment.java
@@ -44,8 +44,6 @@
 
     private static final String TAG = "AppAndNotifDashboard";
 
-    private View mProgressHeader;
-    private View mProgressAnimation;
     private RecentAppStatsMixin mRecentAppStatsMixin;
     private RecentAppsPreferenceController mRecentAppsPreferenceController;
     private AllAppsInfoPreferenceController mAllAppsInfoPreferenceController;
@@ -92,20 +90,19 @@
     @Override
     public void onViewCreated(View view, Bundle savedInstanceState) {
         super.onViewCreated(view, savedInstanceState);
-        mProgressHeader = setPinnedHeaderView(R.layout.progress_header);
-        mProgressAnimation = mProgressHeader.findViewById(R.id.progress_bar_animation);
-        setLoadingEnabled(false);
+        setPinnedHeaderView(R.layout.progress_header);
+        showPinnedHeader(false);
     }
 
     @Override
     public void onStart() {
         super.onStart();
-        setLoadingEnabled(true);
+        showPinnedHeader(true);
     }
 
     @Override
     public void onReloadDataCompleted(@NonNull List<UsageStats> recentApps) {
-        setLoadingEnabled(false);
+        showPinnedHeader(false);
         if (!recentApps.isEmpty()) {
             Utils.setActionBarShadowAnimation(getActivity(), getSettingsLifecycle(),
                     getListView());
@@ -117,13 +114,6 @@
         return buildPreferenceControllers(context);
     }
 
-    private void setLoadingEnabled(boolean enabled) {
-        if (mProgressHeader != null && mProgressAnimation != null) {
-            mProgressHeader.setVisibility(enabled ? View.VISIBLE : View.INVISIBLE);
-            mProgressAnimation.setVisibility(enabled ? View.VISIBLE : View.INVISIBLE);
-        }
-    }
-
     private static List<AbstractPreferenceController> buildPreferenceControllers(Context context) {
         final List<AbstractPreferenceController> controllers = new ArrayList<>();
         controllers.add(new EmergencyBroadcastPreferenceController(context,
@@ -131,7 +121,7 @@
         return controllers;
     }
 
-    public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
             new BaseSearchIndexProvider() {
                 @Override
                 public List<SearchIndexableResource> getXmlResourcesToIndex(
diff --git a/src/com/android/settings/applications/AppHeaderPreferenceController.java b/src/com/android/settings/applications/AppHeaderPreferenceController.java
new file mode 100644
index 0000000..0f473e7
--- /dev/null
+++ b/src/com/android/settings/applications/AppHeaderPreferenceController.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.applications;
+
+import static com.android.settings.widget.EntityHeaderController.ActionType;
+
+import android.app.Activity;
+import android.content.Context;
+import android.content.pm.PackageInfo;
+import android.content.pm.PackageManager;
+
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settings.Utils;
+import com.android.settings.core.BasePreferenceController;
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.widget.EntityHeaderController;
+import com.android.settingslib.applications.AppUtils;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+import com.android.settingslib.core.lifecycle.LifecycleObserver;
+import com.android.settingslib.core.lifecycle.events.OnResume;
+import com.android.settingslib.widget.LayoutPreference;
+
+/**
+ *  The header controller displays on the top of the page.
+ */
+public class AppHeaderPreferenceController extends BasePreferenceController implements
+        LifecycleObserver, OnResume {
+    private DashboardFragment mParent;
+    private PackageInfo mPackageInfo;
+    private Lifecycle mLifecycle;
+    private LayoutPreference mHeaderPreference;
+
+    public AppHeaderPreferenceController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+    }
+
+    /**
+     * @param fragment set the parent fragment.
+     * @return return controller-self.
+     */
+    public AppHeaderPreferenceController setParentFragment(DashboardFragment fragment) {
+        mParent = fragment;
+        return this;
+    }
+
+    /**
+     * @param packageInfo set the {@link PackageInfo}.
+     * @return return controller-self.
+     */
+    public AppHeaderPreferenceController setPackageInfo(PackageInfo packageInfo) {
+        mPackageInfo = packageInfo;
+        return this;
+    }
+
+    /**
+     * @param lifeCycle set the {@link Lifecycle}.
+     * @return return controller-self.
+     */
+    public AppHeaderPreferenceController setLifeCycle(Lifecycle lifeCycle) {
+        mLifecycle = lifeCycle;
+        return this;
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        mHeaderPreference = screen.findPreference(getPreferenceKey());
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return AVAILABLE;
+    }
+
+    @Override
+    public void onResume() {
+        final Activity activity = mParent.getActivity();
+        final PackageManager packageManager = activity.getPackageManager();
+        EntityHeaderController
+                .newInstance(activity, mParent, mHeaderPreference.findViewById(R.id.entity_header))
+                .setRecyclerView(mParent.getListView(), mLifecycle)
+                .setIcon(Utils.getBadgedIcon(mParent.getContext(), mPackageInfo.applicationInfo))
+                .setLabel(mPackageInfo.applicationInfo.loadLabel(packageManager))
+                .setSummary(mPackageInfo)
+                .setIsInstantApp(AppUtils.isInstant(mPackageInfo.applicationInfo))
+                .setPackageName(mPackageInfo.packageName)
+                .setUid(mPackageInfo.applicationInfo.uid)
+                .setButtonActions(ActionType.ACTION_NONE, ActionType.ACTION_NONE)
+                .done(mParent.getActivity(), true /* rebindActions */);
+    }
+}
diff --git a/src/com/android/settings/applications/AppInfoWithHeader.java b/src/com/android/settings/applications/AppInfoWithHeader.java
index 9e3842e..7bf9f64 100644
--- a/src/com/android/settings/applications/AppInfoWithHeader.java
+++ b/src/com/android/settings/applications/AppInfoWithHeader.java
@@ -20,11 +20,11 @@
 
 import android.app.Activity;
 import android.os.Bundle;
-import android.util.IconDrawableFactory;
 import android.util.Log;
 
 import androidx.preference.Preference;
 
+import com.android.settings.Utils;
 import com.android.settings.widget.EntityHeaderController;
 import com.android.settingslib.applications.AppUtils;
 
@@ -47,8 +47,7 @@
         final Preference pref = EntityHeaderController
                 .newInstance(activity, this, null /* header */)
                 .setRecyclerView(getListView(), getSettingsLifecycle())
-                .setIcon(IconDrawableFactory.newInstance(getContext())
-                        .getBadgedIcon(mPackageInfo.applicationInfo))
+                .setIcon(Utils.getBadgedIcon(getContext(), mPackageInfo.applicationInfo))
                 .setLabel(mPackageInfo.applicationInfo.loadLabel(mPm))
                 .setSummary(mPackageInfo)
                 .setIsInstantApp(AppUtils.isInstant(mPackageInfo.applicationInfo))
diff --git a/src/com/android/settings/applications/AppLaunchSettings.java b/src/com/android/settings/applications/AppLaunchSettings.java
index c61f5d1..17d8e67 100644
--- a/src/com/android/settings/applications/AppLaunchSettings.java
+++ b/src/com/android/settings/applications/AppLaunchSettings.java
@@ -17,14 +17,11 @@
 package com.android.settings.applications;
 
 import static android.content.pm.PackageManager.INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ALWAYS;
-import static android.content.pm.PackageManager.INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ALWAYS_ASK;
 import static android.content.pm.PackageManager.INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_NEVER;
 
 import android.app.settings.SettingsEnums;
 import android.content.Intent;
-import android.content.IntentFilter;
 import android.content.pm.ApplicationInfo;
-import android.content.pm.IntentFilterVerificationInfo;
 import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
 import android.net.Uri;
@@ -36,24 +33,27 @@
 import android.view.View.OnClickListener;
 
 import androidx.appcompat.app.AlertDialog;
-import androidx.preference.DropDownPreference;
 import androidx.preference.Preference;
-import androidx.preference.Preference.OnPreferenceChangeListener;
 
 import com.android.settings.R;
 import com.android.settings.Utils;
+import com.android.settings.core.SubSettingLauncher;
 
 import java.util.List;
 
 public class AppLaunchSettings extends AppInfoWithHeader implements OnClickListener,
         Preference.OnPreferenceChangeListener {
     private static final String TAG = "AppLaunchSettings";
-
     private static final String KEY_APP_LINK_STATE = "app_link_state";
     private static final String KEY_SUPPORTED_DOMAIN_URLS = "app_launch_supported_domain_urls";
     private static final String KEY_CLEAR_DEFAULTS = "app_launch_clear_defaults";
+    private static final String FRAGMENT_OPEN_SUPPORTED_LINKS =
+            "com.android.settings.applications.OpenSupportedLinks";
+
+    public static final String KEY_PACKAGE_INFO = "pkg_info";
 
     private static final Intent sBrowserIntent;
+
     static {
         sBrowserIntent = new Intent()
                 .setAction(Intent.ACTION_VIEW)
@@ -65,7 +65,7 @@
 
     private boolean mIsBrowser;
     private boolean mHasDomainUrls;
-    private DropDownPreference mAppLinkState;
+    private Preference mAppLinkState;
     private AppDomainsPreference mAppDomainUrls;
     private ClearDefaultsPreference mClearDefaultsPreference;
 
@@ -76,7 +76,19 @@
         addPreferencesFromResource(R.xml.installed_app_launch_settings);
         mAppDomainUrls = (AppDomainsPreference) findPreference(KEY_SUPPORTED_DOMAIN_URLS);
         mClearDefaultsPreference = (ClearDefaultsPreference) findPreference(KEY_CLEAR_DEFAULTS);
-        mAppLinkState = (DropDownPreference) findPreference(KEY_APP_LINK_STATE);
+        mAppLinkState = findPreference(KEY_APP_LINK_STATE);
+        mAppLinkState.setOnPreferenceClickListener(preference -> {
+            final Bundle args = new Bundle();
+            args.putParcelable(KEY_PACKAGE_INFO, this.mPackageInfo);
+
+            new SubSettingLauncher(this.getContext())
+                    .setDestination(FRAGMENT_OPEN_SUPPORTED_LINKS)
+                    .setArguments(args)
+                    .setSourceMetricsCategory(SettingsEnums.APPLICATIONS_APP_LAUNCH)
+                    .setTitleRes(-1)
+                    .launch();
+            return true;
+        });
 
         mPm = getActivity().getPackageManager();
 
@@ -85,13 +97,17 @@
                 (mAppEntry.info.privateFlags & ApplicationInfo.PRIVATE_FLAG_HAS_DOMAIN_URLS) != 0;
 
         if (!mIsBrowser) {
-            List<IntentFilterVerificationInfo> iviList = mPm.getIntentFilterVerifications(mPackageName);
-            List<IntentFilter> filters = mPm.getAllIntentFilters(mPackageName);
-            CharSequence[] entries = getEntries(mPackageName, iviList, filters);
+            CharSequence[] entries = getEntries(mPackageName);
             mAppDomainUrls.setTitles(entries);
             mAppDomainUrls.setValues(new int[entries.length]);
+            mAppLinkState.setEnabled(mHasDomainUrls);
+        } else {
+            // Browsers don't show the app-link prefs
+            mAppLinkState.setShouldDisableView(true);
+            mAppLinkState.setEnabled(false);
+            mAppDomainUrls.setShouldDisableView(true);
+            mAppDomainUrls.setEnabled(false);
         }
-        buildStateDropDown();
     }
 
     // An app is a "browser" if it has an activity resolution that wound up
@@ -110,95 +126,35 @@
         return false;
     }
 
-    private void buildStateDropDown() {
-        if (mIsBrowser) {
-            // Browsers don't show the app-link prefs
-            mAppLinkState.setShouldDisableView(true);
-            mAppLinkState.setEnabled(false);
-            mAppDomainUrls.setShouldDisableView(true);
-            mAppDomainUrls.setEnabled(false);
-        } else {
-            // Designed order of states in the dropdown:
-            //
-            // * always
-            // * ask
-            // * never
-            //
-            // Make sure to update linkStateToIndex() if this presentation order is changed.
-            mAppLinkState.setEntries(new CharSequence[] {
-                    getString(R.string.app_link_open_always),
-                    getString(R.string.app_link_open_ask),
-                    getString(R.string.app_link_open_never),
-            });
-            mAppLinkState.setEntryValues(new CharSequence[] {
-                    Integer.toString(INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ALWAYS),
-                    Integer.toString(INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ALWAYS_ASK),
-                    Integer.toString(INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_NEVER),
-            });
-
-            mAppLinkState.setEnabled(mHasDomainUrls);
-            if (mHasDomainUrls) {
-                // Present 'undefined' as 'ask' because the OS treats them identically for
-                // purposes of the UI (and does the right thing around pending domain
-                // verifications that might arrive after the user chooses 'ask' in this UI).
-                final int state = mPm.getIntentVerificationStatusAsUser(mPackageName, UserHandle.myUserId());
-                mAppLinkState.setValueIndex(linkStateToIndex(state));
-
-                // Set the callback only after setting the initial selected item
-                mAppLinkState.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
-                    @Override
-                    public boolean onPreferenceChange(Preference preference, Object newValue) {
-                        return updateAppLinkState(Integer.parseInt((String) newValue));
-                    }
-                });
-            }
-        }
-    }
-
-    private int linkStateToIndex(final int state) {
+    private int linkStateToResourceId(int state) {
         switch (state) {
             case INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ALWAYS:
-                return 0; // Always
+                return R.string.app_link_open_always; // Always
             case INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_NEVER:
-                return 2; // Never
+                return R.string.app_link_open_never; // Never
             default:
-                return 1; // Ask
+                return R.string.app_link_open_ask; // Ask
         }
     }
 
-    private boolean updateAppLinkState(final int newState) {
-        if (mIsBrowser) {
-            // We shouldn't get into this state, but if we do make sure
-            // not to cause any permanent mayhem.
-            return false;
-        }
-
-        final int userId = UserHandle.myUserId();
-        final int priorState = mPm.getIntentVerificationStatusAsUser(mPackageName, userId);
-
-        if (priorState == newState) {
-            return false;
-        }
-
-        boolean success = mPm.updateIntentVerificationStatusAsUser(mPackageName, newState, userId);
-        if (success) {
-            // Read back the state to see if the change worked
-            final int updatedState = mPm.getIntentVerificationStatusAsUser(mPackageName, userId);
-            success = (newState == updatedState);
-        } else {
-            Log.e(TAG, "Couldn't update intent verification status!");
-        }
-        return success;
-    }
-
-    private CharSequence[] getEntries(String packageName, List<IntentFilterVerificationInfo> iviList,
-            List<IntentFilter> filters) {
+    private CharSequence[] getEntries(String packageName) {
         ArraySet<String> result = Utils.getHandledDomains(mPm, packageName);
         return result.toArray(new CharSequence[result.size()]);
     }
 
+    private void setAppLinkStateSummary() {
+        final int state = mPm.getIntentVerificationStatusAsUser(mPackageName,
+                UserHandle.myUserId());
+        Log.d("[sunny]", "setAppLinkStateSummary+ state=" + state);
+        mAppLinkState.setSummary(linkStateToResourceId(state));
+    }
+
     @Override
     protected boolean refreshUi() {
+        if (mHasDomainUrls) {
+            //Update the summary after return from the OpenSupportedLinks
+            setAppLinkStateSummary();
+        }
         mClearDefaultsPreference.setPackageName(mPackageName);
         mClearDefaultsPreference.setAppEntry(mAppEntry);
         return true;
diff --git a/src/com/android/settings/applications/AppOpenSupportedLinksPreferenceController.java b/src/com/android/settings/applications/AppOpenSupportedLinksPreferenceController.java
new file mode 100644
index 0000000..479d5dd
--- /dev/null
+++ b/src/com/android/settings/applications/AppOpenSupportedLinksPreferenceController.java
@@ -0,0 +1,184 @@
+/*
+ * 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.applications;
+
+import static android.content.pm.PackageManager.INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ALWAYS;
+import static android.content.pm.PackageManager.INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ASK;
+import static android.content.pm.PackageManager.INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_NEVER;
+
+import android.content.Context;
+import android.content.pm.PackageManager;
+import android.os.UserHandle;
+import android.text.TextUtils;
+import android.util.Log;
+import android.view.View;
+
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.PreferenceCategory;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settings.Utils;
+import com.android.settings.core.BasePreferenceController;
+import com.android.settingslib.widget.RadioButtonPreference;
+
+/**
+ *  The radio group controller supports users to choose what kind supported links they need.
+ */
+public class AppOpenSupportedLinksPreferenceController extends BasePreferenceController
+        implements RadioButtonPreference.OnClickListener {
+    private static final String TAG = "OpenLinksPrefCtrl";
+    private static final String KEY_LINK_OPEN_ALWAYS = "app_link_open_always";
+    private static final String KEY_LINK_OPEN_ASK = "app_link_open_ask";
+    private static final String KEY_LINK_OPEN_NEVER = "app_link_open_never";
+
+    private Context mContext;
+    private PackageManager mPackageManager;
+    private String mPackageName;
+    private int mCurrentIndex;
+    private PreferenceCategory mPreferenceCategory;
+    private String[] mRadioKeys = {KEY_LINK_OPEN_ALWAYS, KEY_LINK_OPEN_ASK, KEY_LINK_OPEN_NEVER};
+
+    @VisibleForTesting
+    RadioButtonPreference mAllowOpening;
+    @VisibleForTesting
+    RadioButtonPreference mAskEveryTime;
+    @VisibleForTesting
+    RadioButtonPreference mNotAllowed;
+
+    public AppOpenSupportedLinksPreferenceController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+        mContext = context;
+        mPackageManager = context.getPackageManager();
+    }
+
+    /**
+     * @param pkg selected package name.
+     * @return return controller-self.
+     */
+    public AppOpenSupportedLinksPreferenceController setInit(String pkg) {
+        mPackageName = pkg;
+        return this;
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        mPreferenceCategory = screen.findPreference(getPreferenceKey());
+        mAllowOpening = makeRadioPreference(KEY_LINK_OPEN_ALWAYS, R.string.app_link_open_always);
+        final int entriesNo = getEntriesNo();
+        //This to avoid the summary line wrap
+        mAllowOpening.setAppendixVisibility(View.GONE);
+        mAllowOpening.setSummary(
+                mContext.getResources().getQuantityString(R.plurals.app_link_open_always_summary,
+                        entriesNo, entriesNo));
+        mAskEveryTime = makeRadioPreference(KEY_LINK_OPEN_ASK, R.string.app_link_open_ask);
+        mNotAllowed = makeRadioPreference(KEY_LINK_OPEN_NEVER, R.string.app_link_open_never);
+
+        final int state = mPackageManager.getIntentVerificationStatusAsUser(mPackageName,
+                UserHandle.myUserId());
+        mCurrentIndex = linkStateToIndex(state);
+        setRadioStatus(mCurrentIndex);
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return AVAILABLE;
+    }
+
+    @Override
+    public void onRadioButtonClicked(RadioButtonPreference preference) {
+        final int clickedIndex = preferenceKeyToIndex(preference.getKey());
+        if (mCurrentIndex != clickedIndex) {
+            mCurrentIndex = clickedIndex;
+            setRadioStatus(mCurrentIndex);
+            updateAppLinkState(indexToLinkState(mCurrentIndex));
+        }
+    }
+
+    private RadioButtonPreference makeRadioPreference(String key, int resourceId) {
+        RadioButtonPreference pref = new RadioButtonPreference(mPreferenceCategory.getContext());
+        pref.setKey(key);
+        pref.setTitle(resourceId);
+        pref.setOnClickListener(this);
+        mPreferenceCategory.addPreference(pref);
+        return pref;
+    }
+
+    private int linkStateToIndex(int state) {
+        switch (state) {
+            case INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ALWAYS:
+                return 0; // Always
+            case INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_NEVER:
+                return 2; // Never
+            default:
+                return 1; // Ask
+        }
+    }
+
+    private int indexToLinkState(int index) {
+        switch (index) {
+            case 0:
+                return INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ALWAYS;
+            case 2:
+                return INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_NEVER;
+            default:
+                return INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ASK;
+        }
+    }
+
+    private int preferenceKeyToIndex(String key) {
+        for (int i = 0; i < mRadioKeys.length; i++) {
+            if (TextUtils.equals(key, mRadioKeys[i])) {
+                return i;
+            }
+        }
+        return 1; // Ask
+    }
+
+    private void setRadioStatus(int index) {
+        mAllowOpening.setChecked(index == 0 ? true : false);
+        mAskEveryTime.setChecked(index == 1 ? true : false);
+        mNotAllowed.setChecked(index == 2 ? true : false);
+    }
+
+    private boolean updateAppLinkState(final int newState) {
+        final int userId = UserHandle.myUserId();
+        final int priorState = mPackageManager.getIntentVerificationStatusAsUser(mPackageName,
+                userId);
+
+        if (priorState == newState) {
+            return false;
+        }
+
+        boolean success = mPackageManager.updateIntentVerificationStatusAsUser(mPackageName,
+                newState, userId);
+        if (success) {
+            // Read back the state to see if the change worked
+            final int updatedState = mPackageManager.getIntentVerificationStatusAsUser(mPackageName,
+                    userId);
+            success = (newState == updatedState);
+        } else {
+            Log.e(TAG, "Couldn't update intent verification status!");
+        }
+        return success;
+    }
+
+    @VisibleForTesting
+    int getEntriesNo() {
+        return Utils.getHandledDomains(mPackageManager, mPackageName).size();
+    }
+}
diff --git a/src/com/android/settings/applications/AppPermissionsPreferenceController.java b/src/com/android/settings/applications/AppPermissionsPreferenceController.java
index 59341d5..4458ea4 100644
--- a/src/com/android/settings/applications/AppPermissionsPreferenceController.java
+++ b/src/com/android/settings/applications/AppPermissionsPreferenceController.java
@@ -33,7 +33,7 @@
 public class AppPermissionsPreferenceController extends BasePreferenceController {
 
     private static final String TAG = "AppPermissionPrefCtrl";
-    private static int NUM_PACKAGE_TO_CHECK = 3;
+    private static final int NUM_PACKAGE_TO_CHECK = 4;
 
     @VisibleForTesting
     static int NUM_PERMISSIONS_TO_SHOW = 3;
@@ -78,7 +78,7 @@
     void queryPermissionSummary() {
         final List<PackageInfo> installedPackages =
                 mPackageManager.getInstalledPackages(PackageManager.GET_PERMISSIONS);
-        // Here we only get the first three apps and check their permissions.
+        // Here we only get the first four apps and check their permissions.
         final List<PackageInfo> packagesWithPermission = installedPackages.stream()
                 .filter(pInfo -> pInfo.permissions != null)
                 .limit(NUM_PACKAGE_TO_CHECK)
@@ -102,10 +102,21 @@
         final List<CharSequence> permissionsToShow = mPermissionGroups.stream()
                 .limit(NUM_PERMISSIONS_TO_SHOW)
                 .collect(Collectors.toList());
-        final CharSequence summary = !permissionsToShow.isEmpty()
-                ? mContext.getString(R.string.app_permissions_summary,
-                ListFormatter.getInstance().format(permissionsToShow).toLowerCase())
-                : null;
+        final boolean isMoreShowed = mPermissionGroups.size() > NUM_PERMISSIONS_TO_SHOW;
+        CharSequence summary;
+
+        if (!permissionsToShow.isEmpty()) {
+            if (isMoreShowed) {
+                summary = mContext.getString(R.string.app_permissions_summary_more,
+                        ListFormatter.getInstance().format(permissionsToShow).toLowerCase());
+            } else {
+                summary = mContext.getString(R.string.app_permissions_summary,
+                        ListFormatter.getInstance().format(permissionsToShow).toLowerCase());
+            }
+        } else {
+            summary = mContext.getString(
+                    R.string.runtime_permissions_summary_no_permissions_granted);
+        }
         mPreference.setSummary(summary);
     }
 }
\ No newline at end of file
diff --git a/src/com/android/settings/applications/AppStateAppOpsBridge.java b/src/com/android/settings/applications/AppStateAppOpsBridge.java
index 0e3ee2d..b4f6e48 100755
--- a/src/com/android/settings/applications/AppStateAppOpsBridge.java
+++ b/src/com/android/settings/applications/AppStateAppOpsBridge.java
@@ -62,16 +62,28 @@
                 AppGlobals.getPackageManager());
     }
 
+    AppStateAppOpsBridge(Context context, ApplicationsState appState, Callback callback,
+            int[] appOpsOpCodes, String[] permissions) {
+        this(context, appState, callback, appOpsOpCodes, permissions,
+                AppGlobals.getPackageManager());
+    }
+
     @VisibleForTesting
     AppStateAppOpsBridge(Context context, ApplicationsState appState, Callback callback,
             int appOpsOpCode, String[] permissions, IPackageManager packageManager) {
+        this(context, appState, callback, new int[]{appOpsOpCode}, permissions,
+                packageManager);
+    }
+
+    AppStateAppOpsBridge(Context context, ApplicationsState appState, Callback callback,
+            int[] appOpsOpCodes, String[] permissions, IPackageManager packageManager) {
         super(appState, callback);
         mContext = context;
         mIPackageManager = packageManager;
         mUserManager = UserManager.get(context);
         mProfiles = mUserManager.getUserProfiles();
         mAppOpsManager = (AppOpsManager) context.getSystemService(Context.APP_OPS_SERVICE);
-        mAppOpsOpCodes = new int[] {appOpsOpCode};
+        mAppOpsOpCodes = appOpsOpCodes;
         mPermissions = permissions;
     }
 
@@ -145,8 +157,12 @@
         for (int i = 0; i < N; i++) {
             AppEntry app = apps.get(i);
             int userId = UserHandle.getUserId(app.info.uid);
-            ArrayMap<String, PermissionState> userMap = entries.get(userId);
-            app.extraInfo = userMap != null ? userMap.get(app.info.packageName) : null;
+            if (entries != null) {
+                ArrayMap<String, PermissionState> userMap = entries.get(userId);
+                app.extraInfo = userMap != null ? userMap.get(app.info.packageName) : null;
+            } else {
+                app.extraInfo = null;
+            }
         }
     }
 
@@ -237,6 +253,10 @@
      * a particular package.
      */
     private void loadAppOpsStates(SparseArray<ArrayMap<String, PermissionState>> entries) {
+        if (entries == null) {
+            return;
+        }
+
         // Find out which packages have been granted permission from AppOps.
         final List<AppOpsManager.PackageOps> packageOps = mAppOpsManager.getPackagesForOps(
                 mAppOpsOpCodes);
@@ -328,7 +348,7 @@
         public boolean isPermissible() {
             // defining the default behavior as permissible as long as the package requested this
             // permission (this means pre-M gets approval during install time; M apps gets approval
-            // during runtime.
+            // during runtime).
             if (appOpMode == AppOpsManager.MODE_DEFAULT) {
                 return staticPermissionGranted;
             }
diff --git a/src/com/android/settings/applications/AppStateManageExternalStorageBridge.java b/src/com/android/settings/applications/AppStateManageExternalStorageBridge.java
new file mode 100644
index 0000000..1132137
--- /dev/null
+++ b/src/com/android/settings/applications/AppStateManageExternalStorageBridge.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.applications;
+
+import android.Manifest;
+import android.app.AppOpsManager;
+import android.content.Context;
+
+import com.android.settingslib.applications.ApplicationsState;
+
+import java.util.List;
+
+/**
+ * Retrieves information from {@link AppOpsManager} and {@link android.content.pm.PackageManager}
+ * regarding {@link AppOpsManager#OP_MANAGE_EXTERNAL_STORAGE} and
+ * {@link Manifest.permission#MANAGE_EXTERNAL_STORAGE}.
+ */
+public class AppStateManageExternalStorageBridge extends AppStateAppOpsBridge {
+    private static final String APP_OP_STR = AppOpsManager.OPSTR_MANAGE_EXTERNAL_STORAGE;
+    private static final String[] PERMISSIONS = {
+            Manifest.permission.MANAGE_EXTERNAL_STORAGE
+    };
+
+    private final AppOpsManager mAppOpsManager;
+
+    public AppStateManageExternalStorageBridge(Context context, ApplicationsState appState,
+            Callback callback) {
+        super(context, appState, callback, AppOpsManager.strOpToOp(APP_OP_STR), PERMISSIONS);
+        mAppOpsManager = (AppOpsManager) context.getSystemService(Context.APP_OPS_SERVICE);
+    }
+
+    @Override
+    protected void updateExtraInfo(ApplicationsState.AppEntry app, String pkg, int uid) {
+        app.extraInfo = getManageExternalStoragePermState(pkg, uid);
+    }
+
+    @Override
+    protected void loadAllExtraInfo() {
+        super.loadAllExtraInfo();
+        List<ApplicationsState.AppEntry> apps = mAppSession.getAllApps();
+        for (ApplicationsState.AppEntry app : apps) {
+            if (app.extraInfo instanceof PermissionState) {
+                ((PermissionState) app.extraInfo).appOpMode =  mAppOpsManager.unsafeCheckOpNoThrow(
+                        APP_OP_STR, app.info.uid, app.info.packageName);
+            }
+        }
+    }
+
+    @Override
+    public PermissionState getPermissionInfo(String pkg, int uid) {
+        PermissionState ps = super.getPermissionInfo(pkg, uid);
+        ps.appOpMode = mAppOpsManager.unsafeCheckOpNoThrow(APP_OP_STR, uid, pkg);
+        return ps;
+    }
+
+    /**
+     * Returns the MANAGE_EXTERNAL_STORAGE {@link AppStateAppOpsBridge.PermissionState} object
+     * associated with the given package and UID.
+     */
+    public PermissionState getManageExternalStoragePermState(String pkg, int uid) {
+        return getPermissionInfo(pkg, uid);
+    }
+
+    /**
+     * Used by {@link com.android.settings.applications.manageapplications.AppFilterRegistry} to
+     * determine which apps get to appear on the Special App Access list.
+     */
+    public static final ApplicationsState.AppFilter FILTER_MANAGE_EXTERNAL_STORAGE =
+            new ApplicationsState.AppFilter() {
+        @Override
+        public void init() {
+        }
+
+        @Override
+        public boolean filterApp(ApplicationsState.AppEntry info) {
+            // If extraInfo != null, it means that the app has declared
+            // Manifest.permission.MANAGE_EXTERNAL_STORAGE and therefore it should appear on our
+            // list
+            return info.extraInfo != null;
+        }
+    };
+}
diff --git a/src/com/android/settings/applications/AppStateSmsPremBridge.java b/src/com/android/settings/applications/AppStateSmsPremBridge.java
index 5a79a62..1db0428 100644
--- a/src/com/android/settings/applications/AppStateSmsPremBridge.java
+++ b/src/com/android/settings/applications/AppStateSmsPremBridge.java
@@ -14,11 +14,8 @@
 package com.android.settings.applications;
 
 import android.content.Context;
-import android.os.RemoteException;
-import android.os.ServiceManager;
+import android.telephony.SmsManager;
 
-import com.android.internal.telephony.ISms;
-import com.android.internal.telephony.SmsUsageMonitor;
 import com.android.settingslib.applications.ApplicationsState;
 import com.android.settingslib.applications.ApplicationsState.AppEntry;
 import com.android.settingslib.applications.ApplicationsState.AppFilter;
@@ -31,12 +28,12 @@
 public class AppStateSmsPremBridge extends AppStateBaseBridge {
 
     private final Context mContext;
-    private final ISms mSmsManager;
+    private final SmsManager mSmsManager;
 
     public AppStateSmsPremBridge(Context context, ApplicationsState appState, Callback callback) {
         super(appState, callback);
         mContext = context;
-        mSmsManager = ISms.Stub.asInterface(ServiceManager.getService("isms"));
+        mSmsManager = SmsManager.getDefault();
     }
 
     @Override
@@ -61,25 +58,18 @@
     }
 
     private int getSmsState(String pkg) {
-        try {
-            return mSmsManager.getPremiumSmsPermission(pkg);
-        } catch (RemoteException e) {
-            return SmsUsageMonitor.PREMIUM_SMS_PERMISSION_UNKNOWN;
-        }
+        return mSmsManager.getPremiumSmsConsent(pkg);
     }
 
     public void setSmsState(String pkg, int state) {
-        try {
-            mSmsManager.setPremiumSmsPermission(pkg, state);
-        } catch (RemoteException e) {
-        }
+        mSmsManager.setPremiumSmsConsent(pkg, state);
     }
 
     public static class SmsState {
         public int smsState;
 
         public boolean isGranted() {
-            return smsState == SmsUsageMonitor.PREMIUM_SMS_PERMISSION_ALWAYS_ALLOW;
+            return smsState == SmsManager.PREMIUM_SMS_CONSENT_ALWAYS_ALLOW;
         }
     }
 
@@ -91,7 +81,7 @@
         @Override
         public boolean filterApp(AppEntry info) {
             return info.extraInfo instanceof SmsState && ((SmsState) info.extraInfo).smsState
-                    != SmsUsageMonitor.PREMIUM_SMS_PERMISSION_UNKNOWN;
+                    != SmsManager.PREMIUM_SMS_CONSENT_UNKNOWN;
         }
     };
 }
diff --git a/src/com/android/settings/applications/AppStateUsageBridge.java b/src/com/android/settings/applications/AppStateUsageBridge.java
index f84ef3e..c1c861f 100644
--- a/src/com/android/settings/applications/AppStateUsageBridge.java
+++ b/src/com/android/settings/applications/AppStateUsageBridge.java
@@ -33,13 +33,20 @@
     private static final String TAG = "AppStateUsageBridge";
 
     private static final String PM_USAGE_STATS = Manifest.permission.PACKAGE_USAGE_STATS;
-    private static final int APP_OPS_OP_CODE = AppOpsManager.OP_GET_USAGE_STATS;
-    private static final String[] PM_PERMISSION = {
-            PM_USAGE_STATS
+    private static final String PM_LOADER_STATS = Manifest.permission.LOADER_USAGE_STATS;
+    private static final int APP_OPS_USAGE_STATS = AppOpsManager.OP_GET_USAGE_STATS;
+    private static final int APP_OPS_LOADER_STATS = AppOpsManager.OP_LOADER_USAGE_STATS;
+    private static final int[] APP_OPS_OP_CODES = {
+            APP_OPS_USAGE_STATS,
+            APP_OPS_LOADER_STATS,
+    };
+    private static final String[] PM_PERMISSIONS = {
+            PM_USAGE_STATS,
+            PM_LOADER_STATS,
     };
 
     public AppStateUsageBridge(Context context, ApplicationsState appState, Callback callback) {
-        super(context, appState, callback, APP_OPS_OP_CODE, PM_PERMISSION);
+        super(context, appState, callback, APP_OPS_OP_CODES, PM_PERMISSIONS);
     }
 
     @Override
diff --git a/src/com/android/settings/applications/ApplicationFeatureProviderImpl.java b/src/com/android/settings/applications/ApplicationFeatureProviderImpl.java
index 1fd7997..ac8146a 100644
--- a/src/com/android/settings/applications/ApplicationFeatureProviderImpl.java
+++ b/src/com/android/settings/applications/ApplicationFeatureProviderImpl.java
@@ -16,21 +16,28 @@
 
 package com.android.settings.applications;
 
+import android.Manifest;
 import android.app.admin.DevicePolicyManager;
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
+import android.content.pm.ActivityInfo;
 import android.content.pm.ComponentInfo;
 import android.content.pm.IPackageManager;
 import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
+import android.content.pm.ServiceInfo;
 import android.content.pm.UserInfo;
 import android.location.LocationManager;
 import android.os.RemoteException;
 import android.os.UserManager;
+import android.service.euicc.EuiccService;
 import android.telecom.DefaultDialerManager;
 import android.text.TextUtils;
 import android.util.ArraySet;
+import android.util.Log;
+
+import androidx.annotation.VisibleForTesting;
 
 import com.android.internal.telephony.SmsApplication;
 import com.android.settings.R;
@@ -40,12 +47,17 @@
 import java.util.Set;
 
 public class ApplicationFeatureProviderImpl implements ApplicationFeatureProvider {
+    private static final String TAG = "AppFeatureProviderImpl";
 
     protected final Context mContext;
     private final PackageManager mPm;
     private final IPackageManager mPms;
     private final DevicePolicyManager mDpm;
     private final UserManager mUm;
+    /** Flags to use when querying PackageManager for Euicc component implementations. */
+    private static final int EUICC_QUERY_FLAGS =
+            PackageManager.MATCH_SYSTEM_ONLY | PackageManager.MATCH_DEBUG_TRIAGED_MISSING
+                | PackageManager.GET_RESOLVED_FILTER;
 
     public ApplicationFeatureProviderImpl(Context context, PackageManager pm,
             IPackageManager pms, DevicePolicyManager dpm) {
@@ -141,6 +153,12 @@
             keepEnabledPackages.add(defaultSms.getPackageName());
         }
 
+        // Keep Euicc Service enabled.
+        final ComponentInfo euicc = findEuiccService(mPm);
+        if (euicc != null) {
+            keepEnabledPackages.add(euicc.packageName);
+        }
+
         keepEnabledPackages.addAll(getEnabledPackageWhitelist());
 
         final LocationManager locationManager =
@@ -232,4 +250,89 @@
             mCallback.onListOfAppsResult(list);
         }
     }
+
+    /**
+     * Return the component info of the EuiccService to bind to, or null if none were found.
+     */
+    @VisibleForTesting
+    ComponentInfo findEuiccService(PackageManager packageManager) {
+        final Intent intent = new Intent(EuiccService.EUICC_SERVICE_INTERFACE);
+        final List<ResolveInfo> resolveInfoList =
+                packageManager.queryIntentServices(intent, EUICC_QUERY_FLAGS);
+        final ComponentInfo bestComponent = findEuiccService(packageManager, resolveInfoList);
+        if (bestComponent == null) {
+            Log.w(TAG, "No valid EuiccService implementation found");
+        }
+        return bestComponent;
+    }
+
+    private ComponentInfo findEuiccService(
+            PackageManager packageManager, List<ResolveInfo> resolveInfoList) {
+        int bestPriority = Integer.MIN_VALUE;
+        ComponentInfo bestComponent = null;
+        if (resolveInfoList != null) {
+            for (ResolveInfo resolveInfo : resolveInfoList) {
+                if (!isValidEuiccComponent(packageManager, resolveInfo)) {
+                    continue;
+                }
+
+                if (resolveInfo.filter.getPriority() > bestPriority) {
+                    bestPriority = resolveInfo.filter.getPriority();
+                    bestComponent = getComponentInfo(resolveInfo);
+                }
+            }
+        }
+
+        return bestComponent;
+    }
+
+    private boolean isValidEuiccComponent(
+            PackageManager packageManager, ResolveInfo resolveInfo) {
+        final ComponentInfo componentInfo = getComponentInfo(resolveInfo);
+        final String packageName = componentInfo.packageName;
+
+        // Verify that the app is privileged (via granting of a privileged permission).
+        if (packageManager.checkPermission(
+                Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS, packageName)
+                != PackageManager.PERMISSION_GRANTED) {
+            Log.e(TAG, "Package " + packageName
+                    + " does not declare WRITE_EMBEDDED_SUBSCRIPTIONS");
+            return false;
+        }
+
+        // Verify that only the system can access the component.
+        final String permission;
+        if (componentInfo instanceof ServiceInfo) {
+            permission = ((ServiceInfo) componentInfo).permission;
+        } else if (componentInfo instanceof ActivityInfo) {
+            permission = ((ActivityInfo) componentInfo).permission;
+        } else {
+            throw new IllegalArgumentException("Can only verify services/activities");
+        }
+        if (!TextUtils.equals(permission, Manifest.permission.BIND_EUICC_SERVICE)) {
+            Log.e(TAG, "Package " + packageName
+                    + " does not require the BIND_EUICC_SERVICE permission");
+            return false;
+        }
+
+        // Verify that the component declares a priority.
+        if (resolveInfo.filter == null || resolveInfo.filter.getPriority() == 0) {
+            Log.e(TAG, "Package " + packageName + " does not specify a priority");
+            return false;
+        }
+        return true;
+    }
+
+    private ComponentInfo getComponentInfo(ResolveInfo resolveInfo) {
+        if (resolveInfo.activityInfo != null) {
+            return resolveInfo.activityInfo;
+        }
+        if (resolveInfo.serviceInfo != null) {
+            return resolveInfo.serviceInfo;
+        }
+        if (resolveInfo.providerInfo != null) {
+            return resolveInfo.providerInfo;
+        }
+        throw new IllegalStateException("Missing ComponentInfo!");
+    }
 }
diff --git a/src/com/android/settings/applications/ClearDefaultsPreference.java b/src/com/android/settings/applications/ClearDefaultsPreference.java
index 768fb4e..f946636 100644
--- a/src/com/android/settings/applications/ClearDefaultsPreference.java
+++ b/src/com/android/settings/applications/ClearDefaultsPreference.java
@@ -24,6 +24,7 @@
 import android.os.RemoteException;
 import android.os.ServiceManager;
 import android.os.UserHandle;
+import android.os.UserManager;
 import android.text.SpannableString;
 import android.text.TextUtils;
 import android.text.style.BulletSpan;
@@ -38,12 +39,15 @@
 import androidx.preference.PreferenceViewHolder;
 
 import com.android.settings.R;
+import com.android.settingslib.RestrictedLockUtils;
+import com.android.settingslib.RestrictedLockUtilsInternal;
 import com.android.settingslib.applications.AppUtils;
 import com.android.settingslib.applications.ApplicationsState;
 
 public class ClearDefaultsPreference extends Preference {
 
     protected static final String TAG = ClearDefaultsPreference.class.getSimpleName();
+    protected ApplicationsState.AppEntry mAppEntry;
 
     private Button mActivitiesButton;
 
@@ -51,7 +55,9 @@
     private IUsbManager mUsbManager;
     private PackageManager mPm;
     private String mPackageName;
-    protected ApplicationsState.AppEntry mAppEntry;
+
+    private final boolean mAppsControlDisallowedBySystem;
+    private final RestrictedLockUtils.EnforcedAdmin mAppsControlDisallowedAdmin;
 
     public ClearDefaultsPreference(Context context, AttributeSet attrs, int defStyleAttr,
             int defStyleRes) {
@@ -63,6 +69,13 @@
         mPm = context.getPackageManager();
         IBinder b = ServiceManager.getService(Context.USB_SERVICE);
         mUsbManager = IUsbManager.Stub.asInterface(b);
+
+        mAppsControlDisallowedBySystem = RestrictedLockUtilsInternal.hasBaseUserRestriction(
+                getContext(), UserManager.DISALLOW_APPS_CONTROL, UserHandle.myUserId());
+        mAppsControlDisallowedAdmin = RestrictedLockUtilsInternal.checkIfRestrictionEnforced(
+                getContext(), UserManager.DISALLOW_APPS_CONTROL, UserHandle.myUserId());
+
+
     }
 
     public ClearDefaultsPreference(Context context, AttributeSet attrs, int defStyleAttr) {
@@ -95,6 +108,12 @@
         mActivitiesButton.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
+                if (mAppsControlDisallowedAdmin != null && !mAppsControlDisallowedBySystem) {
+                    RestrictedLockUtils.sendShowAdminSupportDetailsIntent(
+                            getContext(), mAppsControlDisallowedAdmin);
+                    return;
+                }
+
                 if (mUsbManager != null) {
                     final int userId = UserHandle.myUserId();
                     mPm.clearPackagePreferredActivities(mPackageName);
diff --git a/src/com/android/settings/applications/OpenSupportedLinks.java b/src/com/android/settings/applications/OpenSupportedLinks.java
new file mode 100644
index 0000000..0e1531f
--- /dev/null
+++ b/src/com/android/settings/applications/OpenSupportedLinks.java
@@ -0,0 +1,97 @@
+/*
+ * 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.applications;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.content.pm.PackageInfo;
+import android.os.Bundle;
+import android.util.ArraySet;
+import android.util.Log;
+
+import androidx.annotation.VisibleForTesting;
+
+import com.android.settings.R;
+import com.android.settings.Utils;
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settingslib.widget.FooterPreference;
+
+/**
+ * Display the Open Supported Links page. Allow users choose what kind supported links they need.
+ */
+public class OpenSupportedLinks extends DashboardFragment {
+    private static final String TAG = "OpenSupportedLinks";
+    private static final String FOOTER_KEY = "supported_links_footer";
+
+    @VisibleForTesting
+    PackageInfo mPackageInfo;
+
+    @Override
+    public void onAttach(Context context) {
+        super.onAttach(context);
+        final Bundle args = getArguments();
+        mPackageInfo = (args != null) ? args.getParcelable(AppLaunchSettings.KEY_PACKAGE_INFO)
+                : null;
+        if (mPackageInfo == null) {
+            Log.w(TAG, "Missing PackageInfo; maybe reinstalling?");
+            return;
+        }
+        use(AppHeaderPreferenceController.class).setParentFragment(this).setPackageInfo(
+                mPackageInfo).setLifeCycle(getSettingsLifecycle());
+        use(AppOpenSupportedLinksPreferenceController.class).setInit(mPackageInfo.packageName);
+    }
+
+    @Override
+    public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
+        super.onCreatePreferences(savedInstanceState, rootKey);
+        final FooterPreference footer = findPreference(FOOTER_KEY);
+        if (footer == null) {
+            Log.w(TAG, "Can't find the footer preference.");
+            return;
+        }
+        addLinksToFooter(footer);
+    }
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.open_supported_links;
+    }
+
+    @Override
+    protected String getLogTag() {
+        return TAG;
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.OPEN_SUPPORTED_LINKS;
+    }
+
+    @VisibleForTesting
+    void addLinksToFooter(FooterPreference footer) {
+        final ArraySet<String> result = Utils.getHandledDomains(getPackageManager(),
+                mPackageInfo.packageName);
+        if (result.isEmpty()) {
+            Log.w(TAG, "Can't find any app links.");
+            return;
+        }
+        CharSequence title = footer.getTitle() + System.lineSeparator();
+        for (String link : result) {
+            title = title + System.lineSeparator() + link;
+        }
+        footer.setTitle(title);
+    }
+}
diff --git a/src/com/android/settings/applications/ProcessStatsSummary.java b/src/com/android/settings/applications/ProcessStatsSummary.java
index e576065..a9f4ade 100644
--- a/src/com/android/settings/applications/ProcessStatsSummary.java
+++ b/src/com/android/settings/applications/ProcessStatsSummary.java
@@ -15,7 +15,6 @@
  */
 package com.android.settings.applications;
 
-import android.app.Activity;
 import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.os.Bundle;
@@ -30,7 +29,6 @@
 import com.android.settings.Utils;
 import com.android.settings.applications.ProcStatsData.MemInfo;
 import com.android.settings.core.SubSettingLauncher;
-import com.android.settings.dashboard.SummaryLoader;
 
 public class ProcessStatsSummary extends ProcessStatsBase implements OnPreferenceClickListener {
 
@@ -127,40 +125,4 @@
         }
         return false;
     }
-
-    private static class SummaryProvider implements SummaryLoader.SummaryProvider {
-
-        private final Context mContext;
-        private final SummaryLoader mSummaryLoader;
-
-        public SummaryProvider(Context context, SummaryLoader summaryLoader) {
-            mContext = context;
-            mSummaryLoader = summaryLoader;
-        }
-
-        @Override
-        public void setListening(boolean listening) {
-            if (listening) {
-                ProcStatsData statsManager = new ProcStatsData(mContext, false);
-                statsManager.setDuration(sDurations[0]);
-                MemInfo memInfo = statsManager.getMemInfo();
-                String usedResult = Formatter.formatShortFileSize(mContext,
-                        (long) memInfo.realUsedRam);
-                String totalResult = Formatter.formatShortFileSize(mContext,
-                        (long) memInfo.realTotalRam);
-                mSummaryLoader.setSummary(this, mContext.getString(R.string.memory_summary,
-                        usedResult, totalResult));
-            }
-        }
-    }
-
-    public static final SummaryLoader.SummaryProviderFactory SUMMARY_PROVIDER_FACTORY
-            = new SummaryLoader.SummaryProviderFactory() {
-        @Override
-        public SummaryLoader.SummaryProvider createSummaryProvider(Activity activity,
-                                                                   SummaryLoader summaryLoader) {
-            return new SummaryProvider(activity, summaryLoader);
-        }
-    };
-
 }
diff --git a/src/com/android/settings/applications/RecentAppsPreferenceController.java b/src/com/android/settings/applications/RecentAppsPreferenceController.java
index 4f5ec01..28a88a2 100644
--- a/src/com/android/settings/applications/RecentAppsPreferenceController.java
+++ b/src/com/android/settings/applications/RecentAppsPreferenceController.java
@@ -22,8 +22,6 @@
 import android.content.Context;
 import android.icu.text.RelativeDateTimeFormatter;
 import android.os.UserHandle;
-import android.util.IconDrawableFactory;
-import android.util.Log;
 import android.view.View;
 
 import androidx.annotation.NonNull;
@@ -37,7 +35,10 @@
 import com.android.settings.applications.manageapplications.ManageApplications;
 import com.android.settings.core.BasePreferenceController;
 import com.android.settings.core.SubSettingLauncher;
+import com.android.settings.overlay.FeatureFactory;
+import com.android.settingslib.Utils;
 import com.android.settingslib.applications.ApplicationsState;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 import com.android.settingslib.utils.StringUtil;
 import com.android.settingslib.widget.AppEntitiesHeaderController;
 import com.android.settingslib.widget.AppEntityInfo;
@@ -64,7 +65,7 @@
 
     private final ApplicationsState mApplicationsState;
     private final int mUserId;
-    private final IconDrawableFactory mIconDrawableFactory;
+    private final MetricsFeatureProvider mMetricsFeatureProvider;
 
     private Fragment mHost;
     private List<UsageStats> mRecentApps;
@@ -74,7 +75,7 @@
         mApplicationsState = ApplicationsState.getInstance(
                 (Application) mContext.getApplicationContext());
         mUserId = UserHandle.myUserId();
-        mIconDrawableFactory = IconDrawableFactory.newInstance(mContext);
+        mMetricsFeatureProvider = FeatureFactory.getFactory(mContext).getMetricsFeatureProvider();
     }
 
     public void setFragment(Fragment fragment) {
@@ -96,6 +97,8 @@
         mAppEntitiesController = AppEntitiesHeaderController.newInstance(mContext, view)
                 .setHeaderTitleRes(R.string.recent_app_category_title)
                 .setHeaderDetailsClickListener((View v) -> {
+                    mMetricsFeatureProvider.logClickedPreference(mRecentAppsPreference,
+                            SettingsEnums.SETTINGS_APP_NOTIF_CATEGORY);
                     new SubSettingLauncher(mContext)
                             .setDestination(ManageApplications.class.getName())
                             .setArguments(null /* arguments */)
@@ -156,16 +159,19 @@
         }
 
         return new AppEntityInfo.Builder()
-                .setIcon(mIconDrawableFactory.getBadgedIcon(appEntry.info))
+                .setIcon(Utils.getBadgedIcon(mContext, appEntry.info))
                 .setTitle(appEntry.label)
                 .setSummary(StringUtil.formatRelativeTime(mContext,
                         System.currentTimeMillis() - stat.getLastTimeUsed(), false,
                         RelativeDateTimeFormatter.Style.SHORT))
-                .setOnClickListener(v ->
-                        AppInfoBase.startAppInfoFragment(AppInfoDashboardFragment.class,
-                                R.string.application_info_label, pkgName, appEntry.info.uid,
-                                mHost, 1001 /*RequestCode*/,
-                                SettingsEnums.SETTINGS_APP_NOTIF_CATEGORY))
+                .setOnClickListener(v -> {
+                    mMetricsFeatureProvider.logClickedPreference(mRecentAppsPreference,
+                            SettingsEnums.SETTINGS_APP_NOTIF_CATEGORY);
+                    AppInfoBase.startAppInfoFragment(AppInfoDashboardFragment.class,
+                            R.string.application_info_label, pkgName, appEntry.info.uid,
+                            mHost, 1001 /*RequestCode*/,
+                            SettingsEnums.SETTINGS_APP_NOTIF_CATEGORY);
+                })
                 .build();
     }
 }
diff --git a/src/com/android/settings/applications/RunningProcessesView.java b/src/com/android/settings/applications/RunningProcessesView.java
index 5491ad1..5198a4a 100644
--- a/src/com/android/settings/applications/RunningProcessesView.java
+++ b/src/com/android/settings/applications/RunningProcessesView.java
@@ -164,11 +164,11 @@
 
         public ViewHolder(View v) {
             rootView = v;
-            icon = (ImageView)v.findViewById(R.id.icon);
-            name = (TextView)v.findViewById(R.id.name);
-            description = (TextView)v.findViewById(R.id.description);
-            size = (TextView)v.findViewById(R.id.size);
-            uptime = (TextView)v.findViewById(R.id.uptime);
+            icon = v.findViewById(android.R.id.icon);
+            name = v.findViewById(android.R.id.title);
+            description = v.findViewById(android.R.id.summary);
+            size = v.findViewById(R.id.widget_summary1);
+            uptime = v.findViewById(R.id.widget_summary2);
             v.setTag(this);
         }
 
diff --git a/src/com/android/settings/applications/RunningServiceDetails.java b/src/com/android/settings/applications/RunningServiceDetails.java
index 6165fb4..e95b41a 100644
--- a/src/com/android/settings/applications/RunningServiceDetails.java
+++ b/src/com/android/settings/applications/RunningServiceDetails.java
@@ -226,7 +226,7 @@
 
     void addServicesHeader() {
         if (mNumServices == 0) {
-            mServicesHeader = (TextView)mInflater.inflate(R.layout.separator_label,
+            mServicesHeader = (TextView) mInflater.inflate(R.layout.preference_category,
                     mAllDetails, false);
             mServicesHeader.setText(R.string.runningservicedetails_services_title);
             mAllDetails.addView(mServicesHeader);
@@ -236,7 +236,7 @@
 
     void addProcessesHeader() {
         if (mNumProcesses == 0) {
-            mProcessesHeader = (TextView)mInflater.inflate(R.layout.separator_label,
+            mProcessesHeader = (TextView) mInflater.inflate(R.layout.preference_category,
                     mAllDetails, false);
             mProcessesHeader.setText(R.string.runningservicedetails_processes_title);
             mAllDetails.addView(mProcessesHeader);
diff --git a/src/com/android/settings/applications/SpecialAppAccessPreferenceController.java b/src/com/android/settings/applications/SpecialAppAccessPreferenceController.java
index 1763d84..8c937bc 100644
--- a/src/com/android/settings/applications/SpecialAppAccessPreferenceController.java
+++ b/src/com/android/settings/applications/SpecialAppAccessPreferenceController.java
@@ -63,7 +63,7 @@
 
     @Override
     public int getAvailabilityStatus() {
-        return AVAILABLE_UNSEARCHABLE;
+        return AVAILABLE;
     }
 
     @Override
diff --git a/src/com/android/settings/applications/UsageAccessDetails.java b/src/com/android/settings/applications/UsageAccessDetails.java
index 58dff7c..cddacb3 100644
--- a/src/com/android/settings/applications/UsageAccessDetails.java
+++ b/src/com/android/settings/applications/UsageAccessDetails.java
@@ -15,6 +15,10 @@
  */
 package com.android.settings.applications;
 
+import static android.app.AppOpsManager.OP_GET_USAGE_STATS;
+import static android.app.AppOpsManager.OP_LOADER_USAGE_STATS;
+
+import android.Manifest;
 import android.app.AppOpsManager;
 import android.app.admin.DevicePolicyManager;
 import android.app.settings.SettingsEnums;
@@ -104,10 +108,28 @@
         return false;
     }
 
+    private static boolean doesAnyPermissionMatch(String permissionToMatch, String[] permissions) {
+        for (String permission : permissions) {
+            if (permissionToMatch.equals(permission)) {
+                return true;
+            }
+        }
+        return false;
+    }
+
     private void setHasAccess(boolean newState) {
         logSpecialPermissionChange(newState, mPackageName);
-        mAppOpsManager.setMode(AppOpsManager.OP_GET_USAGE_STATS, mPackageInfo.applicationInfo.uid,
-                mPackageName, newState ? AppOpsManager.MODE_ALLOWED : AppOpsManager.MODE_IGNORED);
+
+        final int newAppOpMode = newState ? AppOpsManager.MODE_ALLOWED : AppOpsManager.MODE_IGNORED;
+        final int uid = mPackageInfo.applicationInfo.uid;
+        if (doesAnyPermissionMatch(Manifest.permission.PACKAGE_USAGE_STATS,
+                mUsageState.packageInfo.requestedPermissions)) {
+            mAppOpsManager.setMode(OP_GET_USAGE_STATS, uid, mPackageName, newAppOpMode);
+        }
+        if (doesAnyPermissionMatch(Manifest.permission.LOADER_USAGE_STATS,
+                mUsageState.packageInfo.requestedPermissions)) {
+            mAppOpsManager.setMode(OP_LOADER_USAGE_STATS, uid, mPackageName, newAppOpMode);
+        }
     }
 
     @VisibleForTesting
diff --git a/src/com/android/settings/applications/appinfo/AppButtonsPreferenceController.java b/src/com/android/settings/applications/appinfo/AppButtonsPreferenceController.java
index e526417..590384c 100644
--- a/src/com/android/settings/applications/appinfo/AppButtonsPreferenceController.java
+++ b/src/com/android/settings/applications/appinfo/AppButtonsPreferenceController.java
@@ -25,8 +25,8 @@
 import android.content.Context;
 import android.content.Intent;
 import android.content.IntentFilter;
-import android.content.om.OverlayManager;
 import android.content.om.OverlayInfo;
+import android.content.om.OverlayManager;
 import android.content.pm.ApplicationInfo;
 import android.content.pm.PackageInfo;
 import android.content.pm.PackageManager;
@@ -80,6 +80,7 @@
         PreferenceControllerMixin, LifecycleObserver, OnResume, OnDestroy,
         ApplicationsState.Callbacks {
     public static final String APP_CHG = "chg";
+    public static final String KEY_REMOVE_TASK_WHEN_FINISHING = "remove_task_when_finishing";
 
     private static final String TAG = "AppButtonsPrefCtl";
     private static final String KEY_ACTION_BUTTONS = "action_buttons";
@@ -196,7 +197,7 @@
                     mActivity, UserManager.DISALLOW_APPS_CONTROL, mUserId);
 
             if (!refreshUi()) {
-                setIntentAndFinish(true);
+                setIntentAndFinish(true, false);
             }
         }
     }
@@ -278,9 +279,9 @@
                 AsyncTask.execute(new DisableChangerRunnable(mPm, mAppEntry.info.packageName,
                         PackageManager.COMPONENT_ENABLED_STATE_DISABLED_USER));
             }
-            refreshAndFinishIfPossible();
+            refreshAndFinishIfPossible(true);
         } else if (requestCode == mRequestRemoveDeviceAdmin) {
-            refreshAndFinishIfPossible();
+            refreshAndFinishIfPossible(false);
         }
     }
 
@@ -392,11 +393,19 @@
             enabled = false;
         }
 
-        // We don't allow uninstalling DO/PO on *any* users, because if it's a system app,
+        // We don't allow uninstalling DO/PO on *any* users if it's a system app, because
         // "uninstall" is actually "downgrade to the system version + disable", and "downgrade"
         // will clear data on all users.
-        if (Utils.isProfileOrDeviceOwner(mUserManager, mDpm, mPackageInfo.packageName)) {
-            enabled = false;
+        if (isSystemPackage(mActivity.getResources(), mPm, mPackageInfo)) {
+            if (Utils.isProfileOrDeviceOwner(mUserManager, mDpm, mPackageInfo.packageName)) {
+                enabled = false;
+            }
+        // We allow uninstalling if the calling user is not a DO/PO and if it's not a system app,
+        // because this will not have device-wide consequences.
+        } else {
+            if (Utils.isProfileOrDeviceOwner(mDpm, mPackageInfo.packageName, mUserId)) {
+                enabled = false;
+            }
         }
 
         // Don't allow uninstalling the device provisioning package.
@@ -466,19 +475,20 @@
     /**
      * Finish this fragment and return data if possible
      */
-    private void setIntentAndFinish(boolean appChanged) {
+    private void setIntentAndFinish(boolean appChanged, boolean removeTaskWhenFinishing) {
         if (LOCAL_LOGV) {
             Log.i(TAG, "appChanged=" + appChanged);
         }
         Intent intent = new Intent();
         intent.putExtra(APP_CHG, appChanged);
+        intent.putExtra(KEY_REMOVE_TASK_WHEN_FINISHING, removeTaskWhenFinishing);
         mActivity.finishPreferencePanel(Activity.RESULT_OK, intent);
         mFinishing = true;
     }
 
-    private void refreshAndFinishIfPossible() {
+    private void refreshAndFinishIfPossible(boolean removeTaskWhenFinishing) {
         if (!refreshUi()) {
-            setIntentAndFinish(true);
+            setIntentAndFinish(true, removeTaskWhenFinishing);
         } else {
             startListeningToPackageRemove();
         }
diff --git a/src/com/android/settings/applications/appinfo/AppDataUsagePreferenceController.java b/src/com/android/settings/applications/appinfo/AppDataUsagePreferenceController.java
index 4d19151..a3ea478 100644
--- a/src/com/android/settings/applications/appinfo/AppDataUsagePreferenceController.java
+++ b/src/com/android/settings/applications/appinfo/AppDataUsagePreferenceController.java
@@ -127,7 +127,7 @@
                 return mContext.getString(R.string.no_data_usage);
             }
             return mContext.getString(R.string.data_summary_format,
-                    Formatter.formatFileSize(mContext, totalBytes),
+                    Formatter.formatFileSize(mContext, totalBytes, Formatter.FLAG_IEC_UNITS),
                     DateUtils.formatDateTime(mContext, startTime,
                             DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_ABBREV_MONTH));
         }
diff --git a/src/com/android/settings/applications/appinfo/AppInfoDashboardFragment.java b/src/com/android/settings/applications/appinfo/AppInfoDashboardFragment.java
index 8274634..8b1f96f 100755
--- a/src/com/android/settings/applications/appinfo/AppInfoDashboardFragment.java
+++ b/src/com/android/settings/applications/appinfo/AppInfoDashboardFragment.java
@@ -46,6 +46,7 @@
 import com.android.settings.SettingsActivity;
 import com.android.settings.SettingsPreferenceFragment;
 import com.android.settings.applications.manageapplications.ManageApplications;
+import com.android.settings.applications.specialaccess.interactacrossprofiles.InteractAcrossProfilesDetailsPreferenceController;
 import com.android.settings.applications.specialaccess.pictureinpicture.PictureInPictureDetailPreferenceController;
 import com.android.settings.core.SubSettingLauncher;
 import com.android.settings.dashboard.DashboardFragment;
@@ -168,13 +169,19 @@
                 use(PictureInPictureDetailPreferenceController.class);
         pip.setPackageName(packageName);
         pip.setParentFragment(this);
+
         final ExternalSourceDetailPreferenceController externalSource =
                 use(ExternalSourceDetailPreferenceController.class);
         externalSource.setPackageName(packageName);
         externalSource.setParentFragment(this);
 
+        final InteractAcrossProfilesDetailsPreferenceController acrossProfiles =
+                use(InteractAcrossProfilesDetailsPreferenceController.class);
+        acrossProfiles.setPackageName(packageName);
+        acrossProfiles.setParentFragment(this);
+
         use(AdvancedAppInfoPreferenceCategoryController.class).setChildren(Arrays.asList(
-                writeSystemSettings, drawOverlay, pip, externalSource));
+                writeSystemSettings, drawOverlay, pip, externalSource, acrossProfiles));
     }
 
     @Override
diff --git a/src/com/android/settings/applications/appinfo/AppNotificationPreferenceController.java b/src/com/android/settings/applications/appinfo/AppNotificationPreferenceController.java
index 07e14d4..eab9a56 100644
--- a/src/com/android/settings/applications/appinfo/AppNotificationPreferenceController.java
+++ b/src/com/android/settings/applications/appinfo/AppNotificationPreferenceController.java
@@ -25,7 +25,7 @@
 
 import com.android.settings.R;
 import com.android.settings.SettingsPreferenceFragment;
-import com.android.settings.notification.AppNotificationSettings;
+import com.android.settings.notification.app.AppNotificationSettings;
 import com.android.settings.notification.NotificationBackend;
 import com.android.settingslib.applications.ApplicationsState;
 
diff --git a/src/com/android/settings/applications/appinfo/DefaultAppShortcutPreferenceControllerBase.java b/src/com/android/settings/applications/appinfo/DefaultAppShortcutPreferenceControllerBase.java
index 0663e2a..5df30c2 100644
--- a/src/com/android/settings/applications/appinfo/DefaultAppShortcutPreferenceControllerBase.java
+++ b/src/com/android/settings/applications/appinfo/DefaultAppShortcutPreferenceControllerBase.java
@@ -45,7 +45,7 @@
 
     private boolean mRoleVisible;
 
-    private boolean mAppQualified;
+    private boolean mAppVisible;
 
     private PreferenceScreen mPreferenceScreen;
 
@@ -65,9 +65,9 @@
             mRoleVisible = visible;
             refreshAvailability();
         });
-        roleControllerManager.isApplicationQualifiedForRole(mRoleName, mPackageName, executor,
-                qualified -> {
-                    mAppQualified = qualified;
+        roleControllerManager.isApplicationVisibleForRole(mRoleName, mPackageName, executor,
+                visible -> {
+                    mAppVisible = visible;
                     refreshAvailability();
                 });
     }
@@ -94,7 +94,7 @@
         if (mContext.getSystemService(UserManager.class).isManagedProfile()) {
             return DISABLED_FOR_USER;
         }
-        return mRoleVisible && mAppQualified ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
+        return mRoleVisible && mAppVisible ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
     }
 
     @Override
diff --git a/src/com/android/settings/applications/appinfo/InstantAppDomainsPreferenceController.java b/src/com/android/settings/applications/appinfo/InstantAppDomainsPreferenceController.java
index cbb805f..34c67f1 100644
--- a/src/com/android/settings/applications/appinfo/InstantAppDomainsPreferenceController.java
+++ b/src/com/android/settings/applications/appinfo/InstantAppDomainsPreferenceController.java
@@ -38,7 +38,8 @@
 
     @Override
     public int getAvailabilityStatus() {
-        return AppUtils.isInstant(mParent.getPackageInfo().applicationInfo)
+        return mParent.getPackageInfo() != null
+                && AppUtils.isInstant(mParent.getPackageInfo().applicationInfo)
                 ? AVAILABLE : DISABLED_FOR_USER;
     }
 
diff --git a/src/com/android/settings/applications/appinfo/ManageExternalStorageDetails.java b/src/com/android/settings/applications/appinfo/ManageExternalStorageDetails.java
new file mode 100644
index 0000000..6c840d5
--- /dev/null
+++ b/src/com/android/settings/applications/appinfo/ManageExternalStorageDetails.java
@@ -0,0 +1,179 @@
+/*
+ * 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.applications.appinfo;
+
+import android.app.AppOpsManager;
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.os.Bundle;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import androidx.appcompat.app.AlertDialog;
+import androidx.preference.Preference;
+import androidx.preference.Preference.OnPreferenceChangeListener;
+import androidx.preference.Preference.OnPreferenceClickListener;
+import androidx.preference.SwitchPreference;
+
+import com.android.settings.R;
+import com.android.settings.applications.AppInfoWithHeader;
+import com.android.settings.applications.AppStateAppOpsBridge.PermissionState;
+import com.android.settings.applications.AppStateManageExternalStorageBridge;
+import com.android.settings.overlay.FeatureFactory;
+import com.android.settingslib.applications.ApplicationsState.AppEntry;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
+
+/**
+ * Class for displaying app info related to {@link AppOpsManager#OP_MANAGE_EXTERNAL_STORAGE}.
+ */
+public class ManageExternalStorageDetails extends AppInfoWithHeader implements
+        OnPreferenceChangeListener, OnPreferenceClickListener {
+
+    private static final String KEY_APP_OPS_SETTINGS_SWITCH = "app_ops_settings_switch";
+
+    private AppStateManageExternalStorageBridge mBridge;
+    private AppOpsManager mAppOpsManager;
+    private SwitchPreference mSwitchPref;
+    private PermissionState mPermissionState;
+    private MetricsFeatureProvider mMetricsFeatureProvider;
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+
+        Context context = getActivity();
+        mBridge = new AppStateManageExternalStorageBridge(context, mState, null);
+        mAppOpsManager = (AppOpsManager) context.getSystemService(Context.APP_OPS_SERVICE);
+
+        // initialize preferences
+        addPreferencesFromResource(R.xml.manage_external_storage_permission_details);
+        mSwitchPref = findPreference(KEY_APP_OPS_SETTINGS_SWITCH);
+
+        // install event listeners
+        mSwitchPref.setOnPreferenceChangeListener(this);
+
+        mMetricsFeatureProvider =
+                FeatureFactory.getFactory(getContext()).getMetricsFeatureProvider();
+    }
+
+    @Override
+    public View onCreateView(LayoutInflater inflater,
+            ViewGroup container,
+            Bundle savedInstanceState) {
+        // if we don't have a package info, show a page saying this is unsupported
+        if (mPackageInfo == null) {
+            return inflater.inflate(R.layout.manage_applications_apps_unsupported, null);
+        }
+        return super.onCreateView(inflater, container, savedInstanceState);
+    }
+
+    @Override
+    public void onDestroy() {
+        super.onDestroy();
+        mBridge.release();
+    }
+
+    @Override
+    public boolean onPreferenceClick(Preference preference) {
+        return false;
+    }
+
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object newValue) {
+        if (preference == mSwitchPref) {
+            if (mPermissionState != null && !newValue.equals(mPermissionState.isPermissible())) {
+                setManageExternalStorageState((Boolean) newValue);
+                refreshUi();
+            }
+            return true;
+        }
+        return false;
+    }
+
+    /**
+     * Toggles {@link AppOpsManager#OP_MANAGE_EXTERNAL_STORAGE} for the app.
+     */
+    private void setManageExternalStorageState(boolean newState) {
+        logSpecialPermissionChange(newState, mPackageName);
+        mAppOpsManager.setUidMode(AppOpsManager.OP_MANAGE_EXTERNAL_STORAGE,
+                mPackageInfo.applicationInfo.uid, newState
+                        ? AppOpsManager.MODE_ALLOWED : AppOpsManager.MODE_ERRORED);
+    }
+
+    private void logSpecialPermissionChange(boolean newState, String packageName) {
+        int logCategory = newState ? SettingsEnums.APP_SPECIAL_PERMISSION_MANAGE_EXT_STRG_ALLOW
+                : SettingsEnums.APP_SPECIAL_PERMISSION_MANAGE_EXT_STRG_DENY;
+
+        mMetricsFeatureProvider.action(
+                mMetricsFeatureProvider.getAttribution(getActivity()),
+                logCategory,
+                getMetricsCategory(),
+                packageName,
+                0 /* value */);
+    }
+
+    @Override
+    protected boolean refreshUi() {
+        if (mPackageInfo == null) {
+            return true;
+        }
+
+        mPermissionState = mBridge.getManageExternalStoragePermState(mPackageName,
+                mPackageInfo.applicationInfo.uid);
+
+        mSwitchPref.setChecked(mPermissionState.isPermissible());
+
+        // you cannot ask a user to grant you a permission you did not have!
+        mSwitchPref.setEnabled(mPermissionState.permissionDeclared);
+
+        return true;
+    }
+
+    @Override
+    protected AlertDialog createDialog(int id, int errorCode) {
+        return null;
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.MANAGE_EXTERNAL_STORAGE;
+    }
+
+    /**
+     * Returns the string that states whether whether the app has access to
+     * {@link AppOpsManager#OP_MANAGE_EXTERNAL_STORAGE}.
+     * <p>This string is used in the "All files access" page that displays all apps requesting
+     * {@link android.Manifest.permission#MANAGE_EXTERNAL_STORAGE}
+     */
+    public static CharSequence getSummary(Context context, AppEntry entry) {
+        final PermissionState state;
+        if (entry.extraInfo instanceof PermissionState) {
+            state = (PermissionState) entry.extraInfo;
+        } else {
+            state = new AppStateManageExternalStorageBridge(context, null, null)
+                    .getManageExternalStoragePermState(entry.info.packageName, entry.info.uid);
+        }
+
+        return getSummary(context, state);
+    }
+
+    private static CharSequence getSummary(Context context, PermissionState state) {
+        return context.getString(state.isPermissible()
+                ? R.string.app_permission_summary_allowed
+                : R.string.app_permission_summary_not_allowed);
+    }
+}
diff --git a/src/com/android/settings/applications/appops/AppOpsState.java b/src/com/android/settings/applications/appops/AppOpsState.java
index 3c8d647..cbffe47 100644
--- a/src/com/android/settings/applications/appops/AppOpsState.java
+++ b/src/com/android/settings/applications/appops/AppOpsState.java
@@ -618,7 +618,7 @@
 
                         }
                         AppOpsManager.OpEntry opEntry = new AppOpsManager.OpEntry(
-                                permOps.get(k), AppOpsManager.MODE_ALLOWED);
+                                permOps.get(k), AppOpsManager.MODE_ALLOWED, Collections.emptyMap());
                         dummyOps.add(opEntry);
                         addOp(entries, pkgOps, appEntry, opEntry, packageName == null,
                                 packageName == null ? 0 : opToOrder[opEntry.getOp()]);
diff --git a/src/com/android/settings/applications/assist/ManageAssist.java b/src/com/android/settings/applications/assist/ManageAssist.java
index 952a3ad..c96f43f 100644
--- a/src/com/android/settings/applications/assist/ManageAssist.java
+++ b/src/com/android/settings/applications/assist/ManageAssist.java
@@ -18,19 +18,16 @@
 
 import android.app.settings.SettingsEnums;
 import android.content.Context;
-import android.provider.SearchIndexableResource;
 
 import com.android.settings.R;
 import com.android.settings.dashboard.DashboardFragment;
 import com.android.settings.gestures.AssistGestureSettingsPreferenceController;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
 import com.android.settingslib.core.AbstractPreferenceController;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 import com.android.settingslib.search.SearchIndexable;
 
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.List;
 
 /**
@@ -68,14 +65,6 @@
         use(AssistGestureSettingsPreferenceController.class).setAssistOnly(true);
     }
 
-    @Override
-    public void onResume() {
-        super.onResume();
-
-        mFooterPreferenceMixin.createFooterPreference()
-                .setTitle(R.string.assist_footer);
-    }
-
     private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
             Lifecycle lifecycle) {
         final List<AbstractPreferenceController> controllers = new ArrayList<>();
@@ -88,15 +77,8 @@
         return controllers;
     }
 
-    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
-                        boolean enabled) {
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.manage_assist;
-                    return Arrays.asList(sir);
-                }
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.manage_assist) {
 
                 @Override
                 public List<AbstractPreferenceController> createPreferenceControllers(
diff --git a/src/com/android/settings/applications/defaultapps/AutofillPicker.java b/src/com/android/settings/applications/defaultapps/AutofillPicker.java
index fb9d631..62a478f 100644
--- a/src/com/android/settings/applications/defaultapps/AutofillPicker.java
+++ b/src/com/android/settings/applications/defaultapps/AutofillPicker.java
@@ -23,7 +23,7 @@
 import com.android.settings.R;
 import com.android.settings.dashboard.DashboardFragment;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
+import com.android.settingslib.search.Indexable;
 import com.android.settingslib.core.AbstractPreferenceController;
 import com.android.settingslib.search.SearchIndexable;
 
@@ -54,16 +54,8 @@
         return buildPreferenceControllers(context);
     }
 
-    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
-                        boolean enabled) {
-                    SearchIndexableResource searchIndexableResource =
-                            new SearchIndexableResource(context);
-                    searchIndexableResource.xmlResId = R.xml.default_autofill_picker_settings;
-                    return Arrays.asList(searchIndexableResource);
-                }
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.default_autofill_picker_settings) {
 
                 @Override
                 public List<AbstractPreferenceController> getPreferenceControllers(Context
diff --git a/src/com/android/settings/applications/defaultapps/DefaultAppPickerFragment.java b/src/com/android/settings/applications/defaultapps/DefaultAppPickerFragment.java
index 5d41ba7..0ca1876 100644
--- a/src/com/android/settings/applications/defaultapps/DefaultAppPickerFragment.java
+++ b/src/com/android/settings/applications/defaultapps/DefaultAppPickerFragment.java
@@ -33,9 +33,9 @@
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
 import com.android.settings.fuelgauge.BatteryUtils;
 import com.android.settings.widget.RadioButtonPickerFragment;
-import com.android.settings.widget.RadioButtonPreference;
 import com.android.settingslib.applications.DefaultAppInfo;
 import com.android.settingslib.widget.CandidateInfo;
+import com.android.settingslib.widget.RadioButtonPreference;
 
 /**
  * A generic app picker fragment that shows a list of app as radio button group.
@@ -73,7 +73,7 @@
                 SettingsEnums.ACTION_SETTINGS_UPDATE_DEFAULT_APP,
                 getMetricsCategory(),
                 selectedKey,
-                 0 /* value */);
+                0 /* value */);
         super.onRadioButtonConfirmed(selectedKey);
     }
 
diff --git a/src/com/android/settings/applications/manageapplications/AppFilterRegistry.java b/src/com/android/settings/applications/manageapplications/AppFilterRegistry.java
index 0d2bcab..58907a7 100644
--- a/src/com/android/settings/applications/manageapplications/AppFilterRegistry.java
+++ b/src/com/android/settings/applications/manageapplications/AppFilterRegistry.java
@@ -20,6 +20,7 @@
 
 import com.android.settings.R;
 import com.android.settings.applications.AppStateInstallAppsBridge;
+import com.android.settings.applications.AppStateManageExternalStorageBridge;
 import com.android.settings.applications.AppStateNotificationBridge;
 import com.android.settings.applications.AppStateOverlayBridge;
 import com.android.settings.applications.AppStatePowerBridge;
@@ -71,14 +72,15 @@
     public static final int FILTER_APPS_INSTALL_SOURCES = 13;
     public static final int FILTER_APP_CAN_CHANGE_WIFI_STATE = 15;
     public static final int FILTER_APPS_BLOCKED = 16;
-    // Next id: 17
+    public static final int FILTER_MANAGE_EXTERNAL_STORAGE = 17;
+    // Next id: 18. If you add an entry here, length of mFilters should be updated
 
     private static AppFilterRegistry sRegistry;
 
     private final AppFilterItem[] mFilters;
 
     private AppFilterRegistry() {
-        mFilters = new AppFilterItem[17];
+        mFilters = new AppFilterItem[18];
 
         // High power whitelist, on
         mFilters[FILTER_APPS_POWER_WHITELIST] = new AppFilterItem(
@@ -136,13 +138,13 @@
         mFilters[FILTER_APPS_PERSONAL] = new AppFilterItem(
                 ApplicationsState.FILTER_PERSONAL,
                 FILTER_APPS_PERSONAL,
-                R.string.filter_personal_apps);
+                R.string.category_personal);
 
         // Work
         mFilters[FILTER_APPS_WORK] = new AppFilterItem(
                 ApplicationsState.FILTER_WORK,
                 FILTER_APPS_WORK,
-                R.string.filter_work_apps);
+                R.string.category_work);
 
         // Usage access screen, never displayed.
         mFilters[FILTER_APPS_USAGE_ACCESS] = new AppFilterItem(
@@ -178,6 +180,11 @@
                 AppStateNotificationBridge.FILTER_APP_NOTIFICATION_BLOCKED,
                 FILTER_APPS_BLOCKED,
                 R.string.filter_notif_blocked_apps);
+
+        mFilters[FILTER_MANAGE_EXTERNAL_STORAGE] = new AppFilterItem(
+                AppStateManageExternalStorageBridge.FILTER_MANAGE_EXTERNAL_STORAGE,
+                FILTER_MANAGE_EXTERNAL_STORAGE,
+                R.string.filter_manage_external_storage);
     }
 
     public static AppFilterRegistry getInstance() {
@@ -204,6 +211,8 @@
                 return FILTER_APP_CAN_CHANGE_WIFI_STATE;
             case ManageApplications.LIST_TYPE_NOTIFICATION:
                 return FILTER_APPS_RECENT;
+            case ManageApplications.LIST_MANAGE_EXTERNAL_STORAGE:
+                return FILTER_MANAGE_EXTERNAL_STORAGE;
             default:
                 return FILTER_APPS_ALL;
         }
diff --git a/src/com/android/settings/applications/manageapplications/ManageApplications.java b/src/com/android/settings/applications/manageapplications/ManageApplications.java
index 971c6f5..8a37473 100644
--- a/src/com/android/settings/applications/manageapplications/ManageApplications.java
+++ b/src/com/android/settings/applications/manageapplications/ManageApplications.java
@@ -29,18 +29,26 @@
 import static com.android.settings.applications.manageapplications.AppFilterRegistry.FILTER_APPS_POWER_WHITELIST_ALL;
 import static com.android.settings.applications.manageapplications.AppFilterRegistry.FILTER_APPS_RECENT;
 import static com.android.settings.applications.manageapplications.AppFilterRegistry.FILTER_APPS_WORK;
+import static com.android.settings.search.actionbar.SearchMenuController.MENU_SEARCH;
 
 import android.annotation.Nullable;
 import android.annotation.StringRes;
 import android.app.Activity;
+import android.app.ActivityManager;
 import android.app.settings.SettingsEnums;
 import android.app.usage.IUsageStatsManager;
+import android.compat.annotation.ChangeId;
+import android.compat.annotation.LoggingOnly;
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.ApplicationInfo;
 import android.content.pm.PackageItemInfo;
+import android.net.Uri;
+import android.os.Build;
 import android.os.Bundle;
 import android.os.Environment;
+import android.os.IBinder;
+import android.os.RemoteException;
 import android.os.ServiceManager;
 import android.os.UserHandle;
 import android.os.UserManager;
@@ -68,6 +76,7 @@
 import androidx.recyclerview.widget.LinearLayoutManager;
 import androidx.recyclerview.widget.RecyclerView;
 
+import com.android.internal.compat.IPlatformCompat;
 import com.android.settings.R;
 import com.android.settings.Settings;
 import com.android.settings.Settings.GamesStorageActivity;
@@ -84,6 +93,7 @@
 import com.android.settings.applications.AppStateAppOpsBridge.PermissionState;
 import com.android.settings.applications.AppStateBaseBridge;
 import com.android.settings.applications.AppStateInstallAppsBridge;
+import com.android.settings.applications.AppStateManageExternalStorageBridge;
 import com.android.settings.applications.AppStateNotificationBridge;
 import com.android.settings.applications.AppStateNotificationBridge.NotificationsSentState;
 import com.android.settings.applications.AppStateOverlayBridge;
@@ -92,19 +102,19 @@
 import com.android.settings.applications.AppStateUsageBridge.UsageState;
 import com.android.settings.applications.AppStateWriteSettingsBridge;
 import com.android.settings.applications.AppStorageSettings;
-import com.android.settings.applications.InstalledAppCounter;
 import com.android.settings.applications.UsageAccessDetails;
 import com.android.settings.applications.appinfo.AppInfoDashboardFragment;
 import com.android.settings.applications.appinfo.DrawOverlayDetails;
 import com.android.settings.applications.appinfo.ExternalSourcesDetails;
+import com.android.settings.applications.appinfo.ManageExternalStorageDetails;
 import com.android.settings.applications.appinfo.WriteSettingsDetails;
 import com.android.settings.core.InstrumentedFragment;
 import com.android.settings.core.SubSettingLauncher;
-import com.android.settings.dashboard.SummaryLoader;
+import com.android.settings.dashboard.profileselector.ProfileSelectFragment;
 import com.android.settings.fuelgauge.HighPowerDetail;
-import com.android.settings.notification.AppNotificationSettings;
 import com.android.settings.notification.ConfigureNotificationSettings;
 import com.android.settings.notification.NotificationBackend;
+import com.android.settings.notification.app.AppNotificationSettings;
 import com.android.settings.widget.LoadingViewController;
 import com.android.settings.wifi.AppStateChangeWifiStateBridge;
 import com.android.settings.wifi.ChangeWifiStateDetails;
@@ -135,7 +145,7 @@
         implements View.OnClickListener, OnItemSelectedListener, SearchView.OnQueryTextListener {
 
     static final String TAG = "ManageApplications";
-    static final boolean DEBUG = false;
+    static final boolean DEBUG = Build.IS_DEBUGGABLE;
 
     // Intent extras.
     public static final String EXTRA_CLASSNAME = "classname";
@@ -143,7 +153,6 @@
     public static final String EXTRA_VOLUME_UUID = "volumeUuid";
     public static final String EXTRA_VOLUME_NAME = "volumeName";
     public static final String EXTRA_STORAGE_TYPE = "storageType";
-    public static final String EXTRA_WORK_ONLY = "workProfileOnly";
     public static final String EXTRA_WORK_ID = "workId";
 
     private static final String EXTRA_SORT_ORDER = "sortOrder";
@@ -151,7 +160,8 @@
     private static final String EXTRA_HAS_ENTRIES = "hasEntries";
     private static final String EXTRA_HAS_BRIDGE = "hasBridge";
     private static final String EXTRA_FILTER_TYPE = "filterType";
-    private static final String EXTRA_EXPAND_SEARCH_VIEW = "expand_search_view";
+    @VisibleForTesting
+    static final String EXTRA_EXPAND_SEARCH_VIEW = "expand_search_view";
 
     // attributes used as keys when passing values to AppInfoDashboardFragment activity
     public static final String APP_CHG = "chg";
@@ -170,7 +180,15 @@
     public static final int STORAGE_TYPE_LEGACY = 2; // Show apps even if they can be categorized.
     public static final int STORAGE_TYPE_PHOTOS_VIDEOS = 3;
 
-    private static final int NO_USER_SPECIFIED = -1;
+    /**
+     * Intents with action {@code android.settings.MANAGE_APP_OVERLAY_PERMISSION}
+     * and data URI scheme {@code package} don't go to the app-specific screen for managing the
+     * permission anymore. Instead, they redirect to this screen for managing all the apps that have
+     * requested such permission.
+     */
+    @ChangeId
+    @LoggingOnly
+    private static final long CHANGE_RESTRICT_SAW_INTENT = 135920175L;
 
     // sort order
     @VisibleForTesting
@@ -209,6 +227,7 @@
     public static final int LIST_TYPE_MOVIES = 10;
     public static final int LIST_TYPE_PHOTOGRAPHY = 11;
     public static final int LIST_TYPE_WIFI_ACCESS = 13;
+    public static final int LIST_MANAGE_EXTERNAL_STORAGE = 14;
 
     // List types that should show instant apps.
     public static final Set<Integer> LIST_TYPES_WITH_INSTANT = new ArraySet<>(Arrays.asList(
@@ -235,6 +254,7 @@
     private int mStorageType;
     private boolean mIsWorkOnly;
     private int mWorkUserId;
+    private boolean mIsPersonalOnly;
     private View mEmptyView;
     private int mFilterType;
 
@@ -243,6 +263,7 @@
         super.onCreate(savedInstanceState);
         setHasOptionsMenu(true);
         final Activity activity = getActivity();
+        mUserManager = activity.getSystemService(UserManager.class);
         mApplicationsState = ApplicationsState.getInstance(activity.getApplication());
 
         Intent intent = activity.getIntent();
@@ -274,6 +295,8 @@
         } else if (className.equals(OverlaySettingsActivity.class.getName())) {
             mListType = LIST_TYPE_OVERLAY;
             screenTitle = R.string.system_alert_window_settings;
+
+            reportIfRestrictedSawIntent(intent);
         } else if (className.equals(WriteSettingsActivity.class.getName())) {
             mListType = LIST_TYPE_WRITE_SETTINGS;
             screenTitle = R.string.write_settings;
@@ -293,11 +316,13 @@
         } else if (className.equals(Settings.ChangeWifiStateActivity.class.getName())) {
             mListType = LIST_TYPE_WIFI_ACCESS;
             screenTitle = R.string.change_wifi_state_title;
+        } else if (className.equals(Settings.ManageExternalStorageActivity.class.getName())) {
+            mListType = LIST_MANAGE_EXTERNAL_STORAGE;
+            screenTitle = R.string.manage_external_storage_title;
         } else if (className.equals(Settings.NotificationAppListActivity.class.getName())) {
             mListType = LIST_TYPE_NOTIFICATION;
             mUsageStatsManager = IUsageStatsManager.Stub.asInterface(
                     ServiceManager.getService(Context.USAGE_STATS_SERVICE));
-            mUserManager = UserManager.get(getContext());
             mNotificationBackend = new NotificationBackend();
             mSortOrder = R.id.sort_order_recent_notification;
             screenTitle = R.string.app_notifications_title;
@@ -309,8 +334,15 @@
         }
         final AppFilterRegistry appFilterRegistry = AppFilterRegistry.getInstance();
         mFilter = appFilterRegistry.get(appFilterRegistry.getDefaultFilterType(mListType));
-        mIsWorkOnly = args != null ? args.getBoolean(EXTRA_WORK_ONLY) : false;
-        mWorkUserId = args != null ? args.getInt(EXTRA_WORK_ID) : NO_USER_SPECIFIED;
+        mIsPersonalOnly = args != null ? args.getInt(ProfileSelectFragment.EXTRA_PROFILE)
+                == ProfileSelectFragment.ProfileType.PERSONAL : false;
+        mIsWorkOnly = args != null ? args.getInt(ProfileSelectFragment.EXTRA_PROFILE)
+                == ProfileSelectFragment.ProfileType.WORK : false;
+        mWorkUserId = args != null ? args.getInt(EXTRA_WORK_ID) : UserHandle.myUserId();
+        if (mIsWorkOnly && mWorkUserId == UserHandle.myUserId()) {
+            mWorkUserId = Utils.getManagedProfileId(mUserManager, UserHandle.myUserId());
+        }
+
         mExpandSearch = activity.getIntent().getBooleanExtra(EXTRA_EXPAND_SEARCH_VIEW, false);
 
         if (savedInstanceState != null) {
@@ -330,6 +362,31 @@
         }
     }
 
+    private void reportIfRestrictedSawIntent(Intent intent) {
+        try {
+            Uri data = intent.getData();
+            if (data == null || !TextUtils.equals("package", data.getScheme())) {
+                // Not a restricted intent
+                return;
+            }
+            IBinder activityToken = getActivity().getActivityToken();
+            int callingUid = ActivityManager.getService().getLaunchedFromUid(activityToken);
+            if (callingUid == -1) {
+                Log.w(TAG, "Error obtaining calling uid");
+                return;
+            }
+            IPlatformCompat platformCompat = IPlatformCompat.Stub.asInterface(
+                    ServiceManager.getService(Context.PLATFORM_COMPAT_SERVICE));
+            if (platformCompat == null) {
+                Log.w(TAG, "Error obtaining IPlatformCompat service");
+                return;
+            }
+            platformCompat.reportChangeByUid(CHANGE_RESTRICT_SAW_INTENT, callingUid);
+        } catch (RemoteException e) {
+            Log.w(TAG, "Error reporting SAW intent restriction", e);
+        }
+    }
+
     @Override
     public View onCreateView(LayoutInflater inflater, ViewGroup container,
             Bundle savedInstanceState) {
@@ -354,7 +411,7 @@
                 mApplications.mHasReceivedBridgeCallback =
                         savedInstanceState.getBoolean(EXTRA_HAS_BRIDGE, false);
             }
-            int userId = mIsWorkOnly ? mWorkUserId : UserHandle.getUserId(mCurrentUid);
+            int userId = mIsWorkOnly ? mWorkUserId : UserHandle.myUserId();
             if (mStorageType == STORAGE_TYPE_MUSIC) {
                 Context context = getContext();
                 mApplications.setExtraViewController(
@@ -405,9 +462,12 @@
         pinnedHeader.addView(mSpinnerHeader, 0);
 
         final AppFilterRegistry appFilterRegistry = AppFilterRegistry.getInstance();
-        mFilterAdapter.enableFilter(appFilterRegistry.getDefaultFilterType(mListType));
+        final int filterType = appFilterRegistry.getDefaultFilterType(mListType);
+        mFilterAdapter.enableFilter(filterType);
+
         if (mListType == LIST_TYPE_MAIN) {
-            if (UserManager.get(getActivity()).getUserProfiles().size() > 1) {
+            if (UserManager.get(getActivity()).getUserProfiles().size() > 1 && !mIsWorkOnly
+                    && !mIsPersonalOnly) {
                 mFilterAdapter.enableFilter(FILTER_APPS_PERSONAL);
                 mFilterAdapter.enableFilter(FILTER_APPS_WORK);
             }
@@ -422,14 +482,7 @@
             mFilterAdapter.enableFilter(FILTER_APPS_POWER_WHITELIST_ALL);
         }
 
-        AppFilter compositeFilter = getCompositeFilter(mListType, mStorageType, mVolumeUuid);
-        if (mIsWorkOnly) {
-            final AppFilter workFilter = appFilterRegistry.get(FILTER_APPS_WORK).getFilter();
-            compositeFilter = new CompoundFilter(compositeFilter, workFilter);
-        }
-        if (compositeFilter != null) {
-            mApplications.setCompositeFilter(compositeFilter);
-        }
+        setCompositeFilter();
     }
 
     @VisibleForTesting
@@ -451,7 +504,6 @@
         } else if (listType == LIST_TYPE_PHOTOGRAPHY) {
             return new CompoundFilter(ApplicationsState.FILTER_PHOTOS, filter);
         }
-
         return null;
     }
 
@@ -485,6 +537,8 @@
                 return SettingsEnums.MANAGE_EXTERNAL_SOURCES;
             case LIST_TYPE_WIFI_ACCESS:
                 return SettingsEnums.CONFIGURE_WIFI;
+            case LIST_MANAGE_EXTERNAL_STORAGE:
+                return SettingsEnums.MANAGE_EXTERNAL_STORAGE;
             default:
                 return SettingsEnums.PAGE_UNKNOWN;
         }
@@ -505,11 +559,13 @@
         super.onSaveInstanceState(outState);
         mResetAppsHelper.onSaveInstanceState(outState);
         outState.putInt(EXTRA_SORT_ORDER, mSortOrder);
+        outState.putInt(EXTRA_FILTER_TYPE, mFilter.getFilterType());
         outState.putBoolean(EXTRA_SHOW_SYSTEM, mShowSystem);
         outState.putBoolean(EXTRA_HAS_ENTRIES, mApplications.mHasReceivedLoadEntries);
         outState.putBoolean(EXTRA_HAS_BRIDGE, mApplications.mHasReceivedBridgeCallback);
-        outState.putBoolean(EXTRA_EXPAND_SEARCH_VIEW, !mSearchView.isIconified());
-        outState.putInt(EXTRA_FILTER_TYPE, mFilter.getFilterType());
+        if (mSearchView != null) {
+            outState.putBoolean(EXTRA_EXPAND_SEARCH_VIEW, !mSearchView.isIconified());
+        }
         if (mApplications != null) {
             mApplications.onSaveInstanceState(outState);
         }
@@ -548,6 +604,21 @@
         }
     }
 
+    private void setCompositeFilter() {
+        AppFilter compositeFilter = getCompositeFilter(mListType, mStorageType, mVolumeUuid);
+        if (compositeFilter == null) {
+            compositeFilter = mFilter.getFilter();
+        }
+        if (mIsWorkOnly) {
+            compositeFilter = new CompoundFilter(compositeFilter, ApplicationsState.FILTER_WORK);
+        }
+        if (mIsPersonalOnly) {
+            compositeFilter = new CompoundFilter(compositeFilter,
+                    ApplicationsState.FILTER_PERSONAL);
+        }
+        mApplications.setCompositeFilter(compositeFilter);
+    }
+
     // utility method used to start sub activity
     private void startApplicationDetailsActivity() {
         switch (mListType) {
@@ -585,6 +656,10 @@
                 startAppInfoFragment(ChangeWifiStateDetails.class,
                         R.string.change_wifi_state_title);
                 break;
+            case LIST_MANAGE_EXTERNAL_STORAGE:
+                startAppInfoFragment(ManageExternalStorageDetails.class,
+                        R.string.manage_external_storage_title);
+                break;
             // TODO: Figure out if there is a way where we can spin up the profile's settings
             // process ahead of time, to avoid a long load of data when user clicks on a managed
             // app. Maybe when they load the list of apps that contains managed profile apps.
@@ -658,6 +733,8 @@
                 return R.string.help_uri_apps_photography;
             case LIST_TYPE_WIFI_ACCESS:
                 return R.string.help_uri_apps_wifi_access;
+            case LIST_MANAGE_EXTERNAL_STORAGE:
+                return R.string.help_uri_manage_external_storage;
             default:
             case LIST_TYPE_MAIN:
                 return R.string.help_uri_apps;
@@ -685,43 +762,42 @@
         // Hide notification menu items, because sorting happens when filtering
         mOptionsMenu.findItem(R.id.sort_order_recent_notification).setVisible(false);
         mOptionsMenu.findItem(R.id.sort_order_frequent_notification).setVisible(false);
+        final MenuItem searchItem = mOptionsMenu.findItem(MENU_SEARCH);
+        if (searchItem != null) {
+            searchItem.setVisible(false);
+        }
     }
 
     @Override
     public boolean onOptionsItemSelected(MenuItem item) {
         int menuId = item.getItemId();
-        switch (item.getItemId()) {
-            case R.id.sort_order_alpha:
-            case R.id.sort_order_size:
-                if (mApplications != null) {
-                    mApplications.rebuild(menuId);
-                }
-                break;
-            case R.id.show_system:
-            case R.id.hide_system:
-                mShowSystem = !mShowSystem;
-                mApplications.rebuild();
-                break;
-            case R.id.reset_app_preferences:
-                mResetAppsHelper.buildResetDialog();
-                return true;
-            case R.id.advanced:
-                if (mListType == LIST_TYPE_NOTIFICATION) {
-                    new SubSettingLauncher(getContext())
-                            .setDestination(ConfigureNotificationSettings.class.getName())
-                            .setTitleRes(R.string.configure_notification_settings)
-                            .setSourceMetricsCategory(getMetricsCategory())
-                            .setResultListener(this, ADVANCED_SETTINGS)
-                            .launch();
-                } else {
-                    Intent intent = new Intent(
-                            android.provider.Settings.ACTION_MANAGE_DEFAULT_APPS_SETTINGS);
-                    startActivityForResult(intent, ADVANCED_SETTINGS);
-                }
-                return true;
-            default:
-                // Handle the home button
-                return false;
+        int i = item.getItemId();
+        if (i == R.id.sort_order_alpha || i == R.id.sort_order_size) {
+            if (mApplications != null) {
+                mApplications.rebuild(menuId);
+            }
+        } else if (i == R.id.show_system || i == R.id.hide_system) {
+            mShowSystem = !mShowSystem;
+            mApplications.rebuild();
+        } else if (i == R.id.reset_app_preferences) {
+            mResetAppsHelper.buildResetDialog();
+            return true;
+        } else if (i == R.id.advanced) {
+            if (mListType == LIST_TYPE_NOTIFICATION) {
+                new SubSettingLauncher(getContext())
+                        .setDestination(ConfigureNotificationSettings.class.getName())
+                        .setTitleRes(R.string.configure_notification_settings)
+                        .setSourceMetricsCategory(getMetricsCategory())
+                        .setResultListener(this, ADVANCED_SETTINGS)
+                        .launch();
+            } else {
+                Intent intent = new Intent(
+                        android.provider.Settings.ACTION_MANAGE_DEFAULT_APPS_SETTINGS);
+                startActivityForResult(intent, ADVANCED_SETTINGS);
+            }
+            return true;
+        } else {// Handle the home button
+            return false;
         }
         updateOptionsMenu();
         return true;
@@ -751,6 +827,7 @@
     @Override
     public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
         mFilter = mFilterAdapter.getFilter(position);
+        setCompositeFilter();
         mApplications.setFilter(mFilter);
 
         if (DEBUG) {
@@ -977,6 +1054,8 @@
                 mExtraInfoBridge = new AppStateInstallAppsBridge(mContext, mState, this);
             } else if (mManageApplications.mListType == LIST_TYPE_WIFI_ACCESS) {
                 mExtraInfoBridge = new AppStateChangeWifiStateBridge(mContext, mState, this);
+            } else if (mManageApplications.mListType == LIST_MANAGE_EXTERNAL_STORAGE) {
+                mExtraInfoBridge = new AppStateManageExternalStorageBridge(mContext, mState, this);
             } else {
                 mExtraInfoBridge = null;
             }
@@ -1133,39 +1212,30 @@
                             ApplicationsState.FILTER_DOWNLOADED_AND_LAUNCHER);
                 }
             }
-            switch (mLastSortMode) {
-                case R.id.sort_order_size:
-                    switch (mWhichSize) {
-                        case SIZE_INTERNAL:
-                            comparatorObj = ApplicationsState.INTERNAL_SIZE_COMPARATOR;
-                            break;
-                        case SIZE_EXTERNAL:
-                            comparatorObj = ApplicationsState.EXTERNAL_SIZE_COMPARATOR;
-                            break;
-                        default:
-                            comparatorObj = ApplicationsState.SIZE_COMPARATOR;
-                            break;
-                    }
-                    break;
-                case R.id.sort_order_recent_notification:
-                    comparatorObj = AppStateNotificationBridge.RECENT_NOTIFICATION_COMPARATOR;
-                    break;
-                case R.id.sort_order_frequent_notification:
-                    comparatorObj = AppStateNotificationBridge.FREQUENCY_NOTIFICATION_COMPARATOR;
-                    break;
-                default:
-                    comparatorObj = ApplicationsState.ALPHA_COMPARATOR;
-                    break;
+            if (mLastSortMode == R.id.sort_order_size) {
+                switch (mWhichSize) {
+                    case SIZE_INTERNAL:
+                        comparatorObj = ApplicationsState.INTERNAL_SIZE_COMPARATOR;
+                        break;
+                    case SIZE_EXTERNAL:
+                        comparatorObj = ApplicationsState.EXTERNAL_SIZE_COMPARATOR;
+                        break;
+                    default:
+                        comparatorObj = ApplicationsState.SIZE_COMPARATOR;
+                        break;
+                }
+            } else if (mLastSortMode == R.id.sort_order_recent_notification) {
+                comparatorObj = AppStateNotificationBridge.RECENT_NOTIFICATION_COMPARATOR;
+            } else if (mLastSortMode == R.id.sort_order_frequent_notification) {
+                comparatorObj = AppStateNotificationBridge.FREQUENCY_NOTIFICATION_COMPARATOR;
+            } else {
+                comparatorObj = ApplicationsState.ALPHA_COMPARATOR;
             }
 
-            filterObj = new CompoundFilter(filterObj, ApplicationsState.FILTER_NOT_HIDE);
-            AppFilter finalFilterObj = filterObj;
+            final AppFilter finalFilterObj = new CompoundFilter(filterObj,
+                    ApplicationsState.FILTER_NOT_HIDE);
             ThreadUtils.postOnBackgroundThread(() -> {
-                final ArrayList<AppEntry> entries = mSession.rebuild(finalFilterObj,
-                        comparatorObj, false);
-                if (entries != null) {
-                    ThreadUtils.postOnMainThread(() -> onRebuildComplete(entries));
-                }
+                mSession.rebuild(finalFilterObj, comparatorObj, false);
             });
         }
 
@@ -1175,7 +1245,7 @@
                 mSearchFilter = new SearchFilter();
             }
             // If we haven't load apps list completely, don't filter anything.
-            if(mOriginalEntries == null) {
+            if (mOriginalEntries == null) {
                 Log.w(TAG, "Apps haven't loaded completely yet, so nothing can be filtered");
                 return;
             }
@@ -1215,7 +1285,7 @@
         @Override
         public void onRebuildComplete(ArrayList<AppEntry> entries) {
             if (DEBUG) {
-                Log.d(TAG, "onRebuildComplete");
+                Log.d(TAG, "onRebuildComplete size=" + entries.size());
             }
             final int filterType = mAppFilter.getFilterType();
             if (filterType == FILTER_APPS_POWER_WHITELIST ||
@@ -1391,7 +1461,7 @@
                 ApplicationsState.AppEntry entry = mEntries.get(position);
                 synchronized (entry) {
                     holder.setTitle(entry.label);
-                    holder.setIcon(mIconDrawableFactory.getBadgedIcon(entry.info));
+                    holder.setIcon(Utils.getBadgedIcon(mContext, entry.info));
                     updateSummary(holder, entry);
                     updateSwitch(holder, entry);
                     holder.updateDisableView(entry.info);
@@ -1437,6 +1507,9 @@
                 case LIST_TYPE_WIFI_ACCESS:
                     holder.setSummary(ChangeWifiStateDetails.getSummary(mContext, entry));
                     break;
+                case LIST_MANAGE_EXTERNAL_STORAGE:
+                    holder.setSummary(ManageExternalStorageDetails.getSummary(mContext, entry));
+                    break;
                 default:
                     holder.updateSizeText(entry, mManageApplications.mInvalidSizeStr, mWhichSize);
                     break;
@@ -1525,38 +1598,4 @@
             }
         }
     }
-
-    private static class SummaryProvider implements SummaryLoader.SummaryProvider {
-
-        private final Context mContext;
-        private final SummaryLoader mLoader;
-
-        private SummaryProvider(Context context, SummaryLoader loader) {
-            mContext = context;
-            mLoader = loader;
-        }
-
-        @Override
-        public void setListening(boolean listening) {
-            if (listening) {
-                new InstalledAppCounter(mContext, InstalledAppCounter.IGNORE_INSTALL_REASON,
-                        mContext.getPackageManager()) {
-                    @Override
-                    protected void onCountComplete(int num) {
-                        mLoader.setSummary(SummaryProvider.this,
-                                mContext.getString(R.string.apps_summary, num));
-                    }
-                }.execute();
-            }
-        }
-    }
-
-    public static final SummaryLoader.SummaryProviderFactory SUMMARY_PROVIDER_FACTORY
-            = new SummaryLoader.SummaryProviderFactory() {
-        @Override
-        public SummaryLoader.SummaryProvider createSummaryProvider(Activity activity,
-                SummaryLoader summaryLoader) {
-            return new SummaryProvider(activity, summaryLoader);
-        }
-    };
 }
diff --git a/src/com/android/settings/applications/manageapplications/MusicViewHolderController.java b/src/com/android/settings/applications/manageapplications/MusicViewHolderController.java
index 53c778c..184fd1d 100644
--- a/src/com/android/settings/applications/manageapplications/MusicViewHolderController.java
+++ b/src/com/android/settings/applications/manageapplications/MusicViewHolderController.java
@@ -84,7 +84,7 @@
                 DocumentsContract.buildRootUri(AUTHORITY_MEDIA, "audio_root"),
                 DocumentsContract.Root.MIME_TYPE_ITEM);
         intent.addCategory(Intent.CATEGORY_DEFAULT);
-        intent.putExtra(Intent.EXTRA_USER_ID, mUser);
+        intent.putExtra(Intent.EXTRA_USER_ID, mUser.getIdentifier());
         Utils.launchIntent(fragment, intent);
     }
 }
diff --git a/src/com/android/settings/applications/manageapplications/PhotosViewHolderController.java b/src/com/android/settings/applications/manageapplications/PhotosViewHolderController.java
index c7a1a1c..30166c9 100644
--- a/src/com/android/settings/applications/manageapplications/PhotosViewHolderController.java
+++ b/src/com/android/settings/applications/manageapplications/PhotosViewHolderController.java
@@ -83,6 +83,7 @@
         intent.setFlags(Intent.FLAG_ACTIVITY_NEW_DOCUMENT);
         intent.setType(IMAGE_MIME_TYPE);
         intent.putExtra(Intent.EXTRA_FROM_STORAGE, true);
+        intent.putExtra(Intent.EXTRA_USER_ID, mUser.getIdentifier());
         Utils.launchIntent(fragment, intent);
     }
 }
diff --git a/src/com/android/settings/applications/managedomainurls/ManageDomainUrls.java b/src/com/android/settings/applications/managedomainurls/ManageDomainUrls.java
index 010bc94..82ca6b3 100644
--- a/src/com/android/settings/applications/managedomainurls/ManageDomainUrls.java
+++ b/src/com/android/settings/applications/managedomainurls/ManageDomainUrls.java
@@ -20,17 +20,12 @@
 
 import android.app.settings.SettingsEnums;
 import android.content.Context;
-import android.provider.SearchIndexableResource;
 
 import com.android.settings.R;
 import com.android.settings.dashboard.DashboardFragment;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
 import com.android.settingslib.search.SearchIndexable;
 
-import java.util.ArrayList;
-import java.util.List;
-
 /**
  * Activity to manage how Android handles URL resolution. Includes both per-app
  * handling as well as system handling for Web Actions.
@@ -61,17 +56,6 @@
         return SettingsEnums.MANAGE_DOMAIN_URLS;
     }
 
-    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
-                        boolean enabled) {
-                    final ArrayList<SearchIndexableResource> result = new ArrayList<>();
-
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.manage_domain_url_settings;
-                    result.add(sir);
-                    return result;
-                }
-            };
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.manage_domain_url_settings);
 }
diff --git a/src/com/android/settings/applications/specialaccess/DataSaverController.java b/src/com/android/settings/applications/specialaccess/DataSaverController.java
index c169d7f..d1fd202 100644
--- a/src/com/android/settings/applications/specialaccess/DataSaverController.java
+++ b/src/com/android/settings/applications/specialaccess/DataSaverController.java
@@ -31,7 +31,6 @@
     @AvailabilityStatus
     public int getAvailabilityStatus() {
         return mContext.getResources().getBoolean(R.bool.config_show_data_saver)
-                ? AVAILABLE_UNSEARCHABLE
-                : UNSUPPORTED_ON_DEVICE;
+                ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
     }
-}
\ No newline at end of file
+}
diff --git a/src/com/android/settings/applications/specialaccess/DefaultPaymentSettingsPreferenceController.java b/src/com/android/settings/applications/specialaccess/DefaultPaymentSettingsPreferenceController.java
index dbdc9fe..2f03c3d 100644
--- a/src/com/android/settings/applications/specialaccess/DefaultPaymentSettingsPreferenceController.java
+++ b/src/com/android/settings/applications/specialaccess/DefaultPaymentSettingsPreferenceController.java
@@ -21,11 +21,23 @@
 import android.nfc.NfcAdapter;
 import android.os.UserManager;
 
-import com.android.settings.core.BasePreferenceController;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
 
-public class DefaultPaymentSettingsPreferenceController extends BasePreferenceController {
+import com.android.settings.core.BasePreferenceController;
+import com.android.settingslib.core.lifecycle.LifecycleObserver;
+import com.android.settingslib.core.lifecycle.events.OnPause;
+import com.android.settingslib.core.lifecycle.events.OnResume;
+
+/**
+ * This Controller works with PaymentSettingsEnabler to control payment features availability
+ * based on NFC status
+ */
+public class DefaultPaymentSettingsPreferenceController extends BasePreferenceController
+        implements LifecycleObserver, OnResume, OnPause {
 
     private final NfcAdapter mNfcAdapter;
+    private PaymentSettingsEnabler mPaymentSettingsEnabler;
     private final PackageManager mPackageManager;
     private final UserManager mUserManager;
 
@@ -38,6 +50,32 @@
     }
 
     @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        if (!isAvailable()) {
+            mPaymentSettingsEnabler = null;
+            return;
+        }
+
+        final Preference preference = screen.findPreference(getPreferenceKey());
+        mPaymentSettingsEnabler = new PaymentSettingsEnabler(mContext, preference);
+    }
+
+    @Override
+    public void onResume() {
+        if (mPaymentSettingsEnabler != null) {
+            mPaymentSettingsEnabler.resume();
+        }
+    }
+
+    @Override
+    public void onPause() {
+        if (mPaymentSettingsEnabler != null) {
+            mPaymentSettingsEnabler.pause();
+        }
+    }
+
+    @Override
     public int getAvailabilityStatus() {
         if (!mPackageManager.hasSystemFeature(PackageManager.FEATURE_NFC)
                 || !mPackageManager.hasSystemFeature(
@@ -47,9 +85,12 @@
         if (!mUserManager.isAdminUser()) {
             return DISABLED_FOR_USER;
         }
-        if (mNfcAdapter == null || !mNfcAdapter.isEnabled()) {
+        if (mNfcAdapter == null) {
             return CONDITIONALLY_UNAVAILABLE;
         }
+        if (!mNfcAdapter.isEnabled()) {
+            return DISABLED_DEPENDENT_SETTING;
+        }
         return AVAILABLE;
     }
 }
diff --git a/src/com/android/settings/applications/specialaccess/PaymentSettingsEnabler.java b/src/com/android/settings/applications/specialaccess/PaymentSettingsEnabler.java
new file mode 100644
index 0000000..6c5227d
--- /dev/null
+++ b/src/com/android/settings/applications/specialaccess/PaymentSettingsEnabler.java
@@ -0,0 +1,54 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.applications.specialaccess;
+
+import android.content.Context;
+import android.nfc.NfcAdapter;
+
+import androidx.preference.Preference;
+
+import com.android.settings.R;
+import com.android.settings.nfc.BaseNfcEnabler;
+
+/**
+ * PaymentSettingsEnabler is a helper to manage the payment feature enable / disable state.
+ * It enables / disables payment features based on NFC state, and ensures the summary of the
+ * preference is updated.
+ */
+public class PaymentSettingsEnabler extends BaseNfcEnabler {
+    private final Preference mPreference;
+
+    public PaymentSettingsEnabler(Context context, Preference preference) {
+        super(context);
+        mPreference = preference;
+    }
+
+    @Override
+    protected void handleNfcStateChanged(int newState) {
+        switch (newState) {
+            case NfcAdapter.STATE_OFF:
+                mPreference.setSummary(
+                        R.string.nfc_and_payment_settings_payment_off_nfc_off_summary);
+                mPreference.setEnabled(false);
+                break;
+            case NfcAdapter.STATE_ON:
+                mPreference.setSummary(null);
+                mPreference.setEnabled(true);
+                break;
+        }
+    }
+}
diff --git a/src/com/android/settings/applications/specialaccess/SpecialAccessSettings.java b/src/com/android/settings/applications/specialaccess/SpecialAccessSettings.java
index 4d9a427..f96ff63 100644
--- a/src/com/android/settings/applications/specialaccess/SpecialAccessSettings.java
+++ b/src/com/android/settings/applications/specialaccess/SpecialAccessSettings.java
@@ -17,18 +17,12 @@
 package com.android.settings.applications.specialaccess;
 
 import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.provider.SearchIndexableResource;
 
 import com.android.settings.R;
 import com.android.settings.dashboard.DashboardFragment;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
 import com.android.settingslib.search.SearchIndexable;
 
-import java.util.ArrayList;
-import java.util.List;
-
 @SearchIndexable
 public class SpecialAccessSettings extends DashboardFragment {
 
@@ -49,17 +43,6 @@
         return SettingsEnums.SPECIAL_ACCESS;
     }
 
-    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
-                        boolean enabled) {
-                    final ArrayList<SearchIndexableResource> result = new ArrayList<>();
-
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.special_access;
-                    result.add(sir);
-                    return result;
-                }
-            };
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.special_access);
 }
diff --git a/src/com/android/settings/applications/specialaccess/SystemAlertWindowPreferenceController.java b/src/com/android/settings/applications/specialaccess/SystemAlertWindowPreferenceController.java
index 5d9e8b6..5c2b009 100644
--- a/src/com/android/settings/applications/specialaccess/SystemAlertWindowPreferenceController.java
+++ b/src/com/android/settings/applications/specialaccess/SystemAlertWindowPreferenceController.java
@@ -31,6 +31,6 @@
     @Override
     public int getAvailabilityStatus() {
         return isSystemAlertWindowEnabled(mContext)
-                ? AVAILABLE_UNSEARCHABLE : UNSUPPORTED_ON_DEVICE ;
+                ? AVAILABLE : UNSUPPORTED_ON_DEVICE ;
     }
 }
diff --git a/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminAdd.java b/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminAdd.java
index 8b06975..9afb2b4 100644
--- a/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminAdd.java
+++ b/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminAdd.java
@@ -347,7 +347,6 @@
             }
         };
         mAddMsgExpander.setOnClickListener(onClickListener);
-        mAddMsg.setOnClickListener(onClickListener);
 
         // Determine whether the message can be collapsed - getLineCount() gives the correct
         // number of lines only after a layout pass.
@@ -360,7 +359,6 @@
                         boolean hideMsgExpander = mAddMsg.getLineCount() <= maxLines;
                         mAddMsgExpander.setVisibility(hideMsgExpander ? View.GONE : View.VISIBLE);
                         if (hideMsgExpander) {
-                            mAddMsg.setOnClickListener(null);
                             ((View)mAddMsgExpander.getParent()).invalidate();
                         }
                         mAddMsg.getViewTreeObserver().removeOnGlobalLayoutListener(this);
@@ -459,12 +457,20 @@
     private void showPolicyTransparencyDialogIfRequired() {
         if (isManagedProfile(mDeviceAdmin)
                 && mDeviceAdmin.getComponent().equals(mDPM.getProfileOwner())) {
-            if (hasBaseCantRemoveProfileRestriction()) {
-                // If DISALLOW_REMOVE_MANAGED_PROFILE is set by the system, there's no
-                // point showing a dialog saying it's disabled by an admin.
-                return;
+            EnforcedAdmin enforcedAdmin;
+            ComponentName adminComponent = mDPM.getProfileOwnerAsUser(getUserId());
+            if (adminComponent != null && mDPM.isOrganizationOwnedDeviceWithManagedProfile()) {
+                enforcedAdmin = new EnforcedAdmin(adminComponent,
+                        UserManager.DISALLOW_REMOVE_MANAGED_PROFILE, UserHandle.of(getUserId()));
+            } else {
+                // Todo (b/151061366): Investigate this case to check if it is still viable.
+                if (hasBaseCantRemoveProfileRestriction()) {
+                    // If DISALLOW_REMOVE_MANAGED_PROFILE is set by the system, there's no
+                    // point showing a dialog saying it's disabled by an admin.
+                    return;
+                }
+                enforcedAdmin = getAdminEnforcingCantRemoveProfile();
             }
-            EnforcedAdmin enforcedAdmin = getAdminEnforcingCantRemoveProfile();
             if (enforcedAdmin != null) {
                 RestrictedLockUtils.sendShowAdminSupportDetailsIntent(
                         DeviceAdminAdd.this,
@@ -642,7 +648,8 @@
 
                 final EnforcedAdmin admin = getAdminEnforcingCantRemoveProfile();
                 final boolean hasBaseRestriction = hasBaseCantRemoveProfileRestriction();
-                if (admin != null && !hasBaseRestriction) {
+                if ((hasBaseRestriction && mDPM.isOrganizationOwnedDeviceWithManagedProfile())
+                        || (admin != null && !hasBaseRestriction)) {
                     findViewById(R.id.restricted_icon).setVisibility(View.VISIBLE);
                 }
                 mActionButton.setEnabled(admin == null && !hasBaseRestriction);
diff --git a/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminListPreferenceController.java b/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminListPreferenceController.java
index 7b139d9..0f8849d 100644
--- a/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminListPreferenceController.java
+++ b/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminListPreferenceController.java
@@ -45,13 +45,14 @@
 import androidx.preference.PreferenceScreen;
 import androidx.preference.SwitchPreference;
 
-import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.overlay.FeatureFactory;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 import com.android.settingslib.core.lifecycle.LifecycleObserver;
 import com.android.settingslib.core.lifecycle.events.OnStart;
 import com.android.settingslib.core.lifecycle.events.OnStop;
 import com.android.settingslib.widget.FooterPreference;
-import com.android.settingslib.widget.FooterPreferenceMixinCompat;
 
 import org.xmlpull.v1.XmlPullParserException;
 
@@ -67,11 +68,13 @@
 
     private static final IntentFilter FILTER = new IntentFilter();
     private static final String TAG = "DeviceAdminListPrefCtrl";
+    private static final String KEY_DEVICE_ADMIN_FOOTER = "device_admin_footer";
 
     private final DevicePolicyManager mDPM;
     private final UserManager mUm;
     private final PackageManager mPackageManager;
     private final IPackageManager mIPackageManager;
+    private final MetricsFeatureProvider mMetricsFeatureProvider;
     /**
      * Internal collection of device admin info objects for all profiles associated with the current
      * user.
@@ -91,7 +94,7 @@
     };
 
     private PreferenceGroup mPreferenceGroup;
-    private FooterPreferenceMixinCompat mFooterPreferenceMixin;
+    private FooterPreference mFooterPreference;
 
     static {
         FILTER.addAction(ACTION_DEVICE_POLICY_MANAGER_STATE_CHANGED);
@@ -103,12 +106,7 @@
         mUm = (UserManager) context.getSystemService(Context.USER_SERVICE);
         mPackageManager = mContext.getPackageManager();
         mIPackageManager = AppGlobals.getPackageManager();
-    }
-
-    public DeviceAdminListPreferenceController setFooterPreferenceMixin(
-            FooterPreferenceMixinCompat mixin) {
-        mFooterPreferenceMixin = mixin;
-        return this;
+        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
     }
 
     @Override
@@ -120,6 +118,7 @@
     public void displayPreference(PreferenceScreen screen) {
         super.displayPreference(screen);
         mPreferenceGroup = screen.findPreference(getPreferenceKey());
+        mFooterPreference = mPreferenceGroup.findPreference(KEY_DEVICE_ADMIN_FOOTER);
     }
 
     @Override
@@ -167,10 +166,8 @@
         if (mPreferenceGroup == null) {
             return;
         }
-        if (mFooterPreferenceMixin != null) {
-            final FooterPreference footer = mFooterPreferenceMixin.createFooterPreference();
-            footer.setTitle(R.string.no_device_admins);
-            footer.setVisible(mAdmins.isEmpty());
+        if (mFooterPreference != null) {
+            mFooterPreference.setVisible(mAdmins.isEmpty());
         }
         final Map<String, SwitchPreference> preferenceCache = new ArrayMap<>();
         final Context prefContext = mPreferenceGroup.getContext();
@@ -205,6 +202,8 @@
         pref.setSummary(item.getDescription());
         pref.setEnabled(item.isEnabled());
         pref.setOnPreferenceClickListener(preference -> {
+            mMetricsFeatureProvider.logClickedPreference(preference,
+                    pref.getExtras().getInt(DashboardFragment.CATEGORY));
             final UserHandle user = item.getUser();
             mContext.startActivityAsUser(item.getLaunchIntent(mContext), user);
             return true;
diff --git a/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminSettings.java b/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminSettings.java
index 7cbd8c7..4a99073 100644
--- a/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminSettings.java
+++ b/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminSettings.java
@@ -17,18 +17,12 @@
 package com.android.settings.applications.specialaccess.deviceadmin;
 
 import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.provider.SearchIndexableResource;
 
 import com.android.settings.R;
 import com.android.settings.dashboard.DashboardFragment;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
 import com.android.settingslib.search.SearchIndexable;
 
-import java.util.ArrayList;
-import java.util.List;
-
 @SearchIndexable
 public class DeviceAdminSettings extends DashboardFragment {
     static final String TAG = "DeviceAdminSettings";
@@ -38,13 +32,6 @@
     }
 
     @Override
-    public void onAttach(Context context) {
-        super.onAttach(context);
-        use(DeviceAdminListPreferenceController.class).setFooterPreferenceMixin(
-                mFooterPreferenceMixin);
-    }
-
-    @Override
     protected int getPreferenceScreenResId() {
         return R.xml.device_admin_settings;
     }
@@ -54,17 +41,6 @@
         return TAG;
     }
 
-    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
-                        boolean enabled) {
-                    final ArrayList<SearchIndexableResource> result = new ArrayList<>();
-
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.device_admin_settings;
-                    result.add(sir);
-                    return result;
-                }
-            };
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.device_admin_settings);
 }
diff --git a/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesController.java b/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesController.java
new file mode 100644
index 0000000..bc8542e
--- /dev/null
+++ b/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesController.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.applications.specialaccess.interactacrossprofiles;
+
+import android.content.Context;
+import android.content.pm.CrossProfileApps;
+import android.content.pm.PackageManager;
+import android.content.pm.UserInfo;
+import android.os.UserHandle;
+import android.os.UserManager;
+
+import com.android.settings.R;
+import com.android.settings.core.BasePreferenceController;
+
+import java.util.List;
+
+/**
+ * Controller to decide when to show the "Connected work and personal apps" option in the
+ * Special access screen.
+ */
+public class InteractAcrossProfilesController extends BasePreferenceController {
+
+    private final Context mContext;
+    private final UserManager mUserManager;
+    private final PackageManager mPackageManager;
+    private final CrossProfileApps mCrossProfileApps;
+
+    public InteractAcrossProfilesController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+
+        mContext = context;
+        mUserManager = mContext.getSystemService(UserManager.class);
+        mCrossProfileApps = mContext.getSystemService(CrossProfileApps.class);
+        mPackageManager = mContext.getPackageManager();
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        final List<UserInfo> profiles = mUserManager.getProfiles(UserHandle.myUserId());
+        for (final UserInfo userInfo : profiles) {
+            if (userInfo.isManagedProfile()) {
+                return AVAILABLE;
+            }
+        }
+        return DISABLED_FOR_USER;
+    }
+
+    @Override
+    public CharSequence getSummary() {
+        final int connectedApps = InteractAcrossProfilesSettings.getNumberOfEnabledApps(
+                mContext, mPackageManager, mUserManager, mCrossProfileApps);
+        return connectedApps == 0
+                ? mContext.getResources().getString(
+                        R.string.interact_across_profiles_number_of_connected_apps_none)
+                : mContext.getResources().getQuantityString(
+                        R.plurals.interact_across_profiles_number_of_connected_apps,
+                        connectedApps,
+                        connectedApps);
+    }
+}
diff --git a/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesDetails.java b/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesDetails.java
new file mode 100644
index 0000000..ff61626
--- /dev/null
+++ b/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesDetails.java
@@ -0,0 +1,242 @@
+/*
+ * 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.applications.specialaccess.interactacrossprofiles;
+
+import android.Manifest;
+import android.app.AppOpsManager;
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.content.DialogInterface;
+import android.content.PermissionChecker;
+import android.content.pm.CrossProfileApps;
+import android.content.pm.PackageManager;
+import android.content.pm.UserInfo;
+import android.os.Bundle;
+import android.os.UserHandle;
+import android.os.UserManager;
+import android.util.IconDrawableFactory;
+import android.view.View;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import androidx.annotation.Nullable;
+import androidx.appcompat.app.AlertDialog;
+import androidx.preference.Preference;
+import androidx.preference.SwitchPreference;
+
+import com.android.settings.R;
+import com.android.settings.applications.AppInfoBase;
+import com.android.settingslib.widget.LayoutPreference;
+
+public class InteractAcrossProfilesDetails extends AppInfoBase
+        implements Preference.OnPreferenceClickListener {
+
+    private static final String INTERACT_ACROSS_PROFILES_SETTINGS_SWITCH =
+            "interact_across_profiles_settings_switch";
+    private static final String INTERACT_ACROSS_PROFILES_HEADER = "interact_across_profiles_header";
+
+    private Context mContext;
+    private CrossProfileApps mCrossProfileApps;
+    private UserManager mUserManager;
+    private SwitchPreference mSwitchPref;
+    private LayoutPreference mHeader;
+    private PackageManager mPackageManager;
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+
+        mContext = getContext();
+        mCrossProfileApps = mContext.getSystemService(CrossProfileApps.class);
+        mUserManager = mContext.getSystemService(UserManager.class);
+        mPackageManager = mContext.getPackageManager();
+
+        addPreferencesFromResource(R.xml.interact_across_profiles_permissions_details);
+        mSwitchPref = findPreference(INTERACT_ACROSS_PROFILES_SETTINGS_SWITCH);
+        mSwitchPref.setOnPreferenceClickListener(this);
+        mHeader = findPreference(INTERACT_ACROSS_PROFILES_HEADER);
+
+        // refreshUi checks that the user can still configure the appOp, return to the
+        // previous page if it can't.
+        if (!refreshUi()) {
+            setIntentAndFinish(true/* appChanged */);
+        }
+        final UserHandle workProfile = getWorkProfile();
+        final UserHandle personalProfile = mUserManager.getProfileParent(workProfile);
+        addAppTitleAndIcons(personalProfile, workProfile);
+    }
+
+    private void addAppTitleAndIcons(UserHandle personalProfile, UserHandle workProfile) {
+        final TextView title = mHeader.findViewById(R.id.entity_header_title);
+        if (title != null) {
+            final String appLabel = mPackageInfo.applicationInfo.loadLabel(
+                    mPackageManager).toString();
+            title.setText(appLabel);
+        }
+
+        final ImageView personalIconView = mHeader.findViewById(R.id.entity_header_icon_personal);
+        if (personalIconView != null) {
+            personalIconView.setImageDrawable(IconDrawableFactory.newInstance(mContext)
+                    .getBadgedIcon(mPackageInfo.applicationInfo, personalProfile.getIdentifier()));
+        }
+        final ImageView workIconView2 = mHeader.findViewById(R.id.entity_header_icon_work);
+        if (workIconView2 != null) {
+            workIconView2.setImageDrawable(IconDrawableFactory.newInstance(mContext)
+                    .getBadgedIcon(mPackageInfo.applicationInfo, workProfile.getIdentifier()));
+        }
+    }
+
+    @Nullable
+    private UserHandle getWorkProfile() {
+        for (UserInfo user : mUserManager.getProfiles(UserHandle.myUserId())) {
+            if (mUserManager.isManagedProfile(user.id)) {
+                return user.getUserHandle();
+            }
+        }
+        return null;
+    }
+
+    @Override
+    public boolean onPreferenceClick(Preference preference) {
+        if (preference != mSwitchPref) {
+            return false;
+        }
+        // refreshUi checks that the user can still configure the appOp, return to the
+        // previous page if it can't.
+        if (!refreshUi()) {
+            setIntentAndFinish(true/* appChanged */);
+        }
+        if (isInteractAcrossProfilesEnabled()) {
+            enableInteractAcrossProfiles(false);
+            refreshUi();
+            return true;
+        }
+        if (!isInteractAcrossProfilesEnabled()) {
+            showConsentDialog();
+        }
+        return true;
+    }
+
+    private void showConsentDialog() {
+        final String appLabel = mPackageInfo.applicationInfo.loadLabel(mPackageManager).toString();
+
+        final View dialogView = getLayoutInflater().inflate(
+                R.layout.interact_across_profiles_consent_dialog, null);
+
+        final TextView dialogTitle = dialogView.findViewById(
+                R.id.interact_across_profiles_consent_dialog_title);
+        dialogTitle.setText(
+                getString(R.string.interact_across_profiles_consent_dialog_title, appLabel));
+
+        final TextView dialogSummary = dialogView.findViewById(
+                R.id.interact_across_profiles_consent_dialog_summary);
+        dialogSummary.setText(
+                getString(R.string.interact_across_profiles_consent_dialog_summary, appLabel));
+
+        final TextView appDataSummary = dialogView.findViewById(R.id.app_data_summary);
+        appDataSummary.setText(getString(
+                R.string.interact_across_profiles_consent_dialog_app_data_summary, appLabel));
+
+        final TextView permissionsSummary = dialogView.findViewById(R.id.permissions_summary);
+        permissionsSummary.setText(getString(
+                R.string.interact_across_profiles_consent_dialog_permissions_summary, appLabel));
+
+        AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
+        builder.setView(dialogView)
+                .setPositiveButton(R.string.allow, new DialogInterface.OnClickListener() {
+                    public void onClick(DialogInterface dialog, int which) {
+                        enableInteractAcrossProfiles(true);
+                        refreshUi();
+                    }
+                })
+                .setNegativeButton(R.string.deny, new DialogInterface.OnClickListener() {
+                    public void onClick(DialogInterface dialog, int which) {
+                        refreshUi();
+                    }
+                })
+                .create().show();
+    }
+
+    private boolean isInteractAcrossProfilesEnabled() {
+        return isInteractAcrossProfilesEnabled(
+                mContext, mPackageName, mPackageInfo.applicationInfo.uid);
+    }
+
+    static boolean isInteractAcrossProfilesEnabled(Context context, String packageName, int uid) {
+        return PermissionChecker.PERMISSION_GRANTED
+                == PermissionChecker.checkPermissionForPreflight(
+                        context,
+                        Manifest.permission.INTERACT_ACROSS_PROFILES,
+                        PermissionChecker.PID_UNKNOWN,
+                        uid,
+                        packageName);
+    }
+
+    private void enableInteractAcrossProfiles(boolean newState) {
+        mCrossProfileApps.setInteractAcrossProfilesAppOp(
+                mPackageName, newState ? AppOpsManager.MODE_ALLOWED : AppOpsManager.MODE_IGNORED);
+    }
+
+    /**
+     * @return the summary for the current state of whether the app associated with the given
+     * {@code packageName} is allowed to interact across profiles.
+     */
+    public static CharSequence getPreferenceSummary(Context context, String packageName, int uid) {
+        return context.getString(isInteractAcrossProfilesEnabled(context, packageName, uid)
+                ? R.string.app_permission_summary_allowed
+                : R.string.app_permission_summary_not_allowed);
+    }
+
+    @Override
+    protected boolean refreshUi() {
+        if (mPackageInfo == null || mPackageInfo.applicationInfo == null) {
+            return false;
+        }
+        if (!mCrossProfileApps.canConfigureInteractAcrossProfiles(mPackageName)) {
+            // Invalid app entry. Should not allow changing permission
+            mSwitchPref.setEnabled(false);
+            return false;
+        }
+
+        final ImageView horizontalArrowIcon = mHeader.findViewById(R.id.entity_header_swap_horiz);
+        if (isInteractAcrossProfilesEnabled()) {
+            mSwitchPref.setChecked(true);
+            mSwitchPref.setTitle(R.string.interact_across_profiles_switch_enabled);
+            if (horizontalArrowIcon != null) {
+                horizontalArrowIcon.setImageDrawable(
+                        mContext.getDrawable(R.drawable.ic_swap_horiz_blue));
+            }
+        } else {
+            mSwitchPref.setChecked(false);
+            mSwitchPref.setTitle(R.string.interact_across_profiles_switch_disabled);
+            if (horizontalArrowIcon != null) {
+                horizontalArrowIcon.setImageDrawable(
+                        mContext.getDrawable(R.drawable.ic_swap_horiz_grey));
+            }
+        }
+        return true;
+    }
+
+    @Override
+    protected AlertDialog createDialog(int id, int errorCode) {
+        return null;
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.INTERACT_ACROSS_PROFILES;
+    }
+}
diff --git a/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesDetailsPreferenceController.java b/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesDetailsPreferenceController.java
new file mode 100644
index 0000000..41e25a7
--- /dev/null
+++ b/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesDetailsPreferenceController.java
@@ -0,0 +1,64 @@
+/*
+ * 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.applications.specialaccess.interactacrossprofiles;
+
+import android.content.Context;
+import android.content.pm.CrossProfileApps;
+
+import androidx.preference.Preference;
+
+import com.android.settings.SettingsPreferenceFragment;
+import com.android.settings.applications.appinfo.AppInfoPreferenceControllerBase;
+
+public class InteractAcrossProfilesDetailsPreferenceController
+        extends AppInfoPreferenceControllerBase {
+
+    private String mPackageName;
+
+    public InteractAcrossProfilesDetailsPreferenceController(Context context, String key) {
+        super(context, key);
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return canConfigureInteractAcrossProfiles() ? AVAILABLE : DISABLED_FOR_USER;
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        preference.setSummary(getPreferenceSummary());
+    }
+
+    @Override
+    protected Class<? extends SettingsPreferenceFragment> getDetailFragmentClass() {
+        return InteractAcrossProfilesDetails.class;
+    }
+
+    private CharSequence getPreferenceSummary() {
+        return InteractAcrossProfilesDetails.getPreferenceSummary(mContext, mPackageName,
+                mParent.getPackageInfo().applicationInfo.uid);
+    }
+
+    private boolean canConfigureInteractAcrossProfiles() {
+        return mContext.getSystemService(CrossProfileApps.class)
+                .canConfigureInteractAcrossProfiles(mPackageName);
+    }
+
+    public void setPackageName(String packageName) {
+        mPackageName = packageName;
+    }
+}
diff --git a/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesSettings.java b/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesSettings.java
new file mode 100644
index 0000000..d686978
--- /dev/null
+++ b/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesSettings.java
@@ -0,0 +1,177 @@
+/*
+ * 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.applications.specialaccess.interactacrossprofiles;
+
+import static android.content.pm.PackageManager.GET_ACTIVITIES;
+
+import android.annotation.Nullable;
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.CrossProfileApps;
+import android.content.pm.PackageInfo;
+import android.content.pm.PackageManager;
+import android.content.pm.UserInfo;
+import android.os.Bundle;
+import android.os.UserHandle;
+import android.os.UserManager;
+import android.util.IconDrawableFactory;
+import android.util.Pair;
+import android.view.View;
+
+import androidx.preference.Preference;
+import androidx.preference.Preference.OnPreferenceClickListener;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settings.applications.AppInfoBase;
+import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settings.widget.EmptyTextSettings;
+import com.android.settingslib.search.SearchIndexable;
+import com.android.settingslib.widget.apppreference.AppPreference;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@SearchIndexable
+public class InteractAcrossProfilesSettings extends EmptyTextSettings {
+    private Context mContext;
+    private PackageManager mPackageManager;
+    private UserManager mUserManager;
+    private CrossProfileApps mCrossProfileApps;
+    private IconDrawableFactory mIconDrawableFactory;
+
+    @Override
+    public void onCreate(Bundle icicle) {
+        super.onCreate(icicle);
+
+        mContext = getContext();
+        mPackageManager = mContext.getPackageManager();
+        mUserManager = mContext.getSystemService(UserManager.class);
+        mIconDrawableFactory = IconDrawableFactory.newInstance(mContext);
+        mCrossProfileApps = mContext.getSystemService(CrossProfileApps.class);
+    }
+
+    @Override
+    public void onResume() {
+        super.onResume();
+
+        final PreferenceScreen screen = getPreferenceScreen();
+        screen.removeAll();
+
+        final ArrayList<Pair<ApplicationInfo, UserHandle>> crossProfileApps =
+                collectConfigurableApps(mPackageManager, mUserManager, mCrossProfileApps);
+
+        final Context prefContext = getPrefContext();
+        for (final Pair<ApplicationInfo, UserHandle> appData : crossProfileApps) {
+            final ApplicationInfo appInfo = appData.first;
+            final UserHandle user = appData.second;
+            final String packageName = appInfo.packageName;
+            final CharSequence label = appInfo.loadLabel(mPackageManager);
+
+            final Preference pref = new AppPreference(prefContext);
+            pref.setIcon(mIconDrawableFactory.getBadgedIcon(appInfo, user.getIdentifier()));
+            pref.setTitle(mPackageManager.getUserBadgedLabel(label, user));
+            pref.setSummary(InteractAcrossProfilesDetails.getPreferenceSummary(prefContext,
+                    packageName, appInfo.uid));
+            pref.setOnPreferenceClickListener(new OnPreferenceClickListener() {
+                @Override
+                public boolean onPreferenceClick(Preference preference) {
+                    AppInfoBase.startAppInfoFragment(InteractAcrossProfilesDetails.class,
+                            R.string.interact_across_profiles_title,
+                            packageName,
+                            appInfo.uid,
+                            InteractAcrossProfilesSettings.this/* source */,
+                            -1/* request */,
+                            getMetricsCategory());
+                    return true;
+                }
+            });
+            screen.addPreference(pref);
+        }
+    }
+
+    @Override
+    public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
+        super.onViewCreated(view, savedInstanceState);
+        setEmptyText(R.string.interact_across_profiles_empty_text);
+    }
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.interact_across_profiles;
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.INTERACT_ACROSS_PROFILES;
+    }
+
+    /**
+     * @return the list of applications for the personal profile in the calling user's profile group
+     * that can configure interact across profiles.
+     */
+    static ArrayList<Pair<ApplicationInfo, UserHandle>> collectConfigurableApps(
+            PackageManager packageManager, UserManager userManager,
+            CrossProfileApps crossProfileApps) {
+        final UserHandle personalProfile = getPersonalProfileForCallingUser(userManager);
+        if (personalProfile == null) {
+            return new ArrayList<>();
+        }
+
+        final ArrayList<Pair<ApplicationInfo, UserHandle>> apps = new ArrayList<>();
+        final List<PackageInfo> installedPackages = packageManager.getInstalledPackagesAsUser(
+                GET_ACTIVITIES, personalProfile.getIdentifier());
+        for (PackageInfo packageInfo : installedPackages) {
+            if (crossProfileApps.canConfigureInteractAcrossProfiles(packageInfo.packageName)) {
+                apps.add(new Pair<>(packageInfo.applicationInfo, personalProfile));
+            }
+        }
+        return apps;
+    }
+
+    /**
+     * @return the number of applications that can interact across profiles.
+     */
+    static int getNumberOfEnabledApps(
+            Context context, PackageManager packageManager, UserManager userManager,
+            CrossProfileApps crossProfileApps) {
+        final ArrayList<Pair<ApplicationInfo, UserHandle>> apps =
+                collectConfigurableApps(packageManager, userManager, crossProfileApps);
+        apps.removeIf(
+                app -> !InteractAcrossProfilesDetails.isInteractAcrossProfilesEnabled(
+                        context, app.first.packageName, app.first.uid));
+        return apps.size();
+    }
+
+    /**
+     * Returns the personal profile in the profile group of the calling user.
+     * Returns null if user is not in a profile group.
+     */
+    @Nullable
+    private static UserHandle getPersonalProfileForCallingUser(UserManager userManager) {
+        final int callingUser = UserHandle.myUserId();
+        if (userManager.getProfiles(callingUser).isEmpty()) {
+            return null;
+        }
+        final UserInfo parentProfile = userManager.getProfileParent(callingUser);
+        return parentProfile == null
+                ? UserHandle.of(callingUser) : parentProfile.getUserHandle();
+    }
+
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.interact_across_profiles);
+}
diff --git a/src/com/android/settings/applications/specialaccess/notificationaccess/FriendlyWarningDialogFragment.java b/src/com/android/settings/applications/specialaccess/notificationaccess/FriendlyWarningDialogFragment.java
new file mode 100644
index 0000000..3577946
--- /dev/null
+++ b/src/com/android/settings/applications/specialaccess/notificationaccess/FriendlyWarningDialogFragment.java
@@ -0,0 +1,75 @@
+/*
+ * 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.applications.specialaccess.notificationaccess;
+
+import android.app.Dialog;
+import android.app.settings.SettingsEnums;
+import android.content.ComponentName;
+import android.content.DialogInterface;
+import android.os.Bundle;
+
+import androidx.appcompat.app.AlertDialog;
+import androidx.fragment.app.Fragment;
+
+import com.android.settings.R;
+import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
+
+public class FriendlyWarningDialogFragment extends InstrumentedDialogFragment {
+    static final String KEY_COMPONENT = "c";
+    static final String KEY_LABEL = "l";
+
+    public FriendlyWarningDialogFragment setServiceInfo(ComponentName cn, CharSequence label,
+            Fragment target) {
+        Bundle args = new Bundle();
+        args.putString(KEY_COMPONENT, cn.flattenToString());
+        args.putCharSequence(KEY_LABEL, label);
+        setArguments(args);
+        setTargetFragment(target, 0);
+        return this;
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.DIALOG_DISABLE_NOTIFICATION_ACCESS;
+    }
+
+    @Override
+    public Dialog onCreateDialog(Bundle savedInstanceState) {
+        final Bundle args = getArguments();
+        final CharSequence label = args.getCharSequence(KEY_LABEL);
+        final ComponentName cn = ComponentName.unflattenFromString(args
+                .getString(KEY_COMPONENT));
+        NotificationAccessDetails parent = (NotificationAccessDetails) getTargetFragment();
+
+        final String summary = getResources().getString(
+                R.string.notification_listener_disable_warning_summary, label);
+        return new AlertDialog.Builder(getContext())
+                .setMessage(summary)
+                .setCancelable(true)
+                .setPositiveButton(R.string.notification_listener_disable_warning_confirm,
+                        new DialogInterface.OnClickListener() {
+                            @Override
+                            public void onClick(DialogInterface dialog, int which) {
+                                parent.disable(cn);
+                            }
+                        })
+                .setNegativeButton(R.string.notification_listener_disable_warning_cancel,
+                        (dialog, id) -> {
+                            // pass
+                        })
+                .create();
+    }
+}
diff --git a/src/com/android/settings/applications/specialaccess/notificationaccess/NotificationAccessController.java b/src/com/android/settings/applications/specialaccess/notificationaccess/NotificationAccessController.java
index f9e8fe3..1da88a6 100644
--- a/src/com/android/settings/applications/specialaccess/notificationaccess/NotificationAccessController.java
+++ b/src/com/android/settings/applications/specialaccess/notificationaccess/NotificationAccessController.java
@@ -16,7 +16,8 @@
 
 package com.android.settings.applications.specialaccess.notificationaccess;
 
-import android.app.ActivityManager;
+import android.app.NotificationManager;
+import android.content.ComponentName;
 import android.content.Context;
 
 import com.android.settings.core.BasePreferenceController;
@@ -29,8 +30,11 @@
 
     @Override
     public int getAvailabilityStatus() {
-        return !ActivityManager.isLowRamDeviceStatic()
-                ? AVAILABLE_UNSEARCHABLE
-                : UNSUPPORTED_ON_DEVICE;
+        return AVAILABLE;
+    }
+
+    public static boolean hasAccess(Context context, ComponentName cn) {
+        return context.getSystemService(NotificationManager.class)
+                .isNotificationListenerAccessGranted(cn);
     }
 }
diff --git a/src/com/android/settings/applications/specialaccess/notificationaccess/NotificationAccessDetails.java b/src/com/android/settings/applications/specialaccess/notificationaccess/NotificationAccessDetails.java
new file mode 100644
index 0000000..58a6d7f
--- /dev/null
+++ b/src/com/android/settings/applications/specialaccess/notificationaccess/NotificationAccessDetails.java
@@ -0,0 +1,221 @@
+/*
+ * 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.applications.specialaccess.notificationaccess;
+
+import android.app.Activity;
+import android.app.NotificationManager;
+import android.app.settings.SettingsEnums;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.PackageManager;
+import android.content.pm.ResolveInfo;
+import android.content.pm.ServiceInfo;
+import android.os.AsyncTask;
+import android.os.Bundle;
+import android.os.UserManager;
+import android.provider.Settings;
+import android.service.notification.NotificationListenerService;
+import android.util.IconDrawableFactory;
+import android.util.Log;
+import android.util.Slog;
+
+import androidx.annotation.VisibleForTesting;
+import androidx.appcompat.app.AlertDialog;
+import androidx.preference.Preference;
+import androidx.preference.SwitchPreference;
+
+import com.android.settings.R;
+import com.android.settings.applications.AppInfoBase;
+import com.android.settings.overlay.FeatureFactory;
+import com.android.settings.widget.EntityHeaderController;
+import com.android.settingslib.applications.AppUtils;
+
+import java.util.List;
+import java.util.Objects;
+
+public class NotificationAccessDetails extends AppInfoBase {
+    private static final String TAG = "NotifAccessDetails";
+    private static final String SWITCH_PREF_KEY = "notification_access_switch";
+
+    private boolean mCreated;
+    private ComponentName mComponentName;
+    private CharSequence mServiceName;
+    private boolean mIsNls;
+
+    private NotificationManager mNm;
+    private PackageManager mPm;
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        final Intent intent = getIntent();
+        if (mComponentName == null && intent != null) {
+            String cn = intent.getStringExtra(Settings.EXTRA_NOTIFICATION_LISTENER_COMPONENT_NAME);
+            if (cn != null) {
+                mComponentName = ComponentName.unflattenFromString(cn);
+                if (mComponentName != null) {
+                    final Bundle args = getArguments();
+                    args.putString(ARG_PACKAGE_NAME, mComponentName.getPackageName());
+                }
+            }
+        }
+        super.onCreate(savedInstanceState);
+        mNm = getContext().getSystemService(NotificationManager.class);
+        mPm = getPackageManager();
+        addPreferencesFromResource(R.xml.notification_access_permission_details);
+    }
+
+    @Override
+    public void onActivityCreated(Bundle savedInstanceState) {
+        super.onActivityCreated(savedInstanceState);
+        if (mCreated) {
+            Log.w(TAG, "onActivityCreated: ignoring duplicate call");
+            return;
+        }
+        mCreated = true;
+        if (mPackageInfo == null) return;
+        loadNotificationListenerService();
+        final Activity activity = getActivity();
+        final Preference pref = EntityHeaderController
+                .newInstance(activity, this, null /* header */)
+                .setRecyclerView(getListView(), getSettingsLifecycle())
+                .setIcon(IconDrawableFactory.newInstance(getContext())
+                        .getBadgedIcon(mPackageInfo.applicationInfo))
+                .setLabel(mPackageInfo.applicationInfo.loadLabel(mPm))
+                .setSummary(mServiceName)
+                .setIsInstantApp(AppUtils.isInstant(mPackageInfo.applicationInfo))
+                .setPackageName(mPackageName)
+                .setUid(mPackageInfo.applicationInfo.uid)
+                .setHasAppInfoLink(true)
+                .setButtonActions(EntityHeaderController.ActionType.ACTION_NONE,
+                        EntityHeaderController.ActionType.ACTION_NONE)
+                .done(activity, getPrefContext());
+        getPreferenceScreen().addPreference(pref);
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.NOTIFICATION_ACCESS_DETAIL;
+    }
+
+    @Override
+    protected boolean refreshUi() {
+        final Context context = getContext();
+        if (mComponentName == null) {
+            // No service given
+            Slog.d(TAG, "No component name provided");
+            return false;
+        }
+        if (!mIsNls) {
+            // This component doesn't have the right androidmanifest definition to be an NLS
+            Slog.d(TAG, "Provided component name is not an NLS");
+            return false;
+        }
+        if (UserManager.get(getContext()).isManagedProfile()) {
+            // Apps in the work profile do not support notification listeners.
+            Slog.d(TAG, "NLSes aren't allowed in work profiles");
+            return false;
+        }
+        updatePreference(findPreference(SWITCH_PREF_KEY));
+        return true;
+    }
+
+    @Override
+    protected AlertDialog createDialog(int id, int errorCode) {
+        return null;
+    }
+
+    public void updatePreference(SwitchPreference preference) {
+        final CharSequence label = mPackageInfo.applicationInfo.loadLabel(mPm);
+        preference.setChecked(isServiceEnabled(mComponentName));
+        preference.setOnPreferenceChangeListener((p, newValue) -> {
+            final boolean access = (Boolean) newValue;
+            if (!access) {
+                if (!isServiceEnabled(mComponentName)) {
+                    return true; // already disabled
+                }
+                // show a friendly dialog
+                new FriendlyWarningDialogFragment()
+                        .setServiceInfo(mComponentName, label, this)
+                        .show(getFragmentManager(), "friendlydialog");
+                return false;
+            } else {
+                if (isServiceEnabled(mComponentName)) {
+                    return true; // already enabled
+                }
+                // show a scary dialog
+                new ScaryWarningDialogFragment()
+                        .setServiceInfo(mComponentName, label, this)
+                        .show(getFragmentManager(), "dialog");
+                return false;
+            }
+        });
+    }
+
+    @VisibleForTesting
+    void logSpecialPermissionChange(boolean enable, String packageName) {
+        int logCategory = enable ? SettingsEnums.APP_SPECIAL_PERMISSION_NOTIVIEW_ALLOW
+                : SettingsEnums.APP_SPECIAL_PERMISSION_NOTIVIEW_DENY;
+        FeatureFactory.getFactory(getContext()).getMetricsFeatureProvider().action(getContext(),
+                logCategory, packageName);
+    }
+
+    public void disable(final ComponentName cn) {
+        logSpecialPermissionChange(true, cn.getPackageName());
+        mNm.setNotificationListenerAccessGranted(cn, false);
+        AsyncTask.execute(() -> {
+            if (!mNm.isNotificationPolicyAccessGrantedForPackage(
+                    cn.getPackageName())) {
+                mNm.removeAutomaticZenRules(cn.getPackageName());
+            }
+        });
+        refreshUi();
+    }
+
+    protected void enable(ComponentName cn) {
+        logSpecialPermissionChange(true, cn.getPackageName());
+        mNm.setNotificationListenerAccessGranted(cn, true);
+        refreshUi();
+    }
+
+    protected boolean isServiceEnabled(ComponentName cn) {
+        return mNm.isNotificationListenerAccessGranted(cn);
+    }
+
+    protected void loadNotificationListenerService() {
+        mIsNls = false;
+
+        if (mComponentName == null) {
+            return;
+        }
+        Intent intent = new Intent(NotificationListenerService.SERVICE_INTERFACE)
+                .setComponent(mComponentName);
+        List<ResolveInfo> installedServices = mPm.queryIntentServicesAsUser(
+                intent, PackageManager.GET_SERVICES | PackageManager.GET_META_DATA, mUserId);
+        for (ResolveInfo resolveInfo : installedServices) {
+            ServiceInfo info = resolveInfo.serviceInfo;
+            if (android.Manifest.permission.BIND_NOTIFICATION_LISTENER_SERVICE.equals(
+                    info.permission)) {
+                if (Objects.equals(mComponentName, info.getComponentName())) {
+                    mIsNls = true;
+                    mServiceName = info.loadLabel(mPm);
+                    break;
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/settings/applications/specialaccess/notificationaccess/NotificationAccessScreenPreferenceController.java b/src/com/android/settings/applications/specialaccess/notificationaccess/NotificationAccessScreenPreferenceController.java
index b86489d..121df01 100644
--- a/src/com/android/settings/applications/specialaccess/notificationaccess/NotificationAccessScreenPreferenceController.java
+++ b/src/com/android/settings/applications/specialaccess/notificationaccess/NotificationAccessScreenPreferenceController.java
@@ -16,7 +16,6 @@
 
 package com.android.settings.applications.specialaccess.notificationaccess;
 
-import android.app.ActivityManager;
 import android.content.Context;
 
 import com.android.settings.core.BasePreferenceController;
@@ -29,8 +28,6 @@
 
     @Override
     public int getAvailabilityStatus() {
-        return !ActivityManager.isLowRamDeviceStatic()
-                ? AVAILABLE
-                : UNSUPPORTED_ON_DEVICE;
+        return AVAILABLE;
     }
 }
diff --git a/src/com/android/settings/applications/specialaccess/notificationaccess/ScaryWarningDialogFragment.java b/src/com/android/settings/applications/specialaccess/notificationaccess/ScaryWarningDialogFragment.java
new file mode 100644
index 0000000..6613f96e7
--- /dev/null
+++ b/src/com/android/settings/applications/specialaccess/notificationaccess/ScaryWarningDialogFragment.java
@@ -0,0 +1,79 @@
+/*
+ * 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.applications.specialaccess.notificationaccess;
+
+import android.app.Dialog;
+import android.app.settings.SettingsEnums;
+import android.content.ComponentName;
+import android.content.DialogInterface;
+import android.os.Bundle;
+
+import androidx.appcompat.app.AlertDialog;
+import androidx.fragment.app.Fragment;
+
+import com.android.settings.R;
+import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
+
+
+public class ScaryWarningDialogFragment extends InstrumentedDialogFragment {
+    private static final String KEY_COMPONENT = "c";
+    private static final String KEY_LABEL = "l";
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.DIALOG_SERVICE_ACCESS_WARNING;
+    }
+
+    public ScaryWarningDialogFragment setServiceInfo(ComponentName cn, CharSequence label,
+            Fragment target) {
+        Bundle args = new Bundle();
+        args.putString(KEY_COMPONENT, cn.flattenToString());
+        args.putCharSequence(KEY_LABEL, label);
+        setArguments(args);
+        setTargetFragment(target, 0);
+        return this;
+    }
+
+    @Override
+    public Dialog onCreateDialog(Bundle savedInstanceState) {
+        final Bundle args = getArguments();
+        final CharSequence label = args.getCharSequence(KEY_LABEL);
+        final ComponentName cn = ComponentName.unflattenFromString(args
+                .getString(KEY_COMPONENT));
+        NotificationAccessDetails parent = (NotificationAccessDetails) getTargetFragment();
+
+        final String title = getResources().getString(
+                R.string.notification_listener_security_warning_title, label);
+        final String summary = getResources().getString(
+                R.string.notification_listener_security_warning_summary, label);
+        return new AlertDialog.Builder(getContext())
+                .setMessage(summary)
+                .setTitle(title)
+                .setCancelable(true)
+                .setPositiveButton(R.string.allow,
+                        new DialogInterface.OnClickListener() {
+                            @Override
+                            public void onClick(DialogInterface dialog, int which) {
+                                parent.enable(cn);
+                            }
+                        })
+                .setNegativeButton(R.string.deny,
+                        (dialog, id) -> {
+                            // pass
+                        })
+                .create();
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/settings/applications/specialaccess/pictureinpicture/PictureInPictureController.java b/src/com/android/settings/applications/specialaccess/pictureinpicture/PictureInPictureController.java
index 714b662..fa8afc9 100644
--- a/src/com/android/settings/applications/specialaccess/pictureinpicture/PictureInPictureController.java
+++ b/src/com/android/settings/applications/specialaccess/pictureinpicture/PictureInPictureController.java
@@ -18,6 +18,7 @@
 
 import android.app.ActivityManager;
 import android.content.Context;
+import android.content.pm.PackageManager;
 
 import com.android.settings.core.BasePreferenceController;
 
@@ -30,7 +31,7 @@
     @Override
     public int getAvailabilityStatus() {
         return !ActivityManager.isLowRamDeviceStatic()
-                ? AVAILABLE_UNSEARCHABLE
-                : UNSUPPORTED_ON_DEVICE;
+                && mContext.getPackageManager().hasSystemFeature(
+                PackageManager.FEATURE_PICTURE_IN_PICTURE) ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
     }
 }
diff --git a/src/com/android/settings/applications/specialaccess/pictureinpicture/PictureInPictureDetailPreferenceController.java b/src/com/android/settings/applications/specialaccess/pictureinpicture/PictureInPictureDetailPreferenceController.java
index 1f94ed1..874f707 100644
--- a/src/com/android/settings/applications/specialaccess/pictureinpicture/PictureInPictureDetailPreferenceController.java
+++ b/src/com/android/settings/applications/specialaccess/pictureinpicture/PictureInPictureDetailPreferenceController.java
@@ -43,6 +43,10 @@
 
     @Override
     public int getAvailabilityStatus() {
+        if (!mContext.getPackageManager().hasSystemFeature(
+                PackageManager.FEATURE_PICTURE_IN_PICTURE)) {
+            return UNSUPPORTED_ON_DEVICE;
+        }
         return hasPictureInPictureActivites() ? AVAILABLE : DISABLED_FOR_USER;
     }
 
diff --git a/src/com/android/settings/applications/specialaccess/pictureinpicture/PictureInPictureSettings.java b/src/com/android/settings/applications/specialaccess/pictureinpicture/PictureInPictureSettings.java
index fdbe1d8..15757a0 100644
--- a/src/com/android/settings/applications/specialaccess/pictureinpicture/PictureInPictureSettings.java
+++ b/src/com/android/settings/applications/specialaccess/pictureinpicture/PictureInPictureSettings.java
@@ -28,7 +28,6 @@
 import android.os.Bundle;
 import android.os.UserHandle;
 import android.os.UserManager;
-import android.provider.SearchIndexableResource;
 import android.util.IconDrawableFactory;
 import android.util.Pair;
 import android.view.View;
@@ -41,7 +40,6 @@
 import com.android.settings.R;
 import com.android.settings.applications.AppInfoBase;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
 import com.android.settings.widget.EmptyTextSettings;
 import com.android.settingslib.search.SearchIndexable;
 import com.android.settingslib.widget.apppreference.AppPreference;
@@ -219,17 +217,6 @@
         return pipApps;
     }
 
-    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
-                        boolean enabled) {
-                    final ArrayList<SearchIndexableResource> result = new ArrayList<>();
-
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.picture_in_picture_settings;
-                    result.add(sir);
-                    return result;
-                }
-            };
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.picture_in_picture_settings);
 }
diff --git a/src/com/android/settings/applications/specialaccess/premiumsms/PremiumSmsAccess.java b/src/com/android/settings/applications/specialaccess/premiumsms/PremiumSmsAccess.java
index a40ddc9..f1c578e 100644
--- a/src/com/android/settings/applications/specialaccess/premiumsms/PremiumSmsAccess.java
+++ b/src/com/android/settings/applications/specialaccess/premiumsms/PremiumSmsAccess.java
@@ -21,7 +21,7 @@
 import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.os.Bundle;
-import android.provider.SearchIndexableResource;
+import android.telephony.SmsManager;
 import android.view.View;
 
 import androidx.annotation.VisibleForTesting;
@@ -31,14 +31,12 @@
 import androidx.preference.PreferenceScreen;
 import androidx.preference.PreferenceViewHolder;
 
-import com.android.internal.telephony.SmsUsageMonitor;
 import com.android.settings.R;
 import com.android.settings.applications.AppStateBaseBridge.Callback;
 import com.android.settings.applications.AppStateSmsPremBridge;
 import com.android.settings.applications.AppStateSmsPremBridge.SmsState;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
 import com.android.settings.widget.EmptyTextSettings;
 import com.android.settingslib.applications.ApplicationsState;
 import com.android.settingslib.applications.ApplicationsState.AppEntry;
@@ -49,7 +47,6 @@
 import com.android.settingslib.widget.FooterPreference;
 
 import java.util.ArrayList;
-import java.util.List;
 
 @SearchIndexable
 public class PremiumSmsAccess extends EmptyTextSettings
@@ -113,20 +110,20 @@
 
     @VisibleForTesting
     void logSpecialPermissionChange(int smsState, String packageName) {
-        int category = SmsUsageMonitor.PREMIUM_SMS_PERMISSION_UNKNOWN;
+        int category = SmsManager.PREMIUM_SMS_CONSENT_UNKNOWN;
         switch (smsState) {
-            case SmsUsageMonitor.PREMIUM_SMS_PERMISSION_ASK_USER:
+            case SmsManager.PREMIUM_SMS_CONSENT_ASK_USER:
                 category = SettingsEnums.APP_SPECIAL_PERMISSION_PREMIUM_SMS_ASK;
                 break;
-            case SmsUsageMonitor.PREMIUM_SMS_PERMISSION_NEVER_ALLOW:
+            case SmsManager.PREMIUM_SMS_CONSENT_NEVER_ALLOW:
                 category = SettingsEnums.APP_SPECIAL_PERMISSION_PREMIUM_SMS_DENY;
                 break;
-            case SmsUsageMonitor.PREMIUM_SMS_PERMISSION_ALWAYS_ALLOW:
+            case SmsManager.PREMIUM_SMS_CONSENT_ALWAYS_ALLOW:
                 category = SettingsEnums.
                         APP_SPECIAL_PERMISSION_PREMIUM_SMS_ALWAYS_ALLOW;
                 break;
         }
-        if (category != SmsUsageMonitor.PREMIUM_SMS_PERMISSION_UNKNOWN) {
+        if (category != SmsManager.PREMIUM_SMS_CONSENT_UNKNOWN) {
             // TODO(117860032): Category is wrong. It should be defined in SettingsEnums.
             final MetricsFeatureProvider metricsFeatureProvider =
                     FeatureFactory.getFactory(getContext()).getMetricsFeatureProvider();
@@ -223,9 +220,9 @@
             }
             setEntries(R.array.security_settings_premium_sms_values);
             setEntryValues(new CharSequence[]{
-                    String.valueOf(SmsUsageMonitor.PREMIUM_SMS_PERMISSION_ASK_USER),
-                    String.valueOf(SmsUsageMonitor.PREMIUM_SMS_PERMISSION_NEVER_ALLOW),
-                    String.valueOf(SmsUsageMonitor.PREMIUM_SMS_PERMISSION_ALWAYS_ALLOW),
+                    String.valueOf(SmsManager.PREMIUM_SMS_CONSENT_ASK_USER),
+                    String.valueOf(SmsManager.PREMIUM_SMS_CONSENT_NEVER_ALLOW),
+                    String.valueOf(SmsManager.PREMIUM_SMS_CONSENT_ALWAYS_ALLOW),
             });
             setValue(String.valueOf(getCurrentValue()));
             setSummary("%s");
@@ -234,7 +231,7 @@
         private int getCurrentValue() {
             return mAppEntry.extraInfo instanceof SmsState
                     ? ((SmsState) mAppEntry.extraInfo).smsState
-                    : SmsUsageMonitor.PREMIUM_SMS_PERMISSION_UNKNOWN;
+                    : SmsManager.PREMIUM_SMS_CONSENT_UNKNOWN;
         }
 
         @Override
@@ -252,17 +249,6 @@
         }
     }
 
-    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
-                        boolean enabled) {
-                    final ArrayList<SearchIndexableResource> result = new ArrayList<>();
-
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.premium_sms_settings;
-                    result.add(sir);
-                    return result;
-                }
-            };
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.premium_sms_settings);
 }
diff --git a/src/com/android/settings/applications/specialaccess/premiumsms/PremiumSmsController.java b/src/com/android/settings/applications/specialaccess/premiumsms/PremiumSmsController.java
index 158fe3c..9c6ab8c 100644
--- a/src/com/android/settings/applications/specialaccess/premiumsms/PremiumSmsController.java
+++ b/src/com/android/settings/applications/specialaccess/premiumsms/PremiumSmsController.java
@@ -30,7 +30,6 @@
     @AvailabilityStatus
     public int getAvailabilityStatus() {
         return mContext.getResources().getBoolean(R.bool.config_show_premium_sms)
-                ? AVAILABLE_UNSEARCHABLE
-                : UNSUPPORTED_ON_DEVICE;
+                ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
     }
-}
\ No newline at end of file
+}
diff --git a/src/com/android/settings/applications/specialaccess/vrlistener/EnabledVrListenersController.java b/src/com/android/settings/applications/specialaccess/vrlistener/EnabledVrListenersController.java
index fd59d8d..adefec8 100644
--- a/src/com/android/settings/applications/specialaccess/vrlistener/EnabledVrListenersController.java
+++ b/src/com/android/settings/applications/specialaccess/vrlistener/EnabledVrListenersController.java
@@ -34,8 +34,6 @@
     @AvailabilityStatus
     public int getAvailabilityStatus() {
         return mContext.getResources().getBoolean(R.bool.config_show_enabled_vr_listeners)
-                && !mActivityManager.isLowRamDevice()
-                ? AVAILABLE_UNSEARCHABLE
-                : UNSUPPORTED_ON_DEVICE;
+                && !mActivityManager.isLowRamDevice() ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
     }
-}
\ No newline at end of file
+}
diff --git a/src/com/android/settings/applications/specialaccess/vrlistener/VrListenerSettings.java b/src/com/android/settings/applications/specialaccess/vrlistener/VrListenerSettings.java
index fec57c2..a70d03e 100644
--- a/src/com/android/settings/applications/specialaccess/vrlistener/VrListenerSettings.java
+++ b/src/com/android/settings/applications/specialaccess/vrlistener/VrListenerSettings.java
@@ -17,8 +17,6 @@
 
 import android.app.settings.SettingsEnums;
 import android.content.ComponentName;
-import android.content.Context;
-import android.provider.SearchIndexableResource;
 import android.provider.Settings;
 import android.service.vr.VrListenerService;
 
@@ -27,14 +25,10 @@
 import com.android.settings.R;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
 import com.android.settings.utils.ManagedServiceSettings;
 import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 import com.android.settingslib.search.SearchIndexable;
 
-import java.util.ArrayList;
-import java.util.List;
-
 @SearchIndexable
 public class VrListenerSettings extends ManagedServiceSettings {
     private static final String TAG = VrListenerSettings.class.getSimpleName();
@@ -84,18 +78,7 @@
                 0);
     }
 
-    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
-                        boolean enabled) {
-                    final List<SearchIndexableResource> result = new ArrayList<>();
-
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.vr_listeners_settings;
-                    result.add(sir);
-                    return result;
-                }
-            };
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.vr_listeners_settings);
 
 }
diff --git a/src/com/android/settings/applications/specialaccess/zenaccess/ScaryWarningDialogFragment.java b/src/com/android/settings/applications/specialaccess/zenaccess/ScaryWarningDialogFragment.java
index 69318f8..778206b 100644
--- a/src/com/android/settings/applications/specialaccess/zenaccess/ScaryWarningDialogFragment.java
+++ b/src/com/android/settings/applications/specialaccess/zenaccess/ScaryWarningDialogFragment.java
@@ -25,7 +25,6 @@
 
 import com.android.settings.R;
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
-import com.android.settings.notification.ZenAccessSettings;
 
 /**
  * Warning dialog when allowing zen access warning about the privileges being granted.
diff --git a/src/com/android/settings/applications/specialaccess/zenaccess/ZenAccessController.java b/src/com/android/settings/applications/specialaccess/zenaccess/ZenAccessController.java
index 946599b..727870c 100644
--- a/src/com/android/settings/applications/specialaccess/zenaccess/ZenAccessController.java
+++ b/src/com/android/settings/applications/specialaccess/zenaccess/ZenAccessController.java
@@ -49,9 +49,7 @@
 
     @Override
     public int getAvailabilityStatus() {
-        return isSupported(mActivityManager)
-                ? AVAILABLE_UNSEARCHABLE
-                : UNSUPPORTED_ON_DEVICE;
+        return isSupported(mActivityManager) ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
     }
 
     public static boolean isSupported(ActivityManager activityManager) {
@@ -70,7 +68,9 @@
             final List<PackageInfo> pkgs = list.getList();
             if (pkgs != null) {
                 for (PackageInfo info : pkgs) {
-                    requestingPackages.add(info.packageName);
+                    if (info.applicationInfo.enabled) {
+                        requestingPackages.add(info.packageName);
+                    }
                 }
             }
         } catch (RemoteException e) {
diff --git a/src/com/android/settings/backup/BackupSettingsContentProvider.java b/src/com/android/settings/backup/BackupSettingsContentProvider.java
deleted file mode 100644
index 5c888ab..0000000
--- a/src/com/android/settings/backup/BackupSettingsContentProvider.java
+++ /dev/null
@@ -1,78 +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.backup;
-
-import android.content.ContentProvider;
-import android.content.ContentValues;
-import android.content.UriMatcher;
-import android.database.Cursor;
-import android.net.Uri;
-import android.os.Bundle;
-
-import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_SUMMARY;
-
-/** Provider stores and manages user interaction feedback for homepage contextual cards. */
-public class BackupSettingsContentProvider extends ContentProvider {
-    private static final String AUTHORITY =
-        "com.android.settings.backup.BackupSettingsContentProvider";
-    private static final String SUMMARY = "summary";
-    private static final UriMatcher URI_MATCHER = new UriMatcher(UriMatcher.NO_MATCH);
-    static {
-        URI_MATCHER.addURI(AUTHORITY, SUMMARY, 1);
-    }
-
-    @Override
-    public Bundle call(String method, String uri, Bundle extras) {
-        if (!SUMMARY.equals(method)) {
-            return null;
-        }
-        Bundle bundle = new Bundle();
-        bundle.putString(META_DATA_PREFERENCE_SUMMARY,
-            new BackupSettingsHelper(getContext()).getSummary());
-        return bundle;
-    }
-
-    @Override
-    public boolean onCreate() {
-        return true;
-    }
-
-    @Override
-    public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public String getType(Uri uri) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public Uri insert(Uri uri, ContentValues values) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public int delete(Uri uri, String selection, String[] selectionArgs) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs) {
-        throw new UnsupportedOperationException();
-    }
-}
diff --git a/src/com/android/settings/backup/BackupSettingsFragment.java b/src/com/android/settings/backup/BackupSettingsFragment.java
index f08c8e7..7df19f5 100644
--- a/src/com/android/settings/backup/BackupSettingsFragment.java
+++ b/src/com/android/settings/backup/BackupSettingsFragment.java
@@ -23,7 +23,7 @@
 import com.android.settings.R;
 import com.android.settings.dashboard.DashboardFragment;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
+import com.android.settingslib.search.Indexable;
 import com.android.settingslib.core.AbstractPreferenceController;
 import com.android.settingslib.search.SearchIndexable;
 
@@ -70,9 +70,8 @@
 
     // The intention is to index {@link UserBackupSettingsActivity} instead of the fragments,
     // therefore leaving this index provider empty.
-    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-            };
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider();
 
     @Override
     public int getMetricsCategory() {
diff --git a/src/com/android/settings/backup/BackupSettingsHelper.java b/src/com/android/settings/backup/BackupSettingsHelper.java
index 1d3455b..1483714 100644
--- a/src/com/android/settings/backup/BackupSettingsHelper.java
+++ b/src/com/android/settings/backup/BackupSettingsHelper.java
@@ -54,7 +54,7 @@
      * If there is only one profile, show whether the backup is on or off.
      * Otherwise, show nothing.
      */
-    String getSummary() {
+    public String getSummary() {
         UserManager userManager = (UserManager) mContext.getSystemService(Context.USER_SERVICE);
         if (userManager.getUserProfiles().size() == 1) {
             try {
diff --git a/src/com/android/settings/backup/OWNERS b/src/com/android/settings/backup/OWNERS
index a7b55fd..d5a95be 100644
--- a/src/com/android/settings/backup/OWNERS
+++ b/src/com/android/settings/backup/OWNERS
@@ -2,6 +2,7 @@
 br-framework-team+reviews@google.com
 
 # People who can approve changes for submission.
+alsutton@google.com
 anniemeng@google.com
 nathch@google.com
 rthakohov@google.com
@@ -10,4 +11,4 @@
 bryanmawhinney@google.com
 jorlow@google.com
 philippov@google.com
-stefanot@google.com
\ No newline at end of file
+stefanot@google.com
diff --git a/src/com/android/settings/backup/PrivacySettings.java b/src/com/android/settings/backup/PrivacySettings.java
index e6d2bd4..3ed2f55 100644
--- a/src/com/android/settings/backup/PrivacySettings.java
+++ b/src/com/android/settings/backup/PrivacySettings.java
@@ -18,16 +18,12 @@
 
 import android.app.settings.SettingsEnums;
 import android.content.Context;
-import android.provider.SearchIndexableResource;
 
 import com.android.settings.R;
 import com.android.settings.dashboard.DashboardFragment;
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settingslib.search.SearchIndexable;
 
-import java.util.Arrays;
-import java.util.List;
-
 @SearchIndexable
 public class PrivacySettings extends DashboardFragment {
     private static final String TAG = "PrivacySettings";
@@ -71,15 +67,8 @@
         }
     }
 
-    public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
-                        boolean enabled) {
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.privacy_settings;
-                    return Arrays.asList(sir);
-                }
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.privacy_settings) {
 
                 @Override
                 protected boolean isPageSearchEnabled(Context context) {
diff --git a/src/com/android/settings/backup/UserBackupSettingsActivity.java b/src/com/android/settings/backup/UserBackupSettingsActivity.java
index c2bcd07..08461ad 100644
--- a/src/com/android/settings/backup/UserBackupSettingsActivity.java
+++ b/src/com/android/settings/backup/UserBackupSettingsActivity.java
@@ -28,8 +28,8 @@
 
 import com.android.settings.R;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
-import com.android.settings.search.SearchIndexableRaw;
+import com.android.settingslib.search.Indexable;
+import com.android.settingslib.search.SearchIndexableRaw;
 import com.android.settingslib.search.SearchIndexable;
 
 import java.util.ArrayList;
@@ -96,7 +96,7 @@
     /**
      * For Search.
      */
-    public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
             new BaseSearchIndexProvider() {
                 private static final String BACKUP_SEARCH_INDEX_KEY = "Backup";
 
diff --git a/src/com/android/settings/biometrics/BiometricEnrollActivity.java b/src/com/android/settings/biometrics/BiometricEnrollActivity.java
index 64ddf4f..4179ea3 100644
--- a/src/com/android/settings/biometrics/BiometricEnrollActivity.java
+++ b/src/com/android/settings/biometrics/BiometricEnrollActivity.java
@@ -16,11 +16,16 @@
 
 package com.android.settings.biometrics;
 
+import android.app.admin.DevicePolicyManager;
 import android.app.settings.SettingsEnums;
 import android.content.Intent;
 import android.content.pm.PackageManager;
+import android.hardware.biometrics.BiometricManager;
+import android.hardware.biometrics.BiometricManager.Authenticators;
 import android.os.Bundle;
 import android.os.UserHandle;
+import android.provider.Settings;
+import android.util.Log;
 
 import com.android.settings.SetupWizardUtils;
 import com.android.settings.biometrics.face.FaceEnrollIntroduction;
@@ -28,6 +33,7 @@
 import com.android.settings.biometrics.fingerprint.FingerprintEnrollIntroduction;
 import com.android.settings.biometrics.fingerprint.SetupFingerprintEnrollIntroduction;
 import com.android.settings.core.InstrumentedActivity;
+import com.android.settings.password.ChooseLockGeneric;
 import com.android.settings.password.ChooseLockSettingsHelper;
 
 import com.google.android.setupcompat.util.WizardManagerHelper;
@@ -50,11 +56,34 @@
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
 
+        // Default behavior is to enroll BIOMETRIC_WEAK or above. See ACTION_BIOMETRIC_ENROLL.
+        final int authenticators = getIntent().getIntExtra(
+                Settings.EXTRA_BIOMETRIC_AUTHENTICATORS_ALLOWED, Authenticators.BIOMETRIC_WEAK);
+
+        Log.d(TAG, "Authenticators: " + authenticators);
+
+        final BiometricManager bm = getSystemService(BiometricManager.class);
         final PackageManager pm = getApplicationContext().getPackageManager();
         Intent intent = null;
 
-        // This logic may have to be modified on devices with multiple biometrics.
-        if (pm.hasSystemFeature(PackageManager.FEATURE_FINGERPRINT)) {
+        final int result = bm.canAuthenticate(authenticators);
+
+        if (!WizardManagerHelper.isAnySetupWizard(getIntent())) {
+            if (result == BiometricManager.BIOMETRIC_SUCCESS
+                    || result == BiometricManager.BIOMETRIC_ERROR_NO_HARDWARE) {
+                Log.e(TAG, "Unexpected result: " + result);
+                finish();
+                return;
+            }
+        }
+
+        if (authenticators == BiometricManager.Authenticators.DEVICE_CREDENTIAL) {
+            // If only device credential was specified, ask the user to only set that up.
+            intent = new Intent(this, ChooseLockGeneric.class);
+            intent.putExtra(ChooseLockGeneric.ChooseLockGenericFragment.MINIMUM_QUALITY_KEY,
+                    DevicePolicyManager.PASSWORD_QUALITY_SOMETHING);
+        } else if (pm.hasSystemFeature(PackageManager.FEATURE_FINGERPRINT)) {
+            // This logic may have to be modified on devices with multiple biometrics.
             // ChooseLockGeneric can request to start fingerprint enroll bypassing the intro screen.
             if (getIntent().getBooleanExtra(EXTRA_SKIP_INTRO, false)
                     && this instanceof InternalActivity) {
@@ -81,8 +110,11 @@
             }
 
             startActivity(intent);
+            finish();
+        } else {
+            Log.e(TAG, "Intent was null, finishing");
+            finish();
         }
-        finish();
     }
 
     private Intent getFingerprintFindSensorIntent() {
diff --git a/src/com/android/settings/biometrics/BiometricEnrollBase.java b/src/com/android/settings/biometrics/BiometricEnrollBase.java
index c23aee6..308878f 100644
--- a/src/com/android/settings/biometrics/BiometricEnrollBase.java
+++ b/src/com/android/settings/biometrics/BiometricEnrollBase.java
@@ -36,6 +36,7 @@
 
 import com.google.android.setupcompat.template.FooterBarMixin;
 import com.google.android.setupcompat.template.FooterButton;
+import com.google.android.setupcompat.util.WizardManagerHelper;
 import com.google.android.setupdesign.GlifLayout;
 
 /**
@@ -120,6 +121,19 @@
         initViews();
     }
 
+    @Override
+    protected void onStop() {
+        super.onStop();
+        if (!isChangingConfigurations() && shouldFinishWhenBackgrounded()) {
+            setResult(RESULT_TIMEOUT);
+            finish();
+        }
+    }
+
+    protected boolean shouldFinishWhenBackgrounded() {
+        return !WizardManagerHelper.isAnySetupWizard(getIntent());
+    }
+
     protected void initViews() {
         getWindow().setStatusBarColor(Color.TRANSPARENT);
     }
diff --git a/src/com/android/settings/biometrics/BiometricEnrollIntroduction.java b/src/com/android/settings/biometrics/BiometricEnrollIntroduction.java
index d94686e..d815f57 100644
--- a/src/com/android/settings/biometrics/BiometricEnrollIntroduction.java
+++ b/src/com/android/settings/biometrics/BiometricEnrollIntroduction.java
@@ -178,6 +178,11 @@
         }
     }
 
+    @Override
+    protected boolean shouldFinishWhenBackgrounded() {
+        return super.shouldFinishWhenBackgrounded() && !mConfirmingCredentials && !mNextClicked;
+    }
+
     private void updatePasswordQuality() {
         final int passwordQuality = new ChooseLockSettingsHelper(this).utils()
                 .getActivePasswordQuality(mUserManager.getCredentialOwnerProfile(mUserId));
@@ -243,7 +248,8 @@
     @Override
     protected void onActivityResult(int requestCode, int resultCode, Intent data) {
         if (requestCode == BIOMETRIC_FIND_SENSOR_REQUEST) {
-            if (resultCode == RESULT_FINISHED || resultCode == RESULT_SKIP) {
+            if (resultCode == RESULT_FINISHED || resultCode == RESULT_SKIP
+                    || resultCode == RESULT_TIMEOUT) {
                 setResult(resultCode, data);
                 finish();
                 return;
diff --git a/src/com/android/settings/biometrics/BiometricsEnrollEnrolling.java b/src/com/android/settings/biometrics/BiometricsEnrollEnrolling.java
index a246055..f131e35 100644
--- a/src/com/android/settings/biometrics/BiometricsEnrollEnrolling.java
+++ b/src/com/android/settings/biometrics/BiometricsEnrollEnrolling.java
@@ -23,6 +23,8 @@
 import com.android.settings.R;
 import com.android.settings.password.ChooseLockSettingsHelper;
 
+import com.google.android.setupcompat.util.WizardManagerHelper;
+
 /**
  * Abstract base activity which handles the actual enrolling for biometrics.
  */
@@ -59,6 +61,7 @@
     @Override
     protected void onStop() {
         super.onStop();
+
         if (mSidecar != null) {
             mSidecar.setListener(null);
         }
@@ -69,11 +72,20 @@
                 getSupportFragmentManager()
                         .beginTransaction().remove(mSidecar).commitAllowingStateLoss();
             }
+            if (!WizardManagerHelper.isAnySetupWizard(getIntent())) {
+                setResult(RESULT_TIMEOUT);
+            }
             finish();
         }
     }
 
     @Override
+    protected boolean shouldFinishWhenBackgrounded() {
+        // Prevent super.onStop() from finishing, since we handle this in our onStop().
+        return false;
+    }
+
+    @Override
     public void onBackPressed() {
         if (mSidecar != null) {
             mSidecar.setListener(null);
diff --git a/src/com/android/settings/biometrics/OWNERS b/src/com/android/settings/biometrics/OWNERS
index 6332a46..021e89d 100644
--- a/src/com/android/settings/biometrics/OWNERS
+++ b/src/com/android/settings/biometrics/OWNERS
@@ -1,6 +1,7 @@
 # Default reviewers for this and subdirectories.
+curtislb@google.com
 jaggies@google.com
 kchyn@google.com
 yukl@google.com
 
-# Emergency approvers in case the above are not available
\ No newline at end of file
+# Emergency approvers in case the above are not available
diff --git a/src/com/android/settings/biometrics/face/FaceEnrollEducation.java b/src/com/android/settings/biometrics/face/FaceEnrollEducation.java
index e1253c1..3b84c35 100644
--- a/src/com/android/settings/biometrics/face/FaceEnrollEducation.java
+++ b/src/com/android/settings/biometrics/face/FaceEnrollEducation.java
@@ -16,17 +16,13 @@
 
 package com.android.settings.biometrics.face;
 
-import static android.security.KeyStore.getApplicationContext;
-
 import android.app.settings.SettingsEnums;
 import android.content.ComponentName;
-import android.content.Context;
 import android.content.Intent;
 import android.hardware.face.FaceManager;
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.UserHandle;
-import android.provider.Settings;
 import android.text.TextUtils;
 import android.view.View;
 import android.view.accessibility.AccessibilityManager;
@@ -173,14 +169,8 @@
     }
 
     @Override
-    protected void onStop() {
-        super.onStop();
-
-        if (!isChangingConfigurations() && !WizardManagerHelper.isAnySetupWizard(getIntent())
-                && !mNextClicked) {
-            setResult(RESULT_SKIP);
-            finish();
-        }
+    protected boolean shouldFinishWhenBackgrounded() {
+        return super.shouldFinishWhenBackgrounded() && !mNextClicked;
     }
 
     @Override
@@ -216,11 +206,13 @@
 
     @Override
     protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+        super.onActivityResult(requestCode, resultCode, data);
         mResultIntent = data;
         if (requestCode == BIOMETRIC_FIND_SENSOR_REQUEST) {
             // If the user finished or skipped enrollment, finish this activity
-            if (resultCode == RESULT_SKIP || resultCode == RESULT_FINISHED) {
-                setResult(resultCode);
+            if (resultCode == RESULT_FINISHED || resultCode == RESULT_SKIP
+                    || resultCode == RESULT_TIMEOUT) {
+                setResult(resultCode, data);
                 finish();
             }
         }
diff --git a/src/com/android/settings/biometrics/face/FaceEnrollIntroduction.java b/src/com/android/settings/biometrics/face/FaceEnrollIntroduction.java
index 073c7e6..6709a6a 100644
--- a/src/com/android/settings/biometrics/face/FaceEnrollIntroduction.java
+++ b/src/com/android/settings/biometrics/face/FaceEnrollIntroduction.java
@@ -100,16 +100,6 @@
     }
 
     @Override
-    protected void onStop() {
-        super.onStop();
-
-        if (!isChangingConfigurations() && !mConfirmingCredentials && !mNextClicked
-                && !WizardManagerHelper.isAnySetupWizard(getIntent())) {
-            finish();
-        }
-    }
-
-    @Override
     protected boolean isDisabledByAdmin() {
         return RestrictedLockUtilsInternal.checkIfKeyguardFeaturesDisabled(
                 this, DevicePolicyManager.KEYGUARD_DISABLE_FACE, mUserId) != null;
diff --git a/src/com/android/settings/biometrics/face/FaceEnrollPreviewFragment.java b/src/com/android/settings/biometrics/face/FaceEnrollPreviewFragment.java
index 8806712..853ca7c 100644
--- a/src/com/android/settings/biometrics/face/FaceEnrollPreviewFragment.java
+++ b/src/com/android/settings/biometrics/face/FaceEnrollPreviewFragment.java
@@ -18,6 +18,7 @@
 
 import android.app.settings.SettingsEnums;
 import android.content.Context;
+import android.graphics.Matrix;
 import android.graphics.SurfaceTexture;
 import android.hardware.camera2.CameraAccessException;
 import android.hardware.camera2.CameraCaptureSession;
@@ -316,14 +317,19 @@
         scaleX = scaleX / smaller;
         scaleY = scaleY / smaller;
 
-        // Apply the transformation/scale
-        mTextureView.setTranslationX(getResources().getDimension(R.dimen.face_preview_translate_x));
-        mTextureView.setTranslationY(getResources().getDimension(R.dimen.face_preview_translate_y));
-
+        final TypedValue tx = new TypedValue();
+        final TypedValue ty = new TypedValue();
         final TypedValue scale = new TypedValue();
+        getResources().getValue(R.dimen.face_preview_translate_x, tx, true /* resolveRefs */);
+        getResources().getValue(R.dimen.face_preview_translate_y, ty, true /* resolveRefs */);
         getResources().getValue(R.dimen.face_preview_scale, scale, true /* resolveRefs */);
-        mTextureView.setScaleX(scaleX * scale.getFloat());
-        mTextureView.setScaleY(scaleY * scale.getFloat());
+
+        // Apply the transformation/scale
+        final Matrix transform = new Matrix();
+        mTextureView.getTransform(transform);
+        transform.setScale(scaleX * scale.getFloat(), scaleY * scale.getFloat());
+        transform.postTranslate(tx.getFloat(), ty.getFloat());
+        mTextureView.setTransform(transform);
     }
 
     private void closeCamera() {
diff --git a/src/com/android/settings/biometrics/face/FaceSettings.java b/src/com/android/settings/biometrics/face/FaceSettings.java
index eeaa040..c1ee545 100644
--- a/src/com/android/settings/biometrics/face/FaceSettings.java
+++ b/src/com/android/settings/biometrics/face/FaceSettings.java
@@ -19,7 +19,9 @@
 import static android.app.Activity.RESULT_OK;
 
 import static com.android.settings.biometrics.BiometricEnrollBase.CONFIRM_REQUEST;
+import static com.android.settings.biometrics.BiometricEnrollBase.ENROLL_REQUEST;
 import static com.android.settings.biometrics.BiometricEnrollBase.RESULT_FINISHED;
+import static com.android.settings.biometrics.BiometricEnrollBase.RESULT_TIMEOUT;
 
 import android.app.settings.SettingsEnums;
 import android.content.Context;
@@ -28,7 +30,6 @@
 import android.os.Bundle;
 import android.os.UserHandle;
 import android.os.UserManager;
-import android.provider.SearchIndexableResource;
 import android.util.Log;
 
 import androidx.preference.Preference;
@@ -57,6 +58,11 @@
     private static final String TAG = "FaceSettings";
     private static final String KEY_TOKEN = "hw_auth_token";
 
+    private static final String PREF_KEY_DELETE_FACE_DATA =
+            "security_settings_face_delete_faces_container";
+    private static final String PREF_KEY_ENROLL_FACE_UNLOCK =
+            "security_settings_face_enroll_faces_container";
+
     private UserManager mUserManager;
     private FaceManager mFaceManager;
     private int mUserId;
@@ -86,6 +92,9 @@
         mEnrollButton.setVisible(true);
     };
 
+    private final FaceSettingsEnrollButtonPreferenceController.Listener mEnrollListener = intent ->
+            startActivityForResult(intent, ENROLL_REQUEST);
+
     public static boolean isAvailable(Context context) {
         FaceManager manager = Utils.getFaceManagerOrNull(context);
         return manager != null && manager.isHardwareDetected();
@@ -116,9 +125,17 @@
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
 
+        final Context context = getPrefContext();
+        if (!isAvailable(context)) {
+            Log.w(TAG, "no faceManager, finish this");
+            finish();
+            return;
+        }
+
+        mUserManager = context.getSystemService(UserManager.class);
+        mFaceManager = context.getSystemService(FaceManager.class);
         mToken = getIntent().getByteArrayExtra(KEY_TOKEN);
-        mUserManager = getPrefContext().getSystemService(UserManager.class);
-        mFaceManager = getPrefContext().getSystemService(FaceManager.class);
+
         mUserId = getActivity().getIntent().getIntExtra(
                 Intent.EXTRA_USER_ID, UserHandle.myUserId());
         mFaceFeatureProvider = FeatureFactory.getFactory(getContext()).getFaceFeatureProvider();
@@ -218,11 +235,16 @@
                     }
                 }
             }
+        } else if (requestCode == ENROLL_REQUEST) {
+            if (resultCode == RESULT_TIMEOUT) {
+                setResult(resultCode, data);
+                finish();
+            }
         }
 
         if (mToken == null) {
             // Didn't get an authentication, finishing
-            getActivity().finish();
+            finish();
         }
     }
 
@@ -240,7 +262,7 @@
                 }
                 mToken = null;
             }
-            getActivity().finish();
+            finish();
         }
     }
 
@@ -265,6 +287,7 @@
                 mRemoveController.setActivity((SettingsActivity) getActivity());
             } else if (controller instanceof FaceSettingsEnrollButtonPreferenceController) {
                 mEnrollController = (FaceSettingsEnrollButtonPreferenceController) controller;
+                mEnrollController.setListener(mEnrollListener);
                 mEnrollController.setActivity((SettingsActivity) getActivity());
             }
         }
@@ -275,7 +298,6 @@
     private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
             Lifecycle lifecycle) {
         final List<AbstractPreferenceController> controllers = new ArrayList<>();
-        controllers.add(new FaceSettingsVideoPreferenceController(context));
         controllers.add(new FaceSettingsKeyguardPreferenceController(context));
         controllers.add(new FaceSettingsAppPreferenceController(context));
         controllers.add(new FaceSettingsAttentionPreferenceController(context));
@@ -286,15 +308,8 @@
         return controllers;
     }
 
-    public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(
-                        Context context, boolean enabled) {
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.security_settings_face;
-                    return Arrays.asList(sir);
-                }
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.security_settings_face) {
 
                 @Override
                 public List<AbstractPreferenceController> createPreferenceControllers(
@@ -310,6 +325,33 @@
                 protected boolean isPageSearchEnabled(Context context) {
                     return isAvailable(context);
                 }
-            };
 
+                @Override
+                public List<String> getNonIndexableKeys(Context context) {
+                    final List<String> keys = super.getNonIndexableKeys(context);
+                    if (isAvailable(context)) {
+                        final FaceManager faceManager = context.getSystemService(FaceManager.class);
+                        final boolean hasEnrolled = faceManager.hasEnrolledTemplates(
+                                UserHandle.myUserId());
+                        keys.add(hasEnrolled ? PREF_KEY_ENROLL_FACE_UNLOCK
+                                : PREF_KEY_DELETE_FACE_DATA);
+                    }
+
+                    if (!isAttentionSupported(context)) {
+                        keys.add(FaceSettingsAttentionPreferenceController.KEY);
+                    }
+
+                    return keys;
+                }
+
+                private boolean isAttentionSupported(Context context) {
+                    FaceFeatureProvider featureProvider = FeatureFactory.getFactory(
+                            context).getFaceFeatureProvider();
+                    boolean isAttentionSupported = false;
+                    if (featureProvider != null) {
+                        isAttentionSupported = featureProvider.isAttentionSupported(context);
+                    }
+                    return isAttentionSupported;
+                }
+            };
 }
diff --git a/src/com/android/settings/biometrics/face/FaceSettingsAttentionPreferenceController.java b/src/com/android/settings/biometrics/face/FaceSettingsAttentionPreferenceController.java
index 9ae6a87..e5fee75 100644
--- a/src/com/android/settings/biometrics/face/FaceSettingsAttentionPreferenceController.java
+++ b/src/com/android/settings/biometrics/face/FaceSettingsAttentionPreferenceController.java
@@ -26,7 +26,6 @@
 import androidx.preference.SwitchPreference;
 
 import com.android.settings.Utils;
-import com.android.settings.core.TogglePreferenceController;
 
 /**
  * Preference controller that manages the ability to use face authentication with/without
@@ -118,6 +117,11 @@
     }
 
     @Override
+    public boolean isSliceable() {
+        return false;
+    }
+
+    @Override
     public int getAvailabilityStatus() {
         return AVAILABLE;
     }
diff --git a/src/com/android/settings/biometrics/face/FaceSettingsEnrollButtonPreferenceController.java b/src/com/android/settings/biometrics/face/FaceSettingsEnrollButtonPreferenceController.java
index a087ccc..e89eca4 100644
--- a/src/com/android/settings/biometrics/face/FaceSettingsEnrollButtonPreferenceController.java
+++ b/src/com/android/settings/biometrics/face/FaceSettingsEnrollButtonPreferenceController.java
@@ -43,6 +43,7 @@
     private SettingsActivity mActivity;
     private Button mButton;
     private boolean mIsClicked;
+    private Listener mListener;
 
     public FaceSettingsEnrollButtonPreferenceController(Context context) {
         this(context, KEY);
@@ -69,7 +70,11 @@
         intent.setClassName("com.android.settings", FaceEnrollIntroduction.class.getName());
         intent.putExtra(Intent.EXTRA_USER_ID, mUserId);
         intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN, mToken);
-        mContext.startActivity(intent);
+        if (mListener != null) {
+            mListener.onStartEnrolling(intent);
+        } else {
+            mContext.startActivity(intent);
+        }
     }
 
     @Override
@@ -95,4 +100,19 @@
     public void setActivity(SettingsActivity activity) {
         mActivity = activity;
     }
+
+    public void setListener(Listener listener) {
+        mListener = listener;
+    }
+
+    /**
+     * Interface for registering callbacks related to the face enroll preference button.
+     */
+    public interface Listener {
+        /**
+         * Called when the user has indicated an intent to begin enrolling a new face.
+         * @param intent The Intent that should be used to launch face enrollment.
+         */
+        void onStartEnrolling(Intent intent);
+    }
 }
diff --git a/src/com/android/settings/biometrics/face/FaceSettingsVideoPreferenceController.java b/src/com/android/settings/biometrics/face/FaceSettingsVideoPreferenceController.java
deleted file mode 100644
index 4edbb67..0000000
--- a/src/com/android/settings/biometrics/face/FaceSettingsVideoPreferenceController.java
+++ /dev/null
@@ -1,50 +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.biometrics.face;
-
-import android.content.Context;
-
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.widget.VideoPreference;
-import com.android.settings.widget.VideoPreferenceController;
-
-/**
- * Preference controller for the video for face settings.
- */
-public class FaceSettingsVideoPreferenceController extends VideoPreferenceController {
-
-    private static final String KEY_VIDEO = "security_settings_face_video";
-
-    private VideoPreference mVideoPreference;
-
-    public FaceSettingsVideoPreferenceController(Context context,
-            String preferenceKey) {
-        super(context, preferenceKey);
-    }
-
-    public FaceSettingsVideoPreferenceController(Context context) {
-        this(context, KEY_VIDEO);
-    }
-
-    @Override
-    public void displayPreference(PreferenceScreen screen) {
-        super.displayPreference(screen);
-        mVideoPreference = screen.findPreference(KEY_VIDEO);
-        mVideoPreference.onViewVisible(false /* paused */);
-    }
-}
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java
index e92c967..3831b07 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java
@@ -217,7 +217,9 @@
 
     private void stopIconAnimation() {
         mAnimationCancelled = true;
-        mIconAnimationDrawable.stop();
+        if (mIconAnimationDrawable != null) {
+            mIconAnimationDrawable.stop();
+        }
     }
 
     @Override
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensor.java b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensor.java
index 733fb3f..dbedb4a 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensor.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensor.java
@@ -122,6 +122,11 @@
     }
 
     @Override
+    protected boolean shouldFinishWhenBackgrounded() {
+        return super.shouldFinishWhenBackgrounded() && !mNextClicked;
+    }
+
+    @Override
     protected void onDestroy() {
         super.onDestroy();
         if (mAnimation != null) {
@@ -163,26 +168,25 @@
                 finish();
             }
         } else if (requestCode == ENROLL_REQUEST) {
-            if (resultCode == RESULT_FINISHED) {
-                setResult(RESULT_FINISHED);
-                finish();
-            } else if (resultCode == RESULT_SKIP) {
-                setResult(RESULT_SKIP);
-                finish();
-            } else if (resultCode == RESULT_TIMEOUT) {
-                setResult(RESULT_TIMEOUT);
-                finish();
-            } else {
-                FingerprintManager fpm = Utils.getFingerprintManagerOrNull(this);
-                int enrolled = fpm.getEnrolledFingerprints().size();
-                int max = getResources().getInteger(
-                        com.android.internal.R.integer.config_fingerprintMaxTemplatesPerUser);
-                if (enrolled >= max) {
+            switch (resultCode) {
+                case RESULT_FINISHED:
+                case RESULT_SKIP:
+                case RESULT_TIMEOUT:
+                    setResult(resultCode);
                     finish();
-                } else {
-                    // We came back from enrolling but it wasn't completed, start again.
-                    startLookingForFingerprint();
-                }
+                    break;
+                default:
+                    FingerprintManager fpm = Utils.getFingerprintManagerOrNull(this);
+                    int enrolled = fpm.getEnrolledFingerprints().size();
+                    int max = getResources().getInteger(
+                            com.android.internal.R.integer.config_fingerprintMaxTemplatesPerUser);
+                    if (enrolled >= max) {
+                        finish();
+                    } else {
+                        // We came back from enrolling but it wasn't completed, start again.
+                        startLookingForFingerprint();
+                    }
+                    break;
             }
         } else {
             super.onActivityResult(requestCode, resultCode, data);
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFinish.java b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFinish.java
index 5f45015..179de67 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFinish.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFinish.java
@@ -152,6 +152,7 @@
         intent.setPackage(Utils.SETTINGS_PACKAGE_NAME);
         intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN, mToken);
         intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
+        intent.putExtra(Intent.EXTRA_USER_ID, mUserId);
         startActivity(intent);
     }
 
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java b/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java
index 3fbcfd4..1a8e481 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java
@@ -132,6 +132,8 @@
         private boolean mLaunchedConfirm;
         private Drawable mHighlightDrawable;
         private int mUserId;
+        private CharSequence mFooterTitle;
+        private boolean mEnrollClicked;
 
         private static final String TAG_AUTHENTICATE_SIDECAR = "authenticate_sidecar";
         private static final String TAG_REMOVAL_SIDECAR = "removal_sidecar";
@@ -140,56 +142,57 @@
         private HashMap<Integer, String> mFingerprintsRenaming;
 
         FingerprintAuthenticateSidecar.Listener mAuthenticateListener =
-            new FingerprintAuthenticateSidecar.Listener() {
-                @Override
-                public void onAuthenticationSucceeded(
-                        FingerprintManager.AuthenticationResult result) {
-                    int fingerId = result.getFingerprint().getBiometricId();
-                    mHandler.obtainMessage(MSG_FINGER_AUTH_SUCCESS, fingerId, 0).sendToTarget();
-                }
+                new FingerprintAuthenticateSidecar.Listener() {
+                    @Override
+                    public void onAuthenticationSucceeded(
+                            FingerprintManager.AuthenticationResult result) {
+                        int fingerId = result.getFingerprint().getBiometricId();
+                        mHandler.obtainMessage(MSG_FINGER_AUTH_SUCCESS, fingerId, 0).sendToTarget();
+                    }
 
-                @Override
-                public void onAuthenticationFailed() {
-                    mHandler.obtainMessage(MSG_FINGER_AUTH_FAIL).sendToTarget();
-                }
+                    @Override
+                    public void onAuthenticationFailed() {
+                        mHandler.obtainMessage(MSG_FINGER_AUTH_FAIL).sendToTarget();
+                    }
 
-                @Override
-                public void onAuthenticationError(int errMsgId, CharSequence errString) {
-                    mHandler.obtainMessage(MSG_FINGER_AUTH_ERROR, errMsgId, 0, errString)
-                            .sendToTarget();
-                }
+                    @Override
+                    public void onAuthenticationError(int errMsgId, CharSequence errString) {
+                        mHandler.obtainMessage(MSG_FINGER_AUTH_ERROR, errMsgId, 0, errString)
+                                .sendToTarget();
+                    }
 
-                @Override
-                public void onAuthenticationHelp(int helpMsgId, CharSequence helpString) {
-                    mHandler.obtainMessage(MSG_FINGER_AUTH_HELP, helpMsgId, 0, helpString)
-                            .sendToTarget();
-                }
-            };
+                    @Override
+                    public void onAuthenticationHelp(int helpMsgId, CharSequence helpString) {
+                        mHandler.obtainMessage(MSG_FINGER_AUTH_HELP, helpMsgId, 0, helpString)
+                                .sendToTarget();
+                    }
+                };
 
         FingerprintRemoveSidecar.Listener mRemovalListener =
                 new FingerprintRemoveSidecar.Listener() {
-            public void onRemovalSucceeded(Fingerprint fingerprint) {
-                mHandler.obtainMessage(MSG_REFRESH_FINGERPRINT_TEMPLATES,
-                        fingerprint.getBiometricId(), 0).sendToTarget();
-                updateDialog();
-            }
+                    public void onRemovalSucceeded(Fingerprint fingerprint) {
+                        mHandler.obtainMessage(MSG_REFRESH_FINGERPRINT_TEMPLATES,
+                                fingerprint.getBiometricId(), 0).sendToTarget();
+                        updateDialog();
+                    }
 
-            public void onRemovalError(Fingerprint fp, int errMsgId, CharSequence errString) {
-                final Activity activity = getActivity();
-                if (activity != null) {
-                    Toast.makeText(activity, errString, Toast.LENGTH_SHORT);
-                }
-                updateDialog();
-            }
+                    public void onRemovalError(Fingerprint fp, int errMsgId,
+                            CharSequence errString) {
+                        final Activity activity = getActivity();
+                        if (activity != null) {
+                            Toast.makeText(activity, errString, Toast.LENGTH_SHORT);
+                        }
+                        updateDialog();
+                    }
 
-            private void updateDialog() {
-                RenameDialog renameDialog = (RenameDialog) getFragmentManager().
-                        findFragmentByTag(RenameDialog.class.getName());
-                if (renameDialog != null) {
-                    renameDialog.enableDelete();
-                }
-            }
-        };
+                    private void updateDialog() {
+                        RenameDialog renameDialog = (RenameDialog) getFragmentManager().
+                                findFragmentByTag(RenameDialog.class.getName());
+                        if (renameDialog != null) {
+                            renameDialog.enableDelete();
+                        }
+                    }
+                };
 
         private final Handler mHandler = new Handler() {
             @Override
@@ -199,17 +202,17 @@
                         removeFingerprintPreference(msg.arg1);
                         updateAddPreference();
                         retryFingerprint();
-                    break;
+                        break;
                     case MSG_FINGER_AUTH_SUCCESS:
                         highlightFingerprintItem(msg.arg1);
                         retryFingerprint();
-                    break;
+                        break;
                     case MSG_FINGER_AUTH_FAIL:
                         // No action required... fingerprint will allow up to 5 of these
-                    break;
+                        break;
                     case MSG_FINGER_AUTH_ERROR:
-                        handleError(msg.arg1 /* errMsgId */, (CharSequence) msg.obj /* errStr */ );
-                    break;
+                        handleError(msg.arg1 /* errMsgId */, (CharSequence) msg.obj /* errStr */);
+                        break;
                     case MSG_FINGER_AUTH_HELP: {
                         // Not used
                     }
@@ -219,7 +222,7 @@
         };
 
         /**
-         * @param errMsgId
+         *
          */
         protected void handleError(int errMsgId, CharSequence msg) {
             switch (errMsgId) {
@@ -242,7 +245,7 @@
                 // Activity can be null on a screen rotation.
                 final Activity activity = getActivity();
                 if (activity != null) {
-                    Toast.makeText(activity, msg , Toast.LENGTH_SHORT).show();
+                    Toast.makeText(activity, msg, Toast.LENGTH_SHORT).show();
                 }
             }
             retryFingerprint(); // start again
@@ -323,7 +326,6 @@
                 launchChooseOrConfirmLock();
             }
 
-            final FooterPreference pref = mFooterPreferenceMixin.createFooterPreference();
             final EnforcedAdmin admin = RestrictedLockUtilsInternal.checkIfKeyguardFeaturesDisabled(
                     activity, DevicePolicyManager.KEYGUARD_DISABLE_FINGERPRINT, mUserId);
             final AnnotationSpan.LinkInfo adminLinkInfo = new AnnotationSpan.LinkInfo(
@@ -334,11 +336,11 @@
                     activity, getString(getHelpResource()), activity.getClass().getName());
             final AnnotationSpan.LinkInfo linkInfo = new AnnotationSpan.LinkInfo(
                     activity, ANNOTATION_URL, helpIntent);
-            pref.setTitle(AnnotationSpan.linkify(getText(admin != null
+            mFooterTitle = AnnotationSpan.linkify(getText(admin != null
                             ? R.string
                             .security_settings_fingerprint_enroll_disclaimer_lockscreen_disabled
                             : R.string.security_settings_fingerprint_enroll_disclaimer),
-                    linkInfo, adminLinkInfo));
+                    linkInfo, adminLinkInfo);
         }
 
         protected void removeFingerprintPreference(int fingerprintId) {
@@ -400,6 +402,7 @@
             root.addPreference(addPreference);
             addPreference.setOnPreferenceChangeListener(this);
             updateAddPreference();
+            createFooterPreference(root);
         }
 
         private void updateAddPreference() {
@@ -419,6 +422,15 @@
             addPreference.setEnabled(!tooMany && !removalInProgress);
         }
 
+        private void createFooterPreference(PreferenceGroup root) {
+            final Context context = getActivity();
+            if (context == null) {
+                return;
+            }
+            root.addPreference(new FooterPreference.Builder(context).setTitle(
+                    mFooterTitle).build());
+        }
+
         private static String genKey(int id) {
             return KEY_FINGERPRINT_ITEM_PREFIX + "_" + id;
         }
@@ -453,6 +465,14 @@
         }
 
         @Override
+        public void onStop() {
+            super.onStop();
+            if (!getActivity().isChangingConfigurations() && !mLaunchedConfirm && !mEnrollClicked) {
+                getActivity().finish();
+            }
+        }
+
+        @Override
         public void onSaveInstanceState(final Bundle outState) {
             outState.putByteArray(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN,
                     mToken);
@@ -464,6 +484,7 @@
         public boolean onPreferenceTreeClick(Preference pref) {
             final String key = pref.getKey();
             if (KEY_FINGERPRINT_ADD.equals(key)) {
+                mEnrollClicked = true;
                 Intent intent = new Intent();
                 intent.setClassName(SETTINGS_PACKAGE_NAME,
                         FingerprintEnrollEnrolling.class.getName());
@@ -509,7 +530,8 @@
             RenameDialog renameDialog = new RenameDialog();
             Bundle args = new Bundle();
             if (mFingerprintsRenaming.containsKey(fp.getBiometricId())) {
-                final Fingerprint f = new Fingerprint(mFingerprintsRenaming.get(fp.getBiometricId()),
+                final Fingerprint f = new Fingerprint(
+                        mFingerprintsRenaming.get(fp.getBiometricId()),
                         fp.getGroupId(), fp.getBiometricId(), fp.getDeviceId());
                 args.putParcelable("fingerprint", f);
             } else {
@@ -552,9 +574,10 @@
                     }
                 }
             } else if (requestCode == ADD_FINGERPRINT_REQUEST) {
+                mEnrollClicked = false;
                 if (resultCode == RESULT_TIMEOUT) {
                     Activity activity = getActivity();
-                    activity.setResult(RESULT_TIMEOUT);
+                    activity.setResult(resultCode);
                     activity.finish();
                 }
             }
diff --git a/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderController.java b/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderController.java
index 86196fd..bee93fb 100644
--- a/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderController.java
+++ b/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderController.java
@@ -19,6 +19,7 @@
 import android.bluetooth.BluetoothAdapter;
 import android.bluetooth.BluetoothDevice;
 import android.content.Context;
+import android.content.Intent;
 import android.graphics.Bitmap;
 import android.graphics.PorterDuff;
 import android.graphics.PorterDuffColorFilter;
@@ -72,6 +73,8 @@
     @VisibleForTesting
     Handler mHandler = new Handler(Looper.getMainLooper());
     @VisibleForTesting
+    boolean mIsRegisterCallback = false;
+    @VisibleForTesting
     final BluetoothAdapter.OnMetadataChangedListener mMetadataListener =
             new BluetoothAdapter.OnMetadataChangedListener() {
                 @Override
@@ -92,8 +95,10 @@
     public int getAvailabilityStatus() {
         final boolean advancedEnabled = DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_SETTINGS_UI,
                 SettingsUIDeviceConfig.BT_ADVANCED_HEADER_ENABLED, true);
-        final boolean untetheredHeadset = BluetoothUtils.getBooleanMetaData(
+        final boolean untetheredHeadset = mCachedDevice != null
+                && BluetoothUtils.getBooleanMetaData(
                 mCachedDevice.getDevice(), BluetoothDevice.METADATA_IS_UNTETHERED_HEADSET);
+        Log.d(TAG, "getAvailabilityStatus() is untethered : " + untetheredHeadset);
         return advancedEnabled && untetheredHeadset ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
     }
 
@@ -111,26 +116,25 @@
         if (!isAvailable()) {
             return;
         }
-        mCachedDevice.registerCallback(this::onDeviceAttributesChanged);
+        mIsRegisterCallback = true;
+        mCachedDevice.registerCallback(this);
         mBluetoothAdapter.addOnMetadataChangedListener(mCachedDevice.getDevice(),
                 mContext.getMainExecutor(), mMetadataListener);
     }
 
     @Override
     public void onStop() {
-        if (!isAvailable()) {
+        if (!mIsRegisterCallback) {
             return;
         }
-        mCachedDevice.unregisterCallback(this::onDeviceAttributesChanged);
+        mCachedDevice.unregisterCallback(this);
         mBluetoothAdapter.removeOnMetadataChangedListener(mCachedDevice.getDevice(),
                 mMetadataListener);
+        mIsRegisterCallback = false;
     }
 
     @Override
     public void onDestroy() {
-        if (!isAvailable()) {
-            return;
-        }
         // Destroy icon bitmap associated with this header
         for (Bitmap bitmap : mIconCache.values()) {
             if (bitmap != null) {
@@ -152,7 +156,7 @@
             final TextView summary = mLayoutPreference.findViewById(R.id.entity_header_summary);
             summary.setText(mCachedDevice.getConnectionSummary(true /* shortSummary */));
 
-            if (!mCachedDevice.isConnected()) {
+            if (!mCachedDevice.isConnected() || mCachedDevice.isBusy()) {
                 updateDisconnectLayout();
                 return;
             }
@@ -263,15 +267,21 @@
         }
 
         ThreadUtils.postOnBackgroundThread(() -> {
+            final Uri uri = Uri.parse(iconUri);
             try {
+                mContext.getContentResolver().takePersistableUriPermission(uri,
+                        Intent.FLAG_GRANT_READ_URI_PERMISSION);
+
                 final Bitmap bitmap = MediaStore.Images.Media.getBitmap(
-                        mContext.getContentResolver(), Uri.parse(iconUri));
+                        mContext.getContentResolver(), uri);
                 ThreadUtils.postOnMainThread(() -> {
                     mIconCache.put(iconUri, bitmap);
                     imageView.setImageBitmap(bitmap);
                 });
             } catch (IOException e) {
-                Log.e(TAG, "Failed to get bitmap for: " + iconUri);
+                Log.e(TAG, "Failed to get bitmap for: " + iconUri, e);
+            } catch (SecurityException e) {
+                Log.e(TAG, "Failed to take persistable permission for: " + uri, e);
             }
         });
     }
diff --git a/src/com/android/settings/bluetooth/AvailableMediaBluetoothDeviceUpdater.java b/src/com/android/settings/bluetooth/AvailableMediaBluetoothDeviceUpdater.java
index 45ac7f7..aa4f869 100644
--- a/src/com/android/settings/bluetooth/AvailableMediaBluetoothDeviceUpdater.java
+++ b/src/com/android/settings/bluetooth/AvailableMediaBluetoothDeviceUpdater.java
@@ -35,6 +35,8 @@
     private static final String TAG = "AvailableMediaBluetoothDeviceUpdater";
     private static final boolean DBG = false;
 
+    private static final String PREF_KEY = "available_media_bt";
+
     private final AudioManager mAudioManager;
 
     public AvailableMediaBluetoothDeviceUpdater(Context context, DashboardFragment fragment,
@@ -97,9 +99,14 @@
 
     @Override
     public boolean onPreferenceClick(Preference preference) {
+        mMetricsFeatureProvider.logClickedPreference(preference, mFragment.getMetricsCategory());
         final CachedBluetoothDevice device = ((BluetoothDevicePreference) preference)
                 .getBluetoothDevice();
         return device.setActive();
     }
-}
 
+    @Override
+    protected String getPreferenceKey() {
+        return PREF_KEY;
+    }
+}
diff --git a/src/com/android/settings/bluetooth/BluetoothDetailsButtonsController.java b/src/com/android/settings/bluetooth/BluetoothDetailsButtonsController.java
index a7fae14..c807893 100644
--- a/src/com/android/settings/bluetooth/BluetoothDetailsButtonsController.java
+++ b/src/com/android/settings/bluetooth/BluetoothDetailsButtonsController.java
@@ -79,7 +79,7 @@
                         .setButton2Text(R.string.bluetooth_device_context_connect)
                         .setButton2Icon(R.drawable.ic_add_24dp)
                         .setButton2OnClickListener(
-                                view -> mCachedDevice.connect(true /* connectAllProfiles */));
+                                view -> mCachedDevice.connect());
                 mConnectButtonInitialized = true;
             }
         }
diff --git a/src/com/android/settings/bluetooth/BluetoothDetailsHeaderController.java b/src/com/android/settings/bluetooth/BluetoothDetailsHeaderController.java
index f509605..fc74004 100644
--- a/src/com/android/settings/bluetooth/BluetoothDetailsHeaderController.java
+++ b/src/com/android/settings/bluetooth/BluetoothDetailsHeaderController.java
@@ -20,6 +20,7 @@
 import android.content.Context;
 import android.graphics.drawable.Drawable;
 import android.provider.DeviceConfig;
+import android.text.TextUtils;
 import android.util.Pair;
 
 import androidx.preference.PreferenceFragmentCompat;
@@ -74,10 +75,13 @@
         final Pair<Drawable, String> pair =
                 BluetoothUtils.getBtRainbowDrawableWithDescription(mContext, mCachedDevice);
         String summaryText = mCachedDevice.getConnectionSummary();
-        // If both the hearing aids are connected, two device status should be shown.
-        // If Second Summary is unavailable, to set it to null.
-        mHeaderController.setSecondSummary(
-                mDeviceManager.getSubDeviceSummary(mCachedDevice));
+        if (TextUtils.isEmpty(summaryText)) {
+            // If first summary is unavailable, not to show second summary.
+            mHeaderController.setSecondSummary((CharSequence)null);
+        } else {
+            // If both the hearing aids are connected, two device status should be shown.
+            mHeaderController.setSecondSummary(mDeviceManager.getSubDeviceSummary(mCachedDevice));
+        }
         mHeaderController.setLabel(mCachedDevice.getName());
         mHeaderController.setIcon(pair.first);
         mHeaderController.setIconContentDescription(pair.second);
diff --git a/src/com/android/settings/bluetooth/BluetoothDetailsMacAddressController.java b/src/com/android/settings/bluetooth/BluetoothDetailsMacAddressController.java
index 835961d..dda247e 100644
--- a/src/com/android/settings/bluetooth/BluetoothDetailsMacAddressController.java
+++ b/src/com/android/settings/bluetooth/BluetoothDetailsMacAddressController.java
@@ -25,26 +25,25 @@
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 import com.android.settingslib.widget.FooterPreference;
-import com.android.settingslib.widget.FooterPreferenceMixinCompat;
 
 /**
  * This class adds the device MAC address to a footer.
  */
 public class BluetoothDetailsMacAddressController extends BluetoothDetailsController {
-    FooterPreferenceMixinCompat mFooterPreferenceMixin;
-    FooterPreference mFooterPreference;
+    public static final String KEY_DEVICE_DETAILS_FOOTER = "device_details_footer";
+
+    private FooterPreference mFooterPreference;
 
     public BluetoothDetailsMacAddressController(Context context,
             PreferenceFragmentCompat fragment,
             CachedBluetoothDevice device,
             Lifecycle lifecycle) {
         super(context, fragment, device, lifecycle);
-        mFooterPreferenceMixin = new FooterPreferenceMixinCompat(fragment, lifecycle);
     }
 
     @Override
     protected void init(PreferenceScreen screen) {
-        mFooterPreference = mFooterPreferenceMixin.createFooterPreference();
+        mFooterPreference = screen.findPreference(KEY_DEVICE_DETAILS_FOOTER);
         mFooterPreference.setTitle(mContext.getString(
                 R.string.bluetooth_device_mac_address, mCachedDevice.getAddress()));
     }
@@ -57,9 +56,6 @@
 
     @Override
     public String getPreferenceKey() {
-        if (mFooterPreference == null) {
-            return null;
-        }
-        return mFooterPreference.getKey();
+        return KEY_DEVICE_DETAILS_FOOTER;
     }
 }
\ No newline at end of file
diff --git a/src/com/android/settings/bluetooth/BluetoothDetailsProfilesController.java b/src/com/android/settings/bluetooth/BluetoothDetailsProfilesController.java
index 749a38f..aa12409 100644
--- a/src/com/android/settings/bluetooth/BluetoothDetailsProfilesController.java
+++ b/src/com/android/settings/bluetooth/BluetoothDetailsProfilesController.java
@@ -109,7 +109,7 @@
             profilePref.setChecked(profile.getConnectionStatus(device) ==
                     BluetoothProfile.STATE_CONNECTED);
         } else {
-            profilePref.setChecked(profile.isPreferred(device));
+            profilePref.setChecked(profile.isEnabled(device));
         }
 
         if (profile instanceof A2dpProfile) {
@@ -117,7 +117,7 @@
             SwitchPreference highQualityPref = (SwitchPreference) mProfilesContainer.findPreference(
                     HIGH_QUALITY_AUDIO_PREF_TAG);
             if (highQualityPref != null) {
-                if (a2dp.isPreferred(device) && a2dp.supportsHighQualityAudio(device)) {
+                if (a2dp.isEnabled(device) && a2dp.supportsHighQualityAudio(device)) {
                     highQualityPref.setVisible(true);
                     highQualityPref.setTitle(a2dp.getHighQualityAudioOptionLabel(device));
                     highQualityPref.setChecked(a2dp.isHighQualityAudioEnabled(device));
@@ -142,8 +142,7 @@
         if (profile instanceof MapProfile) {
             bluetoothDevice.setMessageAccessPermission(BluetoothDevice.ACCESS_ALLOWED);
         }
-        profile.setPreferred(bluetoothDevice, true);
-        mCachedDevice.connectProfile(profile);
+        profile.setEnabled(bluetoothDevice, true);
     }
 
     /**
@@ -151,8 +150,7 @@
      */
     private void disableProfile(LocalBluetoothProfile profile) {
         final BluetoothDevice bluetoothDevice = mCachedDevice.getDevice();
-        mCachedDevice.disconnect(profile);
-        profile.setPreferred(bluetoothDevice, false);
+        profile.setEnabled(bluetoothDevice, false);
         if (profile instanceof MapProfile) {
             bluetoothDevice.setMessageAccessPermission(BluetoothDevice.ACCESS_REJECTED);
         } else if (profile instanceof PbapServerProfile) {
diff --git a/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java b/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java
index c31b13e..a881247 100644
--- a/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java
+++ b/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java
@@ -16,6 +16,7 @@
 
 package com.android.settings.bluetooth;
 
+import static android.bluetooth.BluetoothDevice.BOND_NONE;
 import static android.os.UserManager.DISALLOW_CONFIG_BLUETOOTH;
 
 import android.app.settings.SettingsEnums;
@@ -23,6 +24,7 @@
 import android.content.Context;
 import android.os.Bundle;
 import android.provider.DeviceConfig;
+import android.util.Log;
 import android.view.Menu;
 import android.view.MenuInflater;
 import android.view.MenuItem;
@@ -107,12 +109,13 @@
         mDeviceAddress = getArguments().getString(KEY_DEVICE_ADDRESS);
         mManager = getLocalBluetoothManager(context);
         mCachedDevice = getCachedDevice(mDeviceAddress);
+        super.onAttach(context);
         if (mCachedDevice == null) {
             // Close this page if device is null with invalid device mac address
+            Log.w(TAG, "onAttach() CachedDevice is null!");
             finish();
             return;
         }
-        super.onAttach(context);
         use(AdvancedBluetoothDetailsHeaderController.class).init(mCachedDevice);
 
         final BluetoothFeatureProvider featureProvider = FeatureFactory.getFactory(
@@ -126,6 +129,20 @@
     }
 
     @Override
+    public void onResume() {
+        super.onResume();
+        finishFragmentIfNecessary();
+    }
+
+    @VisibleForTesting
+    void finishFragmentIfNecessary() {
+        if (mCachedDevice.getBondState() == BOND_NONE) {
+            finish();
+            return;
+        }
+    }
+
+    @Override
     public int getMetricsCategory() {
         return SettingsEnums.BLUETOOTH_DEVICE_DETAILS;
     }
diff --git a/src/com/android/settings/bluetooth/BluetoothDevicePreference.java b/src/com/android/settings/bluetooth/BluetoothDevicePreference.java
index 74d3b6a..86b72ec 100644
--- a/src/com/android/settings/bluetooth/BluetoothDevicePreference.java
+++ b/src/com/android/settings/bluetooth/BluetoothDevicePreference.java
@@ -32,6 +32,7 @@
 import android.view.View;
 import android.widget.ImageView;
 
+import androidx.annotation.IntDef;
 import androidx.annotation.VisibleForTesting;
 import androidx.appcompat.app.AlertDialog;
 import androidx.preference.Preference;
@@ -44,6 +45,9 @@
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
 import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
 /**
  * BluetoothDevicePreference is the preference type used to display each remote
  * Bluetooth device in the Bluetooth Settings screen.
@@ -54,9 +58,21 @@
 
     private static int sDimAlpha = Integer.MIN_VALUE;
 
+    @Retention(RetentionPolicy.SOURCE)
+    @IntDef({SortType.TYPE_DEFAULT,
+            SortType.TYPE_FIFO,
+            SortType.TYPE_NO_SORT})
+    public @interface SortType {
+        int TYPE_DEFAULT = 1;
+        int TYPE_FIFO = 2;
+        int TYPE_NO_SORT = 3;
+    }
+
     private final CachedBluetoothDevice mCachedDevice;
     private final UserManager mUserManager;
     private final boolean mShowDevicesWithoutNames;
+    private final long mCurrentTime;
+    private final int mType;
 
     private AlertDialog mDisconnectDialog;
     private String contentDescription = null;
@@ -67,7 +83,7 @@
     Resources mResources;
 
     public BluetoothDevicePreference(Context context, CachedBluetoothDevice cachedDevice,
-            boolean showDeviceWithoutNames) {
+            boolean showDeviceWithoutNames, @SortType int type) {
         super(context, null);
         mResources = getContext().getResources();
         mUserManager = (UserManager) context.getSystemService(Context.USER_SERVICE);
@@ -81,6 +97,8 @@
 
         mCachedDevice = cachedDevice;
         mCachedDevice.registerCallback(this);
+        mCurrentTime = System.currentTimeMillis();
+        mType = type;
 
         onDeviceAttributesChanged();
     }
@@ -200,8 +218,15 @@
             return super.compareTo(another);
         }
 
-        return mCachedDevice
-                .compareTo(((BluetoothDevicePreference) another).mCachedDevice);
+        switch (mType) {
+            case SortType.TYPE_DEFAULT:
+                return mCachedDevice
+                        .compareTo(((BluetoothDevicePreference) another).mCachedDevice);
+            case SortType.TYPE_FIFO:
+                return mCurrentTime > ((BluetoothDevicePreference) another).mCurrentTime ? 1 : -1;
+            default:
+                return super.compareTo(another);
+        }
     }
 
     void onClicked() {
@@ -218,7 +243,7 @@
         } else if (bondState == BluetoothDevice.BOND_BONDED) {
             metricsFeatureProvider.action(context,
                     SettingsEnums.ACTION_SETTINGS_BLUETOOTH_CONNECT);
-            mCachedDevice.connect(true);
+            mCachedDevice.connect();
         } else if (bondState == BluetoothDevice.BOND_NONE) {
             metricsFeatureProvider.action(context,
                     SettingsEnums.ACTION_SETTINGS_BLUETOOTH_PAIR);
diff --git a/src/com/android/settings/bluetooth/BluetoothDeviceUpdater.java b/src/com/android/settings/bluetooth/BluetoothDeviceUpdater.java
index 31055cc..21312a5 100644
--- a/src/com/android/settings/bluetooth/BluetoothDeviceUpdater.java
+++ b/src/com/android/settings/bluetooth/BluetoothDeviceUpdater.java
@@ -28,12 +28,14 @@
 import com.android.settings.connecteddevice.DevicePreferenceCallback;
 import com.android.settings.core.SubSettingLauncher;
 import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.widget.GearPreference;
 import com.android.settingslib.bluetooth.BluetoothCallback;
 import com.android.settingslib.bluetooth.BluetoothDeviceFilter;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
 import com.android.settingslib.bluetooth.LocalBluetoothManager;
 import com.android.settingslib.bluetooth.LocalBluetoothProfileManager;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 
 import java.util.Collection;
 import java.util.HashMap;
@@ -52,6 +54,7 @@
     private static final String TAG = "BluetoothDeviceUpdater";
     private static final boolean DBG = false;
 
+    protected final MetricsFeatureProvider mMetricsFeatureProvider;
     protected final DevicePreferenceCallback mDevicePreferenceCallback;
     protected final Map<BluetoothDevice, Preference> mPreferenceMap;
     protected Context mPrefContext;
@@ -66,16 +69,17 @@
 
     public BluetoothDeviceUpdater(Context context, DashboardFragment fragment,
             DevicePreferenceCallback devicePreferenceCallback) {
-        this(fragment, devicePreferenceCallback, Utils.getLocalBtManager(context));
+        this(context, fragment, devicePreferenceCallback, Utils.getLocalBtManager(context));
     }
 
     @VisibleForTesting
-    BluetoothDeviceUpdater(DashboardFragment fragment,
+    BluetoothDeviceUpdater(Context context, DashboardFragment fragment,
             DevicePreferenceCallback devicePreferenceCallback, LocalBluetoothManager localManager) {
         mFragment = fragment;
         mDevicePreferenceCallback = devicePreferenceCallback;
         mPreferenceMap = new HashMap<>();
         mLocalManager = localManager;
+        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
     }
 
     /**
@@ -207,6 +211,11 @@
     public abstract boolean isFilterMatched(CachedBluetoothDevice cachedBluetoothDevice);
 
     /**
+     * Return a preference key for logging
+     */
+    protected abstract String getPreferenceKey();
+
+    /**
      * Update whether to show {@link CachedBluetoothDevice} in the list.
      */
     protected void update(CachedBluetoothDevice cachedBluetoothDevice) {
@@ -222,11 +231,22 @@
      * Add the {@link Preference} that represents the {@code cachedDevice}
      */
     protected void addPreference(CachedBluetoothDevice cachedDevice) {
+        addPreference(cachedDevice, BluetoothDevicePreference.SortType.TYPE_DEFAULT);
+    }
+
+    /**
+     * Add the {@link Preference} with {@link BluetoothDevicePreference.SortType} that
+     * represents the {@code cachedDevice}
+     */
+    protected void addPreference(CachedBluetoothDevice cachedDevice,
+            @BluetoothDevicePreference.SortType int type) {
         final BluetoothDevice device = cachedDevice.getDevice();
         if (!mPreferenceMap.containsKey(device)) {
             BluetoothDevicePreference btPreference =
                     new BluetoothDevicePreference(mPrefContext, cachedDevice,
-                            true /* showDeviceWithoutNames */);
+                            true /* showDeviceWithoutNames */,
+                            type);
+            btPreference.setKey(getPreferenceKey());
             btPreference.setOnGearClickListener(mDeviceProfilesListener);
             if (this instanceof Preference.OnPreferenceClickListener) {
                 btPreference.setOnPreferenceClickListener(
@@ -263,6 +283,7 @@
      * {@link SubSettingLauncher} to launch {@link BluetoothDeviceDetailsFragment}
      */
     protected void launchDeviceDetails(Preference preference) {
+        mMetricsFeatureProvider.logClickedPreference(preference, mFragment.getMetricsCategory());
         final CachedBluetoothDevice device =
                 ((BluetoothDevicePreference) preference).getBluetoothDevice();
         if (device == null) {
diff --git a/src/com/android/settings/bluetooth/BluetoothPairingController.java b/src/com/android/settings/bluetooth/BluetoothPairingController.java
index 94bdfe8..a1d86be 100644
--- a/src/com/android/settings/bluetooth/BluetoothPairingController.java
+++ b/src/com/android/settings/bluetooth/BluetoothPairingController.java
@@ -294,8 +294,7 @@
         if (mType == BluetoothDevice.PAIRING_VARIANT_DISPLAY_PASSKEY) {
             mDevice.setPairingConfirmation(true);
         } else if (mType == BluetoothDevice.PAIRING_VARIANT_DISPLAY_PIN) {
-            byte[] pinBytes = BluetoothDevice.convertPinToBytes(mPasskeyFormatted);
-            mDevice.setPin(pinBytes);
+            mDevice.setPin(mPasskeyFormatted);
         }
     }
 
@@ -391,17 +390,9 @@
         switch (mType) {
             case BluetoothDevice.PAIRING_VARIANT_PIN:
             case BluetoothDevice.PAIRING_VARIANT_PIN_16_DIGITS:
-                byte[] pinBytes = BluetoothDevice.convertPinToBytes(passkey);
-                if (pinBytes == null) {
-                    return;
-                }
-                mDevice.setPin(pinBytes);
+                mDevice.setPin(passkey);
                 break;
 
-            case BluetoothDevice.PAIRING_VARIANT_PASSKEY:
-                int pass = Integer.parseInt(passkey);
-                mDevice.setPasskey(pass);
-                break;
 
             case BluetoothDevice.PAIRING_VARIANT_PASSKEY_CONFIRMATION:
             case BluetoothDevice.PAIRING_VARIANT_CONSENT:
@@ -410,11 +401,9 @@
 
             case BluetoothDevice.PAIRING_VARIANT_DISPLAY_PASSKEY:
             case BluetoothDevice.PAIRING_VARIANT_DISPLAY_PIN:
-                // Do nothing.
-                break;
-
             case BluetoothDevice.PAIRING_VARIANT_OOB_CONSENT:
-                mDevice.setRemoteOutOfBandData();
+            case BluetoothDevice.PAIRING_VARIANT_PASSKEY:
+                // Do nothing.
                 break;
 
             default:
@@ -428,7 +417,7 @@
      */
     public void onCancel() {
         Log.d(TAG, "Pairing dialog canceled");
-        mDevice.cancelPairingUserInput();
+        mDevice.cancelPairing();
     }
 
     /**
diff --git a/src/com/android/settings/bluetooth/BluetoothPairingDetail.java b/src/com/android/settings/bluetooth/BluetoothPairingDetail.java
index b1a3174..2e0e9b5 100644
--- a/src/com/android/settings/bluetooth/BluetoothPairingDetail.java
+++ b/src/com/android/settings/bluetooth/BluetoothPairingDetail.java
@@ -29,9 +29,9 @@
 import androidx.annotation.VisibleForTesting;
 
 import com.android.settings.R;
-import com.android.settings.search.Indexable;
 import com.android.settingslib.bluetooth.BluetoothDeviceFilter;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+import com.android.settingslib.search.Indexable;
 import com.android.settingslib.widget.FooterPreference;
 
 /**
@@ -191,12 +191,19 @@
     }
 
     @Override
-    public void onConnectionStateChanged(CachedBluetoothDevice cachedDevice, int state) {
-        if (mSelectedDevice != null) {
-            BluetoothDevice device = cachedDevice.getDevice();
-            if (device != null && mSelectedDevice.equals(device)
-                && state == BluetoothAdapter.STATE_CONNECTED) {
+    public void onProfileConnectionStateChanged(CachedBluetoothDevice cachedDevice, int state,
+            int bluetoothProfile) {
+        // This callback is used to handle the case that bonded device is connected in pairing list.
+        // 1. If user selected multiple bonded devices in pairing list, after connected
+        // finish this page.
+        // 2. If the bonded devices auto connected in paring list, after connected it will be
+        // removed from paring list.
+        if (cachedDevice != null && cachedDevice.isConnected()) {
+            final BluetoothDevice device = cachedDevice.getDevice();
+            if (device != null && mSelectedList.contains(device)) {
                 finish();
+            } else if (mDevicePreferenceMap.containsKey(cachedDevice)) {
+                onDeviceDeleted(cachedDevice);
             }
         }
     }
diff --git a/src/com/android/settings/bluetooth/BluetoothPairingDialog.java b/src/com/android/settings/bluetooth/BluetoothPairingDialog.java
index 060c174..927b1b6 100644
--- a/src/com/android/settings/bluetooth/BluetoothPairingDialog.java
+++ b/src/com/android/settings/bluetooth/BluetoothPairingDialog.java
@@ -65,6 +65,11 @@
     protected void onCreate(@Nullable Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         Intent intent = getIntent();
+        if (intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE) == null) {
+            // Error handler for the case that dialog is started from adb command.
+            finish();
+            return;
+        }
         mBluetoothPairingController = new BluetoothPairingController(intent, this);
         // build the dialog fragment
         boolean fragmentFound = true;
diff --git a/src/com/android/settings/bluetooth/BluetoothPairingService.java b/src/com/android/settings/bluetooth/BluetoothPairingService.java
index 48e9eee..53e93d9 100644
--- a/src/com/android/settings/bluetooth/BluetoothPairingService.java
+++ b/src/com/android/settings/bluetooth/BluetoothPairingService.java
@@ -85,7 +85,7 @@
             } else if (action.equals(ACTION_DISMISS_PAIRING)) {
                 Log.d(TAG, "Notification cancel " + mDevice.getAddress() + " (" +
                         mDevice.getName() + ")");
-                mDevice.cancelPairingUserInput();
+                mDevice.cancelPairing();
             } else {
                 int bondState = intent.getIntExtra(BluetoothDevice.EXTRA_BOND_STATE,
                         BluetoothDevice.ERROR);
@@ -141,7 +141,7 @@
         String name = intent.getStringExtra(BluetoothDevice.EXTRA_NAME);
         if (TextUtils.isEmpty(name)) {
             BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
-            name = device != null ? device.getAliasName() : res.getString(android.R.string.unknownName);
+            name = device != null ? device.getAlias() : res.getString(android.R.string.unknownName);
         }
 
         Log.d(TAG, "Show pairing notification for " + mDevice.getAddress() + " (" + name + ")");
diff --git a/src/com/android/settings/bluetooth/BluetoothSwitchPreferenceController.java b/src/com/android/settings/bluetooth/BluetoothSwitchPreferenceController.java
index 48376a7..5b74ce7 100644
--- a/src/com/android/settings/bluetooth/BluetoothSwitchPreferenceController.java
+++ b/src/com/android/settings/bluetooth/BluetoothSwitchPreferenceController.java
@@ -46,6 +46,9 @@
     private Context mContext;
     private FooterPreference mFooterPreference;
 
+    @VisibleForTesting
+    AlwaysDiscoverable mAlwaysDiscoverable;
+
     public BluetoothSwitchPreferenceController(Context context,
             SwitchWidgetController switchController,
             FooterPreference footerPreference) {
@@ -69,11 +72,13 @@
                 SettingsEnums.ACTION_SETTINGS_MASTER_SWITCH_BLUETOOTH_TOGGLE,
                 mRestrictionUtils);
         mBluetoothEnabler.setToggleCallback(this);
+        mAlwaysDiscoverable = new AlwaysDiscoverable(context);
     }
 
     @Override
     public void onStart() {
         mBluetoothEnabler.resume(mContext);
+        mAlwaysDiscoverable.start();
         if (mSwitch != null) {
             updateText(mSwitch.isChecked());
         }
@@ -82,6 +87,7 @@
     @Override
     public void onStop() {
         mBluetoothEnabler.pause();
+        mAlwaysDiscoverable.stop();
     }
 
     @Override
diff --git a/src/com/android/settings/bluetooth/ConnectedBluetoothDeviceUpdater.java b/src/com/android/settings/bluetooth/ConnectedBluetoothDeviceUpdater.java
index 3ae081c..c7cae7f 100644
--- a/src/com/android/settings/bluetooth/ConnectedBluetoothDeviceUpdater.java
+++ b/src/com/android/settings/bluetooth/ConnectedBluetoothDeviceUpdater.java
@@ -35,6 +35,8 @@
     private static final String TAG = "ConnBluetoothDeviceUpdater";
     private static final boolean DBG = false;
 
+    private static final String PREF_KEY = "connected_bt";
+
     private final AudioManager mAudioManager;
 
     public ConnectedBluetoothDeviceUpdater(Context context, DashboardFragment fragment,
@@ -111,4 +113,9 @@
             });
         }
     }
+
+    @Override
+    protected String getPreferenceKey() {
+        return PREF_KEY;
+    }
 }
diff --git a/src/com/android/settings/bluetooth/DeviceListPreferenceFragment.java b/src/com/android/settings/bluetooth/DeviceListPreferenceFragment.java
index 4f27a39..1ad322a 100644
--- a/src/com/android/settings/bluetooth/DeviceListPreferenceFragment.java
+++ b/src/com/android/settings/bluetooth/DeviceListPreferenceFragment.java
@@ -35,9 +35,10 @@
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
 import com.android.settingslib.bluetooth.LocalBluetoothManager;
 
+import java.util.ArrayList;
 import java.util.Collection;
 import java.util.HashMap;
-import java.util.WeakHashMap;
+import java.util.List;
 
 /**
  * Parent class for settings fragments that contain a list of Bluetooth
@@ -72,6 +73,7 @@
 
     final HashMap<CachedBluetoothDevice, BluetoothDevicePreference> mDevicePreferenceMap =
             new HashMap<>();
+    final List<BluetoothDevice> mSelectedList = new ArrayList<>();
 
     boolean mShowDevicesWithoutNames;
 
@@ -154,6 +156,7 @@
             BluetoothDevicePreference btPreference = (BluetoothDevicePreference) preference;
             CachedBluetoothDevice device = btPreference.getCachedDevice();
             mSelectedDevice = device.getDevice();
+            mSelectedList.add(mSelectedDevice);
             onDevicePreferenceClick(btPreference);
             return true;
         }
@@ -191,7 +194,7 @@
 
         if (preference == null) {
             preference = new BluetoothDevicePreference(getPrefContext(), cachedDevice,
-                    mShowDevicesWithoutNames);
+                    mShowDevicesWithoutNames, BluetoothDevicePreference.SortType.TYPE_FIFO);
             preference.setKey(key);
             //Set hideSecondTarget is true if it's bonded device.
             preference.hideSecondTarget(true);
diff --git a/src/com/android/settings/bluetooth/OWNERS b/src/com/android/settings/bluetooth/OWNERS
index 2c8d8b7..5e716e1 100644
--- a/src/com/android/settings/bluetooth/OWNERS
+++ b/src/com/android/settings/bluetooth/OWNERS
@@ -1,8 +1,6 @@
 # Default reviewers for this and subdirectories.
-asargent@google.com
-eisenbach@google.com
-jackqdyulei@google.com
-pavlin@google.com
+hughchen@google.com
+timhypeng@google.com
 siyuanh@google.com
 
 # Emergency approvers in case the above are not available
diff --git a/src/com/android/settings/bluetooth/SavedBluetoothDeviceUpdater.java b/src/com/android/settings/bluetooth/SavedBluetoothDeviceUpdater.java
index 6381b84..bbcd13c 100644
--- a/src/com/android/settings/bluetooth/SavedBluetoothDeviceUpdater.java
+++ b/src/com/android/settings/bluetooth/SavedBluetoothDeviceUpdater.java
@@ -15,27 +15,82 @@
  */
 package com.android.settings.bluetooth;
 
+import android.bluetooth.BluetoothAdapter;
 import android.bluetooth.BluetoothDevice;
 import android.content.Context;
 import android.util.Log;
 
+import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 
 import com.android.settings.connecteddevice.DevicePreferenceCallback;
 import com.android.settings.dashboard.DashboardFragment;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+import com.android.settingslib.bluetooth.CachedBluetoothDeviceManager;
+
+import java.util.ArrayList;
+import java.util.List;
 
 /**
  * Maintain and update saved bluetooth devices(bonded but not connected)
  */
 public class SavedBluetoothDeviceUpdater extends BluetoothDeviceUpdater
         implements Preference.OnPreferenceClickListener {
+
     private static final String TAG = "SavedBluetoothDeviceUpdater";
     private static final boolean DBG = false;
 
+    private static final String PREF_KEY = "saved_bt";
+
+    @VisibleForTesting
+    BluetoothAdapter mBluetoothAdapter;
+
     public SavedBluetoothDeviceUpdater(Context context, DashboardFragment fragment,
             DevicePreferenceCallback devicePreferenceCallback) {
         super(context, fragment, devicePreferenceCallback);
+
+        mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
+    }
+
+    @Override
+    public void forceUpdate() {
+        if (mBluetoothAdapter.isEnabled()) {
+            final CachedBluetoothDeviceManager cachedManager =
+                    mLocalManager.getCachedDeviceManager();
+            final List<BluetoothDevice> bluetoothDevices =
+                    mBluetoothAdapter.getMostRecentlyConnectedDevices();
+            removePreferenceIfNecessary(bluetoothDevices, cachedManager);
+            for (BluetoothDevice device : bluetoothDevices) {
+                final CachedBluetoothDevice cachedDevice = cachedManager.findDevice(device);
+                if (cachedDevice != null) {
+                    update(cachedDevice);
+                }
+            }
+        } else {
+            removeAllDevicesFromPreference();
+        }
+    }
+
+    private void removePreferenceIfNecessary(List<BluetoothDevice> bluetoothDevices,
+            CachedBluetoothDeviceManager cachedManager) {
+        for (BluetoothDevice device : new ArrayList<>(mPreferenceMap.keySet())) {
+            if (!bluetoothDevices.contains(device)) {
+                final CachedBluetoothDevice cachedDevice = cachedManager.findDevice(device);
+                if (cachedDevice != null) {
+                    removePreference(cachedDevice);
+                }
+            }
+        }
+    }
+
+    @Override
+    public void update(CachedBluetoothDevice cachedDevice) {
+        if (isFilterMatched(cachedDevice)) {
+            // Add the preference if it is new one
+            addPreference(cachedDevice, BluetoothDevicePreference.SortType.TYPE_NO_SORT);
+        } else {
+            removePreference(cachedDevice);
+        }
     }
 
     @Override
@@ -51,9 +106,15 @@
 
     @Override
     public boolean onPreferenceClick(Preference preference) {
+        mMetricsFeatureProvider.logClickedPreference(preference, mFragment.getMetricsCategory());
         final CachedBluetoothDevice device = ((BluetoothDevicePreference) preference)
                 .getBluetoothDevice();
-        device.connect(true);
+        device.connect();
         return true;
     }
+
+    @Override
+    protected String getPreferenceKey() {
+        return PREF_KEY;
+    }
 }
diff --git a/src/com/android/settings/bluetooth/Utils.java b/src/com/android/settings/bluetooth/Utils.java
index d6e395e..48c7212 100755
--- a/src/com/android/settings/bluetooth/Utils.java
+++ b/src/com/android/settings/bluetooth/Utils.java
@@ -45,7 +45,7 @@
     private static final String TAG = "BluetoothUtils";
 
     static final boolean V = BluetoothUtils.V; // verbose logging
-    static final boolean D =  BluetoothUtils.D;  // regular logging
+    static final boolean D = BluetoothUtils.D;  // regular logging
 
     private Utils() {
     }
@@ -93,7 +93,8 @@
     @VisibleForTesting
     static void showConnectingError(Context context, String name, LocalBluetoothManager manager) {
         FeatureFactory.getFactory(context).getMetricsFeatureProvider().visible(context,
-            SettingsEnums.PAGE_UNKNOWN, SettingsEnums.ACTION_SETTINGS_BLUETOOTH_CONNECT_ERROR);
+                SettingsEnums.PAGE_UNKNOWN, SettingsEnums.ACTION_SETTINGS_BLUETOOTH_CONNECT_ERROR,
+                0);
         showError(context, name, R.string.bluetooth_connecting_error_message, manager);
     }
 
@@ -125,7 +126,7 @@
     }
 
     public static String createRemoteName(Context context, BluetoothDevice device) {
-        String mRemoteName = device != null ? device.getAliasName() : null;
+        String mRemoteName = device != null ? device.getAlias() : null;
 
         if (mRemoteName == null) {
             mRemoteName = context.getString(R.string.unknown);
diff --git a/src/com/android/settings/bugreporthandler/BugReportHandlerPicker.java b/src/com/android/settings/bugreporthandler/BugReportHandlerPicker.java
new file mode 100644
index 0000000..23459d6
--- /dev/null
+++ b/src/com/android/settings/bugreporthandler/BugReportHandlerPicker.java
@@ -0,0 +1,218 @@
+/*
+ * 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.bugreporthandler;
+
+import static android.provider.Settings.ACTION_BUGREPORT_HANDLER_SETTINGS;
+
+import android.app.Activity;
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.PackageItemInfo;
+import android.content.pm.PackageManager;
+import android.content.pm.UserInfo;
+import android.os.UserHandle;
+import android.util.Log;
+import android.util.Pair;
+
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settings.Utils;
+import com.android.settings.applications.defaultapps.DefaultAppPickerFragment;
+import com.android.settingslib.applications.DefaultAppInfo;
+import com.android.settingslib.development.DevelopmentSettingsEnabler;
+import com.android.settingslib.widget.FooterPreference;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Picker for BugReportHandler.
+ */
+public class BugReportHandlerPicker extends DefaultAppPickerFragment {
+    private static final String TAG = "BugReportHandlerPicker";
+
+    private BugReportHandlerUtil mBugReportHandlerUtil;
+    private FooterPreference mFooter;
+
+    private static String getHandlerApp(String key) {
+        int index = key.lastIndexOf('#');
+        String handlerApp = key.substring(0, index);
+        return handlerApp;
+    }
+
+    private static int getHandlerUser(String key) {
+        int index = key.lastIndexOf('#');
+        int handlerUser = 0;
+        try {
+            handlerUser = Integer.parseInt(key.substring(index + 1));
+        } catch (NumberFormatException nfe) {
+            Log.e(TAG, "Failed to get handlerUser");
+        }
+        return handlerUser;
+    }
+
+    @VisibleForTesting
+    static String getKey(String handlerApp, int handlerUser) {
+        return handlerApp + "#" + handlerUser;
+    }
+
+    @Override
+    public void onAttach(Context context) {
+        super.onAttach(context);
+        if (!DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(context)) {
+            getActivity().finish();
+        }
+    }
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.bug_report_handler_settings;
+    }
+
+    @Override
+    protected void addStaticPreferences(PreferenceScreen screen) {
+        if (mFooter == null) {
+            mFooter = new FooterPreference(screen.getContext());
+            mFooter.setIcon(R.drawable.ic_info_outline_24dp);
+            mFooter.setSingleLineTitle(false);
+            mFooter.setTitle(R.string.bug_report_handler_picker_footer_text);
+            mFooter.setSelectable(false);
+        }
+        screen.addPreference(mFooter);
+    }
+
+    @Override
+    protected List<DefaultAppInfo> getCandidates() {
+        final Context context = getContext();
+        final List<Pair<ApplicationInfo, Integer>> validBugReportHandlerInfos =
+                getBugReportHandlerUtil().getValidBugReportHandlerInfos(context);
+        final List<DefaultAppInfo> candidates = new ArrayList<>();
+        for (Pair<ApplicationInfo, Integer> info : validBugReportHandlerInfos) {
+            candidates.add(createDefaultAppInfo(context, mPm, info.second, info.first));
+        }
+        return candidates;
+    }
+
+    private BugReportHandlerUtil getBugReportHandlerUtil() {
+        if (mBugReportHandlerUtil == null) {
+            setBugReportHandlerUtil(createDefaultBugReportHandlerUtil());
+        }
+        return mBugReportHandlerUtil;
+    }
+
+    @VisibleForTesting
+    void setBugReportHandlerUtil(BugReportHandlerUtil bugReportHandlerUtil) {
+        mBugReportHandlerUtil = bugReportHandlerUtil;
+    }
+
+    @VisibleForTesting
+    BugReportHandlerUtil createDefaultBugReportHandlerUtil() {
+        return new BugReportHandlerUtil();
+    }
+
+    @Override
+    protected String getDefaultKey() {
+        final Pair<String, Integer> pair =
+                getBugReportHandlerUtil().getCurrentBugReportHandlerAppAndUser(getContext());
+        return getKey(pair.first, pair.second);
+    }
+
+    @Override
+    protected boolean setDefaultKey(String key) {
+        return getBugReportHandlerUtil().setCurrentBugReportHandlerAppAndUser(getContext(),
+                getHandlerApp(key),
+                getHandlerUser(key));
+    }
+
+    @Override
+    protected void onSelectionPerformed(boolean success) {
+        super.onSelectionPerformed(success);
+        if (success) {
+            final Activity activity = getActivity();
+            final Intent intent = activity == null ? null : activity.getIntent();
+            if (intent != null && ACTION_BUGREPORT_HANDLER_SETTINGS.equals(intent.getAction())) {
+                // If this was started through ACTION_BUGREPORT_HANDLER_SETTINGS then return once
+                // we have chosen a new handler.
+                getActivity().finish();
+            }
+        } else {
+            getBugReportHandlerUtil().showInvalidChoiceToast(getContext());
+            updateCandidates();
+        }
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.SETTINGS_BUGREPORT_HANDLER;
+    }
+
+    @VisibleForTesting
+    DefaultAppInfo createDefaultAppInfo(Context context, PackageManager pm, int userId,
+            PackageItemInfo packageItemInfo) {
+        return new BugreportHandlerAppInfo(context, pm, userId, packageItemInfo,
+                getDescription(packageItemInfo.packageName, userId));
+    }
+
+    private String getDescription(String handlerApp, int handlerUser) {
+        final Context context = getContext();
+        if (BugReportHandlerUtil.SHELL_APP_PACKAGE.equals(handlerApp)) {
+            return context.getString(R.string.system_default_app_subtext);
+        }
+        if (mUserManager.getUserProfiles().size() < 2) {
+            return "";
+        }
+        final UserInfo userInfo = mUserManager.getUserInfo(handlerUser);
+        if (userInfo != null && userInfo.isManagedProfile()) {
+            return context.getString(R.string.work_profile_app_subtext);
+        }
+        return context.getString(R.string.personal_profile_app_subtext);
+    }
+
+    private static class BugreportHandlerAppInfo extends DefaultAppInfo {
+        private final Context mContext;
+
+        BugreportHandlerAppInfo(Context context, PackageManager pm, int userId,
+                PackageItemInfo packageItemInfo, String summary) {
+            super(context, pm, userId, packageItemInfo, summary, true /* enabled */);
+            mContext = context;
+        }
+
+        @Override
+        public String getKey() {
+            if (packageItemInfo != null) {
+                return BugReportHandlerPicker.getKey(packageItemInfo.packageName, userId);
+            } else {
+                return null;
+            }
+        }
+
+        @Override
+        public CharSequence loadLabel() {
+            if (mContext == null || packageItemInfo == null) {
+                return null;
+            }
+            if (BugReportHandlerUtil.SHELL_APP_PACKAGE.equals(packageItemInfo.packageName)) {
+                return mContext.getString(com.android.internal.R.string.android_system_label);
+            }
+            return super.loadLabel();
+        }
+    }
+}
diff --git a/src/com/android/settings/bugreporthandler/BugReportHandlerUtil.java b/src/com/android/settings/bugreporthandler/BugReportHandlerUtil.java
new file mode 100644
index 0000000..f4acc7d
--- /dev/null
+++ b/src/com/android/settings/bugreporthandler/BugReportHandlerUtil.java
@@ -0,0 +1,246 @@
+/*
+ * 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.bugreporthandler;
+
+import android.app.ActivityManager;
+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.content.pm.UserInfo;
+import android.os.RemoteException;
+import android.os.UserHandle;
+import android.os.UserManager;
+import android.provider.Settings;
+import android.text.TextUtils;
+import android.util.Log;
+import android.util.Pair;
+import android.widget.Toast;
+
+import com.android.settings.R;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * Utility methods related to BugReportHandler.
+ */
+public class BugReportHandlerUtil {
+    private static final String TAG = "BugReportHandlerUtil";
+    private static final String INTENT_BUGREPORT_REQUESTED =
+            "com.android.internal.intent.action.BUGREPORT_REQUESTED";
+
+    public static final String SHELL_APP_PACKAGE = "com.android.shell";
+
+    public BugReportHandlerUtil() {
+    }
+
+    /**
+     * Check is BugReportHandler enabled on the device.
+     *
+     * @param context Context
+     * @return true if BugReportHandler is enabled, or false otherwise
+     */
+    public boolean isBugReportHandlerEnabled(Context context) {
+        return context.getResources().getBoolean(
+                com.android.internal.R.bool.config_bugReportHandlerEnabled);
+    }
+
+    /**
+     * Fetch the package name currently used as bug report handler app and the user.
+     *
+     * @param context Context
+     * @return a pair of two values, first one is the current bug report handler app, second is
+     * the user.
+     */
+    public Pair<String, Integer> getCurrentBugReportHandlerAppAndUser(Context context) {
+
+        String handlerApp = getCustomBugReportHandlerApp(context);
+        int handlerUser = getCustomBugReportHandlerUser(context);
+
+        boolean needToResetOutdatedSettings = false;
+        if (!isBugreportWhitelistedApp(handlerApp)) {
+            handlerApp = getDefaultBugReportHandlerApp(context);
+            handlerUser = UserHandle.USER_SYSTEM;
+        } else if (getBugReportHandlerAppReceivers(context, handlerApp, handlerUser).isEmpty()) {
+            // It looks like the settings are outdated, need to reset outdated settings.
+            //
+            // i.e.
+            // If user chooses which profile and which bugreport-whitelisted app in that
+            // profile to handle a bugreport, then user remove the profile.
+            // === RESULT ===
+            // The chosen bugreport handler app is outdated because the profile is removed,
+            // so need to reset outdated settings
+            handlerApp = getDefaultBugReportHandlerApp(context);
+            handlerUser = UserHandle.USER_SYSTEM;
+            needToResetOutdatedSettings = true;
+        }
+
+        if (!isBugreportWhitelistedApp(handlerApp)
+                || getBugReportHandlerAppReceivers(context, handlerApp, handlerUser).isEmpty()) {
+            // It looks like current handler app may be too old and doesn't support to handle a
+            // bugreport, so change to let shell to handle a bugreport and need to reset
+            // settings.
+            handlerApp = SHELL_APP_PACKAGE;
+            handlerUser = UserHandle.USER_SYSTEM;
+            needToResetOutdatedSettings = true;
+        }
+
+        if (needToResetOutdatedSettings) {
+            setBugreportHandlerAppAndUser(context, handlerApp, handlerUser);
+        }
+
+        return Pair.create(handlerApp, handlerUser);
+    }
+
+    private String getCustomBugReportHandlerApp(Context context) {
+        // Get the package of custom bugreport handler app
+        return Settings.Global.getString(context.getContentResolver(),
+                Settings.Global.CUSTOM_BUGREPORT_HANDLER_APP);
+    }
+
+    private int getCustomBugReportHandlerUser(Context context) {
+        return Settings.Global.getInt(context.getContentResolver(),
+                Settings.Global.CUSTOM_BUGREPORT_HANDLER_USER, UserHandle.USER_NULL);
+    }
+
+    private String getDefaultBugReportHandlerApp(Context context) {
+        return context.getResources().getString(
+                com.android.internal.R.string.config_defaultBugReportHandlerApp);
+    }
+
+    /**
+     * Change current bug report handler app and user.
+     *
+     * @param context     Context
+     * @param handlerApp  the package name of the handler app
+     * @param handlerUser the id of the handler user
+     * @return whether the change succeeded
+     */
+    public boolean setCurrentBugReportHandlerAppAndUser(Context context, String handlerApp,
+            int handlerUser) {
+        if (!isBugreportWhitelistedApp(handlerApp)) {
+            return false;
+        } else if (getBugReportHandlerAppReceivers(context, handlerApp, handlerUser).isEmpty()) {
+            return false;
+        }
+        setBugreportHandlerAppAndUser(context, handlerApp, handlerUser);
+        return true;
+    }
+
+    /**
+     * Fetches ApplicationInfo objects and user ids for all currently valid BugReportHandler.
+     * A BugReportHandler is considered valid if it can receive BUGREPORT_REQUESTED intent.
+     *
+     * @param context Context
+     * @return pair objects for all currently valid BugReportHandler packages and user id
+     */
+    public List<Pair<ApplicationInfo, Integer>> getValidBugReportHandlerInfos(Context context) {
+        final List<Pair<ApplicationInfo, Integer>> validBugReportHandlerApplicationInfos =
+                new ArrayList<>();
+        List<String> bugreportWhitelistedPackages;
+        try {
+            bugreportWhitelistedPackages =
+                    ActivityManager.getService().getBugreportWhitelistedPackages();
+        } catch (RemoteException e) {
+            Log.e(TAG, "Failed to get bugreportWhitelistedPackages:", e);
+            return validBugReportHandlerApplicationInfos;
+        }
+
+        // Add "Shell with system user" as System default preference on top of screen
+        if (bugreportWhitelistedPackages.contains(SHELL_APP_PACKAGE)
+                && !getBugReportHandlerAppReceivers(context, SHELL_APP_PACKAGE,
+                UserHandle.USER_SYSTEM).isEmpty()) {
+            try {
+                validBugReportHandlerApplicationInfos.add(
+                        Pair.create(
+                                context.getPackageManager().getApplicationInfo(SHELL_APP_PACKAGE,
+                                        PackageManager.MATCH_ANY_USER), UserHandle.USER_SYSTEM)
+                );
+            } catch (PackageManager.NameNotFoundException e) {
+            }
+        }
+
+        final UserManager userManager = context.getSystemService(UserManager.class);
+        final List<UserInfo> profileList = userManager.getProfiles(UserHandle.getCallingUserId());
+        // Only add non-Shell app as normal preference
+        final List<String> nonShellPackageList = bugreportWhitelistedPackages.stream()
+                .filter(pkg -> !SHELL_APP_PACKAGE.equals(pkg)).collect(Collectors.toList());
+        Collections.sort(nonShellPackageList);
+        for (String pkg : nonShellPackageList) {
+            for (UserInfo profile : profileList) {
+                final int userId = profile.getUserHandle().getIdentifier();
+                if (getBugReportHandlerAppReceivers(context, pkg, userId).isEmpty()) {
+                    continue;
+                }
+                try {
+                    validBugReportHandlerApplicationInfos.add(
+                            Pair.create(context.getPackageManager()
+                                            .getApplicationInfo(pkg, PackageManager.MATCH_ANY_USER),
+                                    userId));
+                } catch (PackageManager.NameNotFoundException e) {
+                }
+            }
+        }
+        return validBugReportHandlerApplicationInfos;
+    }
+
+    private boolean isBugreportWhitelistedApp(String app) {
+        // Verify the app is bugreport-whitelisted
+        if (TextUtils.isEmpty(app)) {
+            return false;
+        }
+        try {
+            return ActivityManager.getService().getBugreportWhitelistedPackages().contains(app);
+        } catch (RemoteException e) {
+            Log.e(TAG, "Failed to get bugreportWhitelistedPackages:", e);
+            return false;
+        }
+    }
+
+    private List<ResolveInfo> getBugReportHandlerAppReceivers(Context context, String handlerApp,
+            int handlerUser) {
+        // Use the app package and the user id to retrieve the receiver that can handle a
+        // broadcast of the intent.
+        final Intent intent = new Intent(INTENT_BUGREPORT_REQUESTED);
+        intent.setPackage(handlerApp);
+        return context.getPackageManager()
+                .queryBroadcastReceiversAsUser(intent, PackageManager.MATCH_SYSTEM_ONLY,
+                        handlerUser);
+    }
+
+    private void setBugreportHandlerAppAndUser(Context context, String handlerApp,
+            int handlerUser) {
+        Settings.Global.putString(context.getContentResolver(),
+                Settings.Global.CUSTOM_BUGREPORT_HANDLER_APP,
+                handlerApp);
+        Settings.Global.putInt(context.getContentResolver(),
+                Settings.Global.CUSTOM_BUGREPORT_HANDLER_USER, handlerUser);
+    }
+
+    /**
+     * Show a toast to explain the chosen bug report handler can no longer be chosen.
+     */
+    public void showInvalidChoiceToast(Context context) {
+        final Toast toast = Toast.makeText(context,
+                R.string.select_invalid_bug_report_handler_toast_text, Toast.LENGTH_SHORT);
+        toast.show();
+    }
+}
diff --git a/src/com/android/settings/connecteddevice/AdvancedConnectedDeviceDashboardFragment.java b/src/com/android/settings/connecteddevice/AdvancedConnectedDeviceDashboardFragment.java
index 0d130d9..8509ca0 100644
--- a/src/com/android/settings/connecteddevice/AdvancedConnectedDeviceDashboardFragment.java
+++ b/src/com/android/settings/connecteddevice/AdvancedConnectedDeviceDashboardFragment.java
@@ -89,7 +89,7 @@
     /**
      * For Search.
      */
-    public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
             new BaseSearchIndexProvider() {
                 @Override
                 public List<SearchIndexableResource> getXmlResourcesToIndex(
diff --git a/src/com/android/settings/connecteddevice/AvailableMediaDeviceGroupController.java b/src/com/android/settings/connecteddevice/AvailableMediaDeviceGroupController.java
index cac46b0..d895154 100644
--- a/src/com/android/settings/connecteddevice/AvailableMediaDeviceGroupController.java
+++ b/src/com/android/settings/connecteddevice/AvailableMediaDeviceGroupController.java
@@ -141,11 +141,11 @@
         if (isAudioModeOngoingCall(mContext)) {
             // in phone call
             mPreferenceGroup.
-                    setTitle(mContext.getString(R.string.connected_device_available_call_title));
+                    setTitle(mContext.getString(R.string.connected_device_call_device_title));
         } else {
             // without phone call
             mPreferenceGroup.
-                    setTitle(mContext.getString(R.string.connected_device_available_media_title));
+                    setTitle(mContext.getString(R.string.connected_device_media_device_title));
         }
     }
 }
diff --git a/src/com/android/settings/connecteddevice/BluetoothDashboardFragment.java b/src/com/android/settings/connecteddevice/BluetoothDashboardFragment.java
index ecbda15..27b5c4a 100644
--- a/src/com/android/settings/connecteddevice/BluetoothDashboardFragment.java
+++ b/src/com/android/settings/connecteddevice/BluetoothDashboardFragment.java
@@ -16,8 +16,6 @@
 package com.android.settings.connecteddevice;
 
 import android.app.settings.SettingsEnums;
-import android.bluetooth.BluetoothAdapter;
-import android.bluetooth.BluetoothManager;
 import android.content.Context;
 import android.os.Bundle;
 
@@ -25,19 +23,14 @@
 import com.android.settings.SettingsActivity;
 import com.android.settings.bluetooth.BluetoothDeviceRenamePreferenceController;
 import com.android.settings.bluetooth.BluetoothSwitchPreferenceController;
-import com.android.settings.core.TogglePreferenceController;
 import com.android.settings.dashboard.DashboardFragment;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.SearchIndexableRaw;
 import com.android.settings.widget.SwitchBar;
 import com.android.settings.widget.SwitchBarController;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 import com.android.settingslib.search.SearchIndexable;
 import com.android.settingslib.widget.FooterPreference;
 
-import java.util.ArrayList;
-import java.util.List;
-
 /**
  * Dedicated screen for allowing the user to toggle bluetooth which displays relevant information to
  * the user based on related settings such as bluetooth scanning.
@@ -46,7 +39,7 @@
 public class BluetoothDashboardFragment extends DashboardFragment {
 
     private static final String TAG = "BluetoothDashboardFrag";
-    public static final String KEY_BLUETOOTH_SCREEN = "bluetooth_switchbar_screen";
+    private static final String KEY_BLUETOOTH_SCREEN_FOOTER = "bluetooth_screen_footer";
 
     private FooterPreference mFooterPreference;
     private SwitchBar mSwitchBar;
@@ -75,7 +68,7 @@
     @Override
     public void onCreate(Bundle icicle) {
         super.onCreate(icicle);
-        mFooterPreference = mFooterPreferenceMixin.createFooterPreference();
+        mFooterPreference = findPreference(KEY_BLUETOOTH_SCREEN_FOOTER);
     }
 
     @Override
@@ -100,40 +93,6 @@
     /**
      * For Search.
      */
-    public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableRaw> getRawDataToIndex(Context context,
-                        boolean enabled) {
-                    final List<SearchIndexableRaw> result = new ArrayList<>();
-
-                    // Add the activity title
-                    final SearchIndexableRaw data = new SearchIndexableRaw(context);
-                    data.title = context.getString(R.string.bluetooth_settings_title);
-                    data.screenTitle = context.getString(R.string.bluetooth_settings_title);
-                    data.keywords = context.getString(R.string.keywords_bluetooth_settings);
-                    data.key = KEY_BLUETOOTH_SCREEN;
-                    result.add(data);
-
-                    return result;
-                }
-
-                @Override
-                public List<String> getNonIndexableKeys(Context context) {
-                    final List<String> keys = super.getNonIndexableKeys(context);
-                    BluetoothManager manager =
-                            (BluetoothManager) context.getSystemService(Context.BLUETOOTH_SERVICE);
-                    if (manager != null) {
-                        BluetoothAdapter adapter = manager.getAdapter();
-                        final int status = adapter != null
-                                ? TogglePreferenceController.AVAILABLE
-                                : TogglePreferenceController.UNSUPPORTED_ON_DEVICE;
-                        if (status != TogglePreferenceController.AVAILABLE) {
-                            keys.add(KEY_BLUETOOTH_SCREEN);
-                        }
-                    }
-
-                    return keys;
-                }
-            };
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.bluetooth_screen);
 }
diff --git a/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragment.java b/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragment.java
index cbabb06..ce980e0 100644
--- a/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragment.java
+++ b/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragment.java
@@ -19,7 +19,6 @@
 import android.content.Context;
 import android.net.Uri;
 import android.provider.DeviceConfig;
-import android.provider.SearchIndexableResource;
 
 import androidx.annotation.VisibleForTesting;
 
@@ -28,14 +27,8 @@
 import com.android.settings.dashboard.DashboardFragment;
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settings.slices.SlicePreferenceController;
-import com.android.settingslib.core.AbstractPreferenceController;
-import com.android.settingslib.core.lifecycle.Lifecycle;
 import com.android.settingslib.search.SearchIndexable;
 
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
 @SearchIndexable(forTarget = SearchIndexable.ALL & ~SearchIndexable.ARC)
 public class ConnectedDeviceDashboardFragment extends DashboardFragment {
 
@@ -67,25 +60,6 @@
     }
 
     @Override
-    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
-        return buildPreferenceControllers(context, getSettingsLifecycle());
-    }
-
-    private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
-            Lifecycle lifecycle) {
-        final List<AbstractPreferenceController> controllers = new ArrayList<>();
-        final DiscoverableFooterPreferenceController discoverableFooterPreferenceController =
-                new DiscoverableFooterPreferenceController(context);
-        controllers.add(discoverableFooterPreferenceController);
-
-        if (lifecycle != null) {
-            lifecycle.addObserver(discoverableFooterPreferenceController);
-        }
-
-        return controllers;
-    }
-
-    @Override
     public void onAttach(Context context) {
         super.onAttach(context);
         final boolean nearbyEnabled = DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_SETTINGS_UI,
@@ -93,7 +67,6 @@
         use(AvailableMediaDeviceGroupController.class).init(this);
         use(ConnectedDeviceGroupController.class).init(this);
         use(PreviouslyConnectedDevicePreferenceController.class).init(this);
-        use(DiscoverableFooterPreferenceController.class).init(this);
         use(SlicePreferenceController.class).setSliceUri(nearbyEnabled
                 ? Uri.parse(getString(R.string.config_nearby_devices_slice_uri))
                 : null);
@@ -102,20 +75,6 @@
     /**
      * For Search.
      */
-    public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(
-                        Context context, boolean enabled) {
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.connected_devices;
-                    return Arrays.asList(sir);
-                }
-
-                @Override
-                public List<AbstractPreferenceController> createPreferenceControllers(Context
-                        context) {
-                    return buildPreferenceControllers(context, null /* lifecycle */);
-                }
-            };
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.connected_devices);
 }
diff --git a/src/com/android/settings/connecteddevice/DiscoverableFooterPreferenceController.java b/src/com/android/settings/connecteddevice/DiscoverableFooterPreferenceController.java
index ead3307..91368bf 100644
--- a/src/com/android/settings/connecteddevice/DiscoverableFooterPreferenceController.java
+++ b/src/com/android/settings/connecteddevice/DiscoverableFooterPreferenceController.java
@@ -32,32 +32,29 @@
 import com.android.settings.bluetooth.AlwaysDiscoverable;
 import com.android.settings.bluetooth.Utils;
 import com.android.settings.core.BasePreferenceController;
-import com.android.settings.dashboard.DashboardFragment;
 import com.android.settingslib.bluetooth.LocalBluetoothManager;
 import com.android.settingslib.core.lifecycle.LifecycleObserver;
-import com.android.settingslib.core.lifecycle.events.OnPause;
-import com.android.settingslib.core.lifecycle.events.OnResume;
+import com.android.settingslib.core.lifecycle.events.OnStart;
+import com.android.settingslib.core.lifecycle.events.OnStop;
 import com.android.settingslib.widget.FooterPreference;
-import com.android.settingslib.widget.FooterPreferenceMixinCompat;
 
 /**
  * Controller that shows and updates the bluetooth device name
  */
 public class DiscoverableFooterPreferenceController extends BasePreferenceController
-        implements LifecycleObserver, OnResume, OnPause {
+        implements LifecycleObserver, OnStart, OnStop {
     private static final String KEY = "discoverable_footer_preference";
 
     @VisibleForTesting
     BroadcastReceiver mBluetoothChangedReceiver;
     @VisibleForTesting
     LocalBluetoothManager mLocalManager;
-    private FooterPreferenceMixinCompat mFooterPreferenceMixin;
-    private FooterPreference mPreference;
     private BluetoothAdapter mBluetoothAdapter;
     private AlwaysDiscoverable mAlwaysDiscoverable;
+    private FooterPreference mPreference;
 
-    public DiscoverableFooterPreferenceController(Context context) {
-        super(context, KEY);
+    public DiscoverableFooterPreferenceController(Context context, String key) {
+        super(context, key);
         mLocalManager = Utils.getLocalBtManager(context);
         if (mLocalManager == null) {
             return;
@@ -67,53 +64,21 @@
         initReceiver();
     }
 
-    private void initReceiver() {
-        mBluetoothChangedReceiver = new BroadcastReceiver() {
-            @Override
-            public void onReceive(Context context, Intent intent) {
-                if (intent.getAction().equals(BluetoothAdapter.ACTION_STATE_CHANGED)) {
-                    final int state = intent.getIntExtra(BluetoothAdapter.EXTRA_STATE,
-                            BluetoothAdapter.ERROR);
-                    updateFooterPreferenceTitle(state);
-                }
-            }
-        };
-    }
-
-    public void init(DashboardFragment fragment) {
-        mFooterPreferenceMixin = new FooterPreferenceMixinCompat(fragment,
-                fragment.getSettingsLifecycle());
-    }
-
-    @VisibleForTesting
-    void init(FooterPreferenceMixinCompat footerPreferenceMixin, FooterPreference preference,
-            AlwaysDiscoverable alwaysDiscoverable) {
-        mFooterPreferenceMixin = footerPreferenceMixin;
-        mPreference = preference;
-        mAlwaysDiscoverable = alwaysDiscoverable;
-    }
-
     @Override
     public void displayPreference(PreferenceScreen screen) {
         super.displayPreference(screen);
-        addFooterPreference(screen);
+        mPreference = screen.findPreference(getPreferenceKey());
     }
 
     @Override
     public int getAvailabilityStatus() {
         return mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_BLUETOOTH)
-                ? AVAILABLE
+                ? AVAILABLE_UNSEARCHABLE
                 : UNSUPPORTED_ON_DEVICE;
     }
 
-    private void addFooterPreference(PreferenceScreen screen) {
-        mPreference = mFooterPreferenceMixin.createFooterPreference();
-        mPreference.setKey(KEY);
-        screen.addPreference(mPreference);
-    }
-
     @Override
-    public void onResume() {
+    public void onStart() {
         if (mLocalManager == null) {
             return;
         }
@@ -124,7 +89,7 @@
     }
 
     @Override
-    public void onPause() {
+    public void onStop() {
         if (mLocalManager == null) {
             return;
         }
@@ -132,7 +97,7 @@
         mAlwaysDiscoverable.stop();
     }
 
-    private void updateFooterPreferenceTitle (int bluetoothState) {
+    private void updateFooterPreferenceTitle(int bluetoothState) {
         if (bluetoothState == BluetoothAdapter.STATE_ON) {
             mPreference.setTitle(getPreferenceTitle());
         } else {
@@ -150,4 +115,17 @@
                 mContext.getText(R.string.bluetooth_device_name_summary),
                 BidiFormatter.getInstance().unicodeWrap(deviceName));
     }
+
+    private void initReceiver() {
+        mBluetoothChangedReceiver = new BroadcastReceiver() {
+            @Override
+            public void onReceive(Context context, Intent intent) {
+                if (intent.getAction().equals(BluetoothAdapter.ACTION_STATE_CHANGED)) {
+                    final int state = intent.getIntExtra(BluetoothAdapter.EXTRA_STATE,
+                            BluetoothAdapter.ERROR);
+                    updateFooterPreferenceTitle(state);
+                }
+            }
+        };
+    }
 }
\ No newline at end of file
diff --git a/src/com/android/settings/connecteddevice/NfcAndPaymentFragment.java b/src/com/android/settings/connecteddevice/NfcAndPaymentFragment.java
new file mode 100644
index 0000000..4ebc0cd
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/NfcAndPaymentFragment.java
@@ -0,0 +1,58 @@
+/*
+ * 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.connecteddevice;
+
+import android.app.settings.SettingsEnums;
+
+import com.android.settings.R;
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settingslib.search.SearchIndexable;
+
+/**
+ * This fragment contains NFC and payment specific settings.
+ */
+@SearchIndexable(forTarget = SearchIndexable.ALL & ~SearchIndexable.ARC)
+public class NfcAndPaymentFragment extends DashboardFragment {
+    private static final String TAG = "NfcAndPaymentFragment";
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.nfc_and_payment_settings;
+    }
+
+    @Override
+    protected String getLogTag() {
+        return TAG;
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.CONNECTION_DEVICE_ADVANCED_NFC;
+    }
+
+    @Override
+    public int getHelpResource() {
+        return R.string.help_uri_nfc_and_payment_settings;
+    }
+
+    /**
+     * For Search.
+     */
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.nfc_and_payment_settings);
+}
diff --git a/src/com/android/settings/connecteddevice/NfcAndPaymentFragmentController.java b/src/com/android/settings/connecteddevice/NfcAndPaymentFragmentController.java
new file mode 100644
index 0000000..fef1922
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/NfcAndPaymentFragmentController.java
@@ -0,0 +1,67 @@
+/*
+ * 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.connecteddevice;
+
+import android.content.Context;
+import android.content.pm.PackageManager;
+import android.nfc.NfcAdapter;
+import android.os.UserManager;
+
+import com.android.settings.R;
+import com.android.settings.core.BasePreferenceController;
+
+/**
+ * Controller that used to show NFC and payment features
+ */
+public class NfcAndPaymentFragmentController extends BasePreferenceController {
+    private final NfcAdapter mNfcAdapter;
+    private final PackageManager mPackageManager;
+    private final UserManager mUserManager;
+
+    public NfcAndPaymentFragmentController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+
+        mPackageManager = context.getPackageManager();
+        mUserManager = context.getSystemService(UserManager.class);
+        mNfcAdapter = NfcAdapter.getDefaultAdapter(context);
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        if (!mPackageManager.hasSystemFeature(PackageManager.FEATURE_NFC)
+                || !mPackageManager.hasSystemFeature(
+                PackageManager.FEATURE_NFC_HOST_CARD_EMULATION)) {
+            return UNSUPPORTED_ON_DEVICE;
+        }
+        if (!mUserManager.isAdminUser()) {
+            return DISABLED_FOR_USER;
+        }
+        return AVAILABLE;
+    }
+
+    @Override
+    public CharSequence getSummary() {
+        if (mNfcAdapter != null) {
+            if (mNfcAdapter.isEnabled()) {
+                return mContext.getText(R.string.switch_on_text);
+            } else {
+                return mContext.getText(R.string.switch_off_text);
+            }
+        }
+        return null;
+    }
+}
diff --git a/src/com/android/settings/connecteddevice/PreviouslyConnectedDeviceDashboardFragment.java b/src/com/android/settings/connecteddevice/PreviouslyConnectedDeviceDashboardFragment.java
index 709e1dc..d3f5c28 100644
--- a/src/com/android/settings/connecteddevice/PreviouslyConnectedDeviceDashboardFragment.java
+++ b/src/com/android/settings/connecteddevice/PreviouslyConnectedDeviceDashboardFragment.java
@@ -17,17 +17,12 @@
 
 import android.app.settings.SettingsEnums;
 import android.content.Context;
-import android.content.res.Resources;
 
 import com.android.settings.R;
 import com.android.settings.dashboard.DashboardFragment;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.SearchIndexableRaw;
 import com.android.settingslib.search.SearchIndexable;
 
-import java.util.ArrayList;
-import java.util.List;
-
 /**
  * This fragment contains previously connected device
  */
@@ -66,23 +61,6 @@
     /**
      * For Search.
      */
-    public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-        @Override
-        public List<SearchIndexableRaw> getRawDataToIndex(
-                Context context, boolean enabled) {
-            final List<SearchIndexableRaw> result = new ArrayList<SearchIndexableRaw>();
-            final Resources res = context.getResources();
-
-            // Add fragment title
-            SearchIndexableRaw data = new SearchIndexableRaw(context);
-            data.key = KEY_PREVIOUSLY_CONNECTED_DEVICES;
-            data.title = res.getString(
-                    R.string.connected_device_previously_connected_title);
-            data.screenTitle = res.getString(
-                    R.string.connected_device_previously_connected_title);
-            result.add(data);
-            return result;
-        }
-    };
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.previously_connected_devices);
 }
\ No newline at end of file
diff --git a/src/com/android/settings/connecteddevice/TopLevelConnectedDevicesPreferenceController.java b/src/com/android/settings/connecteddevice/TopLevelConnectedDevicesPreferenceController.java
index 2102283..fd36bca 100644
--- a/src/com/android/settings/connecteddevice/TopLevelConnectedDevicesPreferenceController.java
+++ b/src/com/android/settings/connecteddevice/TopLevelConnectedDevicesPreferenceController.java
@@ -31,8 +31,7 @@
     @Override
     public int getAvailabilityStatus() {
         return mContext.getResources().getBoolean(R.bool.config_show_top_level_connected_devices)
-        ? AVAILABLE_UNSEARCHABLE
-        : UNSUPPORTED_ON_DEVICE;
+                ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
     }
 
     @Override
diff --git a/src/com/android/settings/connecteddevice/usb/ConnectedUsbDeviceUpdater.java b/src/com/android/settings/connecteddevice/usb/ConnectedUsbDeviceUpdater.java
index 0be1438..1078a21 100644
--- a/src/com/android/settings/connecteddevice/usb/ConnectedUsbDeviceUpdater.java
+++ b/src/com/android/settings/connecteddevice/usb/ConnectedUsbDeviceUpdater.java
@@ -29,11 +29,18 @@
 import com.android.settings.connecteddevice.DevicePreferenceCallback;
 import com.android.settings.core.SubSettingLauncher;
 import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.overlay.FeatureFactory;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 
 /**
  * Controller to maintain connected usb device
  */
 public class ConnectedUsbDeviceUpdater {
+
+    private static final String PREF_KEY = "connected_usb";
+
+    private final MetricsFeatureProvider mMetricsFeatureProvider;
+
     private DashboardFragment mFragment;
     private UsbBackend mUsbBackend;
     private DevicePreferenceCallback mDevicePreferenceCallback;
@@ -67,6 +74,8 @@
         mUsbBackend = usbBackend;
         mUsbReceiver = new UsbConnectionBroadcastReceiver(context,
                 mUsbConnectionListener, mUsbBackend);
+        mMetricsFeatureProvider = FeatureFactory.getFactory(mFragment.getContext())
+                .getMetricsFeatureProvider();
     }
 
     public void registerCallback() {
@@ -82,7 +91,9 @@
         mUsbPreference = new Preference(context, null /* AttributeSet */);
         mUsbPreference.setTitle(R.string.usb_pref);
         mUsbPreference.setIcon(R.drawable.ic_usb);
+        mUsbPreference.setKey(PREF_KEY);
         mUsbPreference.setOnPreferenceClickListener((Preference p) -> {
+            mMetricsFeatureProvider.logClickedPreference(p, mFragment.getMetricsCategory());
             // New version - uses a separate screen.
             new SubSettingLauncher(mFragment.getContext())
                     .setDestination(UsbDetailsFragment.class.getName())
diff --git a/src/com/android/settings/connecteddevice/usb/UsbConnectionBroadcastReceiver.java b/src/com/android/settings/connecteddevice/usb/UsbConnectionBroadcastReceiver.java
index 695a714..e557847 100644
--- a/src/com/android/settings/connecteddevice/usb/UsbConnectionBroadcastReceiver.java
+++ b/src/com/android/settings/connecteddevice/usb/UsbConnectionBroadcastReceiver.java
@@ -57,26 +57,24 @@
         if (UsbManager.ACTION_USB_STATE.equals(intent.getAction())) {
             mConnected = intent.getExtras().getBoolean(UsbManager.USB_CONNECTED)
                     || intent.getExtras().getBoolean(UsbManager.USB_HOST_CONNECTED);
-            if (mConnected) {
-                long functions = UsbManager.FUNCTION_NONE;
-                if (intent.getExtras().getBoolean(UsbManager.USB_FUNCTION_MTP)
-                        && intent.getExtras().getBoolean(UsbManager.USB_DATA_UNLOCKED, false)) {
-                    functions |= UsbManager.FUNCTION_MTP;
-                }
-                if (intent.getExtras().getBoolean(UsbManager.USB_FUNCTION_PTP)
-                        && intent.getExtras().getBoolean(UsbManager.USB_DATA_UNLOCKED, false)) {
-                    functions |= UsbManager.FUNCTION_PTP;
-                }
-                if (intent.getExtras().getBoolean(UsbManager.USB_FUNCTION_MIDI)) {
-                    functions |= UsbManager.FUNCTION_MIDI;
-                }
-                if (intent.getExtras().getBoolean(UsbManager.USB_FUNCTION_RNDIS)) {
-                    functions |= UsbManager.FUNCTION_RNDIS;
-                }
-                mFunctions = functions;
-                mDataRole = mUsbBackend.getDataRole();
-                mPowerRole = mUsbBackend.getPowerRole();
+            long functions = UsbManager.FUNCTION_NONE;
+            if (intent.getExtras().getBoolean(UsbManager.USB_FUNCTION_MTP)
+                    && intent.getExtras().getBoolean(UsbManager.USB_DATA_UNLOCKED, false)) {
+                functions |= UsbManager.FUNCTION_MTP;
             }
+            if (intent.getExtras().getBoolean(UsbManager.USB_FUNCTION_PTP)
+                    && intent.getExtras().getBoolean(UsbManager.USB_DATA_UNLOCKED, false)) {
+                functions |= UsbManager.FUNCTION_PTP;
+            }
+            if (intent.getExtras().getBoolean(UsbManager.USB_FUNCTION_MIDI)) {
+                functions |= UsbManager.FUNCTION_MIDI;
+            }
+            if (intent.getExtras().getBoolean(UsbManager.USB_FUNCTION_RNDIS)) {
+                functions |= UsbManager.FUNCTION_RNDIS;
+            }
+            mFunctions = functions;
+            mDataRole = mUsbBackend.getDataRole();
+            mPowerRole = mUsbBackend.getPowerRole();
         } else if (UsbManager.ACTION_USB_PORT_CHANGED.equals(intent.getAction())) {
             UsbPortStatus portStatus = intent.getExtras()
                     .getParcelable(UsbManager.EXTRA_PORT_STATUS);
diff --git a/src/com/android/settings/connecteddevice/usb/UsbDefaultFragment.java b/src/com/android/settings/connecteddevice/usb/UsbDefaultFragment.java
index 4c00c3e..12e978f 100644
--- a/src/com/android/settings/connecteddevice/usb/UsbDefaultFragment.java
+++ b/src/com/android/settings/connecteddevice/usb/UsbDefaultFragment.java
@@ -26,13 +26,14 @@
 import android.os.Bundle;
 
 import androidx.annotation.VisibleForTesting;
+import androidx.preference.PreferenceScreen;
 
 import com.android.settings.R;
 import com.android.settings.Utils;
 import com.android.settings.widget.RadioButtonPickerFragment;
 import com.android.settingslib.widget.CandidateInfo;
 import com.android.settingslib.widget.FooterPreference;
-import com.android.settingslib.widget.FooterPreferenceMixinCompat;
+import com.android.settingslib.widget.RadioButtonPreference;
 
 import com.google.android.collect.Lists;
 
@@ -50,21 +51,38 @@
     OnStartTetheringCallback mOnStartTetheringCallback = new OnStartTetheringCallback();
     @VisibleForTesting
     long mPreviousFunctions;
+    @VisibleForTesting
+    long mCurrentFunctions;
+    @VisibleForTesting
+    boolean mIsStartTethering = false;
+
+    private UsbConnectionBroadcastReceiver mUsbReceiver;
+
+    @VisibleForTesting
+    UsbConnectionBroadcastReceiver.UsbConnectionListener mUsbConnectionListener =
+            (connected, functions, powerRole, dataRole) -> {
+                if (mIsStartTethering) {
+                    mCurrentFunctions = functions;
+                    refresh(functions);
+                }
+            };
 
     @Override
     public void onAttach(Context context) {
         super.onAttach(context);
         mUsbBackend = new UsbBackend(context);
         mConnectivityManager = context.getSystemService(ConnectivityManager.class);
+        mUsbReceiver = new UsbConnectionBroadcastReceiver(context, mUsbConnectionListener,
+                mUsbBackend);
+        getSettingsLifecycle().addObserver(mUsbReceiver);
+        mCurrentFunctions = mUsbBackend.getDefaultUsbFunctions();
     }
 
     @Override
     public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
         super.onCreatePreferences(savedInstanceState, rootKey);
-        FooterPreferenceMixinCompat footer = new FooterPreferenceMixinCompat(this,
-                this.getSettingsLifecycle());
-        FooterPreference pref = footer.createFooterPreference();
-        pref.setTitle(R.string.usb_default_info);
+        getPreferenceScreen().addPreference(new FooterPreference.Builder(getActivity()).setTitle(
+                R.string.usb_default_info).build());
     }
 
     @Override
@@ -121,9 +139,12 @@
             if (functions == UsbManager.FUNCTION_RNDIS) {
                 // We need to have entitlement check for usb tethering, so use API in
                 // ConnectivityManager.
+                mIsStartTethering = true;
                 mConnectivityManager.startTethering(TETHERING_USB, true /* showProvisioningUi */,
                         mOnStartTetheringCallback);
             } else {
+                mIsStartTethering = false;
+                mCurrentFunctions = functions;
                 mUsbBackend.setDefaultUsbFunctions(functions);
             }
 
@@ -131,6 +152,12 @@
         return true;
     }
 
+    @Override
+    public void onPause() {
+        super.onPause();
+        mUsbBackend.setDefaultUsbFunctions(mCurrentFunctions);
+    }
+
     @VisibleForTesting
     final class OnStartTetheringCallback extends
             ConnectivityManager.OnStartTetheringCallback {
@@ -139,6 +166,7 @@
         public void onTetheringStarted() {
             super.onTetheringStarted();
             // Set default usb functions again to make internal data persistent
+            mCurrentFunctions = UsbManager.FUNCTION_RNDIS;
             mUsbBackend.setDefaultUsbFunctions(UsbManager.FUNCTION_RNDIS);
         }
 
@@ -149,4 +177,19 @@
             updateCandidates();
         }
     }
+
+    private void refresh(long functions) {
+        final PreferenceScreen screen = getPreferenceScreen();
+        for (long option : UsbDetailsFunctionsController.FUNCTIONS_MAP.keySet()) {
+            final RadioButtonPreference pref =
+                    screen.findPreference(UsbBackend.usbFunctionsToString(option));
+            if (pref != null) {
+                final boolean isSupported = mUsbBackend.areFunctionsSupported(option);
+                pref.setEnabled(isSupported);
+                if (isSupported) {
+                    pref.setChecked(functions == option);
+                }
+            }
+        }
+    }
 }
\ No newline at end of file
diff --git a/src/com/android/settings/connecteddevice/usb/UsbDetailsDataRoleController.java b/src/com/android/settings/connecteddevice/usb/UsbDetailsDataRoleController.java
index 4b08b74..411bc1d 100644
--- a/src/com/android/settings/connecteddevice/usb/UsbDetailsDataRoleController.java
+++ b/src/com/android/settings/connecteddevice/usb/UsbDetailsDataRoleController.java
@@ -27,7 +27,7 @@
 
 import com.android.settings.R;
 import com.android.settings.Utils;
-import com.android.settings.widget.RadioButtonPreference;
+import com.android.settingslib.widget.RadioButtonPreference;
 
 /**
  * This class controls the radio buttons for switching between
diff --git a/src/com/android/settings/connecteddevice/usb/UsbDetailsFragment.java b/src/com/android/settings/connecteddevice/usb/UsbDetailsFragment.java
index 6d8de6d..4b83b06 100644
--- a/src/com/android/settings/connecteddevice/usb/UsbDetailsFragment.java
+++ b/src/com/android/settings/connecteddevice/usb/UsbDetailsFragment.java
@@ -18,19 +18,18 @@
 
 import android.app.settings.SettingsEnums;
 import android.content.Context;
-import android.provider.SearchIndexableResource;
+import android.os.Bundle;
+import android.view.View;
 
 import androidx.annotation.VisibleForTesting;
 
 import com.android.settings.R;
+import com.android.settings.Utils;
 import com.android.settings.dashboard.DashboardFragment;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
 import com.android.settingslib.core.AbstractPreferenceController;
 import com.android.settingslib.search.SearchIndexable;
 
-import com.google.android.collect.Lists;
-
 import java.util.ArrayList;
 import java.util.List;
 
@@ -55,6 +54,12 @@
             };
 
     @Override
+    public void onViewCreated(View view, Bundle savedInstanceState) {
+        super.onViewCreated(view, savedInstanceState);
+        Utils.setActionBarShadowAnimation(getActivity(), getSettingsLifecycle(), getListView());
+    }
+
+    @Override
     public int getMetricsCategory() {
         return SettingsEnums.USB_DEVICE_DETAILS;
     }
@@ -93,15 +98,8 @@
     /**
      * For Search.
      */
-    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(
-                        Context context, boolean enabled) {
-                    SearchIndexableResource res = new SearchIndexableResource(context);
-                    res.xmlResId = R.xml.usb_details_fragment;
-                    return Lists.newArrayList(res);
-                }
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.usb_details_fragment) {
 
                 @Override
                 public List<AbstractPreferenceController> createPreferenceControllers(
diff --git a/src/com/android/settings/connecteddevice/usb/UsbDetailsFunctionsController.java b/src/com/android/settings/connecteddevice/usb/UsbDetailsFunctionsController.java
index 858a01c..31bca12 100644
--- a/src/com/android/settings/connecteddevice/usb/UsbDetailsFunctionsController.java
+++ b/src/com/android/settings/connecteddevice/usb/UsbDetailsFunctionsController.java
@@ -29,7 +29,7 @@
 
 import com.android.settings.R;
 import com.android.settings.Utils;
-import com.android.settings.widget.RadioButtonPreference;
+import com.android.settingslib.widget.RadioButtonPreference;
 
 import java.util.LinkedHashMap;
 import java.util.Map;
@@ -114,16 +114,16 @@
         if (function != previousFunction && !Utils.isMonkeyRunning()) {
             mPreviousFunction = previousFunction;
 
-            if (function == UsbManager.FUNCTION_RNDIS) {
-                //Update the UI in advance to make it looks smooth
-                final RadioButtonPreference prevPref =
-                        (RadioButtonPreference) mProfilesContainer.findPreference(
-                                UsbBackend.usbFunctionsToString(mPreviousFunction));
-                if (prevPref != null) {
-                    prevPref.setChecked(false);
-                    preference.setChecked(true);
-                }
+            //Update the UI in advance to make it looks smooth
+            final RadioButtonPreference prevPref =
+                    (RadioButtonPreference) mProfilesContainer.findPreference(
+                            UsbBackend.usbFunctionsToString(mPreviousFunction));
+            if (prevPref != null) {
+                prevPref.setChecked(false);
+                preference.setChecked(true);
+            }
 
+            if (function == UsbManager.FUNCTION_RNDIS) {
                 // We need to have entitlement check for usb tethering, so use API in
                 // ConnectivityManager.
                 mConnectivityManager.startTethering(TETHERING_USB, true /* showProvisioningUi */,
diff --git a/src/com/android/settings/core/BasePreferenceController.java b/src/com/android/settings/core/BasePreferenceController.java
index 324b509..1985a99 100644
--- a/src/com/android/settings/core/BasePreferenceController.java
+++ b/src/com/android/settings/core/BasePreferenceController.java
@@ -13,18 +13,32 @@
  */
 package com.android.settings.core;
 
+import static android.content.Intent.EXTRA_USER_ID;
+
+import static com.android.settings.dashboard.DashboardFragment.CATEGORY;
+
 import android.annotation.IntDef;
+import android.app.settings.SettingsEnums;
+import android.content.ContentResolver;
 import android.content.Context;
+import android.net.Uri;
+import android.os.Bundle;
+import android.os.UserHandle;
+import android.os.UserManager;
+import android.provider.SettingsSlicesContract;
 import android.text.TextUtils;
 import android.util.Log;
 
+import androidx.annotation.Nullable;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.search.SearchIndexableRaw;
+import com.android.settings.Utils;
+import com.android.settings.slices.SettingsSliceProvider;
 import com.android.settings.slices.SliceData;
 import com.android.settings.slices.Sliceable;
 import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.settingslib.search.SearchIndexableRaw;
 
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
@@ -105,9 +119,11 @@
      */
     public static final int DISABLED_DEPENDENT_SETTING = 5;
 
-
     protected final String mPreferenceKey;
     protected UiBlockListener mUiBlockListener;
+    private boolean mIsForWork;
+    @Nullable
+    private UserHandle mWorkProfileUser;
 
     /**
      * Instantiate a controller as specified controller type and user-defined key.
@@ -147,6 +163,34 @@
         }
     }
 
+    /**
+     * Instantiate a controller as specified controller type and work profile
+     * <p/>
+     * This is done through reflection. Do not use this method unless you know what you are doing.
+     *
+     * @param context        application context
+     * @param controllerName class name of the {@link BasePreferenceController}
+     * @param key            attribute android:key of the {@link Preference}
+     * @param isWorkProfile  is this controller only for work profile user?
+     */
+    public static BasePreferenceController createInstance(Context context, String controllerName,
+            String key, boolean isWorkProfile) {
+        try {
+            final Class<?> clazz = Class.forName(controllerName);
+            final Constructor<?> preferenceConstructor =
+                    clazz.getConstructor(Context.class, String.class);
+            final Object[] params = new Object[]{context, key};
+            final BasePreferenceController controller =
+                    (BasePreferenceController) preferenceConstructor.newInstance(params);
+            controller.setForWork(isWorkProfile);
+            return controller;
+        } catch (ClassNotFoundException | NoSuchMethodException | InstantiationException
+                | IllegalArgumentException | InvocationTargetException | IllegalAccessException e) {
+            throw new IllegalStateException(
+                    "Invalid preference controller: " + controllerName, e);
+        }
+    }
+
     public BasePreferenceController(Context context, String preferenceKey) {
         super(context);
         mPreferenceKey = preferenceKey;
@@ -156,12 +200,15 @@
     }
 
     /**
-     * @return {@AvailabilityStatus} for the Setting. This status is used to determine if the
+     * @return {@link AvailabilityStatus} for the Setting. This status is used to determine if the
      * Setting should be shown or disabled in Settings. Further, it can be used to produce
      * appropriate error / warning Slice in the case of unavailability.
      * </p>
      * The status is used for the convenience methods: {@link #isAvailable()},
      * {@link #isSupported()}
+     * </p>
+     * The inherited class doesn't need to check work profile if
+     * android:forWork="true" is set in preference xml.
      */
     @AvailabilityStatus
     public abstract int getAvailabilityStatus();
@@ -171,6 +218,19 @@
         return mPreferenceKey;
     }
 
+    @Override
+    public Uri getSliceUri() {
+        return new Uri.Builder()
+                .scheme(ContentResolver.SCHEME_CONTENT)
+                // Default to non-platform authority. Platform Slices will override authority
+                // accordingly.
+                .authority(SettingsSliceProvider.SLICE_AUTHORITY)
+                // Default to action based slices. Intent based slices will override accordingly.
+                .appendPath(SettingsSlicesContract.PATH_SETTING_ACTION)
+                .appendPath(getPreferenceKey())
+                .build();
+    }
+
     /**
      * @return {@code true} when the controller can be changed on the device.
      *
@@ -181,12 +241,18 @@
      * {@link #DISABLED_DEPENDENT_SETTING}, then the setting will be disabled by default in the
      * DashboardFragment, and it is up to the {@link BasePreferenceController} to enable the
      * preference at the right time.
-     *
+     * <p>
+     * This function also check if work profile is existed when android:forWork="true" is set for
+     * the controller in preference xml.
      * TODO (mfritze) Build a dependency mechanism to allow a controller to easily define the
      * dependent setting.
      */
     @Override
     public final boolean isAvailable() {
+        if (mIsForWork && mWorkProfileUser == null) {
+            return false;
+        }
+
         final int availabilityStatus = getAvailabilityStatus();
         return (availabilityStatus == AVAILABLE
                 || availabilityStatus == AVAILABLE_UNSEARCHABLE
@@ -250,6 +316,43 @@
     }
 
     /**
+     * Indicates this controller is only for work profile user
+     */
+    void setForWork(boolean forWork) {
+        mIsForWork = forWork;
+        if (mIsForWork) {
+            mWorkProfileUser = Utils.getManagedProfile(UserManager.get(mContext));
+        }
+    }
+
+    /**
+     * Launches the specified fragment for the work profile user if the associated
+     * {@link Preference} is clicked.  Otherwise just forward it to the super class.
+     *
+     * @param preference the preference being clicked.
+     * @return {@code true} if handled.
+     */
+    @Override
+    public boolean handlePreferenceTreeClick(Preference preference) {
+        if (!TextUtils.equals(preference.getKey(), getPreferenceKey())) {
+            return super.handlePreferenceTreeClick(preference);
+        }
+        if (!mIsForWork || mWorkProfileUser == null) {
+            return super.handlePreferenceTreeClick(preference);
+        }
+        final Bundle extra = preference.getExtras();
+        extra.putInt(EXTRA_USER_ID, mWorkProfileUser.getIdentifier());
+        new SubSettingLauncher(preference.getContext())
+                .setDestination(preference.getFragment())
+                .setSourceMetricsCategory(preference.getExtras().getInt(CATEGORY,
+                        SettingsEnums.PAGE_UNKNOWN))
+                .setArguments(preference.getExtras())
+                .setUserHandle(mWorkProfileUser)
+                .launch();
+        return true;
+    }
+
+    /**
      * Updates raw data for search provider.
      *
      * Called by SearchIndexProvider#getRawDataToIndex
@@ -258,6 +361,14 @@
     }
 
     /**
+     * Updates dynamic raw data for search provider.
+     *
+     * Called by SearchIndexProvider#getDynamicRawDataToIndex
+     */
+    public void updateDynamicRawDataToIndex(List<SearchIndexableRaw> rawData) {
+    }
+
+    /**
      * Set {@link UiBlockListener}
      *
      * @param uiBlockListener listener to set
@@ -291,4 +402,13 @@
      */
     public interface UiBlocker {
     }
-}
\ No newline at end of file
+
+    /**
+     * @return Non-{@code null} {@link UserHandle} when a work profile is enabled.
+     * Otherwise {@code null}.
+     */
+    @Nullable
+    protected UserHandle getWorkProfileUser() {
+        return mWorkProfileUser;
+    }
+}
diff --git a/src/com/android/settings/core/FeatureFlags.java b/src/com/android/settings/core/FeatureFlags.java
index fee9c42..331e572 100644
--- a/src/com/android/settings/core/FeatureFlags.java
+++ b/src/com/android/settings/core/FeatureFlags.java
@@ -23,8 +23,11 @@
     public static final String AUDIO_SWITCHER_SETTINGS = "settings_audio_switcher";
     public static final String DYNAMIC_SYSTEM = "settings_dynamic_system";
     public static final String HEARING_AID_SETTINGS = "settings_bluetooth_hearing_aid";
-    public static final String MOBILE_NETWORK_V2 = "settings_mobile_network_v2";
-    public static final String NETWORK_INTERNET_V2 = "settings_network_and_internet_v2";
+    public static final String SETTINGS_FUSE_FLAG = "settings_fuse";
     public static final String WIFI_DETAILS_DATAUSAGE_HEADER =
             "settings_wifi_details_datausage_header";
+    public static final String CONTROLLER_ENHANCEMENT = "settings_controller_loading_enhancement";
+    public static final String CONDITIONAL_CARDS = "settings_conditionals";
+    public static final String TETHER_ALL_IN_ONE = "settings_tether_all_in_one";
+    public static final String CONTEXTUAL_HOME2 = "settings_contextual_home2";
 }
diff --git a/src/com/android/settings/core/InstrumentedFragment.java b/src/com/android/settings/core/InstrumentedFragment.java
index 427e33a..c4ceb4a 100644
--- a/src/com/android/settings/core/InstrumentedFragment.java
+++ b/src/com/android/settings/core/InstrumentedFragment.java
@@ -47,8 +47,4 @@
         mVisibilityLoggerMixin.setSourceMetricsCategory(getActivity());
         super.onResume();
     }
-
-    protected final VisibilityLoggerMixin getVisibilityLogger() {
-        return mVisibilityLoggerMixin;
-    }
 }
diff --git a/src/com/android/settings/core/InstrumentedPreferenceFragment.java b/src/com/android/settings/core/InstrumentedPreferenceFragment.java
index f5f245f..06e6584 100644
--- a/src/com/android/settings/core/InstrumentedPreferenceFragment.java
+++ b/src/com/android/settings/core/InstrumentedPreferenceFragment.java
@@ -87,12 +87,14 @@
         return super.findPreference(key);
     }
 
-    protected final Context getPrefContext() {
-        return getPreferenceManager().getContext();
+    @Override
+    public boolean onPreferenceTreeClick(Preference preference) {
+        writePreferenceClickMetric(preference);
+        return super.onPreferenceTreeClick(preference);
     }
 
-    protected final VisibilityLoggerMixin getVisibilityLogger() {
-        return mVisibilityLoggerMixin;
+    protected final Context getPrefContext() {
+        return getPreferenceManager().getContext();
     }
 
     /**
@@ -102,6 +104,14 @@
         return -1;
     }
 
+    protected void writeElapsedTimeMetric(int action, String key) {
+        mVisibilityLoggerMixin.writeElapsedTimeMetric(action, key);
+    }
+
+    protected void writePreferenceClickMetric(Preference preference) {
+        mMetricsFeatureProvider.logClickedPreference(preference, getMetricsCategory());
+    }
+
     private void updateActivityTitleWithScreenTitle(PreferenceScreen screen) {
         if (screen != null) {
             final CharSequence title = screen.getTitle();
diff --git a/src/com/android/settings/core/LiveDataController.java b/src/com/android/settings/core/LiveDataController.java
new file mode 100644
index 0000000..2bca5b6
--- /dev/null
+++ b/src/com/android/settings/core/LiveDataController.java
@@ -0,0 +1,80 @@
+/*
+ * 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.core;
+
+import android.content.Context;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.VisibleForTesting;
+import androidx.annotation.WorkerThread;
+import androidx.fragment.app.Fragment;
+import androidx.lifecycle.MutableLiveData;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settingslib.utils.ThreadUtils;
+
+/**
+ * This controller is targeted at the time consuming-bound controller.
+ */
+public abstract class LiveDataController extends BasePreferenceController {
+    @VisibleForTesting
+    protected CharSequence mSummary;
+
+    private Preference mPreference;
+    private MutableLiveData<CharSequence> mData;
+
+
+    public LiveDataController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+        mData = new MutableLiveData<>();
+        mSummary = context.getText(R.string.summary_placeholder);
+    }
+
+    /**
+     * Initialize controller as live data controller and
+     * execute the background task for retrieving the summary text right away.
+     * @param fragment the owner of the live data observer.
+     */
+    public void initLifeCycleOwner(@NonNull Fragment fragment) {
+        mData.observe(fragment, str -> {
+            mSummary = str;
+            refreshSummary(mPreference);
+        });
+        ThreadUtils.postOnBackgroundThread(() -> {
+            mData.postValue(getSummaryTextInBackground());
+        });
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        mPreference = screen.findPreference(getPreferenceKey());
+    }
+
+    @Override
+    public CharSequence getSummary() {
+        return mSummary;
+    }
+
+    /**
+     * Execute the time consuming work.
+     */
+    @WorkerThread
+    protected abstract CharSequence getSummaryTextInBackground();
+}
diff --git a/src/com/android/settings/core/PreferenceControllerListHelper.java b/src/com/android/settings/core/PreferenceControllerListHelper.java
index 5879ba4..6d450fe 100644
--- a/src/com/android/settings/core/PreferenceControllerListHelper.java
+++ b/src/com/android/settings/core/PreferenceControllerListHelper.java
@@ -17,6 +17,7 @@
 package com.android.settings.core;
 
 import static com.android.settings.core.PreferenceXmlParserUtils.METADATA_CONTROLLER;
+import static com.android.settings.core.PreferenceXmlParserUtils.METADATA_FOR_WORK;
 import static com.android.settings.core.PreferenceXmlParserUtils.METADATA_KEY;
 
 import android.annotation.NonNull;
@@ -55,7 +56,7 @@
         try {
             preferenceMetadata = PreferenceXmlParserUtils.extractMetadata(context, xmlResId,
                     MetadataFlag.FLAG_NEED_KEY | MetadataFlag.FLAG_NEED_PREF_CONTROLLER
-                            | MetadataFlag.FLAG_INCLUDE_PREF_SCREEN);
+                            | MetadataFlag.FLAG_INCLUDE_PREF_SCREEN  | MetadataFlag.FLAG_FOR_WORK);
         } catch (IOException | XmlPullParserException e) {
             Log.e(TAG, "Failed to parse preference xml for getting controllers", e);
             return controllers;
@@ -72,6 +73,7 @@
             } catch (IllegalStateException e) {
                 Log.d(TAG, "Could not find Context-only controller for pref: " + controllerName);
                 final String key = metadata.getString(METADATA_KEY);
+                final boolean isWorkProfile = metadata.getBoolean(METADATA_FOR_WORK, false);
                 if (TextUtils.isEmpty(key)) {
                     Log.w(TAG, "Controller requires key but it's not defined in xml: "
                             + controllerName);
@@ -79,7 +81,7 @@
                 }
                 try {
                     controller = BasePreferenceController.createInstance(context, controllerName,
-                            key);
+                            key, isWorkProfile);
                 } catch (IllegalStateException e2) {
                     Log.w(TAG, "Cannot instantiate controller from reflection: " + controllerName);
                     continue;
diff --git a/src/com/android/settings/core/PreferenceControllerMixin.java b/src/com/android/settings/core/PreferenceControllerMixin.java
index da0b7e7..6ddea3d 100644
--- a/src/com/android/settings/core/PreferenceControllerMixin.java
+++ b/src/com/android/settings/core/PreferenceControllerMixin.java
@@ -18,8 +18,8 @@
 import android.text.TextUtils;
 import android.util.Log;
 
-import com.android.settings.search.SearchIndexableRaw;
 import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.settingslib.search.SearchIndexableRaw;
 
 import java.util.List;
 
@@ -62,4 +62,12 @@
      */
     default void updateRawDataToIndex(List<SearchIndexableRaw> rawData) {
     }
+
+    /**
+     * Updates dynamic raw data for search provider.
+     *
+     * Called by SearchIndexProvider#getDynamicRawDataToIndex
+     */
+    default void updateDynamicRawDataToIndex(List<SearchIndexableRaw> rawData) {
+    }
 }
diff --git a/src/com/android/settings/core/PreferenceXmlParserUtils.java b/src/com/android/settings/core/PreferenceXmlParserUtils.java
index 5eebee4..240426d 100644
--- a/src/com/android/settings/core/PreferenceXmlParserUtils.java
+++ b/src/com/android/settings/core/PreferenceXmlParserUtils.java
@@ -72,7 +72,8 @@
             MetadataFlag.FLAG_NEED_PREF_SUMMARY,
             MetadataFlag.FLAG_NEED_PREF_ICON,
             MetadataFlag.FLAG_NEED_SEARCHABLE,
-            MetadataFlag.FLAG_UNAVAILABLE_SLICE_SUBTITLE})
+            MetadataFlag.FLAG_UNAVAILABLE_SLICE_SUBTITLE,
+            MetadataFlag.FLAG_FOR_WORK})
     @Retention(RetentionPolicy.SOURCE)
     public @interface MetadataFlag {
 
@@ -83,11 +84,11 @@
         int FLAG_NEED_PREF_TITLE = 1 << 4;
         int FLAG_NEED_PREF_SUMMARY = 1 << 5;
         int FLAG_NEED_PREF_ICON = 1 << 6;
-        int FLAG_NEED_PLATFORM_SLICE_FLAG = 1 << 7;
         int FLAG_NEED_KEYWORDS = 1 << 8;
         int FLAG_NEED_SEARCHABLE = 1 << 9;
         int FLAG_NEED_PREF_APPEND = 1 << 10;
         int FLAG_UNAVAILABLE_SLICE_SUBTITLE = 1 << 11;
+        int FLAG_FOR_WORK = 1 << 12;
     }
 
     public static final String METADATA_PREF_TYPE = "type";
@@ -96,12 +97,11 @@
     public static final String METADATA_TITLE = "title";
     public static final String METADATA_SUMMARY = "summary";
     public static final String METADATA_ICON = "icon";
-    public static final String METADATA_PLATFORM_SLICE_FLAG = "platform_slice";
     public static final String METADATA_KEYWORDS = "keywords";
     public static final String METADATA_SEARCHABLE = "searchable";
     public static final String METADATA_APPEND = "staticPreferenceLocation";
-    public static final String METADATA_UNAVAILABLE_SLICE_SUBTITLE =
-            "unavailable_slice_subtitle";
+    public static final String METADATA_UNAVAILABLE_SLICE_SUBTITLE = "unavailable_slice_subtitle";
+    public static final String METADATA_FOR_WORK = "for_work";
 
     private static final String ENTRIES_SEPARATOR = "|";
 
@@ -231,10 +231,6 @@
             if (hasFlag(flags, MetadataFlag.FLAG_NEED_PREF_ICON)) {
                 preferenceMetadata.putInt(METADATA_ICON, getIcon(preferenceAttributes));
             }
-            if (hasFlag(flags, MetadataFlag.FLAG_NEED_PLATFORM_SLICE_FLAG)) {
-                preferenceMetadata.putBoolean(METADATA_PLATFORM_SLICE_FLAG,
-                        getPlatformSlice(preferenceAttributes));
-            }
             if (hasFlag(flags, MetadataFlag.FLAG_NEED_KEYWORDS)) {
                 preferenceMetadata.putString(METADATA_KEYWORDS, getKeywords(preferenceAttributes));
             }
@@ -250,6 +246,10 @@
                 preferenceMetadata.putString(METADATA_UNAVAILABLE_SLICE_SUBTITLE,
                         getUnavailableSliceSubtitle(preferenceAttributes));
             }
+            if (hasFlag(flags, MetadataFlag.FLAG_FOR_WORK)) {
+                preferenceMetadata.putBoolean(METADATA_FOR_WORK,
+                        isForWork(preferenceAttributes));
+            }
             metadata.add(preferenceMetadata);
 
             preferenceAttributes.recycle();
@@ -318,10 +318,6 @@
         return styledAttributes.getResourceId(com.android.internal.R.styleable.Icon_icon, 0);
     }
 
-    private static boolean getPlatformSlice(TypedArray styledAttributes) {
-        return styledAttributes.getBoolean(R.styleable.Preference_platform_slice, false /* def */);
-    }
-
     private static boolean isSearchable(TypedArray styledAttributes) {
         return styledAttributes.getBoolean(R.styleable.Preference_searchable, true /* default */);
     }
@@ -339,4 +335,9 @@
         return styledAttributes.getString(
                 R.styleable.Preference_unavailableSliceSubtitle);
     }
+
+    private static boolean isForWork(TypedArray styledAttributes) {
+        return styledAttributes.getBoolean(
+                R.styleable.Preference_forWork, false);
+    }
 }
\ No newline at end of file
diff --git a/src/com/android/settings/core/SettingsBaseActivity.java b/src/com/android/settings/core/SettingsBaseActivity.java
index 993c9b0..57697a6 100644
--- a/src/com/android/settings/core/SettingsBaseActivity.java
+++ b/src/com/android/settings/core/SettingsBaseActivity.java
@@ -63,7 +63,7 @@
     @Override
     protected void onCreate(@Nullable Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
-        if (isLockTaskModePinned() && !isSettingsRunOnTop() && !isLaunchableInTaskModePinned()) {
+        if (isLockTaskModePinned() && !isSettingsRunOnTop()) {
             Log.w(TAG, "Devices lock task mode pinned.");
             finish();
         }
@@ -111,7 +111,7 @@
         filter.addDataScheme(DATA_SCHEME_PKG);
         registerReceiver(mPackageReceiver, filter);
 
-        new CategoriesUpdateTask().execute();
+        updateCategories();
     }
 
     @Override
@@ -147,13 +147,6 @@
         ((ViewGroup) findViewById(R.id.content_frame)).addView(view, params);
     }
 
-    /**
-     * @return whether or not the activity can be launched from other apps in the pinning screen.
-     */
-    public boolean isLaunchableInTaskModePinned() {
-        return false;
-    }
-
     private void onCategoriesChanged() {
         final int N = mCategoryListeners.size();
         for (int i = 0; i < N; i++) {
@@ -163,15 +156,15 @@
 
     private boolean isLockTaskModePinned() {
         final ActivityManager activityManager =
-            getApplicationContext().getSystemService(ActivityManager.class);
+                getApplicationContext().getSystemService(ActivityManager.class);
         return activityManager.getLockTaskModeState() == ActivityManager.LOCK_TASK_MODE_PINNED;
     }
 
     private boolean isSettingsRunOnTop() {
         final ActivityManager activityManager =
-            getApplicationContext().getSystemService(ActivityManager.class);
+                getApplicationContext().getSystemService(ActivityManager.class);
         final String taskPkgName = activityManager.getRunningTasks(1 /* maxNum */)
-            .get(0 /* index */).baseActivity.getPackageName();
+                .get(0 /* index */).baseActivity.getPackageName();
         return TextUtils.equals(getPackageName(), taskPkgName);
     }
 
@@ -232,7 +225,7 @@
     private class PackageReceiver extends BroadcastReceiver {
         @Override
         public void onReceive(Context context, Intent intent) {
-            new CategoriesUpdateTask().execute();
+            updateCategories();
         }
     }
 }
diff --git a/src/com/android/settings/core/TogglePreferenceController.java b/src/com/android/settings/core/TogglePreferenceController.java
index 165d7eb..7abe6e0 100644
--- a/src/com/android/settings/core/TogglePreferenceController.java
+++ b/src/com/android/settings/core/TogglePreferenceController.java
@@ -70,4 +70,13 @@
         return SliceData.SliceType.SWITCH;
     }
 
+    @Override
+    public boolean isSliceable() {
+        return true;
+    }
+
+    @Override
+    public boolean isPublicSlice() {
+        return false;
+    }
 }
\ No newline at end of file
diff --git a/src/com/android/settings/core/WorkPreferenceController.java b/src/com/android/settings/core/WorkPreferenceController.java
new file mode 100644
index 0000000..5fdc476
--- /dev/null
+++ b/src/com/android/settings/core/WorkPreferenceController.java
@@ -0,0 +1,40 @@
+/*
+ * 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.core;
+
+import android.content.Context;
+
+import androidx.annotation.CallSuper;
+
+/**
+ * Base class to be used directly in Xml with settings:forWork="true" attribute.
+ * It is used specifically for work profile only preference
+ */
+public class WorkPreferenceController extends BasePreferenceController {
+
+    public WorkPreferenceController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+    }
+
+    /**
+     * Only available when work profile user is existed
+     */
+    @CallSuper
+    public int getAvailabilityStatus() {
+        return getWorkProfileUser() != null ? AVAILABLE : DISABLED_FOR_USER;
+    }
+}
diff --git a/src/com/android/settings/core/WorkProfilePreferenceController.java b/src/com/android/settings/core/WorkProfilePreferenceController.java
deleted file mode 100644
index 603af20..0000000
--- a/src/com/android/settings/core/WorkProfilePreferenceController.java
+++ /dev/null
@@ -1,97 +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.core;
-
-import android.content.Context;
-import android.os.UserHandle;
-import android.os.UserManager;
-import android.text.TextUtils;
-
-import androidx.annotation.Nullable;
-import androidx.preference.Preference;
-
-import com.android.settings.Utils;
-
-/**
- * Abstract class to provide additional logic to deal with optional {@link Preference} entries that
- * are used only when work profile is enabled.
- *
- * <p>TODO(b/123376083): Consider merging this into {@link BasePreferenceController}.</p>
- */
-public abstract class WorkProfilePreferenceController extends BasePreferenceController {
-    @Nullable
-    private final UserHandle mWorkProfileUser;
-
-    /**
-     * Constructor of {@link WorkProfilePreferenceController}. Called by
-     * {@link BasePreferenceController#createInstance(Context, String)} through reflection.
-     *
-     * @param context {@link Context} to instantiate this controller.
-     * @param preferenceKey Preference key to be associated with the {@link Preference}.
-     */
-    public WorkProfilePreferenceController(Context context, String preferenceKey) {
-        super(context, preferenceKey);
-        mWorkProfileUser = Utils.getManagedProfile(UserManager.get(context));
-    }
-
-    /**
-     * @return Non-{@code null} {@link UserHandle} when a work profile is enabled.
-     *         Otherwise {@code null}.
-     */
-    @Nullable
-    protected UserHandle getWorkProfileUser() {
-        return mWorkProfileUser;
-    }
-
-    /**
-     * Called back from {@link #handlePreferenceTreeClick(Preference)} to associate source metrics
-     * category.
-     *
-     * @return One of {@link android.app.settings.SettingsEnums}.
-     */
-    protected abstract int getSourceMetricsCategory();
-
-    /**
-     * {@inheritDoc}
-     *
-     * <p>When you override this method, do not forget to check {@link #getWorkProfileUser()} to
-     * see if work profile user actually exists or not.</p>
-     */
-    @AvailabilityStatus
-    @Override
-    public int getAvailabilityStatus() {
-        return mWorkProfileUser != null ? AVAILABLE : DISABLED_FOR_USER;
-    }
-
-    /**
-     * Launches the specified fragment for the work profile user if the associated
-     * {@link Preference} is clicked.  Otherwise just forward it to the super class.
-     *
-     * @param preference the preference being clicked.
-     * @return {@code true} if handled.
-     */
-    public boolean handlePreferenceTreeClick(Preference preference) {
-        if (!TextUtils.equals(preference.getKey(), getPreferenceKey())) {
-            return super.handlePreferenceTreeClick(preference);
-        }
-        new SubSettingLauncher(preference.getContext())
-                .setDestination(preference.getFragment())
-                .setSourceMetricsCategory(getSourceMetricsCategory())
-                .setArguments(preference.getExtras())
-                .setUserHandle(mWorkProfileUser)
-                .launch();
-        return true;
-    }
-}
diff --git a/src/com/android/settings/core/gateway/SettingsGateway.java b/src/com/android/settings/core/gateway/SettingsGateway.java
index fd03697..8c49e58 100644
--- a/src/com/android/settings/core/gateway/SettingsGateway.java
+++ b/src/com/android/settings/core/gateway/SettingsGateway.java
@@ -16,7 +16,7 @@
 
 package com.android.settings.core.gateway;
 
-import com.android.settings.DateTimeSettings;
+import com.android.settings.AllInOneTetherSettings;
 import com.android.settings.DisplaySettings;
 import com.android.settings.IccLockSettings;
 import com.android.settings.MasterClear;
@@ -40,12 +40,16 @@
 import com.android.settings.applications.appinfo.AppInfoDashboardFragment;
 import com.android.settings.applications.appinfo.DrawOverlayDetails;
 import com.android.settings.applications.appinfo.ExternalSourcesDetails;
+import com.android.settings.applications.appinfo.ManageExternalStorageDetails;
 import com.android.settings.applications.appinfo.WriteSettingsDetails;
 import com.android.settings.applications.appops.BackgroundCheckSummary;
 import com.android.settings.applications.assist.ManageAssist;
 import com.android.settings.applications.manageapplications.ManageApplications;
 import com.android.settings.applications.managedomainurls.ManageDomainUrls;
 import com.android.settings.applications.specialaccess.deviceadmin.DeviceAdminSettings;
+import com.android.settings.applications.specialaccess.interactacrossprofiles.InteractAcrossProfilesDetails;
+import com.android.settings.applications.specialaccess.interactacrossprofiles.InteractAcrossProfilesSettings;
+import com.android.settings.applications.specialaccess.notificationaccess.NotificationAccessDetails;
 import com.android.settings.applications.specialaccess.pictureinpicture.PictureInPictureDetails;
 import com.android.settings.applications.specialaccess.pictureinpicture.PictureInPictureSettings;
 import com.android.settings.applications.specialaccess.vrlistener.VrListenerSettings;
@@ -56,6 +60,7 @@
 import com.android.settings.biometrics.face.FaceSettings;
 import com.android.settings.biometrics.fingerprint.FingerprintSettings;
 import com.android.settings.bluetooth.BluetoothDeviceDetailsFragment;
+import com.android.settings.bugreporthandler.BugReportHandlerPicker;
 import com.android.settings.connecteddevice.AdvancedConnectedDeviceDashboardFragment;
 import com.android.settings.connecteddevice.ConnectedDeviceDashboardFragment;
 import com.android.settings.connecteddevice.PreviouslyConnectedDeviceDashboardFragment;
@@ -63,6 +68,7 @@
 import com.android.settings.datausage.DataSaverSummary;
 import com.android.settings.datausage.DataUsageList;
 import com.android.settings.datausage.DataUsageSummary;
+import com.android.settings.datetime.DateTimeSettings;
 import com.android.settings.deletionhelper.AutomaticStorageManagerSettings;
 import com.android.settings.development.DevelopmentSettingsDashboardFragment;
 import com.android.settings.deviceinfo.PrivateVolumeForget;
@@ -85,6 +91,7 @@
 import com.android.settings.gestures.DoubleTapPowerSettings;
 import com.android.settings.gestures.DoubleTapScreenSettings;
 import com.android.settings.gestures.DoubleTwistGestureSettings;
+import com.android.settings.gestures.GestureNavigationSettingsFragment;
 import com.android.settings.gestures.GlobalActionsPanelSettings;
 import com.android.settings.gestures.PickupGestureSettings;
 import com.android.settings.gestures.SwipeToNotificationSettings;
@@ -105,20 +112,20 @@
 import com.android.settings.network.NetworkDashboardFragment;
 import com.android.settings.nfc.AndroidBeam;
 import com.android.settings.nfc.PaymentSettings;
-import com.android.settings.notification.AppBubbleNotificationSettings;
-import com.android.settings.notification.AppNotificationSettings;
-import com.android.settings.notification.ChannelNotificationSettings;
 import com.android.settings.notification.ConfigureNotificationSettings;
 import com.android.settings.notification.NotificationAccessSettings;
 import com.android.settings.notification.NotificationAssistantPicker;
-import com.android.settings.notification.NotificationStation;
 import com.android.settings.notification.SoundSettings;
-import com.android.settings.notification.ZenAccessSettings;
-import com.android.settings.notification.ZenModeAutomationSettings;
-import com.android.settings.notification.ZenModeBlockedEffectsSettings;
-import com.android.settings.notification.ZenModeEventRuleSettings;
-import com.android.settings.notification.ZenModeScheduleRuleSettings;
-import com.android.settings.notification.ZenModeSettings;
+import com.android.settings.notification.app.AppBubbleNotificationSettings;
+import com.android.settings.notification.app.AppNotificationSettings;
+import com.android.settings.notification.app.ChannelNotificationSettings;
+import com.android.settings.notification.history.NotificationStation;
+import com.android.settings.notification.zen.ZenAccessSettings;
+import com.android.settings.notification.zen.ZenModeAutomationSettings;
+import com.android.settings.notification.zen.ZenModeBlockedEffectsSettings;
+import com.android.settings.notification.zen.ZenModeEventRuleSettings;
+import com.android.settings.notification.zen.ZenModeScheduleRuleSettings;
+import com.android.settings.notification.zen.ZenModeSettings;
 import com.android.settings.password.ChooseLockPassword;
 import com.android.settings.password.ChooseLockPattern;
 import com.android.settings.print.PrintJobSettingsFragment;
@@ -128,7 +135,6 @@
 import com.android.settings.security.LockscreenDashboardFragment;
 import com.android.settings.security.SecuritySettings;
 import com.android.settings.shortcut.CreateShortcut;
-import com.android.settings.sim.SimSettings;
 import com.android.settings.support.SupportDashboardActivity;
 import com.android.settings.system.ResetDashboardFragment;
 import com.android.settings.system.SystemDashboardFragment;
@@ -142,10 +148,12 @@
 import com.android.settings.wifi.WifiAPITest;
 import com.android.settings.wifi.WifiInfo;
 import com.android.settings.wifi.WifiSettings;
+import com.android.settings.wifi.WifiSettings2;
 import com.android.settings.wifi.calling.WifiCallingDisclaimerFragment;
 import com.android.settings.wifi.calling.WifiCallingSettings;
 import com.android.settings.wifi.p2p.WifiP2pSettings;
 import com.android.settings.wifi.savedaccesspoints.SavedAccessPointsWifiSettings;
+import com.android.settings.wifi.savedaccesspoints2.SavedAccessPointsWifiSettings2;
 import com.android.settings.wifi.tether.WifiTetherSettings;
 
 public class SettingsGateway {
@@ -158,9 +166,11 @@
             AdvancedConnectedDeviceDashboardFragment.class.getName(),
             CreateShortcut.class.getName(),
             WifiSettings.class.getName(),
+            WifiSettings2.class.getName(),
             ConfigureWifiSettings.class.getName(),
             SavedAccessPointsWifiSettings.class.getName(),
-            SimSettings.class.getName(),
+            SavedAccessPointsWifiSettings2.class.getName(),
+            AllInOneTetherSettings.class.getName(),
             TetherSettings.class.getName(),
             WifiP2pSettings.class.getName(),
             WifiTetherSettings.class.getName(),
@@ -218,6 +228,7 @@
             DreamSettings.class.getName(),
             UserSettings.class.getName(),
             NotificationAccessSettings.class.getName(),
+            NotificationAccessDetails.class.getName(),
             AppBubbleNotificationSettings.class.getName(),
             ZenAccessSettings.class.getName(),
             ZenAccessDetails.class.getName(),
@@ -250,6 +261,7 @@
             DrawOverlayDetails.class.getName(),
             WriteSettingsDetails.class.getName(),
             ExternalSourcesDetails.class.getName(),
+            ManageExternalStorageDetails.class.getName(),
             WallpaperTypeSettings.class.getName(),
             VrListenerSettings.class.getName(),
             PictureInPictureSettings.class.getName(),
@@ -283,7 +295,11 @@
             BatterySaverScheduleSettings.class.getName(),
             MobileNetworkListFragment.class.getName(),
             GlobalActionsPanelSettings.class.getName(),
-            DarkModeSettingsFragment.class.getName()
+            DarkModeSettingsFragment.class.getName(),
+            BugReportHandlerPicker.class.getName(),
+            GestureNavigationSettingsFragment.class.getName(),
+            InteractAcrossProfilesSettings.class.getName(),
+            InteractAcrossProfilesDetails.class.getName()
     };
 
     public static final String[] SETTINGS_FOR_RESTRICTED = {
@@ -303,6 +319,7 @@
             SupportDashboardActivity.class.getName(),
             // Home page > Network & Internet
             Settings.WifiSettingsActivity.class.getName(),
+            Settings.WifiSettings2Activity.class.getName(),
             Settings.DataUsageSummaryActivity.class.getName(),
             // Home page > Connected devices
             Settings.BluetoothSettingsActivity.class.getName(),
diff --git a/src/com/android/settings/core/instrumentation/SettingsEventLogWriter.java b/src/com/android/settings/core/instrumentation/SettingsEventLogWriter.java
index a58555f..f165897 100644
--- a/src/com/android/settings/core/instrumentation/SettingsEventLogWriter.java
+++ b/src/com/android/settings/core/instrumentation/SettingsEventLogWriter.java
@@ -25,19 +25,19 @@
 public class SettingsEventLogWriter extends EventLogWriter {
 
     @Override
-    public void visible(Context context, int source, int category) {
+    public void visible(Context context, int source, int category, int latency) {
         if (shouldDisableGenericEventLogging()) {
             return;
         }
-        super.visible(context, source, category);
+        super.visible(context, source, category, latency);
     }
 
     @Override
-    public void hidden(Context context, int category) {
+    public void hidden(Context context, int category, int visibleTime) {
         if (shouldDisableGenericEventLogging()) {
             return;
         }
-        super.hidden(context, category);
+        super.hidden(context, category, visibleTime);
     }
 
     @Override
diff --git a/src/com/android/settings/core/instrumentation/SettingsIntelligenceLogWriter.java b/src/com/android/settings/core/instrumentation/SettingsIntelligenceLogWriter.java
index 9498732..30d8381 100644
--- a/src/com/android/settings/core/instrumentation/SettingsIntelligenceLogWriter.java
+++ b/src/com/android/settings/core/instrumentation/SettingsIntelligenceLogWriter.java
@@ -61,21 +61,21 @@
     }
 
     @Override
-    public void visible(Context context, int attribution, int pageId) {
-        action(attribution /* attribution */,
+    public void visible(Context context, int attribution, int pageId, int latency) {
+        action(attribution /* from pageId */,
                 SettingsEnums.PAGE_VISIBLE /* action */,
-                pageId /* pageId */,
+                pageId /* target pageId */,
                 "" /* changedPreferenceKey */,
-                0 /* changedPreferenceIntValue */);
+                latency /* changedPreferenceIntValue */);
     }
 
     @Override
-    public void hidden(Context context, int pageId) {
+    public void hidden(Context context, int pageId, int visibleTime) {
         action(SettingsEnums.PAGE_UNKNOWN /* attribution */,
                 SettingsEnums.PAGE_HIDE /* action */,
                 pageId /* pageId */,
                 "" /* changedPreferenceKey */,
-                0 /* changedPreferenceIntValue */);
+                visibleTime /* changedPreferenceIntValue */);
     }
 
     @Override
diff --git a/src/com/android/settings/core/instrumentation/StatsLogWriter.java b/src/com/android/settings/core/instrumentation/StatsLogWriter.java
index bcdecf3..14e5d21 100644
--- a/src/com/android/settings/core/instrumentation/StatsLogWriter.java
+++ b/src/com/android/settings/core/instrumentation/StatsLogWriter.java
@@ -19,30 +19,29 @@
 import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.util.Pair;
-import android.util.StatsLog;
 
 import com.android.settingslib.core.instrumentation.LogWriter;
 
 public class StatsLogWriter implements LogWriter {
 
     @Override
-    public void visible(Context context, int attribution, int pageId) {
-        StatsLog.write(StatsLog.SETTINGS_UI_CHANGED /* Atom name */,
-                attribution,
+    public void visible(Context context, int attribution, int pageId, int latency) {
+        SettingsStatsLog.write(SettingsStatsLog.SETTINGS_UI_CHANGED /* Atom name */,
+                attribution, /* from pageId */
                 SettingsEnums.PAGE_VISIBLE /* action */,
-                pageId,
-                null /* changedPreferenceKey */,
-                0 /* changedPreferenceIntValue */);
+                pageId, /* target pageId */
+                "" /* changedPreferenceKey */,
+                latency /* changedPreferenceIntValue */);
     }
 
     @Override
-    public void hidden(Context context, int pageId) {
-        StatsLog.write(StatsLog.SETTINGS_UI_CHANGED /* Atom name */,
+    public void hidden(Context context, int pageId, int visibleTime) {
+        SettingsStatsLog.write(SettingsStatsLog.SETTINGS_UI_CHANGED /* Atom name */,
                 SettingsEnums.PAGE_UNKNOWN /* attribution */,
                 SettingsEnums.PAGE_HIDE /* action */,
                 pageId,
-                null /* changedPreferenceKey */,
-                0 /* changedPreferenceIntValue */);
+                "" /* changedPreferenceKey */,
+                visibleTime /* changedPreferenceIntValue */);
     }
 
     @Override
@@ -83,7 +82,7 @@
 
     @Override
     public void action(int attribution, int action, int pageId, String key, int value) {
-        StatsLog.write(StatsLog.SETTINGS_UI_CHANGED /* atomName */,
+        SettingsStatsLog.write(SettingsStatsLog.SETTINGS_UI_CHANGED /* atomName */,
                 attribution,
                 action,
                 pageId,
diff --git a/src/com/android/settings/dashboard/CategoryManager.java b/src/com/android/settings/dashboard/CategoryManager.java
index 5cc75c8..525b6f8 100644
--- a/src/com/android/settings/dashboard/CategoryManager.java
+++ b/src/com/android/settings/dashboard/CategoryManager.java
@@ -27,6 +27,7 @@
 import com.android.settingslib.applications.InterestingConfigChanges;
 import com.android.settingslib.drawer.CategoryKey;
 import com.android.settingslib.drawer.DashboardCategory;
+import com.android.settingslib.drawer.ProviderTile;
 import com.android.settingslib.drawer.Tile;
 import com.android.settingslib.drawer.TileUtils;
 
@@ -189,21 +190,31 @@
 
     /**
      * Filter out duplicate tiles from category. Duplicate tiles are the ones pointing to the
-     * same intent.
+     * same intent for ActivityTile, and also the ones having the same description for ProviderTile.
      */
     @VisibleForTesting
     synchronized void filterDuplicateTiles(Map<String, DashboardCategory> categoryByKeyMap) {
         for (Entry<String, DashboardCategory> categoryEntry : categoryByKeyMap.entrySet()) {
             final DashboardCategory category = categoryEntry.getValue();
             final int count = category.getTilesCount();
+            final Set<String> descriptions = new ArraySet<>();
             final Set<ComponentName> components = new ArraySet<>();
             for (int i = count - 1; i >= 0; i--) {
                 final Tile tile = category.getTile(i);
-                final ComponentName tileComponent = tile.getIntent().getComponent();
-                if (components.contains(tileComponent)) {
-                    category.removeTile(i);
+                if (tile instanceof ProviderTile) {
+                    final String desc = tile.getDescription();
+                    if (descriptions.contains(desc)) {
+                        category.removeTile(i);
+                    } else {
+                        descriptions.add(desc);
+                    }
                 } else {
-                    components.add(tileComponent);
+                    final ComponentName tileComponent = tile.getIntent().getComponent();
+                    if (components.contains(tileComponent)) {
+                        category.removeTile(i);
+                    } else {
+                        components.add(tileComponent);
+                    }
                 }
             }
         }
diff --git a/src/com/android/settings/dashboard/ControllerFutureTask.java b/src/com/android/settings/dashboard/ControllerFutureTask.java
new file mode 100644
index 0000000..84d11fd
--- /dev/null
+++ b/src/com/android/settings/dashboard/ControllerFutureTask.java
@@ -0,0 +1,36 @@
+/*
+ * 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.dashboard;
+
+import com.android.settingslib.core.AbstractPreferenceController;
+
+import java.util.concurrent.FutureTask;
+
+/**
+ *  {@link FutureTask} of the Controller.
+ */
+public class ControllerFutureTask extends FutureTask<Void> {
+    private final AbstractPreferenceController mController;
+
+    public ControllerFutureTask(ControllerTask task, Void result) {
+        super(task, result);
+        mController = task.getController();
+    }
+
+    AbstractPreferenceController getController() {
+        return mController;
+    }
+}
diff --git a/src/com/android/settings/dashboard/ControllerTask.java b/src/com/android/settings/dashboard/ControllerTask.java
new file mode 100644
index 0000000..c62e738
--- /dev/null
+++ b/src/com/android/settings/dashboard/ControllerTask.java
@@ -0,0 +1,90 @@
+/*
+ * 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.dashboard;
+
+import android.app.settings.SettingsEnums;
+import android.os.SystemClock;
+import android.text.TextUtils;
+import android.util.Log;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
+import com.android.settingslib.utils.ThreadUtils;
+
+/**
+ * A {@link Runnable} controller task. This task handle the visibility of the controller in the
+ * background. Also handle the state updating in the main thread.
+ */
+public class ControllerTask implements Runnable {
+    private static final String TAG = "ControllerTask";
+    private static final int CONTROLLER_UPDATESTATE_TIME_THRESHOLD = 50;
+
+    private final AbstractPreferenceController mController;
+    private final PreferenceScreen mScreen;
+    private final int mMetricsCategory;
+    private final MetricsFeatureProvider mMetricsFeature;
+
+    public ControllerTask(AbstractPreferenceController controller, PreferenceScreen screen,
+            MetricsFeatureProvider metricsFeature, int metricsCategory) {
+        mController = controller;
+        mScreen = screen;
+        mMetricsFeature = metricsFeature;
+        mMetricsCategory = metricsCategory;
+    }
+
+    @Override
+    public void run() {
+        if (!mController.isAvailable()) {
+            return;
+        }
+
+        final String key = mController.getPreferenceKey();
+        if (TextUtils.isEmpty(key)) {
+            Log.d(TAG, String.format("Preference key is %s in Controller %s",
+                    key, mController.getClass().getSimpleName()));
+            return;
+        }
+
+        final Preference preference = mScreen.findPreference(key);
+        if (preference == null) {
+            Log.d(TAG, String.format("Cannot find preference with key %s in Controller %s",
+                    key, mController.getClass().getSimpleName()));
+            return;
+        }
+        ThreadUtils.postOnMainThread(() -> {
+            final long t = SystemClock.elapsedRealtime();
+            mController.updateState(preference);
+            final int elapsedTime = (int) (SystemClock.elapsedRealtime() - t);
+            if (elapsedTime > CONTROLLER_UPDATESTATE_TIME_THRESHOLD) {
+                Log.w(TAG, "The updateState took " + elapsedTime + " ms in Controller "
+                        + mController.getClass().getSimpleName());
+                if (mMetricsFeature != null) {
+                    mMetricsFeature.action(SettingsEnums.PAGE_UNKNOWN,
+                            SettingsEnums.ACTION_CONTROLLER_UPDATE_STATE, mMetricsCategory,
+                            mController.getClass().getSimpleName(), elapsedTime);
+                }
+            }
+        });
+    }
+
+    AbstractPreferenceController getController() {
+        return mController;
+    }
+}
diff --git a/src/com/android/settings/dashboard/DashboardFeatureProvider.java b/src/com/android/settings/dashboard/DashboardFeatureProvider.java
index 9f562a0..8c872f0 100644
--- a/src/com/android/settings/dashboard/DashboardFeatureProvider.java
+++ b/src/com/android/settings/dashboard/DashboardFeatureProvider.java
@@ -44,19 +44,22 @@
     String getDashboardKeyForTile(Tile tile);
 
     /**
-     * Binds preference to data provided by tile.
+     * Binds preference to data provided by tile and gets dynamic data observers.
      *
      * @param activity If tile contains intent to launch, it will be launched from this activity
-     * @param forceRoundedIcon Whether or not injected tiles from other packages should be forced to rounded icon.
+     * @param forceRoundedIcon Whether or not injected tiles from other packages should be forced to
+     * rounded icon.
      * @param sourceMetricsCategory The context (source) from which an action is performed
      * @param pref The preference to bind data
      * @param tile The binding data
      * @param key They key for preference. If null, we will generate one from tile data
      * @param baseOrder The order offset value. When binding, pref's order is determined by
      * both this value and tile's own priority.
+     * @return The list of dynamic data observers
      */
-    void bindPreferenceToTile(FragmentActivity activity, boolean forceRoundedIcon,
-            int sourceMetricsCategory, Preference pref, Tile tile, String key, int baseOrder);
+    List<DynamicDataObserver> bindPreferenceToTileAndGetObservers(FragmentActivity activity,
+            boolean forceRoundedIcon, int sourceMetricsCategory, Preference pref, Tile tile,
+            String key, int baseOrder);
 
     /**
      * Opens a tile to its destination intent.
diff --git a/src/com/android/settings/dashboard/DashboardFeatureProviderImpl.java b/src/com/android/settings/dashboard/DashboardFeatureProviderImpl.java
index 64086cb..a2233fc 100644
--- a/src/com/android/settings/dashboard/DashboardFeatureProviderImpl.java
+++ b/src/com/android/settings/dashboard/DashboardFeatureProviderImpl.java
@@ -18,9 +18,20 @@
 
 import static android.content.Intent.EXTRA_USER;
 
+import static com.android.settingslib.drawer.SwitchesProvider.EXTRA_SWITCH_CHECKED_STATE;
+import static com.android.settingslib.drawer.SwitchesProvider.EXTRA_SWITCH_SET_CHECKED_ERROR;
+import static com.android.settingslib.drawer.SwitchesProvider.EXTRA_SWITCH_SET_CHECKED_ERROR_MESSAGE;
+import static com.android.settingslib.drawer.SwitchesProvider.METHOD_GET_DYNAMIC_SUMMARY;
+import static com.android.settingslib.drawer.SwitchesProvider.METHOD_GET_DYNAMIC_TITLE;
+import static com.android.settingslib.drawer.SwitchesProvider.METHOD_GET_PROVIDER_ICON;
+import static com.android.settingslib.drawer.SwitchesProvider.METHOD_IS_CHECKED;
+import static com.android.settingslib.drawer.SwitchesProvider.METHOD_ON_CHECKED_CHANGED;
 import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_ICON_URI;
 import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_SUMMARY;
 import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_SUMMARY_URI;
+import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_SWITCH_URI;
+import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_TITLE;
+import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_TITLE_URI;
 
 import android.app.settings.SettingsEnums;
 import android.content.ComponentName;
@@ -30,6 +41,7 @@
 import android.content.pm.PackageManager;
 import android.graphics.drawable.Drawable;
 import android.graphics.drawable.Icon;
+import android.net.Uri;
 import android.os.Bundle;
 import android.os.UserHandle;
 import android.provider.Settings;
@@ -37,22 +49,27 @@
 import android.util.ArrayMap;
 import android.util.Log;
 import android.util.Pair;
+import android.widget.Toast;
 
 import androidx.annotation.VisibleForTesting;
 import androidx.fragment.app.FragmentActivity;
 import androidx.preference.Preference;
+import androidx.preference.SwitchPreference;
 
 import com.android.settings.R;
 import com.android.settings.SettingsActivity;
 import com.android.settings.dashboard.profileselector.ProfileSelectDialog;
 import com.android.settings.overlay.FeatureFactory;
+import com.android.settings.widget.MasterSwitchPreference;
 import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
+import com.android.settingslib.drawer.ActivityTile;
 import com.android.settingslib.drawer.DashboardCategory;
 import com.android.settingslib.drawer.Tile;
 import com.android.settingslib.drawer.TileUtils;
 import com.android.settingslib.utils.ThreadUtils;
 import com.android.settingslib.widget.AdaptiveIcon;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
@@ -103,45 +120,58 @@
     }
 
     @Override
-    public void bindPreferenceToTile(FragmentActivity activity, boolean forceRoundedIcon,
-            int sourceMetricsCategory, Preference pref, Tile tile, String key, int baseOrder) {
+    public List<DynamicDataObserver> bindPreferenceToTileAndGetObservers(FragmentActivity activity,
+            boolean forceRoundedIcon, int sourceMetricsCategory, Preference pref, Tile tile,
+            String key, int baseOrder) {
         if (pref == null) {
-            return;
+            return null;
         }
-        pref.setTitle(tile.getTitle(activity.getApplicationContext()));
         if (!TextUtils.isEmpty(key)) {
             pref.setKey(key);
         } else {
             pref.setKey(getDashboardKeyForTile(tile));
         }
-        bindSummary(pref, tile);
+        final List<DynamicDataObserver> outObservers = new ArrayList<>();
+        DynamicDataObserver observer = bindTitleAndGetObserver(pref, tile);
+        if (observer != null) {
+            outObservers.add(observer);
+        }
+        observer = bindSummaryAndGetObserver(pref, tile);
+        if (observer != null) {
+            outObservers.add(observer);
+        }
+        observer = bindSwitchAndGetObserver(pref, tile);
+        if (observer != null) {
+            outObservers.add(observer);
+        }
         bindIcon(pref, tile, forceRoundedIcon);
-        final Bundle metadata = tile.getMetaData();
-        String clsName = null;
-        String action = null;
 
-        if (metadata != null) {
-            clsName = metadata.getString(SettingsActivity.META_DATA_KEY_FRAGMENT_CLASS);
-            action = metadata.getString(META_DATA_KEY_INTENT_ACTION);
-        }
-        if (!TextUtils.isEmpty(clsName)) {
-            pref.setFragment(clsName);
-        } else {
-            final Intent intent = new Intent(tile.getIntent());
-            intent.putExtra(MetricsFeatureProvider.EXTRA_SOURCE_METRICS_CATEGORY,
-                    sourceMetricsCategory);
-            if (action != null) {
-                intent.setAction(action);
+        if (tile instanceof ActivityTile) {
+            final Bundle metadata = tile.getMetaData();
+            String clsName = null;
+            String action = null;
+            if (metadata != null) {
+                clsName = metadata.getString(SettingsActivity.META_DATA_KEY_FRAGMENT_CLASS);
+                action = metadata.getString(META_DATA_KEY_INTENT_ACTION);
             }
-            pref.setOnPreferenceClickListener(preference -> {
-                launchIntentOrSelectProfile(activity, tile, intent, sourceMetricsCategory);
-                return true;
-            });
+            if (!TextUtils.isEmpty(clsName)) {
+                pref.setFragment(clsName);
+            } else {
+                final Intent intent = new Intent(tile.getIntent());
+                intent.putExtra(MetricsFeatureProvider.EXTRA_SOURCE_METRICS_CATEGORY,
+                        sourceMetricsCategory);
+                if (action != null) {
+                    intent.setAction(action);
+                }
+                pref.setOnPreferenceClickListener(preference -> {
+                    launchIntentOrSelectProfile(activity, tile, intent, sourceMetricsCategory);
+                    return true;
+                });
+            }
         }
-        final String skipOffsetPackageName = activity.getPackageName();
-
 
         if (tile.hasOrder()) {
+            final String skipOffsetPackageName = activity.getPackageName();
             final int order = tile.getOrder();
             boolean shouldSkipBaseOrderOffset = TextUtils.equals(
                     skipOffsetPackageName, tile.getIntent().getComponent().getPackageName());
@@ -151,6 +181,7 @@
                 pref.setOrder(order + baseOrder);
             }
         }
+        return outObservers.isEmpty() ? null : outObservers;
     }
 
     @Override
@@ -168,32 +199,162 @@
         launchIntentOrSelectProfile(activity, tile, intent, SettingsEnums.DASHBOARD_SUMMARY);
     }
 
-    private void bindSummary(Preference preference, Tile tile) {
+    private DynamicDataObserver createDynamicDataObserver(String method, Uri uri, Preference pref) {
+        return new DynamicDataObserver() {
+            @Override
+            public Uri getUri() {
+                return uri;
+            }
+
+            @Override
+            public void onDataChanged() {
+                switch (method) {
+                    case METHOD_GET_DYNAMIC_TITLE:
+                        refreshTitle(uri, pref);
+                        break;
+                    case METHOD_GET_DYNAMIC_SUMMARY:
+                        refreshSummary(uri, pref);
+                        break;
+                    case METHOD_IS_CHECKED:
+                        refreshSwitch(uri, pref);
+                        break;
+                }
+            }
+        };
+    }
+
+    private DynamicDataObserver bindTitleAndGetObserver(Preference preference, Tile tile) {
+        final CharSequence title = tile.getTitle(mContext.getApplicationContext());
+        if (title != null) {
+            preference.setTitle(title);
+            return null;
+        }
+        if (tile.getMetaData() != null && tile.getMetaData().containsKey(
+                META_DATA_PREFERENCE_TITLE_URI)) {
+            // Set a placeholder title before starting to fetch real title, this is necessary
+            // to avoid preference height change.
+            preference.setTitle(R.string.summary_placeholder);
+
+            final Uri uri = TileUtils.getCompleteUri(tile, META_DATA_PREFERENCE_TITLE_URI,
+                    METHOD_GET_DYNAMIC_TITLE);
+            refreshTitle(uri, preference);
+            return createDynamicDataObserver(METHOD_GET_DYNAMIC_TITLE, uri, preference);
+        }
+        return null;
+    }
+
+    private void refreshTitle(Uri uri, Preference preference) {
+        ThreadUtils.postOnBackgroundThread(() -> {
+            final Map<String, IContentProvider> providerMap = new ArrayMap<>();
+            final String titleFromUri = TileUtils.getTextFromUri(
+                    mContext, uri, providerMap, META_DATA_PREFERENCE_TITLE);
+            ThreadUtils.postOnMainThread(() -> preference.setTitle(titleFromUri));
+        });
+    }
+
+    private DynamicDataObserver bindSummaryAndGetObserver(Preference preference, Tile tile) {
         final CharSequence summary = tile.getSummary(mContext);
         if (summary != null) {
             preference.setSummary(summary);
         } else if (tile.getMetaData() != null
                 && tile.getMetaData().containsKey(META_DATA_PREFERENCE_SUMMARY_URI)) {
-            // Set a placeholder summary before  starting to fetch real summary, this is necessary
+            // Set a placeholder summary before starting to fetch real summary, this is necessary
             // to avoid preference height change.
             preference.setSummary(R.string.summary_placeholder);
 
-            ThreadUtils.postOnBackgroundThread(() -> {
-                final Map<String, IContentProvider> providerMap = new ArrayMap<>();
-                final String uri = tile.getMetaData().getString(META_DATA_PREFERENCE_SUMMARY_URI);
-                final String summaryFromUri = TileUtils.getTextFromUri(
-                        mContext, uri, providerMap, META_DATA_PREFERENCE_SUMMARY);
-                ThreadUtils.postOnMainThread(() -> preference.setSummary(summaryFromUri));
-            });
+            final Uri uri = TileUtils.getCompleteUri(tile, META_DATA_PREFERENCE_SUMMARY_URI,
+                    METHOD_GET_DYNAMIC_SUMMARY);
+            refreshSummary(uri, preference);
+            return createDynamicDataObserver(METHOD_GET_DYNAMIC_SUMMARY, uri, preference);
         } else {
             preference.setSummary(R.string.summary_placeholder);
         }
+        return null;
+    }
+
+    private void refreshSummary(Uri uri, Preference preference) {
+        ThreadUtils.postOnBackgroundThread(() -> {
+            final Map<String, IContentProvider> providerMap = new ArrayMap<>();
+            final String summaryFromUri = TileUtils.getTextFromUri(
+                    mContext, uri, providerMap, META_DATA_PREFERENCE_SUMMARY);
+            ThreadUtils.postOnMainThread(() -> preference.setSummary(summaryFromUri));
+        });
+    }
+
+    private DynamicDataObserver bindSwitchAndGetObserver(Preference preference, Tile tile) {
+        if (!tile.hasSwitch()) {
+            return null;
+        }
+
+        final Uri onCheckedChangedUri = TileUtils.getCompleteUri(tile,
+                META_DATA_PREFERENCE_SWITCH_URI, METHOD_ON_CHECKED_CHANGED);
+        preference.setOnPreferenceChangeListener((pref, newValue) -> {
+            onCheckedChanged(onCheckedChangedUri, pref, (boolean) newValue);
+            return true;
+        });
+
+        final Uri isCheckedUri = TileUtils.getCompleteUri(tile, META_DATA_PREFERENCE_SWITCH_URI,
+                METHOD_IS_CHECKED);
+        setSwitchEnabled(preference, false);
+        refreshSwitch(isCheckedUri, preference);
+        return createDynamicDataObserver(METHOD_IS_CHECKED, isCheckedUri, preference);
+    }
+
+    private void onCheckedChanged(Uri uri, Preference pref, boolean checked) {
+        setSwitchEnabled(pref, false);
+        ThreadUtils.postOnBackgroundThread(() -> {
+            final Map<String, IContentProvider> providerMap = new ArrayMap<>();
+            final Bundle result = TileUtils.putBooleanToUriAndGetResult(mContext, uri, providerMap,
+                    EXTRA_SWITCH_CHECKED_STATE, checked);
+
+            ThreadUtils.postOnMainThread(() -> {
+                setSwitchEnabled(pref, true);
+                final boolean error = result.getBoolean(EXTRA_SWITCH_SET_CHECKED_ERROR);
+                if (!error) {
+                    return;
+                }
+
+                setSwitchChecked(pref, !checked);
+                final String errorMsg = result.getString(EXTRA_SWITCH_SET_CHECKED_ERROR_MESSAGE);
+                if (!TextUtils.isEmpty(errorMsg)) {
+                    Toast.makeText(mContext, errorMsg, Toast.LENGTH_SHORT).show();
+                }
+            });
+        });
+    }
+
+    private void refreshSwitch(Uri uri, Preference preference) {
+        ThreadUtils.postOnBackgroundThread(() -> {
+            final Map<String, IContentProvider> providerMap = new ArrayMap<>();
+            final boolean checked = TileUtils.getBooleanFromUri(mContext, uri, providerMap,
+                    EXTRA_SWITCH_CHECKED_STATE);
+            ThreadUtils.postOnMainThread(() -> {
+                setSwitchChecked(preference, checked);
+                setSwitchEnabled(preference, true);
+            });
+        });
+    }
+
+    private void setSwitchChecked(Preference pref, boolean checked) {
+        if (pref instanceof MasterSwitchPreference) {
+            ((MasterSwitchPreference) pref).setChecked(checked);
+        } else if (pref instanceof SwitchPreference) {
+            ((SwitchPreference) pref).setChecked(checked);
+        }
+    }
+
+    private void setSwitchEnabled(Preference pref, boolean enabled) {
+        if (pref instanceof MasterSwitchPreference) {
+            ((MasterSwitchPreference) pref).setSwitchEnabled(enabled);
+        } else {
+            pref.setEnabled(enabled);
+        }
     }
 
     @VisibleForTesting
     void bindIcon(Preference preference, Tile tile, boolean forceRoundedIcon) {
         // Use preference context instead here when get icon from Tile, as we are using the context
-        // to get the style to tint the icon.  Using mContext here won't get the correct style.
+        // to get the style to tint the icon. Using mContext here won't get the correct style.
         final Icon tileIcon = tile.getIcon(preference.getContext());
         if (tileIcon != null) {
             Drawable iconDrawable = tileIcon.loadDrawable(preference.getContext());
@@ -214,7 +375,8 @@
                     packageName = intent.getComponent().getPackageName();
                 }
                 final Map<String, IContentProvider> providerMap = new ArrayMap<>();
-                final String uri = tile.getMetaData().getString(META_DATA_PREFERENCE_ICON_URI);
+                final Uri uri = TileUtils.getCompleteUri(tile, META_DATA_PREFERENCE_ICON_URI,
+                        METHOD_GET_PROVIDER_ICON);
                 final Pair<String, Integer> iconInfo = TileUtils.getIconFromUri(
                         mContext, packageName, uri, providerMap);
                 if (iconInfo == null) {
@@ -238,16 +400,15 @@
         ProfileSelectDialog.updateUserHandlesIfNeeded(mContext, tile);
 
         if (tile.userHandle == null || tile.isPrimaryProfileOnly()) {
-            mMetricsFeatureProvider.logDashboardStartIntent(mContext, intent, sourceMetricCategory);
+            mMetricsFeatureProvider.logStartedIntent(intent, sourceMetricCategory);
             activity.startActivityForResult(intent, 0);
         } else if (tile.userHandle.size() == 1) {
-            mMetricsFeatureProvider.logDashboardStartIntent(mContext, intent, sourceMetricCategory);
+            mMetricsFeatureProvider.logStartedIntent(intent, sourceMetricCategory);
             activity.startActivityForResultAsUser(intent, 0, tile.userHandle.get(0));
         } else {
             final UserHandle userHandle = intent.getParcelableExtra(EXTRA_USER);
             if (userHandle != null && tile.userHandle.contains(userHandle)) {
-                mMetricsFeatureProvider.logDashboardStartIntent(
-                    mContext, intent, sourceMetricCategory);
+                mMetricsFeatureProvider.logStartedIntent(intent, sourceMetricCategory);
                 activity.startActivityForResultAsUser(intent, 0, userHandle);
             } else {
                 ProfileSelectDialog.show(activity.getSupportFragmentManager(), tile);
diff --git a/src/com/android/settings/dashboard/DashboardFragment.java b/src/com/android/settings/dashboard/DashboardFragment.java
index f2e3d73..d121195 100644
--- a/src/com/android/settings/dashboard/DashboardFragment.java
+++ b/src/com/android/settings/dashboard/DashboardFragment.java
@@ -17,11 +17,12 @@
 
 import android.app.Activity;
 import android.app.settings.SettingsEnums;
+import android.content.ContentResolver;
 import android.content.Context;
 import android.os.Bundle;
 import android.text.TextUtils;
 import android.util.ArrayMap;
-import android.util.ArraySet;
+import android.util.FeatureFlagUtils;
 import android.util.Log;
 
 import androidx.annotation.CallSuper;
@@ -30,47 +31,55 @@
 import androidx.preference.PreferenceGroup;
 import androidx.preference.PreferenceManager;
 import androidx.preference.PreferenceScreen;
+import androidx.preference.SwitchPreference;
 
 import com.android.settings.R;
 import com.android.settings.SettingsPreferenceFragment;
 import com.android.settings.core.BasePreferenceController;
+import com.android.settings.core.FeatureFlags;
 import com.android.settings.core.PreferenceControllerListHelper;
 import com.android.settings.core.SettingsBaseActivity;
 import com.android.settings.overlay.FeatureFactory;
-import com.android.settings.search.Indexable;
+import com.android.settings.widget.MasterSwitchPreference;
 import com.android.settingslib.core.AbstractPreferenceController;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 import com.android.settingslib.core.lifecycle.LifecycleObserver;
 import com.android.settingslib.drawer.DashboardCategory;
+import com.android.settingslib.drawer.ProviderTile;
 import com.android.settingslib.drawer.Tile;
+import com.android.settingslib.search.Indexable;
+import com.android.settingslib.utils.ThreadUtils;
 
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.List;
 import java.util.Map;
-import java.util.Set;
+import java.util.Objects;
+import java.util.concurrent.ExecutionException;
 
 /**
  * Base fragment for dashboard style UI containing a list of static and dynamic setting items.
  */
 public abstract class DashboardFragment extends SettingsPreferenceFragment
         implements SettingsBaseActivity.CategoryListener, Indexable,
-        SummaryLoader.SummaryConsumer, PreferenceGroup.OnExpandButtonClickListener,
+        PreferenceGroup.OnExpandButtonClickListener,
         BasePreferenceController.UiBlockListener {
+    public static final String CATEGORY = "category";
     private static final String TAG = "DashboardFragment";
 
+    @VisibleForTesting
+    final ArrayMap<String, List<DynamicDataObserver>> mDashboardTilePrefKeys = new ArrayMap<>();
     private final Map<Class, List<AbstractPreferenceController>> mPreferenceControllers =
             new ArrayMap<>();
-    private final Set<String> mDashboardTilePrefKeys = new ArraySet<>();
-
+    private final List<DynamicDataObserver> mRegisteredObservers = new ArrayList<>();
+    private final List<AbstractPreferenceController> mControllers = new ArrayList<>();
+    @VisibleForTesting
+    UiBlockerController mBlockerController;
     private DashboardFeatureProvider mDashboardFeatureProvider;
     private DashboardTilePlaceholderPreferenceController mPlaceholderPreferenceController;
     private boolean mListeningToCategoryChange;
-    private SummaryLoader mSummaryLoader;
     private List<String> mSuppressInjectedTileKeys;
-    @VisibleForTesting
-    UiBlockerController mBlockerController;
 
     @Override
     public void onAttach(Context context) {
@@ -79,7 +88,6 @@
                 R.array.config_suppress_injected_tile_keys));
         mDashboardFeatureProvider = FeatureFactory.getFactory(context).
                 getDashboardFeatureProvider(context);
-        final List<AbstractPreferenceController> controllers = new ArrayList<>();
         // Load preference controllers from code
         final List<AbstractPreferenceController> controllersFromCode =
                 createPreferenceControllers(context);
@@ -93,42 +101,40 @@
 
         // Add unique controllers to list.
         if (controllersFromCode != null) {
-            controllers.addAll(controllersFromCode);
+            mControllers.addAll(controllersFromCode);
         }
-        controllers.addAll(uniqueControllerFromXml);
+        mControllers.addAll(uniqueControllerFromXml);
 
         // And wire up with lifecycle.
         final Lifecycle lifecycle = getSettingsLifecycle();
-        uniqueControllerFromXml
-                .stream()
-                .filter(controller -> controller instanceof LifecycleObserver)
-                .forEach(
-                        controller -> lifecycle.addObserver((LifecycleObserver) controller));
+        uniqueControllerFromXml.forEach(controller -> {
+            if (controller instanceof LifecycleObserver) {
+                lifecycle.addObserver((LifecycleObserver) controller);
+            }
+        });
 
         mPlaceholderPreferenceController =
                 new DashboardTilePlaceholderPreferenceController(context);
-        controllers.add(mPlaceholderPreferenceController);
-        for (AbstractPreferenceController controller : controllers) {
+        mControllers.add(mPlaceholderPreferenceController);
+        for (AbstractPreferenceController controller : mControllers) {
             addPreferenceController(controller);
         }
-
-        checkUiBlocker(controllers);
     }
 
     @VisibleForTesting
     void checkUiBlocker(List<AbstractPreferenceController> controllers) {
         final List<String> keys = new ArrayList<>();
-        controllers
-                .stream()
-                .filter(controller -> controller instanceof BasePreferenceController.UiBlocker)
-                .forEach(controller -> {
-                    ((BasePreferenceController) controller).setUiBlockListener(this);
-                    keys.add(controller.getPreferenceKey());
-                });
+        controllers.forEach(controller -> {
+            if (controller instanceof BasePreferenceController.UiBlocker
+                    && controller.isAvailable()) {
+                ((BasePreferenceController) controller).setUiBlockListener(this);
+                keys.add(controller.getPreferenceKey());
+            }
+        });
 
         if (!keys.isEmpty()) {
             mBlockerController = new UiBlockerController(keys);
-            mBlockerController.start(()->updatePreferenceVisibility(mPreferenceControllers));
+            mBlockerController.start(() -> updatePreferenceVisibility(mPreferenceControllers));
         }
     }
 
@@ -157,6 +163,7 @@
 
     @Override
     public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
+        checkUiBlocker(mControllers);
         refreshAllPreferences(getLogTag());
     }
 
@@ -168,47 +175,41 @@
         if (category == null) {
             return;
         }
-        if (mSummaryLoader != null) {
-            // SummaryLoader can be null when there is no dynamic tiles.
-            mSummaryLoader.setListening(true);
-        }
         final Activity activity = getActivity();
         if (activity instanceof SettingsBaseActivity) {
             mListeningToCategoryChange = true;
             ((SettingsBaseActivity) activity).addCategoryListener(this);
         }
-    }
-
-    @Override
-    public void notifySummaryChanged(Tile tile) {
-        final String key = mDashboardFeatureProvider.getDashboardKeyForTile(tile);
-        final Preference pref = getPreferenceScreen().findPreference(key);
-        if (pref == null) {
-            Log.d(getLogTag(), String.format(
-                    "Can't find pref by key %s, skipping update summary %s",
-                    key, tile.getDescription()));
-            return;
-        }
-        pref.setSummary(tile.getSummary(pref.getContext()));
+        final ContentResolver resolver = getContentResolver();
+        mDashboardTilePrefKeys.values().stream()
+                .filter(Objects::nonNull)
+                .flatMap(List::stream)
+                .forEach(observer -> {
+                    if (!mRegisteredObservers.contains(observer)) {
+                        registerDynamicDataObserver(resolver, observer);
+                    }
+                });
     }
 
     @Override
     public void onResume() {
         super.onResume();
         updatePreferenceStates();
+        writeElapsedTimeMetric(SettingsEnums.ACTION_DASHBOARD_VISIBLE_TIME,
+                "isParalleledControllers:" + isParalleledControllers());
     }
 
     @Override
     public boolean onPreferenceTreeClick(Preference preference) {
-        Collection<List<AbstractPreferenceController>> controllers =
+        final Collection<List<AbstractPreferenceController>> controllers =
                 mPreferenceControllers.values();
-        // If preference contains intent, log it before handling.
-        mMetricsFeatureProvider.logDashboardStartIntent(
-                getContext(), preference.getIntent(), getMetricsCategory());
         // Give all controllers a chance to handle click.
+        preference.getExtras().putInt(CATEGORY, getMetricsCategory());
         for (List<AbstractPreferenceController> controllerList : controllers) {
             for (AbstractPreferenceController controller : controllerList) {
                 if (controller.handlePreferenceTreeClick(preference)) {
+                    // log here since calling super.onPreferenceTreeClick will be skipped
+                    writePreferenceClickMetric(preference);
                     return true;
                 }
             }
@@ -219,10 +220,7 @@
     @Override
     public void onStop() {
         super.onStop();
-        if (mSummaryLoader != null) {
-            // SummaryLoader can be null when there is no dynamic tiles.
-            mSummaryLoader.setListening(false);
-        }
+        unregisterDynamicDataObservers(new ArrayList<>(mRegisteredObservers));
         if (mListeningToCategoryChange) {
             final Activity activity = getActivity();
             if (activity instanceof SettingsBaseActivity) {
@@ -314,9 +312,29 @@
     }
 
     /**
+     * @return {@code true} if the underlying controllers should be executed in parallel.
+     * Override this function to enable/disable the behavior.
+     */
+    protected boolean isParalleledControllers() {
+        return false;
+    }
+
+    /**
+     * Get current PreferenceController(s)
+     */
+    protected Collection<List<AbstractPreferenceController>> getPreferenceControllers() {
+        return mPreferenceControllers.values();
+    }
+
+    /**
      * Update state of each preference managed by PreferenceController.
      */
     protected void updatePreferenceStates() {
+        if (isParalleledControllers() && FeatureFlagUtils.isEnabled(getContext(),
+                FeatureFlags.CONTROLLER_ENHANCEMENT)) {
+            updatePreferenceStatesInParallel();
+            return;
+        }
         final PreferenceScreen screen = getPreferenceScreen();
         Collection<List<AbstractPreferenceController>> controllerLists =
                 mPreferenceControllers.values();
@@ -345,10 +363,38 @@
     }
 
     /**
+     * Use parallel method to update state of each preference managed by PreferenceController.
+     */
+    @VisibleForTesting
+    void updatePreferenceStatesInParallel() {
+        final PreferenceScreen screen = getPreferenceScreen();
+        final Collection<List<AbstractPreferenceController>> controllerLists =
+                mPreferenceControllers.values();
+        final List<ControllerFutureTask> taskList = new ArrayList<>();
+        for (List<AbstractPreferenceController> controllerList : controllerLists) {
+            for (AbstractPreferenceController controller : controllerList) {
+                final ControllerFutureTask task = new ControllerFutureTask(
+                        new ControllerTask(controller, screen, mMetricsFeatureProvider,
+                                getMetricsCategory()), null /* result */);
+                taskList.add(task);
+                ThreadUtils.postOnBackgroundThread(task);
+            }
+        }
+
+        for (ControllerFutureTask task : taskList) {
+            try {
+                task.get();
+            } catch (InterruptedException | ExecutionException e) {
+                Log.w(TAG, task.getController().getPreferenceKey() + " " + e.getMessage());
+            }
+        }
+    }
+
+    /**
      * Refresh all preference items, including both static prefs from xml, and dynamic items from
      * DashboardCategory.
      */
-    private void refreshAllPreferences(final String TAG) {
+    private void refreshAllPreferences(final String tag) {
         final PreferenceScreen screen = getPreferenceScreen();
         // First remove old preferences.
         if (screen != null) {
@@ -359,11 +405,11 @@
         // Add resource based tiles.
         displayResourceTiles();
 
-        refreshDashboardTiles(TAG);
+        refreshDashboardTiles(tag);
 
         final Activity activity = getActivity();
         if (activity != null) {
-            Log.d(TAG, "All preferences added, reporting fully drawn");
+            Log.d(tag, "All preferences added, reporting fully drawn");
             activity.reportFullyDrawn();
         }
 
@@ -394,72 +440,106 @@
     /**
      * Refresh preference items backed by DashboardCategory.
      */
-    @VisibleForTesting
-    void refreshDashboardTiles(final String TAG) {
+    private void refreshDashboardTiles(final String tag) {
         final PreferenceScreen screen = getPreferenceScreen();
 
         final DashboardCategory category =
                 mDashboardFeatureProvider.getTilesForCategory(getCategoryKey());
         if (category == null) {
-            Log.d(TAG, "NO dashboard tiles for " + TAG);
+            Log.d(tag, "NO dashboard tiles for " + tag);
             return;
         }
         final List<Tile> tiles = category.getTiles();
         if (tiles == null) {
-            Log.d(TAG, "tile list is empty, skipping category " + category.key);
+            Log.d(tag, "tile list is empty, skipping category " + category.key);
             return;
         }
         // Create a list to track which tiles are to be removed.
-        final List<String> remove = new ArrayList<>(mDashboardTilePrefKeys);
+        final Map<String, List<DynamicDataObserver>> remove = new ArrayMap(mDashboardTilePrefKeys);
 
-        // There are dashboard tiles, so we need to install SummaryLoader.
-        if (mSummaryLoader != null) {
-            mSummaryLoader.release();
-        }
-        final Context context = getContext();
-        mSummaryLoader = new SummaryLoader(getActivity(), getCategoryKey());
-        mSummaryLoader.setSummaryConsumer(this);
         // Install dashboard tiles.
         final boolean forceRoundedIcons = shouldForceRoundedIcon();
         for (Tile tile : tiles) {
             final String key = mDashboardFeatureProvider.getDashboardKeyForTile(tile);
             if (TextUtils.isEmpty(key)) {
-                Log.d(TAG, "tile does not contain a key, skipping " + tile);
+                Log.d(tag, "tile does not contain a key, skipping " + tile);
                 continue;
             }
             if (!displayTile(tile)) {
                 continue;
             }
-            if (mDashboardTilePrefKeys.contains(key)) {
+            if (mDashboardTilePrefKeys.containsKey(key)) {
                 // Have the key already, will rebind.
                 final Preference preference = screen.findPreference(key);
-                mDashboardFeatureProvider.bindPreferenceToTile(getActivity(), forceRoundedIcons,
-                        getMetricsCategory(), preference, tile, key,
+                mDashboardFeatureProvider.bindPreferenceToTileAndGetObservers(getActivity(),
+                        forceRoundedIcons, getMetricsCategory(), preference, tile, key,
                         mPlaceholderPreferenceController.getOrder());
             } else {
                 // Don't have this key, add it.
-                final Preference pref = new Preference(getPrefContext());
-                mDashboardFeatureProvider.bindPreferenceToTile(getActivity(), forceRoundedIcons,
-                        getMetricsCategory(), pref, tile, key,
-                        mPlaceholderPreferenceController.getOrder());
+                final Preference pref = createPreference(tile);
+                final List<DynamicDataObserver> observers =
+                        mDashboardFeatureProvider.bindPreferenceToTileAndGetObservers(getActivity(),
+                                forceRoundedIcons, getMetricsCategory(), pref, tile, key,
+                                mPlaceholderPreferenceController.getOrder());
                 screen.addPreference(pref);
-                mDashboardTilePrefKeys.add(key);
+                registerDynamicDataObservers(observers);
+                mDashboardTilePrefKeys.put(key, observers);
             }
             remove.remove(key);
         }
         // Finally remove tiles that are gone.
-        for (String key : remove) {
+        for (Map.Entry<String, List<DynamicDataObserver>> entry : remove.entrySet()) {
+            final String key = entry.getKey();
             mDashboardTilePrefKeys.remove(key);
             final Preference preference = screen.findPreference(key);
             if (preference != null) {
                 screen.removePreference(preference);
             }
+            unregisterDynamicDataObservers(entry.getValue());
         }
-        mSummaryLoader.setListening(true);
     }
 
     @Override
     public void onBlockerWorkFinished(BasePreferenceController controller) {
         mBlockerController.countDown(controller.getPreferenceKey());
     }
+
+    @VisibleForTesting
+    Preference createPreference(Tile tile) {
+        return tile instanceof ProviderTile
+                ? new SwitchPreference(getPrefContext())
+                : tile.hasSwitch()
+                        ? new MasterSwitchPreference(getPrefContext())
+                        : new Preference(getPrefContext());
+    }
+
+    @VisibleForTesting
+    void registerDynamicDataObservers(List<DynamicDataObserver> observers) {
+        if (observers == null || observers.isEmpty()) {
+            return;
+        }
+        final ContentResolver resolver = getContentResolver();
+        observers.forEach(observer -> registerDynamicDataObserver(resolver, observer));
+    }
+
+    private void registerDynamicDataObserver(ContentResolver resolver,
+            DynamicDataObserver observer) {
+        Log.d(TAG, "register observer: @" + Integer.toHexString(observer.hashCode())
+                + ", uri: " + observer.getUri());
+        resolver.registerContentObserver(observer.getUri(), false, observer);
+        mRegisteredObservers.add(observer);
+    }
+
+    private void unregisterDynamicDataObservers(List<DynamicDataObserver> observers) {
+        if (observers == null || observers.isEmpty()) {
+            return;
+        }
+        final ContentResolver resolver = getContentResolver();
+        observers.forEach(observer -> {
+            Log.d(TAG, "unregister observer: @" + Integer.toHexString(observer.hashCode())
+                    + ", uri: " + observer.getUri());
+            mRegisteredObservers.remove(observer);
+            resolver.unregisterContentObserver(observer);
+        });
+    }
 }
diff --git a/src/com/android/settings/dashboard/DashboardFragmentRegistry.java b/src/com/android/settings/dashboard/DashboardFragmentRegistry.java
index b499b59..f719494 100644
--- a/src/com/android/settings/dashboard/DashboardFragmentRegistry.java
+++ b/src/com/android/settings/dashboard/DashboardFragmentRegistry.java
@@ -31,6 +31,7 @@
 import com.android.settings.display.NightDisplaySettings;
 import com.android.settings.enterprise.EnterprisePrivacySettings;
 import com.android.settings.fuelgauge.PowerUsageSummary;
+import com.android.settings.fuelgauge.SmartBatterySettings;
 import com.android.settings.fuelgauge.batterysaver.BatterySaverSettings;
 import com.android.settings.gestures.GestureSettings;
 import com.android.settings.homepage.TopLevelSettings;
@@ -38,7 +39,7 @@
 import com.android.settings.network.NetworkDashboardFragment;
 import com.android.settings.notification.ConfigureNotificationSettings;
 import com.android.settings.notification.SoundSettings;
-import com.android.settings.notification.ZenModeSettings;
+import com.android.settings.notification.zen.ZenModeSettings;
 import com.android.settings.privacy.PrivacyDashboardFragment;
 import com.android.settings.security.LockscreenDashboardFragment;
 import com.android.settings.security.SecuritySettings;
@@ -116,6 +117,8 @@
                 CategoryKey.CATEGORY_MY_DEVICE_INFO);
         PARENT_TO_CATEGORY_KEY_MAP.put(BatterySaverSettings.class.getName(),
                 CategoryKey.CATEGORY_BATTERY_SAVER_SETTINGS);
+        PARENT_TO_CATEGORY_KEY_MAP.put(SmartBatterySettings.class.getName(),
+                CategoryKey.CATEGORY_SMART_BATTERY_SETTINGS);
 
         CATEGORY_KEY_TO_PARENT_MAP = new ArrayMap<>(PARENT_TO_CATEGORY_KEY_MAP.size());
 
diff --git a/src/com/android/settings/dashboard/DynamicDataObserver.java b/src/com/android/settings/dashboard/DynamicDataObserver.java
new file mode 100644
index 0000000..f5299be
--- /dev/null
+++ b/src/com/android/settings/dashboard/DynamicDataObserver.java
@@ -0,0 +1,42 @@
+/*
+ * 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.dashboard;
+
+import android.database.ContentObserver;
+import android.net.Uri;
+import android.os.Handler;
+import android.os.Looper;
+
+/**
+ * Observer for updating injected dynamic data.
+ */
+public abstract class DynamicDataObserver extends ContentObserver {
+
+    protected DynamicDataObserver() {
+        super(new Handler(Looper.getMainLooper()));
+    }
+
+    /** Returns the uri of the callback. */
+    public abstract Uri getUri();
+
+    /** Called when data changes. */
+    public abstract void onDataChanged();
+
+    @Override
+    public void onChange(boolean selfChange) {
+        onDataChanged();
+    }
+}
diff --git a/src/com/android/settings/dashboard/SummaryLoader.java b/src/com/android/settings/dashboard/SummaryLoader.java
deleted file mode 100644
index 059cb93..0000000
--- a/src/com/android/settings/dashboard/SummaryLoader.java
+++ /dev/null
@@ -1,313 +0,0 @@
-/*
- * Copyright (C) 2015 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.settings.dashboard;
-
-import android.app.Activity;
-import android.content.BroadcastReceiver;
-import android.content.ComponentName;
-import android.content.Context;
-import android.content.Intent;
-import android.content.IntentFilter;
-import android.os.Bundle;
-import android.os.Handler;
-import android.os.HandlerThread;
-import android.os.Looper;
-import android.os.Message;
-import android.os.Process;
-import android.text.TextUtils;
-import android.util.ArrayMap;
-import android.util.ArraySet;
-import android.util.Log;
-
-import androidx.annotation.VisibleForTesting;
-
-import com.android.settings.SettingsActivity;
-import com.android.settings.overlay.FeatureFactory;
-import com.android.settingslib.drawer.DashboardCategory;
-import com.android.settingslib.drawer.Tile;
-import com.android.settingslib.utils.ThreadUtils;
-
-import java.lang.reflect.Field;
-import java.util.List;
-
-public class SummaryLoader {
-    private static final boolean DEBUG = false;
-    private static final String TAG = "SummaryLoader";
-
-    public static final String SUMMARY_PROVIDER_FACTORY = "SUMMARY_PROVIDER_FACTORY";
-
-    private final Activity mActivity;
-    private final ArrayMap<SummaryProvider, ComponentName> mSummaryProviderMap = new ArrayMap<>();
-    private final ArrayMap<String, CharSequence> mSummaryTextMap = new ArrayMap<>();
-    private final DashboardFeatureProvider mDashboardFeatureProvider;
-    private final String mCategoryKey;
-
-    private final Worker mWorker;
-    private final HandlerThread mWorkerThread;
-
-    private SummaryConsumer mSummaryConsumer;
-    private boolean mListening;
-    private boolean mWorkerListening;
-    private ArraySet<BroadcastReceiver> mReceivers = new ArraySet<>();
-
-    public SummaryLoader(Activity activity, String categoryKey) {
-        mDashboardFeatureProvider = FeatureFactory.getFactory(activity)
-                .getDashboardFeatureProvider(activity);
-        mCategoryKey = categoryKey;
-        mWorkerThread = new HandlerThread("SummaryLoader", Process.THREAD_PRIORITY_BACKGROUND);
-        mWorkerThread.start();
-        mWorker = new Worker(mWorkerThread.getLooper());
-        mActivity = activity;
-    }
-
-    public void release() {
-        mWorkerThread.quitSafely();
-        // Make sure we aren't listening.
-        setListeningW(false);
-    }
-
-    public void setSummaryConsumer(SummaryConsumer summaryConsumer) {
-        mSummaryConsumer = summaryConsumer;
-    }
-
-    public void setSummary(SummaryProvider provider, final CharSequence summary) {
-        final ComponentName component = mSummaryProviderMap.get(provider);
-        ThreadUtils.postOnMainThread(() -> {
-
-            final Tile tile = getTileFromCategory(
-                    mDashboardFeatureProvider.getTilesForCategory(mCategoryKey), component);
-
-            if (tile == null) {
-                if (DEBUG) {
-                    Log.d(TAG, "Can't find tile for " + component);
-                }
-                return;
-            }
-            if (DEBUG) {
-                Log.d(TAG, "setSummary " + tile.getDescription() + " - " + summary);
-            }
-
-            updateSummaryIfNeeded(mActivity.getApplicationContext(), tile, summary);
-        });
-    }
-
-    @VisibleForTesting
-    void updateSummaryIfNeeded(Context context, Tile tile, CharSequence summary) {
-        if (TextUtils.equals(tile.getSummary(context), summary)) {
-            if (DEBUG) {
-                Log.d(TAG, "Summary doesn't change, skipping summary update for "
-                        + tile.getDescription());
-            }
-            return;
-        }
-        mSummaryTextMap.put(mDashboardFeatureProvider.getDashboardKeyForTile(tile), summary);
-        tile.overrideSummary(summary);
-        if (mSummaryConsumer != null) {
-            mSummaryConsumer.notifySummaryChanged(tile);
-        } else {
-            if (DEBUG) {
-                Log.d(TAG, "SummaryConsumer is null, skipping summary update for "
-                        + tile.getDescription());
-            }
-        }
-    }
-
-    /**
-     * Only call from the main thread.
-     */
-    public void setListening(boolean listening) {
-        if (mListening == listening) {
-            return;
-        }
-        mListening = listening;
-        // Unregister listeners immediately.
-        for (int i = 0; i < mReceivers.size(); i++) {
-            mActivity.unregisterReceiver(mReceivers.valueAt(i));
-        }
-        mReceivers.clear();
-
-        mWorker.removeMessages(Worker.MSG_SET_LISTENING);
-        if (!listening) {
-            // Stop listen
-            mWorker.obtainMessage(Worker.MSG_SET_LISTENING, 0 /* listening */).sendToTarget();
-        } else {
-            // Start listen
-            if (mSummaryProviderMap.isEmpty()) {
-                // Category not initialized yet, init before starting to listen
-                if (!mWorker.hasMessages(Worker.MSG_GET_CATEGORY_TILES_AND_SET_LISTENING)) {
-                    mWorker.sendEmptyMessage(Worker.MSG_GET_CATEGORY_TILES_AND_SET_LISTENING);
-                }
-            } else {
-                // Category already initialized, start listening immediately
-                mWorker.obtainMessage(Worker.MSG_SET_LISTENING, 1 /* listening */).sendToTarget();
-            }
-        }
-    }
-
-    private SummaryProvider getSummaryProvider(Tile tile) {
-        if (!mActivity.getPackageName().equals(tile.getPackageName())) {
-            // Not within Settings, can't load Summary directly.
-            // TODO: Load summary indirectly.
-            return null;
-        }
-        final Bundle metaData = tile.getMetaData();
-        final Intent intent = tile.getIntent();
-        if (metaData == null) {
-            Log.d(TAG, "No metadata specified for " + intent.getComponent());
-            return null;
-        }
-        final String clsName = metaData.getString(SettingsActivity.META_DATA_KEY_FRAGMENT_CLASS);
-        if (clsName == null) {
-            Log.d(TAG, "No fragment specified for " + intent.getComponent());
-            return null;
-        }
-        try {
-            Class<?> cls = Class.forName(clsName);
-            Field field = cls.getField(SUMMARY_PROVIDER_FACTORY);
-            SummaryProviderFactory factory = (SummaryProviderFactory) field.get(null);
-            return factory.createSummaryProvider(mActivity, this);
-        } catch (ClassNotFoundException e) {
-            if (DEBUG) Log.d(TAG, "Couldn't find " + clsName, e);
-        } catch (NoSuchFieldException e) {
-            if (DEBUG) Log.d(TAG, "Couldn't find " + SUMMARY_PROVIDER_FACTORY, e);
-        } catch (ClassCastException e) {
-            if (DEBUG) Log.d(TAG, "Couldn't cast " + SUMMARY_PROVIDER_FACTORY, e);
-        } catch (IllegalAccessException e) {
-            if (DEBUG) Log.d(TAG, "Couldn't get " + SUMMARY_PROVIDER_FACTORY, e);
-        }
-        return null;
-    }
-
-    /**
-     * Registers a receiver and automatically unregisters it when the activity is stopping.
-     * This ensures that the receivers are unregistered immediately, since most summary loader
-     * operations are asynchronous.
-     */
-    public void registerReceiver(final BroadcastReceiver receiver, final IntentFilter filter) {
-        mActivity.runOnUiThread(() -> {
-            if (!mListening) {
-                return;
-            }
-            mReceivers.add(receiver);
-            mActivity.registerReceiver(receiver, filter);
-        });
-    }
-
-    /**
-     * Updates all tile's summary to latest cached version. This is necessary to handle the case
-     * where category is updated after summary change.
-     */
-    public void updateSummaryToCache(DashboardCategory category) {
-        if (category == null) {
-            return;
-        }
-        for (Tile tile : category.getTiles()) {
-            final String key = mDashboardFeatureProvider.getDashboardKeyForTile(tile);
-            if (mSummaryTextMap.containsKey(key)) {
-                tile.overrideSummary(mSummaryTextMap.get(key));
-            }
-        }
-    }
-
-    private synchronized void setListeningW(boolean listening) {
-        if (mWorkerListening == listening) {
-            return;
-        }
-        mWorkerListening = listening;
-        if (DEBUG) {
-            Log.d(TAG, "Listening " + listening);
-        }
-        for (SummaryProvider p : mSummaryProviderMap.keySet()) {
-            try {
-                p.setListening(listening);
-            } catch (Exception e) {
-                Log.d(TAG, "Problem in setListening", e);
-            }
-        }
-    }
-
-    private synchronized void makeProviderW(Tile tile) {
-        SummaryProvider provider = getSummaryProvider(tile);
-        if (provider != null) {
-            if (DEBUG) Log.d(TAG, "Creating " + tile);
-            mSummaryProviderMap.put(provider, tile.getIntent().getComponent());
-        }
-    }
-
-    private Tile getTileFromCategory(DashboardCategory category, ComponentName component) {
-        if (category == null || category.getTilesCount() == 0) {
-            return null;
-        }
-        final List<Tile> tiles = category.getTiles();
-        final int tileCount = tiles.size();
-        for (int j = 0; j < tileCount; j++) {
-            final Tile tile = tiles.get(j);
-            if (component.equals(tile.getIntent().getComponent())) {
-                return tile;
-            }
-        }
-        return null;
-    }
-
-
-    public interface SummaryProvider {
-        void setListening(boolean listening);
-    }
-
-    public interface SummaryConsumer {
-        void notifySummaryChanged(Tile tile);
-    }
-
-    public interface SummaryProviderFactory {
-        SummaryProvider createSummaryProvider(Activity activity, SummaryLoader summaryLoader);
-    }
-
-    private class Worker extends Handler {
-        private static final int MSG_GET_CATEGORY_TILES_AND_SET_LISTENING = 1;
-        private static final int MSG_GET_PROVIDER = 2;
-        private static final int MSG_SET_LISTENING = 3;
-
-        public Worker(Looper looper) {
-            super(looper);
-        }
-
-        @Override
-        public void handleMessage(Message msg) {
-            switch (msg.what) {
-                case MSG_GET_CATEGORY_TILES_AND_SET_LISTENING:
-                    final DashboardCategory category =
-                            mDashboardFeatureProvider.getTilesForCategory(mCategoryKey);
-                    if (category == null || category.getTilesCount() == 0) {
-                        return;
-                    }
-                    final List<Tile> tiles = category.getTiles();
-                    for (Tile tile : tiles) {
-                        makeProviderW(tile);
-                    }
-                    setListeningW(true);
-                    break;
-                case MSG_GET_PROVIDER:
-                    Tile tile = (Tile) msg.obj;
-                    makeProviderW(tile);
-                    break;
-                case MSG_SET_LISTENING:
-                    boolean listening = msg.obj != null && msg.obj.equals(1);
-                    setListeningW(listening);
-                    break;
-            }
-        }
-    }
-}
diff --git a/src/com/android/settings/dashboard/SummaryProvider.java b/src/com/android/settings/dashboard/SummaryProvider.java
new file mode 100644
index 0000000..6acc663
--- /dev/null
+++ b/src/com/android/settings/dashboard/SummaryProvider.java
@@ -0,0 +1,91 @@
+/*
+ * 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.dashboard;
+
+import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_SUMMARY;
+
+import android.content.ContentProvider;
+import android.content.ContentValues;
+import android.content.Context;
+import android.content.pm.UserInfo;
+import android.database.Cursor;
+import android.net.Uri;
+import android.os.Bundle;
+import android.os.UserHandle;
+import android.os.UserManager;
+
+import com.android.settings.R;
+import com.android.settings.backup.BackupSettingsHelper;
+
+/** Provide preference summary for injected items. */
+public class SummaryProvider extends ContentProvider {
+    private static final String BACKUP = "backup";
+    private static final String USER = "user";
+
+    @Override
+    public Bundle call(String method, String uri, Bundle extras) {
+        final Bundle bundle = new Bundle();
+        switch (method) {
+            case BACKUP:
+                bundle.putString(META_DATA_PREFERENCE_SUMMARY,
+                        new BackupSettingsHelper(getContext()).getSummary());
+                break;
+            case USER:
+                final Context context = getContext();
+                final UserInfo info = context.getSystemService(UserManager.class).getUserInfo(
+                        UserHandle.myUserId());
+                bundle.putString(META_DATA_PREFERENCE_SUMMARY,
+                        context.getString(R.string.users_summary,
+                                info.name));
+                break;
+            default:
+                throw new IllegalArgumentException("Unknown Uri format: " + uri);
+        }
+        return bundle;
+    }
+
+    @Override
+    public boolean onCreate() {
+        return true;
+    }
+
+    @Override
+    public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs,
+            String sortOrder) {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public String getType(Uri uri) {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public Uri insert(Uri uri, ContentValues values) {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public int delete(Uri uri, String selection, String[] selectionArgs) {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs) {
+        throw new UnsupportedOperationException();
+    }
+}
diff --git a/src/com/android/settings/dashboard/profileselector/ProfileFragmentBridge.java b/src/com/android/settings/dashboard/profileselector/ProfileFragmentBridge.java
new file mode 100644
index 0000000..04fccb3
--- /dev/null
+++ b/src/com/android/settings/dashboard/profileselector/ProfileFragmentBridge.java
@@ -0,0 +1,50 @@
+/*
+ * 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.dashboard.profileselector;
+
+import android.util.ArrayMap;
+
+import com.android.settings.accounts.AccountDashboardFragment;
+import com.android.settings.applications.manageapplications.ManageApplications;
+import com.android.settings.location.LocationSettings;
+import com.android.settings.location.RecentLocationRequestSeeAllFragment;
+
+import java.util.Map;
+
+/**
+ * A registry to keep track of which page and its own profile selection page.
+ */
+public class ProfileFragmentBridge {
+
+    /**
+     * Map from parent fragment to category key. The parent fragment hosts child with
+     * category_key.
+     */
+    public static final Map<String, String> FRAGMENT_MAP;
+
+    static {
+        FRAGMENT_MAP = new ArrayMap<>();
+        FRAGMENT_MAP.put(AccountDashboardFragment.class.getName(),
+                ProfileSelectAccountFragment.class.getName());
+        FRAGMENT_MAP.put(ManageApplications.class.getName(),
+                ProfileSelectManageApplications.class.getName());
+        FRAGMENT_MAP.put(LocationSettings.class.getName(),
+                ProfileSelectLocationFragment.class.getName());
+        FRAGMENT_MAP.put(RecentLocationRequestSeeAllFragment.class.getName(),
+                ProfileSelectRecentLocationRequestFragment.class.getName());
+    }
+}
diff --git a/src/com/android/settings/dashboard/profileselector/ProfileSelectAccountFragment.java b/src/com/android/settings/dashboard/profileselector/ProfileSelectAccountFragment.java
new file mode 100644
index 0000000..ac67b58
--- /dev/null
+++ b/src/com/android/settings/dashboard/profileselector/ProfileSelectAccountFragment.java
@@ -0,0 +1,35 @@
+/*
+ * 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.dashboard.profileselector;
+import androidx.fragment.app.Fragment;
+
+import com.android.settings.accounts.AccountPersonalDashboardFragment;
+import com.android.settings.accounts.AccountWorkProfileDashboardFragment;
+
+/**
+ * Account Setting page for personal/managed profile.
+ */
+public class ProfileSelectAccountFragment extends ProfileSelectFragment {
+
+    @Override
+    public Fragment[] getFragments() {
+        return new Fragment[] {
+                new AccountPersonalDashboardFragment(),
+                new AccountWorkProfileDashboardFragment()
+        };
+    }
+}
diff --git a/src/com/android/settings/dashboard/profileselector/ProfileSelectFragment.java b/src/com/android/settings/dashboard/profileselector/ProfileSelectFragment.java
new file mode 100644
index 0000000..594e553
--- /dev/null
+++ b/src/com/android/settings/dashboard/profileselector/ProfileSelectFragment.java
@@ -0,0 +1,209 @@
+/*
+ * 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.dashboard.profileselector;
+
+import static android.content.Intent.EXTRA_USER_ID;
+
+import android.annotation.IntDef;
+import android.app.Activity;
+import android.content.Context;
+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.ViewGroup;
+import android.widget.FrameLayout;
+import android.widget.LinearLayout;
+
+import androidx.annotation.VisibleForTesting;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentStatePagerAdapter;
+import androidx.recyclerview.widget.RecyclerView;
+import androidx.viewpager.widget.ViewPager;
+
+import com.android.settings.R;
+import com.android.settings.SettingsActivity;
+import com.android.settings.Utils;
+import com.android.settings.dashboard.DashboardFragment;
+
+import com.google.android.material.tabs.TabLayout;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.util.Locale;
+
+/**
+ * Base fragment class for profile settings.
+ */
+public abstract class ProfileSelectFragment extends DashboardFragment {
+
+    private static final String TAG = "ProfileSelectFragment";
+
+    /**
+     * Denotes the profile type.
+     */
+    @Retention(RetentionPolicy.SOURCE)
+    @IntDef({
+            ProfileType.PERSONAL,
+            ProfileType.WORK,
+            ProfileType.ALL
+    })
+    public @interface ProfileType {
+        /**
+         * It is personal work profile.
+         */
+        int PERSONAL = 1;
+
+        /**
+         * It is work profile
+         */
+        int WORK = 1 << 1;
+
+        /**
+         * It is personal and work profile
+         */
+        int ALL = PERSONAL | WORK;
+    }
+
+    /**
+     * Used in fragment argument and pass {@link ProfileType} to it
+     */
+    public static final String EXTRA_PROFILE = "profile";
+
+    /**
+     * Used in fragment argument with Extra key {@link SettingsActivity.EXTRA_SHOW_FRAGMENT_TAB}
+     */
+    public static final int PERSONAL_TAB = 0;
+
+    /**
+     * Used in fragment argument with Extra key {@link SettingsActivity.EXTRA_SHOW_FRAGMENT_TAB}
+     */
+    public static final int WORK_TAB = 1;
+    private static final int[] LABEL = {
+            R.string.category_personal, R.string.category_work
+    };
+
+    private ViewGroup mContentView;
+
+    @Override
+    public View onCreateView(LayoutInflater inflater, ViewGroup container,
+            Bundle savedInstanceState) {
+        mContentView = (ViewGroup) super.onCreateView(inflater, container, savedInstanceState);
+        final Activity activity = getActivity();
+        final int selectedTab = convertPosition(getTabId(activity, getArguments()));
+
+        final View tabContainer = mContentView.findViewById(R.id.tab_container);
+        final ViewPager viewPager = tabContainer.findViewById(R.id.view_pager);
+        viewPager.setAdapter(new ProfileSelectFragment.ViewPagerAdapter(this));
+        final TabLayout tabs = tabContainer.findViewById(R.id.tabs);
+        tabs.setupWithViewPager(viewPager);
+        tabContainer.setVisibility(View.VISIBLE);
+        final TabLayout.Tab tab = tabs.getTabAt(selectedTab);
+        tab.select();
+
+        final FrameLayout listContainer = mContentView.findViewById(android.R.id.list_container);
+        listContainer.setLayoutParams(new LinearLayout.LayoutParams(
+                ViewGroup.LayoutParams.MATCH_PARENT,
+                ViewGroup.LayoutParams.WRAP_CONTENT));
+
+        final RecyclerView recyclerView = getListView();
+        recyclerView.setOverScrollMode(View.OVER_SCROLL_NEVER);
+        Utils.setActionBarShadowAnimation(activity, getSettingsLifecycle(), recyclerView);
+
+        return mContentView;
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return METRICS_CATEGORY_UNKNOWN;
+    }
+
+    /**
+     * Returns an array of {@link Fragment} to display in the
+     * {@link com.google.android.material.tabs.TabLayout}
+     */
+    public abstract Fragment[] getFragments();
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.dummy_preference_screen;
+    }
+
+    @Override
+    protected String getLogTag() {
+        return TAG;
+    }
+
+    @VisibleForTesting
+    int getTabId(Activity activity, Bundle bundle) {
+        if (bundle != null) {
+            final int extraTab = bundle.getInt(SettingsActivity.EXTRA_SHOW_FRAGMENT_TAB, -1);
+            if (extraTab != -1) {
+                return extraTab;
+            }
+            final int userId = bundle.getInt(EXTRA_USER_ID, UserHandle.SYSTEM.getIdentifier());
+            final boolean isWorkProfile = UserManager.get(activity).isManagedProfile(userId);
+            if (isWorkProfile) {
+                return WORK_TAB;
+            }
+        }
+        // Start intent from a specific user eg: adb shell --user 10
+        final int intentUser = activity.getIntent().getContentUserHint();
+        if (UserManager.get(activity).isManagedProfile(intentUser)) {
+            return WORK_TAB;
+        }
+
+        return PERSONAL_TAB;
+    }
+
+    static class ViewPagerAdapter extends FragmentStatePagerAdapter {
+
+        private final Fragment[] mChildFragments;
+        private final Context mContext;
+
+        ViewPagerAdapter(ProfileSelectFragment fragment) {
+            super(fragment.getChildFragmentManager());
+            mContext = fragment.getContext();
+            mChildFragments = fragment.getFragments();
+        }
+
+        @Override
+        public Fragment getItem(int position) {
+            return mChildFragments[convertPosition(position)];
+        }
+
+        @Override
+        public int getCount() {
+            return mChildFragments.length;
+        }
+
+        @Override
+        public CharSequence getPageTitle(int position) {
+            return mContext.getString(LABEL[convertPosition(position)]);
+        }
+    }
+
+    private static int convertPosition(int index) {
+        if (TextUtils.getLayoutDirectionFromLocale(Locale.getDefault())
+                == View.LAYOUT_DIRECTION_RTL) {
+            return LABEL.length - 1 - index;
+        }
+        return index;
+    }
+}
diff --git a/src/com/android/settings/dashboard/profileselector/ProfileSelectLocationFragment.java b/src/com/android/settings/dashboard/profileselector/ProfileSelectLocationFragment.java
new file mode 100644
index 0000000..0d7c4d0
--- /dev/null
+++ b/src/com/android/settings/dashboard/profileselector/ProfileSelectLocationFragment.java
@@ -0,0 +1,64 @@
+/*
+ * 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.dashboard.profileselector;
+
+import android.os.Bundle;
+
+import androidx.fragment.app.Fragment;
+
+import com.android.settings.R;
+import com.android.settings.SettingsActivity;
+import com.android.settings.location.LocationPersonalSettings;
+import com.android.settings.location.LocationSwitchBarController;
+import com.android.settings.location.LocationWorkProfileSettings;
+import com.android.settings.widget.SwitchBar;
+
+/**
+ * Location Setting page for personal/managed profile.
+ */
+public class ProfileSelectLocationFragment extends ProfileSelectFragment {
+
+    @Override
+    public void onActivityCreated(Bundle savedInstanceState) {
+        super.onActivityCreated(savedInstanceState);
+        final SettingsActivity activity = (SettingsActivity) getActivity();
+        final SwitchBar switchBar = activity.getSwitchBar();
+        switchBar.setSwitchBarText(R.string.location_settings_master_switch_title,
+                R.string.location_settings_master_switch_title);
+        final LocationSwitchBarController switchBarController = new LocationSwitchBarController(
+                activity, switchBar, getSettingsLifecycle());
+        switchBar.show();
+    }
+
+    @Override
+    public Fragment[] getFragments() {
+
+        final Bundle workOnly = new Bundle();
+        workOnly.putInt(EXTRA_PROFILE, ProfileSelectFragment.ProfileType.WORK);
+        final Fragment workFragment = new LocationWorkProfileSettings();
+        workFragment.setArguments(workOnly);
+
+        final Bundle personalOnly = new Bundle();
+        personalOnly.putInt(EXTRA_PROFILE, ProfileSelectFragment.ProfileType.PERSONAL);
+        final Fragment personalFragment = new LocationPersonalSettings();
+        personalFragment.setArguments(personalOnly);
+        return new Fragment[]{
+                personalFragment,
+                workFragment
+        };
+    }
+}
diff --git a/src/com/android/settings/dashboard/profileselector/ProfileSelectManageApplications.java b/src/com/android/settings/dashboard/profileselector/ProfileSelectManageApplications.java
new file mode 100644
index 0000000..17fed11
--- /dev/null
+++ b/src/com/android/settings/dashboard/profileselector/ProfileSelectManageApplications.java
@@ -0,0 +1,46 @@
+/*
+ * 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.dashboard.profileselector;
+
+import android.os.Bundle;
+
+import androidx.fragment.app.Fragment;
+
+import com.android.settings.applications.manageapplications.ManageApplications;
+
+/**
+ * Application Setting page for personal/managed profile.
+ */
+public class ProfileSelectManageApplications extends ProfileSelectFragment {
+
+    @Override
+    public Fragment[] getFragments() {
+        final Bundle workOnly = getArguments() != null ? getArguments().deepCopy() : new Bundle();
+        workOnly.putInt(EXTRA_PROFILE, ProfileSelectFragment.ProfileType.WORK);
+        final Fragment workFragment = new ManageApplications();
+        workFragment.setArguments(workOnly);
+
+        final Bundle personalOnly = getArguments() != null ? getArguments() : new Bundle();
+        personalOnly.putInt(EXTRA_PROFILE, ProfileSelectFragment.ProfileType.PERSONAL);
+        final Fragment personalFragment = new ManageApplications();
+        personalFragment.setArguments(personalOnly);
+        return new Fragment[]{
+                personalFragment, //0
+                workFragment
+        };
+    }
+}
diff --git a/src/com/android/settings/dashboard/profileselector/ProfileSelectRecentLocationRequestFragment.java b/src/com/android/settings/dashboard/profileselector/ProfileSelectRecentLocationRequestFragment.java
new file mode 100644
index 0000000..058ffe4
--- /dev/null
+++ b/src/com/android/settings/dashboard/profileselector/ProfileSelectRecentLocationRequestFragment.java
@@ -0,0 +1,46 @@
+/*
+ * 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.dashboard.profileselector;
+
+import android.os.Bundle;
+
+import androidx.fragment.app.Fragment;
+
+import com.android.settings.location.RecentLocationRequestSeeAllFragment;
+
+/**
+ * Recent location request page for personal/managed profile.
+ */
+public class ProfileSelectRecentLocationRequestFragment extends ProfileSelectFragment {
+
+    @Override
+    public Fragment[] getFragments() {
+        final Bundle workOnly = new Bundle();
+        workOnly.putInt(EXTRA_PROFILE, ProfileSelectFragment.ProfileType.WORK);
+        final Fragment workFragment = new RecentLocationRequestSeeAllFragment();
+        workFragment.setArguments(workOnly);
+
+        final Bundle personalOnly = new Bundle();
+        personalOnly.putInt(EXTRA_PROFILE, ProfileSelectFragment.ProfileType.PERSONAL);
+        final Fragment personalFragment = new RecentLocationRequestSeeAllFragment();
+        personalFragment.setArguments(personalOnly);
+        return new Fragment[]{
+                personalFragment, //0
+                workFragment
+        };
+    }
+}
diff --git a/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImpl.java b/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImpl.java
index 3590554..60a8c54 100644
--- a/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImpl.java
+++ b/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImpl.java
@@ -27,8 +27,8 @@
 import com.android.settings.biometrics.fingerprint.FingerprintEnrollSuggestionActivity;
 import com.android.settings.biometrics.fingerprint.FingerprintSuggestionActivity;
 import com.android.settings.display.NightDisplayPreferenceController;
-import com.android.settings.notification.ZenOnboardingActivity;
-import com.android.settings.notification.ZenSuggestionActivity;
+import com.android.settings.notification.zen.ZenOnboardingActivity;
+import com.android.settings.notification.zen.ZenSuggestionActivity;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.password.ScreenLockSuggestionActivity;
 import com.android.settings.wallpaper.StyleSuggestionActivity;
diff --git a/src/com/android/settings/datausage/AppDataUsagePreference.java b/src/com/android/settings/datausage/AppDataUsagePreference.java
index f5a204a..52e24ed 100644
--- a/src/com/android/settings/datausage/AppDataUsagePreference.java
+++ b/src/com/android/settings/datausage/AppDataUsagePreference.java
@@ -26,6 +26,8 @@
 import com.android.settingslib.utils.ThreadUtils;
 import com.android.settingslib.widget.apppreference.AppPreference;
 
+import java.text.NumberFormat;
+
 public class AppDataUsagePreference extends AppPreference {
 
     private final AppItem mItem;
@@ -66,6 +68,8 @@
             progress.setVisibility(View.VISIBLE);
         }
         progress.setProgress(mPercent);
+        progress.setContentDescription(
+                NumberFormat.getPercentInstance().format((double) mPercent / 100));
     }
 
     private void setAppInfo() {
diff --git a/src/com/android/settings/datausage/BillingCyclePreference.java b/src/com/android/settings/datausage/BillingCyclePreference.java
index 23c577c..47ef56b 100644
--- a/src/com/android/settings/datausage/BillingCyclePreference.java
+++ b/src/com/android/settings/datausage/BillingCyclePreference.java
@@ -26,27 +26,39 @@
 
 import com.android.settings.R;
 import com.android.settings.core.SubSettingLauncher;
-import com.android.settings.datausage.CellDataPreference.DataStateListener;
+import com.android.settings.network.MobileDataEnabledListener;
 
-public class BillingCyclePreference extends Preference implements TemplatePreference {
+/**
+ * Preference which displays billing cycle of subscription
+ */
+public class BillingCyclePreference extends Preference
+        implements TemplatePreference, MobileDataEnabledListener.Client {
 
     private NetworkTemplate mTemplate;
     private NetworkServices mServices;
     private int mSubId;
+    private MobileDataEnabledListener mListener;
 
+    /**
+     * Preference constructor
+     *
+     * @param context Context of preference
+     * @param arrts The attributes of the XML tag that is inflating the preference
+     */
     public BillingCyclePreference(Context context, AttributeSet attrs) {
         super(context, attrs);
+        mListener = new MobileDataEnabledListener(context, this);
     }
 
     @Override
     public void onAttached() {
         super.onAttached();
-        mListener.setListener(true, mSubId, getContext());
+        mListener.start(mSubId);
     }
 
     @Override
     public void onDetached() {
-        mListener.setListener(false, mSubId, getContext());
+        mListener.stop();
         super.onDetached();
     }
 
@@ -73,7 +85,7 @@
 
     @Override
     public Intent getIntent() {
-        Bundle args = new Bundle();
+        final Bundle args = new Bundle();
         args.putParcelable(DataUsageList.EXTRA_NETWORK_TEMPLATE, mTemplate);
         return new SubSettingLauncher(getContext())
                 .setDestination(BillingCycleSettings.class.getName())
@@ -83,10 +95,10 @@
                 .toIntent();
     }
 
-    private final DataStateListener mListener = new DataStateListener() {
-        @Override
-        public void onChange(boolean selfChange) {
-            updateEnabled();
-        }
-    };
+    /**
+     * Implementation of {@code MobileDataEnabledListener.Client}
+     */
+    public void onMobileDataEnabledChange() {
+        updateEnabled();
+    }
 }
diff --git a/src/com/android/settings/datausage/BillingCycleSettings.java b/src/com/android/settings/datausage/BillingCycleSettings.java
index 87b8198..5efd175 100644
--- a/src/com/android/settings/datausage/BillingCycleSettings.java
+++ b/src/com/android/settings/datausage/BillingCycleSettings.java
@@ -25,8 +25,6 @@
 import android.net.NetworkPolicy;
 import android.net.NetworkTemplate;
 import android.os.Bundle;
-import android.provider.SearchIndexableResource;
-import android.text.format.Time;
 import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
@@ -43,13 +41,11 @@
 import com.android.settings.R;
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
 import com.android.settingslib.NetworkPolicyEditor;
 import com.android.settingslib.net.DataUsageController;
 import com.android.settingslib.search.SearchIndexable;
 
-import java.util.ArrayList;
-import java.util.List;
+import java.util.TimeZone;
 
 @SearchIndexable
 public class BillingCycleSettings extends DataUsageBaseFragment implements
@@ -118,8 +114,6 @@
         mEnableDataLimit = (SwitchPreference) findPreference(KEY_SET_DATA_LIMIT);
         mEnableDataLimit.setOnPreferenceChangeListener(this);
         mDataLimit = findPreference(KEY_DATA_LIMIT);
-
-        mFooterPreferenceMixin.createFooterPreference().setTitle(R.string.data_warning_footnote);
     }
 
     @Override
@@ -156,12 +150,15 @@
     @Override
     public boolean onPreferenceTreeClick(Preference preference) {
         if (preference == mBillingCycle) {
+            writePreferenceClickMetric(preference);
             CycleEditorFragment.show(this);
             return true;
         } else if (preference == mDataWarning) {
+            writePreferenceClickMetric(preference);
             BytesEditorFragment.show(this, false);
             return true;
         } else if (preference == mDataLimit) {
+            writePreferenceClickMetric(preference);
             BytesEditorFragment.show(this, true);
             return true;
         }
@@ -405,7 +402,7 @@
             mCycleDayPicker.clearFocus();
 
             final int cycleDay = mCycleDayPicker.getValue();
-            final String cycleTimezone = new Time().timezone;
+            final String cycleTimezone = TimeZone.getDefault().getID();
             editor.setPolicyCycleDay(template, cycleDay, cycleTimezone);
             target.updateDataUsage();
         }
@@ -474,18 +471,8 @@
         }
     }
 
-    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
-                        boolean enabled) {
-                    final ArrayList<SearchIndexableResource> result = new ArrayList<>();
-
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.billing_cycle;
-                    result.add(sir);
-                    return result;
-                }
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.billing_cycle) {
 
                 @Override
                 protected boolean isPageSearchEnabled(Context context) {
diff --git a/src/com/android/settings/datausage/CellDataPreference.java b/src/com/android/settings/datausage/CellDataPreference.java
index af7e16e..4a49f33 100644
--- a/src/com/android/settings/datausage/CellDataPreference.java
+++ b/src/com/android/settings/datausage/CellDataPreference.java
@@ -17,14 +17,9 @@
 import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.content.DialogInterface;
-import android.database.ContentObserver;
 import android.net.NetworkTemplate;
-import android.net.Uri;
-import android.os.Handler;
-import android.os.Looper;
 import android.os.Parcel;
 import android.os.Parcelable;
-import android.provider.Settings.Global;
 import android.telephony.SubscriptionInfo;
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
@@ -39,34 +34,38 @@
 import androidx.preference.PreferenceViewHolder;
 
 import com.android.settings.R;
-import com.android.settings.Utils;
+import com.android.settings.network.MobileDataEnabledListener;
+import com.android.settings.network.ProxySubscriptionManager;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settingslib.CustomDialogPreferenceCompat;
 
-import java.util.List;
-
-public class CellDataPreference extends CustomDialogPreferenceCompat implements TemplatePreference {
+/**
+ * Preference of cellular data control within Data Usage
+ */
+public class CellDataPreference extends CustomDialogPreferenceCompat
+        implements TemplatePreference, MobileDataEnabledListener.Client {
 
     private static final String TAG = "CellDataPreference";
 
     public int mSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
     public boolean mChecked;
     public boolean mMultiSimDialog;
-    private TelephonyManager mTelephonyManager;
     @VisibleForTesting
-    SubscriptionManager mSubscriptionManager;
+    ProxySubscriptionManager mProxySubscriptionMgr;
+    private MobileDataEnabledListener mDataStateListener;
 
     public CellDataPreference(Context context, AttributeSet attrs) {
         super(context, attrs, TypedArrayUtils.getAttr(context,
                 androidx.preference.R.attr.switchPreferenceStyle,
                 android.R.attr.switchPreferenceStyle));
+        mProxySubscriptionMgr = ProxySubscriptionManager.getInstance(context);
+        mDataStateListener = new MobileDataEnabledListener(context, this);
     }
 
     @Override
     protected void onRestoreInstanceState(Parcelable s) {
-        CellDataState state = (CellDataState) s;
+        final CellDataState state = (CellDataState) s;
         super.onRestoreInstanceState(state.getSuperState());
-        mTelephonyManager = TelephonyManager.from(getContext());
         mChecked = state.mChecked;
         mMultiSimDialog = state.mMultiSimDialog;
         if (mSubId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
@@ -78,7 +77,7 @@
 
     @Override
     protected Parcelable onSaveInstanceState() {
-        CellDataState state = new CellDataState(super.onSaveInstanceState());
+        final CellDataState state = new CellDataState(super.onSaveInstanceState());
         state.mChecked = mChecked;
         state.mMultiSimDialog = mMultiSimDialog;
         state.mSubId = mSubId;
@@ -88,19 +87,14 @@
     @Override
     public void onAttached() {
         super.onAttached();
-        mDataStateListener.setListener(true, mSubId, getContext());
-        if (mSubscriptionManager!= null) {
-            mSubscriptionManager.addOnSubscriptionsChangedListener(mOnSubscriptionsChangeListener);
-        }
+        mDataStateListener.start(mSubId);
+        mProxySubscriptionMgr.addActiveSubscriptionsListener(mOnSubscriptionsChangeListener);
     }
 
     @Override
     public void onDetached() {
-        mDataStateListener.setListener(false, mSubId, getContext());
-        if (mSubscriptionManager!= null) {
-            mSubscriptionManager.removeOnSubscriptionsChangedListener(
-                    mOnSubscriptionsChangeListener);
-        }
+        mDataStateListener.stop();
+        mProxySubscriptionMgr.removeActiveSubscriptionsListener(mOnSubscriptionsChangeListener);
         super.onDetached();
     }
 
@@ -109,10 +103,9 @@
         if (subId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
             throw new IllegalArgumentException("CellDataPreference needs a SubscriptionInfo");
         }
-        mSubscriptionManager = SubscriptionManager.from(getContext());
-        mTelephonyManager = TelephonyManager.from(getContext());
 
-        mSubscriptionManager.addOnSubscriptionsChangedListener(mOnSubscriptionsChangeListener);
+        mProxySubscriptionMgr = ProxySubscriptionManager.getInstance(getContext());
+        mProxySubscriptionMgr.addActiveSubscriptionsListener(mOnSubscriptionsChangeListener);
 
         if (mSubId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
             mSubId = subId;
@@ -123,13 +116,13 @@
     }
 
     private void updateChecked() {
-        setChecked(mTelephonyManager.getDataEnabled(mSubId));
+        setChecked(getContext().getSystemService(TelephonyManager.class).getDataEnabled(mSubId));
     }
 
     private void updateEnabled() {
         // If this subscription is not active, for example, SIM card is taken out, we disable
         // the button.
-        setEnabled(mSubscriptionManager.getActiveSubscriptionInfo(mSubId) != null);
+        setEnabled(mProxySubscriptionMgr.getActiveSubscriptionInfo(mSubId) != null);
     }
 
     @Override
@@ -137,47 +130,25 @@
         final Context context = getContext();
         FeatureFactory.getFactory(context).getMetricsFeatureProvider()
                 .action(context, SettingsEnums.ACTION_CELL_DATA_TOGGLE, !mChecked);
-        final SubscriptionInfo currentSir = mSubscriptionManager.getActiveSubscriptionInfo(
+        final SubscriptionInfo currentSir = mProxySubscriptionMgr.getActiveSubscriptionInfo(
                 mSubId);
-        final SubscriptionInfo nextSir = mSubscriptionManager.getDefaultDataSubscriptionInfo();
+        final SubscriptionInfo nextSir = mProxySubscriptionMgr.getActiveSubscriptionInfo(
+                SubscriptionManager.getDefaultDataSubscriptionId());
         if (mChecked) {
-            // If the device is single SIM or is enabling data on the active data SIM then forgo
-            // the pop-up.
-            if (!Utils.showSimCardTile(getContext()) ||
-                    (nextSir != null && currentSir != null &&
-                            currentSir.getSubscriptionId() == nextSir.getSubscriptionId())) {
-                setMobileDataEnabled(false);
-                if (nextSir != null && currentSir != null &&
-                        currentSir.getSubscriptionId() == nextSir.getSubscriptionId()) {
-                    disableDataForOtherSubscriptions(mSubId);
-                }
-                return;
+            setMobileDataEnabled(false);
+            if (nextSir != null && currentSir != null
+                    && currentSir.getSubscriptionId() == nextSir.getSubscriptionId()) {
+                disableDataForOtherSubscriptions(mSubId);
             }
-            // disabling data; show confirmation dialog which eventually
-            // calls setMobileDataEnabled() once user confirms.
-            mMultiSimDialog = false;
-            super.performClick(view);
         } else {
-            // If we are showing the Sim Card tile then we are a Multi-Sim device.
-            if (Utils.showSimCardTile(getContext())) {
-                mMultiSimDialog = true;
-                if (nextSir != null && currentSir != null &&
-                        currentSir.getSubscriptionId() == nextSir.getSubscriptionId()) {
-                    setMobileDataEnabled(true);
-                    disableDataForOtherSubscriptions(mSubId);
-                    return;
-                }
-                super.performClick(view);
-            } else {
-                setMobileDataEnabled(true);
-            }
+            setMobileDataEnabled(true);
         }
     }
 
     private void setMobileDataEnabled(boolean enabled) {
         if (DataUsageSummary.LOGD) Log.d(TAG, "setMobileDataEnabled(" + enabled + ","
                 + mSubId + ")");
-        mTelephonyManager.setDataEnabled(mSubId, enabled);
+        getContext().getSystemService(TelephonyManager.class).setDataEnabled(mSubId, enabled);
         setChecked(enabled);
     }
 
@@ -190,7 +161,7 @@
     @Override
     public void onBindViewHolder(PreferenceViewHolder holder) {
         super.onBindViewHolder(holder);
-        View switchView = holder.findViewById(android.R.id.switch_widget);
+        final View switchView = holder.findViewById(android.R.id.switch_widget);
         switchView.setClickable(false);
         ((Checkable) switchView).setChecked(mChecked);
     }
@@ -215,8 +186,10 @@
 
     private void showMultiSimDialog(Builder builder,
             DialogInterface.OnClickListener listener) {
-        final SubscriptionInfo currentSir = mSubscriptionManager.getActiveSubscriptionInfo(mSubId);
-        final SubscriptionInfo nextSir = mSubscriptionManager.getDefaultDataSubscriptionInfo();
+        final SubscriptionInfo currentSir = mProxySubscriptionMgr.getActiveSubscriptionInfo(
+                mSubId);
+        final SubscriptionInfo nextSir = mProxySubscriptionMgr.getActiveSubscriptionInfo(
+                SubscriptionManager.getDefaultDataSubscriptionId());
 
         final String previousName = (nextSir == null)
             ? getContext().getResources().getString(R.string.sim_selection_required_pref)
@@ -232,14 +205,10 @@
     }
 
     private void disableDataForOtherSubscriptions(int subId) {
-        List<SubscriptionInfo> subInfoList = mSubscriptionManager
-                .getActiveSubscriptionInfoList(true);
-        if (subInfoList != null) {
-            for (SubscriptionInfo subInfo : subInfoList) {
-                if (subInfo.getSubscriptionId() != subId) {
-                    mTelephonyManager.setDataEnabled(subInfo.getSubscriptionId(), false);
-                }
-            }
+        final SubscriptionInfo subInfo = mProxySubscriptionMgr.getActiveSubscriptionInfo(
+                subId);
+        if (subInfo != null) {
+            getContext().getSystemService(TelephonyManager.class).setDataEnabled(subId, false);
         }
     }
 
@@ -249,7 +218,7 @@
             return;
         }
         if (mMultiSimDialog) {
-            mSubscriptionManager.setDefaultDataSubId(mSubId);
+            mProxySubscriptionMgr.get().setDefaultDataSubId(mSubId);
             setMobileDataEnabled(true);
             disableDataForOtherSubscriptions(mSubId);
         } else {
@@ -259,40 +228,23 @@
     }
 
     @VisibleForTesting
-    final SubscriptionManager.OnSubscriptionsChangedListener mOnSubscriptionsChangeListener
-            = new SubscriptionManager.OnSubscriptionsChangedListener() {
-        @Override
-        public void onSubscriptionsChanged() {
-            if (DataUsageSummary.LOGD) {
-                Log.d(TAG, "onSubscriptionsChanged");
-            }
-            updateEnabled();
-        }
-    };
-
-    private final DataStateListener mDataStateListener = new DataStateListener() {
-        @Override
-        public void onChange(boolean selfChange) {
-            updateChecked();
-        }
-    };
-
-    public abstract static class DataStateListener extends ContentObserver {
-        public DataStateListener() {
-            super(new Handler(Looper.getMainLooper()));
-        }
-
-        public void setListener(boolean listening, int subId, Context context) {
-            if (listening) {
-                Uri uri = Global.getUriFor(Global.MOBILE_DATA);
-                if (TelephonyManager.getDefault().getSimCount() != 1) {
-                    uri = Global.getUriFor(Global.MOBILE_DATA + subId);
+    final ProxySubscriptionManager.OnActiveSubscriptionChangedListener
+            mOnSubscriptionsChangeListener =
+            new ProxySubscriptionManager.OnActiveSubscriptionChangedListener() {
+                public void onChanged() {
+                    if (DataUsageSummary.LOGD) {
+                        Log.d(TAG, "onSubscriptionsChanged");
+                    }
+                    updateEnabled();
                 }
-                context.getContentResolver().registerContentObserver(uri, false, this);
-            } else {
-                context.getContentResolver().unregisterContentObserver(this);
-            }
-        }
+            };
+
+    /**
+     * Implementation of {@code MobileDataEnabledListener.Client}
+    */
+    @VisibleForTesting
+    public void onMobileDataEnabledChange() {
+        updateChecked();
     }
 
     public static class CellDataState extends BaseSavedState {
diff --git a/src/com/android/settings/datausage/ChartDataUsagePreference.java b/src/com/android/settings/datausage/ChartDataUsagePreference.java
index 17f23c4..6c845a9 100644
--- a/src/com/android/settings/datausage/ChartDataUsagePreference.java
+++ b/src/com/android/settings/datausage/ChartDataUsagePreference.java
@@ -15,10 +15,12 @@
 package com.android.settings.datausage;
 
 import android.content.Context;
+import android.content.res.Resources;
 import android.net.NetworkPolicy;
 import android.net.TrafficStats;
 import android.text.SpannableStringBuilder;
 import android.text.TextUtils;
+import android.text.format.DateUtils;
 import android.text.format.Formatter;
 import android.text.style.ForegroundColorSpan;
 import android.util.AttributeSet;
@@ -34,7 +36,11 @@
 import com.android.settingslib.net.NetworkCycleChartData;
 import com.android.settingslib.net.NetworkCycleData;
 
+import java.util.ArrayList;
+import java.util.Comparator;
 import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 public class ChartDataUsagePreference extends Preference {
 
@@ -45,6 +51,7 @@
     private final int mWarningColor;
     private final int mLimitColor;
 
+    private Resources mResources;
     private NetworkPolicy mPolicy;
     private long mStart;
     private long mEnd;
@@ -54,6 +61,7 @@
 
     public ChartDataUsagePreference(Context context, AttributeSet attrs) {
         super(context, attrs);
+        mResources = context.getResources();
         setSelectable(false);
         mLimitColor = Utils.getColorAttrDefaultColor(context, android.R.attr.colorError);
         mWarningColor = Utils.getColorAttrDefaultColor(context, android.R.attr.textColorSecondary);
@@ -72,6 +80,7 @@
         chart.clearPaths();
         chart.configureGraph(toInt(mEnd - mStart), top);
         calcPoints(chart, mNetworkCycleChartData.getUsageBuckets());
+        setupContentDescription(chart, mNetworkCycleChartData.getUsageBuckets());
         chart.setBottomLabels(new CharSequence[] {
                 Utils.formatDateRange(getContext(), mStart, mStart),
                 Utils.formatDateRange(getContext(), mEnd, mEnd),
@@ -118,6 +127,130 @@
         }
     }
 
+    private void setupContentDescription(UsageView chart, List<NetworkCycleData> usageSummary) {
+        final Context context = getContext();
+        final StringBuilder contentDescription = new StringBuilder();
+        final int flags = DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_ABBREV_MONTH;
+
+        // Setup a brief content description.
+        final String startDate = DateUtils.formatDateTime(context, mStart, flags);
+        final String endDate = DateUtils.formatDateTime(context, mEnd, flags);
+        final String briefContentDescription = mResources
+                .getString(R.string.data_usage_chart_brief_content_description, startDate, endDate);
+        contentDescription.append(briefContentDescription);
+
+        if (usageSummary == null || usageSummary.isEmpty()) {
+            final String noDataContentDescription = mResources
+                    .getString(R.string.data_usage_chart_no_data_content_description);
+            contentDescription.append(noDataContentDescription);
+            chart.setContentDescription(contentDescription);
+            return;
+        }
+
+        // Append more detailed stats.
+        String nodeDate;
+        String nodeContentDescription;
+        final List<DataUsageSummaryNode> densedStatsData = getDensedStatsData(usageSummary);
+        for (DataUsageSummaryNode data : densedStatsData) {
+            final int dataUsagePercentage = data.getDataUsagePercentage();
+            if (!data.isFromMultiNode() || dataUsagePercentage == 100) {
+                nodeDate = DateUtils.formatDateTime(context, data.getStartTime(), flags);
+            } else {
+                nodeDate = DateUtils.formatDateRange(context, data.getStartTime(),
+                        data.getEndTime(), flags);
+            }
+            nodeContentDescription = String.format(";%s %d%%", nodeDate, dataUsagePercentage);
+
+            contentDescription.append(nodeContentDescription);
+        }
+
+        chart.setContentDescription(contentDescription);
+    }
+
+    /**
+     * To avoid wordy data, e.g., Aug 2: 0%; Aug 3: 0%;...Aug 22: 0%; Aug 23: 2%.
+     * Collect the date of the same percentage, e.g., Aug 2 to Aug 22: 0%; Aug 23: 2%.
+     */
+    @VisibleForTesting
+    List<DataUsageSummaryNode> getDensedStatsData(List<NetworkCycleData> usageSummary) {
+        final List<DataUsageSummaryNode> dataUsageSummaryNodes = new ArrayList<>();
+        final long overallDataUsage = usageSummary.stream()
+                .mapToLong(NetworkCycleData::getTotalUsage).sum();
+        long cumulatedDataUsage = 0L;
+        int cumulatedDataUsagePercentage = 0;
+
+        // Collect List of DataUsageSummaryNode for data usage percentage information.
+        for (NetworkCycleData data : usageSummary) {
+            cumulatedDataUsage += data.getTotalUsage();
+            cumulatedDataUsagePercentage = (int) ((cumulatedDataUsage * 100) / overallDataUsage);
+
+            final DataUsageSummaryNode node = new DataUsageSummaryNode(data.getStartTime(),
+                    data.getEndTime(), cumulatedDataUsagePercentage);
+            dataUsageSummaryNodes.add(node);
+        }
+
+        // Group nodes of the same data usage percentage.
+        final Map<Integer, List<DataUsageSummaryNode>> nodesByDataUsagePercentage
+                = dataUsageSummaryNodes.stream().collect(
+                        Collectors.groupingBy(DataUsageSummaryNode::getDataUsagePercentage));
+
+        // Collect densed nodes from collection of the same  data usage percentage
+        final List<DataUsageSummaryNode> densedNodes = new ArrayList<>();
+        nodesByDataUsagePercentage.forEach((percentage, nodes) -> {
+            final long startTime = nodes.stream().mapToLong(DataUsageSummaryNode::getStartTime)
+                    .min().getAsLong();
+            final long endTime = nodes.stream().mapToLong(DataUsageSummaryNode::getEndTime)
+                    .max().getAsLong();
+
+            final DataUsageSummaryNode densedNode = new DataUsageSummaryNode(
+                    startTime, endTime, percentage);
+            if (nodes.size() > 1) {
+                densedNode.setFromMultiNode(true /* isFromMultiNode */);
+            }
+
+            densedNodes.add(densedNode);
+        });
+
+        return densedNodes.stream()
+                .sorted(Comparator.comparingInt(DataUsageSummaryNode::getDataUsagePercentage))
+                .collect(Collectors.toList());
+    }
+
+    @VisibleForTesting
+    class DataUsageSummaryNode {
+        private long mStartTime;
+        private long mEndTime;
+        private int mDataUsagePercentage;
+        private boolean mIsFromMultiNode;
+
+        public DataUsageSummaryNode(long startTime, long endTime, int dataUsagePercentage) {
+            mStartTime = startTime;
+            mEndTime = endTime;
+            mDataUsagePercentage = dataUsagePercentage;
+            mIsFromMultiNode = false;
+        }
+
+        public long getStartTime() {
+            return mStartTime;
+        }
+
+        public long getEndTime() {
+            return mEndTime;
+        }
+
+        public int getDataUsagePercentage() {
+            return mDataUsagePercentage;
+        }
+
+        public void setFromMultiNode(boolean isFromMultiNode) {
+            mIsFromMultiNode = isFromMultiNode;
+        }
+
+        public boolean isFromMultiNode() {
+            return mIsFromMultiNode;
+        }
+    }
+
     private int toInt(long l) {
         // Don't need that much resolution on these times.
         return (int) (l / (1000 * 60));
@@ -151,8 +284,8 @@
     }
 
     private CharSequence getLabel(long bytes, int str, int mLimitColor) {
-        Formatter.BytesResult result = Formatter.formatBytes(getContext().getResources(),
-                bytes, Formatter.FLAG_SHORTER | Formatter.FLAG_IEC_UNITS);
+        Formatter.BytesResult result = Formatter.formatBytes(mResources, bytes,
+                Formatter.FLAG_SHORTER | Formatter.FLAG_IEC_UNITS);
         CharSequence label = TextUtils.expandTemplate(getContext().getText(str),
                 result.value, result.units);
         return new SpannableStringBuilder().append(label, new ForegroundColorSpan(mLimitColor), 0);
diff --git a/src/com/android/settings/datausage/DataSaverBackend.java b/src/com/android/settings/datausage/DataSaverBackend.java
index de28b07..92b2ef9 100644
--- a/src/com/android/settings/datausage/DataSaverBackend.java
+++ b/src/com/android/settings/datausage/DataSaverBackend.java
@@ -23,6 +23,7 @@
 import android.net.INetworkPolicyListener;
 import android.net.NetworkPolicyManager;
 import android.os.RemoteException;
+import android.telephony.SubscriptionPlan;
 import android.util.SparseIntArray;
 
 import com.android.settings.overlay.FeatureFactory;
@@ -201,6 +202,10 @@
         @Override
         public void onSubscriptionOverride(int subId, int overrideMask, int overrideValue) {
         }
+
+        @Override
+        public void onSubscriptionPlansChanged(int subId, SubscriptionPlan[] plans) {
+        }
     };
 
     public interface Listener {
diff --git a/src/com/android/settings/datausage/DataSaverSummary.java b/src/com/android/settings/datausage/DataSaverSummary.java
index 1ab8c79..0e32bfd 100644
--- a/src/com/android/settings/datausage/DataSaverSummary.java
+++ b/src/com/android/settings/datausage/DataSaverSummary.java
@@ -18,7 +18,6 @@
 import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.os.Bundle;
-import android.provider.SearchIndexableResource;
 import android.telephony.SubscriptionManager;
 import android.widget.Switch;
 
@@ -30,7 +29,6 @@
 import com.android.settings.applications.AppStateBaseBridge.Callback;
 import com.android.settings.datausage.DataSaverBackend.Listener;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
 import com.android.settings.widget.SwitchBar;
 import com.android.settings.widget.SwitchBar.OnSwitchChangeListener;
 import com.android.settingslib.applications.ApplicationsState;
@@ -40,7 +38,6 @@
 import com.android.settingslib.search.SearchIndexable;
 
 import java.util.ArrayList;
-import java.util.List;
 
 @SearchIndexable
 public class DataSaverSummary extends SettingsPreferenceFragment
@@ -63,8 +60,6 @@
         super.onCreate(icicle);
 
         addPreferencesFromResource(R.xml.data_saver);
-        mFooterPreferenceMixin.createFooterPreference()
-                .setTitle(com.android.internal.R.string.data_saver_description);
         mUnrestrictedAccess = findPreference(KEY_UNRESTRICTED_ACCESS);
         mApplicationsState = ApplicationsState.getInstance(
                 (Application) getContext().getApplicationContext());
@@ -199,18 +194,8 @@
 
     }
 
-    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
-                        boolean enabled) {
-                    final ArrayList<SearchIndexableResource> result = new ArrayList<>();
-
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.data_saver;
-                    result.add(sir);
-                    return result;
-                }
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.data_saver) {
 
                 @Override
                 protected boolean isPageSearchEnabled(Context context) {
diff --git a/src/com/android/settings/datausage/DataUsageBaseFragment.java b/src/com/android/settings/datausage/DataUsageBaseFragment.java
index f6e88cc..299ce43 100644
--- a/src/com/android/settings/datausage/DataUsageBaseFragment.java
+++ b/src/com/android/settings/datausage/DataUsageBaseFragment.java
@@ -51,7 +51,7 @@
 
         services.mPolicyEditor = new NetworkPolicyEditor(services.mPolicyManager);
 
-        services.mTelephonyManager = TelephonyManager.from(context);
+        services.mTelephonyManager = context.getSystemService(TelephonyManager.class);
         services.mSubscriptionManager = SubscriptionManager.from(context);
         services.mUserManager = UserManager.get(context);
     }
diff --git a/src/com/android/settings/datausage/DataUsageList.java b/src/com/android/settings/datausage/DataUsageList.java
index f477ba3..8db32e9 100644
--- a/src/com/android/settings/datausage/DataUsageList.java
+++ b/src/com/android/settings/datausage/DataUsageList.java
@@ -39,7 +39,6 @@
 import android.provider.Settings;
 import android.telephony.SubscriptionInfo;
 import android.telephony.SubscriptionManager;
-import android.telephony.TelephonyManager;
 import android.util.Log;
 import android.util.SparseArray;
 import android.view.View;
@@ -57,6 +56,8 @@
 import com.android.settings.R;
 import com.android.settings.core.SubSettingLauncher;
 import com.android.settings.datausage.CycleAdapter.SpinnerInterface;
+import com.android.settings.network.MobileDataEnabledListener;
+import com.android.settings.network.ProxySubscriptionManager;
 import com.android.settings.widget.LoadingViewController;
 import com.android.settingslib.AppItem;
 import com.android.settingslib.net.NetworkCycleChartData;
@@ -72,7 +73,8 @@
  * Panel showing data usage history across various networks, including options
  * to inspect based on usage cycle and control through {@link NetworkPolicy}.
  */
-public class DataUsageList extends DataUsageBaseFragment {
+public class DataUsageList extends DataUsageBaseFragment
+        implements MobileDataEnabledListener.Client {
 
     static final String EXTRA_SUB_ID = "sub_id";
     static final String EXTRA_NETWORK_TEMPLATE = "network_template";
@@ -88,16 +90,13 @@
     private static final String KEY_APP = "app";
     private static final String KEY_FIELDS = "fields";
 
-    private static final int LOADER_CHART_DATA = 2;
-    private static final int LOADER_SUMMARY = 3;
+    @VisibleForTesting
+    static final int LOADER_CHART_DATA = 2;
+    @VisibleForTesting
+    static final int LOADER_SUMMARY = 3;
 
-    private final CellDataPreference.DataStateListener mDataStateListener =
-            new CellDataPreference.DataStateListener() {
-                @Override
-                public void onChange(boolean selfChange) {
-                    updatePolicy();
-                }
-            };
+    @VisibleForTesting
+    MobileDataEnabledListener mDataStateListener;
 
     @VisibleForTesting
     NetworkTemplate mTemplate;
@@ -111,7 +110,6 @@
     LoadingViewController mLoadingViewController;
 
     private ChartDataUsagePreference mChart;
-    private TelephonyManager mTelephonyManager;
     private List<NetworkCycleChartData> mCycleData;
     private ArrayList<Long> mCycles;
     private UidDetailProvider mUidDetailProvider;
@@ -133,14 +131,15 @@
         if (!isBandwidthControlEnabled()) {
             Log.w(TAG, "No bandwidth control; leaving");
             activity.finish();
+            return;
         }
 
         mUidDetailProvider = new UidDetailProvider(activity);
-        mTelephonyManager = activity.getSystemService(TelephonyManager.class);
         mUsageAmount = findPreference(KEY_USAGE_AMOUNT);
         mChart = findPreference(KEY_CHART_DATA);
         mApps = findPreference(KEY_APPS_GROUP);
         processArgument();
+        mDataStateListener = new MobileDataEnabledListener(activity, this);
     }
 
     @Override
@@ -190,14 +189,24 @@
     @Override
     public void onResume() {
         super.onResume();
-        mDataStateListener.setListener(true, mSubId, getContext());
+        mDataStateListener.start(mSubId);
+
+        // kick off loader for network history
+        // TODO: consider chaining two loaders together instead of reloading
+        // network history when showing app detail.
+        getLoaderManager().restartLoader(LOADER_CHART_DATA,
+                buildArgs(mTemplate), mNetworkCycleDataCallbacks);
+
         updateBody();
     }
 
     @Override
     public void onPause() {
         super.onPause();
-        mDataStateListener.setListener(false, mSubId, getContext());
+        mDataStateListener.stop();
+
+        getLoaderManager().destroyLoader(LOADER_CHART_DATA);
+        getLoaderManager().destroyLoader(LOADER_SUMMARY);
     }
 
     @Override
@@ -234,6 +243,13 @@
     }
 
     /**
+     * Implementation of {@code MobileDataEnabledListener.Client}
+     */
+    public void onMobileDataEnabledChange() {
+        updatePolicy();
+    }
+
+    /**
      * Update body content based on current tab. Loads network cycle data from system, and
      * binds them to visible controls.
      */
@@ -242,18 +258,12 @@
 
         final Context context = getActivity();
 
-        // kick off loader for network history
-        // TODO: consider chaining two loaders together instead of reloading
-        // network history when showing app detail.
-        getLoaderManager().restartLoader(LOADER_CHART_DATA,
-                buildArgs(mTemplate), mNetworkCycleDataCallbacks);
-
         // detail mode can change visible menus, invalidate
         getActivity().invalidateOptionsMenu();
 
         int seriesColor = context.getColor(R.color.sim_noitification);
         if (mSubId != SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
-            final SubscriptionInfo sir = services.mSubscriptionManager
+            final SubscriptionInfo sir = ProxySubscriptionManager.getInstance(context)
                     .getActiveSubscriptionInfo(mSubId);
 
             if (sir != null) {
@@ -400,7 +410,7 @@
         Collections.sort(items);
         for (int i = 0; i < items.size(); i++) {
             final int percentTotal = largest != 0 ? (int) (items.get(i).total * 100 / largest) : 0;
-            AppDataUsagePreference preference = new AppDataUsagePreference(getContext(),
+            final AppDataUsagePreference preference = new AppDataUsagePreference(getContext(),
                     items.get(i), percentTotal, mUidDetailProvider);
             preference.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
                 @Override
diff --git a/src/com/android/settings/datausage/DataUsageSummary.java b/src/com/android/settings/datausage/DataUsageSummary.java
index 6597ecb..1a83800 100644
--- a/src/com/android/settings/datausage/DataUsageSummary.java
+++ b/src/com/android/settings/datausage/DataUsageSummary.java
@@ -21,7 +21,6 @@
 import android.os.Bundle;
 import android.telephony.SubscriptionInfo;
 import android.telephony.SubscriptionManager;
-import android.telephony.SubscriptionPlan;
 import android.text.BidiFormatter;
 import android.text.Spannable;
 import android.text.SpannableString;
@@ -34,11 +33,9 @@
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.R;
-import com.android.settings.Utils;
-import com.android.settings.dashboard.SummaryLoader;
+import com.android.settings.network.ProxySubscriptionManager;
 import com.android.settingslib.NetworkPolicyEditor;
 import com.android.settingslib.core.AbstractPreferenceController;
-import com.android.settingslib.net.DataUsageController;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -69,6 +66,7 @@
     private DataUsageSummaryPreference mSummaryPreference;
     private DataUsageSummaryPreferenceController mSummaryController;
     private NetworkTemplate mDefaultTemplate;
+    private ProxySubscriptionManager mProxySubscriptionMgr;
 
     @Override
     public int getHelpResource() {
@@ -80,6 +78,11 @@
         super.onCreate(icicle);
         Context context = getContext();
 
+        // Enable ProxySubscriptionMgr with Lifecycle support for all controllers
+        // live within this fragment
+        mProxySubscriptionMgr = ProxySubscriptionManager.getInstance(context);
+        mProxySubscriptionMgr.setLifecycle(getLifecycle());
+
         boolean hasMobileData = DataUsageUtils.hasMobileData(context);
 
         final int defaultSubId = SubscriptionManager.getDefaultDataSubscriptionId();
@@ -250,77 +253,4 @@
         updateState();
         mSummaryController.updateState(mSummaryPreference);
     }
-
-    private static class SummaryProvider
-            implements SummaryLoader.SummaryProvider {
-
-        private final Activity mActivity;
-        private final SummaryLoader mSummaryLoader;
-        private final DataUsageController mDataController;
-
-        public SummaryProvider(Activity activity, SummaryLoader summaryLoader) {
-            mActivity = activity;
-            mSummaryLoader = summaryLoader;
-            mDataController = new DataUsageController(activity);
-        }
-
-        @Override
-        public void setListening(boolean listening) {
-            if (listening) {
-                if (DataUsageUtils.hasSim(mActivity)) {
-                    mSummaryLoader.setSummary(this,
-                            mActivity.getString(R.string.data_usage_summary_format,
-                                    formatUsedData()));
-                } else {
-                    final DataUsageController.DataUsageInfo info =
-                            mDataController.getWifiDataUsageInfo();
-
-                    if (info == null) {
-                        mSummaryLoader.setSummary(this, null);
-                    } else {
-                        final CharSequence wifiFormat = mActivity
-                                .getText(R.string.data_usage_wifi_format);
-                        final CharSequence sizeText =
-                                DataUsageUtils.formatDataUsage(mActivity, info.usageLevel);
-                        mSummaryLoader.setSummary(this,
-                                TextUtils.expandTemplate(wifiFormat, sizeText));
-                    }
-                }
-            }
-        }
-
-        private CharSequence formatUsedData() {
-            SubscriptionManager subscriptionManager = (SubscriptionManager) mActivity
-                .getSystemService(Context.TELEPHONY_SUBSCRIPTION_SERVICE);
-            int defaultSubId = subscriptionManager.getDefaultSubscriptionId();
-            if (defaultSubId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
-                return formatFallbackData();
-            }
-            SubscriptionPlan dfltPlan = DataUsageSummaryPreferenceController
-                    .getPrimaryPlan(subscriptionManager, defaultSubId);
-            if (dfltPlan == null) {
-                return formatFallbackData();
-            }
-            if (DataUsageSummaryPreferenceController.unlimited(dfltPlan.getDataLimitBytes())) {
-                return DataUsageUtils.formatDataUsage(mActivity, dfltPlan.getDataUsageBytes());
-            } else {
-                return Utils.formatPercentage(dfltPlan.getDataUsageBytes(),
-                    dfltPlan.getDataLimitBytes());
-            }
-        }
-
-        private CharSequence formatFallbackData() {
-            DataUsageController.DataUsageInfo info = mDataController.getDataUsageInfo();
-            if (info == null) {
-                return DataUsageUtils.formatDataUsage(mActivity, 0);
-            } else if (info.limitLevel <= 0) {
-                return DataUsageUtils.formatDataUsage(mActivity, info.usageLevel);
-            } else {
-                return Utils.formatPercentage(info.usageLevel, info.limitLevel);
-            }
-        }
-    }
-
-    public static final SummaryLoader.SummaryProviderFactory SUMMARY_PROVIDER_FACTORY
-        = SummaryProvider::new;
 }
diff --git a/src/com/android/settings/datausage/DataUsageSummaryPreferenceController.java b/src/com/android/settings/datausage/DataUsageSummaryPreferenceController.java
index 600b9e8..bfe78e5 100644
--- a/src/com/android/settings/datausage/DataUsageSummaryPreferenceController.java
+++ b/src/com/android/settings/datausage/DataUsageSummaryPreferenceController.java
@@ -19,8 +19,11 @@
 import android.app.Activity;
 import android.content.Context;
 import android.content.Intent;
+import android.content.pm.PackageManager;
+import android.net.INetworkPolicyManager;
 import android.net.NetworkPolicyManager;
 import android.net.NetworkTemplate;
+import android.os.ServiceManager;
 import android.telephony.SubscriptionInfo;
 import android.telephony.SubscriptionManager;
 import android.telephony.SubscriptionPlan;
@@ -37,6 +40,7 @@
 import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
 import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settings.network.ProxySubscriptionManager;
 import com.android.settings.widget.EntityHeaderController;
 import com.android.settingslib.NetworkPolicyEditor;
 import com.android.settingslib.core.lifecycle.Lifecycle;
@@ -114,8 +118,8 @@
         NetworkPolicyManager policyManager = activity.getSystemService(NetworkPolicyManager.class);
         mPolicyEditor = new NetworkPolicyEditor(policyManager);
 
-        mHasMobileData = DataUsageUtils.hasMobileData(activity)
-                && mSubscriptionId != SubscriptionManager.INVALID_SUBSCRIPTION_ID;
+        mHasMobileData = SubscriptionManager.isValidSubscriptionId(mSubscriptionId)
+                && DataUsageUtils.hasMobileData(activity);
 
         mDataUsageController = new DataUsageController(activity);
         mDataUsageController.setSubscriptionId(mSubscriptionId);
@@ -267,11 +271,10 @@
         mCycleEnd = info.cycleEnd;
         mSnapshotTime = -1L;
 
-        SubscriptionInfo subInfo = mSubscriptionManager.getActiveSubscriptionInfo(mSubscriptionId);
-        if (subInfo == null) {
-            subInfo = mSubscriptionManager.getAllSubscriptionInfoList().stream().filter(
-                    i -> i.getSubscriptionId() == mSubscriptionId).findFirst().orElse(null);
-        }
+        final ProxySubscriptionManager proxySubsciptionMgr =
+                ProxySubscriptionManager.getInstance(mContext);
+        final SubscriptionInfo subInfo = proxySubsciptionMgr
+                .getAccessibleSubscriptionInfo(mSubscriptionId);
         if (subInfo != null && mHasMobileData) {
             mCarrierName = subInfo.getCarrierName();
             List<SubscriptionPlan> plans = mSubscriptionManager.getSubscriptionPlans(
@@ -296,12 +299,51 @@
                 mSnapshotTime = primaryPlan.getDataUsageTime();
             }
         }
-        mManageSubscriptionIntent =
-                mSubscriptionManager.createManageSubscriptionIntent(mSubscriptionId);
+        mManageSubscriptionIntent = createManageSubscriptionIntent(mSubscriptionId);
         Log.i(TAG, "Have " + mDataplanCount + " plans, dflt sub-id " + mSubscriptionId
                 + ", intent " + mManageSubscriptionIntent);
     }
 
+    /**
+     * Create an {@link Intent} that can be launched towards the carrier app
+     * that is currently defining the billing relationship plan through
+     * {@link INetworkPolicyManager#setSubscriptionPlans(int, SubscriptionPlan [], String)}.
+     *
+     * @return ready to launch Intent targeted towards the carrier app, or
+     *         {@code null} if no carrier app is defined, or if the defined
+     *         carrier app provides no management activity.
+     */
+    private Intent createManageSubscriptionIntent(int subId) {
+        final INetworkPolicyManager iNetPolicyManager = INetworkPolicyManager.Stub.asInterface(
+                ServiceManager.getService(Context.NETWORK_POLICY_SERVICE));
+        String owner = "";
+        try {
+            owner = iNetPolicyManager.getSubscriptionPlansOwner(subId);
+        } catch (Exception ex) {
+            Log.w(TAG, "Fail to get subscription plan owner for subId " + subId, ex);
+        }
+
+        if (TextUtils.isEmpty(owner)) {
+            return null;
+        }
+
+        final List<SubscriptionPlan> plans = mSubscriptionManager.getSubscriptionPlans(subId);
+        if (plans.isEmpty()) {
+            return null;
+        }
+
+        final Intent intent = new Intent(SubscriptionManager.ACTION_MANAGE_SUBSCRIPTION_PLANS);
+        intent.setPackage(owner);
+        intent.putExtra(SubscriptionManager.EXTRA_SUBSCRIPTION_INDEX, subId);
+
+        if (mActivity.getPackageManager().queryIntentActivities(intent,
+                PackageManager.MATCH_DEFAULT_ONLY).isEmpty()) {
+            return null;
+        }
+
+        return intent;
+    }
+
     public static SubscriptionPlan getPrimaryPlan(SubscriptionManager subManager, int primaryId) {
         List<SubscriptionPlan> plans = subManager.getSubscriptionPlans(primaryId);
         if (CollectionUtils.isEmpty(plans)) {
diff --git a/src/com/android/settings/datausage/DataUsageUtils.java b/src/com/android/settings/datausage/DataUsageUtils.java
index bc9499b..02bfda8 100644
--- a/src/com/android/settings/datausage/DataUsageUtils.java
+++ b/src/com/android/settings/datausage/DataUsageUtils.java
@@ -33,7 +33,8 @@
 import android.text.format.Formatter.BytesResult;
 import android.util.Log;
 
-import java.util.ArrayList;
+import com.android.settings.network.ProxySubscriptionManager;
+
 import java.util.List;
 
 /**
@@ -67,12 +68,12 @@
             return SystemProperties.get(DataUsageUtils.TEST_RADIOS_PROP).contains(ETHERNET);
         }
 
-        final ConnectivityManager conn = ConnectivityManager.from(context);
+        final ConnectivityManager conn = context.getSystemService(ConnectivityManager.class);
         if (!conn.isNetworkSupported(ConnectivityManager.TYPE_ETHERNET)) {
             return false;
         }
 
-        final TelephonyManager telephonyManager = TelephonyManager.from(context);
+        final TelephonyManager telephonyManager = context.getSystemService(TelephonyManager.class);
         final NetworkStatsManager networkStatsManager =
                 context.getSystemService(NetworkStatsManager.class);
         boolean hasEthernetUsage = false;
@@ -94,7 +95,8 @@
      * TODO: This is the opposite to Utils.isWifiOnly(), it should be refactored into 1 method.
      */
     public static boolean hasMobileData(Context context) {
-        ConnectivityManager connectivityManager = ConnectivityManager.from(context);
+        final ConnectivityManager connectivityManager =
+                context.getSystemService(ConnectivityManager.class);
         return connectivityManager != null && connectivityManager
                 .isNetworkSupported(ConnectivityManager.TYPE_MOBILE);
     }
@@ -107,7 +109,8 @@
             return SystemProperties.get(DataUsageUtils.TEST_RADIOS_PROP).contains("mobile");
         }
         final List<SubscriptionInfo> subInfoList =
-                SubscriptionManager.from(context).getActiveSubscriptionInfoList(true);
+                ProxySubscriptionManager.getInstance(context)
+                .getActiveSubscriptionsInfo();
         // No activated Subscriptions
         if (subInfoList == null) {
             if (LOGD) {
@@ -115,7 +118,7 @@
             }
             return false;
         }
-        final TelephonyManager tele = TelephonyManager.from(context);
+        final TelephonyManager tele = context.getSystemService(TelephonyManager.class);
         // require both supported network and ready SIM
         boolean isReady = true;
         for (SubscriptionInfo subInfo : subInfoList) {
@@ -124,7 +127,7 @@
                 Log.d(TAG, "hasReadyMobileRadio: subInfo=" + subInfo);
             }
         }
-        final ConnectivityManager conn = ConnectivityManager.from(context);
+        final ConnectivityManager conn = context.getSystemService(ConnectivityManager.class);
         final boolean retVal = conn.isNetworkSupported(TYPE_MOBILE) && isReady;
         if (LOGD) {
             Log.d(TAG, "hasReadyMobileRadio:"
@@ -143,11 +146,20 @@
             return SystemProperties.get(TEST_RADIOS_PROP).contains("wifi");
         }
 
-        final ConnectivityManager connectivityManager = ConnectivityManager.from(context);
+        final ConnectivityManager connectivityManager =
+                context.getSystemService(ConnectivityManager.class);
         return connectivityManager != null && connectivityManager.isNetworkSupported(TYPE_WIFI);
     }
 
     public static boolean hasSim(Context context) {
+        // Access cache within ProxySubscriptionManager to speed up
+        final List<SubscriptionInfo> subInfoList =
+                ProxySubscriptionManager.getInstance(context)
+                .getActiveSubscriptionsInfo();
+        if ((subInfoList != null) && (subInfoList.size() > 0)) {
+            return true;
+        }
+
         TelephonyManager telephonyManager = context.getSystemService(TelephonyManager.class);
         final int simState = telephonyManager.getSimState();
         // Note that pulling the SIM card returns UNKNOWN, not ABSENT.
@@ -160,19 +172,25 @@
      * SubscriptionManager#INVALID_SUBSCRIPTION_ID
      */
     public static int getDefaultSubscriptionId(Context context) {
-        SubscriptionManager subManager = SubscriptionManager.from(context);
-        if (subManager == null) {
+        // default data subscription is first choice
+        final int dataSubId = SubscriptionManager.getDefaultDataSubscriptionId();
+        if (SubscriptionManager.isValidSubscriptionId(dataSubId)) {
+            return dataSubId;
+        }
+
+        final ProxySubscriptionManager proxySubscriptionMgr =
+                ProxySubscriptionManager.getInstance(context);
+
+        // any active subscription is second choice
+        List<SubscriptionInfo> subList = proxySubscriptionMgr.getActiveSubscriptionsInfo();
+        if ((subList == null) || (subList.size() <= 0)) {
+            // any subscription is third choice
+            subList = proxySubscriptionMgr.getAccessibleSubscriptionsInfo();
+        }
+        if ((subList == null) || (subList.size() <= 0)) {
             return SubscriptionManager.INVALID_SUBSCRIPTION_ID;
         }
-        SubscriptionInfo subscriptionInfo = subManager.getDefaultDataSubscriptionInfo();
-        if (subscriptionInfo == null) {
-            List<SubscriptionInfo> list = subManager.getAllSubscriptionInfoList();
-            if (list.size() == 0) {
-                return SubscriptionManager.INVALID_SUBSCRIPTION_ID;
-            }
-            subscriptionInfo = list.get(0);
-        }
-        return subscriptionInfo.getSubscriptionId();
+        return subList.get(0).getSubscriptionId();
     }
 
     /**
@@ -180,7 +198,7 @@
      * ethernet template if both mobile data and Wifi are not available.
      */
     public static NetworkTemplate getDefaultTemplate(Context context, int defaultSubId) {
-        if (hasMobileData(context) && defaultSubId != SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
+        if (SubscriptionManager.isValidSubscriptionId(defaultSubId) && hasMobileData(context)) {
             return getMobileTemplate(context, defaultSubId);
         } else if (hasWifiRadio(context)) {
             return NetworkTemplate.buildTemplateWifiWildcard();
diff --git a/src/com/android/settings/datausage/UnrestrictedDataAccess.java b/src/com/android/settings/datausage/UnrestrictedDataAccess.java
index d40537f..6d8a4ba 100644
--- a/src/com/android/settings/datausage/UnrestrictedDataAccess.java
+++ b/src/com/android/settings/datausage/UnrestrictedDataAccess.java
@@ -17,7 +17,6 @@
 import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.os.Bundle;
-import android.provider.SearchIndexableResource;
 import android.view.Menu;
 import android.view.MenuInflater;
 import android.view.MenuItem;
@@ -26,14 +25,10 @@
 import com.android.settings.R;
 import com.android.settings.dashboard.DashboardFragment;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
 import com.android.settingslib.applications.ApplicationsState;
 import com.android.settingslib.applications.ApplicationsState.AppFilter;
 import com.android.settingslib.search.SearchIndexable;
 
-import java.util.ArrayList;
-import java.util.List;
-
 @SearchIndexable
 public class UnrestrictedDataAccess extends DashboardFragment {
 
@@ -117,17 +112,6 @@
         return R.xml.unrestricted_data_access_settings;
     }
 
-    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
-                        boolean enabled) {
-                    final ArrayList<SearchIndexableResource> result = new ArrayList<>();
-
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.unrestricted_data_access_settings;
-                    result.add(sir);
-                    return result;
-                }
-            };
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.unrestricted_data_access_settings);
 }
diff --git a/src/com/android/settings/datetime/AutoTimePreferenceController.java b/src/com/android/settings/datetime/AutoTimePreferenceController.java
index bf6ecb4..52c5c68 100644
--- a/src/com/android/settings/datetime/AutoTimePreferenceController.java
+++ b/src/com/android/settings/datetime/AutoTimePreferenceController.java
@@ -17,6 +17,8 @@
 package com.android.settings.datetime;
 
 import android.content.Context;
+import android.os.UserHandle;
+import android.os.UserManager;
 import android.provider.Settings;
 
 import androidx.preference.Preference;
@@ -75,6 +77,8 @@
     }
 
     private RestrictedLockUtils.EnforcedAdmin getEnforcedAdminProperty() {
-        return RestrictedLockUtilsInternal.checkIfAutoTimeRequired(mContext);
+        return RestrictedLockUtilsInternal.checkIfRestrictionEnforced(
+                mContext, UserManager.DISALLOW_CONFIG_DATE_TIME,
+                UserHandle.myUserId());
     }
 }
diff --git a/src/com/android/settings/datetime/DatePreferenceController.java b/src/com/android/settings/datetime/DatePreferenceController.java
index 1704bd6..ace24f6 100644
--- a/src/com/android/settings/datetime/DatePreferenceController.java
+++ b/src/com/android/settings/datetime/DatePreferenceController.java
@@ -17,8 +17,9 @@
 package com.android.settings.datetime;
 
 import android.app.Activity;
-import android.app.AlarmManager;
 import android.app.DatePickerDialog;
+import android.app.timedetector.ManualTimeSuggestion;
+import android.app.timedetector.TimeDetector;
 import android.content.Context;
 import android.text.TextUtils;
 import android.text.format.DateFormat;
@@ -119,7 +120,10 @@
         long when = Math.max(c.getTimeInMillis(), DatePreferenceHost.MIN_DATE);
 
         if (when / 1000 < Integer.MAX_VALUE) {
-            ((AlarmManager) mContext.getSystemService(Context.ALARM_SERVICE)).setTime(when);
+            TimeDetector timeDetector = mContext.getSystemService(TimeDetector.class);
+            ManualTimeSuggestion manualTimeSuggestion =
+                    TimeDetector.createManualTimeSuggestion(when, "Settings: Set date");
+            timeDetector.suggestManualTime(manualTimeSuggestion);
         }
     }
 }
diff --git a/src/com/android/settings/datetime/DateTimePreferenceController.java b/src/com/android/settings/datetime/DateTimePreferenceController.java
new file mode 100644
index 0000000..c2b2b00
--- /dev/null
+++ b/src/com/android/settings/datetime/DateTimePreferenceController.java
@@ -0,0 +1,43 @@
+/*
+ * 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.datetime;
+
+import android.content.Context;
+
+import com.android.settings.core.BasePreferenceController;
+import com.android.settingslib.datetime.ZoneGetter;
+
+import java.util.Calendar;
+
+public class DateTimePreferenceController extends BasePreferenceController {
+
+    public DateTimePreferenceController(Context context, String key) {
+        super(context, key);
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return AVAILABLE;
+    }
+
+    @Override
+    public CharSequence getSummary() {
+        final Calendar now = Calendar.getInstance();
+        return ZoneGetter.getTimeZoneOffsetAndName(mContext,
+                now.getTimeZone(), now.getTime());
+    }
+}
diff --git a/src/com/android/settings/datetime/DateTimeSettings.java b/src/com/android/settings/datetime/DateTimeSettings.java
new file mode 100644
index 0000000..469a4c7
--- /dev/null
+++ b/src/com/android/settings/datetime/DateTimeSettings.java
@@ -0,0 +1,139 @@
+/*
+ * 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.datetime;
+
+import android.app.Activity;
+import android.app.Dialog;
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.content.Intent;
+
+import com.android.settings.R;
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.settingslib.search.SearchIndexable;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@SearchIndexable
+public class DateTimeSettings extends DashboardFragment implements
+        TimePreferenceController.TimePreferenceHost, DatePreferenceController.DatePreferenceHost {
+
+    private static final String TAG = "DateTimeSettings";
+
+    // have we been launched from the setup wizard?
+    protected static final String EXTRA_IS_FROM_SUW = "firstRun";
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.DATE_TIME;
+    }
+
+    @Override
+    protected String getLogTag() {
+        return TAG;
+    }
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.date_time_prefs;
+    }
+
+    @Override
+    public void onAttach(Context context) {
+        super.onAttach(context);
+        getSettingsLifecycle().addObserver(new TimeChangeListenerMixin(context, this));
+    }
+
+    @Override
+    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
+        final List<AbstractPreferenceController> controllers = new ArrayList<>();
+        final Activity activity = getActivity();
+        final Intent intent = activity.getIntent();
+        final boolean isFromSUW = intent.getBooleanExtra(EXTRA_IS_FROM_SUW, false);
+
+        final AutoTimeZonePreferenceController autoTimeZonePreferenceController =
+                new AutoTimeZonePreferenceController(
+                        activity, this /* UpdateTimeAndDateCallback */, isFromSUW);
+        final AutoTimePreferenceController autoTimePreferenceController =
+                new AutoTimePreferenceController(
+                        activity, this /* UpdateTimeAndDateCallback */);
+        final AutoTimeFormatPreferenceController autoTimeFormatPreferenceController =
+                new AutoTimeFormatPreferenceController(
+                        activity, this /* UpdateTimeAndDateCallback */);
+        controllers.add(autoTimeZonePreferenceController);
+        controllers.add(autoTimePreferenceController);
+        controllers.add(autoTimeFormatPreferenceController);
+
+        controllers.add(new TimeFormatPreferenceController(
+                activity, this /* UpdateTimeAndDateCallback */, isFromSUW));
+        controllers.add(new TimeZonePreferenceController(
+                activity, autoTimeZonePreferenceController));
+        controllers.add(new TimePreferenceController(
+                activity, this /* UpdateTimeAndDateCallback */, autoTimePreferenceController));
+        controllers.add(new DatePreferenceController(
+                activity, this /* UpdateTimeAndDateCallback */, autoTimePreferenceController));
+        return controllers;
+    }
+
+    @Override
+    public void updateTimeAndDateDisplay(Context context) {
+        updatePreferenceStates();
+    }
+
+    @Override
+    public Dialog onCreateDialog(int id) {
+        switch (id) {
+            case DatePreferenceController.DIALOG_DATEPICKER:
+                return use(DatePreferenceController.class)
+                        .buildDatePicker(getActivity());
+            case TimePreferenceController.DIALOG_TIMEPICKER:
+                return use(TimePreferenceController.class)
+                        .buildTimePicker(getActivity());
+            default:
+                throw new IllegalArgumentException();
+        }
+    }
+
+    @Override
+    public int getDialogMetricsCategory(int dialogId) {
+        switch (dialogId) {
+            case DatePreferenceController.DIALOG_DATEPICKER:
+                return SettingsEnums.DIALOG_DATE_PICKER;
+            case TimePreferenceController.DIALOG_TIMEPICKER:
+                return SettingsEnums.DIALOG_TIME_PICKER;
+            default:
+                return 0;
+        }
+    }
+
+    @Override
+    public void showTimePicker() {
+        removeDialog(TimePreferenceController.DIALOG_TIMEPICKER);
+        showDialog(TimePreferenceController.DIALOG_TIMEPICKER);
+    }
+
+    @Override
+    public void showDatePicker() {
+        showDialog(DatePreferenceController.DIALOG_DATEPICKER);
+    }
+
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.date_time_prefs);
+}
diff --git a/src/com/android/settings/datetime/TimePreferenceController.java b/src/com/android/settings/datetime/TimePreferenceController.java
index 3ca26bc..582234e 100644
--- a/src/com/android/settings/datetime/TimePreferenceController.java
+++ b/src/com/android/settings/datetime/TimePreferenceController.java
@@ -17,8 +17,9 @@
 package com.android.settings.datetime;
 
 import android.app.Activity;
-import android.app.AlarmManager;
 import android.app.TimePickerDialog;
+import android.app.timedetector.ManualTimeSuggestion;
+import android.app.timedetector.TimeDetector;
 import android.content.Context;
 import android.text.TextUtils;
 import android.text.format.DateFormat;
@@ -117,7 +118,10 @@
         long when = Math.max(c.getTimeInMillis(), TimePreferenceHost.MIN_DATE);
 
         if (when / 1000 < Integer.MAX_VALUE) {
-            ((AlarmManager) mContext.getSystemService(Context.ALARM_SERVICE)).setTime(when);
+            TimeDetector timeDetector = mContext.getSystemService(TimeDetector.class);
+            ManualTimeSuggestion manualTimeSuggestion =
+                    TimeDetector.createManualTimeSuggestion(when, "Settings: Set time");
+            timeDetector.suggestManualTime(manualTimeSuggestion);
         }
     }
 }
diff --git a/src/com/android/settings/datetime/timezone/BaseTimeZonePicker.java b/src/com/android/settings/datetime/timezone/BaseTimeZonePicker.java
index 887b9f2..dca597f 100644
--- a/src/com/android/settings/datetime/timezone/BaseTimeZonePicker.java
+++ b/src/com/android/settings/datetime/timezone/BaseTimeZonePicker.java
@@ -83,7 +83,7 @@
     @Override
     public View onCreateView(LayoutInflater inflater, ViewGroup container,
             Bundle savedInstanceState) {
-        final View view = inflater.inflate(R.layout.time_zone_items_list, container, false);
+        final View view = inflater.inflate(R.layout.recycler_view, container, false);
         mRecyclerView = view.findViewById(R.id.recycler_view);
         mRecyclerView.setLayoutManager(new LinearLayoutManager(getContext(),
                 LinearLayoutManager.VERTICAL, /* reverseLayout */ false));
diff --git a/src/com/android/settings/datetime/timezone/OWNERS b/src/com/android/settings/datetime/timezone/OWNERS
index eac0604..02cf23c 100644
--- a/src/com/android/settings/datetime/timezone/OWNERS
+++ b/src/com/android/settings/datetime/timezone/OWNERS
@@ -1,7 +1,7 @@
 # Default reviewers for this and subdirectories.
 vichang@google.com
+tobiast@google.com
 nfuller@google.com
 
 # Emergency approvers in case the above are not available
-pszczepaniak@google.com
 narayan@google.com
diff --git a/src/com/android/settings/datetime/timezone/TimeZoneInfoPreferenceController.java b/src/com/android/settings/datetime/timezone/TimeZoneInfoPreferenceController.java
index a819f10..80cefb6 100644
--- a/src/com/android/settings/datetime/timezone/TimeZoneInfoPreferenceController.java
+++ b/src/com/android/settings/datetime/timezone/TimeZoneInfoPreferenceController.java
@@ -29,20 +29,19 @@
 import androidx.preference.Preference;
 
 import com.android.settings.R;
-import com.android.settingslib.widget.FooterPreference;
+import com.android.settings.core.BasePreferenceController;
 
 import java.util.Date;
 
-public class TimeZoneInfoPreferenceController extends BaseTimeZonePreferenceController {
+public class TimeZoneInfoPreferenceController extends BasePreferenceController {
 
-    private static final String PREFERENCE_KEY = FooterPreference.KEY_FOOTER;
     @VisibleForTesting
     Date mDate;
     private TimeZoneInfo mTimeZoneInfo;
     private final DateFormat mDateFormat;
 
-    public TimeZoneInfoPreferenceController(Context context) {
-        super(context, PREFERENCE_KEY);
+    public TimeZoneInfoPreferenceController(Context context, String key) {
+        super(context, key);
         mDateFormat = DateFormat.getDateInstance(SimpleDateFormat.LONG);
         mDateFormat.setContext(DisplayContext.CAPITALIZATION_NONE);
         mDate = new Date();
@@ -50,24 +49,18 @@
 
     @Override
     public int getAvailabilityStatus() {
-        return AVAILABLE;
+        return mTimeZoneInfo != null ? AVAILABLE_UNSEARCHABLE : UNSUPPORTED_ON_DEVICE;
     }
 
     @Override
-    public void updateState(Preference preference) {
-        CharSequence formattedTimeZone = mTimeZoneInfo == null ? "" : formatInfo(mTimeZoneInfo);
-        preference.setTitle(formattedTimeZone);
-        preference.setVisible(mTimeZoneInfo != null);
+    public CharSequence getSummary() {
+        return mTimeZoneInfo == null ? "" : formatInfo(mTimeZoneInfo);
     }
 
     public void setTimeZoneInfo(TimeZoneInfo timeZoneInfo) {
         mTimeZoneInfo = timeZoneInfo;
     }
 
-    public TimeZoneInfo getTimeZoneInfo() {
-        return mTimeZoneInfo;
-    }
-
     private CharSequence formatOffsetAndName(TimeZoneInfo item) {
         String name = item.getGenericName();
         if (name == null) {
@@ -130,5 +123,4 @@
         } while (transition != null);
         return transition;
     }
-
 }
diff --git a/src/com/android/settings/datetime/timezone/TimeZoneSettings.java b/src/com/android/settings/datetime/timezone/TimeZoneSettings.java
index d557bf9..60cd636 100644
--- a/src/com/android/settings/datetime/timezone/TimeZoneSettings.java
+++ b/src/com/android/settings/datetime/timezone/TimeZoneSettings.java
@@ -17,13 +17,15 @@
 package com.android.settings.datetime.timezone;
 
 import android.app.Activity;
-import android.app.AlarmManager;
 import android.app.settings.SettingsEnums;
+import android.app.timezonedetector.ManualTimeZoneSuggestion;
+import android.app.timezonedetector.TimeZoneDetector;
 import android.content.Context;
 import android.content.Intent;
 import android.content.SharedPreferences;
 import android.icu.util.TimeZone;
 import android.os.Bundle;
+import android.provider.Settings;
 import android.util.Log;
 import android.view.Menu;
 import android.view.MenuInflater;
@@ -38,7 +40,9 @@
 import com.android.settings.datetime.timezone.model.FilteredCountryTimeZones;
 import com.android.settings.datetime.timezone.model.TimeZoneData;
 import com.android.settings.datetime.timezone.model.TimeZoneDataLoader;
+import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.settingslib.search.SearchIndexable;
 
 import java.util.ArrayList;
 import java.util.Date;
@@ -50,6 +54,7 @@
 /**
  * The class displays a time zone picker either by regions or fixed offset time zones.
  */
+@SearchIndexable
 public class TimeZoneSettings extends DashboardFragment {
 
     private static final String TAG = "TimeZoneSettings";
@@ -119,9 +124,9 @@
         super.onCreate(icicle);
         // Hide all interactive preferences
         setPreferenceCategoryVisible((PreferenceCategory) findPreference(
-            PREF_KEY_REGION_CATEGORY), false);
+                PREF_KEY_REGION_CATEGORY), false);
         setPreferenceCategoryVisible((PreferenceCategory) findPreference(
-            PREF_KEY_FIXED_OFFSET_CATEGORY), false);
+                PREF_KEY_FIXED_OFFSET_CATEGORY), false);
 
         // Start loading TimeZoneData
         getLoaderManager().initLoader(0, null, new TimeZoneDataLoader.LoaderCreator(
@@ -233,7 +238,7 @@
         String tzId = data.getStringExtra(RegionZonePicker.EXTRA_RESULT_TIME_ZONE_ID);
         // Ignore the result if user didn't change the region or time zone.
         if (Objects.equals(regionId, use(RegionPreferenceController.class).getRegionId())
-            && Objects.equals(tzId, mSelectedTimeZoneId)) {
+                && Objects.equals(tzId, mSelectedTimeZoneId)) {
             return;
         }
 
@@ -270,7 +275,10 @@
             editor.putString(PREF_KEY_REGION, regionId);
         }
         editor.apply();
-        getActivity().getSystemService(AlarmManager.class).setTimeZone(tzId);
+        ManualTimeZoneSuggestion manualTimeZoneSuggestion =
+                TimeZoneDetector.createManualTimeZoneSuggestion(tzId, "Settings: Set time zone");
+        TimeZoneDetector timeZoneDetector = getActivity().getSystemService(TimeZoneDetector.class);
+        timeZoneDetector.suggestManualTimeZone(manualTimeZoneSuggestion);
     }
 
     @Override
@@ -320,9 +328,9 @@
     private void setSelectByRegion(boolean selectByRegion) {
         mSelectByRegion = selectByRegion;
         setPreferenceCategoryVisible((PreferenceCategory) findPreference(
-            PREF_KEY_REGION_CATEGORY), selectByRegion);
+                PREF_KEY_REGION_CATEGORY), selectByRegion);
         setPreferenceCategoryVisible((PreferenceCategory) findPreference(
-            PREF_KEY_FIXED_OFFSET_CATEGORY), !selectByRegion);
+                PREF_KEY_FIXED_OFFSET_CATEGORY), !selectByRegion);
         final String localeRegionId = getLocaleRegionId();
         final Set<String> allCountryIsoCodes = mTimeZoneData.getRegionIds();
 
@@ -346,6 +354,7 @@
      * Find the a region associated with the specified time zone, based on the time zone data.
      * If there are multiple regions associated with the given time zone, the priority will be given
      * to the region the user last picked and the country in user's locale.
+     *
      * @return null if no region associated with the time zone
      */
     private String findRegionIdForTzId(String tzId) {
@@ -371,7 +380,7 @@
     }
 
     private void setPreferenceCategoryVisible(PreferenceCategory category,
-        boolean isVisible) {
+            boolean isVisible) {
         // Hiding category doesn't hide all the children preference. Set visibility of its children.
         // Do not care grandchildren as time_zone_pref.xml has only 2 levels.
         category.setVisible(isVisible);
@@ -383,4 +392,15 @@
     private String getLocaleRegionId() {
         return mLocale.getCountry().toUpperCase(Locale.US);
     }
+
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.time_zone_prefs) {
+                @Override
+                protected boolean isPageSearchEnabled(Context context) {
+                    // We can't enter this page if the auto time zone is enabled.
+                    final int autoTimeZone = Settings.Global.getInt(context.getContentResolver(),
+                            Settings.Global.AUTO_TIME_ZONE, 1);
+                    return autoTimeZone == 1 ? false : true;
+                }
+            };
 }
diff --git a/src/com/android/settings/datetime/timezone/model/FilteredCountryTimeZones.java b/src/com/android/settings/datetime/timezone/model/FilteredCountryTimeZones.java
index d7fcb2f..92e9e96 100644
--- a/src/com/android/settings/datetime/timezone/model/FilteredCountryTimeZones.java
+++ b/src/com/android/settings/datetime/timezone/model/FilteredCountryTimeZones.java
@@ -48,9 +48,10 @@
         mCountryTimeZones = countryTimeZones;
         List<String> timeZoneIds = countryTimeZones.getTimeZoneMappings().stream()
                 .filter(timeZoneMapping ->
-                        timeZoneMapping.showInPicker && (timeZoneMapping.notUsedAfter == null
-                                || timeZoneMapping.notUsedAfter >= MIN_USE_DATE_OF_TIMEZONE))
-                .map(timeZoneMapping -> timeZoneMapping.timeZoneId)
+                        timeZoneMapping.isShownInPicker()
+                                && (timeZoneMapping.getNotUsedAfter() == null
+                                || timeZoneMapping.getNotUsedAfter() >= MIN_USE_DATE_OF_TIMEZONE))
+                .map(timeZoneMapping -> timeZoneMapping.getTimeZoneId())
                 .collect(Collectors.toList());
         mTimeZoneIds = Collections.unmodifiableList(timeZoneIds);
     }
diff --git a/src/com/android/settings/deletionhelper/AutomaticStorageManagerSettings.java b/src/com/android/settings/deletionhelper/AutomaticStorageManagerSettings.java
index 0bc9dc9..0de9f67 100644
--- a/src/com/android/settings/deletionhelper/AutomaticStorageManagerSettings.java
+++ b/src/com/android/settings/deletionhelper/AutomaticStorageManagerSettings.java
@@ -34,7 +34,6 @@
 import com.android.settings.Utils;
 import com.android.settings.dashboard.DashboardFragment;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
 import com.android.settings.widget.SwitchBar;
 import com.android.settingslib.core.AbstractPreferenceController;
 import com.android.settingslib.search.SearchIndexable;
@@ -163,7 +162,7 @@
     }
 
     /** For Search. */
-    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
             new BaseSearchIndexProvider() {
                 @Override
                 protected boolean isPageSearchEnabled(Context context) {
diff --git a/src/com/android/settings/development/AbstractBluetoothA2dpPreferenceController.java b/src/com/android/settings/development/AbstractBluetoothA2dpPreferenceController.java
index 0f429c7..88dda29 100644
--- a/src/com/android/settings/development/AbstractBluetoothA2dpPreferenceController.java
+++ b/src/com/android/settings/development/AbstractBluetoothA2dpPreferenceController.java
@@ -83,7 +83,11 @@
         final BluetoothCodecConfig codecConfig = mBluetoothA2dpConfigStore.createCodecConfig();
         synchronized (mBluetoothA2dpConfigStore) {
             if (mBluetoothA2dp != null) {
-                setCodecConfigPreference(null, codecConfig);    // Use current active device
+                BluetoothDevice activeDevice = mBluetoothA2dp.getActiveDevice();
+                if (activeDevice == null) {
+                    return false;
+                }
+                setCodecConfigPreference(activeDevice, codecConfig);
             }
         }
         // Because the setting is not persisted into permanent storage, we cannot call update state
@@ -102,13 +106,14 @@
 
     @Override
     public void updateState(Preference preference) {
-        if (getCodecConfig(null) == null || mPreference == null) { // Use current active device
+        BluetoothDevice activeDevice = mBluetoothA2dp.getActiveDevice();
+        if (activeDevice == null || getCodecConfig(activeDevice) == null || mPreference == null) {
             return;
         }
 
         BluetoothCodecConfig codecConfig;
         synchronized (mBluetoothA2dpConfigStore) {
-            codecConfig = getCodecConfig(null);         // Use current active device
+            codecConfig = getCodecConfig(activeDevice);
         }
 
         final int index = getCurrentA2dpSettingIndex(codecConfig);
@@ -178,13 +183,23 @@
     @VisibleForTesting
     void setCodecConfigPreference(BluetoothDevice device,
             BluetoothCodecConfig config) {
-        mBluetoothA2dp.setCodecConfigPreference(device, config);
+        BluetoothDevice bluetoothDevice =
+                (device != null) ? device : mBluetoothA2dp.getActiveDevice();
+        if (bluetoothDevice == null) {
+            return;
+        }
+        mBluetoothA2dp.setCodecConfigPreference(bluetoothDevice, config);
     }
 
     @VisibleForTesting
     BluetoothCodecConfig getCodecConfig(BluetoothDevice device) {
         if (mBluetoothA2dp != null) {
-            BluetoothCodecStatus codecStatus = mBluetoothA2dp.getCodecStatus(device);
+            BluetoothDevice bluetoothDevice =
+                    (device != null) ? device : mBluetoothA2dp.getActiveDevice();
+            if (bluetoothDevice == null) {
+                return null;
+            }
+            BluetoothCodecStatus codecStatus = mBluetoothA2dp.getCodecStatus(bluetoothDevice);
             if (codecStatus != null) {
                 return codecStatus.getCodecConfig();
             }
diff --git a/src/com/android/settings/development/AdbDeviceDetailsActionController.java b/src/com/android/settings/development/AdbDeviceDetailsActionController.java
new file mode 100644
index 0000000..da4430d
--- /dev/null
+++ b/src/com/android/settings/development/AdbDeviceDetailsActionController.java
@@ -0,0 +1,92 @@
+/*
+ * 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.development;
+
+import android.app.Activity;
+import android.content.Context;
+import android.content.Intent;
+import android.debug.PairDevice;
+
+import androidx.annotation.VisibleForTesting;
+import androidx.fragment.app.Fragment;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.settingslib.widget.ActionButtonsPreference;
+
+/**
+ * Controller for logic pertaining to displaying adb device information for the
+ * {@link AdbDeviceDetailsFragment}.
+ */
+public class AdbDeviceDetailsActionController extends AbstractPreferenceController {
+    private static final String TAG = "AdbDeviceDetailsAction";
+
+    @VisibleForTesting
+    static final String KEY_BUTTONS_PREF = "buttons";
+
+    private PairDevice mPairedDevice;
+    private final Fragment mFragment;
+
+    private ActionButtonsPreference mButtonsPref;
+
+    public AdbDeviceDetailsActionController(
+            PairDevice pairedDevice,
+            Context context,
+            Fragment fragment) {
+        super(context);
+
+        mPairedDevice = pairedDevice;
+        mFragment = fragment;
+    }
+
+    @Override
+    public boolean isAvailable() {
+        return true;
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY_BUTTONS_PREF;
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+
+        mButtonsPref = ((ActionButtonsPreference) screen.findPreference(getPreferenceKey()))
+                .setButton1Visible(false)
+                .setButton2Icon(R.drawable.ic_settings_delete)
+                .setButton2Text(R.string.adb_device_forget)
+                .setButton2OnClickListener(view -> forgetDevice());
+    }
+
+    /**
+     * Forgets the device.
+     */
+    private void forgetDevice() {
+        Intent intent = new Intent();
+        intent.putExtra(
+                WirelessDebuggingFragment.PAIRED_DEVICE_REQUEST_TYPE,
+                WirelessDebuggingFragment.FORGET_ACTION);
+        intent.putExtra(
+                WirelessDebuggingFragment.PAIRED_DEVICE_EXTRA,
+                mPairedDevice);
+        mFragment.getActivity().setResult(Activity.RESULT_OK, intent);
+        mFragment.getActivity().finish();
+    }
+}
+
diff --git a/src/com/android/settings/development/AdbDeviceDetailsFingerprintController.java b/src/com/android/settings/development/AdbDeviceDetailsFingerprintController.java
new file mode 100644
index 0000000..b9c2d43
--- /dev/null
+++ b/src/com/android/settings/development/AdbDeviceDetailsFingerprintController.java
@@ -0,0 +1,80 @@
+/*
+ * 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.development;
+
+import android.content.Context;
+import android.debug.PairDevice;
+
+import androidx.annotation.VisibleForTesting;
+import androidx.fragment.app.Fragment;
+import androidx.preference.PreferenceCategory;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.settingslib.widget.FooterPreference;
+
+/**
+ * Controller for logic pertaining to displaying adb device information for the
+ * {@link AdbDeviceDetailsFragment}.
+ */
+public class AdbDeviceDetailsFingerprintController extends AbstractPreferenceController {
+
+    private static final String TAG = "AdbDeviceDetailsFinger";
+
+    @VisibleForTesting
+    static final String KEY_FINGERPRINT_CATEGORY = "fingerprint_category";
+
+    private PairDevice mPairedDevice;
+    private final Fragment mFragment;
+
+    private PreferenceCategory mFingerprintCategory;
+    private FooterPreference mFingerprintPref;
+
+    public AdbDeviceDetailsFingerprintController(
+            PairDevice pairedDevice,
+            Context context,
+            Fragment fragment) {
+        super(context);
+
+        mPairedDevice = pairedDevice;
+        mFragment = fragment;
+    }
+
+    @Override
+    public boolean isAvailable() {
+        return true;
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY_FINGERPRINT_CATEGORY;
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+
+        mFingerprintCategory = (PreferenceCategory) screen.findPreference(getPreferenceKey());
+        mFingerprintPref = new FooterPreference(mFingerprintCategory.getContext());
+        final CharSequence titleFormat = mContext.getText(
+                R.string.adb_device_fingerprint_title_format);
+        mFingerprintPref.setTitle(String.format(
+                titleFormat.toString(), mPairedDevice.getGuid()));
+        mFingerprintCategory.addPreference(mFingerprintPref);
+    }
+}
+
diff --git a/src/com/android/settings/development/AdbDeviceDetailsFragment.java b/src/com/android/settings/development/AdbDeviceDetailsFragment.java
new file mode 100644
index 0000000..9861345
--- /dev/null
+++ b/src/com/android/settings/development/AdbDeviceDetailsFragment.java
@@ -0,0 +1,78 @@
+/*
+ * 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.development;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.debug.PairDevice;
+import android.os.Bundle;
+
+import com.android.settings.R;
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settingslib.core.AbstractPreferenceController;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Fragment shown when clicking on a paired device in the Wireless
+ * Debugging fragment.
+ */
+public class AdbDeviceDetailsFragment extends DashboardFragment {
+    private static final String TAG = "AdbDeviceDetailsFrag";
+    private PairDevice mPairedDevice;
+
+    public AdbDeviceDetailsFragment() {
+        super();
+    }
+
+    @Override
+    public void onAttach(Context context) {
+        // Get the paired device stored in the extras
+        Bundle bundle = getArguments();
+        if (bundle.containsKey(AdbPairedDevicePreference.PAIRED_DEVICE_EXTRA)) {
+            mPairedDevice = (PairDevice) bundle.getParcelable(
+                    AdbPairedDevicePreference.PAIRED_DEVICE_EXTRA);
+        }
+        super.onAttach(context);
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.ADB_WIRELESS_DEVICE_DETAILS;
+    }
+
+    @Override
+    protected String getLogTag() {
+        return TAG;
+    }
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.adb_device_details_fragment;
+    }
+
+    @Override
+    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
+        final List<AbstractPreferenceController> controllers = new ArrayList<>();
+        controllers.add(new AdbDeviceDetailsHeaderController(mPairedDevice, context, this));
+        controllers.add(new AdbDeviceDetailsActionController(mPairedDevice, context, this));
+        controllers.add(new AdbDeviceDetailsFingerprintController(mPairedDevice, context, this));
+
+        return controllers;
+    }
+}
diff --git a/src/com/android/settings/development/AdbDeviceDetailsHeaderController.java b/src/com/android/settings/development/AdbDeviceDetailsHeaderController.java
new file mode 100644
index 0000000..a4e79ea
--- /dev/null
+++ b/src/com/android/settings/development/AdbDeviceDetailsHeaderController.java
@@ -0,0 +1,88 @@
+/*
+ * 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.development;
+
+import android.content.Context;
+import android.debug.PairDevice;
+
+import androidx.annotation.VisibleForTesting;
+import androidx.fragment.app.Fragment;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settings.widget.EntityHeaderController;
+import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.settingslib.core.lifecycle.LifecycleObserver;
+import com.android.settingslib.widget.LayoutPreference;
+
+/**
+ * Controller for logic pertaining to displaying adb device information for the
+ * {@link AdbDeviceDetailsFragment}.
+ */
+public class AdbDeviceDetailsHeaderController extends AbstractPreferenceController
+        implements PreferenceControllerMixin, LifecycleObserver {
+
+    private static final String TAG = "AdbDeviceDetailsHeader";
+
+    @VisibleForTesting
+    static final String KEY_HEADER = "adb_device_header";
+
+    private PairDevice mPairedDevice;
+    private final Fragment mFragment;
+    private EntityHeaderController mEntityHeaderController;
+
+    public AdbDeviceDetailsHeaderController(
+            PairDevice pairedDevice,
+            Context context,
+            Fragment fragment) {
+        super(context);
+
+        mPairedDevice = pairedDevice;
+        mFragment = fragment;
+    }
+
+    @Override
+    public boolean isAvailable() {
+        return true;
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY_HEADER;
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+
+        setupEntityHeader(screen);
+    }
+
+    private void setupEntityHeader(PreferenceScreen screen) {
+        LayoutPreference headerPref = (LayoutPreference) screen.findPreference(KEY_HEADER);
+        mEntityHeaderController =
+                EntityHeaderController.newInstance(
+                        mFragment.getActivity(), mFragment,
+                        headerPref.findViewById(R.id.entity_header));
+
+        mEntityHeaderController
+                .setIcon(mContext.getDrawable(com.android.internal.R.drawable.ic_bt_laptop))
+                .setLabel(mPairedDevice.getDeviceName())
+                .done(mFragment.getActivity(), true);
+    }
+}
+
diff --git a/src/com/android/settings/development/AdbDeviceNamePreferenceController.java b/src/com/android/settings/development/AdbDeviceNamePreferenceController.java
new file mode 100644
index 0000000..7706c3c
--- /dev/null
+++ b/src/com/android/settings/development/AdbDeviceNamePreferenceController.java
@@ -0,0 +1,78 @@
+/*
+ * 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.development;
+
+import static android.content.Context.CLIPBOARD_SERVICE;
+
+import android.content.ClipData;
+import android.content.ClipboardManager;
+import android.content.Context;
+import android.os.Build;
+import android.provider.Settings;
+import android.widget.Toast;
+
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settings.core.BasePreferenceController;
+
+/**
+ * Controller for the device name preference in the Wireless debugging
+ * fragment.
+ */
+public class AdbDeviceNamePreferenceController extends BasePreferenceController {
+    private static final String TAG = "AdbDeviceNamePrefCtrl";
+
+    private String mDeviceName;
+
+    public AdbDeviceNamePreferenceController(Context context, String key) {
+        super(context, key);
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+
+        // Keep device name in sync with Settings > About phone > Device name
+        mDeviceName = Settings.Global.getString(mContext.getContentResolver(),
+                Settings.Global.DEVICE_NAME);
+        if (mDeviceName == null) {
+            mDeviceName = Build.MODEL;
+        }
+    }
+
+    @Override
+    public CharSequence getSummary() {
+        return mDeviceName;
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return AVAILABLE;
+    }
+
+    @Override
+    public void copy() {
+        final ClipboardManager clipboard = (ClipboardManager) mContext.getSystemService(
+                CLIPBOARD_SERVICE);
+        clipboard.setPrimaryClip(ClipData.newPlainText("text", mDeviceName));
+
+        final String toast = mContext.getString(R.string.copyable_slice_toast,
+                mDeviceName);
+        Toast.makeText(mContext, toast, Toast.LENGTH_SHORT).show();
+    }
+}
diff --git a/src/com/android/settings/development/AdbIpAddressPreferenceController.java b/src/com/android/settings/development/AdbIpAddressPreferenceController.java
new file mode 100644
index 0000000..dbc329e
--- /dev/null
+++ b/src/com/android/settings/development/AdbIpAddressPreferenceController.java
@@ -0,0 +1,156 @@
+/*
+ * 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.development;
+
+import android.content.Context;
+import android.debug.IAdbManager;
+import android.net.ConnectivityManager;
+import android.net.LinkProperties;
+import android.net.wifi.WifiManager;
+import android.os.RemoteException;
+import android.os.ServiceManager;
+import android.util.Log;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+import com.android.settingslib.deviceinfo.AbstractConnectivityPreferenceController;
+
+import java.net.Inet4Address;
+import java.net.InetAddress;
+import java.util.Iterator;
+
+/**
+ * Controller for the ip address preference in the Wireless debugging
+ * fragment.
+ */
+public class AdbIpAddressPreferenceController extends AbstractConnectivityPreferenceController {
+    private static final String TAG = "AdbIpAddrPrefCtrl";
+
+    private static final String[] CONNECTIVITY_INTENTS = {
+            ConnectivityManager.CONNECTIVITY_ACTION,
+            WifiManager.ACTION_LINK_CONFIGURATION_CHANGED,
+            WifiManager.NETWORK_STATE_CHANGED_ACTION,
+    };
+
+    private static final String PREF_KEY = "adb_ip_addr_pref";
+    private Preference mAdbIpAddrPref;
+    private int mPort;
+    private final ConnectivityManager mCM;
+    private IAdbManager mAdbManager;
+
+    public AdbIpAddressPreferenceController(Context context, Lifecycle lifecycle) {
+        super(context, lifecycle);
+        mCM = context.getSystemService(ConnectivityManager.class);
+        mAdbManager = IAdbManager.Stub.asInterface(ServiceManager.getService(
+                Context.ADB_SERVICE));
+    }
+
+    @Override
+    public boolean isAvailable() {
+        return true;
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return PREF_KEY;
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        mAdbIpAddrPref = screen.findPreference(PREF_KEY);
+        updateConnectivity();
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        super.updateState(preference);
+        updateConnectivity();
+    }
+
+    @Override
+    protected String[] getConnectivityIntents() {
+        return CONNECTIVITY_INTENTS;
+    }
+
+    protected int getPort() {
+        try {
+            return mAdbManager.getAdbWirelessPort();
+        } catch (RemoteException e) {
+            Log.e(TAG, "Unable to get the adbwifi port");
+        }
+        return 0;
+    }
+
+    public String getIpv4Address() {
+        return getDefaultIpAddresses(mCM);
+    }
+
+    @Override
+    protected void updateConnectivity() {
+        String ipAddress = getDefaultIpAddresses(mCM);
+        if (ipAddress != null) {
+            int port = getPort();
+            if (port <= 0) {
+                mAdbIpAddrPref.setSummary(R.string.status_unavailable);
+            } else {
+                ipAddress += ":" + port;
+            }
+            mAdbIpAddrPref.setSummary(ipAddress);
+        } else {
+            mAdbIpAddrPref.setSummary(R.string.status_unavailable);
+        }
+    }
+
+    /**
+     * Returns the default link's IP addresses, if any, taking into account IPv4 and IPv6 style
+     * addresses.
+     * @param cm ConnectivityManager
+     * @return the formatted and newline-separated IP addresses, or null if none.
+     */
+    private static String getDefaultIpAddresses(ConnectivityManager cm) {
+        LinkProperties prop = cm.getActiveLinkProperties();
+        return formatIpAddresses(prop);
+    }
+
+    private static String formatIpAddresses(LinkProperties prop) {
+        if (prop == null) {
+            return null;
+        }
+
+        Iterator<InetAddress> iter = prop.getAllAddresses().iterator();
+        // If there are no entries, return null
+        if (!iter.hasNext()) {
+            return null;
+        }
+
+        // Concatenate all available addresses, newline separated
+        StringBuilder addresses = new StringBuilder();
+        while (iter.hasNext()) {
+            InetAddress addr = iter.next();
+            if (addr instanceof Inet4Address) {
+                // adb only supports ipv4 at the moment
+                addresses.append(addr.getHostAddress());
+                break;
+            }
+        }
+        return addresses.toString();
+    }
+}
diff --git a/src/com/android/settings/development/AdbPairedDevicePreference.java b/src/com/android/settings/development/AdbPairedDevicePreference.java
new file mode 100644
index 0000000..a82a949
--- /dev/null
+++ b/src/com/android/settings/development/AdbPairedDevicePreference.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.development;
+
+import android.content.Context;
+import android.debug.PairDevice;
+import android.os.Bundle;
+import android.view.View;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceViewHolder;
+
+import com.android.settings.R;
+
+/**
+ * An AP preference for the currently connected AP
+ */
+public class AdbPairedDevicePreference extends Preference {
+    private static final String TAG = "AdbPairedDevicePref";
+
+    private PairDevice mPairedDevice;
+
+    // Extract using getSerializable(PAIRED_DEVICE_EXTRA)
+    public static final String PAIRED_DEVICE_EXTRA = "paired_device";
+
+    public AdbPairedDevicePreference(PairDevice pairedDevice, Context context) {
+        super(context);
+
+        mPairedDevice = pairedDevice;
+        setWidgetLayoutResource(getWidgetLayoutResourceId());
+        refresh();
+    }
+
+    protected int getWidgetLayoutResourceId() {
+        return R.layout.preference_widget_gear_optional_background;
+    }
+
+    /**
+     * Refreshes the preference bound to the paired device previously passed in.
+     */
+    public void refresh() {
+        setTitle(this, mPairedDevice);
+    }
+
+    public void setPairedDevice(PairDevice pairedDevice) {
+        mPairedDevice = pairedDevice;
+    }
+
+    public PairDevice getPairedDevice() {
+        return mPairedDevice;
+    }
+
+    @Override
+    public void onBindViewHolder(PreferenceViewHolder holder) {
+        super.onBindViewHolder(holder);
+
+        final View gear = holder.findViewById(R.id.settings_button);
+        final View gearNoBg = holder.findViewById(R.id.settings_button_no_background);
+
+        gear.setVisibility(View.INVISIBLE);
+        gearNoBg.setVisibility(View.VISIBLE);
+    }
+
+    static void setTitle(AdbPairedDevicePreference preference,
+                         PairDevice pairedDevice) {
+        preference.setTitle(pairedDevice.getDeviceName());
+        preference.setSummary(pairedDevice.isConnected()
+                ? preference.getContext().getText(R.string.adb_wireless_device_connected_summary)
+                : "");
+    }
+
+    /**
+     * Writes the paired devices bound to this preference to the bundle.
+     *
+     * @param bundle the bundle to write the paired device to
+     */
+    public void savePairedDeviceToExtras(Bundle bundle) {
+        bundle.putParcelable(PAIRED_DEVICE_EXTRA, mPairedDevice);
+    }
+}
+
diff --git a/src/com/android/settings/development/AdbQrcodeScannerFragment.java b/src/com/android/settings/development/AdbQrcodeScannerFragment.java
new file mode 100644
index 0000000..4f8b113
--- /dev/null
+++ b/src/com/android/settings/development/AdbQrcodeScannerFragment.java
@@ -0,0 +1,326 @@
+/*
+ * 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.development;
+
+import android.app.Activity;
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.debug.AdbManager;
+import android.debug.IAdbManager;
+import android.graphics.Matrix;
+import android.graphics.Rect;
+import android.graphics.SurfaceTexture;
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.Message;
+import android.os.RemoteException;
+import android.os.ServiceManager;
+import android.util.Log;
+import android.util.Size;
+import android.view.LayoutInflater;
+import android.view.TextureView;
+import android.view.TextureView.SurfaceTextureListener;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.accessibility.AccessibilityEvent;
+import android.widget.TextView;
+
+import androidx.annotation.StringRes;
+
+import com.android.settings.R;
+import com.android.settings.wifi.dpp.AdbQrCode;
+import com.android.settings.wifi.dpp.WifiDppQrCodeBaseFragment;
+import com.android.settings.wifi.dpp.WifiNetworkConfig;
+import com.android.settings.wifi.qrcode.QrCamera;
+import com.android.settings.wifi.qrcode.QrDecorateView;
+
+/**
+ * Fragment shown when clicking on the "Pair by QR code" preference in
+ * the Wireless Debugging fragment.
+ */
+public class AdbQrcodeScannerFragment extends WifiDppQrCodeBaseFragment implements
+        SurfaceTextureListener,
+        QrCamera.ScannerCallback {
+    private static final String TAG = "AdbQrcodeScannerFrag";
+
+    /** Message sent to hide error message */
+    private static final int MESSAGE_HIDE_ERROR_MESSAGE = 1;
+
+    /** Message sent to show error message */
+    private static final int MESSAGE_SHOW_ERROR_MESSAGE = 2;
+
+    private static final long SHOW_ERROR_MESSAGE_INTERVAL = 10000;
+    private static final long SHOW_SUCCESS_SQUARE_INTERVAL = 1000;
+
+    private QrCamera mCamera;
+    private TextureView mTextureView;
+    private QrDecorateView mDecorateView;
+    private View mQrCameraView;
+    private View mVerifyingView;
+    private TextView mErrorMessage;
+
+    /** QR code data scanned by camera */
+    private AdbQrCode mAdbQrCode;
+    private WifiNetworkConfig mAdbConfig;
+
+    private IAdbManager mAdbManager;
+
+    private IntentFilter mIntentFilter;
+    private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
+        @Override
+        public void onReceive(Context context, Intent intent) {
+            String action = intent.getAction();
+            if (AdbManager.WIRELESS_DEBUG_PAIRING_RESULT_ACTION.equals(action)) {
+                Integer res = intent.getIntExtra(
+                        AdbManager.WIRELESS_STATUS_EXTRA,
+                        AdbManager.WIRELESS_STATUS_FAIL);
+                if (res.equals(AdbManager.WIRELESS_STATUS_SUCCESS)) {
+                    Intent i = new Intent();
+                    i.putExtra(
+                            WirelessDebuggingFragment.PAIRING_DEVICE_REQUEST_TYPE,
+                            WirelessDebuggingFragment.SUCCESS_ACTION);
+                    getActivity().setResult(Activity.RESULT_OK, i);
+                    getActivity().finish();
+                } else if (res.equals(AdbManager.WIRELESS_STATUS_FAIL)) {
+                    Intent i = new Intent();
+                    i.putExtra(
+                            WirelessDebuggingFragment.PAIRING_DEVICE_REQUEST_TYPE,
+                            WirelessDebuggingFragment.FAIL_ACTION);
+                    getActivity().setResult(Activity.RESULT_OK, i);
+                    getActivity().finish();
+                } else if (res.equals(AdbManager.WIRELESS_STATUS_CONNECTED)) {
+                    int port = intent.getIntExtra(AdbManager.WIRELESS_DEBUG_PORT_EXTRA, 0);
+                    Log.i(TAG, "Got Qr pairing code port=" + port);
+                }
+            }
+        }
+    };
+
+    private final Handler mHandler = new Handler() {
+        @Override
+        public void handleMessage(Message msg) {
+            switch (msg.what) {
+                case MESSAGE_HIDE_ERROR_MESSAGE:
+                    mErrorMessage.setVisibility(View.INVISIBLE);
+                    break;
+
+                case MESSAGE_SHOW_ERROR_MESSAGE:
+                    final String errorMessage = (String) msg.obj;
+
+                    mErrorMessage.setVisibility(View.VISIBLE);
+                    mErrorMessage.setText(errorMessage);
+                    mErrorMessage.sendAccessibilityEvent(
+                            AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED);
+
+                    // Cancel any pending messages to hide error view and requeue the message so
+                    // user has time to see error
+                    removeMessages(MESSAGE_HIDE_ERROR_MESSAGE);
+                    sendEmptyMessageDelayed(MESSAGE_HIDE_ERROR_MESSAGE,
+                            SHOW_ERROR_MESSAGE_INTERVAL);
+                    break;
+
+                default:
+                    return;
+            }
+        }
+    };
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+
+        mIntentFilter = new IntentFilter(AdbManager.WIRELESS_DEBUG_PAIRING_RESULT_ACTION);
+    }
+
+    @Override
+    public final View onCreateView(LayoutInflater inflater, ViewGroup container,
+            Bundle savedInstanceState) {
+        return inflater.inflate(R.layout.adb_qrcode_scanner_fragment, container, false);
+    }
+
+    @Override
+    public void onViewCreated(View view, Bundle savedInstanceState) {
+        super.onViewCreated(view, savedInstanceState);
+
+        mTextureView = (TextureView) view.findViewById(R.id.preview_view);
+        mTextureView.setSurfaceTextureListener(this);
+
+        mDecorateView = view.findViewById(R.id.decorate_view);
+        setProgressBarShown(false);
+
+        setHeaderIconImageResource(R.drawable.ic_scan_24dp);
+
+        mQrCameraView = view.findViewById(R.id.camera_layout);
+        mVerifyingView = view.findViewById(R.id.verifying_layout);
+
+        setHeaderTitle(R.string.wifi_dpp_scan_qr_code);
+        mSummary.setText(R.string.adb_wireless_qrcode_pairing_description);
+
+        mErrorMessage = view.findViewById(R.id.error_message);
+    }
+
+    @Override
+    public void onResume() {
+        super.onResume();
+
+        mAdbManager = IAdbManager.Stub.asInterface(ServiceManager.getService(Context.ADB_SERVICE));
+        getActivity().registerReceiver(mReceiver, mIntentFilter);
+    }
+
+    @Override
+    public void onPause() {
+        super.onPause();
+
+        getActivity().unregisterReceiver(mReceiver);
+        try {
+            mAdbManager.disablePairing();
+        } catch (RemoteException e) {
+            Log.e(TAG, "Unable to cancel pairing");
+        }
+        getActivity().finish();
+    }
+
+    @Override
+    public void onSurfaceTextureUpdated(SurfaceTexture surface) {
+        // Do nothing
+    }
+
+    @Override
+    public void onAttach(Context context) {
+        super.onAttach(context);
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return 0;
+    }
+
+    @Override
+    public void onSurfaceTextureAvailable(SurfaceTexture surface, int width, int height) {
+        initCamera(surface);
+    }
+
+    @Override
+    public void onSurfaceTextureSizeChanged(SurfaceTexture surface, int width, int height) {
+        // Do nothing
+    }
+
+    @Override
+    public boolean onSurfaceTextureDestroyed(SurfaceTexture surface) {
+        destroyCamera();
+        return true;
+    }
+
+    @Override
+    public Size getViewSize() {
+        return new Size(mTextureView.getWidth(), mTextureView.getHeight());
+    }
+
+    @Override
+    public void setTransform(Matrix transform) {
+        mTextureView.setTransform(transform);
+    }
+
+    @Override
+    public Rect getFramePosition(Size previewSize, int cameraOrientation) {
+        return new Rect(0, 0, previewSize.getHeight(), previewSize.getHeight());
+    }
+
+    @Override
+    public boolean isValid(String qrCode) {
+        try {
+            // WIFI:T:ADB;S:myname;P:mypass;;
+            mAdbQrCode = new AdbQrCode(qrCode);
+        } catch (IllegalArgumentException e) {
+            showErrorMessage(R.string.wifi_dpp_qr_code_is_not_valid_format);
+            return false;
+        }
+
+        mAdbConfig = mAdbQrCode.getAdbNetworkConfig();
+
+        return true;
+    }
+
+    @Override
+    public void handleSuccessfulResult(String qrCode) {
+        destroyCamera();
+        mDecorateView.setFocused(true);
+        mQrCameraView.setVisibility(View.GONE);
+        mVerifyingView.setVisibility(View.VISIBLE);
+        try {
+            mAdbManager.enablePairingByQrCode(mAdbConfig.getSsid(),
+                    mAdbConfig.getPreSharedKey());
+        } catch (RemoteException e) {
+            Log.e(TAG, "Unable to enable QR code pairing");
+            getActivity().finish();
+        }
+    }
+
+    @Override
+    public void handleCameraFailure() {
+        destroyCamera();
+    }
+
+    private void initCamera(SurfaceTexture surface) {
+        // Check if the camera has alread been created.
+        if (mCamera == null) {
+            mCamera = new QrCamera(getContext(), this);
+            mCamera.start(surface);
+        }
+    }
+
+    /**
+     * To resume camera decoding task after handshake fail or Wi-Fi connection fail.
+     */
+    private void restartCamera() {
+        if (mCamera == null) {
+            Log.d(TAG, "mCamera is not available for restarting camera");
+            return;
+        }
+
+        if (mCamera.isDecodeTaskAlive()) {
+            mCamera.stop();
+        }
+
+        final SurfaceTexture surfaceTexture = mTextureView.getSurfaceTexture();
+        if (surfaceTexture == null) {
+            throw new IllegalStateException("SurfaceTexture is not ready for restarting camera");
+        }
+
+        mCamera.start(surfaceTexture);
+    }
+
+    private void destroyCamera() {
+        if (mCamera != null) {
+            mCamera.stop();
+            mCamera = null;
+        }
+    }
+
+    private void showErrorMessage(@StringRes int messageResId) {
+        final Message message = mHandler.obtainMessage(MESSAGE_SHOW_ERROR_MESSAGE,
+                getString(messageResId));
+        message.sendToTarget();
+    }
+
+    @Override
+    protected boolean isFooterAvailable() {
+        return false;
+    }
+}
diff --git a/src/com/android/settings/development/AdbWirelessDialog.java b/src/com/android/settings/development/AdbWirelessDialog.java
new file mode 100644
index 0000000..48884b9
--- /dev/null
+++ b/src/com/android/settings/development/AdbWirelessDialog.java
@@ -0,0 +1,157 @@
+/*
+ * 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.development;
+
+import android.content.Context;
+import android.content.DialogInterface;
+import android.os.Bundle;
+import android.view.View;
+import android.widget.Button;
+
+import androidx.appcompat.app.AlertDialog;
+
+import com.android.settings.R;
+
+/**
+ * Class to show a variety of dialogs for the Wireless debugging
+ * fragment.
+ */
+public class AdbWirelessDialog extends AlertDialog implements
+        AdbWirelessDialogUiBase,
+        DialogInterface.OnClickListener {
+
+    /**
+     * Interface for subscribers to implement in order to listen
+     * to AdbWirelessDialog events.
+     */
+    public interface AdbWirelessDialogListener {
+        /**
+         * Called when the dialog was closed by clicking a negative button.
+         */
+        default void onCancel() {
+        }
+
+        /**
+         * Called when the dialog was closed by clicking a positive button.
+         *
+         * @param dialog the dialog that was closed.
+         */
+        default void onSubmit(AdbWirelessDialog dialog) {
+        }
+
+        /**
+         * Called when the dialog was dismissed.
+         */
+        default void onDismiss() {
+        }
+    }
+
+    private static final String TAG = "AdbWirelessDialog";
+
+    private static final int BUTTON_CANCEL = DialogInterface.BUTTON_NEGATIVE;
+    private static final int BUTTON_SUBMIT = DialogInterface.BUTTON_POSITIVE;
+
+    private final AdbWirelessDialogListener mListener;
+    private final int mMode;
+
+    private View mView;
+    private AdbWirelessDialogController mController;
+
+    /**
+     * Creates a AdbWirelessDialog with no additional style. It displays as a dialog above the
+     * current view.
+     */
+    public static AdbWirelessDialog createModal(
+            Context context,
+            AdbWirelessDialogListener listener,
+            int mode) {
+        return new AdbWirelessDialog(context, listener, mode);
+    }
+
+    AdbWirelessDialog(Context context, AdbWirelessDialogListener listener, int mode) {
+        super(context);
+        mListener = listener;
+        mMode = mode;
+    }
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        mView = getLayoutInflater().inflate(R.layout.adb_wireless_dialog, null);
+        setView(mView);
+        mController = new AdbWirelessDialogController(this, mView, mMode);
+        super.onCreate(savedInstanceState);
+    }
+
+    @Override
+    protected void onStop() {
+        super.onStop();
+
+        dismiss();
+        if (mListener != null) {
+            mListener.onDismiss();
+        }
+    }
+
+    @Override
+    public void onClick(DialogInterface dialogInterface, int id) {
+        if (mListener != null) {
+            switch (id) {
+                case BUTTON_CANCEL:
+                    mListener.onCancel();
+                    break;
+            }
+        }
+    }
+
+    @Override
+    public AdbWirelessDialogController getController() {
+        return mController;
+    }
+
+    @Override
+    public void dispatchSubmit() {
+        if (mListener != null) {
+            mListener.onSubmit(this);
+        }
+        dismiss();
+    }
+
+    @Override
+    public int getMode() {
+        return mMode;
+    }
+
+    @Override
+    public Button getSubmitButton() {
+        return getButton(BUTTON_SUBMIT);
+    }
+
+    @Override
+    public Button getCancelButton() {
+        return getButton(BUTTON_NEGATIVE);
+    }
+
+    @Override
+    public void setSubmitButton(CharSequence text) {
+        setButton(BUTTON_SUBMIT, text, this);
+    }
+
+    @Override
+    public void setCancelButton(CharSequence text) {
+        setButton(BUTTON_NEGATIVE, text, this);
+    }
+}
diff --git a/src/com/android/settings/development/AdbWirelessDialogController.java b/src/com/android/settings/development/AdbWirelessDialogController.java
new file mode 100644
index 0000000..136c7b3
--- /dev/null
+++ b/src/com/android/settings/development/AdbWirelessDialogController.java
@@ -0,0 +1,104 @@
+/*
+ * 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.development;
+
+import android.content.Context;
+import android.content.res.Resources;
+import android.view.View;
+import android.widget.TextView;
+
+import com.android.settings.R;
+
+/**
+ * The class for allowing UIs like {@link AdbWirelessDialog} and {@link AdbWirelessDialogUiBase} to
+ * share the logic for controlling buttons, text fields, etc.
+ */
+public class AdbWirelessDialogController {
+    private static final String TAG = "AdbWirelessDialogCtrl";
+
+    private final AdbWirelessDialogUiBase mUi;
+    private final View mView;
+
+    private int mMode;
+
+    // The dialog for showing the six-digit code
+    private TextView mPairingCodeTitle;
+    private TextView mSixDigitCode;
+    private TextView mIpAddr;
+
+    // The dialog for showing pairing failed message
+    private TextView mFailedMsg;
+
+    private Context mContext;
+
+    public AdbWirelessDialogController(AdbWirelessDialogUiBase parent, View view,
+            int mode) {
+        mUi = parent;
+        mView = view;
+        mMode = mode;
+
+        mContext = mUi.getContext();
+        final Resources res = mContext.getResources();
+
+        mSixDigitCode = mView.findViewById(R.id.pairing_code);
+        mIpAddr = mView.findViewById(R.id.ip_addr);
+
+        switch (mMode) {
+            case AdbWirelessDialogUiBase.MODE_PAIRING:
+                String title = res.getString(R.string.adb_pairing_device_dialog_title);
+                mUi.setTitle(title);
+                mView.findViewById(R.id.l_pairing_six_digit).setVisibility(View.VISIBLE);
+                mUi.setCancelButton(res.getString(R.string.cancel));
+                mUi.setCanceledOnTouchOutside(false);
+                break;
+            case AdbWirelessDialogUiBase.MODE_PAIRING_FAILED:
+                String msg = res.getString(R.string.adb_pairing_device_dialog_failed_msg);
+                mUi.setTitle(R.string.adb_pairing_device_dialog_failed_title);
+                mView.findViewById(R.id.l_pairing_failed).setVisibility(View.VISIBLE);
+                mFailedMsg = (TextView) mView.findViewById(R.id.pairing_failed_label);
+                mFailedMsg.setText(msg);
+                mUi.setSubmitButton(res.getString(R.string.okay));
+                break;
+            case AdbWirelessDialogUiBase.MODE_QRCODE_FAILED:
+                mUi.setTitle(R.string.adb_pairing_device_dialog_failed_title);
+                mView.findViewById(R.id.l_qrcode_pairing_failed).setVisibility(View.VISIBLE);
+                mUi.setSubmitButton(res.getString(R.string.okay));
+                break;
+        }
+
+        // After done view show and hide, request focus from parent view
+        mView.findViewById(R.id.l_adbwirelessdialog).requestFocus();
+    }
+
+    /**
+     * Set the pairing code UI text field to code.
+     *
+     * @param code the pairing code string
+     */
+    public void setPairingCode(String code) {
+        mSixDigitCode.setText(code);
+    }
+
+    /**
+     * Set the Ip address UI text field to ipAddr.
+     *
+     * @param ipAddr the ip address string
+     */
+    public void setIpAddr(String ipAddr) {
+        mIpAddr.setText(ipAddr);
+    }
+}
diff --git a/src/com/android/settings/development/AdbWirelessDialogUiBase.java b/src/com/android/settings/development/AdbWirelessDialogUiBase.java
new file mode 100644
index 0000000..b2fc01c
--- /dev/null
+++ b/src/com/android/settings/development/AdbWirelessDialogUiBase.java
@@ -0,0 +1,126 @@
+/*
+ * 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.development;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.widget.Button;
+
+/**
+ * Foundation interface glues between Activities and UIs like {@link AdbWirelessDialog}.
+ */
+public interface AdbWirelessDialogUiBase {
+    /**
+     * Dialog shown when pairing a device via six-digit code.
+     */
+    int MODE_PAIRING = 0;
+    /**
+     *  Dialog shown when connecting to a paired device failed.
+     */
+    int MODE_CONNECTION_FAILED = 1;
+    /**
+     * Dialog shown when pairing failed.
+     */
+    int MODE_PAIRING_FAILED = 2;
+
+    /**
+     * Dialog shown when QR code pairing failed.
+     */
+    int MODE_QRCODE_FAILED = 3;
+
+    /**
+     * Gets the context for the dialog.
+     *
+     * @return the context for the dialog
+     */
+    Context getContext();
+
+    /**
+     * Gets the controller for the dialog.
+     *
+     * @return the controller for the dialog.
+     */
+    AdbWirelessDialogController getController();
+
+    /**
+     * Gets the layout for the dialog.
+     *
+     * @return the {@link LayoutInflater} for the dialog
+     */
+    LayoutInflater getLayoutInflater();
+
+    /**
+     * Gets the dialog mode/ID.
+     *
+     * @return the mode of the dialog
+     */
+    int getMode();
+
+    /**
+     * Sends a submit command to the dialog.
+     */
+    void dispatchSubmit();
+
+    /**
+     * Enables if user can cancel a dialog by clicking outside of the dialog.
+     *
+     * @param cancel The flag indicating if can cancel by clicking outside
+     */
+    void setCanceledOnTouchOutside(boolean cancel);
+
+    /**
+     * Sets the title of the dialog.
+     *
+     * @param id the string id
+     */
+    void setTitle(int id);
+
+    /**
+     * Sets the title of the dialog.
+     *
+     * @param title the title string
+     */
+    void setTitle(CharSequence title);
+
+    /**
+     * Sets the text for the submit button.
+     *
+     * @param text the submit text
+     */
+    void setSubmitButton(CharSequence text);
+
+    /**
+     * Sets the text for the cancel button.
+     *
+     * @param text the cancel text
+     */
+    void setCancelButton(CharSequence text);
+
+    /**
+     * Gets the button widget for the submit button.
+     *
+     * @return the submit {@link Button} widget
+     */
+    Button getSubmitButton();
+
+    /**
+     * Gets the button widget for the cancel button.
+     *
+     * @return the cancel {@link Button} widget
+     */
+    Button getCancelButton();
+}
diff --git a/src/com/android/settings/development/AppPicker.java b/src/com/android/settings/development/AppPicker.java
index 04f318f..d819bc2 100644
--- a/src/com/android/settings/development/AppPicker.java
+++ b/src/com/android/settings/development/AppPicker.java
@@ -68,16 +68,6 @@
     }
 
     @Override
-    protected void onResume() {
-        super.onResume();
-    }
-
-    @Override
-    protected void onStop() {
-        super.onStop();
-    }
-
-    @Override
     protected void onListItemClick(ListView l, View v, int position, long id) {
         MyApplicationInfo app = mAdapter.getItem(position);
         Intent intent = new Intent();
diff --git a/src/com/android/settings/development/BluetoothA2dpConfigStore.java b/src/com/android/settings/development/BluetoothA2dpConfigStore.java
index edf74e3..0b154d2 100644
--- a/src/com/android/settings/development/BluetoothA2dpConfigStore.java
+++ b/src/com/android/settings/development/BluetoothA2dpConfigStore.java
@@ -54,7 +54,7 @@
         mChannelMode = channelMode;
     }
 
-    public void setCodecSpecific1Value(int codecSpecific1Value) {
+    public void setCodecSpecific1Value(long codecSpecific1Value) {
         mCodecSpecific1Value = codecSpecific1Value;
     }
 
diff --git a/src/com/android/settings/development/BluetoothAudioBitsPerSamplePreferenceController.java b/src/com/android/settings/development/BluetoothAudioBitsPerSamplePreferenceController.java
deleted file mode 100644
index f237ac1..0000000
--- a/src/com/android/settings/development/BluetoothAudioBitsPerSamplePreferenceController.java
+++ /dev/null
@@ -1,102 +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.development;
-
-import android.bluetooth.BluetoothCodecConfig;
-import android.content.Context;
-
-import com.android.settings.R;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-public class BluetoothAudioBitsPerSamplePreferenceController extends
-        AbstractBluetoothA2dpPreferenceController {
-
-    private static final int DEFAULT_INDEX = 0;
-    private static final String BLUETOOTH_SELECT_A2DP_BITS_PER_SAMPLE_KEY =
-            "bluetooth_select_a2dp_bits_per_sample";
-
-    public BluetoothAudioBitsPerSamplePreferenceController(Context context, Lifecycle lifecycle,
-            BluetoothA2dpConfigStore store) {
-        super(context, lifecycle, store);
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return BLUETOOTH_SELECT_A2DP_BITS_PER_SAMPLE_KEY;
-    }
-
-    @Override
-    protected String[] getListValues() {
-        return mContext.getResources().getStringArray(
-                R.array.bluetooth_a2dp_codec_bits_per_sample_values);
-    }
-
-    @Override
-    protected String[] getListSummaries() {
-        return mContext.getResources().getStringArray(
-                R.array.bluetooth_a2dp_codec_bits_per_sample_summaries);
-    }
-
-    @Override
-    protected int getDefaultIndex() {
-        return DEFAULT_INDEX;
-    }
-
-    @Override
-    protected void writeConfigurationValues(Object newValue) {
-        final int index = mPreference.findIndexOfValue(newValue.toString());
-        int bitsPerSampleValue = BluetoothCodecConfig.BITS_PER_SAMPLE_NONE; // default
-        switch (index) {
-            case 0:
-                // Reset to default
-                break;
-            case 1:
-                bitsPerSampleValue = BluetoothCodecConfig.BITS_PER_SAMPLE_16;
-                break;
-            case 2:
-                bitsPerSampleValue = BluetoothCodecConfig.BITS_PER_SAMPLE_24;
-                break;
-            case 3:
-                bitsPerSampleValue = BluetoothCodecConfig.BITS_PER_SAMPLE_32;
-                break;
-            default:
-                break;
-        }
-        mBluetoothA2dpConfigStore.setBitsPerSample(bitsPerSampleValue);
-    }
-
-    @Override
-    protected int getCurrentA2dpSettingIndex(BluetoothCodecConfig config) {
-        final int bitsPerSample = config.getBitsPerSample();
-        int index = DEFAULT_INDEX;
-        switch (bitsPerSample) {
-            case BluetoothCodecConfig.BITS_PER_SAMPLE_16:
-                index = 1;
-                break;
-            case BluetoothCodecConfig.BITS_PER_SAMPLE_24:
-                index = 2;
-                break;
-            case BluetoothCodecConfig.BITS_PER_SAMPLE_32:
-                index = 3;
-                break;
-            case BluetoothCodecConfig.BITS_PER_SAMPLE_NONE:
-            default:
-                break;
-        }
-        return index;
-    }
-}
diff --git a/src/com/android/settings/development/BluetoothAudioChannelModePreferenceController.java b/src/com/android/settings/development/BluetoothAudioChannelModePreferenceController.java
deleted file mode 100644
index a58c675..0000000
--- a/src/com/android/settings/development/BluetoothAudioChannelModePreferenceController.java
+++ /dev/null
@@ -1,96 +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.development;
-
-import android.bluetooth.BluetoothCodecConfig;
-import android.content.Context;
-
-import com.android.settings.R;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-public class BluetoothAudioChannelModePreferenceController extends
-        AbstractBluetoothA2dpPreferenceController {
-
-    private static final int DEFAULT_INDEX = 0;
-    private static final String BLUETOOTH_SELECT_A2DP_CHANNEL_MODE_KEY =
-            "bluetooth_select_a2dp_channel_mode";
-
-    public BluetoothAudioChannelModePreferenceController(Context context, Lifecycle lifecycle,
-            BluetoothA2dpConfigStore store) {
-        super(context, lifecycle, store);
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return BLUETOOTH_SELECT_A2DP_CHANNEL_MODE_KEY;
-    }
-
-    @Override
-    protected String[] getListValues() {
-        return mContext.getResources().getStringArray(
-                R.array.bluetooth_a2dp_codec_channel_mode_values);
-    }
-
-    @Override
-    protected String[] getListSummaries() {
-        return mContext.getResources().getStringArray(
-                R.array.bluetooth_a2dp_codec_channel_mode_summaries);
-    }
-
-    @Override
-    protected int getDefaultIndex() {
-        return DEFAULT_INDEX;
-    }
-
-    @Override
-    protected void writeConfigurationValues(Object newValue) {
-        final int index = mPreference.findIndexOfValue(newValue.toString());
-        int channelModeValue = BluetoothCodecConfig.CHANNEL_MODE_NONE; // default
-        switch (index) {
-            case 0:
-                // Reset to default
-                break;
-            case 1:
-                channelModeValue = BluetoothCodecConfig.CHANNEL_MODE_MONO;
-                break;
-            case 2:
-                channelModeValue = BluetoothCodecConfig.CHANNEL_MODE_STEREO;
-                break;
-            default:
-                break;
-        }
-        mBluetoothA2dpConfigStore.setChannelMode(channelModeValue);
-    }
-
-    @Override
-    protected int getCurrentA2dpSettingIndex(BluetoothCodecConfig config) {
-        final int channelMode = config.getChannelMode();
-        int index = DEFAULT_INDEX;
-        switch (channelMode) {
-            case BluetoothCodecConfig.CHANNEL_MODE_MONO:
-                index = 1;
-                break;
-            case BluetoothCodecConfig.CHANNEL_MODE_STEREO:
-                index = 2;
-                break;
-            case BluetoothCodecConfig.CHANNEL_MODE_NONE:
-            default:
-                break;
-        }
-        return index;
-    }
-}
diff --git a/src/com/android/settings/development/BluetoothAudioCodecPreferenceController.java b/src/com/android/settings/development/BluetoothAudioCodecPreferenceController.java
deleted file mode 100644
index b5c40a3..0000000
--- a/src/com/android/settings/development/BluetoothAudioCodecPreferenceController.java
+++ /dev/null
@@ -1,156 +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.development;
-
-import android.bluetooth.BluetoothCodecConfig;
-import android.content.Context;
-
-import com.android.settings.R;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-public class BluetoothAudioCodecPreferenceController extends
-        AbstractBluetoothA2dpPreferenceController {
-
-    private static final int DEFAULT_INDEX = 0;
-    private static final String BLUETOOTH_SELECT_A2DP_CODEC_KEY = "bluetooth_select_a2dp_codec";
-
-    public BluetoothAudioCodecPreferenceController(Context context, Lifecycle lifecycle,
-            BluetoothA2dpConfigStore store) {
-        super(context, lifecycle, store);
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return BLUETOOTH_SELECT_A2DP_CODEC_KEY;
-    }
-
-    @Override
-    protected String[] getListValues() {
-        return mContext.getResources().getStringArray(
-                R.array.bluetooth_a2dp_codec_values);
-    }
-
-    @Override
-    protected String[] getListSummaries() {
-        return mContext.getResources().getStringArray(
-                R.array.bluetooth_a2dp_codec_summaries);
-    }
-
-    @Override
-    protected int getDefaultIndex() {
-        return DEFAULT_INDEX;
-    }
-
-    @Override
-    protected void writeConfigurationValues(Object newValue) {
-        final int index = mPreference.findIndexOfValue(newValue.toString());
-        int codecTypeValue = BluetoothCodecConfig.SAMPLE_RATE_NONE; // default
-        int codecPriorityValue = BluetoothCodecConfig.CODEC_PRIORITY_DEFAULT;
-        switch (index) {
-            case 0:
-                // Reset the priority of the current codec to default
-                final String oldValue = mPreference.getValue();
-                switch (mPreference.findIndexOfValue(oldValue)) {
-                    case 0:
-                        break;      // No current codec
-                    case 1:
-                        codecTypeValue = BluetoothCodecConfig.SOURCE_CODEC_TYPE_SBC;
-                        break;
-                    case 2:
-                        codecTypeValue = BluetoothCodecConfig.SOURCE_CODEC_TYPE_AAC;
-                        break;
-                    case 3:
-                        codecTypeValue = BluetoothCodecConfig.SOURCE_CODEC_TYPE_APTX;
-                        break;
-                    case 4:
-                        codecTypeValue = BluetoothCodecConfig.SOURCE_CODEC_TYPE_APTX_HD;
-                        break;
-                    case 5:
-                        codecTypeValue = BluetoothCodecConfig.SOURCE_CODEC_TYPE_LDAC;
-                        break;
-                    default:
-                        break;
-                }
-                break;
-            case 1:
-                codecTypeValue = BluetoothCodecConfig.SOURCE_CODEC_TYPE_SBC;
-                codecPriorityValue = BluetoothCodecConfig.CODEC_PRIORITY_HIGHEST;
-                break;
-            case 2:
-                codecTypeValue = BluetoothCodecConfig.SOURCE_CODEC_TYPE_AAC;
-                codecPriorityValue = BluetoothCodecConfig.CODEC_PRIORITY_HIGHEST;
-                break;
-            case 3:
-                codecTypeValue = BluetoothCodecConfig.SOURCE_CODEC_TYPE_APTX;
-                codecPriorityValue = BluetoothCodecConfig.CODEC_PRIORITY_HIGHEST;
-                break;
-            case 4:
-                codecTypeValue = BluetoothCodecConfig.SOURCE_CODEC_TYPE_APTX_HD;
-                codecPriorityValue = BluetoothCodecConfig.CODEC_PRIORITY_HIGHEST;
-                break;
-            case 5:
-                codecTypeValue = BluetoothCodecConfig.SOURCE_CODEC_TYPE_LDAC;
-                codecPriorityValue = BluetoothCodecConfig.CODEC_PRIORITY_HIGHEST;
-                break;
-            case 6:
-                synchronized (mBluetoothA2dpConfigStore) {
-                    if (mBluetoothA2dp != null) {
-                        mBluetoothA2dp.enableOptionalCodecs(null); // Use current active device
-                    }
-                }
-                return;
-            case 7:
-                synchronized (mBluetoothA2dpConfigStore) {
-                    if (mBluetoothA2dp != null) {
-                        mBluetoothA2dp.disableOptionalCodecs(null); // Use current active device
-                    }
-                }
-                return;
-            default:
-                break;
-        }
-        mBluetoothA2dpConfigStore.setCodecType(codecTypeValue);
-        mBluetoothA2dpConfigStore.setCodecPriority(codecPriorityValue);
-    }
-
-    @Override
-    protected int getCurrentA2dpSettingIndex(BluetoothCodecConfig config) {
-        final int codecType = config.getCodecType();
-        int index = DEFAULT_INDEX;
-        switch (codecType) {
-            case BluetoothCodecConfig.SOURCE_CODEC_TYPE_SBC:
-                index = 1;
-                break;
-            case BluetoothCodecConfig.SOURCE_CODEC_TYPE_AAC:
-                index = 2;
-                break;
-            case BluetoothCodecConfig.SOURCE_CODEC_TYPE_APTX:
-                index = 3;
-                break;
-            case BluetoothCodecConfig.SOURCE_CODEC_TYPE_APTX_HD:
-                index = 4;
-                break;
-            case BluetoothCodecConfig.SOURCE_CODEC_TYPE_LDAC:
-                index = 5;
-                break;
-            case BluetoothCodecConfig.SOURCE_CODEC_TYPE_INVALID:
-            default:
-                break;
-        }
-        return index;
-    }
-}
diff --git a/src/com/android/settings/development/BluetoothAudioQualityPreferenceController.java b/src/com/android/settings/development/BluetoothAudioQualityPreferenceController.java
deleted file mode 100644
index 7adf8e6..0000000
--- a/src/com/android/settings/development/BluetoothAudioQualityPreferenceController.java
+++ /dev/null
@@ -1,100 +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.development;
-
-import android.bluetooth.BluetoothCodecConfig;
-import android.content.Context;
-
-import com.android.settings.R;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-public class BluetoothAudioQualityPreferenceController extends
-        AbstractBluetoothA2dpPreferenceController {
-
-    private static final int DEFAULT_INDEX = 3;
-    private static final String BLUETOOTH_SELECT_A2DP_LDAC_PLAYBACK_QUALITY_KEY =
-            "bluetooth_select_a2dp_ldac_playback_quality";
-
-    public BluetoothAudioQualityPreferenceController(Context context, Lifecycle lifecycle,
-            BluetoothA2dpConfigStore store) {
-        super(context, lifecycle, store);
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return BLUETOOTH_SELECT_A2DP_LDAC_PLAYBACK_QUALITY_KEY;
-    }
-
-    @Override
-    protected String[] getListValues() {
-        return mContext.getResources().getStringArray(
-                R.array.bluetooth_a2dp_codec_ldac_playback_quality_values);
-    }
-
-    @Override
-    protected String[] getListSummaries() {
-        return mContext.getResources().getStringArray(
-                R.array.bluetooth_a2dp_codec_ldac_playback_quality_summaries);
-    }
-
-    @Override
-    protected int getDefaultIndex() {
-        return DEFAULT_INDEX;
-    }
-
-    @Override
-    protected void writeConfigurationValues(Object newValue) {
-        final int index = mPreference.findIndexOfValue(newValue.toString());
-        int codecSpecific1Value = 0; // default
-        switch (index) {
-            case 0:
-            case 1:
-            case 2:
-            case 3:
-                codecSpecific1Value = 1000 + index;
-                break;
-            default:
-                break;
-        }
-        mBluetoothA2dpConfigStore.setCodecSpecific1Value(codecSpecific1Value);
-    }
-
-    @Override
-    protected int getCurrentA2dpSettingIndex(BluetoothCodecConfig config) {
-        // The actual values are 0, 1, 2 - those are extracted
-        // as mod-10 remainders of a larger value.
-        // The reason is because within BluetoothCodecConfig we cannot use
-        // a codec-specific value of zero.
-        int index = (int) config.getCodecSpecific1();
-        if (index > 0) {
-            index %= 10;
-        } else {
-            index = DEFAULT_INDEX;
-        }
-        switch (index) {
-            case 0:
-            case 1:
-            case 2:
-            case 3:
-                break;
-            default:
-                index = DEFAULT_INDEX;
-                break;
-        }
-        return index;
-    }
-}
diff --git a/src/com/android/settings/development/BluetoothAudioSampleRatePreferenceController.java b/src/com/android/settings/development/BluetoothAudioSampleRatePreferenceController.java
deleted file mode 100644
index 35b449e..0000000
--- a/src/com/android/settings/development/BluetoothAudioSampleRatePreferenceController.java
+++ /dev/null
@@ -1,110 +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.development;
-
-import android.bluetooth.BluetoothCodecConfig;
-import android.content.Context;
-
-import com.android.settings.R;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-public class BluetoothAudioSampleRatePreferenceController extends
-        AbstractBluetoothA2dpPreferenceController {
-
-    private static final int DEFAULT_INDEX = 0;
-    private static final String BLUETOOTH_SELECT_A2DP_SAMPLE_RATE_KEY =
-            "bluetooth_select_a2dp_sample_rate";
-
-    public BluetoothAudioSampleRatePreferenceController(Context context, Lifecycle lifecycle,
-            BluetoothA2dpConfigStore store) {
-        super(context, lifecycle, store);
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return BLUETOOTH_SELECT_A2DP_SAMPLE_RATE_KEY;
-    }
-
-    @Override
-    protected String[] getListValues() {
-        return mContext.getResources().getStringArray(
-                R.array.bluetooth_a2dp_codec_sample_rate_values);
-    }
-
-    @Override
-    protected String[] getListSummaries() {
-        return mContext.getResources().getStringArray(
-                R.array.bluetooth_a2dp_codec_sample_rate_summaries);
-    }
-
-    @Override
-    protected int getDefaultIndex() {
-        return DEFAULT_INDEX;
-    }
-
-    @Override
-    protected void writeConfigurationValues(Object newValue) {
-        final int index = mPreference.findIndexOfValue(newValue.toString());
-        int sampleRateValue = BluetoothCodecConfig.SAMPLE_RATE_NONE; // default
-        switch (index) {
-            case 0:
-                sampleRateValue = BluetoothCodecConfig.SAMPLE_RATE_NONE;
-                break;
-            case 1:
-                sampleRateValue = BluetoothCodecConfig.SAMPLE_RATE_44100;
-                break;
-            case 2:
-                sampleRateValue = BluetoothCodecConfig.SAMPLE_RATE_48000;
-                break;
-            case 3:
-                sampleRateValue = BluetoothCodecConfig.SAMPLE_RATE_88200;
-                break;
-            case 4:
-                sampleRateValue = BluetoothCodecConfig.SAMPLE_RATE_96000;
-                break;
-            default:
-                break;
-        }
-        mBluetoothA2dpConfigStore.setSampleRate(sampleRateValue);
-    }
-
-    @Override
-    protected int getCurrentA2dpSettingIndex(BluetoothCodecConfig config) {
-        final int sampleRate = config.getSampleRate();
-        int index = DEFAULT_INDEX;
-        switch (sampleRate) {
-            case BluetoothCodecConfig.SAMPLE_RATE_44100:
-                index = 1;
-                break;
-            case BluetoothCodecConfig.SAMPLE_RATE_48000:
-                index = 2;
-                break;
-            case BluetoothCodecConfig.SAMPLE_RATE_88200:
-                index = 3;
-                break;
-            case BluetoothCodecConfig.SAMPLE_RATE_96000:
-                index = 4;
-                break;
-            case BluetoothCodecConfig.SAMPLE_RATE_176400:
-            case BluetoothCodecConfig.SAMPLE_RATE_192000:
-            case BluetoothCodecConfig.SAMPLE_RATE_NONE:
-            default:
-                break;
-        }
-        return index;
-    }
-}
diff --git a/src/com/android/settings/development/BluetoothGabeldorschePreferenceController.java b/src/com/android/settings/development/BluetoothGabeldorschePreferenceController.java
new file mode 100644
index 0000000..48a3e95
--- /dev/null
+++ b/src/com/android/settings/development/BluetoothGabeldorschePreferenceController.java
@@ -0,0 +1,72 @@
+/*
+ * 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.development;
+
+import android.content.Context;
+import android.os.SystemProperties;
+
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.Preference;
+import androidx.preference.SwitchPreference;
+
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.development.DeveloperOptionsPreferenceController;
+
+/**
+ * Preference controller for Bluetooth Gabeldorche feature
+ */
+public class BluetoothGabeldorschePreferenceController extends
+        DeveloperOptionsPreferenceController implements Preference.OnPreferenceChangeListener,
+        PreferenceControllerMixin {
+
+    private static final String BLUETOOTH_GABELDORSCHE_KEY =
+            "bluetooth_gabeldorsche_enable";
+    @VisibleForTesting
+    static final String BLUETOOTH_GABELDORSCHE_PROPERTY =
+            "bluetooth.gd.enabled";
+
+    public BluetoothGabeldorschePreferenceController(Context context) {
+        super(context);
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return BLUETOOTH_GABELDORSCHE_KEY;
+    }
+
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object newValue) {
+        final boolean isEnabled = (Boolean) newValue;
+        SystemProperties.set(BLUETOOTH_GABELDORSCHE_PROPERTY,
+                isEnabled ? "true" : "false");
+        return true;
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        final boolean isEnabled = SystemProperties.getBoolean(
+                BLUETOOTH_GABELDORSCHE_PROPERTY, false /* default */);
+        ((SwitchPreference) mPreference).setChecked(isEnabled);
+    }
+
+    @Override
+    protected void onDeveloperOptionsSwitchDisabled() {
+        super.onDeveloperOptionsSwitchDisabled();
+        SystemProperties.set(BLUETOOTH_GABELDORSCHE_PROPERTY, "false");
+        ((SwitchPreference) mPreference).setChecked(false);
+    }
+}
diff --git a/src/com/android/settings/development/BluetoothMapVersionPreferenceController.java b/src/com/android/settings/development/BluetoothMapVersionPreferenceController.java
new file mode 100644
index 0000000..ac20627
--- /dev/null
+++ b/src/com/android/settings/development/BluetoothMapVersionPreferenceController.java
@@ -0,0 +1,79 @@
+/*
+ * 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.development;
+
+import android.content.Context;
+import android.os.SystemProperties;
+import android.text.TextUtils;
+
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.ListPreference;
+import androidx.preference.Preference;
+
+import com.android.settings.R;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.development.DeveloperOptionsPreferenceController;
+
+/**
+ * Preference controller to control Bluetooth MAP version
+ */
+public class BluetoothMapVersionPreferenceController extends DeveloperOptionsPreferenceController
+        implements Preference.OnPreferenceChangeListener, PreferenceControllerMixin {
+
+    private static final String BLUETOOTH_SELECT_MAP_VERSION_KEY =
+            "bluetooth_select_map_version";
+
+    @VisibleForTesting
+    static final String BLUETOOTH_MAP_VERSION_PROPERTY = "persist.bluetooth.mapversion";
+
+    private final String[] mListValues;
+    private final String[] mListSummaries;
+
+    public BluetoothMapVersionPreferenceController(Context context) {
+        super(context);
+
+        mListValues = context.getResources().getStringArray(R.array.bluetooth_map_version_values);
+        mListSummaries = context.getResources().getStringArray(R.array.bluetooth_map_versions);
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return BLUETOOTH_SELECT_MAP_VERSION_KEY;
+    }
+
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object newValue) {
+        SystemProperties.set(BLUETOOTH_MAP_VERSION_PROPERTY, newValue.toString());
+        updateState(mPreference);
+        return true;
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        final ListPreference listPreference = (ListPreference) preference;
+        final String currentValue = SystemProperties.get(BLUETOOTH_MAP_VERSION_PROPERTY);
+        int index = 0; // Defaults to MAP 1.2
+        for (int i = 0; i < mListValues.length; i++) {
+            if (TextUtils.equals(currentValue, mListValues[i])) {
+                index = i;
+                break;
+            }
+        }
+        listPreference.setValue(mListValues[index]);
+        listPreference.setSummary(mListSummaries[index]);
+    }
+}
diff --git a/src/com/android/settings/development/BugReportHandlerPreferenceController.java b/src/com/android/settings/development/BugReportHandlerPreferenceController.java
new file mode 100644
index 0000000..f154537
--- /dev/null
+++ b/src/com/android/settings/development/BugReportHandlerPreferenceController.java
@@ -0,0 +1,87 @@
+/*
+ * 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.development;
+
+import android.content.Context;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.PackageManager;
+import android.os.UserManager;
+import android.text.TextUtils;
+
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.Preference;
+
+import com.android.settings.R;
+import com.android.settings.bugreporthandler.BugReportHandlerUtil;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.development.DeveloperOptionsPreferenceController;
+
+/**
+ * PreferenceController for BugReportHandler
+ */
+public class BugReportHandlerPreferenceController extends DeveloperOptionsPreferenceController
+        implements PreferenceControllerMixin {
+
+    private static final String KEY_BUG_REPORT_HANDLER = "bug_report_handler";
+
+    private final UserManager mUserManager;
+    private final BugReportHandlerUtil mBugReportHandlerUtil;
+
+    public BugReportHandlerPreferenceController(Context context) {
+        super(context);
+        mUserManager = (UserManager) context.getSystemService(Context.USER_SERVICE);
+        mBugReportHandlerUtil = new BugReportHandlerUtil();
+    }
+
+    @Override
+    public boolean isAvailable() {
+        return !mUserManager.hasUserRestriction(UserManager.DISALLOW_DEBUGGING_FEATURES)
+                && mBugReportHandlerUtil.isBugReportHandlerEnabled(mContext);
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY_BUG_REPORT_HANDLER;
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        final CharSequence currentBugReportHandlerAppLabel = getCurrentBugReportHandlerAppLabel();
+        if (!TextUtils.isEmpty(currentBugReportHandlerAppLabel)) {
+            mPreference.setSummary(currentBugReportHandlerAppLabel);
+        } else {
+            mPreference.setSummary(R.string.app_list_preference_none);
+        }
+    }
+
+    @VisibleForTesting
+    CharSequence getCurrentBugReportHandlerAppLabel() {
+        final String handlerApp = mBugReportHandlerUtil.getCurrentBugReportHandlerAppAndUser(
+                mContext).first;
+        if (BugReportHandlerUtil.SHELL_APP_PACKAGE.equals(handlerApp)) {
+            return mContext.getString(com.android.internal.R.string.android_system_label);
+        }
+        ApplicationInfo applicationInfo;
+        try {
+            applicationInfo = mContext.getPackageManager().getApplicationInfo(handlerApp,
+                    PackageManager.MATCH_ANY_USER);
+        } catch (PackageManager.NameNotFoundException e) {
+            return null;
+        }
+        return applicationInfo.loadLabel(mContext.getPackageManager());
+    }
+}
diff --git a/src/com/android/settings/development/CameraLaserSensorPreferenceController.java b/src/com/android/settings/development/CameraLaserSensorPreferenceController.java
index ec0ca24..6717280 100644
--- a/src/com/android/settings/development/CameraLaserSensorPreferenceController.java
+++ b/src/com/android/settings/development/CameraLaserSensorPreferenceController.java
@@ -75,12 +75,9 @@
         ((SwitchPreference) mPreference).setChecked(enabled);
     }
 
-    @Override
-    protected void onDeveloperOptionsSwitchDisabled() {
-        super.onDeveloperOptionsSwitchDisabled();
-        SystemProperties.set(PROPERTY_CAMERA_LASER_SENSOR, Integer.toString(DISABLED));
-        ((SwitchPreference) mPreference).setChecked(false);
-    }
+    // There should be no impact on the current
+    // laser sensor settings in case the developer
+    // settings switch is turned on or off!
 
     private boolean isLaserSensorEnabled() {
         final String prop = SystemProperties.get(PROPERTY_CAMERA_LASER_SENSOR,
diff --git a/src/com/android/settings/development/DSULoader.java b/src/com/android/settings/development/DSULoader.java
new file mode 100644
index 0000000..36ce785
--- /dev/null
+++ b/src/com/android/settings/development/DSULoader.java
@@ -0,0 +1,386 @@
+/*
+ * 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.development;
+
+import android.app.ListActivity;
+import android.content.Context;
+import android.content.Intent;
+import android.net.Uri;
+import android.os.Bundle;
+import android.os.SystemProperties;
+import android.util.Slog;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ArrayAdapter;
+import android.widget.ListView;
+
+import com.android.settings.R;
+
+import org.json.JSONArray;
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import java.io.BufferedInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import javax.net.ssl.HttpsURLConnection;
+
+/**
+ * DSU Loader is a front-end that offers developers the ability to boot into GSI with one-click. It
+ * also offers the flexibility to overwrite the default setting and load OEMs owned images.
+ */
+public class DSULoader extends ListActivity {
+    public static final String PROPERTY_KEY_FEATURE_FLAG =
+            "persist.sys.fflag.override.settings_dynamic_system";
+    private static final int Q_VNDK_BASE = 28;
+    private static final int Q_OS_BASE = 10;
+
+    private static final boolean DEBUG = false;
+    private static final String TAG = "DSULOADER";
+    private static final String PROPERTY_KEY_CPU = "ro.product.cpu.abi";
+    private static final String PROPERTY_KEY_OS = "ro.system.build.version.release";
+    private static final String PROPERTY_KEY_VNDK = "ro.vndk.version";
+    private static final String PROPERTY_KEY_LIST = "ro.vendor.dsu.list";
+    private static final String DSU_LIST =
+            "https://dl.google.com/developers/android/gsi/gsi-src.json";
+
+    private static final int TIMEOUT_MS = 10 * 1000;
+    private List<Object> mDSUList = new ArrayList<Object>();
+    private ArrayAdapter<Object> mAdapter;
+
+    private static String readAll(InputStream in) throws IOException {
+        int n;
+        StringBuilder list = new StringBuilder();
+        byte[] bytes = new byte[4096];
+        while ((n = in.read(bytes, 0, 4096)) != -1) {
+            list.append(new String(Arrays.copyOf(bytes, n)));
+        }
+        return list.toString();
+    }
+
+    private static String readAll(URL url) throws IOException {
+        InputStream in = null;
+        HttpsURLConnection connection = null;
+        Slog.i(TAG, "fetch " + url.toString());
+        try {
+            connection = (HttpsURLConnection) url.openConnection();
+            connection.setReadTimeout(TIMEOUT_MS);
+            connection.setConnectTimeout(TIMEOUT_MS);
+            connection.setRequestMethod("GET");
+            connection.setDoInput(true);
+            connection.connect();
+            int responseCode = connection.getResponseCode();
+            if (connection.getResponseCode() != HttpsURLConnection.HTTP_OK) {
+                throw new IOException("HTTP error code: " + responseCode);
+            }
+            in = new BufferedInputStream(connection.getInputStream());
+            return readAll(in);
+        } catch (Exception e) {
+            throw e;
+        } finally {
+            try {
+                if (in != null) {
+                    in.close();
+                    in = null;
+                }
+            } catch (IOException e) {
+                // ignore
+            }
+            if (connection != null) {
+                connection.disconnect();
+                connection = null;
+            }
+        }
+    }
+    // Fetcher fetches mDSUList in backgroud
+    private class Fetcher implements Runnable {
+        private URL mDsuList;
+
+        Fetcher(URL dsuList) {
+            mDsuList = dsuList;
+        }
+
+        private void fetch(URL url) throws IOException, JSONException, MalformedURLException {
+            String content = readAll(url);
+            JSONObject jsn = new JSONObject(content);
+            // The include primitive is like below
+            // "include": [
+            //   "https:/...json",
+            //    ...
+            // ]
+            if (jsn.has("include")) {
+                JSONArray include = jsn.getJSONArray("include");
+                int len = include.length();
+                for (int i = 0; i < len; i++) {
+                    if (include.isNull(i)) {
+                        continue;
+                    }
+                    fetch(new URL(include.getString(i)));
+                }
+            }
+            //  "images":[
+            //    {
+            //      "name":"...",
+            //      "os_version":"10",
+            //      "cpu_abi":"...",
+            //      "details":"...",
+            //      "vndk":[],
+            //      "spl":"...",
+            //      "pubkey":"",
+            //      "uri":"https://...zip"
+            //    },
+            //     ...
+            //  ]
+            if (jsn.has("images")) {
+                JSONArray images = jsn.getJSONArray("images");
+                int len = images.length();
+                for (int i = 0; i < len; i++) {
+                    DSUPackage dsu = new DSUPackage(images.getJSONObject(i));
+                    if (dsu.isSupported()) {
+                        mDSUList.add(dsu);
+                    }
+                }
+            }
+        }
+
+        public void run() {
+            try {
+                fetch(mDsuList);
+            } catch (IOException e) {
+                Slog.e(TAG, e.toString());
+                mDSUList.add(0, "Network Error");
+            } catch (Exception e) {
+                Slog.e(TAG, e.toString());
+                mDSUList.add(0, "Metadata Error");
+            }
+            if (mDSUList.size() == 0) {
+                mDSUList.add(0, "No DSU available for this device");
+            }
+            runOnUiThread(
+                    new Runnable() {
+                        public void run() {
+                            mAdapter.clear();
+                            mAdapter.addAll(mDSUList);
+                        }
+                    });
+        }
+    }
+
+    private class DSUPackage {
+        private static final String NAME = "name";
+        private static final String DETAILS = "details";
+        private static final String CPU_ABI = "cpu_abi";
+        private static final String URI = "uri";
+        private static final String OS_VERSION = "os_version";
+        private static final String VNDK = "vndk";
+        private static final String PUBKEY = "pubkey";
+        private static final String TOS = "tos";
+
+        String mName = null;
+        String mDetails = null;
+        String mCpuAbi = null;
+        int mOsVersion = -1;
+        int[] mVndk = null;
+        String mPubKey = "";
+        URL mTosUrl = null;
+        URL mUri;
+
+        DSUPackage(JSONObject jsn) throws JSONException, MalformedURLException {
+            Slog.i(TAG, "DSUPackage: " + jsn.toString());
+            mName = jsn.getString(NAME);
+            mDetails = jsn.getString(DETAILS);
+            mCpuAbi = jsn.getString(CPU_ABI);
+            mUri = new URL(jsn.getString(URI));
+            if (jsn.has(OS_VERSION)) {
+                mOsVersion = dessertNumber(jsn.getString(OS_VERSION), Q_OS_BASE);
+            }
+            if (jsn.has(VNDK)) {
+                JSONArray vndks = jsn.getJSONArray(VNDK);
+                mVndk = new int[vndks.length()];
+                for (int i = 0; i < vndks.length(); i++) {
+                    mVndk[i] = vndks.getInt(i);
+                }
+            }
+            if (jsn.has(PUBKEY)) {
+                mPubKey = jsn.getString(PUBKEY);
+            }
+            if (jsn.has(TOS)) {
+                mTosUrl = new URL(jsn.getString(TOS));
+            }
+        }
+
+        int dessertNumber(String s, int base) {
+            if (s == null || s.isEmpty()) {
+                return -1;
+            }
+            if (Character.isDigit(s.charAt(0))) {
+                return Integer.parseInt(s);
+            } else {
+                s = s.toUpperCase();
+                return ((int) s.charAt(0) - (int) 'Q') + base;
+            }
+        }
+
+        int getDeviceVndk() {
+            if (DEBUG) {
+                return Q_VNDK_BASE;
+            }
+            return dessertNumber(SystemProperties.get(PROPERTY_KEY_VNDK), Q_VNDK_BASE);
+        }
+
+        int getDeviceOs() {
+            if (DEBUG) {
+                return Q_OS_BASE;
+            }
+            return dessertNumber(SystemProperties.get(PROPERTY_KEY_OS), Q_OS_BASE);
+        }
+
+        String getDeviceCpu() {
+            String cpu = SystemProperties.get(PROPERTY_KEY_CPU);
+            cpu = cpu.toLowerCase();
+            if (cpu.startsWith("aarch64")) {
+                cpu = "arm64-v8a";
+            }
+            return cpu;
+        }
+
+        boolean isSupported() {
+            boolean supported = true;
+            String cpu = getDeviceCpu();
+            if (!mCpuAbi.equals(cpu)) {
+                Slog.i(TAG, mCpuAbi + " != " + cpu);
+                supported = false;
+            }
+            if (mOsVersion > 0) {
+                int os = getDeviceOs();
+                if (os < 0) {
+                    Slog.i(TAG, "Failed to getDeviceOs");
+                    supported = false;
+                } else if (mOsVersion < os) {
+                    Slog.i(TAG, mOsVersion + " < " + os);
+                    supported = false;
+                }
+            }
+            if (mVndk != null) {
+                int vndk = getDeviceVndk();
+                if (vndk < 0) {
+                    Slog.i(TAG, "Failed to getDeviceVndk");
+                    supported = false;
+                } else {
+                    boolean found_vndk = false;
+                    for (int i = 0; i < mVndk.length; i++) {
+                        if (mVndk[i] == vndk) {
+                            found_vndk = true;
+                            break;
+                        }
+                    }
+                    if (!found_vndk) {
+                        Slog.i(TAG, "vndk:" + vndk + " not found");
+                        supported = false;
+                    }
+                }
+            }
+            Slog.i(TAG, mName + " isSupported " + supported);
+            return supported;
+        }
+    }
+
+    @Override
+    protected void onCreate(Bundle icicle) {
+        super.onCreate(icicle);
+        SystemProperties.set(PROPERTY_KEY_FEATURE_FLAG, "1");
+        String dsuList = SystemProperties.get(PROPERTY_KEY_LIST);
+        Slog.e(TAG, "Try to get DSU list from: " + PROPERTY_KEY_LIST);
+        if (dsuList == null || dsuList.isEmpty()) {
+            dsuList = DSU_LIST;
+        }
+        Slog.e(TAG, "DSU list: " + dsuList);
+        URL url = null;
+        try {
+            url = new URL(dsuList);
+        } catch (MalformedURLException e) {
+            Slog.e(TAG, e.toString());
+            return;
+        }
+        mAdapter = new DSUPackageListAdapter(this);
+        setListAdapter(mAdapter);
+        mAdapter.add(getResources().getString(R.string.dsu_loader_loading));
+        new Thread(new Fetcher(url)).start();
+    }
+
+    @Override
+    protected void onListItemClick(ListView l, View v, int position, long id) {
+        Object selected = mAdapter.getItem(position);
+        if (selected instanceof DSUPackage) {
+            DSUPackage dsu = (DSUPackage) selected;
+            mAdapter.clear();
+            mAdapter.add(getResources().getString(R.string.dsu_loader_loading));
+            new Thread(new Runnable() {
+                public void run() {
+                    String termsOfService = "";
+                    if (dsu.mTosUrl != null) {
+                        try {
+                            termsOfService = readAll(dsu.mTosUrl);
+                        } catch (IOException e) {
+                            Slog.e(TAG, e.toString());
+                        }
+                    }
+                    Intent intent = new Intent(DSULoader.this, DSUTermsOfServiceActivity.class);
+                    intent.putExtra(DSUTermsOfServiceActivity.KEY_TOS, termsOfService);
+                    intent.setData(Uri.parse(dsu.mUri.toString()));
+                    intent.putExtra("KEY_PUBKEY", dsu.mPubKey);
+                    startActivity(intent);
+                }
+            }).start();
+        }
+        finish();
+    }
+
+    private class DSUPackageListAdapter extends ArrayAdapter<Object> {
+        private final LayoutInflater mInflater;
+
+        DSUPackageListAdapter(Context context) {
+            super(context, 0);
+            mInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
+        }
+
+        @Override
+        public View getView(int position, View convertView, ViewGroup parent) {
+            AppViewHolder holder = AppViewHolder.createOrRecycle(mInflater, convertView);
+            convertView = holder.rootView;
+            Object item = getItem(position);
+            if (item instanceof DSUPackage) {
+                DSUPackage dsu = (DSUPackage) item;
+                holder.appName.setText(dsu.mName);
+                holder.summary.setText(dsu.mDetails);
+            } else {
+                String msg = (String) item;
+                holder.summary.setText(msg);
+            }
+            holder.appIcon.setImageDrawable(null);
+            holder.disabled.setVisibility(View.GONE);
+            return convertView;
+        }
+    }
+}
diff --git a/src/com/android/settings/development/DSUTermsOfServiceActivity.java b/src/com/android/settings/development/DSUTermsOfServiceActivity.java
new file mode 100644
index 0000000..f88d4ef
--- /dev/null
+++ b/src/com/android/settings/development/DSUTermsOfServiceActivity.java
@@ -0,0 +1,63 @@
+/*
+ * 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.development;
+
+import android.app.Activity;
+import android.content.Intent;
+import android.os.Bundle;
+import android.text.TextUtils;
+import android.view.View;
+import android.widget.Button;
+import android.widget.TextView;
+
+import com.android.settings.R;
+
+/** Activity shows terms of service for a given DSU package */
+public class DSUTermsOfServiceActivity extends Activity {
+    public static final String KEY_TOS = "KEY_TOS";
+
+    private void installDSU(Intent intent) {
+        intent.setClassName("com.android.dynsystem", "com.android.dynsystem.VerificationActivity");
+        startActivity(intent);
+        finish();
+    }
+
+    @Override
+    protected void onCreate(Bundle bundle) {
+        super.onCreate(bundle);
+        setContentView(R.layout.dsu_terms_of_service);
+        TextView tv = findViewById(R.id.tos_content);
+        Intent intent = getIntent();
+        if (!intent.hasExtra(KEY_TOS)) {
+            finish();
+        }
+        String tos = intent.getStringExtra(KEY_TOS);
+        if (TextUtils.isEmpty(tos)) {
+            installDSU(intent);
+        } else {
+            tv.setText(tos);
+            Button accept = findViewById(R.id.accept);
+            accept.setOnClickListener(
+                    new Button.OnClickListener() {
+                        @Override
+                        public void onClick(View v) {
+                            installDSU(intent);
+                        }
+                    });
+        }
+    }
+}
diff --git a/src/com/android/settings/development/DevelopmentOptionsActivityRequestCodes.java b/src/com/android/settings/development/DevelopmentOptionsActivityRequestCodes.java
index 564f2c3..0d91fdd 100644
--- a/src/com/android/settings/development/DevelopmentOptionsActivityRequestCodes.java
+++ b/src/com/android/settings/development/DevelopmentOptionsActivityRequestCodes.java
@@ -31,4 +31,6 @@
     int REQUEST_CODE_ANGLE_DRIVER_PKGS = 4;
 
     int REQUEST_CODE_ANGLE_DRIVER_VALUES = 5;
+
+    int REQUEST_COMPAT_CHANGE_APP = 6;
 }
diff --git a/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java b/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java
index f384d85..8c79f2a 100644
--- a/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java
+++ b/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java
@@ -27,8 +27,8 @@
 import android.content.Intent;
 import android.content.IntentFilter;
 import android.os.Bundle;
+import android.os.SystemProperties;
 import android.os.UserManager;
-import android.provider.SearchIndexableResource;
 import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
@@ -44,8 +44,15 @@
 import com.android.settings.dashboard.RestrictedDashboardFragment;
 import com.android.settings.development.autofill.AutofillLoggingLevelPreferenceController;
 import com.android.settings.development.autofill.AutofillResetOptionsPreferenceController;
+import com.android.settings.development.bluetooth.AbstractBluetoothDialogPreferenceController;
+import com.android.settings.development.bluetooth.AbstractBluetoothPreferenceController;
+import com.android.settings.development.bluetooth.BluetoothBitPerSampleDialogPreferenceController;
+import com.android.settings.development.bluetooth.BluetoothChannelModeDialogPreferenceController;
+import com.android.settings.development.bluetooth.BluetoothCodecDialogPreferenceController;
+import com.android.settings.development.bluetooth.BluetoothHDAudioPreferenceController;
+import com.android.settings.development.bluetooth.BluetoothQualityDialogPreferenceController;
+import com.android.settings.development.bluetooth.BluetoothSampleRateDialogPreferenceController;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
 import com.android.settings.widget.SwitchBar;
 import com.android.settingslib.core.AbstractPreferenceController;
 import com.android.settingslib.core.lifecycle.Lifecycle;
@@ -54,15 +61,17 @@
 import com.android.settingslib.development.SystemPropPoker;
 import com.android.settingslib.search.SearchIndexable;
 
+import com.google.android.setupcompat.util.WizardManagerHelper;
+
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.List;
 
 @SearchIndexable(forTarget = SearchIndexable.ALL & ~SearchIndexable.ARC)
 public class DevelopmentSettingsDashboardFragment extends RestrictedDashboardFragment
         implements SwitchBar.OnSwitchChangeListener, OemUnlockDialogHost, AdbDialogHost,
         AdbClearKeysDialogHost, LogPersistDialogHost,
-        BluetoothA2dpHwOffloadRebootDialog.OnA2dpHwDialogConfirmedListener {
+        BluetoothA2dpHwOffloadRebootDialog.OnA2dpHwDialogConfirmedListener,
+        AbstractBluetoothPreferenceController.Callback {
 
     private static final String TAG = "DevSettingsDashboard";
 
@@ -136,6 +145,20 @@
                 }
             };
 
+    private final Runnable mSystemPropertiesChanged = new Runnable() {
+        @Override
+        public void run() {
+            synchronized (this) {
+                Activity activity = getActivity();
+                if (activity != null) {
+                    activity.runOnUiThread(() -> {
+                        updatePreferenceStates();
+                    });
+                }
+            }
+        }
+    };
+
     public DevelopmentSettingsDashboardFragment() {
         super(UserManager.DISALLOW_DEBUGGING_FEATURES);
     }
@@ -154,7 +177,7 @@
         super.onActivityCreated(icicle);
         // Apply page-level restrictions
         setIfOnlyAvailableForAdmins(true);
-        if (isUiRestricted() || !Utils.isDeviceProvisioned(getActivity())) {
+        if (isUiRestricted() || !WizardManagerHelper.isDeviceProvisioned(getActivity())) {
             // Block access to developer options if the user is not the owner, if user policy
             // restricts it, or if the device has not been provisioned
             mIsAvailable = false;
@@ -184,7 +207,7 @@
     public View onCreateView(LayoutInflater inflater, ViewGroup container,
             Bundle savedInstanceState) {
         registerReceivers();
-
+        SystemProperties.addChangeCallback(mSystemPropertiesChanged);
         final BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();
         if (adapter != null) {
             adapter.getProfileProxy(getActivity(), mBluetoothA2dpServiceListener,
@@ -203,6 +226,7 @@
             adapter.closeProfileProxy(BluetoothProfile.A2DP, mBluetoothA2dp);
             mBluetoothA2dp = null;
         }
+        SystemProperties.removeChangeCallback(mSystemPropertiesChanged);
     }
 
     @Override
@@ -404,6 +428,7 @@
         final List<AbstractPreferenceController> controllers = new ArrayList<>();
         controllers.add(new MemoryUsagePreferenceController(context));
         controllers.add(new BugReportPreferenceController(context));
+        controllers.add(new BugReportHandlerPreferenceController(context));
         controllers.add(new SystemServerHeapDumpPreferenceController(context));
         controllers.add(new LocalBackupPasswordPreferenceController(context));
         controllers.add(new StayAwakePreferenceController(context, lifecycle));
@@ -415,8 +440,10 @@
         controllers.add(new WebViewAppPreferenceController(context));
         controllers.add(new CoolColorTemperaturePreferenceController(context));
         controllers.add(new DisableAutomaticUpdatesPreferenceController(context));
+        controllers.add(new SelectDSUPreferenceController(context));
         controllers.add(new AdbPreferenceController(context, fragment));
         controllers.add(new ClearAdbKeysPreferenceController(context, fragment));
+        controllers.add(new WirelessDebuggingPreferenceController(context, lifecycle));
         controllers.add(new LocalTerminalPreferenceController(context));
         controllers.add(new BugReportInPowerPreferenceController(context));
         controllers.add(new AutomaticSystemServerHeapDumpPreferenceController(context));
@@ -425,6 +452,7 @@
         controllers.add(new SelectDebugAppPreferenceController(context, fragment));
         controllers.add(new WaitForDebuggerPreferenceController(context));
         controllers.add(new EnableGpuDebugLayersPreferenceController(context));
+        controllers.add(new EnableVerboseVendorLoggingPreferenceController(context));
         controllers.add(new VerifyAppsOverUsbPreferenceController(context));
         controllers.add(new ArtVerifierPreferenceController(context));
         controllers.add(new LogdSizePreferenceController(context));
@@ -437,23 +465,17 @@
         controllers.add(new TetheringHardwareAccelPreferenceController(context));
         controllers.add(new BluetoothDeviceNoNamePreferenceController(context));
         controllers.add(new BluetoothAbsoluteVolumePreferenceController(context));
+        controllers.add(new BluetoothGabeldorschePreferenceController(context));
         controllers.add(new BluetoothAvrcpVersionPreferenceController(context));
+        controllers.add(new BluetoothMapVersionPreferenceController(context));
         controllers.add(new BluetoothA2dpHwOffloadPreferenceController(context, fragment));
-        controllers.add(new BluetoothAudioCodecPreferenceController(context, lifecycle,
-                bluetoothA2dpConfigStore));
-        controllers.add(new BluetoothAudioSampleRatePreferenceController(context, lifecycle,
-                bluetoothA2dpConfigStore));
-        controllers.add(new BluetoothAudioBitsPerSamplePreferenceController(context, lifecycle,
-                bluetoothA2dpConfigStore));
-        controllers.add(new BluetoothAudioChannelModePreferenceController(context, lifecycle,
-                bluetoothA2dpConfigStore));
-        controllers.add(new BluetoothAudioQualityPreferenceController(context, lifecycle,
-                bluetoothA2dpConfigStore));
         controllers.add(new BluetoothMaxConnectedAudioDevicesPreferenceController(context));
+        controllers.add(new EnhancedConnectivityPreferenceController(context));
         controllers.add(new ShowTapsPreferenceController(context));
         controllers.add(new PointerLocationPreferenceController(context));
         controllers.add(new ShowSurfaceUpdatesPreferenceController(context));
         controllers.add(new ShowLayoutBoundsPreferenceController(context));
+        controllers.add(new ShowRefreshRatePreferenceController(context));
         controllers.add(new RtlLayoutPreferenceController(context));
         controllers.add(new WindowAnimationScalePreferenceController(context));
         controllers.add(new EmulateDisplayCutoutPreferenceController(context));
@@ -465,6 +487,7 @@
         controllers.add(new DebugGpuOverdrawPreferenceController(context));
         controllers.add(new DebugNonRectClipOperationsPreferenceController(context));
         controllers.add(new ForceDarkPreferenceController(context));
+        controllers.add(new EnableBlursPreferenceController(context));
         controllers.add(new ForceMSAAPreferenceController(context));
         controllers.add(new HardwareOverlaysPreferenceController(context));
         controllers.add(new SimulateColorSpacePreferenceController(context));
@@ -480,6 +503,7 @@
         controllers.add(new ResizableActivityPreferenceController(context));
         controllers.add(new FreeformWindowsPreferenceController(context));
         controllers.add(new DesktopModePreferenceController(context));
+        controllers.add(new SizeCompatFreeformPreferenceController(context));
         controllers.add(new ShortcutManagerThrottlingPreferenceController(context));
         controllers.add(new BubbleGlobalPreferenceController(context));
         controllers.add(new EnableGnssRawMeasFullTrackingPreferenceController(context));
@@ -494,8 +518,19 @@
         controllers.add(new DefaultLaunchPreferenceController(context, "inactive_apps"));
         controllers.add(new AutofillLoggingLevelPreferenceController(context, lifecycle));
         controllers.add(new AutofillResetOptionsPreferenceController(context));
-        controllers.add(new TrustAgentsExtendUnlockPreferenceController(context));
-        controllers.add(new TrustLostLocksScreenPreferenceController(context));
+        controllers.add(new BluetoothCodecDialogPreferenceController(context, lifecycle,
+                bluetoothA2dpConfigStore, fragment));
+        controllers.add(new BluetoothSampleRateDialogPreferenceController(context, lifecycle,
+                bluetoothA2dpConfigStore));
+        controllers.add(new BluetoothBitPerSampleDialogPreferenceController(context, lifecycle,
+                bluetoothA2dpConfigStore));
+        controllers.add(new BluetoothQualityDialogPreferenceController(context, lifecycle,
+                bluetoothA2dpConfigStore));
+        controllers.add(new BluetoothChannelModeDialogPreferenceController(context, lifecycle,
+                bluetoothA2dpConfigStore));
+        controllers.add(new BluetoothHDAudioPreferenceController(context, lifecycle,
+                bluetoothA2dpConfigStore, fragment));
+
         return controllers;
     }
 
@@ -504,11 +539,32 @@
         return use(clazz);
     }
 
+    @Override
+    public void onBluetoothCodecChanged() {
+        for (AbstractPreferenceController controller : mPreferenceControllers) {
+            if (controller instanceof AbstractBluetoothDialogPreferenceController
+                    && !(controller instanceof BluetoothCodecDialogPreferenceController)) {
+                ((AbstractBluetoothDialogPreferenceController) controller)
+                        .onBluetoothCodecUpdated();
+            }
+        }
+    }
+
+    @Override
+    public void onBluetoothHDAudioEnabled(boolean enabled) {
+        for (AbstractPreferenceController controller : mPreferenceControllers) {
+            if (controller instanceof AbstractBluetoothDialogPreferenceController) {
+                ((AbstractBluetoothDialogPreferenceController) controller).onHDAudioEnabled(
+                        enabled);
+            }
+        }
+    }
+
     /**
      * For Search.
      */
-    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.development_settings) {
 
                 @Override
                 protected boolean isPageSearchEnabled(Context context) {
@@ -516,15 +572,6 @@
                 }
 
                 @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(
-                        Context context, boolean enabled) {
-
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.development_settings;
-                    return Arrays.asList(sir);
-                }
-
-                @Override
                 public List<AbstractPreferenceController> createPreferenceControllers(Context
                         context) {
                     return buildPreferenceControllers(context, null /* activity */,
diff --git a/src/com/android/settings/development/EnableBlursPreferenceController.java b/src/com/android/settings/development/EnableBlursPreferenceController.java
new file mode 100644
index 0000000..88e0db1
--- /dev/null
+++ b/src/com/android/settings/development/EnableBlursPreferenceController.java
@@ -0,0 +1,83 @@
+/*
+ * Copyright 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.development;
+
+import android.content.Context;
+import android.os.SystemProperties;
+
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.Preference;
+import androidx.preference.SwitchPreference;
+
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.development.DeveloperOptionsPreferenceController;
+import com.android.settingslib.development.SystemPropPoker;
+
+/**
+ * Controller that toggles window blurs on SurfaceFlinger on devices that support it.
+ */
+public final class EnableBlursPreferenceController extends DeveloperOptionsPreferenceController
+        implements Preference.OnPreferenceChangeListener, PreferenceControllerMixin {
+
+    @VisibleForTesting
+    static final String DISABLE_BLURS_SYSPROP = "persist.sys.sf.disable_blurs";
+    private static final String ENABLE_BLURS_ON_WINDOWS = "enable_blurs_on_windows";
+    private final boolean mBlurSupported;
+
+    public EnableBlursPreferenceController(Context context) {
+        this(context, SystemProperties
+                .getBoolean("ro.surface_flinger.supports_background_blur", false));
+    }
+
+    @VisibleForTesting
+    public EnableBlursPreferenceController(Context context, boolean blurSupported) {
+        super(context);
+        mBlurSupported = blurSupported;
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return ENABLE_BLURS_ON_WINDOWS;
+    }
+
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object newValue) {
+        final boolean isDisabled = !(Boolean) newValue;
+        SystemProperties.set(DISABLE_BLURS_SYSPROP, isDisabled ? "1" : "0");
+        SystemPropPoker.getInstance().poke();
+        return true;
+    }
+
+    @Override
+    public boolean isAvailable() {
+        return mBlurSupported;
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        boolean isEnabled = !SystemProperties.getBoolean(
+                DISABLE_BLURS_SYSPROP, false /* default */);
+        ((SwitchPreference) mPreference).setChecked(isEnabled);
+    }
+
+    @Override
+    protected void onDeveloperOptionsSwitchDisabled() {
+        super.onDeveloperOptionsSwitchDisabled();
+        SystemProperties.set(DISABLE_BLURS_SYSPROP, null);
+        updateState(null);
+    }
+}
diff --git a/src/com/android/settings/development/EnableVerboseVendorLoggingPreferenceController.java b/src/com/android/settings/development/EnableVerboseVendorLoggingPreferenceController.java
new file mode 100644
index 0000000..e1db74d
--- /dev/null
+++ b/src/com/android/settings/development/EnableVerboseVendorLoggingPreferenceController.java
@@ -0,0 +1,160 @@
+/*
+ * 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.development;
+
+import android.annotation.Nullable;
+import android.content.Context;
+import android.hardware.dumpstate.V1_0.IDumpstateDevice;
+import android.os.RemoteException;
+import android.util.Log;
+
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.Preference;
+import androidx.preference.SwitchPreference;
+
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.development.DeveloperOptionsPreferenceController;
+
+import java.util.NoSuchElementException;
+
+public class EnableVerboseVendorLoggingPreferenceController
+        extends DeveloperOptionsPreferenceController
+        implements Preference.OnPreferenceChangeListener, PreferenceControllerMixin {
+
+    private static final String TAG = "EnableVerboseVendorLoggingPreferenceController";
+    private static final boolean DBG = Log.isLoggable(TAG, Log.DEBUG);
+
+    private static final String ENABLE_VERBOSE_VENDOR_LOGGING_KEY = "enable_verbose_vendor_logging";
+    private static final int DUMPSTATE_HAL_VERSION_UNKNOWN = -1;
+    private static final int DUMPSTATE_HAL_VERSION_1_0 = 0;
+    private static final int DUMPSTATE_HAL_VERSION_1_1 = 1;
+
+    private int mDumpstateHalVersion;
+
+    public EnableVerboseVendorLoggingPreferenceController(Context context) {
+        super(context);
+        mDumpstateHalVersion = DUMPSTATE_HAL_VERSION_UNKNOWN;
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return ENABLE_VERBOSE_VENDOR_LOGGING_KEY;
+    }
+
+    @Override
+    public boolean isAvailable() {
+        // Only show preference when IDumpstateDevice v1.1 is avalaible
+        // This is temperary strategy that may change later.
+        return isIDumpstateDeviceV1_1ServiceAvailable();
+    }
+
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object newValue) {
+        final boolean isEnabled = (Boolean) newValue;
+        setVerboseLoggingEnabled(isEnabled);
+        return true;
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        final boolean enabled = getVerboseLoggingEnabled();
+        ((SwitchPreference) mPreference).setChecked(enabled);
+    }
+
+    @Override
+    protected void onDeveloperOptionsSwitchDisabled() {
+        super.onDeveloperOptionsSwitchDisabled();
+        setVerboseLoggingEnabled(false);
+        ((SwitchPreference) mPreference).setChecked(false);
+    }
+
+    @VisibleForTesting
+    boolean isIDumpstateDeviceV1_1ServiceAvailable() {
+        IDumpstateDevice service = getDumpstateDeviceService();
+        if (service == null) {
+            if (DBG) Log.d(TAG, "IDumpstateDevice service is not available.");
+        }
+        return service != null && mDumpstateHalVersion >= DUMPSTATE_HAL_VERSION_1_1;
+    }
+
+    @VisibleForTesting
+    void setVerboseLoggingEnabled(boolean enable) {
+        IDumpstateDevice service = getDumpstateDeviceService();
+
+        if (service == null || mDumpstateHalVersion < DUMPSTATE_HAL_VERSION_1_1) {
+            if (DBG) Log.d(TAG, "setVerboseLoggingEnabled not supported.");
+            return;
+        }
+
+        try {
+            android.hardware.dumpstate.V1_1.IDumpstateDevice service11 =
+                    (android.hardware.dumpstate.V1_1.IDumpstateDevice) service;
+            if (service11 != null) {
+                service11.setVerboseLoggingEnabled(enable);
+            }
+        } catch (RemoteException | RuntimeException e) {
+            if (DBG) Log.e(TAG, "setVerboseLoggingEnabled fail: " + e);
+        }
+    }
+
+    @VisibleForTesting
+    boolean getVerboseLoggingEnabled() {
+        IDumpstateDevice service = getDumpstateDeviceService();
+
+        if (service == null || mDumpstateHalVersion < DUMPSTATE_HAL_VERSION_1_1) {
+            if (DBG) Log.d(TAG, "getVerboseLoggingEnabled not supported.");
+            return false;
+        }
+
+        try {
+            android.hardware.dumpstate.V1_1.IDumpstateDevice service11 =
+                    (android.hardware.dumpstate.V1_1.IDumpstateDevice) service;
+            if (service11 != null) {
+                return service11.getVerboseLoggingEnabled();
+            }
+        } catch (RemoteException | RuntimeException e) {
+            if (DBG) Log.e(TAG, "getVerboseLoggingEnabled fail: " + e);
+        }
+        return false;
+    }
+
+    /** Return a {@IDumpstateDevice} instance or null if service is not available. */
+    @VisibleForTesting
+    @Nullable IDumpstateDevice getDumpstateDeviceService() {
+        IDumpstateDevice service = null;
+        try {
+            service = android.hardware.dumpstate.V1_1.IDumpstateDevice
+                    .getService(true /* retry */);
+            mDumpstateHalVersion = DUMPSTATE_HAL_VERSION_1_1;
+        } catch (NoSuchElementException | RemoteException e) {
+        }
+
+        if (service == null) {
+            try {
+                service = android.hardware.dumpstate.V1_0.IDumpstateDevice
+                        .getService(true /* retry */);
+                mDumpstateHalVersion = DUMPSTATE_HAL_VERSION_1_0;
+            } catch (NoSuchElementException | RemoteException e) {
+            }
+        }
+
+        if (service == null) {
+            mDumpstateHalVersion = DUMPSTATE_HAL_VERSION_UNKNOWN;
+        }
+        return service;
+    }
+}
diff --git a/src/com/android/settings/development/EnhancedConnectivityPreferenceController.java b/src/com/android/settings/development/EnhancedConnectivityPreferenceController.java
new file mode 100644
index 0000000..2dbd7d1
--- /dev/null
+++ b/src/com/android/settings/development/EnhancedConnectivityPreferenceController.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.development;
+
+import android.content.Context;
+import android.provider.Settings;
+
+import androidx.preference.Preference;
+import androidx.preference.SwitchPreference;
+
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.development.DeveloperOptionsPreferenceController;
+
+/**
+ * Preference controller for Enhanced Connectivity feature
+ */
+public class EnhancedConnectivityPreferenceController extends
+        DeveloperOptionsPreferenceController implements Preference.OnPreferenceChangeListener,
+        PreferenceControllerMixin {
+
+    private static final String ENHANCED_CONNECTIVITY_KEY = "enhanced_connectivity";
+
+    @VisibleForTesting
+    static final int ENHANCED_CONNECTIVITY_ON = 1;
+    // default is enhanced connectivity disabled.
+    @VisibleForTesting
+    static final int ENHANCED_CONNECTIVITY_OFF = 0;
+
+    public EnhancedConnectivityPreferenceController(Context context) {
+        super(context);
+    }
+
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object o) {
+        final boolean isEnabled = (Boolean) o;
+        Settings.Global.putInt(mContext.getContentResolver(),
+                Settings.Global.ENHANCED_CONNECTIVITY_ENABLED,
+                isEnabled
+                        ? ENHANCED_CONNECTIVITY_ON
+                        : ENHANCED_CONNECTIVITY_OFF);
+        return true;
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return ENHANCED_CONNECTIVITY_KEY;
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        final int enhancedConnectivityEnabled = Settings.Global.getInt(
+                mContext.getContentResolver(), Settings.Global.ENHANCED_CONNECTIVITY_ENABLED,
+                ENHANCED_CONNECTIVITY_OFF);
+        ((SwitchPreference) mPreference).setChecked(
+                enhancedConnectivityEnabled == ENHANCED_CONNECTIVITY_ON);
+    }
+
+    @Override
+    protected void onDeveloperOptionsSwitchDisabled() {
+        super.onDeveloperOptionsSwitchDisabled();
+        Settings.Global.putInt(mContext.getContentResolver(),
+                Settings.Global.ENHANCED_CONNECTIVITY_ENABLED,
+                ENHANCED_CONNECTIVITY_OFF);
+        ((SwitchPreference) mPreference).setChecked(false);
+    }
+}
diff --git a/src/com/android/settings/development/MockLocationAppPreferenceController.java b/src/com/android/settings/development/MockLocationAppPreferenceController.java
index 45d6be8..4803843 100644
--- a/src/com/android/settings/development/MockLocationAppPreferenceController.java
+++ b/src/com/android/settings/development/MockLocationAppPreferenceController.java
@@ -27,6 +27,7 @@
 import android.content.pm.PackageManager;
 import android.text.TextUtils;
 
+import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 
 import com.android.settings.R;
@@ -86,6 +87,12 @@
         return true;
     }
 
+    @Override
+    public void onDeveloperOptionsDisabled() {
+        super.onDeveloperOptionsDisabled();
+        removeAllMockLocations();
+    }
+
     private void updateMockLocation() {
         final String mockLocationApp = getCurrentMockLocationApp();
 
@@ -151,7 +158,8 @@
         }
     }
 
-    private String getCurrentMockLocationApp() {
+    @VisibleForTesting
+    String getCurrentMockLocationApp() {
         final List<AppOpsManager.PackageOps> packageOps = mAppsOpsManager.getPackagesForOps(
                 MOCK_LOCATION_APP_OPS);
         if (packageOps != null) {
diff --git a/src/com/android/settings/development/OWNERS b/src/com/android/settings/development/OWNERS
deleted file mode 100644
index 9ffcc47..0000000
--- a/src/com/android/settings/development/OWNERS
+++ /dev/null
@@ -1,8 +0,0 @@
-# Default reviewers for this and subdirectories.
-asargent@google.com
-dling@google.com
-zhfan@google.com
-
-# Emergency approvers in case the above are not available
-asapperstein@google.com
-miket@google.com
diff --git a/src/com/android/settings/development/OemUnlockPreferenceController.java b/src/com/android/settings/development/OemUnlockPreferenceController.java
index 529970a..f8a245f 100644
--- a/src/com/android/settings/development/OemUnlockPreferenceController.java
+++ b/src/com/android/settings/development/OemUnlockPreferenceController.java
@@ -22,11 +22,13 @@
 import android.content.Context;
 import android.content.Intent;
 import android.content.res.Resources;
-import android.os.Build;
+import android.os.SystemProperties;
 import android.os.UserHandle;
 import android.os.UserManager;
 import android.service.oemlock.OemLockManager;
 import android.telephony.TelephonyManager;
+import android.text.TextUtils;
+import android.util.Log;
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
@@ -43,6 +45,9 @@
 
     private static final String PREFERENCE_KEY = "oem_unlock_enable";
     private static final String TAG = "OemUnlockPreferenceController";
+    private static final String OEM_UNLOCK_SUPPORTED_KEY = "ro.oem_unlock_supported";
+    private static final String UNSUPPORTED = "-9999";
+    private static final String SUPPORTED = "1";
 
     private final OemLockManager mOemLockManager;
     private final UserManager mUserManager;
@@ -55,8 +60,10 @@
             DevelopmentSettingsDashboardFragment fragment) {
         super(context);
 
-        if (Build.IS_EMULATOR && Build.IS_ENG) {
+        if (!TextUtils.equals(SystemProperties.get(OEM_UNLOCK_SUPPORTED_KEY, UNSUPPORTED),
+                SUPPORTED)) {
             mOemLockManager = null;
+            Log.w(TAG, "oem_unlock not supported.");
         } else {
             mOemLockManager = (OemLockManager) context.getSystemService(Context.OEM_LOCK_SERVICE);
         }
diff --git a/src/com/android/settings/development/OverlayCategoryPreferenceController.java b/src/com/android/settings/development/OverlayCategoryPreferenceController.java
index 6e0b2d0..ce51b54 100644
--- a/src/com/android/settings/development/OverlayCategoryPreferenceController.java
+++ b/src/com/android/settings/development/OverlayCategoryPreferenceController.java
@@ -126,8 +126,8 @@
                         return mOverlayManager.setEnabledExclusiveInCategory(packageName,
                                 USER_SYSTEM);
                     }
-                } catch (RemoteException re) {
-                    Log.w(TAG, "Error enabling overlay.", re);
+                } catch (SecurityException | IllegalStateException | RemoteException e) {
+                    Log.w(TAG, "Error enabling overlay.", e);
                     return false;
                 }
             }
diff --git a/src/com/android/settings/development/SelectDSUPreferenceController.java b/src/com/android/settings/development/SelectDSUPreferenceController.java
new file mode 100644
index 0000000..72e8447
--- /dev/null
+++ b/src/com/android/settings/development/SelectDSUPreferenceController.java
@@ -0,0 +1,54 @@
+/*
+ * 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.development;
+
+import android.content.Context;
+import android.content.Intent;
+
+import androidx.preference.Preference;
+
+import com.android.settings.R;
+import com.android.settingslib.development.DeveloperOptionsPreferenceController;
+
+class SelectDSUPreferenceController extends DeveloperOptionsPreferenceController {
+
+    private static final String DSU_LOADER_KEY = "dsu_loader";
+
+    SelectDSUPreferenceController(Context context) {
+        super(context);
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return DSU_LOADER_KEY;
+    }
+
+    @Override
+    public boolean handlePreferenceTreeClick(Preference preference) {
+        if (DSU_LOADER_KEY.equals(preference.getKey())) {
+            final Intent intent = new Intent(mContext, DSULoader.class);
+            mContext.startActivity(intent);
+            return true;
+        }
+        return false;
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        preference.setSummary(mContext.getResources().getString(R.string.dsu_loader_description));
+    }
+}
diff --git a/src/com/android/settings/development/ShowRefreshRatePreferenceController.java b/src/com/android/settings/development/ShowRefreshRatePreferenceController.java
new file mode 100644
index 0000000..e56268d
--- /dev/null
+++ b/src/com/android/settings/development/ShowRefreshRatePreferenceController.java
@@ -0,0 +1,124 @@
+/*
+ * Copyright 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.development;
+
+import android.content.Context;
+import android.os.IBinder;
+import android.os.Parcel;
+import android.os.RemoteException;
+import android.os.ServiceManager;
+
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.Preference;
+import androidx.preference.SwitchPreference;
+
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.development.DeveloperOptionsPreferenceController;
+
+/**
+ * Controller class for controlling the refresh rate overlay on SurfaceFlinger
+ */
+public class ShowRefreshRatePreferenceController extends DeveloperOptionsPreferenceController
+        implements Preference.OnPreferenceChangeListener, PreferenceControllerMixin {
+
+    private static final String SHOW_REFRESH_RATE_KEY = "show_refresh_rate";
+
+    private static final int SETTING_VALUE_QUERY = 2;
+    private static final int SETTING_VALUE_ON = 1;
+    private static final int SETTING_VALUE_OFF = 0;
+
+    @VisibleForTesting
+    static final String SURFACE_FLINGER_SERVICE_KEY = "SurfaceFlinger";
+    @VisibleForTesting
+    static final int SURFACE_FLINGER_CODE = 1034;
+
+    private static final String SURFACE_COMPOSER_INTERFACE_KEY = "android.ui.ISurfaceComposer";
+
+    private final IBinder mSurfaceFlinger;
+
+    public ShowRefreshRatePreferenceController(Context context) {
+        super(context);
+        mSurfaceFlinger = ServiceManager.getService(SURFACE_FLINGER_SERVICE_KEY);
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return SHOW_REFRESH_RATE_KEY;
+    }
+
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object newValue) {
+        final boolean isEnabled = (Boolean) newValue;
+        writeShowRefreshRateSetting(isEnabled);
+        return true;
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        updateShowRefreshRateSetting();
+    }
+
+    @Override
+    protected void onDeveloperOptionsSwitchDisabled() {
+        super.onDeveloperOptionsSwitchDisabled();
+        final SwitchPreference preference = (SwitchPreference) mPreference;
+        if (preference.isChecked()) {
+            // Writing false to the preference when the setting is already off will have a
+            // side effect of turning on the preference that we wish to avoid
+            writeShowRefreshRateSetting(false);
+            preference.setChecked(false);
+        }
+    }
+
+    @VisibleForTesting
+    void updateShowRefreshRateSetting() {
+        // magic communication with surface flinger.
+        try {
+            if (mSurfaceFlinger != null) {
+                final Parcel data = Parcel.obtain();
+                final Parcel reply = Parcel.obtain();
+                data.writeInterfaceToken(SURFACE_COMPOSER_INTERFACE_KEY);
+                data.writeInt(SETTING_VALUE_QUERY);
+                mSurfaceFlinger.transact(SURFACE_FLINGER_CODE, data, reply, 0 /* flags */);
+                final boolean enabled = reply.readBoolean();
+                ((SwitchPreference) mPreference).setChecked(enabled);
+                reply.recycle();
+                data.recycle();
+            }
+        } catch (RemoteException ex) {
+            // intentional no-op
+        }
+    }
+
+    @VisibleForTesting
+    void writeShowRefreshRateSetting(boolean isEnabled) {
+        try {
+            if (mSurfaceFlinger != null) {
+                final Parcel data = Parcel.obtain();
+                data.writeInterfaceToken(SURFACE_COMPOSER_INTERFACE_KEY);
+                final int showRefreshRate = isEnabled ? SETTING_VALUE_ON : SETTING_VALUE_OFF;
+                data.writeInt(showRefreshRate);
+                mSurfaceFlinger.transact(SURFACE_FLINGER_CODE, data,
+                        null /* reply */, 0 /* flags */);
+                data.recycle();
+            }
+        } catch (RemoteException ex) {
+            // intentional no-op
+        }
+        updateShowRefreshRateSetting();
+    }
+}
diff --git a/src/com/android/settings/development/SizeCompatFreeformPreferenceController.java b/src/com/android/settings/development/SizeCompatFreeformPreferenceController.java
new file mode 100644
index 0000000..2e54d1d
--- /dev/null
+++ b/src/com/android/settings/development/SizeCompatFreeformPreferenceController.java
@@ -0,0 +1,76 @@
+/*
+ * 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.development;
+
+import static android.provider.Settings.Global.DEVELOPMENT_ENABLE_SIZECOMPAT_FREEFORM;
+
+import android.content.Context;
+import android.provider.Settings;
+
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.Preference;
+import androidx.preference.SwitchPreference;
+
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.development.DeveloperOptionsPreferenceController;
+
+/**
+ * Preference Controller for whether to allow launching size-compat apps in freeform windows.
+ */
+public class SizeCompatFreeformPreferenceController extends DeveloperOptionsPreferenceController
+        implements Preference.OnPreferenceChangeListener, PreferenceControllerMixin {
+
+    private static final String ENABLE_SIZECOMPAT_FREEFORM_KEY = "enable_sizecompat_freeform";
+
+    @VisibleForTesting
+    static final int SETTING_VALUE_OFF = 0;
+    @VisibleForTesting
+    static final int SETTING_VALUE_ON = 1;
+
+    public SizeCompatFreeformPreferenceController(Context context) {
+        super(context);
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return ENABLE_SIZECOMPAT_FREEFORM_KEY;
+    }
+
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object newValue) {
+        final boolean isEnabled = (Boolean) newValue;
+        Settings.Global.putInt(mContext.getContentResolver(),
+                DEVELOPMENT_ENABLE_SIZECOMPAT_FREEFORM,
+                isEnabled ? SETTING_VALUE_ON : SETTING_VALUE_OFF);
+        return true;
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        final int mode = Settings.Global.getInt(mContext.getContentResolver(),
+                DEVELOPMENT_ENABLE_SIZECOMPAT_FREEFORM, SETTING_VALUE_OFF);
+        ((SwitchPreference) mPreference).setChecked(mode != SETTING_VALUE_OFF);
+    }
+
+    @Override
+    protected void onDeveloperOptionsSwitchDisabled() {
+        super.onDeveloperOptionsSwitchDisabled();
+        Settings.Global.putInt(mContext.getContentResolver(),
+                DEVELOPMENT_ENABLE_SIZECOMPAT_FREEFORM, SETTING_VALUE_OFF);
+        ((SwitchPreference) mPreference).setChecked(false);
+    }
+}
diff --git a/src/com/android/settings/development/TrustAgentsExtendUnlockPreferenceController.java b/src/com/android/settings/development/TrustAgentsExtendUnlockPreferenceController.java
deleted file mode 100644
index 0834f9b..0000000
--- a/src/com/android/settings/development/TrustAgentsExtendUnlockPreferenceController.java
+++ /dev/null
@@ -1,58 +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 android.provider.Settings;
-
-import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
-
-import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settingslib.development.DeveloperOptionsPreferenceController;
-
-public class TrustAgentsExtendUnlockPreferenceController extends
-        DeveloperOptionsPreferenceController implements
-                Preference.OnPreferenceChangeListener, PreferenceControllerMixin {
-
-    private static final String KEY_TRUST_AGENTS_EXTEND_UNLOCK =
-        "security_setting_trust_agents_extend_unlock";
-
-    public TrustAgentsExtendUnlockPreferenceController(Context context) {
-        super(context);
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return KEY_TRUST_AGENTS_EXTEND_UNLOCK;
-    }
-
-    @Override
-    public boolean onPreferenceChange(Preference preference, Object newValue) {
-        final boolean isEnabled = (Boolean) newValue;
-        Settings.Secure.putInt(mContext.getContentResolver(),
-                Settings.Secure.TRUST_AGENTS_EXTEND_UNLOCK, isEnabled ? 1 : 0);
-        return true;
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        int trustAgentsExtendUnlock = Settings.Secure.getInt(mContext.getContentResolver(),
-                Settings.Secure.TRUST_AGENTS_EXTEND_UNLOCK, 0);
-        ((SwitchPreference) mPreference).setChecked(trustAgentsExtendUnlock != 0);
-    }
-}
diff --git a/src/com/android/settings/development/TrustLostLocksScreenPreferenceController.java b/src/com/android/settings/development/TrustLostLocksScreenPreferenceController.java
deleted file mode 100644
index 3800fd6..0000000
--- a/src/com/android/settings/development/TrustLostLocksScreenPreferenceController.java
+++ /dev/null
@@ -1,58 +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 android.provider.Settings;
-
-import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
-
-import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settingslib.development.DeveloperOptionsPreferenceController;
-
-public class TrustLostLocksScreenPreferenceController
-        extends DeveloperOptionsPreferenceController implements
-                Preference.OnPreferenceChangeListener, PreferenceControllerMixin {
-
-    private static final String KEY_TRUST_LOST_LOCKS_SCREEN =
-        "security_setting_trust_lost_locks_screen";
-
-    public TrustLostLocksScreenPreferenceController(Context context) {
-        super(context);
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return KEY_TRUST_LOST_LOCKS_SCREEN;
-    }
-
-    @Override
-    public boolean onPreferenceChange(Preference preference, Object newValue) {
-        final boolean isEnabled = (Boolean) newValue;
-        Settings.Secure.putInt(mContext.getContentResolver(),
-                Settings.Secure.LOCK_SCREEN_WHEN_TRUST_LOST, isEnabled ? 1 : 0);
-        return true;
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        int lockOnTrustLost = Settings.Secure.getInt(mContext.getContentResolver(),
-                Settings.Secure.LOCK_SCREEN_WHEN_TRUST_LOST, 0);
-        ((SwitchPreference) mPreference).setChecked(lockOnTrustLost != 0);
-    }
-}
diff --git a/src/com/android/settings/development/VerifyAppsOverUsbPreferenceController.java b/src/com/android/settings/development/VerifyAppsOverUsbPreferenceController.java
index 20b8f1f..56d49da 100644
--- a/src/com/android/settings/development/VerifyAppsOverUsbPreferenceController.java
+++ b/src/com/android/settings/development/VerifyAppsOverUsbPreferenceController.java
@@ -146,19 +146,11 @@
                 == AdbPreferenceController.ADB_SETTING_OFF) {
             return false;
         }
-        if (Settings.Global.getInt(cr, Settings.Global.PACKAGE_VERIFIER_ENABLE, SETTING_VALUE_ON)
-                == SETTING_VALUE_OFF) {
-            return false;
-        } else {
-            final Intent verification = new Intent(Intent.ACTION_PACKAGE_NEEDS_VERIFICATION);
-            verification.setType(PACKAGE_MIME_TYPE);
-            verification.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
-            final List<ResolveInfo> receivers = mPackageManager.queryBroadcastReceivers(
-                    verification, 0 /* flags */);
-            if (receivers.size() == 0) {
-                return false;
-            }
-        }
-        return true;
+        final Intent verification = new Intent(Intent.ACTION_PACKAGE_NEEDS_VERIFICATION);
+        verification.setType(PACKAGE_MIME_TYPE);
+        verification.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
+        final List<ResolveInfo> receivers = mPackageManager.queryBroadcastReceivers(
+                verification, 0 /* flags */);
+        return !receivers.isEmpty();
     }
 }
diff --git a/src/com/android/settings/development/WifiScanThrottlingPreferenceController.java b/src/com/android/settings/development/WifiScanThrottlingPreferenceController.java
index a069827..2632691 100644
--- a/src/com/android/settings/development/WifiScanThrottlingPreferenceController.java
+++ b/src/com/android/settings/development/WifiScanThrottlingPreferenceController.java
@@ -17,9 +17,8 @@
 package com.android.settings.development;
 
 import android.content.Context;
-import android.provider.Settings;
+import android.net.wifi.WifiManager;
 
-import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 import androidx.preference.SwitchPreference;
 
@@ -29,13 +28,12 @@
 public class WifiScanThrottlingPreferenceController extends DeveloperOptionsPreferenceController
         implements Preference.OnPreferenceChangeListener, PreferenceControllerMixin {
     private static final String WIFI_SCAN_THROTTLING_KEY = "wifi_scan_throttling";
-    @VisibleForTesting
-    static final int SETTING_THROTTLING_ENABLE_VALUE_ON = 1;  // default is throttling enabled.
-    @VisibleForTesting
-    static final int SETTING_THROTTLING_ENABLE_VALUE_OFF = 0;
+
+    private final WifiManager mWifiManager;
 
     public WifiScanThrottlingPreferenceController(Context context) {
         super(context);
+        mWifiManager = context.getSystemService(WifiManager.class);
     }
 
     @Override
@@ -46,28 +44,19 @@
     @Override
     public boolean onPreferenceChange(Preference preference, Object newValue) {
         final boolean isEnabled = (Boolean) newValue;
-        Settings.Global.putInt(mContext.getContentResolver(),
-                Settings.Global.WIFI_SCAN_THROTTLE_ENABLED,
-                isEnabled
-                        ? SETTING_THROTTLING_ENABLE_VALUE_ON
-                        : SETTING_THROTTLING_ENABLE_VALUE_OFF);
+        mWifiManager.setScanThrottleEnabled(isEnabled);
         return true;
     }
 
     @Override
     public void updateState(Preference preference) {
-        final int scanThrottleEnabled = Settings.Global.getInt(
-                mContext.getContentResolver(), Settings.Global.WIFI_SCAN_THROTTLE_ENABLED,
-                SETTING_THROTTLING_ENABLE_VALUE_ON);
-        ((SwitchPreference) mPreference).setChecked(
-                scanThrottleEnabled == SETTING_THROTTLING_ENABLE_VALUE_ON);
+        ((SwitchPreference) mPreference).setChecked(mWifiManager.isScanThrottleEnabled());
     }
 
     @Override
     protected void onDeveloperOptionsSwitchDisabled() {
         super.onDeveloperOptionsSwitchDisabled();
-        Settings.Global.putInt(mContext.getContentResolver(),
-                Settings.Global.WIFI_SCAN_THROTTLE_ENABLED, SETTING_THROTTLING_ENABLE_VALUE_ON);
+        mWifiManager.setScanThrottleEnabled(true);
         ((SwitchPreference) mPreference).setChecked(true);
     }
 }
diff --git a/src/com/android/settings/development/WifiVerboseLoggingPreferenceController.java b/src/com/android/settings/development/WifiVerboseLoggingPreferenceController.java
index de53a2d..92ed65d 100644
--- a/src/com/android/settings/development/WifiVerboseLoggingPreferenceController.java
+++ b/src/com/android/settings/development/WifiVerboseLoggingPreferenceController.java
@@ -52,13 +52,13 @@
     @Override
     public boolean onPreferenceChange(Preference preference, Object newValue) {
         final boolean isEnabled = (Boolean) newValue;
-        mWifiManager.enableVerboseLogging(isEnabled ? SETTING_VALUE_ON : SETTING_VALUE_OFF);
+        mWifiManager.setVerboseLoggingEnabled(isEnabled);
         return true;
     }
 
     @Override
     public void updateState(Preference preference) {
-        final boolean enabled = mWifiManager.getVerboseLoggingLevel() > 0;
+        final boolean enabled = mWifiManager.isVerboseLoggingEnabled();
         ((SwitchPreference) mPreference).setChecked(enabled);
 
     }
@@ -66,7 +66,7 @@
     @Override
     protected void onDeveloperOptionsSwitchDisabled() {
         super.onDeveloperOptionsSwitchDisabled();
-        mWifiManager.enableVerboseLogging(SETTING_VALUE_OFF);
+        mWifiManager.setVerboseLoggingEnabled(false);
         ((SwitchPreference) mPreference).setChecked(false);
     }
 }
diff --git a/src/com/android/settings/development/WirelessDebuggingEnabler.java b/src/com/android/settings/development/WirelessDebuggingEnabler.java
new file mode 100644
index 0000000..51b81f6
--- /dev/null
+++ b/src/com/android/settings/development/WirelessDebuggingEnabler.java
@@ -0,0 +1,140 @@
+/*
+ * 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.development;
+
+import android.content.ContentResolver;
+import android.content.Context;
+import android.database.ContentObserver;
+import android.net.Uri;
+import android.os.Handler;
+import android.os.Looper;
+import android.provider.Settings;
+import android.util.Log;
+
+import com.android.settings.widget.SwitchWidgetController;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+import com.android.settingslib.core.lifecycle.LifecycleObserver;
+import com.android.settingslib.core.lifecycle.events.OnPause;
+import com.android.settingslib.core.lifecycle.events.OnResume;
+
+/**
+ * Class to control the switch bar in the wireless debugging fragment.
+ */
+public class WirelessDebuggingEnabler implements SwitchWidgetController.OnSwitchChangeListener,
+        LifecycleObserver, OnResume, OnPause {
+    private static final String TAG = "WirelessDebuggingEnabler";
+
+    private final SwitchWidgetController mSwitchWidget;
+    private Context mContext;
+    private boolean mListeningToOnSwitchChange = false;
+    private OnEnabledListener mListener;
+    private final ContentResolver mContentResolver;
+    private final ContentObserver mSettingsObserver;
+    private final Handler mHandler = new Handler(Looper.getMainLooper());
+
+    public WirelessDebuggingEnabler(Context context, SwitchWidgetController switchWidget,
+            OnEnabledListener listener, Lifecycle lifecycle) {
+        mContext = context;
+        mSwitchWidget = switchWidget;
+        mSwitchWidget.setListener(this);
+        mSwitchWidget.setupView();
+
+        mListener = listener;
+        if (lifecycle != null) {
+            lifecycle.addObserver(this);
+        }
+
+        mContentResolver = context.getContentResolver();
+        mSettingsObserver = new ContentObserver(mHandler) {
+            @Override
+            public void onChange(boolean selfChange, Uri uri) {
+                Log.i(TAG, "ADB_WIFI_ENABLED=" + isAdbWifiEnabled());
+                onWirelessDebuggingEnabled(isAdbWifiEnabled());
+            }
+        };
+    }
+
+    private boolean isAdbWifiEnabled() {
+        return Settings.Global.getInt(mContentResolver, Settings.Global.ADB_WIFI_ENABLED,
+                AdbPreferenceController.ADB_SETTING_OFF)
+                != AdbPreferenceController.ADB_SETTING_OFF;
+    }
+
+    /**
+     * Tears down the switch controller for the wireless debugging switch.
+     */
+    public void teardownSwitchController() {
+        if (mListeningToOnSwitchChange) {
+            mSwitchWidget.stopListening();
+            mListeningToOnSwitchChange = false;
+        }
+        mSwitchWidget.teardownView();
+    }
+
+    @Override
+    public void onResume() {
+        if (!mListeningToOnSwitchChange) {
+            mSwitchWidget.startListening();
+            mListeningToOnSwitchChange = true;
+        }
+        onWirelessDebuggingEnabled(isAdbWifiEnabled());
+        mContentResolver.registerContentObserver(
+                Settings.Global.getUriFor(Settings.Global.ADB_WIFI_ENABLED), false,
+                mSettingsObserver);
+    }
+
+    @Override
+    public void onPause() {
+        if (mListeningToOnSwitchChange) {
+            mSwitchWidget.stopListening();
+            mListeningToOnSwitchChange = false;
+        }
+        mContentResolver.unregisterContentObserver(mSettingsObserver);
+    }
+
+    private void onWirelessDebuggingEnabled(boolean enabled) {
+        mSwitchWidget.setChecked(enabled);
+        if (mListener != null) {
+            mListener.onEnabled(enabled);
+        }
+    }
+
+    protected void writeAdbWifiSetting(boolean enabled) {
+        Settings.Global.putInt(mContext.getContentResolver(),
+                Settings.Global.ADB_WIFI_ENABLED, enabled ? AdbPreferenceController.ADB_SETTING_ON
+                : AdbPreferenceController.ADB_SETTING_OFF);
+    }
+
+    @Override
+    public boolean onSwitchToggled(boolean isChecked) {
+        writeAdbWifiSetting(isChecked);
+        return true;
+    }
+
+    /**
+     * Interface for subscribers to implement in order to listen for
+     * wireless debugging state changes.
+     */
+    public interface OnEnabledListener {
+        /**
+         * Called when wireless debugging state changes.
+         *
+         * @param enabled the state of wireless debugging
+         */
+        void onEnabled(boolean enabled);
+    }
+}
diff --git a/src/com/android/settings/development/WirelessDebuggingFragment.java b/src/com/android/settings/development/WirelessDebuggingFragment.java
new file mode 100644
index 0000000..2edadcc
--- /dev/null
+++ b/src/com/android/settings/development/WirelessDebuggingFragment.java
@@ -0,0 +1,495 @@
+/*
+ * 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.development;
+import android.app.Activity;
+import android.app.Dialog;
+import android.app.settings.SettingsEnums;
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.debug.AdbManager;
+import android.debug.IAdbManager;
+import android.debug.PairDevice;
+import android.os.Build;
+import android.os.Bundle;
+import android.os.RemoteException;
+import android.os.ServiceManager;
+import android.provider.Settings;
+import android.util.Log;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceCategory;
+
+import com.android.settings.R;
+import com.android.settings.SettingsActivity;
+import com.android.settings.core.SubSettingLauncher;
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settings.widget.SwitchBarController;
+import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+import com.android.settingslib.development.DevelopmentSettingsEnabler;
+import com.android.settingslib.search.SearchIndexable;
+import com.android.settingslib.widget.FooterPreference;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Fragment shown when clicking in the "Wireless Debugging" preference in
+ * the developer options.
+ */
+@SearchIndexable
+public class WirelessDebuggingFragment extends DashboardFragment
+        implements WirelessDebuggingEnabler.OnEnabledListener {
+
+    private static final String TAG = "WirelessDebuggingFrag";
+
+    // Activity result from clicking on a paired device.
+    private static final int PAIRED_DEVICE_REQUEST = 0;
+    public static final String PAIRED_DEVICE_REQUEST_TYPE = "request_type";
+    public static final int FORGET_ACTION = 0;
+
+    // Activity result from pairing a device.
+    private static final int PAIRING_DEVICE_REQUEST = 1;
+    public static final String PAIRING_DEVICE_REQUEST_TYPE = "request_type_pairing";
+    public static final int SUCCESS_ACTION = 0;
+    public static final int FAIL_ACTION = 1;
+
+    public static final String PAIRED_DEVICE_EXTRA = "paired_device";
+    public static final String DEVICE_NAME_EXTRA = "device_name";
+    public static final String IP_ADDR_EXTRA = "ip_addr";
+
+    private WirelessDebuggingEnabler mWifiDebuggingEnabler;
+
+    private static AdbIpAddressPreferenceController sAdbIpAddressPreferenceController;
+    // UI components
+    private static final String PREF_KEY_ADB_DEVICE_NAME = "adb_device_name_pref";
+    private static final String PREF_KEY_ADB_IP_ADDR = "adb_ip_addr_pref";
+    private static final String PREF_KEY_PAIRING_METHODS_CATEGORY = "adb_pairing_methods_category";
+    private static final String PREF_KEY_ADB_QRCODE_PAIRING = "adb_pair_method_qrcode_pref";
+    private static final String PREF_KEY_ADB_CODE_PAIRING = "adb_pair_method_code_pref";
+    private static final String PREF_KEY_PAIRED_DEVICES_CATEGORY = "adb_paired_devices_category";
+    private static final String PREF_KEY_FOOTER_CATEGORY = "adb_wireless_footer_category";
+
+    private Preference mDeviceNamePreference;
+    private Preference mIpAddrPreference;
+
+    private PreferenceCategory mPairingMethodsCategory;
+    private Preference mQrcodePairingPreference;
+    private Preference mCodePairingPreference;
+
+    private PreferenceCategory mPairedDevicesCategory;
+
+    private PreferenceCategory mFooterCategory;
+    private FooterPreference mOffMessagePreference;
+
+    // Map of paired devices, with the device GUID is the key
+    private Map<String, AdbPairedDevicePreference> mPairedDevicePreferences;
+
+    private IAdbManager mAdbManager;
+    private int mConnectionPort;
+
+    class PairingCodeDialogListener implements AdbWirelessDialog.AdbWirelessDialogListener {
+        @Override
+        public void onDismiss() {
+            Log.i(TAG, "onDismiss");
+            mPairingCodeDialog = null;
+            try {
+                mAdbManager.disablePairing();
+            } catch (RemoteException e) {
+                Log.e(TAG, "Unable to cancel pairing");
+            }
+        }
+    }
+    final PairingCodeDialogListener mPairingCodeDialogListener = new PairingCodeDialogListener();
+    AdbWirelessDialog mPairingCodeDialog;
+
+    private IntentFilter mIntentFilter;
+    private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
+        @Override
+        public void onReceive(Context context, Intent intent) {
+            String action = intent.getAction();
+            if (AdbManager.WIRELESS_DEBUG_PAIRED_DEVICES_ACTION.equals(action)) {
+                Map<String, PairDevice> newPairedDevicesList =
+                        (HashMap<String, PairDevice>) intent.getSerializableExtra(
+                            AdbManager.WIRELESS_DEVICES_EXTRA);
+                updatePairedDevicePreferences(newPairedDevicesList);
+            } else if (AdbManager.WIRELESS_DEBUG_STATE_CHANGED_ACTION.equals(action)) {
+                int status = intent.getIntExtra(AdbManager.WIRELESS_STATUS_EXTRA,
+                        AdbManager.WIRELESS_STATUS_DISCONNECTED);
+                if (status == AdbManager.WIRELESS_STATUS_CONNECTED) {
+                    int port = intent.getIntExtra(AdbManager.WIRELESS_DEBUG_PORT_EXTRA, 0);
+                    Log.i(TAG, "Got adbwifi port=" + port);
+                } else {
+                    Log.i(TAG, "adbwifi server disconnected");
+                }
+            } else if (AdbManager.WIRELESS_DEBUG_PAIRING_RESULT_ACTION.equals(action)) {
+                Integer res = intent.getIntExtra(
+                        AdbManager.WIRELESS_STATUS_EXTRA,
+                        AdbManager.WIRELESS_STATUS_FAIL);
+
+                if (res.equals(AdbManager.WIRELESS_STATUS_PAIRING_CODE)) {
+                    String pairingCode = intent.getStringExtra(
+                                AdbManager.WIRELESS_PAIRING_CODE_EXTRA);
+                    if (mPairingCodeDialog != null) {
+                        mPairingCodeDialog.getController().setPairingCode(pairingCode);
+                    }
+                } else if (res.equals(AdbManager.WIRELESS_STATUS_SUCCESS)) {
+                    removeDialog(AdbWirelessDialogUiBase.MODE_PAIRING);
+                    mPairingCodeDialog = null;
+                } else if (res.equals(AdbManager.WIRELESS_STATUS_FAIL)) {
+                    removeDialog(AdbWirelessDialogUiBase.MODE_PAIRING);
+                    mPairingCodeDialog = null;
+                    showDialog(AdbWirelessDialogUiBase.MODE_PAIRING_FAILED);
+                } else if (res.equals(AdbManager.WIRELESS_STATUS_CONNECTED)) {
+                    int port = intent.getIntExtra(AdbManager.WIRELESS_DEBUG_PORT_EXTRA, 0);
+                    Log.i(TAG, "Got pairing code port=" + port);
+                    String ipAddr = sAdbIpAddressPreferenceController.getIpv4Address() + ":" + port;
+                    if (mPairingCodeDialog != null) {
+                        mPairingCodeDialog.getController().setIpAddr(ipAddr);
+                    }
+                }
+            }
+        }
+    };
+
+    @Override
+    public void onActivityCreated(Bundle savedInstanceState) {
+        super.onActivityCreated(savedInstanceState);
+        final SettingsActivity activity = (SettingsActivity) getActivity();
+        mWifiDebuggingEnabler =  new WirelessDebuggingEnabler(activity,
+                new SwitchBarController(activity.getSwitchBar()), this,
+                getSettingsLifecycle());
+    }
+
+    @Override
+    public void onCreate(Bundle icicle) {
+        super.onCreate(icicle);
+
+        addPreferences();
+        mIntentFilter = new IntentFilter(AdbManager.WIRELESS_DEBUG_PAIRED_DEVICES_ACTION);
+        mIntentFilter.addAction(AdbManager.WIRELESS_DEBUG_STATE_CHANGED_ACTION);
+        mIntentFilter.addAction(AdbManager.WIRELESS_DEBUG_PAIRING_RESULT_ACTION);
+    }
+
+    private void addPreferences() {
+        mDeviceNamePreference =
+            (Preference) findPreference(PREF_KEY_ADB_DEVICE_NAME);
+        mIpAddrPreference =
+            (Preference) findPreference(PREF_KEY_ADB_IP_ADDR);
+        mPairingMethodsCategory =
+                (PreferenceCategory) findPreference(PREF_KEY_PAIRING_METHODS_CATEGORY);
+        mCodePairingPreference =
+                (Preference) findPreference(PREF_KEY_ADB_CODE_PAIRING);
+        mCodePairingPreference.setOnPreferenceClickListener(preference -> {
+            showDialog(AdbWirelessDialogUiBase.MODE_PAIRING);
+            return true;
+        });
+        mQrcodePairingPreference =
+                (Preference) findPreference(PREF_KEY_ADB_QRCODE_PAIRING);
+        mQrcodePairingPreference.setOnPreferenceClickListener(preference -> {
+            launchQrcodeScannerFragment();
+            return true;
+        });
+
+        mPairedDevicesCategory =
+                (PreferenceCategory) findPreference(PREF_KEY_PAIRED_DEVICES_CATEGORY);
+        mFooterCategory =
+                (PreferenceCategory) findPreference(PREF_KEY_FOOTER_CATEGORY);
+
+        mOffMessagePreference =
+                new FooterPreference(mFooterCategory.getContext());
+        final CharSequence title = getText(R.string.adb_wireless_list_empty_off);
+        mOffMessagePreference.setTitle(title);
+        mFooterCategory.addPreference(mOffMessagePreference);
+    }
+
+    @Override
+    public void onDestroyView() {
+        super.onDestroyView();
+
+        mWifiDebuggingEnabler.teardownSwitchController();
+    }
+
+    @Override
+    public void onResume() {
+        super.onResume();
+
+        getActivity().registerReceiver(mReceiver, mIntentFilter);
+    }
+
+    @Override
+    public void onPause() {
+        super.onPause();
+
+        removeDialog(AdbWirelessDialogUiBase.MODE_PAIRING);
+        getActivity().unregisterReceiver(mReceiver);
+    }
+
+    @Override
+    public void onActivityResult(int requestCode, int resultCode, Intent data) {
+        super.onActivityResult(requestCode, resultCode, data);
+
+        if (requestCode == PAIRED_DEVICE_REQUEST) {
+            handlePairedDeviceRequest(resultCode, data);
+        } else if (requestCode == PAIRING_DEVICE_REQUEST) {
+            handlePairingDeviceRequest(resultCode, data);
+        }
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.SETTINGS_ADB_WIRELESS;
+    }
+
+    @Override
+    public int getDialogMetricsCategory(int dialogId) {
+        return SettingsEnums.ADB_WIRELESS_DEVICE_PAIRING_DIALOG;
+    }
+
+    @Override
+    public Dialog onCreateDialog(int dialogId) {
+        Dialog d = AdbWirelessDialog.createModal(getActivity(),
+                dialogId == AdbWirelessDialogUiBase.MODE_PAIRING
+                    ? mPairingCodeDialogListener : null, dialogId);
+        if (dialogId == AdbWirelessDialogUiBase.MODE_PAIRING) {
+            mPairingCodeDialog = (AdbWirelessDialog) d;
+            try {
+                mAdbManager.enablePairingByPairingCode();
+            } catch (RemoteException e) {
+                Log.e(TAG, "Unable to enable pairing");
+                mPairingCodeDialog = null;
+                d = AdbWirelessDialog.createModal(getActivity(), null,
+                        AdbWirelessDialogUiBase.MODE_PAIRING_FAILED);
+            }
+        }
+        if (d != null) {
+            return d;
+        }
+        return super.onCreateDialog(dialogId);
+    }
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.adb_wireless_settings;
+    }
+
+    @Override
+    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
+        return buildPreferenceControllers(context, getActivity(), this /* fragment */,
+                getSettingsLifecycle());
+    }
+
+    private static List<AbstractPreferenceController> buildPreferenceControllers(
+            Context context, Activity activity, WirelessDebuggingFragment fragment,
+            Lifecycle lifecycle) {
+        final List<AbstractPreferenceController> controllers = new ArrayList<>();
+        sAdbIpAddressPreferenceController =
+                new AdbIpAddressPreferenceController(context, lifecycle);
+        controllers.add(sAdbIpAddressPreferenceController);
+
+        return controllers;
+    }
+
+    @Override
+    protected String getLogTag() {
+        return TAG;
+    }
+
+    @Override
+    public void onEnabled(boolean enabled) {
+        if (enabled) {
+            showDebuggingPreferences();
+            mAdbManager = IAdbManager.Stub.asInterface(ServiceManager.getService(
+                    Context.ADB_SERVICE));
+            try {
+                Map<String, PairDevice> newList = mAdbManager.getPairedDevices();
+                updatePairedDevicePreferences(newList);
+                mConnectionPort = mAdbManager.getAdbWirelessPort();
+                if (mConnectionPort > 0) {
+                    Log.i(TAG, "onEnabled(): connect_port=" + mConnectionPort);
+                }
+            } catch (RemoteException e) {
+                Log.e(TAG, "Unable to request the paired list for Adb wireless");
+            }
+            sAdbIpAddressPreferenceController.updateState(mIpAddrPreference);
+        } else {
+            showOffMessage();
+        }
+    }
+
+    private void showOffMessage() {
+        mDeviceNamePreference.setVisible(false);
+        mIpAddrPreference.setVisible(false);
+        mPairingMethodsCategory.setVisible(false);
+        mPairedDevicesCategory.setVisible(false);
+        mFooterCategory.setVisible(true);
+    }
+
+    private void showDebuggingPreferences() {
+        mDeviceNamePreference.setVisible(true);
+        mIpAddrPreference.setVisible(true);
+        mPairingMethodsCategory.setVisible(true);
+        mPairedDevicesCategory.setVisible(true);
+        mFooterCategory.setVisible(false);
+    }
+
+    private void updatePairedDevicePreferences(Map<String, PairDevice> newList) {
+        // TODO(joshuaduong): Move the non-UI stuff into another thread
+        // as the processing could take some time.
+        if (newList == null) {
+            mPairedDevicesCategory.removeAll();
+            return;
+        }
+        if (mPairedDevicePreferences == null) {
+            mPairedDevicePreferences = new HashMap<String, AdbPairedDevicePreference>();
+        }
+        if (mPairedDevicePreferences.isEmpty()) {
+            for (Map.Entry<String, PairDevice> entry : newList.entrySet()) {
+                AdbPairedDevicePreference p =
+                        new AdbPairedDevicePreference(entry.getValue(),
+                            mPairedDevicesCategory.getContext());
+                mPairedDevicePreferences.put(
+                        entry.getKey(),
+                        p);
+                p.setOnPreferenceClickListener(preference -> {
+                    AdbPairedDevicePreference pref =
+                            (AdbPairedDevicePreference) preference;
+                    launchPairedDeviceDetailsFragment(pref);
+                    return true;
+                });
+                mPairedDevicesCategory.addPreference(p);
+            }
+        } else {
+            // Remove any devices no longer on the newList
+            mPairedDevicePreferences.entrySet().removeIf(entry -> {
+                if (newList.get(entry.getKey()) == null) {
+                    mPairedDevicesCategory.removePreference(entry.getValue());
+                    return true;
+                } else {
+                    // It is in the newList. Just update the PairDevice value
+                    AdbPairedDevicePreference p =
+                            entry.getValue();
+                    p.setPairedDevice(newList.get(entry.getKey()));
+                    p.refresh();
+                    return false;
+                }
+            });
+            // Add new devices if any.
+            for (Map.Entry<String, PairDevice> entry :
+                    newList.entrySet()) {
+                if (mPairedDevicePreferences.get(entry.getKey()) == null) {
+                    AdbPairedDevicePreference p =
+                            new AdbPairedDevicePreference(entry.getValue(),
+                                mPairedDevicesCategory.getContext());
+                    mPairedDevicePreferences.put(
+                            entry.getKey(),
+                            p);
+                    p.setOnPreferenceClickListener(preference -> {
+                        AdbPairedDevicePreference pref =
+                                (AdbPairedDevicePreference) preference;
+                        launchPairedDeviceDetailsFragment(pref);
+                        return true;
+                    });
+                    mPairedDevicesCategory.addPreference(p);
+                }
+            }
+        }
+    }
+
+    private void launchPairedDeviceDetailsFragment(AdbPairedDevicePreference p) {
+        // For sending to the device details fragment.
+        p.savePairedDeviceToExtras(p.getExtras());
+        new SubSettingLauncher(getContext())
+                .setTitleRes(R.string.adb_wireless_device_details_title)
+                .setDestination(AdbDeviceDetailsFragment.class.getName())
+                .setArguments(p.getExtras())
+                .setSourceMetricsCategory(getMetricsCategory())
+                .setResultListener(this, PAIRED_DEVICE_REQUEST)
+                .launch();
+    }
+
+    void handlePairedDeviceRequest(int result, Intent data) {
+        if (result != Activity.RESULT_OK) {
+            return;
+        }
+
+        Log.i(TAG, "Processing paired device request");
+        int requestType = data.getIntExtra(PAIRED_DEVICE_REQUEST_TYPE, -1);
+
+        PairDevice p;
+
+        switch (requestType) {
+            case FORGET_ACTION:
+                try {
+                    p = (PairDevice) data.getParcelableExtra(PAIRED_DEVICE_EXTRA);
+                    mAdbManager.unpairDevice(p.getGuid());
+                } catch (RemoteException e) {
+                    Log.e(TAG, "Unable to forget the device");
+                }
+                break;
+            default:
+                break;
+        }
+    }
+
+    void handlePairingDeviceRequest(int result, Intent data) {
+        if (result != Activity.RESULT_OK) {
+            return;
+        }
+
+        int requestType = data.getIntExtra(PAIRING_DEVICE_REQUEST_TYPE, -1);
+        switch (requestType) {
+            case FAIL_ACTION:
+                showDialog(AdbWirelessDialogUiBase.MODE_PAIRING_FAILED);
+                break;
+            default:
+                break;
+        }
+    }
+
+    private String getDeviceName() {
+        // Keep device name in sync with Settings > About phone > Device name
+        String deviceName = Settings.Global.getString(getContext().getContentResolver(),
+                Settings.Global.DEVICE_NAME);
+        if (deviceName == null) {
+            deviceName = Build.MODEL;
+        }
+        return deviceName;
+    }
+
+    private void launchQrcodeScannerFragment() {
+        new SubSettingLauncher(getContext())
+                .setDestination(AdbQrcodeScannerFragment.class.getName())
+                .setSourceMetricsCategory(getMetricsCategory())
+                .setResultListener(this, PAIRING_DEVICE_REQUEST)
+                .launch();
+    }
+
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.development_tile_settings) {
+
+                @Override
+                protected boolean isPageSearchEnabled(Context context) {
+                    return DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(context);
+                }
+            };
+}
diff --git a/src/com/android/settings/development/WirelessDebuggingPreferenceController.java b/src/com/android/settings/development/WirelessDebuggingPreferenceController.java
new file mode 100644
index 0000000..81575d2
--- /dev/null
+++ b/src/com/android/settings/development/WirelessDebuggingPreferenceController.java
@@ -0,0 +1,143 @@
+/*
+ * 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.development;
+
+import android.content.ContentResolver;
+import android.content.Context;
+import android.database.ContentObserver;
+import android.debug.IAdbManager;
+import android.net.Uri;
+import android.os.Handler;
+import android.os.Looper;
+import android.os.RemoteException;
+import android.os.ServiceManager;
+import android.provider.Settings;
+import android.util.Log;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settings.widget.MasterSwitchPreference;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+import com.android.settingslib.core.lifecycle.LifecycleObserver;
+import com.android.settingslib.core.lifecycle.events.OnPause;
+import com.android.settingslib.core.lifecycle.events.OnResume;
+import com.android.settingslib.development.DeveloperOptionsPreferenceController;
+
+/**
+ * This controls the master switch controller in the developer options page for
+ * "Wireless debugging".
+ */
+public class WirelessDebuggingPreferenceController extends DeveloperOptionsPreferenceController
+        implements Preference.OnPreferenceChangeListener, PreferenceControllerMixin,
+        LifecycleObserver, OnResume, OnPause {
+    private static final String TAG = "WirelessDebugPrefCtrl";
+    private final IAdbManager mAdbManager;
+    private final ContentResolver mContentResolver;
+    private final ContentObserver mSettingsObserver;
+    private final Handler mHandler = new Handler(Looper.getMainLooper());
+
+    public static final String KEY_TOGGLE_ADB_WIRELESS = "toggle_adb_wireless";
+
+    public WirelessDebuggingPreferenceController(Context context, Lifecycle lifecycle) {
+        super(context);
+
+        if (lifecycle != null) {
+            lifecycle.addObserver(this);
+        }
+        mAdbManager = IAdbManager.Stub.asInterface(ServiceManager.getService(Context.ADB_SERVICE));
+        mSettingsObserver = new ContentObserver(mHandler) {
+            @Override
+            public void onChange(boolean selfChange, Uri uri) {
+                updateState(mPreference);
+            }
+        };
+        mContentResolver = context.getContentResolver();
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+    }
+
+    @Override
+    public boolean isAvailable() {
+        try {
+            return mAdbManager.isAdbWifiSupported();
+        } catch (RemoteException e) {
+            Log.e(TAG, "Unable to check if adb wifi is supported.", e);
+        }
+
+        return false;
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY_TOGGLE_ADB_WIRELESS;
+    }
+
+    /**
+     * Called when developer options is enabled and the preference is available
+     */
+    @Override
+    protected void onDeveloperOptionsSwitchEnabled() {
+        super.onDeveloperOptionsSwitchEnabled();
+        mPreference.setEnabled(true);
+    }
+
+    /**
+     * Called when developer options is disabled and the preference is available
+     */
+    @Override
+    protected void onDeveloperOptionsSwitchDisabled() {
+        super.onDeveloperOptionsSwitchDisabled();
+        mPreference.setEnabled(false);
+        Settings.Global.putInt(mContext.getContentResolver(),
+                Settings.Global.ADB_WIFI_ENABLED,
+                AdbPreferenceController.ADB_SETTING_OFF);
+    }
+
+    @Override
+    public void onResume() {
+        mContentResolver.registerContentObserver(
+                Settings.Global.getUriFor(Settings.Global.ADB_WIFI_ENABLED), false,
+                mSettingsObserver);
+    }
+
+    @Override
+    public void onPause() {
+        mContentResolver.unregisterContentObserver(mSettingsObserver);
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        boolean enabled = Settings.Global.getInt(mContentResolver,
+                Settings.Global.ADB_WIFI_ENABLED, AdbPreferenceController.ADB_SETTING_OFF)
+                    != AdbPreferenceController.ADB_SETTING_OFF;
+        ((MasterSwitchPreference) preference).setChecked(enabled);
+    }
+
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object newValue) {
+        final boolean enabled = (Boolean) newValue;
+        Settings.Global.putInt(mContext.getContentResolver(),
+                Settings.Global.ADB_WIFI_ENABLED,
+                enabled ? AdbPreferenceController.ADB_SETTING_ON
+                : AdbPreferenceController.ADB_SETTING_OFF);
+        return true;
+    }
+}
diff --git a/src/com/android/settings/development/bluetooth/AbstractBluetoothDialogPreferenceController.java b/src/com/android/settings/development/bluetooth/AbstractBluetoothDialogPreferenceController.java
new file mode 100644
index 0000000..6bc9175
--- /dev/null
+++ b/src/com/android/settings/development/bluetooth/AbstractBluetoothDialogPreferenceController.java
@@ -0,0 +1,276 @@
+/*
+ * 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.development.bluetooth;
+
+import android.bluetooth.BluetoothA2dp;
+import android.bluetooth.BluetoothCodecConfig;
+import android.bluetooth.BluetoothCodecStatus;
+import android.bluetooth.BluetoothDevice;
+import android.content.Context;
+import android.util.Log;
+
+import androidx.preference.Preference;
+
+import com.android.settings.development.BluetoothA2dpConfigStore;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+/**
+ * Abstract class for Bluetooth A2DP config dialog controller in developer option.
+ */
+public abstract class AbstractBluetoothDialogPreferenceController extends
+        AbstractBluetoothPreferenceController implements BaseBluetoothDialogPreference.Callback {
+
+    private static final String TAG = "AbstractBtDlgCtr";
+
+    protected static final int[] CODEC_TYPES = {BluetoothCodecConfig.SOURCE_CODEC_TYPE_LDAC,
+            BluetoothCodecConfig.SOURCE_CODEC_TYPE_APTX_HD,
+            BluetoothCodecConfig.SOURCE_CODEC_TYPE_APTX,
+            BluetoothCodecConfig.SOURCE_CODEC_TYPE_AAC,
+            BluetoothCodecConfig.SOURCE_CODEC_TYPE_SBC};
+    protected static final int[] SAMPLE_RATES = {BluetoothCodecConfig.SAMPLE_RATE_192000,
+            BluetoothCodecConfig.SAMPLE_RATE_176400,
+            BluetoothCodecConfig.SAMPLE_RATE_96000,
+            BluetoothCodecConfig.SAMPLE_RATE_88200,
+            BluetoothCodecConfig.SAMPLE_RATE_48000,
+            BluetoothCodecConfig.SAMPLE_RATE_44100};
+    protected static final int[] BITS_PER_SAMPLES = {BluetoothCodecConfig.BITS_PER_SAMPLE_32,
+            BluetoothCodecConfig.BITS_PER_SAMPLE_24,
+            BluetoothCodecConfig.BITS_PER_SAMPLE_16};
+    protected static final int[] CHANNEL_MODES = {BluetoothCodecConfig.CHANNEL_MODE_STEREO,
+            BluetoothCodecConfig.CHANNEL_MODE_MONO};
+
+    protected final BluetoothA2dpConfigStore mBluetoothA2dpConfigStore;
+
+    public AbstractBluetoothDialogPreferenceController(Context context, Lifecycle lifecycle,
+                                                       BluetoothA2dpConfigStore store) {
+        super(context, lifecycle, store);
+        mBluetoothA2dpConfigStore = store;
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        super.updateState(preference);
+    }
+
+    @Override
+    public CharSequence getSummary() {
+        return ((BaseBluetoothDialogPreference) mPreference).generateSummary(
+                getCurrentConfigIndex());
+    }
+
+    @Override
+    public void onIndexUpdated(int index) {
+        final BluetoothA2dp bluetoothA2dp = mBluetoothA2dp;
+        if (bluetoothA2dp == null) {
+            return;
+        }
+        writeConfigurationValues(index);
+        final BluetoothCodecConfig codecConfig = mBluetoothA2dpConfigStore.createCodecConfig();
+        BluetoothDevice activeDevice = mBluetoothA2dp.getActiveDevice();
+        if (activeDevice != null) {
+            bluetoothA2dp.setCodecConfigPreference(activeDevice, codecConfig);
+        }
+        mPreference.setSummary(((BaseBluetoothDialogPreference) mPreference).generateSummary(
+                index));
+    }
+
+    @Override
+    public int getCurrentConfigIndex() {
+        final BluetoothCodecConfig codecConfig = getCurrentCodecConfig();
+        if (codecConfig == null) {
+            Log.d(TAG, "Unable to get current config index. Current codec Config is null.");
+            return getDefaultIndex();
+        }
+        return getCurrentIndexByConfig(codecConfig);
+    }
+
+    @Override
+    public void onBluetoothServiceConnected(BluetoothA2dp bluetoothA2dp) {
+        super.onBluetoothServiceConnected(bluetoothA2dp);
+        initConfigStore();
+    }
+
+    private void initConfigStore() {
+        final BluetoothCodecConfig config = getCurrentCodecConfig();
+        if (config == null) {
+            return;
+        }
+        mBluetoothA2dpConfigStore.setCodecType(config.getCodecType());
+        mBluetoothA2dpConfigStore.setSampleRate(config.getSampleRate());
+        mBluetoothA2dpConfigStore.setBitsPerSample(config.getBitsPerSample());
+        mBluetoothA2dpConfigStore.setChannelMode(config.getChannelMode());
+        mBluetoothA2dpConfigStore.setCodecPriority(config.getCodecPriority());
+        mBluetoothA2dpConfigStore.setCodecSpecific1Value(config.getCodecSpecific1());
+    }
+
+    /**
+     * Updates the new value to the {@link BluetoothA2dpConfigStore}.
+     *
+     * @param newValue the new setting value
+     */
+    protected abstract void writeConfigurationValues(int newValue);
+
+    /**
+     * To get the current A2DP index value.
+     *
+     * @param config for the current {@link BluetoothCodecConfig}.
+     * @return the current index.
+     */
+    protected abstract int getCurrentIndexByConfig(BluetoothCodecConfig config);
+
+    /**
+     * @return the default index.
+     */
+    protected int getDefaultIndex() {
+        return ((BaseBluetoothDialogPreference) mPreference).getDefaultIndex();
+    }
+
+    /**
+     * To get the current A2DP codec config.
+     *
+     * @return {@link BluetoothCodecConfig}.
+     */
+    protected BluetoothCodecConfig getCurrentCodecConfig() {
+        final BluetoothA2dp bluetoothA2dp = mBluetoothA2dp;
+        if (bluetoothA2dp == null) {
+            return null;
+        }
+        BluetoothDevice activeDevice = bluetoothA2dp.getActiveDevice();
+        if (activeDevice == null) {
+            Log.d(TAG, "Unable to get current codec config. No active device.");
+            return null;
+        }
+        final BluetoothCodecStatus codecStatus =
+                bluetoothA2dp.getCodecStatus(activeDevice);
+        if (codecStatus == null) {
+            Log.d(TAG, "Unable to get current codec config. Codec status is null");
+            return null;
+        }
+        return codecStatus.getCodecConfig();
+    }
+
+    /**
+     * To get the selectable A2DP configs.
+     *
+     * @return Array of {@link BluetoothCodecConfig}.
+     */
+    protected BluetoothCodecConfig[] getSelectableConfigs(BluetoothDevice device) {
+        final BluetoothA2dp bluetoothA2dp = mBluetoothA2dp;
+        if (bluetoothA2dp == null) {
+            return null;
+        }
+        BluetoothDevice bluetoothDevice =
+                (device != null) ? device : bluetoothA2dp.getActiveDevice();
+        if (bluetoothDevice == null) {
+            return null;
+        }
+        final BluetoothCodecStatus codecStatus = bluetoothA2dp.getCodecStatus(bluetoothDevice);
+        if (codecStatus != null) {
+            return codecStatus.getCodecsSelectableCapabilities();
+        }
+        return null;
+    }
+
+    /**
+     * To get the selectable A2DP config by codec type.
+     *
+     * @return {@link BluetoothCodecConfig}.
+     */
+    protected BluetoothCodecConfig getSelectableByCodecType(int codecTypeValue) {
+        BluetoothDevice activeDevice = mBluetoothA2dp.getActiveDevice();
+        if (activeDevice == null) {
+            Log.d(TAG, "Unable to get selectable config. No active device.");
+            return null;
+        }
+        final BluetoothCodecConfig[] configs = getSelectableConfigs(activeDevice);
+        if (configs == null) {
+            Log.d(TAG, "Unable to get selectable config. Selectable configs is empty.");
+            return null;
+        }
+        for (BluetoothCodecConfig config : configs) {
+            if (config.getCodecType() == codecTypeValue) {
+                return config;
+            }
+        }
+        Log.d(TAG, "Unable to find matching codec config, type is " + codecTypeValue);
+        return null;
+    }
+
+    /**
+     * Method to notify controller when the HD audio(optional codec) state is changed.
+     *
+     * @param enabled Is {@code true} when the setting is enabled.
+     */
+    public void onHDAudioEnabled(boolean enabled) {}
+
+    static int getHighestCodec(BluetoothCodecConfig[] configs) {
+        if (configs == null) {
+            Log.d(TAG, "Unable to get highest codec. Configs are empty");
+            return BluetoothCodecConfig.SOURCE_CODEC_TYPE_INVALID;
+        }
+        for (int i = 0; i < CODEC_TYPES.length; i++) {
+            for (int j = 0; j < configs.length; j++) {
+                if ((configs[j].getCodecType() == CODEC_TYPES[i])) {
+                    return CODEC_TYPES[i];
+                }
+            }
+        }
+        return BluetoothCodecConfig.SOURCE_CODEC_TYPE_INVALID;
+    }
+
+    static int getHighestSampleRate(BluetoothCodecConfig config) {
+        if (config == null) {
+            Log.d(TAG, "Unable to get highest sample rate. Config is empty");
+            return BluetoothCodecConfig.SAMPLE_RATE_NONE;
+        }
+        final int capability = config.getSampleRate();
+        for (int i = 0; i < SAMPLE_RATES.length; i++) {
+            if ((capability & SAMPLE_RATES[i]) != 0) {
+                return SAMPLE_RATES[i];
+            }
+        }
+        return BluetoothCodecConfig.SAMPLE_RATE_NONE;
+    }
+
+    static int getHighestBitsPerSample(BluetoothCodecConfig config) {
+        if (config == null) {
+            Log.d(TAG, "Unable to get highest bits per sample. Config is empty");
+            return BluetoothCodecConfig.BITS_PER_SAMPLE_NONE;
+        }
+        final int capability = config.getBitsPerSample();
+        for (int i = 0; i < BITS_PER_SAMPLES.length; i++) {
+            if ((capability & BITS_PER_SAMPLES[i]) != 0) {
+                return BITS_PER_SAMPLES[i];
+            }
+        }
+        return BluetoothCodecConfig.BITS_PER_SAMPLE_NONE;
+    }
+
+    static int getHighestChannelMode(BluetoothCodecConfig config) {
+        if (config == null) {
+            Log.d(TAG, "Unable to get highest channel mode. Config is empty");
+            return BluetoothCodecConfig.CHANNEL_MODE_NONE;
+        }
+        final int capability = config.getChannelMode();
+        for (int i = 0; i < CHANNEL_MODES.length; i++) {
+            if ((capability & CHANNEL_MODES[i]) != 0) {
+                return CHANNEL_MODES[i];
+            }
+        }
+        return BluetoothCodecConfig.CHANNEL_MODE_NONE;
+    }
+}
diff --git a/src/com/android/settings/development/bluetooth/AbstractBluetoothPreferenceController.java b/src/com/android/settings/development/bluetooth/AbstractBluetoothPreferenceController.java
new file mode 100644
index 0000000..8abe162
--- /dev/null
+++ b/src/com/android/settings/development/bluetooth/AbstractBluetoothPreferenceController.java
@@ -0,0 +1,84 @@
+/*
+ * 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.development.bluetooth;
+
+import android.bluetooth.BluetoothA2dp;
+import android.content.Context;
+
+import com.android.settings.development.BluetoothA2dpConfigStore;
+import com.android.settings.development.BluetoothServiceConnectionListener;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+import com.android.settingslib.core.lifecycle.LifecycleObserver;
+import com.android.settingslib.core.lifecycle.events.OnDestroy;
+import com.android.settingslib.development.DeveloperOptionsPreferenceController;
+
+/**
+ * Abstract class for Bluetooth A2DP config controller in developer option.
+ */
+public abstract class AbstractBluetoothPreferenceController extends
+        DeveloperOptionsPreferenceController implements BluetoothServiceConnectionListener,
+        LifecycleObserver, OnDestroy {
+
+    protected volatile BluetoothA2dp mBluetoothA2dp;
+
+    public AbstractBluetoothPreferenceController(Context context, Lifecycle lifecycle,
+                                                 BluetoothA2dpConfigStore store) {
+        super(context);
+        if (lifecycle != null) {
+            lifecycle.addObserver(this);
+        }
+    }
+
+    @Override
+    public void onBluetoothServiceConnected(BluetoothA2dp bluetoothA2dp) {
+        mBluetoothA2dp = bluetoothA2dp;
+        updateState(mPreference);
+    }
+
+    @Override
+    public void onBluetoothCodecUpdated() {
+        updateState(mPreference);
+    }
+
+    @Override
+    public void onBluetoothServiceDisconnected() {
+        mBluetoothA2dp = null;
+        updateState(mPreference);
+    }
+
+    @Override
+    public void onDestroy() {
+        mBluetoothA2dp = null;
+    }
+
+    /**
+     * Callback interface for this class to manipulate data from controller.
+     */
+    public interface Callback {
+        /**
+         * Callback method to notify preferences when the Bluetooth A2DP config is changed.
+         */
+        void onBluetoothCodecChanged();
+
+        /**
+         * Callback method to notify preferences when the HD audio(optional codec) state is changed.
+         *
+         * @param enabled Is {@code true} when the setting is enabled.
+         */
+        void onBluetoothHDAudioEnabled(boolean enabled);
+    }
+}
diff --git a/src/com/android/settings/development/bluetooth/BaseBluetoothDialogPreference.java b/src/com/android/settings/development/bluetooth/BaseBluetoothDialogPreference.java
new file mode 100644
index 0000000..08a450b
--- /dev/null
+++ b/src/com/android/settings/development/bluetooth/BaseBluetoothDialogPreference.java
@@ -0,0 +1,171 @@
+/*
+ * 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.development.bluetooth;
+
+import android.content.Context;
+import android.util.AttributeSet;
+import android.util.Log;
+import android.view.View;
+import android.widget.RadioButton;
+import android.widget.RadioGroup;
+import android.widget.TextView;
+
+import com.android.settings.R;
+import com.android.settingslib.CustomDialogPreferenceCompat;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Abstract class for Bluetooth A2DP config preference in developer option.
+ */
+public abstract class BaseBluetoothDialogPreference extends CustomDialogPreferenceCompat implements
+        RadioGroup.OnCheckedChangeListener{
+    private static final String TAG = "BaseBluetoothDlgPref";
+
+    protected List<Integer> mRadioButtonIds = new ArrayList<>();
+    protected List<String> mRadioButtonStrings = new ArrayList<>();
+    protected List<String> mSummaryStrings = new ArrayList<>();
+
+    private Callback mCallback;
+
+    public BaseBluetoothDialogPreference(Context context) {
+        super(context);
+    }
+
+    public BaseBluetoothDialogPreference(Context context, AttributeSet attrs) {
+        super(context, attrs);
+    }
+
+    public BaseBluetoothDialogPreference(Context context, AttributeSet attrs, int defStyleAttr) {
+        super(context, attrs, defStyleAttr);
+    }
+
+    public BaseBluetoothDialogPreference(Context context, AttributeSet attrs, int defStyleAttr,
+            int defStyleRes) {
+        super(context, attrs, defStyleAttr, defStyleRes);
+    }
+
+    @Override
+    protected void onBindDialogView(View view) {
+        super.onBindDialogView(view);
+        if (mCallback == null) {
+            Log.e(TAG, "Unable to show dialog by the callback is null");
+            return;
+        }
+        if (mRadioButtonStrings.size() != mRadioButtonIds.size()) {
+            Log.e(TAG, "Unable to show dialog by the view and string size are not matched");
+            return;
+        }
+        final int currentIndex = mCallback.getCurrentConfigIndex();
+        if (currentIndex < 0 || currentIndex >= mRadioButtonIds.size()) {
+            Log.e(TAG, "Unable to show dialog by the incorrect index: " + currentIndex);
+            return;
+        }
+        // Initial radio button group
+        final RadioGroup radioGroup = view.findViewById(getRadioButtonGroupId());
+        if (radioGroup == null) {
+            Log.e(TAG, "Unable to show dialog by no radio button group: "
+                    + getRadioButtonGroupId());
+            return;
+        }
+        radioGroup.check(mRadioButtonIds.get(currentIndex));
+        radioGroup.setOnCheckedChangeListener(this);
+        // Initial radio button
+        final List<Integer> selectableIndex = mCallback.getSelectableIndex();
+        RadioButton radioButton;
+        for (int i = 0; i < mRadioButtonStrings.size(); i++) {
+            radioButton = view.findViewById(mRadioButtonIds.get(i));
+            if (radioButton == null) {
+                Log.e(TAG, "Unable to show dialog by no radio button:" + mRadioButtonIds.get(i));
+                return;
+            }
+            radioButton.setText(mRadioButtonStrings.get(i));
+            radioButton.setEnabled(selectableIndex.contains(i));
+        }
+        // View will be invisible when all options are enabled.
+        if (selectableIndex.size() == mRadioButtonIds.size()) {
+            final TextView helpTextView = view.findViewById(R.id.bluetooth_audio_codec_help_info);
+            helpTextView.setVisibility(View.GONE);
+        }
+    }
+
+    @Override
+    public void onCheckedChanged(RadioGroup group, int checkedId) {
+        if (mCallback == null) {
+            Log.e(TAG, "Callback is null");
+            return;
+        }
+        mCallback.onIndexUpdated(mRadioButtonIds.indexOf(checkedId));
+        getDialog().dismiss();
+    }
+
+    /**
+     * Method to set callback.
+     */
+    public void setCallback(Callback callback) {
+        mCallback = callback;
+    }
+
+    /**
+     * Method to get summary strings by index.
+     */
+    protected String generateSummary(int index) {
+        if (index > mSummaryStrings.size()) {
+            Log.e(TAG, "Unable to get summary of " + index + ". Size is " + mSummaryStrings.size());
+            return null;
+        }
+        return index == getDefaultIndex() ? mSummaryStrings.get(getDefaultIndex()) :
+                String.format(getContext().getResources().getString(
+                        R.string.bluetooth_select_a2dp_codec_streaming_label),
+                        mSummaryStrings.get(index));
+    }
+
+    /**
+     * Method to get default index.
+     */
+    protected int getDefaultIndex() {
+        return 0;
+    }
+
+    /**
+     * Method to get radio button group id.
+     */
+    protected abstract int getRadioButtonGroupId();
+
+    /**
+     * Callback interface for this class to manipulate data from controller.
+     */
+    public interface Callback {
+        /**
+         * Method to get current Bluetooth A2DP config index.
+         */
+        int getCurrentConfigIndex();
+        /**
+         * Method to get selectable config index which means supported by phone and device.
+         *
+         * @return the available {@link List} of the Bluetooth A2DP config.
+         */
+        List<Integer> getSelectableIndex();
+        /**
+         * Method to notify controller when user changes config.
+         *
+         * @param index for the selected index.
+         */
+        void onIndexUpdated(int index);
+    }
+}
diff --git a/src/com/android/settings/development/bluetooth/BluetoothBitPerSampleDialogPreference.java b/src/com/android/settings/development/bluetooth/BluetoothBitPerSampleDialogPreference.java
new file mode 100644
index 0000000..480c208
--- /dev/null
+++ b/src/com/android/settings/development/bluetooth/BluetoothBitPerSampleDialogPreference.java
@@ -0,0 +1,74 @@
+/*
+ * 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.development.bluetooth;
+
+import android.content.Context;
+import android.util.AttributeSet;
+import android.widget.RadioGroup;
+
+import com.android.settings.R;
+
+/**
+ * Dialog preference to set the Bluetooth A2DP config of bit per sample
+ */
+public class BluetoothBitPerSampleDialogPreference extends BaseBluetoothDialogPreference implements
+        RadioGroup.OnCheckedChangeListener {
+
+    public BluetoothBitPerSampleDialogPreference(Context context) {
+        super(context);
+        initialize(context);
+    }
+
+    public BluetoothBitPerSampleDialogPreference(Context context, AttributeSet attrs) {
+        super(context, attrs);
+        initialize(context);
+    }
+
+    public BluetoothBitPerSampleDialogPreference(Context context, AttributeSet attrs,
+                                                 int defStyleAttr) {
+        super(context, attrs, defStyleAttr);
+        initialize(context);
+    }
+
+    public BluetoothBitPerSampleDialogPreference(Context context, AttributeSet attrs,
+                                                 int defStyleAttr, int defStyleRes) {
+        super(context, attrs, defStyleAttr, defStyleRes);
+        initialize(context);
+    }
+
+    @Override
+    protected int getRadioButtonGroupId() {
+        return R.id.bluetooth_audio_bit_per_sample_radio_group;
+    }
+
+    private void initialize(Context context) {
+        mRadioButtonIds.add(R.id.bluetooth_audio_bit_per_sample_default);
+        mRadioButtonIds.add(R.id.bluetooth_audio_bit_per_sample_16);
+        mRadioButtonIds.add(R.id.bluetooth_audio_bit_per_sample_24);
+        mRadioButtonIds.add(R.id.bluetooth_audio_bit_per_sample_32);
+        String[] stringArray = context.getResources().getStringArray(
+                R.array.bluetooth_a2dp_codec_bits_per_sample_titles);
+        for (int i = 0; i < stringArray.length; i++) {
+            mRadioButtonStrings.add(stringArray[i]);
+        }
+        stringArray = context.getResources().getStringArray(
+                R.array.bluetooth_a2dp_codec_bits_per_sample_summaries);
+        for (int i = 0; i < stringArray.length; i++) {
+            mSummaryStrings.add(stringArray[i]);
+        }
+    }
+}
diff --git a/src/com/android/settings/development/bluetooth/BluetoothBitPerSampleDialogPreferenceController.java b/src/com/android/settings/development/bluetooth/BluetoothBitPerSampleDialogPreferenceController.java
new file mode 100644
index 0000000..5cd8af2
--- /dev/null
+++ b/src/com/android/settings/development/bluetooth/BluetoothBitPerSampleDialogPreferenceController.java
@@ -0,0 +1,127 @@
+/*
+ * 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.development.bluetooth;
+
+import android.bluetooth.BluetoothCodecConfig;
+import android.content.Context;
+import android.util.Log;
+
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.development.BluetoothA2dpConfigStore;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Dialog preference controller to set the Bluetooth A2DP config of bit per sample
+ */
+public class BluetoothBitPerSampleDialogPreferenceController extends
+        AbstractBluetoothDialogPreferenceController {
+
+    private static final String KEY = "bluetooth_bit_per_sample_settings";
+    private static final String TAG = "BtBitPerSampleCtr";
+
+    public BluetoothBitPerSampleDialogPreferenceController(Context context, Lifecycle lifecycle,
+                                                           BluetoothA2dpConfigStore store) {
+        super(context, lifecycle, store);
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY;
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        ((BaseBluetoothDialogPreference) mPreference).setCallback(this);
+    }
+
+    @Override
+    protected void writeConfigurationValues(final int index) {
+        int bitsPerSampleValue = BluetoothCodecConfig.BITS_PER_SAMPLE_NONE;
+        switch (index) {
+            case 0:
+                final BluetoothCodecConfig currentConfig = getCurrentCodecConfig();
+                if (currentConfig != null) {
+                    bitsPerSampleValue = getHighestBitsPerSample(getSelectableByCodecType(
+                            currentConfig.getCodecType()));
+                }
+                break;
+            case 1:
+                bitsPerSampleValue = BluetoothCodecConfig.BITS_PER_SAMPLE_16;
+                break;
+            case 2:
+                bitsPerSampleValue = BluetoothCodecConfig.BITS_PER_SAMPLE_24;
+                break;
+            case 3:
+                bitsPerSampleValue = BluetoothCodecConfig.BITS_PER_SAMPLE_32;
+                break;
+            default:
+                break;
+        }
+        mBluetoothA2dpConfigStore.setBitsPerSample(bitsPerSampleValue);
+    }
+
+    @Override
+    protected int getCurrentIndexByConfig(BluetoothCodecConfig config) {
+        if (config == null) {
+            Log.e(TAG, "Unable to get current config index. Config is null.");
+        }
+        return convertCfgToBtnIndex(config.getBitsPerSample());
+    }
+
+    @Override
+    public List<Integer> getSelectableIndex() {
+        List<Integer> selectableIndex = new ArrayList<>();
+        selectableIndex.add(getDefaultIndex());
+        final BluetoothCodecConfig currentConfig = getCurrentCodecConfig();
+        if (currentConfig != null) {
+            final int configs =
+                    getSelectableByCodecType(currentConfig.getCodecType()).getBitsPerSample();
+            for (int i = 0; i < BITS_PER_SAMPLES.length; i++) {
+                if ((configs & BITS_PER_SAMPLES[i]) != 0) {
+                    selectableIndex.add(convertCfgToBtnIndex(BITS_PER_SAMPLES[i]));
+                }
+            }
+        }
+        return selectableIndex;
+    }
+
+    @VisibleForTesting
+    int convertCfgToBtnIndex(int config) {
+        int index = getDefaultIndex();
+        switch (config) {
+            case BluetoothCodecConfig.BITS_PER_SAMPLE_16:
+                index = 1;
+                break;
+            case BluetoothCodecConfig.BITS_PER_SAMPLE_24:
+                index = 2;
+                break;
+            case BluetoothCodecConfig.BITS_PER_SAMPLE_32:
+                index = 3;
+                break;
+            default:
+                Log.e(TAG, "Unsupported config:" + config);
+                break;
+        }
+        return index;
+    }
+}
diff --git a/src/com/android/settings/development/bluetooth/BluetoothChannelModeDialogPreference.java b/src/com/android/settings/development/bluetooth/BluetoothChannelModeDialogPreference.java
new file mode 100644
index 0000000..a878f32
--- /dev/null
+++ b/src/com/android/settings/development/bluetooth/BluetoothChannelModeDialogPreference.java
@@ -0,0 +1,73 @@
+/*
+ * 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.development.bluetooth;
+
+import android.content.Context;
+import android.util.AttributeSet;
+import android.widget.RadioGroup;
+
+import com.android.settings.R;
+
+/**
+ * Dialog preference to set the Bluetooth A2DP config of audio channel mode
+ */
+public class BluetoothChannelModeDialogPreference extends BaseBluetoothDialogPreference implements
+        RadioGroup.OnCheckedChangeListener {
+
+    public BluetoothChannelModeDialogPreference(Context context) {
+        super(context);
+        initialize(context);
+    }
+
+    public BluetoothChannelModeDialogPreference(Context context, AttributeSet attrs) {
+        super(context, attrs);
+        initialize(context);
+    }
+
+    public BluetoothChannelModeDialogPreference(Context context, AttributeSet attrs,
+                                                int defStyleAttr) {
+        super(context, attrs, defStyleAttr);
+        initialize(context);
+    }
+
+    public BluetoothChannelModeDialogPreference(Context context, AttributeSet attrs,
+                                                int defStyleAttr, int defStyleRes) {
+        super(context, attrs, defStyleAttr, defStyleRes);
+        initialize(context);
+    }
+
+    @Override
+    protected int getRadioButtonGroupId() {
+        return R.id.bluetooth_audio_channel_mode_radio_group;
+    }
+
+    private void initialize(Context context) {
+        mRadioButtonIds.add(R.id.bluetooth_audio_channel_mode_default);
+        mRadioButtonIds.add(R.id.bluetooth_audio_channel_mode_mono);
+        mRadioButtonIds.add(R.id.bluetooth_audio_channel_mode_stereo);
+        String[] stringArray = context.getResources().getStringArray(
+                R.array.bluetooth_a2dp_codec_channel_mode_titles);
+        for (int i = 0; i < stringArray.length; i++) {
+            mRadioButtonStrings.add(stringArray[i]);
+        }
+        stringArray = context.getResources().getStringArray(
+                R.array.bluetooth_a2dp_codec_channel_mode_summaries);
+        for (int i = 0; i < stringArray.length; i++) {
+            mSummaryStrings.add(stringArray[i]);
+        }
+    }
+}
diff --git a/src/com/android/settings/development/bluetooth/BluetoothChannelModeDialogPreferenceController.java b/src/com/android/settings/development/bluetooth/BluetoothChannelModeDialogPreferenceController.java
new file mode 100644
index 0000000..d156abd
--- /dev/null
+++ b/src/com/android/settings/development/bluetooth/BluetoothChannelModeDialogPreferenceController.java
@@ -0,0 +1,121 @@
+/*
+ * 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.development.bluetooth;
+
+import android.bluetooth.BluetoothCodecConfig;
+import android.content.Context;
+import android.util.Log;
+
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.development.BluetoothA2dpConfigStore;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Dialog preference controller to set the Bluetooth A2DP config of audio channel mode
+ */
+public class BluetoothChannelModeDialogPreferenceController extends
+        AbstractBluetoothDialogPreferenceController {
+
+    private static final String KEY = "bluetooth_channel_mode_settings";
+    private static final String TAG = "BtChannelModeCtr";
+
+    public BluetoothChannelModeDialogPreferenceController(Context context, Lifecycle lifecycle,
+                                                          BluetoothA2dpConfigStore store) {
+        super(context, lifecycle, store);
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY;
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        ((BaseBluetoothDialogPreference) mPreference).setCallback(this);
+    }
+
+    @Override
+    protected void writeConfigurationValues(final int index) {
+        int channelModeValue = BluetoothCodecConfig.CHANNEL_MODE_NONE; // default
+        switch (index) {
+            case 0:
+                final BluetoothCodecConfig currentConfig = getCurrentCodecConfig();
+                if (currentConfig != null) {
+                    channelModeValue = getHighestChannelMode(getSelectableByCodecType(
+                            currentConfig.getCodecType()));
+                }
+                break;
+            case 1:
+                channelModeValue = BluetoothCodecConfig.CHANNEL_MODE_MONO;
+                break;
+            case 2:
+                channelModeValue = BluetoothCodecConfig.CHANNEL_MODE_STEREO;
+                break;
+            default:
+                break;
+        }
+        mBluetoothA2dpConfigStore.setChannelMode(channelModeValue);
+    }
+
+    @Override
+    protected int getCurrentIndexByConfig(BluetoothCodecConfig config) {
+        if (config == null) {
+            Log.e(TAG, "Unable to get current config index. Config is null.");
+        }
+        return convertCfgToBtnIndex(config.getChannelMode());
+    }
+
+    @Override
+    public List<Integer> getSelectableIndex() {
+        List<Integer> selectableIndex = new ArrayList<>();
+        selectableIndex.add(getDefaultIndex());
+        final BluetoothCodecConfig currentConfig = getCurrentCodecConfig();
+        if (currentConfig != null) {
+            final int configs =
+                    getSelectableByCodecType(currentConfig.getCodecType()).getChannelMode();
+            for (int i = 0; i < CHANNEL_MODES.length; i++) {
+                if ((configs & CHANNEL_MODES[i]) != 0) {
+                    selectableIndex.add(convertCfgToBtnIndex(CHANNEL_MODES[i]));
+                }
+            }
+        }
+        return selectableIndex;
+    }
+
+    @VisibleForTesting
+    int convertCfgToBtnIndex(int config) {
+        int index = getDefaultIndex();
+        switch (config) {
+            case BluetoothCodecConfig.CHANNEL_MODE_MONO:
+                index = 1;
+                break;
+            case BluetoothCodecConfig.CHANNEL_MODE_STEREO:
+                index = 2;
+                break;
+            default:
+                Log.e(TAG, "Unsupported config:" + config);
+                break;
+        }
+        return index;
+    }
+}
diff --git a/src/com/android/settings/development/bluetooth/BluetoothCodecDialogPreference.java b/src/com/android/settings/development/bluetooth/BluetoothCodecDialogPreference.java
new file mode 100644
index 0000000..6a733f3
--- /dev/null
+++ b/src/com/android/settings/development/bluetooth/BluetoothCodecDialogPreference.java
@@ -0,0 +1,74 @@
+/*
+ * 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.development.bluetooth;
+
+import android.content.Context;
+import android.util.AttributeSet;
+import android.widget.RadioGroup;
+
+import com.android.settings.R;
+
+/**
+ * Dialog preference to set the Bluetooth A2DP config of codec
+ */
+public class BluetoothCodecDialogPreference extends BaseBluetoothDialogPreference implements
+        RadioGroup.OnCheckedChangeListener {
+
+    public BluetoothCodecDialogPreference(Context context) {
+        super(context);
+        initialize(context);
+    }
+
+    public BluetoothCodecDialogPreference(Context context, AttributeSet attrs) {
+        super(context, attrs);
+        initialize(context);
+    }
+
+    public BluetoothCodecDialogPreference(Context context, AttributeSet attrs, int defStyleAttr) {
+        super(context, attrs, defStyleAttr);
+        initialize(context);
+    }
+
+    public BluetoothCodecDialogPreference(Context context, AttributeSet attrs, int defStyleAttr,
+                                          int defStyleRes) {
+        super(context, attrs, defStyleAttr, defStyleRes);
+        initialize(context);
+    }
+
+    @Override
+    protected int getRadioButtonGroupId() {
+        return R.id.bluetooth_audio_codec_radio_group;
+    }
+
+    private void initialize(Context context) {
+        mRadioButtonIds.add(R.id.bluetooth_audio_codec_default);
+        mRadioButtonIds.add(R.id.bluetooth_audio_codec_sbc);
+        mRadioButtonIds.add(R.id.bluetooth_audio_codec_aac);
+        mRadioButtonIds.add(R.id.bluetooth_audio_codec_aptx);
+        mRadioButtonIds.add(R.id.bluetooth_audio_codec_aptx_hd);
+        mRadioButtonIds.add(R.id.bluetooth_audio_codec_ldac);
+        String[] stringArray = context.getResources().getStringArray(
+                R.array.bluetooth_a2dp_codec_titles);
+        for (int i = 0; i < stringArray.length; i++) {
+            mRadioButtonStrings.add(stringArray[i]);
+        }
+        stringArray = context.getResources().getStringArray(R.array.bluetooth_a2dp_codec_summaries);
+        for (int i = 0; i < stringArray.length; i++) {
+            mSummaryStrings.add(stringArray[i]);
+        }
+    }
+}
diff --git a/src/com/android/settings/development/bluetooth/BluetoothCodecDialogPreferenceController.java b/src/com/android/settings/development/bluetooth/BluetoothCodecDialogPreferenceController.java
new file mode 100644
index 0000000..a0af268
--- /dev/null
+++ b/src/com/android/settings/development/bluetooth/BluetoothCodecDialogPreferenceController.java
@@ -0,0 +1,191 @@
+/*
+ * 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.development.bluetooth;
+
+import android.bluetooth.BluetoothA2dp;
+import android.bluetooth.BluetoothCodecConfig;
+import android.bluetooth.BluetoothDevice;
+import android.content.Context;
+import android.util.Log;
+
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.development.BluetoothA2dpConfigStore;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Dialog preference controller to set the Bluetooth A2DP config of codec
+ */
+public class BluetoothCodecDialogPreferenceController extends
+        AbstractBluetoothDialogPreferenceController {
+
+    private static final String KEY = "bluetooth_audio_codec_settings";
+    private static final String TAG = "BtCodecCtr";
+
+    private final Callback mCallback;
+
+    public BluetoothCodecDialogPreferenceController(Context context, Lifecycle lifecycle,
+                                                    BluetoothA2dpConfigStore store,
+                                                    Callback callback) {
+        super(context, lifecycle, store);
+        mCallback = callback;
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY;
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        ((BaseBluetoothDialogPreference) mPreference).setCallback(this);
+    }
+
+    @Override
+    public void onHDAudioEnabled(boolean enabled) {
+        if (!enabled) {
+            // If option codec is disabled, SBC is the only only one available codec.
+            onIndexUpdated(convertCfgToBtnIndex(BluetoothCodecConfig.SOURCE_CODEC_TYPE_SBC));
+        }
+    }
+
+    @Override
+    public List<Integer> getSelectableIndex() {
+        List<Integer> index = new ArrayList<>();
+        final BluetoothA2dp bluetoothA2dp = mBluetoothA2dp;
+
+        index.add(getDefaultIndex());
+        if (bluetoothA2dp == null) {
+            return index;
+        }
+        final BluetoothDevice activeDevice = bluetoothA2dp.getActiveDevice();
+        if (activeDevice == null) {
+            Log.d(TAG, "Unable to get selectable index. No Active Bluetooth device");
+            return index;
+        }
+        // Check HD audio is enabled, display the available list.
+        if (bluetoothA2dp.isOptionalCodecsEnabled(activeDevice)
+                == BluetoothA2dp.OPTIONAL_CODECS_PREF_ENABLED) {
+            BluetoothCodecConfig[] configs = getSelectableConfigs(activeDevice);
+            if (configs != null) {
+                return getIndexFromConfig(configs);
+            }
+        }
+        // If HD audio is disabled, SBC is the only one available codec.
+        index.add(convertCfgToBtnIndex(BluetoothCodecConfig.SOURCE_CODEC_TYPE_SBC));
+        return index;
+    }
+
+    @Override
+    protected void writeConfigurationValues(final int index) {
+        int codecTypeValue = BluetoothCodecConfig.SOURCE_CODEC_TYPE_SBC; // default
+        int codecPriorityValue = BluetoothCodecConfig.CODEC_PRIORITY_DEFAULT;
+        switch (index) {
+            case 0:
+                codecTypeValue = getHighestCodec(getSelectableConfigs(
+                    mBluetoothA2dp.getActiveDevice()));
+                codecPriorityValue = BluetoothCodecConfig.CODEC_PRIORITY_HIGHEST;
+                break;
+            case 1:
+                codecTypeValue = BluetoothCodecConfig.SOURCE_CODEC_TYPE_SBC;
+                codecPriorityValue = BluetoothCodecConfig.CODEC_PRIORITY_HIGHEST;
+                break;
+            case 2:
+                codecTypeValue = BluetoothCodecConfig.SOURCE_CODEC_TYPE_AAC;
+                codecPriorityValue = BluetoothCodecConfig.CODEC_PRIORITY_HIGHEST;
+                break;
+            case 3:
+                codecTypeValue = BluetoothCodecConfig.SOURCE_CODEC_TYPE_APTX;
+                codecPriorityValue = BluetoothCodecConfig.CODEC_PRIORITY_HIGHEST;
+                break;
+            case 4:
+                codecTypeValue = BluetoothCodecConfig.SOURCE_CODEC_TYPE_APTX_HD;
+                codecPriorityValue = BluetoothCodecConfig.CODEC_PRIORITY_HIGHEST;
+                break;
+            case 5:
+                codecTypeValue = BluetoothCodecConfig.SOURCE_CODEC_TYPE_LDAC;
+                codecPriorityValue = BluetoothCodecConfig.CODEC_PRIORITY_HIGHEST;
+                break;
+            default:
+                break;
+        }
+        mBluetoothA2dpConfigStore.setCodecType(codecTypeValue);
+        mBluetoothA2dpConfigStore.setCodecPriority(codecPriorityValue);
+
+        // Once user changes codec, to reset configs with highest quality.
+        final BluetoothCodecConfig config = getSelectableByCodecType(codecTypeValue);
+        if (config == null) {
+            Log.d(TAG, "Selectable config is null. Unable to reset");
+        }
+        mBluetoothA2dpConfigStore.setSampleRate(getHighestSampleRate(config));
+        mBluetoothA2dpConfigStore.setBitsPerSample(getHighestBitsPerSample(config));
+        mBluetoothA2dpConfigStore.setChannelMode(getHighestChannelMode(config));
+    }
+
+    @Override
+    protected int getCurrentIndexByConfig(BluetoothCodecConfig config) {
+        if (config == null) {
+            Log.e(TAG, "Unable to get current config index. Config is null.");
+        }
+        return convertCfgToBtnIndex(config.getCodecType());
+    }
+
+    @Override
+    public void onIndexUpdated(int index) {
+        super.onIndexUpdated(index);
+        mCallback.onBluetoothCodecChanged();
+    }
+
+    private List<Integer> getIndexFromConfig(BluetoothCodecConfig[] configs) {
+        List<Integer> indexArray = new ArrayList<>();
+        for (int i = 0; i < configs.length; i++) {
+            indexArray.add(convertCfgToBtnIndex(configs[i].getCodecType()));
+        }
+        return indexArray;
+    }
+
+    @VisibleForTesting
+    int convertCfgToBtnIndex(int config) {
+        int index = getDefaultIndex();
+        switch (config) {
+            case BluetoothCodecConfig.SOURCE_CODEC_TYPE_SBC:
+                index = 1;
+                break;
+            case BluetoothCodecConfig.SOURCE_CODEC_TYPE_AAC:
+                index = 2;
+                break;
+            case BluetoothCodecConfig.SOURCE_CODEC_TYPE_APTX:
+                index = 3;
+                break;
+            case BluetoothCodecConfig.SOURCE_CODEC_TYPE_APTX_HD:
+                index = 4;
+                break;
+            case BluetoothCodecConfig.SOURCE_CODEC_TYPE_LDAC:
+                index = 5;
+                break;
+            default:
+                Log.e(TAG, "Unsupported config:" + config);
+                break;
+        }
+        return index;
+    }
+}
diff --git a/src/com/android/settings/development/bluetooth/BluetoothHDAudioPreferenceController.java b/src/com/android/settings/development/bluetooth/BluetoothHDAudioPreferenceController.java
new file mode 100644
index 0000000..d4ca4e5
--- /dev/null
+++ b/src/com/android/settings/development/bluetooth/BluetoothHDAudioPreferenceController.java
@@ -0,0 +1,101 @@
+/*
+ * 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.development.bluetooth;
+
+import android.bluetooth.BluetoothA2dp;
+import android.bluetooth.BluetoothDevice;
+import android.content.Context;
+import android.util.Log;
+
+import androidx.preference.Preference;
+import androidx.preference.SwitchPreference;
+
+import com.android.settings.development.BluetoothA2dpConfigStore;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+/**
+ * Switch preference controller for HD audio(optional codec)
+ */
+public class BluetoothHDAudioPreferenceController extends AbstractBluetoothPreferenceController
+        implements Preference.OnPreferenceChangeListener {
+
+    private static final String KEY = "bluetooth_hd_audio_settings";
+    private static final String TAG = "BtHDAudioCtr";
+
+    private final Callback mCallback;
+
+    public BluetoothHDAudioPreferenceController(Context context, Lifecycle lifecycle,
+                                                BluetoothA2dpConfigStore store,
+                                                Callback callback) {
+        super(context, lifecycle, store);
+        mCallback = callback;
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        final BluetoothA2dp bluetoothA2dp = mBluetoothA2dp;
+        if (bluetoothA2dp == null) {
+            mPreference.setEnabled(false);
+            return;
+        }
+        final BluetoothDevice activeDevice = bluetoothA2dp.getActiveDevice();
+        if (activeDevice == null) {
+            Log.e(TAG, "Active device is null. To disable HD audio button");
+            mPreference.setEnabled(false);
+            return;
+        }
+        final boolean supported = (bluetoothA2dp.isOptionalCodecsSupported(activeDevice)
+                == BluetoothA2dp.OPTIONAL_CODECS_SUPPORTED);
+        mPreference.setEnabled(supported);
+        if (supported) {
+            final boolean isEnabled = bluetoothA2dp.isOptionalCodecsEnabled(activeDevice)
+                    == BluetoothA2dp.OPTIONAL_CODECS_PREF_ENABLED;
+            ((SwitchPreference) mPreference).setChecked(isEnabled);
+        }
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY;
+    }
+
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object newValue) {
+        final BluetoothA2dp bluetoothA2dp = mBluetoothA2dp;
+        if (bluetoothA2dp == null) {
+            mPreference.setEnabled(false);
+            return true;
+        }
+        final boolean enabled = (Boolean) newValue;
+        final int prefValue = enabled
+                ? BluetoothA2dp.OPTIONAL_CODECS_PREF_ENABLED
+                : BluetoothA2dp.OPTIONAL_CODECS_PREF_DISABLED;
+        BluetoothDevice activeDevice = bluetoothA2dp.getActiveDevice();
+        if (activeDevice == null) {
+            mPreference.setEnabled(false);
+            return true;
+        }
+        bluetoothA2dp.setOptionalCodecsEnabled(activeDevice, prefValue);
+        if (enabled) {
+            bluetoothA2dp.enableOptionalCodecs(activeDevice);
+        } else {
+            bluetoothA2dp.disableOptionalCodecs(activeDevice);
+        }
+        mCallback.onBluetoothHDAudioEnabled(enabled);
+        return true;
+    }
+}
diff --git a/src/com/android/settings/development/bluetooth/BluetoothQualityDialogPreference.java b/src/com/android/settings/development/bluetooth/BluetoothQualityDialogPreference.java
new file mode 100644
index 0000000..a7d6a11
--- /dev/null
+++ b/src/com/android/settings/development/bluetooth/BluetoothQualityDialogPreference.java
@@ -0,0 +1,78 @@
+/*
+ * 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.development.bluetooth;
+
+import android.content.Context;
+import android.util.AttributeSet;
+import android.widget.RadioGroup;
+
+import com.android.settings.R;
+
+/**
+ * Dialog preference to set the Bluetooth A2DP config of LDAC quality
+ */
+public class BluetoothQualityDialogPreference extends BaseBluetoothDialogPreference implements
+        RadioGroup.OnCheckedChangeListener {
+
+    public BluetoothQualityDialogPreference(Context context) {
+        super(context);
+        initialize(context);
+    }
+
+    public BluetoothQualityDialogPreference(Context context, AttributeSet attrs) {
+        super(context, attrs);
+        initialize(context);
+    }
+
+    public BluetoothQualityDialogPreference(Context context, AttributeSet attrs, int defStyleAttr) {
+        super(context, attrs, defStyleAttr);
+        initialize(context);
+    }
+
+    public BluetoothQualityDialogPreference(Context context, AttributeSet attrs, int defStyleAttr,
+                                            int defStyleRes) {
+        super(context, attrs, defStyleAttr, defStyleRes);
+        initialize(context);
+    }
+
+    @Override
+    protected int getRadioButtonGroupId() {
+        return R.id.bluetooth_audio_quality_radio_group;
+    }
+
+    @Override
+    protected int getDefaultIndex() {
+        return 3;
+    }
+
+    private void initialize(Context context) {
+        mRadioButtonIds.add(R.id.bluetooth_audio_quality_default);
+        mRadioButtonIds.add(R.id.bluetooth_audio_quality_optimized_quality);
+        mRadioButtonIds.add(R.id.bluetooth_audio_quality_optimized_connection);
+        mRadioButtonIds.add(R.id.bluetooth_audio_quality_best_effort);
+        String[] stringArray = context.getResources().getStringArray(
+                R.array.bluetooth_a2dp_codec_ldac_playback_quality_titles);
+        for (int i = 0; i < stringArray.length; i++) {
+            mRadioButtonStrings.add(stringArray[i]);
+        }
+        stringArray = context.getResources().getStringArray(
+                R.array.bluetooth_a2dp_codec_ldac_playback_quality_summaries);
+        for (int i = 0; i < stringArray.length; i++) {
+            mSummaryStrings.add(stringArray[i]);
+        }
+    }
+}
diff --git a/src/com/android/settings/development/bluetooth/BluetoothQualityDialogPreferenceController.java b/src/com/android/settings/development/bluetooth/BluetoothQualityDialogPreferenceController.java
new file mode 100644
index 0000000..4b38e11
--- /dev/null
+++ b/src/com/android/settings/development/bluetooth/BluetoothQualityDialogPreferenceController.java
@@ -0,0 +1,119 @@
+/*
+ * 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.development.bluetooth;
+
+import android.bluetooth.BluetoothCodecConfig;
+import android.content.Context;
+import android.util.Log;
+
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.development.BluetoothA2dpConfigStore;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Dialog preference controller to set the Bluetooth A2DP config of LDAC quality
+ */
+public class BluetoothQualityDialogPreferenceController extends
+        AbstractBluetoothDialogPreferenceController {
+
+    private static final String KEY = "bluetooth_a2dp_ldac_playback_quality";
+    private static final String TAG = "BtQualityCtr";
+
+    public BluetoothQualityDialogPreferenceController(Context context, Lifecycle lifecycle,
+                                                      BluetoothA2dpConfigStore store) {
+        super(context, lifecycle, store);
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY;
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        ((BaseBluetoothDialogPreference) mPreference).setCallback(this);
+    }
+
+    @Override
+    protected void writeConfigurationValues(final int index) {
+        long codecSpecific1Value = 0; // default
+        switch (index) {
+            case 0:
+            case 1:
+            case 2:
+            case 3:
+                codecSpecific1Value = 1000 + index;
+                break;
+            default:
+                break;
+        }
+        mBluetoothA2dpConfigStore.setCodecSpecific1Value(codecSpecific1Value);
+    }
+
+    @Override
+    protected int getCurrentIndexByConfig(BluetoothCodecConfig config) {
+        if (config == null) {
+            Log.e(TAG, "Unable to get current config index. Config is null.");
+        }
+        return convertCfgToBtnIndex((int) config.getCodecSpecific1());
+    }
+
+    @Override
+    public List<Integer> getSelectableIndex() {
+        List<Integer> selectableIndex = new ArrayList<>();
+        // All four items of LDAC are available.
+        for (int i = 0; i < 4; i++) {
+            selectableIndex.add(i);
+        }
+        return selectableIndex;
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        super.updateState(preference);
+        // Enable preference when current codec type is LDAC. For other cases, disable it.
+        final BluetoothCodecConfig currentConfig = getCurrentCodecConfig();
+        if (currentConfig != null
+                && currentConfig.getCodecType() == BluetoothCodecConfig.SOURCE_CODEC_TYPE_LDAC) {
+            preference.setEnabled(true);
+        } else {
+            preference.setEnabled(false);
+            preference.setSummary("");
+        }
+    }
+
+    @Override
+    public void onHDAudioEnabled(boolean enabled) {
+        mPreference.setEnabled(false);
+    }
+
+    @VisibleForTesting
+    int convertCfgToBtnIndex(int config) {
+        int index = config - 1000;
+        if (index < 0) {
+            index = getDefaultIndex();
+        }
+        return index;
+    }
+}
diff --git a/src/com/android/settings/development/bluetooth/BluetoothSampleRateDialogPreference.java b/src/com/android/settings/development/bluetooth/BluetoothSampleRateDialogPreference.java
new file mode 100644
index 0000000..622c47a
--- /dev/null
+++ b/src/com/android/settings/development/bluetooth/BluetoothSampleRateDialogPreference.java
@@ -0,0 +1,75 @@
+/*
+ * 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.development.bluetooth;
+
+import android.content.Context;
+import android.util.AttributeSet;
+import android.widget.RadioGroup;
+
+import com.android.settings.R;
+
+/**
+ * Dialog preference to set the Bluetooth A2DP config of sample rate
+ */
+public class BluetoothSampleRateDialogPreference extends BaseBluetoothDialogPreference implements
+        RadioGroup.OnCheckedChangeListener {
+
+    public BluetoothSampleRateDialogPreference(Context context) {
+        super(context);
+        initialize(context);
+    }
+
+    public BluetoothSampleRateDialogPreference(Context context, AttributeSet attrs) {
+        super(context, attrs);
+        initialize(context);
+    }
+
+    public BluetoothSampleRateDialogPreference(Context context, AttributeSet attrs,
+                                               int defStyleAttr) {
+        super(context, attrs, defStyleAttr);
+        initialize(context);
+    }
+
+    public BluetoothSampleRateDialogPreference(Context context, AttributeSet attrs,
+                                               int defStyleAttr, int defStyleRes) {
+        super(context, attrs, defStyleAttr, defStyleRes);
+        initialize(context);
+    }
+
+    @Override
+    protected int getRadioButtonGroupId() {
+        return R.id.bluetooth_audio_sample_rate_radio_group;
+    }
+
+    private void initialize(Context context) {
+        mRadioButtonIds.add(R.id.bluetooth_audio_sample_rate_default);
+        mRadioButtonIds.add(R.id.bluetooth_audio_sample_rate_441);
+        mRadioButtonIds.add(R.id.bluetooth_audio_sample_rate_480);
+        mRadioButtonIds.add(R.id.bluetooth_audio_sample_rate_882);
+        mRadioButtonIds.add(R.id.bluetooth_audio_sample_rate_960);
+        String[] stringArray = context.getResources().getStringArray(
+                R.array.bluetooth_a2dp_codec_sample_rate_titles);
+        for (int i = 0; i < stringArray.length; i++) {
+            mRadioButtonStrings.add(stringArray[i]);
+        }
+        stringArray = context.getResources().getStringArray(
+                R.array.bluetooth_a2dp_codec_sample_rate_summaries);
+        for (int i = 0; i < stringArray.length; i++) {
+            mSummaryStrings.add(stringArray[i]);
+        }
+    }
+}
diff --git a/src/com/android/settings/development/bluetooth/BluetoothSampleRateDialogPreferenceController.java b/src/com/android/settings/development/bluetooth/BluetoothSampleRateDialogPreferenceController.java
new file mode 100644
index 0000000..9e4b99e
--- /dev/null
+++ b/src/com/android/settings/development/bluetooth/BluetoothSampleRateDialogPreferenceController.java
@@ -0,0 +1,133 @@
+/*
+ * 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.development.bluetooth;
+
+import android.bluetooth.BluetoothCodecConfig;
+import android.content.Context;
+import android.util.Log;
+
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.development.BluetoothA2dpConfigStore;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Dialog preference controller to set the Bluetooth A2DP config of sample rate
+ */
+public class BluetoothSampleRateDialogPreferenceController extends
+        AbstractBluetoothDialogPreferenceController {
+
+    private static final String KEY = "bluetooth_sample_rate_settings";
+    private static final String TAG = "BtSampleRateCtr";
+
+    public BluetoothSampleRateDialogPreferenceController(Context context, Lifecycle lifecycle,
+                                                         BluetoothA2dpConfigStore store) {
+        super(context, lifecycle, store);
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY;
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        ((BaseBluetoothDialogPreference) mPreference).setCallback(this);
+    }
+
+    @Override
+    protected void writeConfigurationValues(final int index) {
+        int sampleRateValue = BluetoothCodecConfig.SAMPLE_RATE_NONE; // default
+        switch (index) {
+            case 0:
+                final BluetoothCodecConfig currentConfig = getCurrentCodecConfig();
+                if (currentConfig != null) {
+                    sampleRateValue = getHighestSampleRate(getSelectableByCodecType(
+                            currentConfig.getCodecType()));
+                }
+                break;
+            case 1:
+                sampleRateValue = BluetoothCodecConfig.SAMPLE_RATE_44100;
+                break;
+            case 2:
+                sampleRateValue = BluetoothCodecConfig.SAMPLE_RATE_48000;
+                break;
+            case 3:
+                sampleRateValue = BluetoothCodecConfig.SAMPLE_RATE_88200;
+                break;
+            case 4:
+                sampleRateValue = BluetoothCodecConfig.SAMPLE_RATE_96000;
+                break;
+            default:
+                break;
+        }
+        mBluetoothA2dpConfigStore.setSampleRate(sampleRateValue);
+    }
+
+    @Override
+    protected int getCurrentIndexByConfig(BluetoothCodecConfig config) {
+        if (config == null) {
+            Log.e(TAG, "Unable to get current config index. Config is null.");
+        }
+        return convertCfgToBtnIndex(config.getSampleRate());
+    }
+
+    @Override
+    public List<Integer> getSelectableIndex() {
+        List<Integer> selectableIndex = new ArrayList<>();
+        selectableIndex.add(getDefaultIndex());
+        final BluetoothCodecConfig currentConfig = getCurrentCodecConfig();
+        if (currentConfig != null) {
+            final int configs =
+                    getSelectableByCodecType(currentConfig.getCodecType()).getSampleRate();
+            for (int sampleRate : SAMPLE_RATES) {
+                if ((configs & sampleRate) != 0) {
+                    selectableIndex.add(convertCfgToBtnIndex(sampleRate));
+                }
+            }
+        }
+        return selectableIndex;
+    }
+
+    @VisibleForTesting
+    int convertCfgToBtnIndex(int config) {
+        int index = getDefaultIndex();
+        switch (config) {
+            case BluetoothCodecConfig.SAMPLE_RATE_44100:
+                index = 1;
+                break;
+            case BluetoothCodecConfig.SAMPLE_RATE_48000:
+                index = 2;
+                break;
+            case BluetoothCodecConfig.SAMPLE_RATE_88200:
+                index = 3;
+                break;
+            case BluetoothCodecConfig.SAMPLE_RATE_96000:
+                index = 4;
+                break;
+            default:
+                Log.e(TAG, "Unsupported config:" + config);
+                break;
+        }
+        return index;
+    }
+}
diff --git a/src/com/android/settings/development/compat/PlatformCompatDashboard.java b/src/com/android/settings/development/compat/PlatformCompatDashboard.java
new file mode 100644
index 0000000..7b79da7
--- /dev/null
+++ b/src/com/android/settings/development/compat/PlatformCompatDashboard.java
@@ -0,0 +1,293 @@
+/*
+ * Copyright 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.development.compat;
+
+import static com.android.internal.compat.OverrideAllowedState.ALLOWED;
+import static com.android.settings.development.DevelopmentOptionsActivityRequestCodes.REQUEST_COMPAT_CHANGE_APP;
+
+import android.app.Activity;
+import android.app.settings.SettingsEnums;
+import android.compat.Compatibility.ChangeConfig;
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.PackageManager;
+import android.graphics.drawable.Drawable;
+import android.os.Bundle;
+import android.os.RemoteException;
+import android.os.ServiceManager;
+import android.util.ArraySet;
+
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.Preference;
+import androidx.preference.Preference.OnPreferenceChangeListener;
+import androidx.preference.PreferenceCategory;
+import androidx.preference.SwitchPreference;
+
+import com.android.internal.compat.AndroidBuildClassifier;
+import com.android.internal.compat.CompatibilityChangeConfig;
+import com.android.internal.compat.CompatibilityChangeInfo;
+import com.android.internal.compat.IPlatformCompat;
+import com.android.settings.R;
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.development.AppPicker;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.TreeMap;
+
+
+/**
+ * Dashboard for Platform Compat preferences.
+ */
+public class PlatformCompatDashboard extends DashboardFragment {
+    private static final String TAG = "PlatformCompatDashboard";
+    private static final String COMPAT_APP = "compat_app";
+
+    private IPlatformCompat mPlatformCompat;
+
+    private CompatibilityChangeInfo[] mChanges;
+
+    private AndroidBuildClassifier mAndroidBuildClassifier = new AndroidBuildClassifier();
+
+    @VisibleForTesting
+    String mSelectedApp;
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.SETTINGS_PLATFORM_COMPAT_DASHBOARD;
+    }
+
+    @Override
+    protected String getLogTag() {
+        return TAG;
+    }
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.platform_compat_settings;
+    }
+
+    @Override
+    public int getHelpResource() {
+        return 0;
+    }
+
+    IPlatformCompat getPlatformCompat() {
+        if (mPlatformCompat == null) {
+            mPlatformCompat = IPlatformCompat.Stub
+                    .asInterface(ServiceManager.getService(Context.PLATFORM_COMPAT_SERVICE));
+        }
+        return mPlatformCompat;
+    }
+
+    @Override
+    public void onActivityCreated(Bundle savedInstanceState) {
+        super.onActivityCreated(savedInstanceState);
+        try {
+            mChanges = getPlatformCompat().listAllChanges();
+        } catch (RemoteException e) {
+            throw new RuntimeException("Could not list changes!", e);
+        }
+        startAppPicker();
+    }
+
+    @Override
+    public void onSaveInstanceState(Bundle outState) {
+        super.onSaveInstanceState(outState);
+        outState.putString(COMPAT_APP, mSelectedApp);
+    }
+
+    @Override
+    public void onActivityResult(int requestCode, int resultCode, Intent data) {
+        if (requestCode == REQUEST_COMPAT_CHANGE_APP) {
+            if (resultCode == Activity.RESULT_OK) {
+                mSelectedApp = data.getAction();
+                try {
+                    final ApplicationInfo applicationInfo = getApplicationInfo();
+                    addPreferences(applicationInfo);
+                } catch (PackageManager.NameNotFoundException e) {
+                    startAppPicker();
+                }
+            }
+            return;
+        }
+        super.onActivityResult(requestCode, resultCode, data);
+    }
+
+    private void addPreferences(ApplicationInfo applicationInfo) {
+        getPreferenceScreen().removeAll();
+        getPreferenceScreen().addPreference(createAppPreference(applicationInfo));
+        // Differentiate compatibility changes into default enabled, default disabled and enabled
+        // after target sdk.
+        final CompatibilityChangeConfig configMappings = getAppChangeMappings();
+        final List<CompatibilityChangeInfo> enabledChanges = new ArrayList<>();
+        final List<CompatibilityChangeInfo> disabledChanges = new ArrayList<>();
+        final Map<Integer, List<CompatibilityChangeInfo>> targetSdkChanges = new TreeMap<>();
+        for (CompatibilityChangeInfo change : mChanges) {
+            if (change.getEnableAfterTargetSdk() != 0) {
+                List<CompatibilityChangeInfo> sdkChanges;
+                if (!targetSdkChanges.containsKey(change.getEnableAfterTargetSdk())) {
+                    sdkChanges = new ArrayList<>();
+                    targetSdkChanges.put(change.getEnableAfterTargetSdk(), sdkChanges);
+                } else {
+                    sdkChanges = targetSdkChanges.get(change.getEnableAfterTargetSdk());
+                }
+                sdkChanges.add(change);
+            } else if (change.getDisabled()) {
+                disabledChanges.add(change);
+            } else {
+                enabledChanges.add(change);
+            }
+        }
+        createChangeCategoryPreference(enabledChanges, configMappings,
+                getString(R.string.platform_compat_default_enabled_title));
+        createChangeCategoryPreference(disabledChanges, configMappings,
+                getString(R.string.platform_compat_default_disabled_title));
+        for (Integer sdk : targetSdkChanges.keySet()) {
+            createChangeCategoryPreference(targetSdkChanges.get(sdk), configMappings,
+                    getString(R.string.platform_compat_target_sdk_title, sdk));
+        }
+    }
+
+    private CompatibilityChangeConfig getAppChangeMappings() {
+        try {
+            final ApplicationInfo applicationInfo = getApplicationInfo();
+            return getPlatformCompat().getAppConfig(applicationInfo);
+        } catch (RemoteException | PackageManager.NameNotFoundException e) {
+            throw new RuntimeException("Could not get app config!", e);
+        }
+    }
+
+    /**
+     * Create a {@link Preference} for a changeId.
+     *
+     * <p>The {@link Preference} is a toggle switch that can enable or disable the given change for
+     * the currently selected app.</p>
+     */
+    Preference createPreferenceForChange(Context context, CompatibilityChangeInfo change,
+            CompatibilityChangeConfig configMappings) {
+        final boolean currentValue = configMappings.isChangeEnabled(change.getId());
+        final SwitchPreference item = new SwitchPreference(context);
+        final String changeName =
+                change.getName() != null ? change.getName() : "Change_" + change.getId();
+        item.setSummary(changeName);
+        item.setKey(changeName);
+        boolean shouldEnable = true;
+        try {
+            shouldEnable = getPlatformCompat().getOverrideValidator()
+                           .getOverrideAllowedState(change.getId(), mSelectedApp)
+                           .state == ALLOWED;
+        } catch (RemoteException e) {
+            throw new RuntimeException("Could not check if change can be overridden for app.", e);
+        }
+        item.setEnabled(shouldEnable);
+        item.setChecked(currentValue);
+        item.setOnPreferenceChangeListener(
+                new CompatChangePreferenceChangeListener(change.getId()));
+        return item;
+    }
+
+    /**
+     * Get {@link ApplicationInfo} for the currently selected app.
+     *
+     * @return an {@link ApplicationInfo} instance.
+     */
+    ApplicationInfo getApplicationInfo() throws PackageManager.NameNotFoundException {
+        return getPackageManager().getApplicationInfo(mSelectedApp, 0);
+    }
+
+    /**
+     * Create a {@link Preference} for the selected app.
+     *
+     * <p>The {@link Preference} contains the icon, package name and target SDK for the selected
+     * app. Selecting this preference will also re-trigger the app selection dialog.</p>
+     */
+    Preference createAppPreference(ApplicationInfo applicationInfo) {
+        final Context context = getPreferenceScreen().getContext();
+        final Drawable icon = applicationInfo.loadIcon(context.getPackageManager());
+        final Preference appPreference = new Preference(context);
+        appPreference.setIcon(icon);
+        appPreference.setSummary(getString(R.string.platform_compat_selected_app_summary,
+                                         mSelectedApp, applicationInfo.targetSdkVersion));
+        appPreference.setKey(mSelectedApp);
+        appPreference.setOnPreferenceClickListener(
+                preference -> {
+                    startAppPicker();
+                    return true;
+                });
+        return appPreference;
+    }
+
+    PreferenceCategory createChangeCategoryPreference(List<CompatibilityChangeInfo> changes,
+            CompatibilityChangeConfig configMappings, String title) {
+        final PreferenceCategory category =
+                new PreferenceCategory(getPreferenceScreen().getContext());
+        category.setTitle(title);
+        getPreferenceScreen().addPreference(category);
+        addChangePreferencesToCategory(changes, category, configMappings);
+        return category;
+    }
+
+    private void addChangePreferencesToCategory(List<CompatibilityChangeInfo> changes,
+            PreferenceCategory category, CompatibilityChangeConfig configMappings) {
+        for (CompatibilityChangeInfo change : changes) {
+            final Preference preference = createPreferenceForChange(getPreferenceScreen().getContext(),
+                    change, configMappings);
+            category.addPreference(preference);
+        }
+    }
+
+    private void startAppPicker() {
+        final Intent intent = new Intent(getContext(), AppPicker.class);
+        // If build is neither userdebug nor eng, only include debuggable apps
+        final boolean debuggableBuild = mAndroidBuildClassifier.isDebuggableBuild();
+        if (!debuggableBuild) {
+            intent.putExtra(AppPicker.EXTRA_DEBUGGABLE, true /* value */);
+        }
+        startActivityForResult(intent, REQUEST_COMPAT_CHANGE_APP);
+    }
+
+    private class CompatChangePreferenceChangeListener implements OnPreferenceChangeListener {
+        private final long changeId;
+
+        CompatChangePreferenceChangeListener(long changeId) {
+            this.changeId = changeId;
+        }
+
+        @Override
+        public boolean onPreferenceChange(Preference preference, Object newValue) {
+            try {
+                final ArraySet<Long> enabled = new ArraySet<>();
+                final ArraySet<Long> disabled = new ArraySet<>();
+                if ((Boolean) newValue) {
+                    enabled.add(changeId);
+                } else {
+                    disabled.add(changeId);
+                }
+                final CompatibilityChangeConfig overrides =
+                        new CompatibilityChangeConfig(new ChangeConfig(enabled, disabled));
+                getPlatformCompat().setOverrides(overrides, mSelectedApp);
+            } catch (RemoteException e) {
+                e.printStackTrace();
+                return false;
+            }
+            return true;
+        }
+    }
+}
diff --git a/src/com/android/settings/development/featureflags/FeatureFlagFooterPreferenceController.java b/src/com/android/settings/development/featureflags/FeatureFlagFooterPreferenceController.java
deleted file mode 100644
index a0d7036..0000000
--- a/src/com/android/settings/development/featureflags/FeatureFlagFooterPreferenceController.java
+++ /dev/null
@@ -1,50 +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.featureflags;
-
-import android.content.Context;
-
-import com.android.settings.R;
-import com.android.settings.core.BasePreferenceController;
-import com.android.settingslib.core.lifecycle.LifecycleObserver;
-import com.android.settingslib.core.lifecycle.events.OnStart;
-import com.android.settingslib.widget.FooterPreferenceMixinCompat;
-
-public class FeatureFlagFooterPreferenceController extends BasePreferenceController
-        implements LifecycleObserver, OnStart {
-
-    private FooterPreferenceMixinCompat mFooterMixin;
-
-    public FeatureFlagFooterPreferenceController(Context context) {
-        super(context, "feature_flag_footer_pref");
-    }
-
-    public void setFooterMixin(FooterPreferenceMixinCompat mixin) {
-        mFooterMixin = mixin;
-    }
-
-    @Override
-    public int getAvailabilityStatus() {
-        return AVAILABLE;
-    }
-
-    @Override
-    public void onStart() {
-        mFooterMixin.createFooterPreference()
-                .setTitle(R.string.experimental_category_title);
-    }
-}
diff --git a/src/com/android/settings/development/featureflags/FeatureFlagPersistent.java b/src/com/android/settings/development/featureflags/FeatureFlagPersistent.java
index 59318c4..fb84a72 100644
--- a/src/com/android/settings/development/featureflags/FeatureFlagPersistent.java
+++ b/src/com/android/settings/development/featureflags/FeatureFlagPersistent.java
@@ -35,8 +35,8 @@
     static {
         PERSISTENT_FLAGS = new HashSet<>();
         PERSISTENT_FLAGS.add(FeatureFlags.HEARING_AID_SETTINGS);
-        PERSISTENT_FLAGS.add(FeatureFlags.NETWORK_INTERNET_V2);
         PERSISTENT_FLAGS.add(FeatureFlags.DYNAMIC_SYSTEM);
+        PERSISTENT_FLAGS.add(FeatureFlags.SETTINGS_FUSE_FLAG);
     }
 
     public static boolean isEnabled(Context context, String feature) {
diff --git a/src/com/android/settings/development/featureflags/FeatureFlagsDashboard.java b/src/com/android/settings/development/featureflags/FeatureFlagsDashboard.java
index 613fb17..0483dce 100644
--- a/src/com/android/settings/development/featureflags/FeatureFlagsDashboard.java
+++ b/src/com/android/settings/development/featureflags/FeatureFlagsDashboard.java
@@ -23,9 +23,7 @@
 import com.android.settings.R;
 import com.android.settings.dashboard.DashboardFragment;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
-import com.android.settingslib.core.AbstractPreferenceController;
-import com.android.settingslib.core.lifecycle.Lifecycle;
+import com.android.settingslib.search.Indexable;
 import com.android.settingslib.development.DevelopmentSettingsEnabler;
 import com.android.settingslib.search.SearchIndexable;
 
@@ -55,7 +53,6 @@
     @Override
     public void onAttach(Context context) {
         super.onAttach(context);
-        use(FeatureFlagFooterPreferenceController.class).setFooterMixin(mFooterPreferenceMixin);
     }
 
     @Override
@@ -63,24 +60,7 @@
         return 0;
     }
 
-    @Override
-    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
-        return buildPrefControllers(context, getSettingsLifecycle());
-    }
-
-    private static List<AbstractPreferenceController> buildPrefControllers(Context context,
-            Lifecycle lifecycle) {
-        final List<AbstractPreferenceController> controllers = new ArrayList<>();
-        final FeatureFlagFooterPreferenceController footerController =
-                new FeatureFlagFooterPreferenceController(context);
-        if (lifecycle != null) {
-            lifecycle.addObserver(footerController);
-        }
-        controllers.add(footerController);
-        return controllers;
-    }
-
-    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
             new BaseSearchIndexProvider() {
                 @Override
                 public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
@@ -97,11 +77,5 @@
                 protected boolean isPageSearchEnabled(Context context) {
                     return DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(context);
                 }
-
-                @Override
-                public List<AbstractPreferenceController> createPreferenceControllers(
-                        Context context) {
-                    return buildPrefControllers(context, null /* lifecycle */);
-                }
             };
 }
diff --git a/src/com/android/settings/development/featureflags/FeatureFlagsPreferenceController.java b/src/com/android/settings/development/featureflags/FeatureFlagsPreferenceController.java
index 94636e9..f0b7961 100644
--- a/src/com/android/settings/development/featureflags/FeatureFlagsPreferenceController.java
+++ b/src/com/android/settings/development/featureflags/FeatureFlagsPreferenceController.java
@@ -24,13 +24,13 @@
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.core.BasePreferenceController;
-import com.android.settingslib.core.lifecycle.LifecycleObserver;
-import com.android.settingslib.core.lifecycle.events.OnStart;
 
 import java.util.Map;
 
-public class FeatureFlagsPreferenceController extends BasePreferenceController
-        implements LifecycleObserver, OnStart {
+/**
+ * A {@link BasePreferenceController} used in {@link FeatureFlagsDashboard}
+ */
+public class FeatureFlagsPreferenceController extends BasePreferenceController {
 
     private PreferenceGroup mGroup;
 
@@ -47,13 +47,6 @@
     public void displayPreference(PreferenceScreen screen) {
         super.displayPreference(screen);
         mGroup = screen.findPreference(getPreferenceKey());
-    }
-
-    @Override
-    public void onStart() {
-        if (mGroup == null) {
-            return;
-        }
         final Map<String, String> featureMap = FeatureFlagUtils.getAllFeatureFlags();
         if (featureMap == null) {
             return;
diff --git a/src/com/android/settings/development/gamedriver/GameDriverAppPreferenceController.java b/src/com/android/settings/development/gamedriver/GameDriverAppPreferenceController.java
deleted file mode 100644
index 489408d..0000000
--- a/src/com/android/settings/development/gamedriver/GameDriverAppPreferenceController.java
+++ /dev/null
@@ -1,271 +0,0 @@
-/*
- * Copyright 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.development.gamedriver;
-
-import static com.android.settings.development.gamedriver.GameDriverEnableForAllAppsPreferenceController.GAME_DRIVER_DEFAULT;
-import static com.android.settings.development.gamedriver.GameDriverEnableForAllAppsPreferenceController.GAME_DRIVER_OFF;
-
-import android.content.ContentResolver;
-import android.content.Context;
-import android.content.pm.ApplicationInfo;
-import android.content.pm.PackageManager;
-import android.content.res.Resources;
-import android.os.Handler;
-import android.os.Looper;
-import android.provider.Settings;
-
-import androidx.annotation.VisibleForTesting;
-import androidx.preference.ListPreference;
-import androidx.preference.Preference;
-import androidx.preference.PreferenceGroup;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.R;
-import com.android.settings.core.BasePreferenceController;
-import com.android.settingslib.core.lifecycle.LifecycleObserver;
-import com.android.settingslib.core.lifecycle.events.OnStart;
-import com.android.settingslib.core.lifecycle.events.OnStop;
-import com.android.settingslib.development.DevelopmentSettingsEnabler;
-
-import java.text.Collator;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-/**
- * Controller of all the per App based list preferences.
- */
-public class GameDriverAppPreferenceController extends BasePreferenceController
-        implements Preference.OnPreferenceChangeListener,
-        GameDriverContentObserver.OnGameDriverContentChangedListener, LifecycleObserver,
-        OnStart, OnStop {
-
-    private final Context mContext;
-    private final ContentResolver mContentResolver;
-    private final CharSequence[] mEntryList;
-    private final String mPreferenceTitle;
-    private final String mPreferenceDefault;
-    private final String mPreferenceGameDriver;
-    private final String mPreferencePrereleaseDriver;
-    private final String mPreferenceSystem;
-    @VisibleForTesting
-    GameDriverContentObserver mGameDriverContentObserver;
-
-    private final List<AppInfo> mAppInfos;
-    private final Set<String> mDevOptInApps;
-    private final Set<String> mDevPrereleaseOptInApps;
-    private final Set<String> mDevOptOutApps;
-
-    private PreferenceGroup mPreferenceGroup;
-
-    public GameDriverAppPreferenceController(Context context, String key) {
-        super(context, key);
-
-        mContext = context;
-        mContentResolver = context.getContentResolver();
-        mGameDriverContentObserver =
-                new GameDriverContentObserver(new Handler(Looper.getMainLooper()), this);
-
-        final Resources resources = context.getResources();
-        mEntryList = resources.getStringArray(R.array.game_driver_app_preference_values);
-        mPreferenceTitle = resources.getString(R.string.game_driver_app_preference_title);
-        mPreferenceDefault = resources.getString(R.string.game_driver_app_preference_default);
-        mPreferenceGameDriver =
-                resources.getString(R.string.game_driver_app_preference_game_driver);
-        mPreferencePrereleaseDriver =
-                resources.getString(R.string.game_driver_app_preference_prerelease_driver);
-        mPreferenceSystem = resources.getString(R.string.game_driver_app_preference_system);
-
-        // TODO: Move this task to background if there's potential ANR/Jank.
-        // Update the UI when all the app infos are ready.
-        mAppInfos = getAppInfos(context);
-
-        mDevOptInApps =
-                getGlobalSettingsString(mContentResolver, Settings.Global.GAME_DRIVER_OPT_IN_APPS);
-        mDevPrereleaseOptInApps = getGlobalSettingsString(
-                mContentResolver, Settings.Global.GAME_DRIVER_PRERELEASE_OPT_IN_APPS);
-        mDevOptOutApps =
-                getGlobalSettingsString(mContentResolver, Settings.Global.GAME_DRIVER_OPT_OUT_APPS);
-    }
-
-    @Override
-    public int getAvailabilityStatus() {
-        return DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(mContext)
-                && (Settings.Global.getInt(mContentResolver,
-                Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT)
-                != GAME_DRIVER_OFF)
-                ? AVAILABLE
-                : CONDITIONALLY_UNAVAILABLE;
-    }
-
-    @Override
-    public void displayPreference(PreferenceScreen screen) {
-        super.displayPreference(screen);
-        mPreferenceGroup = screen.findPreference(getPreferenceKey());
-
-        final Context context = mPreferenceGroup.getContext();
-        for (AppInfo appInfo : mAppInfos) {
-            mPreferenceGroup.addPreference(
-                    createListPreference(context, appInfo.info.packageName, appInfo.label));
-        }
-    }
-
-    @Override
-    public void onStart() {
-        mGameDriverContentObserver.register(mContentResolver);
-    }
-
-    @Override
-    public void onStop() {
-        mGameDriverContentObserver.unregister(mContentResolver);
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        preference.setVisible(isAvailable());
-    }
-
-    @Override
-    public boolean onPreferenceChange(Preference preference, Object newValue) {
-        final ListPreference listPref = (ListPreference) preference;
-        final String value = newValue.toString();
-        final String packageName = preference.getKey();
-
-        // When user choose a new preference, update both Sets for
-        // opt-in and opt-out apps. Then set the new summary text.
-        if (value.equals(mPreferenceSystem)) {
-            mDevOptInApps.remove(packageName);
-            mDevPrereleaseOptInApps.remove(packageName);
-            mDevOptOutApps.add(packageName);
-        } else if (value.equals(mPreferenceGameDriver)) {
-            mDevOptInApps.add(packageName);
-            mDevPrereleaseOptInApps.remove(packageName);
-            mDevOptOutApps.remove(packageName);
-        } else if (value.equals(mPreferencePrereleaseDriver)) {
-            mDevOptInApps.remove(packageName);
-            mDevPrereleaseOptInApps.add(packageName);
-            mDevOptOutApps.remove(packageName);
-        } else {
-            mDevOptInApps.remove(packageName);
-            mDevPrereleaseOptInApps.remove(packageName);
-            mDevOptOutApps.remove(packageName);
-        }
-        listPref.setValue(value);
-        listPref.setSummary(value);
-
-        // Push the updated Sets for stable/prerelease opt-in and opt-out apps to
-        // corresponding Settings.Global.GAME_DRIVER(_PRERELEASE)?_OPT_(IN|OUT)_APPS
-        Settings.Global.putString(mContentResolver, Settings.Global.GAME_DRIVER_OPT_IN_APPS,
-                String.join(",", mDevOptInApps));
-        Settings.Global.putString(mContentResolver,
-                Settings.Global.GAME_DRIVER_PRERELEASE_OPT_IN_APPS,
-                String.join(",", mDevPrereleaseOptInApps));
-        Settings.Global.putString(mContentResolver, Settings.Global.GAME_DRIVER_OPT_OUT_APPS,
-                String.join(",", mDevOptOutApps));
-
-        return true;
-    }
-
-    @Override
-    public void onGameDriverContentChanged() {
-        updateState(mPreferenceGroup);
-    }
-
-    // AppInfo class to achieve loading the application label only once
-    class AppInfo {
-        AppInfo(PackageManager packageManager, ApplicationInfo applicationInfo) {
-            info = applicationInfo;
-            label = packageManager.getApplicationLabel(applicationInfo).toString();
-        }
-
-        final ApplicationInfo info;
-        final String label;
-    }
-
-    // List of non-system packages that are installed for the current user.
-    private List<AppInfo> getAppInfos(Context context) {
-        final PackageManager packageManager = context.getPackageManager();
-        final List<ApplicationInfo> applicationInfos =
-                packageManager.getInstalledApplications(0 /* flags */);
-
-        final List<AppInfo> appInfos = new ArrayList<>();
-        for (ApplicationInfo applicationInfo : applicationInfos) {
-            if ((applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 0) {
-                appInfos.add(new AppInfo(packageManager, applicationInfo));
-            }
-        }
-
-        Collections.sort(appInfos, appInfoComparator);
-
-        return appInfos;
-    }
-
-    // Parse the raw comma separated package names into a String Set
-    private Set<String> getGlobalSettingsString(ContentResolver contentResolver, String name) {
-        final String settingsValue = Settings.Global.getString(contentResolver, name);
-        if (settingsValue == null) {
-            return new HashSet<>();
-        }
-
-        final Set<String> valueSet = new HashSet<>(Arrays.asList(settingsValue.split(",")));
-        valueSet.remove("");
-
-        return valueSet;
-    }
-
-    private final Comparator<AppInfo> appInfoComparator = new Comparator<AppInfo>() {
-        public final int compare(AppInfo a, AppInfo b) {
-            return Collator.getInstance().compare(a.label, b.label);
-        }
-    };
-
-    @VisibleForTesting
-    protected ListPreference createListPreference(
-            Context context, String packageName, String appName) {
-        final ListPreference listPreference = new ListPreference(context);
-
-        listPreference.setKey(packageName);
-        listPreference.setTitle(appName);
-        listPreference.setDialogTitle(mPreferenceTitle);
-        listPreference.setEntries(mEntryList);
-        listPreference.setEntryValues(mEntryList);
-
-        // Initialize preference default and summary with the opt in/out choices
-        // from Settings.Global.GAME_DRIVER(_PRERELEASE)?_OPT_(IN|OUT)_APPS
-        if (mDevOptOutApps.contains(packageName)) {
-            listPreference.setValue(mPreferenceSystem);
-            listPreference.setSummary(mPreferenceSystem);
-        } else if (mDevPrereleaseOptInApps.contains(packageName)) {
-            listPreference.setValue(mPreferencePrereleaseDriver);
-            listPreference.setSummary(mPreferencePrereleaseDriver);
-        } else if (mDevOptInApps.contains(packageName)) {
-            listPreference.setValue(mPreferenceGameDriver);
-            listPreference.setSummary(mPreferenceGameDriver);
-        } else {
-            listPreference.setValue(mPreferenceDefault);
-            listPreference.setSummary(mPreferenceDefault);
-        }
-
-        listPreference.setOnPreferenceChangeListener(this);
-
-        return listPreference;
-    }
-}
diff --git a/src/com/android/settings/development/gamedriver/GameDriverContentObserver.java b/src/com/android/settings/development/gamedriver/GameDriverContentObserver.java
deleted file mode 100644
index e31e046..0000000
--- a/src/com/android/settings/development/gamedriver/GameDriverContentObserver.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright 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.development.gamedriver;
-
-import android.content.ContentResolver;
-import android.database.ContentObserver;
-import android.os.Handler;
-import android.provider.Settings;
-
-import androidx.annotation.VisibleForTesting;
-
-/**
- * Helper class to observe Game Driver settings global change.
- */
-public class GameDriverContentObserver extends ContentObserver {
-
-    interface OnGameDriverContentChangedListener {
-        void onGameDriverContentChanged();
-    }
-
-    @VisibleForTesting
-    OnGameDriverContentChangedListener mListener;
-
-    public GameDriverContentObserver(Handler handler, OnGameDriverContentChangedListener listener) {
-        super(handler);
-        mListener = listener;
-    }
-
-    @Override
-    public void onChange(boolean selfChange) {
-        super.onChange(selfChange);
-        mListener.onGameDriverContentChanged();
-    }
-
-    public void register(ContentResolver contentResolver) {
-        contentResolver.registerContentObserver(
-                Settings.Global.getUriFor(Settings.Global.GAME_DRIVER_ALL_APPS), false, this);
-    }
-
-    public void unregister(ContentResolver contentResolver) {
-        contentResolver.unregisterContentObserver(this);
-    }
-}
diff --git a/src/com/android/settings/development/gamedriver/GameDriverDashboard.java b/src/com/android/settings/development/gamedriver/GameDriverDashboard.java
deleted file mode 100644
index db456bd..0000000
--- a/src/com/android/settings/development/gamedriver/GameDriverDashboard.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Copyright 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.development.gamedriver;
-
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.os.Bundle;
-import android.provider.SearchIndexableResource;
-
-import com.android.settings.R;
-import com.android.settings.SettingsActivity;
-import com.android.settings.dashboard.DashboardFragment;
-import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
-import com.android.settings.widget.SwitchBar;
-import com.android.settings.widget.SwitchBarController;
-import com.android.settingslib.development.DevelopmentSettingsEnabler;
-import com.android.settingslib.search.SearchIndexable;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Dashboard for Game Driver preferences.
- */
-@SearchIndexable
-public class GameDriverDashboard extends DashboardFragment {
-
-    private static final String TAG = "GameDriverDashboard";
-
-    @Override
-    public int getMetricsCategory() {
-        return SettingsEnums.SETTINGS_GAME_DRIVER_DASHBOARD;
-    }
-
-    @Override
-    protected String getLogTag() {
-        return TAG;
-    }
-
-    @Override
-    protected int getPreferenceScreenResId() {
-        return R.xml.game_driver_settings;
-    }
-
-    @Override
-    public int getHelpResource() {
-        return 0;
-    }
-
-    @Override
-    public void onActivityCreated(Bundle savedInstanceState) {
-        super.onActivityCreated(savedInstanceState);
-
-        final SettingsActivity activity = (SettingsActivity) getActivity();
-        final SwitchBar switchBar = activity.getSwitchBar();
-        final GameDriverGlobalSwitchBarController switchBarController =
-                new GameDriverGlobalSwitchBarController(
-                        activity, new SwitchBarController(switchBar));
-        getSettingsLifecycle().addObserver(switchBarController);
-        switchBar.show();
-    }
-
-    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(
-                        Context context, boolean enabled) {
-                    final List<SearchIndexableResource> result = new ArrayList<>();
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.game_driver_settings;
-                    result.add(sir);
-                    return result;
-                }
-
-                @Override
-                protected boolean isPageSearchEnabled(Context context) {
-                    return DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(context);
-                }
-            };
-}
diff --git a/src/com/android/settings/development/gamedriver/GameDriverEnableForAllAppsPreferenceController.java b/src/com/android/settings/development/gamedriver/GameDriverEnableForAllAppsPreferenceController.java
deleted file mode 100644
index 290e4b2..0000000
--- a/src/com/android/settings/development/gamedriver/GameDriverEnableForAllAppsPreferenceController.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- * Copyright 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.development.gamedriver;
-
-import android.content.ContentResolver;
-import android.content.Context;
-import android.content.res.Resources;
-import android.os.Handler;
-import android.os.Looper;
-import android.provider.Settings;
-
-import androidx.annotation.VisibleForTesting;
-import androidx.preference.ListPreference;
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.R;
-import com.android.settings.core.BasePreferenceController;
-import com.android.settingslib.core.lifecycle.LifecycleObserver;
-import com.android.settingslib.core.lifecycle.events.OnStart;
-import com.android.settingslib.core.lifecycle.events.OnStop;
-import com.android.settingslib.development.DevelopmentSettingsEnabler;
-
-/**
- * Controller of global switch to enable Game Driver for all Apps.
- */
-public class GameDriverEnableForAllAppsPreferenceController extends BasePreferenceController
-        implements Preference.OnPreferenceChangeListener,
-                   GameDriverContentObserver.OnGameDriverContentChangedListener, LifecycleObserver,
-                   OnStart, OnStop {
-
-    public static final int GAME_DRIVER_DEFAULT = 0;
-    public static final int GAME_DRIVER_ALL_APPS = 1;
-    public static final int GAME_DRIVER_PRERELEASE_ALL_APPS = 2;
-    public static final int GAME_DRIVER_OFF = 3;
-
-    private final Context mContext;
-    private final ContentResolver mContentResolver;
-    private final String mPreferenceDefault;
-    private final String mPreferenceGameDriver;
-    private final String mPreferencePrereleaseDriver;
-    @VisibleForTesting
-    GameDriverContentObserver mGameDriverContentObserver;
-
-    private ListPreference mPreference;
-
-    public GameDriverEnableForAllAppsPreferenceController(Context context, String key) {
-        super(context, key);
-        mContext = context;
-        mContentResolver = context.getContentResolver();
-
-        final Resources resources = context.getResources();
-        mPreferenceDefault = resources.getString(R.string.game_driver_app_preference_default);
-        mPreferenceGameDriver =
-                resources.getString(R.string.game_driver_app_preference_game_driver);
-        mPreferencePrereleaseDriver =
-                resources.getString(R.string.game_driver_app_preference_prerelease_driver);
-        mGameDriverContentObserver =
-                new GameDriverContentObserver(new Handler(Looper.getMainLooper()), this);
-    }
-
-    @Override
-    public int getAvailabilityStatus() {
-        return DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(mContext)
-                        && (Settings.Global.getInt(mContentResolver,
-                                    Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT)
-                                != GAME_DRIVER_OFF)
-                ? AVAILABLE
-                : CONDITIONALLY_UNAVAILABLE;
-    }
-
-    @Override
-    public void displayPreference(PreferenceScreen screen) {
-        super.displayPreference(screen);
-        mPreference = screen.findPreference(getPreferenceKey());
-        mPreference.setOnPreferenceChangeListener(this);
-    }
-
-    @Override
-    public void onStart() {
-        mGameDriverContentObserver.register(mContentResolver);
-    }
-
-    @Override
-    public void onStop() {
-        mGameDriverContentObserver.unregister(mContentResolver);
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        final ListPreference listPref = (ListPreference) preference;
-        listPref.setVisible(isAvailable());
-        final int currentChoice = Settings.Global.getInt(
-                mContentResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT);
-        if (currentChoice == GAME_DRIVER_ALL_APPS) {
-            listPref.setValue(mPreferenceGameDriver);
-            listPref.setSummary(mPreferenceGameDriver);
-        } else if (currentChoice == GAME_DRIVER_PRERELEASE_ALL_APPS) {
-            listPref.setValue(mPreferencePrereleaseDriver);
-            listPref.setSummary(mPreferencePrereleaseDriver);
-        } else {
-            listPref.setValue(mPreferenceDefault);
-            listPref.setSummary(mPreferenceDefault);
-        }
-    }
-
-    @Override
-    public boolean onPreferenceChange(Preference preference, Object newValue) {
-        final ListPreference listPref = (ListPreference) preference;
-        final String value = newValue.toString();
-        final int currentChoice = Settings.Global.getInt(
-                mContentResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT);
-        final int userChoice;
-        if (value.equals(mPreferenceGameDriver)) {
-            userChoice = GAME_DRIVER_ALL_APPS;
-        } else if (value.equals(mPreferencePrereleaseDriver)) {
-            userChoice = GAME_DRIVER_PRERELEASE_ALL_APPS;
-        } else {
-            userChoice = GAME_DRIVER_DEFAULT;
-        }
-        listPref.setValue(value);
-        listPref.setSummary(value);
-
-        if (userChoice != currentChoice) {
-            Settings.Global.putInt(
-                    mContentResolver, Settings.Global.GAME_DRIVER_ALL_APPS, userChoice);
-        }
-
-        return true;
-    }
-
-    @Override
-    public void onGameDriverContentChanged() {
-        updateState(mPreference);
-    }
-}
diff --git a/src/com/android/settings/development/gamedriver/GameDriverFooterPreferenceController.java b/src/com/android/settings/development/gamedriver/GameDriverFooterPreferenceController.java
deleted file mode 100644
index 12156df..0000000
--- a/src/com/android/settings/development/gamedriver/GameDriverFooterPreferenceController.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * Copyright 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.development.gamedriver;
-
-import static com.android.settings.development.gamedriver.GameDriverEnableForAllAppsPreferenceController.GAME_DRIVER_DEFAULT;
-import static com.android.settings.development.gamedriver.GameDriverEnableForAllAppsPreferenceController.GAME_DRIVER_OFF;
-
-import android.content.ContentResolver;
-import android.content.Context;
-import android.os.Handler;
-import android.os.Looper;
-import android.provider.Settings;
-
-import androidx.annotation.VisibleForTesting;
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.core.BasePreferenceController;
-import com.android.settingslib.core.lifecycle.LifecycleObserver;
-import com.android.settingslib.core.lifecycle.events.OnStart;
-import com.android.settingslib.core.lifecycle.events.OnStop;
-import com.android.settingslib.widget.FooterPreference;
-
-/**
- * Controller of footer preference for Game Driver.
- */
-public class GameDriverFooterPreferenceController extends BasePreferenceController
-        implements GameDriverContentObserver.OnGameDriverContentChangedListener, LifecycleObserver,
-                   OnStart, OnStop {
-
-    private final ContentResolver mContentResolver;
-    @VisibleForTesting
-    GameDriverContentObserver mGameDriverContentObserver;
-
-    private FooterPreference mPreference;
-
-    public GameDriverFooterPreferenceController(Context context) {
-        super(context, FooterPreference.KEY_FOOTER);
-        mContentResolver = context.getContentResolver();
-        mGameDriverContentObserver =
-                new GameDriverContentObserver(new Handler(Looper.getMainLooper()), this);
-    }
-
-    @Override
-    public int getAvailabilityStatus() {
-        return Settings.Global.getInt(
-                       mContentResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT)
-                        == GAME_DRIVER_OFF
-                ? AVAILABLE_UNSEARCHABLE
-                : CONDITIONALLY_UNAVAILABLE;
-    }
-
-    @Override
-    public void displayPreference(PreferenceScreen screen) {
-        super.displayPreference(screen);
-        mPreference = screen.findPreference(getPreferenceKey());
-    }
-
-    @Override
-    public void onStart() {
-        mGameDriverContentObserver.register(mContentResolver);
-    }
-
-    @Override
-    public void onStop() {
-        mGameDriverContentObserver.unregister(mContentResolver);
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        preference.setVisible(isAvailable());
-    }
-
-    @Override
-    public void onGameDriverContentChanged() {
-        updateState(mPreference);
-    }
-}
diff --git a/src/com/android/settings/development/gamedriver/GameDriverGlobalSwitchBarController.java b/src/com/android/settings/development/gamedriver/GameDriverGlobalSwitchBarController.java
deleted file mode 100644
index 15f71e0..0000000
--- a/src/com/android/settings/development/gamedriver/GameDriverGlobalSwitchBarController.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * Copyright 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.development.gamedriver;
-
-import static com.android.settings.development.gamedriver.GameDriverEnableForAllAppsPreferenceController.GAME_DRIVER_ALL_APPS;
-import static com.android.settings.development.gamedriver.GameDriverEnableForAllAppsPreferenceController.GAME_DRIVER_DEFAULT;
-import static com.android.settings.development.gamedriver.GameDriverEnableForAllAppsPreferenceController.GAME_DRIVER_OFF;
-import static com.android.settings.development.gamedriver.GameDriverEnableForAllAppsPreferenceController.GAME_DRIVER_PRERELEASE_ALL_APPS;
-
-import android.content.ContentResolver;
-import android.content.Context;
-import android.os.Handler;
-import android.os.Looper;
-import android.provider.Settings;
-
-import androidx.annotation.VisibleForTesting;
-
-import com.android.settings.widget.SwitchWidgetController;
-import com.android.settingslib.core.lifecycle.LifecycleObserver;
-import com.android.settingslib.core.lifecycle.events.OnStart;
-import com.android.settingslib.core.lifecycle.events.OnStop;
-import com.android.settingslib.development.DevelopmentSettingsEnabler;
-
-/**
- * Controller of global switch bar used to fully turn off Game Driver.
- */
-public class GameDriverGlobalSwitchBarController
-        implements SwitchWidgetController.OnSwitchChangeListener,
-                   GameDriverContentObserver.OnGameDriverContentChangedListener, LifecycleObserver,
-                   OnStart, OnStop {
-
-    private final Context mContext;
-    private final ContentResolver mContentResolver;
-    @VisibleForTesting
-    SwitchWidgetController mSwitchWidgetController;
-    @VisibleForTesting
-    GameDriverContentObserver mGameDriverContentObserver;
-
-    GameDriverGlobalSwitchBarController(
-            Context context, SwitchWidgetController switchWidgetController) {
-        mContext = context;
-        mContentResolver = context.getContentResolver();
-        mGameDriverContentObserver =
-                new GameDriverContentObserver(new Handler(Looper.getMainLooper()), this);
-        mSwitchWidgetController = switchWidgetController;
-        mSwitchWidgetController.setEnabled(
-                DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(context));
-        mSwitchWidgetController.setChecked(
-                Settings.Global.getInt(
-                        mContentResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT)
-                != GAME_DRIVER_OFF);
-        mSwitchWidgetController.setListener(this);
-    }
-
-    @Override
-    public void onStart() {
-        mSwitchWidgetController.startListening();
-        mGameDriverContentObserver.register(mContentResolver);
-    }
-
-    @Override
-    public void onStop() {
-        mSwitchWidgetController.stopListening();
-        mGameDriverContentObserver.unregister(mContentResolver);
-    }
-
-    @Override
-    public boolean onSwitchToggled(boolean isChecked) {
-        final int gameDriver = Settings.Global.getInt(
-                mContentResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT);
-
-        if (isChecked
-                && (gameDriver == GAME_DRIVER_DEFAULT || gameDriver == GAME_DRIVER_ALL_APPS
-                        || gameDriver == GAME_DRIVER_PRERELEASE_ALL_APPS)) {
-            return true;
-        }
-
-        if (!isChecked && gameDriver == GAME_DRIVER_OFF) {
-            return true;
-        }
-
-        Settings.Global.putInt(mContentResolver, Settings.Global.GAME_DRIVER_ALL_APPS,
-                isChecked ? GAME_DRIVER_DEFAULT : GAME_DRIVER_OFF);
-
-        return true;
-    }
-
-    @Override
-    public void onGameDriverContentChanged() {
-        mSwitchWidgetController.setChecked(
-                Settings.Global.getInt(
-                        mContentResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT)
-                != GAME_DRIVER_OFF);
-    }
-}
diff --git a/src/com/android/settings/development/graphicsdriver/GraphicsDriverAppPreferenceController.java b/src/com/android/settings/development/graphicsdriver/GraphicsDriverAppPreferenceController.java
new file mode 100644
index 0000000..b1a31fb
--- /dev/null
+++ b/src/com/android/settings/development/graphicsdriver/GraphicsDriverAppPreferenceController.java
@@ -0,0 +1,273 @@
+/*
+ * Copyright 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.development.graphicsdriver;
+
+import static com.android.settings.development.graphicsdriver.GraphicsDriverEnableForAllAppsPreferenceController.GAME_DRIVER_DEFAULT;
+import static com.android.settings.development.graphicsdriver.GraphicsDriverEnableForAllAppsPreferenceController.GAME_DRIVER_OFF;
+
+import android.content.ContentResolver;
+import android.content.Context;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.PackageManager;
+import android.content.res.Resources;
+import android.os.Handler;
+import android.os.Looper;
+import android.provider.Settings;
+
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.ListPreference;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceGroup;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settings.core.BasePreferenceController;
+import com.android.settingslib.core.lifecycle.LifecycleObserver;
+import com.android.settingslib.core.lifecycle.events.OnStart;
+import com.android.settingslib.core.lifecycle.events.OnStop;
+import com.android.settingslib.development.DevelopmentSettingsEnabler;
+
+import java.text.Collator;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+/**
+ * Controller of all the per App based list preferences.
+ */
+public class GraphicsDriverAppPreferenceController extends BasePreferenceController
+        implements Preference.OnPreferenceChangeListener,
+        GraphicsDriverContentObserver.OnGraphicsDriverContentChangedListener, LifecycleObserver,
+        OnStart, OnStop {
+
+    private final Context mContext;
+    private final ContentResolver mContentResolver;
+    private final String mPreferenceTitle;
+    private final String mPreferenceDefault;
+    private final String mPreferenceGameDriver;
+    private final String mPreferencePrereleaseDriver;
+    private final String mPreferenceSystem;
+    @VisibleForTesting
+    CharSequence[] mEntryList;
+    @VisibleForTesting
+    GraphicsDriverContentObserver mGraphicsDriverContentObserver;
+
+    private final List<AppInfo> mAppInfos;
+    private final Set<String> mDevOptInApps;
+    private final Set<String> mDevPrereleaseOptInApps;
+    private final Set<String> mDevOptOutApps;
+
+    private PreferenceGroup mPreferenceGroup;
+
+    public GraphicsDriverAppPreferenceController(Context context, String key) {
+        super(context, key);
+
+        mContext = context;
+        mContentResolver = context.getContentResolver();
+        mGraphicsDriverContentObserver =
+                new GraphicsDriverContentObserver(new Handler(Looper.getMainLooper()), this);
+
+        final Resources resources = context.getResources();
+        mPreferenceTitle = resources.getString(R.string.graphics_driver_app_preference_title);
+        mPreferenceDefault = resources.getString(R.string.graphics_driver_app_preference_default);
+        mPreferenceGameDriver =
+                resources.getString(R.string.graphics_driver_app_preference_game_driver);
+        mPreferencePrereleaseDriver =
+                resources.getString(R.string.graphics_driver_app_preference_prerelease_driver);
+        mPreferenceSystem = resources.getString(R.string.graphics_driver_app_preference_system);
+        mEntryList = GraphicsDriverEnableForAllAppsPreferenceController.constructEntryList(
+                mContext, true);
+
+        // TODO: Move this task to background if there's potential ANR/Jank.
+        // Update the UI when all the app infos are ready.
+        mAppInfos = getAppInfos(context);
+
+        mDevOptInApps =
+                getGlobalSettingsString(mContentResolver, Settings.Global.GAME_DRIVER_OPT_IN_APPS);
+        mDevPrereleaseOptInApps = getGlobalSettingsString(
+                mContentResolver, Settings.Global.GAME_DRIVER_PRERELEASE_OPT_IN_APPS);
+        mDevOptOutApps =
+                getGlobalSettingsString(mContentResolver, Settings.Global.GAME_DRIVER_OPT_OUT_APPS);
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(mContext)
+                && (Settings.Global.getInt(mContentResolver,
+                Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT)
+                != GAME_DRIVER_OFF)
+                ? AVAILABLE
+                : CONDITIONALLY_UNAVAILABLE;
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        mPreferenceGroup = screen.findPreference(getPreferenceKey());
+
+        final Context context = mPreferenceGroup.getContext();
+        for (AppInfo appInfo : mAppInfos) {
+            mPreferenceGroup.addPreference(
+                    createListPreference(context, appInfo.info.packageName, appInfo.label));
+        }
+    }
+
+    @Override
+    public void onStart() {
+        mGraphicsDriverContentObserver.register(mContentResolver);
+    }
+
+    @Override
+    public void onStop() {
+        mGraphicsDriverContentObserver.unregister(mContentResolver);
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        preference.setVisible(isAvailable());
+    }
+
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object newValue) {
+        final ListPreference listPref = (ListPreference) preference;
+        final String value = newValue.toString();
+        final String packageName = preference.getKey();
+
+        // When user choose a new preference, update both Sets for
+        // opt-in and opt-out apps. Then set the new summary text.
+        if (value.equals(mPreferenceSystem)) {
+            mDevOptInApps.remove(packageName);
+            mDevPrereleaseOptInApps.remove(packageName);
+            mDevOptOutApps.add(packageName);
+        } else if (value.equals(mPreferenceGameDriver)) {
+            mDevOptInApps.add(packageName);
+            mDevPrereleaseOptInApps.remove(packageName);
+            mDevOptOutApps.remove(packageName);
+        } else if (value.equals(mPreferencePrereleaseDriver)) {
+            mDevOptInApps.remove(packageName);
+            mDevPrereleaseOptInApps.add(packageName);
+            mDevOptOutApps.remove(packageName);
+        } else {
+            mDevOptInApps.remove(packageName);
+            mDevPrereleaseOptInApps.remove(packageName);
+            mDevOptOutApps.remove(packageName);
+        }
+        listPref.setValue(value);
+        listPref.setSummary(value);
+
+        // Push the updated Sets for stable/prerelease opt-in and opt-out apps to
+        // corresponding Settings.Global.GAME_DRIVER(_PRERELEASE)?_OPT_(IN|OUT)_APPS
+        Settings.Global.putString(mContentResolver, Settings.Global.GAME_DRIVER_OPT_IN_APPS,
+                String.join(",", mDevOptInApps));
+        Settings.Global.putString(mContentResolver,
+                Settings.Global.GAME_DRIVER_PRERELEASE_OPT_IN_APPS,
+                String.join(",", mDevPrereleaseOptInApps));
+        Settings.Global.putString(mContentResolver, Settings.Global.GAME_DRIVER_OPT_OUT_APPS,
+                String.join(",", mDevOptOutApps));
+
+        return true;
+    }
+
+    @Override
+    public void onGraphicsDriverContentChanged() {
+        updateState(mPreferenceGroup);
+    }
+
+    // AppInfo class to achieve loading the application label only once
+    class AppInfo {
+        AppInfo(PackageManager packageManager, ApplicationInfo applicationInfo) {
+            info = applicationInfo;
+            label = packageManager.getApplicationLabel(applicationInfo).toString();
+        }
+
+        public final ApplicationInfo info;
+        public final String label;
+    }
+
+    // List of non-system packages that are installed for the current user.
+    private List<AppInfo> getAppInfos(Context context) {
+        final PackageManager packageManager = context.getPackageManager();
+        final List<ApplicationInfo> applicationInfos =
+                packageManager.getInstalledApplications(0 /* flags */);
+
+        final List<AppInfo> appInfos = new ArrayList<>();
+        for (ApplicationInfo applicationInfo : applicationInfos) {
+            if ((applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 0) {
+                appInfos.add(new AppInfo(packageManager, applicationInfo));
+            }
+        }
+
+        Collections.sort(appInfos, mAppInfoComparator);
+
+        return appInfos;
+    }
+
+    // Parse the raw comma separated package names into a String Set
+    private Set<String> getGlobalSettingsString(ContentResolver contentResolver, String name) {
+        final String settingsValue = Settings.Global.getString(contentResolver, name);
+        if (settingsValue == null) {
+            return new HashSet<>();
+        }
+
+        final Set<String> valueSet = new HashSet<>(Arrays.asList(settingsValue.split(",")));
+        valueSet.remove("");
+
+        return valueSet;
+    }
+
+    private final Comparator<AppInfo> mAppInfoComparator = new Comparator<AppInfo>() {
+        public int compare(AppInfo a, AppInfo b) {
+            return Collator.getInstance().compare(a.label, b.label);
+        }
+    };
+
+    @VisibleForTesting
+    protected ListPreference createListPreference(
+            Context context, String packageName, String appName) {
+        final ListPreference listPreference = new ListPreference(context);
+
+        listPreference.setKey(packageName);
+        listPreference.setTitle(appName);
+        listPreference.setDialogTitle(mPreferenceTitle);
+        listPreference.setEntries(mEntryList);
+        listPreference.setEntryValues(mEntryList);
+
+        // Initialize preference default and summary with the opt in/out choices
+        // from Settings.Global.GAME_DRIVER(_PRERELEASE)?_OPT_(IN|OUT)_APPS
+        if (mDevOptOutApps.contains(packageName)) {
+            listPreference.setValue(mPreferenceSystem);
+            listPreference.setSummary(mPreferenceSystem);
+        } else if (mDevPrereleaseOptInApps.contains(packageName)) {
+            listPreference.setValue(mPreferencePrereleaseDriver);
+            listPreference.setSummary(mPreferencePrereleaseDriver);
+        } else if (mDevOptInApps.contains(packageName)) {
+            listPreference.setValue(mPreferenceGameDriver);
+            listPreference.setSummary(mPreferenceGameDriver);
+        } else {
+            listPreference.setValue(mPreferenceDefault);
+            listPreference.setSummary(mPreferenceDefault);
+        }
+
+        listPreference.setOnPreferenceChangeListener(this);
+
+        return listPreference;
+    }
+}
diff --git a/src/com/android/settings/development/graphicsdriver/GraphicsDriverContentObserver.java b/src/com/android/settings/development/graphicsdriver/GraphicsDriverContentObserver.java
new file mode 100644
index 0000000..8317800
--- /dev/null
+++ b/src/com/android/settings/development/graphicsdriver/GraphicsDriverContentObserver.java
@@ -0,0 +1,64 @@
+/*
+ * Copyright 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.development.graphicsdriver;
+
+import android.content.ContentResolver;
+import android.database.ContentObserver;
+import android.os.Handler;
+import android.provider.Settings;
+
+import androidx.annotation.VisibleForTesting;
+
+/**
+ * Helper class to observe Graphics Driver settings global change.
+ */
+public class GraphicsDriverContentObserver extends ContentObserver {
+
+    interface OnGraphicsDriverContentChangedListener {
+        void onGraphicsDriverContentChanged();
+    }
+
+    @VisibleForTesting
+    OnGraphicsDriverContentChangedListener mListener;
+
+    public GraphicsDriverContentObserver(Handler handler,
+            OnGraphicsDriverContentChangedListener listener) {
+        super(handler);
+        mListener = listener;
+    }
+
+    @Override
+    public void onChange(boolean selfChange) {
+        super.onChange(selfChange);
+        mListener.onGraphicsDriverContentChanged();
+    }
+
+    /**
+     * Register GraphicsDriverContentObserver to ContentResolver.
+     */
+    public void register(ContentResolver contentResolver) {
+        contentResolver.registerContentObserver(
+                Settings.Global.getUriFor(Settings.Global.GAME_DRIVER_ALL_APPS), false, this);
+    }
+
+    /**
+     * Unregister GraphicsDriverContentObserver.
+     */
+    public void unregister(ContentResolver contentResolver) {
+        contentResolver.unregisterContentObserver(this);
+    }
+}
diff --git a/src/com/android/settings/development/graphicsdriver/GraphicsDriverDashboard.java b/src/com/android/settings/development/graphicsdriver/GraphicsDriverDashboard.java
new file mode 100644
index 0000000..2801689
--- /dev/null
+++ b/src/com/android/settings/development/graphicsdriver/GraphicsDriverDashboard.java
@@ -0,0 +1,81 @@
+/*
+ * Copyright 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.development.graphicsdriver;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.os.Bundle;
+
+import com.android.settings.R;
+import com.android.settings.SettingsActivity;
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settings.widget.SwitchBar;
+import com.android.settings.widget.SwitchBarController;
+import com.android.settingslib.development.DevelopmentSettingsEnabler;
+import com.android.settingslib.search.SearchIndexable;
+
+/**
+ * Dashboard for Game Driver preferences.
+ */
+@SearchIndexable
+public class GraphicsDriverDashboard extends DashboardFragment {
+
+    private static final String TAG = "GraphicsDriverDashboard";
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.SETTINGS_GAME_DRIVER_DASHBOARD;
+    }
+
+    @Override
+    protected String getLogTag() {
+        return TAG;
+    }
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.graphics_driver_settings;
+    }
+
+    @Override
+    public int getHelpResource() {
+        return 0;
+    }
+
+    @Override
+    public void onActivityCreated(Bundle savedInstanceState) {
+        super.onActivityCreated(savedInstanceState);
+
+        final SettingsActivity activity = (SettingsActivity) getActivity();
+        final SwitchBar switchBar = activity.getSwitchBar();
+        final GraphicsDriverGlobalSwitchBarController switchBarController =
+                new GraphicsDriverGlobalSwitchBarController(
+                        activity, new SwitchBarController(switchBar));
+        getSettingsLifecycle().addObserver(switchBarController);
+        switchBar.show();
+    }
+
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.graphics_driver_settings) {
+
+                @Override
+                protected boolean isPageSearchEnabled(Context context) {
+                    return DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(context);
+                }
+            };
+}
diff --git a/src/com/android/settings/development/graphicsdriver/GraphicsDriverEnableForAllAppsPreferenceController.java b/src/com/android/settings/development/graphicsdriver/GraphicsDriverEnableForAllAppsPreferenceController.java
new file mode 100644
index 0000000..29f1014
--- /dev/null
+++ b/src/com/android/settings/development/graphicsdriver/GraphicsDriverEnableForAllAppsPreferenceController.java
@@ -0,0 +1,227 @@
+/*
+ * Copyright 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.development.graphicsdriver;
+
+import android.content.ContentResolver;
+import android.content.Context;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.PackageManager;
+import android.content.res.Resources;
+import android.os.Build;
+import android.os.Handler;
+import android.os.Looper;
+import android.os.SystemProperties;
+import android.provider.Settings;
+import android.text.TextUtils;
+
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.ListPreference;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settings.core.BasePreferenceController;
+import com.android.settingslib.core.lifecycle.LifecycleObserver;
+import com.android.settingslib.core.lifecycle.events.OnStart;
+import com.android.settingslib.core.lifecycle.events.OnStop;
+import com.android.settingslib.development.DevelopmentSettingsEnabler;
+
+import dalvik.system.VMRuntime;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Controller of global switch to enable Game Driver for all Apps.
+ */
+public class GraphicsDriverEnableForAllAppsPreferenceController extends BasePreferenceController
+        implements Preference.OnPreferenceChangeListener,
+                   GraphicsDriverContentObserver.OnGraphicsDriverContentChangedListener,
+                   LifecycleObserver, OnStart, OnStop {
+
+    public static final int GAME_DRIVER_DEFAULT = 0;
+    public static final int GAME_DRIVER_ALL_APPS = 1;
+    public static final int GAME_DRIVER_PRERELEASE_ALL_APPS = 2;
+    public static final int GAME_DRIVER_OFF = 3;
+    public static final String PROPERTY_GFX_DRIVER_GAME = "ro.gfx.driver.0";
+    public static final String PROPERTY_GFX_DRIVER_PRERELEASE = "ro.gfx.driver.1";
+
+    private final Context mContext;
+    private final ContentResolver mContentResolver;
+    private final String mPreferenceDefault;
+    private final String mPreferenceGameDriver;
+    private final String mPreferencePrereleaseDriver;
+    @VisibleForTesting
+    CharSequence[] mEntryList;
+    @VisibleForTesting
+    GraphicsDriverContentObserver mGraphicsDriverContentObserver;
+
+    private ListPreference mPreference;
+
+    public GraphicsDriverEnableForAllAppsPreferenceController(Context context, String key) {
+        super(context, key);
+        mContext = context;
+        mContentResolver = context.getContentResolver();
+
+        final Resources resources = context.getResources();
+        mPreferenceDefault = resources.getString(R.string.graphics_driver_app_preference_default);
+        mPreferenceGameDriver =
+                resources.getString(R.string.graphics_driver_app_preference_game_driver);
+        mPreferencePrereleaseDriver =
+                resources.getString(R.string.graphics_driver_app_preference_prerelease_driver);
+        mEntryList = constructEntryList(mContext, false);
+        mGraphicsDriverContentObserver =
+                new GraphicsDriverContentObserver(new Handler(Looper.getMainLooper()), this);
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(mContext)
+                        && (Settings.Global.getInt(mContentResolver,
+                                    Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT)
+                                != GAME_DRIVER_OFF)
+                ? AVAILABLE
+                : CONDITIONALLY_UNAVAILABLE;
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        mPreference = screen.findPreference(getPreferenceKey());
+        mPreference.setEntries(mEntryList);
+        mPreference.setEntryValues(mEntryList);
+        mPreference.setOnPreferenceChangeListener(this);
+    }
+
+    @Override
+    public void onStart() {
+        mGraphicsDriverContentObserver.register(mContentResolver);
+    }
+
+    @Override
+    public void onStop() {
+        mGraphicsDriverContentObserver.unregister(mContentResolver);
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        final ListPreference listPref = (ListPreference) preference;
+        listPref.setVisible(isAvailable());
+        final int currentChoice = Settings.Global.getInt(
+                mContentResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT);
+        if (currentChoice == GAME_DRIVER_ALL_APPS) {
+            listPref.setValue(mPreferenceGameDriver);
+            listPref.setSummary(mPreferenceGameDriver);
+        } else if (currentChoice == GAME_DRIVER_PRERELEASE_ALL_APPS) {
+            listPref.setValue(mPreferencePrereleaseDriver);
+            listPref.setSummary(mPreferencePrereleaseDriver);
+        } else {
+            listPref.setValue(mPreferenceDefault);
+            listPref.setSummary(mPreferenceDefault);
+        }
+    }
+
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object newValue) {
+        final ListPreference listPref = (ListPreference) preference;
+        final String value = newValue.toString();
+        final int currentChoice = Settings.Global.getInt(
+                mContentResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT);
+        final int userChoice;
+        if (value.equals(mPreferenceGameDriver)) {
+            userChoice = GAME_DRIVER_ALL_APPS;
+        } else if (value.equals(mPreferencePrereleaseDriver)) {
+            userChoice = GAME_DRIVER_PRERELEASE_ALL_APPS;
+        } else {
+            userChoice = GAME_DRIVER_DEFAULT;
+        }
+        listPref.setValue(value);
+        listPref.setSummary(value);
+
+        if (userChoice != currentChoice) {
+            Settings.Global.putInt(
+                    mContentResolver, Settings.Global.GAME_DRIVER_ALL_APPS, userChoice);
+        }
+
+        return true;
+    }
+
+    @Override
+    public void onGraphicsDriverContentChanged() {
+        updateState(mPreference);
+    }
+
+    /**
+     * Constructs and returns a list of graphics driver choices.
+     */
+    public static CharSequence[] constructEntryList(Context context, boolean withSystem) {
+        final Resources resources = context.getResources();
+        final String prereleaseDriverPackageName =
+                SystemProperties.get(PROPERTY_GFX_DRIVER_PRERELEASE);
+        final String gameDriverPackageName = SystemProperties.get(PROPERTY_GFX_DRIVER_GAME);
+
+        List<CharSequence> entryList = new ArrayList<>();
+        entryList.add(resources.getString(R.string.graphics_driver_app_preference_default));
+        final PackageManager pm = context.getPackageManager();
+        if (!TextUtils.isEmpty(prereleaseDriverPackageName)
+                && hasDriverPackage(pm, prereleaseDriverPackageName)) {
+            entryList.add(resources.getString(
+                    R.string.graphics_driver_app_preference_prerelease_driver));
+        }
+        if (!TextUtils.isEmpty(gameDriverPackageName)
+                && hasDriverPackage(pm, gameDriverPackageName)) {
+            entryList.add(resources.getString(R.string.graphics_driver_app_preference_game_driver));
+        }
+        if (withSystem) {
+            entryList.add(resources.getString(R.string.graphics_driver_app_preference_system));
+        }
+        CharSequence[] filteredEntryList = new CharSequence[entryList.size()];
+        filteredEntryList = entryList.toArray(filteredEntryList);
+        return filteredEntryList;
+    }
+
+    private static boolean hasDriverPackage(PackageManager pm, String driverPackageName) {
+        final ApplicationInfo driverAppInfo;
+        try {
+            driverAppInfo = pm.getApplicationInfo(driverPackageName,
+                    PackageManager.MATCH_SYSTEM_ONLY);
+        } catch (PackageManager.NameNotFoundException e) {
+            return false;
+        }
+        if (driverAppInfo.targetSdkVersion < Build.VERSION_CODES.O) {
+            return false;
+        }
+        final String abi = chooseAbi(driverAppInfo);
+        if (abi == null) {
+            return false;
+        }
+        return true;
+    }
+
+    private static String chooseAbi(ApplicationInfo ai) {
+        final String isa = VMRuntime.getCurrentInstructionSet();
+        if (ai.primaryCpuAbi != null
+                && isa.equals(VMRuntime.getInstructionSet(ai.primaryCpuAbi))) {
+            return ai.primaryCpuAbi;
+        }
+        if (ai.secondaryCpuAbi != null
+                && isa.equals(VMRuntime.getInstructionSet(ai.secondaryCpuAbi))) {
+            return ai.secondaryCpuAbi;
+        }
+        return null;
+    }
+}
diff --git a/src/com/android/settings/development/graphicsdriver/GraphicsDriverFooterPreferenceController.java b/src/com/android/settings/development/graphicsdriver/GraphicsDriverFooterPreferenceController.java
new file mode 100644
index 0000000..4862cfe
--- /dev/null
+++ b/src/com/android/settings/development/graphicsdriver/GraphicsDriverFooterPreferenceController.java
@@ -0,0 +1,93 @@
+/*
+ * Copyright 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.development.graphicsdriver;
+
+import static com.android.settings.development.graphicsdriver.GraphicsDriverEnableForAllAppsPreferenceController.GAME_DRIVER_DEFAULT;
+import static com.android.settings.development.graphicsdriver.GraphicsDriverEnableForAllAppsPreferenceController.GAME_DRIVER_OFF;
+
+import android.content.ContentResolver;
+import android.content.Context;
+import android.os.Handler;
+import android.os.Looper;
+import android.provider.Settings;
+
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.core.BasePreferenceController;
+import com.android.settingslib.core.lifecycle.LifecycleObserver;
+import com.android.settingslib.core.lifecycle.events.OnStart;
+import com.android.settingslib.core.lifecycle.events.OnStop;
+import com.android.settingslib.widget.FooterPreference;
+
+/**
+ * Controller of footer preference for Graphics Driver Preferences dashboard.
+ */
+public class GraphicsDriverFooterPreferenceController extends BasePreferenceController
+        implements GraphicsDriverContentObserver.OnGraphicsDriverContentChangedListener,
+        LifecycleObserver, OnStart, OnStop {
+
+    private final ContentResolver mContentResolver;
+    @VisibleForTesting
+    GraphicsDriverContentObserver mGraphicsDriverContentObserver;
+
+    private FooterPreference mPreference;
+
+    public GraphicsDriverFooterPreferenceController(Context context, String key) {
+        super(context, key);
+        mContentResolver = context.getContentResolver();
+        mGraphicsDriverContentObserver =
+                new GraphicsDriverContentObserver(new Handler(Looper.getMainLooper()), this);
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return Settings.Global.getInt(
+                mContentResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT)
+                == GAME_DRIVER_OFF
+                ? AVAILABLE_UNSEARCHABLE
+                : CONDITIONALLY_UNAVAILABLE;
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        mPreference = screen.findPreference(getPreferenceKey());
+    }
+
+    @Override
+    public void onStart() {
+        mGraphicsDriverContentObserver.register(mContentResolver);
+    }
+
+    @Override
+    public void onStop() {
+        mGraphicsDriverContentObserver.unregister(mContentResolver);
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        final FooterPreference footerPref = (FooterPreference) preference;
+        footerPref.setVisible(isAvailable());
+    }
+
+    @Override
+    public void onGraphicsDriverContentChanged() {
+        updateState(mPreference);
+    }
+}
diff --git a/src/com/android/settings/development/graphicsdriver/GraphicsDriverGlobalSwitchBarController.java b/src/com/android/settings/development/graphicsdriver/GraphicsDriverGlobalSwitchBarController.java
new file mode 100644
index 0000000..86c56b7
--- /dev/null
+++ b/src/com/android/settings/development/graphicsdriver/GraphicsDriverGlobalSwitchBarController.java
@@ -0,0 +1,110 @@
+/*
+ * Copyright 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.development.graphicsdriver;
+
+import static com.android.settings.development.graphicsdriver.GraphicsDriverEnableForAllAppsPreferenceController.GAME_DRIVER_ALL_APPS;
+import static com.android.settings.development.graphicsdriver.GraphicsDriverEnableForAllAppsPreferenceController.GAME_DRIVER_DEFAULT;
+import static com.android.settings.development.graphicsdriver.GraphicsDriverEnableForAllAppsPreferenceController.GAME_DRIVER_OFF;
+import static com.android.settings.development.graphicsdriver.GraphicsDriverEnableForAllAppsPreferenceController.GAME_DRIVER_PRERELEASE_ALL_APPS;
+
+import android.content.ContentResolver;
+import android.content.Context;
+import android.os.Handler;
+import android.os.Looper;
+import android.provider.Settings;
+
+import androidx.annotation.VisibleForTesting;
+
+import com.android.settings.widget.SwitchWidgetController;
+import com.android.settingslib.core.lifecycle.LifecycleObserver;
+import com.android.settingslib.core.lifecycle.events.OnStart;
+import com.android.settingslib.core.lifecycle.events.OnStop;
+import com.android.settingslib.development.DevelopmentSettingsEnabler;
+
+/**
+ * Controller of global switch bar used to fully turn off Game Driver.
+ */
+public class GraphicsDriverGlobalSwitchBarController
+        implements SwitchWidgetController.OnSwitchChangeListener,
+                   GraphicsDriverContentObserver.OnGraphicsDriverContentChangedListener,
+                   LifecycleObserver, OnStart, OnStop {
+
+    private final Context mContext;
+    private final ContentResolver mContentResolver;
+    @VisibleForTesting
+    SwitchWidgetController mSwitchWidgetController;
+    @VisibleForTesting
+    GraphicsDriverContentObserver mGraphicsDriverContentObserver;
+
+    GraphicsDriverGlobalSwitchBarController(
+            Context context, SwitchWidgetController switchWidgetController) {
+        mContext = context;
+        mContentResolver = context.getContentResolver();
+        mGraphicsDriverContentObserver =
+                new GraphicsDriverContentObserver(new Handler(Looper.getMainLooper()), this);
+        mSwitchWidgetController = switchWidgetController;
+        mSwitchWidgetController.setEnabled(
+                DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(context));
+        mSwitchWidgetController.setChecked(
+                Settings.Global.getInt(
+                        mContentResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT)
+                != GAME_DRIVER_OFF);
+        mSwitchWidgetController.setListener(this);
+    }
+
+    @Override
+    public void onStart() {
+        mSwitchWidgetController.startListening();
+        mGraphicsDriverContentObserver.register(mContentResolver);
+    }
+
+    @Override
+    public void onStop() {
+        mSwitchWidgetController.stopListening();
+        mGraphicsDriverContentObserver.unregister(mContentResolver);
+    }
+
+    @Override
+    public boolean onSwitchToggled(boolean isChecked) {
+        final int graphicsDriverGlobalOption = Settings.Global.getInt(
+                mContentResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT);
+
+        if (isChecked
+                && (graphicsDriverGlobalOption == GAME_DRIVER_DEFAULT
+                        || graphicsDriverGlobalOption == GAME_DRIVER_ALL_APPS
+                        || graphicsDriverGlobalOption == GAME_DRIVER_PRERELEASE_ALL_APPS)) {
+            return true;
+        }
+
+        if (!isChecked && graphicsDriverGlobalOption == GAME_DRIVER_OFF) {
+            return true;
+        }
+
+        Settings.Global.putInt(mContentResolver, Settings.Global.GAME_DRIVER_ALL_APPS,
+                isChecked ? GAME_DRIVER_DEFAULT : GAME_DRIVER_OFF);
+
+        return true;
+    }
+
+    @Override
+    public void onGraphicsDriverContentChanged() {
+        mSwitchWidgetController.setChecked(
+                Settings.Global.getInt(
+                        mContentResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT)
+                != GAME_DRIVER_OFF);
+    }
+}
diff --git a/src/com/android/settings/development/qstile/DevelopmentTileConfigFragment.java b/src/com/android/settings/development/qstile/DevelopmentTileConfigFragment.java
index c6f0ecd..079195c 100644
--- a/src/com/android/settings/development/qstile/DevelopmentTileConfigFragment.java
+++ b/src/com/android/settings/development/qstile/DevelopmentTileConfigFragment.java
@@ -23,7 +23,7 @@
 import com.android.settings.R;
 import com.android.settings.dashboard.DashboardFragment;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
+import com.android.settingslib.search.Indexable;
 import com.android.settingslib.development.DevelopmentSettingsEnabler;
 import com.android.settingslib.search.SearchIndexable;
 
@@ -49,18 +49,8 @@
         return SettingsEnums.DEVELOPMENT_QS_TILE_CONFIG;
     }
 
-    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
-                        boolean enabled) {
-                    final List<SearchIndexableResource> result = new ArrayList<>();
-
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.development_tile_settings;
-                    result.add(sir);
-                    return result;
-                }
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.development_tile_settings) {
 
                 @Override
                 protected boolean isPageSearchEnabled(Context context) {
diff --git a/src/com/android/settings/development/qstile/DevelopmentTiles.java b/src/com/android/settings/development/qstile/DevelopmentTiles.java
index bb791ab..8f06750 100644
--- a/src/com/android/settings/development/qstile/DevelopmentTiles.java
+++ b/src/com/android/settings/development/qstile/DevelopmentTiles.java
@@ -233,9 +233,22 @@
             return layerTraceEnabled;
         }
 
+        private boolean isSystemUiTracingEnabled() {
+            try {
+                final IStatusBarService statusBarService = IStatusBarService.Stub.asInterface(
+                        ServiceManager.checkService(Context.STATUS_BAR_SERVICE));
+                if (statusBarService != null) {
+                    return statusBarService.isTracing();
+                }
+            } catch (RemoteException e) {
+                Log.e(TAG, "Could not get system ui tracing status." + e.toString());
+            }
+            return false;
+        }
+
         @Override
         protected boolean isEnabled() {
-            return isWindowTraceEnabled() || isLayerTraceEnabled();
+            return isWindowTraceEnabled() || isLayerTraceEnabled() || isSystemUiTracingEnabled();
         }
 
         private void setWindowTraceEnabled(boolean isEnabled) {
@@ -269,10 +282,27 @@
             }
         }
 
+        private void setSystemUiTracing(boolean isEnabled) {
+            try {
+                final IStatusBarService statusBarService = IStatusBarService.Stub.asInterface(
+                        ServiceManager.checkService(Context.STATUS_BAR_SERVICE));
+                if (statusBarService != null) {
+                    if (isEnabled) {
+                        statusBarService.startTracing();
+                    } else {
+                        statusBarService.stopTracing();
+                    }
+                }
+            } catch (RemoteException e) {
+                Log.e(TAG, "Could not set system ui tracing." + e.toString());
+            }
+        }
+
         @Override
         protected void setIsEnabled(boolean isEnabled) {
             setWindowTraceEnabled(isEnabled);
             setLayerTraceEnabled(isEnabled);
+            setSystemUiTracing(isEnabled);
             if (!isEnabled) {
                 mToast.show();
             }
diff --git a/src/com/android/settings/deviceinfo/BrandedAccountPreferenceController.java b/src/com/android/settings/deviceinfo/BrandedAccountPreferenceController.java
index bdd76fc..3543832 100644
--- a/src/com/android/settings/deviceinfo/BrandedAccountPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/BrandedAccountPreferenceController.java
@@ -32,13 +32,13 @@
 import com.android.settings.overlay.FeatureFactory;
 
 public class BrandedAccountPreferenceController extends BasePreferenceController {
-    private final Account[] mAccounts;
+    private final AccountFeatureProvider mAccountFeatureProvider;
+    private Account[] mAccounts;
 
     public BrandedAccountPreferenceController(Context context, String key) {
         super(context, key);
-        final AccountFeatureProvider accountFeatureProvider = FeatureFactory.getFactory(
-                mContext).getAccountFeatureProvider();
-        mAccounts = accountFeatureProvider.getAccounts(mContext);
+        mAccountFeatureProvider = FeatureFactory.getFactory(mContext).getAccountFeatureProvider();
+        mAccounts = mAccountFeatureProvider.getAccounts(mContext);
     }
 
     @Override
@@ -56,8 +56,6 @@
     @Override
     public void displayPreference(PreferenceScreen screen) {
         super.displayPreference(screen);
-        final AccountFeatureProvider accountFeatureProvider = FeatureFactory.getFactory(
-                mContext).getAccountFeatureProvider();
         final Preference accountPreference = screen.findPreference(getPreferenceKey());
         if (accountPreference != null && (mAccounts == null || mAccounts.length == 0)) {
             screen.removePreference(accountPreference);
@@ -72,7 +70,7 @@
             args.putParcelable(AccountDetailDashboardFragment.KEY_USER_HANDLE,
                     android.os.Process.myUserHandle());
             args.putString(AccountDetailDashboardFragment.KEY_ACCOUNT_TYPE,
-                    accountFeatureProvider.getAccountType());
+                    mAccountFeatureProvider.getAccountType());
 
             new SubSettingLauncher(mContext)
                     .setDestination(AccountDetailDashboardFragment.class.getName())
@@ -83,4 +81,13 @@
             return true;
         });
     }
+
+    @Override
+    public void updateState(Preference preference) {
+        super.updateState(preference);
+        mAccounts = mAccountFeatureProvider.getAccounts(mContext);
+        if (mAccounts == null || mAccounts.length == 0) {
+            preference.setVisible(false);
+        }
+    }
 }
diff --git a/src/com/android/settings/deviceinfo/BuildNumberPreferenceController.java b/src/com/android/settings/deviceinfo/BuildNumberPreferenceController.java
index dd522bf..52dbb5b 100644
--- a/src/com/android/settings/deviceinfo/BuildNumberPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/BuildNumberPreferenceController.java
@@ -46,6 +46,8 @@
 import com.android.settingslib.core.lifecycle.events.OnStart;
 import com.android.settingslib.development.DevelopmentSettingsEnabler;
 
+import com.google.android.setupcompat.util.WizardManagerHelper;
+
 public class BuildNumberPreferenceController extends BasePreferenceController implements
         LifecycleObserver, OnStart {
 
@@ -101,6 +103,11 @@
     }
 
     @Override
+    public boolean isPublicSlice() {
+        return true;
+    }
+
+    @Override
     public boolean isCopyableSlice() {
         return true;
     }
@@ -131,7 +138,7 @@
         }
 
         // Don't enable developer options until device has been provisioned
-        if (!Utils.isDeviceProvisioned(mContext)) {
+        if (!WizardManagerHelper.isDeviceProvisioned(mContext)) {
             mMetricsFeatureProvider.action(
                     mContext, SettingsEnums.ACTION_SETTINGS_BUILD_NUMBER_PREF);
             return false;
diff --git a/src/com/android/settings/deviceinfo/DeviceNamePreferenceController.java b/src/com/android/settings/deviceinfo/DeviceNamePreferenceController.java
index fb20a2e..6ada11b 100644
--- a/src/com/android/settings/deviceinfo/DeviceNamePreferenceController.java
+++ b/src/com/android/settings/deviceinfo/DeviceNamePreferenceController.java
@@ -18,7 +18,7 @@
 
 import android.bluetooth.BluetoothAdapter;
 import android.content.Context;
-import android.net.wifi.WifiConfiguration;
+import android.net.wifi.SoftApConfiguration;
 import android.net.wifi.WifiManager;
 import android.os.Build;
 import android.os.Bundle;
@@ -160,10 +160,10 @@
     }
 
     private void setTetherSsidName(String deviceName) {
-        final WifiConfiguration config = mWifiManager.getWifiApConfiguration();
-        config.SSID = deviceName;
+        final SoftApConfiguration config = mWifiManager.getSoftApConfiguration();
         // TODO: If tether is running, turn off the AP and restart it after setting config.
-        mWifiManager.setWifiApConfiguration(config);
+        mWifiManager.setSoftApConfiguration(
+                new SoftApConfiguration.Builder(config).setSsid(deviceName).build());
     }
 
     @Override
@@ -181,4 +181,4 @@
     public interface DeviceNamePreferenceHost {
         void showDeviceNameWarningDialog(String deviceName);
     }
-}
\ No newline at end of file
+}
diff --git a/src/com/android/settings/deviceinfo/HardwareInfoPreferenceController.java b/src/com/android/settings/deviceinfo/HardwareInfoPreferenceController.java
index 29f1391..7ee6f89 100644
--- a/src/com/android/settings/deviceinfo/HardwareInfoPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/HardwareInfoPreferenceController.java
@@ -44,7 +44,7 @@
     @Override
     public int getAvailabilityStatus() {
         return mContext.getResources().getBoolean(R.bool.config_show_device_model)
-                ? AVAILABLE_UNSEARCHABLE : UNSUPPORTED_ON_DEVICE;
+                ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
     }
 
     @Override
diff --git a/src/com/android/settings/deviceinfo/ImsStatusPreferenceController.java b/src/com/android/settings/deviceinfo/ImsStatusPreferenceController.java
deleted file mode 100644
index 07bd4a6..0000000
--- a/src/com/android/settings/deviceinfo/ImsStatusPreferenceController.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.deviceinfo;
-
-import android.content.Context;
-
-import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-import com.android.settingslib.deviceinfo.AbstractImsStatusPreferenceController;
-
-/**
- * Concrete subclass of IMS status preference controller
- */
-public class ImsStatusPreferenceController extends AbstractImsStatusPreferenceController
-        implements PreferenceControllerMixin {
-    public ImsStatusPreferenceController(Context context,
-            Lifecycle lifecycle) {
-        super(context, lifecycle);
-    }
-
-    // This space intentionally left blank
-}
diff --git a/src/com/android/settings/deviceinfo/MigrateEstimateTask.java b/src/com/android/settings/deviceinfo/MigrateEstimateTask.java
index c41ebe0..a5790b3 100644
--- a/src/com/android/settings/deviceinfo/MigrateEstimateTask.java
+++ b/src/com/android/settings/deviceinfo/MigrateEstimateTask.java
@@ -29,7 +29,7 @@
 import android.os.UserManager;
 import android.os.storage.StorageManager;
 import android.os.storage.VolumeInfo;
-import android.telecom.Log;
+import android.util.Log;
 import android.text.format.DateUtils;
 import android.text.format.Formatter;
 
diff --git a/src/com/android/settings/deviceinfo/OWNERS b/src/com/android/settings/deviceinfo/OWNERS
new file mode 100644
index 0000000..bedbe16
--- /dev/null
+++ b/src/com/android/settings/deviceinfo/OWNERS
@@ -0,0 +1,6 @@
+# Default reviewers for this and subdirectories.
+andychou@google.com
+bonianchen@google.com
+allenwtsu@google.com
+
+# Emergency approvers in case the above are not available
diff --git a/src/com/android/settings/deviceinfo/PhoneNumberPreferenceController.java b/src/com/android/settings/deviceinfo/PhoneNumberPreferenceController.java
index 537c705..41a598b 100644
--- a/src/com/android/settings/deviceinfo/PhoneNumberPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/PhoneNumberPreferenceController.java
@@ -24,8 +24,6 @@
 import android.telephony.SubscriptionInfo;
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
-import android.text.BidiFormatter;
-import android.text.TextDirectionHeuristics;
 import android.text.TextUtils;
 import android.widget.Toast;
 
@@ -77,6 +75,7 @@
             final Preference multiSimPreference = createNewPreference(screen.getContext());
             multiSimPreference.setOrder(phonePreferenceOrder + simSlotNumber);
             multiSimPreference.setKey(KEY_PHONE_NUMBER + simSlotNumber);
+            multiSimPreference.setSelectable(false);
             screen.addPreference(multiSimPreference);
             mPreferenceList.add(multiSimPreference);
         }
@@ -97,6 +96,11 @@
     }
 
     @Override
+    public boolean isPublicSlice() {
+        return true;
+    }
+
+    @Override
     public boolean isCopyableSlice() {
         return true;
     }
@@ -119,7 +123,7 @@
 
     private CharSequence getFirstPhoneNumber() {
         final List<SubscriptionInfo> subscriptionInfoList =
-                mSubscriptionManager.getActiveSubscriptionInfoList(true);
+                mSubscriptionManager.getActiveSubscriptionInfoList();
         if (subscriptionInfoList == null || subscriptionInfoList.isEmpty()) {
             return mContext.getText(R.string.device_info_default);
         }
@@ -146,7 +150,7 @@
     @VisibleForTesting
     SubscriptionInfo getSubscriptionInfo(int simSlot) {
         final List<SubscriptionInfo> subscriptionInfoList =
-                mSubscriptionManager.getActiveSubscriptionInfoList(true);
+                mSubscriptionManager.getActiveSubscriptionInfoList();
         if (subscriptionInfoList != null) {
             for (SubscriptionInfo info : subscriptionInfoList) {
                 if (info.getSimSlotIndex() == simSlot) {
@@ -159,10 +163,10 @@
 
     @VisibleForTesting
     CharSequence getFormattedPhoneNumber(SubscriptionInfo subscriptionInfo) {
-        final String phoneNumber = DeviceInfoUtils.getFormattedPhoneNumber(mContext,
+        final String phoneNumber = DeviceInfoUtils.getBidiFormattedPhoneNumber(mContext,
                 subscriptionInfo);
         return TextUtils.isEmpty(phoneNumber) ? mContext.getString(R.string.device_info_default)
-                : BidiFormatter.getInstance().unicodeWrap(phoneNumber, TextDirectionHeuristics.LTR);
+                : phoneNumber;
     }
 
     @VisibleForTesting
diff --git a/src/com/android/settings/deviceinfo/PrivateVolumeSettings.java b/src/com/android/settings/deviceinfo/PrivateVolumeSettings.java
index e68f851..08d6ca4 100644
--- a/src/com/android/settings/deviceinfo/PrivateVolumeSettings.java
+++ b/src/com/android/settings/deviceinfo/PrivateVolumeSettings.java
@@ -424,41 +424,41 @@
     public boolean onOptionsItemSelected(MenuItem item) {
         final Context context = getActivity();
         final Bundle args = new Bundle();
-        switch (item.getItemId()) {
-            case R.id.storage_rename:
-                RenameFragment.show(this, mVolume);
-                return true;
-            case R.id.storage_mount:
-                new MountTask(context, mVolume).execute();
-                return true;
-            case R.id.storage_unmount:
-                args.putString(VolumeInfo.EXTRA_VOLUME_ID, mVolume.getId());
-                new SubSettingLauncher(context)
-                        .setDestination(PrivateVolumeUnmount.class.getCanonicalName())
-                        .setTitleRes(R.string.storage_menu_unmount)
-                        .setSourceMetricsCategory(getMetricsCategory())
-                        .setArguments(args)
-                        .launch();
-                return true;
-            case R.id.storage_format:
-                args.putString(VolumeInfo.EXTRA_VOLUME_ID, mVolume.getId());
-                new SubSettingLauncher(context)
-                        .setDestination(PrivateVolumeFormat.class.getCanonicalName())
-                        .setTitleRes(R.string.storage_menu_format)
-                        .setSourceMetricsCategory(getMetricsCategory())
-                        .setArguments(args)
-                        .launch();
-                return true;
-            case R.id.storage_migrate:
-                final Intent intent = new Intent(context, StorageWizardMigrateConfirm.class);
-                intent.putExtra(VolumeInfo.EXTRA_VOLUME_ID, mVolume.getId());
-                startActivity(intent);
-                return true;
-            case R.id.storage_free:
-                final Intent deletion_helper_intent =
-                        new Intent(StorageManager.ACTION_MANAGE_STORAGE);
-                startActivity(deletion_helper_intent);
-                return true;
+        int i = item.getItemId();
+        if (i == R.id.storage_rename) {
+            RenameFragment.show(this, mVolume);
+            return true;
+        } else if (i == R.id.storage_mount) {
+            new MountTask(context, mVolume).execute();
+            return true;
+        } else if (i == R.id.storage_unmount) {
+            args.putString(VolumeInfo.EXTRA_VOLUME_ID, mVolume.getId());
+            new SubSettingLauncher(context)
+                    .setDestination(PrivateVolumeUnmount.class.getCanonicalName())
+                    .setTitleRes(R.string.storage_menu_unmount)
+                    .setSourceMetricsCategory(getMetricsCategory())
+                    .setArguments(args)
+                    .launch();
+            return true;
+        } else if (i == R.id.storage_format) {
+            args.putString(VolumeInfo.EXTRA_VOLUME_ID, mVolume.getId());
+            new SubSettingLauncher(context)
+                    .setDestination(PrivateVolumeFormat.class.getCanonicalName())
+                    .setTitleRes(R.string.storage_menu_format)
+                    .setSourceMetricsCategory(getMetricsCategory())
+                    .setArguments(args)
+                    .launch();
+            return true;
+        } else if (i == R.id.storage_migrate) {
+            final Intent intent = new Intent(context, StorageWizardMigrateConfirm.class);
+            intent.putExtra(VolumeInfo.EXTRA_VOLUME_ID, mVolume.getId());
+            startActivity(intent);
+            return true;
+        } else if (i == R.id.storage_free) {
+            final Intent deletion_helper_intent =
+                    new Intent(StorageManager.ACTION_MANAGE_STORAGE);
+            startActivity(deletion_helper_intent);
+            return true;
         }
         return super.onOptionsItemSelected(item);
     }
@@ -476,56 +476,42 @@
             itemTitleId = 0;
         }
         Intent intent = null;
-        switch (itemTitleId) {
-            case R.string.storage_detail_apps: {
-                Bundle args = new Bundle();
-                args.putString(ManageApplications.EXTRA_CLASSNAME,
-                        StorageUseActivity.class.getName());
-                args.putString(ManageApplications.EXTRA_VOLUME_UUID, mVolume.getFsUuid());
-                args.putString(ManageApplications.EXTRA_VOLUME_NAME, mVolume.getDescription());
-                args.putInt(
-                        ManageApplications.EXTRA_STORAGE_TYPE,
-                        ManageApplications.STORAGE_TYPE_LEGACY);
-                intent = new SubSettingLauncher(getActivity())
-                        .setDestination(ManageApplications.class.getName())
-                        .setArguments(args)
-                        .setTitleRes(R.string.apps_storage)
-                        .setSourceMetricsCategory(getMetricsCategory())
-                        .toIntent();
-
-            } break;
-            case R.string.storage_detail_images: {
-                intent = getIntentForStorage(AUTHORITY_MEDIA, "images_root");
-            } break;
-            case R.string.storage_detail_videos: {
-                intent = getIntentForStorage(AUTHORITY_MEDIA, "videos_root");
-            } break;
-            case R.string.storage_detail_audio: {
-                intent = getIntentForStorage(AUTHORITY_MEDIA, "audio_root");
-            } break;
-            case R.string.storage_detail_system: {
-                SystemInfoFragment.show(this);
-                return true;
-
-            }
-            case R.string.storage_detail_other: {
-                OtherInfoFragment.show(this, mStorageManager.getBestVolumeDescription(mVolume),
-                        mSharedVolume, userId);
-                return true;
-
-            }
-            case R.string.storage_detail_cached: {
-                ConfirmClearCacheFragment.show(this);
-                return true;
-
-            }
-            case R.string.storage_menu_explore: {
-                intent = mSharedVolume.buildBrowseIntent();
-            } break;
-            case 0: {
-                UserInfoFragment.show(this, pref.getTitle(), pref.getSummary());
-                return true;
-            }
+        if (itemTitleId == R.string.storage_detail_apps) {
+            Bundle args = new Bundle();
+            args.putString(ManageApplications.EXTRA_CLASSNAME,
+                    StorageUseActivity.class.getName());
+            args.putString(ManageApplications.EXTRA_VOLUME_UUID, mVolume.getFsUuid());
+            args.putString(ManageApplications.EXTRA_VOLUME_NAME, mVolume.getDescription());
+            args.putInt(
+                    ManageApplications.EXTRA_STORAGE_TYPE,
+                    ManageApplications.STORAGE_TYPE_LEGACY);
+            intent = new SubSettingLauncher(getActivity())
+                    .setDestination(ManageApplications.class.getName())
+                    .setArguments(args)
+                    .setTitleRes(R.string.apps_storage)
+                    .setSourceMetricsCategory(getMetricsCategory())
+                    .toIntent();
+        } else if (itemTitleId == R.string.storage_detail_images) {
+            intent = getIntentForStorage(AUTHORITY_MEDIA, "images_root");
+        } else if (itemTitleId == R.string.storage_detail_videos) {
+            intent = getIntentForStorage(AUTHORITY_MEDIA, "videos_root");
+        } else if (itemTitleId == R.string.storage_detail_audio) {
+            intent = getIntentForStorage(AUTHORITY_MEDIA, "audio_root");
+        } else if (itemTitleId == R.string.storage_detail_system) {
+            SystemInfoFragment.show(this);
+            return true;
+        } else if (itemTitleId == R.string.storage_detail_other) {
+            OtherInfoFragment.show(this, mStorageManager.getBestVolumeDescription(mVolume),
+                    mSharedVolume, userId);
+            return true;
+        } else if (itemTitleId == R.string.storage_detail_cached) {
+            ConfirmClearCacheFragment.show(this);
+            return true;
+        } else if (itemTitleId == R.string.storage_menu_explore) {
+            intent = mSharedVolume.buildBrowseIntent();
+        } else if (itemTitleId == 0) {
+            UserInfoFragment.show(this, pref.getTitle(), pref.getSummary());
+            return true;
         }
 
         if (intent != null) {
@@ -569,75 +555,64 @@
             } catch (NumberFormatException e) {
                 itemTitleId = 0;
             }
-            switch (itemTitleId) {
-                case R.string.storage_detail_system: {
-                    updatePreference(item, mSystemSize);
-                    accountedSize += mSystemSize;
-                    if (LOGV) Log.v(TAG, "mSystemSize: " + mSystemSize
-                            + " accountedSize: " + accountedSize);
-                } break;
-                case R.string.storage_detail_apps: {
-                    updatePreference(item, details.appsSize.get(userId));
-                    accountedSize += details.appsSize.get(userId);
-                    if (LOGV) Log.v(TAG, "appsSize: " + details.appsSize.get(userId)
-                            + " accountedSize: " + accountedSize);
-                } break;
-                case R.string.storage_detail_images: {
-                    final long imagesSize = totalValues(details, userId,
-                            Environment.DIRECTORY_DCIM, Environment.DIRECTORY_PICTURES);
-                    updatePreference(item, imagesSize);
-                    accountedSize += imagesSize;
-                    if (LOGV) Log.v(TAG, "imagesSize: " + imagesSize
-                            + " accountedSize: " + accountedSize);
-                } break;
-                case R.string.storage_detail_videos: {
-                    final long videosSize = totalValues(details, userId,
-                            Environment.DIRECTORY_MOVIES);
-                    updatePreference(item, videosSize);
-                    accountedSize += videosSize;
-                    if (LOGV) Log.v(TAG, "videosSize: " + videosSize
-                            + " accountedSize: " + accountedSize);
-                } break;
-                case R.string.storage_detail_audio: {
-                    final long audioSize = totalValues(details, userId,
-                            Environment.DIRECTORY_MUSIC,
-                            Environment.DIRECTORY_ALARMS, Environment.DIRECTORY_NOTIFICATIONS,
-                            Environment.DIRECTORY_RINGTONES, Environment.DIRECTORY_PODCASTS);
-                    updatePreference(item, audioSize);
-                    accountedSize += audioSize;
-                    if (LOGV) Log.v(TAG, "audioSize: " + audioSize
-                            + " accountedSize: " + accountedSize);
-                } break;
-                case R.string.storage_detail_other: {
-                    final long downloadsSize = totalValues(details, userId,
-                            Environment.DIRECTORY_DOWNLOADS);
-                    final long miscSize = details.miscSize.get(userId);
-                    totalDownloadsSize += downloadsSize;
-                    totalMiscSize += miscSize;
-                    accountedSize += miscSize + downloadsSize;
-
-                    if (LOGV)
-                        Log.v(TAG, "miscSize for " + userId + ": " + miscSize + "(total: "
-                                + totalMiscSize + ") \ndownloadsSize: " + downloadsSize + "(total: "
-                                + totalDownloadsSize + ") accountedSize: " + accountedSize);
-
-                    // Cannot display 'Other' until all known items are accounted for.
-                    otherItem = item;
-                } break;
-                case R.string.storage_detail_cached: {
-                    updatePreference(item, details.cacheSize);
-                    accountedSize += details.cacheSize;
-                    if (LOGV)
-                        Log.v(TAG, "cacheSize: " + details.cacheSize + " accountedSize: "
-                                + accountedSize);
-                } break;
-                case 0: {
-                    final long userSize = details.usersSize.get(userId);
-                    updatePreference(item, userSize);
-                    accountedSize += userSize;
-                    if (LOGV) Log.v(TAG, "userSize: " + userSize
-                            + " accountedSize: " + accountedSize);
-                } break;
+            // Cannot display 'Other' until all known items are accounted for.
+            if (itemTitleId == R.string.storage_detail_system) {
+                updatePreference(item, mSystemSize);
+                accountedSize += mSystemSize;
+                if (LOGV) Log.v(TAG, "mSystemSize: " + mSystemSize
+                        + " accountedSize: " + accountedSize);
+            } else if (itemTitleId == R.string.storage_detail_apps) {
+                updatePreference(item, details.appsSize.get(userId));
+                accountedSize += details.appsSize.get(userId);
+                if (LOGV) Log.v(TAG, "appsSize: " + details.appsSize.get(userId)
+                        + " accountedSize: " + accountedSize);
+            } else if (itemTitleId == R.string.storage_detail_images) {
+                final long imagesSize = totalValues(details, userId,
+                        Environment.DIRECTORY_DCIM, Environment.DIRECTORY_PICTURES);
+                updatePreference(item, imagesSize);
+                accountedSize += imagesSize;
+                if (LOGV) Log.v(TAG, "imagesSize: " + imagesSize
+                        + " accountedSize: " + accountedSize);
+            } else if (itemTitleId == R.string.storage_detail_videos) {
+                final long videosSize = totalValues(details, userId,
+                        Environment.DIRECTORY_MOVIES);
+                updatePreference(item, videosSize);
+                accountedSize += videosSize;
+                if (LOGV) Log.v(TAG, "videosSize: " + videosSize
+                        + " accountedSize: " + accountedSize);
+            } else if (itemTitleId == R.string.storage_detail_audio) {
+                final long audioSize = totalValues(details, userId,
+                        Environment.DIRECTORY_MUSIC,
+                        Environment.DIRECTORY_ALARMS, Environment.DIRECTORY_NOTIFICATIONS,
+                        Environment.DIRECTORY_RINGTONES, Environment.DIRECTORY_PODCASTS);
+                updatePreference(item, audioSize);
+                accountedSize += audioSize;
+                if (LOGV) Log.v(TAG, "audioSize: " + audioSize
+                        + " accountedSize: " + accountedSize);
+            } else if (itemTitleId == R.string.storage_detail_other) {
+                final long downloadsSize = totalValues(details, userId,
+                        Environment.DIRECTORY_DOWNLOADS);
+                final long miscSize = details.miscSize.get(userId);
+                totalDownloadsSize += downloadsSize;
+                totalMiscSize += miscSize;
+                accountedSize += miscSize + downloadsSize;
+                if (LOGV)
+                    Log.v(TAG, "miscSize for " + userId + ": " + miscSize + "(total: "
+                            + totalMiscSize + ") \ndownloadsSize: " + downloadsSize + "(total: "
+                            + totalDownloadsSize + ") accountedSize: " + accountedSize);
+                otherItem = item;
+            } else if (itemTitleId == R.string.storage_detail_cached) {
+                updatePreference(item, details.cacheSize);
+                accountedSize += details.cacheSize;
+                if (LOGV)
+                    Log.v(TAG, "cacheSize: " + details.cacheSize + " accountedSize: "
+                            + accountedSize);
+            } else if (itemTitleId == 0) {
+                final long userSize = details.usersSize.get(userId);
+                updatePreference(item, userSize);
+                accountedSize += userSize;
+                if (LOGV) Log.v(TAG, "userSize: " + userSize
+                        + " accountedSize: " + accountedSize);
             }
         }
         if (otherItem != null) {
@@ -762,7 +737,7 @@
         public Dialog onCreateDialog(Bundle savedInstanceState) {
             return new AlertDialog.Builder(getActivity())
                     .setMessage(getContext().getString(R.string.storage_detail_dialog_system,
-                            Build.VERSION.RELEASE))
+                            Build.VERSION.RELEASE_OR_CODENAME))
                     .setPositiveButton(android.R.string.ok, null)
                     .create();
         }
diff --git a/src/com/android/settings/deviceinfo/PublicVolumeSettings.java b/src/com/android/settings/deviceinfo/PublicVolumeSettings.java
index fc74ab8..b4724ae 100644
--- a/src/com/android/settings/deviceinfo/PublicVolumeSettings.java
+++ b/src/com/android/settings/deviceinfo/PublicVolumeSettings.java
@@ -19,7 +19,6 @@
 import android.app.ActivityManager;
 import android.app.settings.SettingsEnums;
 import android.content.Context;
-import android.content.res.Resources;
 import android.net.Uri;
 import android.os.Bundle;
 import android.os.UserManager;
@@ -31,7 +30,6 @@
 import android.provider.DocumentsContract;
 import android.text.TextUtils;
 import android.text.format.Formatter;
-import android.text.format.Formatter.BytesResult;
 import android.view.View;
 import android.view.ViewGroup;
 import android.widget.Button;
@@ -137,13 +135,8 @@
             return;
         }
 
-        final Resources resources = getResources();
-        final int padding = resources.getDimensionPixelSize(
-                R.dimen.unmount_button_padding);
-        final ViewGroup buttonBar = getButtonBar();
-        buttonBar.removeAllViews();
-        buttonBar.setPadding(padding, padding, padding, padding);
-        buttonBar.addView(mUnmount, new ViewGroup.LayoutParams(
+        final ViewGroup container = getActivity().findViewById(R.id.container_material);
+        container.addView(mUnmount, new ViewGroup.LayoutParams(
                 ViewGroup.LayoutParams.MATCH_PARENT,
                 ViewGroup.LayoutParams.WRAP_CONTENT));
     }
@@ -169,7 +162,8 @@
             final long freeBytes = file.getFreeSpace();
             final long usedBytes = totalBytes - freeBytes;
 
-            final BytesResult result = Formatter.formatBytes(getResources(), usedBytes, 0);
+            final Formatter.BytesResult result = Formatter.formatBytes(getResources(), usedBytes,
+                    0);
             mSummary.setTitle(TextUtils.expandTemplate(getText(R.string.storage_size_large),
                     result.value, result.units));
             mSummary.setSummary(getString(R.string.storage_volume_used,
@@ -180,8 +174,8 @@
         if (mVolume.getState() == VolumeInfo.STATE_UNMOUNTED) {
             addPreference(mMount);
         }
-        if (mVolume.isMountedReadable()) {
-            getButtonBar().setVisibility(View.VISIBLE);
+        if (!mVolume.isMountedReadable()) {
+            mUnmount.setVisibility(View.GONE);
         }
         addPreference(mFormatPublic);
         if (mDisk.isAdoptable() && mIsPermittedToAdopt) {
diff --git a/src/com/android/settings/deviceinfo/StorageDashboardFragment.java b/src/com/android/settings/deviceinfo/StorageDashboardFragment.java
index c9cec57..bbd87ab 100644
--- a/src/com/android/settings/deviceinfo/StorageDashboardFragment.java
+++ b/src/com/android/settings/deviceinfo/StorageDashboardFragment.java
@@ -33,20 +33,20 @@
 import androidx.annotation.VisibleForTesting;
 import androidx.loader.app.LoaderManager;
 import androidx.loader.content.Loader;
+import androidx.preference.Preference;
 
 import com.android.settings.R;
 import com.android.settings.Utils;
 import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.dashboard.profileselector.ProfileSelectFragment;
 import com.android.settings.deviceinfo.storage.AutomaticStorageManagementSwitchPreferenceController;
 import com.android.settings.deviceinfo.storage.CachedStorageValuesHelper;
 import com.android.settings.deviceinfo.storage.SecondaryUserController;
 import com.android.settings.deviceinfo.storage.StorageAsyncLoader;
 import com.android.settings.deviceinfo.storage.StorageItemPreferenceController;
-import com.android.settings.deviceinfo.storage.StorageSummaryDonutPreferenceController;
 import com.android.settings.deviceinfo.storage.UserIconLoader;
 import com.android.settings.deviceinfo.storage.VolumeSizesLoader;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
 import com.android.settings.widget.EntityHeaderController;
 import com.android.settingslib.applications.StorageStatsSource;
 import com.android.settingslib.core.AbstractPreferenceController;
@@ -63,20 +63,20 @@
         implements
         LoaderManager.LoaderCallbacks<SparseArray<StorageAsyncLoader.AppsStorageResult>> {
     private static final String TAG = "StorageDashboardFrag";
+    private static final String SUMMARY_PREF_KEY = "pref_summary";
     private static final int STORAGE_JOB_ID = 0;
     private static final int ICON_JOB_ID = 1;
     private static final int VOLUME_SIZE_JOB_ID = 2;
-    private static final int OPTIONS_MENU_MIGRATE_DATA = 100;
 
     private VolumeInfo mVolume;
     private PrivateStorageInfo mStorageInfo;
     private SparseArray<StorageAsyncLoader.AppsStorageResult> mAppsResult;
     private CachedStorageValuesHelper mCachedStorageValuesHelper;
 
-    private StorageSummaryDonutPreferenceController mSummaryController;
     private StorageItemPreferenceController mPreferenceController;
     private PrivateVolumeOptionMenuController mOptionMenuController;
     private List<AbstractPreferenceController> mSecondaryUsers;
+    private boolean mPersonalOnly;
 
     @Override
     public void onCreate(Bundle icicle) {
@@ -86,12 +86,19 @@
         final Activity activity = getActivity();
         StorageManager sm = activity.getSystemService(StorageManager.class);
         mVolume = Utils.maybeInitializeVolume(sm, getArguments());
+        mPersonalOnly = getArguments().getInt(ProfileSelectFragment.EXTRA_PROFILE)
+                == ProfileSelectFragment.ProfileType.PERSONAL;
         if (mVolume == null) {
             activity.finish();
             return;
         }
-
         initializeOptionsMenu(activity);
+        if (mPersonalOnly) {
+            final Preference summary = getPreferenceScreen().findPreference(SUMMARY_PREF_KEY);
+            if (summary != null) {
+                summary.setVisible(false);
+            }
+        }
     }
 
     @Override
@@ -121,7 +128,6 @@
                 null /* header view */)
                 .setRecyclerView(getListView(), getSettingsLifecycle())
                 .styleActionBar(activity);
-
     }
 
     @Override
@@ -130,7 +136,7 @@
         getLoaderManager().restartLoader(STORAGE_JOB_ID, Bundle.EMPTY, this);
         getLoaderManager()
                 .restartLoader(VOLUME_SIZE_JOB_ID, Bundle.EMPTY, new VolumeSizeCallbacks());
-        getLoaderManager().initLoader(ICON_JOB_ID, Bundle.EMPTY, new IconLoaderCallbacks());
+        getLoaderManager().restartLoader(ICON_JOB_ID, Bundle.EMPTY, new IconLoaderCallbacks());
     }
 
     @Override
@@ -139,9 +145,9 @@
     }
 
     private void onReceivedSizes() {
+        boolean stopLoading = false;
         if (mStorageInfo != null) {
             long privateUsedBytes = mStorageInfo.totalBytes - mStorageInfo.freeBytes;
-            mSummaryController.updateBytes(privateUsedBytes, mStorageInfo.totalBytes);
             mPreferenceController.setVolume(mVolume);
             mPreferenceController.setUsedSize(privateUsedBytes);
             mPreferenceController.setTotalSize(mStorageInfo.totalBytes);
@@ -152,18 +158,21 @@
                     userController.setTotalSize(mStorageInfo.totalBytes);
                 }
             }
+            stopLoading = true;
+
         }
 
-        if (mAppsResult == null) {
-            return;
+        if (mAppsResult != null) {
+            mPreferenceController.onLoadFinished(mAppsResult, UserHandle.myUserId());
+            updateSecondaryUserControllers(mSecondaryUsers, mAppsResult);
+            stopLoading = true;
         }
 
-        mPreferenceController.onLoadFinished(mAppsResult, UserHandle.myUserId());
-        updateSecondaryUserControllers(mSecondaryUsers, mAppsResult);
-
         // setLoading always causes a flicker, so let's avoid doing it.
-        if (getView().findViewById(R.id.loading_container).getVisibility() == View.VISIBLE) {
-            setLoading(false, true);
+        if (stopLoading) {
+            if (getView().findViewById(R.id.loading_container).getVisibility() == View.VISIBLE) {
+                setLoading(false, true);
+            }
         }
     }
 
@@ -185,8 +194,6 @@
     @Override
     protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
         final List<AbstractPreferenceController> controllers = new ArrayList<>();
-        mSummaryController = new StorageSummaryDonutPreferenceController(context);
-        controllers.add(mSummaryController);
 
         StorageManager sm = context.getSystemService(StorageManager.class);
         mPreferenceController = new StorageItemPreferenceController(context, this,
@@ -223,7 +230,7 @@
     /**
      * For Search.
      */
-    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
             new BaseSearchIndexProvider() {
                 @Override
                 public List<SearchIndexableResource> getXmlResourcesToIndex(
@@ -239,7 +246,6 @@
                     final StorageManager sm = context.getSystemService(StorageManager.class);
                     final UserManager userManager = context.getSystemService(UserManager.class);
                     final List<AbstractPreferenceController> controllers = new ArrayList<>();
-                    controllers.add(new StorageSummaryDonutPreferenceController(context));
                     controllers.add(new StorageItemPreferenceController(context, null /* host */,
                             null /* volume */, new StorageManagerVolumeProvider(sm)));
                     controllers.addAll(SecondaryUserController.getSecondaryUserControllers(
diff --git a/src/com/android/settings/deviceinfo/StorageSettings.java b/src/com/android/settings/deviceinfo/StorageSettings.java
index e791168..7f2c645 100644
--- a/src/com/android/settings/deviceinfo/StorageSettings.java
+++ b/src/com/android/settings/deviceinfo/StorageSettings.java
@@ -50,13 +50,13 @@
 import com.android.settings.core.SubSettingLauncher;
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
-import com.android.settings.search.SearchIndexableRaw;
 import com.android.settingslib.RestrictedLockUtils;
 import com.android.settingslib.RestrictedLockUtilsInternal;
 import com.android.settingslib.deviceinfo.PrivateStorageInfo;
 import com.android.settingslib.deviceinfo.StorageManagerVolumeProvider;
+import com.android.settingslib.search.Indexable;
 import com.android.settingslib.search.SearchIndexable;
+import com.android.settingslib.search.SearchIndexableRaw;
 
 import java.util.ArrayList;
 import java.util.Collections;
@@ -542,7 +542,7 @@
     }
 
     /** Enable indexing of searchable data */
-    public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
             new BaseSearchIndexProvider() {
                 @Override
                 public List<SearchIndexableRaw> getRawDataToIndex(
@@ -587,12 +587,6 @@
                     result.add(data);
 
                     data = new SearchIndexableRaw(context);
-                    data.title = context.getString(R.string.memory_apps_usage);
-                    data.key = "storage_settings_apps_space";
-                    data.screenTitle = context.getString(R.string.storage_settings);
-                    result.add(data);
-
-                    data = new SearchIndexableRaw(context);
                     data.title = context.getString(R.string.memory_dcim_usage);
                     data.key = "storage_settings_dcim_space";
                     data.screenTitle = context.getString(R.string.storage_settings);
diff --git a/src/com/android/settings/deviceinfo/TopLevelStoragePreferenceController.java b/src/com/android/settings/deviceinfo/TopLevelStoragePreferenceController.java
index fdc5feb..8a2d3ba 100644
--- a/src/com/android/settings/deviceinfo/TopLevelStoragePreferenceController.java
+++ b/src/com/android/settings/deviceinfo/TopLevelStoragePreferenceController.java
@@ -43,7 +43,7 @@
 
     @Override
     public int getAvailabilityStatus() {
-        return AVAILABLE_UNSEARCHABLE;
+        return AVAILABLE;
     }
 
     @Override
diff --git a/src/com/android/settings/deviceinfo/aboutphone/MyDeviceInfoFragment.java b/src/com/android/settings/deviceinfo/aboutphone/MyDeviceInfoFragment.java
index e6afb7b..b2e2980 100644
--- a/src/com/android/settings/deviceinfo/aboutphone/MyDeviceInfoFragment.java
+++ b/src/com/android/settings/deviceinfo/aboutphone/MyDeviceInfoFragment.java
@@ -173,16 +173,8 @@
     /**
      * For Search.
      */
-    public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(
-                        Context context, boolean enabled) {
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.my_device_info;
-                    return Arrays.asList(sir);
-                }
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.my_device_info) {
 
                 @Override
                 public List<AbstractPreferenceController> createPreferenceControllers(
diff --git a/src/com/android/settings/deviceinfo/firmwareversion/FirmwareVersionDetailPreferenceController.java b/src/com/android/settings/deviceinfo/firmwareversion/FirmwareVersionDetailPreferenceController.java
index daa10d2..d6cf442 100644
--- a/src/com/android/settings/deviceinfo/firmwareversion/FirmwareVersionDetailPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/firmwareversion/FirmwareVersionDetailPreferenceController.java
@@ -69,8 +69,13 @@
     }
 
     @Override
+    public boolean isPublicSlice() {
+        return true;
+    }
+
+    @Override
     public CharSequence getSummary() {
-        return Build.VERSION.RELEASE;
+        return Build.VERSION.RELEASE_OR_CODENAME;
     }
 
     @Override
diff --git a/src/com/android/settings/deviceinfo/firmwareversion/FirmwareVersionPreferenceController.java b/src/com/android/settings/deviceinfo/firmwareversion/FirmwareVersionPreferenceController.java
index 41d9566..eefa1f9 100644
--- a/src/com/android/settings/deviceinfo/firmwareversion/FirmwareVersionPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/firmwareversion/FirmwareVersionPreferenceController.java
@@ -29,11 +29,11 @@
 
     @Override
     public int getAvailabilityStatus() {
-        return AVAILABLE_UNSEARCHABLE;
+        return AVAILABLE;
     }
 
     @Override
     public CharSequence getSummary() {
-        return Build.VERSION.RELEASE;
+        return Build.VERSION.RELEASE_OR_CODENAME;
     }
 }
diff --git a/src/com/android/settings/deviceinfo/firmwareversion/FirmwareVersionSettings.java b/src/com/android/settings/deviceinfo/firmwareversion/FirmwareVersionSettings.java
index 90c3b56..2ade3c2 100644
--- a/src/com/android/settings/deviceinfo/firmwareversion/FirmwareVersionSettings.java
+++ b/src/com/android/settings/deviceinfo/firmwareversion/FirmwareVersionSettings.java
@@ -23,7 +23,7 @@
 import com.android.settings.R;
 import com.android.settings.dashboard.DashboardFragment;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
+import com.android.settingslib.search.Indexable;
 import com.android.settingslib.search.SearchIndexable;
 
 import java.util.ArrayList;
@@ -47,18 +47,6 @@
         return SettingsEnums.DIALOG_FIRMWARE_VERSION;
     }
 
-    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
-                        boolean enabled) {
-                    final ArrayList<SearchIndexableResource> result = new ArrayList<>();
-
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.firmware_version;
-                    result.add(sir);
-                    return result;
-                }
-
-            };
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.firmware_version);
 }
diff --git a/src/com/android/settings/deviceinfo/firmwareversion/MainlineModuleVersionPreferenceController.java b/src/com/android/settings/deviceinfo/firmwareversion/MainlineModuleVersionPreferenceController.java
index 95f3ae3..76a539f 100644
--- a/src/com/android/settings/deviceinfo/firmwareversion/MainlineModuleVersionPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/firmwareversion/MainlineModuleVersionPreferenceController.java
@@ -86,8 +86,11 @@
                 mPackageManager.resolveActivity(MODULE_UPDATE_INTENT, 0 /* flags */);
         if (resolved != null) {
             preference.setIntent(MODULE_UPDATE_INTENT);
+            preference.setSelectable(true);
         } else {
+            Log.d(TAG, "The ResolveInfo of the update intent is null.");
             preference.setIntent(null);
+            preference.setSelectable(false);
         }
     }
 
diff --git a/src/com/android/settings/deviceinfo/hardwareinfo/DeviceModelPreferenceController.java b/src/com/android/settings/deviceinfo/hardwareinfo/DeviceModelPreferenceController.java
index 93dd826..8a07961 100644
--- a/src/com/android/settings/deviceinfo/hardwareinfo/DeviceModelPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/hardwareinfo/DeviceModelPreferenceController.java
@@ -41,6 +41,11 @@
     }
 
     @Override
+    public boolean isPublicSlice() {
+        return true;
+    }
+
+    @Override
     public CharSequence getSummary() {
         return HardwareInfoPreferenceController.getDeviceModel();
     }
diff --git a/src/com/android/settings/deviceinfo/hardwareinfo/HardwareInfoFragment.java b/src/com/android/settings/deviceinfo/hardwareinfo/HardwareInfoFragment.java
index 40e73ef..adcbb2a 100644
--- a/src/com/android/settings/deviceinfo/hardwareinfo/HardwareInfoFragment.java
+++ b/src/com/android/settings/deviceinfo/hardwareinfo/HardwareInfoFragment.java
@@ -23,7 +23,7 @@
 import com.android.settings.R;
 import com.android.settings.dashboard.DashboardFragment;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
+import com.android.settingslib.search.Indexable;
 import com.android.settingslib.search.SearchIndexable;
 
 import java.util.ArrayList;
@@ -50,18 +50,8 @@
         return TAG;
     }
 
-    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
-                        boolean enabled) {
-                    final ArrayList<SearchIndexableResource> result = new ArrayList<>();
-
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.hardware_info;
-                    result.add(sir);
-                    return result;
-                }
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.hardware_info) {
 
                 @Override
                 protected boolean isPageSearchEnabled(Context context) {
diff --git a/src/com/android/settings/deviceinfo/hardwareinfo/HardwareRevisionPreferenceController.java b/src/com/android/settings/deviceinfo/hardwareinfo/HardwareRevisionPreferenceController.java
index e7f6423..62da477 100644
--- a/src/com/android/settings/deviceinfo/hardwareinfo/HardwareRevisionPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/hardwareinfo/HardwareRevisionPreferenceController.java
@@ -46,6 +46,11 @@
     }
 
     @Override
+    public boolean isPublicSlice() {
+        return true;
+    }
+
+    @Override
     public boolean isCopyableSlice() {
         return true;
     }
diff --git a/src/com/android/settings/deviceinfo/hardwareinfo/SerialNumberPreferenceController.java b/src/com/android/settings/deviceinfo/hardwareinfo/SerialNumberPreferenceController.java
index 7ef1313..9150482 100644
--- a/src/com/android/settings/deviceinfo/hardwareinfo/SerialNumberPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/hardwareinfo/SerialNumberPreferenceController.java
@@ -41,6 +41,11 @@
     }
 
     @Override
+    public boolean isPublicSlice() {
+        return true;
+    }
+
+    @Override
     public boolean isCopyableSlice() {
         return true;
     }
diff --git a/src/com/android/settings/deviceinfo/imei/ImeiInfoDialogController.java b/src/com/android/settings/deviceinfo/imei/ImeiInfoDialogController.java
index 9ab21de..a10b9f1 100644
--- a/src/com/android/settings/deviceinfo/imei/ImeiInfoDialogController.java
+++ b/src/com/android/settings/deviceinfo/imei/ImeiInfoDialogController.java
@@ -31,7 +31,6 @@
 import androidx.annotation.NonNull;
 import androidx.annotation.VisibleForTesting;
 
-import com.android.internal.telephony.PhoneConstants;
 import com.android.settings.R;
 
 public class ImeiInfoDialogController {
@@ -148,8 +147,7 @@
 
     @VisibleForTesting
     boolean isCdmaLteEnabled() {
-        return mTelephonyManager.getLteOnCdmaMode(mSubscriptionInfo.getSubscriptionId())
-                == PhoneConstants.LTE_ON_CDMA_TRUE;
+        return mTelephonyManager.isLteCdmaEvdoGsmWcdmaEnabled();
     }
 
     boolean isSimPresent(int slotId) {
diff --git a/src/com/android/settings/deviceinfo/imei/ImeiInfoPreferenceController.java b/src/com/android/settings/deviceinfo/imei/ImeiInfoPreferenceController.java
index 3459b5c..bdce2f5 100644
--- a/src/com/android/settings/deviceinfo/imei/ImeiInfoPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/imei/ImeiInfoPreferenceController.java
@@ -124,6 +124,11 @@
     }
 
     @Override
+    public boolean isPublicSlice() {
+        return true;
+    }
+
+    @Override
     public boolean isCopyableSlice() {
         return true;
     }
diff --git a/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogController.java b/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogController.java
index 3fafd14..30ba084 100644
--- a/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogController.java
+++ b/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogController.java
@@ -16,22 +16,24 @@
 
 package com.android.settings.deviceinfo.simstatus;
 
-import static android.content.Context.CARRIER_CONFIG_SERVICE;
-import static android.content.Context.EUICC_SERVICE;
-import static android.content.Context.TELEPHONY_SERVICE;
-import static android.content.Context.TELEPHONY_SUBSCRIPTION_SERVICE;
-
-import android.Manifest;
+import android.annotation.Nullable;
 import android.content.BroadcastReceiver;
+import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
 import android.content.IntentFilter;
+import android.content.ServiceConnection;
 import android.content.res.Resources;
-import android.os.Bundle;
+import android.os.IBinder;
 import android.os.PersistableBundle;
-import android.os.UserHandle;
+import android.os.RemoteException;
+import android.telephony.AccessNetworkConstants;
+import android.telephony.Annotation;
 import android.telephony.CarrierConfigManager;
-import android.telephony.CellBroadcastMessage;
+import android.telephony.CellBroadcastIntents;
+import android.telephony.CellBroadcastService;
+import android.telephony.CellSignalStrength;
+import android.telephony.ICellBroadcastService;
 import android.telephony.PhoneStateListener;
 import android.telephony.ServiceState;
 import android.telephony.SignalStrength;
@@ -39,10 +41,13 @@
 import android.telephony.SubscriptionManager;
 import android.telephony.SubscriptionManager.OnSubscriptionsChangedListener;
 import android.telephony.TelephonyManager;
+import android.telephony.UiccCardInfo;
 import android.telephony.euicc.EuiccManager;
-import android.text.BidiFormatter;
-import android.text.TextDirectionHeuristics;
+import android.telephony.ims.ImsException;
+import android.telephony.ims.ImsMmTelManager;
+import android.telephony.ims.ImsReasonInfo;
 import android.text.TextUtils;
+import android.util.Log;
 
 import androidx.annotation.NonNull;
 import androidx.annotation.VisibleForTesting;
@@ -55,10 +60,15 @@
 import com.android.settingslib.core.lifecycle.events.OnPause;
 import com.android.settingslib.core.lifecycle.events.OnResume;
 
+import java.util.List;
+import java.util.Map;
+
 public class SimStatusDialogController implements LifecycleObserver, OnResume, OnPause {
 
     private final static String TAG = "SimStatusDialogCtrl";
 
+    private static final String CELL_BROADCAST_SERVICE_PACKAGE = "com.android.cellbroadcastservice";
+
     @VisibleForTesting
     final static int NETWORK_PROVIDER_VALUE_ID = R.id.operator_name_value;
     @VisibleForTesting
@@ -86,32 +96,51 @@
     @VisibleForTesting
     final static int ICCID_INFO_VALUE_ID = R.id.icc_id_value;
     @VisibleForTesting
+    final static int EID_INFO_LABEL_ID = R.id.esim_id_label;
+    @VisibleForTesting
     final static int EID_INFO_VALUE_ID = R.id.esim_id_value;
     @VisibleForTesting
     final static int IMS_REGISTRATION_STATE_LABEL_ID = R.id.ims_reg_state_label;
     @VisibleForTesting
     final static int IMS_REGISTRATION_STATE_VALUE_ID = R.id.ims_reg_state_value;
 
-    private final static String CB_AREA_INFO_RECEIVED_ACTION =
-            "com.android.cellbroadcastreceiver.CB_AREA_INFO_RECEIVED";
-    private final static String GET_LATEST_CB_AREA_INFO_ACTION =
-            "com.android.cellbroadcastreceiver.GET_LATEST_CB_AREA_INFO";
-    private final static String CELL_BROADCAST_RECEIVER_APP = "com.android.cellbroadcastreceiver";
+    @VisibleForTesting
+    static final int MAX_PHONE_COUNT_SINGLE_SIM = 1;
 
     private final OnSubscriptionsChangedListener mOnSubscriptionsChangedListener =
             new OnSubscriptionsChangedListener() {
                 @Override
                 public void onSubscriptionsChanged() {
-                    mSubscriptionInfo = mSubscriptionManager.getActiveSubscriptionInfo(
-                            mSubscriptionInfo.getSubscriptionId());
-                    updateNetworkProvider();
+                    final int prevSubId = (mSubscriptionInfo != null)
+                            ? mSubscriptionInfo.getSubscriptionId()
+                            : SubscriptionManager.INVALID_SUBSCRIPTION_ID;
+
+                    mSubscriptionInfo = getPhoneSubscriptionInfo(mSlotIndex);
+
+                    final int nextSubId = (mSubscriptionInfo != null)
+                            ? mSubscriptionInfo.getSubscriptionId()
+                            : SubscriptionManager.INVALID_SUBSCRIPTION_ID;
+
+                    if (prevSubId != nextSubId) {
+                        if (SubscriptionManager.isValidSubscriptionId(prevSubId)) {
+                            unregisterImsRegistrationCallback(prevSubId);
+                        }
+                        if (SubscriptionManager.isValidSubscriptionId(nextSubId)) {
+                            mTelephonyManager =
+                                    mTelephonyManager.createForSubscriptionId(nextSubId);
+                            registerImsRegistrationCallback(nextSubId);
+                        }
+                    }
+                    updateSubscriptionStatus();
                 }
             };
 
     private SubscriptionInfo mSubscriptionInfo;
 
+    private final int mSlotIndex;
+    private TelephonyManager mTelephonyManager;
+
     private final SimStatusDialogFragment mDialog;
-    private final TelephonyManager mTelephonyManager;
     private final SubscriptionManager mSubscriptionManager;
     private final CarrierConfigManager mCarrierConfigManager;
     private final EuiccManager mEuiccManager;
@@ -123,32 +152,62 @@
     private final BroadcastReceiver mAreaInfoReceiver = new BroadcastReceiver() {
         @Override
         public void onReceive(Context context, Intent intent) {
-            final String action = intent.getAction();
-            if (TextUtils.equals(action, CB_AREA_INFO_RECEIVED_ACTION)) {
-                final Bundle extras = intent.getExtras();
-                if (extras == null) {
-                    return;
-                }
-                final CellBroadcastMessage cbMessage = (CellBroadcastMessage) extras.get("message");
-                if (cbMessage != null
-                        && mSubscriptionInfo.getSubscriptionId() == cbMessage.getSubId()) {
-                    final String latestAreaInfo = cbMessage.getMessageBody();
-                    mDialog.setText(OPERATOR_INFO_VALUE_ID, latestAreaInfo);
-                }
+            if (CellBroadcastIntents.ACTION_AREA_INFO_UPDATED.equals(intent.getAction())
+                    && intent.getIntExtra(SubscriptionManager.EXTRA_SLOT_INDEX, 0)
+                    == mSlotIndex) {
+                updateAreaInfoText();
             }
         }
     };
 
     private PhoneStateListener mPhoneStateListener;
 
+    private CellBroadcastServiceConnection mCellBroadcastServiceConnection;
+
+    private class CellBroadcastServiceConnection implements ServiceConnection {
+        private IBinder mService;
+
+        @Nullable
+        public IBinder getService() {
+            return mService;
+        }
+
+        @Override
+        public void onServiceConnected(ComponentName className, IBinder service) {
+            Log.d(TAG, "connected to CellBroadcastService");
+            this.mService = service;
+            updateAreaInfoText();
+        }
+
+        @Override
+        public void onServiceDisconnected(ComponentName className) {
+            this.mService = null;
+            Log.d(TAG, "mICellBroadcastService has disconnected unexpectedly");
+        }
+
+        @Override
+        public void onBindingDied(ComponentName name) {
+            this.mService = null;
+            Log.d(TAG, "Binding died");
+        }
+
+        @Override
+        public void onNullBinding(ComponentName name) {
+            this.mService = null;
+            Log.d(TAG, "Null binding");
+        }
+    }
+
     public SimStatusDialogController(@NonNull SimStatusDialogFragment dialog, Lifecycle lifecycle,
             int slotId) {
         mDialog = dialog;
         mContext = dialog.getContext();
+        mSlotIndex = slotId;
         mSubscriptionInfo = getPhoneSubscriptionInfo(slotId);
-        mTelephonyManager =  mContext.getSystemService(TelephonyManager.class);
-        mCarrierConfigManager =  mContext.getSystemService(CarrierConfigManager.class);
-        mEuiccManager =  mContext.getSystemService(EuiccManager.class);
+
+        mTelephonyManager = mContext.getSystemService(TelephonyManager.class);
+        mCarrierConfigManager = mContext.getSystemService(CarrierConfigManager.class);
+        mEuiccManager = mContext.getSystemService(EuiccManager.class);
         mSubscriptionManager = mContext.getSystemService(SubscriptionManager.class);
 
         mRes = mContext.getResources();
@@ -166,41 +225,56 @@
         }
 
         mPhoneStateListener = getPhoneStateListener();
+        updateLatestAreaInfo();
+        updateSubscriptionStatus();
+    }
+
+    private void updateSubscriptionStatus() {
         updateNetworkProvider();
 
-        final ServiceState serviceState = getCurrentServiceState();
+        final ServiceState serviceState = mTelephonyManager.getServiceState();
+        final SignalStrength signalStrength = mTelephonyManager.getSignalStrength();
+
         updatePhoneNumber();
-        updateLatestAreaInfo();
         updateServiceState(serviceState);
-        updateSignalStrength(getSignalStrength());
+        updateSignalStrength(signalStrength);
         updateNetworkType();
         updateRoamingStatus(serviceState);
         updateIccidNumber();
         updateImsRegistrationState();
     }
 
+    /**
+     * Deinitialization works
+     */
+    public void deinitialize() {
+        if (mShowLatestAreaInfo) {
+            if (mCellBroadcastServiceConnection != null
+                    && mCellBroadcastServiceConnection.getService() != null) {
+                mContext.unbindService(mCellBroadcastServiceConnection);
+            }
+            mCellBroadcastServiceConnection = null;
+        }
+    }
+
     @Override
     public void onResume() {
         if (mSubscriptionInfo == null) {
             return;
         }
-
-        mTelephonyManager.createForSubscriptionId(mSubscriptionInfo.getSubscriptionId())
-                .listen(mPhoneStateListener,
+        mTelephonyManager = mTelephonyManager.createForSubscriptionId(
+                mSubscriptionInfo.getSubscriptionId());
+        mTelephonyManager.listen(mPhoneStateListener,
                 PhoneStateListener.LISTEN_DATA_CONNECTION_STATE
                         | PhoneStateListener.LISTEN_SIGNAL_STRENGTHS
                         | PhoneStateListener.LISTEN_SERVICE_STATE);
         mSubscriptionManager.addOnSubscriptionsChangedListener(mOnSubscriptionsChangedListener);
+        registerImsRegistrationCallback(mSubscriptionInfo.getSubscriptionId());
 
         if (mShowLatestAreaInfo) {
+            updateAreaInfoText();
             mContext.registerReceiver(mAreaInfoReceiver,
-                    new IntentFilter(CB_AREA_INFO_RECEIVED_ACTION),
-                    Manifest.permission.RECEIVE_EMERGENCY_BROADCAST, null /* scheduler */);
-            // Ask CellBroadcastReceiver to broadcast the latest area info received
-            final Intent getLatestIntent = new Intent(GET_LATEST_CB_AREA_INFO_ACTION);
-            getLatestIntent.setPackage(CELL_BROADCAST_RECEIVER_APP);
-            mContext.sendBroadcastAsUser(getLatestIntent, UserHandle.ALL,
-                    Manifest.permission.RECEIVE_EMERGENCY_BROADCAST);
+                    new IntentFilter(CellBroadcastIntents.ACTION_AREA_INFO_UPDATED));
         }
     }
 
@@ -210,9 +284,9 @@
             return;
         }
 
+        unregisterImsRegistrationCallback(mSubscriptionInfo.getSubscriptionId());
         mSubscriptionManager.removeOnSubscriptionsChangedListener(mOnSubscriptionsChangedListener);
-        mTelephonyManager.createForSubscriptionId(mSubscriptionInfo.getSubscriptionId())
-                .listen(mPhoneStateListener, PhoneStateListener.LISTEN_NONE);
+        mTelephonyManager.listen(mPhoneStateListener, PhoneStateListener.LISTEN_NONE);
 
         if (mShowLatestAreaInfo) {
             mContext.unregisterReceiver(mAreaInfoReceiver);
@@ -227,8 +301,8 @@
 
     private void updatePhoneNumber() {
         // If formattedNumber is null or empty, it'll display as "Unknown".
-        mDialog.setText(PHONE_NUMBER_VALUE_ID, BidiFormatter.getInstance().unicodeWrap(
-                getPhoneNumber(), TextDirectionHeuristics.LTR));
+        mDialog.setText(PHONE_NUMBER_VALUE_ID,
+                DeviceInfoUtils.getBidiFormattedPhoneNumber(mContext, mSubscriptionInfo));
     }
 
     private void updateDataState(int state) {
@@ -255,13 +329,53 @@
         mDialog.setText(CELLULAR_NETWORK_STATE, networkStateValue);
     }
 
+    /**
+     * Update area info text retrieved from
+     * {@link CellBroadcastService#getCellBroadcastAreaInfo(int)}
+     */
+    private void updateAreaInfoText() {
+        if (!mShowLatestAreaInfo || mCellBroadcastServiceConnection == null) return;
+        ICellBroadcastService cellBroadcastService =
+                ICellBroadcastService.Stub.asInterface(
+                        mCellBroadcastServiceConnection.getService());
+        if (cellBroadcastService == null) return;
+        try {
+            mDialog.setText(OPERATOR_INFO_VALUE_ID,
+                    cellBroadcastService.getCellBroadcastAreaInfo(mSlotIndex));
+
+        } catch (RemoteException e) {
+            Log.d(TAG, "Can't get area info. e=" + e);
+        }
+    }
+
+    /**
+     * Bind cell broadcast service.
+     */
+    private void bindCellBroadcastService() {
+        mCellBroadcastServiceConnection = new CellBroadcastServiceConnection();
+        Intent intent = new Intent(CellBroadcastService.CELL_BROADCAST_SERVICE_INTERFACE);
+        intent.setPackage(CELL_BROADCAST_SERVICE_PACKAGE);
+        if (mCellBroadcastServiceConnection != null
+                && mCellBroadcastServiceConnection.getService() == null) {
+            if (!mContext.bindService(intent, mCellBroadcastServiceConnection,
+                    Context.BIND_AUTO_CREATE)) {
+                Log.e(TAG, "Unable to bind to service");
+            }
+        } else {
+            Log.d(TAG, "skipping bindService because connection already exists");
+        }
+    }
 
     private void updateLatestAreaInfo() {
         mShowLatestAreaInfo = Resources.getSystem().getBoolean(
                 com.android.internal.R.bool.config_showAreaUpdateInfoSettings)
                 && mTelephonyManager.getPhoneType() != TelephonyManager.PHONE_TYPE_CDMA;
 
-        if (!mShowLatestAreaInfo) {
+        if (mShowLatestAreaInfo) {
+            // Bind cell broadcast service to get the area info. The info will be updated once
+            // the service is connected.
+            bindCellBroadcastService();
+        } else {
             mDialog.removeSettingFromScreen(OPERATOR_INFO_LABEL_ID);
             mDialog.removeSettingFromScreen(OPERATOR_INFO_VALUE_ID);
         }
@@ -315,7 +429,7 @@
             return;
         }
 
-        ServiceState serviceState = getCurrentServiceState();
+        ServiceState serviceState = mTelephonyManager.getServiceState();
         if (serviceState == null || !Utils.isInService(serviceState)) {
             return;
         }
@@ -344,13 +458,13 @@
         String dataNetworkTypeName = null;
         String voiceNetworkTypeName = null;
         final int subId = mSubscriptionInfo.getSubscriptionId();
-        final int actualDataNetworkType = mTelephonyManager.getDataNetworkType(subId);
-        final int actualVoiceNetworkType = mTelephonyManager.getVoiceNetworkType(subId);
+        final int actualDataNetworkType = mTelephonyManager.getDataNetworkType();
+        final int actualVoiceNetworkType = mTelephonyManager.getVoiceNetworkType();
         if (TelephonyManager.NETWORK_TYPE_UNKNOWN != actualDataNetworkType) {
-            dataNetworkTypeName = mTelephonyManager.getNetworkTypeName(actualDataNetworkType);
+            dataNetworkTypeName = getNetworkTypeName(actualDataNetworkType);
         }
         if (TelephonyManager.NETWORK_TYPE_UNKNOWN != actualVoiceNetworkType) {
-            voiceNetworkTypeName = mTelephonyManager.getNetworkTypeName(actualVoiceNetworkType);
+            voiceNetworkTypeName = getNetworkTypeName(actualVoiceNetworkType);
         }
 
         boolean show4GForLTE = false;
@@ -395,50 +509,151 @@
             mDialog.removeSettingFromScreen(ICCID_INFO_LABEL_ID);
             mDialog.removeSettingFromScreen(ICCID_INFO_VALUE_ID);
         } else {
-            mDialog.setText(ICCID_INFO_VALUE_ID, getSimSerialNumber(subscriptionId));
+            mDialog.setText(ICCID_INFO_VALUE_ID, mTelephonyManager.getSimSerialNumber());
         }
     }
 
     private void updateEid() {
-        if (mEuiccManager.isEnabled()) {
-            mDialog.setText(EID_INFO_VALUE_ID, mEuiccManager.getEid());
-        } else {
+        boolean shouldHaveEid = false;
+        String eid = null;
+
+        if (mTelephonyManager.getActiveModemCount() > MAX_PHONE_COUNT_SINGLE_SIM) {
+            // Get EID per-SIM in multi-SIM mode
+            Map<Integer, Integer> mapping = mTelephonyManager.getLogicalToPhysicalSlotMapping();
+            int pSlotId = mapping.getOrDefault(mSlotIndex,
+                    SubscriptionManager.INVALID_SIM_SLOT_INDEX);
+
+            if (pSlotId != SubscriptionManager.INVALID_SIM_SLOT_INDEX) {
+                List<UiccCardInfo> infos = mTelephonyManager.getUiccCardsInfo();
+
+                for (UiccCardInfo info : infos) {
+                    if (info.getSlotIndex() == pSlotId) {
+                        if (info.isEuicc()) {
+                            shouldHaveEid = true;
+                            eid = info.getEid();
+
+                            if (TextUtils.isEmpty(eid)) {
+                                eid = mEuiccManager.createForCardId(info.getCardId()).getEid();
+                            }
+                        }
+                        break;
+                    }
+                }
+            }
+        } else if (mEuiccManager.isEnabled()) {
+            // Get EID of default eSIM in single-SIM mode
+            shouldHaveEid = true;
+            eid = mEuiccManager.getEid();
+        }
+
+        if (!shouldHaveEid) {
+            mDialog.removeSettingFromScreen(EID_INFO_LABEL_ID);
             mDialog.removeSettingFromScreen(EID_INFO_VALUE_ID);
+        } else if (!TextUtils.isEmpty(eid)) {
+            mDialog.setText(EID_INFO_VALUE_ID, eid);
         }
     }
 
-    private void updateImsRegistrationState() {
+    private boolean isImsRegistrationStateShowUp() {
         final int subscriptionId = mSubscriptionInfo.getSubscriptionId();
         final PersistableBundle carrierConfig =
-            mCarrierConfigManager.getConfigForSubId(subscriptionId);
-        final boolean showImsRegState = carrierConfig == null ? false :
-            carrierConfig.getBoolean(CarrierConfigManager.KEY_SHOW_IMS_REGISTRATION_STATUS_BOOL);
-        if (showImsRegState) {
-            final boolean isImsRegistered = mTelephonyManager.isImsRegistered(subscriptionId);
-            mDialog.setText(IMS_REGISTRATION_STATE_VALUE_ID, mRes.getString(isImsRegistered ?
-                R.string.ims_reg_status_registered : R.string.ims_reg_status_not_registered));
-        } else {
-            mDialog.removeSettingFromScreen(IMS_REGISTRATION_STATE_LABEL_ID);
-            mDialog.removeSettingFromScreen(IMS_REGISTRATION_STATE_VALUE_ID);
+                mCarrierConfigManager.getConfigForSubId(subscriptionId);
+        return carrierConfig == null ? false :
+                carrierConfig.getBoolean(
+                        CarrierConfigManager.KEY_SHOW_IMS_REGISTRATION_STATUS_BOOL);
+    }
+
+    private void updateImsRegistrationState() {
+        if (isImsRegistrationStateShowUp()) {
+            return;
         }
+        mDialog.removeSettingFromScreen(IMS_REGISTRATION_STATE_LABEL_ID);
+        mDialog.removeSettingFromScreen(IMS_REGISTRATION_STATE_VALUE_ID);
+    }
+
+    private ImsMmTelManager.RegistrationCallback mImsRegStateCallback =
+            new ImsMmTelManager.RegistrationCallback() {
+        @Override
+        public void onRegistered(@AccessNetworkConstants.TransportType int imsTransportType) {
+            mDialog.setText(IMS_REGISTRATION_STATE_VALUE_ID, mRes.getString(
+                    R.string.ims_reg_status_registered));
+        }
+        @Override
+        public void onRegistering(@AccessNetworkConstants.TransportType int imsTransportType) {
+            mDialog.setText(IMS_REGISTRATION_STATE_VALUE_ID, mRes.getString(
+                    R.string.ims_reg_status_not_registered));
+        }
+        @Override
+        public void onUnregistered(@Nullable ImsReasonInfo info) {
+            mDialog.setText(IMS_REGISTRATION_STATE_VALUE_ID, mRes.getString(
+                    R.string.ims_reg_status_not_registered));
+        }
+        @Override
+        public void onTechnologyChangeFailed(
+                @AccessNetworkConstants.TransportType int imsTransportType,
+                @Nullable ImsReasonInfo info) {
+            mDialog.setText(IMS_REGISTRATION_STATE_VALUE_ID, mRes.getString(
+                    R.string.ims_reg_status_not_registered));
+        }
+    };
+
+    private void registerImsRegistrationCallback(int subId) {
+        if (!isImsRegistrationStateShowUp()) {
+            return;
+        }
+        try {
+            final ImsMmTelManager imsMmTelMgr = ImsMmTelManager.createForSubscriptionId(subId);
+            imsMmTelMgr.registerImsRegistrationCallback(mDialog.getContext().getMainExecutor(),
+                    mImsRegStateCallback);
+        } catch (ImsException exception) {
+            Log.w(TAG, "fail to register IMS status for subId=" + subId, exception);
+        }
+    }
+
+    private void unregisterImsRegistrationCallback(int subId) {
+        if (!isImsRegistrationStateShowUp()) {
+            return;
+        }
+        final ImsMmTelManager imsMmTelMgr = ImsMmTelManager.createForSubscriptionId(subId);
+        imsMmTelMgr.unregisterImsRegistrationCallback(mImsRegStateCallback);
     }
 
     private SubscriptionInfo getPhoneSubscriptionInfo(int slotId) {
         return SubscriptionManager.from(mContext).getActiveSubscriptionInfoForSimSlotIndex(slotId);
     }
 
-    @VisibleForTesting
-    ServiceState getCurrentServiceState() {
-        return mTelephonyManager.getServiceStateForSubscriber(
-                mSubscriptionInfo.getSubscriptionId());
-    }
-
     private int getDbm(SignalStrength signalStrength) {
-        return signalStrength.getDbm();
+        List<CellSignalStrength> cellSignalStrengthList = signalStrength.getCellSignalStrengths();
+        int dbm = -1;
+        if (cellSignalStrengthList == null) {
+            return dbm;
+        }
+
+        for (CellSignalStrength cell : cellSignalStrengthList) {
+            if (cell.getDbm() != -1) {
+                dbm = cell.getDbm();
+                break;
+            }
+        }
+
+        return dbm;
     }
 
     private int getAsuLevel(SignalStrength signalStrength) {
-        return signalStrength.getAsuLevel();
+        List<CellSignalStrength> cellSignalStrengthList = signalStrength.getCellSignalStrengths();
+        int asu = -1;
+        if (cellSignalStrengthList == null) {
+            return asu;
+        }
+
+        for (CellSignalStrength cell : cellSignalStrengthList) {
+            if (cell.getAsuLevel() != -1) {
+                asu = cell.getAsuLevel();
+                break;
+            }
+        }
+
+        return asu;
     }
 
     @VisibleForTesting
@@ -465,17 +680,50 @@
     }
 
     @VisibleForTesting
-    String getPhoneNumber() {
-        return DeviceInfoUtils.getFormattedPhoneNumber(mContext, mSubscriptionInfo);
-    }
-
-    @VisibleForTesting
-    SignalStrength getSignalStrength() {
-        return mTelephonyManager.getSignalStrength();
-    }
-
-    @VisibleForTesting
-    String getSimSerialNumber(int subscriptionId) {
-        return mTelephonyManager.getSimSerialNumber(subscriptionId);
+    static String getNetworkTypeName(@Annotation.NetworkType int type) {
+        switch (type) {
+            case TelephonyManager.NETWORK_TYPE_GPRS:
+                return "GPRS";
+            case TelephonyManager.NETWORK_TYPE_EDGE:
+                return "EDGE";
+            case TelephonyManager.NETWORK_TYPE_UMTS:
+                return "UMTS";
+            case TelephonyManager.NETWORK_TYPE_HSDPA:
+                return "HSDPA";
+            case TelephonyManager.NETWORK_TYPE_HSUPA:
+                return "HSUPA";
+            case TelephonyManager.NETWORK_TYPE_HSPA:
+                return "HSPA";
+            case TelephonyManager.NETWORK_TYPE_CDMA:
+                return "CDMA";
+            case TelephonyManager.NETWORK_TYPE_EVDO_0:
+                return "CDMA - EvDo rev. 0";
+            case TelephonyManager.NETWORK_TYPE_EVDO_A:
+                return "CDMA - EvDo rev. A";
+            case TelephonyManager.NETWORK_TYPE_EVDO_B:
+                return "CDMA - EvDo rev. B";
+            case TelephonyManager.NETWORK_TYPE_1xRTT:
+                return "CDMA - 1xRTT";
+            case TelephonyManager.NETWORK_TYPE_LTE:
+                return "LTE";
+            case TelephonyManager.NETWORK_TYPE_EHRPD:
+                return "CDMA - eHRPD";
+            case TelephonyManager.NETWORK_TYPE_IDEN:
+                return "iDEN";
+            case TelephonyManager.NETWORK_TYPE_HSPAP:
+                return "HSPA+";
+            case TelephonyManager.NETWORK_TYPE_GSM:
+                return "GSM";
+            case TelephonyManager.NETWORK_TYPE_TD_SCDMA:
+                return "TD_SCDMA";
+            case TelephonyManager.NETWORK_TYPE_IWLAN:
+                return "IWLAN";
+//          case TelephonyManager.NETWORK_TYPE_LTE_CA:
+//              return "LTE_CA";
+            case TelephonyManager.NETWORK_TYPE_NR:
+                return "NR";
+            default:
+                return "UNKNOWN";
+        }
     }
 }
diff --git a/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogFragment.java b/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogFragment.java
index d2d563f..93323b3 100644
--- a/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogFragment.java
+++ b/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogFragment.java
@@ -74,6 +74,12 @@
         return builder.setView(mRootView).create();
     }
 
+    @Override
+    public void onDestroy() {
+        mController.deinitialize();
+        super.onDestroy();
+    }
+
     public void removeSettingFromScreen(int viewId) {
         final View view = mRootView.findViewById(viewId);
         if (view != null) {
diff --git a/src/com/android/settings/deviceinfo/simstatus/SimStatusPreferenceController.java b/src/com/android/settings/deviceinfo/simstatus/SimStatusPreferenceController.java
index ed01e22..02c1916 100644
--- a/src/com/android/settings/deviceinfo/simstatus/SimStatusPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/simstatus/SimStatusPreferenceController.java
@@ -107,7 +107,7 @@
 
     private CharSequence getCarrierName(int simSlot) {
         final List<SubscriptionInfo> subscriptionInfoList =
-                mSubscriptionManager.getActiveSubscriptionInfoList(true);
+                mSubscriptionManager.getActiveSubscriptionInfoList();
         if (subscriptionInfoList != null) {
             for (SubscriptionInfo info : subscriptionInfoList) {
                 if (info.getSimSlotIndex() == simSlot) {
diff --git a/src/com/android/settings/deviceinfo/storage/SecondaryUserController.java b/src/com/android/settings/deviceinfo/storage/SecondaryUserController.java
index c78d108..5d58547 100644
--- a/src/com/android/settings/deviceinfo/storage/SecondaryUserController.java
+++ b/src/com/android/settings/deviceinfo/storage/SecondaryUserController.java
@@ -66,6 +66,7 @@
      */
     public static List<AbstractPreferenceController> getSecondaryUserControllers(
             Context context, UserManager userManager) {
+
         List<AbstractPreferenceController> controllers = new ArrayList<>();
         UserInfo primaryUser = userManager.getPrimaryUser();
         boolean addedUser = false;
@@ -77,8 +78,6 @@
             }
 
             if (info == null || Utils.isProfileOf(primaryUser, info)) {
-                controllers.add(
-                        new UserProfileController(context, info, USER_PROFILE_INSERTION_LOCATION));
                 continue;
             }
 
@@ -183,7 +182,8 @@
         }
     }
 
-    private static class NoSecondaryUserController extends AbstractPreferenceController implements
+    @VisibleForTesting
+    static class NoSecondaryUserController extends AbstractPreferenceController implements
             PreferenceControllerMixin {
         public NoSecondaryUserController(Context context) {
             super(context);
@@ -207,6 +207,5 @@
         public String getPreferenceKey() {
             return null;
         }
-
     }
 }
diff --git a/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceController.java b/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceController.java
index 525a887..c2a0b62 100644
--- a/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceController.java
@@ -16,8 +16,10 @@
 
 package com.android.settings.deviceinfo.storage;
 
+import static com.android.settings.dashboard.profileselector.ProfileSelectFragment.PERSONAL_TAB;
+import static com.android.settings.dashboard.profileselector.ProfileSelectFragment.WORK_TAB;
+
 import android.app.settings.SettingsEnums;
-import android.content.ActivityNotFoundException;
 import android.content.Context;
 import android.content.Intent;
 import android.content.res.TypedArray;
@@ -25,6 +27,7 @@
 import android.net.TrafficStats;
 import android.os.Bundle;
 import android.os.UserHandle;
+import android.os.UserManager;
 import android.os.storage.VolumeInfo;
 import android.util.Log;
 import android.util.SparseArray;
@@ -36,6 +39,8 @@
 
 import com.android.settings.R;
 import com.android.settings.Settings;
+import com.android.settings.SettingsActivity;
+import com.android.settings.Utils;
 import com.android.settings.applications.manageapplications.ManageApplications;
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settings.core.SubSettingLauncher;
@@ -167,7 +172,7 @@
         if (intent != null) {
             intent.putExtra(Intent.EXTRA_USER_ID, mUserId);
 
-            launchIntent(intent);
+            Utils.launchIntent(mFragment, intent);
             return true;
         }
 
@@ -249,25 +254,15 @@
     public void onLoadFinished(SparseArray<StorageAsyncLoader.AppsStorageResult> result,
             int userId) {
         final StorageAsyncLoader.AppsStorageResult data = result.get(userId);
+        final StorageAsyncLoader.AppsStorageResult profileData = result.get(
+                Utils.getManagedProfileId(mContext.getSystemService(UserManager.class), userId));
 
-        // TODO(b/35927909): Figure out how to split out apps which are only installed for work
-        //       profiles in order to attribute those app's code bytes only to that profile.
-        mPhotoPreference.setStorageSize(
-                data.photosAppsSize + data.externalStats.imageBytes + data.externalStats.videoBytes,
-                mTotalSize);
-        mAudioPreference.setStorageSize(
-                data.musicAppsSize + data.externalStats.audioBytes, mTotalSize);
-        mGamePreference.setStorageSize(data.gamesSize, mTotalSize);
-        mMoviesPreference.setStorageSize(data.videoAppsSize, mTotalSize);
-        mAppPreference.setStorageSize(data.otherAppsSize, mTotalSize);
-
-        long otherExternalBytes =
-                data.externalStats.totalBytes
-                        - data.externalStats.audioBytes
-                        - data.externalStats.videoBytes
-                        - data.externalStats.imageBytes
-                        - data.externalStats.appBytes;
-        mFilePreference.setStorageSize(otherExternalBytes, mTotalSize);
+        mPhotoPreference.setStorageSize(getPhotosSize(data, profileData), mTotalSize);
+        mAudioPreference.setStorageSize(getAudioSize(data, profileData), mTotalSize);
+        mGamePreference.setStorageSize(getGamesSize(data, profileData), mTotalSize);
+        mMoviesPreference.setStorageSize(getMoviesSize(data, profileData), mTotalSize);
+        mAppPreference.setStorageSize(getAppsSize(data, profileData), mTotalSize);
+        mFilePreference.setStorageSize(getFilesSize(data, profileData), mTotalSize);
 
         if (mSystemPreference != null) {
             // Everything else that hasn't already been attributed is tracked as
@@ -328,6 +323,19 @@
                 .toIntent();
     }
 
+    private long getPhotosSize(StorageAsyncLoader.AppsStorageResult data,
+            StorageAsyncLoader.AppsStorageResult profileData) {
+        if (profileData != null) {
+            return data.photosAppsSize + data.externalStats.imageBytes
+                    + data.externalStats.videoBytes
+                    + profileData.photosAppsSize + profileData.externalStats.imageBytes
+                    + profileData.externalStats.videoBytes;
+        } else {
+            return data.photosAppsSize + data.externalStats.imageBytes
+                    + data.externalStats.videoBytes;
+        }
+    }
+
     private Intent getAudioIntent() {
         if (mVolume == null) {
             return null;
@@ -347,6 +355,16 @@
                 .toIntent();
     }
 
+    private long getAudioSize(StorageAsyncLoader.AppsStorageResult data,
+            StorageAsyncLoader.AppsStorageResult profileData) {
+        if (profileData != null) {
+            return data.musicAppsSize + data.externalStats.audioBytes
+                    + profileData.musicAppsSize + profileData.externalStats.audioBytes;
+        } else {
+            return data.musicAppsSize + data.externalStats.audioBytes;
+        }
+    }
+
     private Intent getAppsIntent() {
         if (mVolume == null) {
             return null;
@@ -364,6 +382,15 @@
                 .toIntent();
     }
 
+    private long getAppsSize(StorageAsyncLoader.AppsStorageResult data,
+            StorageAsyncLoader.AppsStorageResult profileData) {
+        if (profileData != null) {
+            return data.otherAppsSize + profileData.otherAppsSize;
+        } else {
+            return data.otherAppsSize;
+        }
+    }
+
     private Intent getGamesIntent() {
         final Bundle args = getWorkAnnotatedBundle(1);
         args.putString(ManageApplications.EXTRA_CLASSNAME,
@@ -376,6 +403,15 @@
                 .toIntent();
     }
 
+    private long getGamesSize(StorageAsyncLoader.AppsStorageResult data,
+            StorageAsyncLoader.AppsStorageResult profileData) {
+        if (profileData != null) {
+            return data.gamesSize + profileData.gamesSize;
+        } else {
+            return data.gamesSize;
+        }
+    }
+
     private Intent getMoviesIntent() {
         final Bundle args = getWorkAnnotatedBundle(1);
         args.putString(ManageApplications.EXTRA_CLASSNAME,
@@ -388,10 +424,19 @@
                 .toIntent();
     }
 
+    private long getMoviesSize(StorageAsyncLoader.AppsStorageResult data,
+            StorageAsyncLoader.AppsStorageResult profileData) {
+        if (profileData != null) {
+            return data.videoAppsSize + profileData.videoAppsSize;
+        } else {
+            return data.videoAppsSize;
+        }
+    }
+
     private Bundle getWorkAnnotatedBundle(int additionalCapacity) {
-        final Bundle args = new Bundle(2 + additionalCapacity);
-        args.putBoolean(ManageApplications.EXTRA_WORK_ONLY, mIsWorkProfile);
-        args.putInt(ManageApplications.EXTRA_WORK_ID, mUserId);
+        final Bundle args = new Bundle(1 + additionalCapacity);
+        args.putInt(SettingsActivity.EXTRA_SHOW_FRAGMENT_TAB,
+                mIsWorkProfile ? WORK_TAB : PERSONAL_TAB);
         return args;
     }
 
@@ -399,21 +444,25 @@
         return mSvp.findEmulatedForPrivate(mVolume).buildBrowseIntent();
     }
 
-    private void launchIntent(Intent intent) {
-        try {
-            final int userId = intent.getIntExtra(Intent.EXTRA_USER_ID, -1);
-
-            // b/33117269: Note that launchIntent may launch activity in different task which set
-            // different launchMode (e.g. Files), using startActivityForesult to set task as
-            // source task, and set requestCode as 0 means don't care about returnCode currently.
-            if (userId == -1) {
-                mFragment.startActivityForResult(intent, 0 /* requestCode not used */);
-            } else {
-                mFragment.getActivity().startActivityForResultAsUser(intent,
-                        0 /* requestCode not used */, new UserHandle(userId));
-            }
-        } catch (ActivityNotFoundException e) {
-            Log.w(TAG, "No activity found for " + intent);
+    private long getFilesSize(StorageAsyncLoader.AppsStorageResult data,
+            StorageAsyncLoader.AppsStorageResult profileData) {
+        if (profileData != null) {
+            return data.externalStats.totalBytes
+                    - data.externalStats.audioBytes
+                    - data.externalStats.videoBytes
+                    - data.externalStats.imageBytes
+                    - data.externalStats.appBytes
+                    + profileData.externalStats.totalBytes
+                    - profileData.externalStats.audioBytes
+                    - profileData.externalStats.videoBytes
+                    - profileData.externalStats.imageBytes
+                    - profileData.externalStats.appBytes;
+        } else {
+            return data.externalStats.totalBytes
+                    - data.externalStats.audioBytes
+                    - data.externalStats.videoBytes
+                    - data.externalStats.imageBytes
+                    - data.externalStats.appBytes;
         }
     }
 
diff --git a/src/com/android/settings/deviceinfo/storage/StorageSummaryDonutPreferenceController.java b/src/com/android/settings/deviceinfo/storage/StorageSummaryDonutPreferenceController.java
index d450a2a..d8ee711 100644
--- a/src/com/android/settings/deviceinfo/storage/StorageSummaryDonutPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/storage/StorageSummaryDonutPreferenceController.java
@@ -17,6 +17,7 @@
 package com.android.settings.deviceinfo.storage;
 
 import android.content.Context;
+import android.os.storage.StorageManager;
 import android.os.storage.VolumeInfo;
 import android.text.TextUtils;
 import android.text.format.Formatter;
@@ -25,22 +26,29 @@
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.R;
-import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.settings.core.BasePreferenceController;
+import com.android.settingslib.deviceinfo.PrivateStorageInfo;
+import com.android.settingslib.deviceinfo.StorageManagerVolumeProvider;
 import com.android.settingslib.deviceinfo.StorageVolumeProvider;
+import com.android.settingslib.utils.ThreadUtils;
+
+import java.text.NumberFormat;
 
 /**
- * StorgaeSummaryPreferenceController updates the donut storage summary preference to have the
+ * SummaryPreferenceController updates the donut storage summary preference to have the
  * correct sizes showing.
  */
-public class StorageSummaryDonutPreferenceController extends AbstractPreferenceController implements
-        PreferenceControllerMixin {
+public class StorageSummaryDonutPreferenceController extends BasePreferenceController {
     private long mUsedBytes;
     private long mTotalBytes;
     private StorageSummaryDonutPreference mSummary;
+    private final StorageManager mStorageManager;
+    private final StorageManagerVolumeProvider mStorageManagerVolumeProvider;
 
-    public StorageSummaryDonutPreferenceController(Context context) {
-        super(context);
+    public StorageSummaryDonutPreferenceController(Context context, String key) {
+        super(context, key);
+        mStorageManager = mContext.getSystemService(StorageManager.class);
+        mStorageManagerVolumeProvider = new StorageManagerVolumeProvider(mStorageManager);
     }
 
     /**
@@ -58,19 +66,31 @@
 
     @Override
     public void displayPreference(PreferenceScreen screen) {
-        mSummary = screen.findPreference("pref_summary");
+        mSummary = screen.findPreference(getPreferenceKey());
         mSummary.setEnabled(true);
+
+        ThreadUtils.postOnBackgroundThread(() -> {
+            final NumberFormat percentageFormat = NumberFormat.getPercentInstance();
+            final PrivateStorageInfo info = PrivateStorageInfo.getPrivateStorageInfo(
+                    mStorageManagerVolumeProvider);
+            final double privateUsedBytes = info.totalBytes - info.freeBytes;
+            mTotalBytes = info.totalBytes;
+            mUsedBytes = info.totalBytes - info.freeBytes;
+
+            ThreadUtils.postOnMainThread(() -> {
+                updateState(mSummary);
+            });
+        });
     }
 
     @Override
     public void updateState(Preference preference) {
         super.updateState(preference);
-        StorageSummaryDonutPreference summary = (StorageSummaryDonutPreference) preference;
-        summary.setTitle(convertUsedBytesToFormattedText(mContext, mUsedBytes));
-        summary.setSummary(mContext.getString(R.string.storage_volume_total,
+        mSummary.setTitle(convertUsedBytesToFormattedText(mContext, mUsedBytes));
+        mSummary.setSummary(mContext.getString(R.string.storage_volume_total,
                 Formatter.formatShortFileSize(mContext, mTotalBytes)));
-        summary.setPercent(mUsedBytes, mTotalBytes);
-        summary.setEnabled(true);
+        mSummary.setPercent(mUsedBytes, mTotalBytes);
+        mSummary.setEnabled(true);
     }
 
     /** Invalidates the data on the view and re-renders. */
@@ -81,13 +101,8 @@
     }
 
     @Override
-    public boolean isAvailable() {
-        return true;
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return "pref_summary";
+    public int getAvailabilityStatus() {
+        return AVAILABLE;
     }
 
     /**
diff --git a/src/com/android/settings/display/AdaptiveSleepDetailPreferenceController.java b/src/com/android/settings/display/AdaptiveSleepDetailPreferenceController.java
index 0e2358c..d6eabec 100644
--- a/src/com/android/settings/display/AdaptiveSleepDetailPreferenceController.java
+++ b/src/com/android/settings/display/AdaptiveSleepDetailPreferenceController.java
@@ -36,7 +36,7 @@
     }
 
     @Override
-    public boolean isSliceable() {
+    public boolean isPublicSlice() {
         return true;
     }
 
diff --git a/src/com/android/settings/display/AdaptiveSleepPreferenceController.java b/src/com/android/settings/display/AdaptiveSleepPreferenceController.java
index b736b79..9f5b49e 100644
--- a/src/com/android/settings/display/AdaptiveSleepPreferenceController.java
+++ b/src/com/android/settings/display/AdaptiveSleepPreferenceController.java
@@ -13,12 +13,16 @@
  */
 package com.android.settings.display;
 
-import static android.provider.Settings.System.ADAPTIVE_SLEEP;
+import static android.provider.Settings.Secure.ADAPTIVE_SLEEP;
 
 import android.Manifest;
 import android.content.Context;
+import android.content.Intent;
 import android.content.pm.PackageManager;
+import android.content.pm.ResolveInfo;
 import android.provider.Settings;
+import android.service.attention.AttentionService;
+import android.text.TextUtils;
 
 import com.android.settings.R;
 import com.android.settings.core.TogglePreferenceController;
@@ -35,13 +39,13 @@
 
     @Override
     public boolean isChecked() {
-        return hasSufficientPermission(mContext.getPackageManager()) && Settings.System.getInt(
+        return hasSufficientPermission(mContext.getPackageManager()) && Settings.Secure.getInt(
                 mContext.getContentResolver(), SYSTEM_KEY, DEFAULT_VALUE) != DEFAULT_VALUE;
     }
 
     @Override
     public boolean setChecked(boolean isChecked) {
-        Settings.System.putInt(mContext.getContentResolver(), SYSTEM_KEY,
+        Settings.Secure.putInt(mContext.getContentResolver(), SYSTEM_KEY,
                 isChecked ? 1 : DEFAULT_VALUE);
         return true;
     }
@@ -62,10 +66,24 @@
     public static int isControllerAvailable(Context context) {
         return context.getResources().getBoolean(
                 com.android.internal.R.bool.config_adaptive_sleep_available)
+                && isAttentionServiceAvailable(context)
                 ? AVAILABLE_UNSEARCHABLE
                 : UNSUPPORTED_ON_DEVICE;
     }
 
+    private static boolean isAttentionServiceAvailable(Context context) {
+        final PackageManager packageManager = context.getPackageManager();
+        final String resolvePackage = packageManager.getAttentionServicePackageName();
+        if (TextUtils.isEmpty(resolvePackage)) {
+            return false;
+        }
+        final Intent intent = new Intent(AttentionService.SERVICE_INTERFACE).setPackage(
+                resolvePackage);
+        final ResolveInfo resolveInfo = packageManager.resolveService(intent,
+                PackageManager.MATCH_SYSTEM_ONLY);
+        return resolveInfo != null && resolveInfo.serviceInfo != null;
+    }
+
     static boolean hasSufficientPermission(PackageManager packageManager) {
         final String attentionPackage = packageManager.getAttentionServicePackageName();
         return attentionPackage != null && packageManager.checkPermission(
diff --git a/src/com/android/settings/display/AdaptiveSleepSettings.java b/src/com/android/settings/display/AdaptiveSleepSettings.java
index 66e20b4..52ded6a 100644
--- a/src/com/android/settings/display/AdaptiveSleepSettings.java
+++ b/src/com/android/settings/display/AdaptiveSleepSettings.java
@@ -22,7 +22,6 @@
 import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.os.Bundle;
-import android.provider.SearchIndexableResource;
 
 import androidx.preference.Preference;
 
@@ -30,10 +29,6 @@
 import com.android.settings.dashboard.DashboardFragment;
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settingslib.search.SearchIndexable;
-import com.android.settingslib.widget.FooterPreference;
-
-import java.util.Arrays;
-import java.util.List;
 
 @SearchIndexable(forTarget = SearchIndexable.ALL & ~SearchIndexable.ARC)
 public class AdaptiveSleepSettings extends DashboardFragment {
@@ -44,13 +39,7 @@
     @Override
     public void onCreate(Bundle icicle) {
         super.onCreate(icicle);
-        final FooterPreference footerPreference =
-                mFooterPreferenceMixin.createFooterPreference();
         mContext = getContext();
-
-        footerPreference.setIcon(R.drawable.ic_privacy_shield_24dp);
-        footerPreference.setTitle(R.string.adaptive_sleep_privacy);
-
         Preference permissionPreference = findPreference(
                 AdaptiveSleepPermissionPreferenceController.PREF_NAME);
         if (permissionPreference != null) {
@@ -83,14 +72,6 @@
         return R.string.help_url_adaptive_sleep;
     }
 
-    public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(
-                        Context context, boolean enabled) {
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.adaptive_sleep_detail;
-                    return Arrays.asList(sir);
-                }
-            };
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.adaptive_sleep_detail);
 }
diff --git a/src/com/android/settings/display/AmbientDisplayAlwaysOnPreferenceController.java b/src/com/android/settings/display/AmbientDisplayAlwaysOnPreferenceController.java
index a0b1f44..6dee5d2 100644
--- a/src/com/android/settings/display/AmbientDisplayAlwaysOnPreferenceController.java
+++ b/src/com/android/settings/display/AmbientDisplayAlwaysOnPreferenceController.java
@@ -56,6 +56,11 @@
     }
 
     @Override
+    public boolean isPublicSlice() {
+        return true;
+    }
+
+    @Override
     public boolean isChecked() {
         return getConfig().alwaysOnEnabled(MY_USER);
     }
diff --git a/src/com/android/settings/display/AmbientDisplayNotificationsPreferenceController.java b/src/com/android/settings/display/AmbientDisplayNotificationsPreferenceController.java
index daaf7b1..e143d73 100644
--- a/src/com/android/settings/display/AmbientDisplayNotificationsPreferenceController.java
+++ b/src/com/android/settings/display/AmbientDisplayNotificationsPreferenceController.java
@@ -88,6 +88,11 @@
         return TextUtils.equals(getPreferenceKey(), "ambient_display_notification");
     }
 
+    @Override
+    public boolean isPublicSlice() {
+        return true;
+    }
+
     private AmbientDisplayConfiguration getAmbientConfig() {
         if (mConfig == null) {
             mConfig = new AmbientDisplayConfiguration(mContext);
diff --git a/src/com/android/settings/display/AutoBrightnessDetailPreferenceController.java b/src/com/android/settings/display/AutoBrightnessDetailPreferenceController.java
index a04ddbf..030c5b9 100644
--- a/src/com/android/settings/display/AutoBrightnessDetailPreferenceController.java
+++ b/src/com/android/settings/display/AutoBrightnessDetailPreferenceController.java
@@ -33,7 +33,7 @@
     }
 
     @Override
-    public boolean isSliceable() {
+    public boolean isPublicSlice() {
         return true;
     }
 }
diff --git a/src/com/android/settings/display/AutoBrightnessSettings.java b/src/com/android/settings/display/AutoBrightnessSettings.java
index b0ab6b0..0c59473 100644
--- a/src/com/android/settings/display/AutoBrightnessSettings.java
+++ b/src/com/android/settings/display/AutoBrightnessSettings.java
@@ -17,18 +17,13 @@
 package com.android.settings.display;
 
 import android.app.settings.SettingsEnums;
-import android.content.Context;
 import android.os.Bundle;
-import android.provider.SearchIndexableResource;
 
 import com.android.settings.R;
 import com.android.settings.dashboard.DashboardFragment;
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settingslib.search.SearchIndexable;
 
-import java.util.Arrays;
-import java.util.List;
-
 @SearchIndexable(forTarget = SearchIndexable.ALL & ~SearchIndexable.ARC)
 public class AutoBrightnessSettings extends DashboardFragment {
 
@@ -37,8 +32,6 @@
     @Override
     public void onCreate(Bundle icicle) {
         super.onCreate(icicle);
-        mFooterPreferenceMixin.createFooterPreference()
-                .setTitle(R.string.auto_brightness_description);
     }
 
     @Override
@@ -61,14 +54,6 @@
         return R.string.help_url_auto_brightness;
     }
 
-    public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(
-                        Context context, boolean enabled) {
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.auto_brightness_detail;
-                    return Arrays.asList(sir);
-                }
-            };
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.auto_brightness_detail);
 }
diff --git a/src/com/android/settings/display/AutoRotatePreferenceController.java b/src/com/android/settings/display/AutoRotatePreferenceController.java
index f444d8a..202a085 100644
--- a/src/com/android/settings/display/AutoRotatePreferenceController.java
+++ b/src/com/android/settings/display/AutoRotatePreferenceController.java
@@ -82,6 +82,11 @@
     }
 
     @Override
+    public boolean isPublicSlice() {
+        return true;
+    }
+
+    @Override
     public boolean isChecked() {
         return !RotationPolicy.isRotationLocked(mContext);
     }
diff --git a/src/com/android/settings/display/ColorModePreferenceController.java b/src/com/android/settings/display/ColorModePreferenceController.java
index 234cc98..7a43e5c 100644
--- a/src/com/android/settings/display/ColorModePreferenceController.java
+++ b/src/com/android/settings/display/ColorModePreferenceController.java
@@ -34,7 +34,7 @@
         return mContext.getSystemService(ColorDisplayManager.class)
                 .isDeviceColorManaged()
                 && !ColorDisplayManager.areAccessibilityTransformsEnabled(mContext) ?
-                AVAILABLE_UNSEARCHABLE : DISABLED_FOR_USER;
+                AVAILABLE : DISABLED_FOR_USER;
     }
 
     @Override
diff --git a/src/com/android/settings/display/ColorModePreferenceFragment.java b/src/com/android/settings/display/ColorModePreferenceFragment.java
index 598d9c1..c48c1d4 100644
--- a/src/com/android/settings/display/ColorModePreferenceFragment.java
+++ b/src/com/android/settings/display/ColorModePreferenceFragment.java
@@ -22,22 +22,19 @@
 import android.net.Uri;
 import android.os.Handler;
 import android.os.Looper;
-import android.provider.SearchIndexableResource;
-
 import android.provider.Settings.Secure;
+
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.R;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
 import com.android.settings.widget.RadioButtonPickerFragment;
 import com.android.settingslib.search.SearchIndexable;
 import com.android.settingslib.widget.CandidateInfo;
 import com.android.settingslib.widget.LayoutPreference;
 
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.List;
 
 @SuppressWarnings("WeakerAccess")
@@ -204,15 +201,8 @@
         }
     }
 
-    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(
-                        Context context, boolean enabled) {
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.color_mode_settings;
-                    return Arrays.asList(sir);
-                }
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.color_mode_settings) {
 
                 @Override
                 protected boolean isPageSearchEnabled(Context context) {
diff --git a/src/com/android/settings/display/DensityPreference.java b/src/com/android/settings/display/DensityPreference.java
index 61c5729..d30a42a 100644
--- a/src/com/android/settings/display/DensityPreference.java
+++ b/src/com/android/settings/display/DensityPreference.java
@@ -28,7 +28,7 @@
 import com.android.settings.R;
 import com.android.settings.Utils;
 import com.android.settingslib.CustomEditTextPreferenceCompat;
-import com.android.settingslib.display.DisplayDensityUtils;
+import com.android.settingslib.display.DisplayDensityConfiguration;
 
 import java.text.NumberFormat;
 
@@ -78,7 +78,7 @@
                 final int minDimensionPx = Math.min(metrics.widthPixels, metrics.heightPixels);
                 final int newDensity = DisplayMetrics.DENSITY_MEDIUM * minDimensionPx / newSwDp;
                 final int densityDpi = Math.max(newDensity, 120);
-                DisplayDensityUtils.setForcedDisplayDensity(Display.DEFAULT_DISPLAY, densityDpi);
+                DisplayDensityConfiguration.setForcedDisplayDensity(Display.DEFAULT_DISPLAY, densityDpi);
             } catch (Exception e) {
                 // TODO: display a message instead of silently failing.
                 Slog.e(TAG, "Couldn't save density", e);
diff --git a/src/com/android/settings/display/FontSizePreferenceController.java b/src/com/android/settings/display/FontSizePreferenceController.java
index 680e378..28c7922 100644
--- a/src/com/android/settings/display/FontSizePreferenceController.java
+++ b/src/com/android/settings/display/FontSizePreferenceController.java
@@ -28,7 +28,7 @@
 
     @Override
     public int getAvailabilityStatus() {
-        return AVAILABLE_UNSEARCHABLE;
+        return AVAILABLE;
     }
 
     @Override
diff --git a/src/com/android/settings/display/NightDisplayActivationPreferenceController.java b/src/com/android/settings/display/NightDisplayActivationPreferenceController.java
index 5bb70fc..c1c477e 100644
--- a/src/com/android/settings/display/NightDisplayActivationPreferenceController.java
+++ b/src/com/android/settings/display/NightDisplayActivationPreferenceController.java
@@ -64,6 +64,11 @@
     }
 
     @Override
+    public boolean isPublicSlice() {
+        return true;
+    }
+
+    @Override
     public void displayPreference(PreferenceScreen screen) {
         super.displayPreference(screen);
 
@@ -126,10 +131,12 @@
             mTurnOnButton.setVisibility(View.GONE);
             mTurnOffButton.setVisibility(View.VISIBLE);
             mTurnOffButton.setText(buttonText);
+            mTurnOffButton.requestFocus();
         } else {
             mTurnOnButton.setVisibility(View.VISIBLE);
             mTurnOffButton.setVisibility(View.GONE);
             mTurnOnButton.setText(buttonText);
+            mTurnOnButton.requestFocus();
         }
     }
 }
diff --git a/src/com/android/settings/display/NightDisplayCustomEndTimePreferenceController.java b/src/com/android/settings/display/NightDisplayCustomEndTimePreferenceController.java
index 0ebbeae..7534756 100644
--- a/src/com/android/settings/display/NightDisplayCustomEndTimePreferenceController.java
+++ b/src/com/android/settings/display/NightDisplayCustomEndTimePreferenceController.java
@@ -18,7 +18,10 @@
 
 import android.content.Context;
 import android.hardware.display.ColorDisplayManager;
+
 import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
 import com.android.settings.core.BasePreferenceController;
 
 public class NightDisplayCustomEndTimePreferenceController extends BasePreferenceController {
@@ -40,6 +43,13 @@
     }
 
     @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        final Preference preference = screen.findPreference(getPreferenceKey());
+        updateState(preference);
+    }
+
+    @Override
     public final void updateState(Preference preference) {
         preference
                 .setVisible(mColorDisplayManager.getNightDisplayAutoMode()
diff --git a/src/com/android/settings/display/NightDisplayCustomStartTimePreferenceController.java b/src/com/android/settings/display/NightDisplayCustomStartTimePreferenceController.java
index a2a85ef..910086b 100644
--- a/src/com/android/settings/display/NightDisplayCustomStartTimePreferenceController.java
+++ b/src/com/android/settings/display/NightDisplayCustomStartTimePreferenceController.java
@@ -18,7 +18,10 @@
 
 import android.content.Context;
 import android.hardware.display.ColorDisplayManager;
+
 import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
 import com.android.settings.core.BasePreferenceController;
 
 public class NightDisplayCustomStartTimePreferenceController extends BasePreferenceController {
@@ -40,6 +43,13 @@
     }
 
     @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        final Preference preference = screen.findPreference(getPreferenceKey());
+        updateState(preference);
+    }
+
+    @Override
     public final void updateState(Preference preference) {
         preference
                 .setVisible(mColorDisplayManager.getNightDisplayAutoMode()
diff --git a/src/com/android/settings/display/NightDisplayFooterPreferenceController.java b/src/com/android/settings/display/NightDisplayFooterPreferenceController.java
index 194f006..14fe25e 100644
--- a/src/com/android/settings/display/NightDisplayFooterPreferenceController.java
+++ b/src/com/android/settings/display/NightDisplayFooterPreferenceController.java
@@ -19,26 +19,17 @@
 import android.content.Context;
 import android.hardware.display.ColorDisplayManager;
 
-import androidx.preference.Preference;
-
-import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
-import com.android.settingslib.widget.FooterPreference;
 
 public class NightDisplayFooterPreferenceController extends BasePreferenceController {
 
-    public NightDisplayFooterPreferenceController(Context context) {
-        super(context, FooterPreference.KEY_FOOTER);
+    public NightDisplayFooterPreferenceController(Context context, String key) {
+        super(context, key);
     }
 
     @Override
     public int getAvailabilityStatus() {
-        return ColorDisplayManager.isNightDisplayAvailable(mContext) ? AVAILABLE
-                : UNSUPPORTED_ON_DEVICE;
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        preference.setTitle(R.string.night_display_text);
+        return ColorDisplayManager.isNightDisplayAvailable(mContext)
+                ? AVAILABLE_UNSEARCHABLE : UNSUPPORTED_ON_DEVICE;
     }
 }
diff --git a/src/com/android/settings/display/NightDisplayIntensityPreferenceController.java b/src/com/android/settings/display/NightDisplayIntensityPreferenceController.java
index c8447cb..02dde40 100644
--- a/src/com/android/settings/display/NightDisplayIntensityPreferenceController.java
+++ b/src/com/android/settings/display/NightDisplayIntensityPreferenceController.java
@@ -51,6 +51,11 @@
     }
 
     @Override
+    public boolean isPublicSlice() {
+        return true;
+    }
+
+    @Override
     public void displayPreference(PreferenceScreen screen) {
         super.displayPreference(screen);
         final SeekBarPreference preference = screen.findPreference(getPreferenceKey());
diff --git a/src/com/android/settings/display/NightDisplaySettings.java b/src/com/android/settings/display/NightDisplaySettings.java
index 6441d71..7f42577 100644
--- a/src/com/android/settings/display/NightDisplaySettings.java
+++ b/src/com/android/settings/display/NightDisplaySettings.java
@@ -23,20 +23,15 @@
 import android.hardware.display.ColorDisplayManager;
 import android.hardware.display.NightDisplayListener;
 import android.os.Bundle;
-import android.provider.SearchIndexableResource;
 
 import androidx.preference.Preference;
 
 import com.android.settings.R;
 import com.android.settings.dashboard.DashboardFragment;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
-import com.android.settingslib.core.AbstractPreferenceController;
 import com.android.settingslib.search.SearchIndexable;
 
 import java.time.LocalTime;
-import java.util.ArrayList;
-import java.util.List;
 
 /**
  * Settings screen for Night display.
@@ -176,38 +171,12 @@
         return TAG;
     }
 
-    @Override
-    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
-        return buildPreferenceControllers(context);
-    }
-
-    private static List<AbstractPreferenceController> buildPreferenceControllers(Context context) {
-        final List<AbstractPreferenceController> controllers = new ArrayList<>(1);
-        controllers.add(new NightDisplayFooterPreferenceController(context));
-        return controllers;
-    }
-
-    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
-                        boolean enabled) {
-                    final ArrayList<SearchIndexableResource> result = new ArrayList<>();
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.night_display_settings;
-                    result.add(sir);
-                    return result;
-                }
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.night_display_settings) {
 
                 @Override
                 protected boolean isPageSearchEnabled(Context context) {
                     return ColorDisplayManager.isNightDisplayAvailable(context);
                 }
-
-                @Override
-                public List<AbstractPreferenceController> createPreferenceControllers(
-                        Context context) {
-                    return buildPreferenceControllers(context);
-                }
             };
 }
diff --git a/src/com/android/settings/display/ScreenZoomSettings.java b/src/com/android/settings/display/ScreenZoomSettings.java
index ad6c685..4c46f01 100644
--- a/src/com/android/settings/display/ScreenZoomSettings.java
+++ b/src/com/android/settings/display/ScreenZoomSettings.java
@@ -20,20 +20,15 @@
 import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.content.res.Configuration;
-import android.content.res.Resources;
 import android.os.Bundle;
 import android.view.Display;
 
 import com.android.settings.R;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
-import com.android.settings.search.SearchIndexableRaw;
+import com.android.settingslib.display.DisplayDensityConfiguration;
 import com.android.settingslib.display.DisplayDensityUtils;
 import com.android.settingslib.search.SearchIndexable;
 
-import java.util.ArrayList;
-import java.util.List;
-
 /**
  * Preference fragment used to control screen zoom.
  */
@@ -100,9 +95,9 @@
     protected void commit() {
         final int densityDpi = mValues[mCurrentIndex];
         if (densityDpi == mDefaultDensity) {
-            DisplayDensityUtils.clearForcedDisplayDensity(Display.DEFAULT_DISPLAY);
+            DisplayDensityConfiguration.clearForcedDisplayDensity(Display.DEFAULT_DISPLAY);
         } else {
-            DisplayDensityUtils.setForcedDisplayDensity(Display.DEFAULT_DISPLAY, densityDpi);
+            DisplayDensityConfiguration.setForcedDisplayDensity(Display.DEFAULT_DISPLAY, densityDpi);
         }
     }
 
@@ -117,21 +112,11 @@
     }
 
     /** Index provider used to expose this fragment in search. */
-    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
             new BaseSearchIndexProvider() {
                 @Override
-                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.screen_zoom_title);
-                    data.key = "screen_zoom_settings";
-                    data.screenTitle = res.getString(R.string.screen_zoom_title);
-                    data.keywords = res.getString(R.string.screen_zoom_keywords);
-
-                    final List<SearchIndexableRaw> result = new ArrayList<>(1);
-                    result.add(data);
-                    return result;
+                protected boolean isPageSearchEnabled(Context context) {
+                    return false;
                 }
             };
 }
diff --git a/src/com/android/settings/display/ToggleFontSizePreferenceFragment.java b/src/com/android/settings/display/ToggleFontSizePreferenceFragment.java
index 49177a0..db4d899 100644
--- a/src/com/android/settings/display/ToggleFontSizePreferenceFragment.java
+++ b/src/com/android/settings/display/ToggleFontSizePreferenceFragment.java
@@ -27,13 +27,8 @@
 
 import com.android.settings.R;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
-import com.android.settings.search.SearchIndexableRaw;
 import com.android.settingslib.search.SearchIndexable;
 
-import java.util.ArrayList;
-import java.util.List;
-
 /**
  * Preference fragment used to control font size.
  */
@@ -115,19 +110,11 @@
         return indices.length - 1;
     }
 
-    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
             new BaseSearchIndexProvider() {
                 @Override
-                public List<SearchIndexableRaw> getRawDataToIndex(Context context,
-                        boolean enabled) {
-                    final ArrayList<SearchIndexableRaw> result = new ArrayList<>();
-                    final SearchIndexableRaw data = new SearchIndexableRaw(context);
-                    data.title = context.getString(R.string.title_font_size);
-                    data.screenTitle = context.getString(R.string.title_font_size);
-                    data.key = "font_size_setting_screen";
-                    data.keywords = context.getString(R.string.keywords_display_font_size);
-                    result.add(data);
-                    return result;
+                protected boolean isPageSearchEnabled(Context context) {
+                    return false;
                 }
             };
 
diff --git a/src/com/android/settings/display/WallpaperPreferenceController.java b/src/com/android/settings/display/WallpaperPreferenceController.java
index 3ba39e9..b6af9bc 100644
--- a/src/com/android/settings/display/WallpaperPreferenceController.java
+++ b/src/com/android/settings/display/WallpaperPreferenceController.java
@@ -69,9 +69,7 @@
     public String getKeywords() {
         StringBuilder sb = new StringBuilder(mContext.getString(R.string.keywords_wallpaper));
         if (areStylesAvailable()) {
-            // TODO(b/130759285): Create a new string keywords_styles_and_wallpaper
-            sb.append(", ").append(mContext.getString(R.string.theme_customization_category))
-                    .append(", ").append(mContext.getString(R.string.keywords_dark_ui_mode));
+            sb.append(", ").append(mContext.getString(R.string.keywords_styles));
         }
         return sb.toString();
     }
diff --git a/src/com/android/settings/display/darkmode/DarkModeActivationPreferenceController.java b/src/com/android/settings/display/darkmode/DarkModeActivationPreferenceController.java
index 23f625f..0175b95 100644
--- a/src/com/android/settings/display/darkmode/DarkModeActivationPreferenceController.java
+++ b/src/com/android/settings/display/darkmode/DarkModeActivationPreferenceController.java
@@ -1,8 +1,9 @@
 /*
  * 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
  *
@@ -26,6 +27,8 @@
 import com.android.settings.core.BasePreferenceController;
 import com.android.settingslib.widget.LayoutPreference;
 
+import java.time.LocalTime;
+
 /**
  * Controller for activate/deactivate night mode button
  */
@@ -34,12 +37,20 @@
     private PowerManager mPowerManager;
     private Button mTurnOffButton;
     private Button mTurnOnButton;
+    private TimeFormatter mFormat;
 
     public DarkModeActivationPreferenceController(Context context,
             String preferenceKey) {
         super(context, preferenceKey);
         mPowerManager = context.getSystemService(PowerManager.class);
         mUiModeManager = context.getSystemService(UiModeManager.class);
+        mFormat = new TimeFormatter(context);
+    }
+
+    public DarkModeActivationPreferenceController(Context context,
+                                                  String preferenceKey, TimeFormatter f) {
+        this(context, preferenceKey);
+        mFormat = f;
     }
 
     @Override
@@ -58,13 +69,21 @@
     }
 
     private void updateNightMode(boolean active) {
-        final int autoMode = mUiModeManager.getNightMode();
+        final int mode = mUiModeManager.getNightMode();
         String buttonText;
 
-        if (autoMode == UiModeManager.MODE_NIGHT_AUTO) {
+        if (mode == UiModeManager.MODE_NIGHT_AUTO) {
             buttonText = mContext.getString(active
                     ? R.string.dark_ui_activation_off_auto
                     : R.string.dark_ui_activation_on_auto);
+        } else if (mode == UiModeManager.MODE_NIGHT_CUSTOM) {
+            final LocalTime time = active
+                    ? mUiModeManager.getCustomNightModeStart()
+                    : mUiModeManager.getCustomNightModeEnd();
+            final String timeStr = mFormat.of(time);
+            buttonText = mContext.getString(active
+                    ? R.string.dark_ui_activation_off_custom
+                    : R.string.dark_ui_activation_on_custom, timeStr);
         } else {
             buttonText = mContext.getString(active
                     ? R.string.dark_ui_activation_off_manual
@@ -85,11 +104,20 @@
     public CharSequence getSummary() {
         final boolean isActivated = (mContext.getResources().getConfiguration().uiMode
                 & Configuration.UI_MODE_NIGHT_YES) != 0;
-        final int autoMode = mUiModeManager.getNightMode();
-        if (autoMode == UiModeManager.MODE_NIGHT_AUTO) {
+        final int mode = mUiModeManager.getNightMode();
+        if (mode == UiModeManager.MODE_NIGHT_AUTO) {
             return mContext.getString(isActivated
                     ? R.string.dark_ui_summary_on_auto_mode_auto
                     : R.string.dark_ui_summary_off_auto_mode_auto);
+        } else if (mode == UiModeManager.MODE_NIGHT_CUSTOM) {
+            final LocalTime time = isActivated
+                    ? mUiModeManager.getCustomNightModeEnd()
+                    : mUiModeManager.getCustomNightModeStart();
+            final String timeStr = mFormat.of(time);
+
+            return mContext.getString(isActivated
+                    ? R.string.dark_ui_summary_on_auto_mode_custom
+                    : R.string.dark_ui_summary_off_auto_mode_custom, timeStr);
         } else {
             return mContext.getString(isActivated
                     ? R.string.dark_ui_summary_on_auto_mode_never
diff --git a/src/com/android/settings/display/darkmode/DarkModeCustomPreferenceController.java b/src/com/android/settings/display/darkmode/DarkModeCustomPreferenceController.java
new file mode 100644
index 0000000..5f22cb0
--- /dev/null
+++ b/src/com/android/settings/display/darkmode/DarkModeCustomPreferenceController.java
@@ -0,0 +1,105 @@
+/*
+ * 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.darkmode;
+
+import android.app.Dialog;
+import android.app.TimePickerDialog;
+import android.app.UiModeManager;
+import android.content.Context;
+import android.text.TextUtils;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+import com.android.settings.core.BasePreferenceController;
+import com.android.settings.dashboard.DashboardFragment;
+
+import java.time.LocalTime;
+import java.time.format.DateTimeFormatter;
+
+import static android.app.UiModeManager.MODE_NIGHT_CUSTOM;
+
+/**
+ * Controller for custom mode night mode time settings
+ */
+public class DarkModeCustomPreferenceController extends BasePreferenceController {
+    private static final String START_TIME_KEY = "dark_theme_start_time";
+    private static final String END_TIME_KEY = "dark_theme_end_time";
+    public static DateTimeFormatter formatter = DateTimeFormatter.ofPattern("hh:mm a");
+    private final UiModeManager mUiModeManager;
+    private TimeFormatter mFormat;
+    private DarkModeSettingsFragment mFragmet;
+
+    public DarkModeCustomPreferenceController(Context context, String key) {
+        super(context, key);
+        mFormat = new TimeFormatter(mContext);
+        mUiModeManager = context.getSystemService(UiModeManager.class);
+    }
+
+    public DarkModeCustomPreferenceController(
+            Context context, String key,
+            DarkModeSettingsFragment fragment) {
+        this(context, key);
+        mFragmet = fragment;
+    }
+
+    public DarkModeCustomPreferenceController(
+            Context context, String key,
+            DarkModeSettingsFragment fragment,
+            TimeFormatter format) {
+        this(context, key, fragment);
+        mFormat = format;
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return AVAILABLE;
+    }
+
+    public TimePickerDialog getDialog() {
+        final LocalTime initialTime;
+        if (TextUtils.equals(getPreferenceKey(), START_TIME_KEY)) {
+            initialTime = mUiModeManager.getCustomNightModeStart();
+        } else {
+            initialTime = mUiModeManager.getCustomNightModeEnd();
+        }
+        return  new TimePickerDialog(mContext, (view, hourOfDay, minute) -> {
+            final LocalTime time = LocalTime.of(hourOfDay, minute);
+            if (TextUtils.equals(getPreferenceKey(), START_TIME_KEY)) {
+                mUiModeManager.setCustomNightModeStart(time);
+            } else {
+                mUiModeManager.setCustomNightModeEnd(time);
+            }
+            if (mFragmet != null) {
+                mFragmet.refresh();
+            }
+        }, initialTime.getHour(), initialTime.getMinute(), mFormat.is24HourFormat());
+    }
+
+    @Override
+    protected void refreshSummary(Preference preference) {
+        if (mUiModeManager.getNightMode() != MODE_NIGHT_CUSTOM) {
+            preference.setVisible(false);
+            return;
+        }
+        preference.setVisible(true);
+        final LocalTime time;
+        if (TextUtils.equals(getPreferenceKey(), START_TIME_KEY)) {
+            time = mUiModeManager.getCustomNightModeStart();
+        } else {
+            time = mUiModeManager.getCustomNightModeEnd();
+        }
+        preference.setSummary(mFormat.of(time));
+    }
+}
diff --git a/src/com/android/settings/display/darkmode/DarkModeObserver.java b/src/com/android/settings/display/darkmode/DarkModeObserver.java
index 4d0d7c5..1482a2a 100644
--- a/src/com/android/settings/display/darkmode/DarkModeObserver.java
+++ b/src/com/android/settings/display/darkmode/DarkModeObserver.java
@@ -49,12 +49,7 @@
                 super.onChange(selfChange, uri);
                 final String setting = uri == null ? null : uri.getLastPathSegment();
                 if (setting != null && mCallback != null) {
-                    switch (setting) {
-                        case Settings.Secure.UI_NIGHT_MODE:
-                            mCallback.run();
-                            break;
-                        default:
-                    }
+                    mCallback.run();
                 }
             }
         };
@@ -69,7 +64,16 @@
         callback.run();
         mCallback = callback;
         final Uri uri = Settings.Secure.getUriFor(Settings.Secure.UI_NIGHT_MODE);
-        mContext.getContentResolver().registerContentObserver(uri, false, mContentObserver);
+        final Uri customStart =
+                Settings.Secure.getUriFor(Settings.Secure.DARK_THEME_CUSTOM_START_TIME);
+        final Uri customEnd =
+                Settings.Secure.getUriFor(Settings.Secure.DARK_THEME_CUSTOM_END_TIME);
+        mContext.getContentResolver()
+                .registerContentObserver(uri, false, mContentObserver);
+        mContext.getContentResolver()
+                .registerContentObserver(customStart, false, mContentObserver);
+        mContext.getContentResolver()
+                .registerContentObserver(customEnd, false, mContentObserver);
         final IntentFilter batteryFilter = new IntentFilter();
         batteryFilter.addAction(PowerManager.ACTION_POWER_SAVE_MODE_CHANGED);
         mContext.registerReceiver(
diff --git a/src/com/android/settings/display/darkmode/DarkModePreference.java b/src/com/android/settings/display/darkmode/DarkModePreference.java
index c5fbded..7fb8023 100644
--- a/src/com/android/settings/display/darkmode/DarkModePreference.java
+++ b/src/com/android/settings/display/darkmode/DarkModePreference.java
@@ -22,6 +22,8 @@
 import com.android.settings.R;
 import com.android.settings.widget.MasterSwitchPreference;
 
+import java.time.LocalTime;
+
 /**
  * component for the display settings dark ui summary*/
 public class DarkModePreference extends MasterSwitchPreference {
@@ -31,11 +33,14 @@
     private PowerManager mPowerManager;
     private Runnable mCallback;
 
+    private TimeFormatter mFormat;
+
     public DarkModePreference(Context context, AttributeSet attrs) {
         super(context, attrs);
         mDarkModeObserver = new DarkModeObserver(context);
         mUiModeManager = context.getSystemService(UiModeManager.class);
         mPowerManager = context.getSystemService(PowerManager.class);
+        mFormat = new TimeFormatter(context);
         mCallback = () -> {
             final boolean batterySaver = mPowerManager.isPowerSaveMode();
             final boolean active = (getContext().getResources().getConfiguration().uiMode
@@ -60,21 +65,30 @@
 
     private void updateSummary(boolean batterySaver, boolean active) {
         if (batterySaver) {
-            final int stringId = active ? R.string.dark_ui_mode_disabled_summary_dark_theme_on
+            final int stringId = active
+                    ? R.string.dark_ui_mode_disabled_summary_dark_theme_on
                     : R.string.dark_ui_mode_disabled_summary_dark_theme_off;
             setSummary(getContext().getString(stringId));
             return;
         }
-        final boolean auto = mUiModeManager.getNightMode() == UiModeManager.MODE_NIGHT_AUTO;
-
+        final int mode = mUiModeManager.getNightMode();
         String detail;
-        if (active) {
-            detail = getContext().getString(auto
+
+        if (mode == UiModeManager.MODE_NIGHT_AUTO) {
+            detail = getContext().getString(active
                     ? R.string.dark_ui_summary_on_auto_mode_auto
-                    : R.string.dark_ui_summary_on_auto_mode_never);
+                    : R.string.dark_ui_summary_off_auto_mode_auto);
+        } else if (mode == UiModeManager.MODE_NIGHT_CUSTOM) {
+            final LocalTime time = active
+                    ? mUiModeManager.getCustomNightModeEnd()
+                    : mUiModeManager.getCustomNightModeStart();
+            final String timeStr = mFormat.of(time);
+            detail = getContext().getString(active
+                    ? R.string.dark_ui_summary_on_auto_mode_custom
+                    : R.string.dark_ui_summary_off_auto_mode_custom, timeStr);
         } else {
-            detail = getContext().getString(auto
-                    ? R.string.dark_ui_summary_off_auto_mode_auto
+            detail = getContext().getString(active
+                    ? R.string.dark_ui_summary_on_auto_mode_never
                     : R.string.dark_ui_summary_off_auto_mode_never);
         }
         String summary = getContext().getString(active
diff --git a/src/com/android/settings/display/darkmode/DarkModeScheduleSelectorController.java b/src/com/android/settings/display/darkmode/DarkModeScheduleSelectorController.java
index d99c7bf..ea7fc03 100644
--- a/src/com/android/settings/display/darkmode/DarkModeScheduleSelectorController.java
+++ b/src/com/android/settings/display/darkmode/DarkModeScheduleSelectorController.java
@@ -18,9 +18,11 @@
 import android.content.Context;
 import android.content.res.Configuration;
 import android.os.PowerManager;
+
 import androidx.preference.DropDownPreference;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
+
 import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
 
@@ -33,7 +35,7 @@
     private final UiModeManager mUiModeManager;
     private PowerManager mPowerManager;
     private DropDownPreference mPreference;
-    private String mCurrentMode;
+    private int mCurrentMode;
 
     public DarkModeScheduleSelectorController(Context context, String key) {
         super(context, key);
@@ -44,8 +46,8 @@
     @Override
     public void displayPreference(PreferenceScreen screen) {
         super.displayPreference(screen);
-
         mPreference = screen.findPreference(getPreferenceKey());
+        init();
     }
 
     @Override
@@ -53,33 +55,48 @@
         return BasePreferenceController.AVAILABLE;
     }
 
-    @Override
-    public final void updateState(Preference preference) {
+    private void init() {
         final boolean batterySaver = mPowerManager.isPowerSaveMode();
         mPreference.setEnabled(!batterySaver);
-        mCurrentMode =
-                mUiModeManager.getNightMode() == UiModeManager.MODE_NIGHT_AUTO
-                ? mContext.getString(R.string.dark_ui_auto_mode_auto)
-                : mContext.getString(R.string.dark_ui_auto_mode_never);
-        mPreference.setValue(mCurrentMode);
+        mCurrentMode = getCurrentMode();
+        mPreference.setValueIndex(mCurrentMode);
     }
+
+    private int getCurrentMode() {
+        int resId;
+        switch (mUiModeManager.getNightMode()) {
+            case UiModeManager.MODE_NIGHT_AUTO:
+                resId = R.string.dark_ui_auto_mode_auto;
+                break;
+            case UiModeManager.MODE_NIGHT_CUSTOM:
+                resId = R.string.dark_ui_auto_mode_custom;
+                break;
+            default:
+                resId = R.string.dark_ui_auto_mode_never;
+        }
+        return mPreference.findIndexOfValue(mContext.getString(resId));
+    }
+
     @Override
     public final boolean onPreferenceChange(Preference preference, Object newValue) {
-        String newMode = (String) newValue;
+        final int newMode = mPreference.findIndexOfValue((String) newValue);
         if (newMode == mCurrentMode) {
             return false;
         }
         mCurrentMode = newMode;
-        if (mCurrentMode == mContext.getString(R.string.dark_ui_auto_mode_never)) {
+        if (mCurrentMode == mPreference.findIndexOfValue(
+                mContext.getString(R.string.dark_ui_auto_mode_never))) {
             boolean active = (mContext.getResources().getConfiguration().uiMode
                     & Configuration.UI_MODE_NIGHT_YES) != 0;
             int mode = active ? UiModeManager.MODE_NIGHT_YES
                     : UiModeManager.MODE_NIGHT_NO;
             mUiModeManager.setNightMode(mode);
-
-        } else if (mCurrentMode ==
-                mContext.getString(R.string.dark_ui_auto_mode_auto)) {
+        } else if (mCurrentMode == mPreference.findIndexOfValue(
+                mContext.getString(R.string.dark_ui_auto_mode_auto))) {
             mUiModeManager.setNightMode(UiModeManager.MODE_NIGHT_AUTO);
+        } else if (mCurrentMode == mPreference.findIndexOfValue(
+                mContext.getString(R.string.dark_ui_auto_mode_custom))) {
+            mUiModeManager.setNightMode(UiModeManager.MODE_NIGHT_CUSTOM);
         }
         return true;
     }
diff --git a/src/com/android/settings/display/darkmode/DarkModeSettingsFragment.java b/src/com/android/settings/display/darkmode/DarkModeSettingsFragment.java
index 045c2bb..530a541 100644
--- a/src/com/android/settings/display/darkmode/DarkModeSettingsFragment.java
+++ b/src/com/android/settings/display/darkmode/DarkModeSettingsFragment.java
@@ -14,14 +14,23 @@
 
 package com.android.settings.display.darkmode;
 
+import android.app.Dialog;
+import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.os.Bundle;
-import android.app.settings.SettingsEnums;
+import android.os.PowerManager;
+
+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.core.AbstractPreferenceController;
 import com.android.settingslib.search.SearchIndexable;
 
+import java.util.ArrayList;
+import java.util.List;
+
 /**
  * Settings screen for Dark UI Mode
  */
@@ -29,15 +38,20 @@
 public class DarkModeSettingsFragment extends DashboardFragment {
 
     private static final String TAG = "DarkModeSettingsFragment";
+    private static final String DARK_THEME_END_TIME = "dark_theme_end_time";
+    private static final String DARK_THEME_START_TIME = "dark_theme_start_time";
     private DarkModeObserver mContentObserver;
+    private DarkModeCustomPreferenceController mCustomStartController;
+    private DarkModeCustomPreferenceController mCustomEndController;
     private Runnable mCallback = () -> {
         updatePreferenceStates();
     };
+    private static final int DIALOG_START_TIME = 0;
+    private static final int DIALOG_END_TIME = 1;
 
     @Override
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
-
         final Context context = getContext();
         mContentObserver = new DarkModeObserver(context);
     }
@@ -50,6 +64,18 @@
     }
 
     @Override
+    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
+        List<AbstractPreferenceController> controllers =  new ArrayList(2);
+        mCustomStartController = new DarkModeCustomPreferenceController(getContext(),
+                DARK_THEME_START_TIME, this);
+        mCustomEndController = new DarkModeCustomPreferenceController(getContext(),
+                DARK_THEME_END_TIME, this);
+        controllers.add(mCustomStartController);
+        controllers.add(mCustomEndController);
+        return controllers;
+    }
+
+    @Override
     public void onStop() {
         super.onStop();
         // Stop listening for state changes.
@@ -57,6 +83,34 @@
     }
 
     @Override
+    public boolean onPreferenceTreeClick(Preference preference) {
+        if (DARK_THEME_END_TIME.equals(preference.getKey())) {
+            showDialog(DIALOG_END_TIME);
+            return true;
+        } else if (DARK_THEME_START_TIME.equals(preference.getKey())) {
+            showDialog(DIALOG_START_TIME);
+            return true;
+        }
+        return super.onPreferenceTreeClick(preference);
+    }
+
+    public void refresh() {
+        this.updatePreferenceStates();
+    }
+
+    @Override
+    public Dialog onCreateDialog(final int dialogId) {
+        if (dialogId == DIALOG_START_TIME || dialogId == DIALOG_END_TIME) {
+            if (dialogId == DIALOG_START_TIME) {
+                return mCustomStartController.getDialog();
+            } else {
+                return mCustomEndController.getDialog();
+            }
+        }
+        return super.onCreateDialog(dialogId);
+    }
+
+    @Override
     protected int getPreferenceScreenResId() {
         return R.xml.dark_mode_settings;
     }
@@ -76,6 +130,24 @@
         return SettingsEnums.DARK_UI_SETTINGS;
     }
 
+    @Override
+    public int getDialogMetricsCategory(int dialogId) {
+        switch (dialogId) {
+            case DIALOG_START_TIME:
+                return SettingsEnums.DIALOG_DARK_THEME_SET_START_TIME;
+            case DIALOG_END_TIME:
+                return SettingsEnums.DIALOG_DARK_THEME_SET_END_TIME;
+            default:
+                return 0;
+        }
+    }
+
     public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider();
+            new BaseSearchIndexProvider(R.xml.dark_mode_settings) {
+                @Override
+                protected boolean isPageSearchEnabled(Context context) {
+                    return !context.getSystemService(PowerManager.class).isPowerSaveMode();
+                }
+            };
+
 }
diff --git a/src/com/android/settings/display/darkmode/TimeFormatter.java b/src/com/android/settings/display/darkmode/TimeFormatter.java
new file mode 100644
index 0000000..5b18806
--- /dev/null
+++ b/src/com/android/settings/display/darkmode/TimeFormatter.java
@@ -0,0 +1,41 @@
+/*
+ * 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.darkmode;
+
+import android.content.Context;
+
+import java.time.LocalTime;
+import java.time.format.DateTimeFormatter;
+
+/**
+ * Formats LocalTime to the locale time string format
+*/
+public class TimeFormatter {
+    private final Context mContext;
+    private final DateTimeFormatter mFormatter;
+    public TimeFormatter(Context context) {
+        mContext = context;
+        mFormatter = DateTimeFormatter.ofPattern("hh:mm a");
+    }
+
+    public String of(LocalTime time) {
+        return is24HourFormat() ? time.toString() : mFormatter.format(time);
+    }
+
+    public boolean is24HourFormat() {
+        return android.text.format.DateFormat.is24HourFormat(mContext);
+    }
+}
diff --git a/src/com/android/settings/dream/DreamSettings.java b/src/com/android/settings/dream/DreamSettings.java
index c36970e..a40cf88 100644
--- a/src/com/android/settings/dream/DreamSettings.java
+++ b/src/com/android/settings/dream/DreamSettings.java
@@ -23,7 +23,6 @@
 
 import android.app.settings.SettingsEnums;
 import android.content.Context;
-import android.provider.SearchIndexableResource;
 
 import androidx.annotation.VisibleForTesting;
 
@@ -36,7 +35,6 @@
 import com.android.settingslib.search.SearchIndexable;
 
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.List;
 
 @SearchIndexable
@@ -137,15 +135,8 @@
         return controllers;
     }
 
-    public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER
-            = new BaseSearchIndexProvider() {
-        @Override
-        public List<SearchIndexableResource> getXmlResourcesToIndex(
-                Context context, boolean enabled) {
-            final SearchIndexableResource sir = new SearchIndexableResource(context);
-            sir.xmlResId = R.xml.dream_fragment_overview;
-            return Arrays.asList(sir);
-        }
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER
+            = new BaseSearchIndexProvider(R.xml.dream_fragment_overview) {
 
         @Override
         public List<AbstractPreferenceController> createPreferenceControllers(Context context) {
diff --git a/src/com/android/settings/enterprise/EnterprisePrivacyFeatureProviderImpl.java b/src/com/android/settings/enterprise/EnterprisePrivacyFeatureProviderImpl.java
index 675795e..429c537 100644
--- a/src/com/android/settings/enterprise/EnterprisePrivacyFeatureProviderImpl.java
+++ b/src/com/android/settings/enterprise/EnterprisePrivacyFeatureProviderImpl.java
@@ -278,7 +278,7 @@
 
         // Only search for the required action in the Device Owner's package
         final Intent intent =
-                new Intent(mResources.getString(R.string.config_work_policy_info_intent_action))
+                new Intent(Settings.ACTION_SHOW_WORK_POLICY_INFO)
                         .setPackage(ownerComponent.getPackageName())
                         .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
         final List<ResolveInfo> activities = mPm.queryIntentActivities(intent, 0);
@@ -302,7 +302,7 @@
 
         // Only search for the required action in the Profile Owner's package
         final Intent intent =
-                new Intent(mResources.getString(R.string.config_work_policy_info_intent_action))
+                new Intent(Settings.ACTION_SHOW_WORK_POLICY_INFO)
                         .setPackage(ownerComponent.getPackageName())
                         .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
         final List<ResolveInfo> activities = mPm.queryIntentActivitiesAsUser(intent, 0, userId);
diff --git a/src/com/android/settings/enterprise/EnterprisePrivacySettings.java b/src/com/android/settings/enterprise/EnterprisePrivacySettings.java
index c5beb86..dd0a9ce 100644
--- a/src/com/android/settings/enterprise/EnterprisePrivacySettings.java
+++ b/src/com/android/settings/enterprise/EnterprisePrivacySettings.java
@@ -98,20 +98,13 @@
                 .hasDeviceOwner();
     }
 
-    public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.enterprise_privacy_settings) {
                 @Override
                 protected boolean isPageSearchEnabled(Context context) {
                     return isPageEnabled(context);
                 }
 
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(
-                        Context context, boolean enabled) {
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.enterprise_privacy_settings;
-                    return Arrays.asList(sir);
-                }
 
                 @Override
                 public List<AbstractPreferenceController> createPreferenceControllers(
diff --git a/src/com/android/settings/enterprise/EnterpriseSetDefaultAppsListPreferenceController.java b/src/com/android/settings/enterprise/EnterpriseSetDefaultAppsListPreferenceController.java
index e3136f4..c878058 100644
--- a/src/com/android/settings/enterprise/EnterpriseSetDefaultAppsListPreferenceController.java
+++ b/src/com/android/settings/enterprise/EnterpriseSetDefaultAppsListPreferenceController.java
@@ -128,9 +128,9 @@
                 final PreferenceCategory category = new PreferenceCategory(prefContext);
                 screen.addPreference(category);
                 if (userInfo.isManagedProfile()) {
-                    category.setTitle(R.string.managed_device_admin_title);
+                    category.setTitle(R.string.category_work);
                 } else {
-                    category.setTitle(R.string.personal_device_admin_title);
+                    category.setTitle(R.string.category_personal);
                 }
                 category.setOrder(i);
                 createPreferences(prefContext, category, mApps.get(i));
diff --git a/src/com/android/settings/enterprise/ManageDeviceAdminPreferenceController.java b/src/com/android/settings/enterprise/ManageDeviceAdminPreferenceController.java
index 1b88e38..00d17f1 100644
--- a/src/com/android/settings/enterprise/ManageDeviceAdminPreferenceController.java
+++ b/src/com/android/settings/enterprise/ManageDeviceAdminPreferenceController.java
@@ -43,8 +43,7 @@
     @Override
     public int getAvailabilityStatus() {
         return mContext.getResources().getBoolean(R.bool.config_show_manage_device_admin)
-                ? AVAILABLE_UNSEARCHABLE
-                : UNSUPPORTED_ON_DEVICE;
+                ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
     }
 
 }
diff --git a/src/com/android/settings/flashlight/FlashlightHandleActivity.java b/src/com/android/settings/flashlight/FlashlightHandleActivity.java
index 0c50f91..5894965 100644
--- a/src/com/android/settings/flashlight/FlashlightHandleActivity.java
+++ b/src/com/android/settings/flashlight/FlashlightHandleActivity.java
@@ -24,8 +24,8 @@
 
 import com.android.settings.R;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
-import com.android.settings.search.SearchIndexableRaw;
+import com.android.settingslib.search.Indexable;
+import com.android.settingslib.search.SearchIndexableRaw;
 import com.android.settingslib.search.SearchIndexable;
 
 import java.util.ArrayList;
@@ -53,7 +53,7 @@
         finish();
     }
 
-    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
             new BaseSearchIndexProvider() {
 
                 @Override
diff --git a/src/com/android/settings/flashlight/FlashlightSlice.java b/src/com/android/settings/flashlight/FlashlightSlice.java
index a2c4561..bd7f486 100644
--- a/src/com/android/settings/flashlight/FlashlightSlice.java
+++ b/src/com/android/settings/flashlight/FlashlightSlice.java
@@ -39,6 +39,7 @@
 import androidx.slice.builders.ListBuilder.RowBuilder;
 import androidx.slice.builders.SliceAction;
 
+import com.android.internal.annotations.VisibleForTesting;
 import com.android.settings.R;
 import com.android.settings.Utils;
 import com.android.settings.slices.CustomSliceRegistry;
@@ -131,10 +132,19 @@
         return null;
     }
 
-
-    private static boolean isFlashlightAvailable(Context context) {
-        return Settings.Secure.getInt(
-                context.getContentResolver(), Secure.FLASHLIGHT_AVAILABLE, 0) == 1;
+    @VisibleForTesting
+    static boolean isFlashlightAvailable(Context context) {
+        int defaultAvailability = 0;
+        try {
+            // check if there is a flash unit
+            if (getCameraId(context) != null) {
+                defaultAvailability = 1;
+            }
+        } catch (CameraAccessException e) {
+            Log.e(TAG, "Error getting camera id.", e);
+        }
+        return Secure.getInt(context.getContentResolver(),
+                Secure.FLASHLIGHT_AVAILABLE, defaultAvailability) == 1;
     }
 
     private static boolean isFlashlightEnabled(Context context) {
diff --git a/src/com/android/settings/fuelgauge/BatteryAppListPreferenceController.java b/src/com/android/settings/fuelgauge/BatteryAppListPreferenceController.java
index 7741a97..4667e16 100644
--- a/src/com/android/settings/fuelgauge/BatteryAppListPreferenceController.java
+++ b/src/com/android/settings/fuelgauge/BatteryAppListPreferenceController.java
@@ -46,7 +46,6 @@
 import com.android.settings.SettingsActivity;
 import com.android.settings.core.InstrumentedPreferenceFragment;
 import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settingslib.applications.AppUtils;
 import com.android.settingslib.core.AbstractPreferenceController;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 import com.android.settingslib.core.lifecycle.LifecycleObserver;
@@ -339,7 +338,7 @@
     void setUsageSummary(Preference preference, BatterySipper sipper) {
         // Only show summary when usage time is longer than one minute
         final long usageTimeMs = sipper.usageTimeMs;
-        if (usageTimeMs >= DateUtils.MINUTE_IN_MILLIS) {
+        if (shouldShowSummary(sipper) && usageTimeMs >= DateUtils.MINUTE_IN_MILLIS) {
             final CharSequence timeSequence =
                     StringUtil.formatElapsedTime(mContext, usageTimeMs, false);
             preference.setSummary(
@@ -355,7 +354,7 @@
         // Don't show over-counted, unaccounted and hidden system module in any condition
         return sipper.drainType == BatterySipper.DrainType.OVERCOUNTED
                 || sipper.drainType == BatterySipper.DrainType.UNACCOUNTED
-                || mBatteryUtils.isHiddenSystemModule(sipper);
+                || mBatteryUtils.isHiddenSystemModule(sipper) || sipper.getUid() < 0;
     }
 
     @VisibleForTesting
@@ -391,6 +390,19 @@
         }
     }
 
+    private boolean shouldShowSummary(BatterySipper sipper) {
+        final CharSequence[] whitelistPackages = mContext.getResources()
+                .getTextArray(R.array.whitelist_hide_summary_in_battery_usage);
+        final String target = sipper.packageWithHighestDrain;
+
+        for (CharSequence packageName: whitelistPackages) {
+            if (TextUtils.equals(target, packageName)) {
+                return false;
+            }
+        }
+        return true;
+    }
+
     private static boolean isSharedGid(int uid) {
         return UserHandle.getAppIdFromSharedAppGid(uid) > 0;
     }
diff --git a/src/com/android/settings/fuelgauge/BatteryBroadcastReceiver.java b/src/com/android/settings/fuelgauge/BatteryBroadcastReceiver.java
index 0266689..99510a2 100644
--- a/src/com/android/settings/fuelgauge/BatteryBroadcastReceiver.java
+++ b/src/com/android/settings/fuelgauge/BatteryBroadcastReceiver.java
@@ -102,7 +102,7 @@
             if (Intent.ACTION_BATTERY_CHANGED.equals(intent.getAction())) {
                 final String batteryLevel = Utils.getBatteryPercentage(intent);
                 final String batteryStatus = Utils.getBatteryStatus(
-                        mContext.getResources(), intent);
+                        mContext, intent);
                 if (forceUpdate) {
                     mBatteryListener.onBatteryChanged(BatteryUpdateType.MANUAL);
                 } else if(!batteryLevel.equals(mBatteryLevel)) {
diff --git a/src/com/android/settings/fuelgauge/BatteryInfo.java b/src/com/android/settings/fuelgauge/BatteryInfo.java
index 34a8b91..1935c35 100644
--- a/src/com/android/settings/fuelgauge/BatteryInfo.java
+++ b/src/com/android/settings/fuelgauge/BatteryInfo.java
@@ -133,7 +133,7 @@
             remaining = context.getString(R.string.remaining_length_format,
                     Formatter.formatShortElapsedTime(context, remainingTimeUs / 1000));
         }
-        view.setBottomLabels(new CharSequence[] {timeString, remaining});
+        view.setBottomLabels(new CharSequence[]{timeString, remaining});
     }
 
     public static void getBatteryInfo(final Context context, final Callback callback) {
@@ -160,7 +160,7 @@
                 callback.onBatteryInfoLoaded(batteryInfo);
                 BatteryUtils.logRuntime(LOG_TAG, "time for callback", startTime);
             }
-        }.execute();
+        }.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
     }
 
     public static BatteryInfo getBatteryInfo(final Context context,
@@ -232,9 +232,8 @@
         info.batteryPercentString = Utils.formatPercentage(info.batteryLevel);
         info.mCharging = batteryBroadcast.getIntExtra(BatteryManager.EXTRA_PLUGGED, 0) != 0;
         info.averageTimeToDischarge = estimate.getAverageDischargeTime();
-        final Resources resources = context.getResources();
 
-        info.statusLabel = Utils.getBatteryStatus(resources, batteryBroadcast);
+        info.statusLabel = Utils.getBatteryStatus(context, batteryBroadcast);
         if (!info.mCharging) {
             updateBatteryInfoDischarging(context, shortString, estimate, info);
         } else {
@@ -261,12 +260,11 @@
                     R.string.power_remaining_charging_duration_only, timeString);
             info.chargeLabel = context.getString(resId, info.batteryPercentString, timeString);
         } else {
-            final String chargeStatusLabel = resources.getString(
-                    R.string.battery_info_status_charging_lower);
+            final String chargeStatusLabel = Utils.getBatteryStatus(context, batteryBroadcast);
             info.remainingLabel = null;
             info.chargeLabel = info.batteryLevel == 100 ? info.batteryPercentString :
                     resources.getString(R.string.power_charging, info.batteryPercentString,
-                            chargeStatusLabel);
+                            chargeStatusLabel.toLowerCase());
         }
     }
 
diff --git a/src/com/android/settings/fuelgauge/BatterySaverReceiver.java b/src/com/android/settings/fuelgauge/BatterySaverReceiver.java
index 300dc0f..bf5c51b 100644
--- a/src/com/android/settings/fuelgauge/BatterySaverReceiver.java
+++ b/src/com/android/settings/fuelgauge/BatterySaverReceiver.java
@@ -39,7 +39,7 @@
     public void onReceive(Context context, Intent intent) {
         if (DEBUG) Log.d(TAG, "Received " + intent.getAction());
         String action = intent.getAction();
-        if (PowerManager.ACTION_POWER_SAVE_MODE_CHANGING.equals(action)) {
+        if (PowerManager.ACTION_POWER_SAVE_MODE_CHANGED.equals(action)) {
             if (mBatterySaverListener != null) {
                 mBatterySaverListener.onPowerSaveModeChanged();
             }
@@ -55,7 +55,7 @@
     public void setListening(boolean listening) {
         if (listening && !mRegistered) {
             final IntentFilter ifilter = new IntentFilter();
-            ifilter.addAction(PowerManager.ACTION_POWER_SAVE_MODE_CHANGING);
+            ifilter.addAction(PowerManager.ACTION_POWER_SAVE_MODE_CHANGED);
             ifilter.addAction(Intent.ACTION_BATTERY_CHANGED);
             mContext.registerReceiver(this, ifilter);
             mRegistered = true;
diff --git a/src/com/android/settings/fuelgauge/BatteryWifiParser.java b/src/com/android/settings/fuelgauge/BatteryWifiParser.java
index 014c069..2aa6749 100644
--- a/src/com/android/settings/fuelgauge/BatteryWifiParser.java
+++ b/src/com/android/settings/fuelgauge/BatteryWifiParser.java
@@ -14,8 +14,8 @@
 
 package com.android.settings.fuelgauge;
 
-import android.os.BatteryStats;
 import android.os.BatteryStats.HistoryItem;
+import android.os.BatteryStatsManager;
 
 public class BatteryWifiParser extends BatteryFlagParser {
 
@@ -27,12 +27,12 @@
     protected boolean isSet(HistoryItem record) {
         switch ((record.states2 & HistoryItem.STATE2_WIFI_SUPPL_STATE_MASK)
                 >> HistoryItem.STATE2_WIFI_SUPPL_STATE_SHIFT) {
-            case BatteryStats.WIFI_SUPPL_STATE_DISCONNECTED:
-            case BatteryStats.WIFI_SUPPL_STATE_DORMANT:
-            case BatteryStats.WIFI_SUPPL_STATE_INACTIVE:
-            case BatteryStats.WIFI_SUPPL_STATE_INTERFACE_DISABLED:
-            case BatteryStats.WIFI_SUPPL_STATE_INVALID:
-            case BatteryStats.WIFI_SUPPL_STATE_UNINITIALIZED:
+            case BatteryStatsManager.WIFI_SUPPL_STATE_DISCONNECTED:
+            case BatteryStatsManager.WIFI_SUPPL_STATE_DORMANT:
+            case BatteryStatsManager.WIFI_SUPPL_STATE_INACTIVE:
+            case BatteryStatsManager.WIFI_SUPPL_STATE_INTERFACE_DISABLED:
+            case BatteryStatsManager.WIFI_SUPPL_STATE_INVALID:
+            case BatteryStatsManager.WIFI_SUPPL_STATE_UNINITIALIZED:
                 return false;
         }
         return true;
diff --git a/src/com/android/settings/fuelgauge/InactiveApps.java b/src/com/android/settings/fuelgauge/InactiveApps.java
index fdfcaab..a5056a9 100644
--- a/src/com/android/settings/fuelgauge/InactiveApps.java
+++ b/src/com/android/settings/fuelgauge/InactiveApps.java
@@ -21,6 +21,7 @@
 import static android.app.usage.UsageStatsManager.STANDBY_BUCKET_FREQUENT;
 import static android.app.usage.UsageStatsManager.STANDBY_BUCKET_NEVER;
 import static android.app.usage.UsageStatsManager.STANDBY_BUCKET_RARE;
+import static android.app.usage.UsageStatsManager.STANDBY_BUCKET_RESTRICTED;
 import static android.app.usage.UsageStatsManager.STANDBY_BUCKET_WORKING_SET;
 
 import android.app.settings.SettingsEnums;
@@ -31,6 +32,7 @@
 import android.content.pm.ResolveInfo;
 import android.content.res.Resources;
 import android.os.Bundle;
+import android.text.TextUtils;
 
 import androidx.preference.ListPreference;
 import androidx.preference.Preference;
@@ -45,13 +47,14 @@
         implements Preference.OnPreferenceChangeListener {
 
     private static final CharSequence[] SETTABLE_BUCKETS_NAMES =
-            {"ACTIVE", "WORKING_SET", "FREQUENT", "RARE"};
+            {"ACTIVE", "WORKING_SET", "FREQUENT", "RARE", "RESTRICTED"};
 
     private static final CharSequence[] SETTABLE_BUCKETS_VALUES = {
             Integer.toString(STANDBY_BUCKET_ACTIVE),
             Integer.toString(STANDBY_BUCKET_WORKING_SET),
             Integer.toString(STANDBY_BUCKET_FREQUENT),
-            Integer.toString(STANDBY_BUCKET_RARE)
+            Integer.toString(STANDBY_BUCKET_RARE),
+            Integer.toString(STANDBY_BUCKET_RESTRICTED)
     };
 
     private UsageStatsManager mUsageStats;
@@ -66,7 +69,8 @@
         super.onCreate(icicle);
 
         mUsageStats = getActivity().getSystemService(UsageStatsManager.class);
-        addPreferencesFromResource(R.xml.inactive_apps);
+        addPreferencesFromResource(R.xml.dummy_preference_screen);
+        getActivity().setTitle(R.string.inactive_apps_title);
     }
 
     @Override
@@ -81,7 +85,7 @@
         screen.setOrderingAsAdded(false);
         final Context context = getActivity();
         final PackageManager pm = context.getPackageManager();
-        final UsageStatsManager usm = context.getSystemService(UsageStatsManager.class);
+        final String settingsPackage = context.getPackageName();
 
         Intent launcherIntent = new Intent(Intent.ACTION_MAIN);
         launcherIntent.addCategory(Intent.CATEGORY_LAUNCHER);
@@ -95,6 +99,10 @@
             p.setEntries(SETTABLE_BUCKETS_NAMES);
             p.setEntryValues(SETTABLE_BUCKETS_VALUES);
             updateSummary(p);
+            // Don't allow Settings to change its own standby bucket.
+            if (TextUtils.equals(packageName, settingsPackage)) {
+                p.setEnabled(false);
+            }
             p.setOnPreferenceChangeListener(this);
 
             screen.addPreference(p);
@@ -108,6 +116,7 @@
             case STANDBY_BUCKET_WORKING_SET: return "WORKING_SET";
             case STANDBY_BUCKET_FREQUENT: return "FREQUENT";
             case STANDBY_BUCKET_RARE: return "RARE";
+            case STANDBY_BUCKET_RESTRICTED: return "RESTRICTED";
             case STANDBY_BUCKET_NEVER: return "NEVER";
         }
         return "";
@@ -122,7 +131,7 @@
         // purposes and can either not be changed out of, or might have undesirable
         // side-effects in combination with other assumptions.
         final boolean changeable = appBucket >= STANDBY_BUCKET_ACTIVE
-                && appBucket <= STANDBY_BUCKET_RARE;
+                && appBucket <= STANDBY_BUCKET_RESTRICTED;
         if (changeable) {
             p.setValue(Integer.toString(appBucket));
         }
diff --git a/src/com/android/settings/fuelgauge/OWNERS b/src/com/android/settings/fuelgauge/OWNERS
index 5b26c46..4e5ee0e 100644
--- a/src/com/android/settings/fuelgauge/OWNERS
+++ b/src/com/android/settings/fuelgauge/OWNERS
@@ -1,6 +1,3 @@
 # Default reviewers for this and subdirectories.
-dehboxturtle@google.com
-jackqdyulei@google.com
-
-# Emergency approvers in case the above are not available
-asapperstein@google.com
\ No newline at end of file
+millchen@google.com
+tmfang@google.com
diff --git a/src/com/android/settings/fuelgauge/PowerUsageAdvanced.java b/src/com/android/settings/fuelgauge/PowerUsageAdvanced.java
index 669d7ed..befede4 100644
--- a/src/com/android/settings/fuelgauge/PowerUsageAdvanced.java
+++ b/src/com/android/settings/fuelgauge/PowerUsageAdvanced.java
@@ -166,7 +166,7 @@
         }
     }
 
-    public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
             new BaseSearchIndexProvider() {
                 @Override
                 public List<SearchIndexableResource> getXmlResourcesToIndex(
diff --git a/src/com/android/settings/fuelgauge/PowerUsageBase.java b/src/com/android/settings/fuelgauge/PowerUsageBase.java
index ec73b1b..98b62d9 100644
--- a/src/com/android/settings/fuelgauge/PowerUsageBase.java
+++ b/src/com/android/settings/fuelgauge/PowerUsageBase.java
@@ -67,17 +67,12 @@
     @Override
     public void onStart() {
         super.onStart();
-    }
-
-    @Override
-    public void onResume() {
-        super.onResume();
         mBatteryBroadcastReceiver.register();
     }
 
     @Override
-    public void onPause() {
-        super.onPause();
+    public void onStop() {
+        super.onStop();
         mBatteryBroadcastReceiver.unRegister();
     }
 
diff --git a/src/com/android/settings/fuelgauge/PowerUsageSummary.java b/src/com/android/settings/fuelgauge/PowerUsageSummary.java
index d25c2d4..3a5f0ba 100644
--- a/src/com/android/settings/fuelgauge/PowerUsageSummary.java
+++ b/src/com/android/settings/fuelgauge/PowerUsageSummary.java
@@ -22,10 +22,8 @@
 import android.content.Context;
 import android.database.ContentObserver;
 import android.net.Uri;
-import android.os.BatteryStats;
 import android.os.Bundle;
 import android.os.Handler;
-import android.provider.SearchIndexableResource;
 import android.provider.Settings.Global;
 import android.text.format.Formatter;
 import android.view.Menu;
@@ -55,7 +53,6 @@
 import com.android.settingslib.utils.StringUtil;
 import com.android.settingslib.widget.LayoutPreference;
 
-import java.util.Collections;
 import java.util.List;
 
 /**
@@ -68,20 +65,16 @@
 
     static final String TAG = "PowerUsageSummary";
 
-    private static final boolean DEBUG = false;
     private static final String KEY_BATTERY_HEADER = "battery_header";
 
     private static final String KEY_SCREEN_USAGE = "screen_usage";
     private static final String KEY_TIME_SINCE_LAST_FULL_CHARGE = "last_full_charge";
-    private static final String KEY_BATTERY_SAVER_SUMMARY = "battery_saver_summary";
 
     @VisibleForTesting
     static final int BATTERY_INFO_LOADER = 1;
     @VisibleForTesting
     static final int BATTERY_TIP_LOADER = 2;
     @VisibleForTesting
-    static final int MENU_STATS_TYPE = Menu.FIRST;
-    @VisibleForTesting
     static final int MENU_ADVANCED_BATTERY = Menu.FIRST + 1;
     public static final int DEBUG_INFO_LOADER = 3;
 
@@ -104,7 +97,6 @@
     boolean mNeedUpdateBatteryTip;
     @VisibleForTesting
     BatteryTipPreferenceController mBatteryTipPreferenceController;
-    private int mStatsType = BatteryStats.STATS_SINCE_CHARGED;
 
     @VisibleForTesting
     final ContentObserver mSettingsObserver = new ContentObserver(new Handler()) {
@@ -226,7 +218,6 @@
         mScreenUsagePref = (PowerGaugePreference) findPreference(KEY_SCREEN_USAGE);
         mLastFullChargePref = (PowerGaugePreference) findPreference(
                 KEY_TIME_SINCE_LAST_FULL_CHARGE);
-        mFooterPreferenceMixin.createFooterPreference().setTitle(R.string.battery_footer_summary);
         mBatteryUtils = BatteryUtils.getInstance(getContext());
 
         restartBatteryInfoLoader();
@@ -266,12 +257,6 @@
 
     @Override
     public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
-        if (DEBUG) {
-            menu.add(Menu.NONE, MENU_STATS_TYPE, Menu.NONE, R.string.menu_stats_total)
-                    .setIcon(com.android.internal.R.drawable.ic_menu_info_details)
-                    .setAlphabeticShortcut('t');
-        }
-
         menu.add(Menu.NONE, MENU_ADVANCED_BATTERY, Menu.NONE, R.string.advanced_battery_title);
 
         super.onCreateOptionsMenu(menu, inflater);
@@ -285,14 +270,6 @@
     @Override
     public boolean onOptionsItemSelected(MenuItem item) {
         switch (item.getItemId()) {
-            case MENU_STATS_TYPE:
-                if (mStatsType == BatteryStats.STATS_SINCE_CHARGED) {
-                    mStatsType = BatteryStats.STATS_SINCE_UNPLUGGED;
-                } else {
-                    mStatsType = BatteryStats.STATS_SINCE_CHARGED;
-                }
-                refreshUi(BatteryUpdateType.MANUAL);
-                return true;
             case MENU_ADVANCED_BATTERY:
                 new SubSettingLauncher(getContext())
                         .setDestination(PowerUsageAdvanced.class.getName())
@@ -416,14 +393,6 @@
     }
 
 
-    public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(
-                        Context context, boolean enabled) {
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.power_usage_summary;
-                    return Collections.singletonList(sir);
-                }
-            };
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.power_usage_summary);
 }
diff --git a/src/com/android/settings/fuelgauge/RestrictAppPreferenceController.java b/src/com/android/settings/fuelgauge/RestrictAppPreferenceController.java
index d3c1d54..1460d75 100644
--- a/src/com/android/settings/fuelgauge/RestrictAppPreferenceController.java
+++ b/src/com/android/settings/fuelgauge/RestrictAppPreferenceController.java
@@ -49,6 +49,7 @@
         super(context, KEY_RESTRICT_APP);
         mAppOpsManager = (AppOpsManager) context.getSystemService(Context.APP_OPS_SERVICE);
         mUserManager = context.getSystemService(UserManager.class);
+        mAppInfos = BatteryTipUtils.getRestrictedAppsList(mAppOpsManager, mUserManager);
     }
 
     public RestrictAppPreferenceController(InstrumentedPreferenceFragment preferenceFragment) {
@@ -58,17 +59,15 @@
 
     @Override
     public int getAvailabilityStatus() {
-        return AVAILABLE;
+        return mAppInfos.size() > 0 ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
     }
 
     @Override
     public void updateState(Preference preference) {
         super.updateState(preference);
-
         mAppInfos = BatteryTipUtils.getRestrictedAppsList(mAppOpsManager, mUserManager);
-
         final int num = mAppInfos.size();
-        // Don't show it if no app been restricted
+        // Fragment change RestrictedAppsList after onPause(), UI needs to be updated in onResume()
         preference.setVisible(num > 0);
         preference.setSummary(
                 mContext.getResources().getQuantityString(R.plurals.restricted_app_summary, num,
diff --git a/src/com/android/settings/fuelgauge/RestrictedAppDetails.java b/src/com/android/settings/fuelgauge/RestrictedAppDetails.java
index 6722b4a..db83140 100644
--- a/src/com/android/settings/fuelgauge/RestrictedAppDetails.java
+++ b/src/com/android/settings/fuelgauge/RestrictedAppDetails.java
@@ -47,7 +47,6 @@
 import com.android.settings.widget.AppCheckBoxPreference;
 import com.android.settingslib.core.AbstractPreferenceController;
 import com.android.settingslib.utils.StringUtil;
-import com.android.settingslib.widget.FooterPreferenceMixinCompat;
 
 import java.util.List;
 
@@ -76,8 +75,6 @@
     PackageManager mPackageManager;
     @VisibleForTesting
     BatteryDatabaseManager mBatteryDatabaseManager;
-    private final FooterPreferenceMixinCompat mFooterPreferenceMixin =
-            new FooterPreferenceMixinCompat(this, getSettingsLifecycle());
 
     public static void startRestrictedAppDetails(InstrumentedPreferenceFragment fragment,
             List<AppInfo> appInfos) {
@@ -97,8 +94,6 @@
         super.onCreate(icicle);
         final Context context = getContext();
 
-        mFooterPreferenceMixin.createFooterPreference().setTitle(
-                R.string.restricted_app_detail_footer);
         mRestrictedAppListGroup = (PreferenceGroup) findPreference(KEY_PREF_RESTRICTED_APP_LIST);
         mAppInfos = getArguments().getParcelableArrayList(EXTRA_APP_INFO_LIST);
         mPackageManager = context.getPackageManager();
diff --git a/src/com/android/settings/fuelgauge/SmartBatteryPreferenceController.java b/src/com/android/settings/fuelgauge/SmartBatteryPreferenceController.java
index af49f3d..040af9f 100644
--- a/src/com/android/settings/fuelgauge/SmartBatteryPreferenceController.java
+++ b/src/com/android/settings/fuelgauge/SmartBatteryPreferenceController.java
@@ -56,6 +56,11 @@
     }
 
     @Override
+    public boolean isPublicSlice() {
+        return true;
+    }
+
+    @Override
     public void updateState(Preference preference) {
         super.updateState(preference);
         final boolean smartBatteryOn = Settings.Global.getInt(mContext.getContentResolver(),
diff --git a/src/com/android/settings/fuelgauge/SmartBatterySettings.java b/src/com/android/settings/fuelgauge/SmartBatterySettings.java
index 5fddbac..e9d637c 100644
--- a/src/com/android/settings/fuelgauge/SmartBatterySettings.java
+++ b/src/com/android/settings/fuelgauge/SmartBatterySettings.java
@@ -18,7 +18,6 @@
 
 import android.app.settings.SettingsEnums;
 import android.content.Context;
-import android.os.Bundle;
 import android.provider.SearchIndexableResource;
 
 import com.android.settings.R;
@@ -41,12 +40,6 @@
     public static final String TAG = "SmartBatterySettings";
 
     @Override
-    public void onCreate(Bundle icicle) {
-        super.onCreate(icicle);
-        mFooterPreferenceMixin.createFooterPreference().setTitle(R.string.smart_battery_footer);
-    }
-
-    @Override
     public int getMetricsCategory() {
         return SettingsEnums.FUELGAUGE_SMART_BATTERY;
     }
@@ -75,7 +68,6 @@
             Context context, SettingsActivity settingsActivity,
             InstrumentedPreferenceFragment fragment) {
         final List<AbstractPreferenceController> controllers = new ArrayList<>();
-        controllers.add(new SmartBatteryPreferenceController(context));
         if (settingsActivity != null && fragment != null) {
             controllers.add(
                     new RestrictAppPreferenceController(fragment));
@@ -86,7 +78,7 @@
         return controllers;
     }
 
-    public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
             new BaseSearchIndexProvider() {
                 @Override
                 public List<SearchIndexableResource> getXmlResourcesToIndex(
diff --git a/src/com/android/settings/fuelgauge/TopLevelBatteryPreferenceController.java b/src/com/android/settings/fuelgauge/TopLevelBatteryPreferenceController.java
index c4da670..88fd1ce 100644
--- a/src/com/android/settings/fuelgauge/TopLevelBatteryPreferenceController.java
+++ b/src/com/android/settings/fuelgauge/TopLevelBatteryPreferenceController.java
@@ -17,7 +17,6 @@
 package com.android.settings.fuelgauge;
 
 import android.content.Context;
-import android.text.BidiFormatter;
 
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
@@ -49,8 +48,7 @@
     @Override
     public int getAvailabilityStatus() {
         return mContext.getResources().getBoolean(R.bool.config_show_top_level_battery)
-        ? AVAILABLE_UNSEARCHABLE
-        : UNSUPPORTED_ON_DEVICE;
+                ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
     }
 
     @Override
@@ -79,15 +77,14 @@
             return null;
         }
         CharSequence label;
-        final BidiFormatter formatter = BidiFormatter.getInstance();
         if (!info.discharging && info.chargeLabel != null) {
             label = info.chargeLabel;
         } else if (info.remainingLabel == null) {
             label = info.batteryPercentString;
         } else {
             label = context.getString(R.string.power_remaining_settings_home_page,
-                    formatter.unicodeWrap(info.batteryPercentString),
-                    formatter.unicodeWrap(info.remainingLabel));
+                    info.batteryPercentString,
+                    info.remainingLabel);
         }
         return label;
     }
diff --git a/src/com/android/settings/fuelgauge/batterysaver/BatterySaverButtonPreferenceController.java b/src/com/android/settings/fuelgauge/batterysaver/BatterySaverButtonPreferenceController.java
index bb12d1a..1f4690e 100644
--- a/src/com/android/settings/fuelgauge/batterysaver/BatterySaverButtonPreferenceController.java
+++ b/src/com/android/settings/fuelgauge/batterysaver/BatterySaverButtonPreferenceController.java
@@ -16,8 +16,11 @@
 
 package com.android.settings.fuelgauge.batterysaver;
 
+import android.content.ContentResolver;
 import android.content.Context;
+import android.net.Uri;
 import android.os.PowerManager;
+import android.provider.SettingsSlicesContract;
 
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
@@ -38,6 +41,7 @@
         LifecycleObserver, OnStart, OnStop, BatterySaverReceiver.BatterySaverListener {
 
     private final BatterySaverReceiver mBatterySaverReceiver;
+
     private final PowerManager mPowerManager;
 
     private TwoStateButtonPreference mPreference;
@@ -55,11 +59,21 @@
     }
 
     @Override
-    public boolean isSliceable() {
+    public boolean isPublicSlice() {
         return true;
     }
 
     @Override
+    public Uri getSliceUri() {
+        return new Uri.Builder()
+                .scheme(ContentResolver.SCHEME_CONTENT)
+                .authority(SettingsSlicesContract.AUTHORITY)
+                .appendPath(SettingsSlicesContract.PATH_SETTING_ACTION)
+                .appendPath(SettingsSlicesContract.KEY_BATTERY_SAVER)
+                .build();
+    }
+
+    @Override
     public void onStart() {
         mBatterySaverReceiver.setListening(true);
     }
diff --git a/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleSettings.java b/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleSettings.java
index 31ee278..507c369 100644
--- a/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleSettings.java
+++ b/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleSettings.java
@@ -35,9 +35,9 @@
 
 import com.android.settings.R;
 import com.android.settings.widget.RadioButtonPickerFragment;
-import com.android.settings.widget.RadioButtonPreference;
 import com.android.settingslib.fuelgauge.BatterySaverUtils;
 import com.android.settingslib.widget.CandidateInfo;
+import com.android.settingslib.widget.RadioButtonPreference;
 
 import com.google.common.collect.Lists;
 
diff --git a/src/com/android/settings/fuelgauge/batterysaver/BatterySaverSettings.java b/src/com/android/settings/fuelgauge/batterysaver/BatterySaverSettings.java
index be23f72..74d0a7a 100644
--- a/src/com/android/settings/fuelgauge/batterysaver/BatterySaverSettings.java
+++ b/src/com/android/settings/fuelgauge/batterysaver/BatterySaverSettings.java
@@ -17,9 +17,6 @@
 package com.android.settings.fuelgauge.batterysaver;
 
 import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.os.Bundle;
-import android.provider.SearchIndexableResource;
 import android.text.Annotation;
 import android.text.Spannable;
 import android.text.SpannableStringBuilder;
@@ -35,21 +32,17 @@
 import com.android.settings.R;
 import com.android.settings.dashboard.DashboardFragment;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
 import com.android.settingslib.HelpUtils;
 import com.android.settingslib.search.SearchIndexable;
 import com.android.settingslib.widget.FooterPreference;
 
-import java.util.Arrays;
-import java.util.List;
-
 /**
  * Battery saver settings page
  */
 @SearchIndexable(forTarget = SearchIndexable.ALL & ~SearchIndexable.ARC)
 public class BatterySaverSettings extends DashboardFragment {
     private static final String TAG = "BatterySaverSettings";
-    public static final String KEY_FOOTER_PREFERENCE = "footer_preference";
+    private static final String KEY_FOOTER_PREFERENCE = "battery_saver_footer_preference";
     private SpannableStringBuilder mFooterText;
     private String mHelpUri;
 
@@ -82,16 +75,8 @@
     /**
      * For Search.
      */
-    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(
-                        Context context, boolean enabled) {
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.battery_saver_settings;
-                    return Arrays.asList(sir);
-                }
-            };
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.battery_saver_settings);
 
     // Updates the footer for this page.
     @VisibleForTesting
diff --git a/src/com/android/settings/fuelgauge/batterytip/HighUsageAdapter.java b/src/com/android/settings/fuelgauge/batterytip/HighUsageAdapter.java
index cd79ea0..cb7b14e 100644
--- a/src/com/android/settings/fuelgauge/batterytip/HighUsageAdapter.java
+++ b/src/com/android/settings/fuelgauge/batterytip/HighUsageAdapter.java
@@ -30,7 +30,6 @@
 
 import com.android.settings.R;
 import com.android.settings.Utils;
-import com.android.settingslib.utils.StringUtil;
 
 import java.util.List;
 
@@ -78,7 +77,12 @@
         holder.appIcon.setImageDrawable(
                 Utils.getBadgedIcon(mIconDrawableFactory, mPackageManager, app.packageName,
                         UserHandle.getUserId(app.uid)));
-        holder.appName.setText(Utils.getApplicationLabel(mContext, app.packageName));
+        CharSequence label = Utils.getApplicationLabel(mContext, app.packageName);
+        if (label == null) {
+            label = app.packageName;
+        }
+
+        holder.appName.setText(label);
     }
 
     @Override
diff --git a/src/com/android/settings/gestures/AssistGestureSettings.java b/src/com/android/settings/gestures/AssistGestureSettings.java
index b67fd65..f56416c 100644
--- a/src/com/android/settings/gestures/AssistGestureSettings.java
+++ b/src/com/android/settings/gestures/AssistGestureSettings.java
@@ -66,7 +66,7 @@
         return controllers;
     }
 
-    public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
             new BaseSearchIndexProvider() {
                 @Override
                 public List<SearchIndexableResource> getXmlResourcesToIndex(
diff --git a/src/com/android/settings/gestures/AssistGestureSettingsPreferenceController.java b/src/com/android/settings/gestures/AssistGestureSettingsPreferenceController.java
index 729962d..8e7031d 100644
--- a/src/com/android/settings/gestures/AssistGestureSettingsPreferenceController.java
+++ b/src/com/android/settings/gestures/AssistGestureSettingsPreferenceController.java
@@ -68,7 +68,7 @@
     }
 
     @Override
-    public void onResume() {
+    public void onStart() {
         if (mWasAvailable != isAvailable()) {
             // Only update the preference visibility if the availability has changed -- otherwise
             // the preference may be incorrectly added to screens with collapsed sections.
diff --git a/src/com/android/settings/gestures/BackGestureIndicatorDrawable.java b/src/com/android/settings/gestures/BackGestureIndicatorDrawable.java
new file mode 100644
index 0000000..2d09e6b
--- /dev/null
+++ b/src/com/android/settings/gestures/BackGestureIndicatorDrawable.java
@@ -0,0 +1,161 @@
+/*
+ * 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.gestures;
+
+import android.animation.TimeAnimator;
+import android.annotation.IntRange;
+import android.annotation.NonNull;
+import android.annotation.Nullable;
+import android.content.Context;
+import android.graphics.Canvas;
+import android.graphics.ColorFilter;
+import android.graphics.Paint;
+import android.graphics.Rect;
+import android.graphics.drawable.Drawable;
+import android.os.Handler;
+import android.os.Looper;
+import android.os.Message;
+
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.settings.R;
+
+/** A drawable to animate the inset back gesture in both edges of the screen */
+public class BackGestureIndicatorDrawable extends Drawable {
+
+    private static final String TAG = "BackGestureIndicatorDrawable";
+
+    private static final int MSG_SET_INDICATOR_WIDTH = 1;
+    private static final int MSG_HIDE_INDICATOR = 3;
+
+    private static final long ANIMATION_DURATION_MS = 200L;
+    private static final long HIDE_DELAY_MS = 700L;
+
+    private static final int ALPHA_MAX = 64;
+
+    private Context mContext;
+
+    private Paint mPaint = new Paint();
+    private boolean mReversed;
+
+    private float mFinalWidth;
+    private float mCurrentWidth;
+    private float mWidthChangePerMs;
+
+    private TimeAnimator mTimeAnimator = new TimeAnimator();
+
+    private final Handler mHandler = new Handler(Looper.getMainLooper()) {
+        @Override
+        public void handleMessage(Message msg) {
+            switch(msg.what) {
+                case MSG_SET_INDICATOR_WIDTH:
+                    mTimeAnimator.end();
+                    mFinalWidth = msg.arg1;
+                    mWidthChangePerMs = Math.abs(mCurrentWidth - mFinalWidth)
+                            / ANIMATION_DURATION_MS;
+                    mTimeAnimator.start();
+                    break;
+                case MSG_HIDE_INDICATOR:
+                    mCurrentWidth = mFinalWidth;
+                    removeMessages(MSG_SET_INDICATOR_WIDTH);
+                    sendMessageDelayed(obtainMessage(MSG_SET_INDICATOR_WIDTH, 0, 0), HIDE_DELAY_MS);
+                    invalidateSelf();
+                    break;
+                default:
+                    break;
+            }
+        }
+    };
+
+    /**
+     * Creates an indicator drawable that responds to back gesture inset size change
+     * @param reversed If false, indicator will expand right. If true, indicator will expand left
+     */
+    public BackGestureIndicatorDrawable(Context context, boolean reversed) {
+        mContext = context;
+        mReversed = reversed;
+
+        // Restart the timer whenever a change is detected, so we can shrink/fade the indicators
+        mTimeAnimator.setTimeListener((TimeAnimator animation, long totalTime, long deltaTime) -> {
+            updateCurrentWidth(totalTime, deltaTime);
+            invalidateSelf();
+        });
+    }
+
+    private void updateCurrentWidth(long totalTime, long deltaTime) {
+        synchronized (mTimeAnimator) {
+            float step = deltaTime * mWidthChangePerMs;
+            if (totalTime >= ANIMATION_DURATION_MS
+                    || step >= Math.abs(mFinalWidth - mCurrentWidth)) {
+                mCurrentWidth = mFinalWidth;
+                mTimeAnimator.end();
+            } else {
+                float direction = mCurrentWidth < mFinalWidth ? 1 : -1;
+                mCurrentWidth += direction * step;
+            }
+        }
+    }
+
+    @Override
+    public void draw(@NonNull Canvas canvas) {
+
+        mPaint.setAntiAlias(true);
+        mPaint.setColor(mContext.getResources().getColor(R.color.back_gesture_indicator));
+        mPaint.setAlpha(ALPHA_MAX);
+
+        final int top = 0;
+        final int bottom = canvas.getHeight();
+        final int width = (int) mCurrentWidth;
+
+        Rect rect = new Rect(0, top, width, bottom);
+        if (mReversed) {
+            rect.offset(canvas.getWidth() - width, 0);
+        }
+
+        canvas.drawRect(rect, mPaint);
+    }
+
+    @Override
+    public void setAlpha(@IntRange(from = 0, to = 255) int alpha) {
+
+    }
+
+    @Override
+    public void setColorFilter(@Nullable ColorFilter colorFilter) {
+
+    }
+
+    @Override
+    public int getOpacity() {
+        return 0;
+    }
+
+    /**
+     * Sets the visible width of the indicator in pixels.
+     */
+    public void setWidth(int width) {
+        if (width == 0) {
+            mHandler.sendEmptyMessage(MSG_HIDE_INDICATOR);
+        } else {
+            mHandler.sendMessage(mHandler.obtainMessage(MSG_SET_INDICATOR_WIDTH, width, 0));
+        }
+    }
+
+    @VisibleForTesting
+    public int getWidth() {
+        return (int) mFinalWidth;
+    }
+}
diff --git a/src/com/android/settings/gestures/BackGestureIndicatorView.java b/src/com/android/settings/gestures/BackGestureIndicatorView.java
new file mode 100644
index 0000000..2bb8435
--- /dev/null
+++ b/src/com/android/settings/gestures/BackGestureIndicatorView.java
@@ -0,0 +1,100 @@
+/*
+ * 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.gestures;
+
+import android.content.Context;
+import android.content.res.TypedArray;
+import android.graphics.PixelFormat;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.WindowManager;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+
+import com.android.settings.R;
+
+/**
+ * A linear layout containing the left and right location indicators.
+ */
+public class BackGestureIndicatorView extends LinearLayout {
+    private ViewGroup mLayout;
+    private ImageView mLeftIndicator;
+    private ImageView mRightIndicator;
+    private BackGestureIndicatorDrawable mLeftDrawable;
+    private BackGestureIndicatorDrawable mRightDrawable;
+
+    public BackGestureIndicatorView(Context context) {
+        super(context);
+
+        LayoutInflater factory = LayoutInflater.from(context);
+        mLayout = (ViewGroup) factory.inflate(R.layout.back_gesture_indicator_container,
+                this, false);
+
+        if (mLayout == null) {
+            return;
+        }
+
+        addView(mLayout);
+
+        mLeftDrawable = new BackGestureIndicatorDrawable(context, false);
+        mRightDrawable = new BackGestureIndicatorDrawable(context, true);
+
+        mLeftIndicator = mLayout.findViewById(R.id.indicator_left);
+        mRightIndicator = mLayout.findViewById(R.id.indicator_right);
+
+        mLeftIndicator.setImageDrawable(mLeftDrawable);
+        mRightIndicator.setImageDrawable(mRightDrawable);
+
+        TypedArray a = context.obtainStyledAttributes(new int[] {
+                android.R.attr.windowLightNavigationBar,
+                android.R.attr.windowLightStatusBar});
+        if (a.getBoolean(0, false)) {
+            setSystemUiVisibility(
+                    getSystemUiVisibility() | View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR);
+        }
+        if (a.getBoolean(1, false)) {
+            setSystemUiVisibility(
+                    getSystemUiVisibility() | View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
+        }
+        a.recycle();
+    }
+
+    public void setIndicatorWidth(int width, boolean leftIndicator) {
+        BackGestureIndicatorDrawable indicator = leftIndicator ? mLeftDrawable : mRightDrawable;
+        indicator.setWidth(width);
+    }
+
+    public WindowManager.LayoutParams getLayoutParams(
+            WindowManager.LayoutParams parentWindowAttributes) {
+        int copiedFlags = (parentWindowAttributes.flags
+                & WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
+        final WindowManager.LayoutParams lp = new WindowManager.LayoutParams(
+                ViewGroup.LayoutParams.MATCH_PARENT,
+                ViewGroup.LayoutParams.MATCH_PARENT,
+                WindowManager.LayoutParams.TYPE_APPLICATION,
+                WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED
+                        | WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE
+                        | WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
+                        | copiedFlags,
+                PixelFormat.TRANSLUCENT);
+
+        lp.setTitle("BackGestureIndicatorView");
+        lp.token = getContext().getActivityToken();
+        return lp;
+    }
+}
diff --git a/src/com/android/settings/gestures/DoubleTapPowerPreferenceController.java b/src/com/android/settings/gestures/DoubleTapPowerPreferenceController.java
index 751bb79..3d2e176 100644
--- a/src/com/android/settings/gestures/DoubleTapPowerPreferenceController.java
+++ b/src/com/android/settings/gestures/DoubleTapPowerPreferenceController.java
@@ -61,6 +61,11 @@
     }
 
     @Override
+    public boolean isPublicSlice() {
+        return true;
+    }
+
+    @Override
     protected String getVideoPrefKey() {
         return PREF_KEY_VIDEO;
     }
diff --git a/src/com/android/settings/gestures/DoubleTapPowerSettings.java b/src/com/android/settings/gestures/DoubleTapPowerSettings.java
index acabdbc..466fe91 100644
--- a/src/com/android/settings/gestures/DoubleTapPowerSettings.java
+++ b/src/com/android/settings/gestures/DoubleTapPowerSettings.java
@@ -63,14 +63,6 @@
         return R.xml.double_tap_power_settings;
     }
 
-    public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(
-                        Context context, boolean enabled) {
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.double_tap_power_settings;
-                    return Arrays.asList(sir);
-                }
-            };
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.double_tap_power_settings);
 }
diff --git a/src/com/android/settings/gestures/DoubleTapScreenPreferenceController.java b/src/com/android/settings/gestures/DoubleTapScreenPreferenceController.java
index 4abf09a..c3171b8 100644
--- a/src/com/android/settings/gestures/DoubleTapScreenPreferenceController.java
+++ b/src/com/android/settings/gestures/DoubleTapScreenPreferenceController.java
@@ -78,6 +78,11 @@
     }
 
     @Override
+    public boolean isPublicSlice() {
+        return true;
+    }
+
+    @Override
     public boolean setChecked(boolean isChecked) {
         return Settings.Secure.putInt(mContext.getContentResolver(), SECURE_KEY,
                 isChecked ? ON : OFF);
diff --git a/src/com/android/settings/gestures/DoubleTapScreenSettings.java b/src/com/android/settings/gestures/DoubleTapScreenSettings.java
index 300ce48..7c7a02f 100644
--- a/src/com/android/settings/gestures/DoubleTapScreenSettings.java
+++ b/src/com/android/settings/gestures/DoubleTapScreenSettings.java
@@ -49,7 +49,7 @@
         prefs.edit().putBoolean(PREF_KEY_SUGGESTION_COMPLETE, true).apply();
 
         use(DoubleTapScreenPreferenceController.class)
-            .setConfig(new AmbientDisplayConfiguration(context));
+                .setConfig(new AmbientDisplayConfiguration(context));
     }
 
     @Override
@@ -72,14 +72,6 @@
         return R.string.help_url_double_tap_screen;
     }
 
-    public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(
-                        Context context, boolean enabled) {
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.double_tap_screen_settings;
-                    return Arrays.asList(sir);
-                }
-            };
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.double_tap_screen_settings);
 }
diff --git a/src/com/android/settings/gestures/DoubleTwistGestureSettings.java b/src/com/android/settings/gestures/DoubleTwistGestureSettings.java
index 3481929..9ea7180 100644
--- a/src/com/android/settings/gestures/DoubleTwistGestureSettings.java
+++ b/src/com/android/settings/gestures/DoubleTwistGestureSettings.java
@@ -63,7 +63,7 @@
         return R.xml.double_twist_gesture_settings;
     }
 
-    public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
             new BaseSearchIndexProvider() {
                 @Override
                 public List<SearchIndexableResource> getXmlResourcesToIndex(
diff --git a/src/com/android/settings/gestures/DoubleTwistPreferenceController.java b/src/com/android/settings/gestures/DoubleTwistPreferenceController.java
index d4c63c0..afc5074 100644
--- a/src/com/android/settings/gestures/DoubleTwistPreferenceController.java
+++ b/src/com/android/settings/gestures/DoubleTwistPreferenceController.java
@@ -78,6 +78,11 @@
     }
 
     @Override
+    public boolean isPublicSlice() {
+        return true;
+    }
+
+    @Override
     protected String getVideoPrefKey() {
         return PREF_KEY_VIDEO;
     }
diff --git a/src/com/android/settings/gestures/GestureNavigationBackSensitivityDialog.java b/src/com/android/settings/gestures/GestureNavigationBackSensitivityDialog.java
deleted file mode 100644
index e4f25eb..0000000
--- a/src/com/android/settings/gestures/GestureNavigationBackSensitivityDialog.java
+++ /dev/null
@@ -1,80 +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.gestures;
-
-import android.app.AlertDialog;
-import android.app.Dialog;
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.content.om.IOverlayManager;
-import android.os.Bundle;
-import android.os.ServiceManager;
-import android.view.View;
-import android.widget.SeekBar;
-
-import com.android.settings.R;
-import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
-
-/**
- * Dialog to set the back gesture's sensitivity in Gesture navigation mode.
- */
-public class GestureNavigationBackSensitivityDialog extends InstrumentedDialogFragment {
-    private static final String TAG = "GestureNavigationBackSensitivityDialog";
-    private static final String KEY_BACK_SENSITIVITY = "back_sensitivity";
-
-    public static void show(SystemNavigationGestureSettings parent, int sensitivity) {
-        if (!parent.isAdded()) {
-            return;
-        }
-
-        final GestureNavigationBackSensitivityDialog dialog =
-                new GestureNavigationBackSensitivityDialog();
-        final Bundle bundle = new Bundle();
-        bundle.putInt(KEY_BACK_SENSITIVITY, sensitivity);
-        dialog.setArguments(bundle);
-        dialog.setTargetFragment(parent, 0);
-        dialog.show(parent.getFragmentManager(), TAG);
-    }
-
-    @Override
-    public int getMetricsCategory() {
-        return SettingsEnums.SETTINGS_GESTURE_NAV_BACK_SENSITIVITY_DLG;
-    }
-
-    @Override
-    public Dialog onCreateDialog(Bundle savedInstanceState) {
-        final View view = getActivity().getLayoutInflater().inflate(
-                R.layout.dialog_back_gesture_sensitivity, null);
-        final SeekBar seekBar = view.findViewById(R.id.back_sensitivity_seekbar);
-        seekBar.setProgress(getArguments().getInt(KEY_BACK_SENSITIVITY));
-        return new AlertDialog.Builder(getContext())
-                .setTitle(R.string.back_sensitivity_dialog_title)
-                .setMessage(R.string.back_sensitivity_dialog_message)
-                .setView(view)
-                .setPositiveButton(R.string.okay, (dialog, which) -> {
-                    int sensitivity = seekBar.getProgress();
-                    getArguments().putInt(KEY_BACK_SENSITIVITY, sensitivity);
-                    SystemNavigationGestureSettings.setBackSensitivity(getActivity(),
-                            getOverlayManager(), sensitivity);
-                })
-                .create();
-    }
-
-    private IOverlayManager getOverlayManager() {
-        return IOverlayManager.Stub.asInterface(ServiceManager.getService(Context.OVERLAY_SERVICE));
-    }
-}
\ No newline at end of file
diff --git a/src/com/android/settings/gestures/GestureNavigationSettingsFragment.java b/src/com/android/settings/gestures/GestureNavigationSettingsFragment.java
new file mode 100644
index 0000000..73d7b85
--- /dev/null
+++ b/src/com/android/settings/gestures/GestureNavigationSettingsFragment.java
@@ -0,0 +1,149 @@
+/*
+ * 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.gestures;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.os.Bundle;
+import android.provider.Settings;
+import android.view.WindowManager;
+
+import com.android.settings.R;
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settings.widget.LabeledSeekBarPreference;
+import com.android.settingslib.search.SearchIndexable;
+
+/**
+ * A fragment to include all the settings related to Gesture Navigation mode.
+ */
+@SearchIndexable(forTarget = SearchIndexable.ALL & ~SearchIndexable.ARC)
+public class GestureNavigationSettingsFragment extends DashboardFragment {
+
+    public static final String TAG = "GestureNavigationSettingsFragment";
+
+    public static final String GESTURE_NAVIGATION_SETTINGS =
+            "com.android.settings.GESTURE_NAVIGATION_SETTINGS";
+
+    private static final String LEFT_EDGE_SEEKBAR_KEY = "gesture_left_back_sensitivity";
+    private static final String RIGHT_EDGE_SEEKBAR_KEY = "gesture_right_back_sensitivity";
+
+    private WindowManager mWindowManager;
+    private BackGestureIndicatorView mIndicatorView;
+
+    private static final float[] BACK_GESTURE_INSET_SCALES = {0.75f, 1.0f, 1.33f, 1.66f};
+
+    private float mDefaultBackGestureInset;
+
+    public GestureNavigationSettingsFragment() {
+        super();
+    }
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+
+        mIndicatorView = new BackGestureIndicatorView(getActivity());
+        mWindowManager = (WindowManager) getActivity().getSystemService(Context.WINDOW_SERVICE);
+
+        mDefaultBackGestureInset = getActivity().getResources().getDimensionPixelSize(
+                com.android.internal.R.dimen.config_backGestureInset);
+    }
+
+    @Override
+    public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
+        super.onCreatePreferences(savedInstanceState, rootKey);
+
+        initSeekBarPreference(LEFT_EDGE_SEEKBAR_KEY);
+        initSeekBarPreference(RIGHT_EDGE_SEEKBAR_KEY);
+    }
+
+    @Override
+    public void onResume() {
+        super.onResume();
+
+        mWindowManager.addView(mIndicatorView, mIndicatorView.getLayoutParams(
+                getActivity().getWindow().getAttributes()));
+    }
+
+    @Override
+    public void onPause() {
+        super.onPause();
+
+        mWindowManager.removeView(mIndicatorView);
+    }
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.gesture_navigation_settings;
+    }
+
+    @Override
+    public int getHelpResource() {
+        // TODO(b/146001201): Replace with gesture navigation help page when ready.
+        return R.string.help_uri_default;
+    }
+
+    @Override
+    protected String getLogTag() {
+        return TAG;
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.SETTINGS_GESTURE_NAV_BACK_SENSITIVITY_DLG;
+    }
+
+    private void initSeekBarPreference(final String key) {
+        final LabeledSeekBarPreference pref = getPreferenceScreen().findPreference(key);
+        pref.setContinuousUpdates(true);
+
+        final String settingsKey = key == LEFT_EDGE_SEEKBAR_KEY
+                ? Settings.Secure.BACK_GESTURE_INSET_SCALE_LEFT
+                : Settings.Secure.BACK_GESTURE_INSET_SCALE_RIGHT;
+        final float initScale = Settings.Secure.getFloat(
+                getContext().getContentResolver(), settingsKey, 1.0f);
+
+        // Find the closest value to initScale
+        float minDistance = Float.MAX_VALUE;
+        int minDistanceIndex = -1;
+        for (int i = 0; i < BACK_GESTURE_INSET_SCALES.length; i++) {
+            float d = Math.abs(BACK_GESTURE_INSET_SCALES[i] - initScale);
+            if (d < minDistance) {
+                minDistance = d;
+                minDistanceIndex = i;
+            }
+        }
+        pref.setProgress(minDistanceIndex);
+
+        pref.setOnPreferenceChangeListener((p, v) -> {
+            final int width = (int) (mDefaultBackGestureInset * BACK_GESTURE_INSET_SCALES[(int) v]);
+            mIndicatorView.setIndicatorWidth(width, key == LEFT_EDGE_SEEKBAR_KEY);
+            return true;
+        });
+
+        pref.setOnPreferenceChangeStopListener((p, v) -> {
+            mIndicatorView.setIndicatorWidth(0, key == LEFT_EDGE_SEEKBAR_KEY);
+            final float scale = BACK_GESTURE_INSET_SCALES[(int) v];
+            Settings.Secure.putFloat(getContext().getContentResolver(), settingsKey, scale);
+            return true;
+        });
+    }
+
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.gesture_navigation_settings);
+}
diff --git a/src/com/android/settings/gestures/GesturePreferenceController.java b/src/com/android/settings/gestures/GesturePreferenceController.java
index d7b386a..4fcf276 100644
--- a/src/com/android/settings/gestures/GesturePreferenceController.java
+++ b/src/com/android/settings/gestures/GesturePreferenceController.java
@@ -17,9 +17,7 @@
 package com.android.settings.gestures;
 
 import android.content.Context;
-import android.os.Bundle;
 
-import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
@@ -27,21 +25,14 @@
 import com.android.settings.core.TogglePreferenceController;
 import com.android.settings.widget.VideoPreference;
 import com.android.settingslib.core.lifecycle.LifecycleObserver;
-import com.android.settingslib.core.lifecycle.events.OnCreate;
-import com.android.settingslib.core.lifecycle.events.OnPause;
-import com.android.settingslib.core.lifecycle.events.OnResume;
-import com.android.settingslib.core.lifecycle.events.OnSaveInstanceState;
+import com.android.settingslib.core.lifecycle.events.OnStart;
+import com.android.settingslib.core.lifecycle.events.OnStop;
 
 public abstract class GesturePreferenceController extends TogglePreferenceController
         implements Preference.OnPreferenceChangeListener,
-        LifecycleObserver, OnResume, OnPause, OnCreate, OnSaveInstanceState {
-
-    @VisibleForTesting
-    static final String KEY_VIDEO_PAUSED = "key_video_paused";
+        LifecycleObserver, OnStart, OnStop {
 
     private VideoPreference mVideoPreference;
-    @VisibleForTesting
-    boolean mVideoPaused;
 
     public GesturePreferenceController(Context context, String key) {
         super(context, key);
@@ -71,32 +62,19 @@
     }
 
     @Override
-    public void onCreate(Bundle savedInstanceState) {
-        if (savedInstanceState != null) {
-            mVideoPaused = savedInstanceState.getBoolean(KEY_VIDEO_PAUSED, false);
+    public void onStart() {
+        if (mVideoPreference != null) {
+            mVideoPreference.onViewVisible();
         }
     }
 
     @Override
-    public void onSaveInstanceState(Bundle outState) {
-        outState.putBoolean(KEY_VIDEO_PAUSED, mVideoPaused);
-    }
-
-    @Override
-    public void onPause() {
+    public void onStop() {
         if (mVideoPreference != null) {
-            mVideoPaused = mVideoPreference.isVideoPaused();
             mVideoPreference.onViewInvisible();
         }
     }
 
-    @Override
-    public void onResume() {
-        if (mVideoPreference != null) {
-            mVideoPreference.onViewVisible(mVideoPaused);
-        }
-    }
-
     protected abstract String getVideoPrefKey();
 
     protected boolean canHandleClicks() {
diff --git a/src/com/android/settings/gestures/GestureSettings.java b/src/com/android/settings/gestures/GestureSettings.java
index db402cc..76964e5 100644
--- a/src/com/android/settings/gestures/GestureSettings.java
+++ b/src/com/android/settings/gestures/GestureSettings.java
@@ -19,16 +19,12 @@
 import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.hardware.display.AmbientDisplayConfiguration;
-import android.provider.SearchIndexableResource;
 
 import com.android.settings.R;
 import com.android.settings.dashboard.DashboardFragment;
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settingslib.search.SearchIndexable;
 
-import java.util.Arrays;
-import java.util.List;
-
 @SearchIndexable
 public class GestureSettings extends DashboardFragment {
 
@@ -66,21 +62,6 @@
         return mAmbientDisplayConfig;
     }
 
-    public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(
-                        Context context, boolean enabled) {
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.gestures;
-                    return Arrays.asList(sir);
-                }
-
-                @Override
-                protected boolean isPageSearchEnabled(Context context) {
-                    // All rows in this screen can lead to a different page, so suppress everything
-                    // from this page to remove duplicates.
-                    return false;
-                }
-            };
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.gestures);
 }
diff --git a/src/com/android/settings/gestures/GlobalActionsPanelPreferenceController.java b/src/com/android/settings/gestures/GlobalActionsPanelPreferenceController.java
index b980499..32a7ba5 100644
--- a/src/com/android/settings/gestures/GlobalActionsPanelPreferenceController.java
+++ b/src/com/android/settings/gestures/GlobalActionsPanelPreferenceController.java
@@ -61,6 +61,11 @@
     }
 
     @Override
+    public boolean isPublicSlice() {
+        return true;
+    }
+
+    @Override
     public boolean isChecked() {
         int enabled = Settings.Secure.getInt(mContext.getContentResolver(), ENABLED_SETTING, 0);
         return enabled == 1;
diff --git a/src/com/android/settings/gestures/GlobalActionsPanelSettings.java b/src/com/android/settings/gestures/GlobalActionsPanelSettings.java
index fe9a9e8..1ae2a23 100644
--- a/src/com/android/settings/gestures/GlobalActionsPanelSettings.java
+++ b/src/com/android/settings/gestures/GlobalActionsPanelSettings.java
@@ -17,17 +17,12 @@
 package com.android.settings.gestures;
 
 import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.provider.SearchIndexableResource;
 
 import com.android.settings.R;
 import com.android.settings.dashboard.DashboardFragment;
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settingslib.search.SearchIndexable;
 
-import java.util.Arrays;
-import java.util.List;
-
 @SearchIndexable
 public class GlobalActionsPanelSettings extends DashboardFragment {
 
@@ -48,14 +43,6 @@
         return R.xml.global_actions_panel_settings;
     }
 
-    public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-        new BaseSearchIndexProvider() {
-            @Override
-            public List<SearchIndexableResource> getXmlResourcesToIndex(
-                    Context context, boolean enabled) {
-                final SearchIndexableResource sir = new SearchIndexableResource(context);
-                sir.xmlResId = R.xml.global_actions_panel_settings;
-                return Arrays.asList(sir);
-            }
-        };
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+        new BaseSearchIndexProvider(R.xml.global_actions_panel_settings);
 }
diff --git a/src/com/android/settings/gestures/PickupGesturePreferenceController.java b/src/com/android/settings/gestures/PickupGesturePreferenceController.java
index 0738a51..c1590bf 100644
--- a/src/com/android/settings/gestures/PickupGesturePreferenceController.java
+++ b/src/com/android/settings/gestures/PickupGesturePreferenceController.java
@@ -73,6 +73,11 @@
     }
 
     @Override
+    public boolean isPublicSlice() {
+        return true;
+    }
+
+    @Override
     protected String getVideoPrefKey() {
         return PREF_KEY_VIDEO;
     }
diff --git a/src/com/android/settings/gestures/PickupGestureSettings.java b/src/com/android/settings/gestures/PickupGestureSettings.java
index f1cc3f0..7d59754 100644
--- a/src/com/android/settings/gestures/PickupGestureSettings.java
+++ b/src/com/android/settings/gestures/PickupGestureSettings.java
@@ -20,7 +20,6 @@
 import android.content.Context;
 import android.content.SharedPreferences;
 import android.hardware.display.AmbientDisplayConfiguration;
-import android.provider.SearchIndexableResource;
 
 import com.android.settings.R;
 import com.android.settings.dashboard.DashboardFragment;
@@ -29,9 +28,6 @@
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settingslib.search.SearchIndexable;
 
-import java.util.Arrays;
-import java.util.List;
-
 @SearchIndexable
 public class PickupGestureSettings extends DashboardFragment {
 
@@ -72,15 +68,7 @@
         return R.string.help_url_pickup_gesture;
     }
 
-    public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(
-                        Context context, boolean enabled) {
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.pick_up_gesture_settings;
-                    return Arrays.asList(sir);
-                }
-            };
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.pick_up_gesture_settings);
 
 }
diff --git a/src/com/android/settings/gestures/PreventRingingGesturePreferenceController.java b/src/com/android/settings/gestures/PreventRingingGesturePreferenceController.java
index 04f7e476..541bfe4 100644
--- a/src/com/android/settings/gestures/PreventRingingGesturePreferenceController.java
+++ b/src/com/android/settings/gestures/PreventRingingGesturePreferenceController.java
@@ -20,7 +20,6 @@
 import android.content.Context;
 import android.database.ContentObserver;
 import android.net.Uri;
-import android.os.Bundle;
 import android.os.Handler;
 import android.provider.Settings;
 
@@ -31,19 +30,17 @@
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.settings.R;
 import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settings.widget.RadioButtonPreference;
 import com.android.settings.widget.VideoPreference;
 import com.android.settingslib.core.AbstractPreferenceController;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 import com.android.settingslib.core.lifecycle.LifecycleObserver;
-import com.android.settingslib.core.lifecycle.events.OnCreate;
 import com.android.settingslib.core.lifecycle.events.OnPause;
 import com.android.settingslib.core.lifecycle.events.OnResume;
-import com.android.settingslib.core.lifecycle.events.OnSaveInstanceState;
+import com.android.settingslib.widget.RadioButtonPreference;
 
 public class PreventRingingGesturePreferenceController extends AbstractPreferenceController
-        implements RadioButtonPreference.OnClickListener, LifecycleObserver, OnSaveInstanceState,
-        OnResume, OnPause, OnCreate, PreferenceControllerMixin {
+        implements RadioButtonPreference.OnClickListener, LifecycleObserver,
+        OnResume, OnPause, PreferenceControllerMixin {
 
     @VisibleForTesting
     static final String KEY_VIBRATE = "prevent_ringing_option_vibrate";
@@ -51,13 +48,11 @@
     @VisibleForTesting
     static final String KEY_MUTE = "prevent_ringing_option_mute";
 
-    private final String KEY_VIDEO_PAUSED = "key_video_paused";
     private final String PREF_KEY_VIDEO = "gesture_prevent_ringing_video";
     private final String KEY = "gesture_prevent_ringing_category";
     private final Context mContext;
 
     private VideoPreference mVideoPreference;
-    private boolean mVideoPaused;
 
     @VisibleForTesting
     PreferenceCategory mPreferenceCategory;
@@ -110,11 +105,6 @@
     }
 
     @Override
-    public void onSaveInstanceState(Bundle outState) {
-        outState.putBoolean(KEY_VIDEO_PAUSED, mVideoPaused);
-    }
-
-    @Override
     public void onRadioButtonClicked(RadioButtonPreference preference) {
         int preventRingingSetting = keyToSetting(preference.getKey());
         if (preventRingingSetting != Settings.Secure.getInt(mContext.getContentResolver(),
@@ -147,13 +137,6 @@
     }
 
     @Override
-    public void onCreate(Bundle savedInstanceState) {
-        if (savedInstanceState != null) {
-            mVideoPaused = savedInstanceState.getBoolean(KEY_VIDEO_PAUSED, false);
-        }
-    }
-
-    @Override
     public void onResume() {
         if (mSettingObserver != null) {
             mSettingObserver.register(mContext.getContentResolver());
@@ -161,7 +144,7 @@
         }
 
         if (mVideoPreference != null) {
-            mVideoPreference.onViewVisible(mVideoPaused);
+            mVideoPreference.onViewVisible();
         }
     }
 
@@ -172,7 +155,6 @@
         }
 
         if (mVideoPreference != null) {
-            mVideoPaused = mVideoPreference.isVideoPaused();
             mVideoPreference.onViewInvisible();
         }
     }
diff --git a/src/com/android/settings/gestures/PreventRingingGestureSettings.java b/src/com/android/settings/gestures/PreventRingingGestureSettings.java
index 47cd3ea..d327b71 100644
--- a/src/com/android/settings/gestures/PreventRingingGestureSettings.java
+++ b/src/com/android/settings/gestures/PreventRingingGestureSettings.java
@@ -74,15 +74,8 @@
         return R.string.help_uri_prevent_ringing_gesture;
     }
 
-    public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(
-                        Context context, boolean enabled) {
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.prevent_ringing_gesture_settings;
-                    return Arrays.asList(sir);
-                }
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.prevent_ringing_gesture_settings) {
 
                 @Override
                 public List<AbstractPreferenceController> createPreferenceControllers(
diff --git a/src/com/android/settings/gestures/PreventRingingParentPreferenceController.java b/src/com/android/settings/gestures/PreventRingingParentPreferenceController.java
index afb3431..7c7be09 100644
--- a/src/com/android/settings/gestures/PreventRingingParentPreferenceController.java
+++ b/src/com/android/settings/gestures/PreventRingingParentPreferenceController.java
@@ -38,7 +38,7 @@
     public int getAvailabilityStatus() {
         return mContext.getResources().getBoolean(
                 com.android.internal.R.bool.config_volumeHushGestureEnabled)
-                ? AVAILABLE_UNSEARCHABLE : UNSUPPORTED_ON_DEVICE;
+                ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
     }
 
     @Override
diff --git a/src/com/android/settings/gestures/SwipeToNotificationPreferenceController.java b/src/com/android/settings/gestures/SwipeToNotificationPreferenceController.java
index 104abf9..af541ff 100644
--- a/src/com/android/settings/gestures/SwipeToNotificationPreferenceController.java
+++ b/src/com/android/settings/gestures/SwipeToNotificationPreferenceController.java
@@ -66,6 +66,11 @@
     }
 
     @Override
+    public boolean isPublicSlice() {
+        return true;
+    }
+
+    @Override
     public boolean setChecked(boolean isChecked) {
         setSwipeToNotification(mContext, isChecked);
         return true;
diff --git a/src/com/android/settings/gestures/SwipeToNotificationSettings.java b/src/com/android/settings/gestures/SwipeToNotificationSettings.java
index 230cdda..961718f 100644
--- a/src/com/android/settings/gestures/SwipeToNotificationSettings.java
+++ b/src/com/android/settings/gestures/SwipeToNotificationSettings.java
@@ -19,7 +19,6 @@
 import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.content.SharedPreferences;
-import android.provider.SearchIndexableResource;
 
 import com.android.settings.R;
 import com.android.settings.dashboard.DashboardFragment;
@@ -28,9 +27,6 @@
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settingslib.search.SearchIndexable;
 
-import java.util.Arrays;
-import java.util.List;
-
 @SearchIndexable
 public class SwipeToNotificationSettings extends DashboardFragment {
 
@@ -63,15 +59,8 @@
         return R.xml.swipe_to_notification_settings;
     }
 
-    public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(
-                        Context context, boolean enabled) {
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.swipe_to_notification_settings;
-                    return Arrays.asList(sir);
-                }
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.swipe_to_notification_settings) {
 
                 @Override
                 protected boolean isPageSearchEnabled(Context context) {
diff --git a/src/com/android/settings/gestures/SystemNavigationGestureSettings.java b/src/com/android/settings/gestures/SystemNavigationGestureSettings.java
index 9e35529..728343e 100644
--- a/src/com/android/settings/gestures/SystemNavigationGestureSettings.java
+++ b/src/com/android/settings/gestures/SystemNavigationGestureSettings.java
@@ -33,7 +33,6 @@
 import android.content.om.OverlayInfo;
 import android.os.RemoteException;
 import android.os.ServiceManager;
-import android.provider.SearchIndexableResource;
 import android.provider.Settings;
 import android.text.TextUtils;
 import android.view.accessibility.AccessibilityManager;
@@ -41,35 +40,32 @@
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.SettingsTutorialDialogWrapperActivity;
 import com.android.settings.R;
+import com.android.settings.SettingsTutorialDialogWrapperActivity;
 import com.android.settings.dashboard.suggestions.SuggestionFeatureProvider;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
+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.utils.CandidateInfoExtra;
 import com.android.settings.widget.RadioButtonPickerFragment;
-import com.android.settings.widget.RadioButtonPreference;
 import com.android.settings.widget.RadioButtonPreferenceWithExtraWidget;
 import com.android.settings.widget.VideoPreference;
 import com.android.settingslib.search.SearchIndexable;
 import com.android.settingslib.widget.CandidateInfo;
+import com.android.settingslib.widget.RadioButtonPreference;
 
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.List;
 
 @SearchIndexable
-public class SystemNavigationGestureSettings extends RadioButtonPickerFragment {
+public class SystemNavigationGestureSettings extends RadioButtonPickerFragment implements
+        HelpResourceProvider {
 
     private static final String TAG = "SystemNavigationGesture";
 
     @VisibleForTesting
-    static final String SHARED_PREFERENCES_NAME = "system_navigation_settings_preferences";
-    @VisibleForTesting
-    static final String PREFS_BACK_SENSITIVITY_KEY = "system_navigation_back_sensitivity";
-
-    @VisibleForTesting
     static final String KEY_SYSTEM_NAV_3BUTTONS = "system_nav_3buttons";
     @VisibleForTesting
     static final String KEY_SYSTEM_NAV_2BUTTONS = "system_nav_2buttons";
@@ -79,25 +75,6 @@
     public static final String PREF_KEY_SUGGESTION_COMPLETE =
             "pref_system_navigation_suggestion_complete";
 
-    @VisibleForTesting
-    static final String NAV_BAR_MODE_GESTURAL_OVERLAY_NARROW_BACK
-            = "com.android.internal.systemui.navbar.gestural_narrow_back";
-    @VisibleForTesting
-    static final String NAV_BAR_MODE_GESTURAL_OVERLAY_WIDE_BACK
-            = "com.android.internal.systemui.navbar.gestural_wide_back";
-    @VisibleForTesting
-    static final String NAV_BAR_MODE_GESTURAL_OVERLAY_EXTRA_WIDE_BACK
-            = "com.android.internal.systemui.navbar.gestural_extra_wide_back";
-    @VisibleForTesting
-    static final String[] BACK_GESTURE_INSET_OVERLAYS = {
-            NAV_BAR_MODE_GESTURAL_OVERLAY_NARROW_BACK,
-            NAV_BAR_MODE_GESTURAL_OVERLAY,
-            NAV_BAR_MODE_GESTURAL_OVERLAY_WIDE_BACK,
-            NAV_BAR_MODE_GESTURAL_OVERLAY_EXTRA_WIDE_BACK
-    };
-    @VisibleForTesting
-    static int BACK_GESTURE_INSET_DEFAULT_OVERLAY = 1;
-
     private IOverlayManager mOverlayManager;
 
     private VideoPreference mVideoPreference;
@@ -105,6 +82,9 @@
     @Override
     public void onAttach(Context context) {
         super.onAttach(context);
+        SearchMenuController.init(this /* host */);
+        HelpMenuController.init(this /* host */);
+
         SuggestionFeatureProvider suggestionFeatureProvider = FeatureFactory.getFactory(context)
                 .getSuggestionFeatureProvider(context);
         SharedPreferences prefs = suggestionFeatureProvider.getSharedPrefs(context);
@@ -118,6 +98,8 @@
         mVideoPreference.setHeight( /* Illustration height in dp */
                 getResources().getDimension(R.dimen.system_navigation_illustration_height)
                         / getResources().getDisplayMetrics().density);
+
+        migrateOverlaySensitivityToSettings(context, mOverlayManager);
     }
 
     @Override
@@ -160,8 +142,8 @@
         RadioButtonPreferenceWithExtraWidget p = (RadioButtonPreferenceWithExtraWidget) pref;
         if (info.getKey() == KEY_SYSTEM_NAV_GESTURAL) {
             p.setExtraWidgetVisibility(EXTRA_WIDGET_VISIBILITY_SETTING);
-            p.setExtraWidgetOnClickListener((v) -> GestureNavigationBackSensitivityDialog
-                    .show(this, getBackSensitivity(getContext(), mOverlayManager)));
+            p.setExtraWidgetOnClickListener((v) -> startActivity(new Intent(
+                    GestureNavigationSettingsFragment.GESTURE_NAVIGATION_SETTINGS)));
         } else {
             p.setExtraWidgetVisibility(EXTRA_WIDGET_VISIBILITY_GONE);
         }
@@ -209,8 +191,7 @@
 
     @Override
     protected boolean setDefaultKey(String key) {
-        final Context c = getContext();
-        setCurrentSystemNavigationMode(c, mOverlayManager, key);
+        setCurrentSystemNavigationMode(mOverlayManager, key);
         setIllustrationVideo(mVideoPreference, key);
         if (TextUtils.equals(KEY_SYSTEM_NAV_GESTURAL, key) && (
                 isAnyServiceSupportAccessibilityButton() || isNavBarMagnificationEnabled())) {
@@ -221,42 +202,32 @@
         return true;
     }
 
-    @VisibleForTesting
-    static void setBackSensitivity(Context context, IOverlayManager overlayManager,
-            int sensitivity) {
-        if (sensitivity < 0 || sensitivity >= BACK_GESTURE_INSET_OVERLAYS.length) {
-            throw new IllegalArgumentException("Sensitivity out of range.");
+    static void migrateOverlaySensitivityToSettings(Context context,
+            IOverlayManager overlayManager) {
+        if (!SystemNavigationPreferenceController.isGestureNavigationEnabled(context)) {
+            return;
         }
 
-        // Store the sensitivity level, to be able to restore when user returns to Gesture Nav mode
-        context.getSharedPreferences(SHARED_PREFERENCES_NAME, Context.MODE_PRIVATE).edit()
-                .putInt(PREFS_BACK_SENSITIVITY_KEY, sensitivity).apply();
-        if (getCurrentSystemNavigationMode(context) == KEY_SYSTEM_NAV_GESTURAL) {
-            setNavBarInteractionMode(overlayManager, BACK_GESTURE_INSET_OVERLAYS[sensitivity]);
+        OverlayInfo info = null;
+        try {
+            info = overlayManager.getOverlayInfo(NAV_BAR_MODE_GESTURAL_OVERLAY, USER_CURRENT);
+        } catch (RemoteException e) { /* Do nothing */ }
+        if (info != null && !info.isEnabled()) {
+            // Enable the default gesture nav overlay. Back sensitivity for left and right are
+            // stored as separate settings values, and other gesture nav overlays are deprecated.
+            setCurrentSystemNavigationMode(overlayManager, KEY_SYSTEM_NAV_GESTURAL);
+            Settings.Secure.putFloat(context.getContentResolver(),
+                    Settings.Secure.BACK_GESTURE_INSET_SCALE_LEFT, 1.0f);
+            Settings.Secure.putFloat(context.getContentResolver(),
+                    Settings.Secure.BACK_GESTURE_INSET_SCALE_RIGHT, 1.0f);
         }
     }
 
     @VisibleForTesting
-    static int getBackSensitivity(Context context, IOverlayManager overlayManager) {
-        for (int i = 0; i < BACK_GESTURE_INSET_OVERLAYS.length; i++) {
-            OverlayInfo info = null;
-            try {
-                info = overlayManager.getOverlayInfo(BACK_GESTURE_INSET_OVERLAYS[i], USER_CURRENT);
-            } catch (RemoteException e) { /* Do nothing */ }
-            if (info != null && info.isEnabled()) {
-                return i;
-            }
-        }
-        // If Gesture nav is not selected, read the value from shared preferences.
-        return context.getSharedPreferences(SHARED_PREFERENCES_NAME, Context.MODE_PRIVATE)
-                .getInt(PREFS_BACK_SENSITIVITY_KEY, BACK_GESTURE_INSET_DEFAULT_OVERLAY);
-    }
-
-    @VisibleForTesting
     static String getCurrentSystemNavigationMode(Context context) {
-        if (SystemNavigationPreferenceController.isEdgeToEdgeEnabled(context)) {
+        if (SystemNavigationPreferenceController.isGestureNavigationEnabled(context)) {
             return KEY_SYSTEM_NAV_GESTURAL;
-        } else if (SystemNavigationPreferenceController.isSwipeUpEnabled(context)) {
+        } else if (SystemNavigationPreferenceController.is2ButtonNavigationEnabled(context)) {
             return KEY_SYSTEM_NAV_2BUTTONS;
         } else {
             return KEY_SYSTEM_NAV_3BUTTONS;
@@ -264,24 +235,20 @@
     }
 
     @VisibleForTesting
-    static void setCurrentSystemNavigationMode(Context context, IOverlayManager overlayManager,
-            String key) {
+    static void setCurrentSystemNavigationMode(IOverlayManager overlayManager, String key) {
+        String overlayPackage = NAV_BAR_MODE_GESTURAL_OVERLAY;
         switch (key) {
             case KEY_SYSTEM_NAV_GESTURAL:
-                int sensitivity = getBackSensitivity(context, overlayManager);
-                setNavBarInteractionMode(overlayManager, BACK_GESTURE_INSET_OVERLAYS[sensitivity]);
+                overlayPackage = NAV_BAR_MODE_GESTURAL_OVERLAY;
                 break;
             case KEY_SYSTEM_NAV_2BUTTONS:
-                setNavBarInteractionMode(overlayManager, NAV_BAR_MODE_2BUTTON_OVERLAY);
+                overlayPackage = NAV_BAR_MODE_2BUTTON_OVERLAY;
                 break;
             case KEY_SYSTEM_NAV_3BUTTONS:
-                setNavBarInteractionMode(overlayManager, NAV_BAR_MODE_3BUTTON_OVERLAY);
+                overlayPackage = NAV_BAR_MODE_3BUTTON_OVERLAY;
                 break;
         }
-    }
 
-    private static void setNavBarInteractionMode(IOverlayManager overlayManager,
-            String overlayPackage) {
         try {
             overlayManager.setEnabledExclusiveInCategory(overlayPackage, USER_CURRENT);
         } catch (RemoteException e) {
@@ -325,19 +292,19 @@
                 Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_NAVBAR_ENABLED, 0) == 1;
     }
 
-    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(
-                        Context context, boolean enabled) {
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.system_navigation_gesture_settings;
-                    return Arrays.asList(sir);
-                }
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.system_navigation_gesture_settings) {
 
                 @Override
                 protected boolean isPageSearchEnabled(Context context) {
                     return SystemNavigationPreferenceController.isGestureAvailable(context);
                 }
             };
+
+    // From HelpResourceProvider
+    @Override
+    public int getHelpResource() {
+        // TODO(b/146001201): Replace with system navigation help page when ready.
+        return R.string.help_uri_default;
+    }
 }
diff --git a/src/com/android/settings/gestures/SystemNavigationPreferenceController.java b/src/com/android/settings/gestures/SystemNavigationPreferenceController.java
index d0d8155..ab83a9d 100644
--- a/src/com/android/settings/gestures/SystemNavigationPreferenceController.java
+++ b/src/com/android/settings/gestures/SystemNavigationPreferenceController.java
@@ -43,9 +43,9 @@
 
     @Override
     public CharSequence getSummary() {
-        if (isEdgeToEdgeEnabled(mContext)) {
+        if (isGestureNavigationEnabled(mContext)) {
             return mContext.getText(R.string.edge_to_edge_navigation_title);
-        } else if (isSwipeUpEnabled(mContext)) {
+        } else if (is2ButtonNavigationEnabled(mContext)) {
             return mContext.getText(R.string.swipe_up_to_switch_apps_title);
         } else {
             return mContext.getText(R.string.legacy_navigation_title);
@@ -86,15 +86,12 @@
         }
     }
 
-    static boolean isSwipeUpEnabled(Context context) {
-        if (isEdgeToEdgeEnabled(context)) {
-            return false;
-        }
+    static boolean is2ButtonNavigationEnabled(Context context) {
         return NAV_BAR_MODE_2BUTTON == context.getResources().getInteger(
                 com.android.internal.R.integer.config_navBarInteractionMode);
     }
 
-    static boolean isEdgeToEdgeEnabled(Context context) {
+    static boolean isGestureNavigationEnabled(Context context) {
         return NAV_BAR_MODE_GESTURAL == context.getResources().getInteger(
                 com.android.internal.R.integer.config_navBarInteractionMode);
     }
diff --git a/src/com/android/settings/gestures/TapScreenGesturePreferenceController.java b/src/com/android/settings/gestures/TapScreenGesturePreferenceController.java
index ba2b869..179ed26 100644
--- a/src/com/android/settings/gestures/TapScreenGesturePreferenceController.java
+++ b/src/com/android/settings/gestures/TapScreenGesturePreferenceController.java
@@ -23,7 +23,6 @@
 import android.hardware.display.AmbientDisplayConfiguration;
 import android.os.UserHandle;
 import android.provider.Settings;
-import android.text.TextUtils;
 
 public class TapScreenGesturePreferenceController extends GesturePreferenceController {
 
@@ -54,7 +53,7 @@
     }
 
     @Override
-    public boolean isSliceable() {
+    public boolean isPublicSlice() {
         return true;
     }
 
diff --git a/src/com/android/settings/gestures/TapScreenGestureSettings.java b/src/com/android/settings/gestures/TapScreenGestureSettings.java
index a86e682..99c3494 100644
--- a/src/com/android/settings/gestures/TapScreenGestureSettings.java
+++ b/src/com/android/settings/gestures/TapScreenGestureSettings.java
@@ -27,7 +27,7 @@
 import com.android.settings.dashboard.suggestions.SuggestionFeatureProvider;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
+import com.android.settingslib.search.Indexable;
 import com.android.settingslib.search.SearchIndexable;
 
 import java.util.Arrays;
@@ -67,14 +67,6 @@
         return R.xml.tap_screen_gesture_settings;
     }
 
-    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(
-                        Context context, boolean enabled) {
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.tap_screen_gesture_settings;
-                    return Arrays.asList(sir);
-                }
-            };
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.tap_screen_gesture_settings);
 }
diff --git a/src/com/android/settings/homepage/TopLevelSettings.java b/src/com/android/settings/homepage/TopLevelSettings.java
index f5dee0c..8a7f4bd 100644
--- a/src/com/android/settings/homepage/TopLevelSettings.java
+++ b/src/com/android/settings/homepage/TopLevelSettings.java
@@ -22,7 +22,6 @@
 import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.os.Bundle;
-import android.provider.SearchIndexableResource;
 
 import androidx.fragment.app.Fragment;
 import androidx.preference.Preference;
@@ -36,9 +35,6 @@
 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 {
@@ -103,15 +99,8 @@
                 .getBoolean(R.bool.config_force_rounded_icon_TopLevelSettings);
     }
 
-    public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(
-                        Context context, boolean enabled) {
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.top_level_settings;
-                    return Arrays.asList(sir);
-                }
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.top_level_settings) {
 
                 @Override
                 protected boolean isPageSearchEnabled(Context context) {
diff --git a/src/com/android/settings/homepage/contextualcards/CardContentProvider.java b/src/com/android/settings/homepage/contextualcards/CardContentProvider.java
index a9a832d..75ec651 100644
--- a/src/com/android/settings/homepage/contextualcards/CardContentProvider.java
+++ b/src/com/android/settings/homepage/contextualcards/CardContentProvider.java
@@ -26,12 +26,16 @@
 import android.net.Uri;
 import android.os.Build;
 import android.os.StrictMode;
+import android.util.ArrayMap;
 import android.util.Log;
 
 import androidx.annotation.VisibleForTesting;
 
+import com.android.settings.R;
 import com.android.settingslib.utils.ThreadUtils;
 
+import java.util.Map;
+
 /**
  * Provider stores and manages user interaction feedback for homepage contextual cards.
  */
@@ -40,15 +44,15 @@
     public static final String CARD_AUTHORITY = "com.android.settings.homepage.CardContentProvider";
 
     public static final Uri REFRESH_CARD_URI = new Uri.Builder()
-                    .scheme(ContentResolver.SCHEME_CONTENT)
-                    .authority(CardContentProvider.CARD_AUTHORITY)
-                    .appendPath(CardDatabaseHelper.CARD_TABLE)
-                    .build();
+            .scheme(ContentResolver.SCHEME_CONTENT)
+            .authority(CardContentProvider.CARD_AUTHORITY)
+            .appendPath(CardDatabaseHelper.CARD_TABLE)
+            .build();
 
     public static final Uri DELETE_CARD_URI = new Uri.Builder()
             .scheme(ContentResolver.SCHEME_CONTENT)
             .authority(CardContentProvider.CARD_AUTHORITY)
-            .appendPath(CardDatabaseHelper.CardColumns.CARD_DISMISSED)
+            .appendPath(CardDatabaseHelper.CardColumns.DISMISSED_TIMESTAMP)
             .build();
 
     private static final String TAG = "CardContentProvider";
@@ -81,6 +85,9 @@
         final StrictMode.ThreadPolicy oldPolicy = StrictMode.getThreadPolicy();
         int numInserted = 0;
         final SQLiteDatabase database = mDBHelper.getWritableDatabase();
+        final boolean keepDismissalTimestampBeforeDeletion = getContext().getResources()
+                .getBoolean(R.bool.config_keep_contextual_card_dismissal_timestamp);
+        final Map<String, Long> dismissedTimeMap = new ArrayMap<>();
 
         try {
             maybeEnableStrictMode();
@@ -88,9 +95,42 @@
             final String table = getTableFromMatch(uri);
             database.beginTransaction();
 
-            // Here deletion first is avoiding redundant insertion. According to cl/215350754
+            if (keepDismissalTimestampBeforeDeletion) {
+                // Query the existing db and get dismissal info.
+                final String[] columns = new String[]{CardDatabaseHelper.CardColumns.NAME,
+                        CardDatabaseHelper.CardColumns.DISMISSED_TIMESTAMP};
+                final String selection =
+                        CardDatabaseHelper.CardColumns.DISMISSED_TIMESTAMP + " IS NOT NULL";
+                try (Cursor cursor = database.query(table, columns, selection,
+                        null/* selectionArgs */, null /* groupBy */,
+                        null /* having */, null /* orderBy */)) {
+                    // Save them to a Map
+                    for (cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) {
+                        final String cardName = cursor.getString(cursor.getColumnIndex(
+                                CardDatabaseHelper.CardColumns.NAME));
+                        final long timestamp = cursor.getLong(cursor.getColumnIndex(
+                                CardDatabaseHelper.CardColumns.DISMISSED_TIMESTAMP));
+                        dismissedTimeMap.put(cardName, timestamp);
+                    }
+                }
+            }
+
+            // Here delete data first to avoid redundant insertion. According to cl/215350754
             database.delete(table, null /* whereClause */, null /* whereArgs */);
+
             for (ContentValues value : values) {
+                if (keepDismissalTimestampBeforeDeletion) {
+                    // Replace dismissedTimestamp in each value if there is an old one.
+                    final String cardName =
+                            value.get(CardDatabaseHelper.CardColumns.NAME).toString();
+                    if (dismissedTimeMap.containsKey(cardName)) {
+                        // Replace the value of dismissedTimestamp
+                        value.put(CardDatabaseHelper.CardColumns.DISMISSED_TIMESTAMP,
+                                dismissedTimeMap.get(cardName));
+                        Log.d(TAG, "Replace dismissed time: " + cardName);
+                    }
+                }
+
                 long ret = database.insert(table, null /* nullColumnHack */, value);
                 if (ret != -1L) {
                     numInserted++;
diff --git a/src/com/android/settings/homepage/contextualcards/CardDatabaseHelper.java b/src/com/android/settings/homepage/contextualcards/CardDatabaseHelper.java
index 39c48c1..5af0ca6 100644
--- a/src/com/android/settings/homepage/contextualcards/CardDatabaseHelper.java
+++ b/src/com/android/settings/homepage/contextualcards/CardDatabaseHelper.java
@@ -16,9 +16,7 @@
 
 package com.android.settings.homepage.contextualcards;
 
-import android.content.ContentValues;
 import android.content.Context;
-import android.database.Cursor;
 import android.database.sqlite.SQLiteDatabase;
 import android.database.sqlite.SQLiteOpenHelper;
 import android.util.Log;
@@ -31,7 +29,7 @@
 public class CardDatabaseHelper extends SQLiteOpenHelper {
     private static final String TAG = "CardDatabaseHelper";
     private static final String DATABASE_NAME = "homepage_cards.db";
-    private static final int DATABASE_VERSION = 5;
+    private static final int DATABASE_VERSION = 7;
 
     public static final String CARD_TABLE = "cards";
 
@@ -62,11 +60,6 @@
         String CATEGORY = "category";
 
         /**
-         * Keep the card last display's locale.
-         */
-        String LOCALIZED_TO_LOCALE = "localized_to_locale";
-
-        /**
          * Package name for all card candidates.
          */
         String PACKAGE_NAME = "package_name";
@@ -77,96 +70,32 @@
         String APP_VERSION = "app_version";
 
         /**
-         * Title resource name of the package.
+         * Timestamp of card being dismissed.
          */
-        String TITLE_RES_NAME = "title_res_name";
-
-        /**
-         * Title of the package to be shown.
-         */
-        String TITLE_TEXT = "title_text";
-
-        /**
-         * Summary resource name of the package.
-         */
-        String SUMMARY_RES_NAME = "summary_res_name";
-
-        /**
-         * Summary of the package to be shown.
-         */
-        String SUMMARY_TEXT = "summary_text";
-
-        /**
-         * Icon resource name of the package.
-         */
-        String ICON_RES_NAME = "icon_res_name";
-
-        /**
-         * Icon resource id of the package.
-         */
-        String ICON_RES_ID = "icon_res_id";
-
-        /**
-         * Key value mapping to Intent in Settings. Do action when user presses card.
-         */
-        String CARD_ACTION = "card_action";
-
-        /**
-         * Expire time of the card. The unit of the value is mini-second.
-         */
-        String EXPIRE_TIME_MS = "expire_time_ms";
-
-        /**
-         * Decide the card display full-length width or half-width in screen.
-         */
-        String SUPPORT_HALF_WIDTH = "support_half_width";
-
-        /**
-         * Decide the card is dismissed or not.
-         */
-        String CARD_DISMISSED = "card_dismissed";
+        String DISMISSED_TIMESTAMP = "dismissed_timestamp";
     }
 
     private static final String CREATE_CARD_TABLE =
-            "CREATE TABLE " + CARD_TABLE +
-                    "(" +
-                    CardColumns.NAME +
-                    " TEXT NOT NULL PRIMARY KEY, " +
-                    CardColumns.TYPE +
-                    " INTEGER NOT NULL, " +
-                    CardColumns.SCORE +
-                    " DOUBLE NOT NULL, " +
-                    CardColumns.SLICE_URI +
-                    " TEXT, " +
-                    CardColumns.CATEGORY +
-                    " INTEGER DEFAULT 0, " +
-                    CardColumns.LOCALIZED_TO_LOCALE +
-                    " TEXT, " +
-                    CardColumns.PACKAGE_NAME +
-                    " TEXT NOT NULL, " +
-                    CardColumns.APP_VERSION +
-                    " INTEGER NOT NULL, " +
-                    CardColumns.TITLE_RES_NAME +
-                    " TEXT, " +
-                    CardColumns.TITLE_TEXT +
-                    " TEXT, " +
-                    CardColumns.SUMMARY_RES_NAME +
-                    " TEXT, " +
-                    CardColumns.SUMMARY_TEXT +
-                    " TEXT, " +
-                    CardColumns.ICON_RES_NAME +
-                    " TEXT, " +
-                    CardColumns.ICON_RES_ID +
-                    " INTEGER DEFAULT 0, " +
-                    CardColumns.CARD_ACTION +
-                    " INTEGER, " +
-                    CardColumns.EXPIRE_TIME_MS +
-                    " INTEGER, " +
-                    CardColumns.SUPPORT_HALF_WIDTH +
-                    " INTEGER DEFAULT 0, " +
-                    CardColumns.CARD_DISMISSED +
-                    " INTEGER DEFAULT 0 " +
-                    ");";
+            "CREATE TABLE "
+                    + CARD_TABLE
+                    + "("
+                    + CardColumns.NAME
+                    + " TEXT NOT NULL PRIMARY KEY, "
+                    + CardColumns.TYPE
+                    + " INTEGER NOT NULL, "
+                    + CardColumns.SCORE
+                    + " DOUBLE NOT NULL, "
+                    + CardColumns.SLICE_URI
+                    + " TEXT, "
+                    + CardColumns.CATEGORY
+                    + " INTEGER DEFAULT 0, "
+                    + CardColumns.PACKAGE_NAME
+                    + " TEXT NOT NULL, "
+                    + CardColumns.APP_VERSION
+                    + " INTEGER NOT NULL, "
+                    + CardColumns.DISMISSED_TIMESTAMP
+                    + " INTEGER"
+                    + ");";
 
     public CardDatabaseHelper(Context context) {
         super(context, DATABASE_NAME, null, DATABASE_VERSION);
@@ -195,32 +124,4 @@
         }
         return sCardDatabaseHelper;
     }
-
-    Cursor getContextualCards() {
-        final SQLiteDatabase db = getReadableDatabase();
-        final String selection = CardColumns.CARD_DISMISSED + "=0";
-        return db.query(CARD_TABLE, null /* columns */, selection,
-                null /* selectionArgs */, null /* groupBy */, null /* having */,
-                CardColumns.SCORE + " DESC" /* orderBy */);
-    }
-
-    /**
-     * Mark a specific ContextualCard with dismissal flag in the database to indicate that the
-     * card has been dismissed.
-     *
-     * @param context  Context
-     * @param cardName The card name of the ContextualCard which is dismissed by user.
-     * @return The number of rows updated
-     */
-    public int markContextualCardAsDismissed(Context context, String cardName) {
-        final SQLiteDatabase database = getWritableDatabase();
-        final ContentValues values = new ContentValues();
-        values.put(CardColumns.CARD_DISMISSED, 1);
-        final String selection = CardColumns.NAME + "=?";
-        final String[] selectionArgs = {cardName};
-        final int rowsUpdated = database.update(CARD_TABLE, values, selection, selectionArgs);
-        database.close();
-        context.getContentResolver().notifyChange(CardContentProvider.DELETE_CARD_URI, null);
-        return rowsUpdated;
-    }
 }
diff --git a/src/com/android/settings/homepage/contextualcards/ContextualCard.java b/src/com/android/settings/homepage/contextualcards/ContextualCard.java
index ccfb22d..262cd2f 100644
--- a/src/com/android/settings/homepage/contextualcards/ContextualCard.java
+++ b/src/com/android/settings/homepage/contextualcards/ContextualCard.java
@@ -56,17 +56,10 @@
     private final double mRankingScore;
     private final String mSliceUri;
     private final int mCategory;
-    private final String mLocalizedToLocale;
     private final String mPackageName;
     private final long mAppVersion;
-    private final String mTitleResName;
     private final String mTitleText;
-    private final String mSummaryResName;
     private final String mSummaryText;
-    private final String mIconResName;
-    private final int mIconResId;
-    private final int mCardAction;
-    private final long mExpireTimeMS;
     private final boolean mIsLargeCard;
     private final Drawable mIconDrawable;
     @LayoutRes
@@ -98,10 +91,6 @@
         return mCategory;
     }
 
-    public String getLocalizedToLocale() {
-        return mLocalizedToLocale;
-    }
-
     public String getPackageName() {
         return mPackageName;
     }
@@ -110,38 +99,14 @@
         return mAppVersion;
     }
 
-    public String getTitleResName() {
-        return mTitleResName;
-    }
-
     public String getTitleText() {
         return mTitleText;
     }
 
-    public String getSummaryResName() {
-        return mSummaryResName;
-    }
-
     public String getSummaryText() {
         return mSummaryText;
     }
 
-    public String getIconResName() {
-        return mIconResName;
-    }
-
-    public int getIconResId() {
-        return mIconResId;
-    }
-
-    public int getCardAction() {
-        return mCardAction;
-    }
-
-    public long getExpireTimeMS() {
-        return mExpireTimeMS;
-    }
-
     public Drawable getIconDrawable() {
         return mIconDrawable;
     }
@@ -150,10 +115,6 @@
         return mIsLargeCard;
     }
 
-    boolean isCustomCard() {
-        return TextUtils.isEmpty(mSliceUri);
-    }
-
     public int getViewType() {
         return mViewType;
     }
@@ -177,17 +138,10 @@
         mRankingScore = builder.mRankingScore;
         mSliceUri = builder.mSliceUri;
         mCategory = builder.mCategory;
-        mLocalizedToLocale = builder.mLocalizedToLocale;
         mPackageName = builder.mPackageName;
         mAppVersion = builder.mAppVersion;
-        mTitleResName = builder.mTitleResName;
         mTitleText = builder.mTitleText;
-        mSummaryResName = builder.mSummaryResName;
         mSummaryText = builder.mSummaryText;
-        mIconResName = builder.mIconResName;
-        mIconResId = builder.mIconResId;
-        mCardAction = builder.mCardAction;
-        mExpireTimeMS = builder.mExpireTimeMS;
         mIconDrawable = builder.mIconDrawable;
         mIsLargeCard = builder.mIsLargeCard;
         mViewType = builder.mViewType;
@@ -207,31 +161,14 @@
         mBuilder.setSliceUri(Uri.parse(mSliceUri));
         mCategory = c.getInt(c.getColumnIndex(CardDatabaseHelper.CardColumns.CATEGORY));
         mBuilder.setCategory(mCategory);
-        mLocalizedToLocale = c.getString(
-                c.getColumnIndex(CardDatabaseHelper.CardColumns.LOCALIZED_TO_LOCALE));
-        mBuilder.setLocalizedToLocale(mLocalizedToLocale);
         mPackageName = c.getString(c.getColumnIndex(CardDatabaseHelper.CardColumns.PACKAGE_NAME));
         mBuilder.setPackageName(mPackageName);
         mAppVersion = c.getLong(c.getColumnIndex(CardDatabaseHelper.CardColumns.APP_VERSION));
         mBuilder.setAppVersion(mAppVersion);
-        mTitleResName = c.getString(
-                c.getColumnIndex(CardDatabaseHelper.CardColumns.TITLE_RES_NAME));
-        mBuilder.setTitleResName(mTitleResName);
-        mTitleText = c.getString(c.getColumnIndex(CardDatabaseHelper.CardColumns.TITLE_TEXT));
+        mTitleText = "";
         mBuilder.setTitleText(mTitleText);
-        mSummaryResName = c.getString(
-                c.getColumnIndex(CardDatabaseHelper.CardColumns.SUMMARY_RES_NAME));
-        mBuilder.setSummaryResName(mSummaryResName);
-        mSummaryText = c.getString(c.getColumnIndex(CardDatabaseHelper.CardColumns.SUMMARY_TEXT));
-        mBuilder.setSummaryText(mSummaryText);
-        mIconResName = c.getString(c.getColumnIndex(CardDatabaseHelper.CardColumns.ICON_RES_NAME));
-        mBuilder.setIconResName(mIconResName);
-        mIconResId = c.getInt(c.getColumnIndex(CardDatabaseHelper.CardColumns.ICON_RES_ID));
-        mBuilder.setIconResId(mIconResId);
-        mCardAction = c.getInt(c.getColumnIndex(CardDatabaseHelper.CardColumns.CARD_ACTION));
-        mBuilder.setCardAction(mCardAction);
-        mExpireTimeMS = c.getLong(c.getColumnIndex(CardDatabaseHelper.CardColumns.EXPIRE_TIME_MS));
-        mBuilder.setExpireTimeMS(mExpireTimeMS);
+        mSummaryText = "";
+        mBuilder.setTitleText(mSummaryText);
         mIsLargeCard = false;
         mBuilder.setIsLargeCard(mIsLargeCard);
         mIconDrawable = null;
@@ -278,17 +215,10 @@
         private double mRankingScore;
         private String mSliceUri;
         private int mCategory;
-        private String mLocalizedToLocale;
         private String mPackageName;
         private long mAppVersion;
-        private String mTitleResName;
         private String mTitleText;
-        private String mSummaryResName;
         private String mSummaryText;
-        private String mIconResName;
-        private int mIconResId;
-        private int mCardAction;
-        private long mExpireTimeMS;
         private Drawable mIconDrawable;
         private boolean mIsLargeCard;
         @LayoutRes
@@ -321,11 +251,6 @@
             return this;
         }
 
-        public Builder setLocalizedToLocale(String localizedToLocale) {
-            mLocalizedToLocale = localizedToLocale;
-            return this;
-        }
-
         public Builder setPackageName(String packageName) {
             mPackageName = packageName;
             return this;
@@ -336,46 +261,16 @@
             return this;
         }
 
-        public Builder setTitleResName(String titleResName) {
-            mTitleResName = titleResName;
-            return this;
-        }
-
         public Builder setTitleText(String titleText) {
             mTitleText = titleText;
             return this;
         }
 
-        public Builder setSummaryResName(String summaryResName) {
-            mSummaryResName = summaryResName;
-            return this;
-        }
-
         public Builder setSummaryText(String summaryText) {
             mSummaryText = summaryText;
             return this;
         }
 
-        public Builder setIconResName(String iconResName) {
-            mIconResName = iconResName;
-            return this;
-        }
-
-        public Builder setIconResId(int iconResId) {
-            mIconResId = iconResId;
-            return this;
-        }
-
-        public Builder setCardAction(int cardAction) {
-            mCardAction = cardAction;
-            return this;
-        }
-
-        public Builder setExpireTimeMS(long expireTimeMS) {
-            mExpireTimeMS = expireTimeMS;
-            return this;
-        }
-
         public Builder setIconDrawable(Drawable iconDrawable) {
             mIconDrawable = iconDrawable;
             return this;
diff --git a/src/com/android/settings/homepage/contextualcards/ContextualCardFeatureProvider.java b/src/com/android/settings/homepage/contextualcards/ContextualCardFeatureProvider.java
index bdf863e..60bffde 100644
--- a/src/com/android/settings/homepage/contextualcards/ContextualCardFeatureProvider.java
+++ b/src/com/android/settings/homepage/contextualcards/ContextualCardFeatureProvider.java
@@ -16,10 +16,25 @@
 
 package com.android.settings.homepage.contextualcards;
 
+import android.content.Context;
+import android.database.Cursor;
+
 import androidx.slice.Slice;
 
 /** Feature provider for the contextual card feature. */
 public interface ContextualCardFeatureProvider {
+    /** Get contextual cards from the card provider */
+    Cursor getContextualCards();
+
+    /**
+     * Mark a specific {@link ContextualCard} as dismissed with dismissal signal in the database
+     * to indicate that the card has been dismissed.
+     *
+     * @param context  Context
+     * @param cardName The card name of the ContextualCard which is dismissed by user.
+     * @return The number of rows updated
+     */
+    int markCardAsDismissed(Context context, String cardName);
 
     /** Log package when user clicks contextual notification channel card. */
     void logNotificationPackage(Slice slice);
diff --git a/src/com/android/settings/homepage/contextualcards/ContextualCardFeatureProviderImpl.java b/src/com/android/settings/homepage/contextualcards/ContextualCardFeatureProviderImpl.java
index 4af2838..f4bb84c 100644
--- a/src/com/android/settings/homepage/contextualcards/ContextualCardFeatureProviderImpl.java
+++ b/src/com/android/settings/homepage/contextualcards/ContextualCardFeatureProviderImpl.java
@@ -18,10 +18,19 @@
 
 import static android.content.Context.MODE_PRIVATE;
 
+import static com.android.settings.homepage.contextualcards.CardDatabaseHelper.CARD_TABLE;
+
+import android.content.ContentValues;
 import android.content.Context;
 import android.content.SharedPreferences;
+import android.database.Cursor;
+import android.database.sqlite.SQLiteDatabase;
+import android.os.Build;
+import android.text.format.DateUtils;
 import android.util.ArraySet;
+import android.util.Log;
 
+import androidx.annotation.VisibleForTesting;
 import androidx.slice.Slice;
 import androidx.slice.SliceMetadata;
 import androidx.slice.core.SliceAction;
@@ -30,10 +39,13 @@
 import com.android.settings.applications.AppInfoBase;
 import com.android.settings.homepage.contextualcards.slices.ContextualNotificationChannelSlice;
 import com.android.settings.slices.CustomSliceRegistry;
+import com.android.settingslib.utils.ThreadUtils;
 
 import java.util.Set;
 
 public class ContextualCardFeatureProviderImpl implements ContextualCardFeatureProvider {
+    private static final String TAG = "ContextualCardFeatureProvider";
+
     private final Context mContext;
 
     public ContextualCardFeatureProviderImpl(Context context) {
@@ -41,6 +53,33 @@
     }
 
     @Override
+    public Cursor getContextualCards() {
+        final SQLiteDatabase db = CardDatabaseHelper.getInstance(mContext).getReadableDatabase();
+        //TODO(b/149542061): Make the dismissal duration configurable.
+        final long threshold = System.currentTimeMillis() - DateUtils.DAY_IN_MILLIS;
+        final String selection = CardDatabaseHelper.CardColumns.DISMISSED_TIMESTAMP + " < ? OR "
+                + CardDatabaseHelper.CardColumns.DISMISSED_TIMESTAMP + " IS NULL";
+        final String[] selectionArgs = {String.valueOf(threshold)};
+        final Cursor cursor = db.query(CARD_TABLE, null /* columns */, selection,
+                selectionArgs /* selectionArgs */, null /* groupBy */, null /* having */,
+                CardDatabaseHelper.CardColumns.SCORE + " DESC" /* orderBy */);
+        ThreadUtils.postOnBackgroundThread(() -> resetDismissedTime(threshold));
+        return cursor;
+    }
+
+    @Override
+    public int markCardAsDismissed(Context context, String cardName) {
+        final SQLiteDatabase db = CardDatabaseHelper.getInstance(mContext).getWritableDatabase();
+        final ContentValues values = new ContentValues();
+        values.put(CardDatabaseHelper.CardColumns.DISMISSED_TIMESTAMP, System.currentTimeMillis());
+        final String selection = CardDatabaseHelper.CardColumns.NAME + "=?";
+        final String[] selectionArgs = {cardName};
+        final int rowsUpdated = db.update(CARD_TABLE, values, selection, selectionArgs);
+        context.getContentResolver().notifyChange(CardContentProvider.DELETE_CARD_URI, null);
+        return rowsUpdated;
+    }
+
+    @Override
     public void logNotificationPackage(Slice slice) {
         if (slice == null || !slice.getUri().equals(
                 CustomSliceRegistry.CONTEXTUAL_NOTIFICATION_CHANNEL_SLICE_URI)) {
@@ -62,4 +101,20 @@
         prefs.edit().putStringSet(ContextualNotificationChannelSlice.PREF_KEY_INTERACTED_PACKAGES,
                 newInteractedPackages).apply();
     }
+
+    @VisibleForTesting
+    int resetDismissedTime(long threshold) {
+        final SQLiteDatabase database =
+                CardDatabaseHelper.getInstance(mContext).getWritableDatabase();
+        final ContentValues values = new ContentValues();
+        values.putNull(CardDatabaseHelper.CardColumns.DISMISSED_TIMESTAMP);
+        final String selection = CardDatabaseHelper.CardColumns.DISMISSED_TIMESTAMP + " < ? AND "
+                + CardDatabaseHelper.CardColumns.DISMISSED_TIMESTAMP + " IS NOT NULL";
+        final String[] selectionArgs = {String.valueOf(threshold)};
+        final int rowsUpdated = database.update(CARD_TABLE, values, selection, selectionArgs);
+        if (Build.IS_DEBUGGABLE) {
+            Log.d(TAG, "Reset " + rowsUpdated + " records of dismissed time.");
+        }
+        return rowsUpdated;
+    }
 }
diff --git a/src/com/android/settings/homepage/contextualcards/ContextualCardLoader.java b/src/com/android/settings/homepage/contextualcards/ContextualCardLoader.java
index 5a04143..886a12d 100644
--- a/src/com/android/settings/homepage/contextualcards/ContextualCardLoader.java
+++ b/src/com/android/settings/homepage/contextualcards/ContextualCardLoader.java
@@ -16,6 +16,7 @@
 
 package com.android.settings.homepage.contextualcards;
 
+import static com.android.settings.intelligence.ContextualCardProto.ContextualCard.Category.STICKY_VALUE;
 import static com.android.settings.slices.CustomSliceRegistry.BLUETOOTH_DEVICES_SLICE_URI;
 import static com.android.settings.slices.CustomSliceRegistry.CONTEXTUAL_NOTIFICATION_CHANNEL_SLICE_URI;
 import static com.android.settings.slices.CustomSliceRegistry.CONTEXTUAL_WIFI_SLICE_URI;
@@ -27,6 +28,7 @@
 import android.net.Uri;
 import android.os.Handler;
 import android.os.Looper;
+import android.provider.Settings;
 import android.util.Log;
 
 import androidx.annotation.NonNull;
@@ -49,7 +51,9 @@
 public class ContextualCardLoader extends AsyncLoaderCompat<List<ContextualCard>> {
 
     @VisibleForTesting
-    static final int DEFAULT_CARD_COUNT = 2;
+    static final int DEFAULT_CARD_COUNT = 3;
+    @VisibleForTesting
+    static final String CONTEXTUAL_CARD_COUNT = "contextual_card_count";
     static final int CARD_CONTENT_LOADER_ID = 1;
 
     private static final String TAG = "ContextualCardLoader";
@@ -109,9 +113,7 @@
             if (cursor.getCount() > 0) {
                 for (cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) {
                     final ContextualCard card = new ContextualCard(cursor);
-                    if (card.isCustomCard()) {
-                        //TODO(b/114688391): Load and generate custom card,then add into list
-                    } else if (isLargeCard(card)) {
+                    if (isLargeCard(card)) {
                         result.add(card.mutate().setIsLargeCard(true).build());
                     } else {
                         result.add(card);
@@ -126,17 +128,34 @@
     @VisibleForTesting
     List<ContextualCard> getDisplayableCards(List<ContextualCard> candidates) {
         final List<ContextualCard> eligibleCards = filterEligibleCards(candidates);
+        final List<ContextualCard> stickyCards = new ArrayList<>();
         final List<ContextualCard> visibleCards = new ArrayList<>();
         final List<ContextualCard> hiddenCards = new ArrayList<>();
 
-        final int size = eligibleCards.size();
-        for (int i = 0; i < size; i++) {
-            if (i < DEFAULT_CARD_COUNT) {
-                visibleCards.add(eligibleCards.get(i));
-            } else {
-                hiddenCards.add(eligibleCards.get(i));
+        final int maxCardCount = getCardCount();
+        eligibleCards.forEach(card -> {
+            if (card.getCategory() != STICKY_VALUE) {
+                return;
             }
-        }
+            if (stickyCards.size() < maxCardCount) {
+                stickyCards.add(card);
+            } else {
+                hiddenCards.add(card);
+            }
+        });
+
+        final int nonStickyCardCount = maxCardCount - stickyCards.size();
+        eligibleCards.forEach(card -> {
+            if (card.getCategory() == STICKY_VALUE) {
+                return;
+            }
+            if (visibleCards.size() < nonStickyCardCount) {
+                visibleCards.add(card);
+            } else {
+                hiddenCards.add(card);
+            }
+        });
+        visibleCards.addAll(stickyCards);
 
         if (!CardContentProvider.DELETE_CARD_URI.equals(mNotifyUri)) {
             final MetricsFeatureProvider metricsFeatureProvider =
@@ -150,8 +169,18 @@
     }
 
     @VisibleForTesting
+    int getCardCount() {
+        // Return the card count if Settings.Global has KEY_CONTEXTUAL_CARD_COUNT key,
+        // otherwise return the default one.
+        return Settings.Global.getInt(mContext.getContentResolver(),
+                CONTEXTUAL_CARD_COUNT, DEFAULT_CARD_COUNT);
+    }
+
+    @VisibleForTesting
     Cursor getContextualCardsFromProvider() {
-        return CardDatabaseHelper.getInstance(mContext).getContextualCards();
+        final ContextualCardFeatureProvider cardFeatureProvider =
+                FeatureFactory.getFactory(mContext).getContextualCardFeatureProvider(mContext);
+        return cardFeatureProvider.getContextualCards();
     }
 
     @VisibleForTesting
diff --git a/src/com/android/settings/homepage/contextualcards/ContextualCardLookupTable.java b/src/com/android/settings/homepage/contextualcards/ContextualCardLookupTable.java
index e11ce30..4a02d91 100644
--- a/src/com/android/settings/homepage/contextualcards/ContextualCardLookupTable.java
+++ b/src/com/android/settings/homepage/contextualcards/ContextualCardLookupTable.java
@@ -80,10 +80,6 @@
                         LegacySuggestionContextualCardController.class,
                         LegacySuggestionContextualCardRenderer.class));
                 add(new ControllerRendererMapping(CardType.SLICE,
-                        SliceContextualCardRenderer.VIEW_TYPE_DEFERRED_SETUP,
-                        SliceContextualCardController.class,
-                        SliceContextualCardRenderer.class));
-                add(new ControllerRendererMapping(CardType.SLICE,
                         SliceContextualCardRenderer.VIEW_TYPE_FULL_WIDTH,
                         SliceContextualCardController.class,
                         SliceContextualCardRenderer.class));
@@ -91,6 +87,10 @@
                         SliceContextualCardRenderer.VIEW_TYPE_HALF_WIDTH,
                         SliceContextualCardController.class,
                         SliceContextualCardRenderer.class));
+                add(new ControllerRendererMapping(CardType.SLICE,
+                        SliceContextualCardRenderer.VIEW_TYPE_STICKY,
+                        SliceContextualCardController.class,
+                        SliceContextualCardRenderer.class));
                 add(new ControllerRendererMapping(CardType.CONDITIONAL_FOOTER,
                         ConditionFooterContextualCardRenderer.VIEW_TYPE,
                         ConditionContextualCardController.class,
diff --git a/src/com/android/settings/homepage/contextualcards/ContextualCardManager.java b/src/com/android/settings/homepage/contextualcards/ContextualCardManager.java
index a941fdb..9beb624 100644
--- a/src/com/android/settings/homepage/contextualcards/ContextualCardManager.java
+++ b/src/com/android/settings/homepage/contextualcards/ContextualCardManager.java
@@ -17,17 +17,21 @@
 package com.android.settings.homepage.contextualcards;
 
 import static com.android.settings.homepage.contextualcards.ContextualCardLoader.CARD_CONTENT_LOADER_ID;
-import static com.android.settings.intelligence.ContextualCardProto.ContextualCard.Category.DEFERRED_SETUP_VALUE;
+import static com.android.settings.intelligence.ContextualCardProto.ContextualCard.Category.STICKY_VALUE;
 import static com.android.settings.intelligence.ContextualCardProto.ContextualCard.Category.SUGGESTION_VALUE;
+import static com.android.settings.slices.CustomSliceRegistry.BLUETOOTH_DEVICES_SLICE_URI;
+import static com.android.settings.slices.CustomSliceRegistry.CONTEXTUAL_WIFI_SLICE_URI;
 
 import static java.util.stream.Collectors.groupingBy;
 
 import android.app.settings.SettingsEnums;
 import android.content.Context;
+import android.net.Uri;
 import android.os.Bundle;
 import android.provider.Settings;
 import android.text.format.DateUtils;
 import android.util.ArrayMap;
+import android.util.FeatureFlagUtils;
 import android.util.Log;
 import android.widget.BaseAdapter;
 
@@ -37,6 +41,8 @@
 import androidx.loader.app.LoaderManager;
 import androidx.loader.content.Loader;
 
+import com.android.settings.R;
+import com.android.settings.core.FeatureFlags;
 import com.android.settings.homepage.contextualcards.conditional.ConditionalCardController;
 import com.android.settings.homepage.contextualcards.logging.ContextualCardLogUtils;
 import com.android.settings.homepage.contextualcards.slices.SliceContextualCardRenderer;
@@ -49,6 +55,7 @@
 import com.android.settingslib.core.lifecycle.events.OnStop;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -78,10 +85,8 @@
     static final String KEY_CONTEXTUAL_CARDS = "key_contextual_cards";
 
     private static final String TAG = "ContextualCardManager";
-
-    //The list for Settings Custom Card
-    private static final int[] SETTINGS_CARDS =
-            {ContextualCard.CardType.CONDITIONAL, ContextualCard.CardType.LEGACY_SUGGESTION};
+    private static final List<Uri> STICKY_CARDS =
+            Arrays.asList(CONTEXTUAL_WIFI_SLICE_URI, BLUETOOTH_DEVICES_SLICE_URI);
 
     private final Context mContext;
     private final Lifecycle mLifecycle;
@@ -113,12 +118,16 @@
             mSavedCards = savedInstanceState.getStringArrayList(KEY_CONTEXTUAL_CARDS);
         }
         //for data provided by Settings
-        for (@ContextualCard.CardType int cardType : SETTINGS_CARDS) {
+        for (@ContextualCard.CardType int cardType : getSettingsCards()) {
             setupController(cardType);
         }
     }
 
     void loadContextualCards(LoaderManager loaderManager) {
+        if (mContext.getResources().getBoolean(R.bool.config_use_legacy_suggestion)) {
+            Log.w(TAG, "Legacy suggestion contextual card enabled, skipping contextual cards.");
+            return;
+        }
         mStartTime = System.currentTimeMillis();
         final CardContentLoaderCallbacks cardContentLoaderCallbacks =
                 new CardContentLoaderCallbacks(mContext);
@@ -135,6 +144,15 @@
     }
 
     @VisibleForTesting
+    int[] getSettingsCards() {
+        if (!FeatureFlagUtils.isEnabled(mContext, FeatureFlags.CONDITIONAL_CARDS)) {
+            return new int[]{ContextualCard.CardType.LEGACY_SUGGESTION};
+        }
+        return new int[]
+                {ContextualCard.CardType.CONDITIONAL, ContextualCard.CardType.LEGACY_SUGGESTION};
+    }
+
+    @VisibleForTesting
     void setupController(@ContextualCard.CardType int cardType) {
         final ContextualCardController controller = mControllerRendererPool.getController(mContext,
                 cardType);
@@ -298,7 +316,7 @@
             return cards;
         }
 
-        final List<ContextualCard> result = getCardsWithDeferredSetupViewType(cards);
+        final List<ContextualCard> result = getCardsWithStickyViewType(cards);
         return getCardsWithSuggestionViewType(result);
     }
 
@@ -329,17 +347,31 @@
         return result;
     }
 
-    private List<ContextualCard> getCardsWithDeferredSetupViewType(List<ContextualCard> cards) {
-        // Find the deferred setup card and assign it with proper view type.
-        // Reason: The returned card list will mix deferred setup card and other suggestion cards
-        // after device running 1 days.
+    private List<ContextualCard> getCardsWithStickyViewType(List<ContextualCard> cards) {
         final List<ContextualCard> result = new ArrayList<>(cards);
+        int replaceCount = 0;
         for (int index = 0; index < result.size(); index++) {
             final ContextualCard card = cards.get(index);
-            if (card.getCategory() == DEFERRED_SETUP_VALUE) {
+            if (FeatureFlagUtils.isEnabled(mContext, FeatureFlags.CONTEXTUAL_HOME2)) {
+                if (card.getCategory() == STICKY_VALUE) {
+                    result.set(index, card.mutate().setViewType(
+                            SliceContextualCardRenderer.VIEW_TYPE_STICKY).build());
+                }
+                continue;
+            }
+
+            if (replaceCount > STICKY_CARDS.size() - 1) {
+                break;
+            }
+
+            if (card.getCardType() != ContextualCard.CardType.SLICE) {
+                continue;
+            }
+
+            if (STICKY_CARDS.contains(card.getSliceUri())) {
                 result.set(index, card.mutate().setViewType(
-                        SliceContextualCardRenderer.VIEW_TYPE_DEFERRED_SETUP).build());
-                return result;
+                        SliceContextualCardRenderer.VIEW_TYPE_STICKY).build());
+                replaceCount++;
             }
         }
         return result;
diff --git a/src/com/android/settings/homepage/contextualcards/ContextualCardsAdapter.java b/src/com/android/settings/homepage/contextualcards/ContextualCardsAdapter.java
index bca5566..4e010fd 100644
--- a/src/com/android/settings/homepage/contextualcards/ContextualCardsAdapter.java
+++ b/src/com/android/settings/homepage/contextualcards/ContextualCardsAdapter.java
@@ -105,13 +105,11 @@
                 @Override
                 public int getSpanSize(int position) {
                     final int viewType = mContextualCards.get(position).getViewType();
-                    switch (viewType) {
-                        case ConditionContextualCardRenderer.VIEW_TYPE_HALF_WIDTH:
-                        case SliceContextualCardRenderer.VIEW_TYPE_HALF_WIDTH:
-                            return HALF_WIDTH;
-                        default:
-                            return FULL_WIDTH;
+                    if (viewType == ConditionContextualCardRenderer.VIEW_TYPE_HALF_WIDTH
+                            || viewType == SliceContextualCardRenderer.VIEW_TYPE_HALF_WIDTH) {
+                        return HALF_WIDTH;
                     }
+                    return FULL_WIDTH;
                 }
             });
         }
diff --git a/src/com/android/settings/homepage/contextualcards/EligibleCardChecker.java b/src/com/android/settings/homepage/contextualcards/EligibleCardChecker.java
index 8558ee7..0fcde26 100644
--- a/src/com/android/settings/homepage/contextualcards/EligibleCardChecker.java
+++ b/src/com/android/settings/homepage/contextualcards/EligibleCardChecker.java
@@ -88,9 +88,6 @@
         if (card.getRankingScore() < 0) {
             return false;
         }
-        if (card.isCustomCard()) {
-            return true;
-        }
 
         final Uri uri = card.getSliceUri();
         if (!ContentResolver.SCHEME_CONTENT.equals(uri.getScheme())) {
diff --git a/src/com/android/settings/homepage/contextualcards/conditional/CellularDataConditionController.java b/src/com/android/settings/homepage/contextualcards/conditional/CellularDataConditionController.java
index 93b937b..4c0ddc9 100644
--- a/src/com/android/settings/homepage/contextualcards/conditional/CellularDataConditionController.java
+++ b/src/com/android/settings/homepage/contextualcards/conditional/CellularDataConditionController.java
@@ -17,17 +17,18 @@
 package com.android.settings.homepage.contextualcards.conditional;
 
 import android.app.settings.SettingsEnums;
-import android.content.BroadcastReceiver;
 import android.content.Context;
 import android.content.Intent;
-import android.content.IntentFilter;
 import android.net.ConnectivityManager;
+import android.telephony.PhoneStateListener;
+import android.telephony.PreciseDataConnectionState;
+import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
 
-import com.android.internal.telephony.TelephonyIntents;
 import com.android.settings.R;
 import com.android.settings.Settings;
 import com.android.settings.homepage.contextualcards.ContextualCard;
+import com.android.settings.network.GlobalSettingsChangeListener;
 
 import java.util.Objects;
 
@@ -35,22 +36,35 @@
 
     static final int ID = Objects.hash("CellularDataConditionController");
 
-    private static final IntentFilter DATA_CONNECTION_FILTER =
-            new IntentFilter(TelephonyIntents.ACTION_ANY_DATA_CONNECTION_STATE_CHANGED);
-
     private final Context mAppContext;
     private final ConditionManager mConditionManager;
-    private final Receiver mReceiver;
-    private final TelephonyManager mTelephonyManager;
+    private final GlobalSettingsChangeListener mDefaultDataSubscriptionIdListener;
     private final ConnectivityManager mConnectivityManager;
 
+    private int mSubId;
+    private TelephonyManager mTelephonyManager;
+    private boolean mIsListeningConnectionChange;
+
     public CellularDataConditionController(Context appContext, ConditionManager conditionManager) {
         mAppContext = appContext;
         mConditionManager = conditionManager;
-        mReceiver = new Receiver();
+        mSubId = getDefaultDataSubscriptionId(appContext);
+        mTelephonyManager = getTelephonyManager(appContext, mSubId);
+        mDefaultDataSubscriptionIdListener = new GlobalSettingsChangeListener(appContext,
+                android.provider.Settings.Global.MULTI_SIM_DATA_CALL_SUBSCRIPTION) {
+            public void onChanged(String field) {
+                final int subId = getDefaultDataSubscriptionId(mAppContext);
+                if (subId == mSubId) {
+                    return;
+                }
+                mSubId = subId;
+                if (mIsListeningConnectionChange) {
+                    restartPhoneStateListener(mAppContext, subId);
+                }
+            }
+        };
         mConnectivityManager = appContext.getSystemService(
                 ConnectivityManager.class);
-        mTelephonyManager = appContext.getSystemService(TelephonyManager.class);
     }
 
     @Override
@@ -95,21 +109,50 @@
 
     @Override
     public void startMonitoringStateChange() {
-        mAppContext.registerReceiver(mReceiver, DATA_CONNECTION_FILTER);
+        restartPhoneStateListener(mAppContext, mSubId);
     }
 
     @Override
     public void stopMonitoringStateChange() {
-        mAppContext.unregisterReceiver(mReceiver);
+        stopPhoneStateListener();
     }
 
-    public class Receiver extends BroadcastReceiver {
+    private int getDefaultDataSubscriptionId(Context context) {
+        final SubscriptionManager subscriptionManager =
+                context.getSystemService(SubscriptionManager.class);
+        return subscriptionManager.getDefaultDataSubscriptionId();
+    }
+
+    private TelephonyManager getTelephonyManager(Context context, int subId) {
+        final TelephonyManager telephonyManager =
+                context.getSystemService(TelephonyManager.class);
+        return telephonyManager.createForSubscriptionId(subId);
+    }
+
+    private final PhoneStateListener mPhoneStateListener = new PhoneStateListener() {
         @Override
-        public void onReceive(Context context, Intent intent) {
-            if (TelephonyIntents.ACTION_ANY_DATA_CONNECTION_STATE_CHANGED.equals(
-                    intent.getAction())) {
-                mConditionManager.onConditionChanged();
-            }
+        public void onPreciseDataConnectionStateChanged(
+                PreciseDataConnectionState dataConnectionState) {
+            mConditionManager.onConditionChanged();
         }
+    };
+
+    private void stopPhoneStateListener() {
+        mIsListeningConnectionChange = false;
+        mTelephonyManager.listen(mPhoneStateListener, PhoneStateListener.LISTEN_NONE);
+    }
+
+    // restart monitoring when subscription has been changed
+    private void restartPhoneStateListener(Context context, int subId) {
+        stopPhoneStateListener();
+        mIsListeningConnectionChange = true;
+
+        // switch mTelephonyManager only when subscription been updated to valid ones
+        if (SubscriptionManager.isValidSubscriptionId(subId)) {
+            mTelephonyManager = getTelephonyManager(context, subId);
+        }
+
+        mTelephonyManager.listen(mPhoneStateListener,
+                PhoneStateListener.LISTEN_PRECISE_DATA_CONNECTION_STATE);
     }
 }
diff --git a/src/com/android/settings/homepage/contextualcards/conditional/ConditionContextualCardRenderer.java b/src/com/android/settings/homepage/contextualcards/conditional/ConditionContextualCardRenderer.java
index 91b2e97..ccfb732 100644
--- a/src/com/android/settings/homepage/contextualcards/conditional/ConditionContextualCardRenderer.java
+++ b/src/com/android/settings/homepage/contextualcards/conditional/ConditionContextualCardRenderer.java
@@ -65,7 +65,7 @@
                 mContext).getMetricsFeatureProvider();
 
         metricsFeatureProvider.visible(mContext, SettingsEnums.SETTINGS_HOMEPAGE,
-                card.getMetricsConstant());
+                card.getMetricsConstant(), 0);
         initializePrimaryClick(view, card, metricsFeatureProvider);
         initializeView(view, card);
         initializeActionButton(view, card, metricsFeatureProvider);
diff --git a/src/com/android/settings/homepage/contextualcards/conditional/ConditionHeaderContextualCardRenderer.java b/src/com/android/settings/homepage/contextualcards/conditional/ConditionHeaderContextualCardRenderer.java
index c5e987a..6fba85e 100644
--- a/src/com/android/settings/homepage/contextualcards/conditional/ConditionHeaderContextualCardRenderer.java
+++ b/src/com/android/settings/homepage/contextualcards/conditional/ConditionHeaderContextualCardRenderer.java
@@ -59,7 +59,7 @@
         final MetricsFeatureProvider metricsFeatureProvider = FeatureFactory.getFactory(
                 mContext).getMetricsFeatureProvider();
         view.icons.removeAllViews();
-        headerCard.getConditionalCards().stream().forEach(card -> {
+        headerCard.getConditionalCards().forEach(card -> {
             final ImageView icon = (ImageView) LayoutInflater.from(mContext).inflate(
                     R.layout.conditional_card_header_icon, view.icons, false);
             icon.setImageDrawable(card.getIconDrawable());
diff --git a/src/com/android/settings/homepage/contextualcards/conditional/DndConditionCardController.java b/src/com/android/settings/homepage/contextualcards/conditional/DndConditionCardController.java
index 5f95de4..4d79a01 100644
--- a/src/com/android/settings/homepage/contextualcards/conditional/DndConditionCardController.java
+++ b/src/com/android/settings/homepage/contextualcards/conditional/DndConditionCardController.java
@@ -30,7 +30,7 @@
 import com.android.settings.R;
 import com.android.settings.core.SubSettingLauncher;
 import com.android.settings.homepage.contextualcards.ContextualCard;
-import com.android.settings.notification.ZenModeSettings;
+import com.android.settings.notification.zen.ZenModeSettings;
 
 import java.util.Objects;
 
diff --git a/src/com/android/settings/homepage/contextualcards/conditional/HotspotConditionController.java b/src/com/android/settings/homepage/contextualcards/conditional/HotspotConditionController.java
index 3557e49..b59fda4 100644
--- a/src/com/android/settings/homepage/contextualcards/conditional/HotspotConditionController.java
+++ b/src/com/android/settings/homepage/contextualcards/conditional/HotspotConditionController.java
@@ -22,7 +22,7 @@
 import android.content.Intent;
 import android.content.IntentFilter;
 import android.net.ConnectivityManager;
-import android.net.wifi.WifiConfiguration;
+import android.net.wifi.SoftApConfiguration;
 import android.net.wifi.WifiManager;
 import android.os.UserHandle;
 import android.os.UserManager;
@@ -114,13 +114,12 @@
     }
 
     private CharSequence getSsid() {
-        WifiConfiguration wifiConfig = mWifiManager.getWifiApConfiguration();
-        if (wifiConfig == null) {
-            return mAppContext.getText(
-                    com.android.internal.R.string.wifi_tether_configure_ssid_default);
-        } else {
-            return wifiConfig.SSID;
+        final SoftApConfiguration softApConfig = mWifiManager.getSoftApConfiguration();
+        if (softApConfig == null) {
+            // Should never happen.
+            return "";
         }
+        return softApConfig.getSsid();
     }
 
     public class Receiver extends BroadcastReceiver {
diff --git a/src/com/android/settings/homepage/contextualcards/deviceinfo/DataUsageSlice.java b/src/com/android/settings/homepage/contextualcards/deviceinfo/DataUsageSlice.java
deleted file mode 100644
index 419b770..0000000
--- a/src/com/android/settings/homepage/contextualcards/deviceinfo/DataUsageSlice.java
+++ /dev/null
@@ -1,135 +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.homepage.contextualcards.deviceinfo;
-
-import android.app.PendingIntent;
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.content.Intent;
-import android.net.Uri;
-import android.text.Spannable;
-import android.text.SpannableString;
-import android.text.TextUtils;
-import android.text.format.Formatter;
-import android.text.style.TextAppearanceSpan;
-
-import androidx.core.graphics.drawable.IconCompat;
-import androidx.slice.Slice;
-import androidx.slice.builders.ListBuilder;
-import androidx.slice.builders.SliceAction;
-
-import com.android.internal.annotations.VisibleForTesting;
-import com.android.settings.R;
-import com.android.settings.SubSettings;
-import com.android.settings.Utils;
-import com.android.settings.datausage.DataUsageSummary;
-import com.android.settings.datausage.DataUsageUtils;
-import com.android.settings.slices.CustomSliceRegistry;
-import com.android.settings.slices.CustomSliceable;
-import com.android.settings.slices.SliceBuilderUtils;
-import com.android.settingslib.net.DataUsageController;
-
-import java.util.concurrent.TimeUnit;
-
-public class DataUsageSlice implements CustomSliceable {
-    private static final String TAG = "DataUsageSlice";
-    private static final long MILLIS_IN_A_DAY = TimeUnit.DAYS.toMillis(1);
-
-
-    private final Context mContext;
-
-    public DataUsageSlice(Context context) {
-        mContext = context;
-    }
-
-    @Override
-    public Uri getUri() {
-        return CustomSliceRegistry.DATA_USAGE_SLICE_URI;
-    }
-
-    @Override
-    public Slice getSlice() {
-        final IconCompat icon = IconCompat.createWithResource(mContext,
-                R.drawable.ic_settings_data_usage);
-        final String title = mContext.getString(R.string.data_usage_summary_title);
-        final SliceAction primaryAction = SliceAction.createDeeplink(getPrimaryAction(), icon,
-                ListBuilder.ICON_IMAGE, title);
-        final DataUsageController dataUsageController = new DataUsageController(mContext);
-        final DataUsageController.DataUsageInfo info = dataUsageController.getDataUsageInfo();
-        final ListBuilder listBuilder =
-                new ListBuilder(mContext, CustomSliceRegistry.DATA_USAGE_SLICE_URI,
-                        ListBuilder.INFINITY)
-                        .setAccentColor(Utils.getColorAccentDefaultColor(mContext))
-                        .setHeader(new ListBuilder.HeaderBuilder().setTitle(title));
-        if (DataUsageUtils.hasSim(mContext)) {
-            listBuilder.addRow(new ListBuilder.RowBuilder()
-                    .setTitle(getDataUsageText(info))
-                    .setSubtitle(getCycleTime(info))
-                    .setPrimaryAction(primaryAction));
-        } else {
-            listBuilder.addRow(new ListBuilder.RowBuilder()
-                    .setTitle(mContext.getText(R.string.no_sim_card))
-                    .setPrimaryAction(primaryAction));
-        }
-        return listBuilder.build();
-    }
-
-    @Override
-    public Intent getIntent() {
-        final String screenTitle = mContext.getText(R.string.data_usage_wifi_title).toString();
-        return SliceBuilderUtils.buildSearchResultPageIntent(mContext,
-                DataUsageSummary.class.getName(), "" /* key */, screenTitle,
-                SettingsEnums.SLICE)
-                .setClassName(mContext.getPackageName(), SubSettings.class.getName())
-                .setData(CustomSliceRegistry.DATA_USAGE_SLICE_URI);
-    }
-
-    private PendingIntent getPrimaryAction() {
-        final Intent intent = getIntent();
-        return PendingIntent.getActivity(mContext, 0  /* requestCode */, intent, 0  /* flags */);
-    }
-
-    @VisibleForTesting
-    CharSequence getDataUsageText(DataUsageController.DataUsageInfo info) {
-        final Formatter.BytesResult usedResult = Formatter.formatBytes(mContext.getResources(),
-                info.usageLevel, Formatter.FLAG_CALCULATE_ROUNDED | Formatter.FLAG_IEC_UNITS);
-        final SpannableString usageNumberText = new SpannableString(usedResult.value);
-        usageNumberText.setSpan(
-                new TextAppearanceSpan(mContext, android.R.style.TextAppearance_Large), 0,
-                usageNumberText.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
-        return TextUtils.expandTemplate(mContext.getText(R.string.data_used_formatted),
-                usageNumberText, usedResult.units);
-    }
-
-    @VisibleForTesting
-    CharSequence getCycleTime(DataUsageController.DataUsageInfo info) {
-        final long millisLeft = info.cycleEnd - System.currentTimeMillis();
-        if (millisLeft <= 0) {
-            return mContext.getString(R.string.billing_cycle_none_left);
-        } else {
-            final int daysLeft = (int) (millisLeft / MILLIS_IN_A_DAY);
-            return daysLeft < 1 ? mContext.getString(R.string.billing_cycle_less_than_one_day_left)
-                    : mContext.getResources().getQuantityString(R.plurals.billing_cycle_days_left,
-                            daysLeft, daysLeft);
-        }
-    }
-
-    @Override
-    public void onNotifyChange(Intent intent) {
-
-    }
-}
diff --git a/src/com/android/settings/homepage/contextualcards/deviceinfo/DeviceInfoSlice.java b/src/com/android/settings/homepage/contextualcards/deviceinfo/DeviceInfoSlice.java
deleted file mode 100644
index 48a9aa5..0000000
--- a/src/com/android/settings/homepage/contextualcards/deviceinfo/DeviceInfoSlice.java
+++ /dev/null
@@ -1,127 +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.homepage.contextualcards.deviceinfo;
-
-import android.app.PendingIntent;
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.content.Intent;
-import android.net.Uri;
-import android.telephony.SubscriptionInfo;
-import android.telephony.SubscriptionManager;
-import android.text.BidiFormatter;
-import android.text.TextDirectionHeuristics;
-import android.text.TextUtils;
-
-import androidx.annotation.VisibleForTesting;
-import androidx.core.graphics.drawable.IconCompat;
-import androidx.slice.Slice;
-import androidx.slice.builders.ListBuilder;
-import androidx.slice.builders.SliceAction;
-
-import com.android.settings.R;
-import com.android.settings.SubSettings;
-import com.android.settings.Utils;
-import com.android.settings.deviceinfo.HardwareInfoPreferenceController;
-import com.android.settings.deviceinfo.aboutphone.MyDeviceInfoFragment;
-import com.android.settings.slices.CustomSliceRegistry;
-import com.android.settings.slices.CustomSliceable;
-import com.android.settings.slices.SliceBuilderUtils;
-import com.android.settingslib.DeviceInfoUtils;
-
-import java.util.List;
-
-public class DeviceInfoSlice implements CustomSliceable {
-    private static final String TAG = "DeviceInfoSlice";
-
-    private final Context mContext;
-    private final SubscriptionManager mSubscriptionManager;
-
-    public DeviceInfoSlice(Context context) {
-        mContext = context;
-        mSubscriptionManager = mContext.getSystemService(SubscriptionManager.class);
-    }
-
-    @Override
-    public Slice getSlice() {
-        final IconCompat icon = IconCompat.createWithResource(mContext,
-                R.drawable.ic_info_outline_24dp);
-        final String title = mContext.getString(R.string.device_info_label);
-        final SliceAction primaryAction = SliceAction.createDeeplink(getPrimaryAction(), icon,
-                ListBuilder.ICON_IMAGE, title);
-        return new ListBuilder(mContext, CustomSliceRegistry.DEVICE_INFO_SLICE_URI,
-                ListBuilder.INFINITY)
-                .setAccentColor((Utils.getColorAccentDefaultColor(mContext)))
-                .setHeader(new ListBuilder.HeaderBuilder().setTitle(title))
-                .addRow(new ListBuilder.RowBuilder()
-                        .setTitle(getPhoneNumber())
-                        .setSubtitle(getDeviceModel())
-                        .setPrimaryAction(primaryAction))
-                .build();
-    }
-
-    @Override
-    public Uri getUri() {
-        return CustomSliceRegistry.DEVICE_INFO_SLICE_URI;
-    }
-
-    @Override
-    public Intent getIntent() {
-        final String screenTitle = mContext.getText(R.string.device_info_label).toString();
-        return SliceBuilderUtils.buildSearchResultPageIntent(mContext,
-                MyDeviceInfoFragment.class.getName(), "" /* key */, screenTitle,
-                SettingsEnums.SLICE)
-                .setClassName(mContext.getPackageName(), SubSettings.class.getName())
-                .setData(CustomSliceRegistry.DEVICE_INFO_SLICE_URI);
-    }
-
-    private PendingIntent getPrimaryAction() {
-        final Intent intent = getIntent();
-        return PendingIntent.getActivity(mContext, 0  /* requestCode */, intent, 0  /* flags */);
-    }
-
-    @VisibleForTesting
-    CharSequence getPhoneNumber() {
-        final SubscriptionInfo subscriptionInfo = getFirstSubscriptionInfo();
-        if (subscriptionInfo == null) {
-            return mContext.getString(R.string.device_info_default);
-        }
-        final String phoneNumber = DeviceInfoUtils.getFormattedPhoneNumber(mContext,
-                subscriptionInfo);
-        return TextUtils.isEmpty(phoneNumber) ? mContext.getString(R.string.device_info_default)
-                : BidiFormatter.getInstance().unicodeWrap(phoneNumber, TextDirectionHeuristics.LTR);
-    }
-
-    private CharSequence getDeviceModel() {
-        return HardwareInfoPreferenceController.getDeviceModel();
-    }
-
-    @VisibleForTesting
-    SubscriptionInfo getFirstSubscriptionInfo() {
-        final List<SubscriptionInfo> subscriptionInfoList =
-                mSubscriptionManager.getActiveSubscriptionInfoList(true);
-        if (subscriptionInfoList == null || subscriptionInfoList.isEmpty()) {
-            return null;
-        }
-        return subscriptionInfoList.get(0);
-    }
-
-    @Override
-    public void onNotifyChange(Intent intent) {
-
-    }
-}
diff --git a/src/com/android/settings/homepage/contextualcards/deviceinfo/EmergencyInfoSlice.java b/src/com/android/settings/homepage/contextualcards/deviceinfo/EmergencyInfoSlice.java
deleted file mode 100644
index 10e87ff..0000000
--- a/src/com/android/settings/homepage/contextualcards/deviceinfo/EmergencyInfoSlice.java
+++ /dev/null
@@ -1,85 +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.homepage.contextualcards.deviceinfo;
-
-import android.app.PendingIntent;
-import android.content.Context;
-import android.content.Intent;
-import android.net.Uri;
-
-import androidx.core.graphics.drawable.IconCompat;
-import androidx.slice.Slice;
-import androidx.slice.builders.ListBuilder;
-import androidx.slice.builders.SliceAction;
-
-import com.android.settings.R;
-import com.android.settings.accounts.EmergencyInfoPreferenceController;
-import com.android.settings.slices.CustomSliceRegistry;
-import com.android.settings.slices.CustomSliceable;
-
-// This is a slice helper class for EmergencyInfo
-public class EmergencyInfoSlice implements CustomSliceable {
-
-    private final Context mContext;
-
-    public EmergencyInfoSlice(Context context) {
-        mContext = context;
-    }
-
-    @Override
-    public Slice getSlice() {
-        final ListBuilder listBuilder = new ListBuilder(mContext,
-                CustomSliceRegistry.EMERGENCY_INFO_SLICE_URI,
-                ListBuilder.INFINITY);
-        listBuilder.addRow(
-                new ListBuilder.RowBuilder()
-                        .setTitle(mContext.getText(R.string.emergency_info_title))
-                        .setSubtitle(
-                                mContext.getText(R.string.emergency_info_contextual_card_summary))
-                        .setPrimaryAction(createPrimaryAction()));
-        return listBuilder.build();
-    }
-
-    @Override
-    public Uri getUri() {
-        return CustomSliceRegistry.EMERGENCY_INFO_SLICE_URI;
-    }
-
-    @Override
-    public Intent getIntent() {
-        return new Intent(EmergencyInfoPreferenceController.getIntentAction(mContext));
-    }
-
-    @Override
-    public void onNotifyChange(Intent intent) {
-    }
-
-    private SliceAction createPrimaryAction() {
-        final PendingIntent pendingIntent =
-                PendingIntent.getActivity(
-                        mContext,
-                        0 /* requestCode */,
-                        getIntent(),
-                        PendingIntent.FLAG_UPDATE_CURRENT);
-
-        return SliceAction.createDeeplink(
-                pendingIntent,
-                IconCompat.createWithResource(mContext, R.drawable.empty_icon),
-                ListBuilder.ICON_IMAGE,
-                mContext.getText(R.string.emergency_info_title));
-    }
-}
diff --git a/src/com/android/settings/homepage/contextualcards/legacysuggestion/LegacySuggestionContextualCard.java b/src/com/android/settings/homepage/contextualcards/legacysuggestion/LegacySuggestionContextualCard.java
index d11f771..facfcde 100644
--- a/src/com/android/settings/homepage/contextualcards/legacysuggestion/LegacySuggestionContextualCard.java
+++ b/src/com/android/settings/homepage/contextualcards/legacysuggestion/LegacySuggestionContextualCard.java
@@ -17,16 +17,19 @@
 package com.android.settings.homepage.contextualcards.legacysuggestion;
 
 import android.app.PendingIntent;
+import android.service.settings.suggestions.Suggestion;
 
 import com.android.settings.homepage.contextualcards.ContextualCard;
 
 public class LegacySuggestionContextualCard extends ContextualCard {
 
     private final PendingIntent mPendingIntent;
+    private final Suggestion mSuggestion;
 
     public LegacySuggestionContextualCard(Builder builder) {
         super(builder);
         mPendingIntent = builder.mPendingIntent;
+        mSuggestion = builder.mSuggestion;
     }
 
     @Override
@@ -38,15 +41,25 @@
         return mPendingIntent;
     }
 
+    public Suggestion getSuggestion() {
+        return mSuggestion;
+    }
+
     public static class Builder extends ContextualCard.Builder {
 
         private PendingIntent mPendingIntent;
+        private Suggestion mSuggestion;
 
         public Builder setPendingIntent(PendingIntent pendingIntent) {
             mPendingIntent = pendingIntent;
             return this;
         }
 
+        public Builder setSuggestion(Suggestion suggestion) {
+            mSuggestion = suggestion;
+            return this;
+        }
+
         @Override
         public Builder setCardType(int cardType) {
             throw new IllegalArgumentException(
diff --git a/src/com/android/settings/homepage/contextualcards/legacysuggestion/LegacySuggestionContextualCardController.java b/src/com/android/settings/homepage/contextualcards/legacysuggestion/LegacySuggestionContextualCardController.java
index 3b0b46d..834aa8e 100644
--- a/src/com/android/settings/homepage/contextualcards/legacysuggestion/LegacySuggestionContextualCardController.java
+++ b/src/com/android/settings/homepage/contextualcards/legacysuggestion/LegacySuggestionContextualCardController.java
@@ -47,6 +47,9 @@
     private static final String TAG = "LegacySuggestCardCtrl";
 
     @VisibleForTesting
+    final List<ContextualCard> mSuggestions;
+
+    @VisibleForTesting
     SuggestionController mSuggestionController;
 
     private ContextualCardUpdateListener mCardUpdateListener;
@@ -55,6 +58,7 @@
 
     public LegacySuggestionContextualCardController(Context context) {
         mContext = context;
+        mSuggestions = new ArrayList<>();
         if (!mContext.getResources().getBoolean(R.bool.config_use_legacy_suggestion)) {
             Log.w(TAG, "Legacy suggestion contextual card disabled, skipping.");
             return;
@@ -88,7 +92,10 @@
 
     @Override
     public void onDismissed(ContextualCard card) {
-
+        mSuggestionController
+                .dismissSuggestions(((LegacySuggestionContextualCard)card).getSuggestion());
+        mSuggestions.remove(card);
+        updateAdapter();
     }
 
     @Override
@@ -144,6 +151,7 @@
                     }
                     cardBuilder
                             .setPendingIntent(suggestion.getPendingIntent())
+                            .setSuggestion(suggestion)
                             .setName(suggestion.getId())
                             .setTitleText(suggestion.getTitle().toString())
                             .setSummaryText(suggestion.getSummary().toString())
@@ -153,12 +161,16 @@
                 }
             }
 
-            // Update adapter
-            final Map<Integer, List<ContextualCard>> suggestionCards = new ArrayMap<>();
-            suggestionCards.put(ContextualCard.CardType.LEGACY_SUGGESTION, cards);
-            ThreadUtils.postOnMainThread(
-                    () -> mCardUpdateListener.onContextualCardUpdated(suggestionCards));
-
+            mSuggestions.clear();
+            mSuggestions.addAll(cards);
+            updateAdapter();
         });
     }
+
+    private void updateAdapter() {
+        final Map<Integer, List<ContextualCard>> suggestionCards = new ArrayMap<>();
+        suggestionCards.put(ContextualCard.CardType.LEGACY_SUGGESTION, mSuggestions);
+        ThreadUtils.postOnMainThread(
+                () -> mCardUpdateListener.onContextualCardUpdated(suggestionCards));
+    }
 }
diff --git a/src/com/android/settings/homepage/contextualcards/legacysuggestion/LegacySuggestionContextualCardRenderer.java b/src/com/android/settings/homepage/contextualcards/legacysuggestion/LegacySuggestionContextualCardRenderer.java
index 3bccabc..395e814 100644
--- a/src/com/android/settings/homepage/contextualcards/legacysuggestion/LegacySuggestionContextualCardRenderer.java
+++ b/src/com/android/settings/homepage/contextualcards/legacysuggestion/LegacySuggestionContextualCardRenderer.java
@@ -26,6 +26,7 @@
 
 import com.android.settings.R;
 import com.android.settings.homepage.contextualcards.ContextualCard;
+import com.android.settings.homepage.contextualcards.ContextualCardController;
 import com.android.settings.homepage.contextualcards.ContextualCardRenderer;
 import com.android.settings.homepage.contextualcards.ControllerRendererPool;
 
@@ -51,12 +52,13 @@
     @Override
     public void bindView(RecyclerView.ViewHolder holder, ContextualCard card) {
         final LegacySuggestionViewHolder vh = (LegacySuggestionViewHolder) holder;
+        final ContextualCardController controller = mControllerRendererPool
+                .getController(mContext, card.getCardType());
         vh.icon.setImageDrawable(card.getIconDrawable());
         vh.title.setText(card.getTitleText());
         vh.summary.setText(card.getSummaryText());
-        vh.itemView.setOnClickListener(v ->
-                mControllerRendererPool.getController(mContext,
-                        card.getCardType()).onPrimaryClick(card));
+        vh.itemView.setOnClickListener(v -> controller.onPrimaryClick(card));
+        vh.closeButton.setOnClickListener(v -> controller.onDismissed(card));
     }
 
     private static class LegacySuggestionViewHolder extends RecyclerView.ViewHolder {
@@ -64,12 +66,14 @@
         public final ImageView icon;
         public final TextView title;
         public final TextView summary;
+        public final View closeButton;
 
         public LegacySuggestionViewHolder(View itemView) {
             super(itemView);
             icon = itemView.findViewById(android.R.id.icon);
             title = itemView.findViewById(android.R.id.title);
             summary = itemView.findViewById(android.R.id.summary);
+            closeButton = itemView.findViewById(R.id.close_button);
         }
     }
 }
diff --git a/src/com/android/settings/homepage/contextualcards/slices/BatteryFixSlice.java b/src/com/android/settings/homepage/contextualcards/slices/BatteryFixSlice.java
index d1051fe..3cd4ca3 100644
--- a/src/com/android/settings/homepage/contextualcards/slices/BatteryFixSlice.java
+++ b/src/com/android/settings/homepage/contextualcards/slices/BatteryFixSlice.java
@@ -201,7 +201,8 @@
     }
 
     @WorkerThread
-    private static List<BatteryTip> refreshBatteryTips(Context context) {
+    @VisibleForTesting
+    static List<BatteryTip> refreshBatteryTips(Context context) {
         final BatteryStatsHelperLoader statsLoader = new BatteryStatsHelperLoader(context);
         final BatteryStatsHelper statsHelper = statsLoader.loadInBackground();
         final BatteryTipLoader loader = new BatteryTipLoader(context, statsHelper);
diff --git a/src/com/android/settings/homepage/contextualcards/slices/BluetoothDevicesSlice.java b/src/com/android/settings/homepage/contextualcards/slices/BluetoothDevicesSlice.java
index aa4d53b..14a93b8 100644
--- a/src/com/android/settings/homepage/contextualcards/slices/BluetoothDevicesSlice.java
+++ b/src/com/android/settings/homepage/contextualcards/slices/BluetoothDevicesSlice.java
@@ -19,8 +19,11 @@
 import android.app.PendingIntent;
 import android.app.settings.SettingsEnums;
 import android.bluetooth.BluetoothAdapter;
+import android.bluetooth.BluetoothDevice;
 import android.content.Context;
 import android.content.Intent;
+import android.graphics.PorterDuff;
+import android.graphics.PorterDuffColorFilter;
 import android.graphics.drawable.Drawable;
 import android.net.Uri;
 import android.os.Bundle;
@@ -36,7 +39,10 @@
 import com.android.settings.R;
 import com.android.settings.SubSettings;
 import com.android.settings.Utils;
+import com.android.settings.bluetooth.AvailableMediaBluetoothDeviceUpdater;
 import com.android.settings.bluetooth.BluetoothDeviceDetailsFragment;
+import com.android.settings.bluetooth.BluetoothPairingDetail;
+import com.android.settings.bluetooth.SavedBluetoothDeviceUpdater;
 import com.android.settings.connecteddevice.ConnectedDeviceDashboardFragment;
 import com.android.settings.core.SubSettingLauncher;
 import com.android.settings.slices.CustomSliceRegistry;
@@ -63,21 +69,26 @@
      * than {@link #DEFAULT_EXPANDED_ROW_COUNT}.
      */
     @VisibleForTesting
-    static final int DEFAULT_EXPANDED_ROW_COUNT = 3;
+    static final int DEFAULT_EXPANDED_ROW_COUNT = 2;
 
     /**
      * Refer {@link com.android.settings.bluetooth.BluetoothDevicePreference#compareTo} to sort the
      * Bluetooth devices by {@link CachedBluetoothDevice}.
      */
-    private static final Comparator<CachedBluetoothDevice> COMPARATOR
-            = Comparator.naturalOrder();
+    private static final Comparator<CachedBluetoothDevice> COMPARATOR = Comparator.naturalOrder();
 
     private static final String TAG = "BluetoothDevicesSlice";
 
     private final Context mContext;
+    private final AvailableMediaBluetoothDeviceUpdater mAvailableMediaBtDeviceUpdater;
+    private final SavedBluetoothDeviceUpdater mSavedBtDeviceUpdater;
 
     public BluetoothDevicesSlice(Context context) {
         mContext = context;
+        mAvailableMediaBtDeviceUpdater = new AvailableMediaBluetoothDeviceUpdater(mContext,
+                null /* fragment */, null /* devicePreferenceCallback */);
+        mSavedBtDeviceUpdater = new SavedBluetoothDeviceUpdater(mContext,
+                null /* fragment */, null /* devicePreferenceCallback */);
     }
 
     @Override
@@ -87,45 +98,43 @@
 
     @Override
     public Slice getSlice() {
+        final BluetoothAdapter btAdapter = BluetoothAdapter.getDefaultAdapter();
+        if (btAdapter == null) {
+            Log.i(TAG, "Bluetooth is not supported on this hardware platform");
+            return null;
+        }
+
         // Reload theme for switching dark mode on/off
         mContext.getTheme().applyStyle(R.style.Theme_Settings_Home, true /* force */);
 
         final IconCompat icon = IconCompat.createWithResource(mContext,
                 com.android.internal.R.drawable.ic_settings_bluetooth);
         final CharSequence title = mContext.getText(R.string.bluetooth_devices);
-        final CharSequence titleNoBluetoothDevices = mContext.getText(
-                R.string.no_bluetooth_devices);
         final PendingIntent primaryActionIntent = PendingIntent.getActivity(mContext, 0,
                 getIntent(), 0);
         final SliceAction primarySliceAction = SliceAction.createDeeplink(primaryActionIntent, icon,
                 ListBuilder.ICON_IMAGE, title);
-        final ListBuilder listBuilder =
-                new ListBuilder(mContext, getUri(), ListBuilder.INFINITY)
-                        .setAccentColor(COLOR_NOT_TINTED);
+        final SliceAction pairNewDeviceAction = getPairNewDeviceAction();
+        final ListBuilder listBuilder = new ListBuilder(mContext, getUri(), ListBuilder.INFINITY)
+                .setAccentColor(COLOR_NOT_TINTED)
+                .addAction(pairNewDeviceAction)
+                .setHeader(new ListBuilder.HeaderBuilder()
+                        .setTitle(title)
+                        .setPrimaryAction(primarySliceAction));
+
+        // Only show a header when Bluetooth is off.
+        if (!isBluetoothEnabled(btAdapter)) {
+            return listBuilder.build();
+        }
 
         // Get row builders by Bluetooth devices.
         final List<ListBuilder.RowBuilder> rows = getBluetoothRowBuilder();
 
-        // Return a header with IsError flag, if no Bluetooth devices.
-        if (rows.isEmpty()) {
-            return listBuilder.setHeader(new ListBuilder.HeaderBuilder()
-                    .setTitle(titleNoBluetoothDevices)
-                    .setPrimaryAction(primarySliceAction))
-                    .setIsError(true)
-                    .build();
-        }
-
         // Get displayable device count.
-        final int deviceCount = Math.min(rows.size(), DEFAULT_EXPANDED_ROW_COUNT);
-
-        // According to the displayable device count to set sub title of header.
-        listBuilder.setHeader(new ListBuilder.HeaderBuilder()
-                .setTitle(title)
-                .setSubtitle(getSubTitle(deviceCount))
-                .setPrimaryAction(primarySliceAction));
+        final int displayableCount = Math.min(rows.size(), DEFAULT_EXPANDED_ROW_COUNT);
 
         // According to the displayable device count to add bluetooth device rows.
-        for (int i = 0; i < deviceCount; i++) {
+        for (int i = 0; i < displayableCount; i++) {
             listBuilder.addRow(rows.get(i));
         }
 
@@ -147,11 +156,14 @@
 
     @Override
     public void onNotifyChange(Intent intent) {
-        // Activate available media device.
         final int bluetoothDeviceHashCode = intent.getIntExtra(BLUETOOTH_DEVICE_HASH_CODE, -1);
-        for (CachedBluetoothDevice cachedBluetoothDevice : getConnectedBluetoothDevices()) {
-            if (cachedBluetoothDevice.hashCode() == bluetoothDeviceHashCode) {
-                cachedBluetoothDevice.setActive();
+        for (CachedBluetoothDevice device : getPairedBluetoothDevices()) {
+            if (device.hashCode() == bluetoothDeviceHashCode) {
+                if (device.isConnected()) {
+                    device.setActive();
+                } else if (!device.isBusy()) {
+                    device.connect();
+                }
                 return;
             }
         }
@@ -163,7 +175,7 @@
     }
 
     @VisibleForTesting
-    List<CachedBluetoothDevice> getConnectedBluetoothDevices() {
+    List<CachedBluetoothDevice> getPairedBluetoothDevices() {
         final List<CachedBluetoothDevice> bluetoothDeviceList = new ArrayList<>();
 
         // If Bluetooth is disable, skip to get the Bluetooth devices.
@@ -173,18 +185,18 @@
         }
 
         // Get the Bluetooth devices from LocalBluetoothManager.
-        final LocalBluetoothManager bluetoothManager =
+        final LocalBluetoothManager localBtManager =
                 com.android.settings.bluetooth.Utils.getLocalBtManager(mContext);
-        if (bluetoothManager == null) {
+        if (localBtManager == null) {
             Log.i(TAG, "Cannot get Bluetooth devices, Bluetooth is unsupported.");
             return bluetoothDeviceList;
         }
         final Collection<CachedBluetoothDevice> cachedDevices =
-                bluetoothManager.getCachedDeviceManager().getCachedDevicesCopy();
+                localBtManager.getCachedDeviceManager().getCachedDevicesCopy();
 
-        // Get all connected devices and sort them.
+        // Get all paired devices and sort them.
         return cachedDevices.stream()
-                .filter(device -> device.getDevice().isConnected())
+                .filter(device -> device.getDevice().getBondState() == BluetoothDevice.BOND_BONDED)
                 .sorted(COMPARATOR).collect(Collectors.toList());
     }
 
@@ -201,7 +213,7 @@
 
         // The requestCode should be unique, use the hashcode of device as request code.
         return PendingIntent
-                .getActivity(mContext, device.hashCode()  /* requestCode */,
+                .getActivity(mContext, device.hashCode() /* requestCode */,
                         subSettingLauncher.toIntent(),
                         0  /* flags */);
     }
@@ -221,24 +233,40 @@
         return Utils.createIconWithDrawable(drawable);
     }
 
+    private SliceAction getPairNewDeviceAction() {
+        final Drawable d = mContext.getDrawable(R.drawable.ic_add_24dp);
+        d.setColorFilter(new PorterDuffColorFilter(Utils.getColorAccentDefaultColor(mContext),
+                PorterDuff.Mode.SRC_IN));
+        final IconCompat icon = Utils.createIconWithDrawable(d);
+        final String title = mContext.getString(R.string.bluetooth_pairing_pref_title);
+        final Intent intent = new SubSettingLauncher(mContext)
+                .setDestination(BluetoothPairingDetail.class.getName())
+                .setTitleRes(R.string.bluetooth_pairing_page_title)
+                .setSourceMetricsCategory(SettingsEnums.BLUETOOTH_PAIRING)
+                .toIntent();
+        final PendingIntent pi = PendingIntent.getActivity(mContext, intent.hashCode(), intent,
+                0 /* flags */);
+        return SliceAction.createDeeplink(pi, icon, ListBuilder.ICON_IMAGE, title);
+    }
+
     private List<ListBuilder.RowBuilder> getBluetoothRowBuilder() {
         // According to Bluetooth devices to create row builders.
         final List<ListBuilder.RowBuilder> bluetoothRows = new ArrayList<>();
-        final List<CachedBluetoothDevice> bluetoothDevices = getConnectedBluetoothDevices();
-        for (CachedBluetoothDevice bluetoothDevice : bluetoothDevices) {
+        for (CachedBluetoothDevice device : getPairedBluetoothDevices()) {
             final ListBuilder.RowBuilder rowBuilder = new ListBuilder.RowBuilder()
-                    .setTitleItem(getBluetoothDeviceIcon(bluetoothDevice), ListBuilder.ICON_IMAGE)
-                    .setTitle(bluetoothDevice.getName())
-                    .setSubtitle(bluetoothDevice.getConnectionSummary());
+                    .setTitleItem(getBluetoothDeviceIcon(device), ListBuilder.ICON_IMAGE)
+                    .setTitle(device.getName())
+                    .setSubtitle(device.getConnectionSummary());
 
-            if (bluetoothDevice.isConnectedA2dpDevice()) {
-                // For available media devices, the primary action is to activate audio stream and
-                // add setting icon to the end to link detail page.
-                rowBuilder.setPrimaryAction(buildMediaBluetoothAction(bluetoothDevice));
-                rowBuilder.addEndItem(buildBluetoothDetailDeepLinkAction(bluetoothDevice));
+            if (mAvailableMediaBtDeviceUpdater.isFilterMatched(device)
+                    || mSavedBtDeviceUpdater.isFilterMatched(device)) {
+                // For all available media devices and previously connected devices, the primary
+                // action is to activate or connect, and the end gear icon links to detail page.
+                rowBuilder.setPrimaryAction(buildPrimaryBluetoothAction(device));
+                rowBuilder.addEndItem(buildBluetoothDetailDeepLinkAction(device));
             } else {
-                // For other devices, the primary action is to link detail page.
-                rowBuilder.setPrimaryAction(buildBluetoothDetailDeepLinkAction(bluetoothDevice));
+                // For other devices, the primary action is to link to detail page.
+                rowBuilder.setPrimaryAction(buildBluetoothDetailDeepLinkAction(device));
             }
 
             bluetoothRows.add(rowBuilder);
@@ -248,8 +276,7 @@
     }
 
     @VisibleForTesting
-    SliceAction buildMediaBluetoothAction(CachedBluetoothDevice bluetoothDevice) {
-        // Send broadcast to activate available media device.
+    SliceAction buildPrimaryBluetoothAction(CachedBluetoothDevice bluetoothDevice) {
         final Intent intent = new Intent(getUri().toString())
                 .setClass(mContext, SliceBroadcastReceiver.class)
                 .putExtra(BLUETOOTH_DEVICE_HASH_CODE, bluetoothDevice.hashCode());
@@ -270,8 +297,13 @@
                 bluetoothDevice.getName());
     }
 
-    private CharSequence getSubTitle(int deviceCount) {
-        return mContext.getResources().getQuantityString(R.plurals.show_bluetooth_devices,
-                deviceCount, deviceCount);
+    private boolean isBluetoothEnabled(BluetoothAdapter btAdapter) {
+        switch (btAdapter.getState()) {
+            case BluetoothAdapter.STATE_ON:
+            case BluetoothAdapter.STATE_TURNING_ON:
+                return true;
+            default:
+                return false;
+        }
     }
 }
diff --git a/src/com/android/settings/homepage/contextualcards/slices/ContextualAdaptiveSleepSlice.java b/src/com/android/settings/homepage/contextualcards/slices/ContextualAdaptiveSleepSlice.java
index c477abc..c94469a 100644
--- a/src/com/android/settings/homepage/contextualcards/slices/ContextualAdaptiveSleepSlice.java
+++ b/src/com/android/settings/homepage/contextualcards/slices/ContextualAdaptiveSleepSlice.java
@@ -129,7 +129,7 @@
      */
     private boolean isTurnedOn() {
         return Settings.System.getInt(
-                mContext.getContentResolver(), Settings.System.ADAPTIVE_SLEEP, 0) != 0;
+                mContext.getContentResolver(), Settings.Secure.ADAPTIVE_SLEEP, 0) != 0;
     }
 
     /**
diff --git a/src/com/android/settings/homepage/contextualcards/slices/DarkThemeSlice.java b/src/com/android/settings/homepage/contextualcards/slices/DarkThemeSlice.java
index 1b7f003..3c88eb2 100644
--- a/src/com/android/settings/homepage/contextualcards/slices/DarkThemeSlice.java
+++ b/src/com/android/settings/homepage/contextualcards/slices/DarkThemeSlice.java
@@ -15,23 +15,28 @@
  */
 package com.android.settings.homepage.contextualcards.slices;
 
-import static androidx.slice.builders.ListBuilder.ICON_IMAGE;
-
 import static android.provider.Settings.Global.LOW_POWER_MODE;
+import static android.view.WindowManagerPolicyConstants.NAV_BAR_MODE_GESTURAL;
+
+import static androidx.slice.builders.ListBuilder.ICON_IMAGE;
 
 import android.annotation.ColorInt;
 import android.app.PendingIntent;
 import android.app.UiModeManager;
+import android.content.BroadcastReceiver;
 import android.content.Context;
 import android.content.Intent;
+import android.content.IntentFilter;
 import android.content.res.Configuration;
 import android.database.ContentObserver;
 import android.net.Uri;
 import android.os.BatteryManager;
+import android.os.Build;
 import android.os.Handler;
 import android.os.Looper;
 import android.os.PowerManager;
 import android.provider.Settings;
+import android.text.TextUtils;
 import android.util.Log;
 
 import androidx.annotation.VisibleForTesting;
@@ -51,6 +56,7 @@
 
 public class DarkThemeSlice implements CustomSliceable {
     private static final String TAG = "DarkThemeSlice";
+    private static final boolean DEBUG = Build.IS_DEBUGGABLE;
     private static final int BATTERY_LEVEL_THRESHOLD = 50;
     private static final int DELAY_TIME_EXECUTING_DARK_THEME = 200;
 
@@ -59,6 +65,9 @@
     static boolean sKeepSliceShow;
     @VisibleForTesting
     static long sActiveUiSession = -1000;
+    @VisibleForTesting
+    static boolean sSliceClicked = false;
+    static boolean sPreChecked = false;
 
     private final Context mContext;
     private final UiModeManager mUiModeManager;
@@ -78,8 +87,21 @@
             sActiveUiSession = currentUiSession;
             sKeepSliceShow = false;
         }
-        // Dark theme slice will disappear when battery saver is ON.
-        if (mPowerManager.isPowerSaveMode() || (!sKeepSliceShow && !isAvailable(mContext))) {
+
+        // 1. Dark theme slice will disappear when battery saver is ON.
+        // 2. If the slice is shown and the user doesn't toggle it directly, but instead turns on
+        // Dark theme from Quick settings or display page, the card should no longer persist.
+        // This card will persist when user clicks its toggle directly.
+        // 3. If the slice is shown and the user toggles it on (switch to Dark theme) directly,
+        // then user returns to home (launcher), no matter by the Back key or Home gesture.
+        // Next time the Settings displays on screen again this card should no longer persist.
+        if (DEBUG) {
+            Log.d(TAG,
+                    "!sKeepSliceShow = " + !sKeepSliceShow + " !sSliceClicked = "
+                            + !sSliceClicked + " !isAvailable = " + !isAvailable(mContext));
+        }
+        if (mPowerManager.isPowerSaveMode() || ((!sKeepSliceShow || !sSliceClicked)
+                && !isAvailable(mContext))) {
             return new ListBuilder(mContext, CustomSliceRegistry.DARK_THEME_SLICE_URI,
                     ListBuilder.INFINITY)
                     .setIsError(true)
@@ -90,6 +112,12 @@
         @ColorInt final int color = Utils.getColorAccentDefaultColor(mContext);
         final IconCompat icon =
                 IconCompat.createWithResource(mContext, R.drawable.dark_theme);
+
+        final boolean isChecked = isDarkThemeMode(mContext);
+        if (sPreChecked != isChecked) {
+            // Dark(Night) mode changed and reset the sSliceClicked.
+            resetValue(isChecked, false);
+        }
         return new ListBuilder(mContext, CustomSliceRegistry.DARK_THEME_SLICE_URI,
                 ListBuilder.INFINITY)
                 .setAccentColor(color)
@@ -99,7 +127,7 @@
                         .setSubtitle(mContext.getText(R.string.dark_theme_slice_subtitle))
                         .setPrimaryAction(
                                 SliceAction.createToggle(toggleAction, null /* actionTitle */,
-                                        isDarkThemeMode(mContext))))
+                                        isChecked)))
                 .build();
     }
 
@@ -112,6 +140,10 @@
     public void onNotifyChange(Intent intent) {
         final boolean isChecked = intent.getBooleanExtra(android.app.slice.Slice.EXTRA_TOGGLE_STATE,
                 false);
+        // Dark(Night) mode changed by user clicked the toggle in the Dark theme slice.
+        if (isChecked) {
+            resetValue(isChecked, true);
+        }
         // make toggle transition more smooth before dark theme takes effect
         new Handler(Looper.getMainLooper()).postDelayed(() -> {
             mUiModeManager.setNightModeActivated(isChecked);
@@ -130,11 +162,10 @@
 
     @VisibleForTesting
     boolean isAvailable(Context context) {
-        // checking dark theme mode.
-        if (isDarkThemeMode(context)) {
+        // check if dark theme mode is enabled or if dark theme scheduling is on.
+        if (isDarkThemeMode(context) || isNightModeScheduled()) {
             return false;
         }
-
         // checking the current battery level
         final BatteryManager batteryManager = context.getSystemService(BatteryManager.class);
         final int level = batteryManager.getIntProperty(BatteryManager.BATTERY_PROPERTY_CAPACITY);
@@ -143,12 +174,29 @@
     }
 
     @VisibleForTesting
-    boolean isDarkThemeMode(Context context) {
+    static boolean isDarkThemeMode(Context context) {
         final int currentNightMode =
                 context.getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK;
         return currentNightMode == Configuration.UI_MODE_NIGHT_YES;
     }
 
+    private void resetValue(boolean preChecked, boolean clicked) {
+        sPreChecked = preChecked;
+        sSliceClicked = clicked;
+    }
+
+    private boolean isNightModeScheduled() {
+        final int mode = mUiModeManager.getNightMode();
+        if (DEBUG) {
+            Log.d(TAG, "night mode : " + mode);
+        }
+        // Turn on from sunset to sunrise or turn on at custom time
+        if (mode == UiModeManager.MODE_NIGHT_AUTO || mode == UiModeManager.MODE_NIGHT_CUSTOM) {
+            return true;
+        }
+        return false;
+    }
+
     public static class DarkThemeWorker extends SliceBackgroundWorker<Void> {
         private final Context mContext;
         private final ContentObserver mContentObserver =
@@ -160,10 +208,12 @@
                         }
                     }
                 };
+        private final HomeKeyReceiver mHomeKeyReceiver;
 
         public DarkThemeWorker(Context context, Uri uri) {
             super(context, uri);
             mContext = context;
+            mHomeKeyReceiver = new HomeKeyReceiver();
         }
 
         @Override
@@ -171,15 +221,55 @@
             mContext.getContentResolver().registerContentObserver(
                     Settings.Global.getUriFor(LOW_POWER_MODE), false /* notifyForDescendants */,
                     mContentObserver);
+            final IntentFilter intentFilter = new IntentFilter(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
+            mContext.registerReceiver(mHomeKeyReceiver, intentFilter);
         }
 
         @Override
         protected void onSliceUnpinned() {
             mContext.getContentResolver().unregisterContentObserver(mContentObserver);
+            mContext.unregisterReceiver(mHomeKeyReceiver);
         }
 
         @Override
         public void close() throws IOException {
         }
     }
+
+    /**
+     * A receiver for Home key and recent app key.
+     */
+    public static class HomeKeyReceiver extends BroadcastReceiver {
+        private static final String SYSTEM_DIALOG_REASON_HOME_KEY = "homekey";
+        private static final String SYSTEM_DIALOG_REASON_RECENT_APPS = "recentapps";
+        private static final String SYSTEM_DIALOG_REASON_KEY = "reason";
+
+        @Override
+        public void onReceive(Context context, Intent intent) {
+            if (TextUtils.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS, intent.getAction())) {
+                if (TextUtils.equals(getTargetKey(context),
+                        intent.getStringExtra(SYSTEM_DIALOG_REASON_KEY))) {
+                    if (DEBUG) {
+                        Log.d(TAG, "HomeKeyReceiver : target key = " + getTargetKey(context));
+                    }
+                    if (DarkThemeSlice.isDarkThemeMode(context)) {
+                        FeatureFactory.getFactory(
+                                context).getSlicesFeatureProvider().newUiSession();
+                    }
+                }
+            }
+        }
+
+        private String getTargetKey(Context context) {
+            if (isGestureNavigationEnabled(context)) {
+                return SYSTEM_DIALOG_REASON_RECENT_APPS;
+            }
+            return SYSTEM_DIALOG_REASON_HOME_KEY;
+        }
+
+        private boolean isGestureNavigationEnabled(Context context) {
+            return NAV_BAR_MODE_GESTURAL == context.getResources().getInteger(
+                    com.android.internal.R.integer.config_navBarInteractionMode);
+        }
+    }
 }
diff --git a/src/com/android/settings/homepage/contextualcards/slices/NotificationChannelSlice.java b/src/com/android/settings/homepage/contextualcards/slices/NotificationChannelSlice.java
index bdf97a8..5ac407d 100644
--- a/src/com/android/settings/homepage/contextualcards/slices/NotificationChannelSlice.java
+++ b/src/com/android/settings/homepage/contextualcards/slices/NotificationChannelSlice.java
@@ -49,10 +49,11 @@
 import com.android.settings.applications.AppAndNotificationDashboardFragment;
 import com.android.settings.applications.AppInfoBase;
 import com.android.settings.core.SubSettingLauncher;
-import com.android.settings.notification.AppNotificationSettings;
-import com.android.settings.notification.ChannelNotificationSettings;
+import com.android.settings.notification.app.AppNotificationSettings;
+import com.android.settings.notification.app.ChannelNotificationSettings;
 import com.android.settings.notification.NotificationBackend;
 import com.android.settings.notification.NotificationBackend.NotificationsSentState;
+import com.android.settings.notification.app.ChannelListPreferenceController;
 import com.android.settings.slices.CustomSliceRegistry;
 import com.android.settings.slices.CustomSliceable;
 import com.android.settings.slices.SliceBroadcastReceiver;
@@ -107,7 +108,7 @@
      *
      * Note:
      * When the sent count of notification channels is the same, follow the sorting mechanism from
-     * {@link com.android.settings.notification.ChannelListPreferenceController}.
+     * {@link ChannelListPreferenceController}.
      * Since slice view only shows displayable notification channels, so those deleted ones are
      * excluded from the comparison here.
      */
diff --git a/src/com/android/settings/homepage/contextualcards/slices/SliceContextualCardController.java b/src/com/android/settings/homepage/contextualcards/slices/SliceContextualCardController.java
index 9eb7fae..ced3f8d 100644
--- a/src/com/android/settings/homepage/contextualcards/slices/SliceContextualCardController.java
+++ b/src/com/android/settings/homepage/contextualcards/slices/SliceContextualCardController.java
@@ -25,9 +25,9 @@
 import androidx.annotation.VisibleForTesting;
 
 import com.android.settings.R;
-import com.android.settings.homepage.contextualcards.CardDatabaseHelper;
 import com.android.settings.homepage.contextualcards.ContextualCard;
 import com.android.settings.homepage.contextualcards.ContextualCardController;
+import com.android.settings.homepage.contextualcards.ContextualCardFeatureProvider;
 import com.android.settings.homepage.contextualcards.ContextualCardFeedbackDialog;
 import com.android.settings.homepage.contextualcards.ContextualCardUpdateListener;
 import com.android.settings.homepage.contextualcards.logging.ContextualCardLogUtils;
@@ -68,8 +68,9 @@
     @Override
     public void onDismissed(ContextualCard card) {
         ThreadUtils.postOnBackgroundThread(() -> {
-            final CardDatabaseHelper dbHelper = CardDatabaseHelper.getInstance(mContext);
-            dbHelper.markContextualCardAsDismissed(mContext, card.getName());
+            final ContextualCardFeatureProvider cardFeatureProvider =
+                    FeatureFactory.getFactory(mContext).getContextualCardFeatureProvider(mContext);
+            cardFeatureProvider.markCardAsDismissed(mContext, card.getName());
         });
         showFeedbackDialog(card);
 
diff --git a/src/com/android/settings/homepage/contextualcards/slices/SliceContextualCardRenderer.java b/src/com/android/settings/homepage/contextualcards/slices/SliceContextualCardRenderer.java
index b83a712..5f1e955 100644
--- a/src/com/android/settings/homepage/contextualcards/slices/SliceContextualCardRenderer.java
+++ b/src/com/android/settings/homepage/contextualcards/slices/SliceContextualCardRenderer.java
@@ -43,6 +43,7 @@
 import com.android.settings.homepage.contextualcards.ContextualCard;
 import com.android.settings.homepage.contextualcards.ContextualCardRenderer;
 import com.android.settings.homepage.contextualcards.ControllerRendererPool;
+import com.android.settingslib.utils.ThreadUtils;
 
 import java.util.Map;
 import java.util.Set;
@@ -53,7 +54,7 @@
 public class SliceContextualCardRenderer implements ContextualCardRenderer, LifecycleObserver {
     public static final int VIEW_TYPE_FULL_WIDTH = R.layout.contextual_slice_full_tile;
     public static final int VIEW_TYPE_HALF_WIDTH = R.layout.contextual_slice_half_tile;
-    public static final int VIEW_TYPE_DEFERRED_SETUP = R.layout.contextual_slice_deferred_setup;
+    public static final int VIEW_TYPE_STICKY = R.layout.contextual_slice_sticky_tile;
 
     private static final String TAG = "SliceCardRenderer";
 
@@ -65,7 +66,6 @@
     private final Context mContext;
     private final LifecycleOwner mLifecycleOwner;
     private final ControllerRendererPool mControllerRendererPool;
-    private final SliceDeferredSetupCardRendererHelper mDeferredSetupCardHelper;
     private final SliceFullCardRendererHelper mFullCardHelper;
     private final SliceHalfCardRendererHelper mHalfCardHelper;
 
@@ -79,19 +79,14 @@
         mLifecycleOwner.getLifecycle().addObserver(this);
         mFullCardHelper = new SliceFullCardRendererHelper(context);
         mHalfCardHelper = new SliceHalfCardRendererHelper(context);
-        mDeferredSetupCardHelper = new SliceDeferredSetupCardRendererHelper(context);
     }
 
     @Override
     public RecyclerView.ViewHolder createViewHolder(View view, @LayoutRes int viewType) {
-        switch (viewType) {
-            case VIEW_TYPE_DEFERRED_SETUP:
-                return mDeferredSetupCardHelper.createViewHolder(view);
-            case VIEW_TYPE_HALF_WIDTH:
-                return mHalfCardHelper.createViewHolder(view);
-            default:
-                return mFullCardHelper.createViewHolder(view);
+        if (viewType == VIEW_TYPE_HALF_WIDTH) {
+            return mHalfCardHelper.createViewHolder(view);
         }
+        return mFullCardHelper.createViewHolder(view);
     }
 
     @Override
@@ -106,7 +101,15 @@
         LiveData<Slice> sliceLiveData = mSliceLiveDataMap.get(uri);
 
         if (sliceLiveData == null) {
-            sliceLiveData = SliceLiveData.fromUri(mContext, uri);
+            sliceLiveData = SliceLiveData.fromUri(mContext, uri,
+                    (int type, Throwable source) -> {
+                        // onSliceError doesn't handle error Slices.
+                        Log.w(TAG, "Slice may be null. uri = " + uri + ", error = " + type);
+                        ThreadUtils.postOnMainThread(
+                                () -> mSliceLiveDataMap.get(uri).removeObservers(mLifecycleOwner));
+                        mContext.getContentResolver()
+                                .notifyChange(CardContentProvider.REFRESH_CARD_URI, null);
+                    });
             mSliceLiveDataMap.put(uri, sliceLiveData);
         }
 
@@ -118,12 +121,10 @@
         }
         sliceLiveData.observe(mLifecycleOwner, slice -> {
             if (slice == null) {
-                Log.w(TAG, "Slice is null");
-                mContext.getContentResolver().notifyChange(CardContentProvider.REFRESH_CARD_URI,
-                        null);
+                // The logic handling this case is in OnErrorListener. Adding this check is to
+                // prevent from NPE when it calls .hasHint().
                 return;
             }
-
             if (slice.hasHint(HINT_ERROR)) {
                 Log.w(TAG, "Slice has HINT_ERROR, skipping rendering. uri=" + slice.getUri());
                 mSliceLiveDataMap.get(slice.getUri()).removeObservers(mLifecycleOwner);
@@ -132,30 +133,18 @@
                 return;
             }
 
-            switch (holder.getItemViewType()) {
-                case VIEW_TYPE_DEFERRED_SETUP:
-                    mDeferredSetupCardHelper.bindView(holder, card, slice);
-                    break;
-                case VIEW_TYPE_HALF_WIDTH:
-                    mHalfCardHelper.bindView(holder, card, slice);
-                    break;
-                default:
-                    mFullCardHelper.bindView(holder, card, slice);
+            if (holder.getItemViewType() == VIEW_TYPE_HALF_WIDTH) {
+                mHalfCardHelper.bindView(holder, card, slice);
+            } else {
+                mFullCardHelper.bindView(holder, card, slice);
             }
             if (swipeBackground != null) {
                 swipeBackground.setVisibility(View.VISIBLE);
             }
         });
 
-        switch (holder.getItemViewType()) {
-            case VIEW_TYPE_DEFERRED_SETUP:
-                // Deferred setup is never dismissible.
-                break;
-            case VIEW_TYPE_HALF_WIDTH:
-                initDismissalActions(holder, card);
-                break;
-            default:
-                initDismissalActions(holder, card);
+        if (holder.getItemViewType() != VIEW_TYPE_STICKY) {
+            initDismissalActions(holder, card);
         }
 
         if (card.isPendingDismiss()) {
@@ -182,7 +171,7 @@
 
     @OnLifecycleEvent(Lifecycle.Event.ON_STOP)
     public void onStop() {
-        mFlippedCardSet.stream().forEach(holder -> resetCardView(holder));
+        mFlippedCardSet.forEach(holder -> resetCardView(holder));
         mFlippedCardSet.clear();
     }
 
diff --git a/src/com/android/settings/homepage/contextualcards/slices/SliceDeferredSetupCardRendererHelper.java b/src/com/android/settings/homepage/contextualcards/slices/SliceDeferredSetupCardRendererHelper.java
deleted file mode 100644
index ea9e424..0000000
--- a/src/com/android/settings/homepage/contextualcards/slices/SliceDeferredSetupCardRendererHelper.java
+++ /dev/null
@@ -1,97 +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.homepage.contextualcards.slices;
-
-import android.app.PendingIntent;
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.util.Log;
-import android.view.View;
-import android.widget.Button;
-import android.widget.ImageView;
-import android.widget.LinearLayout;
-import android.widget.TextView;
-
-import androidx.recyclerview.widget.RecyclerView;
-import androidx.slice.Slice;
-import androidx.slice.SliceMetadata;
-import androidx.slice.core.SliceAction;
-import androidx.slice.widget.EventInfo;
-
-import com.android.settings.R;
-import com.android.settings.homepage.contextualcards.ContextualCard;
-import com.android.settings.homepage.contextualcards.logging.ContextualCardLogUtils;
-import com.android.settings.overlay.FeatureFactory;
-import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
-
-/**
- * Card renderer helper for {@link ContextualCard} built as slice deferred setup card.
- */
-class SliceDeferredSetupCardRendererHelper {
-    private static final String TAG = "SliceDSCRendererHelper";
-
-    private final Context mContext;
-
-    SliceDeferredSetupCardRendererHelper(Context context) {
-        mContext = context;
-    }
-
-    RecyclerView.ViewHolder createViewHolder(View view) {
-        return new DeferredSetupCardViewHolder(view);
-    }
-
-    void bindView(RecyclerView.ViewHolder holder, ContextualCard card, Slice slice) {
-        final DeferredSetupCardViewHolder view = (DeferredSetupCardViewHolder) holder;
-        final SliceMetadata sliceMetadata = SliceMetadata.from(mContext, slice);
-        final SliceAction primaryAction = sliceMetadata.getPrimaryAction();
-        view.icon.setImageDrawable(primaryAction.getIcon().loadDrawable(mContext));
-        view.title.setText(primaryAction.getTitle());
-        view.summary.setText(sliceMetadata.getSubtitle());
-        view.button.setOnClickListener(v -> {
-            try {
-                primaryAction.getAction().send();
-            } catch (PendingIntent.CanceledException e) {
-                Log.w(TAG, "Failed to start intent " + primaryAction.getTitle());
-            }
-            final String log = ContextualCardLogUtils.buildCardClickLog(card, 0 /* row */,
-                    EventInfo.ACTION_TYPE_CONTENT, view.getAdapterPosition());
-
-            final MetricsFeatureProvider metricsFeatureProvider =
-                    FeatureFactory.getFactory(mContext).getMetricsFeatureProvider();
-
-            metricsFeatureProvider.action(mContext,
-                    SettingsEnums.ACTION_CONTEXTUAL_CARD_CLICK, log);
-        });
-    }
-
-    static class DeferredSetupCardViewHolder extends RecyclerView.ViewHolder {
-        public final LinearLayout content;
-        public final ImageView icon;
-        public final TextView title;
-        public final TextView summary;
-        public final Button button;
-
-        public DeferredSetupCardViewHolder(View itemView) {
-            super(itemView);
-            content = itemView.findViewById(R.id.content);
-            icon = itemView.findViewById(android.R.id.icon);
-            title = itemView.findViewById(android.R.id.title);
-            summary = itemView.findViewById(android.R.id.summary);
-            button = itemView.findViewById(R.id.finish_setup);
-        }
-    }
-}
\ No newline at end of file
diff --git a/src/com/android/settings/homepage/contextualcards/slices/SwipeDismissalDelegate.java b/src/com/android/settings/homepage/contextualcards/slices/SwipeDismissalDelegate.java
index 0f78575..1813590 100644
--- a/src/com/android/settings/homepage/contextualcards/slices/SwipeDismissalDelegate.java
+++ b/src/com/android/settings/homepage/contextualcards/slices/SwipeDismissalDelegate.java
@@ -52,21 +52,20 @@
     @Override
     public int getMovementFlags(@NonNull RecyclerView recyclerView,
             @NonNull RecyclerView.ViewHolder viewHolder) {
-        switch (viewHolder.getItemViewType()) {
-            case SliceContextualCardRenderer.VIEW_TYPE_FULL_WIDTH:
-            case SliceContextualCardRenderer.VIEW_TYPE_HALF_WIDTH:
-                // Here we are making sure the current displayed view is the initial view of
-                // either slice full card or half card, and only allow swipe on these two types.
-                if (viewHolder.itemView.findViewById(R.id.dismissal_view).getVisibility()
-                        == View.VISIBLE) {
-                    // Disable swiping when we are in the dismissal view
-                    return 0;
-                }
-                return makeMovementFlags(0 /*dragFlags*/,
-                        ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT /*swipeFlags*/);
-            default:
+        if (viewHolder.getItemViewType() == SliceContextualCardRenderer.VIEW_TYPE_FULL_WIDTH
+                || viewHolder.getItemViewType()
+                == SliceContextualCardRenderer.VIEW_TYPE_HALF_WIDTH) {// Here we are making sure
+            // the current displayed view is the initial view of
+            // either slice full card or half card, and only allow swipe on these two types.
+            if (viewHolder.itemView.findViewById(R.id.dismissal_view).getVisibility()
+                    == View.VISIBLE) {
+                // Disable swiping when we are in the dismissal view
                 return 0;
+            }
+            return makeMovementFlags(0 /*dragFlags*/,
+                    ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT /*swipeFlags*/);
         }
+        return 0;
     }
 
     @Override
diff --git a/src/com/android/settings/inputmethod/AvailableVirtualKeyboardFragment.java b/src/com/android/settings/inputmethod/AvailableVirtualKeyboardFragment.java
index c37d2b5..686558c 100644
--- a/src/com/android/settings/inputmethod/AvailableVirtualKeyboardFragment.java
+++ b/src/com/android/settings/inputmethod/AvailableVirtualKeyboardFragment.java
@@ -113,7 +113,7 @@
         }
     }
 
-    public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
             new BaseSearchIndexProvider() {
                 @Override
                 public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
diff --git a/src/com/android/settings/inputmethod/InputMethodPreferenceController.java b/src/com/android/settings/inputmethod/InputMethodPreferenceController.java
new file mode 100644
index 0000000..1b11038
--- /dev/null
+++ b/src/com/android/settings/inputmethod/InputMethodPreferenceController.java
@@ -0,0 +1,102 @@
+/*
+ * 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.inputmethod;
+
+import android.app.admin.DevicePolicyManager;
+import android.content.Context;
+import android.graphics.drawable.Drawable;
+import android.view.inputmethod.InputMethodInfo;
+import android.view.inputmethod.InputMethodManager;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.core.BasePreferenceController;
+import com.android.settingslib.core.lifecycle.LifecycleObserver;
+import com.android.settingslib.core.lifecycle.events.OnStart;
+import com.android.settingslib.inputmethod.InputMethodPreference;
+
+import com.google.common.annotations.VisibleForTesting;
+
+import java.text.Collator;
+import java.util.ArrayList;
+import java.util.List;
+
+public class InputMethodPreferenceController extends BasePreferenceController implements
+        LifecycleObserver, OnStart {
+
+    @VisibleForTesting
+    PreferenceScreen mScreen;
+    private Preference mPreference;
+    private InputMethodManager mImm;
+    private DevicePolicyManager mDpm;
+
+    public InputMethodPreferenceController(Context context, String key) {
+        super(context, key);
+        mImm = context.getSystemService(InputMethodManager.class);
+        mDpm = context.getSystemService(DevicePolicyManager.class);
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return AVAILABLE;
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        mScreen = screen;
+        mPreference = mScreen.findPreference(getPreferenceKey());
+    }
+
+    @Override
+    public void onStart() {
+        updateInputMethodPreferenceViews();
+    }
+
+    private void updateInputMethodPreferenceViews() {
+        final List<InputMethodPreference> preferenceList = new ArrayList<>();
+
+        final List<String> permittedList = mDpm.getPermittedInputMethodsForCurrentUser();
+        final List<InputMethodInfo> imis = mImm.getEnabledInputMethodList();
+        final int N = (imis == null ? 0 : imis.size());
+        for (int i = 0; i < N; ++i) {
+            final InputMethodInfo imi = imis.get(i);
+            final boolean isAllowedByOrganization = permittedList == null
+                    || permittedList.contains(imi.getPackageName());
+            final Drawable icon = imi.loadIcon(mContext.getPackageManager());
+            final InputMethodPreference pref = new InputMethodPreference(
+                    mScreen.getContext(),
+                    imi,
+                    false,  /* isImeEnabler */
+                    isAllowedByOrganization,
+                    null  /* this can be null since isImeEnabler is false */);
+            pref.setIcon(icon);
+            preferenceList.add(pref);
+        }
+        final Collator collator = Collator.getInstance();
+        preferenceList.sort((lhs, rhs) -> lhs.compareTo(rhs, collator));
+        mScreen.removeAll();
+        for (int i = 0; i < N; ++i) {
+            final InputMethodPreference pref = preferenceList.get(i);
+            pref.setOrder(i);
+            mScreen.addPreference(pref);
+            pref.updatePreferenceViews();
+        }
+        mScreen.addPreference(mPreference);
+    }
+}
diff --git a/src/com/android/settings/inputmethod/PhysicalKeyboardFragment.java b/src/com/android/settings/inputmethod/PhysicalKeyboardFragment.java
index 119571d..ee73c27 100644
--- a/src/com/android/settings/inputmethod/PhysicalKeyboardFragment.java
+++ b/src/com/android/settings/inputmethod/PhysicalKeyboardFragment.java
@@ -45,7 +45,7 @@
 import com.android.settings.Settings;
 import com.android.settings.SettingsPreferenceFragment;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
+import com.android.settingslib.search.Indexable;
 import com.android.settingslib.search.SearchIndexable;
 import com.android.settingslib.utils.ThreadUtils;
 
@@ -332,7 +332,7 @@
         }
     }
 
-    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
             new BaseSearchIndexProvider() {
                 @Override
                 public List<SearchIndexableResource> getXmlResourcesToIndex(
diff --git a/src/com/android/settings/inputmethod/SpellCheckerForWorkPreferenceController.java b/src/com/android/settings/inputmethod/SpellCheckerForWorkPreferenceController.java
index 327af5b..5e04a06 100644
--- a/src/com/android/settings/inputmethod/SpellCheckerForWorkPreferenceController.java
+++ b/src/com/android/settings/inputmethod/SpellCheckerForWorkPreferenceController.java
@@ -16,36 +16,28 @@
 
 package com.android.settings.inputmethod;
 
-import android.app.settings.SettingsEnums;
 import android.content.Context;
-import android.view.inputmethod.InputMethodSystemProperty;
 
 import com.android.settings.R;
-import com.android.settings.core.WorkProfilePreferenceController;
+import com.android.settings.core.BasePreferenceController;
 
 /**
  * Preference controller for "Spell checker for work".
  *
  * @see SpellCheckerPreferenceController
  */
-public final class SpellCheckerForWorkPreferenceController extends WorkProfilePreferenceController {
+public final class SpellCheckerForWorkPreferenceController extends BasePreferenceController {
 
     public SpellCheckerForWorkPreferenceController(Context context, String preferenceKey) {
         super(context, preferenceKey);
     }
 
-    @Override
-    protected int getSourceMetricsCategory() {
-        return SettingsEnums.SETTINGS_LANGUAGE_CATEGORY;
-    }
-
     @AvailabilityStatus
     @Override
     public int getAvailabilityStatus() {
-        if (!mContext.getResources().getBoolean(R.bool.config_show_spellcheckers_settings)
-                || !InputMethodSystemProperty.PER_PROFILE_IME_ENABLED) {
+        if (!mContext.getResources().getBoolean(R.bool.config_show_spellcheckers_settings)) {
             return UNSUPPORTED_ON_DEVICE;
         }
-        return super.getAvailabilityStatus();
+        return AVAILABLE;
     }
 }
diff --git a/src/com/android/settings/inputmethod/UserDictionaryList.java b/src/com/android/settings/inputmethod/UserDictionaryList.java
index 497b380..a003f96 100644
--- a/src/com/android/settings/inputmethod/UserDictionaryList.java
+++ b/src/com/android/settings/inputmethod/UserDictionaryList.java
@@ -25,7 +25,7 @@
 import com.android.settings.R;
 import com.android.settings.dashboard.DashboardFragment;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
+import com.android.settingslib.search.Indexable;
 import com.android.settingslib.search.SearchIndexable;
 
 import java.util.ArrayList;
@@ -75,7 +75,7 @@
         return TAG;
     }
 
-    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
             new BaseSearchIndexProvider() {
                 @Override
                 public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
diff --git a/src/com/android/settings/inputmethod/VirtualKeyboardForWorkPreferenceController.java b/src/com/android/settings/inputmethod/VirtualKeyboardForWorkPreferenceController.java
index 6cdd386..9aa65f0 100644
--- a/src/com/android/settings/inputmethod/VirtualKeyboardForWorkPreferenceController.java
+++ b/src/com/android/settings/inputmethod/VirtualKeyboardForWorkPreferenceController.java
@@ -16,33 +16,25 @@
 
 package com.android.settings.inputmethod;
 
-import android.app.settings.SettingsEnums;
 import android.content.Context;
-import android.view.inputmethod.InputMethodSystemProperty;
 
 import com.android.settings.R;
-import com.android.settings.core.WorkProfilePreferenceController;
+import com.android.settings.core.BasePreferenceController;
 
 public final class VirtualKeyboardForWorkPreferenceController
-        extends WorkProfilePreferenceController {
+        extends BasePreferenceController {
 
     public VirtualKeyboardForWorkPreferenceController(Context context,
             String preferenceKey) {
         super(context, preferenceKey);
     }
 
-    @Override
-    protected int getSourceMetricsCategory() {
-        return SettingsEnums.SETTINGS_LANGUAGE_CATEGORY;
-    }
-
     @AvailabilityStatus
     @Override
     public int getAvailabilityStatus() {
-        if (!mContext.getResources().getBoolean(R.bool.config_show_virtual_keyboard_pref)
-                || !InputMethodSystemProperty.PER_PROFILE_IME_ENABLED) {
+        if (!mContext.getResources().getBoolean(R.bool.config_show_virtual_keyboard_pref)) {
             return UNSUPPORTED_ON_DEVICE;
         }
-        return super.getAvailabilityStatus();
+        return AVAILABLE;
     }
 }
diff --git a/src/com/android/settings/inputmethod/VirtualKeyboardFragment.java b/src/com/android/settings/inputmethod/VirtualKeyboardFragment.java
index ef07d11..903905b 100644
--- a/src/com/android/settings/inputmethod/VirtualKeyboardFragment.java
+++ b/src/com/android/settings/inputmethod/VirtualKeyboardFragment.java
@@ -16,58 +16,32 @@
 
 package com.android.settings.inputmethod;
 
-import android.app.Activity;
-import android.app.admin.DevicePolicyManager;
 import android.app.settings.SettingsEnums;
 import android.content.Context;
-import android.graphics.drawable.Drawable;
-import android.os.Bundle;
 import android.provider.SearchIndexableResource;
-import android.view.inputmethod.InputMethodInfo;
-import android.view.inputmethod.InputMethodManager;
 
-import androidx.preference.Preference;
-
-import com.android.internal.util.Preconditions;
 import com.android.settings.R;
-import com.android.settings.SettingsPreferenceFragment;
+import com.android.settings.dashboard.DashboardFragment;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
-import com.android.settingslib.inputmethod.InputMethodAndSubtypeUtilCompat;
-import com.android.settingslib.inputmethod.InputMethodPreference;
+import com.android.settingslib.search.Indexable;
 import com.android.settingslib.search.SearchIndexable;
 
-import java.text.Collator;
-import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 
 @SearchIndexable
-public final class VirtualKeyboardFragment extends SettingsPreferenceFragment implements Indexable {
+public final class VirtualKeyboardFragment extends DashboardFragment {
 
-    private static final String ADD_VIRTUAL_KEYBOARD_SCREEN = "add_virtual_keyboard_screen";
-
-    private final ArrayList<InputMethodPreference> mInputMethodPreferenceList = new ArrayList<>();
-    private InputMethodManager mImm;
-    private DevicePolicyManager mDpm;
-    private Preference mAddVirtualKeyboardScreen;
+    private static final String TAG = "VirtualKeyboardFragment";
 
     @Override
-    public void onCreatePreferences(Bundle bundle, String s) {
-        Activity activity = Preconditions.checkNotNull(getActivity());
-        addPreferencesFromResource(R.xml.virtual_keyboard_settings);
-        mImm = Preconditions.checkNotNull(activity.getSystemService(InputMethodManager.class));
-        mDpm = Preconditions.checkNotNull(activity.getSystemService(DevicePolicyManager.class));
-        mAddVirtualKeyboardScreen = Preconditions.checkNotNull(
-                findPreference(ADD_VIRTUAL_KEYBOARD_SCREEN));
+    protected int getPreferenceScreenResId() {
+        return R.xml.virtual_keyboard_settings;
     }
 
     @Override
-    public void onResume() {
-        super.onResume();
-        // Refresh internal states in mInputMethodSettingValues to keep the latest
-        // "InputMethodInfo"s and "InputMethodSubtype"s
-        updateInputMethodPreferenceViews();
+    protected String getLogTag() {
+        return TAG;
     }
 
     @Override
@@ -75,43 +49,7 @@
         return SettingsEnums.VIRTUAL_KEYBOARDS;
     }
 
-    private void updateInputMethodPreferenceViews() {
-        // Clear existing "InputMethodPreference"s
-        mInputMethodPreferenceList.clear();
-        List<String> permittedList = mDpm.getPermittedInputMethodsForCurrentUser();
-        final Context context = getPrefContext();
-        final List<InputMethodInfo> imis = mImm.getEnabledInputMethodList();
-        final int N = (imis == null ? 0 : imis.size());
-        for (int i = 0; i < N; ++i) {
-            final InputMethodInfo imi = imis.get(i);
-            final boolean isAllowedByOrganization = permittedList == null
-                    || permittedList.contains(imi.getPackageName());
-            final Drawable icon = imi.loadIcon(context.getPackageManager());
-            final InputMethodPreference pref = new InputMethodPreference(
-                    context,
-                    imi,
-                    false,  /* isImeEnabler */
-                    isAllowedByOrganization,
-                    null  /* this can be null since isImeEnabler is false */);
-            pref.setIcon(icon);
-            mInputMethodPreferenceList.add(pref);
-        }
-        final Collator collator = Collator.getInstance();
-        mInputMethodPreferenceList.sort((lhs, rhs) -> lhs.compareTo(rhs, collator));
-        getPreferenceScreen().removeAll();
-        for (int i = 0; i < N; ++i) {
-            final InputMethodPreference pref = mInputMethodPreferenceList.get(i);
-            pref.setOrder(i);
-            getPreferenceScreen().addPreference(pref);
-            InputMethodAndSubtypeUtilCompat.removeUnnecessaryNonPersistentPreference(pref);
-            pref.updatePreferenceViews();
-        }
-        mAddVirtualKeyboardScreen.setIcon(R.drawable.ic_add_24dp);
-        mAddVirtualKeyboardScreen.setOrder(N);
-        getPreferenceScreen().addPreference(mAddVirtualKeyboardScreen);
-    }
-
-    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
             new BaseSearchIndexProvider() {
                 @Override
                 public List<SearchIndexableResource> getXmlResourcesToIndex(
diff --git a/src/com/android/settings/language/LanguageAndInputPreferenceController.java b/src/com/android/settings/language/LanguageAndInputPreferenceController.java
new file mode 100644
index 0000000..04bf622
--- /dev/null
+++ b/src/com/android/settings/language/LanguageAndInputPreferenceController.java
@@ -0,0 +1,63 @@
+/*
+ * 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.language;
+
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.pm.PackageManager;
+import android.provider.Settings;
+import android.text.TextUtils;
+import android.view.inputmethod.InputMethodInfo;
+import android.view.inputmethod.InputMethodManager;
+
+import com.android.settings.core.BasePreferenceController;
+
+import java.util.List;
+
+public class LanguageAndInputPreferenceController extends BasePreferenceController {
+
+    private PackageManager mPackageManager;
+    private InputMethodManager mInputMethodManager;
+
+    public LanguageAndInputPreferenceController(Context context, String key) {
+        super(context, key);
+        mPackageManager = mContext.getPackageManager();
+        mInputMethodManager = mContext.getSystemService(InputMethodManager.class);
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return AVAILABLE;
+    }
+
+    @Override
+    public CharSequence getSummary() {
+        final String flattenComponent = Settings.Secure.getString(
+                mContext.getContentResolver(), Settings.Secure.DEFAULT_INPUT_METHOD);
+        if (!TextUtils.isEmpty(flattenComponent)) {
+            final String pkg = ComponentName.unflattenFromString(flattenComponent)
+                    .getPackageName();
+            final List<InputMethodInfo> imis = mInputMethodManager.getInputMethodList();
+            for (InputMethodInfo imi : imis) {
+                if (TextUtils.equals(imi.getPackageName(), pkg)) {
+                    return imi.loadLabel(mPackageManager);
+                }
+            }
+        }
+        return "";
+    }
+}
diff --git a/src/com/android/settings/language/LanguageAndInputSettings.java b/src/com/android/settings/language/LanguageAndInputSettings.java
index 3a8aeac..c896629 100644
--- a/src/com/android/settings/language/LanguageAndInputSettings.java
+++ b/src/com/android/settings/language/LanguageAndInputSettings.java
@@ -18,22 +18,13 @@
 
 import android.app.Activity;
 import android.app.settings.SettingsEnums;
-import android.content.ComponentName;
-import android.content.ContentResolver;
 import android.content.Context;
-import android.content.pm.PackageManager;
-import android.provider.SearchIndexableResource;
-import android.provider.Settings;
-import android.text.TextUtils;
-import android.view.inputmethod.InputMethodInfo;
-import android.view.inputmethod.InputMethodManager;
 
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 
 import com.android.settings.R;
 import com.android.settings.dashboard.DashboardFragment;
-import com.android.settings.dashboard.SummaryLoader;
 import com.android.settings.inputmethod.PhysicalKeyboardPreferenceController;
 import com.android.settings.inputmethod.SpellCheckerPreferenceController;
 import com.android.settings.inputmethod.VirtualKeyboardPreferenceController;
@@ -123,53 +114,8 @@
         return controllers;
     }
 
-    private static class SummaryProvider implements SummaryLoader.SummaryProvider {
-
-        private final Context mContext;
-        private final SummaryLoader mSummaryLoader;
-
-        public SummaryProvider(Context context, SummaryLoader summaryLoader) {
-            mContext = context;
-            mSummaryLoader = summaryLoader;
-        }
-
-        @Override
-        public void setListening(boolean listening) {
-            final ContentResolver contentResolver = mContext.getContentResolver();
-            if (listening) {
-                final String flattenComponent = Settings.Secure.getString(
-                        contentResolver, Settings.Secure.DEFAULT_INPUT_METHOD);
-                if (!TextUtils.isEmpty(flattenComponent)) {
-                    final PackageManager packageManage = mContext.getPackageManager();
-                    final String pkg = ComponentName.unflattenFromString(flattenComponent)
-                            .getPackageName();
-                    final InputMethodManager imm = (InputMethodManager)
-                            mContext.getSystemService(Context.INPUT_METHOD_SERVICE);
-                    final List<InputMethodInfo> imis = imm.getInputMethodList();
-                    for (InputMethodInfo imi : imis) {
-                        if (TextUtils.equals(imi.getPackageName(), pkg)) {
-                            mSummaryLoader.setSummary(this, imi.loadLabel(packageManage));
-                            return;
-                        }
-                    }
-                }
-                mSummaryLoader.setSummary(this, "");
-            }
-        }
-    }
-
-    public static final SummaryLoader.SummaryProviderFactory SUMMARY_PROVIDER_FACTORY
-            = (activity, summaryLoader) -> new SummaryProvider(activity, summaryLoader);
-
-    public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(
-                        Context context, boolean enabled) {
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.language_and_input;
-                    return Arrays.asList(sir);
-                }
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.language_and_input) {
 
                 @Override
                 public List<AbstractPreferenceController> createPreferenceControllers(
diff --git a/src/com/android/settings/language/TtsPreferenceController.java b/src/com/android/settings/language/TtsPreferenceController.java
index 7e34175..6507785 100644
--- a/src/com/android/settings/language/TtsPreferenceController.java
+++ b/src/com/android/settings/language/TtsPreferenceController.java
@@ -38,7 +38,6 @@
     public int getAvailabilityStatus() {
         return !mTtsEngines.getEngines().isEmpty() &&
                 mContext.getResources().getBoolean(R.bool.config_show_tts_settings_summary)
-                ? AVAILABLE_UNSEARCHABLE
-                : CONDITIONALLY_UNAVAILABLE;
+                ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
     }
 }
diff --git a/src/com/android/settings/language/UserDictionaryForWorkPreferenceController.java b/src/com/android/settings/language/UserDictionaryForWorkPreferenceController.java
deleted file mode 100644
index 7ff8aec..0000000
--- a/src/com/android/settings/language/UserDictionaryForWorkPreferenceController.java
+++ /dev/null
@@ -1,51 +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.language;
-
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.view.inputmethod.InputMethodSystemProperty;
-
-import com.android.settings.R;
-import com.android.settings.core.WorkProfilePreferenceController;
-
-/**
- * Preference controller for "UserDictionary for work".
- *
- * @see UserDictionaryPreferenceController
- */
-public final class UserDictionaryForWorkPreferenceController
-        extends WorkProfilePreferenceController {
-
-    public UserDictionaryForWorkPreferenceController(Context context, String preferenceKey) {
-        super(context, preferenceKey);
-    }
-
-    @Override
-    protected int getSourceMetricsCategory() {
-        return SettingsEnums.SETTINGS_LANGUAGE_CATEGORY;
-    }
-
-    @AvailabilityStatus
-    @Override
-    public int getAvailabilityStatus() {
-        if (!InputMethodSystemProperty.PER_PROFILE_IME_ENABLED) {
-            return UNSUPPORTED_ON_DEVICE;
-        }
-        return super.getAvailabilityStatus();
-    }
-}
diff --git a/src/com/android/settings/language/UserDictionaryPreferenceController.java b/src/com/android/settings/language/UserDictionaryPreferenceController.java
index d7829c6..27c47ed 100644
--- a/src/com/android/settings/language/UserDictionaryPreferenceController.java
+++ b/src/com/android/settings/language/UserDictionaryPreferenceController.java
@@ -37,7 +37,7 @@
 
     @Override
     public int getAvailabilityStatus() {
-        return AVAILABLE_UNSEARCHABLE;
+        return AVAILABLE;
     }
 
     @Override
diff --git a/src/com/android/settings/localepicker/LocaleDragAndDropAdapter.java b/src/com/android/settings/localepicker/LocaleDragAndDropAdapter.java
index a06c77e..ab9110d 100644
--- a/src/com/android/settings/localepicker/LocaleDragAndDropAdapter.java
+++ b/src/com/android/settings/localepicker/LocaleDragAndDropAdapter.java
@@ -251,6 +251,10 @@
         return result;
     }
 
+    boolean isFirstLocaleChecked() {
+        return mFeedItemList != null && mFeedItemList.get(0).getChecked();
+    }
+
     void addLocale(LocaleStore.LocaleInfo li) {
         mFeedItemList.add(li);
         notifyItemInserted(mFeedItemList.size() - 1);
diff --git a/src/com/android/settings/localepicker/LocaleLinearLayoutManager.java b/src/com/android/settings/localepicker/LocaleLinearLayoutManager.java
index 9069812..5fb9440 100644
--- a/src/com/android/settings/localepicker/LocaleLinearLayoutManager.java
+++ b/src/com/android/settings/localepicker/LocaleLinearLayoutManager.java
@@ -117,39 +117,33 @@
         final int position = this.getPosition(host);
         boolean result = false;
 
-        switch (action) {
-            case R.id.action_drag_move_up:
-                if (position > 0) {
-                    mAdapter.onItemMove(position, position - 1);
-                    result = true;
-                }
-                break;
-            case R.id.action_drag_move_down:
-                if (position + 1 < itemCount) {
-                    mAdapter.onItemMove(position, position + 1);
-                    result = true;
-                }
-                break;
-            case R.id.action_drag_move_top:
-                if (position != 0) {
-                    mAdapter.onItemMove(position, 0);
-                    result = true;
-                }
-                break;
-            case R.id.action_drag_move_bottom:
-                if (position != itemCount - 1) {
-                    mAdapter.onItemMove(position, itemCount - 1);
-                    result = true;
-                }
-                break;
-            case R.id.action_drag_remove:
-                if (itemCount > 1) {
-                    mAdapter.removeItem(position);
-                    result = true;
-                }
-                break;
-            default:
-                return super.performAccessibilityActionForItem(recycler, state, host, action, args);
+        if (action == R.id.action_drag_move_up) {
+            if (position > 0) {
+                mAdapter.onItemMove(position, position - 1);
+                result = true;
+            }
+        } else if (action == R.id.action_drag_move_down) {
+            if (position + 1 < itemCount) {
+                mAdapter.onItemMove(position, position + 1);
+                result = true;
+            }
+        } else if (action == R.id.action_drag_move_top) {
+            if (position != 0) {
+                mAdapter.onItemMove(position, 0);
+                result = true;
+            }
+        } else if (action == R.id.action_drag_move_bottom) {
+            if (position != itemCount - 1) {
+                mAdapter.onItemMove(position, itemCount - 1);
+                result = true;
+            }
+        } else if (action == R.id.action_drag_remove) {
+            if (itemCount > 1) {
+                mAdapter.removeItem(position);
+                result = true;
+            }
+        } else {
+            return super.performAccessibilityActionForItem(recycler, state, host, action, args);
         }
 
         if (result) {
diff --git a/src/com/android/settings/localepicker/LocaleListEditor.java b/src/com/android/settings/localepicker/LocaleListEditor.java
index bee5152..3165d09 100644
--- a/src/com/android/settings/localepicker/LocaleListEditor.java
+++ b/src/com/android/settings/localepicker/LocaleListEditor.java
@@ -20,8 +20,10 @@
 
 import android.app.Activity;
 import android.app.settings.SettingsEnums;
+import android.content.Context;
 import android.content.DialogInterface;
 import android.content.Intent;
+import android.content.res.Resources;
 import android.os.Bundle;
 import android.os.LocaleList;
 import android.view.LayoutInflater;
@@ -32,6 +34,7 @@
 import android.view.ViewGroup;
 import android.widget.TextView;
 
+import androidx.annotation.VisibleForTesting;
 import androidx.appcompat.app.AlertDialog;
 import androidx.recyclerview.widget.RecyclerView;
 
@@ -39,6 +42,9 @@
 import com.android.internal.app.LocaleStore;
 import com.android.settings.R;
 import com.android.settings.RestrictedSettingsFragment;
+import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settingslib.search.SearchIndexable;
+import com.android.settingslib.search.SearchIndexableRaw;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -47,6 +53,7 @@
 /**
  * Drag-and-drop editor for the user-ordered locale lists.
  */
+@SearchIndexable
 public class LocaleListEditor extends RestrictedSettingsFragment {
 
     protected static final String INTENT_LOCALE_KEY = "localeInfo";
@@ -55,6 +62,8 @@
     private static final int MENU_ID_REMOVE = Menu.FIRST + 1;
     private static final int REQUEST_LOCALE_PICKER = 0;
 
+    private static final String INDEX_KEY_ADD_LANGUAGE = "add_language";
+
     private LocaleDragAndDropAdapter mAdapter;
     private Menu mMenu;
     private View mAddLanguage;
@@ -176,7 +185,8 @@
     // Shows no warning if there is no locale checked, shows a warning
     // about removing all the locales if all of them are checked, and
     // a "regular" warning otherwise.
-    private void showRemoveLocaleWarningDialog() {
+    @VisibleForTesting
+    void showRemoveLocaleWarningDialog() {
         int checkedCount = mAdapter.getCheckedCount();
 
         // Nothing checked, just exit remove mode without a warning dialog
@@ -210,33 +220,41 @@
         final String title = getResources().getQuantityString(R.plurals.dlg_remove_locales_title,
                 checkedCount);
         mShowingRemoveDialog = true;
-        new AlertDialog.Builder(getActivity())
-                .setTitle(title)
-                .setMessage(R.string.dlg_remove_locales_message)
+
+        final AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
+        if (mAdapter.isFirstLocaleChecked()) {
+            builder.setMessage(R.string.dlg_remove_locales_message);
+        }
+
+        builder.setTitle(title)
                 .setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() {
                     @Override
                     public void onClick(DialogInterface dialog, int which) {
                         setRemoveMode(false);
                     }
                 })
-                .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
-                    @Override
-                    public void onClick(DialogInterface dialog, int which) {
-                        // This is a sensitive area to change.
-                        // removeChecked() triggers a system update and "kills" the frame.
-                        // This means that saveState + restoreState are called before
-                        // setRemoveMode is called.
-                        // So we want that mRemoveMode and dialog status have the right values
-                        // before that save.
-                        // We can't just call setRemoveMode(false) before calling removeCheched
-                        // because that unchecks all items and removeChecked would have nothing
-                        // to remove.
-                        mRemoveMode = false;
-                        mShowingRemoveDialog = false;
-                        mAdapter.removeChecked();
-                        setRemoveMode(false);
-                    }
-                })
+                .setPositiveButton(R.string.locale_remove_menu,
+                        new DialogInterface.OnClickListener() {
+                            @Override
+                            public void onClick(DialogInterface dialog, int which) {
+                                // This is a sensitive area to change.
+                                // removeChecked() triggers a system update and "kills" the frame.
+                                // This means that saveState + restoreState are called before
+                                // setRemoveMode is called.
+                                // So we want that mRemoveMode and dialog status have the right
+                                // values
+                                // before that save.
+                                // We can't just call setRemoveMode(false) before calling
+                                // removeCheched
+                                // because that unchecks all items and removeChecked would have
+                                // nothing
+                                // to remove.
+                                mRemoveMode = false;
+                                mShowingRemoveDialog = false;
+                                mAdapter.removeChecked();
+                                setRemoveMode(false);
+                            }
+                        })
                 .setOnDismissListener(new DialogInterface.OnDismissListener() {
                     @Override
                     public void onDismiss(DialogInterface dialog) {
@@ -304,4 +322,20 @@
             menuItemRemove.setVisible(hasMultipleLanguages && !mIsUiRestricted);
         }
     }
+
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider() {
+                @Override
+                public List<SearchIndexableRaw> getRawDataToIndex(Context context,
+                        boolean enabled) {
+                    final Resources res = context.getResources();
+                    final List<SearchIndexableRaw> indexRaws = new ArrayList<>();
+                    final SearchIndexableRaw raw = new SearchIndexableRaw(context);
+                    raw.key = INDEX_KEY_ADD_LANGUAGE;
+                    raw.title = res.getString(R.string.add_a_language);
+                    raw.keywords = res.getString(R.string.keywords_add_language);
+                    indexRaws.add(raw);
+                    return indexRaws;
+                }
+            };
 }
diff --git a/src/com/android/settings/location/AppLocationPermissionPreferenceController.java b/src/com/android/settings/location/AppLocationPermissionPreferenceController.java
index 65abe99..90b3797 100644
--- a/src/com/android/settings/location/AppLocationPermissionPreferenceController.java
+++ b/src/com/android/settings/location/AppLocationPermissionPreferenceController.java
@@ -16,7 +16,6 @@
 import com.android.settings.R;
 import com.android.settings.Utils;
 import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settingslib.core.lifecycle.Lifecycle;
 
 import java.util.Arrays;
 import java.util.List;
@@ -25,7 +24,6 @@
 public class AppLocationPermissionPreferenceController extends
         LocationBasePreferenceController implements PreferenceControllerMixin {
 
-    private static final String KEY_APP_LEVEL_PERMISSIONS = "app_level_permissions";
     /** Total number of apps that has location permission. */
     @VisibleForTesting
     int mNumTotal = -1;
@@ -40,20 +38,16 @@
     private final LocationManager mLocationManager;
     private Preference mPreference;
 
-    public AppLocationPermissionPreferenceController(Context context, Lifecycle lifecycle) {
-        super(context, lifecycle);
+    public AppLocationPermissionPreferenceController(Context context, String key) {
+        super(context, key);
         mLocationManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
     }
 
     @Override
-    public String getPreferenceKey() {
-        return KEY_APP_LEVEL_PERMISSIONS;
-    }
-
-    @Override
-    public boolean isAvailable() {
+    public int getAvailabilityStatus() {
         return Settings.Global.getInt(mContext.getContentResolver(),
-                Settings.Global.LOCATION_SETTINGS_LINK_TO_PERMISSIONS_ENABLED, 1) == 1;
+                Settings.Global.LOCATION_SETTINGS_LINK_TO_PERMISSIONS_ENABLED, 1) == 1 ? AVAILABLE
+                : UNSUPPORTED_ON_DEVICE;
     }
 
     @Override
diff --git a/src/com/android/settings/location/LocationBasePreferenceController.java b/src/com/android/settings/location/LocationBasePreferenceController.java
index 6cf8626..7dc6e3d 100644
--- a/src/com/android/settings/location/LocationBasePreferenceController.java
+++ b/src/com/android/settings/location/LocationBasePreferenceController.java
@@ -16,29 +16,46 @@
 import android.content.Context;
 import android.os.UserManager;
 
-import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.settings.core.BasePreferenceController;
+import com.android.settings.dashboard.DashboardFragment;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 
 /**
  * A base controller for preferences that listens to location settings change and modifies location
  * settings.
  */
-public abstract class LocationBasePreferenceController extends AbstractPreferenceController
-        implements PreferenceControllerMixin, LocationEnabler.LocationModeChangeListener {
+public abstract class LocationBasePreferenceController extends BasePreferenceController
+        implements LocationEnabler.LocationModeChangeListener {
 
-    protected final UserManager mUserManager;
-    protected final LocationEnabler mLocationEnabler;
+    protected UserManager mUserManager;
+    protected LocationEnabler mLocationEnabler;
+    protected DashboardFragment mFragment;
+    protected Lifecycle mLifecycle;
 
-    public LocationBasePreferenceController(Context context, Lifecycle lifecycle) {
-        super(context);
-        mUserManager = (UserManager) context.getSystemService(Context.USER_SERVICE);
-        mLocationEnabler = new LocationEnabler(context, this /* listener */, lifecycle);
+    /**
+     * Constructor of LocationBasePreferenceController. {@link BasePreferenceController} uses
+     * reflection to create controller, all controllers extends {@link BasePreferenceController}
+     * should have this function.
+     */
+    public LocationBasePreferenceController(Context context, String key) {
+        super(context, key);
+        mUserManager = (UserManager) mContext.getSystemService(Context.USER_SERVICE);
+    }
+
+    /**
+     * Initialize {@link LocationEnabler} in this controller
+     *
+     * @param fragment The {@link DashboardFragment} uses the controller.
+     */
+    public void init(DashboardFragment fragment) {
+        mFragment = fragment;
+        mLifecycle = mFragment.getSettingsLifecycle();
+        mLocationEnabler = new LocationEnabler(mContext, this /* listener */, mLifecycle);
     }
 
     @Override
-    public boolean isAvailable() {
-        return true;
+    public int getAvailabilityStatus() {
+        return AVAILABLE;
     }
 
 }
diff --git a/src/com/android/settings/location/LocationFooterPreferenceController.java b/src/com/android/settings/location/LocationFooterPreferenceController.java
index 55fea9f..3b9324d 100644
--- a/src/com/android/settings/location/LocationFooterPreferenceController.java
+++ b/src/com/android/settings/location/LocationFooterPreferenceController.java
@@ -13,7 +13,6 @@
  */
 package com.android.settings.location;
 
-import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.ActivityInfo;
@@ -24,13 +23,9 @@
 import android.location.LocationManager;
 import android.util.Log;
 
-import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceCategory;
 
-import com.android.settingslib.core.lifecycle.Lifecycle;
-import com.android.settingslib.core.lifecycle.LifecycleObserver;
-import com.android.settingslib.core.lifecycle.events.OnPause;
 import com.android.settingslib.widget.FooterPreference;
 
 import java.util.ArrayList;
@@ -41,63 +36,44 @@
 /**
  * Preference controller for location footer preference category
  */
-public class LocationFooterPreferenceController extends LocationBasePreferenceController
-        implements LifecycleObserver, OnPause {
+public class LocationFooterPreferenceController extends LocationBasePreferenceController {
+
     private static final String TAG = "LocationFooter";
-    private static final String KEY_LOCATION_FOOTER = "location_footer";
     private static final Intent INJECT_INTENT =
             new Intent(LocationManager.SETTINGS_FOOTER_DISPLAYED_ACTION);
-    private final Context mContext;
+
     private final PackageManager mPackageManager;
-    private Collection<ComponentName> mFooterInjectors;
 
-    public LocationFooterPreferenceController(Context context, Lifecycle lifecycle) {
-        super(context, lifecycle);
-        mContext = context;
-        mPackageManager = mContext.getPackageManager();
-        mFooterInjectors = new ArrayList<>();
-        if (lifecycle != null) {
-            lifecycle.addObserver(this);
-        }
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return KEY_LOCATION_FOOTER;
+    public LocationFooterPreferenceController(Context context, String key) {
+        super(context, key);
+        mPackageManager = context.getPackageManager();
     }
 
     /**
-     * Insert footer preferences. Send a {@link LocationManager#SETTINGS_FOOTER_DISPLAYED_ACTION}
-     * broadcast to receivers who have injected a footer
+     * Insert footer preferences.
      */
     @Override
     public void updateState(Preference preference) {
         PreferenceCategory category = (PreferenceCategory) preference;
         category.removeAll();
-        mFooterInjectors.clear();
         Collection<FooterData> footerData = getFooterData();
         for (FooterData data : footerData) {
-            // Generate a footer preference with the given text
-            FooterPreference footerPreference = new FooterPreference(preference.getContext());
-            String footerString;
             try {
-                footerString =
+                String footerString =
                         mPackageManager
                                 .getResourcesForApplication(data.applicationInfo)
                                 .getString(data.footerStringRes);
+
+                // Generate a footer preference with the given text
+                FooterPreference footerPreference = new FooterPreference(preference.getContext());
+                footerPreference.setTitle(footerString);
+                category.addPreference(footerPreference);
             } catch (NameNotFoundException exception) {
                 Log.w(
                         TAG,
                         "Resources not found for application "
                                 + data.applicationInfo.packageName);
-                continue;
             }
-            footerPreference.setTitle(footerString);
-            // Inject the footer
-            category.addPreference(footerPreference);
-            // Send broadcast to the injector announcing a footer has been injected
-            sendBroadcastFooterDisplayed(data.componentName);
-            mFooterInjectors.add(data.componentName);
         }
     }
 
@@ -112,41 +88,16 @@
      * inject.
      */
     @Override
-    public boolean isAvailable() {
-        return !getFooterData().isEmpty();
-    }
-
-    /**
-     * Send a {@link LocationManager#SETTINGS_FOOTER_REMOVED_ACTION} broadcast to footer injectors
-     * when LocationFragment is on pause
-     */
-    @Override
-    public void onPause() {
-        // Send broadcast to the footer injectors. Notify them the footer is not visible.
-        for (ComponentName componentName : mFooterInjectors) {
-            final Intent intent = new Intent(LocationManager.SETTINGS_FOOTER_REMOVED_ACTION);
-            intent.setComponent(componentName);
-            mContext.sendBroadcast(intent);
-        }
-    }
-
-    /**
-     * Send a {@link LocationManager#SETTINGS_FOOTER_DISPLAYED_ACTION} broadcast to a footer
-     * injector.
-     */
-    @VisibleForTesting
-    void sendBroadcastFooterDisplayed(ComponentName componentName) {
-        Intent intent = new Intent(LocationManager.SETTINGS_FOOTER_DISPLAYED_ACTION);
-        intent.setComponent(componentName);
-        mContext.sendBroadcast(intent);
+    public int getAvailabilityStatus() {
+        return !getFooterData().isEmpty() ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
     }
 
     /**
      * Return a list of strings with text provided by ACTION_INJECT_FOOTER broadcast receivers.
      */
-    private Collection<FooterData> getFooterData() {
+    private List<FooterData> getFooterData() {
         // Fetch footer text from system apps
-        final List<ResolveInfo> resolveInfos =
+        List<ResolveInfo> resolveInfos =
                 mPackageManager.queryBroadcastReceivers(
                         INJECT_INTENT, PackageManager.GET_META_DATA);
         if (resolveInfos == null) {
@@ -158,10 +109,10 @@
             Log.d(TAG, "Found broadcast receivers: " + resolveInfos);
         }
 
-        final Collection<FooterData> footerDataList = new ArrayList<>(resolveInfos.size());
+        List<FooterData> footerDataList = new ArrayList<>(resolveInfos.size());
         for (ResolveInfo resolveInfo : resolveInfos) {
-            final ActivityInfo activityInfo = resolveInfo.activityInfo;
-            final ApplicationInfo appInfo = activityInfo.applicationInfo;
+            ActivityInfo activityInfo = resolveInfo.activityInfo;
+            ApplicationInfo appInfo = activityInfo.applicationInfo;
 
             // If a non-system app tries to inject footer, ignore it
             if ((appInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 0) {
@@ -187,11 +138,7 @@
                                 + LocationManager.METADATA_SETTINGS_FOOTER_STRING);
                 continue;
             }
-            footerDataList.add(
-                    new FooterData(
-                            footerTextRes,
-                            appInfo,
-                            new ComponentName(activityInfo.packageName, activityInfo.name)));
+            footerDataList.add(new FooterData(footerTextRes, appInfo));
         }
         return footerDataList;
     }
@@ -207,14 +154,9 @@
         // Application info of receiver injecting this footer
         final ApplicationInfo applicationInfo;
 
-        // The component that injected the footer. It must be a receiver of broadcast
-        // LocationManager.SETTINGS_FOOTER_DISPLAYED_ACTION
-        final ComponentName componentName;
-
-        FooterData(int footerRes, ApplicationInfo appInfo, ComponentName componentName) {
+        FooterData(int footerRes, ApplicationInfo appInfo) {
             this.footerStringRes = footerRes;
             this.applicationInfo = appInfo;
-            this.componentName = componentName;
         }
     }
 }
diff --git a/src/com/android/settings/location/LocationForWorkPreferenceController.java b/src/com/android/settings/location/LocationForWorkPreferenceController.java
index 1208ea2..41d26ef 100644
--- a/src/com/android/settings/location/LocationForWorkPreferenceController.java
+++ b/src/com/android/settings/location/LocationForWorkPreferenceController.java
@@ -17,6 +17,7 @@
 
 import android.content.Context;
 import android.os.UserManager;
+import android.text.TextUtils;
 
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
@@ -25,25 +26,18 @@
 import com.android.settings.Utils;
 import com.android.settingslib.RestrictedLockUtils;
 import com.android.settingslib.RestrictedSwitchPreference;
-import com.android.settingslib.core.lifecycle.Lifecycle;
 
 public class LocationForWorkPreferenceController extends LocationBasePreferenceController {
 
-    /**
-     * Key for managed profile location switch preference. Shown only
-     * if there is a managed profile.
-     */
-    private static final String KEY_MANAGED_PROFILE_SWITCH = "managed_profile_location_switch";
-
     private RestrictedSwitchPreference mPreference;
 
-    public LocationForWorkPreferenceController(Context context, Lifecycle lifecycle) {
-        super(context, lifecycle);
+    public LocationForWorkPreferenceController(Context context, String key) {
+        super(context, key);
     }
 
     @Override
     public boolean handlePreferenceTreeClick(Preference preference) {
-        if (KEY_MANAGED_PROFILE_SWITCH.equals(preference.getKey())) {
+        if (TextUtils.equals(preference.getKey(), getPreferenceKey())) {
             final boolean switchState = mPreference.isChecked();
             mUserManager.setUserRestriction(UserManager.DISALLOW_SHARE_LOCATION, !switchState,
                     Utils.getManagedProfile(mUserManager));
@@ -57,19 +51,12 @@
     @Override
     public void displayPreference(PreferenceScreen screen) {
         super.displayPreference(screen);
-        mPreference = screen.findPreference(KEY_MANAGED_PROFILE_SWITCH);
+        mPreference = screen.findPreference(getPreferenceKey());
     }
 
     @Override
-    public boolean isAvailable() {
-        // Looking for a managed profile. If there are no managed profiles then we are removing the
-        // managed profile category.
-        return Utils.getManagedProfile(mUserManager) != null;
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return KEY_MANAGED_PROFILE_SWITCH;
+    public int getAvailabilityStatus() {
+        return AVAILABLE;
     }
 
     @Override
@@ -80,21 +67,22 @@
         final RestrictedLockUtils.EnforcedAdmin admin =
                 mLocationEnabler.getShareLocationEnforcedAdmin(
                         Utils.getManagedProfile(mUserManager).getIdentifier());
-        final boolean isRestrictedByBase = mLocationEnabler.isManagedProfileRestrictedByBase();
-        if (!isRestrictedByBase && admin != null) {
+        if (admin != null) {
             mPreference.setDisabledByAdmin(admin);
-            mPreference.setChecked(false);
         } else {
             final boolean enabled = mLocationEnabler.isEnabled(mode);
             mPreference.setEnabled(enabled);
+            int summaryResId;
 
-            int summaryResId = R.string.switch_off_text;
-            if (!enabled) {
+            final boolean isRestrictedByBase =
+                    mLocationEnabler.isManagedProfileRestrictedByBase();
+            if (isRestrictedByBase || !enabled) {
                 mPreference.setChecked(false);
+                summaryResId = enabled ? R.string.switch_off_text
+                        : R.string.location_app_permission_summary_location_off;
             } else {
-                mPreference.setChecked(!isRestrictedByBase);
-                summaryResId = (isRestrictedByBase ?
-                        R.string.switch_off_text : R.string.switch_on_text);
+                mPreference.setChecked(true);
+                summaryResId = R.string.switch_on_text;
             }
             mPreference.setSummary(summaryResId);
         }
diff --git a/src/com/android/settings/location/LocationPersonalSettings.java b/src/com/android/settings/location/LocationPersonalSettings.java
new file mode 100644
index 0000000..92796a4
--- /dev/null
+++ b/src/com/android/settings/location/LocationPersonalSettings.java
@@ -0,0 +1,67 @@
+/*
+ * 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.location;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+
+import com.android.settings.R;
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.dashboard.profileselector.ProfileSelectFragment;
+
+/**
+ * Location Setting page for personal profile.
+ */
+public class LocationPersonalSettings extends DashboardFragment {
+
+    private static final String TAG = "LocationPersonal";
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.LOCATION;
+    }
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.location_settings_personal;
+    }
+
+    @Override
+    protected String getLogTag() {
+        return TAG;
+    }
+
+    @Override
+    public void onAttach(Context context) {
+        super.onAttach(context);
+
+        use(AppLocationPermissionPreferenceController.class).init(this);
+        use(LocationServicePreferenceController.class).init(this);
+        use(LocationFooterPreferenceController.class).init(this);
+
+        final int profileType = getArguments().getInt(ProfileSelectFragment.EXTRA_PROFILE);
+        final RecentLocationRequestPreferenceController controller = use(
+                RecentLocationRequestPreferenceController.class);
+        controller.init(this);
+        controller.setProfileType(profileType);
+    }
+
+    @Override
+    public int getHelpResource() {
+        return R.string.help_url_location_access;
+    }
+}
diff --git a/src/com/android/settings/location/LocationScanningPreferenceController.java b/src/com/android/settings/location/LocationScanningPreferenceController.java
index 2c05a39..a0c3241 100644
--- a/src/com/android/settings/location/LocationScanningPreferenceController.java
+++ b/src/com/android/settings/location/LocationScanningPreferenceController.java
@@ -17,27 +17,25 @@
 package com.android.settings.location;
 
 import android.content.Context;
+import android.net.wifi.WifiManager;
 import android.provider.Settings;
 
-import androidx.annotation.VisibleForTesting;
-
 import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
 
 
 public class LocationScanningPreferenceController extends BasePreferenceController {
-    @VisibleForTesting static final String KEY_LOCATION_SCANNING = "location_scanning";
-    private final Context mContext;
 
-    public LocationScanningPreferenceController(Context context) {
-        super(context, KEY_LOCATION_SCANNING);
-        mContext = context;
+    private final WifiManager mWifiManager;
+
+    public LocationScanningPreferenceController(Context context, String key) {
+        super(context, key);
+        mWifiManager = context.getSystemService(WifiManager.class);
     }
 
     @Override
     public CharSequence getSummary() {
-        final boolean wifiScanOn = Settings.Global.getInt(mContext.getContentResolver(),
-                Settings.Global.WIFI_SCAN_ALWAYS_AVAILABLE, 0) == 1;
+        final boolean wifiScanOn = mWifiManager.isScanAlwaysAvailable();
         final boolean bleScanOn = Settings.Global.getInt(mContext.getContentResolver(),
                 Settings.Global.BLE_SCAN_ALWAYS_AVAILABLE, 0) == 1;
         int resId;
diff --git a/src/com/android/settings/location/LocationServiceForWorkPreferenceController.java b/src/com/android/settings/location/LocationServiceForWorkPreferenceController.java
new file mode 100644
index 0000000..6b172dd
--- /dev/null
+++ b/src/com/android/settings/location/LocationServiceForWorkPreferenceController.java
@@ -0,0 +1,59 @@
+/*
+ * 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.location;
+
+import android.content.Context;
+import android.os.UserHandle;
+
+import androidx.preference.Preference;
+
+import com.android.settings.widget.RestrictedAppPreference;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Retrieve the Location Services used in profile user.
+ */
+public class LocationServiceForWorkPreferenceController extends
+        LocationServicePreferenceController {
+    private static final String TAG = "LocationWorkPrefCtrl";
+
+    public LocationServiceForWorkPreferenceController(Context context, String key) {
+        super(context, key);
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        mCategoryLocationServices.removeAll();
+        final Map<Integer, List<Preference>> prefs = getLocationServices();
+        boolean show = false;
+        for (Map.Entry<Integer, List<Preference>> entry : prefs.entrySet()) {
+            for (Preference pref : entry.getValue()) {
+                if (pref instanceof RestrictedAppPreference) {
+                    ((RestrictedAppPreference) pref).checkRestrictionAndSetDisabled();
+                }
+            }
+            if (entry.getKey() != UserHandle.myUserId()) {
+                LocationSettings.addPreferencesSorted(entry.getValue(),
+                        mCategoryLocationServices);
+                show = true;
+            }
+        }
+        mCategoryLocationServices.setVisible(show);
+    }
+}
diff --git a/src/com/android/settings/location/LocationServicePreferenceController.java b/src/com/android/settings/location/LocationServicePreferenceController.java
index 70246cb..56a23bd 100644
--- a/src/com/android/settings/location/LocationServicePreferenceController.java
+++ b/src/com/android/settings/location/LocationServicePreferenceController.java
@@ -27,8 +27,8 @@
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.Utils;
+import com.android.settings.dashboard.DashboardFragment;
 import com.android.settings.widget.RestrictedAppPreference;
-import com.android.settingslib.core.lifecycle.Lifecycle;
 import com.android.settingslib.core.lifecycle.LifecycleObserver;
 import com.android.settingslib.core.lifecycle.events.OnPause;
 import com.android.settingslib.core.lifecycle.events.OnResume;
@@ -39,58 +39,39 @@
 public class LocationServicePreferenceController extends LocationBasePreferenceController
         implements LifecycleObserver, OnResume, OnPause {
 
-    private static final String TAG = "LocationServicePrefCtrl";
-    /** Key for preference category "Location services" */
-    private static final String KEY_LOCATION_SERVICES = "location_services";
-    /** Key for preference category "Location services for work" */
-    private static final String KEY_LOCATION_SERVICES_MANAGED = "location_services_managed_profile";
+    private static final String TAG = "LocationPrefCtrl";
     @VisibleForTesting
     static final IntentFilter INTENT_FILTER_INJECTED_SETTING_CHANGED =
             new IntentFilter(SettingInjectorService.ACTION_INJECTED_SETTING_CHANGED);
 
-    private PreferenceCategory mCategoryLocationServices;
-    private PreferenceCategory mCategoryLocationServicesManaged;
-    private final LocationSettings mFragment;
-    private final AppSettingsInjector mInjector;
+    protected PreferenceCategory mCategoryLocationServices;
+    @VisibleForTesting
+    AppSettingsInjector mInjector;
     /** Receives UPDATE_INTENT */
     @VisibleForTesting
     BroadcastReceiver mInjectedSettingsReceiver;
 
-    public LocationServicePreferenceController(Context context, LocationSettings fragment,
-            Lifecycle lifecycle) {
-        this(context, fragment, lifecycle, new AppSettingsInjector(context));
-    }
-
-    @VisibleForTesting
-    LocationServicePreferenceController(Context context, LocationSettings fragment,
-            Lifecycle lifecycle, AppSettingsInjector injector) {
-        super(context, lifecycle);
-        mFragment = fragment;
-        mInjector = injector;
-        if (lifecycle != null) {
-            lifecycle.addObserver(this);
-        }
+    public LocationServicePreferenceController(Context context, String key) {
+        super(context, key);
     }
 
     @Override
-    public String getPreferenceKey() {
-        return KEY_LOCATION_SERVICES;
+    public void init(DashboardFragment fragment) {
+        super.init(fragment);
+        mInjector = new AppSettingsInjector(mContext);
     }
 
     @Override
     public void displayPreference(PreferenceScreen screen) {
         super.displayPreference(screen);
-        mCategoryLocationServices = screen.findPreference(KEY_LOCATION_SERVICES);
-        mCategoryLocationServicesManaged = screen.findPreference(KEY_LOCATION_SERVICES_MANAGED);
+        mCategoryLocationServices = screen.findPreference(getPreferenceKey());
     }
 
     @Override
     public void updateState(Preference preference) {
         mCategoryLocationServices.removeAll();
-        mCategoryLocationServicesManaged.removeAll();
         final Map<Integer, List<Preference>> prefs = getLocationServices();
-        boolean showPrimary = false;
-        boolean showManaged = false;
+        boolean show = false;
         for (Map.Entry<Integer, List<Preference>> entry : prefs.entrySet()) {
             for (Preference pref : entry.getValue()) {
                 if (pref instanceof RestrictedAppPreference) {
@@ -98,16 +79,14 @@
                 }
             }
             if (entry.getKey() == UserHandle.myUserId()) {
-                LocationSettings.addPreferencesSorted(entry.getValue(), mCategoryLocationServices);
-                showPrimary = true;
-            } else {
-                LocationSettings.addPreferencesSorted(entry.getValue(),
-                        mCategoryLocationServicesManaged);
-                showManaged = true;
+                if (mCategoryLocationServices != null) {
+                    LocationSettings.addPreferencesSorted(entry.getValue(),
+                            mCategoryLocationServices);
+                }
+                show = true;
             }
         }
-        mCategoryLocationServices.setVisible(showPrimary);
-        mCategoryLocationServicesManaged.setVisible(showManaged);
+        mCategoryLocationServices.setVisible(show);
     }
 
     @Override
@@ -139,7 +118,7 @@
         mContext.unregisterReceiver(mInjectedSettingsReceiver);
     }
 
-    private Map<Integer, List<Preference>> getLocationServices() {
+    protected Map<Integer, List<Preference>> getLocationServices() {
         // If location access is locked down by device policy then we only show injected settings
         // for the primary profile.
         final int profileUserId = Utils.getManagedProfileId(mUserManager, UserHandle.myUserId());
diff --git a/src/com/android/settings/location/LocationSettings.java b/src/com/android/settings/location/LocationSettings.java
index 7142486..26a4afd 100644
--- a/src/com/android/settings/location/LocationSettings.java
+++ b/src/com/android/settings/location/LocationSettings.java
@@ -20,7 +20,6 @@
 import android.content.Context;
 import android.location.SettingInjectorService;
 import android.os.Bundle;
-import android.provider.SearchIndexableResource;
 
 import androidx.preference.Preference;
 import androidx.preference.PreferenceGroup;
@@ -29,15 +28,10 @@
 import com.android.settings.SettingsActivity;
 import com.android.settings.dashboard.DashboardFragment;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
 import com.android.settings.widget.SwitchBar;
-import com.android.settingslib.core.AbstractPreferenceController;
-import com.android.settingslib.core.lifecycle.Lifecycle;
 import com.android.settingslib.location.RecentLocationApps;
 import com.android.settingslib.search.SearchIndexable;
 
-import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.Collections;
 import java.util.Comparator;
 import java.util.List;
@@ -85,6 +79,18 @@
     }
 
     @Override
+    public void onAttach(Context context) {
+        super.onAttach(context);
+
+        use(AppLocationPermissionPreferenceController.class).init(this);
+        use(RecentLocationRequestPreferenceController.class).init(this);
+        use(LocationServicePreferenceController.class).init(this);
+        use(LocationFooterPreferenceController.class).init(this);
+        use(LocationForWorkPreferenceController.class).init(this);
+        use(LocationServiceForWorkPreferenceController.class).init(this);
+    }
+
+    @Override
     protected int getPreferenceScreenResId() {
         return R.xml.location_settings;
     }
@@ -94,11 +100,6 @@
         return TAG;
     }
 
-    @Override
-    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
-        return buildPreferenceControllers(context, this, getSettingsLifecycle());
-    }
-
     static void addPreferencesSorted(List<Preference> prefs, PreferenceGroup container) {
         // If there's some items to display, sort the items and add them to the container.
         Collections.sort(prefs,
@@ -113,36 +114,9 @@
         return R.string.help_url_location_access;
     }
 
-    private static List<AbstractPreferenceController> buildPreferenceControllers(
-            Context context, LocationSettings fragment, Lifecycle lifecycle) {
-        final List<AbstractPreferenceController> controllers = new ArrayList<>();
-        controllers.add(new AppLocationPermissionPreferenceController(context, lifecycle));
-        controllers.add(new LocationForWorkPreferenceController(context, lifecycle));
-        controllers.add(new RecentLocationRequestPreferenceController(context, fragment, lifecycle));
-        controllers.add(new LocationScanningPreferenceController(context));
-        controllers.add(new LocationServicePreferenceController(context, fragment, lifecycle));
-        controllers.add(new LocationFooterPreferenceController(context, lifecycle));
-        return controllers;
-    }
-
     /**
      * For Search.
      */
-    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(
-                        Context context, boolean enabled) {
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.location_settings;
-                    return Arrays.asList(sir);
-                }
-
-                @Override
-                public List<AbstractPreferenceController> createPreferenceControllers(Context
-                        context) {
-                    return buildPreferenceControllers(context, null /* fragment */,
-                            null /* lifecycle */);
-                }
-            };
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.location_settings);
 }
diff --git a/src/com/android/settings/location/LocationWorkProfileSettings.java b/src/com/android/settings/location/LocationWorkProfileSettings.java
new file mode 100644
index 0000000..2bf5f98
--- /dev/null
+++ b/src/com/android/settings/location/LocationWorkProfileSettings.java
@@ -0,0 +1,68 @@
+/*
+ * 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.location;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+
+import com.android.settings.R;
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.dashboard.profileselector.ProfileSelectFragment;
+
+/**
+ * Location Setting page for managed profile.
+ */
+public class LocationWorkProfileSettings extends DashboardFragment {
+
+    private static final String TAG = "LocationWorkProfile";
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.LOCATION_WORK;
+    }
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.location_settings_workprofile;
+    }
+
+    @Override
+    protected String getLogTag() {
+        return TAG;
+    }
+
+    @Override
+    public void onAttach(Context context) {
+        super.onAttach(context);
+
+        use(AppLocationPermissionPreferenceController.class).init(this);
+        use(LocationServiceForWorkPreferenceController.class).init(this);
+        use(LocationFooterPreferenceController.class).init(this);
+        use(LocationForWorkPreferenceController.class).init(this);
+
+        final int profileType = getArguments().getInt(ProfileSelectFragment.EXTRA_PROFILE);
+        final RecentLocationRequestPreferenceController controller = use(
+                RecentLocationRequestPreferenceController.class);
+        controller.init(this);
+        controller.setProfileType(profileType);
+    }
+
+    @Override
+    public int getHelpResource() {
+        return R.string.help_url_location_access;
+    }
+}
diff --git a/src/com/android/settings/location/RecentLocationAccessPreferenceController.java b/src/com/android/settings/location/RecentLocationAccessPreferenceController.java
index 2f0dafd..c835a51 100644
--- a/src/com/android/settings/location/RecentLocationAccessPreferenceController.java
+++ b/src/com/android/settings/location/RecentLocationAccessPreferenceController.java
@@ -64,7 +64,9 @@
 
     @Override
     public boolean isAvailable() {
-        return false;
+        return Boolean.parseBoolean(
+                DeviceConfig.getProperty(DeviceConfig.NAMESPACE_PRIVACY,
+                        Utils.PROPERTY_PERMISSIONS_HUB_ENABLED));
     }
 
     @Override
diff --git a/src/com/android/settings/location/RecentLocationRequestPreferenceController.java b/src/com/android/settings/location/RecentLocationRequestPreferenceController.java
index fb8c62c..d647826 100644
--- a/src/com/android/settings/location/RecentLocationRequestPreferenceController.java
+++ b/src/com/android/settings/location/RecentLocationRequestPreferenceController.java
@@ -16,6 +16,7 @@
 import android.content.Context;
 import android.os.Bundle;
 import android.os.UserHandle;
+import android.os.UserManager;
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
@@ -26,20 +27,20 @@
 import com.android.settings.applications.appinfo.AppInfoDashboardFragment;
 import com.android.settings.core.SubSettingLauncher;
 import com.android.settings.dashboard.DashboardFragment;
-import com.android.settingslib.core.lifecycle.Lifecycle;
+import com.android.settings.dashboard.profileselector.ProfileSelectFragment;
 import com.android.settingslib.location.RecentLocationApps;
 import com.android.settingslib.widget.apppreference.AppPreference;
 
+import java.util.ArrayList;
 import java.util.List;
 
 public class RecentLocationRequestPreferenceController extends LocationBasePreferenceController {
-    /** Key for preference category "Recent location requests" */
-    private static final String KEY_RECENT_LOCATION_REQUESTS = "recent_location_requests";
+
+    public static final int MAX_APPS = 3;
     @VisibleForTesting
-    static final String KEY_SEE_ALL_BUTTON = "recent_location_requests_see_all_button";
-    private final LocationSettings mFragment;
-    private final RecentLocationApps mRecentLocationApps;
+    RecentLocationApps mRecentLocationApps;
     private PreferenceCategory mCategoryRecentLocationRequests;
+    private int mType = ProfileSelectFragment.ProfileType.ALL;
 
     /** Used in this class and {@link RecentLocationRequestSeeAllPreferenceController} */
     static class PackageEntryClickedListener implements Preference.OnPreferenceClickListener {
@@ -70,52 +71,37 @@
         }
     }
 
-    public RecentLocationRequestPreferenceController(Context context, LocationSettings fragment,
-            Lifecycle lifecycle) {
-        this(context, fragment, lifecycle, new RecentLocationApps(context));
-    }
-
-    @VisibleForTesting
-    RecentLocationRequestPreferenceController(Context context, LocationSettings fragment,
-            Lifecycle lifecycle, RecentLocationApps recentApps) {
-        super(context, lifecycle);
-        mFragment = fragment;
-        mRecentLocationApps = recentApps;
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return KEY_RECENT_LOCATION_REQUESTS;
+    public RecentLocationRequestPreferenceController(Context context, String key) {
+        super(context, key);
+        mRecentLocationApps = new RecentLocationApps(context);
     }
 
     @Override
     public void displayPreference(PreferenceScreen screen) {
         super.displayPreference(screen);
-        mCategoryRecentLocationRequests =
-                (PreferenceCategory) screen.findPreference(KEY_RECENT_LOCATION_REQUESTS);
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        mCategoryRecentLocationRequests.removeAll();
-        final Context prefContext = preference.getContext();
-        final List<RecentLocationApps.Request> recentLocationRequests =
-                mRecentLocationApps.getAppListSorted(false);
-        if (recentLocationRequests.size() > 3) {
-            // Display the top 3 preferences to container in original order.
-            for (int i = 0; i < 3; i++) {
-                mCategoryRecentLocationRequests.addPreference(
-                        createAppPreference(prefContext, recentLocationRequests.get(i)));
+        mCategoryRecentLocationRequests = screen.findPreference(getPreferenceKey());
+        final Context prefContext = mCategoryRecentLocationRequests.getContext();
+        final List<RecentLocationApps.Request> recentLocationRequests = new ArrayList<>();
+        final UserManager userManager = UserManager.get(mContext);
+        for (RecentLocationApps.Request request : mRecentLocationApps.getAppListSorted(
+                false /* systemApps */)) {
+            if (isRequestMatchesProfileType(userManager, request, mType)) {
+                recentLocationRequests.add(request);
+                if (recentLocationRequests.size() == MAX_APPS) {
+                    break;
+                }
             }
-        } else if (recentLocationRequests.size() > 0) {
+        }
+
+        if (recentLocationRequests.size() > 0) {
             // Add preferences to container in original order (already sorted by recency).
             for (RecentLocationApps.Request request : recentLocationRequests) {
                 mCategoryRecentLocationRequests.addPreference(
-                        createAppPreference(prefContext, request));
+                        createAppPreference(prefContext, request, mFragment));
             }
         } else {
             // If there's no item to display, add a "No recent apps" item.
-            final Preference banner = createAppPreference(prefContext);
+            final Preference banner = new AppPreference(prefContext);
             banner.setTitle(R.string.location_no_recent_apps);
             banner.setSelectable(false);
             mCategoryRecentLocationRequests.addPreference(banner);
@@ -127,19 +113,42 @@
         mCategoryRecentLocationRequests.setEnabled(mLocationEnabler.isEnabled(mode));
     }
 
-    @VisibleForTesting
-    AppPreference createAppPreference(Context prefContext) {
-        return new AppPreference(prefContext);
+    /**
+     * Initialize {@link ProfileSelectFragment.ProfileType} of the controller
+     *
+     * @param type {@link ProfileSelectFragment.ProfileType} of the controller.
+     */
+    public void setProfileType(@ProfileSelectFragment.ProfileType int type) {
+        mType = type;
     }
 
-    @VisibleForTesting
-    AppPreference createAppPreference(Context prefContext, RecentLocationApps.Request request) {
-        final AppPreference pref = createAppPreference(prefContext);
-        pref.setSummary(request.contentDescription);
+    /**
+     * Create a {@link AppPreference}
+     */
+    public static AppPreference createAppPreference(Context prefContext,
+            RecentLocationApps.Request request, DashboardFragment fragment) {
+        final AppPreference pref = new AppPreference(prefContext);
         pref.setIcon(request.icon);
         pref.setTitle(request.label);
         pref.setOnPreferenceClickListener(new PackageEntryClickedListener(
-                mFragment, request.packageName, request.userHandle));
+                fragment, request.packageName, request.userHandle));
         return pref;
     }
+
+    /**
+     * Return if the {@link RecentLocationApps.Request} matches current UI
+     * {@ProfileSelectFragment.ProfileType}
+     */
+    public static boolean isRequestMatchesProfileType(UserManager userManager,
+            RecentLocationApps.Request request, @ProfileSelectFragment.ProfileType int type) {
+        final boolean isWorkProfile = userManager.isManagedProfile(
+                request.userHandle.getIdentifier());
+        if (isWorkProfile && (type & ProfileSelectFragment.ProfileType.WORK) != 0) {
+            return true;
+        }
+        if (!isWorkProfile && (type & ProfileSelectFragment.ProfileType.PERSONAL) != 0) {
+            return true;
+        }
+        return false;
+    }
 }
diff --git a/src/com/android/settings/location/RecentLocationRequestSeeAllFragment.java b/src/com/android/settings/location/RecentLocationRequestSeeAllFragment.java
index 9e4a77f..3f0defd 100644
--- a/src/com/android/settings/location/RecentLocationRequestSeeAllFragment.java
+++ b/src/com/android/settings/location/RecentLocationRequestSeeAllFragment.java
@@ -16,7 +16,6 @@
 package com.android.settings.location;
 
 import android.content.Context;
-import android.provider.SearchIndexableResource;
 import android.view.Menu;
 import android.view.MenuInflater;
 import android.view.MenuItem;
@@ -24,16 +23,10 @@
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
 import com.android.settings.R;
 import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.dashboard.profileselector.ProfileSelectFragment;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
-import com.android.settingslib.core.AbstractPreferenceController;
-import com.android.settingslib.core.lifecycle.Lifecycle;
 import com.android.settingslib.search.SearchIndexable;
 
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
 /** Dashboard Fragment to display all recent location requests, sorted by recency. */
 @SearchIndexable
 public class RecentLocationRequestSeeAllFragment extends DashboardFragment {
@@ -55,6 +48,18 @@
     }
 
     @Override
+    public void onAttach(Context context) {
+        super.onAttach(context);
+        final int profileType = getArguments().getInt(ProfileSelectFragment.EXTRA_PROFILE);
+
+        mController = use(RecentLocationRequestSeeAllPreferenceController.class);
+        mController.init(this);
+        if (profileType != 0) {
+            mController.setProfileType(profileType);
+        }
+    }
+
+    @Override
     protected int getPreferenceScreenResId() {
         return R.xml.location_recent_requests_see_all;
     }
@@ -65,11 +70,6 @@
     }
 
     @Override
-    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
-        return buildPreferenceControllers(context, getSettingsLifecycle(), this);
-    }
-
-    @Override
     public boolean onOptionsItemSelected(MenuItem menuItem) {
         switch (menuItem.getItemId()) {
             case MENU_SHOW_SYSTEM:
@@ -90,39 +90,6 @@
         mHideSystemMenu.setVisible(mShowSystem);
     }
 
-    private static List<AbstractPreferenceController> buildPreferenceControllers(
-            Context context, Lifecycle lifecycle, RecentLocationRequestSeeAllFragment fragment) {
-        final List<AbstractPreferenceController> controllers = new ArrayList<>();
-        final RecentLocationRequestSeeAllPreferenceController controller =
-                new RecentLocationRequestSeeAllPreferenceController(context, lifecycle, fragment);
-        controllers.add(controller);
-        if (fragment != null) {
-            fragment.mController = controller;
-        }
-        return controllers;
-    }
-
-    /**
-     * For Search.
-     */
-    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(
-                        Context context, boolean enabled) {
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.location_recent_requests_see_all;
-                    return Arrays.asList(sir);
-                }
-
-                @Override
-                public List<AbstractPreferenceController> getPreferenceControllers(Context
-                        context) {
-                    return buildPreferenceControllers(
-                            context, /* lifecycle = */ null, /* fragment = */ null);
-                }
-            };
-
     @Override
     public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
         super.onCreateOptionsMenu(menu, inflater);
@@ -132,4 +99,10 @@
                 R.string.menu_hide_system);
         updateMenu();
     }
+
+    /**
+     * For Search.
+     */
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.location_recent_requests_see_all);
 }
diff --git a/src/com/android/settings/location/RecentLocationRequestSeeAllPreferenceController.java b/src/com/android/settings/location/RecentLocationRequestSeeAllPreferenceController.java
index 3abccf7..df0fa40 100644
--- a/src/com/android/settings/location/RecentLocationRequestSeeAllPreferenceController.java
+++ b/src/com/android/settings/location/RecentLocationRequestSeeAllPreferenceController.java
@@ -15,51 +15,36 @@
  */
 package com.android.settings.location;
 
-import android.content.Context;
+import static com.android.settings.location.RecentLocationRequestPreferenceController.createAppPreference;
+import static com.android.settings.location.RecentLocationRequestPreferenceController.isRequestMatchesProfileType;
 
-import androidx.annotation.VisibleForTesting;
+import android.content.Context;
+import android.os.UserManager;
+
 import androidx.preference.Preference;
-import androidx.preference.PreferenceCategory;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settingslib.core.lifecycle.Lifecycle;
+import com.android.settings.R;
+import com.android.settings.dashboard.profileselector.ProfileSelectFragment;
 import com.android.settingslib.location.RecentLocationApps;
 import com.android.settingslib.widget.apppreference.AppPreference;
 
+import java.util.ArrayList;
 import java.util.List;
 
-import com.android.settings.R;
-
 /** Preference controller for preference category displaying all recent location requests. */
 public class RecentLocationRequestSeeAllPreferenceController
         extends LocationBasePreferenceController {
-    /** Key for preference category "All recent location requests" */
-    private static final String KEY_ALL_RECENT_LOCATION_REQUESTS = "all_recent_location_requests";
-    private final RecentLocationRequestSeeAllFragment mFragment;
-    private PreferenceCategory mCategoryAllRecentLocationRequests;
+
+    private PreferenceScreen mCategoryAllRecentLocationRequests;
     private RecentLocationApps mRecentLocationApps;
     private boolean mShowSystem = false;
     private Preference mPreference;
+    private int mType = ProfileSelectFragment.ProfileType.ALL;
 
-    public RecentLocationRequestSeeAllPreferenceController(
-            Context context, Lifecycle lifecycle, RecentLocationRequestSeeAllFragment fragment) {
-        this(context, lifecycle, fragment, new RecentLocationApps(context));
-    }
-
-    @VisibleForTesting
-    RecentLocationRequestSeeAllPreferenceController(
-            Context context,
-            Lifecycle lifecycle,
-            RecentLocationRequestSeeAllFragment fragment,
-            RecentLocationApps recentLocationApps) {
-        super(context, lifecycle);
-        mFragment = fragment;
-        mRecentLocationApps = recentLocationApps;
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return KEY_ALL_RECENT_LOCATION_REQUESTS;
+    public RecentLocationRequestSeeAllPreferenceController(Context context, String key) {
+        super(context, key);
+        mRecentLocationApps = new RecentLocationApps(context);
     }
 
     @Override
@@ -70,41 +55,46 @@
     @Override
     public void displayPreference(PreferenceScreen screen) {
         super.displayPreference(screen);
-        mCategoryAllRecentLocationRequests =
-                (PreferenceCategory) screen.findPreference(KEY_ALL_RECENT_LOCATION_REQUESTS);
+        mCategoryAllRecentLocationRequests = screen.findPreference(getPreferenceKey());
     }
 
     @Override
     public void updateState(Preference preference) {
         mCategoryAllRecentLocationRequests.removeAll();
         mPreference = preference;
-        List<RecentLocationApps.Request> requests = mRecentLocationApps.getAppListSorted(
-                mShowSystem);
-        if (requests.isEmpty()) {
+
+        final UserManager userManager = UserManager.get(mContext);
+        final List<RecentLocationApps.Request> recentLocationRequests = new ArrayList<>();
+        for (RecentLocationApps.Request request : mRecentLocationApps.getAppListSorted(
+                mShowSystem)) {
+            if (isRequestMatchesProfileType(userManager, request, mType)) {
+                recentLocationRequests.add(request);
+            }
+        }
+
+        if (recentLocationRequests.isEmpty()) {
             // If there's no item to display, add a "No recent apps" item.
             final Preference banner = new AppPreference(mContext);
             banner.setTitle(R.string.location_no_recent_apps);
             banner.setSelectable(false);
             mCategoryAllRecentLocationRequests.addPreference(banner);
         } else {
-            for (RecentLocationApps.Request request : requests) {
-                Preference appPreference = createAppPreference(preference.getContext(), request);
+            for (RecentLocationApps.Request request : recentLocationRequests) {
+                final Preference appPreference = createAppPreference(
+                        preference.getContext(),
+                        request, mFragment);
                 mCategoryAllRecentLocationRequests.addPreference(appPreference);
             }
         }
     }
 
-    @VisibleForTesting
-    AppPreference createAppPreference(
-            Context prefContext, RecentLocationApps.Request request) {
-        final AppPreference pref = new AppPreference(prefContext);
-        pref.setSummary(request.contentDescription);
-        pref.setIcon(request.icon);
-        pref.setTitle(request.label);
-        pref.setOnPreferenceClickListener(
-                new RecentLocationRequestPreferenceController.PackageEntryClickedListener(
-                        mFragment, request.packageName, request.userHandle));
-        return pref;
+    /**
+     * Initialize {@link ProfileSelectFragment.ProfileType} of the controller
+     *
+     * @param type {@link ProfileSelectFragment.ProfileType} of the controller.
+     */
+    public void setProfileType(@ProfileSelectFragment.ProfileType int type) {
+        mType = type;
     }
 
     public void setShowSystem(boolean showSystem) {
diff --git a/src/com/android/settings/location/ScanningSettings.java b/src/com/android/settings/location/ScanningSettings.java
index 31ec955..90f4e2a 100644
--- a/src/com/android/settings/location/ScanningSettings.java
+++ b/src/com/android/settings/location/ScanningSettings.java
@@ -18,17 +18,14 @@
 
 import android.app.settings.SettingsEnums;
 import android.content.Context;
-import android.provider.SearchIndexableResource;
 
 import com.android.settings.R;
 import com.android.settings.dashboard.DashboardFragment;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
 import com.android.settingslib.core.AbstractPreferenceController;
 import com.android.settingslib.search.SearchIndexable;
 
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.List;
 
 /**
@@ -68,15 +65,8 @@
     /**
      * For Search.
      */
-    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(
-                        Context context, boolean enabled) {
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.location_scanning;
-                    return Arrays.asList(sir);
-                }
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.location_scanning) {
 
                 @Override
                 public List<AbstractPreferenceController> createPreferenceControllers(Context
diff --git a/src/com/android/settings/location/WifiScanningPreferenceController.java b/src/com/android/settings/location/WifiScanningPreferenceController.java
index 234ec5e..2e393a2 100644
--- a/src/com/android/settings/location/WifiScanningPreferenceController.java
+++ b/src/com/android/settings/location/WifiScanningPreferenceController.java
@@ -14,7 +14,7 @@
 package com.android.settings.location;
 
 import android.content.Context;
-import android.provider.Settings;
+import android.net.wifi.WifiManager;
 
 import androidx.preference.Preference;
 import androidx.preference.SwitchPreference;
@@ -26,9 +26,11 @@
         implements PreferenceControllerMixin {
 
     private static final String KEY_WIFI_SCAN_ALWAYS_AVAILABLE = "wifi_always_scanning";
+    private final WifiManager mWifiManager;
 
     public WifiScanningPreferenceController(Context context) {
         super(context);
+        mWifiManager = context.getSystemService(WifiManager.class);
     }
 
     @Override
@@ -43,17 +45,13 @@
 
     @Override
     public void updateState(Preference preference) {
-        ((SwitchPreference) preference).setChecked(
-                Settings.Global.getInt(mContext.getContentResolver(),
-                        Settings.Global.WIFI_SCAN_ALWAYS_AVAILABLE, 0) == 1);
+        ((SwitchPreference) preference).setChecked(mWifiManager.isScanAlwaysAvailable());
     }
 
     @Override
     public boolean handlePreferenceTreeClick(Preference preference) {
         if (KEY_WIFI_SCAN_ALWAYS_AVAILABLE.equals(preference.getKey())) {
-            Settings.Global.putInt(mContext.getContentResolver(),
-                    Settings.Global.WIFI_SCAN_ALWAYS_AVAILABLE,
-                    ((SwitchPreference) preference).isChecked() ? 1 : 0);
+            mWifiManager.setScanAlwaysAvailable(((SwitchPreference) preference).isChecked());
             return true;
         }
         return false;
diff --git a/src/com/android/settings/media/MediaDeviceUpdateWorker.java b/src/com/android/settings/media/MediaDeviceUpdateWorker.java
index f67afdc..281d23e 100644
--- a/src/com/android/settings/media/MediaDeviceUpdateWorker.java
+++ b/src/com/android/settings/media/MediaDeviceUpdateWorker.java
@@ -16,18 +16,30 @@
 
 package com.android.settings.media;
 
+import static android.media.AudioManager.STREAM_DEVICES_CHANGED_ACTION;
+
+import static com.android.settings.media.MediaOutputSlice.MEDIA_PACKAGE_NAME;
+
+import android.content.BroadcastReceiver;
 import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.media.AudioManager;
 import android.net.Uri;
+import android.text.TextUtils;
 
 import androidx.annotation.VisibleForTesting;
 
 import com.android.settings.slices.SliceBackgroundWorker;
+import com.android.settingslib.Utils;
 import com.android.settingslib.media.LocalMediaManager;
 import com.android.settingslib.media.MediaDevice;
 import com.android.settingslib.utils.ThreadUtils;
 
 import java.util.ArrayList;
+import java.util.Collection;
 import java.util.List;
+import java.util.concurrent.CopyOnWriteArrayList;
 
 /**
  * SliceBackgroundWorker for get MediaDevice list and handle MediaDevice state change event.
@@ -36,9 +48,12 @@
         implements LocalMediaManager.DeviceCallback {
 
     private final Context mContext;
-    private final List<MediaDevice> mMediaDevices = new ArrayList<>();
+    private final Collection<MediaDevice> mMediaDevices = new CopyOnWriteArrayList<>();
+    private final DevicesChangedBroadcastReceiver mReceiver;
+    private final String mPackageName;
 
-    private String mPackageName;
+    private boolean mIsTouched;
+    private MediaDevice mTopDevice;
 
     @VisibleForTesting
     LocalMediaManager mLocalMediaManager;
@@ -46,26 +61,28 @@
     public MediaDeviceUpdateWorker(Context context, Uri uri) {
         super(context, uri);
         mContext = context;
-    }
-
-    public void setPackageName(String packageName) {
-        mPackageName = packageName;
+        mPackageName = uri.getQueryParameter(MEDIA_PACKAGE_NAME);
+        mReceiver = new DevicesChangedBroadcastReceiver();
     }
 
     @Override
     protected void onSlicePinned() {
         mMediaDevices.clear();
+        mIsTouched = false;
         if (mLocalMediaManager == null) {
             mLocalMediaManager = new LocalMediaManager(mContext, mPackageName, null);
         }
 
         mLocalMediaManager.registerCallback(this);
+        final IntentFilter intentFilter = new IntentFilter(STREAM_DEVICES_CHANGED_ACTION);
+        mContext.registerReceiver(mReceiver, intentFilter);
         mLocalMediaManager.startScan();
     }
 
     @Override
     protected void onSliceUnpinned() {
         mLocalMediaManager.unregisterCallback(this);
+        mContext.unregisterReceiver(mReceiver);
         mLocalMediaManager.stopScan();
     }
 
@@ -90,21 +107,121 @@
         notifySliceChange();
     }
 
-    public List<MediaDevice> getMediaDevices() {
-        return new ArrayList<>(mMediaDevices);
+    @Override
+    public void onDeviceAttributesChanged() {
+        notifySliceChange();
+    }
+
+    @Override
+    public void onRequestFailed(int reason) {
+        notifySliceChange();
+    }
+
+    public Collection<MediaDevice> getMediaDevices() {
+        return mMediaDevices;
     }
 
     public void connectDevice(MediaDevice device) {
         ThreadUtils.postOnBackgroundThread(() -> {
             mLocalMediaManager.connectDevice(device);
+            ThreadUtils.postOnMainThread(() -> {
+                notifySliceChange();
+            });
         });
     }
 
     public MediaDevice getMediaDeviceById(String id) {
-        return mLocalMediaManager.getMediaDeviceById(mMediaDevices, id);
+        return mLocalMediaManager.getMediaDeviceById(new ArrayList<>(mMediaDevices), id);
     }
 
     public MediaDevice getCurrentConnectedMediaDevice() {
         return mLocalMediaManager.getCurrentConnectedDevice();
     }
+
+    void setIsTouched(boolean isTouched) {
+        mIsTouched = isTouched;
+    }
+
+    boolean getIsTouched() {
+        return mIsTouched;
+    }
+
+    void setTopDevice(MediaDevice device) {
+        mTopDevice = device;
+    }
+
+    MediaDevice getTopDevice() {
+        return mTopDevice;
+    }
+
+    boolean addDeviceToPlayMedia(MediaDevice device) {
+        return mLocalMediaManager.addDeviceToPlayMedia(device);
+    }
+
+    boolean removeDeviceFromPlayMedia(MediaDevice device) {
+        return mLocalMediaManager.removeDeviceFromPlayMedia(device);
+    }
+
+    List<MediaDevice> getSelectableMediaDevice() {
+        return mLocalMediaManager.getSelectableMediaDevice();
+    }
+
+    List<MediaDevice> getSelectedMediaDevice() {
+        return mLocalMediaManager.getSelectedMediaDevice();
+    }
+
+    void adjustSessionVolume(int volume) {
+        mLocalMediaManager.adjustSessionVolume(volume);
+    }
+
+    int getSessionVolumeMax() {
+        return mLocalMediaManager.getSessionVolumeMax();
+    }
+
+    int getSessionVolume() {
+        return mLocalMediaManager.getSessionVolume();
+    }
+
+    CharSequence getSessionName() {
+        return mLocalMediaManager.getSessionName();
+    }
+
+    /**
+     * Find the active MediaDevice.
+     *
+     * @param type the media device type.
+     * @return MediaDevice list
+     *
+     */
+    public List<MediaDevice> getActiveMediaDevice(@MediaDevice.MediaDeviceType int type) {
+        return mLocalMediaManager.getActiveMediaDevice(type);
+    }
+
+    /**
+     * Request to set volume.
+     *
+     * @param device for the targeted device.
+     * @param volume for the new value.
+     *
+     */
+    public void adjustVolume(MediaDevice device, int volume) {
+        ThreadUtils.postOnBackgroundThread(() -> {
+            device.requestSetVolume(volume);
+        });
+    }
+
+    String getPackageName() {
+        return mPackageName;
+    }
+
+    private class DevicesChangedBroadcastReceiver extends BroadcastReceiver {
+        @Override
+        public void onReceive(Context context, Intent intent) {
+            final String action = intent.getAction();
+            if (TextUtils.equals(AudioManager.STREAM_DEVICES_CHANGED_ACTION, action)
+                    && Utils.isAudioModeOngoingCall(mContext)) {
+                notifySliceChange();
+            }
+        }
+    }
 }
diff --git a/src/com/android/settings/media/MediaOutputGroupSlice.java b/src/com/android/settings/media/MediaOutputGroupSlice.java
new file mode 100644
index 0000000..d60ae22
--- /dev/null
+++ b/src/com/android/settings/media/MediaOutputGroupSlice.java
@@ -0,0 +1,253 @@
+/*
+ * 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 android.app.slice.Slice.EXTRA_RANGE_VALUE;
+
+import static com.android.settings.slices.CustomSliceRegistry.MEDIA_OUTPUT_GROUP_SLICE_URI;
+
+import android.app.PendingIntent;
+import android.content.Context;
+import android.content.Intent;
+import android.graphics.Bitmap;
+import android.graphics.Canvas;
+import android.graphics.drawable.Drawable;
+import android.net.Uri;
+import android.text.TextUtils;
+import android.util.Log;
+
+import androidx.annotation.VisibleForTesting;
+import androidx.core.graphics.drawable.IconCompat;
+import androidx.slice.Slice;
+import androidx.slice.builders.ListBuilder;
+import androidx.slice.builders.SliceAction;
+
+import com.android.settings.R;
+import com.android.settings.Utils;
+import com.android.settings.slices.CustomSliceable;
+import com.android.settings.slices.SliceBackgroundWorker;
+import com.android.settings.slices.SliceBroadcastReceiver;
+import com.android.settingslib.media.MediaDevice;
+
+import java.util.List;
+
+/**
+ * Show the Media device that can be transfer the media.
+ */
+public class MediaOutputGroupSlice implements CustomSliceable {
+
+    @VisibleForTesting
+    static final String GROUP_DEVICES = "group_devices";
+    @VisibleForTesting
+    static final String MEDIA_DEVICE_ID = "media_device_id";
+    @VisibleForTesting
+    static final String CUSTOMIZED_ACTION = "customized_action";
+    @VisibleForTesting
+    static final int ACTION_VOLUME_ADJUSTMENT = 1;
+    @VisibleForTesting
+    static final int ACTION_MEDIA_SESSION_OPERATION = 2;
+    @VisibleForTesting
+    static final int ERROR = -1;
+
+    private static final String TAG = "MediaOutputGroupSlice";
+    private static final int COLOR_DISABLED = (int) (255 * 0.3);
+
+    private final Context mContext;
+    private MediaDeviceUpdateWorker mWorker;
+
+    public MediaOutputGroupSlice(Context context) {
+        mContext = context;
+    }
+
+    @Override
+    public Slice getSlice() {
+        // Reload theme for switching dark mode on/off
+        mContext.getTheme().applyStyle(R.style.Theme_Settings_Home, true /* force */);
+        final ListBuilder listBuilder = new ListBuilder(mContext, getUri(), ListBuilder.INFINITY)
+                .setAccentColor(COLOR_NOT_TINTED);
+        // Add "Group" row
+        final IconCompat titleIcon = IconCompat.createWithResource(mContext,
+                R.drawable.ic_speaker_group_black_24dp);
+        final Bitmap emptyBitmap = Bitmap.createBitmap(1, 1, Bitmap.Config.ARGB_8888);
+        final int maxVolume = getWorker().getSessionVolumeMax();
+        final String title = mContext.getString(R.string.media_output_group);
+        final SliceAction primaryAction = SliceAction.createDeeplink(
+                getBroadcastIntent(GROUP_DEVICES,
+                        GROUP_DEVICES.hashCode(),
+                        ACTION_MEDIA_SESSION_OPERATION),
+                titleIcon, ListBuilder.ICON_IMAGE, GROUP_DEVICES);
+        final SliceAction endItemAction = SliceAction.createDeeplink(
+                getBroadcastIntent(GROUP_DEVICES,
+                        GROUP_DEVICES.hashCode() + ACTION_MEDIA_SESSION_OPERATION,
+                        ACTION_MEDIA_SESSION_OPERATION),
+                IconCompat.createWithBitmap(emptyBitmap), ListBuilder.ICON_IMAGE, "");
+        if (maxVolume > 0) {    // Add InputRange row
+            listBuilder.addInputRange(new ListBuilder.InputRangeBuilder()
+                    .setTitleItem(titleIcon, ListBuilder.ICON_IMAGE)
+                    .addEndItem(endItemAction)
+                    .setTitle(title)
+                    .setPrimaryAction(primaryAction)
+                    .setInputAction(getBroadcastIntent(GROUP_DEVICES,
+                            GROUP_DEVICES.hashCode() + ACTION_VOLUME_ADJUSTMENT,
+                            ACTION_VOLUME_ADJUSTMENT))
+                    .setMax(maxVolume)
+                    .setValue(getWorker().getSessionVolume()));
+        } else {    // No max volume information. Add generic Row
+            listBuilder.addRow(new ListBuilder.RowBuilder()
+                    .setTitleItem(titleIcon, ListBuilder.ICON_IMAGE)
+                    .setTitle(title)
+                    .setPrimaryAction(primaryAction));
+        }
+        // Add device row
+        addRow(listBuilder, getWorker().getSelectedMediaDevice(), true);
+        addRow(listBuilder, getWorker().getSelectableMediaDevice(), false);
+        return listBuilder.build();
+    }
+
+    private void addRow(ListBuilder listBuilder, List<MediaDevice> mediaDevices, boolean selected) {
+        for (MediaDevice device : mediaDevices) {
+            final int maxVolume = device.getMaxVolume();
+            final IconCompat titleIcon = Utils.createIconWithDrawable(device.getIcon());
+            final String title = device.getName();
+            final SliceAction disabledIconSliceAction = SliceAction.createDeeplink(
+                    getBroadcastIntent(null, 0, 0),
+                    getDisabledCheckboxIcon(), ListBuilder.ICON_IMAGE, "");
+            final SliceAction enabledIconSliceAction = SliceAction.createToggle(
+                    getBroadcastIntent(device.getId(),
+                            device.hashCode() + ACTION_MEDIA_SESSION_OPERATION,
+                            ACTION_MEDIA_SESSION_OPERATION),
+                    IconCompat.createWithResource(mContext, R.drawable.ic_check_box_anim),
+                    "",
+                    selected);
+            if (maxVolume > 0) {    // Add InputRange row
+                final ListBuilder.InputRangeBuilder builder = new ListBuilder.InputRangeBuilder()
+                        .setTitleItem(titleIcon, ListBuilder.ICON_IMAGE)
+                        .setTitle(title)
+                        .setInputAction(getBroadcastIntent(device.getId(),
+                                device.hashCode() + ACTION_VOLUME_ADJUSTMENT,
+                                ACTION_VOLUME_ADJUSTMENT))
+                        .setMax(device.getMaxVolume())
+                        .setValue(device.getCurrentVolume());
+                // Add endItem with different icons
+                if (mediaDevices.size() == 1 && selected) {
+                    builder.addEndItem(disabledIconSliceAction);
+                } else {
+                    builder.addEndItem(enabledIconSliceAction);
+                }
+                listBuilder.addInputRange(builder);
+            } else {    // No max volume information. Add generic Row
+                final ListBuilder.RowBuilder rowBuilder = new ListBuilder.RowBuilder()
+                        .setTitleItem(titleIcon, ListBuilder.ICON_IMAGE)
+                        .setTitle(title);
+                // Add endItem with different icons
+                if (mediaDevices.size() == 1 && selected) {
+                    rowBuilder.addEndItem(disabledIconSliceAction);
+                } else {
+                    rowBuilder.addEndItem(enabledIconSliceAction);
+                }
+                listBuilder.addRow(rowBuilder);
+            }
+        }
+    }
+
+    private IconCompat getDisabledCheckboxIcon() {
+        final Drawable drawable = mContext.getDrawable(R.drawable.ic_check_box_blue_24dp);
+        final Bitmap checkbox = Bitmap.createBitmap(drawable.getIntrinsicWidth(),
+                drawable.getIntrinsicHeight(), Bitmap.Config.ARGB_8888);
+        final Canvas canvas = new Canvas(checkbox);
+        drawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight());
+        drawable.setAlpha(COLOR_DISABLED);
+        drawable.draw(canvas);
+
+        return IconCompat.createWithBitmap(checkbox);
+    }
+
+    private PendingIntent getBroadcastIntent(String id, int requestCode, int action) {
+        final Intent intent = new Intent(getUri().toString());
+        intent.setClass(mContext, SliceBroadcastReceiver.class);
+        intent.putExtra(MEDIA_DEVICE_ID, id);
+        intent.putExtra(CUSTOMIZED_ACTION, action);
+        intent.addFlags(Intent.FLAG_RECEIVER_FOREGROUND);
+        return PendingIntent.getBroadcast(mContext, requestCode, intent,
+                PendingIntent.FLAG_UPDATE_CURRENT);
+    }
+
+    private MediaDeviceUpdateWorker getWorker() {
+        if (mWorker == null) {
+            mWorker = SliceBackgroundWorker.getInstance(getUri());
+        }
+        return mWorker;
+    }
+
+    @Override
+    public Uri getUri() {
+        return MEDIA_OUTPUT_GROUP_SLICE_URI;
+    }
+
+    @Override
+    public void onNotifyChange(Intent intent) {
+        final String id = intent.getStringExtra(MEDIA_DEVICE_ID);
+        if (TextUtils.isEmpty(id)) {
+            Log.e(TAG, "Unable to handle notification. The device is unavailable");
+            return;
+        }
+        final MediaDevice device = getWorker().getMediaDeviceById(id);
+        switch (intent.getIntExtra(CUSTOMIZED_ACTION, ERROR)) {
+            case ACTION_VOLUME_ADJUSTMENT:
+                final int newPosition = intent.getIntExtra(EXTRA_RANGE_VALUE, ERROR);
+                if (newPosition == ERROR) {
+                    Log.e(TAG, "Unable to adjust volume. The volume value is unavailable");
+                    return;
+                }
+                // Group volume adjustment
+                if (TextUtils.equals(id, GROUP_DEVICES)) {
+                    getWorker().adjustSessionVolume(newPosition);
+                } else {
+                    if (device == null) {
+                        Log.e(TAG, "Unable to adjust volume. The device(" + id
+                                + ") is unavailable");
+                        return;
+                    }
+                    // Single device volume adjustment
+                    getWorker().adjustVolume(device, newPosition);
+                }
+                break;
+            case ACTION_MEDIA_SESSION_OPERATION:
+                if (device == null) {
+                    Log.e(TAG, "Unable to adjust session volume. The device(" + id
+                            + ") is unavailable");
+                    return;
+                }
+                if (TextUtils.equals(device.getClientPackageName(), getWorker().getPackageName())) {
+                    getWorker().removeDeviceFromPlayMedia(device);
+                } else {
+                    getWorker().addDeviceToPlayMedia(device);
+                }
+                break;
+        }
+    }
+
+    @Override
+    public Intent getIntent() {
+        return null;
+    }
+
+    @Override
+    public Class getBackgroundWorkerClass() {
+        return MediaDeviceUpdateWorker.class;
+    }
+}
diff --git a/src/com/android/settings/media/MediaOutputIndicatorSlice.java b/src/com/android/settings/media/MediaOutputIndicatorSlice.java
index 0ffa9ff..860a933 100644
--- a/src/com/android/settings/media/MediaOutputIndicatorSlice.java
+++ b/src/com/android/settings/media/MediaOutputIndicatorSlice.java
@@ -20,79 +20,69 @@
 
 import android.annotation.ColorInt;
 import android.app.PendingIntent;
-import android.bluetooth.BluetoothDevice;
 import android.content.Context;
 import android.content.Intent;
+import android.graphics.Bitmap;
+import android.media.session.MediaController;
 import android.net.Uri;
-import android.telephony.TelephonyManager;
-import android.util.Log;
 
 import androidx.core.graphics.drawable.IconCompat;
 import androidx.slice.Slice;
 import androidx.slice.builders.ListBuilder;
 import androidx.slice.builders.SliceAction;
 
-import com.android.internal.util.CollectionUtils;
 import com.android.settings.R;
 import com.android.settings.Utils;
 import com.android.settings.slices.CustomSliceable;
-import com.android.settingslib.bluetooth.A2dpProfile;
-import com.android.settingslib.bluetooth.HearingAidProfile;
-import com.android.settingslib.bluetooth.LocalBluetoothManager;
-import com.android.settingslib.bluetooth.LocalBluetoothProfileManager;
+import com.android.settings.slices.SliceBackgroundWorker;
+import com.android.settings.slices.SliceBroadcastReceiver;
 import com.android.settingslib.media.MediaOutputSliceConstants;
 
-import java.util.ArrayList;
-import java.util.List;
-
 public class MediaOutputIndicatorSlice implements CustomSliceable {
 
-    private static final String TAG = "MediaOutputIndicatorSlice";
+    private static final String TAG = "MediaOutputIndSlice";
 
     private Context mContext;
-    private LocalBluetoothManager mLocalBluetoothManager;
-    private LocalBluetoothProfileManager mProfileManager;
+    private MediaOutputIndicatorWorker mWorker;
 
     public MediaOutputIndicatorSlice(Context context) {
         mContext = context;
-        mLocalBluetoothManager = com.android.settings.bluetooth.Utils.getLocalBtManager(context);
-        if (mLocalBluetoothManager == null) {
-            Log.e(TAG, "Bluetooth is not supported on this device");
-            return;
-        }
-        mProfileManager = mLocalBluetoothManager.getProfileManager();
     }
 
     @Override
     public Slice getSlice() {
         if (!isVisible()) {
-            return null;
+            return new ListBuilder(mContext, getUri(), ListBuilder.INFINITY)
+                    .setIsError(true)
+                    .build();
         }
         final IconCompat icon = IconCompat.createWithResource(mContext,
                 com.android.internal.R.drawable.ic_settings_bluetooth);
         final CharSequence title = mContext.getText(R.string.media_output_title);
-        final PendingIntent primaryActionIntent = PendingIntent.getActivity(mContext,
-                0 /* requestCode */, getMediaOutputSliceIntent(), 0 /* flags */);
         final SliceAction primarySliceAction = SliceAction.createDeeplink(
-                primaryActionIntent, icon, ListBuilder.ICON_IMAGE, title);
+                getBroadcastIntent(), icon, ListBuilder.ICON_IMAGE, title);
         @ColorInt final int color = Utils.getColorAccentDefaultColor(mContext);
-
-        final ListBuilder listBuilder = new ListBuilder(mContext,
-                MEDIA_OUTPUT_INDICATOR_SLICE_URI,
-                ListBuilder.INFINITY)
+        // To set an empty icon to indent the row
+        final ListBuilder listBuilder = new ListBuilder(mContext, getUri(), ListBuilder.INFINITY)
                 .setAccentColor(color)
                 .addRow(new ListBuilder.RowBuilder()
                         .setTitle(title)
-                        .setSubtitle(findActiveDeviceName())
+                        .setTitleItem(createEmptyIcon(), ListBuilder.ICON_IMAGE)
+                        .setSubtitle(getWorker().getCurrentConnectedMediaDevice().getName())
                         .setPrimaryAction(primarySliceAction));
         return listBuilder.build();
     }
 
-    private Intent getMediaOutputSliceIntent() {
-        final Intent intent = new Intent()
-                .setAction(MediaOutputSliceConstants.ACTION_MEDIA_OUTPUT)
-                .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-        return intent;
+    private IconCompat createEmptyIcon() {
+        final Bitmap bitmap = Bitmap.createBitmap(1, 1, Bitmap.Config.ARGB_8888);
+        return IconCompat.createWithBitmap(bitmap);
+    }
+
+    private PendingIntent getBroadcastIntent() {
+        final Intent intent = new Intent(getUri().toString());
+        intent.setClass(mContext, SliceBroadcastReceiver.class);
+        return PendingIntent.getBroadcast(mContext, 0, intent,
+                PendingIntent.FLAG_UPDATE_CURRENT);
     }
 
     @Override
@@ -112,69 +102,36 @@
         return MediaOutputIndicatorWorker.class;
     }
 
+    @Override
+    public void onNotifyChange(Intent i) {
+        final MediaController mediaController = getWorker().getActiveLocalMediaController();
+        final Intent intent = new Intent()
+                .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());
+        }
+        mContext.startActivity(intent);
+    }
+
+    private MediaOutputIndicatorWorker getWorker() {
+        if (mWorker == null) {
+            mWorker = SliceBackgroundWorker.getInstance(getUri());
+        }
+        return mWorker;
+    }
+
     private boolean isVisible() {
         // To decide Slice's visibility.
         // Return true if
-        // 1. phone is not in ongoing call mode
-        // 2. Bluetooth device is connected
-        final TelephonyManager telephonyManager =
-                (TelephonyManager) mContext.getSystemService(Context.TELEPHONY_SERVICE);
-        return telephonyManager.getCallState() == TelephonyManager.CALL_STATE_IDLE
-                && (!CollectionUtils.isEmpty(getConnectedA2dpDevices())
-                || !CollectionUtils.isEmpty(getConnectedHearingAidDevices()));
-    }
-
-    private List<BluetoothDevice> getConnectedA2dpDevices() {
-        // Get A2dp devices on states
-        // (STATE_CONNECTING, STATE_CONNECTED,  STATE_DISCONNECTING)
-        final A2dpProfile a2dpProfile = mProfileManager.getA2dpProfile();
-        if (a2dpProfile == null) {
-            return new ArrayList<>();
-        }
-        return a2dpProfile.getConnectedDevices();
-    }
-
-    private List<BluetoothDevice> getConnectedHearingAidDevices() {
-        // Get hearing aid profile devices on states
-        // (STATE_CONNECTING, STATE_CONNECTED,  STATE_DISCONNECTING)
-        final HearingAidProfile hapProfile = mProfileManager.getHearingAidProfile();
-        if (hapProfile == null) {
-            return new ArrayList<>();
-        }
-
-        return hapProfile.getConnectedDevices();
-    }
-
-    private CharSequence findActiveDeviceName() {
-        // Return Hearing Aid device name if it is active
-        BluetoothDevice activeDevice = findActiveHearingAidDevice();
-        if (activeDevice != null) {
-            return activeDevice.getAliasName();
-        }
-        // Return A2DP device name if it is active
-        final A2dpProfile a2dpProfile = mProfileManager.getA2dpProfile();
-        if (a2dpProfile != null) {
-            activeDevice = a2dpProfile.getActiveDevice();
-            if (activeDevice != null) {
-                return activeDevice.getAliasName();
-            }
-        }
-        // No active device, return default summary
-        return mContext.getText(R.string.media_output_default_summary);
-    }
-
-    private BluetoothDevice findActiveHearingAidDevice() {
-        final HearingAidProfile hearingAidProfile = mProfileManager.getHearingAidProfile();
-        if (hearingAidProfile == null) {
-            return null;
-        }
-
-        final List<BluetoothDevice> activeDevices = hearingAidProfile.getActiveDevices();
-        for (BluetoothDevice btDevice : activeDevices) {
-            if (btDevice != null) {
-                return btDevice;
-            }
-        }
-        return null;
+        // 1. AudioMode is not in on-going call
+        // 2. worker is not null
+        // 3. Available devices are more than 1
+        return getWorker() != null
+                && !com.android.settingslib.Utils.isAudioModeOngoingCall(mContext)
+                && getWorker().getMediaDevices().size() > 1;
     }
 }
diff --git a/src/com/android/settings/media/MediaOutputIndicatorWorker.java b/src/com/android/settings/media/MediaOutputIndicatorWorker.java
index 0937d4b..6daa745 100644
--- a/src/com/android/settings/media/MediaOutputIndicatorWorker.java
+++ b/src/com/android/settings/media/MediaOutputIndicatorWorker.java
@@ -16,71 +16,165 @@
 
 package com.android.settings.media;
 
-import android.bluetooth.BluetoothProfile;
+import static android.media.AudioManager.STREAM_DEVICES_CHANGED_ACTION;
+
+import android.content.BroadcastReceiver;
 import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+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;
 
+import androidx.annotation.Nullable;
+
 import com.android.settings.bluetooth.Utils;
 import com.android.settings.slices.SliceBackgroundWorker;
 import com.android.settingslib.bluetooth.BluetoothCallback;
-import com.android.settingslib.bluetooth.CachedBluetoothDevice;
 import com.android.settingslib.bluetooth.LocalBluetoothManager;
+import com.android.settingslib.media.LocalMediaManager;
+import com.android.settingslib.media.MediaDevice;
 
-import java.io.IOException;
+import com.google.common.annotations.VisibleForTesting;
+
+import java.util.Collection;
+import java.util.List;
+import java.util.concurrent.CopyOnWriteArrayList;
 
 /**
  * Listener for background change from {@code BluetoothCallback} to update media output indicator.
  */
-public class MediaOutputIndicatorWorker extends SliceBackgroundWorker implements BluetoothCallback {
+public class MediaOutputIndicatorWorker extends SliceBackgroundWorker implements BluetoothCallback,
+        LocalMediaManager.DeviceCallback {
 
-    private static final String TAG = "MediaOutputIndicatorWorker";
+    private static final String TAG = "MediaOutputIndWorker";
+
+    private final DevicesChangedBroadcastReceiver mReceiver;
+    private final Context mContext;
+    private final Collection<MediaDevice> mMediaDevices = new CopyOnWriteArrayList<>();
 
     private LocalBluetoothManager mLocalBluetoothManager;
 
+    @VisibleForTesting
+    LocalMediaManager mLocalMediaManager;
+
     public MediaOutputIndicatorWorker(Context context, Uri uri) {
         super(context, uri);
+        mReceiver = new DevicesChangedBroadcastReceiver();
+        mContext = context;
     }
 
     @Override
     protected void onSlicePinned() {
+        mMediaDevices.clear();
         mLocalBluetoothManager = Utils.getLocalBtManager(getContext());
         if (mLocalBluetoothManager == null) {
             Log.e(TAG, "Bluetooth is not supported on this device");
             return;
         }
+        final IntentFilter intentFilter = new IntentFilter(STREAM_DEVICES_CHANGED_ACTION);
+        mContext.registerReceiver(mReceiver, intentFilter);
         mLocalBluetoothManager.getEventManager().registerCallback(this);
+
+        if (mLocalMediaManager == null) {
+            final MediaController controller = getActiveLocalMediaController();
+            String packageName = null;
+            if (controller != null) {
+                packageName = controller.getPackageName();
+            }
+            mLocalMediaManager = new LocalMediaManager(mContext, packageName, null);
+        }
+
+        mLocalMediaManager.registerCallback(this);
+        mLocalMediaManager.startScan();
     }
 
     @Override
     protected void onSliceUnpinned() {
+        mLocalMediaManager.unregisterCallback(this);
+        mLocalMediaManager.stopScan();
+
         if (mLocalBluetoothManager == null) {
             Log.e(TAG, "Bluetooth is not supported on this device");
             return;
         }
         mLocalBluetoothManager.getEventManager().unregisterCallback(this);
+        mContext.unregisterReceiver(mReceiver);
     }
 
     @Override
-    public void close() throws IOException {
+    public void close() {
         mLocalBluetoothManager = null;
-    }
-
-    @Override
-    public void onBluetoothStateChanged(int bluetoothState) {
-        // To handle the case that Bluetooth on and no connected devices
-        notifySliceChange();
-    }
-
-    @Override
-    public void onActiveDeviceChanged(CachedBluetoothDevice activeDevice, int bluetoothProfile) {
-        if (bluetoothProfile == BluetoothProfile.A2DP) {
-            notifySliceChange();
-        }
+        mLocalMediaManager = null;
     }
 
     @Override
     public void onAudioModeChanged() {
         notifySliceChange();
     }
+
+    @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;
+    }
+
+    @Override
+    public void onDeviceListUpdate(List<MediaDevice> devices) {
+        buildMediaDevices(devices);
+        notifySliceChange();
+    }
+
+    private void buildMediaDevices(List<MediaDevice> devices) {
+        mMediaDevices.clear();
+        mMediaDevices.addAll(devices);
+    }
+
+    @Override
+    public void onSelectedDeviceStateChanged(MediaDevice device, int state) {
+        notifySliceChange();
+    }
+
+    @Override
+    public void onDeviceAttributesChanged() {
+        notifySliceChange();
+    }
+
+    Collection<MediaDevice> getMediaDevices() {
+        return mMediaDevices;
+    }
+
+    MediaDevice getCurrentConnectedMediaDevice() {
+        return mLocalMediaManager.getCurrentConnectedDevice();
+    }
+
+    private class DevicesChangedBroadcastReceiver extends BroadcastReceiver {
+        @Override
+        public void onReceive(Context context, Intent intent) {
+            final String action = intent.getAction();
+            if (TextUtils.equals(AudioManager.STREAM_DEVICES_CHANGED_ACTION, action)) {
+                notifySliceChange();
+            }
+        }
+    }
 }
diff --git a/src/com/android/settings/media/MediaOutputSlice.java b/src/com/android/settings/media/MediaOutputSlice.java
index 734c31e..785d1df 100644
--- a/src/com/android/settings/media/MediaOutputSlice.java
+++ b/src/com/android/settings/media/MediaOutputSlice.java
@@ -16,16 +16,19 @@
 
 package com.android.settings.media;
 
+import static android.app.slice.Slice.EXTRA_RANGE_VALUE;
+import static android.text.Spanned.SPAN_EXCLUSIVE_EXCLUSIVE;
+
 import static com.android.settings.slices.CustomSliceRegistry.MEDIA_OUTPUT_SLICE_URI;
 
 import android.app.PendingIntent;
-import android.bluetooth.BluetoothAdapter;
 import android.content.Context;
 import android.content.Intent;
 import android.graphics.drawable.Drawable;
 import android.net.Uri;
-import android.telephony.TelephonyManager;
+import android.text.SpannableString;
 import android.text.TextUtils;
+import android.text.style.ForegroundColorSpan;
 import android.util.Log;
 
 import androidx.annotation.VisibleForTesting;
@@ -39,9 +42,11 @@
 import com.android.settings.slices.CustomSliceable;
 import com.android.settings.slices.SliceBackgroundWorker;
 import com.android.settings.slices.SliceBroadcastReceiver;
+import com.android.settingslib.media.LocalMediaManager;
 import com.android.settingslib.media.MediaDevice;
+import com.android.settingslib.media.MediaOutputSliceConstants;
 
-import java.util.List;
+import java.util.Collection;
 
 /**
  * Show the Media device that can be transfer the media.
@@ -50,22 +55,22 @@
 
     private static final String TAG = "MediaOutputSlice";
     private static final String MEDIA_DEVICE_ID = "media_device_id";
+    private static final String MEDIA_GROUP_DEVICE = "media_group_device";
+    private static final String MEDIA_GROUP_REQUEST = "media_group_request";
+    private static final int NON_SLIDER_VALUE = -1;
 
     public static final String MEDIA_PACKAGE_NAME = "media_package_name";
 
     private final Context mContext;
 
     private MediaDeviceUpdateWorker mWorker;
-    private String mPackageName;
 
     public MediaOutputSlice(Context context) {
         mContext = context;
-        mPackageName = getUri().getQueryParameter(MEDIA_PACKAGE_NAME);
     }
 
     @VisibleForTesting
-    void init(String packageName, MediaDeviceUpdateWorker worker) {
-        mPackageName = packageName;
+    void init(MediaDeviceUpdateWorker worker) {
         mWorker = worker;
     }
 
@@ -82,39 +87,117 @@
             return listBuilder.build();
         }
 
-        final List<MediaDevice> devices = getMediaDevices();
+        final Collection<MediaDevice> devices = getMediaDevices();
+        final MediaDeviceUpdateWorker worker = getWorker();
 
-        final MediaDevice connectedDevice = getWorker().getCurrentConnectedMediaDevice();
-        if (connectedDevice != null) {
-            listBuilder.addRow(getActiveDeviceHeaderRow(connectedDevice));
-        }
+        if (worker.getSelectedMediaDevice().size() > 1) {
+            // Insert group item to the first when it is available
+            listBuilder.addInputRange(getGroupRow());
+            // Add all other devices
+            for (MediaDevice device : devices) {
+                addRow(device, null /* connectedDevice */, listBuilder);
+            }
+        } else {
+            final MediaDevice connectedDevice = worker.getCurrentConnectedMediaDevice();
+            final boolean isTouched = worker.getIsTouched();
+            // Fix the last top device when user press device to transfer.
+            final MediaDevice topDevice = isTouched ? worker.getTopDevice() : connectedDevice;
 
-        for (MediaDevice device : devices) {
-            if (connectedDevice == null
-                    || !TextUtils.equals(connectedDevice.getId(), device.getId())) {
-                listBuilder.addRow(getMediaDeviceRow(device));
+            if (topDevice != null) {
+                addRow(topDevice, connectedDevice, listBuilder);
+                worker.setTopDevice(topDevice);
+            }
+
+            for (MediaDevice device : devices) {
+                if (topDevice == null || !TextUtils.equals(topDevice.getId(), device.getId())) {
+                    addRow(device, connectedDevice, listBuilder);
+                }
             }
         }
-
         return listBuilder.build();
     }
 
-    private ListBuilder.RowBuilder getActiveDeviceHeaderRow(MediaDevice device) {
-        final String title = device.getName();
-        final IconCompat icon = getDeviceIconCompat(device);
-
+    private ListBuilder.InputRangeBuilder getGroupRow() {
+        final IconCompat icon = IconCompat.createWithResource(mContext,
+                R.drawable.ic_speaker_group_black_24dp);
+        final CharSequence sessionName = getWorker().getSessionName();
+        final CharSequence title = TextUtils.isEmpty(sessionName)
+                ? mContext.getString(R.string.media_output_group) : sessionName;
         final PendingIntent broadcastAction =
-                getBroadcastIntent(mContext, device.getId(), device.hashCode());
+                getBroadcastIntent(mContext, MEDIA_GROUP_DEVICE, MEDIA_GROUP_DEVICE.hashCode());
         final SliceAction primarySliceAction = SliceAction.createDeeplink(broadcastAction, icon,
                 ListBuilder.ICON_IMAGE, title);
-
-        final ListBuilder.RowBuilder rowBuilder = new ListBuilder.RowBuilder()
+        final ListBuilder.InputRangeBuilder builder = new ListBuilder.InputRangeBuilder()
                 .setTitleItem(icon, ListBuilder.ICON_IMAGE)
                 .setTitle(title)
-                .setSubtitle(device.getSummary())
-                .setPrimaryAction(primarySliceAction);
+                .setPrimaryAction(primarySliceAction)
+                .setInputAction(getSliderInputAction(MEDIA_GROUP_DEVICE.hashCode(),
+                        MEDIA_GROUP_DEVICE))
+                .setMax(getWorker().getSessionVolumeMax())
+                .setValue(getWorker().getSessionVolume())
+                .addEndItem(getEndItemSliceAction());
+        return builder;
+    }
 
-        return rowBuilder;
+    private void addRow(MediaDevice device, MediaDevice connectedDevice, ListBuilder listBuilder) {
+        if (connectedDevice != null && TextUtils.equals(device.getId(), connectedDevice.getId())) {
+            final String title = device.getName();
+            final IconCompat icon = getDeviceIconCompat(device);
+
+            final PendingIntent broadcastAction =
+                    getBroadcastIntent(mContext, device.getId(), device.hashCode());
+            final SliceAction primarySliceAction = SliceAction.createDeeplink(broadcastAction, icon,
+                    ListBuilder.ICON_IMAGE, title);
+
+            if (device.getMaxVolume() > 0) {
+                final ListBuilder.InputRangeBuilder builder = new ListBuilder.InputRangeBuilder()
+                        .setTitleItem(icon, ListBuilder.ICON_IMAGE)
+                        .setTitle(title)
+                        .setPrimaryAction(primarySliceAction)
+                        .setInputAction(getSliderInputAction(device.hashCode(), device.getId()))
+                        .setMax(device.getMaxVolume())
+                        .setValue(device.getCurrentVolume());
+                // Check end item visibility
+                if (device.getDeviceType() == MediaDevice.MediaDeviceType.TYPE_CAST_DEVICE
+                        && !getWorker().getSelectableMediaDevice().isEmpty()) {
+                    builder.addEndItem(getEndItemSliceAction());
+                }
+                listBuilder.addInputRange(builder);
+            } else {
+                final ListBuilder.RowBuilder builder = getMediaDeviceRow(device);
+                // Check end item visibility
+                if (device.getDeviceType() == MediaDevice.MediaDeviceType.TYPE_CAST_DEVICE
+                        && !getWorker().getSelectableMediaDevice().isEmpty()) {
+                    builder.addEndItem(getEndItemSliceAction());
+                }
+                listBuilder.addRow(builder);
+            }
+        } else {
+            listBuilder.addRow(getMediaDeviceRow(device));
+        }
+    }
+
+    private PendingIntent getSliderInputAction(int requestCode, String id) {
+        final Intent intent = new Intent(getUri().toString())
+                .setData(getUri())
+                .putExtra(MEDIA_DEVICE_ID, id)
+                .setClass(mContext, SliceBroadcastReceiver.class);
+
+        return PendingIntent.getBroadcast(mContext, requestCode, intent, 0);
+    }
+
+    private SliceAction getEndItemSliceAction() {
+        final Intent intent = new Intent()
+                .setAction(MediaOutputSliceConstants.ACTION_MEDIA_OUTPUT_GROUP)
+                .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
+                .putExtra(MediaOutputSliceConstants.EXTRA_PACKAGE_NAME,
+                        getWorker().getPackageName());
+
+        return SliceAction.createDeeplink(
+                PendingIntent.getActivity(mContext, 0 /* requestCode */, intent, 0 /* flags */),
+                IconCompat.createWithResource(mContext, R.drawable.ic_add_blue_24dp),
+                ListBuilder.ICON_IMAGE,
+                mContext.getText(R.string.add));
     }
 
     private IconCompat getDeviceIconCompat(MediaDevice device) {
@@ -130,31 +213,50 @@
 
     private MediaDeviceUpdateWorker getWorker() {
         if (mWorker == null) {
-            mWorker = (MediaDeviceUpdateWorker) SliceBackgroundWorker.getInstance(getUri());
-            if (mWorker != null) {
-                mWorker.setPackageName(mPackageName);
-            }
+            mWorker = SliceBackgroundWorker.getInstance(getUri());
         }
         return mWorker;
     }
 
-    private List<MediaDevice> getMediaDevices() {
-        final List<MediaDevice> devices = getWorker().getMediaDevices();
+    private Collection<MediaDevice> getMediaDevices() {
+        final Collection<MediaDevice> devices = getWorker().getMediaDevices();
         return devices;
     }
 
     private ListBuilder.RowBuilder getMediaDeviceRow(MediaDevice device) {
-        final String title = device.getName();
+        final String deviceName = device.getName();
         final PendingIntent broadcastAction =
                 getBroadcastIntent(mContext, device.getId(), device.hashCode());
         final IconCompat deviceIcon = getDeviceIconCompat(device);
-
         final ListBuilder.RowBuilder rowBuilder = new ListBuilder.RowBuilder()
-                .setTitleItem(deviceIcon, ListBuilder.ICON_IMAGE)
-                .setPrimaryAction(SliceAction.create(broadcastAction, deviceIcon,
-                        ListBuilder.ICON_IMAGE, title))
-                .setTitle(title)
-                .setSubtitle(device.getSummary());
+                .setTitleItem(deviceIcon, ListBuilder.ICON_IMAGE);
+
+        if (device.getDeviceType() == MediaDevice.MediaDeviceType.TYPE_BLUETOOTH_DEVICE
+                && !device.isConnected()) {
+            // Append status to title only for the disconnected Bluetooth device.
+            final SpannableString spannableTitle = new SpannableString(
+                    mContext.getString(R.string.media_output_disconnected_status, deviceName));
+            spannableTitle.setSpan(new ForegroundColorSpan(
+                    Utils.getColorAttrDefaultColor(mContext, android.R.attr.textColorSecondary)),
+                    deviceName.length(),
+                    spannableTitle.length(), SPAN_EXCLUSIVE_EXCLUSIVE);
+            rowBuilder.setTitle(spannableTitle);
+            rowBuilder.setPrimaryAction(SliceAction.create(broadcastAction, deviceIcon,
+                    ListBuilder.ICON_IMAGE, spannableTitle));
+        } else {
+            rowBuilder.setTitle(deviceName);
+            rowBuilder.setPrimaryAction(SliceAction.create(broadcastAction, deviceIcon,
+                    ListBuilder.ICON_IMAGE, deviceName));
+            switch (device.getState()) {
+                case LocalMediaManager.MediaDeviceState.STATE_CONNECTING:
+                    rowBuilder.setSubtitle(mContext.getText(R.string.media_output_switching));
+                    break;
+                case LocalMediaManager.MediaDeviceState.STATE_CONNECTING_FAILED:
+                    rowBuilder.setSubtitle(mContext.getText(
+                            R.string.media_output_switch_error_text));
+                    break;
+            }
+        }
 
         return rowBuilder;
     }
@@ -164,8 +266,8 @@
         intent.setClass(context, SliceBroadcastReceiver.class);
         intent.putExtra(MEDIA_DEVICE_ID, id);
         intent.addFlags(Intent.FLAG_RECEIVER_FOREGROUND);
-        return PendingIntent.getBroadcast(context, requestCode /* requestCode */, intent,
-                PendingIntent.FLAG_CANCEL_CURRENT);
+        return PendingIntent.getBroadcast(context, requestCode, intent,
+                PendingIntent.FLAG_UPDATE_CURRENT);
     }
 
     @Override
@@ -177,10 +279,30 @@
     public void onNotifyChange(Intent intent) {
         final MediaDeviceUpdateWorker worker = getWorker();
         final String id = intent != null ? intent.getStringExtra(MEDIA_DEVICE_ID) : "";
-        final MediaDevice device = worker.getMediaDeviceById(id);
-        if (device != null) {
-            Log.d(TAG, "onNotifyChange() device name : " + device.getName());
-            worker.connectDevice(device);
+        if (TextUtils.isEmpty(id)) {
+            return;
+        }
+
+        final int newPosition = intent.getIntExtra(EXTRA_RANGE_VALUE, NON_SLIDER_VALUE);
+        if (TextUtils.equals(id, MEDIA_GROUP_DEVICE)) {
+            // Session volume adjustment
+            worker.adjustSessionVolume(newPosition);
+        } else {
+            final MediaDevice device = worker.getMediaDeviceById(id);
+            if (device == null) {
+                Log.d(TAG, "onNotifyChange: Unable to get device " + id);
+                return;
+            }
+
+            if (newPosition == NON_SLIDER_VALUE) {
+                // Intent for device connection
+                Log.d(TAG, "onNotifyChange: Switch to " + device.getName());
+                worker.setIsTouched(true);
+                worker.connectDevice(device);
+            } else {
+                // Single device volume adjustment
+                worker.adjustVolume(device, newPosition);
+            }
         }
     }
 
@@ -197,15 +319,12 @@
     private boolean isVisible() {
         // To decide Slice's visibility.
         // Return true if
-        // 1. phone is not in ongoing call mode
+        // 1. AudioMode is not in on-going call
         // 2. worker is not null
-        // 3. Bluetooth is enabled
-        final TelephonyManager telephonyManager =
-                (TelephonyManager)mContext.getSystemService(Context.TELEPHONY_SERVICE);
-        final BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();
+        // 3. Available devices are more than 1
+        return getWorker() != null
+                && !com.android.settingslib.Utils.isAudioModeOngoingCall(mContext)
+                && getWorker().getMediaDevices().size() > 1;
 
-        return telephonyManager.getCallState() == TelephonyManager.CALL_STATE_IDLE
-                && adapter.isEnabled()
-                && getWorker() != null;
     }
 }
diff --git a/src/com/android/settings/media/RemoteMediaSlice.java b/src/com/android/settings/media/RemoteMediaSlice.java
new file mode 100644
index 0000000..4e442b7
--- /dev/null
+++ b/src/com/android/settings/media/RemoteMediaSlice.java
@@ -0,0 +1,184 @@
+/*
+ * 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 android.app.slice.Slice.EXTRA_RANGE_VALUE;
+
+import static com.android.settings.slices.CustomSliceRegistry.REMOTE_MEDIA_SLICE_URI;
+
+import android.app.PendingIntent;
+import android.content.Context;
+import android.content.Intent;
+import android.graphics.Bitmap;
+import android.net.Uri;
+import android.text.TextUtils;
+import android.util.Log;
+
+import androidx.core.graphics.drawable.IconCompat;
+import androidx.slice.Slice;
+import androidx.slice.builders.ListBuilder;
+import androidx.slice.builders.ListBuilder.InputRangeBuilder;
+import androidx.slice.builders.SliceAction;
+
+import com.android.settings.R;
+import com.android.settings.SubSettings;
+import com.android.settings.notification.SoundSettings;
+import com.android.settings.slices.CustomSliceable;
+import com.android.settings.slices.SliceBackgroundWorker;
+import com.android.settings.slices.SliceBroadcastReceiver;
+import com.android.settings.slices.SliceBuilderUtils;
+import com.android.settingslib.media.MediaDevice;
+import com.android.settingslib.media.MediaOutputSliceConstants;
+
+import java.util.List;
+
+/**
+ * Display the Remote Media device information.
+ */
+public class RemoteMediaSlice implements CustomSliceable {
+
+    private static final String TAG = "RemoteMediaSlice";
+    private static final String MEDIA_ID = "media_id";
+
+    private final Context mContext;
+
+    private MediaDeviceUpdateWorker mWorker;
+
+    public RemoteMediaSlice(Context context) {
+        mContext = context;
+    }
+
+    @Override
+    public void onNotifyChange(Intent intent) {
+        final int newPosition = intent.getIntExtra(EXTRA_RANGE_VALUE, -1);
+        final String id = intent.getStringExtra(MEDIA_ID);
+        if (!TextUtils.isEmpty(id)) {
+            getWorker().adjustVolume(getWorker().getMediaDeviceById(id), newPosition);
+        }
+    }
+
+    @Override
+    public Slice getSlice() {
+        final ListBuilder listBuilder = new ListBuilder(mContext, getUri(), ListBuilder.INFINITY)
+                .setAccentColor(COLOR_NOT_TINTED);
+        if (getWorker() == null) {
+            Log.e(TAG, "Unable to get the slice worker.");
+            return listBuilder.build();
+        }
+        // Only displaying remote devices
+        final List<MediaDevice> mediaDevices = getWorker().getActiveMediaDevice(
+                MediaDevice.MediaDeviceType.TYPE_CAST_DEVICE);
+        if (mediaDevices.isEmpty()) {
+            Log.d(TAG, "No active remote media device");
+            return listBuilder.build();
+        }
+        final CharSequence castVolume = mContext.getText(R.string.remote_media_volume_option_title);
+        final CharSequence outputTitle = mContext.getText(R.string.media_output_title);
+        final IconCompat icon = IconCompat.createWithResource(mContext,
+                R.drawable.ic_volume_remote);
+        // To create an empty icon to indent the row
+        final IconCompat emptyIcon = createEmptyIcon();
+        int requestCode = 0;
+        for (MediaDevice mediaDevice : mediaDevices) {
+            final int maxVolume = mediaDevice.getMaxVolume();
+            if (maxVolume <= 0) {
+                Log.d(TAG, "Unable to add Slice. " + mediaDevice.getName() + ": max volume is "
+                        + maxVolume);
+                continue;
+            }
+            final String title = castVolume + " (" + mediaDevice.getClientAppLabel() + ")";
+            listBuilder.addInputRange(new InputRangeBuilder()
+                    .setTitleItem(icon, ListBuilder.ICON_IMAGE)
+                    .setTitle(title)
+                    .setInputAction(getSliderInputAction(requestCode++, mediaDevice.getId()))
+                    .setPrimaryAction(getSoundSettingAction(title, icon, mediaDevice.getId()))
+                    .setMax(maxVolume)
+                    .setValue(mediaDevice.getCurrentVolume()));
+            listBuilder.addRow(new ListBuilder.RowBuilder()
+                    .setTitle(outputTitle)
+                    .setSubtitle(mediaDevice.getName())
+                    .setTitleItem(emptyIcon, ListBuilder.ICON_IMAGE)
+                    .setPrimaryAction(getMediaOutputSliceAction(
+                            mediaDevice.getClientPackageName())));
+        }
+        return listBuilder.build();
+    }
+
+    private IconCompat createEmptyIcon() {
+        final Bitmap bitmap = Bitmap.createBitmap(1, 1, Bitmap.Config.ARGB_8888);
+        return IconCompat.createWithBitmap(bitmap);
+    }
+
+    private PendingIntent getSliderInputAction(int requestCode, String id) {
+        final Intent intent = new Intent(getUri().toString())
+                .setData(getUri())
+                .putExtra(MEDIA_ID, id)
+                .setClass(mContext, SliceBroadcastReceiver.class);
+        return PendingIntent.getBroadcast(mContext, requestCode, intent, 0);
+    }
+
+    private SliceAction getSoundSettingAction(String actionTitle, IconCompat icon, String id) {
+        final Uri contentUri = new Uri.Builder().appendPath(id).build();
+        final Intent intent = SliceBuilderUtils.buildSearchResultPageIntent(mContext,
+                SoundSettings.class.getName(),
+                id,
+                mContext.getText(R.string.sound_settings).toString(), 0);
+        intent.setClassName(mContext.getPackageName(), SubSettings.class.getName());
+        intent.setData(contentUri);
+        final PendingIntent pendingIntent = PendingIntent.getActivity(mContext, 0, intent, 0);
+        final SliceAction primarySliceAction = SliceAction.createDeeplink(pendingIntent, icon,
+                ListBuilder.ICON_IMAGE, actionTitle);
+        return primarySliceAction;
+    }
+
+    private SliceAction getMediaOutputSliceAction(String packageName) {
+        final Intent intent = new Intent()
+                .setAction(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 PendingIntent primaryActionIntent = PendingIntent.getActivity(mContext,
+                0 /* requestCode */, intent, 0 /* flags */);
+        final SliceAction primarySliceAction = SliceAction.createDeeplink(
+                primaryActionIntent, icon, ListBuilder.ICON_IMAGE,
+                mContext.getText(R.string.media_output_title));
+        return primarySliceAction;
+    }
+
+    @Override
+    public Uri getUri() {
+        return REMOTE_MEDIA_SLICE_URI;
+    }
+
+    @Override
+    public Intent getIntent() {
+        return null;
+    }
+
+    @Override
+    public Class getBackgroundWorkerClass() {
+        return MediaDeviceUpdateWorker.class;
+    }
+
+    private MediaDeviceUpdateWorker getWorker() {
+        if (mWorker == null) {
+            mWorker = SliceBackgroundWorker.getInstance(getUri());
+        }
+        return mWorker;
+    }
+}
diff --git a/src/com/android/settings/network/ActiveSubsciptionsListener.java b/src/com/android/settings/network/ActiveSubsciptionsListener.java
new file mode 100644
index 0000000..d3702f1
--- /dev/null
+++ b/src/com/android/settings/network/ActiveSubsciptionsListener.java
@@ -0,0 +1,320 @@
+/*
+ * 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.network;
+
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.os.Handler;
+import android.os.Looper;
+import android.telephony.CarrierConfigManager;
+import android.telephony.SubscriptionInfo;
+import android.telephony.SubscriptionManager;
+import android.telephony.TelephonyManager;
+import android.text.TextUtils;
+import android.util.Log;
+
+import androidx.annotation.VisibleForTesting;
+
+import com.android.internal.telephony.TelephonyIntents;
+
+import java.util.List;
+import java.util.concurrent.atomic.AtomicInteger;
+
+/**
+ * A listener for active subscription change
+ */
+public abstract class ActiveSubsciptionsListener
+        extends SubscriptionManager.OnSubscriptionsChangedListener
+        implements AutoCloseable {
+
+    private static final String TAG = "ActiveSubsciptions";
+    private static final boolean DEBUG = false;
+
+    private Looper mLooper;
+    private Context mContext;
+
+    private static final int STATE_NOT_LISTENING = 0;
+    private static final int STATE_STOPPING      = 1;
+    private static final int STATE_PREPARING     = 2;
+    private static final int STATE_LISTENING     = 3;
+    private static final int STATE_DATA_CACHED   = 4;
+
+    private AtomicInteger mCacheState;
+    private SubscriptionManager mSubscriptionManager;
+
+    private IntentFilter mSubscriptionChangeIntentFilter;
+    private BroadcastReceiver mSubscriptionChangeReceiver;
+
+    private static final int MAX_SUBSCRIPTION_UNKNOWN = -1;
+
+    private AtomicInteger mMaxActiveSubscriptionInfos;
+    private List<SubscriptionInfo> mCachedActiveSubscriptionInfo;
+
+    /**
+     * Constructor
+     *
+     * @param looper {@code Looper} of this listener
+     * @param context {@code Context} of this listener
+     */
+    public ActiveSubsciptionsListener(Looper looper, Context context) {
+        mLooper = looper;
+        mContext = context;
+
+        mCacheState = new AtomicInteger(STATE_NOT_LISTENING);
+        mMaxActiveSubscriptionInfos = new AtomicInteger(MAX_SUBSCRIPTION_UNKNOWN);
+
+        mSubscriptionChangeIntentFilter = new IntentFilter();
+        mSubscriptionChangeIntentFilter.addAction(
+                CarrierConfigManager.ACTION_CARRIER_CONFIG_CHANGED);
+        mSubscriptionChangeIntentFilter.addAction(
+                TelephonyIntents.ACTION_RADIO_TECHNOLOGY_CHANGED);
+        mSubscriptionChangeIntentFilter.addAction(
+                TelephonyManager.ACTION_MULTI_SIM_CONFIG_CHANGED);
+    }
+
+    @VisibleForTesting
+    BroadcastReceiver getSubscriptionChangeReceiver() {
+        return new BroadcastReceiver() {
+            @Override
+            public void onReceive(Context context, Intent intent) {
+                if (isInitialStickyBroadcast()) {
+                    return;
+                }
+                final String action = intent.getAction();
+                if (TextUtils.isEmpty(action)) {
+                    return;
+                }
+                if (CarrierConfigManager.ACTION_CARRIER_CONFIG_CHANGED.equals(action)) {
+                    final int subId = intent.getIntExtra(
+                            CarrierConfigManager.EXTRA_SUBSCRIPTION_INDEX,
+                            SubscriptionManager.INVALID_SUBSCRIPTION_ID);
+                    if (!clearCachedSubId(subId)) {
+                        return;
+                    }
+                }
+                onSubscriptionsChanged();
+            }
+        };
+    }
+
+    /**
+     * Active subscriptions got changed
+     */
+    public abstract void onChanged();
+
+    @Override
+    public void onSubscriptionsChanged() {
+        // clear value in cache
+        clearCache();
+        listenerNotify();
+    }
+
+    /**
+     * Start listening subscriptions change
+     */
+    public void start() {
+        monitorSubscriptionsChange(true);
+    }
+
+    /**
+     * Stop listening subscriptions change
+     */
+    public void stop() {
+        monitorSubscriptionsChange(false);
+    }
+
+    /**
+     * Implementation of {@code AutoCloseable}
+     */
+    public void close() {
+        stop();
+    }
+
+    /**
+     * Get SubscriptionManager
+     *
+     * @return a SubscriptionManager
+     */
+    public SubscriptionManager getSubscriptionManager() {
+        if (mSubscriptionManager == null) {
+            mSubscriptionManager = mContext.getSystemService(SubscriptionManager.class);
+        }
+        return mSubscriptionManager;
+    }
+
+    /**
+     * Get current max. number active subscription info(s) been setup within device
+     *
+     * @return max. number of active subscription info(s)
+     */
+    public int getActiveSubscriptionInfoCountMax() {
+        int cacheState = mCacheState.get();
+        if (cacheState < STATE_LISTENING) {
+            return getSubscriptionManager().getActiveSubscriptionInfoCountMax();
+        }
+
+        mMaxActiveSubscriptionInfos.compareAndSet(MAX_SUBSCRIPTION_UNKNOWN,
+                getSubscriptionManager().getActiveSubscriptionInfoCountMax());
+        return mMaxActiveSubscriptionInfos.get();
+    }
+
+    /**
+     * Get a list of active subscription info
+     *
+     * @return A list of active subscription info
+     */
+    public List<SubscriptionInfo> getActiveSubscriptionsInfo() {
+        if (mCacheState.get() >= STATE_DATA_CACHED) {
+            return mCachedActiveSubscriptionInfo;
+        }
+        mCachedActiveSubscriptionInfo = getSubscriptionManager().getActiveSubscriptionInfoList();
+        mCacheState.compareAndSet(STATE_LISTENING, STATE_DATA_CACHED);
+
+        if (DEBUG) {
+            if ((mCachedActiveSubscriptionInfo == null)
+                    || (mCachedActiveSubscriptionInfo.size() <= 0)) {
+                Log.d(TAG, "active subscriptions: " + mCachedActiveSubscriptionInfo);
+            } else {
+                final StringBuilder logString = new StringBuilder("active subscriptions:");
+                for (SubscriptionInfo subInfo : mCachedActiveSubscriptionInfo) {
+                    logString.append(" " + subInfo.getSubscriptionId());
+                }
+                Log.d(TAG, logString.toString());
+            }
+        }
+
+        return mCachedActiveSubscriptionInfo;
+    }
+
+    /**
+     * Get an active subscription info with given subscription ID
+     *
+     * @param subId target subscription ID
+     * @return A subscription info which is active list
+     */
+    public SubscriptionInfo getActiveSubscriptionInfo(int subId) {
+        final List<SubscriptionInfo> subInfoList = getActiveSubscriptionsInfo();
+        if (subInfoList == null) {
+            return null;
+        }
+        for (SubscriptionInfo subInfo : subInfoList) {
+            if (subInfo.getSubscriptionId() == subId) {
+                return subInfo;
+            }
+        }
+        return null;
+    }
+
+    /**
+     * Get a list of all subscription info which accessible by Settings app
+     *
+     * @return A list of accessible subscription info
+     */
+    public List<SubscriptionInfo> getAccessibleSubscriptionsInfo() {
+        return getSubscriptionManager().getAvailableSubscriptionInfoList();
+    }
+
+    /**
+     * Get an accessible subscription info with given subscription ID
+     *
+     * @param subId target subscription ID
+     * @return A subscription info which is accessible list
+     */
+    public SubscriptionInfo getAccessibleSubscriptionInfo(int subId) {
+        // Always check if subId is part of activeSubscriptions
+        // since there's cache design within SubscriptionManager.
+        // That give us a chance to avoid from querying ContentProvider.
+        final SubscriptionInfo activeSubInfo = getActiveSubscriptionInfo(subId);
+        if (activeSubInfo != null) {
+            return activeSubInfo;
+        }
+
+        final List<SubscriptionInfo> subInfoList = getAccessibleSubscriptionsInfo();
+        if (subInfoList == null) {
+            return null;
+        }
+        for (SubscriptionInfo subInfo : subInfoList) {
+            if (subInfo.getSubscriptionId() == subId) {
+                return subInfo;
+            }
+        }
+        return null;
+    }
+
+    /**
+     * Clear data cached within listener
+     */
+    public void clearCache() {
+        mMaxActiveSubscriptionInfos.set(MAX_SUBSCRIPTION_UNKNOWN);
+        mCacheState.compareAndSet(STATE_DATA_CACHED, STATE_LISTENING);
+        mCachedActiveSubscriptionInfo = null;
+    }
+
+    private void monitorSubscriptionsChange(boolean on) {
+        if (on) {
+            if (!mCacheState.compareAndSet(STATE_NOT_LISTENING, STATE_PREPARING)) {
+                return;
+            }
+
+            if (mSubscriptionChangeReceiver == null) {
+                mSubscriptionChangeReceiver = getSubscriptionChangeReceiver();
+            }
+            mContext.registerReceiver(mSubscriptionChangeReceiver,
+                    mSubscriptionChangeIntentFilter, null, new Handler(mLooper));
+            getSubscriptionManager().addOnSubscriptionsChangedListener(this);
+            mCacheState.compareAndSet(STATE_PREPARING, STATE_LISTENING);
+            return;
+        }
+
+        final int currentState = mCacheState.getAndSet(STATE_STOPPING);
+        if (currentState <= STATE_STOPPING) {
+            mCacheState.compareAndSet(STATE_STOPPING, currentState);
+            return;
+        }
+        if (mSubscriptionChangeReceiver != null) {
+            mContext.unregisterReceiver(mSubscriptionChangeReceiver);
+        }
+        getSubscriptionManager().removeOnSubscriptionsChangedListener(this);
+        clearCache();
+        mCacheState.compareAndSet(STATE_STOPPING, STATE_NOT_LISTENING);
+    }
+
+    private void listenerNotify() {
+        if (mCacheState.get() < STATE_LISTENING) {
+            return;
+        }
+        onChanged();
+    }
+
+    private boolean clearCachedSubId(int subId) {
+        if (mCacheState.get() < STATE_DATA_CACHED) {
+            return false;
+        }
+        if (mCachedActiveSubscriptionInfo == null) {
+            return false;
+        }
+        for (SubscriptionInfo subInfo : mCachedActiveSubscriptionInfo) {
+            if (subInfo.getSubscriptionId() == subId) {
+                clearCache();
+                return true;
+            }
+        }
+        return false;
+    }
+}
diff --git a/src/com/android/settings/network/AirplaneModePreferenceController.java b/src/com/android/settings/network/AirplaneModePreferenceController.java
index 5c1913b..e852b80 100644
--- a/src/com/android/settings/network/AirplaneModePreferenceController.java
+++ b/src/com/android/settings/network/AirplaneModePreferenceController.java
@@ -17,23 +17,23 @@
 
 import static android.provider.SettingsSlicesContract.KEY_AIRPLANE_MODE;
 
+import android.content.ContentResolver;
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.PackageManager;
-import android.os.SystemProperties;
+import android.net.Uri;
+import android.provider.SettingsSlicesContract;
+import android.telephony.TelephonyManager;
 
+import androidx.annotation.VisibleForTesting;
 import androidx.fragment.app.Fragment;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 import androidx.preference.SwitchPreference;
 
-import com.android.internal.telephony.TelephonyIntents;
-import com.android.internal.telephony.TelephonyProperties;
 import com.android.settings.AirplaneModeEnabler;
 import com.android.settings.R;
 import com.android.settings.core.TogglePreferenceController;
-import com.android.settings.overlay.FeatureFactory;
-import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 import com.android.settingslib.core.lifecycle.LifecycleObserver;
 import com.android.settingslib.core.lifecycle.events.OnPause;
 import com.android.settingslib.core.lifecycle.events.OnResume;
@@ -44,31 +44,46 @@
 
     public static final int REQUEST_CODE_EXIT_ECM = 1;
 
+    /**
+     * Uri for Airplane mode Slice.
+     */
+    public static final Uri SLICE_URI = new Uri.Builder()
+            .scheme(ContentResolver.SCHEME_CONTENT)
+            .authority(SettingsSlicesContract.AUTHORITY)
+            .appendPath(SettingsSlicesContract.PATH_SETTING_ACTION)
+            .appendPath(SettingsSlicesContract.KEY_AIRPLANE_MODE)
+            .build();
     private static final String EXIT_ECM_RESULT = "exit_ecm_result";
 
     private Fragment mFragment;
-    private final MetricsFeatureProvider mMetricsFeatureProvider;
     private AirplaneModeEnabler mAirplaneModeEnabler;
     private SwitchPreference mAirplaneModePreference;
 
     public AirplaneModePreferenceController(Context context, String key) {
         super(context, key);
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
-        mAirplaneModeEnabler = new AirplaneModeEnabler(mContext, mMetricsFeatureProvider, this);
+
+        if (isAvailable(mContext)) {
+            mAirplaneModeEnabler = new AirplaneModeEnabler(mContext, this);
+        }
     }
 
     public void setFragment(Fragment hostFragment) {
         mFragment = hostFragment;
     }
 
+    @VisibleForTesting
+    void setAirplaneModeEnabler(AirplaneModeEnabler airplaneModeEnabler) {
+        mAirplaneModeEnabler = airplaneModeEnabler;
+    }
+
     @Override
     public boolean handlePreferenceTreeClick(Preference preference) {
-        if (KEY_AIRPLANE_MODE.equals(preference.getKey()) && Boolean.parseBoolean(
-                SystemProperties.get(TelephonyProperties.PROPERTY_INECM_MODE))) {
+        if (KEY_AIRPLANE_MODE.equals(preference.getKey())
+                && mAirplaneModeEnabler.isInEcmMode()) {
             // In ECM mode launch ECM app dialog
             if (mFragment != null) {
                 mFragment.startActivityForResult(
-                        new Intent(TelephonyIntents.ACTION_SHOW_NOTICE_ECM_BLOCK_OTHERS, null),
+                        new Intent(TelephonyManager.ACTION_SHOW_NOTICE_ECM_BLOCK_OTHERS, null),
                         REQUEST_CODE_EXIT_ECM);
             }
             return true;
@@ -78,11 +93,14 @@
     }
 
     @Override
+    public Uri getSliceUri() {
+        return SLICE_URI;
+    }
+
+    @Override
     public void displayPreference(PreferenceScreen screen) {
         super.displayPreference(screen);
-        if (isAvailable()) {
-            mAirplaneModePreference = screen.findPreference(getPreferenceKey());
-        }
+        mAirplaneModePreference = screen.findPreference(getPreferenceKey());
     }
 
     public static boolean isAvailable(Context context) {
@@ -91,7 +109,7 @@
     }
 
     @Override
-    public boolean isSliceable() {
+    public boolean isPublicSlice() {
         return true;
     }
 
@@ -117,7 +135,7 @@
 
     public void onActivityResult(int requestCode, int resultCode, Intent data) {
         if (requestCode == REQUEST_CODE_EXIT_ECM) {
-            Boolean isChoiceYes = data.getBooleanExtra(EXIT_ECM_RESULT, false);
+            final boolean isChoiceYes = data.getBooleanExtra(EXIT_ECM_RESULT, false);
             // Set Airplane mode based on the return value and checkbox state
             mAirplaneModeEnabler.setAirplaneModeInECM(isChoiceYes,
                     mAirplaneModePreference.isChecked());
diff --git a/src/com/android/settings/network/AllInOneTetherPreferenceController.java b/src/com/android/settings/network/AllInOneTetherPreferenceController.java
new file mode 100644
index 0000000..85cfb8b
--- /dev/null
+++ b/src/com/android/settings/network/AllInOneTetherPreferenceController.java
@@ -0,0 +1,212 @@
+/*
+ * 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.os.UserManager.DISALLOW_CONFIG_TETHERING;
+
+import static com.android.settings.network.TetherEnabler.BLUETOOTH_TETHER_KEY;
+import static com.android.settings.network.TetherEnabler.KEY_ENABLE_WIFI_TETHERING;
+import static com.android.settings.network.TetherEnabler.USB_TETHER_KEY;
+import static com.android.settingslib.RestrictedLockUtilsInternal.checkIfRestrictionEnforced;
+
+import android.bluetooth.BluetoothAdapter;
+import android.bluetooth.BluetoothPan;
+import android.bluetooth.BluetoothProfile;
+import android.content.Context;
+import android.content.SharedPreferences;
+import android.os.UserHandle;
+import android.util.FeatureFlagUtils;
+import android.util.Log;
+
+import androidx.annotation.VisibleForTesting;
+import androidx.lifecycle.Lifecycle;
+import androidx.lifecycle.Lifecycle.Event;
+import androidx.lifecycle.LifecycleObserver;
+import androidx.lifecycle.OnLifecycleEvent;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settings.TetherSettings;
+import com.android.settings.core.BasePreferenceController;
+import com.android.settings.core.FeatureFlags;
+import com.android.settings.widget.MasterSwitchController;
+import com.android.settings.widget.MasterSwitchPreference;
+import com.android.settingslib.TetherUtil;
+
+import java.util.concurrent.atomic.AtomicReference;
+
+/**
+ * This controller helps to manage the switch state and visibility of "Hotspot & tethering" switch
+ * preference. It updates the preference summary text based on tethering state.
+ */
+public class AllInOneTetherPreferenceController extends BasePreferenceController implements
+        LifecycleObserver, TetherEnabler.OnTetherStateUpdateListener {
+    private static final String TAG = "AllInOneTetherPreferenceController";
+
+    private static final byte HOTSPOT_ONLY = 1;
+    private static final byte USB_ONLY = 1 << 1;
+    private static final byte BLUETOOTH_ONLY = 1 << 2;
+    private static final byte HOTSPOT_AND_USB = HOTSPOT_ONLY | USB_ONLY;
+    private static final byte HOTSPOT_AND_BLUETOOTH = HOTSPOT_ONLY | BLUETOOTH_ONLY;
+    private static final byte USB_AND_BLUETOOTH = USB_ONLY | BLUETOOTH_ONLY;
+    private static final byte HOTSPOT_AND_USB_AND_BLUETOOTH =
+            HOTSPOT_ONLY | USB_ONLY | BLUETOOTH_ONLY;
+
+    private final boolean mAdminDisallowedTetherConfig;
+    private final AtomicReference<BluetoothPan> mBluetoothPan;
+    private final BluetoothAdapter mBluetoothAdapter;
+    private final SharedPreferences mTetherEnablerSharedPreferences;
+    @VisibleForTesting
+    final BluetoothProfile.ServiceListener mBtProfileServiceListener =
+            new BluetoothProfile.ServiceListener() {
+                @Override
+                public void onServiceConnected(int profile, BluetoothProfile proxy) {
+                    mBluetoothPan.set((BluetoothPan) proxy);
+                }
+
+                @Override
+                public void onServiceDisconnected(int profile) {
+                    mBluetoothPan.set(null);
+                }
+            };
+
+    private MasterSwitchPreference mPreference;
+    private TetherEnabler mTetherEnabler;
+
+    @VisibleForTesting(otherwise = VisibleForTesting.NONE)
+    AllInOneTetherPreferenceController() {
+        super(null /*context*/, "test");
+        mAdminDisallowedTetherConfig = false;
+        mBluetoothPan = new AtomicReference<>();
+        mBluetoothAdapter = null;
+        mTetherEnablerSharedPreferences = null;
+    }
+
+    public AllInOneTetherPreferenceController(Context context, String key) {
+        super(context, key);
+        mBluetoothPan = new AtomicReference<>();
+        mAdminDisallowedTetherConfig = checkIfRestrictionEnforced(
+                context, DISALLOW_CONFIG_TETHERING, UserHandle.myUserId()) != null;
+        mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
+        mTetherEnablerSharedPreferences =
+                context.getSharedPreferences(TetherEnabler.SHARED_PREF, Context.MODE_PRIVATE);
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        mPreference = screen.findPreference(mPreferenceKey);
+        if (mPreference != null && !mAdminDisallowedTetherConfig) {
+            // Grey out if provisioning is not available.
+            mPreference.setEnabled(!TetherSettings.isProvisioningNeededButUnavailable(mContext));
+        }
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        if (!TetherUtil.isTetherAvailable(mContext)
+                || !FeatureFlagUtils.isEnabled(mContext, FeatureFlags.TETHER_ALL_IN_ONE)) {
+            return CONDITIONALLY_UNAVAILABLE;
+        } else {
+            return AVAILABLE;
+        }
+    }
+
+    @Override
+    public CharSequence getSummary() {
+        if (mPreference != null && mPreference.isChecked()) {
+            int chosenType = 0;
+            chosenType |= mTetherEnablerSharedPreferences
+                .getBoolean(KEY_ENABLE_WIFI_TETHERING, true) ? HOTSPOT_ONLY : 0;
+            chosenType |= mTetherEnablerSharedPreferences.getBoolean(USB_TETHER_KEY, false)
+                ? USB_ONLY : 0;
+            chosenType |= mTetherEnablerSharedPreferences.getBoolean(BLUETOOTH_TETHER_KEY, false)
+                ? BLUETOOTH_ONLY : 0;
+            switch (chosenType) {
+                case HOTSPOT_ONLY:
+                    return mContext.getString(R.string.tether_settings_summary_hotspot_only);
+                case USB_ONLY:
+                    return mContext.getString(R.string.tether_settings_summary_usb_tethering_only);
+                case BLUETOOTH_ONLY:
+                    return mContext.getString(
+                            R.string.tether_settings_summary_bluetooth_tethering_only);
+                case HOTSPOT_AND_USB:
+                    return mContext.getString(R.string.tether_settings_summary_hotspot_and_usb);
+                case HOTSPOT_AND_BLUETOOTH:
+                    return mContext.getString(
+                            R.string.tether_settings_summary_hotspot_and_bluetooth);
+                case USB_AND_BLUETOOTH:
+                    return mContext.getString(R.string.tether_settings_summary_usb_and_bluetooth);
+                case HOTSPOT_AND_USB_AND_BLUETOOTH:
+                    return mContext.getString(
+                            R.string.tether_settings_summary_hotspot_and_usb_and_bluetooth);
+                default:
+                    Log.e(TAG, "None of the tether interfaces is chosen");
+                    return mContext.getString(R.string.summary_placeholder);
+            }
+        }
+
+        return mContext.getString(R.string.tether_settings_summary_off);
+    }
+
+    @OnLifecycleEvent(Event.ON_CREATE)
+    public void onCreate() {
+        if (mBluetoothAdapter != null
+                && mBluetoothAdapter.getState() == BluetoothAdapter.STATE_ON) {
+            mBluetoothAdapter.getProfileProxy(mContext, mBtProfileServiceListener,
+                        BluetoothProfile.PAN);
+        }
+    }
+
+    @OnLifecycleEvent(Event.ON_RESUME)
+    public void onResume() {
+        if (mTetherEnabler != null) {
+            mTetherEnabler.setListener(this);
+        }
+    }
+
+    @OnLifecycleEvent(Event.ON_PAUSE)
+    public void onPause() {
+        if (mTetherEnabler != null) {
+            mTetherEnabler.setListener(null);
+        }
+    }
+
+    @OnLifecycleEvent(Event.ON_DESTROY)
+    public void onDestroy() {
+        final BluetoothProfile profile = mBluetoothPan.getAndSet(null);
+        if (profile != null && mBluetoothAdapter != null) {
+            mBluetoothAdapter.closeProfileProxy(BluetoothProfile.PAN, profile);
+        }
+    }
+
+    void initEnabler(Lifecycle lifecycle) {
+        if (mPreference != null) {
+            mTetherEnabler = new TetherEnabler(
+                    mContext, new MasterSwitchController(mPreference), mBluetoothPan);
+            if (lifecycle != null) {
+                lifecycle.addObserver(mTetherEnabler);
+            }
+        } else {
+            Log.e(TAG, "TetherEnabler is not initialized");
+        }
+    }
+
+    @Override
+    public void onTetherStateUpdated(boolean isTethering) {
+        updateState(mPreference);
+    }
+}
diff --git a/src/com/android/settings/network/ApnEditor.java b/src/com/android/settings/network/ApnEditor.java
index 1451a40..6de2550 100644
--- a/src/com/android/settings/network/ApnEditor.java
+++ b/src/com/android/settings/network/ApnEditor.java
@@ -16,8 +16,6 @@
 
 package com.android.settings.network;
 
-import static android.content.Context.TELEPHONY_SERVICE;
-
 import android.app.Dialog;
 import android.app.settings.SettingsEnums;
 import android.content.ContentValues;
@@ -29,7 +27,7 @@
 import android.os.PersistableBundle;
 import android.provider.Telephony;
 import android.telephony.CarrierConfigManager;
-import android.telephony.ServiceState;
+import android.telephony.SubscriptionInfo;
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
 import android.text.TextUtils;
@@ -41,6 +39,7 @@
 import android.view.View;
 import android.view.View.OnKeyListener;
 
+import androidx.annotation.Nullable;
 import androidx.annotation.VisibleForTesting;
 import androidx.appcompat.app.AlertDialog;
 import androidx.preference.EditTextPreference;
@@ -50,7 +49,6 @@
 import androidx.preference.Preference.OnPreferenceChangeListener;
 import androidx.preference.SwitchPreference;
 
-import com.android.internal.telephony.PhoneConstants;
 import com.android.internal.util.ArrayUtils;
 import com.android.settings.R;
 import com.android.settings.SettingsPreferenceFragment;
@@ -60,6 +58,7 @@
 import java.util.Arrays;
 import java.util.HashSet;
 import java.util.List;
+import java.util.Objects;
 import java.util.Set;
 
 public class ApnEditor extends SettingsPreferenceFragment
@@ -131,7 +130,7 @@
 
     private boolean mNewApn;
     private int mSubId;
-    private TelephonyManager mTelephonyManager;
+    private ProxySubscriptionManager mProxySubscriptionMgr;
     private int mBearerInitialVal = 0;
     private String mMvnoTypeStr;
     private String mMvnoMatchDataStr;
@@ -139,11 +138,64 @@
     String[] mReadOnlyApnTypes;
     @VisibleForTesting
     String[] mDefaultApnTypes;
+    @VisibleForTesting
+    String mDefaultApnProtocol;
+    @VisibleForTesting
+    String mDefaultApnRoamingProtocol;
     private String[] mReadOnlyApnFields;
     private boolean mReadOnlyApn;
     private Uri mCarrierUri;
 
     /**
+     * APN types for data connections.  These are usage categories for an APN
+     * entry.  One APN entry may support multiple APN types, eg, a single APN
+     * may service regular internet traffic ("default") as well as MMS-specific
+     * connections.<br/>
+     * APN_TYPE_ALL is a special type to indicate that this APN entry can
+     * service all data connections.
+     */
+    public static final String APN_TYPE_ALL = "*";
+    /** APN type for default data traffic */
+    public static final String APN_TYPE_DEFAULT = "default";
+    /** APN type for MMS traffic */
+    public static final String APN_TYPE_MMS = "mms";
+    /** APN type for SUPL assisted GPS */
+    public static final String APN_TYPE_SUPL = "supl";
+    /** APN type for DUN traffic */
+    public static final String APN_TYPE_DUN = "dun";
+    /** APN type for HiPri traffic */
+    public static final String APN_TYPE_HIPRI = "hipri";
+    /** APN type for FOTA */
+    public static final String APN_TYPE_FOTA = "fota";
+    /** APN type for IMS */
+    public static final String APN_TYPE_IMS = "ims";
+    /** APN type for CBS */
+    public static final String APN_TYPE_CBS = "cbs";
+    /** APN type for IA Initial Attach APN */
+    public static final String APN_TYPE_IA = "ia";
+    /** APN type for Emergency PDN. This is not an IA apn, but is used
+     * for access to carrier services in an emergency call situation. */
+    public static final String APN_TYPE_EMERGENCY = "emergency";
+    /** APN type for Mission Critical Services */
+    public static final String APN_TYPE_MCX = "mcx";
+    /** APN type for XCAP */
+    public static final String APN_TYPE_XCAP = "xcap";
+    /** Array of all APN types */
+    public static final String[] APN_TYPES = {APN_TYPE_DEFAULT,
+            APN_TYPE_MMS,
+            APN_TYPE_SUPL,
+            APN_TYPE_DUN,
+            APN_TYPE_HIPRI,
+            APN_TYPE_FOTA,
+            APN_TYPE_IMS,
+            APN_TYPE_CBS,
+            APN_TYPE_IA,
+            APN_TYPE_EMERGENCY,
+            APN_TYPE_MCX,
+            APN_TYPE_XCAP,
+    };
+
+    /**
      * Standard projection for the interesting columns of a normal note.
      */
     private static final String[] sProjection = new String[] {
@@ -194,12 +246,14 @@
     private static final int AUTH_TYPE_INDEX = 14;
     @VisibleForTesting
     static final int TYPE_INDEX = 15;
-    private static final int PROTOCOL_INDEX = 16;
+    @VisibleForTesting
+    static final int PROTOCOL_INDEX = 16;
     @VisibleForTesting
     static final int CARRIER_ENABLED_INDEX = 17;
     private static final int BEARER_INDEX = 18;
     private static final int BEARER_BITMASK_INDEX = 19;
-    private static final int ROAMING_PROTOCOL_INDEX = 20;
+    @VisibleForTesting
+    static final int ROAMING_PROTOCOL_INDEX = 20;
     private static final int MVNO_TYPE_INDEX = 21;
     private static final int MVNO_MATCH_DATA_INDEX = 22;
     private static final int EDITED_INDEX = 23;
@@ -209,6 +263,11 @@
     public void onCreate(Bundle icicle) {
         super.onCreate(icicle);
 
+        // enable ProxySubscriptionMgr with Lifecycle support for all controllers
+        // live within this fragment
+        mProxySubscriptionMgr = ProxySubscriptionManager.getInstance(getContext());
+        mProxySubscriptionMgr.setLifecycle(getLifecycle());
+
         addPreferencesFromResource(R.xml.apn_editor);
 
         sNotSet = getResources().getString(R.string.apn_not_set);
@@ -246,10 +305,10 @@
         mReadOnlyApnTypes = null;
         mReadOnlyApnFields = null;
 
-        CarrierConfigManager configManager = (CarrierConfigManager)
+        final CarrierConfigManager configManager = (CarrierConfigManager)
                 getSystemService(Context.CARRIER_CONFIG_SERVICE);
         if (configManager != null) {
-            PersistableBundle b = configManager.getConfigForSubId(mSubId);
+            final PersistableBundle b = configManager.getConfigForSubId(mSubId);
             if (b != null) {
                 mReadOnlyApnTypes = b.getStringArray(
                         CarrierConfigManager.KEY_READ_ONLY_APN_TYPES_STRING_ARRAY);
@@ -265,6 +324,19 @@
                 if (!ArrayUtils.isEmpty(mDefaultApnTypes)) {
                     Log.d(TAG, "onCreate: default apn types: " + Arrays.toString(mDefaultApnTypes));
                 }
+
+                mDefaultApnProtocol = b.getString(
+                        CarrierConfigManager.Apn.KEY_SETTINGS_DEFAULT_PROTOCOL_STRING);
+                if (!TextUtils.isEmpty(mDefaultApnProtocol)) {
+                    Log.d(TAG, "onCreate: default apn protocol: " + mDefaultApnProtocol);
+                }
+
+                mDefaultApnRoamingProtocol = b.getString(
+                        CarrierConfigManager.Apn.KEY_SETTINGS_DEFAULT_ROAMING_PROTOCOL_STRING);
+                if (!TextUtils.isEmpty(mDefaultApnRoamingProtocol)) {
+                    Log.d(TAG, "onCreate: default apn roaming protocol: "
+                            + mDefaultApnRoamingProtocol);
+                }
             }
         }
 
@@ -300,10 +372,8 @@
             mApnData = new ApnData(sProjection.length);
         }
 
-        mTelephonyManager = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);
-
-        boolean isUserEdited = mApnData.getInteger(EDITED_INDEX, Telephony.Carriers.USER_EDITED)
-                == Telephony.Carriers.USER_EDITED;
+        final boolean isUserEdited = mApnData.getInteger(EDITED_INDEX,
+                Telephony.Carriers.USER_EDITED) == Telephony.Carriers.USER_EDITED;
 
         Log.d(TAG, "onCreate: EDITED " + isUserEdited);
         // if it's not a USER_EDITED apn, check if it's read-only
@@ -319,8 +389,12 @@
         for (int i = 0; i < getPreferenceScreen().getPreferenceCount(); i++) {
             getPreferenceScreen().getPreference(i).setOnPreferenceChangeListener(this);
         }
+    }
 
-        fillUI(icicle == null);
+    @Override
+    public void onViewStateRestored(@Nullable Bundle savedInstanceState) {
+        super.onViewStateRestored(savedInstanceState);
+        fillUI(savedInstanceState == null);
     }
 
     @VisibleForTesting
@@ -353,12 +427,12 @@
             return false;
         }
 
-        List apnList = Arrays.asList(apnTypes);
-        if (apnList.contains(PhoneConstants.APN_TYPE_ALL)) {
-            Log.d(TAG, "hasAllApns: true because apnList.contains(PhoneConstants.APN_TYPE_ALL)");
+        final List apnList = Arrays.asList(apnTypes);
+        if (apnList.contains(APN_TYPE_ALL)) {
+            Log.d(TAG, "hasAllApns: true because apnList.contains(APN_TYPE_ALL)");
             return true;
         }
-        for (String apn : PhoneConstants.APN_TYPES) {
+        for (String apn : APN_TYPES) {
             if (!apnList.contains(apn)) {
                 return false;
             }
@@ -384,8 +458,8 @@
             return true;
         }
 
-        List apnTypesList1 = Arrays.asList(apnTypesArray1);
-        String[] apnTypesArray2 = apnTypes2.split(",");
+        final List apnTypesList1 = Arrays.asList(apnTypesArray1);
+        final String[] apnTypesArray2 = apnTypes2.split(",");
 
         for (String apn : apnTypesArray2) {
             if (apnTypesList1.contains(apn.trim())) {
@@ -457,7 +531,7 @@
      */
     private void disableFields(String[] apnFields) {
         for (String apnField : apnFields) {
-            Preference preference = getPreferenceFromFieldName(apnField);
+            final Preference preference = getPreferenceFromFieldName(apnField);
             if (preference != null) {
                 preference.setEnabled(false);
             }
@@ -513,13 +587,15 @@
             mMnc.setText(mApnData.getString(MNC_INDEX));
             mApnType.setText(mApnData.getString(TYPE_INDEX));
             if (mNewApn) {
-                String numeric = mTelephonyManager.getSimOperator(mSubId);
-                // MCC is first 3 chars and then in 2 - 3 chars of MNC
-                if (numeric != null && numeric.length() > 4) {
-                    // Country code
-                    String mcc = numeric.substring(0, 3);
-                    // Network code
-                    String mnc = numeric.substring(3);
+                final SubscriptionInfo subInfo =
+                        mProxySubscriptionMgr.getAccessibleSubscriptionInfo(mSubId);
+
+                // Country code
+                final String mcc = (subInfo == null) ? null : subInfo.getMccString();
+                // Network code
+                final String mnc = (subInfo == null) ? null : subInfo.getMncString();
+
+                if ((!TextUtils.isEmpty(mcc)) && (!TextUtils.isEmpty(mcc))) {
                     // Auto populate MNC and MCC for new entries, based on what SIM reports
                     mMcc.setText(mcc);
                     mMnc.setText(mnc);
@@ -527,7 +603,7 @@
                     mCurMcc = mcc;
                 }
             }
-            int authVal = mApnData.getInteger(AUTH_TYPE_INDEX, -1);
+            final int authVal = mApnData.getInteger(AUTH_TYPE_INDEX, -1);
             if (authVal != -1) {
                 mAuthType.setValueIndex(authVal);
             } else {
@@ -539,7 +615,7 @@
             mCarrierEnabled.setChecked(mApnData.getInteger(CARRIER_ENABLED_INDEX, 1) == 1);
             mBearerInitialVal = mApnData.getInteger(BEARER_INDEX, 0);
 
-            HashSet<String> bearers = new HashSet<String>();
+            final HashSet<String> bearers = new HashSet<String>();
             int bearerBitmask = mApnData.getInteger(BEARER_BITMASK_INDEX, 0);
             if (bearerBitmask == 0) {
                 if (mBearerInitialVal == 0) {
@@ -585,12 +661,12 @@
         mMnc.setSummary(formatInteger(checkNull(mMnc.getText())));
         mApnType.setSummary(checkNull(mApnType.getText()));
 
-        String authVal = mAuthType.getValue();
+        final String authVal = mAuthType.getValue();
         if (authVal != null) {
-            int authValIndex = Integer.parseInt(authVal);
+            final int authValIndex = Integer.parseInt(authVal);
             mAuthType.setValueIndex(authValIndex);
 
-            String[] values = getResources().getStringArray(R.array.apn_auth_entries);
+            final String[] values = getResources().getStringArray(R.array.apn_auth_entries);
             mAuthType.setSummary(values[authValIndex]);
         } else {
             mAuthType.setSummary(sNotSet);
@@ -605,7 +681,8 @@
                 checkNull(mvnoDescription(mMvnoType.getValue())));
         mMvnoMatchData.setSummary(checkNull(mMvnoMatchData.getText()));
         // allow user to edit carrier_enabled for some APN
-        boolean ceEditable = getResources().getBoolean(R.bool.config_allow_edit_carrier_enabled);
+        final boolean ceEditable = getResources().getBoolean(
+                R.bool.config_allow_edit_carrier_enabled);
         if (ceEditable) {
             mCarrierEnabled.setEnabled(true);
         } else {
@@ -619,11 +696,11 @@
      * return null.
      */
     private String protocolDescription(String raw, ListPreference protocol) {
-        int protocolIndex = protocol.findIndexOfValue(raw);
+        final int protocolIndex = protocol.findIndexOfValue(raw);
         if (protocolIndex == -1) {
             return null;
         } else {
-            String[] values = getResources().getStringArray(R.array.apn_protocol_entries);
+            final String[] values = getResources().getStringArray(R.array.apn_protocol_entries);
             try {
                 return values[protocolIndex];
             } catch (ArrayIndexOutOfBoundsException e) {
@@ -633,8 +710,8 @@
     }
 
     private String bearerMultiDescription(Set<String> raw) {
-        String[] values = getResources().getStringArray(R.array.bearer_entries);
-        StringBuilder retVal = new StringBuilder();
+        final String[] values = getResources().getStringArray(R.array.bearer_entries);
+        final StringBuilder retVal = new StringBuilder();
         boolean first = true;
         for (String bearer : raw) {
             int bearerIndex = mBearerMulti.findIndexOfValue(bearer);
@@ -649,7 +726,7 @@
                 // ignore
             }
         }
-        String val = retVal.toString();
+        final String val = retVal.toString();
         if (!TextUtils.isEmpty(val)) {
             return val;
         }
@@ -657,26 +734,45 @@
     }
 
     private String mvnoDescription(String newValue) {
-        int mvnoIndex = mMvnoType.findIndexOfValue(newValue);
-        String oldValue = mMvnoType.getValue();
+        final int mvnoIndex = mMvnoType.findIndexOfValue(newValue);
+        final String oldValue = mMvnoType.getValue();
 
         if (mvnoIndex == -1) {
             return null;
         } else {
-            String[] values = getResources().getStringArray(R.array.mvno_type_entries);
-            boolean mvnoMatchDataUneditable =
+            final String[] values = getResources().getStringArray(R.array.mvno_type_entries);
+            final boolean mvnoMatchDataUneditable =
                     mReadOnlyApn || (mReadOnlyApnFields != null
                             && Arrays.asList(mReadOnlyApnFields)
                             .contains(Telephony.Carriers.MVNO_MATCH_DATA));
             mMvnoMatchData.setEnabled(!mvnoMatchDataUneditable && mvnoIndex != 0);
             if (newValue != null && newValue.equals(oldValue) == false) {
                 if (values[mvnoIndex].equals("SPN")) {
-                    mMvnoMatchData.setText(mTelephonyManager.getSimOperatorName());
+                    TelephonyManager telephonyManager = (TelephonyManager)
+                            getContext().getSystemService(TelephonyManager.class);
+                    final TelephonyManager telephonyManagerForSubId =
+                            telephonyManager.createForSubscriptionId(mSubId);
+                    if (telephonyManagerForSubId != null) {
+                        telephonyManager = telephonyManagerForSubId;
+                    }
+                    mMvnoMatchData.setText(telephonyManager.getSimOperatorName());
                 } else if (values[mvnoIndex].equals("IMSI")) {
-                    String numeric = mTelephonyManager.getSimOperator(mSubId);
-                    mMvnoMatchData.setText(numeric + "x");
+                    final SubscriptionInfo subInfo =
+                            mProxySubscriptionMgr.getAccessibleSubscriptionInfo(mSubId);
+                    final String mcc = (subInfo == null) ? "" :
+                            Objects.toString(subInfo.getMccString(), "");
+                    final String mnc = (subInfo == null) ? "" :
+                            Objects.toString(subInfo.getMncString(), "");
+                    mMvnoMatchData.setText(mcc + mnc + "x");
                 } else if (values[mvnoIndex].equals("GID")) {
-                    mMvnoMatchData.setText(mTelephonyManager.getGroupIdLevel1());
+                    TelephonyManager telephonyManager = (TelephonyManager)
+                            getContext().getSystemService(TelephonyManager.class);
+                    final TelephonyManager telephonyManagerForSubId =
+                            telephonyManager.createForSubscriptionId(mSubId);
+                    if (telephonyManagerForSubId != null) {
+                        telephonyManager = telephonyManagerForSubId;
+                    }
+                    mMvnoMatchData.setText(telephonyManager.getGroupIdLevel1());
                 }
             }
 
@@ -692,37 +788,37 @@
         String key = preference.getKey();
         if (KEY_AUTH_TYPE.equals(key)) {
             try {
-                int index = Integer.parseInt((String) newValue);
+                final int index = Integer.parseInt((String) newValue);
                 mAuthType.setValueIndex(index);
 
-                String[] values = getResources().getStringArray(R.array.apn_auth_entries);
+                final String[] values = getResources().getStringArray(R.array.apn_auth_entries);
                 mAuthType.setSummary(values[index]);
             } catch (NumberFormatException e) {
                 return false;
             }
         } else if (KEY_PROTOCOL.equals(key)) {
-            String protocol = protocolDescription((String) newValue, mProtocol);
+            final String protocol = protocolDescription((String) newValue, mProtocol);
             if (protocol == null) {
                 return false;
             }
             mProtocol.setSummary(protocol);
             mProtocol.setValue((String) newValue);
         } else if (KEY_ROAMING_PROTOCOL.equals(key)) {
-            String protocol = protocolDescription((String) newValue, mRoamingProtocol);
+            final String protocol = protocolDescription((String) newValue, mRoamingProtocol);
             if (protocol == null) {
                 return false;
             }
             mRoamingProtocol.setSummary(protocol);
             mRoamingProtocol.setValue((String) newValue);
         } else if (KEY_BEARER_MULTI.equals(key)) {
-            String bearer = bearerMultiDescription((Set<String>) newValue);
+            final String bearer = bearerMultiDescription((Set<String>) newValue);
             if (bearer == null) {
                 return false;
             }
             mBearerMulti.setValues((Set<String>) newValue);
             mBearerMulti.setSummary(bearer);
         } else if (KEY_MVNO_TYPE.equals(key)) {
-            String mvno = mvnoDescription((String) newValue);
+            final String mvno = mvnoDescription((String) newValue);
             if (mvno == null) {
                 return false;
             }
@@ -815,14 +911,14 @@
      */
     boolean setStringValueAndCheckIfDiff(
             ContentValues cv, String key, String value, boolean assumeDiff, int index) {
-        String valueFromLocalCache = mApnData.getString(index);
+        final String valueFromLocalCache = mApnData.getString(index);
         if (VDBG) {
             Log.d(TAG, "setStringValueAndCheckIfDiff: assumeDiff: " + assumeDiff
                     + " key: " + key
                     + " value: '" + value
                     + "' valueFromDb: '" + valueFromLocalCache + "'");
         }
-        boolean isDiff = assumeDiff
+        final boolean isDiff = assumeDiff
                 || !((TextUtils.isEmpty(value) && TextUtils.isEmpty(valueFromLocalCache))
                 || (value != null && value.equals(valueFromLocalCache)));
 
@@ -841,7 +937,7 @@
      */
     boolean setIntValueAndCheckIfDiff(
             ContentValues cv, String key, int value, boolean assumeDiff, int index) {
-        Integer valueFromLocalCache = mApnData.getInteger(index);
+        final Integer valueFromLocalCache = mApnData.getInteger(index);
         if (VDBG) {
             Log.d(TAG, "setIntValueAndCheckIfDiff: assumeDiff: " + assumeDiff
                     + " key: " + key
@@ -849,7 +945,7 @@
                     + "' valueFromDb: '" + valueFromLocalCache + "'");
         }
 
-        boolean isDiff = assumeDiff || value != valueFromLocalCache;
+        final boolean isDiff = assumeDiff || value != valueFromLocalCache;
         if (isDiff) {
             cv.put(key, value);
         }
@@ -871,18 +967,18 @@
             return true;
         }
 
-        String name = checkNotSet(mName.getText());
-        String apn = checkNotSet(mApn.getText());
-        String mcc = checkNotSet(mMcc.getText());
-        String mnc = checkNotSet(mMnc.getText());
+        final String name = checkNotSet(mName.getText());
+        final String apn = checkNotSet(mApn.getText());
+        final String mcc = checkNotSet(mMcc.getText());
+        final String mnc = checkNotSet(mMnc.getText());
 
-        String errorMsg = validateApnData();
+        final String errorMsg = validateApnData();
         if (errorMsg != null) {
             showError();
             return false;
         }
 
-        ContentValues values = new ContentValues();
+        final ContentValues values = new ContentValues();
         // call update() if it's a new APN. If not, check if any field differs from the db value;
         // if any diff is found update() should be called
         boolean callUpdate = mNewApn;
@@ -946,7 +1042,7 @@
                 callUpdate,
                 MMSC_INDEX);
 
-        String authVal = mAuthType.getValue();
+        final String authVal = mAuthType.getValue();
         if (authVal != null) {
             callUpdate = setIntValueAndCheckIfDiff(values,
                     Telephony.Carriers.AUTH_TYPE,
@@ -957,13 +1053,13 @@
 
         callUpdate = setStringValueAndCheckIfDiff(values,
                 Telephony.Carriers.PROTOCOL,
-                checkNotSet(mProtocol.getValue()),
+                getUserEnteredApnProtocol(mProtocol, mDefaultApnProtocol),
                 callUpdate,
                 PROTOCOL_INDEX);
 
         callUpdate = setStringValueAndCheckIfDiff(values,
                 Telephony.Carriers.ROAMING_PROTOCOL,
-                checkNotSet(mRoamingProtocol.getValue()),
+                getUserEnteredApnProtocol(mRoamingProtocol, mDefaultApnRoamingProtocol),
                 callUpdate,
                 ROAMING_PROTOCOL_INDEX);
 
@@ -993,14 +1089,14 @@
             }
         }
 
-        Set<String> bearerSet = mBearerMulti.getValues();
+        final Set<String> bearerSet = mBearerMulti.getValues();
         int bearerBitmask = 0;
         for (String bearer : bearerSet) {
             if (Integer.parseInt(bearer) == 0) {
                 bearerBitmask = 0;
                 break;
             } else {
-                bearerBitmask |= ServiceState.getBitmaskForTech(Integer.parseInt(bearer));
+                bearerBitmask |= getBitmaskForTech(Integer.parseInt(bearer));
             }
         }
         callUpdate = setIntValueAndCheckIfDiff(values,
@@ -1012,7 +1108,7 @@
         int bearerVal;
         if (bearerBitmask == 0 || mBearerInitialVal == 0) {
             bearerVal = 0;
-        } else if (ServiceState.bitmaskHasTech(bearerBitmask, mBearerInitialVal)) {
+        } else if (bitmaskHasTech(bearerBitmask, mBearerInitialVal)) {
             bearerVal = mBearerInitialVal;
         } else {
             // bearer field was being used but bitmask has changed now and does not include the
@@ -1081,10 +1177,10 @@
     String validateApnData() {
         String errorMsg = null;
 
-        String name = checkNotSet(mName.getText());
-        String apn = checkNotSet(mApn.getText());
-        String mcc = checkNotSet(mMcc.getText());
-        String mnc = checkNotSet(mMnc.getText());
+        final String name = checkNotSet(mName.getText());
+        final String apn = checkNotSet(mApn.getText());
+        final String mcc = checkNotSet(mMcc.getText());
+        final String mnc = checkNotSet(mMnc.getText());
 
         if (TextUtils.isEmpty(name)) {
             errorMsg = getResources().getString(R.string.error_name_empty);
@@ -1101,7 +1197,7 @@
             // those
             if (!ArrayUtils.isEmpty(mReadOnlyApnTypes)
                     && apnTypesMatch(mReadOnlyApnTypes, getUserEnteredApnType())) {
-                StringBuilder stringBuilder = new StringBuilder();
+                final StringBuilder stringBuilder = new StringBuilder();
                 for (String type : mReadOnlyApnTypes) {
                     stringBuilder.append(type).append(", ");
                     Log.d(TAG, "validateApnData: appending type: " + type);
@@ -1134,7 +1230,7 @@
         if (value == null || value.length() == 0) {
             return sNotSet;
         } else {
-            char[] password = new char[value.length()];
+            final char[] password = new char[value.length()];
             for (int i = 0; i < password.length; i++) {
                 password[i] = '*';
             }
@@ -1160,28 +1256,39 @@
     }
 
     @VisibleForTesting
+    String getUserEnteredApnProtocol(ListPreference preference, String defaultApnProtocol) {
+        // if user has not specified a protocol or enter empty type, map it just for default
+        final String userEnteredApnProtocol = checkNotSet(
+                ((preference == null) ? null : preference.getValue()));
+        if (TextUtils.isEmpty(userEnteredApnProtocol)) {
+            return defaultApnProtocol;
+        }
+        return userEnteredApnProtocol.trim();
+    }
+
+    @VisibleForTesting
     String getUserEnteredApnType() {
         // if user has not specified a type, map it to "ALL APN TYPES THAT ARE NOT READ-ONLY"
         // but if user enter empty type, map it just for default
         String userEnteredApnType = mApnType.getText();
         if (userEnteredApnType != null) userEnteredApnType = userEnteredApnType.trim();
         if ((TextUtils.isEmpty(userEnteredApnType)
-                || PhoneConstants.APN_TYPE_ALL.equals(userEnteredApnType))
+                || APN_TYPE_ALL.equals(userEnteredApnType))
                 && !ArrayUtils.isEmpty(mReadOnlyApnTypes)) {
-            String[] apnTypeList = PhoneConstants.APN_TYPES;
+            String[] apnTypeList = APN_TYPES;
             if (TextUtils.isEmpty(userEnteredApnType) && !ArrayUtils.isEmpty(mDefaultApnTypes)) {
                 apnTypeList = mDefaultApnTypes;
             }
 
-            StringBuilder editableApnTypes = new StringBuilder();
-            List<String> readOnlyApnTypes = Arrays.asList(mReadOnlyApnTypes);
+            final StringBuilder editableApnTypes = new StringBuilder();
+            final List<String> readOnlyApnTypes = Arrays.asList(mReadOnlyApnTypes);
             boolean first = true;
             for (String apnType : apnTypeList) {
                 // add APN type if it is not read-only and is not wild-cardable
                 if (!readOnlyApnTypes.contains(apnType)
-                        && !apnType.equals(PhoneConstants.APN_TYPE_IA)
-                        && !apnType.equals(PhoneConstants.APN_TYPE_EMERGENCY)
-                        && !apnType.equals(PhoneConstants.APN_TYPE_MCX)) {
+                        && !apnType.equals(APN_TYPE_IA)
+                        && !apnType.equals(APN_TYPE_EMERGENCY)
+                        && !apnType.equals(APN_TYPE_MCX)) {
                     if (first) {
                         first = false;
                     } else {
@@ -1201,14 +1308,14 @@
     public static class ErrorDialog extends InstrumentedDialogFragment {
 
         public static void showError(ApnEditor editor) {
-            ErrorDialog dialog = new ErrorDialog();
+            final ErrorDialog dialog = new ErrorDialog();
             dialog.setTargetFragment(editor, 0);
             dialog.show(editor.getFragmentManager(), "error");
         }
 
         @Override
         public Dialog onCreateDialog(Bundle savedInstanceState) {
-            String msg = ((ApnEditor) getTargetFragment()).validateApnData();
+            final String msg = ((ApnEditor) getTargetFragment()).validateApnData();
 
             return new AlertDialog.Builder(getContext())
                     .setTitle(R.string.error_title)
@@ -1296,7 +1403,7 @@
         }
 
         Integer getInteger(int index, Integer defaultValue) {
-            Integer val = getInteger(index);
+            final Integer val = getInteger(index);
             return val == null ? defaultValue : val;
         }
 
@@ -1304,4 +1411,20 @@
             return (String) mData[index];
         }
     }
+
+    private static int getBitmaskForTech(int radioTech) {
+        if (radioTech >= 1) {
+            return (1 << (radioTech - 1));
+        }
+        return 0;
+    }
+
+    private static boolean bitmaskHasTech(int bearerBitmask, int radioTech) {
+        if (bearerBitmask == 0) {
+            return true;
+        } else if (radioTech >= 1) {
+            return ((bearerBitmask & (1 << (radioTech - 1))) != 0);
+        }
+        return false;
+    }
 }
diff --git a/src/com/android/settings/network/ApnPreference.java b/src/com/android/settings/network/ApnPreference.java
index f039539..2ec83d1 100755
--- a/src/com/android/settings/network/ApnPreference.java
+++ b/src/com/android/settings/network/ApnPreference.java
@@ -61,13 +61,13 @@
     public void onBindViewHolder(PreferenceViewHolder view) {
         super.onBindViewHolder(view);
 
-        View widget = view.findViewById(R.id.apn_radiobutton);
+        final View widget = view.findViewById(R.id.apn_radiobutton);
         if ((widget != null) && widget instanceof RadioButton) {
-            RadioButton rb = (RadioButton) widget;
+            final RadioButton rb = (RadioButton) widget;
             if (mSelectable) {
                 rb.setOnCheckedChangeListener(this);
 
-                boolean isChecked = getKey().equals(mSelectedKey);
+                final boolean isChecked = getKey().equals(mSelectedKey);
                 if (isChecked) {
                     mCurrentChecked = rb;
                     mSelectedKey = getKey();
@@ -113,17 +113,18 @@
     @Override
     protected void onClick() {
         super.onClick();
-        Context context = getContext();
+        final Context context = getContext();
         if (context != null) {
             if (mHideDetails) {
                 Toast.makeText(context, context.getString(
                         R.string.cannot_change_apn_toast), Toast.LENGTH_LONG).show();
                 return;
             }
-            int pos = Integer.parseInt(getKey());
-            Uri url = ContentUris.withAppendedId(Telephony.Carriers.CONTENT_URI, pos);
-            Intent editIntent = new Intent(Intent.ACTION_EDIT, url);
+            final int pos = Integer.parseInt(getKey());
+            final Uri url = ContentUris.withAppendedId(Telephony.Carriers.CONTENT_URI, pos);
+            final Intent editIntent = new Intent(Intent.ACTION_EDIT, url);
             editIntent.putExtra(ApnSettings.SUB_ID, mSubId);
+            editIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
             context.startActivity(editIntent);
         }
     }
diff --git a/src/com/android/settings/network/ApnSettings.java b/src/com/android/settings/network/ApnSettings.java
index f0603bb..f7617fc 100755
--- a/src/com/android/settings/network/ApnSettings.java
+++ b/src/com/android/settings/network/ApnSettings.java
@@ -38,6 +38,8 @@
 import android.os.UserManager;
 import android.provider.Telephony;
 import android.telephony.CarrierConfigManager;
+import android.telephony.PhoneStateListener;
+import android.telephony.PreciseDataConnectionState;
 import android.telephony.SubscriptionInfo;
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
@@ -52,9 +54,6 @@
 import androidx.preference.Preference;
 import androidx.preference.PreferenceGroup;
 
-import com.android.internal.telephony.PhoneConstants;
-import com.android.internal.telephony.TelephonyIntents;
-import com.android.internal.telephony.uicc.UiccController;
 import com.android.settings.R;
 import com.android.settings.RestrictedSettingsFragment;
 import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
@@ -108,12 +107,13 @@
     private static boolean mRestoreDefaultApnMode;
 
     private UserManager mUserManager;
+    private TelephonyManager mTelephonyManager;
     private RestoreApnUiHandler mRestoreApnUiHandler;
     private RestoreApnProcessHandler mRestoreApnProcessHandler;
     private HandlerThread mRestoreDefaultApnThread;
     private SubscriptionInfo mSubscriptionInfo;
     private int mSubId;
-    private UiccController mUiccController;
+    private int mPhoneId;
     private String mMvnoType;
     private String mMvnoMatchData;
 
@@ -131,44 +131,59 @@
         super(UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS);
     }
 
-    private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
+    private final PhoneStateListener mPhoneStateListener = new PhoneStateListener() {
         @Override
-        public void onReceive(Context context, Intent intent) {
-            if (intent.getAction().equals(
-                    TelephonyIntents.ACTION_ANY_DATA_CONNECTION_STATE_CHANGED)) {
-                PhoneConstants.DataState state = getMobileDataState(intent);
-                switch (state) {
-                case CONNECTED:
-                    if (!mRestoreDefaultApnMode) {
-                        fillList();
-                    } else {
-                        showDialog(DIALOG_RESTORE_DEFAULTAPN);
-                    }
-                    break;
-                }
-            } else if(intent.getAction().equals(
-                    TelephonyManager.ACTION_SUBSCRIPTION_CARRIER_IDENTITY_CHANGED)) {
+        public void onPreciseDataConnectionStateChanged(
+                PreciseDataConnectionState dataConnectionState) {
+            if (dataConnectionState.getState() == TelephonyManager.DATA_CONNECTED) {
                 if (!mRestoreDefaultApnMode) {
-                    int extraSubId = intent.getIntExtra(TelephonyManager.EXTRA_SUBSCRIPTION_ID,
-                            SubscriptionManager.INVALID_SUBSCRIPTION_ID);
-                    if (extraSubId != mSubId) {
-                        // subscription has changed
-                        mSubId = extraSubId;
-                        mSubscriptionInfo = getSubscriptionInfo(mSubId);
-                    }
                     fillList();
+                } else {
+                    showDialog(DIALOG_RESTORE_DEFAULTAPN);
                 }
             }
         }
     };
 
-    private static PhoneConstants.DataState getMobileDataState(Intent intent) {
-        String str = intent.getStringExtra(PhoneConstants.STATE_KEY);
-        if (str != null) {
-            return Enum.valueOf(PhoneConstants.DataState.class, str);
-        } else {
-            return PhoneConstants.DataState.DISCONNECTED;
+    private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
+        @Override
+        public void onReceive(Context context, Intent intent) {
+            if (intent.getAction().equals(
+                    TelephonyManager.ACTION_SUBSCRIPTION_CARRIER_IDENTITY_CHANGED)) {
+                if (mRestoreDefaultApnMode) {
+                    return;
+                }
+                final int extraSubId = intent.getIntExtra(TelephonyManager.EXTRA_SUBSCRIPTION_ID,
+                        SubscriptionManager.INVALID_SUBSCRIPTION_ID);
+                if (SubscriptionManager.isValidSubscriptionId(extraSubId)
+                        && mPhoneId == SubscriptionUtil.getPhoneId(context, extraSubId)
+                        && extraSubId != mSubId) {
+                    // subscription has changed
+                    mSubId = extraSubId;
+                    mSubscriptionInfo = getSubscriptionInfo(mSubId);
+                    restartPhoneStateListener(mSubId);
+                }
+                fillList();
+            }
         }
+    };
+
+    private void restartPhoneStateListener(int subId) {
+        if (mRestoreDefaultApnMode) {
+            return;
+        }
+
+        final TelephonyManager updatedTelephonyManager =
+                mTelephonyManager.createForSubscriptionId(subId);
+
+        // restart monitoring when subscription has been changed
+        mTelephonyManager.listen(mPhoneStateListener,
+                PhoneStateListener.LISTEN_NONE);
+
+        mTelephonyManager = updatedTelephonyManager;
+
+        mTelephonyManager.listen(mPhoneStateListener,
+                PhoneStateListener.LISTEN_PRECISE_DATA_CONNECTION_STATE);
     }
 
     @Override
@@ -182,23 +197,22 @@
         final Activity activity = getActivity();
         mSubId = activity.getIntent().getIntExtra(SUB_ID,
                 SubscriptionManager.INVALID_SUBSCRIPTION_ID);
-
+        mPhoneId = SubscriptionUtil.getPhoneId(activity, mSubId);
         mIntentFilter = new IntentFilter(
-                TelephonyIntents.ACTION_ANY_DATA_CONNECTION_STATE_CHANGED);
-        mIntentFilter.addAction(TelephonyManager.ACTION_SUBSCRIPTION_CARRIER_IDENTITY_CHANGED);
+                TelephonyManager.ACTION_SUBSCRIPTION_CARRIER_IDENTITY_CHANGED);
 
         setIfOnlyAvailableForAdmins(true);
 
         mSubscriptionInfo = getSubscriptionInfo(mSubId);
-        mUiccController = UiccController.getInstance();
+        mTelephonyManager = activity.getSystemService(TelephonyManager.class);
 
-        CarrierConfigManager configManager = (CarrierConfigManager)
+        final CarrierConfigManager configManager = (CarrierConfigManager)
                 getSystemService(Context.CARRIER_CONFIG_SERVICE);
-        PersistableBundle b = configManager.getConfigForSubId(mSubId);
+        final PersistableBundle b = configManager.getConfigForSubId(mSubId);
         mHideImsApn = b.getBoolean(CarrierConfigManager.KEY_HIDE_IMS_APN_BOOL);
         mAllowAddingApns = b.getBoolean(CarrierConfigManager.KEY_ALLOW_ADDING_APNS_BOOL);
         if (mAllowAddingApns) {
-            String[] readOnlyApnTypes = b.getStringArray(
+            final String[] readOnlyApnTypes = b.getStringArray(
                     CarrierConfigManager.KEY_READ_ONLY_APN_TYPES_STRING_ARRAY);
             // if no apn type can be edited, do not allow adding APNs
             if (ApnEditor.hasAllApns(readOnlyApnTypes)) {
@@ -235,6 +249,8 @@
 
         getActivity().registerReceiver(mReceiver, mIntentFilter);
 
+        restartPhoneStateListener(mSubId);
+
         if (!mRestoreDefaultApnMode) {
             fillList();
         }
@@ -249,6 +265,9 @@
         }
 
         getActivity().unregisterReceiver(mReceiver);
+
+        mTelephonyManager.listen(mPhoneStateListener,
+                PhoneStateListener.LISTEN_NONE);
     }
 
     @Override
@@ -280,36 +299,37 @@
                 : SubscriptionManager.INVALID_SUBSCRIPTION_ID;
         final Uri simApnUri = Uri.withAppendedPath(Telephony.Carriers.SIM_APN_URI,
                 String.valueOf(subId));
-        StringBuilder where = new StringBuilder("NOT (type='ia' AND (apn=\"\" OR apn IS NULL)) AND "
+        final StringBuilder where =
+                new StringBuilder("NOT (type='ia' AND (apn=\"\" OR apn IS NULL)) AND "
                 + "user_visible!=0");
 
         if (mHideImsApn) {
             where.append(" AND NOT (type='ims')");
         }
 
-        Cursor cursor = getContentResolver().query(simApnUri,
+        final Cursor cursor = getContentResolver().query(simApnUri,
                 CARRIERS_PROJECTION, where.toString(), null,
                 Telephony.Carriers.DEFAULT_SORT_ORDER);
 
         if (cursor != null) {
-            PreferenceGroup apnPrefList = (PreferenceGroup) findPreference("apn_list");
+            final PreferenceGroup apnPrefList = (PreferenceGroup) findPreference("apn_list");
             apnPrefList.removeAll();
 
-            ArrayList<ApnPreference> apnList = new ArrayList<ApnPreference>();
-            ArrayList<ApnPreference> mmsApnList = new ArrayList<ApnPreference>();
+            final ArrayList<ApnPreference> apnList = new ArrayList<ApnPreference>();
+            final ArrayList<ApnPreference> mmsApnList = new ArrayList<ApnPreference>();
 
             mSelectedKey = getSelectedApnKey();
             cursor.moveToFirst();
             while (!cursor.isAfterLast()) {
-                String name = cursor.getString(NAME_INDEX);
-                String apn = cursor.getString(APN_INDEX);
-                String key = cursor.getString(ID_INDEX);
-                String type = cursor.getString(TYPES_INDEX);
-                int edited = cursor.getInt(EDITED_INDEX);
+                final String name = cursor.getString(NAME_INDEX);
+                final String apn = cursor.getString(APN_INDEX);
+                final String key = cursor.getString(ID_INDEX);
+                final String type = cursor.getString(TYPES_INDEX);
+                final int edited = cursor.getInt(EDITED_INDEX);
                 mMvnoType = cursor.getString(MVNO_TYPE_INDEX);
                 mMvnoMatchData = cursor.getString(MVNO_MATCH_DATA_INDEX);
 
-                ApnPreference pref = new ApnPreference(getPrefContext());
+                final ApnPreference pref = new ApnPreference(getPrefContext());
 
                 pref.setKey(key);
                 pref.setTitle(name);
@@ -322,7 +342,7 @@
                     pref.setSummary(apn);
                 }
 
-                boolean selectable = ((type == null) || !type.equals("mms"));
+                final boolean selectable = ((type == null) || !type.equals("mms"));
                 pref.setSelectable(selectable);
                 if (selectable) {
                     if ((mSelectedKey != null) && mSelectedKey.equals(key)) {
@@ -377,10 +397,11 @@
     }
 
     private void addNewApn() {
-        Intent intent = new Intent(Intent.ACTION_INSERT, Telephony.Carriers.CONTENT_URI);
-        int subId = mSubscriptionInfo != null ? mSubscriptionInfo.getSubscriptionId()
+        final Intent intent = new Intent(Intent.ACTION_INSERT, Telephony.Carriers.CONTENT_URI);
+        final int subId = mSubscriptionInfo != null ? mSubscriptionInfo.getSubscriptionId()
                 : SubscriptionManager.INVALID_SUBSCRIPTION_ID;
         intent.putExtra(SUB_ID, subId);
+        intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
         if (!TextUtils.isEmpty(mMvnoType) && !TextUtils.isEmpty(mMvnoMatchData)) {
             intent.putExtra(MVNO_TYPE, mMvnoType);
             intent.putExtra(MVNO_MATCH_DATA, mMvnoMatchData);
@@ -402,9 +423,9 @@
 
     private void setSelectedApnKey(String key) {
         mSelectedKey = key;
-        ContentResolver resolver = getContentResolver();
+        final ContentResolver resolver = getContentResolver();
 
-        ContentValues values = new ContentValues();
+        final ContentValues values = new ContentValues();
         values.put(APN_ID, mSelectedKey);
         resolver.update(getUriForCurrSubId(PREFERAPN_URI), values, null, null);
     }
@@ -412,7 +433,7 @@
     private String getSelectedApnKey() {
         String key = null;
 
-        Cursor cursor = getContentResolver().query(getUriForCurrSubId(PREFERAPN_URI),
+        final Cursor cursor = getContentResolver().query(getUriForCurrSubId(PREFERAPN_URI),
                 new String[] {"_id"}, null, null, Telephony.Carriers.DEFAULT_SORT_ORDER);
         if (cursor.getCount() > 0) {
             cursor.moveToFirst();
@@ -446,7 +467,7 @@
 
     // Append subId to the Uri
     private Uri getUriForCurrSubId(Uri uri) {
-        int subId = mSubscriptionInfo != null ? mSubscriptionInfo.getSubscriptionId()
+        final int subId = mSubscriptionInfo != null ? mSubscriptionInfo.getSubscriptionId()
                 : SubscriptionManager.INVALID_SUBSCRIPTION_ID;
         if (SubscriptionManager.isValidSubscriptionId(subId)) {
             return Uri.withAppendedPath(uri, "subId/" + String.valueOf(subId));
@@ -460,7 +481,7 @@
         public void handleMessage(Message msg) {
             switch (msg.what) {
                 case EVENT_RESTORE_DEFAULTAPN_COMPLETE:
-                    Activity activity = getActivity();
+                    final Activity activity = getActivity();
                     if (activity == null) {
                         mRestoreDefaultApnMode = false;
                         return;
@@ -491,7 +512,7 @@
         public void handleMessage(Message msg) {
             switch (msg.what) {
                 case EVENT_RESTORE_DEFAULTAPN_START:
-                    ContentResolver resolver = getContentResolver();
+                    final ContentResolver resolver = getContentResolver();
                     resolver.delete(getUriForCurrSubId(DEFAULTAPN_URI), null, null);
                     mRestoreApnUiHandler
                         .sendEmptyMessage(EVENT_RESTORE_DEFAULTAPN_COMPLETE);
@@ -503,7 +524,7 @@
     @Override
     public Dialog onCreateDialog(int id) {
         if (id == DIALOG_RESTORE_DEFAULTAPN) {
-            ProgressDialog dialog = new ProgressDialog(getActivity()) {
+            final ProgressDialog dialog = new ProgressDialog(getActivity()) {
                 public boolean onTouchEvent(MotionEvent event) {
                     return true;
                 }
diff --git a/src/com/android/settings/network/BluetoothTetherPreferenceController.java b/src/com/android/settings/network/BluetoothTetherPreferenceController.java
new file mode 100644
index 0000000..480cd26
--- /dev/null
+++ b/src/com/android/settings/network/BluetoothTetherPreferenceController.java
@@ -0,0 +1,154 @@
+/*
+ * 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.network;
+
+import android.bluetooth.BluetoothAdapter;
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.content.SharedPreferences;
+import android.net.ConnectivityManager;
+import android.text.TextUtils;
+import android.util.Log;
+
+import androidx.lifecycle.Lifecycle;
+import androidx.lifecycle.LifecycleObserver;
+import androidx.lifecycle.OnLifecycleEvent;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.core.TogglePreferenceController;
+
+import com.google.common.annotations.VisibleForTesting;
+
+/**
+ * This controller helps to manage the switch state and visibility of bluetooth tether switch
+ * preference. It stores preference value when preference changed.
+ */
+public final class BluetoothTetherPreferenceController extends TogglePreferenceController
+        implements LifecycleObserver, SharedPreferences.OnSharedPreferenceChangeListener {
+
+    private static final String TAG = "BluetoothTetherPreferenceController";
+    private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
+    private final ConnectivityManager mCm;
+    private int mBluetoothState;
+    private Preference mPreference;
+    private final SharedPreferences mSharedPreferences;
+
+    public BluetoothTetherPreferenceController(Context context, String prefKey) {
+        super(context, prefKey);
+        mCm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
+        mSharedPreferences =
+                context.getSharedPreferences(TetherEnabler.SHARED_PREF, Context.MODE_PRIVATE);
+    }
+
+    @Override
+    public boolean isChecked() {
+        return mSharedPreferences.getBoolean(mPreferenceKey, false);
+    }
+
+    @Override
+    public boolean setChecked(boolean isChecked) {
+        if (DEBUG) {
+            Log.d(TAG, "preference changing to " + isChecked);
+        }
+        final SharedPreferences.Editor editor = mSharedPreferences.edit();
+        editor.putBoolean(mPreferenceKey, isChecked);
+        editor.apply();
+        return true;
+    }
+
+    @OnLifecycleEvent(Lifecycle.Event.ON_START)
+    public void onStart() {
+        mBluetoothState = BluetoothAdapter.getDefaultAdapter().getState();
+        mContext.registerReceiver(mBluetoothChangeReceiver,
+                new IntentFilter(BluetoothAdapter.ACTION_STATE_CHANGED));
+    }
+
+    @OnLifecycleEvent(Lifecycle.Event.ON_RESUME)
+    public void onResume() {
+        mSharedPreferences.registerOnSharedPreferenceChangeListener(this);
+    }
+
+    @OnLifecycleEvent(Lifecycle.Event.ON_PAUSE)
+    public void onPause() {
+        mSharedPreferences.unregisterOnSharedPreferenceChangeListener(this);
+    }
+
+    @OnLifecycleEvent(Lifecycle.Event.ON_STOP)
+    public void onStop() {
+        mContext.unregisterReceiver(mBluetoothChangeReceiver);
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        mPreference = screen.findPreference(mPreferenceKey);
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        super.updateState(preference);
+        if (preference == null) {
+            return;
+        }
+
+        switch (mBluetoothState) {
+            case BluetoothAdapter.STATE_ON:
+            case BluetoothAdapter.STATE_OFF:
+                // fall through.
+            case BluetoothAdapter.ERROR:
+                preference.setEnabled(true);
+                break;
+            case BluetoothAdapter.STATE_TURNING_OFF:
+            case BluetoothAdapter.STATE_TURNING_ON:
+                // fall through.
+            default:
+                preference.setEnabled(false);
+        }
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        final String[] bluetoothRegexs = mCm.getTetherableBluetoothRegexs();
+        if (bluetoothRegexs == null || bluetoothRegexs.length == 0) {
+            return CONDITIONALLY_UNAVAILABLE;
+        } else {
+            return AVAILABLE;
+        }
+    }
+
+    @VisibleForTesting
+    final BroadcastReceiver mBluetoothChangeReceiver = new BroadcastReceiver() {
+        @Override
+        public void onReceive(Context context, Intent intent) {
+            if (TextUtils.equals(BluetoothAdapter.ACTION_STATE_CHANGED, intent.getAction())) {
+                mBluetoothState =
+                        intent.getIntExtra(BluetoothAdapter.EXTRA_STATE, BluetoothAdapter.ERROR);
+                updateState(mPreference);
+            }
+        }
+    };
+
+    @Override
+    public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
+        if (TextUtils.equals(mPreferenceKey, key)) {
+            updateState(mPreference);
+        }
+    }
+}
diff --git a/src/com/android/settings/network/GlobalSettingsChangeListener.java b/src/com/android/settings/network/GlobalSettingsChangeListener.java
new file mode 100644
index 0000000..4c58c60
--- /dev/null
+++ b/src/com/android/settings/network/GlobalSettingsChangeListener.java
@@ -0,0 +1,136 @@
+/*
+ * 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.network;
+
+import static androidx.lifecycle.Lifecycle.Event.ON_DESTROY;
+import static androidx.lifecycle.Lifecycle.Event.ON_START;
+import static androidx.lifecycle.Lifecycle.Event.ON_STOP;
+
+import android.content.Context;
+import android.database.ContentObserver;
+import android.net.Uri;
+import android.os.Handler;
+import android.os.Looper;
+import android.provider.Settings;
+
+import androidx.lifecycle.Lifecycle;
+import androidx.lifecycle.LifecycleObserver;
+import androidx.lifecycle.OnLifecycleEvent;
+
+import java.util.concurrent.atomic.AtomicBoolean;
+
+/**
+ * A listener for Settings.Global configuration change, with support of Lifecycle
+ */
+public abstract class GlobalSettingsChangeListener extends ContentObserver
+        implements LifecycleObserver, AutoCloseable {
+
+    /**
+     * Constructor
+     *
+     * @param context {@code Context} of this listener
+     * @param field field of Global Settings
+     */
+    public GlobalSettingsChangeListener(Context context, String field) {
+        this(Looper.getMainLooper(), context, field);
+    }
+
+    /**
+     * Constructor
+     *
+     * @param looper {@code Looper} for processing callback
+     * @param context {@code Context} of this listener
+     * @param field field of Global Settings
+     */
+    public GlobalSettingsChangeListener(Looper looper, Context context, String field) {
+        super(new Handler(looper));
+        mContext = context;
+        mField = field;
+        mUri = Settings.Global.getUriFor(field);
+        mListening = new AtomicBoolean(false);
+        monitorUri(true);
+    }
+
+    private Context mContext;
+    private String mField;
+    private Uri mUri;
+    private AtomicBoolean mListening;
+    private Lifecycle mLifecycle;
+
+    /**
+     * Observed Settings got changed
+     */
+    public abstract void onChanged(String field);
+
+    /**
+     * Notify change of Globals.Setting based on given Lifecycle
+     *
+     * @param lifecycle life cycle to reference
+     */
+    public void notifyChangeBasedOn(Lifecycle lifecycle) {
+        if (mLifecycle != null) {
+            mLifecycle.removeObserver(this);
+        }
+        if (lifecycle != null) {
+            lifecycle.addObserver(this);
+        }
+        mLifecycle = lifecycle;
+    }
+
+    public void onChange(boolean selfChange) {
+        if (!mListening.get()) {
+            return;
+        }
+        onChanged(mField);
+    }
+
+    @OnLifecycleEvent(ON_START)
+    void onStart() {
+        monitorUri(true);
+    }
+
+    @OnLifecycleEvent(ON_STOP)
+    void onStop() {
+        monitorUri(false);
+    }
+
+    @OnLifecycleEvent(ON_DESTROY)
+    void onDestroy() {
+        close();
+    }
+
+    /**
+     * Implementation of AutoCloseable
+     */
+    public void close() {
+        monitorUri(false);
+        notifyChangeBasedOn(null);
+    }
+
+    private void monitorUri(boolean on) {
+        if (!mListening.compareAndSet(!on, on)) {
+            return;
+        }
+
+        if (on) {
+            mContext.getContentResolver().registerContentObserver(mUri, false, this);
+            return;
+        }
+
+        mContext.getContentResolver().unregisterContentObserver(this);
+    }
+}
diff --git a/src/com/android/settings/network/MobileDataContentObserver.java b/src/com/android/settings/network/MobileDataContentObserver.java
index b8a1c8c..0aab75f 100644
--- a/src/com/android/settings/network/MobileDataContentObserver.java
+++ b/src/com/android/settings/network/MobileDataContentObserver.java
@@ -33,9 +33,13 @@
         super(handler);
     }
 
-    public static Uri getObservableUri(int subId) {
+    /**
+     * Return a URI of mobile data(ON vs OFF)
+     */
+    public static Uri getObservableUri(Context context, int subId) {
         Uri uri = Settings.Global.getUriFor(Settings.Global.MOBILE_DATA);
-        if (TelephonyManager.getDefault().getSimCount() != 1) {
+        TelephonyManager telephonyManager = context.getSystemService(TelephonyManager.class);
+        if (telephonyManager.getActiveModemCount() != 1) {
             uri = Settings.Global.getUriFor(Settings.Global.MOBILE_DATA + subId);
         }
         return uri;
@@ -54,7 +58,7 @@
     }
 
     public void register(Context context, int subId) {
-        final Uri uri = getObservableUri(subId);
+        final Uri uri = getObservableUri(context, subId);
         context.getContentResolver().registerContentObserver(uri, false, this);
 
     }
diff --git a/src/com/android/settings/network/MobileDataEnabledListener.java b/src/com/android/settings/network/MobileDataEnabledListener.java
index 8344f88..b030823 100644
--- a/src/com/android/settings/network/MobileDataEnabledListener.java
+++ b/src/com/android/settings/network/MobileDataEnabledListener.java
@@ -17,53 +17,98 @@
 package com.android.settings.network;
 
 import android.content.Context;
-import android.database.ContentObserver;
-import android.net.Uri;
-import android.os.Handler;
 import android.provider.Settings;
 import android.telephony.SubscriptionManager;
 
 /** Helper class to listen for changes in the enabled state of mobile data. */
-public class MobileDataEnabledListener extends ContentObserver {
+public class MobileDataEnabledListener {
     private Context mContext;
     private Client mClient;
     private int mSubId;
 
+    // There're 2 listeners both activated at the same time.
+    // For project that access MOBILE_DATA, only first listener is functional.
+    // For project that access "MOBILE_DATA + subId", first listener will be stopped when receiving
+    // any onChange from second listener.
+
+    private GlobalSettingsChangeListener mListener;
+    private GlobalSettingsChangeListener mListenerForSubId;
+
     public interface Client {
         void onMobileDataEnabledChange();
     }
 
+    /**
+     * Constructor
+     *
+     * @param context of this listener
+     * @param client callback when configuration changed
+     */
     public MobileDataEnabledListener(Context context, Client client) {
-        super(new Handler());
         mContext = context;
         mClient = client;
         mSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
     }
 
-    /** Starts listening to changes in the enabled state for data on the given subscription id. */
+    /**
+     * Starts listening to changes in the enabled state for data on the given subscription id.
+     *
+     * @param subId subscription id for enabled state of data subscription
+     */
     public void start(int subId) {
         mSubId = subId;
-        Uri uri;
-        if (mSubId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
-            uri = Settings.Global.getUriFor(Settings.Global.MOBILE_DATA);
-        }  else {
-            uri = Settings.Global.getUriFor(Settings.Global.MOBILE_DATA + mSubId);
+
+        if (mListener == null) {
+            mListener = new GlobalSettingsChangeListener(mContext,
+                    Settings.Global.MOBILE_DATA) {
+                public void onChanged(String field) {
+                    mClient.onMobileDataEnabledChange();
+                }
+            };
         }
-        mContext.getContentResolver().registerContentObserver(uri, true /*notifyForDescendants*/,
-                this);
+        stopMonitorSubIdSpecific();
+
+        if (mSubId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
+            return;
+        }
+
+        mListenerForSubId = new GlobalSettingsChangeListener(mContext,
+                Settings.Global.MOBILE_DATA + mSubId) {
+            public void onChanged(String field) {
+                stopMonitor();
+                mClient.onMobileDataEnabledChange();
+            }
+        };
     }
 
+    /**
+     * Get latest subscription id configured for listening
+     *
+     * @return subscription id
+     */
     public int getSubId() {
         return mSubId;
     }
 
-    public MobileDataEnabledListener stop() {
-        mContext.getContentResolver().unregisterContentObserver(this);
-        return this;
+    /**
+     * Stop listening to changes in the enabled state for data.
+     */
+    public void stop() {
+        stopMonitor();
+        stopMonitorSubIdSpecific();
     }
 
-    @Override
-    public void onChange(boolean selfChange) {
-        mClient.onMobileDataEnabledChange();
+    private void stopMonitor() {
+        if (mListener != null) {
+            mListener.close();
+            mListener = null;
+        }
+    }
+
+    private void stopMonitorSubIdSpecific() {
+        if (mListenerForSubId != null) {
+            mListenerForSubId.close();
+            mListenerForSubId = null;
+        }
     }
 }
diff --git a/src/com/android/settings/network/MobileNetworkListController.java b/src/com/android/settings/network/MobileNetworkListController.java
index ab41fad..f1980b2 100644
--- a/src/com/android/settings/network/MobileNetworkListController.java
+++ b/src/com/android/settings/network/MobileNetworkListController.java
@@ -117,6 +117,8 @@
             } else {
                 if (mSubscriptionManager.isActiveSubscriptionId(subId)) {
                     pref.setSummary(R.string.mobile_network_active_sim);
+                } else if (SubscriptionUtil.showToggleForPhysicalSim(mSubscriptionManager)) {
+                    pref.setSummary(mContext.getString(R.string.mobile_network_inactive_sim));
                 } else {
                     pref.setSummary(mContext.getString(R.string.mobile_network_tap_to_activate,
                             SubscriptionUtil.getDisplayName(info)));
@@ -124,7 +126,8 @@
             }
 
             pref.setOnPreferenceClickListener(clickedPref -> {
-                if (!info.isEmbedded() && !mSubscriptionManager.isActiveSubscriptionId(subId)) {
+                if (!info.isEmbedded() && !mSubscriptionManager.isActiveSubscriptionId(subId)
+                        && !SubscriptionUtil.showToggleForPhysicalSim(mSubscriptionManager)) {
                     mSubscriptionManager.setSubscriptionEnabled(subId, true);
                 } else {
                     final Intent intent = new Intent(mContext, MobileNetworkActivity.class);
diff --git a/src/com/android/settings/network/MobileNetworkListFragment.java b/src/com/android/settings/network/MobileNetworkListFragment.java
index 4690a28..c27775d 100644
--- a/src/com/android/settings/network/MobileNetworkListFragment.java
+++ b/src/com/android/settings/network/MobileNetworkListFragment.java
@@ -19,7 +19,6 @@
 import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.os.UserManager;
-import android.provider.SearchIndexableResource;
 
 import com.android.settings.R;
 import com.android.settings.dashboard.DashboardFragment;
@@ -56,17 +55,8 @@
         return controllers;
     }
 
-    public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
-                        boolean enabled) {
-                    final ArrayList<SearchIndexableResource> result = new ArrayList<>();
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.mobile_network_list;
-                    result.add(sir);
-                    return result;
-                }
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.mobile_network_list) {
 
                 @Override
                 protected boolean isPageSearchEnabled(Context context) {
diff --git a/src/com/android/settings/network/MobileNetworkPreferenceController.java b/src/com/android/settings/network/MobileNetworkPreferenceController.java
index 646f10c..5612d2e 100644
--- a/src/com/android/settings/network/MobileNetworkPreferenceController.java
+++ b/src/com/android/settings/network/MobileNetworkPreferenceController.java
@@ -19,7 +19,6 @@
 import static android.os.UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS;
 
 import android.content.BroadcastReceiver;
-import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
 import android.content.IntentFilter;
@@ -28,13 +27,11 @@
 import android.telephony.PhoneStateListener;
 import android.telephony.ServiceState;
 import android.telephony.TelephonyManager;
-import android.util.FeatureFlagUtils;
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.core.FeatureFlags;
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settings.network.telephony.MobileNetworkActivity;
 import com.android.settings.network.telephony.MobileNetworkUtils;
@@ -51,10 +48,6 @@
 
     @VisibleForTesting
     static final String KEY_MOBILE_NETWORK_SETTINGS = "mobile_network_settings";
-    @VisibleForTesting
-    static final String MOBILE_NETWORK_PACKAGE = "com.android.phone";
-    @VisibleForTesting
-    static final String MOBILE_NETWORK_CLASS = "com.android.phone.MobileNetworkSettings";
 
     private final boolean mIsSecondaryUser;
     private final TelephonyManager mTelephonyManager;
@@ -147,15 +140,8 @@
     @Override
     public boolean handlePreferenceTreeClick(Preference preference) {
         if (KEY_MOBILE_NETWORK_SETTINGS.equals(preference.getKey())) {
-            if (FeatureFlagUtils.isEnabled(mContext, FeatureFlags.MOBILE_NETWORK_V2)) {
-                final Intent intent = new Intent(mContext, MobileNetworkActivity.class);
-                mContext.startActivity(intent);
-            } else {
-                final Intent intent = new Intent(Intent.ACTION_MAIN);
-                intent.setComponent(
-                        new ComponentName(MOBILE_NETWORK_PACKAGE, MOBILE_NETWORK_CLASS));
-                mContext.startActivity(intent);
-            }
+            final Intent intent = new Intent(mContext, MobileNetworkActivity.class);
+            mContext.startActivity(intent);
             return true;
         }
         return false;
diff --git a/src/com/android/settings/network/MobileNetworkSummaryController.java b/src/com/android/settings/network/MobileNetworkSummaryController.java
index bd3e2ef..9e3f1e8 100644
--- a/src/com/android/settings/network/MobileNetworkSummaryController.java
+++ b/src/com/android/settings/network/MobileNetworkSummaryController.java
@@ -27,22 +27,25 @@
 import android.telephony.SubscriptionManager;
 import android.telephony.euicc.EuiccManager;
 
-import com.android.settings.R;
-import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settings.network.telephony.MobileNetworkActivity;
-import com.android.settings.network.telephony.MobileNetworkUtils;
-import com.android.settings.widget.AddPreference;
-import com.android.settingslib.Utils;
-import com.android.settingslib.core.AbstractPreferenceController;
-
-import java.util.List;
-
 import androidx.lifecycle.Lifecycle;
 import androidx.lifecycle.LifecycleObserver;
 import androidx.lifecycle.OnLifecycleEvent;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
+import com.android.settings.R;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.network.telephony.MobileNetworkActivity;
+import com.android.settings.network.telephony.MobileNetworkUtils;
+import com.android.settings.overlay.FeatureFactory;
+import com.android.settings.widget.AddPreference;
+import com.android.settingslib.Utils;
+import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
+
+import java.util.List;
+
 public class MobileNetworkSummaryController extends AbstractPreferenceController implements
         SubscriptionsChangeListener.SubscriptionsChangeListenerClient, LifecycleObserver,
         PreferenceControllerMixin {
@@ -50,6 +53,8 @@
 
     private static final String KEY = "mobile_network_list";
 
+    private final MetricsFeatureProvider mMetricsFeatureProvider;
+
     private SubscriptionManager mSubscriptionManager;
     private UserManager mUserManager;
     private SubscriptionsChangeListener mChangeListener;
@@ -72,6 +77,7 @@
      */
     public MobileNetworkSummaryController(Context context, Lifecycle lifecycle) {
         super(context);
+        mMetricsFeatureProvider = FeatureFactory.getFactory(mContext).getMetricsFeatureProvider();
         mSubscriptionManager = context.getSystemService(SubscriptionManager.class);
         mUserManager = context.getSystemService(UserManager.class);
         if (lifecycle != null) {
@@ -110,7 +116,8 @@
         } else if (subs.size() == 1) {
             final SubscriptionInfo info = subs.get(0);
             final int subId = info.getSubscriptionId();
-            if (!info.isEmbedded() && !mSubscriptionManager.isActiveSubscriptionId(subId)) {
+            if (!info.isEmbedded() && !mSubscriptionManager.isActiveSubscriptionId(subId)
+                    && !SubscriptionUtil.showToggleForPhysicalSim(mSubscriptionManager)) {
                 return mContext.getString(R.string.mobile_network_tap_to_activate,
                         SubscriptionUtil.getDisplayName(info));
             } else {
@@ -145,6 +152,8 @@
         if (subs.isEmpty()) {
             if (MobileNetworkUtils.showEuiccSettings(mContext)) {
                 mPreference.setOnPreferenceClickListener((Preference pref) -> {
+                    mMetricsFeatureProvider.logClickedPreference(pref,
+                            pref.getExtras().getInt(DashboardFragment.CATEGORY));
                     startAddSimFlow();
                     return true;
                 });
@@ -156,14 +165,21 @@
             // supported.
             if (MobileNetworkUtils.showEuiccSettings(mContext)) {
                 mPreference.setAddWidgetEnabled(!mChangeListener.isAirplaneModeOn());
-                mPreference.setOnAddClickListener(p -> startAddSimFlow());
+                mPreference.setOnAddClickListener(p -> {
+                    mMetricsFeatureProvider.logClickedPreference(p,
+                            p.getExtras().getInt(DashboardFragment.CATEGORY));
+                    startAddSimFlow();
+                });
             }
 
             if (subs.size() == 1) {
                 mPreference.setOnPreferenceClickListener((Preference pref) -> {
+                    mMetricsFeatureProvider.logClickedPreference(pref,
+                            pref.getExtras().getInt(DashboardFragment.CATEGORY));
                     final SubscriptionInfo info = subs.get(0);
                     final int subId = info.getSubscriptionId();
-                    if (!info.isEmbedded() && !mSubscriptionManager.isActiveSubscriptionId(subId)) {
+                    if (!info.isEmbedded() && !mSubscriptionManager.isActiveSubscriptionId(subId)
+                            && !SubscriptionUtil.showToggleForPhysicalSim(mSubscriptionManager)) {
                         mSubscriptionManager.setSubscriptionEnabled(subId, true);
                     } else {
                         final Intent intent = new Intent(mContext, MobileNetworkActivity.class);
diff --git a/src/com/android/settings/network/MobilePlanPreferenceController.java b/src/com/android/settings/network/MobilePlanPreferenceController.java
index dc41708..255dfcd 100644
--- a/src/com/android/settings/network/MobilePlanPreferenceController.java
+++ b/src/com/android/settings/network/MobilePlanPreferenceController.java
@@ -85,6 +85,7 @@
         if (mHost != null && KEY_MANAGE_MOBILE_PLAN.equals(preference.getKey())) {
             mMobilePlanDialogMessage = null;
             onManageMobilePlanClick();
+            return true;
         }
         return false;
     }
diff --git a/src/com/android/settings/network/NetworkDashboardFragment.java b/src/com/android/settings/network/NetworkDashboardFragment.java
index 8c686a5..ad3df33 100644
--- a/src/com/android/settings/network/NetworkDashboardFragment.java
+++ b/src/com/android/settings/network/NetworkDashboardFragment.java
@@ -20,16 +20,14 @@
 import android.app.Dialog;
 import android.app.settings.SettingsEnums;
 import android.content.Context;
-import android.provider.SearchIndexableResource;
+import android.os.Bundle;
 import android.util.Log;
 
 import androidx.appcompat.app.AlertDialog;
 import androidx.fragment.app.Fragment;
 
 import com.android.settings.R;
-import com.android.settings.core.FeatureFlags;
 import com.android.settings.dashboard.DashboardFragment;
-import com.android.settings.development.featureflags.FeatureFlagPersistent;
 import com.android.settings.network.MobilePlanPreferenceController.MobilePlanPreferenceHost;
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settings.wifi.WifiMasterSwitchPreferenceController;
@@ -39,7 +37,6 @@
 import com.android.settingslib.search.SearchIndexable;
 
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.List;
 
 @SearchIndexable
@@ -60,21 +57,22 @@
 
     @Override
     protected int getPreferenceScreenResId() {
-        if (FeatureFlagPersistent.isEnabled(getContext(), FeatureFlags.NETWORK_INTERNET_V2)) {
-            return R.xml.network_and_internet_v2;
-        } else {
-            return R.xml.network_and_internet;
-        }
+        return R.xml.network_and_internet;
     }
 
     @Override
     public void onAttach(Context context) {
         super.onAttach(context);
 
-        if (FeatureFlagPersistent.isEnabled(context, FeatureFlags.NETWORK_INTERNET_V2)) {
-            use(MultiNetworkHeaderController.class).init(getSettingsLifecycle());
-        }
+        use(MultiNetworkHeaderController.class).init(getSettingsLifecycle());
         use(AirplaneModePreferenceController.class).setFragment(this);
+        getSettingsLifecycle().addObserver(use(AllInOneTetherPreferenceController.class));
+    }
+
+    @Override
+    public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
+        super.onCreatePreferences(savedInstanceState, rootKey);
+        use(AllInOneTetherPreferenceController.class).initEnabler(getSettingsLifecycle());
     }
 
     @Override
@@ -95,10 +93,6 @@
                 new MobilePlanPreferenceController(context, mobilePlanHost);
         final WifiMasterSwitchPreferenceController wifiPreferenceController =
                 new WifiMasterSwitchPreferenceController(context, metricsFeatureProvider);
-        MobileNetworkPreferenceController mobileNetworkPreferenceController = null;
-        if (!FeatureFlagPersistent.isEnabled(context, FeatureFlags.NETWORK_INTERNET_V2)) {
-            mobileNetworkPreferenceController = new MobileNetworkPreferenceController(context);
-        }
 
         final VpnPreferenceController vpnPreferenceController =
                 new VpnPreferenceController(context);
@@ -108,21 +102,13 @@
         if (lifecycle != null) {
             lifecycle.addObserver(mobilePlanPreferenceController);
             lifecycle.addObserver(wifiPreferenceController);
-            if (mobileNetworkPreferenceController != null) {
-                lifecycle.addObserver(mobileNetworkPreferenceController);
-            }
             lifecycle.addObserver(vpnPreferenceController);
             lifecycle.addObserver(privateDnsPreferenceController);
         }
 
         final List<AbstractPreferenceController> controllers = new ArrayList<>();
 
-        if (FeatureFlagPersistent.isEnabled(context, FeatureFlags.NETWORK_INTERNET_V2)) {
-            controllers.add(new MobileNetworkSummaryController(context, lifecycle));
-        }
-        if (mobileNetworkPreferenceController != null) {
-            controllers.add(mobileNetworkPreferenceController);
-        }
+        controllers.add(new MobileNetworkSummaryController(context, lifecycle));
         controllers.add(new TetherPreferenceController(context, lifecycle));
         controllers.add(vpnPreferenceController);
         controllers.add(new ProxyPreferenceController(context));
@@ -162,20 +148,8 @@
         return 0;
     }
 
-    public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(
-                        Context context, boolean enabled) {
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    if (FeatureFlagPersistent.isEnabled(context,
-                            FeatureFlags.NETWORK_INTERNET_V2)) {
-                        sir.xmlResId = R.xml.network_and_internet_v2;
-                    } else {
-                        sir.xmlResId = R.xml.network_and_internet;
-                    }
-                    return Arrays.asList(sir);
-                }
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.network_and_internet) {
 
                 @Override
                 public List<AbstractPreferenceController> createPreferenceControllers(Context
@@ -184,13 +158,5 @@
                             null /* metricsFeatureProvider */, null /* fragment */,
                             null /* mobilePlanHost */);
                 }
-
-                @Override
-                public List<String> getNonIndexableKeys(Context context) {
-                    List<String> keys = super.getNonIndexableKeys(context);
-                    // Remove master switch as a result
-                    keys.add(WifiMasterSwitchPreferenceController.KEY_TOGGLE_WIFI);
-                    return keys;
-                }
             };
 }
diff --git a/src/com/android/settings/network/NetworkScorerPicker.java b/src/com/android/settings/network/NetworkScorerPicker.java
index 52e4ed9..9ecab3b 100644
--- a/src/com/android/settings/network/NetworkScorerPicker.java
+++ b/src/com/android/settings/network/NetworkScorerPicker.java
@@ -31,7 +31,7 @@
 
 import com.android.settings.R;
 import com.android.settings.core.InstrumentedPreferenceFragment;
-import com.android.settings.widget.RadioButtonPreference;
+import com.android.settingslib.widget.RadioButtonPreference;
 
 import java.util.List;
 
diff --git a/src/com/android/settings/network/OWNERS b/src/com/android/settings/network/OWNERS
new file mode 100644
index 0000000..d23f816
--- /dev/null
+++ b/src/com/android/settings/network/OWNERS
@@ -0,0 +1,8 @@
+# Default reviewers for this and subdirectories.
+allenwtsu@google.com
+andychou@google.com
+bonianchen@google.com
+songferngwang@google.com
+tomhsu@google.com
+
+# Emergency approvers in case the above are not available
diff --git a/src/com/android/settings/network/PrivateDnsModeDialogPreference.java b/src/com/android/settings/network/PrivateDnsModeDialogPreference.java
index 1655c69..bdadfe4 100644
--- a/src/com/android/settings/network/PrivateDnsModeDialogPreference.java
+++ b/src/com/android/settings/network/PrivateDnsModeDialogPreference.java
@@ -40,6 +40,7 @@
 import android.view.View;
 import android.widget.Button;
 import android.widget.EditText;
+import android.widget.RadioButton;
 import android.widget.RadioGroup;
 import android.widget.TextView;
 
@@ -176,6 +177,15 @@
         mRadioGroup.setOnCheckedChangeListener(this);
         mRadioGroup.check(PRIVATE_DNS_MAP.getOrDefault(mMode, R.id.private_dns_mode_opportunistic));
 
+        // Initial radio button text
+        final RadioButton offRadioButton = view.findViewById(R.id.private_dns_mode_off);
+        offRadioButton.setText(R.string.private_dns_mode_off);
+        final RadioButton opportunisticRadioButton =
+                view.findViewById(R.id.private_dns_mode_opportunistic);
+        opportunisticRadioButton.setText(R.string.private_dns_mode_opportunistic);
+        final RadioButton providerRadioButton = view.findViewById(R.id.private_dns_mode_provider);
+        providerRadioButton.setText(R.string.private_dns_mode_provider);
+
         final TextView helpTextView = view.findViewById(R.id.private_dns_help_info);
         helpTextView.setMovementMethod(LinkMovementMethod.getInstance());
         final Intent helpIntent = HelpUtils.getHelpIntent(context,
@@ -207,16 +217,12 @@
 
     @Override
     public void onCheckedChanged(RadioGroup group, int checkedId) {
-        switch (checkedId) {
-            case R.id.private_dns_mode_off:
-                mMode = PRIVATE_DNS_MODE_OFF;
-                break;
-            case R.id.private_dns_mode_opportunistic:
-                mMode = PRIVATE_DNS_MODE_OPPORTUNISTIC;
-                break;
-            case R.id.private_dns_mode_provider:
-                mMode = PRIVATE_DNS_MODE_PROVIDER_HOSTNAME;
-                break;
+        if (checkedId == R.id.private_dns_mode_off) {
+            mMode = PRIVATE_DNS_MODE_OFF;
+        } else if (checkedId == R.id.private_dns_mode_opportunistic) {
+            mMode = PRIVATE_DNS_MODE_OPPORTUNISTIC;
+        } else if (checkedId == R.id.private_dns_mode_provider) {
+            mMode = PRIVATE_DNS_MODE_PROVIDER_HOSTNAME;
         }
         updateDialogInfo();
     }
diff --git a/src/com/android/settings/network/PrivateDnsPreferenceController.java b/src/com/android/settings/network/PrivateDnsPreferenceController.java
index 47c3a95..84cae88 100644
--- a/src/com/android/settings/network/PrivateDnsPreferenceController.java
+++ b/src/com/android/settings/network/PrivateDnsPreferenceController.java
@@ -126,11 +126,7 @@
             case PRIVATE_DNS_MODE_OFF:
                 return res.getString(R.string.private_dns_mode_off);
             case PRIVATE_DNS_MODE_OPPORTUNISTIC:
-                // TODO (b/79122154) : create a string specifically for this, instead of
-                // hijacking a string from notifications. This is necessary at this time
-                // because string freeze is in the past and this string has the right
-                // content at this moment.
-                return dnsesResolved ? res.getString(R.string.switch_on_text)
+                return dnsesResolved ? res.getString(R.string.private_dns_mode_on)
                         : res.getString(R.string.private_dns_mode_opportunistic);
             case PRIVATE_DNS_MODE_PROVIDER_HOSTNAME:
                 return dnsesResolved
diff --git a/src/com/android/settings/network/ProxySubscriptionManager.java b/src/com/android/settings/network/ProxySubscriptionManager.java
new file mode 100644
index 0000000..0306b55
--- /dev/null
+++ b/src/com/android/settings/network/ProxySubscriptionManager.java
@@ -0,0 +1,237 @@
+/*
+ * 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.network;
+
+import static androidx.lifecycle.Lifecycle.Event.ON_DESTROY;
+import static androidx.lifecycle.Lifecycle.Event.ON_START;
+import static androidx.lifecycle.Lifecycle.Event.ON_STOP;
+
+import android.content.Context;
+import android.os.Looper;
+import android.provider.Settings;
+import android.telephony.SubscriptionInfo;
+import android.telephony.SubscriptionManager;
+
+import androidx.lifecycle.Lifecycle;
+import androidx.lifecycle.LifecycleObserver;
+import androidx.lifecycle.OnLifecycleEvent;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * A proxy to the subscription manager
+ */
+public class ProxySubscriptionManager implements LifecycleObserver {
+
+    /**
+     * Interface for monitor active subscriptions list changing
+     */
+    public interface OnActiveSubscriptionChangedListener {
+        /**
+         * When active subscriptions list get changed
+         */
+        void onChanged();
+        /**
+         * get Lifecycle of listener
+         *
+         * @return Returns Lifecycle.
+         */
+        default Lifecycle getLifecycle() {
+            return null;
+        }
+    }
+
+    /**
+     * Get proxy instance to subscription manager
+     *
+     * @return proxy to subscription manager
+     */
+    public static ProxySubscriptionManager getInstance(Context context) {
+        if (sSingleton != null) {
+            return sSingleton;
+        }
+        sSingleton = new ProxySubscriptionManager(context.getApplicationContext());
+        return sSingleton;
+    }
+
+    private static ProxySubscriptionManager sSingleton;
+
+    private ProxySubscriptionManager(Context context) {
+        final Looper looper = Looper.getMainLooper();
+
+        mActiveSubscriptionsListeners =
+                new ArrayList<OnActiveSubscriptionChangedListener>();
+
+        mSubscriptionMonitor = new ActiveSubsciptionsListener(looper, context) {
+            public void onChanged() {
+                notifyAllListeners();
+            }
+        };
+        mAirplaneModeMonitor = new GlobalSettingsChangeListener(looper,
+                context, Settings.Global.AIRPLANE_MODE_ON) {
+            public void onChanged(String field) {
+                mSubscriptionMonitor.clearCache();
+                notifyAllListeners();
+            }
+        };
+
+        mSubscriptionMonitor.start();
+    }
+
+    private Lifecycle mLifecycle;
+    private ActiveSubsciptionsListener mSubscriptionMonitor;
+    private GlobalSettingsChangeListener mAirplaneModeMonitor;
+
+    private List<OnActiveSubscriptionChangedListener> mActiveSubscriptionsListeners;
+
+    private void notifyAllListeners() {
+        for (OnActiveSubscriptionChangedListener listener : mActiveSubscriptionsListeners) {
+            final Lifecycle lifecycle = listener.getLifecycle();
+            if ((lifecycle == null)
+                    || (lifecycle.getCurrentState().isAtLeast(Lifecycle.State.STARTED))) {
+                listener.onChanged();
+            }
+        }
+    }
+
+    /**
+     * Lifecycle for data within proxy
+     *
+     * @param lifecycle life cycle to reference
+     */
+    public void setLifecycle(Lifecycle lifecycle) {
+        if (mLifecycle == lifecycle) {
+            return;
+        }
+        if (mLifecycle != null) {
+            mLifecycle.removeObserver(this);
+        }
+        if (lifecycle != null) {
+            lifecycle.addObserver(this);
+        }
+        mLifecycle = lifecycle;
+        mAirplaneModeMonitor.notifyChangeBasedOn(lifecycle);
+    }
+
+    @OnLifecycleEvent(ON_START)
+    void onStart() {
+        mSubscriptionMonitor.start();
+    }
+
+    @OnLifecycleEvent(ON_STOP)
+    void onStop() {
+        mSubscriptionMonitor.stop();
+    }
+
+    @OnLifecycleEvent(ON_DESTROY)
+    void onDestroy() {
+        mSubscriptionMonitor.close();
+        mAirplaneModeMonitor.close();
+
+        if (mLifecycle != null) {
+            mLifecycle.removeObserver(this);
+            mLifecycle = null;
+
+            sSingleton = null;
+        }
+    }
+
+    /**
+     * Get SubscriptionManager
+     *
+     * @return a SubscriptionManager
+     */
+    public SubscriptionManager get() {
+        return mSubscriptionMonitor.getSubscriptionManager();
+    }
+
+    /**
+     * Get current max. number active subscription info(s) been setup within device
+     *
+     * @return max. number of active subscription info(s)
+     */
+    public int getActiveSubscriptionInfoCountMax() {
+        return mSubscriptionMonitor.getActiveSubscriptionInfoCountMax();
+    }
+
+    /**
+     * Get a list of active subscription info
+     *
+     * @return A list of active subscription info
+     */
+    public List<SubscriptionInfo> getActiveSubscriptionsInfo() {
+        return mSubscriptionMonitor.getActiveSubscriptionsInfo();
+    }
+
+    /**
+     * Get an active subscription info with given subscription ID
+     *
+     * @param subId target subscription ID
+     * @return A subscription info which is active list
+     */
+    public SubscriptionInfo getActiveSubscriptionInfo(int subId) {
+        return mSubscriptionMonitor.getActiveSubscriptionInfo(subId);
+    }
+
+    /**
+     * Get a list of accessible subscription info
+     *
+     * @return A list of accessible subscription info
+     */
+    public List<SubscriptionInfo> getAccessibleSubscriptionsInfo() {
+        return mSubscriptionMonitor.getAccessibleSubscriptionsInfo();
+    }
+
+    /**
+     * Get an accessible subscription info with given subscription ID
+     *
+     * @param subId target subscription ID
+     * @return A subscription info which is accessible list
+     */
+    public SubscriptionInfo getAccessibleSubscriptionInfo(int subId) {
+        return mSubscriptionMonitor.getAccessibleSubscriptionInfo(subId);
+    }
+
+    /**
+     * Clear data cached within proxy
+     */
+    public void clearCache() {
+        mSubscriptionMonitor.clearCache();
+    }
+
+    /**
+     * Add listener to active subscriptions monitor list
+     *
+     * @param listener listener to active subscriptions change
+     */
+    public void addActiveSubscriptionsListener(OnActiveSubscriptionChangedListener listener) {
+        if (mActiveSubscriptionsListeners.contains(listener)) {
+            return;
+        }
+        mActiveSubscriptionsListeners.add(listener);
+    }
+
+    /**
+     * Remove listener from active subscriptions monitor list
+     *
+     * @param listener listener to active subscriptions change
+     */
+    public void removeActiveSubscriptionsListener(OnActiveSubscriptionChangedListener listener) {
+        mActiveSubscriptionsListeners.remove(listener);
+    }
+}
diff --git a/src/com/android/settings/network/SubscriptionUtil.java b/src/com/android/settings/network/SubscriptionUtil.java
index f723575..e61cc36 100644
--- a/src/com/android/settings/network/SubscriptionUtil.java
+++ b/src/com/android/settings/network/SubscriptionUtil.java
@@ -16,11 +16,13 @@
 
 package com.android.settings.network;
 
+import static android.telephony.SubscriptionManager.INVALID_SIM_SLOT_INDEX;
 import static android.telephony.UiccSlotInfo.CARD_STATE_INFO_PRESENT;
 
 import static com.android.internal.util.CollectionUtils.emptyIfNull;
 
 import android.content.Context;
+import android.os.ParcelUuid;
 import android.telephony.SubscriptionInfo;
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
@@ -29,7 +31,9 @@
 import androidx.annotation.VisibleForTesting;
 
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 public class SubscriptionUtil {
     private static final String TAG = "SubscriptionUtil";
@@ -50,7 +54,7 @@
         if (sActiveResultsForTesting != null) {
             return sActiveResultsForTesting;
         }
-        final List<SubscriptionInfo> subscriptions = manager.getActiveSubscriptionInfoList(true);
+        final List<SubscriptionInfo> subscriptions = manager.getActiveSubscriptionInfoList();
         if (subscriptions == null) {
             return new ArrayList<>();
         }
@@ -66,44 +70,141 @@
                 slotInfo.getCardStateInfo() == CARD_STATE_INFO_PRESENT;
     }
 
+    /**
+     * Get all of the subscriptions which is available to display to the user.
+     *
+     * @param context {@code Context}
+     * @return list of {@code SubscriptionInfo}
+     */
     public static List<SubscriptionInfo> getAvailableSubscriptions(Context context) {
         if (sAvailableResultsForTesting != null) {
             return sAvailableResultsForTesting;
         }
-        final SubscriptionManager subMgr = context.getSystemService(SubscriptionManager.class);
-        final TelephonyManager telMgr = context.getSystemService(TelephonyManager.class);
+        return new ArrayList<>(emptyIfNull(getSelectableSubscriptionInfoList(context)));
+    }
 
-        List<SubscriptionInfo> subscriptions =
-                new ArrayList<>(emptyIfNull(subMgr.getSelectableSubscriptionInfoList()));
-
-        // Look for inactive but present physical SIMs that are missing from the selectable list.
-        final List<UiccSlotInfo> missing = new ArrayList<>();
-        UiccSlotInfo[] slotsInfo =  telMgr.getUiccSlotsInfo();
-        for (int i = 0; slotsInfo != null && i < slotsInfo.length; i++) {
-            final UiccSlotInfo slotInfo = slotsInfo[i];
-            if (isInactiveInsertedPSim(slotInfo)) {
-                final int index = slotInfo.getLogicalSlotIdx();
-                final String cardId = slotInfo.getCardId();
-
-                final boolean found = subscriptions.stream().anyMatch(info ->
-                        index == info.getSimSlotIndex() && cardId.equals(info.getCardString()));
-                if (!found) {
-                    missing.add(slotInfo);
-                }
-            }
+    /**
+     * Get subscription which is available to be displayed to the user
+     * per subscription id.
+     *
+     * @param context {@code Context}
+     * @param subscriptionManager The ProxySubscriptionManager for accessing subcription
+     *         information
+     * @param subId The id of subscription to be retrieved
+     * @return {@code SubscriptionInfo} based on the given subscription id. Null of subscription
+     *         is invalid or not allowed to be displayed to the user.
+     */
+    public static SubscriptionInfo getAvailableSubscription(Context context,
+            ProxySubscriptionManager subscriptionManager, int subId) {
+        final SubscriptionInfo subInfo = subscriptionManager.getAccessibleSubscriptionInfo(subId);
+        if (subInfo == null) {
+            return null;
         }
-        if (!missing.isEmpty()) {
-            for (SubscriptionInfo info : subMgr.getAllSubscriptionInfoList()) {
-                for (UiccSlotInfo slotInfo : missing) {
-                    if (info.getSimSlotIndex() == slotInfo.getLogicalSlotIdx() &&
-                    info.getCardString().equals(slotInfo.getCardId())) {
-                        subscriptions.add(info);
-                        break;
+
+        final ParcelUuid groupUuid = subInfo.getGroupUuid();
+
+        if (groupUuid != null) {
+            if (isPrimarySubscriptionWithinSameUuid(getUiccSlotsInfo(context), groupUuid,
+                    subscriptionManager.getAccessibleSubscriptionsInfo(), subId)) {
+                return subInfo;
+            }
+            return null;
+        }
+
+        return subInfo;
+    }
+
+    private static UiccSlotInfo [] getUiccSlotsInfo(Context context) {
+        final TelephonyManager telMgr = context.getSystemService(TelephonyManager.class);
+        return telMgr.getUiccSlotsInfo();
+    }
+
+    private static boolean isPrimarySubscriptionWithinSameUuid(UiccSlotInfo[] slotsInfo,
+            ParcelUuid groupUuid, List<SubscriptionInfo> subscriptions, int subId) {
+        // only interested in subscriptions with this group UUID
+        final ArrayList<SubscriptionInfo> physicalSubInfoList =
+                new ArrayList<SubscriptionInfo>();
+        final ArrayList<SubscriptionInfo> nonOpportunisticSubInfoList =
+                new ArrayList<SubscriptionInfo>();
+        final ArrayList<SubscriptionInfo> activeSlotSubInfoList =
+                new ArrayList<SubscriptionInfo>();
+        final ArrayList<SubscriptionInfo> inactiveSlotSubInfoList =
+                new ArrayList<SubscriptionInfo>();
+        for (SubscriptionInfo subInfo : subscriptions) {
+            if (groupUuid.equals(subInfo.getGroupUuid())) {
+                if (!subInfo.isEmbedded()) {
+                    physicalSubInfoList.add(subInfo);
+                } else  {
+                    if (!subInfo.isOpportunistic()) {
+                        nonOpportunisticSubInfoList.add(subInfo);
+                    }
+                    if (subInfo.getSimSlotIndex()
+                            != SubscriptionManager.INVALID_SIM_SLOT_INDEX) {
+                        activeSlotSubInfoList.add(subInfo);
+                    } else {
+                        inactiveSlotSubInfoList.add(subInfo);
                     }
                 }
             }
         }
-        return subscriptions;
+
+        // find any physical SIM which is currently inserted within logical slot
+        // and which is our target subscription
+        if ((slotsInfo != null) && (physicalSubInfoList.size() > 0)) {
+            final SubscriptionInfo subInfo = searchForSubscriptionId(physicalSubInfoList, subId);
+            if (subInfo == null) {
+                return false;
+            }
+            // verify if subscription is inserted within slot
+            for (UiccSlotInfo slotInfo : slotsInfo) {
+                if ((slotInfo != null) && (!slotInfo.getIsEuicc())
+                        && (slotInfo.getLogicalSlotIdx() == subInfo.getSimSlotIndex())) {
+                    return true;
+                }
+            }
+            return false;
+        }
+
+        // When all of the eSIM profiles are opprtunistic and no physical SIM,
+        // first opportunistic subscriptions with same group UUID can be primary.
+        if (nonOpportunisticSubInfoList.size() <= 0) {
+            if (physicalSubInfoList.size() > 0) {
+                return false;
+            }
+            if (activeSlotSubInfoList.size() > 0) {
+                return (activeSlotSubInfoList.get(0).getSubscriptionId() == subId);
+            }
+            return (inactiveSlotSubInfoList.get(0).getSubscriptionId() == subId);
+        }
+
+        // Allow non-opportunistic + active eSIM subscription as primary
+        int numberOfActiveNonOpportunisticSubs = 0;
+        boolean isTargetNonOpportunistic = false;
+        for (SubscriptionInfo subInfo : nonOpportunisticSubInfoList) {
+            final boolean isTargetSubInfo = (subInfo.getSubscriptionId() == subId);
+            if (subInfo.getSimSlotIndex() != SubscriptionManager.INVALID_SIM_SLOT_INDEX) {
+                if (isTargetSubInfo) {
+                    return true;
+                }
+                numberOfActiveNonOpportunisticSubs++;
+            } else {
+                isTargetNonOpportunistic |= isTargetSubInfo;
+            }
+        }
+        if (numberOfActiveNonOpportunisticSubs > 0) {
+            return false;
+        }
+        return isTargetNonOpportunistic;
+    }
+
+    private static SubscriptionInfo searchForSubscriptionId(List<SubscriptionInfo> subInfoList,
+            int subscriptionId) {
+        for (SubscriptionInfo subInfo : subInfoList) {
+            if (subInfo.getSubscriptionId() == subscriptionId) {
+                return subInfo;
+            }
+        }
+        return null;
     }
 
     public static String getDisplayName(SubscriptionInfo info) {
@@ -113,4 +214,92 @@
         }
         return "";
     }
+
+    /**
+     * Whether Settings should show a "Use SIM" toggle in pSIM detailed page.
+     */
+    public static boolean showToggleForPhysicalSim(SubscriptionManager subMgr) {
+        return subMgr.canDisablePhysicalSubscription();
+    }
+
+    /**
+     * Get phoneId or logical slot index for a subId if active, or INVALID_PHONE_INDEX if inactive.
+     */
+    public static int getPhoneId(Context context, int subId) {
+        final SubscriptionManager subManager = context.getSystemService(SubscriptionManager.class);
+        if (subManager == null) {
+            return INVALID_SIM_SLOT_INDEX;
+        }
+        final SubscriptionInfo info = subManager.getActiveSubscriptionInfo(subId);
+        if (info == null) {
+            return INVALID_SIM_SLOT_INDEX;
+        }
+        return info.getSimSlotIndex();
+    }
+
+    /**
+     * Return a list of subscriptions that are available and visible to the user.
+     *
+     * @return list of user selectable subscriptions.
+     */
+    public static List<SubscriptionInfo> getSelectableSubscriptionInfoList(Context context) {
+        SubscriptionManager subManager = context.getSystemService(SubscriptionManager.class);
+        List<SubscriptionInfo> availableList = subManager.getAvailableSubscriptionInfoList();
+        if (availableList == null) {
+            return null;
+        } else {
+            // Multiple subscriptions in a group should only have one representative.
+            // It should be the current active primary subscription if any, or any
+            // primary subscription.
+            List<SubscriptionInfo> selectableList = new ArrayList<>();
+            Map<ParcelUuid, SubscriptionInfo> groupMap = new HashMap<>();
+
+            for (SubscriptionInfo info : availableList) {
+                // Opportunistic subscriptions are considered invisible
+                // to users so they should never be returned.
+                if (!isSubscriptionVisible(subManager, context, info)) continue;
+
+                ParcelUuid groupUuid = info.getGroupUuid();
+                if (groupUuid == null) {
+                    // Doesn't belong to any group. Add in the list.
+                    selectableList.add(info);
+                } else if (!groupMap.containsKey(groupUuid)
+                        || (groupMap.get(groupUuid).getSimSlotIndex() == INVALID_SIM_SLOT_INDEX
+                        && info.getSimSlotIndex() != INVALID_SIM_SLOT_INDEX)) {
+                    // If it belongs to a group that has never been recorded or it's the current
+                    // active subscription, add it in the list.
+                    selectableList.remove(groupMap.get(groupUuid));
+                    selectableList.add(info);
+                    groupMap.put(groupUuid, info);
+                }
+
+            }
+            return selectableList;
+        }
+    }
+
+
+    /**
+     * Whether a subscription is visible to API caller. If it's a bundled opportunistic
+     * subscription, it should be hidden anywhere in Settings, dialer, status bar etc.
+     * Exception is if caller owns carrier privilege, in which case they will
+     * want to see their own hidden subscriptions.
+     *
+     * @param info the subscriptionInfo to check against.
+     * @return true if this subscription should be visible to the API caller.
+     */
+    private static boolean isSubscriptionVisible(
+            SubscriptionManager subscriptionManager, Context context, SubscriptionInfo info) {
+        if (info == null) return false;
+        // If subscription is NOT grouped opportunistic subscription, it's visible.
+        if (info.getGroupUuid() == null || !info.isOpportunistic()) return true;
+
+        // If the caller is the carrier app and owns the subscription, it should be visible
+        // to the caller.
+        TelephonyManager telephonyManager = context.getSystemService(TelephonyManager.class)
+                .createForSubscriptionId(info.getSubscriptionId());
+        boolean hasCarrierPrivilegePermission = telephonyManager.hasCarrierPrivileges()
+                || subscriptionManager.canManageSubscription(info);
+        return hasCarrierPrivilegePermission;
+    }
 }
diff --git a/src/com/android/settings/network/TetherEnabler.java b/src/com/android/settings/network/TetherEnabler.java
new file mode 100644
index 0000000..9c689bc
--- /dev/null
+++ b/src/com/android/settings/network/TetherEnabler.java
@@ -0,0 +1,446 @@
+/*
+ * 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.network;
+
+import static android.net.ConnectivityManager.TETHERING_BLUETOOTH;
+import static android.net.ConnectivityManager.TETHERING_USB;
+import static android.net.ConnectivityManager.TETHERING_WIFI;
+
+import static com.android.settings.AllInOneTetherSettings.DEDUP_POSTFIX;
+
+import static java.lang.annotation.RetentionPolicy.SOURCE;
+
+import android.annotation.IntDef;
+import android.bluetooth.BluetoothAdapter;
+import android.bluetooth.BluetoothPan;
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.content.SharedPreferences;
+import android.net.ConnectivityManager;
+import android.net.wifi.WifiManager;
+import android.os.Handler;
+import android.os.Looper;
+import android.text.TextUtils;
+import android.util.Log;
+
+import androidx.annotation.Nullable;
+import androidx.lifecycle.Lifecycle;
+import androidx.lifecycle.LifecycleObserver;
+import androidx.lifecycle.OnLifecycleEvent;
+
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.settings.datausage.DataSaverBackend;
+import com.android.settings.widget.SwitchWidgetController;
+
+import java.lang.annotation.Retention;
+import java.lang.ref.WeakReference;
+import java.util.ArrayList;
+import java.util.concurrent.atomic.AtomicReference;
+
+/**
+ * TetherEnabler is a helper to manage Tethering switch on/off state. It turns on/off
+ * different types of tethering based on stored values in {@link SharedPreferences} and ensures
+ * tethering state updated by data saver state.
+ *
+ * This class is not designed for extending. It's extendable solely for the test purpose.
+ */
+
+public class TetherEnabler implements SwitchWidgetController.OnSwitchChangeListener,
+        DataSaverBackend.Listener, LifecycleObserver,
+        SharedPreferences.OnSharedPreferenceChangeListener {
+
+    private OnTetherStateUpdateListener mListener;
+
+    /**
+     * Interface definition for a callback to be invoked when the tethering has been updated.
+     */
+    public interface OnTetherStateUpdateListener {
+        /**
+         * Called when the tethering state has changed.
+         *
+         * @param isTethering The new tethering state.
+         */
+        void onTetherStateUpdated(boolean isTethering);
+    }
+
+    private static final String TAG = "TetherEnabler";
+    private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
+
+
+    @Retention(SOURCE)
+    @IntDef(
+            flag = true,
+            value = {TETHERING_OFF, TETHERING_WIFI_ON, TETHERING_USB_ON, TETHERING_BLUETOOTH_ON}
+    )
+    @interface TetheringState {}
+    private static final int TETHERING_OFF = 0;
+    private static final int TETHERING_WIFI_ON = 1;
+    private static final int TETHERING_USB_ON = 1 << 1;
+    private static final int TETHERING_BLUETOOTH_ON = 1 << 2;
+
+    public static final String SHARED_PREF = "tether_options";
+
+    // This KEY is used for a shared preference value, not for any displayed preferences.
+    public static final String KEY_ENABLE_WIFI_TETHERING = "enable_wifi_tethering";
+    public static final String WIFI_TETHER_DISABLE_KEY = "disable_wifi_tethering";
+    public static final String USB_TETHER_KEY = "enable_usb_tethering";
+    public static final String BLUETOOTH_TETHER_KEY = "enable_bluetooth_tethering" + DEDUP_POSTFIX;
+
+    private final SwitchWidgetController mSwitchWidgetController;
+    private final WifiManager mWifiManager;
+    private final ConnectivityManager mConnectivityManager;
+
+    private final DataSaverBackend mDataSaverBackend;
+    private boolean mDataSaverEnabled;
+
+    private final Context mContext;
+
+    @VisibleForTesting
+    ConnectivityManager.OnStartTetheringCallback mOnStartTetheringCallback;
+    private final AtomicReference<BluetoothPan> mBluetoothPan;
+    private final SharedPreferences mSharedPreferences;
+    private boolean mBluetoothEnableForTether;
+    private final BluetoothAdapter mBluetoothAdapter;
+
+    public TetherEnabler(Context context, SwitchWidgetController switchWidgetController,
+            AtomicReference<BluetoothPan> bluetoothPan) {
+        mContext = context;
+        mSwitchWidgetController = switchWidgetController;
+        mDataSaverBackend = new DataSaverBackend(context);
+        mSharedPreferences = context.getSharedPreferences(SHARED_PREF, Context.MODE_PRIVATE);
+        mConnectivityManager =
+                (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
+        mWifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
+        mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
+        mBluetoothPan = bluetoothPan;
+        mDataSaverEnabled = mDataSaverBackend.isDataSaverEnabled();
+    }
+
+    @OnLifecycleEvent(Lifecycle.Event.ON_START)
+    public void onStart() {
+        mDataSaverBackend.addListener(this);
+        mSwitchWidgetController.setListener(this);
+        mSwitchWidgetController.startListening();
+
+        final IntentFilter filter = new IntentFilter(
+                ConnectivityManager.ACTION_TETHER_STATE_CHANGED);
+        filter.addAction(WifiManager.WIFI_AP_STATE_CHANGED_ACTION);
+        filter.addAction(BluetoothAdapter.ACTION_STATE_CHANGED);
+        mContext.registerReceiver(mTetherChangeReceiver, filter);
+
+        mOnStartTetheringCallback = new OnStartTetheringCallback(this);
+        updateState(null/*tethered*/);
+    }
+
+    @OnLifecycleEvent(Lifecycle.Event.ON_RESUME)
+    public void onResume() {
+        mSharedPreferences.registerOnSharedPreferenceChangeListener(this);
+    }
+
+    @OnLifecycleEvent(Lifecycle.Event.ON_PAUSE)
+    public void onPause() {
+        mSharedPreferences.unregisterOnSharedPreferenceChangeListener(this);
+    }
+
+    @OnLifecycleEvent(Lifecycle.Event.ON_STOP)
+    public void onStop() {
+        mDataSaverBackend.remListener(this);
+        mSwitchWidgetController.stopListening();
+        mContext.unregisterReceiver(mTetherChangeReceiver);
+    }
+
+    public void setListener(@Nullable OnTetherStateUpdateListener listener) {
+        mListener = listener;
+    }
+
+    @VisibleForTesting
+    void updateState(@Nullable String[] tethered) {
+        int tetherState = getTetheringState(tethered);
+        if (DEBUG) {
+            Log.d(TAG, "updateState: " + tetherState);
+        }
+        setSwitchCheckedInternal(tetherState != TETHERING_OFF);
+        setSharedPreferencesInternal(tetherState);
+        mSwitchWidgetController.setEnabled(!mDataSaverEnabled);
+        if (mListener != null) {
+            mListener.onTetherStateUpdated(tetherState != TETHERING_OFF);
+        }
+    }
+
+    private void setSwitchCheckedInternal(boolean checked) {
+        mSwitchWidgetController.stopListening();
+        mSwitchWidgetController.setChecked(checked);
+        mSwitchWidgetController.startListening();
+    }
+
+    private void setSharedPreferencesInternal(@TetheringState int tetherState) {
+        if (tetherState == TETHERING_OFF) {
+            // We don't override user's preferences when tethering off.
+            return;
+        }
+        mSharedPreferences.unregisterOnSharedPreferenceChangeListener(this);
+        final SharedPreferences.Editor editor = mSharedPreferences.edit();
+        editor.putBoolean(KEY_ENABLE_WIFI_TETHERING, (tetherState & TETHERING_WIFI_ON) != 0);
+        editor.putBoolean(USB_TETHER_KEY, (tetherState & TETHERING_USB_ON) != 0);
+        editor.putBoolean(BLUETOOTH_TETHER_KEY, (tetherState & TETHERING_BLUETOOTH_ON) != 0);
+        editor.commit();
+        mSharedPreferences.registerOnSharedPreferenceChangeListener(this);
+    }
+
+    private @TetheringState int getTetheringState(@Nullable String[] tethered) {
+        int tetherState = TETHERING_OFF;
+        if (tethered == null) {
+            tethered = mConnectivityManager.getTetheredIfaces();
+        }
+
+        if (mWifiManager.getWifiApState() == WifiManager.WIFI_AP_STATE_ENABLED) {
+            tetherState |= TETHERING_WIFI_ON;
+        }
+
+        final BluetoothPan pan = mBluetoothPan.get();
+        if (pan != null && pan.isTetheringOn()) {
+            tetherState |= TETHERING_BLUETOOTH_ON;
+        }
+
+        String[] usbRegexs = mConnectivityManager.getTetherableUsbRegexs();
+        for (String s : tethered) {
+            for (String regex : usbRegexs) {
+                if (s.matches(regex)) {
+                    return tetherState | TETHERING_USB_ON;
+                }
+            }
+        }
+
+        return tetherState;
+    }
+
+    @Override
+    public boolean onSwitchToggled(boolean isChecked) {
+        if (isChecked && getTetheringState(null /* tethered */) == TETHERING_OFF) {
+            startTether();
+        }
+
+        if (!isChecked && getTetheringState(null /* tethered */) != TETHERING_OFF) {
+            stopTether();
+        }
+        return true;
+    }
+
+    private void stopTether() {
+
+        // Wi-Fi tether is selected by default.
+        if (mSharedPreferences.getBoolean(KEY_ENABLE_WIFI_TETHERING, true)) {
+            stopTethering(TETHERING_WIFI);
+        }
+
+        if (mSharedPreferences.getBoolean(USB_TETHER_KEY, false)) {
+            stopTethering(TETHERING_USB);
+        }
+
+        if (mSharedPreferences.getBoolean(BLUETOOTH_TETHER_KEY, false)) {
+            stopTethering(TETHERING_BLUETOOTH);
+        }
+    }
+
+    /**
+     * Use this method to stop a single choice of tethering.
+     *
+     * @param choice The choice of tethering to stop.
+     */
+    public void stopTethering(int choice) {
+        mConnectivityManager.stopTethering(choice);
+    }
+
+    @VisibleForTesting
+    void startTether() {
+
+        // Wi-Fi tether is selected by default.
+        if (mSharedPreferences.getBoolean(KEY_ENABLE_WIFI_TETHERING, true)) {
+            startTethering(TETHERING_WIFI);
+        }
+
+        if (mSharedPreferences.getBoolean(USB_TETHER_KEY, false)) {
+            startTethering(TETHERING_USB);
+        }
+
+        if (mSharedPreferences.getBoolean(BLUETOOTH_TETHER_KEY, false)) {
+            startTethering(TETHERING_BLUETOOTH);
+        }
+    }
+
+    /**
+     * Use this method to start a single choice of tethering.
+     * For bluetooth tethering, it will first turn on bluetooth if bluetooth is off.
+     * For Wi-Fi tethering, it will be no-op if Wi-Fi tethering already active.
+     *
+     * @param choice The choice of tethering to start.
+     */
+    public void startTethering(int choice) {
+        mSwitchWidgetController.setEnabled(false);
+
+        if (choice == TETHERING_WIFI && mWifiManager.isWifiApEnabled()) {
+            if (DEBUG) {
+                Log.d(TAG, "Wifi tether already active!");
+            }
+            return;
+        }
+
+        if (choice == TETHERING_BLUETOOTH) {
+            if (mBluetoothAdapter.getState() == BluetoothAdapter.STATE_OFF) {
+                if (DEBUG) {
+                    Log.d(TAG, "Turn on bluetooth first.");
+                }
+                mBluetoothEnableForTether = true;
+                mBluetoothAdapter.enable();
+                return;
+            }
+        }
+
+        mConnectivityManager.startTethering(choice, true /* showProvisioningUi */,
+                mOnStartTetheringCallback, new Handler(Looper.getMainLooper()));
+    }
+
+    private final BroadcastReceiver mTetherChangeReceiver = new BroadcastReceiver() {
+        @Override
+        public void onReceive(Context context, Intent intent) {
+            final String action = intent.getAction();
+            ArrayList<String> active = null;
+            boolean shouldUpdateState = false;
+            if (TextUtils.equals(ConnectivityManager.ACTION_TETHER_STATE_CHANGED, action)) {
+                active = intent.getStringArrayListExtra(ConnectivityManager.EXTRA_ACTIVE_TETHER);
+                shouldUpdateState = true;
+            } else if (TextUtils.equals(WifiManager.WIFI_AP_STATE_CHANGED_ACTION, action)) {
+                shouldUpdateState = handleWifiApStateChanged(intent.getIntExtra(
+                        WifiManager.EXTRA_WIFI_AP_STATE, WifiManager.WIFI_AP_STATE_FAILED));
+            } else if (TextUtils.equals(BluetoothAdapter.ACTION_STATE_CHANGED, action)) {
+                shouldUpdateState = handleBluetoothStateChanged(intent
+                        .getIntExtra(BluetoothAdapter.EXTRA_STATE, BluetoothAdapter.ERROR));
+            }
+
+            if (shouldUpdateState) {
+                if (active != null) {
+                    updateState(active.toArray(new String[0]));
+                } else {
+                    updateState(null/*tethered*/);
+                }
+            }
+        }
+    };
+
+    private boolean handleBluetoothStateChanged(int state) {
+        switch (state) {
+            case BluetoothAdapter.STATE_ON:
+                if (mBluetoothEnableForTether) {
+                    startTethering(TETHERING_BLUETOOTH);
+                }
+                // Fall through.
+            case BluetoothAdapter.STATE_OFF:
+                // Fall through.
+            case BluetoothAdapter.ERROR:
+                mBluetoothEnableForTether = false;
+                return true;
+            default:
+                // Return false for transition states.
+                return false;
+        }
+    }
+
+    private boolean handleWifiApStateChanged(int state) {
+        switch (state) {
+            case WifiManager.WIFI_AP_STATE_FAILED:
+                Log.e(TAG, "Wifi AP is failed!");
+                // fall through
+            case WifiManager.WIFI_AP_STATE_ENABLED:
+                // fall through
+            case WifiManager.WIFI_AP_STATE_DISABLED:
+                return true;
+            default:
+                // return false for transition state
+                return false;
+        }
+    }
+
+    @Override
+    public void onDataSaverChanged(boolean isDataSaving) {
+        mDataSaverEnabled = isDataSaving;
+        mSwitchWidgetController.setEnabled(!isDataSaving);
+    }
+
+    @Override
+    public void onWhitelistStatusChanged(int uid, boolean isWhitelisted) {
+        // we don't care, since we just want to read the value
+    }
+
+    @Override
+    public void onBlacklistStatusChanged(int uid, boolean isBlacklisted) {
+        // we don't care, since we just want to read the value
+    }
+
+    @Override
+    public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
+        if (!mSwitchWidgetController.isChecked()) {
+            return;
+        }
+        if (TextUtils.equals(KEY_ENABLE_WIFI_TETHERING, key)) {
+            if (sharedPreferences.getBoolean(key, true)) {
+                startTethering(TETHERING_WIFI);
+            } else {
+                mConnectivityManager.stopTethering(TETHERING_WIFI);
+            }
+        } else if (TextUtils.equals(USB_TETHER_KEY, key)) {
+            if (sharedPreferences.getBoolean(key, false)) {
+                startTethering(TETHERING_USB);
+            } else {
+                mConnectivityManager.stopTethering(TETHERING_USB);
+            }
+        } else if (TextUtils.equals(BLUETOOTH_TETHER_KEY, key)) {
+            if (sharedPreferences.getBoolean(key, false)) {
+                startTethering(TETHERING_BLUETOOTH);
+            } else {
+                mConnectivityManager.stopTethering(TETHERING_BLUETOOTH);
+            }
+        }
+    }
+
+    private static final class OnStartTetheringCallback extends
+            ConnectivityManager.OnStartTetheringCallback {
+        final WeakReference<TetherEnabler> mTetherEnabler;
+
+        OnStartTetheringCallback(TetherEnabler enabler) {
+            mTetherEnabler = new WeakReference<>(enabler);
+        }
+
+        @Override
+        public void onTetheringStarted() {
+            update();
+        }
+
+        @Override
+        public void onTetheringFailed() {
+            update();
+        }
+
+        private void update() {
+            TetherEnabler enabler = mTetherEnabler.get();
+            if (enabler != null) {
+                enabler.updateState(null/*tethered*/);
+            }
+        }
+    }
+}
diff --git a/src/com/android/settings/network/TetherPreferenceController.java b/src/com/android/settings/network/TetherPreferenceController.java
index 0d4a6a6..d18d897 100644
--- a/src/com/android/settings/network/TetherPreferenceController.java
+++ b/src/com/android/settings/network/TetherPreferenceController.java
@@ -33,6 +33,7 @@
 import android.os.Handler;
 import android.os.UserHandle;
 import android.provider.Settings;
+import android.util.FeatureFlagUtils;
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
@@ -40,6 +41,7 @@
 
 import com.android.settings.R;
 import com.android.settings.TetherSettings;
+import com.android.settings.core.FeatureFlags;
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.TetherUtil;
 import com.android.settingslib.core.AbstractPreferenceController;
@@ -114,7 +116,8 @@
 
     @Override
     public boolean isAvailable() {
-        return TetherUtil.isTetherAvailable(mContext);
+        return TetherUtil.isTetherAvailable(mContext)
+                && !FeatureFlagUtils.isEnabled(mContext, FeatureFlags.TETHER_ALL_IN_ONE);
     }
 
     @Override
diff --git a/src/com/android/settings/network/TetherProvisioningActivity.java b/src/com/android/settings/network/TetherProvisioningActivity.java
index 53a86cb..230cfe0 100644
--- a/src/com/android/settings/network/TetherProvisioningActivity.java
+++ b/src/com/android/settings/network/TetherProvisioningActivity.java
@@ -32,7 +32,7 @@
 /**
  * Activity which acts as a proxy to the tether provisioning app for sanity checks and permission
  * restrictions. Specifically, the provisioning apps require
- * {@link android.permission.CONNECTIVITY_INTERNAL}, while this activity can be started by a caller
+ * {@link android.permission.TETHER_PRIVILEGED}, while this activity can be started by a caller
  * with {@link android.permission.TETHER_PRIVILEGED}.
  */
 public class TetherProvisioningActivity extends Activity {
diff --git a/src/com/android/settings/network/TopLevelNetworkEntryPreferenceController.java b/src/com/android/settings/network/TopLevelNetworkEntryPreferenceController.java
index 1136736..f2e1312 100644
--- a/src/com/android/settings/network/TopLevelNetworkEntryPreferenceController.java
+++ b/src/com/android/settings/network/TopLevelNetworkEntryPreferenceController.java
@@ -46,7 +46,7 @@
 
     @Override
     public int getAvailabilityStatus() {
-        return Utils.isDemoUser(mContext) ? UNSUPPORTED_ON_DEVICE : AVAILABLE_UNSEARCHABLE;
+        return Utils.isDemoUser(mContext) ? UNSUPPORTED_ON_DEVICE : AVAILABLE;
     }
 
     @Override
diff --git a/src/com/android/settings/network/UsbTetherPreferenceController.java b/src/com/android/settings/network/UsbTetherPreferenceController.java
new file mode 100644
index 0000000..7305a48
--- /dev/null
+++ b/src/com/android/settings/network/UsbTetherPreferenceController.java
@@ -0,0 +1,151 @@
+/*
+ * 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.network;
+
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.content.SharedPreferences;
+import android.hardware.usb.UsbManager;
+import android.net.ConnectivityManager;
+import android.os.Environment;
+import android.text.TextUtils;
+import android.util.Log;
+
+import androidx.lifecycle.Lifecycle;
+import androidx.lifecycle.LifecycleObserver;
+import androidx.lifecycle.OnLifecycleEvent;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.settings.Utils;
+import com.android.settings.core.TogglePreferenceController;
+
+/**
+ * This controller helps to manage the switch state and visibility of USB tether switch
+ * preference. It stores preference values when preference changed.
+ *
+ */
+public final class UsbTetherPreferenceController extends TogglePreferenceController implements
+        LifecycleObserver, SharedPreferences.OnSharedPreferenceChangeListener {
+
+    private static final String TAG = "UsbTetherPrefController";
+    private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
+
+    private final ConnectivityManager mCm;
+    private boolean mUsbConnected;
+    private boolean mMassStorageActive;
+    private Preference mPreference;
+    private final SharedPreferences mSharedPreferences;
+
+    public UsbTetherPreferenceController(Context context, String prefKey) {
+        super(context, prefKey);
+        mCm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
+        mSharedPreferences =
+                context.getSharedPreferences(TetherEnabler.SHARED_PREF, Context.MODE_PRIVATE);
+    }
+
+    @Override
+    public boolean isChecked() {
+        return mSharedPreferences.getBoolean(mPreferenceKey, false);
+    }
+
+    @Override
+    public boolean setChecked(boolean isChecked) {
+        if (DEBUG) {
+            Log.d(TAG, "preference changing to " + isChecked);
+        }
+        final SharedPreferences.Editor editor = mSharedPreferences.edit();
+        editor.putBoolean(mPreferenceKey, isChecked);
+        editor.apply();
+        return true;
+    }
+
+    @OnLifecycleEvent(Lifecycle.Event.ON_START)
+    public void onStart() {
+        mMassStorageActive = Environment.MEDIA_SHARED.equals(Environment.getExternalStorageState());
+        IntentFilter filter = new IntentFilter(UsbManager.ACTION_USB_STATE);
+        filter.addAction(Intent.ACTION_MEDIA_SHARED);
+        filter.addAction(Intent.ACTION_MEDIA_UNSHARED);
+        mContext.registerReceiver(mUsbChangeReceiver, filter);
+    }
+
+
+    @OnLifecycleEvent(Lifecycle.Event.ON_RESUME)
+    public void onResume() {
+        mSharedPreferences.registerOnSharedPreferenceChangeListener(this);
+    }
+
+    @OnLifecycleEvent(Lifecycle.Event.ON_PAUSE)
+    public void onPause() {
+        mSharedPreferences.unregisterOnSharedPreferenceChangeListener(this);
+    }
+
+    @OnLifecycleEvent(Lifecycle.Event.ON_STOP)
+    public void onStop() {
+        mContext.unregisterReceiver(mUsbChangeReceiver);
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        String[] usbRegexs = mCm.getTetherableUsbRegexs();
+        if (usbRegexs == null || usbRegexs.length == 0 || Utils.isMonkeyRunning()) {
+            return CONDITIONALLY_UNAVAILABLE;
+        } else {
+            return AVAILABLE;
+        }
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        mPreference = screen.findPreference(mPreferenceKey);
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        super.updateState(preference);
+        if (preference != null) {
+            preference.setEnabled(mUsbConnected && !mMassStorageActive);
+        }
+    }
+
+    @VisibleForTesting
+    final BroadcastReceiver mUsbChangeReceiver = new BroadcastReceiver() {
+        @Override
+        public void onReceive(Context context, Intent intent) {
+            String action = intent.getAction();
+            if (TextUtils.equals(Intent.ACTION_MEDIA_SHARED, action)) {
+                mMassStorageActive = true;
+            } else if (TextUtils.equals(Intent.ACTION_MEDIA_UNSHARED, action)) {
+                mMassStorageActive = false;
+            } else if (TextUtils.equals(UsbManager.ACTION_USB_STATE, action)) {
+                mUsbConnected = intent.getBooleanExtra(UsbManager.USB_CONNECTED, false);
+            }
+            updateState(mPreference);
+        }
+    };
+
+    @Override
+    public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
+        if (TextUtils.equals(mPreferenceKey, key)) {
+            updateState(mPreference);
+        }
+    }
+}
diff --git a/src/com/android/settings/network/WifiTetherDisablePreferenceController.java b/src/com/android/settings/network/WifiTetherDisablePreferenceController.java
new file mode 100644
index 0000000..2650b8b
--- /dev/null
+++ b/src/com/android/settings/network/WifiTetherDisablePreferenceController.java
@@ -0,0 +1,182 @@
+/*
+ * 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.network;
+
+import android.content.Context;
+import android.content.SharedPreferences;
+import android.net.ConnectivityManager;
+import android.text.TextUtils;
+import android.util.Log;
+
+import androidx.lifecycle.Lifecycle;
+import androidx.lifecycle.LifecycleObserver;
+import androidx.lifecycle.OnLifecycleEvent;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+import androidx.preference.SwitchPreference;
+
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.settings.R;
+import com.android.settings.core.TogglePreferenceController;
+import com.android.settingslib.TetherUtil;
+
+/**
+ * This controller helps to manage the switch state and visibility of wifi tether disable switch
+ * preference. When the preference checked, wifi tether will be disabled.
+ * It stores preference value when preference changed and listens to usb tether and bluetooth tether
+ * preferences.
+ *
+ * @see BluetoothTetherPreferenceController
+ * @see UsbTetherPreferenceController
+ */
+public final class WifiTetherDisablePreferenceController extends TogglePreferenceController
+        implements LifecycleObserver, SharedPreferences.OnSharedPreferenceChangeListener {
+
+    private static final String TAG = "WifiTetherDisablePreferenceController";
+    private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
+
+    private final ConnectivityManager mCm;
+    private boolean mBluetoothTetherEnabled;
+    private boolean mUSBTetherEnabled;
+    private PreferenceScreen mScreen;
+    private Preference mPreference;
+    private final SharedPreferences mSharedPreferences;
+
+    public WifiTetherDisablePreferenceController(Context context, String prefKey) {
+        super(context, prefKey);
+        mSharedPreferences =
+                context.getSharedPreferences(TetherEnabler.SHARED_PREF, Context.MODE_PRIVATE);
+        mCm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
+        mUSBTetherEnabled = mSharedPreferences.getBoolean(
+                TetherEnabler.USB_TETHER_KEY, false);
+        mBluetoothTetherEnabled = mSharedPreferences.getBoolean(
+                TetherEnabler.BLUETOOTH_TETHER_KEY, false);
+    }
+
+    @Override
+    public boolean isChecked() {
+        return !mSharedPreferences.getBoolean(TetherEnabler.KEY_ENABLE_WIFI_TETHERING, true);
+    }
+
+    @Override
+    public boolean setChecked(boolean isChecked) {
+        // The shared preference's value is in the opposite of this preference's value.
+        final boolean enableWifi = !isChecked;
+        if (DEBUG) {
+            Log.d(TAG, "check state changing to " + isChecked);
+        }
+        final SharedPreferences.Editor editor = mSharedPreferences.edit();
+        editor.putBoolean(TetherEnabler.KEY_ENABLE_WIFI_TETHERING, enableWifi);
+        editor.apply();
+        return true;
+    }
+
+    @OnLifecycleEvent(Lifecycle.Event.ON_RESUME)
+    public void onResume() {
+        mSharedPreferences.registerOnSharedPreferenceChangeListener(this);
+    }
+
+    @OnLifecycleEvent(Lifecycle.Event.ON_PAUSE)
+    public void onPause() {
+        mSharedPreferences.unregisterOnSharedPreferenceChangeListener(this);
+    }
+
+    @VisibleForTesting
+    boolean shouldShow() {
+        return mBluetoothTetherEnabled || mUSBTetherEnabled;
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        final String[] wifiRegexs = mCm.getTetherableWifiRegexs();
+        if (wifiRegexs == null || wifiRegexs.length == 0 || !shouldShow()
+                || !TetherUtil.isTetherAvailable(mContext)) {
+            return CONDITIONALLY_UNAVAILABLE;
+        } else {
+            return AVAILABLE;
+        }
+    }
+
+    @Override
+    public CharSequence getSummary() {
+        if (mUSBTetherEnabled && mBluetoothTetherEnabled) {
+            return mContext.getString(R.string.disable_wifi_hotspot_when_usb_and_bluetooth_on);
+        } else if (mUSBTetherEnabled) {
+            return mContext.getString(R.string.disable_wifi_hotspot_when_usb_on);
+        } else if (mBluetoothTetherEnabled) {
+            return mContext.getString(R.string.disable_wifi_hotspot_when_bluetooth_on);
+        }
+        return mContext.getString(R.string.summary_placeholder);
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        mScreen = screen;
+        mPreference = screen.findPreference(mPreferenceKey);
+        if (mPreference != null) {
+            mPreference.setOnPreferenceChangeListener(this);
+        }
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        super.updateState(preference);
+        setVisible(mScreen, mPreferenceKey, shouldShow());
+        refreshSummary(preference);
+    }
+
+    @Override
+    public void onSharedPreferenceChanged(SharedPreferences sharedPreferences,
+            String key) {
+        final boolean shouldShowBefore = shouldShow();
+        if (TextUtils.equals(TetherEnabler.KEY_ENABLE_WIFI_TETHERING, key) && shouldShowBefore) {
+            updateState(mPreference);
+            return;
+        }
+
+        boolean shouldUpdateState = false;
+        if (TextUtils.equals(TetherEnabler.USB_TETHER_KEY, key)) {
+            mUSBTetherEnabled = sharedPreferences.getBoolean(key, false);
+            shouldUpdateState = true;
+        } else if (TextUtils.equals(TetherEnabler.BLUETOOTH_TETHER_KEY, key)) {
+            mBluetoothTetherEnabled = sharedPreferences.getBoolean(key, false);
+            shouldUpdateState = true;
+        }
+
+        // Check if we are hiding this preference. If so, make sure the preference is set to
+        // unchecked to enable wifi tether.
+        if (mPreference != null && mPreference instanceof SwitchPreference
+                && shouldShowBefore && !shouldShow()) {
+            final SwitchPreference switchPreference = (SwitchPreference) mPreference;
+            if (switchPreference.isChecked()) {
+                if (DEBUG) {
+                    Log.d(TAG,
+                            "All other types are unchecked, wifi tether enabled automatically");
+                }
+                // Need to call this method before internal state set.
+                if (switchPreference.callChangeListener(false)) {
+                    switchPreference.setChecked(false);
+                }
+            }
+        }
+
+        if (shouldUpdateState) {
+            updateState(mPreference);
+        }
+    }
+}
diff --git a/src/com/android/settings/network/ims/BooleanConsumer.java b/src/com/android/settings/network/ims/BooleanConsumer.java
new file mode 100644
index 0000000..a5dfe6f
--- /dev/null
+++ b/src/com/android/settings/network/ims/BooleanConsumer.java
@@ -0,0 +1,58 @@
+/*
+ * 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.ims;
+
+import java.util.concurrent.Semaphore;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.function.Consumer;
+
+class BooleanConsumer extends Semaphore implements Consumer<Boolean> {
+
+    private static final String TAG = "BooleanConsumer";
+
+    BooleanConsumer() {
+        super(0);
+        mValue = new AtomicBoolean();
+    }
+
+    private volatile AtomicBoolean mValue;
+
+    /**
+     * Get boolean value reported from callback
+     *
+     * @param timeout callback waiting time in milliseconds
+     * @return boolean value reported
+     * @throws InterruptedException when thread get interrupted
+     */
+    boolean get(long timeout) throws InterruptedException {
+        tryAcquire(timeout, TimeUnit.MILLISECONDS);
+        return mValue.get();
+    }
+
+    /**
+     * Implementation of {@link Consumer#accept(Boolean)}
+     *
+     * @param value boolean reported from {@link Consumer#accept(Boolean)}
+     */
+    public void accept(Boolean value) {
+        if (value != null) {
+            mValue.set(value.booleanValue());
+        }
+        release();
+    }
+}
diff --git a/src/com/android/settings/network/ims/ImsQuery.java b/src/com/android/settings/network/ims/ImsQuery.java
new file mode 100644
index 0000000..dcb6eee
--- /dev/null
+++ b/src/com/android/settings/network/ims/ImsQuery.java
@@ -0,0 +1,32 @@
+/*
+ * 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.ims;
+
+
+/**
+ * An interface for direct querying IMS, and return {@link boolean}
+ */
+public interface ImsQuery {
+
+    /**
+     * Interface for performing IMS status/configuration query through public APIs
+     *
+     * @return result of query in boolean
+     */
+    boolean query();
+
+}
diff --git a/src/com/android/settings/network/ims/ImsQueryController.java b/src/com/android/settings/network/ims/ImsQueryController.java
new file mode 100644
index 0000000..8fdad40
--- /dev/null
+++ b/src/com/android/settings/network/ims/ImsQueryController.java
@@ -0,0 +1,87 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.network.ims;
+
+import android.telephony.AccessNetworkConstants;
+import android.telephony.SubscriptionManager;
+import android.telephony.ims.ImsException;
+import android.telephony.ims.ImsMmTelManager;
+import android.telephony.ims.feature.MmTelFeature;
+import android.telephony.ims.stub.ImsRegistrationImplBase;
+
+import androidx.annotation.VisibleForTesting;
+
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+
+/**
+ * Controller class for querying IMS status
+ */
+abstract class ImsQueryController {
+
+    private static final long TIMEOUT_MILLIS = 2000;
+
+    private volatile int mCapability;
+    private volatile int mTech;
+    private volatile int mTransportType;
+
+    /**
+     * Constructor for query IMS status
+     *
+     * @param capability {@link MmTelFeature.MmTelCapabilities#MmTelCapability}
+     * @param tech {@link ImsRegistrationImplBase#ImsRegistrationTech}
+     * @param transportType {@link AccessNetworkConstants#TransportType}
+     */
+    ImsQueryController(
+            @MmTelFeature.MmTelCapabilities.MmTelCapability int capability,
+            @ImsRegistrationImplBase.ImsRegistrationTech int tech,
+            @AccessNetworkConstants.TransportType int transportType) {
+        mCapability = capability;
+        mTech = tech;
+        mTransportType = transportType;
+    }
+
+    abstract boolean isEnabledByUser(int subId);
+
+    @VisibleForTesting
+    boolean isTtyOnVolteEnabled(int subId) {
+        return (new ImsQueryTtyOnVolteStat(subId)).query();
+    }
+
+    @VisibleForTesting
+    boolean isEnabledByPlatform(int subId) throws InterruptedException, ImsException,
+            IllegalArgumentException {
+        if (!SubscriptionManager.isValidSubscriptionId(subId)) {
+            return false;
+        }
+
+        final ImsMmTelManager imsMmTelManager = ImsMmTelManager.createForSubscriptionId(subId);
+        // TODO: have a shared thread pool instead of create ExecutorService
+        //       everytime to improve performance.
+        final ExecutorService executor = Executors.newSingleThreadExecutor();
+        final BooleanConsumer booleanResult = new BooleanConsumer();
+        imsMmTelManager.isSupported(mCapability, mTransportType, executor, booleanResult);
+        // get() will be blocked until end of execution(isSupported()) within thread(executor)
+        // or timeout after TIMEOUT_MILLIS milliseconds
+        return booleanResult.get(TIMEOUT_MILLIS);
+    }
+
+    @VisibleForTesting
+    boolean isProvisionedOnDevice(int subId) {
+        return (new ImsQueryProvisioningStat(subId, mCapability, mTech)).query();
+    }
+}
diff --git a/src/com/android/settings/network/ims/ImsQueryEnhanced4gLteModeUserSetting.java b/src/com/android/settings/network/ims/ImsQueryEnhanced4gLteModeUserSetting.java
new file mode 100644
index 0000000..c00f1df
--- /dev/null
+++ b/src/com/android/settings/network/ims/ImsQueryEnhanced4gLteModeUserSetting.java
@@ -0,0 +1,47 @@
+/*
+ * 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.ims;
+
+import android.telephony.ims.ImsMmTelManager;
+
+
+/**
+ * An {@link ImsQuery} for accessing IMS user setting for enhanced 4G LTE
+ */
+public class ImsQueryEnhanced4gLteModeUserSetting implements ImsQuery {
+
+    /**
+     * Constructor
+     * @param subId subscription id
+     */
+    public ImsQueryEnhanced4gLteModeUserSetting(int subId) {
+        mSubId = subId;
+    }
+
+    private volatile int mSubId;
+
+    /**
+     * Implementation of interface {@link ImsQuery#query()}
+     *
+     * @return result of query
+     */
+    public boolean query() {
+        final ImsMmTelManager imsMmTelManager =
+                ImsMmTelManager.createForSubscriptionId(mSubId);
+        return imsMmTelManager.isAdvancedCallingSettingEnabled();
+    }
+}
diff --git a/src/com/android/settings/network/ims/ImsQueryProvisioningStat.java b/src/com/android/settings/network/ims/ImsQueryProvisioningStat.java
new file mode 100644
index 0000000..5c050b5
--- /dev/null
+++ b/src/com/android/settings/network/ims/ImsQueryProvisioningStat.java
@@ -0,0 +1,57 @@
+/*
+ * 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.ims;
+
+import android.telephony.ims.ProvisioningManager;
+import android.telephony.ims.feature.MmTelFeature;
+import android.telephony.ims.stub.ImsRegistrationImplBase;
+
+
+/**
+ * An {@link ImsQuery} for accessing IMS provision stat
+ */
+public class ImsQueryProvisioningStat implements ImsQuery {
+
+    private volatile int mSubId;
+    private volatile int mCapability;
+    private volatile int mTech;
+
+    /**
+     * Constructor
+     * @param subId subscription id
+     * @param capability {@link MmTelFeature.MmTelCapabilities#MmTelCapability}
+     * @param tech {@link ImsRegistrationImplBase#ImsRegistrationTech}
+     */
+    public ImsQueryProvisioningStat(int subId,
+            @MmTelFeature.MmTelCapabilities.MmTelCapability int capability,
+            @ImsRegistrationImplBase.ImsRegistrationTech int tech) {
+        mSubId = subId;
+        mCapability = capability;
+        mTech = tech;
+    }
+
+    /**
+     * Implementation of interface {@link ImsQuery#query()}
+     *
+     * @return result of query
+     */
+    public boolean query() {
+        final ProvisioningManager privisionManager =
+                ProvisioningManager.createForSubscriptionId(mSubId);
+        return privisionManager.getProvisioningStatusForCapability(mCapability, mTech);
+    }
+}
diff --git a/src/com/android/settings/network/ims/ImsQueryTtyOnVolteStat.java b/src/com/android/settings/network/ims/ImsQueryTtyOnVolteStat.java
new file mode 100644
index 0000000..c2d655f
--- /dev/null
+++ b/src/com/android/settings/network/ims/ImsQueryTtyOnVolteStat.java
@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.network.ims;
+
+import android.telephony.ims.ImsMmTelManager;
+
+
+/**
+ * An {@link ImsQuery} for accessing IMS tty on VoLte stat
+ */
+public class ImsQueryTtyOnVolteStat implements ImsQuery {
+
+    /**
+     * Constructor
+     * @param subId subscription id
+     */
+    public ImsQueryTtyOnVolteStat(int subId) {
+        mSubId = subId;
+    }
+
+    private volatile int mSubId;
+
+    /**
+     * Implementation of interface {@link ImsQuery#query()}
+     *
+     * @return result of query
+     */
+    public boolean query() {
+        final ImsMmTelManager imsMmTelManager = ImsMmTelManager.createForSubscriptionId(mSubId);
+        return imsMmTelManager.isTtyOverVolteEnabled();
+    }
+}
diff --git a/src/com/android/settings/network/ims/ImsQueryVtUserSetting.java b/src/com/android/settings/network/ims/ImsQueryVtUserSetting.java
new file mode 100644
index 0000000..6d699e3
--- /dev/null
+++ b/src/com/android/settings/network/ims/ImsQueryVtUserSetting.java
@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.network.ims;
+
+import android.telephony.ims.ImsMmTelManager;
+
+
+/**
+ * An {@link ImsQuery} for accessing IMS VT enabled settings from user
+ */
+public class ImsQueryVtUserSetting implements ImsQuery {
+
+    /**
+     * Constructor
+     * @param subId subscription id
+     */
+    public ImsQueryVtUserSetting(int subId) {
+        mSubId = subId;
+    }
+
+    private volatile int mSubId;
+
+    /**
+     * Implementation of interface {@link ImsQuery#query()}
+     *
+     * @return result of query
+     */
+    public boolean query() {
+        final ImsMmTelManager imsMmTelManager = ImsMmTelManager.createForSubscriptionId(mSubId);
+        return imsMmTelManager.isVtSettingEnabled();
+    }
+}
diff --git a/src/com/android/settings/network/ims/ImsQueryWfcUserSetting.java b/src/com/android/settings/network/ims/ImsQueryWfcUserSetting.java
new file mode 100644
index 0000000..22d2c67
--- /dev/null
+++ b/src/com/android/settings/network/ims/ImsQueryWfcUserSetting.java
@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.network.ims;
+
+import android.telephony.ims.ImsMmTelManager;
+
+
+/**
+ * An {@link ImsQuery} for accessing IMS WFC enabled settings from user
+ */
+public class ImsQueryWfcUserSetting implements ImsQuery {
+
+    /**
+     * Constructor
+     * @param subId subscription id
+     */
+    public ImsQueryWfcUserSetting(int subId) {
+        mSubId = subId;
+    }
+
+    private volatile int mSubId;
+
+    /**
+     * Implementation of interface {@link ImsQuery#query()}
+     *
+     * @return result of query
+     */
+    public boolean query() {
+        final ImsMmTelManager imsMmTelManager = ImsMmTelManager.createForSubscriptionId(mSubId);
+        return imsMmTelManager.isVoWiFiSettingEnabled();
+    }
+}
diff --git a/src/com/android/settings/network/ims/VolteQueryImsState.java b/src/com/android/settings/network/ims/VolteQueryImsState.java
new file mode 100644
index 0000000..22fb529
--- /dev/null
+++ b/src/com/android/settings/network/ims/VolteQueryImsState.java
@@ -0,0 +1,130 @@
+/*
+ * 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.ims;
+
+import android.content.Context;
+import android.telecom.TelecomManager;
+import android.telephony.AccessNetworkConstants;
+import android.telephony.SubscriptionManager;
+import android.telephony.ims.ImsException;
+import android.telephony.ims.feature.MmTelFeature;
+import android.telephony.ims.stub.ImsRegistrationImplBase;
+import android.util.Log;
+
+import androidx.annotation.VisibleForTesting;
+
+import com.android.ims.ImsManager;
+import com.android.settings.network.SubscriptionUtil;
+import com.android.settings.network.telephony.MobileNetworkUtils;
+
+/**
+ * Controller class for querying Volte status
+ */
+public class VolteQueryImsState extends ImsQueryController {
+
+    private static final String LOG_TAG = "VolteQueryImsState";
+
+    private Context mContext;
+    private int mSubId;
+
+    /**
+     * Constructor
+     *
+     * @param context {@link Context}
+     * @param subId subscription's id
+     */
+    public VolteQueryImsState(Context context, int subId) {
+        super(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE,
+                ImsRegistrationImplBase.REGISTRATION_TECH_LTE,
+                AccessNetworkConstants.TRANSPORT_TYPE_WWAN);
+        mContext = context;
+        mSubId = subId;
+    }
+
+    /**
+     * Implementation of ImsQueryController#isEnabledByUser(int subId)
+     */
+    @VisibleForTesting
+    boolean isEnabledByUser(int subId) {
+        return (new ImsQueryEnhanced4gLteModeUserSetting(subId)).query();
+    }
+
+    @VisibleForTesting
+    ImsManager getImsManager(int subId) {
+        return ImsManager.getInstance(mContext,
+                SubscriptionUtil.getPhoneId(mContext, subId));
+    }
+
+    /**
+     * Check whether VoLTE has been provisioned or not on this subscription
+     *
+     * @return true when VoLTE has been enabled, otherwise false
+     */
+    public boolean isVoLteProvisioned() {
+        if (!isProvisionedOnDevice(mSubId)) {
+            return false;
+        }
+        try {
+            return isEnabledByPlatform(mSubId);
+        } catch (InterruptedException | IllegalArgumentException | ImsException exception) {
+            Log.w(LOG_TAG, "fail to get VoLte supporting status. subId=" + mSubId, exception);
+        }
+        return false;
+    }
+
+    /**
+     * Check whether VoLTE can be perform or not on this subscription
+     *
+     * @return true when VoLTE can be performed, otherwise false
+     */
+    public boolean isReadyToVoLte() {
+        return isVoLteProvisioned()
+                && MobileNetworkUtils.isImsServiceStateReady(getImsManager(mSubId));
+    }
+
+    /**
+     * Get allowance status for user to alter configuration
+     *
+     * @return true when changing configuration by user is allowed.
+     */
+    public boolean isAllowUserControl() {
+        if (!SubscriptionManager.isValidSubscriptionId(mSubId)) {
+            return false;
+        }
+
+        return ((!isTtyEnabled(mContext))
+                || (isTtyOnVolteEnabled(mSubId)));
+    }
+
+    @VisibleForTesting
+    boolean isTtyEnabled(Context context) {
+        final TelecomManager telecomManager = context.getSystemService(TelecomManager.class);
+        return (telecomManager.getCurrentTtyMode() != TelecomManager.TTY_MODE_OFF);
+    }
+
+    /**
+     * Get user's configuration
+     *
+     * @return true when user's configuration is ON otherwise false.
+     */
+    public boolean isEnabledByUser() {
+        if (!SubscriptionManager.isValidSubscriptionId(mSubId)) {
+            return false;
+        }
+        return isEnabledByUser(mSubId);
+    }
+}
diff --git a/src/com/android/settings/network/ims/VtQueryImsState.java b/src/com/android/settings/network/ims/VtQueryImsState.java
new file mode 100644
index 0000000..60bd729
--- /dev/null
+++ b/src/com/android/settings/network/ims/VtQueryImsState.java
@@ -0,0 +1,114 @@
+/*
+ * 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.ims;
+
+import android.content.Context;
+import android.telecom.TelecomManager;
+import android.telephony.AccessNetworkConstants;
+import android.telephony.SubscriptionManager;
+import android.telephony.ims.feature.MmTelFeature;
+import android.telephony.ims.stub.ImsRegistrationImplBase;
+
+import androidx.annotation.VisibleForTesting;
+
+import com.android.ims.ImsManager;
+import com.android.settings.network.SubscriptionUtil;
+import com.android.settings.network.telephony.MobileNetworkUtils;
+
+/**
+ * Controller class for querying VT status
+ */
+public class VtQueryImsState extends ImsQueryController {
+
+    private Context mContext;
+    private int mSubId;
+
+    /**
+     * Constructor
+     *
+     * @param context {@link Context}
+     * @param subId subscription's id
+     */
+    public VtQueryImsState(Context context, int subId) {
+        super(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VIDEO,
+                ImsRegistrationImplBase.REGISTRATION_TECH_LTE,
+                AccessNetworkConstants.TRANSPORT_TYPE_WWAN);
+        mContext = context;
+        mSubId = subId;
+    }
+
+    /**
+     * Implementation of ImsQueryController#isEnabledByUser(int subId)
+     */
+    @VisibleForTesting
+    boolean isEnabledByUser(int subId) {
+        return (new ImsQueryVtUserSetting(subId)).query();
+    }
+
+    @VisibleForTesting
+    ImsManager getImsManager(int subId) {
+        return ImsManager.getInstance(mContext,
+                SubscriptionUtil.getPhoneId(mContext, subId));
+    }
+
+    /**
+     * Check whether Video Call can be perform or not on this subscription
+     *
+     * @return true when Video Call can be performed, otherwise false
+     */
+    public boolean isReadyToVideoCall() {
+        final ImsManager imsManager = getImsManager(mSubId);
+        if (imsManager == null) {
+            return false;
+        }
+
+        return imsManager.isVtEnabledByPlatform()
+                && isProvisionedOnDevice(mSubId)
+                && MobileNetworkUtils.isImsServiceStateReady(imsManager);
+    }
+
+    /**
+     * Get allowance status for user to alter configuration
+     *
+     * @return true when changing configuration by user is allowed.
+     */
+    public boolean isAllowUserControl() {
+        if (!SubscriptionManager.isValidSubscriptionId(mSubId)) {
+            return false;
+        }
+        return ((!isTtyEnabled(mContext))
+                || (isTtyOnVolteEnabled(mSubId)));
+    }
+
+    @VisibleForTesting
+    boolean isTtyEnabled(Context context) {
+        final TelecomManager telecomManager = context.getSystemService(TelecomManager.class);
+        return (telecomManager.getCurrentTtyMode() != TelecomManager.TTY_MODE_OFF);
+    }
+
+    /**
+     * Get user's configuration
+     *
+     * @return true when user's configuration is ON otherwise false.
+     */
+    public boolean isEnabledByUser() {
+        if (!SubscriptionManager.isValidSubscriptionId(mSubId)) {
+            return false;
+        }
+        return isEnabledByUser(mSubId);
+    }
+}
diff --git a/src/com/android/settings/network/ims/WifiCallingQueryImsState.java b/src/com/android/settings/network/ims/WifiCallingQueryImsState.java
new file mode 100644
index 0000000..1667b7f
--- /dev/null
+++ b/src/com/android/settings/network/ims/WifiCallingQueryImsState.java
@@ -0,0 +1,124 @@
+/*
+ * 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.ims;
+
+import android.content.Context;
+import android.telecom.TelecomManager;
+import android.telephony.AccessNetworkConstants;
+import android.telephony.SubscriptionManager;
+import android.telephony.ims.feature.MmTelFeature;
+import android.telephony.ims.stub.ImsRegistrationImplBase;
+
+import androidx.annotation.VisibleForTesting;
+
+import com.android.ims.ImsManager;
+import com.android.settings.network.SubscriptionUtil;
+import com.android.settings.network.telephony.MobileNetworkUtils;
+
+/**
+ * Controller class for querying Wifi calling status
+ */
+public class WifiCallingQueryImsState extends ImsQueryController  {
+
+    private Context mContext;
+    private int mSubId;
+
+    /**
+     * Constructor
+     *
+     * @param context {@link Context}
+     * @param subId subscription's id
+     */
+    public WifiCallingQueryImsState(Context context, int subId) {
+        super(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE,
+                ImsRegistrationImplBase.REGISTRATION_TECH_IWLAN,
+                AccessNetworkConstants.TRANSPORT_TYPE_WLAN);
+        mContext = context;
+        mSubId = subId;
+    }
+
+    /**
+     * Implementation of ImsQueryController#isEnabledByUser(int subId)
+     */
+    @VisibleForTesting
+    boolean isEnabledByUser(int subId) {
+        return (new ImsQueryWfcUserSetting(subId)).query();
+    }
+
+    @VisibleForTesting
+    ImsManager getImsManager(int subId) {
+        return ImsManager.getInstance(mContext,
+                SubscriptionUtil.getPhoneId(mContext, subId));
+    }
+
+    /**
+     * Check whether Wifi Calling has been provisioned or not on this subscription
+     *
+     * @return true when Wifi Calling has been enabled, otherwise false
+     */
+    public boolean isWifiCallingProvisioned() {
+        final ImsManager imsManager = getImsManager(mSubId);
+        if (imsManager == null) {
+            return false;
+        }
+
+        return imsManager.isWfcEnabledByPlatform()
+                && isProvisionedOnDevice(mSubId);
+    }
+
+    /**
+     * Check whether Wifi Calling can be perform or not on this subscription
+     *
+     * @return true when Wifi Calling can be performed, otherwise false
+     */
+    public boolean isReadyToWifiCalling() {
+        return isWifiCallingProvisioned()
+                && MobileNetworkUtils.isImsServiceStateReady(getImsManager(mSubId));
+    }
+
+    /**
+     * Get allowance status for user to alter configuration
+     *
+     * @return true when changing configuration by user is allowed.
+     */
+    public boolean isAllowUserControl() {
+        if (!SubscriptionManager.isValidSubscriptionId(mSubId)) {
+            return false;
+        }
+
+        return ((!isTtyEnabled(mContext))
+                || (isTtyOnVolteEnabled(mSubId)));
+    }
+
+    @VisibleForTesting
+    boolean isTtyEnabled(Context context) {
+        final TelecomManager telecomManager = context.getSystemService(TelecomManager.class);
+        return (telecomManager.getCurrentTtyMode() != TelecomManager.TTY_MODE_OFF);
+    }
+
+    /**
+     * Get user's configuration
+     *
+     * @return true when user's configuration is ON otherwise false.
+     */
+    public boolean isEnabledByUser() {
+        if (!SubscriptionManager.isValidSubscriptionId(mSubId)) {
+            return false;
+        }
+        return isEnabledByUser(mSubId);
+    }
+}
diff --git a/src/com/android/settings/network/telephony/ApnPreferenceController.java b/src/com/android/settings/network/telephony/ApnPreferenceController.java
index 98c1f5b..dd68129 100644
--- a/src/com/android/settings/network/telephony/ApnPreferenceController.java
+++ b/src/com/android/settings/network/telephony/ApnPreferenceController.java
@@ -52,7 +52,7 @@
 
     public ApnPreferenceController(Context context, String key) {
         super(context, key);
-        mCarrierConfigManager = new CarrierConfigManager(context);
+        mCarrierConfigManager = context.getSystemService(CarrierConfigManager.class);
         mDpcApnEnforcedObserver = new DpcApnEnforcedObserver(new Handler(Looper.getMainLooper()));
     }
 
diff --git a/src/com/android/settings/network/telephony/CallingPreferenceCategoryController.java b/src/com/android/settings/network/telephony/CallingPreferenceCategoryController.java
new file mode 100644
index 0000000..f836415
--- /dev/null
+++ b/src/com/android/settings/network/telephony/CallingPreferenceCategoryController.java
@@ -0,0 +1,31 @@
+/*
+ * 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.network.telephony;
+
+import android.content.Context;
+
+import com.android.settings.widget.PreferenceCategoryController;
+
+/**
+ * Preference controller for "Calling" category
+ */
+public class CallingPreferenceCategoryController extends PreferenceCategoryController {
+
+    public CallingPreferenceCategoryController(Context context, String key) {
+        super(context, key);
+    }
+}
diff --git a/src/com/android/settings/network/telephony/CallsDefaultSubscriptionController.java b/src/com/android/settings/network/telephony/CallsDefaultSubscriptionController.java
index 008a3e4..99009c9 100644
--- a/src/com/android/settings/network/telephony/CallsDefaultSubscriptionController.java
+++ b/src/com/android/settings/network/telephony/CallsDefaultSubscriptionController.java
@@ -28,7 +28,7 @@
 
     @Override
     protected SubscriptionInfo getDefaultSubscriptionInfo() {
-        return mManager.getDefaultVoiceSubscriptionInfo();
+        return mManager.getActiveSubscriptionInfo(getDefaultSubscriptionId());
     }
 
     @Override
@@ -38,6 +38,6 @@
 
     @Override
     protected void setDefaultSubscription(int subscriptionId) {
-        mManager.setDefaultVoiceSubId(subscriptionId);
+        mManager.setDefaultVoiceSubscriptionId(subscriptionId);
     }
 }
diff --git a/src/com/android/settings/network/telephony/CarrierPreferenceController.java b/src/com/android/settings/network/telephony/CarrierPreferenceController.java
index c381dc4..e0e21d4 100644
--- a/src/com/android/settings/network/telephony/CarrierPreferenceController.java
+++ b/src/com/android/settings/network/telephony/CarrierPreferenceController.java
@@ -38,7 +38,7 @@
 
     public CarrierPreferenceController(Context context, String key) {
         super(context, key);
-        mCarrierConfigManager = new CarrierConfigManager(context);
+        mCarrierConfigManager = context.getSystemService(CarrierConfigManager.class);
     }
 
     public void init(int subId) {
diff --git a/src/com/android/settings/network/telephony/CellInfoUtil.java b/src/com/android/settings/network/telephony/CellInfoUtil.java
index def81a1..7412428 100644
--- a/src/com/android/settings/network/telephony/CellInfoUtil.java
+++ b/src/com/android/settings/network/telephony/CellInfoUtil.java
@@ -17,23 +17,24 @@
 package com.android.settings.network.telephony;
 
 import android.telephony.CellIdentity;
-import android.telephony.CellIdentityCdma;
 import android.telephony.CellIdentityGsm;
 import android.telephony.CellIdentityLte;
+import android.telephony.CellIdentityNr;
+import android.telephony.CellIdentityTdscdma;
 import android.telephony.CellIdentityWcdma;
 import android.telephony.CellInfo;
 import android.telephony.CellInfoCdma;
 import android.telephony.CellInfoGsm;
 import android.telephony.CellInfoLte;
+import android.telephony.CellInfoNr;
+import android.telephony.CellInfoTdscdma;
 import android.telephony.CellInfoWcdma;
 import android.text.BidiFormatter;
 import android.text.TextDirectionHeuristics;
 import android.text.TextUtils;
-import android.util.Log;
-
-import com.android.internal.telephony.OperatorInfo;
 
 import java.util.List;
+import java.util.Objects;
 import java.util.stream.Collectors;
 
 /**
@@ -47,121 +48,57 @@
     }
 
     /**
-     * Wrap a CellIdentity into a CellInfo.
-     */
-    public static CellInfo wrapCellInfoWithCellIdentity(CellIdentity cellIdentity) {
-        if (cellIdentity instanceof CellIdentityLte) {
-            CellInfoLte cellInfo = new CellInfoLte();
-            cellInfo.setCellIdentity((CellIdentityLte) cellIdentity);
-            return cellInfo;
-        } else if (cellIdentity instanceof CellIdentityCdma) {
-            CellInfoCdma cellInfo = new CellInfoCdma();
-            cellInfo.setCellIdentity((CellIdentityCdma) cellIdentity);
-            return cellInfo;
-        }  else if (cellIdentity instanceof CellIdentityWcdma) {
-            CellInfoWcdma cellInfo = new CellInfoWcdma();
-            cellInfo.setCellIdentity((CellIdentityWcdma) cellIdentity);
-            return cellInfo;
-        } else if (cellIdentity instanceof CellIdentityGsm) {
-            CellInfoGsm cellInfo = new CellInfoGsm();
-            cellInfo.setCellIdentity((CellIdentityGsm) cellIdentity);
-            return cellInfo;
-        } else {
-            Log.e(TAG, "Invalid CellInfo type");
-            return null;
-        }
-    }
-
-    /**
      * Returns the title of the network obtained in the manual search.
      *
-     * @param cellInfo contains the information of the network.
+     * @param cellId contains the identity of the network.
+     * @param networkMccMnc contains the MCCMNC string of the network
      * @return Long Name if not null/empty, otherwise Short Name if not null/empty,
      * else MCCMNC string.
      */
-    public static String getNetworkTitle(CellInfo cellInfo) {
-        OperatorInfo oi = getOperatorInfoFromCellInfo(cellInfo);
-
-        if (!TextUtils.isEmpty(oi.getOperatorAlphaLong())) {
-            return oi.getOperatorAlphaLong();
-        } else if (!TextUtils.isEmpty(oi.getOperatorAlphaShort())) {
-            return oi.getOperatorAlphaShort();
-        } else {
-            BidiFormatter bidiFormatter = BidiFormatter.getInstance();
-            return bidiFormatter.unicodeWrap(oi.getOperatorNumeric(), TextDirectionHeuristics.LTR);
+    public static String getNetworkTitle(CellIdentity cellId, String networkMccMnc) {
+        if (cellId != null) {
+            String title = Objects.toString(cellId.getOperatorAlphaLong(), "");
+            if (TextUtils.isEmpty(title)) {
+                title = Objects.toString(cellId.getOperatorAlphaShort(), "");
+            }
+            if (!TextUtils.isEmpty(title)) {
+                return title;
+            }
         }
+        if (TextUtils.isEmpty(networkMccMnc)) {
+            return "";
+        }
+        final BidiFormatter bidiFormatter = BidiFormatter.getInstance();
+        return bidiFormatter.unicodeWrap(networkMccMnc, TextDirectionHeuristics.LTR);
     }
 
     /**
-     * Wrap a cell info into an operator info.
+     * Returns the CellIdentity from CellInfo
+     *
+     * @param cellInfo contains the information of the network.
+     * @return CellIdentity within CellInfo
      */
-    public static OperatorInfo getOperatorInfoFromCellInfo(CellInfo cellInfo) {
-        OperatorInfo oi;
-        if (cellInfo instanceof CellInfoLte) {
-            CellInfoLte lte = (CellInfoLte) cellInfo;
-            oi = new OperatorInfo(
-                    (String) lte.getCellIdentity().getOperatorAlphaLong(),
-                    (String) lte.getCellIdentity().getOperatorAlphaShort(),
-                    lte.getCellIdentity().getMobileNetworkOperator());
-        } else if (cellInfo instanceof CellInfoWcdma) {
-            CellInfoWcdma wcdma = (CellInfoWcdma) cellInfo;
-            oi = new OperatorInfo(
-                    (String) wcdma.getCellIdentity().getOperatorAlphaLong(),
-                    (String) wcdma.getCellIdentity().getOperatorAlphaShort(),
-                    wcdma.getCellIdentity().getMobileNetworkOperator());
-        } else if (cellInfo instanceof CellInfoGsm) {
-            CellInfoGsm gsm = (CellInfoGsm) cellInfo;
-            oi = new OperatorInfo(
-                    (String) gsm.getCellIdentity().getOperatorAlphaLong(),
-                    (String) gsm.getCellIdentity().getOperatorAlphaShort(),
-                    gsm.getCellIdentity().getMobileNetworkOperator());
+    public static CellIdentity getCellIdentity(CellInfo cellInfo) {
+        if (cellInfo == null) {
+            return null;
+        }
+        CellIdentity cellId = null;
+        if (cellInfo instanceof CellInfoGsm) {
+            cellId = ((CellInfoGsm) cellInfo).getCellIdentity();
         } else if (cellInfo instanceof CellInfoCdma) {
-            CellInfoCdma cdma = (CellInfoCdma) cellInfo;
-            oi = new OperatorInfo(
-                    (String) cdma.getCellIdentity().getOperatorAlphaLong(),
-                    (String) cdma.getCellIdentity().getOperatorAlphaShort(),
-                    "" /* operator numeric */);
-        } else {
-            Log.e(TAG, "Invalid CellInfo type");
-            oi = new OperatorInfo("", "", "");
+            cellId = ((CellInfoCdma) cellInfo).getCellIdentity();
+        } else if (cellInfo instanceof CellInfoWcdma) {
+            cellId = ((CellInfoWcdma) cellInfo).getCellIdentity();
+        } else if (cellInfo instanceof CellInfoTdscdma) {
+            cellId = ((CellInfoTdscdma) cellInfo).getCellIdentity();
+        } else if (cellInfo instanceof CellInfoLte) {
+            cellId = ((CellInfoLte) cellInfo).getCellIdentity();
+        } else if (cellInfo instanceof CellInfoNr) {
+            cellId = ((CellInfoNr) cellInfo).getCellIdentity();
         }
-        return oi;
+        return cellId;
     }
 
-    /**
-     * Creates a CellInfo object from OperatorInfo. GsmCellInfo is used here only because
-     * operatorInfo does not contain technology type while CellInfo is an abstract object that
-     * requires to specify technology type. It doesn't matter which CellInfo type to use here, since
-     * we only want to wrap the operator info and PLMN to a CellInfo object.
-     */
-    public static CellInfo convertOperatorInfoToCellInfo(OperatorInfo operatorInfo) {
-        String operatorNumeric = operatorInfo.getOperatorNumeric();
-        String mcc = null;
-        String mnc = null;
-        if (operatorNumeric != null && operatorNumeric.matches("^[0-9]{5,6}$")) {
-            mcc = operatorNumeric.substring(0, 3);
-            mnc = operatorNumeric.substring(3);
-        }
-        CellIdentityGsm cig = new CellIdentityGsm(
-                Integer.MAX_VALUE /* lac */,
-                Integer.MAX_VALUE /* cid */,
-                Integer.MAX_VALUE /* arfcn */,
-                Integer.MAX_VALUE /* bsic */,
-                mcc,
-                mnc,
-                operatorInfo.getOperatorAlphaLong(),
-                operatorInfo.getOperatorAlphaShort());
-
-        CellInfoGsm ci = new CellInfoGsm();
-        ci.setCellIdentity(cig);
-        return ci;
-    }
-
-    /** Checks whether the network operator is forbidden. */
-    public static boolean isForbidden(CellInfo cellInfo, List<String> forbiddenPlmns) {
-        String plmn = CellInfoUtil.getOperatorInfoFromCellInfo(cellInfo).getOperatorNumeric();
-        return forbiddenPlmns != null && forbiddenPlmns.contains(plmn);
-    }
 
     /** Convert a list of cellInfos to readable string without sensitive info. */
     public static String cellInfoListToString(List<CellInfo> cellInfos) {
@@ -172,11 +109,31 @@
 
     /** Convert {@code cellInfo} to a readable string without sensitive info. */
     public static String cellInfoToString(CellInfo cellInfo) {
-        String cellType = cellInfo.getClass().getSimpleName();
-        CellIdentity cid = cellInfo.getCellIdentity();
+        final String cellType = cellInfo.getClass().getSimpleName();
+        final CellIdentity cid = getCellIdentity(cellInfo);
+        String mcc = null;
+        String mnc = null;
+        if (cid != null) {
+            if (cid instanceof CellIdentityGsm) {
+                mcc = ((CellIdentityGsm) cid).getMccString();
+                mnc = ((CellIdentityGsm) cid).getMncString();
+            } else if (cid instanceof CellIdentityWcdma) {
+                mcc = ((CellIdentityWcdma) cid).getMccString();
+                mnc = ((CellIdentityWcdma) cid).getMncString();
+            } else if (cid instanceof CellIdentityTdscdma) {
+                mcc = ((CellIdentityTdscdma) cid).getMccString();
+                mnc = ((CellIdentityTdscdma) cid).getMncString();
+            } else if (cid instanceof CellIdentityLte) {
+                mcc = ((CellIdentityLte) cid).getMccString();
+                mnc = ((CellIdentityLte) cid).getMncString();
+            } else if (cid instanceof CellIdentityNr) {
+                mcc = ((CellIdentityNr) cid).getMccString();
+                mnc = ((CellIdentityNr) cid).getMncString();
+            }
+        }
         return String.format(
                 "{CellType = %s, isRegistered = %b, mcc = %s, mnc = %s, alphaL = %s, alphaS = %s}",
-                cellType, cellInfo.isRegistered(), cid.getMccString(), cid.getMncString(),
+                cellType, cellInfo.isRegistered(), mcc, mnc,
                 cid.getOperatorAlphaLong(), cid.getOperatorAlphaShort());
     }
 }
diff --git a/src/com/android/settings/network/telephony/ContactDiscoveryDialogFragment.java b/src/com/android/settings/network/telephony/ContactDiscoveryDialogFragment.java
new file mode 100644
index 0000000..7273010
--- /dev/null
+++ b/src/com/android/settings/network/telephony/ContactDiscoveryDialogFragment.java
@@ -0,0 +1,104 @@
+/*
+ * 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.app.Dialog;
+import android.content.Context;
+import android.content.DialogInterface;
+import android.os.Bundle;
+import android.telephony.ims.ImsManager;
+import android.telephony.ims.ImsRcsManager;
+
+import androidx.annotation.VisibleForTesting;
+import androidx.fragment.app.FragmentManager;
+
+import com.android.settings.R;
+import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
+
+/**
+ * Fragment for the "Contact Discovery" dialog that appears when the user enables
+ * "Contact Discovery" in MobileNetworkSettings or an application starts MobileNetworkSettings with
+ * {@link ImsRcsManager#ACTION_SHOW_CAPABILITY_DISCOVERY_OPT_IN}.
+ */
+public class ContactDiscoveryDialogFragment extends InstrumentedDialogFragment
+        implements DialogInterface.OnClickListener {
+
+    private static final String SUB_ID_KEY = "sub_id_key";
+    private static final String DIALOG_TAG = "discovery_dialog:";
+
+    private int mSubId;
+    private ImsManager mImsManager;
+
+    /**
+     * Create a new Fragment, which will create a new Dialog when
+     * {@link #show(FragmentManager, String)} is called.
+     * @param subId The subscription ID to associate with this Dialog.
+     * @return a new instance of ContactDiscoveryDialogFragment.
+     */
+    public static ContactDiscoveryDialogFragment newInstance(int subId) {
+        final ContactDiscoveryDialogFragment dialogFragment = new ContactDiscoveryDialogFragment();
+        final Bundle args = new Bundle();
+        args.putInt(SUB_ID_KEY, subId);
+        dialogFragment.setArguments(args);
+
+        return dialogFragment;
+    }
+
+    @Override
+    public void onAttach(Context context) {
+        super.onAttach(context);
+        final Bundle args = getArguments();
+        mSubId = args.getInt(SUB_ID_KEY);
+        mImsManager = getImsManager(context);
+    }
+
+    @Override
+    public Dialog onCreateDialog(Bundle savedInstanceState) {
+        final AlertDialog.Builder builder = new AlertDialog.Builder(getContext());
+        final int title = R.string.contact_discovery_opt_in_dialog_title;
+        int message = R.string.contact_discovery_opt_in_dialog_message;
+        builder.setMessage(getResources().getString(message))
+                .setTitle(title)
+                .setIconAttribute(android.R.attr.alertDialogIcon)
+                .setPositiveButton(android.R.string.ok, this)
+                .setNegativeButton(android.R.string.cancel, this);
+        return builder.create();
+    }
+
+    @Override
+    public void onClick(DialogInterface dialog, int which) {
+        // let the host know that the positive button has been clicked
+        if (which == dialog.BUTTON_POSITIVE) {
+            MobileNetworkUtils.setContactDiscoveryEnabled(mImsManager, mSubId, true /*isEnabled*/);
+        }
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return METRICS_CATEGORY_UNKNOWN;
+    }
+
+    @VisibleForTesting
+    public ImsManager getImsManager(Context context) {
+        return context.getSystemService(ImsManager.class);
+    }
+
+    public static String getFragmentTag(int subId) {
+        return DIALOG_TAG + subId;
+    }
+}
diff --git a/src/com/android/settings/network/telephony/ContactDiscoveryPreferenceController.java b/src/com/android/settings/network/telephony/ContactDiscoveryPreferenceController.java
new file mode 100644
index 0000000..f3fdcc9
--- /dev/null
+++ b/src/com/android/settings/network/telephony/ContactDiscoveryPreferenceController.java
@@ -0,0 +1,136 @@
+/*
+ * 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.content.Context;
+import android.database.ContentObserver;
+import android.net.Uri;
+import android.os.PersistableBundle;
+import android.provider.Telephony;
+import android.telephony.CarrierConfigManager;
+import android.telephony.ims.ImsManager;
+import android.util.Log;
+
+import androidx.annotation.VisibleForTesting;
+import androidx.fragment.app.FragmentManager;
+import androidx.lifecycle.Lifecycle;
+import androidx.lifecycle.LifecycleObserver;
+import androidx.lifecycle.OnLifecycleEvent;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+import androidx.preference.SwitchPreference;
+
+
+/**
+ * Controller for the "Contact Discovery" option present in MobileNetworkSettings.
+ */
+public class ContactDiscoveryPreferenceController extends TelephonyTogglePreferenceController
+        implements LifecycleObserver {
+    private static final String TAG = "ContactDiscoveryPref";
+    private static final Uri UCE_URI = Uri.withAppendedPath(Telephony.SimInfo.CONTENT_URI,
+            Telephony.SimInfo.IMS_RCS_UCE_ENABLED);
+
+    private ImsManager mImsManager;
+    private CarrierConfigManager mCarrierConfigManager;
+    private ContentObserver mUceSettingObserver;
+    private FragmentManager mFragmentManager;
+
+    @VisibleForTesting
+    public Preference preference;
+
+    public ContactDiscoveryPreferenceController(Context context, String key) {
+        super(context, key);
+        mImsManager = mContext.getSystemService(ImsManager.class);
+        mCarrierConfigManager = mContext.getSystemService(CarrierConfigManager.class);
+    }
+
+    public ContactDiscoveryPreferenceController init(FragmentManager fragmentManager, int subId,
+            Lifecycle lifecycle) {
+        mFragmentManager = fragmentManager;
+        mSubId = subId;
+        lifecycle.addObserver(this);
+        return this;
+    }
+
+    @Override
+    public boolean isChecked() {
+        return MobileNetworkUtils.isContactDiscoveryEnabled(mImsManager, mSubId);
+    }
+
+    @OnLifecycleEvent(Lifecycle.Event.ON_RESUME)
+    public void onResume() {
+        registerUceObserver();
+    }
+
+    @OnLifecycleEvent(Lifecycle.Event.ON_PAUSE)
+    public void onPause() {
+        unregisterUceObserver();
+    }
+
+    @Override
+    public boolean setChecked(boolean isChecked) {
+        if (isChecked) {
+            showContentDiscoveryDialog();
+            // launch dialog and wait for activity to return and ContentObserver to fire to update.
+            return false;
+        }
+        MobileNetworkUtils.setContactDiscoveryEnabled(mImsManager, mSubId, false /*isEnabled*/);
+        return true;
+    }
+
+    @Override
+    public int getAvailabilityStatus(int subId) {
+        PersistableBundle bundle = mCarrierConfigManager.getConfigForSubId(subId);
+        boolean shouldShowPresence = bundle.getBoolean(
+                CarrierConfigManager.KEY_USE_RCS_PRESENCE_BOOL, false /*default*/);
+        return shouldShowPresence ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        preference = screen.findPreference(getPreferenceKey());
+    }
+
+    private void registerUceObserver() {
+        mUceSettingObserver = new ContentObserver(mContext.getMainThreadHandler()) {
+            @Override
+            public void onChange(boolean selfChange) {
+                onChange(selfChange, null /*uri*/);
+            }
+
+            @Override
+            public void onChange(boolean selfChange, Uri uri) {
+                Log.d(TAG, "UCE setting changed, re-evaluating.");
+                SwitchPreference switchPref = (SwitchPreference) preference;
+                switchPref.setChecked(isChecked());
+            }
+        };
+        mContext.getContentResolver().registerContentObserver(UCE_URI, true /*notifyForDecendants*/,
+                mUceSettingObserver);
+    }
+
+    private void unregisterUceObserver() {
+        mContext.getContentResolver().unregisterContentObserver(mUceSettingObserver);
+    }
+
+    private void showContentDiscoveryDialog() {
+        ContactDiscoveryDialogFragment dialog = ContactDiscoveryDialogFragment.newInstance(
+                mSubId);
+        dialog.show(mFragmentManager, ContactDiscoveryDialogFragment.getFragmentTag(mSubId));
+    }
+}
diff --git a/src/com/android/settings/network/telephony/DataDuringCallsPreferenceController.java b/src/com/android/settings/network/telephony/DataDuringCallsPreferenceController.java
index 6f61d91..1137e06 100644
--- a/src/com/android/settings/network/telephony/DataDuringCallsPreferenceController.java
+++ b/src/com/android/settings/network/telephony/DataDuringCallsPreferenceController.java
@@ -20,6 +20,8 @@
 import static androidx.lifecycle.Lifecycle.Event.ON_RESUME;
 
 import android.content.Context;
+import android.os.Handler;
+import android.os.Looper;
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
 
@@ -30,6 +32,8 @@
 import androidx.preference.PreferenceScreen;
 import androidx.preference.SwitchPreference;
 
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.settings.network.MobileDataContentObserver;
 import com.android.settings.network.SubscriptionsChangeListener;
 
 public class DataDuringCallsPreferenceController extends TelephonyTogglePreferenceController
@@ -39,11 +43,16 @@
     private SwitchPreference mPreference;
     private SubscriptionsChangeListener mChangeListener;
     private TelephonyManager mManager;
+    private MobileDataContentObserver mMobileDataContentObserver;
+    private PreferenceScreen mScreen;
 
     public DataDuringCallsPreferenceController(Context context,
             String preferenceKey) {
         super(context, preferenceKey);
         mChangeListener = new SubscriptionsChangeListener(mContext, this);
+        mMobileDataContentObserver = new MobileDataContentObserver(
+                new Handler(Looper.getMainLooper()));
+        mMobileDataContentObserver.setOnMobileDataChangedListener(()->refreshPreference());
     }
 
     public void init(Lifecycle lifecycle, int subId) {
@@ -55,17 +64,20 @@
     @OnLifecycleEvent(ON_RESUME)
     public void onResume() {
         mChangeListener.start();
+        mMobileDataContentObserver.register(mContext, mSubId);
     }
 
     @OnLifecycleEvent(ON_PAUSE)
     public void onPause() {
         mChangeListener.stop();
+        mMobileDataContentObserver.unRegister(mContext);
     }
 
     @Override
     public void displayPreference(PreferenceScreen screen) {
         super.displayPreference(screen);
         mPreference = screen.findPreference(getPreferenceKey());
+        mScreen = screen;
     }
 
     @Override
@@ -81,8 +93,8 @@
 
     @Override
     public int getAvailabilityStatus(int subId) {
-        if (mSubId == SubscriptionManager.INVALID_SUBSCRIPTION_ID ||
-                SubscriptionManager.getDefaultDataSubscriptionId() == mSubId) {
+        if (!SubscriptionManager.isValidSubscriptionId(subId)
+                || SubscriptionManager.getDefaultDataSubscriptionId() == subId) {
             return CONDITIONALLY_UNAVAILABLE;
         }
         return AVAILABLE;
@@ -101,4 +113,14 @@
     public void onSubscriptionsChanged() {
         updateState(mPreference);
     }
+
+    /**
+     * Trigger displaying preference when Mobilde data content changed.
+     */
+    @VisibleForTesting
+    public void refreshPreference() {
+        if (mScreen != null) {
+            super.displayPreference(mScreen);
+        }
+    }
 }
diff --git a/src/com/android/settings/network/telephony/DataServiceSetupPreferenceController.java b/src/com/android/settings/network/telephony/DataServiceSetupPreferenceController.java
index d1fbd73..c200d5e 100644
--- a/src/com/android/settings/network/telephony/DataServiceSetupPreferenceController.java
+++ b/src/com/android/settings/network/telephony/DataServiceSetupPreferenceController.java
@@ -28,8 +28,6 @@
 
 import androidx.preference.Preference;
 
-import com.android.internal.telephony.PhoneConstants;
-
 /**
  * Preference controller for "Data service setup"
  */
@@ -49,21 +47,20 @@
 
     @Override
     public int getAvailabilityStatus(int subId) {
-        final boolean isLteOnCdma = mTelephonyManager.getLteOnCdmaMode()
-                == PhoneConstants.LTE_ON_CDMA_TRUE;
         final PersistableBundle carrierConfig = mCarrierConfigManager.getConfigForSubId(subId);
         return subId != SubscriptionManager.INVALID_SUBSCRIPTION_ID
                 && carrierConfig != null
                 && !carrierConfig.getBoolean(
                 CarrierConfigManager.KEY_HIDE_CARRIER_NETWORK_SETTINGS_BOOL)
-                && isLteOnCdma && !TextUtils.isEmpty(mSetupUrl)
+                && mTelephonyManager.isLteCdmaEvdoGsmWcdmaEnabled() && !TextUtils.isEmpty(mSetupUrl)
                 ? AVAILABLE
                 : CONDITIONALLY_UNAVAILABLE;
     }
 
     public void init(int subId) {
         mSubId = subId;
-        mTelephonyManager = TelephonyManager.from(mContext).createForSubscriptionId(mSubId);
+        mTelephonyManager = mContext.getSystemService(TelephonyManager.class)
+                .createForSubscriptionId(mSubId);
     }
 
     @Override
diff --git a/src/com/android/settings/network/telephony/DeleteSimProfilePreferenceController.java b/src/com/android/settings/network/telephony/DeleteSimProfilePreferenceController.java
index daabf8b..44187e4 100644
--- a/src/com/android/settings/network/telephony/DeleteSimProfilePreferenceController.java
+++ b/src/com/android/settings/network/telephony/DeleteSimProfilePreferenceController.java
@@ -18,15 +18,19 @@
 
 import android.content.Context;
 import android.content.Intent;
+import android.provider.Settings;
 import android.telephony.SubscriptionInfo;
 import android.telephony.euicc.EuiccManager;
+import android.text.TextUtils;
 
 import androidx.fragment.app.Fragment;
 import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
 
+import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
 import com.android.settings.network.SubscriptionUtil;
+import com.android.settings.security.ConfirmSimDeletionPreferenceController;
+import com.android.settings.wifi.dpp.WifiDppUtils;
 
 /** This controls a preference allowing the user to delete the profile for an eSIM. */
 public class DeleteSimProfilePreferenceController extends BasePreferenceController {
@@ -34,16 +38,19 @@
     private SubscriptionInfo mSubscriptionInfo;
     private Fragment mParentFragment;
     private int mRequestCode;
+    private boolean mConfirmationDefaultOn;
 
     public DeleteSimProfilePreferenceController(Context context, String preferenceKey) {
         super(context, preferenceKey);
+        mConfirmationDefaultOn =
+                context.getResources()
+                        .getBoolean(R.bool.config_sim_deletion_confirmation_default_on);
     }
 
     public void init(int subscriptionId, Fragment parentFragment, int requestCode) {
         mParentFragment = parentFragment;
 
-        for (SubscriptionInfo info : SubscriptionUtil.getAvailableSubscriptions(
-                mContext)) {
+        for (SubscriptionInfo info : SubscriptionUtil.getAvailableSubscriptions(mContext)) {
             if (info.getSubscriptionId() == subscriptionId && info.isEmbedded()) {
                 mSubscriptionInfo = info;
                 break;
@@ -53,16 +60,31 @@
     }
 
     @Override
-    public void displayPreference(PreferenceScreen screen) {
-        super.displayPreference(screen);
-        final Preference pref = screen.findPreference(getPreferenceKey());
-        pref.setOnPreferenceClickListener(p -> {
-            final Intent intent = new Intent(EuiccManager.ACTION_DELETE_SUBSCRIPTION_PRIVILEGED);
-            intent.putExtra(EuiccManager.EXTRA_SUBSCRIPTION_ID,
-                    mSubscriptionInfo.getSubscriptionId());
-            mParentFragment.startActivityForResult(intent, mRequestCode);
+    public boolean handlePreferenceTreeClick(Preference preference) {
+        if (TextUtils.equals(preference.getKey(), getPreferenceKey())) {
+            boolean confirmDeletion =
+                    Settings.Global.getInt(
+                            mContext.getContentResolver(),
+                            ConfirmSimDeletionPreferenceController.KEY_CONFIRM_SIM_DELETION,
+                            mConfirmationDefaultOn ? 1 : 0)
+                            == 1;
+            if (confirmDeletion) {
+                WifiDppUtils.showLockScreen(mContext, () -> deleteSim());
+            } else {
+                deleteSim();
+            }
+
             return true;
-        });
+        }
+
+        return false;
+    }
+
+    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);
+        // result handled in MobileNetworkSettings
     }
 
     @Override
@@ -73,5 +95,4 @@
             return CONDITIONALLY_UNAVAILABLE;
         }
     }
-
 }
diff --git a/src/com/android/settings/network/telephony/DisableSimFooterPreferenceController.java b/src/com/android/settings/network/telephony/DisableSimFooterPreferenceController.java
index ab01b9d..f5bcce7 100644
--- a/src/com/android/settings/network/telephony/DisableSimFooterPreferenceController.java
+++ b/src/com/android/settings/network/telephony/DisableSimFooterPreferenceController.java
@@ -19,7 +19,6 @@
 import android.content.Context;
 import android.telephony.SubscriptionInfo;
 import android.telephony.SubscriptionManager;
-import android.telephony.TelephonyManager;
 
 import com.android.settings.core.BasePreferenceController;
 import com.android.settings.network.SubscriptionUtil;
@@ -41,9 +40,11 @@
         if (mSubId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
             return CONDITIONALLY_UNAVAILABLE;
         }
+
+        SubscriptionManager subManager = mContext.getSystemService(SubscriptionManager.class);
         for (SubscriptionInfo info : SubscriptionUtil.getAvailableSubscriptions(mContext)) {
             if (info.getSubscriptionId() == mSubId) {
-                if (info.isEmbedded()) {
+                if (info.isEmbedded() || SubscriptionUtil.showToggleForPhysicalSim(subManager)) {
                     return CONDITIONALLY_UNAVAILABLE;
                 }
                 break;
diff --git a/src/com/android/settings/network/telephony/DisabledSubscriptionController.java b/src/com/android/settings/network/telephony/DisabledSubscriptionController.java
index cd51735..e6cace4 100644
--- a/src/com/android/settings/network/telephony/DisabledSubscriptionController.java
+++ b/src/com/android/settings/network/telephony/DisabledSubscriptionController.java
@@ -73,7 +73,7 @@
             return;
         }
         // TODO b/135222940: re-evaluate whether to use mSubscriptionManager#isSubscriptionEnabled
-        mCategory.setVisible(mSubscriptionManager.isActiveSubId(mSubId));
+        mCategory.setVisible(mSubscriptionManager.isActiveSubscriptionId(mSubId));
     }
 
     @Override
diff --git a/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java b/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java
index 3abb36a..c0df851 100644
--- a/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java
+++ b/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java
@@ -26,14 +26,10 @@
 import android.os.PersistableBundle;
 import android.provider.Settings;
 import android.telephony.CarrierConfigManager;
-import android.telephony.RadioAccessFamily;
-import android.telephony.ServiceState;
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
-import android.text.TextUtils;
 import android.util.Log;
 
-import androidx.annotation.VisibleForTesting;
 import androidx.lifecycle.Lifecycle;
 import androidx.lifecycle.LifecycleObserver;
 import androidx.lifecycle.OnLifecycleEvent;
@@ -41,11 +37,11 @@
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
-import com.android.internal.telephony.Phone;
-import com.android.internal.telephony.PhoneConstants;
 import com.android.settings.R;
+import com.android.settings.network.telephony.TelephonyConstants.TelephonyManagerConstants;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
 
 /**
@@ -56,19 +52,14 @@
         ListPreference.OnPreferenceChangeListener, LifecycleObserver {
 
     private static final String LOG_TAG = "EnabledNetworkMode";
-    private CarrierConfigManager mCarrierConfigManager;
     private ContentObserver mPreferredNetworkModeObserver;
-    private TelephonyManager mTelephonyManager;
-    private boolean mIsGlobalCdma;
-    @VisibleForTesting
-    boolean mShow4GForLTE;
     private Preference mPreference;
-    @VisibleForTesting
-    boolean mDisplay5gList = false;
+    private TelephonyManager mTelephonyManager;
+    private CarrierConfigManager mCarrierConfigManager;
+    private PreferenceEntriesBuilder mBuilder;
 
     public EnabledNetworkModePreferenceController(Context context, String key) {
         super(context, key);
-        mCarrierConfigManager = context.getSystemService(CarrierConfigManager.class);
         mPreferredNetworkModeObserver = new ContentObserver(new Handler(Looper.getMainLooper())) {
             @Override
             public void onChange(boolean selfChange) {
@@ -83,8 +74,6 @@
     public int getAvailabilityStatus(int subId) {
         boolean visible;
         final PersistableBundle carrierConfig = mCarrierConfigManager.getConfigForSubId(subId);
-        final TelephonyManager telephonyManager = TelephonyManager
-                .from(mContext).createForSubscriptionId(subId);
         if (subId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
             visible = false;
         } else if (carrierConfig == null) {
@@ -106,7 +95,8 @@
     @OnLifecycleEvent(ON_START)
     public void onStart() {
         mContext.getContentResolver().registerContentObserver(
-                Settings.Global.getUriFor(Settings.Global.PREFERRED_NETWORK_MODE + mSubId), true,
+                Settings.Global.getUriFor(Settings.Global.PREFERRED_NETWORK_MODE + mSubId),
+                true,
                 mPreferredNetworkModeObserver);
     }
 
@@ -125,418 +115,539 @@
     public void updateState(Preference preference) {
         super.updateState(preference);
         final ListPreference listPreference = (ListPreference) preference;
-        final int networkMode = getPreferredNetworkMode();
-        updatePreferenceEntries(listPreference);
-        updatePreferenceValueAndSummary(listPreference, networkMode);
+
+        mBuilder.setPreferenceEntries();
+        mBuilder.setPreferenceValueAndSummary();
+
+        listPreference.setEntries(mBuilder.getEntries());
+        listPreference.setEntryValues(mBuilder.getEntryValues());
+        listPreference.setValue(Integer.toString(mBuilder.getSelectedEntryValue()));
+        listPreference.setSummary(mBuilder.getSummary());
     }
 
     @Override
     public boolean onPreferenceChange(Preference preference, Object object) {
-        final int settingsMode = Integer.parseInt((String) object);
+        final int newPreferredNetworkMode = Integer.parseInt((String) object);
+        final ListPreference listPreference = (ListPreference) preference;
 
-        if (mTelephonyManager.setPreferredNetworkType(mSubId, settingsMode)) {
-            Settings.Global.putInt(mContext.getContentResolver(),
-                    Settings.Global.PREFERRED_NETWORK_MODE + mSubId,
-                    settingsMode);
-            updatePreferenceValueAndSummary((ListPreference) preference, settingsMode);
+        if (mTelephonyManager.setPreferredNetworkTypeBitmask(
+                MobileNetworkUtils.getRafFromNetworkType(newPreferredNetworkMode))) {
+            mBuilder.setPreferenceValueAndSummary(newPreferredNetworkMode);
+            listPreference.setValue(Integer.toString(mBuilder.getSelectedEntryValue()));
+            listPreference.setSummary(mBuilder.getSummary());
             return true;
         }
-
         return false;
     }
 
     public void init(Lifecycle lifecycle, int subId) {
         mSubId = subId;
-        final PersistableBundle carrierConfig = mCarrierConfigManager.getConfigForSubId(mSubId);
-        mTelephonyManager = TelephonyManager.from(mContext).createForSubscriptionId(mSubId);
-
-        final boolean isLteOnCdma =
-                mTelephonyManager.getLteOnCdmaMode() == PhoneConstants.LTE_ON_CDMA_TRUE;
-        mIsGlobalCdma = isLteOnCdma
-                && carrierConfig.getBoolean(CarrierConfigManager.KEY_SHOW_CDMA_CHOICES_BOOL);
-        mShow4GForLTE = carrierConfig != null
-                ? carrierConfig.getBoolean(
-                CarrierConfigManager.KEY_SHOW_4G_FOR_LTE_DATA_ICON_BOOL)
-                : false;
-
-        final long supportedRadioBitmask = mTelephonyManager.getSupportedRadioAccessFamily();
-        mDisplay5gList = checkSupportedRadioBitmask(
-                supportedRadioBitmask, mTelephonyManager.NETWORK_TYPE_BITMASK_NR);
+        mTelephonyManager = mContext.getSystemService(TelephonyManager.class)
+                .createForSubscriptionId(mSubId);
+        mCarrierConfigManager = mContext.getSystemService(CarrierConfigManager.class);
+        mBuilder = new PreferenceEntriesBuilder(mContext, mSubId);
 
         lifecycle.addObserver(this);
     }
 
-    private int getPreferredNetworkMode() {
-        return Settings.Global.getInt(mContext.getContentResolver(),
-                Settings.Global.PREFERRED_NETWORK_MODE + mSubId,
-                Phone.PREFERRED_NT_MODE);
-    }
+    private final static class PreferenceEntriesBuilder {
+        private CarrierConfigManager mCarrierConfigManager;
+        private Context mContext;
+        private TelephonyManager mTelephonyManager;
 
-    private void updatePreferenceEntries(ListPreference preference) {
-        final int phoneType = mTelephonyManager.getPhoneType();
-        final PersistableBundle carrierConfig = mCarrierConfigManager.getConfigForSubId(mSubId);
-        if (phoneType == PhoneConstants.PHONE_TYPE_CDMA) {
-            final int lteForced = android.provider.Settings.Global.getInt(
-                    mContext.getContentResolver(),
-                    android.provider.Settings.Global.LTE_SERVICE_FORCED + mSubId,
-                    0);
-            final boolean isLteOnCdma = mTelephonyManager.getLteOnCdmaMode()
-                    == PhoneConstants.LTE_ON_CDMA_TRUE;
-            final int settingsNetworkMode = android.provider.Settings.Global.getInt(
-                    mContext.getContentResolver(),
-                    android.provider.Settings.Global.PREFERRED_NETWORK_MODE + mSubId,
-                    Phone.PREFERRED_NT_MODE);
-            if (isLteOnCdma) {
-                if (lteForced == 0) {
-                    preference.setEntries(
-                            R.array.enabled_networks_cdma_choices);
-                    preference.setEntryValues(
-                            R.array.enabled_networks_cdma_values);
-                } else {
-                    switch (settingsNetworkMode) {
-                        case TelephonyManager.NETWORK_MODE_CDMA_EVDO:
-                        case TelephonyManager.NETWORK_MODE_CDMA_NO_EVDO:
-                        case TelephonyManager.NETWORK_MODE_EVDO_NO_CDMA:
-                            preference.setEntries(
-                                    R.array.enabled_networks_cdma_no_lte_choices);
-                            preference.setEntryValues(
-                                    R.array.enabled_networks_cdma_no_lte_values);
-                            break;
-                        case TelephonyManager.NETWORK_MODE_GLOBAL:
-                        case TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO:
-                        case TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA:
-                        case TelephonyManager.NETWORK_MODE_LTE_ONLY:
-                            preference.setEntries(
-                                    R.array.enabled_networks_cdma_only_lte_choices);
-                            preference.setEntryValues(
-                                    R.array.enabled_networks_cdma_only_lte_values);
-                            break;
-                        default:
-                            preference.setEntries(
-                                    R.array.enabled_networks_cdma_choices);
-                            preference.setEntryValues(
-                                    R.array.enabled_networks_cdma_values);
-                            break;
-                    }
-                }
-            }
-        } else if (phoneType == PhoneConstants.PHONE_TYPE_GSM) {
-            if (MobileNetworkUtils.isTdscdmaSupported(mContext, mSubId)) {
-                preference.setEntries(
-                        R.array.enabled_networks_tdscdma_choices);
-                preference.setEntryValues(
-                        R.array.enabled_networks_tdscdma_values);
-            } else if (carrierConfig != null
-                    && !carrierConfig.getBoolean(CarrierConfigManager.KEY_PREFER_2G_BOOL)
-                    && !carrierConfig.getBoolean(CarrierConfigManager.KEY_LTE_ENABLED_BOOL)) {
-                preference.setEntries(R.array.enabled_networks_except_gsm_lte_choices);
-                preference.setEntryValues(R.array.enabled_networks_except_gsm_lte_values);
-            } else if (carrierConfig != null
-                    && !carrierConfig.getBoolean(CarrierConfigManager.KEY_PREFER_2G_BOOL)) {
-                int select = mShow4GForLTE
-                        ? R.array.enabled_networks_except_gsm_4g_choices
-                        : R.array.enabled_networks_except_gsm_choices;
-                preference.setEntries(select);
-                preference.setEntryValues(
-                        R.array.enabled_networks_except_gsm_values);
-            } else if (carrierConfig != null
-                    && !carrierConfig.getBoolean(CarrierConfigManager.KEY_LTE_ENABLED_BOOL)) {
-                preference.setEntries(
-                        R.array.enabled_networks_except_lte_choices);
-                preference.setEntryValues(
-                        R.array.enabled_networks_except_lte_values);
-            } else if (mIsGlobalCdma) {
-                preference.setEntries(R.array.enabled_networks_cdma_choices);
-                preference.setEntryValues(R.array.enabled_networks_cdma_values);
-            } else {
-                int select = mShow4GForLTE ? R.array.enabled_networks_4g_choices
-                        : R.array.enabled_networks_choices;
-                preference.setEntries(select);
-                preference.setEntryValues(R.array.enabled_networks_values);
-            }
-        }
-        //TODO(b/117881708): figure out what world mode is, then we can optimize code. Otherwise
-        // I prefer to keep this old code
-        if (MobileNetworkUtils.isWorldMode(mContext, mSubId)) {
-            preference.setEntries(
-                    R.array.preferred_network_mode_choices_world_mode);
-            preference.setEntryValues(
-                    R.array.preferred_network_mode_values_world_mode);
+        private boolean mAllowed5gNetworkType;
+        private boolean mIsGlobalCdma;
+        private boolean mIs5gEntryDisplayed;
+        private boolean mShow4gForLTE;
+        private boolean mSupported5gRadioAccessFamily;
+        private int mSelectedEntry;
+        private int mSubId;
+        private String mSummary;
+
+        private List<String> mEntries = new ArrayList<>();
+        private List<Integer> mEntriesValue = new ArrayList<>();
+
+        enum EnabledNetworks {
+            ENABLED_NETWORKS_UNKNOWN,
+            ENABLED_NETWORKS_CDMA_CHOICES,
+            ENABLED_NETWORKS_CDMA_NO_LTE_CHOICES,
+            ENABLED_NETWORKS_CDMA_ONLY_LTE_CHOICES,
+            ENABLED_NETWORKS_TDSCDMA_CHOICES,
+            ENABLED_NETWORKS_EXCEPT_GSM_LTE_CHOICES,
+            ENABLED_NETWORKS_EXCEPT_GSM_4G_CHOICES,
+            ENABLED_NETWORKS_EXCEPT_GSM_CHOICES,
+            ENABLED_NETWORKS_EXCEPT_LTE_CHOICES,
+            ENABLED_NETWORKS_4G_CHOICES,
+            ENABLED_NETWORKS_CHOICES,
+            PREFERRED_NETWORK_MODE_CHOICES_WORLD_MODE
         }
 
-        if (mDisplay5gList) {
-            add5gListItem(preference);
-        }
-    }
+        PreferenceEntriesBuilder(Context context, int subId) {
+            this.mContext = context;
+            this.mSubId = subId;
 
-    @VisibleForTesting
-    boolean checkSupportedRadioBitmask(long supportedRadioBitmask, long targetBitmask) {
-        Log.d(LOG_TAG, "supportedRadioBitmask: " + supportedRadioBitmask);
-        if ((targetBitmask & supportedRadioBitmask) > 0) {
-            return true;
-        }
-        return false;
-    }
+            mCarrierConfigManager = mContext.getSystemService(CarrierConfigManager.class);
+            mTelephonyManager = mContext.getSystemService(TelephonyManager.class)
+                    .createForSubscriptionId(mSubId);
 
-    /***
-     * Preferred network list add 5G item.
-     *
-     * @string/enabled_networks_cdma_choices
-     *         Before            |        After
-     * @string/network_lte   , 8 |@string/network_5G + @string/network_recommended , 25
-     * @string/network_3G    , 4 |@string/network_lte_pure, 8
-     * @string/network_1x    , 5 |@string/network_3G      , 4
-     * @string/network_global, 10|@string/network_1x      , 5
-     *                           |@string/network_global  , 27
-     *
-     * @string/enabled_networks_cdma_only_lte_choices
-     *         Before            |        After
-     * @string/network_lte   , 8 |@string/network_5G + @string/network_recommended , 25
-     * @string/network_global, 10|@string/network_lte_pure, 8
-     *                           |@string/network_global  , 27
-     *
-     * @string/enabled_networks_tdscdma_choices
-     *         Before         |        After
-     * @string/network_lte, 22|@string/network_5G + @string/network_recommended , 33
-     * @string/network_3G , 18|@string/network_lte_pure, 22
-     * @string/network_2G , 1 |@string/network_3G      , 18
-     *                        |@string/network_2G      , 1
-     *
-     * @string/enabled_networks_except_gsm_4g_choices
-     *         Before         |        After
-     * @string/network_4G , 9 |@string/network_5G + @string/network_recommended , 26
-     * @string/network_3G , 0 |@string/network_4G_pure , 9
-     *                        |@string/network_3G      , 0
-     *
-     * @string/enabled_networks_except_gsm_choices
-     *         Before         |        After
-     * @string/network_lte, 9 |@string/network_5G + @string/network_recommended , 26
-     * @string/network_3G , 0 |@string/network_lte_pure, 9
-     *                        |@string/network_3G      , 0
-     *
-     * @string/enabled_networks_4g_choices
-     *         Before         |        After
-     * @string/network_4G , 9 |@string/network_5G + @string/network_recommended , 26
-     * @string/network_3G , 0 |@string/network_4G_pure , 9
-     * @string/network_2G , 1 |@string/network_3G      , 0
-     *                        |@string/network_2G      , 1
-     *
-     * @string/enabled_networks_choices
-     *         Before         |        After
-     * @string/network_lte, 9 |@string/network_5G + @string/network_recommended , 26
-     * @string/network_3G , 0 |@string/network_lte_pure, 9
-     * @string/network_2G , 1 |@string/network_3G      , 0
-     *                        |@string/network_2G      , 1
-     *
-     * @string/preferred_network_mode_choices_world_mode
-     *         Before         |        After
-     * "Global"           , 10|@string/network_global  , 27
-     * "LTE / CDMA"       , 8 |"LTE / CDMA"            , 8
-     * "LTE / GSM / UMTS" , 9 |"LTE / GSM / UMTS"      , 9
-     */
-    @VisibleForTesting
-    void add5gListItem(ListPreference preference) {
-        final CharSequence[] oldEntries = preference.getEntries();
-        final CharSequence[] oldEntryValues = preference.getEntryValues();
-        List<CharSequence> newEntries = new ArrayList<>();
-        List<CharSequence> newEntryValues = new ArrayList<>();
-
-        CharSequence oldEntry;
-        CharSequence oldEntryValue;
-        CharSequence new5gEntry;
-        CharSequence new5gEntryValue;
-
-        for (int i = 0; i < oldEntries.length; i++) {
-            oldEntry = oldEntries[i];
-            oldEntryValue = oldEntryValues[i];
-            new5gEntry = "";
-            new5gEntryValue = "";
-
-            if (mContext.getString(R.string.network_lte).equals(oldEntry)) {
-                oldEntry = mContext.getString(R.string.network_lte_pure);
-                new5gEntry = mContext.getString(R.string.network_5G)
-                        + mContext.getString(R.string.network_recommended);
-                new5gEntryValue = transformLteEntryValueTo5gEntryValue(oldEntryValue);
-            } else if (mContext.getString(R.string.network_4G).equals(oldEntry)) {
-                oldEntry = mContext.getString(R.string.network_4G_pure);
-                new5gEntry = mContext.getString(R.string.network_5G)
-                        + mContext.getString(R.string.network_recommended);
-                new5gEntryValue = transformLteEntryValueTo5gEntryValue(oldEntryValue);
-            } else if (mContext.getString(R.string.network_global).equals(oldEntry)) {
-                //oldEntry: network_global
-                //oldEntryValue: TelephonyManager.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA
-                oldEntryValue = Integer.toString(
-                        TelephonyManager.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA);
-            }
-
-            if (!TextUtils.isEmpty(new5gEntry)) {
-                newEntries.add(new5gEntry);
-                newEntryValues.add(new5gEntryValue);
-            }
-            newEntries.add(oldEntry);
-            newEntryValues.add(oldEntryValue);
+            final PersistableBundle carrierConfig = mCarrierConfigManager.getConfigForSubId(mSubId);
+            mAllowed5gNetworkType = checkSupportedRadioBitmask(
+                    mTelephonyManager.getAllowedNetworkTypes(),
+                    TelephonyManager.NETWORK_TYPE_BITMASK_NR);
+            mSupported5gRadioAccessFamily = checkSupportedRadioBitmask(
+                    mTelephonyManager.getSupportedRadioAccessFamily(),
+                    TelephonyManager.NETWORK_TYPE_BITMASK_NR);
+            mIsGlobalCdma = mTelephonyManager.isLteCdmaEvdoGsmWcdmaEnabled()
+                    && carrierConfig.getBoolean(CarrierConfigManager.KEY_SHOW_CDMA_CHOICES_BOOL);
+            mShow4gForLTE = carrierConfig != null && carrierConfig.getBoolean(
+                    CarrierConfigManager.KEY_SHOW_4G_FOR_LTE_DATA_ICON_BOOL);
         }
 
-        preference.setEntries(newEntries.toArray(new CharSequence[newEntries.size()]));
-        preference.setEntryValues(newEntryValues.toArray(new CharSequence[newEntryValues.size()]));
-    }
-
-    /**
-     * LTE network mode transform to 5G network mode.
-     *
-     * @param networkMode this is LTE network mode.
-     * @return 5G network mode.
-     */
-    private CharSequence transformLteEntryValueTo5gEntryValue(CharSequence networkMode) {
-        int networkModeInt = Integer.valueOf(networkMode.toString());
-        return Integer.toString(addNrToNetworkType(networkModeInt));
-    }
-
-    private int addNrToNetworkType(int networkType) {
-        long networkTypeBitmasks = RadioAccessFamily.getRafFromNetworkType(networkType);
-        networkTypeBitmasks |= mTelephonyManager.NETWORK_TYPE_BITMASK_NR;
-        return RadioAccessFamily.getNetworkTypeFromRaf((int) networkTypeBitmasks);
-    }
-
-    private void updatePreferenceValueAndSummary(ListPreference preference, int networkMode) {
-        preference.setValue(Integer.toString(networkMode));
-        switch (networkMode) {
-            case TelephonyManager.NETWORK_MODE_TDSCDMA_WCDMA:
-            case TelephonyManager.NETWORK_MODE_TDSCDMA_GSM_WCDMA:
-            case TelephonyManager.NETWORK_MODE_TDSCDMA_GSM:
-                preference.setValue(
-                        Integer.toString(TelephonyManager.NETWORK_MODE_TDSCDMA_GSM_WCDMA));
-                preference.setSummary(R.string.network_3G);
-                break;
-            case TelephonyManager.NETWORK_MODE_WCDMA_ONLY:
-            case TelephonyManager.NETWORK_MODE_GSM_UMTS:
-            case TelephonyManager.NETWORK_MODE_WCDMA_PREF:
-                if (!mIsGlobalCdma) {
-                    preference.setValue(Integer.toString(TelephonyManager.NETWORK_MODE_WCDMA_PREF));
-                    preference.setSummary(R.string.network_3G);
-                } else {
-                    preference.setValue(Integer.toString(TelephonyManager
-                            .NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA));
-                    preference.setSummary(R.string.network_global);
-                }
-                break;
-            case TelephonyManager.NETWORK_MODE_GSM_ONLY:
-                if (!mIsGlobalCdma) {
-                    preference.setValue(
-                            Integer.toString(TelephonyManager.NETWORK_MODE_GSM_ONLY));
-                    preference.setSummary(R.string.network_2G);
-                } else {
-                    preference.setValue(
-                            Integer.toString(TelephonyManager
-                                    .NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA));
-                    preference.setSummary(R.string.network_global);
-                }
-                break;
-            case TelephonyManager.NETWORK_MODE_LTE_GSM_WCDMA:
-                if (MobileNetworkUtils.isWorldMode(mContext, mSubId)) {
-                    preference.setSummary(
-                            R.string.preferred_network_mode_lte_gsm_umts_summary);
+        void setPreferenceEntries() {
+            switch (getEnabledNetworkType()) {
+                case ENABLED_NETWORKS_CDMA_CHOICES:
+                    add5gEntry(addNrToLteNetworkType(
+                            TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO));
+                    addLteEntry(TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO);
+                    add3gEntry(TelephonyManagerConstants.NETWORK_MODE_CDMA_EVDO);
+                    add1xEntry(TelephonyManagerConstants.NETWORK_MODE_CDMA_NO_EVDO);
+                    addGlobalEntry();
                     break;
-                }
-            case TelephonyManager.NETWORK_MODE_LTE_ONLY:
-            case TelephonyManager.NETWORK_MODE_LTE_WCDMA:
-                if (!mIsGlobalCdma) {
-                    preference.setValue(
-                            Integer.toString(TelephonyManager.NETWORK_MODE_LTE_GSM_WCDMA));
-                    preference.setSummary(
-                            mShow4GForLTE ? R.string.network_4G : R.string.network_lte);
-                } else {
-                    preference.setValue(
-                            Integer.toString(TelephonyManager
-                                    .NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA));
-                    preference.setSummary(R.string.network_global);
-                }
-                break;
-            case TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO:
-                if (MobileNetworkUtils.isWorldMode(mContext, mSubId)) {
-                    preference.setSummary(
-                            R.string.preferred_network_mode_lte_cdma_summary);
-                } else {
-                    preference.setValue(
-                            Integer.toString(TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO));
-                    preference.setSummary(
-                            mDisplay5gList ? R.string.network_lte_pure : R.string.network_lte);
-                }
-                break;
-            case TelephonyManager.NETWORK_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA:
-                preference.setValue(Integer.toString(TelephonyManager
-                        .NETWORK_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA));
-                preference.setSummary(R.string.network_3G);
-                break;
-            case TelephonyManager.NETWORK_MODE_CDMA_EVDO:
-            case TelephonyManager.NETWORK_MODE_EVDO_NO_CDMA:
-            case TelephonyManager.NETWORK_MODE_GLOBAL:
-                preference.setValue(
-                        Integer.toString(TelephonyManager.NETWORK_MODE_CDMA_EVDO));
-                preference.setSummary(R.string.network_3G);
-                break;
-            case TelephonyManager.NETWORK_MODE_CDMA_NO_EVDO:
-                preference.setValue(
-                        Integer.toString(TelephonyManager.NETWORK_MODE_CDMA_NO_EVDO));
-                preference.setSummary(R.string.network_1x);
-                break;
-            case TelephonyManager.NETWORK_MODE_TDSCDMA_ONLY:
-                preference.setValue(
-                        Integer.toString(TelephonyManager.NETWORK_MODE_TDSCDMA_ONLY));
-                preference.setSummary(R.string.network_3G);
-                break;
-            case TelephonyManager.NETWORK_MODE_LTE_TDSCDMA_GSM:
-            case TelephonyManager.NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA:
-            case TelephonyManager.NETWORK_MODE_LTE_TDSCDMA:
-            case TelephonyManager.NETWORK_MODE_LTE_TDSCDMA_WCDMA:
-            case TelephonyManager.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA:
-            case TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA:
-                if (MobileNetworkUtils.isTdscdmaSupported(mContext, mSubId)) {
-                    preference.setValue(
-                            Integer.toString(TelephonyManager
-                                    .NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA));
-                    preference.setSummary(
-                            mDisplay5gList ? R.string.network_lte_pure : R.string.network_lte);
-                } else {
-                    preference.setValue(
-                            Integer.toString(TelephonyManager
-                                    .NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA));
-                    if (mTelephonyManager.getPhoneType() == PhoneConstants.PHONE_TYPE_CDMA
-                            || mIsGlobalCdma
-                            || MobileNetworkUtils.isWorldMode(mContext, mSubId)) {
-                        preference.setSummary(R.string.network_global);
+                case ENABLED_NETWORKS_CDMA_NO_LTE_CHOICES:
+                    add3gEntry(TelephonyManagerConstants.NETWORK_MODE_CDMA_EVDO);
+                    add1xEntry(TelephonyManagerConstants.NETWORK_MODE_CDMA_NO_EVDO);
+                    break;
+                case ENABLED_NETWORKS_CDMA_ONLY_LTE_CHOICES:
+                    addLteEntry(TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO);
+                    addGlobalEntry();
+                    break;
+                case ENABLED_NETWORKS_TDSCDMA_CHOICES:
+                    add5gEntry(addNrToLteNetworkType(
+                            TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA));
+                    addLteEntry(
+                            TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA);
+                    add3gEntry(TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM_WCDMA);
+                    add2gEntry(TelephonyManagerConstants.NETWORK_MODE_GSM_ONLY);
+                    break;
+                case ENABLED_NETWORKS_EXCEPT_GSM_LTE_CHOICES:
+                    add3gEntry(TelephonyManagerConstants.NETWORK_MODE_WCDMA_PREF);
+                    break;
+                case ENABLED_NETWORKS_EXCEPT_GSM_4G_CHOICES:
+                    add5gEntry(addNrToLteNetworkType(
+                            TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA));
+                    add4gEntry(TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA);
+                    add3gEntry(TelephonyManagerConstants.NETWORK_MODE_WCDMA_PREF);
+                    break;
+                case ENABLED_NETWORKS_EXCEPT_GSM_CHOICES:
+                    add5gEntry(addNrToLteNetworkType(
+                            TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA));
+                    addLteEntry(TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA);
+                    add3gEntry(TelephonyManagerConstants.NETWORK_MODE_WCDMA_PREF);
+                    break;
+                case ENABLED_NETWORKS_EXCEPT_LTE_CHOICES:
+                    add3gEntry(TelephonyManagerConstants.NETWORK_MODE_WCDMA_PREF);
+                    add2gEntry(TelephonyManagerConstants.NETWORK_MODE_GSM_ONLY);
+                    break;
+                case ENABLED_NETWORKS_4G_CHOICES:
+                    add5gEntry(addNrToLteNetworkType(
+                            TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA));
+                    add4gEntry(TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA);
+                    add3gEntry(TelephonyManagerConstants.NETWORK_MODE_WCDMA_PREF);
+                    add2gEntry(TelephonyManagerConstants.NETWORK_MODE_GSM_ONLY);
+                    break;
+                case ENABLED_NETWORKS_CHOICES:
+                    add5gEntry(addNrToLteNetworkType(
+                            TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA));
+                    addLteEntry(TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA);
+                    add3gEntry(TelephonyManagerConstants.NETWORK_MODE_WCDMA_PREF);
+                    add2gEntry(TelephonyManagerConstants.NETWORK_MODE_GSM_ONLY);
+                    break;
+                case PREFERRED_NETWORK_MODE_CHOICES_WORLD_MODE:
+                    addGlobalEntry();
+                    addCustomEntry(mContext.getString(R.string.network_world_mode_cdma_lte),
+                            TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO);
+                    addCustomEntry(mContext.getString(R.string.network_world_mode_gsm_lte),
+                            TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA);
+                    break;
+                default:
+                    throw new IllegalArgumentException("Not supported enabled network types.");
+            }
+        }
+
+        private int getPreferredNetworkMode() {
+            return Settings.Global.getInt(mContext.getContentResolver(),
+                    Settings.Global.PREFERRED_NETWORK_MODE + mSubId,
+                    TelephonyManager.DEFAULT_PREFERRED_NETWORK_MODE);
+        }
+
+        private EnabledNetworks getEnabledNetworkType() {
+            EnabledNetworks enabledNetworkType = EnabledNetworks.ENABLED_NETWORKS_UNKNOWN;
+            final int phoneType = mTelephonyManager.getPhoneType();
+            final PersistableBundle carrierConfig = mCarrierConfigManager.getConfigForSubId(mSubId);
+
+            if (phoneType == TelephonyManager.PHONE_TYPE_CDMA) {
+                final int lteForced = android.provider.Settings.Global.getInt(
+                        mContext.getContentResolver(),
+                        android.provider.Settings.Global.LTE_SERVICE_FORCED + mSubId,
+                        0);
+                final int settingsNetworkMode = getPreferredNetworkMode();
+                if (mTelephonyManager.isLteCdmaEvdoGsmWcdmaEnabled()) {
+                    if (lteForced == 0) {
+                        enabledNetworkType = EnabledNetworks.ENABLED_NETWORKS_CDMA_CHOICES;
                     } else {
-                        if (mDisplay5gList) {
-                            preference.setSummary(mShow4GForLTE
-                                    ? R.string.network_4G_pure : R.string.network_lte_pure);
-                        } else {
-                            preference.setSummary(mShow4GForLTE
-                                    ? R.string.network_4G : R.string.network_lte);
+                        switch (settingsNetworkMode) {
+                            case TelephonyManagerConstants.NETWORK_MODE_CDMA_EVDO:
+                            case TelephonyManagerConstants.NETWORK_MODE_CDMA_NO_EVDO:
+                            case TelephonyManagerConstants.NETWORK_MODE_EVDO_NO_CDMA:
+                                enabledNetworkType =
+                                        EnabledNetworks.ENABLED_NETWORKS_CDMA_NO_LTE_CHOICES;
+                                break;
+                            case TelephonyManagerConstants.NETWORK_MODE_GLOBAL:
+                            case TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO:
+                            case TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA:
+                            case TelephonyManagerConstants.NETWORK_MODE_LTE_ONLY:
+                                enabledNetworkType =
+                                        EnabledNetworks.ENABLED_NETWORKS_CDMA_ONLY_LTE_CHOICES;
+                                break;
+                            default:
+                                enabledNetworkType = EnabledNetworks.ENABLED_NETWORKS_CDMA_CHOICES;
+                                break;
                         }
                     }
                 }
-                break;
-            case TelephonyManager.NETWORK_MODE_NR_LTE_CDMA_EVDO:
-            case TelephonyManager.NETWORK_MODE_NR_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA:
-                preference.setValue(Integer.toString(networkMode));
-                preference.setSummary(mContext.getString(R.string.network_5G)
-                        + mContext.getString(R.string.network_recommended));
-                break;
-            case TelephonyManager.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA:
-                preference.setValue(
-                        Integer.toString(TelephonyManager.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA));
-                if (mTelephonyManager.getPhoneType() == PhoneConstants.PHONE_TYPE_CDMA
-                        || mIsGlobalCdma
-                        || MobileNetworkUtils.isWorldMode(mContext, mSubId)) {
-                    preference.setSummary(R.string.network_global);
+            } else if (phoneType == TelephonyManager.PHONE_TYPE_GSM) {
+                if (MobileNetworkUtils.isTdscdmaSupported(mContext, mSubId)) {
+                    enabledNetworkType = EnabledNetworks.ENABLED_NETWORKS_TDSCDMA_CHOICES;
+                } else if (carrierConfig != null
+                        && !carrierConfig.getBoolean(CarrierConfigManager.KEY_PREFER_2G_BOOL)
+                        && !carrierConfig.getBoolean(CarrierConfigManager.KEY_LTE_ENABLED_BOOL)) {
+                    enabledNetworkType = EnabledNetworks.ENABLED_NETWORKS_EXCEPT_GSM_LTE_CHOICES;
+                } else if (carrierConfig != null
+                        && !carrierConfig.getBoolean(CarrierConfigManager.KEY_PREFER_2G_BOOL)) {
+                    enabledNetworkType = mShow4gForLTE
+                            ? EnabledNetworks.ENABLED_NETWORKS_EXCEPT_GSM_4G_CHOICES
+                            : EnabledNetworks.ENABLED_NETWORKS_EXCEPT_GSM_CHOICES;
+                } else if (carrierConfig != null
+                        && !carrierConfig.getBoolean(CarrierConfigManager.KEY_LTE_ENABLED_BOOL)) {
+                    enabledNetworkType = EnabledNetworks.ENABLED_NETWORKS_EXCEPT_LTE_CHOICES;
+                } else if (mIsGlobalCdma) {
+                    enabledNetworkType = EnabledNetworks.ENABLED_NETWORKS_CDMA_CHOICES;
                 } else {
-                    preference.setSummary(mContext.getString(R.string.network_5G)
-                            + mContext.getString(R.string.network_recommended));
+                    enabledNetworkType = mShow4gForLTE ? EnabledNetworks.ENABLED_NETWORKS_4G_CHOICES
+                            : EnabledNetworks.ENABLED_NETWORKS_CHOICES;
                 }
-                break;
-            default:
-                preference.setSummary(
-                        mContext.getString(R.string.mobile_network_mode_error, networkMode));
+            }
+            //TODO(b/117881708): figure out what world mode is, then we can optimize code. Otherwise
+            // I prefer to keep this old code
+            if (MobileNetworkUtils.isWorldMode(mContext, mSubId)) {
+                enabledNetworkType = EnabledNetworks.PREFERRED_NETWORK_MODE_CHOICES_WORLD_MODE;
+            }
+
+            Log.d(LOG_TAG, "enabledNetworkType: " + enabledNetworkType);
+            return enabledNetworkType;
         }
+
+        /**
+         * Sets the display string for the network mode choice and selects the corresponding item
+         *
+         * @param networkMode the current network mode. The current mode might not be an option in
+         *                   the choice list. The nearest choice is selected instead
+         */
+        void setPreferenceValueAndSummary(int networkMode) {
+            setSelectedEntry(networkMode);
+            switch (networkMode) {
+                case TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_WCDMA:
+                case TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM_WCDMA:
+                case TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM:
+                    setSelectedEntry(
+                            TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM_WCDMA);
+                    setSummary(R.string.network_3G);
+                    break;
+                case TelephonyManagerConstants.NETWORK_MODE_WCDMA_ONLY:
+                case TelephonyManagerConstants.NETWORK_MODE_GSM_UMTS:
+                case TelephonyManagerConstants.NETWORK_MODE_WCDMA_PREF:
+                    if (!mIsGlobalCdma) {
+                        setSelectedEntry(TelephonyManagerConstants.NETWORK_MODE_WCDMA_PREF);
+                        setSummary(R.string.network_3G);
+                    } else {
+                        setSelectedEntry(
+                                TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA);
+                        setSummary(R.string.network_global);
+                    }
+                    break;
+                case TelephonyManagerConstants.NETWORK_MODE_GSM_ONLY:
+                    if (!mIsGlobalCdma) {
+                        setSelectedEntry(TelephonyManagerConstants.NETWORK_MODE_GSM_ONLY);
+                        setSummary(R.string.network_2G);
+                    } else {
+                        setSelectedEntry(
+                                TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA);
+                        setSummary(R.string.network_global);
+                    }
+                    break;
+                case TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA:
+                    if (MobileNetworkUtils.isWorldMode(mContext, mSubId)) {
+                        setSummary(
+                                R.string.preferred_network_mode_lte_gsm_umts_summary);
+                        break;
+                    }
+                case TelephonyManagerConstants.NETWORK_MODE_LTE_ONLY:
+                case TelephonyManagerConstants.NETWORK_MODE_LTE_WCDMA:
+                    if (!mIsGlobalCdma) {
+                        setSelectedEntry(
+                                TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA);
+                        setSummary(
+                                mShow4gForLTE ? R.string.network_4G : R.string.network_lte);
+                    } else {
+                        setSelectedEntry(
+                                TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA);
+                        setSummary(R.string.network_global);
+                    }
+                    break;
+                case TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO:
+                    if (MobileNetworkUtils.isWorldMode(mContext, mSubId)) {
+                        setSummary(
+                                R.string.preferred_network_mode_lte_cdma_summary);
+                    } else {
+                        setSelectedEntry(
+                                TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO);
+                        setSummary(is5gEntryDisplayed()
+                                ? R.string.network_lte_pure : R.string.network_lte);
+                    }
+                    break;
+                case TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA:
+                    setSelectedEntry(
+                            TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA);
+                    setSummary(R.string.network_3G);
+                    break;
+                case TelephonyManagerConstants.NETWORK_MODE_CDMA_EVDO:
+                case TelephonyManagerConstants.NETWORK_MODE_EVDO_NO_CDMA:
+                case TelephonyManagerConstants.NETWORK_MODE_GLOBAL:
+                    setSelectedEntry(TelephonyManagerConstants.NETWORK_MODE_CDMA_EVDO);
+                    setSummary(R.string.network_3G);
+                    break;
+                case TelephonyManagerConstants.NETWORK_MODE_CDMA_NO_EVDO:
+                    setSelectedEntry(TelephonyManagerConstants.NETWORK_MODE_CDMA_NO_EVDO);
+                    setSummary(R.string.network_1x);
+                    break;
+                case TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_ONLY:
+                    setSelectedEntry(TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_ONLY);
+                    setSummary(R.string.network_3G);
+                    break;
+                case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM:
+                case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA:
+                case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA:
+                case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_WCDMA:
+                case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA:
+                case TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA:
+                    if (MobileNetworkUtils.isTdscdmaSupported(mContext, mSubId)) {
+                        setSelectedEntry(
+                                TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA);
+                        setSummary(is5gEntryDisplayed()
+                                ? R.string.network_lte_pure : R.string.network_lte);
+                    } else {
+                        setSelectedEntry(
+                                TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA);
+                        if (mTelephonyManager.getPhoneType() == TelephonyManager.PHONE_TYPE_CDMA
+                                || mIsGlobalCdma
+                                || MobileNetworkUtils.isWorldMode(mContext, mSubId)) {
+                            setSummary(R.string.network_global);
+                        } else {
+                            if (is5gEntryDisplayed()) {
+                                setSummary(mShow4gForLTE
+                                        ? R.string.network_4G_pure : R.string.network_lte_pure);
+                            } else {
+                                setSummary(mShow4gForLTE
+                                        ? R.string.network_4G : R.string.network_lte);
+                            }
+                        }
+                    }
+                    break;
+                case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO:
+                case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA:
+                    setSelectedEntry(networkMode);
+                    setSummary(mContext.getString(R.string.network_5G)
+                            + mContext.getString(R.string.network_recommended));
+                    break;
+                case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA:
+                    setSelectedEntry(
+                            TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA);
+                    if (mTelephonyManager.getPhoneType() == TelephonyManager.PHONE_TYPE_CDMA
+                            || mIsGlobalCdma
+                            || MobileNetworkUtils.isWorldMode(mContext, mSubId)) {
+                        setSummary(R.string.network_global);
+                    } else {
+                        setSummary(mContext.getString(R.string.network_5G)
+                                + mContext.getString(R.string.network_recommended));
+                    }
+                    break;
+                default:
+                    setSummary(
+                            mContext.getString(R.string.mobile_network_mode_error, networkMode));
+            }
+        }
+
+        /**
+         * Transform LTE network mode to 5G network mode.
+         *
+         * @param networkType an LTE network mode without 5G.
+         * @return the corresponding network mode with 5G.
+         */
+        private static int addNrToLteNetworkType(int networkType) {
+            switch(networkType) {
+                case TelephonyManagerConstants.NETWORK_MODE_LTE_ONLY:
+                    return TelephonyManagerConstants.NETWORK_MODE_NR_LTE;
+                case TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO:
+                    return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO;
+                case TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA:
+                    return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_GSM_WCDMA;
+                case TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA:
+                    return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA;
+                case TelephonyManagerConstants.NETWORK_MODE_LTE_WCDMA:
+                    return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_WCDMA;
+                case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA:
+                    return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA;
+                case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM:
+                    return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM;
+                case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_WCDMA:
+                    return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_WCDMA;
+                case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA:
+                    return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA;
+                case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA:
+                    return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA;
+                default:
+                    return networkType; // not LTE
+            }
+        }
+
+        private void setPreferenceValueAndSummary() {
+            setPreferenceValueAndSummary(getPreferredNetworkMode());
+        }
+
+        private boolean checkSupportedRadioBitmask(long supportedRadioBitmask, long targetBitmask) {
+            return (targetBitmask & supportedRadioBitmask) > 0;
+        }
+
+        /**
+         * Add 5G option. Only show the UI when device supported 5G and allowed 5G.
+         */
+        private void add5gEntry(int value) {
+            boolean isNRValue = value >= TelephonyManagerConstants.NETWORK_MODE_NR_ONLY;
+            if (mSupported5gRadioAccessFamily && mAllowed5gNetworkType && isNRValue) {
+                mEntries.add(mContext.getString(R.string.network_5G)
+                        + mContext.getString(R.string.network_recommended));
+                mEntriesValue.add(value);
+                mIs5gEntryDisplayed = true;
+            } else {
+                Log.d(LOG_TAG, "Hide 5G option. "
+                        + " supported5GRadioAccessFamily: " + mSupported5gRadioAccessFamily
+                        + " allowed5GNetworkType: " + mAllowed5gNetworkType
+                        + " isNRValue: " + isNRValue);
+            }
+        }
+
+        private void addGlobalEntry() {
+            Log.d(LOG_TAG, "addGlobalEntry. "
+                    + " supported5GRadioAccessFamily: " + mSupported5gRadioAccessFamily
+                    + " allowed5GNetworkType: " + mAllowed5gNetworkType);
+            mEntries.add(mContext.getString(R.string.network_global));
+            if (mSupported5gRadioAccessFamily & mAllowed5gNetworkType) {
+                mEntriesValue.add(
+                        TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA);
+            } else {
+                mEntriesValue.add(
+                        TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA);
+            }
+        }
+
+        /**
+         * Add LTE entry. If device supported 5G, show "LTE" instead of "LTE (recommended)".
+         */
+        private void addLteEntry(int value) {
+            if (mSupported5gRadioAccessFamily) {
+                mEntries.add(mContext.getString(R.string.network_lte_pure));
+            } else {
+                mEntries.add(mContext.getString(R.string.network_lte));
+            }
+            mEntriesValue.add(value);
+        }
+
+        /**
+         * Add 4G entry. If device supported 5G, show "4G" instead of "4G (recommended)".
+         */
+        private void add4gEntry(int value) {
+            if (mSupported5gRadioAccessFamily) {
+                mEntries.add(mContext.getString(R.string.network_4G_pure));
+            } else {
+                mEntries.add(mContext.getString(R.string.network_4G));
+            }
+            mEntriesValue.add(value);
+        }
+
+        private void add3gEntry(int value) {
+            mEntries.add(mContext.getString(R.string.network_3G));
+            mEntriesValue.add(value);
+        }
+
+        private void add2gEntry(int value) {
+            mEntries.add(mContext.getString(R.string.network_2G));
+            mEntriesValue.add(value);
+        }
+
+        private void add1xEntry(int value) {
+            mEntries.add(mContext.getString(R.string.network_1x));
+            mEntriesValue.add(value);
+        }
+
+        private void addCustomEntry(String name, int value) {
+            mEntries.add(name);
+            mEntriesValue.add(value);
+        }
+
+        private String[] getEntries() {
+            return mEntries.toArray(new String[0]);
+        }
+
+        private String[] getEntryValues() {
+            Integer intArr[] = mEntriesValue.toArray(new Integer[0]);
+            return Arrays.stream(intArr)
+                    .map(String::valueOf)
+                    .toArray(String[]::new);
+        }
+
+        private int getSelectedEntryValue() {
+            return mSelectedEntry;
+        }
+
+        private void setSelectedEntry(int value) {
+            boolean isInEntriesValue = mEntriesValue.stream()
+                    .anyMatch(v -> v == value);
+
+            if (isInEntriesValue) {
+                mSelectedEntry = value;
+            } else if (mEntriesValue.size() > 0) {
+                // if the value isn't in entriesValue, select on the first one.
+                mSelectedEntry = mEntriesValue.get(0);
+            } else {
+                Log.e(LOG_TAG, "entriesValue is empty");
+            }
+        }
+
+        private String getSummary() {
+            return mSummary;
+        }
+
+        private void setSummary(int summaryResId) {
+            setSummary(mContext.getString(summaryResId));
+        }
+
+        private void setSummary(String summary) {
+            this.mSummary = summary;
+        }
+
+        private boolean is5gEntryDisplayed() {
+            return mIs5gEntryDisplayed;
+        }
+
     }
 }
diff --git a/src/com/android/settings/network/telephony/Enhanced4gAdvancedCallingPreferenceController.java b/src/com/android/settings/network/telephony/Enhanced4gAdvancedCallingPreferenceController.java
new file mode 100644
index 0000000..96e43b7
--- /dev/null
+++ b/src/com/android/settings/network/telephony/Enhanced4gAdvancedCallingPreferenceController.java
@@ -0,0 +1,35 @@
+/*
+ * 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.network.telephony;
+
+import android.content.Context;
+
+/**
+ * Preference controller for "Advance Calling"
+ */
+public class Enhanced4gAdvancedCallingPreferenceController extends
+        Enhanced4gBasePreferenceController {
+
+    public Enhanced4gAdvancedCallingPreferenceController(Context context, String key) {
+        super(context, key);
+    }
+
+    @Override
+    protected int getMode() {
+        return MODE_ADVANCED_CALL;
+    }
+}
diff --git a/src/com/android/settings/network/telephony/Enhanced4gBasePreferenceController.java b/src/com/android/settings/network/telephony/Enhanced4gBasePreferenceController.java
new file mode 100644
index 0000000..d3fb437
--- /dev/null
+++ b/src/com/android/settings/network/telephony/Enhanced4gBasePreferenceController.java
@@ -0,0 +1,221 @@
+/*
+ * 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.network.telephony;
+
+import android.content.Context;
+import android.os.PersistableBundle;
+import android.telephony.CarrierConfigManager;
+import android.telephony.PhoneStateListener;
+import android.telephony.SubscriptionManager;
+import android.telephony.TelephonyManager;
+import android.telephony.ims.ImsMmTelManager;
+import android.util.Log;
+
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+import androidx.preference.SwitchPreference;
+
+import com.android.settings.network.ims.VolteQueryImsState;
+import com.android.settingslib.core.lifecycle.LifecycleObserver;
+import com.android.settingslib.core.lifecycle.events.OnStart;
+import com.android.settingslib.core.lifecycle.events.OnStop;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Preference controller for "Enhanced 4G LTE"
+ */
+public class Enhanced4gBasePreferenceController extends TelephonyTogglePreferenceController
+        implements LifecycleObserver, OnStart, OnStop {
+
+    private static final String TAG = "Enhanced4g";
+
+    @VisibleForTesting
+    Preference mPreference;
+    private PhoneCallStateListener mPhoneStateListener;
+    @VisibleForTesting
+    Integer mCallState;
+    private final List<On4gLteUpdateListener> m4gLteListeners;
+
+    protected static final int MODE_NONE = -1;
+    protected static final int MODE_VOLTE = 0;
+    protected static final int MODE_ADVANCED_CALL = 1;
+    protected static final int MODE_4G_CALLING = 2;
+    private int m4gCurrentMode = MODE_NONE;
+
+    public Enhanced4gBasePreferenceController(Context context, String key) {
+        super(context, key);
+        m4gLteListeners = new ArrayList<>();
+        mPhoneStateListener = new PhoneCallStateListener();
+    }
+
+    public Enhanced4gBasePreferenceController init(int subId) {
+        if (mSubId == subId) {
+            return this;
+        }
+        mSubId = subId;
+        final PersistableBundle carrierConfig = getCarrierConfigForSubId(subId);
+        if (carrierConfig == null) {
+            return this;
+        }
+
+        final boolean show4GForLTE = carrierConfig.getBoolean(
+                CarrierConfigManager.KEY_SHOW_4G_FOR_LTE_DATA_ICON_BOOL);
+        m4gCurrentMode = carrierConfig.getInt(
+                CarrierConfigManager.KEY_ENHANCED_4G_LTE_TITLE_VARIANT_INT);
+        if (m4gCurrentMode != MODE_ADVANCED_CALL) {
+            m4gCurrentMode = show4GForLTE ? MODE_4G_CALLING : MODE_VOLTE;
+        }
+        return this;
+    }
+
+    @Override
+    public int getAvailabilityStatus(int subId) {
+        init(subId);
+        if (!isModeMatched()) {
+            return CONDITIONALLY_UNAVAILABLE;
+        }
+        final PersistableBundle carrierConfig = getCarrierConfigForSubId(subId);
+        if ((carrierConfig == null)
+                || carrierConfig.getBoolean(CarrierConfigManager.KEY_HIDE_ENHANCED_4G_LTE_BOOL)) {
+            return CONDITIONALLY_UNAVAILABLE;
+        }
+        final VolteQueryImsState queryState = queryImsState(subId);
+        if (!queryState.isReadyToVoLte()) {
+            return CONDITIONALLY_UNAVAILABLE;
+        }
+        return (isUserControlAllowed(carrierConfig) && queryState.isAllowUserControl())
+                ? AVAILABLE : AVAILABLE_UNSEARCHABLE;
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        mPreference = screen.findPreference(getPreferenceKey());
+    }
+
+    @Override
+    public void onStart() {
+        mPhoneStateListener.register(mContext, mSubId);
+    }
+
+    @Override
+    public void onStop() {
+        mPhoneStateListener.unregister();
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        super.updateState(preference);
+        final SwitchPreference switchPreference = (SwitchPreference) preference;
+
+        final VolteQueryImsState queryState = queryImsState(mSubId);
+        switchPreference.setEnabled(isUserControlAllowed(getCarrierConfigForSubId(mSubId))
+                && queryState.isAllowUserControl());
+        switchPreference.setChecked(queryState.isEnabledByUser()
+                && queryState.isAllowUserControl());
+    }
+
+    @Override
+    public boolean setChecked(boolean isChecked) {
+        if (!SubscriptionManager.isValidSubscriptionId(mSubId)) {
+            return false;
+        }
+        final ImsMmTelManager imsMmTelManager = ImsMmTelManager.createForSubscriptionId(mSubId);
+        if (imsMmTelManager == null) {
+            return false;
+        }
+        try {
+            imsMmTelManager.setAdvancedCallingSettingEnabled(isChecked);
+        } catch (IllegalArgumentException exception) {
+            Log.w(TAG, "fail to set VoLTE=" + isChecked + ". subId=" + mSubId, exception);
+            return false;
+        }
+        for (final On4gLteUpdateListener lsn : m4gLteListeners) {
+            lsn.on4gLteUpdated();
+        }
+        return true;
+    }
+
+    @Override
+    public boolean isChecked() {
+        final VolteQueryImsState queryState = queryImsState(mSubId);
+        return queryState.isEnabledByUser();
+    }
+
+    public Enhanced4gBasePreferenceController addListener(On4gLteUpdateListener lsn) {
+        m4gLteListeners.add(lsn);
+        return this;
+    }
+
+    protected int getMode() {
+        return MODE_NONE;
+    }
+
+    private boolean isModeMatched() {
+        return m4gCurrentMode == getMode();
+    }
+
+    @VisibleForTesting
+    VolteQueryImsState queryImsState(int subId) {
+        return new VolteQueryImsState(mContext, subId);
+    }
+
+    private boolean isUserControlAllowed(final PersistableBundle carrierConfig) {
+        return (mCallState != null) && (mCallState == TelephonyManager.CALL_STATE_IDLE)
+                && (carrierConfig != null)
+                && carrierConfig.getBoolean(
+                CarrierConfigManager.KEY_EDITABLE_ENHANCED_4G_LTE_BOOL);
+    }
+
+    private class PhoneCallStateListener extends PhoneStateListener {
+
+        PhoneCallStateListener() {
+            super();
+        }
+
+        private TelephonyManager mTelephonyManager;
+
+        @Override
+        public void onCallStateChanged(int state, String incomingNumber) {
+            mCallState = state;
+            updateState(mPreference);
+        }
+
+        public void register(Context context, int subId) {
+            mTelephonyManager = context.getSystemService(TelephonyManager.class);
+            if (SubscriptionManager.isValidSubscriptionId(subId)) {
+                mTelephonyManager = mTelephonyManager.createForSubscriptionId(subId);
+            }
+            mTelephonyManager.listen(this, PhoneStateListener.LISTEN_CALL_STATE);
+        }
+
+        public void unregister() {
+            mCallState = null;
+            mTelephonyManager.listen(this, PhoneStateListener.LISTEN_NONE);
+        }
+    }
+
+    /**
+     * Update other preferences when 4gLte state is changed
+     */
+    public interface On4gLteUpdateListener {
+        void on4gLteUpdated();
+    }
+}
diff --git a/src/com/android/settings/network/telephony/Enhanced4gCallingPreferenceController.java b/src/com/android/settings/network/telephony/Enhanced4gCallingPreferenceController.java
new file mode 100644
index 0000000..a0d2e34
--- /dev/null
+++ b/src/com/android/settings/network/telephony/Enhanced4gCallingPreferenceController.java
@@ -0,0 +1,34 @@
+/*
+ * 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.network.telephony;
+
+import android.content.Context;
+
+/**
+ * Preference controller for "4G Calling"
+ */
+public class Enhanced4gCallingPreferenceController extends Enhanced4gBasePreferenceController {
+
+    public Enhanced4gCallingPreferenceController(Context context, String key) {
+        super(context, key);
+    }
+
+    @Override
+    protected int getMode() {
+        return MODE_4G_CALLING;
+    }
+}
diff --git a/src/com/android/settings/network/telephony/Enhanced4gLtePreferenceController.java b/src/com/android/settings/network/telephony/Enhanced4gLtePreferenceController.java
index ca45a32..22cbd97 100644
--- a/src/com/android/settings/network/telephony/Enhanced4gLtePreferenceController.java
+++ b/src/com/android/settings/network/telephony/Enhanced4gLtePreferenceController.java
@@ -17,173 +17,18 @@
 package com.android.settings.network.telephony;
 
 import android.content.Context;
-import android.os.Looper;
-import android.os.PersistableBundle;
-import android.telephony.CarrierConfigManager;
-import android.telephony.PhoneStateListener;
-import android.telephony.SubscriptionManager;
-import android.telephony.TelephonyManager;
-
-import androidx.annotation.VisibleForTesting;
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
-
-import com.android.ims.ImsManager;
-import com.android.settings.R;
-import com.android.settingslib.core.lifecycle.LifecycleObserver;
-import com.android.settingslib.core.lifecycle.events.OnStart;
-import com.android.settingslib.core.lifecycle.events.OnStop;
-
-import java.util.ArrayList;
-import java.util.List;
 
 /**
  * Preference controller for "Enhanced 4G LTE"
  */
-public class Enhanced4gLtePreferenceController extends TelephonyTogglePreferenceController
-        implements LifecycleObserver, OnStart, OnStop {
-
-    private Preference mPreference;
-    private TelephonyManager mTelephonyManager;
-    private CarrierConfigManager mCarrierConfigManager;
-    private PersistableBundle mCarrierConfig;
-    @VisibleForTesting
-    ImsManager mImsManager;
-    private PhoneCallStateListener mPhoneStateListener;
-    private final List<On4gLteUpdateListener> m4gLteListeners;
-    private final CharSequence[] mVariantTitles;
-    private final CharSequence[] mVariantSumaries;
-
-    private final int VARIANT_TITLE_VOLTE = 0;
-    private final int VARIANT_TITLE_ADVANCED_CALL = 1;
-    private final int VARIANT_TITLE_4G_CALLING = 2;
+public class Enhanced4gLtePreferenceController extends Enhanced4gBasePreferenceController {
 
     public Enhanced4gLtePreferenceController(Context context, String key) {
         super(context, key);
-        mCarrierConfigManager = context.getSystemService(CarrierConfigManager.class);
-        m4gLteListeners = new ArrayList<>();
-        mPhoneStateListener = new PhoneCallStateListener(Looper.getMainLooper());
-        mVariantTitles = context.getResources()
-                .getTextArray(R.array.enhanced_4g_lte_mode_title_variant);
-        mVariantSumaries = context.getResources()
-                .getTextArray(R.array.enhanced_4g_lte_mode_sumary_variant);
     }
 
     @Override
-    public int getAvailabilityStatus(int subId) {
-        final PersistableBundle carrierConfig = mCarrierConfigManager.getConfigForSubId(subId);
-        final boolean isVisible = subId != SubscriptionManager.INVALID_SUBSCRIPTION_ID
-                && mImsManager != null && carrierConfig != null
-                && mImsManager.isVolteEnabledByPlatform()
-                && mImsManager.isVolteProvisionedOnDevice()
-                && MobileNetworkUtils.isImsServiceStateReady(mImsManager)
-                && !carrierConfig.getBoolean(CarrierConfigManager.KEY_HIDE_ENHANCED_4G_LTE_BOOL);
-        return isVisible
-                ? (is4gLtePrefEnabled() ? AVAILABLE : AVAILABLE_UNSEARCHABLE)
-                : CONDITIONALLY_UNAVAILABLE;
-    }
-
-    @Override
-    public void displayPreference(PreferenceScreen screen) {
-        super.displayPreference(screen);
-        mPreference = screen.findPreference(getPreferenceKey());
-    }
-
-    @Override
-    public void onStart() {
-        mPhoneStateListener.register(mSubId);
-    }
-
-    @Override
-    public void onStop() {
-        mPhoneStateListener.unregister();
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        super.updateState(preference);
-        final SwitchPreference switchPreference = (SwitchPreference) preference;
-        final boolean show4GForLTE = mCarrierConfig.getBoolean(
-            CarrierConfigManager.KEY_SHOW_4G_FOR_LTE_DATA_ICON_BOOL);
-        int variant4glteTitleIndex = mCarrierConfig.getInt(
-            CarrierConfigManager.KEY_ENHANCED_4G_LTE_TITLE_VARIANT_INT);
-
-        if (variant4glteTitleIndex != VARIANT_TITLE_ADVANCED_CALL) {
-            variant4glteTitleIndex = show4GForLTE ? VARIANT_TITLE_4G_CALLING : VARIANT_TITLE_VOLTE;
-        }
-
-        switchPreference.setTitle(mVariantTitles[variant4glteTitleIndex]);
-        switchPreference.setSummary(mVariantSumaries[variant4glteTitleIndex]);
-        switchPreference.setEnabled(is4gLtePrefEnabled());
-        switchPreference.setChecked(mImsManager.isEnhanced4gLteModeSettingEnabledByUser()
-                && mImsManager.isNonTtyOrTtyOnVolteEnabled());
-    }
-
-    @Override
-    public boolean setChecked(boolean isChecked) {
-        mImsManager.setEnhanced4gLteModeSetting(isChecked);
-        for (final On4gLteUpdateListener lsn : m4gLteListeners) {
-            lsn.on4gLteUpdated();
-        }
-        return true;
-    }
-
-    @Override
-    public boolean isChecked() {
-        return mImsManager.isEnhanced4gLteModeSettingEnabledByUser();
-    }
-
-    public Enhanced4gLtePreferenceController init(int subId) {
-        mSubId = subId;
-        mTelephonyManager = TelephonyManager.from(mContext).createForSubscriptionId(mSubId);
-        mCarrierConfig = mCarrierConfigManager.getConfigForSubId(mSubId);
-        if (mSubId != SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
-            mImsManager = ImsManager.getInstance(mContext, SubscriptionManager.getPhoneId(mSubId));
-        }
-
-        return this;
-    }
-
-    public Enhanced4gLtePreferenceController addListener(On4gLteUpdateListener lsn) {
-        m4gLteListeners.add(lsn);
-        return this;
-    }
-
-    private boolean is4gLtePrefEnabled() {
-        return mSubId != SubscriptionManager.INVALID_SUBSCRIPTION_ID
-                && mTelephonyManager.getCallState(mSubId) == TelephonyManager.CALL_STATE_IDLE
-                && mImsManager != null
-                && mImsManager.isNonTtyOrTtyOnVolteEnabled()
-                && mCarrierConfig.getBoolean(
-                CarrierConfigManager.KEY_EDITABLE_ENHANCED_4G_LTE_BOOL);
-    }
-
-    private class PhoneCallStateListener extends PhoneStateListener {
-
-        public PhoneCallStateListener(Looper looper) {
-            super(looper);
-        }
-
-        @Override
-        public void onCallStateChanged(int state, String incomingNumber) {
-            updateState(mPreference);
-        }
-
-        public void register(int subId) {
-            mSubId = subId;
-            mTelephonyManager.listen(this, PhoneStateListener.LISTEN_CALL_STATE);
-        }
-
-        public void unregister() {
-            mTelephonyManager.listen(this, PhoneStateListener.LISTEN_NONE);
-        }
-    }
-
-    /**
-     * Update other preferences when 4gLte state is changed
-     */
-    public interface On4gLteUpdateListener {
-        void on4gLteUpdated();
+    protected int getMode() {
+        return MODE_VOLTE;
     }
 }
diff --git a/src/com/android/settings/network/telephony/Enhanced4gLteSliceHelper.java b/src/com/android/settings/network/telephony/Enhanced4gLteSliceHelper.java
index be5d948..52fc99c 100644
--- a/src/com/android/settings/network/telephony/Enhanced4gLteSliceHelper.java
+++ b/src/com/android/settings/network/telephony/Enhanced4gLteSliceHelper.java
@@ -27,6 +27,7 @@
 import android.os.PersistableBundle;
 import android.telephony.CarrierConfigManager;
 import android.telephony.SubscriptionManager;
+import android.telephony.ims.ImsMmTelManager;
 import android.util.Log;
 
 import androidx.annotation.VisibleForTesting;
@@ -36,20 +37,12 @@
 import androidx.slice.builders.ListBuilder.RowBuilder;
 import androidx.slice.builders.SliceAction;
 
-import com.android.ims.ImsManager;
 import com.android.settings.R;
 import com.android.settings.Utils;
+import com.android.settings.network.ims.VolteQueryImsState;
 import com.android.settings.slices.CustomSliceRegistry;
 import com.android.settings.slices.SliceBroadcastReceiver;
 
-import java.util.concurrent.Callable;
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-import java.util.concurrent.FutureTask;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.TimeoutException;
-
 /**
  * Helper class to control slices for enhanced 4g LTE settings.
  */
@@ -71,11 +64,6 @@
     public static final String ACTION_MOBILE_NETWORK_SETTINGS_ACTIVITY =
             "android.settings.NETWORK_OPERATOR_SETTINGS";
 
-    /**
-     * Timeout for querying enhanced 4g lte setting from ims manager.
-     */
-    private static final int TIMEOUT_MILLIS = 2000;
-
     private final Context mContext;
 
     /**
@@ -114,19 +102,11 @@
     public Slice createEnhanced4gLteSlice(Uri sliceUri) {
         final int subId = getDefaultVoiceSubId();
 
-        if (subId <= SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
+        if (!SubscriptionManager.isValidSubscriptionId(subId)) {
             Log.d(TAG, "Invalid subscription Id");
             return null;
         }
 
-        final ImsManager imsManager = getImsManager(subId);
-
-        if (!imsManager.isVolteEnabledByPlatform()
-                || !imsManager.isVolteProvisionedOnDevice()) {
-            Log.d(TAG, "Setting is either not provisioned or not enabled by Platform");
-            return null;
-        }
-
         if (isCarrierConfigManagerKeyEnabled(
                 CarrierConfigManager.KEY_HIDE_ENHANCED_4G_LTE_BOOL, subId, false)
                 || !isCarrierConfigManagerKeyEnabled(
@@ -136,29 +116,21 @@
             return null;
         }
 
+        final VolteQueryImsState queryState = queryImsState(subId);
+        if (!queryState.isVoLteProvisioned()) {
+            Log.d(TAG, "Setting is either not provisioned or not enabled by Platform");
+            return null;
+        }
+
         try {
             return getEnhanced4gLteSlice(sliceUri,
-                    isEnhanced4gLteModeEnabled(imsManager), subId);
-        } catch (InterruptedException | TimeoutException | ExecutionException e) {
+                    queryState.isEnabledByUser(), subId);
+        } catch (IllegalArgumentException e) {
             Log.e(TAG, "Unable to read the current Enhanced 4g LTE status", e);
             return null;
         }
     }
 
-    private boolean isEnhanced4gLteModeEnabled(ImsManager imsManager)
-            throws InterruptedException, ExecutionException, TimeoutException {
-        final FutureTask<Boolean> isEnhanced4gLteOnTask = new FutureTask<>(new Callable<Boolean>() {
-            @Override
-            public Boolean call() {
-                return imsManager.isEnhanced4gLteModeSettingEnabledByUser();
-            }
-        });
-        final ExecutorService executor = Executors.newSingleThreadExecutor();
-        executor.execute(isEnhanced4gLteOnTask);
-
-        return isEnhanced4gLteOnTask.get(TIMEOUT_MILLIS, TimeUnit.MILLISECONDS);
-    }
-
     /**
      * Builds a toggle slice where the intent takes you to the Enhanced 4G LTE page and the toggle
      * enables/disables Enhanced 4G LTE mode setting.
@@ -184,10 +156,6 @@
                 .build();
     }
 
-    protected ImsManager getImsManager(int subId) {
-        return ImsManager.getInstance(mContext, SubscriptionManager.getPhoneId(subId));
-    }
-
     /**
      * Handles Enhanced 4G LTE mode setting change from Enhanced 4G LTE slice and posts
      * notification. Should be called when intent action is ACTION_ENHANCED_4G_LTE_CHANGED
@@ -195,26 +163,57 @@
      * @param intent action performed
      */
     public void handleEnhanced4gLteChanged(Intent intent) {
-        final int subId = getDefaultVoiceSubId();
-
-        if (subId > SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
-            final ImsManager imsManager = getImsManager(subId);
-            if (imsManager.isVolteEnabledByPlatform()
-                    && imsManager.isVolteProvisionedOnDevice()) {
-                final boolean currentValue = imsManager.isEnhanced4gLteModeSettingEnabledByUser()
-                        && imsManager.isNonTtyOrTtyOnVolteEnabled();
-                final boolean newValue = intent.getBooleanExtra(EXTRA_TOGGLE_STATE,
-                        currentValue);
-                if (newValue != currentValue) {
-                    imsManager.setEnhanced4gLteModeSetting(newValue);
-                }
-            }
+        // skip checking when no toggle state update contained within Intent
+        final boolean newValue = intent.getBooleanExtra(EXTRA_TOGGLE_STATE, false);
+        if (newValue != intent.getBooleanExtra(EXTRA_TOGGLE_STATE, true)) {
+            notifyEnhanced4gLteUpdate();
+            return;
         }
+
+        final int subId = getDefaultVoiceSubId();
+        if (!SubscriptionManager.isValidSubscriptionId(subId)) {
+            notifyEnhanced4gLteUpdate();
+            return;
+        }
+
+        final VolteQueryImsState queryState = queryImsState(subId);
+        final boolean currentValue = queryState.isEnabledByUser()
+                && queryState.isAllowUserControl();
+        if (newValue == currentValue) {
+            notifyEnhanced4gLteUpdate();
+            return;
+        }
+
+        // isVoLteProvisioned() is the last item to check since it might block the main thread
+        if (queryState.isVoLteProvisioned()) {
+            setEnhanced4gLteModeSetting(subId, newValue);
+        }
+        notifyEnhanced4gLteUpdate();
+    }
+
+    private void notifyEnhanced4gLteUpdate() {
         // notify change in slice in any case to get re-queried. This would result in displaying
         // appropriate message with the updated setting.
         mContext.getContentResolver().notifyChange(CustomSliceRegistry.ENHANCED_4G_SLICE_URI, null);
     }
 
+    @VisibleForTesting
+    void setEnhanced4gLteModeSetting(int subId, boolean isEnabled) {
+        if (!SubscriptionManager.isValidSubscriptionId(subId)) {
+            return;
+        }
+        final ImsMmTelManager imsMmTelManager = ImsMmTelManager.createForSubscriptionId(subId);
+        if (imsMmTelManager == null) {
+            return;
+        }
+        try {
+            imsMmTelManager.setAdvancedCallingSettingEnabled(isEnabled);
+        } catch (IllegalArgumentException exception) {
+            Log.w(TAG, "Unable to change the Enhanced 4g LTE to " + isEnabled + ". subId=" + subId,
+                    exception);
+        }
+    }
+
     private CharSequence getEnhanced4glteModeTitle(int subId) {
         CharSequence ret = mContext.getText(R.string.enhanced_4g_lte_mode_title);
         try {
@@ -278,5 +277,10 @@
         intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
         return PendingIntent.getActivity(mContext, 0 /* requestCode */, intent, 0 /* flags */);
     }
+
+    @VisibleForTesting
+    VolteQueryImsState queryImsState(int subId) {
+        return new VolteQueryImsState(mContext, subId);
+    }
 }
 
diff --git a/src/com/android/settings/network/telephony/EuiccPreferenceController.java b/src/com/android/settings/network/telephony/EuiccPreferenceController.java
index ecd20ed..68f4370 100644
--- a/src/com/android/settings/network/telephony/EuiccPreferenceController.java
+++ b/src/com/android/settings/network/telephony/EuiccPreferenceController.java
@@ -50,7 +50,8 @@
 
     public void init(int subId) {
         mSubId = subId;
-        mTelephonyManager = TelephonyManager.from(mContext).createForSubscriptionId(mSubId);
+        mTelephonyManager = mContext.getSystemService(TelephonyManager.class)
+                .createForSubscriptionId(mSubId);
     }
 
     @Override
diff --git a/src/com/android/settings/network/telephony/MmsMessagePreferenceController.java b/src/com/android/settings/network/telephony/MmsMessagePreferenceController.java
index 4d3986b..07b808f 100644
--- a/src/com/android/settings/network/telephony/MmsMessagePreferenceController.java
+++ b/src/com/android/settings/network/telephony/MmsMessagePreferenceController.java
@@ -50,8 +50,8 @@
 
     @Override
     public int getAvailabilityStatus(int subId) {
-        final TelephonyManager telephonyManager = TelephonyManager
-                .from(mContext).createForSubscriptionId(subId);
+        final TelephonyManager telephonyManager = mContext.getSystemService(TelephonyManager.class)
+                .createForSubscriptionId(subId);
         return (subId != SubscriptionManager.INVALID_SUBSCRIPTION_ID
                 && !telephonyManager.isDataEnabled()
                 && telephonyManager.isApnMetered(ApnSetting.TYPE_MMS))
@@ -82,12 +82,13 @@
 
     public void init(int subId) {
         mSubId = subId;
-        mTelephonyManager = TelephonyManager.from(mContext).createForSubscriptionId(mSubId);
+        mTelephonyManager = mContext.getSystemService(TelephonyManager.class)
+                .createForSubscriptionId(mSubId);
     }
 
     @Override
     public boolean setChecked(boolean isChecked) {
-        return mSubscriptionManager.setAlwaysAllowMmsData(mSubId, isChecked);
+        return mTelephonyManager.setAlwaysAllowMmsData(isChecked);
     }
 
     @Override
diff --git a/src/com/android/settings/network/telephony/MobileDataDialogFragment.java b/src/com/android/settings/network/telephony/MobileDataDialogFragment.java
index a6183e9..c8a1e98 100644
--- a/src/com/android/settings/network/telephony/MobileDataDialogFragment.java
+++ b/src/com/android/settings/network/telephony/MobileDataDialogFragment.java
@@ -86,7 +86,8 @@
                 final SubscriptionInfo currentSubInfo =
                         mSubscriptionManager.getActiveSubscriptionInfo(mSubId);
                 final SubscriptionInfo nextSubInfo =
-                        mSubscriptionManager.getDefaultDataSubscriptionInfo();
+                        mSubscriptionManager.getActiveSubscriptionInfo(
+                                mSubscriptionManager.getDefaultDataSubscriptionId());
 
                 final String previousName = (nextSubInfo == null)
                         ? getContext().getResources().getString(
diff --git a/src/com/android/settings/network/telephony/MobileDataPreferenceController.java b/src/com/android/settings/network/telephony/MobileDataPreferenceController.java
index c06b78b..c35eef6 100644
--- a/src/com/android/settings/network/telephony/MobileDataPreferenceController.java
+++ b/src/com/android/settings/network/telephony/MobileDataPreferenceController.java
@@ -65,7 +65,7 @@
     public int getAvailabilityStatus(int subId) {
         return subId != SubscriptionManager.INVALID_SUBSCRIPTION_ID
                 ? AVAILABLE
-                : DISABLED_DEPENDENT_SETTING;
+                : AVAILABLE_UNSEARCHABLE;
     }
 
     @Override
@@ -138,13 +138,14 @@
     public void init(FragmentManager fragmentManager, int subId) {
         mFragmentManager = fragmentManager;
         mSubId = subId;
-        mTelephonyManager = TelephonyManager.from(mContext).createForSubscriptionId(mSubId);
+        mTelephonyManager = mContext.getSystemService(TelephonyManager.class)
+                .createForSubscriptionId(mSubId);
     }
 
     @VisibleForTesting
     boolean isDialogNeeded() {
         final boolean enableData = !isChecked();
-        final boolean isMultiSim = (mTelephonyManager.getSimCount() > 1);
+        final boolean isMultiSim = (mTelephonyManager.getActiveModemCount() > 1);
         final int defaultSubId = mSubscriptionManager.getDefaultDataSubscriptionId();
         final boolean needToDisableOthers = mSubscriptionManager
                 .isActiveSubscriptionId(defaultSubId) && defaultSubId != mSubId;
diff --git a/src/com/android/settings/network/telephony/MobileDataSlice.java b/src/com/android/settings/network/telephony/MobileDataSlice.java
index 65eaf87..b76eb38 100644
--- a/src/com/android/settings/network/telephony/MobileDataSlice.java
+++ b/src/com/android/settings/network/telephony/MobileDataSlice.java
@@ -38,11 +38,12 @@
 
 import com.android.settings.R;
 import com.android.settings.Utils;
-import com.android.settings.network.AirplaneModePreferenceController;
 import com.android.settings.network.MobileDataContentObserver;
+import com.android.settings.network.SubscriptionUtil;
 import com.android.settings.slices.CustomSliceRegistry;
 import com.android.settings.slices.CustomSliceable;
 import com.android.settings.slices.SliceBackgroundWorker;
+import com.android.settingslib.WirelessUtils;
 
 import com.google.common.annotations.VisibleForTesting;
 
@@ -147,8 +148,8 @@
     }
 
     protected static int getDefaultSubscriptionId(SubscriptionManager subscriptionManager) {
-        final SubscriptionInfo defaultSubscription =
-                subscriptionManager.getDefaultDataSubscriptionInfo();
+        final SubscriptionInfo defaultSubscription = subscriptionManager.getActiveSubscriptionInfo(
+                subscriptionManager.getDefaultDataSubscriptionId());
         if (defaultSubscription == null) {
             return SubscriptionManager.INVALID_SUBSCRIPTION_ID; // No default subscription
         }
@@ -157,8 +158,8 @@
     }
 
     private CharSequence getSummary() {
-        final SubscriptionInfo defaultSubscription =
-                mSubscriptionManager.getDefaultDataSubscriptionInfo();
+        final SubscriptionInfo defaultSubscription = mSubscriptionManager.getActiveSubscriptionInfo(
+                mSubscriptionManager.getDefaultDataSubscriptionId());
         if (defaultSubscription == null) {
             return null; // no summary text
         }
@@ -177,17 +178,14 @@
      */
     private boolean isMobileDataAvailable() {
         final List<SubscriptionInfo> subInfoList =
-                mSubscriptionManager.getSelectableSubscriptionInfoList();
+                SubscriptionUtil.getSelectableSubscriptionInfoList(mContext);
 
         return !(subInfoList == null || subInfoList.isEmpty());
     }
 
     @VisibleForTesting
     boolean isAirplaneModeEnabled() {
-        // Generic key since we only want the method check - no UI.
-        AirplaneModePreferenceController controller = new AirplaneModePreferenceController(mContext,
-                "key" /* Key */);
-        return controller.isChecked();
+        return WirelessUtils.isAirplaneModeOn(mContext);
     }
 
     @VisibleForTesting
@@ -255,7 +253,7 @@
             }
 
             public void register(Context context, int subId) {
-                final Uri uri = MobileDataContentObserver.getObservableUri(subId);
+                final Uri uri = MobileDataContentObserver.getObservableUri(context, subId);
                 context.getContentResolver().registerContentObserver(uri, false, this);
             }
 
diff --git a/src/com/android/settings/network/telephony/MobileNetworkActivity.java b/src/com/android/settings/network/telephony/MobileNetworkActivity.java
index 9912b4e..4416a0e 100644
--- a/src/com/android/settings/network/telephony/MobileNetworkActivity.java
+++ b/src/com/android/settings/network/telephony/MobileNetworkActivity.java
@@ -17,17 +17,15 @@
 package com.android.settings.network.telephony;
 
 import android.app.ActionBar;
-import android.content.BroadcastReceiver;
-import android.content.Context;
 import android.content.Intent;
-import android.content.IntentFilter;
 import android.os.Bundle;
+import android.os.UserManager;
 import android.provider.Settings;
-import android.telephony.CarrierConfigManager;
 import android.telephony.SubscriptionInfo;
-import android.telephony.SubscriptionManager;
-import android.view.Menu;
+import android.telephony.ims.ImsRcsManager;
+import android.text.TextUtils;
 import android.view.View;
+import android.widget.Toolbar;
 
 import androidx.annotation.NonNull;
 import androidx.annotation.VisibleForTesting;
@@ -35,21 +33,19 @@
 import androidx.fragment.app.FragmentManager;
 import androidx.fragment.app.FragmentTransaction;
 
-import com.android.internal.telephony.TelephonyIntents;
 import com.android.internal.util.CollectionUtils;
 import com.android.settings.R;
-import com.android.settings.core.FeatureFlags;
 import com.android.settings.core.SettingsBaseActivity;
-import com.android.settings.development.featureflags.FeatureFlagPersistent;
+import com.android.settings.network.ProxySubscriptionManager;
 import com.android.settings.network.SubscriptionUtil;
 
-import com.google.android.material.bottomnavigation.BottomNavigationView;
-
-import java.util.ArrayList;
 import java.util.List;
-import java.util.Objects;
 
-public class MobileNetworkActivity extends SettingsBaseActivity {
+/**
+ * Activity for displaying MobileNetworkSettings
+ */
+public class MobileNetworkActivity extends SettingsBaseActivity
+        implements ProxySubscriptionManager.OnActiveSubscriptionChangedListener {
 
     private static final String TAG = "MobileNetworkActivity";
     @VisibleForTesting
@@ -57,82 +53,101 @@
     @VisibleForTesting
     static final int SUB_ID_NULL = Integer.MIN_VALUE;
 
-    @VisibleForTesting
-    SubscriptionManager mSubscriptionManager;
-    @VisibleForTesting
-    int mCurSubscriptionId;
-    @VisibleForTesting
-    List<SubscriptionInfo> mSubscriptionInfos = new ArrayList<>();
-    private PhoneChangeReceiver mPhoneChangeReceiver;
-
-    private final SubscriptionManager.OnSubscriptionsChangedListener
-            mOnSubscriptionsChangeListener
-            = new SubscriptionManager.OnSubscriptionsChangedListener() {
-        @Override
-        public void onSubscriptionsChanged() {
-            if (!Objects.equals(mSubscriptionInfos,
-                    mSubscriptionManager.getActiveSubscriptionInfoList(true))) {
-                updateSubscriptions(null);
-            }
-        }
-    };
+    private ProxySubscriptionManager mProxySubscriptionMgr;
+    private int mCurSubscriptionId;
 
     @Override
     protected void onNewIntent(Intent intent) {
         super.onNewIntent(intent);
+        validate(intent);
         setIntent(intent);
-        updateSubscriptions(null);
+
+        int updateSubscriptionIndex = SUB_ID_NULL;
+        if (intent != null) {
+            updateSubscriptionIndex = intent.getIntExtra(Settings.EXTRA_SUB_ID, SUB_ID_NULL);
+        }
+        int oldSubId = mCurSubscriptionId;
+        mCurSubscriptionId = updateSubscriptionIndex;
+        updateSubscriptions(getSubscription());
+
+        // If the subscription has changed or the new intent doesnt contain the opt in action,
+        // remove the old discovery dialog. If the activity is being recreated, we will see
+        // onCreate -> onNewIntent, so the dialog will first be recreated for the old subscription
+        // and then removed.
+        if (updateSubscriptionIndex != oldSubId || !doesIntentContainOptInAction(intent)) {
+            removeContactDiscoveryDialog(oldSubId);
+        }
+        // evaluate showing the new discovery dialog if this intent contains an action to show the
+        // opt-in.
+        if (doesIntentContainOptInAction(intent)) {
+            maybeShowContactDiscoveryDialog(updateSubscriptionIndex);
+        }
     }
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
-
-        if (FeatureFlagPersistent.isEnabled(this, FeatureFlags.NETWORK_INTERNET_V2)) {
-            setContentView(R.layout.mobile_network_settings_container_v2);
-        } else {
-            setContentView(R.layout.mobile_network_settings_container);
+        final UserManager userManager = this.getSystemService(UserManager.class);
+        if (!userManager.isAdminUser()) {
+            this.finish();
+            return;
         }
-        setActionBar(findViewById(R.id.mobile_action_bar));
-        mPhoneChangeReceiver = new PhoneChangeReceiver(this, new PhoneChangeReceiver.Client() {
-            @Override
-            public void onPhoneChange() {
-                // When the radio or carrier config changes (ex: CDMA->GSM), refresh the fragment.
-                switchFragment(new MobileNetworkSettings(), mCurSubscriptionId,
-                        true /* forceUpdate */);
-            }
 
-            @Override
-            public int getSubscriptionId() {
-                return mCurSubscriptionId;
-            }
-        });
-        mSubscriptionManager = getSystemService(SubscriptionManager.class);
-        mSubscriptionInfos = mSubscriptionManager.getActiveSubscriptionInfoList(true);
-        mCurSubscriptionId = savedInstanceState != null
-                ? savedInstanceState.getInt(Settings.EXTRA_SUB_ID, SUB_ID_NULL)
-                : SUB_ID_NULL;
+        final Toolbar toolbar = findViewById(R.id.action_bar);
+        toolbar.setVisibility(View.VISIBLE);
+        setActionBar(toolbar);
 
         final ActionBar actionBar = getActionBar();
         if (actionBar != null) {
             actionBar.setDisplayHomeAsUpEnabled(true);
         }
 
-        updateSubscriptions(savedInstanceState);
+        mProxySubscriptionMgr = ProxySubscriptionManager.getInstance(this);
+        mProxySubscriptionMgr.setLifecycle(getLifecycle());
+        mProxySubscriptionMgr.addActiveSubscriptionsListener(this);
+
+        final Intent startIntent = getIntent();
+        validate(startIntent);
+        mCurSubscriptionId = savedInstanceState != null
+                ? savedInstanceState.getInt(Settings.EXTRA_SUB_ID, SUB_ID_NULL)
+                : ((startIntent != null)
+                ? startIntent.getIntExtra(Settings.EXTRA_SUB_ID, SUB_ID_NULL)
+                : SUB_ID_NULL);
+
+        final SubscriptionInfo subscription = getSubscription();
+        updateTitleAndNavigation(subscription);
+        maybeShowContactDiscoveryDialog(mCurSubscriptionId);
+    }
+
+    /**
+     * Implementation of ProxySubscriptionManager.OnActiveSubscriptionChangedListener
+     */
+    public void onChanged() {
+        SubscriptionInfo info = getSubscription();
+        int oldSubIndex = mCurSubscriptionId;
+        int subIndex = info.getSubscriptionId();
+        updateSubscriptions(info);
+        // Remove the dialog if the subscription associated with this activity changes.
+        if (subIndex != oldSubIndex) {
+            removeContactDiscoveryDialog(oldSubIndex);
+        }
     }
 
     @Override
     protected void onStart() {
+        mProxySubscriptionMgr.setLifecycle(getLifecycle());
         super.onStart();
-        mPhoneChangeReceiver.register();
-        mSubscriptionManager.addOnSubscriptionsChangedListener(mOnSubscriptionsChangeListener);
+        // updateSubscriptions doesn't need to be called, onChanged will always be called after we
+        // register a listener.
     }
 
     @Override
-    protected void onStop() {
-        super.onStop();
-        mPhoneChangeReceiver.unregister();
-        mSubscriptionManager.removeOnSubscriptionsChangedListener(mOnSubscriptionsChangeListener);
+    protected void onDestroy() {
+        super.onDestroy();
+        if (mProxySubscriptionMgr == null) {
+            return;
+        }
+        mProxySubscriptionMgr.removeActiveSubscriptionsListener(this);
     }
 
     @Override
@@ -146,25 +161,26 @@
         outState.putInt(Settings.EXTRA_SUB_ID, mCurSubscriptionId);
     }
 
-    @VisibleForTesting
-    void updateSubscriptions(Bundle savedInstanceState) {
+    private void updateTitleAndNavigation(SubscriptionInfo subscription) {
         // Set the title to the name of the subscription. If we don't have subscription info, the
         // title will just default to the label for this activity that's already specified in
         // AndroidManifest.xml.
-        final SubscriptionInfo subscription = getSubscription();
         if (subscription != null) {
             setTitle(subscription.getDisplayName());
         }
+    }
 
-        mSubscriptionInfos = mSubscriptionManager.getActiveSubscriptionInfoList(true);
-
-        if (!FeatureFlagPersistent.isEnabled(this, FeatureFlags.NETWORK_INTERNET_V2)) {
-            updateBottomNavigationView();
+    @VisibleForTesting
+    void updateSubscriptions(SubscriptionInfo subscription) {
+        if (subscription == null) {
+            return;
         }
+        final int subscriptionIndex = subscription.getSubscriptionId();
 
-        if (savedInstanceState == null) {
-            switchFragment(new MobileNetworkSettings(), getSubscriptionId());
-        }
+        updateTitleAndNavigation(subscription);
+        switchFragment(subscription);
+
+        mCurSubscriptionId = subscriptionIndex;
     }
 
     /**
@@ -174,125 +190,92 @@
      */
     @VisibleForTesting
     SubscriptionInfo getSubscription() {
-        final Intent intent = getIntent();
-        if (intent != null) {
-            final int subId = intent.getIntExtra(Settings.EXTRA_SUB_ID, SUB_ID_NULL);
-            if (subId != SUB_ID_NULL) {
-                for (SubscriptionInfo subscription :
-                        SubscriptionUtil.getAvailableSubscriptions(this)) {
-                    if (subscription.getSubscriptionId() == subId) {
-                        return subscription;
-                    }
-                }
+        if (mCurSubscriptionId != SUB_ID_NULL) {
+            final SubscriptionInfo subInfo = SubscriptionUtil.getAvailableSubscription(
+                    this, mProxySubscriptionMgr, mCurSubscriptionId);
+            if (subInfo != null) {
+                return subInfo;
             }
         }
-
-        if (CollectionUtils.isEmpty(mSubscriptionInfos)) {
+        final List<SubscriptionInfo> subInfos = mProxySubscriptionMgr.getActiveSubscriptionsInfo();
+        if (CollectionUtils.isEmpty(subInfos)) {
             return null;
         }
-        return mSubscriptionInfos.get(0);
-    }
-
-    /**
-     * Get the current subId to display.
-     */
-    @VisibleForTesting
-    int getSubscriptionId() {
-        final SubscriptionInfo subscription = getSubscription();
-        if (subscription != null) {
-            return subscription.getSubscriptionId();
-        }
-        return SubscriptionManager.INVALID_SUBSCRIPTION_ID;
+        return subInfos.get(0);
     }
 
     @VisibleForTesting
-    void updateBottomNavigationView() {
-        final BottomNavigationView navigation = findViewById(R.id.bottom_nav);
-
-        if (CollectionUtils.size(mSubscriptionInfos) <= 1) {
-            navigation.setVisibility(View.GONE);
-        } else {
-            final Menu menu = navigation.getMenu();
-            menu.clear();
-            for (int i = 0, size = mSubscriptionInfos.size(); i < size; i++) {
-                final SubscriptionInfo subscriptionInfo = mSubscriptionInfos.get(i);
-                menu.add(0, subscriptionInfo.getSubscriptionId(), i,
-                        subscriptionInfo.getDisplayName())
-                        .setIcon(R.drawable.ic_settings_sim);
-            }
-            navigation.setOnNavigationItemSelectedListener(item -> {
-                switchFragment(new MobileNetworkSettings(), item.getItemId());
-                return true;
-            });
-        }
-    }
-
-    @VisibleForTesting
-    void switchFragment(Fragment fragment, int subscriptionId) {
-        switchFragment(fragment, subscriptionId, false /* forceUpdate */);
-    }
-
-    @VisibleForTesting
-    void switchFragment(Fragment fragment, int subscriptionId, boolean forceUpdate) {
-        if (mCurSubscriptionId != SUB_ID_NULL && subscriptionId == mCurSubscriptionId
-                && !forceUpdate) {
-            return;
-        }
+    void switchFragment(SubscriptionInfo subInfo) {
         final FragmentManager fragmentManager = getSupportFragmentManager();
         final FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
-        final Bundle bundle = new Bundle();
-        bundle.putInt(Settings.EXTRA_SUB_ID, subscriptionId);
 
+        final int subId = subInfo.getSubscriptionId();
+        final Bundle bundle = new Bundle();
+        bundle.putInt(Settings.EXTRA_SUB_ID, subId);
+
+        final Fragment fragment = new MobileNetworkSettings();
         fragment.setArguments(bundle);
-        fragmentTransaction.replace(R.id.main_content, fragment,
-                buildFragmentTag(subscriptionId));
+        fragmentTransaction.replace(R.id.content_frame, fragment, buildFragmentTag(subId));
         fragmentTransaction.commit();
-        mCurSubscriptionId = subscriptionId;
     }
 
-    private String buildFragmentTag(int subscriptionId) {
-        return MOBILE_SETTINGS_TAG + subscriptionId;
+    private void removeContactDiscoveryDialog(int subId) {
+        ContactDiscoveryDialogFragment fragment = getContactDiscoveryFragment(subId);
+        if (fragment != null) {
+            fragment.dismiss();
+        }
+    }
+
+    private ContactDiscoveryDialogFragment getContactDiscoveryFragment(int subId) {
+        // In the case that we are rebuilding this activity after it has been destroyed and
+        // recreated, look up the dialog in the fragment manager.
+        return (ContactDiscoveryDialogFragment) getSupportFragmentManager()
+                .findFragmentByTag(ContactDiscoveryDialogFragment.getFragmentTag(subId));
+    }
+
+    private void maybeShowContactDiscoveryDialog(int subId) {
+        // If this activity was launched using ACTION_SHOW_CAPABILITY_DISCOVERY_OPT_IN, show the
+        // associated dialog only if the opt-in has not been granted yet.
+        boolean showOptInDialog = doesIntentContainOptInAction(getIntent())
+                // has the carrier config enabled capability discovery?
+                && MobileNetworkUtils.isContactDiscoveryVisible(this, subId)
+                // has the user already enabled this configuration?
+                && !MobileNetworkUtils.isContactDiscoveryEnabled(this, subId);
+        ContactDiscoveryDialogFragment fragment = getContactDiscoveryFragment(subId);
+        if (showOptInDialog) {
+            if (fragment == null) {
+                fragment = ContactDiscoveryDialogFragment.newInstance(subId);
+            }
+            // Only try to show the dialog if it has not already been added, otherwise we may
+            // accidentally add it multiple times, causing multiple dialogs.
+            if (!fragment.isAdded()) {
+                fragment.show(getSupportFragmentManager(),
+                        ContactDiscoveryDialogFragment.getFragmentTag(subId));
+            }
+        }
+    }
+
+    private boolean doesIntentContainOptInAction(Intent intent) {
+        String intentAction = (intent != null ? intent.getAction() : null);
+        return TextUtils.equals(intentAction,
+                ImsRcsManager.ACTION_SHOW_CAPABILITY_DISCOVERY_OPT_IN);
+    }
+
+    private void validate(Intent intent) {
+        // Do not allow ACTION_SHOW_CAPABILITY_DISCOVERY_OPT_IN without a subscription id specified,
+        // since we do not want the user to accidentally turn on capability polling for the wrong
+        // subscription.
+        if (doesIntentContainOptInAction(intent)) {
+            if (SUB_ID_NULL == intent.getIntExtra(Settings.EXTRA_SUB_ID, SUB_ID_NULL)) {
+                throw new IllegalArgumentException("Intent with action "
+                        + "SHOW_CAPABILITY_DISCOVERY_OPT_IN must also include the extra "
+                        + "Settings#EXTRA_SUB_ID");
+            }
+        }
     }
 
     @VisibleForTesting
-    static class PhoneChangeReceiver extends BroadcastReceiver {
-        private Context mContext;
-        private Client mClient;
-
-        interface Client {
-            void onPhoneChange();
-            int getSubscriptionId();
-        }
-
-        public PhoneChangeReceiver(Context context, Client client) {
-            mContext = context;
-            mClient = client;
-        }
-
-        public void register() {
-            final IntentFilter intentFilter = new IntentFilter();
-            intentFilter.addAction(TelephonyIntents.ACTION_RADIO_TECHNOLOGY_CHANGED);
-            intentFilter.addAction(CarrierConfigManager.ACTION_CARRIER_CONFIG_CHANGED);
-            mContext.registerReceiver(this, intentFilter);
-        }
-
-        public void unregister() {
-            mContext.unregisterReceiver(this);
-        }
-
-        @Override
-        public void onReceive(Context context, Intent intent) {
-            if (isInitialStickyBroadcast()) {
-                return;
-            }
-            if (intent.getAction().equals(CarrierConfigManager.ACTION_CARRIER_CONFIG_CHANGED)) {
-                if (!intent.hasExtra(CarrierConfigManager.EXTRA_SUBSCRIPTION_INDEX) ||
-                        intent.getIntExtra(CarrierConfigManager.EXTRA_SUBSCRIPTION_INDEX, -1)
-                                != mClient.getSubscriptionId()) {
-                    return;
-                }
-            }
-            mClient.onPhoneChange();
-        }
+    String buildFragmentTag(int subscriptionId) {
+        return MOBILE_SETTINGS_TAG + subscriptionId;
     }
 }
diff --git a/src/com/android/settings/network/telephony/MobileNetworkSettings.java b/src/com/android/settings/network/telephony/MobileNetworkSettings.java
index 8d83ef2..ae60daf 100644
--- a/src/com/android/settings/network/telephony/MobileNetworkSettings.java
+++ b/src/com/android/settings/network/telephony/MobileNetworkSettings.java
@@ -22,7 +22,6 @@
 import android.content.Intent;
 import android.os.Bundle;
 import android.os.UserManager;
-import android.provider.SearchIndexableResource;
 import android.provider.Settings;
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
@@ -32,30 +31,28 @@
 import android.view.MenuInflater;
 import android.view.MenuItem;
 
-import com.android.internal.telephony.TelephonyIntents;
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
 import com.android.settings.R;
-import com.android.settings.core.FeatureFlags;
 import com.android.settings.dashboard.RestrictedDashboardFragment;
 import com.android.settings.datausage.BillingCyclePreferenceController;
 import com.android.settings.datausage.DataUsageSummaryPreferenceController;
-import com.android.settings.development.featureflags.FeatureFlagPersistent;
 import com.android.settings.network.telephony.cdma.CdmaSubscriptionPreferenceController;
 import com.android.settings.network.telephony.cdma.CdmaSystemSelectPreferenceController;
 import com.android.settings.network.telephony.gsm.AutoSelectPreferenceController;
 import com.android.settings.network.telephony.gsm.OpenNetworkSelectPagePreferenceController;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
 import com.android.settings.widget.PreferenceCategoryController;
 import com.android.settingslib.core.AbstractPreferenceController;
 import com.android.settingslib.search.SearchIndexable;
 
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Collection;
 import java.util.List;
 
-import androidx.annotation.VisibleForTesting;
-import androidx.preference.Preference;
-
 @SearchIndexable(forTarget = SearchIndexable.ALL & ~SearchIndexable.ARC)
 public class MobileNetworkSettings extends RestrictedDashboardFragment {
 
@@ -78,6 +75,8 @@
     private UserManager mUserManager;
     private String mClickedPrefKey;
 
+    private List<AbstractPreferenceController> mHiddenControllerList;
+
     public MobileNetworkSettings() {
         super(UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS);
     }
@@ -103,7 +102,7 @@
                 || TextUtils.equals(key, BUTTON_CDMA_SUBSCRIPTION_KEY)) {
             if (mTelephonyManager.getEmergencyCallbackMode()) {
                 startActivityForResult(
-                        new Intent(TelephonyIntents.ACTION_SHOW_NOTICE_ECM_BLOCK_OTHERS, null),
+                        new Intent(TelephonyManager.ACTION_SHOW_NOTICE_ECM_BLOCK_OTHERS, null),
                         REQUEST_CODE_EXIT_ECM);
                 mClickedPrefKey = key;
             }
@@ -117,33 +116,31 @@
     protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
         mSubId = getArguments().getInt(Settings.EXTRA_SUB_ID,
                 MobileNetworkUtils.getSearchableSubscriptionId(context));
+        Log.i(LOG_TAG, "display subId: " + mSubId);
 
-        if (FeatureFlagPersistent.isEnabled(getContext(), FeatureFlags.NETWORK_INTERNET_V2) &&
-            mSubId != SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
-            return Arrays.asList(
-                    new DataUsageSummaryPreferenceController(getActivity(), getSettingsLifecycle(),
-                            this, mSubId));
+        if (!SubscriptionManager.isValidSubscriptionId(mSubId)) {
+            return Arrays.asList();
         }
-        return Arrays.asList();
+        return Arrays.asList(
+                new DataUsageSummaryPreferenceController(getActivity(), getSettingsLifecycle(),
+                        this, mSubId));
     }
 
     @Override
     public void onAttach(Context context) {
         super.onAttach(context);
 
-        if (FeatureFlagPersistent.isEnabled(getContext(), FeatureFlags.NETWORK_INTERNET_V2)) {
-            use(CallsDefaultSubscriptionController.class).init(getLifecycle());
-            use(SmsDefaultSubscriptionController.class).init(getLifecycle());
-            use(MobileNetworkSwitchController.class).init(getLifecycle(), mSubId);
-            use(CarrierSettingsVersionPreferenceController.class).init(mSubId);
-            use(BillingCyclePreferenceController.class).init(mSubId);
-            use(MmsMessagePreferenceController.class).init(mSubId);
-            use(DataDuringCallsPreferenceController.class).init(getLifecycle(), mSubId);
-            use(DisabledSubscriptionController.class).init(getLifecycle(), mSubId);
-            use(DeleteSimProfilePreferenceController.class).init(mSubId, this,
-                    REQUEST_CODE_DELETE_SUBSCRIPTION);
-            use(DisableSimFooterPreferenceController.class).init(mSubId);
-        }
+        use(CallsDefaultSubscriptionController.class).init(getLifecycle());
+        use(SmsDefaultSubscriptionController.class).init(getLifecycle());
+        use(MobileNetworkSwitchController.class).init(getLifecycle(), mSubId);
+        use(CarrierSettingsVersionPreferenceController.class).init(mSubId);
+        use(BillingCyclePreferenceController.class).init(mSubId);
+        use(MmsMessagePreferenceController.class).init(mSubId);
+        use(DataDuringCallsPreferenceController.class).init(getLifecycle(), mSubId);
+        use(DisabledSubscriptionController.class).init(getLifecycle(), mSubId);
+        use(DeleteSimProfilePreferenceController.class).init(mSubId, this,
+                REQUEST_CODE_DELETE_SUBSCRIPTION);
+        use(DisableSimFooterPreferenceController.class).init(mSubId);
         use(MobileDataPreferenceController.class).init(getFragmentManager(), mSubId);
         use(RoamingPreferenceController.class).init(getFragmentManager(), mSubId);
         use(ApnPreferenceController.class).init(mSubId);
@@ -152,10 +149,9 @@
         use(PreferredNetworkModePreferenceController.class).init(mSubId);
         use(EnabledNetworkModePreferenceController.class).init(getLifecycle(), mSubId);
         use(DataServiceSetupPreferenceController.class).init(mSubId);
-        if (!FeatureFlagPersistent.isEnabled(getContext(), FeatureFlags.NETWORK_INTERNET_V2)) {
-            use(EuiccPreferenceController.class).init(mSubId);
-        }
-        use(WifiCallingPreferenceController.class).init(mSubId);
+
+        final WifiCallingPreferenceController wifiCallingPreferenceController =
+                use(WifiCallingPreferenceController.class).init(mSubId);
 
         final OpenNetworkSelectPagePreferenceController openNetworkSelectPagePreferenceController =
                 use(OpenNetworkSelectPagePreferenceController.class).init(mSubId);
@@ -173,8 +169,16 @@
 
         final VideoCallingPreferenceController videoCallingPreferenceController =
                 use(VideoCallingPreferenceController.class).init(mSubId);
+        use(CallingPreferenceCategoryController.class).setChildren(
+                Arrays.asList(wifiCallingPreferenceController, videoCallingPreferenceController));
         use(Enhanced4gLtePreferenceController.class).init(mSubId)
                 .addListener(videoCallingPreferenceController);
+        use(Enhanced4gCallingPreferenceController.class).init(mSubId)
+                .addListener(videoCallingPreferenceController);
+        use(Enhanced4gAdvancedCallingPreferenceController.class).init(mSubId)
+                .addListener(videoCallingPreferenceController);
+        use(ContactDiscoveryPreferenceController.class).init(getParentFragmentManager(), mSubId,
+                getLifecycle());
     }
 
     @Override
@@ -184,11 +188,56 @@
         final Context context = getContext();
 
         mUserManager = (UserManager) context.getSystemService(Context.USER_SERVICE);
-        mTelephonyManager = TelephonyManager.from(context).createForSubscriptionId(mSubId);
+        mTelephonyManager = context.getSystemService(TelephonyManager.class)
+                .createForSubscriptionId(mSubId);
 
         onRestoreInstance(icicle);
     }
 
+    @Override
+    public void onExpandButtonClick() {
+        final PreferenceScreen screen = getPreferenceScreen();
+        mHiddenControllerList.stream()
+                .filter(controller -> controller.isAvailable())
+                .forEach(controller -> {
+                    final String key = controller.getPreferenceKey();
+                    final Preference preference = screen.findPreference(key);
+                    controller.updateState(preference);
+                });
+        super.onExpandButtonClick();
+    }
+
+    /*
+     * Replace design within {@link DashboardFragment#updatePreferenceStates()}
+     */
+    @Override
+    protected void updatePreferenceStates() {
+        mHiddenControllerList = new ArrayList<AbstractPreferenceController>();
+
+        final PreferenceScreen screen = getPreferenceScreen();
+        final Collection<List<AbstractPreferenceController>> controllerLists =
+                getPreferenceControllers();
+        controllerLists.stream().flatMap(Collection::stream)
+                .forEach(controller -> {
+                    final String key = controller.getPreferenceKey();
+                    if (TextUtils.isEmpty(key)) {
+                        return;
+                    }
+                    final Preference preference = screen.findPreference(key);
+                    if (preference == null) {
+                        return;
+                    }
+                    if (!isPreferenceExpanded(preference)) {
+                        mHiddenControllerList.add(controller);
+                        return;
+                    }
+                    if (!controller.isAvailable()) {
+                        return;
+                    }
+                    controller.updateState(preference);
+                });
+    }
+
     @VisibleForTesting
     void onRestoreInstance(Bundle icicle) {
         if (icicle != null) {
@@ -198,11 +247,7 @@
 
     @Override
     protected int getPreferenceScreenResId() {
-        if (FeatureFlagPersistent.isEnabled(getContext(), FeatureFlags.NETWORK_INTERNET_V2)) {
-            return R.xml.mobile_network_settings_v2;
-        } else {
-            return R.xml.mobile_network_settings;
-        }
+        return R.xml.mobile_network_settings;
     }
 
     @Override
@@ -231,9 +276,11 @@
                 break;
 
             case REQUEST_CODE_DELETE_SUBSCRIPTION:
-                final Activity activity = getActivity();
-                if (activity != null && !activity.isFinishing()) {
-                    activity.finish();
+                if (resultCode != Activity.RESULT_CANCELED) {
+                    final Activity activity = getActivity();
+                    if (activity != null && !activity.isFinishing()) {
+                        activity.finish();
+                    }
                 }
                 break;
 
@@ -244,8 +291,7 @@
 
     @Override
     public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
-        if (FeatureFlagPersistent.isEnabled(getContext(), FeatureFlags.NETWORK_INTERNET_V2) &&
-                mSubId != SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
+        if (SubscriptionManager.isValidSubscriptionId(mSubId)) {
             final MenuItem item = menu.add(Menu.NONE, R.id.edit_sim_name, Menu.NONE,
                     R.string.mobile_network_sim_name);
             item.setIcon(com.android.internal.R.drawable.ic_mode_edit);
@@ -256,8 +302,7 @@
 
     @Override
     public boolean onOptionsItemSelected(MenuItem menuItem) {
-        if (FeatureFlagPersistent.isEnabled(getContext(), FeatureFlags.NETWORK_INTERNET_V2) &&
-                mSubId != SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
+        if (SubscriptionManager.isValidSubscriptionId(mSubId)) {
             if (menuItem.getItemId() == R.id.edit_sim_name) {
                 RenameMobileNetworkDialogFragment.newInstance(mSubId).show(
                         getFragmentManager(), RenameMobileNetworkDialogFragment.TAG);
@@ -267,18 +312,8 @@
         return super.onOptionsItemSelected(menuItem);
     }
 
-    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
-                        boolean enabled) {
-                    final ArrayList<SearchIndexableResource> result = new ArrayList<>();
-
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.mobile_network_settings;
-                    result.add(sir);
-                    return result;
-                }
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.mobile_network_settings) {
 
                 /** suppress full page if user is not admin */
                 @Override
diff --git a/src/com/android/settings/network/telephony/MobileNetworkSwitchController.java b/src/com/android/settings/network/telephony/MobileNetworkSwitchController.java
index 02396dd..a498d47 100644
--- a/src/com/android/settings/network/telephony/MobileNetworkSwitchController.java
+++ b/src/com/android/settings/network/telephony/MobileNetworkSwitchController.java
@@ -22,24 +22,19 @@
 import android.content.Context;
 import android.telephony.SubscriptionInfo;
 import android.telephony.SubscriptionManager;
-import android.util.Log;
-
-import com.android.settings.R;
-import com.android.settings.core.BasePreferenceController;
-import com.android.settings.core.FeatureFlags;
-import com.android.settings.development.featureflags.FeatureFlagPersistent;
-import com.android.settings.network.SubscriptionUtil;
-import com.android.settings.network.SubscriptionsChangeListener;
-import com.android.settings.widget.SwitchBar;
-import com.android.settingslib.widget.LayoutPreference;
-
-import java.util.List;
 
 import androidx.lifecycle.Lifecycle;
 import androidx.lifecycle.LifecycleObserver;
 import androidx.lifecycle.OnLifecycleEvent;
 import androidx.preference.PreferenceScreen;
 
+import com.android.settings.R;
+import com.android.settings.core.BasePreferenceController;
+import com.android.settings.network.SubscriptionUtil;
+import com.android.settings.network.SubscriptionsChangeListener;
+import com.android.settings.widget.SwitchBar;
+import com.android.settingslib.widget.LayoutPreference;
+
 /** This controls a switch to allow enabling/disabling a mobile network */
 public class MobileNetworkSwitchController extends BasePreferenceController implements
         SubscriptionsChangeListener.SubscriptionsChangeListenerClient, LifecycleObserver {
@@ -83,7 +78,7 @@
         mSwitchBar.addOnSwitchChangeListener((switchView, isChecked) -> {
             // TODO b/135222940: re-evaluate whether to use
             // mSubscriptionManager#isSubscriptionEnabled
-            if (mSubscriptionManager.isActiveSubId(mSubId) != isChecked
+            if (mSubscriptionManager.isActiveSubscriptionId(mSubId) != isChecked
                     && (!mSubscriptionManager.setSubscriptionEnabled(mSubId, isChecked))) {
                 mSwitchBar.setChecked(!isChecked);
             }
@@ -104,25 +99,21 @@
             }
         }
 
-        // For eSIM, we always want the toggle. The telephony stack doesn't currently support
-        // disabling a pSIM directly (b/133379187), so we for now we don't include this on pSIM.
-        if (subInfo == null || !subInfo.isEmbedded()) {
+        // For eSIM, we always want the toggle. If telephony stack support disabling a pSIM
+        // directly, we show the toggle.
+        if (subInfo == null || (!subInfo.isEmbedded() && !SubscriptionUtil.showToggleForPhysicalSim(
+                mSubscriptionManager))) {
             mSwitchBar.hide();
         } else {
             mSwitchBar.show();
-            // TODO b/135222940: re-evaluate whether to use
-            // mSubscriptionManager#isSubscriptionEnabled
-            mSwitchBar.setChecked(mSubscriptionManager.isActiveSubId(mSubId));
+            mSwitchBar.setChecked(mSubscriptionManager.isActiveSubscriptionId(mSubId));
         }
     }
 
     @Override
     public int getAvailabilityStatus() {
-        if (FeatureFlagPersistent.isEnabled(mContext, FeatureFlags.NETWORK_INTERNET_V2)) {
-            return AVAILABLE_UNSEARCHABLE;
-        } else {
-            return CONDITIONALLY_UNAVAILABLE;
-        }
+        return AVAILABLE_UNSEARCHABLE;
+
     }
 
     @Override
diff --git a/src/com/android/settings/network/telephony/MobileNetworkUtils.java b/src/com/android/settings/network/telephony/MobileNetworkUtils.java
index 62491bf..076a87b 100644
--- a/src/com/android/settings/network/telephony/MobileNetworkUtils.java
+++ b/src/com/android/settings/network/telephony/MobileNetworkUtils.java
@@ -18,6 +18,19 @@
 
 import static android.provider.Telephony.Carriers.ENFORCE_MANAGED_URI;
 
+import static com.android.settings.network.telephony.TelephonyConstants.RadioAccessFamily.CDMA;
+import static com.android.settings.network.telephony.TelephonyConstants.RadioAccessFamily.EVDO;
+import static com.android.settings.network.telephony.TelephonyConstants.RadioAccessFamily.GSM;
+import static com.android.settings.network.telephony.TelephonyConstants.RadioAccessFamily.LTE;
+import static com.android.settings.network.telephony.TelephonyConstants.RadioAccessFamily.NR;
+import static com.android.settings.network.telephony.TelephonyConstants.RadioAccessFamily.RAF_TD_SCDMA;
+import static com.android.settings.network.telephony.TelephonyConstants.RadioAccessFamily.RAF_UNKNOWN;
+import static com.android.settings.network.telephony.TelephonyConstants.RadioAccessFamily.WCDMA;
+import static com.android.settings.network.telephony.TelephonyConstants.TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA;
+import static com.android.settings.network.telephony.TelephonyConstants.TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO;
+import static com.android.settings.network.telephony.TelephonyConstants.TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO;
+import static com.android.settings.network.telephony.TelephonyConstants.TelephonyManagerConstants.NETWORK_MODE_NR_LTE_GSM_WCDMA;
+
 import android.content.ContentResolver;
 import android.content.Context;
 import android.content.Intent;
@@ -38,7 +51,12 @@
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
 import android.telephony.euicc.EuiccManager;
+import android.telephony.ims.ImsRcsManager;
+import android.telephony.ims.ProvisioningManager;
+import android.telephony.ims.RcsUceAdapter;
 import android.telephony.ims.feature.ImsFeature;
+import android.telephony.ims.feature.MmTelFeature;
+import android.telephony.ims.stub.ImsRegistrationImplBase;
 import android.text.TextUtils;
 import android.util.Log;
 import android.view.Gravity;
@@ -47,12 +65,13 @@
 
 import com.android.ims.ImsException;
 import com.android.ims.ImsManager;
-import com.android.internal.telephony.Phone;
-import com.android.internal.telephony.PhoneConstants;
 import com.android.internal.util.ArrayUtils;
 import com.android.settings.R;
 import com.android.settings.Utils;
 import com.android.settings.core.BasePreferenceController;
+import com.android.settings.network.ims.WifiCallingQueryImsState;
+import com.android.settings.network.telephony.TelephonyConstants.TelephonyManagerConstants;
+import com.android.settingslib.development.DevelopmentSettingsEnabler;
 import com.android.settingslib.graph.SignalDrawable;
 
 import java.util.Arrays;
@@ -95,12 +114,12 @@
      * Returns true if Wifi calling is enabled for at least one subscription.
      */
     public static boolean isWifiCallingEnabled(Context context) {
-        SubscriptionManager subManager = context.getSystemService(SubscriptionManager.class);
-        if (subManager == null) {
-            Log.e(TAG, "isWifiCallingEnabled: couldn't get system service.");
+        final int[] subIds = getActiveSubscriptionIdList(context);
+        if (ArrayUtils.isEmpty(subIds)) {
+            Log.d(TAG, "isWifiCallingEnabled: subIds is empty");
             return false;
         }
-        for (int subId : subManager.getActiveSubscriptionIdList()) {
+        for (int subId : subIds) {
             if (isWifiCallingEnabled(context, subId)) {
                 return true;
             }
@@ -109,30 +128,121 @@
     }
 
     /**
+     * Returns true if Wifi calling is provisioned for the specific subscription with id
+     * {@code subId}.
+     */
+    @VisibleForTesting
+    public static boolean isWfcProvisionedOnDevice(int subId) {
+        final ProvisioningManager provisioningMgr =
+                ProvisioningManager.createForSubscriptionId(subId);
+        if (provisioningMgr == null) {
+            return true;
+        }
+        return provisioningMgr.getProvisioningStatusForCapability(
+                MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE,
+                ImsRegistrationImplBase.REGISTRATION_TECH_IWLAN);
+    }
+
+    /**
      * Returns true if Wifi calling is enabled for the specific subscription with id {@code subId}.
      */
     public static boolean isWifiCallingEnabled(Context context, int subId) {
         final PhoneAccountHandle simCallManager =
-                TelecomManager.from(context).getSimCallManagerForSubscription(subId);
+                context.getSystemService(TelecomManager.class)
+                       .getSimCallManagerForSubscription(subId);
         final int phoneId = SubscriptionManager.getSlotIndex(subId);
 
         boolean isWifiCallingEnabled;
         if (simCallManager != null) {
-            Intent intent = buildPhoneAccountConfigureIntent(
+            final Intent intent = buildPhoneAccountConfigureIntent(
                     context, simCallManager);
 
             isWifiCallingEnabled = intent != null;
         } else {
-            ImsManager imsMgr = ImsManager.getInstance(context, phoneId);
-            isWifiCallingEnabled = imsMgr != null
-                    && imsMgr.isWfcEnabledByPlatform()
-                    && imsMgr.isWfcProvisionedOnDevice()
+            final WifiCallingQueryImsState queryState =
+                    new WifiCallingQueryImsState(context, subId);
+            final ImsManager imsMgr = ImsManager.getInstance(context, phoneId);
+            isWifiCallingEnabled = queryState.isWifiCallingProvisioned()
                     && isImsServiceStateReady(imsMgr);
         }
 
         return isWifiCallingEnabled;
     }
 
+    /**
+     * @return The current user setting for whether or not contact discovery is enabled for the
+     * subscription id specified.
+     * @see RcsUceAdapter#isUceSettingEnabled()
+     */
+    public static boolean isContactDiscoveryEnabled(Context context, int subId) {
+        android.telephony.ims.ImsManager imsManager =
+                context.getSystemService(android.telephony.ims.ImsManager.class);
+        return isContactDiscoveryEnabled(imsManager, subId);
+    }
+
+    /**
+     * @return The current user setting for whether or not contact discovery is enabled for the
+     * subscription id specified.
+     * @see RcsUceAdapter#isUceSettingEnabled()
+     */
+    public static boolean isContactDiscoveryEnabled(android.telephony.ims.ImsManager imsManager,
+            int subId) {
+        ImsRcsManager manager = getImsRcsManager(imsManager, subId);
+        if (manager == null) return false;
+        RcsUceAdapter adapter = manager.getUceAdapter();
+        try {
+            return adapter.isUceSettingEnabled();
+        } catch (android.telephony.ims.ImsException e) {
+            Log.w(TAG, "UCE service is not available: " + e.getMessage());
+        }
+        return false;
+    }
+
+    /**
+     * Set the new user setting to enable or disable contact discovery through RCS UCE.
+     * @see RcsUceAdapter#setUceSettingEnabled(boolean)
+     */
+    public static void setContactDiscoveryEnabled(android.telephony.ims.ImsManager imsManager,
+            int subId, boolean isEnabled) {
+        ImsRcsManager manager = getImsRcsManager(imsManager, subId);
+        if (manager == null) return;
+        RcsUceAdapter adapter = manager.getUceAdapter();
+        try {
+            adapter.setUceSettingEnabled(isEnabled);
+        } catch (android.telephony.ims.ImsException e) {
+            Log.w(TAG, "UCE service is not available: " + e.getMessage());
+        }
+    }
+
+    /**
+     * @return The ImsRcsManager associated with the subscription specified.
+     */
+    private static ImsRcsManager getImsRcsManager(android.telephony.ims.ImsManager imsManager,
+            int subId) {
+        if (imsManager == null) return null;
+        try {
+            return imsManager.getImsRcsManager(subId);
+        } catch (Exception e) {
+            Log.w(TAG, "Could not resolve ImsRcsManager: " + e.getMessage());
+        }
+        return null;
+    }
+
+    /**
+     * @return true if contact discovery is available for the subscription specified and the option
+     * should be shown to the user, false if the option should be hidden.
+     */
+    public static boolean isContactDiscoveryVisible(Context context, int subId) {
+        CarrierConfigManager carrierConfigManager = context.getSystemService(
+                CarrierConfigManager.class);
+        if (carrierConfigManager == null) {
+            Log.w(TAG, "isContactDiscoveryVisible: Could not resolve carrier config");
+            return false;
+        }
+        PersistableBundle bundle = carrierConfigManager.getConfigForSubId(subId);
+        return bundle.getBoolean(CarrierConfigManager.KEY_USE_RCS_PRESENCE_BOOL, false /*default*/);
+    }
+
     @VisibleForTesting
     static Intent buildPhoneAccountConfigureIntent(
             Context context, PhoneAccountHandle accountHandle) {
@@ -161,8 +271,8 @@
         intent.putExtra(TelecomManager.EXTRA_PHONE_ACCOUNT_HANDLE, accountHandle);
 
         // Check to see that the phone account package can handle the setting intent.
-        PackageManager pm = context.getPackageManager();
-        List<ResolveInfo> resolutions = pm.queryIntentActivities(intent, 0);
+        final PackageManager pm = context.getPackageManager();
+        final List<ResolveInfo> resolutions = pm.queryIntentActivities(intent, 0);
         if (resolutions.size() == 0) {
             intent = null;  // set no intent if the package cannot handle it.
         }
@@ -193,36 +303,14 @@
      * the user has enabled development mode.
      */
     public static boolean showEuiccSettings(Context context) {
-        EuiccManager euiccManager =
+        final EuiccManager euiccManager =
                 (EuiccManager) context.getSystemService(EuiccManager.class);
         if (!euiccManager.isEnabled()) {
+            Log.w(TAG, "EuiccManager is not enabled.");
             return false;
         }
 
         final ContentResolver cr = context.getContentResolver();
-
-        TelephonyManager tm =
-                (TelephonyManager) context.getSystemService(TelephonyManager.class);
-        String currentCountry = tm.getNetworkCountryIso().toLowerCase();
-        String supportedCountries =
-                Settings.Global.getString(cr, Settings.Global.EUICC_SUPPORTED_COUNTRIES);
-        final String unsupportedCountries =
-                Settings.Global.getString(cr, Settings.Global.EUICC_UNSUPPORTED_COUNTRIES);
-
-        boolean inEsimSupportedCountries = false;
-
-        if (TextUtils.isEmpty(supportedCountries)) {
-            // White list is empty, use blacklist.
-            Log.d(TAG, "Using blacklist unsupportedCountries=" + unsupportedCountries);
-            inEsimSupportedCountries = !isEsimUnsupportedCountry(currentCountry,
-                    unsupportedCountries);
-        } else {
-            Log.d(TAG, "Using whitelist supportedCountries=" + supportedCountries);
-            inEsimSupportedCountries = isEsimSupportedCountry(currentCountry, supportedCountries);
-        }
-
-        Log.d(TAG, "inEsimSupportedCountries=" + inEsimSupportedCountries);
-
         final boolean esimIgnoredDevice =
                 Arrays.asList(TextUtils.split(SystemProperties.get(KEY_ESIM_CID_IGNORE, ""), ","))
                         .contains(SystemProperties.get(KEY_CID, null));
@@ -231,10 +319,14 @@
         final boolean euiccProvisioned =
                 Settings.Global.getInt(cr, Settings.Global.EUICC_PROVISIONED, 0) != 0;
         final boolean inDeveloperMode =
-                Settings.Global.getInt(cr, Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 0) != 0;
-
+                DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(context);
+        Log.i(TAG,
+                String.format("showEuiccSettings: esimIgnoredDevice: %b, enabledEsimUiByDefault: "
+                        + "%b, euiccProvisioned: %b, inDeveloperMode: %b.",
+                esimIgnoredDevice, enabledEsimUiByDefault, euiccProvisioned, inDeveloperMode));
         return (inDeveloperMode || euiccProvisioned
-                || (!esimIgnoredDevice && enabledEsimUiByDefault && inEsimSupportedCountries));
+                || (!esimIgnoredDevice && enabledEsimUiByDefault
+                        && isCurrentCountrySupported(context)));
     }
 
     /**
@@ -250,8 +342,8 @@
         telephonyManager.setDataEnabled(enabled);
 
         if (disableOtherSubscriptions) {
-            List<SubscriptionInfo> subInfoList =
-                    subscriptionManager.getActiveSubscriptionInfoList(true);
+            final List<SubscriptionInfo> subInfoList =
+                    subscriptionManager.getActiveSubscriptionInfoList();
             if (subInfoList != null) {
                 for (SubscriptionInfo subInfo : subInfoList) {
                     // We never disable mobile data for opportunistic subscriptions.
@@ -277,7 +369,7 @@
                 CarrierConfigManager.class).getConfigForSubId(subId);
 
 
-        if (telephonyManager.getPhoneType() == PhoneConstants.PHONE_TYPE_CDMA) {
+        if (telephonyManager.getPhoneType() == TelephonyManager.PHONE_TYPE_CDMA) {
             return true;
         } else if (carrierConfig != null
                 && !carrierConfig.getBoolean(
@@ -290,9 +382,11 @@
             final int settingsNetworkMode = android.provider.Settings.Global.getInt(
                     context.getContentResolver(),
                     android.provider.Settings.Global.PREFERRED_NETWORK_MODE + subId,
-                    Phone.PREFERRED_NT_MODE);
-            if (settingsNetworkMode == TelephonyManager.NETWORK_MODE_LTE_GSM_WCDMA
-                    || settingsNetworkMode == TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO) {
+                    TelephonyManager.DEFAULT_PREFERRED_NETWORK_MODE);
+            if (settingsNetworkMode == NETWORK_MODE_LTE_GSM_WCDMA
+                    || settingsNetworkMode == NETWORK_MODE_LTE_CDMA_EVDO
+                    || settingsNetworkMode == NETWORK_MODE_NR_LTE_GSM_WCDMA
+                    || settingsNetworkMode == NETWORK_MODE_NR_LTE_CDMA_EVDO) {
                 return true;
             }
 
@@ -317,10 +411,12 @@
         final int networkMode = android.provider.Settings.Global.getInt(
                 context.getContentResolver(),
                 android.provider.Settings.Global.PREFERRED_NETWORK_MODE + subId,
-                Phone.PREFERRED_NT_MODE);
+                TelephonyManager.DEFAULT_PREFERRED_NETWORK_MODE);
         if (isWorldMode(context, subId)) {
-            if (networkMode == TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO
-                    || networkMode == TelephonyManager.NETWORK_MODE_LTE_GSM_WCDMA) {
+            if (networkMode == NETWORK_MODE_LTE_CDMA_EVDO
+                    || networkMode == NETWORK_MODE_LTE_GSM_WCDMA
+                    || networkMode == NETWORK_MODE_NR_LTE_CDMA_EVDO
+                    || networkMode == NETWORK_MODE_NR_LTE_GSM_WCDMA) {
                 return true;
             } else if (shouldSpeciallyUpdateGsmCdma(context, subId)) {
                 return true;
@@ -336,7 +432,7 @@
         final PersistableBundle carrierConfig = context.getSystemService(
                 CarrierConfigManager.class).getConfigForSubId(subId);
 
-        if (telephonyManager.getPhoneType() == PhoneConstants.PHONE_TYPE_GSM) {
+        if (telephonyManager.getPhoneType() == TelephonyManager.PHONE_TYPE_GSM) {
             return true;
         } else if (carrierConfig != null
                 && !carrierConfig.getBoolean(
@@ -364,7 +460,7 @@
      * Return {@code true} if we need show settings for network selection(i.e. Verizon)
      */
     public static boolean shouldDisplayNetworkSelectOptions(Context context, int subId) {
-        final TelephonyManager telephonyManager = TelephonyManager.from(context)
+        final TelephonyManager telephonyManager = context.getSystemService(TelephonyManager.class)
                 .createForSubscriptionId(subId);
         final PersistableBundle carrierConfig = context.getSystemService(
                 CarrierConfigManager.class).getConfigForSubId(subId);
@@ -382,8 +478,8 @@
         final int networkMode = android.provider.Settings.Global.getInt(
                 context.getContentResolver(),
                 android.provider.Settings.Global.PREFERRED_NETWORK_MODE + subId,
-                Phone.PREFERRED_NT_MODE);
-        if (networkMode == TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO
+                TelephonyManager.DEFAULT_PREFERRED_NETWORK_MODE);
+        if (networkMode == TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO
                 && isWorldMode(context, subId)) {
             return false;
         }
@@ -396,7 +492,7 @@
         }
 
         if (isWorldMode(context, subId)) {
-            if (networkMode == TelephonyManager.NETWORK_MODE_LTE_GSM_WCDMA) {
+            if (networkMode == TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA) {
                 return true;
             }
         }
@@ -425,8 +521,8 @@
             return true;
         }
 
-        String operatorNumeric = telephonyManager.getServiceState().getOperatorNumeric();
-        String[] numericArray = carrierConfig.getStringArray(
+        final String operatorNumeric = telephonyManager.getServiceState().getOperatorNumeric();
+        final String[] numericArray = carrierConfig.getStringArray(
                 CarrierConfigManager.KEY_SUPPORT_TDSCDMA_ROAMING_NETWORKS_STRING_ARRAY);
         if (numericArray == null || operatorNumeric == null) {
             return false;
@@ -444,9 +540,7 @@
      * otherwise return {@link SubscriptionManager#INVALID_SUBSCRIPTION_ID}
      */
     public static int getSearchableSubscriptionId(Context context) {
-        final SubscriptionManager subscriptionManager = context.getSystemService(
-                SubscriptionManager.class);
-        final int subIds[] = subscriptionManager.getActiveSubscriptionIdList();
+        final int[] subIds = getActiveSubscriptionIdList(context);
 
         return subIds.length >= 1 ? subIds[0] : SubscriptionManager.INVALID_SUBSCRIPTION_ID;
     }
@@ -463,14 +557,12 @@
      */
     public static int getAvailability(Context context, int defSubId,
             TelephonyAvailabilityCallback callback) {
-        final SubscriptionManager subscriptionManager = context.getSystemService(
-                SubscriptionManager.class);
         if (defSubId != SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
             // If subId has been set, return the corresponding status
             return callback.getAvailabilityStatus(defSubId);
         } else {
             // Otherwise, search whether there is one subId in device that support this preference
-            final int[] subIds = subscriptionManager.getActiveSubscriptionIdList();
+            final int[] subIds = getActiveSubscriptionIdList(context);
             if (ArrayUtils.isEmpty(subIds)) {
                 return callback.getAvailabilityStatus(
                         SubscriptionManager.INVALID_SUBSCRIPTION_ID);
@@ -500,13 +592,13 @@
         final int networkMode = android.provider.Settings.Global.getInt(
                 context.getContentResolver(),
                 android.provider.Settings.Global.PREFERRED_NETWORK_MODE + subId,
-                Phone.PREFERRED_NT_MODE);
-        if (networkMode == TelephonyManager.NETWORK_MODE_LTE_TDSCDMA_GSM
-                || networkMode == TelephonyManager.NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA
-                || networkMode == TelephonyManager.NETWORK_MODE_LTE_TDSCDMA
-                || networkMode == TelephonyManager.NETWORK_MODE_LTE_TDSCDMA_WCDMA
-                || networkMode == TelephonyManager.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA
-                || networkMode == TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA) {
+                TelephonyManager.DEFAULT_PREFERRED_NETWORK_MODE);
+        if (networkMode == TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM
+                || networkMode == TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA
+                || networkMode == TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA
+                || networkMode == TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_WCDMA
+                || networkMode == TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA
+                || networkMode == TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA) {
             if (!isTdscdmaSupported(context, subId) && isWorldMode(context, subId)) {
                 return true;
             }
@@ -517,12 +609,12 @@
 
     public static Drawable getSignalStrengthIcon(Context context, int level, int numLevels,
             int iconType, boolean cutOut) {
-        SignalDrawable signalDrawable = new SignalDrawable(context);
+        final SignalDrawable signalDrawable = new SignalDrawable(context);
         signalDrawable.setLevel(
                 SignalDrawable.getState(level, numLevels, cutOut));
 
         // Make the network type drawable
-        Drawable networkDrawable =
+        final Drawable networkDrawable =
                 iconType == NO_CELL_DATA_TYPE_ICON
                         ? EMPTY_DRAWABLE
                         : context
@@ -533,7 +625,7 @@
         final int iconSize =
                 context.getResources().getDimensionPixelSize(R.dimen.signal_strength_icon_size);
 
-        LayerDrawable icons = new LayerDrawable(layers);
+        final LayerDrawable icons = new LayerDrawable(layers);
         // Set the network type icon at the top left
         icons.setLayerGravity(0 /* index of networkDrawable */, Gravity.TOP | Gravity.LEFT);
         // Set the signal strength icon at the bottom right
@@ -551,9 +643,9 @@
      * 2. Similar design which aligned with operator name displayed in status bar
      */
     public static CharSequence getCurrentCarrierNameForDisplay(Context context, int subId) {
-        SubscriptionManager sm = context.getSystemService(SubscriptionManager.class);
+        final SubscriptionManager sm = context.getSystemService(SubscriptionManager.class);
         if (sm != null) {
-            SubscriptionInfo subInfo = getSubscriptionInfo(sm, subId);
+            final SubscriptionInfo subInfo = getSubscriptionInfo(sm, subId);
             if (subInfo != null) {
                 return subInfo.getCarrierName();
             }
@@ -562,10 +654,10 @@
     }
 
     public static CharSequence getCurrentCarrierNameForDisplay(Context context) {
-        SubscriptionManager sm = context.getSystemService(SubscriptionManager.class);
+        final SubscriptionManager sm = context.getSystemService(SubscriptionManager.class);
         if (sm != null) {
-            int subId = sm.getDefaultSubscriptionId();
-            SubscriptionInfo subInfo = getSubscriptionInfo(sm, subId);
+            final int subId = sm.getDefaultSubscriptionId();
+            final SubscriptionInfo subInfo = getSubscriptionInfo(sm, subId);
             if (subInfo != null) {
                 return subInfo.getCarrierName();
             }
@@ -591,7 +683,7 @@
     }
 
     private static String getOperatorNameFromTelephonyManager(Context context) {
-        TelephonyManager tm =
+        final TelephonyManager tm =
                 (TelephonyManager) context.getSystemService(TelephonyManager.class);
         if (tm == null) {
             return null;
@@ -599,23 +691,209 @@
         return tm.getNetworkOperatorName();
     }
 
-    private static boolean isEsimSupportedCountry(String country, String countriesListString) {
-        if (TextUtils.isEmpty(country)) {
-            return true;
-        } else if (TextUtils.isEmpty(countriesListString)) {
-            return false;
+    private static int[] getActiveSubscriptionIdList(Context context) {
+        final SubscriptionManager subscriptionManager = context.getSystemService(
+                SubscriptionManager.class);
+        final List<SubscriptionInfo> subInfoList =
+                subscriptionManager.getActiveSubscriptionInfoList();
+        if (subInfoList == null) {
+            return new int[0];
         }
-        final List<String> supportedCountries =
-                Arrays.asList(TextUtils.split(countriesListString.toLowerCase(), ","));
-        return supportedCountries.contains(country);
+        int[] activeSubIds = new int[subInfoList.size()];
+        int i = 0;
+        for (SubscriptionInfo subInfo : subInfoList) {
+            activeSubIds[i] = subInfo.getSubscriptionId();
+            i++;
+        }
+        return activeSubIds;
     }
 
-    private static boolean isEsimUnsupportedCountry(String country, String countriesListString) {
-        if (TextUtils.isEmpty(country) || TextUtils.isEmpty(countriesListString)) {
-            return false;
+    /**
+     * Loop through all the device logical slots to check whether the user's current country
+     * supports eSIM.
+     */
+    private static boolean isCurrentCountrySupported(Context context) {
+        final EuiccManager em = (EuiccManager) context.getSystemService(EuiccManager.class);
+        final TelephonyManager tm =
+                (TelephonyManager) context.getSystemService(TelephonyManager.class);
+
+        for (int i = 0; i < tm.getPhoneCount(); i++) {
+            String countryCode = tm.getNetworkCountryIso(i);
+            if (em.isSupportedCountry(countryCode)) {
+                Log.i(TAG, "isCurrentCountrySupported: eSIM is supported in " + countryCode);
+                return true;
+            }
         }
-        final List<String> unsupportedCountries =
-                Arrays.asList(TextUtils.split(countriesListString.toLowerCase(), ","));
-        return unsupportedCountries.contains(country);
+        Log.i(TAG, "isCurrentCountrySupported: eSIM is not supported in the current country.");
+        return false;
+    }
+
+    /**
+     *  Imported from {@link android.telephony.RadioAccessFamily}
+     */
+    public static long getRafFromNetworkType(int type) {
+        switch (type) {
+            case TelephonyManagerConstants.NETWORK_MODE_WCDMA_PREF:
+                return GSM | WCDMA;
+            case TelephonyManagerConstants.NETWORK_MODE_GSM_ONLY:
+                return GSM;
+            case TelephonyManagerConstants.NETWORK_MODE_WCDMA_ONLY:
+                return WCDMA;
+            case TelephonyManagerConstants.NETWORK_MODE_GSM_UMTS:
+                return GSM | WCDMA;
+            case TelephonyManagerConstants.NETWORK_MODE_CDMA_EVDO:
+                return CDMA | EVDO;
+            case TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO:
+                return LTE | CDMA | EVDO;
+            case TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA:
+                return LTE | GSM | WCDMA;
+            case TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA:
+                return LTE | CDMA | EVDO | GSM | WCDMA;
+            case TelephonyManagerConstants.NETWORK_MODE_LTE_ONLY:
+                return LTE;
+            case TelephonyManagerConstants.NETWORK_MODE_LTE_WCDMA:
+                return LTE | WCDMA;
+            case TelephonyManagerConstants.NETWORK_MODE_CDMA_NO_EVDO:
+                return CDMA;
+            case TelephonyManagerConstants.NETWORK_MODE_EVDO_NO_CDMA:
+                return EVDO;
+            case TelephonyManagerConstants.NETWORK_MODE_GLOBAL:
+                return GSM | WCDMA | CDMA | EVDO;
+            case TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_ONLY:
+                return RAF_TD_SCDMA;
+            case TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_WCDMA:
+                return RAF_TD_SCDMA | WCDMA;
+            case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA:
+                return LTE | RAF_TD_SCDMA;
+            case TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM:
+                return RAF_TD_SCDMA | GSM;
+            case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM:
+                return LTE | RAF_TD_SCDMA | GSM;
+            case TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM_WCDMA:
+                return RAF_TD_SCDMA | GSM | WCDMA;
+            case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_WCDMA:
+                return LTE | RAF_TD_SCDMA | WCDMA;
+            case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA:
+                return LTE | RAF_TD_SCDMA | GSM | WCDMA;
+            case TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA:
+                return RAF_TD_SCDMA | CDMA | EVDO | GSM | WCDMA;
+            case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA:
+                return LTE | RAF_TD_SCDMA | CDMA | EVDO | GSM | WCDMA;
+            case (TelephonyManagerConstants.NETWORK_MODE_NR_ONLY):
+                return NR;
+            case (TelephonyManagerConstants.NETWORK_MODE_NR_LTE):
+                return NR | LTE;
+            case (TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO):
+                return NR | LTE | CDMA | EVDO;
+            case (TelephonyManagerConstants.NETWORK_MODE_NR_LTE_GSM_WCDMA):
+                return NR | LTE | GSM | WCDMA;
+            case (TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA):
+                return NR | LTE | CDMA | EVDO | GSM | WCDMA;
+            case (TelephonyManagerConstants.NETWORK_MODE_NR_LTE_WCDMA):
+                return NR | LTE | WCDMA;
+            case (TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA):
+                return NR | LTE | RAF_TD_SCDMA;
+            case (TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM):
+                return NR | LTE | RAF_TD_SCDMA | GSM;
+            case (TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_WCDMA):
+                return NR | LTE | RAF_TD_SCDMA | WCDMA;
+            case (TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA):
+                return NR | LTE | RAF_TD_SCDMA | GSM | WCDMA;
+            case (TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA):
+                return NR | LTE | RAF_TD_SCDMA | CDMA | EVDO | GSM | WCDMA;
+            default:
+                return RAF_UNKNOWN;
+        }
+    }
+
+    /**
+     *  Imported from {@link android.telephony.RadioAccessFamily}
+     */
+    public static int getNetworkTypeFromRaf(int raf) {
+        raf = getAdjustedRaf(raf);
+
+        switch (raf) {
+            case (GSM | WCDMA):
+                return TelephonyManagerConstants.NETWORK_MODE_WCDMA_PREF;
+            case GSM:
+                return TelephonyManagerConstants.NETWORK_MODE_GSM_ONLY;
+            case WCDMA:
+                return TelephonyManagerConstants.NETWORK_MODE_WCDMA_ONLY;
+            case (CDMA | EVDO):
+                return TelephonyManagerConstants.NETWORK_MODE_CDMA_EVDO;
+            case (LTE | CDMA | EVDO):
+                return TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO;
+            case (LTE | GSM | WCDMA):
+                return TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA;
+            case (LTE | CDMA | EVDO | GSM | WCDMA):
+                return TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA;
+            case LTE:
+                return TelephonyManagerConstants.NETWORK_MODE_LTE_ONLY;
+            case (LTE | WCDMA):
+                return TelephonyManagerConstants.NETWORK_MODE_LTE_WCDMA;
+            case CDMA:
+                return TelephonyManagerConstants.NETWORK_MODE_CDMA_NO_EVDO;
+            case EVDO:
+                return TelephonyManagerConstants.NETWORK_MODE_EVDO_NO_CDMA;
+            case (GSM | WCDMA | CDMA | EVDO):
+                return TelephonyManagerConstants.NETWORK_MODE_GLOBAL;
+            case RAF_TD_SCDMA:
+                return TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_ONLY;
+            case (RAF_TD_SCDMA | WCDMA):
+                return TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_WCDMA;
+            case (LTE | RAF_TD_SCDMA):
+                return TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA;
+            case (RAF_TD_SCDMA | GSM):
+                return TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM;
+            case (LTE | RAF_TD_SCDMA | GSM):
+                return TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM;
+            case (RAF_TD_SCDMA | GSM | WCDMA):
+                return TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM_WCDMA;
+            case (LTE | RAF_TD_SCDMA | WCDMA):
+                return TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_WCDMA;
+            case (LTE | RAF_TD_SCDMA | GSM | WCDMA):
+                return TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA;
+            case (RAF_TD_SCDMA | CDMA | EVDO | GSM | WCDMA):
+                return TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA;
+            case (LTE | RAF_TD_SCDMA | CDMA | EVDO | GSM | WCDMA):
+                return TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA;
+            case (NR):
+                return TelephonyManagerConstants.NETWORK_MODE_NR_ONLY;
+            case (NR | LTE):
+                return TelephonyManagerConstants.NETWORK_MODE_NR_LTE;
+            case (NR | LTE | CDMA | EVDO):
+                return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO;
+            case (NR | LTE | GSM | WCDMA):
+                return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_GSM_WCDMA;
+            case (NR | LTE | CDMA | EVDO | GSM | WCDMA):
+                return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA;
+            case (NR | LTE | WCDMA):
+                return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_WCDMA;
+            case (NR | LTE | RAF_TD_SCDMA):
+                return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA;
+            case (NR | LTE | RAF_TD_SCDMA | GSM):
+                return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM;
+            case (NR | LTE | RAF_TD_SCDMA | WCDMA):
+                return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_WCDMA;
+            case (NR | LTE | RAF_TD_SCDMA | GSM | WCDMA):
+                return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA;
+            case (NR | LTE | RAF_TD_SCDMA | CDMA | EVDO | GSM | WCDMA):
+                return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA;
+            default:
+                return TelephonyManagerConstants.NETWORK_MODE_UNKNOWN;
+        }
+    }
+
+    /**
+     *  Imported from {@link android.telephony.RadioAccessFamily}
+     */
+    private static int getAdjustedRaf(int raf) {
+        raf = ((GSM & raf) > 0) ? (GSM | raf) : raf;
+        raf = ((WCDMA & raf) > 0) ? (WCDMA | raf) : raf;
+        raf = ((CDMA & raf) > 0) ? (CDMA | raf) : raf;
+        raf = ((EVDO & raf) > 0) ? (EVDO | raf) : raf;
+        raf = ((LTE & raf) > 0) ? (LTE | raf) : raf;
+        raf = ((NR & raf) > 0) ? (NR | raf) : raf;
+        return raf;
     }
 }
diff --git a/src/com/android/settings/network/telephony/NetworkOperatorPreference.java b/src/com/android/settings/network/telephony/NetworkOperatorPreference.java
index 77f40da..7173ccc 100644
--- a/src/com/android/settings/network/telephony/NetworkOperatorPreference.java
+++ b/src/com/android/settings/network/telephony/NetworkOperatorPreference.java
@@ -19,16 +19,28 @@
 import static android.telephony.SignalStrength.NUM_SIGNAL_STRENGTH_BINS;
 
 import android.content.Context;
+import android.telephony.CellIdentity;
+import android.telephony.CellIdentityGsm;
+import android.telephony.CellIdentityLte;
+import android.telephony.CellIdentityNr;
+import android.telephony.CellIdentityTdscdma;
+import android.telephony.CellIdentityWcdma;
 import android.telephony.CellInfo;
+import android.telephony.CellInfoCdma;
+import android.telephony.CellInfoGsm;
+import android.telephony.CellInfoLte;
+import android.telephony.CellInfoNr;
+import android.telephony.CellInfoTdscdma;
+import android.telephony.CellInfoWcdma;
 import android.telephony.CellSignalStrength;
 import android.util.Log;
 
 import androidx.preference.Preference;
 
 import com.android.settings.R;
-import com.android.settings.Utils;
 
 import java.util.List;
+import java.util.Objects;
 
 /**
  * A Preference represents a network operator in the NetworkSelectSetting fragment.
@@ -41,38 +53,73 @@
     private static final int LEVEL_NONE = -1;
 
     private CellInfo mCellInfo;
+    private CellIdentity mCellId;
     private List<String> mForbiddenPlmns;
     private int mLevel = LEVEL_NONE;
     private boolean mShow4GForLTE;
-    private boolean mUseNewApi;
 
-    public NetworkOperatorPreference(
-            CellInfo cellinfo, Context context, List<String> forbiddenPlmns, boolean show4GForLTE) {
+    public NetworkOperatorPreference(Context context, CellInfo cellinfo,
+            List<String> forbiddenPlmns, boolean show4GForLTE) {
+        this(context, forbiddenPlmns, show4GForLTE);
+        updateCell(cellinfo);
+    }
+
+    public NetworkOperatorPreference(Context context, CellIdentity connectedCellId,
+            List<String> forbiddenPlmns, boolean show4GForLTE) {
+        this(context, forbiddenPlmns, show4GForLTE);
+        updateCell(null, connectedCellId);
+    }
+
+    private NetworkOperatorPreference(
+            Context context, List<String> forbiddenPlmns, boolean show4GForLTE) {
         super(context);
-        mCellInfo = cellinfo;
         mForbiddenPlmns = forbiddenPlmns;
         mShow4GForLTE = show4GForLTE;
-        mUseNewApi = context.getResources().getBoolean(
-                com.android.internal.R.bool.config_enableNewAutoSelectNetworkUI);
+    }
+
+    /**
+     * Change cell information
+     */
+    public void updateCell(CellInfo cellinfo) {
+        updateCell(cellinfo, CellInfoUtil.getCellIdentity(cellinfo));
+    }
+
+    private void updateCell(CellInfo cellinfo, CellIdentity cellId) {
+        mCellInfo = cellinfo;
+        mCellId = cellId;
         refresh();
     }
 
-    public CellInfo getCellInfo() {
-        return mCellInfo;
+    /**
+     * Compare cell within preference
+     */
+    public boolean isSameCell(CellInfo cellinfo) {
+        if (cellinfo == null) {
+            return false;
+        }
+        return mCellId.equals(CellInfoUtil.getCellIdentity(cellinfo));
     }
 
     /**
      * Refresh the NetworkOperatorPreference by updating the title and the icon.
      */
     public void refresh() {
-        if (DBG) Log.d(TAG, "refresh the network: " + CellInfoUtil.getNetworkTitle(mCellInfo));
-        String networkTitle = CellInfoUtil.getNetworkTitle(mCellInfo);
-        if (CellInfoUtil.isForbidden(mCellInfo, mForbiddenPlmns)) {
-            networkTitle += " " + getContext().getResources().getString(R.string.forbidden_network);
-        }
-        setTitle(networkTitle);
+        String networkTitle = getOperatorName();
 
-        final CellSignalStrength signalStrength = mCellInfo.getCellSignalStrength();
+        if ((mForbiddenPlmns != null) && mForbiddenPlmns.contains(getOperatorNumeric())) {
+            if (DBG) Log.d(TAG, "refresh forbidden network: " + networkTitle);
+            networkTitle += " "
+                    + getContext().getResources().getString(R.string.forbidden_network);
+        } else {
+            if (DBG) Log.d(TAG, "refresh the network: " + networkTitle);
+        }
+        setTitle(Objects.toString(networkTitle, ""));
+
+        if (mCellInfo == null) {
+            return;
+        }
+
+        final CellSignalStrength signalStrength = getCellSignalStrength(mCellInfo);
         final int level = signalStrength != null ? signalStrength.getLevel() : LEVEL_NONE;
         if (DBG) Log.d(TAG, "refresh level: " + String.valueOf(level));
         if (mLevel != level) {
@@ -88,29 +135,90 @@
         updateIcon(level);
     }
 
-    private int getIconIdForCell(CellInfo ci) {
-        final int type = ci.getCellIdentity().getType();
-        switch (type) {
-            case CellInfo.TYPE_GSM:
-                return R.drawable.signal_strength_g;
-            case CellInfo.TYPE_WCDMA: // fall through
-            case CellInfo.TYPE_TDSCDMA:
-                return R.drawable.signal_strength_3g;
-            case CellInfo.TYPE_LTE:
-                return mShow4GForLTE
-                        ? R.drawable.ic_signal_strength_4g : R.drawable.signal_strength_lte;
-            case CellInfo.TYPE_CDMA:
-                return R.drawable.signal_strength_1x;
-            default:
-                return MobileNetworkUtils.NO_CELL_DATA_TYPE_ICON;
+    /**
+     * Operator numeric of this cell
+     */
+    public String getOperatorNumeric() {
+        final CellIdentity cellId = mCellId;
+        if (cellId == null) {
+            return null;
         }
+        if (cellId instanceof CellIdentityGsm) {
+            return ((CellIdentityGsm) cellId).getMobileNetworkOperator();
+        }
+        if (cellId instanceof CellIdentityWcdma) {
+            return ((CellIdentityWcdma) cellId).getMobileNetworkOperator();
+        }
+        if (cellId instanceof CellIdentityTdscdma) {
+            return ((CellIdentityTdscdma) cellId).getMobileNetworkOperator();
+        }
+        if (cellId instanceof CellIdentityLte) {
+            return ((CellIdentityLte) cellId).getMobileNetworkOperator();
+        }
+        if (cellId instanceof CellIdentityNr) {
+            final String mcc = ((CellIdentityNr) cellId).getMccString();
+            if (mcc == null) {
+                return null;
+            }
+            return mcc.concat(((CellIdentityNr) cellId).getMncString());
+        }
+        return null;
+    }
+
+    /**
+     * Operator name of this cell
+     */
+    public String getOperatorName() {
+        return CellInfoUtil.getNetworkTitle(mCellId, getOperatorNumeric());
+    }
+
+    private int getIconIdForCell(CellInfo ci) {
+        if (ci instanceof CellInfoGsm) {
+            return R.drawable.signal_strength_g;
+        }
+        if (ci instanceof CellInfoCdma) {
+            return R.drawable.signal_strength_1x;
+        }
+        if ((ci instanceof CellInfoWcdma) || (ci instanceof CellInfoTdscdma)) {
+            return R.drawable.signal_strength_3g;
+        }
+        if (ci instanceof CellInfoLte) {
+            return mShow4GForLTE
+                    ? R.drawable.ic_signal_strength_4g : R.drawable.signal_strength_lte;
+        }
+        if (ci instanceof CellInfoNr) {
+            return R.drawable.signal_strength_5g;
+        }
+        return MobileNetworkUtils.NO_CELL_DATA_TYPE_ICON;
+    }
+
+    private CellSignalStrength getCellSignalStrength(CellInfo ci) {
+        if (ci instanceof CellInfoGsm) {
+            return ((CellInfoGsm) ci).getCellSignalStrength();
+        }
+        if (ci instanceof CellInfoCdma) {
+            return ((CellInfoCdma) ci).getCellSignalStrength();
+        }
+        if (ci instanceof CellInfoWcdma) {
+            return ((CellInfoWcdma) ci).getCellSignalStrength();
+        }
+        if (ci instanceof CellInfoTdscdma) {
+            return ((CellInfoTdscdma) ci).getCellSignalStrength();
+        }
+        if (ci instanceof CellInfoLte) {
+            return ((CellInfoLte) ci).getCellSignalStrength();
+        }
+        if (ci instanceof CellInfoNr) {
+            return ((CellInfoNr) ci).getCellSignalStrength();
+        }
+        return null;
     }
 
     private void updateIcon(int level) {
-        if (!mUseNewApi || level < 0 || level >= NUM_SIGNAL_STRENGTH_BINS) {
+        if (level < 0 || level >= NUM_SIGNAL_STRENGTH_BINS) {
             return;
         }
-        Context context = getContext();
+        final Context context = getContext();
         setIcon(MobileNetworkUtils.getSignalStrengthIcon(context, level, NUM_SIGNAL_STRENGTH_BINS,
                 getIconIdForCell(mCellInfo), false));
     }
diff --git a/src/com/android/settings/network/telephony/NetworkScanHelper.java b/src/com/android/settings/network/telephony/NetworkScanHelper.java
index 1117a84..fe5b9e1 100644
--- a/src/com/android/settings/network/telephony/NetworkScanHelper.java
+++ b/src/com/android/settings/network/telephony/NetworkScanHelper.java
@@ -16,7 +16,6 @@
 
 package com.android.settings.network.telephony;
 
-import android.annotation.IntDef;
 import android.telephony.AccessNetworkConstants.AccessNetworkType;
 import android.telephony.CellInfo;
 import android.telephony.NetworkScan;
@@ -26,18 +25,9 @@
 import android.telephony.TelephonyScanManager;
 import android.util.Log;
 
-import com.android.internal.telephony.CellNetworkScanResult;
-
-import com.google.common.util.concurrent.FutureCallback;
-import com.google.common.util.concurrent.Futures;
-import com.google.common.util.concurrent.ListenableFuture;
-import com.google.common.util.concurrent.SettableFuture;
-
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.concurrent.Executor;
-import java.util.stream.Collectors;
 
 /**
  * A helper class that builds the common interface and performs the network scan for two different
@@ -80,65 +70,12 @@
         void onError(int errorCode);
     }
 
-    @Retention(RetentionPolicy.SOURCE)
-    @IntDef({NETWORK_SCAN_TYPE_WAIT_FOR_ALL_RESULTS, NETWORK_SCAN_TYPE_INCREMENTAL_RESULTS})
-    public @interface NetworkQueryType {}
-
-    /**
-     * Performs the network scan using {@link TelephonyManager#getAvailableNetworks()}. The network
-     * scan results won't be returned to the caller until the network scan is completed.
-     *
-     * <p> This is typically used when the modem doesn't support the new network scan api
-     * {@link TelephonyManager#requestNetworkScan(
-     * NetworkScanRequest, Executor, TelephonyScanManager.NetworkScanCallback)}.
-     */
-    public static final int NETWORK_SCAN_TYPE_WAIT_FOR_ALL_RESULTS = 1;
-
-    /**
-     * Performs the network scan using {@link TelephonyManager#requestNetworkScan(
-     * NetworkScanRequest, Executor, TelephonyScanManager.NetworkScanCallback)} The network scan
-     * results will be returned to the caller periodically in a small time window until the network
-     * scan is completed. The complete results should be returned in the last called of
-     * {@link NetworkScanCallback#onResults(List)}.
-     *
-     * <p> This is recommended to be used if modem supports the new network scan api
-     * {@link TelephonyManager#requestNetworkScan(
-     * NetworkScanRequest, Executor, TelephonyScanManager.NetworkScanCallback)}
-     */
-    public static final int NETWORK_SCAN_TYPE_INCREMENTAL_RESULTS = 2;
-
     /** The constants below are used in the async network scan. */
     private static final boolean INCREMENTAL_RESULTS = true;
     private static final int SEARCH_PERIODICITY_SEC = 5;
     private static final int MAX_SEARCH_TIME_SEC = 300;
     private static final int INCREMENTAL_RESULTS_PERIODICITY_SEC = 3;
 
-    private static final NetworkScanRequest NETWORK_SCAN_REQUEST =
-            new NetworkScanRequest(
-                    NetworkScanRequest.SCAN_TYPE_ONE_SHOT,
-                    new RadioAccessSpecifier[]{
-                            // GSM
-                            new RadioAccessSpecifier(
-                                    AccessNetworkType.GERAN,
-                                    null /* bands */,
-                                    null /* channels */),
-                            // LTE
-                            new RadioAccessSpecifier(
-                                    AccessNetworkType.EUTRAN,
-                                    null /* bands */,
-                                    null /* channels */),
-                            // WCDMA
-                            new RadioAccessSpecifier(
-                                    AccessNetworkType.UTRAN,
-                                    null /* bands */,
-                                    null /* channels */)
-                    },
-                    SEARCH_PERIODICITY_SEC,
-                    MAX_SEARCH_TIME_SEC,
-                    INCREMENTAL_RESULTS,
-                    INCREMENTAL_RESULTS_PERIODICITY_SEC,
-                    null /* List of PLMN ids (MCC-MNC) */);
-
     private final NetworkScanCallback mNetworkScanCallback;
     private final TelephonyManager mTelephonyManager;
     private final TelephonyScanManager.NetworkScanCallback mInternalNetworkScanCallback;
@@ -146,9 +83,6 @@
 
     private NetworkScan mNetworkScanRequester;
 
-    /** Callbacks for sync network scan */
-    private ListenableFuture<List<CellInfo>> mNetworkScanFuture;
-
     public NetworkScanHelper(TelephonyManager tm, NetworkScanCallback callback, Executor executor) {
         mTelephonyManager = tm;
         mNetworkScanCallback = callback;
@@ -156,54 +90,86 @@
         mExecutor = executor;
     }
 
-    /**
-     * Performs a network scan for the given type {@code type}.
-     * {@link #NETWORK_SCAN_TYPE_INCREMENTAL_RESULTS} is recommended if modem supports
-     * {@link TelephonyManager#requestNetworkScan(
-     * NetworkScanRequest, Executor, TelephonyScanManager.NetworkScanCallback)}.
-     *
-     * @param type used to tell which network scan API should be used.
-     */
-    public void startNetworkScan(@NetworkQueryType int type) {
-        if (type == NETWORK_SCAN_TYPE_WAIT_FOR_ALL_RESULTS) {
-            mNetworkScanFuture = SettableFuture.create();
-            Futures.addCallback(mNetworkScanFuture, new FutureCallback<List<CellInfo>>() {
-                @Override
-                public void onSuccess(List<CellInfo> result) {
-                    onResults(result);
-                    onComplete();
-                }
+    private NetworkScanRequest createNetworkScanForPreferredAccessNetworks() {
+        long networkTypeBitmap3gpp = mTelephonyManager.getPreferredNetworkTypeBitmask()
+                & TelephonyManager.NETWORK_STANDARDS_FAMILY_BITMASK_3GPP;
 
-                @Override
-                public void onFailure(Throwable t) {
-                    int errCode = Integer.parseInt(t.getMessage());
-                    onError(errCode);
-                }
-            });
-            mExecutor.execute(new NetworkScanSyncTask(
-                    mTelephonyManager, (SettableFuture) mNetworkScanFuture));
-        } else if (type == NETWORK_SCAN_TYPE_INCREMENTAL_RESULTS) {
-            mNetworkScanRequester = mTelephonyManager.requestNetworkScan(
-                    NETWORK_SCAN_REQUEST,
-                    mExecutor,
-                    mInternalNetworkScanCallback);
+        List<RadioAccessSpecifier> radioAccessSpecifiers = new ArrayList<>();
+        // If the allowed network types are unknown or if they are of the right class, scan for
+        // them; otherwise, skip them to save scan time and prevent users from being shown networks
+        // that they can't connect to.
+        if (networkTypeBitmap3gpp == 0
+                || (networkTypeBitmap3gpp & TelephonyManager.NETWORK_CLASS_BITMASK_2G) != 0) {
+            radioAccessSpecifiers.add(
+                    new RadioAccessSpecifier(AccessNetworkType.GERAN, null, null));
+        }
+        if (networkTypeBitmap3gpp == 0
+                || (networkTypeBitmap3gpp & TelephonyManager.NETWORK_CLASS_BITMASK_3G) != 0) {
+            radioAccessSpecifiers.add(
+                    new RadioAccessSpecifier(AccessNetworkType.UTRAN, null, null));
+        }
+        if (networkTypeBitmap3gpp == 0
+                || (networkTypeBitmap3gpp & TelephonyManager.NETWORK_CLASS_BITMASK_4G) != 0) {
+            radioAccessSpecifiers.add(
+                    new RadioAccessSpecifier(AccessNetworkType.EUTRAN, null, null));
+        }
+        // If a device supports 5G stand-alone then the code below should be re-enabled; however
+        // a device supporting only non-standalone mode cannot perform PLMN selection and camp on
+        // a 5G network, which means that it shouldn't scan for 5G at the expense of battery as
+        // part of the manual network selection process.
+        //
+        // FIXME(b/151119451): re-enable this code once there is a way to distinguish SA from NSA
+        // support in the modem.
+        //
+        // if (networkTypeBitmap3gpp == 0
+        //        || (networkTypeBitmap3gpp & TelephonyManager.NETWORK_CLASS_BITMASK_5G) != 0) {
+        //    radioAccessSpecifiers.add(
+        //            new RadioAccessSpecifier(AccessNetworkType.NGRAN, null, null));
+        // }
+
+        return new NetworkScanRequest(
+                NetworkScanRequest.SCAN_TYPE_ONE_SHOT,
+                radioAccessSpecifiers.toArray(
+                        new RadioAccessSpecifier[radioAccessSpecifiers.size()]),
+                SEARCH_PERIODICITY_SEC,
+                MAX_SEARCH_TIME_SEC,
+                INCREMENTAL_RESULTS,
+                INCREMENTAL_RESULTS_PERIODICITY_SEC,
+                null /* List of PLMN ids (MCC-MNC) */);
+    }
+
+    /**
+     * Request a network scan.
+     *
+     * Performs the network scan using {@link TelephonyManager#requestNetworkScan(
+     * NetworkScanRequest, Executor, TelephonyScanManager.NetworkScanCallback)} The network scan
+     * results will be returned to the caller periodically in a small time window until the network
+     * scan is completed. The complete results should be returned in the last called of
+     * {@link NetworkScanCallback#onResults(List)}.
+     */
+    public void startNetworkScan() {
+        if (mNetworkScanRequester != null) {
+            return;
+        }
+        mNetworkScanRequester = mTelephonyManager.requestNetworkScan(
+                createNetworkScanForPreferredAccessNetworks(),
+                mExecutor,
+                mInternalNetworkScanCallback);
+        if (mNetworkScanRequester == null) {
+            onError(NetworkScan.ERROR_RADIO_INTERFACE_ERROR);
         }
     }
 
     /**
-     * The network scan of type {@link #NETWORK_SCAN_TYPE_WAIT_FOR_ALL_RESULTS} can't be stopped,
-     * however, the result of the current network scan won't be returned to the callback after
-     * calling this method.
+     * Stops the network scan.
+     *
+     * Use this method to stop an ongoing scan. When user requests a new scan, a {@link NetworkScan}
+     * object will be returned, and the user can stop the scan by calling this method.
      */
     public void stopNetworkQuery() {
         if (mNetworkScanRequester != null) {
             mNetworkScanRequester.stopScan();
-            mNetworkScanFuture = null;
-        }
-
-        if (mNetworkScanFuture != null) {
-            mNetworkScanFuture.cancel(true /* mayInterruptIfRunning */);
-            mNetworkScanFuture = null;
+            mNetworkScanRequester = null;
         }
     }
 
@@ -219,23 +185,6 @@
         mNetworkScanCallback.onError(errCode);
     }
 
-    /**
-     * Converts the status code of {@link CellNetworkScanResult} to one of the
-     * {@link NetworkScan.ScanErrorCode}.
-     * @param errCode status code from {@link CellNetworkScanResult}.
-     *
-     * @return one of the scan error code from {@link NetworkScan.ScanErrorCode}.
-     */
-    private static int convertToScanErrorCode(int errCode) {
-        switch (errCode) {
-            case CellNetworkScanResult.STATUS_RADIO_NOT_AVAILABLE:
-                return NetworkScan.ERROR_RADIO_INTERFACE_ERROR;
-            case CellNetworkScanResult.STATUS_RADIO_GENERIC_FAILURE:
-            default:
-                return NetworkScan.ERROR_MODEM_ERROR;
-        }
-    }
-
     private final class NetworkScanCallbackImpl extends TelephonyScanManager.NetworkScanCallback {
         public void onResults(List<CellInfo> results) {
             Log.d(TAG, "Async scan onResults() results = "
@@ -253,35 +202,4 @@
             NetworkScanHelper.this.onError(errCode);
         }
     }
-
-    private static final class NetworkScanSyncTask implements Runnable {
-        private final SettableFuture<List<CellInfo>> mCallback;
-        private final TelephonyManager mTelephonyManager;
-
-        NetworkScanSyncTask(
-                TelephonyManager telephonyManager, SettableFuture<List<CellInfo>> callback) {
-            mTelephonyManager = telephonyManager;
-            mCallback = callback;
-        }
-
-        @Override
-        public void run() {
-            final CellNetworkScanResult result = mTelephonyManager.getAvailableNetworks();
-            if (result.getStatus() == CellNetworkScanResult.STATUS_SUCCESS) {
-                final List<CellInfo> cellInfos = result.getOperators()
-                        .stream()
-                        .map(operatorInfo
-                                -> CellInfoUtil.convertOperatorInfoToCellInfo(operatorInfo))
-                        .collect(Collectors.toList());
-                Log.d(TAG, "Sync network scan completed, cellInfos = "
-                        + CellInfoUtil.cellInfoListToString(cellInfos));
-                mCallback.set(cellInfos);
-            } else {
-                final Throwable error = new Throwable(
-                        Integer.toString(convertToScanErrorCode(result.getStatus())));
-                mCallback.setException(error);
-                Log.d(TAG, "Sync network scan error, ex = " + error);
-            }
-        }
-    }
 }
diff --git a/src/com/android/settings/network/telephony/NetworkSelectSettings.java b/src/com/android/settings/network/telephony/NetworkSelectSettings.java
index e288763..584848f 100644
--- a/src/com/android/settings/network/telephony/NetworkSelectSettings.java
+++ b/src/com/android/settings/network/telephony/NetworkSelectSettings.java
@@ -13,6 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+
 package com.android.settings.network.telephony;
 
 import android.app.Activity;
@@ -39,7 +40,6 @@
 import androidx.preference.Preference;
 import androidx.preference.PreferenceCategory;
 
-import com.android.internal.telephony.OperatorInfo;
 import com.android.settings.R;
 import com.android.settings.dashboard.DashboardFragment;
 import com.android.settings.overlay.FeatureFactory;
@@ -48,14 +48,12 @@
 
 import java.util.ArrayList;
 import java.util.Arrays;
-import java.util.HashMap;
 import java.util.List;
-import java.util.Map;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 
 /**
- * "Choose network" settings UI for the Phone app.
+ * "Choose network" settings UI for the Settings app.
  */
 public class NetworkSelectSettings extends DashboardFragment {
 
@@ -66,15 +64,11 @@
     private static final int EVENT_NETWORK_SCAN_ERROR = 3;
     private static final int EVENT_NETWORK_SCAN_COMPLETED = 4;
 
-    private static final String PREF_KEY_CONNECTED_NETWORK_OPERATOR =
-            "connected_network_operator_preference";
     private static final String PREF_KEY_NETWORK_OPERATORS = "network_operators_preference";
 
     @VisibleForTesting
     PreferenceCategory mPreferenceCategory;
     @VisibleForTesting
-    PreferenceCategory mConnectedPreferenceCategory;
-    @VisibleForTesting
     NetworkOperatorPreference mSelectedPreference;
     private View mProgressHeader;
     private Preference mStatusMessagePreference;
@@ -89,21 +83,24 @@
     private final ExecutorService mNetworkScanExecutor = Executors.newFixedThreadPool(1);
     private MetricsFeatureProvider mMetricsFeatureProvider;
     private boolean mUseNewApi;
+    private long mRequestIdManualNetworkSelect;
+    private long mRequestIdManualNetworkScan;
+    private long mWaitingForNumberOfScanResults;
+
+    private static final int MIN_NUMBER_OF_SCAN_REQUIRED = 2;
 
     @Override
     public void onCreate(Bundle icicle) {
         super.onCreate(icicle);
 
-        mUseNewApi = getContext().getResources().getBoolean(
-                com.android.internal.R.bool.config_enableNewAutoSelectNetworkUI);
         mSubId = getArguments().getInt(Settings.EXTRA_SUB_ID);
 
-        mConnectedPreferenceCategory = findPreference(PREF_KEY_CONNECTED_NETWORK_OPERATOR);
         mPreferenceCategory = findPreference(PREF_KEY_NETWORK_OPERATORS);
         mStatusMessagePreference = new Preference(getContext());
         mStatusMessagePreference.setSelectable(false);
         mSelectedPreference = null;
-        mTelephonyManager = TelephonyManager.from(getContext()).createForSubscriptionId(mSubId);
+        mTelephonyManager = getContext().getSystemService(TelephonyManager.class)
+                .createForSubscriptionId(mSubId);
         mNetworkScanHelper = new NetworkScanHelper(
                 mTelephonyManager, mCallback, mNetworkScanExecutor);
         PersistableBundle bundle = ((CarrierConfigManager) getContext().getSystemService(
@@ -135,12 +132,12 @@
         super.onStart();
 
         updateForbiddenPlmns();
-        setProgressBarVisible(true);
-
-        mNetworkScanHelper.startNetworkScan(
-                mUseNewApi
-                        ? NetworkScanHelper.NETWORK_SCAN_TYPE_INCREMENTAL_RESULTS
-                        : NetworkScanHelper.NETWORK_SCAN_TYPE_WAIT_FOR_ALL_RESULTS);
+        if (isProgressBarVisible()) {
+            return;
+        }
+        if (mWaitingForNumberOfScanResults <= 0) {
+            startNetworkQuery();
+        }
     }
 
     /**
@@ -157,44 +154,41 @@
     @Override
     public void onStop() {
         super.onStop();
-        stopNetworkQuery();
+        if (mWaitingForNumberOfScanResults <= 0) {
+            stopNetworkQuery();
+        }
     }
 
     @Override
     public boolean onPreferenceTreeClick(Preference preference) {
         if (preference != mSelectedPreference) {
             stopNetworkQuery();
+
             // Refresh the last selected item in case users reselect network.
+            clearPreferenceSummary();
             if (mSelectedPreference != null) {
-                mSelectedPreference.setSummary(null);
+                // Set summary as "Disconnected" to the previously connected network
+                mSelectedPreference.setSummary(R.string.network_disconnected);
             }
 
             mSelectedPreference = (NetworkOperatorPreference) preference;
-            CellInfo cellInfo = mSelectedPreference.getCellInfo();
             mSelectedPreference.setSummary(R.string.network_connecting);
 
             mMetricsFeatureProvider.action(getContext(),
                     SettingsEnums.ACTION_MOBILE_NETWORK_MANUAL_SELECT_NETWORK);
 
-            // Set summary as "Disconnected" to the previously connected network
-            if (mConnectedPreferenceCategory.getPreferenceCount() > 0) {
-                NetworkOperatorPreference connectedNetworkOperator = (NetworkOperatorPreference)
-                        (mConnectedPreferenceCategory.getPreference(0));
-                if (!CellInfoUtil.getNetworkTitle(cellInfo).equals(
-                        CellInfoUtil.getNetworkTitle(connectedNetworkOperator.getCellInfo()))) {
-                    connectedNetworkOperator.setSummary(R.string.network_disconnected);
-                }
-            }
-
             setProgressBarVisible(true);
             // Disable the screen until network is manually set
             getPreferenceScreen().setEnabled(false);
 
-            final OperatorInfo operatorInfo = CellInfoUtil.getOperatorInfoFromCellInfo(cellInfo);
+            mRequestIdManualNetworkSelect = getNewRequestId();
+            mWaitingForNumberOfScanResults = MIN_NUMBER_OF_SCAN_REQUIRED;
+            final String operatorNumeric = mSelectedPreference.getOperatorNumeric();
             ThreadUtils.postOnBackgroundThread(() -> {
-                Message msg = mHandler.obtainMessage(EVENT_SET_NETWORK_SELECTION_MANUALLY_DONE);
+                final Message msg = mHandler.obtainMessage(
+                        EVENT_SET_NETWORK_SELECTION_MANUALLY_DONE);
                 msg.obj = mTelephonyManager.setNetworkSelectionModeManual(
-                        operatorInfo, true /* persistSelection */);
+                        operatorNumeric, true /* persistSelection */);
                 msg.sendToTarget();
             });
         }
@@ -222,35 +216,85 @@
         public void handleMessage(Message msg) {
             switch (msg.what) {
                 case EVENT_SET_NETWORK_SELECTION_MANUALLY_DONE:
-                    setProgressBarVisible(false);
-                    getPreferenceScreen().setEnabled(true);
-
-                    boolean isSucceed = (boolean) msg.obj;
-                    mSelectedPreference.setSummary(isSucceed
-                            ? R.string.network_connected
-                            : R.string.network_could_not_connect);
+                    final boolean isSucceed = (boolean) msg.obj;
+                    if (isSucceed) {
+                        // Don't enable screen here. Wait until result of network re-scan.
+                        startNetworkQuery();
+                    } else {
+                        stopNetworkQuery();
+                        setProgressBarVisible(false);
+                        getPreferenceScreen().setEnabled(true);
+                        // For failure case, only update the summary of selected item.
+                        mSelectedPreference.setSummary(R.string.network_could_not_connect);
+                    }
                     break;
                 case EVENT_NETWORK_SCAN_RESULTS:
-                    List<CellInfo> results = aggregateCellInfoList((List<CellInfo>) msg.obj);
-                    Log.d(TAG, "CellInfoList after aggregation: "
-                            + CellInfoUtil.cellInfoListToString(results));
-                    mCellInfoList = new ArrayList<>(results);
-                    if (mCellInfoList != null && mCellInfoList.size() != 0) {
-                        updateAllPreferenceCategory();
-                    } else {
-                        addMessagePreference(R.string.empty_networks_list);
+                    final List<CellInfo> results = (List<CellInfo>) msg.obj;
+                    if (mRequestIdManualNetworkScan < mRequestIdManualNetworkSelect) {
+                        Log.d(TAG, "CellInfoList (drop): "
+                                + CellInfoUtil.cellInfoListToString(new ArrayList<>(results)));
+                        break;
+                    }
+                    mWaitingForNumberOfScanResults--;
+                    if ((mWaitingForNumberOfScanResults <= 0) && (!isResumed())) {
+                        stopNetworkQuery();
                     }
 
+                    mCellInfoList = new ArrayList<>(results);
+                    Log.d(TAG, "CellInfoList: " + CellInfoUtil.cellInfoListToString(mCellInfoList));
+                    if (mCellInfoList != null && mCellInfoList.size() != 0) {
+                        final NetworkOperatorPreference connectedPref =
+                                updateAllPreferenceCategory();
+                        if (connectedPref != null) {
+                            // update selected preference instance into connected preference
+                            if (mSelectedPreference != null) {
+                                mSelectedPreference = connectedPref;
+                            }
+                        } else if (!getPreferenceScreen().isEnabled()) {
+                            if (connectedPref == null) {
+                                mSelectedPreference.setSummary(R.string.network_connecting);
+                            }
+                        }
+                        getPreferenceScreen().setEnabled(true);
+                    } else if (getPreferenceScreen().isEnabled()) {
+                        addMessagePreference(R.string.empty_networks_list);
+                        // keep showing progress bar, it will be stopped when error or completed
+                        setProgressBarVisible(true);
+                    }
                     break;
 
                 case EVENT_NETWORK_SCAN_ERROR:
                     stopNetworkQuery();
-                    addMessagePreference(R.string.network_query_error);
+                    Log.i(TAG, "Network scan failure " + msg.arg1 + ":"
+                            + " scan request 0x" + Long.toHexString(mRequestIdManualNetworkScan)
+                            + ", waiting for scan results = " + mWaitingForNumberOfScanResults
+                            + ", select request 0x"
+                            + Long.toHexString(mRequestIdManualNetworkSelect));
+                    if (mRequestIdManualNetworkScan < mRequestIdManualNetworkSelect) {
+                        break;
+                    }
+                    if (!getPreferenceScreen().isEnabled()) {
+                        clearPreferenceSummary();
+                        getPreferenceScreen().setEnabled(true);
+                    } else {
+                        addMessagePreference(R.string.network_query_error);
+                    }
                     break;
 
                 case EVENT_NETWORK_SCAN_COMPLETED:
                     stopNetworkQuery();
-                    if (mCellInfoList == null) {
+                    Log.d(TAG, "Network scan complete:"
+                            + " scan request 0x" + Long.toHexString(mRequestIdManualNetworkScan)
+                            + ", waiting for scan results = " + mWaitingForNumberOfScanResults
+                            + ", select request 0x"
+                            + Long.toHexString(mRequestIdManualNetworkSelect));
+                    if (mRequestIdManualNetworkScan < mRequestIdManualNetworkSelect) {
+                        break;
+                    }
+                    if (!getPreferenceScreen().isEnabled()) {
+                        clearPreferenceSummary();
+                        getPreferenceScreen().setEnabled(true);
+                    } else if (mCellInfoList == null) {
                         // In case the scan timeout before getting any results
                         addMessagePreference(R.string.empty_networks_list);
                     }
@@ -263,48 +307,86 @@
     private final NetworkScanHelper.NetworkScanCallback mCallback =
             new NetworkScanHelper.NetworkScanCallback() {
                 public void onResults(List<CellInfo> results) {
-                    Message msg = mHandler.obtainMessage(EVENT_NETWORK_SCAN_RESULTS, results);
+                    final Message msg = mHandler.obtainMessage(EVENT_NETWORK_SCAN_RESULTS, results);
                     msg.sendToTarget();
                 }
 
                 public void onComplete() {
-                    Message msg = mHandler.obtainMessage(EVENT_NETWORK_SCAN_COMPLETED);
+                    final Message msg = mHandler.obtainMessage(EVENT_NETWORK_SCAN_COMPLETED);
                     msg.sendToTarget();
                 }
 
                 public void onError(int error) {
-                    Message msg = mHandler.obtainMessage(EVENT_NETWORK_SCAN_ERROR, error,
+                    final Message msg = mHandler.obtainMessage(EVENT_NETWORK_SCAN_ERROR, error,
                             0 /* arg2 */);
                     msg.sendToTarget();
                 }
             };
 
     /**
-     * Update the currently available network operators list, which only contains the unregistered
-     * network operators. So if the device has no data and the network operator in the connected
-     * network operator category shows "Disconnected", it will also exist in the available network
-     * operator category for user to select. On the other hand, if the device has data and the
-     * network operator in the connected network operator category shows "Connected", it will not
-     * exist in the available network category.
+     * Update the content of network operators list.
+     *
+     * @return preference which shows connected
      */
     @VisibleForTesting
-    void updateAllPreferenceCategory() {
-        updateConnectedPreferenceCategory();
+    NetworkOperatorPreference updateAllPreferenceCategory() {
+        int numberOfPreferences = mPreferenceCategory.getPreferenceCount();
 
-        mPreferenceCategory.removeAll();
+        // remove unused preferences
+        while (numberOfPreferences > mCellInfoList.size()) {
+            numberOfPreferences--;
+            mPreferenceCategory.removePreference(
+                    mPreferenceCategory.getPreference(numberOfPreferences));
+        }
+
+        // update selected preference instance by index
         for (int index = 0; index < mCellInfoList.size(); index++) {
-            if (!mCellInfoList.get(index).isRegistered()) {
-                NetworkOperatorPreference pref = new NetworkOperatorPreference(
-                        mCellInfoList.get(index), getPrefContext(), mForbiddenPlmns, mShow4GForLTE);
-                pref.setKey(CellInfoUtil.getNetworkTitle(mCellInfoList.get(index)));
+            final CellInfo cellInfo = mCellInfoList.get(index);
+
+            if ((mSelectedPreference != null) && mSelectedPreference.isSameCell(cellInfo)) {
+                mSelectedPreference = (NetworkOperatorPreference)
+                        (mPreferenceCategory.getPreference(index));
+            }
+        }
+
+        // update the content of preference
+        NetworkOperatorPreference connectedPref = null;
+        for (int index = 0; index < mCellInfoList.size(); index++) {
+            final CellInfo cellInfo = mCellInfoList.get(index);
+
+            NetworkOperatorPreference pref = null;
+            if (index < numberOfPreferences) {
+                final Preference rawPref = mPreferenceCategory.getPreference(index);
+                if (rawPref instanceof NetworkOperatorPreference) {
+                    // replace existing preference
+                    pref = (NetworkOperatorPreference) rawPref;
+                    pref.updateCell(cellInfo);
+                } else {
+                    mPreferenceCategory.removePreference(rawPref);
+                }
+            }
+            if (pref == null) {
+                // add new preference
+                pref = new NetworkOperatorPreference(getPrefContext(),
+                        cellInfo, mForbiddenPlmns, mShow4GForLTE);
                 pref.setOrder(index);
                 mPreferenceCategory.addPreference(pref);
             }
+            pref.setKey(pref.getOperatorName());
+
+            if (mCellInfoList.get(index).isRegistered()) {
+                pref.setSummary(R.string.network_connected);
+                connectedPref = pref;
+            } else {
+                pref.setSummary(null);
+            }
         }
+
+        return connectedPref;
     }
 
     /**
-     * Config the connected network operator preference when the page was created. When user get
+     * Config the network operator list when the page was created. When user get
      * into this page, the device might or might not have data connection.
      * - If the device has data:
      * 1. use {@code ServiceState#getNetworkRegistrationInfoList()} to get the currently
@@ -318,63 +400,52 @@
     private void forceUpdateConnectedPreferenceCategory() {
         if (mTelephonyManager.getDataState() == mTelephonyManager.DATA_CONNECTED) {
             // Try to get the network registration states
-            ServiceState ss = mTelephonyManager.getServiceState();
-            List<NetworkRegistrationInfo> networkList =
+            final ServiceState ss = mTelephonyManager.getServiceState();
+            final List<NetworkRegistrationInfo> networkList =
                     ss.getNetworkRegistrationInfoListForTransportType(
                             AccessNetworkConstants.TRANSPORT_TYPE_WWAN);
             if (networkList == null || networkList.size() == 0) {
-                // Remove the connected network operators category
-                mConnectedPreferenceCategory.setVisible(false);
                 return;
             }
-            CellIdentity cellIdentity = networkList.get(0).getCellIdentity();
-            CellInfo cellInfo = CellInfoUtil.wrapCellInfoWithCellIdentity(cellIdentity);
-            if (cellInfo != null) {
-                NetworkOperatorPreference pref = new NetworkOperatorPreference(
-                        cellInfo, getPrefContext(), mForbiddenPlmns, mShow4GForLTE);
-                pref.setTitle(MobileNetworkUtils.getCurrentCarrierNameForDisplay(
-                        getPrefContext(), mSubId));
-                pref.setSummary(R.string.network_connected);
-                // Update the signal strength icon, since the default signalStrength value would be
-                // zero (it would be quite confusing why the connected network has no signal)
-                pref.setIcon(SignalStrength.NUM_SIGNAL_STRENGTH_BINS - 1);
-                mConnectedPreferenceCategory.addPreference(pref);
-            } else {
-                // Remove the connected network operators category
-                mConnectedPreferenceCategory.setVisible(false);
+            for (NetworkRegistrationInfo regInfo : networkList) {
+                final CellIdentity cellIdentity = regInfo.getCellIdentity();
+                if (cellIdentity != null) {
+                    final NetworkOperatorPreference pref = new NetworkOperatorPreference(
+                            getPrefContext(), cellIdentity, mForbiddenPlmns, mShow4GForLTE);
+                    pref.setSummary(R.string.network_connected);
+                    // Update the signal strength icon, since the default signalStrength value
+                    // would be zero
+                    // (it would be quite confusing why the connected network has no signal)
+                    pref.setIcon(SignalStrength.NUM_SIGNAL_STRENGTH_BINS - 1);
+                    mPreferenceCategory.addPreference(pref);
+                }
             }
-        } else {
-            // Remove the connected network operators category
-            mConnectedPreferenceCategory.setVisible(false);
         }
     }
 
     /**
-     * Configure the ConnectedNetworkOperatorsPreferenceCategory. The category only need to be
-     * configured if the category is currently empty or the operator network title of the previous
-     * connected network is different from the new one.
+     * Clear all of the preference summary
      */
-    private void updateConnectedPreferenceCategory() {
-        CellInfo connectedNetworkOperator = null;
-        for (CellInfo cellInfo : mCellInfoList) {
-            if (cellInfo.isRegistered()) {
-                connectedNetworkOperator = cellInfo;
-                break;
-            }
-        }
-
-        if (connectedNetworkOperator != null) {
-            addConnectedNetworkOperatorPreference(connectedNetworkOperator);
+    private void clearPreferenceSummary() {
+        int idxPreference = mPreferenceCategory.getPreferenceCount();
+        while (idxPreference > 0) {
+            idxPreference--;
+            final NetworkOperatorPreference networkOperator = (NetworkOperatorPreference)
+                    (mPreferenceCategory.getPreference(idxPreference));
+            networkOperator.setSummary(null);
         }
     }
 
-    private void addConnectedNetworkOperatorPreference(CellInfo cellInfo) {
-        mConnectedPreferenceCategory.removeAll();
-        final NetworkOperatorPreference pref = new NetworkOperatorPreference(
-                cellInfo, getPrefContext(), mForbiddenPlmns, mShow4GForLTE);
-        pref.setSummary(R.string.network_connected);
-        mConnectedPreferenceCategory.addPreference(pref);
-        mConnectedPreferenceCategory.setVisible(true);
+    private long getNewRequestId() {
+        return Math.max(mRequestIdManualNetworkSelect,
+                mRequestIdManualNetworkScan) + 1;
+    }
+
+    private boolean isProgressBarVisible() {
+        if (mProgressHeader == null) {
+            return false;
+        }
+        return (mProgressHeader.getVisibility() == View.VISIBLE);
     }
 
     protected void setProgressBarVisible(boolean visible) {
@@ -386,45 +457,30 @@
     private void addMessagePreference(int messageId) {
         setProgressBarVisible(false);
         mStatusMessagePreference.setTitle(messageId);
-        mConnectedPreferenceCategory.setVisible(false);
         mPreferenceCategory.removeAll();
         mPreferenceCategory.addPreference(mStatusMessagePreference);
     }
 
-    /**
-     * The Scan results may contains several cell infos with different radio technologies and signal
-     * strength for one network operator. Aggregate the CellInfoList by retaining only the cell info
-     * with the strongest signal strength.
-     */
-    private List<CellInfo> aggregateCellInfoList(List<CellInfo> cellInfoList) {
-        Map<String, CellInfo> map = new HashMap<>();
-        for (CellInfo cellInfo : cellInfoList) {
-            String plmn = CellInfoUtil.getOperatorInfoFromCellInfo(cellInfo).getOperatorNumeric();
-            if (cellInfo.isRegistered() || !map.containsKey(plmn)) {
-                map.put(plmn, cellInfo);
-            } else {
-                if (map.get(plmn).isRegistered()
-                        || map.get(plmn).getCellSignalStrength().getLevel()
-                        > cellInfo.getCellSignalStrength().getLevel()) {
-                    // Skip if the stored cellInfo is registered or has higher signal strength level
-                    continue;
-                }
-                // Otherwise replace it with the new CellInfo
-                map.put(plmn, cellInfo);
-            }
+    private void startNetworkQuery() {
+        setProgressBarVisible(true);
+        if (mNetworkScanHelper != null) {
+            mRequestIdManualNetworkScan = getNewRequestId();
+            mWaitingForNumberOfScanResults = MIN_NUMBER_OF_SCAN_REQUIRED;
+            mNetworkScanHelper.startNetworkScan();
         }
-        return new ArrayList<>(map.values());
     }
 
     private void stopNetworkQuery() {
         setProgressBarVisible(false);
         if (mNetworkScanHelper != null) {
+            mWaitingForNumberOfScanResults = 0;
             mNetworkScanHelper.stopNetworkQuery();
         }
     }
 
     @Override
     public void onDestroy() {
+        stopNetworkQuery();
         mNetworkScanExecutor.shutdown();
         super.onDestroy();
     }
diff --git a/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceController.java b/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceController.java
index 965fc72..83fa208 100644
--- a/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceController.java
+++ b/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceController.java
@@ -20,16 +20,14 @@
 import android.os.PersistableBundle;
 import android.provider.Settings;
 import android.telephony.CarrierConfigManager;
-import android.telephony.ServiceState;
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
 
 import androidx.preference.ListPreference;
 import androidx.preference.Preference;
 
-import com.android.internal.telephony.Phone;
-import com.android.internal.telephony.PhoneConstants;
 import com.android.settings.R;
+import com.android.settings.network.telephony.TelephonyConstants.TelephonyManagerConstants;
 
 /**
  * Preference controller for "Preferred network mode"
@@ -50,8 +48,6 @@
     @Override
     public int getAvailabilityStatus(int subId) {
         final PersistableBundle carrierConfig = mCarrierConfigManager.getConfigForSubId(subId);
-        final TelephonyManager telephonyManager = TelephonyManager
-                .from(mContext).createForSubscriptionId(subId);
         boolean visible;
         if (subId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
             visible = false;
@@ -82,14 +78,15 @@
 
     @Override
     public boolean onPreferenceChange(Preference preference, Object object) {
-        final int settingsMode = Integer.parseInt((String) object);
+        final int newPreferredNetworkMode = Integer.parseInt((String) object);
 
-        if (mTelephonyManager.setPreferredNetworkType(mSubId, settingsMode)) {
+        if (mTelephonyManager.setPreferredNetworkTypeBitmask(
+                MobileNetworkUtils.getRafFromNetworkType(newPreferredNetworkMode))) {
             Settings.Global.putInt(mContext.getContentResolver(),
                     Settings.Global.PREFERRED_NETWORK_MODE + mSubId,
-                    settingsMode);
+                    newPreferredNetworkMode);
             final ListPreference listPreference = (ListPreference) preference;
-            listPreference.setSummary(getPreferredNetworkModeSummaryResId(settingsMode));
+            listPreference.setSummary(getPreferredNetworkModeSummaryResId(newPreferredNetworkMode));
             return true;
         }
 
@@ -99,79 +96,97 @@
     public void init(int subId) {
         mSubId = subId;
         final PersistableBundle carrierConfig = mCarrierConfigManager.getConfigForSubId(mSubId);
-        mTelephonyManager = TelephonyManager.from(mContext).createForSubscriptionId(mSubId);
+        mTelephonyManager = mContext.getSystemService(TelephonyManager.class)
+                .createForSubscriptionId(mSubId);
 
-        final boolean isLteOnCdma =
-                mTelephonyManager.getLteOnCdmaMode() == PhoneConstants.LTE_ON_CDMA_TRUE;
-        mIsGlobalCdma = isLteOnCdma
+        mIsGlobalCdma = mTelephonyManager.isLteCdmaEvdoGsmWcdmaEnabled()
                 && carrierConfig.getBoolean(CarrierConfigManager.KEY_SHOW_CDMA_CHOICES_BOOL);
     }
 
     private int getPreferredNetworkMode() {
         return Settings.Global.getInt(mContext.getContentResolver(),
                 Settings.Global.PREFERRED_NETWORK_MODE + mSubId,
-                Phone.PREFERRED_NT_MODE);
+                TelephonyManager.DEFAULT_PREFERRED_NETWORK_MODE);
     }
 
     private int getPreferredNetworkModeSummaryResId(int NetworkMode) {
         switch (NetworkMode) {
-            case TelephonyManager.NETWORK_MODE_TDSCDMA_GSM_WCDMA:
+            case TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM_WCDMA:
                 return R.string.preferred_network_mode_tdscdma_gsm_wcdma_summary;
-            case TelephonyManager.NETWORK_MODE_TDSCDMA_GSM:
+            case TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM:
                 return R.string.preferred_network_mode_tdscdma_gsm_summary;
-            case TelephonyManager.NETWORK_MODE_WCDMA_PREF:
+            case TelephonyManagerConstants.NETWORK_MODE_WCDMA_PREF:
                 return R.string.preferred_network_mode_wcdma_perf_summary;
-            case TelephonyManager.NETWORK_MODE_GSM_ONLY:
+            case TelephonyManagerConstants.NETWORK_MODE_GSM_ONLY:
                 return R.string.preferred_network_mode_gsm_only_summary;
-            case TelephonyManager.NETWORK_MODE_TDSCDMA_WCDMA:
+            case TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_WCDMA:
                 return R.string.preferred_network_mode_tdscdma_wcdma_summary;
-            case TelephonyManager.NETWORK_MODE_WCDMA_ONLY:
+            case TelephonyManagerConstants.NETWORK_MODE_WCDMA_ONLY:
                 return R.string.preferred_network_mode_wcdma_only_summary;
-            case TelephonyManager.NETWORK_MODE_GSM_UMTS:
+            case TelephonyManagerConstants.NETWORK_MODE_GSM_UMTS:
                 return R.string.preferred_network_mode_gsm_wcdma_summary;
-            case TelephonyManager.NETWORK_MODE_CDMA_EVDO:
-                switch (mTelephonyManager.getLteOnCdmaMode()) {
-                    case PhoneConstants.LTE_ON_CDMA_TRUE:
-                        return R.string.preferred_network_mode_cdma_summary;
-                    default:
-                        return R.string.preferred_network_mode_cdma_evdo_summary;
-                }
-            case TelephonyManager.NETWORK_MODE_CDMA_NO_EVDO:
+            case TelephonyManagerConstants.NETWORK_MODE_CDMA_EVDO:
+                return mTelephonyManager.isLteCdmaEvdoGsmWcdmaEnabled()
+                        ? R.string.preferred_network_mode_cdma_summary
+                        : R.string.preferred_network_mode_cdma_evdo_summary;
+            case TelephonyManagerConstants.NETWORK_MODE_CDMA_NO_EVDO:
                 return R.string.preferred_network_mode_cdma_only_summary;
-            case TelephonyManager.NETWORK_MODE_EVDO_NO_CDMA:
+            case TelephonyManagerConstants.NETWORK_MODE_EVDO_NO_CDMA:
                 return R.string.preferred_network_mode_evdo_only_summary;
-            case TelephonyManager.NETWORK_MODE_LTE_TDSCDMA:
+            case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA:
                 return R.string.preferred_network_mode_lte_tdscdma_summary;
-            case TelephonyManager.NETWORK_MODE_LTE_ONLY:
+            case TelephonyManagerConstants.NETWORK_MODE_LTE_ONLY:
                 return R.string.preferred_network_mode_lte_summary;
-            case TelephonyManager.NETWORK_MODE_LTE_TDSCDMA_GSM:
+            case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM:
                 return R.string.preferred_network_mode_lte_tdscdma_gsm_summary;
-            case TelephonyManager.NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA:
+            case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA:
                 return R.string.preferred_network_mode_lte_tdscdma_gsm_wcdma_summary;
-            case TelephonyManager.NETWORK_MODE_LTE_GSM_WCDMA:
+            case TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA:
                 return R.string.preferred_network_mode_lte_gsm_wcdma_summary;
-            case TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO:
+            case TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO:
                 return R.string.preferred_network_mode_lte_cdma_evdo_summary;
-            case TelephonyManager.NETWORK_MODE_TDSCDMA_ONLY:
+            case TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_ONLY:
                 return R.string.preferred_network_mode_tdscdma_summary;
-            case TelephonyManager.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA:
+            case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA:
                 return R.string.preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary;
-            case TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA:
-                if (mTelephonyManager.getPhoneType() == PhoneConstants.PHONE_TYPE_CDMA
+            case TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA:
+                if (mTelephonyManager.getPhoneType() == TelephonyManager.PHONE_TYPE_CDMA
                         || mIsGlobalCdma
                         || MobileNetworkUtils.isWorldMode(mContext, mSubId)) {
                     return R.string.preferred_network_mode_global_summary;
                 } else {
                     return R.string.preferred_network_mode_lte_summary;
                 }
-            case TelephonyManager.NETWORK_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA:
+            case TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA:
                 return R.string.preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary;
-            case TelephonyManager.NETWORK_MODE_GLOBAL:
+            case TelephonyManagerConstants.NETWORK_MODE_GLOBAL:
                 return R.string.preferred_network_mode_cdma_evdo_gsm_wcdma_summary;
-            case TelephonyManager.NETWORK_MODE_LTE_TDSCDMA_WCDMA:
+            case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_WCDMA:
                 return R.string.preferred_network_mode_lte_tdscdma_wcdma_summary;
-            case TelephonyManager.NETWORK_MODE_LTE_WCDMA:
+            case TelephonyManagerConstants.NETWORK_MODE_LTE_WCDMA:
                 return R.string.preferred_network_mode_lte_wcdma_summary;
+            case TelephonyManagerConstants.NETWORK_MODE_NR_ONLY:
+                return R.string.preferred_network_mode_nr_only_summary;
+            case TelephonyManagerConstants.NETWORK_MODE_NR_LTE:
+                return R.string.preferred_network_mode_nr_lte_summary;
+            case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO:
+                return R.string.preferred_network_mode_nr_lte_cdma_evdo_summary;
+            case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_GSM_WCDMA:
+                return R.string.preferred_network_mode_nr_lte_gsm_wcdma_summary;
+            case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA:
+                return R.string.preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary;
+            case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_WCDMA:
+                return R.string.preferred_network_mode_nr_lte_wcdma_summary;
+            case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA:
+                return R.string.preferred_network_mode_nr_lte_tdscdma_summary;
+            case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM:
+                return R.string.preferred_network_mode_nr_lte_tdscdma_gsm_summary;
+            case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_WCDMA:
+                return R.string.preferred_network_mode_nr_lte_tdscdma_wcdma_summary;
+            case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA:
+                return R.string.preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary;
+            case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA:
+                return R.string.preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary;
             default:
                 return R.string.preferred_network_mode_global_summary;
         }
diff --git a/src/com/android/settings/network/telephony/RenameMobileNetworkDialogFragment.java b/src/com/android/settings/network/telephony/RenameMobileNetworkDialogFragment.java
index a28fc91..ab8327c 100644
--- a/src/com/android/settings/network/telephony/RenameMobileNetworkDialogFragment.java
+++ b/src/com/android/settings/network/telephony/RenameMobileNetworkDialogFragment.java
@@ -28,29 +28,26 @@
 import android.telephony.SubscriptionInfo;
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
-import android.text.BidiFormatter;
-import android.text.TextDirectionHeuristics;
 import android.text.TextUtils;
 import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
-import android.widget.AdapterView;
 import android.widget.ArrayAdapter;
 import android.widget.EditText;
 import android.widget.ImageView;
 import android.widget.Spinner;
 import android.widget.TextView;
 
-import com.android.settings.R;
-import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
-import com.android.settingslib.DeviceInfoUtils;
-
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 import androidx.annotation.VisibleForTesting;
 import androidx.appcompat.app.AlertDialog;
 
+import com.android.settings.R;
+import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
+import com.android.settingslib.DeviceInfoUtils;
+
 /**
  * A dialog allowing the display name of a mobile network subscription to be changed
  */
@@ -152,16 +149,15 @@
         }
 
         final TextView operatorName = view.findViewById(R.id.operator_name_value);
-        final ServiceState serviceState = mTelephonyManager.getServiceStateForSubscriber(mSubId);
+        mTelephonyManager = mTelephonyManager.createForSubscriptionId(mSubId);
+        final ServiceState serviceState = mTelephonyManager.getServiceState();
         operatorName.setText(serviceState.getOperatorAlphaLong());
 
         final TextView phoneTitle = view.findViewById(R.id.number_label);
         phoneTitle.setVisibility(info.isOpportunistic() ? View.GONE : View.VISIBLE);
 
         final TextView phoneNumber = view.findViewById(R.id.number_value);
-        final String formattedNumber = DeviceInfoUtils.getFormattedPhoneNumber(getContext(), info);
-        phoneNumber.setText(BidiFormatter.getInstance().unicodeWrap(formattedNumber,
-                TextDirectionHeuristics.LTR));
+        phoneNumber.setText(DeviceInfoUtils.getBidiFormattedPhoneNumber(getContext(), info));
     }
 
     @Override
@@ -204,7 +200,7 @@
 
     private Color[] getColors() {
         final Resources res = getContext().getResources();
-        final int[] colorInts = res.getIntArray(com.android.internal.R.array.sim_colors);
+        final int[] colorInts = res.getIntArray(android.R.array.simColors);
         final String[] colorStrings = res.getStringArray(R.array.color_picker);
         final int iconSize = res.getDimensionPixelSize(R.dimen.color_swatch_size);
         final int strokeWidth = res.getDimensionPixelSize(R.dimen.color_swatch_stroke_width);
diff --git a/src/com/android/settings/network/telephony/RoamingDialogFragment.java b/src/com/android/settings/network/telephony/RoamingDialogFragment.java
index 1298445..bd45226 100644
--- a/src/com/android/settings/network/telephony/RoamingDialogFragment.java
+++ b/src/com/android/settings/network/telephony/RoamingDialogFragment.java
@@ -42,7 +42,7 @@
 
     public static RoamingDialogFragment newInstance(int subId) {
         final RoamingDialogFragment dialogFragment = new RoamingDialogFragment();
-        Bundle args = new Bundle();
+        final Bundle args = new Bundle();
         args.putInt(SUB_ID_KEY, subId);
         dialogFragment.setArguments(args);
 
@@ -52,17 +52,17 @@
     @Override
     public void onAttach(Context context) {
         super.onAttach(context);
-        Bundle args = getArguments();
+        final Bundle args = getArguments();
         mSubId = args.getInt(SUB_ID_KEY);
-        mCarrierConfigManager = new CarrierConfigManager(context);
+        mCarrierConfigManager = context.getSystemService(CarrierConfigManager.class);
     }
 
     @Override
     public Dialog onCreateDialog(Bundle savedInstanceState) {
-        AlertDialog.Builder builder = new AlertDialog.Builder(getContext());
-        int title = R.string.roaming_alert_title;
+        final AlertDialog.Builder builder = new AlertDialog.Builder(getContext());
+        final int title = R.string.roaming_alert_title;
         int message = R.string.roaming_warning;
-        PersistableBundle carrierConfig = mCarrierConfigManager.getConfigForSubId(mSubId);
+        final PersistableBundle carrierConfig = mCarrierConfigManager.getConfigForSubId(mSubId);
         if (carrierConfig != null && carrierConfig.getBoolean(
                 CarrierConfigManager.KEY_CHECK_PRICING_WITH_CARRIER_FOR_DATA_ROAMING_BOOL)) {
             message = R.string.roaming_check_price_warning;
@@ -84,8 +84,13 @@
     public void onClick(DialogInterface dialog, int which) {
         // let the host know that the positive button has been clicked
         if (which == dialog.BUTTON_POSITIVE) {
-            TelephonyManager.from(getContext()).createForSubscriptionId(
-                    mSubId).setDataRoamingEnabled(true);
+            final TelephonyManager telephonyManager =
+                    getContext().getSystemService(TelephonyManager.class)
+                    .createForSubscriptionId(mSubId);
+            if (telephonyManager == null) {
+                return;
+            }
+            telephonyManager.setDataRoamingEnabled(true);
         }
     }
 }
diff --git a/src/com/android/settings/network/telephony/RoamingPreferenceController.java b/src/com/android/settings/network/telephony/RoamingPreferenceController.java
index dd5fd0e..2e116d8 100644
--- a/src/com/android/settings/network/telephony/RoamingPreferenceController.java
+++ b/src/com/android/settings/network/telephony/RoamingPreferenceController.java
@@ -17,22 +17,19 @@
 package com.android.settings.network.telephony;
 
 import android.content.Context;
-import android.database.ContentObserver;
-import android.net.Uri;
-import android.os.Handler;
-import android.os.Looper;
 import android.os.PersistableBundle;
 import android.provider.Settings;
 import android.telephony.CarrierConfigManager;
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
-import android.text.TextUtils;
+import android.util.Log;
 
 import androidx.annotation.VisibleForTesting;
 import androidx.fragment.app.FragmentManager;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
+import com.android.settings.network.GlobalSettingsChangeListener;
 import com.android.settingslib.RestrictedSwitchPreference;
 import com.android.settingslib.core.lifecycle.LifecycleObserver;
 import com.android.settingslib.core.lifecycle.events.OnStart;
@@ -44,31 +41,59 @@
 public class RoamingPreferenceController extends TelephonyTogglePreferenceController implements
         LifecycleObserver, OnStart, OnStop {
 
+    private static final String TAG = "RoamingController";
     private static final String DIALOG_TAG = "MobileDataDialog";
 
     private RestrictedSwitchPreference mSwitchPreference;
     private TelephonyManager mTelephonyManager;
     private CarrierConfigManager mCarrierConfigManager;
-    private DataContentObserver mDataContentObserver;
-    @VisibleForTesting
-    boolean mNeedDialog;
+
+    /**
+     * There're 2 listeners both activated at the same time.
+     * For project that access DATA_ROAMING, only first listener is functional.
+     * For project that access "DATA_ROAMING + subId", first listener will be stopped when receiving
+     * any onChange from second listener.
+     */
+    private GlobalSettingsChangeListener mListener;
+    private GlobalSettingsChangeListener mListenerForSubId;
+
     @VisibleForTesting
     FragmentManager mFragmentManager;
 
     public RoamingPreferenceController(Context context, String key) {
         super(context, key);
         mCarrierConfigManager = context.getSystemService(CarrierConfigManager.class);
-        mDataContentObserver = new DataContentObserver(new Handler(Looper.getMainLooper()));
     }
 
     @Override
     public void onStart() {
-        mDataContentObserver.register(mContext, mSubId);
+        if (mListener == null) {
+            mListener = new GlobalSettingsChangeListener(mContext,
+                    Settings.Global.DATA_ROAMING) {
+                public void onChanged(String field) {
+                    updateState(mSwitchPreference);
+                }
+            };
+        }
+        stopMonitorSubIdSpecific();
+
+        if (mSubId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
+            return;
+        }
+
+        mListenerForSubId = new GlobalSettingsChangeListener(mContext,
+                Settings.Global.DATA_ROAMING + mSubId) {
+            public void onChanged(String field) {
+                stopMonitor();
+                updateState(mSwitchPreference);
+            }
+        };
     }
 
     @Override
     public void onStop() {
-        mDataContentObserver.unRegister(mContext);
+        stopMonitor();
+        stopMonitorSubIdSpecific();
     }
 
     @Override
@@ -85,22 +110,10 @@
     }
 
     @Override
-    public boolean handlePreferenceTreeClick(Preference preference) {
-        if (TextUtils.equals(preference.getKey(), getPreferenceKey())) {
-            if (mNeedDialog) {
-                showDialog();
-            }
-            return true;
-        }
-
-        return false;
-    }
-
-    @Override
     public boolean setChecked(boolean isChecked) {
-        mNeedDialog = isDialogNeeded();
-
-        if (!mNeedDialog) {
+        if (isDialogNeeded()) {
+            showDialog();
+        } else {
             // Update data directly if we don't need dialog
             mTelephonyManager.setDataRoamingEnabled(isChecked);
             return true;
@@ -141,7 +154,18 @@
     public void init(FragmentManager fragmentManager, int subId) {
         mFragmentManager = fragmentManager;
         mSubId = subId;
-        mTelephonyManager = TelephonyManager.from(mContext).createForSubscriptionId(mSubId);
+        mTelephonyManager = mContext.getSystemService(TelephonyManager.class);
+        if (mSubId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
+            return;
+        }
+        final TelephonyManager telephonyManager = mTelephonyManager
+                .createForSubscriptionId(mSubId);
+        if (telephonyManager == null) {
+            Log.w(TAG, "fail to init in sub" + mSubId);
+            mSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
+            return;
+        }
+        mTelephonyManager = telephonyManager;
     }
 
     private void showDialog() {
@@ -150,32 +174,17 @@
         dialogFragment.show(mFragmentManager, DIALOG_TAG);
     }
 
-    /**
-     * Listener that listens data roaming change
-     */
-    public class DataContentObserver extends ContentObserver {
-
-        public DataContentObserver(Handler handler) {
-            super(handler);
+    private void stopMonitor() {
+        if (mListener != null) {
+            mListener.close();
+            mListener = null;
         }
+    }
 
-        @Override
-        public void onChange(boolean selfChange) {
-            super.onChange(selfChange);
-            updateState(mSwitchPreference);
-        }
-
-        public void register(Context context, int subId) {
-            Uri uri = Settings.Global.getUriFor(Settings.Global.DATA_ROAMING);
-            if (TelephonyManager.getDefault().getSimCount() != 1) {
-                uri = Settings.Global.getUriFor(Settings.Global.DATA_ROAMING + subId);
-            }
-            context.getContentResolver().registerContentObserver(uri, false, this);
-
-        }
-
-        public void unRegister(Context context) {
-            context.getContentResolver().unregisterContentObserver(this);
+    private void stopMonitorSubIdSpecific() {
+        if (mListenerForSubId != null) {
+            mListenerForSubId.close();
+            mListenerForSubId = null;
         }
     }
 }
diff --git a/src/com/android/settings/network/telephony/SmsDefaultSubscriptionController.java b/src/com/android/settings/network/telephony/SmsDefaultSubscriptionController.java
index b999219..96ed771 100644
--- a/src/com/android/settings/network/telephony/SmsDefaultSubscriptionController.java
+++ b/src/com/android/settings/network/telephony/SmsDefaultSubscriptionController.java
@@ -28,7 +28,7 @@
 
     @Override
     protected SubscriptionInfo getDefaultSubscriptionInfo() {
-        return mManager.getDefaultSmsSubscriptionInfo();
+        return mManager.getActiveSubscriptionInfo(getDefaultSubscriptionId());
     }
 
     @Override
diff --git a/src/com/android/settings/network/telephony/TelephonyBasePreferenceController.java b/src/com/android/settings/network/telephony/TelephonyBasePreferenceController.java
index e4ff5c4..241dc5d 100644
--- a/src/com/android/settings/network/telephony/TelephonyBasePreferenceController.java
+++ b/src/com/android/settings/network/telephony/TelephonyBasePreferenceController.java
@@ -17,6 +17,8 @@
 package com.android.settings.network.telephony;
 
 import android.content.Context;
+import android.os.PersistableBundle;
+import android.telephony.CarrierConfigManager;
 import android.telephony.SubscriptionManager;
 
 import com.android.settings.core.BasePreferenceController;
@@ -37,4 +39,20 @@
     public int getAvailabilityStatus() {
         return MobileNetworkUtils.getAvailability(mContext, mSubId, this::getAvailabilityStatus);
     }
+
+    /**
+     * Get carrier config based on specific subscription id.
+     *
+     * @param subId is the subscription id
+     * @return {@link PersistableBundle} of carrier config, or {@code null} when carrier config
+     * is not available.
+     */
+    public PersistableBundle getCarrierConfigForSubId(int subId) {
+        if (!SubscriptionManager.isValidSubscriptionId(subId)) {
+            return null;
+        }
+        final CarrierConfigManager carrierConfigMgr =
+                mContext.getSystemService(CarrierConfigManager.class);
+        return carrierConfigMgr.getConfigForSubId(subId);
+    }
 }
diff --git a/src/com/android/settings/network/telephony/TelephonyConstants.java b/src/com/android/settings/network/telephony/TelephonyConstants.java
new file mode 100644
index 0000000..2a2613c
--- /dev/null
+++ b/src/com/android/settings/network/telephony/TelephonyConstants.java
@@ -0,0 +1,253 @@
+/*
+ * 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.telephony.TelephonyManager;
+
+/**
+ * Contains hidden constants copied from the platform.
+ */
+public class TelephonyConstants {
+
+    /**
+     * Copied from {@link android.telephony.TelephonyManager}
+     */
+    public static class TelephonyManagerConstants {
+
+        // Network modes are in turn copied from RILConstants
+        // with one difference: NETWORK_MODE_CDMA is named NETWORK_MODE_CDMA_EVDO
+
+        public static final int NETWORK_MODE_UNKNOWN = -1;
+
+        /**
+         * GSM, WCDMA (WCDMA preferred)
+         */
+        public static final int NETWORK_MODE_WCDMA_PREF = 0;
+
+        /**
+         * GSM only
+         */
+        public static final int NETWORK_MODE_GSM_ONLY = 1;
+
+        /**
+         * WCDMA only
+         */
+        public static final int NETWORK_MODE_WCDMA_ONLY = 2;
+
+        /**
+         * GSM, WCDMA (auto mode, according to PRL)
+         */
+        public static final int NETWORK_MODE_GSM_UMTS = 3;
+
+        /**
+         * CDMA and EvDo (auto mode, according to PRL)
+         * this is NETWORK_MODE_CDMA in RILConstants.java
+         */
+        public static final int NETWORK_MODE_CDMA_EVDO = 4;
+
+        /**
+         * CDMA only
+         */
+        public static final int NETWORK_MODE_CDMA_NO_EVDO = 5;
+
+        /**
+         * EvDo only
+         */
+        public static final int NETWORK_MODE_EVDO_NO_CDMA = 6;
+
+        /**
+         * GSM, WCDMA, CDMA, and EvDo (auto mode, according to PRL)
+         */
+        public static final int NETWORK_MODE_GLOBAL = 7;
+
+        /**
+         * LTE, CDMA and EvDo
+         */
+        public static final int NETWORK_MODE_LTE_CDMA_EVDO = 8;
+
+        /**
+         * LTE, GSM and WCDMA
+         */
+        public static final int NETWORK_MODE_LTE_GSM_WCDMA = 9;
+
+        /**
+         * LTE, CDMA, EvDo, GSM, and WCDMA
+         */
+        public static final int NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA = 10;
+
+        /**
+         * LTE only mode.
+         */
+        public static final int NETWORK_MODE_LTE_ONLY = 11;
+
+        /**
+         * LTE and WCDMA
+         */
+        public static final int NETWORK_MODE_LTE_WCDMA = 12;
+
+        /**
+         * TD-SCDMA only
+         */
+        public static final int NETWORK_MODE_TDSCDMA_ONLY = 13;
+
+        /**
+         * TD-SCDMA and WCDMA
+         */
+        public static final int NETWORK_MODE_TDSCDMA_WCDMA = 14;
+
+        /**
+         * LTE and TD-SCDMA
+         */
+        public static final int NETWORK_MODE_LTE_TDSCDMA = 15;
+
+        /**
+         * TD-SCDMA and GSM
+         */
+        public static final int NETWORK_MODE_TDSCDMA_GSM = 16;
+
+        /**
+         * TD-SCDMA, GSM and LTE
+         */
+        public static final int NETWORK_MODE_LTE_TDSCDMA_GSM = 17;
+
+        /**
+         * TD-SCDMA, GSM and WCDMA
+         */
+        public static final int NETWORK_MODE_TDSCDMA_GSM_WCDMA = 18;
+
+        /**
+         * LTE, TD-SCDMA and WCDMA
+         */
+        public static final int NETWORK_MODE_LTE_TDSCDMA_WCDMA = 19;
+
+        /**
+         * LTE, TD-SCDMA, GSM, and WCDMA
+         */
+        public static final int NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA = 20;
+
+        /**
+         * TD-SCDMA, CDMA, EVDO, GSM and WCDMA
+         */
+        public static final int NETWORK_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA = 21;
+
+        /**
+         * LTE, TDCSDMA, CDMA, EVDO, GSM and WCDMA
+         */
+        public static final int NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA = 22;
+
+        /**
+         * NR 5G only mode
+         */
+        public static final int NETWORK_MODE_NR_ONLY = 23;
+
+        /**
+         * NR 5G, LTE
+         */
+        public static final int NETWORK_MODE_NR_LTE = 24;
+
+        /**
+         * NR 5G, LTE, CDMA and EvDo
+         */
+        public static final int NETWORK_MODE_NR_LTE_CDMA_EVDO = 25;
+
+        /**
+         * NR 5G, LTE, GSM and WCDMA
+         */
+        public static final int NETWORK_MODE_NR_LTE_GSM_WCDMA = 26;
+
+        /**
+         * NR 5G, LTE, CDMA, EvDo, GSM and WCDMA
+         */
+        public static final int NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA = 27;
+
+        /**
+         * NR 5G, LTE and WCDMA
+         */
+        public static final int NETWORK_MODE_NR_LTE_WCDMA = 28;
+
+        /**
+         * NR 5G, LTE and TDSCDMA
+         */
+        public static final int NETWORK_MODE_NR_LTE_TDSCDMA = 29;
+
+        /**
+         * NR 5G, LTE, TD-SCDMA and GSM
+         */
+        public static final int NETWORK_MODE_NR_LTE_TDSCDMA_GSM = 30;
+
+        /**
+         * NR 5G, LTE, TD-SCDMA, WCDMA
+         */
+        public static final int NETWORK_MODE_NR_LTE_TDSCDMA_WCDMA = 31;
+
+        /**
+         * NR 5G, LTE, TD-SCDMA, GSM and WCDMA
+         */
+        public static final int NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA = 32;
+
+        /**
+         * NR 5G, LTE, TD-SCDMA, CDMA, EVDO, GSM and WCDMA
+         */
+        public static final int NETWORK_MODE_NR_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA = 33;
+    }
+
+    /**
+     * Copied from {@link android.telephony.RadioAccessFamily}
+     */
+    public static class RadioAccessFamily {
+        // 2G
+        public static final int RAF_UNKNOWN = (int) TelephonyManager.NETWORK_TYPE_BITMASK_UNKNOWN;
+        public static final int RAF_GSM = (int) TelephonyManager.NETWORK_TYPE_BITMASK_GSM;
+        public static final int RAF_GPRS = (int) TelephonyManager.NETWORK_TYPE_BITMASK_GPRS;
+        public static final int RAF_EDGE = (int) TelephonyManager.NETWORK_TYPE_BITMASK_EDGE;
+        public static final int RAF_IS95A = (int) TelephonyManager.NETWORK_TYPE_BITMASK_CDMA;
+        public static final int RAF_IS95B = (int) TelephonyManager.NETWORK_TYPE_BITMASK_CDMA;
+        public static final int RAF_1xRTT = (int) TelephonyManager.NETWORK_TYPE_BITMASK_1xRTT;
+        // 3G
+        public static final int RAF_EVDO_0 = (int) TelephonyManager.NETWORK_TYPE_BITMASK_EVDO_0;
+        public static final int RAF_EVDO_A = (int) TelephonyManager.NETWORK_TYPE_BITMASK_EVDO_A;
+        public static final int RAF_EVDO_B = (int) TelephonyManager.NETWORK_TYPE_BITMASK_EVDO_B;
+        public static final int RAF_EHRPD = (int) TelephonyManager.NETWORK_TYPE_BITMASK_EHRPD;
+        public static final int RAF_HSUPA = (int) TelephonyManager.NETWORK_TYPE_BITMASK_HSUPA;
+        public static final int RAF_HSDPA = (int) TelephonyManager.NETWORK_TYPE_BITMASK_HSDPA;
+        public static final int RAF_HSPA = (int) TelephonyManager.NETWORK_TYPE_BITMASK_HSPA;
+        public static final int RAF_HSPAP = (int) TelephonyManager.NETWORK_TYPE_BITMASK_HSPAP;
+        public static final int RAF_UMTS = (int) TelephonyManager.NETWORK_TYPE_BITMASK_UMTS;
+        public static final int RAF_TD_SCDMA = (int) TelephonyManager.NETWORK_TYPE_BITMASK_TD_SCDMA;
+        // 4G
+        public static final int RAF_LTE = (int) TelephonyManager.NETWORK_TYPE_BITMASK_LTE;
+        public static final int RAF_LTE_CA = (int) TelephonyManager.NETWORK_TYPE_BITMASK_LTE_CA;
+        // 5G
+        public static final int RAF_NR = (int) TelephonyManager.NETWORK_TYPE_BITMASK_NR;
+
+        // Grouping of RAFs
+        // 2G
+        public static final int GSM = RAF_GSM | RAF_GPRS | RAF_EDGE;
+        public static final int CDMA = RAF_IS95A | RAF_IS95B | RAF_1xRTT;
+        // 3G
+        public static final int EVDO = RAF_EVDO_0 | RAF_EVDO_A | RAF_EVDO_B | RAF_EHRPD;
+        public static final int HS = RAF_HSUPA | RAF_HSDPA | RAF_HSPA | RAF_HSPAP;
+        public static final int WCDMA = HS | RAF_UMTS;
+        // 4G
+        public static final int LTE = RAF_LTE | RAF_LTE_CA;
+
+        // 5G
+        public static final int NR = RAF_NR;
+
+    }
+}
diff --git a/src/com/android/settings/network/telephony/TelephonyTogglePreferenceController.java b/src/com/android/settings/network/telephony/TelephonyTogglePreferenceController.java
index 71efc57..fc30030 100644
--- a/src/com/android/settings/network/telephony/TelephonyTogglePreferenceController.java
+++ b/src/com/android/settings/network/telephony/TelephonyTogglePreferenceController.java
@@ -17,6 +17,8 @@
 package com.android.settings.network.telephony;
 
 import android.content.Context;
+import android.os.PersistableBundle;
+import android.telephony.CarrierConfigManager;
 import android.telephony.SubscriptionManager;
 
 import com.android.settings.core.TogglePreferenceController;
@@ -37,4 +39,20 @@
     public int getAvailabilityStatus() {
         return MobileNetworkUtils.getAvailability(mContext, mSubId, this::getAvailabilityStatus);
     }
+
+    /**
+     * Get carrier config based on specific subscription id.
+     *
+     * @param subId is the subscription id
+     * @return {@link PersistableBundle} of carrier config, or {@code null} when carrier config
+     * is not available.
+     */
+    public PersistableBundle getCarrierConfigForSubId(int subId) {
+        if (!SubscriptionManager.isValidSubscriptionId(subId)) {
+            return null;
+        }
+        final CarrierConfigManager carrierConfigMgr =
+                mContext.getSystemService(CarrierConfigManager.class);
+        return carrierConfigMgr.getConfigForSubId(subId);
+    }
 }
diff --git a/src/com/android/settings/network/telephony/VideoCallingPreferenceController.java b/src/com/android/settings/network/telephony/VideoCallingPreferenceController.java
index 1c78863..eed4046 100644
--- a/src/com/android/settings/network/telephony/VideoCallingPreferenceController.java
+++ b/src/com/android/settings/network/telephony/VideoCallingPreferenceController.java
@@ -17,23 +17,22 @@
 package com.android.settings.network.telephony;
 
 import android.content.Context;
-import android.database.ContentObserver;
-import android.net.Uri;
-import android.os.Handler;
-import android.os.Looper;
 import android.os.PersistableBundle;
-import android.provider.Settings;
 import android.telephony.CarrierConfigManager;
 import android.telephony.PhoneStateListener;
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
+import android.telephony.ims.ImsMmTelManager;
+import android.util.Log;
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 import androidx.preference.SwitchPreference;
 
-import com.android.ims.ImsManager;
+import com.android.settings.network.MobileDataEnabledListener;
+import com.android.settings.network.ims.VolteQueryImsState;
+import com.android.settings.network.ims.VtQueryImsState;
 import com.android.settingslib.core.lifecycle.LifecycleObserver;
 import com.android.settingslib.core.lifecycle.events.OnStart;
 import com.android.settingslib.core.lifecycle.events.OnStop;
@@ -43,27 +42,28 @@
  */
 public class VideoCallingPreferenceController extends TelephonyTogglePreferenceController implements
         LifecycleObserver, OnStart, OnStop,
-        Enhanced4gLtePreferenceController.On4gLteUpdateListener {
+        MobileDataEnabledListener.Client,
+        Enhanced4gBasePreferenceController.On4gLteUpdateListener {
+
+    private static final String TAG = "VideoCallingPreference";
 
     private Preference mPreference;
-    private TelephonyManager mTelephonyManager;
     private CarrierConfigManager mCarrierConfigManager;
-    @VisibleForTesting
-    ImsManager mImsManager;
     private PhoneCallStateListener mPhoneStateListener;
-    private DataContentObserver mDataContentObserver;
+    @VisibleForTesting
+    Integer mCallState;
+    private MobileDataEnabledListener mDataContentObserver;
 
     public VideoCallingPreferenceController(Context context, String key) {
         super(context, key);
         mCarrierConfigManager = context.getSystemService(CarrierConfigManager.class);
-        mDataContentObserver = new DataContentObserver(new Handler(Looper.getMainLooper()));
-        mPhoneStateListener = new PhoneCallStateListener(Looper.getMainLooper());
+        mDataContentObserver = new MobileDataEnabledListener(context, this);
+        mPhoneStateListener = new PhoneCallStateListener();
     }
 
     @Override
     public int getAvailabilityStatus(int subId) {
-        return subId != SubscriptionManager.INVALID_SUBSCRIPTION_ID
-                && MobileNetworkUtils.isWifiCallingEnabled(mContext, subId)
+        return SubscriptionManager.isValidSubscriptionId(subId)
                 && isVideoCallEnabled(subId)
                 ? AVAILABLE
                 : CONDITIONALLY_UNAVAILABLE;
@@ -77,71 +77,83 @@
 
     @Override
     public void onStart() {
-        mPhoneStateListener.register(mSubId);
-        mDataContentObserver.register(mContext, mSubId);
+        mPhoneStateListener.register(mContext, mSubId);
+        mDataContentObserver.start(mSubId);
     }
 
     @Override
     public void onStop() {
         mPhoneStateListener.unregister();
-        mDataContentObserver.unRegister(mContext);
+        mDataContentObserver.stop();
     }
 
     @Override
     public void updateState(Preference preference) {
         super.updateState(preference);
+        if (mCallState == null) {
+            return;
+        }
         final SwitchPreference switchPreference = (SwitchPreference) preference;
-        final boolean videoCallEnabled = isVideoCallEnabled(mSubId, mImsManager);
+        final boolean videoCallEnabled = isVideoCallEnabled(mSubId);
         switchPreference.setVisible(videoCallEnabled);
         if (videoCallEnabled) {
-            final boolean is4gLteEnabled = mImsManager.isEnhanced4gLteModeSettingEnabledByUser()
-                    && mImsManager.isNonTtyOrTtyOnVolteEnabled();
-            preference.setEnabled(is4gLteEnabled &&
-                    mTelephonyManager.getCallState(mSubId) == TelephonyManager.CALL_STATE_IDLE);
-            switchPreference.setChecked(is4gLteEnabled && mImsManager.isVtEnabledByUser());
+            final boolean videoCallEditable = queryVoLteState(mSubId).isEnabledByUser()
+                    && queryImsState(mSubId).isAllowUserControl();
+            preference.setEnabled(videoCallEditable
+                    && mCallState == TelephonyManager.CALL_STATE_IDLE);
+            switchPreference.setChecked(videoCallEditable && isChecked());
         }
     }
 
     @Override
     public boolean setChecked(boolean isChecked) {
-        mImsManager.setVtSetting(isChecked);
-        return true;
+        if (!SubscriptionManager.isValidSubscriptionId(mSubId)) {
+            return false;
+        }
+        final ImsMmTelManager imsMmTelManager = ImsMmTelManager.createForSubscriptionId(mSubId);
+        if (imsMmTelManager == null) {
+            return false;
+        }
+        try {
+            imsMmTelManager.setVtSettingEnabled(isChecked);
+            return true;
+        } catch (IllegalArgumentException exception) {
+            Log.w(TAG, "Unable to set VT status " + isChecked + ". subId=" + mSubId,
+                    exception);
+        }
+        return false;
     }
 
     @Override
     public boolean isChecked() {
-        return mImsManager.isVtEnabledByUser();
+        return queryImsState(mSubId).isEnabledByUser();
     }
 
     public VideoCallingPreferenceController init(int subId) {
         mSubId = subId;
-        mTelephonyManager = TelephonyManager.from(mContext).createForSubscriptionId(mSubId);
-        if (mSubId != SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
-            mImsManager = ImsManager.getInstance(mContext, SubscriptionManager.getPhoneId(mSubId));
-        }
 
         return this;
     }
 
-    private boolean isVideoCallEnabled(int subId) {
-        final ImsManager imsManager = subId != SubscriptionManager.INVALID_SUBSCRIPTION_ID
-                ? ImsManager.getInstance(mContext, SubscriptionManager.getPhoneId(subId))
-                : null;
-        return isVideoCallEnabled(subId, imsManager);
-    }
-
     @VisibleForTesting
-    boolean isVideoCallEnabled(int subId, ImsManager imsManager) {
+    boolean isVideoCallEnabled(int subId) {
+        if (!SubscriptionManager.isValidSubscriptionId(subId)) {
+            return false;
+        }
+
         final PersistableBundle carrierConfig = mCarrierConfigManager.getConfigForSubId(subId);
-        final TelephonyManager telephonyManager = TelephonyManager
-                .from(mContext).createForSubscriptionId(subId);
-        return carrierConfig != null && imsManager != null
-                && imsManager.isVtEnabledByPlatform()
-                && imsManager.isVtProvisionedOnDevice()
-                && MobileNetworkUtils.isImsServiceStateReady(imsManager)
-                && (carrierConfig.getBoolean(
+        if (carrierConfig == null) {
+            return false;
+        }
+
+        if (!carrierConfig.getBoolean(
                 CarrierConfigManager.KEY_IGNORE_DATA_ENABLED_CHANGED_FOR_VIDEO_CALLS)
-                || telephonyManager.isDataEnabled());
+                && (!mContext.getSystemService(TelephonyManager.class)
+                    .createForSubscriptionId(subId).isDataEnabled())) {
+            return false;
+        }
+
+        return queryImsState(subId).isReadyToVideoCall();
     }
 
     @Override
@@ -151,51 +163,46 @@
 
     private class PhoneCallStateListener extends PhoneStateListener {
 
-        public PhoneCallStateListener(Looper looper) {
-            super(looper);
+        PhoneCallStateListener() {
+            super();
         }
 
+        private TelephonyManager mTelephonyManager;
+
         @Override
         public void onCallStateChanged(int state, String incomingNumber) {
+            mCallState = state;
             updateState(mPreference);
         }
 
-        public void register(int subId) {
-            mSubId = subId;
+        public void register(Context context, int subId) {
+            mTelephonyManager = context.getSystemService(TelephonyManager.class);
+            if (SubscriptionManager.isValidSubscriptionId(subId)) {
+                mTelephonyManager = mTelephonyManager.createForSubscriptionId(subId);
+            }
             mTelephonyManager.listen(this, PhoneStateListener.LISTEN_CALL_STATE);
         }
 
         public void unregister() {
+            mCallState = null;
             mTelephonyManager.listen(this, PhoneStateListener.LISTEN_NONE);
         }
     }
 
     /**
-     * Listener that listens mobile data state change.
+     * Implementation of MobileDataEnabledListener.Client
      */
-    public class DataContentObserver extends ContentObserver {
+    public void onMobileDataEnabledChange() {
+        updateState(mPreference);
+    }
 
-        public DataContentObserver(Handler handler) {
-            super(handler);
-        }
+    @VisibleForTesting
+    VtQueryImsState queryImsState(int subId) {
+        return new VtQueryImsState(mContext, subId);
+    }
 
-        @Override
-        public void onChange(boolean selfChange) {
-            super.onChange(selfChange);
-            updateState(mPreference);
-        }
-
-        public void register(Context context, int subId) {
-            Uri uri = Settings.Global.getUriFor(Settings.Global.MOBILE_DATA);
-            if (TelephonyManager.getDefault().getSimCount() != 1) {
-                uri = Settings.Global.getUriFor(Settings.Global.MOBILE_DATA + subId);
-            }
-            context.getContentResolver().registerContentObserver(uri,
-                    false /* notifyForDescendants */, this /* observer */);
-        }
-
-        public void unRegister(Context context) {
-            context.getContentResolver().unregisterContentObserver(this);
-        }
+    @VisibleForTesting
+    VolteQueryImsState queryVoLteState(int subId) {
+        return new VolteQueryImsState(mContext, subId);
     }
 }
diff --git a/src/com/android/settings/network/telephony/WifiCallingPreferenceController.java b/src/com/android/settings/network/telephony/WifiCallingPreferenceController.java
index 5998483..e928dba 100644
--- a/src/com/android/settings/network/telephony/WifiCallingPreferenceController.java
+++ b/src/com/android/settings/network/telephony/WifiCallingPreferenceController.java
@@ -20,7 +20,6 @@
 import android.content.Intent;
 import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
-import android.os.Looper;
 import android.os.PersistableBundle;
 import android.provider.Settings;
 import android.telecom.PhoneAccountHandle;
@@ -29,14 +28,14 @@
 import android.telephony.PhoneStateListener;
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
+import android.telephony.ims.ImsMmTelManager;
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
-import com.android.ims.ImsConfig;
-import com.android.ims.ImsManager;
 import com.android.settings.R;
+import com.android.settings.network.ims.WifiCallingQueryImsState;
 import com.android.settingslib.core.lifecycle.LifecycleObserver;
 import com.android.settingslib.core.lifecycle.events.OnStart;
 import com.android.settingslib.core.lifecycle.events.OnStop;
@@ -49,14 +48,13 @@
 public class WifiCallingPreferenceController extends TelephonyBasePreferenceController implements
         LifecycleObserver, OnStart, OnStop {
 
-    @VisibleForTesting
-    static final String KEY_PREFERENCE_CATEGORY = "calling_category";
+    private static final String TAG = "WifiCallingPreference";
 
-    private TelephonyManager mTelephonyManager;
+    @VisibleForTesting
+    Integer mCallState;
     @VisibleForTesting
     CarrierConfigManager mCarrierConfigManager;
-    @VisibleForTesting
-    ImsManager mImsManager;
+    private ImsMmTelManager mImsMmTelManager;
     @VisibleForTesting
     PhoneAccountHandle mSimCallManager;
     private PhoneCallStateListener mPhoneStateListener;
@@ -65,21 +63,20 @@
     public WifiCallingPreferenceController(Context context, String key) {
         super(context, key);
         mCarrierConfigManager = context.getSystemService(CarrierConfigManager.class);
-        mTelephonyManager = context.getSystemService(TelephonyManager.class);
-        mPhoneStateListener = new PhoneCallStateListener(Looper.getMainLooper());
+        mPhoneStateListener = new PhoneCallStateListener();
     }
 
     @Override
     public int getAvailabilityStatus(int subId) {
-        return subId != SubscriptionManager.INVALID_SUBSCRIPTION_ID
-                && MobileNetworkUtils.isWifiCallingEnabled(mContext, subId)
+        return SubscriptionManager.isValidSubscriptionId(subId)
+                && isWifiCallingEnabled(mContext, subId)
                 ? AVAILABLE
                 : UNSUPPORTED_ON_DEVICE;
     }
 
     @Override
     public void onStart() {
-        mPhoneStateListener.register(mSubId);
+        mPhoneStateListener.register(mContext, mSubId);
     }
 
     @Override
@@ -91,99 +88,150 @@
     public void displayPreference(PreferenceScreen screen) {
         super.displayPreference(screen);
         mPreference = screen.findPreference(getPreferenceKey());
-        Intent intent = mPreference.getIntent();
+        final Intent intent = mPreference.getIntent();
         if (intent != null) {
             intent.putExtra(Settings.EXTRA_SUB_ID, mSubId);
         }
-        if (!isAvailable()) {
-            // Set category as invisible
-            final Preference preferenceCateogry = screen.findPreference(KEY_PREFERENCE_CATEGORY);
-            if (preferenceCateogry != null) {
-                preferenceCateogry.setVisible(false);
-            }
-        }
     }
 
     @Override
     public void updateState(Preference preference) {
         super.updateState(preference);
+        if (mCallState == null) {
+            return;
+        }
+        CharSequence summaryText = null;
         if (mSimCallManager != null) {
-            Intent intent = MobileNetworkUtils.buildPhoneAccountConfigureIntent(mContext,
+            final Intent intent = MobileNetworkUtils.buildPhoneAccountConfigureIntent(mContext,
                     mSimCallManager);
             if (intent == null) {
                 // Do nothing in this case since preference is invisible
                 return;
             }
             final PackageManager pm = mContext.getPackageManager();
-            List<ResolveInfo> resolutions = pm.queryIntentActivities(intent, 0);
+            final List<ResolveInfo> resolutions = pm.queryIntentActivities(intent, 0);
             preference.setTitle(resolutions.get(0).loadLabel(pm));
-            preference.setSummary(null);
             preference.setIntent(intent);
         } else {
             final String title = SubscriptionManager.getResourcesForSubId(mContext, mSubId)
                     .getString(R.string.wifi_calling_settings_title);
             preference.setTitle(title);
-            int resId = com.android.internal.R.string.wifi_calling_off_summary;
-            if (mImsManager.isWfcEnabledByUser()) {
-                boolean useWfcHomeModeForRoaming = false;
-                if (mCarrierConfigManager != null) {
-                    final PersistableBundle carrierConfig =
-                            mCarrierConfigManager.getConfigForSubId(mSubId);
-                    if (carrierConfig != null) {
-                        useWfcHomeModeForRoaming = carrierConfig.getBoolean(
-                                CarrierConfigManager
-                                        .KEY_USE_WFC_HOME_NETWORK_MODE_IN_ROAMING_NETWORK_BOOL);
-                    }
-                }
-                final boolean isRoaming = mTelephonyManager.isNetworkRoaming();
-                int wfcMode = mImsManager.getWfcMode(isRoaming && !useWfcHomeModeForRoaming);
-                switch (wfcMode) {
-                    case ImsConfig.WfcModeFeatureValueConstants.WIFI_ONLY:
-                        resId = com.android.internal.R.string.wfc_mode_wifi_only_summary;
-                        break;
-                    case ImsConfig.WfcModeFeatureValueConstants.CELLULAR_PREFERRED:
-                        resId = com.android.internal.R.string
-                                .wfc_mode_cellular_preferred_summary;
-                        break;
-                    case ImsConfig.WfcModeFeatureValueConstants.WIFI_PREFERRED:
-                        resId = com.android.internal.R.string.wfc_mode_wifi_preferred_summary;
-                        break;
-                    default:
-                        break;
-                }
-            }
-            preference.setSummary(resId);
+            summaryText = getResourceIdForWfcMode(mSubId);
         }
-        preference.setEnabled(
-                mTelephonyManager.getCallState(mSubId) == TelephonyManager.CALL_STATE_IDLE);
+        preference.setSummary(summaryText);
+        preference.setEnabled(mCallState == TelephonyManager.CALL_STATE_IDLE);
     }
 
-    public void init(int subId) {
+    private CharSequence getResourceIdForWfcMode(int subId) {
+        int resId = com.android.internal.R.string.wifi_calling_off_summary;
+        if (queryImsState(subId).isEnabledByUser()) {
+            boolean useWfcHomeModeForRoaming = false;
+            if (mCarrierConfigManager != null) {
+                final PersistableBundle carrierConfig =
+                        mCarrierConfigManager.getConfigForSubId(subId);
+                if (carrierConfig != null) {
+                    useWfcHomeModeForRoaming = carrierConfig.getBoolean(
+                            CarrierConfigManager
+                                    .KEY_USE_WFC_HOME_NETWORK_MODE_IN_ROAMING_NETWORK_BOOL);
+                }
+            }
+            final boolean isRoaming = getTelephonyManager(mContext, subId)
+                    .isNetworkRoaming();
+            final int wfcMode = (isRoaming && !useWfcHomeModeForRoaming)
+                    ? mImsMmTelManager.getVoWiFiRoamingModeSetting() :
+                    mImsMmTelManager.getVoWiFiModeSetting();
+            switch (wfcMode) {
+                case ImsMmTelManager.WIFI_MODE_WIFI_ONLY:
+                    resId = com.android.internal.R.string.wfc_mode_wifi_only_summary;
+                    break;
+                case ImsMmTelManager.WIFI_MODE_CELLULAR_PREFERRED:
+                    resId = com.android.internal.R.string
+                            .wfc_mode_cellular_preferred_summary;
+                    break;
+                case ImsMmTelManager.WIFI_MODE_WIFI_PREFERRED:
+                    resId = com.android.internal.R.string.wfc_mode_wifi_preferred_summary;
+                    break;
+                default:
+                    break;
+            }
+        }
+        return SubscriptionManager.getResourcesForSubId(mContext, subId).getText(resId);
+    }
+
+    public WifiCallingPreferenceController init(int subId) {
         mSubId = subId;
-        mTelephonyManager = TelephonyManager.from(mContext).createForSubscriptionId(mSubId);
-        mImsManager = ImsManager.getInstance(mContext, SubscriptionManager.getPhoneId(mSubId));
+        mImsMmTelManager = getImsMmTelManager(mSubId);
         mSimCallManager = mContext.getSystemService(TelecomManager.class)
                 .getSimCallManagerForSubscription(mSubId);
+
+        return this;
     }
 
+    @VisibleForTesting
+    WifiCallingQueryImsState queryImsState(int subId) {
+        return new WifiCallingQueryImsState(mContext, subId);
+    }
+
+    protected ImsMmTelManager getImsMmTelManager(int subId) {
+        if (!SubscriptionManager.isValidSubscriptionId(subId)) {
+            return null;
+        }
+        return ImsMmTelManager.createForSubscriptionId(subId);
+    }
+
+    @VisibleForTesting
+    TelephonyManager getTelephonyManager(Context context, int subId) {
+        final TelephonyManager telephonyMgr = context.getSystemService(TelephonyManager.class);
+        if (!SubscriptionManager.isValidSubscriptionId(subId)) {
+            return telephonyMgr;
+        }
+        final TelephonyManager subscriptionTelephonyMgr =
+                telephonyMgr.createForSubscriptionId(subId);
+        return (subscriptionTelephonyMgr == null) ? telephonyMgr : subscriptionTelephonyMgr;
+    }
+
+
     private class PhoneCallStateListener extends PhoneStateListener {
 
-        public PhoneCallStateListener(Looper looper) {
-            super(looper);
+        PhoneCallStateListener() {
+            super();
         }
 
+        private TelephonyManager mTelephonyManager;
+
         @Override
         public void onCallStateChanged(int state, String incomingNumber) {
+            mCallState = state;
             updateState(mPreference);
         }
 
-        public void register(int subId) {
-            mSubId = subId;
+        public void register(Context context, int subId) {
+            mTelephonyManager = getTelephonyManager(context, subId);
             mTelephonyManager.listen(this, PhoneStateListener.LISTEN_CALL_STATE);
         }
 
         public void unregister() {
+            mCallState = null;
             mTelephonyManager.listen(this, PhoneStateListener.LISTEN_NONE);
         }
     }
+
+    private boolean isWifiCallingEnabled(Context context, int subId) {
+        final PhoneAccountHandle simCallManager =
+                context.getSystemService(TelecomManager.class)
+                       .getSimCallManagerForSubscription(subId);
+        final int phoneId = SubscriptionManager.getSlotIndex(subId);
+
+        boolean isWifiCallingEnabled;
+        if (simCallManager != null) {
+            final Intent intent = MobileNetworkUtils.buildPhoneAccountConfigureIntent(
+                    context, simCallManager);
+
+            isWifiCallingEnabled = intent != null;
+        } else {
+            isWifiCallingEnabled = queryImsState(subId).isReadyToWifiCalling();
+        }
+
+        return isWifiCallingEnabled;
+    }
 }
diff --git a/src/com/android/settings/network/telephony/cdma/CdmaBasePreferenceController.java b/src/com/android/settings/network/telephony/cdma/CdmaBasePreferenceController.java
index ea7d82f..07805b0 100644
--- a/src/com/android/settings/network/telephony/cdma/CdmaBasePreferenceController.java
+++ b/src/com/android/settings/network/telephony/cdma/CdmaBasePreferenceController.java
@@ -73,7 +73,8 @@
     public void init(PreferenceManager preferenceManager, int subId) {
         mPreferenceManager = preferenceManager;
         mSubId = subId;
-        mTelephonyManager = TelephonyManager.from(mContext).createForSubscriptionId(mSubId);
+        mTelephonyManager = mContext.getSystemService(TelephonyManager.class)
+                .createForSubscriptionId(mSubId);
     }
 
     public void init(int subId) {
diff --git a/src/com/android/settings/network/telephony/cdma/CdmaListPreference.java b/src/com/android/settings/network/telephony/cdma/CdmaListPreference.java
index 14c7169..2cb1840 100644
--- a/src/com/android/settings/network/telephony/cdma/CdmaListPreference.java
+++ b/src/com/android/settings/network/telephony/cdma/CdmaListPreference.java
@@ -41,6 +41,7 @@
     }
 
     public void setSubId(int subId) {
-        mTelephonyManager = TelephonyManager.from(getContext()).createForSubscriptionId(subId);
+        mTelephonyManager = getContext().getSystemService(TelephonyManager.class)
+                .createForSubscriptionId(subId);
     }
 }
diff --git a/src/com/android/settings/network/telephony/cdma/CdmaSubscriptionPreferenceController.java b/src/com/android/settings/network/telephony/cdma/CdmaSubscriptionPreferenceController.java
index e6c1c22..e714fbe 100644
--- a/src/com/android/settings/network/telephony/cdma/CdmaSubscriptionPreferenceController.java
+++ b/src/com/android/settings/network/telephony/cdma/CdmaSubscriptionPreferenceController.java
@@ -19,13 +19,13 @@
 import android.content.Context;
 import android.os.SystemProperties;
 import android.provider.Settings;
+import android.telephony.TelephonyManager;
 import android.text.TextUtils;
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.ListPreference;
 import androidx.preference.Preference;
 
-import com.android.internal.telephony.Phone;
 import com.android.settings.network.telephony.MobileNetworkUtils;
 
 /**
@@ -56,8 +56,9 @@
         final ListPreference listPreference = (ListPreference) preference;
         listPreference.setVisible(getAvailabilityStatus() == AVAILABLE);
         final int mode = Settings.Global.getInt(mContext.getContentResolver(),
-                Settings.Global.CDMA_SUBSCRIPTION_MODE, Phone.PREFERRED_CDMA_SUBSCRIPTION);
-        if (mode != Phone.CDMA_SUBSCRIPTION_UNKNOWN) {
+                Settings.Global.CDMA_SUBSCRIPTION_MODE,
+                TelephonyManager.CDMA_SUBSCRIPTION_RUIM_SIM);
+        if (mode != TelephonyManager.CDMA_SUBSCRIPTION_UNKNOWN) {
             listPreference.setValue(Integer.toString(mode));
         }
     }
diff --git a/src/com/android/settings/network/telephony/cdma/CdmaSystemSelectPreferenceController.java b/src/com/android/settings/network/telephony/cdma/CdmaSystemSelectPreferenceController.java
index 5f259f8..023f89e 100644
--- a/src/com/android/settings/network/telephony/cdma/CdmaSystemSelectPreferenceController.java
+++ b/src/com/android/settings/network/telephony/cdma/CdmaSystemSelectPreferenceController.java
@@ -16,6 +16,9 @@
 
 package com.android.settings.network.telephony.cdma;
 
+import static com.android.settings.network.telephony.TelephonyConstants.TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA;
+import static com.android.settings.network.telephony.TelephonyConstants.TelephonyManagerConstants.NETWORK_MODE_NR_LTE_GSM_WCDMA;
+
 import android.content.Context;
 import android.provider.Settings;
 import android.telephony.TelephonyManager;
@@ -23,7 +26,7 @@
 import androidx.preference.ListPreference;
 import androidx.preference.Preference;
 
-import com.android.internal.telephony.Phone;
+import com.android.settings.network.telephony.TelephonyConstants.TelephonyManagerConstants;
 
 /**
  * Preference controller for "System Select"
@@ -52,9 +55,10 @@
         final int settingsNetworkMode = Settings.Global.getInt(
                 mContext.getContentResolver(),
                 Settings.Global.PREFERRED_NETWORK_MODE + mSubId,
-                Phone.PREFERRED_NT_MODE);
-        listPreference.setEnabled(
-                settingsNetworkMode != TelephonyManager.NETWORK_MODE_LTE_GSM_WCDMA);
+                TelephonyManager.DEFAULT_PREFERRED_NETWORK_MODE);
+        final boolean enableList = settingsNetworkMode != NETWORK_MODE_LTE_GSM_WCDMA
+                && settingsNetworkMode != NETWORK_MODE_NR_LTE_GSM_WCDMA;
+        listPreference.setEnabled(enableList);
     }
 
     @Override
diff --git a/src/com/android/settings/network/telephony/gsm/AutoSelectPreferenceController.java b/src/com/android/settings/network/telephony/gsm/AutoSelectPreferenceController.java
index 56d0b2d..626390a 100644
--- a/src/com/android/settings/network/telephony/gsm/AutoSelectPreferenceController.java
+++ b/src/com/android/settings/network/telephony/gsm/AutoSelectPreferenceController.java
@@ -144,7 +144,8 @@
 
     public AutoSelectPreferenceController init(int subId) {
         mSubId = subId;
-        mTelephonyManager = TelephonyManager.from(mContext).createForSubscriptionId(mSubId);
+        mTelephonyManager = mContext.getSystemService(TelephonyManager.class)
+                .createForSubscriptionId(mSubId);
         final PersistableBundle carrierConfig = mContext.getSystemService(
                 CarrierConfigManager.class).getConfigForSubId(mSubId);
         mOnlyAutoSelectInHome = carrierConfig != null
@@ -187,4 +188,4 @@
     public interface OnNetworkSelectModeListener {
         void onNetworkSelectModeChanged();
     }
-}
\ No newline at end of file
+}
diff --git a/src/com/android/settings/network/telephony/gsm/OpenNetworkSelectPagePreferenceController.java b/src/com/android/settings/network/telephony/gsm/OpenNetworkSelectPagePreferenceController.java
index d679373..8c3928d 100644
--- a/src/com/android/settings/network/telephony/gsm/OpenNetworkSelectPagePreferenceController.java
+++ b/src/com/android/settings/network/telephony/gsm/OpenNetworkSelectPagePreferenceController.java
@@ -29,7 +29,6 @@
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.R;
-import com.android.settings.core.BasePreferenceController;
 import com.android.settings.core.SubSettingLauncher;
 import com.android.settings.network.telephony.MobileNetworkUtils;
 import com.android.settings.network.telephony.NetworkSelectSettings;
@@ -100,7 +99,8 @@
 
     public OpenNetworkSelectPagePreferenceController init(int subId) {
         mSubId = subId;
-        mTelephonyManager = TelephonyManager.from(mContext).createForSubscriptionId(mSubId);
+        mTelephonyManager = mContext.getSystemService(TelephonyManager.class)
+                .createForSubscriptionId(mSubId);
         return this;
     }
 
diff --git a/src/com/android/settings/nfc/NfcPreferenceController.java b/src/com/android/settings/nfc/NfcPreferenceController.java
index 34e7e24..9bf013c 100644
--- a/src/com/android/settings/nfc/NfcPreferenceController.java
+++ b/src/com/android/settings/nfc/NfcPreferenceController.java
@@ -23,7 +23,7 @@
 import android.nfc.NfcAdapter;
 import android.provider.Settings;
 import android.util.Log;
-import androidx.annotation.VisibleForTesting;
+
 import androidx.preference.PreferenceScreen;
 import androidx.preference.SwitchPreference;
 
@@ -90,7 +90,7 @@
     }
 
     @Override
-    public boolean isSliceable() {
+    public boolean isPublicSlice() {
         return true;
     }
 
diff --git a/src/com/android/settings/nfc/OWNERS b/src/com/android/settings/nfc/OWNERS
index 2017826..2f73a10 100644
--- a/src/com/android/settings/nfc/OWNERS
+++ b/src/com/android/settings/nfc/OWNERS
@@ -1,5 +1,7 @@
 # Default reviewers for this and subdirectories.
-rmojumder@google.com
+alisher@google.com
+jackcwyu@google.com
+georgekgchang@google.com
 
 # Emergency approvers in case the above are not available
 zachoverflow@google.com
diff --git a/src/com/android/settings/nfc/PaymentSettings.java b/src/com/android/settings/nfc/PaymentSettings.java
index 5742d1a..bbe5f29 100644
--- a/src/com/android/settings/nfc/PaymentSettings.java
+++ b/src/com/android/settings/nfc/PaymentSettings.java
@@ -24,21 +24,21 @@
 import android.os.Bundle;
 import android.os.UserHandle;
 import android.os.UserManager;
-import android.provider.SearchIndexableResource;
 import android.view.Menu;
 import android.view.MenuInflater;
 import android.view.MenuItem;
 import android.view.View;
 import android.view.ViewGroup;
 
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
 import com.android.settings.R;
 import com.android.settings.dashboard.DashboardFragment;
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settingslib.search.SearchIndexable;
 
-import java.util.Arrays;
-import java.util.List;
-
 
 @SearchIndexable
 public class PaymentSettings extends DashboardFragment {
@@ -74,11 +74,11 @@
     @Override
     public void onViewCreated(View view, Bundle savedInstanceState) {
         super.onViewCreated(view, savedInstanceState);
-        ViewGroup contentRoot = (ViewGroup) getListView().getParent();
-        View emptyView = getActivity().getLayoutInflater().inflate(
-                R.layout.nfc_payment_empty, contentRoot, false);
-        contentRoot.addView(emptyView);
-        setEmptyView(emptyView);
+        if (isShowEmptyImage(getPreferenceScreen())) {
+            View emptyView = getActivity().getLayoutInflater().inflate(
+                    R.layout.nfc_payment_empty, null, false);
+            ((ViewGroup) view.findViewById(android.R.id.list_container)).addView(emptyView);
+        }
     }
 
     @Override
@@ -102,15 +102,19 @@
         menuItem.setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_NEVER);
     }
 
-    public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
-                        boolean enabled) {
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.nfc_payment_settings;
-                    return Arrays.asList(sir);
-                }
+    @VisibleForTesting
+    boolean isShowEmptyImage(PreferenceScreen screen) {
+        for (int i = 0; i < screen.getPreferenceCount(); i++) {
+            final Preference preference = screen.getPreference(i);
+            if(preference.isVisible()) {
+                return false;
+            }
+        }
+        return true;
+    }
+
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.nfc_payment_settings) {
 
                 @Override
                 protected boolean isPageSearchEnabled(Context context) {
diff --git a/src/com/android/settings/nfc/SecureNfcPreferenceController.java b/src/com/android/settings/nfc/SecureNfcPreferenceController.java
index 12dbd57..4e548d1 100644
--- a/src/com/android/settings/nfc/SecureNfcPreferenceController.java
+++ b/src/com/android/settings/nfc/SecureNfcPreferenceController.java
@@ -77,7 +77,7 @@
     }
 
     @Override
-    public boolean isSliceable() {
+    public boolean isPublicSlice() {
         return true;
     }
 
diff --git a/src/com/android/settings/notification/AbstractZenCustomRulePreferenceController.java b/src/com/android/settings/notification/AbstractZenCustomRulePreferenceController.java
deleted file mode 100644
index 409eec6..0000000
--- a/src/com/android/settings/notification/AbstractZenCustomRulePreferenceController.java
+++ /dev/null
@@ -1,61 +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.notification;
-
-import android.app.AutomaticZenRule;
-import android.content.Context;
-import android.os.Bundle;
-
-import androidx.preference.Preference;
-
-import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-abstract class AbstractZenCustomRulePreferenceController extends
-        AbstractZenModePreferenceController implements PreferenceControllerMixin {
-
-    String mId;
-    AutomaticZenRule mRule;
-
-    AbstractZenCustomRulePreferenceController(Context context, String key,
-            Lifecycle lifecycle) {
-        super(context, key, lifecycle);
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        if (mId != null) {
-            mRule = mBackend.getAutomaticZenRule(mId);
-        }
-    }
-
-    @Override
-    public boolean isAvailable() {
-        return mRule != null;
-    }
-
-    public void onResume(AutomaticZenRule rule, String id) {
-        mId = id;
-        mRule = rule;
-    }
-
-    Bundle createBundle() {
-        Bundle bundle = new Bundle();
-        bundle.putString(ZenCustomRuleSettings.RULE_ID, mId);
-        return bundle;
-    }
-}
diff --git a/src/com/android/settings/notification/AbstractZenModeAutomaticRulePreferenceController.java b/src/com/android/settings/notification/AbstractZenModeAutomaticRulePreferenceController.java
deleted file mode 100644
index f7b3222..0000000
--- a/src/com/android/settings/notification/AbstractZenModeAutomaticRulePreferenceController.java
+++ /dev/null
@@ -1,158 +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 android.app.AutomaticZenRule;
-import android.app.NotificationManager;
-import android.app.settings.SettingsEnums;
-import android.content.ComponentName;
-import android.content.Context;
-import android.content.Intent;
-import android.content.pm.ActivityInfo;
-import android.content.pm.ComponentInfo;
-import android.content.pm.PackageManager;
-import android.content.pm.ServiceInfo;
-import android.provider.Settings;
-import android.service.notification.ConditionProviderService;
-
-import androidx.fragment.app.Fragment;
-import androidx.preference.Preference;
-
-import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-import java.util.Map;
-
-abstract public class AbstractZenModeAutomaticRulePreferenceController extends
-        AbstractZenModePreferenceController implements PreferenceControllerMixin {
-
-    protected ZenModeBackend mBackend;
-    protected Fragment mParent;
-    protected Map.Entry<String, AutomaticZenRule>[] mRules;
-    protected PackageManager mPm;
-
-    public AbstractZenModeAutomaticRulePreferenceController(Context context, String key, Fragment
-            parent, Lifecycle lifecycle) {
-        super(context, key, lifecycle);
-        mBackend = ZenModeBackend.getInstance(context);
-        mPm = mContext.getPackageManager();
-        mParent = parent;
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        super.updateState(preference);
-        mRules = mBackend.getAutomaticZenRules();
-    }
-
-    protected Map.Entry<String, AutomaticZenRule>[] getRules() {
-        if (mRules == null) {
-            mRules = mBackend.getAutomaticZenRules();
-        }
-        return mRules;
-    }
-
-    protected void showNameRuleDialog(final ZenRuleInfo ri, Fragment parent) {
-        ZenRuleNameDialog.show(parent, null, ri.defaultConditionId, new
-                RuleNameChangeListener(ri));
-    }
-
-    protected static Intent getRuleIntent(String settingsAction,
-            ComponentName configurationActivity, String ruleId) {
-        final Intent intent = new Intent()
-                .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
-                .putExtra(ConditionProviderService.EXTRA_RULE_ID, ruleId);
-        if (configurationActivity != null) {
-            intent.setComponent(configurationActivity);
-        } else {
-            intent.setAction(settingsAction);
-        }
-        return intent;
-    }
-
-    public static ZenRuleInfo getRuleInfo(PackageManager pm, ComponentInfo ci) {
-        if (ci == null || ci.metaData == null) {
-            return null;
-        }
-        final String ruleType = (ci instanceof ServiceInfo)
-                ? ci.metaData.getString(ConditionProviderService.META_DATA_RULE_TYPE)
-                : ci.metaData.getString(NotificationManager.META_DATA_AUTOMATIC_RULE_TYPE);
-
-        final ComponentName configurationActivity = getSettingsActivity(null, ci);
-        if (ruleType != null && !ruleType.trim().isEmpty() && configurationActivity != null) {
-            final ZenRuleInfo ri = new ZenRuleInfo();
-            ri.serviceComponent =
-                    (ci instanceof ServiceInfo) ? new ComponentName(ci.packageName, ci.name) : null;
-            ri.settingsAction = Settings.ACTION_ZEN_MODE_EXTERNAL_RULE_SETTINGS;
-            ri.title = ruleType;
-            ri.packageName = ci.packageName;
-            ri.configurationActivity = configurationActivity;
-            ri.packageLabel = ci.applicationInfo.loadLabel(pm);
-            ri.ruleInstanceLimit = (ci instanceof ServiceInfo)
-                    ? ci.metaData.getInt(ConditionProviderService.META_DATA_RULE_INSTANCE_LIMIT, -1)
-                    : ci.metaData.getInt(NotificationManager.META_DATA_RULE_INSTANCE_LIMIT, -1);
-            return ri;
-        }
-        return null;
-    }
-
-    protected static ComponentName getSettingsActivity(AutomaticZenRule rule, ComponentInfo ci) {
-        // prefer config activity on the rule itself; fallback to manifest definition
-        if (rule != null && rule.getConfigurationActivity() != null) {
-            return rule.getConfigurationActivity();
-        }
-        if (ci == null) {
-            return null;
-        }
-        // new activity backed rule
-        if (ci instanceof ActivityInfo) {
-            return new ComponentName(ci.packageName, ci.name);
-        }
-        // old service backed rule
-        if (ci.metaData != null) {
-            final String configurationActivity = ci.metaData.getString(
-                    ConditionProviderService.META_DATA_CONFIGURATION_ACTIVITY);
-            if (configurationActivity != null) {
-                return ComponentName.unflattenFromString(configurationActivity);
-            }
-        }
-
-        return null;
-    }
-
-    public class RuleNameChangeListener implements ZenRuleNameDialog.PositiveClickListener {
-        ZenRuleInfo mRuleInfo;
-
-        public RuleNameChangeListener(ZenRuleInfo ruleInfo) {
-            mRuleInfo = ruleInfo;
-        }
-
-        @Override
-        public void onOk(String ruleName, Fragment parent) {
-            mMetricsFeatureProvider.action(mContext,
-                    SettingsEnums.ACTION_ZEN_MODE_RULE_NAME_CHANGE_OK);
-            AutomaticZenRule rule = new AutomaticZenRule(ruleName, mRuleInfo.serviceComponent,
-                    mRuleInfo.configurationActivity, mRuleInfo.defaultConditionId, null,
-                    NotificationManager.INTERRUPTION_FILTER_PRIORITY, true);
-            String savedRuleId = mBackend.addZenRule(rule);
-            if (savedRuleId != null) {
-                parent.startActivity(getRuleIntent(mRuleInfo.settingsAction, null,
-                        savedRuleId));
-            }
-        }
-    }
-}
diff --git a/src/com/android/settings/notification/AbstractZenModePreferenceController.java b/src/com/android/settings/notification/AbstractZenModePreferenceController.java
deleted file mode 100644
index 0e45e58..0000000
--- a/src/com/android/settings/notification/AbstractZenModePreferenceController.java
+++ /dev/null
@@ -1,226 +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 android.app.ActivityManager;
-import android.app.AlarmManager;
-import android.app.AlarmManager.AlarmClockInfo;
-import android.app.NotificationManager;
-import android.content.ContentResolver;
-import android.content.Context;
-import android.database.ContentObserver;
-import android.net.Uri;
-import android.os.Handler;
-import android.os.UserHandle;
-import android.provider.Settings;
-import android.service.notification.ScheduleCalendar;
-import android.service.notification.ZenModeConfig;
-
-import androidx.annotation.VisibleForTesting;
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settings.overlay.FeatureFactory;
-import com.android.settingslib.core.AbstractPreferenceController;
-import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-import com.android.settingslib.core.lifecycle.LifecycleObserver;
-import com.android.settingslib.core.lifecycle.events.OnPause;
-import com.android.settingslib.core.lifecycle.events.OnResume;
-
-abstract public class AbstractZenModePreferenceController extends
-        AbstractPreferenceController implements PreferenceControllerMixin, LifecycleObserver,
-        OnResume, OnPause {
-
-    @VisibleForTesting
-    protected SettingObserver mSettingObserver;
-
-    final String KEY;
-    final private NotificationManager mNotificationManager;
-    protected static ZenModeConfigWrapper mZenModeConfigWrapper;
-    protected MetricsFeatureProvider mMetricsFeatureProvider;
-    protected final ZenModeBackend mBackend;
-    protected PreferenceScreen mScreen;
-
-    public AbstractZenModePreferenceController(Context context, String key,
-            Lifecycle lifecycle) {
-        super(context);
-        mZenModeConfigWrapper = new ZenModeConfigWrapper(context);
-        if (lifecycle != null) {
-            lifecycle.addObserver(this);
-        }
-        KEY = key;
-        mNotificationManager = (NotificationManager) context.getSystemService(
-                Context.NOTIFICATION_SERVICE);
-
-        final FeatureFactory featureFactory = FeatureFactory.getFactory(mContext);
-        mMetricsFeatureProvider = featureFactory.getMetricsFeatureProvider();
-        mBackend = ZenModeBackend.getInstance(context);
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return KEY;
-    }
-
-    @Override
-    public void displayPreference(PreferenceScreen screen) {
-        super.displayPreference(screen);
-        mScreen = screen;
-        Preference pref = screen.findPreference(KEY);
-        if (pref != null) {
-            mSettingObserver = new SettingObserver(pref);
-        }
-    }
-
-    @Override
-    public void onResume() {
-        if (mSettingObserver != null) {
-            mSettingObserver.register(mContext.getContentResolver());
-            mSettingObserver.onChange(false, null);
-        }
-    }
-
-    @Override
-    public void onPause() {
-        if (mSettingObserver != null) {
-            mSettingObserver.unregister(mContext.getContentResolver());
-        }
-    }
-
-    protected NotificationManager.Policy getPolicy() {
-        return mNotificationManager.getNotificationPolicy();
-    }
-
-    protected ZenModeConfig getZenModeConfig() {
-        return mNotificationManager.getZenModeConfig();
-    }
-
-    protected int getZenMode() {
-        return Settings.Global.getInt(mContext.getContentResolver(), Settings.Global.ZEN_MODE,
-                mBackend.mZenMode);
-    }
-
-    protected int getZenDuration() {
-        return Settings.Secure.getInt(mContext.getContentResolver(), Settings.Secure.ZEN_DURATION,
-                0);
-    }
-
-    class SettingObserver extends ContentObserver {
-        private final Uri ZEN_MODE_URI = Settings.Global.getUriFor(Settings.Global.ZEN_MODE);
-        private final Uri ZEN_MODE_CONFIG_ETAG_URI = Settings.Global.getUriFor(
-                Settings.Global.ZEN_MODE_CONFIG_ETAG);
-        private final Uri ZEN_MODE_DURATION_URI = Settings.Secure.getUriFor(
-                Settings.Secure.ZEN_DURATION);
-
-        private final Preference mPreference;
-
-        public SettingObserver(Preference preference) {
-            super(new Handler());
-            mPreference = preference;
-        }
-
-        public void register(ContentResolver cr) {
-            cr.registerContentObserver(ZEN_MODE_URI, false, this, UserHandle.USER_ALL);
-            cr.registerContentObserver(ZEN_MODE_CONFIG_ETAG_URI, false, this, UserHandle.USER_ALL);
-            cr.registerContentObserver(ZEN_MODE_DURATION_URI, false, this, UserHandle.USER_ALL);
-        }
-
-        public void unregister(ContentResolver cr) {
-            cr.unregisterContentObserver(this);
-        }
-
-        @Override
-        public void onChange(boolean selfChange, Uri uri) {
-            super.onChange(selfChange, uri);
-            if (uri == null || ZEN_MODE_URI.equals(uri) || ZEN_MODE_CONFIG_ETAG_URI.equals(uri)
-                    || ZEN_MODE_DURATION_URI.equals(uri)) {
-                mBackend.updatePolicy();
-                mBackend.updateZenMode();
-                if (mScreen != null) {
-                    displayPreference(mScreen);
-                }
-                updateState(mPreference);
-            }
-        }
-    }
-
-    /**
-     * Wrapper for testing compatibility
-     */
-    @VisibleForTesting
-    static class ZenModeConfigWrapper {
-        private final Context mContext;
-
-        public ZenModeConfigWrapper(Context context) {
-            mContext = context;
-        }
-
-        protected String getOwnerCaption(String owner) {
-            return ZenModeConfig.getOwnerCaption(mContext, owner);
-        }
-
-        protected boolean isTimeRule(Uri id) {
-            return ZenModeConfig.isValidEventConditionId(id) ||
-                    ZenModeConfig.isValidScheduleConditionId(id);
-        }
-
-        protected CharSequence getFormattedTime(long time, int userHandle) {
-            return ZenModeConfig.getFormattedTime(mContext, time, isToday(time), userHandle);
-        }
-
-        private boolean isToday(long time) {
-            return ZenModeConfig.isToday(time);
-        }
-
-        protected long parseManualRuleTime(Uri id) {
-            return ZenModeConfig.tryParseCountdownConditionId(id);
-        }
-
-        protected long parseAutomaticRuleEndTime(Uri id) {
-            if (ZenModeConfig.isValidEventConditionId(id)) {
-                // cannot look up end times for events
-                return Long.MAX_VALUE;
-            }
-
-            if (ZenModeConfig.isValidScheduleConditionId(id)) {
-                ScheduleCalendar schedule = ZenModeConfig.toScheduleCalendar(id);
-                long endTimeMs = schedule.getNextChangeTime(System.currentTimeMillis());
-
-                // check if automatic rule will end on next alarm
-                if (schedule.exitAtAlarm()) {
-                    long nextAlarm = getNextAlarm(mContext);
-                    schedule.maybeSetNextAlarm(System.currentTimeMillis(), nextAlarm);
-                    if (schedule.shouldExitForAlarm(endTimeMs)) {
-                        return nextAlarm;
-                    }
-                }
-
-                return endTimeMs;
-            }
-
-            return -1;
-        }
-    }
-
-    private static long getNextAlarm(Context context) {
-        final AlarmManager alarms = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
-        final AlarmClockInfo info = alarms.getNextAlarmClock(ActivityManager.getCurrentUser());
-        return info != null ? info.getTriggerTime() : 0;
-    }
-}
diff --git a/src/com/android/settings/notification/AlarmVolumePreferenceController.java b/src/com/android/settings/notification/AlarmVolumePreferenceController.java
index d6a4110..15657f1 100644
--- a/src/com/android/settings/notification/AlarmVolumePreferenceController.java
+++ b/src/com/android/settings/notification/AlarmVolumePreferenceController.java
@@ -42,6 +42,11 @@
     }
 
     @Override
+    public boolean isPublicSlice() {
+        return true;
+    }
+
+    @Override
     public boolean useDynamicSliceSummary() {
         return true;
     }
diff --git a/src/com/android/settings/notification/AllowSoundPreferenceController.java b/src/com/android/settings/notification/AllowSoundPreferenceController.java
deleted file mode 100644
index 7862f4b..0000000
--- a/src/com/android/settings/notification/AllowSoundPreferenceController.java
+++ /dev/null
@@ -1,83 +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 android.app.NotificationManager.IMPORTANCE_LOW;
-import static android.app.NotificationManager.IMPORTANCE_UNSPECIFIED;
-
-import android.app.NotificationChannel;
-import android.content.Context;
-import android.util.Log;
-
-import androidx.preference.Preference;
-
-import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settingslib.RestrictedSwitchPreference;
-
-public class AllowSoundPreferenceController extends NotificationPreferenceController
-        implements PreferenceControllerMixin, Preference.OnPreferenceChangeListener {
-
-    private static final String TAG = "AllowSoundPrefContr";
-    private static final String KEY_IMPORTANCE = "allow_sound";
-    private NotificationSettingsBase.ImportanceListener mImportanceListener;
-
-    public AllowSoundPreferenceController(Context context,
-            NotificationSettingsBase.ImportanceListener importanceListener,
-            NotificationBackend backend) {
-        super(context, backend);
-        mImportanceListener = importanceListener;
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return KEY_IMPORTANCE;
-    }
-
-    @Override
-    public boolean isAvailable() {
-        if (!super.isAvailable()) {
-            return false;
-        }
-        return mChannel != null && NotificationChannel.DEFAULT_CHANNEL_ID.equals(mChannel.getId());
-
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        if (mChannel != null) {
-            RestrictedSwitchPreference pref = (RestrictedSwitchPreference) preference;
-            pref.setDisabledByAdmin(mAdmin);
-            pref.setEnabled(!pref.isDisabledByAdmin());
-            pref.setChecked(mChannel.getImportance() >= IMPORTANCE_DEFAULT
-                    || mChannel.getImportance() == IMPORTANCE_UNSPECIFIED);
-        } else { Log.i(TAG, "tried to updatestate on a null channel?!"); }
-    }
-
-    @Override
-    public boolean onPreferenceChange(Preference preference, Object newValue) {
-        if (mChannel != null) {
-            final int importance =
-                    ((Boolean) newValue ? IMPORTANCE_UNSPECIFIED : IMPORTANCE_LOW);
-            mChannel.setImportance(importance);
-            mChannel.lockFields(NotificationChannel.USER_LOCKED_IMPORTANCE);
-            saveChannel();
-            mImportanceListener.onImportanceChanged();
-        }
-        return true;
-    }
-}
diff --git a/src/com/android/settings/notification/AppBubbleNotificationSettings.java b/src/com/android/settings/notification/AppBubbleNotificationSettings.java
deleted file mode 100644
index 2517573..0000000
--- a/src/com/android/settings/notification/AppBubbleNotificationSettings.java
+++ /dev/null
@@ -1,117 +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.notification;
-
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.text.TextUtils;
-import android.util.Log;
-
-import com.android.settings.R;
-import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
-import com.android.settingslib.core.AbstractPreferenceController;
-import com.android.settingslib.search.SearchIndexable;
-
-import java.util.ArrayList;
-import java.util.List;
-
-@SearchIndexable
-public class AppBubbleNotificationSettings extends NotificationSettingsBase implements
-        GlobalBubblePermissionObserverMixin.Listener {
-    private static final String TAG = "AppBubNotiSettings";
-    private GlobalBubblePermissionObserverMixin mObserverMixin;
-
-    @Override
-    public int getMetricsCategory() {
-        return SettingsEnums.APP_BUBBLE_SETTINGS;
-    }
-
-    @Override
-    protected String getLogTag() {
-        return TAG;
-    }
-
-    @Override
-    protected int getPreferenceScreenResId() {
-        return R.xml.app_bubble_notification_settings;
-    }
-
-    @Override
-    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
-        mControllers = getPreferenceControllers(context, this);
-        return new ArrayList<>(mControllers);
-    }
-
-    protected static List<NotificationPreferenceController> getPreferenceControllers(
-            Context context, AppBubbleNotificationSettings fragment) {
-        List<NotificationPreferenceController> controllers = new ArrayList<>();
-        controllers.add(new HeaderPreferenceController(context, fragment));
-        controllers.add(new BubblePreferenceController(context, fragment != null
-                ? fragment.getChildFragmentManager()
-                : null,
-                new NotificationBackend(), true /* isAppPage */));
-        return controllers;
-    }
-
-    @Override
-    public void onGlobalBubblePermissionChanged() {
-        updatePreferenceStates();
-    }
-
-    @Override
-    public void onResume() {
-        super.onResume();
-
-        if (mUid < 0 || TextUtils.isEmpty(mPkg) || mPkgInfo == null) {
-            Log.w(TAG, "Missing package or uid or packageinfo");
-            finish();
-            return;
-        }
-
-        for (NotificationPreferenceController controller : mControllers) {
-            controller.onResume(mAppRow, mChannel, mChannelGroup, mSuspendedAppsAdmin);
-            controller.displayPreference(getPreferenceScreen());
-        }
-        updatePreferenceStates();
-
-        mObserverMixin = new GlobalBubblePermissionObserverMixin(getContext(), this);
-        mObserverMixin.onStart();
-    }
-
-    @Override
-    public void onPause() {
-        mObserverMixin.onStop();
-        super.onPause();
-    }
-
-    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-
-                @Override
-                protected boolean isPageSearchEnabled(Context context) {
-                    return false;
-                }
-
-                @Override
-                public List<AbstractPreferenceController> createPreferenceControllers(Context
-                        context) {
-                    return new ArrayList<>(AppBubbleNotificationSettings.getPreferenceControllers(
-                            context, null));
-                }
-            };
-}
diff --git a/src/com/android/settings/notification/AppLinkPreferenceController.java b/src/com/android/settings/notification/AppLinkPreferenceController.java
deleted file mode 100644
index c696e8e..0000000
--- a/src/com/android/settings/notification/AppLinkPreferenceController.java
+++ /dev/null
@@ -1,56 +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 android.content.Context;
-
-import androidx.preference.Preference;
-
-import com.android.settings.core.PreferenceControllerMixin;
-
-/**
- * Controls link to reach more preference settings inside the app.
- */
-public class AppLinkPreferenceController extends NotificationPreferenceController
-        implements PreferenceControllerMixin {
-
-    private static final String TAG = "AppLinkPrefContr";
-    private static final String KEY_APP_LINK = "app_link";
-
-    public AppLinkPreferenceController(Context context) {
-        super(context, null);
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return KEY_APP_LINK;
-    }
-
-    @Override
-    public boolean isAvailable() {
-        if (!super.isAvailable()) {
-            return false;
-        }
-        return mAppRow.settingsIntent != null;
-    }
-
-    public void updateState(Preference preference) {
-        if (mAppRow != null) {
-            preference.setIntent(mAppRow.settingsIntent);
-        }
-    }
-}
diff --git a/src/com/android/settings/notification/AppNotificationSettings.java b/src/com/android/settings/notification/AppNotificationSettings.java
deleted file mode 100644
index dc06f47..0000000
--- a/src/com/android/settings/notification/AppNotificationSettings.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.notification;
-
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.os.Bundle;
-import android.text.TextUtils;
-import android.util.Log;
-
-import com.android.internal.widget.LockPatternUtils;
-import com.android.settings.R;
-import com.android.settingslib.core.AbstractPreferenceController;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import androidx.preference.Preference;
-import androidx.preference.PreferenceGroup;
-import androidx.preference.PreferenceScreen;
-
-/** These settings are per app, so should not be returned in global search results. */
-public class AppNotificationSettings extends NotificationSettingsBase {
-    private static final String TAG = "AppNotificationSettings";
-    private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
-
-    private static String KEY_ADVANCED_CATEGORY = "app_advanced";
-    private static String KEY_BADGE = "badge";
-    private static String KEY_APP_LINK = "app_link";
-    private static String KEY_BUBBLE = "bubble_link_pref";
-    private static String[] LEGACY_NON_ADVANCED_KEYS = {KEY_BADGE, KEY_APP_LINK, KEY_BUBBLE};
-
-    @Override
-    public int getMetricsCategory() {
-        return SettingsEnums.NOTIFICATION_APP_NOTIFICATION;
-    }
-
-    @Override
-    public void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        final PreferenceScreen screen = getPreferenceScreen();
-        if (mShowLegacyChannelConfig && screen != null) {
-            // if showing legacy settings, pull advanced settings out of the advanced category
-            PreferenceGroup advanced = (PreferenceGroup) findPreference(KEY_ADVANCED_CATEGORY);
-            removePreference(KEY_ADVANCED_CATEGORY);
-            if (advanced != null) {
-                for (String key : LEGACY_NON_ADVANCED_KEYS) {
-                    Preference pref = advanced.findPreference(key);
-                    advanced.removePreference(pref);
-                    if (pref != null) {
-                        screen.addPreference(pref);
-                    }
-                }
-            }
-        }
-    }
-
-    @Override
-    public void onResume() {
-        super.onResume();
-
-        if (mUid < 0 || TextUtils.isEmpty(mPkg) || mPkgInfo == null) {
-            Log.w(TAG, "Missing package or uid or packageinfo");
-            finish();
-            return;
-        }
-
-        for (NotificationPreferenceController controller : mControllers) {
-            controller.onResume(mAppRow, mChannel, mChannelGroup, mSuspendedAppsAdmin);
-            controller.displayPreference(getPreferenceScreen());
-        }
-        updatePreferenceStates();
-    }
-
-    @Override
-    protected String getLogTag() {
-        return TAG;
-    }
-
-    @Override
-    protected int getPreferenceScreenResId() {
-        return R.xml.app_notification_settings;
-    }
-
-    @Override
-    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
-        mControllers = new ArrayList<>();
-        mControllers.add(new HeaderPreferenceController(context, this));
-        mControllers.add(new BlockPreferenceController(context, mImportanceListener, mBackend));
-        mControllers.add(new BadgePreferenceController(context, mBackend));
-        mControllers.add(new AllowSoundPreferenceController(
-                context, mImportanceListener, mBackend));
-        mControllers.add(new ImportancePreferenceController(
-                context, mImportanceListener, mBackend));
-        mControllers.add(new MinImportancePreferenceController(
-                context, mImportanceListener, mBackend));
-        mControllers.add(new HighImportancePreferenceController(
-                context, mImportanceListener, mBackend));
-        mControllers.add(new SoundPreferenceController(context, this,
-                mImportanceListener, mBackend));
-        mControllers.add(new LightsPreferenceController(context, mBackend));
-        mControllers.add(new VibrationPreferenceController(context, mBackend));
-        mControllers.add(new VisibilityPreferenceController(context, new LockPatternUtils(context),
-                mBackend));
-        mControllers.add(new DndPreferenceController(context, mBackend));
-        mControllers.add(new AppLinkPreferenceController(context));
-        mControllers.add(new DescriptionPreferenceController(context));
-        mControllers.add(new NotificationsOffPreferenceController(context));
-        mControllers.add(new DeletedChannelsPreferenceController(context, mBackend));
-        mControllers.add(new BubbleSummaryPreferenceController(context, mBackend));
-        mControllers.add(new ChannelListPreferenceController(context, mBackend));
-        return new ArrayList<>(mControllers);
-    }
-}
diff --git a/src/com/android/settings/notification/AssistantCapabilityPreferenceController.java b/src/com/android/settings/notification/AssistantCapabilityPreferenceController.java
index 812bc65..3c6f17f 100644
--- a/src/com/android/settings/notification/AssistantCapabilityPreferenceController.java
+++ b/src/com/android/settings/notification/AssistantCapabilityPreferenceController.java
@@ -28,6 +28,7 @@
 public class AssistantCapabilityPreferenceController extends TogglePreferenceController {
 
     static final String PRIORITIZER_KEY = "asst_capability_prioritizer";
+    static final String RANKING_KEY = "asst_capability_ranking";
     static final String SMART_KEY = "asst_capabilities_actions_replies";
     private NotificationBackend mBackend;
 
@@ -45,7 +46,9 @@
     public boolean isChecked() {
         List<String> capabilities = mBackend.getAssistantAdjustments(mContext.getPackageName());
         if (PRIORITIZER_KEY.equals(getPreferenceKey())) {
-           return capabilities.contains(Adjustment.KEY_IMPORTANCE);
+            return capabilities.contains(Adjustment.KEY_IMPORTANCE);
+        } else if (RANKING_KEY.equals(getPreferenceKey())) {
+            return capabilities.contains(Adjustment.KEY_RANKING_SCORE);
         } else if (SMART_KEY.equals(getPreferenceKey())) {
             return capabilities.contains(Adjustment.KEY_CONTEXTUAL_ACTIONS)
                     && capabilities.contains(Adjustment.KEY_TEXT_REPLIES);
@@ -57,6 +60,8 @@
     public boolean setChecked(boolean isChecked) {
         if (PRIORITIZER_KEY.equals(getPreferenceKey())) {
             mBackend.allowAssistantAdjustment(Adjustment.KEY_IMPORTANCE, isChecked);
+        } else if (RANKING_KEY.equals(getPreferenceKey())) {
+            mBackend.allowAssistantAdjustment(Adjustment.KEY_RANKING_SCORE, isChecked);
         } else if (SMART_KEY.equals(getPreferenceKey())) {
             mBackend.allowAssistantAdjustment(Adjustment.KEY_CONTEXTUAL_ACTIONS, isChecked);
             mBackend.allowAssistantAdjustment(Adjustment.KEY_TEXT_REPLIES, isChecked);
diff --git a/src/com/android/settings/notification/BadgePreferenceController.java b/src/com/android/settings/notification/BadgePreferenceController.java
deleted file mode 100644
index e40324e..0000000
--- a/src/com/android/settings/notification/BadgePreferenceController.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.notification;
-
-import static android.provider.Settings.Secure.NOTIFICATION_BADGING;
-
-import android.content.Context;
-import android.provider.Settings;
-
-import androidx.preference.Preference;
-
-import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settingslib.RestrictedSwitchPreference;
-
-public class BadgePreferenceController extends NotificationPreferenceController
-        implements PreferenceControllerMixin, Preference.OnPreferenceChangeListener {
-
-    private static final String TAG = "BadgePrefContr";
-    private static final String KEY_BADGE = "badge";
-    private static final int SYSTEM_WIDE_ON = 1;
-    private static final int SYSTEM_WIDE_OFF = 0;
-
-    public BadgePreferenceController(Context context,
-            NotificationBackend backend) {
-        super(context, backend);
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return KEY_BADGE;
-    }
-
-    @Override
-    public boolean isAvailable() {
-        if (!super.isAvailable()) {
-            return false;
-        }
-        if (mAppRow == null && mChannel == null) {
-            return false;
-        }
-        if (Settings.Secure.getInt(mContext.getContentResolver(),
-                NOTIFICATION_BADGING, SYSTEM_WIDE_ON) == SYSTEM_WIDE_OFF) {
-            return false;
-        }
-        if (mChannel != null) {
-            if (isDefaultChannel()) {
-                return true;
-            } else {
-                return mAppRow == null ? false : mAppRow.showBadge;
-            }
-        }
-        return true;
-    }
-
-    public void updateState(Preference preference) {
-        if (mAppRow != null) {
-            RestrictedSwitchPreference pref = (RestrictedSwitchPreference) preference;
-            pref.setDisabledByAdmin(mAdmin);
-            if (mChannel != null) {
-                pref.setChecked(mChannel.canShowBadge());
-                pref.setEnabled(!pref.isDisabledByAdmin());
-            } else {
-                pref.setChecked(mAppRow.showBadge);
-            }
-        }
-    }
-
-    @Override
-    public boolean onPreferenceChange(Preference preference, Object newValue) {
-        final boolean showBadge = (Boolean) newValue;
-        if (mChannel != null) {
-            mChannel.setShowBadge(showBadge);
-            saveChannel();
-        } else if (mAppRow != null){
-            mAppRow.showBadge = showBadge;
-            mBackend.setShowBadge(mAppRow.pkg, mAppRow.uid, showBadge);
-        }
-        return true;
-    }
-
-}
diff --git a/src/com/android/settings/notification/BlockPreferenceController.java b/src/com/android/settings/notification/BlockPreferenceController.java
deleted file mode 100644
index 37589d9..0000000
--- a/src/com/android/settings/notification/BlockPreferenceController.java
+++ /dev/null
@@ -1,128 +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 android.app.NotificationManager.IMPORTANCE_NONE;
-import static android.app.NotificationManager.IMPORTANCE_UNSPECIFIED;
-
-import android.app.NotificationManager;
-import android.content.Context;
-import android.widget.Switch;
-
-import androidx.preference.Preference;
-
-import com.android.settings.R;
-import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settings.widget.SwitchBar;
-import com.android.settingslib.widget.LayoutPreference;
-
-public class BlockPreferenceController extends NotificationPreferenceController
-        implements PreferenceControllerMixin, SwitchBar.OnSwitchChangeListener {
-
-    private static final String KEY_BLOCK = "block";
-    private NotificationSettingsBase.ImportanceListener mImportanceListener;
-
-    public BlockPreferenceController(Context context,
-            NotificationSettingsBase.ImportanceListener importanceListener,
-            NotificationBackend backend) {
-        super(context, backend);
-        mImportanceListener = importanceListener;
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return KEY_BLOCK;
-    }
-
-    @Override
-    public boolean isAvailable() {
-        if (mAppRow == null) {
-            return false;
-        }
-        return true;
-    }
-
-    public void updateState(Preference preference) {
-        LayoutPreference pref = (LayoutPreference) preference;
-        pref.setSelectable(false);
-        SwitchBar bar = pref.findViewById(R.id.switch_bar);
-        if (bar != null) {
-            bar.setSwitchBarText(R.string.notification_switch_label,
-                    R.string.notification_switch_label);
-            bar.show();
-            try {
-                bar.addOnSwitchChangeListener(this);
-            } catch (IllegalStateException e) {
-                // an exception is thrown if you try to add the listener twice
-            }
-            bar.setDisabledByAdmin(mAdmin);
-
-            if (mChannel != null && !isChannelBlockable()) {
-                bar.setEnabled(false);
-            }
-
-            if (mChannelGroup != null && !isChannelGroupBlockable()) {
-                bar.setEnabled(false);
-            }
-
-            if (mChannel == null && mAppRow.systemApp
-                    && (!mAppRow.banned || mAppRow.lockedImportance)) {
-                bar.setEnabled(false);
-            }
-
-            if (mChannel != null) {
-                bar.setChecked(!mAppRow.banned
-                        && mChannel.getImportance() != NotificationManager.IMPORTANCE_NONE);
-            } else if (mChannelGroup != null) {
-                bar.setChecked(!mAppRow.banned && !mChannelGroup.isBlocked());
-            } else {
-                bar.setChecked(!mAppRow.banned);
-            }
-        }
-    }
-
-    @Override
-    public void onSwitchChanged(Switch switchView, boolean isChecked) {
-        boolean blocked = !isChecked;
-        if (mChannel != null) {
-            final int originalImportance = mChannel.getImportance();
-            // setting the initial state of the switch in updateState() triggers this callback.
-            // It's always safe to override the importance if it's meant to be blocked or if
-            // it was blocked and we are unblocking it.
-            if (blocked || originalImportance == IMPORTANCE_NONE) {
-                final int importance = blocked ? IMPORTANCE_NONE
-                        : isDefaultChannel() ? IMPORTANCE_UNSPECIFIED : IMPORTANCE_DEFAULT;
-                mChannel.setImportance(importance);
-                saveChannel();
-            }
-            if (mBackend.onlyHasDefaultChannel(mAppRow.pkg, mAppRow.uid)) {
-                if (mAppRow.banned != blocked) {
-                    mAppRow.banned = blocked;
-                    mBackend.setNotificationsEnabledForPackage(mAppRow.pkg, mAppRow.uid, !blocked);
-                }
-            }
-        } else if (mChannelGroup != null) {
-            mChannelGroup.setBlocked(blocked);
-            mBackend.updateChannelGroup(mAppRow.pkg, mAppRow.uid, mChannelGroup);
-        } else if (mAppRow != null) {
-            mAppRow.banned = blocked;
-            mBackend.setNotificationsEnabledForPackage(mAppRow.pkg, mAppRow.uid, !blocked);
-        }
-        mImportanceListener.onImportanceChanged();
-    }
-}
diff --git a/src/com/android/settings/notification/BubblePreferenceController.java b/src/com/android/settings/notification/BubblePreferenceController.java
deleted file mode 100644
index b57a911..0000000
--- a/src/com/android/settings/notification/BubblePreferenceController.java
+++ /dev/null
@@ -1,140 +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.notification;
-
-import static android.provider.Settings.Global.NOTIFICATION_BUBBLES;
-
-import android.annotation.Nullable;
-import android.content.Context;
-import android.provider.Settings;
-
-import com.android.settings.R;
-import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settingslib.RestrictedSwitchPreference;
-
-import androidx.annotation.VisibleForTesting;
-import androidx.fragment.app.FragmentManager;
-import androidx.preference.Preference;
-
-public class BubblePreferenceController extends NotificationPreferenceController
-        implements PreferenceControllerMixin, Preference.OnPreferenceChangeListener {
-
-    private static final String TAG = "BubblePrefContr";
-    private static final String KEY = "bubble_pref";
-    @VisibleForTesting
-    static final int SYSTEM_WIDE_ON = 1;
-    @VisibleForTesting
-    static final int SYSTEM_WIDE_OFF = 0;
-
-    private FragmentManager mFragmentManager;
-    private boolean mIsAppPage;
-
-    public BubblePreferenceController(Context context, @Nullable FragmentManager fragmentManager,
-            NotificationBackend backend, boolean isAppPage) {
-        super(context, backend);
-        mFragmentManager = fragmentManager;
-        mIsAppPage = isAppPage;
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return KEY;
-    }
-
-    @Override
-    public boolean isAvailable() {
-        if (!super.isAvailable()) {
-            return false;
-        }
-        if (!mIsAppPage && !isGloballyEnabled()) {
-            return false;
-        }
-        if (mChannel != null) {
-            if (isDefaultChannel()) {
-                return true;
-            } else {
-                return mAppRow != null && mAppRow.allowBubbles;
-            }
-        }
-        return true;
-    }
-
-    public void updateState(Preference preference) {
-        if (mAppRow != null) {
-            RestrictedSwitchPreference pref = (RestrictedSwitchPreference) preference;
-            pref.setDisabledByAdmin(mAdmin);
-            if (mChannel != null) {
-                pref.setChecked(mChannel.canBubble() && isGloballyEnabled());
-                pref.setEnabled(!pref.isDisabledByAdmin());
-            } else {
-                pref.setChecked(mAppRow.allowBubbles && isGloballyEnabled());
-                pref.setSummary(mContext.getString(
-                        R.string.bubbles_app_toggle_summary, mAppRow.label));
-            }
-        }
-    }
-
-    @Override
-    public boolean onPreferenceChange(Preference preference, Object newValue) {
-        final boolean value = (Boolean) newValue && isGloballyEnabled();
-        if (mChannel != null) {
-            mChannel.setAllowBubbles(value);
-            saveChannel();
-            return true;
-        } else if (mAppRow != null && mFragmentManager != null) {
-            RestrictedSwitchPreference pref = (RestrictedSwitchPreference) preference;
-            // if the global setting is off, toggling app level permission requires extra
-            // confirmation
-            if (!isGloballyEnabled() && !pref.isChecked()) {
-                new BubbleWarningDialogFragment()
-                        .setPkgInfo(mAppRow.pkg, mAppRow.uid)
-                        .show(mFragmentManager, "dialog");
-                return false;
-            } else {
-                mAppRow.allowBubbles = value;
-                mBackend.setAllowBubbles(mAppRow.pkg, mAppRow.uid, value);
-            }
-        }
-        return true;
-    }
-
-    private boolean isGloballyEnabled() {
-        return Settings.Global.getInt(mContext.getContentResolver(),
-                NOTIFICATION_BUBBLES, SYSTEM_WIDE_OFF) == SYSTEM_WIDE_ON;
-    }
-
-    // Used in app level prompt that confirms the user is ok with turning on bubbles
-    // globally. If they aren't, undo what
-    public static void revertBubblesApproval(Context mContext, String pkg, int uid) {
-        NotificationBackend backend = new NotificationBackend();
-        backend.setAllowBubbles(pkg, uid, false);
-        // changing the global settings will cause the observer on the host page to reload
-        // correct preference state
-        Settings.Global.putInt(mContext.getContentResolver(),
-                NOTIFICATION_BUBBLES, SYSTEM_WIDE_OFF);
-    }
-
-    // Apply global bubbles approval
-    public static void applyBubblesApproval(Context mContext, String pkg, int uid) {
-        NotificationBackend backend = new NotificationBackend();
-        backend.setAllowBubbles(pkg, uid, true);
-        // changing the global settings will cause the observer on the host page to reload
-        // correct preference state
-        Settings.Global.putInt(mContext.getContentResolver(),
-                NOTIFICATION_BUBBLES, SYSTEM_WIDE_ON);
-    }
-}
diff --git a/src/com/android/settings/notification/BubbleSummaryPreferenceController.java b/src/com/android/settings/notification/BubbleSummaryPreferenceController.java
deleted file mode 100644
index cc687cf..0000000
--- a/src/com/android/settings/notification/BubbleSummaryPreferenceController.java
+++ /dev/null
@@ -1,106 +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.notification;
-
-import static android.provider.Settings.Global.NOTIFICATION_BUBBLES;
-
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.os.Bundle;
-import android.provider.Settings;
-
-import com.android.settings.R;
-import com.android.settings.applications.AppInfoBase;
-import com.android.settings.core.SubSettingLauncher;
-
-import androidx.annotation.VisibleForTesting;
-import androidx.preference.Preference;
-
-public class BubbleSummaryPreferenceController extends NotificationPreferenceController {
-
-    private static final String KEY = "bubble_link_pref";
-    @VisibleForTesting
-    static final int SYSTEM_WIDE_ON = 1;
-    @VisibleForTesting
-    static final int SYSTEM_WIDE_OFF = 0;
-
-    public BubbleSummaryPreferenceController(Context context, NotificationBackend backend) {
-        super(context, backend);
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return KEY;
-    }
-
-    @Override
-    public boolean isAvailable() {
-        if (!super.isAvailable()) {
-            return false;
-        }
-        if (mAppRow == null && mChannel == null) {
-            return false;
-        }
-        if (mChannel != null) {
-            if (!isGloballyEnabled()) {
-                return false;
-            }
-            if (isDefaultChannel()) {
-                return true;
-            } else {
-                return mAppRow != null && mAppRow.allowBubbles;
-            }
-        }
-        return isGloballyEnabled();
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        super.updateState(preference);
-
-        if (mAppRow != null) {
-            Bundle args = new Bundle();
-            args.putString(AppInfoBase.ARG_PACKAGE_NAME, mAppRow.pkg);
-            args.putInt(AppInfoBase.ARG_PACKAGE_UID, mAppRow.uid);
-
-            preference.setIntent(new SubSettingLauncher(mContext)
-                    .setDestination(AppBubbleNotificationSettings.class.getName())
-                    .setArguments(args)
-                    .setSourceMetricsCategory(
-                            SettingsEnums.NOTIFICATION_APP_NOTIFICATION)
-                    .toIntent());
-        }
-    }
-
-    @Override
-    public CharSequence getSummary() {
-        boolean canBubble = false;
-        if (mAppRow != null) {
-            if (mChannel != null) {
-               canBubble |= mChannel.canBubble() && isGloballyEnabled();
-            } else {
-               canBubble |= mAppRow.allowBubbles && isGloballyEnabled();
-            }
-        }
-        return mContext.getString(canBubble ? R.string.switch_on_text : R.string.switch_off_text);
-    }
-
-    private boolean isGloballyEnabled() {
-        return Settings.Global.getInt(mContext.getContentResolver(),
-                NOTIFICATION_BUBBLES, SYSTEM_WIDE_OFF) == SYSTEM_WIDE_ON;
-    }
-}
diff --git a/src/com/android/settings/notification/BubbleWarningDialogFragment.java b/src/com/android/settings/notification/BubbleWarningDialogFragment.java
deleted file mode 100644
index 5086fb0..0000000
--- a/src/com/android/settings/notification/BubbleWarningDialogFragment.java
+++ /dev/null
@@ -1,70 +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.notification;
-
-import android.app.Dialog;
-import android.app.settings.SettingsEnums;
-import android.os.Bundle;
-
-import androidx.appcompat.app.AlertDialog;
-
-import com.android.settings.R;
-import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
-
-public class BubbleWarningDialogFragment extends InstrumentedDialogFragment {
-    static final String KEY_PKG = "p";
-    static final String KEY_UID = "u";
-
-
-    @Override
-    public int getMetricsCategory() {
-        return SettingsEnums.DIALOG_APP_BUBBLE_SETTINGS;
-    }
-
-    public BubbleWarningDialogFragment setPkgInfo(String pkg, int uid) {
-        Bundle args = new Bundle();
-        args.putString(KEY_PKG, pkg);
-        args.putInt(KEY_UID, uid);
-        setArguments(args);
-        return this;
-    }
-
-    @Override
-    public Dialog onCreateDialog(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        final Bundle args = getArguments();
-        final String pkg = args.getString(KEY_PKG);
-        final int uid = args.getInt(KEY_UID);
-
-        final String title =
-                getResources().getString(R.string.bubbles_feature_disabled_dialog_title);
-        final String summary = getResources()
-                .getString(R.string.bubbles_feature_disabled_dialog_text);
-        return new AlertDialog.Builder(getContext())
-                .setMessage(summary)
-                .setTitle(title)
-                .setCancelable(true)
-                .setPositiveButton(R.string.bubbles_feature_disabled_button_approve,
-                        (dialog, id) ->
-                                BubblePreferenceController.applyBubblesApproval(
-                                        getContext(), pkg, uid))
-                .setNegativeButton(R.string.bubbles_feature_disabled_button_cancel,
-                        (dialog, id) ->
-                                BubblePreferenceController.revertBubblesApproval(
-                                        getContext(), pkg, uid))
-                .create();
-    }
-}
diff --git a/src/com/android/settings/notification/CallVolumePreferenceController.java b/src/com/android/settings/notification/CallVolumePreferenceController.java
index ded57b3..d505227 100644
--- a/src/com/android/settings/notification/CallVolumePreferenceController.java
+++ b/src/com/android/settings/notification/CallVolumePreferenceController.java
@@ -44,6 +44,11 @@
     }
 
     @Override
+    public boolean isPublicSlice() {
+        return true;
+    }
+
+    @Override
     public boolean useDynamicSliceSummary() {
         return true;
     }
diff --git a/src/com/android/settings/notification/ChannelListPreferenceController.java b/src/com/android/settings/notification/ChannelListPreferenceController.java
deleted file mode 100644
index 7ff407c..0000000
--- a/src/com/android/settings/notification/ChannelListPreferenceController.java
+++ /dev/null
@@ -1,311 +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.notification;
-
-import static android.app.NotificationManager.IMPORTANCE_LOW;
-import static android.app.NotificationManager.IMPORTANCE_NONE;
-
-import android.app.NotificationChannel;
-import android.app.NotificationChannelGroup;
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.graphics.BlendMode;
-import android.graphics.BlendModeColorFilter;
-import android.graphics.drawable.Drawable;
-import android.graphics.drawable.GradientDrawable;
-import android.graphics.drawable.LayerDrawable;
-import android.os.AsyncTask;
-import android.os.Bundle;
-import android.provider.Settings;
-
-import com.android.settings.R;
-import com.android.settings.Utils;
-import com.android.settings.applications.AppInfoBase;
-import com.android.settings.core.SubSettingLauncher;
-import com.android.settings.widget.MasterSwitchPreference;
-import com.android.settingslib.RestrictedSwitchPreference;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.List;
-
-import androidx.preference.Preference;
-import androidx.preference.PreferenceCategory;
-import androidx.preference.PreferenceGroup;
-import androidx.preference.SwitchPreference;
-
-public class ChannelListPreferenceController extends NotificationPreferenceController {
-
-    private static final String KEY = "channels";
-    private static String KEY_GENERAL_CATEGORY = "categories";
-    public static final String ARG_FROM_SETTINGS = "fromSettings";
-
-    private List<NotificationChannelGroup> mChannelGroupList;
-    private PreferenceCategory mPreference;
-
-    public ChannelListPreferenceController(Context context, NotificationBackend backend) {
-        super(context, backend);
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return KEY;
-    }
-
-    @Override
-    public boolean isAvailable() {
-        if (mAppRow == null) {
-            return false;
-        }
-        if (mAppRow.banned) {
-            return false;
-        }
-        if (mChannel != null) {
-            if (mBackend.onlyHasDefaultChannel(mAppRow.pkg, mAppRow.uid)
-                    || NotificationChannel.DEFAULT_CHANNEL_ID.equals(mChannel.getId())) {
-                return false;
-            }
-        }
-        return true;
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        mPreference = (PreferenceCategory) preference;
-        // Load channel settings
-        new AsyncTask<Void, Void, Void>() {
-            @Override
-            protected Void doInBackground(Void... unused) {
-                mChannelGroupList = mBackend.getGroups(mAppRow.pkg, mAppRow.uid).getList();
-                Collections.sort(mChannelGroupList, mChannelGroupComparator);
-                return null;
-            }
-
-            @Override
-            protected void onPostExecute(Void unused) {
-                if (mContext == null) {
-                    return;
-                }
-                populateList();
-            }
-        }.execute();
-    }
-
-    private void populateList() {
-        // TODO: if preference has children, compare with newly loaded list
-        mPreference.removeAll();
-
-        if (mChannelGroupList.isEmpty()) {
-            PreferenceCategory groupCategory = new PreferenceCategory(mContext);
-            groupCategory.setTitle(R.string.notification_channels);
-            groupCategory.setKey(KEY_GENERAL_CATEGORY);
-            mPreference.addPreference(groupCategory);
-
-            Preference empty = new Preference(mContext);
-            empty.setTitle(R.string.no_channels);
-            empty.setEnabled(false);
-            groupCategory.addPreference(empty);
-        } else {
-            populateGroupList();
-        }
-    }
-
-    private void populateGroupList() {
-        for (NotificationChannelGroup group : mChannelGroupList) {
-            PreferenceCategory groupCategory = new PreferenceCategory(mContext);
-            groupCategory.setOrderingAsAdded(true);
-            mPreference.addPreference(groupCategory);
-            if (group.getId() == null) {
-                if (mChannelGroupList.size() > 1) {
-                    groupCategory.setTitle(R.string.notification_channels_other);
-                }
-                groupCategory.setKey(KEY_GENERAL_CATEGORY);
-            } else {
-                groupCategory.setTitle(group.getName());
-                groupCategory.setKey(group.getId());
-                populateGroupToggle(groupCategory, group);
-            }
-            if (!group.isBlocked()) {
-                final List<NotificationChannel> channels = group.getChannels();
-                Collections.sort(channels, mChannelComparator);
-                int N = channels.size();
-                for (int i = 0; i < N; i++) {
-                    final NotificationChannel channel = channels.get(i);
-                    populateSingleChannelPrefs(groupCategory, channel, group.isBlocked());
-                }
-            }
-        }
-    }
-
-    protected void populateGroupToggle(final PreferenceGroup parent,
-            NotificationChannelGroup group) {
-        RestrictedSwitchPreference preference =
-                new RestrictedSwitchPreference(mContext);
-        preference.setTitle(R.string.notification_switch_label);
-        preference.setEnabled(mAdmin == null
-                && isChannelGroupBlockable(group));
-        preference.setChecked(!group.isBlocked());
-        preference.setOnPreferenceClickListener(preference1 -> {
-            final boolean allowGroup = ((SwitchPreference) preference1).isChecked();
-            group.setBlocked(!allowGroup);
-            mBackend.updateChannelGroup(mAppRow.pkg, mAppRow.uid, group);
-
-            onGroupBlockStateChanged(group);
-            return true;
-        });
-
-        parent.addPreference(preference);
-    }
-
-    protected Preference populateSingleChannelPrefs(PreferenceGroup parent,
-            final NotificationChannel channel, final boolean groupBlocked) {
-        MasterSwitchPreference channelPref = new MasterSwitchPreference(mContext);
-        channelPref.setSwitchEnabled(mAdmin == null
-                && isChannelBlockable(channel)
-                && isChannelConfigurable(channel)
-                && !groupBlocked);
-        channelPref.setIcon(null);
-        if (channel.getImportance() > IMPORTANCE_LOW) {
-            channelPref.setIcon(getAlertingIcon());
-        }
-        channelPref.setIconSize(MasterSwitchPreference.ICON_SIZE_SMALL);
-        channelPref.setKey(channel.getId());
-        channelPref.setTitle(channel.getName());
-        channelPref.setSummary(NotificationBackend.getSentSummary(
-                mContext, mAppRow.sentByChannel.get(channel.getId()), false));
-        channelPref.setChecked(channel.getImportance() != IMPORTANCE_NONE);
-        Bundle channelArgs = new Bundle();
-        channelArgs.putInt(AppInfoBase.ARG_PACKAGE_UID, mAppRow.uid);
-        channelArgs.putString(AppInfoBase.ARG_PACKAGE_NAME, mAppRow.pkg);
-        channelArgs.putString(Settings.EXTRA_CHANNEL_ID, channel.getId());
-        channelArgs.putBoolean(ARG_FROM_SETTINGS, true);
-        channelPref.setIntent(new SubSettingLauncher(mContext)
-                .setDestination(ChannelNotificationSettings.class.getName())
-                .setArguments(channelArgs)
-                .setTitleRes(R.string.notification_channel_title)
-                .setSourceMetricsCategory(SettingsEnums.NOTIFICATION_APP_NOTIFICATION)
-                .toIntent());
-
-        channelPref.setOnPreferenceChangeListener(
-                (preference, o) -> {
-                    boolean value = (Boolean) o;
-                    int importance = value ? IMPORTANCE_LOW : IMPORTANCE_NONE;
-                    channel.setImportance(importance);
-                    channel.lockFields(
-                            NotificationChannel.USER_LOCKED_IMPORTANCE);
-                    MasterSwitchPreference channelPref1 = (MasterSwitchPreference) preference;
-                    channelPref1.setIcon(null);
-                    if (channel.getImportance() > IMPORTANCE_LOW) {
-                        channelPref1.setIcon(getAlertingIcon());
-                    }
-                    toggleBehaviorIconState(channelPref1.getIcon(),
-                            importance != IMPORTANCE_NONE);
-                    mBackend.updateChannel(mAppRow.pkg, mAppRow.uid, channel);
-
-                    return true;
-                });
-        if (parent.findPreference(channelPref.getKey()) == null) {
-            parent.addPreference(channelPref);
-        }
-        return channelPref;
-    }
-
-    private Drawable getAlertingIcon() {
-        Drawable icon = mContext.getDrawable(R.drawable.ic_notifications_alert);
-        icon.setTintList(Utils.getColorAccent(mContext));
-        return icon;
-    }
-
-    private void toggleBehaviorIconState(Drawable icon, boolean enabled) {
-        if (icon == null) return;
-
-        LayerDrawable layerDrawable = (LayerDrawable) icon;
-        GradientDrawable background =
-                (GradientDrawable) layerDrawable.findDrawableByLayerId(R.id.back);
-
-        if (background == null) return;
-
-        if (enabled) {
-            background.clearColorFilter();
-        } else {
-            background.setColorFilter(new BlendModeColorFilter(
-                    mContext.getColor(R.color.material_grey_300),
-                    BlendMode.SRC_IN));
-        }
-    }
-
-    protected void onGroupBlockStateChanged(NotificationChannelGroup group) {
-        if (group == null) {
-            return;
-        }
-        PreferenceGroup groupGroup = mPreference.findPreference(group.getId());
-
-        if (groupGroup != null) {
-            if (group.isBlocked()) {
-                List<Preference> toRemove = new ArrayList<>();
-                int childCount = groupGroup.getPreferenceCount();
-                for (int i = 0; i < childCount; i++) {
-                    Preference pref = groupGroup.getPreference(i);
-                    if (pref instanceof MasterSwitchPreference) {
-                        toRemove.add(pref);
-                    }
-                }
-                for (Preference pref : toRemove) {
-                    groupGroup.removePreference(pref);
-                }
-            } else {
-                final List<NotificationChannel> channels = group.getChannels();
-                Collections.sort(channels, mChannelComparator);
-                int N = channels.size();
-                for (int i = 0; i < N; i++) {
-                    final NotificationChannel channel = channels.get(i);
-                    populateSingleChannelPrefs(groupGroup, channel, group.isBlocked());
-                }
-            }
-        }
-    }
-
-    private Comparator<NotificationChannelGroup> mChannelGroupComparator =
-            new Comparator<NotificationChannelGroup>() {
-
-                @Override
-                public int compare(NotificationChannelGroup left, NotificationChannelGroup right) {
-                    // Non-grouped channels (in placeholder group with a null id) come last
-                    if (left.getId() == null && right.getId() != null) {
-                        return 1;
-                    } else if (right.getId() == null && left.getId() != null) {
-                        return -1;
-                    }
-                    return left.getId().compareTo(right.getId());
-                }
-            };
-
-    protected Comparator<NotificationChannel> mChannelComparator =
-            (left, right) -> {
-                if (left.isDeleted() != right.isDeleted()) {
-                    return Boolean.compare(left.isDeleted(), right.isDeleted());
-                } else if (left.getId().equals(NotificationChannel.DEFAULT_CHANNEL_ID)) {
-                    // Uncategorized/miscellaneous legacy channel goes last
-                    return 1;
-                } else if (right.getId().equals(NotificationChannel.DEFAULT_CHANNEL_ID)) {
-                    return -1;
-                }
-
-                return left.getId().compareTo(right.getId());
-            };
-}
diff --git a/src/com/android/settings/notification/ChannelNotificationSettings.java b/src/com/android/settings/notification/ChannelNotificationSettings.java
deleted file mode 100644
index 09bf0e2..0000000
--- a/src/com/android/settings/notification/ChannelNotificationSettings.java
+++ /dev/null
@@ -1,123 +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.notification;
-
-import static com.android.settings.notification.ChannelListPreferenceController.ARG_FROM_SETTINGS;
-
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.content.Intent;
-import android.os.Bundle;
-import android.preference.PreferenceManager;
-import android.text.TextUtils;
-import android.util.Log;
-
-import androidx.preference.PreferenceScreen;
-
-import com.android.internal.widget.LockPatternUtils;
-import com.android.settings.R;
-import com.android.settingslib.core.AbstractPreferenceController;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class ChannelNotificationSettings extends NotificationSettingsBase {
-    private static final String TAG = "ChannelSettings";
-
-    @Override
-    public int getMetricsCategory() {
-        return SettingsEnums.NOTIFICATION_TOPIC_NOTIFICATION;
-    }
-
-    @Override
-    public void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        final PreferenceScreen screen = getPreferenceScreen();
-        Bundle args = getArguments();
-        // If linking to this screen from an external app, expand settings
-        if (screen != null && args != null) {
-            if (!args.getBoolean(ARG_FROM_SETTINGS, false)) {
-                screen.setInitialExpandedChildrenCount(Integer.MAX_VALUE);
-            }
-        }
-    }
-
-    @Override
-    public void onResume() {
-        super.onResume();
-        if (mUid < 0 || TextUtils.isEmpty(mPkg) || mPkgInfo == null || mChannel == null) {
-            Log.w(TAG, "Missing package or uid or packageinfo or channel");
-            finish();
-            return;
-        }
-
-        for (NotificationPreferenceController controller : mControllers) {
-            controller.onResume(mAppRow, mChannel, mChannelGroup, mSuspendedAppsAdmin);
-            controller.displayPreference(getPreferenceScreen());
-        }
-        updatePreferenceStates();
-    }
-
-    @Override
-    public void onActivityResult(int requestCode, int resultCode, Intent data) {
-        for (NotificationPreferenceController controller : mControllers) {
-            if (controller instanceof PreferenceManager.OnActivityResultListener) {
-                ((PreferenceManager.OnActivityResultListener) controller)
-                        .onActivityResult(requestCode, resultCode, data);
-            }
-        }
-    }
-
-    @Override
-    protected String getLogTag() {
-        return TAG;
-    }
-
-    @Override
-    protected int getPreferenceScreenResId() {
-        return  R.xml.channel_notification_settings;
-    }
-
-    @Override
-    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
-        mControllers = new ArrayList<>();
-        mControllers.add(new HeaderPreferenceController(context, this));
-        mControllers.add(new BlockPreferenceController(context, mImportanceListener, mBackend));
-        mControllers.add(new ImportancePreferenceController(
-                context, mImportanceListener, mBackend));
-        mControllers.add(new MinImportancePreferenceController(
-                context, mImportanceListener, mBackend));
-        mControllers.add(new HighImportancePreferenceController(
-                context, mImportanceListener, mBackend));
-        mControllers.add(new AllowSoundPreferenceController(
-                context, mImportanceListener, mBackend));
-        mControllers.add(new SoundPreferenceController(context, this,
-                mImportanceListener, mBackend));
-        mControllers.add(new VibrationPreferenceController(context, mBackend));
-        mControllers.add(new AppLinkPreferenceController(context));
-        mControllers.add(new DescriptionPreferenceController(context));
-        mControllers.add(new VisibilityPreferenceController(context, new LockPatternUtils(context),
-                mBackend));
-        mControllers.add(new LightsPreferenceController(context, mBackend));
-        mControllers.add(new BadgePreferenceController(context, mBackend));
-        mControllers.add(new DndPreferenceController(context, mBackend));
-        mControllers.add(new NotificationsOffPreferenceController(context));
-        mControllers.add(new BubblePreferenceController(context, getChildFragmentManager(),
-                mBackend, false /* isAppPage */));
-        return new ArrayList<>(mControllers);
-    }
-}
diff --git a/src/com/android/settings/notification/ConfigureNotificationPreferenceController.java b/src/com/android/settings/notification/ConfigureNotificationPreferenceController.java
new file mode 100644
index 0000000..3aa1008
--- /dev/null
+++ b/src/com/android/settings/notification/ConfigureNotificationPreferenceController.java
@@ -0,0 +1,48 @@
+/*
+ * 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.notification;
+
+import android.content.Context;
+
+import com.android.settings.R;
+import com.android.settings.core.BasePreferenceController;
+
+public class ConfigureNotificationPreferenceController extends BasePreferenceController {
+
+    private NotificationBackend mBackend;
+
+    public ConfigureNotificationPreferenceController(Context context, String key) {
+        super(context, key);
+        mBackend = new NotificationBackend();
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return AVAILABLE;
+    }
+
+    @Override
+    public CharSequence getSummary() {
+        final int blockedAppCount = mBackend.getBlockedAppCount();
+        if (blockedAppCount == 0) {
+            return mContext.getText(R.string.app_notification_listing_summary_zero);
+        }
+        return mContext.getResources().getQuantityString(
+                R.plurals.app_notification_listing_summary_others,
+                blockedAppCount, blockedAppCount);
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/settings/notification/ConfigureNotificationSettings.java b/src/com/android/settings/notification/ConfigureNotificationSettings.java
index d21be16..0a9a5b1 100644
--- a/src/com/android/settings/notification/ConfigureNotificationSettings.java
+++ b/src/com/android/settings/notification/ConfigureNotificationSettings.java
@@ -28,7 +28,6 @@
 import android.os.ServiceManager;
 import android.os.UserHandle;
 import android.os.UserManager;
-import android.provider.SearchIndexableResource;
 import android.text.TextUtils;
 
 import androidx.annotation.VisibleForTesting;
@@ -41,15 +40,11 @@
 import com.android.settings.RingtonePreference;
 import com.android.settings.core.OnActivityResultListener;
 import com.android.settings.dashboard.DashboardFragment;
-import com.android.settings.dashboard.SummaryLoader;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
 import com.android.settingslib.core.AbstractPreferenceController;
-import com.android.settingslib.core.lifecycle.Lifecycle;
 import com.android.settingslib.search.SearchIndexable;
 
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.List;
 
 @SearchIndexable
@@ -138,6 +133,7 @@
     @Override
     public boolean onPreferenceTreeClick(Preference preference) {
         if (preference instanceof RingtonePreference) {
+            writePreferenceClickMetric(preference);
             mRequestPreference = (RingtonePreference) preference;
             mRequestPreference.onPrepareRingtonePickerIntent(mRequestPreference.getIntent());
             getActivity().startActivityForResultAsUser(
@@ -167,65 +163,10 @@
     }
 
     /**
-     * For summary
-     */
-    static class SummaryProvider implements SummaryLoader.SummaryProvider {
-
-        private final Context mContext;
-        private final SummaryLoader mSummaryLoader;
-        private NotificationBackend mBackend;
-
-        public SummaryProvider(Context context, SummaryLoader summaryLoader) {
-            mContext = context;
-            mSummaryLoader = summaryLoader;
-            mBackend = new NotificationBackend();
-        }
-
-        @VisibleForTesting
-        protected void setBackend(NotificationBackend backend) {
-            mBackend = backend;
-        }
-
-        @Override
-        public void setListening(boolean listening) {
-            if (!listening) {
-                return;
-            }
-            int blockedAppCount = mBackend.getBlockedAppCount();
-            if (blockedAppCount == 0) {
-                mSummaryLoader.setSummary(this,
-                        mContext.getText(R.string.app_notification_listing_summary_zero));
-            } else {
-                mSummaryLoader.setSummary(this,
-                        mContext.getResources().getQuantityString(
-                                R.plurals.app_notification_listing_summary_others,
-                                blockedAppCount, blockedAppCount));
-            }
-        }
-    }
-
-    public static final SummaryLoader.SummaryProviderFactory SUMMARY_PROVIDER_FACTORY =
-            new SummaryLoader.SummaryProviderFactory() {
-                @Override
-                public SummaryLoader.SummaryProvider createSummaryProvider(Activity activity,
-                        SummaryLoader summaryLoader) {
-                    return new ConfigureNotificationSettings.SummaryProvider(
-                            activity, summaryLoader);
-                }
-            };
-
-    /**
      * For Search.
      */
-    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(
-                        Context context, boolean enabled) {
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.configure_notification_settings;
-                    return Arrays.asList(sir);
-                }
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.configure_notification_settings) {
 
                 @Override
                 public List<AbstractPreferenceController> createPreferenceControllers(
diff --git a/src/com/android/settings/notification/DeletedChannelsPreferenceController.java b/src/com/android/settings/notification/DeletedChannelsPreferenceController.java
deleted file mode 100644
index 14e0c84..0000000
--- a/src/com/android/settings/notification/DeletedChannelsPreferenceController.java
+++ /dev/null
@@ -1,61 +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 android.content.Context;
-
-import androidx.preference.Preference;
-
-import com.android.settings.R;
-import com.android.settings.core.PreferenceControllerMixin;
-
-public class DeletedChannelsPreferenceController extends NotificationPreferenceController
-        implements PreferenceControllerMixin {
-
-    private static final String  KEY_DELETED = "deleted";
-
-    public DeletedChannelsPreferenceController(Context context, NotificationBackend backend) {
-        super(context, backend);
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return KEY_DELETED;
-    }
-
-    @Override
-    public boolean isAvailable() {
-        if (!super.isAvailable()) {
-            return false;
-        }
-        // only visible on app screen
-        if (mChannel != null || hasValidGroup()) {
-            return false;
-        }
-
-        return mBackend.getDeletedChannelCount(mAppRow.pkg, mAppRow.uid) > 0;
-    }
-
-    public void updateState(Preference preference) {
-        if (mAppRow != null) {
-            int deletedChannelCount = mBackend.getDeletedChannelCount(mAppRow.pkg, mAppRow.uid);
-            preference.setTitle(mContext.getResources().getQuantityString(
-                    R.plurals.deleted_channels, deletedChannelCount, deletedChannelCount));
-        }
-        preference.setSelectable(false);
-    }
-}
diff --git a/src/com/android/settings/notification/DescriptionPreferenceController.java b/src/com/android/settings/notification/DescriptionPreferenceController.java
deleted file mode 100644
index 1e99646..0000000
--- a/src/com/android/settings/notification/DescriptionPreferenceController.java
+++ /dev/null
@@ -1,68 +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 android.content.Context;
-import android.text.TextUtils;
-
-import androidx.preference.Preference;
-
-import com.android.settings.core.PreferenceControllerMixin;
-
-public class DescriptionPreferenceController extends NotificationPreferenceController
-        implements PreferenceControllerMixin {
-
-    private static final String KEY_DESC = "desc";
-
-    public DescriptionPreferenceController(Context context) {
-        super(context, null);
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return KEY_DESC;
-    }
-
-    @Override
-    public boolean isAvailable() {
-        if (!super.isAvailable()) {
-            return false;
-        }
-        if (mChannel == null && !hasValidGroup()) {
-            return false;
-        }
-        if (mChannel != null && !TextUtils.isEmpty(mChannel.getDescription())) {
-            return true;
-        }
-        if (hasValidGroup() && !TextUtils.isEmpty(mChannelGroup.getDescription())) {
-            return true;
-        }
-        return false;
-    }
-
-    public void updateState(Preference preference) {
-        if (mAppRow != null) {
-            if (mChannel != null) {
-                preference.setTitle(mChannel.getDescription());
-            } else if (hasValidGroup()) {
-                preference.setTitle(mChannelGroup.getDescription());
-            }
-        }
-        preference.setEnabled(false);
-        preference.setSelectable(false);
-    }
-}
diff --git a/src/com/android/settings/notification/DndPreferenceController.java b/src/com/android/settings/notification/DndPreferenceController.java
deleted file mode 100644
index 4ec76f1..0000000
--- a/src/com/android/settings/notification/DndPreferenceController.java
+++ /dev/null
@@ -1,68 +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 android.app.NotificationChannel;
-import android.content.Context;
-
-import androidx.preference.Preference;
-
-import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settingslib.RestrictedSwitchPreference;
-
-public class DndPreferenceController extends NotificationPreferenceController
-        implements PreferenceControllerMixin, Preference.OnPreferenceChangeListener {
-
-    private static final String KEY_BYPASS_DND = "bypass_dnd";
-
-    public DndPreferenceController(Context context, NotificationBackend backend) {
-        super(context, backend);
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return KEY_BYPASS_DND;
-    }
-
-    @Override
-    public boolean isAvailable() {
-        if (!super.isAvailable() || mChannel == null) {
-            return false;
-        }
-        return true;
-    }
-
-    public void updateState(Preference preference) {
-        if (mChannel != null) {
-            RestrictedSwitchPreference pref = (RestrictedSwitchPreference) preference;
-            pref.setDisabledByAdmin(mAdmin);
-            pref.setEnabled(!pref.isDisabledByAdmin());
-            pref.setChecked(mChannel.canBypassDnd());
-        }
-    }
-
-    @Override
-    public boolean onPreferenceChange(Preference preference, Object newValue) {
-        if (mChannel != null) {
-            final boolean bypassZenMode = (Boolean) newValue;
-            mChannel.setBypassDnd(bypassZenMode);
-            mChannel.lockFields(NotificationChannel.USER_LOCKED_PRIORITY);
-            saveChannel();
-        }
-        return true;
-    }
-}
diff --git a/src/com/android/settings/notification/GentleNotificationsPreferenceController.java b/src/com/android/settings/notification/GentleNotificationsPreferenceController.java
deleted file mode 100644
index 67a4707..0000000
--- a/src/com/android/settings/notification/GentleNotificationsPreferenceController.java
+++ /dev/null
@@ -1,76 +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.notification;
-
-import android.content.Context;
-import android.provider.Settings;
-
-import com.android.settings.R;
-import com.android.settings.core.BasePreferenceController;
-
-import androidx.annotation.VisibleForTesting;
-
-public class GentleNotificationsPreferenceController extends BasePreferenceController {
-
-    @VisibleForTesting
-    static final int ON = 1;
-
-    private NotificationBackend mBackend;
-
-    public GentleNotificationsPreferenceController(Context context, String preferenceKey) {
-        super(context, preferenceKey);
-        mBackend = new NotificationBackend();
-    }
-
-    @VisibleForTesting
-    void setBackend(NotificationBackend backend) {
-        mBackend = backend;
-    }
-
-    @Override
-    public CharSequence getSummary() {
-        boolean showOnLockscreen = showOnLockscreen();
-        boolean showOnStatusBar = showOnStatusBar();
-
-        if (showOnLockscreen) {
-            if (showOnStatusBar) {
-                return mContext.getString(
-                        R.string.gentle_notifications_display_summary_shade_status_lock);
-            } else {
-                return mContext.getString(R.string.gentle_notifications_display_summary_shade_lock);
-            }
-        } else if (showOnStatusBar) {
-            return mContext.getString(R.string.gentle_notifications_display_summary_shade_status);
-        } else {
-            return mContext.getString(R.string.gentle_notifications_display_summary_shade);
-        }
-    }
-
-    @Override
-    public int getAvailabilityStatus() {
-        return AVAILABLE;
-    }
-
-    private boolean showOnLockscreen() {
-        return Settings.Secure.getInt(mContext.getContentResolver(),
-                Settings.Secure.LOCK_SCREEN_SHOW_SILENT_NOTIFICATIONS, ON) == ON;
-    }
-
-    private boolean showOnStatusBar() {
-        return !mBackend.shouldHideSilentStatusBarIcons(mContext);
-    }
-}
diff --git a/src/com/android/settings/notification/GlobalBubblePermissionObserverMixin.java b/src/com/android/settings/notification/GlobalBubblePermissionObserverMixin.java
deleted file mode 100644
index 0118a95..0000000
--- a/src/com/android/settings/notification/GlobalBubblePermissionObserverMixin.java
+++ /dev/null
@@ -1,59 +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.notification;
-
-import android.content.Context;
-import android.database.ContentObserver;
-import android.net.Uri;
-import android.os.Handler;
-import android.os.Looper;
-import android.provider.Settings;
-
-public class GlobalBubblePermissionObserverMixin extends ContentObserver {
-
-    public interface Listener {
-        void onGlobalBubblePermissionChanged();
-    }
-
-    private final Context mContext;
-    private final Listener mListener;
-
-    public GlobalBubblePermissionObserverMixin(Context context, Listener listener) {
-        super(new Handler(Looper.getMainLooper()));
-        mContext = context;
-        mListener = listener;
-    }
-
-    @Override
-    public void onChange(boolean selfChange, Uri uri) {
-        if (mListener != null) {
-            mListener.onGlobalBubblePermissionChanged();
-        }
-    }
-
-    public void onStart() {
-        mContext.getContentResolver().registerContentObserver(
-                Settings.Global.getUriFor(
-                        Settings.Global.NOTIFICATION_BUBBLES),
-                false /* notifyForDescendants */,
-                this /* observer */);
-    }
-
-    public void onStop() {
-        mContext.getContentResolver().unregisterContentObserver(this /* observer */);
-    }
-}
\ No newline at end of file
diff --git a/src/com/android/settings/notification/HeaderPreferenceController.java b/src/com/android/settings/notification/HeaderPreferenceController.java
deleted file mode 100644
index be5f45e..0000000
--- a/src/com/android/settings/notification/HeaderPreferenceController.java
+++ /dev/null
@@ -1,130 +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 com.android.settings.widget.EntityHeaderController.PREF_KEY_APP_HEADER;
-
-import android.app.Activity;
-import android.content.Context;
-import android.text.BidiFormatter;
-import android.text.SpannableStringBuilder;
-import android.text.TextUtils;
-import android.view.View;
-
-import androidx.annotation.VisibleForTesting;
-import androidx.lifecycle.LifecycleObserver;
-import androidx.lifecycle.OnLifecycleEvent;
-import androidx.preference.Preference;
-
-import com.android.settings.R;
-import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settings.dashboard.DashboardFragment;
-import com.android.settings.widget.EntityHeaderController;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-import com.android.settingslib.widget.LayoutPreference;
-
-public class HeaderPreferenceController extends NotificationPreferenceController
-        implements PreferenceControllerMixin, LifecycleObserver {
-
-    private final DashboardFragment mFragment;
-    private EntityHeaderController mHeaderController;
-    private boolean mStarted = false;
-
-    public HeaderPreferenceController(Context context, DashboardFragment fragment) {
-        super(context, null);
-        mFragment = fragment;
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return PREF_KEY_APP_HEADER;
-    }
-
-    @Override
-    public boolean isAvailable() {
-        return mAppRow != null;
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        if (mAppRow != null && mFragment != null) {
-
-            Activity activity = null;
-            if (mStarted) {
-                // don't call done on an activity if it hasn't started yet
-                activity = mFragment.getActivity();
-            }
-
-            if (activity == null) {
-                return;
-            }
-
-            LayoutPreference pref = (LayoutPreference) preference;
-            mHeaderController = EntityHeaderController.newInstance(
-                    activity, mFragment, pref.findViewById(R.id.entity_header));
-            pref = mHeaderController.setIcon(mAppRow.icon)
-                    .setLabel(getLabel())
-                    .setSummary(getSummary())
-                    .setPackageName(mAppRow.pkg)
-                    .setUid(mAppRow.uid)
-                    .setButtonActions(EntityHeaderController.ActionType.ACTION_NOTIF_PREFERENCE,
-                            EntityHeaderController.ActionType.ACTION_NONE)
-                    .setHasAppInfoLink(true)
-                    .setRecyclerView(mFragment.getListView(), mFragment.getSettingsLifecycle())
-                    .done(activity, mContext);
-            pref.findViewById(R.id.entity_header).setVisibility(View.VISIBLE);
-        }
-    }
-
-    @Override
-    public CharSequence getSummary() {
-        if (mChannel != null && !isDefaultChannel()) {
-            if (mChannelGroup != null
-                    && !TextUtils.isEmpty(mChannelGroup.getName())) {
-                final SpannableStringBuilder summary = new SpannableStringBuilder();
-                BidiFormatter bidi = BidiFormatter.getInstance();
-                summary.append(bidi.unicodeWrap(mAppRow.label.toString()));
-                summary.append(bidi.unicodeWrap(mContext.getText(
-                        R.string.notification_header_divider_symbol_with_spaces)));
-                summary.append(bidi.unicodeWrap(mChannelGroup.getName().toString()));
-                return summary.toString();
-            } else {
-                return mAppRow.label.toString();
-            }
-        } else if (mChannelGroup != null) {
-            return mAppRow.label.toString();
-        } else {
-            return "";
-        }
-    }
-
-    @OnLifecycleEvent(Lifecycle.Event.ON_START)
-    public void onStart() {
-        mStarted = true;
-        if (mHeaderController != null) {
-            mHeaderController.styleActionBar(mFragment.getActivity());
-        }
-    }
-
-    @VisibleForTesting
-    CharSequence getLabel() {
-        return (mChannel != null && !isDefaultChannel()) ? mChannel.getName()
-                : mChannelGroup != null
-                        ? mChannelGroup.getName()
-                        : mAppRow.label;
-    }
-}
diff --git a/src/com/android/settings/notification/HighImportancePreferenceController.java b/src/com/android/settings/notification/HighImportancePreferenceController.java
deleted file mode 100644
index da9b3b4..0000000
--- a/src/com/android/settings/notification/HighImportancePreferenceController.java
+++ /dev/null
@@ -1,84 +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.notification;
-
-import static android.app.NotificationManager.IMPORTANCE_DEFAULT;
-import static android.app.NotificationManager.IMPORTANCE_HIGH;
-
-import android.app.NotificationChannel;
-import android.content.Context;
-
-import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settingslib.RestrictedSwitchPreference;
-
-import androidx.preference.Preference;
-
-public class HighImportancePreferenceController extends NotificationPreferenceController
-        implements PreferenceControllerMixin, Preference.OnPreferenceChangeListener  {
-
-    private static final String KEY_IMPORTANCE = "high_importance";
-    private NotificationSettingsBase.ImportanceListener mImportanceListener;
-
-    public HighImportancePreferenceController(Context context,
-            NotificationSettingsBase.ImportanceListener importanceListener,
-            NotificationBackend backend) {
-        super(context, backend);
-        mImportanceListener = importanceListener;
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return KEY_IMPORTANCE;
-    }
-
-    @Override
-    public boolean isAvailable() {
-        if (!super.isAvailable()) {
-            return false;
-        }
-        if (mChannel == null) {
-            return false;
-        }
-        if (isDefaultChannel()) {
-           return false;
-        }
-        return mChannel.getImportance() >= IMPORTANCE_DEFAULT;
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        if (mAppRow != null && mChannel != null) {
-            preference.setEnabled(mAdmin == null && !mChannel.isImportanceLockedByOEM());
-
-            RestrictedSwitchPreference pref = (RestrictedSwitchPreference) preference;
-            pref.setChecked(mChannel.getImportance() >= IMPORTANCE_HIGH);
-        }
-    }
-
-    @Override
-    public boolean onPreferenceChange(Preference preference, Object newValue) {
-        if (mChannel != null) {
-            final boolean checked = (boolean) newValue;
-
-            mChannel.setImportance(checked ? IMPORTANCE_HIGH : IMPORTANCE_DEFAULT);
-            mChannel.lockFields(NotificationChannel.USER_LOCKED_IMPORTANCE);
-            saveChannel();
-            mImportanceListener.onImportanceChanged();
-        }
-        return true;
-    }
-}
diff --git a/src/com/android/settings/notification/ImportancePreference.java b/src/com/android/settings/notification/ImportancePreference.java
deleted file mode 100644
index b059f91..0000000
--- a/src/com/android/settings/notification/ImportancePreference.java
+++ /dev/null
@@ -1,194 +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.notification;
-
-import static android.app.NotificationManager.IMPORTANCE_DEFAULT;
-import static android.app.NotificationManager.IMPORTANCE_HIGH;
-import static android.app.NotificationManager.IMPORTANCE_LOW;
-import static android.app.NotificationManager.IMPORTANCE_MIN;
-import static android.view.View.GONE;
-import static android.view.View.VISIBLE;
-
-import android.content.Context;
-import android.content.res.ColorStateList;
-import android.graphics.drawable.Drawable;
-import android.transition.AutoTransition;
-import android.transition.Transition;
-import android.transition.TransitionManager;
-import android.util.AttributeSet;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.Button;
-import android.widget.ImageView;
-import android.widget.TextView;
-
-import com.android.settings.Utils;
-import com.android.settingslib.R;
-
-import androidx.preference.Preference;
-import androidx.preference.PreferenceViewHolder;
-
-public class ImportancePreference extends Preference {
-
-    private boolean mIsConfigurable = true;
-    private int mImportance;
-    private boolean mDisplayInStatusBar;
-    private boolean mDisplayOnLockscreen;
-    private View mSilenceButton;
-    private View mAlertButton;
-    private Context mContext;
-    Drawable selectedBackground;
-    Drawable unselectedBackground;
-    private static final int BUTTON_ANIM_TIME_MS = 100;
-    private static final boolean SHOW_BUTTON_SUMMARY = false;
-
-    public ImportancePreference(Context context, AttributeSet attrs,
-            int defStyleAttr, int defStyleRes) {
-        super(context, attrs, defStyleAttr, defStyleRes);
-        init(context);
-    }
-
-    public ImportancePreference(Context context, AttributeSet attrs, int defStyleAttr) {
-        super(context, attrs, defStyleAttr);
-        init(context);
-    }
-
-    public ImportancePreference(Context context, AttributeSet attrs) {
-        super(context, attrs);
-        init(context);
-    }
-
-    public ImportancePreference(Context context) {
-        super(context);
-        init(context);
-    }
-
-    private void init(Context context) {
-        mContext = context;
-        selectedBackground = mContext.getDrawable(R.drawable.button_border_selected);
-        unselectedBackground = mContext.getDrawable(R.drawable.button_border_unselected);
-        setLayoutResource(R.layout.notif_importance_preference);
-    }
-
-    public void setImportance(int importance) {
-        mImportance = importance;
-    }
-
-    public void setConfigurable(boolean configurable) {
-        mIsConfigurable = configurable;
-    }
-
-    public void setDisplayInStatusBar(boolean display) {
-        mDisplayInStatusBar = display;
-    }
-
-    public void setDisplayOnLockscreen(boolean display) {
-        mDisplayOnLockscreen = display;
-    }
-
-    @Override
-    public void onBindViewHolder(final PreferenceViewHolder holder) {
-        super.onBindViewHolder(holder);
-        holder.itemView.setClickable(false);
-
-        mSilenceButton = holder.findViewById(R.id.silence);
-        mAlertButton = holder.findViewById(R.id.alert);
-
-        if (!mIsConfigurable) {
-            mSilenceButton.setEnabled(false);
-            mAlertButton.setEnabled(false);
-        }
-
-        setImportanceSummary((ViewGroup) holder.itemView, mImportance, false);
-        switch (mImportance) {
-            case IMPORTANCE_MIN:
-            case IMPORTANCE_LOW:
-                mAlertButton.setBackground(unselectedBackground);
-                mSilenceButton.setBackground(selectedBackground);
-                mSilenceButton.setSelected(true);
-                break;
-            case IMPORTANCE_HIGH:
-            default:
-                mSilenceButton.setBackground(unselectedBackground);
-                mAlertButton.setBackground(selectedBackground);
-                mAlertButton.setSelected(true);
-                break;
-        }
-
-        mSilenceButton.setOnClickListener(v -> {
-            callChangeListener(IMPORTANCE_LOW);
-            mAlertButton.setBackground(unselectedBackground);
-            mSilenceButton.setBackground(selectedBackground);
-            setImportanceSummary((ViewGroup) holder.itemView, IMPORTANCE_LOW, true);
-            // a11y service won't always read the newly appearing text in the right order if the
-            // selection happens too soon (readback happens on a different thread as layout). post
-            // the selection to make that conflict less likely
-            holder.itemView.post(() -> {
-                mAlertButton.setSelected(false);
-                mSilenceButton.setSelected(true);
-            });
-        });
-        mAlertButton.setOnClickListener(v -> {
-            callChangeListener(IMPORTANCE_DEFAULT);
-            mSilenceButton.setBackground(unselectedBackground);
-            mAlertButton.setBackground(selectedBackground);
-            setImportanceSummary((ViewGroup) holder.itemView, IMPORTANCE_DEFAULT, true);
-            holder.itemView.post(() -> {
-                mSilenceButton.setSelected(false);
-                mAlertButton.setSelected(true);
-            });
-        });
-    }
-
-    private ColorStateList getAccentTint() {
-        return Utils.getColorAccent(getContext());
-    }
-
-    private ColorStateList getRegularTint() {
-        return Utils.getColorAttr(getContext(), android.R.attr.textColorPrimary);
-    }
-
-    void setImportanceSummary(ViewGroup parent, int importance, boolean fromUser) {
-        if (fromUser) {
-            AutoTransition transition = new AutoTransition();
-            transition.setDuration(BUTTON_ANIM_TIME_MS);
-            TransitionManager.beginDelayedTransition(parent, transition);
-        }
-
-        ColorStateList colorAccent = getAccentTint();
-        ColorStateList colorNormal = getRegularTint();
-
-        if (importance >= IMPORTANCE_DEFAULT) {
-            parent.findViewById(R.id.silence_summary).setVisibility(GONE);
-            ((ImageView) parent.findViewById(R.id.silence_icon)).setImageTintList(colorNormal);
-            ((TextView) parent.findViewById(R.id.silence_label)).setTextColor(colorNormal);
-
-            ((ImageView) parent.findViewById(R.id.alert_icon)).setImageTintList(colorAccent);
-            ((TextView) parent.findViewById(R.id.alert_label)).setTextColor(colorAccent);
-
-            parent.findViewById(R.id.alert_summary).setVisibility(VISIBLE);
-        } else {
-            parent.findViewById(R.id.alert_summary).setVisibility(GONE);
-            ((ImageView) parent.findViewById(R.id.alert_icon)).setImageTintList(colorNormal);
-            ((TextView) parent.findViewById(R.id.alert_label)).setTextColor(colorNormal);
-
-            ((ImageView) parent.findViewById(R.id.silence_icon)).setImageTintList(colorAccent);
-            ((TextView) parent.findViewById(R.id.silence_label)).setTextColor(colorAccent);
-            parent.findViewById(R.id.silence_summary).setVisibility(VISIBLE);
-        }
-    }
-}
diff --git a/src/com/android/settings/notification/ImportancePreferenceController.java b/src/com/android/settings/notification/ImportancePreferenceController.java
deleted file mode 100644
index 4ef4593..0000000
--- a/src/com/android/settings/notification/ImportancePreferenceController.java
+++ /dev/null
@@ -1,97 +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.NotificationChannel.USER_LOCKED_SOUND;
-import static android.app.NotificationManager.IMPORTANCE_DEFAULT;
-
-import android.app.NotificationChannel;
-import android.content.Context;
-import android.media.RingtoneManager;
-import android.provider.Settings;
-
-import com.android.settings.core.PreferenceControllerMixin;
-
-import androidx.preference.Preference;
-
-public class ImportancePreferenceController extends NotificationPreferenceController
-        implements PreferenceControllerMixin, Preference.OnPreferenceChangeListener  {
-
-    private static final String KEY_IMPORTANCE = "importance";
-    private NotificationSettingsBase.ImportanceListener mImportanceListener;
-
-    public ImportancePreferenceController(Context context,
-            NotificationSettingsBase.ImportanceListener importanceListener,
-            NotificationBackend backend) {
-        super(context, backend);
-        mImportanceListener = importanceListener;
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return KEY_IMPORTANCE;
-    }
-
-    @Override
-    public boolean isAvailable() {
-        if (!super.isAvailable()) {
-            return false;
-        }
-        if (mChannel == null) {
-            return false;
-        }
-        return !isDefaultChannel();
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        if (mAppRow!= null && mChannel != null) {
-            preference.setEnabled(mAdmin == null && !mChannel.isImportanceLockedByOEM());
-            ImportancePreference pref = (ImportancePreference) preference;
-            pref.setConfigurable(!mChannel.isImportanceLockedByOEM());
-            pref.setImportance(mChannel.getImportance());
-            pref.setDisplayInStatusBar(mBackend.showSilentInStatusBar(mContext.getPackageName()));
-            pref.setDisplayOnLockscreen(Settings.Secure.getInt(mContext.getContentResolver(),
-                    Settings.Secure.LOCK_SCREEN_SHOW_SILENT_NOTIFICATIONS, 1) == 1);
-        }
-    }
-
-    @Override
-    public boolean onPreferenceChange(Preference preference, Object newValue) {
-        if (mChannel != null) {
-            final int importance = (Integer) newValue;
-
-            // If you are moving from an importance level without sound to one with sound,
-            // but the sound you had selected was "Silence",
-            // then set sound for this channel to your default sound,
-            // because you probably intended to cause this channel to actually start making sound.
-            if (mChannel.getImportance() < IMPORTANCE_DEFAULT
-                    && !SoundPreferenceController.hasValidSound(mChannel)
-                    && importance >= IMPORTANCE_DEFAULT) {
-                mChannel.setSound(RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION),
-                        mChannel.getAudioAttributes());
-                mChannel.lockFields(USER_LOCKED_SOUND);
-            }
-
-            mChannel.setImportance(importance);
-            mChannel.lockFields(NotificationChannel.USER_LOCKED_IMPORTANCE);
-            saveChannel();
-            mImportanceListener.onImportanceChanged();
-        }
-        return true;
-    }
-}
diff --git a/src/com/android/settings/notification/LightsPreferenceController.java b/src/com/android/settings/notification/LightsPreferenceController.java
deleted file mode 100644
index 21dabbf..0000000
--- a/src/com/android/settings/notification/LightsPreferenceController.java
+++ /dev/null
@@ -1,83 +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 android.app.NotificationManager;
-import android.content.Context;
-import android.provider.Settings;
-
-import androidx.preference.Preference;
-
-import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settingslib.RestrictedSwitchPreference;
-
-public class LightsPreferenceController extends NotificationPreferenceController
-        implements PreferenceControllerMixin, Preference.OnPreferenceChangeListener {
-
-    private static final String KEY_LIGHTS = "lights";
-
-    public LightsPreferenceController(Context context, NotificationBackend backend) {
-        super(context, backend);
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return KEY_LIGHTS;
-    }
-
-    @Override
-    public boolean isAvailable() {
-        if (!super.isAvailable()) {
-            return false;
-        }
-        if (mChannel == null) {
-            return false;
-        }
-        return checkCanBeVisible(NotificationManager.IMPORTANCE_DEFAULT)
-                && canPulseLight()
-                && !isDefaultChannel();
-    }
-
-    public void updateState(Preference preference) {
-        if (mChannel != null) {
-            RestrictedSwitchPreference pref = (RestrictedSwitchPreference) preference;
-            pref.setDisabledByAdmin(mAdmin);
-            pref.setEnabled(!pref.isDisabledByAdmin());
-            pref.setChecked(mChannel.shouldShowLights());
-        }
-    }
-
-    @Override
-    public boolean onPreferenceChange(Preference preference, Object newValue) {
-        if (mChannel != null) {
-            final boolean lights = (Boolean) newValue;
-            mChannel.enableLights(lights);
-            saveChannel();
-        }
-        return true;
-    }
-
-    boolean canPulseLight() {
-        if (!mContext.getResources()
-                .getBoolean(com.android.internal.R.bool.config_intrusiveNotificationLed)) {
-            return false;
-        }
-        return Settings.System.getInt(mContext.getContentResolver(),
-                Settings.System.NOTIFICATION_LIGHT_PULSE, 0) == 1;
-    }
-
-}
diff --git a/src/com/android/settings/notification/MediaVolumePreferenceController.java b/src/com/android/settings/notification/MediaVolumePreferenceController.java
index ae3146c..e18d2e5 100644
--- a/src/com/android/settings/notification/MediaVolumePreferenceController.java
+++ b/src/com/android/settings/notification/MediaVolumePreferenceController.java
@@ -43,6 +43,11 @@
     }
 
     @Override
+    public boolean isPublicSlice() {
+        return true;
+    }
+
+    @Override
     public boolean useDynamicSliceSummary() {
         return true;
     }
diff --git a/src/com/android/settings/notification/MinImportancePreferenceController.java b/src/com/android/settings/notification/MinImportancePreferenceController.java
deleted file mode 100644
index 0af0c8d..0000000
--- a/src/com/android/settings/notification/MinImportancePreferenceController.java
+++ /dev/null
@@ -1,84 +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_LOW;
-import static android.app.NotificationManager.IMPORTANCE_MIN;
-
-import android.app.NotificationChannel;
-import android.content.Context;
-
-import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settingslib.RestrictedSwitchPreference;
-
-import androidx.preference.Preference;
-
-public class MinImportancePreferenceController extends NotificationPreferenceController
-        implements PreferenceControllerMixin, Preference.OnPreferenceChangeListener  {
-
-    private static final String KEY_IMPORTANCE = "min_importance";
-    private NotificationSettingsBase.ImportanceListener mImportanceListener;
-
-    public MinImportancePreferenceController(Context context,
-            NotificationSettingsBase.ImportanceListener importanceListener,
-            NotificationBackend backend) {
-        super(context, backend);
-        mImportanceListener = importanceListener;
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return KEY_IMPORTANCE;
-    }
-
-    @Override
-    public boolean isAvailable() {
-        if (!super.isAvailable()) {
-            return false;
-        }
-        if (mChannel == null) {
-            return false;
-        }
-        if (isDefaultChannel()) {
-            return false;
-        }
-        return mChannel.getImportance() <= IMPORTANCE_LOW;
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        if (mAppRow != null && mChannel != null) {
-            preference.setEnabled(mAdmin == null && !mChannel.isImportanceLockedByOEM());
-
-            RestrictedSwitchPreference pref = (RestrictedSwitchPreference) preference;
-            pref.setChecked(mChannel.getImportance() == IMPORTANCE_MIN);
-        }
-    }
-
-    @Override
-    public boolean onPreferenceChange(Preference preference, Object newValue) {
-        if (mChannel != null) {
-            final boolean checked = (boolean) newValue;
-
-            mChannel.setImportance(checked ? IMPORTANCE_MIN : IMPORTANCE_LOW);
-            mChannel.lockFields(NotificationChannel.USER_LOCKED_IMPORTANCE);
-            saveChannel();
-            mImportanceListener.onImportanceChanged();
-        }
-        return true;
-    }
-}
diff --git a/src/com/android/settings/notification/NotificationAccessSettings.java b/src/com/android/settings/notification/NotificationAccessSettings.java
index 81edc5b..9df548c 100644
--- a/src/com/android/settings/notification/NotificationAccessSettings.java
+++ b/src/com/android/settings/notification/NotificationAccessSettings.java
@@ -16,66 +16,169 @@
 
 package com.android.settings.notification;
 
-import android.app.Dialog;
+import android.annotation.Nullable;
 import android.app.NotificationManager;
+import android.app.admin.DevicePolicyManager;
 import android.app.settings.SettingsEnums;
 import android.content.ComponentName;
 import android.content.Context;
-import android.os.AsyncTask;
+import android.content.pm.PackageItemInfo;
+import android.content.pm.PackageManager;
+import android.content.pm.ServiceInfo;
 import android.os.Bundle;
+import android.os.UserHandle;
 import android.os.UserManager;
-import android.provider.SearchIndexableResource;
 import android.provider.Settings;
 import android.service.notification.NotificationListenerService;
+import android.util.IconDrawableFactory;
+import android.util.Log;
+import android.view.View;
 import android.widget.Toast;
 
-import androidx.annotation.VisibleForTesting;
-import androidx.appcompat.app.AlertDialog;
-import androidx.fragment.app.Fragment;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
 
 import com.android.settings.R;
-import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
-import com.android.settings.overlay.FeatureFactory;
+import com.android.settings.Utils;
+import com.android.settings.applications.AppInfoBase;
+import com.android.settings.applications.specialaccess.notificationaccess.NotificationAccessDetails;
+import com.android.settings.core.SubSettingLauncher;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
 import com.android.settings.utils.ManagedServiceSettings;
+import com.android.settings.widget.EmptyTextSettings;
+import com.android.settingslib.applications.ServiceListing;
 import com.android.settingslib.search.SearchIndexable;
 
-import java.util.ArrayList;
 import java.util.List;
 
 /**
  * Settings screen for managing notification listener permissions
  */
 @SearchIndexable
-public class NotificationAccessSettings extends ManagedServiceSettings {
-    private static final String TAG = "NotificationAccessSettings";
-    private static final Config CONFIG = new Config.Builder()
-            .setTag(TAG)
-            .setSetting(Settings.Secure.ENABLED_NOTIFICATION_LISTENERS)
-            .setIntentAction(NotificationListenerService.SERVICE_INTERFACE)
-            .setPermission(android.Manifest.permission.BIND_NOTIFICATION_LISTENER_SERVICE)
-            .setNoun("notification listener")
-            .setWarningDialogTitle(R.string.notification_listener_security_warning_title)
-            .setWarningDialogSummary(R.string.notification_listener_security_warning_summary)
-            .setEmptyText(R.string.no_notification_listeners)
-            .build();
+public class NotificationAccessSettings extends EmptyTextSettings {
+    private static final String TAG = "NotifAccessSettings";
+    private static final ManagedServiceSettings.Config CONFIG =
+            new ManagedServiceSettings.Config.Builder()
+                    .setTag(TAG)
+                    .setSetting(Settings.Secure.ENABLED_NOTIFICATION_LISTENERS)
+                    .setIntentAction(NotificationListenerService.SERVICE_INTERFACE)
+                    .setPermission(android.Manifest.permission.BIND_NOTIFICATION_LISTENER_SERVICE)
+                    .setNoun("notification listener")
+                    .setWarningDialogTitle(R.string.notification_listener_security_warning_title)
+                    .setWarningDialogSummary(
+                            R.string.notification_listener_security_warning_summary)
+                    .setEmptyText(R.string.no_notification_listeners)
+                    .build();
 
     private NotificationManager mNm;
+    protected Context mContext;
+    private PackageManager mPm;
+    private DevicePolicyManager mDpm;
+    private ServiceListing mServiceListing;
+    private IconDrawableFactory mIconDrawableFactory;
 
     @Override
     public void onCreate(Bundle icicle) {
         super.onCreate(icicle);
-        final Context ctx = getContext();
-        if (UserManager.get(ctx).isManagedProfile()) {
+
+        mContext = getActivity();
+        mPm = mContext.getPackageManager();
+        mDpm = (DevicePolicyManager) mContext.getSystemService(Context.DEVICE_POLICY_SERVICE);
+        mIconDrawableFactory = IconDrawableFactory.newInstance(mContext);
+        mServiceListing = new ServiceListing.Builder(mContext)
+                .setPermission(CONFIG.permission)
+                .setIntentAction(CONFIG.intentAction)
+                .setNoun(CONFIG.noun)
+                .setSetting(CONFIG.setting)
+                .setTag(CONFIG.tag)
+                .build();
+        mServiceListing.addCallback(this::updateList);
+        setPreferenceScreen(getPreferenceManager().createPreferenceScreen(mContext));
+
+        if (UserManager.get(mContext).isManagedProfile()) {
             // Apps in the work profile do not support notification listeners.
-            Toast.makeText(ctx, R.string.notification_settings_work_profile, Toast.LENGTH_SHORT)
-                .show();
+            Toast.makeText(mContext, R.string.notification_settings_work_profile,
+                    Toast.LENGTH_SHORT).show();
             finish();
         }
     }
 
     @Override
+    public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
+        super.onViewCreated(view, savedInstanceState);
+        setEmptyText(CONFIG.emptyText);
+    }
+
+    @Override
+    public void onResume() {
+        super.onResume();
+        mServiceListing.reload();
+        mServiceListing.setListening(true);
+    }
+
+    @Override
+    public void onPause() {
+        super.onPause();
+        mServiceListing.setListening(false);
+    }
+
+    private void updateList(List<ServiceInfo> services) {
+        final UserManager um = (UserManager) mContext.getSystemService(Context.USER_SERVICE);
+        final int managedProfileId = Utils.getManagedProfileId(um, UserHandle.myUserId());
+
+        final PreferenceScreen screen = getPreferenceScreen();
+        screen.removeAll();
+        services.sort(new PackageItemInfo.DisplayNameComparator(mPm));
+        for (ServiceInfo service : services) {
+            final ComponentName cn = new ComponentName(service.packageName, service.name);
+            CharSequence title = null;
+            try {
+                title = mPm.getApplicationInfoAsUser(
+                        service.packageName, 0, UserHandle.myUserId()).loadLabel(mPm);
+            } catch (PackageManager.NameNotFoundException e) {
+                // unlikely, as we are iterating over live services.
+                Log.e(TAG, "can't find package name", e);
+            }
+
+            final Preference pref = new Preference(getPrefContext());
+            pref.setTitle(title);
+            pref.setIcon(mIconDrawableFactory.getBadgedIcon(service, service.applicationInfo,
+                    UserHandle.getUserId(service.applicationInfo.uid)));
+            pref.setKey(cn.flattenToString());
+            pref.setSummary(mNm.isNotificationListenerAccessGranted(cn)
+                    ? R.string.app_permission_summary_allowed
+                    : R.string.app_permission_summary_not_allowed);
+            if (managedProfileId != UserHandle.USER_NULL
+                    && !mDpm.isNotificationListenerServicePermitted(
+                    service.packageName, managedProfileId)) {
+                pref.setSummary(R.string.work_profile_notification_access_blocked_summary);
+            }
+            pref.setOnPreferenceClickListener(preference -> {
+                final Bundle args = new Bundle();
+                args.putString(AppInfoBase.ARG_PACKAGE_NAME, cn.getPackageName());
+                args.putInt(AppInfoBase.ARG_PACKAGE_UID, service.applicationInfo.uid);
+
+                Bundle extras = new Bundle();
+                extras.putString(Settings.EXTRA_NOTIFICATION_LISTENER_COMPONENT_NAME,
+                        cn.flattenToString());
+
+                new SubSettingLauncher(getContext())
+                        .setDestination(NotificationAccessDetails.class.getName())
+                        .setSourceMetricsCategory(getMetricsCategory())
+                        .setTitleRes(R.string.manage_zen_access_title)
+                        .setArguments(args)
+                        .setExtras(extras)
+                        .setUserHandle(UserHandle.getUserHandleForUid(service.applicationInfo.uid))
+                        .launch();
+                        return true;
+                    });
+            pref.setKey(cn.flattenToString());
+            screen.addPreference(pref);
+        }
+        highlightPreferenceIfNeeded();
+    }
+
+    @Override
     public int getMetricsCategory() {
         return SettingsEnums.NOTIFICATION_ACCESS;
     }
@@ -87,120 +190,10 @@
     }
 
     @Override
-    protected Config getConfig() {
-        return CONFIG;
-    }
-
-    @Override
-    protected boolean setEnabled(ComponentName service, String title, boolean enable) {
-        logSpecialPermissionChange(enable, service.getPackageName());
-        if (!enable) {
-            if (!isServiceEnabled(service)) {
-                return true; // already disabled
-            }
-            // show a friendly dialog
-            new FriendlyWarningDialogFragment()
-                    .setServiceInfo(service, title, this)
-                    .show(getFragmentManager(), "friendlydialog");
-            return false;
-        } else {
-            if (isServiceEnabled(service)) {
-                return true; // already enabled
-            }
-            // show a scary dialog
-            new ScaryWarningDialogFragment()
-                    .setServiceInfo(service, title, this)
-                    .show(getFragmentManager(), "dialog");
-            return false;
-        }
-    }
-
-    @Override
-    protected boolean isServiceEnabled(ComponentName cn) {
-        return mNm.isNotificationListenerAccessGranted(cn);
-    }
-
-    @Override
-    protected void enable(ComponentName service) {
-        mNm.setNotificationListenerAccessGranted(service, true);
-    }
-
-    @Override
     protected int getPreferenceScreenResId() {
         return R.xml.notification_access_settings;
     }
 
-    @VisibleForTesting
-    void logSpecialPermissionChange(boolean enable, String packageName) {
-        int logCategory = enable ? SettingsEnums.APP_SPECIAL_PERMISSION_NOTIVIEW_ALLOW
-                : SettingsEnums.APP_SPECIAL_PERMISSION_NOTIVIEW_DENY;
-        FeatureFactory.getFactory(getContext()).getMetricsFeatureProvider().action(getContext(),
-                logCategory, packageName);
-    }
-
-    private static void disable(final NotificationAccessSettings parent, final ComponentName cn) {
-        parent.mNm.setNotificationListenerAccessGranted(cn, false);
-        AsyncTask.execute(() -> {
-            if (!parent.mNm.isNotificationPolicyAccessGrantedForPackage(
-                    cn.getPackageName())) {
-                parent.mNm.removeAutomaticZenRules(cn.getPackageName());
-            }
-        });
-    }
-
-    public static class FriendlyWarningDialogFragment extends InstrumentedDialogFragment {
-        static final String KEY_COMPONENT = "c";
-        static final String KEY_LABEL = "l";
-
-        public FriendlyWarningDialogFragment setServiceInfo(ComponentName cn, String label,
-                Fragment target) {
-            Bundle args = new Bundle();
-            args.putString(KEY_COMPONENT, cn.flattenToString());
-            args.putString(KEY_LABEL, label);
-            setArguments(args);
-            setTargetFragment(target, 0);
-            return this;
-        }
-
-        @Override
-        public int getMetricsCategory() {
-            return SettingsEnums.DIALOG_DISABLE_NOTIFICATION_ACCESS;
-        }
-
-        @Override
-        public Dialog onCreateDialog(Bundle savedInstanceState) {
-            final Bundle args = getArguments();
-            final String label = args.getString(KEY_LABEL);
-            final ComponentName cn = ComponentName.unflattenFromString(args
-                    .getString(KEY_COMPONENT));
-            NotificationAccessSettings parent = (NotificationAccessSettings) getTargetFragment();
-
-            final String summary = getResources().getString(
-                    R.string.notification_listener_disable_warning_summary, label);
-            return new AlertDialog.Builder(getContext())
-                    .setMessage(summary)
-                    .setCancelable(true)
-                    .setPositiveButton(R.string.notification_listener_disable_warning_confirm,
-                            (dialog, id) -> disable(parent, cn))
-                    .setNegativeButton(R.string.notification_listener_disable_warning_cancel,
-                            (dialog, id) -> {
-                                // pass
-                            })
-                    .create();
-        }
-    }
-
-    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
-                        boolean enabled) {
-                    final List<SearchIndexableResource> result = new ArrayList<>();
-
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.notification_access_settings;
-                    result.add(sir);
-                    return result;
-                }
-            };
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.notification_access_settings);
 }
diff --git a/src/com/android/settings/notification/NotificationAppPreference.java b/src/com/android/settings/notification/NotificationAppPreference.java
deleted file mode 100644
index dfa3e368..0000000
--- a/src/com/android/settings/notification/NotificationAppPreference.java
+++ /dev/null
@@ -1,119 +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.notification;
-
-import android.content.Context;
-import android.util.AttributeSet;
-import android.view.View;
-import android.widget.Switch;
-
-import androidx.preference.PreferenceViewHolder;
-
-import com.android.settings.R;
-import com.android.settings.widget.MasterSwitchPreference;
-import com.android.settingslib.RestrictedLockUtils;
-
-/**
- * Shows an app icon, title and summary. Has a second switch touch target.
- */
-public class NotificationAppPreference extends MasterSwitchPreference {
-
-    private Switch mSwitch;
-    private boolean mChecked;
-    private boolean mEnableSwitch = true;
-
-    public NotificationAppPreference(Context context) {
-        super(context);
-    }
-
-    public NotificationAppPreference(Context context, AttributeSet attrs) {
-        super(context, attrs);
-    }
-
-    public NotificationAppPreference(Context context, AttributeSet attrs,
-            int defStyleAttr, int defStyleRes) {
-        super(context, attrs, defStyleAttr, defStyleRes);
-    }
-
-    public NotificationAppPreference(Context context, AttributeSet attrs, int defStyleAttr) {
-        super(context, attrs, defStyleAttr);
-    }
-
-    @Override
-    protected int getSecondTargetResId() {
-        return R.layout.preference_widget_master_switch;
-    }
-
-    @Override
-    public void onBindViewHolder(PreferenceViewHolder view) {
-        super.onBindViewHolder(view);
-
-        final View widgetView = view.findViewById(android.R.id.widget_frame);
-        if (widgetView != null) {
-            widgetView.setOnClickListener(new View.OnClickListener() {
-                @Override
-                public void onClick(View v) {
-                    if (mSwitch != null && !mSwitch.isEnabled()) {
-                        return;
-                    }
-                    setChecked(!mChecked);
-                    if (!callChangeListener(mChecked)) {
-                        setChecked(!mChecked);
-                    } else {
-                        persistBoolean(mChecked);
-                    }
-                }
-            });
-        }
-
-        mSwitch = (Switch) view.findViewById(R.id.switchWidget);
-        if (mSwitch != null) {
-            mSwitch.setContentDescription(getTitle());
-            mSwitch.setChecked(mChecked);
-            mSwitch.setEnabled(mEnableSwitch);
-        }
-    }
-
-    public boolean isChecked() {
-        return mSwitch != null && mChecked;
-    }
-
-    public void setChecked(boolean checked) {
-        mChecked = checked;
-        if (mSwitch != null) {
-            mSwitch.setChecked(checked);
-        }
-    }
-
-    public void setSwitchEnabled(boolean enabled) {
-        mEnableSwitch = enabled;
-        if (mSwitch != null) {
-            mSwitch.setEnabled(enabled);
-        }
-    }
-
-    /**
-     * If admin is not null, disables the switch.
-     * Otherwise, keep it enabled.
-     */
-    public void setDisabledByAdmin(RestrictedLockUtils.EnforcedAdmin admin) {
-        setSwitchEnabled(admin == null);
-    }
-
-    public Switch getSwitch() {
-        return mSwitch;
-    }
-}
diff --git a/src/com/android/settings/notification/NotificationAssistantPicker.java b/src/com/android/settings/notification/NotificationAssistantPicker.java
index 868e0a9..fcee56a 100644
--- a/src/com/android/settings/notification/NotificationAssistantPicker.java
+++ b/src/com/android/settings/notification/NotificationAssistantPicker.java
@@ -23,18 +23,14 @@
 import android.content.pm.PackageManager;
 import android.content.pm.ServiceInfo;
 import android.graphics.drawable.Drawable;
-import android.os.RemoteException;
-import android.provider.SearchIndexableResource;
 import android.provider.Settings;
 import android.service.notification.NotificationAssistantService;
 import android.text.TextUtils;
-import android.util.Log;
 
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.settings.R;
 import com.android.settings.applications.defaultapps.DefaultAppPickerFragment;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
 import com.android.settingslib.applications.DefaultAppInfo;
 import com.android.settingslib.applications.ServiceListing;
 import com.android.settingslib.widget.CandidateInfo;
@@ -128,19 +124,8 @@
         mCandidateInfos = list;
     }
 
-    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
-                        boolean enabled) {
-                    final List<SearchIndexableResource> result = new ArrayList<>();
-
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.notification_assistant_settings;
-                    result.add(sir);
-                    return result;
-                }
-            };
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.notification_assistant_settings);
 
     public static class CandidateNone extends CandidateInfo {
 
diff --git a/src/com/android/settings/notification/NotificationBackend.java b/src/com/android/settings/notification/NotificationBackend.java
index a8396a1..e1b2138 100644
--- a/src/com/android/settings/notification/NotificationBackend.java
+++ b/src/com/android/settings/notification/NotificationBackend.java
@@ -17,10 +17,13 @@
 
 import static android.app.NotificationManager.IMPORTANCE_NONE;
 import static android.app.NotificationManager.IMPORTANCE_UNSPECIFIED;
+import static android.content.pm.LauncherApps.ShortcutQuery.FLAG_MATCH_DYNAMIC;
+import static android.content.pm.LauncherApps.ShortcutQuery.FLAG_MATCH_PINNED;
 
 import android.app.INotificationManager;
 import android.app.NotificationChannel;
 import android.app.NotificationChannelGroup;
+import android.app.NotificationHistory;
 import android.app.role.RoleManager;
 import android.app.usage.IUsageStatsManager;
 import android.app.usage.UsageEvents;
@@ -28,14 +31,17 @@
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.ApplicationInfo;
+import android.content.pm.LauncherApps;
 import android.content.pm.PackageInfo;
 import android.content.pm.PackageManager;
 import android.content.pm.ParceledListSlice;
+import android.content.pm.ShortcutInfo;
+import android.content.pm.ShortcutManager;
 import android.graphics.drawable.Drawable;
 import android.os.RemoteException;
 import android.os.ServiceManager;
 import android.os.UserHandle;
-import android.service.notification.NotifyingApp;
+import android.service.notification.ConversationChannelWrapper;
 import android.text.format.DateUtils;
 import android.util.IconDrawableFactory;
 import android.util.Log;
@@ -44,9 +50,11 @@
 
 import com.android.settingslib.R;
 import com.android.settingslib.Utils;
+import com.android.settingslib.notification.ConversationIconFactory;
 import com.android.settingslib.utils.StringUtil;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -153,7 +161,7 @@
         try {
             if (onlyHasDefaultChannel(pkg, uid)) {
                 NotificationChannel defaultChannel =
-                        getChannel(pkg, uid, NotificationChannel.DEFAULT_CHANNEL_ID);
+                        getChannel(pkg, uid, NotificationChannel.DEFAULT_CHANNEL_ID, null);
                 defaultChannel.setImportance(enabled ? IMPORTANCE_UNSPECIFIED : IMPORTANCE_NONE);
                 updateChannel(pkg, uid, defaultChannel);
             }
@@ -203,13 +211,17 @@
         }
     }
 
-
     public NotificationChannel getChannel(String pkg, int uid, String channelId) {
+        return getChannel(pkg, uid, channelId, null);
+    }
+
+    public NotificationChannel getChannel(String pkg, int uid, String channelId,
+            String conversationId) {
         if (channelId == null) {
             return null;
         }
         try {
-            return sINM.getNotificationChannelForPackage(pkg, uid, channelId, true);
+            return sINM.getNotificationChannelForPackage(pkg, uid, channelId, conversationId, true);
         } catch (Exception e) {
             Log.w(TAG, "Error calling NoMan", e);
             return null;
@@ -237,6 +249,24 @@
         }
     }
 
+    public ParceledListSlice<ConversationChannelWrapper> getConversations(String pkg, int uid) {
+        try {
+            return sINM.getConversationsForPackage(pkg, uid);
+        } catch (Exception e) {
+            Log.w(TAG, "Error calling NoMan", e);
+            return ParceledListSlice.emptyList();
+        }
+    }
+
+    public ParceledListSlice<ConversationChannelWrapper> getConversations(boolean onlyImportant) {
+        try {
+            return sINM.getConversations(onlyImportant);
+        } catch (Exception e) {
+            Log.w(TAG, "Error calling NoMan", e);
+            return ParceledListSlice.emptyList();
+        }
+    }
+
     /**
      * Returns all notification channels associated with the package and uid that will bypass DND
      */
@@ -367,6 +397,15 @@
         return false;
     }
 
+    public NotificationHistory getNotificationHistory(String pkg) {
+        try {
+            return sINM.getNotificationHistory(pkg);
+        } catch (Exception e) {
+            Log.w(TAG, "Error calling NoMan", e);
+        }
+        return new NotificationHistory();
+    }
+
     protected void recordAggregatedUsageEvents(Context context, AppRow appRow) {
         long now = System.currentTimeMillis();
         long startTime = now - (DateUtils.DAY_IN_MILLIS * DAYS_TO_CHECK);
@@ -464,6 +503,40 @@
         }
     }
 
+    public ShortcutInfo getConversationInfo(Context context, String pkg, int uid, String id) {
+        LauncherApps la = context.getSystemService(LauncherApps.class);
+
+        LauncherApps.ShortcutQuery query = new LauncherApps.ShortcutQuery()
+                .setPackage(pkg)
+                .setQueryFlags(FLAG_MATCH_DYNAMIC | FLAG_MATCH_PINNED)
+                .setShortcutIds(Arrays.asList(id));
+        List<ShortcutInfo> shortcuts = la.getShortcuts(
+                query, UserHandle.of(UserHandle.getUserId(uid)));
+        if (shortcuts != null && !shortcuts.isEmpty()) {
+           return shortcuts.get(0);
+        }
+        return null;
+    }
+
+    public Drawable getConversationDrawable(Context context, ShortcutInfo info, String pkg,
+            int uid, boolean important) {
+        if (info == null) {
+            return null;
+        }
+        ConversationIconFactory iconFactory = new ConversationIconFactory(context,
+                context.getSystemService(LauncherApps.class),
+                context.getPackageManager(),
+                IconDrawableFactory.newInstance(context, false),
+                context.getResources().getDimensionPixelSize(
+                        R.dimen.conversation_icon_size));
+        return iconFactory.getConversationDrawable(info, pkg, uid, important);
+    }
+
+    public void requestPinShortcut(Context context, ShortcutInfo shortcutInfo) {
+        ShortcutManager sm = context.getSystemService(ShortcutManager.class);
+        sm.requestPinShortcut(shortcutInfo, null);
+    }
+
     /**
      * NotificationsSentState contains how often an app sends notifications and how recently it sent
      * one.
diff --git a/src/com/android/settings/notification/NotificationFooterPreference.java b/src/com/android/settings/notification/NotificationFooterPreference.java
deleted file mode 100644
index abaffc8..0000000
--- a/src/com/android/settings/notification/NotificationFooterPreference.java
+++ /dev/null
@@ -1,58 +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 android.content.Context;
-import android.text.method.LinkMovementMethod;
-import android.util.AttributeSet;
-import android.widget.TextView;
-
-import androidx.core.content.res.TypedArrayUtils;
-import androidx.preference.Preference;
-import androidx.preference.PreferenceViewHolder;
-
-import com.android.settingslib.R;
-
-/**
- * FooterPreference that can have any key or ordering.
- */
-public class NotificationFooterPreference extends Preference {
-
-    public NotificationFooterPreference(Context context, AttributeSet attrs) {
-        super(context, attrs, TypedArrayUtils.getAttr(
-                context, R.attr.footerPreferenceStyle, android.R.attr.preferenceStyle));
-        init();
-    }
-
-    public NotificationFooterPreference(Context context) {
-        this(context, null);
-    }
-
-    @Override
-    public void onBindViewHolder(PreferenceViewHolder holder) {
-        super.onBindViewHolder(holder);
-        TextView title = holder.itemView.findViewById(android.R.id.title);
-        title.setMovementMethod(new LinkMovementMethod());
-        title.setClickable(false);
-        title.setLongClickable(false);
-    }
-
-    private void init() {
-        setIcon(R.drawable.ic_info_outline_24dp);
-        setSelectable(false);
-    }
-}
diff --git a/src/com/android/settings/notification/NotificationHistoryPreferenceController.java b/src/com/android/settings/notification/NotificationHistoryPreferenceController.java
new file mode 100644
index 0000000..095c1b6
--- /dev/null
+++ b/src/com/android/settings/notification/NotificationHistoryPreferenceController.java
@@ -0,0 +1,128 @@
+/*
+ * 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.notification;
+
+import static android.provider.Settings.Secure.NOTIFICATION_HISTORY_ENABLED;
+
+import android.content.ContentResolver;
+import android.content.Context;
+import android.database.ContentObserver;
+import android.net.Uri;
+import android.os.Handler;
+import android.provider.Settings;
+import android.text.TextUtils;
+
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settings.core.TogglePreferenceController;
+import com.android.settingslib.core.lifecycle.LifecycleObserver;
+import com.android.settingslib.core.lifecycle.events.OnPause;
+import com.android.settingslib.core.lifecycle.events.OnResume;
+
+public class NotificationHistoryPreferenceController extends TogglePreferenceController
+        implements PreferenceControllerMixin, Preference.OnPreferenceChangeListener,
+        LifecycleObserver, OnResume, OnPause {
+
+    private static final String TAG = "NotifHistoryPrefContr";
+    @VisibleForTesting
+    static final int ON = 1;
+    @VisibleForTesting
+    static final int OFF = 0;
+
+    private SettingObserver mSettingObserver;
+
+    public NotificationHistoryPreferenceController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        Preference preference = screen.findPreference(NOTIFICATION_HISTORY_ENABLED);
+        if (preference != null) {
+            mSettingObserver = new SettingObserver(preference);
+        }
+    }
+
+    @Override
+    public void onResume() {
+        if (mSettingObserver != null) {
+            mSettingObserver.register(mContext.getContentResolver(), true /* register */);
+        }
+    }
+
+    @Override
+    public void onPause() {
+        if (mSettingObserver != null) {
+            mSettingObserver.register(mContext.getContentResolver(), false /* register */);
+        }
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return AVAILABLE;
+    }
+
+    @Override
+    public boolean isSliceable() {
+        return false;
+    }
+
+    @Override
+    public boolean isChecked() {
+        return Settings.Secure.getInt(mContext.getContentResolver(),
+                NOTIFICATION_HISTORY_ENABLED, ON) == ON;
+    }
+
+    @Override
+    public boolean setChecked(boolean isChecked) {
+        return Settings.Secure.putInt(mContext.getContentResolver(),
+                NOTIFICATION_HISTORY_ENABLED, isChecked ? ON : OFF);
+    }
+
+    class SettingObserver extends ContentObserver {
+
+        private final Uri NOTIFICATION_URI =
+                Settings.Secure.getUriFor(NOTIFICATION_HISTORY_ENABLED);
+
+        private final Preference mPreference;
+
+        public SettingObserver(Preference preference) {
+            super(new Handler());
+            mPreference = preference;
+        }
+
+        public void register(ContentResolver cr, boolean register) {
+            if (register) {
+                cr.registerContentObserver(NOTIFICATION_URI, false, this);
+            } else {
+                cr.unregisterContentObserver(this);
+            }
+        }
+
+        @Override
+        public void onChange(boolean selfChange, Uri uri) {
+            super.onChange(selfChange, uri);
+            if (NOTIFICATION_URI.equals(uri)) {
+                updateState(mPreference);
+            }
+        }
+    }
+}
diff --git a/src/com/android/settings/notification/NotificationPeopleStripPreferenceController.java b/src/com/android/settings/notification/NotificationPeopleStripPreferenceController.java
new file mode 100644
index 0000000..e16443e
--- /dev/null
+++ b/src/com/android/settings/notification/NotificationPeopleStripPreferenceController.java
@@ -0,0 +1,117 @@
+/*
+ * 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.notification;
+
+
+import android.content.ContentResolver;
+import android.content.Context;
+import android.database.ContentObserver;
+import android.net.Uri;
+import android.os.Handler;
+import android.os.Looper;
+import android.provider.Settings;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settings.core.TogglePreferenceController;
+import com.android.settingslib.core.lifecycle.LifecycleObserver;
+import com.android.settingslib.core.lifecycle.events.OnPause;
+import com.android.settingslib.core.lifecycle.events.OnResume;
+
+import com.google.common.annotations.VisibleForTesting;
+
+/** Controls toggle setting for people strip in system ui. */
+public class NotificationPeopleStripPreferenceController extends TogglePreferenceController
+        implements PreferenceControllerMixin, Preference.OnPreferenceChangeListener,
+        LifecycleObserver, OnResume, OnPause {
+
+    @VisibleForTesting
+    static final int ON = 1;
+    @VisibleForTesting
+    static final int OFF = 0;
+
+    private final Uri mPeopleStripUri =
+            Settings.Secure.getUriFor(Settings.Secure.PEOPLE_STRIP);
+
+    private Preference mPreference;
+    private Runnable mUnregisterOnPropertiesChangedListener;
+
+    public NotificationPeopleStripPreferenceController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        mPreference = screen.findPreference("notification_people_strip");
+    }
+
+    @Override
+    public void onResume() {
+        if (mPreference == null) {
+            return;
+        }
+        ContentObserver observer = new ContentObserver(new Handler(Looper.getMainLooper())) {
+            @Override
+            public void onChange(boolean selfChange) {
+                super.onChange(selfChange);
+                updateState(mPreference);
+            }
+        };
+        ContentResolver contentResolver = mContext.getContentResolver();
+        mUnregisterOnPropertiesChangedListener =
+                () -> contentResolver.unregisterContentObserver(observer);
+        contentResolver.registerContentObserver(mPeopleStripUri, false, observer);
+    }
+
+    @Override
+    public void onPause() {
+        if (mUnregisterOnPropertiesChangedListener != null) {
+            mUnregisterOnPropertiesChangedListener.run();
+            mUnregisterOnPropertiesChangedListener = null;
+        }
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return AVAILABLE;
+    }
+
+    @Override
+    public boolean isSliceable() {
+        return false;
+    }
+
+    @Override
+    public boolean isChecked() {
+        int value = Settings.Secure.getInt(
+                mContext.getContentResolver(),
+                Settings.Secure.PEOPLE_STRIP,
+                OFF);
+        return value != OFF;
+    }
+
+    @Override
+    public boolean setChecked(boolean isChecked) {
+        return Settings.Secure.putInt(
+                mContext.getContentResolver(),
+                Settings.Secure.PEOPLE_STRIP,
+                isChecked ? ON : OFF);
+    }
+}
diff --git a/src/com/android/settings/notification/NotificationPreferenceController.java b/src/com/android/settings/notification/NotificationPreferenceController.java
deleted file mode 100644
index b5acd2d..0000000
--- a/src/com/android/settings/notification/NotificationPreferenceController.java
+++ /dev/null
@@ -1,164 +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_NONE;
-
-import android.annotation.Nullable;
-import android.app.NotificationChannel;
-import android.app.NotificationChannelGroup;
-import android.app.NotificationManager;
-import android.content.Context;
-import android.content.pm.PackageManager;
-import android.os.UserManager;
-import android.util.Log;
-
-import androidx.preference.Preference;
-
-import com.android.settingslib.RestrictedLockUtils;
-import com.android.settingslib.core.AbstractPreferenceController;
-
-import java.util.Objects;
-
-/**
- * Parent class for preferences appearing on notification setting pages at the app,
- * notification channel group, or notification channel level.
- */
-public abstract class NotificationPreferenceController extends AbstractPreferenceController {
-    private static final String TAG = "ChannelPrefContr";
-    @Nullable
-    protected NotificationChannel mChannel;
-    @Nullable
-    protected NotificationChannelGroup mChannelGroup;
-    protected RestrictedLockUtils.EnforcedAdmin mAdmin;
-    protected NotificationBackend.AppRow mAppRow;
-    protected final NotificationManager mNm;
-    protected final NotificationBackend mBackend;
-    protected final Context mContext;
-    protected final UserManager mUm;
-    protected final PackageManager mPm;
-    protected Preference mPreference;
-
-    public NotificationPreferenceController(Context context, NotificationBackend backend) {
-        super(context);
-        mContext = context;
-        mNm = (NotificationManager) mContext.getSystemService(Context.NOTIFICATION_SERVICE);
-        mBackend = backend;
-        mUm = (UserManager) mContext.getSystemService(Context.USER_SERVICE);
-        mPm = mContext.getPackageManager();
-    }
-
-    /**
-     * Returns true if field's parent object is not blocked.
-     */
-    @Override
-    public boolean isAvailable() {
-        if (mAppRow == null) {
-            return false;
-        }
-        if (mAppRow.banned) {
-            return false;
-        }
-        if (mChannelGroup != null) {
-            if (mChannelGroup.isBlocked()) {
-                return false;
-            }
-        }
-        if (mChannel != null) {
-            return mChannel.getImportance() != IMPORTANCE_NONE;
-        }
-        return true;
-    }
-
-    protected void onResume(NotificationBackend.AppRow appRow,
-            @Nullable NotificationChannel channel, @Nullable NotificationChannelGroup group,
-            RestrictedLockUtils.EnforcedAdmin admin) {
-        mAppRow = appRow;
-        mChannel = channel;
-        mChannelGroup = group;
-        mAdmin = admin;
-    }
-
-    protected boolean checkCanBeVisible(int minImportanceVisible) {
-        if (mChannel == null) {
-            Log.w(TAG, "No channel");
-            return false;
-        }
-
-        int importance = mChannel.getImportance();
-        if (importance == NotificationManager.IMPORTANCE_UNSPECIFIED) {
-            return true;
-        }
-        return importance >= minImportanceVisible;
-    }
-
-    protected void saveChannel() {
-        if (mChannel != null && mAppRow != null) {
-            mBackend.updateChannel(mAppRow.pkg, mAppRow.uid, mChannel);
-        }
-    }
-
-    protected boolean isChannelBlockable() {
-        return isChannelBlockable(mChannel);
-    }
-
-    protected boolean isChannelBlockable(NotificationChannel channel) {
-        if (channel != null && mAppRow != null) {
-            if (channel.isImportanceLockedByCriticalDeviceFunction()
-                    || channel.isImportanceLockedByOEM()) {
-                return channel.getImportance() == IMPORTANCE_NONE;
-            }
-
-            return channel.isBlockableSystem() || !mAppRow.systemApp
-                    || channel.getImportance() == IMPORTANCE_NONE;
-        }
-        return false;
-    }
-
-    protected boolean isChannelConfigurable(NotificationChannel channel) {
-        if (channel != null && mAppRow != null) {
-            return !channel.isImportanceLockedByOEM();
-        }
-        return false;
-    }
-
-    protected boolean isChannelGroupBlockable() {
-        return isChannelGroupBlockable(mChannelGroup);
-    }
-
-    protected boolean isChannelGroupBlockable(NotificationChannelGroup group) {
-        if (group != null && mAppRow != null) {
-            if (!mAppRow.systemApp) {
-                return true;
-            }
-
-            return group.isBlocked();
-        }
-        return false;
-    }
-
-    protected boolean hasValidGroup() {
-        return mChannelGroup != null;
-    }
-
-    protected final boolean isDefaultChannel() {
-        if (mChannel == null) {
-            return false;
-        }
-        return Objects.equals(NotificationChannel.DEFAULT_CHANNEL_ID, mChannel.getId());
-    }
-}
diff --git a/src/com/android/settings/notification/NotificationSettingsBase.java b/src/com/android/settings/notification/NotificationSettingsBase.java
deleted file mode 100644
index 27a2de0..0000000
--- a/src/com/android/settings/notification/NotificationSettingsBase.java
+++ /dev/null
@@ -1,325 +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.notification;
-
-import static android.app.NotificationManager.IMPORTANCE_LOW;
-import static android.app.NotificationManager.IMPORTANCE_NONE;
-
-import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
-
-import android.app.Notification;
-import android.app.NotificationChannel;
-import android.app.NotificationChannelGroup;
-import android.app.NotificationManager;
-import android.app.role.RoleManager;
-import android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.Intent;
-import android.content.IntentFilter;
-import android.content.pm.ActivityInfo;
-import android.content.pm.PackageInfo;
-import android.content.pm.PackageManager;
-import android.content.pm.PackageManager.NameNotFoundException;
-import android.content.pm.ResolveInfo;
-import android.graphics.BlendMode;
-import android.graphics.BlendModeColorFilter;
-import android.graphics.drawable.Drawable;
-import android.graphics.drawable.GradientDrawable;
-import android.graphics.drawable.LayerDrawable;
-import android.os.Bundle;
-import android.os.UserHandle;
-import android.provider.Settings;
-import android.text.TextUtils;
-import android.util.Log;
-import android.widget.Toast;
-
-import androidx.preference.Preference;
-import androidx.preference.PreferenceGroup;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.R;
-import com.android.settings.SettingsActivity;
-import com.android.settings.Utils;
-import com.android.settings.applications.AppInfoBase;
-import com.android.settings.core.SubSettingLauncher;
-import com.android.settings.dashboard.DashboardFragment;
-import com.android.settings.widget.MasterSwitchPreference;
-import com.android.settingslib.RestrictedLockUtilsInternal;
-
-import java.util.ArrayList;
-import java.util.Comparator;
-import java.util.List;
-
-abstract public class NotificationSettingsBase extends DashboardFragment {
-    private static final String TAG = "NotifiSettingsBase";
-    private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
-
-    protected PackageManager mPm;
-    protected NotificationBackend mBackend = new NotificationBackend();
-    protected NotificationManager mNm;
-    protected RoleManager mRm;
-    protected Context mContext;
-
-    protected int mUid;
-    protected int mUserId;
-    protected String mPkg;
-    protected PackageInfo mPkgInfo;
-    protected EnforcedAdmin mSuspendedAppsAdmin;
-    protected NotificationChannelGroup mChannelGroup;
-    protected NotificationChannel mChannel;
-    protected NotificationBackend.AppRow mAppRow;
-
-    protected boolean mShowLegacyChannelConfig = false;
-    protected boolean mListeningToPackageRemove;
-
-    protected List<NotificationPreferenceController> mControllers = new ArrayList<>();
-    protected ImportanceListener mImportanceListener = new ImportanceListener();
-
-    protected Intent mIntent;
-    protected Bundle mArgs;
-
-    @Override
-    public void onAttach(Context context) {
-        super.onAttach(context);
-        mContext = getActivity();
-        mIntent = getActivity().getIntent();
-        mArgs = getArguments();
-
-        mPm = getPackageManager();
-        mNm = NotificationManager.from(mContext);
-        mRm = mContext.getSystemService(RoleManager.class);
-
-        mPkg = mArgs != null && mArgs.containsKey(AppInfoBase.ARG_PACKAGE_NAME)
-                ? mArgs.getString(AppInfoBase.ARG_PACKAGE_NAME)
-                : mIntent.getStringExtra(Settings.EXTRA_APP_PACKAGE);
-        mUid = mArgs != null && mArgs.containsKey(AppInfoBase.ARG_PACKAGE_UID)
-                ? mArgs.getInt(AppInfoBase.ARG_PACKAGE_UID)
-                : mIntent.getIntExtra(Settings.EXTRA_APP_UID, -1);
-
-        if (mUid < 0) {
-            try {
-                mUid = mPm.getPackageUid(mPkg, 0);
-            } catch (NameNotFoundException e) {
-            }
-        }
-
-        mPkgInfo = findPackageInfo(mPkg, mUid);
-
-        if (mPkgInfo != null) {
-            mUserId = UserHandle.getUserId(mUid);
-            mSuspendedAppsAdmin = RestrictedLockUtilsInternal.checkIfApplicationIsSuspended(
-                    mContext, mPkg, mUserId);
-
-            loadChannel();
-            loadAppRow();
-            loadChannelGroup();
-            collectConfigActivities();
-
-            getSettingsLifecycle().addObserver(use(HeaderPreferenceController.class));
-
-            for (NotificationPreferenceController controller : mControllers) {
-                controller.onResume(mAppRow, mChannel, mChannelGroup, mSuspendedAppsAdmin);
-            }
-        }
-    }
-
-    @Override
-    public void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-
-        if (mIntent == null && mArgs == null) {
-            Log.w(TAG, "No intent");
-            toastAndFinish();
-            return;
-        }
-
-        if (mUid < 0 || TextUtils.isEmpty(mPkg) || mPkgInfo == null) {
-            Log.w(TAG, "Missing package or uid or packageinfo");
-            toastAndFinish();
-            return;
-        }
-
-        startListeningToPackageRemove();
-    }
-
-    @Override
-    public void onDestroy() {
-        stopListeningToPackageRemove();
-        super.onDestroy();
-    }
-
-    @Override
-    public void onResume() {
-        super.onResume();
-        if (mUid < 0 || TextUtils.isEmpty(mPkg) || mPkgInfo == null || mAppRow == null) {
-            Log.w(TAG, "Missing package or uid or packageinfo");
-            finish();
-            return;
-        }
-        // Reload app, channel, etc onResume in case they've changed. A little wasteful if we've
-        // just done onAttach but better than making every preference controller reload all
-        // the data
-        loadAppRow();
-        if (mAppRow == null) {
-            Log.w(TAG, "Can't load package");
-            finish();
-            return;
-        }
-        loadChannel();
-        loadChannelGroup();
-        collectConfigActivities();
-    }
-
-    private void loadChannel() {
-        Intent intent = getActivity().getIntent();
-        String channelId = intent != null ? intent.getStringExtra(Settings.EXTRA_CHANNEL_ID) : null;
-        if (channelId == null && intent != null) {
-            Bundle args = intent.getBundleExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_ARGUMENTS);
-            channelId = args != null ? args.getString(Settings.EXTRA_CHANNEL_ID) : null;
-        }
-        mChannel = mBackend.getChannel(mPkg, mUid, channelId);
-    }
-
-    private void loadAppRow() {
-        mAppRow = mBackend.loadAppRow(mContext, mPm, mRm, mPkgInfo);
-    }
-
-    private void loadChannelGroup() {
-        mShowLegacyChannelConfig = mBackend.onlyHasDefaultChannel(mAppRow.pkg, mAppRow.uid)
-                || (mChannel != null
-                && NotificationChannel.DEFAULT_CHANNEL_ID.equals(mChannel.getId()));
-
-        if (mShowLegacyChannelConfig) {
-            mChannel = mBackend.getChannel(
-                    mAppRow.pkg, mAppRow.uid, NotificationChannel.DEFAULT_CHANNEL_ID);
-        }
-        if (mChannel != null && !TextUtils.isEmpty(mChannel.getGroup())) {
-            NotificationChannelGroup group = mBackend.getGroup(mPkg, mUid, mChannel.getGroup());
-            if (group != null) {
-                mChannelGroup = group;
-            }
-        }
-    }
-
-    protected void toastAndFinish() {
-        Toast.makeText(mContext, R.string.app_not_found_dlg_text, Toast.LENGTH_SHORT).show();
-        getActivity().finish();
-    }
-
-    protected void collectConfigActivities() {
-        Intent intent = new Intent(Intent.ACTION_MAIN)
-                .addCategory(Notification.INTENT_CATEGORY_NOTIFICATION_PREFERENCES)
-                .setPackage(mAppRow.pkg);
-        final List<ResolveInfo> resolveInfos = mPm.queryIntentActivities(
-                intent,
-                0 //PackageManager.MATCH_DEFAULT_ONLY
-        );
-        if (DEBUG) {
-            Log.d(TAG, "Found " + resolveInfos.size() + " preference activities"
-                    + (resolveInfos.size() == 0 ? " ;_;" : ""));
-        }
-        for (ResolveInfo ri : resolveInfos) {
-            final ActivityInfo activityInfo = ri.activityInfo;
-            if (mAppRow.settingsIntent != null) {
-                if (DEBUG) {
-                    Log.d(TAG, "Ignoring duplicate notification preference activity ("
-                            + activityInfo.name + ") for package "
-                            + activityInfo.packageName);
-                }
-                continue;
-            }
-            // TODO(78660939): This should actually start a new task
-            mAppRow.settingsIntent = intent
-                    .setPackage(null)
-                    .setClassName(activityInfo.packageName, activityInfo.name);
-            if (mChannel != null) {
-                mAppRow.settingsIntent.putExtra(Notification.EXTRA_CHANNEL_ID, mChannel.getId());
-            }
-            if (mChannelGroup != null) {
-                mAppRow.settingsIntent.putExtra(
-                        Notification.EXTRA_CHANNEL_GROUP_ID, mChannelGroup.getId());
-            }
-        }
-    }
-
-    private PackageInfo findPackageInfo(String pkg, int uid) {
-        if (pkg == null || uid < 0) {
-            return null;
-        }
-        final String[] packages = mPm.getPackagesForUid(uid);
-        if (packages != null && pkg != null) {
-            final int N = packages.length;
-            for (int i = 0; i < N; i++) {
-                final String p = packages[i];
-                if (pkg.equals(p)) {
-                    try {
-                        return mPm.getPackageInfo(pkg, PackageManager.GET_SIGNATURES);
-                    } catch (NameNotFoundException e) {
-                        Log.w(TAG, "Failed to load package " + pkg, e);
-                    }
-                }
-            }
-        }
-        return null;
-    }
-
-    protected void startListeningToPackageRemove() {
-        if (mListeningToPackageRemove) {
-            return;
-        }
-        mListeningToPackageRemove = true;
-        final IntentFilter filter = new IntentFilter(Intent.ACTION_PACKAGE_REMOVED);
-        filter.addDataScheme("package");
-        getContext().registerReceiver(mPackageRemovedReceiver, filter);
-    }
-
-    protected void stopListeningToPackageRemove() {
-        if (!mListeningToPackageRemove) {
-            return;
-        }
-        mListeningToPackageRemove = false;
-        getContext().unregisterReceiver(mPackageRemovedReceiver);
-    }
-
-    protected void onPackageRemoved() {
-        getActivity().finishAndRemoveTask();
-    }
-
-    protected final BroadcastReceiver mPackageRemovedReceiver = new BroadcastReceiver() {
-        @Override
-        public void onReceive(Context context, Intent intent) {
-            String packageName = intent.getData().getSchemeSpecificPart();
-            if (mPkgInfo == null || TextUtils.equals(mPkgInfo.packageName, packageName)) {
-                if (DEBUG) {
-                    Log.d(TAG, "Package (" + packageName + ") removed. Removing"
-                            + "NotificationSettingsBase.");
-                }
-                onPackageRemoved();
-            }
-        }
-    };
-
-    protected class ImportanceListener {
-        protected void onImportanceChanged() {
-            final PreferenceScreen screen = getPreferenceScreen();
-            for (NotificationPreferenceController controller : mControllers) {
-                controller.displayPreference(screen);
-            }
-            updatePreferenceStates();
-        }
-    }
-}
diff --git a/src/com/android/settings/notification/NotificationSoundPreference.java b/src/com/android/settings/notification/NotificationSoundPreference.java
deleted file mode 100644
index 71684d5..0000000
--- a/src/com/android/settings/notification/NotificationSoundPreference.java
+++ /dev/null
@@ -1,83 +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 android.content.ContentResolver;
-import android.content.Context;
-import android.content.Intent;
-import android.media.Ringtone;
-import android.media.RingtoneManager;
-import android.net.Uri;
-import android.os.AsyncTask;
-import android.util.AttributeSet;
-
-import com.android.settings.R;
-import com.android.settings.RingtonePreference;
-
-public class NotificationSoundPreference extends RingtonePreference {
-    private Uri mRingtone;
-
-    public NotificationSoundPreference(Context context, AttributeSet attrs) {
-        super(context, attrs);
-    }
-
-    @Override
-    protected Uri onRestoreRingtone() {
-        return mRingtone;
-    }
-
-    public void setRingtone(Uri ringtone) {
-        mRingtone = ringtone;
-        setSummary("\u00A0");
-        updateRingtoneName(mRingtone);
-    }
-
-    @Override
-    public boolean onActivityResult(int requestCode, int resultCode, Intent data) {
-        if (data != null) {
-            Uri uri = data.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI);
-            setRingtone(uri);
-            callChangeListener(uri);
-        }
-
-        return true;
-    }
-
-    private void updateRingtoneName(final Uri uri) {
-        AsyncTask ringtoneNameTask = new AsyncTask<Object, Void, CharSequence>() {
-            @Override
-            protected CharSequence doInBackground(Object... params) {
-                if (uri == null) {
-                    return getContext().getString(com.android.internal.R.string.ringtone_silent);
-                } else if (RingtoneManager.isDefault(uri)) {
-                    return getContext().getString(R.string.notification_sound_default);
-                } else if(ContentResolver.SCHEME_ANDROID_RESOURCE.equals(uri.getScheme())) {
-                    return getContext().getString(R.string.notification_unknown_sound_title);
-                } else {
-                    return Ringtone.getTitle(getContext(), uri, false /* followSettingsUri */,
-                            true /* allowRemote */);
-                }
-            }
-
-            @Override
-            protected void onPostExecute(CharSequence name) {
-                setSummary(name);
-            }
-        };
-        ringtoneNameTask.execute();
-    }
-}
diff --git a/src/com/android/settings/notification/NotificationStation.java b/src/com/android/settings/notification/NotificationStation.java
deleted file mode 100644
index 80b2d45..0000000
--- a/src/com/android/settings/notification/NotificationStation.java
+++ /dev/null
@@ -1,648 +0,0 @@
-/*
- * Copyright (C) 2012 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.notification;
-
-import static android.app.NotificationManager.IMPORTANCE_UNSPECIFIED;
-
-import android.app.Activity;
-import android.app.ActivityManager;
-import android.app.INotificationManager;
-import android.app.Notification;
-import android.app.NotificationChannel;
-import android.app.PendingIntent;
-import android.app.settings.SettingsEnums;
-import android.content.ComponentName;
-import android.content.Context;
-import android.content.IntentSender;
-import android.content.pm.ApplicationInfo;
-import android.content.pm.PackageManager;
-import android.content.res.Resources;
-import android.graphics.Typeface;
-import android.graphics.drawable.Drawable;
-import android.os.Bundle;
-import android.os.Handler;
-import android.os.Parcel;
-import android.os.RemoteException;
-import android.os.ServiceManager;
-import android.os.UserHandle;
-import android.service.notification.NotificationListenerService;
-import android.service.notification.NotificationListenerService.Ranking;
-import android.service.notification.NotificationListenerService.RankingMap;
-import android.service.notification.StatusBarNotification;
-import android.text.SpannableString;
-import android.text.SpannableStringBuilder;
-import android.text.TextUtils;
-import android.text.style.StyleSpan;
-import android.util.Log;
-import android.view.View;
-import android.widget.DateTimeView;
-import android.widget.ImageView;
-import android.widget.TextView;
-
-import androidx.preference.Preference;
-import androidx.preference.PreferenceViewHolder;
-import androidx.recyclerview.widget.RecyclerView;
-
-import com.android.settings.R;
-import com.android.settings.SettingsPreferenceFragment;
-import com.android.settings.Utils;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.List;
-
-public class NotificationStation extends SettingsPreferenceFragment {
-    private static final String TAG = NotificationStation.class.getSimpleName();
-
-    private static final boolean DEBUG = false;
-    private static final boolean DUMP_EXTRAS = true;
-    private static final boolean DUMP_PARCEL = true;
-    private Handler mHandler;
-
-    private static class HistoricalNotificationInfo {
-        public String key;
-        public String channel;
-        public String pkg;
-        public Drawable pkgicon;
-        public CharSequence pkgname;
-        public Drawable icon;
-        public CharSequence title;
-        public int priority;
-        public int user;
-        public long timestamp;
-        public boolean active;
-        public CharSequence extra;
-    }
-
-    private PackageManager mPm;
-    private INotificationManager mNoMan;
-    private RankingMap mRanking;
-
-    private Runnable mRefreshListRunnable = new Runnable() {
-        @Override
-        public void run() {
-            refreshList();
-        }
-    };
-
-    private final NotificationListenerService mListener = new NotificationListenerService() {
-        @Override
-        public void onNotificationPosted(StatusBarNotification sbn, RankingMap ranking) {
-            logd("onNotificationPosted: %s, with update for %d", sbn.getNotification(),
-                    ranking == null ? 0 : ranking.getOrderedKeys().length);
-            mRanking = ranking;
-            scheduleRefreshList();
-        }
-
-        @Override
-        public void onNotificationRemoved(StatusBarNotification notification, RankingMap ranking) {
-            logd("onNotificationRankingUpdate with update for %d",
-                    ranking == null ? 0 : ranking.getOrderedKeys().length);
-            mRanking = ranking;
-            scheduleRefreshList();
-        }
-
-        @Override
-        public void onNotificationRankingUpdate(RankingMap ranking) {
-            logd("onNotificationRankingUpdate with update for %d",
-                    ranking == null ? 0 : ranking.getOrderedKeys().length);
-            mRanking = ranking;
-            scheduleRefreshList();
-        }
-
-        @Override
-        public void onListenerConnected() {
-            mRanking = getCurrentRanking();
-            logd("onListenerConnected with update for %d",
-                    mRanking == null ? 0 : mRanking.getOrderedKeys().length);
-            scheduleRefreshList();
-        }
-    };
-
-    private void scheduleRefreshList() {
-        if (mHandler != null) {
-            mHandler.removeCallbacks(mRefreshListRunnable);
-            mHandler.postDelayed(mRefreshListRunnable, 100);
-        }
-    }
-
-    private Context mContext;
-
-    private final Comparator<HistoricalNotificationInfo> mNotificationSorter
-            = new Comparator<HistoricalNotificationInfo>() {
-                @Override
-                public int compare(HistoricalNotificationInfo lhs,
-                                   HistoricalNotificationInfo rhs) {
-                    return Long.compare(rhs.timestamp, lhs.timestamp);
-                }
-            };
-
-    @Override
-    public void onAttach(Activity activity) {
-        logd("onAttach(%s)", activity.getClass().getSimpleName());
-        super.onAttach(activity);
-        mHandler = new Handler(activity.getMainLooper());
-        mContext = activity;
-        mPm = mContext.getPackageManager();
-        mNoMan = INotificationManager.Stub.asInterface(
-                ServiceManager.getService(Context.NOTIFICATION_SERVICE));
-    }
-
-    @Override
-    public void onDetach() {
-        logd("onDetach()");
-        mHandler.removeCallbacks(mRefreshListRunnable);
-        mHandler = null;
-        super.onDetach();
-    }
-
-    @Override
-    public void onPause() {
-        try {
-            mListener.unregisterAsSystemService();
-        } catch (RemoteException e) {
-            Log.e(TAG, "Cannot unregister listener", e);
-        }
-        super.onPause();
-    }
-
-    @Override
-    public int getMetricsCategory() {
-        return SettingsEnums.NOTIFICATION_STATION;
-    }
-
-    @Override
-    public void onActivityCreated(Bundle savedInstanceState) {
-        logd("onActivityCreated(%s)", savedInstanceState);
-        super.onActivityCreated(savedInstanceState);
-
-        RecyclerView listView = getListView();
-        Utils.forceCustomPadding(listView, false /* non additive padding */);
-    }
-
-    @Override
-    public void onResume() {
-        logd("onResume()");
-        super.onResume();
-        try {
-            mListener.registerAsSystemService(mContext, new ComponentName(mContext.getPackageName(),
-                    this.getClass().getCanonicalName()), ActivityManager.getCurrentUser());
-        } catch (RemoteException e) {
-            Log.e(TAG, "Cannot register listener", e);
-        }
-        refreshList();
-    }
-
-    private void refreshList() {
-        List<HistoricalNotificationInfo> infos = loadNotifications();
-        if (infos != null) {
-            final int N = infos.size();
-            logd("adding %d infos", N);
-            Collections.sort(infos, mNotificationSorter);
-            if (getPreferenceScreen() == null) {
-                setPreferenceScreen(getPreferenceManager().createPreferenceScreen(getContext()));
-            }
-            getPreferenceScreen().removeAll();
-            for (int i = 0; i < N; i++) {
-                getPreferenceScreen().addPreference(
-                        new HistoricalNotificationPreference(getPrefContext(), infos.get(i)));
-            }
-        }
-    }
-
-    private static void logd(String msg, Object... args) {
-        if (DEBUG) {
-            Log.d(TAG, args == null || args.length == 0 ? msg : String.format(msg, args));
-        }
-    }
-
-    private static CharSequence bold(CharSequence cs) {
-        if (cs.length() == 0) return cs;
-        SpannableString ss = new SpannableString(cs);
-        ss.setSpan(new StyleSpan(Typeface.BOLD), 0, cs.length(), 0);
-        return ss;
-    }
-
-    private static String getTitleString(Notification n) {
-        CharSequence title = null;
-        if (n.extras != null) {
-            title = n.extras.getCharSequence(Notification.EXTRA_TITLE);
-            if (TextUtils.isEmpty(title)) {
-                title = n.extras.getCharSequence(Notification.EXTRA_TEXT);
-            }
-        }
-        if (TextUtils.isEmpty(title) && !TextUtils.isEmpty(n.tickerText)) {
-            title = n.tickerText;
-        }
-        return String.valueOf(title);
-    }
-
-    private static String formatPendingIntent(PendingIntent pi) {
-        final StringBuilder sb = new StringBuilder();
-        final IntentSender is = pi.getIntentSender();
-        sb.append("Intent(pkg=").append(is.getCreatorPackage());
-        try {
-            final boolean isActivity =
-                    ActivityManager.getService().isIntentSenderAnActivity(is.getTarget());
-            if (isActivity) sb.append(" (activity)");
-        } catch (RemoteException ex) {}
-        sb.append(")");
-        return sb.toString();
-    }
-
-    private List<HistoricalNotificationInfo> loadNotifications() {
-        final int currentUserId = ActivityManager.getCurrentUser();
-        try {
-            StatusBarNotification[] active = mNoMan.getActiveNotifications(
-                    mContext.getPackageName());
-            StatusBarNotification[] dismissed = mNoMan.getHistoricalNotifications(
-                    mContext.getPackageName(), 50);
-
-            List<HistoricalNotificationInfo> list
-                    = new ArrayList<HistoricalNotificationInfo>(active.length + dismissed.length);
-
-            for (StatusBarNotification[] resultset
-                    : new StatusBarNotification[][] { active, dismissed }) {
-                for (StatusBarNotification sbn : resultset) {
-                    if (sbn.getUserId() != UserHandle.USER_ALL & sbn.getUserId() != currentUserId) {
-                        continue;
-                    }
-
-                    final Notification n = sbn.getNotification();
-                    final HistoricalNotificationInfo info = new HistoricalNotificationInfo();
-                    info.pkg = sbn.getPackageName();
-                    info.user = sbn.getUserId();
-                    info.icon = loadIconDrawable(info.pkg, info.user, n.icon);
-                    info.pkgicon = loadPackageIconDrawable(info.pkg, info.user);
-                    info.pkgname = loadPackageName(info.pkg);
-                    info.title = getTitleString(n);
-                    if (TextUtils.isEmpty(info.title)) {
-                        info.title = getString(R.string.notification_log_no_title);
-                    }
-                    info.timestamp = sbn.getPostTime();
-                    info.priority = n.priority;
-                    info.channel = n.getChannelId();
-                    info.key = sbn.getKey();
-
-                    info.active = (resultset == active);
-
-                    info.extra = generateExtraText(sbn, info);
-
-                    logd("   [%d] %s: %s", info.timestamp, info.pkg, info.title);
-                    list.add(info);
-                }
-            }
-
-            return list;
-        } catch (RemoteException e) {
-            Log.e(TAG, "Cannot load Notifications: ", e);
-        }
-        return null;
-    }
-
-    private CharSequence generateExtraText(StatusBarNotification sbn,
-                                           HistoricalNotificationInfo info) {
-        final Ranking rank = new Ranking();
-
-        final Notification n = sbn.getNotification();
-        final SpannableStringBuilder sb = new SpannableStringBuilder();
-        final String delim = getString(R.string.notification_log_details_delimiter);
-        sb.append(bold(getString(R.string.notification_log_details_package)))
-                .append(delim)
-                .append(info.pkg)
-                .append("\n")
-                .append(bold(getString(R.string.notification_log_details_key)))
-                .append(delim)
-                .append(sbn.getKey());
-        sb.append("\n")
-                .append(bold(getString(R.string.notification_log_details_icon)))
-                .append(delim)
-                .append(String.valueOf(n.getSmallIcon()));
-        sb.append("\n")
-                .append(bold("channelId"))
-                .append(delim)
-                .append(String.valueOf(n.getChannelId()));
-        sb.append("\n")
-                .append(bold("postTime"))
-                .append(delim)
-                .append(String.valueOf(sbn.getPostTime()));
-        if (n.getTimeoutAfter() != 0) {
-            sb.append("\n")
-                    .append(bold("timeoutAfter"))
-                    .append(delim)
-                    .append(String.valueOf(n.getTimeoutAfter()));
-        }
-        if (sbn.isGroup()) {
-            sb.append("\n")
-                    .append(bold(getString(R.string.notification_log_details_group)))
-                    .append(delim)
-                    .append(String.valueOf(sbn.getGroupKey()));
-            if (n.isGroupSummary()) {
-                sb.append(bold(
-                        getString(R.string.notification_log_details_group_summary)));
-            }
-        }
-        if (info.active) {
-            // mRanking only applies to active notifications
-            if (mRanking != null && mRanking.getRanking(sbn.getKey(), rank)) {
-                if (rank.getLastAudiblyAlertedMillis() > 0) {
-                    sb.append("\n")
-                            .append(bold(getString(R.string.notification_log_details_alerted)));
-                }
-            }
-        }
-        try {
-            NotificationChannel channel = mNoMan.getNotificationChannelForPackage(
-                    sbn.getPackageName(), sbn.getUid(), n.getChannelId(), false);
-            sb.append("\n")
-                    .append(bold(getString(R.string.notification_log_details_sound)))
-                    .append(delim);
-            if (channel == null || channel.getImportance() == IMPORTANCE_UNSPECIFIED) {
-
-                if (0 != (n.defaults & Notification.DEFAULT_SOUND)) {
-                    sb.append(getString(R.string.notification_log_details_default));
-                } else if (n.sound != null) {
-                    sb.append(n.sound.toString());
-                } else {
-                    sb.append(getString(R.string.notification_log_details_none));
-                }
-            } else {
-                sb.append(String.valueOf(channel.getSound()));
-            }
-            sb.append("\n")
-                    .append(bold(getString(R.string.notification_log_details_vibrate)))
-                    .append(delim);
-            if (channel == null || channel.getImportance() == IMPORTANCE_UNSPECIFIED) {
-                if (0 != (n.defaults & Notification.DEFAULT_VIBRATE)) {
-                    sb.append(getString(R.string.notification_log_details_default));
-                } else if (n.vibrate != null) {
-                    sb.append(getString(R.string.notification_log_details_vibrate_pattern));
-                } else {
-                    sb.append(getString(R.string.notification_log_details_none));
-                }
-            } else {
-                if (channel.getVibrationPattern() != null) {
-                    sb.append(getString(R.string.notification_log_details_vibrate_pattern));
-                } else {
-                    sb.append(getString(R.string.notification_log_details_none));
-                }
-            }
-        } catch (RemoteException e) {
-            Log.d(TAG, "cannot read channel info", e);
-        }
-        sb.append("\n")
-                .append(bold(getString(R.string.notification_log_details_visibility)))
-                .append(delim)
-                .append(Notification.visibilityToString(n.visibility));
-        if (n.publicVersion != null) {
-            sb.append("\n")
-                    .append(bold(getString(
-                            R.string.notification_log_details_public_version)))
-                    .append(delim)
-                    .append(getTitleString(n.publicVersion));
-        }
-        sb.append("\n")
-                .append(bold(getString(R.string.notification_log_details_priority)))
-                .append(delim)
-                .append(Notification.priorityToString(n.priority));
-        if (info.active) {
-            // mRanking only applies to active notifications
-            if (mRanking != null && mRanking.getRanking(sbn.getKey(), rank)) {
-                sb.append("\n")
-                        .append(bold(getString(
-                                R.string.notification_log_details_importance)))
-                        .append(delim)
-                        .append(Ranking.importanceToString(rank.getImportance()));
-                if (rank.getImportanceExplanation() != null) {
-                    sb.append("\n")
-                            .append(bold(getString(
-                                    R.string.notification_log_details_explanation)))
-                            .append(delim)
-                            .append(rank.getImportanceExplanation());
-                }
-                sb.append("\n")
-                        .append(bold(getString(
-                                R.string.notification_log_details_badge)))
-                        .append(delim)
-                        .append(Boolean.toString(rank.canShowBadge()));
-            } else {
-                if (mRanking == null) {
-                    sb.append("\n")
-                            .append(bold(getString(
-                                    R.string.notification_log_details_ranking_null)));
-                } else {
-                    sb.append("\n")
-                            .append(bold(getString(
-                                    R.string.notification_log_details_ranking_none)));
-                }
-            }
-        }
-        if (n.contentIntent != null) {
-            sb.append("\n")
-                    .append(bold(getString(
-                            R.string.notification_log_details_content_intent)))
-                    .append(delim)
-                    .append(formatPendingIntent(n.contentIntent));
-        }
-        if (n.deleteIntent != null) {
-            sb.append("\n")
-                    .append(bold(getString(
-                            R.string.notification_log_details_delete_intent)))
-                    .append(delim)
-                    .append(formatPendingIntent(n.deleteIntent));
-        }
-        if (n.fullScreenIntent != null) {
-            sb.append("\n")
-                    .append(bold(getString(
-                            R.string.notification_log_details_full_screen_intent)))
-                    .append(delim)
-                    .append(formatPendingIntent(n.fullScreenIntent));
-        }
-        if (n.actions != null && n.actions.length > 0) {
-            sb.append("\n")
-                    .append(bold(getString(R.string.notification_log_details_actions)));
-            for (int ai=0; ai<n.actions.length; ai++) {
-                final Notification.Action action = n.actions[ai];
-                sb.append("\n  ").append(String.valueOf(ai)).append(' ')
-                        .append(bold(getString(
-                                R.string.notification_log_details_title)))
-                        .append(delim)
-                        .append(action.title);
-                if (action.actionIntent != null) {
-                    sb.append("\n    ")
-                            .append(bold(getString(
-                                    R.string.notification_log_details_content_intent)))
-                            .append(delim)
-                            .append(formatPendingIntent(action.actionIntent));
-                }
-                if (action.getRemoteInputs() != null) {
-                    sb.append("\n    ")
-                            .append(bold(getString(
-                                    R.string.notification_log_details_remoteinput)))
-                            .append(delim)
-                            .append(String.valueOf(action.getRemoteInputs().length));
-                }
-            }
-        }
-        if (n.contentView != null) {
-            sb.append("\n")
-                    .append(bold(getString(
-                            R.string.notification_log_details_content_view)))
-                    .append(delim)
-                    .append(n.contentView.toString());
-        }
-
-        if (DUMP_EXTRAS) {
-            if (n.extras != null && n.extras.size() > 0) {
-                sb.append("\n")
-                        .append(bold(getString(
-                                R.string.notification_log_details_extras)));
-                for (String extraKey : n.extras.keySet()) {
-                    String val = String.valueOf(n.extras.get(extraKey));
-                    if (val.length() > 100) val = val.substring(0, 100) + "...";
-                    sb.append("\n  ").append(extraKey).append(delim).append(val);
-                }
-            }
-        }
-        if (DUMP_PARCEL) {
-            final Parcel p = Parcel.obtain();
-            n.writeToParcel(p, 0);
-            sb.append("\n")
-                    .append(bold(getString(R.string.notification_log_details_parcel)))
-                    .append(delim)
-                    .append(String.valueOf(p.dataPosition()))
-                    .append(' ')
-                    .append(bold(getString(R.string.notification_log_details_ashmem)))
-                    .append(delim)
-                    .append(String.valueOf(p.getBlobAshmemSize()))
-                    .append("\n");
-        }
-        return sb;
-    }
-
-    private Resources getResourcesForUserPackage(String pkg, int userId) {
-        Resources r = null;
-
-        if (pkg != null) {
-            try {
-                if (userId == UserHandle.USER_ALL) {
-                    userId = UserHandle.USER_SYSTEM;
-                }
-                r = mPm.getResourcesForApplicationAsUser(pkg, userId);
-            } catch (PackageManager.NameNotFoundException ex) {
-                Log.e(TAG, "Icon package not found: " + pkg, ex);
-                return null;
-            }
-        } else {
-            r = mContext.getResources();
-        }
-        return r;
-    }
-
-    private Drawable loadPackageIconDrawable(String pkg, int userId) {
-        Drawable icon = null;
-        try {
-            icon = mPm.getApplicationIcon(pkg);
-        } catch (PackageManager.NameNotFoundException e) {
-            Log.e(TAG, "Cannot get application icon", e);
-        }
-
-        return icon;
-    }
-
-    private CharSequence loadPackageName(String pkg) {
-        try {
-            ApplicationInfo info = mPm.getApplicationInfo(pkg,
-                    PackageManager.MATCH_ANY_USER);
-            if (info != null) return mPm.getApplicationLabel(info);
-        } catch (PackageManager.NameNotFoundException e) {
-            Log.e(TAG, "Cannot load package name", e);
-        }
-        return pkg;
-    }
-
-    private Drawable loadIconDrawable(String pkg, int userId, int resId) {
-        Resources r = getResourcesForUserPackage(pkg, userId);
-
-        if (resId == 0) {
-            return null;
-        }
-
-        try {
-            return r.getDrawable(resId, null);
-        } catch (RuntimeException e) {
-            Log.w(TAG, "Icon not found in "
-                    + (pkg != null ? resId : "<system>")
-                    + ": " + Integer.toHexString(resId), e);
-        }
-
-        return null;
-    }
-
-    private static class HistoricalNotificationPreference extends Preference {
-        private final HistoricalNotificationInfo mInfo;
-        private static long sLastExpandedTimestamp; // quick hack to keep things from collapsing
-
-        public HistoricalNotificationPreference(Context context, HistoricalNotificationInfo info) {
-            super(context);
-            setLayoutResource(R.layout.notification_log_row);
-            mInfo = info;
-        }
-
-        @Override
-        public void onBindViewHolder(PreferenceViewHolder row) {
-            super.onBindViewHolder(row);
-
-            if (mInfo.icon != null) {
-                ((ImageView) row.findViewById(R.id.icon)).setImageDrawable(mInfo.icon);
-            }
-            if (mInfo.pkgicon != null) {
-                ((ImageView) row.findViewById(R.id.pkgicon)).setImageDrawable(mInfo.pkgicon);
-            }
-
-            ((DateTimeView) row.findViewById(R.id.timestamp)).setTime(mInfo.timestamp);
-            ((TextView) row.findViewById(R.id.title)).setText(mInfo.title);
-            ((TextView) row.findViewById(R.id.pkgname)).setText(mInfo.pkgname);
-
-            final TextView extra = (TextView) row.findViewById(R.id.extra);
-            extra.setText(mInfo.extra);
-            extra.setVisibility(mInfo.timestamp == sLastExpandedTimestamp
-                    ? View.VISIBLE : View.GONE);
-
-            row.itemView.setOnClickListener(
-                    new View.OnClickListener() {
-                        @Override
-                        public void onClick(View view) {
-                            extra.setVisibility(extra.getVisibility() == View.VISIBLE
-                                    ? View.GONE : View.VISIBLE);
-                            sLastExpandedTimestamp = mInfo.timestamp;
-                        }
-                    });
-
-            row.itemView.setAlpha(mInfo.active ? 1.0f : 0.5f);
-        }
-
-        @Override
-        public void performClick() {
-//            Intent intent = new Intent(android.provider.Settings.ACTION_APPLICATION_DETAILS_SETTINGS,
-//                    Uri.fromParts("package", mInfo.pkg, null));
-//            intent.setComponent(intent.resolveActivity(getContext().getPackageManager()));
-//            getContext().startActivity(intent);
-        }
-    }
-}
diff --git a/src/com/android/settings/notification/NotificationSwitchBarPreference.java b/src/com/android/settings/notification/NotificationSwitchBarPreference.java
deleted file mode 100644
index 01c4f6a..0000000
--- a/src/com/android/settings/notification/NotificationSwitchBarPreference.java
+++ /dev/null
@@ -1,82 +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 android.content.Context;
-import android.util.AttributeSet;
-import android.view.View;
-
-import androidx.preference.PreferenceViewHolder;
-
-import com.android.settings.widget.ToggleSwitch;
-import com.android.settingslib.RestrictedLockUtils;
-import com.android.settingslib.widget.LayoutPreference;
-
-public class NotificationSwitchBarPreference extends LayoutPreference {
-    private ToggleSwitch mSwitch;
-    private boolean mChecked;
-    private boolean mEnableSwitch = true;
-
-    public NotificationSwitchBarPreference(Context context, AttributeSet attrs) {
-        super(context, attrs);
-    }
-
-    @Override
-    public void onBindViewHolder(PreferenceViewHolder holder) {
-        super.onBindViewHolder(holder);
-        mSwitch = (ToggleSwitch) holder.findViewById(android.R.id.switch_widget);
-        if (mSwitch != null) {
-            mSwitch.setOnClickListener(new View.OnClickListener() {
-                @Override
-                public void onClick(View v) {
-                    if (!mSwitch.isEnabled()) {
-                        return;
-                    }
-                    mChecked = !mChecked;
-                    setChecked(mChecked);
-                    if (!callChangeListener(mChecked)) {
-                        setChecked(!mChecked);
-                    }
-                }
-            });
-            mSwitch.setChecked(mChecked);
-            mSwitch.setEnabled(mEnableSwitch);
-        }
-    }
-
-    public boolean isChecked() {
-        return mSwitch != null && mSwitch.isEnabled() && mChecked;
-    }
-
-    public void setChecked(boolean checked) {
-        mChecked = checked;
-        if (mSwitch != null) {
-            mSwitch.setChecked(checked);
-        }
-    }
-
-    public void setSwitchEnabled(boolean enabled) {
-        mEnableSwitch = enabled;
-        if (mSwitch != null) {
-            mSwitch.setEnabled(enabled);
-        }
-    }
-
-    public void setDisabledByAdmin(RestrictedLockUtils.EnforcedAdmin admin) {
-        setSwitchEnabled(admin == null);
-    }
-}
diff --git a/src/com/android/settings/notification/NotificationVolumePreferenceController.java b/src/com/android/settings/notification/NotificationVolumePreferenceController.java
index c82d04b..0fe0d62 100644
--- a/src/com/android/settings/notification/NotificationVolumePreferenceController.java
+++ b/src/com/android/settings/notification/NotificationVolumePreferenceController.java
@@ -45,6 +45,11 @@
     }
 
     @Override
+    public boolean isPublicSlice() {
+        return true;
+    }
+
+    @Override
     public String getPreferenceKey() {
         return KEY_NOTIFICATION_VOLUME;
     }
diff --git a/src/com/android/settings/notification/NotificationsOffPreferenceController.java b/src/com/android/settings/notification/NotificationsOffPreferenceController.java
deleted file mode 100644
index 8762f91..0000000
--- a/src/com/android/settings/notification/NotificationsOffPreferenceController.java
+++ /dev/null
@@ -1,62 +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 android.content.Context;
-
-import androidx.preference.Preference;
-
-import com.android.settings.R;
-import com.android.settings.core.PreferenceControllerMixin;
-
-public class NotificationsOffPreferenceController extends NotificationPreferenceController
-        implements PreferenceControllerMixin {
-
-    private static final String KEY_BLOCKED_DESC = "block_desc";
-
-    public NotificationsOffPreferenceController(Context context) {
-        super(context, null);
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return KEY_BLOCKED_DESC;
-    }
-
-    @Override
-    public boolean isAvailable() {
-        if (mAppRow == null) {
-            return false;
-        }
-        // Available only when other controllers are unavailable - this UI replaces the UI that
-        // would give more detailed notification controls.
-        return !super.isAvailable();
-    }
-
-    public void updateState(Preference preference) {
-        if (mAppRow != null) {
-            if (mChannel != null) {
-                preference.setTitle(R.string.channel_notifications_off_desc);
-            } else if (mChannelGroup != null) {
-                preference.setTitle(R.string.channel_group_notifications_off_desc);
-            } else {
-                preference.setTitle(R.string.app_notifications_off_desc);
-            }
-        }
-        preference.setSelectable(false);
-    }
-}
diff --git a/src/com/android/settings/notification/RecentNotifyingAppsPreferenceController.java b/src/com/android/settings/notification/RecentNotifyingAppsPreferenceController.java
index 9b20e7a..020cf7a 100644
--- a/src/com/android/settings/notification/RecentNotifyingAppsPreferenceController.java
+++ b/src/com/android/settings/notification/RecentNotifyingAppsPreferenceController.java
@@ -21,7 +21,6 @@
 import android.app.usage.IUsageStatsManager;
 import android.app.usage.UsageEvents;
 import android.content.Context;
-import android.content.Intent;
 import android.content.pm.PackageManager;
 import android.os.Bundle;
 import android.os.RemoteException;
@@ -32,15 +31,15 @@
 import android.util.ArrayMap;
 import android.util.ArraySet;
 import android.util.IconDrawableFactory;
-import android.util.Log;
 
 import com.android.settings.R;
 import com.android.settings.Utils;
 import com.android.settings.applications.AppInfoBase;
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settings.core.SubSettingLauncher;
+import com.android.settings.notification.app.AppNotificationSettings;
+import com.android.settings.widget.MasterSwitchPreference;
 import com.android.settingslib.TwoTargetPreference;
-import com.android.settingslib.applications.AppUtils;
 import com.android.settingslib.applications.ApplicationsState;
 import com.android.settingslib.core.AbstractPreferenceController;
 import com.android.settingslib.utils.StringUtil;
@@ -97,7 +96,7 @@
                 app == null ? null : ApplicationsState.getInstance(app), host);
     }
 
-    @VisibleForTesting(otherwise = VisibleForTesting.NONE)
+    @VisibleForTesting(otherwise = VisibleForTesting.PACKAGE_PRIVATE)
     RecentNotifyingAppsPreferenceController(Context context, NotificationBackend backend,
             IUsageStatsManager usageStatsManager, UserManager userManager,
             ApplicationsState appState, Fragment host) {
@@ -118,7 +117,7 @@
 
     @Override
     public boolean isAvailable() {
-        return true;
+        return mApplicationsState != null;
     }
 
     @Override
@@ -229,13 +228,13 @@
 
         // Rebind prefs/avoid adding new prefs if possible. Adding/removing prefs causes jank.
         // Build a cached preference pool
-        final Map<String, NotificationAppPreference> appPreferences = new ArrayMap<>();
+        final Map<String, MasterSwitchPreference> appPreferences = new ArrayMap<>();
         int prefCount = mCategory.getPreferenceCount();
         for (int i = 0; i < prefCount; i++) {
             final Preference pref = mCategory.getPreference(i);
             final String key = pref.getKey();
             if (!TextUtils.equals(key, KEY_SEE_ALL)) {
-                appPreferences.put(key, (NotificationAppPreference) pref);
+                appPreferences.put(key, (MasterSwitchPreference) pref);
             }
         }
         final int recentAppsCount = recentApps.size();
@@ -250,10 +249,10 @@
             }
 
             boolean rebindPref = true;
-            NotificationAppPreference pref = appPreferences.remove(getKey(app.getUserId(),
+            MasterSwitchPreference pref = appPreferences.remove(getKey(app.getUserId(),
                     pkgName));
             if (pref == null) {
-                pref = new NotificationAppPreference(prefContext);
+                pref = new MasterSwitchPreference(prefContext);
                 rebindPref = false;
             }
             pref.setKey(getKey(app.getUserId(), pkgName));
@@ -279,9 +278,8 @@
             });
             pref.setSwitchEnabled(mNotificationBackend.isBlockable(mContext, appEntry.info));
             pref.setOnPreferenceChangeListener((preference, newValue) -> {
-                boolean blocked = !(Boolean) newValue;
                 mNotificationBackend.setNotificationsEnabledForPackage(
-                        pkgName, appEntry.info.uid, !blocked);
+                        pkgName, appEntry.info.uid, (Boolean) newValue);
                 return true;
             });
             pref.setChecked(
@@ -307,9 +305,6 @@
             if (appEntry == null) {
                 continue;
             }
-            if (!shouldIncludePkgInRecents(app.getPackage(), app.getUserId())) {
-                continue;
-            }
             displayableApps.add(app);
             count++;
             if (count >= SHOW_RECENT_APP_COUNT) {
@@ -318,24 +313,4 @@
         }
         return displayableApps;
     }
-
-
-    /**
-     * Whether or not the app should be included in recent list.
-     */
-    private boolean shouldIncludePkgInRecents(String pkgName, int userId) {
-        final Intent launchIntent = new Intent().addCategory(Intent.CATEGORY_LAUNCHER)
-                .setPackage(pkgName);
-
-        if (mPm.resolveActivity(launchIntent, 0) == null) {
-            // Not visible on launcher -> likely not a user visible app, skip if non-instant.
-            final ApplicationsState.AppEntry appEntry =
-                    mApplicationsState.getEntry(pkgName, userId);
-            if (appEntry == null || appEntry.info == null || !AppUtils.isInstant(appEntry.info)) {
-                Log.d(TAG, "Not a user visible or instant app, skipping " + pkgName);
-                return false;
-            }
-        }
-        return true;
-    }
 }
diff --git a/src/com/android/settings/notification/RedactNotificationPreferenceController.java b/src/com/android/settings/notification/RedactNotificationPreferenceController.java
index 94d7fc1..2814e1b 100644
--- a/src/com/android/settings/notification/RedactNotificationPreferenceController.java
+++ b/src/com/android/settings/notification/RedactNotificationPreferenceController.java
@@ -23,17 +23,29 @@
 import android.app.KeyguardManager;
 import android.app.admin.DevicePolicyManager;
 import android.content.Context;
+import android.database.ContentObserver;
+import android.os.Handler;
+import android.os.Looper;
 import android.os.UserHandle;
 import android.os.UserManager;
 import android.provider.Settings;
 
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
 import com.android.internal.widget.LockPatternUtils;
 import com.android.settings.Utils;
 import com.android.settings.core.TogglePreferenceController;
 import com.android.settings.overlay.FeatureFactory;
+import com.android.settingslib.core.lifecycle.LifecycleObserver;
+import com.android.settingslib.core.lifecycle.events.OnStart;
+import com.android.settingslib.core.lifecycle.events.OnStop;
 
-public class RedactNotificationPreferenceController extends TogglePreferenceController {
-
+/**
+ * The controller of the sensitive notifications.
+ */
+public class RedactNotificationPreferenceController extends TogglePreferenceController implements
+        LifecycleObserver, OnStart, OnStop {
     private static final String TAG = "LockScreenNotifPref";
 
     static final String KEY_LOCKSCREEN_REDACT = "lock_screen_redact";
@@ -43,6 +55,17 @@
     private UserManager mUm;
     private KeyguardManager mKm;
     private final int mProfileUserId;
+    private Preference mPreference;
+    private ContentObserver mContentObserver =
+            new ContentObserver(new Handler(Looper.getMainLooper())) {
+                @Override
+                public void onChange(boolean selfChange) {
+                    if (mPreference != null) {
+                        mPreference.setEnabled(
+                                getAvailabilityStatus() != DISABLED_DEPENDENT_SETTING);
+                    }
+                }
+            };
 
     public RedactNotificationPreferenceController(Context context, String settingKey) {
         super(context, settingKey);
@@ -55,6 +78,12 @@
     }
 
     @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        mPreference = screen.findPreference(getPreferenceKey());
+    }
+
+    @Override
     public boolean isChecked() {
         int userId = KEY_LOCKSCREEN_REDACT.equals(getPreferenceKey())
                 ? UserHandle.myUserId() : mProfileUserId;
@@ -108,6 +137,18 @@
         return AVAILABLE;
     }
 
+    @Override
+    public void onStart() {
+        mContext.getContentResolver().registerContentObserver(
+                Settings.Secure.getUriFor(Settings.Secure.LOCK_SCREEN_SHOW_NOTIFICATIONS),
+                false /* notifyForDescendants */, mContentObserver);
+    }
+
+    @Override
+    public void onStop() {
+        mContext.getContentResolver().unregisterContentObserver(mContentObserver);
+    }
+
     private boolean adminAllowsNotifications(int userId) {
         final int dpmFlags = mDpm.getKeyguardDisabledFeatures(null/* admin */, userId);
         return (dpmFlags & KEYGUARD_DISABLE_SECURE_NOTIFICATIONS) == 0;
@@ -123,7 +164,7 @@
                 LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS, 1, userId) != 0;
     }
 
-   private boolean getLockscreenNotificationsEnabled(int userId) {
+    private boolean getLockscreenNotificationsEnabled(int userId) {
         return Settings.Secure.getIntForUser(mContext.getContentResolver(),
                 Settings.Secure.LOCK_SCREEN_SHOW_NOTIFICATIONS, 1, userId) != 0;
     }
diff --git a/src/com/android/settings/notification/RemoteVolumeGroupController.java b/src/com/android/settings/notification/RemoteVolumeGroupController.java
new file mode 100644
index 0000000..c36035a
--- /dev/null
+++ b/src/com/android/settings/notification/RemoteVolumeGroupController.java
@@ -0,0 +1,183 @@
+/*
+ * 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.notification;
+
+import android.content.Context;
+import android.content.Intent;
+import android.util.Log;
+
+import androidx.annotation.VisibleForTesting;
+import androidx.lifecycle.LifecycleObserver;
+import androidx.lifecycle.OnLifecycleEvent;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceCategory;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settings.core.BasePreferenceController;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+import com.android.settingslib.media.LocalMediaManager;
+import com.android.settingslib.media.MediaDevice;
+import com.android.settingslib.media.MediaOutputSliceConstants;
+import com.android.settingslib.utils.ThreadUtils;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * A group preference controller to add/remove/update preference
+ * {@link com.android.settings.notification.RemoteVolumeSeekBarPreference}
+ **/
+public class RemoteVolumeGroupController extends BasePreferenceController implements
+        Preference.OnPreferenceChangeListener, LifecycleObserver, LocalMediaManager.DeviceCallback {
+
+    private static final String KEY_REMOTE_VOLUME_GROUP = "remote_media_group";
+    private static final String TAG = "RemoteVolumePrefCtr";
+    @VisibleForTesting
+    static final String SWITCHER_PREFIX = "OUTPUT_SWITCHER";
+
+    private PreferenceCategory mPreferenceCategory;
+    private List<MediaDevice> mActiveRemoteMediaDevices = new ArrayList<>();
+
+    @VisibleForTesting
+    LocalMediaManager mLocalMediaManager;
+
+    public RemoteVolumeGroupController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+        if (mLocalMediaManager == null) {
+            mLocalMediaManager = new LocalMediaManager(mContext, null, null);
+            mLocalMediaManager.registerCallback(this);
+            mLocalMediaManager.startScan();
+        }
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        if (mActiveRemoteMediaDevices.isEmpty()) {
+            return CONDITIONALLY_UNAVAILABLE;
+        }
+        return AVAILABLE_UNSEARCHABLE;
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        mPreferenceCategory = screen.findPreference(getPreferenceKey());
+        mActiveRemoteMediaDevices.clear();
+        mActiveRemoteMediaDevices.addAll(mLocalMediaManager.getActiveMediaDevice(
+                MediaDevice.MediaDeviceType.TYPE_CAST_DEVICE));
+        refreshPreference();
+    }
+
+    /**
+     * onDestroy()
+     * {@link androidx.lifecycle.OnLifecycleEvent}
+     **/
+    @OnLifecycleEvent(Lifecycle.Event.ON_DESTROY)
+    public void onDestroy() {
+        mLocalMediaManager.unregisterCallback(this);
+        mLocalMediaManager.stopScan();
+    }
+
+    private void refreshPreference() {
+        mPreferenceCategory.removeAll();
+        if (!isAvailable()) {
+            mPreferenceCategory.setVisible(false);
+            return;
+        }
+        final CharSequence outputTitle = mContext.getText(R.string.media_output_title);
+        final CharSequence castVolume = mContext.getText(R.string.remote_media_volume_option_title);
+        mPreferenceCategory.setVisible(true);
+        int i = 0;
+        for (MediaDevice device : mActiveRemoteMediaDevices) {
+            if (mPreferenceCategory.findPreference(device.getId()) != null) {
+                continue;
+            }
+            // Add slider
+            final RemoteVolumeSeekBarPreference seekBarPreference =
+                    new RemoteVolumeSeekBarPreference(mContext);
+            seekBarPreference.setKey(device.getId());
+            seekBarPreference.setTitle(castVolume + " (" + device.getClientAppLabel() + ")");
+            seekBarPreference.setMax(device.getMaxVolume());
+            seekBarPreference.setProgress(device.getCurrentVolume());
+            seekBarPreference.setMin(0);
+            seekBarPreference.setOnPreferenceChangeListener(this);
+            seekBarPreference.setIcon(R.drawable.ic_volume_remote);
+            mPreferenceCategory.addPreference(seekBarPreference);
+            // Add output indicator
+            final Preference preference = new Preference(mContext);
+            preference.setKey(SWITCHER_PREFIX + device.getId());
+            preference.setTitle(outputTitle);
+            preference.setSummary(device.getName());
+            mPreferenceCategory.addPreference(preference);
+        }
+    }
+
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object newValue) {
+        final MediaDevice device = mLocalMediaManager.getMediaDeviceById(preference.getKey());
+        if (device == null) {
+            Log.e(TAG, "Unable to find " + preference.getKey() + " to set volume");
+            return false;
+        }
+        ThreadUtils.postOnBackgroundThread(() -> {
+            device.requestSetVolume((int) newValue);
+        });
+        return true;
+    }
+
+    @Override
+    public boolean handlePreferenceTreeClick(Preference preference) {
+        if (!preference.getKey().startsWith(SWITCHER_PREFIX)) {
+            return false;
+        }
+        final String key = preference.getKey().substring(SWITCHER_PREFIX.length());
+        final MediaDevice device = mLocalMediaManager.getMediaDeviceById(key);
+        if (device == null) {
+            return false;
+        }
+        final Intent intent = new Intent()
+                .setAction(MediaOutputSliceConstants.ACTION_MEDIA_OUTPUT)
+                .setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
+                .putExtra(MediaOutputSliceConstants.EXTRA_PACKAGE_NAME,
+                        device.getClientPackageName());
+        mContext.startActivity(intent);
+        return true;
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY_REMOTE_VOLUME_GROUP;
+    }
+
+    @Override
+    public void onDeviceListUpdate(List<MediaDevice> devices) {
+        if (mPreferenceCategory == null) {
+            // Preference group is not ready.
+            return;
+        }
+        mActiveRemoteMediaDevices.clear();
+        mActiveRemoteMediaDevices.addAll(mLocalMediaManager.getActiveMediaDevice(
+                MediaDevice.MediaDeviceType.TYPE_CAST_DEVICE));
+        refreshPreference();
+    }
+
+    @Override
+    public void onSelectedDeviceStateChanged(MediaDevice device, int state) {
+
+    }
+}
diff --git a/src/com/android/settings/notification/RemoteVolumePreferenceController.java b/src/com/android/settings/notification/RemoteVolumePreferenceController.java
deleted file mode 100644
index 816d80f..0000000
--- a/src/com/android/settings/notification/RemoteVolumePreferenceController.java
+++ /dev/null
@@ -1,283 +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.notification;
-
-import android.content.Context;
-import android.media.session.MediaController;
-import android.media.session.MediaSession;
-import android.media.session.MediaSessionManager;
-import android.net.Uri;
-import android.os.Looper;
-import android.text.TextUtils;
-
-import androidx.annotation.VisibleForTesting;
-import androidx.lifecycle.OnLifecycleEvent;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.R;
-import com.android.settings.slices.SliceBackgroundWorker;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-import com.android.settingslib.volume.MediaSessions;
-
-import java.io.IOException;
-import java.util.List;
-import java.util.Objects;
-
-public class RemoteVolumePreferenceController extends VolumeSeekBarPreferenceController {
-
-    private static final String KEY_REMOTE_VOLUME = "remote_volume";
-    @VisibleForTesting
-    static final int REMOTE_VOLUME = 100;
-
-    private MediaSessions mMediaSessions;
-    @VisibleForTesting
-    MediaSession.Token mActiveToken;
-    @VisibleForTesting
-    MediaController mMediaController;
-
-    @VisibleForTesting
-    MediaSessions.Callbacks mCallbacks = new MediaSessions.Callbacks() {
-        @Override
-        public void onRemoteUpdate(MediaSession.Token token, String name,
-                MediaController.PlaybackInfo pi) {
-            if (mActiveToken == null) {
-                updateToken(token);
-            }
-            if (Objects.equals(mActiveToken, token)) {
-                updatePreference(mPreference, mActiveToken, pi);
-            }
-        }
-
-        @Override
-        public void onRemoteRemoved(MediaSession.Token t) {
-            if (Objects.equals(mActiveToken, t)) {
-                updateToken(null);
-                if (mPreference != null) {
-                    mPreference.setVisible(false);
-                }
-            }
-        }
-
-        @Override
-        public void onRemoteVolumeChanged(MediaSession.Token token, int flags) {
-            if (Objects.equals(mActiveToken, token)) {
-                final MediaController.PlaybackInfo pi = mMediaController.getPlaybackInfo();
-                if (pi != null) {
-                    setSliderPosition(pi.getCurrentVolume());
-                }
-            }
-        }
-    };
-
-    public RemoteVolumePreferenceController(Context context) {
-        super(context, KEY_REMOTE_VOLUME);
-        mMediaSessions = new MediaSessions(context, Looper.getMainLooper(), mCallbacks);
-        updateToken(getActiveRemoteToken(mContext));
-    }
-
-    @Override
-    public int getAvailabilityStatus() {
-        // Always return true to make it indexed in database
-        return AVAILABLE_UNSEARCHABLE;
-    }
-
-    /**
-     * Return {@link android.media.session.MediaSession.Token} for active remote token, or
-     * {@code null} if there is no active remote token.
-     */
-    public static MediaSession.Token getActiveRemoteToken(Context context) {
-        final MediaSessionManager sessionManager = context.getSystemService(
-                MediaSessionManager.class);
-        final List<MediaController> controllers = sessionManager.getActiveSessions(null);
-        for (MediaController mediaController : controllers) {
-            final MediaController.PlaybackInfo pi = mediaController.getPlaybackInfo();
-            if (isRemote(pi)) {
-                return mediaController.getSessionToken();
-            }
-        }
-
-        // No active remote media at this point
-        return null;
-    }
-
-    @Override
-    public void displayPreference(PreferenceScreen screen) {
-        super.displayPreference(screen);
-        mPreference.setVisible(mActiveToken != null);
-        if (mMediaController != null) {
-            updatePreference(mPreference, mActiveToken, mMediaController.getPlaybackInfo());
-        }
-    }
-
-    @OnLifecycleEvent(Lifecycle.Event.ON_RESUME)
-    public void onResume() {
-        super.onResume();
-        mMediaSessions.init();
-    }
-
-    @OnLifecycleEvent(Lifecycle.Event.ON_PAUSE)
-    public void onPause() {
-        super.onPause();
-        mMediaSessions.destroy();
-    }
-
-    @Override
-    public int getSliderPosition() {
-        if (mPreference != null) {
-            return mPreference.getProgress();
-        }
-        if (mMediaController == null) {
-            return 0;
-        }
-        final MediaController.PlaybackInfo playbackInfo = mMediaController.getPlaybackInfo();
-        return playbackInfo != null ? playbackInfo.getCurrentVolume() : 0;
-    }
-
-    @Override
-    public boolean setSliderPosition(int position) {
-        if (mPreference != null) {
-            mPreference.setProgress(position);
-        }
-        if (mMediaController == null) {
-            return false;
-        }
-        mMediaController.setVolumeTo(position, 0);
-        return true;
-    }
-
-    @Override
-    public int getMax() {
-        if (mPreference != null) {
-            return mPreference.getMax();
-        }
-        if (mMediaController == null) {
-            return 0;
-        }
-        final MediaController.PlaybackInfo playbackInfo = mMediaController.getPlaybackInfo();
-        return playbackInfo != null ? playbackInfo.getMaxVolume() : 0;
-    }
-
-    @Override
-    public int getMin() {
-        if (mPreference != null) {
-            return mPreference.getMin();
-        }
-        return 0;
-    }
-
-    @Override
-    public boolean isSliceable() {
-        return TextUtils.equals(getPreferenceKey(), KEY_REMOTE_VOLUME);
-    }
-
-    @Override
-    public boolean useDynamicSliceSummary() {
-        return true;
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return KEY_REMOTE_VOLUME;
-    }
-
-    @Override
-    public int getAudioStream() {
-        // This can be anything because remote volume controller doesn't rely on it.
-        return REMOTE_VOLUME;
-    }
-
-    @Override
-    public int getMuteIcon() {
-        return R.drawable.ic_volume_remote_mute;
-    }
-
-    public static boolean isRemote(MediaController.PlaybackInfo pi) {
-        return pi != null
-                && pi.getPlaybackType() == MediaController.PlaybackInfo.PLAYBACK_TYPE_REMOTE;
-    }
-
-    @Override
-    public Class<? extends SliceBackgroundWorker> getBackgroundWorkerClass() {
-        return RemoteVolumeSliceWorker.class;
-    }
-
-    private void updatePreference(VolumeSeekBarPreference seekBarPreference,
-            MediaSession.Token token, MediaController.PlaybackInfo playbackInfo) {
-        if (seekBarPreference == null || token == null || playbackInfo == null) {
-            return;
-        }
-
-        seekBarPreference.setMax(playbackInfo.getMaxVolume());
-        seekBarPreference.setVisible(true);
-        setSliderPosition(playbackInfo.getCurrentVolume());
-    }
-
-    private void updateToken(MediaSession.Token token) {
-        mActiveToken = token;
-        if (token != null) {
-            mMediaController = new MediaController(mContext, mActiveToken);
-        } else {
-            mMediaController = null;
-        }
-    }
-
-    /**
-     * Listener for background change to remote volume, which listens callback
-     * from {@code MediaSessions}
-     */
-    public static class RemoteVolumeSliceWorker extends SliceBackgroundWorker<Void> implements
-            MediaSessions.Callbacks {
-
-        private MediaSessions mMediaSessions;
-
-        public RemoteVolumeSliceWorker(Context context, Uri uri) {
-            super(context, uri);
-            mMediaSessions = new MediaSessions(context, Looper.getMainLooper(), this);
-        }
-
-        @Override
-        protected void onSlicePinned() {
-            mMediaSessions.init();
-        }
-
-        @Override
-        protected void onSliceUnpinned() {
-            mMediaSessions.destroy();
-        }
-
-        @Override
-        public void close() throws IOException {
-            mMediaSessions = null;
-        }
-
-        @Override
-        public void onRemoteUpdate(MediaSession.Token token, String name,
-                MediaController.PlaybackInfo pi) {
-            notifySliceChange();
-        }
-
-        @Override
-        public void onRemoteRemoved(MediaSession.Token t) {
-            notifySliceChange();
-        }
-
-        @Override
-        public void onRemoteVolumeChanged(MediaSession.Token token, int flags) {
-            notifySliceChange();
-        }
-    }
-}
diff --git a/src/com/android/settings/notification/RemoteVolumeSeekBarPreference.java b/src/com/android/settings/notification/RemoteVolumeSeekBarPreference.java
index e99af6a..8714351 100644
--- a/src/com/android/settings/notification/RemoteVolumeSeekBarPreference.java
+++ b/src/com/android/settings/notification/RemoteVolumeSeekBarPreference.java
@@ -18,6 +18,7 @@
 
 import android.content.Context;
 import android.util.AttributeSet;
+import android.widget.SeekBar;
 
 /**
  * A slider preference that controls remote volume, which doesn't go through
@@ -50,7 +51,17 @@
     @Override
     protected void init() {
         if (mSeekBar == null) return;
+        setContinuousUpdates(true);
         updateIconView();
         updateSuppressionText();
+        notifyHierarchyChanged();
+    }
+
+    @Override
+    public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
+        super.onProgressChanged(seekBar, progress, fromUser);
+        if (fromUser) {
+            notifyChanged();
+        }
     }
 }
diff --git a/src/com/android/settings/notification/RingVolumePreferenceController.java b/src/com/android/settings/notification/RingVolumePreferenceController.java
index 08efc93..5e7d067 100644
--- a/src/com/android/settings/notification/RingVolumePreferenceController.java
+++ b/src/com/android/settings/notification/RingVolumePreferenceController.java
@@ -96,6 +96,11 @@
     }
 
     @Override
+    public boolean isPublicSlice() {
+        return true;
+    }
+
+    @Override
     public boolean useDynamicSliceSummary() {
         return true;
     }
diff --git a/src/com/android/settings/notification/RingtonePreferenceControllerBase.java b/src/com/android/settings/notification/RingtonePreferenceControllerBase.java
index c82afb4..29b9266 100644
--- a/src/com/android/settings/notification/RingtonePreferenceControllerBase.java
+++ b/src/com/android/settings/notification/RingtonePreferenceControllerBase.java
@@ -20,6 +20,7 @@
 import android.media.Ringtone;
 import android.media.RingtoneManager;
 import android.net.Uri;
+import android.util.Log;
 
 import androidx.preference.Preference;
 
@@ -54,11 +55,12 @@
                 mContext, getRingtoneType());
 
         final CharSequence summary;
-        if (ringtoneUri == null) {
-            summary = mContext.getString(com.android.internal.R.string.ringtone_silent);
-        } else {
+        try {
             summary = Ringtone.getTitle(
                     mContext, ringtoneUri, false /* followSettingsUri */, true /* allowRemote */);
+        } catch (IllegalArgumentException e) {
+            Log.w(TAG, "Error getting ringtone summary.", e);
+            return;
         }
         if (summary != null) {
             ThreadUtils.postOnMainThread(() -> preference.setSummary(summary));
diff --git a/src/com/android/settings/notification/SettingsZenDurationDialog.java b/src/com/android/settings/notification/SettingsZenDurationDialog.java
deleted file mode 100644
index 355d483..0000000
--- a/src/com/android/settings/notification/SettingsZenDurationDialog.java
+++ /dev/null
@@ -1,37 +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.notification;
-
-import android.app.Dialog;
-import android.app.settings.SettingsEnums;
-import android.os.Bundle;
-
-import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
-
-public class SettingsZenDurationDialog extends InstrumentedDialogFragment {
-
-    @Override
-    public Dialog onCreateDialog(Bundle savedInstanceState) {
-        return new com.android.settingslib.notification.ZenDurationDialog(
-                getContext()).createDialog();
-    }
-
-    @Override
-    public int getMetricsCategory() {
-        return SettingsEnums.NOTIFICATION_ZEN_MODE_DURATION_DIALOG;
-    }
-}
diff --git a/src/com/android/settings/notification/SilentStatusBarPreferenceController.java b/src/com/android/settings/notification/SilentStatusBarPreferenceController.java
new file mode 100644
index 0000000..0585382
--- /dev/null
+++ b/src/com/android/settings/notification/SilentStatusBarPreferenceController.java
@@ -0,0 +1,55 @@
+/*
+ * 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.notification;
+
+import android.content.Context;
+
+import com.android.settings.core.TogglePreferenceController;
+
+import com.google.common.annotations.VisibleForTesting;
+
+public class SilentStatusBarPreferenceController extends TogglePreferenceController {
+
+    private static final String KEY = "silent_icons";
+    private NotificationBackend mBackend;
+
+    public SilentStatusBarPreferenceController(Context context) {
+        super(context, KEY);
+        mBackend = new NotificationBackend();
+    }
+
+    @VisibleForTesting
+    void setBackend(NotificationBackend backend) {
+        mBackend = backend;
+    }
+
+    @Override
+    public boolean isChecked() {
+        return mBackend.shouldHideSilentStatusBarIcons(mContext);
+    }
+
+    @Override
+    public boolean setChecked(boolean isChecked) {
+        mBackend.setHideSilentStatusIcons(isChecked);
+        return true;
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return AVAILABLE;
+    }
+}
diff --git a/src/com/android/settings/notification/SoundPreferenceController.java b/src/com/android/settings/notification/SoundPreferenceController.java
deleted file mode 100644
index 566f3f2..0000000
--- a/src/com/android/settings/notification/SoundPreferenceController.java
+++ /dev/null
@@ -1,133 +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.media.AudioAttributes.USAGE_ALARM;
-import static android.media.AudioAttributes.USAGE_NOTIFICATION_RINGTONE;
-
-import android.app.NotificationChannel;
-import android.app.NotificationManager;
-import android.content.Context;
-import android.content.Intent;
-import android.media.RingtoneManager;
-import android.net.Uri;
-import android.preference.PreferenceManager;
-
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.SettingsPreferenceFragment;
-import com.android.settings.core.PreferenceControllerMixin;
-
-public class SoundPreferenceController extends NotificationPreferenceController
-        implements PreferenceControllerMixin, Preference.OnPreferenceChangeListener,
-        PreferenceManager.OnActivityResultListener {
-
-    private static final String KEY_SOUND = "ringtone";
-    private final SettingsPreferenceFragment mFragment;
-    private final NotificationSettingsBase.ImportanceListener mListener;
-    private NotificationSoundPreference mPreference;
-    protected static final int CODE = 200;
-
-    public SoundPreferenceController(Context context, SettingsPreferenceFragment hostFragment,
-            NotificationSettingsBase.ImportanceListener importanceListener,
-            NotificationBackend backend) {
-        super(context, backend);
-        mFragment = hostFragment;
-        mListener = importanceListener;
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return KEY_SOUND;
-    }
-
-    @Override
-    public boolean isAvailable() {
-        if (!super.isAvailable()) {
-            return false;
-        }
-        if (mChannel == null) {
-            return false;
-        }
-        return checkCanBeVisible(NotificationManager.IMPORTANCE_DEFAULT) && !isDefaultChannel();
-    }
-
-    @Override
-    public void displayPreference(PreferenceScreen screen) {
-        super.displayPreference(screen);
-
-        mPreference = screen.findPreference(getPreferenceKey());
-    }
-
-    public void updateState(Preference preference) {
-        if (mAppRow!= null && mChannel != null) {
-            NotificationSoundPreference pref = (NotificationSoundPreference) preference;
-            pref.setEnabled(mAdmin == null);
-            pref.setRingtone(mChannel.getSound());
-        }
-    }
-
-    @Override
-    public boolean onPreferenceChange(Preference preference, Object newValue) {
-        if (mChannel != null) {
-            mChannel.setSound((Uri) newValue, mChannel.getAudioAttributes());
-            saveChannel();
-        }
-        return true;
-    }
-
-    @Override
-    public boolean handlePreferenceTreeClick(Preference preference) {
-        if (KEY_SOUND.equals(preference.getKey()) && mFragment != null) {
-            NotificationSoundPreference pref = (NotificationSoundPreference) preference;
-            if (mChannel != null && mChannel.getAudioAttributes() != null) {
-                if (USAGE_ALARM == mChannel.getAudioAttributes().getUsage()) {
-                    pref.setRingtoneType(RingtoneManager.TYPE_ALARM);
-                } else if (USAGE_NOTIFICATION_RINGTONE
-                        == mChannel.getAudioAttributes().getUsage()) {
-                    pref.setRingtoneType(RingtoneManager.TYPE_RINGTONE);
-                } else {
-                    pref.setRingtoneType(RingtoneManager.TYPE_NOTIFICATION);
-                }
-            }
-            pref.onPrepareRingtonePickerIntent(pref.getIntent());
-            mFragment.startActivityForResult(preference.getIntent(), CODE);
-            return true;
-        }
-        return false;
-    }
-
-    @Override
-    public boolean onActivityResult(int requestCode, int resultCode, Intent data) {
-        if (CODE == requestCode) {
-            if (mPreference != null) {
-                mPreference.onActivityResult(requestCode, resultCode, data);
-            }
-            // the importance hasn't changed, but the importance description might as a result of
-            // user's selection.
-            mListener.onImportanceChanged();
-            return true;
-        }
-        return false;
-    }
-
-    protected static boolean hasValidSound(NotificationChannel channel) {
-        return channel != null
-                && channel.getSound() != null && !Uri.EMPTY.equals(channel.getSound());
-    }
-}
diff --git a/src/com/android/settings/notification/SoundSettings.java b/src/com/android/settings/notification/SoundSettings.java
index eec0fb8..ad11f55 100644
--- a/src/com/android/settings/notification/SoundSettings.java
+++ b/src/com/android/settings/notification/SoundSettings.java
@@ -25,7 +25,6 @@
 import android.os.Message;
 import android.os.UserHandle;
 import android.preference.SeekBarVolumizer;
-import android.provider.SearchIndexableResource;
 import android.text.TextUtils;
 
 import androidx.annotation.VisibleForTesting;
@@ -39,11 +38,11 @@
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settings.sound.HandsFreeProfileOutputPreferenceController;
 import com.android.settings.widget.PreferenceCategoryController;
-import com.android.settings.widget.UpdatableListPreferenceDialogFragment;
 import com.android.settingslib.core.AbstractPreferenceController;
 import com.android.settingslib.core.instrumentation.Instrumentable;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 import com.android.settingslib.search.SearchIndexable;
+import com.android.settingslib.widget.UpdatableListPreferenceDialogFragment;
 
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -180,7 +179,6 @@
         volumeControllers.add(use(RingVolumePreferenceController.class));
         volumeControllers.add(use(NotificationVolumePreferenceController.class));
         volumeControllers.add(use(CallVolumePreferenceController.class));
-        volumeControllers.add(use(RemoteVolumePreferenceController.class));
 
         use(HandsFreeProfileOutputPreferenceController.class).setCallback(listPreference ->
                 onPreferenceDataChanged(listPreference));
@@ -191,6 +189,7 @@
             controller.setCallback(mVolumeCallback);
             getSettingsLifecycle().addObserver(controller);
         }
+        getSettingsLifecycle().addObserver(use(RemoteVolumeGroupController.class));
     }
 
     // === Volumes ===
@@ -286,14 +285,7 @@
     // === Indexing ===
 
     public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-
-                public List<SearchIndexableResource> getXmlResourcesToIndex(
-                        Context context, boolean enabled) {
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.sound_settings;
-                    return Arrays.asList(sir);
-                }
+            new BaseSearchIndexProvider(R.xml.sound_settings) {
 
                 @Override
                 public List<AbstractPreferenceController> createPreferenceControllers(
diff --git a/src/com/android/settings/notification/VibrateWhenRingPreferenceController.java b/src/com/android/settings/notification/VibrateWhenRingPreferenceController.java
deleted file mode 100644
index b043cb1..0000000
--- a/src/com/android/settings/notification/VibrateWhenRingPreferenceController.java
+++ /dev/null
@@ -1,139 +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.notification;
-
-import static android.provider.Settings.System.VIBRATE_WHEN_RINGING;
-
-import android.content.ContentResolver;
-import android.content.Context;
-import android.database.ContentObserver;
-import android.net.Uri;
-import android.os.Handler;
-import android.provider.DeviceConfig;
-import android.provider.Settings;
-import android.text.TextUtils;
-
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.Utils;
-import com.android.settings.core.TogglePreferenceController;
-import com.android.settingslib.core.lifecycle.LifecycleObserver;
-import com.android.settingslib.core.lifecycle.events.OnPause;
-import com.android.settingslib.core.lifecycle.events.OnResume;
-
-public class VibrateWhenRingPreferenceController extends TogglePreferenceController
-        implements LifecycleObserver, OnResume, OnPause {
-
-    /** Flag for whether or not to apply ramping ringer on incoming phone calls. */
-    private static final String RAMPING_RINGER_ENABLED = "ramping_ringer_enabled";
-    private static final String KEY_VIBRATE_WHEN_RINGING = "vibrate_when_ringing";
-    private final int DEFAULT_VALUE = 0;
-    private final int NOTIFICATION_VIBRATE_WHEN_RINGING = 1;
-    private SettingObserver mSettingObserver;
-
-    public VibrateWhenRingPreferenceController(Context context, String key) {
-        super(context, key);
-    }
-
-    @Override
-    public boolean isChecked() {
-        return Settings.System.getInt(mContext.getContentResolver(),
-                VIBRATE_WHEN_RINGING, DEFAULT_VALUE) != DEFAULT_VALUE;
-    }
-
-    @Override
-    public boolean setChecked(boolean isChecked) {
-        return Settings.System.putInt(mContext.getContentResolver(), VIBRATE_WHEN_RINGING,
-                isChecked ? NOTIFICATION_VIBRATE_WHEN_RINGING : DEFAULT_VALUE);
-    }
-
-    @Override
-    @AvailabilityStatus
-    public int getAvailabilityStatus() {
-        // If ramping ringer is enabled then this setting will be injected
-        // with additional options.
-        return Utils.isVoiceCapable(mContext) && !isRampingRingerEnabled()
-            ? AVAILABLE
-            : UNSUPPORTED_ON_DEVICE;
-    }
-
-    @Override
-    public boolean isSliceable() {
-        return TextUtils.equals(getPreferenceKey(), "vibrate_when_ringing");
-    }
-
-    @Override
-    public void displayPreference(PreferenceScreen screen) {
-        super.displayPreference(screen);
-        Preference preference = screen.findPreference(KEY_VIBRATE_WHEN_RINGING);
-        if (preference != null) {
-            mSettingObserver = new SettingObserver(preference);
-            preference.setPersistent(false);
-        }
-    }
-
-    @Override
-    public void onResume() {
-        if (mSettingObserver != null) {
-            mSettingObserver.register(true /* register */);
-        }
-    }
-
-    @Override
-    public void onPause() {
-        if (mSettingObserver != null) {
-            mSettingObserver.register(false /* register */);
-        }
-    }
-
-    private final class SettingObserver extends ContentObserver {
-
-        private final Uri VIBRATE_WHEN_RINGING_URI =
-                Settings.System.getUriFor(VIBRATE_WHEN_RINGING);
-
-        private final Preference mPreference;
-
-        public SettingObserver(Preference preference) {
-            super(new Handler());
-            mPreference = preference;
-        }
-
-        public void register(boolean register) {
-            final ContentResolver cr = mContext.getContentResolver();
-            if (register) {
-                cr.registerContentObserver(VIBRATE_WHEN_RINGING_URI, false, this);
-            } else {
-                cr.unregisterContentObserver(this);
-            }
-        }
-
-        @Override
-        public void onChange(boolean selfChange, Uri uri) {
-            super.onChange(selfChange, uri);
-            if (VIBRATE_WHEN_RINGING_URI.equals(uri)) {
-                updateState(mPreference);
-            }
-        }
-    }
-
-    private boolean isRampingRingerEnabled() {
-        return DeviceConfig.getBoolean(
-                DeviceConfig.NAMESPACE_TELEPHONY, RAMPING_RINGER_ENABLED, false);
-    }
-
-}
diff --git a/src/com/android/settings/notification/VibrationPreferenceController.java b/src/com/android/settings/notification/VibrationPreferenceController.java
deleted file mode 100644
index e6024d0..0000000
--- a/src/com/android/settings/notification/VibrationPreferenceController.java
+++ /dev/null
@@ -1,73 +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 android.app.NotificationManager;
-import android.content.Context;
-import android.os.Vibrator;
-
-import androidx.preference.Preference;
-
-import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settingslib.RestrictedSwitchPreference;
-
-public class VibrationPreferenceController extends NotificationPreferenceController
-        implements PreferenceControllerMixin, Preference.OnPreferenceChangeListener {
-
-    private static final String KEY_VIBRATE = "vibrate";
-    private final Vibrator mVibrator;
-
-    public VibrationPreferenceController(Context context, NotificationBackend backend) {
-        super(context, backend);
-        mVibrator = (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE);
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return KEY_VIBRATE;
-    }
-
-    @Override
-    public boolean isAvailable() {
-        if (!super.isAvailable() || mChannel == null) {
-            return false;
-       }
-        return checkCanBeVisible(NotificationManager.IMPORTANCE_DEFAULT)
-                && !isDefaultChannel()
-                && mVibrator != null
-                && mVibrator.hasVibrator();
-    }
-
-    public void updateState(Preference preference) {
-        if (mChannel != null) {
-            RestrictedSwitchPreference pref = (RestrictedSwitchPreference) preference;
-            pref.setDisabledByAdmin(mAdmin);
-            pref.setEnabled(!pref.isDisabledByAdmin());
-            pref.setChecked(mChannel.shouldVibrate());
-        }
-    }
-
-    @Override
-    public boolean onPreferenceChange(Preference preference, Object newValue) {
-        if (mChannel != null) {
-            final boolean vibrate = (Boolean) newValue;
-            mChannel.enableVibration(vibrate);
-            saveChannel();
-        }
-        return true;
-    }
-}
diff --git a/src/com/android/settings/notification/VisibilityPreferenceController.java b/src/com/android/settings/notification/VisibilityPreferenceController.java
deleted file mode 100644
index fe036e9..0000000
--- a/src/com/android/settings/notification/VisibilityPreferenceController.java
+++ /dev/null
@@ -1,173 +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 android.app.Notification;
-import android.app.NotificationChannel;
-import android.app.NotificationManager;
-import android.app.admin.DevicePolicyManager;
-import android.content.Context;
-import android.content.pm.UserInfo;
-import android.os.UserHandle;
-import android.provider.Settings;
-import android.service.notification.NotificationListenerService;
-
-import androidx.preference.Preference;
-
-import com.android.internal.widget.LockPatternUtils;
-import com.android.settings.R;
-import com.android.settings.RestrictedListPreference;
-import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settingslib.RestrictedLockUtils;
-import com.android.settingslib.RestrictedLockUtilsInternal;
-
-import java.util.ArrayList;
-
-public class VisibilityPreferenceController extends NotificationPreferenceController
-        implements PreferenceControllerMixin, Preference.OnPreferenceChangeListener {
-
-    private static final String TAG = "ChannelVisPrefContr";
-    private static final String KEY_VISIBILITY_OVERRIDE = "visibility_override";
-    private LockPatternUtils mLockPatternUtils;
-
-    public VisibilityPreferenceController(Context context, LockPatternUtils utils,
-            NotificationBackend backend) {
-        super(context, backend);
-        mLockPatternUtils = utils;
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return KEY_VISIBILITY_OVERRIDE;
-    }
-
-    @Override
-    public boolean isAvailable() {
-        if (!super.isAvailable()) {
-            return false;
-        }
-        if (mChannel == null || mAppRow.banned) {
-            return false;
-        }
-        return checkCanBeVisible(NotificationManager.IMPORTANCE_LOW) && isLockScreenSecure();
-    }
-
-    public void updateState(Preference preference) {
-        if (mChannel != null && mAppRow != null) {
-            RestrictedListPreference pref = (RestrictedListPreference) preference;
-            ArrayList<CharSequence> entries = new ArrayList<>();
-            ArrayList<CharSequence> values = new ArrayList<>();
-
-            pref.clearRestrictedItems();
-            if (getLockscreenNotificationsEnabled() && getLockscreenAllowPrivateNotifications()) {
-                final String summaryShowEntry =
-                        mContext.getString(R.string.lock_screen_notifications_summary_show);
-                final String summaryShowEntryValue =
-                        Integer.toString(NotificationManager.VISIBILITY_NO_OVERRIDE);
-                entries.add(summaryShowEntry);
-                values.add(summaryShowEntryValue);
-                setRestrictedIfNotificationFeaturesDisabled(pref, summaryShowEntry,
-                        summaryShowEntryValue,
-                        DevicePolicyManager.KEYGUARD_DISABLE_SECURE_NOTIFICATIONS
-                                | DevicePolicyManager.KEYGUARD_DISABLE_UNREDACTED_NOTIFICATIONS);
-            }
-
-            if (getLockscreenNotificationsEnabled()) {
-                final String summaryHideEntry =
-                        mContext.getString(R.string.lock_screen_notifications_summary_hide);
-                final String summaryHideEntryValue = Integer.toString(
-                        Notification.VISIBILITY_PRIVATE);
-                entries.add(summaryHideEntry);
-                values.add(summaryHideEntryValue);
-                setRestrictedIfNotificationFeaturesDisabled(pref,
-                        summaryHideEntry, summaryHideEntryValue,
-                        DevicePolicyManager.KEYGUARD_DISABLE_SECURE_NOTIFICATIONS);
-            }
-            entries.add(mContext.getString(R.string.lock_screen_notifications_summary_disable));
-            values.add(Integer.toString(Notification.VISIBILITY_SECRET));
-            pref.setEntries(entries.toArray(new CharSequence[entries.size()]));
-            pref.setEntryValues(values.toArray(new CharSequence[values.size()]));
-
-            if (mChannel.getLockscreenVisibility()
-                    == NotificationListenerService.Ranking.VISIBILITY_NO_OVERRIDE) {
-                pref.setValue(Integer.toString(getGlobalVisibility()));
-            } else {
-                pref.setValue(Integer.toString(mChannel.getLockscreenVisibility()));
-            }
-            pref.setSummary("%s");
-        }
-    }
-
-    @Override
-    public boolean onPreferenceChange(Preference preference, Object newValue) {
-        if (mChannel != null) {
-            int sensitive = Integer.parseInt((String) newValue);
-            if (sensitive == getGlobalVisibility()) {
-                sensitive = NotificationListenerService.Ranking.VISIBILITY_NO_OVERRIDE;
-            }
-            mChannel.setLockscreenVisibility(sensitive);
-            mChannel.lockFields(NotificationChannel.USER_LOCKED_VISIBILITY);
-            saveChannel();
-        }
-        return true;
-    }
-
-    private void setRestrictedIfNotificationFeaturesDisabled(RestrictedListPreference pref,
-            CharSequence entry, CharSequence entryValue, int keyguardNotificationFeatures) {
-        RestrictedLockUtils.EnforcedAdmin admin =
-                RestrictedLockUtilsInternal.checkIfKeyguardFeaturesDisabled(
-                        mContext, keyguardNotificationFeatures, mAppRow.userId);
-        if (admin != null) {
-            RestrictedListPreference.RestrictedItem item =
-                    new RestrictedListPreference.RestrictedItem(entry, entryValue, admin);
-            pref.addRestrictedItem(item);
-        }
-    }
-
-    private int getGlobalVisibility() {
-        int globalVis = NotificationListenerService.Ranking.VISIBILITY_NO_OVERRIDE;
-        if (!getLockscreenNotificationsEnabled()) {
-            globalVis = Notification.VISIBILITY_SECRET;
-        } else if (!getLockscreenAllowPrivateNotifications()) {
-            globalVis = Notification.VISIBILITY_PRIVATE;
-        }
-        return globalVis;
-    }
-
-    private boolean getLockscreenNotificationsEnabled() {
-        final UserInfo parentUser = mUm.getProfileParent(UserHandle.myUserId());
-        final int primaryUserId = parentUser != null ? parentUser.id : UserHandle.myUserId();
-        return Settings.Secure.getIntForUser(mContext.getContentResolver(),
-                Settings.Secure.LOCK_SCREEN_SHOW_NOTIFICATIONS, 0, primaryUserId) != 0;
-    }
-
-    private boolean getLockscreenAllowPrivateNotifications() {
-        return Settings.Secure.getInt(mContext.getContentResolver(),
-                Settings.Secure.LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS, 0) != 0;
-    }
-
-    protected boolean isLockScreenSecure() {
-        boolean lockscreenSecure = mLockPatternUtils.isSecure(UserHandle.myUserId());
-        UserInfo parentUser = mUm.getProfileParent(UserHandle.myUserId());
-        if (parentUser != null){
-            lockscreenSecure |= mLockPatternUtils.isSecure(parentUser.id);
-        }
-
-        return lockscreenSecure;
-    }
-
-}
diff --git a/src/com/android/settings/notification/ZenAccessSettings.java b/src/com/android/settings/notification/ZenAccessSettings.java
deleted file mode 100644
index fca8255..0000000
--- a/src/com/android/settings/notification/ZenAccessSettings.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
- * Copyright (C) 2015 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.notification;
-
-import android.annotation.Nullable;
-import android.app.ActivityManager;
-import android.app.NotificationManager;
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.content.pm.ApplicationInfo;
-import android.content.pm.PackageItemInfo;
-import android.content.pm.PackageManager;
-import android.os.Bundle;
-import android.provider.SearchIndexableResource;
-import android.util.ArraySet;
-import android.view.View;
-
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.R;
-import com.android.settings.applications.AppInfoBase;
-import com.android.settings.applications.specialaccess.zenaccess.ZenAccessController;
-import com.android.settings.applications.specialaccess.zenaccess.ZenAccessDetails;
-import com.android.settings.applications.specialaccess.zenaccess.ZenAccessSettingObserverMixin;
-import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
-import com.android.settings.widget.EmptyTextSettings;
-import com.android.settingslib.search.SearchIndexable;
-import com.android.settingslib.widget.apppreference.AppPreference;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.Set;
-
-@SearchIndexable
-public class ZenAccessSettings extends EmptyTextSettings implements
-        ZenAccessSettingObserverMixin.Listener {
-    private final String TAG = "ZenAccessSettings";
-
-    private Context mContext;
-    private PackageManager mPkgMan;
-    private NotificationManager mNoMan;
-
-    @Override
-    public int getMetricsCategory() {
-        return SettingsEnums.NOTIFICATION_ZEN_MODE_ACCESS;
-    }
-
-    @Override
-    public void onCreate(Bundle icicle) {
-        super.onCreate(icicle);
-
-        mContext = getActivity();
-        mPkgMan = mContext.getPackageManager();
-        mNoMan = mContext.getSystemService(NotificationManager.class);
-        getSettingsLifecycle().addObserver(
-                new ZenAccessSettingObserverMixin(getContext(), this /* listener */));
-    }
-
-    @Override
-    public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
-        super.onViewCreated(view, savedInstanceState);
-        setEmptyText(R.string.zen_access_empty_text);
-    }
-
-    @Override
-    protected int getPreferenceScreenResId() {
-        return R.xml.zen_access_settings;
-    }
-
-    @Override
-    public void onResume() {
-        super.onResume();
-        if (!ActivityManager.isLowRamDeviceStatic()) {
-            reloadList();
-        } else {
-            setEmptyText(R.string.disabled_low_ram_device);
-        }
-    }
-
-    @Override
-    public void onZenAccessPolicyChanged() {
-        reloadList();
-    }
-
-    private void reloadList() {
-        final PreferenceScreen screen = getPreferenceScreen();
-        screen.removeAll();
-        final ArrayList<ApplicationInfo> apps = new ArrayList<>();
-        final Set<String> requesting =
-                ZenAccessController.getPackagesRequestingNotificationPolicyAccess();
-        if (!requesting.isEmpty()) {
-            final List<ApplicationInfo> installed = mPkgMan.getInstalledApplications(0);
-            if (installed != null) {
-                for (ApplicationInfo app : installed) {
-                    if (requesting.contains(app.packageName)) {
-                        apps.add(app);
-                    }
-                }
-            }
-        }
-        ArraySet<String> autoApproved = new ArraySet<>();
-        autoApproved.addAll(mNoMan.getEnabledNotificationListenerPackages());
-        requesting.addAll(autoApproved);
-        Collections.sort(apps, new PackageItemInfo.DisplayNameComparator(mPkgMan));
-        for (ApplicationInfo app : apps) {
-            final String pkg = app.packageName;
-            final CharSequence label = app.loadLabel(mPkgMan);
-            final AppPreference pref = new AppPreference(getPrefContext());
-            pref.setKey(pkg);
-            pref.setIcon(app.loadIcon(mPkgMan));
-            pref.setTitle(label);
-            if (autoApproved.contains(pkg)) {
-                //Auto approved, user cannot do anything. Hard code summary and disable preference.
-                pref.setEnabled(false);
-                pref.setSummary(getString(R.string.zen_access_disabled_package_warning));
-            } else {
-                // Not auto approved, update summary according to notification backend.
-                pref.setSummary(getPreferenceSummary(pkg));
-            }
-            pref.setOnPreferenceClickListener(preference -> {
-                AppInfoBase.startAppInfoFragment(
-                        ZenAccessDetails.class  /* fragment */,
-                        R.string.manage_zen_access_title /* titleRes */,
-                        pkg,
-                        app.uid,
-                        this /* source */,
-                        -1 /* requestCode */,
-                        getMetricsCategory() /* sourceMetricsCategory */);
-                return true;
-            });
-
-            screen.addPreference(pref);
-        }
-    }
-
-    /**
-     * @return the summary for the current state of whether the app associated with the given
-     * {@param packageName} is allowed to enter picture-in-picture.
-     */
-    private int getPreferenceSummary(String packageName) {
-        final boolean enabled = ZenAccessController.hasAccess(getContext(), packageName);
-        return enabled ? R.string.app_permission_summary_allowed
-                : R.string.app_permission_summary_not_allowed;
-    }
-
-    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
-                        boolean enabled) {
-                    final ArrayList<SearchIndexableResource> result = new ArrayList<>();
-
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.zen_access_settings;
-                    result.add(sir);
-                    return result;
-                }
-            };
-}
diff --git a/src/com/android/settings/notification/ZenAutomaticRuleHeaderPreferenceController.java b/src/com/android/settings/notification/ZenAutomaticRuleHeaderPreferenceController.java
deleted file mode 100644
index 73a03cb..0000000
--- a/src/com/android/settings/notification/ZenAutomaticRuleHeaderPreferenceController.java
+++ /dev/null
@@ -1,115 +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 com.android.settings.widget.EntityHeaderController.PREF_KEY_APP_HEADER;
-
-import android.app.AutomaticZenRule;
-import android.content.Context;
-import android.content.pm.ApplicationInfo;
-import android.content.pm.PackageManager;
-import android.graphics.drawable.Drawable;
-import android.service.notification.ZenModeConfig;
-import android.util.Slog;
-import android.view.View;
-
-import androidx.preference.Preference;
-import androidx.preference.PreferenceFragmentCompat;
-
-import com.android.settings.R;
-import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settings.widget.EntityHeaderController;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-import com.android.settingslib.widget.LayoutPreference;
-
-public class ZenAutomaticRuleHeaderPreferenceController extends AbstractZenModePreferenceController
-        implements PreferenceControllerMixin {
-
-    private final String KEY = PREF_KEY_APP_HEADER;
-    private final PreferenceFragmentCompat mFragment;
-    private AutomaticZenRule mRule;
-    private String mId;
-    private EntityHeaderController mController;
-
-    public ZenAutomaticRuleHeaderPreferenceController(Context context,
-            PreferenceFragmentCompat fragment, Lifecycle lifecycle) {
-        super(context, PREF_KEY_APP_HEADER, lifecycle);
-        mFragment = fragment;
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return KEY;
-    }
-
-    @Override
-    public boolean isAvailable() {
-        return mRule != null;
-    }
-
-    public void updateState(Preference preference) {
-        if (mRule == null) {
-            return;
-        }
-
-        if (mFragment != null) {
-            LayoutPreference pref = (LayoutPreference) preference;
-
-            if (mController == null) {
-                mController = EntityHeaderController
-                        .newInstance(mFragment.getActivity(), mFragment,
-                                pref.findViewById(R.id.entity_header));
-            }
-
-            pref = mController.setIcon(getIcon())
-                    .setLabel(mRule.getName())
-                    .setPackageName(mRule.getOwner().getPackageName())
-                    .setUid(mContext.getUserId())
-                    .setHasAppInfoLink(false)
-                    .setButtonActions(EntityHeaderController.ActionType.ACTION_EDIT_PREFERENCE,
-                            EntityHeaderController.ActionType.ACTION_NONE)
-                    .done(mFragment.getActivity(), mContext);
-
-            pref.findViewById(R.id.entity_header).setVisibility(View.VISIBLE);
-        }
-    }
-
-    private Drawable getIcon() {
-        try {
-            PackageManager packageManager =  mContext.getPackageManager();
-            ApplicationInfo info = packageManager.getApplicationInfo(
-                    mRule.getOwner().getPackageName(), 0);
-            if (info.isSystemApp()) {
-                if (ZenModeConfig.isValidScheduleConditionId(mRule.getConditionId())) {
-                    return mContext.getDrawable(R.drawable.ic_timelapse);
-                } else if (ZenModeConfig.isValidEventConditionId(mRule.getConditionId())) {
-                    return mContext.getDrawable(R.drawable.ic_event);
-                }
-            }
-            return info.loadIcon(packageManager);
-        } catch (PackageManager.NameNotFoundException e) {
-           Slog.w(TAG, "Unable to load icon - PackageManager.NameNotFoundException");
-        }
-
-        return null;
-    }
-
-    protected void onResume(AutomaticZenRule rule, String id) {
-        mRule = rule;
-        mId = id;
-    }
-}
diff --git a/src/com/android/settings/notification/ZenAutomaticRuleSwitchPreferenceController.java b/src/com/android/settings/notification/ZenAutomaticRuleSwitchPreferenceController.java
deleted file mode 100644
index b9ed734..0000000
--- a/src/com/android/settings/notification/ZenAutomaticRuleSwitchPreferenceController.java
+++ /dev/null
@@ -1,97 +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 android.app.AutomaticZenRule;
-import android.content.Context;
-import android.widget.Switch;
-
-import androidx.fragment.app.Fragment;
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.R;
-import com.android.settings.widget.SwitchBar;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-import com.android.settingslib.widget.LayoutPreference;
-
-public class ZenAutomaticRuleSwitchPreferenceController extends
-        AbstractZenModeAutomaticRulePreferenceController implements
-        SwitchBar.OnSwitchChangeListener {
-
-    private static final String KEY = "zen_automatic_rule_switch";
-    private AutomaticZenRule mRule;
-    private String mId;
-    private SwitchBar mSwitchBar;
-
-    public ZenAutomaticRuleSwitchPreferenceController(Context context, Fragment parent,
-            Lifecycle lifecycle) {
-        super(context, KEY, parent, lifecycle);
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return KEY;
-    }
-
-    @Override
-    public boolean isAvailable() {
-        return mRule != null && mId != null;
-    }
-
-    @Override
-    public void displayPreference(PreferenceScreen screen) {
-        super.displayPreference(screen);
-        LayoutPreference pref = screen.findPreference(KEY);
-        mSwitchBar = pref.findViewById(R.id.switch_bar);
-
-        if (mSwitchBar != null) {
-            mSwitchBar.setSwitchBarText(R.string.zen_mode_use_automatic_rule,
-                    R.string.zen_mode_use_automatic_rule);
-            try {
-                pref.setOnPreferenceClickListener(preference -> {
-                    mRule.setEnabled(!mRule.isEnabled());
-                    mBackend.updateZenRule(mId, mRule);
-                    return true;
-                });
-                mSwitchBar.addOnSwitchChangeListener(this);
-            } catch (IllegalStateException e) {
-                // an exception is thrown if you try to add the listener twice
-            }
-            mSwitchBar.show();
-        }
-    }
-
-    public void onResume(AutomaticZenRule rule, String id) {
-        mRule = rule;
-        mId = id;
-    }
-
-    public void updateState(Preference preference) {
-        if (mRule != null) {
-            mSwitchBar.setChecked(mRule.isEnabled());
-        }
-    }
-
-    @Override
-    public void onSwitchChanged(Switch switchView, boolean isChecked) {
-        final boolean enabled = isChecked;
-        if (enabled == mRule.isEnabled()) return;
-        mRule.setEnabled(enabled);
-        mBackend.updateZenRule(mId, mRule);
-    }
-}
diff --git a/src/com/android/settings/notification/ZenCustomRadioButtonPreference.java b/src/com/android/settings/notification/ZenCustomRadioButtonPreference.java
deleted file mode 100644
index 000a756..0000000
--- a/src/com/android/settings/notification/ZenCustomRadioButtonPreference.java
+++ /dev/null
@@ -1,144 +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.notification;
-
-import android.content.Context;
-import android.util.AttributeSet;
-import android.view.View;
-import android.widget.RadioButton;
-
-import androidx.preference.PreferenceViewHolder;
-
-import com.android.settings.R;
-import com.android.settingslib.TwoTargetPreference;
-
-/**
- * A radio button preference with a divider and a settings icon that links to another screen.
- */
-public class ZenCustomRadioButtonPreference extends TwoTargetPreference
-        implements View.OnClickListener {
-
-    private RadioButton mButton;
-    private boolean mChecked;
-
-    private OnGearClickListener mOnGearClickListener;
-    private OnRadioButtonClickListener mOnRadioButtonClickListener;
-
-    public ZenCustomRadioButtonPreference(Context context, AttributeSet attrs,
-            int defStyleAttr, int defStyleRes) {
-        super(context, attrs, defStyleAttr, defStyleRes);
-        setLayoutResource(R.layout.preference_two_target_radio);
-    }
-
-    public ZenCustomRadioButtonPreference(Context context, AttributeSet attrs, int defStyleAttr) {
-        super(context, attrs, defStyleAttr);
-        setLayoutResource(R.layout.preference_two_target_radio);
-    }
-
-    public ZenCustomRadioButtonPreference(Context context, AttributeSet attrs) {
-        super(context, attrs);
-        setLayoutResource(R.layout.preference_two_target_radio);
-    }
-
-    public ZenCustomRadioButtonPreference(Context context) {
-        super(context);
-        setLayoutResource(R.layout.preference_two_target_radio);
-    }
-
-    @Override
-    protected int getSecondTargetResId() {
-        return R.layout.preference_widget_gear;
-    }
-
-    public void setOnGearClickListener(OnGearClickListener l) {
-        mOnGearClickListener = l;
-        notifyChanged();
-    }
-
-    public void setOnRadioButtonClickListener(OnRadioButtonClickListener l) {
-        mOnRadioButtonClickListener = l;
-        notifyChanged();
-    }
-
-    @Override
-    public void onBindViewHolder(PreferenceViewHolder holder) {
-        super.onBindViewHolder(holder);
-        View buttonFrame = holder.findViewById(R.id.checkbox_frame);
-        if (buttonFrame != null) {
-            buttonFrame.setOnClickListener(this);
-        }
-        mButton = (RadioButton) holder.findViewById(android.R.id.checkbox);
-        if (mButton != null) {
-            mButton.setChecked(mChecked);
-        }
-
-        final View gear = holder.findViewById(android.R.id.widget_frame);
-        final View divider = holder.findViewById(R.id.two_target_divider);
-        if (mOnGearClickListener != null) {
-            divider.setVisibility(View.VISIBLE);
-            gear.setVisibility(View.VISIBLE);
-            gear.setOnClickListener(this);
-        } else {
-            divider.setVisibility(View.GONE);
-            gear.setVisibility(View.GONE);
-            gear.setOnClickListener(null);
-        }
-    }
-
-    public boolean isChecked() {
-        return mButton != null && mChecked;
-    }
-
-    public void setChecked(boolean checked) {
-        mChecked = checked;
-        if (mButton != null) {
-            mButton.setChecked(checked);
-        }
-    }
-
-    public RadioButton getRadioButton() {
-        return mButton;
-    }
-
-    @Override
-    public void onClick() {
-        if (mOnRadioButtonClickListener != null) {
-            mOnRadioButtonClickListener.onRadioButtonClick(this);
-        }
-    }
-
-    @Override
-    public void onClick(View v) {
-        if (v.getId() == android.R.id.widget_frame) {
-            if (mOnGearClickListener != null) {
-                mOnGearClickListener.onGearClick(this);
-            }
-        } else if (v.getId() == R.id.checkbox_frame) {
-            if (mOnRadioButtonClickListener != null) {
-                mOnRadioButtonClickListener.onRadioButtonClick(this);
-            }
-        }
-    }
-
-    public interface OnGearClickListener {
-        void onGearClick(ZenCustomRadioButtonPreference p);
-    }
-
-    public interface OnRadioButtonClickListener {
-        void onRadioButtonClick(ZenCustomRadioButtonPreference p);
-    }
-}
diff --git a/src/com/android/settings/notification/ZenCustomRuleBlockedEffectsSettings.java b/src/com/android/settings/notification/ZenCustomRuleBlockedEffectsSettings.java
deleted file mode 100644
index b407445..0000000
--- a/src/com/android/settings/notification/ZenCustomRuleBlockedEffectsSettings.java
+++ /dev/null
@@ -1,81 +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.notification;
-
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.os.Bundle;
-import android.service.notification.ZenPolicy;
-
-import com.android.settings.R;
-import com.android.settingslib.core.AbstractPreferenceController;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class ZenCustomRuleBlockedEffectsSettings extends ZenCustomRuleSettingsBase {
-
-    @Override
-    public void onCreate(Bundle bundle) {
-        super.onCreate(bundle);
-        mFooterPreferenceMixin.createFooterPreference().setTitle(
-                R.string.zen_mode_blocked_effects_footer);
-    }
-
-    @Override
-    protected int getPreferenceScreenResId() {
-        return R.xml.zen_mode_block_settings;
-    }
-
-    @Override
-    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
-        mControllers = new ArrayList<>();
-        mControllers.add(new ZenRuleVisEffectPreferenceController(context, getSettingsLifecycle(),
-                "zen_effect_intent", ZenPolicy.VISUAL_EFFECT_FULL_SCREEN_INTENT,
-                SettingsEnums.ACTION_ZEN_BLOCK_FULL_SCREEN_INTENTS, null));
-        mControllers.add(new ZenRuleVisEffectPreferenceController(context, getSettingsLifecycle(),
-                "zen_effect_light", ZenPolicy.VISUAL_EFFECT_LIGHTS,
-                SettingsEnums.ACTION_ZEN_BLOCK_LIGHT, null));
-        mControllers.add(new ZenRuleVisEffectPreferenceController(context, getSettingsLifecycle(),
-                "zen_effect_peek", ZenPolicy.VISUAL_EFFECT_PEEK,
-                SettingsEnums.ACTION_ZEN_BLOCK_PEEK, null));
-        mControllers.add(new ZenRuleVisEffectPreferenceController(context, getSettingsLifecycle(),
-                "zen_effect_status", ZenPolicy.VISUAL_EFFECT_STATUS_BAR,
-                SettingsEnums.ACTION_ZEN_BLOCK_STATUS,
-                new int[] {ZenPolicy.VISUAL_EFFECT_NOTIFICATION_LIST}));
-        mControllers.add(new ZenRuleVisEffectPreferenceController(context, getSettingsLifecycle(),
-                "zen_effect_badge", ZenPolicy.VISUAL_EFFECT_BADGE,
-                SettingsEnums.ACTION_ZEN_BLOCK_BADGE, null));
-        mControllers.add(new ZenRuleVisEffectPreferenceController(context, getSettingsLifecycle(),
-                "zen_effect_ambient", ZenPolicy.VISUAL_EFFECT_AMBIENT,
-                SettingsEnums.ACTION_ZEN_BLOCK_AMBIENT, null));
-        mControllers.add(new ZenRuleVisEffectPreferenceController(context, getSettingsLifecycle(),
-                "zen_effect_list", ZenPolicy.VISUAL_EFFECT_NOTIFICATION_LIST,
-                SettingsEnums.ACTION_ZEN_BLOCK_NOTIFICATION_LIST, null));
-        return mControllers;
-    }
-
-    @Override
-    String getPreferenceCategoryKey() {
-        return null;
-    }
-
-    @Override
-    public int getMetricsCategory() {
-        return SettingsEnums.ZEN_CUSTOM_RULE_VIS_EFFECTS;
-    }
-}
diff --git a/src/com/android/settings/notification/ZenCustomRuleCallsSettings.java b/src/com/android/settings/notification/ZenCustomRuleCallsSettings.java
deleted file mode 100644
index 42e62c3..0000000
--- a/src/com/android/settings/notification/ZenCustomRuleCallsSettings.java
+++ /dev/null
@@ -1,81 +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.notification;
-
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.os.Bundle;
-import android.service.notification.ZenPolicy;
-
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.R;
-import com.android.settingslib.core.AbstractPreferenceController;
-import com.android.settingslib.widget.FooterPreference;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class ZenCustomRuleCallsSettings extends ZenCustomRuleSettingsBase {
-    private static final String CALLS_KEY = "zen_mode_calls";
-    private static final String REPEAT_CALLERS_KEY = "zen_mode_repeat_callers";
-    private static final String STARRED_CONTACTS_KEY = "zen_mode_starred_contacts_callers";
-    private static final String PREFERENCE_CATEGORY_KEY = "zen_mode_settings_category_calls";
-
-    @Override
-    public void onCreate(Bundle bundle) {
-        super.onCreate(bundle);
-    }
-
-    @Override
-    protected int getPreferenceScreenResId() {
-        return com.android.settings.R.xml.zen_mode_calls_settings;
-    }
-
-    @Override
-    public int getMetricsCategory() {
-        return SettingsEnums.ZEN_CUSTOM_RULE_CALLS;
-    }
-
-    @Override
-    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
-        mControllers = new ArrayList<>();
-        mControllers.add(new ZenRuleCallsPreferenceController(context, CALLS_KEY,
-                getSettingsLifecycle()));
-        mControllers.add(new ZenRuleRepeatCallersPreferenceController(context,
-                REPEAT_CALLERS_KEY, getSettingsLifecycle(), context.getResources()
-                .getInteger(com.android.internal.R.integer.config_zen_repeat_callers_threshold)));
-        mControllers.add(new ZenRuleStarredContactsPreferenceController(context,
-                getSettingsLifecycle(), ZenPolicy.PRIORITY_CATEGORY_CALLS, STARRED_CONTACTS_KEY));
-        return mControllers;
-    }
-
-    @Override
-    String getPreferenceCategoryKey() {
-        return PREFERENCE_CATEGORY_KEY;
-    }
-
-    @Override
-    public void updatePreferences() {
-        super.updatePreferences();
-        PreferenceScreen screen = getPreferenceScreen();
-        Preference footerPreference = screen.findPreference(FooterPreference.KEY_FOOTER);
-        footerPreference.setTitle(mContext.getResources().getString(
-                R.string.zen_mode_custom_calls_footer, mRule.getName()));
-    }
-}
diff --git a/src/com/android/settings/notification/ZenCustomRuleConfigSettings.java b/src/com/android/settings/notification/ZenCustomRuleConfigSettings.java
deleted file mode 100644
index c39b4d5..0000000
--- a/src/com/android/settings/notification/ZenCustomRuleConfigSettings.java
+++ /dev/null
@@ -1,160 +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.notification;
-
-import android.app.NotificationManager;
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.os.Bundle;
-import android.service.notification.ZenPolicy;
-
-import androidx.preference.Preference;
-
-import com.android.settings.R;
-import com.android.settings.core.SubSettingLauncher;
-import com.android.settingslib.core.AbstractPreferenceController;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class ZenCustomRuleConfigSettings extends ZenCustomRuleSettingsBase {
-    private static final String CALLS_KEY = "zen_rule_calls_settings";
-    private static final String MESSAGES_KEY = "zen_rule_messages_settings";
-    private static final String ALARMS_KEY = "zen_rule_alarms";
-    private static final String MEDIA_KEY = "zen_rule_media";
-    private static final String SYSTEM_KEY = "zen_rule_system";
-    private static final String REMINDERS_KEY = "zen_rule_reminders";
-    private static final String EVENTS_KEY = "zen_rule_events";
-    private static final String NOTIFICATIONS_KEY = "zen_rule_notifications";
-    private static final String PREFERENCE_CATEGORY_KEY = "zen_custom_rule_configuration_category";
-
-    private Preference mCallsPreference;
-    private Preference mMessagesPreference;
-    private Preference mNotificationsPreference;
-    private ZenModeSettings.SummaryBuilder mSummaryBuilder;
-
-    @Override
-    public void onCreate(Bundle icicle) {
-        super.onCreate(icicle);
-        mSummaryBuilder = new ZenModeSettings.SummaryBuilder(mContext);
-
-        mCallsPreference = getPreferenceScreen().findPreference(CALLS_KEY);
-        mCallsPreference.setOnPreferenceClickListener(
-                new Preference.OnPreferenceClickListener() {
-                    @Override
-                    public boolean onPreferenceClick(Preference preference) {
-                        new SubSettingLauncher(mContext)
-                                .setDestination(ZenCustomRuleCallsSettings.class.getName())
-                                .setArguments(createZenRuleBundle())
-                                .setSourceMetricsCategory(SettingsEnums.ZEN_CUSTOM_RULE_CALLS)
-                                .launch();
-                        return true;
-                    }
-                });
-
-        mMessagesPreference = getPreferenceScreen().findPreference(MESSAGES_KEY);
-        mMessagesPreference.setOnPreferenceClickListener(
-                new Preference.OnPreferenceClickListener() {
-                    @Override
-                    public boolean onPreferenceClick(Preference preference) {
-                        new SubSettingLauncher(mContext)
-                                .setDestination(ZenCustomRuleMessagesSettings.class.getName())
-                                .setArguments(createZenRuleBundle())
-                                .setSourceMetricsCategory(SettingsEnums.ZEN_CUSTOM_RULE_MESSAGES)
-                                .launch();
-                        return true;
-                    }
-                });
-
-        mNotificationsPreference = getPreferenceScreen().findPreference(NOTIFICATIONS_KEY);
-        mNotificationsPreference.setOnPreferenceClickListener(
-                new Preference.OnPreferenceClickListener() {
-                    @Override
-                    public boolean onPreferenceClick(Preference preference) {
-                        new SubSettingLauncher(mContext)
-                                .setDestination(ZenCustomRuleNotificationsSettings.class.getName())
-                                .setArguments(createZenRuleBundle())
-                                .setSourceMetricsCategory
-                                        (SettingsEnums.ZEN_CUSTOM_RULE_NOTIFICATION_RESTRICTIONS)
-                                .launch();
-                        return true;
-                    }
-                });
-
-        updateSummaries();
-    }
-
-    @Override
-    public void onZenModeConfigChanged() {
-        super.onZenModeConfigChanged();
-        updateSummaries();
-    }
-
-    /**
-     * Updates summaries of preferences without preference controllers
-     */
-    private void updateSummaries() {
-        NotificationManager.Policy noManPolicy = mBackend.toNotificationPolicy(
-                mRule.getZenPolicy());
-
-        mCallsPreference.setSummary(mSummaryBuilder.getCallsSettingSummary(noManPolicy));
-        mMessagesPreference.setSummary(mSummaryBuilder.getMessagesSettingSummary(noManPolicy));
-        mNotificationsPreference.setSummary(mSummaryBuilder.getBlockedEffectsSummary(noManPolicy));
-    }
-
-    @Override
-    protected int getPreferenceScreenResId() {
-        return R.xml.zen_mode_custom_rule_configuration;
-    }
-
-    @Override
-    public int getMetricsCategory() {
-        return SettingsEnums.ZEN_CUSTOM_RULE_SOUND_SETTINGS;
-    }
-
-    @Override
-    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
-        mControllers = new ArrayList<>();
-        mControllers.add(new ZenRuleCustomSwitchPreferenceController(context,
-                getSettingsLifecycle(), ALARMS_KEY, ZenPolicy.PRIORITY_CATEGORY_ALARMS,
-                SettingsEnums.ACTION_ZEN_ALLOW_ALARMS));
-        mControllers.add(new ZenRuleCustomSwitchPreferenceController(context,
-                getSettingsLifecycle(), MEDIA_KEY, ZenPolicy.PRIORITY_CATEGORY_MEDIA,
-                SettingsEnums.ACTION_ZEN_ALLOW_MEDIA));
-        mControllers.add(new ZenRuleCustomSwitchPreferenceController(context,
-                getSettingsLifecycle(), SYSTEM_KEY, ZenPolicy.PRIORITY_CATEGORY_SYSTEM,
-                SettingsEnums.ACTION_ZEN_ALLOW_SYSTEM));
-        mControllers.add(new ZenRuleCustomSwitchPreferenceController(context,
-                getSettingsLifecycle(), REMINDERS_KEY, ZenPolicy.PRIORITY_CATEGORY_REMINDERS,
-                SettingsEnums.ACTION_ZEN_ALLOW_REMINDERS));
-        mControllers.add(new ZenRuleCustomSwitchPreferenceController(context,
-                getSettingsLifecycle(), EVENTS_KEY, ZenPolicy.PRIORITY_CATEGORY_EVENTS,
-                SettingsEnums.ACTION_ZEN_ALLOW_EVENTS));
-        return mControllers;
-    }
-
-    @Override
-    String getPreferenceCategoryKey() {
-        return PREFERENCE_CATEGORY_KEY;
-    }
-
-    @Override
-    public void onResume() {
-        super.onResume();
-        updateSummaries();
-    }
-}
diff --git a/src/com/android/settings/notification/ZenCustomRuleMessagesSettings.java b/src/com/android/settings/notification/ZenCustomRuleMessagesSettings.java
deleted file mode 100644
index 746dff3..0000000
--- a/src/com/android/settings/notification/ZenCustomRuleMessagesSettings.java
+++ /dev/null
@@ -1,72 +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.notification;
-
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.service.notification.ZenPolicy;
-
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.R;
-import com.android.settingslib.core.AbstractPreferenceController;
-import com.android.settingslib.widget.FooterPreference;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class ZenCustomRuleMessagesSettings extends ZenCustomRuleSettingsBase {
-    private static final String MESSAGES_KEY = "zen_mode_messages";
-    private static final String STARRED_CONTACTS_KEY = "zen_mode_starred_contacts_messages";
-    private static final String PREFERENCE_CATEGORY_KEY = "zen_mode_settings_category_messages";
-
-    @Override
-    protected int getPreferenceScreenResId() {
-        return com.android.settings.R.xml.zen_mode_messages_settings;
-    }
-
-    @Override
-    public int getMetricsCategory() {
-        return SettingsEnums.ZEN_CUSTOM_RULE_MESSAGES;
-    }
-
-    @Override
-    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
-        mControllers = new ArrayList<>();
-        mControllers.add(new ZenRuleMessagesPreferenceController(context, MESSAGES_KEY,
-                getSettingsLifecycle()));
-        mControllers.add(new ZenRuleStarredContactsPreferenceController(context,
-                getSettingsLifecycle(), ZenPolicy.PRIORITY_CATEGORY_MESSAGES,
-                STARRED_CONTACTS_KEY));
-        return mControllers;
-    }
-
-    @Override
-    String getPreferenceCategoryKey() {
-        return PREFERENCE_CATEGORY_KEY;
-    }
-
-    @Override
-    public void updatePreferences() {
-        super.updatePreferences();
-        PreferenceScreen screen = getPreferenceScreen();
-        Preference footerPreference = screen.findPreference(FooterPreference.KEY_FOOTER);
-        footerPreference.setTitle(mContext.getResources().getString(
-                R.string.zen_mode_custom_messages_footer, mRule.getName()));
-    }
-}
diff --git a/src/com/android/settings/notification/ZenCustomRuleNotificationsSettings.java b/src/com/android/settings/notification/ZenCustomRuleNotificationsSettings.java
deleted file mode 100644
index 9d7d5a3..0000000
--- a/src/com/android/settings/notification/ZenCustomRuleNotificationsSettings.java
+++ /dev/null
@@ -1,63 +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.notification;
-
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-
-import com.android.settings.R;
-import com.android.settingslib.core.AbstractPreferenceController;
-import com.android.settingslib.widget.FooterPreference;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class ZenCustomRuleNotificationsSettings extends ZenCustomRuleSettingsBase {
-    private static final String VIS_EFFECTS_ALL_KEY = "zen_mute_notifications";
-    private static final String VIS_EFFECTS_NONE_KEY = "zen_hide_notifications";
-    private static final String VIS_EFFECTS_CUSTOM_KEY = "zen_custom";
-    private static final String PREFERENCE_CATEGORY_KEY = "restrict_category";
-
-    @Override
-    protected int getPreferenceScreenResId() {
-        return R.xml.zen_mode_restrict_notifications_settings;
-    }
-
-    @Override
-    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
-        mControllers = new ArrayList<>();
-        mControllers.add(new ZenRuleVisEffectsAllPreferenceController(
-                context, getSettingsLifecycle(), VIS_EFFECTS_ALL_KEY));
-        mControllers.add(new ZenRuleVisEffectsNonePreferenceController(
-                context, getSettingsLifecycle(), VIS_EFFECTS_NONE_KEY));
-        mControllers.add(new ZenRuleVisEffectsCustomPreferenceController(
-                context, getSettingsLifecycle(), VIS_EFFECTS_CUSTOM_KEY));
-        mControllers.add(new ZenRuleNotifFooterPreferenceController(context, getSettingsLifecycle(),
-                FooterPreference.KEY_FOOTER));
-        return mControllers;
-    }
-
-    @Override
-    String getPreferenceCategoryKey() {
-        return PREFERENCE_CATEGORY_KEY;
-    }
-
-    @Override
-    public int getMetricsCategory() {
-        return SettingsEnums.ZEN_CUSTOM_RULE_NOTIFICATION_RESTRICTIONS;
-    }
-}
diff --git a/src/com/android/settings/notification/ZenCustomRuleSettings.java b/src/com/android/settings/notification/ZenCustomRuleSettings.java
deleted file mode 100644
index d7ca8c0..0000000
--- a/src/com/android/settings/notification/ZenCustomRuleSettings.java
+++ /dev/null
@@ -1,57 +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.notification;
-
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-
-import com.android.settings.R;
-import com.android.settingslib.core.AbstractPreferenceController;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class ZenCustomRuleSettings extends ZenCustomRuleSettingsBase {
-    private static final String RULE_DEFAULT_POLICY_KEY = "zen_custom_rule_setting_default";
-    private static final String CUSTOM_RULE_POLICY_KEY = "zen_custom_rule_setting";
-    private static final String PREFERENCE_CATEGORY_KEY = "zen_custom_rule_category";
-
-    @Override
-    protected int getPreferenceScreenResId() {
-        return R.xml.zen_mode_custom_rule_settings;
-    }
-
-    @Override
-    public int getMetricsCategory() {
-        return SettingsEnums.ZEN_CUSTOM_RULE_SETTINGS;
-    }
-
-    @Override
-    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
-        mControllers = new ArrayList<>();
-        mControllers.add(new ZenRuleDefaultPolicyPreferenceController(
-                context, getSettingsLifecycle(), RULE_DEFAULT_POLICY_KEY));
-        mControllers.add(new ZenRuleCustomPolicyPreferenceController(
-                context, getSettingsLifecycle(), CUSTOM_RULE_POLICY_KEY));
-        return mControllers;
-    }
-
-    @Override
-    String getPreferenceCategoryKey() {
-        return PREFERENCE_CATEGORY_KEY;
-    }
-}
diff --git a/src/com/android/settings/notification/ZenCustomRuleSettingsBase.java b/src/com/android/settings/notification/ZenCustomRuleSettingsBase.java
deleted file mode 100644
index 94b0b7b..0000000
--- a/src/com/android/settings/notification/ZenCustomRuleSettingsBase.java
+++ /dev/null
@@ -1,103 +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.notification;
-
-import android.app.AutomaticZenRule;
-import android.content.Context;
-import android.os.Bundle;
-import android.util.Log;
-
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.R;
-import com.android.settingslib.core.AbstractPreferenceController;
-
-import java.util.ArrayList;
-import java.util.List;
-
-abstract class ZenCustomRuleSettingsBase extends ZenModeSettingsBase {
-    static final String TAG = "ZenCustomRuleSettings";
-    static final String RULE_ID = "RULE_ID";
-
-    String mId;
-    AutomaticZenRule mRule;
-    List<AbstractPreferenceController> mControllers = new ArrayList<>();
-
-    /**
-     * @return null if no preference category exists
-      */
-    abstract String getPreferenceCategoryKey();
-
-    @Override
-    public void onAttach(Context context) {
-        super.onAttach(context);
-        Bundle bundle = getArguments();
-        if (bundle != null && bundle.containsKey(RULE_ID)) {
-            mId = bundle.getString(RULE_ID);
-            mRule = mBackend.getAutomaticZenRule(mId);
-        } else {
-            Log.d(TAG, "Rule id required to set custom dnd rule config settings");
-            this.finish();
-        }
-    }
-
-    @Override
-    public void onZenModeConfigChanged() {
-        super.onZenModeConfigChanged();
-        updatePreferences();
-    }
-
-    public void updatePreferences() {
-        mRule = mBackend.getAutomaticZenRule(mId);
-        final PreferenceScreen screen = getPreferenceScreen();
-        String categoryKey = getPreferenceCategoryKey();
-        if (categoryKey != null) {
-            Preference prefCategory = screen.findPreference(categoryKey);
-            if (prefCategory != null) {
-                prefCategory.setTitle(mContext.getResources().getString(
-                        com.android.settings.R.string.zen_mode_custom_behavior_category_title,
-                        mRule.getName()));
-            }
-        }
-
-        for (AbstractPreferenceController controller : mControllers) {
-            AbstractZenCustomRulePreferenceController zenRuleController =
-                    (AbstractZenCustomRulePreferenceController) controller;
-            zenRuleController.onResume(mRule, mId);
-            zenRuleController.displayPreference(screen);
-            updatePreference(zenRuleController);
-        }
-    }
-
-    @Override
-    public int getHelpResource() {
-        return R.string.help_uri_interruptions;
-    }
-
-    @Override
-    public void onResume() {
-        super.onResume();
-        updatePreferences();
-    }
-
-    Bundle createZenRuleBundle() {
-        Bundle bundle = new Bundle();
-        bundle.putString(RULE_ID, mId);
-        return bundle;
-    }
-}
diff --git a/src/com/android/settings/notification/ZenDeleteRuleDialog.java b/src/com/android/settings/notification/ZenDeleteRuleDialog.java
deleted file mode 100644
index 694fcba..0000000
--- a/src/com/android/settings/notification/ZenDeleteRuleDialog.java
+++ /dev/null
@@ -1,89 +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 android.app.Dialog;
-import android.app.settings.SettingsEnums;
-import android.content.DialogInterface;
-import android.os.Bundle;
-import android.text.BidiFormatter;
-import android.view.View;
-
-import androidx.appcompat.app.AlertDialog;
-import androidx.fragment.app.Fragment;
-
-import com.android.settings.R;
-import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
-
-public class ZenDeleteRuleDialog extends InstrumentedDialogFragment {
-    protected static final String TAG = "ZenDeleteRuleDialog";
-    private static final String EXTRA_ZEN_RULE_NAME = "zen_rule_name";
-    private static final String EXTRA_ZEN_RULE_ID = "zen_rule_id";
-    protected static PositiveClickListener mPositiveClickListener;
-
-    /**
-     * The interface we expect a listener to implement.
-     */
-    public interface PositiveClickListener {
-        void onOk(String id);
-    }
-
-    public static void show(Fragment parent, String ruleName, String id, PositiveClickListener
-            listener) {
-        final BidiFormatter bidi = BidiFormatter.getInstance();
-        final Bundle args = new Bundle();
-        args.putString(EXTRA_ZEN_RULE_NAME, bidi.unicodeWrap(ruleName));
-        args.putString(EXTRA_ZEN_RULE_ID, id);
-        mPositiveClickListener = listener;
-
-        ZenDeleteRuleDialog dialog = new ZenDeleteRuleDialog();
-        dialog.setArguments(args);
-        dialog.setTargetFragment(parent, 0);
-        dialog.show(parent.getFragmentManager(), TAG);
-    }
-
-    @Override
-    public int getMetricsCategory() {
-        return SettingsEnums.NOTIFICATION_ZEN_MODE_DELETE_RULE_DIALOG;
-    }
-
-    @Override
-    public Dialog onCreateDialog(Bundle savedInstanceState) {
-        Bundle arguments = getArguments();
-        String ruleName = arguments.getString(EXTRA_ZEN_RULE_NAME);
-        String id = arguments.getString(EXTRA_ZEN_RULE_ID);
-
-        final AlertDialog dialog = new AlertDialog.Builder(getContext())
-                .setMessage(getString(R.string.zen_mode_delete_rule_confirmation, ruleName))
-                .setNegativeButton(R.string.cancel, null)
-                .setPositiveButton(R.string.zen_mode_delete_rule_button,
-                        new DialogInterface.OnClickListener() {
-                    @Override
-                    public void onClick(DialogInterface dialog, int which) {
-                        if (arguments != null) {
-                            mPositiveClickListener.onOk(id);
-                        }
-                    }
-                }).create();
-        final View messageView = dialog.findViewById(android.R.id.message);
-        if (messageView != null) {
-            messageView.setTextDirection(View.TEXT_DIRECTION_LOCALE);
-        }
-        return dialog;
-    }
-
-}
diff --git a/src/com/android/settings/notification/ZenDurationDialogPreference.java b/src/com/android/settings/notification/ZenDurationDialogPreference.java
deleted file mode 100644
index 6d6d085..0000000
--- a/src/com/android/settings/notification/ZenDurationDialogPreference.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.notification;
-
-import android.content.Context;
-import android.content.DialogInterface;
-import android.util.AttributeSet;
-
-import androidx.appcompat.app.AlertDialog;
-
-import com.android.settingslib.CustomDialogPreferenceCompat;
-import com.android.settingslib.notification.ZenDurationDialog;
-
-public class ZenDurationDialogPreference extends CustomDialogPreferenceCompat {
-
-    public ZenDurationDialogPreference(Context context, AttributeSet attrs, int defStyleAttr,
-            int defStyleRes) {
-        super(context, attrs, defStyleAttr, defStyleRes);
-    }
-
-    public ZenDurationDialogPreference(Context context, AttributeSet attrs, int defStyleAttr) {
-        super(context, attrs, defStyleAttr);
-    }
-
-    public ZenDurationDialogPreference(Context context, AttributeSet attrs) {
-        super(context, attrs);
-    }
-
-
-    @Override
-    protected void onPrepareDialogBuilder(AlertDialog.Builder builder,
-            DialogInterface.OnClickListener listener) {
-        super.onPrepareDialogBuilder(builder, listener);
-
-        ZenDurationDialog zenDialog = new ZenDurationDialog(getContext());
-        zenDialog.setupDialog(builder);
-    }
-}
diff --git a/src/com/android/settings/notification/ZenFooterPreferenceController.java b/src/com/android/settings/notification/ZenFooterPreferenceController.java
deleted file mode 100644
index 15a2252..0000000
--- a/src/com/android/settings/notification/ZenFooterPreferenceController.java
+++ /dev/null
@@ -1,57 +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.notification;
-
-import android.app.NotificationManager.Policy;
-import android.content.Context;
-
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.R;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-public class ZenFooterPreferenceController extends AbstractZenModePreferenceController {
-
-    public ZenFooterPreferenceController(Context context, Lifecycle lifecycle,
-            String key) {
-        super(context, key, lifecycle);
-    }
-
-    @Override
-    public boolean isAvailable() {
-        return mBackend.mPolicy.suppressedVisualEffects == 0
-                || Policy.areAllVisualEffectsSuppressed(mBackend.mPolicy.suppressedVisualEffects);
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        super.updateState(preference);
-
-        if (mBackend.mPolicy.suppressedVisualEffects == 0) {
-           preference.setTitle(R.string.zen_mode_restrict_notifications_mute_footer);
-        } else if (Policy.areAllVisualEffectsSuppressed(mBackend.mPolicy.suppressedVisualEffects)) {
-            preference.setTitle(R.string.zen_mode_restrict_notifications_hide_footer);
-        } else {
-            preference.setTitle(null);
-        }
-    }
-
-    protected void hide(PreferenceScreen screen) {
-        setVisible(screen, getPreferenceKey(), false /* visible */);
-    }
-}
diff --git a/src/com/android/settings/notification/ZenModeAddAutomaticRulePreferenceController.java b/src/com/android/settings/notification/ZenModeAddAutomaticRulePreferenceController.java
deleted file mode 100644
index c5ddf48..0000000
--- a/src/com/android/settings/notification/ZenModeAddAutomaticRulePreferenceController.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.notification;
-
-import android.content.Context;
-import android.content.Intent;
-
-import androidx.fragment.app.Fragment;
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.utils.ZenServiceListing;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-public class ZenModeAddAutomaticRulePreferenceController extends
-        AbstractZenModeAutomaticRulePreferenceController implements
-        Preference.OnPreferenceClickListener {
-
-    protected static final String KEY = "zen_mode_add_automatic_rule";
-    private final ZenServiceListing mZenServiceListing;
-
-    public ZenModeAddAutomaticRulePreferenceController(Context context, Fragment parent,
-            ZenServiceListing serviceListing, Lifecycle lifecycle) {
-        super(context, KEY, parent, lifecycle);
-        mZenServiceListing = serviceListing;
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return KEY;
-    }
-
-    @Override
-    public boolean isAvailable() {
-        return true;
-    }
-
-    @Override
-    public void displayPreference(PreferenceScreen screen) {
-        super.displayPreference(screen);
-        Preference pref = screen.findPreference(KEY);
-        pref.setPersistent(false);
-        pref.setOnPreferenceClickListener(this);
-    }
-
-    @Override
-    public boolean onPreferenceClick(Preference preference) {
-        ZenRuleSelectionDialog.show(mContext, mParent, new RuleSelectionListener(),
-                mZenServiceListing);
-        return true;
-    }
-
-    public class RuleSelectionListener implements ZenRuleSelectionDialog.PositiveClickListener {
-        public RuleSelectionListener() {}
-
-        @Override
-        public void onSystemRuleSelected(ZenRuleInfo ri, Fragment parent) {
-            showNameRuleDialog(ri, parent);
-        }
-
-        @Override
-        public void onExternalRuleSelected(ZenRuleInfo ri, Fragment parent) {
-            Intent intent = new Intent().setComponent(ri.configurationActivity);
-            parent.startActivity(intent);
-        }
-    }
-}
diff --git a/src/com/android/settings/notification/ZenModeAlarmsPreferenceController.java b/src/com/android/settings/notification/ZenModeAlarmsPreferenceController.java
deleted file mode 100644
index 00e9736..0000000
--- a/src/com/android/settings/notification/ZenModeAlarmsPreferenceController.java
+++ /dev/null
@@ -1,84 +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 android.app.NotificationManager.Policy;
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.provider.Settings;
-import android.util.Log;
-
-import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
-
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-public class ZenModeAlarmsPreferenceController extends
-        AbstractZenModePreferenceController implements Preference.OnPreferenceChangeListener {
-
-    private final String KEY;
-
-    public ZenModeAlarmsPreferenceController(Context context, Lifecycle lifecycle, String key) {
-        super(context, key, lifecycle);
-        KEY = key;
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return KEY;
-    }
-
-    @Override
-    public boolean isAvailable() {
-        return true;
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        super.updateState(preference);
-
-        SwitchPreference pref = (SwitchPreference) preference;
-        switch (getZenMode()) {
-            case Settings.Global.ZEN_MODE_NO_INTERRUPTIONS:
-                pref.setEnabled(false);
-                pref.setChecked(false);
-                break;
-            case Settings.Global.ZEN_MODE_ALARMS:
-                pref.setEnabled(false);
-                pref.setChecked(true);
-                break;
-            default:
-                pref.setEnabled(true);
-                pref.setChecked(mBackend.isPriorityCategoryEnabled(
-                        Policy.PRIORITY_CATEGORY_ALARMS));
-        }
-    }
-
-    @Override
-    public boolean onPreferenceChange(Preference preference, Object newValue) {
-        final boolean allowAlarms = (Boolean) newValue;
-        if (ZenModeSettingsBase.DEBUG) {
-            Log.d(TAG, "onPrefChange allowAlarms=" + allowAlarms);
-        }
-
-        mMetricsFeatureProvider.action(mContext, SettingsEnums.ACTION_ZEN_ALLOW_ALARMS,
-                allowAlarms);
-        mBackend.saveSoundPolicy(Policy.PRIORITY_CATEGORY_ALARMS, allowAlarms);
-
-        return true;
-    }
-}
diff --git a/src/com/android/settings/notification/ZenModeAllBypassingAppsPreferenceController.java b/src/com/android/settings/notification/ZenModeAllBypassingAppsPreferenceController.java
deleted file mode 100644
index ee7868c..0000000
--- a/src/com/android/settings/notification/ZenModeAllBypassingAppsPreferenceController.java
+++ /dev/null
@@ -1,199 +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.notification;
-
-import android.app.Application;
-import android.app.NotificationChannel;
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.os.Bundle;
-import android.provider.Settings;
-
-import androidx.annotation.VisibleForTesting;
-import androidx.core.text.BidiFormatter;
-import androidx.fragment.app.Fragment;
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.R;
-import com.android.settings.applications.AppInfoBase;
-import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settings.core.SubSettingLauncher;
-import com.android.settingslib.applications.ApplicationsState;
-import com.android.settingslib.core.AbstractPreferenceController;
-import com.android.settingslib.widget.apppreference.AppPreference;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Adds a preference to the PreferenceScreen for each notification channel that can bypass DND.
- */
-public class ZenModeAllBypassingAppsPreferenceController extends AbstractPreferenceController
-        implements PreferenceControllerMixin {
-
-    private final String KEY = "zen_mode_bypassing_apps_category";
-
-    @VisibleForTesting ApplicationsState mApplicationsState;
-    @VisibleForTesting PreferenceScreen mPreferenceScreen;
-    @VisibleForTesting Context mPrefContext;
-
-    private ApplicationsState.Session mAppSession;
-    private NotificationBackend mNotificationBackend = new NotificationBackend();
-    private Fragment mHostFragment;
-
-    public ZenModeAllBypassingAppsPreferenceController(Context context, Application app,
-            Fragment host) {
-
-        this(context, app == null ? null : ApplicationsState.getInstance(app), host);
-    }
-
-    private ZenModeAllBypassingAppsPreferenceController(Context context, ApplicationsState appState,
-            Fragment host) {
-        super(context);
-        mApplicationsState = appState;
-        mHostFragment = host;
-
-        if (mApplicationsState != null && host != null) {
-            mAppSession = mApplicationsState.newSession(mAppSessionCallbacks, host.getLifecycle());
-        }
-    }
-
-    @Override
-    public void displayPreference(PreferenceScreen screen) {
-        mPreferenceScreen = screen;
-        mPrefContext = mPreferenceScreen.getContext();
-        updateNotificationChannelList();
-        super.displayPreference(screen);
-    }
-
-    @Override
-    public boolean isAvailable() {
-        return true;
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return KEY;
-    }
-
-    /**
-     * Call this method to trigger the notification channels list to refresh.
-     */
-    public void updateNotificationChannelList() {
-        if (mAppSession == null) {
-            return;
-        }
-
-        ApplicationsState.AppFilter filter = ApplicationsState.FILTER_ALL_ENABLED;
-        List<ApplicationsState.AppEntry> apps = mAppSession.rebuild(filter,
-                ApplicationsState.ALPHA_COMPARATOR);
-        if (apps != null) {
-            updateNotificationChannelList(apps);
-        }
-    }
-
-    @VisibleForTesting
-    void updateNotificationChannelList(List<ApplicationsState.AppEntry> apps) {
-        if (mPreferenceScreen == null || apps == null) {
-            return;
-        }
-
-        List<Preference> channelsBypassingDnd = new ArrayList<>();
-        for (ApplicationsState.AppEntry entry : apps) {
-            String pkg = entry.info.packageName;
-            mApplicationsState.ensureIcon(entry);
-            for (NotificationChannel channel : mNotificationBackend
-                    .getNotificationChannelsBypassingDnd(pkg, entry.info.uid).getList()) {
-                Preference pref = new AppPreference(mPrefContext);
-                pref.setKey(pkg + "|" + channel.getId());
-                pref.setTitle(BidiFormatter.getInstance().unicodeWrap(entry.label));
-                pref.setIcon(entry.icon);
-                pref.setSummary(BidiFormatter.getInstance().unicodeWrap(channel.getName()));
-
-                pref.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
-                    @Override
-                    public boolean onPreferenceClick(Preference preference) {
-                        Bundle args = new Bundle();
-                        args.putString(AppInfoBase.ARG_PACKAGE_NAME, entry.info.packageName);
-                        args.putInt(AppInfoBase.ARG_PACKAGE_UID, entry.info.uid);
-                        args.putString(Settings.EXTRA_CHANNEL_ID, channel.getId());
-                        new SubSettingLauncher(mContext)
-                                .setDestination(ChannelNotificationSettings.class.getName())
-                                .setArguments(args)
-                                .setTitleRes(R.string.notification_channel_title)
-                                .setResultListener(mHostFragment, 0)
-                                .setSourceMetricsCategory(
-                                        SettingsEnums.NOTIFICATION_ZEN_MODE_OVERRIDING_APP)
-                                .launch();
-                        return true;
-                    }
-                });
-                channelsBypassingDnd.add(pref);
-            }
-
-            mPreferenceScreen.removeAll();
-            if (channelsBypassingDnd.size() > 0) {
-                for (Preference prefToAdd : channelsBypassingDnd) {
-                    mPreferenceScreen.addPreference(prefToAdd);
-                }
-            }
-        }
-    }
-
-    private final ApplicationsState.Callbacks mAppSessionCallbacks =
-            new ApplicationsState.Callbacks() {
-
-                @Override
-                public void onRunningStateChanged(boolean running) {
-                    updateNotificationChannelList();
-                }
-
-                @Override
-                public void onPackageListChanged() {
-                    updateNotificationChannelList();
-                }
-
-                @Override
-                public void onRebuildComplete(ArrayList<ApplicationsState.AppEntry> apps) {
-                    updateNotificationChannelList(apps);
-                }
-
-                @Override
-                public void onPackageIconChanged() {
-                    updateNotificationChannelList();
-                }
-
-                @Override
-                public void onPackageSizeChanged(String packageName) {
-                    updateNotificationChannelList();
-                }
-
-                @Override
-                public void onAllSizesComputed() { }
-
-                @Override
-                public void onLauncherInfoChanged() {
-                    updateNotificationChannelList();
-                }
-
-                @Override
-                public void onLoadEntriesCompleted() {
-                    updateNotificationChannelList();
-                }
-            };
-}
diff --git a/src/com/android/settings/notification/ZenModeAutomaticRulesPreferenceController.java b/src/com/android/settings/notification/ZenModeAutomaticRulesPreferenceController.java
deleted file mode 100644
index 2f62f45..0000000
--- a/src/com/android/settings/notification/ZenModeAutomaticRulesPreferenceController.java
+++ /dev/null
@@ -1,101 +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 android.app.AutomaticZenRule;
-import android.content.Context;
-
-import androidx.annotation.VisibleForTesting;
-import androidx.fragment.app.Fragment;
-import androidx.preference.Preference;
-import androidx.preference.PreferenceCategory;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-import java.util.Map;
-import java.util.Objects;
-
-public class ZenModeAutomaticRulesPreferenceController extends
-        AbstractZenModeAutomaticRulePreferenceController {
-
-    protected static final String KEY = "zen_mode_automatic_rules";
-
-    @VisibleForTesting
-    protected PreferenceCategory mPreferenceCategory;
-
-    public ZenModeAutomaticRulesPreferenceController(Context context, Fragment parent, Lifecycle
-            lifecycle) {
-        super(context, KEY, parent, lifecycle);
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return KEY;
-    }
-
-    @Override
-    public boolean isAvailable() {
-        return true;
-    }
-
-    @Override
-    public void displayPreference(PreferenceScreen screen) {
-        super.displayPreference(screen);
-        mPreferenceCategory = screen.findPreference(getPreferenceKey());
-        mPreferenceCategory.setPersistent(false);
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        super.updateState(preference);
-        Map.Entry<String, AutomaticZenRule>[] sortedRules = getRules();
-        final int currNumPreferences = mPreferenceCategory.getPreferenceCount();
-        if (currNumPreferences == sortedRules.length) {
-            for (int i = 0; i < sortedRules.length; i++) {
-                ZenRulePreference pref = (ZenRulePreference) mPreferenceCategory.getPreference(i);
-                // we are either:
-                // 1. updating everything about the rule
-                // 2. rule was added or deleted, so reload the entire list
-                if (Objects.equals(pref.mId, sortedRules[i].getKey())) {
-                    AutomaticZenRule rule = sortedRules[i].getValue();
-                    pref.updatePreference(rule);
-                } else {
-                    reloadAllRules(sortedRules);
-                    break;
-                }
-            }
-        } else {
-            reloadAllRules(sortedRules);
-        }
-    }
-
-    @VisibleForTesting
-    void reloadAllRules(Map.Entry<String, AutomaticZenRule>[] rules) {
-        mPreferenceCategory.removeAll();
-        for (Map.Entry<String, AutomaticZenRule> rule : rules) {
-            ZenRulePreference pref = createZenRulePreference(rule);
-            mPreferenceCategory.addPreference(pref);
-        }
-    }
-
-    @VisibleForTesting
-    ZenRulePreference createZenRulePreference(Map.Entry<String, AutomaticZenRule> rule) {
-        return new ZenRulePreference(mPreferenceCategory.getContext(),
-                rule, mParent, mMetricsFeatureProvider);
-    }
-}
diff --git a/src/com/android/settings/notification/ZenModeAutomationPreferenceController.java b/src/com/android/settings/notification/ZenModeAutomationPreferenceController.java
deleted file mode 100644
index 4220a42..0000000
--- a/src/com/android/settings/notification/ZenModeAutomationPreferenceController.java
+++ /dev/null
@@ -1,51 +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 android.content.Context;
-
-import androidx.preference.Preference;
-
-import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settingslib.core.AbstractPreferenceController;
-
-public class ZenModeAutomationPreferenceController extends
-        AbstractPreferenceController implements PreferenceControllerMixin {
-
-    protected static final String KEY_ZEN_MODE_AUTOMATION = "zen_mode_automation_settings";
-    private final ZenModeSettings.SummaryBuilder mSummaryBuilder;
-
-    public ZenModeAutomationPreferenceController(Context context) {
-        super(context);
-        mSummaryBuilder = new ZenModeSettings.SummaryBuilder(context);
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return KEY_ZEN_MODE_AUTOMATION;
-    }
-
-    @Override
-    public boolean isAvailable() {
-        return true;
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        preference.setSummary(mSummaryBuilder.getAutomaticRulesSummary());
-    }
-}
diff --git a/src/com/android/settings/notification/ZenModeAutomationSettings.java b/src/com/android/settings/notification/ZenModeAutomationSettings.java
deleted file mode 100644
index 0f87907..0000000
--- a/src/com/android/settings/notification/ZenModeAutomationSettings.java
+++ /dev/null
@@ -1,179 +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 android.app.AlertDialog;
-import android.app.AutomaticZenRule;
-import android.app.NotificationManager;
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.content.DialogInterface;
-import android.os.Bundle;
-import android.provider.SearchIndexableResource;
-import android.service.notification.ConditionProviderService;
-import android.view.Menu;
-import android.view.MenuInflater;
-import android.view.MenuItem;
-
-import androidx.fragment.app.Fragment;
-
-import com.android.settings.R;
-import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
-import com.android.settings.utils.ManagedServiceSettings;
-import com.android.settings.utils.ZenServiceListing;
-import com.android.settingslib.core.AbstractPreferenceController;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-import com.android.settingslib.search.SearchIndexable;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-@SearchIndexable
-public class ZenModeAutomationSettings extends ZenModeSettingsBase {
-    public static final String DELETE = "DELETE_RULE";
-    protected final ManagedServiceSettings.Config CONFIG = getConditionProviderConfig();
-    private CharSequence[] mDeleteDialogRuleNames;
-    private String[] mDeleteDialogRuleIds;
-    private boolean[] mDeleteDialogChecked;
-
-    @Override
-    public void onAttach(Context context) {
-        super.onAttach(context);
-        Bundle bundle = getArguments();
-        if (bundle != null && bundle.containsKey(DELETE)) {
-            mBackend.removeZenRule(bundle.getString(DELETE));
-            bundle.remove(DELETE);
-        }
-    }
-
-    @Override
-    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
-        ZenServiceListing serviceListing = new ZenServiceListing(getContext(), CONFIG);
-        serviceListing.reloadApprovedServices();
-        return buildPreferenceControllers(context, this, serviceListing, getSettingsLifecycle());
-    }
-
-    private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
-            Fragment parent, ZenServiceListing serviceListing, Lifecycle lifecycle) {
-        List<AbstractPreferenceController> controllers = new ArrayList<>();
-        controllers.add(new ZenModeAddAutomaticRulePreferenceController(context, parent,
-                serviceListing, lifecycle));
-        controllers.add(new ZenModeAutomaticRulesPreferenceController(context, parent, lifecycle));
-
-        return controllers;
-    }
-
-    @Override
-    protected int getPreferenceScreenResId() {
-        return R.xml.zen_mode_automation_settings;
-    }
-
-    @Override
-    public int getMetricsCategory() {
-        return SettingsEnums.NOTIFICATION_ZEN_MODE_AUTOMATION;
-    }
-
-    protected static ManagedServiceSettings.Config getConditionProviderConfig() {
-        return new ManagedServiceSettings.Config.Builder()
-                .setTag(TAG)
-                .setIntentAction(ConditionProviderService.SERVICE_INTERFACE)
-                .setConfigurationIntentAction(NotificationManager.ACTION_AUTOMATIC_ZEN_RULE)
-                .setPermission(android.Manifest.permission.BIND_CONDITION_PROVIDER_SERVICE)
-                .setNoun("condition provider")
-                .build();
-    }
-    private final int DELETE_RULES = 1;
-
-    @Override
-    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
-        menu.add(Menu.NONE, DELETE_RULES, Menu.NONE, R.string.zen_mode_delete_automatic_rules);
-        super.onCreateOptionsMenu(menu, inflater);
-    }
-
-    @Override
-    public boolean onOptionsItemSelected(MenuItem item) {
-        switch (item.getItemId()) {
-            case DELETE_RULES:
-                Map.Entry<String, AutomaticZenRule>[] rules = mBackend.getAutomaticZenRules();
-                mDeleteDialogRuleNames = new CharSequence[rules.length];
-                mDeleteDialogRuleIds = new String[rules.length];
-                mDeleteDialogChecked = new boolean[rules.length];
-                for (int i = 0; i < rules.length; i++) {
-                    mDeleteDialogRuleNames[i] = rules[i].getValue().getName();
-                    mDeleteDialogRuleIds[i] = rules[i].getKey();
-                }
-                new AlertDialog.Builder(mContext)
-                        .setTitle(R.string.zen_mode_delete_automatic_rules)
-                        .setMultiChoiceItems(mDeleteDialogRuleNames, null,
-                                new DialogInterface.OnMultiChoiceClickListener() {
-                                    @Override
-                                    public void onClick(DialogInterface dialog, int which,
-                                            boolean isChecked) {
-                                        mDeleteDialogChecked[which] = isChecked;
-                                    }
-                                })
-                        .setPositiveButton(R.string.zen_mode_schedule_delete,
-                                new DialogInterface.OnClickListener() {
-                            @Override
-                            public void onClick(DialogInterface dialog, int which) {
-                                for (int i = 0; i < rules.length; i++) {
-                                    if (mDeleteDialogChecked[i]) {
-                                        mBackend.removeZenRule(mDeleteDialogRuleIds[i]);
-                                    }
-                                }
-                            }
-                        }).show();
-                return true;
-            default:
-                return super.onOptionsItemSelected(item);
-        }
-    }
-
-    /**
-     * For Search.
-     */
-    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
-                        boolean enabled) {
-                    final ArrayList<SearchIndexableResource> result = new ArrayList<>();
-
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.zen_mode_automation_settings;
-                    result.add(sir);
-                    return result;
-                }
-
-                @Override
-                public List<String> getNonIndexableKeys(Context context) {
-                    final List<String> keys = super.getNonIndexableKeys(context);
-                    keys.add(ZenModeAddAutomaticRulePreferenceController.KEY);
-                    keys.add(ZenModeAutomaticRulesPreferenceController.KEY);
-                    return keys;
-                }
-
-                @Override
-                public List<AbstractPreferenceController> createPreferenceControllers(
-                        Context context) {
-                    return buildPreferenceControllers(context, null, null, null);
-                }
-            };
-}
diff --git a/src/com/android/settings/notification/ZenModeBackend.java b/src/com/android/settings/notification/ZenModeBackend.java
deleted file mode 100644
index 4c9cebe..0000000
--- a/src/com/android/settings/notification/ZenModeBackend.java
+++ /dev/null
@@ -1,533 +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.Policy.SUPPRESSED_EFFECT_SCREEN_OFF;
-import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_SCREEN_ON;
-
-import android.app.ActivityManager;
-import android.app.AutomaticZenRule;
-import android.app.NotificationManager;
-import android.content.Context;
-import android.database.Cursor;
-import android.icu.text.ListFormatter;
-import android.net.Uri;
-import android.provider.ContactsContract;
-import android.provider.Settings;
-import android.service.notification.ZenModeConfig;
-import android.service.notification.ZenPolicy;
-import android.util.Log;
-
-import androidx.annotation.VisibleForTesting;
-
-import com.android.settings.R;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Comparator;
-import java.util.List;
-import java.util.Map;
-
-public class ZenModeBackend {
-    @VisibleForTesting
-    protected static final String ZEN_MODE_FROM_ANYONE = "zen_mode_from_anyone";
-    @VisibleForTesting
-    protected static final String ZEN_MODE_FROM_CONTACTS = "zen_mode_from_contacts";
-    @VisibleForTesting
-    protected static final String ZEN_MODE_FROM_STARRED = "zen_mode_from_starred";
-    @VisibleForTesting
-    protected static final String ZEN_MODE_FROM_NONE = "zen_mode_from_none";
-    protected static final int SOURCE_NONE = -1;
-    private static List<String> mDefaultRuleIds;
-
-    private static ZenModeBackend sInstance;
-
-    protected int mZenMode;
-    /** gets policy last set by updatePolicy **/
-    protected NotificationManager.Policy mPolicy;
-    private final NotificationManager mNotificationManager;
-
-    private String TAG = "ZenModeSettingsBackend";
-    private final Context mContext;
-
-    public static ZenModeBackend getInstance(Context context) {
-        if (sInstance == null) {
-            sInstance = new ZenModeBackend(context);
-        }
-        return sInstance;
-    }
-
-    public ZenModeBackend(Context context) {
-        mContext = context;
-        mNotificationManager = (NotificationManager) context.getSystemService(
-                Context.NOTIFICATION_SERVICE);
-        updateZenMode();
-        updatePolicy();
-    }
-
-    protected void updatePolicy() {
-        if (mNotificationManager != null) {
-            mPolicy = mNotificationManager.getNotificationPolicy();
-        }
-    }
-
-    protected void updateZenMode() {
-        mZenMode = Settings.Global.getInt(mContext.getContentResolver(),
-                Settings.Global.ZEN_MODE, mZenMode);
-    }
-
-    protected boolean updateZenRule(String id, AutomaticZenRule rule) {
-        return NotificationManager.from(mContext).updateAutomaticZenRule(id, rule);
-    }
-
-    protected void setZenMode(int zenMode) {
-        NotificationManager.from(mContext).setZenMode(zenMode, null, TAG);
-        mZenMode = getZenMode();
-    }
-
-    protected void setZenModeForDuration(int minutes) {
-        Uri conditionId = ZenModeConfig.toTimeCondition(mContext, minutes,
-                ActivityManager.getCurrentUser(), true).id;
-        mNotificationManager.setZenMode(Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS,
-                conditionId, TAG);
-        mZenMode = getZenMode();
-    }
-
-    protected int getZenMode() {
-        mZenMode = Settings.Global.getInt(mContext.getContentResolver(),
-                Settings.Global.ZEN_MODE, mZenMode);
-        return mZenMode;
-    }
-
-    protected boolean isVisualEffectSuppressed(int visualEffect) {
-        return (mPolicy.suppressedVisualEffects & visualEffect) != 0;
-    }
-
-    protected boolean isPriorityCategoryEnabled(int categoryType) {
-        return (mPolicy.priorityCategories & categoryType) != 0;
-    }
-
-    protected int getNewDefaultPriorityCategories(boolean allow, int categoryType) {
-        int priorityCategories = mPolicy.priorityCategories;
-        if (allow) {
-            priorityCategories |= categoryType;
-        } else {
-            priorityCategories &= ~categoryType;
-        }
-        return priorityCategories;
-    }
-
-    protected int getPriorityCallSenders() {
-        if (isPriorityCategoryEnabled(NotificationManager.Policy.PRIORITY_CATEGORY_CALLS)) {
-            return mPolicy.priorityCallSenders;
-        }
-
-        return SOURCE_NONE;
-    }
-
-    protected int getPriorityMessageSenders() {
-        if (isPriorityCategoryEnabled(
-                NotificationManager.Policy.PRIORITY_CATEGORY_MESSAGES)) {
-            return mPolicy.priorityMessageSenders;
-        }
-        return SOURCE_NONE;
-    }
-
-    protected void saveVisualEffectsPolicy(int category, boolean suppress) {
-        Settings.Secure.putInt(mContext.getContentResolver(),
-                Settings.Secure.ZEN_SETTINGS_UPDATED, 1);
-
-        int suppressedEffects = getNewSuppressedEffects(suppress, category);
-        savePolicy(mPolicy.priorityCategories, mPolicy.priorityCallSenders,
-                mPolicy.priorityMessageSenders, suppressedEffects);
-    }
-
-    protected void saveSoundPolicy(int category, boolean allow) {
-        int priorityCategories = getNewDefaultPriorityCategories(allow, category);
-        savePolicy(priorityCategories, mPolicy.priorityCallSenders,
-                mPolicy.priorityMessageSenders, mPolicy.suppressedVisualEffects);
-    }
-
-    protected void savePolicy(int priorityCategories, int priorityCallSenders,
-            int priorityMessageSenders, int suppressedVisualEffects) {
-        mPolicy = new NotificationManager.Policy(priorityCategories, priorityCallSenders,
-                priorityMessageSenders, suppressedVisualEffects);
-        mNotificationManager.setNotificationPolicy(mPolicy);
-    }
-
-
-    private int getNewSuppressedEffects(boolean suppress, int effectType) {
-        int effects = mPolicy.suppressedVisualEffects;
-
-        if (suppress) {
-            effects |= effectType;
-        } else {
-            effects &= ~effectType;
-        }
-
-        return clearDeprecatedEffects(effects);
-    }
-
-    private int clearDeprecatedEffects(int effects) {
-        return effects & ~(SUPPRESSED_EFFECT_SCREEN_ON | SUPPRESSED_EFFECT_SCREEN_OFF);
-    }
-
-    protected boolean isEffectAllowed(int effect) {
-        return (mPolicy.suppressedVisualEffects & effect) == 0;
-    }
-
-    protected void saveSenders(int category, int val) {
-        int priorityCallSenders = getPriorityCallSenders();
-        int priorityMessagesSenders = getPriorityMessageSenders();
-        int categorySenders = getPrioritySenders(category);
-
-        final boolean allowSenders = val != SOURCE_NONE;
-        final int allowSendersFrom = val == SOURCE_NONE ? categorySenders : val;
-
-        String stringCategory = "";
-        if (category == NotificationManager.Policy.PRIORITY_CATEGORY_CALLS) {
-            stringCategory = "Calls";
-            priorityCallSenders = allowSendersFrom;
-        }
-
-        if (category == NotificationManager.Policy.PRIORITY_CATEGORY_MESSAGES) {
-            stringCategory = "Messages";
-            priorityMessagesSenders = allowSendersFrom;
-        }
-
-        savePolicy(getNewDefaultPriorityCategories(allowSenders, category),
-            priorityCallSenders, priorityMessagesSenders, mPolicy.suppressedVisualEffects);
-
-        if (ZenModeSettingsBase.DEBUG) Log.d(TAG, "onPrefChange allow" +
-                stringCategory + "=" + allowSenders + " allow" + stringCategory + "From="
-                + ZenModeConfig.sourceToString(allowSendersFrom));
-    }
-
-    protected String getSendersKey(int category) {
-        switch (getZenMode()) {
-            case Settings.Global.ZEN_MODE_NO_INTERRUPTIONS:
-            case Settings.Global.ZEN_MODE_ALARMS:
-                return getKeyFromSetting(SOURCE_NONE);
-            default:
-                int prioritySenders = getPrioritySenders(category);
-                return getKeyFromSetting(isPriorityCategoryEnabled(category)
-                        ? prioritySenders : SOURCE_NONE);
-            }
-    }
-
-    private int getPrioritySenders(int category) {
-        int categorySenders = -1;
-
-        if (category == NotificationManager.Policy.PRIORITY_CATEGORY_CALLS) {
-            return getPriorityCallSenders();
-        }
-
-        if (category == NotificationManager.Policy.PRIORITY_CATEGORY_MESSAGES) {
-            return getPriorityMessageSenders();
-        }
-
-        return categorySenders;
-    }
-
-    protected static String getKeyFromZenPolicySetting(int contactType) {
-        switch (contactType) {
-            case ZenPolicy.PEOPLE_TYPE_ANYONE:
-                return ZEN_MODE_FROM_ANYONE;
-            case  ZenPolicy.PEOPLE_TYPE_CONTACTS:
-                return ZEN_MODE_FROM_CONTACTS;
-            case ZenPolicy.PEOPLE_TYPE_STARRED:
-                return ZEN_MODE_FROM_STARRED;
-            case ZenPolicy.PEOPLE_TYPE_NONE:
-            default:
-                return ZEN_MODE_FROM_NONE;
-        }
-    }
-
-    protected static String getKeyFromSetting(int contactType) {
-        switch (contactType) {
-            case NotificationManager.Policy.PRIORITY_SENDERS_ANY:
-                return ZEN_MODE_FROM_ANYONE;
-            case NotificationManager.Policy.PRIORITY_SENDERS_CONTACTS:
-                return ZEN_MODE_FROM_CONTACTS;
-            case NotificationManager.Policy.PRIORITY_SENDERS_STARRED:
-                return ZEN_MODE_FROM_STARRED;
-            case SOURCE_NONE:
-            default:
-                return ZEN_MODE_FROM_NONE;
-        }
-    }
-
-    protected int getAlarmsTotalSilenceCallsMessagesSummary(int category) {
-        if (category == NotificationManager.Policy.PRIORITY_CATEGORY_MESSAGES) {
-            return R.string.zen_mode_from_none_messages;
-        } else if (category == NotificationManager.Policy.PRIORITY_CATEGORY_CALLS){
-            return R.string.zen_mode_from_none_calls;
-        }
-        return 0;
-    }
-
-    protected int getContactsSummary(int category) {
-        int contactType = -1;
-        if (category == NotificationManager.Policy.PRIORITY_CATEGORY_MESSAGES) {
-            if (isPriorityCategoryEnabled(category)) {
-                contactType = getPriorityMessageSenders();
-            }
-        } else if (category == NotificationManager.Policy.PRIORITY_CATEGORY_CALLS) {
-            if (isPriorityCategoryEnabled(category)) {
-                contactType = getPriorityCallSenders();
-            }
-        }
-
-        switch (contactType) {
-            case NotificationManager.Policy.PRIORITY_SENDERS_ANY:
-                return R.string.zen_mode_from_anyone;
-            case NotificationManager.Policy.PRIORITY_SENDERS_CONTACTS:
-                return R.string.zen_mode_from_contacts;
-            case NotificationManager.Policy.PRIORITY_SENDERS_STARRED:
-                return R.string.zen_mode_from_starred;
-            case SOURCE_NONE:
-            default:
-                if (category == NotificationManager.Policy.PRIORITY_CATEGORY_MESSAGES) {
-                    return R.string.zen_mode_from_none_messages;
-                } else {
-                    return R.string.zen_mode_from_none_calls;
-                }
-        }
-    }
-
-    protected int getContactsCallsSummary(ZenPolicy policy) {
-        int peopleType = policy.getPriorityCallSenders();
-        switch (peopleType) {
-            case ZenPolicy.PEOPLE_TYPE_ANYONE:
-                return R.string.zen_mode_from_anyone;
-            case ZenPolicy.PEOPLE_TYPE_CONTACTS:
-                return R.string.zen_mode_from_contacts;
-            case ZenPolicy.PEOPLE_TYPE_STARRED:
-                return R.string.zen_mode_from_starred;
-            case ZenPolicy.PEOPLE_TYPE_NONE:
-            default:
-                return R.string.zen_mode_from_none_calls;
-        }
-    }
-
-    protected int getContactsMessagesSummary(ZenPolicy policy) {
-        int peopleType = policy.getPriorityMessageSenders();
-        switch (peopleType) {
-            case ZenPolicy.PEOPLE_TYPE_ANYONE:
-                return R.string.zen_mode_from_anyone;
-            case ZenPolicy.PEOPLE_TYPE_CONTACTS:
-                return R.string.zen_mode_from_contacts;
-            case ZenPolicy.PEOPLE_TYPE_STARRED:
-                return R.string.zen_mode_from_starred;
-            case ZenPolicy.PEOPLE_TYPE_NONE:
-            default:
-                return R.string.zen_mode_from_none_messages;
-        }
-    }
-
-    protected static int getZenPolicySettingFromPrefKey(String key) {
-        switch (key) {
-            case ZEN_MODE_FROM_ANYONE:
-                return ZenPolicy.PEOPLE_TYPE_ANYONE;
-            case ZEN_MODE_FROM_CONTACTS:
-                return ZenPolicy.PEOPLE_TYPE_CONTACTS;
-            case ZEN_MODE_FROM_STARRED:
-                return ZenPolicy.PEOPLE_TYPE_STARRED;
-            case ZEN_MODE_FROM_NONE:
-            default:
-                return ZenPolicy.PEOPLE_TYPE_NONE;
-        }
-    }
-
-    protected static int getSettingFromPrefKey(String key) {
-        switch (key) {
-            case ZEN_MODE_FROM_ANYONE:
-                return NotificationManager.Policy.PRIORITY_SENDERS_ANY;
-            case ZEN_MODE_FROM_CONTACTS:
-                return NotificationManager.Policy.PRIORITY_SENDERS_CONTACTS;
-            case ZEN_MODE_FROM_STARRED:
-                return NotificationManager.Policy.PRIORITY_SENDERS_STARRED;
-            case ZEN_MODE_FROM_NONE:
-            default:
-                return SOURCE_NONE;
-        }
-    }
-
-    public boolean removeZenRule(String ruleId) {
-        return NotificationManager.from(mContext).removeAutomaticZenRule(ruleId);
-    }
-
-    public NotificationManager.Policy getConsolidatedPolicy() {
-        return NotificationManager.from(mContext).getConsolidatedNotificationPolicy();
-    }
-
-    protected String addZenRule(AutomaticZenRule rule) {
-        try {
-            return NotificationManager.from(mContext).addAutomaticZenRule(rule);
-        } catch (Exception e) {
-            return null;
-        }
-    }
-
-    ZenPolicy setDefaultZenPolicy(ZenPolicy zenPolicy) {
-        int calls;
-        if (mPolicy.allowCalls()) {
-            calls = ZenModeConfig.getZenPolicySenders(mPolicy.allowCallsFrom());
-        } else {
-            calls = ZenPolicy.PEOPLE_TYPE_NONE;
-        }
-
-        int messages;
-        if (mPolicy.allowMessages()) {
-            messages = ZenModeConfig.getZenPolicySenders(mPolicy.allowMessagesFrom());
-        } else {
-            messages = ZenPolicy.PEOPLE_TYPE_NONE;
-        }
-
-        return new ZenPolicy.Builder(zenPolicy)
-                .allowAlarms(mPolicy.allowAlarms())
-                .allowCalls(calls)
-                .allowEvents(mPolicy.allowEvents())
-                .allowMedia(mPolicy.allowMedia())
-                .allowMessages(messages)
-                .allowReminders(mPolicy.allowReminders())
-                .allowRepeatCallers(mPolicy.allowRepeatCallers())
-                .allowSystem(mPolicy.allowSystem())
-                .showFullScreenIntent(mPolicy.showFullScreenIntents())
-                .showLights(mPolicy.showLights())
-                .showInAmbientDisplay(mPolicy.showAmbient())
-                .showInNotificationList(mPolicy.showInNotificationList())
-                .showBadges(mPolicy.showBadges())
-                .showPeeking(mPolicy.showPeeking())
-                .showStatusBarIcons(mPolicy.showStatusBarIcons())
-                .build();
-    }
-
-    protected Map.Entry<String, AutomaticZenRule>[] getAutomaticZenRules() {
-        Map<String, AutomaticZenRule> ruleMap =
-                NotificationManager.from(mContext).getAutomaticZenRules();
-        final Map.Entry<String, AutomaticZenRule>[] rt = ruleMap.entrySet().toArray(
-                new Map.Entry[ruleMap.size()]);
-        Arrays.sort(rt, RULE_COMPARATOR);
-        return rt;
-    }
-
-    protected AutomaticZenRule getAutomaticZenRule(String id) {
-        return NotificationManager.from(mContext).getAutomaticZenRule(id);
-    }
-
-    private static List<String> getDefaultRuleIds() {
-        if (mDefaultRuleIds == null) {
-            mDefaultRuleIds = ZenModeConfig.DEFAULT_RULE_IDS;
-        }
-        return mDefaultRuleIds;
-    }
-
-    NotificationManager.Policy toNotificationPolicy(ZenPolicy policy) {
-        ZenModeConfig config = new ZenModeConfig();
-        return config.toNotificationPolicy(policy);
-    }
-
-    @VisibleForTesting
-    List<String> getStarredContacts(Cursor cursor) {
-        List<String> starredContacts = new ArrayList<>();
-        if (cursor != null && cursor.moveToFirst()) {
-            do {
-                String contact = cursor.getString(0);
-                if (contact != null) {
-                    starredContacts.add(contact);
-                }
-            } while (cursor.moveToNext());
-        }
-        return starredContacts;
-    }
-
-    private List<String> getStarredContacts() {
-        Cursor cursor = null;
-        try {
-            cursor = queryData();
-            return getStarredContacts(cursor);
-        } finally {
-            if (cursor != null) {
-                cursor.close();
-            }
-        }
-    }
-
-    public String getStarredContactsSummary() {
-        List<String> starredContacts = getStarredContacts();
-        int numStarredContacts = starredContacts.size();
-
-        List<String> displayContacts = new ArrayList<>();
-
-        if (numStarredContacts == 0) {
-            displayContacts.add(mContext.getString(R.string.zen_mode_from_none));
-        } else {
-            for (int i = 0; i < 2 && i < numStarredContacts; i++) {
-                displayContacts.add(starredContacts.get(i));
-            }
-
-            if (numStarredContacts == 3) {
-                displayContacts.add(starredContacts.get(2));
-            } else if (numStarredContacts > 2) {
-                displayContacts.add(mContext.getResources().getQuantityString(
-                        R.plurals.zen_mode_starred_contacts_summary_additional_contacts,
-                        numStarredContacts - 2, numStarredContacts - 2));
-            }
-        }
-
-        // values in displayContacts must not be null
-        return ListFormatter.getInstance().format(displayContacts);
-    }
-
-    private Cursor queryData() {
-        return mContext.getContentResolver().query(ContactsContract.Contacts.CONTENT_URI,
-                new String[]{ContactsContract.Contacts.DISPLAY_NAME_PRIMARY},
-                ContactsContract.Data.STARRED + "=1", null,
-                ContactsContract.Data.TIMES_CONTACTED);
-    }
-
-    @VisibleForTesting
-    public static final Comparator<Map.Entry<String, AutomaticZenRule>> RULE_COMPARATOR =
-            new Comparator<Map.Entry<String, AutomaticZenRule>>() {
-                @Override
-                public int compare(Map.Entry<String, AutomaticZenRule> lhs,
-                        Map.Entry<String, AutomaticZenRule> rhs) {
-                    // if it's a default rule, should be at the top of automatic rules
-                    boolean lhsIsDefaultRule = getDefaultRuleIds().contains(lhs.getKey());
-                    boolean rhsIsDefaultRule = getDefaultRuleIds().contains(rhs.getKey());
-                    if (lhsIsDefaultRule != rhsIsDefaultRule) {
-                        return lhsIsDefaultRule ? -1 : 1;
-                    }
-
-                    int byDate = Long.compare(lhs.getValue().getCreationTime(),
-                            rhs.getValue().getCreationTime());
-                    if (byDate != 0) {
-                        return byDate;
-                    } else {
-                        return key(lhs.getValue()).compareTo(key(rhs.getValue()));
-                    }
-                }
-
-                private String key(AutomaticZenRule rule) {
-                    final int type = ZenModeConfig.isValidScheduleConditionId(rule.getConditionId())
-                            ? 1 : ZenModeConfig.isValidEventConditionId(rule.getConditionId())
-                            ? 2 : 3;
-                    return type + rule.getName().toString();
-                }
-            };
-}
diff --git a/src/com/android/settings/notification/ZenModeBehaviorFooterPreferenceController.java b/src/com/android/settings/notification/ZenModeBehaviorFooterPreferenceController.java
deleted file mode 100644
index e9f74d2..0000000
--- a/src/com/android/settings/notification/ZenModeBehaviorFooterPreferenceController.java
+++ /dev/null
@@ -1,104 +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 android.content.ComponentName;
-import android.content.Context;
-import android.net.Uri;
-import android.provider.Settings;
-import android.service.notification.ZenModeConfig;
-
-import androidx.preference.Preference;
-
-import com.android.settings.R;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-public class ZenModeBehaviorFooterPreferenceController extends AbstractZenModePreferenceController {
-
-    protected static final String KEY = "footer_preference";
-    private final int mTitleRes;
-
-    public ZenModeBehaviorFooterPreferenceController(Context context, Lifecycle lifecycle,
-            int titleRes) {
-        super(context, KEY, lifecycle);
-        mTitleRes = titleRes;
-    }
-
-    @Override
-    public boolean isAvailable() {
-        return true;
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return KEY;
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        super.updateState(preference);
-        preference.setTitle(getFooterText());
-    }
-
-    protected String getFooterText() {
-        if (isDeprecatedZenMode(getZenMode())) {
-            ZenModeConfig config = getZenModeConfig();
-
-            // DND turned on by manual rule with deprecated zen mode
-            if (config.manualRule != null &&
-                    isDeprecatedZenMode(config.manualRule.zenMode)) {
-                final Uri id = config.manualRule.conditionId;
-                if (config.manualRule.enabler != null) {
-                    // app triggered manual rule
-                    String appOwner = mZenModeConfigWrapper.getOwnerCaption(
-                            config.manualRule.enabler);
-                    if (!appOwner.isEmpty()) {
-                        return mContext.getString(R.string.zen_mode_app_set_behavior, appOwner);
-                    }
-                } else {
-                    return mContext.getString(R.string.zen_mode_qs_set_behavior);
-                }
-            }
-
-            // DND turned on by an automatic rule with deprecated zen mode
-            for (ZenModeConfig.ZenRule automaticRule : config.automaticRules.values()) {
-                if (automaticRule.isAutomaticActive() && isDeprecatedZenMode(
-                        automaticRule.zenMode)) {
-                    ComponentName component = automaticRule.component;
-                    if (component != null) {
-                        return mContext.getString(R.string.zen_mode_app_set_behavior,
-                                component.getPackageName());
-                    }
-                }
-            }
-
-            return mContext.getString(R.string.zen_mode_unknown_app_set_behavior);
-        } else {
-            return mContext.getString(mTitleRes);
-        }
-    }
-
-    private boolean isDeprecatedZenMode(int zenMode) {
-        switch (zenMode) {
-            case Settings.Global.ZEN_MODE_NO_INTERRUPTIONS:
-            case Settings.Global.ZEN_MODE_ALARMS:
-                return true;
-            default:
-                return false;
-        }
-    }
-}
\ No newline at end of file
diff --git a/src/com/android/settings/notification/ZenModeBlockedEffectsPreferenceController.java b/src/com/android/settings/notification/ZenModeBlockedEffectsPreferenceController.java
deleted file mode 100644
index 08c4ca7..0000000
--- a/src/com/android/settings/notification/ZenModeBlockedEffectsPreferenceController.java
+++ /dev/null
@@ -1,50 +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.notification;
-
-import android.content.Context;
-
-import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-public class ZenModeBlockedEffectsPreferenceController extends
-        AbstractZenModePreferenceController implements PreferenceControllerMixin {
-
-    protected static final String KEY = "zen_mode_block_effects_settings";
-    private final ZenModeSettings.SummaryBuilder mSummaryBuilder;
-
-    public ZenModeBlockedEffectsPreferenceController(Context context, Lifecycle lifecycle) {
-        super(context, KEY, lifecycle);
-        mSummaryBuilder = new ZenModeSettings.SummaryBuilder(context);
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return KEY;
-    }
-
-    @Override
-    public boolean isAvailable() {
-        return true;
-    }
-
-    @Override
-    public CharSequence getSummary() {
-        return mSummaryBuilder.getBlockedEffectsSummary(getPolicy());
-    }
-
-}
diff --git a/src/com/android/settings/notification/ZenModeBlockedEffectsSettings.java b/src/com/android/settings/notification/ZenModeBlockedEffectsSettings.java
deleted file mode 100644
index 613bd35..0000000
--- a/src/com/android/settings/notification/ZenModeBlockedEffectsSettings.java
+++ /dev/null
@@ -1,116 +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.notification;
-
-import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_AMBIENT;
-import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_BADGE;
-import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_FULL_SCREEN_INTENT;
-import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_LIGHTS;
-import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_NOTIFICATION_LIST;
-import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_PEEK;
-import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_STATUS_BAR;
-
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.os.Bundle;
-import android.provider.SearchIndexableResource;
-
-import com.android.settings.R;
-import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
-import com.android.settingslib.core.AbstractPreferenceController;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-import com.android.settingslib.search.SearchIndexable;
-
-import java.util.ArrayList;
-import java.util.List;
-
-@SearchIndexable
-public class ZenModeBlockedEffectsSettings extends ZenModeSettingsBase implements Indexable {
-
-    @Override
-    public void onCreate(Bundle icicle) {
-        super.onCreate(icicle);
-        mFooterPreferenceMixin.createFooterPreference().setTitle(
-                R.string.zen_mode_blocked_effects_footer);
-    }
-
-    @Override
-    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
-        return buildPreferenceControllers(context, getSettingsLifecycle());
-    }
-
-    private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
-            Lifecycle lifecycle) {
-        List<AbstractPreferenceController> controllers = new ArrayList<>();
-        controllers.add(new ZenModeVisEffectPreferenceController(context, lifecycle,
-                "zen_effect_intent", SUPPRESSED_EFFECT_FULL_SCREEN_INTENT,
-                SettingsEnums.ACTION_ZEN_BLOCK_FULL_SCREEN_INTENTS, null));
-        controllers.add(new ZenModeVisEffectPreferenceController(context, lifecycle,
-                "zen_effect_light", SUPPRESSED_EFFECT_LIGHTS,
-                SettingsEnums.ACTION_ZEN_BLOCK_LIGHT, null));
-        controllers.add(new ZenModeVisEffectPreferenceController(context, lifecycle,
-                "zen_effect_peek", SUPPRESSED_EFFECT_PEEK,
-                SettingsEnums.ACTION_ZEN_BLOCK_PEEK, null));
-        controllers.add(new ZenModeVisEffectPreferenceController(context, lifecycle,
-                "zen_effect_status", SUPPRESSED_EFFECT_STATUS_BAR,
-                SettingsEnums.ACTION_ZEN_BLOCK_STATUS,
-                new int[] {SUPPRESSED_EFFECT_NOTIFICATION_LIST}));
-        controllers.add(new ZenModeVisEffectPreferenceController(context, lifecycle,
-                "zen_effect_badge", SUPPRESSED_EFFECT_BADGE,
-                SettingsEnums.ACTION_ZEN_BLOCK_BADGE, null));
-        controllers.add(new ZenModeVisEffectPreferenceController(context, lifecycle,
-                "zen_effect_ambient", SUPPRESSED_EFFECT_AMBIENT,
-                SettingsEnums.ACTION_ZEN_BLOCK_AMBIENT, null));
-        controllers.add(new ZenModeVisEffectPreferenceController(context, lifecycle,
-                "zen_effect_list", SUPPRESSED_EFFECT_NOTIFICATION_LIST,
-                SettingsEnums.ACTION_ZEN_BLOCK_NOTIFICATION_LIST, null));
-        return controllers;
-    }
-
-    @Override
-    protected int getPreferenceScreenResId() {
-        return R.xml.zen_mode_block_settings;
-    }
-
-    @Override
-    public int getMetricsCategory() {
-        return SettingsEnums.ZEN_WHAT_TO_BLOCK;
-    }
-
-    /**
-     * For Search.
-     */
-    public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
-                        boolean enabled) {
-                    final ArrayList<SearchIndexableResource> result = new ArrayList<>();
-
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.zen_mode_block_settings;
-                    result.add(sir);
-                    return result;
-                }
-
-            @Override
-            public List<AbstractPreferenceController> createPreferenceControllers(Context context) {
-                return buildPreferenceControllers(context, null);
-            }
-        };
-}
diff --git a/src/com/android/settings/notification/ZenModeButtonPreferenceController.java b/src/com/android/settings/notification/ZenModeButtonPreferenceController.java
deleted file mode 100644
index 3a9bcb7..0000000
--- a/src/com/android/settings/notification/ZenModeButtonPreferenceController.java
+++ /dev/null
@@ -1,123 +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 android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.provider.Settings;
-import android.view.View;
-import android.widget.Button;
-
-import androidx.fragment.app.FragmentManager;
-import androidx.preference.Preference;
-
-import com.android.settings.R;
-import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-import com.android.settingslib.widget.LayoutPreference;
-
-public class ZenModeButtonPreferenceController extends AbstractZenModePreferenceController
-        implements PreferenceControllerMixin {
-
-    public static final String KEY = "zen_mode_toggle";
-
-    private static final String TAG = "EnableZenModeButton";
-    private final FragmentManager mFragment;
-    private Button mZenButtonOn;
-    private Button mZenButtonOff;
-
-    public ZenModeButtonPreferenceController(Context context, Lifecycle lifecycle, FragmentManager
-            fragment) {
-        super(context, KEY, lifecycle);
-        mFragment = fragment;
-    }
-
-    @Override
-    public boolean isAvailable() {
-        return true;
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return KEY;
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        super.updateState(preference);
-
-        if (null == mZenButtonOn) {
-            mZenButtonOn = ((LayoutPreference) preference)
-                    .findViewById(R.id.zen_mode_settings_turn_on_button);
-            updateZenButtonOnClickListener();
-        }
-
-        if (null == mZenButtonOff) {
-            mZenButtonOff = ((LayoutPreference) preference)
-                    .findViewById(R.id.zen_mode_settings_turn_off_button);
-            mZenButtonOff.setOnClickListener(v -> {
-                mMetricsFeatureProvider.action(mContext,
-                        SettingsEnums.ACTION_ZEN_TOGGLE_DND_BUTTON, false);
-                mBackend.setZenMode(Settings.Global.ZEN_MODE_OFF);
-            });
-        }
-
-        updateButtons();
-    }
-
-    private void updateButtons() {
-        switch (getZenMode()) {
-            case Settings.Global.ZEN_MODE_ALARMS:
-            case Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS:
-            case Settings.Global.ZEN_MODE_NO_INTERRUPTIONS:
-                mZenButtonOff.setVisibility(View.VISIBLE);
-                mZenButtonOn.setVisibility(View.GONE);
-                break;
-            case Settings.Global.ZEN_MODE_OFF:
-            default:
-                mZenButtonOff.setVisibility(View.GONE);
-                updateZenButtonOnClickListener();
-                mZenButtonOn.setVisibility(View.VISIBLE);
-        }
-    }
-
-    private void updateZenButtonOnClickListener() {
-        int zenDuration = getZenDuration();
-        switch (zenDuration) {
-            case Settings.Secure.ZEN_DURATION_PROMPT:
-                mZenButtonOn.setOnClickListener(v -> {
-                    mMetricsFeatureProvider.action(mContext,
-                            SettingsEnums.ACTION_ZEN_TOGGLE_DND_BUTTON, false);
-                    new SettingsEnableZenModeDialog().show(mFragment, TAG);
-                });
-                break;
-            case Settings.Secure.ZEN_DURATION_FOREVER:
-                mZenButtonOn.setOnClickListener(v -> {
-                    mMetricsFeatureProvider.action(mContext,
-                            SettingsEnums.ACTION_ZEN_TOGGLE_DND_BUTTON, false);
-                    mBackend.setZenMode(Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS);
-                });
-                break;
-            default:
-                mZenButtonOn.setOnClickListener(v -> {
-                    mMetricsFeatureProvider.action(mContext,
-                            SettingsEnums.ACTION_ZEN_TOGGLE_DND_BUTTON, false);
-                    mBackend.setZenModeForDuration(zenDuration);
-                });
-        }
-    }
-}
\ No newline at end of file
diff --git a/src/com/android/settings/notification/ZenModeBypassingAppsPreferenceController.java b/src/com/android/settings/notification/ZenModeBypassingAppsPreferenceController.java
deleted file mode 100644
index 33e03d9..0000000
--- a/src/com/android/settings/notification/ZenModeBypassingAppsPreferenceController.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package com.android.settings.notification;
-
-import android.content.Context;
-import android.os.UserHandle;
-
-import com.android.settings.R;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-public class ZenModeBypassingAppsPreferenceController extends AbstractZenModePreferenceController {
-
-    protected static final String KEY = "zen_mode_bypassing_apps";
-    private NotificationBackend mNotificationBackend = new NotificationBackend();
-
-    public ZenModeBypassingAppsPreferenceController(Context context, Lifecycle lifecycle) {
-        super(context, KEY, lifecycle);
-    }
-
-    @Override
-    public boolean isAvailable() {
-        return mNotificationBackend.getNumAppsBypassingDnd(UserHandle.getCallingUserId()) != 0;
-    }
-
-    @Override
-    public String getSummary() {
-        final int channelsBypassing =
-                mNotificationBackend.getNumAppsBypassingDnd(UserHandle.getCallingUserId());
-        return mContext.getResources().getQuantityString(R.plurals.zen_mode_bypassing_apps_subtext,
-                channelsBypassing, channelsBypassing);
-    }
-}
diff --git a/src/com/android/settings/notification/ZenModeBypassingAppsSettings.java b/src/com/android/settings/notification/ZenModeBypassingAppsSettings.java
deleted file mode 100644
index 455de42..0000000
--- a/src/com/android/settings/notification/ZenModeBypassingAppsSettings.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.notification;
-
-import android.app.Activity;
-import android.app.Application;
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.provider.SearchIndexableResource;
-
-import androidx.fragment.app.Fragment;
-
-import com.android.settings.R;
-import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
-import com.android.settingslib.core.AbstractPreferenceController;
-import com.android.settingslib.search.SearchIndexable;
-
-import java.util.ArrayList;
-import java.util.List;
-
-@SearchIndexable
-public class ZenModeBypassingAppsSettings extends ZenModeSettingsBase implements
-        Indexable {
-    private final String TAG = "ZenBypassingApps";
-
-    @Override
-    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
-        final Activity activity = getActivity();
-        final Application app;
-        if (activity != null) {
-            app = activity.getApplication();
-        } else {
-            app = null;
-        }
-        return buildPreferenceControllers(context, app, this);
-    }
-
-    private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
-            Application app, Fragment host) {
-        final List<AbstractPreferenceController> controllers = new ArrayList<>();
-        controllers.add(new ZenModeAllBypassingAppsPreferenceController(context, app, host));
-        return controllers;
-    }
-
-    @Override
-    protected int getPreferenceScreenResId() {
-        return R.xml.zen_mode_bypassing_apps;
-    }
-
-    @Override
-    protected String getLogTag() {
-        return TAG;
-    }
-
-    @Override
-    public int getMetricsCategory() {
-        return SettingsEnums.NOTIFICATION_ZEN_MODE_OVERRIDING_APPS;
-    }
-
-    /**
-     * For Search.
-     */
-    public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
-                        boolean enabled) {
-                    final ArrayList<SearchIndexableResource> result = new ArrayList<>();
-
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.zen_mode_bypassing_apps;
-                    result.add(sir);
-                    return result;
-                }
-
-                @Override
-                public List<AbstractPreferenceController> createPreferenceControllers(
-                        Context context) {
-                    return buildPreferenceControllers(context, null, null);
-                }
-            };
-}
diff --git a/src/com/android/settings/notification/ZenModeCallsPreferenceController.java b/src/com/android/settings/notification/ZenModeCallsPreferenceController.java
deleted file mode 100644
index d931f6c..0000000
--- a/src/com/android/settings/notification/ZenModeCallsPreferenceController.java
+++ /dev/null
@@ -1,67 +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 android.app.NotificationManager;
-import android.content.Context;
-import android.provider.Settings;
-
-import androidx.preference.Preference;
-
-import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-public class ZenModeCallsPreferenceController extends
-        AbstractZenModePreferenceController implements PreferenceControllerMixin {
-
-    private final String KEY_BEHAVIOR_SETTINGS;
-    private final ZenModeSettings.SummaryBuilder mSummaryBuilder;
-
-    public ZenModeCallsPreferenceController(Context context, Lifecycle lifecycle,
-            String key) {
-        super(context, key, lifecycle);
-        KEY_BEHAVIOR_SETTINGS = key;
-        mSummaryBuilder = new ZenModeSettings.SummaryBuilder(context);
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return KEY_BEHAVIOR_SETTINGS;
-    }
-
-    @Override
-    public boolean isAvailable() {
-        return true;
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        super.updateState(preference);
-
-        switch (getZenMode()) {
-            case Settings.Global.ZEN_MODE_NO_INTERRUPTIONS:
-            case Settings.Global.ZEN_MODE_ALARMS:
-                preference.setEnabled(false);
-                preference.setSummary(mBackend.getAlarmsTotalSilenceCallsMessagesSummary(
-                        NotificationManager.Policy.PRIORITY_CATEGORY_CALLS));
-                break;
-            default:
-                preference.setEnabled(true);
-                preference.setSummary(mSummaryBuilder.getCallsSettingSummary(getPolicy()));
-        }
-    }
-}
diff --git a/src/com/android/settings/notification/ZenModeCallsSettings.java b/src/com/android/settings/notification/ZenModeCallsSettings.java
deleted file mode 100644
index a1d0ec7..0000000
--- a/src/com/android/settings/notification/ZenModeCallsSettings.java
+++ /dev/null
@@ -1,90 +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.notification;
-
-import static android.app.NotificationManager.Policy.PRIORITY_CATEGORY_CALLS;
-
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.provider.SearchIndexableResource;
-
-import com.android.settings.R;
-import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
-import com.android.settingslib.core.AbstractPreferenceController;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-import com.android.settingslib.search.SearchIndexable;
-
-import java.util.ArrayList;
-import java.util.List;
-
-@SearchIndexable
-public class ZenModeCallsSettings extends ZenModeSettingsBase implements Indexable {
-
-    @Override
-    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
-        return buildPreferenceControllers(context, getSettingsLifecycle());
-    }
-
-    private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
-            Lifecycle lifecycle) {
-        List<AbstractPreferenceController> controllers = new ArrayList<>();
-        controllers.add(new ZenModePriorityCallsPreferenceController(context, lifecycle));
-        controllers.add(new ZenModeStarredContactsPreferenceController(context, lifecycle,
-                PRIORITY_CATEGORY_CALLS, "zen_mode_starred_contacts_callers"));
-        controllers.add(new ZenModeRepeatCallersPreferenceController(context, lifecycle,
-                context.getResources().getInteger(com.android.internal.R.integer
-                .config_zen_repeat_callers_threshold)));
-        controllers.add(new ZenModeBehaviorFooterPreferenceController(
-                context, lifecycle, R.string.zen_mode_calls_footer));
-        return controllers;
-    }
-
-    @Override
-    protected int getPreferenceScreenResId() {
-        return R.xml.zen_mode_calls_settings;
-    }
-
-    @Override
-    public int getMetricsCategory() {
-        return SettingsEnums.NOTIFICATION_ZEN_MODE_PRIORITY;
-    }
-
-    /**
-     * For Search.
-     */
-    public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
-                        boolean enabled) {
-                    final ArrayList<SearchIndexableResource> result = new ArrayList<>();
-
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.zen_mode_calls_settings;
-                    result.add(sir);
-                    return result;
-                }
-
-                @Override
-                public List<AbstractPreferenceController> createPreferenceControllers(
-                        Context context) {
-                    return buildPreferenceControllers(context, null);
-                }
-            };
-}
diff --git a/src/com/android/settings/notification/ZenModeDurationPreferenceController.java b/src/com/android/settings/notification/ZenModeDurationPreferenceController.java
deleted file mode 100644
index 3972bb1..0000000
--- a/src/com/android/settings/notification/ZenModeDurationPreferenceController.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.notification;
-
-import android.content.Context;
-
-import com.android.settings.R;
-import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-public class ZenModeDurationPreferenceController extends AbstractZenModePreferenceController
-        implements PreferenceControllerMixin {
-
-    protected static final String KEY = "zen_mode_duration_settings";
-
-    public ZenModeDurationPreferenceController(Context context, Lifecycle lifecycle) {
-        super(context, KEY, lifecycle);
-    }
-
-    @Override
-    public boolean isAvailable() {
-        return true;
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return KEY;
-    }
-
-    @Override
-    public CharSequence getSummary() {
-        String summary;
-        int zenDuration = getZenDuration();
-        if (zenDuration < 0) {
-            summary = mContext.getString(R.string.zen_mode_duration_summary_always_prompt);
-        } else if (zenDuration == 0) {
-            summary = mContext.getString(R.string.zen_mode_duration_summary_forever);
-        } else {
-            if (zenDuration >= 60) {
-                int hours = zenDuration / 60;
-                summary = mContext.getResources().getQuantityString(
-                        R.plurals.zen_mode_duration_summary_time_hours, hours, hours);
-            } else {
-                summary = mContext.getResources().getString(
-                        R.string.zen_mode_duration_summary_time_minutes, zenDuration);
-            }
-        }
-
-        return summary;
-    }
-}
diff --git a/src/com/android/settings/notification/ZenModeEventRuleSettings.java b/src/com/android/settings/notification/ZenModeEventRuleSettings.java
deleted file mode 100644
index 4a1a342..0000000
--- a/src/com/android/settings/notification/ZenModeEventRuleSettings.java
+++ /dev/null
@@ -1,280 +0,0 @@
-/*
- * Copyright (C) 2015 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.notification;
-
-import android.app.AutomaticZenRule;
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.content.pm.PackageManager.NameNotFoundException;
-import android.database.Cursor;
-import android.os.UserHandle;
-import android.os.UserManager;
-import android.provider.CalendarContract.Calendars;
-import android.provider.Settings;
-import android.service.notification.ZenModeConfig;
-import android.service.notification.ZenModeConfig.EventInfo;
-
-import androidx.preference.DropDownPreference;
-import androidx.preference.Preference;
-import androidx.preference.Preference.OnPreferenceChangeListener;
-import androidx.preference.PreferenceScreen;
-
-import com.android.internal.annotations.VisibleForTesting;
-import com.android.settings.R;
-import com.android.settingslib.core.AbstractPreferenceController;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.List;
-import java.util.Objects;
-
-public class ZenModeEventRuleSettings extends ZenModeRuleSettingsBase {
-    private static final String KEY_CALENDAR = "calendar";
-    private static final String KEY_REPLY = "reply";
-
-    public static final String ACTION = Settings.ACTION_ZEN_MODE_EVENT_RULE_SETTINGS;
-
-    private DropDownPreference mCalendar;
-    private DropDownPreference mReply;
-
-    private EventInfo mEvent;
-
-    private boolean mCreate;
-
-    @Override
-    protected boolean setRule(AutomaticZenRule rule) {
-        mEvent = rule != null ? ZenModeConfig.tryParseEventConditionId(rule.getConditionId())
-                : null;
-        return mEvent != null;
-    }
-
-    @Override
-    public void onResume() {
-        super.onResume();
-        if (isUiRestricted()) {
-            return;
-        }
-        if (!mCreate) {
-            reloadCalendar();
-        }
-        mCreate = false;
-    }
-
-    @Override
-    protected int getPreferenceScreenResId() {
-        return R.xml.zen_mode_event_rule_settings;
-    }
-
-    @Override
-    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
-        List<AbstractPreferenceController> controllers = new ArrayList<>();
-        mHeader = new ZenAutomaticRuleHeaderPreferenceController(context, this,
-                getSettingsLifecycle());
-        mActionButtons = new ZenRuleButtonsPreferenceController(context, this,
-                getSettingsLifecycle());
-        mSwitch = new ZenAutomaticRuleSwitchPreferenceController(context, this,
-                getSettingsLifecycle());
-        controllers.add(mHeader);
-        controllers.add(mActionButtons);
-        controllers.add(mSwitch);
-        return controllers;
-    }
-
-    private void reloadCalendar() {
-        List<CalendarInfo> calendars = getCalendars(mContext);
-        ArrayList<CharSequence> entries = new ArrayList<>();
-        ArrayList<CharSequence> values = new ArrayList<>();
-        entries.add(getString(R.string.zen_mode_event_rule_calendar_any));
-        values.add(key(0, null, ""));
-        final String eventCalendar = mEvent != null ? mEvent.calName : null;
-        for (CalendarInfo calendar : calendars) {
-            entries.add(calendar.name);
-            values.add(key(calendar));
-            if (eventCalendar != null && (mEvent.calendarId == null
-                    && eventCalendar.equals(calendar.name))) {
-                mEvent.calendarId = calendar.calendarId;
-            }
-        }
-
-        CharSequence[] entriesArr = entries.toArray(new CharSequence[entries.size()]);
-        CharSequence[] valuesArr = values.toArray(new CharSequence[values.size()]);
-        if (!Objects.equals(mCalendar.getEntries(), entriesArr)) {
-            mCalendar.setEntries(entriesArr);
-        }
-
-        if (!Objects.equals(mCalendar.getEntryValues(), valuesArr)) {
-            mCalendar.setEntryValues(valuesArr);
-        }
-    }
-
-    @Override
-    protected void onCreateInternal() {
-        mCreate = true;
-        final PreferenceScreen root = getPreferenceScreen();
-
-        mCalendar = (DropDownPreference) root.findPreference(KEY_CALENDAR);
-        mCalendar.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
-            @Override
-            public boolean onPreferenceChange(Preference preference, Object newValue) {
-                final String calendarKey = (String) newValue;
-                if (calendarKey.equals(key(mEvent))) return false;
-                String[] key = calendarKey.split(":", 3);
-                mEvent.userId = Integer.parseInt(key[0]);
-                mEvent.calendarId = key[1].equals("") ? null : Long.parseLong(key[1]);
-                mEvent.calName = key[2].equals("") ? null : key[2];
-                updateRule(ZenModeConfig.toEventConditionId(mEvent));
-                return true;
-            }
-        });
-
-        mReply = (DropDownPreference) root.findPreference(KEY_REPLY);
-        mReply.setEntries(new CharSequence[] {
-                getString(R.string.zen_mode_event_rule_reply_any_except_no),
-                getString(R.string.zen_mode_event_rule_reply_yes_or_maybe),
-                getString(R.string.zen_mode_event_rule_reply_yes),
-        });
-        mReply.setEntryValues(new CharSequence[] {
-                Integer.toString(EventInfo.REPLY_ANY_EXCEPT_NO),
-                Integer.toString(EventInfo.REPLY_YES_OR_MAYBE),
-                Integer.toString(EventInfo.REPLY_YES),
-        });
-        mReply.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
-            @Override
-            public boolean onPreferenceChange(Preference preference, Object newValue) {
-                final int reply = Integer.parseInt((String) newValue);
-                if (reply == mEvent.reply) return false;
-                mEvent.reply = reply;
-                updateRule(ZenModeConfig.toEventConditionId(mEvent));
-                return true;
-            }
-        });
-
-        reloadCalendar();
-        updateControlsInternal();
-    }
-
-    @Override
-    protected void updateControlsInternal() {
-        if (!Objects.equals(mCalendar.getValue(), key(mEvent))) {
-            mCalendar.setValue(key(mEvent));
-        }
-        if (!Objects.equals(mReply.getValue(), Integer.toString(mEvent.reply))) {
-            mReply.setValue(Integer.toString(mEvent.reply));
-        }
-    }
-
-    @Override
-    public int getMetricsCategory() {
-        return SettingsEnums.NOTIFICATION_ZEN_MODE_EVENT_RULE;
-    }
-
-    private List<CalendarInfo> getCalendars(Context context) {
-        final List<CalendarInfo> calendars = new ArrayList<>();
-        for (UserHandle user : UserManager.get(context).getUserProfiles()) {
-            final Context userContext = getContextForUser(context, user);
-            if (userContext != null) {
-                addCalendars(userContext, calendars);
-            }
-        }
-        Collections.sort(calendars, CALENDAR_NAME);
-        return calendars;
-    }
-
-    private static Context getContextForUser(Context context, UserHandle user) {
-        try {
-            return context.createPackageContextAsUser(context.getPackageName(), 0, user);
-        } catch (NameNotFoundException e) {
-            return null;
-        }
-    }
-
-    private void addCalendars(Context context, List<CalendarInfo> outCalendars) {
-        final String[] projection = { Calendars._ID, Calendars.CALENDAR_DISPLAY_NAME };
-        final String selection = Calendars.CALENDAR_ACCESS_LEVEL + " >= "
-                + Calendars.CAL_ACCESS_CONTRIBUTOR
-                + " AND " + Calendars.SYNC_EVENTS + " = 1";
-        Cursor cursor = null;
-        try {
-            cursor = context.getContentResolver().query(Calendars.CONTENT_URI, projection,
-                    selection, null, null);
-            if (cursor == null) {
-                return;
-            }
-            while (cursor.moveToNext()) {
-                addCalendar(cursor.getLong(0), cursor.getString(1),
-                        context.getUserId(), outCalendars);
-            }
-        } finally {
-            if (cursor != null) {
-                cursor.close();
-            }
-        }
-    }
-
-    @VisibleForTesting
-    void addCalendar(long calendarId, String calName, int userId, List<CalendarInfo>
-            outCalendars) {
-        final CalendarInfo ci = new CalendarInfo();
-        ci.calendarId = calendarId;
-        ci.name = calName;
-        ci.userId = userId;
-        if (!outCalendars.contains(ci)) {
-            outCalendars.add(ci);
-        }
-    }
-
-    private static String key(CalendarInfo calendar) {
-        return key(calendar.userId, calendar.calendarId, calendar.name);
-    }
-
-    private static String key(EventInfo event) {
-        return key(event.userId, event.calendarId, event.calName);
-    }
-
-    private static String key(int userId, Long calendarId, String displayName) {
-        return EventInfo.resolveUserId(userId) + ":" + (calendarId == null ? "" : calendarId)
-                + ":" + (displayName == null ? "" : displayName);
-    }
-
-    private static final Comparator<CalendarInfo> CALENDAR_NAME = new Comparator<CalendarInfo>() {
-        @Override
-        public int compare(CalendarInfo lhs, CalendarInfo rhs) {
-            return lhs.name.compareTo(rhs.name);
-        }
-    };
-
-    public static class CalendarInfo {
-        public String name;
-        public int userId;
-        public Long calendarId;
-
-        @Override
-        public boolean equals(Object o) {
-            if (!(o instanceof CalendarInfo)) return false;
-            if (o == this) return true;
-            final CalendarInfo other = (CalendarInfo) o;
-            return Objects.equals(other.name, name)
-                    && Objects.equals(other.calendarId, calendarId);
-        }
-
-        @Override
-        public int hashCode() {
-            return Objects.hash(name,  calendarId);
-        }
-    }
-}
diff --git a/src/com/android/settings/notification/ZenModeEventsPreferenceController.java b/src/com/android/settings/notification/ZenModeEventsPreferenceController.java
deleted file mode 100644
index 9a45a90..0000000
--- a/src/com/android/settings/notification/ZenModeEventsPreferenceController.java
+++ /dev/null
@@ -1,78 +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 android.app.NotificationManager.Policy;
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.provider.Settings;
-import android.util.Log;
-
-import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
-
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-public class ZenModeEventsPreferenceController extends AbstractZenModePreferenceController
-        implements Preference.OnPreferenceChangeListener {
-
-    protected static final String KEY = "zen_mode_events";
-
-    public ZenModeEventsPreferenceController(Context context, Lifecycle lifecycle) {
-        super(context, KEY, lifecycle);
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return KEY;
-    }
-
-    @Override
-    public boolean isAvailable() {
-        return true;
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        super.updateState(preference);
-
-        SwitchPreference pref = (SwitchPreference) preference;
-        switch (getZenMode()) {
-            case Settings.Global.ZEN_MODE_NO_INTERRUPTIONS:
-            case Settings.Global.ZEN_MODE_ALARMS:
-                pref.setEnabled(false);
-                pref.setChecked(false);
-                break;
-            default:
-                pref.setChecked(mBackend.isPriorityCategoryEnabled(
-                        Policy.PRIORITY_CATEGORY_EVENTS));
-                pref.setEnabled(true);
-        }
-    }
-
-    @Override
-    public boolean onPreferenceChange(Preference preference, Object newValue) {
-        final boolean allowEvents = (Boolean) newValue;
-        if (ZenModeSettingsBase.DEBUG) {
-            Log.d(TAG, "onPrefChange allowEvents=" + allowEvents);
-        }
-        mMetricsFeatureProvider.action(mContext, SettingsEnums.ACTION_ZEN_ALLOW_EVENTS,
-                allowEvents);
-        mBackend.saveSoundPolicy(Policy.PRIORITY_CATEGORY_EVENTS, allowEvents);
-        return true;
-    }
-}
diff --git a/src/com/android/settings/notification/ZenModeMediaPreferenceController.java b/src/com/android/settings/notification/ZenModeMediaPreferenceController.java
deleted file mode 100644
index 2bec84f..0000000
--- a/src/com/android/settings/notification/ZenModeMediaPreferenceController.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.notification;
-
-import android.app.NotificationManager.Policy;
-import android.content.Context;
-import android.provider.Settings;
-import android.util.Log;
-
-import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
-
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-public class ZenModeMediaPreferenceController extends AbstractZenModePreferenceController
-        implements Preference.OnPreferenceChangeListener {
-
-    protected static final String KEY = "zen_mode_media";
-    private final ZenModeBackend mBackend;
-
-    public ZenModeMediaPreferenceController(Context context, Lifecycle lifecycle) {
-        super(context, KEY, lifecycle);
-        mBackend = ZenModeBackend.getInstance(context);
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return KEY;
-    }
-
-    @Override
-    public boolean isAvailable() {
-        return true;
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        super.updateState(preference);
-
-        SwitchPreference pref = (SwitchPreference) preference;
-        switch (getZenMode()) {
-            case Settings.Global.ZEN_MODE_NO_INTERRUPTIONS:
-                pref.setEnabled(false);
-                pref.setChecked(false);
-                break;
-            case Settings.Global.ZEN_MODE_ALARMS:
-                pref.setEnabled(false);
-                pref.setChecked(true);
-                break;
-            default:
-                pref.setEnabled(true);
-                pref.setChecked(mBackend.isPriorityCategoryEnabled(
-                        Policy.PRIORITY_CATEGORY_MEDIA));
-        }
-    }
-
-    @Override
-    public boolean onPreferenceChange(Preference preference, Object newValue) {
-        final boolean allowMedia = (Boolean) newValue;
-        if (ZenModeSettingsBase.DEBUG) {
-            Log.d(TAG, "onPrefChange allowMedia=" + allowMedia);
-        }
-        mBackend.saveSoundPolicy(Policy.PRIORITY_CATEGORY_MEDIA, allowMedia);
-        return true;
-    }
-}
diff --git a/src/com/android/settings/notification/ZenModeMessagesPreferenceController.java b/src/com/android/settings/notification/ZenModeMessagesPreferenceController.java
deleted file mode 100644
index d51be27..0000000
--- a/src/com/android/settings/notification/ZenModeMessagesPreferenceController.java
+++ /dev/null
@@ -1,66 +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.notification;
-
-import android.app.NotificationManager;
-import android.content.Context;
-import android.provider.Settings;
-
-import androidx.preference.Preference;
-
-import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-public class ZenModeMessagesPreferenceController extends
-        AbstractZenModePreferenceController implements PreferenceControllerMixin {
-
-    private final String KEY;
-    private final ZenModeSettings.SummaryBuilder mSummaryBuilder;
-
-    public ZenModeMessagesPreferenceController(Context context, Lifecycle lifecycle, String key) {
-        super(context, key, lifecycle);
-        KEY = key;
-        mSummaryBuilder = new ZenModeSettings.SummaryBuilder(context);
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return KEY;
-    }
-
-    @Override
-    public boolean isAvailable() {
-        return true;
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        super.updateState(preference);
-
-        switch (getZenMode()) {
-            case Settings.Global.ZEN_MODE_NO_INTERRUPTIONS:
-            case Settings.Global.ZEN_MODE_ALARMS:
-                preference.setEnabled(false);
-                preference.setSummary(mBackend.getAlarmsTotalSilenceCallsMessagesSummary(
-                        NotificationManager.Policy.PRIORITY_CATEGORY_MESSAGES));
-                break;
-            default:
-                preference.setEnabled(true);
-                preference.setSummary(mSummaryBuilder.getMessagesSettingSummary(getPolicy()));
-        }
-    }
-}
diff --git a/src/com/android/settings/notification/ZenModeMessagesSettings.java b/src/com/android/settings/notification/ZenModeMessagesSettings.java
deleted file mode 100644
index a03d088..0000000
--- a/src/com/android/settings/notification/ZenModeMessagesSettings.java
+++ /dev/null
@@ -1,87 +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.notification;
-
-import static android.app.NotificationManager.Policy.PRIORITY_CATEGORY_MESSAGES;
-
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.provider.SearchIndexableResource;
-
-import com.android.settings.R;
-import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
-import com.android.settingslib.core.AbstractPreferenceController;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-import com.android.settingslib.search.SearchIndexable;
-
-import java.util.ArrayList;
-import java.util.List;
-
-@SearchIndexable
-public class ZenModeMessagesSettings extends ZenModeSettingsBase implements Indexable {
-
-    @Override
-    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
-        return buildPreferenceControllers(context, getSettingsLifecycle());
-    }
-
-    private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
-            Lifecycle lifecycle) {
-        List<AbstractPreferenceController> controllers = new ArrayList<>();
-        controllers.add(new ZenModePriorityMessagesPreferenceController(context, lifecycle));
-        controllers.add(new ZenModeStarredContactsPreferenceController(context, lifecycle,
-                PRIORITY_CATEGORY_MESSAGES, "zen_mode_starred_contacts_messages"));
-        controllers.add(new ZenModeBehaviorFooterPreferenceController(
-                context, lifecycle, R.string.zen_mode_messages_footer));
-        return controllers;
-    }
-
-    @Override
-    protected int getPreferenceScreenResId() {
-        return R.xml.zen_mode_messages_settings;
-    }
-
-    @Override
-    public int getMetricsCategory() {
-        return SettingsEnums.NOTIFICATION_ZEN_MODE_PRIORITY;
-    }
-
-    /**
-     * For Search.
-     */
-    public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
-                        boolean enabled) {
-                    final ArrayList<SearchIndexableResource> result = new ArrayList<>();
-
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.zen_mode_messages_settings;
-                    result.add(sir);
-                    return result;
-                }
-
-                @Override
-                public List<AbstractPreferenceController> createPreferenceControllers(
-                        Context context) {
-                    return buildPreferenceControllers(context, null);
-                }
-            };
-}
diff --git a/src/com/android/settings/notification/ZenModePreferenceController.java b/src/com/android/settings/notification/ZenModePreferenceController.java
deleted file mode 100644
index 44ad2ff..0000000
--- a/src/com/android/settings/notification/ZenModePreferenceController.java
+++ /dev/null
@@ -1,112 +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.notification;
-
-import android.content.ContentResolver;
-import android.content.Context;
-import android.database.ContentObserver;
-import android.net.Uri;
-import android.os.Handler;
-import android.os.UserHandle;
-import android.provider.Settings;
-
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.core.BasePreferenceController;
-import com.android.settingslib.core.lifecycle.LifecycleObserver;
-import com.android.settingslib.core.lifecycle.events.OnPause;
-import com.android.settingslib.core.lifecycle.events.OnResume;
-
-public class ZenModePreferenceController extends BasePreferenceController
-        implements LifecycleObserver, OnResume, OnPause {
-
-    private SettingObserver mSettingObserver;
-    private ZenModeSettings.SummaryBuilder mSummaryBuilder;
-
-    public ZenModePreferenceController(Context context, String key) {
-        super(context, key);
-        mSummaryBuilder = new ZenModeSettings.SummaryBuilder(context);
-    }
-
-    @Override
-    public void displayPreference(PreferenceScreen screen) {
-        super.displayPreference(screen);
-        mSettingObserver = new SettingObserver(screen.findPreference(getPreferenceKey()));
-    }
-
-    @Override
-    public void onResume() {
-        if (mSettingObserver != null) {
-            mSettingObserver.register(mContext.getContentResolver());
-        }
-    }
-
-    @Override
-    public void onPause() {
-        if (mSettingObserver != null) {
-            mSettingObserver.unregister(mContext.getContentResolver());
-        }
-    }
-
-    @Override
-    public int getAvailabilityStatus() {
-        return AVAILABLE_UNSEARCHABLE;
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        super.updateState(preference);
-        if (preference.isEnabled()) {
-            preference.setSummary(mSummaryBuilder.getSoundSummary());
-        }
-    }
-
-    class SettingObserver extends ContentObserver {
-        private final Uri ZEN_MODE_URI = Settings.Global.getUriFor(Settings.Global.ZEN_MODE);
-        private final Uri ZEN_MODE_CONFIG_ETAG_URI = Settings.Global.getUriFor(
-                Settings.Global.ZEN_MODE_CONFIG_ETAG);
-
-        private final Preference mPreference;
-
-        public SettingObserver(Preference preference) {
-            super(new Handler());
-            mPreference = preference;
-        }
-
-        public void register(ContentResolver cr) {
-            cr.registerContentObserver(ZEN_MODE_URI, false, this, UserHandle.USER_ALL);
-            cr.registerContentObserver(ZEN_MODE_CONFIG_ETAG_URI, false, this, UserHandle.USER_ALL);
-        }
-
-        public void unregister(ContentResolver cr) {
-            cr.unregisterContentObserver(this);
-        }
-
-        @Override
-        public void onChange(boolean selfChange, Uri uri) {
-            super.onChange(selfChange, uri);
-            if (ZEN_MODE_URI.equals(uri)) {
-                updateState(mPreference);
-            }
-
-            if (ZEN_MODE_CONFIG_ETAG_URI.equals(uri)) {
-                updateState(mPreference);
-            }
-        }
-    }
-}
diff --git a/src/com/android/settings/notification/ZenModePriorityCallsPreferenceController.java b/src/com/android/settings/notification/ZenModePriorityCallsPreferenceController.java
deleted file mode 100644
index cec97f5..0000000
--- a/src/com/android/settings/notification/ZenModePriorityCallsPreferenceController.java
+++ /dev/null
@@ -1,108 +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.notification;
-
-import android.app.NotificationManager;
-import android.content.Context;
-import android.provider.Settings;
-import android.text.TextUtils;
-
-import androidx.annotation.VisibleForTesting;
-import androidx.preference.ListPreference;
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.R;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-public class ZenModePriorityCallsPreferenceController extends AbstractZenModePreferenceController
-        implements Preference.OnPreferenceChangeListener {
-
-    protected static final String KEY = "zen_mode_calls";
-    private final ZenModeBackend mBackend;
-    private ListPreference mPreference;
-    private final String[] mListValues;
-
-    public ZenModePriorityCallsPreferenceController(Context context, Lifecycle lifecycle) {
-        super(context, KEY, lifecycle);
-        mBackend = ZenModeBackend.getInstance(context);
-        mListValues = context.getResources().getStringArray(R.array.zen_mode_contacts_values);
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return KEY;
-    }
-
-    @Override
-    public boolean isAvailable() {
-        return true;
-    }
-
-    @Override
-    public void displayPreference(PreferenceScreen screen) {
-        super.displayPreference(screen);
-        mPreference = screen.findPreference(KEY);
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        super.updateState(preference);
-        updateFromContactsValue(preference);
-    }
-
-    @Override
-    public boolean onPreferenceChange(Preference preference, Object selectedContactsFrom) {
-        mBackend.saveSenders(NotificationManager.Policy.PRIORITY_CATEGORY_CALLS,
-                ZenModeBackend.getSettingFromPrefKey(selectedContactsFrom.toString()));
-        updateFromContactsValue(preference);
-        return true;
-    }
-
-    private void updateFromContactsValue(Preference preference) {
-        mPreference = (ListPreference) preference;
-        switch (getZenMode()) {
-            case Settings.Global.ZEN_MODE_NO_INTERRUPTIONS:
-            case Settings.Global.ZEN_MODE_ALARMS:
-                mPreference.setEnabled(false);
-                mPreference.setValue(ZenModeBackend.ZEN_MODE_FROM_NONE);
-                mPreference.setSummary(mBackend.getAlarmsTotalSilenceCallsMessagesSummary(
-                        NotificationManager.Policy.PRIORITY_CATEGORY_CALLS));
-                break;
-            default:
-                preference.setEnabled(true);
-                preference.setSummary(mBackend.getContactsSummary(
-                        NotificationManager.Policy.PRIORITY_CATEGORY_CALLS));
-
-                final String currentVal = ZenModeBackend.getKeyFromSetting(
-                        mBackend.getPriorityCallSenders());
-                mPreference.setValue(mListValues[getIndexOfSendersValue(currentVal)]);
-        }
-    }
-
-    @VisibleForTesting
-    protected int getIndexOfSendersValue(String currentVal) {
-        int index = 3; // defaults to "none" based on R.array.zen_mode_contacts_values
-        for (int i = 0; i < mListValues.length; i++) {
-            if (TextUtils.equals(currentVal, mListValues[i])) {
-                return i;
-            }
-        }
-
-        return index;
-    }
-}
diff --git a/src/com/android/settings/notification/ZenModePriorityMessagesPreferenceController.java b/src/com/android/settings/notification/ZenModePriorityMessagesPreferenceController.java
deleted file mode 100644
index 752edf2..0000000
--- a/src/com/android/settings/notification/ZenModePriorityMessagesPreferenceController.java
+++ /dev/null
@@ -1,108 +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.notification;
-
-import android.app.NotificationManager;
-import android.content.Context;
-import android.provider.Settings;
-import android.text.TextUtils;
-
-import androidx.annotation.VisibleForTesting;
-import androidx.preference.ListPreference;
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.R;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-public class ZenModePriorityMessagesPreferenceController extends AbstractZenModePreferenceController
-        implements Preference.OnPreferenceChangeListener {
-
-    protected static final String KEY = "zen_mode_messages";
-    private final ZenModeBackend mBackend;
-    private ListPreference mPreference;
-    private final String[] mListValues;
-
-    public ZenModePriorityMessagesPreferenceController(Context context, Lifecycle lifecycle) {
-        super(context, KEY, lifecycle);
-        mBackend = ZenModeBackend.getInstance(context);
-        mListValues = context.getResources().getStringArray(R.array.zen_mode_contacts_values);
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return KEY;
-    }
-
-    @Override
-    public boolean isAvailable() {
-        return true;
-    }
-
-    @Override
-    public void displayPreference(PreferenceScreen screen) {
-        super.displayPreference(screen);
-        mPreference = screen.findPreference(KEY);
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        super.updateState(preference);
-        updateFromContactsValue(preference);
-    }
-
-    @Override
-    public boolean onPreferenceChange(Preference preference, Object selectedContactsFrom) {
-        mBackend.saveSenders(NotificationManager.Policy.PRIORITY_CATEGORY_MESSAGES,
-                ZenModeBackend.getSettingFromPrefKey(selectedContactsFrom.toString()));
-        updateFromContactsValue(preference);
-        return true;
-    }
-
-    private void updateFromContactsValue(Preference preference) {
-        mPreference = (ListPreference) preference;
-        switch (getZenMode()) {
-            case Settings.Global.ZEN_MODE_NO_INTERRUPTIONS:
-            case Settings.Global.ZEN_MODE_ALARMS:
-                mPreference.setEnabled(false);
-                mPreference.setValue(ZenModeBackend.ZEN_MODE_FROM_NONE);
-                mPreference.setSummary(mBackend.getAlarmsTotalSilenceCallsMessagesSummary(
-                        NotificationManager.Policy.PRIORITY_CATEGORY_MESSAGES));
-                break;
-            default:
-                preference.setEnabled(true);
-                preference.setSummary(mBackend.getContactsSummary(
-                        NotificationManager.Policy.PRIORITY_CATEGORY_MESSAGES));
-
-                final String currentVal = ZenModeBackend.getKeyFromSetting(
-                        mBackend.getPriorityMessageSenders());
-                mPreference.setValue(mListValues[getIndexOfSendersValue(currentVal)]);
-        }
-    }
-
-    @VisibleForTesting
-    protected int getIndexOfSendersValue(String currentVal) {
-        int index = 3; // defaults to "none" based on R.array.zen_mode_contacts_values
-        for (int i = 0; i < mListValues.length; i++) {
-            if (TextUtils.equals(currentVal, mListValues[i])) {
-                return i;
-            }
-        }
-
-        return index;
-    }
-}
diff --git a/src/com/android/settings/notification/ZenModeRemindersPreferenceController.java b/src/com/android/settings/notification/ZenModeRemindersPreferenceController.java
deleted file mode 100644
index 8e64be3..0000000
--- a/src/com/android/settings/notification/ZenModeRemindersPreferenceController.java
+++ /dev/null
@@ -1,79 +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 android.app.NotificationManager;
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.provider.Settings;
-import android.util.Log;
-
-import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
-
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-public class ZenModeRemindersPreferenceController extends AbstractZenModePreferenceController
-        implements Preference.OnPreferenceChangeListener {
-
-    protected static final String KEY = "zen_mode_reminders";
-
-    public ZenModeRemindersPreferenceController(Context context, Lifecycle lifecycle) {
-        super(context, KEY, lifecycle);
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return KEY;
-    }
-
-    @Override
-    public boolean isAvailable() {
-        return true;
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        super.updateState(preference);
-
-        SwitchPreference pref = (SwitchPreference) preference;
-        switch (getZenMode()) {
-            case Settings.Global.ZEN_MODE_NO_INTERRUPTIONS:
-            case Settings.Global.ZEN_MODE_ALARMS:
-                pref.setEnabled(false);
-                pref.setChecked(false);
-                break;
-            default:
-                pref.setEnabled(true);
-                pref.setChecked(mBackend.isPriorityCategoryEnabled(
-                        NotificationManager.Policy.PRIORITY_CATEGORY_REMINDERS));
-        }
-    }
-
-    @Override
-    public boolean onPreferenceChange(Preference preference, Object newValue) {
-        final boolean allowReminders = (Boolean) newValue;
-        if (ZenModeSettingsBase.DEBUG) {
-            Log.d(TAG, "onPrefChange allowReminders=" + allowReminders);
-        }
-        mMetricsFeatureProvider.action(mContext,
-                SettingsEnums.ACTION_ZEN_ALLOW_REMINDERS, allowReminders);
-        mBackend.saveSoundPolicy(NotificationManager.Policy.PRIORITY_CATEGORY_REMINDERS,
-                allowReminders);
-        return true;
-    }
-}
diff --git a/src/com/android/settings/notification/ZenModeRepeatCallersPreferenceController.java b/src/com/android/settings/notification/ZenModeRepeatCallersPreferenceController.java
deleted file mode 100644
index d658d5f..0000000
--- a/src/com/android/settings/notification/ZenModeRepeatCallersPreferenceController.java
+++ /dev/null
@@ -1,107 +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 android.app.NotificationManager.Policy;
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.provider.Settings;
-import android.util.Log;
-
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
-
-import com.android.settings.R;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-public class ZenModeRepeatCallersPreferenceController extends AbstractZenModePreferenceController
-        implements Preference.OnPreferenceChangeListener {
-
-    protected static final String KEY = "zen_mode_repeat_callers";
-
-    private final ZenModeBackend mBackend;
-    private final int mRepeatCallersThreshold;
-
-    public ZenModeRepeatCallersPreferenceController(Context context, Lifecycle lifecycle,
-            int repeatCallersThreshold) {
-        super(context, KEY, lifecycle);
-
-        mRepeatCallersThreshold = repeatCallersThreshold;
-        mBackend = ZenModeBackend.getInstance(context);
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return KEY;
-    }
-
-    @Override
-    public boolean isAvailable() {
-        return true;
-    }
-
-    @Override
-    public void displayPreference(PreferenceScreen screen) {
-        super.displayPreference(screen);
-        setRepeatCallerSummary(screen.findPreference(KEY));
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        super.updateState(preference);
-
-        SwitchPreference pref = (SwitchPreference) preference;
-        switch (getZenMode()) {
-            case Settings.Global.ZEN_MODE_NO_INTERRUPTIONS:
-            case Settings.Global.ZEN_MODE_ALARMS:
-                pref.setEnabled(false);
-                pref.setChecked(false);
-                break;
-            default:
-                boolean anyCallersCanBypassDnd = (mBackend.isPriorityCategoryEnabled(
-                        Policy.PRIORITY_CATEGORY_CALLS)
-                        && mBackend.getPriorityCallSenders() == Policy.PRIORITY_SENDERS_ANY);
-                // if any caller can bypass dnd then repeat callers preference is disabled
-                if (anyCallersCanBypassDnd) {
-                    pref.setEnabled(false);
-                    pref.setChecked(true);
-                } else {
-                    pref.setEnabled(true);
-                    pref.setChecked(mBackend.isPriorityCategoryEnabled(
-                            Policy.PRIORITY_CATEGORY_REPEAT_CALLERS));
-                }
-        }
-    }
-
-    @Override
-    public boolean onPreferenceChange(Preference preference, Object newValue) {
-        final boolean allowRepeatCallers = (Boolean) newValue;
-        if (ZenModeSettingsBase.DEBUG) {
-            Log.d(TAG, "onPrefChange allowRepeatCallers=" + allowRepeatCallers);
-        }
-        mMetricsFeatureProvider.action(mContext,
-                SettingsEnums.ACTION_ZEN_ALLOW_REPEAT_CALLS, allowRepeatCallers);
-        mBackend.saveSoundPolicy(Policy.PRIORITY_CATEGORY_REPEAT_CALLERS, allowRepeatCallers);
-        return true;
-    }
-
-    private void setRepeatCallerSummary(Preference preference) {
-        preference.setSummary(mContext.getString(R.string.zen_mode_repeat_callers_summary,
-                mRepeatCallersThreshold));
-    }
-}
diff --git a/src/com/android/settings/notification/ZenModeRestrictNotificationsSettings.java b/src/com/android/settings/notification/ZenModeRestrictNotificationsSettings.java
deleted file mode 100644
index 90d97f0..0000000
--- a/src/com/android/settings/notification/ZenModeRestrictNotificationsSettings.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.notification;
-
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.os.Bundle;
-import android.provider.SearchIndexableResource;
-
-import com.android.settings.R;
-import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
-import com.android.settingslib.core.AbstractPreferenceController;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-import com.android.settingslib.search.SearchIndexable;
-import com.android.settingslib.widget.FooterPreference;
-
-import java.util.ArrayList;
-import java.util.List;
-
-@SearchIndexable(forTarget = SearchIndexable.ALL & ~SearchIndexable.ARC)
-public class ZenModeRestrictNotificationsSettings extends ZenModeSettingsBase implements Indexable {
-
-    @Override
-    public void onCreate(Bundle icicle) {
-        super.onCreate(icicle);
-    }
-
-    @Override
-    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
-        return buildPreferenceControllers(context, getSettingsLifecycle());
-    }
-
-    @Override
-    public int getHelpResource() {
-        return R.string.help_uri_interruptions;
-    }
-
-    private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
-            Lifecycle lifecycle) {
-        List<AbstractPreferenceController> controllers = new ArrayList<>();
-        controllers.add(new ZenModeVisEffectsNonePreferenceController(
-                context, lifecycle, "zen_mute_notifications"));
-        controllers.add(new ZenModeVisEffectsAllPreferenceController(
-                context, lifecycle, "zen_hide_notifications"));
-        controllers.add(new ZenModeVisEffectsCustomPreferenceController(
-                context, lifecycle, "zen_custom"));
-        controllers.add(new ZenFooterPreferenceController(context, lifecycle,
-                FooterPreference.KEY_FOOTER));
-        return controllers;
-    }
-
-    @Override
-    protected int getPreferenceScreenResId() {
-        return R.xml.zen_mode_restrict_notifications_settings;
-    }
-
-    @Override
-    public int getMetricsCategory() {
-        return SettingsEnums.SETTINGS_ZEN_NOTIFICATIONS;
-    }
-
-    /**
-     * For Search.
-     */
-    public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
-                        boolean enabled) {
-                    final ArrayList<SearchIndexableResource> result = new ArrayList<>();
-
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.zen_mode_restrict_notifications_settings;
-                    result.add(sir);
-                    return result;
-                }
-
-            @Override
-            public List<AbstractPreferenceController> createPreferenceControllers(Context context) {
-                return buildPreferenceControllers(context, null);
-            }
-        };
-}
diff --git a/src/com/android/settings/notification/ZenModeRuleSettingsBase.java b/src/com/android/settings/notification/ZenModeRuleSettingsBase.java
deleted file mode 100644
index 46162a8..0000000
--- a/src/com/android/settings/notification/ZenModeRuleSettingsBase.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*
- * Copyright (C) 2015 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.notification;
-
-import android.app.AutomaticZenRule;
-import android.app.NotificationManager;
-import android.content.Context;
-import android.content.Intent;
-import android.net.Uri;
-import android.os.Bundle;
-import android.service.notification.ConditionProviderService;
-import android.util.Log;
-import android.widget.Toast;
-
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.R;
-import com.android.settings.core.SubSettingLauncher;
-
-public abstract class ZenModeRuleSettingsBase extends ZenModeSettingsBase {
-
-    protected static final String TAG = ZenModeSettingsBase.TAG;
-    protected static final boolean DEBUG = ZenModeSettingsBase.DEBUG;
-
-    private final String CUSTOM_BEHAVIOR_KEY = "zen_custom_setting";
-
-    protected Context mContext;
-    protected boolean mDisableListeners;
-    protected AutomaticZenRule mRule;
-    protected String mId;
-
-    protected ZenAutomaticRuleHeaderPreferenceController mHeader;
-    protected ZenRuleButtonsPreferenceController mActionButtons;
-    protected ZenAutomaticRuleSwitchPreferenceController mSwitch;
-    protected Preference mCustomBehaviorPreference;
-
-    abstract protected void onCreateInternal();
-    abstract protected boolean setRule(AutomaticZenRule rule);
-    abstract protected void updateControlsInternal();
-
-    @Override
-    public void onCreate(Bundle icicle) {
-        mContext = getActivity();
-
-        final Intent intent = getActivity().getIntent();
-        if (DEBUG) Log.d(TAG, "onCreate getIntent()=" + intent);
-        if (intent == null) {
-            Log.w(TAG, "No intent");
-            toastAndFinish();
-            return;
-        }
-
-        mId = intent.getStringExtra(ConditionProviderService.EXTRA_RULE_ID);
-        if (mId == null) {
-            Log.w(TAG, "rule id is null");
-            toastAndFinish();
-            return;
-        }
-
-        if (DEBUG) Log.d(TAG, "mId=" + mId);
-        if (refreshRuleOrFinish()) {
-            return;
-        }
-
-        super.onCreate(icicle);
-        mCustomBehaviorPreference = getPreferenceScreen().findPreference(CUSTOM_BEHAVIOR_KEY);
-        mCustomBehaviorPreference.setOnPreferenceClickListener(
-                new Preference.OnPreferenceClickListener() {
-                    @Override
-                    public boolean onPreferenceClick(Preference preference) {
-                        Bundle bundle = new Bundle();
-                        bundle.putString(ZenCustomRuleSettings.RULE_ID, mId);
-                        new SubSettingLauncher(mContext)
-                                .setDestination(ZenCustomRuleSettings.class.getName())
-                                .setArguments(bundle)
-                                .setSourceMetricsCategory(0) // TODO
-                                .launch();
-                        return true;
-                    }
-                });
-        onCreateInternal();
-    }
-
-    @Override
-    public void onResume() {
-        super.onResume();
-        if (isUiRestricted()) {
-            return;
-        }
-        if (!refreshRuleOrFinish()) {
-            updateControls();
-        }
-    }
-
-    @Override
-    public int getHelpResource() {
-        return R.string.help_uri_interruptions;
-    }
-
-    /**
-     * Update state of header preference managed by PreferenceController.
-     */
-    protected void updateHeader() {
-        final PreferenceScreen screen = getPreferenceScreen();
-
-        mSwitch.onResume(mRule, mId);
-        mSwitch.displayPreference(screen);
-        updatePreference(mSwitch);
-
-        mHeader.onResume(mRule, mId);
-        mHeader.displayPreference(screen);
-        updatePreference(mHeader);
-
-        mActionButtons.onResume(mRule, mId);
-        mActionButtons.displayPreference(screen);
-        updatePreference(mActionButtons);
-    }
-
-    protected void updateRule(Uri newConditionId) {
-        mRule.setConditionId(newConditionId);
-        mBackend.updateZenRule(mId, mRule);
-    }
-
-    @Override
-    protected void onZenModeConfigChanged() {
-        super.onZenModeConfigChanged();
-        if (!refreshRuleOrFinish()) {
-            updateControls();
-        }
-    }
-
-    private boolean refreshRuleOrFinish() {
-        mRule = getZenRule();
-        if (DEBUG) Log.d(TAG, "mRule=" + mRule);
-        if (!setRule(mRule)) {
-            toastAndFinish();
-            return true;
-        }
-        return false;
-    }
-
-    private void toastAndFinish() {
-        Toast.makeText(mContext, R.string.zen_mode_rule_not_found_text, Toast.LENGTH_SHORT)
-                .show();
-
-        getActivity().finish();
-    }
-
-    private AutomaticZenRule getZenRule() {
-        return NotificationManager.from(mContext).getAutomaticZenRule(mId);
-    }
-
-    private void updateControls() {
-        mDisableListeners = true;
-        updateControlsInternal();
-        updateHeader();
-        if (mRule.getZenPolicy() == null) {
-            mCustomBehaviorPreference.setSummary(R.string.zen_mode_custom_behavior_summary_default);
-        } else {
-            mCustomBehaviorPreference.setSummary(R.string.zen_mode_custom_behavior_summary);
-        }
-        mDisableListeners = false;
-    }
-}
diff --git a/src/com/android/settings/notification/ZenModeScheduleDaysSelection.java b/src/com/android/settings/notification/ZenModeScheduleDaysSelection.java
deleted file mode 100644
index fdf4707..0000000
--- a/src/com/android/settings/notification/ZenModeScheduleDaysSelection.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.notification;
-
-import android.content.Context;
-import android.util.SparseBooleanArray;
-import android.view.LayoutInflater;
-import android.widget.CheckBox;
-import android.widget.CompoundButton;
-import android.widget.CompoundButton.OnCheckedChangeListener;
-import android.widget.LinearLayout;
-import android.widget.ScrollView;
-
-import com.android.settings.R;
-
-import java.text.SimpleDateFormat;
-import java.util.Arrays;
-import java.util.Calendar;
-
-public class ZenModeScheduleDaysSelection extends ScrollView {
-    // per-instance to ensure we're always using the current locale
-    private final SimpleDateFormat mDayFormat = new SimpleDateFormat("EEEE");
-    private final SparseBooleanArray mDays = new SparseBooleanArray();
-    private final LinearLayout mLayout;
-
-    public ZenModeScheduleDaysSelection(Context context, int[] days) {
-        super(context);
-        mLayout = new LinearLayout(mContext);
-        final int hPad = context.getResources()
-                .getDimensionPixelSize(R.dimen.zen_schedule_day_margin);
-        mLayout.setPadding(hPad, 0, hPad, 0);
-        addView(mLayout);
-        if (days != null) {
-            for (int i = 0; i < days.length; i++) {
-                mDays.put(days[i], true);
-            }
-        }
-        mLayout.setOrientation(LinearLayout.VERTICAL);
-        final Calendar c = Calendar.getInstance();
-        int[] daysOfWeek = getDaysOfWeekForLocale(c);
-        final LayoutInflater inflater = LayoutInflater.from(context);
-        for (int i = 0; i < daysOfWeek.length; i++) {
-            final int day = daysOfWeek[i];
-            final CheckBox checkBox = (CheckBox) inflater.inflate(R.layout.zen_schedule_rule_day,
-                    this, false);
-            c.set(Calendar.DAY_OF_WEEK, day);
-            checkBox.setText(mDayFormat.format(c.getTime()));
-            checkBox.setChecked(mDays.get(day));
-            checkBox.setOnCheckedChangeListener(new OnCheckedChangeListener() {
-                @Override
-                public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
-                    mDays.put(day, isChecked);
-                    onChanged(getDays());
-                }
-            });
-            mLayout.addView(checkBox);
-        }
-    }
-
-    private int[] getDays() {
-        final SparseBooleanArray rt = new SparseBooleanArray(mDays.size());
-        for (int i = 0; i < mDays.size(); i++) {
-            final int day = mDays.keyAt(i);
-            if (!mDays.valueAt(i)) continue;
-            rt.put(day, true);
-        }
-        final int[] rta = new int[rt.size()];
-        for (int i = 0; i < rta.length; i++) {
-            rta[i] = rt.keyAt(i);
-        }
-        Arrays.sort(rta);
-        return rta;
-    }
-
-    protected static int[] getDaysOfWeekForLocale(Calendar c) {
-        int[] daysOfWeek = new int[7];
-        int currentDay = c.getFirstDayOfWeek();
-        for (int i = 0; i < daysOfWeek.length; i++) {
-            if (currentDay > 7) currentDay = 1;
-            daysOfWeek[i] = currentDay;
-            currentDay++;
-        }
-        return daysOfWeek;
-    }
-
-    protected void onChanged(int[] days) {
-        // event hook for subclasses
-    }
-}
diff --git a/src/com/android/settings/notification/ZenModeScheduleRuleSettings.java b/src/com/android/settings/notification/ZenModeScheduleRuleSettings.java
deleted file mode 100644
index e879ece..0000000
--- a/src/com/android/settings/notification/ZenModeScheduleRuleSettings.java
+++ /dev/null
@@ -1,329 +0,0 @@
-/*
- * Copyright (C) 2015 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.notification;
-
-import android.app.AutomaticZenRule;
-import android.app.Dialog;
-import android.app.TimePickerDialog;
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.content.DialogInterface;
-import android.content.DialogInterface.OnDismissListener;
-import android.os.Bundle;
-import android.provider.Settings;
-import android.service.notification.ZenModeConfig;
-import android.service.notification.ZenModeConfig.ScheduleInfo;
-import android.text.format.DateFormat;
-import android.util.Log;
-import android.widget.TimePicker;
-
-import androidx.appcompat.app.AlertDialog;
-import androidx.fragment.app.FragmentManager;
-import androidx.preference.Preference;
-import androidx.preference.Preference.OnPreferenceClickListener;
-import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
-
-import com.android.settings.R;
-import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
-import com.android.settingslib.core.AbstractPreferenceController;
-
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Calendar;
-import java.util.List;
-
-public class ZenModeScheduleRuleSettings extends ZenModeRuleSettingsBase {
-    private static final String KEY_DAYS = "days";
-    private static final String KEY_START_TIME = "start_time";
-    private static final String KEY_END_TIME = "end_time";
-    private static final String KEY_EXIT_AT_ALARM = "exit_at_alarm";
-
-    public static final String ACTION = Settings.ACTION_ZEN_MODE_SCHEDULE_RULE_SETTINGS;
-
-    // per-instance to ensure we're always using the current locale
-    private final SimpleDateFormat mDayFormat = new SimpleDateFormat("EEE");
-
-    private Preference mDays;
-    private TimePickerPreference mStart;
-    private TimePickerPreference mEnd;
-    private SwitchPreference mExitAtAlarm;
-    private AlertDialog mDayDialog;
-    private ScheduleInfo mSchedule;
-
-    @Override
-    protected boolean setRule(AutomaticZenRule rule) {
-        mSchedule = rule != null ? ZenModeConfig.tryParseScheduleConditionId(rule.getConditionId())
-                : null;
-        return mSchedule != null;
-    }
-
-    @Override
-    protected int getPreferenceScreenResId() {
-        return R.xml.zen_mode_schedule_rule_settings;
-    }
-
-    @Override
-    protected void onCreateInternal() {
-        final PreferenceScreen root = getPreferenceScreen();
-
-        mDays = root.findPreference(KEY_DAYS);
-        mDays.setOnPreferenceClickListener(new OnPreferenceClickListener() {
-            @Override
-            public boolean onPreferenceClick(Preference preference) {
-                showDaysDialog();
-                return true;
-            }
-        });
-
-        final FragmentManager mgr = getFragmentManager();
-
-        mStart = new TimePickerPreference(getPrefContext(), mgr);
-        mStart.setKey(KEY_START_TIME);
-        mStart.setTitle(R.string.zen_mode_start_time);
-        mStart.setCallback(new TimePickerPreference.Callback() {
-            @Override
-            public boolean onSetTime(final int hour, final int minute) {
-                if (mDisableListeners) return true;
-                if (!ZenModeConfig.isValidHour(hour)) return false;
-                if (!ZenModeConfig.isValidMinute(minute)) return false;
-                if (hour == mSchedule.startHour && minute == mSchedule.startMinute) {
-                    return true;
-                }
-                if (DEBUG) Log.d(TAG, "onPrefChange start h=" + hour + " m=" + minute);
-                mSchedule.startHour = hour;
-                mSchedule.startMinute = minute;
-                updateRule(ZenModeConfig.toScheduleConditionId(mSchedule));
-                return true;
-            }
-        });
-        root.addPreference(mStart);
-        mStart.setDependency(mDays.getKey());
-
-        mEnd = new TimePickerPreference(getPrefContext(), mgr);
-        mEnd.setKey(KEY_END_TIME);
-        mEnd.setTitle(R.string.zen_mode_end_time);
-        mEnd.setCallback(new TimePickerPreference.Callback() {
-            @Override
-            public boolean onSetTime(final int hour, final int minute) {
-                if (mDisableListeners) return true;
-                if (!ZenModeConfig.isValidHour(hour)) return false;
-                if (!ZenModeConfig.isValidMinute(minute)) return false;
-                if (hour == mSchedule.endHour && minute == mSchedule.endMinute) {
-                    return true;
-                }
-                if (DEBUG) Log.d(TAG, "onPrefChange end h=" + hour + " m=" + minute);
-                mSchedule.endHour = hour;
-                mSchedule.endMinute = minute;
-                updateRule(ZenModeConfig.toScheduleConditionId(mSchedule));
-                return true;
-            }
-        });
-        root.addPreference(mEnd);
-        mEnd.setDependency(mDays.getKey());
-
-        mExitAtAlarm = (SwitchPreference) root.findPreference(KEY_EXIT_AT_ALARM);
-        mExitAtAlarm.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
-            @Override
-            public boolean onPreferenceChange(Preference preference, Object o) {
-                mSchedule.exitAtAlarm = (Boolean) o;
-                updateRule(ZenModeConfig.toScheduleConditionId(mSchedule));
-                return true;
-            }
-        });
-    }
-
-    private void updateDays() {
-        // Compute an ordered, delimited list of day names based on the persisted user config.
-        final int[] days = mSchedule.days;
-        if (days != null && days.length > 0) {
-            final StringBuilder sb = new StringBuilder();
-            final Calendar c = Calendar.getInstance();
-            int[] daysOfWeek = ZenModeScheduleDaysSelection.getDaysOfWeekForLocale(c);
-            for (int i = 0; i < daysOfWeek.length; i++) {
-                final int day = daysOfWeek[i];
-                for (int j = 0; j < days.length; j++) {
-                    if (day == days[j]) {
-                        c.set(Calendar.DAY_OF_WEEK, day);
-                        if (sb.length() > 0) {
-                            sb.append(mContext.getString(R.string.summary_divider_text));
-                        }
-                        sb.append(mDayFormat.format(c.getTime()));
-                        break;
-                    }
-                }
-            }
-            if (sb.length() > 0) {
-                mDays.setSummary(sb);
-                mDays.notifyDependencyChange(false);
-                return;
-            }
-        }
-        mDays.setSummary(R.string.zen_mode_schedule_rule_days_none);
-        mDays.notifyDependencyChange(true);
-    }
-
-    private void updateEndSummary() {
-        final int startMin = 60 * mSchedule.startHour + mSchedule.startMinute;
-        final int endMin = 60 * mSchedule.endHour + mSchedule.endMinute;
-        final boolean nextDay = startMin >= endMin;
-        final int summaryFormat = nextDay ? R.string.zen_mode_end_time_next_day_summary_format : 0;
-        mEnd.setSummaryFormat(summaryFormat);
-    }
-    @Override
-    protected void updateControlsInternal() {
-        updateDays();
-        mStart.setTime(mSchedule.startHour, mSchedule.startMinute);
-        mEnd.setTime(mSchedule.endHour, mSchedule.endMinute);
-        mExitAtAlarm.setChecked(mSchedule.exitAtAlarm);
-        updateEndSummary();
-    }
-
-    @Override
-    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
-        List<AbstractPreferenceController> controllers = new ArrayList<>();
-        mHeader = new ZenAutomaticRuleHeaderPreferenceController(context, this,
-                getSettingsLifecycle());
-        mActionButtons = new ZenRuleButtonsPreferenceController(context, this,
-                getSettingsLifecycle());
-        mSwitch = new ZenAutomaticRuleSwitchPreferenceController(context, this,
-                getSettingsLifecycle());
-        controllers.add(mHeader);
-        controllers.add(mActionButtons);
-        controllers.add(mSwitch);
-        return controllers;
-    }
-
-    @Override
-    public int getMetricsCategory() {
-        return SettingsEnums.NOTIFICATION_ZEN_MODE_SCHEDULE_RULE;
-    }
-
-    @Override
-    public void onDestroy() {
-        super.onDestroy();
-        if (mDayDialog != null && mDayDialog.isShowing()) {
-            mDayDialog.dismiss();
-            mDayDialog = null;
-        }
-    }
-
-    private void showDaysDialog() {
-        mDayDialog = new AlertDialog.Builder(mContext)
-                .setTitle(R.string.zen_mode_schedule_rule_days)
-                .setView(new ZenModeScheduleDaysSelection(mContext, mSchedule.days) {
-                    @Override
-                    protected void onChanged(final int[] days) {
-                        if (mDisableListeners) return;
-                        if (Arrays.equals(days, mSchedule.days)) return;
-                        if (DEBUG) Log.d(TAG, "days.onChanged days=" + Arrays.asList(days));
-                        mSchedule.days = days;
-                        updateRule(ZenModeConfig.toScheduleConditionId(mSchedule));
-                    }
-                })
-                .setOnDismissListener(new OnDismissListener() {
-                    @Override
-                    public void onDismiss(DialogInterface dialog) {
-                        updateDays();
-                    }
-                })
-                .setPositiveButton(R.string.done_button, null)
-                .show();
-    }
-
-    private static class TimePickerPreference extends Preference {
-        private final Context mContext;
-
-        private int mSummaryFormat;
-        private int mHourOfDay;
-        private int mMinute;
-        private Callback mCallback;
-
-        public TimePickerPreference(Context context, final FragmentManager mgr) {
-            super(context);
-            mContext = context;
-            setPersistent(false);
-            setOnPreferenceClickListener(new OnPreferenceClickListener() {
-                @Override
-                public boolean onPreferenceClick(Preference preference) {
-                    final TimePickerFragment frag = new TimePickerFragment();
-                    frag.pref = TimePickerPreference.this;
-                    frag.show(mgr, TimePickerPreference.class.getName());
-                    return true;
-                }
-            });
-        }
-
-        public void setCallback(Callback callback) {
-            mCallback = callback;
-        }
-
-        public void setSummaryFormat(int resId) {
-            mSummaryFormat = resId;
-            updateSummary();
-        }
-
-        public void setTime(int hourOfDay, int minute) {
-            if (mCallback != null && !mCallback.onSetTime(hourOfDay, minute)) return;
-            mHourOfDay = hourOfDay;
-            mMinute = minute;
-            updateSummary();
-        }
-
-        private void updateSummary() {
-            final Calendar c = Calendar.getInstance();
-            c.set(Calendar.HOUR_OF_DAY, mHourOfDay);
-            c.set(Calendar.MINUTE, mMinute);
-            String time = DateFormat.getTimeFormat(mContext).format(c.getTime());
-            if (mSummaryFormat != 0) {
-                time = mContext.getResources().getString(mSummaryFormat, time);
-            }
-            setSummary(time);
-        }
-
-        public static class TimePickerFragment extends InstrumentedDialogFragment implements
-                TimePickerDialog.OnTimeSetListener {
-            public TimePickerPreference pref;
-
-            @Override
-            public int getMetricsCategory() {
-                return SettingsEnums.DIALOG_ZEN_TIMEPICKER;
-            }
-
-            @Override
-            public Dialog onCreateDialog(Bundle savedInstanceState) {
-                final boolean usePref = pref != null && pref.mHourOfDay >= 0 && pref.mMinute >= 0;
-                final Calendar c = Calendar.getInstance();
-                final int hour = usePref ? pref.mHourOfDay : c.get(Calendar.HOUR_OF_DAY);
-                final int minute = usePref ? pref.mMinute : c.get(Calendar.MINUTE);
-                return new TimePickerDialog(getActivity(), this, hour, minute,
-                        DateFormat.is24HourFormat(getActivity()));
-            }
-
-            public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
-                if (pref != null) {
-                    pref.setTime(hourOfDay, minute);
-                }
-            }
-        }
-
-        public interface Callback {
-            boolean onSetTime(int hour, int minute);
-        }
-    }
-}
diff --git a/src/com/android/settings/notification/ZenModeSettings.java b/src/com/android/settings/notification/ZenModeSettings.java
deleted file mode 100644
index f35c649..0000000
--- a/src/com/android/settings/notification/ZenModeSettings.java
+++ /dev/null
@@ -1,340 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.notification;
-
-import static android.app.NotificationManager.Policy.PRIORITY_CATEGORY_ALARMS;
-import static android.app.NotificationManager.Policy.PRIORITY_CATEGORY_CALLS;
-import static android.app.NotificationManager.Policy.PRIORITY_CATEGORY_EVENTS;
-import static android.app.NotificationManager.Policy.PRIORITY_CATEGORY_MEDIA;
-import static android.app.NotificationManager.Policy.PRIORITY_CATEGORY_MESSAGES;
-import static android.app.NotificationManager.Policy.PRIORITY_CATEGORY_REMINDERS;
-import static android.app.NotificationManager.Policy.PRIORITY_CATEGORY_REPEAT_CALLERS;
-import static android.app.NotificationManager.Policy.PRIORITY_CATEGORY_SYSTEM;
-
-import android.app.AutomaticZenRule;
-import android.app.NotificationManager;
-import android.app.NotificationManager.Policy;
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.provider.SearchIndexableResource;
-import android.provider.Settings;
-import android.service.notification.ZenModeConfig;
-
-import androidx.annotation.VisibleForTesting;
-import androidx.fragment.app.FragmentManager;
-
-import com.android.settings.R;
-import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
-import com.android.settingslib.core.AbstractPreferenceController;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-import com.android.settingslib.search.SearchIndexable;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.function.Predicate;
-
-@SearchIndexable
-public class ZenModeSettings extends ZenModeSettingsBase {
-    @Override
-    public void onResume() {
-        super.onResume();
-    }
-
-    @Override
-    protected int getPreferenceScreenResId() {
-        return R.xml.zen_mode_settings;
-    }
-
-    @Override
-    public int getMetricsCategory() {
-        return SettingsEnums.NOTIFICATION_ZEN_MODE;
-    }
-
-    @Override
-    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
-        return buildPreferenceControllers(context, getSettingsLifecycle(), getFragmentManager());
-    }
-
-    @Override
-    public int getHelpResource() {
-        return R.string.help_uri_interruptions;
-    }
-
-    private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
-            Lifecycle lifecycle, FragmentManager fragmentManager) {
-        List<AbstractPreferenceController> controllers = new ArrayList<>();
-        controllers.add(new ZenModeCallsPreferenceController(context, lifecycle,
-                "zen_mode_behavior_calls"));
-        controllers.add(new ZenModeMessagesPreferenceController(context, lifecycle,
-                "zen_mode_behavior_messages"));
-        controllers.add(new ZenModeBlockedEffectsPreferenceController(context, lifecycle));
-        controllers.add(new ZenModeDurationPreferenceController(context, lifecycle));
-        controllers.add(new ZenModeAutomationPreferenceController(context));
-        controllers.add(new ZenModeButtonPreferenceController(context, lifecycle, fragmentManager));
-        controllers.add(new ZenModeSettingsFooterPreferenceController(context, lifecycle,
-                fragmentManager));
-        return controllers;
-    }
-
-    public static class SummaryBuilder {
-
-        private Context mContext;
-
-        public SummaryBuilder(Context context) {
-            mContext = context;
-        }
-
-        // these should match NotificationManager.Policy#ALL_PRIORITY_CATEGORIES
-        private static final int[] ALL_PRIORITY_CATEGORIES = {
-                PRIORITY_CATEGORY_ALARMS,
-                PRIORITY_CATEGORY_MEDIA,
-                PRIORITY_CATEGORY_SYSTEM,
-                PRIORITY_CATEGORY_MESSAGES,
-                PRIORITY_CATEGORY_EVENTS,
-                PRIORITY_CATEGORY_REMINDERS,
-                PRIORITY_CATEGORY_CALLS,
-                PRIORITY_CATEGORY_REPEAT_CALLERS,
-        };
-
-        String getSoundSettingSummary(Policy policy) {
-            List<String> enabledCategories = getEnabledCategories(policy,
-                    category -> PRIORITY_CATEGORY_ALARMS == category
-                            || PRIORITY_CATEGORY_MEDIA == category
-                            || PRIORITY_CATEGORY_SYSTEM == category, false);
-            int numCategories = enabledCategories.size();
-            if (numCategories == 0) {
-                return mContext.getString(R.string.zen_sound_all_muted);
-            } else if (numCategories == 1) {
-                return mContext.getString(R.string.zen_sound_one_allowed,
-                        enabledCategories.get(0));
-            } else if (numCategories == 2) {
-                return mContext.getString(R.string.zen_sound_two_allowed,
-                        enabledCategories.get(0),
-                        enabledCategories.get(1));
-            } else if (numCategories == 3) {
-                return mContext.getString(R.string.zen_sound_three_allowed,
-                        enabledCategories.get(0),
-                        enabledCategories.get(1),
-                        enabledCategories.get(2));
-            } else {
-                return mContext.getString(R.string.zen_sound_none_muted);
-            }
-        }
-
-        String getCallsSettingSummary(Policy policy) {
-            List<String> enabledCategories = getEnabledCategories(policy,
-                    category -> PRIORITY_CATEGORY_CALLS == category
-                            || PRIORITY_CATEGORY_REPEAT_CALLERS == category, false);
-            int numCategories = enabledCategories.size();
-            if (numCategories == 0) {
-                return mContext.getString(R.string.zen_mode_from_none_calls);
-            } else if (numCategories == 1) {
-                return mContext.getString(R.string.zen_mode_calls_summary_one,
-                        enabledCategories.get(0));
-            } else {
-                return mContext.getString(R.string.zen_mode_calls_summary_two,
-                        enabledCategories.get(0),
-                        enabledCategories.get(1));
-            }
-        }
-
-        String getMessagesSettingSummary(Policy policy) {
-            List<String> enabledCategories = getEnabledCategories(policy,
-                    category -> PRIORITY_CATEGORY_MESSAGES == category, false);
-            int numCategories = enabledCategories.size();
-            if (numCategories == 0) {
-                return mContext.getString(R.string.zen_mode_from_none_messages);
-            } else {
-                return enabledCategories.get(0);
-            }
-        }
-
-        String getSoundSummary() {
-            int zenMode = NotificationManager.from(mContext).getZenMode();
-
-            if (zenMode != Settings.Global.ZEN_MODE_OFF) {
-                ZenModeConfig config = NotificationManager.from(mContext).getZenModeConfig();
-                String description = ZenModeConfig.getDescription(mContext, true, config, false);
-
-                if (description == null) {
-                    return mContext.getString(R.string.zen_mode_sound_summary_on);
-                } else {
-                    return mContext.getString(R.string.zen_mode_sound_summary_on_with_info,
-                            description);
-                }
-            } else {
-                final int count = getEnabledAutomaticRulesCount();
-                if (count > 0) {
-                    return mContext.getString(R.string.zen_mode_sound_summary_off_with_info,
-                            mContext.getResources().getQuantityString(
-                                    R.plurals.zen_mode_sound_summary_summary_off_info,
-                                    count, count));
-                }
-
-                return mContext.getString(R.string.zen_mode_sound_summary_off);
-            }
-        }
-
-        String getBlockedEffectsSummary(Policy policy) {
-            if (policy.suppressedVisualEffects == 0) {
-                return mContext.getResources().getString(
-                        R.string.zen_mode_restrict_notifications_summary_muted);
-            } else if (Policy.areAllVisualEffectsSuppressed(policy.suppressedVisualEffects)) {
-                return mContext.getResources().getString(
-                        R.string.zen_mode_restrict_notifications_summary_hidden);
-            } else {
-                return mContext.getResources().getString(
-                        R.string.zen_mode_restrict_notifications_summary_custom);
-            }
-        }
-
-        String getAutomaticRulesSummary() {
-            final int count = getEnabledAutomaticRulesCount();
-            return count == 0 ? mContext.getString(R.string.zen_mode_settings_summary_off)
-                    : mContext.getResources().getQuantityString(
-                            R.plurals.zen_mode_settings_summary_on, count, count);
-        }
-
-        @VisibleForTesting
-        int getEnabledAutomaticRulesCount() {
-            int count = 0;
-            final Map<String, AutomaticZenRule> ruleMap =
-                    NotificationManager.from(mContext).getAutomaticZenRules();
-            if (ruleMap != null) {
-                for (Entry<String, AutomaticZenRule> ruleEntry : ruleMap.entrySet()) {
-                    final AutomaticZenRule rule = ruleEntry.getValue();
-                    if (rule != null && rule.isEnabled()) {
-                        count++;
-                    }
-                }
-            }
-            return count;
-        }
-
-        private List<String> getEnabledCategories(Policy policy,
-                Predicate<Integer> filteredCategories, boolean capitalizeFirstInList) {
-            List<String> enabledCategories = new ArrayList<>();
-            for (int category : ALL_PRIORITY_CATEGORIES) {
-                boolean isFirst = capitalizeFirstInList && enabledCategories.isEmpty();
-                if (filteredCategories.test(category) && isCategoryEnabled(policy, category)) {
-                    if (category == Policy.PRIORITY_CATEGORY_REPEAT_CALLERS
-                            && isCategoryEnabled(policy, Policy.PRIORITY_CATEGORY_CALLS)
-                            && policy.priorityCallSenders == Policy.PRIORITY_SENDERS_ANY) {
-                        continue;
-                    }
-
-                    enabledCategories.add(getCategory(category, policy, isFirst));
-                }
-            }
-            return enabledCategories;
-        }
-
-        private boolean isCategoryEnabled(Policy policy, int categoryType) {
-            return (policy.priorityCategories & categoryType) != 0;
-        }
-
-        private String getCategory(int category, Policy policy, boolean isFirst) {
-            if (category == PRIORITY_CATEGORY_ALARMS) {
-                if (isFirst) {
-                    return mContext.getString(R.string.zen_mode_alarms);
-                } else {
-                    return mContext.getString(R.string.zen_mode_alarms_list);
-                }
-            } else if (category == PRIORITY_CATEGORY_MEDIA) {
-                if (isFirst) {
-                    return mContext.getString(R.string.zen_mode_media);
-                } else {
-                    return mContext.getString(R.string.zen_mode_media_list);
-                }
-            } else if (category == PRIORITY_CATEGORY_SYSTEM) {
-                if (isFirst) {
-                    return mContext.getString(R.string.zen_mode_system);
-                } else {
-                    return mContext.getString(R.string.zen_mode_system_list);
-                }
-            } else if (category == Policy.PRIORITY_CATEGORY_MESSAGES) {
-                if (policy.priorityMessageSenders == Policy.PRIORITY_SENDERS_ANY) {
-                    return mContext.getString(R.string.zen_mode_from_anyone);
-                } else if (policy.priorityMessageSenders == Policy.PRIORITY_SENDERS_CONTACTS){
-                    return mContext.getString(R.string.zen_mode_from_contacts);
-                } else {
-                    return mContext.getString(R.string.zen_mode_from_starred);
-                }
-            } else if (category == Policy.PRIORITY_CATEGORY_EVENTS) {
-                if (isFirst) {
-                    return mContext.getString(R.string.zen_mode_events);
-                } else {
-                    return mContext.getString(R.string.zen_mode_events_list);
-                }
-            } else if (category == Policy.PRIORITY_CATEGORY_REMINDERS) {
-                if (isFirst) {
-                    return mContext.getString(R.string.zen_mode_reminders);
-                } else {
-                    return mContext.getString(R.string.zen_mode_reminders_list);
-                }
-            } else if (category == Policy.PRIORITY_CATEGORY_CALLS) {
-                if (policy.priorityCallSenders == Policy.PRIORITY_SENDERS_ANY) {
-                    return mContext.getString(R.string.zen_mode_all_callers);
-                } else if (policy.priorityCallSenders == Policy.PRIORITY_SENDERS_CONTACTS){
-                    return mContext.getString(R.string.zen_mode_contacts_callers);
-                } else {
-                    return mContext.getString(R.string.zen_mode_starred_callers);
-                }
-            } else if (category == Policy.PRIORITY_CATEGORY_REPEAT_CALLERS) {
-                if (isFirst) {
-                    return mContext.getString(R.string.zen_mode_repeat_callers);
-                } else {
-                    return mContext.getString(R.string.zen_mode_repeat_callers_list);
-                }
-            }
-
-            return "";
-        }
-    }
-
-    /**
-     * For Search.
-     */
-    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
-                        boolean enabled) {
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.zen_mode_settings;
-                    return Arrays.asList(sir);
-                }
-
-                @Override
-                public List<String> getNonIndexableKeys(Context context) {
-                    List<String> keys = super.getNonIndexableKeys(context);
-                    keys.add(ZenModeDurationPreferenceController.KEY);
-                    return keys;
-                }
-
-                @Override
-                public List<AbstractPreferenceController> createPreferenceControllers(Context
-                        context) {
-                    return buildPreferenceControllers(context, null, null);
-                }
-            };
-}
diff --git a/src/com/android/settings/notification/ZenModeSettingsBase.java b/src/com/android/settings/notification/ZenModeSettingsBase.java
deleted file mode 100644
index 3f53879..0000000
--- a/src/com/android/settings/notification/ZenModeSettingsBase.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * Copyright (C) 2015 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.notification;
-
-import android.content.Context;
-import android.database.ContentObserver;
-import android.net.Uri;
-import android.os.Bundle;
-import android.os.Handler;
-import android.os.UserManager;
-import android.provider.Settings;
-import android.provider.Settings.Global;
-import android.util.Log;
-
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.dashboard.RestrictedDashboardFragment;
-import com.android.settingslib.core.AbstractPreferenceController;
-
-abstract public class ZenModeSettingsBase extends RestrictedDashboardFragment {
-    protected static final String TAG = "ZenModeSettings";
-    protected static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
-
-    private final Handler mHandler = new Handler();
-    private final SettingsObserver mSettingsObserver = new SettingsObserver();
-
-    protected Context mContext;
-    protected int mZenMode;
-
-    protected ZenModeBackend mBackend;
-
-    protected void onZenModeConfigChanged() {};
-
-    public ZenModeSettingsBase() {
-        super(UserManager.DISALLOW_ADJUST_VOLUME);
-    }
-
-    @Override
-    protected String getLogTag() {
-        return TAG;
-    }
-
-    @Override
-    public void onAttach(Context context) {
-        super.onAttach(context);
-        mContext = context;
-        mBackend = ZenModeBackend.getInstance(mContext);
-    }
-
-    @Override
-    public void onCreate(Bundle icicle) {
-        super.onCreate(icicle);
-        updateZenMode(false /*fireChanged*/);
-    }
-
-    @Override
-    public void onResume() {
-        super.onResume();
-        updateZenMode(true /*fireChanged*/);
-        mSettingsObserver.register();
-        if (isUiRestricted()) {
-            if (isUiRestrictedByOnlyAdmin()) {
-                getPreferenceScreen().removeAll();
-                return;
-            } else {
-                finish();
-            }
-        }
-    }
-
-    @Override
-    public void onPause() {
-        super.onPause();
-        mSettingsObserver.unregister();
-    }
-
-    private void updateZenMode(boolean fireChanged) {
-        final int zenMode = Settings.Global.getInt(getContentResolver(), Global.ZEN_MODE, mZenMode);
-        if (zenMode == mZenMode) return;
-        mZenMode = zenMode;
-        if (DEBUG) Log.d(TAG, "updateZenMode mZenMode=" + mZenMode + " " + fireChanged);
-    }
-
-    private final class SettingsObserver extends ContentObserver {
-        private final Uri ZEN_MODE_URI = Global.getUriFor(Global.ZEN_MODE);
-        private final Uri ZEN_MODE_CONFIG_ETAG_URI = Global.getUriFor(Global.ZEN_MODE_CONFIG_ETAG);
-
-        private SettingsObserver() {
-            super(mHandler);
-        }
-
-        public void register() {
-            getContentResolver().registerContentObserver(ZEN_MODE_URI, false, this);
-            getContentResolver().registerContentObserver(ZEN_MODE_CONFIG_ETAG_URI, false, this);
-        }
-
-        public void unregister() {
-            getContentResolver().unregisterContentObserver(this);
-        }
-
-        @Override
-        public void onChange(boolean selfChange, Uri uri) {
-            super.onChange(selfChange, uri);
-            if (ZEN_MODE_URI.equals(uri)) {
-                updateZenMode(true /*fireChanged*/);
-            }
-            if (ZEN_MODE_CONFIG_ETAG_URI.equals(uri)) {
-                mBackend.updatePolicy();
-                onZenModeConfigChanged();
-            }
-        }
-    }
-
-    void updatePreference(AbstractPreferenceController controller) {
-        final PreferenceScreen screen = getPreferenceScreen();
-        if (!controller.isAvailable()) {
-            return;
-        }
-        final String key = controller.getPreferenceKey();
-
-        final Preference preference = screen.findPreference(key);
-        if (preference == null) {
-            Log.d(TAG, String.format("Cannot find preference with key %s in Controller %s",
-                    key, controller.getClass().getSimpleName()));
-            return;
-        }
-        controller.updateState(preference);
-    }
-}
diff --git a/src/com/android/settings/notification/ZenModeSettingsFooterPreferenceController.java b/src/com/android/settings/notification/ZenModeSettingsFooterPreferenceController.java
deleted file mode 100644
index e7ce1dd..0000000
--- a/src/com/android/settings/notification/ZenModeSettingsFooterPreferenceController.java
+++ /dev/null
@@ -1,286 +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 android.app.Dialog;
-import android.app.NotificationManager;
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.content.DialogInterface;
-import android.icu.text.ListFormatter;
-import android.net.Uri;
-import android.os.Bundle;
-import android.provider.Settings;
-import android.service.notification.ZenModeConfig;
-import android.text.TextUtils;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.widget.TextView;
-
-import androidx.appcompat.app.AlertDialog;
-import androidx.fragment.app.FragmentManager;
-import androidx.preference.Preference;
-
-import com.android.settings.R;
-import com.android.settings.core.SubSettingLauncher;
-import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
-import com.android.settings.utils.AnnotationSpan;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Objects;
-
-public class ZenModeSettingsFooterPreferenceController extends AbstractZenModePreferenceController {
-    static final String KEY = "footer_preference";
-    private FragmentManager mFragment;
-
-    public ZenModeSettingsFooterPreferenceController(Context context, Lifecycle lifecycle,
-            FragmentManager fragment) {
-        super(context, KEY, lifecycle);
-        mFragment = fragment;
-    }
-
-    @Override
-    public boolean isAvailable() {
-        switch(getZenMode()) {
-            case Settings.Global.ZEN_MODE_ALARMS:
-            case Settings.Global.ZEN_MODE_NO_INTERRUPTIONS:
-            case Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS:
-                return true;
-            case Settings.Global.ZEN_MODE_OFF:
-            default:
-                return false;
-        }
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return KEY;
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        super.updateState(preference);
-
-        boolean isAvailable = isAvailable();
-        preference.setVisible(isAvailable);
-        if (isAvailable) {
-            preference.setTitle(getFooterText());
-        }
-    }
-
-    protected CharSequence getFooterText() {
-        ZenModeConfig config = getZenModeConfig();
-
-        NotificationManager.Policy appliedPolicy = mBackend.getConsolidatedPolicy();
-        NotificationManager.Policy defaultPolicy = config.toNotificationPolicy();
-        final boolean usingCustomPolicy = !Objects.equals(appliedPolicy, defaultPolicy);
-
-        if (usingCustomPolicy) {
-            final List<ZenModeConfig.ZenRule> activeRules = getActiveRules(config);
-            final List<String> rulesNames = new ArrayList<>();
-            for (ZenModeConfig.ZenRule rule : activeRules) {
-                if (rule.name != null) {
-                    rulesNames.add(rule.name);
-                }
-            }
-            if (rulesNames.size() > 0) {
-                String rules = ListFormatter.getInstance().format(rulesNames);
-                if (!rules.isEmpty()) {
-                    final AnnotationSpan.LinkInfo linkInfo = new AnnotationSpan.LinkInfo(
-                            AnnotationSpan.LinkInfo.DEFAULT_ANNOTATION, new View.OnClickListener() {
-                                @Override
-                                public void onClick(View v) {
-                                    showCustomSettingsDialog();
-                                }
-                            });
-                    return TextUtils.concat(mContext.getResources().getString(
-                            R.string.zen_mode_settings_dnd_custom_settings_footer, rules),
-                            AnnotationSpan.linkify(mContext.getResources().getText(
-                            R.string.zen_mode_settings_dnd_custom_settings_footer_link),
-                            linkInfo));
-                }
-            }
-        }
-        return getDefaultPolicyFooter(config);
-    }
-
-    private String getDefaultPolicyFooter(ZenModeConfig config) {
-        String footerText = "";
-        long latestEndTime = -1;
-
-        // DND turned on by manual rule
-        if (config.manualRule != null) {
-            final Uri id = config.manualRule.conditionId;
-            if (config.manualRule.enabler != null) {
-                // app triggered manual rule
-                String appOwner = mZenModeConfigWrapper.getOwnerCaption(config.manualRule.enabler);
-                if (!appOwner.isEmpty()) {
-                    footerText = mContext.getString(
-                            R.string.zen_mode_settings_dnd_automatic_rule_app, appOwner);
-                }
-            } else {
-                if (id == null) {
-                    return mContext.getString(
-                            R.string.zen_mode_settings_dnd_manual_indefinite);
-                } else {
-                    latestEndTime = mZenModeConfigWrapper.parseManualRuleTime(id);
-                    if (latestEndTime > 0) {
-                        final CharSequence formattedTime = mZenModeConfigWrapper.getFormattedTime(
-                                latestEndTime, mContext.getUserId());
-                        footerText = mContext.getString(
-                                R.string.zen_mode_settings_dnd_manual_end_time,
-                                formattedTime);
-                    }
-                }
-            }
-        }
-
-        // DND turned on by an automatic rule
-        for (ZenModeConfig.ZenRule automaticRule : config.automaticRules.values()) {
-            if (automaticRule.isAutomaticActive()) {
-                // set footer if 3rd party rule
-                if (!mZenModeConfigWrapper.isTimeRule(automaticRule.conditionId)) {
-                    return mContext.getString(R.string.zen_mode_settings_dnd_automatic_rule,
-                            automaticRule.name);
-                } else {
-                    // set footer if automatic rule end time is the latest active rule end time
-                    long endTime = mZenModeConfigWrapper.parseAutomaticRuleEndTime(
-                            automaticRule.conditionId);
-                    if (endTime > latestEndTime) {
-                        latestEndTime = endTime;
-                        footerText = mContext.getString(
-                                R.string.zen_mode_settings_dnd_automatic_rule, automaticRule.name);
-                    }
-                }
-            }
-        }
-        return footerText;
-    }
-
-    private List<ZenModeConfig.ZenRule> getActiveRules(ZenModeConfig config) {
-        List<ZenModeConfig.ZenRule> zenRules = new ArrayList<>();
-        if (config.manualRule != null) {
-            zenRules.add(config.manualRule);
-        }
-
-        for (ZenModeConfig.ZenRule automaticRule : config.automaticRules.values()) {
-            if (automaticRule.isAutomaticActive()) {
-                zenRules.add(automaticRule);
-            }
-        }
-        return zenRules;
-    }
-
-    private void showCustomSettingsDialog() {
-        ZenCustomSettingsDialog dialog = new ZenCustomSettingsDialog();
-        dialog.setNotificationPolicy(mBackend.getConsolidatedPolicy());
-        dialog.show(mFragment, ZenCustomSettingsDialog.class.getName());
-    }
-
-    public static class ZenCustomSettingsDialog extends InstrumentedDialogFragment {
-        private String KEY_POLICY = "policy";
-        private NotificationManager.Policy mPolicy;
-        private ZenModeSettings.SummaryBuilder mSummaryBuilder;
-
-        public void setNotificationPolicy(NotificationManager.Policy policy) {
-            mPolicy = policy;
-        }
-
-        @Override
-        public Dialog onCreateDialog(Bundle savedInstanceState) {
-            Context context  = getActivity();
-            if (savedInstanceState != null) {
-                NotificationManager.Policy policy = savedInstanceState.getParcelable(KEY_POLICY);
-                if (policy != null) {
-                    mPolicy = policy;
-                }
-            }
-
-            mSummaryBuilder = new ZenModeSettings.SummaryBuilder(context);
-
-            AlertDialog customSettingsDialog = new AlertDialog.Builder(context)
-                    .setTitle(R.string.zen_custom_settings_dialog_title)
-                    .setNeutralButton(R.string.zen_custom_settings_dialog_review_schedule,
-                            new DialogInterface.OnClickListener() {
-                                @Override
-                                public void onClick(DialogInterface dialog,
-                                        int which) {
-                                    new SubSettingLauncher(context)
-                                            .setDestination(
-                                                    ZenModeAutomationSettings.class.getName())
-                                            .setSourceMetricsCategory(
-                                                    SettingsEnums.NOTIFICATION_ZEN_MODE_AUTOMATION)
-                                            .launch();
-                                }
-                            })
-                    .setPositiveButton(R.string.zen_custom_settings_dialog_ok, null)
-                    .setView(LayoutInflater.from(context).inflate(context.getResources().getLayout(
-                            R.layout.zen_custom_settings_dialog), null, false))
-                    .create();
-
-            customSettingsDialog.setOnShowListener(new DialogInterface.OnShowListener() {
-                @Override
-                public void onShow(DialogInterface dialog) {
-                    TextView allowCallsText = customSettingsDialog.findViewById(
-                            R.id.zen_custom_settings_dialog_calls_allow);
-                    TextView allowMessagesText = customSettingsDialog.findViewById(
-                            R.id.zen_custom_settings_dialog_messages_allow);
-                    TextView allowAlarmsText = customSettingsDialog.findViewById(
-                            R.id.zen_custom_settings_dialog_alarms_allow);
-                    TextView allowMediaText = customSettingsDialog.findViewById(
-                            R.id.zen_custom_settings_dialog_media_allow);
-                    TextView allowSystemText = customSettingsDialog.findViewById(
-                            R.id.zen_custom_settings_dialog_system_allow);
-                    TextView allowRemindersText = customSettingsDialog.findViewById(
-                            R.id.zen_custom_settings_dialog_reminders_allow);
-                    TextView allowEventsText = customSettingsDialog.findViewById(
-                            R.id.zen_custom_settings_dialog_events_allow);
-                    TextView notificationsText = customSettingsDialog.findViewById(
-                            R.id.zen_custom_settings_dialog_show_notifications);
-
-                    allowCallsText.setText(mSummaryBuilder.getCallsSettingSummary(mPolicy));
-                    allowMessagesText.setText(mSummaryBuilder.getMessagesSettingSummary(mPolicy));
-                    allowAlarmsText.setText(getAllowRes(mPolicy.allowAlarms()));
-                    allowMediaText.setText(getAllowRes(mPolicy.allowMedia()));
-                    allowSystemText.setText(getAllowRes(mPolicy.allowSystem()));
-                    allowRemindersText.setText(getAllowRes(mPolicy.allowReminders()));
-                    allowEventsText.setText(getAllowRes(mPolicy.allowEvents()));
-                    notificationsText.setText(mSummaryBuilder.getBlockedEffectsSummary(mPolicy));
-                }
-            });
-
-            return customSettingsDialog;
-        }
-
-        @Override
-        public int getMetricsCategory() {
-            return SettingsEnums.ZEN_CUSTOM_SETTINGS_DIALOG;
-        }
-
-        private int getAllowRes(boolean allow) {
-            return allow ? R.string.zen_mode_sound_summary_on : R.string.zen_mode_sound_summary_off;
-        }
-
-        @Override
-        public void onSaveInstanceState(Bundle outState) {
-            super.onSaveInstanceState(outState);
-            outState.putParcelable(KEY_POLICY, mPolicy);
-        }
-    }
-}
diff --git a/src/com/android/settings/notification/ZenModeSliceBuilder.java b/src/com/android/settings/notification/ZenModeSliceBuilder.java
deleted file mode 100644
index 1109404..0000000
--- a/src/com/android/settings/notification/ZenModeSliceBuilder.java
+++ /dev/null
@@ -1,151 +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.notification;
-
-import static android.app.slice.Slice.EXTRA_TOGGLE_STATE;
-
-import android.annotation.ColorInt;
-import android.app.NotificationManager;
-import android.app.PendingIntent;
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.content.Intent;
-import android.content.IntentFilter;
-import android.net.Uri;
-import android.provider.Settings;
-
-import androidx.core.graphics.drawable.IconCompat;
-import androidx.slice.Slice;
-import androidx.slice.builders.ListBuilder;
-import androidx.slice.builders.ListBuilder.RowBuilder;
-import androidx.slice.builders.SliceAction;
-
-import com.android.settings.R;
-import com.android.settings.SubSettings;
-import com.android.settings.Utils;
-import com.android.settings.slices.CustomSliceRegistry;
-import com.android.settings.slices.SliceBroadcastReceiver;
-import com.android.settings.slices.SliceBuilderUtils;
-
-public class ZenModeSliceBuilder {
-
-    private static final String TAG = "ZenModeSliceBuilder";
-
-    private static final String ZEN_MODE_SLICE_KEY = ZenModeButtonPreferenceController.KEY;
-
-    /**
-     * Action notifying a change on the Zen Mode Slice.
-     */
-    public static final String ACTION_ZEN_MODE_SLICE_CHANGED =
-            "com.android.settings.notification.ZEN_MODE_CHANGED";
-
-    public static final IntentFilter INTENT_FILTER = new IntentFilter();
-
-    static {
-        INTENT_FILTER.addAction(NotificationManager.ACTION_NOTIFICATION_POLICY_CHANGED);
-        INTENT_FILTER.addAction(NotificationManager.ACTION_INTERRUPTION_FILTER_CHANGED);
-        INTENT_FILTER.addAction(NotificationManager.ACTION_INTERRUPTION_FILTER_CHANGED_INTERNAL);
-    }
-
-    private ZenModeSliceBuilder() {
-    }
-
-    /**
-     * Return a ZenMode Slice bound to {@link CustomSliceRegistry#ZEN_MODE_URI}.
-     * <p>
-     * Note that you should register a listener for {@link #INTENT_FILTER} to get changes for
-     * ZenMode.
-     */
-    public static Slice getSlice(Context context) {
-        final boolean isZenModeEnabled = isZenModeEnabled(context);
-        final CharSequence title = context.getText(R.string.zen_mode_settings_title);
-        final CharSequence subtitle = context.getText(R.string.zen_mode_slice_subtitle);
-        @ColorInt final int color = Utils.getColorAccentDefaultColor(context);
-        final PendingIntent toggleAction = getBroadcastIntent(context);
-        final PendingIntent primaryAction = getPrimaryAction(context);
-        final SliceAction primarySliceAction = SliceAction.createDeeplink(primaryAction,
-                (IconCompat) null /* icon */, ListBuilder.ICON_IMAGE, title);
-        final SliceAction toggleSliceAction = SliceAction.createToggle(toggleAction,
-                null /* actionTitle */,
-                isZenModeEnabled);
-
-        return new ListBuilder(context, CustomSliceRegistry.ZEN_MODE_SLICE_URI,
-                ListBuilder.INFINITY)
-                .setAccentColor(color)
-                .addRow(new RowBuilder()
-                        .setTitle(title)
-                        .setSubtitle(subtitle)
-                        .addEndItem(toggleSliceAction)
-                        .setPrimaryAction(primarySliceAction))
-                .build();
-    }
-
-    /**
-     * Update the current ZenMode status to the boolean value keyed by
-     * {@link android.app.slice.Slice#EXTRA_TOGGLE_STATE} on {@param intent}.
-     */
-    public static void handleUriChange(Context context, Intent intent) {
-        final boolean zenModeOn = intent.getBooleanExtra(EXTRA_TOGGLE_STATE, false);
-        final int zenMode;
-        if (zenModeOn) {
-            zenMode = Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS;
-        } else {
-            zenMode = Settings.Global.ZEN_MODE_OFF;
-        }
-        NotificationManager.from(context).setZenMode(zenMode, null /* conditionId */, TAG);
-        // Do not notifyChange on Uri. The service takes longer to update the current value than it
-        // does for the Slice to check the current value again. Let {@link SliceBroadcastRelay}
-        // handle it.
-    }
-
-    public static Intent getIntent(Context context) {
-        final Uri contentUri = new Uri.Builder().appendPath(ZEN_MODE_SLICE_KEY).build();
-        final String screenTitle = context.getText(R.string.zen_mode_settings_title).toString();
-        return SliceBuilderUtils.buildSearchResultPageIntent(context,
-                ZenModeSettings.class.getName(), ZEN_MODE_SLICE_KEY, screenTitle,
-                SettingsEnums.NOTIFICATION_ZEN_MODE)
-                .setClassName(context.getPackageName(), SubSettings.class.getName())
-                .setData(contentUri);
-    }
-
-    private static boolean isZenModeEnabled(Context context) {
-        final NotificationManager manager = context.getSystemService(NotificationManager.class);
-        final int zenMode = manager.getZenMode();
-
-        switch (zenMode) {
-            case Settings.Global.ZEN_MODE_ALARMS:
-            case Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS:
-            case Settings.Global.ZEN_MODE_NO_INTERRUPTIONS:
-                return true;
-            case Settings.Global.ZEN_MODE_OFF:
-            default:
-                return false;
-        }
-    }
-
-    private static PendingIntent getPrimaryAction(Context context) {
-        final Intent intent = getIntent(context);
-        return PendingIntent.getActivity(context, 0 /* requestCode */, intent, 0 /* flags */);
-    }
-
-    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);
-    }
-}
diff --git a/src/com/android/settings/notification/ZenModeSoundVibrationSettings.java b/src/com/android/settings/notification/ZenModeSoundVibrationSettings.java
deleted file mode 100644
index 9f30759..0000000
--- a/src/com/android/settings/notification/ZenModeSoundVibrationSettings.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.notification;
-
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.provider.SearchIndexableResource;
-
-import com.android.settings.R;
-import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
-import com.android.settingslib.core.AbstractPreferenceController;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-import com.android.settingslib.search.SearchIndexable;
-
-import java.util.ArrayList;
-import java.util.List;
-
-@SearchIndexable
-public class ZenModeSoundVibrationSettings extends ZenModeSettingsBase implements Indexable {
-
-    @Override
-    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
-        return buildPreferenceControllers(context, getSettingsLifecycle());
-    }
-
-    private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
-            Lifecycle lifecycle) {
-        List<AbstractPreferenceController> controllers = new ArrayList<>();
-        controllers.add(new ZenModeCallsPreferenceController(context, lifecycle,
-                "zen_mode_calls_settings"));
-        controllers.add(new ZenModeMessagesPreferenceController(context, lifecycle,
-                "zen_mode_messages_settings"));
-        controllers.add(new ZenModeAlarmsPreferenceController(context, lifecycle,
-                "zen_mode_alarms"));
-        controllers.add(new ZenModeMediaPreferenceController(context, lifecycle));
-        controllers.add(new ZenModeSystemPreferenceController(context, lifecycle));
-        controllers.add(new ZenModeRemindersPreferenceController(context, lifecycle));
-        controllers.add(new ZenModeEventsPreferenceController(context, lifecycle));
-        controllers.add(new ZenModeBehaviorFooterPreferenceController(context, lifecycle,
-                R.string.zen_sound_footer));
-        controllers.add(new ZenModeBypassingAppsPreferenceController(context, lifecycle));
-        return controllers;
-    }
-
-    @Override
-    protected int getPreferenceScreenResId() {
-        return R.xml.zen_mode_sound_vibration_settings;
-    }
-
-    @Override
-    public int getMetricsCategory() {
-        return SettingsEnums.NOTIFICATION_ZEN_MODE_PRIORITY;
-    }
-
-    /**
-     * For Search.
-     */
-    public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
-                        boolean enabled) {
-                    final ArrayList<SearchIndexableResource> result = new ArrayList<>();
-
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.zen_mode_sound_vibration_settings;
-                    result.add(sir);
-                    return result;
-                }
-
-                @Override
-                public List<String> getNonIndexableKeys(Context context) {
-                    final List<String> keys = super.getNonIndexableKeys(context);
-                    return keys;
-                }
-
-            @Override
-            public List<AbstractPreferenceController> createPreferenceControllers(Context context) {
-                return buildPreferenceControllers(context, null);
-            }
-        };
-}
diff --git a/src/com/android/settings/notification/ZenModeStarredContactsPreferenceController.java b/src/com/android/settings/notification/ZenModeStarredContactsPreferenceController.java
deleted file mode 100644
index e5982eb..0000000
--- a/src/com/android/settings/notification/ZenModeStarredContactsPreferenceController.java
+++ /dev/null
@@ -1,104 +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.notification;
-
-import static android.app.NotificationManager.Policy.PRIORITY_CATEGORY_CALLS;
-import static android.app.NotificationManager.Policy.PRIORITY_CATEGORY_MESSAGES;
-import static android.app.NotificationManager.Policy.PRIORITY_SENDERS_STARRED;
-
-import android.content.Context;
-import android.content.Intent;
-import android.content.pm.PackageManager;
-import android.provider.Contacts;
-
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-public class ZenModeStarredContactsPreferenceController extends
-        AbstractZenModePreferenceController implements Preference.OnPreferenceClickListener {
-    private Preference mPreference;
-    private final int mPriorityCategory;
-    private final PackageManager mPackageManager;
-
-    private Intent mStarredContactsIntent;
-    private Intent mFallbackIntent;
-
-    public ZenModeStarredContactsPreferenceController(Context context, Lifecycle lifecycle, int
-            priorityCategory, String key) {
-        super(context, key, lifecycle);
-        mPriorityCategory = priorityCategory;
-        mPackageManager = mContext.getPackageManager();
-
-        mStarredContactsIntent = new Intent(Contacts.Intents.UI.LIST_STARRED_ACTION);
-
-        mFallbackIntent =  new Intent(Intent.ACTION_MAIN);
-        mFallbackIntent.addCategory(Intent.CATEGORY_APP_CONTACTS);
-    }
-
-    @Override
-    public void displayPreference(PreferenceScreen screen) {
-        super.displayPreference(screen);
-        mPreference = screen.findPreference(KEY);
-
-        if (mPreference != null) {
-            mPreference.setOnPreferenceClickListener(this);
-        }
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return KEY;
-    }
-
-    @Override
-    public boolean isAvailable() {
-        if (mPriorityCategory == PRIORITY_CATEGORY_CALLS) {
-            return mBackend.isPriorityCategoryEnabled(PRIORITY_CATEGORY_CALLS)
-                    && mBackend.getPriorityCallSenders() == PRIORITY_SENDERS_STARRED
-                    && isIntentValid();
-        } else if (mPriorityCategory == PRIORITY_CATEGORY_MESSAGES) {
-            return mBackend.isPriorityCategoryEnabled(PRIORITY_CATEGORY_MESSAGES)
-                    && mBackend.getPriorityMessageSenders() == PRIORITY_SENDERS_STARRED
-                    && isIntentValid();
-        } else {
-            // invalid category
-            return false;
-        }
-    }
-
-    @Override
-    public CharSequence getSummary() {
-        return mBackend.getStarredContactsSummary();
-    }
-
-    @Override
-    public boolean onPreferenceClick(Preference preference) {
-        if (mStarredContactsIntent.resolveActivity(mPackageManager) != null) {
-            mContext.startActivity(mStarredContactsIntent);
-        } else {
-            mContext.startActivity(mFallbackIntent);
-        }
-        return true;
-    }
-
-    private boolean isIntentValid() {
-        return mStarredContactsIntent.resolveActivity(mPackageManager) != null
-                || mFallbackIntent.resolveActivity(mPackageManager) != null;
-    }
-}
diff --git a/src/com/android/settings/notification/ZenModeSystemPreferenceController.java b/src/com/android/settings/notification/ZenModeSystemPreferenceController.java
deleted file mode 100644
index c2f4060..0000000
--- a/src/com/android/settings/notification/ZenModeSystemPreferenceController.java
+++ /dev/null
@@ -1,82 +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.notification;
-
-import android.app.NotificationManager.Policy;
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.provider.Settings;
-import android.util.Log;
-
-import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
-
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-public class ZenModeSystemPreferenceController extends
-        AbstractZenModePreferenceController implements Preference.OnPreferenceChangeListener {
-
-    protected static final String KEY = "zen_mode_system";
-
-    public ZenModeSystemPreferenceController(Context context, Lifecycle lifecycle) {
-        super(context, KEY, lifecycle);
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return KEY;
-    }
-
-    @Override
-    public boolean isAvailable() {
-        return true;
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        super.updateState(preference);
-
-        SwitchPreference pref = (SwitchPreference) preference;
-        switch (getZenMode()) {
-            case Settings.Global.ZEN_MODE_NO_INTERRUPTIONS:
-                pref.setEnabled(false);
-                pref.setChecked(false);
-                break;
-            case Settings.Global.ZEN_MODE_ALARMS:
-                pref.setEnabled(false);
-                pref.setChecked(false);
-                break;
-            default:
-                pref.setEnabled(true);
-                pref.setChecked(mBackend.isPriorityCategoryEnabled(
-                        Policy.PRIORITY_CATEGORY_SYSTEM));
-        }
-    }
-
-    @Override
-    public boolean onPreferenceChange(Preference preference, Object newValue) {
-        final boolean allowSystem = (Boolean) newValue;
-        if (ZenModeSettingsBase.DEBUG) {
-            Log.d(TAG, "onPrefChange allowSystem=" + allowSystem);
-        }
-
-        mMetricsFeatureProvider.action(mContext, SettingsEnums.ACTION_ZEN_ALLOW_SYSTEM,
-                allowSystem);
-        mBackend.saveSoundPolicy(Policy.PRIORITY_CATEGORY_SYSTEM, allowSystem);
-        return true;
-    }
-}
diff --git a/src/com/android/settings/notification/ZenModeVisEffectPreferenceController.java b/src/com/android/settings/notification/ZenModeVisEffectPreferenceController.java
deleted file mode 100644
index e3098f0..0000000
--- a/src/com/android/settings/notification/ZenModeVisEffectPreferenceController.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.notification;
-
-import android.app.NotificationManager;
-import android.content.Context;
-
-import androidx.preference.CheckBoxPreference;
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settings.widget.DisabledCheckBoxPreference;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-public class ZenModeVisEffectPreferenceController
-        extends AbstractZenModePreferenceController
-        implements Preference.OnPreferenceChangeListener, PreferenceControllerMixin {
-
-    protected final String mKey;
-    protected final int mEffect;
-    protected final int mMetricsCategory;
-    // if any of these effects are suppressed, this effect must be too
-    protected final int[] mParentSuppressedEffects;
-    private PreferenceScreen mScreen;
-
-    public ZenModeVisEffectPreferenceController(Context context, Lifecycle lifecycle, String key,
-            int visualEffect, int metricsCategory, int[] parentSuppressedEffects) {
-        super(context, key, lifecycle);
-        mKey = key;
-        mEffect = visualEffect;
-        mMetricsCategory = metricsCategory;
-        mParentSuppressedEffects = parentSuppressedEffects;
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return mKey;
-    }
-
-    @Override
-    public boolean isAvailable() {
-        if (mEffect == NotificationManager.Policy.SUPPRESSED_EFFECT_LIGHTS) {
-            return mContext.getResources()
-                    .getBoolean(com.android.internal.R.bool.config_intrusiveNotificationLed);
-        }
-        return true;
-    }
-
-    @Override
-    public void displayPreference(PreferenceScreen screen) {
-        mScreen = screen;
-        super.displayPreference(screen);
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        super.updateState(preference);
-        boolean suppressed = mBackend.isVisualEffectSuppressed(mEffect);
-        boolean parentSuppressed = false;
-        if (mParentSuppressedEffects != null) {
-            for (int parentEffect : mParentSuppressedEffects) {
-                parentSuppressed |= mBackend.isVisualEffectSuppressed(parentEffect);
-            }
-        }
-        if (parentSuppressed) {
-            ((CheckBoxPreference) preference).setChecked(parentSuppressed);
-            onPreferenceChange(preference, parentSuppressed);
-            ((DisabledCheckBoxPreference) preference).enableCheckbox(false);
-        } else {
-            ((DisabledCheckBoxPreference) preference).enableCheckbox(true);
-            ((CheckBoxPreference) preference).setChecked(suppressed);
-        }
-    }
-
-    @Override
-    public boolean onPreferenceChange(Preference preference, Object newValue) {
-        final boolean suppressEffect = (Boolean) newValue;
-
-        mMetricsFeatureProvider.action(mContext, mMetricsCategory, suppressEffect);
-        mBackend.saveVisualEffectsPolicy(mEffect, suppressEffect);
-        return true;
-    }
-}
diff --git a/src/com/android/settings/notification/ZenModeVisEffectsAllPreferenceController.java b/src/com/android/settings/notification/ZenModeVisEffectsAllPreferenceController.java
deleted file mode 100644
index 14285d6..0000000
--- a/src/com/android/settings/notification/ZenModeVisEffectsAllPreferenceController.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.notification;
-
-import android.app.NotificationManager.Policy;
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-public class ZenModeVisEffectsAllPreferenceController
-        extends AbstractZenModePreferenceController
-        implements ZenCustomRadioButtonPreference.OnRadioButtonClickListener {
-
-    private ZenCustomRadioButtonPreference mPreference;
-
-    protected static final int EFFECTS = Policy.SUPPRESSED_EFFECT_SCREEN_OFF
-            | Policy.SUPPRESSED_EFFECT_SCREEN_ON
-            | Policy.SUPPRESSED_EFFECT_FULL_SCREEN_INTENT
-            | Policy.SUPPRESSED_EFFECT_LIGHTS
-            | Policy.SUPPRESSED_EFFECT_PEEK
-            | Policy.SUPPRESSED_EFFECT_STATUS_BAR
-            | Policy.SUPPRESSED_EFFECT_BADGE
-            | Policy.SUPPRESSED_EFFECT_AMBIENT
-            | Policy.SUPPRESSED_EFFECT_NOTIFICATION_LIST;
-
-    public ZenModeVisEffectsAllPreferenceController(Context context, Lifecycle lifecycle,
-            String key) {
-        super(context, key, lifecycle);
-    }
-
-    @Override
-    public void displayPreference(PreferenceScreen screen) {
-        super.displayPreference(screen);
-        mPreference = screen.findPreference(getPreferenceKey());
-        mPreference.setOnRadioButtonClickListener(this);
-    }
-
-    @Override
-    public boolean isAvailable() {
-        return true;
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        super.updateState(preference);
-
-        boolean everythingBlocked = Policy.areAllVisualEffectsSuppressed(
-                mBackend.mPolicy.suppressedVisualEffects);
-        mPreference.setChecked(everythingBlocked);
-    }
-
-    @Override
-    public void onRadioButtonClick(ZenCustomRadioButtonPreference p) {
-        mMetricsFeatureProvider.action(mContext,
-                SettingsEnums.ACTION_ZEN_SOUND_AND_VIS_EFFECTS, true);
-        mBackend.saveVisualEffectsPolicy(EFFECTS, true);
-    }
-}
diff --git a/src/com/android/settings/notification/ZenModeVisEffectsCustomPreferenceController.java b/src/com/android/settings/notification/ZenModeVisEffectsCustomPreferenceController.java
deleted file mode 100644
index 837f999..0000000
--- a/src/com/android/settings/notification/ZenModeVisEffectsCustomPreferenceController.java
+++ /dev/null
@@ -1,95 +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.notification;
-
-import android.app.NotificationManager;
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.R;
-import com.android.settings.core.SubSettingLauncher;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-public class ZenModeVisEffectsCustomPreferenceController
-        extends AbstractZenModePreferenceController {
-
-    private ZenCustomRadioButtonPreference mPreference;
-
-    protected static final int INTERRUPTIVE_EFFECTS =
-            NotificationManager.Policy.SUPPRESSED_EFFECT_AMBIENT
-            | NotificationManager.Policy.SUPPRESSED_EFFECT_PEEK
-            | NotificationManager.Policy.SUPPRESSED_EFFECT_LIGHTS
-            | NotificationManager.Policy.SUPPRESSED_EFFECT_FULL_SCREEN_INTENT;
-
-    public ZenModeVisEffectsCustomPreferenceController(Context context, Lifecycle lifecycle,
-            String key) {
-        super(context, key, lifecycle);
-    }
-
-    @Override
-    public boolean isAvailable() {
-        return true;
-    }
-
-    @Override
-    public void displayPreference(PreferenceScreen screen) {
-        super.displayPreference(screen);
-        mPreference = screen.findPreference(getPreferenceKey());
-
-        mPreference.setOnGearClickListener(p -> {
-            launchCustomSettings();
-
-        });
-
-        mPreference.setOnRadioButtonClickListener(p -> {
-            launchCustomSettings();
-        });
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        super.updateState(preference);
-
-        mPreference.setChecked(areCustomOptionsSelected());
-    }
-
-    protected boolean areCustomOptionsSelected() {
-        boolean allEffectsSuppressed =
-                NotificationManager.Policy.areAllVisualEffectsSuppressed(
-                        mBackend.mPolicy.suppressedVisualEffects);
-        boolean noEffectsSuppressed = mBackend.mPolicy.suppressedVisualEffects == 0;
-
-        return !(allEffectsSuppressed || noEffectsSuppressed);
-    }
-
-    protected void select() {
-        mMetricsFeatureProvider.action(mContext,
-                SettingsEnums.ACTION_ZEN_CUSTOM, true);
-    }
-
-    private void launchCustomSettings() {
-        select();
-        new SubSettingLauncher(mContext)
-                .setDestination(ZenModeBlockedEffectsSettings.class.getName())
-                .setTitleRes(R.string.zen_mode_what_to_block_title)
-                .setSourceMetricsCategory(SettingsEnums.SETTINGS_ZEN_NOTIFICATIONS)
-                .launch();
-    }
-}
\ No newline at end of file
diff --git a/src/com/android/settings/notification/ZenModeVisEffectsNonePreferenceController.java b/src/com/android/settings/notification/ZenModeVisEffectsNonePreferenceController.java
deleted file mode 100644
index 4a58c62..0000000
--- a/src/com/android/settings/notification/ZenModeVisEffectsNonePreferenceController.java
+++ /dev/null
@@ -1,75 +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.notification;
-
-import android.app.NotificationManager.Policy;
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-public class ZenModeVisEffectsNonePreferenceController
-        extends AbstractZenModePreferenceController
-        implements ZenCustomRadioButtonPreference.OnRadioButtonClickListener {
-
-    private ZenCustomRadioButtonPreference mPreference;
-
-    protected static final int EFFECTS = Policy.SUPPRESSED_EFFECT_SCREEN_OFF
-            | Policy.SUPPRESSED_EFFECT_SCREEN_ON
-            | Policy.SUPPRESSED_EFFECT_FULL_SCREEN_INTENT
-            | Policy.SUPPRESSED_EFFECT_LIGHTS
-            | Policy.SUPPRESSED_EFFECT_PEEK
-            | Policy.SUPPRESSED_EFFECT_STATUS_BAR
-            | Policy.SUPPRESSED_EFFECT_BADGE
-            | Policy.SUPPRESSED_EFFECT_AMBIENT
-            | Policy.SUPPRESSED_EFFECT_NOTIFICATION_LIST;
-
-    public ZenModeVisEffectsNonePreferenceController(Context context, Lifecycle lifecycle,
-            String key) {
-        super(context, key, lifecycle);
-    }
-
-    @Override
-    public void displayPreference(PreferenceScreen screen) {
-        super.displayPreference(screen);
-        mPreference = screen.findPreference(getPreferenceKey());
-        mPreference.setOnRadioButtonClickListener(this);
-    }
-
-    @Override
-    public boolean isAvailable() {
-        return true;
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        super.updateState(preference);
-
-        boolean nothingBlocked = mBackend.mPolicy.suppressedVisualEffects == 0;
-        mPreference.setChecked(nothingBlocked);
-    }
-
-    @Override
-    public void onRadioButtonClick(ZenCustomRadioButtonPreference preference) {
-        mMetricsFeatureProvider.action(mContext,
-                SettingsEnums.ACTION_ZEN_SOUND_ONLY, true);
-        mBackend.saveVisualEffectsPolicy(EFFECTS, false);
-    }
-}
diff --git a/src/com/android/settings/notification/ZenModeVoiceActivity.java b/src/com/android/settings/notification/ZenModeVoiceActivity.java
deleted file mode 100644
index 0a52c3d..0000000
--- a/src/com/android/settings/notification/ZenModeVoiceActivity.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * Copyright (C) 2015 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.notification;
-
-import static android.provider.Settings.EXTRA_DO_NOT_DISTURB_MODE_ENABLED;
-import static android.provider.Settings.EXTRA_DO_NOT_DISTURB_MODE_MINUTES;
-
-import android.app.NotificationManager;
-import android.content.Context;
-import android.content.Intent;
-import android.content.res.Resources;
-import android.media.AudioManager;
-import android.os.UserHandle;
-import android.provider.Settings.Global;
-import android.service.notification.Condition;
-import android.service.notification.ZenModeConfig;
-import android.text.format.DateFormat;
-import android.util.Log;
-
-import com.android.settings.R;
-import com.android.settings.utils.VoiceSettingsActivity;
-
-import java.util.Locale;
-
-/**
- * Activity for modifying the Zen mode (Do not disturb) by voice
- * using the Voice Interaction API.
- */
-public class ZenModeVoiceActivity extends VoiceSettingsActivity {
-    private static final String TAG = "ZenModeVoiceActivity";
-    private static final int MINUTES_MS = 60 * 1000;
-
-    @Override
-    protected boolean onVoiceSettingInteraction(Intent intent) {
-        if (intent.hasExtra(EXTRA_DO_NOT_DISTURB_MODE_ENABLED)) {
-            int minutes = intent.getIntExtra(EXTRA_DO_NOT_DISTURB_MODE_MINUTES, -1);
-            Condition condition = null;
-            int mode = Global.ZEN_MODE_OFF;
-
-            if (intent.getBooleanExtra(EXTRA_DO_NOT_DISTURB_MODE_ENABLED, false)) {
-                if (minutes > 0) {
-                    condition = ZenModeConfig.toTimeCondition(this, minutes, UserHandle.myUserId());
-                }
-                mode = Global.ZEN_MODE_ALARMS;
-            }
-            setZenModeConfig(mode, condition);
-
-            AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
-            if (audioManager != null) {
-                // Show the current Zen Mode setting.
-                audioManager.adjustStreamVolume(AudioManager.STREAM_NOTIFICATION,
-                         AudioManager.ADJUST_SAME,
-                         AudioManager.FLAG_SHOW_UI);
-            }
-            notifySuccess(getChangeSummary(mode, minutes));
-        } else {
-            Log.v(TAG, "Missing extra android.provider.Settings.EXTRA_DO_NOT_DISTURB_MODE_ENABLED");
-            finish();
-        }
-        return false;
-    }
-
-    private void setZenModeConfig(int mode, Condition condition) {
-        if (condition != null) {
-            NotificationManager.from(this).setZenMode(mode, condition.id, TAG);
-        } else {
-            NotificationManager.from(this).setZenMode(mode, null, TAG);
-        }
-     }
-
-    /**
-     * Produce a summary of the Zen mode change to be read aloud as TTS.
-     */
-    private CharSequence getChangeSummary(int mode, int minutes) {
-        int indefinite = -1;
-        int byMinute = -1;
-        int byHour = -1;
-        int byTime = -1;
-
-        switch (mode) {
-            case Global.ZEN_MODE_ALARMS:
-                indefinite = R.string.zen_mode_summary_alarms_only_indefinite;
-                byMinute = R.plurals.zen_mode_summary_alarms_only_by_minute;
-                byHour = R.plurals.zen_mode_summary_alarms_only_by_hour;
-                byTime = R.string.zen_mode_summary_alarms_only_by_time;
-                break;
-            case Global.ZEN_MODE_OFF:
-                indefinite = R.string.zen_mode_summary_always;
-                break;
-        };
-
-        if (minutes < 0 || mode == Global.ZEN_MODE_OFF) {
-            return getString(indefinite);
-        }
-
-        long time = System.currentTimeMillis() + minutes * MINUTES_MS;
-        String skeleton = DateFormat.is24HourFormat(this, UserHandle.myUserId()) ? "Hm" : "hma";
-        String pattern = DateFormat.getBestDateTimePattern(Locale.getDefault(), skeleton);
-        CharSequence formattedTime = DateFormat.format(pattern, time);
-        Resources res = getResources();
-
-        if (minutes < 60) {
-            return res.getQuantityString(byMinute, minutes, minutes, formattedTime);
-        } else if (minutes % 60 != 0) {
-            return res.getString(byTime, formattedTime);
-        } else {
-            int hours = minutes / 60;
-            return res.getQuantityString(byHour, hours, hours, formattedTime);
-        }
-    }
-}
diff --git a/src/com/android/settings/notification/ZenOnboardingActivity.java b/src/com/android/settings/notification/ZenOnboardingActivity.java
deleted file mode 100644
index 87411c2..0000000
--- a/src/com/android/settings/notification/ZenOnboardingActivity.java
+++ /dev/null
@@ -1,202 +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.notification;
-
-import android.app.Activity;
-import android.app.NotificationManager;
-import android.app.NotificationManager.Policy;
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.content.Intent;
-import android.content.SharedPreferences;
-import android.os.Bundle;
-import android.provider.Settings;
-import android.text.format.DateUtils;
-import android.util.Log;
-import android.view.View;
-import android.widget.RadioButton;
-
-import androidx.annotation.VisibleForTesting;
-
-import com.android.internal.logging.MetricsLogger;
-import com.android.settings.R;
-import com.android.settings.dashboard.suggestions.SuggestionFeatureProvider;
-import com.android.settings.overlay.FeatureFactory;
-
-public class ZenOnboardingActivity extends Activity {
-
-    private static final String TAG = "ZenOnboardingActivity";
-
-    @VisibleForTesting
-    static final String PREF_KEY_SUGGESTION_FIRST_DISPLAY_TIME =
-            "pref_zen_suggestion_first_display_time_ms";
-    @VisibleForTesting
-    static final long ALWAYS_SHOW_THRESHOLD = DateUtils.DAY_IN_MILLIS * 14;
-
-    View mNewSetting;
-    View mKeepCurrentSetting;
-    RadioButton mNewSettingButton;
-    RadioButton mKeepCurrentSettingButton;
-
-    private NotificationManager mNm;
-    private MetricsLogger mMetrics;
-
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setNotificationManager(getSystemService(NotificationManager.class));
-        setMetricsLogger(new MetricsLogger());
-
-        Context context = getApplicationContext();
-        Settings.Secure.putInt(context.getContentResolver(),
-                Settings.Secure.ZEN_SETTINGS_SUGGESTION_VIEWED, 1);
-
-        setupUI();
-    }
-
-    @VisibleForTesting
-    protected void setupUI() {
-        setContentView(R.layout.zen_onboarding);
-
-        mNewSetting = findViewById(R.id.zen_onboarding_new_setting);
-        mKeepCurrentSetting = findViewById(R.id.zen_onboarding_current_setting);
-        mNewSettingButton = findViewById(R.id.zen_onboarding_new_setting_button);
-        mKeepCurrentSettingButton = findViewById(R.id.zen_onboarding_current_setting_button);
-
-        View.OnClickListener newSettingClickListener = new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                mKeepCurrentSettingButton.setChecked(false);
-                mNewSettingButton.setChecked(true);
-            }
-        };
-
-        View.OnClickListener currentSettingClickListener = new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                mKeepCurrentSettingButton.setChecked(true);
-                mNewSettingButton.setChecked(false);
-            }
-        };
-
-        mNewSetting.setOnClickListener(newSettingClickListener);
-        mNewSettingButton.setOnClickListener(newSettingClickListener);
-
-        mKeepCurrentSetting.setOnClickListener(currentSettingClickListener);
-        mKeepCurrentSettingButton.setOnClickListener(currentSettingClickListener);
-
-        mKeepCurrentSettingButton.setChecked(true);
-        mMetrics.visible(SettingsEnums.SETTINGS_ZEN_ONBOARDING);
-    }
-
-    @VisibleForTesting
-    protected void setNotificationManager(NotificationManager nm) {
-        mNm = nm;
-    }
-
-    @VisibleForTesting
-    protected void setMetricsLogger(MetricsLogger ml) {
-        mMetrics = ml;
-    }
-
-    public void launchSettings(View button) {
-        mMetrics.action(SettingsEnums.ACTION_ZEN_ONBOARDING_SETTINGS);
-        Intent settings = new Intent(Settings.ACTION_ZEN_MODE_SETTINGS);
-        settings.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
-        startActivity(settings);
-    }
-
-    public void save(View button) {
-        NotificationManager.Policy policy = mNm.getNotificationPolicy();
-
-        if (mNewSettingButton.isChecked()) {
-            NotificationManager.Policy newPolicy = new NotificationManager.Policy(
-                    Policy.PRIORITY_CATEGORY_REPEAT_CALLERS | policy.priorityCategories,
-                    Policy.PRIORITY_SENDERS_STARRED,
-                    policy.priorityMessageSenders,
-                    NotificationManager.Policy.getAllSuppressedVisualEffects());
-            mNm.setNotificationPolicy(newPolicy);
-            mMetrics.action(SettingsEnums.ACTION_ZEN_ONBOARDING_OK);
-        } else {
-            mMetrics.action(SettingsEnums.ACTION_ZEN_ONBOARDING_KEEP_CURRENT_SETTINGS);
-        }
-
-        Settings.Secure.putInt(getApplicationContext().getContentResolver(),
-                Settings.Secure.ZEN_SETTINGS_UPDATED, 1);
-
-        finishAndRemoveTask();
-    }
-
-    public static boolean isSuggestionComplete(Context context) {
-        if (wasZenUpdated(context)) {
-            return true;
-        }
-
-        if (showSuggestion(context) || withinShowTimeThreshold(context)) {
-            return false;
-        }
-
-        return true;
-    }
-
-    private static boolean wasZenUpdated(Context context) {
-        // ZEN_SETTINGS_UPDATED is true for:
-        // - fresh P+ device
-        // - if zen visual effects values were changed by the user in Settings
-        NotificationManager nm = context.getSystemService(NotificationManager.class);
-        if (NotificationManager.Policy.areAllVisualEffectsSuppressed(
-                nm.getNotificationPolicy().suppressedVisualEffects)) {
-            Settings.Secure.putInt(context.getContentResolver(),
-                    Settings.Secure.ZEN_SETTINGS_UPDATED, 1);
-        }
-        return Settings.Secure.getInt(context.getContentResolver(),
-                Settings.Secure.ZEN_SETTINGS_UPDATED, 0) != 0;
-    }
-
-    private static boolean showSuggestion(Context context) {
-        // SHOW_ZEN_SETTINGS_SUGGESTION is by default true, but false when:
-        // - user manually turns on dnd
-
-        // SHOW_ZEN_SETTINGS_SUGGESTION is also true when:
-        // - automatic rule has started DND and user has not seen the first use dialog
-        return Settings.Secure.getInt(context.getContentResolver(),
-                Settings.Secure.SHOW_ZEN_SETTINGS_SUGGESTION, 0) != 0;
-
-    }
-
-    private static boolean withinShowTimeThreshold(Context context) {
-        final SuggestionFeatureProvider featureProvider = FeatureFactory.getFactory(context)
-                .getSuggestionFeatureProvider(context);
-        final SharedPreferences prefs = featureProvider.getSharedPrefs(context);
-        final long currentTimeMs = System.currentTimeMillis();
-        final long firstDisplayTimeMs;
-
-        if (!prefs.contains(PREF_KEY_SUGGESTION_FIRST_DISPLAY_TIME)) {
-            firstDisplayTimeMs = currentTimeMs;
-            prefs.edit().putLong(PREF_KEY_SUGGESTION_FIRST_DISPLAY_TIME, currentTimeMs).commit();
-        } else {
-            firstDisplayTimeMs = prefs.getLong(PREF_KEY_SUGGESTION_FIRST_DISPLAY_TIME, -1);
-        }
-
-        final long showTimeMs = firstDisplayTimeMs + ALWAYS_SHOW_THRESHOLD;
-        final boolean stillShow = currentTimeMs < showTimeMs;
-
-        Log.d(TAG, "still show zen suggestion based on time: " + stillShow + " showTimeMs="
-            + showTimeMs);
-        return stillShow;
-    }
-}
diff --git a/src/com/android/settings/notification/ZenRuleButtonsPreferenceController.java b/src/com/android/settings/notification/ZenRuleButtonsPreferenceController.java
deleted file mode 100644
index a014ec9..0000000
--- a/src/com/android/settings/notification/ZenRuleButtonsPreferenceController.java
+++ /dev/null
@@ -1,124 +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.notification;
-
-import android.app.AutomaticZenRule;
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.content.Intent;
-import android.os.Bundle;
-import android.text.TextUtils;
-import android.view.View;
-
-import androidx.fragment.app.Fragment;
-import androidx.preference.PreferenceFragmentCompat;
-import androidx.preference.PreferenceScreen;
-
-import com.android.internal.logging.nano.MetricsProto;
-import com.android.settings.R;
-import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settings.core.SubSettingLauncher;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-import com.android.settingslib.widget.ActionButtonsPreference;
-
-public class ZenRuleButtonsPreferenceController extends AbstractZenModePreferenceController
-    implements PreferenceControllerMixin {
-    public static final String KEY = "zen_action_buttons";
-
-    private AutomaticZenRule mRule;
-    private String mId;
-    private PreferenceFragmentCompat mFragment;
-    private ActionButtonsPreference mButtonsPref;
-
-
-    public ZenRuleButtonsPreferenceController(Context context, PreferenceFragmentCompat fragment,
-            Lifecycle lc) {
-        super(context, KEY, lc);
-        mFragment = fragment;
-    }
-
-
-    @Override
-    public boolean isAvailable() {
-        return mRule != null;
-    }
-
-    @Override
-    public void displayPreference(PreferenceScreen screen) {
-        if (isAvailable()) {
-            mButtonsPref = ((ActionButtonsPreference) screen.findPreference(KEY))
-                    .setButton1Text(R.string.zen_mode_rule_name_edit)
-                    .setButton1Icon(com.android.internal.R.drawable.ic_mode_edit)
-                    .setButton1OnClickListener(new EditRuleNameClickListener())
-                    .setButton2Text(R.string.zen_mode_delete_rule_button)
-                    .setButton2Icon(R.drawable.ic_settings_delete)
-                    .setButton2OnClickListener(new DeleteRuleClickListener());
-        }
-    }
-
-    public class EditRuleNameClickListener implements View.OnClickListener {
-        public EditRuleNameClickListener() {}
-
-        @Override
-        public void onClick(View v) {
-            ZenRuleNameDialog.show(mFragment, mRule.getName(), null,
-                    new ZenRuleNameDialog.PositiveClickListener() {
-                        @Override
-                        public void onOk(String ruleName, Fragment parent) {
-                            if (TextUtils.equals(ruleName, mRule.getName())) {
-                                return;
-                            }
-                            mMetricsFeatureProvider.action(mContext,
-                                    SettingsEnums.ACTION_ZEN_MODE_RULE_NAME_CHANGE_OK);
-                            mRule.setName(ruleName);
-                            mRule.setModified(true);
-                            mBackend.updateZenRule(mId, mRule);
-                        }
-                    });
-        }
-    }
-
-    public class DeleteRuleClickListener implements View.OnClickListener {
-        public DeleteRuleClickListener() {}
-
-        @Override
-        public void onClick(View v) {
-            ZenDeleteRuleDialog.show(mFragment, mRule.getName(), mId,
-                    new ZenDeleteRuleDialog.PositiveClickListener() {
-                        @Override
-                        public void onOk(String id) {
-                            Bundle bundle = new Bundle();
-                            bundle.putString(ZenModeAutomationSettings.DELETE, id);
-                            mMetricsFeatureProvider.action(mContext,
-                                    SettingsEnums.ACTION_ZEN_DELETE_RULE_OK);
-                            new SubSettingLauncher(mContext)
-                                    .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
-                                    .setDestination(ZenModeAutomationSettings.class.getName())
-                                    .setSourceMetricsCategory(MetricsProto.MetricsEvent
-                                            .NOTIFICATION_ZEN_MODE_AUTOMATION)
-                                    .setArguments(bundle)
-                                    .launch();
-                        }
-            });
-        }
-    }
-
-    protected void onResume(AutomaticZenRule rule, String id) {
-        mRule = rule;
-        mId = id;
-    }
-}
diff --git a/src/com/android/settings/notification/ZenRuleCallsPreferenceController.java b/src/com/android/settings/notification/ZenRuleCallsPreferenceController.java
deleted file mode 100644
index 87f2db2..0000000
--- a/src/com/android/settings/notification/ZenRuleCallsPreferenceController.java
+++ /dev/null
@@ -1,87 +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.notification;
-
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.service.notification.ZenPolicy;
-import android.text.TextUtils;
-import android.util.Pair;
-
-import androidx.annotation.VisibleForTesting;
-import androidx.preference.ListPreference;
-import androidx.preference.Preference;
-
-import com.android.internal.logging.nano.MetricsProto;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-public class ZenRuleCallsPreferenceController extends AbstractZenCustomRulePreferenceController
-        implements Preference.OnPreferenceChangeListener {
-
-    private final String[] mListValues;
-
-    public ZenRuleCallsPreferenceController(Context context, String key, Lifecycle lifecycle) {
-        super(context, key, lifecycle);
-        mListValues = context.getResources().getStringArray(
-                com.android.settings.R.array.zen_mode_contacts_values);
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        super.updateState(preference);
-        updateFromContactsValue(preference);
-    }
-
-    @Override
-    public boolean onPreferenceChange(Preference preference, Object selectedContactsFrom) {
-        int allowCalls = ZenModeBackend.getZenPolicySettingFromPrefKey(
-                selectedContactsFrom.toString());
-        mMetricsFeatureProvider.action(mContext, SettingsEnums.ACTION_ZEN_ALLOW_CALLS,
-                Pair.create(MetricsProto.MetricsEvent.FIELD_ZEN_TOGGLE_EXCEPTION, allowCalls),
-                Pair.create(MetricsProto.MetricsEvent.FIELD_ZEN_RULE_ID, mId));
-        mRule.setZenPolicy(new ZenPolicy.Builder(mRule.getZenPolicy())
-                .allowCalls(allowCalls)
-                .build());
-        mBackend.updateZenRule(mId, mRule);
-        updateFromContactsValue(preference);
-        return true;
-    }
-
-    private void updateFromContactsValue(Preference preference) {
-        if (mRule == null || mRule.getZenPolicy() == null) {
-            return;
-        }
-        ListPreference listPreference = (ListPreference) preference;
-        listPreference.setSummary(mBackend.getContactsCallsSummary(mRule.getZenPolicy()));
-        final String currentVal = ZenModeBackend.getKeyFromZenPolicySetting(
-                mRule.getZenPolicy().getPriorityCallSenders());
-        listPreference.setValue(mListValues[getIndexOfSendersValue(currentVal)]);
-
-    }
-
-    @VisibleForTesting
-    protected int getIndexOfSendersValue(String currentVal) {
-        int index = 3; // defaults to "none" based on R.array.zen_mode_contacts_values
-        for (int i = 0; i < mListValues.length; i++) {
-            if (TextUtils.equals(currentVal, mListValues[i])) {
-                return i;
-            }
-        }
-
-        return index;
-    }
-}
diff --git a/src/com/android/settings/notification/ZenRuleCustomPolicyPreferenceController.java b/src/com/android/settings/notification/ZenRuleCustomPolicyPreferenceController.java
deleted file mode 100644
index 527803df..0000000
--- a/src/com/android/settings/notification/ZenRuleCustomPolicyPreferenceController.java
+++ /dev/null
@@ -1,80 +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.notification;
-
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.service.notification.ZenPolicy;
-
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.core.SubSettingLauncher;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-public class ZenRuleCustomPolicyPreferenceController extends
-        AbstractZenCustomRulePreferenceController {
-
-    private ZenCustomRadioButtonPreference mPreference;
-
-    public ZenRuleCustomPolicyPreferenceController(Context context, Lifecycle lifecycle,
-            String key) {
-        super(context, key, lifecycle);
-    }
-
-    @Override
-    public void displayPreference(PreferenceScreen screen) {
-        super.displayPreference(screen);
-        mPreference = screen.findPreference(getPreferenceKey());
-
-        mPreference.setOnGearClickListener(p -> {
-            setCustomPolicy();
-            launchCustomSettings();
-
-        });
-
-        mPreference.setOnRadioButtonClickListener(p -> {
-            setCustomPolicy();
-            launchCustomSettings();
-        });
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        super.updateState(preference);
-        if (mId == null || mRule == null) {
-            return;
-        }
-
-        mPreference.setChecked(mRule.getZenPolicy() != null);
-    }
-
-    private void setCustomPolicy() {
-        if (mRule.getZenPolicy() == null) {
-            mRule.setZenPolicy(mBackend.setDefaultZenPolicy(new ZenPolicy()));
-            mBackend.updateZenRule(mId, mRule);
-        }
-    }
-
-    private void launchCustomSettings() {
-        new SubSettingLauncher(mContext)
-                .setDestination(ZenCustomRuleConfigSettings.class.getName())
-                .setArguments(createBundle())
-                .setSourceMetricsCategory(SettingsEnums.ZEN_CUSTOM_RULE_SOUND_SETTINGS)
-                .launch();
-    }
-}
\ No newline at end of file
diff --git a/src/com/android/settings/notification/ZenRuleCustomSwitchPreferenceController.java b/src/com/android/settings/notification/ZenRuleCustomSwitchPreferenceController.java
deleted file mode 100644
index 69aa81e..0000000
--- a/src/com/android/settings/notification/ZenRuleCustomSwitchPreferenceController.java
+++ /dev/null
@@ -1,71 +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 android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.service.notification.ZenPolicy;
-import android.util.Log;
-import android.util.Pair;
-
-import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
-
-import com.android.internal.logging.nano.MetricsProto;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-public class ZenRuleCustomSwitchPreferenceController extends
-        AbstractZenCustomRulePreferenceController implements Preference.OnPreferenceChangeListener {
-
-    private @ZenPolicy.PriorityCategory int mCategory;
-    private int mMetricsCategory;
-
-    public ZenRuleCustomSwitchPreferenceController(Context context, Lifecycle lifecycle,
-            String key, @ZenPolicy.PriorityCategory int category, int metricsCategory) {
-        super(context, key, lifecycle);
-        mCategory = category;
-        mMetricsCategory = metricsCategory;
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        super.updateState(preference);
-        if (mRule == null || mRule.getZenPolicy() == null) {
-            return;
-        }
-
-        SwitchPreference pref = (SwitchPreference) preference;
-        pref.setChecked(mRule.getZenPolicy().isCategoryAllowed(mCategory, false));
-    }
-
-    @Override
-    public boolean onPreferenceChange(Preference preference, Object newValue) {
-        final boolean allow = (Boolean) newValue;
-        if (ZenModeSettingsBase.DEBUG) {
-            Log.d(TAG, KEY + " onPrefChange mRule=" + mRule + " mCategory=" + mCategory
-                    + " allow=" + allow);
-        }
-        mMetricsFeatureProvider.action(mContext, mMetricsCategory,
-                Pair.create(MetricsProto.MetricsEvent.FIELD_ZEN_TOGGLE_EXCEPTION, allow ? 1 : 0),
-                Pair.create(MetricsProto.MetricsEvent.FIELD_ZEN_RULE_ID, mId));
-        mRule.setZenPolicy(new ZenPolicy.Builder(mRule.getZenPolicy())
-                .allowCategory(mCategory, allow)
-                .build());
-        mBackend.updateZenRule(mId, mRule);
-        return true;
-    }
-}
diff --git a/src/com/android/settings/notification/ZenRuleDefaultPolicyPreferenceController.java b/src/com/android/settings/notification/ZenRuleDefaultPolicyPreferenceController.java
deleted file mode 100644
index b4036fa..0000000
--- a/src/com/android/settings/notification/ZenRuleDefaultPolicyPreferenceController.java
+++ /dev/null
@@ -1,61 +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.notification;
-
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.util.Pair;
-
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.internal.logging.nano.MetricsProto;
-import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-public class ZenRuleDefaultPolicyPreferenceController extends
-        AbstractZenCustomRulePreferenceController implements PreferenceControllerMixin {
-
-    private ZenCustomRadioButtonPreference mPreference;
-
-    public ZenRuleDefaultPolicyPreferenceController(Context context, Lifecycle lifecycle,
-            String key) {
-        super(context, key, lifecycle);
-    }
-
-    @Override
-    public void displayPreference(PreferenceScreen screen) {
-        super.displayPreference(screen);
-        mPreference = screen.findPreference(getPreferenceKey());
-
-        mPreference.setOnRadioButtonClickListener(p -> {
-            mRule.setZenPolicy(null);
-            mBackend.updateZenRule(mId, mRule);
-        });
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        super.updateState(preference);
-        if (mId == null || mRule == null) {
-            return;
-        }
-        mMetricsFeatureProvider.action(mContext, SettingsEnums.ZEN_CUSTOM_RULE_DEFAULT_SETTINGS,
-                Pair.create(MetricsProto.MetricsEvent.FIELD_ZEN_RULE_ID, mId));
-        mPreference.setChecked(mRule.getZenPolicy() == null);
-    }
-}
\ No newline at end of file
diff --git a/src/com/android/settings/notification/ZenRuleInfo.java b/src/com/android/settings/notification/ZenRuleInfo.java
deleted file mode 100644
index 1a1539b..0000000
--- a/src/com/android/settings/notification/ZenRuleInfo.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package com.android.settings.notification;
-
-import android.content.ComponentName;
-import android.net.Uri;
-
-public class ZenRuleInfo {
-    @Override
-    public boolean equals(Object o) {
-        if (this == o) return true;
-        if (o == null || getClass() != o.getClass()) return false;
-
-        ZenRuleInfo that = (ZenRuleInfo) o;
-
-        if (isSystem != that.isSystem) return false;
-        if (ruleInstanceLimit != that.ruleInstanceLimit) return false;
-        if (packageName != null ? !packageName.equals(that.packageName) : that.packageName != null)
-            return false;
-        if (title != null ? !title.equals(that.title) : that.title != null) return false;
-        if (settingsAction != null ? !settingsAction.equals(
-                that.settingsAction) : that.settingsAction != null) return false;
-        if (configurationActivity != null ? !configurationActivity.equals(
-                that.configurationActivity) : that.configurationActivity != null) return false;
-        if (defaultConditionId != null ? !defaultConditionId.equals(
-                that.defaultConditionId) : that.defaultConditionId != null) return false;
-        if (serviceComponent != null ? !serviceComponent.equals(
-                that.serviceComponent) : that.serviceComponent != null) return false;
-        if (id != null ? !id.equals(that.id) : that.id != null)
-            return false;
-        return packageLabel != null ? packageLabel.equals(
-                that.packageLabel) : that.packageLabel == null;
-
-    }
-
-    public String packageName;
-    public String title;
-    public String settingsAction;
-    public ComponentName configurationActivity;
-    public Uri defaultConditionId;
-    public ComponentName serviceComponent;
-    public boolean isSystem;
-    public CharSequence packageLabel;
-    public int ruleInstanceLimit = -1;
-    public String id;
-}
diff --git a/src/com/android/settings/notification/ZenRuleMessagesPreferenceController.java b/src/com/android/settings/notification/ZenRuleMessagesPreferenceController.java
deleted file mode 100644
index 59ad3a8..0000000
--- a/src/com/android/settings/notification/ZenRuleMessagesPreferenceController.java
+++ /dev/null
@@ -1,88 +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.notification;
-
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.service.notification.ZenPolicy;
-import android.text.TextUtils;
-import android.util.Pair;
-
-import androidx.annotation.VisibleForTesting;
-import androidx.preference.ListPreference;
-import androidx.preference.Preference;
-
-import com.android.internal.logging.nano.MetricsProto;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-public class ZenRuleMessagesPreferenceController extends AbstractZenCustomRulePreferenceController
-        implements Preference.OnPreferenceChangeListener {
-
-    private final String[] mListValues;
-
-    public ZenRuleMessagesPreferenceController(Context context, String key, Lifecycle lifecycle) {
-        super(context, key, lifecycle);
-        mListValues = context.getResources().getStringArray(
-                com.android.settings.R.array.zen_mode_contacts_values);
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        super.updateState(preference);
-        updateFromContactsValue(preference);
-    }
-
-    @Override
-    public boolean onPreferenceChange(Preference preference, Object selectedContactsFrom) {
-        int allowMessages = ZenModeBackend.getZenPolicySettingFromPrefKey(
-                selectedContactsFrom.toString());
-        mMetricsFeatureProvider.action(mContext,
-                SettingsEnums.ACTION_ZEN_ALLOW_MESSAGES,
-                Pair.create(MetricsProto.MetricsEvent.FIELD_ZEN_TOGGLE_EXCEPTION, allowMessages),
-                Pair.create(MetricsProto.MetricsEvent.FIELD_ZEN_RULE_ID, mId));
-        mRule.setZenPolicy(new ZenPolicy.Builder(mRule.getZenPolicy())
-                .allowMessages(allowMessages)
-                .build());
-        mBackend.updateZenRule(mId, mRule);
-        updateFromContactsValue(preference);
-        return true;
-    }
-
-    private void updateFromContactsValue(Preference preference) {
-        if (mRule == null || mRule.getZenPolicy() == null) {
-            return;
-        }
-        ListPreference listPreference = (ListPreference) preference;
-        listPreference.setSummary(mBackend.getContactsMessagesSummary(mRule.getZenPolicy()));
-        final String currentVal = ZenModeBackend.getKeyFromZenPolicySetting(
-                mRule.getZenPolicy().getPriorityMessageSenders());
-        listPreference.setValue(mListValues[getIndexOfSendersValue(currentVal)]);
-
-    }
-
-    @VisibleForTesting
-    protected int getIndexOfSendersValue(String currentVal) {
-        int index = 3; // defaults to "none" based on R.array.zen_mode_contacts_values
-        for (int i = 0; i < mListValues.length; i++) {
-            if (TextUtils.equals(currentVal, mListValues[i])) {
-                return i;
-            }
-        }
-
-        return index;
-    }
-}
diff --git a/src/com/android/settings/notification/ZenRuleNameDialog.java b/src/com/android/settings/notification/ZenRuleNameDialog.java
deleted file mode 100644
index edb3035..0000000
--- a/src/com/android/settings/notification/ZenRuleNameDialog.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * Copyright (C) 2015 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.notification;
-
-import android.app.Dialog;
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.content.DialogInterface;
-import android.net.Uri;
-import android.os.Bundle;
-import android.service.notification.ZenModeConfig;
-import android.text.TextUtils;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.widget.EditText;
-
-import androidx.appcompat.app.AlertDialog;
-import androidx.fragment.app.Fragment;
-
-import com.android.settings.R;
-import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
-
-public class ZenRuleNameDialog extends InstrumentedDialogFragment {
-    protected static final String TAG = "ZenRuleNameDialog";
-    private static final String EXTRA_ZEN_RULE_NAME = "zen_rule_name";
-    private static final String EXTRA_CONDITION_ID = "extra_zen_condition_id";
-    protected static PositiveClickListener mPositiveClickListener;
-
-    @Override
-    public int getMetricsCategory() {
-        return SettingsEnums.NOTIFICATION_ZEN_MODE_RULE_NAME_DIALOG;
-    }
-
-    /**
-     * The interface we expect a listener to implement.
-     */
-    public interface PositiveClickListener {
-        void onOk(String newName, Fragment parent);
-    }
-
-    public static void show(Fragment parent, String ruleName, Uri conditionId, PositiveClickListener
-            listener) {
-        final Bundle args = new Bundle();
-        args.putString(EXTRA_ZEN_RULE_NAME, ruleName);
-        args.putParcelable(EXTRA_CONDITION_ID, conditionId);
-        mPositiveClickListener = listener;
-
-        ZenRuleNameDialog dialog = new ZenRuleNameDialog();
-        dialog.setArguments(args);
-        dialog.setTargetFragment(parent, 0);
-        dialog.show(parent.getFragmentManager(), TAG);
-    }
-
-    @Override
-    public Dialog onCreateDialog(Bundle savedInstanceState) {
-        Bundle arguments = getArguments();
-        Uri conditionId = arguments.getParcelable(EXTRA_CONDITION_ID);
-        String ruleName = arguments.getString(EXTRA_ZEN_RULE_NAME);
-
-        boolean isNew = ruleName == null;
-        CharSequence originalRuleName = ruleName;
-        Context context = getContext();
-        final View v = LayoutInflater.from(context).inflate(R.layout.zen_rule_name, null,
-                false);
-        EditText editText = (EditText) v.findViewById(R.id.zen_mode_rule_name);
-        if (!isNew) {
-            // set text to current rule name
-            editText.setText(ruleName);
-            // move cursor to end of text
-            editText.setSelection(editText.getText().length());
-        }
-        editText.setSelectAllOnFocus(true);
-        return new AlertDialog.Builder(context)
-                .setTitle(getTitleResource(conditionId, isNew))
-                .setView(v)
-                .setPositiveButton(isNew ? R.string.zen_mode_add : R.string.okay,
-                        new DialogInterface.OnClickListener() {
-                            @Override
-                            public void onClick(DialogInterface dialog, int which) {
-                                final String newName = trimmedText(editText);
-                                if (TextUtils.isEmpty(newName)) {
-                                    return;
-                                }
-                                if (!isNew && originalRuleName != null
-                                        && originalRuleName.equals(newName)) {
-                                    return;  // no change to an existing rule, just dismiss
-                                }
-                               mPositiveClickListener.onOk(newName, getTargetFragment());
-                            }
-                        })
-                .setNegativeButton(R.string.cancel, null)
-                .create();
-    }
-
-    private String trimmedText(EditText editText) {
-        return editText.getText() == null ? null : editText.getText().toString().trim();
-    }
-
-    private int getTitleResource(Uri conditionId, boolean isNew) {
-        final boolean isEvent = ZenModeConfig.isValidEventConditionId(conditionId);
-        final boolean isTime = ZenModeConfig.isValidScheduleConditionId(conditionId);
-        int titleResource =  R.string.zen_mode_rule_name;
-        if (isNew) {
-            if (isEvent) {
-                titleResource = R.string.zen_mode_add_event_rule;
-            } else if (isTime) {
-                titleResource = R.string.zen_mode_add_time_rule;
-            }
-        }
-        return titleResource;
-    }
-}
diff --git a/src/com/android/settings/notification/ZenRuleNotifFooterPreferenceController.java b/src/com/android/settings/notification/ZenRuleNotifFooterPreferenceController.java
deleted file mode 100644
index 678bf90..0000000
--- a/src/com/android/settings/notification/ZenRuleNotifFooterPreferenceController.java
+++ /dev/null
@@ -1,60 +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.notification;
-
-import android.content.Context;
-
-import androidx.preference.Preference;
-
-import com.android.settings.R;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-public class ZenRuleNotifFooterPreferenceController extends
-        AbstractZenCustomRulePreferenceController {
-
-    public ZenRuleNotifFooterPreferenceController(Context context, Lifecycle lifecycle,
-            String key) {
-        super(context, key, lifecycle);
-    }
-
-    @Override
-    public boolean isAvailable() {
-        if (!super.isAvailable() || mRule.getZenPolicy() == null) {
-            return false;
-        }
-
-
-        return mRule.getZenPolicy().shouldHideAllVisualEffects()
-                || mRule.getZenPolicy().shouldShowAllVisualEffects();
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        super.updateState(preference);
-        if (mRule == null || mRule.getZenPolicy() == null) {
-            return;
-        }
-
-        if (mRule.getZenPolicy().shouldShowAllVisualEffects()) {
-            preference.setTitle(R.string.zen_mode_restrict_notifications_mute_footer);
-        } else if (mRule.getZenPolicy().shouldHideAllVisualEffects()) {
-            preference.setTitle(R.string.zen_mode_restrict_notifications_hide_footer);
-        } else {
-            preference.setTitle(null);
-        }
-    }
-}
diff --git a/src/com/android/settings/notification/ZenRulePreference.java b/src/com/android/settings/notification/ZenRulePreference.java
deleted file mode 100644
index fb6e92a..0000000
--- a/src/com/android/settings/notification/ZenRulePreference.java
+++ /dev/null
@@ -1,185 +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 android.app.AutomaticZenRule;
-import android.content.ComponentName;
-import android.content.Context;
-import android.content.Intent;
-import android.content.pm.ComponentInfo;
-import android.content.pm.PackageManager;
-import android.service.notification.ZenModeConfig;
-import android.view.View;
-import android.widget.CheckBox;
-
-import androidx.fragment.app.Fragment;
-import androidx.preference.Preference;
-import androidx.preference.PreferenceViewHolder;
-
-import com.android.settings.R;
-import com.android.settings.utils.ManagedServiceSettings;
-import com.android.settings.utils.ZenServiceListing;
-import com.android.settingslib.TwoTargetPreference;
-import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
-
-import java.util.Map;
-
-public class ZenRulePreference extends TwoTargetPreference {
-    private static final ManagedServiceSettings.Config CONFIG =
-            ZenModeAutomationSettings.getConditionProviderConfig();
-    final String mId;
-    final Fragment mParent;
-    final Preference mPref;
-    final Context mContext;
-    final ZenModeBackend mBackend;
-    final ZenServiceListing mServiceListing;
-    final PackageManager mPm;
-    final MetricsFeatureProvider mMetricsFeatureProvider;
-    AutomaticZenRule mRule;
-    CharSequence mName;
-
-    private Intent mIntent;
-    private boolean mChecked;
-    private CheckBox mCheckBox;
-
-    public ZenRulePreference(Context context,
-            final Map.Entry<String, AutomaticZenRule> ruleEntry,
-            Fragment parent, MetricsFeatureProvider metricsProvider) {
-        super(context);
-        setLayoutResource(R.layout.preference_checkable_two_target);
-        mBackend = ZenModeBackend.getInstance(context);
-        mContext = context;
-        mRule = ruleEntry.getValue();
-        mName = mRule.getName();
-        mId = ruleEntry.getKey();
-        mParent = parent;
-        mPm = mContext.getPackageManager();
-        mServiceListing = new ZenServiceListing(mContext, CONFIG);
-        mServiceListing.reloadApprovedServices();
-        mPref = this;
-        mMetricsFeatureProvider = metricsProvider;
-        mChecked = mRule.isEnabled();
-        setAttributes(mRule);
-        setWidgetLayoutResource(getSecondTargetResId());
-    }
-
-    protected int getSecondTargetResId() {
-        if (mIntent != null) {
-            return R.layout.zen_rule_widget;
-        }
-        return 0;
-    }
-
-    @Override
-    public void onBindViewHolder(PreferenceViewHolder view) {
-        super.onBindViewHolder(view);
-        View settingsWidget = view.findViewById(android.R.id.widget_frame);
-        View divider = view.findViewById(R.id.two_target_divider);
-        if (mIntent != null) {
-            divider.setVisibility(View.VISIBLE);
-            settingsWidget.setVisibility(View.VISIBLE);
-            settingsWidget.setOnClickListener(new View.OnClickListener() {
-                @Override
-                public void onClick(View v) {
-                    mContext.startActivity(mIntent);
-                }
-            });
-        } else {
-            divider.setVisibility(View.GONE);
-            settingsWidget.setVisibility(View.GONE);
-            settingsWidget.setOnClickListener(null);
-        }
-
-        View checkboxContainer = view.findViewById(R.id.checkbox_container);
-        if (checkboxContainer != null) {
-            checkboxContainer.setOnClickListener(mOnCheckBoxClickListener);
-        }
-        mCheckBox = (CheckBox) view.findViewById(com.android.internal.R.id.checkbox);
-        if (mCheckBox != null) {
-            mCheckBox.setChecked(mChecked);
-        }
-    }
-
-    public boolean isChecked() {
-        return mChecked;
-    }
-
-    public void updatePreference(AutomaticZenRule rule) {
-        if (!mRule.getName().equals(rule.getName())) {
-            mName = rule.getName();
-            setTitle(mName);
-        }
-
-        if (mRule.isEnabled() != rule.isEnabled()) {
-            setChecked(mRule.isEnabled());
-            setSummary(computeRuleSummary(mRule));
-        }
-
-        mRule = rule;
-    }
-
-    @Override
-    public void onClick() {
-        mOnCheckBoxClickListener.onClick(null);
-    }
-
-    private void setChecked(boolean checked) {
-        mChecked = checked;
-        if (mCheckBox != null) {
-            mCheckBox.setChecked(checked);
-        }
-    }
-
-    private View.OnClickListener mOnCheckBoxClickListener = new View.OnClickListener() {
-        @Override
-        public void onClick(View v) {
-            mRule.setEnabled(!mChecked);
-            mBackend.updateZenRule(mId, mRule);
-            setChecked(mRule.isEnabled());
-            setAttributes(mRule);
-        }
-    };
-
-    protected void setAttributes(AutomaticZenRule rule) {
-        final boolean isSchedule = ZenModeConfig.isValidScheduleConditionId(
-                rule.getConditionId(), true);
-        final boolean isEvent = ZenModeConfig.isValidEventConditionId(rule.getConditionId());
-
-        setSummary(computeRuleSummary(rule));
-
-        setTitle(mName);
-        setPersistent(false);
-
-        final String action = isSchedule ? ZenModeScheduleRuleSettings.ACTION
-                : isEvent ? ZenModeEventRuleSettings.ACTION : "";
-        ComponentInfo si = mServiceListing.findService(rule.getOwner());
-        ComponentName settingsActivity = AbstractZenModeAutomaticRulePreferenceController.
-                getSettingsActivity(rule, si);
-        mIntent = AbstractZenModeAutomaticRulePreferenceController.getRuleIntent(action,
-                settingsActivity, mId);
-        if (mIntent.resolveActivity(mPm) == null) {
-            mIntent = null;
-        }
-        setKey(mId);
-    }
-
-    private String computeRuleSummary(AutomaticZenRule rule) {
-        return (rule == null || !rule.isEnabled())
-                ? mContext.getResources().getString(R.string.switch_off_text)
-                : mContext.getResources().getString(R.string.switch_on_text);
-    }
-}
diff --git a/src/com/android/settings/notification/ZenRuleRepeatCallersPreferenceController.java b/src/com/android/settings/notification/ZenRuleRepeatCallersPreferenceController.java
deleted file mode 100644
index 7f3b063..0000000
--- a/src/com/android/settings/notification/ZenRuleRepeatCallersPreferenceController.java
+++ /dev/null
@@ -1,92 +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.notification;
-
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.service.notification.ZenPolicy;
-import android.util.Log;
-import android.util.Pair;
-
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
-
-import com.android.internal.logging.nano.MetricsProto;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-public class ZenRuleRepeatCallersPreferenceController extends
-        AbstractZenCustomRulePreferenceController implements Preference.OnPreferenceChangeListener {
-
-    private final int mRepeatCallersThreshold;
-
-    public ZenRuleRepeatCallersPreferenceController(Context context,
-            String key, Lifecycle lifecycle, int repeatCallersThreshold) {
-        super(context, key, lifecycle);
-        mRepeatCallersThreshold = repeatCallersThreshold;
-    }
-
-    @Override
-    public void displayPreference(PreferenceScreen screen) {
-        super.displayPreference(screen);
-        setRepeatCallerSummary(screen.findPreference(KEY));
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        super.updateState(preference);
-        if (mRule == null || mRule.getZenPolicy() == null) {
-            return;
-        }
-
-        SwitchPreference pref = (SwitchPreference) preference;
-        boolean anyCallersCanBypassDnd = mRule.getZenPolicy().getPriorityCallSenders()
-                == ZenPolicy.PEOPLE_TYPE_ANYONE;
-
-        // if any caller can bypass dnd then repeat callers preference is disabled
-        if (anyCallersCanBypassDnd) {
-            pref.setEnabled(false);
-            pref.setChecked(true);
-        } else {
-            pref.setEnabled(true);
-            pref.setChecked(mRule.getZenPolicy().getPriorityCategoryRepeatCallers()
-                    == ZenPolicy.STATE_ALLOW);
-        }
-    }
-
-    @Override
-    public boolean onPreferenceChange(Preference preference, Object newValue) {
-        final boolean allow = (Boolean) newValue;
-        if (ZenModeSettingsBase.DEBUG) {
-            Log.d(TAG, KEY + " onPrefChange mRule=" + mRule + " mCategory="
-                    + ZenPolicy.PRIORITY_CATEGORY_REPEAT_CALLERS + " allow=" + allow);
-        }
-        mMetricsFeatureProvider.action(mContext, SettingsEnums.ACTION_ZEN_ALLOW_REPEAT_CALLS,
-                Pair.create(MetricsProto.MetricsEvent.FIELD_ZEN_TOGGLE_EXCEPTION, allow ? 1 : 0),
-                Pair.create(MetricsProto.MetricsEvent.FIELD_ZEN_RULE_ID, mId));
-        mRule.setZenPolicy(new ZenPolicy.Builder(mRule.getZenPolicy())
-                .allowRepeatCallers(allow)
-                .build());
-        mBackend.updateZenRule(mId, mRule);
-        return true;
-    }
-
-    private void setRepeatCallerSummary(Preference preference) {
-        preference.setSummary(mContext.getString(
-                com.android.settings.R.string.zen_mode_repeat_callers_summary,
-                mRepeatCallersThreshold));
-    }
-}
diff --git a/src/com/android/settings/notification/ZenRuleSelectionDialog.java b/src/com/android/settings/notification/ZenRuleSelectionDialog.java
deleted file mode 100644
index 5b4b35b..0000000
--- a/src/com/android/settings/notification/ZenRuleSelectionDialog.java
+++ /dev/null
@@ -1,249 +0,0 @@
-/*
- * Copyright (C) 2015 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.notification;
-
-import android.app.Dialog;
-import android.app.NotificationManager;
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.content.DialogInterface;
-import android.content.pm.ApplicationInfo;
-import android.content.pm.ComponentInfo;
-import android.content.pm.PackageManager;
-import android.graphics.drawable.Drawable;
-import android.os.AsyncTask;
-import android.os.Bundle;
-import android.service.notification.ZenModeConfig;
-import android.util.Log;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.widget.ImageView;
-import android.widget.LinearLayout;
-import android.widget.TextView;
-
-import androidx.appcompat.app.AlertDialog;
-import androidx.fragment.app.Fragment;
-
-import com.android.settings.R;
-import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
-import com.android.settings.utils.ZenServiceListing;
-
-import java.lang.ref.WeakReference;
-import java.text.Collator;
-import java.util.Comparator;
-import java.util.Set;
-import java.util.TreeSet;
-
-public class ZenRuleSelectionDialog extends InstrumentedDialogFragment {
-    private static final String TAG = "ZenRuleSelectionDialog";
-    private static final boolean DEBUG = ZenModeSettings.DEBUG;
-
-    private static ZenServiceListing mServiceListing;
-    protected static PositiveClickListener mPositiveClickListener;
-
-    private static Context mContext;
-    private static PackageManager mPm;
-    private static NotificationManager mNm;
-    private LinearLayout mRuleContainer;
-
-    /**
-     * The interface we expect a listener to implement.
-     */
-    public interface PositiveClickListener {
-        void onSystemRuleSelected(ZenRuleInfo ruleInfo, Fragment parent);
-        void onExternalRuleSelected(ZenRuleInfo ruleInfo, Fragment parent);
-    }
-
-    @Override
-    public int getMetricsCategory() {
-        return SettingsEnums.NOTIFICATION_ZEN_MODE_RULE_SELECTION_DIALOG;
-    }
-
-    public static void show(Context context, Fragment parent, PositiveClickListener
-            listener, ZenServiceListing serviceListing) {
-        mPositiveClickListener = listener;
-        mContext = context;
-        mPm = mContext.getPackageManager();
-        mNm = (NotificationManager) mContext.getSystemService(Context.NOTIFICATION_SERVICE);
-        mServiceListing = serviceListing;
-
-        ZenRuleSelectionDialog dialog = new ZenRuleSelectionDialog();
-        dialog.setTargetFragment(parent, 0);
-        dialog.show(parent.getFragmentManager(), TAG);
-    }
-
-    @Override
-    public Dialog onCreateDialog(Bundle savedInstanceState) {
-        final View v = LayoutInflater.from(getContext()).inflate(R.layout.zen_rule_type_selection,
-                null, false);
-
-        mRuleContainer = (LinearLayout) v.findViewById(R.id.rule_container);
-        if (mServiceListing != null) {
-            bindType(defaultNewEvent());
-            bindType(defaultNewSchedule());
-            mServiceListing.addZenCallback(mServiceListingCallback);
-            mServiceListing.reloadApprovedServices();
-        }
-        return new AlertDialog.Builder(getContext())
-                .setTitle(R.string.zen_mode_choose_rule_type)
-                .setView(v)
-                .setNegativeButton(R.string.cancel, null)
-                .create();
-    }
-
-    @Override
-    public void onDismiss(DialogInterface dialog) {
-        super.onDismiss(dialog);
-        if (mServiceListing != null) {
-            mServiceListing.removeZenCallback(mServiceListingCallback);
-        }
-    }
-
-    private void bindType(final ZenRuleInfo ri) {
-        try {
-            ApplicationInfo info = mPm.getApplicationInfo(ri.packageName, 0);
-            final LinearLayout v = (LinearLayout) LayoutInflater.from(mContext).inflate(
-                    R.layout.zen_rule_type, null, false);
-
-            ImageView iconView = v.findViewById(R.id.icon);
-            ((TextView) v.findViewById(R.id.title)).setText(ri.title);
-            if (!ri.isSystem) {
-                LoadIconTask task = new LoadIconTask(iconView);
-                task.execute(info);
-
-                TextView subtitle = (TextView) v.findViewById(R.id.subtitle);
-                subtitle.setText(info.loadLabel(mPm));
-                subtitle.setVisibility(View.VISIBLE);
-            } else {
-                if (ZenModeConfig.isValidScheduleConditionId(ri.defaultConditionId)) {
-                    iconView.setImageDrawable(mContext.getDrawable(R.drawable.ic_timelapse));
-                } else if (ZenModeConfig.isValidEventConditionId(ri.defaultConditionId)) {
-                    iconView.setImageDrawable(mContext.getDrawable(R.drawable.ic_event));
-                }
-            }
-            v.setOnClickListener(new View.OnClickListener() {
-                @Override
-                public void onClick(View v) {
-                    dismiss();
-                    if (ri.isSystem) {
-                        mPositiveClickListener.onSystemRuleSelected(ri, getTargetFragment());
-                    } else {
-                        mPositiveClickListener.onExternalRuleSelected(ri, getTargetFragment());
-                    }
-                }
-            });
-            mRuleContainer.addView(v);
-        } catch (PackageManager.NameNotFoundException e) {
-            // Omit rule.
-        }
-    }
-
-    private ZenRuleInfo defaultNewSchedule() {
-        final ZenModeConfig.ScheduleInfo schedule = new ZenModeConfig.ScheduleInfo();
-        schedule.days = ZenModeConfig.ALL_DAYS;
-        schedule.startHour = 22;
-        schedule.endHour = 7;
-        final ZenRuleInfo rt = new ZenRuleInfo();
-        rt.settingsAction = ZenModeScheduleRuleSettings.ACTION;
-        rt.title = mContext.getString(R.string.zen_schedule_rule_type_name);
-        rt.packageName = ZenModeConfig.getEventConditionProvider().getPackageName();
-        rt.defaultConditionId = ZenModeConfig.toScheduleConditionId(schedule);
-        rt.serviceComponent = ZenModeConfig.getScheduleConditionProvider();
-        rt.isSystem = true;
-        return rt;
-    }
-
-    private ZenRuleInfo defaultNewEvent() {
-        final ZenModeConfig.EventInfo event = new ZenModeConfig.EventInfo();
-        event.calName = null; // any calendar
-        event.calendarId = null;
-        event.reply = ZenModeConfig.EventInfo.REPLY_ANY_EXCEPT_NO;
-        final ZenRuleInfo rt = new ZenRuleInfo();
-        rt.settingsAction = ZenModeEventRuleSettings.ACTION;
-        rt.title = mContext.getString(R.string.zen_event_rule_type_name);
-        rt.packageName = ZenModeConfig.getScheduleConditionProvider().getPackageName();
-        rt.defaultConditionId = ZenModeConfig.toEventConditionId(event);
-        rt.serviceComponent = ZenModeConfig.getEventConditionProvider();
-        rt.isSystem = true;
-        return rt;
-    }
-
-    private void bindExternalRules(Set<ZenRuleInfo> externalRuleTypes) {
-        for (ZenRuleInfo ri : externalRuleTypes) {
-            bindType(ri);
-        }
-    }
-
-    private final ZenServiceListing.Callback mServiceListingCallback = new
-            ZenServiceListing.Callback() {
-        @Override
-        public void onComponentsReloaded(Set<ComponentInfo> componentInfos) {
-            if (DEBUG) Log.d(TAG, "Reloaded: count=" + componentInfos.size());
-
-            Set<ZenRuleInfo> externalRuleTypes = new TreeSet<>(RULE_TYPE_COMPARATOR);
-            for (ComponentInfo ci : componentInfos) {
-                final ZenRuleInfo ri = AbstractZenModeAutomaticRulePreferenceController.
-                        getRuleInfo(mPm, ci);
-                if (ri != null && ri.configurationActivity != null
-                        && mNm.isNotificationPolicyAccessGrantedForPackage(ri.packageName)
-                        && (ri.ruleInstanceLimit <= 0 || ri.ruleInstanceLimit
-                        >= (mNm.getRuleInstanceCount(ci.getComponentName()) + 1))) {
-                    externalRuleTypes.add(ri);
-                }
-            }
-            bindExternalRules(externalRuleTypes);
-        }
-    };
-
-    private static final Comparator<ZenRuleInfo> RULE_TYPE_COMPARATOR =
-            new Comparator<ZenRuleInfo>() {
-                private final Collator mCollator = Collator.getInstance();
-
-                @Override
-                public int compare(ZenRuleInfo lhs, ZenRuleInfo rhs) {
-                    int byAppName = mCollator.compare(lhs.packageLabel, rhs.packageLabel);
-                    if (byAppName != 0) {
-                        return byAppName;
-                    } else {
-                        return mCollator.compare(lhs.title, rhs.title);
-                    }
-                }
-            };
-
-    private class LoadIconTask extends AsyncTask<ApplicationInfo, Void, Drawable> {
-        private final WeakReference<ImageView> viewReference;
-
-        public LoadIconTask(ImageView view) {
-            viewReference = new WeakReference<>(view);
-        }
-
-        @Override
-        protected Drawable doInBackground(ApplicationInfo... params) {
-            return params[0].loadIcon(mPm);
-        }
-
-        @Override
-        protected void onPostExecute(Drawable icon) {
-            if (icon != null) {
-                final ImageView view = viewReference.get();
-                if (view != null) {
-                    view.setImageDrawable(icon);
-                }
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/src/com/android/settings/notification/ZenRuleStarredContactsPreferenceController.java b/src/com/android/settings/notification/ZenRuleStarredContactsPreferenceController.java
deleted file mode 100644
index 8a227a1..0000000
--- a/src/com/android/settings/notification/ZenRuleStarredContactsPreferenceController.java
+++ /dev/null
@@ -1,103 +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.notification;
-
-import android.content.Context;
-import android.content.Intent;
-import android.content.pm.PackageManager;
-import android.provider.Contacts;
-import android.service.notification.ZenPolicy;
-
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-public class ZenRuleStarredContactsPreferenceController extends
-        AbstractZenCustomRulePreferenceController implements Preference.OnPreferenceClickListener {
-
-    private Preference mPreference;
-    private final @ZenPolicy.PriorityCategory int mPriorityCategory;
-    private final PackageManager mPackageManager;
-
-    private Intent mStarredContactsIntent;
-    private Intent mFallbackIntent;
-
-    public ZenRuleStarredContactsPreferenceController(Context context, Lifecycle lifecycle,
-            @ZenPolicy.PriorityCategory int priorityCategory, String key) {
-        super(context, key, lifecycle);
-        mPriorityCategory = priorityCategory;
-        mPackageManager = mContext.getPackageManager();
-
-        mStarredContactsIntent = new Intent(Contacts.Intents.UI.LIST_STARRED_ACTION);
-
-        mFallbackIntent =  new Intent(Intent.ACTION_MAIN);
-        mFallbackIntent.addCategory(Intent.CATEGORY_APP_CONTACTS);
-    }
-
-    @Override
-    public void displayPreference(PreferenceScreen screen) {
-        super.displayPreference(screen);
-        mPreference = screen.findPreference(KEY);
-
-        if (mPreference != null) {
-            mPreference.setOnPreferenceClickListener(this);
-        }
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return KEY;
-    }
-
-    @Override
-    public boolean isAvailable() {
-        if (!super.isAvailable() || mRule.getZenPolicy() == null || !isIntentValid()) {
-            return false;
-        }
-
-        if (mPriorityCategory == ZenPolicy.PRIORITY_CATEGORY_CALLS) {
-            return mRule.getZenPolicy().getPriorityCallSenders() == ZenPolicy.PEOPLE_TYPE_STARRED;
-        } else if (mPriorityCategory == ZenPolicy.PRIORITY_CATEGORY_MESSAGES) {
-            return mRule.getZenPolicy().getPriorityMessageSenders()
-                    == ZenPolicy.PEOPLE_TYPE_STARRED;
-        } else {
-            // invalid category
-            return false;
-        }
-    }
-
-    @Override
-    public CharSequence getSummary() {
-        return mBackend.getStarredContactsSummary();
-    }
-
-    @Override
-    public boolean onPreferenceClick(Preference preference) {
-        if (mStarredContactsIntent.resolveActivity(mPackageManager) != null) {
-            mContext.startActivity(mStarredContactsIntent);
-        } else {
-            mContext.startActivity(mFallbackIntent);
-        }
-        return true;
-    }
-
-    private boolean isIntentValid() {
-        return mStarredContactsIntent.resolveActivity(mPackageManager) != null
-                || mFallbackIntent.resolveActivity(mPackageManager) != null;
-    }
-}
diff --git a/src/com/android/settings/notification/ZenRuleVisEffectPreferenceController.java b/src/com/android/settings/notification/ZenRuleVisEffectPreferenceController.java
deleted file mode 100644
index f579151..0000000
--- a/src/com/android/settings/notification/ZenRuleVisEffectPreferenceController.java
+++ /dev/null
@@ -1,104 +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.notification;
-
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.service.notification.ZenPolicy;
-import android.util.Pair;
-
-import androidx.annotation.VisibleForTesting;
-import androidx.preference.CheckBoxPreference;
-import androidx.preference.Preference;
-
-import com.android.internal.logging.nano.MetricsProto;
-import com.android.settings.widget.DisabledCheckBoxPreference;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-public class ZenRuleVisEffectPreferenceController extends AbstractZenCustomRulePreferenceController
-        implements Preference.OnPreferenceChangeListener {
-
-    private final int mMetricsCategory;
-
-    @VisibleForTesting protected @ZenPolicy.VisualEffect int mEffect;
-
-    // if any of these effects are suppressed, this effect must be too
-    @VisibleForTesting protected @ZenPolicy.VisualEffect int[] mParentSuppressedEffects;
-
-    public ZenRuleVisEffectPreferenceController(Context context, Lifecycle lifecycle, String key,
-            @ZenPolicy.VisualEffect int visualEffect, int metricsCategory,
-            @ZenPolicy.VisualEffect int[] parentSuppressedEffects) {
-        super(context, key, lifecycle);
-        mEffect = visualEffect;
-        mMetricsCategory = metricsCategory;
-        mParentSuppressedEffects = parentSuppressedEffects;
-    }
-
-    @Override
-    public boolean isAvailable() {
-        if (!super.isAvailable()) {
-            return false;
-        }
-
-        if (mEffect == ZenPolicy.VISUAL_EFFECT_LIGHTS) {
-            return mContext.getResources()
-                    .getBoolean(com.android.internal.R.bool.config_intrusiveNotificationLed);
-        }
-        return true;
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        super.updateState(preference);
-        if (mRule == null || mRule.getZenPolicy() == null) {
-            return;
-        }
-
-        boolean suppressed = !mRule.getZenPolicy().isVisualEffectAllowed(mEffect, false);
-        boolean parentSuppressed = false;
-        if (mParentSuppressedEffects != null) {
-            for (@ZenPolicy.VisualEffect int parentEffect : mParentSuppressedEffects) {
-                if (!mRule.getZenPolicy().isVisualEffectAllowed(parentEffect, true)) {
-                    parentSuppressed = true;
-                }
-            }
-        }
-        if (parentSuppressed) {
-            ((CheckBoxPreference) preference).setChecked(parentSuppressed);
-            onPreferenceChange(preference, parentSuppressed);
-            ((DisabledCheckBoxPreference) preference).enableCheckbox(false);
-        } else {
-            ((DisabledCheckBoxPreference) preference).enableCheckbox(true);
-            ((CheckBoxPreference) preference).setChecked(suppressed);
-        }
-    }
-
-    @Override
-    public boolean onPreferenceChange(Preference preference, Object newValue) {
-        final boolean suppressEffect = (Boolean) newValue;
-        mMetricsFeatureProvider.action(mContext, mMetricsCategory,
-                Pair.create(MetricsProto.MetricsEvent.FIELD_ZEN_TOGGLE_EXCEPTION,
-                        suppressEffect ? 1 : 0),
-                Pair.create(MetricsProto.MetricsEvent.FIELD_ZEN_RULE_ID, mId));
-
-        mRule.setZenPolicy(new ZenPolicy.Builder(mRule.getZenPolicy())
-                .showVisualEffect(mEffect, !suppressEffect)
-                .build());
-        mBackend.updateZenRule(mId, mRule);
-        return true;
-    }
-}
diff --git a/src/com/android/settings/notification/ZenRuleVisEffectsAllPreferenceController.java b/src/com/android/settings/notification/ZenRuleVisEffectsAllPreferenceController.java
deleted file mode 100644
index 7b7eae2..0000000
--- a/src/com/android/settings/notification/ZenRuleVisEffectsAllPreferenceController.java
+++ /dev/null
@@ -1,64 +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.notification;
-
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.service.notification.ZenPolicy;
-import android.util.Pair;
-
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.internal.logging.nano.MetricsProto;
-import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-public class ZenRuleVisEffectsAllPreferenceController extends
-        AbstractZenCustomRulePreferenceController implements PreferenceControllerMixin {
-
-    private ZenCustomRadioButtonPreference mPreference;
-
-    public ZenRuleVisEffectsAllPreferenceController(Context context, Lifecycle lifecycle,
-            String key) {
-        super(context, key, lifecycle);
-    }
-
-    @Override
-    public void displayPreference(PreferenceScreen screen) {
-        super.displayPreference(screen);
-        mPreference = screen.findPreference(getPreferenceKey());
-
-        mPreference.setOnRadioButtonClickListener(p -> {
-            mMetricsFeatureProvider.action(mContext, SettingsEnums.ACTION_ZEN_SOUND_ONLY,
-                    Pair.create(MetricsProto.MetricsEvent.FIELD_ZEN_RULE_ID, mId));
-            mRule.setZenPolicy(new ZenPolicy.Builder(mRule.getZenPolicy())
-                    .showAllVisualEffects()
-                    .build());
-            mBackend.updateZenRule(mId, mRule);
-        });
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        super.updateState(preference);
-        if (mId == null || mRule == null || mRule.getZenPolicy() == null) {
-            return;
-        }
-        mPreference.setChecked(mRule.getZenPolicy().shouldShowAllVisualEffects());
-    }
-}
\ No newline at end of file
diff --git a/src/com/android/settings/notification/ZenRuleVisEffectsCustomPreferenceController.java b/src/com/android/settings/notification/ZenRuleVisEffectsCustomPreferenceController.java
deleted file mode 100644
index 2314c5a..0000000
--- a/src/com/android/settings/notification/ZenRuleVisEffectsCustomPreferenceController.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.notification;
-
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.util.Pair;
-
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.internal.logging.nano.MetricsProto;
-import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settings.core.SubSettingLauncher;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-public class ZenRuleVisEffectsCustomPreferenceController extends
-        AbstractZenCustomRulePreferenceController implements PreferenceControllerMixin {
-
-    private ZenCustomRadioButtonPreference mPreference;
-
-    public ZenRuleVisEffectsCustomPreferenceController(Context context, Lifecycle lifecycle,
-            String key) {
-        super(context, key, lifecycle);
-    }
-
-    @Override
-    public void displayPreference(PreferenceScreen screen) {
-        super.displayPreference(screen);
-        mPreference = screen.findPreference(getPreferenceKey());
-
-        mPreference.setOnGearClickListener(p -> {
-            launchCustomSettings();
-
-        });
-
-        mPreference.setOnRadioButtonClickListener(p -> {
-            launchCustomSettings();
-        });
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        super.updateState(preference);
-        if (mId == null || mRule == null || mRule.getZenPolicy() == null) {
-            return;
-        }
-
-        mPreference.setChecked(!mRule.getZenPolicy().shouldHideAllVisualEffects()
-                && !mRule.getZenPolicy().shouldShowAllVisualEffects());
-    }
-
-    private void launchCustomSettings() {
-        mMetricsFeatureProvider.action(mContext, SettingsEnums.ACTION_ZEN_SHOW_CUSTOM,
-                Pair.create(MetricsProto.MetricsEvent.FIELD_ZEN_RULE_ID, mId));
-        new SubSettingLauncher(mContext)
-                .setDestination(ZenCustomRuleBlockedEffectsSettings.class.getName())
-                .setArguments(createBundle())
-                .setSourceMetricsCategory(SettingsEnums.ZEN_CUSTOM_RULE_VIS_EFFECTS)
-                .launch();
-    }
-}
\ No newline at end of file
diff --git a/src/com/android/settings/notification/ZenRuleVisEffectsNonePreferenceController.java b/src/com/android/settings/notification/ZenRuleVisEffectsNonePreferenceController.java
deleted file mode 100644
index 875fb43..0000000
--- a/src/com/android/settings/notification/ZenRuleVisEffectsNonePreferenceController.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.notification;
-
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.service.notification.ZenPolicy;
-import android.util.Pair;
-
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.internal.logging.nano.MetricsProto;
-import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-public class ZenRuleVisEffectsNonePreferenceController extends
-        AbstractZenCustomRulePreferenceController implements PreferenceControllerMixin {
-
-    private ZenCustomRadioButtonPreference mPreference;
-
-    public ZenRuleVisEffectsNonePreferenceController(Context context, Lifecycle lifecycle,
-            String key) {
-        super(context, key, lifecycle);
-    }
-
-    @Override
-    public void displayPreference(PreferenceScreen screen) {
-        super.displayPreference(screen);
-        mPreference = screen.findPreference(getPreferenceKey());
-
-        mPreference.setOnRadioButtonClickListener(p -> {
-            mMetricsFeatureProvider.action(mContext, SettingsEnums.ACTION_ZEN_SOUND_AND_VIS_EFFECTS,
-                    Pair.create(MetricsProto.MetricsEvent.FIELD_ZEN_RULE_ID, mId));
-            mRule.setZenPolicy(new ZenPolicy.Builder(mRule.getZenPolicy())
-                    .hideAllVisualEffects()
-                    .build());
-            mBackend.updateZenRule(mId, mRule);
-        });
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        super.updateState(preference);
-        if (mId == null || mRule == null || mRule.getZenPolicy() == null) {
-            return;
-        }
-
-        mPreference.setChecked(mRule.getZenPolicy().shouldHideAllVisualEffects());
-    }
-}
\ No newline at end of file
diff --git a/src/com/android/settings/notification/ZenSuggestionActivity.java b/src/com/android/settings/notification/ZenSuggestionActivity.java
deleted file mode 100644
index 9d2148c..0000000
--- a/src/com/android/settings/notification/ZenSuggestionActivity.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package com.android.settings.notification;
-
-import android.app.Activity;
-import android.content.Intent;
-import android.os.Bundle;
-import android.provider.Settings;
-
-public class ZenSuggestionActivity extends Activity {
-
-    @Override
-    public void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-
-        // start up zen settings activity
-        Intent settingsIntent = new Intent(Settings.ACTION_ZEN_MODE_SETTINGS);
-        startActivity(settingsIntent);
-
-        // start up onboarding activity
-        Intent onboardingActivity = new Intent(Settings.ZEN_MODE_ONBOARDING);
-        startActivity(onboardingActivity);
-
-        finish();
-    }
-}
diff --git a/src/com/android/settings/notification/app/AddToHomeScreenPreferenceController.java b/src/com/android/settings/notification/app/AddToHomeScreenPreferenceController.java
new file mode 100644
index 0000000..15b8388
--- /dev/null
+++ b/src/com/android/settings/notification/app/AddToHomeScreenPreferenceController.java
@@ -0,0 +1,62 @@
+/*
+ * 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.notification.app;
+
+import android.content.Context;
+import android.util.Slog;
+
+import androidx.preference.Preference;
+
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settings.notification.NotificationBackend;
+
+public class AddToHomeScreenPreferenceController extends NotificationPreferenceController
+        implements PreferenceControllerMixin {
+
+    private static final String TAG = "HomeScreenPref";
+    private static final String KEY = "add_to_home";
+
+    public AddToHomeScreenPreferenceController(Context context, NotificationBackend backend) {
+        super(context, backend);
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY;
+    }
+
+    @Override
+    public boolean isAvailable() {
+        if (!super.isAvailable()) {
+            return false;
+        }
+        return mConversationInfo != null;
+    }
+
+    @Override
+    public boolean handlePreferenceTreeClick(Preference preference) {
+        if (KEY.equals(preference.getKey())) {
+            try {
+                mBackend.requestPinShortcut(mContext, mConversationInfo);
+                return true;
+            } catch (SecurityException e) {
+                Slog.e(TAG, "Cannot add to home screen", e);
+            }
+        }
+        return false;
+    }
+}
diff --git a/src/com/android/settings/notification/app/AllConversationsPreferenceController.java b/src/com/android/settings/notification/app/AllConversationsPreferenceController.java
new file mode 100644
index 0000000..1a139a2
--- /dev/null
+++ b/src/com/android/settings/notification/app/AllConversationsPreferenceController.java
@@ -0,0 +1,73 @@
+/*
+ * 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.notification.app;
+
+import android.content.Context;
+import android.os.AsyncTask;
+import android.service.notification.ConversationChannelWrapper;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceCategory;
+
+import com.android.settings.notification.NotificationBackend;
+
+import java.util.Collections;
+import java.util.List;
+
+public class AllConversationsPreferenceController extends ConversationListPreferenceController {
+
+    private static final String KEY = "all_conversations";
+
+    private List<ConversationChannelWrapper> mConversations;
+
+    public AllConversationsPreferenceController(Context context,
+            NotificationBackend backend) {
+        super(context, backend);
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY;
+    }
+
+    @Override
+    public boolean isAvailable() {
+        return true;
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        PreferenceCategory pref = (PreferenceCategory) preference;
+        // Load conversations
+        new AsyncTask<Void, Void, Void>() {
+            @Override
+            protected Void doInBackground(Void... unused) {
+                mConversations = mBackend.getConversations(false).getList();
+                Collections.sort(mConversations, mConversationComparator);
+                return null;
+            }
+
+            @Override
+            protected void onPostExecute(Void unused) {
+                if (mContext == null) {
+                    return;
+                }
+                populateList(mConversations, pref, pref);
+            }
+        }.execute();
+    }
+}
diff --git a/src/com/android/settings/notification/app/AllowSoundPreferenceController.java b/src/com/android/settings/notification/app/AllowSoundPreferenceController.java
new file mode 100644
index 0000000..cf6db87
--- /dev/null
+++ b/src/com/android/settings/notification/app/AllowSoundPreferenceController.java
@@ -0,0 +1,84 @@
+/*
+ * 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.app;
+
+import static android.app.NotificationManager.IMPORTANCE_DEFAULT;
+import static android.app.NotificationManager.IMPORTANCE_LOW;
+import static android.app.NotificationManager.IMPORTANCE_UNSPECIFIED;
+
+import android.app.NotificationChannel;
+import android.content.Context;
+import android.util.Log;
+
+import androidx.preference.Preference;
+
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settings.notification.NotificationBackend;
+import com.android.settingslib.RestrictedSwitchPreference;
+
+public class AllowSoundPreferenceController extends NotificationPreferenceController
+        implements PreferenceControllerMixin, Preference.OnPreferenceChangeListener {
+
+    private static final String TAG = "AllowSoundPrefContr";
+    private static final String KEY_IMPORTANCE = "allow_sound";
+    private NotificationSettings.DependentFieldListener mDependentFieldListener;
+
+    public AllowSoundPreferenceController(Context context,
+            NotificationSettings.DependentFieldListener dependentFieldListener,
+            NotificationBackend backend) {
+        super(context, backend);
+        mDependentFieldListener = dependentFieldListener;
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY_IMPORTANCE;
+    }
+
+    @Override
+    public boolean isAvailable() {
+        if (!super.isAvailable()) {
+            return false;
+        }
+        return mChannel != null && NotificationChannel.DEFAULT_CHANNEL_ID.equals(mChannel.getId());
+
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        if (mChannel != null) {
+            RestrictedSwitchPreference pref = (RestrictedSwitchPreference) preference;
+            pref.setDisabledByAdmin(mAdmin);
+            pref.setEnabled(!pref.isDisabledByAdmin());
+            pref.setChecked(mChannel.getImportance() >= IMPORTANCE_DEFAULT
+                    || mChannel.getImportance() == IMPORTANCE_UNSPECIFIED);
+        } else { Log.i(TAG, "tried to updatestate on a null channel?!"); }
+    }
+
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object newValue) {
+        if (mChannel != null) {
+            final int importance =
+                    ((Boolean) newValue ? IMPORTANCE_UNSPECIFIED : IMPORTANCE_LOW);
+            mChannel.setImportance(importance);
+            mChannel.lockFields(NotificationChannel.USER_LOCKED_IMPORTANCE);
+            saveChannel();
+            mDependentFieldListener.onFieldValueChanged();
+        }
+        return true;
+    }
+}
diff --git a/src/com/android/settings/notification/app/AppBubbleNotificationSettings.java b/src/com/android/settings/notification/app/AppBubbleNotificationSettings.java
new file mode 100644
index 0000000..0ed1b84
--- /dev/null
+++ b/src/com/android/settings/notification/app/AppBubbleNotificationSettings.java
@@ -0,0 +1,117 @@
+/*
+ * 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.notification.app;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.text.TextUtils;
+import android.util.Log;
+
+import com.android.settings.R;
+import com.android.settings.notification.NotificationBackend;
+import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.settingslib.search.SearchIndexable;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@SearchIndexable
+public class AppBubbleNotificationSettings extends NotificationSettings implements
+        GlobalBubblePermissionObserverMixin.Listener {
+    private static final String TAG = "AppBubNotiSettings";
+    private GlobalBubblePermissionObserverMixin mObserverMixin;
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.APP_BUBBLE_SETTINGS;
+    }
+
+    @Override
+    protected String getLogTag() {
+        return TAG;
+    }
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.app_bubble_notification_settings;
+    }
+
+    @Override
+    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
+        mControllers = getPreferenceControllers(context, this);
+        return new ArrayList<>(mControllers);
+    }
+
+    protected static List<NotificationPreferenceController> getPreferenceControllers(
+            Context context, AppBubbleNotificationSettings fragment) {
+        List<NotificationPreferenceController> controllers = new ArrayList<>();
+        controllers.add(new HeaderPreferenceController(context, fragment));
+        controllers.add(new BubblePreferenceController(context, fragment != null
+                ? fragment.getChildFragmentManager()
+                : null,
+                new NotificationBackend(), true /* isAppPage */));
+        return controllers;
+    }
+
+    @Override
+    public void onGlobalBubblePermissionChanged() {
+        updatePreferenceStates();
+    }
+
+    @Override
+    public void onResume() {
+        super.onResume();
+
+        if (mUid < 0 || TextUtils.isEmpty(mPkg) || mPkgInfo == null) {
+            Log.w(TAG, "Missing package or uid or packageinfo");
+            finish();
+            return;
+        }
+
+        for (NotificationPreferenceController controller : mControllers) {
+            controller.onResume(mAppRow, mChannel, mChannelGroup, null, null, mSuspendedAppsAdmin);
+            controller.displayPreference(getPreferenceScreen());
+        }
+        updatePreferenceStates();
+
+        mObserverMixin = new GlobalBubblePermissionObserverMixin(getContext(), this);
+        mObserverMixin.onStart();
+    }
+
+    @Override
+    public void onPause() {
+        mObserverMixin.onStop();
+        super.onPause();
+    }
+
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider() {
+
+                @Override
+                protected boolean isPageSearchEnabled(Context context) {
+                    return false;
+                }
+
+                @Override
+                public List<AbstractPreferenceController> createPreferenceControllers(Context
+                        context) {
+                    return new ArrayList<>(AppBubbleNotificationSettings.getPreferenceControllers(
+                            context, null));
+                }
+            };
+}
diff --git a/src/com/android/settings/notification/app/AppConversationListPreferenceController.java b/src/com/android/settings/notification/app/AppConversationListPreferenceController.java
new file mode 100644
index 0000000..32278db
--- /dev/null
+++ b/src/com/android/settings/notification/app/AppConversationListPreferenceController.java
@@ -0,0 +1,164 @@
+/*
+ * 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.notification.app;
+
+import android.app.NotificationChannel;
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.content.pm.ShortcutInfo;
+import android.os.AsyncTask;
+import android.os.Bundle;
+import android.provider.Settings;
+import android.service.notification.ConversationChannelWrapper;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceCategory;
+
+import com.android.settings.R;
+import com.android.settings.applications.AppInfoBase;
+import com.android.settings.core.SubSettingLauncher;
+import com.android.settings.notification.NotificationBackend;
+
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.List;
+
+public class AppConversationListPreferenceController extends NotificationPreferenceController {
+
+    private static final String KEY = "conversations";
+    public static final String ARG_FROM_SETTINGS = "fromSettings";
+
+    private List<ConversationChannelWrapper> mConversations;
+    private PreferenceCategory mPreference;
+
+    public AppConversationListPreferenceController(Context context, NotificationBackend backend) {
+        super(context, backend);
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY;
+    }
+
+    @Override
+    public boolean isAvailable() {
+        if (mAppRow == null) {
+            return false;
+        }
+        if (mAppRow.banned) {
+            return false;
+        }
+        if (mChannel != null) {
+            if (mBackend.onlyHasDefaultChannel(mAppRow.pkg, mAppRow.uid)
+                    || NotificationChannel.DEFAULT_CHANNEL_ID.equals(mChannel.getId())) {
+                return false;
+            }
+        }
+        return true;
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        mPreference = (PreferenceCategory) preference;
+        // Load channel settings
+        new AsyncTask<Void, Void, Void>() {
+            @Override
+            protected Void doInBackground(Void... unused) {
+                mConversations = mBackend.getConversations(mAppRow.pkg, mAppRow.uid).getList();
+                Collections.sort(mConversations, mConversationComparator);
+                return null;
+            }
+
+            @Override
+            protected void onPostExecute(Void unused) {
+                if (mContext == null) {
+                    return;
+                }
+                populateList();
+            }
+        }.execute();
+    }
+
+    private void populateList() {
+        // TODO: if preference has children, compare with newly loaded list
+        mPreference.removeAll();
+        mPreference.setTitle(R.string.conversations_category_title);
+
+        if (mConversations.isEmpty()) {
+            mPreference.setVisible(false);
+        } else {
+            mPreference.setVisible(true);
+            populateConversations();
+        }
+    }
+
+    private void populateConversations() {
+        for (ConversationChannelWrapper conversation : mConversations) {
+            if (conversation.getNotificationChannel().isDemoted()) {
+                continue;
+            }
+            mPreference.addPreference(createConversationPref(conversation));
+        }
+    }
+
+    protected Preference createConversationPref(final ConversationChannelWrapper conversation) {
+        Preference pref = new Preference(mContext);
+        ShortcutInfo si = conversation.getShortcutInfo();
+
+        pref.setTitle(si != null
+                ? si.getShortLabel()
+                : conversation.getNotificationChannel().getName());
+        pref.setSummary(conversation.getNotificationChannel().getGroup() != null
+                ? mContext.getString(R.string.notification_conversation_summary,
+                conversation.getParentChannelLabel(), conversation.getGroupLabel())
+                : conversation.getParentChannelLabel());
+        if (si != null) {
+            pref.setIcon(mBackend.getConversationDrawable(mContext, si, mAppRow.pkg, mAppRow.uid,
+                    conversation.getNotificationChannel().isImportantConversation()));
+        }
+        pref.setKey(conversation.getNotificationChannel().getId());
+
+        Bundle channelArgs = new Bundle();
+        channelArgs.putInt(AppInfoBase.ARG_PACKAGE_UID, mAppRow.uid);
+        channelArgs.putString(AppInfoBase.ARG_PACKAGE_NAME, mAppRow.pkg);
+        channelArgs.putString(Settings.EXTRA_CHANNEL_ID,
+                conversation.getNotificationChannel().getParentChannelId());
+        channelArgs.putString(Settings.EXTRA_CONVERSATION_ID,
+                conversation.getNotificationChannel().getConversationId());
+        channelArgs.putBoolean(ARG_FROM_SETTINGS, true);
+        pref.setIntent(new SubSettingLauncher(mContext)
+                .setDestination(ChannelNotificationSettings.class.getName())
+                .setArguments(channelArgs)
+                .setExtras(channelArgs)
+                .setTitleText(pref.getTitle())
+                .setSourceMetricsCategory(SettingsEnums.NOTIFICATION_APP_NOTIFICATION)
+                .toIntent());
+        return pref;
+    }
+
+    protected Comparator<ConversationChannelWrapper> mConversationComparator =
+            (left, right) -> {
+                if (left.getNotificationChannel().isImportantConversation()
+                        != right.getNotificationChannel().isImportantConversation()) {
+                    // important first
+                    return Boolean.compare(right.getNotificationChannel().isImportantConversation(),
+                            left.getNotificationChannel().isImportantConversation());
+                }
+                return left.getNotificationChannel().getId().compareTo(
+                        right.getNotificationChannel().getId());
+            };
+}
diff --git a/src/com/android/settings/notification/app/AppLinkPreferenceController.java b/src/com/android/settings/notification/app/AppLinkPreferenceController.java
new file mode 100644
index 0000000..23ccbf0
--- /dev/null
+++ b/src/com/android/settings/notification/app/AppLinkPreferenceController.java
@@ -0,0 +1,56 @@
+/*
+ * 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.app;
+
+import android.content.Context;
+
+import androidx.preference.Preference;
+
+import com.android.settings.core.PreferenceControllerMixin;
+
+/**
+ * Controls link to reach more preference settings inside the app.
+ */
+public class AppLinkPreferenceController extends NotificationPreferenceController
+        implements PreferenceControllerMixin {
+
+    private static final String TAG = "AppLinkPrefContr";
+    private static final String KEY_APP_LINK = "app_link";
+
+    public AppLinkPreferenceController(Context context) {
+        super(context, null);
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY_APP_LINK;
+    }
+
+    @Override
+    public boolean isAvailable() {
+        if (!super.isAvailable()) {
+            return false;
+        }
+        return mAppRow.settingsIntent != null;
+    }
+
+    public void updateState(Preference preference) {
+        if (mAppRow != null) {
+            preference.setIntent(mAppRow.settingsIntent);
+        }
+    }
+}
diff --git a/src/com/android/settings/notification/app/AppNotificationSettings.java b/src/com/android/settings/notification/app/AppNotificationSettings.java
new file mode 100644
index 0000000..d9f4239
--- /dev/null
+++ b/src/com/android/settings/notification/app/AppNotificationSettings.java
@@ -0,0 +1,129 @@
+/*
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.notification.app;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.os.Bundle;
+import android.text.TextUtils;
+import android.util.Log;
+
+import com.android.internal.widget.LockPatternUtils;
+import com.android.settings.R;
+import com.android.settingslib.core.AbstractPreferenceController;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceGroup;
+import androidx.preference.PreferenceScreen;
+
+/** These settings are per app, so should not be returned in global search results. */
+public class AppNotificationSettings extends NotificationSettings {
+    private static final String TAG = "AppNotificationSettings";
+    private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
+
+    private static String KEY_ADVANCED_CATEGORY = "app_advanced";
+    private static String KEY_BADGE = "badge";
+    private static String KEY_APP_LINK = "app_link";
+    private static String KEY_BUBBLE = "bubble_link_pref";
+    private static String[] LEGACY_NON_ADVANCED_KEYS = {KEY_BADGE, KEY_APP_LINK, KEY_BUBBLE};
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.NOTIFICATION_APP_NOTIFICATION;
+    }
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        final PreferenceScreen screen = getPreferenceScreen();
+        if (mShowLegacyChannelConfig && screen != null) {
+            // if showing legacy settings, pull advanced settings out of the advanced category
+            PreferenceGroup advanced = (PreferenceGroup) findPreference(KEY_ADVANCED_CATEGORY);
+            removePreference(KEY_ADVANCED_CATEGORY);
+            if (advanced != null) {
+                for (String key : LEGACY_NON_ADVANCED_KEYS) {
+                    Preference pref = advanced.findPreference(key);
+                    advanced.removePreference(pref);
+                    if (pref != null) {
+                        screen.addPreference(pref);
+                    }
+                }
+            }
+        }
+    }
+
+    @Override
+    public void onResume() {
+        super.onResume();
+
+        if (mUid < 0 || TextUtils.isEmpty(mPkg) || mPkgInfo == null) {
+            Log.w(TAG, "Missing package or uid or packageinfo");
+            finish();
+            return;
+        }
+
+        for (NotificationPreferenceController controller : mControllers) {
+            controller.onResume(mAppRow, mChannel, mChannelGroup, null, null, mSuspendedAppsAdmin);
+            controller.displayPreference(getPreferenceScreen());
+        }
+        updatePreferenceStates();
+    }
+
+    @Override
+    protected String getLogTag() {
+        return TAG;
+    }
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.app_notification_settings;
+    }
+
+    @Override
+    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
+        mControllers = new ArrayList<>();
+        mControllers.add(new HeaderPreferenceController(context, this));
+        mControllers.add(new BlockPreferenceController(context, mDependentFieldListener, mBackend));
+        mControllers.add(new BadgePreferenceController(context, mBackend));
+        mControllers.add(new AllowSoundPreferenceController(
+                context, mDependentFieldListener, mBackend));
+        mControllers.add(new ImportancePreferenceController(
+                context, mDependentFieldListener, mBackend));
+        mControllers.add(new MinImportancePreferenceController(
+                context, mDependentFieldListener, mBackend));
+        mControllers.add(new HighImportancePreferenceController(
+                context, mDependentFieldListener, mBackend));
+        mControllers.add(new SoundPreferenceController(context, this,
+                mDependentFieldListener, mBackend));
+        mControllers.add(new LightsPreferenceController(context, mBackend));
+        mControllers.add(new VibrationPreferenceController(context, mBackend));
+        mControllers.add(new VisibilityPreferenceController(context, new LockPatternUtils(context),
+                mBackend));
+        mControllers.add(new DndPreferenceController(context, mBackend));
+        mControllers.add(new AppLinkPreferenceController(context));
+        mControllers.add(new DescriptionPreferenceController(context));
+        mControllers.add(new NotificationsOffPreferenceController(context));
+        mControllers.add(new DeletedChannelsPreferenceController(context, mBackend));
+        mControllers.add(new BubbleSummaryPreferenceController(context, mBackend));
+        mControllers.add(new ChannelListPreferenceController(context, mBackend));
+        mControllers.add(new AppConversationListPreferenceController(context, mBackend));
+        return new ArrayList<>(mControllers);
+    }
+}
diff --git a/src/com/android/settings/notification/app/BadgePreferenceController.java b/src/com/android/settings/notification/app/BadgePreferenceController.java
new file mode 100644
index 0000000..9f8608e
--- /dev/null
+++ b/src/com/android/settings/notification/app/BadgePreferenceController.java
@@ -0,0 +1,96 @@
+/*
+ * 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.app;
+
+import static android.provider.Settings.Secure.NOTIFICATION_BADGING;
+
+import android.content.Context;
+import android.provider.Settings;
+
+import androidx.preference.Preference;
+
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settings.notification.NotificationBackend;
+import com.android.settingslib.RestrictedSwitchPreference;
+
+public class BadgePreferenceController extends NotificationPreferenceController
+        implements PreferenceControllerMixin, Preference.OnPreferenceChangeListener {
+
+    private static final String TAG = "BadgePrefContr";
+    private static final String KEY_BADGE = "badge";
+    private static final int SYSTEM_WIDE_ON = 1;
+    private static final int SYSTEM_WIDE_OFF = 0;
+
+    public BadgePreferenceController(Context context,
+            NotificationBackend backend) {
+        super(context, backend);
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY_BADGE;
+    }
+
+    @Override
+    public boolean isAvailable() {
+        if (!super.isAvailable()) {
+            return false;
+        }
+        if (mAppRow == null && mChannel == null) {
+            return false;
+        }
+        if (Settings.Secure.getInt(mContext.getContentResolver(),
+                NOTIFICATION_BADGING, SYSTEM_WIDE_ON) == SYSTEM_WIDE_OFF) {
+            return false;
+        }
+        if (mChannel != null) {
+            if (isDefaultChannel()) {
+                return true;
+            } else {
+                return mAppRow == null ? false : mAppRow.showBadge;
+            }
+        }
+        return true;
+    }
+
+    public void updateState(Preference preference) {
+        if (mAppRow != null) {
+            RestrictedSwitchPreference pref = (RestrictedSwitchPreference) preference;
+            pref.setDisabledByAdmin(mAdmin);
+            if (mChannel != null) {
+                pref.setChecked(mChannel.canShowBadge());
+                pref.setEnabled(!pref.isDisabledByAdmin());
+            } else {
+                pref.setChecked(mAppRow.showBadge);
+            }
+        }
+    }
+
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object newValue) {
+        final boolean showBadge = (Boolean) newValue;
+        if (mChannel != null) {
+            mChannel.setShowBadge(showBadge);
+            saveChannel();
+        } else if (mAppRow != null){
+            mAppRow.showBadge = showBadge;
+            mBackend.setShowBadge(mAppRow.pkg, mAppRow.uid, showBadge);
+        }
+        return true;
+    }
+
+}
diff --git a/src/com/android/settings/notification/app/BlockPreferenceController.java b/src/com/android/settings/notification/app/BlockPreferenceController.java
new file mode 100644
index 0000000..37563c0
--- /dev/null
+++ b/src/com/android/settings/notification/app/BlockPreferenceController.java
@@ -0,0 +1,143 @@
+/*
+ * 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.app;
+
+import static android.app.NotificationManager.IMPORTANCE_DEFAULT;
+import static android.app.NotificationManager.IMPORTANCE_NONE;
+import static android.app.NotificationManager.IMPORTANCE_UNSPECIFIED;
+
+import android.app.NotificationManager;
+import android.content.Context;
+import android.widget.Switch;
+
+import androidx.preference.Preference;
+
+import com.android.settings.R;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settings.notification.NotificationBackend;
+import com.android.settings.widget.SwitchBar;
+import com.android.settingslib.widget.LayoutPreference;
+
+public class BlockPreferenceController extends NotificationPreferenceController
+        implements PreferenceControllerMixin, SwitchBar.OnSwitchChangeListener {
+
+    private static final String KEY_BLOCK = "block";
+    private NotificationSettings.DependentFieldListener mDependentFieldListener;
+
+    public BlockPreferenceController(Context context,
+            NotificationSettings.DependentFieldListener dependentFieldListener,
+            NotificationBackend backend) {
+        super(context, backend);
+        mDependentFieldListener = dependentFieldListener;
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY_BLOCK;
+    }
+
+    @Override
+    public boolean isAvailable() {
+        if (mAppRow == null) {
+            return false;
+        }
+        return true;
+    }
+
+    public void updateState(Preference preference) {
+        LayoutPreference pref = (LayoutPreference) preference;
+        pref.setSelectable(false);
+        SwitchBar bar = pref.findViewById(R.id.switch_bar);
+        if (bar != null) {
+            String switchBarText = getSwitchBarText();
+            bar.setSwitchBarText(switchBarText, switchBarText);
+            bar.show();
+            try {
+                bar.addOnSwitchChangeListener(this);
+            } catch (IllegalStateException e) {
+                // an exception is thrown if you try to add the listener twice
+            }
+            bar.setDisabledByAdmin(mAdmin);
+
+            if (mChannel != null && !isChannelBlockable()) {
+                bar.setEnabled(false);
+            }
+
+            if (mChannelGroup != null && !isChannelGroupBlockable()) {
+                bar.setEnabled(false);
+            }
+
+            if (mChannel == null && mAppRow.systemApp
+                    && (!mAppRow.banned || mAppRow.lockedImportance)) {
+                bar.setEnabled(false);
+            }
+
+            if (mChannel != null) {
+                bar.setChecked(!mAppRow.banned
+                        && mChannel.getImportance() != NotificationManager.IMPORTANCE_NONE);
+            } else if (mChannelGroup != null) {
+                bar.setChecked(!mAppRow.banned && !mChannelGroup.isBlocked());
+            } else {
+                bar.setChecked(!mAppRow.banned);
+            }
+        }
+    }
+
+    @Override
+    public void onSwitchChanged(Switch switchView, boolean isChecked) {
+        boolean blocked = !isChecked;
+        if (mChannel != null) {
+            final int originalImportance = mChannel.getImportance();
+            // setting the initial state of the switch in updateState() triggers this callback.
+            // It's always safe to override the importance if it's meant to be blocked or if
+            // it was blocked and we are unblocking it.
+            if (blocked || originalImportance == IMPORTANCE_NONE) {
+                final int importance = blocked ? IMPORTANCE_NONE
+                        : isDefaultChannel() ? IMPORTANCE_UNSPECIFIED : IMPORTANCE_DEFAULT;
+                mChannel.setImportance(importance);
+                saveChannel();
+            }
+            if (mBackend.onlyHasDefaultChannel(mAppRow.pkg, mAppRow.uid)) {
+                if (mAppRow.banned != blocked) {
+                    mAppRow.banned = blocked;
+                    mBackend.setNotificationsEnabledForPackage(mAppRow.pkg, mAppRow.uid, !blocked);
+                }
+            }
+        } else if (mChannelGroup != null) {
+            mChannelGroup.setBlocked(blocked);
+            mBackend.updateChannelGroup(mAppRow.pkg, mAppRow.uid, mChannelGroup);
+        } else if (mAppRow != null) {
+            mAppRow.banned = blocked;
+            mBackend.setNotificationsEnabledForPackage(mAppRow.pkg, mAppRow.uid, !blocked);
+        }
+        mDependentFieldListener.onFieldValueChanged();
+    }
+
+    String getSwitchBarText() {
+        if (mChannel != null) {
+            return mContext.getString(R.string.notification_content_block_title);
+        } else  {
+            CharSequence fieldContextName;
+            if (mChannelGroup != null) {
+                fieldContextName = mChannelGroup.getName();
+            } else {
+                fieldContextName = mAppRow.label;
+            }
+            return mContext.getString(R.string.notification_switch_label, fieldContextName);
+        }
+    }
+}
diff --git a/src/com/android/settings/notification/app/BubblePreferenceController.java b/src/com/android/settings/notification/app/BubblePreferenceController.java
new file mode 100644
index 0000000..879f17a
--- /dev/null
+++ b/src/com/android/settings/notification/app/BubblePreferenceController.java
@@ -0,0 +1,141 @@
+/*
+ * 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.notification.app;
+
+import static android.provider.Settings.Global.NOTIFICATION_BUBBLES;
+
+import android.annotation.Nullable;
+import android.content.Context;
+import android.provider.Settings;
+
+import androidx.annotation.VisibleForTesting;
+import androidx.fragment.app.FragmentManager;
+import androidx.preference.Preference;
+
+import com.android.settings.R;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settings.notification.NotificationBackend;
+import com.android.settingslib.RestrictedSwitchPreference;
+
+public class BubblePreferenceController extends NotificationPreferenceController
+        implements PreferenceControllerMixin, Preference.OnPreferenceChangeListener {
+
+    private static final String TAG = "BubblePrefContr";
+    private static final String KEY = "bubble_pref";
+    @VisibleForTesting
+    static final int SYSTEM_WIDE_ON = 1;
+    @VisibleForTesting
+    static final int SYSTEM_WIDE_OFF = 0;
+
+    private FragmentManager mFragmentManager;
+    private boolean mIsAppPage;
+
+    public BubblePreferenceController(Context context, @Nullable FragmentManager fragmentManager,
+            NotificationBackend backend, boolean isAppPage) {
+        super(context, backend);
+        mFragmentManager = fragmentManager;
+        mIsAppPage = isAppPage;
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY;
+    }
+
+    @Override
+    public boolean isAvailable() {
+        if (!super.isAvailable()) {
+            return false;
+        }
+        if (!mIsAppPage && !isGloballyEnabled()) {
+            return false;
+        }
+        if (mChannel != null) {
+            if (isDefaultChannel()) {
+                return true;
+            } else {
+                return mAppRow != null && mAppRow.allowBubbles;
+            }
+        }
+        return true;
+    }
+
+    public void updateState(Preference preference) {
+        if (mAppRow != null) {
+            RestrictedSwitchPreference pref = (RestrictedSwitchPreference) preference;
+            pref.setDisabledByAdmin(mAdmin);
+            if (mChannel != null) {
+                pref.setChecked(mChannel.canBubble() && isGloballyEnabled());
+                pref.setEnabled(!pref.isDisabledByAdmin());
+            } else {
+                pref.setChecked(mAppRow.allowBubbles && isGloballyEnabled());
+                pref.setSummary(mContext.getString(
+                        R.string.bubbles_app_toggle_summary, mAppRow.label));
+            }
+        }
+    }
+
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object newValue) {
+        final boolean value = (Boolean) newValue && isGloballyEnabled();
+        if (mChannel != null) {
+            mChannel.setAllowBubbles(value);
+            saveChannel();
+            return true;
+        } else if (mAppRow != null && mFragmentManager != null) {
+            RestrictedSwitchPreference pref = (RestrictedSwitchPreference) preference;
+            // if the global setting is off, toggling app level permission requires extra
+            // confirmation
+            if (!isGloballyEnabled() && !pref.isChecked()) {
+                new BubbleWarningDialogFragment()
+                        .setPkgInfo(mAppRow.pkg, mAppRow.uid)
+                        .show(mFragmentManager, "dialog");
+                return false;
+            } else {
+                mAppRow.allowBubbles = value;
+                mBackend.setAllowBubbles(mAppRow.pkg, mAppRow.uid, value);
+            }
+        }
+        return true;
+    }
+
+    private boolean isGloballyEnabled() {
+        return Settings.Global.getInt(mContext.getContentResolver(),
+                NOTIFICATION_BUBBLES, SYSTEM_WIDE_OFF) == SYSTEM_WIDE_ON;
+    }
+
+    // Used in app level prompt that confirms the user is ok with turning on bubbles
+    // globally. If they aren't, undo what
+    public static void revertBubblesApproval(Context mContext, String pkg, int uid) {
+        NotificationBackend backend = new NotificationBackend();
+        backend.setAllowBubbles(pkg, uid, false);
+        // changing the global settings will cause the observer on the host page to reload
+        // correct preference state
+        Settings.Global.putInt(mContext.getContentResolver(),
+                NOTIFICATION_BUBBLES, SYSTEM_WIDE_OFF);
+    }
+
+    // Apply global bubbles approval
+    public static void applyBubblesApproval(Context mContext, String pkg, int uid) {
+        NotificationBackend backend = new NotificationBackend();
+        backend.setAllowBubbles(pkg, uid, true);
+        // changing the global settings will cause the observer on the host page to reload
+        // correct preference state
+        Settings.Global.putInt(mContext.getContentResolver(),
+                NOTIFICATION_BUBBLES, SYSTEM_WIDE_ON);
+    }
+}
diff --git a/src/com/android/settings/notification/app/BubbleSummaryPreferenceController.java b/src/com/android/settings/notification/app/BubbleSummaryPreferenceController.java
new file mode 100644
index 0000000..f13613c
--- /dev/null
+++ b/src/com/android/settings/notification/app/BubbleSummaryPreferenceController.java
@@ -0,0 +1,107 @@
+/*
+ * 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.notification.app;
+
+import static android.provider.Settings.Global.NOTIFICATION_BUBBLES;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.os.Bundle;
+import android.provider.Settings;
+
+import com.android.settings.R;
+import com.android.settings.applications.AppInfoBase;
+import com.android.settings.core.SubSettingLauncher;
+import com.android.settings.notification.NotificationBackend;
+
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.Preference;
+
+public class BubbleSummaryPreferenceController extends NotificationPreferenceController {
+
+    private static final String KEY = "bubble_link_pref";
+    @VisibleForTesting
+    static final int SYSTEM_WIDE_ON = 1;
+    @VisibleForTesting
+    static final int SYSTEM_WIDE_OFF = 0;
+
+    public BubbleSummaryPreferenceController(Context context, NotificationBackend backend) {
+        super(context, backend);
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY;
+    }
+
+    @Override
+    public boolean isAvailable() {
+        if (!super.isAvailable()) {
+            return false;
+        }
+        if (mAppRow == null && mChannel == null) {
+            return false;
+        }
+        if (mChannel != null) {
+            if (!isGloballyEnabled()) {
+                return false;
+            }
+            if (isDefaultChannel()) {
+                return true;
+            } else {
+                return mAppRow != null && mAppRow.allowBubbles;
+            }
+        }
+        return isGloballyEnabled();
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        super.updateState(preference);
+
+        if (mAppRow != null) {
+            Bundle args = new Bundle();
+            args.putString(AppInfoBase.ARG_PACKAGE_NAME, mAppRow.pkg);
+            args.putInt(AppInfoBase.ARG_PACKAGE_UID, mAppRow.uid);
+
+            preference.setIntent(new SubSettingLauncher(mContext)
+                    .setDestination(AppBubbleNotificationSettings.class.getName())
+                    .setArguments(args)
+                    .setSourceMetricsCategory(
+                            SettingsEnums.NOTIFICATION_APP_NOTIFICATION)
+                    .toIntent());
+        }
+    }
+
+    @Override
+    public CharSequence getSummary() {
+        boolean canBubble = false;
+        if (mAppRow != null) {
+            if (mChannel != null) {
+               canBubble |= mChannel.canBubble() && isGloballyEnabled();
+            } else {
+               canBubble |= mAppRow.allowBubbles && isGloballyEnabled();
+            }
+        }
+        return mContext.getString(canBubble ? R.string.switch_on_text : R.string.switch_off_text);
+    }
+
+    private boolean isGloballyEnabled() {
+        return Settings.Global.getInt(mContext.getContentResolver(),
+                NOTIFICATION_BUBBLES, SYSTEM_WIDE_OFF) == SYSTEM_WIDE_ON;
+    }
+}
diff --git a/src/com/android/settings/notification/app/BubbleWarningDialogFragment.java b/src/com/android/settings/notification/app/BubbleWarningDialogFragment.java
new file mode 100644
index 0000000..d3aa758
--- /dev/null
+++ b/src/com/android/settings/notification/app/BubbleWarningDialogFragment.java
@@ -0,0 +1,70 @@
+/*
+ * 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.notification.app;
+
+import android.app.Dialog;
+import android.app.settings.SettingsEnums;
+import android.os.Bundle;
+
+import androidx.appcompat.app.AlertDialog;
+
+import com.android.settings.R;
+import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
+
+public class BubbleWarningDialogFragment extends InstrumentedDialogFragment {
+    static final String KEY_PKG = "p";
+    static final String KEY_UID = "u";
+
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.DIALOG_APP_BUBBLE_SETTINGS;
+    }
+
+    public BubbleWarningDialogFragment setPkgInfo(String pkg, int uid) {
+        Bundle args = new Bundle();
+        args.putString(KEY_PKG, pkg);
+        args.putInt(KEY_UID, uid);
+        setArguments(args);
+        return this;
+    }
+
+    @Override
+    public Dialog onCreateDialog(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        final Bundle args = getArguments();
+        final String pkg = args.getString(KEY_PKG);
+        final int uid = args.getInt(KEY_UID);
+
+        final String title =
+                getResources().getString(R.string.bubbles_feature_disabled_dialog_title);
+        final String summary = getResources()
+                .getString(R.string.bubbles_feature_disabled_dialog_text);
+        return new AlertDialog.Builder(getContext())
+                .setMessage(summary)
+                .setTitle(title)
+                .setCancelable(true)
+                .setPositiveButton(R.string.bubbles_feature_disabled_button_approve,
+                        (dialog, id) ->
+                                BubblePreferenceController.applyBubblesApproval(
+                                        getContext(), pkg, uid))
+                .setNegativeButton(R.string.bubbles_feature_disabled_button_cancel,
+                        (dialog, id) ->
+                                BubblePreferenceController.revertBubblesApproval(
+                                        getContext(), pkg, uid))
+                .create();
+    }
+}
diff --git a/src/com/android/settings/notification/app/ChannelListPreferenceController.java b/src/com/android/settings/notification/app/ChannelListPreferenceController.java
new file mode 100644
index 0000000..187e7e1
--- /dev/null
+++ b/src/com/android/settings/notification/app/ChannelListPreferenceController.java
@@ -0,0 +1,315 @@
+/*
+ * 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.notification.app;
+
+import static android.app.NotificationManager.IMPORTANCE_LOW;
+import static android.app.NotificationManager.IMPORTANCE_NONE;
+
+import android.app.NotificationChannel;
+import android.app.NotificationChannelGroup;
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.graphics.BlendMode;
+import android.graphics.BlendModeColorFilter;
+import android.graphics.drawable.Drawable;
+import android.graphics.drawable.GradientDrawable;
+import android.graphics.drawable.LayerDrawable;
+import android.os.AsyncTask;
+import android.os.Bundle;
+import android.provider.Settings;
+import android.text.TextUtils;
+
+import com.android.settings.R;
+import com.android.settings.Utils;
+import com.android.settings.applications.AppInfoBase;
+import com.android.settings.core.SubSettingLauncher;
+import com.android.settings.notification.NotificationBackend;
+import com.android.settings.widget.MasterSwitchPreference;
+import com.android.settingslib.RestrictedSwitchPreference;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.List;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceCategory;
+import androidx.preference.PreferenceGroup;
+import androidx.preference.SwitchPreference;
+
+public class ChannelListPreferenceController extends NotificationPreferenceController {
+
+    private static final String KEY = "channels";
+    private static String KEY_GENERAL_CATEGORY = "categories";
+    public static final String ARG_FROM_SETTINGS = "fromSettings";
+
+    private List<NotificationChannelGroup> mChannelGroupList;
+    private PreferenceCategory mPreference;
+
+    public ChannelListPreferenceController(Context context, NotificationBackend backend) {
+        super(context, backend);
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY;
+    }
+
+    @Override
+    public boolean isAvailable() {
+        if (mAppRow == null) {
+            return false;
+        }
+        if (mAppRow.banned) {
+            return false;
+        }
+        if (mChannel != null) {
+            if (mBackend.onlyHasDefaultChannel(mAppRow.pkg, mAppRow.uid)
+                    || NotificationChannel.DEFAULT_CHANNEL_ID.equals(mChannel.getId())) {
+                return false;
+            }
+        }
+        return true;
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        mPreference = (PreferenceCategory) preference;
+        // Load channel settings
+        new AsyncTask<Void, Void, Void>() {
+            @Override
+            protected Void doInBackground(Void... unused) {
+                mChannelGroupList = mBackend.getGroups(mAppRow.pkg, mAppRow.uid).getList();
+                Collections.sort(mChannelGroupList, mChannelGroupComparator);
+                return null;
+            }
+
+            @Override
+            protected void onPostExecute(Void unused) {
+                if (mContext == null) {
+                    return;
+                }
+                populateList();
+            }
+        }.execute();
+    }
+
+    private void populateList() {
+        // TODO: if preference has children, compare with newly loaded list
+        mPreference.removeAll();
+
+        if (mChannelGroupList.isEmpty()) {
+            PreferenceCategory groupCategory = new PreferenceCategory(mContext);
+            groupCategory.setTitle(R.string.notification_channels);
+            groupCategory.setKey(KEY_GENERAL_CATEGORY);
+            mPreference.addPreference(groupCategory);
+
+            Preference empty = new Preference(mContext);
+            empty.setTitle(R.string.no_channels);
+            empty.setEnabled(false);
+            groupCategory.addPreference(empty);
+        } else {
+            populateGroupList();
+        }
+    }
+
+    private void populateGroupList() {
+        for (NotificationChannelGroup group : mChannelGroupList) {
+            PreferenceCategory groupCategory = new PreferenceCategory(mContext);
+            groupCategory.setOrderingAsAdded(true);
+            mPreference.addPreference(groupCategory);
+            if (group.getId() == null) {
+                groupCategory.setTitle(R.string.notification_channels_other);
+                groupCategory.setKey(KEY_GENERAL_CATEGORY);
+            } else {
+                groupCategory.setTitle(group.getName());
+                groupCategory.setKey(group.getId());
+                populateGroupToggle(groupCategory, group);
+            }
+            if (!group.isBlocked()) {
+                final List<NotificationChannel> channels = group.getChannels();
+                Collections.sort(channels, mChannelComparator);
+                int N = channels.size();
+                for (int i = 0; i < N; i++) {
+                    final NotificationChannel channel = channels.get(i);
+                    // conversations get their own section
+                    if (TextUtils.isEmpty(channel.getConversationId()) || channel.isDemoted()) {
+                        populateSingleChannelPrefs(groupCategory, channel, group.isBlocked());
+                    }
+                }
+            }
+        }
+    }
+
+    protected void populateGroupToggle(final PreferenceGroup parent,
+            NotificationChannelGroup group) {
+        RestrictedSwitchPreference preference =
+                new RestrictedSwitchPreference(mContext);
+        preference.setTitle(mContext.getString(
+                R.string.notification_switch_label, group.getName()));
+        preference.setEnabled(mAdmin == null
+                && isChannelGroupBlockable(group));
+        preference.setChecked(!group.isBlocked());
+        preference.setOnPreferenceClickListener(preference1 -> {
+            final boolean allowGroup = ((SwitchPreference) preference1).isChecked();
+            group.setBlocked(!allowGroup);
+            mBackend.updateChannelGroup(mAppRow.pkg, mAppRow.uid, group);
+
+            onGroupBlockStateChanged(group);
+            return true;
+        });
+
+        parent.addPreference(preference);
+    }
+
+    protected Preference populateSingleChannelPrefs(PreferenceGroup parent,
+            final NotificationChannel channel, final boolean groupBlocked) {
+        MasterSwitchPreference channelPref = new MasterSwitchPreference(mContext);
+        channelPref.setSwitchEnabled(mAdmin == null
+                && isChannelBlockable(channel)
+                && isChannelConfigurable(channel)
+                && !groupBlocked);
+        channelPref.setIcon(null);
+        if (channel.getImportance() > IMPORTANCE_LOW) {
+            channelPref.setIcon(getAlertingIcon());
+        }
+        channelPref.setIconSize(MasterSwitchPreference.ICON_SIZE_SMALL);
+        channelPref.setKey(channel.getId());
+        channelPref.setTitle(channel.getName());
+        channelPref.setSummary(NotificationBackend.getSentSummary(
+                mContext, mAppRow.sentByChannel.get(channel.getId()), false));
+        channelPref.setChecked(channel.getImportance() != IMPORTANCE_NONE);
+        Bundle channelArgs = new Bundle();
+        channelArgs.putInt(AppInfoBase.ARG_PACKAGE_UID, mAppRow.uid);
+        channelArgs.putString(AppInfoBase.ARG_PACKAGE_NAME, mAppRow.pkg);
+        channelArgs.putString(Settings.EXTRA_CHANNEL_ID, channel.getId());
+        channelArgs.putBoolean(ARG_FROM_SETTINGS, true);
+        channelPref.setIntent(new SubSettingLauncher(mContext)
+                .setDestination(ChannelNotificationSettings.class.getName())
+                .setArguments(channelArgs)
+                .setTitleRes(R.string.notification_channel_title)
+                .setSourceMetricsCategory(SettingsEnums.NOTIFICATION_APP_NOTIFICATION)
+                .toIntent());
+
+        channelPref.setOnPreferenceChangeListener(
+                (preference, o) -> {
+                    boolean value = (Boolean) o;
+                    int importance = value ? IMPORTANCE_LOW : IMPORTANCE_NONE;
+                    channel.setImportance(importance);
+                    channel.lockFields(
+                            NotificationChannel.USER_LOCKED_IMPORTANCE);
+                    MasterSwitchPreference channelPref1 = (MasterSwitchPreference) preference;
+                    channelPref1.setIcon(null);
+                    if (channel.getImportance() > IMPORTANCE_LOW) {
+                        channelPref1.setIcon(getAlertingIcon());
+                    }
+                    toggleBehaviorIconState(channelPref1.getIcon(),
+                            importance != IMPORTANCE_NONE);
+                    mBackend.updateChannel(mAppRow.pkg, mAppRow.uid, channel);
+
+                    return true;
+                });
+        if (parent.findPreference(channelPref.getKey()) == null) {
+            parent.addPreference(channelPref);
+        }
+        return channelPref;
+    }
+
+    private Drawable getAlertingIcon() {
+        Drawable icon = mContext.getDrawable(R.drawable.ic_notifications_alert);
+        icon.setTintList(Utils.getColorAccent(mContext));
+        return icon;
+    }
+
+    private void toggleBehaviorIconState(Drawable icon, boolean enabled) {
+        if (icon == null) return;
+
+        LayerDrawable layerDrawable = (LayerDrawable) icon;
+        GradientDrawable background =
+                (GradientDrawable) layerDrawable.findDrawableByLayerId(R.id.back);
+
+        if (background == null) return;
+
+        if (enabled) {
+            background.clearColorFilter();
+        } else {
+            background.setColorFilter(new BlendModeColorFilter(
+                    mContext.getColor(R.color.material_grey_300),
+                    BlendMode.SRC_IN));
+        }
+    }
+
+    protected void onGroupBlockStateChanged(NotificationChannelGroup group) {
+        if (group == null) {
+            return;
+        }
+        PreferenceGroup groupGroup = mPreference.findPreference(group.getId());
+
+        if (groupGroup != null) {
+            if (group.isBlocked()) {
+                List<Preference> toRemove = new ArrayList<>();
+                int childCount = groupGroup.getPreferenceCount();
+                for (int i = 0; i < childCount; i++) {
+                    Preference pref = groupGroup.getPreference(i);
+                    if (pref instanceof MasterSwitchPreference) {
+                        toRemove.add(pref);
+                    }
+                }
+                for (Preference pref : toRemove) {
+                    groupGroup.removePreference(pref);
+                }
+            } else {
+                final List<NotificationChannel> channels = group.getChannels();
+                Collections.sort(channels, mChannelComparator);
+                int N = channels.size();
+                for (int i = 0; i < N; i++) {
+                    final NotificationChannel channel = channels.get(i);
+                    populateSingleChannelPrefs(groupGroup, channel, group.isBlocked());
+                }
+            }
+        }
+    }
+
+    private Comparator<NotificationChannelGroup> mChannelGroupComparator =
+            new Comparator<NotificationChannelGroup>() {
+
+                @Override
+                public int compare(NotificationChannelGroup left, NotificationChannelGroup right) {
+                    // Non-grouped channels (in placeholder group with a null id) come last
+                    if (left.getId() == null && right.getId() != null) {
+                        return 1;
+                    } else if (right.getId() == null && left.getId() != null) {
+                        return -1;
+                    }
+                    return left.getId().compareTo(right.getId());
+                }
+            };
+
+    protected Comparator<NotificationChannel> mChannelComparator =
+            (left, right) -> {
+                if (left.isDeleted() != right.isDeleted()) {
+                    return Boolean.compare(left.isDeleted(), right.isDeleted());
+                } else if (left.getId().equals(NotificationChannel.DEFAULT_CHANNEL_ID)) {
+                    // Uncategorized/miscellaneous legacy channel goes last
+                    return 1;
+                } else if (right.getId().equals(NotificationChannel.DEFAULT_CHANNEL_ID)) {
+                    return -1;
+                }
+
+                return left.getId().compareTo(right.getId());
+            };
+}
diff --git a/src/com/android/settings/notification/app/ChannelNotificationSettings.java b/src/com/android/settings/notification/app/ChannelNotificationSettings.java
new file mode 100644
index 0000000..9d80304
--- /dev/null
+++ b/src/com/android/settings/notification/app/ChannelNotificationSettings.java
@@ -0,0 +1,137 @@
+/*
+ * 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.notification.app;
+
+import static com.android.settings.notification.app.ChannelListPreferenceController.ARG_FROM_SETTINGS;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.content.Intent;
+import android.os.Bundle;
+import android.preference.PreferenceManager;
+import android.text.TextUtils;
+import android.util.Log;
+
+import androidx.preference.PreferenceScreen;
+
+import com.android.internal.widget.LockPatternUtils;
+import com.android.settings.R;
+import com.android.settings.core.SubSettingLauncher;
+import com.android.settingslib.core.AbstractPreferenceController;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class ChannelNotificationSettings extends NotificationSettings {
+    private static final String TAG = "ChannelSettings";
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.NOTIFICATION_TOPIC_NOTIFICATION;
+    }
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        final PreferenceScreen screen = getPreferenceScreen();
+        Bundle args = getArguments();
+        // If linking to this screen from an external app, expand settings
+        if (screen != null && args != null) {
+            if (!args.getBoolean(ARG_FROM_SETTINGS, false)) {
+                screen.setInitialExpandedChildrenCount(Integer.MAX_VALUE);
+            }
+        }
+    }
+
+    @Override
+    public void onResume() {
+        super.onResume();
+        if (mUid < 0 || TextUtils.isEmpty(mPkg) || mPkgInfo == null || mChannel == null) {
+            Log.w(TAG, "Missing package or uid or packageinfo or channel");
+            finish();
+            return;
+        }
+
+        if (mChannel != null && !TextUtils.isEmpty(mChannel.getConversationId())
+            && !mChannel.isDemoted()) {
+            startActivity(new SubSettingLauncher(mContext)
+                    .setDestination(ConversationNotificationSettings.class.getName())
+                    .setArguments(getArguments())
+                    .setExtras(getIntent() != null ? getIntent().getExtras(): null)
+                    .setSourceMetricsCategory(SettingsEnums.NOTIFICATION_TOPIC_NOTIFICATION)
+                    .toIntent());
+            finish();
+            return;
+        }
+
+        for (NotificationPreferenceController controller : mControllers) {
+            controller.onResume(mAppRow, mChannel, mChannelGroup, null, null, mSuspendedAppsAdmin);
+            controller.displayPreference(getPreferenceScreen());
+        }
+        updatePreferenceStates();
+    }
+
+    @Override
+    public void onActivityResult(int requestCode, int resultCode, Intent data) {
+        for (NotificationPreferenceController controller : mControllers) {
+            if (controller instanceof PreferenceManager.OnActivityResultListener) {
+                ((PreferenceManager.OnActivityResultListener) controller)
+                        .onActivityResult(requestCode, resultCode, data);
+            }
+        }
+    }
+
+    @Override
+    protected String getLogTag() {
+        return TAG;
+    }
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return  R.xml.channel_notification_settings;
+    }
+
+    @Override
+    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
+        mControllers = new ArrayList<>();
+        mControllers.add(new HeaderPreferenceController(context, this));
+        mControllers.add(new BlockPreferenceController(context, mDependentFieldListener, mBackend));
+        mControllers.add(new ImportancePreferenceController(
+                context, mDependentFieldListener, mBackend));
+        mControllers.add(new MinImportancePreferenceController(
+                context, mDependentFieldListener, mBackend));
+        mControllers.add(new HighImportancePreferenceController(
+                context, mDependentFieldListener, mBackend));
+        mControllers.add(new AllowSoundPreferenceController(
+                context, mDependentFieldListener, mBackend));
+        mControllers.add(new SoundPreferenceController(context, this,
+                mDependentFieldListener, mBackend));
+        mControllers.add(new VibrationPreferenceController(context, mBackend));
+        mControllers.add(new AppLinkPreferenceController(context));
+        mControllers.add(new DescriptionPreferenceController(context));
+        mControllers.add(new VisibilityPreferenceController(context, new LockPatternUtils(context),
+                mBackend));
+        mControllers.add(new LightsPreferenceController(context, mBackend));
+        mControllers.add(new BadgePreferenceController(context, mBackend));
+        mControllers.add(new DndPreferenceController(context, mBackend));
+        mControllers.add(new NotificationsOffPreferenceController(context));
+        mControllers.add(new BubblePreferenceController(context, getChildFragmentManager(),
+                mBackend, false /* isAppPage */));
+        mControllers.add(new ConversationPromotePreferenceController(context, this, mBackend));
+        return new ArrayList<>(mControllers);
+    }
+}
diff --git a/src/com/android/settings/notification/app/ConversationDemotePreferenceController.java b/src/com/android/settings/notification/app/ConversationDemotePreferenceController.java
new file mode 100644
index 0000000..6583a23
--- /dev/null
+++ b/src/com/android/settings/notification/app/ConversationDemotePreferenceController.java
@@ -0,0 +1,75 @@
+/*
+ * 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.notification.app;
+
+import android.content.Context;
+import android.text.TextUtils;
+
+import androidx.preference.Preference;
+
+import com.android.settings.SettingsPreferenceFragment;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settings.notification.NotificationBackend;
+import com.android.settingslib.RestrictedSwitchPreference;
+
+public class ConversationDemotePreferenceController extends NotificationPreferenceController
+        implements PreferenceControllerMixin {
+
+    private static final String KEY = "demote";
+
+    SettingsPreferenceFragment mHostFragment;
+
+    public ConversationDemotePreferenceController(Context context,
+            SettingsPreferenceFragment hostFragment,
+            NotificationBackend backend) {
+        super(context, backend);
+        mHostFragment = hostFragment;
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY;
+    }
+
+    @Override
+    public boolean isAvailable() {
+        if (!super.isAvailable()) {
+            return false;
+        }
+        if (mAppRow == null || mChannel == null) {
+            return false;
+        }
+        return !TextUtils.isEmpty(mChannel.getConversationId()) && !mChannel.isDemoted();
+    }
+
+    public void updateState(Preference preference) {
+        preference.setEnabled(mAdmin == null);
+    }
+
+    @Override
+    public boolean handlePreferenceTreeClick(Preference preference) {
+        if (KEY.equals(preference.getKey())) {
+            mChannel.setDemoted(true);
+            saveChannel();
+
+            mHostFragment.getActivity().finish();
+
+            return true;
+        }
+        return false;
+    }
+}
diff --git a/src/com/android/settings/notification/app/ConversationHeaderPreferenceController.java b/src/com/android/settings/notification/app/ConversationHeaderPreferenceController.java
new file mode 100644
index 0000000..c74b032
--- /dev/null
+++ b/src/com/android/settings/notification/app/ConversationHeaderPreferenceController.java
@@ -0,0 +1,130 @@
+/*
+ * 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.notification.app;
+
+import static com.android.settings.widget.EntityHeaderController.PREF_KEY_APP_HEADER;
+
+import android.app.Activity;
+import android.content.Context;
+import android.text.BidiFormatter;
+import android.text.SpannableStringBuilder;
+import android.text.TextUtils;
+import android.view.View;
+
+import androidx.annotation.VisibleForTesting;
+import androidx.lifecycle.LifecycleObserver;
+import androidx.lifecycle.OnLifecycleEvent;
+import androidx.preference.Preference;
+
+import com.android.settings.R;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.widget.EntityHeaderController;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+import com.android.settingslib.widget.LayoutPreference;
+
+public class ConversationHeaderPreferenceController extends NotificationPreferenceController
+        implements PreferenceControllerMixin, LifecycleObserver {
+
+    private final DashboardFragment mFragment;
+    private EntityHeaderController mHeaderController;
+    private boolean mStarted = false;
+
+    public ConversationHeaderPreferenceController(Context context, DashboardFragment fragment) {
+        super(context, null);
+        mFragment = fragment;
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return PREF_KEY_APP_HEADER;
+    }
+
+    @Override
+    public boolean isAvailable() {
+        return mAppRow != null;
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        if (mAppRow != null && mFragment != null) {
+
+            Activity activity = null;
+            if (mStarted) {
+                // don't call done on an activity if it hasn't started yet
+                activity = mFragment.getActivity();
+            }
+
+            if (activity == null) {
+                return;
+            }
+
+            LayoutPreference pref = (LayoutPreference) preference;
+            mHeaderController = EntityHeaderController.newInstance(
+                    activity, mFragment, pref.findViewById(R.id.entity_header));
+            pref = mHeaderController.setIcon(mConversationDrawable)
+                    .setLabel(getLabel())
+                    .setSummary(getSummary())
+                    .setPackageName(mAppRow.pkg)
+                    .setUid(mAppRow.uid)
+                    .setButtonActions(EntityHeaderController.ActionType.ACTION_NOTIF_PREFERENCE,
+                            EntityHeaderController.ActionType.ACTION_NONE)
+                    .setHasAppInfoLink(true)
+                    .setRecyclerView(mFragment.getListView(), mFragment.getSettingsLifecycle())
+                    .done(activity, mContext);
+
+            pref.findViewById(R.id.entity_header).setVisibility(View.VISIBLE);
+        }
+    }
+
+    @Override
+    public CharSequence getSummary() {
+        if (mChannel != null && !isDefaultChannel()) {
+            if (mChannelGroup != null
+                    && !TextUtils.isEmpty(mChannelGroup.getName())) {
+                final SpannableStringBuilder summary = new SpannableStringBuilder();
+                BidiFormatter bidi = BidiFormatter.getInstance();
+                summary.append(bidi.unicodeWrap(mAppRow.label.toString()));
+                summary.append(bidi.unicodeWrap(mContext.getText(
+                        R.string.notification_header_divider_symbol_with_spaces)));
+                summary.append(bidi.unicodeWrap(mChannelGroup.getName().toString()));
+                return summary.toString();
+            } else {
+                return mAppRow.label.toString();
+            }
+        } else if (mChannelGroup != null) {
+            return mAppRow.label.toString();
+        } else {
+            return "";
+        }
+    }
+
+    @OnLifecycleEvent(Lifecycle.Event.ON_START)
+    public void onStart() {
+        mStarted = true;
+        if (mHeaderController != null) {
+            mHeaderController.styleActionBar(mFragment.getActivity());
+        }
+    }
+
+    @VisibleForTesting
+    CharSequence getLabel() {
+        return mConversationInfo != null
+                ? mConversationInfo.getShortLabel()
+                : mChannel.getName();
+    }
+}
diff --git a/src/com/android/settings/notification/app/ConversationImportantPreferenceController.java b/src/com/android/settings/notification/app/ConversationImportantPreferenceController.java
new file mode 100644
index 0000000..0b1ee16
--- /dev/null
+++ b/src/com/android/settings/notification/app/ConversationImportantPreferenceController.java
@@ -0,0 +1,88 @@
+/*
+ * 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.notification.app;
+
+import static android.provider.Settings.Secure.BUBBLE_IMPORTANT_CONVERSATIONS;
+
+import android.content.Context;
+import android.provider.Settings;
+
+import androidx.preference.Preference;
+
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settings.notification.NotificationBackend;
+import com.android.settingslib.RestrictedSwitchPreference;
+
+public class ConversationImportantPreferenceController extends NotificationPreferenceController
+        implements PreferenceControllerMixin, Preference.OnPreferenceChangeListener {
+
+    private static final String TAG = "ConvoImpPC";
+    private static final String KEY = "important";
+    private final NotificationSettings.DependentFieldListener mDependentFieldListener;
+
+    public ConversationImportantPreferenceController(Context context,
+            NotificationBackend backend, NotificationSettings.DependentFieldListener listener) {
+        super(context, backend);
+        mDependentFieldListener = listener;
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY;
+    }
+
+    @Override
+    public boolean isAvailable() {
+        if (!super.isAvailable()) {
+            return false;
+        }
+        if (mAppRow == null || mChannel == null) {
+            return false;
+        }
+        return true;
+    }
+
+    public void updateState(Preference preference) {
+        if (mAppRow != null) {
+            RestrictedSwitchPreference pref = (RestrictedSwitchPreference) preference;
+            pref.setDisabledByAdmin(mAdmin);
+            pref.setChecked(mChannel.isImportantConversation());
+            pref.setEnabled(!pref.isDisabledByAdmin());
+        }
+    }
+
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object newValue) {
+        if (mChannel == null) {
+            return false;
+        }
+        final boolean value = (Boolean) newValue;
+        mChannel.setImportantConversation(value);
+        if (value && bubbleImportantConversations()) {
+            mChannel.setAllowBubbles(true);
+        }
+        mDependentFieldListener.onFieldValueChanged();
+        saveChannel();
+
+        return true;
+    }
+
+    private boolean bubbleImportantConversations() {
+        return Settings.Secure.getInt(mContext.getContentResolver(),
+                BUBBLE_IMPORTANT_CONVERSATIONS, 1) == 1;
+    }
+}
diff --git a/src/com/android/settings/notification/app/ConversationListPreferenceController.java b/src/com/android/settings/notification/app/ConversationListPreferenceController.java
new file mode 100644
index 0000000..0ca31df
--- /dev/null
+++ b/src/com/android/settings/notification/app/ConversationListPreferenceController.java
@@ -0,0 +1,150 @@
+/*
+ * 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.notification.app;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.ShortcutInfo;
+import android.os.Bundle;
+import android.provider.Settings;
+import android.service.notification.ConversationChannelWrapper;
+import android.text.TextUtils;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceGroup;
+
+import com.android.settings.R;
+import com.android.settings.applications.AppInfoBase;
+import com.android.settings.core.SubSettingLauncher;
+import com.android.settings.notification.NotificationBackend;
+import com.android.settingslib.core.AbstractPreferenceController;
+
+import java.text.Collator;
+import java.util.Comparator;
+import java.util.List;
+
+public abstract class ConversationListPreferenceController extends AbstractPreferenceController {
+
+    private static final String KEY = "all_conversations";
+
+    protected final NotificationBackend mBackend;
+
+    public ConversationListPreferenceController(Context context,
+            NotificationBackend backend) {
+        super(context);
+        mBackend = backend;
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY;
+    }
+
+    @Override
+    public boolean isAvailable() {
+        return true;
+    }
+
+    protected void populateList(List<ConversationChannelWrapper> conversations,
+            PreferenceGroup outerContainer, PreferenceGroup innerContainer) {
+        // TODO: if preference has children, compare with newly loaded list
+        if (conversations.isEmpty()) {
+            outerContainer.setVisible(false);
+        } else {
+            outerContainer.setVisible(true);
+            populateConversations(conversations, innerContainer);
+        }
+    }
+
+    protected void populateConversations(List<ConversationChannelWrapper> conversations,
+            PreferenceGroup containerGroup) {
+        containerGroup.removeAll();
+        for (ConversationChannelWrapper conversation : conversations) {
+            if (conversation.getNotificationChannel().isDemoted()) {
+                continue;
+            }
+            containerGroup.addPreference(createConversationPref(conversation));
+        }
+    }
+
+    protected Preference createConversationPref(final ConversationChannelWrapper conversation) {
+        Preference pref = new Preference(mContext);
+
+        pref.setTitle(getTitle(conversation));
+        pref.setSummary(getSummary(conversation));
+        pref.setIcon(mBackend.getConversationDrawable(mContext, conversation.getShortcutInfo(),
+                conversation.getPkg(), conversation.getUid(),
+                conversation.getNotificationChannel().isImportantConversation()));
+        pref.setKey(conversation.getNotificationChannel().getId());
+        pref.setIntent(getIntent(conversation, pref.getTitle()));
+
+        return pref;
+    }
+
+    CharSequence getSummary(ConversationChannelWrapper conversation) {
+        return TextUtils.isEmpty(conversation.getGroupLabel())
+                ? conversation.getParentChannelLabel()
+                : mContext.getString(R.string.notification_conversation_summary,
+                conversation.getParentChannelLabel(), conversation.getGroupLabel());
+    }
+
+    CharSequence getTitle(ConversationChannelWrapper conversation) {
+        ShortcutInfo si = conversation.getShortcutInfo();
+        return si != null
+                ? si.getShortLabel()
+                : conversation.getNotificationChannel().getName();
+    }
+
+    Intent getIntent(ConversationChannelWrapper conversation, CharSequence title) {
+        Bundle channelArgs = new Bundle();
+        channelArgs.putInt(AppInfoBase.ARG_PACKAGE_UID, conversation.getUid());
+        channelArgs.putString(AppInfoBase.ARG_PACKAGE_NAME, conversation.getPkg());
+        channelArgs.putString(Settings.EXTRA_CHANNEL_ID,
+                conversation.getNotificationChannel().getId());
+        channelArgs.putString(Settings.EXTRA_CONVERSATION_ID,
+                conversation.getNotificationChannel().getConversationId());
+
+        return new SubSettingLauncher(mContext)
+                .setDestination(ChannelNotificationSettings.class.getName())
+                .setArguments(channelArgs)
+                .setExtras(channelArgs)
+                .setTitleText(title)
+                .setSourceMetricsCategory(SettingsEnums.NOTIFICATION_CONVERSATION_LIST_SETTINGS)
+                .toIntent();
+    }
+
+    protected Comparator<ConversationChannelWrapper> mConversationComparator =
+            new Comparator<ConversationChannelWrapper>() {
+                private final Collator sCollator = Collator.getInstance();
+                @Override
+                public int compare(ConversationChannelWrapper o1, ConversationChannelWrapper o2) {
+                    if (o1.getShortcutInfo() != null && o2.getShortcutInfo() == null) {
+                        return -1;
+                    }
+                    if (o1.getShortcutInfo() == null && o2.getShortcutInfo() != null) {
+                        return 1;
+                    }
+                    if (o1.getShortcutInfo() == null && o2.getShortcutInfo() == null) {
+                        return o1.getNotificationChannel().getId().compareTo(
+                                o2.getNotificationChannel().getId());
+                    }
+                    return sCollator.compare(o1.getShortcutInfo().getShortLabel(),
+                            o2.getShortcutInfo().getShortLabel());
+                }
+            };
+}
diff --git a/src/com/android/settings/notification/app/ConversationListSettings.java b/src/com/android/settings/notification/app/ConversationListSettings.java
new file mode 100644
index 0000000..aaeaa95
--- /dev/null
+++ b/src/com/android/settings/notification/app/ConversationListSettings.java
@@ -0,0 +1,67 @@
+/*
+ * 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.notification.app;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.os.Bundle;
+import android.text.TextUtils;
+import android.util.Log;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceGroup;
+import androidx.preference.PreferenceScreen;
+
+import com.android.internal.widget.LockPatternUtils;
+import com.android.settings.R;
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.notification.NotificationBackend;
+import com.android.settingslib.core.AbstractPreferenceController;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class ConversationListSettings extends DashboardFragment {
+    private static final String TAG = "ConvoListSettings";
+    private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
+
+    NotificationBackend mBackend = new NotificationBackend();
+    protected List<AbstractPreferenceController> mControllers = new ArrayList<>();
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.NOTIFICATION_CONVERSATION_LIST_SETTINGS;
+    }
+
+    @Override
+    protected String getLogTag() {
+        return TAG;
+    }
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.conversation_list_settings;
+    }
+
+    @Override
+    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
+        mControllers = new ArrayList<>();
+        mControllers.add(new ImportantConversationsPreferenceController(context, mBackend));
+        mControllers.add(new AllConversationsPreferenceController(context, mBackend));
+        return new ArrayList<>(mControllers);
+    }
+}
diff --git a/src/com/android/settings/notification/app/ConversationNotificationSettings.java b/src/com/android/settings/notification/app/ConversationNotificationSettings.java
new file mode 100644
index 0000000..c5a8e6e
--- /dev/null
+++ b/src/com/android/settings/notification/app/ConversationNotificationSettings.java
@@ -0,0 +1,104 @@
+/*
+ * 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.notification.app;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.content.Intent;
+import android.preference.PreferenceManager;
+import android.text.TextUtils;
+import android.util.Log;
+
+import com.android.internal.widget.LockPatternUtils;
+import com.android.settings.R;
+import com.android.settingslib.core.AbstractPreferenceController;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class ConversationNotificationSettings extends NotificationSettings {
+    private static final String TAG = "ConvoSettings";
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.NOTIFICATION_CONVERSATION_SETTINGS;
+    }
+
+    @Override
+    public void onResume() {
+        super.onResume();
+        if (mUid < 0 || TextUtils.isEmpty(mPkg) || mPkgInfo == null || mChannel == null) {
+            Log.w(TAG, "Missing package or uid or packageinfo or channel");
+            finish();
+            return;
+        }
+
+        for (NotificationPreferenceController controller : mControllers) {
+            controller.onResume(mAppRow, mChannel, mChannelGroup, mConversationDrawable,
+                    mConversationInfo, mSuspendedAppsAdmin);
+            controller.displayPreference(getPreferenceScreen());
+        }
+        updatePreferenceStates();
+    }
+
+    @Override
+    public void onActivityResult(int requestCode, int resultCode, Intent data) {
+        for (NotificationPreferenceController controller : mControllers) {
+            if (controller instanceof PreferenceManager.OnActivityResultListener) {
+                ((PreferenceManager.OnActivityResultListener) controller)
+                        .onActivityResult(requestCode, resultCode, data);
+            }
+        }
+    }
+
+    @Override
+    protected String getLogTag() {
+        return TAG;
+    }
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.conversation_notification_settings;
+    }
+
+    @Override
+    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
+        mControllers = new ArrayList<>();
+        mControllers.add(new ConversationHeaderPreferenceController(context, this));
+        mControllers.add(new ConversationImportantPreferenceController(
+                context, mBackend, mDependentFieldListener));
+        mControllers.add(new DefaultImportancePreferenceController(
+                context, mDependentFieldListener, mBackend));
+        mControllers.add(new AddToHomeScreenPreferenceController(context, mBackend));
+        mControllers.add(new HighImportancePreferenceController(
+                context, mDependentFieldListener, mBackend));
+        mControllers.add(new SoundPreferenceController(context, this,
+                mDependentFieldListener, mBackend));
+        mControllers.add(new VibrationPreferenceController(context, mBackend));
+        mControllers.add(new AppLinkPreferenceController(context));
+        mControllers.add(new DescriptionPreferenceController(context));
+        mControllers.add(new VisibilityPreferenceController(context, new LockPatternUtils(context),
+                mBackend));
+        mControllers.add(new LightsPreferenceController(context, mBackend));
+        mControllers.add(new BadgePreferenceController(context, mBackend));
+        mControllers.add(new NotificationsOffPreferenceController(context));
+        mControllers.add(new BubblePreferenceController(context, getChildFragmentManager(),
+                mBackend, false /* isAppPage */));
+        mControllers.add(new ConversationDemotePreferenceController(context, this, mBackend));
+        return new ArrayList<>(mControllers);
+    }
+}
diff --git a/src/com/android/settings/notification/app/ConversationPromotePreferenceController.java b/src/com/android/settings/notification/app/ConversationPromotePreferenceController.java
new file mode 100644
index 0000000..766e4aa
--- /dev/null
+++ b/src/com/android/settings/notification/app/ConversationPromotePreferenceController.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.notification.app;
+
+import android.content.Context;
+import android.text.TextUtils;
+
+import androidx.preference.Preference;
+
+import com.android.settings.SettingsPreferenceFragment;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settings.notification.NotificationBackend;
+import com.android.settingslib.RestrictedSwitchPreference;
+
+public class ConversationPromotePreferenceController extends NotificationPreferenceController
+        implements PreferenceControllerMixin {
+
+    private static final String KEY = "convo_promote";
+
+    SettingsPreferenceFragment mHostFragment;
+
+    public ConversationPromotePreferenceController(Context context,
+            SettingsPreferenceFragment hostFragment,
+            NotificationBackend backend) {
+        super(context, backend);
+        mHostFragment = hostFragment;
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY;
+    }
+
+    @Override
+    public boolean isAvailable() {
+        if (!super.isAvailable()) {
+            return false;
+        }
+        if (mAppRow == null || mChannel == null) {
+            return false;
+        }
+        return !TextUtils.isEmpty(mChannel.getConversationId()) && mChannel.isDemoted();
+    }
+
+    public void updateState(Preference preference) {
+        preference.setEnabled(mAdmin == null);
+    }
+
+    @Override
+    public boolean handlePreferenceTreeClick(Preference preference) {
+        if (mChannel == null || !KEY.equals(preference.getKey())) {
+            return false;
+        }
+        mChannel.setDemoted(false);
+        saveChannel();
+
+        if (mHostFragment != null) {
+            mHostFragment.getActivity().finish();
+        }
+
+        return true;
+    }
+}
diff --git a/src/com/android/settings/notification/app/DefaultImportancePreferenceController.java b/src/com/android/settings/notification/app/DefaultImportancePreferenceController.java
new file mode 100644
index 0000000..616d64a
--- /dev/null
+++ b/src/com/android/settings/notification/app/DefaultImportancePreferenceController.java
@@ -0,0 +1,85 @@
+/*
+ * 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.notification.app;
+
+import static android.app.NotificationManager.IMPORTANCE_DEFAULT;
+import static android.app.NotificationManager.IMPORTANCE_LOW;
+
+import android.app.NotificationChannel;
+import android.content.Context;
+
+import androidx.preference.Preference;
+
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settings.notification.NotificationBackend;
+import com.android.settingslib.RestrictedSwitchPreference;
+
+public class DefaultImportancePreferenceController extends NotificationPreferenceController
+        implements PreferenceControllerMixin, Preference.OnPreferenceChangeListener  {
+
+    private static final String KEY = "alerting";
+    private NotificationSettings.DependentFieldListener mDependentFieldListener;
+
+    public DefaultImportancePreferenceController(Context context,
+            NotificationSettings.DependentFieldListener dependentFieldListener,
+            NotificationBackend backend) {
+        super(context, backend);
+        mDependentFieldListener = dependentFieldListener;
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY;
+    }
+
+    @Override
+    public boolean isAvailable() {
+        if (!super.isAvailable()) {
+            return false;
+        }
+        if (mChannel == null) {
+            return false;
+        }
+        if (isDefaultChannel()) {
+           return false;
+        }
+        return true;
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        if (mAppRow != null && mChannel != null) {
+            preference.setEnabled(mAdmin == null && !mChannel.isImportanceLockedByOEM());
+
+            RestrictedSwitchPreference pref = (RestrictedSwitchPreference) preference;
+            pref.setChecked(mChannel.getImportance() >= IMPORTANCE_DEFAULT);
+        }
+    }
+
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object newValue) {
+        if (mChannel != null) {
+            final boolean checked = (boolean) newValue;
+
+            mChannel.setImportance(checked ? IMPORTANCE_DEFAULT : IMPORTANCE_LOW);
+            mChannel.lockFields(NotificationChannel.USER_LOCKED_IMPORTANCE);
+            saveChannel();
+            mDependentFieldListener.onFieldValueChanged();
+        }
+        return true;
+    }
+}
diff --git a/src/com/android/settings/notification/app/DeletedChannelsPreferenceController.java b/src/com/android/settings/notification/app/DeletedChannelsPreferenceController.java
new file mode 100644
index 0000000..5a60f3f
--- /dev/null
+++ b/src/com/android/settings/notification/app/DeletedChannelsPreferenceController.java
@@ -0,0 +1,62 @@
+/*
+ * 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.app;
+
+import android.content.Context;
+
+import androidx.preference.Preference;
+
+import com.android.settings.R;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settings.notification.NotificationBackend;
+
+public class DeletedChannelsPreferenceController extends NotificationPreferenceController
+        implements PreferenceControllerMixin {
+
+    private static final String  KEY_DELETED = "deleted";
+
+    public DeletedChannelsPreferenceController(Context context, NotificationBackend backend) {
+        super(context, backend);
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY_DELETED;
+    }
+
+    @Override
+    public boolean isAvailable() {
+        if (!super.isAvailable()) {
+            return false;
+        }
+        // only visible on app screen
+        if (mChannel != null || hasValidGroup()) {
+            return false;
+        }
+
+        return mBackend.getDeletedChannelCount(mAppRow.pkg, mAppRow.uid) > 0;
+    }
+
+    public void updateState(Preference preference) {
+        if (mAppRow != null) {
+            int deletedChannelCount = mBackend.getDeletedChannelCount(mAppRow.pkg, mAppRow.uid);
+            preference.setTitle(mContext.getResources().getQuantityString(
+                    R.plurals.deleted_channels, deletedChannelCount, deletedChannelCount));
+        }
+        preference.setSelectable(false);
+    }
+}
diff --git a/src/com/android/settings/notification/app/DescriptionPreferenceController.java b/src/com/android/settings/notification/app/DescriptionPreferenceController.java
new file mode 100644
index 0000000..f4ad6a3
--- /dev/null
+++ b/src/com/android/settings/notification/app/DescriptionPreferenceController.java
@@ -0,0 +1,68 @@
+/*
+ * 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.app;
+
+import android.content.Context;
+import android.text.TextUtils;
+
+import androidx.preference.Preference;
+
+import com.android.settings.core.PreferenceControllerMixin;
+
+public class DescriptionPreferenceController extends NotificationPreferenceController
+        implements PreferenceControllerMixin {
+
+    private static final String KEY_DESC = "desc";
+
+    public DescriptionPreferenceController(Context context) {
+        super(context, null);
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY_DESC;
+    }
+
+    @Override
+    public boolean isAvailable() {
+        if (!super.isAvailable()) {
+            return false;
+        }
+        if (mChannel == null && !hasValidGroup()) {
+            return false;
+        }
+        if (mChannel != null && !TextUtils.isEmpty(mChannel.getDescription())) {
+            return true;
+        }
+        if (hasValidGroup() && !TextUtils.isEmpty(mChannelGroup.getDescription())) {
+            return true;
+        }
+        return false;
+    }
+
+    public void updateState(Preference preference) {
+        if (mAppRow != null) {
+            if (mChannel != null) {
+                preference.setTitle(mChannel.getDescription());
+            } else if (hasValidGroup()) {
+                preference.setTitle(mChannelGroup.getDescription());
+            }
+        }
+        preference.setEnabled(false);
+        preference.setSelectable(false);
+    }
+}
diff --git a/src/com/android/settings/notification/app/DndPreferenceController.java b/src/com/android/settings/notification/app/DndPreferenceController.java
new file mode 100644
index 0000000..90e6b25
--- /dev/null
+++ b/src/com/android/settings/notification/app/DndPreferenceController.java
@@ -0,0 +1,69 @@
+/*
+ * 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.app;
+
+import android.app.NotificationChannel;
+import android.content.Context;
+
+import androidx.preference.Preference;
+
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settings.notification.NotificationBackend;
+import com.android.settingslib.RestrictedSwitchPreference;
+
+public class DndPreferenceController extends NotificationPreferenceController
+        implements PreferenceControllerMixin, Preference.OnPreferenceChangeListener {
+
+    private static final String KEY_BYPASS_DND = "bypass_dnd";
+
+    public DndPreferenceController(Context context, NotificationBackend backend) {
+        super(context, backend);
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY_BYPASS_DND;
+    }
+
+    @Override
+    public boolean isAvailable() {
+        if (!super.isAvailable() || mChannel == null) {
+            return false;
+        }
+        return true;
+    }
+
+    public void updateState(Preference preference) {
+        if (mChannel != null) {
+            RestrictedSwitchPreference pref = (RestrictedSwitchPreference) preference;
+            pref.setDisabledByAdmin(mAdmin);
+            pref.setEnabled(!pref.isDisabledByAdmin());
+            pref.setChecked(mChannel.canBypassDnd());
+        }
+    }
+
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object newValue) {
+        if (mChannel != null) {
+            final boolean bypassZenMode = (Boolean) newValue;
+            mChannel.setBypassDnd(bypassZenMode);
+            mChannel.lockFields(NotificationChannel.USER_LOCKED_PRIORITY);
+            saveChannel();
+        }
+        return true;
+    }
+}
diff --git a/src/com/android/settings/notification/app/GlobalBubblePermissionObserverMixin.java b/src/com/android/settings/notification/app/GlobalBubblePermissionObserverMixin.java
new file mode 100644
index 0000000..bed0f3d
--- /dev/null
+++ b/src/com/android/settings/notification/app/GlobalBubblePermissionObserverMixin.java
@@ -0,0 +1,59 @@
+/*
+ * 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.notification.app;
+
+import android.content.Context;
+import android.database.ContentObserver;
+import android.net.Uri;
+import android.os.Handler;
+import android.os.Looper;
+import android.provider.Settings;
+
+public class GlobalBubblePermissionObserverMixin extends ContentObserver {
+
+    public interface Listener {
+        void onGlobalBubblePermissionChanged();
+    }
+
+    private final Context mContext;
+    private final Listener mListener;
+
+    public GlobalBubblePermissionObserverMixin(Context context, Listener listener) {
+        super(new Handler(Looper.getMainLooper()));
+        mContext = context;
+        mListener = listener;
+    }
+
+    @Override
+    public void onChange(boolean selfChange, Uri uri) {
+        if (mListener != null) {
+            mListener.onGlobalBubblePermissionChanged();
+        }
+    }
+
+    public void onStart() {
+        mContext.getContentResolver().registerContentObserver(
+                Settings.Global.getUriFor(
+                        Settings.Global.NOTIFICATION_BUBBLES),
+                false /* notifyForDescendants */,
+                this /* observer */);
+    }
+
+    public void onStop() {
+        mContext.getContentResolver().unregisterContentObserver(this /* observer */);
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/settings/notification/app/HeaderPreferenceController.java b/src/com/android/settings/notification/app/HeaderPreferenceController.java
new file mode 100644
index 0000000..8098714
--- /dev/null
+++ b/src/com/android/settings/notification/app/HeaderPreferenceController.java
@@ -0,0 +1,130 @@
+/*
+ * 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.app;
+
+import static com.android.settings.widget.EntityHeaderController.PREF_KEY_APP_HEADER;
+
+import android.app.Activity;
+import android.content.Context;
+import android.text.BidiFormatter;
+import android.text.SpannableStringBuilder;
+import android.text.TextUtils;
+import android.view.View;
+
+import androidx.annotation.VisibleForTesting;
+import androidx.lifecycle.LifecycleObserver;
+import androidx.lifecycle.OnLifecycleEvent;
+import androidx.preference.Preference;
+
+import com.android.settings.R;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.widget.EntityHeaderController;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+import com.android.settingslib.widget.LayoutPreference;
+
+public class HeaderPreferenceController extends NotificationPreferenceController
+        implements PreferenceControllerMixin, LifecycleObserver {
+
+    private final DashboardFragment mFragment;
+    private EntityHeaderController mHeaderController;
+    private boolean mStarted = false;
+
+    public HeaderPreferenceController(Context context, DashboardFragment fragment) {
+        super(context, null);
+        mFragment = fragment;
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return PREF_KEY_APP_HEADER;
+    }
+
+    @Override
+    public boolean isAvailable() {
+        return mAppRow != null;
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        if (mAppRow != null && mFragment != null) {
+
+            Activity activity = null;
+            if (mStarted) {
+                // don't call done on an activity if it hasn't started yet
+                activity = mFragment.getActivity();
+            }
+
+            if (activity == null) {
+                return;
+            }
+
+            LayoutPreference pref = (LayoutPreference) preference;
+            mHeaderController = EntityHeaderController.newInstance(
+                    activity, mFragment, pref.findViewById(R.id.entity_header));
+            pref = mHeaderController.setIcon(mAppRow.icon)
+                    .setLabel(getLabel())
+                    .setSummary(getSummary())
+                    .setPackageName(mAppRow.pkg)
+                    .setUid(mAppRow.uid)
+                    .setButtonActions(EntityHeaderController.ActionType.ACTION_NOTIF_PREFERENCE,
+                            EntityHeaderController.ActionType.ACTION_NONE)
+                    .setHasAppInfoLink(true)
+                    .setRecyclerView(mFragment.getListView(), mFragment.getSettingsLifecycle())
+                    .done(activity, mContext);
+            pref.findViewById(R.id.entity_header).setVisibility(View.VISIBLE);
+        }
+    }
+
+    @Override
+    public CharSequence getSummary() {
+        if (mChannel != null && !isDefaultChannel()) {
+            if (mChannelGroup != null
+                    && !TextUtils.isEmpty(mChannelGroup.getName())) {
+                final SpannableStringBuilder summary = new SpannableStringBuilder();
+                BidiFormatter bidi = BidiFormatter.getInstance();
+                summary.append(bidi.unicodeWrap(mAppRow.label.toString()));
+                summary.append(bidi.unicodeWrap(mContext.getText(
+                        R.string.notification_header_divider_symbol_with_spaces)));
+                summary.append(bidi.unicodeWrap(mChannelGroup.getName().toString()));
+                return summary.toString();
+            } else {
+                return mAppRow.label.toString();
+            }
+        } else if (mChannelGroup != null) {
+            return mAppRow.label.toString();
+        } else {
+            return "";
+        }
+    }
+
+    @OnLifecycleEvent(Lifecycle.Event.ON_START)
+    public void onStart() {
+        mStarted = true;
+        if (mHeaderController != null) {
+            mHeaderController.styleActionBar(mFragment.getActivity());
+        }
+    }
+
+    @VisibleForTesting
+    CharSequence getLabel() {
+        return (mChannel != null && !isDefaultChannel()) ? mChannel.getName()
+                : mChannelGroup != null
+                        ? mChannelGroup.getName()
+                        : mAppRow.label;
+    }
+}
diff --git a/src/com/android/settings/notification/app/HighImportancePreferenceController.java b/src/com/android/settings/notification/app/HighImportancePreferenceController.java
new file mode 100644
index 0000000..3aecfa8
--- /dev/null
+++ b/src/com/android/settings/notification/app/HighImportancePreferenceController.java
@@ -0,0 +1,85 @@
+/*
+ * 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.notification.app;
+
+import static android.app.NotificationManager.IMPORTANCE_DEFAULT;
+import static android.app.NotificationManager.IMPORTANCE_HIGH;
+
+import android.app.NotificationChannel;
+import android.content.Context;
+
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settings.notification.NotificationBackend;
+import com.android.settingslib.RestrictedSwitchPreference;
+
+import androidx.preference.Preference;
+
+public class HighImportancePreferenceController extends NotificationPreferenceController
+        implements PreferenceControllerMixin, Preference.OnPreferenceChangeListener  {
+
+    private static final String KEY_IMPORTANCE = "high_importance";
+    private NotificationSettings.DependentFieldListener mDependentFieldListener;
+
+    public HighImportancePreferenceController(Context context,
+            NotificationSettings.DependentFieldListener dependentFieldListener,
+            NotificationBackend backend) {
+        super(context, backend);
+        mDependentFieldListener = dependentFieldListener;
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY_IMPORTANCE;
+    }
+
+    @Override
+    public boolean isAvailable() {
+        if (!super.isAvailable()) {
+            return false;
+        }
+        if (mChannel == null) {
+            return false;
+        }
+        if (isDefaultChannel()) {
+           return false;
+        }
+        return mChannel.getImportance() >= IMPORTANCE_DEFAULT;
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        if (mAppRow != null && mChannel != null) {
+            preference.setEnabled(mAdmin == null && !mChannel.isImportanceLockedByOEM());
+
+            RestrictedSwitchPreference pref = (RestrictedSwitchPreference) preference;
+            pref.setChecked(mChannel.getImportance() >= IMPORTANCE_HIGH);
+        }
+    }
+
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object newValue) {
+        if (mChannel != null) {
+            final boolean checked = (boolean) newValue;
+
+            mChannel.setImportance(checked ? IMPORTANCE_HIGH : IMPORTANCE_DEFAULT);
+            mChannel.lockFields(NotificationChannel.USER_LOCKED_IMPORTANCE);
+            saveChannel();
+            mDependentFieldListener.onFieldValueChanged();
+        }
+        return true;
+    }
+}
diff --git a/src/com/android/settings/notification/app/ImportancePreference.java b/src/com/android/settings/notification/app/ImportancePreference.java
new file mode 100644
index 0000000..d3cd013
--- /dev/null
+++ b/src/com/android/settings/notification/app/ImportancePreference.java
@@ -0,0 +1,194 @@
+/*
+ * 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.notification.app;
+
+import static android.app.NotificationManager.IMPORTANCE_DEFAULT;
+import static android.app.NotificationManager.IMPORTANCE_HIGH;
+import static android.app.NotificationManager.IMPORTANCE_LOW;
+import static android.app.NotificationManager.IMPORTANCE_MIN;
+import static android.view.View.GONE;
+import static android.view.View.VISIBLE;
+
+import android.content.Context;
+import android.content.res.ColorStateList;
+import android.graphics.drawable.Drawable;
+import android.transition.AutoTransition;
+import android.transition.Transition;
+import android.transition.TransitionManager;
+import android.util.AttributeSet;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.Button;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import com.android.settings.Utils;
+import com.android.settingslib.R;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceViewHolder;
+
+public class ImportancePreference extends Preference {
+
+    private boolean mIsConfigurable = true;
+    private int mImportance;
+    private boolean mDisplayInStatusBar;
+    private boolean mDisplayOnLockscreen;
+    private View mSilenceButton;
+    private View mAlertButton;
+    private Context mContext;
+    Drawable selectedBackground;
+    Drawable unselectedBackground;
+    private static final int BUTTON_ANIM_TIME_MS = 100;
+    private static final boolean SHOW_BUTTON_SUMMARY = false;
+
+    public ImportancePreference(Context context, AttributeSet attrs,
+            int defStyleAttr, int defStyleRes) {
+        super(context, attrs, defStyleAttr, defStyleRes);
+        init(context);
+    }
+
+    public ImportancePreference(Context context, AttributeSet attrs, int defStyleAttr) {
+        super(context, attrs, defStyleAttr);
+        init(context);
+    }
+
+    public ImportancePreference(Context context, AttributeSet attrs) {
+        super(context, attrs);
+        init(context);
+    }
+
+    public ImportancePreference(Context context) {
+        super(context);
+        init(context);
+    }
+
+    private void init(Context context) {
+        mContext = context;
+        selectedBackground = mContext.getDrawable(R.drawable.button_border_selected);
+        unselectedBackground = mContext.getDrawable(R.drawable.button_border_unselected);
+        setLayoutResource(R.layout.notif_importance_preference);
+    }
+
+    public void setImportance(int importance) {
+        mImportance = importance;
+    }
+
+    public void setConfigurable(boolean configurable) {
+        mIsConfigurable = configurable;
+    }
+
+    public void setDisplayInStatusBar(boolean display) {
+        mDisplayInStatusBar = display;
+    }
+
+    public void setDisplayOnLockscreen(boolean display) {
+        mDisplayOnLockscreen = display;
+    }
+
+    @Override
+    public void onBindViewHolder(final PreferenceViewHolder holder) {
+        super.onBindViewHolder(holder);
+        holder.itemView.setClickable(false);
+
+        mSilenceButton = holder.findViewById(R.id.silence);
+        mAlertButton = holder.findViewById(R.id.alert);
+
+        if (!mIsConfigurable) {
+            mSilenceButton.setEnabled(false);
+            mAlertButton.setEnabled(false);
+        }
+
+        setImportanceSummary((ViewGroup) holder.itemView, mImportance, false);
+        switch (mImportance) {
+            case IMPORTANCE_MIN:
+            case IMPORTANCE_LOW:
+                mAlertButton.setBackground(unselectedBackground);
+                mSilenceButton.setBackground(selectedBackground);
+                mSilenceButton.setSelected(true);
+                break;
+            case IMPORTANCE_HIGH:
+            default:
+                mSilenceButton.setBackground(unselectedBackground);
+                mAlertButton.setBackground(selectedBackground);
+                mAlertButton.setSelected(true);
+                break;
+        }
+
+        mSilenceButton.setOnClickListener(v -> {
+            callChangeListener(IMPORTANCE_LOW);
+            mAlertButton.setBackground(unselectedBackground);
+            mSilenceButton.setBackground(selectedBackground);
+            setImportanceSummary((ViewGroup) holder.itemView, IMPORTANCE_LOW, true);
+            // a11y service won't always read the newly appearing text in the right order if the
+            // selection happens too soon (readback happens on a different thread as layout). post
+            // the selection to make that conflict less likely
+            holder.itemView.post(() -> {
+                mAlertButton.setSelected(false);
+                mSilenceButton.setSelected(true);
+            });
+        });
+        mAlertButton.setOnClickListener(v -> {
+            callChangeListener(IMPORTANCE_DEFAULT);
+            mSilenceButton.setBackground(unselectedBackground);
+            mAlertButton.setBackground(selectedBackground);
+            setImportanceSummary((ViewGroup) holder.itemView, IMPORTANCE_DEFAULT, true);
+            holder.itemView.post(() -> {
+                mSilenceButton.setSelected(false);
+                mAlertButton.setSelected(true);
+            });
+        });
+    }
+
+    private ColorStateList getAccentTint() {
+        return Utils.getColorAccent(getContext());
+    }
+
+    private ColorStateList getRegularTint() {
+        return Utils.getColorAttr(getContext(), android.R.attr.textColorPrimary);
+    }
+
+    void setImportanceSummary(ViewGroup parent, int importance, boolean fromUser) {
+        if (fromUser) {
+            AutoTransition transition = new AutoTransition();
+            transition.setDuration(BUTTON_ANIM_TIME_MS);
+            TransitionManager.beginDelayedTransition(parent, transition);
+        }
+
+        ColorStateList colorAccent = getAccentTint();
+        ColorStateList colorNormal = getRegularTint();
+
+        if (importance >= IMPORTANCE_DEFAULT) {
+            parent.findViewById(R.id.silence_summary).setVisibility(GONE);
+            ((ImageView) parent.findViewById(R.id.silence_icon)).setImageTintList(colorNormal);
+            ((TextView) parent.findViewById(R.id.silence_label)).setTextColor(colorNormal);
+
+            ((ImageView) parent.findViewById(R.id.alert_icon)).setImageTintList(colorAccent);
+            ((TextView) parent.findViewById(R.id.alert_label)).setTextColor(colorAccent);
+
+            parent.findViewById(R.id.alert_summary).setVisibility(VISIBLE);
+        } else {
+            parent.findViewById(R.id.alert_summary).setVisibility(GONE);
+            ((ImageView) parent.findViewById(R.id.alert_icon)).setImageTintList(colorNormal);
+            ((TextView) parent.findViewById(R.id.alert_label)).setTextColor(colorNormal);
+
+            ((ImageView) parent.findViewById(R.id.silence_icon)).setImageTintList(colorAccent);
+            ((TextView) parent.findViewById(R.id.silence_label)).setTextColor(colorAccent);
+            parent.findViewById(R.id.silence_summary).setVisibility(VISIBLE);
+        }
+    }
+}
diff --git a/src/com/android/settings/notification/app/ImportancePreferenceController.java b/src/com/android/settings/notification/app/ImportancePreferenceController.java
new file mode 100644
index 0000000..dc7f29b
--- /dev/null
+++ b/src/com/android/settings/notification/app/ImportancePreferenceController.java
@@ -0,0 +1,98 @@
+/*
+ * 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.app;
+
+import static android.app.NotificationChannel.USER_LOCKED_SOUND;
+import static android.app.NotificationManager.IMPORTANCE_DEFAULT;
+
+import android.app.NotificationChannel;
+import android.content.Context;
+import android.media.RingtoneManager;
+import android.provider.Settings;
+
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settings.notification.NotificationBackend;
+
+import androidx.preference.Preference;
+
+public class ImportancePreferenceController extends NotificationPreferenceController
+        implements PreferenceControllerMixin, Preference.OnPreferenceChangeListener  {
+
+    private static final String KEY_IMPORTANCE = "importance";
+    private NotificationSettings.DependentFieldListener mDependentFieldListener;
+
+    public ImportancePreferenceController(Context context,
+            NotificationSettings.DependentFieldListener dependentFieldListener,
+            NotificationBackend backend) {
+        super(context, backend);
+        mDependentFieldListener = dependentFieldListener;
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY_IMPORTANCE;
+    }
+
+    @Override
+    public boolean isAvailable() {
+        if (!super.isAvailable()) {
+            return false;
+        }
+        if (mChannel == null) {
+            return false;
+        }
+        return !isDefaultChannel();
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        if (mAppRow!= null && mChannel != null) {
+            preference.setEnabled(mAdmin == null && !mChannel.isImportanceLockedByOEM());
+            ImportancePreference pref = (ImportancePreference) preference;
+            pref.setConfigurable(!mChannel.isImportanceLockedByOEM());
+            pref.setImportance(mChannel.getImportance());
+            pref.setDisplayInStatusBar(mBackend.showSilentInStatusBar(mContext.getPackageName()));
+            pref.setDisplayOnLockscreen(Settings.Secure.getInt(mContext.getContentResolver(),
+                    Settings.Secure.LOCK_SCREEN_SHOW_SILENT_NOTIFICATIONS, 1) == 1);
+        }
+    }
+
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object newValue) {
+        if (mChannel != null) {
+            final int importance = (Integer) newValue;
+
+            // If you are moving from an importance level without sound to one with sound,
+            // but the sound you had selected was "Silence",
+            // then set sound for this channel to your default sound,
+            // because you probably intended to cause this channel to actually start making sound.
+            if (mChannel.getImportance() < IMPORTANCE_DEFAULT
+                    && !SoundPreferenceController.hasValidSound(mChannel)
+                    && importance >= IMPORTANCE_DEFAULT) {
+                mChannel.setSound(RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION),
+                        mChannel.getAudioAttributes());
+                mChannel.lockFields(USER_LOCKED_SOUND);
+            }
+
+            mChannel.setImportance(importance);
+            mChannel.lockFields(NotificationChannel.USER_LOCKED_IMPORTANCE);
+            saveChannel();
+            mDependentFieldListener.onFieldValueChanged();
+        }
+        return true;
+    }
+}
diff --git a/src/com/android/settings/notification/app/ImportantConversationsPreferenceController.java b/src/com/android/settings/notification/app/ImportantConversationsPreferenceController.java
new file mode 100644
index 0000000..2089d9d
--- /dev/null
+++ b/src/com/android/settings/notification/app/ImportantConversationsPreferenceController.java
@@ -0,0 +1,75 @@
+/*
+ * 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.notification.app;
+
+import android.content.Context;
+import android.os.AsyncTask;
+import android.service.notification.ConversationChannelWrapper;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceCategory;
+
+import com.android.settings.notification.NotificationBackend;
+
+import java.util.Collections;
+import java.util.List;
+
+public class ImportantConversationsPreferenceController extends
+        ConversationListPreferenceController {
+
+    private static final String KEY = "important_conversations";
+    private static final String LIST_KEY = "important_conversations_list";
+    private List<ConversationChannelWrapper> mConversations;
+
+    public ImportantConversationsPreferenceController(Context context,
+            NotificationBackend backend) {
+        super(context, backend);
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY;
+    }
+
+    @Override
+    public boolean isAvailable() {
+        return true;
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        PreferenceCategory pref = (PreferenceCategory) preference;
+        // Load conversations
+        new AsyncTask<Void, Void, Void>() {
+            @Override
+            protected Void doInBackground(Void... unused) {
+                mConversations = mBackend.getConversations(true).getList();
+                Collections.sort(mConversations, mConversationComparator);
+                return null;
+            }
+
+            @Override
+            protected void onPostExecute(Void unused) {
+                if (mContext == null) {
+                    return;
+                }
+                populateList(mConversations, pref, pref.findPreference(LIST_KEY));
+            }
+        }.execute();
+
+    }
+}
diff --git a/src/com/android/settings/notification/app/LightsPreferenceController.java b/src/com/android/settings/notification/app/LightsPreferenceController.java
new file mode 100644
index 0000000..fc9f34c
--- /dev/null
+++ b/src/com/android/settings/notification/app/LightsPreferenceController.java
@@ -0,0 +1,84 @@
+/*
+ * 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.app;
+
+import android.app.NotificationManager;
+import android.content.Context;
+import android.provider.Settings;
+
+import androidx.preference.Preference;
+
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settings.notification.NotificationBackend;
+import com.android.settingslib.RestrictedSwitchPreference;
+
+public class LightsPreferenceController extends NotificationPreferenceController
+        implements PreferenceControllerMixin, Preference.OnPreferenceChangeListener {
+
+    private static final String KEY_LIGHTS = "lights";
+
+    public LightsPreferenceController(Context context, NotificationBackend backend) {
+        super(context, backend);
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY_LIGHTS;
+    }
+
+    @Override
+    public boolean isAvailable() {
+        if (!super.isAvailable()) {
+            return false;
+        }
+        if (mChannel == null) {
+            return false;
+        }
+        return checkCanBeVisible(NotificationManager.IMPORTANCE_DEFAULT)
+                && canPulseLight()
+                && !isDefaultChannel();
+    }
+
+    public void updateState(Preference preference) {
+        if (mChannel != null) {
+            RestrictedSwitchPreference pref = (RestrictedSwitchPreference) preference;
+            pref.setDisabledByAdmin(mAdmin);
+            pref.setEnabled(!pref.isDisabledByAdmin());
+            pref.setChecked(mChannel.shouldShowLights());
+        }
+    }
+
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object newValue) {
+        if (mChannel != null) {
+            final boolean lights = (Boolean) newValue;
+            mChannel.enableLights(lights);
+            saveChannel();
+        }
+        return true;
+    }
+
+    boolean canPulseLight() {
+        if (!mContext.getResources()
+                .getBoolean(com.android.internal.R.bool.config_intrusiveNotificationLed)) {
+            return false;
+        }
+        return Settings.System.getInt(mContext.getContentResolver(),
+                Settings.System.NOTIFICATION_LIGHT_PULSE, 0) == 1;
+    }
+
+}
diff --git a/src/com/android/settings/notification/app/MinImportancePreferenceController.java b/src/com/android/settings/notification/app/MinImportancePreferenceController.java
new file mode 100644
index 0000000..69b7dc5
--- /dev/null
+++ b/src/com/android/settings/notification/app/MinImportancePreferenceController.java
@@ -0,0 +1,85 @@
+/*
+ * 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.app;
+
+import static android.app.NotificationManager.IMPORTANCE_LOW;
+import static android.app.NotificationManager.IMPORTANCE_MIN;
+
+import android.app.NotificationChannel;
+import android.content.Context;
+
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settings.notification.NotificationBackend;
+import com.android.settingslib.RestrictedSwitchPreference;
+
+import androidx.preference.Preference;
+
+public class MinImportancePreferenceController extends NotificationPreferenceController
+        implements PreferenceControllerMixin, Preference.OnPreferenceChangeListener  {
+
+    private static final String KEY_IMPORTANCE = "min_importance";
+    private NotificationSettings.DependentFieldListener mDependentFieldListener;
+
+    public MinImportancePreferenceController(Context context,
+            NotificationSettings.DependentFieldListener dependentFieldListener,
+            NotificationBackend backend) {
+        super(context, backend);
+        mDependentFieldListener = dependentFieldListener;
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY_IMPORTANCE;
+    }
+
+    @Override
+    public boolean isAvailable() {
+        if (!super.isAvailable()) {
+            return false;
+        }
+        if (mChannel == null) {
+            return false;
+        }
+        if (isDefaultChannel()) {
+            return false;
+        }
+        return mChannel.getImportance() <= IMPORTANCE_LOW;
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        if (mAppRow != null && mChannel != null) {
+            preference.setEnabled(mAdmin == null && !mChannel.isImportanceLockedByOEM());
+
+            RestrictedSwitchPreference pref = (RestrictedSwitchPreference) preference;
+            pref.setChecked(mChannel.getImportance() == IMPORTANCE_MIN);
+        }
+    }
+
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object newValue) {
+        if (mChannel != null) {
+            final boolean checked = (boolean) newValue;
+
+            mChannel.setImportance(checked ? IMPORTANCE_MIN : IMPORTANCE_LOW);
+            mChannel.lockFields(NotificationChannel.USER_LOCKED_IMPORTANCE);
+            saveChannel();
+            mDependentFieldListener.onFieldValueChanged();
+        }
+        return true;
+    }
+}
diff --git a/src/com/android/settings/notification/app/NotificationFooterPreference.java b/src/com/android/settings/notification/app/NotificationFooterPreference.java
new file mode 100644
index 0000000..6f34cdd
--- /dev/null
+++ b/src/com/android/settings/notification/app/NotificationFooterPreference.java
@@ -0,0 +1,58 @@
+/*
+ * 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.app;
+
+import android.content.Context;
+import android.text.method.LinkMovementMethod;
+import android.util.AttributeSet;
+import android.widget.TextView;
+
+import androidx.core.content.res.TypedArrayUtils;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceViewHolder;
+
+import com.android.settingslib.R;
+
+/**
+ * FooterPreference that can have any key or ordering.
+ */
+public class NotificationFooterPreference extends Preference {
+
+    public NotificationFooterPreference(Context context, AttributeSet attrs) {
+        super(context, attrs, TypedArrayUtils.getAttr(
+                context, R.attr.footerPreferenceStyle, android.R.attr.preferenceStyle));
+        init();
+    }
+
+    public NotificationFooterPreference(Context context) {
+        this(context, null);
+    }
+
+    @Override
+    public void onBindViewHolder(PreferenceViewHolder holder) {
+        super.onBindViewHolder(holder);
+        TextView title = holder.itemView.findViewById(android.R.id.title);
+        title.setMovementMethod(new LinkMovementMethod());
+        title.setClickable(false);
+        title.setLongClickable(false);
+    }
+
+    private void init() {
+        setIcon(R.drawable.ic_info_outline_24dp);
+        setSelectable(false);
+    }
+}
diff --git a/src/com/android/settings/notification/app/NotificationPreferenceController.java b/src/com/android/settings/notification/app/NotificationPreferenceController.java
new file mode 100644
index 0000000..be1ce1b
--- /dev/null
+++ b/src/com/android/settings/notification/app/NotificationPreferenceController.java
@@ -0,0 +1,175 @@
+/*
+ * 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.app;
+
+import static android.app.NotificationManager.IMPORTANCE_NONE;
+
+import android.annotation.Nullable;
+import android.app.NotificationChannel;
+import android.app.NotificationChannelGroup;
+import android.app.NotificationManager;
+import android.content.Context;
+import android.content.pm.PackageManager;
+import android.content.pm.ShortcutInfo;
+import android.graphics.drawable.Drawable;
+import android.os.UserManager;
+import android.util.Log;
+
+import androidx.preference.Preference;
+
+import com.android.settings.notification.NotificationBackend;
+import com.android.settingslib.RestrictedLockUtils;
+import com.android.settingslib.core.AbstractPreferenceController;
+
+import java.util.Objects;
+
+/**
+ * Parent class for preferences appearing on notification setting pages at the app,
+ * notification channel group, or notification channel level.
+ */
+public abstract class NotificationPreferenceController extends AbstractPreferenceController {
+    private static final String TAG = "ChannelPrefContr";
+    @Nullable
+    protected NotificationChannel mChannel;
+    @Nullable
+    protected NotificationChannelGroup mChannelGroup;
+    protected RestrictedLockUtils.EnforcedAdmin mAdmin;
+    protected NotificationBackend.AppRow mAppRow;
+    protected final NotificationManager mNm;
+    protected final NotificationBackend mBackend;
+    protected final Context mContext;
+    protected final UserManager mUm;
+    protected final PackageManager mPm;
+    protected Preference mPreference;
+    @Nullable
+    protected Drawable mConversationDrawable;
+    @Nullable
+    protected ShortcutInfo mConversationInfo;
+
+    public NotificationPreferenceController(Context context, NotificationBackend backend) {
+        super(context);
+        mContext = context;
+        mNm = (NotificationManager) mContext.getSystemService(Context.NOTIFICATION_SERVICE);
+        mBackend = backend;
+        mUm = (UserManager) mContext.getSystemService(Context.USER_SERVICE);
+        mPm = mContext.getPackageManager();
+    }
+
+    /**
+     * Returns true if field's parent object is not blocked.
+     */
+    @Override
+    public boolean isAvailable() {
+        if (mAppRow == null) {
+            return false;
+        }
+        if (mAppRow.banned) {
+            return false;
+        }
+        if (mChannelGroup != null) {
+            if (mChannelGroup.isBlocked()) {
+                return false;
+            }
+        }
+        if (mChannel != null) {
+            return mChannel.getImportance() != IMPORTANCE_NONE;
+        }
+        return true;
+    }
+
+    protected void onResume(NotificationBackend.AppRow appRow,
+            @Nullable NotificationChannel channel, @Nullable NotificationChannelGroup group,
+            Drawable conversationDrawable,
+            ShortcutInfo conversationInfo,
+            RestrictedLockUtils.EnforcedAdmin admin) {
+        mAppRow = appRow;
+        mChannel = channel;
+        mChannelGroup = group;
+        mAdmin = admin;
+        mConversationDrawable = conversationDrawable;
+        mConversationInfo = conversationInfo;
+    }
+
+    protected boolean checkCanBeVisible(int minImportanceVisible) {
+        if (mChannel == null) {
+            Log.w(TAG, "No channel");
+            return false;
+        }
+
+        int importance = mChannel.getImportance();
+        if (importance == NotificationManager.IMPORTANCE_UNSPECIFIED) {
+            return true;
+        }
+        return importance >= minImportanceVisible;
+    }
+
+    protected void saveChannel() {
+        if (mChannel != null && mAppRow != null) {
+            mBackend.updateChannel(mAppRow.pkg, mAppRow.uid, mChannel);
+        }
+    }
+
+    protected boolean isChannelBlockable() {
+        return isChannelBlockable(mChannel);
+    }
+
+    protected boolean isChannelBlockable(NotificationChannel channel) {
+        if (channel != null && mAppRow != null) {
+            if (channel.isImportanceLockedByCriticalDeviceFunction()
+                    || channel.isImportanceLockedByOEM()) {
+                return channel.getImportance() == IMPORTANCE_NONE;
+            }
+
+            return channel.isBlockableSystem() || !mAppRow.systemApp
+                    || channel.getImportance() == IMPORTANCE_NONE;
+        }
+        return false;
+    }
+
+    protected boolean isChannelConfigurable(NotificationChannel channel) {
+        if (channel != null && mAppRow != null) {
+            return !channel.isImportanceLockedByOEM();
+        }
+        return false;
+    }
+
+    protected boolean isChannelGroupBlockable() {
+        return isChannelGroupBlockable(mChannelGroup);
+    }
+
+    protected boolean isChannelGroupBlockable(NotificationChannelGroup group) {
+        if (group != null && mAppRow != null) {
+            if (!mAppRow.systemApp) {
+                return true;
+            }
+
+            return group.isBlocked();
+        }
+        return false;
+    }
+
+    protected boolean hasValidGroup() {
+        return mChannelGroup != null;
+    }
+
+    protected final boolean isDefaultChannel() {
+        if (mChannel == null) {
+            return false;
+        }
+        return Objects.equals(NotificationChannel.DEFAULT_CHANNEL_ID, mChannel.getId());
+    }
+}
diff --git a/src/com/android/settings/notification/app/NotificationSettings.java b/src/com/android/settings/notification/app/NotificationSettings.java
new file mode 100644
index 0000000..af1d9c1
--- /dev/null
+++ b/src/com/android/settings/notification/app/NotificationSettings.java
@@ -0,0 +1,347 @@
+/*
+ * 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.notification.app;
+
+import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
+
+import android.app.Notification;
+import android.app.NotificationChannel;
+import android.app.NotificationChannelGroup;
+import android.app.NotificationManager;
+import android.app.role.RoleManager;
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.content.pm.ActivityInfo;
+import android.content.pm.PackageInfo;
+import android.content.pm.PackageManager;
+import android.content.pm.PackageManager.NameNotFoundException;
+import android.content.pm.ResolveInfo;
+import android.content.pm.ShortcutInfo;
+import android.graphics.drawable.Drawable;
+import android.os.Bundle;
+import android.os.UserHandle;
+import android.provider.Settings;
+import android.text.TextUtils;
+import android.util.Log;
+import android.widget.Toast;
+
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settings.SettingsActivity;
+import com.android.settings.applications.AppInfoBase;
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.notification.NotificationBackend;
+import com.android.settingslib.RestrictedLockUtilsInternal;
+import com.android.settingslib.notification.ConversationIconFactory;
+
+import java.util.ArrayList;
+import java.util.List;
+
+abstract public class NotificationSettings extends DashboardFragment {
+    private static final String TAG = "NotifiSettingsBase";
+    private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
+
+    protected PackageManager mPm;
+    protected NotificationBackend mBackend = new NotificationBackend();
+    protected NotificationManager mNm;
+    protected RoleManager mRm;
+    protected Context mContext;
+
+    protected int mUid;
+    protected int mUserId;
+    protected String mPkg;
+    protected PackageInfo mPkgInfo;
+    protected EnforcedAdmin mSuspendedAppsAdmin;
+    protected NotificationChannelGroup mChannelGroup;
+    protected NotificationChannel mChannel;
+    protected NotificationBackend.AppRow mAppRow;
+    protected Drawable mConversationDrawable;
+    protected ShortcutInfo mConversationInfo;
+
+    protected boolean mShowLegacyChannelConfig = false;
+    protected boolean mListeningToPackageRemove;
+
+    protected List<NotificationPreferenceController> mControllers = new ArrayList<>();
+    protected DependentFieldListener mDependentFieldListener = new DependentFieldListener();
+
+    protected Intent mIntent;
+    protected Bundle mArgs;
+
+    @Override
+    public void onAttach(Context context) {
+        super.onAttach(context);
+        mContext = getActivity();
+        mIntent = getActivity().getIntent();
+        mArgs = getArguments();
+
+        mPm = getPackageManager();
+        mNm = NotificationManager.from(mContext);
+        mRm = mContext.getSystemService(RoleManager.class);
+
+        mPkg = mArgs != null && mArgs.containsKey(AppInfoBase.ARG_PACKAGE_NAME)
+                ? mArgs.getString(AppInfoBase.ARG_PACKAGE_NAME)
+                : mIntent.getStringExtra(Settings.EXTRA_APP_PACKAGE);
+        mUid = mArgs != null && mArgs.containsKey(AppInfoBase.ARG_PACKAGE_UID)
+                ? mArgs.getInt(AppInfoBase.ARG_PACKAGE_UID)
+                : mIntent.getIntExtra(Settings.EXTRA_APP_UID, -1);
+
+        if (mUid < 0) {
+            try {
+                mUid = mPm.getPackageUid(mPkg, 0);
+            } catch (NameNotFoundException e) {
+            }
+        }
+
+        mPkgInfo = findPackageInfo(mPkg, mUid);
+
+        if (mPkgInfo != null) {
+            mUserId = UserHandle.getUserId(mUid);
+            mSuspendedAppsAdmin = RestrictedLockUtilsInternal.checkIfApplicationIsSuspended(
+                    mContext, mPkg, mUserId);
+
+            loadChannel();
+            loadAppRow();
+            loadChannelGroup();
+            collectConfigActivities();
+
+            if (use(HeaderPreferenceController.class) != null) {
+                getSettingsLifecycle().addObserver(use(HeaderPreferenceController.class));
+            }
+            if (use(ConversationHeaderPreferenceController.class) != null) {
+                getSettingsLifecycle().addObserver(
+                        use(ConversationHeaderPreferenceController.class));
+            }
+
+            for (NotificationPreferenceController controller : mControllers) {
+                controller.onResume(mAppRow, mChannel, mChannelGroup, null, null,
+                        mSuspendedAppsAdmin);
+            }
+        }
+    }
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+
+        if (mIntent == null && mArgs == null) {
+            Log.w(TAG, "No intent");
+            toastAndFinish();
+            return;
+        }
+
+        if (mUid < 0 || TextUtils.isEmpty(mPkg) || mPkgInfo == null) {
+            Log.w(TAG, "Missing package or uid or packageinfo");
+            toastAndFinish();
+            return;
+        }
+
+        startListeningToPackageRemove();
+    }
+
+    @Override
+    public void onDestroy() {
+        stopListeningToPackageRemove();
+        super.onDestroy();
+    }
+
+    @Override
+    public void onResume() {
+        super.onResume();
+        if (mUid < 0 || TextUtils.isEmpty(mPkg) || mPkgInfo == null || mAppRow == null) {
+            Log.w(TAG, "Missing package or uid or packageinfo");
+            finish();
+            return;
+        }
+        // Reload app, channel, etc onResume in case they've changed. A little wasteful if we've
+        // just done onAttach but better than making every preference controller reload all
+        // the data
+        loadAppRow();
+        if (mAppRow == null) {
+            Log.w(TAG, "Can't load package");
+            finish();
+            return;
+        }
+        loadChannel();
+        loadConversation();
+        loadChannelGroup();
+        collectConfigActivities();
+    }
+
+    private void loadChannel() {
+        Intent intent = getActivity().getIntent();
+        String channelId = intent != null ? intent.getStringExtra(Settings.EXTRA_CHANNEL_ID) : null;
+        if (channelId == null && intent != null) {
+            Bundle args = intent.getBundleExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_ARGUMENTS);
+            channelId = args != null ? args.getString(Settings.EXTRA_CHANNEL_ID) : null;
+        }
+        String conversationId = intent != null
+                ? intent.getStringExtra(Settings.EXTRA_CONVERSATION_ID) : null;
+        mChannel = mBackend.getChannel(mPkg, mUid, channelId, conversationId);
+    }
+
+    private void loadConversation() {
+        if (mChannel == null || TextUtils.isEmpty(mChannel.getConversationId())
+                || mChannel.isDemoted()) {
+            return;
+        }
+        mConversationInfo = mBackend.getConversationInfo(
+                mContext, mPkg, mUid, mChannel.getConversationId());
+        if (mConversationInfo != null) {
+            mConversationDrawable = mBackend.getConversationDrawable(
+                    mContext, mConversationInfo, mAppRow.pkg, mAppRow.uid,
+                    mChannel.isImportantConversation());
+        }
+    }
+
+    private void loadAppRow() {
+        mAppRow = mBackend.loadAppRow(mContext, mPm, mRm, mPkgInfo);
+    }
+
+    private void loadChannelGroup() {
+        mShowLegacyChannelConfig = mBackend.onlyHasDefaultChannel(mAppRow.pkg, mAppRow.uid)
+                || (mChannel != null
+                && NotificationChannel.DEFAULT_CHANNEL_ID.equals(mChannel.getId()));
+
+        if (mShowLegacyChannelConfig) {
+            mChannel = mBackend.getChannel(
+                    mAppRow.pkg, mAppRow.uid, NotificationChannel.DEFAULT_CHANNEL_ID, null);
+        }
+        if (mChannel != null && !TextUtils.isEmpty(mChannel.getGroup())) {
+            NotificationChannelGroup group = mBackend.getGroup(mPkg, mUid, mChannel.getGroup());
+            if (group != null) {
+                mChannelGroup = group;
+            }
+        }
+    }
+
+    protected void toastAndFinish() {
+        Toast.makeText(mContext, R.string.app_not_found_dlg_text, Toast.LENGTH_SHORT).show();
+        getActivity().finish();
+    }
+
+    protected void collectConfigActivities() {
+        Intent intent = new Intent(Intent.ACTION_MAIN)
+                .addCategory(Notification.INTENT_CATEGORY_NOTIFICATION_PREFERENCES)
+                .setPackage(mAppRow.pkg);
+        final List<ResolveInfo> resolveInfos = mPm.queryIntentActivities(
+                intent,
+                0 //PackageManager.MATCH_DEFAULT_ONLY
+        );
+        if (DEBUG) {
+            Log.d(TAG, "Found " + resolveInfos.size() + " preference activities"
+                    + (resolveInfos.size() == 0 ? " ;_;" : ""));
+        }
+        for (ResolveInfo ri : resolveInfos) {
+            final ActivityInfo activityInfo = ri.activityInfo;
+            if (mAppRow.settingsIntent != null) {
+                if (DEBUG) {
+                    Log.d(TAG, "Ignoring duplicate notification preference activity ("
+                            + activityInfo.name + ") for package "
+                            + activityInfo.packageName);
+                }
+                continue;
+            }
+            // TODO(78660939): This should actually start a new task
+            mAppRow.settingsIntent = intent
+                    .setPackage(null)
+                    .setClassName(activityInfo.packageName, activityInfo.name);
+            if (mChannel != null) {
+                mAppRow.settingsIntent.putExtra(Notification.EXTRA_CHANNEL_ID, mChannel.getId());
+            }
+            if (mChannelGroup != null) {
+                mAppRow.settingsIntent.putExtra(
+                        Notification.EXTRA_CHANNEL_GROUP_ID, mChannelGroup.getId());
+            }
+        }
+    }
+
+    private PackageInfo findPackageInfo(String pkg, int uid) {
+        if (pkg == null || uid < 0) {
+            return null;
+        }
+        final String[] packages = mPm.getPackagesForUid(uid);
+        if (packages != null && pkg != null) {
+            final int N = packages.length;
+            for (int i = 0; i < N; i++) {
+                final String p = packages[i];
+                if (pkg.equals(p)) {
+                    try {
+                        return mPm.getPackageInfo(pkg, PackageManager.GET_SIGNATURES);
+                    } catch (NameNotFoundException e) {
+                        Log.w(TAG, "Failed to load package " + pkg, e);
+                    }
+                }
+            }
+        }
+        return null;
+    }
+
+    protected void startListeningToPackageRemove() {
+        if (mListeningToPackageRemove) {
+            return;
+        }
+        mListeningToPackageRemove = true;
+        final IntentFilter filter = new IntentFilter(Intent.ACTION_PACKAGE_REMOVED);
+        filter.addDataScheme("package");
+        getContext().registerReceiver(mPackageRemovedReceiver, filter);
+    }
+
+    protected void stopListeningToPackageRemove() {
+        if (!mListeningToPackageRemove) {
+            return;
+        }
+        mListeningToPackageRemove = false;
+        getContext().unregisterReceiver(mPackageRemovedReceiver);
+    }
+
+    protected void onPackageRemoved() {
+        getActivity().finishAndRemoveTask();
+    }
+
+    protected final BroadcastReceiver mPackageRemovedReceiver = new BroadcastReceiver() {
+        @Override
+        public void onReceive(Context context, Intent intent) {
+            String packageName = intent.getData().getSchemeSpecificPart();
+            if (mPkgInfo == null || TextUtils.equals(mPkgInfo.packageName, packageName)) {
+                if (DEBUG) {
+                    Log.d(TAG, "Package (" + packageName + ") removed. Removing"
+                            + "NotificationSettingsBase.");
+                }
+                onPackageRemoved();
+            }
+        }
+    };
+
+    protected class DependentFieldListener {
+        protected void onFieldValueChanged() {
+            // Reload the conversation drawable, which shows some channel/conversation state
+            if (mConversationDrawable != null && mConversationDrawable
+                    instanceof ConversationIconFactory.ConversationIconDrawable) {
+                ((ConversationIconFactory.ConversationIconDrawable) mConversationDrawable)
+                        .setImportant(mChannel.isImportantConversation());
+            }
+            final PreferenceScreen screen = getPreferenceScreen();
+            for (NotificationPreferenceController controller : mControllers) {
+                controller.displayPreference(screen);
+            }
+            updatePreferenceStates();
+        }
+    }
+}
diff --git a/src/com/android/settings/notification/app/NotificationSoundPreference.java b/src/com/android/settings/notification/app/NotificationSoundPreference.java
new file mode 100644
index 0000000..136b21f
--- /dev/null
+++ b/src/com/android/settings/notification/app/NotificationSoundPreference.java
@@ -0,0 +1,83 @@
+/*
+ * 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.app;
+
+import android.content.ContentResolver;
+import android.content.Context;
+import android.content.Intent;
+import android.media.Ringtone;
+import android.media.RingtoneManager;
+import android.net.Uri;
+import android.os.AsyncTask;
+import android.util.AttributeSet;
+
+import com.android.settings.R;
+import com.android.settings.RingtonePreference;
+
+public class NotificationSoundPreference extends RingtonePreference {
+    private Uri mRingtone;
+
+    public NotificationSoundPreference(Context context, AttributeSet attrs) {
+        super(context, attrs);
+    }
+
+    @Override
+    protected Uri onRestoreRingtone() {
+        return mRingtone;
+    }
+
+    public void setRingtone(Uri ringtone) {
+        mRingtone = ringtone;
+        setSummary("\u00A0");
+        updateRingtoneName(mRingtone);
+    }
+
+    @Override
+    public boolean onActivityResult(int requestCode, int resultCode, Intent data) {
+        if (data != null) {
+            Uri uri = data.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI);
+            setRingtone(uri);
+            callChangeListener(uri);
+        }
+
+        return true;
+    }
+
+    private void updateRingtoneName(final Uri uri) {
+        AsyncTask ringtoneNameTask = new AsyncTask<Object, Void, CharSequence>() {
+            @Override
+            protected CharSequence doInBackground(Object... params) {
+                if (uri == null) {
+                    return getContext().getString(com.android.internal.R.string.ringtone_silent);
+                } else if (RingtoneManager.isDefault(uri)) {
+                    return getContext().getString(R.string.notification_sound_default);
+                } else if(ContentResolver.SCHEME_ANDROID_RESOURCE.equals(uri.getScheme())) {
+                    return getContext().getString(R.string.notification_unknown_sound_title);
+                } else {
+                    return Ringtone.getTitle(getContext(), uri, false /* followSettingsUri */,
+                            true /* allowRemote */);
+                }
+            }
+
+            @Override
+            protected void onPostExecute(CharSequence name) {
+                setSummary(name);
+            }
+        };
+        ringtoneNameTask.execute();
+    }
+}
diff --git a/src/com/android/settings/notification/app/NotificationsOffPreferenceController.java b/src/com/android/settings/notification/app/NotificationsOffPreferenceController.java
new file mode 100644
index 0000000..0d998eb
--- /dev/null
+++ b/src/com/android/settings/notification/app/NotificationsOffPreferenceController.java
@@ -0,0 +1,62 @@
+/*
+ * 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.app;
+
+import android.content.Context;
+
+import androidx.preference.Preference;
+
+import com.android.settings.R;
+import com.android.settings.core.PreferenceControllerMixin;
+
+public class NotificationsOffPreferenceController extends NotificationPreferenceController
+        implements PreferenceControllerMixin {
+
+    private static final String KEY_BLOCKED_DESC = "block_desc";
+
+    public NotificationsOffPreferenceController(Context context) {
+        super(context, null);
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY_BLOCKED_DESC;
+    }
+
+    @Override
+    public boolean isAvailable() {
+        if (mAppRow == null) {
+            return false;
+        }
+        // Available only when other controllers are unavailable - this UI replaces the UI that
+        // would give more detailed notification controls.
+        return !super.isAvailable();
+    }
+
+    public void updateState(Preference preference) {
+        if (mAppRow != null) {
+            if (mChannel != null) {
+                preference.setTitle(R.string.channel_notifications_off_desc);
+            } else if (mChannelGroup != null) {
+                preference.setTitle(R.string.channel_group_notifications_off_desc);
+            } else {
+                preference.setTitle(R.string.app_notifications_off_desc);
+            }
+        }
+        preference.setSelectable(false);
+    }
+}
diff --git a/src/com/android/settings/notification/app/SoundPreferenceController.java b/src/com/android/settings/notification/app/SoundPreferenceController.java
new file mode 100644
index 0000000..b3ac927
--- /dev/null
+++ b/src/com/android/settings/notification/app/SoundPreferenceController.java
@@ -0,0 +1,134 @@
+/*
+ * 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.app;
+
+import static android.media.AudioAttributes.USAGE_ALARM;
+import static android.media.AudioAttributes.USAGE_NOTIFICATION_RINGTONE;
+
+import android.app.NotificationChannel;
+import android.app.NotificationManager;
+import android.content.Context;
+import android.content.Intent;
+import android.media.RingtoneManager;
+import android.net.Uri;
+import android.preference.PreferenceManager;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.SettingsPreferenceFragment;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settings.notification.NotificationBackend;
+
+public class SoundPreferenceController extends NotificationPreferenceController
+        implements PreferenceControllerMixin, Preference.OnPreferenceChangeListener,
+        PreferenceManager.OnActivityResultListener {
+
+    private static final String KEY_SOUND = "ringtone";
+    private final SettingsPreferenceFragment mFragment;
+    private final NotificationSettings.DependentFieldListener mListener;
+    private NotificationSoundPreference mPreference;
+    protected static final int CODE = 200;
+
+    public SoundPreferenceController(Context context, SettingsPreferenceFragment hostFragment,
+            NotificationSettings.DependentFieldListener dependentFieldListener,
+            NotificationBackend backend) {
+        super(context, backend);
+        mFragment = hostFragment;
+        mListener = dependentFieldListener;
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY_SOUND;
+    }
+
+    @Override
+    public boolean isAvailable() {
+        if (!super.isAvailable()) {
+            return false;
+        }
+        if (mChannel == null) {
+            return false;
+        }
+        return checkCanBeVisible(NotificationManager.IMPORTANCE_DEFAULT) && !isDefaultChannel();
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+
+        mPreference = screen.findPreference(getPreferenceKey());
+    }
+
+    public void updateState(Preference preference) {
+        if (mAppRow!= null && mChannel != null) {
+            NotificationSoundPreference pref = (NotificationSoundPreference) preference;
+            pref.setEnabled(mAdmin == null);
+            pref.setRingtone(mChannel.getSound());
+        }
+    }
+
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object newValue) {
+        if (mChannel != null) {
+            mChannel.setSound((Uri) newValue, mChannel.getAudioAttributes());
+            saveChannel();
+        }
+        return true;
+    }
+
+    @Override
+    public boolean handlePreferenceTreeClick(Preference preference) {
+        if (KEY_SOUND.equals(preference.getKey()) && mFragment != null) {
+            NotificationSoundPreference pref = (NotificationSoundPreference) preference;
+            if (mChannel != null && mChannel.getAudioAttributes() != null) {
+                if (USAGE_ALARM == mChannel.getAudioAttributes().getUsage()) {
+                    pref.setRingtoneType(RingtoneManager.TYPE_ALARM);
+                } else if (USAGE_NOTIFICATION_RINGTONE
+                        == mChannel.getAudioAttributes().getUsage()) {
+                    pref.setRingtoneType(RingtoneManager.TYPE_RINGTONE);
+                } else {
+                    pref.setRingtoneType(RingtoneManager.TYPE_NOTIFICATION);
+                }
+            }
+            pref.onPrepareRingtonePickerIntent(pref.getIntent());
+            mFragment.startActivityForResult(preference.getIntent(), CODE);
+            return true;
+        }
+        return false;
+    }
+
+    @Override
+    public boolean onActivityResult(int requestCode, int resultCode, Intent data) {
+        if (CODE == requestCode) {
+            if (mPreference != null) {
+                mPreference.onActivityResult(requestCode, resultCode, data);
+            }
+            // the importance hasn't changed, but the importance description might as a result of
+            // user's selection.
+            mListener.onFieldValueChanged();
+            return true;
+        }
+        return false;
+    }
+
+    protected static boolean hasValidSound(NotificationChannel channel) {
+        return channel != null
+                && channel.getSound() != null && !Uri.EMPTY.equals(channel.getSound());
+    }
+}
diff --git a/src/com/android/settings/notification/app/VibrationPreferenceController.java b/src/com/android/settings/notification/app/VibrationPreferenceController.java
new file mode 100644
index 0000000..b22c477
--- /dev/null
+++ b/src/com/android/settings/notification/app/VibrationPreferenceController.java
@@ -0,0 +1,75 @@
+/*
+ * 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.app;
+
+import android.app.NotificationManager;
+import android.content.Context;
+import android.os.Vibrator;
+
+import androidx.preference.Preference;
+
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settings.notification.NotificationBackend;
+import com.android.settings.notification.app.NotificationPreferenceController;
+import com.android.settingslib.RestrictedSwitchPreference;
+
+public class VibrationPreferenceController extends NotificationPreferenceController
+        implements PreferenceControllerMixin, Preference.OnPreferenceChangeListener {
+
+    private static final String KEY_VIBRATE = "vibrate";
+    private final Vibrator mVibrator;
+
+    public VibrationPreferenceController(Context context, NotificationBackend backend) {
+        super(context, backend);
+        mVibrator = (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE);
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY_VIBRATE;
+    }
+
+    @Override
+    public boolean isAvailable() {
+        if (!super.isAvailable() || mChannel == null) {
+            return false;
+       }
+        return checkCanBeVisible(NotificationManager.IMPORTANCE_DEFAULT)
+                && !isDefaultChannel()
+                && mVibrator != null
+                && mVibrator.hasVibrator();
+    }
+
+    public void updateState(Preference preference) {
+        if (mChannel != null) {
+            RestrictedSwitchPreference pref = (RestrictedSwitchPreference) preference;
+            pref.setDisabledByAdmin(mAdmin);
+            pref.setEnabled(!pref.isDisabledByAdmin());
+            pref.setChecked(mChannel.shouldVibrate());
+        }
+    }
+
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object newValue) {
+        if (mChannel != null) {
+            final boolean vibrate = (Boolean) newValue;
+            mChannel.enableVibration(vibrate);
+            saveChannel();
+        }
+        return true;
+    }
+}
diff --git a/src/com/android/settings/notification/app/VisibilityPreferenceController.java b/src/com/android/settings/notification/app/VisibilityPreferenceController.java
new file mode 100644
index 0000000..74e42b0
--- /dev/null
+++ b/src/com/android/settings/notification/app/VisibilityPreferenceController.java
@@ -0,0 +1,175 @@
+/*
+ * 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.app;
+
+import android.app.Notification;
+import android.app.NotificationChannel;
+import android.app.NotificationManager;
+import android.app.admin.DevicePolicyManager;
+import android.content.Context;
+import android.content.pm.UserInfo;
+import android.os.UserHandle;
+import android.provider.Settings;
+import android.service.notification.NotificationListenerService;
+
+import androidx.preference.Preference;
+
+import com.android.internal.widget.LockPatternUtils;
+import com.android.settings.R;
+import com.android.settings.RestrictedListPreference;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settings.notification.NotificationBackend;
+import com.android.settings.notification.app.NotificationPreferenceController;
+import com.android.settingslib.RestrictedLockUtils;
+import com.android.settingslib.RestrictedLockUtilsInternal;
+
+import java.util.ArrayList;
+
+public class VisibilityPreferenceController extends NotificationPreferenceController
+        implements PreferenceControllerMixin, Preference.OnPreferenceChangeListener {
+
+    private static final String TAG = "ChannelVisPrefContr";
+    private static final String KEY_VISIBILITY_OVERRIDE = "visibility_override";
+    private LockPatternUtils mLockPatternUtils;
+
+    public VisibilityPreferenceController(Context context, LockPatternUtils utils,
+            NotificationBackend backend) {
+        super(context, backend);
+        mLockPatternUtils = utils;
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY_VISIBILITY_OVERRIDE;
+    }
+
+    @Override
+    public boolean isAvailable() {
+        if (!super.isAvailable()) {
+            return false;
+        }
+        if (mChannel == null || mAppRow.banned) {
+            return false;
+        }
+        return checkCanBeVisible(NotificationManager.IMPORTANCE_LOW) && isLockScreenSecure();
+    }
+
+    public void updateState(Preference preference) {
+        if (mChannel != null && mAppRow != null) {
+            RestrictedListPreference pref = (RestrictedListPreference) preference;
+            ArrayList<CharSequence> entries = new ArrayList<>();
+            ArrayList<CharSequence> values = new ArrayList<>();
+
+            pref.clearRestrictedItems();
+            if (getLockscreenNotificationsEnabled() && getLockscreenAllowPrivateNotifications()) {
+                final String summaryShowEntry =
+                        mContext.getString(R.string.lock_screen_notifications_summary_show);
+                final String summaryShowEntryValue =
+                        Integer.toString(NotificationManager.VISIBILITY_NO_OVERRIDE);
+                entries.add(summaryShowEntry);
+                values.add(summaryShowEntryValue);
+                setRestrictedIfNotificationFeaturesDisabled(pref, summaryShowEntry,
+                        summaryShowEntryValue,
+                        DevicePolicyManager.KEYGUARD_DISABLE_SECURE_NOTIFICATIONS
+                                | DevicePolicyManager.KEYGUARD_DISABLE_UNREDACTED_NOTIFICATIONS);
+            }
+
+            if (getLockscreenNotificationsEnabled()) {
+                final String summaryHideEntry =
+                        mContext.getString(R.string.lock_screen_notifications_summary_hide);
+                final String summaryHideEntryValue = Integer.toString(
+                        Notification.VISIBILITY_PRIVATE);
+                entries.add(summaryHideEntry);
+                values.add(summaryHideEntryValue);
+                setRestrictedIfNotificationFeaturesDisabled(pref,
+                        summaryHideEntry, summaryHideEntryValue,
+                        DevicePolicyManager.KEYGUARD_DISABLE_SECURE_NOTIFICATIONS);
+            }
+            entries.add(mContext.getString(R.string.lock_screen_notifications_summary_disable));
+            values.add(Integer.toString(Notification.VISIBILITY_SECRET));
+            pref.setEntries(entries.toArray(new CharSequence[entries.size()]));
+            pref.setEntryValues(values.toArray(new CharSequence[values.size()]));
+
+            if (mChannel.getLockscreenVisibility()
+                    == NotificationListenerService.Ranking.VISIBILITY_NO_OVERRIDE) {
+                pref.setValue(Integer.toString(getGlobalVisibility()));
+            } else {
+                pref.setValue(Integer.toString(mChannel.getLockscreenVisibility()));
+            }
+            pref.setSummary("%s");
+        }
+    }
+
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object newValue) {
+        if (mChannel != null) {
+            int sensitive = Integer.parseInt((String) newValue);
+            if (sensitive == getGlobalVisibility()) {
+                sensitive = NotificationListenerService.Ranking.VISIBILITY_NO_OVERRIDE;
+            }
+            mChannel.setLockscreenVisibility(sensitive);
+            mChannel.lockFields(NotificationChannel.USER_LOCKED_VISIBILITY);
+            saveChannel();
+        }
+        return true;
+    }
+
+    private void setRestrictedIfNotificationFeaturesDisabled(RestrictedListPreference pref,
+            CharSequence entry, CharSequence entryValue, int keyguardNotificationFeatures) {
+        RestrictedLockUtils.EnforcedAdmin admin =
+                RestrictedLockUtilsInternal.checkIfKeyguardFeaturesDisabled(
+                        mContext, keyguardNotificationFeatures, mAppRow.userId);
+        if (admin != null) {
+            RestrictedListPreference.RestrictedItem item =
+                    new RestrictedListPreference.RestrictedItem(entry, entryValue, admin);
+            pref.addRestrictedItem(item);
+        }
+    }
+
+    private int getGlobalVisibility() {
+        int globalVis = NotificationListenerService.Ranking.VISIBILITY_NO_OVERRIDE;
+        if (!getLockscreenNotificationsEnabled()) {
+            globalVis = Notification.VISIBILITY_SECRET;
+        } else if (!getLockscreenAllowPrivateNotifications()) {
+            globalVis = Notification.VISIBILITY_PRIVATE;
+        }
+        return globalVis;
+    }
+
+    private boolean getLockscreenNotificationsEnabled() {
+        final UserInfo parentUser = mUm.getProfileParent(UserHandle.myUserId());
+        final int primaryUserId = parentUser != null ? parentUser.id : UserHandle.myUserId();
+        return Settings.Secure.getIntForUser(mContext.getContentResolver(),
+                Settings.Secure.LOCK_SCREEN_SHOW_NOTIFICATIONS, 0, primaryUserId) != 0;
+    }
+
+    private boolean getLockscreenAllowPrivateNotifications() {
+        return Settings.Secure.getInt(mContext.getContentResolver(),
+                Settings.Secure.LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS, 0) != 0;
+    }
+
+    protected boolean isLockScreenSecure() {
+        boolean lockscreenSecure = mLockPatternUtils.isSecure(UserHandle.myUserId());
+        UserInfo parentUser = mUm.getProfileParent(UserHandle.myUserId());
+        if (parentUser != null){
+            lockscreenSecure |= mLockPatternUtils.isSecure(parentUser.id);
+        }
+
+        return lockscreenSecure;
+    }
+
+}
diff --git a/src/com/android/settings/notification/history/HistoryLoader.java b/src/com/android/settings/notification/history/HistoryLoader.java
new file mode 100644
index 0000000..461bbc1
--- /dev/null
+++ b/src/com/android/settings/notification/history/HistoryLoader.java
@@ -0,0 +1,98 @@
+/*
+ * 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.notification.history;
+
+import android.app.NotificationHistory;
+import android.app.NotificationHistory.HistoricalNotification;
+import android.content.Context;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.PackageManager;
+import android.os.UserHandle;
+import android.util.Slog;
+
+import com.android.settings.notification.NotificationBackend;
+import com.android.settingslib.utils.ThreadUtils;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+public class HistoryLoader {
+    private static final String TAG = "HistoryLoader";
+    private final Context mContext;
+    private final NotificationBackend mBackend;
+    private final PackageManager mPm;
+
+    public HistoryLoader(Context context, NotificationBackend backend, PackageManager pm) {
+        mContext = context;
+        mBackend = backend;
+        mPm = pm;
+    }
+
+    public void load(OnHistoryLoaderListener listener) {
+        ThreadUtils.postOnBackgroundThread(() -> {
+            try {
+                Map<String, NotificationHistoryPackage> historicalNotifications = new HashMap<>();
+                NotificationHistory history =
+                        mBackend.getNotificationHistory(mContext.getPackageName());
+                while (history.hasNextNotification()) {
+                    HistoricalNotification hn = history.getNextNotification();
+
+                    String key = hn.getPackage() + "|" + hn.getUid();
+                    NotificationHistoryPackage hnsForPackage = historicalNotifications.getOrDefault(
+                            key,
+                            new NotificationHistoryPackage(hn.getPackage(), hn.getUid()));
+                    hnsForPackage.notifications.add(hn);
+                    historicalNotifications.put(key, hnsForPackage);
+                }
+                List<NotificationHistoryPackage> packages =
+                        new ArrayList<>(historicalNotifications.values());
+                Collections.sort(packages,
+                        (o1, o2) -> -1 * Long.compare(o1.getMostRecent(), o2.getMostRecent()));
+                for (NotificationHistoryPackage nhp : packages) {
+                    ApplicationInfo info;
+                    try {
+                        info = mPm.getApplicationInfoAsUser(
+                                nhp.pkgName,
+                                PackageManager.MATCH_UNINSTALLED_PACKAGES
+                                        | PackageManager.MATCH_DISABLED_COMPONENTS
+                                        | PackageManager.MATCH_DIRECT_BOOT_UNAWARE
+                                        | PackageManager.MATCH_DIRECT_BOOT_AWARE,
+                                UserHandle.getUserId(nhp.uid));
+                        if (info != null) {
+                            nhp.label = String.valueOf(mPm.getApplicationLabel(info));
+                            nhp.icon = mPm.getUserBadgedIcon(mPm.getApplicationIcon(info),
+                                    UserHandle.of(UserHandle.getUserId(nhp.uid)));
+                        }
+                    } catch (PackageManager.NameNotFoundException e) {
+                        // app is gone, just show package name and generic icon
+                        nhp.icon = mPm.getDefaultActivityIcon();
+                    }
+                }
+                ThreadUtils.postOnMainThread(() -> listener.onHistoryLoaded(packages));
+            } catch (Exception e) {
+                Slog.e(TAG, "Error loading history", e);
+            }
+        });
+    }
+
+    interface OnHistoryLoaderListener {
+        void onHistoryLoaded(List<NotificationHistoryPackage> notificationsByPackage);
+    }
+}
diff --git a/src/com/android/settings/notification/history/NotificationHistoryActivity.java b/src/com/android/settings/notification/history/NotificationHistoryActivity.java
new file mode 100644
index 0000000..8c00b5d
--- /dev/null
+++ b/src/com/android/settings/notification/history/NotificationHistoryActivity.java
@@ -0,0 +1,308 @@
+/*
+ * 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.notification.history;
+
+import static android.provider.Settings.Secure.NOTIFICATION_HISTORY_ENABLED;
+
+import android.app.Activity;
+import android.app.ActivityManager;
+import android.app.INotificationManager;
+import android.content.ComponentName;
+import android.content.ContentResolver;
+import android.content.Context;
+import android.content.pm.PackageManager;
+import android.database.ContentObserver;
+import android.net.Uri;
+import android.os.Bundle;
+import android.os.RemoteException;
+import android.os.ServiceManager;
+import android.os.UserHandle;
+import android.provider.Settings;
+import android.service.notification.NotificationListenerService;
+import android.service.notification.StatusBarNotification;
+import android.util.Log;
+import android.util.Slog;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ImageButton;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import androidx.recyclerview.widget.DividerItemDecoration;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.android.settings.R;
+import com.android.settings.notification.NotificationBackend;
+import com.android.settings.widget.SwitchBar;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+
+public class NotificationHistoryActivity extends Activity {
+
+    private static String TAG = "NotifHistory";
+
+    private ViewGroup mHistoryOn;
+    private ViewGroup mHistoryOff;
+    private ViewGroup mTodayView;
+    private ViewGroup mSnoozeView;
+    private ViewGroup mDismissView;
+
+    private SettingsObserver mSettingsObserver = new SettingsObserver();
+    private HistoryLoader mHistoryLoader;
+    private INotificationManager mNm;
+    private PackageManager mPm;
+
+    private HistoryLoader.OnHistoryLoaderListener mOnHistoryLoaderListener = notifications -> {
+        // for each package, new header and recycler view
+        for (NotificationHistoryPackage nhp : notifications) {
+            View viewForPackage = LayoutInflater.from(this)
+                    .inflate(R.layout.notification_history_app_layout, null);
+
+            final View container = viewForPackage.findViewById(R.id.list_container);
+            container.setVisibility(View.GONE);
+            ImageButton expand = viewForPackage.findViewById(R.id.expand);
+            expand.setContentDescription(container.getVisibility() == View.VISIBLE
+                    ? getString(R.string.condition_expand_hide)
+                    : getString(R.string.condition_expand_show));
+            expand.setOnClickListener(v -> {
+                    container.setVisibility(container.getVisibility() == View.VISIBLE
+                            ? View.GONE : View.VISIBLE);
+                    expand.setImageResource(container.getVisibility() == View.VISIBLE
+                            ? R.drawable.ic_expand_less
+                            : com.android.internal.R.drawable.ic_expand_more);
+                    expand.setContentDescription(container.getVisibility() == View.VISIBLE
+                            ? getString(R.string.condition_expand_hide)
+                            : getString(R.string.condition_expand_show));
+            });
+
+            TextView label = viewForPackage.findViewById(R.id.label);
+            label.setText(nhp.label != null ? nhp.label : nhp.pkgName);
+            ImageView icon = viewForPackage.findViewById(R.id.icon);
+            icon.setImageDrawable(nhp.icon);
+
+            TextView count = viewForPackage.findViewById(R.id.count);
+            count.setText(getResources().getQuantityString(R.plurals.notification_history_count,
+                    nhp.notifications.size(), nhp.notifications.size()));
+
+            RecyclerView rv = viewForPackage.findViewById(R.id.notification_list);
+            LinearLayoutManager lm = new LinearLayoutManager(this);
+            rv.setLayoutManager(lm);
+            rv.setAdapter(new NotificationHistoryAdapter());
+            DividerItemDecoration dividerItemDecoration = new DividerItemDecoration(
+                    rv.getContext(), lm.getOrientation());
+            rv.addItemDecoration(dividerItemDecoration);
+            ((NotificationHistoryAdapter) rv.getAdapter()).onRebuildComplete(nhp.notifications);
+            mTodayView.addView(viewForPackage);
+        }
+    };
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.notification_history);
+        mTodayView = findViewById(R.id.apps);
+        mSnoozeView = findViewById(R.id.snoozed_list);
+        mDismissView = findViewById(R.id.recently_dismissed_list);
+        mHistoryOff = findViewById(R.id.history_off);
+        mHistoryOn = findViewById(R.id.history_on);
+    }
+
+    @Override
+    protected void onResume() {
+        super.onResume();
+
+        mPm = getPackageManager();
+
+        mTodayView.removeAllViews();
+        mHistoryLoader = new HistoryLoader(this, new NotificationBackend(), mPm);
+        mHistoryLoader.load(mOnHistoryLoaderListener);
+
+        mNm = INotificationManager.Stub.asInterface(
+                ServiceManager.getService(Context.NOTIFICATION_SERVICE));
+        try {
+            mListener.registerAsSystemService(this, new ComponentName(getPackageName(),
+                    this.getClass().getCanonicalName()), ActivityManager.getCurrentUser());
+        } catch (RemoteException e) {
+            Log.e(TAG, "Cannot register listener", e);
+        }
+        mSettingsObserver.observe();
+
+        bindSwitch();
+    }
+
+    @Override
+    public void onPause() {
+        try {
+            mListener.unregisterAsSystemService();
+        } catch (RemoteException e) {
+            Log.e(TAG, "Cannot unregister listener", e);
+        }
+        mSettingsObserver.stopObserving();
+        super.onPause();
+    }
+
+    private void bindSwitch() {
+        SwitchBar bar = findViewById(R.id.switch_bar);
+        if (bar != null) {
+            bar.setSwitchBarText(R.string.notification_history_turn_off,
+                    R.string.notification_history_turn_on);
+            bar.show();
+            try {
+                bar.addOnSwitchChangeListener(mOnSwitchClickListener);
+            } catch (IllegalStateException e) {
+                // an exception is thrown if you try to add the listener twice
+            }
+            bar.setChecked(Settings.Secure.getInt(getContentResolver(),
+                    NOTIFICATION_HISTORY_ENABLED, 0) == 1);
+            toggleViews(bar.isChecked());
+        }
+    }
+
+    private void toggleViews(boolean isChecked) {
+        if (isChecked) {
+            mHistoryOff.setVisibility(View.GONE);
+            mHistoryOn.setVisibility(View.VISIBLE);
+        } else {
+            mHistoryOn.setVisibility(View.GONE);
+            mHistoryOff.setVisibility(View.VISIBLE);
+            mTodayView.removeAllViews();
+        }
+    }
+
+    private void onHistoryEnabledChanged(boolean enabled) {
+        if (enabled) {
+            mHistoryLoader.load(mOnHistoryLoaderListener);
+        }
+    }
+
+    final class SettingsObserver extends ContentObserver {
+        private final Uri NOTIFICATION_HISTORY_URI
+                = Settings.Secure.getUriFor(Settings.Secure.NOTIFICATION_HISTORY_ENABLED);
+
+        SettingsObserver() {
+            super(null);
+        }
+
+        void observe() {
+            ContentResolver resolver = getContentResolver();
+            resolver.registerContentObserver(NOTIFICATION_HISTORY_URI,
+                    false, this, UserHandle.USER_ALL);
+        }
+
+        void stopObserving() {
+            ContentResolver resolver = getContentResolver();
+            resolver.unregisterContentObserver(this);
+        }
+
+        @Override
+        public void onChange(boolean selfChange, Uri uri) {
+            update(uri);
+        }
+
+        public void update(Uri uri) {
+            ContentResolver resolver = getContentResolver();
+            if (uri == null || NOTIFICATION_HISTORY_URI.equals(uri)) {
+                boolean historyEnabled = Settings.Secure.getInt(resolver,
+                        Settings.Secure.NOTIFICATION_HISTORY_ENABLED, 0)
+                        != 0;
+                onHistoryEnabledChanged(historyEnabled);
+            }
+        }
+    }
+
+    private final SwitchBar.OnSwitchChangeListener mOnSwitchClickListener =
+            (switchView, isChecked) -> {
+                Settings.Secure.putInt(getContentResolver(),
+                        NOTIFICATION_HISTORY_ENABLED,
+                        isChecked ? 1 : 0);
+                toggleViews(isChecked);
+            };
+
+    private final NotificationListenerService mListener = new NotificationListenerService() {
+        private RecyclerView mDismissedRv;
+        private RecyclerView mSnoozedRv;
+
+        @Override
+        public void onListenerConnected() {
+            StatusBarNotification[] snoozed = null;
+            StatusBarNotification[] dismissed = null;
+            try {
+                snoozed = getSnoozedNotifications();
+                dismissed = mNm.getHistoricalNotifications(
+                    NotificationHistoryActivity.this.getPackageName(), 6, false);
+            } catch (SecurityException | RemoteException e) {
+                Log.d(TAG, "OnPaused called while trying to retrieve notifications");
+            }
+
+            mSnoozedRv = mSnoozeView.findViewById(R.id.notification_list);
+            LinearLayoutManager lm = new LinearLayoutManager(NotificationHistoryActivity.this);
+            mSnoozedRv.setLayoutManager(lm);
+            mSnoozedRv.setAdapter(
+                    new NotificationSbnAdapter(NotificationHistoryActivity.this, mPm));
+            DividerItemDecoration dividerItemDecoration = new DividerItemDecoration(
+                    mSnoozedRv.getContext(), lm.getOrientation());
+            mSnoozedRv.addItemDecoration(dividerItemDecoration);
+            mSnoozedRv.setNestedScrollingEnabled(false);
+
+            if (snoozed == null || snoozed.length == 0) {
+                mSnoozeView.setVisibility(View.GONE);
+            } else {
+                ((NotificationSbnAdapter) mSnoozedRv.getAdapter()).onRebuildComplete(
+                        new ArrayList<>(Arrays.asList(snoozed)));
+            }
+
+            mDismissedRv = mDismissView.findViewById(R.id.notification_list);
+            LinearLayoutManager dismissLm =
+                new LinearLayoutManager(NotificationHistoryActivity.this);
+            mDismissedRv.setLayoutManager(dismissLm);
+            mDismissedRv.setAdapter(
+                new NotificationSbnAdapter(NotificationHistoryActivity.this, mPm));
+            DividerItemDecoration dismissDivider = new DividerItemDecoration(
+                mDismissedRv.getContext(), dismissLm.getOrientation());
+            mDismissedRv.addItemDecoration(dismissDivider);
+            mDismissedRv.setNestedScrollingEnabled(false);
+
+            if (dismissed == null || dismissed.length == 0) {
+                mDismissView.setVisibility(View.GONE);
+            } else {
+                mDismissView.setVisibility(View.VISIBLE);
+                ((NotificationSbnAdapter) mDismissedRv.getAdapter()).onRebuildComplete(
+                    new ArrayList<>(Arrays.asList(dismissed)));
+            }
+        }
+
+        @Override
+        public void onNotificationPosted(StatusBarNotification sbn) {
+            // making lint happy
+        }
+
+        @Override
+        public void onNotificationRemoved(StatusBarNotification sbn, RankingMap rankingMap,
+                int reason) {
+            if (reason == REASON_SNOOZED) {
+                ((NotificationSbnAdapter) mSnoozedRv.getAdapter()).addSbn(sbn);
+                mSnoozeView.setVisibility(View.VISIBLE);
+            } else {
+                ((NotificationSbnAdapter) mDismissedRv.getAdapter()).addSbn(sbn);
+                mDismissView.setVisibility(View.VISIBLE);
+            }
+        }
+    };
+}
diff --git a/src/com/android/settings/notification/history/NotificationHistoryAdapter.java b/src/com/android/settings/notification/history/NotificationHistoryAdapter.java
new file mode 100644
index 0000000..4448dee
--- /dev/null
+++ b/src/com/android/settings/notification/history/NotificationHistoryAdapter.java
@@ -0,0 +1,80 @@
+/*
+ * 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.notification.history;
+
+import android.app.NotificationHistory;
+import android.app.NotificationHistory.HistoricalNotification;
+import android.content.Context;
+import android.graphics.drawable.Drawable;
+import android.os.UserHandle;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import androidx.annotation.NonNull;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.android.settings.R;
+import com.android.settings.notification.NotificationBackend;
+import com.android.settingslib.utils.ThreadUtils;
+
+import java.util.ArrayList;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.TreeMap;
+
+public class NotificationHistoryAdapter extends
+        RecyclerView.Adapter<NotificationHistoryViewHolder> {
+
+    private List<HistoricalNotification> mValues;
+
+    public NotificationHistoryAdapter() {
+        mValues = new ArrayList<>();
+        setHasStableIds(true);
+    }
+
+    @Override
+    public NotificationHistoryViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
+        View view = LayoutInflater.from(parent.getContext())
+                .inflate(R.layout.notification_history_log_row, parent, false);
+        return new NotificationHistoryViewHolder(view);
+    }
+
+    @Override
+    public void onBindViewHolder(final @NonNull NotificationHistoryViewHolder holder,
+            int position) {
+        final HistoricalNotification hn = mValues.get(position);
+        holder.setTitle(hn.getTitle());
+        holder.setSummary(hn.getText());
+        holder.setPostedTime(hn.getPostedTimeMs());
+        holder.addOnClick(hn.getPackage(), hn.getUserId(), hn.getChannelId(),
+                hn.getConversationId());
+    }
+
+    @Override
+    public int getItemCount() {
+        return mValues.size();
+    }
+
+    public void onRebuildComplete(List<HistoricalNotification> notifications) {
+        mValues = notifications;
+        mValues.sort((o1, o2) -> Long.compare(o2.getPostedTimeMs(), o1.getPostedTimeMs()));
+        notifyDataSetChanged();
+    }
+}
diff --git a/src/com/android/settings/notification/history/NotificationHistoryPackage.java b/src/com/android/settings/notification/history/NotificationHistoryPackage.java
new file mode 100644
index 0000000..5170b75
--- /dev/null
+++ b/src/com/android/settings/notification/history/NotificationHistoryPackage.java
@@ -0,0 +1,62 @@
+/*
+ * 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.notification.history;
+
+import android.app.NotificationHistory;
+import android.graphics.drawable.Drawable;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+
+public class NotificationHistoryPackage {
+    String pkgName;
+    int uid;
+    List<NotificationHistory.HistoricalNotification> notifications;
+    CharSequence label;
+    Drawable icon;
+
+    public NotificationHistoryPackage(String pkgName, int uid) {
+        this.pkgName = pkgName;
+        this.uid = uid;
+        notifications = new ArrayList<>();
+    }
+
+    public long getMostRecent() {
+        if (notifications.isEmpty()) {
+            return 0;
+        }
+        return notifications.get(0).getPostedTimeMs();
+    }
+
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) return true;
+        if (o == null || getClass() != o.getClass()) return false;
+        NotificationHistoryPackage that = (NotificationHistoryPackage) o;
+        return uid == that.uid &&
+                Objects.equals(pkgName, that.pkgName) &&
+                Objects.equals(notifications, that.notifications) &&
+                Objects.equals(label, that.label) &&
+                Objects.equals(icon, that.icon);
+    }
+
+    @Override
+    public int hashCode() {
+        return Objects.hash(pkgName, uid, notifications, label, icon);
+    }
+}
diff --git a/src/com/android/settings/notification/history/NotificationHistoryViewHolder.java b/src/com/android/settings/notification/history/NotificationHistoryViewHolder.java
new file mode 100644
index 0000000..d1f47af
--- /dev/null
+++ b/src/com/android/settings/notification/history/NotificationHistoryViewHolder.java
@@ -0,0 +1,88 @@
+/*
+ * 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.notification.history;
+
+import static android.provider.Settings.EXTRA_APP_PACKAGE;
+import static android.provider.Settings.EXTRA_CHANNEL_ID;
+import static android.provider.Settings.EXTRA_CONVERSATION_ID;
+
+import android.content.Intent;
+import android.os.UserHandle;
+import android.provider.Settings;
+import android.view.View;
+import android.widget.DateTimeView;
+import android.widget.TextView;
+
+import androidx.core.view.AccessibilityDelegateCompat;
+import androidx.core.view.ViewCompat;
+import androidx.core.view.accessibility.AccessibilityNodeInfoCompat;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.android.settings.R;
+
+public class NotificationHistoryViewHolder extends RecyclerView.ViewHolder {
+
+    private final DateTimeView mTime;
+    private final TextView mTitle;
+    private final TextView mSummary;
+
+    NotificationHistoryViewHolder(View itemView) {
+        super(itemView);
+        mTime = itemView.findViewById(R.id.timestamp);
+        mTime.setShowRelativeTime(true);
+        mTitle = itemView.findViewById(R.id.title);
+        mSummary = itemView.findViewById(R.id.text);
+    }
+
+    void setSummary(CharSequence summary) {
+        mSummary.setText(summary);
+        mSummary.setVisibility(summary != null ? View.VISIBLE : View.GONE);
+    }
+
+    void setTitle(CharSequence title) {
+        mTitle.setText(title);
+        mTitle.setVisibility(title != null ? View.VISIBLE : View.GONE);
+    }
+
+    void setPostedTime(long postedTime) {
+        mTime.setTime(postedTime);
+    }
+
+    void addOnClick(String pkg, int userId, String channelId, String conversationId) {
+        itemView.setOnClickListener(v -> {
+            Intent intent =  new Intent(Settings.ACTION_CHANNEL_NOTIFICATION_SETTINGS)
+                    .putExtra(EXTRA_APP_PACKAGE, pkg)
+                    .putExtra(EXTRA_CHANNEL_ID, channelId)
+                    .putExtra(EXTRA_CONVERSATION_ID, conversationId);
+            intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+            itemView.getContext().startActivityAsUser(intent, UserHandle.of(userId));
+        });
+        ViewCompat.setAccessibilityDelegate(itemView, new AccessibilityDelegateCompat() {
+            @Override
+            public void onInitializeAccessibilityNodeInfo(View host,
+                    AccessibilityNodeInfoCompat info) {
+                super.onInitializeAccessibilityNodeInfo(host, info);
+                CharSequence description =
+                        host.getResources().getText(R.string.notification_history_view_settings);
+                AccessibilityNodeInfoCompat.AccessibilityActionCompat customClick =
+                        new AccessibilityNodeInfoCompat.AccessibilityActionCompat(
+                                AccessibilityNodeInfoCompat.ACTION_CLICK, description);
+                info.addAction(customClick);
+            }
+        });
+    }
+}
diff --git a/src/com/android/settings/notification/history/NotificationSbnAdapter.java b/src/com/android/settings/notification/history/NotificationSbnAdapter.java
new file mode 100644
index 0000000..2a7bed2
--- /dev/null
+++ b/src/com/android/settings/notification/history/NotificationSbnAdapter.java
@@ -0,0 +1,204 @@
+/*
+ * 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.notification.history;
+
+import static android.app.Notification.COLOR_DEFAULT;
+import static android.content.pm.PackageManager.MATCH_ANY_USER;
+import static android.content.pm.PackageManager.NameNotFoundException;
+import static android.os.UserHandle.USER_ALL;
+import static android.os.UserHandle.USER_CURRENT;
+
+import android.annotation.ColorInt;
+import android.app.Notification;
+import android.content.Context;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.PackageManager;
+import android.content.res.Configuration;
+import android.graphics.PorterDuff;
+import android.graphics.drawable.Drawable;
+import android.os.UserHandle;
+import android.service.notification.StatusBarNotification;
+import android.text.TextUtils;
+import android.util.Log;
+import android.util.Slog;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import androidx.annotation.NonNull;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.android.internal.util.ContrastColorUtil;
+import com.android.settings.R;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+public class NotificationSbnAdapter extends
+        RecyclerView.Adapter<NotificationSbnViewHolder> {
+
+    private static final String TAG = "SbnAdapter";
+    private List<StatusBarNotification> mValues;
+    private Map<Integer, Drawable> mUserBadgeCache;
+    private final Context mContext;
+    private PackageManager mPm;
+    private @ColorInt int mBackgroundColor;
+    private boolean mInNightMode;
+
+    public NotificationSbnAdapter(Context context, PackageManager pm) {
+        mContext = context;
+        mPm = pm;
+        mUserBadgeCache = new HashMap<>();
+        mValues = new ArrayList<>();
+        mBackgroundColor = mContext.getColor(
+                com.android.internal.R.color.notification_material_background_color);
+        Configuration currentConfig = mContext.getResources().getConfiguration();
+        mInNightMode = (currentConfig.uiMode & Configuration.UI_MODE_NIGHT_MASK)
+                == Configuration.UI_MODE_NIGHT_YES;
+        setHasStableIds(true);
+    }
+
+    @Override
+    public NotificationSbnViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
+        View view = LayoutInflater.from(parent.getContext())
+                .inflate(R.layout.notification_sbn_log_row, parent, false);
+        return new NotificationSbnViewHolder(view);
+    }
+
+    @Override
+    public void onBindViewHolder(final @NonNull NotificationSbnViewHolder holder,
+            int position) {
+        final StatusBarNotification sbn = mValues.get(position);
+        if (sbn != null) {
+            holder.setIcon(loadIcon(sbn));
+            holder.setPackageName(loadPackageName(sbn.getPackageName()).toString());
+            holder.setTitle(getTitleString(sbn.getNotification()));
+            holder.setSummary(getTextString(mContext, sbn.getNotification()));
+            holder.setPostedTime(sbn.getPostTime());
+            int userId = normalizeUserId(sbn);
+            if (!mUserBadgeCache.containsKey(userId)) {
+                Drawable profile = mContext.getPackageManager().getUserBadgeForDensity(
+                        UserHandle.of(userId), -1);
+                mUserBadgeCache.put(userId, profile);
+            }
+            holder.setProfileBadge(mUserBadgeCache.get(userId));
+        } else {
+            Slog.w(TAG, "null entry in list at position " + position);
+        }
+    }
+
+    @Override
+    public int getItemCount() {
+        return mValues.size();
+    }
+
+    public void onRebuildComplete(List<StatusBarNotification> notifications) {
+        // summaries are low content; don't bother showing them
+        for (int i = notifications.size() - 1; i >= 0; i--) {
+            StatusBarNotification sbn = notifications.get(i);
+            if (sbn.isGroup() && sbn.getNotification().isGroupSummary()) {
+                notifications.remove(i);
+            }
+        }
+        mValues = notifications;
+        notifyDataSetChanged();
+    }
+
+    public void addSbn(StatusBarNotification sbn) {
+        if (sbn.isGroup() && sbn.getNotification().isGroupSummary()) {
+            return;
+        }
+        mValues.add(0, sbn);
+        notifyDataSetChanged();
+    }
+
+    private @NonNull CharSequence loadPackageName(String pkg) {
+        try {
+            ApplicationInfo info = mPm.getApplicationInfo(pkg,
+                    MATCH_ANY_USER);
+            if (info != null) return mPm.getApplicationLabel(info);
+        } catch (NameNotFoundException e) {
+            Log.e(TAG, "Cannot load package name", e);
+        }
+        return pkg;
+    }
+
+    private static String getTitleString(Notification n) {
+        CharSequence title = null;
+        if (n.extras != null) {
+            title = n.extras.getCharSequence(Notification.EXTRA_TITLE);
+        }
+        return title == null? null : String.valueOf(title);
+    }
+
+    /**
+     * Returns the appropriate substring for this notification based on the style of notification.
+     */
+    private static String getTextString(Context appContext, Notification n) {
+        CharSequence text = null;
+        if (n.extras != null) {
+            text = n.extras.getCharSequence(Notification.EXTRA_TEXT);
+
+            Notification.Builder nb = Notification.Builder.recoverBuilder(appContext, n);
+
+            if (nb.getStyle() instanceof Notification.BigTextStyle) {
+                text = ((Notification.BigTextStyle) nb.getStyle()).getBigText();
+            } else if (nb.getStyle() instanceof Notification.MessagingStyle) {
+                Notification.MessagingStyle ms = (Notification.MessagingStyle) nb.getStyle();
+                final List<Notification.MessagingStyle.Message> messages = ms.getMessages();
+                if (messages != null && messages.size() > 0) {
+                    text = messages.get(messages.size() - 1).getText();
+                }
+            }
+
+            if (TextUtils.isEmpty(text)) {
+                text = n.extras.getCharSequence(Notification.EXTRA_TEXT);
+            }
+        }
+        return text == null ? null : String.valueOf(text);
+    }
+
+    private Drawable loadIcon(StatusBarNotification sbn) {
+        Drawable draw = sbn.getNotification().getSmallIcon().loadDrawableAsUser(
+                sbn.getPackageContext(mContext), normalizeUserId(sbn));
+        if (draw == null) {
+            return null;
+        }
+        draw.mutate();
+        draw.setColorFilter(getContrastedColor(sbn.getNotification()), PorterDuff.Mode.SRC_ATOP);
+        return draw;
+    }
+
+    private int normalizeUserId(StatusBarNotification sbn) {
+        int userId = sbn.getUserId();
+        if (userId == USER_ALL) {
+            userId = USER_CURRENT;
+        }
+        return userId;
+    }
+
+    private int getContrastedColor(Notification n) {
+        int rawColor = n.color;
+        if (rawColor != COLOR_DEFAULT) {
+            rawColor |= 0xFF000000; // no alpha for custom colors
+        }
+        return ContrastColorUtil.resolveContrastColor(
+                mContext, rawColor, mBackgroundColor, mInNightMode);
+    }
+}
diff --git a/src/com/android/settings/notification/history/NotificationSbnViewHolder.java b/src/com/android/settings/notification/history/NotificationSbnViewHolder.java
new file mode 100644
index 0000000..79cda7f
--- /dev/null
+++ b/src/com/android/settings/notification/history/NotificationSbnViewHolder.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.notification.history;
+
+import android.graphics.drawable.Drawable;
+import android.graphics.drawable.Icon;
+import android.text.TextUtils;
+import android.view.View;
+import android.widget.DateTimeView;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.android.settings.R;
+
+public class NotificationSbnViewHolder extends RecyclerView.ViewHolder {
+
+    private final TextView mPkgName;
+    private final ImageView mIcon;
+    private final DateTimeView mTime;
+    private final TextView mTitle;
+    private final TextView mSummary;
+    private final ImageView mProfileBadge;
+
+    NotificationSbnViewHolder(View itemView) {
+        super(itemView);
+        mPkgName = itemView.findViewById(R.id.pkgname);
+        mIcon = itemView.findViewById(R.id.icon);
+        mTime = itemView.findViewById(R.id.timestamp);
+        mTitle = itemView.findViewById(R.id.title);
+        mSummary = itemView.findViewById(R.id.text);
+        mProfileBadge = itemView.findViewById(R.id.profile_badge);
+    }
+
+    void setSummary(CharSequence summary) {
+        mSummary.setVisibility(TextUtils.isEmpty(summary) ? View.GONE : View.VISIBLE);
+        mSummary.setText(summary);
+    }
+
+    void setTitle(CharSequence title) {
+        if (title == null) {
+            return;
+        }
+        mTitle.setText(title);
+    }
+
+    void setIcon(Drawable icon) {
+        mIcon.setImageDrawable(icon);
+    }
+
+    void setPackageName(String pkg) {
+        mPkgName.setText(pkg);
+    }
+
+    void setPostedTime(long postedTime) {
+        mTime.setTime(postedTime);
+    }
+
+    void setProfileBadge(Drawable badge) {
+        mProfileBadge.setImageDrawable(badge);
+    }
+}
diff --git a/src/com/android/settings/notification/history/NotificationStation.java b/src/com/android/settings/notification/history/NotificationStation.java
new file mode 100644
index 0000000..381fb42
--- /dev/null
+++ b/src/com/android/settings/notification/history/NotificationStation.java
@@ -0,0 +1,737 @@
+/*
+ * Copyright (C) 2012 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.notification.history;
+
+import static android.provider.Settings.EXTRA_APP_PACKAGE;
+import static android.provider.Settings.EXTRA_CHANNEL_ID;
+
+import android.app.Activity;
+import android.app.ActivityManager;
+import android.app.INotificationManager;
+import android.app.Notification;
+import android.app.NotificationChannel;
+import android.app.PendingIntent;
+import android.app.settings.SettingsEnums;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentSender;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.PackageManager;
+import android.graphics.PorterDuff;
+import android.graphics.Typeface;
+import android.graphics.drawable.Drawable;
+import android.os.Bundle;
+import android.os.Parcel;
+import android.os.RemoteException;
+import android.os.ServiceManager;
+import android.os.UserHandle;
+import android.provider.Settings;
+import android.service.notification.NotificationListenerService;
+import android.service.notification.NotificationListenerService.Ranking;
+import android.service.notification.NotificationListenerService.RankingMap;
+import android.service.notification.StatusBarNotification;
+import android.text.SpannableString;
+import android.text.SpannableStringBuilder;
+import android.text.TextUtils;
+import android.text.style.StyleSpan;
+import android.util.Log;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.DateTimeView;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceViewHolder;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.android.settings.R;
+import com.android.settings.SettingsPreferenceFragment;
+import com.android.settings.Utils;
+
+import java.util.ArrayList;
+import java.util.Comparator;
+import java.util.LinkedList;
+import java.util.List;
+
+public class NotificationStation extends SettingsPreferenceFragment {
+    private static final String TAG = NotificationStation.class.getSimpleName();
+
+    private static final boolean DEBUG = false;
+    private static final boolean DUMP_EXTRAS = true;
+    private static final boolean DUMP_PARCEL = true;
+
+    private static class HistoricalNotificationInfo {
+        public String key;
+        public NotificationChannel channel;
+        // Historical notifications don't have Ranking information. for most fields that's ok
+        // but we need channel id to launch settings.
+        public String channelId;
+        public String pkg;
+        public Drawable pkgicon;
+        public CharSequence pkgname;
+        public Drawable icon;
+        public boolean badged;
+        public CharSequence title;
+        public CharSequence text;
+        public int priority;
+        public int user;
+        public long timestamp;
+        public boolean active;
+        public CharSequence notificationExtra;
+        public CharSequence rankingExtra;
+        public boolean alerted;
+        public boolean visuallyInterruptive;
+
+        public void updateFrom(HistoricalNotificationInfo updatedInfo) {
+            this.channel = updatedInfo.channel;
+            this.icon = updatedInfo.icon;
+            this.title = updatedInfo.title;
+            this.text = updatedInfo.text;
+            this.priority = updatedInfo.priority;
+            this.timestamp = updatedInfo.timestamp;
+            this.active = updatedInfo.active;
+            this.alerted = updatedInfo.alerted;
+            this.visuallyInterruptive = updatedInfo.visuallyInterruptive;
+            this.notificationExtra = updatedInfo.notificationExtra;
+            this.rankingExtra = updatedInfo.rankingExtra;
+        }
+    }
+
+    private PackageManager mPm;
+    private INotificationManager mNoMan;
+    private RankingMap mRanking;
+    private LinkedList<HistoricalNotificationInfo> mNotificationInfos;
+
+    private final NotificationListenerService mListener = new NotificationListenerService() {
+        @Override
+        public void onNotificationPosted(StatusBarNotification sbn, RankingMap ranking) {
+            logd("onNotificationPosted: %s, with update for %d", sbn.getNotification(),
+                    ranking == null ? 0 : ranking.getOrderedKeys().length);
+            mRanking = ranking;
+            if (sbn.getNotification().isGroupSummary()) {
+                return;
+            }
+            addOrUpdateNotification(sbn);
+        }
+
+        @Override
+        public void onNotificationRemoved(StatusBarNotification sbn, RankingMap ranking) {
+            logd("onNotificationRankingUpdate with update for %d",
+                    ranking == null ? 0 : ranking.getOrderedKeys().length);
+            mRanking = ranking;
+            if (sbn.getNotification().isGroupSummary()) {
+                return;
+            }
+            markNotificationAsDismissed(sbn);
+        }
+
+        @Override
+        public void onNotificationRankingUpdate(RankingMap ranking) {
+            logd("onNotificationRankingUpdate with update for %d",
+                    ranking == null ? 0 : ranking.getOrderedKeys().length);
+            mRanking = ranking;
+            updateNotificationsFromRanking();
+        }
+
+        @Override
+        public void onListenerConnected() {
+            mRanking = getCurrentRanking();
+            logd("onListenerConnected with update for %d",
+                    mRanking == null ? 0 : mRanking.getOrderedKeys().length);
+            populateNotifications();
+        }
+    };
+
+    private Context mContext;
+
+    private final Comparator<HistoricalNotificationInfo> mNotificationSorter
+            = (lhs, rhs) -> Long.compare(rhs.timestamp, lhs.timestamp);
+
+    @Override
+    public void onAttach(Activity activity) {
+        logd("onAttach(%s)", activity.getClass().getSimpleName());
+        super.onAttach(activity);
+        mContext = activity;
+        mPm = mContext.getPackageManager();
+        mNoMan = INotificationManager.Stub.asInterface(
+                ServiceManager.getService(Context.NOTIFICATION_SERVICE));
+        mNotificationInfos = new LinkedList<>();
+    }
+
+    @Override
+    public void onDetach() {
+        logd("onDetach()");
+        super.onDetach();
+    }
+
+    @Override
+    public void onPause() {
+        try {
+            mListener.unregisterAsSystemService();
+        } catch (RemoteException e) {
+            Log.e(TAG, "Cannot unregister listener", e);
+        }
+        super.onPause();
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.NOTIFICATION_STATION;
+    }
+
+    @Override
+    public void onActivityCreated(Bundle savedInstanceState) {
+        logd("onActivityCreated(%s)", savedInstanceState);
+        super.onActivityCreated(savedInstanceState);
+
+        RecyclerView listView = getListView();
+        Utils.forceCustomPadding(listView, false /* non additive padding */);
+    }
+
+    @Override
+    public void onResume() {
+        logd("onResume()");
+        super.onResume();
+        try {
+            mListener.registerAsSystemService(mContext, new ComponentName(mContext.getPackageName(),
+                    this.getClass().getCanonicalName()), ActivityManager.getCurrentUser());
+        } catch (RemoteException e) {
+            Log.e(TAG, "Cannot register listener", e);
+        }
+    }
+
+    /**
+     * Adds all current and historical notifications when the NLS connects.
+     */
+    private void populateNotifications() {
+        loadNotifications();
+        final int N = mNotificationInfos.size();
+        logd("adding %d infos", N);
+        if (getPreferenceScreen() == null) {
+            setPreferenceScreen(getPreferenceManager().createPreferenceScreen(getContext()));
+        }
+        getPreferenceScreen().removeAll();
+        for (int i = 0; i < N; i++) {
+            getPreferenceScreen().addPreference(new HistoricalNotificationPreference(
+                    getPrefContext(), mNotificationInfos.get(i), i));
+        }
+    }
+
+    /**
+     * Finds and dims the given notification in the preferences list.
+     */
+    private void markNotificationAsDismissed(StatusBarNotification sbn) {
+        final int N = mNotificationInfos.size();
+        for (int i = 0; i < N; i++) {
+            final HistoricalNotificationInfo info = mNotificationInfos.get(i);
+            if (TextUtils.equals(info.key, sbn.getKey())) {
+                info.active = false;
+                ((HistoricalNotificationPreference) getPreferenceScreen().findPreference(
+                        sbn.getKey())).updatePreference(info);
+               break;
+            }
+        }
+    }
+
+    /**
+     * Either updates a notification with its latest information or (if it's something the user
+     * would consider a new notification) adds a new entry at the start of the list.
+     */
+    private void addOrUpdateNotification(StatusBarNotification sbn) {
+        HistoricalNotificationInfo newInfo = createFromSbn(sbn, true);
+        boolean needsAdd = true;
+        final int N = mNotificationInfos.size();
+        for (int i = 0; i < N; i++) {
+            final HistoricalNotificationInfo info = mNotificationInfos.get(i);
+            if (TextUtils.equals(info.key, sbn.getKey()) && info.active
+                    && !newInfo.alerted && !newInfo.visuallyInterruptive) {
+                info.updateFrom(newInfo);
+
+                ((HistoricalNotificationPreference) getPreferenceScreen().findPreference(
+                        sbn.getKey())).updatePreference(info);
+                needsAdd = false;
+                break;
+            }
+        }
+        if (needsAdd) {
+            mNotificationInfos.addFirst(newInfo);
+            getPreferenceScreen().addPreference(new HistoricalNotificationPreference(
+                    getPrefContext(), mNotificationInfos.peekFirst(),
+                    -1 * mNotificationInfos.size()));
+        }
+    }
+
+    /**
+     * Updates all notifications in the list based on new information in the ranking.
+     */
+    private void updateNotificationsFromRanking() {
+        Ranking rank = new Ranking();
+        for (int i = 0; i < getPreferenceScreen().getPreferenceCount(); i++) {
+            final HistoricalNotificationPreference p =
+                    (HistoricalNotificationPreference) getPreferenceScreen().getPreference(i);
+            final HistoricalNotificationInfo info = mNotificationInfos.get(i);
+            mRanking.getRanking(p.getKey(), rank);
+
+            updateFromRanking(info);
+            ((HistoricalNotificationPreference) getPreferenceScreen().findPreference(
+                    info.key)).updatePreference(info);
+        }
+    }
+
+    private static void logd(String msg, Object... args) {
+        if (DEBUG) {
+            Log.d(TAG, args == null || args.length == 0 ? msg : String.format(msg, args));
+        }
+    }
+
+    private static CharSequence bold(CharSequence cs) {
+        if (cs.length() == 0) return cs;
+        SpannableString ss = new SpannableString(cs);
+        ss.setSpan(new StyleSpan(Typeface.BOLD), 0, cs.length(), 0);
+        return ss;
+    }
+
+    private static String getTitleString(Notification n) {
+        CharSequence title = null;
+        if (n.extras != null) {
+            title = n.extras.getCharSequence(Notification.EXTRA_TITLE);
+        }
+        return title == null? null : String.valueOf(title);
+    }
+
+    /**
+     * Returns the appropriate substring for this notification based on the style of notification.
+     */
+    private static String getTextString(Context appContext, Notification n) {
+        CharSequence text = null;
+        if (n.extras != null) {
+            text = n.extras.getCharSequence(Notification.EXTRA_TEXT);
+
+            Notification.Builder nb = Notification.Builder.recoverBuilder(appContext, n);
+
+            if (nb.getStyle() instanceof Notification.BigTextStyle) {
+                text = ((Notification.BigTextStyle) nb.getStyle()).getBigText();
+            } else if (nb.getStyle() instanceof Notification.MessagingStyle) {
+                Notification.MessagingStyle ms = (Notification.MessagingStyle) nb.getStyle();
+                final List<Notification.MessagingStyle.Message> messages = ms.getMessages();
+                if (messages != null && messages.size() > 0) {
+                    text = messages.get(messages.size() - 1).getText();
+                }
+            }
+
+            if (TextUtils.isEmpty(text)) {
+                text = n.extras.getCharSequence(Notification.EXTRA_TEXT);
+            }
+        }
+        return text == null ? null : String.valueOf(text);
+    }
+
+    private Drawable loadIcon(HistoricalNotificationInfo info, StatusBarNotification sbn) {
+        Drawable draw = sbn.getNotification().getSmallIcon().loadDrawableAsUser(
+                sbn.getPackageContext(mContext), info.user);
+        if (draw == null) {
+            return null;
+        }
+        draw.mutate();
+        draw.setColorFilter(sbn.getNotification().color, PorterDuff.Mode.SRC_ATOP);
+        return draw;
+    }
+
+    private static String formatPendingIntent(PendingIntent pi) {
+        final StringBuilder sb = new StringBuilder();
+        final IntentSender is = pi.getIntentSender();
+        sb.append("Intent(pkg=").append(is.getCreatorPackage());
+        try {
+            final boolean isActivity =
+                    ActivityManager.getService().isIntentSenderAnActivity(is.getTarget());
+            if (isActivity) sb.append(" (activity)");
+        } catch (RemoteException ex) {}
+        sb.append(")");
+        return sb.toString();
+    }
+
+    /**
+     * Reads all current and past notifications (up to the system limit, since the device was
+     * booted), stores the data we need to present them, and sorts them chronologically for display.
+     */
+    private void loadNotifications() {
+        try {
+            StatusBarNotification[] active = mNoMan.getActiveNotifications(
+                    mContext.getPackageName());
+            StatusBarNotification[] dismissed = mNoMan.getHistoricalNotifications(
+                    mContext.getPackageName(), 50, false);
+
+            List<HistoricalNotificationInfo> list
+                    = new ArrayList<>(active.length + dismissed.length);
+
+            for (StatusBarNotification[] resultSet
+                    : new StatusBarNotification[][] { active, dismissed }) {
+                for (StatusBarNotification sbn : resultSet) {
+                    if (sbn.getNotification().isGroupSummary()) {
+                        continue;
+                    }
+                    final HistoricalNotificationInfo info = createFromSbn(sbn, resultSet == active);
+                    logd("   [%d] %s: %s", info.timestamp, info.pkg, info.title);
+                    list.add(info);
+                }
+            }
+
+            // notifications are given to us in the same order as the shade; sorted by inferred
+            // priority. Resort chronologically for our display.
+            list.sort(mNotificationSorter);
+            mNotificationInfos = new LinkedList<>(list);
+
+        } catch (RemoteException e) {
+            Log.e(TAG, "Cannot load Notifications: ", e);
+        }
+    }
+
+    private HistoricalNotificationInfo createFromSbn(StatusBarNotification sbn, boolean active) {
+        final Notification n = sbn.getNotification();
+        final HistoricalNotificationInfo info = new HistoricalNotificationInfo();
+        info.pkg = sbn.getPackageName();
+        info.user = sbn.getUserId() == UserHandle.USER_ALL
+                ? UserHandle.USER_SYSTEM : sbn.getUserId();
+        info.badged = info.user != ActivityManager.getCurrentUser();
+        info.icon = loadIcon(info, sbn);
+        if (info.icon == null) {
+            info.icon = loadPackageIconDrawable(info.pkg, info.user);
+        }
+        info.pkgname = loadPackageName(info.pkg);
+        info.title = getTitleString(n);
+        info.text = getTextString(sbn.getPackageContext(mContext), n);
+        info.timestamp = sbn.getPostTime();
+        info.priority = n.priority;
+        info.key = sbn.getKey();
+        info.channelId = sbn.getNotification().getChannelId();
+
+        info.active = active;
+        info.notificationExtra = generateExtraText(sbn, info);
+
+        updateFromRanking(info);
+
+        return info;
+    }
+
+    private void updateFromRanking(HistoricalNotificationInfo info) {
+        Ranking rank = new Ranking();
+        if (mRanking == null) {
+            return;
+        }
+        mRanking.getRanking(info.key, rank);
+        info.alerted = rank.getLastAudiblyAlertedMillis() > 0;
+        info.visuallyInterruptive = rank.visuallyInterruptive();
+        info.channel = rank.getChannel();
+        info.rankingExtra = generateRankingExtraText(info);
+    }
+
+    /**
+     * Generates a string of debug information for this notification based on the RankingMap
+     */
+    private CharSequence generateRankingExtraText(HistoricalNotificationInfo info) {
+        final SpannableStringBuilder sb = new SpannableStringBuilder();
+        final String delim = getString(R.string.notification_log_details_delimiter);
+
+        Ranking rank = new Ranking();
+        if (mRanking != null && mRanking.getRanking(info.key, rank)) {
+            if (info.active && info.alerted) {
+                sb.append("\n")
+                        .append(bold(getString(R.string.notification_log_details_alerted)));
+            }
+            sb.append("\n")
+                    .append(bold(getString(R.string.notification_log_channel)))
+                    .append(delim)
+                    .append(info.channel.toString());
+            if (info.active) {
+                sb.append("\n")
+                        .append(bold(getString(
+                                R.string.notification_log_details_importance)))
+                        .append(delim)
+                        .append(Ranking.importanceToString(rank.getImportance()));
+                if (rank.getImportanceExplanation() != null) {
+                    sb.append("\n")
+                            .append(bold(getString(
+                                    R.string.notification_log_details_explanation)))
+                            .append(delim)
+                            .append(rank.getImportanceExplanation());
+                }
+                sb.append("\n")
+                        .append(bold(getString(
+                                R.string.notification_log_details_badge)))
+                        .append(delim)
+                        .append(Boolean.toString(rank.canShowBadge()));
+            }
+        } else {
+            if (mRanking == null) {
+                sb.append("\n")
+                        .append(bold(getString(
+                                R.string.notification_log_details_ranking_null)));
+            } else {
+                sb.append("\n")
+                        .append(bold(getString(
+                                R.string.notification_log_details_ranking_none)));
+            }
+        }
+
+        return sb;
+    }
+
+    /**
+     * Generates a string of debug information for this notification
+     */
+    private CharSequence generateExtraText(StatusBarNotification sbn,
+                                           HistoricalNotificationInfo info) {
+        final Notification n = sbn.getNotification();
+        final SpannableStringBuilder sb = new SpannableStringBuilder();
+        final String delim = getString(R.string.notification_log_details_delimiter);
+        sb.append(bold(getString(R.string.notification_log_details_package)))
+                .append(delim)
+                .append(info.pkg)
+                .append("\n")
+                .append(bold(getString(R.string.notification_log_details_key)))
+                .append(delim)
+                .append(sbn.getKey());
+        sb.append("\n")
+                .append(bold(getString(R.string.notification_log_details_icon)))
+                .append(delim)
+                .append(String.valueOf(n.getSmallIcon()));
+        sb.append("\n")
+                .append(bold("postTime"))
+                .append(delim)
+                .append(String.valueOf(sbn.getPostTime()));
+        if (n.getTimeoutAfter() != 0) {
+            sb.append("\n")
+                    .append(bold("timeoutAfter"))
+                    .append(delim)
+                    .append(String.valueOf(n.getTimeoutAfter()));
+        }
+        if (sbn.isGroup()) {
+            sb.append("\n")
+                    .append(bold(getString(R.string.notification_log_details_group)))
+                    .append(delim)
+                    .append(String.valueOf(sbn.getGroupKey()));
+            if (n.isGroupSummary()) {
+                sb.append(bold(
+                        getString(R.string.notification_log_details_group_summary)));
+            }
+        }
+        if (n.publicVersion != null) {
+            sb.append("\n")
+                    .append(bold(getString(
+                            R.string.notification_log_details_public_version)))
+                    .append(delim)
+                    .append(getTitleString(n.publicVersion));
+        }
+
+        if (n.contentIntent != null) {
+            sb.append("\n")
+                    .append(bold(getString(
+                            R.string.notification_log_details_content_intent)))
+                    .append(delim)
+                    .append(formatPendingIntent(n.contentIntent));
+        }
+        if (n.deleteIntent != null) {
+            sb.append("\n")
+                    .append(bold(getString(
+                            R.string.notification_log_details_delete_intent)))
+                    .append(delim)
+                    .append(formatPendingIntent(n.deleteIntent));
+        }
+        if (n.fullScreenIntent != null) {
+            sb.append("\n")
+                    .append(bold(getString(
+                            R.string.notification_log_details_full_screen_intent)))
+                    .append(delim)
+                    .append(formatPendingIntent(n.fullScreenIntent));
+        }
+        if (n.actions != null && n.actions.length > 0) {
+            sb.append("\n")
+                    .append(bold(getString(R.string.notification_log_details_actions)));
+            for (int ai=0; ai<n.actions.length; ai++) {
+                final Notification.Action action = n.actions[ai];
+                sb.append("\n  ").append(String.valueOf(ai)).append(' ')
+                        .append(bold(getString(
+                                R.string.notification_log_details_title)))
+                        .append(delim)
+                        .append(action.title);
+                if (action.actionIntent != null) {
+                    sb.append("\n    ")
+                            .append(bold(getString(
+                                    R.string.notification_log_details_content_intent)))
+                            .append(delim)
+                            .append(formatPendingIntent(action.actionIntent));
+                }
+                if (action.getRemoteInputs() != null) {
+                    sb.append("\n    ")
+                            .append(bold(getString(
+                                    R.string.notification_log_details_remoteinput)))
+                            .append(delim)
+                            .append(String.valueOf(action.getRemoteInputs().length));
+                }
+            }
+        }
+        if (n.contentView != null) {
+            sb.append("\n")
+                    .append(bold(getString(
+                            R.string.notification_log_details_content_view)))
+                    .append(delim)
+                    .append(n.contentView.toString());
+        }
+
+        if (DUMP_EXTRAS) {
+            if (n.extras != null && n.extras.size() > 0) {
+                sb.append("\n")
+                        .append(bold(getString(
+                                R.string.notification_log_details_extras)));
+                for (String extraKey : n.extras.keySet()) {
+                    String val = String.valueOf(n.extras.get(extraKey));
+                    if (val.length() > 100) val = val.substring(0, 100) + "...";
+                    sb.append("\n  ").append(extraKey).append(delim).append(val);
+                }
+            }
+        }
+        if (DUMP_PARCEL) {
+            final Parcel p = Parcel.obtain();
+            n.writeToParcel(p, 0);
+            sb.append("\n")
+                    .append(bold(getString(R.string.notification_log_details_parcel)))
+                    .append(delim)
+                    .append(String.valueOf(p.dataPosition()))
+                    .append(' ')
+                    .append(bold(getString(R.string.notification_log_details_ashmem)))
+                    .append(delim)
+                    .append(String.valueOf(p.getBlobAshmemSize()))
+                    .append("\n");
+        }
+        return sb;
+    }
+
+    private Drawable loadPackageIconDrawable(String pkg, int userId) {
+        Drawable icon = null;
+        try {
+            icon = mPm.getApplicationIcon(pkg);
+        } catch (PackageManager.NameNotFoundException e) {
+            Log.e(TAG, "Cannot get application icon", e);
+        }
+
+        return icon;
+    }
+
+    private CharSequence loadPackageName(String pkg) {
+        try {
+            ApplicationInfo info = mPm.getApplicationInfo(pkg,
+                    PackageManager.MATCH_ANY_USER);
+            if (info != null) return mPm.getApplicationLabel(info);
+        } catch (PackageManager.NameNotFoundException e) {
+            Log.e(TAG, "Cannot load package name", e);
+        }
+        return pkg;
+    }
+
+    private static class HistoricalNotificationPreference extends Preference {
+        private final HistoricalNotificationInfo mInfo;
+        private static long sLastExpandedTimestamp; // quick hack to keep things from collapsing
+        public ViewGroup mItemView; // hack to update prefs fast;
+        private Context mContext;
+
+        public HistoricalNotificationPreference(Context context, HistoricalNotificationInfo info,
+                int order) {
+            super(context);
+            setLayoutResource(R.layout.notification_log_row);
+            setOrder(order);
+            setKey(info.key);
+            mInfo = info;
+            mContext = context;
+        }
+
+        @Override
+        public void onBindViewHolder(PreferenceViewHolder row) {
+            super.onBindViewHolder(row);
+
+            mItemView = (ViewGroup) row.itemView;
+
+            updatePreference(mInfo);
+
+            row.findViewById(R.id.timestamp).setOnLongClickListener(v -> {
+                final View extras = row.findViewById(R.id.extra);
+                extras.setVisibility(extras.getVisibility() == View.VISIBLE
+                        ? View.GONE : View.VISIBLE);
+                sLastExpandedTimestamp = mInfo.timestamp;
+                return false;
+            });
+        }
+
+        public void updatePreference(HistoricalNotificationInfo info) {
+            if (mItemView == null) {
+                return;
+            }
+            if (info.icon != null) {
+                ((ImageView) mItemView.findViewById(R.id.icon)).setImageDrawable(mInfo.icon);
+            }
+            ((TextView) mItemView.findViewById(R.id.pkgname)).setText(mInfo.pkgname);
+            ((DateTimeView) mItemView.findViewById(R.id.timestamp)).setTime(info.timestamp);
+            if (!TextUtils.isEmpty(info.title)) {
+                ((TextView) mItemView.findViewById(R.id.title)).setText(info.title);
+                mItemView.findViewById(R.id.title).setVisibility(View.VISIBLE);
+            } else {
+                mItemView.findViewById(R.id.title).setVisibility(View.GONE);
+            }
+            if (!TextUtils.isEmpty(info.text)) {
+                ((TextView) mItemView.findViewById(R.id.text)).setText(info.text);
+                mItemView.findViewById(R.id.text).setVisibility(View.VISIBLE);
+            } else {
+                mItemView.findViewById(R.id.text).setVisibility(View.GONE);
+            }
+            if (info.icon != null) {
+                ((ImageView) mItemView.findViewById(R.id.icon)).setImageDrawable(info.icon);
+            }
+
+            ImageView profileBadge = mItemView.findViewById(R.id.profile_badge);
+            Drawable profile = mContext.getPackageManager().getUserBadgeForDensity(
+                    UserHandle.of(info.user), -1);
+            profileBadge.setImageDrawable(profile);
+            profileBadge.setVisibility(info.badged ? View.VISIBLE : View.GONE);
+
+            ((DateTimeView) mItemView.findViewById(R.id.timestamp)).setTime(mInfo.timestamp);
+
+            ((TextView) mItemView.findViewById(R.id.notification_extra))
+                    .setText(mInfo.notificationExtra);
+            ((TextView) mItemView.findViewById(R.id.ranking_extra))
+                    .setText(mInfo.rankingExtra);
+
+            mItemView.findViewById(R.id.extra).setVisibility(
+                    mInfo.timestamp == sLastExpandedTimestamp ? View.VISIBLE : View.GONE);
+
+            mItemView.setAlpha(mInfo.active ? 1.0f : 0.5f);
+
+            mItemView.findViewById(R.id.alerted_icon).setVisibility(
+                    mInfo.alerted ? View.VISIBLE : View.GONE);
+        }
+
+        @Override
+        public void performClick() {
+            Intent intent =  new Intent(Settings.ACTION_CHANNEL_NOTIFICATION_SETTINGS)
+                    .putExtra(EXTRA_APP_PACKAGE, mInfo.pkg)
+                    .putExtra(EXTRA_CHANNEL_ID,
+                            mInfo.channel != null ? mInfo.channel.getId() : mInfo.channelId);
+            intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+            getContext().startActivity(intent);
+        }
+    }
+}
diff --git a/src/com/android/settings/notification/zen/AbstractZenCustomRulePreferenceController.java b/src/com/android/settings/notification/zen/AbstractZenCustomRulePreferenceController.java
new file mode 100644
index 0000000..bf70080
--- /dev/null
+++ b/src/com/android/settings/notification/zen/AbstractZenCustomRulePreferenceController.java
@@ -0,0 +1,62 @@
+/*
+ * 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.notification.zen;
+
+import android.app.AutomaticZenRule;
+import android.content.Context;
+import android.os.Bundle;
+import android.util.Slog;
+
+import androidx.preference.Preference;
+
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+abstract class AbstractZenCustomRulePreferenceController extends
+        AbstractZenModePreferenceController implements PreferenceControllerMixin {
+
+    String mId;
+    AutomaticZenRule mRule;
+
+    AbstractZenCustomRulePreferenceController(Context context, String key,
+            Lifecycle lifecycle) {
+        super(context, key, lifecycle);
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        if (mId != null) {
+            mRule = mBackend.getAutomaticZenRule(mId);
+        }
+    }
+
+    @Override
+    public boolean isAvailable() {
+        return mRule != null;
+    }
+
+    public void onResume(AutomaticZenRule rule, String id) {
+        mId = id;
+        mRule = rule;
+    }
+
+    Bundle createBundle() {
+        Bundle bundle = new Bundle();
+        bundle.putString(ZenCustomRuleSettings.RULE_ID, mId);
+        return bundle;
+    }
+}
diff --git a/src/com/android/settings/notification/zen/AbstractZenModeAutomaticRulePreferenceController.java b/src/com/android/settings/notification/zen/AbstractZenModeAutomaticRulePreferenceController.java
new file mode 100644
index 0000000..f6f1839
--- /dev/null
+++ b/src/com/android/settings/notification/zen/AbstractZenModeAutomaticRulePreferenceController.java
@@ -0,0 +1,158 @@
+/*
+ * 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.zen;
+
+import android.app.AutomaticZenRule;
+import android.app.NotificationManager;
+import android.app.settings.SettingsEnums;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.ActivityInfo;
+import android.content.pm.ComponentInfo;
+import android.content.pm.PackageManager;
+import android.content.pm.ServiceInfo;
+import android.provider.Settings;
+import android.service.notification.ConditionProviderService;
+
+import androidx.fragment.app.Fragment;
+import androidx.preference.Preference;
+
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+import java.util.Map;
+
+abstract public class AbstractZenModeAutomaticRulePreferenceController extends
+        AbstractZenModePreferenceController implements PreferenceControllerMixin {
+
+    protected ZenModeBackend mBackend;
+    protected Fragment mParent;
+    protected Map.Entry<String, AutomaticZenRule>[] mRules;
+    protected PackageManager mPm;
+
+    public AbstractZenModeAutomaticRulePreferenceController(Context context, String key, Fragment
+            parent, Lifecycle lifecycle) {
+        super(context, key, lifecycle);
+        mBackend = ZenModeBackend.getInstance(context);
+        mPm = mContext.getPackageManager();
+        mParent = parent;
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        super.updateState(preference);
+        mRules = mBackend.getAutomaticZenRules();
+    }
+
+    protected Map.Entry<String, AutomaticZenRule>[] getRules() {
+        if (mRules == null) {
+            mRules = mBackend.getAutomaticZenRules();
+        }
+        return mRules;
+    }
+
+    protected void showNameRuleDialog(final ZenRuleInfo ri, Fragment parent) {
+        ZenRuleNameDialog.show(parent, null, ri.defaultConditionId, new
+                RuleNameChangeListener(ri));
+    }
+
+    protected static Intent getRuleIntent(String settingsAction,
+            ComponentName configurationActivity, String ruleId) {
+        final Intent intent = new Intent()
+                .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
+                .putExtra(ConditionProviderService.EXTRA_RULE_ID, ruleId);
+        if (configurationActivity != null) {
+            intent.setComponent(configurationActivity);
+        } else {
+            intent.setAction(settingsAction);
+        }
+        return intent;
+    }
+
+    public static ZenRuleInfo getRuleInfo(PackageManager pm, ComponentInfo ci) {
+        if (ci == null || ci.metaData == null) {
+            return null;
+        }
+        final String ruleType = (ci instanceof ServiceInfo)
+                ? ci.metaData.getString(ConditionProviderService.META_DATA_RULE_TYPE)
+                : ci.metaData.getString(NotificationManager.META_DATA_AUTOMATIC_RULE_TYPE);
+
+        final ComponentName configurationActivity = getSettingsActivity(null, ci);
+        if (ruleType != null && !ruleType.trim().isEmpty() && configurationActivity != null) {
+            final ZenRuleInfo ri = new ZenRuleInfo();
+            ri.serviceComponent =
+                    (ci instanceof ServiceInfo) ? new ComponentName(ci.packageName, ci.name) : null;
+            ri.settingsAction = Settings.ACTION_ZEN_MODE_EXTERNAL_RULE_SETTINGS;
+            ri.title = ruleType;
+            ri.packageName = ci.packageName;
+            ri.configurationActivity = configurationActivity;
+            ri.packageLabel = ci.applicationInfo.loadLabel(pm);
+            ri.ruleInstanceLimit = (ci instanceof ServiceInfo)
+                    ? ci.metaData.getInt(ConditionProviderService.META_DATA_RULE_INSTANCE_LIMIT, -1)
+                    : ci.metaData.getInt(NotificationManager.META_DATA_RULE_INSTANCE_LIMIT, -1);
+            return ri;
+        }
+        return null;
+    }
+
+    protected static ComponentName getSettingsActivity(AutomaticZenRule rule, ComponentInfo ci) {
+        // prefer config activity on the rule itself; fallback to manifest definition
+        if (rule != null && rule.getConfigurationActivity() != null) {
+            return rule.getConfigurationActivity();
+        }
+        if (ci == null) {
+            return null;
+        }
+        // new activity backed rule
+        if (ci instanceof ActivityInfo) {
+            return new ComponentName(ci.packageName, ci.name);
+        }
+        // old service backed rule
+        if (ci.metaData != null) {
+            final String configurationActivity = ci.metaData.getString(
+                    ConditionProviderService.META_DATA_CONFIGURATION_ACTIVITY);
+            if (configurationActivity != null) {
+                return ComponentName.unflattenFromString(configurationActivity);
+            }
+        }
+
+        return null;
+    }
+
+    public class RuleNameChangeListener implements ZenRuleNameDialog.PositiveClickListener {
+        ZenRuleInfo mRuleInfo;
+
+        public RuleNameChangeListener(ZenRuleInfo ruleInfo) {
+            mRuleInfo = ruleInfo;
+        }
+
+        @Override
+        public void onOk(String ruleName, Fragment parent) {
+            mMetricsFeatureProvider.action(mContext,
+                    SettingsEnums.ACTION_ZEN_MODE_RULE_NAME_CHANGE_OK);
+            AutomaticZenRule rule = new AutomaticZenRule(ruleName, mRuleInfo.serviceComponent,
+                    mRuleInfo.configurationActivity, mRuleInfo.defaultConditionId, null,
+                    NotificationManager.INTERRUPTION_FILTER_PRIORITY, true);
+            String savedRuleId = mBackend.addZenRule(rule);
+            if (savedRuleId != null) {
+                parent.startActivity(getRuleIntent(mRuleInfo.settingsAction, null,
+                        savedRuleId));
+            }
+        }
+    }
+}
diff --git a/src/com/android/settings/notification/zen/AbstractZenModePreferenceController.java b/src/com/android/settings/notification/zen/AbstractZenModePreferenceController.java
new file mode 100644
index 0000000..6fa446b
--- /dev/null
+++ b/src/com/android/settings/notification/zen/AbstractZenModePreferenceController.java
@@ -0,0 +1,226 @@
+/*
+ * 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.zen;
+
+import android.app.ActivityManager;
+import android.app.AlarmManager;
+import android.app.AlarmManager.AlarmClockInfo;
+import android.app.NotificationManager;
+import android.content.ContentResolver;
+import android.content.Context;
+import android.database.ContentObserver;
+import android.net.Uri;
+import android.os.Handler;
+import android.os.UserHandle;
+import android.provider.Settings;
+import android.service.notification.ScheduleCalendar;
+import android.service.notification.ZenModeConfig;
+
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settings.overlay.FeatureFactory;
+import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+import com.android.settingslib.core.lifecycle.LifecycleObserver;
+import com.android.settingslib.core.lifecycle.events.OnPause;
+import com.android.settingslib.core.lifecycle.events.OnResume;
+
+abstract public class AbstractZenModePreferenceController extends
+        AbstractPreferenceController implements PreferenceControllerMixin, LifecycleObserver,
+        OnResume, OnPause {
+
+    @VisibleForTesting
+    protected SettingObserver mSettingObserver;
+
+    final String KEY;
+    final private NotificationManager mNotificationManager;
+    protected static ZenModeConfigWrapper mZenModeConfigWrapper;
+    protected MetricsFeatureProvider mMetricsFeatureProvider;
+    protected final ZenModeBackend mBackend;
+    protected PreferenceScreen mScreen;
+
+    public AbstractZenModePreferenceController(Context context, String key,
+            Lifecycle lifecycle) {
+        super(context);
+        mZenModeConfigWrapper = new ZenModeConfigWrapper(context);
+        if (lifecycle != null) {
+            lifecycle.addObserver(this);
+        }
+        KEY = key;
+        mNotificationManager = (NotificationManager) context.getSystemService(
+                Context.NOTIFICATION_SERVICE);
+
+        final FeatureFactory featureFactory = FeatureFactory.getFactory(mContext);
+        mMetricsFeatureProvider = featureFactory.getMetricsFeatureProvider();
+        mBackend = ZenModeBackend.getInstance(context);
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY;
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        mScreen = screen;
+        Preference pref = screen.findPreference(KEY);
+        if (pref != null) {
+            mSettingObserver = new SettingObserver(pref);
+        }
+    }
+
+    @Override
+    public void onResume() {
+        if (mSettingObserver != null) {
+            mSettingObserver.register(mContext.getContentResolver());
+            mSettingObserver.onChange(false, null);
+        }
+    }
+
+    @Override
+    public void onPause() {
+        if (mSettingObserver != null) {
+            mSettingObserver.unregister(mContext.getContentResolver());
+        }
+    }
+
+    protected NotificationManager.Policy getPolicy() {
+        return mNotificationManager.getNotificationPolicy();
+    }
+
+    protected ZenModeConfig getZenModeConfig() {
+        return mNotificationManager.getZenModeConfig();
+    }
+
+    protected int getZenMode() {
+        return Settings.Global.getInt(mContext.getContentResolver(), Settings.Global.ZEN_MODE,
+                mBackend.mZenMode);
+    }
+
+    protected int getZenDuration() {
+        return Settings.Secure.getInt(mContext.getContentResolver(), Settings.Secure.ZEN_DURATION,
+                0);
+    }
+
+    class SettingObserver extends ContentObserver {
+        private final Uri ZEN_MODE_URI = Settings.Global.getUriFor(Settings.Global.ZEN_MODE);
+        private final Uri ZEN_MODE_CONFIG_ETAG_URI = Settings.Global.getUriFor(
+                Settings.Global.ZEN_MODE_CONFIG_ETAG);
+        private final Uri ZEN_MODE_DURATION_URI = Settings.Secure.getUriFor(
+                Settings.Secure.ZEN_DURATION);
+
+        private final Preference mPreference;
+
+        public SettingObserver(Preference preference) {
+            super(new Handler());
+            mPreference = preference;
+        }
+
+        public void register(ContentResolver cr) {
+            cr.registerContentObserver(ZEN_MODE_URI, false, this, UserHandle.USER_ALL);
+            cr.registerContentObserver(ZEN_MODE_CONFIG_ETAG_URI, false, this, UserHandle.USER_ALL);
+            cr.registerContentObserver(ZEN_MODE_DURATION_URI, false, this, UserHandle.USER_ALL);
+        }
+
+        public void unregister(ContentResolver cr) {
+            cr.unregisterContentObserver(this);
+        }
+
+        @Override
+        public void onChange(boolean selfChange, Uri uri) {
+            super.onChange(selfChange, uri);
+            if (uri == null || ZEN_MODE_URI.equals(uri) || ZEN_MODE_CONFIG_ETAG_URI.equals(uri)
+                    || ZEN_MODE_DURATION_URI.equals(uri)) {
+                mBackend.updatePolicy();
+                mBackend.updateZenMode();
+                if (mScreen != null) {
+                    displayPreference(mScreen);
+                }
+                updateState(mPreference);
+            }
+        }
+    }
+
+    /**
+     * Wrapper for testing compatibility
+     */
+    @VisibleForTesting
+    static class ZenModeConfigWrapper {
+        private final Context mContext;
+
+        public ZenModeConfigWrapper(Context context) {
+            mContext = context;
+        }
+
+        protected String getOwnerCaption(String owner) {
+            return ZenModeConfig.getOwnerCaption(mContext, owner);
+        }
+
+        protected boolean isTimeRule(Uri id) {
+            return ZenModeConfig.isValidEventConditionId(id) ||
+                    ZenModeConfig.isValidScheduleConditionId(id);
+        }
+
+        protected CharSequence getFormattedTime(long time, int userHandle) {
+            return ZenModeConfig.getFormattedTime(mContext, time, isToday(time), userHandle);
+        }
+
+        private boolean isToday(long time) {
+            return ZenModeConfig.isToday(time);
+        }
+
+        protected long parseManualRuleTime(Uri id) {
+            return ZenModeConfig.tryParseCountdownConditionId(id);
+        }
+
+        protected long parseAutomaticRuleEndTime(Uri id) {
+            if (ZenModeConfig.isValidEventConditionId(id)) {
+                // cannot look up end times for events
+                return Long.MAX_VALUE;
+            }
+
+            if (ZenModeConfig.isValidScheduleConditionId(id)) {
+                ScheduleCalendar schedule = ZenModeConfig.toScheduleCalendar(id);
+                long endTimeMs = schedule.getNextChangeTime(System.currentTimeMillis());
+
+                // check if automatic rule will end on next alarm
+                if (schedule.exitAtAlarm()) {
+                    long nextAlarm = getNextAlarm(mContext);
+                    schedule.maybeSetNextAlarm(System.currentTimeMillis(), nextAlarm);
+                    if (schedule.shouldExitForAlarm(endTimeMs)) {
+                        return nextAlarm;
+                    }
+                }
+
+                return endTimeMs;
+            }
+
+            return -1;
+        }
+    }
+
+    private static long getNextAlarm(Context context) {
+        final AlarmManager alarms = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
+        final AlarmClockInfo info = alarms.getNextAlarmClock(ActivityManager.getCurrentUser());
+        return info != null ? info.getTriggerTime() : 0;
+    }
+}
diff --git a/src/com/android/settings/notification/zen/SettingsZenDurationDialog.java b/src/com/android/settings/notification/zen/SettingsZenDurationDialog.java
new file mode 100644
index 0000000..c8d6eb9
--- /dev/null
+++ b/src/com/android/settings/notification/zen/SettingsZenDurationDialog.java
@@ -0,0 +1,37 @@
+/*
+ * 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.notification.zen;
+
+import android.app.Dialog;
+import android.app.settings.SettingsEnums;
+import android.os.Bundle;
+
+import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
+
+public class SettingsZenDurationDialog extends InstrumentedDialogFragment {
+
+    @Override
+    public Dialog onCreateDialog(Bundle savedInstanceState) {
+        return new com.android.settingslib.notification.ZenDurationDialog(
+                getContext()).createDialog();
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.NOTIFICATION_ZEN_MODE_DURATION_DIALOG;
+    }
+}
diff --git a/src/com/android/settings/notification/zen/ZenAccessSettings.java b/src/com/android/settings/notification/zen/ZenAccessSettings.java
new file mode 100644
index 0000000..daa2e50
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenAccessSettings.java
@@ -0,0 +1,156 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.notification.zen;
+
+import android.annotation.Nullable;
+import android.app.NotificationManager;
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.PackageItemInfo;
+import android.content.pm.PackageManager;
+import android.os.Bundle;
+import android.util.ArraySet;
+import android.view.View;
+
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settings.applications.AppInfoBase;
+import com.android.settings.applications.specialaccess.zenaccess.ZenAccessController;
+import com.android.settings.applications.specialaccess.zenaccess.ZenAccessDetails;
+import com.android.settings.applications.specialaccess.zenaccess.ZenAccessSettingObserverMixin;
+import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settings.widget.EmptyTextSettings;
+import com.android.settingslib.search.SearchIndexable;
+import com.android.settingslib.widget.apppreference.AppPreference;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Set;
+
+@SearchIndexable
+public class ZenAccessSettings extends EmptyTextSettings implements
+        ZenAccessSettingObserverMixin.Listener {
+    private final String TAG = "ZenAccessSettings";
+
+    private Context mContext;
+    private PackageManager mPkgMan;
+    private NotificationManager mNoMan;
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.NOTIFICATION_ZEN_MODE_ACCESS;
+    }
+
+    @Override
+    public void onCreate(Bundle icicle) {
+        super.onCreate(icicle);
+
+        mContext = getActivity();
+        mPkgMan = mContext.getPackageManager();
+        mNoMan = mContext.getSystemService(NotificationManager.class);
+        getSettingsLifecycle().addObserver(
+                new ZenAccessSettingObserverMixin(getContext(), this /* listener */));
+    }
+
+    @Override
+    public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
+        super.onViewCreated(view, savedInstanceState);
+        setEmptyText(R.string.zen_access_empty_text);
+    }
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.zen_access_settings;
+    }
+
+    @Override
+    public void onResume() {
+        super.onResume();
+        reloadList();
+    }
+
+    @Override
+    public void onZenAccessPolicyChanged() {
+        reloadList();
+    }
+
+    private void reloadList() {
+        final PreferenceScreen screen = getPreferenceScreen();
+        screen.removeAll();
+        final ArrayList<ApplicationInfo> apps = new ArrayList<>();
+        final Set<String> requesting =
+                ZenAccessController.getPackagesRequestingNotificationPolicyAccess();
+        if (!requesting.isEmpty()) {
+            final List<ApplicationInfo> installed = mPkgMan.getInstalledApplications(0);
+            if (installed != null) {
+                for (ApplicationInfo app : installed) {
+                    if (requesting.contains(app.packageName)) {
+                        apps.add(app);
+                    }
+                }
+            }
+        }
+        ArraySet<String> autoApproved = new ArraySet<>();
+        autoApproved.addAll(mNoMan.getEnabledNotificationListenerPackages());
+        Collections.sort(apps, new PackageItemInfo.DisplayNameComparator(mPkgMan));
+        for (ApplicationInfo app : apps) {
+            final String pkg = app.packageName;
+            final CharSequence label = app.loadLabel(mPkgMan);
+            final AppPreference pref = new AppPreference(getPrefContext());
+            pref.setKey(pkg);
+            pref.setIcon(app.loadIcon(mPkgMan));
+            pref.setTitle(label);
+            if (autoApproved.contains(pkg)) {
+                //Auto approved, user cannot do anything. Hard code summary and disable preference.
+                pref.setEnabled(false);
+                pref.setSummary(getString(R.string.zen_access_disabled_package_warning));
+            } else {
+                // Not auto approved, update summary according to notification backend.
+                pref.setSummary(getPreferenceSummary(pkg));
+            }
+            pref.setOnPreferenceClickListener(preference -> {
+                AppInfoBase.startAppInfoFragment(
+                        ZenAccessDetails.class  /* fragment */,
+                        R.string.manage_zen_access_title /* titleRes */,
+                        pkg,
+                        app.uid,
+                        this /* source */,
+                        -1 /* requestCode */,
+                        getMetricsCategory() /* sourceMetricsCategory */);
+                return true;
+            });
+
+            screen.addPreference(pref);
+        }
+    }
+
+    /**
+     * @return the summary for the current state of whether the app associated with the given
+     * {@param packageName} is allowed to enter picture-in-picture.
+     */
+    private int getPreferenceSummary(String packageName) {
+        final boolean enabled = ZenAccessController.hasAccess(getContext(), packageName);
+        return enabled ? R.string.app_permission_summary_allowed
+                : R.string.app_permission_summary_not_allowed;
+    }
+
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.zen_access_settings);
+}
diff --git a/src/com/android/settings/notification/zen/ZenAutomaticRuleHeaderPreferenceController.java b/src/com/android/settings/notification/zen/ZenAutomaticRuleHeaderPreferenceController.java
new file mode 100644
index 0000000..8139555
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenAutomaticRuleHeaderPreferenceController.java
@@ -0,0 +1,104 @@
+/*
+ * 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.zen;
+
+import static com.android.settings.widget.EntityHeaderController.PREF_KEY_APP_HEADER;
+
+import android.app.AutomaticZenRule;
+import android.content.Context;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.PackageManager;
+import android.graphics.drawable.Drawable;
+import android.service.notification.ZenModeConfig;
+import android.util.Slog;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceFragmentCompat;
+
+import com.android.settings.R;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settings.widget.EntityHeaderController;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+import com.android.settingslib.widget.LayoutPreference;
+
+public class ZenAutomaticRuleHeaderPreferenceController extends AbstractZenModePreferenceController
+        implements PreferenceControllerMixin {
+
+    private final String KEY = PREF_KEY_APP_HEADER;
+    private final PreferenceFragmentCompat mFragment;
+    private AutomaticZenRule mRule;
+    private String mId;
+    private EntityHeaderController mController;
+
+    public ZenAutomaticRuleHeaderPreferenceController(Context context,
+            PreferenceFragmentCompat fragment, Lifecycle lifecycle) {
+        super(context, PREF_KEY_APP_HEADER, lifecycle);
+        mFragment = fragment;
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY;
+    }
+
+    @Override
+    public boolean isAvailable() {
+        return mRule != null;
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        if (mRule == null || mFragment == null) {
+            return;
+        }
+
+        if (mController == null) {
+            final LayoutPreference pref = (LayoutPreference) preference;
+            mController = EntityHeaderController.newInstance(mFragment.getActivity(), mFragment,
+                    pref.findViewById(R.id.entity_header));
+        }
+
+        mController.setIcon(getIcon())
+                .setLabel(mRule.getName())
+                .done(mFragment.getActivity(), false /* rebindActions */);
+    }
+
+    private Drawable getIcon() {
+        try {
+            PackageManager packageManager =  mContext.getPackageManager();
+            ApplicationInfo info = packageManager.getApplicationInfo(
+                    mRule.getOwner().getPackageName(), 0);
+            if (info.isSystemApp()) {
+                if (ZenModeConfig.isValidScheduleConditionId(mRule.getConditionId())) {
+                    return mContext.getDrawable(R.drawable.ic_timelapse);
+                } else if (ZenModeConfig.isValidEventConditionId(mRule.getConditionId())) {
+                    return mContext.getDrawable(R.drawable.ic_event);
+                }
+            }
+            return info.loadIcon(packageManager);
+        } catch (PackageManager.NameNotFoundException e) {
+           Slog.w(TAG, "Unable to load icon - PackageManager.NameNotFoundException");
+        }
+
+        return null;
+    }
+
+    protected void onResume(AutomaticZenRule rule, String id) {
+        mRule = rule;
+        mId = id;
+    }
+}
diff --git a/src/com/android/settings/notification/zen/ZenAutomaticRuleSwitchPreferenceController.java b/src/com/android/settings/notification/zen/ZenAutomaticRuleSwitchPreferenceController.java
new file mode 100644
index 0000000..cafb0d1
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenAutomaticRuleSwitchPreferenceController.java
@@ -0,0 +1,97 @@
+/*
+ * 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.zen;
+
+import android.app.AutomaticZenRule;
+import android.content.Context;
+import android.widget.Switch;
+
+import androidx.fragment.app.Fragment;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settings.widget.SwitchBar;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+import com.android.settingslib.widget.LayoutPreference;
+
+public class ZenAutomaticRuleSwitchPreferenceController extends
+        AbstractZenModeAutomaticRulePreferenceController implements
+        SwitchBar.OnSwitchChangeListener {
+
+    private static final String KEY = "zen_automatic_rule_switch";
+    private AutomaticZenRule mRule;
+    private String mId;
+    private SwitchBar mSwitchBar;
+
+    public ZenAutomaticRuleSwitchPreferenceController(Context context, Fragment parent,
+            Lifecycle lifecycle) {
+        super(context, KEY, parent, lifecycle);
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY;
+    }
+
+    @Override
+    public boolean isAvailable() {
+        return mRule != null && mId != null;
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        LayoutPreference pref = screen.findPreference(KEY);
+        mSwitchBar = pref.findViewById(R.id.switch_bar);
+
+        if (mSwitchBar != null) {
+            mSwitchBar.setSwitchBarText(R.string.zen_mode_use_automatic_rule,
+                    R.string.zen_mode_use_automatic_rule);
+            try {
+                pref.setOnPreferenceClickListener(preference -> {
+                    mRule.setEnabled(!mRule.isEnabled());
+                    mBackend.updateZenRule(mId, mRule);
+                    return true;
+                });
+                mSwitchBar.addOnSwitchChangeListener(this);
+            } catch (IllegalStateException e) {
+                // an exception is thrown if you try to add the listener twice
+            }
+            mSwitchBar.show();
+        }
+    }
+
+    public void onResume(AutomaticZenRule rule, String id) {
+        mRule = rule;
+        mId = id;
+    }
+
+    public void updateState(Preference preference) {
+        if (mRule != null) {
+            mSwitchBar.setChecked(mRule.isEnabled());
+        }
+    }
+
+    @Override
+    public void onSwitchChanged(Switch switchView, boolean isChecked) {
+        final boolean enabled = isChecked;
+        if (enabled == mRule.isEnabled()) return;
+        mRule.setEnabled(enabled);
+        mBackend.updateZenRule(mId, mRule);
+    }
+}
diff --git a/src/com/android/settings/notification/zen/ZenCustomRadioButtonPreference.java b/src/com/android/settings/notification/zen/ZenCustomRadioButtonPreference.java
new file mode 100644
index 0000000..57f4891
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenCustomRadioButtonPreference.java
@@ -0,0 +1,144 @@
+/*
+ * 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.notification.zen;
+
+import android.content.Context;
+import android.util.AttributeSet;
+import android.view.View;
+import android.widget.RadioButton;
+
+import androidx.preference.PreferenceViewHolder;
+
+import com.android.settings.R;
+import com.android.settingslib.TwoTargetPreference;
+
+/**
+ * A radio button preference with a divider and a settings icon that links to another screen.
+ */
+public class ZenCustomRadioButtonPreference extends TwoTargetPreference
+        implements View.OnClickListener {
+
+    private RadioButton mButton;
+    private boolean mChecked;
+
+    private OnGearClickListener mOnGearClickListener;
+    private OnRadioButtonClickListener mOnRadioButtonClickListener;
+
+    public ZenCustomRadioButtonPreference(Context context, AttributeSet attrs,
+            int defStyleAttr, int defStyleRes) {
+        super(context, attrs, defStyleAttr, defStyleRes);
+        setLayoutResource(R.layout.preference_two_target_radio);
+    }
+
+    public ZenCustomRadioButtonPreference(Context context, AttributeSet attrs, int defStyleAttr) {
+        super(context, attrs, defStyleAttr);
+        setLayoutResource(R.layout.preference_two_target_radio);
+    }
+
+    public ZenCustomRadioButtonPreference(Context context, AttributeSet attrs) {
+        super(context, attrs);
+        setLayoutResource(R.layout.preference_two_target_radio);
+    }
+
+    public ZenCustomRadioButtonPreference(Context context) {
+        super(context);
+        setLayoutResource(R.layout.preference_two_target_radio);
+    }
+
+    @Override
+    protected int getSecondTargetResId() {
+        return R.layout.preference_widget_gear;
+    }
+
+    public void setOnGearClickListener(OnGearClickListener l) {
+        mOnGearClickListener = l;
+        notifyChanged();
+    }
+
+    public void setOnRadioButtonClickListener(OnRadioButtonClickListener l) {
+        mOnRadioButtonClickListener = l;
+        notifyChanged();
+    }
+
+    @Override
+    public void onBindViewHolder(PreferenceViewHolder holder) {
+        super.onBindViewHolder(holder);
+        View buttonFrame = holder.findViewById(R.id.checkbox_frame);
+        if (buttonFrame != null) {
+            buttonFrame.setOnClickListener(this);
+        }
+        mButton = (RadioButton) holder.findViewById(android.R.id.checkbox);
+        if (mButton != null) {
+            mButton.setChecked(mChecked);
+        }
+
+        final View gear = holder.findViewById(android.R.id.widget_frame);
+        final View divider = holder.findViewById(R.id.two_target_divider);
+        if (mOnGearClickListener != null) {
+            divider.setVisibility(View.VISIBLE);
+            gear.setVisibility(View.VISIBLE);
+            gear.setOnClickListener(this);
+        } else {
+            divider.setVisibility(View.GONE);
+            gear.setVisibility(View.GONE);
+            gear.setOnClickListener(null);
+        }
+    }
+
+    public boolean isChecked() {
+        return mButton != null && mChecked;
+    }
+
+    public void setChecked(boolean checked) {
+        mChecked = checked;
+        if (mButton != null) {
+            mButton.setChecked(checked);
+        }
+    }
+
+    public RadioButton getRadioButton() {
+        return mButton;
+    }
+
+    @Override
+    public void onClick() {
+        if (mOnRadioButtonClickListener != null) {
+            mOnRadioButtonClickListener.onRadioButtonClick(this);
+        }
+    }
+
+    @Override
+    public void onClick(View v) {
+        if (v.getId() == android.R.id.widget_frame) {
+            if (mOnGearClickListener != null) {
+                mOnGearClickListener.onGearClick(this);
+            }
+        } else if (v.getId() == R.id.checkbox_frame) {
+            if (mOnRadioButtonClickListener != null) {
+                mOnRadioButtonClickListener.onRadioButtonClick(this);
+            }
+        }
+    }
+
+    public interface OnGearClickListener {
+        void onGearClick(ZenCustomRadioButtonPreference p);
+    }
+
+    public interface OnRadioButtonClickListener {
+        void onRadioButtonClick(ZenCustomRadioButtonPreference p);
+    }
+}
diff --git a/src/com/android/settings/notification/zen/ZenCustomRuleBlockedEffectsSettings.java b/src/com/android/settings/notification/zen/ZenCustomRuleBlockedEffectsSettings.java
new file mode 100644
index 0000000..0d6cf55
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenCustomRuleBlockedEffectsSettings.java
@@ -0,0 +1,79 @@
+/*
+ * 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.notification.zen;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.os.Bundle;
+import android.service.notification.ZenPolicy;
+
+import com.android.settings.R;
+import com.android.settingslib.core.AbstractPreferenceController;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class ZenCustomRuleBlockedEffectsSettings extends ZenCustomRuleSettingsBase {
+
+    @Override
+    public void onCreate(Bundle bundle) {
+        super.onCreate(bundle);
+    }
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.zen_mode_block_settings;
+    }
+
+    @Override
+    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
+        mControllers = new ArrayList<>();
+        mControllers.add(new ZenRuleVisEffectPreferenceController(context, getSettingsLifecycle(),
+                "zen_effect_intent", ZenPolicy.VISUAL_EFFECT_FULL_SCREEN_INTENT,
+                SettingsEnums.ACTION_ZEN_BLOCK_FULL_SCREEN_INTENTS, null));
+        mControllers.add(new ZenRuleVisEffectPreferenceController(context, getSettingsLifecycle(),
+                "zen_effect_light", ZenPolicy.VISUAL_EFFECT_LIGHTS,
+                SettingsEnums.ACTION_ZEN_BLOCK_LIGHT, null));
+        mControllers.add(new ZenRuleVisEffectPreferenceController(context, getSettingsLifecycle(),
+                "zen_effect_peek", ZenPolicy.VISUAL_EFFECT_PEEK,
+                SettingsEnums.ACTION_ZEN_BLOCK_PEEK, null));
+        mControllers.add(new ZenRuleVisEffectPreferenceController(context, getSettingsLifecycle(),
+                "zen_effect_status", ZenPolicy.VISUAL_EFFECT_STATUS_BAR,
+                SettingsEnums.ACTION_ZEN_BLOCK_STATUS,
+                new int[] {ZenPolicy.VISUAL_EFFECT_NOTIFICATION_LIST}));
+        mControllers.add(new ZenRuleVisEffectPreferenceController(context, getSettingsLifecycle(),
+                "zen_effect_badge", ZenPolicy.VISUAL_EFFECT_BADGE,
+                SettingsEnums.ACTION_ZEN_BLOCK_BADGE, null));
+        mControllers.add(new ZenRuleVisEffectPreferenceController(context, getSettingsLifecycle(),
+                "zen_effect_ambient", ZenPolicy.VISUAL_EFFECT_AMBIENT,
+                SettingsEnums.ACTION_ZEN_BLOCK_AMBIENT, null));
+        mControllers.add(new ZenRuleVisEffectPreferenceController(context, getSettingsLifecycle(),
+                "zen_effect_list", ZenPolicy.VISUAL_EFFECT_NOTIFICATION_LIST,
+                SettingsEnums.ACTION_ZEN_BLOCK_NOTIFICATION_LIST, null));
+        return mControllers;
+    }
+
+    @Override
+    String getPreferenceCategoryKey() {
+        return null;
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.ZEN_CUSTOM_RULE_VIS_EFFECTS;
+    }
+}
diff --git a/src/com/android/settings/notification/zen/ZenCustomRuleCallsSettings.java b/src/com/android/settings/notification/zen/ZenCustomRuleCallsSettings.java
new file mode 100644
index 0000000..37cd558
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenCustomRuleCallsSettings.java
@@ -0,0 +1,81 @@
+/*
+ * 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.notification.zen;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.os.Bundle;
+import android.service.notification.ZenPolicy;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.settingslib.widget.FooterPreference;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class ZenCustomRuleCallsSettings extends ZenCustomRuleSettingsBase {
+    private static final String CALLS_KEY = "zen_mode_calls";
+    private static final String REPEAT_CALLERS_KEY = "zen_mode_repeat_callers";
+    private static final String STARRED_CONTACTS_KEY = "zen_mode_starred_contacts_callers";
+    private static final String PREFERENCE_CATEGORY_KEY = "zen_mode_settings_category_calls";
+
+    @Override
+    public void onCreate(Bundle bundle) {
+        super.onCreate(bundle);
+    }
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return com.android.settings.R.xml.zen_mode_calls_settings;
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.ZEN_CUSTOM_RULE_CALLS;
+    }
+
+    @Override
+    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
+        mControllers = new ArrayList<>();
+        mControllers.add(new ZenRuleCallsPreferenceController(context, CALLS_KEY,
+                getSettingsLifecycle()));
+        mControllers.add(new ZenRuleRepeatCallersPreferenceController(context,
+                REPEAT_CALLERS_KEY, getSettingsLifecycle(), context.getResources()
+                .getInteger(com.android.internal.R.integer.config_zen_repeat_callers_threshold)));
+        mControllers.add(new ZenRuleStarredContactsPreferenceController(context,
+                getSettingsLifecycle(), ZenPolicy.PRIORITY_CATEGORY_CALLS, STARRED_CONTACTS_KEY));
+        return mControllers;
+    }
+
+    @Override
+    String getPreferenceCategoryKey() {
+        return PREFERENCE_CATEGORY_KEY;
+    }
+
+    @Override
+    public void updatePreferences() {
+        super.updatePreferences();
+        PreferenceScreen screen = getPreferenceScreen();
+        Preference footerPreference = screen.findPreference(FooterPreference.KEY_FOOTER);
+        footerPreference.setTitle(mContext.getResources().getString(
+                R.string.zen_mode_custom_calls_footer, mRule.getName()));
+    }
+}
diff --git a/src/com/android/settings/notification/zen/ZenCustomRuleConfigSettings.java b/src/com/android/settings/notification/zen/ZenCustomRuleConfigSettings.java
new file mode 100644
index 0000000..7e31599
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenCustomRuleConfigSettings.java
@@ -0,0 +1,160 @@
+/*
+ * 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.notification.zen;
+
+import android.app.NotificationManager;
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.os.Bundle;
+import android.service.notification.ZenPolicy;
+
+import androidx.preference.Preference;
+
+import com.android.settings.R;
+import com.android.settings.core.SubSettingLauncher;
+import com.android.settingslib.core.AbstractPreferenceController;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class ZenCustomRuleConfigSettings extends ZenCustomRuleSettingsBase {
+    private static final String CALLS_KEY = "zen_rule_calls_settings";
+    private static final String MESSAGES_KEY = "zen_rule_messages_settings";
+    private static final String ALARMS_KEY = "zen_rule_alarms";
+    private static final String MEDIA_KEY = "zen_rule_media";
+    private static final String SYSTEM_KEY = "zen_rule_system";
+    private static final String REMINDERS_KEY = "zen_rule_reminders";
+    private static final String EVENTS_KEY = "zen_rule_events";
+    private static final String NOTIFICATIONS_KEY = "zen_rule_notifications";
+    private static final String PREFERENCE_CATEGORY_KEY = "zen_custom_rule_configuration_category";
+
+    private Preference mCallsPreference;
+    private Preference mMessagesPreference;
+    private Preference mNotificationsPreference;
+    private ZenModeSettings.SummaryBuilder mSummaryBuilder;
+
+    @Override
+    public void onCreate(Bundle icicle) {
+        super.onCreate(icicle);
+        mSummaryBuilder = new ZenModeSettings.SummaryBuilder(mContext);
+
+        mCallsPreference = getPreferenceScreen().findPreference(CALLS_KEY);
+        mCallsPreference.setOnPreferenceClickListener(
+                new Preference.OnPreferenceClickListener() {
+                    @Override
+                    public boolean onPreferenceClick(Preference preference) {
+                        new SubSettingLauncher(mContext)
+                                .setDestination(ZenCustomRuleCallsSettings.class.getName())
+                                .setArguments(createZenRuleBundle())
+                                .setSourceMetricsCategory(SettingsEnums.ZEN_CUSTOM_RULE_CALLS)
+                                .launch();
+                        return true;
+                    }
+                });
+
+        mMessagesPreference = getPreferenceScreen().findPreference(MESSAGES_KEY);
+        mMessagesPreference.setOnPreferenceClickListener(
+                new Preference.OnPreferenceClickListener() {
+                    @Override
+                    public boolean onPreferenceClick(Preference preference) {
+                        new SubSettingLauncher(mContext)
+                                .setDestination(ZenCustomRuleMessagesSettings.class.getName())
+                                .setArguments(createZenRuleBundle())
+                                .setSourceMetricsCategory(SettingsEnums.ZEN_CUSTOM_RULE_MESSAGES)
+                                .launch();
+                        return true;
+                    }
+                });
+
+        mNotificationsPreference = getPreferenceScreen().findPreference(NOTIFICATIONS_KEY);
+        mNotificationsPreference.setOnPreferenceClickListener(
+                new Preference.OnPreferenceClickListener() {
+                    @Override
+                    public boolean onPreferenceClick(Preference preference) {
+                        new SubSettingLauncher(mContext)
+                                .setDestination(ZenCustomRuleNotificationsSettings.class.getName())
+                                .setArguments(createZenRuleBundle())
+                                .setSourceMetricsCategory
+                                        (SettingsEnums.ZEN_CUSTOM_RULE_NOTIFICATION_RESTRICTIONS)
+                                .launch();
+                        return true;
+                    }
+                });
+
+        updateSummaries();
+    }
+
+    @Override
+    public void onZenModeConfigChanged() {
+        super.onZenModeConfigChanged();
+        updateSummaries();
+    }
+
+    /**
+     * Updates summaries of preferences without preference controllers
+     */
+    private void updateSummaries() {
+        NotificationManager.Policy noManPolicy = mBackend.toNotificationPolicy(
+                mRule.getZenPolicy());
+
+        mCallsPreference.setSummary(mSummaryBuilder.getCallsSettingSummary(noManPolicy));
+        mMessagesPreference.setSummary(mSummaryBuilder.getMessagesSettingSummary(noManPolicy));
+        mNotificationsPreference.setSummary(mSummaryBuilder.getBlockedEffectsSummary(noManPolicy));
+    }
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.zen_mode_custom_rule_configuration;
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.ZEN_CUSTOM_RULE_SOUND_SETTINGS;
+    }
+
+    @Override
+    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
+        mControllers = new ArrayList<>();
+        mControllers.add(new ZenRuleCustomSwitchPreferenceController(context,
+                getSettingsLifecycle(), ALARMS_KEY, ZenPolicy.PRIORITY_CATEGORY_ALARMS,
+                SettingsEnums.ACTION_ZEN_ALLOW_ALARMS));
+        mControllers.add(new ZenRuleCustomSwitchPreferenceController(context,
+                getSettingsLifecycle(), MEDIA_KEY, ZenPolicy.PRIORITY_CATEGORY_MEDIA,
+                SettingsEnums.ACTION_ZEN_ALLOW_MEDIA));
+        mControllers.add(new ZenRuleCustomSwitchPreferenceController(context,
+                getSettingsLifecycle(), SYSTEM_KEY, ZenPolicy.PRIORITY_CATEGORY_SYSTEM,
+                SettingsEnums.ACTION_ZEN_ALLOW_SYSTEM));
+        mControllers.add(new ZenRuleCustomSwitchPreferenceController(context,
+                getSettingsLifecycle(), REMINDERS_KEY, ZenPolicy.PRIORITY_CATEGORY_REMINDERS,
+                SettingsEnums.ACTION_ZEN_ALLOW_REMINDERS));
+        mControllers.add(new ZenRuleCustomSwitchPreferenceController(context,
+                getSettingsLifecycle(), EVENTS_KEY, ZenPolicy.PRIORITY_CATEGORY_EVENTS,
+                SettingsEnums.ACTION_ZEN_ALLOW_EVENTS));
+        return mControllers;
+    }
+
+    @Override
+    String getPreferenceCategoryKey() {
+        return PREFERENCE_CATEGORY_KEY;
+    }
+
+    @Override
+    public void onResume() {
+        super.onResume();
+        updateSummaries();
+    }
+}
diff --git a/src/com/android/settings/notification/zen/ZenCustomRuleMessagesSettings.java b/src/com/android/settings/notification/zen/ZenCustomRuleMessagesSettings.java
new file mode 100644
index 0000000..e592e75
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenCustomRuleMessagesSettings.java
@@ -0,0 +1,72 @@
+/*
+ * 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.notification.zen;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.service.notification.ZenPolicy;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.settingslib.widget.FooterPreference;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class ZenCustomRuleMessagesSettings extends ZenCustomRuleSettingsBase {
+    private static final String MESSAGES_KEY = "zen_mode_messages";
+    private static final String STARRED_CONTACTS_KEY = "zen_mode_starred_contacts_messages";
+    private static final String PREFERENCE_CATEGORY_KEY = "zen_mode_settings_category_messages";
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return com.android.settings.R.xml.zen_mode_messages_settings;
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.ZEN_CUSTOM_RULE_MESSAGES;
+    }
+
+    @Override
+    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
+        mControllers = new ArrayList<>();
+        mControllers.add(new ZenRuleMessagesPreferenceController(context, MESSAGES_KEY,
+                getSettingsLifecycle()));
+        mControllers.add(new ZenRuleStarredContactsPreferenceController(context,
+                getSettingsLifecycle(), ZenPolicy.PRIORITY_CATEGORY_MESSAGES,
+                STARRED_CONTACTS_KEY));
+        return mControllers;
+    }
+
+    @Override
+    String getPreferenceCategoryKey() {
+        return PREFERENCE_CATEGORY_KEY;
+    }
+
+    @Override
+    public void updatePreferences() {
+        super.updatePreferences();
+        PreferenceScreen screen = getPreferenceScreen();
+        Preference footerPreference = screen.findPreference(FooterPreference.KEY_FOOTER);
+        footerPreference.setTitle(mContext.getResources().getString(
+                R.string.zen_mode_custom_messages_footer, mRule.getName()));
+    }
+}
diff --git a/src/com/android/settings/notification/zen/ZenCustomRuleNotificationsSettings.java b/src/com/android/settings/notification/zen/ZenCustomRuleNotificationsSettings.java
new file mode 100644
index 0000000..e688e87
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenCustomRuleNotificationsSettings.java
@@ -0,0 +1,63 @@
+/*
+ * 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.notification.zen;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+
+import com.android.settings.R;
+import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.settingslib.widget.FooterPreference;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class ZenCustomRuleNotificationsSettings extends ZenCustomRuleSettingsBase {
+    private static final String VIS_EFFECTS_ALL_KEY = "zen_mute_notifications";
+    private static final String VIS_EFFECTS_NONE_KEY = "zen_hide_notifications";
+    private static final String VIS_EFFECTS_CUSTOM_KEY = "zen_custom";
+    private static final String PREFERENCE_CATEGORY_KEY = "restrict_category";
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.zen_mode_restrict_notifications_settings;
+    }
+
+    @Override
+    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
+        mControllers = new ArrayList<>();
+        mControllers.add(new ZenRuleVisEffectsAllPreferenceController(
+                context, getSettingsLifecycle(), VIS_EFFECTS_ALL_KEY));
+        mControllers.add(new ZenRuleVisEffectsNonePreferenceController(
+                context, getSettingsLifecycle(), VIS_EFFECTS_NONE_KEY));
+        mControllers.add(new ZenRuleVisEffectsCustomPreferenceController(
+                context, getSettingsLifecycle(), VIS_EFFECTS_CUSTOM_KEY));
+        mControllers.add(new ZenRuleNotifFooterPreferenceController(context, getSettingsLifecycle(),
+                FooterPreference.KEY_FOOTER));
+        return mControllers;
+    }
+
+    @Override
+    String getPreferenceCategoryKey() {
+        return PREFERENCE_CATEGORY_KEY;
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.ZEN_CUSTOM_RULE_NOTIFICATION_RESTRICTIONS;
+    }
+}
diff --git a/src/com/android/settings/notification/zen/ZenCustomRuleSettings.java b/src/com/android/settings/notification/zen/ZenCustomRuleSettings.java
new file mode 100644
index 0000000..6ca18a0
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenCustomRuleSettings.java
@@ -0,0 +1,57 @@
+/*
+ * 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.notification.zen;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+
+import com.android.settings.R;
+import com.android.settingslib.core.AbstractPreferenceController;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class ZenCustomRuleSettings extends ZenCustomRuleSettingsBase {
+    private static final String RULE_DEFAULT_POLICY_KEY = "zen_custom_rule_setting_default";
+    private static final String CUSTOM_RULE_POLICY_KEY = "zen_custom_rule_setting";
+    private static final String PREFERENCE_CATEGORY_KEY = "zen_custom_rule_category";
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.zen_mode_custom_rule_settings;
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.ZEN_CUSTOM_RULE_SETTINGS;
+    }
+
+    @Override
+    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
+        mControllers = new ArrayList<>();
+        mControllers.add(new ZenRuleDefaultPolicyPreferenceController(
+                context, getSettingsLifecycle(), RULE_DEFAULT_POLICY_KEY));
+        mControllers.add(new ZenRuleCustomPolicyPreferenceController(
+                context, getSettingsLifecycle(), CUSTOM_RULE_POLICY_KEY));
+        return mControllers;
+    }
+
+    @Override
+    String getPreferenceCategoryKey() {
+        return PREFERENCE_CATEGORY_KEY;
+    }
+}
diff --git a/src/com/android/settings/notification/zen/ZenCustomRuleSettingsBase.java b/src/com/android/settings/notification/zen/ZenCustomRuleSettingsBase.java
new file mode 100644
index 0000000..28a3046
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenCustomRuleSettingsBase.java
@@ -0,0 +1,103 @@
+/*
+ * 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.notification.zen;
+
+import android.app.AutomaticZenRule;
+import android.content.Context;
+import android.os.Bundle;
+import android.util.Log;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settingslib.core.AbstractPreferenceController;
+
+import java.util.ArrayList;
+import java.util.List;
+
+abstract class ZenCustomRuleSettingsBase extends ZenModeSettingsBase {
+    static final String TAG = "ZenCustomRuleSettings";
+    static final String RULE_ID = "RULE_ID";
+
+    String mId;
+    AutomaticZenRule mRule;
+    List<AbstractPreferenceController> mControllers = new ArrayList<>();
+
+    /**
+     * @return null if no preference category exists
+      */
+    abstract String getPreferenceCategoryKey();
+
+    @Override
+    public void onAttach(Context context) {
+        super.onAttach(context);
+        Bundle bundle = getArguments();
+        if (bundle != null && bundle.containsKey(RULE_ID)) {
+            mId = bundle.getString(RULE_ID);
+            mRule = mBackend.getAutomaticZenRule(mId);
+        } else {
+            Log.d(TAG, "Rule id required to set custom dnd rule config settings");
+            this.finish();
+        }
+    }
+
+    @Override
+    public void onZenModeConfigChanged() {
+        super.onZenModeConfigChanged();
+        updatePreferences();
+    }
+
+    public void updatePreferences() {
+        mRule = mBackend.getAutomaticZenRule(mId);
+        final PreferenceScreen screen = getPreferenceScreen();
+        String categoryKey = getPreferenceCategoryKey();
+        if (categoryKey != null) {
+            Preference prefCategory = screen.findPreference(categoryKey);
+            if (prefCategory != null) {
+                prefCategory.setTitle(mContext.getResources().getString(
+                        com.android.settings.R.string.zen_mode_custom_behavior_category_title,
+                        mRule.getName()));
+            }
+        }
+
+        for (AbstractPreferenceController controller : mControllers) {
+            AbstractZenCustomRulePreferenceController zenRuleController =
+                    (AbstractZenCustomRulePreferenceController) controller;
+            zenRuleController.onResume(mRule, mId);
+            zenRuleController.displayPreference(screen);
+            updatePreference(zenRuleController);
+        }
+    }
+
+    @Override
+    public int getHelpResource() {
+        return R.string.help_uri_interruptions;
+    }
+
+    @Override
+    public void onResume() {
+        super.onResume();
+        updatePreferences();
+    }
+
+    Bundle createZenRuleBundle() {
+        Bundle bundle = new Bundle();
+        bundle.putString(RULE_ID, mId);
+        return bundle;
+    }
+}
diff --git a/src/com/android/settings/notification/zen/ZenDeleteRuleDialog.java b/src/com/android/settings/notification/zen/ZenDeleteRuleDialog.java
new file mode 100644
index 0000000..057baa0
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenDeleteRuleDialog.java
@@ -0,0 +1,89 @@
+/*
+ * 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.zen;
+
+import android.app.Dialog;
+import android.app.settings.SettingsEnums;
+import android.content.DialogInterface;
+import android.os.Bundle;
+import android.text.BidiFormatter;
+import android.view.View;
+
+import androidx.appcompat.app.AlertDialog;
+import androidx.fragment.app.Fragment;
+
+import com.android.settings.R;
+import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
+
+public class ZenDeleteRuleDialog extends InstrumentedDialogFragment {
+    protected static final String TAG = "ZenDeleteRuleDialog";
+    private static final String EXTRA_ZEN_RULE_NAME = "zen_rule_name";
+    private static final String EXTRA_ZEN_RULE_ID = "zen_rule_id";
+    protected static PositiveClickListener mPositiveClickListener;
+
+    /**
+     * The interface we expect a listener to implement.
+     */
+    public interface PositiveClickListener {
+        void onOk(String id);
+    }
+
+    public static void show(Fragment parent, String ruleName, String id, PositiveClickListener
+            listener) {
+        final BidiFormatter bidi = BidiFormatter.getInstance();
+        final Bundle args = new Bundle();
+        args.putString(EXTRA_ZEN_RULE_NAME, bidi.unicodeWrap(ruleName));
+        args.putString(EXTRA_ZEN_RULE_ID, id);
+        mPositiveClickListener = listener;
+
+        ZenDeleteRuleDialog dialog = new ZenDeleteRuleDialog();
+        dialog.setArguments(args);
+        dialog.setTargetFragment(parent, 0);
+        dialog.show(parent.getFragmentManager(), TAG);
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.NOTIFICATION_ZEN_MODE_DELETE_RULE_DIALOG;
+    }
+
+    @Override
+    public Dialog onCreateDialog(Bundle savedInstanceState) {
+        Bundle arguments = getArguments();
+        String ruleName = arguments.getString(EXTRA_ZEN_RULE_NAME);
+        String id = arguments.getString(EXTRA_ZEN_RULE_ID);
+
+        final AlertDialog dialog = new AlertDialog.Builder(getContext())
+                .setMessage(getString(R.string.zen_mode_delete_rule_confirmation, ruleName))
+                .setNegativeButton(R.string.cancel, null)
+                .setPositiveButton(R.string.zen_mode_delete_rule_button,
+                        new DialogInterface.OnClickListener() {
+                    @Override
+                    public void onClick(DialogInterface dialog, int which) {
+                        if (arguments != null) {
+                            mPositiveClickListener.onOk(id);
+                        }
+                    }
+                }).create();
+        final View messageView = dialog.findViewById(android.R.id.message);
+        if (messageView != null) {
+            messageView.setTextDirection(View.TEXT_DIRECTION_LOCALE);
+        }
+        return dialog;
+    }
+
+}
diff --git a/src/com/android/settings/notification/zen/ZenDurationDialogPreference.java b/src/com/android/settings/notification/zen/ZenDurationDialogPreference.java
new file mode 100644
index 0000000..2eee7b1
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenDurationDialogPreference.java
@@ -0,0 +1,52 @@
+/*
+ * 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.notification.zen;
+
+import android.content.Context;
+import android.content.DialogInterface;
+import android.util.AttributeSet;
+
+import androidx.appcompat.app.AlertDialog;
+
+import com.android.settingslib.CustomDialogPreferenceCompat;
+import com.android.settingslib.notification.ZenDurationDialog;
+
+public class ZenDurationDialogPreference extends CustomDialogPreferenceCompat {
+
+    public ZenDurationDialogPreference(Context context, AttributeSet attrs, int defStyleAttr,
+            int defStyleRes) {
+        super(context, attrs, defStyleAttr, defStyleRes);
+    }
+
+    public ZenDurationDialogPreference(Context context, AttributeSet attrs, int defStyleAttr) {
+        super(context, attrs, defStyleAttr);
+    }
+
+    public ZenDurationDialogPreference(Context context, AttributeSet attrs) {
+        super(context, attrs);
+    }
+
+
+    @Override
+    protected void onPrepareDialogBuilder(AlertDialog.Builder builder,
+            DialogInterface.OnClickListener listener) {
+        super.onPrepareDialogBuilder(builder, listener);
+
+        ZenDurationDialog zenDialog = new ZenDurationDialog(getContext());
+        zenDialog.setupDialog(builder);
+    }
+}
diff --git a/src/com/android/settings/notification/zen/ZenFooterPreferenceController.java b/src/com/android/settings/notification/zen/ZenFooterPreferenceController.java
new file mode 100644
index 0000000..3de76b7
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenFooterPreferenceController.java
@@ -0,0 +1,57 @@
+/*
+ * 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.notification.zen;
+
+import android.app.NotificationManager.Policy;
+import android.content.Context;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+public class ZenFooterPreferenceController extends AbstractZenModePreferenceController {
+
+    public ZenFooterPreferenceController(Context context, Lifecycle lifecycle,
+            String key) {
+        super(context, key, lifecycle);
+    }
+
+    @Override
+    public boolean isAvailable() {
+        return mBackend.mPolicy.suppressedVisualEffects == 0
+                || Policy.areAllVisualEffectsSuppressed(mBackend.mPolicy.suppressedVisualEffects);
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        super.updateState(preference);
+
+        if (mBackend.mPolicy.suppressedVisualEffects == 0) {
+           preference.setTitle(R.string.zen_mode_restrict_notifications_mute_footer);
+        } else if (Policy.areAllVisualEffectsSuppressed(mBackend.mPolicy.suppressedVisualEffects)) {
+            preference.setTitle(R.string.zen_mode_restrict_notifications_hide_footer);
+        } else {
+            preference.setTitle(null);
+        }
+    }
+
+    protected void hide(PreferenceScreen screen) {
+        setVisible(screen, getPreferenceKey(), false /* visible */);
+    }
+}
diff --git a/src/com/android/settings/notification/zen/ZenModeAddAutomaticRulePreferenceController.java b/src/com/android/settings/notification/zen/ZenModeAddAutomaticRulePreferenceController.java
new file mode 100644
index 0000000..34a42d6
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenModeAddAutomaticRulePreferenceController.java
@@ -0,0 +1,81 @@
+/*
+ * 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.zen;
+
+import android.content.Context;
+import android.content.Intent;
+
+import androidx.fragment.app.Fragment;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.utils.ZenServiceListing;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+public class ZenModeAddAutomaticRulePreferenceController extends
+        AbstractZenModeAutomaticRulePreferenceController implements
+        Preference.OnPreferenceClickListener {
+
+    protected static final String KEY = "zen_mode_add_automatic_rule";
+    private final ZenServiceListing mZenServiceListing;
+
+    public ZenModeAddAutomaticRulePreferenceController(Context context, Fragment parent,
+            ZenServiceListing serviceListing, Lifecycle lifecycle) {
+        super(context, KEY, parent, lifecycle);
+        mZenServiceListing = serviceListing;
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY;
+    }
+
+    @Override
+    public boolean isAvailable() {
+        return true;
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        Preference pref = screen.findPreference(KEY);
+        pref.setPersistent(false);
+        pref.setOnPreferenceClickListener(this);
+    }
+
+    @Override
+    public boolean onPreferenceClick(Preference preference) {
+        ZenRuleSelectionDialog.show(mContext, mParent, new RuleSelectionListener(),
+                mZenServiceListing);
+        return true;
+    }
+
+    public class RuleSelectionListener implements ZenRuleSelectionDialog.PositiveClickListener {
+        public RuleSelectionListener() {}
+
+        @Override
+        public void onSystemRuleSelected(ZenRuleInfo ri, Fragment parent) {
+            showNameRuleDialog(ri, parent);
+        }
+
+        @Override
+        public void onExternalRuleSelected(ZenRuleInfo ri, Fragment parent) {
+            Intent intent = new Intent().setComponent(ri.configurationActivity);
+            parent.startActivity(intent);
+        }
+    }
+}
diff --git a/src/com/android/settings/notification/zen/ZenModeAlarmsPreferenceController.java b/src/com/android/settings/notification/zen/ZenModeAlarmsPreferenceController.java
new file mode 100644
index 0000000..3d2a1b7
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenModeAlarmsPreferenceController.java
@@ -0,0 +1,84 @@
+/*
+ * 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.zen;
+
+import android.app.NotificationManager.Policy;
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.provider.Settings;
+import android.util.Log;
+
+import androidx.preference.Preference;
+import androidx.preference.SwitchPreference;
+
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+public class ZenModeAlarmsPreferenceController extends
+        AbstractZenModePreferenceController implements Preference.OnPreferenceChangeListener {
+
+    private final String KEY;
+
+    public ZenModeAlarmsPreferenceController(Context context, Lifecycle lifecycle, String key) {
+        super(context, key, lifecycle);
+        KEY = key;
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY;
+    }
+
+    @Override
+    public boolean isAvailable() {
+        return true;
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        super.updateState(preference);
+
+        SwitchPreference pref = (SwitchPreference) preference;
+        switch (getZenMode()) {
+            case Settings.Global.ZEN_MODE_NO_INTERRUPTIONS:
+                pref.setEnabled(false);
+                pref.setChecked(false);
+                break;
+            case Settings.Global.ZEN_MODE_ALARMS:
+                pref.setEnabled(false);
+                pref.setChecked(true);
+                break;
+            default:
+                pref.setEnabled(true);
+                pref.setChecked(mBackend.isPriorityCategoryEnabled(
+                        Policy.PRIORITY_CATEGORY_ALARMS));
+        }
+    }
+
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object newValue) {
+        final boolean allowAlarms = (Boolean) newValue;
+        if (ZenModeSettingsBase.DEBUG) {
+            Log.d(TAG, "onPrefChange allowAlarms=" + allowAlarms);
+        }
+
+        mMetricsFeatureProvider.action(mContext, SettingsEnums.ACTION_ZEN_ALLOW_ALARMS,
+                allowAlarms);
+        mBackend.saveSoundPolicy(Policy.PRIORITY_CATEGORY_ALARMS, allowAlarms);
+
+        return true;
+    }
+}
diff --git a/src/com/android/settings/notification/zen/ZenModeAllBypassingAppsPreferenceController.java b/src/com/android/settings/notification/zen/ZenModeAllBypassingAppsPreferenceController.java
new file mode 100644
index 0000000..9484a09
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenModeAllBypassingAppsPreferenceController.java
@@ -0,0 +1,209 @@
+/*
+ * 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.notification.zen;
+
+import android.app.Application;
+import android.app.NotificationChannel;
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.os.Bundle;
+import android.provider.Settings;
+import android.text.TextUtils;
+
+import androidx.annotation.VisibleForTesting;
+import androidx.core.text.BidiFormatter;
+import androidx.fragment.app.Fragment;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settings.applications.AppInfoBase;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settings.core.SubSettingLauncher;
+import com.android.settings.notification.app.ChannelNotificationSettings;
+import com.android.settings.notification.NotificationBackend;
+import com.android.settingslib.applications.ApplicationsState;
+import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.settingslib.widget.apppreference.AppPreference;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Adds a preference to the PreferenceScreen for each notification channel that can bypass DND.
+ */
+public class ZenModeAllBypassingAppsPreferenceController extends AbstractPreferenceController
+        implements PreferenceControllerMixin {
+
+    private final String KEY = "zen_mode_bypassing_apps_category";
+
+    @VisibleForTesting ApplicationsState mApplicationsState;
+    @VisibleForTesting PreferenceScreen mPreferenceScreen;
+    @VisibleForTesting Context mPrefContext;
+
+    private ApplicationsState.Session mAppSession;
+    private NotificationBackend mNotificationBackend = new NotificationBackend();
+    private Fragment mHostFragment;
+
+    public ZenModeAllBypassingAppsPreferenceController(Context context, Application app,
+            Fragment host) {
+
+        this(context, app == null ? null : ApplicationsState.getInstance(app), host);
+    }
+
+    private ZenModeAllBypassingAppsPreferenceController(Context context, ApplicationsState appState,
+            Fragment host) {
+        super(context);
+        mApplicationsState = appState;
+        mHostFragment = host;
+
+        if (mApplicationsState != null && host != null) {
+            mAppSession = mApplicationsState.newSession(mAppSessionCallbacks, host.getLifecycle());
+        }
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        mPreferenceScreen = screen;
+        mPrefContext = mPreferenceScreen.getContext();
+        updateNotificationChannelList();
+        super.displayPreference(screen);
+    }
+
+    @Override
+    public boolean isAvailable() {
+        return true;
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY;
+    }
+
+    /**
+     * Call this method to trigger the notification channels list to refresh.
+     */
+    public void updateNotificationChannelList() {
+        if (mAppSession == null) {
+            return;
+        }
+
+        ApplicationsState.AppFilter filter = ApplicationsState.FILTER_ALL_ENABLED;
+        List<ApplicationsState.AppEntry> apps = mAppSession.rebuild(filter,
+                ApplicationsState.ALPHA_COMPARATOR);
+        updateNotificationChannelList(apps);
+    }
+
+    @VisibleForTesting
+    void updateNotificationChannelList(List<ApplicationsState.AppEntry> apps) {
+        if (mPreferenceScreen == null || apps == null) {
+            return;
+        }
+
+        boolean showEmptyState = true;
+
+        List<Preference> channelsBypassingDnd = new ArrayList<>();
+        for (ApplicationsState.AppEntry entry : apps) {
+            String pkg = entry.info.packageName;
+            mApplicationsState.ensureIcon(entry);
+            for (NotificationChannel channel : mNotificationBackend
+                    .getNotificationChannelsBypassingDnd(pkg, entry.info.uid).getList()) {
+                if (!TextUtils.isEmpty(channel.getConversationId())) {
+                    // conversation channels that bypass dnd will be shown on the People page
+                    continue;
+                }
+                Preference pref = new AppPreference(mPrefContext);
+                pref.setKey(pkg + "|" + channel.getId());
+                pref.setTitle(BidiFormatter.getInstance().unicodeWrap(entry.label));
+                pref.setIcon(entry.icon);
+                pref.setSummary(BidiFormatter.getInstance().unicodeWrap(channel.getName()));
+
+                pref.setOnPreferenceClickListener(preference -> {
+                    Bundle args = new Bundle();
+                    args.putString(AppInfoBase.ARG_PACKAGE_NAME, entry.info.packageName);
+                    args.putInt(AppInfoBase.ARG_PACKAGE_UID, entry.info.uid);
+                    args.putString(Settings.EXTRA_CHANNEL_ID, channel.getId());
+                    new SubSettingLauncher(mContext)
+                            .setDestination(ChannelNotificationSettings.class.getName())
+                            .setArguments(args)
+                            .setTitleRes(R.string.notification_channel_title)
+                            .setResultListener(mHostFragment, 0)
+                            .setSourceMetricsCategory(
+                                    SettingsEnums.NOTIFICATION_ZEN_MODE_OVERRIDING_APP)
+                            .launch();
+                    return true;
+                });
+                channelsBypassingDnd.add(pref);
+                showEmptyState = false;
+            }
+
+            mPreferenceScreen.removeAll();
+            if (channelsBypassingDnd.size() > 0) {
+                for (Preference prefToAdd : channelsBypassingDnd) {
+                    mPreferenceScreen.addPreference(prefToAdd);
+                }
+            }
+            if (showEmptyState) {
+                Preference pref = new Preference(mPrefContext);
+                pref.setTitle(R.string.zen_mode_bypassing_apps_subtext_none);
+                mPreferenceScreen.addPreference(pref);
+            }
+        }
+    }
+
+    private final ApplicationsState.Callbacks mAppSessionCallbacks =
+            new ApplicationsState.Callbacks() {
+
+                @Override
+                public void onRunningStateChanged(boolean running) {
+                    updateNotificationChannelList();
+                }
+
+                @Override
+                public void onPackageListChanged() {
+                    updateNotificationChannelList();
+                }
+
+                @Override
+                public void onRebuildComplete(ArrayList<ApplicationsState.AppEntry> apps) {
+                    updateNotificationChannelList(apps);
+                }
+
+                @Override
+                public void onPackageIconChanged() {
+                    updateNotificationChannelList();
+                }
+
+                @Override
+                public void onPackageSizeChanged(String packageName) {
+                    updateNotificationChannelList();
+                }
+
+                @Override
+                public void onAllSizesComputed() { }
+
+                @Override
+                public void onLauncherInfoChanged() {
+                    updateNotificationChannelList();
+                }
+
+                @Override
+                public void onLoadEntriesCompleted() {
+                    updateNotificationChannelList();
+                }
+            };
+}
diff --git a/src/com/android/settings/notification/zen/ZenModeAutomaticRulesPreferenceController.java b/src/com/android/settings/notification/zen/ZenModeAutomaticRulesPreferenceController.java
new file mode 100644
index 0000000..c6d735c
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenModeAutomaticRulesPreferenceController.java
@@ -0,0 +1,101 @@
+/*
+ * 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.zen;
+
+import android.app.AutomaticZenRule;
+import android.content.Context;
+
+import androidx.annotation.VisibleForTesting;
+import androidx.fragment.app.Fragment;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceCategory;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+import java.util.Map;
+import java.util.Objects;
+
+public class ZenModeAutomaticRulesPreferenceController extends
+        AbstractZenModeAutomaticRulePreferenceController {
+
+    protected static final String KEY = "zen_mode_automatic_rules";
+
+    @VisibleForTesting
+    protected PreferenceCategory mPreferenceCategory;
+
+    public ZenModeAutomaticRulesPreferenceController(Context context, Fragment parent, Lifecycle
+            lifecycle) {
+        super(context, KEY, parent, lifecycle);
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY;
+    }
+
+    @Override
+    public boolean isAvailable() {
+        return true;
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        mPreferenceCategory = screen.findPreference(getPreferenceKey());
+        mPreferenceCategory.setPersistent(false);
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        super.updateState(preference);
+        Map.Entry<String, AutomaticZenRule>[] sortedRules = getRules();
+        final int currNumPreferences = mPreferenceCategory.getPreferenceCount();
+        if (currNumPreferences == sortedRules.length) {
+            for (int i = 0; i < sortedRules.length; i++) {
+                ZenRulePreference pref = (ZenRulePreference) mPreferenceCategory.getPreference(i);
+                // we are either:
+                // 1. updating everything about the rule
+                // 2. rule was added or deleted, so reload the entire list
+                if (Objects.equals(pref.mId, sortedRules[i].getKey())) {
+                    AutomaticZenRule rule = sortedRules[i].getValue();
+                    pref.updatePreference(rule);
+                } else {
+                    reloadAllRules(sortedRules);
+                    break;
+                }
+            }
+        } else {
+            reloadAllRules(sortedRules);
+        }
+    }
+
+    @VisibleForTesting
+    void reloadAllRules(Map.Entry<String, AutomaticZenRule>[] rules) {
+        mPreferenceCategory.removeAll();
+        for (Map.Entry<String, AutomaticZenRule> rule : rules) {
+            ZenRulePreference pref = createZenRulePreference(rule);
+            mPreferenceCategory.addPreference(pref);
+        }
+    }
+
+    @VisibleForTesting
+    ZenRulePreference createZenRulePreference(Map.Entry<String, AutomaticZenRule> rule) {
+        return new ZenRulePreference(mPreferenceCategory.getContext(),
+                rule, mParent, mMetricsFeatureProvider);
+    }
+}
diff --git a/src/com/android/settings/notification/zen/ZenModeAutomationPreferenceController.java b/src/com/android/settings/notification/zen/ZenModeAutomationPreferenceController.java
new file mode 100644
index 0000000..2c6c1a3
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenModeAutomationPreferenceController.java
@@ -0,0 +1,51 @@
+/*
+ * 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.zen;
+
+import android.content.Context;
+
+import androidx.preference.Preference;
+
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.AbstractPreferenceController;
+
+public class ZenModeAutomationPreferenceController extends
+        AbstractPreferenceController implements PreferenceControllerMixin {
+
+    protected static final String KEY_ZEN_MODE_AUTOMATION = "zen_mode_automation_settings";
+    private final ZenModeSettings.SummaryBuilder mSummaryBuilder;
+
+    public ZenModeAutomationPreferenceController(Context context) {
+        super(context);
+        mSummaryBuilder = new ZenModeSettings.SummaryBuilder(context);
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY_ZEN_MODE_AUTOMATION;
+    }
+
+    @Override
+    public boolean isAvailable() {
+        return true;
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        preference.setSummary(mSummaryBuilder.getAutomaticRulesSummary());
+    }
+}
diff --git a/src/com/android/settings/notification/zen/ZenModeAutomationSettings.java b/src/com/android/settings/notification/zen/ZenModeAutomationSettings.java
new file mode 100644
index 0000000..31a4ba7
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenModeAutomationSettings.java
@@ -0,0 +1,166 @@
+/*
+ * 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.zen;
+
+import android.app.AlertDialog;
+import android.app.AutomaticZenRule;
+import android.app.NotificationManager;
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.content.DialogInterface;
+import android.os.Bundle;
+import android.service.notification.ConditionProviderService;
+import android.view.Menu;
+import android.view.MenuInflater;
+import android.view.MenuItem;
+
+import androidx.fragment.app.Fragment;
+
+import com.android.settings.R;
+import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settings.utils.ManagedServiceSettings;
+import com.android.settings.utils.ZenServiceListing;
+import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+import com.android.settingslib.search.SearchIndexable;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+@SearchIndexable
+public class ZenModeAutomationSettings extends ZenModeSettingsBase {
+    public static final String DELETE = "DELETE_RULE";
+    protected final ManagedServiceSettings.Config CONFIG = getConditionProviderConfig();
+    private CharSequence[] mDeleteDialogRuleNames;
+    private String[] mDeleteDialogRuleIds;
+    private boolean[] mDeleteDialogChecked;
+
+    @Override
+    public void onAttach(Context context) {
+        super.onAttach(context);
+        Bundle bundle = getArguments();
+        if (bundle != null && bundle.containsKey(DELETE)) {
+            mBackend.removeZenRule(bundle.getString(DELETE));
+            bundle.remove(DELETE);
+        }
+    }
+
+    @Override
+    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
+        ZenServiceListing serviceListing = new ZenServiceListing(getContext(), CONFIG);
+        serviceListing.reloadApprovedServices();
+        return buildPreferenceControllers(context, this, serviceListing, getSettingsLifecycle());
+    }
+
+    private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
+            Fragment parent, ZenServiceListing serviceListing, Lifecycle lifecycle) {
+        List<AbstractPreferenceController> controllers = new ArrayList<>();
+        controllers.add(new ZenModeAddAutomaticRulePreferenceController(context, parent,
+                serviceListing, lifecycle));
+        controllers.add(new ZenModeAutomaticRulesPreferenceController(context, parent, lifecycle));
+
+        return controllers;
+    }
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.zen_mode_automation_settings;
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.NOTIFICATION_ZEN_MODE_AUTOMATION;
+    }
+
+    protected static ManagedServiceSettings.Config getConditionProviderConfig() {
+        return new ManagedServiceSettings.Config.Builder()
+                .setTag(TAG)
+                .setIntentAction(ConditionProviderService.SERVICE_INTERFACE)
+                .setConfigurationIntentAction(NotificationManager.ACTION_AUTOMATIC_ZEN_RULE)
+                .setPermission(android.Manifest.permission.BIND_CONDITION_PROVIDER_SERVICE)
+                .setNoun("condition provider")
+                .build();
+    }
+    private final int DELETE_RULES = 1;
+
+    @Override
+    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
+        menu.add(Menu.NONE, DELETE_RULES, Menu.NONE, R.string.zen_mode_delete_automatic_rules);
+        super.onCreateOptionsMenu(menu, inflater);
+    }
+
+    @Override
+    public boolean onOptionsItemSelected(MenuItem item) {
+        switch (item.getItemId()) {
+            case DELETE_RULES:
+                Map.Entry<String, AutomaticZenRule>[] rules = mBackend.getAutomaticZenRules();
+                mDeleteDialogRuleNames = new CharSequence[rules.length];
+                mDeleteDialogRuleIds = new String[rules.length];
+                mDeleteDialogChecked = new boolean[rules.length];
+                for (int i = 0; i < rules.length; i++) {
+                    mDeleteDialogRuleNames[i] = rules[i].getValue().getName();
+                    mDeleteDialogRuleIds[i] = rules[i].getKey();
+                }
+                new AlertDialog.Builder(mContext)
+                        .setTitle(R.string.zen_mode_delete_automatic_rules)
+                        .setMultiChoiceItems(mDeleteDialogRuleNames, null,
+                                new DialogInterface.OnMultiChoiceClickListener() {
+                                    @Override
+                                    public void onClick(DialogInterface dialog, int which,
+                                            boolean isChecked) {
+                                        mDeleteDialogChecked[which] = isChecked;
+                                    }
+                                })
+                        .setPositiveButton(R.string.zen_mode_schedule_delete,
+                                new DialogInterface.OnClickListener() {
+                            @Override
+                            public void onClick(DialogInterface dialog, int which) {
+                                for (int i = 0; i < rules.length; i++) {
+                                    if (mDeleteDialogChecked[i]) {
+                                        mBackend.removeZenRule(mDeleteDialogRuleIds[i]);
+                                    }
+                                }
+                            }
+                        }).show();
+                return true;
+            default:
+                return super.onOptionsItemSelected(item);
+        }
+    }
+
+    /**
+     * For Search.
+     */
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.zen_mode_automation_settings) {
+
+                @Override
+                public List<String> getNonIndexableKeys(Context context) {
+                    final List<String> keys = super.getNonIndexableKeys(context);
+                    keys.add(ZenModeAddAutomaticRulePreferenceController.KEY);
+                    keys.add(ZenModeAutomaticRulesPreferenceController.KEY);
+                    return keys;
+                }
+
+                @Override
+                public List<AbstractPreferenceController> createPreferenceControllers(
+                        Context context) {
+                    return buildPreferenceControllers(context, null, null, null);
+                }
+            };
+}
diff --git a/src/com/android/settings/notification/zen/ZenModeBackend.java b/src/com/android/settings/notification/zen/ZenModeBackend.java
new file mode 100644
index 0000000..836f435
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenModeBackend.java
@@ -0,0 +1,575 @@
+/*
+ * 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.zen;
+
+import static android.app.NotificationManager.Policy.CONVERSATION_SENDERS_ANYONE;
+import static android.app.NotificationManager.Policy.CONVERSATION_SENDERS_IMPORTANT;
+import static android.app.NotificationManager.Policy.PRIORITY_CATEGORY_CONVERSATIONS;
+import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_SCREEN_OFF;
+import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_SCREEN_ON;
+import static android.service.notification.ZenPolicy.CONVERSATION_SENDERS_NONE;
+
+import android.app.ActivityManager;
+import android.app.AutomaticZenRule;
+import android.app.NotificationManager;
+import android.content.Context;
+import android.database.Cursor;
+import android.icu.text.ListFormatter;
+import android.net.Uri;
+import android.provider.ContactsContract;
+import android.provider.Settings;
+import android.service.notification.ZenModeConfig;
+import android.service.notification.ZenPolicy;
+import android.util.Log;
+
+import androidx.annotation.VisibleForTesting;
+
+import com.android.settings.R;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Comparator;
+import java.util.List;
+import java.util.Map;
+
+public class ZenModeBackend {
+    @VisibleForTesting
+    protected static final String ZEN_MODE_FROM_ANYONE = "zen_mode_from_anyone";
+    @VisibleForTesting
+    protected static final String ZEN_MODE_FROM_CONTACTS = "zen_mode_from_contacts";
+    @VisibleForTesting
+    protected static final String ZEN_MODE_FROM_STARRED = "zen_mode_from_starred";
+    @VisibleForTesting
+    protected static final String ZEN_MODE_FROM_NONE = "zen_mode_from_none";
+    protected static final int SOURCE_NONE = -1;
+    private static List<String> mDefaultRuleIds;
+
+    private static ZenModeBackend sInstance;
+
+    protected int mZenMode;
+    /** gets policy last set by updatePolicy **/
+    protected NotificationManager.Policy mPolicy;
+    private final NotificationManager mNotificationManager;
+
+    private String TAG = "ZenModeSettingsBackend";
+    private final Context mContext;
+
+    public static ZenModeBackend getInstance(Context context) {
+        if (sInstance == null) {
+            sInstance = new ZenModeBackend(context);
+        }
+        return sInstance;
+    }
+
+    public ZenModeBackend(Context context) {
+        mContext = context;
+        mNotificationManager = (NotificationManager) context.getSystemService(
+                Context.NOTIFICATION_SERVICE);
+        updateZenMode();
+        updatePolicy();
+    }
+
+    protected void updatePolicy() {
+        if (mNotificationManager != null) {
+            mPolicy = mNotificationManager.getNotificationPolicy();
+        }
+    }
+
+    protected void updateZenMode() {
+        mZenMode = Settings.Global.getInt(mContext.getContentResolver(),
+                Settings.Global.ZEN_MODE, mZenMode);
+    }
+
+    protected boolean updateZenRule(String id, AutomaticZenRule rule) {
+        return NotificationManager.from(mContext).updateAutomaticZenRule(id, rule);
+    }
+
+    protected void setZenMode(int zenMode) {
+        NotificationManager.from(mContext).setZenMode(zenMode, null, TAG);
+        mZenMode = getZenMode();
+    }
+
+    protected void setZenModeForDuration(int minutes) {
+        Uri conditionId = ZenModeConfig.toTimeCondition(mContext, minutes,
+                ActivityManager.getCurrentUser(), true).id;
+        mNotificationManager.setZenMode(Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS,
+                conditionId, TAG);
+        mZenMode = getZenMode();
+    }
+
+    protected int getZenMode() {
+        mZenMode = Settings.Global.getInt(mContext.getContentResolver(),
+                Settings.Global.ZEN_MODE, mZenMode);
+        return mZenMode;
+    }
+
+    protected boolean isVisualEffectSuppressed(int visualEffect) {
+        return (mPolicy.suppressedVisualEffects & visualEffect) != 0;
+    }
+
+    protected boolean isPriorityCategoryEnabled(int categoryType) {
+        return (mPolicy.priorityCategories & categoryType) != 0;
+    }
+
+    protected int getNewDefaultPriorityCategories(boolean allow, int categoryType) {
+        int priorityCategories = mPolicy.priorityCategories;
+        if (allow) {
+            priorityCategories |= categoryType;
+        } else {
+            priorityCategories &= ~categoryType;
+        }
+        return priorityCategories;
+    }
+
+    protected int getPriorityCallSenders() {
+        if (isPriorityCategoryEnabled(NotificationManager.Policy.PRIORITY_CATEGORY_CALLS)) {
+            return mPolicy.priorityCallSenders;
+        }
+
+        return SOURCE_NONE;
+    }
+
+    protected int getPriorityMessageSenders() {
+        if (isPriorityCategoryEnabled(
+                NotificationManager.Policy.PRIORITY_CATEGORY_MESSAGES)) {
+            return mPolicy.priorityMessageSenders;
+        }
+        return SOURCE_NONE;
+    }
+
+    protected int getPriorityConversationSenders() {
+        if (isPriorityCategoryEnabled(PRIORITY_CATEGORY_CONVERSATIONS)) {
+            return mPolicy.priorityConversationSenders;
+        }
+        return CONVERSATION_SENDERS_NONE;
+    }
+
+    protected void saveVisualEffectsPolicy(int category, boolean suppress) {
+        Settings.Secure.putInt(mContext.getContentResolver(),
+                Settings.Secure.ZEN_SETTINGS_UPDATED, 1);
+
+        int suppressedEffects = getNewSuppressedEffects(suppress, category);
+        savePolicy(mPolicy.priorityCategories, mPolicy.priorityCallSenders,
+                mPolicy.priorityMessageSenders, suppressedEffects,
+                mPolicy.priorityConversationSenders);
+    }
+
+    protected void saveSoundPolicy(int category, boolean allow) {
+        int priorityCategories = getNewDefaultPriorityCategories(allow, category);
+        savePolicy(priorityCategories, mPolicy.priorityCallSenders,
+                mPolicy.priorityMessageSenders, mPolicy.suppressedVisualEffects,
+                mPolicy.priorityConversationSenders);
+    }
+
+    protected void savePolicy(int priorityCategories, int priorityCallSenders,
+            int priorityMessageSenders, int suppressedVisualEffects,
+            int priorityConversationSenders) {
+        mPolicy = new NotificationManager.Policy(priorityCategories, priorityCallSenders,
+                priorityMessageSenders, suppressedVisualEffects, priorityConversationSenders);
+        mNotificationManager.setNotificationPolicy(mPolicy);
+    }
+
+
+    private int getNewSuppressedEffects(boolean suppress, int effectType) {
+        int effects = mPolicy.suppressedVisualEffects;
+
+        if (suppress) {
+            effects |= effectType;
+        } else {
+            effects &= ~effectType;
+        }
+
+        return clearDeprecatedEffects(effects);
+    }
+
+    private int clearDeprecatedEffects(int effects) {
+        return effects & ~(SUPPRESSED_EFFECT_SCREEN_ON | SUPPRESSED_EFFECT_SCREEN_OFF);
+    }
+
+    protected boolean isEffectAllowed(int effect) {
+        return (mPolicy.suppressedVisualEffects & effect) == 0;
+    }
+
+    protected void saveSenders(int category, int val) {
+        int priorityCallSenders = getPriorityCallSenders();
+        int priorityMessagesSenders = getPriorityMessageSenders();
+        int categorySenders = getPrioritySenders(category);
+
+        final boolean allowSenders = val != SOURCE_NONE;
+        final int allowSendersFrom = val == SOURCE_NONE ? categorySenders : val;
+
+        String stringCategory = "";
+        if (category == NotificationManager.Policy.PRIORITY_CATEGORY_CALLS) {
+            stringCategory = "Calls";
+            priorityCallSenders = allowSendersFrom;
+        }
+
+        if (category == NotificationManager.Policy.PRIORITY_CATEGORY_MESSAGES) {
+            stringCategory = "Messages";
+            priorityMessagesSenders = allowSendersFrom;
+        }
+
+        savePolicy(getNewDefaultPriorityCategories(allowSenders, category),
+            priorityCallSenders, priorityMessagesSenders, mPolicy.suppressedVisualEffects,
+                mPolicy.priorityConversationSenders);
+
+        if (ZenModeSettingsBase.DEBUG) Log.d(TAG, "onPrefChange allow" +
+                stringCategory + "=" + allowSenders + " allow" + stringCategory + "From="
+                + ZenModeConfig.sourceToString(allowSendersFrom));
+    }
+
+    protected void saveConversationSenders(int val) {
+        final boolean allowSenders = val != CONVERSATION_SENDERS_NONE;
+
+        savePolicy(getNewDefaultPriorityCategories(allowSenders, PRIORITY_CATEGORY_CONVERSATIONS),
+                mPolicy.priorityCallSenders, mPolicy.priorityMessageSenders,
+                mPolicy.suppressedVisualEffects, val);
+
+    }
+
+    private int getPrioritySenders(int category) {
+        int categorySenders = -1;
+
+        if (category == NotificationManager.Policy.PRIORITY_CATEGORY_CALLS) {
+            return getPriorityCallSenders();
+        }
+
+        if (category == NotificationManager.Policy.PRIORITY_CATEGORY_MESSAGES) {
+            return getPriorityMessageSenders();
+        }
+
+        if (category == NotificationManager.Policy.PRIORITY_CATEGORY_CONVERSATIONS) {
+            return getPriorityConversationSenders();
+        }
+
+        return categorySenders;
+    }
+
+    protected static String getKeyFromZenPolicySetting(int contactType) {
+        switch (contactType) {
+            case ZenPolicy.PEOPLE_TYPE_ANYONE:
+                return ZEN_MODE_FROM_ANYONE;
+            case  ZenPolicy.PEOPLE_TYPE_CONTACTS:
+                return ZEN_MODE_FROM_CONTACTS;
+            case ZenPolicy.PEOPLE_TYPE_STARRED:
+                return ZEN_MODE_FROM_STARRED;
+            case ZenPolicy.PEOPLE_TYPE_NONE:
+            default:
+                return ZEN_MODE_FROM_NONE;
+        }
+    }
+
+    protected static String getKeyFromSetting(int contactType) {
+        switch (contactType) {
+            case NotificationManager.Policy.PRIORITY_SENDERS_ANY:
+                return ZEN_MODE_FROM_ANYONE;
+            case NotificationManager.Policy.PRIORITY_SENDERS_CONTACTS:
+                return ZEN_MODE_FROM_CONTACTS;
+            case NotificationManager.Policy.PRIORITY_SENDERS_STARRED:
+                return ZEN_MODE_FROM_STARRED;
+            case SOURCE_NONE:
+            default:
+                return ZEN_MODE_FROM_NONE;
+        }
+    }
+
+    protected int getAlarmsTotalSilencePeopleSummary(int category) {
+        if (category == NotificationManager.Policy.PRIORITY_CATEGORY_MESSAGES) {
+            return R.string.zen_mode_from_none_messages;
+        } else if (category == NotificationManager.Policy.PRIORITY_CATEGORY_CALLS){
+            return R.string.zen_mode_from_none_calls;
+        } else if (category == NotificationManager.Policy.PRIORITY_CATEGORY_CONVERSATIONS) {
+            return R.string.zen_mode_from_no_conversations;
+        }
+        return R.string.zen_mode_from_none;
+    }
+
+    protected int getContactsSummary(int category) {
+        int contactType = -1;
+        if (category == NotificationManager.Policy.PRIORITY_CATEGORY_MESSAGES) {
+            if (isPriorityCategoryEnabled(category)) {
+                contactType = getPriorityMessageSenders();
+            }
+        } else if (category == NotificationManager.Policy.PRIORITY_CATEGORY_CALLS) {
+            if (isPriorityCategoryEnabled(category)) {
+                contactType = getPriorityCallSenders();
+            }
+        }
+
+        switch (contactType) {
+            case NotificationManager.Policy.PRIORITY_SENDERS_ANY:
+                return R.string.zen_mode_from_anyone;
+            case NotificationManager.Policy.PRIORITY_SENDERS_CONTACTS:
+                return R.string.zen_mode_from_contacts;
+            case NotificationManager.Policy.PRIORITY_SENDERS_STARRED:
+                return R.string.zen_mode_from_starred;
+            case SOURCE_NONE:
+            default:
+                if (category == NotificationManager.Policy.PRIORITY_CATEGORY_MESSAGES) {
+                    return R.string.zen_mode_from_none_messages;
+                } else {
+                    return R.string.zen_mode_from_none_calls;
+                }
+        }
+    }
+
+    protected int getConversationSummary() {
+        int conversationType = getPriorityConversationSenders();
+
+        switch (conversationType) {
+            case NotificationManager.Policy.CONVERSATION_SENDERS_ANYONE:
+                return R.string.zen_mode_from_all_conversations;
+            case NotificationManager.Policy.CONVERSATION_SENDERS_IMPORTANT:
+                return R.string.zen_mode_from_important_conversations;
+            case NotificationManager.Policy.CONVERSATION_SENDERS_NONE:
+                return R.string.zen_mode_from_no_conversations;
+            default:
+                return R.string.zen_mode_from_no_conversations;
+        }
+    }
+
+    protected int getContactsCallsSummary(ZenPolicy policy) {
+        int peopleType = policy.getPriorityCallSenders();
+        switch (peopleType) {
+            case ZenPolicy.PEOPLE_TYPE_ANYONE:
+                return R.string.zen_mode_from_anyone;
+            case ZenPolicy.PEOPLE_TYPE_CONTACTS:
+                return R.string.zen_mode_from_contacts;
+            case ZenPolicy.PEOPLE_TYPE_STARRED:
+                return R.string.zen_mode_from_starred;
+            case ZenPolicy.PEOPLE_TYPE_NONE:
+            default:
+                return R.string.zen_mode_from_none_calls;
+        }
+    }
+
+    protected int getContactsMessagesSummary(ZenPolicy policy) {
+        int peopleType = policy.getPriorityMessageSenders();
+        switch (peopleType) {
+            case ZenPolicy.PEOPLE_TYPE_ANYONE:
+                return R.string.zen_mode_from_anyone;
+            case ZenPolicy.PEOPLE_TYPE_CONTACTS:
+                return R.string.zen_mode_from_contacts;
+            case ZenPolicy.PEOPLE_TYPE_STARRED:
+                return R.string.zen_mode_from_starred;
+            case ZenPolicy.PEOPLE_TYPE_NONE:
+            default:
+                return R.string.zen_mode_from_none_messages;
+        }
+    }
+
+    protected static int getZenPolicySettingFromPrefKey(String key) {
+        switch (key) {
+            case ZEN_MODE_FROM_ANYONE:
+                return ZenPolicy.PEOPLE_TYPE_ANYONE;
+            case ZEN_MODE_FROM_CONTACTS:
+                return ZenPolicy.PEOPLE_TYPE_CONTACTS;
+            case ZEN_MODE_FROM_STARRED:
+                return ZenPolicy.PEOPLE_TYPE_STARRED;
+            case ZEN_MODE_FROM_NONE:
+            default:
+                return ZenPolicy.PEOPLE_TYPE_NONE;
+        }
+    }
+
+    protected static int getSettingFromPrefKey(String key) {
+        switch (key) {
+            case ZEN_MODE_FROM_ANYONE:
+                return NotificationManager.Policy.PRIORITY_SENDERS_ANY;
+            case ZEN_MODE_FROM_CONTACTS:
+                return NotificationManager.Policy.PRIORITY_SENDERS_CONTACTS;
+            case ZEN_MODE_FROM_STARRED:
+                return NotificationManager.Policy.PRIORITY_SENDERS_STARRED;
+            case ZEN_MODE_FROM_NONE:
+            default:
+                return SOURCE_NONE;
+        }
+    }
+
+    public boolean removeZenRule(String ruleId) {
+        return NotificationManager.from(mContext).removeAutomaticZenRule(ruleId);
+    }
+
+    public NotificationManager.Policy getConsolidatedPolicy() {
+        return NotificationManager.from(mContext).getConsolidatedNotificationPolicy();
+    }
+
+    protected String addZenRule(AutomaticZenRule rule) {
+        try {
+            return NotificationManager.from(mContext).addAutomaticZenRule(rule);
+        } catch (Exception e) {
+            return null;
+        }
+    }
+
+    ZenPolicy setDefaultZenPolicy(ZenPolicy zenPolicy) {
+        int calls;
+        if (mPolicy.allowCalls()) {
+            calls = ZenModeConfig.getZenPolicySenders(mPolicy.allowCallsFrom());
+        } else {
+            calls = ZenPolicy.PEOPLE_TYPE_NONE;
+        }
+
+        int messages;
+        if (mPolicy.allowMessages()) {
+            messages = ZenModeConfig.getZenPolicySenders(mPolicy.allowMessagesFrom());
+        } else {
+            messages = ZenPolicy.PEOPLE_TYPE_NONE;
+        }
+
+        int conversations;
+        if (mPolicy.allowConversations()) {
+            // unlike the above, no mapping is needed because the values are the same
+            conversations = mPolicy.allowConversationsFrom();
+        } else {
+            conversations = CONVERSATION_SENDERS_NONE;
+        }
+
+        return new ZenPolicy.Builder(zenPolicy)
+                .allowAlarms(mPolicy.allowAlarms())
+                .allowCalls(calls)
+                .allowEvents(mPolicy.allowEvents())
+                .allowMedia(mPolicy.allowMedia())
+                .allowMessages(messages)
+                .allowConversations(conversations)
+                .allowReminders(mPolicy.allowReminders())
+                .allowRepeatCallers(mPolicy.allowRepeatCallers())
+                .allowSystem(mPolicy.allowSystem())
+                .showFullScreenIntent(mPolicy.showFullScreenIntents())
+                .showLights(mPolicy.showLights())
+                .showInAmbientDisplay(mPolicy.showAmbient())
+                .showInNotificationList(mPolicy.showInNotificationList())
+                .showBadges(mPolicy.showBadges())
+                .showPeeking(mPolicy.showPeeking())
+                .showStatusBarIcons(mPolicy.showStatusBarIcons())
+                .build();
+    }
+
+    protected Map.Entry<String, AutomaticZenRule>[] getAutomaticZenRules() {
+        Map<String, AutomaticZenRule> ruleMap =
+                NotificationManager.from(mContext).getAutomaticZenRules();
+        final Map.Entry<String, AutomaticZenRule>[] rt = ruleMap.entrySet().toArray(
+                new Map.Entry[ruleMap.size()]);
+        Arrays.sort(rt, RULE_COMPARATOR);
+        return rt;
+    }
+
+    protected AutomaticZenRule getAutomaticZenRule(String id) {
+        return NotificationManager.from(mContext).getAutomaticZenRule(id);
+    }
+
+    private static List<String> getDefaultRuleIds() {
+        if (mDefaultRuleIds == null) {
+            mDefaultRuleIds = ZenModeConfig.DEFAULT_RULE_IDS;
+        }
+        return mDefaultRuleIds;
+    }
+
+    NotificationManager.Policy toNotificationPolicy(ZenPolicy policy) {
+        ZenModeConfig config = new ZenModeConfig();
+        return config.toNotificationPolicy(policy);
+    }
+
+    @VisibleForTesting
+    List<String> getStarredContacts(Cursor cursor) {
+        List<String> starredContacts = new ArrayList<>();
+        if (cursor != null && cursor.moveToFirst()) {
+            do {
+                String contact = cursor.getString(0);
+                if (contact != null) {
+                    starredContacts.add(contact);
+                }
+            } while (cursor.moveToNext());
+        }
+        return starredContacts;
+    }
+
+    private List<String> getStarredContacts() {
+        Cursor cursor = null;
+        try {
+            cursor = queryData();
+            return getStarredContacts(cursor);
+        } finally {
+            if (cursor != null) {
+                cursor.close();
+            }
+        }
+    }
+
+    public String getStarredContactsSummary(Context context) {
+        List<String> starredContacts = getStarredContacts();
+        int numStarredContacts = starredContacts.size();
+
+        List<String> displayContacts = new ArrayList<>();
+
+        if (numStarredContacts == 0) {
+            displayContacts.add(context.getString(R.string.zen_mode_from_none));
+        } else {
+            for (int i = 0; i < 2 && i < numStarredContacts; i++) {
+                displayContacts.add(starredContacts.get(i));
+            }
+
+            if (numStarredContacts == 3) {
+                displayContacts.add(starredContacts.get(2));
+            } else if (numStarredContacts > 2) {
+                displayContacts.add(context.getResources().getQuantityString(
+                        R.plurals.zen_mode_starred_contacts_summary_additional_contacts,
+                        numStarredContacts - 2, numStarredContacts - 2));
+            }
+        }
+
+        // values in displayContacts must not be null
+        return ListFormatter.getInstance().format(displayContacts);
+    }
+
+    private Cursor queryData() {
+        return mContext.getContentResolver().query(ContactsContract.Contacts.CONTENT_URI,
+                new String[]{ContactsContract.Contacts.DISPLAY_NAME_PRIMARY},
+                ContactsContract.Data.STARRED + "=1", null,
+                ContactsContract.Data.TIMES_CONTACTED);
+    }
+
+    @VisibleForTesting
+    public static final Comparator<Map.Entry<String, AutomaticZenRule>> RULE_COMPARATOR =
+            new Comparator<Map.Entry<String, AutomaticZenRule>>() {
+                @Override
+                public int compare(Map.Entry<String, AutomaticZenRule> lhs,
+                        Map.Entry<String, AutomaticZenRule> rhs) {
+                    // if it's a default rule, should be at the top of automatic rules
+                    boolean lhsIsDefaultRule = getDefaultRuleIds().contains(lhs.getKey());
+                    boolean rhsIsDefaultRule = getDefaultRuleIds().contains(rhs.getKey());
+                    if (lhsIsDefaultRule != rhsIsDefaultRule) {
+                        return lhsIsDefaultRule ? -1 : 1;
+                    }
+
+                    int byDate = Long.compare(lhs.getValue().getCreationTime(),
+                            rhs.getValue().getCreationTime());
+                    if (byDate != 0) {
+                        return byDate;
+                    } else {
+                        return key(lhs.getValue()).compareTo(key(rhs.getValue()));
+                    }
+                }
+
+                private String key(AutomaticZenRule rule) {
+                    final int type = ZenModeConfig.isValidScheduleConditionId(rule.getConditionId())
+                            ? 1 : ZenModeConfig.isValidEventConditionId(rule.getConditionId())
+                            ? 2 : 3;
+                    return type + rule.getName().toString();
+                }
+            };
+}
diff --git a/src/com/android/settings/notification/zen/ZenModeBehaviorFooterPreferenceController.java b/src/com/android/settings/notification/zen/ZenModeBehaviorFooterPreferenceController.java
new file mode 100644
index 0000000..9332c9b
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenModeBehaviorFooterPreferenceController.java
@@ -0,0 +1,104 @@
+/*
+ * 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.zen;
+
+import android.content.ComponentName;
+import android.content.Context;
+import android.net.Uri;
+import android.provider.Settings;
+import android.service.notification.ZenModeConfig;
+
+import androidx.preference.Preference;
+
+import com.android.settings.R;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+public class ZenModeBehaviorFooterPreferenceController extends AbstractZenModePreferenceController {
+
+    protected static final String KEY = "footer_preference";
+    private final int mTitleRes;
+
+    public ZenModeBehaviorFooterPreferenceController(Context context, Lifecycle lifecycle,
+            int titleRes) {
+        super(context, KEY, lifecycle);
+        mTitleRes = titleRes;
+    }
+
+    @Override
+    public boolean isAvailable() {
+        return true;
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY;
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        super.updateState(preference);
+        preference.setTitle(getFooterText());
+    }
+
+    protected String getFooterText() {
+        if (isDeprecatedZenMode(getZenMode())) {
+            ZenModeConfig config = getZenModeConfig();
+
+            // DND turned on by manual rule with deprecated zen mode
+            if (config.manualRule != null &&
+                    isDeprecatedZenMode(config.manualRule.zenMode)) {
+                final Uri id = config.manualRule.conditionId;
+                if (config.manualRule.enabler != null) {
+                    // app triggered manual rule
+                    String appOwner = mZenModeConfigWrapper.getOwnerCaption(
+                            config.manualRule.enabler);
+                    if (!appOwner.isEmpty()) {
+                        return mContext.getString(R.string.zen_mode_app_set_behavior, appOwner);
+                    }
+                } else {
+                    return mContext.getString(R.string.zen_mode_qs_set_behavior);
+                }
+            }
+
+            // DND turned on by an automatic rule with deprecated zen mode
+            for (ZenModeConfig.ZenRule automaticRule : config.automaticRules.values()) {
+                if (automaticRule.isAutomaticActive() && isDeprecatedZenMode(
+                        automaticRule.zenMode)) {
+                    ComponentName component = automaticRule.component;
+                    if (component != null) {
+                        return mContext.getString(R.string.zen_mode_app_set_behavior,
+                                component.getPackageName());
+                    }
+                }
+            }
+
+            return mContext.getString(R.string.zen_mode_unknown_app_set_behavior);
+        } else {
+            return mContext.getString(mTitleRes);
+        }
+    }
+
+    private boolean isDeprecatedZenMode(int zenMode) {
+        switch (zenMode) {
+            case Settings.Global.ZEN_MODE_NO_INTERRUPTIONS:
+            case Settings.Global.ZEN_MODE_ALARMS:
+                return true;
+            default:
+                return false;
+        }
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/settings/notification/zen/ZenModeBlockedEffectsPreferenceController.java b/src/com/android/settings/notification/zen/ZenModeBlockedEffectsPreferenceController.java
new file mode 100644
index 0000000..38676c5
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenModeBlockedEffectsPreferenceController.java
@@ -0,0 +1,50 @@
+/*
+ * 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.notification.zen;
+
+import android.content.Context;
+
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+public class ZenModeBlockedEffectsPreferenceController extends
+        AbstractZenModePreferenceController implements PreferenceControllerMixin {
+
+    protected static final String KEY = "zen_mode_block_effects_settings";
+    private final ZenModeSettings.SummaryBuilder mSummaryBuilder;
+
+    public ZenModeBlockedEffectsPreferenceController(Context context, Lifecycle lifecycle) {
+        super(context, KEY, lifecycle);
+        mSummaryBuilder = new ZenModeSettings.SummaryBuilder(context);
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY;
+    }
+
+    @Override
+    public boolean isAvailable() {
+        return true;
+    }
+
+    @Override
+    public CharSequence getSummary() {
+        return mSummaryBuilder.getBlockedEffectsSummary(getPolicy());
+    }
+
+}
diff --git a/src/com/android/settings/notification/zen/ZenModeBlockedEffectsSettings.java b/src/com/android/settings/notification/zen/ZenModeBlockedEffectsSettings.java
new file mode 100644
index 0000000..c2962dc
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenModeBlockedEffectsSettings.java
@@ -0,0 +1,103 @@
+/*
+ * 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.notification.zen;
+
+import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_AMBIENT;
+import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_BADGE;
+import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_FULL_SCREEN_INTENT;
+import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_LIGHTS;
+import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_NOTIFICATION_LIST;
+import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_PEEK;
+import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_STATUS_BAR;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.os.Bundle;
+
+import com.android.settings.R;
+import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+import com.android.settingslib.search.Indexable;
+import com.android.settingslib.search.SearchIndexable;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@SearchIndexable
+public class ZenModeBlockedEffectsSettings extends ZenModeSettingsBase implements Indexable {
+
+    @Override
+    public void onCreate(Bundle icicle) {
+        super.onCreate(icicle);
+    }
+
+    @Override
+    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
+        return buildPreferenceControllers(context, getSettingsLifecycle());
+    }
+
+    private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
+            Lifecycle lifecycle) {
+        List<AbstractPreferenceController> controllers = new ArrayList<>();
+        controllers.add(new ZenModeVisEffectPreferenceController(context, lifecycle,
+                "zen_effect_intent", SUPPRESSED_EFFECT_FULL_SCREEN_INTENT,
+                SettingsEnums.ACTION_ZEN_BLOCK_FULL_SCREEN_INTENTS, null));
+        controllers.add(new ZenModeVisEffectPreferenceController(context, lifecycle,
+                "zen_effect_light", SUPPRESSED_EFFECT_LIGHTS,
+                SettingsEnums.ACTION_ZEN_BLOCK_LIGHT, null));
+        controllers.add(new ZenModeVisEffectPreferenceController(context, lifecycle,
+                "zen_effect_peek", SUPPRESSED_EFFECT_PEEK,
+                SettingsEnums.ACTION_ZEN_BLOCK_PEEK, null));
+        controllers.add(new ZenModeVisEffectPreferenceController(context, lifecycle,
+                "zen_effect_status", SUPPRESSED_EFFECT_STATUS_BAR,
+                SettingsEnums.ACTION_ZEN_BLOCK_STATUS,
+                new int[] {SUPPRESSED_EFFECT_NOTIFICATION_LIST}));
+        controllers.add(new ZenModeVisEffectPreferenceController(context, lifecycle,
+                "zen_effect_badge", SUPPRESSED_EFFECT_BADGE,
+                SettingsEnums.ACTION_ZEN_BLOCK_BADGE, null));
+        controllers.add(new ZenModeVisEffectPreferenceController(context, lifecycle,
+                "zen_effect_ambient", SUPPRESSED_EFFECT_AMBIENT,
+                SettingsEnums.ACTION_ZEN_BLOCK_AMBIENT, null));
+        controllers.add(new ZenModeVisEffectPreferenceController(context, lifecycle,
+                "zen_effect_list", SUPPRESSED_EFFECT_NOTIFICATION_LIST,
+                SettingsEnums.ACTION_ZEN_BLOCK_NOTIFICATION_LIST, null));
+        return controllers;
+    }
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.zen_mode_block_settings;
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.ZEN_WHAT_TO_BLOCK;
+    }
+
+    /**
+     * For Search.
+     */
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.zen_mode_block_settings) {
+
+            @Override
+            public List<AbstractPreferenceController> createPreferenceControllers(Context context) {
+                return buildPreferenceControllers(context, null);
+            }
+        };
+}
diff --git a/src/com/android/settings/notification/zen/ZenModeButtonPreferenceController.java b/src/com/android/settings/notification/zen/ZenModeButtonPreferenceController.java
new file mode 100644
index 0000000..a53b4fa
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenModeButtonPreferenceController.java
@@ -0,0 +1,131 @@
+/*
+ * 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.zen;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.provider.Settings;
+import android.view.View;
+import android.widget.Button;
+
+import androidx.fragment.app.FragmentManager;
+import androidx.preference.Preference;
+
+import com.android.settings.R;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.notification.SettingsEnableZenModeDialog;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+import com.android.settingslib.widget.LayoutPreference;
+
+public class ZenModeButtonPreferenceController extends AbstractZenModePreferenceController
+        implements PreferenceControllerMixin {
+
+    public static final String KEY = "zen_mode_toggle";
+
+    private static final String TAG = "EnableZenModeButton";
+    private final FragmentManager mFragment;
+    private Button mZenButtonOn;
+    private Button mZenButtonOff;
+
+    public ZenModeButtonPreferenceController(Context context, Lifecycle lifecycle, FragmentManager
+            fragment) {
+        super(context, KEY, lifecycle);
+        mFragment = fragment;
+    }
+
+    @Override
+    public boolean isAvailable() {
+        return true;
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY;
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        super.updateState(preference);
+
+        if (null == mZenButtonOn) {
+            mZenButtonOn = ((LayoutPreference) preference)
+                    .findViewById(R.id.zen_mode_settings_turn_on_button);
+            mZenButtonOn.setFocusableInTouchMode(true);
+            updateZenButtonOnClickListener(preference);
+        }
+
+        if (null == mZenButtonOff) {
+            mZenButtonOff = ((LayoutPreference) preference)
+                    .findViewById(R.id.zen_mode_settings_turn_off_button);
+            mZenButtonOff.setOnClickListener(v -> {
+                writeMetrics(preference, false);
+                mBackend.setZenMode(Settings.Global.ZEN_MODE_OFF);
+            });
+        }
+
+        updateButtons(preference);
+    }
+
+    private void updateButtons(Preference preference) {
+        switch (getZenMode()) {
+            case Settings.Global.ZEN_MODE_ALARMS:
+            case Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS:
+            case Settings.Global.ZEN_MODE_NO_INTERRUPTIONS:
+                mZenButtonOff.setVisibility(View.VISIBLE);
+                mZenButtonOn.setVisibility(View.GONE);
+                mZenButtonOff.requestFocus();
+                break;
+            case Settings.Global.ZEN_MODE_OFF:
+            default:
+                mZenButtonOff.setVisibility(View.GONE);
+                updateZenButtonOnClickListener(preference);
+                mZenButtonOn.setVisibility(View.VISIBLE);
+                mZenButtonOn.requestFocus();
+        }
+    }
+
+    private void updateZenButtonOnClickListener(Preference preference) {
+        int zenDuration = getZenDuration();
+        switch (zenDuration) {
+            case Settings.Secure.ZEN_DURATION_PROMPT:
+                mZenButtonOn.setOnClickListener(v -> {
+                    writeMetrics(preference, true);
+                    new SettingsEnableZenModeDialog().show(mFragment, TAG);
+                });
+                break;
+            case Settings.Secure.ZEN_DURATION_FOREVER:
+                mZenButtonOn.setOnClickListener(v -> {
+                    writeMetrics(preference, true);
+                    mBackend.setZenMode(Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS);
+                });
+                break;
+            default:
+                mZenButtonOn.setOnClickListener(v -> {
+                    writeMetrics(preference, true);
+                    mBackend.setZenModeForDuration(zenDuration);
+                });
+        }
+    }
+
+    private void writeMetrics(Preference preference, boolean buttonOn) {
+        mMetricsFeatureProvider.logClickedPreference(preference,
+                preference.getExtras().getInt(DashboardFragment.CATEGORY));
+        mMetricsFeatureProvider.action(mContext, SettingsEnums.ACTION_ZEN_TOGGLE_DND_BUTTON,
+                buttonOn);
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/settings/notification/zen/ZenModeBypassingAppsPreferenceController.java b/src/com/android/settings/notification/zen/ZenModeBypassingAppsPreferenceController.java
new file mode 100644
index 0000000..a93fa1b
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenModeBypassingAppsPreferenceController.java
@@ -0,0 +1,34 @@
+package com.android.settings.notification.zen;
+
+import android.content.Context;
+import android.os.UserHandle;
+
+import com.android.settings.R;
+import com.android.settings.notification.NotificationBackend;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+public class ZenModeBypassingAppsPreferenceController extends AbstractZenModePreferenceController {
+
+    protected static final String KEY = "zen_mode_behavior_apps";
+    private NotificationBackend mNotificationBackend = new NotificationBackend();
+
+    public ZenModeBypassingAppsPreferenceController(Context context, Lifecycle lifecycle) {
+        super(context, KEY, lifecycle);
+    }
+
+    @Override
+    public boolean isAvailable() {
+        return true;
+    }
+
+    @Override
+    public String getSummary() {
+        final int channelsBypassing =
+                mNotificationBackend.getNumAppsBypassingDnd(UserHandle.getCallingUserId());
+        if (channelsBypassing == 0) {
+            return mContext.getResources().getString(R.string.zen_mode_bypassing_apps_subtext_none);
+        }
+        return mContext.getResources().getQuantityString(R.plurals.zen_mode_bypassing_apps_subtext,
+                channelsBypassing, channelsBypassing);
+    }
+}
diff --git a/src/com/android/settings/notification/zen/ZenModeBypassingAppsSettings.java b/src/com/android/settings/notification/zen/ZenModeBypassingAppsSettings.java
new file mode 100644
index 0000000..bd1a041
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenModeBypassingAppsSettings.java
@@ -0,0 +1,86 @@
+/*
+ * 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.notification.zen;
+
+import android.app.Activity;
+import android.app.Application;
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+
+import androidx.fragment.app.Fragment;
+
+import com.android.settings.R;
+import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.settingslib.search.Indexable;
+import com.android.settingslib.search.SearchIndexable;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@SearchIndexable
+public class ZenModeBypassingAppsSettings extends ZenModeSettingsBase implements
+        Indexable {
+    private final String TAG = "ZenBypassingApps";
+
+    @Override
+    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
+        final Activity activity = getActivity();
+        final Application app;
+        if (activity != null) {
+            app = activity.getApplication();
+        } else {
+            app = null;
+        }
+        return buildPreferenceControllers(context, app, this);
+    }
+
+    private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
+            Application app, Fragment host) {
+        final List<AbstractPreferenceController> controllers = new ArrayList<>();
+        controllers.add(new ZenModeAllBypassingAppsPreferenceController(context, app, host));
+        return controllers;
+    }
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.zen_mode_bypassing_apps;
+    }
+
+    @Override
+    protected String getLogTag() {
+        return TAG;
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.NOTIFICATION_ZEN_MODE_OVERRIDING_APPS;
+    }
+
+    /**
+     * For Search.
+     */
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.zen_mode_bypassing_apps) {
+
+                @Override
+                public List<AbstractPreferenceController> createPreferenceControllers(
+                        Context context) {
+                    return buildPreferenceControllers(context, null, null);
+                }
+            };
+}
diff --git a/src/com/android/settings/notification/zen/ZenModeCallsPreferenceController.java b/src/com/android/settings/notification/zen/ZenModeCallsPreferenceController.java
new file mode 100644
index 0000000..0930db2
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenModeCallsPreferenceController.java
@@ -0,0 +1,67 @@
+/*
+ * 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.zen;
+
+import android.app.NotificationManager;
+import android.content.Context;
+import android.provider.Settings;
+
+import androidx.preference.Preference;
+
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+public class ZenModeCallsPreferenceController extends
+        AbstractZenModePreferenceController implements PreferenceControllerMixin {
+
+    private final String KEY_BEHAVIOR_SETTINGS;
+    private final ZenModeSettings.SummaryBuilder mSummaryBuilder;
+
+    public ZenModeCallsPreferenceController(Context context, Lifecycle lifecycle,
+            String key) {
+        super(context, key, lifecycle);
+        KEY_BEHAVIOR_SETTINGS = key;
+        mSummaryBuilder = new ZenModeSettings.SummaryBuilder(context);
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY_BEHAVIOR_SETTINGS;
+    }
+
+    @Override
+    public boolean isAvailable() {
+        return true;
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        super.updateState(preference);
+
+        switch (getZenMode()) {
+            case Settings.Global.ZEN_MODE_NO_INTERRUPTIONS:
+            case Settings.Global.ZEN_MODE_ALARMS:
+                preference.setEnabled(false);
+                preference.setSummary(mBackend.getAlarmsTotalSilencePeopleSummary(
+                        NotificationManager.Policy.PRIORITY_CATEGORY_CALLS));
+                break;
+            default:
+                preference.setEnabled(true);
+                preference.setSummary(mSummaryBuilder.getCallsSettingSummary(getPolicy()));
+        }
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/settings/notification/zen/ZenModeDurationPreferenceController.java b/src/com/android/settings/notification/zen/ZenModeDurationPreferenceController.java
new file mode 100644
index 0000000..f5d21a2
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenModeDurationPreferenceController.java
@@ -0,0 +1,65 @@
+/*
+ * 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.notification.zen;
+
+import android.content.Context;
+
+import com.android.settings.R;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+public class ZenModeDurationPreferenceController extends AbstractZenModePreferenceController
+        implements PreferenceControllerMixin {
+
+    protected static final String KEY = "zen_mode_duration_settings";
+
+    public ZenModeDurationPreferenceController(Context context, Lifecycle lifecycle) {
+        super(context, KEY, lifecycle);
+    }
+
+    @Override
+    public boolean isAvailable() {
+        return true;
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY;
+    }
+
+    @Override
+    public CharSequence getSummary() {
+        String summary;
+        int zenDuration = getZenDuration();
+        if (zenDuration < 0) {
+            summary = mContext.getString(R.string.zen_mode_duration_summary_always_prompt);
+        } else if (zenDuration == 0) {
+            summary = mContext.getString(R.string.zen_mode_duration_summary_forever);
+        } else {
+            if (zenDuration >= 60) {
+                int hours = zenDuration / 60;
+                summary = mContext.getResources().getQuantityString(
+                        R.plurals.zen_mode_duration_summary_time_hours, hours, hours);
+            } else {
+                summary = mContext.getResources().getString(
+                        R.string.zen_mode_duration_summary_time_minutes, zenDuration);
+            }
+        }
+
+        return summary;
+    }
+}
diff --git a/src/com/android/settings/notification/zen/ZenModeEventRuleSettings.java b/src/com/android/settings/notification/zen/ZenModeEventRuleSettings.java
new file mode 100644
index 0000000..3c49301
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenModeEventRuleSettings.java
@@ -0,0 +1,280 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.notification.zen;
+
+import android.app.AutomaticZenRule;
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.content.pm.PackageManager.NameNotFoundException;
+import android.database.Cursor;
+import android.os.UserHandle;
+import android.os.UserManager;
+import android.provider.CalendarContract.Calendars;
+import android.provider.Settings;
+import android.service.notification.ZenModeConfig;
+import android.service.notification.ZenModeConfig.EventInfo;
+
+import androidx.preference.DropDownPreference;
+import androidx.preference.Preference;
+import androidx.preference.Preference.OnPreferenceChangeListener;
+import androidx.preference.PreferenceScreen;
+
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.settings.R;
+import com.android.settingslib.core.AbstractPreferenceController;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.List;
+import java.util.Objects;
+
+public class ZenModeEventRuleSettings extends ZenModeRuleSettingsBase {
+    private static final String KEY_CALENDAR = "calendar";
+    private static final String KEY_REPLY = "reply";
+
+    public static final String ACTION = Settings.ACTION_ZEN_MODE_EVENT_RULE_SETTINGS;
+
+    private DropDownPreference mCalendar;
+    private DropDownPreference mReply;
+
+    private EventInfo mEvent;
+
+    private boolean mCreate;
+
+    @Override
+    protected boolean setRule(AutomaticZenRule rule) {
+        mEvent = rule != null ? ZenModeConfig.tryParseEventConditionId(rule.getConditionId())
+                : null;
+        return mEvent != null;
+    }
+
+    @Override
+    public void onResume() {
+        super.onResume();
+        if (isUiRestricted()) {
+            return;
+        }
+        if (!mCreate) {
+            reloadCalendar();
+        }
+        mCreate = false;
+    }
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.zen_mode_event_rule_settings;
+    }
+
+    @Override
+    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
+        List<AbstractPreferenceController> controllers = new ArrayList<>();
+        mHeader = new ZenAutomaticRuleHeaderPreferenceController(context, this,
+                getSettingsLifecycle());
+        mActionButtons = new ZenRuleButtonsPreferenceController(context, this,
+                getSettingsLifecycle());
+        mSwitch = new ZenAutomaticRuleSwitchPreferenceController(context, this,
+                getSettingsLifecycle());
+        controllers.add(mHeader);
+        controllers.add(mActionButtons);
+        controllers.add(mSwitch);
+        return controllers;
+    }
+
+    private void reloadCalendar() {
+        List<CalendarInfo> calendars = getCalendars(mContext);
+        ArrayList<CharSequence> entries = new ArrayList<>();
+        ArrayList<CharSequence> values = new ArrayList<>();
+        entries.add(getString(R.string.zen_mode_event_rule_calendar_any));
+        values.add(key(0, null, ""));
+        final String eventCalendar = mEvent != null ? mEvent.calName : null;
+        for (CalendarInfo calendar : calendars) {
+            entries.add(calendar.name);
+            values.add(key(calendar));
+            if (eventCalendar != null && (mEvent.calendarId == null
+                    && eventCalendar.equals(calendar.name))) {
+                mEvent.calendarId = calendar.calendarId;
+            }
+        }
+
+        CharSequence[] entriesArr = entries.toArray(new CharSequence[entries.size()]);
+        CharSequence[] valuesArr = values.toArray(new CharSequence[values.size()]);
+        if (!Objects.equals(mCalendar.getEntries(), entriesArr)) {
+            mCalendar.setEntries(entriesArr);
+        }
+
+        if (!Objects.equals(mCalendar.getEntryValues(), valuesArr)) {
+            mCalendar.setEntryValues(valuesArr);
+        }
+    }
+
+    @Override
+    protected void onCreateInternal() {
+        mCreate = true;
+        final PreferenceScreen root = getPreferenceScreen();
+
+        mCalendar = (DropDownPreference) root.findPreference(KEY_CALENDAR);
+        mCalendar.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
+            @Override
+            public boolean onPreferenceChange(Preference preference, Object newValue) {
+                final String calendarKey = (String) newValue;
+                if (calendarKey.equals(key(mEvent))) return false;
+                String[] key = calendarKey.split(":", 3);
+                mEvent.userId = Integer.parseInt(key[0]);
+                mEvent.calendarId = key[1].equals("") ? null : Long.parseLong(key[1]);
+                mEvent.calName = key[2].equals("") ? null : key[2];
+                updateRule(ZenModeConfig.toEventConditionId(mEvent));
+                return true;
+            }
+        });
+
+        mReply = (DropDownPreference) root.findPreference(KEY_REPLY);
+        mReply.setEntries(new CharSequence[] {
+                getString(R.string.zen_mode_event_rule_reply_any_except_no),
+                getString(R.string.zen_mode_event_rule_reply_yes_or_maybe),
+                getString(R.string.zen_mode_event_rule_reply_yes),
+        });
+        mReply.setEntryValues(new CharSequence[] {
+                Integer.toString(EventInfo.REPLY_ANY_EXCEPT_NO),
+                Integer.toString(EventInfo.REPLY_YES_OR_MAYBE),
+                Integer.toString(EventInfo.REPLY_YES),
+        });
+        mReply.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
+            @Override
+            public boolean onPreferenceChange(Preference preference, Object newValue) {
+                final int reply = Integer.parseInt((String) newValue);
+                if (reply == mEvent.reply) return false;
+                mEvent.reply = reply;
+                updateRule(ZenModeConfig.toEventConditionId(mEvent));
+                return true;
+            }
+        });
+
+        reloadCalendar();
+        updateControlsInternal();
+    }
+
+    @Override
+    protected void updateControlsInternal() {
+        if (!Objects.equals(mCalendar.getValue(), key(mEvent))) {
+            mCalendar.setValue(key(mEvent));
+        }
+        if (!Objects.equals(mReply.getValue(), Integer.toString(mEvent.reply))) {
+            mReply.setValue(Integer.toString(mEvent.reply));
+        }
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.NOTIFICATION_ZEN_MODE_EVENT_RULE;
+    }
+
+    private List<CalendarInfo> getCalendars(Context context) {
+        final List<CalendarInfo> calendars = new ArrayList<>();
+        for (UserHandle user : UserManager.get(context).getUserProfiles()) {
+            final Context userContext = getContextForUser(context, user);
+            if (userContext != null) {
+                addCalendars(userContext, calendars);
+            }
+        }
+        Collections.sort(calendars, CALENDAR_NAME);
+        return calendars;
+    }
+
+    private static Context getContextForUser(Context context, UserHandle user) {
+        try {
+            return context.createPackageContextAsUser(context.getPackageName(), 0, user);
+        } catch (NameNotFoundException e) {
+            return null;
+        }
+    }
+
+    private void addCalendars(Context context, List<CalendarInfo> outCalendars) {
+        final String[] projection = { Calendars._ID, Calendars.CALENDAR_DISPLAY_NAME };
+        final String selection = Calendars.CALENDAR_ACCESS_LEVEL + " >= "
+                + Calendars.CAL_ACCESS_CONTRIBUTOR
+                + " AND " + Calendars.SYNC_EVENTS + " = 1";
+        Cursor cursor = null;
+        try {
+            cursor = context.getContentResolver().query(Calendars.CONTENT_URI, projection,
+                    selection, null, null);
+            if (cursor == null) {
+                return;
+            }
+            while (cursor.moveToNext()) {
+                addCalendar(cursor.getLong(0), cursor.getString(1),
+                        context.getUserId(), outCalendars);
+            }
+        } finally {
+            if (cursor != null) {
+                cursor.close();
+            }
+        }
+    }
+
+    @VisibleForTesting
+    void addCalendar(long calendarId, String calName, int userId, List<CalendarInfo>
+            outCalendars) {
+        final CalendarInfo ci = new CalendarInfo();
+        ci.calendarId = calendarId;
+        ci.name = calName;
+        ci.userId = userId;
+        if (!outCalendars.contains(ci)) {
+            outCalendars.add(ci);
+        }
+    }
+
+    private static String key(CalendarInfo calendar) {
+        return key(calendar.userId, calendar.calendarId, calendar.name);
+    }
+
+    private static String key(EventInfo event) {
+        return key(event.userId, event.calendarId, event.calName);
+    }
+
+    private static String key(int userId, Long calendarId, String displayName) {
+        return EventInfo.resolveUserId(userId) + ":" + (calendarId == null ? "" : calendarId)
+                + ":" + (displayName == null ? "" : displayName);
+    }
+
+    private static final Comparator<CalendarInfo> CALENDAR_NAME = new Comparator<CalendarInfo>() {
+        @Override
+        public int compare(CalendarInfo lhs, CalendarInfo rhs) {
+            return lhs.name.compareTo(rhs.name);
+        }
+    };
+
+    public static class CalendarInfo {
+        public String name;
+        public int userId;
+        public Long calendarId;
+
+        @Override
+        public boolean equals(Object o) {
+            if (!(o instanceof CalendarInfo)) return false;
+            if (o == this) return true;
+            final CalendarInfo other = (CalendarInfo) o;
+            return Objects.equals(other.name, name)
+                    && Objects.equals(other.calendarId, calendarId);
+        }
+
+        @Override
+        public int hashCode() {
+            return Objects.hash(name,  calendarId);
+        }
+    }
+}
diff --git a/src/com/android/settings/notification/zen/ZenModeEventsPreferenceController.java b/src/com/android/settings/notification/zen/ZenModeEventsPreferenceController.java
new file mode 100644
index 0000000..080c31f
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenModeEventsPreferenceController.java
@@ -0,0 +1,78 @@
+/*
+ * 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.zen;
+
+import android.app.NotificationManager.Policy;
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.provider.Settings;
+import android.util.Log;
+
+import androidx.preference.Preference;
+import androidx.preference.SwitchPreference;
+
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+public class ZenModeEventsPreferenceController extends AbstractZenModePreferenceController
+        implements Preference.OnPreferenceChangeListener {
+
+    protected static final String KEY = "zen_mode_events";
+
+    public ZenModeEventsPreferenceController(Context context, Lifecycle lifecycle) {
+        super(context, KEY, lifecycle);
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY;
+    }
+
+    @Override
+    public boolean isAvailable() {
+        return true;
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        super.updateState(preference);
+
+        SwitchPreference pref = (SwitchPreference) preference;
+        switch (getZenMode()) {
+            case Settings.Global.ZEN_MODE_NO_INTERRUPTIONS:
+            case Settings.Global.ZEN_MODE_ALARMS:
+                pref.setEnabled(false);
+                pref.setChecked(false);
+                break;
+            default:
+                pref.setChecked(mBackend.isPriorityCategoryEnabled(
+                        Policy.PRIORITY_CATEGORY_EVENTS));
+                pref.setEnabled(true);
+        }
+    }
+
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object newValue) {
+        final boolean allowEvents = (Boolean) newValue;
+        if (ZenModeSettingsBase.DEBUG) {
+            Log.d(TAG, "onPrefChange allowEvents=" + allowEvents);
+        }
+        mMetricsFeatureProvider.action(mContext, SettingsEnums.ACTION_ZEN_ALLOW_EVENTS,
+                allowEvents);
+        mBackend.saveSoundPolicy(Policy.PRIORITY_CATEGORY_EVENTS, allowEvents);
+        return true;
+    }
+}
diff --git a/src/com/android/settings/notification/zen/ZenModeMediaPreferenceController.java b/src/com/android/settings/notification/zen/ZenModeMediaPreferenceController.java
new file mode 100644
index 0000000..51bceb1
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenModeMediaPreferenceController.java
@@ -0,0 +1,80 @@
+/*
+ * 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.zen;
+
+import android.app.NotificationManager.Policy;
+import android.content.Context;
+import android.provider.Settings;
+import android.util.Log;
+
+import androidx.preference.Preference;
+import androidx.preference.SwitchPreference;
+
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+public class ZenModeMediaPreferenceController extends AbstractZenModePreferenceController
+        implements Preference.OnPreferenceChangeListener {
+
+    protected static final String KEY = "zen_mode_media";
+    private final ZenModeBackend mBackend;
+
+    public ZenModeMediaPreferenceController(Context context, Lifecycle lifecycle) {
+        super(context, KEY, lifecycle);
+        mBackend = ZenModeBackend.getInstance(context);
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY;
+    }
+
+    @Override
+    public boolean isAvailable() {
+        return true;
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        super.updateState(preference);
+
+        SwitchPreference pref = (SwitchPreference) preference;
+        switch (getZenMode()) {
+            case Settings.Global.ZEN_MODE_NO_INTERRUPTIONS:
+                pref.setEnabled(false);
+                pref.setChecked(false);
+                break;
+            case Settings.Global.ZEN_MODE_ALARMS:
+                pref.setEnabled(false);
+                pref.setChecked(true);
+                break;
+            default:
+                pref.setEnabled(true);
+                pref.setChecked(mBackend.isPriorityCategoryEnabled(
+                        Policy.PRIORITY_CATEGORY_MEDIA));
+        }
+    }
+
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object newValue) {
+        final boolean allowMedia = (Boolean) newValue;
+        if (ZenModeSettingsBase.DEBUG) {
+            Log.d(TAG, "onPrefChange allowMedia=" + allowMedia);
+        }
+        mBackend.saveSoundPolicy(Policy.PRIORITY_CATEGORY_MEDIA, allowMedia);
+        return true;
+    }
+}
diff --git a/src/com/android/settings/notification/zen/ZenModeMessagesPreferenceController.java b/src/com/android/settings/notification/zen/ZenModeMessagesPreferenceController.java
new file mode 100644
index 0000000..de169ed
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenModeMessagesPreferenceController.java
@@ -0,0 +1,66 @@
+/*
+ * 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.notification.zen;
+
+import android.app.NotificationManager;
+import android.content.Context;
+import android.provider.Settings;
+
+import androidx.preference.Preference;
+
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+public class ZenModeMessagesPreferenceController extends
+        AbstractZenModePreferenceController implements PreferenceControllerMixin {
+
+    private final String KEY;
+    private final ZenModeSettings.SummaryBuilder mSummaryBuilder;
+
+    public ZenModeMessagesPreferenceController(Context context, Lifecycle lifecycle, String key) {
+        super(context, key, lifecycle);
+        KEY = key;
+        mSummaryBuilder = new ZenModeSettings.SummaryBuilder(context);
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY;
+    }
+
+    @Override
+    public boolean isAvailable() {
+        return true;
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        super.updateState(preference);
+
+        switch (getZenMode()) {
+            case Settings.Global.ZEN_MODE_NO_INTERRUPTIONS:
+            case Settings.Global.ZEN_MODE_ALARMS:
+                preference.setEnabled(false);
+                preference.setSummary(mBackend.getAlarmsTotalSilencePeopleSummary(
+                        NotificationManager.Policy.PRIORITY_CATEGORY_MESSAGES));
+                break;
+            default:
+                preference.setEnabled(true);
+                preference.setSummary(mSummaryBuilder.getMessagesSettingSummary(getPolicy()));
+        }
+    }
+}
diff --git a/src/com/android/settings/notification/zen/ZenModePeoplePreferenceController.java b/src/com/android/settings/notification/zen/ZenModePeoplePreferenceController.java
new file mode 100644
index 0000000..a48c93d
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenModePeoplePreferenceController.java
@@ -0,0 +1,67 @@
+/*
+ * 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.notification.zen;
+
+import android.app.NotificationManager;
+import android.content.Context;
+import android.provider.Settings;
+
+import androidx.preference.Preference;
+
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+public class ZenModePeoplePreferenceController extends
+        AbstractZenModePreferenceController implements PreferenceControllerMixin {
+
+    private final String KEY;
+    private final ZenModeSettings.SummaryBuilder mSummaryBuilder;
+
+    public ZenModePeoplePreferenceController(Context context, Lifecycle lifecycle, String key) {
+        super(context, key, lifecycle);
+        KEY = key;
+        mSummaryBuilder = new ZenModeSettings.SummaryBuilder(context);
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY;
+    }
+
+    @Override
+    public boolean isAvailable() {
+        return true;
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        super.updateState(preference);
+
+        switch (getZenMode()) {
+            case Settings.Global.ZEN_MODE_NO_INTERRUPTIONS:
+            case Settings.Global.ZEN_MODE_ALARMS:
+                preference.setEnabled(false);
+                preference.setSummary(mBackend.getAlarmsTotalSilencePeopleSummary(
+                        NotificationManager.Policy.PRIORITY_CATEGORY_MESSAGES));
+                break;
+            default:
+                preference.setEnabled(true);
+                // TODO: How do all of the people options roll up into the summary?
+                //preference.setSummary(mSummaryBuilder.getMessagesSettingSummary(getPolicy()));
+        }
+    }
+}
diff --git a/src/com/android/settings/notification/zen/ZenModePeopleSettings.java b/src/com/android/settings/notification/zen/ZenModePeopleSettings.java
new file mode 100644
index 0000000..ff768db
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenModePeopleSettings.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.notification.zen;
+
+import static android.app.NotificationManager.Policy.PRIORITY_CATEGORY_CALLS;
+import static android.app.NotificationManager.Policy.PRIORITY_CATEGORY_MESSAGES;
+
+import android.app.Activity;
+import android.app.Application;
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentManager;
+
+import com.android.settings.R;
+import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+import com.android.settingslib.search.Indexable;
+import com.android.settingslib.search.SearchIndexable;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@SearchIndexable
+public class ZenModePeopleSettings extends ZenModeSettingsBase implements Indexable {
+
+    @Override
+    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
+        final Activity activity = getActivity();
+        final Application app;
+        if (activity != null) {
+            app = activity.getApplication();
+        } else {
+            app = null;
+        }
+        return buildPreferenceControllers(
+                context, getSettingsLifecycle(), app, this, getFragmentManager());
+    }
+
+    private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
+            Lifecycle lifecycle, Application app, Fragment host, FragmentManager fragmentManager) {
+        List<AbstractPreferenceController> controllers = new ArrayList<>();
+        controllers.add(new ZenModePriorityMessagesPreferenceController(context, lifecycle));
+        controllers.add(new ZenModeStarredContactsPreferenceController(context, lifecycle,
+                PRIORITY_CATEGORY_MESSAGES, "zen_mode_starred_contacts_messages"));
+        controllers.add(new ZenModePriorityCallsPreferenceController(context, lifecycle));
+        controllers.add(new ZenModeStarredContactsPreferenceController(context, lifecycle,
+                PRIORITY_CATEGORY_CALLS, "zen_mode_starred_contacts_callers"));
+        controllers.add(new ZenModeRepeatCallersPreferenceController(context, lifecycle,
+                context.getResources().getInteger(com.android.internal.R.integer
+                        .config_zen_repeat_callers_threshold)));
+        controllers.add(new ZenModePriorityConversationsPreferenceController(context, lifecycle));
+        controllers.add(new ZenModeSettingsFooterPreferenceController(context, lifecycle,
+                fragmentManager));
+        return controllers;
+    }
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.zen_mode_people_settings;
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.DND_PEOPLE;
+    }
+
+    /**
+     * For Search.
+     */
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.zen_mode_people_settings) {
+
+                @Override
+                public List<AbstractPreferenceController> createPreferenceControllers(
+                        Context context) {
+                    return buildPreferenceControllers(context, null, null, null, null);
+                }
+            };
+}
diff --git a/src/com/android/settings/notification/zen/ZenModePreferenceController.java b/src/com/android/settings/notification/zen/ZenModePreferenceController.java
new file mode 100644
index 0000000..24cf158
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenModePreferenceController.java
@@ -0,0 +1,112 @@
+/*
+ * 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.notification.zen;
+
+import android.content.ContentResolver;
+import android.content.Context;
+import android.database.ContentObserver;
+import android.net.Uri;
+import android.os.Handler;
+import android.os.UserHandle;
+import android.provider.Settings;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.core.BasePreferenceController;
+import com.android.settingslib.core.lifecycle.LifecycleObserver;
+import com.android.settingslib.core.lifecycle.events.OnPause;
+import com.android.settingslib.core.lifecycle.events.OnResume;
+
+public class ZenModePreferenceController extends BasePreferenceController
+        implements LifecycleObserver, OnResume, OnPause {
+
+    private SettingObserver mSettingObserver;
+    private ZenModeSettings.SummaryBuilder mSummaryBuilder;
+
+    public ZenModePreferenceController(Context context, String key) {
+        super(context, key);
+        mSummaryBuilder = new ZenModeSettings.SummaryBuilder(context);
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        mSettingObserver = new SettingObserver(screen.findPreference(getPreferenceKey()));
+    }
+
+    @Override
+    public void onResume() {
+        if (mSettingObserver != null) {
+            mSettingObserver.register(mContext.getContentResolver());
+        }
+    }
+
+    @Override
+    public void onPause() {
+        if (mSettingObserver != null) {
+            mSettingObserver.unregister(mContext.getContentResolver());
+        }
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return AVAILABLE_UNSEARCHABLE;
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        super.updateState(preference);
+        if (preference.isEnabled()) {
+            preference.setSummary(mSummaryBuilder.getSoundSummary());
+        }
+    }
+
+    class SettingObserver extends ContentObserver {
+        private final Uri ZEN_MODE_URI = Settings.Global.getUriFor(Settings.Global.ZEN_MODE);
+        private final Uri ZEN_MODE_CONFIG_ETAG_URI = Settings.Global.getUriFor(
+                Settings.Global.ZEN_MODE_CONFIG_ETAG);
+
+        private final Preference mPreference;
+
+        public SettingObserver(Preference preference) {
+            super(new Handler());
+            mPreference = preference;
+        }
+
+        public void register(ContentResolver cr) {
+            cr.registerContentObserver(ZEN_MODE_URI, false, this, UserHandle.USER_ALL);
+            cr.registerContentObserver(ZEN_MODE_CONFIG_ETAG_URI, false, this, UserHandle.USER_ALL);
+        }
+
+        public void unregister(ContentResolver cr) {
+            cr.unregisterContentObserver(this);
+        }
+
+        @Override
+        public void onChange(boolean selfChange, Uri uri) {
+            super.onChange(selfChange, uri);
+            if (ZEN_MODE_URI.equals(uri)) {
+                updateState(mPreference);
+            }
+
+            if (ZEN_MODE_CONFIG_ETAG_URI.equals(uri)) {
+                updateState(mPreference);
+            }
+        }
+    }
+}
diff --git a/src/com/android/settings/notification/zen/ZenModePriorityCallsPreferenceController.java b/src/com/android/settings/notification/zen/ZenModePriorityCallsPreferenceController.java
new file mode 100644
index 0000000..6b538dc
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenModePriorityCallsPreferenceController.java
@@ -0,0 +1,108 @@
+/*
+ * 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.notification.zen;
+
+import android.app.NotificationManager;
+import android.content.Context;
+import android.provider.Settings;
+import android.text.TextUtils;
+
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.ListPreference;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+public class ZenModePriorityCallsPreferenceController extends AbstractZenModePreferenceController
+        implements Preference.OnPreferenceChangeListener {
+
+    protected static final String KEY = "zen_mode_calls";
+    private final ZenModeBackend mBackend;
+    private ListPreference mPreference;
+    private final String[] mListValues;
+
+    public ZenModePriorityCallsPreferenceController(Context context, Lifecycle lifecycle) {
+        super(context, KEY, lifecycle);
+        mBackend = ZenModeBackend.getInstance(context);
+        mListValues = context.getResources().getStringArray(R.array.zen_mode_contacts_values);
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY;
+    }
+
+    @Override
+    public boolean isAvailable() {
+        return true;
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        mPreference = screen.findPreference(KEY);
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        super.updateState(preference);
+        updateFromContactsValue(preference);
+    }
+
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object selectedContactsFrom) {
+        mBackend.saveSenders(NotificationManager.Policy.PRIORITY_CATEGORY_CALLS,
+                ZenModeBackend.getSettingFromPrefKey(selectedContactsFrom.toString()));
+        updateFromContactsValue(preference);
+        return true;
+    }
+
+    private void updateFromContactsValue(Preference preference) {
+        mPreference = (ListPreference) preference;
+        switch (getZenMode()) {
+            case Settings.Global.ZEN_MODE_NO_INTERRUPTIONS:
+            case Settings.Global.ZEN_MODE_ALARMS:
+                mPreference.setEnabled(false);
+                mPreference.setValue(ZenModeBackend.ZEN_MODE_FROM_NONE);
+                mPreference.setSummary(mBackend.getAlarmsTotalSilencePeopleSummary(
+                        NotificationManager.Policy.PRIORITY_CATEGORY_CALLS));
+                break;
+            default:
+                preference.setEnabled(true);
+                preference.setSummary(mBackend.getContactsSummary(
+                        NotificationManager.Policy.PRIORITY_CATEGORY_CALLS));
+
+                final String currentVal = ZenModeBackend.getKeyFromSetting(
+                        mBackend.getPriorityCallSenders());
+                mPreference.setValue(mListValues[getIndexOfSendersValue(currentVal)]);
+        }
+    }
+
+    @VisibleForTesting
+    protected int getIndexOfSendersValue(String currentVal) {
+        int index = 3; // defaults to "none" based on R.array.zen_mode_contacts_values
+        for (int i = 0; i < mListValues.length; i++) {
+            if (TextUtils.equals(currentVal, mListValues[i])) {
+                return i;
+            }
+        }
+
+        return index;
+    }
+}
diff --git a/src/com/android/settings/notification/zen/ZenModePriorityConversationsPreferenceController.java b/src/com/android/settings/notification/zen/ZenModePriorityConversationsPreferenceController.java
new file mode 100644
index 0000000..afd17ad
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenModePriorityConversationsPreferenceController.java
@@ -0,0 +1,104 @@
+/*
+ * 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.notification.zen;
+
+import static android.service.notification.ZenPolicy.CONVERSATION_SENDERS_ANYONE;
+import static android.service.notification.ZenPolicy.CONVERSATION_SENDERS_IMPORTANT;
+import static android.service.notification.ZenPolicy.CONVERSATION_SENDERS_NONE;
+
+import android.app.NotificationManager;
+import android.content.Context;
+import android.provider.Settings;
+
+import androidx.preference.ListPreference;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+public class ZenModePriorityConversationsPreferenceController
+        extends AbstractZenModePreferenceController
+        implements Preference.OnPreferenceChangeListener {
+
+    protected static final String KEY = "zen_mode_conversations";
+    private final ZenModeBackend mBackend;
+    private ListPreference mPreference;
+
+    public ZenModePriorityConversationsPreferenceController(Context context, Lifecycle lifecycle) {
+        super(context, KEY, lifecycle);
+        mBackend = ZenModeBackend.getInstance(context);
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY;
+    }
+
+    @Override
+    public boolean isAvailable() {
+        return true;
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        mPreference = screen.findPreference(KEY);
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        super.updateState(preference);
+        updateValue(preference);
+    }
+
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object selectedContactsFrom) {
+        mBackend.saveConversationSenders(Integer.parseInt(selectedContactsFrom.toString()));
+        updateValue(preference);
+        return true;
+    }
+
+    private void updateValue(Preference preference) {
+        mPreference = (ListPreference) preference;
+        switch (getZenMode()) {
+            case Settings.Global.ZEN_MODE_NO_INTERRUPTIONS:
+            case Settings.Global.ZEN_MODE_ALARMS:
+                mPreference.setEnabled(false);
+                mPreference.setValue(String.valueOf(CONVERSATION_SENDERS_NONE));
+                mPreference.setSummary(mBackend.getAlarmsTotalSilencePeopleSummary(
+                        NotificationManager.Policy.PRIORITY_CATEGORY_CONVERSATIONS));
+                break;
+            default:
+                preference.setEnabled(true);
+                preference.setSummary(mBackend.getConversationSummary());
+                int senders = mBackend.getPriorityConversationSenders();
+
+                switch (senders) {
+                    case CONVERSATION_SENDERS_NONE:
+                        mPreference.setValue(String.valueOf(CONVERSATION_SENDERS_NONE));
+                        break;
+                    case CONVERSATION_SENDERS_IMPORTANT:
+                        mPreference.setValue(String.valueOf(CONVERSATION_SENDERS_IMPORTANT));
+                        break;
+                    default:
+                        mPreference.setValue(String.valueOf(CONVERSATION_SENDERS_ANYONE));
+                        break;
+                }
+        }
+    }
+}
diff --git a/src/com/android/settings/notification/zen/ZenModePriorityMessagesPreferenceController.java b/src/com/android/settings/notification/zen/ZenModePriorityMessagesPreferenceController.java
new file mode 100644
index 0000000..6476c63
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenModePriorityMessagesPreferenceController.java
@@ -0,0 +1,108 @@
+/*
+ * 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.notification.zen;
+
+import android.app.NotificationManager;
+import android.content.Context;
+import android.provider.Settings;
+import android.text.TextUtils;
+
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.ListPreference;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+public class ZenModePriorityMessagesPreferenceController extends AbstractZenModePreferenceController
+        implements Preference.OnPreferenceChangeListener {
+
+    protected static final String KEY = "zen_mode_messages";
+    private final ZenModeBackend mBackend;
+    private ListPreference mPreference;
+    private final String[] mListValues;
+
+    public ZenModePriorityMessagesPreferenceController(Context context, Lifecycle lifecycle) {
+        super(context, KEY, lifecycle);
+        mBackend = ZenModeBackend.getInstance(context);
+        mListValues = context.getResources().getStringArray(R.array.zen_mode_contacts_values);
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY;
+    }
+
+    @Override
+    public boolean isAvailable() {
+        return true;
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        mPreference = screen.findPreference(KEY);
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        super.updateState(preference);
+        updateFromContactsValue(preference);
+    }
+
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object selectedContactsFrom) {
+        mBackend.saveSenders(NotificationManager.Policy.PRIORITY_CATEGORY_MESSAGES,
+                ZenModeBackend.getSettingFromPrefKey(selectedContactsFrom.toString()));
+        updateFromContactsValue(preference);
+        return true;
+    }
+
+    private void updateFromContactsValue(Preference preference) {
+        mPreference = (ListPreference) preference;
+        switch (getZenMode()) {
+            case Settings.Global.ZEN_MODE_NO_INTERRUPTIONS:
+            case Settings.Global.ZEN_MODE_ALARMS:
+                mPreference.setEnabled(false);
+                mPreference.setValue(ZenModeBackend.ZEN_MODE_FROM_NONE);
+                mPreference.setSummary(mBackend.getAlarmsTotalSilencePeopleSummary(
+                        NotificationManager.Policy.PRIORITY_CATEGORY_MESSAGES));
+                break;
+            default:
+                preference.setEnabled(true);
+                preference.setSummary(mBackend.getContactsSummary(
+                        NotificationManager.Policy.PRIORITY_CATEGORY_MESSAGES));
+
+                final String currentVal = ZenModeBackend.getKeyFromSetting(
+                        mBackend.getPriorityMessageSenders());
+                mPreference.setValue(mListValues[getIndexOfSendersValue(currentVal)]);
+        }
+    }
+
+    @VisibleForTesting
+    protected int getIndexOfSendersValue(String currentVal) {
+        int index = 3; // defaults to "none" based on R.array.zen_mode_contacts_values
+        for (int i = 0; i < mListValues.length; i++) {
+            if (TextUtils.equals(currentVal, mListValues[i])) {
+                return i;
+            }
+        }
+
+        return index;
+    }
+}
diff --git a/src/com/android/settings/notification/zen/ZenModeRemindersPreferenceController.java b/src/com/android/settings/notification/zen/ZenModeRemindersPreferenceController.java
new file mode 100644
index 0000000..fede486
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenModeRemindersPreferenceController.java
@@ -0,0 +1,79 @@
+/*
+ * 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.zen;
+
+import android.app.NotificationManager;
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.provider.Settings;
+import android.util.Log;
+
+import androidx.preference.Preference;
+import androidx.preference.SwitchPreference;
+
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+public class ZenModeRemindersPreferenceController extends AbstractZenModePreferenceController
+        implements Preference.OnPreferenceChangeListener {
+
+    protected static final String KEY = "zen_mode_reminders";
+
+    public ZenModeRemindersPreferenceController(Context context, Lifecycle lifecycle) {
+        super(context, KEY, lifecycle);
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY;
+    }
+
+    @Override
+    public boolean isAvailable() {
+        return true;
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        super.updateState(preference);
+
+        SwitchPreference pref = (SwitchPreference) preference;
+        switch (getZenMode()) {
+            case Settings.Global.ZEN_MODE_NO_INTERRUPTIONS:
+            case Settings.Global.ZEN_MODE_ALARMS:
+                pref.setEnabled(false);
+                pref.setChecked(false);
+                break;
+            default:
+                pref.setEnabled(true);
+                pref.setChecked(mBackend.isPriorityCategoryEnabled(
+                        NotificationManager.Policy.PRIORITY_CATEGORY_REMINDERS));
+        }
+    }
+
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object newValue) {
+        final boolean allowReminders = (Boolean) newValue;
+        if (ZenModeSettingsBase.DEBUG) {
+            Log.d(TAG, "onPrefChange allowReminders=" + allowReminders);
+        }
+        mMetricsFeatureProvider.action(mContext,
+                SettingsEnums.ACTION_ZEN_ALLOW_REMINDERS, allowReminders);
+        mBackend.saveSoundPolicy(NotificationManager.Policy.PRIORITY_CATEGORY_REMINDERS,
+                allowReminders);
+        return true;
+    }
+}
diff --git a/src/com/android/settings/notification/zen/ZenModeRepeatCallersPreferenceController.java b/src/com/android/settings/notification/zen/ZenModeRepeatCallersPreferenceController.java
new file mode 100644
index 0000000..c015ed6
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenModeRepeatCallersPreferenceController.java
@@ -0,0 +1,107 @@
+/*
+ * 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.zen;
+
+import android.app.NotificationManager.Policy;
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.provider.Settings;
+import android.util.Log;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+import androidx.preference.SwitchPreference;
+
+import com.android.settings.R;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+public class ZenModeRepeatCallersPreferenceController extends AbstractZenModePreferenceController
+        implements Preference.OnPreferenceChangeListener {
+
+    protected static final String KEY = "zen_mode_repeat_callers";
+
+    private final ZenModeBackend mBackend;
+    private final int mRepeatCallersThreshold;
+
+    public ZenModeRepeatCallersPreferenceController(Context context, Lifecycle lifecycle,
+            int repeatCallersThreshold) {
+        super(context, KEY, lifecycle);
+
+        mRepeatCallersThreshold = repeatCallersThreshold;
+        mBackend = ZenModeBackend.getInstance(context);
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY;
+    }
+
+    @Override
+    public boolean isAvailable() {
+        return true;
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        setRepeatCallerSummary(screen.findPreference(KEY));
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        super.updateState(preference);
+
+        SwitchPreference pref = (SwitchPreference) preference;
+        switch (getZenMode()) {
+            case Settings.Global.ZEN_MODE_NO_INTERRUPTIONS:
+            case Settings.Global.ZEN_MODE_ALARMS:
+                pref.setEnabled(false);
+                pref.setChecked(false);
+                break;
+            default:
+                boolean anyCallersCanBypassDnd = (mBackend.isPriorityCategoryEnabled(
+                        Policy.PRIORITY_CATEGORY_CALLS)
+                        && mBackend.getPriorityCallSenders() == Policy.PRIORITY_SENDERS_ANY);
+                // if any caller can bypass dnd then repeat callers preference is disabled
+                if (anyCallersCanBypassDnd) {
+                    pref.setEnabled(false);
+                    pref.setChecked(true);
+                } else {
+                    pref.setEnabled(true);
+                    pref.setChecked(mBackend.isPriorityCategoryEnabled(
+                            Policy.PRIORITY_CATEGORY_REPEAT_CALLERS));
+                }
+        }
+    }
+
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object newValue) {
+        final boolean allowRepeatCallers = (Boolean) newValue;
+        if (ZenModeSettingsBase.DEBUG) {
+            Log.d(TAG, "onPrefChange allowRepeatCallers=" + allowRepeatCallers);
+        }
+        mMetricsFeatureProvider.action(mContext,
+                SettingsEnums.ACTION_ZEN_ALLOW_REPEAT_CALLS, allowRepeatCallers);
+        mBackend.saveSoundPolicy(Policy.PRIORITY_CATEGORY_REPEAT_CALLERS, allowRepeatCallers);
+        return true;
+    }
+
+    private void setRepeatCallerSummary(Preference preference) {
+        preference.setSummary(mContext.getString(R.string.zen_mode_repeat_callers_summary,
+                mRepeatCallersThreshold));
+    }
+}
diff --git a/src/com/android/settings/notification/zen/ZenModeRestrictNotificationsSettings.java b/src/com/android/settings/notification/zen/ZenModeRestrictNotificationsSettings.java
new file mode 100644
index 0000000..f121430
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenModeRestrictNotificationsSettings.java
@@ -0,0 +1,87 @@
+/*
+ * 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.notification.zen;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.os.Bundle;
+
+import com.android.settings.R;
+import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settingslib.search.Indexable;
+import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+import com.android.settingslib.search.SearchIndexable;
+import com.android.settingslib.widget.FooterPreference;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@SearchIndexable(forTarget = SearchIndexable.ALL & ~SearchIndexable.ARC)
+public class ZenModeRestrictNotificationsSettings extends ZenModeSettingsBase implements Indexable {
+
+    @Override
+    public void onCreate(Bundle icicle) {
+        super.onCreate(icicle);
+    }
+
+    @Override
+    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
+        return buildPreferenceControllers(context, getSettingsLifecycle());
+    }
+
+    @Override
+    public int getHelpResource() {
+        return R.string.help_uri_interruptions;
+    }
+
+    private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
+            Lifecycle lifecycle) {
+        List<AbstractPreferenceController> controllers = new ArrayList<>();
+        controllers.add(new ZenModeVisEffectsNonePreferenceController(
+                context, lifecycle, "zen_mute_notifications"));
+        controllers.add(new ZenModeVisEffectsAllPreferenceController(
+                context, lifecycle, "zen_hide_notifications"));
+        controllers.add(new ZenModeVisEffectsCustomPreferenceController(
+                context, lifecycle, "zen_custom"));
+        controllers.add(new ZenFooterPreferenceController(context, lifecycle,
+                FooterPreference.KEY_FOOTER));
+        return controllers;
+    }
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.zen_mode_restrict_notifications_settings;
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.SETTINGS_ZEN_NOTIFICATIONS;
+    }
+
+    /**
+     * For Search.
+     */
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.zen_mode_restrict_notifications_settings) {
+
+            @Override
+            public List<AbstractPreferenceController> createPreferenceControllers(Context context) {
+                return buildPreferenceControllers(context, null);
+            }
+        };
+}
diff --git a/src/com/android/settings/notification/zen/ZenModeRuleSettingsBase.java b/src/com/android/settings/notification/zen/ZenModeRuleSettingsBase.java
new file mode 100644
index 0000000..170c699
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenModeRuleSettingsBase.java
@@ -0,0 +1,189 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.notification.zen;
+
+import android.app.AutomaticZenRule;
+import android.app.NotificationManager;
+import android.content.Context;
+import android.content.Intent;
+import android.net.Uri;
+import android.os.Bundle;
+import android.service.notification.ConditionProviderService;
+import android.util.Log;
+import android.view.View;
+import android.widget.Toast;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settings.Utils;
+import com.android.settings.core.SubSettingLauncher;
+
+public abstract class ZenModeRuleSettingsBase extends ZenModeSettingsBase {
+
+    protected static final String TAG = ZenModeSettingsBase.TAG;
+    protected static final boolean DEBUG = ZenModeSettingsBase.DEBUG;
+
+    private final String CUSTOM_BEHAVIOR_KEY = "zen_custom_setting";
+
+    protected Context mContext;
+    protected boolean mDisableListeners;
+    protected AutomaticZenRule mRule;
+    protected String mId;
+
+    protected ZenAutomaticRuleHeaderPreferenceController mHeader;
+    protected ZenRuleButtonsPreferenceController mActionButtons;
+    protected ZenAutomaticRuleSwitchPreferenceController mSwitch;
+    protected Preference mCustomBehaviorPreference;
+
+    abstract protected void onCreateInternal();
+    abstract protected boolean setRule(AutomaticZenRule rule);
+    abstract protected void updateControlsInternal();
+
+    @Override
+    public void onCreate(Bundle icicle) {
+        mContext = getActivity();
+
+        final Intent intent = getActivity().getIntent();
+        if (DEBUG) Log.d(TAG, "onCreate getIntent()=" + intent);
+        if (intent == null) {
+            Log.w(TAG, "No intent");
+            toastAndFinish();
+            return;
+        }
+
+        mId = intent.getStringExtra(ConditionProviderService.EXTRA_RULE_ID);
+        if (mId == null) {
+            Log.w(TAG, "rule id is null");
+            toastAndFinish();
+            return;
+        }
+
+        if (DEBUG) Log.d(TAG, "mId=" + mId);
+        if (refreshRuleOrFinish()) {
+            return;
+        }
+
+        super.onCreate(icicle);
+        mCustomBehaviorPreference = getPreferenceScreen().findPreference(CUSTOM_BEHAVIOR_KEY);
+        mCustomBehaviorPreference.setOnPreferenceClickListener(
+                new Preference.OnPreferenceClickListener() {
+                    @Override
+                    public boolean onPreferenceClick(Preference preference) {
+                        Bundle bundle = new Bundle();
+                        bundle.putString(ZenCustomRuleSettings.RULE_ID, mId);
+                        new SubSettingLauncher(mContext)
+                                .setDestination(ZenCustomRuleSettings.class.getName())
+                                .setArguments(bundle)
+                                .setSourceMetricsCategory(0) // TODO
+                                .launch();
+                        return true;
+                    }
+                });
+        onCreateInternal();
+    }
+
+    @Override
+    public void onResume() {
+        super.onResume();
+        if (isUiRestricted()) {
+            return;
+        }
+        if (!refreshRuleOrFinish()) {
+            updateControls();
+        }
+    }
+
+    @Override
+    public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
+        super.onViewCreated(view, savedInstanceState);
+        Utils.setActionBarShadowAnimation(getActivity(), getSettingsLifecycle(), getListView());
+    }
+
+    @Override
+    public int getHelpResource() {
+        return R.string.help_uri_interruptions;
+    }
+
+    /**
+     * Update state of header preference managed by PreferenceController.
+     */
+    protected void updateHeader() {
+        final PreferenceScreen screen = getPreferenceScreen();
+
+        mSwitch.onResume(mRule, mId);
+        mSwitch.displayPreference(screen);
+        updatePreference(mSwitch);
+
+        mHeader.onResume(mRule, mId);
+        mHeader.displayPreference(screen);
+        updatePreference(mHeader);
+
+        mActionButtons.onResume(mRule, mId);
+        mActionButtons.displayPreference(screen);
+        updatePreference(mActionButtons);
+    }
+
+    protected void updateRule(Uri newConditionId) {
+        mRule.setConditionId(newConditionId);
+        mBackend.updateZenRule(mId, mRule);
+    }
+
+    @Override
+    protected void onZenModeConfigChanged() {
+        super.onZenModeConfigChanged();
+        if (!refreshRuleOrFinish()) {
+            updateControls();
+        }
+    }
+
+    private boolean refreshRuleOrFinish() {
+        mRule = getZenRule();
+        if (DEBUG) Log.d(TAG, "mRule=" + mRule);
+        if (!setRule(mRule)) {
+            toastAndFinish();
+            return true;
+        }
+        return false;
+    }
+
+    private void toastAndFinish() {
+        Toast.makeText(mContext, R.string.zen_mode_rule_not_found_text, Toast.LENGTH_SHORT)
+                .show();
+
+        getActivity().finish();
+    }
+
+    private AutomaticZenRule getZenRule() {
+        return NotificationManager.from(mContext).getAutomaticZenRule(mId);
+    }
+
+    private void updateControls() {
+        mDisableListeners = true;
+        updateControlsInternal();
+        updateHeader();
+        if (mRule.getZenPolicy() == null) {
+            mCustomBehaviorPreference.setSummary(R.string.zen_mode_custom_behavior_summary_default);
+        } else {
+            mCustomBehaviorPreference.setSummary(R.string.zen_mode_custom_behavior_summary);
+        }
+        mDisableListeners = false;
+    }
+}
diff --git a/src/com/android/settings/notification/zen/ZenModeScheduleDaysSelection.java b/src/com/android/settings/notification/zen/ZenModeScheduleDaysSelection.java
new file mode 100644
index 0000000..98dfd37
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenModeScheduleDaysSelection.java
@@ -0,0 +1,103 @@
+/*
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.notification.zen;
+
+import android.content.Context;
+import android.util.SparseBooleanArray;
+import android.view.LayoutInflater;
+import android.widget.CheckBox;
+import android.widget.CompoundButton;
+import android.widget.CompoundButton.OnCheckedChangeListener;
+import android.widget.LinearLayout;
+import android.widget.ScrollView;
+
+import com.android.settings.R;
+
+import java.text.SimpleDateFormat;
+import java.util.Arrays;
+import java.util.Calendar;
+
+public class ZenModeScheduleDaysSelection extends ScrollView {
+    // per-instance to ensure we're always using the current locale
+    private final SimpleDateFormat mDayFormat = new SimpleDateFormat("EEEE");
+    private final SparseBooleanArray mDays = new SparseBooleanArray();
+    private final LinearLayout mLayout;
+
+    public ZenModeScheduleDaysSelection(Context context, int[] days) {
+        super(context);
+        mLayout = new LinearLayout(mContext);
+        final int hPad = context.getResources()
+                .getDimensionPixelSize(R.dimen.zen_schedule_day_margin);
+        mLayout.setPadding(hPad, 0, hPad, 0);
+        addView(mLayout);
+        if (days != null) {
+            for (int i = 0; i < days.length; i++) {
+                mDays.put(days[i], true);
+            }
+        }
+        mLayout.setOrientation(LinearLayout.VERTICAL);
+        final Calendar c = Calendar.getInstance();
+        int[] daysOfWeek = getDaysOfWeekForLocale(c);
+        final LayoutInflater inflater = LayoutInflater.from(context);
+        for (int i = 0; i < daysOfWeek.length; i++) {
+            final int day = daysOfWeek[i];
+            final CheckBox checkBox = (CheckBox) inflater.inflate(R.layout.zen_schedule_rule_day,
+                    this, false);
+            c.set(Calendar.DAY_OF_WEEK, day);
+            checkBox.setText(mDayFormat.format(c.getTime()));
+            checkBox.setChecked(mDays.get(day));
+            checkBox.setOnCheckedChangeListener(new OnCheckedChangeListener() {
+                @Override
+                public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
+                    mDays.put(day, isChecked);
+                    onChanged(getDays());
+                }
+            });
+            mLayout.addView(checkBox);
+        }
+    }
+
+    private int[] getDays() {
+        final SparseBooleanArray rt = new SparseBooleanArray(mDays.size());
+        for (int i = 0; i < mDays.size(); i++) {
+            final int day = mDays.keyAt(i);
+            if (!mDays.valueAt(i)) continue;
+            rt.put(day, true);
+        }
+        final int[] rta = new int[rt.size()];
+        for (int i = 0; i < rta.length; i++) {
+            rta[i] = rt.keyAt(i);
+        }
+        Arrays.sort(rta);
+        return rta;
+    }
+
+    protected static int[] getDaysOfWeekForLocale(Calendar c) {
+        int[] daysOfWeek = new int[7];
+        int currentDay = c.getFirstDayOfWeek();
+        for (int i = 0; i < daysOfWeek.length; i++) {
+            if (currentDay > 7) currentDay = 1;
+            daysOfWeek[i] = currentDay;
+            currentDay++;
+        }
+        return daysOfWeek;
+    }
+
+    protected void onChanged(int[] days) {
+        // event hook for subclasses
+    }
+}
diff --git a/src/com/android/settings/notification/zen/ZenModeScheduleRuleSettings.java b/src/com/android/settings/notification/zen/ZenModeScheduleRuleSettings.java
new file mode 100644
index 0000000..5b02b3b
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenModeScheduleRuleSettings.java
@@ -0,0 +1,329 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.notification.zen;
+
+import android.app.AutomaticZenRule;
+import android.app.Dialog;
+import android.app.TimePickerDialog;
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.content.DialogInterface;
+import android.content.DialogInterface.OnDismissListener;
+import android.os.Bundle;
+import android.provider.Settings;
+import android.service.notification.ZenModeConfig;
+import android.service.notification.ZenModeConfig.ScheduleInfo;
+import android.text.format.DateFormat;
+import android.util.Log;
+import android.widget.TimePicker;
+
+import androidx.appcompat.app.AlertDialog;
+import androidx.fragment.app.FragmentManager;
+import androidx.preference.Preference;
+import androidx.preference.Preference.OnPreferenceClickListener;
+import androidx.preference.PreferenceScreen;
+import androidx.preference.SwitchPreference;
+
+import com.android.settings.R;
+import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
+import com.android.settingslib.core.AbstractPreferenceController;
+
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Calendar;
+import java.util.List;
+
+public class ZenModeScheduleRuleSettings extends ZenModeRuleSettingsBase {
+    private static final String KEY_DAYS = "days";
+    private static final String KEY_START_TIME = "start_time";
+    private static final String KEY_END_TIME = "end_time";
+    private static final String KEY_EXIT_AT_ALARM = "exit_at_alarm";
+
+    public static final String ACTION = Settings.ACTION_ZEN_MODE_SCHEDULE_RULE_SETTINGS;
+
+    // per-instance to ensure we're always using the current locale
+    private final SimpleDateFormat mDayFormat = new SimpleDateFormat("EEE");
+
+    private Preference mDays;
+    private TimePickerPreference mStart;
+    private TimePickerPreference mEnd;
+    private SwitchPreference mExitAtAlarm;
+    private AlertDialog mDayDialog;
+    private ScheduleInfo mSchedule;
+
+    @Override
+    protected boolean setRule(AutomaticZenRule rule) {
+        mSchedule = rule != null ? ZenModeConfig.tryParseScheduleConditionId(rule.getConditionId())
+                : null;
+        return mSchedule != null;
+    }
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.zen_mode_schedule_rule_settings;
+    }
+
+    @Override
+    protected void onCreateInternal() {
+        final PreferenceScreen root = getPreferenceScreen();
+
+        mDays = root.findPreference(KEY_DAYS);
+        mDays.setOnPreferenceClickListener(new OnPreferenceClickListener() {
+            @Override
+            public boolean onPreferenceClick(Preference preference) {
+                showDaysDialog();
+                return true;
+            }
+        });
+
+        final FragmentManager mgr = getFragmentManager();
+
+        mStart = new TimePickerPreference(getPrefContext(), mgr);
+        mStart.setKey(KEY_START_TIME);
+        mStart.setTitle(R.string.zen_mode_start_time);
+        mStart.setCallback(new TimePickerPreference.Callback() {
+            @Override
+            public boolean onSetTime(final int hour, final int minute) {
+                if (mDisableListeners) return true;
+                if (!ZenModeConfig.isValidHour(hour)) return false;
+                if (!ZenModeConfig.isValidMinute(minute)) return false;
+                if (hour == mSchedule.startHour && minute == mSchedule.startMinute) {
+                    return true;
+                }
+                if (DEBUG) Log.d(TAG, "onPrefChange start h=" + hour + " m=" + minute);
+                mSchedule.startHour = hour;
+                mSchedule.startMinute = minute;
+                updateRule(ZenModeConfig.toScheduleConditionId(mSchedule));
+                return true;
+            }
+        });
+        root.addPreference(mStart);
+        mStart.setDependency(mDays.getKey());
+
+        mEnd = new TimePickerPreference(getPrefContext(), mgr);
+        mEnd.setKey(KEY_END_TIME);
+        mEnd.setTitle(R.string.zen_mode_end_time);
+        mEnd.setCallback(new TimePickerPreference.Callback() {
+            @Override
+            public boolean onSetTime(final int hour, final int minute) {
+                if (mDisableListeners) return true;
+                if (!ZenModeConfig.isValidHour(hour)) return false;
+                if (!ZenModeConfig.isValidMinute(minute)) return false;
+                if (hour == mSchedule.endHour && minute == mSchedule.endMinute) {
+                    return true;
+                }
+                if (DEBUG) Log.d(TAG, "onPrefChange end h=" + hour + " m=" + minute);
+                mSchedule.endHour = hour;
+                mSchedule.endMinute = minute;
+                updateRule(ZenModeConfig.toScheduleConditionId(mSchedule));
+                return true;
+            }
+        });
+        root.addPreference(mEnd);
+        mEnd.setDependency(mDays.getKey());
+
+        mExitAtAlarm = (SwitchPreference) root.findPreference(KEY_EXIT_AT_ALARM);
+        mExitAtAlarm.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
+            @Override
+            public boolean onPreferenceChange(Preference preference, Object o) {
+                mSchedule.exitAtAlarm = (Boolean) o;
+                updateRule(ZenModeConfig.toScheduleConditionId(mSchedule));
+                return true;
+            }
+        });
+    }
+
+    private void updateDays() {
+        // Compute an ordered, delimited list of day names based on the persisted user config.
+        final int[] days = mSchedule.days;
+        if (days != null && days.length > 0) {
+            final StringBuilder sb = new StringBuilder();
+            final Calendar c = Calendar.getInstance();
+            int[] daysOfWeek = ZenModeScheduleDaysSelection.getDaysOfWeekForLocale(c);
+            for (int i = 0; i < daysOfWeek.length; i++) {
+                final int day = daysOfWeek[i];
+                for (int j = 0; j < days.length; j++) {
+                    if (day == days[j]) {
+                        c.set(Calendar.DAY_OF_WEEK, day);
+                        if (sb.length() > 0) {
+                            sb.append(mContext.getString(R.string.summary_divider_text));
+                        }
+                        sb.append(mDayFormat.format(c.getTime()));
+                        break;
+                    }
+                }
+            }
+            if (sb.length() > 0) {
+                mDays.setSummary(sb);
+                mDays.notifyDependencyChange(false);
+                return;
+            }
+        }
+        mDays.setSummary(R.string.zen_mode_schedule_rule_days_none);
+        mDays.notifyDependencyChange(true);
+    }
+
+    private void updateEndSummary() {
+        final int startMin = 60 * mSchedule.startHour + mSchedule.startMinute;
+        final int endMin = 60 * mSchedule.endHour + mSchedule.endMinute;
+        final boolean nextDay = startMin >= endMin;
+        final int summaryFormat = nextDay ? R.string.zen_mode_end_time_next_day_summary_format : 0;
+        mEnd.setSummaryFormat(summaryFormat);
+    }
+    @Override
+    protected void updateControlsInternal() {
+        updateDays();
+        mStart.setTime(mSchedule.startHour, mSchedule.startMinute);
+        mEnd.setTime(mSchedule.endHour, mSchedule.endMinute);
+        mExitAtAlarm.setChecked(mSchedule.exitAtAlarm);
+        updateEndSummary();
+    }
+
+    @Override
+    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
+        List<AbstractPreferenceController> controllers = new ArrayList<>();
+        mHeader = new ZenAutomaticRuleHeaderPreferenceController(context, this,
+                getSettingsLifecycle());
+        mActionButtons = new ZenRuleButtonsPreferenceController(context, this,
+                getSettingsLifecycle());
+        mSwitch = new ZenAutomaticRuleSwitchPreferenceController(context, this,
+                getSettingsLifecycle());
+        controllers.add(mHeader);
+        controllers.add(mActionButtons);
+        controllers.add(mSwitch);
+        return controllers;
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.NOTIFICATION_ZEN_MODE_SCHEDULE_RULE;
+    }
+
+    @Override
+    public void onDestroy() {
+        super.onDestroy();
+        if (mDayDialog != null && mDayDialog.isShowing()) {
+            mDayDialog.dismiss();
+            mDayDialog = null;
+        }
+    }
+
+    private void showDaysDialog() {
+        mDayDialog = new AlertDialog.Builder(mContext)
+                .setTitle(R.string.zen_mode_schedule_rule_days)
+                .setView(new ZenModeScheduleDaysSelection(mContext, mSchedule.days) {
+                    @Override
+                    protected void onChanged(final int[] days) {
+                        if (mDisableListeners) return;
+                        if (Arrays.equals(days, mSchedule.days)) return;
+                        if (DEBUG) Log.d(TAG, "days.onChanged days=" + Arrays.asList(days));
+                        mSchedule.days = days;
+                        updateRule(ZenModeConfig.toScheduleConditionId(mSchedule));
+                    }
+                })
+                .setOnDismissListener(new OnDismissListener() {
+                    @Override
+                    public void onDismiss(DialogInterface dialog) {
+                        updateDays();
+                    }
+                })
+                .setPositiveButton(R.string.done_button, null)
+                .show();
+    }
+
+    private static class TimePickerPreference extends Preference {
+        private final Context mContext;
+
+        private int mSummaryFormat;
+        private int mHourOfDay;
+        private int mMinute;
+        private Callback mCallback;
+
+        public TimePickerPreference(Context context, final FragmentManager mgr) {
+            super(context);
+            mContext = context;
+            setPersistent(false);
+            setOnPreferenceClickListener(new OnPreferenceClickListener() {
+                @Override
+                public boolean onPreferenceClick(Preference preference) {
+                    final TimePickerFragment frag = new TimePickerFragment();
+                    frag.pref = TimePickerPreference.this;
+                    frag.show(mgr, TimePickerPreference.class.getName());
+                    return true;
+                }
+            });
+        }
+
+        public void setCallback(Callback callback) {
+            mCallback = callback;
+        }
+
+        public void setSummaryFormat(int resId) {
+            mSummaryFormat = resId;
+            updateSummary();
+        }
+
+        public void setTime(int hourOfDay, int minute) {
+            if (mCallback != null && !mCallback.onSetTime(hourOfDay, minute)) return;
+            mHourOfDay = hourOfDay;
+            mMinute = minute;
+            updateSummary();
+        }
+
+        private void updateSummary() {
+            final Calendar c = Calendar.getInstance();
+            c.set(Calendar.HOUR_OF_DAY, mHourOfDay);
+            c.set(Calendar.MINUTE, mMinute);
+            String time = DateFormat.getTimeFormat(mContext).format(c.getTime());
+            if (mSummaryFormat != 0) {
+                time = mContext.getResources().getString(mSummaryFormat, time);
+            }
+            setSummary(time);
+        }
+
+        public static class TimePickerFragment extends InstrumentedDialogFragment implements
+                TimePickerDialog.OnTimeSetListener {
+            public TimePickerPreference pref;
+
+            @Override
+            public int getMetricsCategory() {
+                return SettingsEnums.DIALOG_ZEN_TIMEPICKER;
+            }
+
+            @Override
+            public Dialog onCreateDialog(Bundle savedInstanceState) {
+                final boolean usePref = pref != null && pref.mHourOfDay >= 0 && pref.mMinute >= 0;
+                final Calendar c = Calendar.getInstance();
+                final int hour = usePref ? pref.mHourOfDay : c.get(Calendar.HOUR_OF_DAY);
+                final int minute = usePref ? pref.mMinute : c.get(Calendar.MINUTE);
+                return new TimePickerDialog(getActivity(), this, hour, minute,
+                        DateFormat.is24HourFormat(getActivity()));
+            }
+
+            public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
+                if (pref != null) {
+                    pref.setTime(hourOfDay, minute);
+                }
+            }
+        }
+
+        public interface Callback {
+            boolean onSetTime(int hour, int minute);
+        }
+    }
+}
diff --git a/src/com/android/settings/notification/zen/ZenModeSettings.java b/src/com/android/settings/notification/zen/ZenModeSettings.java
new file mode 100644
index 0000000..871974b
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenModeSettings.java
@@ -0,0 +1,328 @@
+/*
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.notification.zen;
+
+import static android.app.NotificationManager.Policy.PRIORITY_CATEGORY_ALARMS;
+import static android.app.NotificationManager.Policy.PRIORITY_CATEGORY_CALLS;
+import static android.app.NotificationManager.Policy.PRIORITY_CATEGORY_EVENTS;
+import static android.app.NotificationManager.Policy.PRIORITY_CATEGORY_MEDIA;
+import static android.app.NotificationManager.Policy.PRIORITY_CATEGORY_MESSAGES;
+import static android.app.NotificationManager.Policy.PRIORITY_CATEGORY_REMINDERS;
+import static android.app.NotificationManager.Policy.PRIORITY_CATEGORY_REPEAT_CALLERS;
+import static android.app.NotificationManager.Policy.PRIORITY_CATEGORY_SYSTEM;
+
+import android.app.AutomaticZenRule;
+import android.app.NotificationManager;
+import android.app.NotificationManager.Policy;
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.provider.Settings;
+import android.service.notification.ZenModeConfig;
+
+import androidx.annotation.VisibleForTesting;
+import androidx.fragment.app.FragmentManager;
+
+import com.android.settings.R;
+import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+import com.android.settingslib.search.SearchIndexable;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.function.Predicate;
+
+@SearchIndexable
+public class ZenModeSettings extends ZenModeSettingsBase {
+    @Override
+    public void onResume() {
+        super.onResume();
+    }
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.zen_mode_settings;
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.NOTIFICATION_ZEN_MODE;
+    }
+
+    @Override
+    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
+        return buildPreferenceControllers(context, getSettingsLifecycle(), getFragmentManager());
+    }
+
+    @Override
+    public int getHelpResource() {
+        return R.string.help_uri_interruptions;
+    }
+
+    private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
+            Lifecycle lifecycle, FragmentManager fragmentManager) {
+        List<AbstractPreferenceController> controllers = new ArrayList<>();
+        controllers.add(new ZenModePeoplePreferenceController(context, lifecycle,
+                "zen_mode_behavior_people"));
+        controllers.add(new ZenModeBypassingAppsPreferenceController(context, lifecycle));
+        controllers.add(new ZenModeBlockedEffectsPreferenceController(context, lifecycle));
+        controllers.add(new ZenModeDurationPreferenceController(context, lifecycle));
+        controllers.add(new ZenModeAutomationPreferenceController(context));
+        controllers.add(new ZenModeButtonPreferenceController(context, lifecycle, fragmentManager));
+        controllers.add(new ZenModeSettingsFooterPreferenceController(context, lifecycle,
+                fragmentManager));
+        return controllers;
+    }
+
+    public static class SummaryBuilder {
+
+        private Context mContext;
+
+        public SummaryBuilder(Context context) {
+            mContext = context;
+        }
+
+        // these should match NotificationManager.Policy#ALL_PRIORITY_CATEGORIES
+        private static final int[] ALL_PRIORITY_CATEGORIES = {
+                PRIORITY_CATEGORY_ALARMS,
+                PRIORITY_CATEGORY_MEDIA,
+                PRIORITY_CATEGORY_SYSTEM,
+                PRIORITY_CATEGORY_MESSAGES,
+                PRIORITY_CATEGORY_EVENTS,
+                PRIORITY_CATEGORY_REMINDERS,
+                PRIORITY_CATEGORY_CALLS,
+                PRIORITY_CATEGORY_REPEAT_CALLERS,
+        };
+
+        String getSoundSettingSummary(Policy policy) {
+            List<String> enabledCategories = getEnabledCategories(policy,
+                    category -> PRIORITY_CATEGORY_ALARMS == category
+                            || PRIORITY_CATEGORY_MEDIA == category
+                            || PRIORITY_CATEGORY_SYSTEM == category, false);
+            int numCategories = enabledCategories.size();
+            if (numCategories == 0) {
+                return mContext.getString(R.string.zen_sound_all_muted);
+            } else if (numCategories == 1) {
+                return mContext.getString(R.string.zen_sound_one_allowed,
+                        enabledCategories.get(0));
+            } else if (numCategories == 2) {
+                return mContext.getString(R.string.zen_sound_two_allowed,
+                        enabledCategories.get(0),
+                        enabledCategories.get(1));
+            } else if (numCategories == 3) {
+                return mContext.getString(R.string.zen_sound_three_allowed,
+                        enabledCategories.get(0),
+                        enabledCategories.get(1),
+                        enabledCategories.get(2));
+            } else {
+                return mContext.getString(R.string.zen_sound_none_muted);
+            }
+        }
+
+        String getCallsSettingSummary(Policy policy) {
+            List<String> enabledCategories = getEnabledCategories(policy,
+                    category -> PRIORITY_CATEGORY_CALLS == category
+                            || PRIORITY_CATEGORY_REPEAT_CALLERS == category, false);
+            int numCategories = enabledCategories.size();
+            if (numCategories == 0) {
+                return mContext.getString(R.string.zen_mode_from_none_calls);
+            } else if (numCategories == 1) {
+                return mContext.getString(R.string.zen_mode_calls_summary_one,
+                        enabledCategories.get(0));
+            } else {
+                return mContext.getString(R.string.zen_mode_calls_summary_two,
+                        enabledCategories.get(0),
+                        enabledCategories.get(1));
+            }
+        }
+
+        String getMessagesSettingSummary(Policy policy) {
+            List<String> enabledCategories = getEnabledCategories(policy,
+                    category -> PRIORITY_CATEGORY_MESSAGES == category, false);
+            int numCategories = enabledCategories.size();
+            if (numCategories == 0) {
+                return mContext.getString(R.string.zen_mode_from_none_messages);
+            } else {
+                return enabledCategories.get(0);
+            }
+        }
+
+        String getSoundSummary() {
+            int zenMode = NotificationManager.from(mContext).getZenMode();
+
+            if (zenMode != Settings.Global.ZEN_MODE_OFF) {
+                ZenModeConfig config = NotificationManager.from(mContext).getZenModeConfig();
+                String description = ZenModeConfig.getDescription(mContext, true, config, false);
+
+                if (description == null) {
+                    return mContext.getString(R.string.zen_mode_sound_summary_on);
+                } else {
+                    return mContext.getString(R.string.zen_mode_sound_summary_on_with_info,
+                            description);
+                }
+            } else {
+                final int count = getEnabledAutomaticRulesCount();
+                if (count > 0) {
+                    return mContext.getString(R.string.zen_mode_sound_summary_off_with_info,
+                            mContext.getResources().getQuantityString(
+                                    R.plurals.zen_mode_sound_summary_summary_off_info,
+                                    count, count));
+                }
+
+                return mContext.getString(R.string.zen_mode_sound_summary_off);
+            }
+        }
+
+        String getBlockedEffectsSummary(Policy policy) {
+            if (policy.suppressedVisualEffects == 0) {
+                return mContext.getResources().getString(
+                        R.string.zen_mode_restrict_notifications_summary_muted);
+            } else if (Policy.areAllVisualEffectsSuppressed(policy.suppressedVisualEffects)) {
+                return mContext.getResources().getString(
+                        R.string.zen_mode_restrict_notifications_summary_hidden);
+            } else {
+                return mContext.getResources().getString(
+                        R.string.zen_mode_restrict_notifications_summary_custom);
+            }
+        }
+
+        String getAutomaticRulesSummary() {
+            final int count = getEnabledAutomaticRulesCount();
+            return count == 0 ? mContext.getString(R.string.zen_mode_settings_summary_off)
+                    : mContext.getResources().getQuantityString(
+                            R.plurals.zen_mode_settings_summary_on, count, count);
+        }
+
+        @VisibleForTesting
+        int getEnabledAutomaticRulesCount() {
+            int count = 0;
+            final Map<String, AutomaticZenRule> ruleMap =
+                    NotificationManager.from(mContext).getAutomaticZenRules();
+            if (ruleMap != null) {
+                for (Entry<String, AutomaticZenRule> ruleEntry : ruleMap.entrySet()) {
+                    final AutomaticZenRule rule = ruleEntry.getValue();
+                    if (rule != null && rule.isEnabled()) {
+                        count++;
+                    }
+                }
+            }
+            return count;
+        }
+
+        private List<String> getEnabledCategories(Policy policy,
+                Predicate<Integer> filteredCategories, boolean capitalizeFirstInList) {
+            List<String> enabledCategories = new ArrayList<>();
+            for (int category : ALL_PRIORITY_CATEGORIES) {
+                boolean isFirst = capitalizeFirstInList && enabledCategories.isEmpty();
+                if (filteredCategories.test(category) && isCategoryEnabled(policy, category)) {
+                    if (category == Policy.PRIORITY_CATEGORY_REPEAT_CALLERS
+                            && isCategoryEnabled(policy, Policy.PRIORITY_CATEGORY_CALLS)
+                            && policy.priorityCallSenders == Policy.PRIORITY_SENDERS_ANY) {
+                        continue;
+                    }
+
+                    enabledCategories.add(getCategory(category, policy, isFirst));
+                }
+            }
+            return enabledCategories;
+        }
+
+        private boolean isCategoryEnabled(Policy policy, int categoryType) {
+            return (policy.priorityCategories & categoryType) != 0;
+        }
+
+        private String getCategory(int category, Policy policy, boolean isFirst) {
+            if (category == PRIORITY_CATEGORY_ALARMS) {
+                if (isFirst) {
+                    return mContext.getString(R.string.zen_mode_alarms);
+                } else {
+                    return mContext.getString(R.string.zen_mode_alarms_list);
+                }
+            } else if (category == PRIORITY_CATEGORY_MEDIA) {
+                if (isFirst) {
+                    return mContext.getString(R.string.zen_mode_media);
+                } else {
+                    return mContext.getString(R.string.zen_mode_media_list);
+                }
+            } else if (category == PRIORITY_CATEGORY_SYSTEM) {
+                if (isFirst) {
+                    return mContext.getString(R.string.zen_mode_system);
+                } else {
+                    return mContext.getString(R.string.zen_mode_system_list);
+                }
+            } else if (category == Policy.PRIORITY_CATEGORY_MESSAGES) {
+                if (policy.priorityMessageSenders == Policy.PRIORITY_SENDERS_ANY) {
+                    return mContext.getString(R.string.zen_mode_from_anyone);
+                } else if (policy.priorityMessageSenders == Policy.PRIORITY_SENDERS_CONTACTS){
+                    return mContext.getString(R.string.zen_mode_from_contacts);
+                } else {
+                    return mContext.getString(R.string.zen_mode_from_starred);
+                }
+            } else if (category == Policy.PRIORITY_CATEGORY_EVENTS) {
+                if (isFirst) {
+                    return mContext.getString(R.string.zen_mode_events);
+                } else {
+                    return mContext.getString(R.string.zen_mode_events_list);
+                }
+            } else if (category == Policy.PRIORITY_CATEGORY_REMINDERS) {
+                if (isFirst) {
+                    return mContext.getString(R.string.zen_mode_reminders);
+                } else {
+                    return mContext.getString(R.string.zen_mode_reminders_list);
+                }
+            } else if (category == Policy.PRIORITY_CATEGORY_CALLS) {
+                if (policy.priorityCallSenders == Policy.PRIORITY_SENDERS_ANY) {
+                    return mContext.getString(R.string.zen_mode_all_callers);
+                } else if (policy.priorityCallSenders == Policy.PRIORITY_SENDERS_CONTACTS){
+                    return mContext.getString(R.string.zen_mode_contacts_callers);
+                } else {
+                    return mContext.getString(R.string.zen_mode_starred_callers);
+                }
+            } else if (category == Policy.PRIORITY_CATEGORY_REPEAT_CALLERS) {
+                if (isFirst) {
+                    return mContext.getString(R.string.zen_mode_repeat_callers);
+                } else {
+                    return mContext.getString(R.string.zen_mode_repeat_callers_list);
+                }
+            }
+
+            return "";
+        }
+    }
+
+    /**
+     * For Search.
+     */
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.zen_mode_settings) {
+
+                @Override
+                public List<String> getNonIndexableKeys(Context context) {
+                    List<String> keys = super.getNonIndexableKeys(context);
+                    keys.add(ZenModeDurationPreferenceController.KEY);
+                    return keys;
+                }
+
+                @Override
+                public List<AbstractPreferenceController> createPreferenceControllers(Context
+                        context) {
+                    return buildPreferenceControllers(context, null, null);
+                }
+            };
+}
diff --git a/src/com/android/settings/notification/zen/ZenModeSettingsBase.java b/src/com/android/settings/notification/zen/ZenModeSettingsBase.java
new file mode 100644
index 0000000..705e827
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenModeSettingsBase.java
@@ -0,0 +1,144 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.notification.zen;
+
+import android.content.Context;
+import android.database.ContentObserver;
+import android.net.Uri;
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.UserManager;
+import android.provider.Settings;
+import android.provider.Settings.Global;
+import android.util.Log;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.dashboard.RestrictedDashboardFragment;
+import com.android.settingslib.core.AbstractPreferenceController;
+
+abstract public class ZenModeSettingsBase extends RestrictedDashboardFragment {
+    protected static final String TAG = "ZenModeSettings";
+    protected static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
+
+    private final Handler mHandler = new Handler();
+    private final SettingsObserver mSettingsObserver = new SettingsObserver();
+
+    protected Context mContext;
+    protected int mZenMode;
+
+    protected ZenModeBackend mBackend;
+
+    protected void onZenModeConfigChanged() {};
+
+    public ZenModeSettingsBase() {
+        super(UserManager.DISALLOW_ADJUST_VOLUME);
+    }
+
+    @Override
+    protected String getLogTag() {
+        return TAG;
+    }
+
+    @Override
+    public void onAttach(Context context) {
+        super.onAttach(context);
+        mContext = context;
+        mBackend = ZenModeBackend.getInstance(mContext);
+    }
+
+    @Override
+    public void onCreate(Bundle icicle) {
+        super.onCreate(icicle);
+        updateZenMode(false /*fireChanged*/);
+    }
+
+    @Override
+    public void onResume() {
+        super.onResume();
+        updateZenMode(true /*fireChanged*/);
+        mSettingsObserver.register();
+        if (isUiRestricted()) {
+            if (isUiRestrictedByOnlyAdmin()) {
+                getPreferenceScreen().removeAll();
+                return;
+            } else {
+                finish();
+            }
+        }
+    }
+
+    @Override
+    public void onPause() {
+        super.onPause();
+        mSettingsObserver.unregister();
+    }
+
+    private void updateZenMode(boolean fireChanged) {
+        final int zenMode = Settings.Global.getInt(getContentResolver(), Global.ZEN_MODE, mZenMode);
+        if (zenMode == mZenMode) return;
+        mZenMode = zenMode;
+        if (DEBUG) Log.d(TAG, "updateZenMode mZenMode=" + mZenMode + " " + fireChanged);
+    }
+
+    private final class SettingsObserver extends ContentObserver {
+        private final Uri ZEN_MODE_URI = Global.getUriFor(Global.ZEN_MODE);
+        private final Uri ZEN_MODE_CONFIG_ETAG_URI = Global.getUriFor(Global.ZEN_MODE_CONFIG_ETAG);
+
+        private SettingsObserver() {
+            super(mHandler);
+        }
+
+        public void register() {
+            getContentResolver().registerContentObserver(ZEN_MODE_URI, false, this);
+            getContentResolver().registerContentObserver(ZEN_MODE_CONFIG_ETAG_URI, false, this);
+        }
+
+        public void unregister() {
+            getContentResolver().unregisterContentObserver(this);
+        }
+
+        @Override
+        public void onChange(boolean selfChange, Uri uri) {
+            super.onChange(selfChange, uri);
+            if (ZEN_MODE_URI.equals(uri)) {
+                updateZenMode(true /*fireChanged*/);
+            }
+            if (ZEN_MODE_CONFIG_ETAG_URI.equals(uri)) {
+                mBackend.updatePolicy();
+                onZenModeConfigChanged();
+            }
+        }
+    }
+
+    void updatePreference(AbstractPreferenceController controller) {
+        final PreferenceScreen screen = getPreferenceScreen();
+        if (!controller.isAvailable()) {
+            return;
+        }
+        final String key = controller.getPreferenceKey();
+
+        final Preference preference = screen.findPreference(key);
+        if (preference == null) {
+            Log.d(TAG, String.format("Cannot find preference with key %s in Controller %s",
+                    key, controller.getClass().getSimpleName()));
+            return;
+        }
+        controller.updateState(preference);
+    }
+}
diff --git a/src/com/android/settings/notification/zen/ZenModeSettingsFooterPreferenceController.java b/src/com/android/settings/notification/zen/ZenModeSettingsFooterPreferenceController.java
new file mode 100644
index 0000000..ca6eb42
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenModeSettingsFooterPreferenceController.java
@@ -0,0 +1,286 @@
+/*
+ * 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.zen;
+
+import android.app.Dialog;
+import android.app.NotificationManager;
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.content.DialogInterface;
+import android.icu.text.ListFormatter;
+import android.net.Uri;
+import android.os.Bundle;
+import android.provider.Settings;
+import android.service.notification.ZenModeConfig;
+import android.text.TextUtils;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.widget.TextView;
+
+import androidx.appcompat.app.AlertDialog;
+import androidx.fragment.app.FragmentManager;
+import androidx.preference.Preference;
+
+import com.android.settings.R;
+import com.android.settings.core.SubSettingLauncher;
+import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
+import com.android.settings.utils.AnnotationSpan;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+
+public class ZenModeSettingsFooterPreferenceController extends AbstractZenModePreferenceController {
+    static final String KEY = "footer_preference";
+    private FragmentManager mFragment;
+
+    public ZenModeSettingsFooterPreferenceController(Context context, Lifecycle lifecycle,
+            FragmentManager fragment) {
+        super(context, KEY, lifecycle);
+        mFragment = fragment;
+    }
+
+    @Override
+    public boolean isAvailable() {
+        switch(getZenMode()) {
+            case Settings.Global.ZEN_MODE_ALARMS:
+            case Settings.Global.ZEN_MODE_NO_INTERRUPTIONS:
+            case Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS:
+                return true;
+            case Settings.Global.ZEN_MODE_OFF:
+            default:
+                return false;
+        }
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY;
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        super.updateState(preference);
+
+        boolean isAvailable = isAvailable();
+        preference.setVisible(isAvailable);
+        if (isAvailable) {
+            preference.setTitle(getFooterText());
+        }
+    }
+
+    protected CharSequence getFooterText() {
+        ZenModeConfig config = getZenModeConfig();
+
+        NotificationManager.Policy appliedPolicy = mBackend.getConsolidatedPolicy();
+        NotificationManager.Policy defaultPolicy = config.toNotificationPolicy();
+        final boolean usingCustomPolicy = !Objects.equals(appliedPolicy, defaultPolicy);
+
+        if (usingCustomPolicy) {
+            final List<ZenModeConfig.ZenRule> activeRules = getActiveRules(config);
+            final List<String> rulesNames = new ArrayList<>();
+            for (ZenModeConfig.ZenRule rule : activeRules) {
+                if (rule.name != null) {
+                    rulesNames.add(rule.name);
+                }
+            }
+            if (rulesNames.size() > 0) {
+                String rules = ListFormatter.getInstance().format(rulesNames);
+                if (!rules.isEmpty()) {
+                    final AnnotationSpan.LinkInfo linkInfo = new AnnotationSpan.LinkInfo(
+                            AnnotationSpan.LinkInfo.DEFAULT_ANNOTATION, new View.OnClickListener() {
+                                @Override
+                                public void onClick(View v) {
+                                    showCustomSettingsDialog();
+                                }
+                            });
+                    return TextUtils.concat(mContext.getResources().getString(
+                            R.string.zen_mode_settings_dnd_custom_settings_footer, rules),
+                            AnnotationSpan.linkify(mContext.getResources().getText(
+                            R.string.zen_mode_settings_dnd_custom_settings_footer_link),
+                            linkInfo));
+                }
+            }
+        }
+        return getDefaultPolicyFooter(config);
+    }
+
+    private String getDefaultPolicyFooter(ZenModeConfig config) {
+        String footerText = "";
+        long latestEndTime = -1;
+
+        // DND turned on by manual rule
+        if (config.manualRule != null) {
+            final Uri id = config.manualRule.conditionId;
+            if (config.manualRule.enabler != null) {
+                // app triggered manual rule
+                String appOwner = mZenModeConfigWrapper.getOwnerCaption(config.manualRule.enabler);
+                if (!appOwner.isEmpty()) {
+                    footerText = mContext.getString(
+                            R.string.zen_mode_settings_dnd_automatic_rule_app, appOwner);
+                }
+            } else {
+                if (id == null) {
+                    return mContext.getString(
+                            R.string.zen_mode_settings_dnd_manual_indefinite);
+                } else {
+                    latestEndTime = mZenModeConfigWrapper.parseManualRuleTime(id);
+                    if (latestEndTime > 0) {
+                        final CharSequence formattedTime = mZenModeConfigWrapper.getFormattedTime(
+                                latestEndTime, mContext.getUserId());
+                        footerText = mContext.getString(
+                                R.string.zen_mode_settings_dnd_manual_end_time,
+                                formattedTime);
+                    }
+                }
+            }
+        }
+
+        // DND turned on by an automatic rule
+        for (ZenModeConfig.ZenRule automaticRule : config.automaticRules.values()) {
+            if (automaticRule.isAutomaticActive()) {
+                // set footer if 3rd party rule
+                if (!mZenModeConfigWrapper.isTimeRule(automaticRule.conditionId)) {
+                    return mContext.getString(R.string.zen_mode_settings_dnd_automatic_rule,
+                            automaticRule.name);
+                } else {
+                    // set footer if automatic rule end time is the latest active rule end time
+                    long endTime = mZenModeConfigWrapper.parseAutomaticRuleEndTime(
+                            automaticRule.conditionId);
+                    if (endTime > latestEndTime) {
+                        latestEndTime = endTime;
+                        footerText = mContext.getString(
+                                R.string.zen_mode_settings_dnd_automatic_rule, automaticRule.name);
+                    }
+                }
+            }
+        }
+        return footerText;
+    }
+
+    private List<ZenModeConfig.ZenRule> getActiveRules(ZenModeConfig config) {
+        List<ZenModeConfig.ZenRule> zenRules = new ArrayList<>();
+        if (config.manualRule != null) {
+            zenRules.add(config.manualRule);
+        }
+
+        for (ZenModeConfig.ZenRule automaticRule : config.automaticRules.values()) {
+            if (automaticRule.isAutomaticActive()) {
+                zenRules.add(automaticRule);
+            }
+        }
+        return zenRules;
+    }
+
+    private void showCustomSettingsDialog() {
+        ZenCustomSettingsDialog dialog = new ZenCustomSettingsDialog();
+        dialog.setNotificationPolicy(mBackend.getConsolidatedPolicy());
+        dialog.show(mFragment, ZenCustomSettingsDialog.class.getName());
+    }
+
+    public static class ZenCustomSettingsDialog extends InstrumentedDialogFragment {
+        private String KEY_POLICY = "policy";
+        private NotificationManager.Policy mPolicy;
+        private ZenModeSettings.SummaryBuilder mSummaryBuilder;
+
+        public void setNotificationPolicy(NotificationManager.Policy policy) {
+            mPolicy = policy;
+        }
+
+        @Override
+        public Dialog onCreateDialog(Bundle savedInstanceState) {
+            Context context  = getActivity();
+            if (savedInstanceState != null) {
+                NotificationManager.Policy policy = savedInstanceState.getParcelable(KEY_POLICY);
+                if (policy != null) {
+                    mPolicy = policy;
+                }
+            }
+
+            mSummaryBuilder = new ZenModeSettings.SummaryBuilder(context);
+
+            AlertDialog customSettingsDialog = new AlertDialog.Builder(context)
+                    .setTitle(R.string.zen_custom_settings_dialog_title)
+                    .setNeutralButton(R.string.zen_custom_settings_dialog_review_schedule,
+                            new DialogInterface.OnClickListener() {
+                                @Override
+                                public void onClick(DialogInterface dialog,
+                                        int which) {
+                                    new SubSettingLauncher(context)
+                                            .setDestination(
+                                                    ZenModeAutomationSettings.class.getName())
+                                            .setSourceMetricsCategory(
+                                                    SettingsEnums.NOTIFICATION_ZEN_MODE_AUTOMATION)
+                                            .launch();
+                                }
+                            })
+                    .setPositiveButton(R.string.zen_custom_settings_dialog_ok, null)
+                    .setView(LayoutInflater.from(context).inflate(context.getResources().getLayout(
+                            R.layout.zen_custom_settings_dialog), null, false))
+                    .create();
+
+            customSettingsDialog.setOnShowListener(new DialogInterface.OnShowListener() {
+                @Override
+                public void onShow(DialogInterface dialog) {
+                    TextView allowCallsText = customSettingsDialog.findViewById(
+                            R.id.zen_custom_settings_dialog_calls_allow);
+                    TextView allowMessagesText = customSettingsDialog.findViewById(
+                            R.id.zen_custom_settings_dialog_messages_allow);
+                    TextView allowAlarmsText = customSettingsDialog.findViewById(
+                            R.id.zen_custom_settings_dialog_alarms_allow);
+                    TextView allowMediaText = customSettingsDialog.findViewById(
+                            R.id.zen_custom_settings_dialog_media_allow);
+                    TextView allowSystemText = customSettingsDialog.findViewById(
+                            R.id.zen_custom_settings_dialog_system_allow);
+                    TextView allowRemindersText = customSettingsDialog.findViewById(
+                            R.id.zen_custom_settings_dialog_reminders_allow);
+                    TextView allowEventsText = customSettingsDialog.findViewById(
+                            R.id.zen_custom_settings_dialog_events_allow);
+                    TextView notificationsText = customSettingsDialog.findViewById(
+                            R.id.zen_custom_settings_dialog_show_notifications);
+
+                    allowCallsText.setText(mSummaryBuilder.getCallsSettingSummary(mPolicy));
+                    allowMessagesText.setText(mSummaryBuilder.getMessagesSettingSummary(mPolicy));
+                    allowAlarmsText.setText(getAllowRes(mPolicy.allowAlarms()));
+                    allowMediaText.setText(getAllowRes(mPolicy.allowMedia()));
+                    allowSystemText.setText(getAllowRes(mPolicy.allowSystem()));
+                    allowRemindersText.setText(getAllowRes(mPolicy.allowReminders()));
+                    allowEventsText.setText(getAllowRes(mPolicy.allowEvents()));
+                    notificationsText.setText(mSummaryBuilder.getBlockedEffectsSummary(mPolicy));
+                }
+            });
+
+            return customSettingsDialog;
+        }
+
+        @Override
+        public int getMetricsCategory() {
+            return SettingsEnums.ZEN_CUSTOM_SETTINGS_DIALOG;
+        }
+
+        private int getAllowRes(boolean allow) {
+            return allow ? R.string.zen_mode_sound_summary_on : R.string.zen_mode_sound_summary_off;
+        }
+
+        @Override
+        public void onSaveInstanceState(Bundle outState) {
+            super.onSaveInstanceState(outState);
+            outState.putParcelable(KEY_POLICY, mPolicy);
+        }
+    }
+}
diff --git a/src/com/android/settings/notification/zen/ZenModeSliceBuilder.java b/src/com/android/settings/notification/zen/ZenModeSliceBuilder.java
new file mode 100644
index 0000000..fe1e204
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenModeSliceBuilder.java
@@ -0,0 +1,151 @@
+/*
+ * 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.notification.zen;
+
+import static android.app.slice.Slice.EXTRA_TOGGLE_STATE;
+
+import android.annotation.ColorInt;
+import android.app.NotificationManager;
+import android.app.PendingIntent;
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.net.Uri;
+import android.provider.Settings;
+
+import androidx.core.graphics.drawable.IconCompat;
+import androidx.slice.Slice;
+import androidx.slice.builders.ListBuilder;
+import androidx.slice.builders.ListBuilder.RowBuilder;
+import androidx.slice.builders.SliceAction;
+
+import com.android.settings.R;
+import com.android.settings.SubSettings;
+import com.android.settings.Utils;
+import com.android.settings.slices.CustomSliceRegistry;
+import com.android.settings.slices.SliceBroadcastReceiver;
+import com.android.settings.slices.SliceBuilderUtils;
+
+public class ZenModeSliceBuilder {
+
+    private static final String TAG = "ZenModeSliceBuilder";
+
+    private static final String ZEN_MODE_SLICE_KEY = ZenModeButtonPreferenceController.KEY;
+
+    /**
+     * Action notifying a change on the Zen Mode Slice.
+     */
+    public static final String ACTION_ZEN_MODE_SLICE_CHANGED =
+            "com.android.settings.notification.ZEN_MODE_CHANGED";
+
+    public static final IntentFilter INTENT_FILTER = new IntentFilter();
+
+    static {
+        INTENT_FILTER.addAction(NotificationManager.ACTION_NOTIFICATION_POLICY_CHANGED);
+        INTENT_FILTER.addAction(NotificationManager.ACTION_INTERRUPTION_FILTER_CHANGED);
+        INTENT_FILTER.addAction(NotificationManager.ACTION_INTERRUPTION_FILTER_CHANGED_INTERNAL);
+    }
+
+    private ZenModeSliceBuilder() {
+    }
+
+    /**
+     * Return a ZenMode Slice bound to {@link CustomSliceRegistry#ZEN_MODE_URI}.
+     * <p>
+     * Note that you should register a listener for {@link #INTENT_FILTER} to get changes for
+     * ZenMode.
+     */
+    public static Slice getSlice(Context context) {
+        final boolean isZenModeEnabled = isZenModeEnabled(context);
+        final CharSequence title = context.getText(R.string.zen_mode_settings_title);
+        final CharSequence subtitle = context.getText(R.string.zen_mode_slice_subtitle);
+        @ColorInt final int color = Utils.getColorAccentDefaultColor(context);
+        final PendingIntent toggleAction = getBroadcastIntent(context);
+        final PendingIntent primaryAction = getPrimaryAction(context);
+        final SliceAction primarySliceAction = SliceAction.createDeeplink(primaryAction,
+                (IconCompat) null /* icon */, ListBuilder.ICON_IMAGE, title);
+        final SliceAction toggleSliceAction = SliceAction.createToggle(toggleAction,
+                null /* actionTitle */,
+                isZenModeEnabled);
+
+        return new ListBuilder(context, CustomSliceRegistry.ZEN_MODE_SLICE_URI,
+                ListBuilder.INFINITY)
+                .setAccentColor(color)
+                .addRow(new RowBuilder()
+                        .setTitle(title)
+                        .setSubtitle(subtitle)
+                        .addEndItem(toggleSliceAction)
+                        .setPrimaryAction(primarySliceAction))
+                .build();
+    }
+
+    /**
+     * Update the current ZenMode status to the boolean value keyed by
+     * {@link android.app.slice.Slice#EXTRA_TOGGLE_STATE} on {@param intent}.
+     */
+    public static void handleUriChange(Context context, Intent intent) {
+        final boolean zenModeOn = intent.getBooleanExtra(EXTRA_TOGGLE_STATE, false);
+        final int zenMode;
+        if (zenModeOn) {
+            zenMode = Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS;
+        } else {
+            zenMode = Settings.Global.ZEN_MODE_OFF;
+        }
+        NotificationManager.from(context).setZenMode(zenMode, null /* conditionId */, TAG);
+        // Do not notifyChange on Uri. The service takes longer to update the current value than it
+        // does for the Slice to check the current value again. Let {@link SliceBroadcastRelay}
+        // handle it.
+    }
+
+    public static Intent getIntent(Context context) {
+        final Uri contentUri = new Uri.Builder().appendPath(ZEN_MODE_SLICE_KEY).build();
+        final String screenTitle = context.getText(R.string.zen_mode_settings_title).toString();
+        return SliceBuilderUtils.buildSearchResultPageIntent(context,
+                ZenModeSettings.class.getName(), ZEN_MODE_SLICE_KEY, screenTitle,
+                SettingsEnums.NOTIFICATION_ZEN_MODE)
+                .setClassName(context.getPackageName(), SubSettings.class.getName())
+                .setData(contentUri);
+    }
+
+    private static boolean isZenModeEnabled(Context context) {
+        final NotificationManager manager = context.getSystemService(NotificationManager.class);
+        final int zenMode = manager.getZenMode();
+
+        switch (zenMode) {
+            case Settings.Global.ZEN_MODE_ALARMS:
+            case Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS:
+            case Settings.Global.ZEN_MODE_NO_INTERRUPTIONS:
+                return true;
+            case Settings.Global.ZEN_MODE_OFF:
+            default:
+                return false;
+        }
+    }
+
+    private static PendingIntent getPrimaryAction(Context context) {
+        final Intent intent = getIntent(context);
+        return PendingIntent.getActivity(context, 0 /* requestCode */, intent, 0 /* flags */);
+    }
+
+    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);
+    }
+}
diff --git a/src/com/android/settings/notification/zen/ZenModeSoundVibrationSettings.java b/src/com/android/settings/notification/zen/ZenModeSoundVibrationSettings.java
new file mode 100644
index 0000000..3d4f3c2
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenModeSoundVibrationSettings.java
@@ -0,0 +1,86 @@
+/*
+ * 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.notification.zen;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+
+import com.android.settings.R;
+import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settingslib.search.Indexable;
+import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+import com.android.settingslib.search.SearchIndexable;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@SearchIndexable
+public class ZenModeSoundVibrationSettings extends ZenModeSettingsBase implements Indexable {
+
+    @Override
+    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
+        return buildPreferenceControllers(context, getSettingsLifecycle());
+    }
+
+    private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
+            Lifecycle lifecycle) {
+        List<AbstractPreferenceController> controllers = new ArrayList<>();
+        controllers.add(new ZenModeCallsPreferenceController(context, lifecycle,
+                "zen_mode_calls_settings"));
+        controllers.add(new ZenModeMessagesPreferenceController(context, lifecycle,
+                "zen_mode_messages_settings"));
+        controllers.add(new ZenModeAlarmsPreferenceController(context, lifecycle,
+                "zen_mode_alarms"));
+        controllers.add(new ZenModeMediaPreferenceController(context, lifecycle));
+        controllers.add(new ZenModeSystemPreferenceController(context, lifecycle));
+        controllers.add(new ZenModeRemindersPreferenceController(context, lifecycle));
+        controllers.add(new ZenModeEventsPreferenceController(context, lifecycle));
+        controllers.add(new ZenModeBehaviorFooterPreferenceController(context, lifecycle,
+                R.string.zen_sound_footer));
+        controllers.add(new ZenModeBypassingAppsPreferenceController(context, lifecycle));
+        return controllers;
+    }
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.zen_mode_sound_vibration_settings;
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.NOTIFICATION_ZEN_MODE_PRIORITY;
+    }
+
+    /**
+     * For Search.
+     */
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.zen_mode_sound_vibration_settings) {
+
+                @Override
+                public List<String> getNonIndexableKeys(Context context) {
+                    final List<String> keys = super.getNonIndexableKeys(context);
+                    return keys;
+                }
+
+            @Override
+            public List<AbstractPreferenceController> createPreferenceControllers(Context context) {
+                return buildPreferenceControllers(context, null);
+            }
+        };
+}
diff --git a/src/com/android/settings/notification/zen/ZenModeStarredContactsPreferenceController.java b/src/com/android/settings/notification/zen/ZenModeStarredContactsPreferenceController.java
new file mode 100644
index 0000000..64f2010
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenModeStarredContactsPreferenceController.java
@@ -0,0 +1,107 @@
+/*
+ * 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.notification.zen;
+
+import static android.app.NotificationManager.Policy.PRIORITY_CATEGORY_CALLS;
+import static android.app.NotificationManager.Policy.PRIORITY_CATEGORY_MESSAGES;
+import static android.app.NotificationManager.Policy.PRIORITY_SENDERS_STARRED;
+
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.PackageManager;
+import android.provider.Contacts;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+public class ZenModeStarredContactsPreferenceController extends
+        AbstractZenModePreferenceController implements Preference.OnPreferenceClickListener {
+    private Preference mPreference;
+    private final int mPriorityCategory;
+    private final PackageManager mPackageManager;
+
+    private Intent mStarredContactsIntent;
+    private Intent mFallbackIntent;
+
+    public ZenModeStarredContactsPreferenceController(Context context, Lifecycle lifecycle, int
+            priorityCategory, String key) {
+        super(context, key, lifecycle);
+        mPriorityCategory = priorityCategory;
+        mPackageManager = mContext.getPackageManager();
+
+        mStarredContactsIntent = new Intent(Contacts.Intents.UI.LIST_STARRED_ACTION);
+
+        mFallbackIntent =  new Intent(Intent.ACTION_MAIN);
+        mFallbackIntent.addCategory(Intent.CATEGORY_APP_CONTACTS);
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        mPreference = screen.findPreference(KEY);
+
+        if (mPreference != null) {
+            mPreference.setOnPreferenceClickListener(this);
+        }
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY;
+    }
+
+    @Override
+    public boolean isAvailable() {
+        if (mPriorityCategory == PRIORITY_CATEGORY_CALLS) {
+            return mBackend.isPriorityCategoryEnabled(PRIORITY_CATEGORY_CALLS)
+                    && mBackend.getPriorityCallSenders() == PRIORITY_SENDERS_STARRED
+                    && isIntentValid();
+        } else if (mPriorityCategory == PRIORITY_CATEGORY_MESSAGES) {
+            return mBackend.isPriorityCategoryEnabled(PRIORITY_CATEGORY_MESSAGES)
+                    && mBackend.getPriorityMessageSenders() == PRIORITY_SENDERS_STARRED
+                    && isIntentValid();
+        } else {
+            // invalid category
+            return false;
+        }
+    }
+
+    @Override
+    public CharSequence getSummary() {
+        return mBackend.getStarredContactsSummary(mContext);
+    }
+
+    @Override
+    public boolean onPreferenceClick(Preference preference) {
+        mMetricsFeatureProvider.logClickedPreference(preference,
+                 preference.getExtras().getInt(DashboardFragment.CATEGORY));
+        if (mStarredContactsIntent.resolveActivity(mPackageManager) != null) {
+            mContext.startActivity(mStarredContactsIntent);
+        } else {
+            mContext.startActivity(mFallbackIntent);
+        }
+        return true;
+    }
+
+    private boolean isIntentValid() {
+        return mStarredContactsIntent.resolveActivity(mPackageManager) != null
+                || mFallbackIntent.resolveActivity(mPackageManager) != null;
+    }
+}
diff --git a/src/com/android/settings/notification/zen/ZenModeSystemPreferenceController.java b/src/com/android/settings/notification/zen/ZenModeSystemPreferenceController.java
new file mode 100644
index 0000000..a170a78
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenModeSystemPreferenceController.java
@@ -0,0 +1,82 @@
+/*
+ * 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.notification.zen;
+
+import android.app.NotificationManager.Policy;
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.provider.Settings;
+import android.util.Log;
+
+import androidx.preference.Preference;
+import androidx.preference.SwitchPreference;
+
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+public class ZenModeSystemPreferenceController extends
+        AbstractZenModePreferenceController implements Preference.OnPreferenceChangeListener {
+
+    protected static final String KEY = "zen_mode_system";
+
+    public ZenModeSystemPreferenceController(Context context, Lifecycle lifecycle) {
+        super(context, KEY, lifecycle);
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY;
+    }
+
+    @Override
+    public boolean isAvailable() {
+        return true;
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        super.updateState(preference);
+
+        SwitchPreference pref = (SwitchPreference) preference;
+        switch (getZenMode()) {
+            case Settings.Global.ZEN_MODE_NO_INTERRUPTIONS:
+                pref.setEnabled(false);
+                pref.setChecked(false);
+                break;
+            case Settings.Global.ZEN_MODE_ALARMS:
+                pref.setEnabled(false);
+                pref.setChecked(false);
+                break;
+            default:
+                pref.setEnabled(true);
+                pref.setChecked(mBackend.isPriorityCategoryEnabled(
+                        Policy.PRIORITY_CATEGORY_SYSTEM));
+        }
+    }
+
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object newValue) {
+        final boolean allowSystem = (Boolean) newValue;
+        if (ZenModeSettingsBase.DEBUG) {
+            Log.d(TAG, "onPrefChange allowSystem=" + allowSystem);
+        }
+
+        mMetricsFeatureProvider.action(mContext, SettingsEnums.ACTION_ZEN_ALLOW_SYSTEM,
+                allowSystem);
+        mBackend.saveSoundPolicy(Policy.PRIORITY_CATEGORY_SYSTEM, allowSystem);
+        return true;
+    }
+}
diff --git a/src/com/android/settings/notification/zen/ZenModeVisEffectPreferenceController.java b/src/com/android/settings/notification/zen/ZenModeVisEffectPreferenceController.java
new file mode 100644
index 0000000..86d8128
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenModeVisEffectPreferenceController.java
@@ -0,0 +1,98 @@
+/*
+ * 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.notification.zen;
+
+import android.app.NotificationManager;
+import android.content.Context;
+
+import androidx.preference.CheckBoxPreference;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settings.widget.DisabledCheckBoxPreference;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+public class ZenModeVisEffectPreferenceController
+        extends AbstractZenModePreferenceController
+        implements Preference.OnPreferenceChangeListener, PreferenceControllerMixin {
+
+    protected final String mKey;
+    protected final int mEffect;
+    protected final int mMetricsCategory;
+    // if any of these effects are suppressed, this effect must be too
+    protected final int[] mParentSuppressedEffects;
+    private PreferenceScreen mScreen;
+
+    public ZenModeVisEffectPreferenceController(Context context, Lifecycle lifecycle, String key,
+            int visualEffect, int metricsCategory, int[] parentSuppressedEffects) {
+        super(context, key, lifecycle);
+        mKey = key;
+        mEffect = visualEffect;
+        mMetricsCategory = metricsCategory;
+        mParentSuppressedEffects = parentSuppressedEffects;
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return mKey;
+    }
+
+    @Override
+    public boolean isAvailable() {
+        if (mEffect == NotificationManager.Policy.SUPPRESSED_EFFECT_LIGHTS) {
+            return mContext.getResources()
+                    .getBoolean(com.android.internal.R.bool.config_intrusiveNotificationLed);
+        }
+        return true;
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        mScreen = screen;
+        super.displayPreference(screen);
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        super.updateState(preference);
+        boolean suppressed = mBackend.isVisualEffectSuppressed(mEffect);
+        boolean parentSuppressed = false;
+        if (mParentSuppressedEffects != null) {
+            for (int parentEffect : mParentSuppressedEffects) {
+                parentSuppressed |= mBackend.isVisualEffectSuppressed(parentEffect);
+            }
+        }
+        if (parentSuppressed) {
+            ((CheckBoxPreference) preference).setChecked(parentSuppressed);
+            onPreferenceChange(preference, parentSuppressed);
+            ((DisabledCheckBoxPreference) preference).enableCheckbox(false);
+        } else {
+            ((DisabledCheckBoxPreference) preference).enableCheckbox(true);
+            ((CheckBoxPreference) preference).setChecked(suppressed);
+        }
+    }
+
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object newValue) {
+        final boolean suppressEffect = (Boolean) newValue;
+
+        mMetricsFeatureProvider.action(mContext, mMetricsCategory, suppressEffect);
+        mBackend.saveVisualEffectsPolicy(mEffect, suppressEffect);
+        return true;
+    }
+}
diff --git a/src/com/android/settings/notification/zen/ZenModeVisEffectsAllPreferenceController.java b/src/com/android/settings/notification/zen/ZenModeVisEffectsAllPreferenceController.java
new file mode 100644
index 0000000..f729be8
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenModeVisEffectsAllPreferenceController.java
@@ -0,0 +1,76 @@
+/*
+ * 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.notification.zen;
+
+import android.app.NotificationManager.Policy;
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+public class ZenModeVisEffectsAllPreferenceController
+        extends AbstractZenModePreferenceController
+        implements ZenCustomRadioButtonPreference.OnRadioButtonClickListener {
+
+    private ZenCustomRadioButtonPreference mPreference;
+
+    protected static final int EFFECTS = Policy.SUPPRESSED_EFFECT_SCREEN_OFF
+            | Policy.SUPPRESSED_EFFECT_SCREEN_ON
+            | Policy.SUPPRESSED_EFFECT_FULL_SCREEN_INTENT
+            | Policy.SUPPRESSED_EFFECT_LIGHTS
+            | Policy.SUPPRESSED_EFFECT_PEEK
+            | Policy.SUPPRESSED_EFFECT_STATUS_BAR
+            | Policy.SUPPRESSED_EFFECT_BADGE
+            | Policy.SUPPRESSED_EFFECT_AMBIENT
+            | Policy.SUPPRESSED_EFFECT_NOTIFICATION_LIST;
+
+    public ZenModeVisEffectsAllPreferenceController(Context context, Lifecycle lifecycle,
+            String key) {
+        super(context, key, lifecycle);
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        mPreference = screen.findPreference(getPreferenceKey());
+        mPreference.setOnRadioButtonClickListener(this);
+    }
+
+    @Override
+    public boolean isAvailable() {
+        return true;
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        super.updateState(preference);
+
+        boolean everythingBlocked = Policy.areAllVisualEffectsSuppressed(
+                mBackend.mPolicy.suppressedVisualEffects);
+        mPreference.setChecked(everythingBlocked);
+    }
+
+    @Override
+    public void onRadioButtonClick(ZenCustomRadioButtonPreference p) {
+        mMetricsFeatureProvider.action(mContext,
+                SettingsEnums.ACTION_ZEN_SOUND_AND_VIS_EFFECTS, true);
+        mBackend.saveVisualEffectsPolicy(EFFECTS, true);
+    }
+}
diff --git a/src/com/android/settings/notification/zen/ZenModeVisEffectsCustomPreferenceController.java b/src/com/android/settings/notification/zen/ZenModeVisEffectsCustomPreferenceController.java
new file mode 100644
index 0000000..a772eb5
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenModeVisEffectsCustomPreferenceController.java
@@ -0,0 +1,95 @@
+/*
+ * 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.notification.zen;
+
+import android.app.NotificationManager;
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settings.core.SubSettingLauncher;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+public class ZenModeVisEffectsCustomPreferenceController
+        extends AbstractZenModePreferenceController {
+
+    private ZenCustomRadioButtonPreference mPreference;
+
+    protected static final int INTERRUPTIVE_EFFECTS =
+            NotificationManager.Policy.SUPPRESSED_EFFECT_AMBIENT
+            | NotificationManager.Policy.SUPPRESSED_EFFECT_PEEK
+            | NotificationManager.Policy.SUPPRESSED_EFFECT_LIGHTS
+            | NotificationManager.Policy.SUPPRESSED_EFFECT_FULL_SCREEN_INTENT;
+
+    public ZenModeVisEffectsCustomPreferenceController(Context context, Lifecycle lifecycle,
+            String key) {
+        super(context, key, lifecycle);
+    }
+
+    @Override
+    public boolean isAvailable() {
+        return true;
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        mPreference = screen.findPreference(getPreferenceKey());
+
+        mPreference.setOnGearClickListener(p -> {
+            launchCustomSettings();
+
+        });
+
+        mPreference.setOnRadioButtonClickListener(p -> {
+            launchCustomSettings();
+        });
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        super.updateState(preference);
+
+        mPreference.setChecked(areCustomOptionsSelected());
+    }
+
+    protected boolean areCustomOptionsSelected() {
+        boolean allEffectsSuppressed =
+                NotificationManager.Policy.areAllVisualEffectsSuppressed(
+                        mBackend.mPolicy.suppressedVisualEffects);
+        boolean noEffectsSuppressed = mBackend.mPolicy.suppressedVisualEffects == 0;
+
+        return !(allEffectsSuppressed || noEffectsSuppressed);
+    }
+
+    protected void select() {
+        mMetricsFeatureProvider.action(mContext,
+                SettingsEnums.ACTION_ZEN_CUSTOM, true);
+    }
+
+    private void launchCustomSettings() {
+        select();
+        new SubSettingLauncher(mContext)
+                .setDestination(ZenModeBlockedEffectsSettings.class.getName())
+                .setTitleRes(R.string.zen_mode_what_to_block_title)
+                .setSourceMetricsCategory(SettingsEnums.SETTINGS_ZEN_NOTIFICATIONS)
+                .launch();
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/settings/notification/zen/ZenModeVisEffectsNonePreferenceController.java b/src/com/android/settings/notification/zen/ZenModeVisEffectsNonePreferenceController.java
new file mode 100644
index 0000000..84037b9
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenModeVisEffectsNonePreferenceController.java
@@ -0,0 +1,75 @@
+/*
+ * 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.notification.zen;
+
+import android.app.NotificationManager.Policy;
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+public class ZenModeVisEffectsNonePreferenceController
+        extends AbstractZenModePreferenceController
+        implements ZenCustomRadioButtonPreference.OnRadioButtonClickListener {
+
+    private ZenCustomRadioButtonPreference mPreference;
+
+    protected static final int EFFECTS = Policy.SUPPRESSED_EFFECT_SCREEN_OFF
+            | Policy.SUPPRESSED_EFFECT_SCREEN_ON
+            | Policy.SUPPRESSED_EFFECT_FULL_SCREEN_INTENT
+            | Policy.SUPPRESSED_EFFECT_LIGHTS
+            | Policy.SUPPRESSED_EFFECT_PEEK
+            | Policy.SUPPRESSED_EFFECT_STATUS_BAR
+            | Policy.SUPPRESSED_EFFECT_BADGE
+            | Policy.SUPPRESSED_EFFECT_AMBIENT
+            | Policy.SUPPRESSED_EFFECT_NOTIFICATION_LIST;
+
+    public ZenModeVisEffectsNonePreferenceController(Context context, Lifecycle lifecycle,
+            String key) {
+        super(context, key, lifecycle);
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        mPreference = screen.findPreference(getPreferenceKey());
+        mPreference.setOnRadioButtonClickListener(this);
+    }
+
+    @Override
+    public boolean isAvailable() {
+        return true;
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        super.updateState(preference);
+
+        boolean nothingBlocked = mBackend.mPolicy.suppressedVisualEffects == 0;
+        mPreference.setChecked(nothingBlocked);
+    }
+
+    @Override
+    public void onRadioButtonClick(ZenCustomRadioButtonPreference preference) {
+        mMetricsFeatureProvider.action(mContext,
+                SettingsEnums.ACTION_ZEN_SOUND_ONLY, true);
+        mBackend.saveVisualEffectsPolicy(EFFECTS, false);
+    }
+}
diff --git a/src/com/android/settings/notification/zen/ZenModeVoiceActivity.java b/src/com/android/settings/notification/zen/ZenModeVoiceActivity.java
new file mode 100644
index 0000000..e107fdc
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenModeVoiceActivity.java
@@ -0,0 +1,125 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.notification.zen;
+
+import static android.provider.Settings.EXTRA_DO_NOT_DISTURB_MODE_ENABLED;
+import static android.provider.Settings.EXTRA_DO_NOT_DISTURB_MODE_MINUTES;
+
+import android.app.NotificationManager;
+import android.content.Context;
+import android.content.Intent;
+import android.content.res.Resources;
+import android.media.AudioManager;
+import android.os.UserHandle;
+import android.provider.Settings.Global;
+import android.service.notification.Condition;
+import android.service.notification.ZenModeConfig;
+import android.text.format.DateFormat;
+import android.util.Log;
+
+import com.android.settings.R;
+import com.android.settings.utils.VoiceSettingsActivity;
+
+import java.util.Locale;
+
+/**
+ * Activity for modifying the Zen mode (Do not disturb) by voice
+ * using the Voice Interaction API.
+ */
+public class ZenModeVoiceActivity extends VoiceSettingsActivity {
+    private static final String TAG = "ZenModeVoiceActivity";
+    private static final int MINUTES_MS = 60 * 1000;
+
+    @Override
+    protected boolean onVoiceSettingInteraction(Intent intent) {
+        if (intent.hasExtra(EXTRA_DO_NOT_DISTURB_MODE_ENABLED)) {
+            int minutes = intent.getIntExtra(EXTRA_DO_NOT_DISTURB_MODE_MINUTES, -1);
+            Condition condition = null;
+            int mode = Global.ZEN_MODE_OFF;
+
+            if (intent.getBooleanExtra(EXTRA_DO_NOT_DISTURB_MODE_ENABLED, false)) {
+                if (minutes > 0) {
+                    condition = ZenModeConfig.toTimeCondition(this, minutes, UserHandle.myUserId());
+                }
+                mode = Global.ZEN_MODE_ALARMS;
+            }
+            setZenModeConfig(mode, condition);
+
+            AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
+            if (audioManager != null) {
+                // Show the current Zen Mode setting.
+                audioManager.adjustStreamVolume(AudioManager.STREAM_NOTIFICATION,
+                         AudioManager.ADJUST_SAME,
+                         AudioManager.FLAG_SHOW_UI);
+            }
+            notifySuccess(getChangeSummary(mode, minutes));
+        } else {
+            Log.v(TAG, "Missing extra android.provider.Settings.EXTRA_DO_NOT_DISTURB_MODE_ENABLED");
+            finish();
+        }
+        return false;
+    }
+
+    private void setZenModeConfig(int mode, Condition condition) {
+        if (condition != null) {
+            NotificationManager.from(this).setZenMode(mode, condition.id, TAG);
+        } else {
+            NotificationManager.from(this).setZenMode(mode, null, TAG);
+        }
+     }
+
+    /**
+     * Produce a summary of the Zen mode change to be read aloud as TTS.
+     */
+    private CharSequence getChangeSummary(int mode, int minutes) {
+        int indefinite = -1;
+        int byMinute = -1;
+        int byHour = -1;
+        int byTime = -1;
+
+        switch (mode) {
+            case Global.ZEN_MODE_ALARMS:
+                indefinite = R.string.zen_mode_summary_alarms_only_indefinite;
+                byMinute = R.plurals.zen_mode_summary_alarms_only_by_minute;
+                byHour = R.plurals.zen_mode_summary_alarms_only_by_hour;
+                byTime = R.string.zen_mode_summary_alarms_only_by_time;
+                break;
+            case Global.ZEN_MODE_OFF:
+                indefinite = R.string.zen_mode_summary_always;
+                break;
+        };
+
+        if (minutes < 0 || mode == Global.ZEN_MODE_OFF) {
+            return getString(indefinite);
+        }
+
+        long time = System.currentTimeMillis() + minutes * MINUTES_MS;
+        String skeleton = DateFormat.is24HourFormat(this, UserHandle.myUserId()) ? "Hm" : "hma";
+        String pattern = DateFormat.getBestDateTimePattern(Locale.getDefault(), skeleton);
+        CharSequence formattedTime = DateFormat.format(pattern, time);
+        Resources res = getResources();
+
+        if (minutes < 60) {
+            return res.getQuantityString(byMinute, minutes, minutes, formattedTime);
+        } else if (minutes % 60 != 0) {
+            return res.getString(byTime, formattedTime);
+        } else {
+            int hours = minutes / 60;
+            return res.getQuantityString(byHour, hours, hours, formattedTime);
+        }
+    }
+}
diff --git a/src/com/android/settings/notification/zen/ZenOnboardingActivity.java b/src/com/android/settings/notification/zen/ZenOnboardingActivity.java
new file mode 100644
index 0000000..20cd143
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenOnboardingActivity.java
@@ -0,0 +1,202 @@
+/*
+ * 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.notification.zen;
+
+import android.app.Activity;
+import android.app.NotificationManager;
+import android.app.NotificationManager.Policy;
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.content.Intent;
+import android.content.SharedPreferences;
+import android.os.Bundle;
+import android.provider.Settings;
+import android.text.format.DateUtils;
+import android.util.Log;
+import android.view.View;
+import android.widget.RadioButton;
+
+import androidx.annotation.VisibleForTesting;
+
+import com.android.internal.logging.MetricsLogger;
+import com.android.settings.R;
+import com.android.settings.dashboard.suggestions.SuggestionFeatureProvider;
+import com.android.settings.overlay.FeatureFactory;
+
+public class ZenOnboardingActivity extends Activity {
+
+    private static final String TAG = "ZenOnboardingActivity";
+
+    @VisibleForTesting
+    static final String PREF_KEY_SUGGESTION_FIRST_DISPLAY_TIME =
+            "pref_zen_suggestion_first_display_time_ms";
+    @VisibleForTesting
+    static final long ALWAYS_SHOW_THRESHOLD = DateUtils.DAY_IN_MILLIS * 14;
+
+    View mNewSetting;
+    View mKeepCurrentSetting;
+    RadioButton mNewSettingButton;
+    RadioButton mKeepCurrentSettingButton;
+
+    private NotificationManager mNm;
+    private MetricsLogger mMetrics;
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setNotificationManager(getSystemService(NotificationManager.class));
+        setMetricsLogger(new MetricsLogger());
+
+        Context context = getApplicationContext();
+        Settings.Secure.putInt(context.getContentResolver(),
+                Settings.Secure.ZEN_SETTINGS_SUGGESTION_VIEWED, 1);
+
+        setupUI();
+    }
+
+    @VisibleForTesting
+    protected void setupUI() {
+        setContentView(R.layout.zen_onboarding);
+
+        mNewSetting = findViewById(R.id.zen_onboarding_new_setting);
+        mKeepCurrentSetting = findViewById(R.id.zen_onboarding_current_setting);
+        mNewSettingButton = findViewById(R.id.zen_onboarding_new_setting_button);
+        mKeepCurrentSettingButton = findViewById(R.id.zen_onboarding_current_setting_button);
+
+        View.OnClickListener newSettingClickListener = new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                mKeepCurrentSettingButton.setChecked(false);
+                mNewSettingButton.setChecked(true);
+            }
+        };
+
+        View.OnClickListener currentSettingClickListener = new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                mKeepCurrentSettingButton.setChecked(true);
+                mNewSettingButton.setChecked(false);
+            }
+        };
+
+        mNewSetting.setOnClickListener(newSettingClickListener);
+        mNewSettingButton.setOnClickListener(newSettingClickListener);
+
+        mKeepCurrentSetting.setOnClickListener(currentSettingClickListener);
+        mKeepCurrentSettingButton.setOnClickListener(currentSettingClickListener);
+
+        mKeepCurrentSettingButton.setChecked(true);
+        mMetrics.visible(SettingsEnums.SETTINGS_ZEN_ONBOARDING);
+    }
+
+    @VisibleForTesting
+    protected void setNotificationManager(NotificationManager nm) {
+        mNm = nm;
+    }
+
+    @VisibleForTesting
+    protected void setMetricsLogger(MetricsLogger ml) {
+        mMetrics = ml;
+    }
+
+    public void launchSettings(View button) {
+        mMetrics.action(SettingsEnums.ACTION_ZEN_ONBOARDING_SETTINGS);
+        Intent settings = new Intent(Settings.ACTION_ZEN_MODE_SETTINGS);
+        settings.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
+        startActivity(settings);
+    }
+
+    public void save(View button) {
+        NotificationManager.Policy policy = mNm.getNotificationPolicy();
+
+        if (mNewSettingButton.isChecked()) {
+            NotificationManager.Policy newPolicy = new NotificationManager.Policy(
+                    Policy.PRIORITY_CATEGORY_REPEAT_CALLERS | policy.priorityCategories,
+                    Policy.PRIORITY_SENDERS_STARRED,
+                    policy.priorityMessageSenders,
+                    NotificationManager.Policy.getAllSuppressedVisualEffects());
+            mNm.setNotificationPolicy(newPolicy);
+            mMetrics.action(SettingsEnums.ACTION_ZEN_ONBOARDING_OK);
+        } else {
+            mMetrics.action(SettingsEnums.ACTION_ZEN_ONBOARDING_KEEP_CURRENT_SETTINGS);
+        }
+
+        Settings.Secure.putInt(getApplicationContext().getContentResolver(),
+                Settings.Secure.ZEN_SETTINGS_UPDATED, 1);
+
+        finishAndRemoveTask();
+    }
+
+    public static boolean isSuggestionComplete(Context context) {
+        if (wasZenUpdated(context)) {
+            return true;
+        }
+
+        if (showSuggestion(context) || withinShowTimeThreshold(context)) {
+            return false;
+        }
+
+        return true;
+    }
+
+    private static boolean wasZenUpdated(Context context) {
+        // ZEN_SETTINGS_UPDATED is true for:
+        // - fresh P+ device
+        // - if zen visual effects values were changed by the user in Settings
+        NotificationManager nm = context.getSystemService(NotificationManager.class);
+        if (NotificationManager.Policy.areAllVisualEffectsSuppressed(
+                nm.getNotificationPolicy().suppressedVisualEffects)) {
+            Settings.Secure.putInt(context.getContentResolver(),
+                    Settings.Secure.ZEN_SETTINGS_UPDATED, 1);
+        }
+        return Settings.Secure.getInt(context.getContentResolver(),
+                Settings.Secure.ZEN_SETTINGS_UPDATED, 0) != 0;
+    }
+
+    private static boolean showSuggestion(Context context) {
+        // SHOW_ZEN_SETTINGS_SUGGESTION is by default true, but false when:
+        // - user manually turns on dnd
+
+        // SHOW_ZEN_SETTINGS_SUGGESTION is also true when:
+        // - automatic rule has started DND and user has not seen the first use dialog
+        return Settings.Secure.getInt(context.getContentResolver(),
+                Settings.Secure.SHOW_ZEN_SETTINGS_SUGGESTION, 0) != 0;
+
+    }
+
+    private static boolean withinShowTimeThreshold(Context context) {
+        final SuggestionFeatureProvider featureProvider = FeatureFactory.getFactory(context)
+                .getSuggestionFeatureProvider(context);
+        final SharedPreferences prefs = featureProvider.getSharedPrefs(context);
+        final long currentTimeMs = System.currentTimeMillis();
+        final long firstDisplayTimeMs;
+
+        if (!prefs.contains(PREF_KEY_SUGGESTION_FIRST_DISPLAY_TIME)) {
+            firstDisplayTimeMs = currentTimeMs;
+            prefs.edit().putLong(PREF_KEY_SUGGESTION_FIRST_DISPLAY_TIME, currentTimeMs).commit();
+        } else {
+            firstDisplayTimeMs = prefs.getLong(PREF_KEY_SUGGESTION_FIRST_DISPLAY_TIME, -1);
+        }
+
+        final long showTimeMs = firstDisplayTimeMs + ALWAYS_SHOW_THRESHOLD;
+        final boolean stillShow = currentTimeMs < showTimeMs;
+
+        Log.d(TAG, "still show zen suggestion based on time: " + stillShow + " showTimeMs="
+            + showTimeMs);
+        return stillShow;
+    }
+}
diff --git a/src/com/android/settings/notification/zen/ZenRuleButtonsPreferenceController.java b/src/com/android/settings/notification/zen/ZenRuleButtonsPreferenceController.java
new file mode 100644
index 0000000..1b57fed
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenRuleButtonsPreferenceController.java
@@ -0,0 +1,124 @@
+/*
+ * 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.notification.zen;
+
+import android.app.AutomaticZenRule;
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.content.Intent;
+import android.os.Bundle;
+import android.text.TextUtils;
+import android.view.View;
+
+import androidx.fragment.app.Fragment;
+import androidx.preference.PreferenceFragmentCompat;
+import androidx.preference.PreferenceScreen;
+
+import com.android.internal.logging.nano.MetricsProto;
+import com.android.settings.R;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settings.core.SubSettingLauncher;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+import com.android.settingslib.widget.ActionButtonsPreference;
+
+public class ZenRuleButtonsPreferenceController extends AbstractZenModePreferenceController
+    implements PreferenceControllerMixin {
+    public static final String KEY = "zen_action_buttons";
+
+    private AutomaticZenRule mRule;
+    private String mId;
+    private PreferenceFragmentCompat mFragment;
+    private ActionButtonsPreference mButtonsPref;
+
+
+    public ZenRuleButtonsPreferenceController(Context context, PreferenceFragmentCompat fragment,
+            Lifecycle lc) {
+        super(context, KEY, lc);
+        mFragment = fragment;
+    }
+
+
+    @Override
+    public boolean isAvailable() {
+        return mRule != null;
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        if (isAvailable()) {
+            mButtonsPref = ((ActionButtonsPreference) screen.findPreference(KEY))
+                    .setButton1Text(R.string.zen_mode_rule_name_edit)
+                    .setButton1Icon(com.android.internal.R.drawable.ic_mode_edit)
+                    .setButton1OnClickListener(new EditRuleNameClickListener())
+                    .setButton2Text(R.string.zen_mode_delete_rule_button)
+                    .setButton2Icon(R.drawable.ic_settings_delete)
+                    .setButton2OnClickListener(new DeleteRuleClickListener());
+        }
+    }
+
+    public class EditRuleNameClickListener implements View.OnClickListener {
+        public EditRuleNameClickListener() {}
+
+        @Override
+        public void onClick(View v) {
+            ZenRuleNameDialog.show(mFragment, mRule.getName(), null,
+                    new ZenRuleNameDialog.PositiveClickListener() {
+                        @Override
+                        public void onOk(String ruleName, Fragment parent) {
+                            if (TextUtils.equals(ruleName, mRule.getName())) {
+                                return;
+                            }
+                            mMetricsFeatureProvider.action(mContext,
+                                    SettingsEnums.ACTION_ZEN_MODE_RULE_NAME_CHANGE_OK);
+                            mRule.setName(ruleName);
+                            mRule.setModified(true);
+                            mBackend.updateZenRule(mId, mRule);
+                        }
+                    });
+        }
+    }
+
+    public class DeleteRuleClickListener implements View.OnClickListener {
+        public DeleteRuleClickListener() {}
+
+        @Override
+        public void onClick(View v) {
+            ZenDeleteRuleDialog.show(mFragment, mRule.getName(), mId,
+                    new ZenDeleteRuleDialog.PositiveClickListener() {
+                        @Override
+                        public void onOk(String id) {
+                            Bundle bundle = new Bundle();
+                            bundle.putString(ZenModeAutomationSettings.DELETE, id);
+                            mMetricsFeatureProvider.action(mContext,
+                                    SettingsEnums.ACTION_ZEN_DELETE_RULE_OK);
+                            new SubSettingLauncher(mContext)
+                                    .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
+                                    .setDestination(ZenModeAutomationSettings.class.getName())
+                                    .setSourceMetricsCategory(MetricsProto.MetricsEvent
+                                            .NOTIFICATION_ZEN_MODE_AUTOMATION)
+                                    .setArguments(bundle)
+                                    .launch();
+                        }
+            });
+        }
+    }
+
+    protected void onResume(AutomaticZenRule rule, String id) {
+        mRule = rule;
+        mId = id;
+    }
+}
diff --git a/src/com/android/settings/notification/zen/ZenRuleCallsPreferenceController.java b/src/com/android/settings/notification/zen/ZenRuleCallsPreferenceController.java
new file mode 100644
index 0000000..ace985f
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenRuleCallsPreferenceController.java
@@ -0,0 +1,87 @@
+/*
+ * 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.notification.zen;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.service.notification.ZenPolicy;
+import android.text.TextUtils;
+import android.util.Pair;
+
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.ListPreference;
+import androidx.preference.Preference;
+
+import com.android.internal.logging.nano.MetricsProto;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+public class ZenRuleCallsPreferenceController extends AbstractZenCustomRulePreferenceController
+        implements Preference.OnPreferenceChangeListener {
+
+    private final String[] mListValues;
+
+    public ZenRuleCallsPreferenceController(Context context, String key, Lifecycle lifecycle) {
+        super(context, key, lifecycle);
+        mListValues = context.getResources().getStringArray(
+                com.android.settings.R.array.zen_mode_contacts_values);
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        super.updateState(preference);
+        updateFromContactsValue(preference);
+    }
+
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object selectedContactsFrom) {
+        int allowCalls = ZenModeBackend.getZenPolicySettingFromPrefKey(
+                selectedContactsFrom.toString());
+        mMetricsFeatureProvider.action(mContext, SettingsEnums.ACTION_ZEN_ALLOW_CALLS,
+                Pair.create(MetricsProto.MetricsEvent.FIELD_ZEN_TOGGLE_EXCEPTION, allowCalls),
+                Pair.create(MetricsProto.MetricsEvent.FIELD_ZEN_RULE_ID, mId));
+        mRule.setZenPolicy(new ZenPolicy.Builder(mRule.getZenPolicy())
+                .allowCalls(allowCalls)
+                .build());
+        mBackend.updateZenRule(mId, mRule);
+        updateFromContactsValue(preference);
+        return true;
+    }
+
+    private void updateFromContactsValue(Preference preference) {
+        if (mRule == null || mRule.getZenPolicy() == null) {
+            return;
+        }
+        ListPreference listPreference = (ListPreference) preference;
+        listPreference.setSummary(mBackend.getContactsCallsSummary(mRule.getZenPolicy()));
+        final String currentVal = ZenModeBackend.getKeyFromZenPolicySetting(
+                mRule.getZenPolicy().getPriorityCallSenders());
+        listPreference.setValue(mListValues[getIndexOfSendersValue(currentVal)]);
+
+    }
+
+    @VisibleForTesting
+    protected int getIndexOfSendersValue(String currentVal) {
+        int index = 3; // defaults to "none" based on R.array.zen_mode_contacts_values
+        for (int i = 0; i < mListValues.length; i++) {
+            if (TextUtils.equals(currentVal, mListValues[i])) {
+                return i;
+            }
+        }
+
+        return index;
+    }
+}
diff --git a/src/com/android/settings/notification/zen/ZenRuleCustomPolicyPreferenceController.java b/src/com/android/settings/notification/zen/ZenRuleCustomPolicyPreferenceController.java
new file mode 100644
index 0000000..56b98ff
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenRuleCustomPolicyPreferenceController.java
@@ -0,0 +1,80 @@
+/*
+ * 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.notification.zen;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.service.notification.ZenPolicy;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.core.SubSettingLauncher;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+public class ZenRuleCustomPolicyPreferenceController extends
+        AbstractZenCustomRulePreferenceController {
+
+    private ZenCustomRadioButtonPreference mPreference;
+
+    public ZenRuleCustomPolicyPreferenceController(Context context, Lifecycle lifecycle,
+            String key) {
+        super(context, key, lifecycle);
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        mPreference = screen.findPreference(getPreferenceKey());
+
+        mPreference.setOnGearClickListener(p -> {
+            setCustomPolicy();
+            launchCustomSettings();
+
+        });
+
+        mPreference.setOnRadioButtonClickListener(p -> {
+            setCustomPolicy();
+            launchCustomSettings();
+        });
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        super.updateState(preference);
+        if (mId == null || mRule == null) {
+            return;
+        }
+
+        mPreference.setChecked(mRule.getZenPolicy() != null);
+    }
+
+    private void setCustomPolicy() {
+        if (mRule.getZenPolicy() == null) {
+            mRule.setZenPolicy(mBackend.setDefaultZenPolicy(new ZenPolicy()));
+            mBackend.updateZenRule(mId, mRule);
+        }
+    }
+
+    private void launchCustomSettings() {
+        new SubSettingLauncher(mContext)
+                .setDestination(ZenCustomRuleConfigSettings.class.getName())
+                .setArguments(createBundle())
+                .setSourceMetricsCategory(SettingsEnums.ZEN_CUSTOM_RULE_SOUND_SETTINGS)
+                .launch();
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/settings/notification/zen/ZenRuleCustomSwitchPreferenceController.java b/src/com/android/settings/notification/zen/ZenRuleCustomSwitchPreferenceController.java
new file mode 100644
index 0000000..e54a614
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenRuleCustomSwitchPreferenceController.java
@@ -0,0 +1,70 @@
+/*
+ * 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.zen;
+
+import android.content.Context;
+import android.service.notification.ZenPolicy;
+import android.util.Log;
+import android.util.Pair;
+
+import androidx.preference.Preference;
+import androidx.preference.SwitchPreference;
+
+import com.android.internal.logging.nano.MetricsProto;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+public class ZenRuleCustomSwitchPreferenceController extends
+        AbstractZenCustomRulePreferenceController implements Preference.OnPreferenceChangeListener {
+
+    private @ZenPolicy.PriorityCategory int mCategory;
+    private int mMetricsCategory;
+
+    public ZenRuleCustomSwitchPreferenceController(Context context, Lifecycle lifecycle,
+            String key, @ZenPolicy.PriorityCategory int category, int metricsCategory) {
+        super(context, key, lifecycle);
+        mCategory = category;
+        mMetricsCategory = metricsCategory;
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        super.updateState(preference);
+        if (mRule == null || mRule.getZenPolicy() == null) {
+            return;
+        }
+
+        SwitchPreference pref = (SwitchPreference) preference;
+        pref.setChecked(mRule.getZenPolicy().isCategoryAllowed(mCategory, false));
+    }
+
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object newValue) {
+        final boolean allow = (Boolean) newValue;
+        if (ZenModeSettingsBase.DEBUG) {
+            Log.d(TAG, KEY + " onPrefChange mRule=" + mRule + " mCategory=" + mCategory
+                    + " allow=" + allow);
+        }
+        mMetricsFeatureProvider.action(mContext, mMetricsCategory,
+                Pair.create(MetricsProto.MetricsEvent.FIELD_ZEN_TOGGLE_EXCEPTION, allow ? 1 : 0),
+                Pair.create(MetricsProto.MetricsEvent.FIELD_ZEN_RULE_ID, mId));
+        mRule.setZenPolicy(new ZenPolicy.Builder(mRule.getZenPolicy())
+                .allowCategory(mCategory, allow)
+                .build());
+        mBackend.updateZenRule(mId, mRule);
+        return true;
+    }
+}
diff --git a/src/com/android/settings/notification/zen/ZenRuleDefaultPolicyPreferenceController.java b/src/com/android/settings/notification/zen/ZenRuleDefaultPolicyPreferenceController.java
new file mode 100644
index 0000000..268156b
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenRuleDefaultPolicyPreferenceController.java
@@ -0,0 +1,61 @@
+/*
+ * 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.notification.zen;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.util.Pair;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.internal.logging.nano.MetricsProto;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+public class ZenRuleDefaultPolicyPreferenceController extends
+        AbstractZenCustomRulePreferenceController implements PreferenceControllerMixin {
+
+    private ZenCustomRadioButtonPreference mPreference;
+
+    public ZenRuleDefaultPolicyPreferenceController(Context context, Lifecycle lifecycle,
+            String key) {
+        super(context, key, lifecycle);
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        mPreference = screen.findPreference(getPreferenceKey());
+
+        mPreference.setOnRadioButtonClickListener(p -> {
+            mRule.setZenPolicy(null);
+            mBackend.updateZenRule(mId, mRule);
+        });
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        super.updateState(preference);
+        if (mId == null || mRule == null) {
+            return;
+        }
+        mMetricsFeatureProvider.action(mContext, SettingsEnums.ZEN_CUSTOM_RULE_DEFAULT_SETTINGS,
+                Pair.create(MetricsProto.MetricsEvent.FIELD_ZEN_RULE_ID, mId));
+        mPreference.setChecked(mRule.getZenPolicy() == null);
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/settings/notification/zen/ZenRuleInfo.java b/src/com/android/settings/notification/zen/ZenRuleInfo.java
new file mode 100644
index 0000000..a4c4de0
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenRuleInfo.java
@@ -0,0 +1,44 @@
+package com.android.settings.notification.zen;
+
+import android.content.ComponentName;
+import android.net.Uri;
+
+public class ZenRuleInfo {
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) return true;
+        if (o == null || getClass() != o.getClass()) return false;
+
+        ZenRuleInfo that = (ZenRuleInfo) o;
+
+        if (isSystem != that.isSystem) return false;
+        if (ruleInstanceLimit != that.ruleInstanceLimit) return false;
+        if (packageName != null ? !packageName.equals(that.packageName) : that.packageName != null)
+            return false;
+        if (title != null ? !title.equals(that.title) : that.title != null) return false;
+        if (settingsAction != null ? !settingsAction.equals(
+                that.settingsAction) : that.settingsAction != null) return false;
+        if (configurationActivity != null ? !configurationActivity.equals(
+                that.configurationActivity) : that.configurationActivity != null) return false;
+        if (defaultConditionId != null ? !defaultConditionId.equals(
+                that.defaultConditionId) : that.defaultConditionId != null) return false;
+        if (serviceComponent != null ? !serviceComponent.equals(
+                that.serviceComponent) : that.serviceComponent != null) return false;
+        if (id != null ? !id.equals(that.id) : that.id != null)
+            return false;
+        return packageLabel != null ? packageLabel.equals(
+                that.packageLabel) : that.packageLabel == null;
+
+    }
+
+    public String packageName;
+    public String title;
+    public String settingsAction;
+    public ComponentName configurationActivity;
+    public Uri defaultConditionId;
+    public ComponentName serviceComponent;
+    public boolean isSystem;
+    public CharSequence packageLabel;
+    public int ruleInstanceLimit = -1;
+    public String id;
+}
diff --git a/src/com/android/settings/notification/zen/ZenRuleMessagesPreferenceController.java b/src/com/android/settings/notification/zen/ZenRuleMessagesPreferenceController.java
new file mode 100644
index 0000000..4382094
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenRuleMessagesPreferenceController.java
@@ -0,0 +1,88 @@
+/*
+ * 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.notification.zen;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.service.notification.ZenPolicy;
+import android.text.TextUtils;
+import android.util.Pair;
+
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.ListPreference;
+import androidx.preference.Preference;
+
+import com.android.internal.logging.nano.MetricsProto;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+public class ZenRuleMessagesPreferenceController extends AbstractZenCustomRulePreferenceController
+        implements Preference.OnPreferenceChangeListener {
+
+    private final String[] mListValues;
+
+    public ZenRuleMessagesPreferenceController(Context context, String key, Lifecycle lifecycle) {
+        super(context, key, lifecycle);
+        mListValues = context.getResources().getStringArray(
+                com.android.settings.R.array.zen_mode_contacts_values);
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        super.updateState(preference);
+        updateFromContactsValue(preference);
+    }
+
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object selectedContactsFrom) {
+        int allowMessages = ZenModeBackend.getZenPolicySettingFromPrefKey(
+                selectedContactsFrom.toString());
+        mMetricsFeatureProvider.action(mContext,
+                SettingsEnums.ACTION_ZEN_ALLOW_MESSAGES,
+                Pair.create(MetricsProto.MetricsEvent.FIELD_ZEN_TOGGLE_EXCEPTION, allowMessages),
+                Pair.create(MetricsProto.MetricsEvent.FIELD_ZEN_RULE_ID, mId));
+        mRule.setZenPolicy(new ZenPolicy.Builder(mRule.getZenPolicy())
+                .allowMessages(allowMessages)
+                .build());
+        mBackend.updateZenRule(mId, mRule);
+        updateFromContactsValue(preference);
+        return true;
+    }
+
+    private void updateFromContactsValue(Preference preference) {
+        if (mRule == null || mRule.getZenPolicy() == null) {
+            return;
+        }
+        ListPreference listPreference = (ListPreference) preference;
+        listPreference.setSummary(mBackend.getContactsMessagesSummary(mRule.getZenPolicy()));
+        final String currentVal = ZenModeBackend.getKeyFromZenPolicySetting(
+                mRule.getZenPolicy().getPriorityMessageSenders());
+        listPreference.setValue(mListValues[getIndexOfSendersValue(currentVal)]);
+
+    }
+
+    @VisibleForTesting
+    protected int getIndexOfSendersValue(String currentVal) {
+        int index = 3; // defaults to "none" based on R.array.zen_mode_contacts_values
+        for (int i = 0; i < mListValues.length; i++) {
+            if (TextUtils.equals(currentVal, mListValues[i])) {
+                return i;
+            }
+        }
+
+        return index;
+    }
+}
diff --git a/src/com/android/settings/notification/zen/ZenRuleNameDialog.java b/src/com/android/settings/notification/zen/ZenRuleNameDialog.java
new file mode 100644
index 0000000..222e144
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenRuleNameDialog.java
@@ -0,0 +1,126 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.notification.zen;
+
+import android.app.Dialog;
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.content.DialogInterface;
+import android.net.Uri;
+import android.os.Bundle;
+import android.service.notification.ZenModeConfig;
+import android.text.TextUtils;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.widget.EditText;
+
+import androidx.appcompat.app.AlertDialog;
+import androidx.fragment.app.Fragment;
+
+import com.android.settings.R;
+import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
+
+public class ZenRuleNameDialog extends InstrumentedDialogFragment {
+    protected static final String TAG = "ZenRuleNameDialog";
+    private static final String EXTRA_ZEN_RULE_NAME = "zen_rule_name";
+    private static final String EXTRA_CONDITION_ID = "extra_zen_condition_id";
+    protected static PositiveClickListener mPositiveClickListener;
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.NOTIFICATION_ZEN_MODE_RULE_NAME_DIALOG;
+    }
+
+    /**
+     * The interface we expect a listener to implement.
+     */
+    public interface PositiveClickListener {
+        void onOk(String newName, Fragment parent);
+    }
+
+    public static void show(Fragment parent, String ruleName, Uri conditionId, PositiveClickListener
+            listener) {
+        final Bundle args = new Bundle();
+        args.putString(EXTRA_ZEN_RULE_NAME, ruleName);
+        args.putParcelable(EXTRA_CONDITION_ID, conditionId);
+        mPositiveClickListener = listener;
+
+        ZenRuleNameDialog dialog = new ZenRuleNameDialog();
+        dialog.setArguments(args);
+        dialog.setTargetFragment(parent, 0);
+        dialog.show(parent.getFragmentManager(), TAG);
+    }
+
+    @Override
+    public Dialog onCreateDialog(Bundle savedInstanceState) {
+        Bundle arguments = getArguments();
+        Uri conditionId = arguments.getParcelable(EXTRA_CONDITION_ID);
+        String ruleName = arguments.getString(EXTRA_ZEN_RULE_NAME);
+
+        boolean isNew = ruleName == null;
+        CharSequence originalRuleName = ruleName;
+        Context context = getContext();
+        final View v = LayoutInflater.from(context).inflate(R.layout.zen_rule_name, null,
+                false);
+        EditText editText = (EditText) v.findViewById(R.id.zen_mode_rule_name);
+        if (!isNew) {
+            // set text to current rule name
+            editText.setText(ruleName);
+            // move cursor to end of text
+            editText.setSelection(editText.getText().length());
+        }
+        editText.setSelectAllOnFocus(true);
+        return new AlertDialog.Builder(context)
+                .setTitle(getTitleResource(conditionId, isNew))
+                .setView(v)
+                .setPositiveButton(isNew ? R.string.zen_mode_add : R.string.okay,
+                        new DialogInterface.OnClickListener() {
+                            @Override
+                            public void onClick(DialogInterface dialog, int which) {
+                                final String newName = trimmedText(editText);
+                                if (TextUtils.isEmpty(newName)) {
+                                    return;
+                                }
+                                if (!isNew && originalRuleName != null
+                                        && originalRuleName.equals(newName)) {
+                                    return;  // no change to an existing rule, just dismiss
+                                }
+                               mPositiveClickListener.onOk(newName, getTargetFragment());
+                            }
+                        })
+                .setNegativeButton(R.string.cancel, null)
+                .create();
+    }
+
+    private String trimmedText(EditText editText) {
+        return editText.getText() == null ? null : editText.getText().toString().trim();
+    }
+
+    private int getTitleResource(Uri conditionId, boolean isNew) {
+        final boolean isEvent = ZenModeConfig.isValidEventConditionId(conditionId);
+        final boolean isTime = ZenModeConfig.isValidScheduleConditionId(conditionId);
+        int titleResource =  R.string.zen_mode_rule_name;
+        if (isNew) {
+            if (isEvent) {
+                titleResource = R.string.zen_mode_add_event_rule;
+            } else if (isTime) {
+                titleResource = R.string.zen_mode_add_time_rule;
+            }
+        }
+        return titleResource;
+    }
+}
diff --git a/src/com/android/settings/notification/zen/ZenRuleNotifFooterPreferenceController.java b/src/com/android/settings/notification/zen/ZenRuleNotifFooterPreferenceController.java
new file mode 100644
index 0000000..2364327
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenRuleNotifFooterPreferenceController.java
@@ -0,0 +1,60 @@
+/*
+ * 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.notification.zen;
+
+import android.content.Context;
+
+import androidx.preference.Preference;
+
+import com.android.settings.R;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+public class ZenRuleNotifFooterPreferenceController extends
+        AbstractZenCustomRulePreferenceController {
+
+    public ZenRuleNotifFooterPreferenceController(Context context, Lifecycle lifecycle,
+            String key) {
+        super(context, key, lifecycle);
+    }
+
+    @Override
+    public boolean isAvailable() {
+        if (!super.isAvailable() || mRule.getZenPolicy() == null) {
+            return false;
+        }
+
+
+        return mRule.getZenPolicy().shouldHideAllVisualEffects()
+                || mRule.getZenPolicy().shouldShowAllVisualEffects();
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        super.updateState(preference);
+        if (mRule == null || mRule.getZenPolicy() == null) {
+            return;
+        }
+
+        if (mRule.getZenPolicy().shouldShowAllVisualEffects()) {
+            preference.setTitle(R.string.zen_mode_restrict_notifications_mute_footer);
+        } else if (mRule.getZenPolicy().shouldHideAllVisualEffects()) {
+            preference.setTitle(R.string.zen_mode_restrict_notifications_hide_footer);
+        } else {
+            preference.setTitle(null);
+        }
+    }
+}
diff --git a/src/com/android/settings/notification/zen/ZenRulePreference.java b/src/com/android/settings/notification/zen/ZenRulePreference.java
new file mode 100644
index 0000000..1f1283d
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenRulePreference.java
@@ -0,0 +1,185 @@
+/*
+ * 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.zen;
+
+import android.app.AutomaticZenRule;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.ComponentInfo;
+import android.content.pm.PackageManager;
+import android.service.notification.ZenModeConfig;
+import android.view.View;
+import android.widget.CheckBox;
+
+import androidx.fragment.app.Fragment;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceViewHolder;
+
+import com.android.settings.R;
+import com.android.settings.utils.ManagedServiceSettings;
+import com.android.settings.utils.ZenServiceListing;
+import com.android.settingslib.TwoTargetPreference;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
+
+import java.util.Map;
+
+public class ZenRulePreference extends TwoTargetPreference {
+    private static final ManagedServiceSettings.Config CONFIG =
+            ZenModeAutomationSettings.getConditionProviderConfig();
+    final String mId;
+    final Fragment mParent;
+    final Preference mPref;
+    final Context mContext;
+    final ZenModeBackend mBackend;
+    final ZenServiceListing mServiceListing;
+    final PackageManager mPm;
+    final MetricsFeatureProvider mMetricsFeatureProvider;
+    AutomaticZenRule mRule;
+    CharSequence mName;
+
+    private Intent mIntent;
+    private boolean mChecked;
+    private CheckBox mCheckBox;
+
+    public ZenRulePreference(Context context,
+            final Map.Entry<String, AutomaticZenRule> ruleEntry,
+            Fragment parent, MetricsFeatureProvider metricsProvider) {
+        super(context);
+        setLayoutResource(R.layout.preference_checkable_two_target);
+        mBackend = ZenModeBackend.getInstance(context);
+        mContext = context;
+        mRule = ruleEntry.getValue();
+        mName = mRule.getName();
+        mId = ruleEntry.getKey();
+        mParent = parent;
+        mPm = mContext.getPackageManager();
+        mServiceListing = new ZenServiceListing(mContext, CONFIG);
+        mServiceListing.reloadApprovedServices();
+        mPref = this;
+        mMetricsFeatureProvider = metricsProvider;
+        mChecked = mRule.isEnabled();
+        setAttributes(mRule);
+        setWidgetLayoutResource(getSecondTargetResId());
+    }
+
+    protected int getSecondTargetResId() {
+        if (mIntent != null) {
+            return R.layout.zen_rule_widget;
+        }
+        return 0;
+    }
+
+    @Override
+    public void onBindViewHolder(PreferenceViewHolder view) {
+        super.onBindViewHolder(view);
+        View settingsWidget = view.findViewById(android.R.id.widget_frame);
+        View divider = view.findViewById(R.id.two_target_divider);
+        if (mIntent != null) {
+            divider.setVisibility(View.VISIBLE);
+            settingsWidget.setVisibility(View.VISIBLE);
+            settingsWidget.setOnClickListener(new View.OnClickListener() {
+                @Override
+                public void onClick(View v) {
+                    mContext.startActivity(mIntent);
+                }
+            });
+        } else {
+            divider.setVisibility(View.GONE);
+            settingsWidget.setVisibility(View.GONE);
+            settingsWidget.setOnClickListener(null);
+        }
+
+        View checkboxContainer = view.findViewById(R.id.checkbox_container);
+        if (checkboxContainer != null) {
+            checkboxContainer.setOnClickListener(mOnCheckBoxClickListener);
+        }
+        mCheckBox = (CheckBox) view.findViewById(com.android.internal.R.id.checkbox);
+        if (mCheckBox != null) {
+            mCheckBox.setChecked(mChecked);
+        }
+    }
+
+    public boolean isChecked() {
+        return mChecked;
+    }
+
+    public void updatePreference(AutomaticZenRule rule) {
+        if (!mRule.getName().equals(rule.getName())) {
+            mName = rule.getName();
+            setTitle(mName);
+        }
+
+        if (mRule.isEnabled() != rule.isEnabled()) {
+            setChecked(rule.isEnabled());
+            setSummary(computeRuleSummary(rule));
+        }
+
+        mRule = rule;
+    }
+
+    @Override
+    public void onClick() {
+        mOnCheckBoxClickListener.onClick(null);
+    }
+
+    private void setChecked(boolean checked) {
+        mChecked = checked;
+        if (mCheckBox != null) {
+            mCheckBox.setChecked(checked);
+        }
+    }
+
+    private View.OnClickListener mOnCheckBoxClickListener = new View.OnClickListener() {
+        @Override
+        public void onClick(View v) {
+            mRule.setEnabled(!mChecked);
+            mBackend.updateZenRule(mId, mRule);
+            setChecked(mRule.isEnabled());
+            setAttributes(mRule);
+        }
+    };
+
+    protected void setAttributes(AutomaticZenRule rule) {
+        final boolean isSchedule = ZenModeConfig.isValidScheduleConditionId(
+                rule.getConditionId(), true);
+        final boolean isEvent = ZenModeConfig.isValidEventConditionId(rule.getConditionId());
+
+        setSummary(computeRuleSummary(rule));
+
+        setTitle(mName);
+        setPersistent(false);
+
+        final String action = isSchedule ? ZenModeScheduleRuleSettings.ACTION
+                : isEvent ? ZenModeEventRuleSettings.ACTION : "";
+        ComponentInfo si = mServiceListing.findService(rule.getOwner());
+        ComponentName settingsActivity = AbstractZenModeAutomaticRulePreferenceController.
+                getSettingsActivity(rule, si);
+        mIntent = AbstractZenModeAutomaticRulePreferenceController.getRuleIntent(action,
+                settingsActivity, mId);
+        if (mIntent.resolveActivity(mPm) == null) {
+            mIntent = null;
+        }
+        setKey(mId);
+    }
+
+    private String computeRuleSummary(AutomaticZenRule rule) {
+        return (rule == null || !rule.isEnabled())
+                ? mContext.getResources().getString(R.string.switch_off_text)
+                : mContext.getResources().getString(R.string.switch_on_text);
+    }
+}
diff --git a/src/com/android/settings/notification/zen/ZenRuleRepeatCallersPreferenceController.java b/src/com/android/settings/notification/zen/ZenRuleRepeatCallersPreferenceController.java
new file mode 100644
index 0000000..b4eabbb
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenRuleRepeatCallersPreferenceController.java
@@ -0,0 +1,92 @@
+/*
+ * 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.notification.zen;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.service.notification.ZenPolicy;
+import android.util.Log;
+import android.util.Pair;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+import androidx.preference.SwitchPreference;
+
+import com.android.internal.logging.nano.MetricsProto;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+public class ZenRuleRepeatCallersPreferenceController extends
+        AbstractZenCustomRulePreferenceController implements Preference.OnPreferenceChangeListener {
+
+    private final int mRepeatCallersThreshold;
+
+    public ZenRuleRepeatCallersPreferenceController(Context context,
+            String key, Lifecycle lifecycle, int repeatCallersThreshold) {
+        super(context, key, lifecycle);
+        mRepeatCallersThreshold = repeatCallersThreshold;
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        setRepeatCallerSummary(screen.findPreference(KEY));
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        super.updateState(preference);
+        if (mRule == null || mRule.getZenPolicy() == null) {
+            return;
+        }
+
+        SwitchPreference pref = (SwitchPreference) preference;
+        boolean anyCallersCanBypassDnd = mRule.getZenPolicy().getPriorityCallSenders()
+                == ZenPolicy.PEOPLE_TYPE_ANYONE;
+
+        // if any caller can bypass dnd then repeat callers preference is disabled
+        if (anyCallersCanBypassDnd) {
+            pref.setEnabled(false);
+            pref.setChecked(true);
+        } else {
+            pref.setEnabled(true);
+            pref.setChecked(mRule.getZenPolicy().getPriorityCategoryRepeatCallers()
+                    == ZenPolicy.STATE_ALLOW);
+        }
+    }
+
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object newValue) {
+        final boolean allow = (Boolean) newValue;
+        if (ZenModeSettingsBase.DEBUG) {
+            Log.d(TAG, KEY + " onPrefChange mRule=" + mRule + " mCategory="
+                    + ZenPolicy.PRIORITY_CATEGORY_REPEAT_CALLERS + " allow=" + allow);
+        }
+        mMetricsFeatureProvider.action(mContext, SettingsEnums.ACTION_ZEN_ALLOW_REPEAT_CALLS,
+                Pair.create(MetricsProto.MetricsEvent.FIELD_ZEN_TOGGLE_EXCEPTION, allow ? 1 : 0),
+                Pair.create(MetricsProto.MetricsEvent.FIELD_ZEN_RULE_ID, mId));
+        mRule.setZenPolicy(new ZenPolicy.Builder(mRule.getZenPolicy())
+                .allowRepeatCallers(allow)
+                .build());
+        mBackend.updateZenRule(mId, mRule);
+        return true;
+    }
+
+    private void setRepeatCallerSummary(Preference preference) {
+        preference.setSummary(mContext.getString(
+                com.android.settings.R.string.zen_mode_repeat_callers_summary,
+                mRepeatCallersThreshold));
+    }
+}
diff --git a/src/com/android/settings/notification/zen/ZenRuleSelectionDialog.java b/src/com/android/settings/notification/zen/ZenRuleSelectionDialog.java
new file mode 100644
index 0000000..b159a01
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenRuleSelectionDialog.java
@@ -0,0 +1,249 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.notification.zen;
+
+import android.app.Dialog;
+import android.app.NotificationManager;
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.content.DialogInterface;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.ComponentInfo;
+import android.content.pm.PackageManager;
+import android.graphics.drawable.Drawable;
+import android.os.AsyncTask;
+import android.os.Bundle;
+import android.service.notification.ZenModeConfig;
+import android.util.Log;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+
+import androidx.appcompat.app.AlertDialog;
+import androidx.fragment.app.Fragment;
+
+import com.android.settings.R;
+import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
+import com.android.settings.utils.ZenServiceListing;
+
+import java.lang.ref.WeakReference;
+import java.text.Collator;
+import java.util.Comparator;
+import java.util.Set;
+import java.util.TreeSet;
+
+public class ZenRuleSelectionDialog extends InstrumentedDialogFragment {
+    private static final String TAG = "ZenRuleSelectionDialog";
+    private static final boolean DEBUG = ZenModeSettings.DEBUG;
+
+    private static ZenServiceListing mServiceListing;
+    protected static PositiveClickListener mPositiveClickListener;
+
+    private static Context mContext;
+    private static PackageManager mPm;
+    private static NotificationManager mNm;
+    private LinearLayout mRuleContainer;
+
+    /**
+     * The interface we expect a listener to implement.
+     */
+    public interface PositiveClickListener {
+        void onSystemRuleSelected(ZenRuleInfo ruleInfo, Fragment parent);
+        void onExternalRuleSelected(ZenRuleInfo ruleInfo, Fragment parent);
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.NOTIFICATION_ZEN_MODE_RULE_SELECTION_DIALOG;
+    }
+
+    public static void show(Context context, Fragment parent, PositiveClickListener
+            listener, ZenServiceListing serviceListing) {
+        mPositiveClickListener = listener;
+        mContext = context;
+        mPm = mContext.getPackageManager();
+        mNm = (NotificationManager) mContext.getSystemService(Context.NOTIFICATION_SERVICE);
+        mServiceListing = serviceListing;
+
+        ZenRuleSelectionDialog dialog = new ZenRuleSelectionDialog();
+        dialog.setTargetFragment(parent, 0);
+        dialog.show(parent.getFragmentManager(), TAG);
+    }
+
+    @Override
+    public Dialog onCreateDialog(Bundle savedInstanceState) {
+        final View v = LayoutInflater.from(getContext()).inflate(R.layout.zen_rule_type_selection,
+                null, false);
+
+        mRuleContainer = (LinearLayout) v.findViewById(R.id.rule_container);
+        if (mServiceListing != null) {
+            bindType(defaultNewEvent());
+            bindType(defaultNewSchedule());
+            mServiceListing.addZenCallback(mServiceListingCallback);
+            mServiceListing.reloadApprovedServices();
+        }
+        return new AlertDialog.Builder(getContext())
+                .setTitle(R.string.zen_mode_choose_rule_type)
+                .setView(v)
+                .setNegativeButton(R.string.cancel, null)
+                .create();
+    }
+
+    @Override
+    public void onDismiss(DialogInterface dialog) {
+        super.onDismiss(dialog);
+        if (mServiceListing != null) {
+            mServiceListing.removeZenCallback(mServiceListingCallback);
+        }
+    }
+
+    private void bindType(final ZenRuleInfo ri) {
+        try {
+            ApplicationInfo info = mPm.getApplicationInfo(ri.packageName, 0);
+            final LinearLayout v = (LinearLayout) LayoutInflater.from(mContext).inflate(
+                    R.layout.zen_rule_type, null, false);
+
+            ImageView iconView = v.findViewById(R.id.icon);
+            ((TextView) v.findViewById(R.id.title)).setText(ri.title);
+            if (!ri.isSystem) {
+                LoadIconTask task = new LoadIconTask(iconView);
+                task.execute(info);
+
+                TextView subtitle = (TextView) v.findViewById(R.id.subtitle);
+                subtitle.setText(info.loadLabel(mPm));
+                subtitle.setVisibility(View.VISIBLE);
+            } else {
+                if (ZenModeConfig.isValidScheduleConditionId(ri.defaultConditionId)) {
+                    iconView.setImageDrawable(mContext.getDrawable(R.drawable.ic_timelapse));
+                } else if (ZenModeConfig.isValidEventConditionId(ri.defaultConditionId)) {
+                    iconView.setImageDrawable(mContext.getDrawable(R.drawable.ic_event));
+                }
+            }
+            v.setOnClickListener(new View.OnClickListener() {
+                @Override
+                public void onClick(View v) {
+                    dismiss();
+                    if (ri.isSystem) {
+                        mPositiveClickListener.onSystemRuleSelected(ri, getTargetFragment());
+                    } else {
+                        mPositiveClickListener.onExternalRuleSelected(ri, getTargetFragment());
+                    }
+                }
+            });
+            mRuleContainer.addView(v);
+        } catch (PackageManager.NameNotFoundException e) {
+            // Omit rule.
+        }
+    }
+
+    private ZenRuleInfo defaultNewSchedule() {
+        final ZenModeConfig.ScheduleInfo schedule = new ZenModeConfig.ScheduleInfo();
+        schedule.days = ZenModeConfig.ALL_DAYS;
+        schedule.startHour = 22;
+        schedule.endHour = 7;
+        final ZenRuleInfo rt = new ZenRuleInfo();
+        rt.settingsAction = ZenModeScheduleRuleSettings.ACTION;
+        rt.title = mContext.getString(R.string.zen_schedule_rule_type_name);
+        rt.packageName = ZenModeConfig.getEventConditionProvider().getPackageName();
+        rt.defaultConditionId = ZenModeConfig.toScheduleConditionId(schedule);
+        rt.serviceComponent = ZenModeConfig.getScheduleConditionProvider();
+        rt.isSystem = true;
+        return rt;
+    }
+
+    private ZenRuleInfo defaultNewEvent() {
+        final ZenModeConfig.EventInfo event = new ZenModeConfig.EventInfo();
+        event.calName = null; // any calendar
+        event.calendarId = null;
+        event.reply = ZenModeConfig.EventInfo.REPLY_ANY_EXCEPT_NO;
+        final ZenRuleInfo rt = new ZenRuleInfo();
+        rt.settingsAction = ZenModeEventRuleSettings.ACTION;
+        rt.title = mContext.getString(R.string.zen_event_rule_type_name);
+        rt.packageName = ZenModeConfig.getScheduleConditionProvider().getPackageName();
+        rt.defaultConditionId = ZenModeConfig.toEventConditionId(event);
+        rt.serviceComponent = ZenModeConfig.getEventConditionProvider();
+        rt.isSystem = true;
+        return rt;
+    }
+
+    private void bindExternalRules(Set<ZenRuleInfo> externalRuleTypes) {
+        for (ZenRuleInfo ri : externalRuleTypes) {
+            bindType(ri);
+        }
+    }
+
+    private final ZenServiceListing.Callback mServiceListingCallback = new
+            ZenServiceListing.Callback() {
+        @Override
+        public void onComponentsReloaded(Set<ComponentInfo> componentInfos) {
+            if (DEBUG) Log.d(TAG, "Reloaded: count=" + componentInfos.size());
+
+            Set<ZenRuleInfo> externalRuleTypes = new TreeSet<>(RULE_TYPE_COMPARATOR);
+            for (ComponentInfo ci : componentInfos) {
+                final ZenRuleInfo ri = AbstractZenModeAutomaticRulePreferenceController.
+                        getRuleInfo(mPm, ci);
+                if (ri != null && ri.configurationActivity != null
+                        && mNm.isNotificationPolicyAccessGrantedForPackage(ri.packageName)
+                        && (ri.ruleInstanceLimit <= 0 || ri.ruleInstanceLimit
+                        >= (mNm.getRuleInstanceCount(ci.getComponentName()) + 1))) {
+                    externalRuleTypes.add(ri);
+                }
+            }
+            bindExternalRules(externalRuleTypes);
+        }
+    };
+
+    private static final Comparator<ZenRuleInfo> RULE_TYPE_COMPARATOR =
+            new Comparator<ZenRuleInfo>() {
+                private final Collator mCollator = Collator.getInstance();
+
+                @Override
+                public int compare(ZenRuleInfo lhs, ZenRuleInfo rhs) {
+                    int byAppName = mCollator.compare(lhs.packageLabel, rhs.packageLabel);
+                    if (byAppName != 0) {
+                        return byAppName;
+                    } else {
+                        return mCollator.compare(lhs.title, rhs.title);
+                    }
+                }
+            };
+
+    private class LoadIconTask extends AsyncTask<ApplicationInfo, Void, Drawable> {
+        private final WeakReference<ImageView> viewReference;
+
+        public LoadIconTask(ImageView view) {
+            viewReference = new WeakReference<>(view);
+        }
+
+        @Override
+        protected Drawable doInBackground(ApplicationInfo... params) {
+            return params[0].loadIcon(mPm);
+        }
+
+        @Override
+        protected void onPostExecute(Drawable icon) {
+            if (icon != null) {
+                final ImageView view = viewReference.get();
+                if (view != null) {
+                    view.setImageDrawable(icon);
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/settings/notification/zen/ZenRuleStarredContactsPreferenceController.java b/src/com/android/settings/notification/zen/ZenRuleStarredContactsPreferenceController.java
new file mode 100644
index 0000000..a6de68c
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenRuleStarredContactsPreferenceController.java
@@ -0,0 +1,103 @@
+/*
+ * 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.notification.zen;
+
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.PackageManager;
+import android.provider.Contacts;
+import android.service.notification.ZenPolicy;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+public class ZenRuleStarredContactsPreferenceController extends
+        AbstractZenCustomRulePreferenceController implements Preference.OnPreferenceClickListener {
+
+    private Preference mPreference;
+    private final @ZenPolicy.PriorityCategory int mPriorityCategory;
+    private final PackageManager mPackageManager;
+
+    private Intent mStarredContactsIntent;
+    private Intent mFallbackIntent;
+
+    public ZenRuleStarredContactsPreferenceController(Context context, Lifecycle lifecycle,
+            @ZenPolicy.PriorityCategory int priorityCategory, String key) {
+        super(context, key, lifecycle);
+        mPriorityCategory = priorityCategory;
+        mPackageManager = mContext.getPackageManager();
+
+        mStarredContactsIntent = new Intent(Contacts.Intents.UI.LIST_STARRED_ACTION);
+
+        mFallbackIntent =  new Intent(Intent.ACTION_MAIN);
+        mFallbackIntent.addCategory(Intent.CATEGORY_APP_CONTACTS);
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        mPreference = screen.findPreference(KEY);
+
+        if (mPreference != null) {
+            mPreference.setOnPreferenceClickListener(this);
+        }
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY;
+    }
+
+    @Override
+    public boolean isAvailable() {
+        if (!super.isAvailable() || mRule.getZenPolicy() == null || !isIntentValid()) {
+            return false;
+        }
+
+        if (mPriorityCategory == ZenPolicy.PRIORITY_CATEGORY_CALLS) {
+            return mRule.getZenPolicy().getPriorityCallSenders() == ZenPolicy.PEOPLE_TYPE_STARRED;
+        } else if (mPriorityCategory == ZenPolicy.PRIORITY_CATEGORY_MESSAGES) {
+            return mRule.getZenPolicy().getPriorityMessageSenders()
+                    == ZenPolicy.PEOPLE_TYPE_STARRED;
+        } else {
+            // invalid category
+            return false;
+        }
+    }
+
+    @Override
+    public CharSequence getSummary() {
+        return mBackend.getStarredContactsSummary(mContext);
+    }
+
+    @Override
+    public boolean onPreferenceClick(Preference preference) {
+        if (mStarredContactsIntent.resolveActivity(mPackageManager) != null) {
+            mContext.startActivity(mStarredContactsIntent);
+        } else {
+            mContext.startActivity(mFallbackIntent);
+        }
+        return true;
+    }
+
+    private boolean isIntentValid() {
+        return mStarredContactsIntent.resolveActivity(mPackageManager) != null
+                || mFallbackIntent.resolveActivity(mPackageManager) != null;
+    }
+}
diff --git a/src/com/android/settings/notification/zen/ZenRuleVisEffectPreferenceController.java b/src/com/android/settings/notification/zen/ZenRuleVisEffectPreferenceController.java
new file mode 100644
index 0000000..1fc43c2
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenRuleVisEffectPreferenceController.java
@@ -0,0 +1,103 @@
+/*
+ * 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.notification.zen;
+
+import android.content.Context;
+import android.service.notification.ZenPolicy;
+import android.util.Pair;
+
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.CheckBoxPreference;
+import androidx.preference.Preference;
+
+import com.android.internal.logging.nano.MetricsProto;
+import com.android.settings.widget.DisabledCheckBoxPreference;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+public class ZenRuleVisEffectPreferenceController extends AbstractZenCustomRulePreferenceController
+        implements Preference.OnPreferenceChangeListener {
+
+    private final int mMetricsCategory;
+
+    @VisibleForTesting protected @ZenPolicy.VisualEffect int mEffect;
+
+    // if any of these effects are suppressed, this effect must be too
+    @VisibleForTesting protected @ZenPolicy.VisualEffect int[] mParentSuppressedEffects;
+
+    public ZenRuleVisEffectPreferenceController(Context context, Lifecycle lifecycle, String key,
+            @ZenPolicy.VisualEffect int visualEffect, int metricsCategory,
+            @ZenPolicy.VisualEffect int[] parentSuppressedEffects) {
+        super(context, key, lifecycle);
+        mEffect = visualEffect;
+        mMetricsCategory = metricsCategory;
+        mParentSuppressedEffects = parentSuppressedEffects;
+    }
+
+    @Override
+    public boolean isAvailable() {
+        if (!super.isAvailable()) {
+            return false;
+        }
+
+        if (mEffect == ZenPolicy.VISUAL_EFFECT_LIGHTS) {
+            return mContext.getResources()
+                    .getBoolean(com.android.internal.R.bool.config_intrusiveNotificationLed);
+        }
+        return true;
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        super.updateState(preference);
+        if (mRule == null || mRule.getZenPolicy() == null) {
+            return;
+        }
+
+        boolean suppressed = !mRule.getZenPolicy().isVisualEffectAllowed(mEffect, false);
+        boolean parentSuppressed = false;
+        if (mParentSuppressedEffects != null) {
+            for (@ZenPolicy.VisualEffect int parentEffect : mParentSuppressedEffects) {
+                if (!mRule.getZenPolicy().isVisualEffectAllowed(parentEffect, true)) {
+                    parentSuppressed = true;
+                }
+            }
+        }
+        if (parentSuppressed) {
+            ((CheckBoxPreference) preference).setChecked(parentSuppressed);
+            onPreferenceChange(preference, parentSuppressed);
+            ((DisabledCheckBoxPreference) preference).enableCheckbox(false);
+        } else {
+            ((DisabledCheckBoxPreference) preference).enableCheckbox(true);
+            ((CheckBoxPreference) preference).setChecked(suppressed);
+        }
+    }
+
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object newValue) {
+        final boolean suppressEffect = (Boolean) newValue;
+        mMetricsFeatureProvider.action(mContext, mMetricsCategory,
+                Pair.create(MetricsProto.MetricsEvent.FIELD_ZEN_TOGGLE_EXCEPTION,
+                        suppressEffect ? 1 : 0),
+                Pair.create(MetricsProto.MetricsEvent.FIELD_ZEN_RULE_ID, mId));
+
+        mRule.setZenPolicy(new ZenPolicy.Builder(mRule.getZenPolicy())
+                .showVisualEffect(mEffect, !suppressEffect)
+                .build());
+        mBackend.updateZenRule(mId, mRule);
+        return true;
+    }
+}
diff --git a/src/com/android/settings/notification/zen/ZenRuleVisEffectsAllPreferenceController.java b/src/com/android/settings/notification/zen/ZenRuleVisEffectsAllPreferenceController.java
new file mode 100644
index 0000000..fb46209
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenRuleVisEffectsAllPreferenceController.java
@@ -0,0 +1,64 @@
+/*
+ * 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.notification.zen;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.service.notification.ZenPolicy;
+import android.util.Pair;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.internal.logging.nano.MetricsProto;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+public class ZenRuleVisEffectsAllPreferenceController extends
+        AbstractZenCustomRulePreferenceController implements PreferenceControllerMixin {
+
+    private ZenCustomRadioButtonPreference mPreference;
+
+    public ZenRuleVisEffectsAllPreferenceController(Context context, Lifecycle lifecycle,
+            String key) {
+        super(context, key, lifecycle);
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        mPreference = screen.findPreference(getPreferenceKey());
+
+        mPreference.setOnRadioButtonClickListener(p -> {
+            mMetricsFeatureProvider.action(mContext, SettingsEnums.ACTION_ZEN_SOUND_ONLY,
+                    Pair.create(MetricsProto.MetricsEvent.FIELD_ZEN_RULE_ID, mId));
+            mRule.setZenPolicy(new ZenPolicy.Builder(mRule.getZenPolicy())
+                    .showAllVisualEffects()
+                    .build());
+            mBackend.updateZenRule(mId, mRule);
+        });
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        super.updateState(preference);
+        if (mId == null || mRule == null || mRule.getZenPolicy() == null) {
+            return;
+        }
+        mPreference.setChecked(mRule.getZenPolicy().shouldShowAllVisualEffects());
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/settings/notification/zen/ZenRuleVisEffectsCustomPreferenceController.java b/src/com/android/settings/notification/zen/ZenRuleVisEffectsCustomPreferenceController.java
new file mode 100644
index 0000000..68ab818
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenRuleVisEffectsCustomPreferenceController.java
@@ -0,0 +1,76 @@
+/*
+ * 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.notification.zen;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.util.Pair;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.internal.logging.nano.MetricsProto;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settings.core.SubSettingLauncher;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+public class ZenRuleVisEffectsCustomPreferenceController extends
+        AbstractZenCustomRulePreferenceController implements PreferenceControllerMixin {
+
+    private ZenCustomRadioButtonPreference mPreference;
+
+    public ZenRuleVisEffectsCustomPreferenceController(Context context, Lifecycle lifecycle,
+            String key) {
+        super(context, key, lifecycle);
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        mPreference = screen.findPreference(getPreferenceKey());
+
+        mPreference.setOnGearClickListener(p -> {
+            launchCustomSettings();
+
+        });
+
+        mPreference.setOnRadioButtonClickListener(p -> {
+            launchCustomSettings();
+        });
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        super.updateState(preference);
+        if (mId == null || mRule == null || mRule.getZenPolicy() == null) {
+            return;
+        }
+
+        mPreference.setChecked(!mRule.getZenPolicy().shouldHideAllVisualEffects()
+                && !mRule.getZenPolicy().shouldShowAllVisualEffects());
+    }
+
+    private void launchCustomSettings() {
+        mMetricsFeatureProvider.action(mContext, SettingsEnums.ACTION_ZEN_SHOW_CUSTOM,
+                Pair.create(MetricsProto.MetricsEvent.FIELD_ZEN_RULE_ID, mId));
+        new SubSettingLauncher(mContext)
+                .setDestination(ZenCustomRuleBlockedEffectsSettings.class.getName())
+                .setArguments(createBundle())
+                .setSourceMetricsCategory(SettingsEnums.ZEN_CUSTOM_RULE_VIS_EFFECTS)
+                .launch();
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/settings/notification/zen/ZenRuleVisEffectsNonePreferenceController.java b/src/com/android/settings/notification/zen/ZenRuleVisEffectsNonePreferenceController.java
new file mode 100644
index 0000000..cb3e690
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenRuleVisEffectsNonePreferenceController.java
@@ -0,0 +1,65 @@
+/*
+ * 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.notification.zen;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.service.notification.ZenPolicy;
+import android.util.Pair;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.internal.logging.nano.MetricsProto;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+public class ZenRuleVisEffectsNonePreferenceController extends
+        AbstractZenCustomRulePreferenceController implements PreferenceControllerMixin {
+
+    private ZenCustomRadioButtonPreference mPreference;
+
+    public ZenRuleVisEffectsNonePreferenceController(Context context, Lifecycle lifecycle,
+            String key) {
+        super(context, key, lifecycle);
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        mPreference = screen.findPreference(getPreferenceKey());
+
+        mPreference.setOnRadioButtonClickListener(p -> {
+            mMetricsFeatureProvider.action(mContext, SettingsEnums.ACTION_ZEN_SOUND_AND_VIS_EFFECTS,
+                    Pair.create(MetricsProto.MetricsEvent.FIELD_ZEN_RULE_ID, mId));
+            mRule.setZenPolicy(new ZenPolicy.Builder(mRule.getZenPolicy())
+                    .hideAllVisualEffects()
+                    .build());
+            mBackend.updateZenRule(mId, mRule);
+        });
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        super.updateState(preference);
+        if (mId == null || mRule == null || mRule.getZenPolicy() == null) {
+            return;
+        }
+
+        mPreference.setChecked(mRule.getZenPolicy().shouldHideAllVisualEffects());
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/settings/notification/zen/ZenSuggestionActivity.java b/src/com/android/settings/notification/zen/ZenSuggestionActivity.java
new file mode 100644
index 0000000..728b171
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenSuggestionActivity.java
@@ -0,0 +1,24 @@
+package com.android.settings.notification.zen;
+
+import android.app.Activity;
+import android.content.Intent;
+import android.os.Bundle;
+import android.provider.Settings;
+
+public class ZenSuggestionActivity extends Activity {
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+
+        // start up zen settings activity
+        Intent settingsIntent = new Intent(Settings.ACTION_ZEN_MODE_SETTINGS);
+        startActivity(settingsIntent);
+
+        // start up onboarding activity
+        Intent onboardingActivity = new Intent(Settings.ZEN_MODE_ONBOARDING);
+        startActivity(onboardingActivity);
+
+        finish();
+    }
+}
diff --git a/src/com/android/settings/panel/InternetConnectivityPanel.java b/src/com/android/settings/panel/InternetConnectivityPanel.java
index ae72427..db0c5e3 100644
--- a/src/com/android/settings/panel/InternetConnectivityPanel.java
+++ b/src/com/android/settings/panel/InternetConnectivityPanel.java
@@ -23,6 +23,7 @@
 import android.provider.Settings;
 
 import com.android.settings.R;
+import com.android.settings.network.AirplaneModePreferenceController;
 import com.android.settings.slices.CustomSliceRegistry;
 
 import java.util.ArrayList;
@@ -57,7 +58,7 @@
         final List<Uri> uris = new ArrayList<>();
         uris.add(CustomSliceRegistry.WIFI_SLICE_URI);
         uris.add(CustomSliceRegistry.MOBILE_DATA_SLICE_URI);
-        uris.add(CustomSliceRegistry.AIRPLANE_URI);
+        uris.add(AirplaneModePreferenceController.SLICE_URI);
         return uris;
     }
 
diff --git a/src/com/android/settings/panel/MediaOutputGroupPanel.java b/src/com/android/settings/panel/MediaOutputGroupPanel.java
new file mode 100644
index 0000000..d98c0b1
--- /dev/null
+++ b/src/com/android/settings/panel/MediaOutputGroupPanel.java
@@ -0,0 +1,164 @@
+/*
+ * 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.panel;
+
+import static androidx.lifecycle.Lifecycle.Event.ON_START;
+import static androidx.lifecycle.Lifecycle.Event.ON_STOP;
+
+import static com.android.settings.media.MediaOutputSlice.MEDIA_PACKAGE_NAME;
+import static com.android.settings.slices.CustomSliceRegistry.MEDIA_OUTPUT_GROUP_SLICE_URI;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.content.Intent;
+import android.graphics.Color;
+import android.net.Uri;
+
+import androidx.core.graphics.drawable.IconCompat;
+import androidx.lifecycle.LifecycleObserver;
+import androidx.lifecycle.OnLifecycleEvent;
+
+import com.android.settings.R;
+import com.android.settingslib.media.LocalMediaManager;
+import com.android.settingslib.media.MediaDevice;
+import com.android.settingslib.media.MediaOutputSliceConstants;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Represents the Media output group Panel.
+ *
+ * <p>
+ * Displays Media output group item
+ * </p>
+ */
+public class MediaOutputGroupPanel implements PanelContent, LocalMediaManager.DeviceCallback,
+        LifecycleObserver {
+
+    private final Context mContext;
+    private final String mPackageName;
+
+    private PanelContentCallback mCallback;
+    private LocalMediaManager mLocalMediaManager;
+
+    /**
+     * To generate a Media output group Panel instance.
+     *
+     * @param context the context of the caller.
+     * @param packageName media application package name.
+     * @return MediaOutputGroupPanel instance.
+     */
+    public static MediaOutputGroupPanel create(Context context, String packageName) {
+        return new MediaOutputGroupPanel(context, packageName);
+    }
+
+    private MediaOutputGroupPanel(Context context, String packageName) {
+        mContext = context.getApplicationContext();
+        mPackageName = packageName;
+    }
+
+    @Override
+    public CharSequence getTitle() {
+        return mContext.getText(R.string.media_output_group_panel_title);
+    }
+
+    @Override
+    public CharSequence getSubTitle() {
+        final int size = mLocalMediaManager.getSelectedMediaDevice().size();
+        if (size == 1) {
+            return mContext.getText(R.string.media_output_group_panel_single_device_summary);
+        }
+        return mContext.getString(R.string.media_output_group_panel_multiple_devices_summary, size);
+    }
+
+    @Override
+    public IconCompat getIcon() {
+        return IconCompat.createWithResource(mContext, R.drawable.ic_arrow_back).setTint(
+                Color.BLACK);
+    }
+
+    @Override
+    public List<Uri> getSlices() {
+        final List<Uri> uris = new ArrayList<>();
+        MEDIA_OUTPUT_GROUP_SLICE_URI =
+                MEDIA_OUTPUT_GROUP_SLICE_URI
+                        .buildUpon()
+                        .clearQuery()
+                        .appendQueryParameter(MEDIA_PACKAGE_NAME, mPackageName)
+                        .build();
+        uris.add(MEDIA_OUTPUT_GROUP_SLICE_URI);
+        return uris;
+    }
+
+    @Override
+    public Intent getSeeMoreIntent() {
+        return null;
+    }
+
+    @Override
+    public Intent getHeaderIconIntent() {
+        final Intent intent = new Intent()
+                .setAction(MediaOutputSliceConstants.ACTION_MEDIA_OUTPUT)
+                .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
+                .putExtra(MediaOutputSliceConstants.EXTRA_PACKAGE_NAME, mPackageName);
+        return intent;
+    }
+
+    @Override
+    public void registerCallback(PanelContentCallback callback) {
+        mCallback = callback;
+    }
+
+    /**
+     * Lifecycle callback to initial {@link LocalMediaManager}
+     */
+    @OnLifecycleEvent(ON_START)
+    public void onStart() {
+        if (mLocalMediaManager == null) {
+            mLocalMediaManager = new LocalMediaManager(mContext, mPackageName, null);
+        }
+        mLocalMediaManager.registerCallback(this);
+        mLocalMediaManager.startScan();
+    }
+
+    /**
+     * Lifecycle callback to de-initial {@link LocalMediaManager}
+     */
+    @OnLifecycleEvent(ON_STOP)
+    public void onStop() {
+        mLocalMediaManager.unregisterCallback(this);
+        mLocalMediaManager.stopScan();
+    }
+
+    @Override
+    public void onDeviceListUpdate(List<MediaDevice> devices) {
+        if (mCallback != null) {
+            mCallback.onHeaderChanged();
+        }
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.PANEL_MEDIA_OUTPUT_GROUP;
+    }
+
+    @Override
+    public int getViewType() {
+        return PanelContent.VIEW_TYPE_SLIDER;
+    }
+}
diff --git a/src/com/android/settings/panel/MediaOutputPanel.java b/src/com/android/settings/panel/MediaOutputPanel.java
index c42906d..2a9669a 100644
--- a/src/com/android/settings/panel/MediaOutputPanel.java
+++ b/src/com/android/settings/panel/MediaOutputPanel.java
@@ -16,15 +16,37 @@
 
 package com.android.settings.panel;
 
+import static androidx.lifecycle.Lifecycle.Event.ON_START;
+import static androidx.lifecycle.Lifecycle.Event.ON_STOP;
+
 import static com.android.settings.media.MediaOutputSlice.MEDIA_PACKAGE_NAME;
 import static com.android.settings.slices.CustomSliceRegistry.MEDIA_OUTPUT_SLICE_URI;
 
 import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.content.Intent;
+import android.content.pm.PackageManager;
+import android.graphics.Bitmap;
+import android.graphics.Canvas;
+import android.graphics.drawable.BitmapDrawable;
+import android.graphics.drawable.Drawable;
+import android.media.MediaMetadata;
+import android.media.session.MediaController;
+import android.media.session.MediaSessionManager;
 import android.net.Uri;
+import android.text.TextUtils;
+import android.util.Log;
 
+import androidx.core.graphics.drawable.IconCompat;
+import androidx.lifecycle.LifecycleObserver;
+import androidx.lifecycle.OnLifecycleEvent;
+
+import com.android.internal.annotations.VisibleForTesting;
 import com.android.settings.R;
+import com.android.settings.Utils;
+import com.android.settingslib.media.InfoMediaDevice;
+import com.android.settingslib.media.LocalMediaManager;
+import com.android.settingslib.media.MediaDevice;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -36,26 +58,91 @@
  * Displays Media output item
  * </p>
  */
-public class MediaOutputPanel implements PanelContent {
+public class MediaOutputPanel implements PanelContent, LocalMediaManager.DeviceCallback,
+        LifecycleObserver {
+
+    private static final String TAG = "MediaOutputPanel";
 
     private final Context mContext;
     private final String mPackageName;
 
+    private PanelContentCallback mCallback;
+    private boolean mIsCustomizedButtonUsed = true;
+
+    @VisibleForTesting
+    LocalMediaManager mLocalMediaManager;
+
+    private MediaSessionManager mMediaSessionManager;
+    private MediaController mMediaController;
+
     public static MediaOutputPanel create(Context context, String packageName) {
         return new MediaOutputPanel(context, packageName);
     }
 
     private MediaOutputPanel(Context context, String packageName) {
         mContext = context.getApplicationContext();
-        mPackageName = packageName;
+        mPackageName = TextUtils.isEmpty(packageName) ? "" : packageName;
     }
 
     @Override
     public CharSequence getTitle() {
+        if (mMediaController != null) {
+            final MediaMetadata metadata = mMediaController.getMetadata();
+            if (metadata != null) {
+                return metadata.getString(MediaMetadata.METADATA_KEY_ARTIST);
+            }
+        }
+        return mContext.getText(R.string.media_volume_title);
+    }
+
+    @Override
+    public CharSequence getSubTitle() {
+        if (mMediaController != null) {
+            final MediaMetadata metadata = mMediaController.getMetadata();
+            if (metadata != null) {
+                return metadata.getString(MediaMetadata.METADATA_KEY_ALBUM);
+            }
+        }
         return mContext.getText(R.string.media_output_panel_title);
     }
 
     @Override
+    public IconCompat getIcon() {
+        if (mMediaController == null) {
+            return IconCompat.createWithResource(mContext, R.drawable.ic_media_stream).setTint(
+                    Utils.getColorAccentDefaultColor(mContext));
+        }
+        final MediaMetadata metadata = mMediaController.getMetadata();
+        if (metadata != null) {
+            final Bitmap bitmap = metadata.getDescription().getIconBitmap();
+            if (bitmap != null) {
+                return IconCompat.createWithBitmap(bitmap);
+            }
+        }
+        Log.d(TAG, "Media meta data does not contain icon information");
+        return getPackageIcon();
+    }
+
+    private IconCompat getPackageIcon() {
+        try {
+            final Drawable drawable = mContext.getPackageManager().getApplicationIcon(mPackageName);
+            if (drawable instanceof BitmapDrawable) {
+                return IconCompat.createWithBitmap(((BitmapDrawable) drawable).getBitmap());
+            }
+            final Bitmap bitmap = Bitmap.createBitmap(drawable.getIntrinsicWidth(),
+                    drawable.getIntrinsicHeight(), Bitmap.Config.ARGB_8888);
+            final Canvas canvas = new Canvas(bitmap);
+            drawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight());
+            drawable.draw(canvas);
+
+            return IconCompat.createWithBitmap(bitmap);
+        } catch (PackageManager.NameNotFoundException e) {
+            Log.e(TAG, "Package is not found. Unable to get package icon.");
+        }
+        return null;
+    }
+
+    @Override
     public List<Uri> getSlices() {
         final List<Uri> uris = new ArrayList<>();
         MEDIA_OUTPUT_SLICE_URI =
@@ -74,7 +161,99 @@
     }
 
     @Override
+    public boolean isCustomizedButtonUsed() {
+        return mIsCustomizedButtonUsed;
+    }
+
+    @Override
+    public CharSequence getCustomButtonTitle() {
+        return mContext.getText(R.string.media_output_panel_stop_casting_button);
+    }
+
+    @Override
+    public void onClickCustomizedButton() {
+        mLocalMediaManager.releaseSession();
+    }
+
+    @Override
+    public void registerCallback(PanelContentCallback callback) {
+        mCallback = callback;
+    }
+
+    @Override
     public int getMetricsCategory() {
         return SettingsEnums.PANEL_MEDIA_OUTPUT;
     }
+
+    @Override
+    public void onSelectedDeviceStateChanged(MediaDevice device, int state) {
+        dispatchCustomButtonStateChanged();
+    }
+
+    @Override
+    public void onDeviceListUpdate(List<MediaDevice> devices) {
+        dispatchCustomButtonStateChanged();
+    }
+
+    @Override
+    public void onDeviceAttributesChanged() {
+        dispatchCustomButtonStateChanged();
+    }
+
+    private void dispatchCustomButtonStateChanged() {
+        hideCustomButtonIfNecessary();
+        if (mCallback != null) {
+            mCallback.onCustomizedButtonStateChanged();
+        }
+    }
+
+    private void hideCustomButtonIfNecessary() {
+        final MediaDevice device = mLocalMediaManager.getCurrentConnectedDevice();
+        mIsCustomizedButtonUsed = device instanceof InfoMediaDevice;
+    }
+
+    @OnLifecycleEvent(ON_START)
+    public void onStart() {
+        if (!TextUtils.isEmpty(mPackageName)) {
+            mMediaSessionManager = mContext.getSystemService(MediaSessionManager.class);
+            for (MediaController controller : mMediaSessionManager.getActiveSessions(null)) {
+                if (TextUtils.equals(controller.getPackageName(), mPackageName)) {
+                    mMediaController = controller;
+                    mMediaController.registerCallback(mCb);
+                    break;
+                }
+            }
+        }
+        if (mMediaController == null) {
+            Log.d(TAG, "No media controller for " + mPackageName);
+        }
+        if (mLocalMediaManager == null) {
+            mLocalMediaManager = new LocalMediaManager(mContext, mPackageName, null);
+        }
+        mLocalMediaManager.registerCallback(this);
+        mLocalMediaManager.startScan();
+    }
+
+    @OnLifecycleEvent(ON_STOP)
+    public void onStop() {
+        if (mMediaController != null) {
+            mMediaController.unregisterCallback(mCb);
+        }
+        mLocalMediaManager.unregisterCallback(this);
+        mLocalMediaManager.stopScan();
+    }
+
+    @Override
+    public int getViewType() {
+        return PanelContent.VIEW_TYPE_SLIDER;
+    }
+
+    private final MediaController.Callback mCb = new MediaController.Callback() {
+        @Override
+        public void onMetadataChanged(MediaMetadata metadata) {
+            if (mCallback != null) {
+                mCallback.onHeaderChanged();
+            }
+        }
+    };
 }
diff --git a/src/com/android/settings/panel/PanelContent.java b/src/com/android/settings/panel/PanelContent.java
index 496bac3..2e8d709 100644
--- a/src/com/android/settings/panel/PanelContent.java
+++ b/src/com/android/settings/panel/PanelContent.java
@@ -19,6 +19,8 @@
 import android.content.Intent;
 import android.net.Uri;
 
+import androidx.core.graphics.drawable.IconCompat;
+
 import com.android.settingslib.core.instrumentation.Instrumentable;
 
 import java.util.List;
@@ -28,6 +30,22 @@
  */
 public interface PanelContent extends Instrumentable {
 
+    int VIEW_TYPE_SLIDER = 1;
+
+    /**
+     * @return a icon for the title of the Panel.
+     */
+    default IconCompat getIcon() {
+        return null;
+    }
+
+    /**
+     * @return a string for the subtitle of the Panel.
+     */
+    default CharSequence getSubTitle() {
+        return null;
+    }
+
     /**
      * @return a string for the title of the Panel.
      */
@@ -39,7 +57,6 @@
      */
     List<Uri> getSlices();
 
-
     /**
      * @return an {@link Intent} to the full content in Settings that is summarized by the Panel.
      *
@@ -48,4 +65,49 @@
      * </p>
      */
     Intent getSeeMoreIntent();
+
+    /**
+     * @return an {@link Intent} to the go to the target activity.
+     *
+     * <p>
+     *     A common usage is to go back to previous panel.
+     * </p>
+     */
+    default Intent getHeaderIconIntent() {
+        return null;
+    }
+
+    /**
+     * @return {@code true} to enable custom button to replace see more button,
+     * {@code false} otherwise.
+     */
+    default boolean isCustomizedButtonUsed() {
+        return false;
+    }
+
+    /**
+     * @return a string for the title of the custom button.
+     */
+    default CharSequence getCustomButtonTitle() {
+        return null;
+    }
+
+    /**
+     * Implement the click event for custom button.
+     */
+    default void onClickCustomizedButton() {}
+
+    /**
+     * Register to start receiving callbacks for custom button events.
+     *
+     * @param callback the callback to add.
+     */
+    default void registerCallback(PanelContentCallback callback) {}
+
+    /**
+     * @return a view type to customized it. 0 for default layout.
+     */
+    default int getViewType() {
+        return 0;
+    }
 }
diff --git a/src/com/android/settings/panel/PanelContentCallback.java b/src/com/android/settings/panel/PanelContentCallback.java
new file mode 100644
index 0000000..989082f
--- /dev/null
+++ b/src/com/android/settings/panel/PanelContentCallback.java
@@ -0,0 +1,35 @@
+/*
+ * 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.panel;
+
+/**
+ * PanelContentCallback provides a callback interface for {@link PanelFragment} to receive
+ * events from {@link PanelContent}.
+ */
+public interface PanelContentCallback {
+
+    /**
+     * It will be called when customized button state is changed. For example, custom button
+     * would be hidden for specific behavior.
+     */
+    void onCustomizedButtonStateChanged();
+
+    /**
+     * It will be called when header content is changed. For example, to add/remove a device into
+     * a group
+     */
+    void onHeaderChanged();
+}
diff --git a/src/com/android/settings/panel/PanelFeatureProvider.java b/src/com/android/settings/panel/PanelFeatureProvider.java
index 85e098d..402a562 100644
--- a/src/com/android/settings/panel/PanelFeatureProvider.java
+++ b/src/com/android/settings/panel/PanelFeatureProvider.java
@@ -17,12 +17,12 @@
 package com.android.settings.panel;
 
 import android.content.Context;
+import android.os.Bundle;
 
 public interface PanelFeatureProvider {
 
     /**
-     * Returns {@link PanelContent} as specified by the {@param panelType}, and
-     * {@param mediaPackageName}.
+     * Returns {@link PanelContent} as specified by the {@param bundle}
      */
-    PanelContent getPanel(Context context, String panelType, String mediaPackageName);
+    PanelContent getPanel(Context context, Bundle bundle);
 }
diff --git a/src/com/android/settings/panel/PanelFeatureProviderImpl.java b/src/com/android/settings/panel/PanelFeatureProviderImpl.java
index e6b0a23..93c6025 100644
--- a/src/com/android/settings/panel/PanelFeatureProviderImpl.java
+++ b/src/com/android/settings/panel/PanelFeatureProviderImpl.java
@@ -17,18 +17,25 @@
 package com.android.settings.panel;
 
 import static com.android.settingslib.media.MediaOutputSliceConstants.ACTION_MEDIA_OUTPUT;
+import static com.android.settingslib.media.MediaOutputSliceConstants.ACTION_MEDIA_OUTPUT_GROUP;
 
 import android.content.Context;
+import android.os.Bundle;
 import android.provider.Settings;
 
 public class PanelFeatureProviderImpl implements PanelFeatureProvider {
 
     @Override
-    public PanelContent getPanel(Context context, String panelType, String mediaPackageName) {
+    public PanelContent getPanel(Context context, Bundle bundle) {
         if (context == null) {
             return null;
         }
 
+        final String panelType =
+                bundle.getString(SettingsPanelActivity.KEY_PANEL_TYPE_ARGUMENT);
+        final String mediaPackageName =
+                bundle.getString(SettingsPanelActivity.KEY_MEDIA_PACKAGE_NAME);
+
         switch (panelType) {
             case Settings.Panel.ACTION_INTERNET_CONNECTIVITY:
                 return InternetConnectivityPanel.create(context);
@@ -40,6 +47,8 @@
                 return WifiPanel.create(context);
             case Settings.Panel.ACTION_VOLUME:
                 return VolumePanel.create(context);
+            case ACTION_MEDIA_OUTPUT_GROUP:
+                return MediaOutputGroupPanel.create(context, mediaPackageName);
         }
 
         throw new IllegalStateException("No matching panel for: "  + panelType);
diff --git a/src/com/android/settings/panel/PanelFragment.java b/src/com/android/settings/panel/PanelFragment.java
index 79d1ac5..ed5c755 100644
--- a/src/com/android/settings/panel/PanelFragment.java
+++ b/src/com/android/settings/panel/PanelFragment.java
@@ -32,16 +32,20 @@
 import android.view.ViewTreeObserver;
 import android.view.animation.DecelerateInterpolator;
 import android.widget.Button;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
 import android.widget.TextView;
 
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
+import androidx.core.graphics.drawable.IconCompat;
 import androidx.fragment.app.Fragment;
 import androidx.fragment.app.FragmentActivity;
+import androidx.lifecycle.LifecycleObserver;
 import androidx.lifecycle.LiveData;
-import androidx.slice.Slice;
 import androidx.recyclerview.widget.LinearLayoutManager;
 import androidx.recyclerview.widget.RecyclerView;
+import androidx.slice.Slice;
 import androidx.slice.SliceMetadata;
 import androidx.slice.widget.SliceLiveData;
 
@@ -50,10 +54,14 @@
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.panel.PanelLoggingContract.PanelClosedKeys;
 import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
+import com.android.settingslib.utils.ThreadUtils;
+
 import com.google.android.setupdesign.DividerItemDecoration;
 
-import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.LinkedHashMap;
 import java.util.List;
+import java.util.Map;
 
 public class PanelFragment extends Fragment {
 
@@ -74,17 +82,21 @@
      */
     private static final int DURATION_SLICE_BINDING_TIMEOUT_MS = 250;
 
-    private View mLayoutView;
+    @VisibleForTesting
+    View mLayoutView;
     private TextView mTitleView;
     private Button mSeeMoreButton;
     private Button mDoneButton;
     private RecyclerView mPanelSlices;
-
     private PanelContent mPanel;
     private MetricsFeatureProvider mMetricsProvider;
     private String mPanelClosedKey;
+    private LinearLayout mPanelHeader;
+    private ImageView mTitleIcon;
+    private TextView mHeaderTitle;
+    private TextView mHeaderSubtitle;
 
-    private final List<LiveData<Slice>> mSliceLiveData = new ArrayList<>();
+    private final Map<Uri, LiveData<Slice>> mSliceLiveData = new LinkedHashMap<>();
 
     @VisibleForTesting
     PanelSlicesLoaderCountdownLatch mPanelSlicesLoaderCountdownLatch;
@@ -95,14 +107,14 @@
 
     private final ViewTreeObserver.OnGlobalLayoutListener mOnGlobalLayoutListener =
             new ViewTreeObserver.OnGlobalLayoutListener() {
-        @Override
-        public void onGlobalLayout() {
-            animateIn();
-            if (mPanelSlices != null) {
-                mPanelSlices.getViewTreeObserver().removeOnGlobalLayoutListener(this);
-            }
-        }
-    };
+                @Override
+                public void onGlobalLayout() {
+                    animateIn();
+                    if (mPanelSlices != null) {
+                        mPanelSlices.getViewTreeObserver().removeOnGlobalLayoutListener(this);
+                    }
+                }
+            };
 
     private PanelSlicesAdapter mAdapter;
 
@@ -119,9 +131,9 @@
      * Animate the old panel out from the screen, then update the panel with new content once the
      * animation is done.
      * <p>
-     *     Takes the entire panel and animates out from behind the navigation bar.
+     * Takes the entire panel and animates out from behind the navigation bar.
      * <p>
-     *     Call createPanelContent() once animation end.
+     * Call createPanelContent() once animation end.
      */
     void updatePanelWithAnimation() {
         final View panelContent = mLayoutView.findViewById(R.id.panel_container);
@@ -152,44 +164,66 @@
         mSeeMoreButton = mLayoutView.findViewById(R.id.see_more);
         mDoneButton = mLayoutView.findViewById(R.id.done);
         mTitleView = mLayoutView.findViewById(R.id.panel_title);
+        mPanelHeader = mLayoutView.findViewById(R.id.panel_header);
+        mTitleIcon = mLayoutView.findViewById(R.id.title_icon);
+        mHeaderTitle = mLayoutView.findViewById(R.id.header_title);
+        mHeaderSubtitle = mLayoutView.findViewById(R.id.header_subtitle);
 
         // Make the panel layout gone here, to avoid janky animation when updating from old panel.
         // We will make it visible once the panel is ready to load.
         mPanelSlices.setVisibility(View.GONE);
 
         final Bundle arguments = getArguments();
-        final String panelType =
-                arguments.getString(SettingsPanelActivity.KEY_PANEL_TYPE_ARGUMENT);
         final String callingPackageName =
                 arguments.getString(SettingsPanelActivity.KEY_CALLING_PACKAGE_NAME);
-        final String mediaPackageName =
-                arguments.getString(SettingsPanelActivity.KEY_MEDIA_PACKAGE_NAME);
 
-        // TODO (b/124399577) transform interface to take a context and bundle.
         mPanel = FeatureFactory.getFactory(activity)
                 .getPanelFeatureProvider()
-                .getPanel(activity, panelType, mediaPackageName);
+                .getPanel(activity, arguments);
 
         if (mPanel == null) {
             activity.finish();
         }
 
+        mPanel.registerCallback(new LocalPanelCallback());
+        if (mPanel instanceof LifecycleObserver) {
+            getLifecycle().addObserver((LifecycleObserver) mPanel);
+        }
+
         mMetricsProvider = FeatureFactory.getFactory(activity).getMetricsFeatureProvider();
 
         mPanelSlices.setLayoutManager(new LinearLayoutManager((activity)));
-
         // Add predraw listener to remove the animation and while we wait for Slices to load.
         mLayoutView.getViewTreeObserver().addOnPreDrawListener(mOnPreDrawListener);
 
         // Start loading Slices. When finished, the Panel will animate in.
         loadAllSlices();
 
-        mTitleView.setText(mPanel.getTitle());
+        final IconCompat icon = mPanel.getIcon();
+        if (icon == null) {
+            mTitleView.setText(mPanel.getTitle());
+        } else {
+            mTitleView.setVisibility(View.GONE);
+            mPanelHeader.setVisibility(View.VISIBLE);
+            mTitleIcon.setImageIcon(icon.toIcon(getContext()));
+            mHeaderTitle.setText(mPanel.getTitle());
+            mHeaderSubtitle.setText(mPanel.getSubTitle());
+            if (mPanel.getHeaderIconIntent() != null) {
+                mTitleIcon.setOnClickListener(getHeaderIconListener());
+            }
+        }
         mSeeMoreButton.setOnClickListener(getSeeMoreListener());
         mDoneButton.setOnClickListener(getCloseListener());
 
-        // If getSeeMoreIntent() is null, hide the mSeeMoreButton.
-        if (mPanel.getSeeMoreIntent() == null) {
+        if (mPanel.isCustomizedButtonUsed()) {
+            final CharSequence customTitle = mPanel.getCustomButtonTitle();
+            if (TextUtils.isEmpty(customTitle)) {
+                mSeeMoreButton.setVisibility(View.GONE);
+            } else {
+                mSeeMoreButton.setText(customTitle);
+            }
+        } else if (mPanel.getSeeMoreIntent() == null) {
+            // If getSeeMoreIntent() is null hide the mSeeMoreButton.
             mSeeMoreButton.setVisibility(View.GONE);
         }
 
@@ -208,10 +242,14 @@
         mPanelSlicesLoaderCountdownLatch = new PanelSlicesLoaderCountdownLatch(sliceUris.size());
 
         for (Uri uri : sliceUris) {
-            final LiveData<Slice> sliceLiveData = SliceLiveData.fromUri(getActivity(), uri);
+            final LiveData<Slice> sliceLiveData = SliceLiveData.fromUri(getActivity(), uri,
+                    (int type, Throwable source)-> {
+                            removeSliceLiveData(uri);
+                            mPanelSlicesLoaderCountdownLatch.markSliceLoaded(uri);
+                    });
 
             // Add slice first to make it in order.  Will remove it later if there's an error.
-            mSliceLiveData.add(sliceLiveData);
+            mSliceLiveData.put(uri, sliceLiveData);
 
             sliceLiveData.observe(getViewLifecycleOwner(), slice -> {
                 // If the Slice has already loaded, do nothing.
@@ -222,8 +260,9 @@
                 /**
                  * Watching for the {@link Slice} to load.
                  * <p>
-                 *     If the Slice comes back {@code null} or with the Error attribute, remove the
-                 *     Slice data from the list, and mark the Slice as loaded.
+                 *     If the Slice comes back {@code null} or with the Error attribute, if slice
+                 *     uri is not in the whitelist, remove the Slice data from the list, otherwise
+                 *     keep the Slice data.
                  * <p>
                  *     If the Slice has come back fully loaded, then mark the Slice as loaded.  No
                  *     other actions required since we already have the Slice data in the list.
@@ -235,7 +274,7 @@
                  */
                 final SliceMetadata metadata = SliceMetadata.from(getActivity(), slice);
                 if (slice == null || metadata.isErrorSlice()) {
-                    mSliceLiveData.remove(sliceLiveData);
+                    removeSliceLiveData(uri);
                     mPanelSlicesLoaderCountdownLatch.markSliceLoaded(uri);
                 } else if (metadata.getLoadingState() == SliceMetadata.LOADED_ALL) {
                     mPanelSlicesLoaderCountdownLatch.markSliceLoaded(uri);
@@ -252,12 +291,21 @@
         }
     }
 
+    private void removeSliceLiveData(Uri uri) {
+        final List<String> whiteList = Arrays.asList(
+                getResources().getStringArray(
+                        R.array.config_panel_keep_observe_uri));
+        if (!whiteList.contains(uri.toString())) {
+            mSliceLiveData.remove(uri);
+        }
+    }
+
     /**
      * When all of the Slices have loaded for the first time, then we can setup the
      * {@link RecyclerView}.
      * <p>
-     *     When the Recyclerview has been laid out, we can begin the animation with the
-     *     {@link mOnGlobalLayoutListener}, which calls {@link #animateIn()}.
+     * When the Recyclerview has been laid out, we can begin the animation with the
+     * {@link mOnGlobalLayoutListener}, which calls {@link #animateIn()}.
      */
     private void loadPanelWhenReady() {
         if (mPanelSlicesLoaderCountdownLatch.isPanelReadyToLoad()) {
@@ -268,19 +316,21 @@
                     .addOnGlobalLayoutListener(mOnGlobalLayoutListener);
             mPanelSlices.setVisibility(View.VISIBLE);
 
-            DividerItemDecoration itemDecoration = new DividerItemDecoration(getActivity());
+            final DividerItemDecoration itemDecoration = new DividerItemDecoration(getActivity());
             itemDecoration
                     .setDividerCondition(DividerItemDecoration.DIVIDER_CONDITION_BOTH);
-            mPanelSlices.addItemDecoration(itemDecoration);
+            if (mPanelSlices.getItemDecorationCount() == 0) {
+                mPanelSlices.addItemDecoration(itemDecoration);
+            }
         }
     }
 
     /**
      * Animate a Panel onto the screen.
      * <p>
-     *     Takes the entire panel and animates in from behind the navigation bar.
+     * Takes the entire panel and animates in from behind the navigation bar.
      * <p>
-     *     Relies on the Panel being having a fixed height to begin the animation.
+     * Relies on the Panel being having a fixed height to begin the animation.
      */
     private void animateIn() {
         final View panelContent = mLayoutView.findViewById(R.id.panel_container);
@@ -311,7 +361,7 @@
         animatorSet.setInterpolator(new DecelerateInterpolator());
         animatorSet.playTogether(
                 ObjectAnimator.ofFloat(sheet, View.TRANSLATION_Y, startY, endY),
-                ObjectAnimator.ofFloat(sheet, View.ALPHA, startAlpha,endAlpha));
+                ObjectAnimator.ofFloat(sheet, View.ALPHA, startAlpha, endAlpha));
         return animatorSet;
     }
 
@@ -335,9 +385,13 @@
     View.OnClickListener getSeeMoreListener() {
         return (v) -> {
             mPanelClosedKey = PanelClosedKeys.KEY_SEE_MORE;
-            final FragmentActivity activity = getActivity();
-            activity.startActivityForResult(mPanel.getSeeMoreIntent(), 0);
-            activity.finish();
+            if (mPanel.isCustomizedButtonUsed()) {
+                mPanel.onClickCustomizedButton();
+            } else {
+                final FragmentActivity activity = getActivity();
+                activity.startActivityForResult(mPanel.getSeeMoreIntent(), 0);
+                activity.finish();
+            }
         };
     }
 
@@ -348,4 +402,36 @@
             getActivity().finish();
         };
     }
+
+    @VisibleForTesting
+    View.OnClickListener getHeaderIconListener() {
+        return (v) -> {
+            final FragmentActivity activity = getActivity();
+            activity.startActivity(mPanel.getHeaderIconIntent());
+        };
+    }
+
+    int getPanelViewType() {
+        return mPanel.getViewType();
+    }
+
+    class LocalPanelCallback implements PanelContentCallback {
+
+        @Override
+        public void onCustomizedButtonStateChanged() {
+            ThreadUtils.postOnMainThread(() -> {
+                mSeeMoreButton.setVisibility(
+                        mPanel.isCustomizedButtonUsed() ? View.VISIBLE : View.GONE);
+            });
+        }
+
+        @Override
+        public void onHeaderChanged() {
+            ThreadUtils.postOnMainThread(() -> {
+                mTitleIcon.setImageIcon(mPanel.getIcon().toIcon(getContext()));
+                mHeaderTitle.setText(mPanel.getTitle());
+                mHeaderSubtitle.setText(mPanel.getSubTitle());
+            });
+        }
+    }
 }
diff --git a/src/com/android/settings/panel/PanelSlicesAdapter.java b/src/com/android/settings/panel/PanelSlicesAdapter.java
index 0f525cc..1b69cc2 100644
--- a/src/com/android/settings/panel/PanelSlicesAdapter.java
+++ b/src/com/android/settings/panel/PanelSlicesAdapter.java
@@ -20,6 +20,7 @@
 
 import android.app.settings.SettingsEnums;
 import android.content.Context;
+import android.net.Uri;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
@@ -38,6 +39,7 @@
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
 
 /**
  * RecyclerView adapter for Slices in Settings Panels.
@@ -49,16 +51,16 @@
      * Maximum number of slices allowed on the panel view.
      */
     @VisibleForTesting
-    static final int MAX_NUM_OF_SLICES = 5;
+    static final int MAX_NUM_OF_SLICES = 6;
 
     private final List<LiveData<Slice>> mSliceLiveData;
     private final int mMetricsCategory;
     private final PanelFragment mPanelFragment;
 
     public PanelSlicesAdapter(
-            PanelFragment fragment, List<LiveData<Slice>> sliceLiveData, int metricsCategory) {
+            PanelFragment fragment, Map<Uri, LiveData<Slice>> sliceLiveData, int metricsCategory) {
         mPanelFragment = fragment;
-        mSliceLiveData = new ArrayList<>(sliceLiveData);
+        mSliceLiveData = new ArrayList<>(sliceLiveData.values());
         mMetricsCategory = metricsCategory;
     }
 
@@ -67,7 +69,12 @@
     public SliceRowViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int viewType) {
         final Context context = viewGroup.getContext();
         final LayoutInflater inflater = LayoutInflater.from(context);
-        final View view = inflater.inflate(R.layout.panel_slice_row, viewGroup, false);
+        View view;
+        if (viewType == PanelContent.VIEW_TYPE_SLIDER) {
+            view = inflater.inflate(R.layout.panel_slice_slider_row, viewGroup, false);
+        } else {
+            view = inflater.inflate(R.layout.panel_slice_row, viewGroup, false);
+        }
 
         return new SliceRowViewHolder(view);
     }
@@ -85,6 +92,11 @@
         return Math.min(mSliceLiveData.size(), MAX_NUM_OF_SLICES);
     }
 
+    @Override
+    public int getItemViewType(int position) {
+        return mPanelFragment.getPanelViewType();
+    }
+
     /**
      * Return the available data from the adapter. If the number of Slices over the max number
      * allowed, the list will only have the first MAX_NUM_OF_SLICES of slices.
@@ -109,7 +121,7 @@
             super(view);
             sliceView = view.findViewById(R.id.slice_view);
             sliceView.setMode(SliceView.MODE_LARGE);
-            sliceView.showTitleItems(true);
+            sliceView.setShowTitleItems(true);
         }
 
         public void onBind(LiveData<Slice> sliceLiveData) {
@@ -117,7 +129,7 @@
 
             // Do not show the divider above media devices switcher slice per request
             final Slice slice = sliceLiveData.getValue();
-            if (slice != null && slice.getUri().equals(MEDIA_OUTPUT_INDICATOR_SLICE_URI)) {
+            if (slice == null || slice.getUri().equals(MEDIA_OUTPUT_INDICATOR_SLICE_URI)) {
                 mDividerAllowedAbove = false;
             }
 
diff --git a/src/com/android/settings/panel/SettingsPanelActivity.java b/src/com/android/settings/panel/SettingsPanelActivity.java
index 8693186..ce437bb 100644
--- a/src/com/android/settings/panel/SettingsPanelActivity.java
+++ b/src/com/android/settings/panel/SettingsPanelActivity.java
@@ -59,6 +59,8 @@
      */
     public static final String KEY_MEDIA_PACKAGE_NAME = "PANEL_MEDIA_PACKAGE_NAME";
 
+    private boolean mForceCreation = false;
+
     @Override
     protected void onCreate(@Nullable Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
@@ -70,7 +72,19 @@
     protected void onNewIntent(Intent intent) {
         super.onNewIntent(intent);
         setIntent(intent);
-        createOrUpdatePanel(false /* shouldForceCreation */);
+        createOrUpdatePanel(mForceCreation);
+    }
+
+    @Override
+    protected void onResume() {
+        super.onResume();
+        mForceCreation = false;
+    }
+
+    @Override
+    protected void onStop() {
+        super.onStop();
+        mForceCreation = true;
     }
 
     private void createOrUpdatePanel(boolean shouldForceCreation) {
@@ -91,7 +105,7 @@
         final FragmentManager fragmentManager = getSupportFragmentManager();
         final Fragment fragment = fragmentManager.findFragmentById(R.id.main_content);
 
-        // If fragment already exists, we will need to update panel with animation.
+        // If fragment already exists and visible, we will need to update panel with animation.
         if (!shouldForceCreation && fragment != null && fragment instanceof PanelFragment) {
             final PanelFragment panelFragment = (PanelFragment) fragment;
             panelFragment.setArguments(mBundle);
diff --git a/src/com/android/settings/panel/VolumePanel.java b/src/com/android/settings/panel/VolumePanel.java
index 1a166ba..d45bfd1 100644
--- a/src/com/android/settings/panel/VolumePanel.java
+++ b/src/com/android/settings/panel/VolumePanel.java
@@ -17,10 +17,10 @@
 package com.android.settings.panel;
 
 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;
 import static com.android.settings.slices.CustomSliceRegistry.VOLUME_CALL_URI;
 import static com.android.settings.slices.CustomSliceRegistry.VOLUME_MEDIA_URI;
-import static com.android.settings.slices.CustomSliceRegistry.VOLUME_REMOTE_MEDIA_URI;
 import static com.android.settings.slices.CustomSliceRegistry.VOLUME_RINGER_URI;
 
 import android.app.settings.SettingsEnums;
@@ -30,7 +30,6 @@
 import android.provider.Settings;
 
 import com.android.settings.R;
-import com.android.settings.notification.RemoteVolumePreferenceController;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -49,15 +48,14 @@
 
     @Override
     public CharSequence getTitle() {
-        return mContext.getText(R.string.volume_connectivity_panel_title);
+        return mContext.getText(R.string.sound_settings);
     }
 
     @Override
     public List<Uri> getSlices() {
         final List<Uri> uris = new ArrayList<>();
-        if (RemoteVolumePreferenceController.getActiveRemoteToken(mContext) != null) {
-            uris.add(VOLUME_REMOTE_MEDIA_URI);
-        }
+
+        uris.add(REMOTE_MEDIA_SLICE_URI);
         uris.add(VOLUME_MEDIA_URI);
         uris.add(MEDIA_OUTPUT_INDICATOR_SLICE_URI);
         uris.add(VOLUME_CALL_URI);
@@ -75,4 +73,9 @@
     public int getMetricsCategory() {
         return SettingsEnums.PANEL_VOLUME;
     }
+
+    @Override
+    public int getViewType() {
+        return PanelContent.VIEW_TYPE_SLIDER;
+    }
 }
\ No newline at end of file
diff --git a/src/com/android/settings/panel/WifiPanel.java b/src/com/android/settings/panel/WifiPanel.java
index 36ee117..0efa804 100644
--- a/src/com/android/settings/panel/WifiPanel.java
+++ b/src/com/android/settings/panel/WifiPanel.java
@@ -20,12 +20,14 @@
 import android.content.Context;
 import android.content.Intent;
 import android.net.Uri;
+import android.util.FeatureFlagUtils;
 
 import com.android.settings.R;
 import com.android.settings.SubSettings;
 import com.android.settings.slices.CustomSliceRegistry;
 import com.android.settings.slices.SliceBuilderUtils;
 import com.android.settings.wifi.WifiSettings;
+import com.android.settings.wifi.WifiSettings2;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -61,11 +63,20 @@
     public Intent getSeeMoreIntent() {
         final String screenTitle =
                 mContext.getText(R.string.wifi_settings).toString();
-        final Intent intent = SliceBuilderUtils.buildSearchResultPageIntent(mContext,
-                WifiSettings.class.getName(),
-                null /* key */,
-                screenTitle,
-                SettingsEnums.WIFI);
+        Intent intent;
+        if (FeatureFlagUtils.isEnabled(mContext, FeatureFlagUtils.SETTINGS_WIFITRACKER2)) {
+            intent = SliceBuilderUtils.buildSearchResultPageIntent(mContext,
+                    WifiSettings2.class.getName(),
+                    null /* key */,
+                    screenTitle,
+                    SettingsEnums.WIFI);
+        } else {
+            intent = SliceBuilderUtils.buildSearchResultPageIntent(mContext,
+                    WifiSettings.class.getName(),
+                    null /* key */,
+                    screenTitle,
+                    SettingsEnums.WIFI);
+        }
         intent.setClassName(mContext.getPackageName(), SubSettings.class.getName());
         intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
         return intent;
diff --git a/src/com/android/settings/password/BiometricFragment.java b/src/com/android/settings/password/BiometricFragment.java
index 66b665b..bc0e5c7 100644
--- a/src/com/android/settings/password/BiometricFragment.java
+++ b/src/com/android/settings/password/BiometricFragment.java
@@ -16,27 +16,18 @@
 
 package com.android.settings.password;
 
-import android.app.Activity;
-import android.app.admin.DevicePolicyManager;
 import android.app.settings.SettingsEnums;
 import android.content.DialogInterface;
 import android.hardware.biometrics.BiometricConstants;
 import android.hardware.biometrics.BiometricPrompt;
 import android.hardware.biometrics.BiometricPrompt.AuthenticationCallback;
 import android.hardware.biometrics.BiometricPrompt.AuthenticationResult;
-import android.hardware.biometrics.IBiometricConfirmDeviceCredentialCallback;
 import android.os.Bundle;
 import android.os.CancellationSignal;
-import android.os.Handler;
-import android.os.Looper;
-import android.util.Log;
 
 import androidx.annotation.NonNull;
 
-import com.android.internal.widget.LockPatternUtils;
-import com.android.settings.R;
 import com.android.settings.core.InstrumentedFragment;
-import com.android.settings.overlay.FeatureFactory;
 
 import java.util.concurrent.Executor;
 
@@ -91,20 +82,6 @@
         }
     };
 
-    // TODO(b/123378871): Remove when moved.
-    private final IBiometricConfirmDeviceCredentialCallback mCancelCallback
-        = new IBiometricConfirmDeviceCredentialCallback.Stub() {
-        @Override
-        public void cancel() {
-            final Activity activity = getActivity();
-            if (activity != null) {
-                activity.finish();
-            } else {
-                Log.e(TAG, "Activity null!");
-            }
-        }
-    };
-
     /**
      * @param bundle Bundle passed from {@link BiometricPrompt.Builder#buildIntent()}
      * @return
@@ -150,38 +127,17 @@
         final BiometricPrompt.Builder builder = new BiometricPrompt.Builder(getContext())
                 .setTitle(mBundle.getString(BiometricPrompt.KEY_TITLE))
                 .setUseDefaultTitle() // use default title if title is null/empty
-                .setFromConfirmDeviceCredential()
+                .setDeviceCredentialAllowed(true)
                 .setSubtitle(mBundle.getString(BiometricPrompt.KEY_SUBTITLE))
                 .setDescription(mBundle.getString(BiometricPrompt.KEY_DESCRIPTION))
-                .setConfirmationRequired(
-                        mBundle.getBoolean(BiometricPrompt.KEY_REQUIRE_CONFIRMATION, true));
-
-        final LockPatternUtils lockPatternUtils = FeatureFactory.getFactory(
-                getContext())
-                .getSecurityFeatureProvider()
-                .getLockPatternUtils(getContext());
-
-        switch (lockPatternUtils.getKeyguardStoredPasswordQuality(mUserId)) {
-            case DevicePolicyManager.PASSWORD_QUALITY_SOMETHING:
-                builder.setNegativeButton(getResources().getString(
-                        R.string.confirm_device_credential_pattern),
-                        mClientExecutor, mNegativeButtonListener);
-                break;
-            case DevicePolicyManager.PASSWORD_QUALITY_NUMERIC:
-            case DevicePolicyManager.PASSWORD_QUALITY_NUMERIC_COMPLEX:
-                builder.setNegativeButton(getResources().getString(
-                        R.string.confirm_device_credential_pin),
-                        mClientExecutor, mNegativeButtonListener);
-                break;
-            case DevicePolicyManager.PASSWORD_QUALITY_ALPHABETIC:
-            case DevicePolicyManager.PASSWORD_QUALITY_ALPHANUMERIC:
-            case DevicePolicyManager.PASSWORD_QUALITY_COMPLEX:
-            case DevicePolicyManager.PASSWORD_QUALITY_MANAGED:
-                builder.setNegativeButton(getResources().getString(
-                        R.string.confirm_device_credential_password),
-                        mClientExecutor, mNegativeButtonListener);
-                break;
-        }
+                .setTextForDeviceCredential(
+                        mBundle.getCharSequence(BiometricPrompt.KEY_DEVICE_CREDENTIAL_TITLE),
+                        mBundle.getCharSequence(BiometricPrompt.KEY_DEVICE_CREDENTIAL_SUBTITLE),
+                        mBundle.getCharSequence(BiometricPrompt.KEY_DEVICE_CREDENTIAL_DESCRIPTION))
+                .setConfirmationRequired(mBundle.getBoolean(
+                        BiometricPrompt.KEY_REQUIRE_CONFIRMATION, true))
+                .setDisallowBiometricsIfPolicyExists(mBundle.getBoolean(
+                        BiometricPrompt.EXTRA_DISALLOW_BIOMETRICS_IF_POLICY_EXISTS, false));
 
         mBiometricPrompt = builder.build();
         mCancellationSignal = new CancellationSignal();
@@ -189,7 +145,7 @@
         // TODO: CC doesn't use crypto for now
         mAuthenticating = true;
         mBiometricPrompt.authenticateUser(mCancellationSignal, mClientExecutor,
-                mAuthenticationCallback, mUserId, mCancelCallback);
+                mAuthenticationCallback, mUserId);
     }
 
     @Override
diff --git a/src/com/android/settings/password/ChooseLockGeneric.java b/src/com/android/settings/password/ChooseLockGeneric.java
index 2a7de05..6809f35 100644
--- a/src/com/android/settings/password/ChooseLockGeneric.java
+++ b/src/com/android/settings/password/ChooseLockGeneric.java
@@ -36,12 +36,8 @@
 import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.content.Intent;
-import android.content.pm.UserInfo;
-import android.hardware.face.Face;
 import android.hardware.face.FaceManager;
-import android.hardware.fingerprint.Fingerprint;
 import android.hardware.fingerprint.FingerprintManager;
-import android.hardware.fingerprint.FingerprintManager.RemovalCallback;
 import android.os.Bundle;
 import android.os.UserHandle;
 import android.os.UserManager;
@@ -61,6 +57,7 @@
 import androidx.preference.PreferenceScreen;
 
 import com.android.internal.widget.LockPatternUtils;
+import com.android.internal.widget.LockscreenCredential;
 import com.android.settings.EncryptionInterstitial;
 import com.android.settings.EventLogTags;
 import com.android.settings.R;
@@ -74,10 +71,8 @@
 import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
 import com.android.settingslib.RestrictedLockUtilsInternal;
 import com.android.settingslib.RestrictedPreference;
-import com.android.settingslib.widget.FooterPreference;
-import com.android.settingslib.widget.FooterPreferenceMixinCompat;
 
-import java.util.List;
+import com.google.android.setupcompat.util.WizardManagerHelper;
 
 public class ChooseLockGeneric extends SettingsActivity {
     public static final String CONFIRM_CREDENTIALS = "confirm_credentials";
@@ -112,6 +107,7 @@
         public static final String MINIMUM_QUALITY_KEY = "minimum_quality";
         public static final String HIDE_DISABLED_PREFS = "hide_disabled_prefs";
         public static final String TAG_FRP_WARNING_DIALOG = "frp_warning_dialog";
+        public static final String KEY_LOCK_SETTINGS_FOOTER ="lock_settings_footer";
 
         /**
          * Boolean extra determining whether a "screen lock options" button should be shown. This
@@ -152,7 +148,7 @@
         private boolean mPasswordConfirmed = false;
         private boolean mWaitingForConfirmation = false;
         private boolean mForChangeCredRequiredForBoot = false;
-        private byte[] mUserPassword;
+        private LockscreenCredential mUserPassword;
         private LockPatternUtils mLockPatternUtils;
         private FingerprintManager mFingerprintManager;
         private FaceManager mFaceManager;
@@ -188,7 +184,8 @@
         public void onCreate(Bundle savedInstanceState) {
             super.onCreate(savedInstanceState);
             final Activity activity = getActivity();
-            if (!Utils.isDeviceProvisioned(activity) && !canRunBeforeDeviceProvisioned()) {
+            if (!WizardManagerHelper.isDeviceProvisioned(activity)
+                    && !canRunBeforeDeviceProvisioned()) {
                 Log.i(TAG, "Refusing to start because device is not provisioned");
                 activity.finish();
                 return;
@@ -208,7 +205,7 @@
                 .getBooleanExtra(CONFIRM_CREDENTIALS, true);
             if (getActivity() instanceof ChooseLockGeneric.InternalActivity) {
                 mPasswordConfirmed = !confirmCredentials;
-                mUserPassword = getActivity().getIntent().getByteArrayExtra(
+                mUserPassword = getActivity().getIntent().getParcelableExtra(
                         ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD);
             }
 
@@ -234,7 +231,7 @@
                 mPasswordConfirmed = savedInstanceState.getBoolean(PASSWORD_CONFIRMED);
                 mWaitingForConfirmation = savedInstanceState.getBoolean(WAITING_FOR_CONFIRMATION);
                 if (mUserPassword == null) {
-                    mUserPassword = savedInstanceState.getByteArray(
+                    mUserPassword = savedInstanceState.getParcelable(
                             ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD);
                 }
             }
@@ -393,11 +390,11 @@
             if (requestCode == CONFIRM_EXISTING_REQUEST && resultCode == Activity.RESULT_OK) {
                 mPasswordConfirmed = true;
                 mUserPassword = data != null
-                    ? data.getByteArrayExtra(ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD)
+                    ? data.getParcelableExtra(ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD)
                     : null;
                 updatePreferencesOrFinish(false /* isRecreatingActivity */);
                 if (mForChangeCredRequiredForBoot) {
-                    if (!(mUserPassword == null || mUserPassword.length == 0)) {
+                    if (mUserPassword != null && !mUserPassword.isNone()) {
                         maybeEnableEncryption(
                                 mLockPatternUtils.getKeyguardStoredPasswordQuality(mUserId), false);
                     } else {
@@ -460,7 +457,7 @@
             outState.putBoolean(PASSWORD_CONFIRMED, mPasswordConfirmed);
             outState.putBoolean(WAITING_FOR_CONFIRMATION, mWaitingForConfirmation);
             if (mUserPassword != null) {
-                outState.putByteArray(ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD, mUserPassword);
+                outState.putParcelable(ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD, mUserPassword);
             }
         }
 
@@ -499,11 +496,12 @@
         protected void addPreferences() {
             addPreferencesFromResource(R.xml.security_settings_picker);
 
+            final Preference footer = findPreference(KEY_LOCK_SETTINGS_FOOTER);
             if (!TextUtils.isEmpty(mCallerAppName) && !mIsCallingAppAdmin) {
-                FooterPreferenceMixinCompat footerMixin =
-                        new FooterPreferenceMixinCompat(this, getSettingsLifecycle());
-                FooterPreference footer = footerMixin.createFooterPreference();
+                footer.setVisible(true);
                 footer.setTitle(getFooterString());
+            } else {
+                footer.setVisible(false);
             }
 
             // Used for testing purposes
@@ -682,7 +680,7 @@
             setPreferenceSummary(ScreenLockType.MANAGED, R.string.secure_lock_encryption_warning);
         }
 
-        protected Intent getLockManagedPasswordIntent(byte[] password) {
+        protected Intent getLockManagedPasswordIntent(LockscreenCredential password) {
             return mManagedPasswordProvider.createIntent(false, password);
         }
 
@@ -725,30 +723,6 @@
         }
 
         /**
-         * Keeps track of the biometric removal status. When all biometrics (including managed
-         * profiles) are removed, finishes the activity. Otherwise, it's possible the UI still
-         * shows enrolled biometrics due to the async remove.
-         */
-        private class RemovalTracker {
-            boolean mFingerprintDone;
-            boolean mFaceDone;
-
-            void onFingerprintDone() {
-                mFingerprintDone = true;
-                if (mFingerprintDone && mFaceDone) {
-                    finish();
-                }
-            }
-
-            void onFaceDone() {
-                mFaceDone = true;
-                if (mFingerprintDone && mFaceDone) {
-                    finish();
-                }
-            }
-        }
-
-        /**
          * Invokes an activity to change the user's pattern, password or PIN based on given quality
          * and minimum quality specified by DevicePolicyManager. If quality is
          * {@link DevicePolicyManager#PASSWORD_QUALITY_UNSPECIFIED}, password is cleared.
@@ -781,21 +755,20 @@
             }
 
             if (quality == DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED) {
-                mChooseLockSettingsHelper.utils().clearLock(mUserPassword, mUserId);
+                // Clearing of user biometrics when screen lock is cleared is done at
+                // LockSettingsService.removeBiometricsForUser().
+                if (mUserPassword != null) {
+                    // No need to call setLockCredential if the user currently doesn't
+                    // have a password
+                    mChooseLockSettingsHelper.utils().setLockCredential(
+                            LockscreenCredential.createNone(), mUserPassword, mUserId);
+                }
                 mChooseLockSettingsHelper.utils().setLockScreenDisabled(disabled, mUserId);
                 getActivity().setResult(Activity.RESULT_OK);
-                removeAllBiometricsForUserAndFinish(mUserId);
-            } else {
-                removeAllBiometricsForUserAndFinish(mUserId);
+                finish();
             }
         }
 
-        private void removeAllBiometricsForUserAndFinish(final int userId) {
-            final RemovalTracker tracker = new RemovalTracker();
-            removeAllFingerprintForUserAndFinish(userId, tracker);
-            removeAllFaceForUserAndFinish(userId, tracker);
-        }
-
         private Intent getIntentForUnlockMethod(int quality) {
             Intent intent = null;
             if (quality >= DevicePolicyManager.PASSWORD_QUALITY_MANAGED) {
@@ -808,128 +781,6 @@
             return intent;
         }
 
-        private void removeAllFingerprintForUserAndFinish(final int userId,
-                RemovalTracker tracker) {
-            if (mFingerprintManager != null && mFingerprintManager.isHardwareDetected()) {
-                if (mFingerprintManager.hasEnrolledFingerprints(userId)) {
-                    mFingerprintManager.setActiveUser(userId);
-                    // For the purposes of M and N, groupId is the same as userId.
-                    final int groupId = userId;
-                    Fingerprint finger = new Fingerprint(null, groupId, 0, 0);
-                    mFingerprintManager.remove(finger, userId,
-                            new RemovalCallback() {
-                                @Override
-                                public void onRemovalError(Fingerprint fp, int errMsgId,
-                                        CharSequence errString) {
-                                    Log.e(TAG, String.format(
-                                            "Can't remove fingerprint %d in group %d. Reason: %s",
-                                            fp.getBiometricId(), fp.getGroupId(), errString));
-                                    // TODO: need to proceed with the removal of managed profile
-                                    // fingerprints and finish() gracefully.
-                                }
-
-                                @Override
-                                public void onRemovalSucceeded(Fingerprint fp, int remaining) {
-                                    if (remaining == 0) {
-                                        removeManagedProfileFingerprintsAndFinishIfNecessary(userId,
-                                                tracker);
-                                    }
-                                }
-                            });
-                } else {
-                    // No fingerprints in this user, we may also want to delete managed profile
-                    // fingerprints
-                    removeManagedProfileFingerprintsAndFinishIfNecessary(userId, tracker);
-                }
-            } else {
-                // The removal callback will call finish, once all fingerprints are removed.
-                // We need to wait for that to occur, otherwise, the UI will still show that
-                // fingerprints exist even though they are (about to) be removed depending on
-                // the race condition.
-                tracker.onFingerprintDone();
-            }
-        }
-
-        private void removeManagedProfileFingerprintsAndFinishIfNecessary(final int parentUserId,
-                RemovalTracker tracker) {
-            if (mFingerprintManager != null && mFingerprintManager.isHardwareDetected()) {
-                mFingerprintManager.setActiveUser(UserHandle.myUserId());
-            }
-            boolean hasChildProfile = false;
-            if (!mUserManager.getUserInfo(parentUserId).isManagedProfile()) {
-                // Current user is primary profile, remove work profile fingerprints if necessary
-                final List<UserInfo> profiles = mUserManager.getProfiles(parentUserId);
-                final int profilesSize = profiles.size();
-                for (int i = 0; i < profilesSize; i++) {
-                    final UserInfo userInfo = profiles.get(i);
-                    if (userInfo.isManagedProfile() && !mLockPatternUtils
-                            .isSeparateProfileChallengeEnabled(userInfo.id)) {
-                        removeAllFingerprintForUserAndFinish(userInfo.id, tracker);
-                        hasChildProfile = true;
-                        break;
-                    }
-                }
-            }
-            if (!hasChildProfile) {
-                tracker.onFingerprintDone();
-            }
-        }
-
-        // TODO: figure out how to eliminate duplicated code. It's a bit hard due to the async-ness
-        private void removeAllFaceForUserAndFinish(final int userId, RemovalTracker tracker) {
-            if (mFaceManager != null && mFaceManager.isHardwareDetected()) {
-                if (mFaceManager.hasEnrolledTemplates(userId)) {
-                    mFaceManager.setActiveUser(userId);
-                    Face face = new Face(null, 0, 0);
-                    mFaceManager.remove(face, userId,
-                            new FaceManager.RemovalCallback() {
-                        @Override
-                        public void onRemovalError(Face face, int errMsgId, CharSequence err) {
-                            Log.e(TAG, String.format("Can't remove face %d. Reason: %s",
-                                    face.getBiometricId(), err));
-                        }
-                        @Override
-                        public void onRemovalSucceeded(Face face, int remaining) {
-                            if (remaining == 0) {
-                                removeManagedProfileFacesAndFinishIfNecessary(userId, tracker);
-                            }
-                        }
-                    });
-                } else {
-                    // No faces in this user, we may also want to delete managed profile faces
-                    removeManagedProfileFacesAndFinishIfNecessary(userId, tracker);
-                }
-            } else {
-                tracker.onFaceDone();
-            }
-        }
-
-        // TODO: figure out how to eliminate duplicated code. It's a bit hard due to the async-ness
-        private void removeManagedProfileFacesAndFinishIfNecessary(final int parentUserId,
-                RemovalTracker tracker) {
-            if (mFaceManager != null && mFaceManager.isHardwareDetected()) {
-                mFaceManager.setActiveUser(UserHandle.myUserId());
-            }
-            boolean hasChildProfile = false;
-            if (!mUserManager.getUserInfo(parentUserId).isManagedProfile()) {
-                // Current user is primary profile, remove work profile faces if necessary
-                final List<UserInfo> profiles = mUserManager.getProfiles(parentUserId);
-                final int profilesSize = profiles.size();
-                for (int i = 0; i < profilesSize; i++) {
-                    final UserInfo userInfo = profiles.get(i);
-                    if (userInfo.isManagedProfile() && !mLockPatternUtils
-                            .isSeparateProfileChallengeEnabled(userInfo.id)) {
-                        removeAllFaceForUserAndFinish(userInfo.id, tracker);
-                        hasChildProfile = true;
-                        break;
-                    }
-                }
-            }
-            if (!hasChildProfile) {
-                tracker.onFaceDone();
-            }
-        }
-
         @Override
         public void onDestroy() {
             super.onDestroy();
diff --git a/src/com/android/settings/password/ChooseLockGenericController.java b/src/com/android/settings/password/ChooseLockGenericController.java
index 62a0063..1bfdac9 100644
--- a/src/com/android/settings/password/ChooseLockGenericController.java
+++ b/src/com/android/settings/password/ChooseLockGenericController.java
@@ -92,6 +92,7 @@
      */
     public int upgradeQuality(int quality) {
         // Compare specified quality and dpm quality
+        // TODO(b/142781408): convert from quality to credential type once PIN is supported.
         int dpmUpgradedQuality = Math.max(quality, mDpm.getPasswordQuality(null, mUserId));
         return Math.max(dpmUpgradedQuality,
                 PasswordMetrics.complexityLevelToMinQuality(mRequestedMinComplexity));
diff --git a/src/com/android/settings/password/ChooseLockPassword.java b/src/com/android/settings/password/ChooseLockPassword.java
index 639dd6b..ff94d8b 100644
--- a/src/com/android/settings/password/ChooseLockPassword.java
+++ b/src/com/android/settings/password/ChooseLockPassword.java
@@ -17,12 +17,20 @@
 package com.android.settings.password;
 
 import static android.app.admin.DevicePolicyManager.PASSWORD_COMPLEXITY_NONE;
-import static android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_ALPHABETIC;
-import static android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_ALPHANUMERIC;
-import static android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_COMPLEX;
 import static android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_NUMERIC;
-import static android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_NUMERIC_COMPLEX;
 
+import static com.android.internal.widget.PasswordValidationError.CONTAINS_INVALID_CHARACTERS;
+import static com.android.internal.widget.PasswordValidationError.CONTAINS_SEQUENCE;
+import static com.android.internal.widget.PasswordValidationError.NOT_ENOUGH_DIGITS;
+import static com.android.internal.widget.PasswordValidationError.NOT_ENOUGH_LETTERS;
+import static com.android.internal.widget.PasswordValidationError.NOT_ENOUGH_LOWER_CASE;
+import static com.android.internal.widget.PasswordValidationError.NOT_ENOUGH_NON_DIGITS;
+import static com.android.internal.widget.PasswordValidationError.NOT_ENOUGH_NON_LETTER;
+import static com.android.internal.widget.PasswordValidationError.NOT_ENOUGH_SYMBOLS;
+import static com.android.internal.widget.PasswordValidationError.NOT_ENOUGH_UPPER_CASE;
+import static com.android.internal.widget.PasswordValidationError.RECENTLY_USED;
+import static com.android.internal.widget.PasswordValidationError.TOO_LONG;
+import static com.android.internal.widget.PasswordValidationError.TOO_SHORT;
 import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_REQUESTED_MIN_COMPLEXITY;
 
 import android.app.Activity;
@@ -51,7 +59,6 @@
 import android.view.View;
 import android.view.ViewGroup;
 import android.view.inputmethod.EditorInfo;
-import android.widget.LinearLayout;
 import android.widget.TextView;
 import android.widget.TextView.OnEditorActionListener;
 
@@ -63,6 +70,8 @@
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.widget.LockPatternUtils;
 import com.android.internal.widget.LockPatternUtils.RequestThrottledException;
+import com.android.internal.widget.LockscreenCredential;
+import com.android.internal.widget.PasswordValidationError;
 import com.android.internal.widget.TextViewInputDisabler;
 import com.android.settings.EncryptionInterstitial;
 import com.android.settings.R;
@@ -78,7 +87,7 @@
 import com.google.android.setupdesign.GlifLayout;
 
 import java.util.ArrayList;
-import java.util.Arrays;
+import java.util.Collections;
 import java.util.List;
 
 public class ChooseLockPassword extends SettingsActivity {
@@ -124,7 +133,7 @@
             return this;
         }
 
-        public IntentBuilder setPassword(byte[] password) {
+        public IntentBuilder setPassword(LockscreenCredential password) {
             mIntent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD, password);
             return this;
         }
@@ -180,28 +189,23 @@
 
     public static class ChooseLockPasswordFragment extends InstrumentedFragment
             implements OnEditorActionListener, TextWatcher, SaveAndFinishWorker.Listener {
-        private static final String KEY_FIRST_PIN = "first_pin";
+        private static final String KEY_FIRST_PASSWORD = "first_password";
         private static final String KEY_UI_STAGE = "ui_stage";
-        private static final String KEY_CURRENT_PASSWORD = "current_password";
+        private static final String KEY_CURRENT_CREDENTIAL = "current_credential";
         private static final String FRAGMENT_TAG_SAVE_AND_FINISH = "save_and_finish_worker";
 
-        private byte[] mCurrentPassword;
-        private byte[] mChosenPassword;
+        private LockscreenCredential mCurrentCredential;
+        private LockscreenCredential mChosenPassword;
         private boolean mHasChallenge;
         private long mChallenge;
         private ImeAwareEditText mPasswordEntry;
         private TextViewInputDisabler mPasswordEntryInputDisabler;
-        private int mPasswordMinLength = LockPatternUtils.MIN_LOCK_PASSWORD_SIZE;
-        private int mPasswordMaxLength = 16;
-        private int mPasswordMinLetters = 0;
-        private int mPasswordMinUpperCase = 0;
-        private int mPasswordMinLowerCase = 0;
-        private int mPasswordMinSymbols = 0;
-        private int mPasswordMinNumeric = 0;
-        private int mPasswordMinNonLetter = 0;
-        private int mPasswordMinLengthToFulfillAllPolicies = 0;
-        private boolean mPasswordNumSequenceAllowed = true;
-        @PasswordComplexity private int mRequestedMinComplexity = PASSWORD_COMPLEXITY_NONE;
+
+        // Minimum password metrics enforced by admins.
+        private PasswordMetrics mMinMetrics;
+        private List<PasswordValidationError> mValidationErrors;
+
+        @PasswordComplexity private int mMinComplexity = PASSWORD_COMPLEXITY_NONE;
         protected int mUserId;
         private byte[] mPasswordHistoryHashFactor;
 
@@ -215,7 +219,7 @@
         protected boolean mForFingerprint;
         protected boolean mForFace;
 
-        private byte[] mFirstPin;
+        private LockscreenCredential mFirstPassword;
         private RecyclerView mPasswordRestrictionView;
         protected boolean mIsAlphaMode;
         protected FooterButton mSkipOrClearButton;
@@ -227,28 +231,6 @@
         private static final int CONFIRM_EXISTING_REQUEST = 58;
         static final int RESULT_FINISHED = RESULT_FIRST_USER;
 
-        private static final int MIN_LETTER_IN_PASSWORD = 0;
-        private static final int MIN_UPPER_LETTERS_IN_PASSWORD = 1;
-        private static final int MIN_LOWER_LETTERS_IN_PASSWORD = 2;
-        private static final int MIN_SYMBOLS_IN_PASSWORD = 3;
-        private static final int MIN_NUMBER_IN_PASSWORD = 4;
-        private static final int MIN_NON_LETTER_IN_PASSWORD = 5;
-
-        // Error code returned from {@link #validatePassword(byte[])}.
-        static final int NO_ERROR = 0;
-        static final int CONTAIN_INVALID_CHARACTERS = 1 << 0;
-        static final int TOO_SHORT = 1 << 1;
-        static final int TOO_LONG = 1 << 2;
-        static final int CONTAIN_NON_DIGITS = 1 << 3;
-        static final int CONTAIN_SEQUENTIAL_DIGITS = 1 << 4;
-        static final int RECENTLY_USED = 1 << 5;
-        static final int NOT_ENOUGH_LETTER = 1 << 6;
-        static final int NOT_ENOUGH_UPPER_CASE = 1 << 7;
-        static final int NOT_ENOUGH_LOWER_CASE = 1 << 8;
-        static final int NOT_ENOUGH_DIGITS = 1 << 9;
-        static final int NOT_ENOUGH_SYMBOLS = 1 << 10;
-        static final int NOT_ENOUGH_NON_LETTER = 1 << 11;
-
         /**
          * Keep track internally of where the user is in choosing a pattern.
          */
@@ -380,13 +362,13 @@
             mForFingerprint = intent.getBooleanExtra(
                     ChooseLockSettingsHelper.EXTRA_KEY_FOR_FINGERPRINT, false);
             mForFace = intent.getBooleanExtra(ChooseLockSettingsHelper.EXTRA_KEY_FOR_FACE, false);
-            mRequestedMinComplexity = intent.getIntExtra(
+            mMinComplexity = intent.getIntExtra(
                     EXTRA_KEY_REQUESTED_MIN_COMPLEXITY, PASSWORD_COMPLEXITY_NONE);
-            mRequestedQuality = Math.max(
-                    intent.getIntExtra(LockPatternUtils.PASSWORD_TYPE_KEY, mRequestedQuality),
-                    mLockPatternUtils.getRequestedPasswordQuality(mUserId));
 
-            loadDpmPasswordRequirements();
+            mRequestedQuality = intent.getIntExtra(
+                    LockPatternUtils.PASSWORD_TYPE_KEY, PASSWORD_QUALITY_NUMERIC);
+
+            mMinMetrics = mLockPatternUtils.getRequestedPasswordMetrics(mUserId);
             mChooseLockSettingsHelper = new ChooseLockSettingsHelper(getActivity());
 
             if (intent.getBooleanExtra(
@@ -394,13 +376,13 @@
                 SaveAndFinishWorker w = new SaveAndFinishWorker();
                 final boolean required = getActivity().getIntent().getBooleanExtra(
                         EncryptionInterstitial.EXTRA_REQUIRE_PASSWORD, true);
-                byte[] currentBytes = intent.getByteArrayExtra(
+                LockscreenCredential currentCredential = intent.getParcelableExtra(
                         ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD);
 
                 w.setBlocking(true);
                 w.setListener(this);
                 w.start(mChooseLockSettingsHelper.utils(), required, false, 0,
-                        currentBytes, currentBytes, mRequestedQuality, mUserId);
+                        currentCredential, currentCredential, mUserId);
             }
             mTextChangedHandler = new TextChangedHandler();
         }
@@ -467,6 +449,13 @@
             int currentType = mPasswordEntry.getInputType();
             mPasswordEntry.setInputType(mIsAlphaMode ? currentType
                     : (InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_VARIATION_PASSWORD));
+            if (mIsAlphaMode) {
+                mPasswordEntry.setContentDescription(
+                        getString(R.string.unlock_set_unlock_password_title));
+            } else {
+                mPasswordEntry.setContentDescription(
+                        getString(R.string.unlock_set_unlock_pin_title));
+            }
             // Can't set via XML since setInputType resets the fontFamily to null
             mPasswordEntry.setTypeface(Typeface.create(
                     getContext().getString(com.android.internal.R.string.config_headlineFontFamily),
@@ -475,7 +464,7 @@
             Intent intent = getActivity().getIntent();
             final boolean confirmCredentials = intent.getBooleanExtra(
                     ChooseLockGeneric.CONFIRM_CREDENTIALS, true);
-            mCurrentPassword = intent.getByteArrayExtra(
+            mCurrentCredential = intent.getParcelableExtra(
                     ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD);
             mHasChallenge = intent.getBooleanExtra(
                     ChooseLockSettingsHelper.EXTRA_KEY_HAS_CHALLENGE, false);
@@ -490,15 +479,15 @@
             } else {
 
                 // restore from previous state
-                mFirstPin = savedInstanceState.getByteArray(KEY_FIRST_PIN);
+                mFirstPassword = savedInstanceState.getParcelable(KEY_FIRST_PASSWORD);
                 final String state = savedInstanceState.getString(KEY_UI_STAGE);
                 if (state != null) {
                     mUiStage = Stage.valueOf(state);
                     updateStage(mUiStage);
                 }
 
-                if (mCurrentPassword == null) {
-                    mCurrentPassword = savedInstanceState.getByteArray(KEY_CURRENT_PASSWORD);
+                if (mCurrentCredential == null) {
+                    mCurrentCredential = savedInstanceState.getParcelable(KEY_CURRENT_CREDENTIAL);
                 }
 
                 // Re-attach to the exiting worker if there is one.
@@ -556,8 +545,8 @@
         public void onSaveInstanceState(Bundle outState) {
             super.onSaveInstanceState(outState);
             outState.putString(KEY_UI_STAGE, mUiStage.name());
-            outState.putByteArray(KEY_FIRST_PIN, mFirstPin);
-            outState.putByteArray(KEY_CURRENT_PASSWORD, mCurrentPassword);
+            outState.putParcelable(KEY_FIRST_PASSWORD, mFirstPassword);
+            outState.putParcelable(KEY_CURRENT_CREDENTIAL, mCurrentCredential);
         }
 
         @Override
@@ -570,7 +559,7 @@
                         getActivity().setResult(RESULT_FINISHED);
                         getActivity().finish();
                     } else {
-                        mCurrentPassword = data.getByteArrayExtra(
+                        mCurrentCredential = data.getParcelableExtra(
                                 ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD);
                     }
                     break;
@@ -594,208 +583,23 @@
         }
 
         /**
-         * Read the requirements from {@link DevicePolicyManager} and intent and aggregate them.
-         */
-        private void loadDpmPasswordRequirements() {
-            final int dpmPasswordQuality = mLockPatternUtils.getRequestedPasswordQuality(mUserId);
-            if (dpmPasswordQuality == PASSWORD_QUALITY_NUMERIC_COMPLEX) {
-                mPasswordNumSequenceAllowed = false;
-            }
-            mPasswordMinLength = Math.max(LockPatternUtils.MIN_LOCK_PASSWORD_SIZE,
-                    mLockPatternUtils.getRequestedMinimumPasswordLength(mUserId));
-            mPasswordMaxLength = mLockPatternUtils.getMaximumPasswordLength(mRequestedQuality);
-            mPasswordMinLetters = mLockPatternUtils.getRequestedPasswordMinimumLetters(mUserId);
-            mPasswordMinUpperCase = mLockPatternUtils.getRequestedPasswordMinimumUpperCase(mUserId);
-            mPasswordMinLowerCase = mLockPatternUtils.getRequestedPasswordMinimumLowerCase(mUserId);
-            mPasswordMinNumeric = mLockPatternUtils.getRequestedPasswordMinimumNumeric(mUserId);
-            mPasswordMinSymbols = mLockPatternUtils.getRequestedPasswordMinimumSymbols(mUserId);
-            mPasswordMinNonLetter = mLockPatternUtils.getRequestedPasswordMinimumNonLetter(mUserId);
-
-            // Modify the value based on dpm policy
-            switch (dpmPasswordQuality) {
-                case PASSWORD_QUALITY_ALPHABETIC:
-                    if (mPasswordMinLetters == 0) {
-                        mPasswordMinLetters = 1;
-                    }
-                    break;
-                case PASSWORD_QUALITY_ALPHANUMERIC:
-                    if (mPasswordMinLetters == 0) {
-                        mPasswordMinLetters = 1;
-                    }
-                    if (mPasswordMinNumeric == 0) {
-                        mPasswordMinNumeric = 1;
-                    }
-                    break;
-                case PASSWORD_QUALITY_COMPLEX:
-                    // Reserve all the requirements.
-                    break;
-                default:
-                    mPasswordMinNumeric = 0;
-                    mPasswordMinLetters = 0;
-                    mPasswordMinUpperCase = 0;
-                    mPasswordMinLowerCase = 0;
-                    mPasswordMinSymbols = 0;
-                    mPasswordMinNonLetter = 0;
-            }
-
-            mPasswordMinLengthToFulfillAllPolicies = getMinLengthToFulfillAllPolicies();
-        }
-
-        /**
-         * Merges the dpm requirements and the min complexity requirements.
+         * Validates PIN/Password and returns the validation result and updates mValidationErrors
+         * and mPasswordReused to reflect validation results.
          *
-         * <p>Since there are more than one set of metrics to meet the min complexity requirement,
-         * and we are not hard-coding any one of them to be the requirements the user must fulfil,
-         * we are taking what the user has already entered into account when compiling the list of
-         * requirements from min complexity. Then we merge this list with the DPM requirements, and
-         * present the merged set as validation results to the user on the UI.
-         *
-         * <p>For example, suppose min complexity requires either ALPHABETIC(8+), or
-         * ALPHANUMERIC(6+). If the user has entered "a", the length requirement displayed on the UI
-         * would be 8. Then the user appends "1" to make it "a1". We now know the user is entering
-         * an alphanumeric password so we would update the min complexity required min length to 6.
-         * This might result in a little confusion for the user but the UI does not support showing
-         * multiple sets of requirements / validation results as options to users, this is the best
-         * we can do now.
-         */
-        private void mergeMinComplexityAndDpmRequirements(int userEnteredPasswordQuality) {
-            if (mRequestedMinComplexity == PASSWORD_COMPLEXITY_NONE) {
-                // dpm requirements are dominant if min complexity is none
-                return;
-            }
-
-            // reset dpm requirements
-            loadDpmPasswordRequirements();
-
-            PasswordMetrics minMetrics = PasswordMetrics.getMinimumMetrics(
-                    mRequestedMinComplexity, userEnteredPasswordQuality, mRequestedQuality,
-                    requiresNumeric(), requiresLettersOrSymbols());
-            mPasswordNumSequenceAllowed = mPasswordNumSequenceAllowed
-                    && minMetrics.quality != PASSWORD_QUALITY_NUMERIC_COMPLEX;
-            mPasswordMinLength = Math.max(mPasswordMinLength, minMetrics.length);
-            mPasswordMinLetters = Math.max(mPasswordMinLetters, minMetrics.letters);
-            mPasswordMinUpperCase = Math.max(mPasswordMinUpperCase, minMetrics.upperCase);
-            mPasswordMinLowerCase = Math.max(mPasswordMinLowerCase, minMetrics.lowerCase);
-            mPasswordMinNumeric = Math.max(mPasswordMinNumeric, minMetrics.numeric);
-            mPasswordMinSymbols = Math.max(mPasswordMinSymbols, minMetrics.symbols);
-            mPasswordMinNonLetter = Math.max(mPasswordMinNonLetter, minMetrics.nonLetter);
-
-            if (minMetrics.quality == PASSWORD_QUALITY_ALPHABETIC) {
-                if (!requiresLettersOrSymbols()) {
-                    mPasswordMinLetters = 1;
-                }
-            }
-            if (minMetrics.quality == PASSWORD_QUALITY_ALPHANUMERIC) {
-                if (!requiresLettersOrSymbols()) {
-                    mPasswordMinLetters = 1;
-                }
-                if (!requiresNumeric()) {
-                    mPasswordMinNumeric = 1;
-                }
-            }
-
-            mPasswordMinLengthToFulfillAllPolicies = getMinLengthToFulfillAllPolicies();
-        }
-
-        private boolean requiresLettersOrSymbols() {
-            // This is the condition for the password to be considered ALPHABETIC according to
-            // PasswordMetrics.computeForPassword()
-            return mPasswordMinLetters + mPasswordMinUpperCase
-                    + mPasswordMinLowerCase + mPasswordMinSymbols + mPasswordMinNonLetter > 0;
-        }
-
-        private boolean requiresNumeric() {
-            return mPasswordMinNumeric > 0;
-        }
-
-        /**
-         * Validates PIN/Password and returns the validation result.
-         *
-         * @param password the raw password the user typed in
-         * @return the validation result.
+         * @param credential credential the user typed in.
+         * @return whether password satisfies all the requirements.
          */
         @VisibleForTesting
-        int validatePassword(byte[] password) {
-            int errorCode = NO_ERROR;
-            final PasswordMetrics metrics = PasswordMetrics.computeForPassword(password);
-            mergeMinComplexityAndDpmRequirements(metrics.quality);
-
-            if (password == null || password.length < mPasswordMinLength) {
-                if (mPasswordMinLength > mPasswordMinLengthToFulfillAllPolicies) {
-                    errorCode |= TOO_SHORT;
-                }
-            } else if (password.length > mPasswordMaxLength) {
-                errorCode |= TOO_LONG;
-            } else {
-                // The length requirements are fulfilled.
-                if (!mPasswordNumSequenceAllowed
-                        && !requiresLettersOrSymbols()
-                        && metrics.numeric == password.length) {
-                    // Check for repeated characters or sequences (e.g. '1234', '0000', '2468')
-                    // if DevicePolicyManager or min password complexity requires a complex numeric
-                    // password. There can be two cases in the UI: 1. User chooses to enroll a
-                    // PIN, 2. User chooses to enroll a password but enters a numeric-only pin. We
-                    // should carry out the sequence check in both cases.
-                    //
-                    // Conditions for the !requiresLettersOrSymbols() to be necessary:
-                    // - DPM requires NUMERIC_COMPLEX
-                    // - min complexity not NONE, user picks PASSWORD type so ALPHABETIC or
-                    // ALPHANUMERIC is required
-                    // Imagine user has entered "12345678", if we don't skip the sequence check, the
-                    // validation result would show both "requires a letter" and "sequence not
-                    // allowed", while the only requirement the user needs to know is "requires a
-                    // letter" because once the user has fulfilled the alphabetic requirement, the
-                    // password would not be containing only digits so this check would not be
-                    // performed anyway.
-                    final int sequence = PasswordMetrics.maxLengthSequence(password);
-                    if (sequence > PasswordMetrics.MAX_ALLOWED_SEQUENCE) {
-                        errorCode |= CONTAIN_SEQUENTIAL_DIGITS;
-                    }
-                }
-                // Is the password recently used?
-                if (mLockPatternUtils.checkPasswordHistory(password, getPasswordHistoryHashFactor(),
-                        mUserId)) {
-                    errorCode |= RECENTLY_USED;
-                }
+        boolean validatePassword(LockscreenCredential credential) {
+            final byte[] password = credential.getCredential();
+            mValidationErrors = PasswordMetrics.validatePassword(
+                    mMinMetrics, mMinComplexity, !mIsAlphaMode, password);
+            if (mValidationErrors.isEmpty() &&  mLockPatternUtils.checkPasswordHistory(
+                        password, getPasswordHistoryHashFactor(), mUserId)) {
+                mValidationErrors =
+                        Collections.singletonList(new PasswordValidationError(RECENTLY_USED));
             }
-
-            // Allow non-control Latin-1 characters only.
-            for (int i = 0; i < password.length; i++) {
-                char c = (char) password[i];
-                if (c < 32 || c > 127) {
-                    errorCode |= CONTAIN_INVALID_CHARACTERS;
-                    break;
-                }
-            }
-
-            // Ensure no non-digits if we are requesting numbers. This shouldn't be possible unless
-            // user finds some way to bring up soft keyboard.
-            if (mRequestedQuality == PASSWORD_QUALITY_NUMERIC
-                    || mRequestedQuality == PASSWORD_QUALITY_NUMERIC_COMPLEX) {
-                if (metrics.letters > 0 || metrics.symbols > 0) {
-                    errorCode |= CONTAIN_NON_DIGITS;
-                }
-            }
-
-            if (metrics.letters < mPasswordMinLetters) {
-                errorCode |= NOT_ENOUGH_LETTER;
-            }
-            if (metrics.upperCase < mPasswordMinUpperCase) {
-                errorCode |= NOT_ENOUGH_UPPER_CASE;
-            }
-            if (metrics.lowerCase < mPasswordMinLowerCase) {
-                errorCode |= NOT_ENOUGH_LOWER_CASE;
-            }
-            if (metrics.symbols < mPasswordMinSymbols) {
-                errorCode |= NOT_ENOUGH_SYMBOLS;
-            }
-            if (metrics.numeric < mPasswordMinNumeric) {
-                errorCode |= NOT_ENOUGH_DIGITS;
-            }
-            if (metrics.nonLetter < mPasswordMinNonLetter) {
-                errorCode |= NOT_ENOUGH_NON_LETTER;
-            }
-            return errorCode;
+            return mValidationErrors.isEmpty();
         }
 
         /**
@@ -805,7 +609,8 @@
         private byte[] getPasswordHistoryHashFactor() {
             if (mPasswordHistoryHashFactor == null) {
                 mPasswordHistoryHashFactor = mLockPatternUtils.getPasswordHistoryHashFactor(
-                        mCurrentPassword, mUserId);
+                        mCurrentCredential != null ? mCurrentCredential
+                                : LockscreenCredential.createNone(), mUserId);
             }
             return mPasswordHistoryHashFactor;
         }
@@ -813,20 +618,22 @@
         public void handleNext() {
             if (mSaveAndFinishWorker != null) return;
             // TODO(b/120484642): This is a point of entry for passwords from the UI
-            mChosenPassword = LockPatternUtils.charSequenceToByteArray(mPasswordEntry.getText());
-            if (mChosenPassword == null || mChosenPassword.length == 0) {
+            final Editable passwordText = mPasswordEntry.getText();
+            if (TextUtils.isEmpty(passwordText)) {
                 return;
             }
+            mChosenPassword = mIsAlphaMode ? LockscreenCredential.createPassword(passwordText)
+                    : LockscreenCredential.createPin(passwordText);
             if (mUiStage == Stage.Introduction) {
-                if (validatePassword(mChosenPassword) == NO_ERROR) {
-                    mFirstPin = mChosenPassword;
+                if (validatePassword(mChosenPassword)) {
+                    mFirstPassword = mChosenPassword;
                     mPasswordEntry.setText("");
                     updateStage(Stage.NeedToConfirm);
                 } else {
-                    Arrays.fill(mChosenPassword, (byte) 0);
+                    mChosenPassword.zeroize();
                 }
             } else if (mUiStage == Stage.NeedToConfirm) {
-                if (Arrays.equals(mFirstPin, mChosenPassword)) {
+                if (mChosenPassword.equals(mFirstPassword)) {
                     startSaveAndFinish();
                 } else {
                     CharSequence tmp = mPasswordEntry.getText();
@@ -834,7 +641,7 @@
                         Selection.setSelection((Spannable) tmp, 0, tmp.length());
                     }
                     updateStage(Stage.ConfirmWrong);
-                    Arrays.fill(mChosenPassword, (byte) 0);
+                    mChosenPassword.zeroize();
                 }
             }
         }
@@ -867,79 +674,79 @@
         }
 
         /**
-         * @param errorCode error code returned from {@link #validatePassword(String)}.
+         * @param errorCode error code returned from password validation.
          * @return an array of messages describing the error, important messages come first.
          */
-        String[] convertErrorCodeToMessages(int errorCode) {
+        String[] convertErrorCodeToMessages() {
             List<String> messages = new ArrayList<>();
-            if ((errorCode & CONTAIN_INVALID_CHARACTERS) > 0) {
-                messages.add(getString(R.string.lockpassword_illegal_character));
+            for (PasswordValidationError error : mValidationErrors) {
+                switch (error.errorCode) {
+                    case CONTAINS_INVALID_CHARACTERS:
+                        messages.add(getString(R.string.lockpassword_illegal_character));
+                        break;
+                    case NOT_ENOUGH_UPPER_CASE:
+                        messages.add(getResources().getQuantityString(
+                                R.plurals.lockpassword_password_requires_uppercase,
+                                error.requirement, error.requirement));
+                        break;
+                    case NOT_ENOUGH_LOWER_CASE:
+                        messages.add(getResources().getQuantityString(
+                                R.plurals.lockpassword_password_requires_lowercase,
+                                error.requirement, error.requirement));
+                        break;
+                    case NOT_ENOUGH_LETTERS:
+                        messages.add(getResources().getQuantityString(
+                                R.plurals.lockpassword_password_requires_letters,
+                                error.requirement, error.requirement));
+                        break;
+                    case NOT_ENOUGH_DIGITS:
+                        messages.add(getResources().getQuantityString(
+                                R.plurals.lockpassword_password_requires_numeric,
+                                error.requirement, error.requirement));
+                        break;
+                    case NOT_ENOUGH_SYMBOLS:
+                        messages.add(getResources().getQuantityString(
+                                R.plurals.lockpassword_password_requires_symbols,
+                                error.requirement, error.requirement));
+                        break;
+                    case NOT_ENOUGH_NON_LETTER:
+                        messages.add(getResources().getQuantityString(
+                                R.plurals.lockpassword_password_requires_nonletter,
+                                error.requirement, error.requirement));
+                        break;
+                    case NOT_ENOUGH_NON_DIGITS:
+                        messages.add(getResources().getQuantityString(
+                                R.plurals.lockpassword_password_requires_nonnumerical,
+                                error.requirement, error.requirement));
+                        break;
+                    case TOO_SHORT:
+                        messages.add(getResources().getQuantityString(
+                                mIsAlphaMode
+                                        ? R.plurals.lockpassword_password_too_short
+                                        : R.plurals.lockpassword_pin_too_short,
+                                error.requirement, error.requirement));
+                        break;
+                    case TOO_LONG:
+                        messages.add(getResources().getQuantityString(
+                                mIsAlphaMode
+                                        ? R.plurals.lockpassword_password_too_long
+                                        : R.plurals.lockpassword_pin_too_long,
+                                error.requirement + 1, error.requirement + 1));
+                        break;
+                    case CONTAINS_SEQUENCE:
+                        messages.add(getString(R.string.lockpassword_pin_no_sequential_digits));
+                        break;
+                    case RECENTLY_USED:
+                        messages.add(getString(mIsAlphaMode
+                                ? R.string.lockpassword_password_recently_used
+                                : R.string.lockpassword_pin_recently_used));
+                        break;
+                    default:
+                        Log.wtf(TAG, "unknown error validating password: " + error);
+                }
             }
-            if ((errorCode & CONTAIN_NON_DIGITS) > 0) {
-                messages.add(getString(R.string.lockpassword_pin_contains_non_digits));
-            }
-            if ((errorCode & NOT_ENOUGH_UPPER_CASE) > 0) {
-                messages.add(getResources().getQuantityString(
-                        R.plurals.lockpassword_password_requires_uppercase, mPasswordMinUpperCase,
-                        mPasswordMinUpperCase));
-            }
-            if ((errorCode & NOT_ENOUGH_LOWER_CASE) > 0) {
-                messages.add(getResources().getQuantityString(
-                        R.plurals.lockpassword_password_requires_lowercase, mPasswordMinLowerCase,
-                        mPasswordMinLowerCase));
-            }
-            if ((errorCode & NOT_ENOUGH_LETTER) > 0) {
-                messages.add(getResources().getQuantityString(
-                        R.plurals.lockpassword_password_requires_letters, mPasswordMinLetters,
-                        mPasswordMinLetters));
-            }
-            if ((errorCode & NOT_ENOUGH_DIGITS) > 0) {
-                messages.add(getResources().getQuantityString(
-                        R.plurals.lockpassword_password_requires_numeric, mPasswordMinNumeric,
-                        mPasswordMinNumeric));
-            }
-            if ((errorCode & NOT_ENOUGH_SYMBOLS) > 0) {
-                messages.add(getResources().getQuantityString(
-                        R.plurals.lockpassword_password_requires_symbols, mPasswordMinSymbols,
-                        mPasswordMinSymbols));
-            }
-            if ((errorCode & NOT_ENOUGH_NON_LETTER) > 0) {
-                messages.add(getResources().getQuantityString(
-                        R.plurals.lockpassword_password_requires_nonletter, mPasswordMinNonLetter,
-                        mPasswordMinNonLetter));
-            }
-            if ((errorCode & TOO_SHORT) > 0) {
-                messages.add(getResources().getQuantityString(
-                        mIsAlphaMode
-                                ? R.plurals.lockpassword_password_too_short
-                                : R.plurals.lockpassword_pin_too_short,
-                        mPasswordMinLength,
-                        mPasswordMinLength));
-            }
-            if ((errorCode & TOO_LONG) > 0) {
-                messages.add(getResources().getQuantityString(
-                        mIsAlphaMode
-                                ? R.plurals.lockpassword_password_too_long
-                                : R.plurals.lockpassword_pin_too_long,
-                        mPasswordMaxLength + 1,
-                        mPasswordMaxLength + 1));
-            }
-            if ((errorCode & CONTAIN_SEQUENTIAL_DIGITS) > 0) {
-                messages.add(getString(R.string.lockpassword_pin_no_sequential_digits));
-            }
-            if ((errorCode & RECENTLY_USED) > 0) {
-                messages.add(getString((mIsAlphaMode) ? R.string.lockpassword_password_recently_used
-                        : R.string.lockpassword_pin_recently_used));
-            }
-            return messages.toArray(new String[0]);
-        }
 
-        private int getMinLengthToFulfillAllPolicies() {
-            final int minLengthForLetters = Math.max(mPasswordMinLetters,
-                    mPasswordMinUpperCase + mPasswordMinLowerCase);
-            final int minLengthForNonLetters = Math.max(mPasswordMinNonLetter,
-                    mPasswordMinSymbols + mPasswordMinNumeric);
-            return minLengthForLetters + minLengthForNonLetters;
+            return messages.toArray(new String[0]);
         }
 
         /**
@@ -947,21 +754,24 @@
          */
         protected void updateUi() {
             final boolean canInput = mSaveAndFinishWorker == null;
-            byte[] password = LockPatternUtils.charSequenceToByteArray(mPasswordEntry.getText());
-            final int length = password.length;
+
+            LockscreenCredential password = mIsAlphaMode
+                    ? LockscreenCredential.createPasswordOrNone(mPasswordEntry.getText())
+                    : LockscreenCredential.createPinOrNone(mPasswordEntry.getText());
+            final int length = password.size();
             if (mUiStage == Stage.Introduction) {
                 mPasswordRestrictionView.setVisibility(View.VISIBLE);
-                final int errorCode = validatePassword(password);
-                String[] messages = convertErrorCodeToMessages(errorCode);
+                final boolean passwordCompliant = validatePassword(password);
+                String[] messages = convertErrorCodeToMessages();
                 // Update the fulfillment of requirements.
                 mPasswordRequirementAdapter.setRequirements(messages);
                 // Enable/Disable the next button accordingly.
-                setNextEnabled(errorCode == NO_ERROR);
+                setNextEnabled(passwordCompliant);
             } else {
                 // Hide password requirement view when we are just asking user to confirm the pw.
                 mPasswordRestrictionView.setVisibility(View.GONE);
                 setHeaderText(getString(mUiStage.getHint(mIsAlphaMode, getStageType())));
-                setNextEnabled(canInput && length >= mPasswordMinLength);
+                setNextEnabled(canInput && length >= LockPatternUtils.MIN_LOCK_PASSWORD_SIZE);
                 mSkipOrClearButton.setVisibility(toVisibility(canInput && length > 0));
             }
             int message = mUiStage.getMessage(mIsAlphaMode, getStageType());
@@ -974,7 +784,7 @@
 
             setNextText(mUiStage.buttonText);
             mPasswordEntryInputDisabler.setInputEnabled(canInput);
-            Arrays.fill(password, (byte) 0);
+            password.zeroize();
         }
 
         protected int toVisibility(boolean visibleOrGone) {
@@ -1026,7 +836,7 @@
             final boolean required = getActivity().getIntent().getBooleanExtra(
                     EncryptionInterstitial.EXTRA_REQUIRE_PASSWORD, true);
             mSaveAndFinishWorker.start(mLockPatternUtils, required, mHasChallenge, mChallenge,
-                    mChosenPassword, mCurrentPassword, mRequestedQuality, mUserId);
+                    mChosenPassword, mCurrentCredential, mUserId);
         }
 
         @Override
@@ -1034,13 +844,13 @@
             getActivity().setResult(RESULT_FINISHED, resultData);
 
             if (mChosenPassword != null) {
-                Arrays.fill(mChosenPassword, (byte) 0);
+                mChosenPassword.zeroize();
             }
-            if (mCurrentPassword != null) {
-                Arrays.fill(mCurrentPassword, (byte) 0);
+            if (mCurrentCredential != null) {
+                mCurrentCredential.zeroize();
             }
-            if (mFirstPin != null) {
-                Arrays.fill(mFirstPin, (byte) 0);
+            if (mFirstPassword != null) {
+                mFirstPassword.zeroize();
             }
 
             mPasswordEntry.setText("");
@@ -1081,18 +891,18 @@
 
     public static class SaveAndFinishWorker extends SaveChosenLockWorkerBase {
 
-        private byte[] mChosenPassword;
-        private byte[] mCurrentPassword;
-        private int mRequestedQuality;
+        private LockscreenCredential mChosenPassword;
+        private LockscreenCredential mCurrentCredential;
 
         public void start(LockPatternUtils utils, boolean required,
                 boolean hasChallenge, long challenge,
-                byte[] chosenPassword, byte[] currentPassword, int requestedQuality, int userId) {
+                LockscreenCredential chosenPassword, LockscreenCredential currentCredential,
+                int userId) {
             prepare(utils, required, hasChallenge, challenge, userId);
 
             mChosenPassword = chosenPassword;
-            mCurrentPassword = currentPassword;
-            mRequestedQuality = requestedQuality;
+            mCurrentCredential = currentCredential != null ? currentCredential
+                    : LockscreenCredential.createNone();
             mUserId = userId;
 
             start();
@@ -1100,13 +910,13 @@
 
         @Override
         protected Pair<Boolean, Intent> saveAndVerifyInBackground() {
-            final boolean success = mUtils.saveLockPassword(
-                    mChosenPassword, mCurrentPassword, mRequestedQuality, mUserId);
+            final boolean success = mUtils.setLockCredential(
+                    mChosenPassword, mCurrentCredential, mUserId);
             Intent result = null;
             if (success && mHasChallenge) {
                 byte[] token;
                 try {
-                    token = mUtils.verifyPassword(mChosenPassword, mChallenge, mUserId);
+                    token = mUtils.verifyCredential(mChosenPassword, mChallenge, mUserId);
                 } catch (RequestThrottledException e) {
                     token = null;
                 }
diff --git a/src/com/android/settings/password/ChooseLockPattern.java b/src/com/android/settings/password/ChooseLockPattern.java
index 5de4e3a..b5670ca 100644
--- a/src/com/android/settings/password/ChooseLockPattern.java
+++ b/src/com/android/settings/password/ChooseLockPattern.java
@@ -30,18 +30,19 @@
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
-import android.widget.LinearLayout;
 import android.widget.ScrollView;
 import android.widget.TextView;
 
 import androidx.fragment.app.Fragment;
 
+import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.widget.LinearLayoutWithDefaultTouchRecepient;
 import com.android.internal.widget.LockPatternUtils;
 import com.android.internal.widget.LockPatternUtils.RequestThrottledException;
 import com.android.internal.widget.LockPatternView;
 import com.android.internal.widget.LockPatternView.Cell;
 import com.android.internal.widget.LockPatternView.DisplayMode;
+import com.android.internal.widget.LockscreenCredential;
 import com.android.settings.EncryptionInterstitial;
 import com.android.settings.R;
 import com.android.settings.SettingsActivity;
@@ -55,8 +56,6 @@
 import com.google.android.setupcompat.template.FooterButton;
 import com.google.android.setupdesign.GlifLayout;
 
-import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
 
@@ -116,7 +115,7 @@
             return this;
         }
 
-        public IntentBuilder setPattern(byte[] pattern) {
+        public IntentBuilder setPattern(LockscreenCredential pattern) {
             mIntent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD, pattern);
             return this;
         }
@@ -188,7 +187,7 @@
 
         private static final String FRAGMENT_TAG_SAVE_AND_FINISH = "save_and_finish_worker";
 
-        private byte[] mCurrentPattern;
+        private LockscreenCredential mCurrentCredential;
         private boolean mHasChallenge;
         private long mChallenge;
         protected TextView mTitleText;
@@ -198,7 +197,7 @@
         protected TextView mFooterText;
         protected FooterButton mSkipOrClearButton;
         private FooterButton mNextButton;
-        protected List<LockPatternView.Cell> mChosenPattern = null;
+        @VisibleForTesting protected LockscreenCredential mChosenPattern;
         private ColorStateList mDefaultHeaderColorList;
 
         // ScrollView that contains title and header, only exist in land mode
@@ -225,7 +224,7 @@
                         getActivity().setResult(RESULT_FINISHED);
                         getActivity().finish();
                     } else {
-                        mCurrentPattern = data.getByteArrayExtra(
+                        mCurrentCredential = data.getParcelableExtra(
                                 ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD);
                     }
 
@@ -262,16 +261,19 @@
                     if (mUiStage == Stage.NeedToConfirm || mUiStage == Stage.ConfirmWrong) {
                         if (mChosenPattern == null) throw new IllegalStateException(
                                 "null chosen pattern in stage 'need to confirm");
-                        if (mChosenPattern.equals(pattern)) {
-                            updateStage(Stage.ChoiceConfirmed);
-                        } else {
-                            updateStage(Stage.ConfirmWrong);
+                        try (LockscreenCredential confirmPattern =
+                                LockscreenCredential.createPattern(pattern)) {
+                            if (mChosenPattern.equals(confirmPattern)) {
+                                updateStage(Stage.ChoiceConfirmed);
+                            } else {
+                                updateStage(Stage.ConfirmWrong);
+                            }
                         }
                     } else if (mUiStage == Stage.Introduction || mUiStage == Stage.ChoiceTooShort){
                         if (pattern.size() < LockPatternUtils.MIN_LOCK_PATTERN_SIZE) {
                             updateStage(Stage.ChoiceTooShort);
                         } else {
-                            mChosenPattern = new ArrayList<LockPatternView.Cell>(pattern);
+                            mChosenPattern = LockscreenCredential.createPattern(pattern);
                             updateStage(Stage.FirstChoiceValid);
                         }
                     } else {
@@ -458,12 +460,12 @@
                 SaveAndFinishWorker w = new SaveAndFinishWorker();
                 final boolean required = getActivity().getIntent().getBooleanExtra(
                         EncryptionInterstitial.EXTRA_REQUIRE_PASSWORD, true);
-                byte[] current = intent.getByteArrayExtra(
+                LockscreenCredential current = intent.getParcelableExtra(
                         ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD);
                 w.setBlocking(true);
                 w.setListener(this);
                 w.start(mChooseLockSettingsHelper.utils(), required,
-                        false, 0, LockPatternUtils.byteArrayToPattern(current), current, mUserId);
+                        false, 0, current, current, mUserId);
             }
             mForFingerprint = intent.getBooleanExtra(
                     ChooseLockSettingsHelper.EXTRA_KEY_FOR_FINGERPRINT, false);
@@ -541,8 +543,8 @@
             final boolean confirmCredentials = getActivity().getIntent()
                     .getBooleanExtra(ChooseLockGeneric.CONFIRM_CREDENTIALS, true);
             Intent intent = getActivity().getIntent();
-            mCurrentPattern =
-                    intent.getByteArrayExtra(ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD);
+            mCurrentCredential =
+                    intent.getParcelableExtra(ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD);
             mHasChallenge = intent.getBooleanExtra(
                     ChooseLockSettingsHelper.EXTRA_KEY_HAS_CHALLENGE, false);
             mChallenge = intent.getLongExtra(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE, 0);
@@ -565,13 +567,10 @@
                 }
             } else {
                 // restore from previous state
-                final byte[] pattern = savedInstanceState.getByteArray(KEY_PATTERN_CHOICE);
-                if (pattern != null) {
-                    mChosenPattern = LockPatternUtils.byteArrayToPattern(pattern);
-                }
+                mChosenPattern = savedInstanceState.getParcelable(KEY_PATTERN_CHOICE);
 
-                if (mCurrentPattern == null) {
-                    mCurrentPattern = savedInstanceState.getByteArray(KEY_CURRENT_PATTERN);
+                if (mCurrentCredential == null) {
+                    mCurrentCredential = savedInstanceState.getParcelable(KEY_CURRENT_PATTERN);
                 }
                 updateStage(Stage.values()[savedInstanceState.getInt(KEY_UI_STAGE)]);
 
@@ -606,7 +605,10 @@
 
         public void handleLeftButton() {
             if (mUiStage.leftMode == LeftButtonMode.Retry) {
-                mChosenPattern = null;
+                if (mChosenPattern != null) {
+                    mChosenPattern.zeroize();
+                    mChosenPattern = null;
+                }
                 mLockPatternView.clearPattern();
                 updateStage(Stage.Introduction);
             } else {
@@ -667,12 +669,11 @@
 
             outState.putInt(KEY_UI_STAGE, mUiStage.ordinal());
             if (mChosenPattern != null) {
-                outState.putByteArray(KEY_PATTERN_CHOICE,
-                        LockPatternUtils.patternToByteArray(mChosenPattern));
+                outState.putParcelable(KEY_PATTERN_CHOICE, mChosenPattern);
             }
 
-            if (mCurrentPattern != null) {
-                outState.putByteArray(KEY_CURRENT_PATTERN, mCurrentPattern);
+            if (mCurrentCredential != null) {
+                outState.putParcelable(KEY_CURRENT_PATTERN, mCurrentCredential);
             }
         }
 
@@ -812,15 +813,18 @@
             final boolean required = getActivity().getIntent().getBooleanExtra(
                     EncryptionInterstitial.EXTRA_REQUIRE_PASSWORD, true);
             mSaveAndFinishWorker.start(mChooseLockSettingsHelper.utils(), required,
-                    mHasChallenge, mChallenge, mChosenPattern, mCurrentPattern, mUserId);
+                    mHasChallenge, mChallenge, mChosenPattern, mCurrentCredential, mUserId);
         }
 
         @Override
         public void onChosenLockSaveFinished(boolean wasSecureBefore, Intent resultData) {
             getActivity().setResult(RESULT_FINISHED, resultData);
 
-            if (mCurrentPattern != null) {
-                Arrays.fill(mCurrentPattern, (byte) 0);
+            if (mChosenPattern != null) {
+                mChosenPattern.zeroize();
+            }
+            if (mCurrentCredential != null) {
+                mCurrentCredential.zeroize();
             }
 
             if (!wasSecureBefore) {
@@ -835,16 +839,17 @@
 
     public static class SaveAndFinishWorker extends SaveChosenLockWorkerBase {
 
-        private List<LockPatternView.Cell> mChosenPattern;
-        private byte[] mCurrentPattern;
+        private LockscreenCredential mChosenPattern;
+        private LockscreenCredential mCurrentCredential;
         private boolean mLockVirgin;
 
-        public void start(LockPatternUtils utils, boolean credentialRequired,
-                boolean hasChallenge, long challenge,
-                List<LockPatternView.Cell> chosenPattern, byte[] currentPattern, int userId) {
+        public void start(LockPatternUtils utils, boolean credentialRequired, boolean hasChallenge,
+                long challenge, LockscreenCredential chosenPattern,
+                LockscreenCredential currentCredential, int userId) {
             prepare(utils, credentialRequired, hasChallenge, challenge, userId);
 
-            mCurrentPattern = currentPattern;
+            mCurrentCredential = currentCredential != null ? currentCredential
+                    : LockscreenCredential.createNone();
             mChosenPattern = chosenPattern;
             mUserId = userId;
 
@@ -856,12 +861,13 @@
         @Override
         protected Pair<Boolean, Intent> saveAndVerifyInBackground() {
             final int userId = mUserId;
-            final boolean success = mUtils.saveLockPattern(mChosenPattern, mCurrentPattern, userId);
+            final boolean success = mUtils.setLockCredential(mChosenPattern, mCurrentCredential,
+                    userId);
             Intent result = null;
             if (success && mHasChallenge) {
                 byte[] token;
                 try {
-                    token = mUtils.verifyPattern(mChosenPattern, mChallenge, userId);
+                    token = mUtils.verifyCredential(mChosenPattern, mChallenge, userId);
                 } catch (RequestThrottledException e) {
                     token = null;
                 }
diff --git a/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java b/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java
index 8476f92..83368f9 100644
--- a/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java
+++ b/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java
@@ -52,6 +52,13 @@
 public class ConfirmDeviceCredentialActivity extends FragmentActivity {
     public static final String TAG = ConfirmDeviceCredentialActivity.class.getSimpleName();
 
+    /**
+     * If the intent is sent from {@link com.android.systemui.keyguard.WorkLockActivityController}
+     * then check for device policy management flags.
+     */
+    public static final String EXTRA_FROM_WORK_LOCK_ACTIVITY_CONTROLLER =
+            "from_work_lock_activity_controller";
+
     // The normal flow that apps go through
     private static final int CREDENTIAL_NORMAL = 1;
     // Unlocks the managed profile when the primary profile is unlocked
@@ -90,8 +97,8 @@
     private TrustManager mTrustManager;
     private ChooseLockSettingsHelper mChooseLockSettingsHelper;
     private Handler mHandler = new Handler(Looper.getMainLooper());
-    private boolean mIsFallback; // BiometricPrompt fallback
-    private boolean mCCLaunched;
+    private Context mContext;
+    private boolean mCheckDevicePolicyManager;
 
     private String mTitle;
     private String mDetails;
@@ -108,10 +115,6 @@
             if (!mGoingToBackground) {
                 if (errorCode == BiometricPrompt.BIOMETRIC_ERROR_USER_CANCELED
                         || errorCode == BiometricPrompt.BIOMETRIC_ERROR_CANCELED) {
-                    if (mIsFallback) {
-                        mBiometricManager.onConfirmDeviceCredentialError(
-                                errorCode, getStringForError(errorCode));
-                    }
                     finish();
                 } else {
                     // All other errors go to some version of CC
@@ -128,10 +131,6 @@
             ConfirmDeviceCredentialUtils.checkForPendingIntent(
                     ConfirmDeviceCredentialActivity.this);
 
-            if (mIsFallback) {
-                mBiometricManager.onConfirmDeviceCredentialSuccess();
-            }
-
             setResult(Activity.RESULT_OK);
             finish();
         }
@@ -159,6 +158,9 @@
         mLockPatternUtils = new LockPatternUtils(this);
 
         Intent intent = getIntent();
+        mContext = this;
+        mCheckDevicePolicyManager = intent
+                .getBooleanExtra(BiometricPrompt.EXTRA_DISALLOW_BIOMETRICS_IF_POLICY_EXISTS, false);
         mTitle = intent.getStringExtra(KeyguardManager.EXTRA_TITLE);
         mDetails = intent.getStringExtra(KeyguardManager.EXTRA_DESCRIPTION);
         String alternateButton = intent.getStringExtra(
@@ -180,19 +182,26 @@
         if ((mTitle == null) && isManagedProfile) {
             mTitle = getTitleFromOrganizationName(mUserId);
         }
+
+
         mChooseLockSettingsHelper = new ChooseLockSettingsHelper(this);
         final LockPatternUtils lockPatternUtils = new LockPatternUtils(this);
 
-        Bundle bpBundle =
-                intent.getBundleExtra(KeyguardManager.EXTRA_BIOMETRIC_PROMPT_BUNDLE);
-        if (bpBundle != null) {
-            mIsFallback = true;
-            mTitle = bpBundle.getString(BiometricPrompt.KEY_TITLE);
-            mDetails = bpBundle.getString(BiometricPrompt.KEY_SUBTITLE);
-        } else {
-            bpBundle = new Bundle();
-            bpBundle.putString(BiometricPrompt.KEY_TITLE, mTitle);
-            bpBundle.putString(BiometricPrompt.KEY_DESCRIPTION, mDetails);
+        final Bundle bpBundle = new Bundle();
+        bpBundle.putString(BiometricPrompt.KEY_TITLE, mTitle);
+        bpBundle.putString(BiometricPrompt.KEY_DESCRIPTION, mDetails);
+        bpBundle.putBoolean(BiometricPrompt.EXTRA_DISALLOW_BIOMETRICS_IF_POLICY_EXISTS,
+                mCheckDevicePolicyManager);
+
+        final @LockPatternUtils.CredentialType int credentialType = Utils.getCredentialType(
+                mContext, effectiveUserId);
+        if (mTitle == null) {
+            bpBundle.putString(BiometricPrompt.KEY_DEVICE_CREDENTIAL_TITLE,
+                    getTitleFromCredentialType(credentialType, isManagedProfile));
+        }
+        if (mDetails == null) {
+            bpBundle.putString(BiometricPrompt.KEY_DEVICE_CREDENTIAL_DESCRIPTION,
+                    getDetailsFromCredentialType(credentialType, isManagedProfile));
         }
 
         boolean launchedBiometric = false;
@@ -237,6 +246,44 @@
         }
     }
 
+    private String getTitleFromCredentialType(@LockPatternUtils.CredentialType int credentialType,
+            boolean isManagedProfile) {
+        switch (credentialType) {
+            case LockPatternUtils.CREDENTIAL_TYPE_PIN:
+                return isManagedProfile
+                        ? getString(R.string.lockpassword_confirm_your_work_pin_header)
+                        : getString(R.string.lockpassword_confirm_your_pin_header);
+            case LockPatternUtils.CREDENTIAL_TYPE_PATTERN:
+                return isManagedProfile
+                        ? getString(R.string.lockpassword_confirm_your_work_pattern_header)
+                        : getString(R.string.lockpassword_confirm_your_pattern_header);
+            case LockPatternUtils.CREDENTIAL_TYPE_PASSWORD:
+                return isManagedProfile
+                        ? getString(R.string.lockpassword_confirm_your_work_password_header)
+                        : getString(R.string.lockpassword_confirm_your_password_header);
+        }
+        return null;
+    }
+
+    private String getDetailsFromCredentialType(@LockPatternUtils.CredentialType int credentialType,
+            boolean isManagedProfile) {
+        switch (credentialType) {
+            case LockPatternUtils.CREDENTIAL_TYPE_PIN:
+                return isManagedProfile
+                        ? getString(R.string.lockpassword_confirm_your_pin_generic_profile)
+                        : getString(R.string.lockpassword_confirm_your_pin_generic);
+            case LockPatternUtils.CREDENTIAL_TYPE_PATTERN:
+                return isManagedProfile
+                        ? getString(R.string.lockpassword_confirm_your_pattern_generic_profile)
+                        : getString(R.string.lockpassword_confirm_your_pattern_generic);
+            case LockPatternUtils.CREDENTIAL_TYPE_PASSWORD:
+                return isManagedProfile
+                        ? getString(R.string.lockpassword_confirm_your_password_generic_profile)
+                        : getString(R.string.lockpassword_confirm_your_password_generic);
+        }
+        return null;
+    }
+
     @Override
     protected void onStart() {
         super.onStart();
@@ -250,19 +297,6 @@
         super.onPause();
         if (!isChangingConfigurations()) {
             mGoingToBackground = true;
-            if (mBiometricFragment != null) {
-                Log.d(TAG, "Authenticating: " + mBiometricFragment.isAuthenticating());
-                if (mBiometricFragment.isAuthenticating()) {
-                    mBiometricFragment.cancel();
-                }
-            }
-
-            if (mIsFallback && !mCCLaunched) {
-                mBiometricManager.onConfirmDeviceCredentialError(
-                        BiometricConstants.BIOMETRIC_ERROR_CANCELED,
-                        getString(com.android.internal.R.string.biometric_error_user_canceled));
-            }
-
             finish();
         } else {
             mGoingToBackground = false;
@@ -278,16 +312,9 @@
                 || !mUserManager.isUserUnlocked(mUserId);
     }
 
-    private boolean isBiometricDisabledByAdmin(int effectiveUserId) {
-        final int disabledFeatures =
-                mDevicePolicyManager.getKeyguardDisabledFeatures(null, effectiveUserId);
-        return (disabledFeatures & DevicePolicyManager.KEYGUARD_DISABLE_BIOMETRICS) != 0;
-    }
-
     private boolean isBiometricAllowed(int effectiveUserId, int realUserId) {
-        return !isStrongAuthRequired(effectiveUserId)
-                && !isBiometricDisabledByAdmin(effectiveUserId)
-                && !mLockPatternUtils.hasPendingEscrowToken(realUserId);
+        return !isStrongAuthRequired(effectiveUserId) && !mLockPatternUtils
+                .hasPendingEscrowToken(realUserId);
     }
 
     private void showBiometricPrompt(Bundle bundle) {
@@ -314,7 +341,6 @@
      * Shows ConfirmDeviceCredentials for normal apps.
      */
     private void showConfirmCredentials() {
-        mCCLaunched = true;
         boolean launched = false;
         // The only difference between CREDENTIAL_MANAGED and CREDENTIAL_NORMAL is that for
         // CREDENTIAL_MANAGED, we launch the real confirm credential activity with an explicit
@@ -332,7 +358,7 @@
                     .launchConfirmationActivityWithExternalAndChallenge(
                             0 /* request code */, null /* title */, mTitle, mDetails,
                             true /* isExternal */, 0L /* challenge */, mUserId);
-        } else if (mCredentialMode == CREDENTIAL_NORMAL){
+        } else if (mCredentialMode == CREDENTIAL_NORMAL) {
             launched = mChooseLockSettingsHelper.launchConfirmationActivity(
                     0 /* request code */, null /* title */,
                     mTitle, mDetails, false /* returnCredentials */, true /* isExternal */,
diff --git a/src/com/android/settings/password/ConfirmDeviceCredentialBaseActivity.java b/src/com/android/settings/password/ConfirmDeviceCredentialBaseActivity.java
index e797bee..eaea2ea 100644
--- a/src/com/android/settings/password/ConfirmDeviceCredentialBaseActivity.java
+++ b/src/com/android/settings/password/ConfirmDeviceCredentialBaseActivity.java
@@ -17,15 +17,11 @@
 package com.android.settings.password;
 
 import android.app.KeyguardManager;
-import android.hardware.biometrics.BiometricConstants;
-import android.hardware.biometrics.BiometricManager;
-import android.hardware.biometrics.IBiometricConfirmDeviceCredentialCallback;
 import android.os.Bundle;
 import android.os.UserManager;
 import android.util.Log;
 import android.view.MenuItem;
 import android.view.WindowManager;
-import android.widget.LinearLayout;
 
 import androidx.fragment.app.Fragment;
 
@@ -50,16 +46,6 @@
     private boolean mFirstTimeVisible = true;
     private boolean mIsKeyguardLocked = false;
     private ConfirmCredentialTheme mConfirmCredentialTheme;
-    private BiometricManager mBiometricManager;
-
-    // TODO(b/123378871): Remove when moved.
-    private final IBiometricConfirmDeviceCredentialCallback mCancelCallback
-            = new IBiometricConfirmDeviceCredentialCallback.Stub() {
-        @Override
-        public void cancel() {
-            finish();
-        }
-    };
 
     private boolean isInternalActivity() {
         return (this instanceof ConfirmLockPassword.InternalActivity)
@@ -78,7 +64,7 @@
             return;
         }
         if (UserManager.get(this).isManagedProfile(credentialOwnerUserId)) {
-            setTheme(R.style.Theme_ConfirmDeviceCredentialsWork);
+            setTheme(SetupWizardUtils.getTheme(getIntent()));
             mConfirmCredentialTheme = ConfirmCredentialTheme.WORK;
         } else if (getIntent().getBooleanExtra(
                 ConfirmDeviceCredentialBaseFragment.DARK_THEME, false)) {
@@ -90,9 +76,6 @@
         }
         super.onCreate(savedState);
 
-        mBiometricManager = getSystemService(BiometricManager.class);
-        mBiometricManager.registerCancellationCallback(mCancelCallback);
-
         if (mConfirmCredentialTheme == ConfirmCredentialTheme.NORMAL) {
             // Prevent the content parent from consuming the window insets because GlifLayout uses
             // it to show the status bar background.
@@ -167,15 +150,10 @@
     @Override
     public void onStop() {
         super.onStop();
-        // TODO(b/123378871): Remove when moved.
-        if (!isChangingConfigurations()) {
-            mBiometricManager.onConfirmDeviceCredentialError(
-                    BiometricConstants.BIOMETRIC_ERROR_USER_CANCELED,
-                    getString(com.android.internal.R.string.biometric_error_user_canceled));
-            if (getIntent().getBooleanExtra(
-                    ChooseLockSettingsHelper.EXTRA_KEY_FOREGROUND_ONLY, false)) {
-                finish();
-            }
+        final boolean foregroundOnly = getIntent().getBooleanExtra(
+                ChooseLockSettingsHelper.EXTRA_KEY_FOREGROUND_ONLY, false);
+        if (!isChangingConfigurations() && foregroundOnly) {
+            finish();
         }
     }
 
@@ -188,11 +166,6 @@
         }
     }
 
-    @Override
-    public boolean isLaunchableInTaskModePinned() {
-        return true;
-    }
-
     public void prepareEnterAnimation() {
         getFragment().prepareEnterAnimation();
     }
diff --git a/src/com/android/settings/password/ConfirmDeviceCredentialBaseFragment.java b/src/com/android/settings/password/ConfirmDeviceCredentialBaseFragment.java
index bb953a1..262a550 100644
--- a/src/com/android/settings/password/ConfirmDeviceCredentialBaseFragment.java
+++ b/src/com/android/settings/password/ConfirmDeviceCredentialBaseFragment.java
@@ -34,8 +34,10 @@
 import android.hardware.biometrics.BiometricManager;
 import android.os.Bundle;
 import android.os.Handler;
+import android.os.UserHandle;
 import android.os.UserManager;
 import android.text.TextUtils;
+import android.util.Log;
 import android.view.View;
 import android.view.ViewGroup;
 import android.widget.Button;
@@ -56,7 +58,7 @@
  * Base fragment to be shared for PIN/Pattern/Password confirmation fragments.
  */
 public abstract class ConfirmDeviceCredentialBaseFragment extends InstrumentedFragment {
-
+    public static final String TAG = ConfirmDeviceCredentialBaseFragment.class.getSimpleName();
     public static final String TITLE_TEXT = SETTINGS_PACKAGE_NAME + ".ConfirmCredentials.title";
     public static final String HEADER_TEXT = SETTINGS_PACKAGE_NAME + ".ConfirmCredentials.header";
     public static final String DETAILS_TEXT = SETTINGS_PACKAGE_NAME + ".ConfirmCredentials.details";
@@ -77,6 +79,8 @@
 
     protected boolean mReturnCredentials = false;
     protected Button mCancelButton;
+    /** Button allowing managed profile password reset, null when is not shown. */
+    @Nullable protected Button mForgotButton;
     protected int mEffectiveUserId;
     protected int mUserId;
     protected UserManager mUserManager;
@@ -116,8 +120,7 @@
     @Override
     public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
         super.onViewCreated(view, savedInstanceState);
-        mCancelButton = (Button) view.findViewById(R.id.cancelButton);
-
+        mCancelButton = view.findViewById(R.id.cancelButton);
         boolean showCancelButton = getActivity().getIntent().getBooleanExtra(
                 SHOW_CANCEL_BUTTON, false);
         boolean hasAlternateButton = mFrp && !TextUtils.isEmpty(mFrpAlternateButtonText);
@@ -126,22 +129,32 @@
         if (hasAlternateButton) {
             mCancelButton.setText(mFrpAlternateButtonText);
         }
-        mCancelButton.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                if (hasAlternateButton) {
-                    getActivity().setResult(KeyguardManager.RESULT_ALTERNATE);
-                }
-                getActivity().finish();
+        mCancelButton.setOnClickListener(v -> {
+            if (hasAlternateButton) {
+                getActivity().setResult(KeyguardManager.RESULT_ALTERNATE);
             }
+            getActivity().finish();
         });
-        int credentialOwnerUserId = Utils.getCredentialOwnerUserId(
-                getActivity(),
-                Utils.getUserIdFromBundle(
-                        getActivity(),
-                        getActivity().getIntent().getExtras(), isInternalActivity()));
-        if (mUserManager.isManagedProfile(credentialOwnerUserId)) {
-            setWorkChallengeBackground(view, credentialOwnerUserId);
+        setupForgotButtonIfManagedProfile(view);
+    }
+
+    private void setupForgotButtonIfManagedProfile(View view) {
+        if (mUserManager.isManagedProfile(mUserId)
+                && mUserManager.isQuietModeEnabled(UserHandle.of(mUserId))
+                && mDevicePolicyManager.canProfileOwnerResetPasswordWhenLocked(mUserId)) {
+            mForgotButton = view.findViewById(R.id.forgotButton);
+            if (mForgotButton == null) {
+                Log.wtf(TAG, "Forgot button not found in managed profile credential dialog");
+                return;
+            }
+            mForgotButton.setVisibility(View.VISIBLE);
+            mForgotButton.setOnClickListener(v -> {
+                final Intent intent = new Intent();
+                intent.setClassName(SETTINGS_PACKAGE_NAME, ForgotPasswordActivity.class.getName());
+                intent.putExtra(Intent.EXTRA_USER_ID, mUserId);
+                getActivity().startActivity(intent);
+                getActivity().finish();
+            });
         }
     }
 
diff --git a/src/com/android/settings/password/ConfirmLockPassword.java b/src/com/android/settings/password/ConfirmLockPassword.java
index f2b5a35..ce8813f 100644
--- a/src/com/android/settings/password/ConfirmLockPassword.java
+++ b/src/com/android/settings/password/ConfirmLockPassword.java
@@ -16,6 +16,7 @@
 
 package com.android.settings.password;
 
+import android.annotation.Nullable;
 import android.app.admin.DevicePolicyManager;
 import android.app.settings.SettingsEnums;
 import android.content.Context;
@@ -27,6 +28,7 @@
 import android.os.SystemClock;
 import android.os.UserManager;
 import android.os.storage.StorageManager;
+import android.text.Editable;
 import android.text.InputType;
 import android.text.TextUtils;
 import android.view.KeyEvent;
@@ -44,6 +46,7 @@
 
 import com.android.internal.widget.LockPatternChecker;
 import com.android.internal.widget.LockPatternUtils;
+import com.android.internal.widget.LockscreenCredential;
 import com.android.internal.widget.TextViewInputDisabler;
 import com.android.settings.R;
 import com.android.settings.widget.ImeAwareEditText;
@@ -54,7 +57,7 @@
 
 public class ConfirmLockPassword extends ConfirmDeviceCredentialBaseActivity {
 
-    // The index of the array is isStrongAuth << 2 + isProfile << 1 + isAlpha.
+    // The index of the array is isStrongAuth << 2 + isManagedProfile << 1 + isAlpha.
     private static final int[] DETAIL_TEXTS = new int[] {
         R.string.lockpassword_confirm_your_pin_generic,
         R.string.lockpassword_confirm_your_password_generic,
@@ -63,7 +66,7 @@
         R.string.lockpassword_strong_auth_required_device_pin,
         R.string.lockpassword_strong_auth_required_device_password,
         R.string.lockpassword_strong_auth_required_work_pin,
-        R.string.lockpassword_strong_auth_required_work_password,
+        R.string.lockpassword_strong_auth_required_work_password
     };
 
     public static class InternalActivity extends ConfirmLockPassword {
@@ -107,6 +110,7 @@
         private InputMethodManager mImm;
         private AppearAnimationUtils mAppearAnimationUtils;
         private DisappearAnimationUtils mDisappearAnimationUtils;
+        private boolean mIsManagedProfile;
 
         // required constructor for fragments
         public ConfirmLockPasswordFragment() {
@@ -147,6 +151,8 @@
             mImm = (InputMethodManager) getActivity().getSystemService(
                     Context.INPUT_METHOD_SERVICE);
 
+            mIsManagedProfile = UserManager.get(getActivity()).isManagedProfile(mEffectiveUserId);
+
             Intent intent = getActivity().getIntent();
             if (intent != null) {
                 CharSequence headerMessage = intent.getCharSequenceExtra(
@@ -163,8 +169,16 @@
                 mDetailsTextView.setText(detailsMessage);
             }
             int currentType = mPasswordEntry.getInputType();
-            mPasswordEntry.setInputType(mIsAlpha ? currentType
-                    : (InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_VARIATION_PASSWORD));
+            if (mIsAlpha) {
+                mPasswordEntry.setInputType(currentType);
+                mPasswordEntry.setContentDescription(
+                        getContext().getString(R.string.unlock_set_unlock_password_title));
+            } else {
+                mPasswordEntry.setInputType(
+                        InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_VARIATION_PASSWORD);
+                mPasswordEntry.setContentDescription(
+                        getContext().getString(R.string.unlock_set_unlock_pin_title));
+            }
             // Can't set via XML since setInputType resets the fontFamily to null
             mPasswordEntry.setTypeface(Typeface.create(
                     getContext().getString(com.android.internal.R.string.config_headlineFontFamily),
@@ -190,11 +204,25 @@
             return view;
         }
 
+        @Override
+        public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
+            super.onViewCreated(view, savedInstanceState);
+            if (mForgotButton != null) {
+                mForgotButton.setText(mIsAlpha
+                        ? R.string.lockpassword_forgot_password
+                        : R.string.lockpassword_forgot_pin);
+            }
+        }
+
         private int getDefaultHeader() {
             if (mFrp) {
                 return mIsAlpha ? R.string.lockpassword_confirm_your_password_header_frp
                         : R.string.lockpassword_confirm_your_pin_header_frp;
             }
+            if (mIsManagedProfile) {
+                return mIsAlpha ? R.string.lockpassword_confirm_your_work_password_header
+                        : R.string.lockpassword_confirm_your_work_pin_header;
+            }
             return mIsAlpha ? R.string.lockpassword_confirm_your_password_header
                     : R.string.lockpassword_confirm_your_pin_header;
         }
@@ -205,9 +233,8 @@
                         : R.string.lockpassword_confirm_your_pin_details_frp;
             }
             boolean isStrongAuthRequired = isStrongAuthRequired();
-            boolean isProfile = UserManager.get(getActivity()).isManagedProfile(mEffectiveUserId);
-            // Map boolean flags to an index by isStrongAuth << 2 + isProfile << 1 + isAlpha.
-            int index = ((isStrongAuthRequired ? 1 : 0) << 2) + ((isProfile ? 1 : 0) << 1)
+            // Map boolean flags to an index by isStrongAuth << 2 + isManagedProfile << 1 + isAlpha.
+            int index = ((isStrongAuthRequired ? 1 : 0) << 2) + ((mIsManagedProfile ? 1 : 0) << 1)
                     + (mIsAlpha ? 1 : 0);
             return DETAIL_TEXTS[index];
         }
@@ -240,6 +267,9 @@
             mHeaderTextView.setAlpha(0f);
             mDetailsTextView.setAlpha(0f);
             mCancelButton.setAlpha(0f);
+            if (mForgotButton != null) {
+                mForgotButton.setAlpha(0f);
+            }
             mPasswordEntry.setAlpha(0f);
             mErrorTextView.setAlpha(0f);
         }
@@ -251,6 +281,9 @@
             if (mCancelButton.getVisibility() == View.VISIBLE) {
                 result.add(mCancelButton);
             }
+            if (mForgotButton != null) {
+                result.add(mForgotButton);
+            }
             result.add(mPasswordEntry);
             result.add(mErrorTextView);
             return result.toArray(new View[] {});
@@ -324,10 +357,13 @@
             }
 
             // TODO(b/120484642): This is a point of entry for passwords from the UI
-            final byte[] pin = LockPatternUtils.charSequenceToByteArray(mPasswordEntry.getText());
-            if (pin == null || pin.length == 0) {
+            final Editable passwordText = mPasswordEntry.getText();
+            if (TextUtils.isEmpty(passwordText)) {
                 return;
             }
+            final LockscreenCredential credential =
+                    mIsAlpha ? LockscreenCredential.createPassword(passwordText)
+                    : LockscreenCredential.createPin(passwordText);
 
             mPasswordEntryInputDisabler.setInputEnabled(false);
             final boolean verifyChallenge = getActivity().getIntent().getBooleanExtra(
@@ -336,11 +372,11 @@
             Intent intent = new Intent();
             if (verifyChallenge)  {
                 if (isInternalActivity()) {
-                    startVerifyPassword(pin, intent);
+                    startVerifyPassword(credential, intent);
                     return;
                 }
             } else {
-                startCheckPassword(pin, intent);
+                startCheckPassword(credential, intent);
                 return;
             }
 
@@ -351,7 +387,7 @@
             return getActivity() instanceof ConfirmLockPassword.InternalActivity;
         }
 
-        private void startVerifyPassword(final byte[] pin, final Intent intent) {
+        private void startVerifyPassword(LockscreenCredential credential, final Intent intent) {
             long challenge = getActivity().getIntent().getLongExtra(
                     ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE, 0);
             final int localEffectiveUserId = mEffectiveUserId;
@@ -375,29 +411,32 @@
                         }
             };
             mPendingLockCheck = (localEffectiveUserId == localUserId)
-                    ? LockPatternChecker.verifyPassword(
-                            mLockPatternUtils, pin, challenge, localUserId, onVerifyCallback)
+                    ? LockPatternChecker.verifyCredential(
+                            mLockPatternUtils, credential, challenge, localUserId, onVerifyCallback)
                     : LockPatternChecker.verifyTiedProfileChallenge(
-                            mLockPatternUtils, pin, false, challenge, localUserId,
+                            mLockPatternUtils, credential, challenge, localUserId,
                             onVerifyCallback);
         }
 
-        private void startCheckPassword(final byte[] pin, final Intent intent) {
+        private void startCheckPassword(final LockscreenCredential credential,
+                final Intent intent) {
             final int localEffectiveUserId = mEffectiveUserId;
-            mPendingLockCheck = LockPatternChecker.checkPassword(
+            mPendingLockCheck = LockPatternChecker.checkCredential(
                     mLockPatternUtils,
-                    pin,
+                    credential,
                     localEffectiveUserId,
                     new LockPatternChecker.OnCheckCallback() {
                         @Override
                         public void onChecked(boolean matched, int timeoutMs) {
                             mPendingLockCheck = null;
                             if (matched && isInternalActivity() && mReturnCredentials) {
+                                // TODO: get rid of EXTRA_KEY_TYPE, since EXTRA_KEY_PASSWORD already
+                                // distinguishes beteween PIN and password.
                                 intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_TYPE,
                                                 mIsAlpha ? StorageManager.CRYPT_TYPE_PASSWORD
                                                          : StorageManager.CRYPT_TYPE_PIN);
                                 intent.putExtra(
-                                        ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD, pin);
+                                        ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD, credential);
                             }
                             mCredentialCheckResultTracker.setResult(matched, intent, timeoutMs,
                                     localEffectiveUserId);
@@ -438,7 +477,6 @@
                     ConfirmDeviceCredentialUtils.reportSuccessfulAttempt(mLockPatternUtils,
                             mUserManager, mEffectiveUserId);
                 }
-                mBiometricManager.onConfirmDeviceCredentialSuccess();
                 startDisappearAnimation(intent);
                 ConfirmDeviceCredentialUtils.checkForPendingIntent(getActivity());
             } else {
@@ -492,15 +530,11 @@
         }
 
         public void onClick(View v) {
-            switch (v.getId()) {
-                case R.id.next_button:
-                    handleNext();
-                    break;
-
-                case R.id.cancel_button:
-                    getActivity().setResult(RESULT_CANCELED);
-                    getActivity().finish();
-                    break;
+            if (v.getId() == R.id.next_button) {
+                handleNext();
+            } else if (v.getId() == R.id.cancel_button) {
+                getActivity().setResult(RESULT_CANCELED);
+                getActivity().finish();
             }
         }
 
diff --git a/src/com/android/settings/password/ConfirmLockPattern.java b/src/com/android/settings/password/ConfirmLockPattern.java
index f43ee7f..b2afb22 100644
--- a/src/com/android/settings/password/ConfirmLockPattern.java
+++ b/src/com/android/settings/password/ConfirmLockPattern.java
@@ -16,6 +16,7 @@
 
 package com.android.settings.password;
 
+import android.annotation.Nullable;
 import android.app.Activity;
 import android.app.settings.SettingsEnums;
 import android.content.Intent;
@@ -37,6 +38,7 @@
 import com.android.internal.widget.LockPatternUtils;
 import com.android.internal.widget.LockPatternView;
 import com.android.internal.widget.LockPatternView.Cell;
+import com.android.internal.widget.LockscreenCredential;
 import com.android.settings.R;
 import com.android.settingslib.animation.AppearAnimationCreator;
 import com.android.settingslib.animation.AppearAnimationUtils;
@@ -89,8 +91,6 @@
 
         private TextView mHeaderTextView;
         private TextView mDetailsTextView;
-        private View mLeftSpacerLandscape;
-        private View mRightSpacerLandscape;
 
         // caller-supplied text for various prompts
         private CharSequence mHeaderText;
@@ -99,6 +99,8 @@
         private AppearAnimationUtils mAppearAnimationUtils;
         private DisappearAnimationUtils mDisappearAnimationUtils;
 
+        private boolean mIsManagedProfile;
+
         // required constructor for fragments
         public ConfirmLockPatternFragment() {
 
@@ -118,8 +120,8 @@
             mLockPatternView = (LockPatternView) view.findViewById(R.id.lockPattern);
             mDetailsTextView = (TextView) view.findViewById(R.id.sud_layout_description);
             mErrorTextView = (TextView) view.findViewById(R.id.errorText);
-            mLeftSpacerLandscape = view.findViewById(R.id.leftSpacer);
-            mRightSpacerLandscape = view.findViewById(R.id.rightSpacer);
+
+            mIsManagedProfile = UserManager.get(getActivity()).isManagedProfile(mEffectiveUserId);
 
             // make it so unhandled touch events within the unlock screen go to the
             // lock pattern view.
@@ -180,10 +182,19 @@
                 getFragmentManager().beginTransaction().add(mCredentialCheckResultTracker,
                         FRAGMENT_TAG_CHECK_LOCK_RESULT).commit();
             }
+
             return view;
         }
 
         @Override
+        public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
+            super.onViewCreated(view, savedInstanceState);
+            if (mForgotButton != null) {
+                mForgotButton.setText(R.string.lockpassword_forgot_pattern);
+            }
+        }
+
+        @Override
         public void onSaveInstanceState(Bundle outState) {
             // deliberately not calling super since we are managing this in full
         }
@@ -229,6 +240,9 @@
             super.prepareEnterAnimation();
             mHeaderTextView.setAlpha(0f);
             mCancelButton.setAlpha(0f);
+            if (mForgotButton != null) {
+                mForgotButton.setAlpha(0f);
+            }
             mLockPatternView.setAlpha(0f);
             mDetailsTextView.setAlpha(0f);
         }
@@ -238,7 +252,7 @@
                 return R.string.lockpassword_confirm_your_pattern_details_frp;
             }
             final boolean isStrongAuthRequired = isStrongAuthRequired();
-            if (UserManager.get(getActivity()).isManagedProfile(mEffectiveUserId)) {
+            if (mIsManagedProfile) {
                 return isStrongAuthRequired
                         ? R.string.lockpassword_strong_auth_required_work_pattern
                         : R.string.lockpassword_confirm_your_pattern_generic_profile;
@@ -251,10 +265,13 @@
 
         private Object[][] getActiveViews() {
             ArrayList<ArrayList<Object>> result = new ArrayList<>();
-            result.add(new ArrayList<Object>(Collections.singletonList(mHeaderTextView)));
-            result.add(new ArrayList<Object>(Collections.singletonList(mDetailsTextView)));
+            result.add(new ArrayList<>(Collections.singletonList(mHeaderTextView)));
+            result.add(new ArrayList<>(Collections.singletonList(mDetailsTextView)));
             if (mCancelButton.getVisibility() == View.VISIBLE) {
-                result.add(new ArrayList<Object>(Collections.singletonList(mCancelButton)));
+                result.add(new ArrayList<>(Collections.singletonList(mCancelButton)));
+            }
+            if (mForgotButton != null) {
+                result.add(new ArrayList<>(Collections.singletonList(mForgotButton)));
             }
             LockPatternView.CellState[][] cellStates = mLockPatternView.getCellStates();
             for (int i = 0; i < cellStates.length; i++) {
@@ -324,7 +341,9 @@
         }
 
         private int getDefaultHeader() {
-            return mFrp ? R.string.lockpassword_confirm_your_pattern_header_frp
+            if (mFrp) return R.string.lockpassword_confirm_your_pattern_header_frp;
+            return mIsManagedProfile
+                    ? R.string.lockpassword_confirm_your_work_pattern_header
                     : R.string.lockpassword_confirm_your_pattern_header;
         }
 
@@ -401,14 +420,16 @@
 
                 final boolean verifyChallenge = getActivity().getIntent().getBooleanExtra(
                         ChooseLockSettingsHelper.EXTRA_KEY_HAS_CHALLENGE, false);
+                final LockscreenCredential credential = LockscreenCredential.createPattern(pattern);
+                //TODO: how to sanitize this?
                 Intent intent = new Intent();
                 if (verifyChallenge) {
                     if (isInternalActivity()) {
-                        startVerifyPattern(pattern, intent);
+                        startVerifyPattern(credential, intent);
                         return;
                     }
                 } else {
-                    startCheckPattern(pattern, intent);
+                    startCheckPattern(credential, intent);
                     return;
                 }
 
@@ -419,7 +440,7 @@
                 return getActivity() instanceof ConfirmLockPattern.InternalActivity;
             }
 
-            private void startVerifyPattern(final List<LockPatternView.Cell> pattern,
+            private void startVerifyPattern(final LockscreenCredential pattern,
                     final Intent intent) {
                 final int localEffectiveUserId = mEffectiveUserId;
                 final int localUserId = mUserId;
@@ -444,15 +465,15 @@
                         }
                     };
                 mPendingLockCheck = (localEffectiveUserId == localUserId)
-                        ? LockPatternChecker.verifyPattern(
+                        ? LockPatternChecker.verifyCredential(
                                 mLockPatternUtils, pattern, challenge, localUserId,
                                 onVerifyCallback)
                         : LockPatternChecker.verifyTiedProfileChallenge(
-                                mLockPatternUtils, LockPatternUtils.patternToByteArray(pattern),
-                                true, challenge, localUserId, onVerifyCallback);
+                                mLockPatternUtils, pattern,
+                                challenge, localUserId, onVerifyCallback);
             }
 
-            private void startCheckPattern(final List<LockPatternView.Cell> pattern,
+            private void startCheckPattern(final LockscreenCredential pattern,
                     final Intent intent) {
                 if (pattern.size() < LockPatternUtils.MIN_PATTERN_REGISTER_FAIL) {
                     // Pattern size is less than the minimum, do not count it as an fail attempt.
@@ -461,7 +482,7 @@
                 }
 
                 final int localEffectiveUserId = mEffectiveUserId;
-                mPendingLockCheck = LockPatternChecker.checkPattern(
+                mPendingLockCheck = LockPatternChecker.checkCredential(
                         mLockPatternUtils,
                         pattern,
                         localEffectiveUserId,
@@ -473,7 +494,7 @@
                                     intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_TYPE,
                                                     StorageManager.CRYPT_TYPE_PATTERN);
                                     intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD,
-                                                    LockPatternUtils.patternToByteArray(pattern));
+                                                    pattern);
                                 }
                                 mCredentialCheckResultTracker.setResult(matched, intent, timeoutMs,
                                         localEffectiveUserId);
@@ -490,7 +511,6 @@
                     ConfirmDeviceCredentialUtils.reportSuccessfulAttempt(mLockPatternUtils,
                             mUserManager, mEffectiveUserId);
                 }
-                mBiometricManager.onConfirmDeviceCredentialSuccess();
                 startDisappearAnimation(intent);
                 ConfirmDeviceCredentialUtils.checkForPendingIntent(getActivity());
             } else {
diff --git a/src/com/android/settings/password/ForgotPasswordActivity.java b/src/com/android/settings/password/ForgotPasswordActivity.java
new file mode 100644
index 0000000..1f1df18
--- /dev/null
+++ b/src/com/android/settings/password/ForgotPasswordActivity.java
@@ -0,0 +1,61 @@
+/*
+ * 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.password;
+
+import android.app.Activity;
+import android.content.Intent;
+import android.os.Bundle;
+import android.os.UserHandle;
+import android.os.UserManager;
+import android.util.Log;
+
+import com.android.settings.R;
+
+import com.google.android.setupcompat.template.FooterBarMixin;
+import com.google.android.setupcompat.template.FooterButton;
+import com.google.android.setupdesign.GlifLayout;
+
+/**
+ * An activity that asks the user to contact their admin to get assistance with forgotten password.
+ */
+public class ForgotPasswordActivity extends Activity {
+    public static final String TAG = ForgotPasswordActivity.class.getSimpleName();
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        int userId = getIntent().getIntExtra(Intent.EXTRA_USER_ID, -1);
+        if (userId < 0) {
+            Log.e(TAG, "No valid userId supplied, exiting");
+            finish();
+            return;
+        }
+        setContentView(R.layout.forgot_password_activity);
+
+        final GlifLayout layout = findViewById(R.id.setup_wizard_layout);
+        layout.getMixin(FooterBarMixin.class).setPrimaryButton(
+                new FooterButton.Builder(this)
+                        .setText(android.R.string.ok)
+                        .setListener(v -> finish())
+                        .setButtonType(FooterButton.ButtonType.DONE)
+                        .setTheme(R.style.SudGlifButton_Primary)
+                        .build()
+        );
+
+        UserManager.get(this).requestQuietModeEnabled(
+                false, UserHandle.of(userId), UserManager.QUIET_MODE_DISABLE_DONT_ASK_CREDENTIAL);
+    }
+}
diff --git a/src/com/android/settings/password/ManagedLockPasswordProvider.java b/src/com/android/settings/password/ManagedLockPasswordProvider.java
index 5006926..ac8a73a 100644
--- a/src/com/android/settings/password/ManagedLockPasswordProvider.java
+++ b/src/com/android/settings/password/ManagedLockPasswordProvider.java
@@ -19,6 +19,8 @@
 import android.content.Context;
 import android.content.Intent;
 
+import com.android.internal.widget.LockscreenCredential;
+
 /**
  * Helper for handling managed passwords in security settings UI.
  * It provides resources that should be shown in settings UI when lock password quality is set to
@@ -59,7 +61,7 @@
      * @param password Current lock password.
      * @return Intent that should update lock password to a managed password.
      */
-    Intent createIntent(boolean requirePasswordToDecrypt, byte[] password) {
+    Intent createIntent(boolean requirePasswordToDecrypt, LockscreenCredential password) {
         return null;
     }
 }
diff --git a/src/com/android/settings/password/SetNewPasswordActivity.java b/src/com/android/settings/password/SetNewPasswordActivity.java
index 055e5be..4bffbf5 100644
--- a/src/com/android/settings/password/SetNewPasswordActivity.java
+++ b/src/com/android/settings/password/SetNewPasswordActivity.java
@@ -32,16 +32,16 @@
 import android.app.admin.PasswordMetrics;
 import android.app.settings.SettingsEnums;
 import android.content.ComponentName;
-import android.content.Context;
 import android.content.Intent;
 import android.os.Bundle;
 import android.os.IBinder;
 import android.util.Log;
 
-import com.android.settings.Utils;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 
+import com.google.android.setupcompat.util.WizardManagerHelper;
+
 import java.util.List;
 
 /**
@@ -110,7 +110,7 @@
 
     @Override
     public void launchChooseLock(Bundle chooseLockFingerprintExtras) {
-        final boolean isInSetupWizard = !Utils.isDeviceProvisioned(this);
+        final boolean isInSetupWizard = !WizardManagerHelper.isDeviceProvisioned(this);
         Intent intent = isInSetupWizard ? new Intent(this, SetupChooseLockGeneric.class)
                 : new Intent(this, ChooseLockGeneric.class);
         intent.setAction(mNewPasswordAction);
diff --git a/src/com/android/settings/print/PrintSettingsFragment.java b/src/com/android/settings/print/PrintSettingsFragment.java
index 09a0a27..0641093 100644
--- a/src/com/android/settings/print/PrintSettingsFragment.java
+++ b/src/com/android/settings/print/PrintSettingsFragment.java
@@ -54,7 +54,7 @@
 
 import com.android.settings.R;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
+import com.android.settingslib.search.Indexable;
 import com.android.settingslib.search.SearchIndexable;
 import com.android.settingslib.widget.apppreference.AppPreference;
 
@@ -491,17 +491,6 @@
         }
     }
 
-    public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
-                        boolean enabled) {
-                    List<SearchIndexableResource> indexables = new ArrayList<>();
-                    SearchIndexableResource indexable = new SearchIndexableResource(context);
-                    indexable.xmlResId = R.xml.print_settings;
-                    indexables.add(indexable);
-                    return indexables;
-                }
-            };
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.print_settings);
 }
diff --git a/src/com/android/settings/print/ProfileSettingsPreferenceFragment.java b/src/com/android/settings/print/ProfileSettingsPreferenceFragment.java
index b616ccc..e41e1da 100644
--- a/src/com/android/settings/print/ProfileSettingsPreferenceFragment.java
+++ b/src/com/android/settings/print/ProfileSettingsPreferenceFragment.java
@@ -16,6 +16,7 @@
 
 package com.android.settings.print;
 
+import android.app.Activity;
 import android.content.Context;
 import android.content.Intent;
 import android.os.Bundle;
@@ -49,12 +50,14 @@
                         long id) {
                     final UserHandle selectedUser = profileSpinnerAdapter.getUserHandle(position);
                     if (selectedUser.getIdentifier() != UserHandle.myUserId()) {
+                        final Activity activity = getActivity();
                         Intent intent = new Intent(getIntentActionString());
                         intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                         intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
-                        getActivity().startActivityAsUser(intent, selectedUser);
+                        activity.startActivityAsUser(intent, selectedUser);
                         // Go back to default selection, which is the first one
                         spinner.setSelection(0);
+                        activity.finish();
                     }
                 }
 
diff --git a/src/com/android/settings/privacy/AccessibilityUsagePreferenceController.java b/src/com/android/settings/privacy/AccessibilityUsagePreferenceController.java
index 8aff223..a36d3ce 100644
--- a/src/com/android/settings/privacy/AccessibilityUsagePreferenceController.java
+++ b/src/com/android/settings/privacy/AccessibilityUsagePreferenceController.java
@@ -29,20 +29,31 @@
 import java.util.List;
 
 
-public class AccessibilityUsagePreferenceController extends BasePreferenceController  {
+public class AccessibilityUsagePreferenceController extends BasePreferenceController {
 
-    private final @NonNull List<AccessibilityServiceInfo> mEnabledServiceInfos;
+    private final AccessibilityManager mAccessibilityManager;
+    @NonNull
+    private List<AccessibilityServiceInfo> mEnabledServiceInfos;
 
     public AccessibilityUsagePreferenceController(Context context, String preferenceKey) {
         super(context, preferenceKey);
-
-        final AccessibilityManager accessibilityManager = context.getSystemService(
-                AccessibilityManager.class);
-        mEnabledServiceInfos = accessibilityManager.getEnabledAccessibilityServiceList(
+        mAccessibilityManager = mContext.getSystemService(AccessibilityManager.class);
+        mEnabledServiceInfos = mAccessibilityManager.getEnabledAccessibilityServiceList(
                 AccessibilityServiceInfo.FEEDBACK_ALL_MASK);
     }
 
     @Override
+    public void updateState(Preference preference) {
+        super.updateState(preference);
+        mEnabledServiceInfos = mAccessibilityManager.getEnabledAccessibilityServiceList(
+                AccessibilityServiceInfo.FEEDBACK_ALL_MASK);
+
+        if (mEnabledServiceInfos.isEmpty()) {
+            preference.setVisible(false);
+        }
+    }
+
+    @Override
     public int getAvailabilityStatus() {
         return mEnabledServiceInfos.isEmpty() ? UNSUPPORTED_ON_DEVICE : AVAILABLE;
     }
diff --git a/src/com/android/settings/privacy/PrivacyDashboardFragment.java b/src/com/android/settings/privacy/PrivacyDashboardFragment.java
index 1869cff..cc0e8a1 100644
--- a/src/com/android/settings/privacy/PrivacyDashboardFragment.java
+++ b/src/com/android/settings/privacy/PrivacyDashboardFragment.java
@@ -18,10 +18,6 @@
 
 import android.app.settings.SettingsEnums;
 import android.content.Context;
-import android.provider.SearchIndexableResource;
-import android.view.View;
-
-import androidx.annotation.VisibleForTesting;
 
 import com.android.settings.R;
 import com.android.settings.dashboard.DashboardFragment;
@@ -43,11 +39,6 @@
     private static final String KEY_NOTIFICATION_WORK_PROFILE_NOTIFICATIONS =
             "privacy_lock_screen_work_profile_notifications";
 
-    @VisibleForTesting
-    View mProgressHeader;
-    @VisibleForTesting
-    View mProgressAnimation;
-
     @Override
     public int getMetricsCategory() {
         return SettingsEnums.TOP_LEVEL_PRIVACY;
@@ -90,18 +81,8 @@
 
     }
 
-    public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
-                        boolean enabled) {
-                    final ArrayList<SearchIndexableResource> result = new ArrayList<>();
-
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.privacy_dashboard_settings;
-                    result.add(sir);
-                    return result;
-                }
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.privacy_dashboard_settings) {
 
                 @Override
                 public List<AbstractPreferenceController> createPreferenceControllers(
diff --git a/src/com/android/settings/search/BaseSearchIndexProvider.java b/src/com/android/settings/search/BaseSearchIndexProvider.java
index 80775bf..da89062 100644
--- a/src/com/android/settings/search/BaseSearchIndexProvider.java
+++ b/src/com/android/settings/search/BaseSearchIndexProvider.java
@@ -36,11 +36,14 @@
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settings.core.PreferenceXmlParserUtils;
 import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.settingslib.search.Indexable;
+import com.android.settingslib.search.SearchIndexableRaw;
 
 import org.xmlpull.v1.XmlPullParserException;
 
 import java.io.IOException;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
 
 /**
@@ -49,12 +52,22 @@
 public class BaseSearchIndexProvider implements Indexable.SearchIndexProvider {
 
     private static final String TAG = "BaseSearchIndex";
+    private int mXmlRes = 0;
 
     public BaseSearchIndexProvider() {
     }
 
+    public BaseSearchIndexProvider(int xmlRes) {
+        mXmlRes = xmlRes;
+    }
+
     @Override
     public List<SearchIndexableResource> getXmlResourcesToIndex(Context context, boolean enabled) {
+        if (mXmlRes != 0) {
+            final SearchIndexableResource sir = new SearchIndexableResource(context);
+            sir.xmlResId = mXmlRes;
+            return Arrays.asList(sir);
+        }
         return null;
     }
 
@@ -65,6 +78,28 @@
 
     @Override
     @CallSuper
+    public List<SearchIndexableRaw> getDynamicRawDataToIndex(Context context, boolean enabled) {
+        final List<SearchIndexableRaw> dynamicRaws = new ArrayList<>();
+        final List<AbstractPreferenceController> controllers = getPreferenceControllers(context);
+        if (controllers == null || controllers.isEmpty()) {
+            return dynamicRaws;
+        }
+        for (AbstractPreferenceController controller : controllers) {
+            if (controller instanceof PreferenceControllerMixin) {
+                ((PreferenceControllerMixin) controller).updateDynamicRawDataToIndex(dynamicRaws);
+            } else if (controller instanceof BasePreferenceController) {
+                ((BasePreferenceController) controller).updateDynamicRawDataToIndex(dynamicRaws);
+            } else {
+                Log.e(TAG, controller.getClass().getName()
+                        + " must implement " + PreferenceControllerMixin.class.getName()
+                        + " treating the dynamic indexable");
+            }
+        }
+        return dynamicRaws;
+    }
+
+    @Override
+    @CallSuper
     public List<String> getNonIndexableKeys(Context context) {
         if (!isPageSearchEnabled(context)) {
             // Entire page should be suppressed, mark all keys from this page as non-indexable.
@@ -92,7 +127,6 @@
         return nonIndexableKeys;
     }
 
-    @Override
     public List<AbstractPreferenceController> getPreferenceControllers(Context context) {
         final List<AbstractPreferenceController> controllersFromCode =
                 createPreferenceControllers(context);
diff --git a/src/com/android/settings/search/DatabaseIndexingUtils.java b/src/com/android/settings/search/DatabaseIndexingUtils.java
deleted file mode 100644
index e71db9d..0000000
--- a/src/com/android/settings/search/DatabaseIndexingUtils.java
+++ /dev/null
@@ -1,52 +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.search;
-
-import android.util.Log;
-
-import java.lang.reflect.Field;
-
-/**
- * Utility class for {@like DatabaseIndexingManager} to handle the mapping between Payloads
- * and Preference controllers, and managing indexable classes.
- */
-public class DatabaseIndexingUtils {
-
-    private static final String TAG = "IndexingUtil";
-
-    public static final String FIELD_NAME_SEARCH_INDEX_DATA_PROVIDER =
-            "SEARCH_INDEX_DATA_PROVIDER";
-
-    public static Indexable.SearchIndexProvider getSearchIndexProvider(final Class<?> clazz) {
-        try {
-            final Field f = clazz.getField(FIELD_NAME_SEARCH_INDEX_DATA_PROVIDER);
-            return (Indexable.SearchIndexProvider) f.get(null);
-        } catch (NoSuchFieldException e) {
-            Log.d(TAG, "Cannot find field '" + FIELD_NAME_SEARCH_INDEX_DATA_PROVIDER + "'");
-        } catch (SecurityException se) {
-            Log.d(TAG, "Security exception for field '" +
-                    FIELD_NAME_SEARCH_INDEX_DATA_PROVIDER + "'");
-        } catch (IllegalAccessException e) {
-            Log.d(TAG, "Illegal access to field '" + FIELD_NAME_SEARCH_INDEX_DATA_PROVIDER + "'");
-        } catch (IllegalArgumentException e) {
-            Log.d(TAG, "Illegal argument when accessing field '" +
-                    FIELD_NAME_SEARCH_INDEX_DATA_PROVIDER + "'");
-        }
-        return null;
-    }
-}
\ No newline at end of file
diff --git a/src/com/android/settings/search/Indexable.java b/src/com/android/settings/search/Indexable.java
deleted file mode 100644
index eef7184..0000000
--- a/src/com/android/settings/search/Indexable.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.search;
-
-import android.content.Context;
-import android.provider.SearchIndexableResource;
-
-import androidx.annotation.Keep;
-
-import com.android.settingslib.core.AbstractPreferenceController;
-
-import java.util.List;
-
-/**
- * Interface for classes whose instances can provide data for indexing.
- *
- * Classes implementing the Indexable interface must have a static field called
- * <code>SEARCH_INDEX_DATA_PROVIDER</code>, which is an object implementing the
- * {@link Indexable.SearchIndexProvider} interface.
- *
- * See {@link android.provider.SearchIndexableResource} and {@link SearchIndexableRaw}.
- */
-public interface Indexable {
-
-    interface SearchIndexProvider {
-        /**
-         * Return a list of references for indexing.
-         *
-         * See {@link android.provider.SearchIndexableResource}
-         *
-         * @param context the context.
-         * @param enabled hint telling if the data needs to be considered into the search results
-         *                or not.
-         * @return a list of {@link android.provider.SearchIndexableResource} references.
-         * Can be null.
-         */
-        @Keep
-        List<SearchIndexableResource> getXmlResourcesToIndex(Context context, boolean enabled);
-
-        /**
-         * Return a list of raw data for indexing. See {@link SearchIndexableRaw}
-         *
-         * @param context the context.
-         * @param enabled hint telling if the data needs to be considered into the search results
-         *                or not.
-         * @return a list of {@link SearchIndexableRaw} references. Can be null.
-         */
-        @Keep
-        List<SearchIndexableRaw> getRawDataToIndex(Context context, boolean enabled);
-
-        /**
-         * Return a list of data keys that cannot be indexed. See {@link SearchIndexableRaw}
-         *
-         * @param context the context.
-         * @return a list of {@link SearchIndexableRaw} references. Can be null.
-         */
-        @Keep
-        List<String> getNonIndexableKeys(Context context);
-
-        /**
-         * @return a list of {@link AbstractPreferenceController} for ResultPayload data during
-         * Indexing.
-         */
-        @Keep
-        List<AbstractPreferenceController> getPreferenceControllers(Context context);
-    }
-}
diff --git a/src/com/android/settings/search/SearchFeatureProvider.java b/src/com/android/settings/search/SearchFeatureProvider.java
index 896f6e5..20d4e7c 100644
--- a/src/com/android/settings/search/SearchFeatureProvider.java
+++ b/src/com/android/settings/search/SearchFeatureProvider.java
@@ -34,6 +34,8 @@
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settingslib.search.SearchIndexableResources;
 
+import com.google.android.setupcompat.util.WizardManagerHelper;
+
 /**
  * FeatureProvider for Settings Search
  */
@@ -67,8 +69,9 @@
             return;
         }
 
-        if (!Utils.isDeviceProvisioned(activity) ||
-                !Utils.isPackageEnabled(activity, getSettingsIntelligencePkgName(activity))) {
+        if (!WizardManagerHelper.isDeviceProvisioned(activity)
+                || !Utils.isPackageEnabled(activity, getSettingsIntelligencePkgName(activity))
+                || WizardManagerHelper.isAnySetupWizard(activity.getIntent())) {
             final ViewGroup parent = (ViewGroup) toolbar.getParent();
             if (parent != null) {
                 parent.setVisibility(View.GONE);
diff --git a/src/com/android/settings/search/SearchIndexableRaw.java b/src/com/android/settings/search/SearchIndexableRaw.java
deleted file mode 100644
index b8a1699..0000000
--- a/src/com/android/settings/search/SearchIndexableRaw.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.search;
-
-import android.content.Context;
-import android.provider.SearchIndexableData;
-
-/**
- * Indexable raw data for Search.
- *
- * This is the raw data used by the Indexer and should match its data model.
- *
- * See {@link Indexable} and {@link android.provider.SearchIndexableResource}.
- */
-public class SearchIndexableRaw extends SearchIndexableData {
-
-    /**
-     * Title's raw data.
-     */
-    public String title;
-
-    /**
-     * Summary's raw data when the data is "ON".
-     */
-    public String summaryOn;
-
-    /**
-     * Summary's raw data when the data is "OFF".
-     */
-    public String summaryOff;
-
-    /**
-     * Entries associated with the raw data (when the data can have several values).
-     */
-    public String entries;
-
-    /**
-     * Keywords' raw data.
-     */
-    public String keywords;
-
-    /**
-     * Fragment's or Activity's title associated with the raw data.
-     */
-    public String screenTitle;
-
-    public SearchIndexableRaw(Context context) {
-        super(context);
-    }
-}
diff --git a/src/com/android/settings/search/SearchResultTrampoline.java b/src/com/android/settings/search/SearchResultTrampoline.java
index 3bbe6bd..e930473 100644
--- a/src/com/android/settings/search/SearchResultTrampoline.java
+++ b/src/com/android/settings/search/SearchResultTrampoline.java
@@ -17,6 +17,7 @@
 package com.android.settings.search;
 
 import static com.android.settings.SettingsActivity.EXTRA_SHOW_FRAGMENT_ARGUMENTS;
+import static com.android.settings.SettingsActivity.EXTRA_SHOW_FRAGMENT_TAB;
 
 import android.app.Activity;
 import android.content.Intent;
@@ -46,8 +47,10 @@
         // EXTRA_SHOW_FRAGMENT_ARGUMENTS. This is necessary because intent could be from external
         // caller and args may not persisted.
         final String settingKey = intent.getStringExtra(SettingsActivity.EXTRA_FRAGMENT_ARG_KEY);
+        final int tab = intent.getIntExtra(EXTRA_SHOW_FRAGMENT_TAB, 0);
         final Bundle args = new Bundle();
         args.putString(SettingsActivity.EXTRA_FRAGMENT_ARG_KEY, settingKey);
+        args.putInt(EXTRA_SHOW_FRAGMENT_TAB, tab);
         intent.putExtra(EXTRA_SHOW_FRAGMENT_ARGUMENTS, args);
 
         // Reroute request to SubSetting.
diff --git a/src/com/android/settings/search/SettingsSearchIndexablesProvider.java b/src/com/android/settings/search/SettingsSearchIndexablesProvider.java
index b598224..bb3c762 100644
--- a/src/com/android/settings/search/SettingsSearchIndexablesProvider.java
+++ b/src/com/android/settings/search/SettingsSearchIndexablesProvider.java
@@ -58,13 +58,22 @@
 import android.util.ArraySet;
 import android.util.Log;
 
+import androidx.annotation.Nullable;
 import androidx.slice.SliceViewManager;
 
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.settings.R;
 import com.android.settings.SettingsActivity;
+import com.android.settings.dashboard.DashboardFeatureProvider;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.slices.SettingsSliceProvider;
+import com.android.settingslib.drawer.ActivityTile;
+import com.android.settingslib.drawer.CategoryKey;
 import com.android.settingslib.drawer.DashboardCategory;
 import com.android.settingslib.drawer.Tile;
+import com.android.settingslib.search.Indexable;
+import com.android.settingslib.search.SearchIndexableData;
+import com.android.settingslib.search.SearchIndexableRaw;
 
 import java.util.ArrayList;
 import java.util.Collection;
@@ -98,11 +107,11 @@
 
     @Override
     public Cursor queryXmlResources(String[] projection) {
-        MatrixCursor cursor = new MatrixCursor(INDEXABLES_XML_RES_COLUMNS);
+        final MatrixCursor cursor = new MatrixCursor(INDEXABLES_XML_RES_COLUMNS);
         final List<SearchIndexableResource> resources =
                 getSearchIndexableResourcesFromProvider(getContext());
         for (SearchIndexableResource val : resources) {
-            Object[] ref = new Object[INDEXABLES_XML_RES_COLUMNS.length];
+            final Object[] ref = new Object[INDEXABLES_XML_RES_COLUMNS.length];
             ref[COLUMN_INDEX_XML_RES_RANK] = val.rank;
             ref[COLUMN_INDEX_XML_RES_RESID] = val.xmlResId;
             ref[COLUMN_INDEX_XML_RES_CLASS_NAME] = val.className;
@@ -116,26 +125,15 @@
         return cursor;
     }
 
+    /**
+     * Gets a Cursor of RawData. We use those data in search indexing time
+     */
     @Override
     public Cursor queryRawData(String[] projection) {
-        MatrixCursor cursor = new MatrixCursor(INDEXABLES_RAW_COLUMNS);
+        final MatrixCursor cursor = new MatrixCursor(INDEXABLES_RAW_COLUMNS);
         final List<SearchIndexableRaw> raws = getSearchIndexableRawFromProvider(getContext());
         for (SearchIndexableRaw val : raws) {
-            Object[] ref = new Object[INDEXABLES_RAW_COLUMNS.length];
-            ref[COLUMN_INDEX_RAW_TITLE] = val.title;
-            ref[COLUMN_INDEX_RAW_SUMMARY_ON] = val.summaryOn;
-            ref[COLUMN_INDEX_RAW_SUMMARY_OFF] = val.summaryOff;
-            ref[COLUMN_INDEX_RAW_ENTRIES] = val.entries;
-            ref[COLUMN_INDEX_RAW_KEYWORDS] = val.keywords;
-            ref[COLUMN_INDEX_RAW_SCREEN_TITLE] = val.screenTitle;
-            ref[COLUMN_INDEX_RAW_CLASS_NAME] = val.className;
-            ref[COLUMN_INDEX_RAW_ICON_RESID] = val.iconResId;
-            ref[COLUMN_INDEX_RAW_INTENT_ACTION] = val.intentAction;
-            ref[COLUMN_INDEX_RAW_INTENT_TARGET_PACKAGE] = val.intentTargetPackage;
-            ref[COLUMN_INDEX_RAW_INTENT_TARGET_CLASS] = val.intentTargetClass;
-            ref[COLUMN_INDEX_RAW_KEY] = val.key;
-            ref[COLUMN_INDEX_RAW_USER_ID] = val.userId;
-            cursor.addRow(ref);
+            cursor.addRow(createIndexableRawColumnObjects(val));
         }
 
         return cursor;
@@ -148,7 +146,7 @@
      */
     @Override
     public Cursor queryNonIndexableKeys(String[] projection) {
-        MatrixCursor cursor = new MatrixCursor(NON_INDEXABLES_KEYS_COLUMNS);
+        final MatrixCursor cursor = new MatrixCursor(NON_INDEXABLES_KEYS_COLUMNS);
         final List<String> nonIndexableKeys = getNonIndexableKeysFromProvider(getContext());
         for (String nik : nonIndexableKeys) {
             final Object[] ref = new Object[NON_INDEXABLES_KEYS_COLUMNS.length];
@@ -159,6 +157,26 @@
         return cursor;
     }
 
+    /**
+     * Gets a Cursor of dynamic Raw data similar to queryRawData. We use those data in search query
+     * time
+     */
+    @Nullable
+    @Override
+    public Cursor queryDynamicRawData(String[] projection) {
+        final Context context = getContext();
+        final List<SearchIndexableRaw> rawList = new ArrayList<>();
+        rawList.addAll(getDynamicSearchIndexableRawFromProvider(context));
+        rawList.addAll(getInjectionIndexableRawData(context));
+
+        final MatrixCursor cursor = new MatrixCursor(INDEXABLES_RAW_COLUMNS);
+        for (SearchIndexableRaw raw : rawList) {
+            cursor.addRow(createIndexableRawColumnObjects(raw));
+        }
+
+        return cursor;
+    }
+
     @Override
     public Cursor querySiteMapPairs() {
         final MatrixCursor cursor = new MatrixCursor(SITE_MAP_COLUMNS);
@@ -175,16 +193,22 @@
             // Build parent-child class pairs for all children listed under this key.
             for (Tile tile : category.getTiles()) {
                 String childClass = null;
+                CharSequence childTitle = "";
                 if (tile.getMetaData() != null) {
                     childClass = tile.getMetaData().getString(
                             SettingsActivity.META_DATA_KEY_FRAGMENT_CLASS);
                 }
                 if (childClass == null) {
+                    childClass = tile.getComponentName();
+                    childTitle = tile.getTitle(getContext());
+                }
+                if (childClass == null) {
                     continue;
                 }
                 cursor.newRow()
                         .add(SearchIndexablesContract.SiteMapColumns.PARENT_CLASS, parentClass)
-                        .add(SearchIndexablesContract.SiteMapColumns.CHILD_CLASS, childClass);
+                        .add(SearchIndexablesContract.SiteMapColumns.CHILD_CLASS, childClass)
+                        .add(SearchIndexablesContract.SiteMapColumns.CHILD_TITLE, childTitle);
             }
         }
         // Done.
@@ -195,11 +219,13 @@
     public Cursor querySliceUriPairs() {
         final SliceViewManager manager = SliceViewManager.getInstance(getContext());
         final MatrixCursor cursor = new MatrixCursor(SLICE_URI_PAIRS_COLUMNS);
-        final Uri baseUri =
-                new Uri.Builder()
+        final String queryUri = getContext().getString(R.string.config_non_public_slice_query_uri);
+        final Uri baseUri = !TextUtils.isEmpty(queryUri) ? Uri.parse(queryUri)
+                : new Uri.Builder()
                         .scheme(ContentResolver.SCHEME_CONTENT)
                         .authority(SettingsSliceProvider.SLICE_AUTHORITY)
                         .build();
+
         final Uri platformBaseUri =
                 new Uri.Builder()
                         .scheme(ContentResolver.SCHEME_CONTENT)
@@ -219,15 +245,14 @@
     }
 
     private List<String> getNonIndexableKeysFromProvider(Context context) {
-        final Collection<Class> values = FeatureFactory.getFactory(context)
+        final Collection<SearchIndexableData> bundles = FeatureFactory.getFactory(context)
                 .getSearchFeatureProvider().getSearchIndexableResources().getProviderValues();
+
         final List<String> nonIndexableKeys = new ArrayList<>();
 
-        for (Class<?> clazz : values) {
+        for (SearchIndexableData bundle : bundles) {
             final long startTime = System.currentTimeMillis();
-            Indexable.SearchIndexProvider provider = DatabaseIndexingUtils.getSearchIndexProvider(
-                    clazz);
-
+            Indexable.SearchIndexProvider provider = bundle.getSearchIndexProvider();
             List<String> providerNonIndexableKeys;
             try {
                 providerNonIndexableKeys = provider.getNonIndexableKeys(context);
@@ -241,7 +266,8 @@
                 if (System.getProperty(SYSPROP_CRASH_ON_ERROR) != null) {
                     throw new RuntimeException(e);
                 }
-                Log.e(TAG, "Error trying to get non-indexable keys from: " + clazz.getName(), e);
+                Log.e(TAG, "Error trying to get non-indexable keys from: "
+                        + bundle.getTargetClass().getName(), e);
                 continue;
             }
 
@@ -270,14 +296,12 @@
     }
 
     private List<SearchIndexableResource> getSearchIndexableResourcesFromProvider(Context context) {
-        Collection<Class> values = FeatureFactory.getFactory(context)
+        final Collection<SearchIndexableData> bundles = FeatureFactory.getFactory(context)
                 .getSearchFeatureProvider().getSearchIndexableResources().getProviderValues();
         List<SearchIndexableResource> resourceList = new ArrayList<>();
 
-        for (Class<?> clazz : values) {
-            Indexable.SearchIndexProvider provider = DatabaseIndexingUtils.getSearchIndexProvider(
-                    clazz);
-
+        for (SearchIndexableData bundle : bundles) {
+            Indexable.SearchIndexProvider provider = bundle.getSearchIndexProvider();
             final List<SearchIndexableResource> resList =
                     provider.getXmlResourcesToIndex(context, true);
 
@@ -287,7 +311,7 @@
 
             for (SearchIndexableResource item : resList) {
                 item.className = TextUtils.isEmpty(item.className)
-                        ? clazz.getName()
+                        ? bundle.getTargetClass().getName()
                         : item.className;
             }
 
@@ -298,13 +322,12 @@
     }
 
     private List<SearchIndexableRaw> getSearchIndexableRawFromProvider(Context context) {
-        final Collection<Class> values = FeatureFactory.getFactory(context)
+        final Collection<SearchIndexableData> bundles = FeatureFactory.getFactory(context)
                 .getSearchFeatureProvider().getSearchIndexableResources().getProviderValues();
         final List<SearchIndexableRaw> rawList = new ArrayList<>();
 
-        for (Class<?> clazz : values) {
-            Indexable.SearchIndexProvider provider = DatabaseIndexingUtils.getSearchIndexProvider(
-                    clazz);
+        for (SearchIndexableData bundle : bundles) {
+            Indexable.SearchIndexProvider provider = bundle.getSearchIndexProvider();
             final List<SearchIndexableRaw> providerRaws = provider.getRawDataToIndex(context,
                     true /* enabled */);
 
@@ -315,7 +338,7 @@
             for (SearchIndexableRaw raw : providerRaws) {
                 // The classname and intent information comes from the PreIndexData
                 // This will be more clear when provider conversion is done at PreIndex time.
-                raw.className = clazz.getName();
+                raw.className = bundle.getTargetClass().getName();
 
             }
             rawList.addAll(providerRaws);
@@ -323,4 +346,91 @@
 
         return rawList;
     }
+
+    private List<SearchIndexableRaw> getDynamicSearchIndexableRawFromProvider(Context context) {
+        final Collection<SearchIndexableData> bundles = FeatureFactory.getFactory(context)
+                .getSearchFeatureProvider().getSearchIndexableResources().getProviderValues();
+        final List<SearchIndexableRaw> rawList = new ArrayList<>();
+
+        for (SearchIndexableData bundle : bundles) {
+            final Indexable.SearchIndexProvider provider = bundle.getSearchIndexProvider();
+            final List<SearchIndexableRaw> providerRaws =
+                    provider.getDynamicRawDataToIndex(context, true /* enabled */);
+
+            if (providerRaws == null) {
+                continue;
+            }
+
+            for (SearchIndexableRaw raw : providerRaws) {
+                // The classname and intent information comes from the PreIndexData
+                // This will be more clear when provider conversion is done at PreIndex time.
+                raw.className = bundle.getTargetClass().getName();
+
+            }
+            rawList.addAll(providerRaws);
+        }
+
+        return rawList;
+    }
+
+    private List<SearchIndexableRaw> getInjectionIndexableRawData(Context context) {
+        final DashboardFeatureProvider dashboardFeatureProvider =
+                FeatureFactory.getFactory(context).getDashboardFeatureProvider(context);
+
+        final List<SearchIndexableRaw> rawList = new ArrayList<>();
+        final String currentPackageName = context.getPackageName();
+        for (DashboardCategory category : dashboardFeatureProvider.getAllCategories()) {
+            for (Tile tile : category.getTiles()) {
+                if (!isEligibleForIndexing(currentPackageName, tile)) {
+                    continue;
+                }
+                final SearchIndexableRaw raw = new SearchIndexableRaw(context);
+                final CharSequence title = tile.getTitle(context);
+                raw.title = TextUtils.isEmpty(title) ? null : title.toString();
+                if (TextUtils.isEmpty(raw.title)) {
+                    continue;
+                }
+                raw.key = dashboardFeatureProvider.getDashboardKeyForTile(tile);
+                final CharSequence summary = tile.getSummary(context);
+                raw.summaryOn = TextUtils.isEmpty(summary) ? null : summary.toString();
+                raw.summaryOff = raw.summaryOn;
+                raw.className = CATEGORY_KEY_TO_PARENT_MAP.get(tile.getCategory());
+                rawList.add(raw);
+            }
+        }
+
+        return rawList;
+    }
+
+    @VisibleForTesting
+    boolean isEligibleForIndexing(String packageName, Tile tile) {
+        if (TextUtils.equals(packageName, tile.getPackageName())
+                && tile instanceof ActivityTile) {
+            // Skip Settings injected items because they should be indexed in the sub-pages.
+            return false;
+        }
+        if (TextUtils.equals(tile.getCategory(), CategoryKey.CATEGORY_HOMEPAGE)) {
+            // Skip homepage injected items since we would like to index their target activity.
+            return false;
+        }
+        return true;
+    }
+
+    private static Object[] createIndexableRawColumnObjects(SearchIndexableRaw raw) {
+        final Object[] ref = new Object[INDEXABLES_RAW_COLUMNS.length];
+        ref[COLUMN_INDEX_RAW_TITLE] = raw.title;
+        ref[COLUMN_INDEX_RAW_SUMMARY_ON] = raw.summaryOn;
+        ref[COLUMN_INDEX_RAW_SUMMARY_OFF] = raw.summaryOff;
+        ref[COLUMN_INDEX_RAW_ENTRIES] = raw.entries;
+        ref[COLUMN_INDEX_RAW_KEYWORDS] = raw.keywords;
+        ref[COLUMN_INDEX_RAW_SCREEN_TITLE] = raw.screenTitle;
+        ref[COLUMN_INDEX_RAW_CLASS_NAME] = raw.className;
+        ref[COLUMN_INDEX_RAW_ICON_RESID] = raw.iconResId;
+        ref[COLUMN_INDEX_RAW_INTENT_ACTION] = raw.intentAction;
+        ref[COLUMN_INDEX_RAW_INTENT_TARGET_PACKAGE] = raw.intentTargetPackage;
+        ref[COLUMN_INDEX_RAW_INTENT_TARGET_CLASS] = raw.intentTargetClass;
+        ref[COLUMN_INDEX_RAW_KEY] = raw.key;
+        ref[COLUMN_INDEX_RAW_USER_ID] = raw.userId;
+        return ref;
+    }
 }
diff --git a/src/com/android/settings/search/actionbar/SearchMenuController.java b/src/com/android/settings/search/actionbar/SearchMenuController.java
index 25d0d30..9e22bbf 100644
--- a/src/com/android/settings/search/actionbar/SearchMenuController.java
+++ b/src/com/android/settings/search/actionbar/SearchMenuController.java
@@ -17,8 +17,8 @@
 package com.android.settings.search.actionbar;
 
 import android.annotation.NonNull;
+import android.app.Activity;
 import android.app.settings.SettingsEnums;
-import android.content.Context;
 import android.content.Intent;
 import android.content.pm.PackageManager;
 import android.os.Bundle;
@@ -37,9 +37,12 @@
 import com.android.settingslib.core.lifecycle.LifecycleObserver;
 import com.android.settingslib.core.lifecycle.events.OnCreateOptionsMenu;
 
+import com.google.android.setupcompat.util.WizardManagerHelper;
+
 public class SearchMenuController implements LifecycleObserver, OnCreateOptionsMenu {
 
     public static final String NEED_SEARCH_ICON_IN_ACTION_BAR = "need_search_icon_in_action_bar";
+    public static final int MENU_SEARCH = Menu.FIRST + 10;
 
     private final Fragment mHost;
     private final int mPageId;
@@ -61,13 +64,14 @@
 
     @Override
     public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
-        final Context context = mHost.getContext();
-        final String SettingsIntelligencePkgName = context.getString(
+        final Activity activity = mHost.getActivity();
+        final String SettingsIntelligencePkgName = activity.getString(
                 R.string.config_settingsintelligence_package_name);
-        if (!Utils.isDeviceProvisioned(mHost.getContext())) {
+        if (!WizardManagerHelper.isDeviceProvisioned(activity)
+                || WizardManagerHelper.isAnySetupWizard(activity.getIntent())) {
             return;
         }
-        if (!Utils.isPackageEnabled(mHost.getContext(), SettingsIntelligencePkgName)) {
+        if (!Utils.isPackageEnabled(activity, SettingsIntelligencePkgName)) {
             return;
         }
         if (menu == null) {
@@ -77,23 +81,27 @@
         if (arguments != null && !arguments.getBoolean(NEED_SEARCH_ICON_IN_ACTION_BAR, true)) {
             return;
         }
-        final MenuItem searchItem = menu.add(Menu.NONE, Menu.NONE, 0 /* order */,
+        // menu contains search item, skip it
+        if (menu.findItem(MENU_SEARCH) != null) {
+            return;
+        }
+        final MenuItem searchItem = menu.add(Menu.NONE, MENU_SEARCH, 0 /* order */,
                 R.string.search_menu);
         searchItem.setIcon(R.drawable.ic_search_24dp);
         searchItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
 
         searchItem.setOnMenuItemClickListener(target -> {
-            final Intent intent = FeatureFactory.getFactory(context)
+            final Intent intent = FeatureFactory.getFactory(activity)
                     .getSearchFeatureProvider()
-                    .buildSearchIntent(context, mPageId);
+                    .buildSearchIntent(activity, mPageId);
 
-            if (context.getPackageManager().queryIntentActivities(intent,
+            if (activity.getPackageManager().queryIntentActivities(intent,
                     PackageManager.MATCH_DEFAULT_ONLY).isEmpty()) {
                 return true;
             }
 
-            FeatureFactory.getFactory(context).getMetricsFeatureProvider()
-                    .action(context, SettingsEnums.ACTION_SEARCH_RESULTS);
+            FeatureFactory.getFactory(activity).getMetricsFeatureProvider()
+                    .action(activity, SettingsEnums.ACTION_SEARCH_RESULTS);
             mHost.startActivityForResult(intent, SearchFeatureProvider.REQUEST_CODE);
             return true;
         });
diff --git a/src/com/android/settings/security/ConfirmSimDeletionPreferenceController.java b/src/com/android/settings/security/ConfirmSimDeletionPreferenceController.java
new file mode 100644
index 0000000..8d093c0
--- /dev/null
+++ b/src/com/android/settings/security/ConfirmSimDeletionPreferenceController.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.security;
+
+import android.app.KeyguardManager;
+import android.content.Context;
+import android.provider.Settings;
+
+import androidx.preference.Preference;
+import androidx.preference.TwoStatePreference;
+
+import com.android.settings.R;
+import com.android.settings.core.BasePreferenceController;
+import com.android.settings.network.telephony.MobileNetworkUtils;
+import com.android.settings.wifi.dpp.WifiDppUtils;
+
+/** Enable/disable user confirmation before deleting an eSim */
+public class ConfirmSimDeletionPreferenceController extends BasePreferenceController implements
+        Preference.OnPreferenceChangeListener{
+    public static final String KEY_CONFIRM_SIM_DELETION = "confirm_sim_deletion";
+    private boolean mConfirmationDefaultOn;
+
+    public ConfirmSimDeletionPreferenceController(Context context, String key) {
+        super(context, key);
+        mConfirmationDefaultOn =
+                context.getResources()
+                        .getBoolean(R.bool.config_sim_deletion_confirmation_default_on);
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        // hide if eSim is not supported on the device
+        return MobileNetworkUtils.showEuiccSettings(mContext) ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
+    }
+
+    private boolean getGlobalState() {
+        return Settings.Global.getInt(
+                        mContext.getContentResolver(),
+                        KEY_CONFIRM_SIM_DELETION,
+                        mConfirmationDefaultOn ? 1 : 0)
+                == 1;
+    }
+
+    public boolean isChecked() {
+        return getGlobalState();
+    }
+
+    public boolean setChecked(boolean isChecked) {
+        Settings.Global.putInt(
+                mContext.getContentResolver(), KEY_CONFIRM_SIM_DELETION, isChecked ? 1 : 0);
+        return true;
+    }
+
+    // handle UI change
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object newValue) {
+        if (!preference.getKey().equals(getPreferenceKey())) {
+            return false;
+        }
+        if (!isChecked()) {
+            setChecked(true);
+            return true;
+        } else {
+            // prevent disabling the feature until authorized
+            WifiDppUtils.showLockScreen(mContext, () -> {
+                // set data
+                setChecked(false);
+                // set UI
+                ((TwoStatePreference) preference).setChecked(false);
+            });
+            return false;
+        }
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        final KeyguardManager keyguardManager = mContext.getSystemService(KeyguardManager.class);
+        if (!keyguardManager.isKeyguardSecure()) {
+            preference.setEnabled(false);
+            if (preference instanceof TwoStatePreference) {
+                ((TwoStatePreference) preference).setChecked(false);
+            }
+            preference.setSummary(R.string.disabled_because_no_backup_security);
+        } else {
+            preference.setEnabled(true);
+            if (preference instanceof TwoStatePreference) {
+                ((TwoStatePreference) preference).setChecked(getGlobalState());
+            }
+            preference.setSummary(R.string.confirm_sim_deletion_description);
+        }
+    }
+}
diff --git a/src/com/android/settings/security/CredentialStorage.java b/src/com/android/settings/security/CredentialStorage.java
index 0ea37b5..5e64723 100644
--- a/src/com/android/settings/security/CredentialStorage.java
+++ b/src/com/android/settings/security/CredentialStorage.java
@@ -31,6 +31,7 @@
 import android.os.UserHandle;
 import android.os.UserManager;
 import android.security.Credentials;
+import android.security.IKeyChainService;
 import android.security.KeyChain;
 import android.security.KeyChain.KeyChainConnection;
 import android.security.KeyStore;
@@ -42,18 +43,10 @@
 import androidx.fragment.app.FragmentActivity;
 
 import com.android.internal.widget.LockPatternUtils;
-import com.android.org.bouncycastle.asn1.ASN1InputStream;
-import com.android.org.bouncycastle.asn1.pkcs.PrivateKeyInfo;
 import com.android.settings.R;
 import com.android.settings.password.ChooseLockSettingsHelper;
 import com.android.settings.vpn2.VpnUtils;
 
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-
-import sun.security.util.ObjectIdentifier;
-import sun.security.x509.AlgorithmId;
-
 /**
  * CredentialStorage handles resetting and installing keys into KeyStore.
  */
@@ -118,20 +111,6 @@
         }
     }
 
-    private boolean isHardwareBackedKey(byte[] keyData) {
-        try {
-            final ASN1InputStream bIn = new ASN1InputStream(new ByteArrayInputStream(keyData));
-            final PrivateKeyInfo pki = PrivateKeyInfo.getInstance(bIn.readObject());
-            final String algOid = pki.getPrivateKeyAlgorithm().getAlgorithm().getId();
-            final String algName = new AlgorithmId(new ObjectIdentifier(algOid)).getName();
-
-            return KeyChain.isBoundKeyAlgorithm(algName);
-        } catch (IOException e) {
-            Log.e(TAG, "Failed to parse key data");
-            return false;
-        }
-    }
-
     /**
      * Install credentials if available, otherwise do nothing.
      *
@@ -165,56 +144,18 @@
             return true;
         }
 
-        boolean shouldFinish = true;
-        if (bundle.containsKey(Credentials.EXTRA_USER_PRIVATE_KEY_NAME)) {
-            final String key = bundle.getString(Credentials.EXTRA_USER_PRIVATE_KEY_NAME);
-            final byte[] value = bundle.getByteArray(Credentials.EXTRA_USER_PRIVATE_KEY_DATA);
-
-            if (!mKeyStore.importKey(key, value, uid, KeyStore.FLAG_NONE)) {
-                Log.e(TAG, "Failed to install " + key + " as uid " + uid);
-                return true;
-            }
-            // The key was prepended USER_PRIVATE_KEY by the CredentialHelper. However,
-            // KeyChain internally uses the raw alias name and only prepends USER_PRIVATE_KEY
-            // to the key name when interfacing with KeyStore.
-            // This is generally a symptom of CredentialStorage and CredentialHelper relying
-            // on internal implementation details of KeyChain and imitating its functionality
-            // rather than delegating to KeyChain for the certificate installation.
-            if (uid == Process.SYSTEM_UID || uid == KeyStore.UID_SELF) {
-                new MarkKeyAsUserSelectable(
-                        key.replaceFirst("^" + Credentials.USER_PRIVATE_KEY, "")).execute();
-                shouldFinish = false;
-            }
+        String alias = bundle.getString(Credentials.EXTRA_USER_KEY_ALIAS, null);
+        if (TextUtils.isEmpty(alias)) {
+            Log.e(TAG, "Cannot install key without an alias");
+            return true;
         }
 
-        final int flags = KeyStore.FLAG_NONE;
+        final byte[] privateKeyData = bundle.getByteArray(Credentials.EXTRA_USER_PRIVATE_KEY_DATA);
+        final byte[] certData = bundle.getByteArray(Credentials.EXTRA_USER_CERTIFICATE_DATA);
+        final byte[] caListData = bundle.getByteArray(Credentials.EXTRA_CA_CERTIFICATES_DATA);
+        new InstallKeyInKeyChain(alias, privateKeyData, certData, caListData, uid).execute();
 
-        if (bundle.containsKey(Credentials.EXTRA_USER_CERTIFICATE_NAME)) {
-            final String certName = bundle.getString(Credentials.EXTRA_USER_CERTIFICATE_NAME);
-            final byte[] certData = bundle.getByteArray(Credentials.EXTRA_USER_CERTIFICATE_DATA);
-
-            if (!mKeyStore.put(certName, certData, uid, flags)) {
-                Log.e(TAG, "Failed to install " + certName + " as uid " + uid);
-                return shouldFinish;
-            }
-        }
-
-        if (bundle.containsKey(Credentials.EXTRA_CA_CERTIFICATES_NAME)) {
-            final String caListName = bundle.getString(Credentials.EXTRA_CA_CERTIFICATES_NAME);
-            final byte[] caListData = bundle.getByteArray(Credentials.EXTRA_CA_CERTIFICATES_DATA);
-
-            if (!mKeyStore.put(caListName, caListData, uid, flags)) {
-                Log.e(TAG, "Failed to install " + caListName + " as uid " + uid);
-                return shouldFinish;
-            }
-        }
-
-        // Send the broadcast.
-        final Intent broadcast = new Intent(KeyChain.ACTION_KEYCHAIN_CHANGED);
-        sendBroadcast(broadcast);
-
-        setResult(RESULT_OK);
-        return shouldFinish;
+        return false;
     }
 
     /**
@@ -308,26 +249,45 @@
     }
 
     /**
-     * Background task to mark a given key alias as user-selectable, so that
-     * it can be selected by users from the Certificate Selection prompt.
+     * Background task to install a certificate into KeyChain or the WiFi Keystore.
      */
-    private class MarkKeyAsUserSelectable extends AsyncTask<Void, Void, Boolean> {
+    private class InstallKeyInKeyChain extends AsyncTask<Void, Void, Boolean> {
         final String mAlias;
+        private final byte[] mKeyData;
+        private final byte[] mCertData;
+        private final byte[] mCaListData;
+        private final int mUid;
 
-        MarkKeyAsUserSelectable(String alias) {
+        InstallKeyInKeyChain(String alias, byte[] keyData, byte[] certData, byte[] caListData,
+                int uid) {
             mAlias = alias;
+            mKeyData = keyData;
+            mCertData = certData;
+            mCaListData = caListData;
+            mUid = uid;
         }
 
         @Override
         protected Boolean doInBackground(Void... unused) {
             try (KeyChainConnection keyChainConnection = KeyChain.bind(CredentialStorage.this)) {
-                keyChainConnection.getService().setUserSelectable(mAlias, true);
+                IKeyChainService service = keyChainConnection.getService();
+                if (!service.installKeyPair(mKeyData, mCertData, mCaListData, mAlias, mUid)) {
+                    Log.w(TAG, String.format("Failed installing key %s", mAlias));
+                    return false;
+                }
+
+                // If this is not a WiFi key, mark  it as user-selectable, so that it can be
+                // selected by users from the Certificate Selection prompt.
+                if (mUid == Process.SYSTEM_UID || mUid == KeyStore.UID_SELF) {
+                    service.setUserSelectable(mAlias, true);
+                }
+
                 return true;
             } catch (RemoteException e) {
-                Log.w(TAG, "Failed to mark key " + mAlias + " as user-selectable.");
+                Log.w(TAG, String.format("Failed to install key %s to uid %d", mAlias, mUid), e);
                 return false;
             } catch (InterruptedException e) {
-                Log.w(TAG, "Failed to mark key " + mAlias + " as user-selectable.");
+                Log.w(TAG, String.format("Interrupted while installing key %s", mAlias), e);
                 Thread.currentThread().interrupt();
                 return false;
             }
@@ -335,12 +295,28 @@
 
         @Override
         protected void onPostExecute(Boolean result) {
-            Log.i(TAG, String.format("Marked alias %s as selectable, success? %s",
-                        mAlias, result));
-            CredentialStorage.this.finish();
+            CredentialStorage.this.onKeyInstalled(mAlias, mUid, result);
         }
     }
 
+    private void onKeyInstalled(String alias, int uid, boolean result) {
+        if (!result) {
+            Log.w(TAG, String.format("Error installing alias %s for uid %d", alias, uid));
+            finish();
+            return;
+        }
+
+        Log.i(TAG, String.format("Successfully installed alias %s to uid %d.",
+                alias, uid));
+
+        // Send the broadcast.
+        final Intent broadcast = new Intent(KeyChain.ACTION_KEYCHAIN_CHANGED);
+        sendBroadcast(broadcast);
+        setResult(RESULT_OK);
+
+        finish();
+    }
+
     /**
      * Check that the caller is either certinstaller or Settings running in a profile of this user.
      */
diff --git a/src/com/android/settings/security/CryptKeeperSettings.java b/src/com/android/settings/security/CryptKeeperSettings.java
index 6555f56..aa47b2b 100644
--- a/src/com/android/settings/security/CryptKeeperSettings.java
+++ b/src/com/android/settings/security/CryptKeeperSettings.java
@@ -37,6 +37,7 @@
 import androidx.appcompat.app.AlertDialog;
 import androidx.preference.Preference;
 
+import com.android.internal.widget.LockscreenCredential;
 import com.android.settings.CryptKeeperConfirm;
 import com.android.settings.R;
 import com.android.settings.SettingsActivity;
@@ -193,9 +194,10 @@
         // confirmation prompt; otherwise, go back to the initial state.
         if (resultCode == Activity.RESULT_OK && data != null) {
             int type = data.getIntExtra(ChooseLockSettingsHelper.EXTRA_KEY_TYPE, -1);
-            byte[] password = data.getByteArrayExtra(ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD);
-            if (!(password == null || password.length == 0)) {
-                showFinalConfirmation(type, password);
+            LockscreenCredential password = data.getParcelableExtra(
+                    ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD);
+            if (password != null && !password.isNone()) {
+                showFinalConfirmation(type, password.getCredential());
             }
         }
     }
diff --git a/src/com/android/settings/security/EncryptionAndCredential.java b/src/com/android/settings/security/EncryptionAndCredential.java
index a6d2a0a..d873271 100644
--- a/src/com/android/settings/security/EncryptionAndCredential.java
+++ b/src/com/android/settings/security/EncryptionAndCredential.java
@@ -21,7 +21,6 @@
 import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.os.UserManager;
-import android.provider.SearchIndexableResource;
 
 import com.android.settings.R;
 import com.android.settings.dashboard.DashboardFragment;
@@ -76,7 +75,7 @@
         controllers.add(new CredentialStoragePreferenceController(context));
         controllers.add(new UserCredentialsPreferenceController(context));
         controllers.add(new ResetCredentialsPreferenceController(context, lifecycle));
-        controllers.add(new InstallCredentialsPreferenceController(context));
+        controllers.add(new InstallCertificatePreferenceController(context));
         return controllers;
     }
 
@@ -88,28 +87,19 @@
     /**
      * For Search. Please keep it in sync when updating "createPreferenceHierarchy()"
      */
-    public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new SecuritySearchIndexProvider();
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.encryption_and_credential) {
+                @Override
+                public List<AbstractPreferenceController> createPreferenceControllers(
+                        Context context) {
+                    return buildPreferenceControllers(context, null /* lifecycle */);
+                }
 
-    private static class SecuritySearchIndexProvider extends BaseSearchIndexProvider {
-
-        @Override
-        public List<SearchIndexableResource> getXmlResourcesToIndex(
-                Context context, boolean enabled) {
-            final SearchIndexableResource sir = new SearchIndexableResource(context);
-            sir.xmlResId = R.xml.encryption_and_credential;
-            return Arrays.asList(sir);
-        }
-
-        @Override
-        public List<AbstractPreferenceController> createPreferenceControllers(Context context) {
-            return buildPreferenceControllers(context, null /* lifecycle */);
-        }
-
-        @Override
-        protected boolean isPageSearchEnabled(Context context) {
-            final UserManager um = (UserManager) context.getSystemService(Context.USER_SERVICE);
-            return um.isAdminUser();
-        }
-    }
+                @Override
+                protected boolean isPageSearchEnabled(Context context) {
+                    final UserManager um = (UserManager) context.getSystemService(
+                            Context.USER_SERVICE);
+                    return um.isAdminUser();
+                }
+            };
 }
diff --git a/src/com/android/settings/security/InstallCaCertificatePreferenceController.java b/src/com/android/settings/security/InstallCaCertificatePreferenceController.java
new file mode 100644
index 0000000..0d03d42
--- /dev/null
+++ b/src/com/android/settings/security/InstallCaCertificatePreferenceController.java
@@ -0,0 +1,36 @@
+/*
+ * 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.security;
+
+import android.content.Context;
+
+import com.android.settings.core.BasePreferenceController;
+
+public class InstallCaCertificatePreferenceController extends
+        BasePreferenceController {
+
+    private static final String KEY_INSTALL_CA_CERTIFICATE = "install_ca_certificate";
+
+    public InstallCaCertificatePreferenceController(Context context) {
+        super(context, KEY_INSTALL_CA_CERTIFICATE);
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return AVAILABLE;
+    }
+}
diff --git a/src/com/android/settings/security/InstallCaCertificateWarning.java b/src/com/android/settings/security/InstallCaCertificateWarning.java
new file mode 100644
index 0000000..91faae1
--- /dev/null
+++ b/src/com/android/settings/security/InstallCaCertificateWarning.java
@@ -0,0 +1,83 @@
+/*
+ * 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.security;
+
+import android.annotation.Nullable;
+import android.app.Activity;
+import android.content.Intent;
+import android.os.Bundle;
+import android.security.Credentials;
+import android.view.View;
+import android.widget.Toast;
+
+import com.android.settings.R;
+
+import com.google.android.setupcompat.template.FooterBarMixin;
+import com.google.android.setupcompat.template.FooterButton;
+import com.google.android.setupdesign.GlifLayout;
+
+/**
+ * Creates a warning dialog explaining the consequences of installing a CA certificate
+ * This is displayed before a CA certificate can be installed from Settings.
+ */
+public class InstallCaCertificateWarning extends Activity {
+
+    @Override
+    public void onCreate(@Nullable Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+
+        setContentView(R.layout.ca_certificate_warning_dialog);
+        final GlifLayout layout = findViewById(R.id.setup_wizard_layout);
+
+        final FooterBarMixin mixin = layout.getMixin(FooterBarMixin.class);
+        mixin.setSecondaryButton(
+                new FooterButton.Builder(this)
+                        .setText(R.string.certificate_warning_install_anyway)
+                        .setListener(installCaCertificate())
+                        .setButtonType(FooterButton.ButtonType.OTHER)
+                        .setTheme(R.style.SudGlifButton_Secondary)
+                        .build()
+        );
+
+        mixin.setPrimaryButton(
+                new FooterButton.Builder(this)
+                        .setText(R.string.certificate_warning_dont_install)
+                        .setListener(returnToInstallCertificateFromStorage())
+                        .setButtonType(FooterButton.ButtonType.NEXT)
+                        .setTheme(R.style.SudGlifButton_Primary)
+                        .build()
+        );
+    }
+
+    private View.OnClickListener installCaCertificate() {
+        return v -> {
+            final Intent intent = new Intent();
+            intent.setAction(Credentials.INSTALL_ACTION);
+            intent.putExtra(Credentials.EXTRA_CERTIFICATE_USAGE, Credentials.CERTIFICATE_USAGE_CA);
+            startActivity(intent);
+            finish();
+        };
+    }
+
+    private View.OnClickListener returnToInstallCertificateFromStorage() {
+        return v -> {
+            Toast.makeText(this, R.string.cert_not_installed, Toast.LENGTH_SHORT).show();
+            finish();
+        };
+    }
+
+}
diff --git a/src/com/android/settings/security/InstallCertificateFromStorage.java b/src/com/android/settings/security/InstallCertificateFromStorage.java
new file mode 100644
index 0000000..3810531
--- /dev/null
+++ b/src/com/android/settings/security/InstallCertificateFromStorage.java
@@ -0,0 +1,93 @@
+/*
+ * 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.security;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.os.UserManager;
+
+import com.android.settings.R;
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+import com.android.settingslib.search.SearchIndexable;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Install certificate from storage settings.
+ */
+@SearchIndexable
+public class InstallCertificateFromStorage extends DashboardFragment {
+
+    private static final String TAG = "InstallCertificateFromStorage";
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.INSTALL_CERTIFICATE_FROM_STORAGE;
+    }
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.install_certificate_from_storage;
+    }
+
+    @Override
+    protected String getLogTag() {
+        return TAG;
+    }
+
+    @Override
+    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
+        return buildPreferenceControllers(context, getSettingsLifecycle());
+    }
+
+    private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
+            Lifecycle lifecycle) {
+        final List<AbstractPreferenceController> controllers = new ArrayList<>();
+        controllers.add(new InstallCaCertificatePreferenceController(context));
+        controllers.add(new InstallUserCertificatePreferenceController(context));
+        controllers.add(new InstallWifiCertificatePreferenceController(context));
+        return controllers;
+    }
+
+    @Override
+    public int getHelpResource() {
+        return R.string.help_url_install_certificate;
+    }
+
+    /**
+     * For Search. Please keep it in sync when updating "createPreferenceHierarchy()"
+     */
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.install_certificate_from_storage) {
+                @Override
+                public List<AbstractPreferenceController> createPreferenceControllers(
+                        Context context) {
+                    return buildPreferenceControllers(context, null /* lifecycle */);
+                }
+
+                @Override
+                protected boolean isPageSearchEnabled(Context context) {
+                    final UserManager um = (UserManager) context.getSystemService(
+                            Context.USER_SERVICE);
+                    return um.isAdminUser();
+                }
+            };
+}
diff --git a/src/com/android/settings/security/InstallCertificatePreferenceController.java b/src/com/android/settings/security/InstallCertificatePreferenceController.java
new file mode 100644
index 0000000..2133069
--- /dev/null
+++ b/src/com/android/settings/security/InstallCertificatePreferenceController.java
@@ -0,0 +1,35 @@
+/*
+ * 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.security;
+
+import android.content.Context;
+import android.os.UserManager;
+
+public class InstallCertificatePreferenceController extends
+        RestrictedEncryptionPreferenceController {
+
+    private static final String KEY_INSTALL_CERTIFICATE = "install_certificate";
+
+    public InstallCertificatePreferenceController(Context context) {
+        super(context, UserManager.DISALLOW_CONFIG_CREDENTIALS);
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY_INSTALL_CERTIFICATE;
+    }
+}
diff --git a/src/com/android/settings/security/InstallCredentialsPreferenceController.java b/src/com/android/settings/security/InstallCredentialsPreferenceController.java
deleted file mode 100644
index ca9ed26..0000000
--- a/src/com/android/settings/security/InstallCredentialsPreferenceController.java
+++ /dev/null
@@ -1,35 +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.security;
-
-import android.content.Context;
-import android.os.UserManager;
-
-public class InstallCredentialsPreferenceController extends
-        RestrictedEncryptionPreferenceController {
-
-    private static final String KEY_CREDENTIALS_INSTALL = "credentials_install";
-
-    public InstallCredentialsPreferenceController(Context context) {
-        super(context, UserManager.DISALLOW_CONFIG_CREDENTIALS);
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return KEY_CREDENTIALS_INSTALL;
-    }
-}
diff --git a/src/com/android/settings/security/InstallUserCertificatePreferenceController.java b/src/com/android/settings/security/InstallUserCertificatePreferenceController.java
new file mode 100644
index 0000000..68b9213
--- /dev/null
+++ b/src/com/android/settings/security/InstallUserCertificatePreferenceController.java
@@ -0,0 +1,36 @@
+/*
+ * 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.security;
+
+import android.content.Context;
+
+import com.android.settings.core.BasePreferenceController;
+
+public class InstallUserCertificatePreferenceController extends
+        BasePreferenceController {
+
+    private static final String KEY_INSTALL_USER_CERTIFICATE = "install_user_certificate";
+
+    public InstallUserCertificatePreferenceController(Context context) {
+        super(context, KEY_INSTALL_USER_CERTIFICATE);
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return AVAILABLE;
+    }
+}
diff --git a/src/com/android/settings/security/InstallWifiCertificatePreferenceController.java b/src/com/android/settings/security/InstallWifiCertificatePreferenceController.java
new file mode 100644
index 0000000..c943f86
--- /dev/null
+++ b/src/com/android/settings/security/InstallWifiCertificatePreferenceController.java
@@ -0,0 +1,36 @@
+/*
+ * 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.security;
+
+import android.content.Context;
+
+import com.android.settings.core.BasePreferenceController;
+
+public class InstallWifiCertificatePreferenceController extends
+        BasePreferenceController {
+
+    private static final String KEY_INSTALL_WIFI_CERTIFICATE = "install_wifi_certificate";
+
+    public InstallWifiCertificatePreferenceController(Context context) {
+        super(context, KEY_INSTALL_WIFI_CERTIFICATE);
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return AVAILABLE;
+    }
+}
diff --git a/src/com/android/settings/security/LockUnificationPreferenceController.java b/src/com/android/settings/security/LockUnificationPreferenceController.java
index bf374de..4bac601 100644
--- a/src/com/android/settings/security/LockUnificationPreferenceController.java
+++ b/src/com/android/settings/security/LockUnificationPreferenceController.java
@@ -32,6 +32,7 @@
 import androidx.preference.PreferenceScreen;
 
 import com.android.internal.widget.LockPatternUtils;
+import com.android.internal.widget.LockscreenCredential;
 import com.android.settings.R;
 import com.android.settings.Utils;
 import com.android.settings.core.PreferenceControllerMixin;
@@ -70,8 +71,8 @@
     private RestrictedSwitchPreference mUnifyProfile;
 
 
-    private byte[] mCurrentDevicePassword;
-    private byte[] mCurrentProfilePassword;
+    private LockscreenCredential mCurrentDevicePassword;
+    private LockscreenCredential mCurrentProfilePassword;
     private boolean mKeepDeviceLock;
 
     @Override
@@ -89,6 +90,8 @@
                 .getSecurityFeatureProvider()
                 .getLockPatternUtils(context);
         mProfileUserId = Utils.getManagedProfileId(mUm, MY_USER_ID);
+        mCurrentDevicePassword = LockscreenCredential.createNone();
+        mCurrentProfilePassword = LockscreenCredential.createNone();
     }
 
     @Override
@@ -151,13 +154,13 @@
         } else if (requestCode == UNIFY_LOCK_CONFIRM_DEVICE_REQUEST
                 && resultCode == Activity.RESULT_OK) {
             mCurrentDevicePassword =
-                    data.getByteArrayExtra(ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD);
+                    data.getParcelableExtra(ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD);
             launchConfirmProfileLock();
             return true;
         } else if (requestCode == UNIFY_LOCK_CONFIRM_PROFILE_REQUEST
                 && resultCode == Activity.RESULT_OK) {
             mCurrentProfilePassword =
-                    data.getByteArrayExtra(ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD);
+                    data.getParcelableExtra(ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD);
             unifyLocks();
             return true;
         }
@@ -221,17 +224,8 @@
     }
 
     private void unifyKeepingWorkLock() {
-        final int profileQuality =
-                mLockPatternUtils.getKeyguardStoredPasswordQuality(mProfileUserId);
-        // PASSWORD_QUALITY_SOMETHING means pattern, everything above means PIN/password.
-        if (profileQuality == DevicePolicyManager.PASSWORD_QUALITY_SOMETHING) {
-            mLockPatternUtils.saveLockPattern(
-                    LockPatternUtils.byteArrayToPattern(mCurrentProfilePassword),
-                    mCurrentDevicePassword, MY_USER_ID);
-        } else {
-            mLockPatternUtils.saveLockPassword(
-                    mCurrentProfilePassword, mCurrentDevicePassword, profileQuality, MY_USER_ID);
-        }
+        mLockPatternUtils.setLockCredential(
+                mCurrentProfilePassword, mCurrentDevicePassword, MY_USER_ID);
         mLockPatternUtils.setSeparateProfileChallengeEnabled(mProfileUserId, false,
                 mCurrentProfilePassword);
         final boolean profilePatternVisibility =
diff --git a/src/com/android/settings/security/LockscreenDashboardFragment.java b/src/com/android/settings/security/LockscreenDashboardFragment.java
index 3472d48..29b114a 100644
--- a/src/com/android/settings/security/LockscreenDashboardFragment.java
+++ b/src/com/android/settings/security/LockscreenDashboardFragment.java
@@ -19,7 +19,6 @@
 import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.hardware.display.AmbientDisplayConfiguration;
-import android.provider.SearchIndexableResource;
 
 import androidx.annotation.VisibleForTesting;
 
@@ -37,7 +36,6 @@
 import com.android.settingslib.search.SearchIndexable;
 
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.List;
 
 /**
@@ -130,15 +128,8 @@
         return mConfig;
     }
 
-    public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(
-                        Context context, boolean enabled) {
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.security_lockscreen_settings;
-                    return Arrays.asList(sir);
-                }
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.security_lockscreen_settings) {
 
                 @Override
                 public List<AbstractPreferenceController> createPreferenceControllers(
diff --git a/src/com/android/settings/security/ScreenPinningSettings.java b/src/com/android/settings/security/ScreenPinningSettings.java
index c60fd47..6b16a5d 100644
--- a/src/com/android/settings/security/ScreenPinningSettings.java
+++ b/src/com/android/settings/security/ScreenPinningSettings.java
@@ -23,9 +23,6 @@
 import android.os.UserHandle;
 import android.provider.SearchIndexableResource;
 import android.provider.Settings;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
 import android.widget.Switch;
 
 import androidx.preference.Preference;
@@ -41,6 +38,7 @@
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settings.widget.SwitchBar;
 import com.android.settingslib.search.SearchIndexable;
+import com.android.settingslib.widget.FooterPreference;
 
 import java.util.Arrays;
 import java.util.List;
@@ -52,11 +50,13 @@
 public class ScreenPinningSettings extends SettingsPreferenceFragment
         implements SwitchBar.OnSwitchChangeListener {
 
-    private static final CharSequence KEY_USE_SCREEN_LOCK = "use_screen_lock";
+    private static final String KEY_USE_SCREEN_LOCK = "use_screen_lock";
+    private static final String KEY_FOOTER = "screen_pinning_settings_screen_footer";
     private static final int CHANGE_LOCK_METHOD_REQUEST = 43;
 
     private SwitchBar mSwitchBar;
     private SwitchPreference mUseScreenLock;
+    private FooterPreference mFooterPreference;
     private LockPatternUtils mLockPatternUtils;
 
     @Override
@@ -72,11 +72,17 @@
         activity.setTitle(R.string.screen_pinning_title);
         mLockPatternUtils = new LockPatternUtils(activity);
 
+        addPreferencesFromResource(R.xml.screen_pinning_settings);
+        final PreferenceScreen root = getPreferenceScreen();
+        mUseScreenLock = root.findPreference(KEY_USE_SCREEN_LOCK);
+        mFooterPreference = root.findPreference(KEY_FOOTER);
 
         mSwitchBar = activity.getSwitchBar();
         mSwitchBar.addOnSwitchChangeListener(this);
         mSwitchBar.show();
         mSwitchBar.setChecked(isLockToAppEnabled(getActivity()));
+
+        updateDisplay();
     }
 
     @Override
@@ -85,16 +91,6 @@
     }
 
     @Override
-    public void onViewCreated(View view, Bundle savedInstanceState) {
-        super.onViewCreated(view, savedInstanceState);
-        ViewGroup parent = (ViewGroup) view.findViewById(android.R.id.list_container);
-        View emptyView = LayoutInflater.from(getContext())
-                .inflate(R.layout.screen_pinning_instructions, parent, false);
-        parent.addView(emptyView);
-        setEmptyView(emptyView);
-    }
-
-    @Override
     public void onDestroyView() {
         super.onDestroyView();
 
@@ -192,16 +188,10 @@
         updateDisplay();
     }
 
-    public void updateDisplay() {
-        PreferenceScreen root = getPreferenceScreen();
-        if (root != null) {
-            root.removeAll();
-        }
+    private void updateDisplay() {
         if (isLockToAppEnabled(getActivity())) {
-            addPreferencesFromResource(R.xml.screen_pinning_settings);
-            root = getPreferenceScreen();
-
-            mUseScreenLock = (SwitchPreference) root.findPreference(KEY_USE_SCREEN_LOCK);
+            mFooterPreference.setVisible(false);
+            mUseScreenLock.setVisible(true);
             mUseScreenLock.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
                 @Override
                 public boolean onPreferenceChange(Preference preference, Object newValue) {
@@ -210,13 +200,16 @@
             });
             mUseScreenLock.setChecked(isScreenLockUsed());
             mUseScreenLock.setTitle(getCurrentSecurityTitle());
+        } else {
+            mFooterPreference.setVisible(true);
+            mUseScreenLock.setVisible(false);
         }
     }
 
     /**
      * For search
      */
-    public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
         new BaseSearchIndexProvider() {
 
             @Override
diff --git a/src/com/android/settings/security/SecuritySettings.java b/src/com/android/settings/security/SecuritySettings.java
index 7c3391c..effbd70 100644
--- a/src/com/android/settings/security/SecuritySettings.java
+++ b/src/com/android/settings/security/SecuritySettings.java
@@ -20,7 +20,6 @@
 import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.content.Intent;
-import android.provider.SearchIndexableResource;
 
 import com.android.settings.R;
 import com.android.settings.biometrics.face.FaceProfileStatusPreferenceController;
@@ -138,19 +137,8 @@
     /**
      * For Search. Please keep it in sync when updating "createPreferenceHierarchy()"
      */
-    public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(
-                        Context context, boolean enabled) {
-                    final List<SearchIndexableResource> index = new ArrayList<>();
-                    // Append the rest of the settings
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.security_dashboard_settings;
-                    index.add(sir);
-                    return index;
-                }
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.security_dashboard_settings) {
 
                 @Override
                 public List<AbstractPreferenceController> createPreferenceControllers(Context
diff --git a/src/com/android/settings/security/SimLockPreferenceController.java b/src/com/android/settings/security/SimLockPreferenceController.java
index d4def6b..03983b5 100644
--- a/src/com/android/settings/security/SimLockPreferenceController.java
+++ b/src/com/android/settings/security/SimLockPreferenceController.java
@@ -38,7 +38,7 @@
     private final CarrierConfigManager mCarrierConfigManager;
     private final UserManager mUserManager;
     private final SubscriptionManager mSubscriptionManager;
-    private final TelephonyManager mTelephonyManager;
+    private TelephonyManager mTelephonyManager;
 
     public SimLockPreferenceController(Context context) {
         super(context, KEY_SIM_LOCK);
@@ -52,13 +52,19 @@
 
     @Override
     public int getAvailabilityStatus() {
-        final PersistableBundle b = mCarrierConfigManager.getConfig();
-        final boolean IsAdmin = mUserManager.isAdminUser();
-        if (!IsAdmin || !isSimIccReady() ||
-                b.getBoolean(CarrierConfigManager.KEY_HIDE_SIM_LOCK_SETTINGS_BOOL)) {
+        final List<SubscriptionInfo> subInfoList =
+                mSubscriptionManager.getActiveSubscriptionInfoList();
+
+        if (subInfoList == null) {
             return DISABLED_FOR_USER;
         }
-        return AVAILABLE;
+
+        final boolean isAdmin = mUserManager.isAdminUser();
+        if (isAdmin && (!isHideSimLockSetting(subInfoList))) {
+            return AVAILABLE;
+        }
+
+        return DISABLED_FOR_USER;
     }
 
     @Override
@@ -77,33 +83,38 @@
      */
     private boolean isSimReady() {
         final List<SubscriptionInfo> subInfoList =
-                mSubscriptionManager.getActiveSubscriptionInfoList(true);
-        if (subInfoList != null) {
-            for (SubscriptionInfo subInfo : subInfoList) {
-                final int simState = mTelephonyManager.getSimState(subInfo.getSimSlotIndex());
-                if ((simState != TelephonyManager.SIM_STATE_ABSENT) &&
-                        (simState != TelephonyManager.SIM_STATE_UNKNOWN)) {
-                    return true;
-                }
+                mSubscriptionManager.getActiveSubscriptionInfoList();
+        if (subInfoList == null) {
+            return false;
+        }
+
+        for (SubscriptionInfo subInfo : subInfoList) {
+            final int simState = mTelephonyManager.getSimState(subInfo.getSimSlotIndex());
+            if ((simState != TelephonyManager.SIM_STATE_ABSENT)
+                    && (simState != TelephonyManager.SIM_STATE_UNKNOWN)) {
+                return true;
             }
         }
         return false;
     }
 
-    /**
-     * Return true if a there is a Slot that has Icc
-     */
-    private boolean isSimIccReady() {
-        final List<SubscriptionInfo> subInfoList =
-                mSubscriptionManager.getActiveSubscriptionInfoList(true);
+    private boolean isHideSimLockSetting(List<SubscriptionInfo> subInfoList) {
+        if (subInfoList == null) {
+            return true;
+        }
 
-        if (subInfoList != null) {
-            for (SubscriptionInfo subInfo : subInfoList) {
-                if (mTelephonyManager.hasIccCard(subInfo.getSimSlotIndex())) {
-                    return true;
-                }
+        for (SubscriptionInfo subInfo : subInfoList) {
+            final TelephonyManager telephonyManager = mTelephonyManager
+                    .createForSubscriptionId(subInfo.getSubscriptionId());
+            final PersistableBundle bundle = mCarrierConfigManager.getConfigForSubId(
+                    subInfo.getSubscriptionId());
+            if (telephonyManager.hasIccCard() && bundle != null
+                    && !bundle.getBoolean(CarrierConfigManager.KEY_HIDE_SIM_LOCK_SETTINGS_BOOL)) {
+                // one or more sims show sim lock setting UI.
+                return false;
             }
         }
-        return false;
+
+        return true;
     }
 }
diff --git a/src/com/android/settings/security/TopLevelSecurityEntryPreferenceController.java b/src/com/android/settings/security/TopLevelSecurityEntryPreferenceController.java
index 4b00424..4a4d345 100644
--- a/src/com/android/settings/security/TopLevelSecurityEntryPreferenceController.java
+++ b/src/com/android/settings/security/TopLevelSecurityEntryPreferenceController.java
@@ -32,7 +32,7 @@
 
     @Override
     public int getAvailabilityStatus() {
-        return AVAILABLE_UNSEARCHABLE;
+        return AVAILABLE;
     }
 
     @Override
diff --git a/src/com/android/settings/security/screenlock/LockScreenPreferenceController.java b/src/com/android/settings/security/screenlock/LockScreenPreferenceController.java
index 7d83f40..8585493 100644
--- a/src/com/android/settings/security/screenlock/LockScreenPreferenceController.java
+++ b/src/com/android/settings/security/screenlock/LockScreenPreferenceController.java
@@ -16,8 +16,6 @@
 
 package com.android.settings.security.screenlock;
 
-import static android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED;
-
 import android.content.Context;
 import android.os.UserHandle;
 
@@ -52,14 +50,7 @@
 
     @Override
     public int getAvailabilityStatus() {
-        if (!mLockPatternUtils.isSecure(MY_USER_ID)) {
-            return mLockPatternUtils.isLockScreenDisabled(MY_USER_ID)
-                    ? DISABLED_FOR_USER : AVAILABLE_UNSEARCHABLE;
-        } else {
-            return mLockPatternUtils.getKeyguardStoredPasswordQuality(MY_USER_ID)
-                    == PASSWORD_QUALITY_UNSPECIFIED
-                    ? DISABLED_FOR_USER : AVAILABLE_UNSEARCHABLE;
-        }
+        return AVAILABLE;
     }
 
     @Override
diff --git a/src/com/android/settings/security/screenlock/ScreenLockSettings.java b/src/com/android/settings/security/screenlock/ScreenLockSettings.java
index 3fa9dd8..c1a0f46 100644
--- a/src/com/android/settings/security/screenlock/ScreenLockSettings.java
+++ b/src/com/android/settings/security/screenlock/ScreenLockSettings.java
@@ -19,7 +19,6 @@
 import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.os.UserHandle;
-import android.provider.SearchIndexableResource;
 
 import androidx.fragment.app.Fragment;
 
@@ -27,7 +26,6 @@
 import com.android.settings.R;
 import com.android.settings.dashboard.DashboardFragment;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
 import com.android.settings.security.OwnerInfoPreferenceController;
 import com.android.settingslib.core.AbstractPreferenceController;
 import com.android.settingslib.core.lifecycle.Lifecycle;
@@ -86,18 +84,8 @@
     }
 
 
-    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
-                        boolean enabled) {
-                    final ArrayList<SearchIndexableResource> result = new ArrayList<>();
-
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.screen_lock_settings;
-                    result.add(sir);
-                    return result;
-                }
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.screen_lock_settings) {
 
                 @Override
                 public List<AbstractPreferenceController> createPreferenceControllers(
diff --git a/src/com/android/settings/security/trustagent/TrustAgentSettings.java b/src/com/android/settings/security/trustagent/TrustAgentSettings.java
index 36a3867..7289824 100644
--- a/src/com/android/settings/security/trustagent/TrustAgentSettings.java
+++ b/src/com/android/settings/security/trustagent/TrustAgentSettings.java
@@ -23,7 +23,7 @@
 import com.android.settings.R;
 import com.android.settings.dashboard.DashboardFragment;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
+import com.android.settingslib.search.Indexable;
 import com.android.settingslib.search.SearchIndexable;
 
 import java.util.ArrayList;
@@ -53,16 +53,6 @@
         return R.xml.trust_agent_settings;
     }
 
-    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(
-                        Context context, boolean enabled) {
-                    final List<SearchIndexableResource> result = new ArrayList<>();
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.trust_agent_settings;
-                    result.add(sir);
-                    return result;
-                }
-            };
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.trust_agent_settings);
 }
diff --git a/src/com/android/settings/shortcut/CreateShortcutPreferenceController.java b/src/com/android/settings/shortcut/CreateShortcutPreferenceController.java
index 6b95b92..4843736 100644
--- a/src/com/android/settings/shortcut/CreateShortcutPreferenceController.java
+++ b/src/com/android/settings/shortcut/CreateShortcutPreferenceController.java
@@ -32,14 +32,22 @@
 import android.graphics.drawable.Icon;
 import android.graphics.drawable.LayerDrawable;
 import android.net.ConnectivityManager;
+import android.util.FeatureFlagUtils;
 import android.util.Log;
 import android.view.ContextThemeWrapper;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.widget.ImageView;
 
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceCategory;
+import androidx.preference.PreferenceGroup;
+
 import com.android.settings.R;
 import com.android.settings.Settings.TetherSettingsActivity;
+import com.android.settings.Settings.WifiSettings2Activity;
+import com.android.settings.Settings.WifiSettingsActivity;
 import com.android.settings.core.BasePreferenceController;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
@@ -49,11 +57,6 @@
 import java.util.Comparator;
 import java.util.List;
 
-import androidx.annotation.VisibleForTesting;
-import androidx.preference.Preference;
-import androidx.preference.PreferenceCategory;
-import androidx.preference.PreferenceGroup;
-
 /**
  * {@link BasePreferenceController} that populates a list of widgets that Settings app support.
  */
@@ -187,6 +190,15 @@
                 Log.d(TAG, "Skipping non-system app: " + info.activityInfo);
                 continue;
             }
+            if (FeatureFlagUtils.isEnabled(mContext, FeatureFlagUtils.SETTINGS_WIFITRACKER2)) {
+                if (info.activityInfo.name.endsWith(WifiSettingsActivity.class.getSimpleName())) {
+                    continue;
+                }
+            } else {
+                if (info.activityInfo.name.endsWith(WifiSettings2Activity.class.getSimpleName())) {
+                    continue;
+                }
+            }
             shortcuts.add(info);
         }
         Collections.sort(shortcuts, SHORTCUT_COMPARATOR);
@@ -245,7 +257,7 @@
         Drawable iconDrawable;
         try {
             iconDrawable = context.getPackageManager().getResourcesForApplication(app)
-                    .getDrawable(resource);
+                    .getDrawable(resource, themedContext.getTheme());
             if (iconDrawable instanceof LayerDrawable) {
                 iconDrawable = ((LayerDrawable) iconDrawable).getDrawable(1);
             }
diff --git a/src/com/android/settings/sim/CallsSimListDialogFragment.java b/src/com/android/settings/sim/CallsSimListDialogFragment.java
index 7d3de44..6dd262b 100644
--- a/src/com/android/settings/sim/CallsSimListDialogFragment.java
+++ b/src/com/android/settings/sim/CallsSimListDialogFragment.java
@@ -47,8 +47,7 @@
             return result;
         }
         for (PhoneAccountHandle handle : phoneAccounts) {
-            final PhoneAccount phoneAccount = telecomManager.getPhoneAccount(handle);
-            final int subId = telephonyManager.getSubIdForPhoneAccount(phoneAccount);
+            final int subId = telephonyManager.getSubscriptionId(handle);
 
             if (subId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
                 continue;
diff --git a/src/com/android/settings/sim/OWNERS b/src/com/android/settings/sim/OWNERS
new file mode 100644
index 0000000..bedbe16
--- /dev/null
+++ b/src/com/android/settings/sim/OWNERS
@@ -0,0 +1,6 @@
+# Default reviewers for this and subdirectories.
+andychou@google.com
+bonianchen@google.com
+allenwtsu@google.com
+
+# Emergency approvers in case the above are not available
diff --git a/src/com/android/settings/sim/SimDialogActivity.java b/src/com/android/settings/sim/SimDialogActivity.java
index d24dbf5..0ae294e 100644
--- a/src/com/android/settings/sim/SimDialogActivity.java
+++ b/src/com/android/settings/sim/SimDialogActivity.java
@@ -176,8 +176,7 @@
         final TelephonyManager telephonyManager = getSystemService(TelephonyManager.class);
 
         for (PhoneAccountHandle handle : telecomManager.getCallCapablePhoneAccounts()) {
-            final PhoneAccount phoneAccount = telecomManager.getPhoneAccount(handle);
-            if (subId == telephonyManager.getSubIdForPhoneAccount(phoneAccount)) {
+            if (subId == telephonyManager.getSubscriptionId(handle)) {
                 return handle;
             }
         }
diff --git a/src/com/android/settings/sim/SimListDialogFragment.java b/src/com/android/settings/sim/SimListDialogFragment.java
index 3b78927..bb16fd4 100644
--- a/src/com/android/settings/sim/SimListDialogFragment.java
+++ b/src/com/android/settings/sim/SimListDialogFragment.java
@@ -94,7 +94,7 @@
     protected List<SubscriptionInfo> getCurrentSubscriptions() {
         final SubscriptionManager manager = getContext().getSystemService(
                 SubscriptionManager.class);
-        return manager.getActiveSubscriptionInfoList(true);
+        return manager.getActiveSubscriptionInfoList();
     }
 
     @Override
diff --git a/src/com/android/settings/sim/SimPreferenceDialog.java b/src/com/android/settings/sim/SimPreferenceDialog.java
deleted file mode 100644
index 0f22d2b..0000000
--- a/src/com/android/settings/sim/SimPreferenceDialog.java
+++ /dev/null
@@ -1,260 +0,0 @@
-/*
- * Copyright (C) 2015 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.settings.sim;
-
-import android.app.Activity;
-import android.content.Context;
-import android.content.DialogInterface;
-import android.content.res.Resources;
-import android.graphics.Paint;
-import android.graphics.drawable.ShapeDrawable;
-import android.graphics.drawable.shapes.OvalShape;
-import android.os.Bundle;
-import android.telephony.PhoneNumberUtils;
-import android.telephony.SubscriptionInfo;
-import android.telephony.SubscriptionManager;
-import android.telephony.TelephonyManager;
-import android.text.TextUtils;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.AdapterView;
-import android.widget.ArrayAdapter;
-import android.widget.EditText;
-import android.widget.ImageView;
-import android.widget.Spinner;
-import android.widget.TextView;
-
-import androidx.appcompat.app.AlertDialog;
-
-import com.android.settings.R;
-import com.android.settings.Utils;
-
-public class SimPreferenceDialog extends Activity {
-
-    private Context mContext;
-    private SubscriptionInfo mSubInfoRecord;
-    private int mSlotId;
-    private int[] mTintArr;
-    private String[] mColorStrings;
-    private int mTintSelectorPos;
-    private SubscriptionManager mSubscriptionManager;
-    AlertDialog.Builder mBuilder;
-    View mDialogLayout;
-    private final String SIM_NAME = "sim_name";
-    private final String TINT_POS = "tint_pos";
-
-    @Override
-    public void onCreate(Bundle bundle) {
-        super.onCreate(bundle);
-        mContext = this;
-        final Bundle extras = getIntent().getExtras();
-        mSlotId = extras.getInt(SimSettings.EXTRA_SLOT_ID, -1);
-        mSubscriptionManager = SubscriptionManager.from(mContext);
-        mSubInfoRecord = mSubscriptionManager.getActiveSubscriptionInfoForSimSlotIndex(mSlotId);
-        mTintArr = mContext.getResources().getIntArray(com.android.internal.R.array.sim_colors);
-        mColorStrings = mContext.getResources().getStringArray(R.array.color_picker);
-        mTintSelectorPos = 0;
-
-        mBuilder = new AlertDialog.Builder(mContext);
-        LayoutInflater inflater = (LayoutInflater)mContext
-                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
-        mDialogLayout = inflater.inflate(R.layout.multi_sim_dialog, null);
-        mBuilder.setView(mDialogLayout);
-
-        createEditDialog(bundle);
-    }
-
-    @Override
-    public void onSaveInstanceState(Bundle savedInstanceState) {
-        savedInstanceState.putInt(TINT_POS, mTintSelectorPos);
-
-        final EditText nameText = (EditText)mDialogLayout.findViewById(R.id.sim_name);
-        savedInstanceState.putString(SIM_NAME, nameText.getText().toString());
-
-        super.onSaveInstanceState(savedInstanceState);
-
-    }
-
-    @Override
-    public void onRestoreInstanceState(Bundle savedInstanceState) {
-        super.onRestoreInstanceState(savedInstanceState);
-
-        int pos = savedInstanceState.getInt(TINT_POS);
-        final Spinner tintSpinner = (Spinner) mDialogLayout.findViewById(R.id.spinner);
-        tintSpinner.setSelection(pos);
-        mTintSelectorPos = pos;
-
-        EditText nameText = (EditText)mDialogLayout.findViewById(R.id.sim_name);
-        nameText.setText(savedInstanceState.getString(SIM_NAME));
-        Utils.setEditTextCursorPosition(nameText);
-    }
-
-    private void createEditDialog(Bundle bundle) {
-        final Resources res = mContext.getResources();
-        EditText nameText = (EditText)mDialogLayout.findViewById(R.id.sim_name);
-        nameText.setText(mSubInfoRecord.getDisplayName());
-        Utils.setEditTextCursorPosition(nameText);
-        final Spinner tintSpinner = (Spinner) mDialogLayout.findViewById(R.id.spinner);
-        SelectColorAdapter adapter = new SelectColorAdapter(mContext,
-                R.layout.settings_color_picker_item, mColorStrings);
-        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
-        tintSpinner.setAdapter(adapter);
-
-        for (int i = 0; i < mTintArr.length; i++) {
-            if (mTintArr[i] == mSubInfoRecord.getIconTint()) {
-                tintSpinner.setSelection(i);
-                mTintSelectorPos = i;
-                break;
-            }
-        }
-
-        tintSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
-            @Override
-            public void onItemSelected(AdapterView<?> parent, View view,
-                                       int pos, long id){
-                tintSpinner.setSelection(pos);
-                mTintSelectorPos = pos;
-            }
-
-            @Override
-            public void onNothingSelected(AdapterView<?> parent) {
-            }
-        });
-
-        final TelephonyManager tm = (TelephonyManager) mContext.getSystemService(
-                Context.TELEPHONY_SERVICE);
-        TextView numberView = (TextView)mDialogLayout.findViewById(R.id.number);
-        final String rawNumber =  tm.getLine1Number(mSubInfoRecord.getSubscriptionId());
-        if (TextUtils.isEmpty(rawNumber)) {
-            numberView.setText(res.getString(com.android.internal.R.string.unknownName));
-        } else {
-            numberView.setText(PhoneNumberUtils.formatNumber(rawNumber));
-        }
-
-        String simCarrierName = tm.getSimOperatorName(mSubInfoRecord.getSubscriptionId());
-        TextView carrierView = (TextView)mDialogLayout.findViewById(R.id.carrier);
-        carrierView.setText(!TextUtils.isEmpty(simCarrierName) ? simCarrierName :
-                mContext.getString(com.android.internal.R.string.unknownName));
-
-        mBuilder.setTitle(String.format(res.getString(R.string.sim_editor_title),
-                (mSubInfoRecord.getSimSlotIndex() + 1)));
-
-        mBuilder.setPositiveButton(R.string.okay, new DialogInterface.OnClickListener() {
-            @Override
-            public void onClick(DialogInterface dialog, int whichButton) {
-                final EditText nameText = (EditText)mDialogLayout.findViewById(R.id.sim_name);
-                Utils.setEditTextCursorPosition(nameText);
-                String displayName = nameText.getText().toString();
-                int subId = mSubInfoRecord.getSubscriptionId();
-                mSubInfoRecord.setDisplayName(displayName);
-                mSubscriptionManager.setDisplayName(displayName, subId,
-                        SubscriptionManager.NAME_SOURCE_USER_INPUT);
-
-                final int tintSelected = tintSpinner.getSelectedItemPosition();
-                int subscriptionId = mSubInfoRecord.getSubscriptionId();
-                int tint = mTintArr[tintSelected];
-                mSubInfoRecord.setIconTint(tint);
-                mSubscriptionManager.setIconTint(tint, subscriptionId);
-                dialog.dismiss();
-            }
-        });
-
-        mBuilder.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
-            @Override
-            public void onClick(DialogInterface dialog, int whichButton) {
-                dialog.dismiss();
-            }
-        });
-
-        mBuilder.setOnDismissListener(new DialogInterface.OnDismissListener() {
-           @Override
-           public void onDismiss(DialogInterface dialogInListener) {
-               finish();
-           }
-        });
-
-        mBuilder.create().show();
-    }
-
-    private class SelectColorAdapter extends ArrayAdapter<CharSequence> {
-        private Context mContext;
-        private int mResId;
-
-        public SelectColorAdapter(
-                Context context, int resource, String[] arr) {
-            super(context, resource, arr);
-            mContext = context;
-            mResId = resource;
-        }
-
-        @Override
-        public View getView(int position, View convertView, ViewGroup parent) {
-            LayoutInflater inflater = (LayoutInflater)
-                    mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
-
-            View rowView;
-            final ViewHolder holder;
-            Resources res = mContext.getResources();
-            int iconSize = res.getDimensionPixelSize(R.dimen.color_swatch_size);
-            int strokeWidth = res.getDimensionPixelSize(R.dimen.color_swatch_stroke_width);
-
-            if (convertView == null) {
-                // Cache views for faster scrolling
-                rowView = inflater.inflate(mResId, null);
-                holder = new ViewHolder();
-                ShapeDrawable drawable = new ShapeDrawable(new OvalShape());
-                drawable.setIntrinsicHeight(iconSize);
-                drawable.setIntrinsicWidth(iconSize);
-                drawable.getPaint().setStrokeWidth(strokeWidth);
-                holder.label = (TextView) rowView.findViewById(R.id.color_text);
-                holder.icon = (ImageView) rowView.findViewById(R.id.color_icon);
-                holder.swatch = drawable;
-                rowView.setTag(holder);
-            } else {
-                rowView = convertView;
-                holder = (ViewHolder) rowView.getTag();
-            }
-
-            holder.label.setText(getItem(position));
-            holder.swatch.getPaint().setColor(mTintArr[position]);
-            holder.swatch.getPaint().setStyle(Paint.Style.FILL_AND_STROKE);
-            holder.icon.setVisibility(View.VISIBLE);
-            holder.icon.setImageDrawable(holder.swatch);
-            return rowView;
-        }
-
-        @Override
-        public View getDropDownView(int position, View convertView, ViewGroup parent) {
-            View rowView = getView(position, convertView, parent);
-            final ViewHolder holder = (ViewHolder) rowView.getTag();
-
-            if (mTintSelectorPos == position) {
-                holder.swatch.getPaint().setStyle(Paint.Style.FILL_AND_STROKE);
-            } else {
-                holder.swatch.getPaint().setStyle(Paint.Style.STROKE);
-            }
-            holder.icon.setVisibility(View.VISIBLE);
-            return rowView;
-        }
-
-        private class ViewHolder {
-            TextView label;
-            ImageView icon;
-            ShapeDrawable swatch;
-        }
-    }
-}
diff --git a/src/com/android/settings/sim/SimSelectNotification.java b/src/com/android/settings/sim/SimSelectNotification.java
index fbf766c..ae36f35 100644
--- a/src/com/android/settings/sim/SimSelectNotification.java
+++ b/src/com/android/settings/sim/SimSelectNotification.java
@@ -103,7 +103,7 @@
 
         SubscriptionManager subscriptionManager = ((SubscriptionManager) context.getSystemService(
                 Context.TELEPHONY_SUBSCRIPTION_SERVICE));
-        if (!subscriptionManager.isActiveSubId(subId)) {
+        if (!subscriptionManager.isActiveSubscriptionId(subId)) {
             Log.w(TAG, "onEnableMmsDataRequest invalid sub ID " + subId);
             return;
         }
@@ -203,7 +203,7 @@
 
         Notification.Builder builder =
                 new Notification.Builder(context, SIM_SELECT_NOTIFICATION_CHANNEL)
-                .setSmallIcon(R.drawable.ic_sim_card_alert_white_48dp)
+                .setSmallIcon(R.drawable.ic_sim_alert)
                 .setColor(context.getColor(R.color.sim_noitification))
                 .setContentTitle(resources.getText(R.string.sim_notification_title))
                 .setContentText(resources.getText(R.string.sim_notification_summary))
@@ -283,7 +283,7 @@
 
         Notification.Builder builder =
                 new Notification.Builder(context, SIM_WARNING_NOTIFICATION_CHANNEL)
-                        .setSmallIcon(R.drawable.ic_sim_card_alert_white_48dp)
+                        .setSmallIcon(R.drawable.ic_sim_alert)
                         .setColor(context.getColor(R.color.sim_noitification))
                         .setContentTitle(resources.getText(
                                 R.string.sim_combination_warning_notification_title))
diff --git a/src/com/android/settings/sim/SimSettings.java b/src/com/android/settings/sim/SimSettings.java
deleted file mode 100644
index 1222913..0000000
--- a/src/com/android/settings/sim/SimSettings.java
+++ /dev/null
@@ -1,367 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.sim;
-
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.content.Intent;
-import android.content.res.Resources;
-import android.graphics.drawable.BitmapDrawable;
-import android.os.Bundle;
-import android.os.SystemProperties;
-import android.provider.SearchIndexableResource;
-import android.telecom.PhoneAccountHandle;
-import android.telecom.TelecomManager;
-import android.telephony.PhoneNumberUtils;
-import android.telephony.PhoneStateListener;
-import android.telephony.SubscriptionInfo;
-import android.telephony.SubscriptionManager;
-import android.telephony.TelephonyManager;
-import android.text.TextUtils;
-import android.util.Log;
-
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.internal.telephony.TelephonyProperties;
-import com.android.settings.R;
-import com.android.settings.RestrictedSettingsFragment;
-import com.android.settings.Utils;
-import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
-import com.android.settingslib.search.SearchIndexable;
-
-import java.util.ArrayList;
-import java.util.List;
-
-@SearchIndexable
-public class SimSettings extends RestrictedSettingsFragment implements Indexable {
-    private static final String TAG = "SimSettings";
-    private static final boolean DBG = false;
-
-    private static final String DISALLOW_CONFIG_SIM = "no_config_sim";
-    private static final String SIM_CARD_CATEGORY = "sim_cards";
-    private static final String KEY_CELLULAR_DATA = "sim_cellular_data";
-    private static final String KEY_CALLS = "sim_calls";
-    private static final String KEY_SMS = "sim_sms";
-    public static final String EXTRA_SLOT_ID = "slot_id";
-
-    /**
-     * By UX design we use only one Subscription Information(SubInfo) record per SIM slot.
-     * mAvalableSubInfos is the list of SubInfos we present to the user.
-     * mSubInfoList is the list of all SubInfos.
-     * mSelectableSubInfos is the list of SubInfos that a user can select for data, calls, and SMS.
-     */
-    private List<SubscriptionInfo> mAvailableSubInfos = null;
-    private List<SubscriptionInfo> mSubInfoList = null;
-    private List<SubscriptionInfo> mSelectableSubInfos = null;
-    private PreferenceScreen mSimCards = null;
-    private SubscriptionManager mSubscriptionManager;
-    private int mNumSlots;
-    private Context mContext;
-
-    private int mPhoneCount = TelephonyManager.getDefault().getPhoneCount();
-    private int[] mCallState = new int[mPhoneCount];
-    private PhoneStateListener[] mPhoneStateListener = new PhoneStateListener[mPhoneCount];
-
-    public SimSettings() {
-        super(DISALLOW_CONFIG_SIM);
-    }
-
-    @Override
-    public int getMetricsCategory() {
-        return SettingsEnums.SIM;
-    }
-
-    @Override
-    public void onCreate(final Bundle bundle) {
-        super.onCreate(bundle);
-        mContext = getActivity();
-
-        mSubscriptionManager = SubscriptionManager.from(getActivity());
-        final TelephonyManager tm =
-                (TelephonyManager) getActivity().getSystemService(Context.TELEPHONY_SERVICE);
-        addPreferencesFromResource(R.xml.sim_settings);
-
-        mNumSlots = tm.getSimCount();
-        mSimCards = (PreferenceScreen)findPreference(SIM_CARD_CATEGORY);
-        mAvailableSubInfos = new ArrayList<SubscriptionInfo>(mNumSlots);
-        mSelectableSubInfos = new ArrayList<SubscriptionInfo>();
-        SimSelectNotification.cancelSimSelectNotification(getActivity());
-    }
-
-    private final SubscriptionManager.OnSubscriptionsChangedListener mOnSubscriptionsChangeListener
-            = new SubscriptionManager.OnSubscriptionsChangedListener() {
-        @Override
-        public void onSubscriptionsChanged() {
-            if (DBG) log("onSubscriptionsChanged:");
-            updateSubscriptions();
-        }
-    };
-
-    private void updateSubscriptions() {
-        mSubInfoList = mSubscriptionManager.getActiveSubscriptionInfoList(true);
-        for (int i = 0; i < mNumSlots; ++i) {
-            Preference pref = mSimCards.findPreference("sim" + i);
-            if (pref instanceof SimPreference) {
-                mSimCards.removePreference(pref);
-            }
-        }
-        mAvailableSubInfos.clear();
-        mSelectableSubInfos.clear();
-
-        for (int i = 0; i < mNumSlots; ++i) {
-            final SubscriptionInfo sir = mSubscriptionManager
-                    .getActiveSubscriptionInfoForSimSlotIndex(i);
-            SimPreference simPreference = new SimPreference(getPrefContext(), sir, i);
-            simPreference.setOrder(i-mNumSlots);
-            mSimCards.addPreference(simPreference);
-            mAvailableSubInfos.add(sir);
-            if (sir != null) {
-                mSelectableSubInfos.add(sir);
-            }
-        }
-        updateAllOptions();
-    }
-
-    private void updateAllOptions() {
-        updateSimSlotValues();
-        updateActivitesCategory();
-    }
-
-    private void updateSimSlotValues() {
-        final int prefSize = mSimCards.getPreferenceCount();
-        for (int i = 0; i < prefSize; ++i) {
-            Preference pref = mSimCards.getPreference(i);
-            if (pref instanceof SimPreference) {
-                ((SimPreference)pref).update();
-            }
-        }
-    }
-
-    private void updateActivitesCategory() {
-        updateCellularDataValues();
-        updateCallValues();
-        updateSmsValues();
-    }
-
-    private void updateSmsValues() {
-        final Preference simPref = findPreference(KEY_SMS);
-        final SubscriptionInfo sir = mSubscriptionManager.getDefaultSmsSubscriptionInfo();
-        simPref.setTitle(R.string.sms_messages_title);
-        if (DBG) log("[updateSmsValues] mSubInfoList=" + mSubInfoList);
-
-        if (sir != null) {
-            simPref.setSummary(sir.getDisplayName());
-            simPref.setEnabled(mSelectableSubInfos.size() > 1);
-        } else if (sir == null) {
-            simPref.setSummary(R.string.sim_selection_required_pref);
-            simPref.setEnabled(mSelectableSubInfos.size() >= 1);
-        }
-    }
-
-    private void updateCellularDataValues() {
-        final Preference simPref = findPreference(KEY_CELLULAR_DATA);
-        final SubscriptionInfo sir = mSubscriptionManager.getDefaultDataSubscriptionInfo();
-        simPref.setTitle(R.string.cellular_data_title);
-        if (DBG) log("[updateCellularDataValues] mSubInfoList=" + mSubInfoList);
-
-        boolean callStateIdle = isCallStateIdle();
-        final boolean ecbMode = SystemProperties.getBoolean(
-                TelephonyProperties.PROPERTY_INECM_MODE, false);
-        if (sir != null) {
-            simPref.setSummary(sir.getDisplayName());
-            // Enable data preference in msim mode and call state idle
-            simPref.setEnabled((mSelectableSubInfos.size() > 1) && callStateIdle && !ecbMode);
-        } else if (sir == null) {
-            simPref.setSummary(R.string.sim_selection_required_pref);
-            // Enable data preference in msim mode and call state idle
-            simPref.setEnabled((mSelectableSubInfos.size() >= 1) && callStateIdle && !ecbMode);
-        }
-    }
-
-    private void updateCallValues() {
-        final Preference simPref = findPreference(KEY_CALLS);
-        final TelecomManager telecomManager = TelecomManager.from(mContext);
-        final PhoneAccountHandle phoneAccount =
-            telecomManager.getUserSelectedOutgoingPhoneAccount();
-        final List<PhoneAccountHandle> allPhoneAccounts =
-            telecomManager.getCallCapablePhoneAccounts();
-
-        simPref.setTitle(R.string.calls_title);
-        simPref.setSummary(phoneAccount == null
-                ? mContext.getResources().getString(R.string.sim_calls_ask_first_prefs_title)
-                : (String)telecomManager.getPhoneAccount(phoneAccount).getLabel());
-        simPref.setEnabled(allPhoneAccounts.size() > 1);
-    }
-
-    @Override
-    public void onResume() {
-        super.onResume();
-        mSubscriptionManager.addOnSubscriptionsChangedListener(mOnSubscriptionsChangeListener);
-        updateSubscriptions();
-        final TelephonyManager tm =
-                (TelephonyManager) getActivity().getSystemService(Context.TELEPHONY_SERVICE);
-        if (mSelectableSubInfos.size() > 1) {
-            Log.d(TAG, "Register for call state change");
-            for (int i = 0; i < mPhoneCount; i++) {
-                int subId = mSelectableSubInfos.get(i).getSubscriptionId();
-                tm.createForSubscriptionId(subId).listen(getPhoneStateListener(i),
-                        PhoneStateListener.LISTEN_CALL_STATE);
-            }
-        }
-    }
-
-    @Override
-    public void onPause() {
-        super.onPause();
-        mSubscriptionManager.removeOnSubscriptionsChangedListener(mOnSubscriptionsChangeListener);
-        final TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
-        for (int i = 0; i < mPhoneCount; i++) {
-            if (mPhoneStateListener[i] != null) {
-                tm.listen(mPhoneStateListener[i], PhoneStateListener.LISTEN_NONE);
-                mPhoneStateListener[i] = null;
-            }
-        }
-    }
-
-    private PhoneStateListener getPhoneStateListener(int phoneId) {
-        // Disable Sim selection for Data when voice call is going on as changing the default data
-        // sim causes a modem reset currently and call gets disconnected
-        // ToDo : Add subtext on disabled preference to let user know that default data sim cannot
-        // be changed while call is going on
-        final int i = phoneId;
-        mPhoneStateListener[phoneId]  = new PhoneStateListener() {
-            @Override
-            public void onCallStateChanged(int state, String incomingNumber) {
-                if (DBG) log("PhoneStateListener.onCallStateChanged: state=" + state);
-                mCallState[i] = state;
-                updateCellularDataValues();
-            }
-        };
-        return mPhoneStateListener[phoneId];
-    }
-
-    @Override
-    public boolean onPreferenceTreeClick(final Preference preference) {
-        final Context context = mContext;
-        Intent intent = new Intent(context, SimDialogActivity.class);
-        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-
-        if (preference instanceof SimPreference) {
-            Intent newIntent = new Intent(context, SimPreferenceDialog.class);
-            newIntent.putExtra(EXTRA_SLOT_ID, ((SimPreference)preference).getSlotId());
-            startActivity(newIntent);
-        } else if (findPreference(KEY_CELLULAR_DATA) == preference) {
-            intent.putExtra(SimDialogActivity.DIALOG_TYPE_KEY, SimDialogActivity.DATA_PICK);
-            context.startActivity(intent);
-        } else if (findPreference(KEY_CALLS) == preference) {
-            intent.putExtra(SimDialogActivity.DIALOG_TYPE_KEY, SimDialogActivity.CALLS_PICK);
-            context.startActivity(intent);
-        } else if (findPreference(KEY_SMS) == preference) {
-            intent.putExtra(SimDialogActivity.DIALOG_TYPE_KEY, SimDialogActivity.SMS_PICK);
-            context.startActivity(intent);
-        }
-
-        return true;
-    }
-
-    private class SimPreference extends Preference {
-        private SubscriptionInfo mSubInfoRecord;
-        private int mSlotId;
-        Context mContext;
-
-        public SimPreference(Context context, SubscriptionInfo subInfoRecord, int slotId) {
-            super(context);
-
-            mContext = context;
-            mSubInfoRecord = subInfoRecord;
-            mSlotId = slotId;
-            setKey("sim" + mSlotId);
-            update();
-        }
-
-        public void update() {
-            final Resources res = mContext.getResources();
-
-            setTitle(String.format(mContext.getResources()
-                    .getString(R.string.sim_editor_title), (mSlotId + 1)));
-            if (mSubInfoRecord != null) {
-                if (TextUtils.isEmpty(getPhoneNumber(mSubInfoRecord))) {
-                    setSummary(mSubInfoRecord.getDisplayName());
-                } else {
-                    setSummary(mSubInfoRecord.getDisplayName() + " - " +
-                            PhoneNumberUtils.createTtsSpannable(getPhoneNumber(mSubInfoRecord)));
-                    setEnabled(true);
-                }
-                setIcon(new BitmapDrawable(res, (mSubInfoRecord.createIconBitmap(mContext))));
-            } else {
-                setSummary(R.string.sim_slot_empty);
-                setFragment(null);
-                setEnabled(false);
-            }
-        }
-
-        private int getSlotId() {
-            return mSlotId;
-        }
-    }
-
-    // Returns the line1Number. Line1number should always be read from TelephonyManager since it can
-    // be overridden for display purposes.
-    private String getPhoneNumber(SubscriptionInfo info) {
-        final TelephonyManager tm =
-            (TelephonyManager) mContext.getSystemService(Context.TELEPHONY_SERVICE);
-        return tm.getLine1Number(info.getSubscriptionId());
-    }
-
-    private void log(String s) {
-        Log.d(TAG, s);
-    }
-
-    /**
-     * For search
-     */
-    public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
-                        boolean enabled) {
-                    ArrayList<SearchIndexableResource> result =
-                            new ArrayList<SearchIndexableResource>();
-
-                    if (Utils.showSimCardTile(context)) {
-                        SearchIndexableResource sir = new SearchIndexableResource(context);
-                        sir.xmlResId = R.xml.sim_settings;
-                        result.add(sir);
-                    }
-
-                    return result;
-                }
-            };
-
-    private boolean isCallStateIdle() {
-        boolean callStateIdle = true;
-        for (int i = 0; i < mCallState.length; i++) {
-            if (TelephonyManager.CALL_STATE_IDLE != mCallState[i]) {
-                callStateIdle = false;
-            }
-        }
-        Log.d(TAG, "isCallStateIdle " + callStateIdle);
-        return callStateIdle;
-    }
-}
diff --git a/src/com/android/settings/slices/CustomSliceRegistry.java b/src/com/android/settings/slices/CustomSliceRegistry.java
index 42d81e9..78a2943 100644
--- a/src/com/android/settings/slices/CustomSliceRegistry.java
+++ b/src/com/android/settings/slices/CustomSliceRegistry.java
@@ -29,9 +29,6 @@
 import com.android.settings.display.AdaptiveSleepPreferenceController;
 import com.android.settings.flashlight.FlashlightSlice;
 import com.android.settings.fuelgauge.batterytip.BatteryTipPreferenceController;
-import com.android.settings.homepage.contextualcards.deviceinfo.DataUsageSlice;
-import com.android.settings.homepage.contextualcards.deviceinfo.DeviceInfoSlice;
-import com.android.settings.homepage.contextualcards.deviceinfo.EmergencyInfoSlice;
 import com.android.settings.homepage.contextualcards.deviceinfo.StorageSlice;
 import com.android.settings.homepage.contextualcards.slices.BatteryFixSlice;
 import com.android.settings.homepage.contextualcards.slices.BluetoothDevicesSlice;
@@ -42,10 +39,12 @@
 import com.android.settings.homepage.contextualcards.slices.LowStorageSlice;
 import com.android.settings.homepage.contextualcards.slices.NotificationChannelSlice;
 import com.android.settings.location.LocationSlice;
+import com.android.settings.media.MediaOutputGroupSlice;
 import com.android.settings.media.MediaOutputIndicatorSlice;
 import com.android.settings.media.MediaOutputSlice;
+import com.android.settings.media.RemoteMediaSlice;
 import com.android.settings.network.telephony.MobileDataSlice;
-import com.android.settings.notification.ZenModeButtonPreferenceController;
+import com.android.settings.notification.zen.ZenModeButtonPreferenceController;
 import com.android.settings.wifi.calling.WifiCallingSliceHelper;
 import com.android.settings.wifi.slice.ContextualWifiSlice;
 import com.android.settings.wifi.slice.WifiSlice;
@@ -59,17 +58,7 @@
 public class CustomSliceRegistry {
 
     /**
-     * Uri for Airplane mode Slice.
-     */
-    public static final Uri AIRPLANE_URI = new Uri.Builder()
-            .scheme(ContentResolver.SCHEME_CONTENT)
-            .authority(SettingsSlicesContract.AUTHORITY)
-            .appendPath(SettingsSlicesContract.PATH_SETTING_ACTION)
-            .appendPath(SettingsSlicesContract.KEY_AIRPLANE_MODE)
-            .build();
-
-    /**
-     *  Uri for Contextual Adaptive Sleep Slice
+     * Uri for Contextual Adaptive Sleep Slice
      */
     public static final Uri CONTEXTUAL_ADAPTIVE_SLEEP_URI = new Uri.Builder()
             .scheme(ContentResolver.SCHEME_CONTENT)
@@ -127,34 +116,6 @@
             .appendPath(SettingsSlicesContract.PATH_SETTING_ACTION)
             .appendPath("contextual_wifi")
             .build();
-
-    /**
-     * Backing Uri for the Data usage Slice.
-     */
-    public static final Uri DATA_USAGE_SLICE_URI = new Uri.Builder()
-            .scheme(ContentResolver.SCHEME_CONTENT)
-            .authority(SettingsSliceProvider.SLICE_AUTHORITY)
-            .appendPath(SettingsSlicesContract.PATH_SETTING_ACTION)
-            .appendPath("data_usage_card")
-            .build();
-    /**
-     * Backing Uri for the Device info Slice.
-     */
-    public static final Uri DEVICE_INFO_SLICE_URI = new Uri.Builder()
-            .scheme(ContentResolver.SCHEME_CONTENT)
-            .authority(SettingsSliceProvider.SLICE_AUTHORITY)
-            .appendPath(SettingsSlicesContract.PATH_SETTING_INTENT)
-            .appendPath("device_info_card")
-            .build();
-    /**
-     * Backing Uri for the Emergency Info Slice.
-     */
-    public static final Uri EMERGENCY_INFO_SLICE_URI = new Uri.Builder()
-            .scheme(ContentResolver.SCHEME_CONTENT)
-            .authority(SettingsSliceProvider.SLICE_AUTHORITY)
-            .appendPath(SettingsSlicesContract.PATH_SETTING_INTENT)
-            .appendPath("emergency_info_card")
-            .build();
     /**
      * Slice Uri for Enhanced 4G slice
      */
@@ -266,16 +227,6 @@
             .build();
 
     /**
-     * Full {@link Uri} for the Remote Media Volume Slice.
-     */
-    public static final Uri VOLUME_REMOTE_MEDIA_URI = new Uri.Builder()
-            .scheme(ContentResolver.SCHEME_CONTENT)
-            .authority(SettingsSliceProvider.SLICE_AUTHORITY)
-            .appendPath(SettingsSlicesContract.PATH_SETTING_ACTION)
-            .appendPath("remote_volume")
-            .build();
-
-    /**
      * Full {@link Uri} for the Ringer volume Slice.
      */
     public static final Uri VOLUME_RINGER_URI = new Uri.Builder()
@@ -334,6 +285,16 @@
             .build();
 
     /**
+     * Backing Uri for the Media output group Slice.
+     */
+    public static Uri MEDIA_OUTPUT_GROUP_SLICE_URI = new Uri.Builder()
+            .scheme(ContentResolver.SCHEME_CONTENT)
+            .authority(SettingsSliceProvider.SLICE_AUTHORITY)
+            .appendPath(SettingsSlicesContract.PATH_SETTING_ACTION)
+            .appendPath(MediaOutputSliceConstants.KEY_MEDIA_OUTPUT_GROUP)
+            .build();
+
+    /**
      * Backing Uri for the Media output indicator Slice.
      */
     public static Uri MEDIA_OUTPUT_INDICATOR_SLICE_URI = new Uri.Builder()
@@ -353,6 +314,16 @@
             .appendPath("dark_theme")
             .build();
 
+    /**
+     * Backing Uri for the Remote Media Slice.
+     */
+    public static Uri REMOTE_MEDIA_SLICE_URI = new Uri.Builder()
+            .scheme(ContentResolver.SCHEME_CONTENT)
+            .authority(SettingsSliceProvider.SLICE_AUTHORITY)
+            .appendPath(SettingsSlicesContract.PATH_SETTING_ACTION)
+            .appendPath(MediaOutputSliceConstants.KEY_REMOTE_MEDIA)
+            .build();
+
     @VisibleForTesting
     static final Map<Uri, Class<? extends CustomSliceable>> sUriToSlice;
 
@@ -365,9 +336,6 @@
         sUriToSlice.put(CONTEXTUAL_NOTIFICATION_CHANNEL_SLICE_URI,
                 ContextualNotificationChannelSlice.class);
         sUriToSlice.put(CONTEXTUAL_WIFI_SLICE_URI, ContextualWifiSlice.class);
-        sUriToSlice.put(DATA_USAGE_SLICE_URI, DataUsageSlice.class);
-        sUriToSlice.put(DEVICE_INFO_SLICE_URI, DeviceInfoSlice.class);
-        sUriToSlice.put(EMERGENCY_INFO_SLICE_URI, EmergencyInfoSlice.class);
         sUriToSlice.put(FACE_ENROLL_SLICE_URI, FaceSetupSlice.class);
         sUriToSlice.put(FLASHLIGHT_SLICE_URI, FlashlightSlice.class);
         sUriToSlice.put(LOCATION_SLICE_URI, LocationSlice.class);
@@ -379,6 +347,8 @@
         sUriToSlice.put(STORAGE_SLICE_URI, StorageSlice.class);
         sUriToSlice.put(WIFI_SLICE_URI, WifiSlice.class);
         sUriToSlice.put(DARK_THEME_SLICE_URI, DarkThemeSlice.class);
+        sUriToSlice.put(REMOTE_MEDIA_SLICE_URI, RemoteMediaSlice.class);
+        sUriToSlice.put(MEDIA_OUTPUT_GROUP_SLICE_URI, MediaOutputGroupSlice.class);
     }
 
     public static Class<? extends CustomSliceable> getSliceClassByUri(Uri uri) {
diff --git a/src/com/android/settings/slices/SettingsSliceProvider.java b/src/com/android/settings/slices/SettingsSliceProvider.java
index 9b5fbd8..0aaf85d 100644
--- a/src/com/android/settings/slices/SettingsSliceProvider.java
+++ b/src/com/android/settings/slices/SettingsSliceProvider.java
@@ -24,7 +24,9 @@
 import android.content.Context;
 import android.content.Intent;
 import android.content.IntentFilter;
+import android.content.pm.PackageManager;
 import android.net.Uri;
+import android.os.Binder;
 import android.os.StrictMode;
 import android.provider.Settings;
 import android.provider.SettingsSlicesContract;
@@ -42,9 +44,10 @@
 import androidx.slice.SliceProvider;
 
 import com.android.settings.R;
+import com.android.settings.Utils;
 import com.android.settings.bluetooth.BluetoothSliceBuilder;
 import com.android.settings.core.BasePreferenceController;
-import com.android.settings.notification.ZenModeSliceBuilder;
+import com.android.settings.notification.zen.ZenModeSliceBuilder;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settingslib.SliceBroadcastRelay;
 import com.android.settingslib.utils.ThreadUtils;
@@ -57,6 +60,7 @@
 import java.util.Map;
 import java.util.Set;
 import java.util.WeakHashMap;
+import java.util.stream.Collectors;
 
 /**
  * A {@link SliceProvider} for Settings to enabled inline results in system apps.
@@ -70,7 +74,7 @@
  * return an stub {@link Slice} with the correct {@link Uri} immediately. In the background, the
  * data corresponding to the key in the {@link Uri} is read by {@link SlicesDatabaseAccessor}, and
  * the entire row is converted into a {@link SliceData}. Once complete, it is stored in
- * {@link #mSliceDataCache}, and then an update sent via the Slice framework to the Slice.
+ * {@link #mSliceWeakDataCache}, and then an update sent via the Slice framework to the Slice.
  * The {@link Slice} displayed by the Slice-presenter will re-query this Slice-provider and find
  * the {@link SliceData} cached to build the full {@link Slice}.
  *
@@ -113,10 +117,20 @@
     public static final String EXTRA_SLICE_KEY = "com.android.settings.slice.extra.key";
 
     /**
-     * Boolean extra to indicate if the Slice is platform-defined.
+     * A list of custom slice uris that are supported publicly. This is a subset of slices defined
+     * in {@link CustomSliceRegistry}. Things here are exposed publicly so all clients with proper
+     * permission can use them.
      */
-    public static final String EXTRA_SLICE_PLATFORM_DEFINED =
-            "com.android.settings.slice.extra.platform";
+    private static final List<Uri> PUBLICLY_SUPPORTED_CUSTOM_SLICE_URIS =
+            Arrays.asList(
+                    CustomSliceRegistry.BLUETOOTH_URI,
+                    CustomSliceRegistry.FLASHLIGHT_SLICE_URI,
+                    CustomSliceRegistry.LOCATION_SLICE_URI,
+                    CustomSliceRegistry.MOBILE_DATA_SLICE_URI,
+                    CustomSliceRegistry.WIFI_CALLING_URI,
+                    CustomSliceRegistry.WIFI_SLICE_URI,
+                    CustomSliceRegistry.ZEN_MODE_SLICE_URI
+            );
 
     private static final KeyValueListParser KEY_VALUE_LIST_PARSER = new KeyValueListParser(',');
 
@@ -255,46 +269,52 @@
     @Override
     public Collection<Uri> onGetSliceDescendants(Uri uri) {
         final List<Uri> descendants = new ArrayList<>();
-        final Pair<Boolean, String> pathData = SliceBuilderUtils.getPathData(uri);
+        Uri finalUri = uri;
+
+        if (isPrivateSlicesNeeded(finalUri)) {
+            descendants.addAll(
+                    mSlicesDatabaseAccessor.getSliceUris(finalUri.getAuthority(),
+                            false /* isPublicSlice */));
+            Log.d(TAG, "provide " + descendants.size() + " non-public slices");
+            finalUri = new Uri.Builder()
+                    .scheme(ContentResolver.SCHEME_CONTENT)
+                    .authority(finalUri.getAuthority())
+                    .build();
+        }
+
+        final Pair<Boolean, String> pathData = SliceBuilderUtils.getPathData(finalUri);
 
         if (pathData != null) {
             // Uri has a full path and will not have any descendants.
-            descendants.add(uri);
+            descendants.add(finalUri);
             return descendants;
         }
 
-        final String authority = uri.getAuthority();
-        final String pathPrefix = uri.getPath();
-        final boolean isPathEmpty = pathPrefix.isEmpty();
-
-        // No path nor authority. Return all possible Uris.
-        if (isPathEmpty && TextUtils.isEmpty(authority)) {
-            final List<String> platformKeys = mSlicesDatabaseAccessor.getSliceKeys(
-                    true /* isPlatformSlice */);
-            final List<String> oemKeys = mSlicesDatabaseAccessor.getSliceKeys(
-                    false /* isPlatformSlice */);
-            descendants.addAll(buildUrisFromKeys(platformKeys, SettingsSlicesContract.AUTHORITY));
-            descendants.addAll(buildUrisFromKeys(oemKeys, SettingsSliceProvider.SLICE_AUTHORITY));
-            descendants.addAll(getSpecialCaseUris(true /* isPlatformSlice */));
-            descendants.addAll(getSpecialCaseUris(false /* isPlatformSlice */));
-
-            return descendants;
-        }
+        final String authority = finalUri.getAuthority();
+        final String path = finalUri.getPath();
+        final boolean isPathEmpty = path.isEmpty();
 
         // Path is anything but empty, "action", or "intent". Return empty list.
         if (!isPathEmpty
-                && !TextUtils.equals(pathPrefix, "/" + SettingsSlicesContract.PATH_SETTING_ACTION)
-                && !TextUtils.equals(pathPrefix,
-                "/" + SettingsSlicesContract.PATH_SETTING_INTENT)) {
+                && !TextUtils.equals(path, "/" + SettingsSlicesContract.PATH_SETTING_ACTION)
+                && !TextUtils.equals(path, "/" + SettingsSlicesContract.PATH_SETTING_INTENT)) {
             // Invalid path prefix, there are no valid Uri descendants.
             return descendants;
         }
 
-        // Can assume authority belongs to the provider. Return all Uris for the authority.
-        final boolean isPlatformUri = TextUtils.equals(authority, SettingsSlicesContract.AUTHORITY);
-        final List<String> keys = mSlicesDatabaseAccessor.getSliceKeys(isPlatformUri);
-        descendants.addAll(buildUrisFromKeys(keys, authority));
-        descendants.addAll(getSpecialCaseUris(isPlatformUri));
+        // Add all descendants from db with matching authority.
+        descendants.addAll(mSlicesDatabaseAccessor.getSliceUris(authority, true /*isPublicSlice*/));
+
+        if (isPathEmpty && TextUtils.isEmpty(authority)) {
+            // No path nor authority. Return all possible Uris by adding all special slice uri
+            descendants.addAll(PUBLICLY_SUPPORTED_CUSTOM_SLICE_URIS);
+        } else {
+            // Can assume authority belongs to the provider. Return all Uris for the authority.
+            final List<Uri> customSlices = PUBLICLY_SUPPORTED_CUSTOM_SLICE_URIS.stream()
+                    .filter(sliceUri -> TextUtils.equals(authority, sliceUri.getAuthority()))
+                    .collect(Collectors.toList());
+            descendants.addAll(customSlices);
+        }
         grantWhitelistedPackagePermissions(getContext(), descendants);
         return descendants;
     }
@@ -303,7 +323,8 @@
     @Override
     public PendingIntent onCreatePermissionRequest(@NonNull Uri sliceUri,
             @NonNull String callingPackage) {
-        final Intent settingsIntent = new Intent(Settings.ACTION_SETTINGS);
+        final Intent settingsIntent = new Intent(Settings.ACTION_SETTINGS)
+                .setPackage(Utils.SETTINGS_PACKAGE_NAME);
         final PendingIntent noOpIntent = PendingIntent.getActivity(getContext(),
                 0 /* requestCode */, settingsIntent, 0 /* flags */);
         return noOpIntent;
@@ -332,32 +353,6 @@
         }
     }
 
-    private void startBackgroundWorker(Sliceable sliceable, Uri uri) {
-        final Class workerClass = sliceable.getBackgroundWorkerClass();
-        if (workerClass == null) {
-            return;
-        }
-
-        if (mPinnedWorkers.containsKey(uri)) {
-            return;
-        }
-
-        Log.d(TAG, "Starting background worker for: " + uri);
-        final SliceBackgroundWorker worker = SliceBackgroundWorker.getInstance(
-                getContext(), sliceable, uri);
-        mPinnedWorkers.put(uri, worker);
-        worker.onSlicePinned();
-    }
-
-    private void stopBackgroundWorker(Uri uri) {
-        final SliceBackgroundWorker worker = mPinnedWorkers.get(uri);
-        if (worker != null) {
-            Log.d(TAG, "Stopping background worker for: " + uri);
-            worker.onSliceUnpinned();
-            mPinnedWorkers.remove(uri);
-        }
-    }
-
     @Override
     public void shutdown() {
         ThreadUtils.postOnMainThread(() -> {
@@ -365,23 +360,6 @@
         });
     }
 
-    private List<Uri> buildUrisFromKeys(List<String> keys, String authority) {
-        final List<Uri> descendants = new ArrayList<>();
-
-        final Uri.Builder builder = new Uri.Builder()
-                .scheme(ContentResolver.SCHEME_CONTENT)
-                .authority(authority)
-                .appendPath(SettingsSlicesContract.PATH_SETTING_ACTION);
-
-        final String newUriPathPrefix = SettingsSlicesContract.PATH_SETTING_ACTION + "/";
-        for (String key : keys) {
-            builder.path(newUriPathPrefix + key);
-            descendants.add(builder.build());
-        }
-
-        return descendants;
-    }
-
     @VisibleForTesting
     void loadSlice(Uri uri) {
         long startBuildTime = System.currentTimeMillis();
@@ -416,38 +394,6 @@
         ThreadUtils.postOnBackgroundThread(() -> loadSlice(uri));
     }
 
-    /**
-     * @return an empty {@link Slice} with {@param uri} to be used as a stub while the real
-     * {@link SliceData} is loaded from {@link SlicesDatabaseHelper.Tables#TABLE_SLICES_INDEX}.
-     */
-    private Slice getSliceStub(Uri uri) {
-        // TODO: Switch back to ListBuilder when slice loading states are fixed.
-        return new Slice.Builder(uri).build();
-    }
-
-    private List<Uri> getSpecialCaseUris(boolean isPlatformUri) {
-        if (isPlatformUri) {
-            return getSpecialCasePlatformUris();
-        }
-        return getSpecialCaseOemUris();
-    }
-
-    private List<Uri> getSpecialCasePlatformUris() {
-        return Arrays.asList(
-                CustomSliceRegistry.WIFI_SLICE_URI,
-                CustomSliceRegistry.BLUETOOTH_URI,
-                CustomSliceRegistry.LOCATION_SLICE_URI
-        );
-    }
-
-    private List<Uri> getSpecialCaseOemUris() {
-        return Arrays.asList(
-                CustomSliceRegistry.FLASHLIGHT_SLICE_URI,
-                CustomSliceRegistry.MOBILE_DATA_SLICE_URI,
-                CustomSliceRegistry.ZEN_MODE_SLICE_URI
-        );
-    }
-
     @VisibleForTesting
     /**
      * Registers an IntentFilter in SysUI to notify changes to {@param sliceUri} when broadcasts to
@@ -476,7 +422,60 @@
         return set;
     }
 
-    private String[] parseStringArray(String value) {
+    @VisibleForTesting
+    boolean isPrivateSlicesNeeded(Uri uri) {
+        final String queryUri = getContext().getString(R.string.config_non_public_slice_query_uri);
+
+        if (!TextUtils.isEmpty(queryUri) && TextUtils.equals(uri.toString(), queryUri)) {
+            // check if the calling package is eligible for private slices
+            final int callingUid = Binder.getCallingUid();
+            final boolean hasPermission = getContext().checkPermission(
+                    android.Manifest.permission.READ_SEARCH_INDEXABLES, Binder.getCallingPid(),
+                    callingUid) == PackageManager.PERMISSION_GRANTED;
+            final String callingPackage = getContext().getPackageManager()
+                    .getPackagesForUid(callingUid)[0];
+            return hasPermission && TextUtils.equals(callingPackage,
+                    getContext().getString(R.string.config_settingsintelligence_package_name));
+        }
+        return false;
+    }
+
+    private void startBackgroundWorker(Sliceable sliceable, Uri uri) {
+        final Class workerClass = sliceable.getBackgroundWorkerClass();
+        if (workerClass == null) {
+            return;
+        }
+
+        if (mPinnedWorkers.containsKey(uri)) {
+            return;
+        }
+
+        Log.d(TAG, "Starting background worker for: " + uri);
+        final SliceBackgroundWorker worker = SliceBackgroundWorker.getInstance(
+                getContext(), sliceable, uri);
+        mPinnedWorkers.put(uri, worker);
+        worker.onSlicePinned();
+    }
+
+    private void stopBackgroundWorker(Uri uri) {
+        final SliceBackgroundWorker worker = mPinnedWorkers.get(uri);
+        if (worker != null) {
+            Log.d(TAG, "Stopping background worker for: " + uri);
+            worker.onSliceUnpinned();
+            mPinnedWorkers.remove(uri);
+        }
+    }
+
+    /**
+     * @return an empty {@link Slice} with {@param uri} to be used as a stub while the real
+     * {@link SliceData} is loaded from {@link SlicesDatabaseHelper.Tables#TABLE_SLICES_INDEX}.
+     */
+    private static Slice getSliceStub(Uri uri) {
+        // TODO: Switch back to ListBuilder when slice loading states are fixed.
+        return new Slice.Builder(uri).build();
+    }
+
+    private static String[] parseStringArray(String value) {
         if (value != null) {
             String[] parts = value.split(":");
             if (parts.length > 0) {
diff --git a/src/com/android/settings/slices/SliceBroadcastReceiver.java b/src/com/android/settings/slices/SliceBroadcastReceiver.java
index fc3d0cc..92e373f 100644
--- a/src/com/android/settings/slices/SliceBroadcastReceiver.java
+++ b/src/com/android/settings/slices/SliceBroadcastReceiver.java
@@ -18,12 +18,11 @@
 
 import static com.android.settings.bluetooth.BluetoothSliceBuilder.ACTION_BLUETOOTH_SLICE_CHANGED;
 import static com.android.settings.network.telephony.Enhanced4gLteSliceHelper.ACTION_ENHANCED_4G_LTE_CHANGED;
-import static com.android.settings.notification.ZenModeSliceBuilder.ACTION_ZEN_MODE_SLICE_CHANGED;
+import static com.android.settings.notification.zen.ZenModeSliceBuilder.ACTION_ZEN_MODE_SLICE_CHANGED;
 import static com.android.settings.slices.SettingsSliceProvider.ACTION_COPY;
 import static com.android.settings.slices.SettingsSliceProvider.ACTION_SLIDER_CHANGED;
 import static com.android.settings.slices.SettingsSliceProvider.ACTION_TOGGLE_CHANGED;
 import static com.android.settings.slices.SettingsSliceProvider.EXTRA_SLICE_KEY;
-import static com.android.settings.slices.SettingsSliceProvider.EXTRA_SLICE_PLATFORM_DEFINED;
 import static com.android.settings.wifi.calling.WifiCallingSliceHelper.ACTION_WIFI_CALLING_CHANGED;
 import static com.android.settings.wifi.calling.WifiCallingSliceHelper.ACTION_WIFI_CALLING_PREFERENCE_CELLULAR_PREFERRED;
 import static com.android.settings.wifi.calling.WifiCallingSliceHelper.ACTION_WIFI_CALLING_PREFERENCE_WIFI_ONLY;
@@ -32,11 +31,9 @@
 import android.app.settings.SettingsEnums;
 import android.app.slice.Slice;
 import android.content.BroadcastReceiver;
-import android.content.ContentResolver;
 import android.content.Context;
 import android.content.Intent;
 import android.net.Uri;
-import android.provider.SettingsSlicesContract;
 import android.text.TextUtils;
 import android.util.Log;
 
@@ -44,7 +41,7 @@
 import com.android.settings.core.BasePreferenceController;
 import com.android.settings.core.SliderPreferenceController;
 import com.android.settings.core.TogglePreferenceController;
-import com.android.settings.notification.ZenModeSliceBuilder;
+import com.android.settings.notification.zen.ZenModeSliceBuilder;
 import com.android.settings.overlay.FeatureFactory;
 
 /**
@@ -58,8 +55,6 @@
     public void onReceive(Context context, Intent intent) {
         final String action = intent.getAction();
         final String key = intent.getStringExtra(EXTRA_SLICE_KEY);
-        final boolean isPlatformSlice = intent.getBooleanExtra(EXTRA_SLICE_PLATFORM_DEFINED,
-                false /* default */);
 
         if (CustomSliceRegistry.isValidAction(action)) {
             final CustomSliceable sliceable =
@@ -68,15 +63,16 @@
             sliceable.onNotifyChange(intent);
             return;
         }
+        final Uri sliceUri = intent.getData();
 
         switch (action) {
             case ACTION_TOGGLE_CHANGED:
                 final boolean isChecked = intent.getBooleanExtra(Slice.EXTRA_TOGGLE_STATE, false);
-                handleToggleAction(context, key, isChecked, isPlatformSlice);
+                handleToggleAction(context, sliceUri, key, isChecked);
                 break;
             case ACTION_SLIDER_CHANGED:
                 final int newPosition = intent.getIntExtra(Slice.EXTRA_RANGE_VALUE, -1);
-                handleSliderAction(context, key, newPosition, isPlatformSlice);
+                handleSliderAction(context, sliceUri, key, newPosition);
                 break;
             case ACTION_BLUETOOTH_SLICE_CHANGED:
                 BluetoothSliceBuilder.handleUriChange(context, intent);
@@ -105,13 +101,12 @@
                         .handleWifiCallingPreferenceChanged(intent);
                 break;
             case ACTION_COPY:
-                handleCopyAction(context, key, isPlatformSlice);
+                handleCopyAction(context, sliceUri, key);
                 break;
         }
     }
 
-    private void handleToggleAction(Context context, String key, boolean isChecked,
-            boolean isPlatformSlice) {
+    private void handleToggleAction(Context context, Uri sliceUri, String key, boolean isChecked) {
         if (TextUtils.isEmpty(key)) {
             throw new IllegalStateException("No key passed to Intent for toggle controller");
         }
@@ -125,7 +120,7 @@
         if (!controller.isAvailable()) {
             Log.w(TAG, "Can't update " + key + " since the setting is unavailable");
             if (!controller.hasAsyncUpdate()) {
-                updateUri(context, key, isPlatformSlice);
+                context.getContentResolver().notifyChange(sliceUri, null /* observer */);
             }
             return;
         }
@@ -136,12 +131,11 @@
         toggleController.setChecked(isChecked);
         logSliceValueChange(context, key, isChecked ? 1 : 0);
         if (!controller.hasAsyncUpdate()) {
-            updateUri(context, key, isPlatformSlice);
+            context.getContentResolver().notifyChange(sliceUri, null /* observer */);
         }
     }
 
-    private void handleSliderAction(Context context, String key, int newPosition,
-            boolean isPlatformSlice) {
+    private void handleSliderAction(Context context, Uri sliceUri, String key, int newPosition) {
         if (TextUtils.isEmpty(key)) {
             throw new IllegalArgumentException(
                     "No key passed to Intent for slider controller. Use extra: " + EXTRA_SLICE_KEY);
@@ -159,7 +153,7 @@
 
         if (!controller.isAvailable()) {
             Log.w(TAG, "Can't update " + key + " since the setting is unavailable");
-            updateUri(context, key, isPlatformSlice);
+            context.getContentResolver().notifyChange(sliceUri, null /* observer */);
             return;
         }
 
@@ -174,10 +168,10 @@
 
         sliderController.setSliderPosition(newPosition);
         logSliceValueChange(context, key, newPosition);
-        updateUri(context, key, isPlatformSlice);
+        context.getContentResolver().notifyChange(sliceUri, null /* observer */);
     }
 
-    private void handleCopyAction(Context context, String key, boolean isPlatformSlice) {
+    private void handleCopyAction(Context context, Uri sliceUri, String key) {
         if (TextUtils.isEmpty(key)) {
             throw new IllegalArgumentException("No key passed to Intent for controller");
         }
@@ -192,7 +186,7 @@
         if (!controller.isAvailable()) {
             Log.w(TAG, "Can't update " + key + " since the setting is unavailable");
             if (!controller.hasAsyncUpdate()) {
-                updateUri(context, key, isPlatformSlice);
+                context.getContentResolver().notifyChange(sliceUri, null /* observer */);
             }
             return;
         }
@@ -217,17 +211,4 @@
         final SliceData sliceData = accessor.getSliceDataFromKey(key);
         return SliceBuilderUtils.getPreferenceController(context, sliceData);
     }
-
-    private void updateUri(Context context, String key, boolean isPlatformDefined) {
-        final String authority = isPlatformDefined
-                ? SettingsSlicesContract.AUTHORITY
-                : SettingsSliceProvider.SLICE_AUTHORITY;
-        final Uri uri = new Uri.Builder()
-                .scheme(ContentResolver.SCHEME_CONTENT)
-                .authority(authority)
-                .appendPath(SettingsSlicesContract.PATH_SETTING_ACTION)
-                .appendPath(key)
-                .build();
-        context.getContentResolver().notifyChange(uri, null /* observer */);
-    }
 }
diff --git a/src/com/android/settings/slices/SliceBuilderUtils.java b/src/com/android/settings/slices/SliceBuilderUtils.java
index 2191da7..34c0f1b 100644
--- a/src/com/android/settings/slices/SliceBuilderUtils.java
+++ b/src/com/android/settings/slices/SliceBuilderUtils.java
@@ -18,12 +18,10 @@
 
 import static com.android.settings.core.BasePreferenceController.DISABLED_DEPENDENT_SETTING;
 import static com.android.settings.slices.SettingsSliceProvider.EXTRA_SLICE_KEY;
-import static com.android.settings.slices.SettingsSliceProvider.EXTRA_SLICE_PLATFORM_DEFINED;
 
 import android.annotation.ColorInt;
 import android.app.PendingIntent;
 import android.app.settings.SettingsEnums;
-import android.content.ContentResolver;
 import android.content.Context;
 import android.content.Intent;
 import android.net.Uri;
@@ -75,6 +73,8 @@
      * {@param sliceData} is an inline controller.
      */
     public static Slice buildSlice(Context context, SliceData sliceData) {
+        // Reload theme for switching dark mode on/off
+        context.getTheme().applyStyle(R.style.Theme_Settings_Home, true /* force */);
         Log.d(TAG, "Creating slice for: " + sliceData.getPreferenceController());
         final BasePreferenceController controller = getPreferenceController(context, sliceData);
         FeatureFactory.getFactory(context).getMetricsFeatureProvider()
@@ -111,17 +111,6 @@
     }
 
     /**
-     * @return the {@link SliceData.SliceType} for the {@param controllerClassName} and key.
-     */
-    @SliceData.SliceType
-    public static int getSliceType(Context context, String controllerClassName,
-            String controllerKey) {
-        BasePreferenceController controller = getPreferenceController(context, controllerClassName,
-                controllerKey);
-        return controller.getSliceType();
-    }
-
-    /**
      * Splits the Settings Slice Uri path into its two expected components:
      * - intent/action
      * - key
@@ -170,8 +159,7 @@
         final Intent intent = new Intent(action)
                 .setData(data.getUri())
                 .setClass(context, SliceBroadcastReceiver.class)
-                .putExtra(EXTRA_SLICE_KEY, data.getKey())
-                .putExtra(EXTRA_SLICE_PLATFORM_DEFINED, data.isPlatformDefined());
+                .putExtra(EXTRA_SLICE_KEY, data.getKey());
         return PendingIntent.getBroadcast(context, 0 /* requestCode */, intent,
                 PendingIntent.FLAG_UPDATE_CURRENT);
     }
@@ -214,17 +202,6 @@
         return "";
     }
 
-    public static Uri getUri(String path, boolean isPlatformSlice) {
-        final String authority = isPlatformSlice
-                ? SettingsSlicesContract.AUTHORITY
-                : SettingsSliceProvider.SLICE_AUTHORITY;
-        return new Uri.Builder()
-                .scheme(ContentResolver.SCHEME_CONTENT)
-                .authority(authority)
-                .appendPath(path)
-                .build();
-    }
-
     public static Intent buildSearchResultPageIntent(Context context, String className, String key,
             String screenTitle, int sourceMetricsCategory) {
         final Bundle args = new Bundle();
@@ -238,6 +215,8 @@
         searchDestination.putExtra(SettingsActivity.EXTRA_FRAGMENT_ARG_KEY, key)
                 .setAction("com.android.settings.SEARCH_RESULT_TRAMPOLINE")
                 .setComponent(null);
+        searchDestination.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
+
         return searchDestination;
     }
 
@@ -307,7 +286,7 @@
         final PendingIntent actionIntent = getSliderAction(context, sliceData);
         final PendingIntent contentIntent = getContentPendingIntent(context, sliceData);
         final IconCompat icon = getSafeIcon(context, sliceData);
-        @ColorInt final int color = Utils.getColorAccentDefaultColor(context);
+        @ColorInt int color = Utils.getColorAccentDefaultColor(context);
         final CharSequence subtitleText = getSubtitleText(context, controller, sliceData);
         final SliceAction primaryAction = SliceAction.createDeeplink(contentIntent, icon,
                 ListBuilder.ICON_IMAGE, sliceData.getTitle());
@@ -320,17 +299,22 @@
         if (cur > sliderController.getMax()) {
             cur = sliderController.getMax();
         }
+        final InputRangeBuilder inputRangeBuilder = new InputRangeBuilder()
+                .setTitle(sliceData.getTitle())
+                .setSubtitle(subtitleText)
+                .setPrimaryAction(primaryAction)
+                .setMax(sliderController.getMax())
+                .setMin(sliderController.getMin())
+                .setValue(cur)
+                .setInputAction(actionIntent);
+        if (sliceData.getIconResource() != 0) {
+            inputRangeBuilder.setTitleItem(icon, ListBuilder.ICON_IMAGE);
+            color = CustomSliceable.COLOR_NOT_TINTED;
+        }
 
         return new ListBuilder(context, sliceData.getUri(), ListBuilder.INFINITY)
                 .setAccentColor(color)
-                .addInputRange(new InputRangeBuilder()
-                        .setTitle(sliceData.getTitle())
-                        .setSubtitle(subtitleText)
-                        .setPrimaryAction(primaryAction)
-                        .setMax(sliderController.getMax())
-                        .setMin(sliderController.getMin())
-                        .setValue(cur)
-                        .setInputAction(actionIntent))
+                .addInputRange(inputRangeBuilder)
                 .setKeywords(keywords)
                 .build();
     }
@@ -358,7 +342,7 @@
                 .build();
     }
 
-    private static BasePreferenceController getPreferenceController(Context context,
+    static BasePreferenceController getPreferenceController(Context context,
             String controllerClassName, String controllerKey) {
         try {
             return BasePreferenceController.createInstance(context, controllerClassName);
diff --git a/src/com/android/settings/slices/SliceData.java b/src/com/android/settings/slices/SliceData.java
index f818539..60f5e3f 100644
--- a/src/com/android/settings/slices/SliceData.java
+++ b/src/com/android/settings/slices/SliceData.java
@@ -71,10 +71,10 @@
     @SliceType
     private final int mSliceType;
 
-    private final boolean mIsPlatformDefined;
-
     private final String mUnavailableSliceSubtitle;
 
+    private final boolean mIsPublicSlice;
+
     public String getKey() {
         return mKey;
     }
@@ -115,14 +115,14 @@
         return mSliceType;
     }
 
-    public boolean isPlatformDefined() {
-        return mIsPlatformDefined;
-    }
-
     public String getUnavailableSliceSubtitle() {
         return mUnavailableSliceSubtitle;
     }
 
+    public boolean isPublicSlice() {
+        return mIsPublicSlice;
+    }
+
     private SliceData(Builder builder) {
         mKey = builder.mKey;
         mTitle = builder.mTitle;
@@ -134,8 +134,8 @@
         mUri = builder.mUri;
         mPreferenceController = builder.mPrefControllerClassName;
         mSliceType = builder.mSliceType;
-        mIsPlatformDefined = builder.mIsPlatformDefined;
         mUnavailableSliceSubtitle = builder.mUnavailableSliceSubtitle;
+        mIsPublicSlice = builder.mIsPublicSlice;
     }
 
     @Override
@@ -173,10 +173,10 @@
 
         private int mSliceType;
 
-        private boolean mIsPlatformDefined;
-
         private String mUnavailableSliceSubtitle;
 
+        private boolean mIsPublicSlice;
+
         public Builder setKey(String key) {
             mKey = key;
             return this;
@@ -227,17 +227,17 @@
             return this;
         }
 
-        public Builder setPlatformDefined(boolean isPlatformDefined) {
-            mIsPlatformDefined = isPlatformDefined;
-            return this;
-        }
-
         public Builder setUnavailableSliceSubtitle(
                 String unavailableSliceSubtitle) {
             mUnavailableSliceSubtitle = unavailableSliceSubtitle;
             return this;
         }
 
+        public Builder setIsPublicSlice(boolean isPublicSlice) {
+            mIsPublicSlice = isPublicSlice;
+            return this;
+        }
+
         public SliceData build() {
             if (TextUtils.isEmpty(mKey)) {
                 throw new InvalidSliceDataException("Key cannot be empty");
diff --git a/src/com/android/settings/slices/SliceDataConverter.java b/src/com/android/settings/slices/SliceDataConverter.java
index 7a8ab83..5608169 100644
--- a/src/com/android/settings/slices/SliceDataConverter.java
+++ b/src/com/android/settings/slices/SliceDataConverter.java
@@ -19,7 +19,6 @@
 import static com.android.settings.core.PreferenceXmlParserUtils.METADATA_CONTROLLER;
 import static com.android.settings.core.PreferenceXmlParserUtils.METADATA_ICON;
 import static com.android.settings.core.PreferenceXmlParserUtils.METADATA_KEY;
-import static com.android.settings.core.PreferenceXmlParserUtils.METADATA_PLATFORM_SLICE_FLAG;
 import static com.android.settings.core.PreferenceXmlParserUtils.METADATA_SUMMARY;
 import static com.android.settings.core.PreferenceXmlParserUtils.METADATA_TITLE;
 import static com.android.settings.core.PreferenceXmlParserUtils.METADATA_UNAVAILABLE_SLICE_SUBTITLE;
@@ -27,14 +26,17 @@
 import android.accessibilityservice.AccessibilityServiceInfo;
 import android.app.settings.SettingsEnums;
 import android.content.ComponentName;
+import android.content.ContentResolver;
 import android.content.Context;
 import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
 import android.content.pm.ServiceInfo;
 import android.content.res.Resources;
 import android.content.res.XmlResourceParser;
+import android.net.Uri;
 import android.os.Bundle;
 import android.provider.SearchIndexableResource;
+import android.provider.SettingsSlicesContract;
 import android.text.TextUtils;
 import android.util.AttributeSet;
 import android.util.Log;
@@ -51,9 +53,9 @@
 import com.android.settings.core.PreferenceXmlParserUtils.MetadataFlag;
 import com.android.settings.dashboard.DashboardFragment;
 import com.android.settings.overlay.FeatureFactory;
-import com.android.settings.search.DatabaseIndexingUtils;
-import com.android.settings.search.Indexable.SearchIndexProvider;
 import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
+import com.android.settingslib.search.Indexable.SearchIndexProvider;
+import com.android.settingslib.search.SearchIndexableData;
 
 import org.xmlpull.v1.XmlPullParser;
 import org.xmlpull.v1.XmlPullParserException;
@@ -99,14 +101,13 @@
     public List<SliceData> getSliceData() {
         List<SliceData> sliceData = new ArrayList<>();
 
-        final Collection<Class> indexableClasses = FeatureFactory.getFactory(mContext)
+        final Collection<SearchIndexableData> bundles = FeatureFactory.getFactory(mContext)
                 .getSearchFeatureProvider().getSearchIndexableResources().getProviderValues();
 
-        for (Class clazz : indexableClasses) {
-            final String fragmentName = clazz.getName();
+        for (SearchIndexableData bundle : bundles) {
+            final String fragmentName = bundle.getTargetClass().getName();
 
-            final SearchIndexProvider provider = DatabaseIndexingUtils.getSearchIndexProvider(
-                    clazz);
+            final SearchIndexProvider provider = bundle.getSearchIndexProvider();
 
             // CodeInspection test guards against the null check. Keep check in case of bad actors.
             if (provider == null) {
@@ -187,7 +188,6 @@
                             | MetadataFlag.FLAG_NEED_PREF_TITLE
                             | MetadataFlag.FLAG_NEED_PREF_ICON
                             | MetadataFlag.FLAG_NEED_PREF_SUMMARY
-                            | MetadataFlag.FLAG_NEED_PLATFORM_SLICE_FLAG
                             | MetadataFlag.FLAG_UNAVAILABLE_SLICE_SUBTITLE);
 
             for (Bundle bundle : metadata) {
@@ -199,17 +199,24 @@
                 }
 
                 final String key = bundle.getString(METADATA_KEY);
+                final BasePreferenceController controller = SliceBuilderUtils
+                        .getPreferenceController(mContext, controllerClassName, key);
+                // Only add pre-approved Slices available on the device.
+                if (!controller.isSliceable() || !controller.isAvailable()) {
+                    continue;
+                }
                 final String title = bundle.getString(METADATA_TITLE);
                 final String summary = bundle.getString(METADATA_SUMMARY);
                 final int iconResId = bundle.getInt(METADATA_ICON);
-                final int sliceType = SliceBuilderUtils.getSliceType(mContext, controllerClassName,
-                        key);
-                final boolean isPlatformSlice = bundle.getBoolean(METADATA_PLATFORM_SLICE_FLAG);
+
+                final int sliceType = controller.getSliceType();
                 final String unavailableSliceSubtitle = bundle.getString(
                         METADATA_UNAVAILABLE_SLICE_SUBTITLE);
+                final boolean isPublicSlice = controller.isPublicSlice();
 
                 final SliceData xmlSlice = new SliceData.Builder()
                         .setKey(key)
+                        .setUri(controller.getSliceUri())
                         .setTitle(title)
                         .setSummary(summary)
                         .setIcon(iconResId)
@@ -217,17 +224,11 @@
                         .setPreferenceControllerClassName(controllerClassName)
                         .setFragmentName(fragmentName)
                         .setSliceType(sliceType)
-                        .setPlatformDefined(isPlatformSlice)
                         .setUnavailableSliceSubtitle(unavailableSliceSubtitle)
+                        .setIsPublicSlice(isPublicSlice)
                         .build();
 
-                final BasePreferenceController controller =
-                        SliceBuilderUtils.getPreferenceController(mContext, xmlSlice);
-
-                // Only add pre-approved Slices available on the device.
-                if (controller.isSliceable() && controller.isAvailable()) {
-                    xmlSliceData.add(xmlSlice);
-                }
+                xmlSliceData.add(xmlSlice);
             }
         } catch (SliceData.InvalidSliceDataException e) {
             Log.w(TAG, "Invalid data when building SliceData for " + fragmentName, e);
@@ -294,6 +295,12 @@
 
             sliceDataBuilder.setKey(flattenedName)
                     .setTitle(title)
+                    .setUri(new Uri.Builder()
+                            .scheme(ContentResolver.SCHEME_CONTENT)
+                            .authority(SettingsSliceProvider.SLICE_AUTHORITY)
+                            .appendPath(SettingsSlicesContract.PATH_SETTING_ACTION)
+                            .appendPath(flattenedName)
+                            .build())
                     .setIcon(iconResource)
                     .setSliceType(SliceData.SliceType.SWITCH);
             try {
diff --git a/src/com/android/settings/slices/SliceDeepLinkSpringBoard.java b/src/com/android/settings/slices/SliceDeepLinkSpringBoard.java
index 88263e8..852f286 100644
--- a/src/com/android/settings/slices/SliceDeepLinkSpringBoard.java
+++ b/src/com/android/settings/slices/SliceDeepLinkSpringBoard.java
@@ -24,7 +24,7 @@
 import android.util.Log;
 
 import com.android.settings.bluetooth.BluetoothSliceBuilder;
-import com.android.settings.notification.ZenModeSliceBuilder;
+import com.android.settings.notification.zen.ZenModeSliceBuilder;
 
 public class SliceDeepLinkSpringBoard extends Activity {
 
diff --git a/src/com/android/settings/slices/SlicePreference.java b/src/com/android/settings/slices/SlicePreference.java
index a88ae76..fe5ed60 100644
--- a/src/com/android/settings/slices/SlicePreference.java
+++ b/src/com/android/settings/slices/SlicePreference.java
@@ -18,6 +18,7 @@
 
 import android.content.Context;
 import android.util.AttributeSet;
+import android.view.View;
 
 import androidx.slice.Slice;
 import androidx.slice.widget.SliceView;
@@ -43,11 +44,17 @@
 
     private void init() {
         mSliceView = findViewById(R.id.slice_view);
-        mSliceView.showTitleItems(true);
+        mSliceView.setShowTitleItems(true);
         mSliceView.setScrollable(false);
+        mSliceView.setVisibility(View.GONE);
     }
 
     public void onSliceUpdated(Slice slice) {
+        if (slice == null) {
+            mSliceView.setVisibility(View.GONE);
+        } else {
+            mSliceView.setVisibility(View.VISIBLE);
+        }
         mSliceView.onChanged(slice);
         notifyChanged();
     }
diff --git a/src/com/android/settings/slices/SlicePreferenceController.java b/src/com/android/settings/slices/SlicePreferenceController.java
index 2432c99..df28304 100644
--- a/src/com/android/settings/slices/SlicePreferenceController.java
+++ b/src/com/android/settings/slices/SlicePreferenceController.java
@@ -18,6 +18,7 @@
 
 import android.content.Context;
 import android.net.Uri;
+import android.util.Log;
 
 import androidx.annotation.VisibleForTesting;
 import androidx.lifecycle.LiveData;
@@ -38,6 +39,7 @@
  */
 public class SlicePreferenceController extends BasePreferenceController implements
         LifecycleObserver, OnStart, OnStop, Observer<Slice> {
+    private static final String TAG = "SlicePreferenceController";
     @VisibleForTesting
     LiveData<Slice> mLiveData;
     @VisibleForTesting
@@ -61,7 +63,9 @@
 
     public void setSliceUri(Uri uri) {
         mUri = uri;
-        mLiveData = SliceLiveData.fromUri(mContext, mUri);
+        mLiveData = SliceLiveData.fromUri(mContext, mUri, (int type, Throwable source) -> {
+            Log.w(TAG, "Slice may be null. uri = " + uri + ", error = " + type);
+        });
 
         //TODO(b/120803703): figure out why we need to remove observer first
         mLiveData.removeObserver(this);
diff --git a/src/com/android/settings/slices/Sliceable.java b/src/com/android/settings/slices/Sliceable.java
index 04a3b50..ad27b7c 100644
--- a/src/com/android/settings/slices/Sliceable.java
+++ b/src/com/android/settings/slices/Sliceable.java
@@ -22,8 +22,11 @@
 import android.content.ClipboardManager;
 import android.content.Context;
 import android.content.IntentFilter;
+import android.net.Uri;
 import android.widget.Toast;
 
+import androidx.slice.Slice;
+
 import com.android.settings.R;
 
 /**
@@ -48,13 +51,31 @@
      * <p>
      * This does not guarantee the setting is available.
      *
-     * @return {@code true} if the controller should be used externally as a Slice.
+     * @return {@code true} if the controller should be used as a Slice.
      */
     default boolean isSliceable() {
         return false;
     }
 
     /**
+     * Determines if the {@link Slice} should be public to other apps.
+     * This does not guarantee the setting is available.
+     *
+     * @return {@code true} if the controller should be used as a Slice, and is
+     * publicly visible to other apps.
+     */
+    default boolean isPublicSlice() {
+        return false;
+    }
+
+    /**
+     * Returns uri for this slice (if it's a slice).
+     */
+    default Uri getSliceUri() {
+        return null;
+    }
+
+    /**
      * @return {@code true} if the setting update asynchronously.
      * <p>
      * For example, a Wifi controller would return true, because it needs to update the radio
diff --git a/src/com/android/settings/slices/SlicesDatabaseAccessor.java b/src/com/android/settings/slices/SlicesDatabaseAccessor.java
index 2553a21..e31715d 100644
--- a/src/com/android/settings/slices/SlicesDatabaseAccessor.java
+++ b/src/com/android/settings/slices/SlicesDatabaseAccessor.java
@@ -23,6 +23,7 @@
 import android.database.sqlite.SQLiteDatabase;
 import android.net.Uri;
 import android.os.Binder;
+import android.text.TextUtils;
 import android.util.Pair;
 
 import androidx.slice.Slice;
@@ -47,14 +48,10 @@
             IndexColumns.ICON_RESOURCE,
             IndexColumns.FRAGMENT,
             IndexColumns.CONTROLLER,
-            IndexColumns.PLATFORM_SLICE,
             IndexColumns.SLICE_TYPE,
             IndexColumns.UNAVAILABLE_SLICE_SUBTITLE,
     };
 
-    // Cursor value for boolean true
-    private final int TRUE = 1;
-
     private final Context mContext;
     private final SlicesDatabaseHelper mHelper;
 
@@ -91,34 +88,31 @@
     }
 
     /**
-     * @return a list of keys in the Slices database matching on {@param isPlatformSlice}.
+     * @return a list of Slice {@link Uri}s based on their visibility {@param isPublicSlice } and
+     * {@param authority}.
      */
-    public List<String> getSliceKeys(boolean isPlatformSlice) {
+    public List<Uri> getSliceUris(String authority, boolean isPublicSlice) {
         verifyIndexing();
-        final String whereClause;
-
-        if (isPlatformSlice) {
-            whereClause = IndexColumns.PLATFORM_SLICE + " = 1";
-        } else {
-            whereClause = IndexColumns.PLATFORM_SLICE + " = 0";
-        }
-
+        final List<Uri> uris = new ArrayList<>();
+        final String whereClause = IndexColumns.PUBLIC_SLICE + (isPublicSlice ? "=1" : "=0");
         final SQLiteDatabase database = mHelper.getReadableDatabase();
-        final String[] columns = new String[]{IndexColumns.KEY};
-        final List<String> keys = new ArrayList<>();
-
-        try (final Cursor resultCursor = database.query(TABLE_SLICES_INDEX, columns, whereClause,
-                null /* selection */, null /* groupBy */, null /* having */, null /* orderBy */)) {
+        final String[] columns = new String[]{IndexColumns.SLICE_URI};
+        try (Cursor resultCursor = database.query(TABLE_SLICES_INDEX, columns,
+                whereClause /* where */, null /* selection */, null /* groupBy */,
+                null /* having */, null /* orderBy */)) {
             if (!resultCursor.moveToFirst()) {
-                return keys;
+                return uris;
             }
 
             do {
-                keys.add(resultCursor.getString(0 /* key index */));
+                final Uri uri = Uri.parse(resultCursor.getString(0 /* SLICE_URI */));
+                if (TextUtils.isEmpty(authority)
+                        || TextUtils.equals(authority, uri.getAuthority())) {
+                    uris.add(uri);
+                }
             } while (resultCursor.moveToNext());
         }
-
-        return keys;
+        return uris;
     }
 
     private Cursor getIndexedSliceData(String path) {
@@ -151,7 +145,7 @@
                 .toString();
     }
 
-    private SliceData buildSliceData(Cursor cursor, Uri uri, boolean isIntentOnly) {
+    private static SliceData buildSliceData(Cursor cursor, Uri uri, boolean isIntentOnly) {
         final String key = cursor.getString(cursor.getColumnIndex(IndexColumns.KEY));
         final String title = cursor.getString(cursor.getColumnIndex(IndexColumns.TITLE));
         final String summary = cursor.getString(cursor.getColumnIndex(IndexColumns.SUMMARY));
@@ -163,8 +157,6 @@
                 cursor.getColumnIndex(IndexColumns.FRAGMENT));
         final String controllerClassName = cursor.getString(
                 cursor.getColumnIndex(IndexColumns.CONTROLLER));
-        final boolean isPlatformDefined = cursor.getInt(
-                cursor.getColumnIndex(IndexColumns.PLATFORM_SLICE)) == TRUE;
         int sliceType = cursor.getInt(
                 cursor.getColumnIndex(IndexColumns.SLICE_TYPE));
         final String unavailableSliceSubtitle = cursor.getString(
@@ -184,7 +176,6 @@
                 .setFragmentName(fragmentClassName)
                 .setPreferenceControllerClassName(controllerClassName)
                 .setUri(uri)
-                .setPlatformDefined(isPlatformDefined)
                 .setSliceType(sliceType)
                 .setUnavailableSliceSubtitle(unavailableSliceSubtitle)
                 .build();
diff --git a/src/com/android/settings/slices/SlicesDatabaseHelper.java b/src/com/android/settings/slices/SlicesDatabaseHelper.java
index 1f9b05e..fe4420b 100644
--- a/src/com/android/settings/slices/SlicesDatabaseHelper.java
+++ b/src/com/android/settings/slices/SlicesDatabaseHelper.java
@@ -36,7 +36,7 @@
     private static final String DATABASE_NAME = "slices_index.db";
     private static final String SHARED_PREFS_TAG = "slices_shared_prefs";
 
-    private static final int DATABASE_VERSION = 5;
+    private static final int DATABASE_VERSION = 8;
 
     public interface Tables {
         String TABLE_SLICES_INDEX = "slices_index";
@@ -85,11 +85,6 @@
         String CONTROLLER = "controller";
 
         /**
-         * Boolean flag, {@code true} when the Slice is officially platform-supported.
-         */
-        String PLATFORM_SLICE = "platform_slice";
-
-        /**
          * {@link SliceData.SliceType} representing the inline type of the result.
          */
         String SLICE_TYPE = "slice_type";
@@ -98,6 +93,16 @@
          * Customized subtitle if it's a unavailable slice
          */
         String UNAVAILABLE_SLICE_SUBTITLE = "unavailable_slice_subtitle";
+
+        /**
+         * The uri of slice.
+         */
+        String SLICE_URI = "slice_uri";
+
+        /**
+         * Whether the slice should be exposed publicly.
+         */
+        String PUBLIC_SLICE = "public_slice";
     }
 
     private static final String CREATE_SLICES_TABLE =
@@ -105,6 +110,8 @@
                     "(" +
                     IndexColumns.KEY +
                     ", " +
+                    IndexColumns.SLICE_URI +
+                    ", " +
                     IndexColumns.TITLE +
                     ", " +
                     IndexColumns.SUMMARY +
@@ -119,11 +126,15 @@
                     ", " +
                     IndexColumns.CONTROLLER +
                     ", " +
-                    IndexColumns.PLATFORM_SLICE +
-                    ", " +
                     IndexColumns.SLICE_TYPE +
                     ", " +
                     IndexColumns.UNAVAILABLE_SLICE_SUBTITLE +
+                    ", "
+                    +
+                    IndexColumns.PUBLIC_SLICE
+                    +
+                    " INTEGER DEFAULT 0 "
+                    +
                     ");";
 
     private final Context mContext;
diff --git a/src/com/android/settings/slices/SlicesIndexer.java b/src/com/android/settings/slices/SlicesIndexer.java
index 495eb00..3a68a32 100644
--- a/src/com/android/settings/slices/SlicesIndexer.java
+++ b/src/com/android/settings/slices/SlicesIndexer.java
@@ -101,6 +101,7 @@
         for (SliceData dataRow : indexData) {
             values = new ContentValues();
             values.put(IndexColumns.KEY, dataRow.getKey());
+            values.put(IndexColumns.SLICE_URI, dataRow.getUri().toSafeString());
             values.put(IndexColumns.TITLE, dataRow.getTitle());
             values.put(IndexColumns.SUMMARY, dataRow.getSummary());
             values.put(IndexColumns.SCREENTITLE, dataRow.getScreenTitle().toString());
@@ -108,10 +109,10 @@
             values.put(IndexColumns.ICON_RESOURCE, dataRow.getIconResource());
             values.put(IndexColumns.FRAGMENT, dataRow.getFragmentClassName());
             values.put(IndexColumns.CONTROLLER, dataRow.getPreferenceController());
-            values.put(IndexColumns.PLATFORM_SLICE, dataRow.isPlatformDefined());
             values.put(IndexColumns.SLICE_TYPE, dataRow.getSliceType());
             values.put(IndexColumns.UNAVAILABLE_SLICE_SUBTITLE,
                     dataRow.getUnavailableSliceSubtitle());
+            values.put(IndexColumns.PUBLIC_SLICE, dataRow.isPublicSlice());
 
             database.replaceOrThrow(Tables.TABLE_SLICES_INDEX, null /* nullColumnHack */,
                     values);
diff --git a/src/com/android/settings/sound/HandsFreeProfileOutputPreferenceController.java b/src/com/android/settings/sound/HandsFreeProfileOutputPreferenceController.java
index 9157477..d72f503 100644
--- a/src/com/android/settings/sound/HandsFreeProfileOutputPreferenceController.java
+++ b/src/com/android/settings/sound/HandsFreeProfileOutputPreferenceController.java
@@ -66,7 +66,7 @@
             final BluetoothDevice btDevice = mConnectedDevices.get(connectedDeviceIndex);
             mSelectedIndex = connectedDeviceIndex;
             setActiveBluetoothDevice(btDevice);
-            listPreference.setSummary(btDevice.getAliasName());
+            listPreference.setSummary(btDevice.getAlias());
         }
         return true;
     }
@@ -143,7 +143,7 @@
         mediaValues[mSelectedIndex] = defaultSummary;
         for (int i = 0, size = mConnectedDevices.size(); i < size; i++) {
             final BluetoothDevice btDevice = mConnectedDevices.get(i);
-            mediaOutputs[i] = btDevice.getAliasName();
+            mediaOutputs[i] = btDevice.getAlias();
             mediaValues[i] = btDevice.getAddress();
             if (btDevice.equals(activeDevice)) {
                 // select the active connected device.
diff --git a/src/com/android/settings/sound/MediaOutputPreferenceController.java b/src/com/android/settings/sound/MediaOutputPreferenceController.java
index 1831ad6..b133713 100644
--- a/src/com/android/settings/sound/MediaOutputPreferenceController.java
+++ b/src/com/android/settings/sound/MediaOutputPreferenceController.java
@@ -76,7 +76,7 @@
         mPreference.setVisible(deviceConnected);
         mPreference.setSummary((activeDevice == null) ?
                 mContext.getText(R.string.media_output_default_summary) :
-                activeDevice.getAliasName());
+                activeDevice.getAlias());
     }
 
     @Override
diff --git a/src/com/android/settings/sound/VibrateForCallsPreferenceController.java b/src/com/android/settings/sound/VibrateForCallsPreferenceController.java
new file mode 100644
index 0000000..31abd8a
--- /dev/null
+++ b/src/com/android/settings/sound/VibrateForCallsPreferenceController.java
@@ -0,0 +1,66 @@
+/*
+ * 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.sound;
+
+import android.content.Context;
+import android.provider.DeviceConfig;
+import android.provider.Settings;
+
+import androidx.annotation.VisibleForTesting;
+
+import com.android.settings.R;
+import com.android.settings.Utils;
+import com.android.settings.core.BasePreferenceController;
+
+/**
+ * Controller for vibrate for calls settings.
+ */
+public class VibrateForCallsPreferenceController extends BasePreferenceController {
+
+    private static final int ON = 1;
+    private static final int OFF = 0;
+    @VisibleForTesting
+    static final String RAMPING_RINGER_ENABLED = "ramping_ringer_enabled";
+
+    public VibrateForCallsPreferenceController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+    }
+
+    @Override
+    @AvailabilityStatus
+    public int getAvailabilityStatus() {
+        return Utils.isVoiceCapable(mContext) && !DeviceConfig.getBoolean(
+                DeviceConfig.NAMESPACE_TELEPHONY, RAMPING_RINGER_ENABLED, false)
+            ? AVAILABLE
+            : UNSUPPORTED_ON_DEVICE;
+    }
+
+    @Override
+    public CharSequence getSummary() {
+        if (Settings.Global.getInt(
+                mContext.getContentResolver(),
+                Settings.Global.APPLY_RAMPING_RINGER, OFF) == ON) {
+            return mContext.getText(R.string.vibrate_when_ringing_option_ramping_ringer);
+        } else if (Settings.System.getInt(
+                    mContext.getContentResolver(),
+                    Settings.System.VIBRATE_WHEN_RINGING, OFF) == ON) {
+            return mContext.getText(R.string.vibrate_when_ringing_option_always_vibrate);
+        } else {
+            return mContext.getText(R.string.vibrate_when_ringing_option_never_vibrate);
+        }
+    }
+}
diff --git a/src/com/android/settings/sound/VibrateForCallsPreferenceFragment.java b/src/com/android/settings/sound/VibrateForCallsPreferenceFragment.java
new file mode 100644
index 0000000..73b9f2f
--- /dev/null
+++ b/src/com/android/settings/sound/VibrateForCallsPreferenceFragment.java
@@ -0,0 +1,167 @@
+/*
+ * 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.sound;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.graphics.drawable.Drawable;
+import android.provider.Settings;
+import android.text.TextUtils;
+import android.util.ArrayMap;
+import android.util.Log;
+
+import androidx.annotation.VisibleForTesting;
+
+import com.android.settings.R;
+import com.android.settings.widget.RadioButtonPickerFragment;
+import com.android.settingslib.widget.CandidateInfo;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Fragment for changing vibrate for calls options.
+ */
+public class VibrateForCallsPreferenceFragment extends RadioButtonPickerFragment {
+    private static final String TAG = "VibrateForCallsPreferenceFragment";
+
+    @VisibleForTesting
+    static final String KEY_NEVER_VIBRATE = "never_vibrate";
+    @VisibleForTesting
+    static final String KEY_ALWAYS_VIBRATE = "always_vibrate";
+    @VisibleForTesting
+    static final String KEY_RAMPING_RINGER = "ramping_ringer";
+
+    private static final int ON = 1;
+    private static final int OFF = 0;
+
+    private final Map<String, VibrateForCallsCandidateInfo> mCandidates;
+
+    public VibrateForCallsPreferenceFragment() {
+        mCandidates = new ArrayMap<>();
+    }
+
+    @Override
+    public void onAttach(Context context) {
+        super.onAttach(context);
+        loadCandidates(context);
+    }
+
+    private void loadCandidates(Context context) {
+        mCandidates.put(KEY_NEVER_VIBRATE,
+                new VibrateForCallsCandidateInfo(
+                        KEY_NEVER_VIBRATE, R.string.vibrate_when_ringing_option_never_vibrate));
+        mCandidates.put(KEY_ALWAYS_VIBRATE,
+                new VibrateForCallsCandidateInfo(
+                        KEY_ALWAYS_VIBRATE, R.string.vibrate_when_ringing_option_always_vibrate));
+        mCandidates.put(KEY_RAMPING_RINGER,
+                new VibrateForCallsCandidateInfo(
+                        KEY_RAMPING_RINGER, R.string.vibrate_when_ringing_option_ramping_ringer));
+    }
+
+    private void updateSettings(VibrateForCallsCandidateInfo candidate) {
+        final String key = candidate.getKey();
+        if (TextUtils.equals(key, KEY_ALWAYS_VIBRATE)) {
+            Settings.System.putInt(
+                    getContext().getContentResolver(), Settings.System.VIBRATE_WHEN_RINGING, ON);
+            Settings.Global.putInt(
+                    getContext().getContentResolver(), Settings.Global.APPLY_RAMPING_RINGER, OFF);
+        } else if (TextUtils.equals(key, KEY_RAMPING_RINGER)) {
+            Settings.System.putInt(
+                    getContext().getContentResolver(), Settings.System.VIBRATE_WHEN_RINGING, OFF);
+            Settings.Global.putInt(
+                    getContext().getContentResolver(), Settings.Global.APPLY_RAMPING_RINGER, ON);
+        } else {
+            Settings.System.putInt(
+                    getContext().getContentResolver(), Settings.System.VIBRATE_WHEN_RINGING, OFF);
+            Settings.Global.putInt(
+                    getContext().getContentResolver(), Settings.Global.APPLY_RAMPING_RINGER, OFF);
+        }
+    }
+
+    @Override
+    protected List<? extends CandidateInfo> getCandidates() {
+        final List<VibrateForCallsCandidateInfo> candidates = new ArrayList<>();
+        candidates.add(mCandidates.get(KEY_NEVER_VIBRATE));
+        candidates.add(mCandidates.get(KEY_ALWAYS_VIBRATE));
+        candidates.add(mCandidates.get(KEY_RAMPING_RINGER));
+        return candidates;
+    }
+
+    @Override
+    protected String getDefaultKey() {
+        if (Settings.Global.getInt(
+                 getContext().getContentResolver(),
+                 Settings.Global.APPLY_RAMPING_RINGER, OFF) == ON) {
+            return KEY_RAMPING_RINGER;
+        } else if (Settings.System.getInt(
+                    getContext().getContentResolver(),
+                    Settings.System.VIBRATE_WHEN_RINGING, OFF) == ON) {
+            return KEY_ALWAYS_VIBRATE;
+        } else {
+            return KEY_NEVER_VIBRATE;
+        }
+    }
+
+    @Override
+    protected boolean setDefaultKey(String key) {
+        final VibrateForCallsCandidateInfo candidate = mCandidates.get(key);
+        if (candidate == null) {
+            Log.e(TAG, "Unknown vibrate for calls candidate (key = " + key + ")!");
+            return false;
+        }
+        updateSettings(candidate);
+        return true;
+    }
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.vibrate_for_calls_settings;
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.VIBRATE_FOR_CALLS;
+    }
+
+    @VisibleForTesting
+    class VibrateForCallsCandidateInfo extends CandidateInfo {
+        private final String mKey;
+        private final int mLabelId;
+
+        VibrateForCallsCandidateInfo(String key, int labelId) {
+            super(true /* enabled */);
+            mKey = key;
+            mLabelId = labelId;
+        }
+
+        @Override
+        public CharSequence loadLabel() {
+            return getContext().getString(mLabelId);
+        }
+
+        @Override
+        public Drawable loadIcon() {
+            return null;
+        }
+
+        @Override
+        public String getKey() {
+            return mKey;
+        }
+    }
+}
diff --git a/src/com/android/settings/support/SupportDashboardActivity.java b/src/com/android/settings/support/SupportDashboardActivity.java
index 8703ec7..b8a22b9 100644
--- a/src/com/android/settings/support/SupportDashboardActivity.java
+++ b/src/com/android/settings/support/SupportDashboardActivity.java
@@ -24,9 +24,9 @@
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.overlay.SupportFeatureProvider;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
-import com.android.settings.search.SearchIndexableRaw;
+import com.android.settingslib.search.Indexable;
 import com.android.settingslib.search.SearchIndexable;
+import com.android.settingslib.search.SearchIndexableRaw;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -45,15 +45,15 @@
 
         // try to launch support if we have the feature provider
         if (supportFeatureProvider != null) {
-          supportFeatureProvider.startSupport(this);
-          finish();
+            supportFeatureProvider.startSupport(this);
+            finish();
         }
     }
 
     /**
      * For Search.
      */
-    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
             new BaseSearchIndexProvider() {
                 private static final String SUPPORT_SEARCH_INDEX_KEY = "support_dashboard_activity";
 
@@ -66,7 +66,7 @@
                     // Add the activity title
                     SearchIndexableRaw data = new SearchIndexableRaw(context);
                     data.title = context.getString(R.string.page_tab_title_support);
-                    data.screenTitle = context.getString(R.string.settings_label);
+                    data.screenTitle = context.getString(R.string.page_tab_title_support);
                     data.summaryOn = context.getString(R.string.support_summary);
                     data.intentTargetPackage = context.getPackageName();
                     data.intentTargetClass = SupportDashboardActivity.class.getName();
diff --git a/src/com/android/settings/system/ResetDashboardFragment.java b/src/com/android/settings/system/ResetDashboardFragment.java
index 5243d6a..5e0ead4 100644
--- a/src/com/android/settings/system/ResetDashboardFragment.java
+++ b/src/com/android/settings/system/ResetDashboardFragment.java
@@ -25,7 +25,7 @@
 import com.android.settings.dashboard.DashboardFragment;
 import com.android.settings.network.NetworkResetPreferenceController;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
+import com.android.settingslib.search.Indexable;
 import com.android.settingslib.core.AbstractPreferenceController;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 import com.android.settingslib.search.SearchIndexable;
@@ -67,18 +67,8 @@
         return controllers;
     }
 
-    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
-                        boolean enabled) {
-                    final ArrayList<SearchIndexableResource> result = new ArrayList<>();
-
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.reset_dashboard_fragment;
-                    result.add(sir);
-                    return result;
-                }
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.reset_dashboard_fragment) {
 
                 @Override
                 public List<AbstractPreferenceController> createPreferenceControllers(
diff --git a/src/com/android/settings/system/ResetPreferenceController.java b/src/com/android/settings/system/ResetPreferenceController.java
index 050efc4..09db32f 100644
--- a/src/com/android/settings/system/ResetPreferenceController.java
+++ b/src/com/android/settings/system/ResetPreferenceController.java
@@ -16,20 +16,37 @@
 package com.android.settings.system;
 
 import android.content.Context;
+import android.os.UserManager;
 
 import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
+import com.android.settings.network.NetworkResetPreferenceController;
 
 public class ResetPreferenceController extends BasePreferenceController {
 
+    private final UserManager mUm;
+    private final NetworkResetPreferenceController mNetworkReset;
+    private final FactoryResetPreferenceController mFactpruReset;
+
     public ResetPreferenceController(Context context, String preferenceKey) {
         super(context, preferenceKey);
+        mUm = (UserManager) context.getSystemService(Context.USER_SERVICE);
+        mNetworkReset = new NetworkResetPreferenceController(context);
+        mFactpruReset = new FactoryResetPreferenceController(context);
     }
 
     @Override
     public int getAvailabilityStatus() {
         return mContext.getResources().getBoolean(R.bool.config_show_reset_dashboard)
-                ? AVAILABLE_UNSEARCHABLE
-                : UNSUPPORTED_ON_DEVICE;
+                ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
+    }
+
+    @Override
+    public CharSequence getSummary() {
+        if (!mNetworkReset.isAvailable() && !mFactpruReset.isAvailable()) {
+            return mContext.getText(R.string.reset_dashboard_summary_onlyApps);
+        }
+
+        return mContext.getText(R.string.reset_dashboard_summary);
     }
 }
diff --git a/src/com/android/settings/system/SystemDashboardFragment.java b/src/com/android/settings/system/SystemDashboardFragment.java
index 3ab31e3..a766fec 100644
--- a/src/com/android/settings/system/SystemDashboardFragment.java
+++ b/src/com/android/settings/system/SystemDashboardFragment.java
@@ -29,7 +29,7 @@
 import com.android.settings.dashboard.DashboardFragment;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
+import com.android.settingslib.search.Indexable;
 import com.android.settingslib.search.SearchIndexable;
 
 import java.util.Arrays;
@@ -102,7 +102,7 @@
     /**
      * For Search.
      */
-    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
             new BaseSearchIndexProvider() {
                 @Override
                 public List<SearchIndexableResource> getXmlResourcesToIndex(
diff --git a/src/com/android/settings/system/SystemUpdatePreferenceController.java b/src/com/android/settings/system/SystemUpdatePreferenceController.java
index 38a88b9..92819d6 100644
--- a/src/com/android/settings/system/SystemUpdatePreferenceController.java
+++ b/src/com/android/settings/system/SystemUpdatePreferenceController.java
@@ -89,7 +89,7 @@
     @Override
     public CharSequence getSummary() {
         CharSequence summary = mContext.getString(R.string.android_version_summary,
-                Build.VERSION.RELEASE);
+                Build.VERSION.RELEASE_OR_CODENAME);
         final FutureTask<Bundle> bundleFutureTask = new FutureTask<>(
                 // Put the API call in a future to avoid StrictMode violation.
                 () -> mUpdateManager.retrieveSystemUpdateInfo());
diff --git a/src/com/android/settings/tts/TextToSpeechSettings.java b/src/com/android/settings/tts/TextToSpeechSettings.java
index d4c7318..8e671f4 100644
--- a/src/com/android/settings/tts/TextToSpeechSettings.java
+++ b/src/com/android/settings/tts/TextToSpeechSettings.java
@@ -26,7 +26,9 @@
 import android.content.Context;
 import android.content.Intent;
 import android.os.Bundle;
-import android.provider.SearchIndexableResource;
+import android.os.UserHandle;
+import android.os.UserManager;
+import android.provider.Settings.Secure;
 import android.speech.tts.TextToSpeech;
 import android.speech.tts.TextToSpeech.EngineInfo;
 import android.speech.tts.TtsEngines;
@@ -36,21 +38,22 @@
 import android.util.Pair;
 
 import androidx.appcompat.app.AlertDialog;
+import androidx.lifecycle.ViewModelProviders;
 import androidx.preference.ListPreference;
 import androidx.preference.Preference;
 
 import com.android.settings.R;
 import com.android.settings.SettingsActivity;
 import com.android.settings.SettingsPreferenceFragment;
+import com.android.settings.Utils;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
 import com.android.settings.widget.GearPreference;
 import com.android.settings.widget.SeekBarPreference;
 import com.android.settingslib.search.SearchIndexable;
 import com.android.settingslib.widget.ActionButtonsPreference;
 
+import java.text.Collator;
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
@@ -148,6 +151,11 @@
      */
     private final TextToSpeech.OnInitListener mInitListener = this::onInitEngine;
 
+    /**
+     * A UserManager used to set settings for both person and work profiles for a user
+     */
+    private UserManager mUserManager;
+
     @Override
     public int getMetricsCategory() {
         return SettingsEnums.TTS_TEXT_TO_SPEECH;
@@ -176,6 +184,9 @@
                 .setButton2OnClickListener(v -> resetTts())
                 .setButton1Enabled(true);
 
+        mUserManager = (UserManager) getActivity()
+                .getApplicationContext().getSystemService(Context.USER_SERVICE);
+
         if (savedInstanceState == null) {
             mLocalePreference.setEnabled(false);
             mLocalePreference.setEntries(new CharSequence[0]);
@@ -195,13 +206,18 @@
             mLocalePreference.setEnabled(entries.length > 0);
         }
 
-        mTts = new TextToSpeech(getActivity().getApplicationContext(), mInitListener);
+        final TextToSpeechViewModel ttsViewModel =
+                ViewModelProviders.of(this).get(TextToSpeechViewModel.class);
+        Pair<TextToSpeech, Boolean> ttsAndNew = ttsViewModel.getTtsAndWhetherNew(mInitListener);
+        mTts = ttsAndNew.first;
+        // If the TTS object is not newly created, we need to run the setup on the settings side to
+        // ensure that we can use the TTS object.
+        if (!ttsAndNew.second) {
+            successSetup();
+        }
 
         setTtsUtteranceProgressListener();
         initSettings();
-
-        // Prevent restarting the TTS connection on rotation
-        setRetainInstance(true);
     }
 
     @Override
@@ -217,13 +233,21 @@
             return;
         }
         if (!mTts.getDefaultEngine().equals(mTts.getCurrentEngine())) {
+            final TextToSpeechViewModel ttsViewModel =
+                    ViewModelProviders.of(this).get(TextToSpeechViewModel.class);
             try {
-                mTts.shutdown();
-                mTts = null;
+                // If the current engine isn't the default engine shut down the current engine in
+                // preparation for creating the new engine.
+                ttsViewModel.shutdownTts();
             } catch (Exception e) {
                 Log.e(TAG, "Error shutting down TTS engine" + e);
             }
-            mTts = new TextToSpeech(getActivity().getApplicationContext(), mInitListener);
+            final Pair<TextToSpeech, Boolean> ttsAndNew =
+                    ttsViewModel.getTtsAndWhetherNew(mInitListener);
+            mTts = ttsAndNew.first;
+            if (!ttsAndNew.second) {
+                successSetup();
+            }
             setTtsUtteranceProgressListener();
             initSettings();
         } else {
@@ -267,15 +291,6 @@
     }
 
     @Override
-    public void onDestroy() {
-        super.onDestroy();
-        if (mTts != null) {
-            mTts.shutdown();
-            mTts = null;
-        }
-    }
-
-    @Override
     public void onSaveInstanceState(Bundle outState) {
         super.onSaveInstanceState(outState);
 
@@ -365,8 +380,7 @@
     public void onInitEngine(int status) {
         if (status == TextToSpeech.SUCCESS) {
             if (DBG) Log.d(TAG, "TTS engine for settings screen initialized.");
-            checkDefaultLocale();
-            getActivity().runOnUiThread(() -> mLocalePreference.setEnabled(true));
+            successSetup();
         } else {
             if (DBG) {
                 Log.d(TAG,
@@ -376,6 +390,12 @@
         }
     }
 
+    /** Initialize TTS Settings on successful engine init. */
+    private void successSetup() {
+        checkDefaultLocale();
+        getActivity().runOnUiThread(() -> mLocalePreference.setEnabled(true));
+    }
+
     private void checkDefaultLocale() {
         Locale defaultLocale = mTts.getDefaultLanguage();
         if (defaultLocale == null) {
@@ -509,8 +529,12 @@
             }
         }
 
-        // Sort it
-        Collections.sort(entryPairs, (lhs, rhs) -> lhs.first.compareToIgnoreCase(rhs.first));
+        // Get the primary locale and create a Collator to sort the strings
+        Locale userLocale = getResources().getConfiguration().getLocales().get(0);
+        Collator collator = Collator.getInstance(userLocale);
+
+        // Sort the list
+        Collections.sort(entryPairs, (lhs, rhs) -> collator.compare(lhs.first, rhs.first));
 
         // Get two arrays out of one of pairs
         mSelectedLocaleIndex = 0; // Will point to the R.string.tts_lang_use_system value
@@ -670,8 +694,7 @@
     private void updateSpeechRate(int speechRateSeekBarProgress) {
         mDefaultRate = getValueFromSeekBarProgress(KEY_DEFAULT_RATE, speechRateSeekBarProgress);
         try {
-            android.provider.Settings.Secure.putInt(
-                    getContentResolver(), TTS_DEFAULT_RATE, mDefaultRate);
+            updateTTSSetting(TTS_DEFAULT_RATE, mDefaultRate);
             if (mTts != null) {
                 mTts.setSpeechRate(mDefaultRate / 100.0f);
             }
@@ -685,8 +708,7 @@
     private void updateSpeechPitchValue(int speechPitchSeekBarProgress) {
         mDefaultPitch = getValueFromSeekBarProgress(KEY_DEFAULT_PITCH, speechPitchSeekBarProgress);
         try {
-            android.provider.Settings.Secure.putInt(
-                    getContentResolver(), TTS_DEFAULT_PITCH, mDefaultPitch);
+            updateTTSSetting(TTS_DEFAULT_PITCH, mDefaultPitch);
             if (mTts != null) {
                 mTts.setPitch(mDefaultPitch / 100.0f);
             }
@@ -697,6 +719,16 @@
         return;
     }
 
+    private void updateTTSSetting(String key, int value) {
+        Secure.putInt(
+                    getContentResolver(), key, value);
+        final int managedProfileUserId =
+                Utils.getManagedProfileId(mUserManager, UserHandle.myUserId());
+        if (managedProfileUserId != UserHandle.USER_NULL) {
+            Secure.putIntForUser(getContentResolver(), key, value, managedProfileUserId);
+        }
+    }
+
     private void updateWidgetState(boolean enable) {
         getActivity().runOnUiThread(() -> {
             mActionButtons.setButton1Enabled(enable);
@@ -770,15 +802,7 @@
         }
     }
 
-    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(
-                        Context context, boolean enabled) {
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.tts_settings;
-                    return Arrays.asList(sir);
-                }
-            };
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.tts_settings);
 
 }
diff --git a/src/com/android/settings/tts/TextToSpeechViewModel.java b/src/com/android/settings/tts/TextToSpeechViewModel.java
new file mode 100644
index 0000000..3c92010
--- /dev/null
+++ b/src/com/android/settings/tts/TextToSpeechViewModel.java
@@ -0,0 +1,70 @@
+/*
+ * Copyright 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.tts;
+
+import android.app.Application;
+import android.speech.tts.TextToSpeech;
+import android.util.Pair;
+
+import androidx.lifecycle.AndroidViewModel;
+
+/**
+ * A helper view model to protect the TTS object from being destroyed and
+ * recreated on orientation change.
+*/
+public class TextToSpeechViewModel extends AndroidViewModel {
+    private TextToSpeech mTts;
+
+    // Save the application so we can use it as the TTS context
+    private final Application mApplication;
+
+    public TextToSpeechViewModel(Application application) {
+        super(application);
+
+        mApplication = application;
+    }
+
+    /*
+     * Since the view model now controls the TTS object, we need to handle shutting it down
+     * ourselves.
+     */
+    @Override
+    protected void onCleared() {
+        shutdownTts();
+    }
+
+    protected void shutdownTts() {
+        mTts.shutdown();
+        mTts = null;
+    }
+
+    /*
+     * An accessor method to get the TTS object. Returns a pair of the TTS object and a boolean
+     * indicating whether the TTS object was newly created or not.
+     */
+    protected Pair<TextToSpeech, Boolean> getTtsAndWhetherNew(
+            TextToSpeech.OnInitListener listener) {
+        boolean ttsCreated = false;
+        if (mTts == null) {
+            mTts = new TextToSpeech(this.mApplication, listener);
+            ttsCreated = true;
+        }
+
+        return Pair.create(mTts, ttsCreated);
+    }
+
+}
diff --git a/src/com/android/settings/tts/TtsEnginePreference.java b/src/com/android/settings/tts/TtsEnginePreference.java
deleted file mode 100644
index 8f15db2..0000000
--- a/src/com/android/settings/tts/TtsEnginePreference.java
+++ /dev/null
@@ -1,186 +0,0 @@
-/*
- * Copyright (C) 2011 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT 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.tts;
-
-import android.content.Context;
-import android.content.DialogInterface;
-import android.speech.tts.TextToSpeech.EngineInfo;
-import android.util.Log;
-import android.widget.Checkable;
-import android.widget.CompoundButton;
-import android.widget.RadioButton;
-
-import androidx.appcompat.app.AlertDialog;
-import androidx.preference.Preference;
-import androidx.preference.PreferenceViewHolder;
-
-import com.android.settings.R;
-
-import androidx.annotation.VisibleForTesting;
-
-
-public class TtsEnginePreference extends Preference {
-
-    private static final String TAG = "TtsEnginePreference";
-
-    /**
-     * The engine information for the engine this preference represents.
-     * Contains it's name, label etc. which are used for display.
-     */
-    private final EngineInfo mEngineInfo;
-
-    /**
-     * The shared radio button state, which button is checked etc.
-     */
-    private final RadioButtonGroupState mSharedState;
-    private RadioButton mRadioButton;
-
-    /**
-     * When true, the change callbacks on the radio button will not
-     * fire.
-     */
-    private volatile boolean mPreventRadioButtonCallbacks;
-
-    private final CompoundButton.OnCheckedChangeListener mRadioChangeListener =
-            new CompoundButton.OnCheckedChangeListener() {
-                @Override
-                public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
-                    onRadioButtonClicked(buttonView, isChecked);
-                }
-            };
-
-    public TtsEnginePreference(Context context, EngineInfo info, RadioButtonGroupState state) {
-        super(context);
-
-        setWidgetLayoutResource(R.layout.preference_widget_radiobutton);
-        setLayoutResource(R.layout.preference_radio);
-        setIconSpaceReserved(false);
-
-        mSharedState = state;
-        mEngineInfo = info;
-        mPreventRadioButtonCallbacks = false;
-
-        setKey(mEngineInfo.name);
-        setTitle(mEngineInfo.label);
-    }
-
-    @Override
-    public void onBindViewHolder(PreferenceViewHolder view) {
-        super.onBindViewHolder(view);
-
-        if (mSharedState == null) {
-            throw new IllegalStateException("Call to getView() before a call to" +
-                    "setSharedState()");
-        }
-
-        final RadioButton rb = view.itemView.findViewById(android.R.id.checkbox);
-        rb.setOnCheckedChangeListener(mRadioChangeListener);
-
-        boolean isChecked = getKey().equals(mSharedState.getCurrentKey());
-        if (isChecked) {
-            mSharedState.setCurrentChecked(rb);
-        }
-
-        mPreventRadioButtonCallbacks = true;
-        rb.setChecked(isChecked);
-        mPreventRadioButtonCallbacks = false;
-        mRadioButton = rb;
-    }
-
-    @Override
-    public void onClick() {
-        mRadioButton.setChecked(true);
-    }
-
-    private boolean shouldDisplayDataAlert() {
-        return !mEngineInfo.system;
-    }
-
-
-    private void displayDataAlert(
-            DialogInterface.OnClickListener positiveOnClickListener,
-            DialogInterface.OnClickListener negativeOnClickListener) {
-        Log.i(TAG, "Displaying data alert for :" + mEngineInfo.name);
-
-        AlertDialog.Builder builder = new AlertDialog.Builder(getContext());
-        builder.setTitle(android.R.string.dialog_alert_title)
-                .setMessage(getContext().getString(
-                        R.string.tts_engine_security_warning, mEngineInfo.label))
-                .setCancelable(true)
-                .setPositiveButton(android.R.string.ok, positiveOnClickListener)
-                .setNegativeButton(android.R.string.cancel, negativeOnClickListener);
-
-        AlertDialog dialog = builder.create();
-        dialog.show();
-    }
-
-
-    private void onRadioButtonClicked(final CompoundButton buttonView,
-            boolean isChecked) {
-        if (mPreventRadioButtonCallbacks ||
-                (mSharedState.getCurrentChecked() == buttonView)) {
-            return;
-        }
-
-        if (isChecked) {
-            // Should we alert user? if that's true, delay making engine current one.
-            if (shouldDisplayDataAlert()) {
-                displayDataAlert(new DialogInterface.OnClickListener() {
-                    @Override
-                    public void onClick(DialogInterface dialog, int which) {
-                        makeCurrentEngine(buttonView);
-                    }
-                }, new DialogInterface.OnClickListener() {
-                    @Override
-                    public void onClick(DialogInterface dialog, int which) {
-                        // Undo the click.
-                        buttonView.setChecked(false);
-                    }
-                });
-            } else {
-                // Privileged engine, set it current
-                makeCurrentEngine(buttonView);
-            }
-        }
-    }
-
-    private void makeCurrentEngine(Checkable current) {
-        if (mSharedState.getCurrentChecked() != null) {
-            mSharedState.getCurrentChecked().setChecked(false);
-        }
-        mSharedState.setCurrentChecked(current);
-        mSharedState.setCurrentKey(getKey());
-        callChangeListener(mSharedState.getCurrentKey());
-    }
-
-
-    /**
-     * Holds all state that is common to this group of radio buttons, such
-     * as the currently selected key and the currently checked compound button.
-     * (which corresponds to this key).
-     */
-    public interface RadioButtonGroupState {
-        String getCurrentKey();
-
-        Checkable getCurrentChecked();
-
-        void setCurrentKey(String key);
-
-        void setCurrentChecked(Checkable current);
-    }
-
-}
diff --git a/src/com/android/settings/tts/TtsEnginePreferenceFragment.java b/src/com/android/settings/tts/TtsEnginePreferenceFragment.java
index 244e5b1..6a1b9bb 100644
--- a/src/com/android/settings/tts/TtsEnginePreferenceFragment.java
+++ b/src/com/android/settings/tts/TtsEnginePreferenceFragment.java
@@ -4,111 +4,41 @@
 
 import android.app.settings.SettingsEnums;
 import android.content.Context;
+import android.content.DialogInterface;
+import android.graphics.drawable.Drawable;
 import android.os.Bundle;
-import android.provider.SearchIndexableResource;
 import android.speech.tts.TextToSpeech;
 import android.speech.tts.TextToSpeech.EngineInfo;
 import android.speech.tts.TtsEngines;
 import android.util.Log;
-import android.widget.Checkable;
 
-import androidx.preference.PreferenceCategory;
+import androidx.appcompat.app.AlertDialog;
 
 import com.android.settings.R;
-import com.android.settings.SettingsPreferenceFragment;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
-import com.android.settings.tts.TtsEnginePreference.RadioButtonGroupState;
+import com.android.settings.widget.RadioButtonPickerFragment;
 import com.android.settingslib.search.SearchIndexable;
+import com.android.settingslib.widget.CandidateInfo;
 
-import java.util.Arrays;
+import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 @SearchIndexable
-public class TtsEnginePreferenceFragment extends SettingsPreferenceFragment
-        implements RadioButtonGroupState {
+public class TtsEnginePreferenceFragment extends RadioButtonPickerFragment {
     private static final String TAG = "TtsEnginePrefFragment";
 
-    private static final int VOICE_DATA_INTEGRITY_CHECK = 1977;
-
-    /** The currently selected engine. */
-    private String mCurrentEngine;
-
-    /**
-     * The engine checkbox that is currently checked. Saves us a bit of effort in deducing the right
-     * one from the currently selected engine.
-     */
-    private Checkable mCurrentChecked;
-
     /**
      * The previously selected TTS engine. Useful for rollbacks if the users choice is not loaded or
      * fails a voice integrity check.
      */
     private String mPreviousEngine;
 
-    private PreferenceCategory mEnginePreferenceCategory;
-
     private TextToSpeech mTts = null;
     private TtsEngines mEnginesHelper = null;
-
-    @Override
-    public void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        addPreferencesFromResource(R.xml.tts_engine_picker);
-
-        mEnginePreferenceCategory =
-                (PreferenceCategory) findPreference("tts_engine_preference_category");
-        mEnginesHelper = new TtsEngines(getActivity().getApplicationContext());
-
-        mTts = new TextToSpeech(getActivity().getApplicationContext(), null);
-
-        initSettings();
-    }
-
-    @Override
-    public int getMetricsCategory() {
-        return SettingsEnums.TTS_ENGINE_SETTINGS;
-    }
-
-    @Override
-    public void onDestroy() {
-        super.onDestroy();
-        if (mTts != null) {
-            mTts.shutdown();
-            mTts = null;
-        }
-    }
-
-    private void initSettings() {
-        if (mTts != null) {
-            mCurrentEngine = mTts.getCurrentEngine();
-        }
-
-        mEnginePreferenceCategory.removeAll();
-
-        List<EngineInfo> engines = mEnginesHelper.getEngines();
-        for (EngineInfo engine : engines) {
-            TtsEnginePreference enginePref =
-                    new TtsEnginePreference(getPrefContext(), engine, this);
-            mEnginePreferenceCategory.addPreference(enginePref);
-        }
-    }
-
-    @Override
-    public Checkable getCurrentChecked() {
-        return mCurrentChecked;
-    }
-
-    @Override
-    public String getCurrentKey() {
-        return mCurrentEngine;
-    }
-
-    @Override
-    public void setCurrentChecked(Checkable current) {
-        mCurrentChecked = current;
-    }
-
+    private Context mContext;
+    private Map<String, EngineCandidateInfo> mEngineMap;
     /**
      * The initialization listener used when the user changes his choice of engine (as opposed to
      * when then screen is being initialized for the first time).
@@ -121,6 +51,116 @@
                 }
             };
 
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        mContext = getContext().getApplicationContext();
+        mEnginesHelper = new TtsEngines(mContext);
+        mEngineMap = new HashMap<>();
+        mTts = new TextToSpeech(mContext, null);
+
+        super.onCreate(savedInstanceState);
+    }
+
+    @Override
+    public void onDestroy() {
+        super.onDestroy();
+        if (mTts != null) {
+            mTts.shutdown();
+            mTts = null;
+        }
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.TTS_ENGINE_SETTINGS;
+    }
+
+    /**
+     * Step 3: We have now bound to the TTS engine the user requested. We will attempt to check
+     * voice data for the engine if we successfully bound to it, or revert to the previous engine if
+     * we didn't.
+     */
+    public void onUpdateEngine(int status) {
+        if (status == TextToSpeech.SUCCESS) {
+            Log.d(TAG, "Updating engine: Successfully bound to the engine: "
+                    + mTts.getCurrentEngine());
+            android.provider.Settings.Secure.putString(
+                    mContext.getContentResolver(), TTS_DEFAULT_SYNTH, mTts.getCurrentEngine());
+        } else {
+            Log.d(TAG, "Updating engine: Failed to bind to engine, reverting.");
+            if (mPreviousEngine != null) {
+                // This is guaranteed to at least bind, since mPreviousEngine would be
+                // null if the previous bind to this engine failed.
+                mTts = new TextToSpeech(mContext, null, mPreviousEngine);
+                updateCheckedState(mPreviousEngine);
+            }
+            mPreviousEngine = null;
+        }
+    }
+
+    @Override
+    protected void onRadioButtonConfirmed(String selectedKey) {
+        final EngineCandidateInfo info = mEngineMap.get(selectedKey);
+        // Should we alert user? if that's true, delay making engine current one.
+        if (shouldDisplayDataAlert(info)) {
+            displayDataAlert(info, (dialog, which) -> {
+                setDefaultKey(selectedKey);
+            });
+        } else {
+            // Privileged engine, set it current
+            setDefaultKey(selectedKey);
+        }
+    }
+
+    @Override
+    protected List<? extends CandidateInfo> getCandidates() {
+        final List<EngineCandidateInfo> infos = new ArrayList<>();
+        final List<EngineInfo> engines = mEnginesHelper.getEngines();
+        for (EngineInfo engine : engines) {
+            final EngineCandidateInfo info = new EngineCandidateInfo(engine);
+            infos.add(info);
+            mEngineMap.put(engine.name, info);
+        }
+        return infos;
+    }
+
+    @Override
+    protected String getDefaultKey() {
+        return mEnginesHelper.getDefaultEngine();
+    }
+
+    @Override
+    protected boolean setDefaultKey(String key) {
+        updateDefaultEngine(key);
+        updateCheckedState(key);
+        return true;
+    }
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.tts_engine_picker;
+    }
+
+    private boolean shouldDisplayDataAlert(EngineCandidateInfo info) {
+        return !info.isSystem();
+    }
+
+    private void displayDataAlert(EngineCandidateInfo info,
+            DialogInterface.OnClickListener positiveOnClickListener) {
+        Log.i(TAG, "Displaying data alert for :" + info.getKey());
+
+        final AlertDialog dialog = new AlertDialog.Builder(getPrefContext())
+                .setTitle(android.R.string.dialog_alert_title)
+                .setMessage(mContext.getString(
+                        R.string.tts_engine_security_warning, info.loadLabel()))
+                .setCancelable(true)
+                .setPositiveButton(android.R.string.ok, positiveOnClickListener)
+                .setNegativeButton(android.R.string.cancel, null)
+                .create();
+
+        dialog.show();
+    }
+
     private void updateDefaultEngine(String engine) {
         Log.d(TAG, "Updating default synth to : " + engine);
 
@@ -146,51 +186,38 @@
         // Step 3 is continued on #onUpdateEngine (below) which is called when
         // the app binds successfully to the engine.
         Log.i(TAG, "Updating engine : Attempting to connect to engine: " + engine);
-        mTts = new TextToSpeech(getActivity().getApplicationContext(), mUpdateListener, engine);
+        mTts = new TextToSpeech(mContext, mUpdateListener, engine);
         Log.i(TAG, "Success");
     }
 
-    /**
-     * Step 3: We have now bound to the TTS engine the user requested. We will attempt to check
-     * voice data for the engine if we successfully bound to it, or revert to the previous engine if
-     * we didn't.
-     */
-    public void onUpdateEngine(int status) {
-        if (status == TextToSpeech.SUCCESS) {
-            Log.d(
+    public static class EngineCandidateInfo extends CandidateInfo {
+        private final EngineInfo mEngineInfo;
 
-                    TAG,
-                    "Updating engine: Successfully bound to the engine: "
-                            + mTts.getCurrentEngine());
-            android.provider.Settings.Secure.putString(
-                    getContentResolver(), TTS_DEFAULT_SYNTH, mTts.getCurrentEngine());
-        } else {
-            Log.d(TAG, "Updating engine: Failed to bind to engine, reverting.");
-            if (mPreviousEngine != null) {
-                // This is guaranteed to at least bind, since mPreviousEngine would be
-                // null if the previous bind to this engine failed.
-                mTts =
-                        new TextToSpeech(
-                                getActivity().getApplicationContext(), null, mPreviousEngine);
-            }
-            mPreviousEngine = null;
+        EngineCandidateInfo(EngineInfo engineInfo) {
+            super(true /* enabled */);
+            mEngineInfo = engineInfo;
+        }
+
+        @Override
+        public CharSequence loadLabel() {
+            return mEngineInfo.label;
+        }
+
+        @Override
+        public Drawable loadIcon() {
+            return null;
+        }
+
+        @Override
+        public String getKey() {
+            return mEngineInfo.name;
+        }
+
+        public boolean isSystem() {
+            return mEngineInfo.system;
         }
     }
 
-    @Override
-    public void setCurrentKey(String key) {
-        mCurrentEngine = key;
-        updateDefaultEngine(mCurrentEngine);
-    }
-
-    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(
-                        Context context, boolean enabled) {
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.tts_engine_picker;
-                    return Arrays.asList(sir);
-                }
-            };
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.tts_engine_picker);
 }
diff --git a/src/com/android/settings/users/AddUserWhenLockedPreferenceController.java b/src/com/android/settings/users/AddUserWhenLockedPreferenceController.java
index f931fa4..df2f54e 100644
--- a/src/com/android/settings/users/AddUserWhenLockedPreferenceController.java
+++ b/src/com/android/settings/users/AddUserWhenLockedPreferenceController.java
@@ -16,20 +16,24 @@
 package com.android.settings.users;
 
 import android.content.Context;
+import android.os.UserHandle;
 import android.provider.Settings;
 
 import androidx.preference.Preference;
 
+import com.android.internal.widget.LockPatternUtils;
 import com.android.settings.core.TogglePreferenceController;
 import com.android.settingslib.RestrictedSwitchPreference;
 
 public class AddUserWhenLockedPreferenceController extends TogglePreferenceController {
 
     private final UserCapabilities mUserCaps;
+    private final LockPatternUtils mLockPatternUtils;
 
     public AddUserWhenLockedPreferenceController(Context context, String key) {
         super(context, key);
         mUserCaps = UserCapabilities.create(context);
+        mLockPatternUtils = new LockPatternUtils(context);
     }
 
     @Override
@@ -53,6 +57,8 @@
             return DISABLED_FOR_USER;
         } else if (mUserCaps.disallowAddUser() || mUserCaps.disallowAddUserSetByAdmin()) {
             return DISABLED_FOR_USER;
+        } else if (!mLockPatternUtils.isSecure(UserHandle.myUserId())) {
+            return CONDITIONALLY_UNAVAILABLE;
         } else {
             return mUserCaps.mUserSwitcherEnabled ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
         }
diff --git a/src/com/android/settings/users/EditUserInfoController.java b/src/com/android/settings/users/EditUserInfoController.java
index 4d9244a..373d6a9 100644
--- a/src/com/android/settings/users/EditUserInfoController.java
+++ b/src/com/android/settings/users/EditUserInfoController.java
@@ -20,10 +20,8 @@
 import android.app.Dialog;
 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.AsyncTask;
 import android.os.Bundle;
 import android.os.UserHandle;
 import android.os.UserManager;
@@ -39,7 +37,6 @@
 import androidx.fragment.app.Fragment;
 
 import com.android.settings.R;
-import com.android.settingslib.Utils;
 import com.android.settingslib.drawable.CircleFramedDrawable;
 
 import java.io.File;
@@ -59,9 +56,24 @@
     private UserManager mUserManager;
     private boolean mWaitingForActivityResult = false;
 
+    /**
+     * Callback made when either the username text or photo choice changes.
+     */
     public interface OnContentChangedCallback {
-        public void onPhotoChanged(Drawable photo);
-        public void onLabelChanged(CharSequence label);
+        /** 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() {
@@ -111,7 +123,8 @@
 
     public Dialog createDialog(final Fragment fragment, final Drawable currentUserIcon,
             final CharSequence currentUserName,
-            int titleResId, final OnContentChangedCallback callback, UserHandle user) {
+            String title, final OnContentChangedCallback callback, UserHandle user,
+            OnDialogCompleteCallback completeCallback) {
         Activity activity = fragment.getActivity();
         mUser = user;
         if (mUserManager == null) {
@@ -120,10 +133,8 @@
         LayoutInflater inflater = activity.getLayoutInflater();
         View content = inflater.inflate(R.layout.edit_user_info_dialog_content, null);
 
-        UserInfo info = mUserManager.getUserInfo(mUser.getIdentifier());
-
         final EditText userNameView = (EditText) content.findViewById(R.id.user_name);
-        userNameView.setText(info.name);
+        userNameView.setText(currentUserName);
 
         final ImageView userPhotoView = (ImageView) content.findViewById(R.id.user_photo);
         Drawable drawable = null;
@@ -131,14 +142,11 @@
             drawable = CircleFramedDrawable.getInstance(activity, mSavedPhoto);
         } else {
             drawable = currentUserIcon;
-            if (drawable == null) {
-                drawable = Utils.getUserIcon(activity, mUserManager, info);
-            }
         }
         userPhotoView.setImageDrawable(drawable);
         mEditUserPhotoController = createEditUserPhotoController(fragment, userPhotoView, drawable);
         mEditUserInfoDialog = new AlertDialog.Builder(activity)
-                .setTitle(R.string.profile_info_settings_title)
+                .setTitle(title)
                 .setView(content)
                 .setCancelable(true)
                 .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
@@ -149,41 +157,45 @@
                             CharSequence userName = userNameView.getText();
                             if (!TextUtils.isEmpty(userName)) {
                                 if (currentUserName == null
-                                        || !userName.toString().equals(currentUserName.toString())) {
+                                        || !userName.toString().equals(
+                                                currentUserName.toString())) {
                                     if (callback != null) {
-                                        callback.onLabelChanged(userName.toString());
+                                        callback.onLabelChanged(mUser, userName.toString());
                                     }
-                                    mUserManager.setUserName(mUser.getIdentifier(),
-                                            userName.toString());
                                 }
                             }
                             // Update the photo if changed.
                             Drawable drawable = mEditUserPhotoController.getNewUserPhotoDrawable();
-                            Bitmap bitmap = mEditUserPhotoController.getNewUserPhotoBitmap();
-                            if (drawable != null && bitmap != null
-                                    && !drawable.equals(currentUserIcon)) {
+                            if (drawable != null && !drawable.equals(currentUserIcon)) {
                                 if (callback != null) {
-                                    callback.onPhotoChanged(drawable);
+                                        callback.onPhotoChanged(mUser, drawable);
                                 }
-                                new AsyncTask<Void, Void, Void>() {
-                                    @Override
-                                    protected Void doInBackground(Void... params) {
-                                        mUserManager.setUserIcon(mUser.getIdentifier(),
-                                                mEditUserPhotoController.getNewUserPhotoBitmap());
-                                        return null;
-                                    }
-                                }.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, (Void[]) null);
                             }
                             fragment.getActivity().removeDialog(
                                     RestrictedProfileSettings.DIALOG_ID_EDIT_USER_INFO);
                         }
                         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();
diff --git a/src/com/android/settings/users/MultiUserFooterPreferenceController.java b/src/com/android/settings/users/MultiUserFooterPreferenceController.java
index 1573bbd..03ed6ce 100644
--- a/src/com/android/settings/users/MultiUserFooterPreferenceController.java
+++ b/src/com/android/settings/users/MultiUserFooterPreferenceController.java
@@ -21,29 +21,18 @@
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 
-import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
-import com.android.settingslib.widget.FooterPreference;
-import com.android.settingslib.widget.FooterPreferenceMixinCompat;
 
 public class MultiUserFooterPreferenceController extends BasePreferenceController {
 
     @VisibleForTesting
     final UserCapabilities mUserCaps;
 
-    private FooterPreferenceMixinCompat mFooterMixin;
-
-    public MultiUserFooterPreferenceController(Context context) {
-        super(context, "dummy_key");
+    public MultiUserFooterPreferenceController(Context context, String key) {
+        super(context, key);
         mUserCaps = UserCapabilities.create(context);
     }
 
-    public MultiUserFooterPreferenceController setFooterMixin(
-            FooterPreferenceMixinCompat footerMixin) {
-        mFooterMixin = footerMixin;
-        return this;
-    }
-
     @Override
     public int getAvailabilityStatus() {
         return (mUserCaps.mEnabled && !mUserCaps.mUserSwitcherEnabled)
@@ -54,8 +43,6 @@
     @Override
     public void updateState(Preference preference) {
         mUserCaps.updateAddUserCapabilities(mContext);
-        final FooterPreference pref = mFooterMixin.createFooterPreference();
-        pref.setTitle(R.string.user_settings_footer_text);
-        pref.setVisible(isAvailable());
+        preference.setVisible(isAvailable());
     }
 }
diff --git a/src/com/android/settings/users/OWNERS b/src/com/android/settings/users/OWNERS
deleted file mode 100644
index 59096be..0000000
--- a/src/com/android/settings/users/OWNERS
+++ /dev/null
@@ -1,6 +0,0 @@
-# Default reviewers for this and subdirectories.
-dling@google.com
-yamasani@google.com
-zhfan@google.com
-
-# Emergency approvers in case the above are not available
\ No newline at end of file
diff --git a/src/com/android/settings/users/RestrictedProfileSettings.java b/src/com/android/settings/users/RestrictedProfileSettings.java
index b00ee83..57c0d02 100644
--- a/src/com/android/settings/users/RestrictedProfileSettings.java
+++ b/src/com/android/settings/users/RestrictedProfileSettings.java
@@ -23,12 +23,15 @@
 import android.content.pm.UserInfo;
 import android.graphics.drawable.Drawable;
 import android.os.Bundle;
+import android.os.UserHandle;
 import android.view.View;
 import android.widget.ImageView;
 import android.widget.TextView;
 
+import com.android.internal.util.UserIcons;
 import com.android.settings.R;
 import com.android.settings.Utils;
+import com.android.settingslib.utils.ThreadUtils;
 
 public class RestrictedProfileSettings extends AppRestrictionsFragment
         implements EditUserInfoController.OnContentChangedCallback {
@@ -117,8 +120,8 @@
     public Dialog onCreateDialog(int dialogId) {
         if (dialogId == DIALOG_ID_EDIT_USER_INFO) {
             return mEditUserInfoController.createDialog(this, mUserIconView.getDrawable(),
-                    mUserNameView.getText(), R.string.profile_info_settings_title,
-                    this, mUser);
+                    mUserNameView.getText(), getString(R.string.profile_info_settings_title),
+                    this, mUser, null);
         } else if (dialogId == DIALOG_CONFIRM_REMOVE) {
             Dialog dlg =
                     UserDialogs.createRemoveDialog(getActivity(), mUser.getIdentifier(),
@@ -156,12 +159,19 @@
     }
 
     @Override
-    public void onPhotoChanged(Drawable photo) {
+    public void onPhotoChanged(UserHandle user, Drawable photo) {
         mUserIconView.setImageDrawable(photo);
+        ThreadUtils.postOnBackgroundThread(new Runnable() {
+            @Override
+            public void run() {
+                mUserManager.setUserIcon(user.getIdentifier(), UserIcons.convertToBitmap(photo));
+            }
+        });
     }
 
     @Override
-    public void onLabelChanged(CharSequence label) {
+    public void onLabelChanged(UserHandle user, CharSequence label) {
         mUserNameView.setText(label);
+        mUserManager.setUserName(user.getIdentifier(), label.toString());
     }
 }
diff --git a/src/com/android/settings/users/UserSettings.java b/src/com/android/settings/users/UserSettings.java
index 74e6714..6397af8 100644
--- a/src/com/android/settings/users/UserSettings.java
+++ b/src/com/android/settings/users/UserSettings.java
@@ -16,6 +16,8 @@
 
 package com.android.settings.users;
 
+import static android.os.Process.myUserHandle;
+
 import android.app.Activity;
 import android.app.ActivityManager;
 import android.app.Dialog;
@@ -41,7 +43,6 @@
 import android.os.UserHandle;
 import android.os.UserManager;
 import android.provider.ContactsContract;
-import android.provider.SearchIndexableResource;
 import android.util.Log;
 import android.util.SparseArray;
 import android.view.Menu;
@@ -64,10 +65,8 @@
 import com.android.settings.SettingsPreferenceFragment;
 import com.android.settings.Utils;
 import com.android.settings.core.SubSettingLauncher;
-import com.android.settings.dashboard.SummaryLoader;
 import com.android.settings.password.ChooseLockGeneric;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
 import com.android.settings.widget.SwitchBar;
 import com.android.settings.widget.SwitchBarController;
 import com.android.settingslib.RestrictedLockUtils;
@@ -76,6 +75,9 @@
 import com.android.settingslib.RestrictedPreference;
 import com.android.settingslib.drawable.CircleFramedDrawable;
 import com.android.settingslib.search.SearchIndexable;
+import com.android.settingslib.utils.ThreadUtils;
+
+import com.google.android.setupcompat.util.WizardManagerHelper;
 
 import java.io.IOException;
 import java.io.InputStream;
@@ -83,6 +85,7 @@
 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.
@@ -96,8 +99,7 @@
 public class UserSettings extends SettingsPreferenceFragment
         implements Preference.OnPreferenceClickListener, View.OnClickListener,
         MultiUserSwitchBarController.OnMultiUserSwitchChangedListener,
-        DialogInterface.OnDismissListener,
-        EditUserInfoController.OnContentChangedCallback {
+        DialogInterface.OnDismissListener {
 
     private static final String TAG = "UserSettings";
 
@@ -111,6 +113,7 @@
     private static final String KEY_USER_GUEST = "user_guest";
     private static final String KEY_ADD_USER = "user_add";
     private static final String KEY_ADD_USER_WHEN_LOCKED = "user_settings_add_users_when_locked";
+    private static final String KEY_MULTIUSER_FOOTER = "multiuser_footer";
 
     private static final int MENU_REMOVE_USER = Menu.FIRST;
 
@@ -125,6 +128,8 @@
     private static final int DIALOG_NEED_LOCKSCREEN = 7;
     private static final int DIALOG_CONFIRM_EXIT_GUEST = 8;
     private static final int DIALOG_USER_PROFILE_EDITOR = 9;
+    private static final int DIALOG_USER_PROFILE_EDITOR_ADD_USER = 10;
+    private static final int DIALOG_USER_PROFILE_EDITOR_ADD_RESTRICTED_PROFILE = 11;
 
     private static final int MESSAGE_UPDATE_LIST = 1;
     private static final int MESSAGE_SETUP_USER = 2;
@@ -168,6 +173,9 @@
     private AddUserWhenLockedPreferenceController mAddUserWhenLockedPreferenceController;
     private MultiUserFooterPreferenceController mMultiUserFooterPreferenceController;
 
+    private CharSequence mPendingUserName;
+    private Drawable mPendingUserIcon;
+
     // A place to cache the generated default avatar
     private Drawable mDefaultIconDrawable;
 
@@ -226,15 +234,16 @@
         super.onCreate(icicle);
         addPreferencesFromResource(R.xml.user_settings);
         final Activity activity = getActivity();
-        if (!Utils.isDeviceProvisioned(activity)) {
+        if (!WizardManagerHelper.isDeviceProvisioned(activity)) {
             activity.finish();
             return;
         }
 
         mAddUserWhenLockedPreferenceController = new AddUserWhenLockedPreferenceController(
                 activity, KEY_ADD_USER_WHEN_LOCKED);
-        mMultiUserFooterPreferenceController = new MultiUserFooterPreferenceController(activity)
-                .setFooterMixin(mFooterPreferenceMixin);
+
+        mMultiUserFooterPreferenceController = new MultiUserFooterPreferenceController(activity,
+                KEY_MULTIUSER_FOOTER);
 
         final PreferenceScreen screen = getPreferenceScreen();
         mAddUserWhenLockedPreferenceController.displayPreference(screen);
@@ -447,7 +456,7 @@
                         break;
                     case USER_TYPE_RESTRICTED_PROFILE:
                         if (hasLockscreenSecurity()) {
-                            addUserNow(USER_TYPE_RESTRICTED_PROFILE);
+                            showDialog(DIALOG_USER_PROFILE_EDITOR_ADD_RESTRICTED_PROFILE);
                         } else {
                             showDialog(DIALOG_NEED_LOCKSCREEN);
                         }
@@ -466,22 +475,6 @@
         }
     }
 
-    private UserInfo createRestrictedProfile() {
-        UserInfo newUserInfo = mUserManager.createRestrictedProfile(mAddingUserName);
-        if (newUserInfo != null && !assignDefaultPhoto(getActivity(), newUserInfo.id)) {
-            return null;
-        }
-        return newUserInfo;
-    }
-
-    private UserInfo createTrustedUser() {
-        UserInfo newUserInfo = mUserManager.createUser(mAddingUserName, 0);
-        if (newUserInfo != null && !assignDefaultPhoto(getActivity(), newUserInfo.id)) {
-            return null;
-        }
-        return newUserInfo;
-    }
-
     private void onManageUserClicked(int userId, boolean newUser) {
         mAddingUser = false;
         if (userId == UserPreference.USERID_GUEST_DEFAULTS) {
@@ -571,15 +564,13 @@
                 final int messageResId = longMessageDisplayed
                         ? R.string.user_add_user_message_short
                         : R.string.user_add_user_message_long;
-                final int userType = dialogId == DIALOG_ADD_USER
-                        ? USER_TYPE_USER : USER_TYPE_RESTRICTED_PROFILE;
                 Dialog dlg = new AlertDialog.Builder(context)
                         .setTitle(R.string.user_add_user_title)
                         .setMessage(messageResId)
                         .setPositiveButton(android.R.string.ok,
                                 new DialogInterface.OnClickListener() {
                                     public void onClick(DialogInterface dialog, int which) {
-                                        addUserNow(userType);
+                                        showDialog(DIALOG_USER_PROFILE_EDITOR_ADD_USER);
                                         if (!longMessageDisplayed) {
                                             preferences.edit().putBoolean(
                                                     KEY_ADD_USER_LONG_MESSAGE_DISPLAYED,
@@ -675,20 +666,96 @@
                 return dlg;
             }
             case DIALOG_USER_PROFILE_EDITOR: {
-                Dialog dlg = mEditUserInfoController.createDialog(
+                UserHandle user = myUserHandle();
+                UserInfo info = mUserManager.getUserInfo(user.getIdentifier());
+                return mEditUserInfoController.createDialog(
                         this,
-                        null,
-                        mMePreference.getTitle(),
-                        R.string.profile_info_settings_title,
-                        this /* callback */,
-                        android.os.Process.myUserHandle());
-                return dlg;
+                        Utils.getUserIcon(getPrefContext(), mUserManager, info),
+                        info.name,
+                        getString(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);
+            }
+            case DIALOG_USER_PROFILE_EDITOR_ADD_USER: {
+                synchronized (mUserLock) {
+                    mPendingUserIcon = UserIcons.getDefaultUserIcon(getPrefContext().getResources(),
+                            new Random(System.currentTimeMillis()).nextInt(8), false);
+                    mPendingUserName = getString(R.string.user_new_user_name);
+                }
+                return buildAddUserProfileEditorDialog(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(R.string.user_new_profile_name);
+                }
+                return buildAddUserProfileEditorDialog(USER_TYPE_RESTRICTED_PROFILE);
             }
             default:
                 return null;
         }
     }
 
+    private Dialog buildAddUserProfileEditorDialog(int userType) {
+        Dialog d;
+        synchronized (mUserLock) {
+            d = mEditUserInfoController.createDialog(
+                    this,
+                    mPendingUserIcon,
+                    mPendingUserName,
+                    getString(userType == USER_TYPE_USER
+                            ? R.string.user_info_settings_title
+                            : 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;
+                        }
+                    },
+                    myUserHandle(),
+                    new EditUserInfoController.OnDialogCompleteCallback() {
+                        @Override
+                        public void onPositive() {
+                            addUserNow(userType);
+                        }
+
+                        @Override
+                        public void onNegativeOrCancel() {
+                            synchronized (mUserLock) {
+                                mPendingUserIcon = null;
+                                mPendingUserName = null;
+                            }
+                        }
+                    });
+        }
+        return d;
+    }
+
     @Override
     public int getDialogMetricsCategory(int dialogId) {
         switch (dialogId) {
@@ -709,6 +776,8 @@
             case DIALOG_CONFIRM_EXIT_GUEST:
                 return SettingsEnums.DIALOG_USER_CONFIRM_EXIT_GUEST;
             case DIALOG_USER_PROFILE_EDITOR:
+            case DIALOG_USER_PROFILE_EDITOR_ADD_USER:
+            case DIALOG_USER_PROFILE_EDITOR_ADD_RESTRICTED_PROFILE:
                 return SettingsEnums.DIALOG_USER_EDIT_PROFILE;
             default:
                 return 0;
@@ -719,14 +788,15 @@
         if (mRemovingUserId == UserHandle.myUserId()) {
             removeThisUser();
         } else {
-            new Thread() {
+            ThreadUtils.postOnBackgroundThread(new Runnable() {
+                @Override
                 public void run() {
                     synchronized (mUserLock) {
                         mUserManager.removeUser(mRemovingUserId);
                         mHandler.sendEmptyMessage(MESSAGE_UPDATE_LIST);
                     }
                 }
-            }.start();
+            });
         }
     }
 
@@ -746,39 +816,59 @@
     private void addUserNow(final int userType) {
         synchronized (mUserLock) {
             mAddingUser = true;
-            mAddingUserName = userType == USER_TYPE_USER ? getString(R.string.user_new_user_name)
-                    : getString(R.string.user_new_profile_name);
-            //updateUserList();
-            new Thread() {
-                public void run() {
-                    UserInfo user;
-                    // Could take a few seconds
-                    if (userType == USER_TYPE_USER) {
-                        user = createTrustedUser();
-                    } else {
-                        user = createRestrictedProfile();
-                    }
+            mAddingUserName = userType == USER_TYPE_USER
+                    ? (mPendingUserName != null ? mPendingUserName.toString()
+                    : getString(R.string.user_new_user_name))
+                    : (mPendingUserName != null ? mPendingUserName.toString()
+                            : getString(R.string.user_new_profile_name));
+        }
+        ThreadUtils.postOnBackgroundThread(new Runnable() {
+            @Override
+            public void run() {
+                UserInfo user;
+                String username;
+
+                synchronized (mUserLock) {
+                    username = mAddingUserName;
+                }
+
+                // Could take a few seconds
+                if (userType == USER_TYPE_USER) {
+                    user = mUserManager.createUser(username, 0);
+                } else {
+                    user = mUserManager.createRestrictedProfile(username);
+                }
+
+                synchronized (mUserLock) {
                     if (user == null) {
                         mAddingUser = false;
+                        mPendingUserIcon = null;
+                        mPendingUserName = null;
                         return;
                     }
-                    synchronized (mUserLock) {
-                        if (userType == USER_TYPE_USER) {
-                            mHandler.sendEmptyMessage(MESSAGE_UPDATE_LIST);
-                            // Skip setting up user which results in user switching when the
-                            // restriction is set.
-                            if (!mUserCaps.mDisallowSwitchUser) {
-                                mHandler.sendMessage(mHandler.obtainMessage(
-                                        MESSAGE_SETUP_USER, user.id, user.serialNumber));
-                            }
-                        } else {
-                            mHandler.sendMessage(mHandler.obtainMessage(
-                                    MESSAGE_CONFIG_USER, user.id, user.serialNumber));
-                        }
+
+                    if (mPendingUserIcon != null) {
+                        mUserManager.setUserIcon(user.id,
+                                UserIcons.convertToBitmap(mPendingUserIcon));
                     }
+
+                    if (userType == USER_TYPE_USER) {
+                        mHandler.sendEmptyMessage(MESSAGE_UPDATE_LIST);
+                        // Skip setting up user which results in user switching when the
+                        // restriction is set.
+                        if (!mUserCaps.mDisallowSwitchUser) {
+                            mHandler.sendMessage(mHandler.obtainMessage(
+                                    MESSAGE_SETUP_USER, user.id, user.serialNumber));
+                        }
+                    } else {
+                        mHandler.sendMessage(mHandler.obtainMessage(
+                                MESSAGE_CONFIG_USER, user.id, user.serialNumber));
+                    }
+                    mPendingUserIcon = null;
+                    mPendingUserName = null;
                 }
-            }.start();
-        }
+            }
+        });
     }
 
     private void switchUserNow(int userId) {
@@ -958,7 +1048,10 @@
         final Preference addUserOnLockScreen = getPreferenceScreen().findPreference(
                 mAddUserWhenLockedPreferenceController.getPreferenceKey());
         mAddUserWhenLockedPreferenceController.updateState(addUserOnLockScreen);
-        mMultiUserFooterPreferenceController.updateState(null /* preference */);
+
+        final Preference multiUserFooterPrefence = getPreferenceScreen().findPreference(
+                mMultiUserFooterPreferenceController.getPreferenceKey());
+        mMultiUserFooterPreferenceController.updateState(multiUserFooterPrefence);
         mUserListCategory.setVisible(mUserCaps.mUserSwitcherEnabled);
 
         updateAddUser(context);
@@ -976,7 +1069,8 @@
 
     private void updateAddUser(Context context) {
         if ((mUserCaps.mCanAddUser || mUserCaps.mDisallowAddUserSetByAdmin)
-                && Utils.isDeviceProvisioned(context) && mUserCaps.mUserSwitcherEnabled) {
+                && WizardManagerHelper.isDeviceProvisioned(context)
+                && mUserCaps.mUserSwitcherEnabled) {
             mAddUser.setVisible(true);
             final boolean moreUsers = mUserManager.canAddMoreUsers();
             mAddUser.setEnabled(moreUsers && !mAddingUser && mUserManager.canSwitchUsers());
@@ -1090,21 +1184,18 @@
     public void onClick(View v) {
         if (v.getTag() instanceof UserPreference) {
             int userId = ((UserPreference) v.getTag()).getUserId();
-            switch (v.getId()) {
-                case UserPreference.DELETE_ID:
-                    final EnforcedAdmin removeDisallowedAdmin =
-                            RestrictedLockUtilsInternal.checkIfRestrictionEnforced(getContext(),
-                                    UserManager.DISALLOW_REMOVE_USER, UserHandle.myUserId());
-                    if (removeDisallowedAdmin != null) {
-                        RestrictedLockUtils.sendShowAdminSupportDetailsIntent(getContext(),
-                                removeDisallowedAdmin);
-                    } else {
-                        onRemoveUserClicked(userId);
-                    }
-                    break;
-                case UserPreference.SETTINGS_ID:
-                    onManageUserClicked(userId, false);
-                    break;
+            if (v.getId() == UserPreference.DELETE_ID) {
+                final EnforcedAdmin removeDisallowedAdmin =
+                        RestrictedLockUtilsInternal.checkIfRestrictionEnforced(getContext(),
+                                UserManager.DISALLOW_REMOVE_USER, UserHandle.myUserId());
+                if (removeDisallowedAdmin != null) {
+                    RestrictedLockUtils.sendShowAdminSupportDetailsIntent(getContext(),
+                            removeDisallowedAdmin);
+                } else {
+                    onRemoveUserClicked(userId);
+                }
+            } else if (v.getId() == UserPreference.SETTINGS_ID) {
+                onManageUserClicked(userId, false);
             }
         }
     }
@@ -1122,16 +1213,6 @@
         return R.string.help_url_users;
     }
 
-    @Override
-    public void onPhotoChanged(Drawable photo) {
-        mMePreference.setIcon(photo);
-    }
-
-    @Override
-    public void onLabelChanged(CharSequence label) {
-        mMePreference.setTitle(label);
-    }
-
     /**
      * Returns a default user icon (as a {@link Bitmap}) for the given user.
      *
@@ -1196,32 +1277,8 @@
         }
     }
 
-    private static class SummaryProvider implements SummaryLoader.SummaryProvider {
-
-        private final Context mContext;
-        private final SummaryLoader mSummaryLoader;
-
-        public SummaryProvider(Context context, SummaryLoader summaryLoader) {
-            mContext = context;
-            mSummaryLoader = summaryLoader;
-        }
-
-        @Override
-        public void setListening(boolean listening) {
-            if (listening) {
-                UserInfo info = mContext.getSystemService(UserManager.class).getUserInfo(
-                        UserHandle.myUserId());
-                mSummaryLoader.setSummary(this, mContext.getString(R.string.users_summary,
-                        info.name));
-            }
-        }
-    }
-
-    public static final SummaryLoader.SummaryProviderFactory SUMMARY_PROVIDER_FACTORY =
-            (activity, summaryLoader) -> new SummaryProvider(activity, summaryLoader);
-
-    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.user_settings) {
 
                 @Override
                 protected boolean isPageSearchEnabled(Context context) {
@@ -1230,23 +1287,14 @@
                 }
 
                 @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
-                        boolean enabled) {
-                    final List<SearchIndexableResource> index = new ArrayList<>();
-                    // Append the rest of the settings
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.user_settings;
-                    index.add(sir);
-                    return index;
-                }
-
-                @Override
                 public List<String> getNonIndexableKeysFromXml(Context context, int xmlResId,
                         boolean suppressAllPage) {
                     final List<String> niks = super.getNonIndexableKeysFromXml(context, xmlResId,
                             suppressAllPage);
-                    new AddUserWhenLockedPreferenceController(context, KEY_ADD_USER_WHEN_LOCKED)
-                            .updateNonIndexableKeys(niks);
+                    AddUserWhenLockedPreferenceController controller =
+                            new AddUserWhenLockedPreferenceController(
+                                    context, KEY_ADD_USER_WHEN_LOCKED);
+                    controller.updateNonIndexableKeys(niks);
                     new AutoSyncDataPreferenceController(context, null /* parent */)
                             .updateNonIndexableKeys(niks);
                     new AutoSyncPersonalDataPreferenceController(context, null /* parent */)
diff --git a/src/com/android/settings/utils/AnnotationSpan.java b/src/com/android/settings/utils/AnnotationSpan.java
index e6457da..1b8179d 100644
--- a/src/com/android/settings/utils/AnnotationSpan.java
+++ b/src/com/android/settings/utils/AnnotationSpan.java
@@ -50,7 +50,7 @@
     @Override
     public void updateDrawState(TextPaint ds) {
         super.updateDrawState(ds);
-        ds.setUnderlineText(false);
+        ds.setUnderlineText(true);
     }
 
     public static CharSequence linkify(CharSequence rawText, LinkInfo... linkInfos) {
diff --git a/src/com/android/settings/utils/ManagedServiceSettings.java b/src/com/android/settings/utils/ManagedServiceSettings.java
index 3ec63c3..86db455 100644
--- a/src/com/android/settings/utils/ManagedServiceSettings.java
+++ b/src/com/android/settings/utils/ManagedServiceSettings.java
@@ -17,7 +17,6 @@
 package com.android.settings.utils;
 
 import android.annotation.Nullable;
-import android.app.ActivityManager;
 import android.app.Dialog;
 import android.app.admin.DevicePolicyManager;
 import android.app.settings.SettingsEnums;
@@ -91,12 +90,8 @@
     @Override
     public void onResume() {
         super.onResume();
-        if (!ActivityManager.isLowRamDeviceStatic()) {
-            mServiceListing.reload();
-            mServiceListing.setListening(true);
-        } else {
-            setEmptyText(R.string.disabled_low_ram_device);
-        }
+        mServiceListing.reload();
+        mServiceListing.setListening(true);
     }
 
     @Override
diff --git a/src/com/android/settings/vpn2/AppDialogFragment.java b/src/com/android/settings/vpn2/AppDialogFragment.java
index 2f9cd7a..ea9e546 100644
--- a/src/com/android/settings/vpn2/AppDialogFragment.java
+++ b/src/com/android/settings/vpn2/AppDialogFragment.java
@@ -22,6 +22,7 @@
 import android.content.DialogInterface;
 import android.content.pm.PackageInfo;
 import android.net.IConnectivityManager;
+import android.net.VpnManager;
 import android.os.Bundle;
 import android.os.RemoteException;
 import android.os.ServiceManager;
@@ -145,7 +146,8 @@
         }
         final int userId = getUserId();
         try {
-            mService.setVpnPackageAuthorization(mPackageInfo.packageName, userId, false);
+            mService.setVpnPackageAuthorization(
+                    mPackageInfo.packageName, userId, VpnManager.TYPE_VPN_NONE);
             onDisconnect(dialog);
         } catch (RemoteException e) {
             Log.e(TAG, "Failed to forget authorization of " + mPackageInfo.packageName +
diff --git a/src/com/android/settings/vpn2/AppManagementFragment.java b/src/com/android/settings/vpn2/AppManagementFragment.java
index 5f46446..8280a3d 100644
--- a/src/com/android/settings/vpn2/AppManagementFragment.java
+++ b/src/com/android/settings/vpn2/AppManagementFragment.java
@@ -15,11 +15,13 @@
  */
 package com.android.settings.vpn2;
 
+import static android.app.AppOpsManager.OP_ACTIVATE_PLATFORM_VPN;
 import static android.app.AppOpsManager.OP_ACTIVATE_VPN;
 
 import android.annotation.NonNull;
 import android.app.AppOpsManager;
 import android.app.Dialog;
+import android.app.admin.DevicePolicyManager;
 import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.content.pm.ApplicationInfo;
@@ -47,6 +49,8 @@
 import com.android.settings.SettingsPreferenceFragment;
 import com.android.settings.core.SubSettingLauncher;
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
+import com.android.settingslib.RestrictedLockUtils;
+import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
 import com.android.settingslib.RestrictedPreference;
 import com.android.settingslib.RestrictedSwitchPreference;
 
@@ -66,6 +70,7 @@
     private static final String KEY_FORGET_VPN = "forget_vpn";
 
     private PackageManager mPackageManager;
+    private DevicePolicyManager mDevicePolicyManager;
     private ConnectivityManager mConnectivityManager;
     private IConnectivityManager mConnectivityService;
 
@@ -118,6 +123,7 @@
         addPreferencesFromResource(R.xml.vpn_app_management);
 
         mPackageManager = getContext().getPackageManager();
+        mDevicePolicyManager = getContext().getSystemService(DevicePolicyManager.class);
         mConnectivityManager = getContext().getSystemService(ConnectivityManager.class);
         mConnectivityService = IConnectivityManager.Stub
                 .asInterface(ServiceManager.getService(Context.CONNECTIVITY_SERVICE));
@@ -249,6 +255,15 @@
             mPreferenceForget.checkRestrictionAndSetDisabled(UserManager.DISALLOW_CONFIG_VPN,
                     mUserId);
 
+            if (mPackageName.equals(mDevicePolicyManager.getAlwaysOnVpnPackage())) {
+                EnforcedAdmin admin = RestrictedLockUtils.getProfileOrDeviceOwner(
+                        getContext(), UserHandle.of(mUserId));
+                mPreferenceAlwaysOn.setDisabledByAdmin(admin);
+                mPreferenceForget.setDisabledByAdmin(admin);
+                if (mDevicePolicyManager.isAlwaysOnVpnLockdownEnabled()) {
+                    mPreferenceLockdown.setDisabledByAdmin(admin);
+                }
+            }
             if (mConnectivityManager.isAlwaysOnVpnPackageSupportedForUser(mUserId, mPackageName)) {
                 // setSummary doesn't override the admin message when user restriction is applied
                 mPreferenceAlwaysOn.setSummary(R.string.vpn_always_on_summary);
@@ -312,7 +327,7 @@
         final AppOpsManager service =
                 (AppOpsManager) context.getSystemService(Context.APP_OPS_SERVICE);
         final List<AppOpsManager.PackageOps> ops = service.getOpsForPackage(application.uid,
-                application.packageName, new int[]{OP_ACTIVATE_VPN});
+                application.packageName, new int[]{OP_ACTIVATE_VPN, OP_ACTIVATE_PLATFORM_VPN});
         return !ArrayUtils.isEmpty(ops);
     }
 
diff --git a/src/com/android/settings/vpn2/ConfigDialog.java b/src/com/android/settings/vpn2/ConfigDialog.java
index 9f2176c..a0aac19 100644
--- a/src/com/android/settings/vpn2/ConfigDialog.java
+++ b/src/com/android/settings/vpn2/ConfigDialog.java
@@ -16,6 +16,8 @@
 
 package com.android.settings.vpn2;
 
+import static com.android.internal.net.VpnProfile.isLegacyType;
+
 import android.content.Context;
 import android.content.DialogInterface;
 import android.net.Proxy;
@@ -191,12 +193,7 @@
             // Hide 'save login' when we are editing.
             mSaveLogin.setVisibility(View.GONE);
 
-            // Switch to advanced view immediately if any advanced options are on
-            if (!mProfile.searchDomains.isEmpty() || !mProfile.dnsServers.isEmpty() ||
-                    !mProfile.routes.isEmpty() || (mProfile.proxy != null &&
-                    (!mProfile.proxy.getHost().isEmpty() || mProfile.proxy.getPort() != 0))) {
-                showAdvancedOptions();
-            }
+            configureAdvancedOptionsVisibility();
 
             // Create a button to forget the profile if it has already been saved..
             if (mExists) {
@@ -210,6 +207,8 @@
         } else {
             setTitle(context.getString(R.string.vpn_connect_to, mProfile.name));
 
+            setUsernamePasswordVisibility(mProfile.type);
+
             // Create a button to connect the network.
             setButton(DialogInterface.BUTTON_POSITIVE,
                     context.getString(R.string.vpn_connect), mListener);
@@ -236,9 +235,7 @@
 
         // Visibility isn't restored by super.onRestoreInstanceState, so re-show the advanced
         // options here if they were already revealed or set.
-        if (mShowOptions.isChecked()) {
-            showAdvancedOptions();
-        }
+        configureAdvancedOptionsVisibility();
     }
 
     @Override
@@ -257,7 +254,7 @@
     @Override
     public void onClick(View view) {
         if (view == mShowOptions) {
-            showAdvancedOptions();
+            configureAdvancedOptionsVisibility();
         }
     }
 
@@ -308,11 +305,11 @@
             mAlwaysOnVpn.setEnabled(false);
             if (!profile.isTypeValidForLockdown()) {
                 mAlwaysOnInvalidReason.setText(R.string.vpn_always_on_invalid_reason_type);
-            } else if (!profile.isServerAddressNumeric()) {
+            } else if (isLegacyType(profile.type) && !profile.isServerAddressNumeric()) {
                 mAlwaysOnInvalidReason.setText(R.string.vpn_always_on_invalid_reason_server);
-            } else if (!profile.hasDns()) {
+            } else if (isLegacyType(profile.type) && !profile.hasDns()) {
                 mAlwaysOnInvalidReason.setText(R.string.vpn_always_on_invalid_reason_no_dns);
-            } else if (!profile.areDnsAddressesNumeric()) {
+            } else if (isLegacyType(profile.type) && !profile.areDnsAddressesNumeric()) {
                 mAlwaysOnInvalidReason.setText(R.string.vpn_always_on_invalid_reason_dns);
             } else {
                 mAlwaysOnInvalidReason.setText(R.string.vpn_always_on_invalid_reason_other);
@@ -345,9 +342,26 @@
         mView.findViewById(R.id.vpn_proxy_fields).setVisibility(visible);
     }
 
-    private void showAdvancedOptions() {
-        mView.findViewById(R.id.options).setVisibility(View.VISIBLE);
-        mShowOptions.setVisibility(View.GONE);
+    private boolean hasAdvancedOptionsEnabled() {
+        return mSearchDomains.getText().length() > 0 || mDnsServers.getText().length() > 0 ||
+                    mRoutes.getText().length() > 0 || mProxyHost.getText().length() > 0
+                    || mProxyPort.getText().length() > 0;
+    }
+
+    private void configureAdvancedOptionsVisibility() {
+        if (mShowOptions.isChecked() || hasAdvancedOptionsEnabled()) {
+            mView.findViewById(R.id.options).setVisibility(View.VISIBLE);
+            mShowOptions.setVisibility(View.GONE);
+
+            // Configure networking option visibility
+            // TODO(b/149070123): Add ability for platform VPNs to support DNS & routes
+            final int visibility =
+                    isLegacyType(mType.getSelectedItemPosition()) ? View.VISIBLE : View.GONE;
+            mView.findViewById(R.id.network_options).setVisibility(visibility);
+        } else {
+            mView.findViewById(R.id.options).setVisibility(View.GONE);
+            mShowOptions.setVisibility(View.VISIBLE);
+        }
     }
 
     private void changeType(int type) {
@@ -357,6 +371,14 @@
         mView.findViewById(R.id.ipsec_psk).setVisibility(View.GONE);
         mView.findViewById(R.id.ipsec_user).setVisibility(View.GONE);
         mView.findViewById(R.id.ipsec_peer).setVisibility(View.GONE);
+        mView.findViewById(R.id.options_ipsec_identity).setVisibility(View.GONE);
+
+        setUsernamePasswordVisibility(type);
+
+        // Always enable identity for IKEv2/IPsec profiles.
+        if (!isLegacyType(type)) {
+            mView.findViewById(R.id.options_ipsec_identity).setVisibility(View.VISIBLE);
+        }
 
         // Then, unhide type-specific fields.
         switch (type) {
@@ -367,32 +389,50 @@
             case VpnProfile.TYPE_L2TP_IPSEC_PSK:
                 mView.findViewById(R.id.l2tp).setVisibility(View.VISIBLE);
                 // fall through
+            case VpnProfile.TYPE_IKEV2_IPSEC_PSK: // fall through
             case VpnProfile.TYPE_IPSEC_XAUTH_PSK:
                 mView.findViewById(R.id.ipsec_psk).setVisibility(View.VISIBLE);
+                mView.findViewById(R.id.options_ipsec_identity).setVisibility(View.VISIBLE);
                 break;
 
             case VpnProfile.TYPE_L2TP_IPSEC_RSA:
                 mView.findViewById(R.id.l2tp).setVisibility(View.VISIBLE);
                 // fall through
+            case VpnProfile.TYPE_IKEV2_IPSEC_RSA: // fall through
             case VpnProfile.TYPE_IPSEC_XAUTH_RSA:
                 mView.findViewById(R.id.ipsec_user).setVisibility(View.VISIBLE);
                 // fall through
+            case VpnProfile.TYPE_IKEV2_IPSEC_USER_PASS: // fall through
             case VpnProfile.TYPE_IPSEC_HYBRID_RSA:
                 mView.findViewById(R.id.ipsec_peer).setVisibility(View.VISIBLE);
                 break;
         }
+
+        configureAdvancedOptionsVisibility();
     }
 
     private boolean validate(boolean editing) {
         if (mAlwaysOnVpn.isChecked() && !getProfile().isValidLockdownProfile()) {
             return false;
         }
-        if (!editing) {
+
+        final int type = mType.getSelectedItemPosition();
+        if (!editing && requiresUsernamePassword(type)) {
             return mUsername.getText().length() != 0 && mPassword.getText().length() != 0;
         }
-        if (mName.getText().length() == 0 || mServer.getText().length() == 0 ||
-                !validateAddresses(mDnsServers.getText().toString(), false) ||
-                !validateAddresses(mRoutes.getText().toString(), true)) {
+        if (mName.getText().length() == 0 || mServer.getText().length() == 0) {
+            return false;
+        }
+
+        // TODO(b/149070123): Add ability for platform VPNs to support DNS & routes
+        if (isLegacyType(mProfile.type)
+                && (!validateAddresses(mDnsServers.getText().toString(), false)
+                        || !validateAddresses(mRoutes.getText().toString(), true))) {
+            return false;
+        }
+
+        // All IKEv2 methods require an identifier
+        if (!isLegacyType(mProfile.type) && mIpsecIdentifier.getText().length() == 0) {
             return false;
         }
 
@@ -400,16 +440,19 @@
             return false;
         }
 
-        switch (mType.getSelectedItemPosition()) {
-            case VpnProfile.TYPE_PPTP:
-            case VpnProfile.TYPE_IPSEC_HYBRID_RSA:
+        switch (type) {
+            case VpnProfile.TYPE_PPTP: // fall through
+            case VpnProfile.TYPE_IPSEC_HYBRID_RSA: // fall through
+            case VpnProfile.TYPE_IKEV2_IPSEC_USER_PASS:
                 return true;
 
-            case VpnProfile.TYPE_L2TP_IPSEC_PSK:
+            case VpnProfile.TYPE_IKEV2_IPSEC_PSK: // fall through
+            case VpnProfile.TYPE_L2TP_IPSEC_PSK: // fall through
             case VpnProfile.TYPE_IPSEC_XAUTH_PSK:
                 return mIpsecSecret.getText().length() != 0;
 
-            case VpnProfile.TYPE_L2TP_IPSEC_RSA:
+            case VpnProfile.TYPE_IKEV2_IPSEC_RSA: // fall through
+            case VpnProfile.TYPE_L2TP_IPSEC_RSA: // fall through
             case VpnProfile.TYPE_IPSEC_XAUTH_RSA:
                 return mIpsecUserCert.getSelectedItemPosition() != 0;
         }
@@ -470,6 +513,21 @@
         }
     }
 
+    private void setUsernamePasswordVisibility(int type) {
+        mView.findViewById(R.id.userpass).setVisibility(
+                requiresUsernamePassword(type) ? View.VISIBLE : View.GONE);
+    }
+
+    private boolean requiresUsernamePassword(int type) {
+        switch (type) {
+            case VpnProfile.TYPE_IKEV2_IPSEC_RSA: // fall through
+            case VpnProfile.TYPE_IKEV2_IPSEC_PSK:
+                return false;
+            default:
+                return true;
+        }
+    }
+
     boolean isEditing() {
         return mEditing;
     }
@@ -486,9 +544,17 @@
         profile.server = mServer.getText().toString().trim();
         profile.username = mUsername.getText().toString();
         profile.password = mPassword.getText().toString();
-        profile.searchDomains = mSearchDomains.getText().toString().trim();
-        profile.dnsServers = mDnsServers.getText().toString().trim();
-        profile.routes = mRoutes.getText().toString().trim();
+
+        // Save fields based on VPN type.
+        if (isLegacyType(profile.type)) {
+            // TODO(b/149070123): Add ability for platform VPNs to support DNS & routes
+            profile.searchDomains = mSearchDomains.getText().toString().trim();
+            profile.dnsServers = mDnsServers.getText().toString().trim();
+            profile.routes = mRoutes.getText().toString().trim();
+        } else {
+            profile.ipsecIdentifier = mIpsecIdentifier.getText().toString();
+        }
+
         if (hasProxy()) {
             String proxyHost = mProxyHost.getText().toString().trim();
             String proxyPort = mProxyPort.getText().toString().trim();
@@ -508,6 +574,7 @@
             case VpnProfile.TYPE_L2TP_IPSEC_PSK:
                 profile.l2tpSecret = mL2tpSecret.getText().toString();
                 // fall through
+            case VpnProfile.TYPE_IKEV2_IPSEC_PSK: // fall through
             case VpnProfile.TYPE_IPSEC_XAUTH_PSK:
                 profile.ipsecIdentifier = mIpsecIdentifier.getText().toString();
                 profile.ipsecSecret = mIpsecSecret.getText().toString();
@@ -516,11 +583,13 @@
             case VpnProfile.TYPE_L2TP_IPSEC_RSA:
                 profile.l2tpSecret = mL2tpSecret.getText().toString();
                 // fall through
+            case VpnProfile.TYPE_IKEV2_IPSEC_RSA: // fall through
             case VpnProfile.TYPE_IPSEC_XAUTH_RSA:
                 if (mIpsecUserCert.getSelectedItemPosition() != 0) {
                     profile.ipsecUserCert = (String) mIpsecUserCert.getSelectedItem();
                 }
                 // fall through
+            case VpnProfile.TYPE_IKEV2_IPSEC_USER_PASS: // fall through
             case VpnProfile.TYPE_IPSEC_HYBRID_RSA:
                 if (mIpsecCaCert.getSelectedItemPosition() != 0) {
                     profile.ipsecCaCert = (String) mIpsecCaCert.getSelectedItem();
diff --git a/src/com/android/settings/vpn2/ConfigDialogFragment.java b/src/com/android/settings/vpn2/ConfigDialogFragment.java
index c032fe5..57ba8bf 100644
--- a/src/com/android/settings/vpn2/ConfigDialogFragment.java
+++ b/src/com/android/settings/vpn2/ConfigDialogFragment.java
@@ -119,6 +119,10 @@
     @Override
     public void onClick(DialogInterface dialogInterface, int button) {
         ConfigDialog dialog = (ConfigDialog) getDialog();
+        if (dialog == null) {
+            Log.e(TAG, "ConfigDialog object is null");
+            return;
+        }
         VpnProfile profile = dialog.getProfile();
 
         if (button == DialogInterface.BUTTON_POSITIVE) {
diff --git a/src/com/android/settings/vpn2/VpnSettings.java b/src/com/android/settings/vpn2/VpnSettings.java
index 874a9b9..8a2b465 100644
--- a/src/com/android/settings/vpn2/VpnSettings.java
+++ b/src/com/android/settings/vpn2/VpnSettings.java
@@ -16,6 +16,7 @@
 
 package com.android.settings.vpn2;
 
+import static android.app.AppOpsManager.OP_ACTIVATE_PLATFORM_VPN;
 import static android.app.AppOpsManager.OP_ACTIVATE_VPN;
 
 import android.annotation.UiThread;
@@ -153,17 +154,15 @@
 
     @Override
     public boolean onOptionsItemSelected(MenuItem item) {
-        switch (item.getItemId()) {
-            case R.id.vpn_create: {
-                // Generate a new key. Here we just use the current time.
-                long millis = System.currentTimeMillis();
-                while (mLegacyVpnPreferences.containsKey(Long.toHexString(millis))) {
-                    ++millis;
-                }
-                VpnProfile profile = new VpnProfile(Long.toHexString(millis));
-                ConfigDialogFragment.show(this, profile, true /* editing */, false /* exists */);
-                return true;
+        // Generate a new key. Here we just use the current time.
+        if (item.getItemId() == R.id.vpn_create) {
+            long millis = System.currentTimeMillis();
+            while (mLegacyVpnPreferences.containsKey(Long.toHexString(millis))) {
+                ++millis;
             }
+            VpnProfile profile = new VpnProfile(Long.toHexString(millis));
+            ConfigDialogFragment.show(this, profile, true /* editing */, false /* exists */);
+            return true;
         }
         return super.onOptionsItemSelected(item);
     }
@@ -524,7 +523,8 @@
 
         // Fetch VPN-enabled apps from AppOps.
         AppOpsManager aom = (AppOpsManager) context.getSystemService(Context.APP_OPS_SERVICE);
-        List<AppOpsManager.PackageOps> apps = aom.getPackagesForOps(new int[] {OP_ACTIVATE_VPN});
+        List<AppOpsManager.PackageOps> apps =
+                aom.getPackagesForOps(new int[] {OP_ACTIVATE_VPN, OP_ACTIVATE_PLATFORM_VPN});
         if (apps != null) {
             for (AppOpsManager.PackageOps pkg : apps) {
                 int userId = UserHandle.getUserId(pkg.getUid());
@@ -535,8 +535,8 @@
                 // Look for a MODE_ALLOWED permission to activate VPN.
                 boolean allowed = false;
                 for (AppOpsManager.OpEntry op : pkg.getOps()) {
-                    if (op.getOp() == OP_ACTIVATE_VPN &&
-                            op.getMode() == AppOpsManager.MODE_ALLOWED) {
+                    if ((op.getOp() == OP_ACTIVATE_VPN || op.getOp() == OP_ACTIVATE_PLATFORM_VPN)
+                            && op.getMode() == AppOpsManager.MODE_ALLOWED) {
                         allowed = true;
                     }
                 }
diff --git a/src/com/android/settings/wallpaper/WallpaperSuggestionActivity.java b/src/com/android/settings/wallpaper/WallpaperSuggestionActivity.java
index 57222f1..a5cc414 100644
--- a/src/com/android/settings/wallpaper/WallpaperSuggestionActivity.java
+++ b/src/com/android/settings/wallpaper/WallpaperSuggestionActivity.java
@@ -25,9 +25,11 @@
 
 import com.android.settings.display.WallpaperPreferenceController;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
-import com.android.settings.search.SearchIndexableRaw;
+import com.android.settingslib.search.Indexable;
 import com.android.settingslib.search.SearchIndexable;
+import com.android.settingslib.search.SearchIndexableRaw;
+
+import com.google.android.setupcompat.util.WizardManagerHelper;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -37,10 +39,15 @@
 
     private static final String WALLPAPER_FLAVOR_EXTRA = "com.android.launcher3.WALLPAPER_FLAVOR";
     private static final String WALLPAPER_FOCUS = "focus_wallpaper";
+    private static final String WALLPAPER_ONLY = "wallpaper_only";
 
     @Override
     protected void addExtras(Intent intent) {
-        intent.putExtra(WALLPAPER_FLAVOR_EXTRA, WALLPAPER_FOCUS);
+        if (WizardManagerHelper.isAnySetupWizard(intent)) {
+            intent.putExtra(WALLPAPER_FLAVOR_EXTRA, WALLPAPER_ONLY);
+        } else {
+            intent.putExtra(WALLPAPER_FLAVOR_EXTRA, WALLPAPER_FOCUS);
+        }
     }
 
     @VisibleForTesting
@@ -53,7 +60,7 @@
         return manager.getWallpaperId(WallpaperManager.FLAG_SYSTEM) > 0;
     }
 
-    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
             new BaseSearchIndexProvider() {
                 private static final String SUPPORT_SEARCH_INDEX_KEY = "wallpaper_type";
 
diff --git a/src/com/android/settings/wfd/WifiDisplayPreferenceController.java b/src/com/android/settings/wfd/WifiDisplayPreferenceController.java
new file mode 100644
index 0000000..a83a56b
--- /dev/null
+++ b/src/com/android/settings/wfd/WifiDisplayPreferenceController.java
@@ -0,0 +1,106 @@
+/*
+ * 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.wfd;
+
+import android.content.Context;
+import android.media.MediaRouter;
+import android.media.MediaRouter.RouteInfo;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settings.core.BasePreferenceController;
+import com.android.settingslib.core.lifecycle.LifecycleObserver;
+import com.android.settingslib.core.lifecycle.events.OnStart;
+import com.android.settingslib.core.lifecycle.events.OnStop;
+
+public class WifiDisplayPreferenceController extends BasePreferenceController implements
+        LifecycleObserver, OnStart, OnStop {
+
+    private final MediaRouter mRouter;
+    private Preference mPreference;
+    private final MediaRouter.Callback mRouterCallback = new MediaRouter.SimpleCallback() {
+        @Override
+        public void onRouteSelected(MediaRouter router, int type, RouteInfo info) {
+            refreshSummary(mPreference);
+        }
+
+        @Override
+        public void onRouteUnselected(MediaRouter router, int type, RouteInfo info) {
+            refreshSummary(mPreference);
+        }
+
+        @Override
+        public void onRouteAdded(MediaRouter router, RouteInfo info) {
+            refreshSummary(mPreference);
+        }
+
+        @Override
+        public void onRouteRemoved(MediaRouter router, RouteInfo info) {
+            refreshSummary(mPreference);
+        }
+
+        @Override
+        public void onRouteChanged(MediaRouter router, RouteInfo info) {
+            refreshSummary(mPreference);
+        }
+    };
+
+    public WifiDisplayPreferenceController(Context context, String key) {
+        super(context, key);
+        mRouter = context.getSystemService(MediaRouter.class);
+        mRouter.setRouterGroupId(MediaRouter.MIRRORING_GROUP_ID);
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return WifiDisplaySettings.isAvailable(mContext) ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        mPreference = screen.findPreference(getPreferenceKey());
+    }
+
+    @Override
+    public CharSequence getSummary() {
+        CharSequence summary = mContext.getString(R.string.disconnected);
+
+        final int routeCount = mRouter.getRouteCount();
+        for (int i = 0; i < routeCount; i++) {
+            final MediaRouter.RouteInfo route = mRouter.getRouteAt(i);
+            if (route.matchesTypes(MediaRouter.ROUTE_TYPE_REMOTE_DISPLAY)
+                    && route.isSelected() && !route.isConnecting()) {
+                summary = mContext.getString(R.string.wifi_display_status_connected);
+                break;
+            }
+        }
+        return summary;
+    }
+
+    @Override
+    public void onStart() {
+        mRouter.addCallback(MediaRouter.ROUTE_TYPE_REMOTE_DISPLAY, mRouterCallback);
+    }
+
+    @Override
+    public void onStop() {
+        mRouter.removeCallback(mRouterCallback);
+    }
+}
diff --git a/src/com/android/settings/wfd/WifiDisplaySettings.java b/src/com/android/settings/wfd/WifiDisplaySettings.java
index 981f927..21352b7 100755
--- a/src/com/android/settings/wfd/WifiDisplaySettings.java
+++ b/src/com/android/settings/wfd/WifiDisplaySettings.java
@@ -37,7 +37,6 @@
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.Looper;
-import android.provider.SearchIndexableResource;
 import android.provider.Settings;
 import android.util.Slog;
 import android.util.TypedValue;
@@ -64,14 +63,11 @@
 import com.android.internal.app.MediaRouteDialogPresenter;
 import com.android.settings.R;
 import com.android.settings.SettingsPreferenceFragment;
-import com.android.settings.dashboard.SummaryLoader;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
+import com.android.settingslib.TwoTargetPreference;
+import com.android.settingslib.search.Indexable;
 import com.android.settingslib.search.SearchIndexable;
 
-import java.util.ArrayList;
-import java.util.List;
-
 /**
  * The Settings screen for WifiDisplay configuration and connection management.
  *
@@ -524,7 +520,7 @@
         if (DEBUG) {
             Slog.d(TAG, "Setting listen mode to: " + enable);
         }
-        mWifiP2pManager.listen(mWifiP2pChannel, enable, new ActionListener() {
+        final ActionListener listener = new ActionListener() {
             @Override
             public void onSuccess() {
                 if (DEBUG) {
@@ -538,7 +534,12 @@
                 Slog.e(TAG, "Failed to " + (enable ? "entered" : "exited")
                         + " listen mode with reason " + reason + ".");
             }
-        });
+        };
+        if (enable) {
+            mWifiP2pManager.startListening(mWifiP2pChannel, listener);
+        } else {
+            mWifiP2pManager.stopListening(mWifiP2pChannel, listener);
+        }
     }
 
     private void setWifiP2pChannels(final int lc, final int oc) {
@@ -661,7 +662,7 @@
         }
     };
 
-    private class RoutePreference extends Preference
+    private class RoutePreference extends TwoTargetPreference
             implements Preference.OnPreferenceClickListener {
         private final MediaRouter.RouteInfo mRoute;
 
@@ -705,27 +706,30 @@
             implements View.OnClickListener {
         private final WifiDisplay mDisplay;
 
+        @Override
+        protected int getSecondTargetResId() {
+            return R.layout.preference_widget_gear;
+        }
+
         public WifiDisplayRoutePreference(Context context, MediaRouter.RouteInfo route,
                 WifiDisplay display) {
             super(context, route);
-
             mDisplay = display;
-            setWidgetLayoutResource(R.layout.wifi_display_preference);
         }
 
         @Override
-        public void onBindViewHolder(PreferenceViewHolder view) {
-            super.onBindViewHolder(view);
+        public void onBindViewHolder(PreferenceViewHolder holder) {
+            super.onBindViewHolder(holder);
 
-            ImageView deviceDetails = (ImageView) view.findViewById(R.id.deviceDetails);
-            if (deviceDetails != null) {
-                deviceDetails.setOnClickListener(this);
+            final ImageView gear = (ImageView) holder.findViewById(R.id.settings_button);
+            if (gear != null) {
+                gear.setOnClickListener(this);
                 if (!isEnabled()) {
                     TypedValue value = new TypedValue();
                     getContext().getTheme().resolveAttribute(android.R.attr.disabledAlpha,
                             value, true);
-                    deviceDetails.setImageAlpha((int) (value.getFloat() * 255));
-                    deviceDetails.setEnabled(true); // always allow button to be pressed
+                    gear.setImageAlpha((int) (value.getFloat() * 255));
+                    gear.setEnabled(true); // always allow button to be pressed
                 }
             }
         }
@@ -763,85 +767,6 @@
         }
     }
 
-    private static class SummaryProvider implements SummaryLoader.SummaryProvider {
-
-        private final Context mContext;
-        private final SummaryLoader mSummaryLoader;
-        private final MediaRouter mRouter;
-        private final MediaRouter.Callback mRouterCallback = new MediaRouter.SimpleCallback() {
-            @Override
-            public void onRouteSelected(MediaRouter router, int type, RouteInfo info) {
-                updateSummary();
-            }
-
-            @Override
-            public void onRouteUnselected(MediaRouter router, int type, RouteInfo info) {
-                updateSummary();
-            }
-
-            @Override
-            public void onRouteAdded(MediaRouter router, RouteInfo info) {
-                updateSummary();
-            }
-
-            @Override
-            public void onRouteRemoved(MediaRouter router, RouteInfo info) {
-                updateSummary();
-            }
-
-            @Override
-            public void onRouteChanged(MediaRouter router, RouteInfo info) {
-                updateSummary();
-            }
-        };
-
-        public SummaryProvider(Context context, SummaryLoader summaryLoader) {
-            mContext = context;
-            mSummaryLoader = summaryLoader;
-            mRouter = (MediaRouter) context.getSystemService(Context.MEDIA_ROUTER_SERVICE);
-            mRouter.setRouterGroupId(MediaRouter.MIRRORING_GROUP_ID);
-        }
-
-        @Override
-        public void setListening(boolean listening) {
-            if (listening) {
-                mRouter.addCallback(MediaRouter.ROUTE_TYPE_REMOTE_DISPLAY, mRouterCallback);
-                updateSummary();
-            } else {
-                mRouter.removeCallback(mRouterCallback);
-            }
-        }
-
-        private void updateSummary() {
-            String summary = mContext.getString(R.string.disconnected);
-
-            final int routeCount = mRouter.getRouteCount();
-            for (int i = 0; i < routeCount; i++) {
-                final MediaRouter.RouteInfo route = mRouter.getRouteAt(i);
-                if (route.matchesTypes(MediaRouter.ROUTE_TYPE_REMOTE_DISPLAY)
-                        && route.isSelected() && !route.isConnecting()) {
-                    summary = mContext.getString(R.string.wifi_display_status_connected);
-                    break;
-                }
-            }
-            mSummaryLoader.setSummary(this, summary);
-        }
-    }
-
-    public static final SummaryLoader.SummaryProviderFactory SUMMARY_PROVIDER_FACTORY
-            = (activity, summaryLoader) -> new SummaryProvider(activity, summaryLoader);
-
-    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
-                        boolean enabled) {
-                    final ArrayList<SearchIndexableResource> result = new ArrayList<>();
-
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.wifi_display_settings;
-                    result.add(sir);
-                    return result;
-                }
-            };
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.wifi_display_settings);
 }
diff --git a/src/com/android/settings/widget/EntityHeaderController.java b/src/com/android/settings/widget/EntityHeaderController.java
index 8e31290..654d50b 100644
--- a/src/com/android/settings/widget/EntityHeaderController.java
+++ b/src/com/android/settings/widget/EntityHeaderController.java
@@ -29,7 +29,6 @@
 import android.os.Bundle;
 import android.os.UserHandle;
 import android.text.TextUtils;
-import android.util.IconDrawableFactory;
 import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
@@ -136,7 +135,8 @@
      */
     public EntityHeaderController setIcon(Drawable icon) {
         if (icon != null) {
-            mIcon = icon.getConstantState().newDrawable(mAppContext.getResources());
+            final Drawable.ConstantState state = icon.getConstantState();
+            mIcon = state != null ? state.newDrawable(mAppContext.getResources()) : icon;
         }
         return this;
     }
@@ -147,7 +147,7 @@
      * accessibility purposes.
      */
     public EntityHeaderController setIcon(ApplicationsState.AppEntry appEntry) {
-        mIcon = IconDrawableFactory.newInstance(mAppContext).getBadgedIcon(appEntry.info);
+        mIcon = Utils.getBadgedIcon(mAppContext, appEntry.info);
         return this;
     }
 
diff --git a/src/com/android/settings/widget/HighlightablePreferenceGroupAdapter.java b/src/com/android/settings/widget/HighlightablePreferenceGroupAdapter.java
index 313a204..81dc98b 100644
--- a/src/com/android/settings/widget/HighlightablePreferenceGroupAdapter.java
+++ b/src/com/android/settings/widget/HighlightablePreferenceGroupAdapter.java
@@ -160,7 +160,7 @@
             return;
         }
         mFadeInAnimated = true;
-        final int colorFrom = Color.WHITE;
+        final int colorFrom = mNormalBackgroundRes;
         final int colorTo = mHighlightColor;
         final ValueAnimator fadeInLoop = ValueAnimator.ofObject(
                 new ArgbEvaluator(), colorFrom, colorTo);
@@ -188,7 +188,7 @@
             return;
         }
         int colorFrom = mHighlightColor;
-        int colorTo = Color.WHITE;
+        int colorTo = mNormalBackgroundRes;
 
         v.setTag(R.id.preference_highlighted, false);
         final ValueAnimator colorAnimation = ValueAnimator.ofObject(
diff --git a/src/com/android/settings/widget/LabeledSeekBarPreference.java b/src/com/android/settings/widget/LabeledSeekBarPreference.java
new file mode 100644
index 0000000..e2b2d68
--- /dev/null
+++ b/src/com/android/settings/widget/LabeledSeekBarPreference.java
@@ -0,0 +1,83 @@
+/*
+ * 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.widget;
+
+import android.content.Context;
+import android.content.res.TypedArray;
+import android.util.AttributeSet;
+import android.widget.SeekBar;
+import android.widget.TextView;
+
+import androidx.core.content.res.TypedArrayUtils;
+import androidx.preference.PreferenceViewHolder;
+
+import com.android.settings.R;
+
+/** A slider preference with left and right labels **/
+public class LabeledSeekBarPreference extends SeekBarPreference {
+
+    private final int mTextStartId;
+    private final int mTextEndId;
+    private OnPreferenceChangeListener mStopListener;
+
+    public LabeledSeekBarPreference(Context context, AttributeSet attrs, int defStyleAttr,
+            int defStyleRes) {
+
+        super(context, attrs, defStyleAttr, defStyleRes);
+        setLayoutResource(R.layout.preference_labeled_slider);
+
+        final TypedArray styledAttrs = context.obtainStyledAttributes(attrs,
+                R.styleable.LabeledSeekBarPreference);
+        mTextStartId = styledAttrs.getResourceId(
+                R.styleable.LabeledSeekBarPreference_textStart,
+                R.string.summary_placeholder);
+        mTextEndId = styledAttrs.getResourceId(
+                R.styleable.LabeledSeekBarPreference_textEnd,
+                R.string.summary_placeholder);
+        styledAttrs.recycle();
+    }
+
+    public LabeledSeekBarPreference(Context context, AttributeSet attrs) {
+        this(context, attrs, TypedArrayUtils.getAttr(context,
+                androidx.preference.R.attr.seekBarPreferenceStyle,
+                com.android.internal.R.attr.seekBarPreferenceStyle), 0);
+    }
+
+    @Override
+    public void onBindViewHolder(PreferenceViewHolder holder) {
+        super.onBindViewHolder(holder);
+
+        final TextView startText = (TextView) holder.findViewById(android.R.id.text1);
+        final TextView endText = (TextView) holder.findViewById(android.R.id.text2);
+        startText.setText(mTextStartId);
+        endText.setText(mTextEndId);
+    }
+
+    public void setOnPreferenceChangeStopListener(OnPreferenceChangeListener listener) {
+        mStopListener = listener;
+    }
+
+    @Override
+    public void onStopTrackingTouch(SeekBar seekBar) {
+        super.onStopTrackingTouch(seekBar);
+
+        if (mStopListener != null) {
+            mStopListener.onPreferenceChange(this, seekBar.getProgress());
+        }
+    }
+}
+
diff --git a/src/com/android/settings/widget/MasterSwitchPreference.java b/src/com/android/settings/widget/MasterSwitchPreference.java
index 42529cf..9fe077e 100644
--- a/src/com/android/settings/widget/MasterSwitchPreference.java
+++ b/src/com/android/settings/widget/MasterSwitchPreference.java
@@ -18,6 +18,7 @@
 
 import android.content.Context;
 import android.util.AttributeSet;
+import android.view.MotionEvent;
 import android.view.View;
 import android.view.View.OnClickListener;
 import android.widget.Switch;
@@ -26,16 +27,17 @@
 
 import com.android.settings.R;
 import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
-import com.android.settingslib.TwoTargetPreference;
+import com.android.settingslib.RestrictedPreference;
 
 /**
  * A custom preference that provides inline switch toggle. It has a mandatory field for title, and
- * optional fields for icon and sub-text.
+ * optional fields for icon and sub-text. And it can be restricted by admin state.
  */
-public class MasterSwitchPreference extends TwoTargetPreference {
+public class MasterSwitchPreference extends RestrictedPreference {
 
     private Switch mSwitch;
     private boolean mChecked;
+    private boolean mCheckedSet;
     private boolean mEnableSwitch = true;
 
     public MasterSwitchPreference(Context context, AttributeSet attrs,
@@ -57,15 +59,16 @@
 
     @Override
     protected int getSecondTargetResId() {
-        return R.layout.preference_widget_master_switch;
+        return R.layout.restricted_preference_widget_master_switch;
     }
 
     @Override
     public void onBindViewHolder(PreferenceViewHolder holder) {
         super.onBindViewHolder(holder);
-        final View widgetView = holder.findViewById(android.R.id.widget_frame);
-        if (widgetView != null) {
-            widgetView.setOnClickListener(new OnClickListener() {
+        final View switchWidget = holder.findViewById(R.id.switchWidget);
+        if (switchWidget != null) {
+            switchWidget.setVisibility(isDisabledByAdmin() ? View.GONE : View.VISIBLE);
+            switchWidget.setOnClickListener(new OnClickListener() {
                 @Override
                 public void onClick(View v) {
                     if (mSwitch != null && !mSwitch.isEnabled()) {
@@ -79,6 +82,11 @@
                     }
                 }
             });
+
+            // Consumes move events to ignore drag actions.
+            switchWidget.setOnTouchListener((v, event) -> {
+                return event.getActionMasked() == MotionEvent.ACTION_MOVE;
+            });
         }
 
         mSwitch = (Switch) holder.findViewById(R.id.switchWidget);
@@ -94,9 +102,14 @@
     }
 
     public void setChecked(boolean checked) {
-        mChecked = checked;
-        if (mSwitch != null) {
-            mSwitch.setChecked(checked);
+        // Always set checked the first time; don't assume the field's default of false.
+        final boolean changed = mChecked != checked;
+        if (changed || !mCheckedSet) {
+            mChecked = checked;
+            mCheckedSet = true;
+            if (mSwitch != null) {
+                mSwitch.setChecked(checked);
+            }
         }
     }
 
@@ -112,10 +125,16 @@
      * Otherwise, keep it enabled.
      */
     public void setDisabledByAdmin(EnforcedAdmin admin) {
+        super.setDisabledByAdmin(admin);
         setSwitchEnabled(admin == null);
     }
 
     public Switch getSwitch() {
         return mSwitch;
     }
+
+    @Override
+    protected boolean shouldHideSecondTarget() {
+        return getSecondTargetResId() == 0;
+    }
 }
diff --git a/src/com/android/settings/widget/MediaAnimationController.java b/src/com/android/settings/widget/MediaAnimationController.java
new file mode 100644
index 0000000..1ef86c5
--- /dev/null
+++ b/src/com/android/settings/widget/MediaAnimationController.java
@@ -0,0 +1,156 @@
+/*
+ * 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.widget;
+
+import android.content.ContentResolver;
+import android.content.Context;
+import android.graphics.SurfaceTexture;
+import android.media.MediaPlayer;
+import android.net.Uri;
+import android.view.Surface;
+import android.view.TextureView;
+import android.view.View;
+
+/**
+ * A {@link VideoPreference.AnimationController} containing a {@link
+ * MediaPlayer}. The controller is used by {@link VideoPreference} to display
+ * a mp4 resource.
+ */
+class MediaAnimationController implements VideoPreference.AnimationController {
+    private MediaPlayer mMediaPlayer;
+    private boolean mVideoReady;
+    private Surface mSurface;
+
+    MediaAnimationController(Context context, int videoId) {
+        final Uri videoPath = new Uri.Builder().scheme(ContentResolver.SCHEME_ANDROID_RESOURCE)
+                .authority(context.getPackageName())
+                .appendPath(String.valueOf(videoId))
+                .build();
+        mMediaPlayer = MediaPlayer.create(context, videoPath);
+        // when the playback res is invalid or others, MediaPlayer create may fail
+        // and return null, so need add the null judgement.
+        if (mMediaPlayer != null) {
+            mMediaPlayer.seekTo(0);
+            mMediaPlayer.setOnSeekCompleteListener(mp -> mVideoReady = true);
+            mMediaPlayer.setOnPreparedListener(mediaPlayer -> mediaPlayer.setLooping(true));
+        }
+    }
+
+    @Override
+    public int getVideoWidth() {
+        return mMediaPlayer.getVideoWidth();
+    }
+
+    @Override
+    public int getVideoHeight() {
+        return mMediaPlayer.getVideoHeight();
+    }
+
+    @Override
+    public void pause() {
+        mMediaPlayer.pause();
+    }
+
+    @Override
+    public void start() {
+        mMediaPlayer.start();
+    }
+
+    @Override
+    public boolean isPlaying() {
+        return mMediaPlayer.isPlaying();
+    }
+
+    @Override
+    public int getDuration() {
+        return mMediaPlayer.getDuration();
+    }
+
+    @Override
+    public void attachView(TextureView video, View preview, View playButton) {
+        updateViewStates(preview, playButton);
+        video.setSurfaceTextureListener(new TextureView.SurfaceTextureListener() {
+            @Override
+            public void onSurfaceTextureAvailable(SurfaceTexture surfaceTexture, int width,
+                    int height) {
+                setSurface(surfaceTexture);
+            }
+
+            @Override
+            public void onSurfaceTextureSizeChanged(SurfaceTexture surfaceTexture, int width,
+                    int height) {
+            }
+
+            @Override
+            public boolean onSurfaceTextureDestroyed(SurfaceTexture surfaceTexture) {
+                preview.setVisibility(View.VISIBLE);
+                mSurface = null;
+                return false;
+            }
+
+            @Override
+            public void onSurfaceTextureUpdated(SurfaceTexture surfaceTexture) {
+                setSurface(surfaceTexture);
+                if (mVideoReady) {
+                    if (preview.getVisibility() == View.VISIBLE) {
+                        preview.setVisibility(View.GONE);
+                    }
+                    if (mMediaPlayer != null
+                            && !mMediaPlayer.isPlaying()) {
+                        mMediaPlayer.start();
+                        playButton.setVisibility(View.GONE);
+                    }
+                }
+                if (mMediaPlayer != null && !mMediaPlayer.isPlaying()
+                        && playButton.getVisibility() != View.VISIBLE) {
+                    playButton.setVisibility(View.VISIBLE);
+                }
+            }
+        });
+        video.setOnClickListener(v -> updateViewStates(preview, playButton));
+    }
+
+    @Override
+    public void release() {
+        if (mMediaPlayer != null) {
+            mMediaPlayer.stop();
+            mMediaPlayer.reset();
+            mMediaPlayer.release();
+            mMediaPlayer = null;
+            mVideoReady = false;
+        }
+    }
+
+    private void updateViewStates(View imageView, View playButton) {
+        if (mMediaPlayer.isPlaying()) {
+            mMediaPlayer.pause();
+            playButton.setVisibility(View.VISIBLE);
+            imageView.setVisibility(View.VISIBLE);
+        } else {
+            imageView.setVisibility(View.GONE);
+            playButton.setVisibility(View.GONE);
+            mMediaPlayer.start();
+        }
+    }
+
+    private void setSurface(SurfaceTexture surfaceTexture) {
+        if (mMediaPlayer != null && mSurface == null) {
+            mSurface = new Surface(surfaceTexture);
+            mMediaPlayer.setSurface(mSurface);
+        }
+    }
+}
diff --git a/src/com/android/settings/widget/RadioButtonPickerFragment.java b/src/com/android/settings/widget/RadioButtonPickerFragment.java
index 8861c94..0f4fbc3 100644
--- a/src/com/android/settings/widget/RadioButtonPickerFragment.java
+++ b/src/com/android/settings/widget/RadioButtonPickerFragment.java
@@ -38,6 +38,7 @@
 import com.android.settings.core.PreferenceXmlParserUtils;
 import com.android.settings.core.PreferenceXmlParserUtils.MetadataFlag;
 import com.android.settingslib.widget.CandidateInfo;
+import com.android.settingslib.widget.RadioButtonPreference;
 
 import org.xmlpull.v1.XmlPullParserException;
 
@@ -149,12 +150,10 @@
     /**
      * A chance for subclasses to bind additional things to the preference.
      */
-    @VisibleForTesting(otherwise = VisibleForTesting.PROTECTED)
     public void bindPreferenceExtra(RadioButtonPreference pref,
             String key, CandidateInfo info, String defaultKey, String systemDefaultKey) {
     }
 
-    @VisibleForTesting
     public void updateCandidates() {
         mCandidates.clear();
         final List<? extends CandidateInfo> candidateList = getCandidates();
@@ -203,7 +202,6 @@
         }
     }
 
-    @VisibleForTesting
     public RadioButtonPreference bindPreference(RadioButtonPreference pref,
             String key, CandidateInfo info, String defaultKey) {
         pref.setTitle(info.loadLabel());
@@ -217,7 +215,6 @@
         return pref;
     }
 
-    @VisibleForTesting
     public void updateCheckedState(String selectedKey) {
         final PreferenceScreen screen = getPreferenceScreen();
         if (screen != null) {
@@ -235,7 +232,6 @@
         }
     }
 
-    @VisibleForTesting
     public void mayCheckOnlyRadioButton() {
         final PreferenceScreen screen = getPreferenceScreen();
         // If there is only 1 thing on screen, select it.
diff --git a/src/com/android/settings/widget/RadioButtonPreference.java b/src/com/android/settings/widget/RadioButtonPreference.java
deleted file mode 100644
index 512fe4e..0000000
--- a/src/com/android/settings/widget/RadioButtonPreference.java
+++ /dev/null
@@ -1,105 +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.widget;
-
-import android.content.Context;
-import android.text.TextUtils;
-import android.util.AttributeSet;
-import android.view.View;
-import android.widget.TextView;
-
-import androidx.core.content.res.TypedArrayUtils;
-import androidx.preference.CheckBoxPreference;
-import androidx.preference.PreferenceViewHolder;
-
-import com.android.settings.R;
-
-/**
- * Check box preference with check box replaced by radio button.
- *
- * Functionally speaking, it's actually a CheckBoxPreference. We only modified
- * the widget to RadioButton to make it "look like" a RadioButtonPreference.
- *
- * In other words, there's no "RadioButtonPreferenceGroup" in this
- * implementation. When you check one RadioButtonPreference, if you want to
- * uncheck all the other preferences, you should do that by code yourself.
- */
-public class RadioButtonPreference extends CheckBoxPreference {
-    public interface OnClickListener {
-       void onRadioButtonClicked(RadioButtonPreference emiter);
-    }
-
-    private OnClickListener mListener = null;
-    private View appendix;
-    private int appendixVisibility = -1;
-
-    public RadioButtonPreference(Context context, AttributeSet attrs, int defStyle) {
-        super(context, attrs, defStyle);
-        setWidgetLayoutResource(R.layout.preference_widget_radiobutton);
-        setLayoutResource(R.layout.preference_radio);
-        setIconSpaceReserved(false);
-    }
-
-    public RadioButtonPreference(Context context, AttributeSet attrs) {
-        this(context, attrs, TypedArrayUtils.getAttr(context,
-                androidx.preference.R.attr.preferenceStyle,
-                android.R.attr.preferenceStyle));
-    }
-
-    public RadioButtonPreference(Context context) {
-        this(context, null);
-    }
-
-    public void setOnClickListener(OnClickListener listener) {
-        mListener = listener;
-    }
-
-    @Override
-    public void onClick() {
-        if (mListener != null) {
-            mListener.onRadioButtonClicked(this);
-        }
-    }
-
-    @Override
-    public void onBindViewHolder(PreferenceViewHolder view) {
-        super.onBindViewHolder(view);
-
-        View summaryContainer = view.findViewById(R.id.summary_container);
-        if (summaryContainer != null) {
-            summaryContainer.setVisibility(
-                TextUtils.isEmpty(getSummary()) ? View.GONE : View.VISIBLE);
-            appendix = view.findViewById(R.id.appendix);
-            if (appendix != null && appendixVisibility != -1) {
-                appendix.setVisibility(appendixVisibility);
-            }
-        }
-
-        TextView title = (TextView) view.findViewById(android.R.id.title);
-        if (title != null) {
-            title.setSingleLine(false);
-            title.setMaxLines(3);
-        }
-    }
-
-    public void setAppendixVisibility(int visibility) {
-        if (appendix != null) {
-            appendix.setVisibility(visibility);
-        }
-        appendixVisibility = visibility;
-    }
-}
diff --git a/src/com/android/settings/widget/RadioButtonPreferenceWithExtraWidget.java b/src/com/android/settings/widget/RadioButtonPreferenceWithExtraWidget.java
index 19fd923..2b28ec1 100644
--- a/src/com/android/settings/widget/RadioButtonPreferenceWithExtraWidget.java
+++ b/src/com/android/settings/widget/RadioButtonPreferenceWithExtraWidget.java
@@ -23,6 +23,7 @@
 import androidx.preference.PreferenceViewHolder;
 
 import com.android.settings.R;
+import com.android.settingslib.widget.RadioButtonPreference;
 
 public class RadioButtonPreferenceWithExtraWidget extends RadioButtonPreference {
     public static final int EXTRA_WIDGET_VISIBILITY_GONE = 0;
diff --git a/src/com/android/settings/widget/SwitchBar.java b/src/com/android/settings/widget/SwitchBar.java
index f8743d1..de0d98b 100644
--- a/src/com/android/settings/widget/SwitchBar.java
+++ b/src/com/android/settings/widget/SwitchBar.java
@@ -77,14 +77,12 @@
     private TextView mTextView;
     private String mLabel;
     private String mSummary;
+    private String mOnText;
+    private String mOffText;
     @ColorInt
     private int mBackgroundColor;
     @ColorInt
     private int mBackgroundActivatedColor;
-    @StringRes
-    private int mOnTextId;
-    @StringRes
-    private int mOffTextId;
 
     private boolean mLoggingIntialized;
     private boolean mDisabledByAdmin;
@@ -178,14 +176,20 @@
     }
 
     public void setTextViewLabelAndBackground(boolean isChecked) {
-        mLabel = getResources().getString(isChecked ? mOnTextId : mOffTextId);
+        mLabel = isChecked ? mOnText : mOffText;
         setBackgroundColor(isChecked ? mBackgroundActivatedColor : mBackgroundColor);
         updateText();
     }
 
-    public void setSwitchBarText(int onText, int offText) {
-        mOnTextId = onText;
-        mOffTextId = offText;
+    public void setSwitchBarText(int onTextId, int offTextId) {
+        mOnText = getResources().getString(onTextId);
+        mOffText = getResources().getString(offTextId);
+        setTextViewLabelAndBackground(isChecked());
+    }
+
+    public void setSwitchBarText(String onText, String offText) {
+        mOnText = onText;
+        mOffText = offText;
         setTextViewLabelAndBackground(isChecked());
     }
 
@@ -249,8 +253,6 @@
             mSwitch.setEnabled(false);
             mSwitch.setVisibility(View.GONE);
             mRestrictedIcon.setVisibility(View.VISIBLE);
-            mRestrictedIcon.setFocusable(false);
-            mRestrictedIcon.setClickable(false);
         } else {
             mDisabledByAdmin = false;
             mSwitch.setVisibility(View.VISIBLE);
diff --git a/src/com/android/settings/widget/UpdatableListPreferenceDialogFragment.java b/src/com/android/settings/widget/UpdatableListPreferenceDialogFragment.java
deleted file mode 100644
index bd7f78a..0000000
--- a/src/com/android/settings/widget/UpdatableListPreferenceDialogFragment.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*
- * Copyright 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.widget;
-
-import android.content.res.TypedArray;
-import android.os.Bundle;
-import android.widget.ArrayAdapter;
-
-import androidx.annotation.VisibleForTesting;
-import androidx.appcompat.app.AlertDialog.Builder;
-import androidx.preference.ListPreference;
-import androidx.preference.PreferenceDialogFragmentCompat;
-
-import com.android.settingslib.core.instrumentation.Instrumentable;
-
-import java.util.ArrayList;
-
-/**
- * {@link PreferenceDialogFragmentCompat} that updates the available options
- * when {@code onListPreferenceUpdated} is called."
- */
-public class UpdatableListPreferenceDialogFragment extends PreferenceDialogFragmentCompat implements
-        Instrumentable {
-
-    private static final String SAVE_STATE_INDEX = "UpdatableListPreferenceDialogFragment.index";
-    private static final String SAVE_STATE_ENTRIES =
-            "UpdatableListPreferenceDialogFragment.entries";
-    private static final String SAVE_STATE_ENTRY_VALUES =
-            "UpdatableListPreferenceDialogFragment.entryValues";
-    private static final String METRICS_CATEGORY_KEY = "metrics_category_key";
-    private ArrayAdapter mAdapter;
-    private int mClickedDialogEntryIndex;
-    private ArrayList<CharSequence> mEntries;
-    private CharSequence[] mEntryValues;
-    private int mMetricsCategory = Instrumentable.METRICS_CATEGORY_UNKNOWN;
-
-    public static UpdatableListPreferenceDialogFragment newInstance(
-            String key, int metricsCategory) {
-        UpdatableListPreferenceDialogFragment fragment =
-                new UpdatableListPreferenceDialogFragment();
-        Bundle args = new Bundle(1);
-        args.putString(ARG_KEY, key);
-        args.putInt(METRICS_CATEGORY_KEY, metricsCategory);
-        fragment.setArguments(args);
-        return fragment;
-    }
-
-    public void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        final Bundle bundle = getArguments();
-        mMetricsCategory =
-                bundle.getInt(METRICS_CATEGORY_KEY, Instrumentable.METRICS_CATEGORY_UNKNOWN);
-        if (savedInstanceState == null) {
-            mEntries = new ArrayList<>();
-            setPreferenceData(getListPreference());
-        } else {
-            mClickedDialogEntryIndex = savedInstanceState.getInt(SAVE_STATE_INDEX, 0);
-            mEntries = savedInstanceState.getCharSequenceArrayList(SAVE_STATE_ENTRIES);
-            mEntryValues =
-                    savedInstanceState.getCharSequenceArray(SAVE_STATE_ENTRY_VALUES);
-        }
-    }
-
-    @Override
-    public void onSaveInstanceState(Bundle outState) {
-        super.onSaveInstanceState(outState);
-        outState.putInt(SAVE_STATE_INDEX, mClickedDialogEntryIndex);
-        outState.putCharSequenceArrayList(SAVE_STATE_ENTRIES, mEntries);
-        outState.putCharSequenceArray(SAVE_STATE_ENTRY_VALUES, mEntryValues);
-    }
-
-    @Override
-    public void onDialogClosed(boolean positiveResult) {
-        if (positiveResult && mClickedDialogEntryIndex >= 0) {
-            final ListPreference preference = getListPreference();
-            final String value = mEntryValues[mClickedDialogEntryIndex].toString();
-            if (preference.callChangeListener(value)) {
-                preference.setValue(value);
-            }
-        }
-    }
-
-    @VisibleForTesting
-    void setAdapter(ArrayAdapter adapter) {
-        mAdapter = adapter;
-    }
-
-    @VisibleForTesting
-    void setEntries(ArrayList<CharSequence> entries) {
-        mEntries = entries;
-    }
-
-    @VisibleForTesting
-    ArrayAdapter getAdapter() {
-        return mAdapter;
-    }
-
-    @VisibleForTesting
-    void setMetricsCategory(Bundle bundle) {
-        mMetricsCategory =
-                bundle.getInt(METRICS_CATEGORY_KEY, Instrumentable.METRICS_CATEGORY_UNKNOWN);
-    }
-
-    @Override
-    protected void onPrepareDialogBuilder(Builder builder) {
-        super.onPrepareDialogBuilder(builder);
-        final TypedArray a = getContext().obtainStyledAttributes(
-                null,
-                com.android.internal.R.styleable.AlertDialog,
-                com.android.internal.R.attr.alertDialogStyle, 0);
-
-        mAdapter = new ArrayAdapter<>(
-                getContext(),
-                a.getResourceId(
-                        com.android.internal.R.styleable.AlertDialog_singleChoiceItemLayout,
-                        com.android.internal.R.layout.select_dialog_singlechoice),
-                mEntries);
-
-        builder.setSingleChoiceItems(mAdapter, mClickedDialogEntryIndex,
-                (dialog, which) -> {
-                    mClickedDialogEntryIndex = which;
-                    onClick(dialog, -1);
-                    dialog.dismiss();
-                });
-        builder.setPositiveButton(null, null);
-        a.recycle();
-    }
-
-    @Override
-    public int getMetricsCategory() {
-        return mMetricsCategory;
-    }
-
-    @VisibleForTesting
-    ListPreference getListPreference() {
-        return (ListPreference) getPreference();
-    }
-
-    private void setPreferenceData(ListPreference preference) {
-        mEntries.clear();
-        mClickedDialogEntryIndex = preference.findIndexOfValue(preference.getValue());
-        for (CharSequence entry : preference.getEntries()) {
-            mEntries.add(entry);
-        }
-        mEntryValues = preference.getEntryValues();
-    }
-
-    public void onListPreferenceUpdated(ListPreference preference) {
-        if (mAdapter != null) {
-            setPreferenceData(preference);
-            mAdapter.notifyDataSetChanged();
-        }
-    }
-}
diff --git a/src/com/android/settings/widget/VectorAnimationController.java b/src/com/android/settings/widget/VectorAnimationController.java
new file mode 100644
index 0000000..b6f0d07
--- /dev/null
+++ b/src/com/android/settings/widget/VectorAnimationController.java
@@ -0,0 +1,111 @@
+/*
+ * 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.widget;
+
+import android.content.Context;
+import android.graphics.drawable.Drawable;
+import android.view.TextureView;
+import android.view.View;
+
+import androidx.vectordrawable.graphics.drawable.Animatable2Compat;
+import androidx.vectordrawable.graphics.drawable.AnimatedVectorDrawableCompat;
+
+/**
+ * A {@link VideoPreference.AnimationController} containing a {@link
+ * AnimatedVectorDrawableCompat}. The controller is used by {@link VideoPreference}
+ * to display AnimatedVectorDrawable content.
+ */
+class VectorAnimationController implements VideoPreference.AnimationController {
+    private AnimatedVectorDrawableCompat mAnimatedVectorDrawableCompat;
+    private Drawable mPreviewDrawable;
+    private Animatable2Compat.AnimationCallback mAnimationCallback;
+
+    /**
+     * Called by a preference panel fragment to finish itself.
+     *
+     * @param context Application Context
+     * @param animationId An {@link android.graphics.drawable.AnimationDrawable} resource id
+     */
+    VectorAnimationController(Context context, int animationId) {
+        mAnimatedVectorDrawableCompat = AnimatedVectorDrawableCompat.create(context, animationId);
+        mAnimationCallback = new Animatable2Compat.AnimationCallback() {
+            @Override
+            public void onAnimationEnd(Drawable drawable) {
+                mAnimatedVectorDrawableCompat.start();
+            }
+        };
+    }
+
+    @Override
+    public int getVideoWidth() {
+        return mAnimatedVectorDrawableCompat.getIntrinsicWidth();
+    }
+
+    @Override
+    public int getVideoHeight() {
+        return mAnimatedVectorDrawableCompat.getIntrinsicHeight();
+    }
+
+    @Override
+    public void pause() {
+        mAnimatedVectorDrawableCompat.stop();
+    }
+
+    @Override
+    public void start() {
+        mAnimatedVectorDrawableCompat.start();
+    }
+
+    @Override
+    public boolean isPlaying() {
+        return mAnimatedVectorDrawableCompat.isRunning();
+    }
+
+    @Override
+    public int getDuration() {
+        // We can't get duration from AnimatedVectorDrawable, just return a non zero value.
+        return 5000;
+    }
+
+    @Override
+    public void attachView(TextureView video, View preview, View playButton) {
+        mPreviewDrawable = preview.getForeground();
+        video.setVisibility(View.GONE);
+        updateViewStates(preview, playButton);
+        preview.setOnClickListener(v -> updateViewStates(preview, playButton));
+    }
+
+    @Override
+    public void release() {
+        mAnimatedVectorDrawableCompat.stop();
+        mAnimatedVectorDrawableCompat.clearAnimationCallbacks();
+    }
+
+    private void updateViewStates(View imageView, View playButton) {
+        if (mAnimatedVectorDrawableCompat.isRunning()) {
+            mAnimatedVectorDrawableCompat.stop();
+            mAnimatedVectorDrawableCompat.clearAnimationCallbacks();
+            playButton.setVisibility(View.VISIBLE);
+            imageView.setForeground(mPreviewDrawable);
+        } else {
+            playButton.setVisibility(View.GONE);
+            imageView.setForeground(mAnimatedVectorDrawableCompat);
+            mAnimatedVectorDrawableCompat.start();
+            mAnimatedVectorDrawableCompat.registerAnimationCallback(mAnimationCallback);
+        }
+    }
+}
diff --git a/src/com/android/settings/widget/VideoPreference.java b/src/com/android/settings/widget/VideoPreference.java
index 1af9065..fe91669 100644
--- a/src/com/android/settings/widget/VideoPreference.java
+++ b/src/com/android/settings/widget/VideoPreference.java
@@ -16,16 +16,11 @@
 
 package com.android.settings.widget;
 
-import android.content.ContentResolver;
 import android.content.Context;
 import android.content.res.TypedArray;
-import android.graphics.SurfaceTexture;
-import android.media.MediaPlayer;
-import android.net.Uri;
 import android.util.AttributeSet;
 import android.util.Log;
 import android.util.TypedValue;
-import android.view.Surface;
 import android.view.TextureView;
 import android.view.View;
 import android.widget.ImageView;
@@ -34,31 +29,31 @@
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceViewHolder;
+import androidx.vectordrawable.graphics.drawable.AnimatedVectorDrawableCompat;
 
 import com.android.settings.R;
 
 /**
- * A full width preference that hosts a MP4 video.
+ * A full width preference that hosts a MP4 video or a {@link AnimatedVectorDrawableCompat}.
  */
 public class VideoPreference extends Preference {
 
     private static final String TAG = "VideoPreference";
     private final Context mContext;
 
-    private Uri mVideoPath;
     @VisibleForTesting
-    MediaPlayer mMediaPlayer;
+    AnimationController mAnimationController;
     @VisibleForTesting
     boolean mAnimationAvailable;
-    @VisibleForTesting
-    boolean mVideoReady;
-    private boolean mVideoPaused;
+
     private float mAspectRatio = 1.0f;
-    private int mPreviewResource;
-    private boolean mViewVisible;
-    private Surface mSurface;
+    private int mPreviewId;
     private int mAnimationId;
+    private int mVectorAnimationId;
     private int mHeight = LinearLayout.LayoutParams.MATCH_PARENT - 1; // video height in pixels
+    private TextureView mVideo;
+    private ImageView mPreviewImage;
+    private ImageView mPlayButton;
 
     public VideoPreference(Context context) {
         super(context);
@@ -80,21 +75,21 @@
         try {
             // if these are already set that means they were set dynamically and don't need
             // to be loaded from xml
+            mAnimationAvailable = false;
             mAnimationId = mAnimationId == 0
                 ? attributes.getResourceId(R.styleable.VideoPreference_animation, 0)
                 : mAnimationId;
-            mVideoPath = new Uri.Builder().scheme(ContentResolver.SCHEME_ANDROID_RESOURCE)
-                    .authority(context.getPackageName())
-                    .appendPath(String.valueOf(mAnimationId))
-                    .build();
-            mPreviewResource = mPreviewResource == 0
-                ? attributes.getResourceId(R.styleable.VideoPreference_preview, 0)
-                : mPreviewResource;
-            if (mPreviewResource == 0 && mAnimationId == 0) {
+            mPreviewId = mPreviewId == 0
+                    ? attributes.getResourceId(R.styleable.VideoPreference_preview, 0)
+                    : mPreviewId;
+            mVectorAnimationId = attributes.getResourceId(
+                    R.styleable.VideoPreference_vectorAnimation, 0);
+            if (mPreviewId == 0 && mAnimationId == 0 && mVectorAnimationId == 0) {
+                setVisible(false);
                 return;
             }
-            initMediaPlayer();
-            if (mMediaPlayer != null && mMediaPlayer.getDuration() > 0) {
+            initAnimationController();
+            if (mAnimationController != null && mAnimationController.getDuration() > 0) {
                 setVisible(true);
                 setLayoutResource(R.layout.video_preference);
                 mAnimationAvailable = true;
@@ -117,145 +112,84 @@
             return;
         }
 
-        final TextureView video = (TextureView) holder.findViewById(R.id.video_texture_view);
-        final ImageView imageView = (ImageView) holder.findViewById(R.id.video_preview_image);
-        final ImageView playButton = (ImageView) holder.findViewById(R.id.video_play_button);
+        mVideo = (TextureView) holder.findViewById(R.id.video_texture_view);
+        mPreviewImage = (ImageView) holder.findViewById(R.id.video_preview_image);
+        mPlayButton = (ImageView) holder.findViewById(R.id.video_play_button);
         final AspectRatioFrameLayout layout = (AspectRatioFrameLayout) holder.findViewById(
                 R.id.video_container);
 
-        imageView.setImageResource(mPreviewResource);
+        mPreviewImage.setImageResource(mPreviewId);
         layout.setAspectRatio(mAspectRatio);
         if (mHeight >= LinearLayout.LayoutParams.MATCH_PARENT) {
             layout.setLayoutParams(new LinearLayout.LayoutParams(
                     LinearLayout.LayoutParams.MATCH_PARENT, mHeight));
         }
-        updateViewStates(imageView, playButton);
-
-        video.setOnClickListener(v -> updateViewStates(imageView, playButton));
-
-        video.setSurfaceTextureListener(new TextureView.SurfaceTextureListener() {
-            @Override
-            public void onSurfaceTextureAvailable(SurfaceTexture surfaceTexture, int width,
-                    int height) {
-                if (mMediaPlayer != null) {
-                    mSurface = new Surface(surfaceTexture);
-                    mMediaPlayer.setSurface(mSurface);
-                }
-            }
-
-            @Override
-            public void onSurfaceTextureSizeChanged(SurfaceTexture surfaceTexture, int width,
-                    int height) {
-            }
-
-            @Override
-            public boolean onSurfaceTextureDestroyed(SurfaceTexture surfaceTexture) {
-                imageView.setVisibility(View.VISIBLE);
-                return false;
-            }
-
-            @Override
-            public void onSurfaceTextureUpdated(SurfaceTexture surfaceTexture) {
-                if (!mViewVisible) {
-                    return;
-                }
-                if (mVideoReady) {
-                    if (imageView.getVisibility() == View.VISIBLE) {
-                        imageView.setVisibility(View.GONE);
-                    }
-                    if (!mVideoPaused && mMediaPlayer != null && !mMediaPlayer.isPlaying()) {
-                        mMediaPlayer.start();
-                        playButton.setVisibility(View.GONE);
-                    }
-                }
-                if (mMediaPlayer != null && !mMediaPlayer.isPlaying() &&
-                        playButton.getVisibility() != View.VISIBLE) {
-                    playButton.setVisibility(View.VISIBLE);
-                }
-            }
-        });
-    }
-
-    @VisibleForTesting
-    void updateViewStates(ImageView imageView, ImageView playButton) {
-        if (mMediaPlayer != null) {
-            if (mMediaPlayer.isPlaying()) {
-                mMediaPlayer.pause();
-                playButton.setVisibility(View.VISIBLE);
-                imageView.setVisibility(View.VISIBLE);
-                mVideoPaused = true;
-            } else {
-                imageView.setVisibility(View.GONE);
-                playButton.setVisibility(View.GONE);
-                mMediaPlayer.start();
-                mVideoPaused = false;
-            }
+        if (mAnimationController != null) {
+            mAnimationController.attachView(mVideo, mPreviewImage, mPlayButton);
         }
     }
 
     @Override
     public void onDetached() {
-        releaseMediaPlayer();
+        releaseAnimationController();
         super.onDetached();
     }
 
-    public void onViewVisible(boolean videoPaused) {
-        mViewVisible = true;
-        mVideoPaused = videoPaused;
-        initMediaPlayer();
+    /**
+     * Called from {@link VideoPreferenceController} when the view is onResume
+     */
+    public void onViewVisible() {
+        initAnimationController();
     }
 
+    /**
+     * Called from {@link VideoPreferenceController} when the view is onPause
+     */
     public void onViewInvisible() {
-        mViewVisible = false;
-        releaseMediaPlayer();
+        releaseAnimationController();
     }
 
     /**
      * Sets the video for this preference. If a previous video was set this one will override it
      * and properly release any resources and re-initialize the preference to play the new video.
      *
-     * @param videoId The raw res id of the video
+     * @param videoId   The raw res id of the video
      * @param previewId The drawable res id of the preview image to use if the video fails to load.
      */
     public void setVideo(int videoId, int previewId) {
         mAnimationId = videoId;
-        mPreviewResource = previewId;
-        releaseMediaPlayer();
+        mPreviewId = previewId;
+        releaseAnimationController();
         initialize(mContext, null);
     }
 
-    private void initMediaPlayer() {
-        if (mMediaPlayer == null) {
-            mMediaPlayer = MediaPlayer.create(mContext, mVideoPath);
-            // when the playback res is invalid or others, MediaPlayer create may fail
-            // and return null, so need add the null judgement.
-            if (mMediaPlayer != null) {
-                mMediaPlayer.seekTo(0);
-                mMediaPlayer.setOnSeekCompleteListener(mp -> mVideoReady = true);
-                mMediaPlayer.setOnPreparedListener(mediaPlayer -> mediaPlayer.setLooping(true));
-                if (mSurface != null) {
-                    mMediaPlayer.setSurface(mSurface);
-                }
+    private void initAnimationController() {
+        if (mVectorAnimationId != 0) {
+            mAnimationController = new VectorAnimationController(mContext, mVectorAnimationId);
+            return;
+        }
+        if (mAnimationId != 0) {
+            mAnimationController = new MediaAnimationController(mContext, mAnimationId);
+            if (mVideo != null) {
+                mAnimationController.attachView(mVideo, mPreviewImage, mPlayButton);
             }
         }
     }
 
-    private void releaseMediaPlayer() {
-        if (mMediaPlayer != null) {
-            mMediaPlayer.stop();
-            mMediaPlayer.reset();
-            mMediaPlayer.release();
-            mMediaPlayer = null;
-            mVideoReady = false;
+    private void releaseAnimationController() {
+        if (mAnimationController != null) {
+            mAnimationController.release();
+            mAnimationController = null;
         }
     }
 
-    public boolean isVideoPaused() {
-        return mVideoPaused;
+    public boolean isAnimationAvailable() {
+        return mAnimationAvailable;
     }
 
     /**
      * sets the height of the video preference
+     *
      * @param height in dp
      */
     public void setHeight(float height) {
@@ -265,6 +199,52 @@
 
     @VisibleForTesting
     void updateAspectRatio() {
-        mAspectRatio = mMediaPlayer.getVideoWidth() / (float) mMediaPlayer.getVideoHeight();
+        mAspectRatio = mAnimationController.getVideoWidth()
+                / (float) mAnimationController.getVideoHeight();
+    }
+
+    /**
+     * Handle animation operations.
+     */
+    interface AnimationController {
+        /**
+         * Pauses the animation.
+         */
+        void pause();
+
+        /**
+         * Starts the animation.
+         */
+        void start();
+
+        /**
+         * Releases the animation object.
+         */
+        void release();
+
+        /**
+         * Attaches the animation to UI view.
+         */
+        void attachView(TextureView video, View preview, View playButton);
+
+        /**
+         * Returns the animation Width.
+         */
+        int getVideoWidth();
+
+        /**
+         * Returns the animation Height.
+         */
+        int getVideoHeight();
+
+        /**
+         * Returns the animation duration.
+         */
+        int getDuration();
+
+        /**
+         * Returns if the animation is playing.
+         */
+        boolean isPlaying();
     }
 }
diff --git a/src/com/android/settings/widget/VideoPreferenceController.java b/src/com/android/settings/widget/VideoPreferenceController.java
index 78a837c..87d35ee 100644
--- a/src/com/android/settings/widget/VideoPreferenceController.java
+++ b/src/com/android/settings/widget/VideoPreferenceController.java
@@ -22,14 +22,13 @@
 
 import com.android.settings.core.BasePreferenceController;
 import com.android.settingslib.core.lifecycle.LifecycleObserver;
-import com.android.settingslib.core.lifecycle.events.OnPause;
-import com.android.settingslib.core.lifecycle.events.OnResume;
+import com.android.settingslib.core.lifecycle.events.OnStart;
+import com.android.settingslib.core.lifecycle.events.OnStop;
 
 public class VideoPreferenceController extends BasePreferenceController implements
-        LifecycleObserver, OnResume, OnPause {
+        LifecycleObserver, OnStart, OnStop {
 
     private VideoPreference mVideoPreference;
-    private boolean mVideoPaused;
 
     public VideoPreferenceController(Context context, String preferenceKey) {
         super(context, preferenceKey);
@@ -37,28 +36,27 @@
 
     @Override
     public int getAvailabilityStatus() {
-        return AVAILABLE_UNSEARCHABLE;
+        return mVideoPreference != null && mVideoPreference.isAnimationAvailable() ?
+                AVAILABLE_UNSEARCHABLE : UNSUPPORTED_ON_DEVICE;
     }
 
     @Override
     public void displayPreference(PreferenceScreen screen) {
-        super.displayPreference(screen);
         mVideoPreference = screen.findPreference(getPreferenceKey());
+        super.displayPreference(screen);
     }
 
     @Override
-    public void onPause() {
+    public void onStart() {
         if (mVideoPreference != null) {
-            mVideoPaused = mVideoPreference.isVideoPaused();
+            mVideoPreference.onViewVisible();
+        }
+    }
+
+    @Override
+    public void onStop() {
+        if (mVideoPreference != null) {
             mVideoPreference.onViewInvisible();
         }
     }
-
-    @Override
-    public void onResume() {
-        if (mVideoPreference != null) {
-            mVideoPreference.onViewVisible(mVideoPaused);
-        }
-    }
-
 }
diff --git a/src/com/android/settings/wifi/AddNetworkFragment.java b/src/com/android/settings/wifi/AddNetworkFragment.java
index 81b6c85..2f0ecad 100644
--- a/src/com/android/settings/wifi/AddNetworkFragment.java
+++ b/src/com/android/settings/wifi/AddNetworkFragment.java
@@ -43,7 +43,6 @@
     @VisibleForTesting
     final static int CANCEL_BUTTON_ID = android.R.id.button2;
     final static int SSID_SCANNER_BUTTON_ID = R.id.ssid_scanner_button;
-    final static int PASSWORD_SCANNER_BUTTON_ID = R.id.password_scanner_button;
 
     private static final int REQUEST_CODE_WIFI_DPP_ENROLLEE_QR_CODE_SCANNER = 0;
 
@@ -74,11 +73,9 @@
         mSubmitBtn = rootView.findViewById(SUBMIT_BUTTON_ID);
         mCancelBtn = rootView.findViewById(CANCEL_BUTTON_ID);
         final ImageButton ssidScannerButton = rootView.findViewById(SSID_SCANNER_BUTTON_ID);
-        final ImageButton passwordScannerButton = rootView.findViewById(PASSWORD_SCANNER_BUTTON_ID);
         mSubmitBtn.setOnClickListener(this);
         mCancelBtn.setOnClickListener(this);
         ssidScannerButton.setOnClickListener(this);
-        passwordScannerButton.setOnClickListener(this);
         mUIController = new WifiConfigController(this, rootView, null, getMode());
 
         return rootView;
@@ -92,24 +89,17 @@
 
     @Override
     public void onClick(View view) {
-        String ssid = null;
+        if (view.getId() == SUBMIT_BUTTON_ID) {
+            handleSubmitAction();
+        } else if (view.getId() == CANCEL_BUTTON_ID) {
+            handleCancelAction();
+        } else if (view.getId() == SSID_SCANNER_BUTTON_ID) {
+            final TextView ssidEditText = getView().findViewById(R.id.ssid);
+            final String ssid = ssidEditText.getText().toString();
 
-        switch (view.getId()) {
-            case SUBMIT_BUTTON_ID:
-                handleSubmitAction();
-                break;
-            case CANCEL_BUTTON_ID:
-                handleCancelAction();
-                break;
-            case SSID_SCANNER_BUTTON_ID:
-                final TextView ssidEditText = getView().findViewById(R.id.ssid);
-                ssid = ssidEditText.getText().toString();
-                // No break and flows to case PASSWORD_SCANNER_BUTTON_ID
-            case PASSWORD_SCANNER_BUTTON_ID:
-                // Launch QR code scanner to join a network.
-                startActivityForResult(WifiDppUtils.getEnrolleeQrCodeScannerIntent(ssid),
-                        REQUEST_CODE_WIFI_DPP_ENROLLEE_QR_CODE_SCANNER);
-                break;
+            // Launch QR code scanner to join a network.
+            startActivityForResult(WifiDppUtils.getEnrolleeQrCodeScannerIntent(ssid),
+                    REQUEST_CODE_WIFI_DPP_ENROLLEE_QR_CODE_SCANNER);
         }
     }
 
diff --git a/src/com/android/settings/wifi/AppStateChangeWifiStateBridge.java b/src/com/android/settings/wifi/AppStateChangeWifiStateBridge.java
index 19687fc..727c61e 100644
--- a/src/com/android/settings/wifi/AppStateChangeWifiStateBridge.java
+++ b/src/com/android/settings/wifi/AppStateChangeWifiStateBridge.java
@@ -83,7 +83,8 @@
 
         @Override
         public boolean filterApp(AppEntry info) {
-            if (info == null || info.extraInfo == null) {
+            if (info == null || info.extraInfo == null
+                    || !(info.extraInfo instanceof WifiSettingsState)) {
                 return false;
             }
             WifiSettingsState wifiSettingsState = (WifiSettingsState) info.extraInfo;
diff --git a/src/com/android/settings/wifi/CaptivePortalNetworkCallback.java b/src/com/android/settings/wifi/CaptivePortalNetworkCallback.java
index 9bcfba0..630476f 100644
--- a/src/com/android/settings/wifi/CaptivePortalNetworkCallback.java
+++ b/src/com/android/settings/wifi/CaptivePortalNetworkCallback.java
@@ -22,7 +22,7 @@
 import com.android.internal.util.Preconditions;
 
 /** Listens for changes to NetworkCapabilities to update the ConnectedAccessPointPreference. */
-final class CaptivePortalNetworkCallback extends NetworkCallback {
+class CaptivePortalNetworkCallback extends NetworkCallback {
 
     private final ConnectedAccessPointPreference mConnectedApPreference;
     private final Network mNetwork;
@@ -36,25 +36,42 @@
     }
 
     @Override
-    public void onLost(Network network) {
+    public final void onLost(Network network) {
         if (mNetwork.equals(network)) {
-            mIsCaptivePortal = false;
+            setIsCaptivePortal(false);
         }
     }
 
     @Override
-    public void onCapabilitiesChanged(Network network, NetworkCapabilities networkCapabilities) {
+    public final void onCapabilitiesChanged(Network network,
+            NetworkCapabilities networkCapabilities) {
         if (mNetwork.equals(network)) {
-            mIsCaptivePortal = WifiUtils.canSignIntoNetwork(networkCapabilities);
-            mConnectedApPreference.setCaptivePortal(mIsCaptivePortal);
+            boolean isCaptivePortal = WifiUtils.canSignIntoNetwork(networkCapabilities);
+            setIsCaptivePortal(isCaptivePortal);
+            mConnectedApPreference.setCaptivePortal(isCaptivePortal);
         }
     }
 
     /**
+     * Called when captive portal capability changes for the current network. Default implementation
+     * is a no-op. Use {@link CaptivePortalNetworkCallback#isCaptivePortal()} to read new
+     * capability.
+     */
+    public void onCaptivePortalCapabilityChanged() {}
+
+    private void setIsCaptivePortal(boolean isCaptivePortal) {
+        if (isCaptivePortal == mIsCaptivePortal) {
+            return;
+        }
+        mIsCaptivePortal = isCaptivePortal;
+        onCaptivePortalCapabilityChanged();
+    }
+
+    /**
      * Returns true if the supplied network and preference are not null and are the same as the
      * originally supplied values.
      */
-    public boolean isSameNetworkAndPreference(
+    public final boolean isSameNetworkAndPreference(
             Network network, ConnectedAccessPointPreference connectedApPreference) {
         return mNetwork.equals(network) && mConnectedApPreference == connectedApPreference;
     }
@@ -63,12 +80,12 @@
      * Returns true if the most recent update to the NetworkCapabilities indicates a captive portal
      * network and the Network was not lost in the interim.
      */
-    public boolean isCaptivePortal() {
+    public final boolean isCaptivePortal() {
         return mIsCaptivePortal;
     }
 
     /** Returns the currently associated network. */
-    public Network getNetwork() {
+    public final Network getNetwork() {
         return mNetwork;
     }
 }
diff --git a/src/com/android/settings/wifi/CellularFallbackPreferenceController.java b/src/com/android/settings/wifi/CellularFallbackPreferenceController.java
index 0167789..eab50a6 100644
--- a/src/com/android/settings/wifi/CellularFallbackPreferenceController.java
+++ b/src/com/android/settings/wifi/CellularFallbackPreferenceController.java
@@ -68,12 +68,11 @@
 
     @VisibleForTesting
     Resources getResourcesForSubId(int subscriptionId) {
-        return SubscriptionManager.getResourcesForSubId(mContext, subscriptionId,
-                false /* useRootLocale */);
+        return SubscriptionManager.getResourcesForSubId(mContext, subscriptionId);
     }
 
     private boolean avoidBadWifiCurrentSettings() {
         return "1".equals(Settings.Global.getString(mContext.getContentResolver(),
                 Settings.Global.NETWORK_AVOID_BAD_WIFI));
     }
-}
+}
\ No newline at end of file
diff --git a/src/com/android/settings/wifi/ConfigureAccessPointFragment.java b/src/com/android/settings/wifi/ConfigureAccessPointFragment.java
new file mode 100644
index 0000000..a3090a8
--- /dev/null
+++ b/src/com/android/settings/wifi/ConfigureAccessPointFragment.java
@@ -0,0 +1,175 @@
+/*
+ * 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;
+
+import android.app.ActionBar;
+import android.app.Activity;
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.content.Intent;
+import android.os.Bundle;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.Button;
+
+import com.android.settings.R;
+import com.android.settings.core.InstrumentedFragment;
+import com.android.settingslib.wifi.AccessPoint;
+
+import androidx.annotation.VisibleForTesting;
+
+/**
+ * Detail page for configuring Wi-Fi network.
+ *
+ * The AccessPoint should be saved to the argument when launching this class in order to properly
+ * render this page.
+ */
+public class ConfigureAccessPointFragment extends InstrumentedFragment implements WifiConfigUiBase {
+
+    public static final String NETWORK_CONFIG_KEY = "network_config_key";
+
+    private static final int SUBMIT_BUTTON_ID = android.R.id.button1;
+    private static final int CANCEL_BUTTON_ID = android.R.id.button2;
+
+    private WifiConfigController mUiController;
+    private Button mSubmitBtn;
+    private Button mCancelBtn;
+    private AccessPoint mAccessPoint;
+
+    @Override
+    public void onAttach(Context context) {
+        super.onAttach(context);
+        mAccessPoint = new AccessPoint(context, getArguments());
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.SETTINGS_WIFI_CONFIGURE_NETWORK;
+    }
+
+    @Override
+    public View onCreateView(LayoutInflater inflater, ViewGroup container,
+            Bundle savedInstanceState) {
+        final View rootView = inflater.inflate(R.layout.wifi_add_network_view,
+                container, false /* attachToRoot */);
+
+        final Button neutral = rootView.findViewById(android.R.id.button3);
+        if (neutral != null) {
+            neutral.setVisibility(View.GONE);
+        }
+
+        mSubmitBtn = rootView.findViewById(SUBMIT_BUTTON_ID);
+        mCancelBtn = rootView.findViewById(CANCEL_BUTTON_ID);
+        mSubmitBtn.setOnClickListener(view -> handleSubmitAction());
+        mCancelBtn.setOnClickListener(view -> handleCancelAction());
+
+        mUiController = new WifiConfigController(this, rootView, mAccessPoint,
+                getMode(), false /* requestFocus */);
+
+        /**
+         * For this add AccessPoint UI, need to remove the Home button, so set related feature as
+         * false.
+         */
+        final ActionBar actionBar = getActivity().getActionBar();
+        if (actionBar != null) {
+            actionBar.setDisplayHomeAsUpEnabled(false);
+            actionBar.setHomeButtonEnabled(false);
+            actionBar.setDisplayShowHomeEnabled(false);
+        }
+
+        return rootView;
+    }
+
+    @Override
+    public void onViewStateRestored(Bundle savedInstanceState) {
+        super.onViewStateRestored(savedInstanceState);
+        mUiController.updatePassword();
+    }
+
+    @Override
+    public int getMode() {
+        return WifiConfigUiBase.MODE_CONNECT;
+    }
+
+    @Override
+    public WifiConfigController getController() {
+        return mUiController;
+    }
+
+    @Override
+    public void dispatchSubmit() {
+        // Do nothing
+    }
+
+    @Override
+    public void setTitle(int id) {
+        getActivity().setTitle(id);
+    }
+
+    @Override
+    public void setTitle(CharSequence title) {
+        getActivity().setTitle(title);
+    }
+
+    @Override
+    public void setSubmitButton(CharSequence text) {
+        mSubmitBtn.setText(text);
+    }
+
+    @Override
+    public void setCancelButton(CharSequence text) {
+        mCancelBtn.setText(text);
+    }
+
+    @Override
+    public void setForgetButton(CharSequence text) {
+        // AddNetwork doesn't need forget button.
+    }
+
+    @Override
+    public Button getSubmitButton() {
+        return mSubmitBtn;
+    }
+
+    @Override
+    public Button getCancelButton() {
+        return mCancelBtn;
+    }
+
+    @Override
+    public Button getForgetButton() {
+        // AddNetwork doesn't need forget button.
+        return null;
+    }
+
+    @VisibleForTesting
+    void handleSubmitAction() {
+        final Intent intent = new Intent();
+        final Activity activity = getActivity();
+        intent.putExtra(NETWORK_CONFIG_KEY, mUiController.getConfig());
+        activity.setResult(Activity.RESULT_OK, intent);
+        activity.finish();
+    }
+
+    @VisibleForTesting
+    void handleCancelAction() {
+        final Activity activity = getActivity();
+        activity.setResult(Activity.RESULT_CANCELED);
+        activity.finish();
+    }
+}
diff --git a/src/com/android/settings/wifi/ConfigureWifiEntryFragment.java b/src/com/android/settings/wifi/ConfigureWifiEntryFragment.java
new file mode 100644
index 0000000..a28f990
--- /dev/null
+++ b/src/com/android/settings/wifi/ConfigureWifiEntryFragment.java
@@ -0,0 +1,238 @@
+/*
+ * 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;
+
+import android.app.ActionBar;
+import android.app.Activity;
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.content.Intent;
+import android.net.ConnectivityManager;
+import android.net.NetworkScoreManager;
+import android.net.wifi.WifiManager;
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.HandlerThread;
+import android.os.Looper;
+import android.os.Process;
+import android.os.SimpleClock;
+import android.os.SystemClock;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.Button;
+
+import androidx.annotation.VisibleForTesting;
+
+import com.android.settings.R;
+import com.android.settings.core.InstrumentedFragment;
+import com.android.settings.wifi.details2.WifiNetworkDetailsFragment2;
+import com.android.wifitrackerlib.NetworkDetailsTracker;
+import com.android.wifitrackerlib.WifiEntry;
+
+import java.time.Clock;
+import java.time.ZoneOffset;
+
+/**
+ * Detail page for configuring Wi-Fi network.
+ *
+ * The WifiEntry should be saved to the argument when launching this class in order to properly
+ * render this page.
+ */
+public class ConfigureWifiEntryFragment extends InstrumentedFragment implements WifiConfigUiBase2 {
+
+    private static final String TAG = "ConfigureWifiEntryFragment";
+
+    public static final String NETWORK_CONFIG_KEY = "network_config_key";
+
+    private static final int SUBMIT_BUTTON_ID = android.R.id.button1;
+    private static final int CANCEL_BUTTON_ID = android.R.id.button2;
+
+    // Max age of tracked WifiEntries
+    private static final long MAX_SCAN_AGE_MILLIS = 15_000;
+    // Interval between initiating SavedNetworkTracker scans
+    private static final long SCAN_INTERVAL_MILLIS = 10_000;
+
+    private WifiConfigController2 mUiController;
+    private Button mSubmitBtn;
+    private Button mCancelBtn;
+    private WifiEntry mWifiEntry;
+    private NetworkDetailsTracker mNetworkDetailsTracker;
+    private HandlerThread mWorkerThread;
+
+    @Override
+    public void onAttach(Context context) {
+        super.onAttach(context);
+
+        setupNetworkDetailsTracker();
+        mWifiEntry = mNetworkDetailsTracker.getWifiEntry();
+    }
+
+    @Override
+    public void onDestroy() {
+        if (mWorkerThread != null) {
+            mWorkerThread.quit();
+        }
+
+        super.onDestroy();
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.SETTINGS_WIFI_CONFIGURE_NETWORK;
+    }
+
+    @Override
+    public View onCreateView(LayoutInflater inflater, ViewGroup container,
+            Bundle savedInstanceState) {
+        final View rootView = inflater.inflate(R.layout.wifi_add_network_view,
+                container, false /* attachToRoot */);
+
+        final Button neutral = rootView.findViewById(android.R.id.button3);
+        if (neutral != null) {
+            neutral.setVisibility(View.GONE);
+        }
+
+        mSubmitBtn = rootView.findViewById(SUBMIT_BUTTON_ID);
+        mCancelBtn = rootView.findViewById(CANCEL_BUTTON_ID);
+        mSubmitBtn.setOnClickListener(view -> handleSubmitAction());
+        mCancelBtn.setOnClickListener(view -> handleCancelAction());
+
+        mUiController = new WifiConfigController2(this, rootView, mWifiEntry,
+                getMode(), false /* requestFocus */);
+
+        /**
+         * For this add WifiEntry UI, need to remove the Home button, so set related feature as
+         * false.
+         */
+        final ActionBar actionBar = getActivity().getActionBar();
+        if (actionBar != null) {
+            actionBar.setDisplayHomeAsUpEnabled(false);
+            actionBar.setHomeButtonEnabled(false);
+            actionBar.setDisplayShowHomeEnabled(false);
+        }
+
+        return rootView;
+    }
+
+    @Override
+    public void onViewStateRestored(Bundle savedInstanceState) {
+        super.onViewStateRestored(savedInstanceState);
+        mUiController.updatePassword();
+    }
+
+    @Override
+    public int getMode() {
+        return WifiConfigUiBase2.MODE_CONNECT;
+    }
+
+    @Override
+    public WifiConfigController2 getController() {
+        return mUiController;
+    }
+
+    @Override
+    public void dispatchSubmit() {
+        // Do nothing
+    }
+
+    @Override
+    public void setTitle(int id) {
+        getActivity().setTitle(id);
+    }
+
+    @Override
+    public void setTitle(CharSequence title) {
+        getActivity().setTitle(title);
+    }
+
+    @Override
+    public void setSubmitButton(CharSequence text) {
+        mSubmitBtn.setText(text);
+    }
+
+    @Override
+    public void setCancelButton(CharSequence text) {
+        mCancelBtn.setText(text);
+    }
+
+    @Override
+    public void setForgetButton(CharSequence text) {
+        // AddNetwork doesn't need forget button.
+    }
+
+    @Override
+    public Button getSubmitButton() {
+        return mSubmitBtn;
+    }
+
+    @Override
+    public Button getCancelButton() {
+        return mCancelBtn;
+    }
+
+    @Override
+    public Button getForgetButton() {
+        // AddNetwork doesn't need forget button.
+        return null;
+    }
+
+    @VisibleForTesting
+    void handleSubmitAction() {
+        final Intent intent = new Intent();
+        final Activity activity = getActivity();
+        intent.putExtra(NETWORK_CONFIG_KEY, mUiController.getConfig());
+        activity.setResult(Activity.RESULT_OK, intent);
+        activity.finish();
+    }
+
+    @VisibleForTesting
+    void handleCancelAction() {
+        getActivity().finish();
+    }
+
+    private void setupNetworkDetailsTracker() {
+        if (mNetworkDetailsTracker != null) {
+            return;
+        }
+
+        final Context context = getContext();
+        mWorkerThread = new HandlerThread(TAG
+                + "{" + Integer.toHexString(System.identityHashCode(this)) + "}",
+                Process.THREAD_PRIORITY_BACKGROUND);
+        mWorkerThread.start();
+        final Clock elapsedRealtimeClock = new SimpleClock(ZoneOffset.UTC) {
+            @Override
+            public long millis() {
+                return SystemClock.elapsedRealtime();
+            }
+        };
+
+        mNetworkDetailsTracker = NetworkDetailsTracker.createNetworkDetailsTracker(
+                getSettingsLifecycle(),
+                context,
+                context.getSystemService(WifiManager.class),
+                context.getSystemService(ConnectivityManager.class),
+                context.getSystemService(NetworkScoreManager.class),
+                new Handler(Looper.getMainLooper()),
+                mWorkerThread.getThreadHandler(),
+                elapsedRealtimeClock,
+                MAX_SCAN_AGE_MILLIS,
+                SCAN_INTERVAL_MILLIS,
+                getArguments().getString(WifiNetworkDetailsFragment2.KEY_CHOSEN_WIFIENTRY_KEY));
+    }
+}
diff --git a/src/com/android/settings/wifi/ConfigureWifiSettings.java b/src/com/android/settings/wifi/ConfigureWifiSettings.java
index 718f7fb..3009ae7 100644
--- a/src/com/android/settings/wifi/ConfigureWifiSettings.java
+++ b/src/com/android/settings/wifi/ConfigureWifiSettings.java
@@ -20,21 +20,16 @@
 import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.content.Intent;
-import android.net.ConnectivityManager;
-import android.net.NetworkInfo;
 import android.net.wifi.WifiManager;
-import android.provider.SearchIndexableResource;
 
 import com.android.settings.R;
 import com.android.settings.dashboard.DashboardFragment;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
 import com.android.settings.wifi.p2p.WifiP2pPreferenceController;
 import com.android.settingslib.core.AbstractPreferenceController;
 import com.android.settingslib.search.SearchIndexable;
 
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.List;
 
 @SearchIndexable
@@ -42,7 +37,6 @@
 
     private static final String TAG = "ConfigureWifiSettings";
 
-    public static final String KEY_IP_ADDRESS = "current_ip_address";
     public static final int WIFI_WAKEUP_REQUEST_CODE = 600;
 
     private WifiWakeupPreferenceController mWifiWakeupPreferenceController;
@@ -74,64 +68,40 @@
 
     @Override
     protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
-        mWifiWakeupPreferenceController = new WifiWakeupPreferenceController(context, this,
-                getSettingsLifecycle());
-        mUseOpenWifiPreferenceController = new UseOpenWifiPreferenceController(context, this,
-                getSettingsLifecycle());
         final WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);
         final List<AbstractPreferenceController> controllers = new ArrayList<>();
-        controllers.add(mWifiWakeupPreferenceController);
-        controllers.add(new NotifyOpenNetworksPreferenceController(context,
-                getSettingsLifecycle()));
-        controllers.add(mUseOpenWifiPreferenceController);
-        controllers.add(new WifiInfoPreferenceController(context, getSettingsLifecycle(),
-                wifiManager));
         controllers.add(new WifiP2pPreferenceController(context, getSettingsLifecycle(),
                 wifiManager));
         return controllers;
     }
 
     @Override
+    public void onAttach(Context context) {
+        super.onAttach(context);
+
+
+        mWifiWakeupPreferenceController = use(WifiWakeupPreferenceController.class);
+        mWifiWakeupPreferenceController.setFragment(this);
+
+        mUseOpenWifiPreferenceController = use(UseOpenWifiPreferenceController.class);
+        mUseOpenWifiPreferenceController.setFragment(this);
+    }
+
+    @Override
     public void onActivityResult(int requestCode, int resultCode, Intent data) {
-        if (requestCode == WIFI_WAKEUP_REQUEST_CODE && mWifiWakeupPreferenceController != null) {
+        if (requestCode == WIFI_WAKEUP_REQUEST_CODE) {
             mWifiWakeupPreferenceController.onActivityResult(requestCode, resultCode);
             return;
         }
-        if (requestCode == UseOpenWifiPreferenceController.REQUEST_CODE_OPEN_WIFI_AUTOMATICALLY
-                && mUseOpenWifiPreferenceController != null) {
+        if (requestCode == UseOpenWifiPreferenceController.REQUEST_CODE_OPEN_WIFI_AUTOMATICALLY) {
             mUseOpenWifiPreferenceController.onActivityResult(requestCode, resultCode);
             return;
         }
         super.onActivityResult(requestCode, resultCode, data);
     }
 
-    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
-                        boolean enabled) {
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.wifi_configure_settings;
-                    return Arrays.asList(sir);
-                }
-
-                @Override
-                public List<String> getNonIndexableKeys(Context context) {
-                    List<String> keys = super.getNonIndexableKeys(context);
-
-                    // If connected to WiFi, this IP address will be the same as the Status IP.
-                    // Or, if there is no connection they will say unavailable.
-                    ConnectivityManager cm = (ConnectivityManager)
-                            context.getSystemService(Context.CONNECTIVITY_SERVICE);
-                    NetworkInfo info = cm.getActiveNetworkInfo();
-                    if (info == null
-                            || info.getType() == ConnectivityManager.TYPE_WIFI) {
-                        keys.add(KEY_IP_ADDRESS);
-                    }
-
-                    return keys;
-                }
-
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.wifi_configure_settings) {
                 protected boolean isPageSearchEnabled(Context context) {
                     return context.getResources()
                             .getBoolean(R.bool.config_show_wifi_settings);
diff --git a/src/com/android/settings/wifi/ConnectedWifiEntryPreference.java b/src/com/android/settings/wifi/ConnectedWifiEntryPreference.java
new file mode 100644
index 0000000..afba0d8
--- /dev/null
+++ b/src/com/android/settings/wifi/ConnectedWifiEntryPreference.java
@@ -0,0 +1,83 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.settings.wifi;
+
+import android.content.Context;
+import android.view.View;
+
+import androidx.fragment.app.Fragment;
+import androidx.preference.PreferenceViewHolder;
+
+import com.android.settingslib.R;
+import com.android.settingslib.wifi.LongPressWifiEntryPreference;
+import com.android.wifitrackerlib.WifiEntry;
+
+/**
+ * An AP preference for the currently connected AP.
+ */
+public class ConnectedWifiEntryPreference extends LongPressWifiEntryPreference implements
+        View.OnClickListener {
+
+    private OnGearClickListener mOnGearClickListener;
+
+    public ConnectedWifiEntryPreference(Context context, WifiEntry wifiEntry, Fragment fragment) {
+        super(context, wifiEntry, fragment);
+        setWidgetLayoutResource(R.layout.preference_widget_gear_optional_background);
+    }
+
+    /**
+     * Set gear icon click callback listener.
+     */
+    public void setOnGearClickListener(OnGearClickListener l) {
+        mOnGearClickListener = l;
+        notifyChanged();
+    }
+
+    @Override
+    public void onBindViewHolder(PreferenceViewHolder holder) {
+        super.onBindViewHolder(holder);
+
+        final View gear = holder.findViewById(R.id.settings_button);
+        gear.setOnClickListener(this);
+
+        final boolean canSignIn = getWifiEntry().canSignIn();
+        holder.findViewById(R.id.settings_button_no_background).setVisibility(
+                canSignIn ? View.INVISIBLE : View.VISIBLE);
+        gear.setVisibility(canSignIn ? View.VISIBLE : View.INVISIBLE);
+        holder.findViewById(R.id.two_target_divider).setVisibility(
+                canSignIn ? View.VISIBLE : View.INVISIBLE);
+    }
+
+    @Override
+    public void onClick(View v) {
+        if (v.getId() == R.id.settings_button) {
+            if (mOnGearClickListener != null) {
+                mOnGearClickListener.onGearClick(this);
+            }
+        }
+    }
+
+    /**
+     * Gear Icon click callback interface.
+     */
+    public interface OnGearClickListener {
+        /**
+         * The callback triggered when gear icon is clicked.
+         */
+        void onGearClick(ConnectedWifiEntryPreference p);
+    }
+
+}
diff --git a/src/com/android/settings/wifi/NetworkRequestDialogActivity.java b/src/com/android/settings/wifi/NetworkRequestDialogActivity.java
index 5d89f77..49e167e 100644
--- a/src/com/android/settings/wifi/NetworkRequestDialogActivity.java
+++ b/src/com/android/settings/wifi/NetworkRequestDialogActivity.java
@@ -16,23 +16,247 @@
 
 package com.android.settings.wifi;
 
+import android.app.ProgressDialog;
+import android.content.Intent;
+import android.net.wifi.ScanResult;
+import android.net.wifi.WifiConfiguration;
+import android.net.wifi.WifiInfo;
+import android.net.wifi.WifiManager;
+import android.net.wifi.WifiManager.NetworkRequestMatchCallback;
+import android.net.wifi.WifiManager.NetworkRequestUserSelectionCallback;
 import android.os.Bundle;
+import android.os.Handler;
+import android.os.HandlerExecutor;
+import android.os.Message;
+import android.widget.Toast;
 
 import androidx.annotation.Nullable;
 import androidx.fragment.app.FragmentActivity;
 
+import com.android.settings.R;
+import com.android.settings.wifi.NetworkRequestErrorDialogFragment.ERROR_DIALOG_TYPE;
+
+import java.util.List;
+
 /**
  * When other applications request to have a wifi connection, framework will bring up this activity
- * to let user select which wifi ap wanna to connect. This activity is just a door for framework
- * call, and main functional process is at {@code NetworkRequestDialogFragment}.
+ * to let user select which wifi ap wanna to connect. This activity contains
+ * {@code NetworkRequestDialogFragment}, {@code NetworkRequestSingleSsidDialogFragment} to show UI
+ * and handles framework callback.
  */
-public class NetworkRequestDialogActivity extends FragmentActivity {
+public class NetworkRequestDialogActivity extends FragmentActivity implements
+        NetworkRequestMatchCallback {
+    private static String TAG = "NetworkRequestDialogActivity";
+
+    /** Message sent to stop scanning wifi and pop up timeout dialog. */
+    private static final int MESSAGE_STOP_SCAN_WIFI_LIST = 0;
+
+    /** Delayed time to stop scanning wifi. */
+    private static final int DELAY_TIME_STOP_SCAN_MS = 30 * 1000;
+
+    final static String EXTRA_IS_SPECIFIED_SSID =
+        "com.android.settings.wifi.extra.REQUEST_IS_FOR_SINGLE_NETWORK";
+
+    private NetworkRequestDialogBaseFragment mDialogFragment;
+    private NetworkRequestUserSelectionCallback mUserSelectionCallback;
+    private boolean mIsSpecifiedSsid;
+    private boolean mShowingErrorDialog;
+    private WifiConfiguration mMatchedConfig;
+    private ProgressDialog mProgressDialog;
 
     @Override
     protected void onCreate(@Nullable Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
 
-        final NetworkRequestDialogFragment fragment = NetworkRequestDialogFragment.newInstance();
-        fragment.show(getSupportFragmentManager(), "NetworkRequestDialogFragment");
+        final Intent intent = getIntent();
+        if (intent != null) {
+            mIsSpecifiedSsid = intent.getBooleanExtra(EXTRA_IS_SPECIFIED_SSID, false);
+        }
+
+        if (mIsSpecifiedSsid) {
+            showProgressDialog(getString(R.string.network_connection_searching_message));
+        } else {
+            mDialogFragment = NetworkRequestDialogFragment.newInstance();
+            mDialogFragment.show(getSupportFragmentManager(), TAG);
+        }
+    }
+
+    private void showProgressDialog(String message) {
+        dismissDialogs();
+
+        mProgressDialog = new ProgressDialog(this);
+        mProgressDialog.setIndeterminate(true);
+        mProgressDialog.setCancelable(false);
+        mProgressDialog.setMessage(message);
+        mProgressDialog.show();
+    }
+
+    private void showSingleSsidRequestDialog(String ssid, boolean isTryAgain) {
+        dismissDialogs();
+
+        mDialogFragment = new NetworkRequestSingleSsidDialogFragment();
+        final Bundle bundle = new Bundle();
+        bundle.putString(NetworkRequestSingleSsidDialogFragment.EXTRA_SSID, ssid);
+        bundle.putBoolean(NetworkRequestSingleSsidDialogFragment.EXTRA_TRYAGAIN, isTryAgain);
+        mDialogFragment.setArguments(bundle);
+        mDialogFragment.show(getSupportFragmentManager(), TAG);
+    }
+
+    private void dismissDialogs() {
+        if (mDialogFragment != null) {
+            mDialogFragment.dismiss();
+            mDialogFragment = null;
+        }
+        if (mProgressDialog != null) {
+            mProgressDialog.dismiss();
+            mProgressDialog = null;
+        }
+    }
+
+    @Override
+    protected void onResume() {
+        super.onResume();
+
+        final WifiManager wifiManager = getSystemService(WifiManager.class);
+        if (wifiManager != null) {
+            wifiManager.registerNetworkRequestMatchCallback(new HandlerExecutor(mHandler), this);
+        }
+        // Sets time-out to stop scanning.
+        mHandler.sendEmptyMessageDelayed(MESSAGE_STOP_SCAN_WIFI_LIST, DELAY_TIME_STOP_SCAN_MS);
+    }
+
+    @Override
+    protected void onPause() {
+        mHandler.removeMessages(MESSAGE_STOP_SCAN_WIFI_LIST);
+        final WifiManager wifiManager = getSystemService(WifiManager.class);
+        if (wifiManager != null) {
+            wifiManager.unregisterNetworkRequestMatchCallback(this);
+        }
+
+        super.onPause();
+    }
+
+    private final Handler mHandler = new Handler() {
+        @Override
+        public void handleMessage(Message msg) {
+            switch (msg.what) {
+                case MESSAGE_STOP_SCAN_WIFI_LIST:
+                    removeMessages(MESSAGE_STOP_SCAN_WIFI_LIST);
+                    stopScanningAndPopErrorDialog(ERROR_DIALOG_TYPE.TIME_OUT);
+                    break;
+                default:
+                    // Do nothing.
+                    break;
+            }
+        }
+    };
+
+    protected void stopScanningAndPopErrorDialog(ERROR_DIALOG_TYPE type) {
+        dismissDialogs();
+
+        // Throws error dialog.
+        final NetworkRequestErrorDialogFragment dialogFragment =
+                NetworkRequestErrorDialogFragment.newInstance();
+        dialogFragment.setRejectCallback(mUserSelectionCallback);
+        final Bundle bundle = new Bundle();
+        bundle.putSerializable(NetworkRequestErrorDialogFragment.DIALOG_TYPE, type);
+        dialogFragment.setArguments(bundle);
+        dialogFragment.show(getSupportFragmentManager(), TAG);
+        mShowingErrorDialog = true;
+    }
+
+    @Override
+    public void onUserSelectionCallbackRegistration(
+        NetworkRequestUserSelectionCallback userSelectionCallback) {
+        if (mIsSpecifiedSsid) {
+            mUserSelectionCallback = userSelectionCallback;
+            return;
+        }
+
+        mDialogFragment.onUserSelectionCallbackRegistration(userSelectionCallback);
+    }
+
+    @Override
+    public void onAbort() {
+        stopScanningAndPopErrorDialog(ERROR_DIALOG_TYPE.ABORT);
+    }
+
+    @Override
+    public void onMatch(List<ScanResult> scanResults) {
+        if (mShowingErrorDialog) {
+            // Don't do anything since error dialog shows.
+            return;
+        }
+
+        mHandler.removeMessages(MESSAGE_STOP_SCAN_WIFI_LIST);
+
+        if (mIsSpecifiedSsid) {
+            // Prevent from throwing same dialog, because onMatch() will be called many times.
+            if (mMatchedConfig == null) {
+                mMatchedConfig = WifiUtils.getWifiConfig(
+                    null /* accesspoint */, scanResults.get(0), null /* password */);
+                showSingleSsidRequestDialog(
+                        WifiInfo.sanitizeSsid(mMatchedConfig.SSID), false /* isTryAgain */);
+            }
+            return;
+        }
+
+        mDialogFragment.onMatch(scanResults);
+    }
+
+    @Override
+    public void onUserSelectionConnectSuccess(WifiConfiguration wificonfiguration) {
+        if (!isFinishing()) {
+            Toast.makeText(this, R.string.network_connection_connect_successful, Toast.LENGTH_SHORT)
+                    .show();
+            setResult(RESULT_OK);
+            finish();
+        }
+    }
+
+    @Override
+    public void onUserSelectionConnectFailure(WifiConfiguration wificonfiguration) {
+        if (mIsSpecifiedSsid) {
+            showSingleSsidRequestDialog(
+                    WifiInfo.sanitizeSsid(mMatchedConfig.SSID), true /* isTryAgain */);
+            return;
+        }
+
+        mDialogFragment.onUserSelectionConnectFailure(wificonfiguration);
+    }
+
+    // Called when user click "Connect" button. Called by
+    // {@code NetworkRequestSingleSsidDialogFragment}.
+    public void onClickConnectButton() {
+        if (mUserSelectionCallback != null) {
+            mUserSelectionCallback.select(mMatchedConfig);
+            showProgressDialog(getString(R.string.network_connection_connecting_message));
+        }
+    }
+
+    // Called when user click retry button. Called by {@link NetworkRequestErrorDialogFragment}.
+    public void onClickRescanButton() {
+        // Sets time-out to stop scanning.
+        mHandler.sendEmptyMessageDelayed(MESSAGE_STOP_SCAN_WIFI_LIST, DELAY_TIME_STOP_SCAN_MS);
+
+        mShowingErrorDialog = false;
+
+        if (mIsSpecifiedSsid) {
+            mMatchedConfig = null;
+            showProgressDialog(getString(R.string.network_connection_searching_message));
+        } else {
+            mDialogFragment = NetworkRequestDialogFragment.newInstance();
+            mDialogFragment.show(getSupportFragmentManager(), TAG);
+        }
+    }
+
+    // Called when user click cancel button.
+    public void onCancel() {
+        dismissDialogs();
+
+        if (mUserSelectionCallback != null) {
+            mUserSelectionCallback.reject();
+        }
+        finish();
     }
 }
diff --git a/src/com/android/settings/wifi/NetworkRequestDialogBaseFragment.java b/src/com/android/settings/wifi/NetworkRequestDialogBaseFragment.java
new file mode 100644
index 0000000..eda3204
--- /dev/null
+++ b/src/com/android/settings/wifi/NetworkRequestDialogBaseFragment.java
@@ -0,0 +1,90 @@
+/*
+ * 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;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.net.wifi.ScanResult;
+import android.net.wifi.WifiConfiguration;
+import android.net.wifi.WifiManager.NetworkRequestUserSelectionCallback;
+import androidx.annotation.NonNull;
+import androidx.annotation.VisibleForTesting;
+import com.android.settings.R;
+import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
+import java.util.List;
+
+/**
+ * This is base fragment of {@link NetworkRequestDialogFragment} and
+ * {@link NetworkRequestSingleSsidDialogFragment} to handle activity callback methods.
+ */
+abstract public class NetworkRequestDialogBaseFragment extends InstrumentedDialogFragment {
+
+    @VisibleForTesting
+    final static String EXTRA_APP_NAME = "com.android.settings.wifi.extra.APP_NAME";
+
+    NetworkRequestDialogActivity mActivity = null;
+
+    protected String getTitle() {
+        final Intent intent = getActivity().getIntent();
+        String appName = "";
+        if (intent != null) {
+            appName = intent.getStringExtra(EXTRA_APP_NAME);
+        }
+
+        return getString(R.string.network_connection_request_dialog_title, appName);
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.WIFI_SCANNING_NEEDED_DIALOG;
+    }
+
+    @Override
+    public void onAttach(Context context) {
+        super.onAttach(context);
+        if (context instanceof NetworkRequestDialogActivity) {
+            mActivity = (NetworkRequestDialogActivity) context;
+        }
+    }
+
+    @Override
+    public void onDetach() {
+        super.onDetach();
+        mActivity = null;
+    }
+
+    @Override
+    public void onCancel(@NonNull DialogInterface dialog) {
+        super.onCancel(dialog);
+
+        if (mActivity != null) {
+            mActivity.onCancel();
+        }
+    }
+
+    protected void onUserSelectionCallbackRegistration(
+            NetworkRequestUserSelectionCallback userSelectionCallback) {
+    }
+
+    protected void onMatch(List<ScanResult> scanResults) {
+    }
+
+    protected void onUserSelectionConnectFailure(WifiConfiguration wificonfiguration) {
+    }
+}
diff --git a/src/com/android/settings/wifi/NetworkRequestDialogFragment.java b/src/com/android/settings/wifi/NetworkRequestDialogFragment.java
index ceda8a7..ee032ed 100644
--- a/src/com/android/settings/wifi/NetworkRequestDialogFragment.java
+++ b/src/com/android/settings/wifi/NetworkRequestDialogFragment.java
@@ -16,21 +16,15 @@
 
 package com.android.settings.wifi;
 
-import android.app.Activity;
 import android.app.Dialog;
-import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.content.DialogInterface;
-import android.content.Intent;
 import android.graphics.drawable.Drawable;
 import android.net.wifi.ScanResult;
 import android.net.wifi.WifiConfiguration;
-import android.net.wifi.WifiManager;
 import android.net.wifi.WifiManager.NetworkRequestMatchCallback;
 import android.net.wifi.WifiManager.NetworkRequestUserSelectionCallback;
 import android.os.Bundle;
-import android.os.Handler;
-import android.os.Message;
 import android.text.TextUtils;
 import android.view.LayoutInflater;
 import android.view.View;
@@ -40,7 +34,6 @@
 import android.widget.Button;
 import android.widget.ProgressBar;
 import android.widget.TextView;
-import android.widget.Toast;
 
 import androidx.annotation.NonNull;
 import androidx.annotation.VisibleForTesting;
@@ -48,8 +41,6 @@
 import androidx.preference.internal.PreferenceImageView;
 
 import com.android.settings.R;
-import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
-import com.android.settings.wifi.NetworkRequestErrorDialogFragment.ERROR_DIALOG_TYPE;
 import com.android.settingslib.Utils;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 import com.android.settingslib.wifi.AccessPoint;
@@ -64,11 +55,8 @@
  * behaviors of the callback when requesting wifi network, except for error message. When error
  * happens, {@link NetworkRequestErrorDialogFragment} will be called to display error message.
  */
-public class NetworkRequestDialogFragment extends InstrumentedDialogFragment implements
-        DialogInterface.OnClickListener, NetworkRequestMatchCallback {
-
-    /** Message sent to us to stop scanning wifi and pop up timeout dialog. */
-    private static final int MESSAGE_STOP_SCAN_WIFI_LIST = 0;
+public class NetworkRequestDialogFragment extends NetworkRequestDialogBaseFragment implements
+        DialogInterface.OnClickListener{
 
     /**
      * Spec defines there should be 5 wifi ap on the list at most or just show all if {@code
@@ -77,20 +65,11 @@
     private static final int MAX_NUMBER_LIST_ITEM = 5;
     private boolean mShowLimitedItem = true;
 
-    /** Delayed time to stop scanning wifi. */
-    private static final int DELAY_TIME_STOP_SCAN_MS = 30 * 1000;
-
-    @VisibleForTesting
-    final static String EXTRA_APP_NAME = "com.android.settings.wifi.extra.APP_NAME";
-    final static String EXTRA_IS_SPECIFIED_SSID =
-            "com.android.settings.wifi.extra.REQUEST_IS_FOR_SINGLE_NETWORK";
-
     private List<AccessPoint> mAccessPointList;
-    private FilterWifiTracker mFilterWifiTracker;
+    @VisibleForTesting
+    FilterWifiTracker mFilterWifiTracker;
     private AccessPointAdapter mDialogAdapter;
     private NetworkRequestUserSelectionCallback mUserSelectionCallback;
-    private boolean mIsSpecifiedSsid;
-    private boolean mWaitingConnectCallback;
 
     public static NetworkRequestDialogFragment newInstance() {
         NetworkRequestDialogFragment dialogFragment = new NetworkRequestDialogFragment();
@@ -108,11 +87,6 @@
         final TextView title = customTitle.findViewById(R.id.network_request_title_text);
         title.setText(getTitle());
 
-        final Intent intent = getActivity().getIntent();
-        if (intent != null) {
-            mIsSpecifiedSsid = intent.getBooleanExtra(EXTRA_IS_SPECIFIED_SSID, false);
-        }
-
         final ProgressBar progressBar = customTitle.findViewById(
                 R.id.network_request_title_progress);
         progressBar.setVisibility(View.VISIBLE);
@@ -128,9 +102,6 @@
                 // Do nothings, will replace the onClickListener to avoid auto closing dialog.
                 .setNeutralButton(R.string.network_connection_request_dialog_showall,
                         null /* OnClickListener */);
-        if (mIsSpecifiedSsid) {
-            builder.setPositiveButton(R.string.wifi_connect, null /* OnClickListener */);
-        }
 
         // Clicking list item is to connect wifi ap.
         final AlertDialog dialog = builder.create();
@@ -148,36 +119,14 @@
             neutralBtn.setVisibility(View.GONE);
             neutralBtn.setOnClickListener(v -> {
                 mShowLimitedItem = false;
-                renewAccessPointList(null /* List<ScanResult> */);
+                renewAccessPointList(null /* scanResults */);
                 notifyAdapterRefresh();
                 neutralBtn.setVisibility(View.GONE);
             });
-
-            // Replace Positive onClickListener to avoid closing dialog
-            if (mIsSpecifiedSsid) {
-                final Button positiveBtn = dialog.getButton(AlertDialog.BUTTON_POSITIVE);
-                positiveBtn.setOnClickListener(v -> {
-                    // When clicking connect button, should connect to the first and the only one
-                    // list item.
-                    this.onClick(dialog, 0 /* position */);
-                });
-                // Disable button in first, and enable it after there are some accesspoints in list.
-                positiveBtn.setEnabled(false);
-            }
         });
         return dialog;
     }
 
-    private String getTitle() {
-        final Intent intent = getActivity().getIntent();
-        String appName = "";
-        if (intent != null) {
-            appName = intent.getStringExtra(EXTRA_APP_NAME);
-        }
-
-        return getString(R.string.network_connection_request_dialog_title, appName);
-    }
-
     @NonNull
     List<AccessPoint> getAccessPointList() {
         // Initials list for adapter, in case of display crashing.
@@ -211,9 +160,6 @@
 
             if (wifiConfig != null) {
                 mUserSelectionCallback.select(wifiConfig);
-
-                mWaitingConnectCallback = true;
-                updateConnectButton(false);
             }
         }
     }
@@ -221,10 +167,6 @@
     @Override
     public void onCancel(@NonNull DialogInterface dialog) {
         super.onCancel(dialog);
-        // Finishes the activity when user clicks back key or outside of the dialog.
-        if (getActivity() != null) {
-            getActivity().finish();
-        }
         if (mUserSelectionCallback != null) {
             mUserSelectionCallback.reject();
         }
@@ -234,13 +176,6 @@
     public void onPause() {
         super.onPause();
 
-        mHandler.removeMessages(MESSAGE_STOP_SCAN_WIFI_LIST);
-        final WifiManager wifiManager = getContext().getApplicationContext()
-                .getSystemService(WifiManager.class);
-        if (wifiManager != null) {
-            wifiManager.unregisterNetworkRequestMatchCallback(this);
-        }
-
         if (mFilterWifiTracker != null) {
             mFilterWifiTracker.onPause();
         }
@@ -268,23 +203,6 @@
         }
     }
 
-    private void updateConnectButton(boolean enabled) {
-        // The button is only showed in single SSID mode.
-        if (!mIsSpecifiedSsid) {
-            return;
-        }
-
-        final AlertDialog alertDialog = (AlertDialog) getDialog();
-        if (alertDialog == null) {
-            return;
-        }
-
-        final Button positiveBtn = alertDialog.getButton(AlertDialog.BUTTON_POSITIVE);
-        if (positiveBtn != null) {
-            positiveBtn.setEnabled(enabled);
-        }
-    }
-
     private void hideProgressIcon() {
         final AlertDialog alertDialog = (AlertDialog) getDialog();
         if (alertDialog == null) {
@@ -301,58 +219,12 @@
     public void onResume() {
         super.onResume();
 
-        final WifiManager wifiManager = getContext().getApplicationContext()
-                .getSystemService(WifiManager.class);
-        if (wifiManager != null) {
-            wifiManager.registerNetworkRequestMatchCallback(this, mHandler);
-        }
-        // Sets time-out to stop scanning.
-        mHandler.sendEmptyMessageDelayed(MESSAGE_STOP_SCAN_WIFI_LIST, DELAY_TIME_STOP_SCAN_MS);
-
         if (mFilterWifiTracker == null) {
             mFilterWifiTracker = new FilterWifiTracker(getContext(), getSettingsLifecycle());
         }
         mFilterWifiTracker.onResume();
     }
 
-    private final Handler mHandler = new Handler() {
-        @Override
-        public void handleMessage(Message msg) {
-            switch (msg.what) {
-                case MESSAGE_STOP_SCAN_WIFI_LIST:
-                    removeMessages(MESSAGE_STOP_SCAN_WIFI_LIST);
-                    stopScanningAndPopErrorDialog(ERROR_DIALOG_TYPE.TIME_OUT);
-                    break;
-                default:
-                    // Do nothing.
-                    break;
-            }
-        }
-    };
-
-    protected void stopScanningAndPopErrorDialog(ERROR_DIALOG_TYPE type) {
-        // Dismisses current dialog.
-        final Dialog dialog =  getDialog();
-        if (dialog != null && dialog.isShowing()) {
-            dismiss();
-        }
-
-        // Throws error dialog.
-        final NetworkRequestErrorDialogFragment fragment = NetworkRequestErrorDialogFragment
-                .newInstance();
-        fragment.setRejectCallback(mUserSelectionCallback);
-        final Bundle bundle = new Bundle();
-        bundle.putSerializable(NetworkRequestErrorDialogFragment.DIALOG_TYPE, type);
-        fragment.setArguments(bundle);
-        fragment.show(getActivity().getSupportFragmentManager(),
-                NetworkRequestDialogFragment.class.getSimpleName());
-    }
-
-    @Override
-    public int getMetricsCategory() {
-        return SettingsEnums.WIFI_SCANNING_NEEDED_DIALOG;
-    }
-
     private class AccessPointAdapter extends ArrayAdapter<AccessPoint> {
 
         private final int mResourceId;
@@ -409,11 +281,6 @@
     }
 
     @Override
-    public void onAbort() {
-        stopScanningAndPopErrorDialog(ERROR_DIALOG_TYPE.ABORT);
-    }
-
-    @Override
     public void onUserSelectionCallbackRegistration(
             NetworkRequestUserSelectionCallback userSelectionCallback) {
         mUserSelectionCallback = userSelectionCallback;
@@ -423,7 +290,6 @@
     public void onMatch(List<ScanResult> scanResults) {
         // Shouldn't need to renew cached list, since input result is empty.
         if (scanResults != null && scanResults.size() > 0) {
-            mHandler.removeMessages(MESSAGE_STOP_SCAN_WIFI_LIST);
             renewAccessPointList(scanResults);
 
             notifyAdapterRefresh();
@@ -457,23 +323,12 @@
     }
 
     @Override
-    public void onUserSelectionConnectSuccess(WifiConfiguration wificonfiguration) {
-        final Activity activity = getActivity();
-        if (activity != null) {
-            Toast.makeText(activity, R.string.network_connection_connect_successful,
-                    Toast.LENGTH_SHORT).show();
-            activity.finish();
-        }
-    }
-
-    @Override
     public void onUserSelectionConnectFailure(WifiConfiguration wificonfiguration) {
         // Do nothing when selection is failed, let user could try again easily.
-        mWaitingConnectCallback = false;
-        updateConnectButton(true);
     }
 
-    private final class FilterWifiTracker {
+    @VisibleForTesting
+    final class FilterWifiTracker {
         private final List<String> mAccessPointKeys;
         private final WifiTracker mWifiTracker;
         private final Context mContext;
@@ -529,18 +384,12 @@
             if (count > 0) {
                 hideProgressIcon();
             }
-            // Enable connect button if there is Accesspoint item, except for the situation that
-            // user click but connected status doesn't come back yet.
-            if (count < 0) {
-                updateConnectButton(false);
-            } else if (!mWaitingConnectCallback) {
-                updateConnectButton(true);
-            }
 
             return result;
         }
 
-        private WifiTracker.WifiListener mWifiListener = new WifiTracker.WifiListener() {
+        @VisibleForTesting
+        WifiTracker.WifiListener mWifiListener = new WifiTracker.WifiListener() {
 
             @Override
             public void onWifiStateChanged(int state) {
@@ -554,6 +403,7 @@
 
             @Override
             public void onAccessPointsChanged() {
+                renewAccessPointList(null /* scanResults */);
                 notifyAdapterRefresh();
             }
         };
diff --git a/src/com/android/settings/wifi/NetworkRequestErrorDialogFragment.java b/src/com/android/settings/wifi/NetworkRequestErrorDialogFragment.java
index 9819474..57e1bca 100644
--- a/src/com/android/settings/wifi/NetworkRequestErrorDialogFragment.java
+++ b/src/com/android/settings/wifi/NetworkRequestErrorDialogFragment.java
@@ -19,13 +19,12 @@
 import android.app.Dialog;
 import android.app.settings.SettingsEnums;
 import android.content.DialogInterface;
-import android.os.Bundle;
 import android.net.wifi.WifiManager.NetworkRequestUserSelectionCallback;
+import android.os.Bundle;
 
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 import androidx.appcompat.app.AlertDialog;
-
 import com.android.settings.R;
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
 
@@ -68,7 +67,7 @@
         if (msgType == ERROR_DIALOG_TYPE.TIME_OUT) {
             builder.setMessage(R.string.network_connection_timeout_dialog_message)
                     .setPositiveButton(R.string.network_connection_timeout_dialog_ok,
-                            (dialog, which) -> startScanningDialog())
+                            (dialog, which) -> onRescanClick())
                     .setNegativeButton(R.string.cancel,
                             (dialog, which) -> rejectNetworkRequestAndFinish());
         } else {
@@ -89,10 +88,11 @@
         mRejectCallback = rejectCallback;
     }
 
-    protected void startScanningDialog() {
-        final NetworkRequestDialogFragment fragment = NetworkRequestDialogFragment.newInstance();
-        fragment.show(getActivity().getSupportFragmentManager(),
-                NetworkRequestErrorDialogFragment.class.getSimpleName());
+    protected void onRescanClick() {
+        if (getActivity() != null) {
+            dismiss();
+            ((NetworkRequestDialogActivity)getActivity()).onClickRescanButton();
+        }
     }
 
     private void rejectNetworkRequestAndFinish() {
diff --git a/src/com/android/settings/wifi/NetworkRequestSingleSsidDialogFragment.java b/src/com/android/settings/wifi/NetworkRequestSingleSsidDialogFragment.java
new file mode 100644
index 0000000..7a0ccbe
--- /dev/null
+++ b/src/com/android/settings/wifi/NetworkRequestSingleSsidDialogFragment.java
@@ -0,0 +1,59 @@
+package com.android.settings.wifi;
+
+import android.app.Dialog;
+import android.content.Context;
+import android.os.Bundle;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.widget.ProgressBar;
+import android.widget.TextView;
+import androidx.appcompat.app.AlertDialog;
+import com.android.settings.R;
+
+/**
+ * This is similar fragment with {@link NetworkRequestDialogFragment} but only for single SSID mode.
+ */
+public class NetworkRequestSingleSsidDialogFragment extends
+        NetworkRequestDialogBaseFragment {
+    public static final String EXTRA_SSID = "DIALOG_REQUEST_SSID";
+    public static final String EXTRA_TRYAGAIN = "DIALOG_IS_TRYAGAIN";
+
+    @Override
+    public Dialog onCreateDialog(Bundle savedInstanceState) {
+        boolean isTryAgain = false;
+        String requestSsid = "";
+        if (getArguments() != null) {
+            isTryAgain = getArguments().getBoolean(EXTRA_TRYAGAIN, true);
+            requestSsid = getArguments().getString(EXTRA_SSID, "");
+        }
+
+        final Context context = getContext();
+        final LayoutInflater inflater = LayoutInflater.from(context);
+
+        final View customTitle = inflater.inflate(R.layout.network_request_dialog_title, null);
+        final TextView title = customTitle.findViewById(R.id.network_request_title_text);
+        title.setText(getTitle());
+        final ProgressBar progressBar = customTitle
+                .findViewById(R.id.network_request_title_progress);
+        progressBar.setVisibility(View.GONE);
+
+        final AlertDialog.Builder builder = new AlertDialog.Builder(context)
+                .setCustomTitle(customTitle)
+                .setMessage(requestSsid)
+                .setPositiveButton(isTryAgain ? R.string.network_connection_timeout_dialog_ok
+                        : R.string.wifi_connect, (dialog, which) -> onUserClickConnectButton())
+                .setNeutralButton(R.string.cancel, (dialog, which) -> onCancel(dialog));
+
+        // Don't dismiss dialog when touching outside. User reports it is easy to touch outside.
+        // This causes dialog to close.
+        setCancelable(false);
+
+        return builder.create();
+    }
+
+    private void onUserClickConnectButton() {
+        if (mActivity != null) {
+            mActivity.onClickConnectButton();
+        }
+    }
+}
diff --git a/src/com/android/settings/wifi/NotifyOpenNetworksPreferenceController.java b/src/com/android/settings/wifi/NotifyOpenNetworksPreferenceController.java
index a46a828..6455f5b 100644
--- a/src/com/android/settings/wifi/NotifyOpenNetworksPreferenceController.java
+++ b/src/com/android/settings/wifi/NotifyOpenNetworksPreferenceController.java
@@ -22,38 +22,34 @@
 import android.net.Uri;
 import android.os.Handler;
 import android.provider.Settings;
-import android.text.TextUtils;
 
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
 
 import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settingslib.core.AbstractPreferenceController;
-import com.android.settingslib.core.lifecycle.Lifecycle;
+import com.android.settings.core.TogglePreferenceController;
 import com.android.settingslib.core.lifecycle.LifecycleObserver;
 import com.android.settingslib.core.lifecycle.events.OnPause;
 import com.android.settingslib.core.lifecycle.events.OnResume;
 
 /**
- * {@link AbstractPreferenceController} that controls whether we should notify user when open
+ * {@link TogglePreferenceController} that controls whether we should notify user when open
  * network is available.
  */
-public class NotifyOpenNetworksPreferenceController extends AbstractPreferenceController
+public class NotifyOpenNetworksPreferenceController extends TogglePreferenceController
         implements PreferenceControllerMixin, LifecycleObserver, OnResume, OnPause {
 
     private static final String KEY_NOTIFY_OPEN_NETWORKS = "notify_open_networks";
     private SettingObserver mSettingObserver;
 
-    public NotifyOpenNetworksPreferenceController(Context context, Lifecycle lifecycle) {
-        super(context);
-        lifecycle.addObserver(this);
+    public NotifyOpenNetworksPreferenceController(Context context) {
+        super(context, KEY_NOTIFY_OPEN_NETWORKS);
     }
 
     @Override
     public void displayPreference(PreferenceScreen screen) {
         super.displayPreference(screen);
-        mSettingObserver = new SettingObserver(screen.findPreference(KEY_NOTIFY_OPEN_NETWORKS));
+        mSettingObserver = new SettingObserver(screen.findPreference(getPreferenceKey()));
     }
 
     @Override
@@ -71,39 +67,24 @@
     }
 
     @Override
-    public boolean isAvailable() {
-        return true;
+    public int getAvailabilityStatus() {
+        return AVAILABLE;
     }
 
     @Override
-    public boolean handlePreferenceTreeClick(Preference preference) {
-        if (!TextUtils.equals(preference.getKey(), KEY_NOTIFY_OPEN_NETWORKS)) {
-            return false;
-        }
-        if (!(preference instanceof SwitchPreference)) {
-            return false;
-        }
+    public boolean isChecked() {
+        return Settings.Global.getInt(mContext.getContentResolver(),
+                Settings.Global.WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON, 0) == 1;
+    }
+
+    @Override
+    public boolean setChecked(boolean isChecked) {
         Settings.Global.putInt(mContext.getContentResolver(),
                 Settings.Global.WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON,
-                ((SwitchPreference) preference).isChecked() ? 1 : 0);
+                isChecked ? 1 : 0);
         return true;
     }
 
-    @Override
-    public String getPreferenceKey() {
-        return KEY_NOTIFY_OPEN_NETWORKS;
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        if (!(preference instanceof SwitchPreference)) {
-            return;
-        }
-        final SwitchPreference notifyOpenNetworks = (SwitchPreference) preference;
-        notifyOpenNetworks.setChecked(Settings.Global.getInt(mContext.getContentResolver(),
-                Settings.Global.WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON, 0) == 1);
-    }
-
     class SettingObserver extends ContentObserver {
         private final Uri NETWORKS_AVAILABLE_URI = Settings.Global.getUriFor(
                 Settings.Global.WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON);
diff --git a/src/com/android/settings/wifi/OWNERS b/src/com/android/settings/wifi/OWNERS
index 3090f13..ab0af7c 100644
--- a/src/com/android/settings/wifi/OWNERS
+++ b/src/com/android/settings/wifi/OWNERS
@@ -1,9 +1,4 @@
 # Default reviewers for this and subdirectories.
-asargent@google.com
-easchwar@google.com
-dling@google.com
-jlapenna@google.com
-sghuman@google.com
-zhfan@google.com
-
-# Emergency approvers in case the above are not available
\ No newline at end of file
+govenliu@google.com
+arcwang@google.com
+tmfang@google.com
diff --git a/src/com/android/settings/wifi/RequestToggleWiFiActivity.java b/src/com/android/settings/wifi/RequestToggleWiFiActivity.java
index 879a93e..034ec56 100644
--- a/src/com/android/settings/wifi/RequestToggleWiFiActivity.java
+++ b/src/com/android/settings/wifi/RequestToggleWiFiActivity.java
@@ -29,7 +29,6 @@
 import android.os.Bundle;
 import android.text.TextUtils;
 import android.util.Log;
-import android.widget.Toast;
 
 import androidx.annotation.NonNull;
 
@@ -313,11 +312,6 @@
                         finish();
                     }
                 } break;
-
-                case WifiManager.ERROR: {
-                    Toast.makeText(activity, R.string.wifi_error, Toast.LENGTH_SHORT).show();
-                    finish();
-                } break;
             }
         }
     }
diff --git a/src/com/android/settings/wifi/UseOpenWifiPreferenceController.java b/src/com/android/settings/wifi/UseOpenWifiPreferenceController.java
index eef2216..27cf1e2 100644
--- a/src/com/android/settings/wifi/UseOpenWifiPreferenceController.java
+++ b/src/com/android/settings/wifi/UseOpenWifiPreferenceController.java
@@ -17,12 +17,10 @@
 import androidx.fragment.app.Fragment;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
 
 import com.android.settings.R;
 import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settingslib.core.AbstractPreferenceController;
-import com.android.settingslib.core.lifecycle.Lifecycle;
+import com.android.settings.core.TogglePreferenceController;
 import com.android.settingslib.core.lifecycle.LifecycleObserver;
 import com.android.settingslib.core.lifecycle.events.OnPause;
 import com.android.settingslib.core.lifecycle.events.OnResume;
@@ -30,10 +28,10 @@
 import java.util.List;
 
 /**
- * {@link AbstractPreferenceController} that controls whether a user wants to enable the "use open
- * networks automatically" feature provider by the current network recommendation provider.
+ * {@link TogglePreferenceController} that controls whether a user wants to enable the "use open
+ * networks automatically" feature provided by the current network recommendation provider.
  */
-public class UseOpenWifiPreferenceController extends AbstractPreferenceController
+public class UseOpenWifiPreferenceController extends TogglePreferenceController
         implements PreferenceControllerMixin, Preference.OnPreferenceChangeListener,
         LifecycleObserver, OnResume, OnPause {
     public static final int REQUEST_CODE_OPEN_WIFI_AUTOMATICALLY = 400;
@@ -41,7 +39,7 @@
     private static final String KEY_USE_OPEN_WIFI_AUTOMATICALLY = "use_open_wifi_automatically";
 
     private final ContentResolver mContentResolver;
-    private final Fragment mFragment;
+    private Fragment mFragment;
     private final NetworkScoreManager mNetworkScoreManager;
     private final SettingObserver mSettingObserver;
 
@@ -49,17 +47,18 @@
     private ComponentName mEnableUseWifiComponentName;
     private boolean mDoFeatureSupportedScorersExist;
 
-    public UseOpenWifiPreferenceController(Context context, Fragment fragment,
-            Lifecycle lifecycle) {
-        super(context);
+    public UseOpenWifiPreferenceController(Context context) {
+        super(context, KEY_USE_OPEN_WIFI_AUTOMATICALLY);
         mContentResolver = context.getContentResolver();
-        mFragment = fragment;
         mNetworkScoreManager =
                 (NetworkScoreManager) context.getSystemService(Context.NETWORK_SCORE_SERVICE);
         mSettingObserver = new SettingObserver();
         updateEnableUseWifiComponentName();
         checkForFeatureSupportedScorers();
-        lifecycle.addObserver(this);
+    }
+
+    public void setFragment(Fragment hostFragment) {
+        mFragment = hostFragment;
     }
 
     private void updateEnableUseWifiComponentName() {
@@ -86,7 +85,7 @@
     @Override
     public void displayPreference(PreferenceScreen screen) {
         super.displayPreference(screen);
-        mPreference = screen.findPreference(KEY_USE_OPEN_WIFI_AUTOMATICALLY);
+        mPreference = screen.findPreference(getPreferenceKey());
     }
 
     @Override
@@ -100,67 +99,54 @@
     }
 
     @Override
-    public boolean isAvailable() {
-        return mDoFeatureSupportedScorersExist;
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return KEY_USE_OPEN_WIFI_AUTOMATICALLY;
+    public int getAvailabilityStatus() {
+        return mDoFeatureSupportedScorersExist ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
     }
 
     @Override
     public void updateState(Preference preference) {
-        if (!(preference instanceof SwitchPreference)) {
-            return;
-        }
-        final SwitchPreference useOpenWifiPreference = (SwitchPreference) preference;
+        super.updateState(preference);
 
-        boolean isScorerSet = mNetworkScoreManager.getActiveScorerPackage() != null;
-        boolean doesActiveScorerSupportFeature = mEnableUseWifiComponentName != null;
+        final boolean isScorerSet = mNetworkScoreManager.getActiveScorerPackage() != null;
+        final boolean doesActiveScorerSupportFeature = mEnableUseWifiComponentName != null;
 
-        useOpenWifiPreference.setChecked(isSettingEnabled());
-        useOpenWifiPreference.setVisible(isAvailable());
-        useOpenWifiPreference.setEnabled(isScorerSet && doesActiveScorerSupportFeature);
-
+        preference.setEnabled(isScorerSet && doesActiveScorerSupportFeature);
         if (!isScorerSet) {
-            useOpenWifiPreference.setSummary(
-                    R.string.use_open_wifi_automatically_summary_scoring_disabled);
+            preference.setSummary(R.string.use_open_wifi_automatically_summary_scoring_disabled);
         } else if (!doesActiveScorerSupportFeature) {
-            useOpenWifiPreference.setSummary(
+            preference.setSummary(
                     R.string.use_open_wifi_automatically_summary_scorer_unsupported_disabled);
         } else {
-            useOpenWifiPreference.setSummary(R.string.use_open_wifi_automatically_summary);
+            preference.setSummary(R.string.use_open_wifi_automatically_summary);
         }
     }
 
     @Override
-    public boolean onPreferenceChange(Preference preference, Object newValue) {
-        if (!TextUtils.equals(preference.getKey(), KEY_USE_OPEN_WIFI_AUTOMATICALLY)
-                || !isAvailable()) {
-            return false;
-        }
-
-        if (isSettingEnabled()) {
-            Settings.Global.putString(mContentResolver,
-                    Settings.Global.USE_OPEN_WIFI_PACKAGE, "");
-            return true;
-        }
-
-        Intent intent = new Intent(NetworkScoreManager.ACTION_CUSTOM_ENABLE);
-        intent.setComponent(mEnableUseWifiComponentName);
-        mFragment.startActivityForResult(intent, REQUEST_CODE_OPEN_WIFI_AUTOMATICALLY);
-        return false; // Updating state is done in onActivityResult.
-    }
-
-    private boolean isSettingEnabled() {
-        String enabledUseOpenWifiPackage = Settings.Global.getString(mContentResolver,
+    public boolean isChecked() {
+        final String enabledUseOpenWifiPackage = Settings.Global.getString(mContentResolver,
                 Settings.Global.USE_OPEN_WIFI_PACKAGE);
-        String currentUseOpenWifiPackage = mEnableUseWifiComponentName == null
+        final String currentUseOpenWifiPackage = mEnableUseWifiComponentName == null
                 ? null : mEnableUseWifiComponentName.getPackageName();
         return TextUtils.equals(enabledUseOpenWifiPackage, currentUseOpenWifiPackage);
     }
 
+    @Override
+    public boolean setChecked(boolean isChecked) {
+        if (isChecked) {
+            if (mFragment == null) {
+                throw new IllegalStateException("No fragment to start activity");
+            }
+
+            final Intent intent = new Intent(NetworkScoreManager.ACTION_CUSTOM_ENABLE);
+            intent.setComponent(mEnableUseWifiComponentName);
+            mFragment.startActivityForResult(intent, REQUEST_CODE_OPEN_WIFI_AUTOMATICALLY);
+            return false; // Updating state is done in onActivityResult.
+        } else {
+            Settings.Global.putString(mContentResolver, Settings.Global.USE_OPEN_WIFI_PACKAGE, "");
+            return true;
+        }
+    }
+
     public boolean onActivityResult(int requestCode, int resultCode) {
         if (requestCode != REQUEST_CODE_OPEN_WIFI_AUTOMATICALLY) {
             return false;
diff --git a/src/com/android/settings/wifi/WifiConfigController.java b/src/com/android/settings/wifi/WifiConfigController.java
index 8521a75..54026a5 100644
--- a/src/com/android/settings/wifi/WifiConfigController.java
+++ b/src/com/android/settings/wifi/WifiConfigController.java
@@ -28,25 +28,30 @@
 import android.net.StaticIpConfiguration;
 import android.net.Uri;
 import android.net.wifi.WifiConfiguration;
-import android.net.wifi.WifiConfiguration.AuthAlgorithm;
-import android.net.wifi.WifiConfiguration.KeyMgmt;
 import android.net.wifi.WifiEnterpriseConfig;
 import android.net.wifi.WifiEnterpriseConfig.Eap;
 import android.net.wifi.WifiEnterpriseConfig.Phase2;
 import android.net.wifi.WifiInfo;
 import android.net.wifi.WifiManager;
+import android.os.IBinder;
 import android.os.UserManager;
 import android.security.Credentials;
 import android.security.KeyStore;
 import android.text.Editable;
 import android.text.InputType;
+import android.text.SpannableString;
 import android.text.TextUtils;
 import android.text.TextWatcher;
+import android.util.FeatureFlagUtils;
 import android.util.Log;
 import android.view.KeyEvent;
 import android.view.View;
+import android.view.View.AccessibilityDelegate;
 import android.view.ViewGroup;
+import android.view.accessibility.AccessibilityNodeInfo;
+import android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction;
 import android.view.inputmethod.EditorInfo;
+import android.view.inputmethod.InputMethodManager;
 import android.widget.AdapterView;
 import android.widget.ArrayAdapter;
 import android.widget.Button;
@@ -64,6 +69,7 @@
 import com.android.settings.ProxySelector;
 import com.android.settings.R;
 import com.android.settings.wifi.details.WifiPrivacyPreferenceController;
+import com.android.settings.wifi.details2.WifiPrivacyPreferenceController2;
 import com.android.settings.wifi.dpp.WifiDppUtils;
 import com.android.settingslib.Utils;
 import com.android.settingslib.utils.ThreadUtils;
@@ -144,7 +150,6 @@
     int mAccessPointSecurity;
     private TextView mPasswordView;
     private ImageButton mSsidScanButton;
-    private ImageButton mPasswordScanButton;
 
     private String mUnspecifiedCertString;
     private String mMultipleCertSetString;
@@ -156,6 +161,7 @@
     private Spinner mSecuritySpinner;
     private Spinner mEapMethodSpinner;
     private Spinner mEapCaCertSpinner;
+    private Spinner mEapOcspSpinner;
     private TextView mEapDomainView;
     private Spinner mPhase2Spinner;
     // Associated with mPhase2Spinner, one of mPhase2TtlsAdapter or mPhase2PeapAdapter
@@ -186,6 +192,7 @@
     private ProxySettings mProxySettings = ProxySettings.UNASSIGNED;
     private ProxyInfo mHttpProxy = null;
     private StaticIpConfiguration mStaticIpConfiguration = null;
+    private boolean mRequestFocus = true;
 
     private String[] mLevels;
     private int mMode;
@@ -200,11 +207,17 @@
 
     public WifiConfigController(WifiConfigUiBase parent, View view, AccessPoint accessPoint,
             int mode) {
+        this (parent, view, accessPoint, mode, true /* requestFocus */);
+    }
+
+    public WifiConfigController(WifiConfigUiBase parent, View view, AccessPoint accessPoint,
+            int mode, boolean requestFocus) {
         mConfigUi = parent;
 
         mView = view;
         mAccessPoint = accessPoint;
         mContext = mConfigUi.getContext();
+        mRequestFocus = requestFocus;
 
         // Init Wi-Fi manager
         mWifiManager = (WifiManager) mContext.getSystemService(Context.WIFI_SERVICE);
@@ -234,20 +247,13 @@
         mLevels = res.getStringArray(R.array.wifi_signal);
         if (Utils.isWifiOnly(mContext) || !mContext.getResources().getBoolean(
                 com.android.internal.R.bool.config_eap_sim_based_auth_supported)) {
-            mPhase2PeapAdapter = new ArrayAdapter<CharSequence>(
-                    mContext, android.R.layout.simple_spinner_item,
-                    res.getStringArray(R.array.wifi_peap_phase2_entries));
+            mPhase2PeapAdapter = getSpinnerAdapter(R.array.wifi_peap_phase2_entries);
         } else {
-            mPhase2PeapAdapter = new ArrayAdapter<CharSequence>(
-                    mContext, android.R.layout.simple_spinner_item,
-                    res.getStringArray(R.array.wifi_peap_phase2_entries_with_sim_auth));
+            mPhase2PeapAdapter = getSpinnerAdapterWithEapMethodsTts(
+                R.array.wifi_peap_phase2_entries_with_sim_auth);
         }
-        mPhase2PeapAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
 
-        mPhase2TtlsAdapter = new ArrayAdapter<CharSequence>(
-                mContext, android.R.layout.simple_spinner_item,
-                res.getStringArray(R.array.wifi_ttls_phase2_entries));
-        mPhase2TtlsAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
+        mPhase2TtlsAdapter = getSpinnerAdapter(R.array.wifi_ttls_phase2_entries);
 
         mUnspecifiedCertString = mContext.getString(R.string.wifi_unspecified);
         mMultipleCertSetString = mContext.getString(R.string.wifi_multiple_cert_added);
@@ -258,7 +264,6 @@
             mContext.getString(R.string.wifi_do_not_validate_eap_server);
 
         mSsidScanButton = (ImageButton) mView.findViewById(R.id.ssid_scanner_button);
-        mPasswordScanButton = (ImageButton) mView.findViewById(R.id.password_scanner_button);
         mDialogContainer = mView.findViewById(R.id.dialog_scrollview);
         mIpSettingsSpinner = (Spinner) mView.findViewById(R.id.ip_settings);
         mIpSettingsSpinner.setOnItemSelectedListener(this);
@@ -268,8 +273,7 @@
         mMeteredSettingsSpinner = mView.findViewById(R.id.metered_settings);
         mHiddenSettingsSpinner = mView.findViewById(R.id.hidden_settings);
         mPrivacySettingsSpinner = mView.findViewById(R.id.privacy_settings);
-        if (mContext.getResources().getBoolean(
-                com.android.internal.R.bool.config_wifi_connected_mac_randomization_supported)) {
+        if (mWifiManager.isConnectedMacRandomizationSupported()) {
             View privacySettingsLayout = mView.findViewById(R.id.privacy_settings_fields);
             privacySettingsLayout.setVisibility(View.VISIBLE);
         }
@@ -284,7 +288,6 @@
         if (mAccessPoint == null) { // new network
             configureSecuritySpinner();
             mConfigUi.setSubmitButton(res.getString(R.string.wifi_save));
-            mPasswordScanButton.setVisibility(View.GONE);
         } else {
             mConfigUi.setTitle(mAccessPoint.getTitle());
 
@@ -298,16 +301,22 @@
                         ? HIDDEN_NETWORK
                         : NOT_HIDDEN_NETWORK);
 
-                final int prefMacValue =
-                        WifiPrivacyPreferenceController.translateMacRandomizedValueToPrefValue(
-                                config.macRandomizationSetting);
+                int prefMacValue;
+                if (FeatureFlagUtils.isEnabled(mContext, FeatureFlagUtils.SETTINGS_WIFITRACKER2)) {
+                    prefMacValue = WifiPrivacyPreferenceController2
+                            .translateMacRandomizedValueToPrefValue(config.macRandomizationSetting);
+                } else {
+                    prefMacValue = WifiPrivacyPreferenceController
+                            .translateMacRandomizedValueToPrefValue(config.macRandomizationSetting);
+                }
                 mPrivacySettingsSpinner.setSelection(prefMacValue);
 
-                if (config.getIpAssignment() == IpAssignment.STATIC) {
+                if (config.getIpConfiguration().getIpAssignment() == IpAssignment.STATIC) {
                     mIpSettingsSpinner.setSelection(STATIC_IP);
                     showAdvancedFields = true;
                     // Display IP address.
-                    StaticIpConfiguration staticConfig = config.getStaticIpConfiguration();
+                    StaticIpConfiguration staticConfig = config.getIpConfiguration()
+                            .getStaticIpConfiguration();
                     if (staticConfig != null && staticConfig.ipAddress != null) {
                         addRow(group, R.string.wifi_ip_address,
                                 staticConfig.ipAddress.getAddress().getHostAddress());
@@ -321,10 +330,11 @@
                     showAdvancedFields = true;
                 }
 
-                if (config.getProxySettings() == ProxySettings.STATIC) {
+                ProxySettings proxySettings = config.getIpConfiguration().getProxySettings();
+                if (proxySettings == ProxySettings.STATIC) {
                     mProxySettingsSpinner.setSelection(PROXY_STATIC);
                     showAdvancedFields = true;
-                } else if (config.getProxySettings() == ProxySettings.PAC) {
+                } else if (proxySettings == ProxySettings.PAC) {
                     mProxySettingsSpinner.setSelection(PROXY_PAC);
                     showAdvancedFields = true;
                 } else {
@@ -340,22 +350,20 @@
             if ((!mAccessPoint.isSaved() && !mAccessPoint.isActive()
                     && !mAccessPoint.isPasspointConfig())
                     || mMode != WifiConfigUiBase.MODE_VIEW) {
-                showSecurityFields(true /* refreshEapMethods */, true /* refreshCertificates */);
+                showSecurityFields(/* refreshEapMethods */ true, /* refreshCertificates */ true);
                 showIpConfigFields();
                 showProxyFields();
                 final CheckBox advancedTogglebox =
                         (CheckBox) mView.findViewById(R.id.wifi_advanced_togglebox);
-                mView.findViewById(R.id.wifi_advanced_toggle).setVisibility(
-                        mAccessPoint.isCarrierAp() ? View.GONE : View.VISIBLE);
-                advancedTogglebox.setOnCheckedChangeListener(this);
-                advancedTogglebox.setChecked(showAdvancedFields);
+                if (!showAdvancedFields) {
+                    // Need to show Advanced Option button.
+                    mView.findViewById(R.id.wifi_advanced_toggle).setVisibility(View.VISIBLE);
+                    advancedTogglebox.setOnCheckedChangeListener(this);
+                    advancedTogglebox.setChecked(showAdvancedFields);
+                    setAdvancedOptionAccessibilityString();
+                }
                 mView.findViewById(R.id.wifi_advanced_fields)
                         .setVisibility(showAdvancedFields ? View.VISIBLE : View.GONE);
-                if (mAccessPoint.isCarrierAp()) {
-                    addRow(group, R.string.wifi_carrier_connect,
-                            String.format(mContext.getString(R.string.wifi_carrier_content),
-                            mAccessPoint.getCarrierName()));
-                }
             }
 
             if (mMode == WifiConfigUiBase.MODE_MODIFY) {
@@ -430,9 +438,6 @@
                 }
             }
 
-            if (!WifiDppUtils.isSupportEnrolleeQrCodeScanner(mContext, mAccessPointSecurity)) {
-                mPasswordScanButton.setVisibility(View.GONE);
-            }
             mSsidScanButton.setVisibility(View.GONE);
         }
 
@@ -445,8 +450,10 @@
             enableSubmitIfAppropriate();
         }
 
-        // After done view show and hide, request focus from parent view
-        mView.findViewById(R.id.l_wifidialog).requestFocus();
+        // After done view show and hide, request focus from parameter.
+        if (mRequestFocus) {
+            mView.findViewById(R.id.l_wifidialog).requestFocus();
+        }
     }
 
     @VisibleForTesting
@@ -567,6 +574,7 @@
 
     void showWarningMessagesIfAppropriate() {
         mView.findViewById(R.id.no_ca_cert_warning).setVisibility(View.GONE);
+        mView.findViewById(R.id.no_user_cert_warning).setVisibility(View.GONE);
         mView.findViewById(R.id.no_domain_warning).setVisibility(View.GONE);
         mView.findViewById(R.id.ssid_too_long_warning).setVisibility(View.GONE);
 
@@ -594,6 +602,14 @@
                 mView.findViewById(R.id.no_domain_warning).setVisibility(View.VISIBLE);
             }
         }
+
+        if (mAccessPointSecurity == AccessPoint.SECURITY_EAP_SUITE_B &&
+                mEapMethodSpinner.getSelectedItemPosition() == WIFI_EAP_METHOD_TLS) {
+            String userCertSelection = (String) mEapUserCertSpinner.getSelectedItem();
+            if (userCertSelection.equals(mUnspecifiedCertString)) {
+                mView.findViewById(R.id.no_user_cert_warning).setVisibility(View.VISIBLE);
+            }
+        }
     }
 
     public WifiConfiguration getConfig() {
@@ -620,13 +636,11 @@
 
         switch (mAccessPointSecurity) {
             case AccessPoint.SECURITY_NONE:
-                config.allowedKeyManagement.set(KeyMgmt.NONE);
+                config.setSecurityParams(WifiConfiguration.SECURITY_TYPE_OPEN);
                 break;
 
             case AccessPoint.SECURITY_WEP:
-                config.allowedKeyManagement.set(KeyMgmt.NONE);
-                config.allowedAuthAlgorithms.set(AuthAlgorithm.OPEN);
-                config.allowedAuthAlgorithms.set(AuthAlgorithm.SHARED);
+                config.setSecurityParams(WifiConfiguration.SECURITY_TYPE_WEP);
                 if (mPasswordView.length() != 0) {
                     int length = mPasswordView.length();
                     String password = mPasswordView.getText().toString();
@@ -641,7 +655,7 @@
                 break;
 
             case AccessPoint.SECURITY_PSK:
-                config.allowedKeyManagement.set(KeyMgmt.WPA_PSK);
+                config.setSecurityParams(WifiConfiguration.SECURITY_TYPE_PSK);
                 if (mPasswordView.length() != 0) {
                     String password = mPasswordView.getText().toString();
                     if (password.matches("[0-9A-Fa-f]{64}")) {
@@ -654,16 +668,11 @@
 
             case AccessPoint.SECURITY_EAP:
             case AccessPoint.SECURITY_EAP_SUITE_B:
-                config.allowedKeyManagement.set(KeyMgmt.WPA_EAP);
-                config.allowedKeyManagement.set(KeyMgmt.IEEE8021X);
                 if (mAccessPointSecurity == AccessPoint.SECURITY_EAP_SUITE_B) {
-                    config.allowedKeyManagement.set(KeyMgmt.SUITE_B_192);
-                    config.requirePMF = true;
-                    config.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.GCMP_256);
-                    config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.GCMP_256);
-                    config.allowedGroupManagementCiphers.set(WifiConfiguration.GroupMgmtCipher
-                            .BIP_GMAC_256);
                     // allowedSuiteBCiphers will be set according to certificate type
+                    config.setSecurityParams(WifiConfiguration.SECURITY_TYPE_EAP_SUITE_B);
+                } else {
+                    config.setSecurityParams(WifiConfiguration.SECURITY_TYPE_EAP);
                 }
                 config.enterpriseConfig = new WifiEnterpriseConfig();
                 int eapMethod = mEapMethodSpinner.getSelectedItemPosition();
@@ -757,6 +766,14 @@
                             + ") should not both be non-null");
                 }
 
+                // Only set OCSP option if there is a valid CA certificate.
+                if (caCert.equals(mUnspecifiedCertString)
+                        || caCert.equals(mDoNotValidateEapServerString)) {
+                    config.enterpriseConfig.setOcsp(WifiEnterpriseConfig.OCSP_NONE);
+                } else {
+                    config.enterpriseConfig.setOcsp(mEapOcspSpinner.getSelectedItemPosition());
+                }
+
                 String clientCert = (String) mEapUserCertSpinner.getSelectedItem();
                 if (clientCert.equals(mUnspecifiedCertString)
                         || clientCert.equals(mDoNotProvideEapUserCertString)) {
@@ -789,8 +806,7 @@
                 }
                 break;
             case AccessPoint.SECURITY_SAE:
-                config.allowedKeyManagement.set(KeyMgmt.SAE);
-                config.requirePMF = true;
+                config.setSecurityParams(WifiConfiguration.SECURITY_TYPE_SAE);
                 if (mPasswordView.length() != 0) {
                     String password = mPasswordView.getText().toString();
                     config.preSharedKey = '"' + password + '"';
@@ -798,8 +814,7 @@
                 break;
 
             case AccessPoint.SECURITY_OWE:
-                config.allowedKeyManagement.set(KeyMgmt.OWE);
-                config.requirePMF = true;
+                config.setSecurityParams(WifiConfiguration.SECURITY_TYPE_OWE);
                 break;
 
             default:
@@ -814,9 +829,14 @@
         }
 
         if (mPrivacySettingsSpinner != null) {
-            final int macValue =
-                    WifiPrivacyPreferenceController.translatePrefValueToMacRandomizedValue(
-                            mPrivacySettingsSpinner.getSelectedItemPosition());
+            int macValue;
+            if (FeatureFlagUtils.isEnabled(mContext, FeatureFlagUtils.SETTINGS_WIFITRACKER2)) {
+                macValue = WifiPrivacyPreferenceController2.translatePrefValueToMacRandomizedValue(
+                        mPrivacySettingsSpinner.getSelectedItemPosition());
+            } else {
+                macValue = WifiPrivacyPreferenceController.translatePrefValueToMacRandomizedValue(
+                        mPrivacySettingsSpinner.getSelectedItemPosition());
+            }
             config.macRandomizationSetting = macValue;
         }
 
@@ -983,6 +1003,7 @@
         }
         mView.findViewById(R.id.eap).setVisibility(View.VISIBLE);
 
+        // TODO (b/140541213): Maybe we can remove initiateEnterpriseNetworkUi by moving code block
         boolean initiateEnterpriseNetworkUi = false;
         if (mEapMethodSpinner == null) {
             initiateEnterpriseNetworkUi = true;
@@ -992,6 +1013,7 @@
             mPhase2Spinner.setOnItemSelectedListener(this);
             mEapCaCertSpinner = (Spinner) mView.findViewById(R.id.ca_cert);
             mEapCaCertSpinner.setOnItemSelectedListener(this);
+            mEapOcspSpinner = (Spinner) mView.findViewById(R.id.ocsp);
             mEapDomainView = (TextView) mView.findViewById(R.id.domain);
             mEapDomainView.addTextChangedListener(this);
             mEapUserCertSpinner = (Spinner) mView.findViewById(R.id.user_cert);
@@ -1010,23 +1032,16 @@
                 mEapMethodSpinner.setEnabled(false);
             } else if (Utils.isWifiOnly(mContext) || !mContext.getResources().getBoolean(
                     com.android.internal.R.bool.config_eap_sim_based_auth_supported)) {
-                eapMethodSpinnerAdapter = getSpinnerAdapter(
-                        R.array.eap_method_without_sim_auth);
+                eapMethodSpinnerAdapter = getSpinnerAdapter(R.array.eap_method_without_sim_auth);
                 mEapMethodSpinner.setAdapter(eapMethodSpinnerAdapter);
                 mEapMethodSpinner.setEnabled(true);
             } else {
-                eapMethodSpinnerAdapter = getSpinnerAdapter(R.array.wifi_eap_method);
+                eapMethodSpinnerAdapter = getSpinnerAdapterWithEapMethodsTts(R.array.wifi_eap_method);
                 mEapMethodSpinner.setAdapter(eapMethodSpinnerAdapter);
                 mEapMethodSpinner.setEnabled(true);
             }
         }
 
-        if (mAccessPointSecurity != AccessPoint.SECURITY_EAP_SUITE_B
-                && mAccessPoint != null
-                && mAccessPoint.isCarrierAp()) {
-            mEapMethodSpinner.setSelection(mAccessPoint.getCarrierApEapType());
-        }
-
         if (refreshCertificates) {
             loadCertificates(
                     mEapCaCertSpinner,
@@ -1040,13 +1055,18 @@
                     mDoNotProvideEapUserCertString,
                     false,
                     false);
+            // To avoid the user connects to a non-secure network unexpectedly,
+            // request using system trusted certificates by default
+            // unless the user explicitly chooses "Do not validate" or other
+            // CA certificates.
+            setSelection(mEapCaCertSpinner, mUseSystemCertsString);
         }
 
         // Modifying an existing network
         if (initiateEnterpriseNetworkUi && mAccessPoint != null && mAccessPoint.isSaved()) {
-            final WifiEnterpriseConfig enterpriseConfig = mAccessPoint.getConfig().enterpriseConfig;
-            final int eapMethod = enterpriseConfig.getEapMethod();
-            final int phase2Method = enterpriseConfig.getPhase2Method();
+            WifiEnterpriseConfig enterpriseConfig = mAccessPoint.getConfig().enterpriseConfig;
+            int eapMethod = enterpriseConfig.getEapMethod();
+            int phase2Method = enterpriseConfig.getPhase2Method();
             mEapMethodSpinner.setSelection(eapMethod);
             showEapFieldsByMethod(eapMethod);
             switch (eapMethod) {
@@ -1097,7 +1117,7 @@
             if (!TextUtils.isEmpty(enterpriseConfig.getCaPath())) {
                 setSelection(mEapCaCertSpinner, mUseSystemCertsString);
             } else {
-                final String[] caCerts = enterpriseConfig.getCaCertificateAliases();
+                String[] caCerts = enterpriseConfig.getCaCertificateAliases();
                 if (caCerts == null) {
                     setSelection(mEapCaCertSpinner, mDoNotValidateEapServerString);
                 } else if (caCerts.length == 1) {
@@ -1113,8 +1133,9 @@
                     setSelection(mEapCaCertSpinner, mMultipleCertSetString);
                 }
             }
+            mEapOcspSpinner.setSelection(enterpriseConfig.getOcsp());
             mEapDomainView.setText(enterpriseConfig.getDomainSuffixMatch());
-            final String userCert = enterpriseConfig.getClientCertificateAlias();
+            String userCert = enterpriseConfig.getClientCertificateAlias();
             if (TextUtils.isEmpty(userCert)) {
                 setSelection(mEapUserCertSpinner, mDoNotProvideEapUserCertString);
             } else {
@@ -1158,6 +1179,7 @@
         // Defaults for most of the EAP methods and over-riden by
         // by certain EAP methods
         mView.findViewById(R.id.l_ca_cert).setVisibility(View.VISIBLE);
+        mView.findViewById(R.id.l_ocsp).setVisibility(View.VISIBLE);
         mView.findViewById(R.id.password_layout).setVisibility(View.VISIBLE);
         mView.findViewById(R.id.show_password_layout).setVisibility(View.VISIBLE);
 
@@ -1166,6 +1188,7 @@
             case WIFI_EAP_METHOD_PWD:
                 setPhase2Invisible();
                 setCaCertInvisible();
+                setOcspInvisible();
                 setDomainInvisible();
                 setAnonymousIdentInvisible();
                 setUserCertInvisible();
@@ -1203,13 +1226,11 @@
                 setPhase2Invisible();
                 setAnonymousIdentInvisible();
                 setCaCertInvisible();
+                setOcspInvisible();
                 setDomainInvisible();
                 setUserCertInvisible();
                 setPasswordInvisible();
                 setIdentityInvisible();
-                if (mAccessPoint != null && mAccessPoint.isCarrierAp()) {
-                    setEapMethodInvisible();
-                }
                 break;
         }
 
@@ -1220,6 +1241,10 @@
                 // Domain suffix matching is not relevant if the user hasn't chosen a CA
                 // certificate yet, or chooses not to validate the EAP server.
                 setDomainInvisible();
+                // Ocsp is an additional validation step for a server certifidate.
+                // This field is not relevant if the user hasn't chosen a valid
+                // CA certificate yet.
+                setOcspInvisible();
             }
         }
     }
@@ -1252,6 +1277,11 @@
         setSelection(mEapCaCertSpinner, mUnspecifiedCertString);
     }
 
+    private void setOcspInvisible() {
+        mView.findViewById(R.id.l_ocsp).setVisibility(View.GONE);
+        mEapOcspSpinner.setSelection(WifiEnterpriseConfig.OCSP_NONE);
+    }
+
     private void setDomainInvisible() {
         mView.findViewById(R.id.l_domain).setVisibility(View.GONE);
         mEapDomainView.setText("");
@@ -1302,13 +1332,14 @@
                 mDns2View.addTextChangedListener(this);
             }
             if (config != null) {
-                StaticIpConfiguration staticConfig = config.getStaticIpConfiguration();
+                StaticIpConfiguration staticConfig = config.getIpConfiguration()
+                        .getStaticIpConfiguration();
                 if (staticConfig != null) {
                     if (staticConfig.ipAddress != null) {
                         mIpAddressView.setText(
                                 staticConfig.ipAddress.getAddress().getHostAddress());
                         mNetworkPrefixLengthView.setText(Integer.toString(staticConfig.ipAddress
-                                .getNetworkPrefixLength()));
+                                .getPrefixLength()));
                     }
 
                     if (staticConfig.gateway != null) {
@@ -1432,7 +1463,7 @@
             certs.add(noCertificateString);
         }
 
-        // If there are only mUnspecifiedCertString and one item to select, only shows the item
+        // If there is only mUnspecifiedCertString and one item to select, only shows the item
         if (certs.size() == 2) {
             certs.remove(mUnspecifiedCertString);
             spinner.setEnabled(false);
@@ -1440,10 +1471,8 @@
             spinner.setEnabled(true);
         }
 
-        final ArrayAdapter<String> adapter = new ArrayAdapter<String>(
-                context, android.R.layout.simple_spinner_item,
+        final ArrayAdapter<CharSequence> adapter = getSpinnerAdapter(
                 certs.toArray(new String[certs.size()]));
-        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
         spinner.setAdapter(adapter);
     }
 
@@ -1515,18 +1544,10 @@
                 ((EditText) mPasswordView).setSelection(pos);
             }
         } else if (view.getId() == R.id.wifi_advanced_togglebox) {
-            final View advancedToggle = mView.findViewById(R.id.wifi_advanced_toggle);
-            final int toggleVisibility;
-            final int stringID;
-            if (isChecked) {
-                toggleVisibility = View.VISIBLE;
-                stringID = R.string.wifi_advanced_toggle_description_expanded;
-            } else {
-                toggleVisibility = View.GONE;
-                stringID = R.string.wifi_advanced_toggle_description_collapsed;
-            }
-            mView.findViewById(R.id.wifi_advanced_fields).setVisibility(toggleVisibility);
-            advancedToggle.setContentDescription(mContext.getString(stringID));
+            // Hide the SoftKeyboard temporary to let user can see most of the expanded items.
+            hideSoftKeyboard(mView.getWindowToken());
+            view.setVisibility(View.GONE);
+            mView.findViewById(R.id.wifi_advanced_fields).setVisibility(View.VISIBLE);
         }
     }
 
@@ -1535,7 +1556,7 @@
         if (parent == mSecuritySpinner) {
             // Convert menu position to actual Wi-Fi security type
             mAccessPointSecurity = mSecurityInPosition[position];
-            showSecurityFields(true /* refreshEapMethods */, true /* refreshCertificates */);
+            showSecurityFields(/* refreshEapMethods */ true, /* refreshCertificates */ true);
 
             if (WifiDppUtils.isSupportEnrolleeQrCodeScanner(mContext, mAccessPointSecurity)) {
                 mSsidScanButton.setVisibility(View.VISIBLE);
@@ -1543,9 +1564,9 @@
                 mSsidScanButton.setVisibility(View.GONE);
             }
         } else if (parent == mEapMethodSpinner) {
-            showSecurityFields(false /* refreshEapMethods */, true /* refreshCertificates */);
+            showSecurityFields(/* refreshEapMethods */ false, /* refreshCertificates */ true);
         } else if (parent == mEapCaCertSpinner) {
-            showSecurityFields(false /* refreshEapMethods */, false /* refreshCertificates */);
+            showSecurityFields(/* refreshEapMethods */ false, /* refreshCertificates */ false);
         } else if (parent == mPhase2Spinner
                 && mEapMethodSpinner.getSelectedItemPosition() == WIFI_EAP_METHOD_PEAP) {
             showPeapFields();
@@ -1635,16 +1656,116 @@
         mView.findViewById(R.id.hidden_settings_field).setVisibility(View.VISIBLE);
         ((CheckBox) mView.findViewById(R.id.wifi_advanced_togglebox))
                 .setOnCheckedChangeListener(this);
+        // Set correct accessibility strings.
+        setAdvancedOptionAccessibilityString();
+    }
+
+    /**
+     * For each target string in {@code targetStringArray} try to find if it appears in {@code
+     * originalStringArray}, if found then use the corresponding string, which have the same index
+     * of the target string in {@code replacementStringArray}, to replace it. And finally return the
+     * whole new string array back to caller.
+     */
+    @VisibleForTesting
+    CharSequence[] findAndReplaceTargetStrings(CharSequence originalStringArray[],
+            CharSequence targetStringArray[], CharSequence replacementStringArray[]) {
+        // The length of the targetStringArray and replacementStringArray should be the same, each
+        // item in the targetStringArray should have a 1:1 mapping to replacementStringArray, so
+        // just return the original string if the lengths are different.
+        if (targetStringArray.length != replacementStringArray.length) {
+            return originalStringArray;
+        }
+
+        final CharSequence[] returnEntries = new CharSequence[originalStringArray.length];
+        for (int i = 0; i < originalStringArray.length; i++) {
+            returnEntries[i] = originalStringArray[i];
+            for (int j = 0; j < targetStringArray.length; j++) {
+                if (TextUtils.equals(originalStringArray[i], targetStringArray[j])) {
+                    returnEntries[i] = replacementStringArray[j];
+                }
+            }
+        }
+        return returnEntries;
     }
 
     private ArrayAdapter<CharSequence> getSpinnerAdapter(
             int contentStringArrayResId) {
-        final String[] eapMethods = mContext.getResources().getStringArray(
-                contentStringArrayResId);
-        final ArrayAdapter<CharSequence> spinnerAdapter = new ArrayAdapter<>(mContext,
-                android.R.layout.simple_spinner_item, eapMethods);
+        return getSpinnerAdapter(
+                mContext.getResources().getStringArray(contentStringArrayResId));
+    }
+
+    private ArrayAdapter<CharSequence> getSpinnerAdapter(
+            String[] contentStringArray) {
+        ArrayAdapter<CharSequence> spinnerAdapter = new ArrayAdapter<>(mContext,
+                android.R.layout.simple_spinner_item, contentStringArray);
         spinnerAdapter.setDropDownViewResource(
                 android.R.layout.simple_spinner_dropdown_item);
         return spinnerAdapter;
     }
+
+    /**
+     * This function is to span the TTS strings to each EAP method items in the
+     * spinner to have detail TTS content for the TTS engine usage.
+     */
+    private ArrayAdapter<CharSequence> getSpinnerAdapterWithEapMethodsTts(
+                int contentStringArrayResId) {
+        final Resources res = mContext.getResources();
+        CharSequence[] sourceStrings = res.getStringArray(
+                contentStringArrayResId);
+        CharSequence[] targetStrings = res.getStringArray(
+                R.array.wifi_eap_method_target_strings);
+        CharSequence[] ttsStrings = res.getStringArray(
+                R.array.wifi_eap_method_tts_strings);
+
+        // Replace the target strings with tts strings and save all in a new array.
+        final CharSequence[] newTtsSourceStrings = findAndReplaceTargetStrings(
+                sourceStrings, targetStrings, ttsStrings);
+
+        // Build new TtsSpan text arrays for TalkBack.
+        final CharSequence[] accessibilityArray = createAccessibleEntries(
+                sourceStrings, newTtsSourceStrings);
+
+        // Return a new ArrayAdapter with the new TalkBack array.
+        ArrayAdapter<CharSequence> spinnerAdapter = new ArrayAdapter<>(
+                mContext, android.R.layout.simple_spinner_item, accessibilityArray);
+        spinnerAdapter.setDropDownViewResource(
+                android.R.layout.simple_spinner_dropdown_item);
+        return spinnerAdapter;
+    }
+
+    private SpannableString[] createAccessibleEntries(CharSequence entries[],
+            CharSequence[] contentDescriptions) {
+        final SpannableString[] accessibleEntries = new SpannableString[entries.length];
+        for (int i = 0; i < entries.length; i++) {
+            accessibleEntries[i] = com.android.settings.Utils.createAccessibleSequence(entries[i],
+                    contentDescriptions[i].toString());
+        }
+        return accessibleEntries;
+    }
+
+    private void hideSoftKeyboard(IBinder windowToken) {
+        final InputMethodManager inputMethodManager = mContext.getSystemService(
+                InputMethodManager.class);
+        inputMethodManager.hideSoftInputFromWindow(windowToken, 0 /* flags */);
+    }
+
+    private void setAdvancedOptionAccessibilityString() {
+        final CheckBox advancedToggleBox = mView.findViewById(R.id.wifi_advanced_togglebox);
+        advancedToggleBox.setAccessibilityDelegate(new AccessibilityDelegate() {
+            @Override
+            public void onInitializeAccessibilityNodeInfo(
+                    View v, AccessibilityNodeInfo info) {
+                super.onInitializeAccessibilityNodeInfo(v, info);
+                // To let TalkBack don't pronounce checked/unchecked.
+                info.setCheckable(false /* checkable */);
+                // To let TalkBack don't pronounce CheckBox.
+                info.setClassName(null /* className */);
+                // Customize TalkBack's pronunciation which been appended to "Double-tap to".
+                final AccessibilityAction customClick = new AccessibilityAction(
+                        AccessibilityNodeInfo.ACTION_CLICK,
+                        mContext.getString(R.string.wifi_advanced_toggle_description_collapsed));
+                info.addAction(customClick);
+            }
+        });
+    }
 }
diff --git a/src/com/android/settings/wifi/WifiConfigController2.java b/src/com/android/settings/wifi/WifiConfigController2.java
new file mode 100644
index 0000000..4df0dfd
--- /dev/null
+++ b/src/com/android/settings/wifi/WifiConfigController2.java
@@ -0,0 +1,1767 @@
+/*
+ * 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;
+
+import android.content.Context;
+import android.content.res.Resources;
+import android.net.IpConfiguration;
+import android.net.IpConfiguration.IpAssignment;
+import android.net.IpConfiguration.ProxySettings;
+import android.net.LinkAddress;
+import android.net.NetworkUtils;
+import android.net.ProxyInfo;
+import android.net.StaticIpConfiguration;
+import android.net.Uri;
+import android.net.wifi.WifiConfiguration;
+import android.net.wifi.WifiEnterpriseConfig;
+import android.net.wifi.WifiEnterpriseConfig.Eap;
+import android.net.wifi.WifiEnterpriseConfig.Phase2;
+import android.net.wifi.WifiManager;
+import android.os.IBinder;
+import android.os.UserManager;
+import android.security.Credentials;
+import android.security.KeyStore;
+import android.text.Editable;
+import android.text.InputType;
+import android.text.SpannableString;
+import android.text.TextUtils;
+import android.text.TextWatcher;
+import android.util.FeatureFlagUtils;
+import android.util.Log;
+import android.view.KeyEvent;
+import android.view.View;
+import android.view.View.AccessibilityDelegate;
+import android.view.ViewGroup;
+import android.view.accessibility.AccessibilityNodeInfo;
+import android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction;
+import android.view.inputmethod.EditorInfo;
+import android.view.inputmethod.InputMethodManager;
+import android.widget.AdapterView;
+import android.widget.ArrayAdapter;
+import android.widget.Button;
+import android.widget.CheckBox;
+import android.widget.CompoundButton;
+import android.widget.CompoundButton.OnCheckedChangeListener;
+import android.widget.EditText;
+import android.widget.ImageButton;
+import android.widget.ScrollView;
+import android.widget.Spinner;
+import android.widget.TextView;
+
+import androidx.annotation.VisibleForTesting;
+
+import com.android.settings.ProxySelector;
+import com.android.settings.R;
+import com.android.settings.wifi.details.WifiPrivacyPreferenceController;
+import com.android.settings.wifi.details2.WifiPrivacyPreferenceController2;
+import com.android.settings.wifi.dpp.WifiDppUtils;
+import com.android.settingslib.Utils;
+import com.android.settingslib.utils.ThreadUtils;
+import com.android.settingslib.wifi.AccessPoint;
+import com.android.wifitrackerlib.WifiEntry;
+import com.android.wifitrackerlib.WifiEntry.ConnectedInfo;
+
+import java.net.Inet4Address;
+import java.net.InetAddress;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.stream.Collectors;
+
+/**
+ * The class for allowing UIs like {@link WifiDialog2} and {@link WifiConfigUiBase2} to
+ * share the logic for controlling buttons, text fields, etc.
+ */
+public class WifiConfigController2 implements TextWatcher,
+        AdapterView.OnItemSelectedListener, OnCheckedChangeListener,
+        TextView.OnEditorActionListener, View.OnKeyListener {
+    private static final String TAG = "WifiConfigController2";
+
+    private static final String SYSTEM_CA_STORE_PATH = "/system/etc/security/cacerts";
+
+    private final WifiConfigUiBase2 mConfigUi;
+    private final View mView;
+    private final WifiEntry mWifiEntry;
+
+    /* This value comes from "wifi_ip_settings" resource array */
+    private static final int DHCP = 0;
+    private static final int STATIC_IP = 1;
+
+    /* Constants used for referring to the hidden state of a network. */
+    public static final int HIDDEN_NETWORK = 1;
+    public static final int NOT_HIDDEN_NETWORK = 0;
+
+    /* These values come from "wifi_proxy_settings" resource array */
+    public static final int PROXY_NONE = 0;
+    public static final int PROXY_STATIC = 1;
+    public static final int PROXY_PAC = 2;
+
+    /* These values come from "wifi_eap_method" resource array */
+    public static final int WIFI_EAP_METHOD_PEAP = 0;
+    public static final int WIFI_EAP_METHOD_TLS  = 1;
+    public static final int WIFI_EAP_METHOD_TTLS = 2;
+    public static final int WIFI_EAP_METHOD_PWD  = 3;
+    public static final int WIFI_EAP_METHOD_SIM  = 4;
+    public static final int WIFI_EAP_METHOD_AKA  = 5;
+    public static final int WIFI_EAP_METHOD_AKA_PRIME  = 6;
+
+    /* These values come from "wifi_peap_phase2_entries" resource array */
+    public static final int WIFI_PEAP_PHASE2_MSCHAPV2   = 0;
+    public static final int WIFI_PEAP_PHASE2_GTC        = 1;
+    public static final int WIFI_PEAP_PHASE2_SIM        = 2;
+    public static final int WIFI_PEAP_PHASE2_AKA        = 3;
+    public static final int WIFI_PEAP_PHASE2_AKA_PRIME  = 4;
+
+    /* These values come from "wifi_ttls_phase2_entries" resource array */
+    public static final int WIFI_TTLS_PHASE2_PAP       = 0;
+    public static final int WIFI_TTLS_PHASE2_MSCHAP    = 1;
+    public static final int WIFI_TTLS_PHASE2_MSCHAPV2  = 2;
+    public static final int WIFI_TTLS_PHASE2_GTC       = 3;
+
+    private static final String UNDESIRED_CERTIFICATE_MACRANDSECRET = "MacRandSecret";
+    private static final String UNDESIRED_CERTIFICATE_MACRANDSAPSECRET = "MacRandSapSecret";
+    @VisibleForTesting
+    static final String[] UNDESIRED_CERTIFICATES = {
+        UNDESIRED_CERTIFICATE_MACRANDSECRET,
+        UNDESIRED_CERTIFICATE_MACRANDSAPSECRET
+    };
+
+    /* Phase2 methods supported by PEAP are limited */
+    private ArrayAdapter<CharSequence> mPhase2PeapAdapter;
+    /* Phase2 methods supported by TTLS are limited */
+    private ArrayAdapter<CharSequence> mPhase2TtlsAdapter;
+
+    // e.g. WifiEntry.SECURITY_NONE
+    @VisibleForTesting
+    int mWifiEntrySecurity;
+    private TextView mPasswordView;
+    private ImageButton mSsidScanButton;
+
+    private String mUnspecifiedCertString;
+    private String mMultipleCertSetString;
+    private String mUseSystemCertsString;
+    private String mDoNotProvideEapUserCertString;
+    private String mDoNotValidateEapServerString;
+
+    private ScrollView mDialogContainer;
+    private Spinner mSecuritySpinner;
+    private Spinner mEapMethodSpinner;
+    private Spinner mEapCaCertSpinner;
+    private Spinner mEapOcspSpinner;
+    private TextView mEapDomainView;
+    private Spinner mPhase2Spinner;
+    // Associated with mPhase2Spinner, one of mPhase2TtlsAdapter or mPhase2PeapAdapter
+    private ArrayAdapter<CharSequence> mPhase2Adapter;
+    private Spinner mEapUserCertSpinner;
+    private TextView mEapIdentityView;
+    private TextView mEapAnonymousView;
+
+    private Spinner mIpSettingsSpinner;
+    private TextView mIpAddressView;
+    private TextView mGatewayView;
+    private TextView mNetworkPrefixLengthView;
+    private TextView mDns1View;
+    private TextView mDns2View;
+
+    private Spinner mProxySettingsSpinner;
+    private Spinner mMeteredSettingsSpinner;
+    private Spinner mHiddenSettingsSpinner;
+    private Spinner mPrivacySettingsSpinner;
+    private TextView mHiddenWarningView;
+    private TextView mProxyHostView;
+    private TextView mProxyPortView;
+    private TextView mProxyExclusionListView;
+    private TextView mProxyPacView;
+    private CheckBox mSharedCheckBox;
+
+    private IpAssignment mIpAssignment = IpAssignment.UNASSIGNED;
+    private ProxySettings mProxySettings = ProxySettings.UNASSIGNED;
+    private ProxyInfo mHttpProxy = null;
+    private StaticIpConfiguration mStaticIpConfiguration = null;
+    private boolean mRequestFocus = true;
+
+    private String[] mLevels;
+    private int mMode;
+    private TextView mSsidView;
+
+    private Context mContext;
+
+    @VisibleForTesting
+    Integer[] mSecurityInPosition;
+
+    private final WifiManager mWifiManager;
+
+    public WifiConfigController2(WifiConfigUiBase2 parent, View view, WifiEntry wifiEntry,
+            int mode) {
+        this (parent, view, wifiEntry, mode, true /* requestFocus */);
+    }
+
+    public WifiConfigController2(WifiConfigUiBase2 parent, View view, WifiEntry wifiEntry,
+            int mode, boolean requestFocus) {
+        mConfigUi = parent;
+
+        mView = view;
+        mWifiEntry = wifiEntry;
+        mContext = mConfigUi.getContext();
+        mRequestFocus = requestFocus;
+
+        // Init Wi-Fi manager
+        mWifiManager = (WifiManager) mContext.getSystemService(Context.WIFI_SERVICE);
+        initWifiConfigController2(wifiEntry, mode);
+    }
+
+    @VisibleForTesting
+    public WifiConfigController2(WifiConfigUiBase2 parent, View view, WifiEntry wifiEntry,
+            int mode, WifiManager wifiManager) {
+        mConfigUi = parent;
+
+        mView = view;
+        mWifiEntry = wifiEntry;
+        mContext = mConfigUi.getContext();
+        mWifiManager = wifiManager;
+        initWifiConfigController2(wifiEntry, mode);
+    }
+
+    private void initWifiConfigController2(WifiEntry wifiEntry, int mode) {
+
+        mWifiEntrySecurity = (wifiEntry == null) ? WifiEntry.SECURITY_NONE :
+                wifiEntry.getSecurity();
+        mMode = mode;
+
+        final Resources res = mContext.getResources();
+
+        mLevels = res.getStringArray(R.array.wifi_signal);
+        if (Utils.isWifiOnly(mContext) || !mContext.getResources().getBoolean(
+                com.android.internal.R.bool.config_eap_sim_based_auth_supported)) {
+            mPhase2PeapAdapter = getSpinnerAdapter(R.array.wifi_peap_phase2_entries);
+        } else {
+            mPhase2PeapAdapter = getSpinnerAdapterWithEapMethodsTts(
+                R.array.wifi_peap_phase2_entries_with_sim_auth);
+        }
+
+        mPhase2TtlsAdapter = getSpinnerAdapter(R.array.wifi_ttls_phase2_entries);
+
+        mUnspecifiedCertString = mContext.getString(R.string.wifi_unspecified);
+        mMultipleCertSetString = mContext.getString(R.string.wifi_multiple_cert_added);
+        mUseSystemCertsString = mContext.getString(R.string.wifi_use_system_certs);
+        mDoNotProvideEapUserCertString =
+            mContext.getString(R.string.wifi_do_not_provide_eap_user_cert);
+        mDoNotValidateEapServerString =
+            mContext.getString(R.string.wifi_do_not_validate_eap_server);
+
+        mSsidScanButton = (ImageButton) mView.findViewById(R.id.ssid_scanner_button);
+        mDialogContainer = mView.findViewById(R.id.dialog_scrollview);
+        mIpSettingsSpinner = (Spinner) mView.findViewById(R.id.ip_settings);
+        mIpSettingsSpinner.setOnItemSelectedListener(this);
+        mProxySettingsSpinner = (Spinner) mView.findViewById(R.id.proxy_settings);
+        mProxySettingsSpinner.setOnItemSelectedListener(this);
+        mSharedCheckBox = (CheckBox) mView.findViewById(R.id.shared);
+        mMeteredSettingsSpinner = mView.findViewById(R.id.metered_settings);
+        mHiddenSettingsSpinner = mView.findViewById(R.id.hidden_settings);
+        mPrivacySettingsSpinner = mView.findViewById(R.id.privacy_settings);
+        if (mWifiManager.isConnectedMacRandomizationSupported()) {
+            View privacySettingsLayout = mView.findViewById(R.id.privacy_settings_fields);
+            privacySettingsLayout.setVisibility(View.VISIBLE);
+        }
+        mHiddenSettingsSpinner.setOnItemSelectedListener(this);
+        mHiddenWarningView = mView.findViewById(R.id.hidden_settings_warning);
+        mHiddenWarningView.setVisibility(
+                mHiddenSettingsSpinner.getSelectedItemPosition() == NOT_HIDDEN_NETWORK
+                        ? View.GONE
+                        : View.VISIBLE);
+        mSecurityInPosition = new Integer[WifiEntry.NUM_SECURITY_TYPES];
+
+        if (mWifiEntry == null) { // new network
+            configureSecuritySpinner();
+            mConfigUi.setSubmitButton(res.getString(R.string.wifi_save));
+        } else {
+            mConfigUi.setTitle(mWifiEntry.getTitle());
+
+            ViewGroup group = (ViewGroup) mView.findViewById(R.id.info);
+
+            boolean showAdvancedFields = false;
+            if (mWifiEntry.isSaved()) {
+                WifiConfiguration config = mWifiEntry.getWifiConfiguration();
+                mMeteredSettingsSpinner.setSelection(config.meteredOverride);
+                mHiddenSettingsSpinner.setSelection(config.hiddenSSID
+                        ? HIDDEN_NETWORK
+                        : NOT_HIDDEN_NETWORK);
+
+                int prefMacValue;
+                if (FeatureFlagUtils.isEnabled(mContext, FeatureFlagUtils.SETTINGS_WIFITRACKER2)) {
+                    prefMacValue = WifiPrivacyPreferenceController2
+                            .translateMacRandomizedValueToPrefValue(config.macRandomizationSetting);
+                } else {
+                    prefMacValue = WifiPrivacyPreferenceController
+                            .translateMacRandomizedValueToPrefValue(config.macRandomizationSetting);
+                }
+                mPrivacySettingsSpinner.setSelection(prefMacValue);
+
+                if (config.getIpConfiguration().getIpAssignment() == IpAssignment.STATIC) {
+                    mIpSettingsSpinner.setSelection(STATIC_IP);
+                    showAdvancedFields = true;
+                    // Display IP address.
+                    StaticIpConfiguration staticConfig = config.getIpConfiguration()
+                            .getStaticIpConfiguration();
+                    if (staticConfig != null && staticConfig.ipAddress != null) {
+                        addRow(group, R.string.wifi_ip_address,
+                                staticConfig.ipAddress.getAddress().getHostAddress());
+                    }
+                } else {
+                    mIpSettingsSpinner.setSelection(DHCP);
+                }
+
+                mSharedCheckBox.setEnabled(config.shared);
+                if (!config.shared) {
+                    showAdvancedFields = true;
+                }
+
+                ProxySettings proxySettings = config.getIpConfiguration().getProxySettings();
+                if (proxySettings == ProxySettings.STATIC) {
+                    mProxySettingsSpinner.setSelection(PROXY_STATIC);
+                    showAdvancedFields = true;
+                } else if (proxySettings == ProxySettings.PAC) {
+                    mProxySettingsSpinner.setSelection(PROXY_PAC);
+                    showAdvancedFields = true;
+                } else {
+                    mProxySettingsSpinner.setSelection(PROXY_NONE);
+                }
+                if (config != null && config.isPasspoint()) {
+                    addRow(group, R.string.passpoint_label,
+                            String.format(mContext.getString(R.string.passpoint_content),
+                            config.providerFriendlyName));
+                }
+            }
+
+            if ((!mWifiEntry.isSaved()
+                    && mWifiEntry.getConnectedState() != WifiEntry.CONNECTED_STATE_CONNECTED
+                    && !mWifiEntry.isSubscription())
+                    || mMode != WifiConfigUiBase2.MODE_VIEW) {
+                showSecurityFields(/* refreshEapMethods */ true, /* refreshCertificates */ true);
+                showIpConfigFields();
+                showProxyFields();
+                final CheckBox advancedTogglebox =
+                        (CheckBox) mView.findViewById(R.id.wifi_advanced_togglebox);
+                if (!showAdvancedFields) {
+                    // Need to show Advanced Option button.
+                    mView.findViewById(R.id.wifi_advanced_toggle).setVisibility(View.VISIBLE);
+                    advancedTogglebox.setOnCheckedChangeListener(this);
+                    advancedTogglebox.setChecked(showAdvancedFields);
+                    setAdvancedOptionAccessibilityString();
+                }
+                mView.findViewById(R.id.wifi_advanced_fields)
+                        .setVisibility(showAdvancedFields ? View.VISIBLE : View.GONE);
+            }
+
+            if (mMode == WifiConfigUiBase2.MODE_MODIFY) {
+                mConfigUi.setSubmitButton(res.getString(R.string.wifi_save));
+            } else if (mMode == WifiConfigUiBase2.MODE_CONNECT) {
+                mConfigUi.setSubmitButton(res.getString(R.string.wifi_connect));
+            } else {
+                final String signalLevel = getSignalString();
+
+                if (mWifiEntry.getConnectedState() == WifiEntry.CONNECTED_STATE_DISCONNECTED
+                            && signalLevel != null) {
+                    mConfigUi.setSubmitButton(res.getString(R.string.wifi_connect));
+                } else {
+                    // TODO(b/143326832): Add fine-grained state information.
+                    //WifiConfiguration config = mWifiEntry.getWifiConfiguration();
+                    //String suggestionOrSpecifierPackageName = null;
+                    //if (config != null
+                    //        && (config.fromWifiNetworkSpecifier
+                    //        || config.fromWifiNetworkSuggestion)) {
+                    //    suggestionOrSpecifierPackageName = config.creatorName;
+                    //}
+                    //String summary = AccessPoint.getSummary(
+                    //        mConfigUi.getContext(), /* ssid */ null, state, isEphemeral,
+                    //        suggestionOrSpecifierPackageName);
+                    //addRow(group, R.string.wifi_status, summary);
+
+                    if (signalLevel != null) {
+                        addRow(group, R.string.wifi_signal, signalLevel);
+                    }
+
+                    final ConnectedInfo info = mWifiEntry.getConnectedInfo();
+                    if (info != null && info.linkSpeedMbps >= 0) {
+                        addRow(group, R.string.wifi_speed, String.format(
+                                res.getString(R.string.link_speed), info.linkSpeedMbps));
+                    }
+
+                    if (info != null && info.frequencyMhz != WifiEntry.FREQUENCY_UNKNOWN) {
+                        final int frequency = info.frequencyMhz;
+                        String band = null;
+
+                        if (frequency >= WifiEntryShell.LOWER_FREQ_24GHZ
+                                && frequency < WifiEntryShell.HIGHER_FREQ_24GHZ) {
+                            band = res.getString(R.string.wifi_band_24ghz);
+                        } else if (frequency >= WifiEntryShell.LOWER_FREQ_5GHZ
+                                && frequency < WifiEntryShell.HIGHER_FREQ_5GHZ) {
+                            band = res.getString(R.string.wifi_band_5ghz);
+                        } else {
+                            Log.e(TAG, "Unexpected frequency " + frequency);
+                        }
+                        if (band != null) {
+                            addRow(group, R.string.wifi_frequency, band);
+                        }
+                    }
+
+                    addRow(group, R.string.wifi_security,
+                            mWifiEntry.getSecurityString(false /* concise */));
+                    mView.findViewById(R.id.ip_fields).setVisibility(View.GONE);
+                }
+                if (mWifiEntry.isSaved()
+                        || mWifiEntry.getConnectedState() == WifiEntry.CONNECTED_STATE_CONNECTED
+                        || mWifiEntry.isSubscription()) {
+                    mConfigUi.setForgetButton(res.getString(R.string.wifi_forget));
+                }
+            }
+
+            mSsidScanButton.setVisibility(View.GONE);
+        }
+
+        if (!isSplitSystemUser()) {
+            mSharedCheckBox.setVisibility(View.GONE);
+        }
+
+        mConfigUi.setCancelButton(res.getString(R.string.wifi_cancel));
+        if (mConfigUi.getSubmitButton() != null) {
+            enableSubmitIfAppropriate();
+        }
+
+        // After done view show and hide, request focus from parameter.
+        if (mRequestFocus) {
+            mView.findViewById(R.id.l_wifidialog).requestFocus();
+        }
+    }
+
+    @VisibleForTesting
+    boolean isSplitSystemUser() {
+        final UserManager userManager =
+                (UserManager) mContext.getSystemService(Context.USER_SERVICE);
+        return userManager.isSplitSystemUser();
+    }
+
+    private void addRow(ViewGroup group, int name, String value) {
+        View row = mConfigUi.getLayoutInflater().inflate(R.layout.wifi_dialog_row, group, false);
+        ((TextView) row.findViewById(R.id.name)).setText(name);
+        ((TextView) row.findViewById(R.id.value)).setText(value);
+        group.addView(row);
+    }
+
+    @VisibleForTesting
+    String getSignalString() {
+        if (mWifiEntry.getLevel() == WifiEntry.WIFI_LEVEL_UNREACHABLE) {
+            return null;
+        }
+        final int level = mWifiEntry.getLevel();
+
+        return (level > -1 && level < mLevels.length) ? mLevels[level] : null;
+    }
+
+    void hideForgetButton() {
+        Button forget = mConfigUi.getForgetButton();
+        if (forget == null) return;
+
+        forget.setVisibility(View.GONE);
+    }
+
+    void hideSubmitButton() {
+        Button submit = mConfigUi.getSubmitButton();
+        if (submit == null) return;
+
+        submit.setVisibility(View.GONE);
+    }
+
+    /* show submit button if password, ip and proxy settings are valid */
+    void enableSubmitIfAppropriate() {
+        Button submit = mConfigUi.getSubmitButton();
+        if (submit == null) return;
+
+        submit.setEnabled(isSubmittable());
+    }
+
+    boolean isValidPsk(String password) {
+        if (password.length() == 64 && password.matches("[0-9A-Fa-f]{64}")) {
+            return true;
+        } else if (password.length() >= 8 && password.length() <= 63) {
+            return true;
+        }
+        return false;
+    }
+
+    boolean isValidSaePassword(String password) {
+        if (password.length() >= 1 && password.length() <= 63) {
+            return true;
+        }
+        return false;
+    }
+
+    boolean isSubmittable() {
+        boolean enabled = false;
+        boolean passwordInvalid = false;
+        if (mPasswordView != null
+                && ((mWifiEntrySecurity == WifiEntry.SECURITY_WEP
+                        && mPasswordView.length() == 0)
+                    || (mWifiEntrySecurity == WifiEntry.SECURITY_PSK
+                           && !isValidPsk(mPasswordView.getText().toString()))
+                    || (mWifiEntrySecurity == WifiEntry.SECURITY_SAE
+                        && !isValidSaePassword(mPasswordView.getText().toString())))) {
+            passwordInvalid = true;
+        }
+        if ((mSsidView != null && mSsidView.length() == 0)
+                // If WifiEntry is not saved, apply passwordInvalid check
+                || ((mWifiEntry == null || !mWifiEntry.isSaved()) && passwordInvalid
+                // If WifiEntry is saved (modifying network) and password is changed, apply
+                // Invalid password check
+                || mWifiEntry != null && mWifiEntry.isSaved() && passwordInvalid
+                    && mPasswordView.length() > 0)) {
+            enabled = false;
+        } else {
+            enabled = ipAndProxyFieldsAreValid();
+        }
+        if ((mWifiEntrySecurity == WifiEntry.SECURITY_EAP
+                || mWifiEntrySecurity == WifiEntry.SECURITY_EAP_SUITE_B)
+                && mEapCaCertSpinner != null
+                && mView.findViewById(R.id.l_ca_cert).getVisibility() != View.GONE) {
+            String caCertSelection = (String) mEapCaCertSpinner.getSelectedItem();
+            if (caCertSelection.equals(mUnspecifiedCertString)) {
+                // Disallow submit if the user has not selected a CA certificate for an EAP network
+                // configuration.
+                enabled = false;
+            }
+            if (caCertSelection.equals(mUseSystemCertsString)
+                    && mEapDomainView != null
+                    && mView.findViewById(R.id.l_domain).getVisibility() != View.GONE
+                    && TextUtils.isEmpty(mEapDomainView.getText().toString())) {
+                // Disallow submit if the user chooses to use system certificates for EAP server
+                // validation, but does not provide a domain.
+                enabled = false;
+            }
+        }
+        if ((mWifiEntrySecurity == WifiEntry.SECURITY_EAP
+                || mWifiEntrySecurity == WifiEntry.SECURITY_EAP_SUITE_B)
+                && mEapUserCertSpinner != null
+                && mView.findViewById(R.id.l_user_cert).getVisibility() != View.GONE
+                && mEapUserCertSpinner.getSelectedItem().equals(mUnspecifiedCertString)) {
+            // Disallow submit if the user has not selected a user certificate for an EAP network
+            // configuration.
+            enabled = false;
+        }
+        return enabled;
+    }
+
+    void showWarningMessagesIfAppropriate() {
+        mView.findViewById(R.id.no_ca_cert_warning).setVisibility(View.GONE);
+        mView.findViewById(R.id.no_user_cert_warning).setVisibility(View.GONE);
+        mView.findViewById(R.id.no_domain_warning).setVisibility(View.GONE);
+        mView.findViewById(R.id.ssid_too_long_warning).setVisibility(View.GONE);
+
+        if (mSsidView != null) {
+            final String ssid = mSsidView.getText().toString();
+            if (WifiUtils.isSSIDTooLong(ssid)) {
+                mView.findViewById(R.id.ssid_too_long_warning).setVisibility(View.VISIBLE);
+            }
+        }
+        if (mEapCaCertSpinner != null
+                && mView.findViewById(R.id.l_ca_cert).getVisibility() != View.GONE) {
+            String caCertSelection = (String) mEapCaCertSpinner.getSelectedItem();
+            if (caCertSelection.equals(mDoNotValidateEapServerString)) {
+                // Display warning if user chooses not to validate the EAP server with a
+                // user-supplied CA certificate in an EAP network configuration.
+                mView.findViewById(R.id.no_ca_cert_warning).setVisibility(View.VISIBLE);
+            }
+            if (caCertSelection.equals(mUseSystemCertsString)
+                    && mEapDomainView != null
+                    && mView.findViewById(R.id.l_domain).getVisibility() != View.GONE
+                    && TextUtils.isEmpty(mEapDomainView.getText().toString())) {
+                // Display warning if user chooses to use pre-installed public CA certificates
+                // without restricting the server domain that these certificates can be used to
+                // validate.
+                mView.findViewById(R.id.no_domain_warning).setVisibility(View.VISIBLE);
+            }
+        }
+
+        if (mWifiEntrySecurity == WifiEntry.SECURITY_EAP_SUITE_B
+                && mEapMethodSpinner.getSelectedItemPosition() == WIFI_EAP_METHOD_TLS) {
+            String userCertSelection = (String) mEapUserCertSpinner.getSelectedItem();
+            if (userCertSelection.equals(mUnspecifiedCertString)) {
+                mView.findViewById(R.id.no_user_cert_warning).setVisibility(View.VISIBLE);
+            }
+        }
+    }
+
+    /**
+     * @return {@link WifiConfiguration} from mWifiEntry and UI edit result.
+     */
+    public WifiConfiguration getConfig() {
+        if (mMode == WifiConfigUiBase2.MODE_VIEW) {
+            return null;
+        }
+
+        WifiConfiguration config = new WifiConfiguration();
+
+        if (mWifiEntry == null) {
+            config.SSID = AccessPoint.convertToQuotedString(
+                    mSsidView.getText().toString());
+            // If the user adds a network manually, assume that it is hidden.
+            config.hiddenSSID = mHiddenSettingsSpinner.getSelectedItemPosition() == HIDDEN_NETWORK;
+        } else if (!mWifiEntry.isSaved()) {
+            config.SSID = AccessPoint.convertToQuotedString(
+                    mWifiEntry.getTitle());
+        } else {
+            config.networkId = mWifiEntry.getWifiConfiguration().networkId;
+            config.hiddenSSID = mWifiEntry.getWifiConfiguration().hiddenSSID;
+        }
+
+        config.shared = mSharedCheckBox.isChecked();
+
+        switch (mWifiEntrySecurity) {
+            case WifiEntry.SECURITY_NONE:
+                config.setSecurityParams(WifiConfiguration.SECURITY_TYPE_OPEN);
+                break;
+
+            case WifiEntry.SECURITY_WEP:
+                config.setSecurityParams(WifiConfiguration.SECURITY_TYPE_WEP);
+                if (mPasswordView.length() != 0) {
+                    int length = mPasswordView.length();
+                    String password = mPasswordView.getText().toString();
+                    // WEP-40, WEP-104, and 256-bit WEP (WEP-232?)
+                    if ((length == 10 || length == 26 || length == 58)
+                            && password.matches("[0-9A-Fa-f]*")) {
+                        config.wepKeys[0] = password;
+                    } else {
+                        config.wepKeys[0] = '"' + password + '"';
+                    }
+                }
+                break;
+
+            case WifiEntry.SECURITY_PSK:
+                config.setSecurityParams(WifiConfiguration.SECURITY_TYPE_PSK);
+                if (mPasswordView.length() != 0) {
+                    String password = mPasswordView.getText().toString();
+                    if (password.matches("[0-9A-Fa-f]{64}")) {
+                        config.preSharedKey = password;
+                    } else {
+                        config.preSharedKey = '"' + password + '"';
+                    }
+                }
+                break;
+
+            case WifiEntry.SECURITY_EAP:
+            case WifiEntry.SECURITY_EAP_SUITE_B:
+                if (mWifiEntrySecurity == WifiEntry.SECURITY_EAP_SUITE_B) {
+                    // allowedSuiteBCiphers will be set according to certificate type
+                    config.setSecurityParams(WifiConfiguration.SECURITY_TYPE_EAP_SUITE_B);
+                } else {
+                    config.setSecurityParams(WifiConfiguration.SECURITY_TYPE_EAP);
+                }
+                config.enterpriseConfig = new WifiEnterpriseConfig();
+                int eapMethod = mEapMethodSpinner.getSelectedItemPosition();
+                int phase2Method = mPhase2Spinner.getSelectedItemPosition();
+                config.enterpriseConfig.setEapMethod(eapMethod);
+                switch (eapMethod) {
+                    case Eap.PEAP:
+                        // PEAP supports limited phase2 values
+                        // Map the index from the mPhase2PeapAdapter to the one used
+                        // by the API which has the full list of PEAP methods.
+                        switch(phase2Method) {
+                            case WIFI_PEAP_PHASE2_MSCHAPV2:
+                                config.enterpriseConfig.setPhase2Method(Phase2.MSCHAPV2);
+                                break;
+                            case WIFI_PEAP_PHASE2_GTC:
+                                config.enterpriseConfig.setPhase2Method(Phase2.GTC);
+                                break;
+                            case WIFI_PEAP_PHASE2_SIM:
+                                config.enterpriseConfig.setPhase2Method(Phase2.SIM);
+                                break;
+                            case WIFI_PEAP_PHASE2_AKA:
+                                config.enterpriseConfig.setPhase2Method(Phase2.AKA);
+                                break;
+                            case WIFI_PEAP_PHASE2_AKA_PRIME:
+                                config.enterpriseConfig.setPhase2Method(Phase2.AKA_PRIME);
+                                break;
+                            default:
+                                Log.e(TAG, "Unknown phase2 method" + phase2Method);
+                                break;
+                        }
+                        break;
+                    case Eap.TTLS:
+                        // The default index from mPhase2TtlsAdapter maps to the API
+                        switch(phase2Method) {
+                            case WIFI_TTLS_PHASE2_PAP:
+                                config.enterpriseConfig.setPhase2Method(Phase2.PAP);
+                                break;
+                            case WIFI_TTLS_PHASE2_MSCHAP:
+                                config.enterpriseConfig.setPhase2Method(Phase2.MSCHAP);
+                                break;
+                            case WIFI_TTLS_PHASE2_MSCHAPV2:
+                                config.enterpriseConfig.setPhase2Method(Phase2.MSCHAPV2);
+                                break;
+                            case WIFI_TTLS_PHASE2_GTC:
+                                config.enterpriseConfig.setPhase2Method(Phase2.GTC);
+                                break;
+                            default:
+                                Log.e(TAG, "Unknown phase2 method" + phase2Method);
+                                break;
+                        }
+                        break;
+                    default:
+                        break;
+                }
+
+                String caCert = (String) mEapCaCertSpinner.getSelectedItem();
+                config.enterpriseConfig.setCaCertificateAliases(null);
+                config.enterpriseConfig.setCaPath(null);
+                config.enterpriseConfig.setDomainSuffixMatch(mEapDomainView.getText().toString());
+                if (caCert.equals(mUnspecifiedCertString)
+                        || caCert.equals(mDoNotValidateEapServerString)) {
+                    // ca_cert already set to null, so do nothing.
+                } else if (caCert.equals(mUseSystemCertsString)) {
+                    config.enterpriseConfig.setCaPath(SYSTEM_CA_STORE_PATH);
+                } else if (caCert.equals(mMultipleCertSetString)) {
+                    if (mWifiEntry != null) {
+                        if (!mWifiEntry.isSaved()) {
+                            Log.e(TAG, "Multiple certs can only be set "
+                                    + "when editing saved network");
+                        }
+                        config.enterpriseConfig.setCaCertificateAliases(
+                                mWifiEntry.getWifiConfiguration()
+                                        .enterpriseConfig
+                                        .getCaCertificateAliases());
+                    }
+                } else {
+                    config.enterpriseConfig.setCaCertificateAliases(new String[] {caCert});
+                }
+
+                // ca_cert or ca_path should not both be non-null, since we only intend to let
+                // the use either their own certificate, or the system certificates, not both.
+                // The variable that is not used must explicitly be set to null, so that a
+                // previously-set value on a saved configuration will be erased on an update.
+                if (config.enterpriseConfig.getCaCertificateAliases() != null
+                        && config.enterpriseConfig.getCaPath() != null) {
+                    Log.e(TAG, "ca_cert ("
+                            + config.enterpriseConfig.getCaCertificateAliases()
+                            + ") and ca_path ("
+                            + config.enterpriseConfig.getCaPath()
+                            + ") should not both be non-null");
+                }
+
+                // Only set OCSP option if there is a valid CA certificate.
+                if (caCert.equals(mUnspecifiedCertString)
+                        || caCert.equals(mDoNotValidateEapServerString)) {
+                    config.enterpriseConfig.setOcsp(WifiEnterpriseConfig.OCSP_NONE);
+                } else {
+                    config.enterpriseConfig.setOcsp(mEapOcspSpinner.getSelectedItemPosition());
+                }
+
+                String clientCert = (String) mEapUserCertSpinner.getSelectedItem();
+                if (clientCert.equals(mUnspecifiedCertString)
+                        || clientCert.equals(mDoNotProvideEapUserCertString)) {
+                    // Note: |clientCert| should not be able to take the value |unspecifiedCert|,
+                    // since we prevent such configurations from being saved.
+                    clientCert = "";
+                }
+                config.enterpriseConfig.setClientCertificateAlias(clientCert);
+                if (eapMethod == Eap.SIM || eapMethod == Eap.AKA || eapMethod == Eap.AKA_PRIME) {
+                    config.enterpriseConfig.setIdentity("");
+                    config.enterpriseConfig.setAnonymousIdentity("");
+                } else if (eapMethod == Eap.PWD) {
+                    config.enterpriseConfig.setIdentity(mEapIdentityView.getText().toString());
+                    config.enterpriseConfig.setAnonymousIdentity("");
+                } else {
+                    config.enterpriseConfig.setIdentity(mEapIdentityView.getText().toString());
+                    config.enterpriseConfig.setAnonymousIdentity(
+                            mEapAnonymousView.getText().toString());
+                }
+
+                if (mPasswordView.isShown()) {
+                    // For security reasons, a previous password is not displayed to user.
+                    // Update only if it has been changed.
+                    if (mPasswordView.length() > 0) {
+                        config.enterpriseConfig.setPassword(mPasswordView.getText().toString());
+                    }
+                } else {
+                    // clear password
+                    config.enterpriseConfig.setPassword(mPasswordView.getText().toString());
+                }
+                break;
+            case WifiEntry.SECURITY_SAE:
+                config.setSecurityParams(WifiConfiguration.SECURITY_TYPE_SAE);
+                if (mPasswordView.length() != 0) {
+                    String password = mPasswordView.getText().toString();
+                    config.preSharedKey = '"' + password + '"';
+                }
+                break;
+
+            case WifiEntry.SECURITY_OWE:
+                config.setSecurityParams(WifiConfiguration.SECURITY_TYPE_OWE);
+                break;
+
+            default:
+                return null;
+        }
+
+        config.setIpConfiguration(
+                new IpConfiguration(mIpAssignment, mProxySettings,
+                                    mStaticIpConfiguration, mHttpProxy));
+        if (mMeteredSettingsSpinner != null) {
+            config.meteredOverride = mMeteredSettingsSpinner.getSelectedItemPosition();
+        }
+
+        if (mPrivacySettingsSpinner != null) {
+            int macValue;
+            if (FeatureFlagUtils.isEnabled(mContext, FeatureFlagUtils.SETTINGS_WIFITRACKER2)) {
+                macValue = WifiPrivacyPreferenceController2.translatePrefValueToMacRandomizedValue(
+                        mPrivacySettingsSpinner.getSelectedItemPosition());
+            } else {
+                macValue = WifiPrivacyPreferenceController.translatePrefValueToMacRandomizedValue(
+                        mPrivacySettingsSpinner.getSelectedItemPosition());
+            }
+            config.macRandomizationSetting = macValue;
+        }
+
+        return config;
+    }
+
+    private boolean ipAndProxyFieldsAreValid() {
+        mIpAssignment =
+                (mIpSettingsSpinner != null
+                    && mIpSettingsSpinner.getSelectedItemPosition() == STATIC_IP)
+                ? IpAssignment.STATIC
+                : IpAssignment.DHCP;
+
+        if (mIpAssignment == IpAssignment.STATIC) {
+            mStaticIpConfiguration = new StaticIpConfiguration();
+            int result = validateIpConfigFields(mStaticIpConfiguration);
+            if (result != 0) {
+                return false;
+            }
+        }
+
+        final int selectedPosition = mProxySettingsSpinner.getSelectedItemPosition();
+        mProxySettings = ProxySettings.NONE;
+        mHttpProxy = null;
+        if (selectedPosition == PROXY_STATIC && mProxyHostView != null) {
+            mProxySettings = ProxySettings.STATIC;
+            String host = mProxyHostView.getText().toString();
+            String portStr = mProxyPortView.getText().toString();
+            String exclusionList = mProxyExclusionListView.getText().toString();
+            int port = 0;
+            int result = 0;
+            try {
+                port = Integer.parseInt(portStr);
+                result = ProxySelector.validate(host, portStr, exclusionList);
+            } catch (NumberFormatException e) {
+                result = R.string.proxy_error_invalid_port;
+            }
+            if (result == 0) {
+                mHttpProxy = new ProxyInfo(host, port, exclusionList);
+            } else {
+                return false;
+            }
+        } else if (selectedPosition == PROXY_PAC && mProxyPacView != null) {
+            mProxySettings = ProxySettings.PAC;
+            CharSequence uriSequence = mProxyPacView.getText();
+            if (TextUtils.isEmpty(uriSequence)) {
+                return false;
+            }
+            Uri uri = Uri.parse(uriSequence.toString());
+            if (uri == null) {
+                return false;
+            }
+            mHttpProxy = new ProxyInfo(uri);
+        }
+        return true;
+    }
+
+    private Inet4Address getIPv4Address(String text) {
+        try {
+            return (Inet4Address) NetworkUtils.numericToInetAddress(text);
+        } catch (IllegalArgumentException | ClassCastException e) {
+            return null;
+        }
+    }
+
+    private int validateIpConfigFields(StaticIpConfiguration staticIpConfiguration) {
+        if (mIpAddressView == null) return 0;
+
+        String ipAddr = mIpAddressView.getText().toString();
+        if (TextUtils.isEmpty(ipAddr)) return R.string.wifi_ip_settings_invalid_ip_address;
+
+        Inet4Address inetAddr = getIPv4Address(ipAddr);
+        if (inetAddr == null || inetAddr.equals(Inet4Address.ANY)) {
+            return R.string.wifi_ip_settings_invalid_ip_address;
+        }
+
+        int networkPrefixLength = -1;
+        try {
+            networkPrefixLength = Integer.parseInt(mNetworkPrefixLengthView.getText().toString());
+            if (networkPrefixLength < 0 || networkPrefixLength > 32) {
+                return R.string.wifi_ip_settings_invalid_network_prefix_length;
+            }
+            staticIpConfiguration.ipAddress = new LinkAddress(inetAddr, networkPrefixLength);
+        } catch (NumberFormatException e) {
+            // Set the hint as default after user types in ip address
+            mNetworkPrefixLengthView.setText(mConfigUi.getContext().getString(
+                    R.string.wifi_network_prefix_length_hint));
+        } catch (IllegalArgumentException e) {
+            return R.string.wifi_ip_settings_invalid_ip_address;
+        }
+
+        String gateway = mGatewayView.getText().toString();
+        if (TextUtils.isEmpty(gateway)) {
+            try {
+                //Extract a default gateway from IP address
+                InetAddress netPart = NetworkUtils.getNetworkPart(inetAddr, networkPrefixLength);
+                byte[] addr = netPart.getAddress();
+                addr[addr.length - 1] = 1;
+                mGatewayView.setText(InetAddress.getByAddress(addr).getHostAddress());
+            } catch (RuntimeException ee) {
+            } catch (java.net.UnknownHostException u) {
+            }
+        } else {
+            InetAddress gatewayAddr = getIPv4Address(gateway);
+            if (gatewayAddr == null) {
+                return R.string.wifi_ip_settings_invalid_gateway;
+            }
+            if (gatewayAddr.isMulticastAddress()) {
+                return R.string.wifi_ip_settings_invalid_gateway;
+            }
+            staticIpConfiguration.gateway = gatewayAddr;
+        }
+
+        String dns = mDns1View.getText().toString();
+        InetAddress dnsAddr = null;
+
+        if (TextUtils.isEmpty(dns)) {
+            //If everything else is valid, provide hint as a default option
+            mDns1View.setText(mConfigUi.getContext().getString(R.string.wifi_dns1_hint));
+        } else {
+            dnsAddr = getIPv4Address(dns);
+            if (dnsAddr == null) {
+                return R.string.wifi_ip_settings_invalid_dns;
+            }
+            staticIpConfiguration.dnsServers.add(dnsAddr);
+        }
+
+        if (mDns2View.length() > 0) {
+            dns = mDns2View.getText().toString();
+            dnsAddr = getIPv4Address(dns);
+            if (dnsAddr == null) {
+                return R.string.wifi_ip_settings_invalid_dns;
+            }
+            staticIpConfiguration.dnsServers.add(dnsAddr);
+        }
+        return 0;
+    }
+
+    private void showSecurityFields(boolean refreshEapMethods, boolean refreshCertificates) {
+        if (mWifiEntrySecurity == WifiEntry.SECURITY_NONE
+                || mWifiEntrySecurity == WifiEntry.SECURITY_OWE) {
+            mView.findViewById(R.id.security_fields).setVisibility(View.GONE);
+            return;
+        }
+        mView.findViewById(R.id.security_fields).setVisibility(View.VISIBLE);
+
+        if (mPasswordView == null) {
+            mPasswordView = (TextView) mView.findViewById(R.id.password);
+            mPasswordView.addTextChangedListener(this);
+            mPasswordView.setOnEditorActionListener(this);
+            mPasswordView.setOnKeyListener(this);
+            ((CheckBox) mView.findViewById(R.id.show_password))
+                .setOnCheckedChangeListener(this);
+
+            if (mWifiEntry != null && mWifiEntry.isSaved()) {
+                mPasswordView.setHint(R.string.wifi_unchanged);
+            }
+        }
+
+        if (mWifiEntrySecurity != WifiEntry.SECURITY_EAP
+                && mWifiEntrySecurity != WifiEntry.SECURITY_EAP_SUITE_B) {
+            mView.findViewById(R.id.eap).setVisibility(View.GONE);
+            return;
+        }
+        mView.findViewById(R.id.eap).setVisibility(View.VISIBLE);
+
+        // TODO (b/140541213): Maybe we can remove initiateEnterpriseNetworkUi by moving code block
+        boolean initiateEnterpriseNetworkUi = false;
+        if (mEapMethodSpinner == null) {
+            initiateEnterpriseNetworkUi = true;
+            mEapMethodSpinner = (Spinner) mView.findViewById(R.id.method);
+            mEapMethodSpinner.setOnItemSelectedListener(this);
+            mPhase2Spinner = (Spinner) mView.findViewById(R.id.phase2);
+            mPhase2Spinner.setOnItemSelectedListener(this);
+            mEapCaCertSpinner = (Spinner) mView.findViewById(R.id.ca_cert);
+            mEapCaCertSpinner.setOnItemSelectedListener(this);
+            mEapOcspSpinner = (Spinner) mView.findViewById(R.id.ocsp);
+            mEapDomainView = (TextView) mView.findViewById(R.id.domain);
+            mEapDomainView.addTextChangedListener(this);
+            mEapUserCertSpinner = (Spinner) mView.findViewById(R.id.user_cert);
+            mEapUserCertSpinner.setOnItemSelectedListener(this);
+            mEapIdentityView = (TextView) mView.findViewById(R.id.identity);
+            mEapAnonymousView = (TextView) mView.findViewById(R.id.anonymous);
+        }
+
+        if (refreshEapMethods) {
+            ArrayAdapter<CharSequence> eapMethodSpinnerAdapter;
+            if (mWifiEntrySecurity == WifiEntry.SECURITY_EAP_SUITE_B) {
+                eapMethodSpinnerAdapter = getSpinnerAdapter(R.array.wifi_eap_method);
+                mEapMethodSpinner.setAdapter(eapMethodSpinnerAdapter);
+                // WAP3-Enterprise 192-bit only allows EAP method TLS
+                mEapMethodSpinner.setSelection(Eap.TLS);
+                mEapMethodSpinner.setEnabled(false);
+            } else if (Utils.isWifiOnly(mContext) || !mContext.getResources().getBoolean(
+                    com.android.internal.R.bool.config_eap_sim_based_auth_supported)) {
+                eapMethodSpinnerAdapter = getSpinnerAdapter(R.array.eap_method_without_sim_auth);
+                mEapMethodSpinner.setAdapter(eapMethodSpinnerAdapter);
+                mEapMethodSpinner.setEnabled(true);
+            } else {
+                eapMethodSpinnerAdapter = getSpinnerAdapterWithEapMethodsTts(
+                        R.array.wifi_eap_method);
+                mEapMethodSpinner.setAdapter(eapMethodSpinnerAdapter);
+                mEapMethodSpinner.setEnabled(true);
+            }
+        }
+
+        if (refreshCertificates) {
+            loadCertificates(
+                    mEapCaCertSpinner,
+                    Credentials.CA_CERTIFICATE,
+                    mDoNotValidateEapServerString,
+                    false,
+                    true);
+            loadCertificates(
+                    mEapUserCertSpinner,
+                    Credentials.USER_PRIVATE_KEY,
+                    mDoNotProvideEapUserCertString,
+                    false,
+                    false);
+            // To avoid the user connects to a non-secure network unexpectedly,
+            // request using system trusted certificates by default
+            // unless the user explicitly chooses "Do not validate" or other
+            // CA certificates.
+            setSelection(mEapCaCertSpinner, mUseSystemCertsString);
+        }
+
+        // Modifying an existing network
+        if (initiateEnterpriseNetworkUi && mWifiEntry != null && mWifiEntry.isSaved()) {
+            WifiEnterpriseConfig enterpriseConfig = mWifiEntry.getWifiConfiguration()
+                    .enterpriseConfig;
+            int eapMethod = enterpriseConfig.getEapMethod();
+            int phase2Method = enterpriseConfig.getPhase2Method();
+            mEapMethodSpinner.setSelection(eapMethod);
+            showEapFieldsByMethod(eapMethod);
+            switch (eapMethod) {
+                case Eap.PEAP:
+                    switch (phase2Method) {
+                        case Phase2.MSCHAPV2:
+                            mPhase2Spinner.setSelection(WIFI_PEAP_PHASE2_MSCHAPV2);
+                            break;
+                        case Phase2.GTC:
+                            mPhase2Spinner.setSelection(WIFI_PEAP_PHASE2_GTC);
+                            break;
+                        case Phase2.SIM:
+                            mPhase2Spinner.setSelection(WIFI_PEAP_PHASE2_SIM);
+                            break;
+                        case Phase2.AKA:
+                            mPhase2Spinner.setSelection(WIFI_PEAP_PHASE2_AKA);
+                            break;
+                        case Phase2.AKA_PRIME:
+                            mPhase2Spinner.setSelection(WIFI_PEAP_PHASE2_AKA_PRIME);
+                            break;
+                        default:
+                            Log.e(TAG, "Invalid phase 2 method " + phase2Method);
+                            break;
+                    }
+                    break;
+                case Eap.TTLS:
+                    switch (phase2Method) {
+                        case Phase2.PAP:
+                            mPhase2Spinner.setSelection(WIFI_TTLS_PHASE2_PAP);
+                            break;
+                        case Phase2.MSCHAP:
+                            mPhase2Spinner.setSelection(WIFI_TTLS_PHASE2_MSCHAP);
+                            break;
+                        case Phase2.MSCHAPV2:
+                            mPhase2Spinner.setSelection(WIFI_TTLS_PHASE2_MSCHAPV2);
+                            break;
+                        case Phase2.GTC:
+                            mPhase2Spinner.setSelection(WIFI_TTLS_PHASE2_GTC);
+                            break;
+                        default:
+                            Log.e(TAG, "Invalid phase 2 method " + phase2Method);
+                            break;
+                    }
+                    break;
+                default:
+                    break;
+            }
+            if (!TextUtils.isEmpty(enterpriseConfig.getCaPath())) {
+                setSelection(mEapCaCertSpinner, mUseSystemCertsString);
+            } else {
+                String[] caCerts = enterpriseConfig.getCaCertificateAliases();
+                if (caCerts == null) {
+                    setSelection(mEapCaCertSpinner, mDoNotValidateEapServerString);
+                } else if (caCerts.length == 1) {
+                    setSelection(mEapCaCertSpinner, caCerts[0]);
+                } else {
+                    // Reload the cert spinner with an extra "multiple certificates added" item.
+                    loadCertificates(
+                            mEapCaCertSpinner,
+                            Credentials.CA_CERTIFICATE,
+                            mDoNotValidateEapServerString,
+                            true,
+                            true);
+                    setSelection(mEapCaCertSpinner, mMultipleCertSetString);
+                }
+            }
+            mEapOcspSpinner.setSelection(enterpriseConfig.getOcsp());
+            mEapDomainView.setText(enterpriseConfig.getDomainSuffixMatch());
+            String userCert = enterpriseConfig.getClientCertificateAlias();
+            if (TextUtils.isEmpty(userCert)) {
+                setSelection(mEapUserCertSpinner, mDoNotProvideEapUserCertString);
+            } else {
+                setSelection(mEapUserCertSpinner, userCert);
+            }
+            mEapIdentityView.setText(enterpriseConfig.getIdentity());
+            mEapAnonymousView.setText(enterpriseConfig.getAnonymousIdentity());
+        } else {
+            showEapFieldsByMethod(mEapMethodSpinner.getSelectedItemPosition());
+        }
+    }
+
+    /**
+     * EAP-PWD valid fields include
+     *   identity
+     *   password
+     * EAP-PEAP valid fields include
+     *   phase2: MSCHAPV2, GTC, SIM, AKA, AKA'
+     *   ca_cert
+     *   identity
+     *   anonymous_identity
+     *   password (not required for SIM, AKA, AKA')
+     * EAP-TLS valid fields include
+     *   user_cert
+     *   ca_cert
+     *   domain
+     *   identity
+     * EAP-TTLS valid fields include
+     *   phase2: PAP, MSCHAP, MSCHAPV2, GTC
+     *   ca_cert
+     *   identity
+     *   anonymous_identity
+     *   password
+     */
+    private void showEapFieldsByMethod(int eapMethod) {
+        // Common defaults
+        mView.findViewById(R.id.l_method).setVisibility(View.VISIBLE);
+        mView.findViewById(R.id.l_identity).setVisibility(View.VISIBLE);
+        mView.findViewById(R.id.l_domain).setVisibility(View.VISIBLE);
+
+        // Defaults for most of the EAP methods and over-riden by
+        // by certain EAP methods
+        mView.findViewById(R.id.l_ca_cert).setVisibility(View.VISIBLE);
+        mView.findViewById(R.id.l_ocsp).setVisibility(View.VISIBLE);
+        mView.findViewById(R.id.password_layout).setVisibility(View.VISIBLE);
+        mView.findViewById(R.id.show_password_layout).setVisibility(View.VISIBLE);
+
+        Context context = mConfigUi.getContext();
+        switch (eapMethod) {
+            case WIFI_EAP_METHOD_PWD:
+                setPhase2Invisible();
+                setCaCertInvisible();
+                setOcspInvisible();
+                setDomainInvisible();
+                setAnonymousIdentInvisible();
+                setUserCertInvisible();
+                break;
+            case WIFI_EAP_METHOD_TLS:
+                mView.findViewById(R.id.l_user_cert).setVisibility(View.VISIBLE);
+                setPhase2Invisible();
+                setAnonymousIdentInvisible();
+                setPasswordInvisible();
+                break;
+            case WIFI_EAP_METHOD_PEAP:
+                // Reset adapter if needed
+                if (mPhase2Adapter != mPhase2PeapAdapter) {
+                    mPhase2Adapter = mPhase2PeapAdapter;
+                    mPhase2Spinner.setAdapter(mPhase2Adapter);
+                }
+                mView.findViewById(R.id.l_phase2).setVisibility(View.VISIBLE);
+                mView.findViewById(R.id.l_anonymous).setVisibility(View.VISIBLE);
+                showPeapFields();
+                setUserCertInvisible();
+                break;
+            case WIFI_EAP_METHOD_TTLS:
+                // Reset adapter if needed
+                if (mPhase2Adapter != mPhase2TtlsAdapter) {
+                    mPhase2Adapter = mPhase2TtlsAdapter;
+                    mPhase2Spinner.setAdapter(mPhase2Adapter);
+                }
+                mView.findViewById(R.id.l_phase2).setVisibility(View.VISIBLE);
+                mView.findViewById(R.id.l_anonymous).setVisibility(View.VISIBLE);
+                setUserCertInvisible();
+                break;
+            case WIFI_EAP_METHOD_SIM:
+            case WIFI_EAP_METHOD_AKA:
+            case WIFI_EAP_METHOD_AKA_PRIME:
+                setPhase2Invisible();
+                setAnonymousIdentInvisible();
+                setCaCertInvisible();
+                setOcspInvisible();
+                setDomainInvisible();
+                setUserCertInvisible();
+                setPasswordInvisible();
+                setIdentityInvisible();
+                break;
+        }
+
+        if (mView.findViewById(R.id.l_ca_cert).getVisibility() != View.GONE) {
+            String eapCertSelection = (String) mEapCaCertSpinner.getSelectedItem();
+            if (eapCertSelection.equals(mDoNotValidateEapServerString)
+                    || eapCertSelection.equals(mUnspecifiedCertString)) {
+                // Domain suffix matching is not relevant if the user hasn't chosen a CA
+                // certificate yet, or chooses not to validate the EAP server.
+                setDomainInvisible();
+                // Ocsp is an additional validation step for a server certifidate.
+                // This field is not relevant if the user hasn't chosen a valid
+                // CA certificate yet.
+                setOcspInvisible();
+            }
+        }
+    }
+
+    private void showPeapFields() {
+        int phase2Method = mPhase2Spinner.getSelectedItemPosition();
+        if (phase2Method == WIFI_PEAP_PHASE2_SIM || phase2Method == WIFI_PEAP_PHASE2_AKA
+                 || phase2Method == WIFI_PEAP_PHASE2_AKA_PRIME) {
+            mEapIdentityView.setText("");
+            mView.findViewById(R.id.l_identity).setVisibility(View.GONE);
+            setPasswordInvisible();
+        } else {
+            mView.findViewById(R.id.l_identity).setVisibility(View.VISIBLE);
+            mView.findViewById(R.id.l_anonymous).setVisibility(View.VISIBLE);
+            mView.findViewById(R.id.password_layout).setVisibility(View.VISIBLE);
+            mView.findViewById(R.id.show_password_layout).setVisibility(View.VISIBLE);
+        }
+    }
+
+    private void setIdentityInvisible() {
+        mView.findViewById(R.id.l_identity).setVisibility(View.GONE);
+    }
+
+    private void setPhase2Invisible() {
+        mView.findViewById(R.id.l_phase2).setVisibility(View.GONE);
+    }
+
+    private void setCaCertInvisible() {
+        mView.findViewById(R.id.l_ca_cert).setVisibility(View.GONE);
+        setSelection(mEapCaCertSpinner, mUnspecifiedCertString);
+    }
+
+    private void setOcspInvisible() {
+        mView.findViewById(R.id.l_ocsp).setVisibility(View.GONE);
+        mEapOcspSpinner.setSelection(WifiEnterpriseConfig.OCSP_NONE);
+    }
+
+    private void setDomainInvisible() {
+        mView.findViewById(R.id.l_domain).setVisibility(View.GONE);
+        mEapDomainView.setText("");
+    }
+
+    private void setUserCertInvisible() {
+        mView.findViewById(R.id.l_user_cert).setVisibility(View.GONE);
+        setSelection(mEapUserCertSpinner, mUnspecifiedCertString);
+    }
+
+    private void setAnonymousIdentInvisible() {
+        mView.findViewById(R.id.l_anonymous).setVisibility(View.GONE);
+        mEapAnonymousView.setText("");
+    }
+
+    private void setPasswordInvisible() {
+        mPasswordView.setText("");
+        mView.findViewById(R.id.password_layout).setVisibility(View.GONE);
+        mView.findViewById(R.id.show_password_layout).setVisibility(View.GONE);
+    }
+
+    private void setEapMethodInvisible() {
+        mView.findViewById(R.id.eap).setVisibility(View.GONE);
+    }
+
+    private void showIpConfigFields() {
+        WifiConfiguration config = null;
+
+        mView.findViewById(R.id.ip_fields).setVisibility(View.VISIBLE);
+
+        if (mWifiEntry != null && mWifiEntry.isSaved()) {
+            config = mWifiEntry.getWifiConfiguration();
+        }
+
+        if (mIpSettingsSpinner.getSelectedItemPosition() == STATIC_IP) {
+            mView.findViewById(R.id.staticip).setVisibility(View.VISIBLE);
+            if (mIpAddressView == null) {
+                mIpAddressView = (TextView) mView.findViewById(R.id.ipaddress);
+                mIpAddressView.addTextChangedListener(this);
+                mGatewayView = (TextView) mView.findViewById(R.id.gateway);
+                mGatewayView.addTextChangedListener(this);
+                mNetworkPrefixLengthView = (TextView) mView.findViewById(
+                        R.id.network_prefix_length);
+                mNetworkPrefixLengthView.addTextChangedListener(this);
+                mDns1View = (TextView) mView.findViewById(R.id.dns1);
+                mDns1View.addTextChangedListener(this);
+                mDns2View = (TextView) mView.findViewById(R.id.dns2);
+                mDns2View.addTextChangedListener(this);
+            }
+            if (config != null) {
+                StaticIpConfiguration staticConfig = config.getIpConfiguration()
+                        .getStaticIpConfiguration();
+                if (staticConfig != null) {
+                    if (staticConfig.ipAddress != null) {
+                        mIpAddressView.setText(
+                                staticConfig.ipAddress.getAddress().getHostAddress());
+                        mNetworkPrefixLengthView.setText(Integer.toString(staticConfig.ipAddress
+                                .getPrefixLength()));
+                    }
+
+                    if (staticConfig.gateway != null) {
+                        mGatewayView.setText(staticConfig.gateway.getHostAddress());
+                    }
+
+                    Iterator<InetAddress> dnsIterator = staticConfig.dnsServers.iterator();
+                    if (dnsIterator.hasNext()) {
+                        mDns1View.setText(dnsIterator.next().getHostAddress());
+                    }
+                    if (dnsIterator.hasNext()) {
+                        mDns2View.setText(dnsIterator.next().getHostAddress());
+                    }
+                }
+            }
+        } else {
+            mView.findViewById(R.id.staticip).setVisibility(View.GONE);
+        }
+    }
+
+    private void showProxyFields() {
+        WifiConfiguration config = null;
+
+        mView.findViewById(R.id.proxy_settings_fields).setVisibility(View.VISIBLE);
+
+        if (mWifiEntry != null && mWifiEntry.isSaved()) {
+            config = mWifiEntry.getWifiConfiguration();
+        }
+
+        if (mProxySettingsSpinner.getSelectedItemPosition() == PROXY_STATIC) {
+            setVisibility(R.id.proxy_warning_limited_support, View.VISIBLE);
+            setVisibility(R.id.proxy_fields, View.VISIBLE);
+            setVisibility(R.id.proxy_pac_field, View.GONE);
+            if (mProxyHostView == null) {
+                mProxyHostView = (TextView) mView.findViewById(R.id.proxy_hostname);
+                mProxyHostView.addTextChangedListener(this);
+                mProxyPortView = (TextView) mView.findViewById(R.id.proxy_port);
+                mProxyPortView.addTextChangedListener(this);
+                mProxyExclusionListView = (TextView) mView.findViewById(R.id.proxy_exclusionlist);
+                mProxyExclusionListView.addTextChangedListener(this);
+            }
+            if (config != null) {
+                ProxyInfo proxyProperties = config.getHttpProxy();
+                if (proxyProperties != null) {
+                    mProxyHostView.setText(proxyProperties.getHost());
+                    mProxyPortView.setText(Integer.toString(proxyProperties.getPort()));
+                    mProxyExclusionListView.setText(proxyProperties.getExclusionListAsString());
+                }
+            }
+        } else if (mProxySettingsSpinner.getSelectedItemPosition() == PROXY_PAC) {
+            setVisibility(R.id.proxy_warning_limited_support, View.GONE);
+            setVisibility(R.id.proxy_fields, View.GONE);
+            setVisibility(R.id.proxy_pac_field, View.VISIBLE);
+
+            if (mProxyPacView == null) {
+                mProxyPacView = (TextView) mView.findViewById(R.id.proxy_pac);
+                mProxyPacView.addTextChangedListener(this);
+            }
+            if (config != null) {
+                ProxyInfo proxyInfo = config.getHttpProxy();
+                if (proxyInfo != null) {
+                    mProxyPacView.setText(proxyInfo.getPacFileUrl().toString());
+                }
+            }
+        } else {
+            setVisibility(R.id.proxy_warning_limited_support, View.GONE);
+            setVisibility(R.id.proxy_fields, View.GONE);
+            setVisibility(R.id.proxy_pac_field, View.GONE);
+        }
+    }
+
+    private void setVisibility(int id, int visibility) {
+        final View v = mView.findViewById(id);
+        if (v != null) {
+            v.setVisibility(visibility);
+        }
+    }
+
+    @VisibleForTesting
+    KeyStore getKeyStore() {
+        return KeyStore.getInstance();
+    }
+
+    @VisibleForTesting
+    void loadCertificates(
+            Spinner spinner,
+            String prefix,
+            String noCertificateString,
+            boolean showMultipleCerts,
+            boolean showUsePreinstalledCertOption) {
+        final Context context = mConfigUi.getContext();
+
+        ArrayList<String> certs = new ArrayList<String>();
+        certs.add(mUnspecifiedCertString);
+        if (showMultipleCerts) {
+            certs.add(mMultipleCertSetString);
+        }
+        if (showUsePreinstalledCertOption) {
+            certs.add(mUseSystemCertsString);
+        }
+
+        String[] certificateNames = null;
+        try {
+            certificateNames = getKeyStore().list(prefix, android.os.Process.WIFI_UID);
+        } catch (Exception e) {
+            Log.e(TAG, "can't get the certificate list from KeyStore");
+        }
+        if (certificateNames != null && certificateNames.length != 0) {
+            certs.addAll(Arrays.stream(certificateNames)
+                    .filter(certificateName -> {
+                        for (String undesired : UNDESIRED_CERTIFICATES) {
+                            if (certificateName.startsWith(undesired)) {
+                                return false;
+                            }
+                        }
+                        return true;
+                    }).collect(Collectors.toList()));
+        }
+
+        if (mWifiEntrySecurity != WifiEntry.SECURITY_EAP_SUITE_B) {
+            certs.add(noCertificateString);
+        }
+
+        // If there is only mUnspecifiedCertString and one item to select, only shows the item
+        if (certs.size() == 2) {
+            certs.remove(mUnspecifiedCertString);
+            spinner.setEnabled(false);
+        } else {
+            spinner.setEnabled(true);
+        }
+
+        final ArrayAdapter<CharSequence> adapter = getSpinnerAdapter(
+                certs.toArray(new String[certs.size()]));
+        spinner.setAdapter(adapter);
+    }
+
+    private void setSelection(Spinner spinner, String value) {
+        if (value != null) {
+            @SuppressWarnings("unchecked")
+            ArrayAdapter<String> adapter = (ArrayAdapter<String>) spinner.getAdapter();
+            for (int i = adapter.getCount() - 1; i >= 0; --i) {
+                if (value.equals(adapter.getItem(i))) {
+                    spinner.setSelection(i);
+                    break;
+                }
+            }
+        }
+    }
+
+    public int getMode() {
+        return mMode;
+    }
+
+    @Override
+    public void afterTextChanged(Editable s) {
+        ThreadUtils.postOnMainThread(() -> {
+            showWarningMessagesIfAppropriate();
+            enableSubmitIfAppropriate();
+        });
+    }
+
+    @Override
+    public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+        // work done in afterTextChanged
+    }
+
+    @Override
+    public void onTextChanged(CharSequence s, int start, int before, int count) {
+        // work done in afterTextChanged
+    }
+
+    @Override
+    public boolean onEditorAction(TextView textView, int id, KeyEvent keyEvent) {
+        if (textView == mPasswordView) {
+            if (id == EditorInfo.IME_ACTION_DONE && isSubmittable()) {
+                mConfigUi.dispatchSubmit();
+                return true;
+            }
+        }
+        return false;
+    }
+
+    @Override
+    public boolean onKey(View view, int keyCode, KeyEvent keyEvent) {
+        if (view == mPasswordView) {
+            if (keyCode == KeyEvent.KEYCODE_ENTER && isSubmittable()) {
+                mConfigUi.dispatchSubmit();
+                return true;
+            }
+        }
+        return false;
+    }
+
+    @Override
+    public void onCheckedChanged(CompoundButton view, boolean isChecked) {
+        if (view.getId() == R.id.show_password) {
+            int pos = mPasswordView.getSelectionEnd();
+            mPasswordView.setInputType(InputType.TYPE_CLASS_TEXT
+                    | (isChecked ? InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD
+                                 : InputType.TYPE_TEXT_VARIATION_PASSWORD));
+            if (pos >= 0) {
+                ((EditText) mPasswordView).setSelection(pos);
+            }
+        } else if (view.getId() == R.id.wifi_advanced_togglebox) {
+            // Hide the SoftKeyboard temporary to let user can see most of the expanded items.
+            hideSoftKeyboard(mView.getWindowToken());
+            view.setVisibility(View.GONE);
+            mView.findViewById(R.id.wifi_advanced_fields).setVisibility(View.VISIBLE);
+        }
+    }
+
+    @Override
+    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
+        if (parent == mSecuritySpinner) {
+            // Convert menu position to actual Wi-Fi security type
+            mWifiEntrySecurity = mSecurityInPosition[position];
+            showSecurityFields(/* refreshEapMethods */ true, /* refreshCertificates */ true);
+
+            if (WifiDppUtils.isSupportEnrolleeQrCodeScanner(mContext, mWifiEntrySecurity)) {
+                mSsidScanButton.setVisibility(View.VISIBLE);
+            } else {
+                mSsidScanButton.setVisibility(View.GONE);
+            }
+        } else if (parent == mEapMethodSpinner) {
+            showSecurityFields(/* refreshEapMethods */ false, /* refreshCertificates */ true);
+        } else if (parent == mEapCaCertSpinner) {
+            showSecurityFields(/* refreshEapMethods */ false, /* refreshCertificates */ false);
+        } else if (parent == mPhase2Spinner
+                && mEapMethodSpinner.getSelectedItemPosition() == WIFI_EAP_METHOD_PEAP) {
+            showPeapFields();
+        } else if (parent == mProxySettingsSpinner) {
+            showProxyFields();
+        } else if (parent == mHiddenSettingsSpinner) {
+            mHiddenWarningView.setVisibility(
+                    position == NOT_HIDDEN_NETWORK
+                            ? View.GONE
+                            : View.VISIBLE);
+            if (position == HIDDEN_NETWORK) {
+                mDialogContainer.post(() -> {
+                    mDialogContainer.fullScroll(View.FOCUS_DOWN);
+                });
+            }
+        } else {
+            showIpConfigFields();
+        }
+        showWarningMessagesIfAppropriate();
+        enableSubmitIfAppropriate();
+    }
+
+    @Override
+    public void onNothingSelected(AdapterView<?> parent) {
+        //
+    }
+
+    /**
+     * Make the characters of the password visible if show_password is checked.
+     */
+    public void updatePassword() {
+        TextView passwdView = (TextView) mView.findViewById(R.id.password);
+        passwdView.setInputType(InputType.TYPE_CLASS_TEXT
+                | (((CheckBox) mView.findViewById(R.id.show_password)).isChecked()
+                   ? InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD
+                   : InputType.TYPE_TEXT_VARIATION_PASSWORD));
+    }
+
+    public WifiEntry getWifiEntry() {
+        return mWifiEntry;
+    }
+
+    private void configureSecuritySpinner() {
+        mConfigUi.setTitle(R.string.wifi_add_network);
+
+        mSsidView = (TextView) mView.findViewById(R.id.ssid);
+        mSsidView.addTextChangedListener(this);
+        mSecuritySpinner = ((Spinner) mView.findViewById(R.id.security));
+        mSecuritySpinner.setOnItemSelectedListener(this);
+
+        ArrayAdapter<String> spinnerAdapter = new ArrayAdapter<String>(mContext,
+                android.R.layout.simple_spinner_item, android.R.id.text1);
+        spinnerAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
+        mSecuritySpinner.setAdapter(spinnerAdapter);
+        int idx = 0;
+
+        // Populate the Wi-Fi security spinner with the various supported key management types
+        spinnerAdapter.add(mContext.getString(R.string.wifi_security_none));
+        mSecurityInPosition[idx++] = WifiEntry.SECURITY_NONE;
+        if (mWifiManager.isEnhancedOpenSupported()) {
+            spinnerAdapter.add(mContext.getString(R.string.wifi_security_owe));
+            mSecurityInPosition[idx++] = WifiEntry.SECURITY_OWE;
+        }
+        spinnerAdapter.add(mContext.getString(R.string.wifi_security_wep));
+        mSecurityInPosition[idx++] = WifiEntry.SECURITY_WEP;
+        spinnerAdapter.add(mContext.getString(R.string.wifi_security_wpa_wpa2));
+        mSecurityInPosition[idx++] = WifiEntry.SECURITY_PSK;
+        if (mWifiManager.isWpa3SaeSupported()) {
+            spinnerAdapter.add(mContext.getString(R.string.wifi_security_sae));
+            mSecurityInPosition[idx++] = WifiEntry.SECURITY_SAE;
+        }
+        spinnerAdapter.add(mContext.getString(R.string.wifi_security_eap));
+        mSecurityInPosition[idx++] = WifiEntry.SECURITY_EAP;
+        if (mWifiManager.isWpa3SuiteBSupported()) {
+            spinnerAdapter.add(mContext.getString(R.string.wifi_security_eap_suiteb));
+            mSecurityInPosition[idx++] = WifiEntry.SECURITY_EAP_SUITE_B;
+        }
+
+        spinnerAdapter.notifyDataSetChanged();
+
+        mView.findViewById(R.id.type).setVisibility(View.VISIBLE);
+
+        showIpConfigFields();
+        showProxyFields();
+        mView.findViewById(R.id.wifi_advanced_toggle).setVisibility(View.VISIBLE);
+        // Hidden option can be changed only when the user adds a network manually.
+        mView.findViewById(R.id.hidden_settings_field).setVisibility(View.VISIBLE);
+        ((CheckBox) mView.findViewById(R.id.wifi_advanced_togglebox))
+                .setOnCheckedChangeListener(this);
+        // Set correct accessibility strings.
+        setAdvancedOptionAccessibilityString();
+    }
+
+    /**
+     * For each target string in {@code targetStringArray} try to find if it appears in {@code
+     * originalStringArray}, if found then use the corresponding string, which have the same index
+     * of the target string in {@code replacementStringArray}, to replace it. And finally return the
+     * whole new string array back to caller.
+     */
+    @VisibleForTesting
+    CharSequence[] findAndReplaceTargetStrings(CharSequence[] originalStringArray,
+            CharSequence[] targetStringArray, CharSequence[] replacementStringArray) {
+        // The length of the targetStringArray and replacementStringArray should be the same, each
+        // item in the targetStringArray should have a 1:1 mapping to replacementStringArray, so
+        // just return the original string if the lengths are different.
+        if (targetStringArray.length != replacementStringArray.length) {
+            return originalStringArray;
+        }
+
+        final CharSequence[] returnEntries = new CharSequence[originalStringArray.length];
+        for (int i = 0; i < originalStringArray.length; i++) {
+            returnEntries[i] = originalStringArray[i];
+            for (int j = 0; j < targetStringArray.length; j++) {
+                if (TextUtils.equals(originalStringArray[i], targetStringArray[j])) {
+                    returnEntries[i] = replacementStringArray[j];
+                }
+            }
+        }
+        return returnEntries;
+    }
+
+    private ArrayAdapter<CharSequence> getSpinnerAdapter(
+            int contentStringArrayResId) {
+        return getSpinnerAdapter(
+                mContext.getResources().getStringArray(contentStringArrayResId));
+    }
+
+    private ArrayAdapter<CharSequence> getSpinnerAdapter(
+            String[] contentStringArray) {
+        ArrayAdapter<CharSequence> spinnerAdapter = new ArrayAdapter<>(mContext,
+                android.R.layout.simple_spinner_item, contentStringArray);
+        spinnerAdapter.setDropDownViewResource(
+                android.R.layout.simple_spinner_dropdown_item);
+        return spinnerAdapter;
+    }
+
+    /**
+     * This function is to span the TTS strings to each EAP method items in the
+     * spinner to have detail TTS content for the TTS engine usage.
+     */
+    private ArrayAdapter<CharSequence> getSpinnerAdapterWithEapMethodsTts(
+                int contentStringArrayResId) {
+        final Resources res = mContext.getResources();
+        CharSequence[] sourceStrings = res.getStringArray(
+                contentStringArrayResId);
+        CharSequence[] targetStrings = res.getStringArray(
+                R.array.wifi_eap_method_target_strings);
+        CharSequence[] ttsStrings = res.getStringArray(
+                R.array.wifi_eap_method_tts_strings);
+
+        // Replace the target strings with tts strings and save all in a new array.
+        final CharSequence[] newTtsSourceStrings = findAndReplaceTargetStrings(
+                sourceStrings, targetStrings, ttsStrings);
+
+        // Build new TtsSpan text arrays for TalkBack.
+        final CharSequence[] accessibilityArray = createAccessibleEntries(
+                sourceStrings, newTtsSourceStrings);
+
+        // Return a new ArrayAdapter with the new TalkBack array.
+        ArrayAdapter<CharSequence> spinnerAdapter = new ArrayAdapter<>(
+                mContext, android.R.layout.simple_spinner_item, accessibilityArray);
+        spinnerAdapter.setDropDownViewResource(
+                android.R.layout.simple_spinner_dropdown_item);
+        return spinnerAdapter;
+    }
+
+    private SpannableString[] createAccessibleEntries(CharSequence[] entries,
+            CharSequence[] contentDescriptions) {
+        final SpannableString[] accessibleEntries = new SpannableString[entries.length];
+        for (int i = 0; i < entries.length; i++) {
+            accessibleEntries[i] = com.android.settings.Utils.createAccessibleSequence(entries[i],
+                    contentDescriptions[i].toString());
+        }
+        return accessibleEntries;
+    }
+
+    private void hideSoftKeyboard(IBinder windowToken) {
+        final InputMethodManager inputMethodManager = mContext.getSystemService(
+                InputMethodManager.class);
+        inputMethodManager.hideSoftInputFromWindow(windowToken, 0 /* flags */);
+    }
+
+    private void setAdvancedOptionAccessibilityString() {
+        final CheckBox advancedToggleBox = mView.findViewById(R.id.wifi_advanced_togglebox);
+        advancedToggleBox.setAccessibilityDelegate(new AccessibilityDelegate() {
+            @Override
+            public void onInitializeAccessibilityNodeInfo(
+                    View v, AccessibilityNodeInfo info) {
+                super.onInitializeAccessibilityNodeInfo(v, info);
+                // To let TalkBack don't pronounce checked/unchecked.
+                info.setCheckable(false /* checkable */);
+                // To let TalkBack don't pronounce CheckBox.
+                info.setClassName(null /* className */);
+                // Customize TalkBack's pronunciation which been appended to "Double-tap to".
+                final AccessibilityAction customClick = new AccessibilityAction(
+                        AccessibilityNodeInfo.ACTION_CLICK,
+                        mContext.getString(R.string.wifi_advanced_toggle_description_collapsed));
+                info.addAction(customClick);
+            }
+        });
+    }
+}
diff --git a/src/com/android/settings/wifi/WifiConfigUiBase2.java b/src/com/android/settings/wifi/WifiConfigUiBase2.java
new file mode 100644
index 0000000..0b68c2e
--- /dev/null
+++ b/src/com/android/settings/wifi/WifiConfigUiBase2.java
@@ -0,0 +1,107 @@
+/*
+ * 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;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.widget.Button;
+
+/**
+ * Foundation interface glues between Activities and UIs like {@link WifiDialog2}.
+ */
+public interface WifiConfigUiBase2 {
+
+    /**
+     * Viewing mode for a Wi-Fi access point. Data is displayed in non-editable mode.
+     */
+    int MODE_VIEW = 0;
+    /**
+     * Connect mode. Data is displayed in editable mode, and a connect button will be shown.
+     */
+    int MODE_CONNECT = 1;
+    /**
+     * Modify mode. All data is displayed in editable fields, and a "save" button is shown instead
+     * of "connect". Clients are expected to only save but not connect to the access point in this
+     * mode.
+     */
+    int MODE_MODIFY = 2;
+
+    /**
+     * UI like {@link WifiDialog} overrides to provide {@link Context} to controller.
+     */
+    Context getContext();
+
+    /**
+     * {@link WifiConfigController2} share the logic for controlling buttons, text fields, etc.
+     */
+    WifiConfigController2 getController();
+
+    /**
+     * UI like {@link WifiDialog} overrides to provide {@link LayoutInflater} to controller.
+     */
+    LayoutInflater getLayoutInflater();
+
+    /**
+     * One of MODE_VIEW, MODE_CONNECT and MODE_MODIFY of the UI like {@link WifiDialog}.
+     */
+    int getMode();
+
+    /**
+     * For controller to dispatch submit event to host UI and UI like {@link WifiDialog}.
+     */
+    void dispatchSubmit();
+
+    /**
+     * UI like {@link WifiDialog} overrides to set title.
+     */
+    void setTitle(int id);
+
+    /**
+     * UI like {@link WifiDialog} overrides to set title.
+     */
+    void setTitle(CharSequence title);
+
+    /**
+     * UI like {@link WifiDialog} overrides to set submit button text.
+     */
+    void setSubmitButton(CharSequence text);
+
+    /**
+     * UI like {@link WifiDialog} overrides to set forget button text.
+     */
+    void setForgetButton(CharSequence text);
+
+    /**
+     * UI like {@link WifiDialog} overrides to set cancel button text.
+     */
+    void setCancelButton(CharSequence text);
+
+    /**
+     * UI like {@link WifiDialog} overrides to get submit button.
+     */
+    Button getSubmitButton();
+
+    /**
+     * UI like {@link WifiDialog} overrides to get forget button.
+     */
+    Button getForgetButton();
+
+    /**
+     * UI like {@link WifiDialog} overrides to get cancel button.
+     */
+    Button getCancelButton();
+}
diff --git a/src/com/android/settings/wifi/WifiConnectionPreferenceController.java b/src/com/android/settings/wifi/WifiConnectionPreferenceController.java
index 36c4455..12a6d14 100644
--- a/src/com/android/settings/wifi/WifiConnectionPreferenceController.java
+++ b/src/com/android/settings/wifi/WifiConnectionPreferenceController.java
@@ -18,6 +18,7 @@
 
 import android.content.Context;
 import android.os.Bundle;
+import android.util.FeatureFlagUtils;
 
 import androidx.preference.PreferenceGroup;
 import androidx.preference.PreferenceScreen;
@@ -25,6 +26,7 @@
 import com.android.settings.R;
 import com.android.settings.core.SubSettingLauncher;
 import com.android.settings.wifi.details.WifiNetworkDetailsFragment;
+import com.android.settings.wifi.details2.WifiNetworkDetailsFragment2;
 import com.android.settingslib.core.AbstractPreferenceController;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 import com.android.settingslib.wifi.AccessPoint;
@@ -32,6 +34,7 @@
 import com.android.settingslib.wifi.WifiTracker;
 import com.android.settingslib.wifi.WifiTrackerFactory;
 
+// TODO(b/151133650): Replace AbstractPreferenceController with BasePreferenceController.
 /**
  * This places a preference into a PreferenceGroup owned by some parent
  * controller class when there is a wifi connection present.
@@ -128,17 +131,31 @@
             mPreference.refresh();
             mPreference.setOrder(order);
 
-            mPreference.setOnPreferenceClickListener(pref -> {
-                Bundle args = new Bundle();
-                mPreference.getAccessPoint().saveWifiState(args);
-                new SubSettingLauncher(mPrefContext)
-                        .setTitleRes(R.string.pref_title_network_details)
-                        .setDestination(WifiNetworkDetailsFragment.class.getName())
-                        .setArguments(args)
-                        .setSourceMetricsCategory(mMetricsCategory)
-                        .launch();
-                return true;
-            });
+            if (FeatureFlagUtils.isEnabled(mPrefContext, FeatureFlagUtils.SETTINGS_WIFITRACKER2)) {
+                mPreference.setOnPreferenceClickListener(pref -> {
+                    Bundle args = new Bundle();
+                    mPreference.getAccessPoint().saveWifiState(args);
+                    new SubSettingLauncher(mPrefContext)
+                            .setTitleRes(R.string.pref_title_network_details)
+                            .setDestination(WifiNetworkDetailsFragment2.class.getName())
+                            .setArguments(args)
+                            .setSourceMetricsCategory(mMetricsCategory)
+                            .launch();
+                    return true;
+                });
+            } else {
+                mPreference.setOnPreferenceClickListener(pref -> {
+                    Bundle args = new Bundle();
+                    mPreference.getAccessPoint().saveWifiState(args);
+                    new SubSettingLauncher(mPrefContext)
+                            .setTitleRes(R.string.pref_title_network_details)
+                            .setDestination(WifiNetworkDetailsFragment.class.getName())
+                            .setArguments(args)
+                            .setSourceMetricsCategory(mMetricsCategory)
+                            .launch();
+                    return true;
+                });
+            }
             mPreferenceGroup.addPreference(mPreference);
         }
     }
diff --git a/src/com/android/settings/wifi/WifiDialog.java b/src/com/android/settings/wifi/WifiDialog.java
index 875f35d..2a4a664 100644
--- a/src/com/android/settings/wifi/WifiDialog.java
+++ b/src/com/android/settings/wifi/WifiDialog.java
@@ -114,31 +114,22 @@
 
     @Override
     protected void onStart() {
+        final ImageButton ssidScannerButton = findViewById(R.id.ssid_scanner_button);
+        if (mHideSubmitButton) {
+            ssidScannerButton.setVisibility(View.GONE);
+            return;
+        }
+
         View.OnClickListener onClickScannerButtonListener = v -> {
             if (mListener == null) {
                 return;
             }
 
-            String ssid = null;
-            if (mAccessPoint == null) {
-                final TextView ssidEditText = findViewById(R.id.ssid);
-                ssid = ssidEditText.getText().toString();
-            } else {
-                ssid = mAccessPoint.getSsidStr();
-            }
+            final TextView ssidEditText = findViewById(R.id.ssid);
+            final String ssid = ssidEditText.getText().toString();
             mListener.onScan(/* WifiDialog */ this, ssid);
         };
-
-        final ImageButton ssidScannerButton = findViewById(R.id.ssid_scanner_button);
         ssidScannerButton.setOnClickListener(onClickScannerButtonListener);
-
-        final ImageButton passwordScannerButton = findViewById(R.id.password_scanner_button);
-        passwordScannerButton.setOnClickListener(onClickScannerButtonListener);
-
-        if (mHideSubmitButton) {
-            ssidScannerButton.setVisibility(View.GONE);
-            passwordScannerButton.setVisibility(View.GONE);
-        }
     }
 
     public void onRestoreInstanceState(Bundle savedInstanceState) {
diff --git a/src/com/android/settings/wifi/WifiDialog2.java b/src/com/android/settings/wifi/WifiDialog2.java
new file mode 100644
index 0000000..acd6f17
--- /dev/null
+++ b/src/com/android/settings/wifi/WifiDialog2.java
@@ -0,0 +1,217 @@
+/*
+ * 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;
+
+import android.annotation.StyleRes;
+import android.content.Context;
+import android.content.DialogInterface;
+import android.os.Bundle;
+import android.view.View;
+import android.widget.Button;
+import android.widget.ImageButton;
+import android.widget.TextView;
+
+import androidx.appcompat.app.AlertDialog;
+
+import com.android.settings.R;
+import com.android.settingslib.RestrictedLockUtils;
+import com.android.settingslib.RestrictedLockUtilsInternal;
+import com.android.wifitrackerlib.WifiEntry;
+
+/**
+ * Dialog for users to edit a Wi-Fi network.
+ */
+public class WifiDialog2 extends AlertDialog implements WifiConfigUiBase2,
+        DialogInterface.OnClickListener {
+
+    /**
+     * Host UI component of WifiDialog2 can receive callbacks by this interface.
+     */
+    public interface WifiDialog2Listener {
+        /**
+         * To forget the Wi-Fi network.
+         */
+        default void onForget(WifiDialog2 dialog) {
+        }
+
+        /**
+         * To save the Wi-Fi network.
+         */
+        default void onSubmit(WifiDialog2 dialog) {
+        }
+
+        /**
+         * To trigger Wi-Fi QR code scanner.
+         */
+        default void onScan(WifiDialog2 dialog, String ssid) {
+        }
+    }
+
+    private static final int BUTTON_SUBMIT = DialogInterface.BUTTON_POSITIVE;
+    private static final int BUTTON_FORGET = DialogInterface.BUTTON_NEUTRAL;
+
+    private final int mMode;
+    private final WifiDialog2Listener mListener;
+    private final WifiEntry mWifiEntry;
+
+    private View mView;
+    private WifiConfigController2 mController;
+    private boolean mHideSubmitButton;
+
+    /**
+     * Creates a WifiDialog2 with no additional style. It displays as a dialog above the current
+     * view.
+     */
+    public static WifiDialog2 createModal(Context context, WifiDialog2Listener listener,
+            WifiEntry wifiEntry, int mode) {
+        return new WifiDialog2(context, listener, wifiEntry, mode, 0 /* style */,
+                mode == WifiConfigUiBase2.MODE_VIEW /* hideSubmitButton */);
+    }
+
+    /**
+     * Creates a WifiDialog2 with customized style. It displays as a dialog above the current
+     * view.
+     */
+    public static WifiDialog2 createModal(Context context, WifiDialog2Listener listener,
+            WifiEntry wifiEntry, int mode, @StyleRes int style) {
+        return new WifiDialog2(context, listener, wifiEntry, mode, style,
+                mode == WifiConfigUiBase2.MODE_VIEW /* hideSubmitButton */);
+    }
+
+    /* package */ WifiDialog2(Context context, WifiDialog2Listener listener, WifiEntry wifiEntry,
+            int mode, @StyleRes int style, boolean hideSubmitButton) {
+        super(context, style);
+        mMode = mode;
+        mListener = listener;
+        mWifiEntry = wifiEntry;
+        mHideSubmitButton = hideSubmitButton;
+    }
+
+    @Override
+    public WifiConfigController2 getController() {
+        return mController;
+    }
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        mView = getLayoutInflater().inflate(R.layout.wifi_dialog, /* root */ null);
+        setView(mView);
+        mController = new WifiConfigController2(this, mView, mWifiEntry, mMode);
+        super.onCreate(savedInstanceState);
+
+        if (mHideSubmitButton) {
+            mController.hideSubmitButton();
+        } else {
+            /* During creation, the submit button can be unavailable to determine
+             * visibility. Right after creation, update button visibility */
+            mController.enableSubmitIfAppropriate();
+        }
+
+        if (mWifiEntry == null) {
+            mController.hideForgetButton();
+        }
+    }
+
+    @Override
+    protected void onStart() {
+        final ImageButton ssidScannerButton = findViewById(R.id.ssid_scanner_button);
+        if (mHideSubmitButton) {
+            ssidScannerButton.setVisibility(View.GONE);
+            return;
+        }
+
+        View.OnClickListener onClickScannerButtonListener = v -> {
+            if (mListener == null) {
+                return;
+            }
+
+            final TextView ssidEditText = findViewById(R.id.ssid);
+            final String ssid = ssidEditText.getText().toString();
+            mListener.onScan(/* WifiDialog2 */ this, ssid);
+        };
+        ssidScannerButton.setOnClickListener(onClickScannerButtonListener);
+    }
+
+    @Override
+    public void onRestoreInstanceState(Bundle savedInstanceState) {
+        super.onRestoreInstanceState(savedInstanceState);
+        mController.updatePassword();
+    }
+
+    @Override
+    public void dispatchSubmit() {
+        if (mListener != null) {
+            mListener.onSubmit(this);
+        }
+        dismiss();
+    }
+
+    @Override
+    public void onClick(DialogInterface dialogInterface, int id) {
+        if (mListener != null) {
+            switch (id) {
+                case BUTTON_SUBMIT:
+                    mListener.onSubmit(this);
+                    break;
+                case BUTTON_FORGET:
+                    if (WifiUtils.isNetworkLockedDown(getContext(),
+                            mWifiEntry.getWifiConfiguration())) {
+                        RestrictedLockUtils.sendShowAdminSupportDetailsIntent(getContext(),
+                                RestrictedLockUtilsInternal.getDeviceOwner(getContext()));
+                        return;
+                    }
+                    mListener.onForget(this);
+                    break;
+            }
+        }
+    }
+
+    @Override
+    public int getMode() {
+        return mMode;
+    }
+
+    @Override
+    public Button getSubmitButton() {
+        return getButton(BUTTON_SUBMIT);
+    }
+
+    @Override
+    public Button getForgetButton() {
+        return getButton(BUTTON_FORGET);
+    }
+
+    @Override
+    public Button getCancelButton() {
+        return getButton(BUTTON_NEGATIVE);
+    }
+
+    @Override
+    public void setSubmitButton(CharSequence text) {
+        setButton(BUTTON_SUBMIT, text, this);
+    }
+
+    @Override
+    public void setForgetButton(CharSequence text) {
+        setButton(BUTTON_FORGET, text, this);
+    }
+
+    @Override
+    public void setCancelButton(CharSequence text) {
+        setButton(BUTTON_NEGATIVE, text, this);
+    }
+}
diff --git a/src/com/android/settings/wifi/WifiEntryShell.java b/src/com/android/settings/wifi/WifiEntryShell.java
new file mode 100644
index 0000000..385cca1
--- /dev/null
+++ b/src/com/android/settings/wifi/WifiEntryShell.java
@@ -0,0 +1,49 @@
+/*
+ * 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;
+
+import com.android.wifitrackerlib.WifiEntry;
+
+/**
+ * {@link WifiEntry is working in progess, many methods are not available, this class is to group
+ * all the unavalable {@link AccessPoint} methods & constants.
+ *
+ * TODO(b/143326832): Replace all methods & constants with WifiEntry version when it's available.
+ */
+public class WifiEntryShell {
+    public WifiEntryShell(){};
+
+    /**
+     * Lower bound on the 2.4 GHz (802.11b/g/n) WLAN channels
+     */
+    public static final int LOWER_FREQ_24GHZ = 2400;
+
+    /**
+     * Upper bound on the 2.4 GHz (802.11b/g/n) WLAN channels
+     */
+    public static final int HIGHER_FREQ_24GHZ = 2500;
+
+    /**
+     * Lower bound on the 5.0 GHz (802.11a/h/j/n/ac) WLAN channels
+     */
+    public static final int LOWER_FREQ_5GHZ = 4900;
+
+    /**
+     * Upper bound on the 5.0 GHz (802.11a/h/j/n/ac) WLAN channels
+     */
+    public static final int HIGHER_FREQ_5GHZ = 5900;
+}
diff --git a/src/com/android/settings/wifi/WifiInfoPreferenceController.java b/src/com/android/settings/wifi/WifiInfoPreferenceController.java
deleted file mode 100644
index 2a8c7b5..0000000
--- a/src/com/android/settings/wifi/WifiInfoPreferenceController.java
+++ /dev/null
@@ -1,132 +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 android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.Intent;
-import android.content.IntentFilter;
-import android.net.wifi.WifiInfo;
-import android.net.wifi.WifiManager;
-import android.provider.Settings;
-import android.text.TextUtils;
-
-import androidx.core.text.BidiFormatter;
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.R;
-import com.android.settings.Utils;
-import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settingslib.core.AbstractPreferenceController;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-import com.android.settingslib.core.lifecycle.LifecycleObserver;
-import com.android.settingslib.core.lifecycle.events.OnPause;
-import com.android.settingslib.core.lifecycle.events.OnResume;
-
-/**
- * {@link PreferenceControllerMixin} that updates MAC/IP address.
- */
-public class WifiInfoPreferenceController extends AbstractPreferenceController
-        implements PreferenceControllerMixin, LifecycleObserver, OnResume, OnPause {
-
-    private static final String KEY_CURRENT_IP_ADDRESS = "current_ip_address";
-    private static final String KEY_MAC_ADDRESS = "mac_address";
-
-    private final IntentFilter mFilter;
-    private final WifiManager mWifiManager;
-
-    private Preference mWifiMacAddressPref;
-    private Preference mWifiIpAddressPref;
-
-    public WifiInfoPreferenceController(Context context, Lifecycle lifecycle,
-            WifiManager wifiManager) {
-        super(context);
-        mWifiManager = wifiManager;
-        mFilter = new IntentFilter();
-        mFilter.addAction(WifiManager.LINK_CONFIGURATION_CHANGED_ACTION);
-        mFilter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION);
-
-        lifecycle.addObserver(this);
-    }
-
-    @Override
-    public boolean isAvailable() {
-        return true;
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        // Returns null because this controller contains more than 1 preference.
-        return null;
-    }
-
-    @Override
-    public void displayPreference(PreferenceScreen screen) {
-        super.displayPreference(screen);
-        mWifiMacAddressPref = screen.findPreference(KEY_MAC_ADDRESS);
-        mWifiMacAddressPref.setSelectable(false);
-        mWifiIpAddressPref = screen.findPreference(KEY_CURRENT_IP_ADDRESS);
-        mWifiIpAddressPref.setSelectable(false);
-    }
-
-    @Override
-    public void onResume() {
-        mContext.registerReceiver(mReceiver, mFilter);
-        updateWifiInfo();
-    }
-
-    @Override
-    public void onPause() {
-        mContext.unregisterReceiver(mReceiver);
-    }
-
-    public void updateWifiInfo() {
-        if (mWifiMacAddressPref != null) {
-            final WifiInfo wifiInfo = mWifiManager.getConnectionInfo();
-            final boolean macRandomizationSupported = mContext.getResources().getBoolean(
-                com.android.internal.R.bool.config_wifi_connected_mac_randomization_supported);
-            final String macAddress = wifiInfo == null ? null : wifiInfo.getMacAddress();
-
-            if (macRandomizationSupported && WifiInfo.DEFAULT_MAC_ADDRESS.equals(macAddress)) {
-                mWifiMacAddressPref.setSummary(R.string.wifi_status_mac_randomized);
-            } else if (TextUtils.isEmpty(macAddress)
-                    || WifiInfo.DEFAULT_MAC_ADDRESS.equals(macAddress)) {
-                mWifiMacAddressPref.setSummary(R.string.status_unavailable);
-            } else {
-                mWifiMacAddressPref.setSummary(macAddress);
-            }
-        }
-        if (mWifiIpAddressPref != null) {
-            final String ipAddress = Utils.getWifiIpAddresses(mContext);
-            mWifiIpAddressPref.setSummary(ipAddress == null
-                    ? mContext.getString(R.string.status_unavailable)
-                    : BidiFormatter.getInstance().unicodeWrap(ipAddress));
-        }
-    }
-
-    private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
-        @Override
-        public void onReceive(Context context, Intent intent) {
-            String action = intent.getAction();
-            if (action.equals(WifiManager.LINK_CONFIGURATION_CHANGED_ACTION) ||
-                    action.equals(WifiManager.NETWORK_STATE_CHANGED_ACTION)) {
-                updateWifiInfo();
-            }
-        }
-    };
-}
diff --git a/src/com/android/settings/wifi/WifiMasterSwitchPreferenceController.java b/src/com/android/settings/wifi/WifiMasterSwitchPreferenceController.java
index 6a4774b..1e18c59 100644
--- a/src/com/android/settings/wifi/WifiMasterSwitchPreferenceController.java
+++ b/src/com/android/settings/wifi/WifiMasterSwitchPreferenceController.java
@@ -32,11 +32,12 @@
 import com.android.settingslib.core.lifecycle.events.OnStart;
 import com.android.settingslib.core.lifecycle.events.OnStop;
 
+// TODO(b/151133650): Replace AbstractPreferenceController with BasePreferenceController.
 public class WifiMasterSwitchPreferenceController extends AbstractPreferenceController
         implements PreferenceControllerMixin, SummaryUpdater.OnSummaryChangeListener,
         LifecycleObserver, OnResume, OnPause, OnStart, OnStop {
 
-    public static final String KEY_TOGGLE_WIFI = "toggle_wifi";
+    public static final String KEY_TOGGLE_WIFI = "main_toggle_wifi";
 
     private MasterSwitchPreference mWifiPreference;
     private WifiEnabler mWifiEnabler;
diff --git a/src/com/android/settings/wifi/WifiNoInternetDialog.java b/src/com/android/settings/wifi/WifiNoInternetDialog.java
index eb42097..1c83c80 100644
--- a/src/com/android/settings/wifi/WifiNoInternetDialog.java
+++ b/src/com/android/settings/wifi/WifiNoInternetDialog.java
@@ -55,9 +55,9 @@
     private boolean mButtonClicked;
 
     private boolean isKnownAction(Intent intent) {
-        return intent.getAction().equals(ACTION_PROMPT_UNVALIDATED)
-                || intent.getAction().equals(ACTION_PROMPT_LOST_VALIDATION)
-                || intent.getAction().equals(ACTION_PROMPT_PARTIAL_CONNECTIVITY);
+        return ACTION_PROMPT_UNVALIDATED.equals(intent.getAction())
+                || ACTION_PROMPT_LOST_VALIDATION.equals(intent.getAction())
+                || ACTION_PROMPT_PARTIAL_CONNECTIVITY.equals(intent.getAction());
     }
 
     @Override
@@ -119,7 +119,7 @@
         }
         mNetworkName = nc.getSSID();
         if (mNetworkName != null) {
-            mNetworkName = WifiInfo.removeDoubleQuotes(mNetworkName);
+            mNetworkName = WifiInfo.sanitizeSsid(mNetworkName);
         }
 
         createDialog();
diff --git a/src/com/android/settings/wifi/WifiPickerActivity.java b/src/com/android/settings/wifi/WifiPickerActivity.java
index a590a0f..adfc7ec 100644
--- a/src/com/android/settings/wifi/WifiPickerActivity.java
+++ b/src/com/android/settings/wifi/WifiPickerActivity.java
@@ -16,6 +16,7 @@
 package com.android.settings.wifi;
 
 import android.content.Intent;
+import android.util.FeatureFlagUtils;
 
 import androidx.preference.PreferenceFragmentCompat;
 
@@ -24,6 +25,7 @@
 import com.android.settings.SettingsActivity;
 import com.android.settings.wifi.p2p.WifiP2pSettings;
 import com.android.settings.wifi.savedaccesspoints.SavedAccessPointsWifiSettings;
+import com.android.settings.wifi.savedaccesspoints2.SavedAccessPointsWifiSettings2;
 
 public class WifiPickerActivity extends SettingsActivity implements ButtonBarHandler {
 
@@ -39,9 +41,18 @@
 
     @Override
     protected boolean isValidFragment(String fragmentName) {
+        boolean isSavedAccessPointsWifiSettings;
+        if (FeatureFlagUtils.isEnabled(this, FeatureFlagUtils.SETTINGS_WIFITRACKER2)) {
+            isSavedAccessPointsWifiSettings =
+                    SavedAccessPointsWifiSettings2.class.getName().equals(fragmentName);
+        } else {
+            isSavedAccessPointsWifiSettings =
+                    SavedAccessPointsWifiSettings.class.getName().equals(fragmentName);
+        }
+
         if (WifiSettings.class.getName().equals(fragmentName)
                 || WifiP2pSettings.class.getName().equals(fragmentName)
-                || SavedAccessPointsWifiSettings.class.getName().equals(fragmentName)) {
+                || isSavedAccessPointsWifiSettings) {
             return true;
         }
         return false;
diff --git a/src/com/android/settings/wifi/WifiScanModeActivity.java b/src/com/android/settings/wifi/WifiScanModeActivity.java
index 5342729..024dc10 100644
--- a/src/com/android/settings/wifi/WifiScanModeActivity.java
+++ b/src/com/android/settings/wifi/WifiScanModeActivity.java
@@ -24,7 +24,6 @@
 import android.content.pm.PackageManager;
 import android.net.wifi.WifiManager;
 import android.os.Bundle;
-import android.provider.Settings;
 import android.text.TextUtils;
 
 import androidx.appcompat.app.AlertDialog;
@@ -46,8 +45,8 @@
         super.onCreate(savedInstanceState);
         Intent intent = getIntent();
         if (savedInstanceState == null) {
-            if (intent != null && intent.getAction()
-                    .equals(WifiManager.ACTION_REQUEST_SCAN_ALWAYS_AVAILABLE)) {
+            if (intent != null && WifiManager.ACTION_REQUEST_SCAN_ALWAYS_AVAILABLE
+                    .equals(intent.getAction())) {
                 ApplicationInfo ai;
                 mApp = getCallingPackage();
                 try {
@@ -80,8 +79,7 @@
     }
 
     private void doPositiveClick() {
-        Settings.Global.putInt(getContentResolver(),
-                Settings.Global.WIFI_SCAN_ALWAYS_AVAILABLE, 1);
+        getApplicationContext().getSystemService(WifiManager.class).setScanAlwaysAvailable(true);
         setResult(RESULT_OK);
         finish();
     }
diff --git a/src/com/android/settings/wifi/WifiScanningRequiredFragment.java b/src/com/android/settings/wifi/WifiScanningRequiredFragment.java
index fa9b21a..954a5de 100644
--- a/src/com/android/settings/wifi/WifiScanningRequiredFragment.java
+++ b/src/com/android/settings/wifi/WifiScanningRequiredFragment.java
@@ -23,8 +23,8 @@
 import android.content.Context;
 import android.content.DialogInterface;
 import android.content.Intent;
+import android.net.wifi.WifiManager;
 import android.os.Bundle;
-import android.provider.Settings;
 import android.text.TextUtils;
 import android.util.Log;
 import android.widget.Toast;
@@ -69,8 +69,7 @@
         ContentResolver contentResolver = context.getContentResolver();
         switch(which) {
             case DialogInterface.BUTTON_POSITIVE:
-                Settings.Global.putInt(contentResolver,
-                        Settings.Global.WIFI_SCAN_ALWAYS_AVAILABLE, 1);
+                context.getSystemService(WifiManager.class).setScanAlwaysAvailable(true);
                 Toast.makeText(
                         context,
                         context.getString(R.string.wifi_settings_scanning_required_enabled),
@@ -100,7 +99,7 @@
         Intent intent = getHelpIntent(getContext());
         if (intent != null) {
             try {
-                startActivity(intent);
+                getActivity().startActivityForResult(intent, 0);
             } catch (ActivityNotFoundException e) {
                 Log.e(TAG, "Activity was not found for intent, " + intent.toString());
             }
diff --git a/src/com/android/settings/wifi/WifiSettings.java b/src/com/android/settings/wifi/WifiSettings.java
index 4d3f230..bba9001 100644
--- a/src/com/android/settings/wifi/WifiSettings.java
+++ b/src/com/android/settings/wifi/WifiSettings.java
@@ -17,6 +17,7 @@
 package com.android.settings.wifi;
 
 import static android.net.NetworkCapabilities.TRANSPORT_WIFI;
+import static android.net.wifi.WifiConfiguration.NetworkSelectionStatus.NETWORK_SELECTION_ENABLED;
 import static android.os.UserManager.DISALLOW_CONFIG_WIFI;
 
 import android.annotation.NonNull;
@@ -27,7 +28,6 @@
 import android.content.Context;
 import android.content.DialogInterface;
 import android.content.Intent;
-import android.content.res.Resources;
 import android.net.ConnectivityManager;
 import android.net.Network;
 import android.net.NetworkInfo;
@@ -50,9 +50,12 @@
 import android.view.View;
 import android.widget.Toast;
 
+import androidx.annotation.IntDef;
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceCategory;
+import androidx.preference.PreferenceScreen;
+import androidx.recyclerview.widget.RecyclerView;
 
 import com.android.settings.LinkifyUtils;
 import com.android.settings.R;
@@ -60,19 +63,16 @@
 import com.android.settings.SettingsActivity;
 import com.android.settings.core.FeatureFlags;
 import com.android.settings.core.SubSettingLauncher;
-import com.android.settings.dashboard.SummaryLoader;
-import com.android.settings.datausage.DataUsageUtils;
 import com.android.settings.datausage.DataUsagePreference;
+import com.android.settings.datausage.DataUsageUtils;
 import com.android.settings.location.ScanningSettings;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
-import com.android.settings.search.SearchIndexableRaw;
-import com.android.settings.widget.SummaryUpdater.OnSummaryChangeListener;
 import com.android.settings.widget.SwitchBarController;
 import com.android.settings.wifi.details.WifiNetworkDetailsFragment;
 import com.android.settings.wifi.dpp.WifiDppUtils;
 import com.android.settingslib.RestrictedLockUtils;
 import com.android.settingslib.RestrictedLockUtilsInternal;
+import com.android.settingslib.search.Indexable;
 import com.android.settingslib.search.SearchIndexable;
 import com.android.settingslib.wifi.AccessPoint;
 import com.android.settingslib.wifi.AccessPoint.AccessPointListener;
@@ -81,7 +81,6 @@
 import com.android.settingslib.wifi.WifiTracker;
 import com.android.settingslib.wifi.WifiTrackerFactory;
 
-import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -109,6 +108,8 @@
     @VisibleForTesting
     static final int ADD_NETWORK_REQUEST = 2;
 
+    static final int CONFIG_NETWORK_REQUEST = 3;
+
     // Instance state keys
     private static final String SAVE_DIALOG_MODE = "dialog_mode";
     private static final String SAVE_DIALOG_ACCESS_POINT_STATE = "wifi_ap_state";
@@ -116,7 +117,7 @@
     private static final String PREF_KEY_EMPTY_WIFI_LIST = "wifi_empty_list";
     private static final String PREF_KEY_CONNECTED_ACCESS_POINTS = "connected_access_point";
     private static final String PREF_KEY_ACCESS_POINTS = "access_points";
-    private static final String PREF_KEY_CONFIGURE_WIFI_SETTINGS = "configure_settings";
+    private static final String PREF_KEY_CONFIGURE_WIFI_SETTINGS = "configure_wifi_settings";
     private static final String PREF_KEY_SAVED_NETWORKS = "saved_networks";
     private static final String PREF_KEY_STATUS_MESSAGE = "wifi_status_message";
     @VisibleForTesting
@@ -135,12 +136,16 @@
         setProgressBarVisible(false);
     };
 
-    protected WifiManager mWifiManager;
-    private ConnectivityManager mConnectivityManager;
+    @VisibleForTesting
+    WifiManager mWifiManager;
+    @VisibleForTesting
+    ConnectivityManager mConnectivityManager;
     private WifiManager.ActionListener mConnectListener;
     private WifiManager.ActionListener mSaveListener;
     private WifiManager.ActionListener mForgetListener;
-    private CaptivePortalNetworkCallback mCaptivePortalNetworkCallback;
+    @VisibleForTesting
+    CaptivePortalNetworkCallback mCaptivePortalNetworkCallback;
+    private Network mLastNetworkCaptivePortalAppStarted;
 
     /**
      * The state of {@link #isUiRestricted()} at {@link #onCreate(Bundle)}}. This is neccesary to
@@ -191,14 +196,20 @@
     DataUsagePreference mDataUsagePreference;
     private LinkablePreference mStatusMessagePreference;
 
-    // For Search
-    public static final String DATA_KEY_REFERENCE = "main_toggle_wifi";
-
     /**
      * Tracks whether the user initiated a connection via clicking in order to autoscroll to the
      * network once connected.
      */
     private boolean mClickedConnect;
+    @ConnectSource int mConnectSource = CONNECT_SOURCE_UNSPECIFIED;
+
+    private static final int CONNECT_SOURCE_UNSPECIFIED = 0;
+    private static final int CONNECT_SOURCE_NETWORK_MENU_ITEM_CLICK = 1;
+    private static final int CONNECT_SOURCE_NETWORK_LIST_ITEM_CLICK = 2;
+
+    @IntDef({CONNECT_SOURCE_UNSPECIFIED, CONNECT_SOURCE_NETWORK_MENU_ITEM_CLICK,
+        CONNECT_SOURCE_NETWORK_LIST_ITEM_CLICK})
+    private @interface ConnectSource {}
 
     /* End of "used in Wifi Setup context" */
 
@@ -224,6 +235,17 @@
     public void onCreate(Bundle icicle) {
         super.onCreate(icicle);
 
+        if (FeatureFlagUtils.isEnabled(getContext(), FeatureFlagUtils.SETTINGS_WIFITRACKER2)) {
+            final Intent intent = new Intent("android.settings.WIFI_SETTINGS2");
+            final Bundle extras = getActivity().getIntent().getExtras();
+            if (extras != null) {
+                intent.putExtras(extras);
+            }
+            getContext().startActivity(intent);
+            finish();
+            return;
+        }
+
         // TODO(b/37429702): Add animations and preference comparator back after initial screen is
         // loaded (ODR).
         setAnimationAllowed(false);
@@ -421,6 +443,11 @@
                 mWifiTracker.resumeScanning();
             }
             return;
+        } else if (requestCode == CONFIG_NETWORK_REQUEST) {
+            if (resultCode == Activity.RESULT_OK) {
+                handleConfigNetworkSubmitEvent(data);
+            }
+            return;
         }
 
         final boolean formerlyRestricted = mIsRestricted;
@@ -433,6 +460,13 @@
     }
 
     @Override
+    protected RecyclerView.Adapter onCreateAdapter(PreferenceScreen preferenceScreen) {
+        final RecyclerView.Adapter adapter = super.onCreateAdapter(preferenceScreen);
+        adapter.setHasStableIds(true);
+        return adapter;
+    }
+
+    @Override
     public int getMetricsCategory() {
         return SettingsEnums.WIFI;
     }
@@ -473,7 +507,7 @@
             // could only be disconnected and be put in blacklists so it won't be used again.
             if (mSelectedAccessPoint.isSaved() || mSelectedAccessPoint.isEphemeral()) {
                 final int stringId = mSelectedAccessPoint.isEphemeral() ?
-                    R.string.wifi_disconnect_button_text : R.string.forget;
+                        R.string.wifi_disconnect_button_text : R.string.forget;
                 menu.add(Menu.NONE, MENU_ID_FORGET, 0 /* order */, stringId);
             }
 
@@ -492,12 +526,14 @@
             case MENU_ID_CONNECT: {
                 boolean isSavedNetwork = mSelectedAccessPoint.isSaved();
                 if (isSavedNetwork) {
-                    connect(mSelectedAccessPoint.getConfig(), isSavedNetwork);
+                    connect(mSelectedAccessPoint.getConfig(), isSavedNetwork,
+                            CONNECT_SOURCE_NETWORK_MENU_ITEM_CLICK);
                 } else if ((mSelectedAccessPoint.getSecurity() == AccessPoint.SECURITY_NONE) ||
                         (mSelectedAccessPoint.getSecurity() == AccessPoint.SECURITY_OWE)) {
                     /** Bypass dialog for unsecured networks */
                     mSelectedAccessPoint.generateOpenNetworkConfig();
-                    connect(mSelectedAccessPoint.getConfig(), isSavedNetwork);
+                    connect(mSelectedAccessPoint.getConfig(), isSavedNetwork,
+                            CONNECT_SOURCE_NETWORK_MENU_ITEM_CLICK);
                 } else {
                     showDialog(mSelectedAccessPoint, WifiConfigUiBase.MODE_CONNECT);
                 }
@@ -543,15 +579,22 @@
 
                 case WifiUtils.CONNECT_TYPE_OPEN_NETWORK:
                     mSelectedAccessPoint.generateOpenNetworkConfig();
-                    connect(mSelectedAccessPoint.getConfig(), mSelectedAccessPoint.isSaved());
+                    connect(mSelectedAccessPoint.getConfig(),
+                            mSelectedAccessPoint.isSaved(),
+                            CONNECT_SOURCE_NETWORK_LIST_ITEM_CLICK);
                     break;
 
                 case WifiUtils.CONNECT_TYPE_SAVED_NETWORK:
-                    connect(mSelectedAccessPoint.getConfig(), true /* isSavedNetwork */);
+                    connect(mSelectedAccessPoint.getConfig(),
+                            true /* isSavedNetwork */,
+                            CONNECT_SOURCE_NETWORK_LIST_ITEM_CLICK);
                     break;
 
                 default:
-                    showDialog(mSelectedAccessPoint, WifiConfigUiBase.MODE_CONNECT);
+                    final Bundle bundle = ((LongPressAccessPointPreference) preference).getExtras();
+                    mSelectedAccessPoint.saveWifiState(bundle);
+                    launchConfigNewNetworkFragment(mSelectedAccessPoint,
+                            WifiConfigUiBase.MODE_CONNECT, bundle);
                     break;
             }
         } else if (preference == mAddWifiNetworkPreference) {
@@ -682,6 +725,8 @@
                 setOffMessage();
                 setAdditionalSettingsSummaries();
                 setProgressBarVisible(false);
+                mConnectSource = CONNECT_SOURCE_UNSPECIFIED;
+                mClickedConnect = false;
                 break;
         }
     }
@@ -702,7 +747,8 @@
         }
         WifiConfiguration.NetworkSelectionStatus networkStatus =
                 config.getNetworkSelectionStatus();
-        if (networkStatus == null || networkStatus.isNetworkEnabled()) {
+        if (networkStatus == null
+                || networkStatus.getNetworkSelectionStatus() == NETWORK_SELECTION_ENABLED) {
             return false;
         }
         int reason = networkStatus.getNetworkSelectionDisableReason();
@@ -852,7 +898,7 @@
                     pref.getAccessPoint().saveWifiState(pref.getExtras());
                     if (mCaptivePortalNetworkCallback != null
                             && mCaptivePortalNetworkCallback.isCaptivePortal()) {
-                        mConnectivityManager.startCaptivePortalApp(
+                        startCaptivePortalApp(
                                 mCaptivePortalNetworkCallback.getNetwork());
                     } else {
                         launchNetworkDetailsFragment(pref);
@@ -890,7 +936,12 @@
 
         unregisterCaptivePortalNetworkCallback();
 
-        mCaptivePortalNetworkCallback = new CaptivePortalNetworkCallback(wifiNetwork, pref);
+        mCaptivePortalNetworkCallback = new CaptivePortalNetworkCallback(wifiNetwork, pref) {
+            @Override
+            public void onCaptivePortalCapabilityChanged() {
+                checkStartCaptivePortalApp();
+            }
+        };
         mConnectivityManager.registerNetworkCallback(
                 new NetworkRequest.Builder()
                         .clearCapabilities()
@@ -996,10 +1047,8 @@
         final Context context = getContext();
         final PowerManager powerManager = context.getSystemService(PowerManager.class);
         final ContentResolver contentResolver = context.getContentResolver();
-        return Settings.Global.getInt(contentResolver,
-                Settings.Global.WIFI_WAKEUP_ENABLED, 0) == 1
-                && Settings.Global.getInt(contentResolver,
-                Settings.Global.WIFI_SCAN_ALWAYS_AVAILABLE, 0) == 1
+        return mWifiManager.isAutoWakeupEnabled()
+                && mWifiManager.isScanAlwaysAvailable()
                 && Settings.Global.getInt(contentResolver,
                 Settings.Global.AIRPLANE_MODE_ON, 0) == 0
                 && !powerManager.isPowerSaveMode();
@@ -1010,8 +1059,8 @@
         // Don't use WifiManager.isScanAlwaysAvailable() to check the Wi-Fi scanning mode. Instead,
         // read the system settings directly. Because when the device is in Airplane mode, even if
         // Wi-Fi scanning mode is on, WifiManager.isScanAlwaysAvailable() still returns "off".
-        final boolean wifiScanningMode = Settings.Global.getInt(getActivity().getContentResolver(),
-                Settings.Global.WIFI_SCAN_ALWAYS_AVAILABLE, 0) == 1;
+        // TODO(b/149421497): Fix this?
+        final boolean wifiScanningMode = mWifiManager.isScanAlwaysAvailable();
         final CharSequence description = wifiScanningMode ? getText(R.string.wifi_scan_notify_text)
                 : getText(R.string.wifi_scan_notify_text_scanning_off);
         final LinkifyUtils.OnClickListener clickListener =
@@ -1076,14 +1125,17 @@
         if (config == null) {
             if (mSelectedAccessPoint != null
                     && mSelectedAccessPoint.isSaved()) {
-                connect(mSelectedAccessPoint.getConfig(), true /* isSavedNetwork */);
+                connect(mSelectedAccessPoint.getConfig(),
+                        true /* isSavedNetwork */,
+                        CONNECT_SOURCE_UNSPECIFIED);
             }
         } else if (configController.getMode() == WifiConfigUiBase.MODE_MODIFY) {
             mWifiManager.save(config, mSaveListener);
         } else {
             mWifiManager.save(config, mSaveListener);
             if (mSelectedAccessPoint != null) { // Not an "Add network"
-                connect(config, false /* isSavedNetwork */);
+                connect(config, false /* isSavedNetwork */,
+                        CONNECT_SOURCE_UNSPECIFIED);
             }
         }
 
@@ -1120,21 +1172,16 @@
         changeNextButtonState(false);
     }
 
-    protected void connect(final WifiConfiguration config, boolean isSavedNetwork) {
+    protected void connect(final WifiConfiguration config,
+            boolean isSavedNetwork, @ConnectSource int connectSource) {
         // Log subtype if configuration is a saved network.
         mMetricsFeatureProvider.action(getContext(), SettingsEnums.ACTION_WIFI_CONNECT,
                 isSavedNetwork);
+        mConnectSource = connectSource;
         mWifiManager.connect(config, mConnectListener);
         mClickedConnect = true;
     }
 
-    protected void connect(final int networkId, boolean isSavedNetwork) {
-        // Log subtype if configuration is a saved network.
-        mMetricsFeatureProvider.action(getActivity(), SettingsEnums.ACTION_WIFI_CONNECT,
-                isSavedNetwork);
-        mWifiManager.connect(networkId, mConnectListener);
-    }
-
     @VisibleForTesting
     void handleAddNetworkRequest(int result, Intent data) {
         if (result == Activity.RESULT_OK) {
@@ -1187,61 +1234,86 @@
         ((AccessPointPreference) accessPoint.getTag()).onLevelChanged();
     }
 
-    public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableRaw> getRawDataToIndex(Context context,
-                        boolean enabled) {
-                    final List<SearchIndexableRaw> result = new ArrayList<>();
-                    final Resources res = context.getResources();
+    private void handleConfigNetworkSubmitEvent(Intent data) {
+        final WifiConfiguration wifiConfiguration = data.getParcelableExtra(
+                ConfigureAccessPointFragment.NETWORK_CONFIG_KEY);
+        if (wifiConfiguration != null) {
+            mWifiManager.save(wifiConfiguration, mSaveListener);
 
-                    // Add fragment title if we are showing this fragment
-                    if (res.getBoolean(R.bool.config_show_wifi_settings)) {
-                        SearchIndexableRaw data = new SearchIndexableRaw(context);
-                        data.title = res.getString(R.string.wifi_settings);
-                        data.screenTitle = res.getString(R.string.wifi_settings);
-                        data.keywords = res.getString(R.string.keywords_wifi);
-                        data.key = DATA_KEY_REFERENCE;
-                        result.add(data);
-                    }
-
-                    return result;
-                }
-            };
-
-    private static class SummaryProvider
-            implements SummaryLoader.SummaryProvider, OnSummaryChangeListener {
-
-        private final Context mContext;
-        private final SummaryLoader mSummaryLoader;
-
-        @VisibleForTesting
-        WifiSummaryUpdater mSummaryHelper;
-
-        public SummaryProvider(Context context, SummaryLoader summaryLoader) {
-            mContext = context;
-            mSummaryLoader = summaryLoader;
-            mSummaryHelper = new WifiSummaryUpdater(mContext, this);
-        }
-
-
-        @Override
-        public void setListening(boolean listening) {
-            mSummaryHelper.register(listening);
-        }
-
-        @Override
-        public void onSummaryChanged(String summary) {
-            mSummaryLoader.setSummary(this, summary);
+            if (mSelectedAccessPoint != null) {
+                connect(wifiConfiguration, false /*isSavedNetwork*/,
+                        CONNECT_SOURCE_UNSPECIFIED);
+            }
+            mWifiTracker.resumeScanning();
         }
     }
 
-    public static final SummaryLoader.SummaryProviderFactory SUMMARY_PROVIDER_FACTORY
-            = new SummaryLoader.SummaryProviderFactory() {
-        @Override
-        public SummaryLoader.SummaryProvider createSummaryProvider(Activity activity,
-                SummaryLoader summaryLoader) {
-            return new SummaryProvider(activity, summaryLoader);
+    private void launchConfigNewNetworkFragment(AccessPoint accessPoint, int dialogMode,
+            Bundle bundleForArguments) {
+        mDialogMode = dialogMode;
+        final CharSequence title = accessPoint.getTitle();
+        new SubSettingLauncher(getContext())
+                .setTitleText(title)
+                .setDestination(ConfigureAccessPointFragment.class.getName())
+                .setArguments(bundleForArguments)
+                .setSourceMetricsCategory(getMetricsCategory())
+                .setResultListener(this, CONFIG_NETWORK_REQUEST)
+                .launch();
+    }
+
+    /**
+     * Starts the captive portal for current network if it's been clicked from the available
+     * networks (or contextual menu). We only do it *once* for a picked network, to avoid connecting
+     * again on bg/fg or if user dismisses Captive Portal before connecting (otherwise, coming back
+     * to this screen while connected to the same network but not signed in would open CP again).
+     */
+    private void checkStartCaptivePortalApp() {
+        Network currentNetwork = getCurrentWifiNetwork();
+        if (mCaptivePortalNetworkCallback == null || currentNetwork == null
+                || !currentNetwork.equals(mCaptivePortalNetworkCallback.getNetwork())
+                || !mCaptivePortalNetworkCallback.isCaptivePortal()) {
+            return;
         }
-    };
+
+        if (mConnectSource != CONNECT_SOURCE_NETWORK_LIST_ITEM_CLICK
+                && mConnectSource != CONNECT_SOURCE_NETWORK_MENU_ITEM_CLICK) {
+            return;
+        }
+
+        if (mLastNetworkCaptivePortalAppStarted != null
+                && mLastNetworkCaptivePortalAppStarted.equals(currentNetwork)) {
+            // We already auto-opened CP for same network
+            return;
+        }
+
+        startCaptivePortalApp(currentNetwork);
+    }
+
+    private void startCaptivePortalApp(Network network) {
+        if (mConnectivityManager == null || network == null) {
+            return;
+        }
+        mLastNetworkCaptivePortalAppStarted = network;
+        mConnectivityManager.startCaptivePortalApp(network);
+    }
+
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.wifi_settings) {
+                @Override
+                public List<String> getNonIndexableKeys(Context context) {
+                    final List<String> keys = super.getNonIndexableKeys(context);
+
+                    final WifiManager wifiManager = context.getSystemService(WifiManager.class);
+                    final List<AccessPoint> accessPoints = WifiSavedConfigUtils.getAllConfigs(
+                            context, wifiManager);
+                    if (accessPoints == null || accessPoints.size() <= 0) {
+                        keys.add(PREF_KEY_SAVED_NETWORKS);
+                    }
+
+                    if (!DataUsageUtils.hasWifiRadio(context)) {
+                        keys.add(PREF_KEY_DATA_USAGE);
+                    }
+                    return keys;
+                }
+            };
 }
diff --git a/src/com/android/settings/wifi/WifiSettings2.java b/src/com/android/settings/wifi/WifiSettings2.java
new file mode 100644
index 0000000..5152569
--- /dev/null
+++ b/src/com/android/settings/wifi/WifiSettings2.java
@@ -0,0 +1,1064 @@
+/*
+ * 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;
+
+import static android.net.wifi.WifiConfiguration.NetworkSelectionStatus.NETWORK_SELECTION_ENABLED;
+import static android.os.UserManager.DISALLOW_CONFIG_WIFI;
+
+import android.app.Activity;
+import android.app.Dialog;
+import android.app.settings.SettingsEnums;
+import android.content.ContentResolver;
+import android.content.Context;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.net.ConnectivityManager;
+import android.net.NetworkScoreManager;
+import android.net.NetworkTemplate;
+import android.net.wifi.WifiConfiguration;
+import android.net.wifi.WifiManager;
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.HandlerThread;
+import android.os.Looper;
+import android.os.PowerManager;
+import android.os.Process;
+import android.os.SimpleClock;
+import android.os.SystemClock;
+import android.provider.Settings;
+import android.text.TextUtils;
+import android.util.FeatureFlagUtils;
+import android.util.Log;
+import android.view.ContextMenu;
+import android.view.ContextMenu.ContextMenuInfo;
+import android.view.Menu;
+import android.view.MenuItem;
+import android.view.View;
+import android.widget.Toast;
+
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceCategory;
+import androidx.preference.PreferenceScreen;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.android.settings.LinkifyUtils;
+import com.android.settings.R;
+import com.android.settings.RestrictedSettingsFragment;
+import com.android.settings.SettingsActivity;
+import com.android.settings.core.FeatureFlags;
+import com.android.settings.core.SubSettingLauncher;
+import com.android.settings.datausage.DataUsagePreference;
+import com.android.settings.datausage.DataUsageUtils;
+import com.android.settings.location.ScanningSettings;
+import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settings.widget.SwitchBarController;
+import com.android.settings.wifi.details2.WifiNetworkDetailsFragment2;
+import com.android.settings.wifi.dpp.WifiDppUtils;
+import com.android.settingslib.RestrictedLockUtils;
+import com.android.settingslib.RestrictedLockUtilsInternal;
+import com.android.settingslib.search.Indexable;
+import com.android.settingslib.search.SearchIndexable;
+import com.android.settingslib.wifi.LongPressWifiEntryPreference;
+import com.android.wifitrackerlib.WifiEntry;
+import com.android.wifitrackerlib.WifiEntry.ConnectCallback;
+import com.android.wifitrackerlib.WifiPickerTracker;
+
+import java.time.Clock;
+import java.time.ZoneOffset;
+import java.util.List;
+import java.util.Optional;
+
+/**
+ * UI for Wi-Fi settings screen
+ */
+@SearchIndexable
+public class WifiSettings2 extends RestrictedSettingsFragment
+        implements Indexable, WifiPickerTracker.WifiPickerTrackerCallback,
+        WifiDialog2.WifiDialog2Listener, DialogInterface.OnDismissListener {
+
+    private static final String TAG = "WifiSettings2";
+
+    // IDs of context menu
+    static final int MENU_ID_CONNECT = Menu.FIRST + 1;
+    @VisibleForTesting
+    static final int MENU_ID_DISCONNECT = Menu.FIRST + 2;
+    @VisibleForTesting
+    static final int MENU_ID_FORGET = Menu.FIRST + 3;
+    static final int MENU_ID_MODIFY = Menu.FIRST + 4;
+
+    // Max age of tracked WifiEntries
+    private static final long MAX_SCAN_AGE_MILLIS = 15_000;
+    // Interval between initiating WifiPickerTracker scans
+    private static final long SCAN_INTERVAL_MILLIS = 10_000;
+
+    @VisibleForTesting
+    static final int ADD_NETWORK_REQUEST = 2;
+    static final int CONFIG_NETWORK_REQUEST = 3;
+
+    private static final String PREF_KEY_EMPTY_WIFI_LIST = "wifi_empty_list";
+    // TODO(b/70983952): Rename these to use WifiEntry instead of AccessPoint.
+    private static final String PREF_KEY_CONNECTED_ACCESS_POINTS = "connected_access_point";
+    private static final String PREF_KEY_ACCESS_POINTS = "access_points";
+    private static final String PREF_KEY_CONFIGURE_WIFI_SETTINGS = "configure_wifi_settings";
+    private static final String PREF_KEY_SAVED_NETWORKS = "saved_networks";
+    private static final String PREF_KEY_STATUS_MESSAGE = "wifi_status_message";
+    @VisibleForTesting
+    static final String PREF_KEY_DATA_USAGE = "wifi_data_usage";
+
+    private static final int REQUEST_CODE_WIFI_DPP_ENROLLEE_QR_CODE_SCANNER = 0;
+
+    public static final int WIFI_DIALOG_ID = 1;
+
+    // Instance state keys
+    private static final String SAVE_DIALOG_MODE = "dialog_mode";
+    private static final String SAVE_DIALOG_WIFIENTRY_KEY = "wifi_ap_key";
+
+    // Cache at onCreateContextMenu and use at onContextItemSelected. Don't use it in other methods.
+    private WifiEntry mSelectedWifiEntry;
+
+    // Save the dialog details
+    private int mDialogMode;
+    private String mDialogWifiEntryKey;
+    private WifiEntry mDialogWifiEntry;
+
+    // This boolean extra specifies whether to enable the Next button when connected. Used by
+    // account creation outside of setup wizard.
+    private static final String EXTRA_ENABLE_NEXT_ON_CONNECT = "wifi_enable_next_on_connect";
+
+    // Enable the Next button when a Wi-Fi network is connected.
+    private boolean mEnableNextOnConnection;
+
+    // This string extra specifies a network to open the connect dialog on, so the user can enter
+    // network credentials.  This is used by quick settings for secured networks, among other
+    // things.
+    private static final String EXTRA_START_CONNECT_SSID = "wifi_start_connect_ssid";
+    private String mOpenSsid;
+
+    private static boolean isVerboseLoggingEnabled() {
+        return WifiPickerTracker.isVerboseLoggingEnabled();
+    }
+
+    private final Runnable mUpdateWifiEntryPreferencesRunnable = () -> {
+        updateWifiEntryPreferences();
+    };
+    private final Runnable mHideProgressBarRunnable = () -> {
+        setProgressBarVisible(false);
+    };
+
+    protected WifiManager mWifiManager;
+    private WifiManager.ActionListener mConnectListener;
+    private WifiManager.ActionListener mSaveListener;
+    private WifiManager.ActionListener mForgetListener;
+
+    /**
+     * The state of {@link #isUiRestricted()} at {@link #onCreate(Bundle)}}. This is neccesary to
+     * ensure that behavior is consistent if {@link #isUiRestricted()} changes. It could be changed
+     * by the Test DPC tool in AFW mode.
+     */
+    private boolean mIsRestricted;
+
+    private WifiEnabler mWifiEnabler;
+
+    // Worker thread used for WifiPickerTracker work
+    private HandlerThread mWorkerThread;
+
+    @VisibleForTesting
+    WifiPickerTracker mWifiPickerTracker;
+
+    private WifiDialog2 mDialog;
+
+    private View mProgressHeader;
+
+    private PreferenceCategory mConnectedWifiEntryPreferenceCategory;
+    private PreferenceCategory mWifiEntryPreferenceCategory;
+    @VisibleForTesting
+    AddWifiNetworkPreference mAddWifiNetworkPreference;
+    @VisibleForTesting
+    Preference mConfigureWifiSettingsPreference;
+    @VisibleForTesting
+    Preference mSavedNetworksPreference;
+    @VisibleForTesting
+    DataUsagePreference mDataUsagePreference;
+    private LinkablePreference mStatusMessagePreference;
+
+    /**
+     * Tracks whether the user initiated a connection via clicking in order to autoscroll to the
+     * network once connected.
+     */
+    private boolean mClickedConnect;
+
+    public WifiSettings2() {
+        super(DISALLOW_CONFIG_WIFI);
+    }
+
+    @Override
+    public void onViewCreated(View view, Bundle savedInstanceState) {
+        super.onViewCreated(view, savedInstanceState);
+        final Activity activity = getActivity();
+        if (activity != null) {
+            mProgressHeader = setPinnedHeaderView(R.layout.progress_header)
+                    .findViewById(R.id.progress_bar_animation);
+            setProgressBarVisible(false);
+        }
+        ((SettingsActivity) activity).getSwitchBar().setSwitchBarText(
+                R.string.wifi_settings_master_switch_title,
+                R.string.wifi_settings_master_switch_title);
+    }
+
+    @Override
+    public void onCreate(Bundle icicle) {
+        super.onCreate(icicle);
+
+        // TODO(b/37429702): Add animations and preference comparator back after initial screen is
+        // loaded (ODR).
+        setAnimationAllowed(false);
+
+        addPreferences();
+
+        mIsRestricted = isUiRestricted();
+    }
+
+    private void addPreferences() {
+        addPreferencesFromResource(R.xml.wifi_settings2);
+
+        mConnectedWifiEntryPreferenceCategory = findPreference(PREF_KEY_CONNECTED_ACCESS_POINTS);
+        mWifiEntryPreferenceCategory = findPreference(PREF_KEY_ACCESS_POINTS);
+        mConfigureWifiSettingsPreference = findPreference(PREF_KEY_CONFIGURE_WIFI_SETTINGS);
+        mSavedNetworksPreference = findPreference(PREF_KEY_SAVED_NETWORKS);
+        mAddWifiNetworkPreference = new AddWifiNetworkPreference(getPrefContext());
+        mStatusMessagePreference = findPreference(PREF_KEY_STATUS_MESSAGE);
+        mDataUsagePreference = findPreference(PREF_KEY_DATA_USAGE);
+        mDataUsagePreference.setVisible(DataUsageUtils.hasWifiRadio(getContext()));
+        mDataUsagePreference.setTemplate(NetworkTemplate.buildTemplateWifiWildcard(),
+                0 /*subId*/,
+                null /*service*/);
+    }
+
+    @Override
+    public void onActivityCreated(Bundle savedInstanceState) {
+        super.onActivityCreated(savedInstanceState);
+
+        final Context context = getContext();
+        mWorkerThread = new HandlerThread(TAG +
+                "{" + Integer.toHexString(System.identityHashCode(this)) + "}",
+                Process.THREAD_PRIORITY_BACKGROUND);
+        mWorkerThread.start();
+        final Clock elapsedRealtimeClock = new SimpleClock(ZoneOffset.UTC) {
+            @Override
+            public long millis() {
+                return SystemClock.elapsedRealtime();
+            }
+        };
+        mWifiPickerTracker = new WifiPickerTracker(getSettingsLifecycle(), context,
+                context.getSystemService(WifiManager.class),
+                context.getSystemService(ConnectivityManager.class),
+                context.getSystemService(NetworkScoreManager.class),
+                new Handler(Looper.getMainLooper()),
+                mWorkerThread.getThreadHandler(),
+                elapsedRealtimeClock,
+                MAX_SCAN_AGE_MILLIS,
+                SCAN_INTERVAL_MILLIS,
+                this);
+
+        final Activity activity = getActivity();
+
+        if (activity != null) {
+            mWifiManager = getActivity().getSystemService(WifiManager.class);
+        }
+
+        mConnectListener = new WifiConnectListener(getActivity());
+
+        mSaveListener = new WifiManager.ActionListener() {
+            @Override
+            public void onSuccess() {
+            }
+
+            @Override
+            public void onFailure(int reason) {
+                Activity activity = getActivity();
+                if (activity != null) {
+                    Toast.makeText(activity,
+                            R.string.wifi_failed_save_message,
+                            Toast.LENGTH_SHORT).show();
+                }
+            }
+        };
+
+        mForgetListener = new WifiManager.ActionListener() {
+            @Override
+            public void onSuccess() {
+            }
+
+            @Override
+            public void onFailure(int reason) {
+                Activity activity = getActivity();
+                if (activity != null) {
+                    Toast.makeText(activity,
+                            R.string.wifi_failed_forget_message,
+                            Toast.LENGTH_SHORT).show();
+                }
+            }
+        };
+        registerForContextMenu(getListView());
+        setHasOptionsMenu(true);
+
+        if (savedInstanceState != null) {
+            mDialogMode = savedInstanceState.getInt(SAVE_DIALOG_MODE);
+            mDialogWifiEntryKey = savedInstanceState.getString(SAVE_DIALOG_WIFIENTRY_KEY);
+        }
+
+        // If we're supposed to enable/disable the Next button based on our current connection
+        // state, start it off in the right state.
+        final Intent intent = getActivity().getIntent();
+        mEnableNextOnConnection = intent.getBooleanExtra(EXTRA_ENABLE_NEXT_ON_CONNECT, false);
+
+        if (intent.hasExtra(EXTRA_START_CONNECT_SSID)) {
+            mOpenSsid = intent.getStringExtra(EXTRA_START_CONNECT_SSID);
+        }
+    }
+
+    @Override
+    public void onDestroyView() {
+        if (mWifiEnabler != null) {
+            mWifiEnabler.teardownSwitchController();
+        }
+        mWorkerThread.quit();
+
+        super.onDestroyView();
+    }
+
+    @Override
+    public void onStart() {
+        super.onStart();
+
+        mWifiEnabler = createWifiEnabler();
+
+        if (mIsRestricted) {
+            restrictUi();
+        }
+    }
+
+    private void restrictUi() {
+        if (!isUiRestrictedByOnlyAdmin()) {
+            getEmptyTextView().setText(R.string.wifi_empty_list_user_restricted);
+        }
+        getPreferenceScreen().removeAll();
+    }
+
+    /**
+     * @return new WifiEnabler
+     */
+    private WifiEnabler createWifiEnabler() {
+        final SettingsActivity activity = (SettingsActivity) getActivity();
+        return new WifiEnabler(activity, new SwitchBarController(activity.getSwitchBar()),
+                mMetricsFeatureProvider);
+    }
+
+    @Override
+    public void onResume() {
+        final Activity activity = getActivity();
+        super.onResume();
+
+        // Because RestrictedSettingsFragment's onResume potentially requests authorization,
+        // which changes the restriction state, recalculate it.
+        final boolean alreadyImmutablyRestricted = mIsRestricted;
+        mIsRestricted = isUiRestricted();
+        if (!alreadyImmutablyRestricted && mIsRestricted) {
+            restrictUi();
+        }
+
+        if (mWifiEnabler != null) {
+            mWifiEnabler.resume(activity);
+        }
+
+        changeNextButtonState(mWifiPickerTracker.getConnectedWifiEntry() != null);
+    }
+
+    @Override
+    public void onPause() {
+        super.onPause();
+        if (mWifiEnabler != null) {
+            mWifiEnabler.pause();
+        }
+    }
+
+    @Override
+    public void onStop() {
+        getView().removeCallbacks(mUpdateWifiEntryPreferencesRunnable);
+        getView().removeCallbacks(mHideProgressBarRunnable);
+        super.onStop();
+    }
+
+    @Override
+    public void onActivityResult(int requestCode, int resultCode, Intent data) {
+        super.onActivityResult(requestCode, resultCode, data);
+
+        if (requestCode == ADD_NETWORK_REQUEST) {
+            handleAddNetworkRequest(resultCode, data);
+            return;
+        } else if (requestCode == REQUEST_CODE_WIFI_DPP_ENROLLEE_QR_CODE_SCANNER) {
+            if (resultCode == Activity.RESULT_OK) {
+                if (mDialog != null) {
+                    mDialog.dismiss();
+                }
+            }
+            return;
+        } else if (requestCode == CONFIG_NETWORK_REQUEST) {
+            if (resultCode == Activity.RESULT_OK) {
+                final WifiConfiguration wifiConfiguration = data.getParcelableExtra(
+                        ConfigureWifiEntryFragment.NETWORK_CONFIG_KEY);
+                if (wifiConfiguration != null) {
+                    mWifiManager.connect(wifiConfiguration,
+                            new WifiConnectActionListener());
+                }
+            }
+            return;
+        }
+
+        final boolean formerlyRestricted = mIsRestricted;
+        mIsRestricted = isUiRestricted();
+        if (formerlyRestricted && !mIsRestricted
+                && getPreferenceScreen().getPreferenceCount() == 0) {
+            // De-restrict the ui
+            addPreferences();
+        }
+    }
+
+    @Override
+    protected RecyclerView.Adapter onCreateAdapter(PreferenceScreen preferenceScreen) {
+        final RecyclerView.Adapter adapter = super.onCreateAdapter(preferenceScreen);
+        adapter.setHasStableIds(true);
+        return adapter;
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.WIFI;
+    }
+
+    @Override
+    public void onSaveInstanceState(Bundle outState) {
+        super.onSaveInstanceState(outState);
+        // If dialog has been shown, save its state.
+        if (mDialog != null) {
+            outState.putInt(SAVE_DIALOG_MODE, mDialogMode);
+            outState.putString(SAVE_DIALOG_WIFIENTRY_KEY, mDialogWifiEntryKey);
+        }
+    }
+
+    @Override
+    public void onCreateContextMenu(ContextMenu menu, View view, ContextMenuInfo info) {
+        Preference preference = (Preference) view.getTag();
+        if (!(preference instanceof LongPressWifiEntryPreference)) {
+            // Do nothing.
+            return;
+        }
+
+        // Cache the WifiEntry for onContextItemSelected. Don't use it in other methods.
+        mSelectedWifiEntry = ((LongPressWifiEntryPreference) preference).getWifiEntry();
+
+        menu.setHeaderTitle(mSelectedWifiEntry.getTitle());
+        if (mSelectedWifiEntry.canConnect()) {
+            menu.add(Menu.NONE, MENU_ID_CONNECT, 0 /* order */, R.string.wifi_connect);
+        }
+
+        if (mSelectedWifiEntry.canDisconnect()) {
+            menu.add(Menu.NONE, MENU_ID_DISCONNECT, 0 /* order */,
+                    R.string.wifi_disconnect_button_text);
+        }
+
+        // "forget" for normal saved network. And "disconnect" for ephemeral network because it
+        // could only be disconnected and be put in blacklists so it won't be used again.
+        if (mSelectedWifiEntry.canForget()) {
+            menu.add(Menu.NONE, MENU_ID_FORGET, 0 /* order */, R.string.forget);
+        }
+
+        WifiConfiguration config = mSelectedWifiEntry.getWifiConfiguration();
+        // Some configs are ineditable
+        if (WifiUtils.isNetworkLockedDown(getActivity(), config)) {
+            return;
+        }
+
+        if (mSelectedWifiEntry.isSaved() && mSelectedWifiEntry.getConnectedState()
+                != WifiEntry.CONNECTED_STATE_CONNECTED) {
+            menu.add(Menu.NONE, MENU_ID_MODIFY, 0 /* order */, R.string.wifi_modify);
+        }
+    }
+
+    @Override
+    public boolean onContextItemSelected(MenuItem item) {
+        switch (item.getItemId()) {
+            case MENU_ID_CONNECT:
+                connect(mSelectedWifiEntry, true /* editIfNoConfig */, false /* fullScreenEdit */);
+                return true;
+            case MENU_ID_DISCONNECT:
+                mSelectedWifiEntry.disconnect(null /* callback */);
+                return true;
+            case MENU_ID_FORGET:
+                forget(mSelectedWifiEntry);
+                return true;
+            case MENU_ID_MODIFY:
+                showDialog(mSelectedWifiEntry, WifiConfigUiBase2.MODE_MODIFY);
+                return true;
+            default:
+                return super.onContextItemSelected(item);
+        }
+    }
+
+    @Override
+    public boolean onPreferenceTreeClick(Preference preference) {
+        // If the preference has a fragment set, open that
+        if (preference.getFragment() != null) {
+            preference.setOnPreferenceClickListener(null);
+            return super.onPreferenceTreeClick(preference);
+        }
+
+        if (preference instanceof LongPressWifiEntryPreference) {
+            final WifiEntry selectedEntry =
+                    ((LongPressWifiEntryPreference) preference).getWifiEntry();
+
+            if (selectedEntry.isSaved()) {
+                if (!selectedEntry.getWifiConfiguration().getNetworkSelectionStatus()
+                        .hasEverConnected()) {
+                    launchConfigNewNetworkFragment(selectedEntry);
+                    return true;
+                }
+            }
+
+            connect(selectedEntry, true /* editIfNoConfig */, true /* fullScreenEdit */);
+        } else if (preference == mAddWifiNetworkPreference) {
+            onAddNetworkPressed();
+        } else {
+            return super.onPreferenceTreeClick(preference);
+        }
+        return true;
+    }
+
+    private void showDialog(WifiEntry wifiEntry, int dialogMode) {
+        if (WifiUtils.isNetworkLockedDown(getActivity(), wifiEntry.getWifiConfiguration())
+                && wifiEntry.getConnectedState() == WifiEntry.CONNECTED_STATE_CONNECTED) {
+            RestrictedLockUtils.sendShowAdminSupportDetailsIntent(getActivity(),
+                    RestrictedLockUtilsInternal.getDeviceOwner(getActivity()));
+            return;
+        }
+
+        if (mDialog != null) {
+            removeDialog(WIFI_DIALOG_ID);
+            mDialog = null;
+        }
+
+        // Save the access point and edit mode
+        mDialogWifiEntry = wifiEntry;
+        mDialogWifiEntryKey = wifiEntry.getKey();
+        mDialogMode = dialogMode;
+
+        showDialog(WIFI_DIALOG_ID);
+    }
+
+    @Override
+    public Dialog onCreateDialog(int dialogId) {
+        switch (dialogId) {
+            case WIFI_DIALOG_ID:
+                // modify network
+                mDialog = WifiDialog2
+                        .createModal(getActivity(), this, mDialogWifiEntry, mDialogMode);
+                return mDialog;
+            default:
+                return super.onCreateDialog(dialogId);
+        }
+    }
+
+    @Override
+    public void onDialogShowing() {
+        super.onDialogShowing();
+        setOnDismissListener(this);
+    }
+
+    @Override
+    public void onDismiss(DialogInterface dialog) {
+        // We don't keep any dialog object when dialog was dismissed.
+        mDialog = null;
+        mDialogWifiEntry = null;
+        mDialogWifiEntryKey = null;
+    }
+
+    @Override
+    public int getDialogMetricsCategory(int dialogId) {
+        switch (dialogId) {
+            case WIFI_DIALOG_ID:
+                return SettingsEnums.DIALOG_WIFI_AP_EDIT;
+            default:
+                return 0;
+        }
+    }
+
+    /** Called when the state of Wifi has changed. */
+    @Override
+    public void onWifiStateChanged() {
+        if (mIsRestricted) {
+            return;
+        }
+        final int wifiState = mWifiPickerTracker.getWifiState();
+
+        if (isVerboseLoggingEnabled()) {
+            Log.i(TAG, "onWifiStateChanged called with wifi state: " + wifiState);
+        }
+
+        switch (wifiState) {
+            case WifiManager.WIFI_STATE_ENABLED:
+                updateWifiEntryPreferences();
+                break;
+
+            case WifiManager.WIFI_STATE_ENABLING:
+                removeConnectedWifiEntryPreference();
+                removeWifiEntryPreference();
+                addMessagePreference(R.string.wifi_starting);
+                setProgressBarVisible(true);
+                break;
+
+            case WifiManager.WIFI_STATE_DISABLING:
+                removeConnectedWifiEntryPreference();
+                removeWifiEntryPreference();
+                addMessagePreference(R.string.wifi_stopping);
+                break;
+
+            case WifiManager.WIFI_STATE_DISABLED:
+                setOffMessage();
+                setAdditionalSettingsSummaries();
+                setProgressBarVisible(false);
+                break;
+        }
+    }
+
+    @Override
+    public void onWifiEntriesChanged() {
+        updateWifiEntryPreferencesDelayed();
+        changeNextButtonState(mWifiPickerTracker.getConnectedWifiEntry() != null);
+
+        // Edit the Wi-Fi network of specified SSID.
+        if (mOpenSsid != null) {
+            Optional<WifiEntry> matchedWifiEntry = mWifiPickerTracker.getWifiEntries().stream()
+                    .filter(wifiEntry -> TextUtils.equals(mOpenSsid, wifiEntry.getSsid()))
+                    .filter(wifiEntry -> wifiEntry.getSecurity() != WifiEntry.SECURITY_NONE
+                            && wifiEntry.getSecurity() != WifiEntry.SECURITY_OWE)
+                    .filter(wifiEntry -> !wifiEntry.isSaved()
+                            || isDisabledByWrongPassword(wifiEntry))
+                    .findFirst();
+            if (matchedWifiEntry.isPresent()) {
+                mOpenSsid = null;
+                launchConfigNewNetworkFragment(matchedWifiEntry.get());
+            }
+        }
+    }
+
+    @Override
+    public void onNumSavedNetworksChanged() {
+        setAdditionalSettingsSummaries();
+    }
+
+    @Override
+    public void onNumSavedSubscriptionsChanged() {
+        setAdditionalSettingsSummaries();
+    }
+
+    /**
+     * Updates WifiEntries from {@link WifiPickerTracker#getWifiEntries()}. Adds a delay to have
+     * progress bar displayed before starting to modify entries.
+     */
+    private void updateWifiEntryPreferencesDelayed() {
+        // Safeguard from some delayed event handling
+        if (getActivity() != null && !mIsRestricted &&
+                mWifiPickerTracker.getWifiState() == WifiManager.WIFI_STATE_ENABLED) {
+            final View view = getView();
+            final Handler handler = view.getHandler();
+            if (handler != null && handler.hasCallbacks(mUpdateWifiEntryPreferencesRunnable)) {
+                return;
+            }
+            setProgressBarVisible(true);
+            view.postDelayed(mUpdateWifiEntryPreferencesRunnable, 300);
+        }
+    }
+
+    private void updateWifiEntryPreferences() {
+        // in case state has changed
+        if (mWifiPickerTracker.getWifiState() != WifiManager.WIFI_STATE_ENABLED) {
+            return;
+        }
+
+        boolean hasAvailableWifiEntries = false;
+        mStatusMessagePreference.setVisible(false);
+        mWifiEntryPreferenceCategory.setVisible(true);
+
+        final WifiEntry connectedEntry = mWifiPickerTracker.getConnectedWifiEntry();
+        mConnectedWifiEntryPreferenceCategory.setVisible(connectedEntry != null);
+        if (connectedEntry != null) {
+            final LongPressWifiEntryPreference connectedPref =
+                    mConnectedWifiEntryPreferenceCategory.findPreference(connectedEntry.getKey());
+            if (connectedPref == null || connectedPref.getWifiEntry() != connectedEntry) {
+                mConnectedWifiEntryPreferenceCategory.removeAll();
+                final ConnectedWifiEntryPreference pref =
+                        new ConnectedWifiEntryPreference(getPrefContext(), connectedEntry, this);
+                pref.setKey(connectedEntry.getKey());
+                pref.refresh();
+                mConnectedWifiEntryPreferenceCategory.addPreference(pref);
+                pref.setOnPreferenceClickListener(preference -> {
+                    if (connectedEntry.canSignIn()) {
+                        connectedEntry.signIn(null /* callback */);
+                    } else {
+                        launchNetworkDetailsFragment(pref);
+                    }
+                    return true;
+                });
+                pref.setOnGearClickListener(preference -> {
+                    launchNetworkDetailsFragment(pref);
+                });
+            }
+        } else {
+            mConnectedWifiEntryPreferenceCategory.removeAll();
+        }
+
+        int index = 0;
+        cacheRemoveAllPrefs(mWifiEntryPreferenceCategory);
+        List<WifiEntry> wifiEntries = mWifiPickerTracker.getWifiEntries();
+        for (WifiEntry wifiEntry : wifiEntries) {
+            hasAvailableWifiEntries = true;
+
+            String key = wifiEntry.getKey();
+            LongPressWifiEntryPreference pref =
+                    (LongPressWifiEntryPreference) getCachedPreference(key);
+            if (pref != null) {
+                pref.setOrder(index++);
+                continue;
+            }
+
+            pref = createLongPressWifiEntryPreference(wifiEntry);
+            pref.setKey(wifiEntry.getKey());
+            pref.setOrder(index++);
+            pref.refresh();
+            mWifiEntryPreferenceCategory.addPreference(pref);
+        }
+        removeCachedPrefs(mWifiEntryPreferenceCategory);
+
+        if (!hasAvailableWifiEntries) {
+            setProgressBarVisible(true);
+            Preference pref = new Preference(getPrefContext());
+            pref.setSelectable(false);
+            pref.setSummary(R.string.wifi_empty_list_wifi_on);
+            pref.setOrder(index++);
+            pref.setKey(PREF_KEY_EMPTY_WIFI_LIST);
+            mWifiEntryPreferenceCategory.addPreference(pref);
+        } else {
+            // Continuing showing progress bar for an additional delay to overlap with animation
+            getView().postDelayed(mHideProgressBarRunnable, 1700 /* delay millis */);
+        }
+
+        mAddWifiNetworkPreference.setOrder(index++);
+        mWifiEntryPreferenceCategory.addPreference(mAddWifiNetworkPreference);
+        setAdditionalSettingsSummaries();
+    }
+
+    private void launchNetworkDetailsFragment(LongPressWifiEntryPreference pref) {
+        final WifiEntry wifiEntry = pref.getWifiEntry();
+        final Context context = getContext();
+        final CharSequence title =
+                FeatureFlagUtils.isEnabled(context, FeatureFlags.WIFI_DETAILS_DATAUSAGE_HEADER)
+                        ? wifiEntry.getTitle()
+                        : context.getText(R.string.pref_title_network_details);
+
+        final Bundle bundle = new Bundle();
+        bundle.putString(WifiNetworkDetailsFragment2.KEY_CHOSEN_WIFIENTRY_KEY, wifiEntry.getKey());
+
+        new SubSettingLauncher(context)
+                .setTitleText(title)
+                .setDestination(WifiNetworkDetailsFragment2.class.getName())
+                .setArguments(bundle)
+                .setSourceMetricsCategory(getMetricsCategory())
+                .launch();
+    }
+
+    @VisibleForTesting
+    LongPressWifiEntryPreference createLongPressWifiEntryPreference(WifiEntry wifiEntry) {
+        return new LongPressWifiEntryPreference(getPrefContext(), wifiEntry, this);
+    }
+
+    private void launchAddNetworkFragment() {
+        new SubSettingLauncher(getContext())
+                .setTitleRes(R.string.wifi_add_network)
+                .setDestination(AddNetworkFragment.class.getName())
+                .setSourceMetricsCategory(getMetricsCategory())
+                .setResultListener(this, ADD_NETWORK_REQUEST)
+                .launch();
+    }
+
+    /** Removes all preferences and hide the {@link #mConnectedWifiEntryPreferenceCategory}. */
+    private void removeConnectedWifiEntryPreference() {
+        mConnectedWifiEntryPreferenceCategory.removeAll();
+        mConnectedWifiEntryPreferenceCategory.setVisible(false);
+    }
+
+    private void removeWifiEntryPreference() {
+        mWifiEntryPreferenceCategory.removeAll();
+        mWifiEntryPreferenceCategory.setVisible(false);
+    }
+
+    @VisibleForTesting
+    void setAdditionalSettingsSummaries() {
+        mConfigureWifiSettingsPreference.setSummary(getString(
+                isWifiWakeupEnabled()
+                        ? R.string.wifi_configure_settings_preference_summary_wakeup_on
+                        : R.string.wifi_configure_settings_preference_summary_wakeup_off));
+
+        final int numSavedNetworks = mWifiPickerTracker.getNumSavedNetworks();
+        final int numSavedSubscriptions = mWifiPickerTracker.getNumSavedSubscriptions();
+        if (numSavedNetworks + numSavedSubscriptions > 0) {
+            mSavedNetworksPreference.setVisible(true);
+            mSavedNetworksPreference.setSummary(
+                    getSavedNetworkSettingsSummaryText(numSavedNetworks, numSavedSubscriptions));
+        } else {
+            mSavedNetworksPreference.setVisible(false);
+        }
+    }
+
+    private String getSavedNetworkSettingsSummaryText(
+            int numSavedNetworks, int numSavedSubscriptions) {
+        if (numSavedSubscriptions == 0) {
+            return getResources().getQuantityString(R.plurals.wifi_saved_access_points_summary,
+                    numSavedNetworks, numSavedNetworks);
+        } else if (numSavedNetworks == 0) {
+            return getResources().getQuantityString(
+                    R.plurals.wifi_saved_passpoint_access_points_summary,
+                    numSavedSubscriptions, numSavedSubscriptions);
+        } else {
+            final int numTotalEntries = numSavedNetworks + numSavedSubscriptions;
+            return getResources().getQuantityString(R.plurals.wifi_saved_all_access_points_summary,
+                    numTotalEntries, numTotalEntries);
+        }
+    }
+
+    private boolean isWifiWakeupEnabled() {
+        final Context context = getContext();
+        final PowerManager powerManager = context.getSystemService(PowerManager.class);
+        final ContentResolver contentResolver = context.getContentResolver();
+        return mWifiManager.isAutoWakeupEnabled()
+                && mWifiManager.isScanAlwaysAvailable()
+                && Settings.Global.getInt(contentResolver,
+                Settings.Global.AIRPLANE_MODE_ON, 0) == 0
+                && !powerManager.isPowerSaveMode();
+    }
+
+    private void setOffMessage() {
+        final CharSequence title = getText(R.string.wifi_empty_list_wifi_off);
+        // Don't use WifiManager.isScanAlwaysAvailable() to check the Wi-Fi scanning mode. Instead,
+        // read the system settings directly. Because when the device is in Airplane mode, even if
+        // Wi-Fi scanning mode is on, WifiManager.isScanAlwaysAvailable() still returns "off".
+        // TODO(b/149421497): Fix this?
+        final boolean wifiScanningMode = mWifiManager.isScanAlwaysAvailable();
+        final CharSequence description = wifiScanningMode ? getText(R.string.wifi_scan_notify_text)
+                : getText(R.string.wifi_scan_notify_text_scanning_off);
+        final LinkifyUtils.OnClickListener clickListener =
+                () -> new SubSettingLauncher(getContext())
+                        .setDestination(ScanningSettings.class.getName())
+                        .setTitleRes(R.string.location_scanning_screen_title)
+                        .setSourceMetricsCategory(getMetricsCategory())
+                        .launch();
+        mStatusMessagePreference.setText(title, description, clickListener);
+        removeConnectedWifiEntryPreference();
+        removeWifiEntryPreference();
+        mStatusMessagePreference.setVisible(true);
+    }
+
+    private void addMessagePreference(int messageId) {
+        mStatusMessagePreference.setTitle(messageId);
+        mStatusMessagePreference.setVisible(true);
+
+    }
+
+    protected void setProgressBarVisible(boolean visible) {
+        if (mProgressHeader != null) {
+            mProgressHeader.setVisibility(visible ? View.VISIBLE : View.GONE);
+        }
+    }
+
+    @VisibleForTesting
+    void handleAddNetworkRequest(int result, Intent data) {
+        if (result == Activity.RESULT_OK) {
+            handleAddNetworkSubmitEvent(data);
+        }
+    }
+
+    private void handleAddNetworkSubmitEvent(Intent data) {
+        final WifiConfiguration wifiConfiguration = data.getParcelableExtra(
+                AddNetworkFragment.WIFI_CONFIG_KEY);
+        if (wifiConfiguration != null) {
+            mWifiManager.save(wifiConfiguration, mSaveListener);
+        }
+    }
+
+    /**
+     * Called when "add network" button is pressed.
+     */
+    private void onAddNetworkPressed() {
+        launchAddNetworkFragment();
+    }
+
+    @Override
+    public int getHelpResource() {
+        return R.string.help_url_wifi;
+    }
+
+    /**
+     * Renames/replaces "Next" button when appropriate. "Next" button usually exists in
+     * Wi-Fi setup screens, not in usual wifi settings screen.
+     *
+     * @param enabled true when the device is connected to a wifi network.
+     */
+    @VisibleForTesting
+    void changeNextButtonState(boolean enabled) {
+        if (mEnableNextOnConnection && hasNextButton()) {
+            getNextButton().setEnabled(enabled);
+        }
+    }
+
+    @Override
+    public void onForget(WifiDialog2 dialog) {
+        forget(mDialogWifiEntry);
+    }
+
+    @Override
+    public void onSubmit(WifiDialog2 dialog) {
+        final int dialogMode = mDialog.getController().getMode();
+
+        if (dialogMode == WifiConfigUiBase2.MODE_MODIFY) {
+            mWifiManager.save(mDialogWifiEntry.getWifiConfiguration(), mSaveListener);
+        } else if (dialogMode == WifiConfigUiBase2.MODE_CONNECT
+                || (dialogMode == WifiConfigUiBase2.MODE_VIEW && mDialogWifiEntry.canConnect())) {
+            connect(mDialogWifiEntry, false /* editIfNoConfig */, false /* fullScreenEdit*/);
+        }
+    }
+
+    @Override
+    public void onScan(WifiDialog2 dialog, String ssid) {
+        // Launch QR code scanner to join a network.
+        startActivityForResult(WifiDppUtils.getEnrolleeQrCodeScannerIntent(ssid),
+                REQUEST_CODE_WIFI_DPP_ENROLLEE_QR_CODE_SCANNER);
+    }
+
+    private void forget(WifiEntry wifiEntry) {
+        mMetricsFeatureProvider.action(getActivity(), SettingsEnums.ACTION_WIFI_FORGET);
+        wifiEntry.forget(null /* callback */);
+    }
+
+    private void connect(WifiEntry wifiEntry, boolean editIfNoConfig, boolean fullScreenEdit) {
+        mMetricsFeatureProvider.action(getActivity(), SettingsEnums.ACTION_WIFI_CONNECT,
+                wifiEntry.isSaved());
+
+        // If it's an unsaved secure WifiEntry, it will callback
+        // ConnectCallback#onConnectResult with ConnectCallback#CONNECT_STATUS_FAILURE_NO_CONFIG
+        wifiEntry.connect(new WifiEntryConnectCallback(wifiEntry, editIfNoConfig,
+                fullScreenEdit));
+    }
+
+    private class WifiConnectActionListener implements WifiManager.ActionListener {
+        @Override
+        public void onSuccess() {
+            // Do nothing.
+        }
+
+        @Override
+        public void onFailure(int reason) {
+            final Activity activity = getActivity();
+            if (isFisishingOrDestroyed(activity)) {
+                return;
+            }
+
+            Toast.makeText(activity, R.string.wifi_failed_connect_message, Toast.LENGTH_SHORT)
+                    .show();
+        }
+    };
+
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.wifi_settings2);
+
+    private class WifiEntryConnectCallback implements ConnectCallback {
+        final WifiEntry mConnectWifiEntry;
+        final boolean mEditIfNoConfig;
+        final boolean mFullScreenEdit;
+
+        WifiEntryConnectCallback(WifiEntry connectWifiEntry, boolean editIfNoConfig,
+                boolean fullScreenEdit) {
+            mConnectWifiEntry = connectWifiEntry;
+            mEditIfNoConfig = editIfNoConfig;
+            mFullScreenEdit = fullScreenEdit;
+        }
+
+        @Override
+        public void onConnectResult(@ConnectStatus int status) {
+            final Activity activity = getActivity();
+            if (isFisishingOrDestroyed(activity)) {
+                return;
+            }
+
+            if (status == ConnectCallback.CONNECT_STATUS_FAILURE_NO_CONFIG) {
+                if (mEditIfNoConfig) {
+                    // Edit an unsaved secure Wi-Fi network.
+                    if (mFullScreenEdit) {
+                        launchConfigNewNetworkFragment(mConnectWifiEntry);
+                    } else {
+                        showDialog(mConnectWifiEntry, WifiConfigUiBase2.MODE_MODIFY);
+                    }
+                }
+            } else if (status == CONNECT_STATUS_FAILURE_UNKNOWN) {
+                Toast.makeText(getContext(), R.string.wifi_failed_connect_message,
+                        Toast.LENGTH_SHORT).show();
+            }
+        }
+    }
+
+    private boolean isFisishingOrDestroyed(Activity activity) {
+        return activity == null || activity.isFinishing() || activity.isDestroyed();
+    }
+
+    private void launchConfigNewNetworkFragment(WifiEntry wifiEntry) {
+        final Bundle bundle = new Bundle();
+        bundle.putString(WifiNetworkDetailsFragment2.KEY_CHOSEN_WIFIENTRY_KEY,
+                wifiEntry.getKey());
+        new SubSettingLauncher(getContext())
+                .setTitleText(wifiEntry.getTitle())
+                .setDestination(ConfigureWifiEntryFragment.class.getName())
+                .setArguments(bundle)
+                .setSourceMetricsCategory(getMetricsCategory())
+                .setResultListener(WifiSettings2.this, CONFIG_NETWORK_REQUEST)
+                .launch();
+    }
+
+    /** Helper method to return whether a WifiEntry is disabled due to a wrong password */
+    private static boolean isDisabledByWrongPassword(WifiEntry wifiEntry) {
+        WifiConfiguration config = wifiEntry.getWifiConfiguration();
+        if (config == null) {
+            return false;
+        }
+        WifiConfiguration.NetworkSelectionStatus networkStatus =
+                config.getNetworkSelectionStatus();
+        if (networkStatus == null
+                || networkStatus.getNetworkSelectionStatus() == NETWORK_SELECTION_ENABLED) {
+            return false;
+        }
+        int reason = networkStatus.getNetworkSelectionDisableReason();
+        return WifiConfiguration.NetworkSelectionStatus.DISABLED_BY_WRONG_PASSWORD == reason;
+    }
+}
diff --git a/src/com/android/settings/wifi/WifiSummaryUpdater.java b/src/com/android/settings/wifi/WifiSummaryUpdater.java
index 8696113..c559e7d 100644
--- a/src/com/android/settings/wifi/WifiSummaryUpdater.java
+++ b/src/com/android/settings/wifi/WifiSummaryUpdater.java
@@ -90,7 +90,7 @@
         if (!mWifiTracker.connected) {
             return mContext.getString(R.string.disconnected);
         }
-        String ssid = WifiInfo.removeDoubleQuotes(mWifiTracker.ssid);
+        String ssid = WifiInfo.sanitizeSsid(mWifiTracker.ssid);
         if (TextUtils.isEmpty(mWifiTracker.statusLabel)) {
             return ssid;
         }
diff --git a/src/com/android/settings/wifi/WifiUtils.java b/src/com/android/settings/wifi/WifiUtils.java
index 9b3c1b3..c73e6a2 100644
--- a/src/com/android/settings/wifi/WifiUtils.java
+++ b/src/com/android/settings/wifi/WifiUtils.java
@@ -157,13 +157,11 @@
 
         switch (security) {
             case AccessPoint.SECURITY_NONE:
-                config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
+                config.setSecurityParams(WifiConfiguration.SECURITY_TYPE_OPEN);
                 break;
 
             case AccessPoint.SECURITY_WEP:
-                config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
-                config.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN);
-                config.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.SHARED);
+                config.setSecurityParams(WifiConfiguration.SECURITY_TYPE_WEP);
                 if (!TextUtils.isEmpty(password)) {
                     int length = password.length();
                     // WEP-40, WEP-104, and 256-bit WEP (WEP-232?)
@@ -177,7 +175,7 @@
                 break;
 
             case AccessPoint.SECURITY_PSK:
-                config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);
+                config.setSecurityParams(WifiConfiguration.SECURITY_TYPE_PSK);
                 if (!TextUtils.isEmpty(password)) {
                     if (password.matches("[0-9A-Fa-f]{64}")) {
                         config.preSharedKey = password;
@@ -189,16 +187,11 @@
 
             case AccessPoint.SECURITY_EAP:
             case AccessPoint.SECURITY_EAP_SUITE_B:
-                config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_EAP);
-                config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.IEEE8021X);
                 if (security == AccessPoint.SECURITY_EAP_SUITE_B) {
-                    config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.SUITE_B_192);
-                    config.requirePMF = true;
-                    config.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.GCMP_256);
-                    config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.GCMP_256);
-                    config.allowedGroupManagementCiphers.set(WifiConfiguration.GroupMgmtCipher
-                            .BIP_GMAC_256);
                     // allowedSuiteBCiphers will be set according to certificate type
+                    config.setSecurityParams(WifiConfiguration.SECURITY_TYPE_EAP_SUITE_B);
+                } else {
+                    config.setSecurityParams(WifiConfiguration.SECURITY_TYPE_EAP);
                 }
 
                 if (!TextUtils.isEmpty(password)) {
@@ -206,16 +199,14 @@
                 }
                 break;
             case AccessPoint.SECURITY_SAE:
-                config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.SAE);
-                config.requirePMF = true;
+                config.setSecurityParams(WifiConfiguration.SECURITY_TYPE_SAE);
                 if (!TextUtils.isEmpty(password)) {
                     config.preSharedKey = '"' + password + '"';
                 }
                 break;
 
             case AccessPoint.SECURITY_OWE:
-                config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.OWE);
-                config.requirePMF = true;
+                config.setSecurityParams(WifiConfiguration.SECURITY_TYPE_OWE);
                 break;
 
             default:
@@ -272,7 +263,7 @@
             return CONNECT_TYPE_OPEN_NETWORK;
         } else if (accessPoint.isSaved() && config != null
                 && config.getNetworkSelectionStatus() != null
-                && config.getNetworkSelectionStatus().getHasEverConnected()) {
+                && config.getNetworkSelectionStatus().hasEverConnected()) {
             return CONNECT_TYPE_SAVED_NETWORK;
         } else if (accessPoint.isPasspoint()) {
             // Access point provided by an installed Passpoint provider, connect using
diff --git a/src/com/android/settings/wifi/WifiWakeupPreferenceController.java b/src/com/android/settings/wifi/WifiWakeupPreferenceController.java
index 11a58af..e9fd350 100644
--- a/src/com/android/settings/wifi/WifiWakeupPreferenceController.java
+++ b/src/com/android/settings/wifi/WifiWakeupPreferenceController.java
@@ -24,8 +24,8 @@
 import android.content.Intent;
 import android.content.IntentFilter;
 import android.location.LocationManager;
+import android.net.wifi.WifiManager;
 import android.provider.Settings;
-import android.text.TextUtils;
 
 import androidx.annotation.VisibleForTesting;
 import androidx.fragment.app.Fragment;
@@ -34,108 +34,104 @@
 import androidx.preference.SwitchPreference;
 
 import com.android.settings.R;
-import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.core.TogglePreferenceController;
 import com.android.settings.utils.AnnotationSpan;
-import com.android.settingslib.core.AbstractPreferenceController;
-import com.android.settingslib.core.lifecycle.Lifecycle;
 import com.android.settingslib.core.lifecycle.LifecycleObserver;
 import com.android.settingslib.core.lifecycle.events.OnPause;
 import com.android.settingslib.core.lifecycle.events.OnResume;
 
 /**
- * {@link PreferenceControllerMixin} that controls whether the Wi-Fi Wakeup feature should be
+ * {@link TogglePreferenceController} that controls whether the Wi-Fi Wakeup feature should be
  * enabled.
  */
-public class WifiWakeupPreferenceController extends AbstractPreferenceController implements
+public class WifiWakeupPreferenceController extends TogglePreferenceController implements
         LifecycleObserver, OnPause, OnResume {
 
     private static final String TAG = "WifiWakeupPrefController";
     private static final String KEY_ENABLE_WIFI_WAKEUP = "enable_wifi_wakeup";
 
-    private final Fragment mFragment;
+    private Fragment mFragment;
 
     @VisibleForTesting
     SwitchPreference mPreference;
+
     @VisibleForTesting
     LocationManager mLocationManager;
+
+    @VisibleForTesting
+    WifiManager mWifiManager;
+
     private final BroadcastReceiver mLocationReceiver = new BroadcastReceiver() {
         @Override
         public void onReceive(Context context, Intent intent) {
             updateState(mPreference);
         }
     };
+
     private final IntentFilter mLocationFilter =
             new IntentFilter(LocationManager.MODE_CHANGED_ACTION);
 
-    public WifiWakeupPreferenceController(Context context, DashboardFragment fragment,
-            Lifecycle lifecycle) {
-        super(context);
-        mFragment = fragment;
+    public WifiWakeupPreferenceController(Context context) {
+        super(context, KEY_ENABLE_WIFI_WAKEUP);
         mLocationManager = (LocationManager) context.getSystemService(Service.LOCATION_SERVICE);
-        lifecycle.addObserver(this);
+        mWifiManager = context.getSystemService(WifiManager.class);
+    }
+
+    public void setFragment(Fragment hostFragment) {
+        mFragment = hostFragment;
     }
 
     @Override
     public void displayPreference(PreferenceScreen screen) {
         super.displayPreference(screen);
-        mPreference = screen.findPreference(KEY_ENABLE_WIFI_WAKEUP);
-        updateState(mPreference);
+        mPreference = screen.findPreference(getPreferenceKey());
     }
 
     @Override
-    public boolean isAvailable() {
-        return true;
+    public int getAvailabilityStatus() {
+        return AVAILABLE;
     }
 
     @Override
-    public boolean handlePreferenceTreeClick(Preference preference) {
-        if (!TextUtils.equals(preference.getKey(), KEY_ENABLE_WIFI_WAKEUP)) {
-            return false;
-        }
-        if (!(preference instanceof SwitchPreference)) {
-            return false;
-        }
+    public boolean isChecked() {
+        return getWifiWakeupEnabled()
+                && getWifiScanningEnabled()
+                && mLocationManager.isLocationEnabled();
+    }
 
-        // TODO(b/132391311): WifiWakeupPreferenceController is essentially reimplementing
-        // TogglePreferenceController. Refactor it into TogglePreferenceController.
+    @Override
+    public boolean setChecked(boolean isChecked) {
+        if (isChecked) {
+            if (mFragment == null) {
+                throw new IllegalStateException("No fragment to start activity");
+            }
 
-        // Toggle wifi-wakeup setting between 1/0 based on its current state, and some other checks.
-        if (isWifiWakeupAvailable()) {
-            setWifiWakeupEnabled(false);
-        } else {
             if (!mLocationManager.isLocationEnabled()) {
                 final Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
                 mFragment.startActivityForResult(intent, WIFI_WAKEUP_REQUEST_CODE);
-                return true;
+                return false;
             } else if (!getWifiScanningEnabled()) {
                 showScanningDialog();
-            } else {
-                setWifiWakeupEnabled(true);
+                return false;
             }
         }
 
-        updateState(mPreference);
+        setWifiWakeupEnabled(isChecked);
         return true;
     }
 
     @Override
-    public String getPreferenceKey() {
-        return KEY_ENABLE_WIFI_WAKEUP;
-    }
-
-    @Override
     public void updateState(Preference preference) {
-        if (!(preference instanceof SwitchPreference)) {
-            return;
-        }
-        final SwitchPreference enableWifiWakeup = (SwitchPreference) preference;
+        super.updateState(preference);
+        refreshSummary(preference);
+    }
 
-        enableWifiWakeup.setChecked(isWifiWakeupAvailable());
+    @Override
+    public CharSequence getSummary() {
         if (!mLocationManager.isLocationEnabled()) {
-            preference.setSummary(getNoLocationSummary());
+            return getNoLocationSummary();
         } else {
-            preference.setSummary(R.string.wifi_wakeup_summary);
+            return mContext.getText(R.string.wifi_wakeup_summary);
         }
     }
 
@@ -152,13 +148,12 @@
         }
         if (mLocationManager.isLocationEnabled() && getWifiScanningEnabled()) {
             setWifiWakeupEnabled(true);
+            updateState(mPreference);
         }
-        updateState(mPreference);
     }
 
     private boolean getWifiScanningEnabled() {
-        return Settings.Global.getInt(mContext.getContentResolver(),
-                Settings.Global.WIFI_SCAN_ALWAYS_AVAILABLE, 0) == 1;
+        return mWifiManager.isScanAlwaysAvailable();
     }
 
     private void showScanningDialog() {
@@ -169,22 +164,11 @@
     }
 
     private boolean getWifiWakeupEnabled() {
-        return Settings.Global.getInt(mContext.getContentResolver(),
-                Settings.Global.WIFI_WAKEUP_ENABLED, 0) == 1;
-    }
-
-    /**
-     * Wifi wakeup is available only when both location and Wi-Fi scanning are enabled.
-     */
-    private boolean isWifiWakeupAvailable() {
-        return getWifiWakeupEnabled()
-                && getWifiScanningEnabled()
-                && mLocationManager.isLocationEnabled();
+        return mWifiManager.isAutoWakeupEnabled();
     }
 
     private void setWifiWakeupEnabled(boolean enabled) {
-        Settings.Global.putInt(mContext.getContentResolver(), Settings.Global.WIFI_WAKEUP_ENABLED,
-                enabled ? 1 : 0);
+        mWifiManager.setAutoWakeupEnabled(enabled);
     }
 
     @Override
diff --git a/src/com/android/settings/wifi/addappnetworks/AddAppNetworksActivity.java b/src/com/android/settings/wifi/addappnetworks/AddAppNetworksActivity.java
new file mode 100644
index 0000000..f276603
--- /dev/null
+++ b/src/com/android/settings/wifi/addappnetworks/AddAppNetworksActivity.java
@@ -0,0 +1,90 @@
+/*
+ * 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.addappnetworks;
+
+import android.content.Intent;
+import android.os.Bundle;
+import android.provider.Settings;
+import android.view.Gravity;
+import android.view.Window;
+import android.view.WindowManager;
+
+import androidx.annotation.Nullable;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentActivity;
+import androidx.fragment.app.FragmentManager;
+
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.settings.R;
+import com.android.settings.core.HideNonSystemOverlayMixin;
+
+/**
+ * When apps send a new intent with a WifiConfiguration list extra to Settings APP. Settings APP
+ * will launch this activity, which contains {@code AddAppNetworksFragment}, with a UI panel pop
+ * up asking the user if they approve the network being proposed by the app to be saved on to
+ * the device. User can decide to save or cancel the request.,
+ */
+public class AddAppNetworksActivity extends FragmentActivity {
+    public static final String TAG = "AddAppNetworksActivity";
+
+    private AddAppNetworksFragment mFragment;
+
+    /** Key specifying the package name of the apps which requested the Panel. */
+    public static final String KEY_CALLING_PACKAGE_NAME = "panel_calling_package_name";
+
+    @VisibleForTesting
+    final Bundle mBundle = new Bundle();
+
+    @Override
+    protected void onCreate(@Nullable Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.settings_panel);
+        showAddNetworksFragment();
+        getLifecycle().addObserver(new HideNonSystemOverlayMixin(this));
+
+        // Move the window to the bottom of screen, and make it take up the entire screen width.
+        final Window window = getWindow();
+        window.setGravity(Gravity.BOTTOM);
+        window.setLayout(WindowManager.LayoutParams.MATCH_PARENT,
+                WindowManager.LayoutParams.WRAP_CONTENT);
+    }
+
+    @Override
+    protected void onNewIntent(Intent intent) {
+        super.onNewIntent(intent);
+        setIntent(intent);
+        showAddNetworksFragment();
+    }
+
+    @VisibleForTesting
+    void showAddNetworksFragment() {
+        // TODO: Check the new intent status.
+        mBundle.putString(KEY_CALLING_PACKAGE_NAME, getCallingPackage());
+        mBundle.putParcelableArrayList(Settings.EXTRA_WIFI_NETWORK_LIST,
+                getIntent().getParcelableArrayListExtra(Settings.EXTRA_WIFI_NETWORK_LIST));
+
+        final FragmentManager fragmentManager = getSupportFragmentManager();
+        Fragment fragment = fragmentManager.findFragmentByTag(TAG);
+        if (fragment == null) {
+            fragment = new AddAppNetworksFragment();
+            fragment.setArguments(mBundle);
+            fragmentManager.beginTransaction().add(R.id.main_content, fragment, TAG).commit();
+        } else {
+            ((AddAppNetworksFragment) fragment).createContent(mBundle);
+        }
+    }
+}
diff --git a/src/com/android/settings/wifi/addappnetworks/AddAppNetworksFragment.java b/src/com/android/settings/wifi/addappnetworks/AddAppNetworksFragment.java
new file mode 100644
index 0000000..7a5677f
--- /dev/null
+++ b/src/com/android/settings/wifi/addappnetworks/AddAppNetworksFragment.java
@@ -0,0 +1,761 @@
+/*
+ * 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.addappnetworks;
+
+import static android.app.Activity.RESULT_CANCELED;
+import static android.app.Activity.RESULT_OK;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.PackageManager;
+import android.graphics.drawable.Drawable;
+import android.net.wifi.WifiConfiguration;
+import android.net.wifi.WifiConfiguration.KeyMgmt;
+import android.net.wifi.WifiManager;
+import android.net.wifi.WifiNetworkSuggestion;
+import android.net.wifi.hotspot2.PasspointConfiguration;
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.Message;
+import android.provider.Settings;
+import android.text.TextUtils;
+import android.util.Log;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ArrayAdapter;
+import android.widget.Button;
+import android.widget.ImageView;
+import android.widget.ListView;
+import android.widget.TextView;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.fragment.app.FragmentActivity;
+import androidx.preference.internal.PreferenceImageView;
+
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.settings.R;
+import com.android.settings.Utils;
+import com.android.settings.core.InstrumentedFragment;
+import com.android.settingslib.wifi.AccessPoint;
+import com.android.settingslib.wifi.WifiTracker;
+import com.android.settingslib.wifi.WifiTrackerFactory;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Optional;
+
+/**
+ * The Fragment list those networks, which is proposed by other app, to user, and handle user's
+ * choose on either saving those networks or rejecting the request.
+ */
+public class AddAppNetworksFragment extends InstrumentedFragment implements
+        WifiTracker.WifiListener {
+    public static final String TAG = "AddAppNetworksFragment";
+
+    // Possible result values in each item of the returned result list, which is used
+    // to inform the caller APP the processed result of each specified network.
+    @VisibleForTesting
+    static final int RESULT_NETWORK_SUCCESS = 0;
+    private static final int RESULT_NETWORK_ADD_ERROR = 1;
+    @VisibleForTesting
+    static final int RESULT_NETWORK_ALREADY_EXISTS = 2;
+
+    // Handler messages for controlling different state and delay showing the status message.
+    private static final int MESSAGE_START_SAVING_NETWORK = 1;
+    private static final int MESSAGE_SHOW_SAVED_AND_CONNECT_NETWORK = 2;
+    private static final int MESSAGE_SHOW_SAVE_FAILED = 3;
+    private static final int MESSAGE_FINISH = 4;
+
+    // Signal level for the initial signal icon.
+    @VisibleForTesting
+    static final int INITIAL_RSSI_SIGNAL_LEVEL = 0;
+    // Max networks count within one request
+    private static final int MAX_SPECIFIC_NETWORKS_COUNT = 5;
+
+    // Duration for showing different status message.
+    private static final long SHOW_SAVING_INTERVAL_MILLIS = 500L;
+    private static final long SHOW_SAVED_INTERVAL_MILLIS = 1000L;
+
+    @VisibleForTesting
+    FragmentActivity mActivity;
+    @VisibleForTesting
+    View mLayoutView;
+    @VisibleForTesting
+    Button mCancelButton;
+    @VisibleForTesting
+    Button mSaveButton;
+    @VisibleForTesting
+    String mCallingPackageName;
+    @VisibleForTesting
+    List<WifiNetworkSuggestion> mAllSpecifiedNetworksList;
+    @VisibleForTesting
+    List<UiConfigurationItem> mUiToRequestedList;
+    @VisibleForTesting
+    List<Integer> mResultCodeArrayList;
+    @VisibleForTesting
+    WifiTracker mWifiTracker;
+
+    private boolean mIsSingleNetwork;
+    private boolean mAnyNetworkSavedSuccess;
+    private TextView mSummaryView;
+    private TextView mSingleNetworkProcessingStatusView;
+    private int mSavingIndex;
+    private UiConfigurationItemAdapter mUiConfigurationItemAdapter;
+    private WifiManager.ActionListener mSaveListener;
+    private WifiManager mWifiManager;
+
+    private final Handler mHandler = new Handler() {
+        @Override
+        public void handleMessage(Message msg) {
+            showSaveStatusByState(msg.what);
+
+            switch (msg.what) {
+                case MESSAGE_START_SAVING_NETWORK:
+                    mSaveButton.setEnabled(false);
+                    // Save the proposed networks, start from first one.
+                    mSavingIndex = 0;
+                    saveNetwork(mSavingIndex);
+                    break;
+
+                case MESSAGE_SHOW_SAVED_AND_CONNECT_NETWORK:
+                    // For the single network case, we need to call connection after saved.
+                    if (mIsSingleNetwork) {
+                        connectNetwork(0);
+                    }
+                    sendEmptyMessageDelayed(MESSAGE_FINISH,
+                            SHOW_SAVED_INTERVAL_MILLIS);
+                    break;
+
+                case MESSAGE_SHOW_SAVE_FAILED:
+                    mSaveButton.setEnabled(true);
+                    break;
+
+                case MESSAGE_FINISH:
+                    finishWithResult(RESULT_OK, mResultCodeArrayList);
+                    break;
+
+                default:
+                    // Do nothing.
+                    break;
+            }
+        }
+    };
+
+    @Nullable
+    @Override
+    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container,
+            @Nullable Bundle savedInstanceState) {
+        mActivity = getActivity();
+        mWifiManager = mActivity.getSystemService(WifiManager.class);
+        mWifiTracker = WifiTrackerFactory.create(mActivity.getApplication(), this,
+                getSettingsLifecycle(), true /* includeSaved */, true /* includeScans */);
+
+        return inflater.inflate(R.layout.wifi_add_app_networks, container, false);
+    }
+
+    @Override
+    public void onViewCreated(View view, Bundle savedInstanceState) {
+        super.onViewCreated(view, savedInstanceState);
+
+        // Initial UI variables.
+        mLayoutView = view;
+        mCancelButton = view.findViewById(R.id.cancel);
+        mSaveButton = view.findViewById(R.id.save);
+        mSummaryView = view.findViewById(R.id.app_summary);
+        mSingleNetworkProcessingStatusView = view.findViewById(R.id.single_status);
+        // Assigns button listeners and network save listener.
+        mCancelButton.setOnClickListener(getCancelClickListener());
+        mSaveButton.setOnClickListener(getSaveClickListener());
+        prepareSaveResultListener();
+
+        // Prepare the non-UI variables.
+        final Bundle bundle = getArguments();
+        createContent(bundle);
+    }
+
+    /**
+     * Updates the UI contents to be aligned with the parameters in Bundle. This API may be called
+     * by the Activity directly when get a new intent.
+     */
+    @VisibleForTesting
+    void createContent(Bundle bundle) {
+        // For new intent case, if device is saving those networks specified in old intent, just
+        // ignore this new intent for preventing status error.
+        if (mSaveButton != null && !mSaveButton.isEnabled()) {
+            Log.d(TAG, "Network saving, ignore new intent");
+            return;
+        }
+
+        mAllSpecifiedNetworksList =
+                bundle.getParcelableArrayList(Settings.EXTRA_WIFI_NETWORK_LIST);
+
+        // If there is no network in the request intent or the requested networks exceed the
+        // maximum limit, then just finish activity.
+        if (mAllSpecifiedNetworksList == null || mAllSpecifiedNetworksList.isEmpty()
+                || mAllSpecifiedNetworksList.size() > MAX_SPECIFIC_NETWORKS_COUNT) {
+            finishWithResult(RESULT_CANCELED, null /* resultArrayList */);
+            return;
+        }
+
+        // Initial the result arry.
+        initializeResultCodeArray();
+        // Filter the saved networks, and prepare a not saved networks list for UI to present.
+        filterSavedNetworks(mWifiManager.getPrivilegedConfiguredNetworks());
+
+        // If all the specific networks are all exist, we just need to finish with result.
+        if (mUiToRequestedList.size() == 0) {
+            finishWithResult(RESULT_OK, mResultCodeArrayList);
+            return;
+        }
+
+        if (mAllSpecifiedNetworksList.size() == 1) {
+            mIsSingleNetwork = true;
+            // Set the multiple networks related layout to be gone, and the single network layout
+            // items to be visible.
+            mLayoutView.findViewById(R.id.multiple_networks).setVisibility(View.GONE);
+            mLayoutView.findViewById(R.id.single_network).setVisibility(View.VISIBLE);
+
+            // Show signal icon for single network case.
+            updateSingleNetworkSignalIcon(INITIAL_RSSI_SIGNAL_LEVEL);
+            // Show the SSID of the proposed network.
+            ((TextView) mLayoutView.findViewById(R.id.single_ssid)).setText(
+                    mUiToRequestedList.get(0).mDisplayedSsid);
+            // Set the status view as gone when UI is initialized.
+            mSingleNetworkProcessingStatusView.setVisibility(View.GONE);
+        } else {
+            // Multiple networks request case.
+            mIsSingleNetwork = false;
+            // Set the single network related layout to be gone, and the multiple networks layout
+            // items to be visible.
+            mLayoutView.findViewById(R.id.single_network).setVisibility(View.GONE);
+            mLayoutView.findViewById(R.id.multiple_networks).setVisibility(View.VISIBLE);
+
+            if (mUiConfigurationItemAdapter == null) {
+                // Prepare a UI adapter and set to UI listview.
+                final ListView uiNetworkListView = mLayoutView.findViewById(R.id.config_list);
+                mUiConfigurationItemAdapter = new UiConfigurationItemAdapter(mActivity,
+                        com.android.settingslib.R.layout.preference_access_point,
+                        mUiToRequestedList);
+                uiNetworkListView.setAdapter(mUiConfigurationItemAdapter);
+            } else {
+                mUiConfigurationItemAdapter.notifyDataSetChanged();
+            }
+        }
+
+        // Assigns caller app icon, title, and summary.
+        mCallingPackageName =
+                bundle.getString(AddAppNetworksActivity.KEY_CALLING_PACKAGE_NAME);
+        assignAppIcon(mActivity, mCallingPackageName);
+        assignTitleAndSummary(mActivity, mCallingPackageName);
+    }
+
+    private void initializeResultCodeArray() {
+        final int networksSize = mAllSpecifiedNetworksList.size();
+        mResultCodeArrayList = new ArrayList<>();
+
+        for (int i = 0; i < networksSize; i++) {
+            mResultCodeArrayList.add(RESULT_NETWORK_SUCCESS);
+        }
+    }
+
+    private String getWepKey(WifiConfiguration config) {
+        return (config.wepTxKeyIndex >= 0 && config.wepTxKeyIndex < config.wepKeys.length)
+                ? config.wepKeys[config.wepTxKeyIndex] : null;
+    }
+
+    private boolean isSavedPasspointConfiguration(
+            PasspointConfiguration specifiecPassPointConfiguration) {
+        return mWifiManager.getPasspointConfigurations().stream()
+                .filter(config -> config.equals(specifiecPassPointConfiguration))
+                .findFirst()
+                .isPresent();
+    }
+
+    private boolean isSavedWifiConfiguration(WifiConfiguration specifiedConfig,
+            List<WifiConfiguration> savedWifiConfigurations) {
+        final String ssidWithQuotation = addQuotationIfNeeded(specifiedConfig.SSID);
+        final int authType = specifiedConfig.getAuthType();
+        // TODO: reformat to use lambda
+        for (WifiConfiguration privilegedWifiConfiguration : savedWifiConfigurations) {
+            // If SSID or security type is different, should be new network or need to be
+            // updated network, continue to check others.
+            if (!ssidWithQuotation.equals(privilegedWifiConfiguration.SSID)
+                    || authType != privilegedWifiConfiguration.getAuthType()) {
+                continue;
+            }
+
+            //  If specified network and saved network have same security types, we'll check
+            //  more information according to their security type to judge if they are same.
+            switch (authType) {
+                case KeyMgmt.NONE:
+                    final String wep = getWepKey(specifiedConfig);
+                    final String savedWep = getWepKey(privilegedWifiConfiguration);
+                    return TextUtils.equals(wep, savedWep);
+                case KeyMgmt.OWE:
+                    return true;
+                case KeyMgmt.WPA_PSK:
+                case KeyMgmt.WPA2_PSK:
+                case KeyMgmt.SAE:
+                    if (specifiedConfig.preSharedKey.equals(
+                            privilegedWifiConfiguration.preSharedKey)) {
+                        return true;
+                    }
+                    break;
+                // TODO: Check how to judge enterprise type.
+                default:
+                    break;
+            }
+        }
+
+        return false;
+    }
+
+    /**
+     * For the APP specified networks, filter saved ones and mark those saved as existed. And
+     * prepare a new UiConfigurationItem list, which contains those new or need to be updated
+     * networks, for creating UI to user.
+     */
+    @VisibleForTesting
+    void filterSavedNetworks(List<WifiConfiguration> savedWifiConfigurations) {
+        if (mUiToRequestedList == null) {
+            mUiToRequestedList = new ArrayList<>();
+        } else {
+            mUiToRequestedList.clear();
+        }
+
+        int networkPositionInBundle = 0;
+        for (WifiNetworkSuggestion suggestion : mAllSpecifiedNetworksList) {
+            String displayedName = null;
+            boolean foundInSavedList = false;
+
+            /*
+             * If specified is passpoint network, need to check with the existing passpoint
+             * networks.
+             */
+            final PasspointConfiguration passpointConfig = suggestion.getPasspointConfig();
+            if (passpointConfig != null) {
+                foundInSavedList = isSavedPasspointConfiguration(passpointConfig);
+                displayedName = passpointConfig.getHomeSp().getFriendlyName();
+            } else {
+                final WifiConfiguration specifiedConfig = suggestion.getWifiConfiguration();
+                displayedName = removeDoubleQuotes(specifiedConfig.SSID);
+                foundInSavedList = isSavedWifiConfiguration(specifiedConfig,
+                        savedWifiConfigurations);
+            }
+
+            if (foundInSavedList) {
+                // If this requested network already in the saved networks, mark this item in the
+                // result code list as existed.
+                mResultCodeArrayList.set(networkPositionInBundle, RESULT_NETWORK_ALREADY_EXISTS);
+            } else {
+                // Prepare to add to UI list to show to user
+                UiConfigurationItem uiConfigurationItem = new UiConfigurationItem(displayedName,
+                        suggestion, networkPositionInBundle, INITIAL_RSSI_SIGNAL_LEVEL);
+                mUiToRequestedList.add(uiConfigurationItem);
+            }
+            networkPositionInBundle++;
+        }
+    }
+
+    private void updateSingleNetworkSignalIcon(int level) {
+        // TODO: Check level of the network to show signal icon.
+        final Drawable wifiIcon = mActivity.getDrawable(
+                Utils.getWifiIconResource(level)).mutate();
+        final Drawable wifiIconDark = wifiIcon.getConstantState().newDrawable().mutate();
+        wifiIconDark.setTintList(
+                Utils.getColorAttr(mActivity, android.R.attr.colorControlNormal));
+        ((ImageView) mLayoutView.findViewById(R.id.signal_strength)).setImageDrawable(wifiIconDark);
+    }
+
+    private String addQuotationIfNeeded(String input) {
+        if (TextUtils.isEmpty(input)) {
+            return "";
+        }
+
+        if (input.length() >= 2 && input.startsWith("\"") && input.endsWith("\"")) {
+            return input;
+        }
+
+        StringBuilder sb = new StringBuilder();
+        sb.append("\"").append(input).append("\"");
+
+        return sb.toString();
+    }
+
+    static String removeDoubleQuotes(String string) {
+        if (TextUtils.isEmpty(string)) {
+            return "";
+        }
+        int length = string.length();
+        if ((length > 1) && (string.charAt(0) == '"')
+                && (string.charAt(length - 1) == '"')) {
+            return string.substring(1, length - 1);
+        }
+        return string;
+    }
+
+    private void assignAppIcon(Context context, String callingPackageName) {
+        final Drawable drawable = loadPackageIconDrawable(context, callingPackageName);
+        ((ImageView) mLayoutView.findViewById(R.id.app_icon)).setImageDrawable(drawable);
+    }
+
+    private Drawable loadPackageIconDrawable(Context context, String callingPackageName) {
+        Drawable icon = null;
+        try {
+            icon = context.getPackageManager().getApplicationIcon(callingPackageName);
+        } catch (PackageManager.NameNotFoundException e) {
+            Log.d(TAG, "Cannot get application icon", e);
+        }
+
+        return icon;
+    }
+
+    private void assignTitleAndSummary(Context context, String callingPackageName) {
+        // Assigns caller app name to title
+        ((TextView) mLayoutView.findViewById(R.id.app_title)).setText(getTitle());
+
+        // Set summary
+        mSummaryView.setText(getAddNetworkRequesterSummary(
+                Utils.getApplicationLabel(context, callingPackageName)));
+    }
+
+    private CharSequence getAddNetworkRequesterSummary(CharSequence appName) {
+        return getString(mIsSingleNetwork ? R.string.wifi_add_app_single_network_summary
+                : R.string.wifi_add_app_networks_summary, appName);
+    }
+
+    private CharSequence getTitle() {
+        return getString(mIsSingleNetwork ? R.string.wifi_add_app_single_network_title
+                : R.string.wifi_add_app_networks_title);
+    }
+
+    View.OnClickListener getCancelClickListener() {
+        return (v) -> {
+            Log.d(TAG, "User rejected to add network");
+            finishWithResult(RESULT_CANCELED, null /* resultArrayList */);
+        };
+    }
+
+    View.OnClickListener getSaveClickListener() {
+        return (v) -> {
+            Log.d(TAG, "User agree to add networks");
+            // Start to process saving networks.
+            final Message message = mHandler.obtainMessage(MESSAGE_START_SAVING_NETWORK);
+            message.sendToTarget();
+        };
+    }
+
+    /**
+     * This class used to show network items to user, each item contains one specific (@Code
+     * WifiConfiguration} and one index to mapping this UI item to the item in the APP request
+     * network list.
+     */
+    @VisibleForTesting
+    static class UiConfigurationItem {
+        public final String mDisplayedSsid;
+        public final WifiNetworkSuggestion mWifiNetworkSuggestion;
+        public final int mIndex;
+        public int mLevel;
+
+        UiConfigurationItem(String displayedSsid, WifiNetworkSuggestion wifiNetworkSuggestion,
+                int index, int level) {
+            mDisplayedSsid = displayedSsid;
+            mWifiNetworkSuggestion = wifiNetworkSuggestion;
+            mIndex = index;
+            mLevel = level;
+        }
+    }
+
+    private class UiConfigurationItemAdapter extends ArrayAdapter<UiConfigurationItem> {
+        private final int mResourceId;
+        private final LayoutInflater mInflater;
+
+        UiConfigurationItemAdapter(Context context, int resourceId,
+                List<UiConfigurationItem> objects) {
+            super(context, resourceId, objects);
+            mResourceId = resourceId;
+            mInflater = LayoutInflater.from(context);
+        }
+
+        @Override
+        public View getView(int position, View view, ViewGroup parent) {
+            if (view == null) {
+                view = mInflater.inflate(mResourceId, parent, false /* attachToRoot */);
+            }
+
+            final View divider = view.findViewById(
+                    com.android.settingslib.R.id.two_target_divider);
+            if (divider != null) {
+                divider.setVisibility(View.GONE);
+            }
+
+            final UiConfigurationItem uiConfigurationItem = getItem(position);
+            final TextView titleView = view.findViewById(android.R.id.title);
+            if (titleView != null) {
+                // Shows whole SSID for better UX.
+                titleView.setSingleLine(false);
+                titleView.setText(uiConfigurationItem.mDisplayedSsid);
+            }
+
+            final PreferenceImageView imageView = view.findViewById(android.R.id.icon);
+            if (imageView != null) {
+                final Drawable drawable = getContext().getDrawable(
+                        com.android.settingslib.Utils.getWifiIconResource(
+                                uiConfigurationItem.mLevel));
+                drawable.setTintList(
+                        com.android.settingslib.Utils.getColorAttr(getContext(),
+                                android.R.attr.colorControlNormal));
+                imageView.setImageDrawable(drawable);
+            }
+
+            final TextView summaryView = view.findViewById(android.R.id.summary);
+            if (summaryView != null) {
+                summaryView.setVisibility(View.GONE);
+            }
+
+            return view;
+        }
+    }
+
+    private void prepareSaveResultListener() {
+        mSaveListener = new WifiManager.ActionListener() {
+            @Override
+            public void onSuccess() {
+                mAnyNetworkSavedSuccess = true;
+
+                if (saveNextNetwork()) {
+                    return;
+                }
+
+                // Show saved or failed according to all results
+                showSavedOrFail();
+            }
+
+            @Override
+            public void onFailure(int reason) {
+                // Set result code of this network to be failed in the return list.
+                mResultCodeArrayList.set(mUiToRequestedList.get(mSavingIndex).mIndex,
+                        RESULT_NETWORK_ADD_ERROR);
+
+                if (saveNextNetwork()) {
+                    return;
+                }
+
+                // Show saved or failed according to all results
+                showSavedOrFail();
+            }
+        };
+    }
+
+    /**
+     * For multiple networks case, we need to check if there is other network need to save.
+     */
+    private boolean saveNextNetwork() {
+        // Save the next network if have.
+        if (!mIsSingleNetwork && mSavingIndex < (mUiToRequestedList.size() - 1)) {
+            mSavingIndex++;
+            saveNetwork(mSavingIndex);
+            return true;
+        }
+
+        return false;
+    }
+
+    /**
+     * If any one of the specified networks is success, then we show saved and return all results
+     * list back to caller APP, otherwise we show failed to indicate all networks saved failed.
+     */
+    private void showSavedOrFail() {
+        Message nextStateMessage;
+        if (mAnyNetworkSavedSuccess) {
+            // Enter next state after all networks are saved.
+            nextStateMessage = mHandler.obtainMessage(
+                    MESSAGE_SHOW_SAVED_AND_CONNECT_NETWORK);
+        } else {
+            nextStateMessage = mHandler.obtainMessage(MESSAGE_SHOW_SAVE_FAILED);
+        }
+        // Delay to change to next state for showing saving mesage for a period.
+        mHandler.sendMessageDelayed(nextStateMessage, SHOW_SAVING_INTERVAL_MILLIS);
+    }
+
+    /**
+     * Call framework API to save single network.
+     */
+    private void saveNetwork(int index) {
+        final PasspointConfiguration passpointConfig =
+                mUiToRequestedList.get(index).mWifiNetworkSuggestion.getPasspointConfig();
+        if (passpointConfig != null) {
+            // Save passpoint, if no IllegalArgumentException, then treat it as success.
+            try {
+                mWifiManager.addOrUpdatePasspointConfiguration(passpointConfig);
+                mAnyNetworkSavedSuccess = true;
+            } catch (IllegalArgumentException e) {
+                mResultCodeArrayList.set(mUiToRequestedList.get(index).mIndex,
+                        RESULT_NETWORK_ADD_ERROR);
+            }
+
+            if (saveNextNetwork()) {
+                return;
+            }
+            // Show saved or failed according to all results.
+            showSavedOrFail();
+        } else {
+            final WifiConfiguration wifiConfiguration =
+                    mUiToRequestedList.get(index).mWifiNetworkSuggestion.getWifiConfiguration();
+            wifiConfiguration.SSID = addQuotationIfNeeded(wifiConfiguration.SSID);
+            mWifiManager.save(wifiConfiguration, mSaveListener);
+        }
+    }
+
+    private void connectNetwork(int index) {
+        final WifiConfiguration wifiConfiguration =
+                mUiToRequestedList.get(index).mWifiNetworkSuggestion.getWifiConfiguration();
+        mWifiManager.connect(wifiConfiguration, null /* ActionListener */);
+    }
+
+    private void finishWithResult(int resultCode, List<Integer> resultArrayList) {
+        if (mActivity == null) {
+            return;
+        }
+
+        if (resultArrayList != null) {
+            Intent intent = new Intent();
+            intent.putIntegerArrayListExtra(Settings.EXTRA_WIFI_NETWORK_RESULT_LIST,
+                    (ArrayList<Integer>) resultArrayList);
+            mActivity.setResult(resultCode, intent);
+        }
+        mActivity.finish();
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.PANEL_ADD_WIFI_NETWORKS;
+    }
+
+    private void showSaveStatusByState(int status) {
+        switch (status) {
+            case MESSAGE_START_SAVING_NETWORK:
+                if (mIsSingleNetwork) {
+                    // Set the initial text color for status message.
+                    mSingleNetworkProcessingStatusView.setTextColor(
+                            com.android.settingslib.Utils.getColorAttr(mActivity,
+                                    android.R.attr.textColorSecondary));
+                    mSingleNetworkProcessingStatusView.setText(
+                            getString(R.string.wifi_add_app_single_network_saving_summary));
+                    mSingleNetworkProcessingStatusView.setVisibility(View.VISIBLE);
+                } else {
+                    mSummaryView.setTextColor(
+                            com.android.settingslib.Utils.getColorAttr(mActivity,
+                                    android.R.attr.textColorSecondary));
+                    mSummaryView.setText(
+                            getString(R.string.wifi_add_app_networks_saving_summary,
+                                    mUiToRequestedList.size()));
+                }
+                break;
+
+            case MESSAGE_SHOW_SAVED_AND_CONNECT_NETWORK:
+                if (mIsSingleNetwork) {
+                    mSingleNetworkProcessingStatusView.setText(
+                            getString(R.string.wifi_add_app_single_network_saved_summary));
+                } else {
+                    mSummaryView.setText(
+                            getString(R.string.wifi_add_app_networks_saved_summary));
+                }
+                break;
+
+            case MESSAGE_SHOW_SAVE_FAILED:
+                if (mIsSingleNetwork) {
+                    // Error message need to use colorError attribute to show.
+                    mSingleNetworkProcessingStatusView.setTextColor(
+                            com.android.settingslib.Utils.getColorAttr(mActivity,
+                                    android.R.attr.colorError));
+                    mSingleNetworkProcessingStatusView.setText(
+                            getString(R.string.wifi_add_app_network_save_failed_summary));
+                } else {
+                    // Error message need to use colorError attribute to show.
+                    mSummaryView.setTextColor(
+                            com.android.settingslib.Utils.getColorAttr(mActivity,
+                                    android.R.attr.colorError));
+                    mSummaryView.setText(
+                            getString(R.string.wifi_add_app_network_save_failed_summary));
+                }
+                break;
+
+            default:
+                // Do nothing.
+                break;
+        }
+    }
+
+    @Override
+    public void onWifiStateChanged(int state) {
+        // Do nothing
+    }
+
+    @Override
+    public void onConnectedChanged() {
+        // Do nothing
+    }
+
+    @VisibleForTesting
+    void updateScanResultsToUi(List<AccessPoint> allAccessPoints) {
+        if (mUiToRequestedList == null) {
+            // Nothing need to be updated.
+            return;
+        }
+
+        // Update the signal level of the UI networks.
+        for (UiConfigurationItem uiConfigurationItem : mUiToRequestedList) {
+            uiConfigurationItem.mLevel = 0;
+            if (allAccessPoints != null) {
+                final Optional<AccessPoint> matchedAccessPoint = allAccessPoints
+                        .stream()
+                        .filter(accesspoint -> accesspoint.matches(
+                                uiConfigurationItem.mWifiNetworkSuggestion.getWifiConfiguration()))
+                        .findFirst();
+                uiConfigurationItem.mLevel =
+                        matchedAccessPoint.isPresent() ? matchedAccessPoint.get().getLevel() : 0;
+            }
+        }
+
+        if (mIsSingleNetwork) {
+            updateSingleNetworkSignalIcon(mUiToRequestedList.get(0).mLevel);
+        } else {
+            if (mUiConfigurationItemAdapter != null) {
+                mUiConfigurationItemAdapter.notifyDataSetChanged();
+            }
+        }
+    }
+
+    @Override
+    public void onResume() {
+        super.onResume();
+        onAccessPointsChanged();
+    }
+
+    /**
+     * Update the results when data changes
+     */
+    @Override
+    public void onAccessPointsChanged() {
+        updateScanResultsToUi(
+                mWifiTracker.getManager().isWifiEnabled() ? mWifiTracker.getAccessPoints() : null);
+    }
+}
diff --git a/src/com/android/settings/wifi/calling/OWNERS b/src/com/android/settings/wifi/calling/OWNERS
new file mode 100644
index 0000000..d23f816
--- /dev/null
+++ b/src/com/android/settings/wifi/calling/OWNERS
@@ -0,0 +1,8 @@
+# Default reviewers for this and subdirectories.
+allenwtsu@google.com
+andychou@google.com
+bonianchen@google.com
+songferngwang@google.com
+tomhsu@google.com
+
+# Emergency approvers in case the above are not available
diff --git a/src/com/android/settings/wifi/calling/WifiCallingSettings.java b/src/com/android/settings/wifi/calling/WifiCallingSettings.java
index 8a342c8..5c0ee9b 100644
--- a/src/com/android/settings/wifi/calling/WifiCallingSettings.java
+++ b/src/com/android/settings/wifi/calling/WifiCallingSettings.java
@@ -32,11 +32,11 @@
 import androidx.fragment.app.FragmentManager;
 import androidx.fragment.app.FragmentPagerAdapter;
 
-import com.android.ims.ImsManager;
 import com.android.internal.util.CollectionUtils;
 import com.android.settings.R;
 import com.android.settings.core.InstrumentedFragment;
 import com.android.settings.network.SubscriptionUtil;
+import com.android.settings.network.ims.WifiCallingQueryImsState;
 import com.android.settings.search.actionbar.SearchMenuController;
 import com.android.settings.support.actionbar.HelpMenuController;
 import com.android.settings.support.actionbar.HelpResourceProvider;
@@ -100,11 +100,11 @@
         if (mSil == null) {
             return;
         }
-        Intent intent = getActivity().getIntent();
+        final Intent intent = getActivity().getIntent();
         if (intent == null) {
             return;
         }
-        int subId = intent.getIntExtra(Settings.EXTRA_SUB_ID,
+        final int subId = intent.getIntExtra(Settings.EXTRA_SUB_ID,
                 SubscriptionManager.INVALID_SUBSCRIPTION_ID);
         if (SubscriptionManager.isValidSubscriptionId(subId)) {
             for (SubscriptionInfo subInfo : mSil) {
@@ -168,7 +168,7 @@
             args.putBoolean(SearchMenuController.NEED_SEARCH_ICON_IN_ACTION_BAR, false);
             args.putInt(WifiCallingSettingsForSub.FRAGMENT_BUNDLE_SUBID,
                     mSil.get(position).getSubscriptionId());
-            WifiCallingSettingsForSub fragment = new WifiCallingSettingsForSub();
+            final WifiCallingSettingsForSub fragment = new WifiCallingSettingsForSub();
             fragment.setArguments(args);
 
             return fragment;
@@ -193,18 +193,6 @@
         }
     }
 
-    @VisibleForTesting
-    boolean isWfcEnabledByPlatform(SubscriptionInfo info) {
-        ImsManager imsManager = ImsManager.getInstance(getActivity(), info.getSimSlotIndex());
-        return imsManager.isWfcEnabledByPlatform();
-    }
-
-    @VisibleForTesting
-    boolean isWfcProvisionedOnDevice(SubscriptionInfo info) {
-        ImsManager imsManager = ImsManager.getInstance(getActivity(), info.getSimSlotIndex());
-        return imsManager.isWfcProvisionedOnDevice();
-    }
-
     private void updateSubList() {
         mSil = SubscriptionUtil.getActiveSubscriptions(
                 getContext().getSystemService(SubscriptionManager.class));
@@ -215,7 +203,7 @@
         }
         for (int i = 0; i < mSil.size(); ) {
             final SubscriptionInfo info = mSil.get(i);
-            if (!isWfcEnabledByPlatform(info) || !isWfcProvisionedOnDevice(info)) {
+            if (!queryImsState(info.getSubscriptionId()).isWifiCallingProvisioned()) {
                 mSil.remove(i);
             } else {
                 i++;
@@ -231,4 +219,9 @@
             getActivity().getActionBar().setTitle(title);
         }
     }
+
+    @VisibleForTesting
+    WifiCallingQueryImsState queryImsState(int subId) {
+        return new WifiCallingQueryImsState(getContext(), subId);
+    }
 }
diff --git a/src/com/android/settings/wifi/calling/WifiCallingSettingsForSub.java b/src/com/android/settings/wifi/calling/WifiCallingSettingsForSub.java
index 252193d..a00bb23 100644
--- a/src/com/android/settings/wifi/calling/WifiCallingSettingsForSub.java
+++ b/src/com/android/settings/wifi/calling/WifiCallingSettingsForSub.java
@@ -30,6 +30,8 @@
 import android.telephony.PhoneStateListener;
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
+import android.telephony.ims.ImsManager;
+import android.telephony.ims.ImsMmTelManager;
 import android.telephony.ims.ProvisioningManager;
 import android.text.TextUtils;
 import android.util.Log;
@@ -45,8 +47,6 @@
 import androidx.preference.PreferenceScreen;
 
 import com.android.ims.ImsConfig;
-import com.android.ims.ImsException;
-import com.android.ims.ImsManager;
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.telephony.Phone;
 import com.android.settings.R;
@@ -54,6 +54,9 @@
 import com.android.settings.SettingsPreferenceFragment;
 import com.android.settings.Utils;
 import com.android.settings.core.SubSettingLauncher;
+import com.android.settings.network.SubscriptionUtil;
+import com.android.settings.network.ims.WifiCallingQueryImsState;
+import com.android.settings.network.telephony.MobileNetworkUtils;
 import com.android.settings.widget.SwitchBar;
 
 /**
@@ -97,7 +100,9 @@
     private boolean mUseWfcHomeModeForRoaming = false;
 
     private int mSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
-    private ImsManager mImsManager;
+    private com.android.ims.ImsManager mImsManager;
+    private ImsMmTelManager mImsMmTelManager;
+    private ProvisioningManager mProvisioningManager;
     private TelephonyManager mTelephonyManager;
 
     private final PhoneStateListener mPhoneStateListener = new PhoneStateListener() {
@@ -110,11 +115,13 @@
         @Override
         public void onCallStateChanged(int state, String incomingNumber) {
             final SettingsActivity activity = (SettingsActivity) getActivity();
-            boolean isNonTtyOrTtyOnVolteEnabled = mImsManager.isNonTtyOrTtyOnVolteEnabled();
-            boolean isWfcEnabled = mSwitchBar.isChecked()
+            final boolean isNonTtyOrTtyOnVolteEnabled =
+                    queryImsState(WifiCallingSettingsForSub.this.mSubId).isAllowUserControl();
+            final boolean isWfcEnabled = mSwitchBar.isChecked()
                     && isNonTtyOrTtyOnVolteEnabled;
-
-            mSwitchBar.setEnabled((state == TelephonyManager.CALL_STATE_IDLE)
+            boolean isCallStateIdle =
+                    mTelephonyManager.getCallState() == TelephonyManager.CALL_STATE_IDLE;
+            mSwitchBar.setEnabled(isCallStateIdle
                     && isNonTtyOrTtyOnVolteEnabled);
 
             boolean isWfcModeEditable = true;
@@ -132,16 +139,16 @@
                 }
             }
 
-            Preference pref = getPreferenceScreen().findPreference(BUTTON_WFC_MODE);
+            final Preference pref = getPreferenceScreen().findPreference(BUTTON_WFC_MODE);
             if (pref != null) {
                 pref.setEnabled(isWfcEnabled && isWfcModeEditable
-                        && (state == TelephonyManager.CALL_STATE_IDLE));
+                        && isCallStateIdle);
             }
-            Preference pref_roam =
+            final Preference pref_roam =
                     getPreferenceScreen().findPreference(BUTTON_WFC_ROAMING_MODE);
             if (pref_roam != null) {
                 pref_roam.setEnabled(isWfcEnabled && isWfcRoamingModeEditable
-                        && (state == TelephonyManager.CALL_STATE_IDLE));
+                        && isCallStateIdle);
             }
         }
     };
@@ -151,7 +158,7 @@
      */
     private final OnPreferenceClickListener mUpdateAddressListener =
             preference -> {
-                Intent carrierAppIntent = getCarrierActivityIntent();
+                final Intent carrierAppIntent = getCarrierActivityIntent();
                 if (carrierAppIntent != null) {
                     carrierAppIntent.putExtra(EXTRA_LAUNCH_CARRIER_APP, LAUCH_APP_UPDATE);
                     startActivity(carrierAppIntent);
@@ -179,7 +186,7 @@
         mEmptyView = getView().findViewById(android.R.id.empty);
         setEmptyView(mEmptyView);
         final Resources res = getResourcesForSubId();
-        String emptyViewText = res.getString(R.string.wifi_calling_off_explanation,
+        final String emptyViewText = res.getString(R.string.wifi_calling_off_explanation,
                 res.getString(R.string.wifi_calling_off_explanation_2));
         mEmptyView.setText(emptyViewText);
 
@@ -195,17 +202,17 @@
     }
 
     private void showAlert(Intent intent) {
-        Context context = getActivity();
+        final Context context = getActivity();
 
-        CharSequence title = intent.getCharSequenceExtra(Phone.EXTRA_KEY_ALERT_TITLE);
-        CharSequence message = intent.getCharSequenceExtra(Phone.EXTRA_KEY_ALERT_MESSAGE);
+        final CharSequence title = intent.getCharSequenceExtra(Phone.EXTRA_KEY_ALERT_TITLE);
+        final CharSequence message = intent.getCharSequenceExtra(Phone.EXTRA_KEY_ALERT_MESSAGE);
 
-        AlertDialog.Builder builder = new AlertDialog.Builder(context);
+        final AlertDialog.Builder builder = new AlertDialog.Builder(context);
         builder.setMessage(message)
                 .setTitle(title)
                 .setIcon(android.R.drawable.ic_dialog_alert)
                 .setPositiveButton(android.R.string.ok, null);
-        AlertDialog dialog = builder.create();
+        final AlertDialog dialog = builder.create();
         dialog.show();
     }
 
@@ -214,8 +221,8 @@
     private BroadcastReceiver mIntentReceiver = new BroadcastReceiver() {
         @Override
         public void onReceive(Context context, Intent intent) {
-            String action = intent.getAction();
-            if (action.equals(ImsManager.ACTION_IMS_REGISTRATION_ERROR)) {
+            final String action = intent.getAction();
+            if (action.equals(ImsManager.ACTION_WFC_IMS_REGISTRATION_ERROR)) {
                 // If this fragment is active then we are immediately
                 // showing alert on screen. There is no need to add
                 // notification in this case.
@@ -241,8 +248,30 @@
     }
 
     @VisibleForTesting
-    ImsManager getImsManager() {
-        return ImsManager.getInstance(getActivity(), SubscriptionManager.getPhoneId(mSubId));
+    WifiCallingQueryImsState queryImsState(int subId) {
+        return new WifiCallingQueryImsState(getContext(), subId);
+    }
+
+    @VisibleForTesting
+    ProvisioningManager getImsProvisioningManager() {
+        if (!SubscriptionManager.isValidSubscriptionId(mSubId)) {
+            return null;
+        }
+        return ProvisioningManager.createForSubscriptionId(mSubId);
+    }
+
+    @VisibleForTesting
+    com.android.ims.ImsManager getImsManager() {
+        return com.android.ims.ImsManager.getInstance(getActivity(),
+                SubscriptionUtil.getPhoneId(getActivity(), mSubId));
+    }
+
+    @VisibleForTesting
+    ImsMmTelManager getImsMmTelManager() {
+        if (!SubscriptionManager.isValidSubscriptionId(mSubId)) {
+            return null;
+        }
+        return ImsMmTelManager.createForSubscriptionId(mSubId);
     }
 
     @Override
@@ -261,9 +290,10 @@
         }
 
         mImsManager = getImsManager();
+        mProvisioningManager = getImsProvisioningManager();
+        mImsMmTelManager = getImsMmTelManager();
 
-        mTelephonyManager = ((TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE))
-                .createForSubscriptionId(mSubId);
+        mTelephonyManager = getActivity().getSystemService(TelephonyManager.class);
 
         mButtonWfcMode = findPreference(BUTTON_WFC_MODE);
         mButtonWfcMode.setOnPreferenceChangeListener(this);
@@ -275,7 +305,7 @@
         mUpdateAddress.setOnPreferenceClickListener(mUpdateAddressListener);
 
         mIntentFilter = new IntentFilter();
-        mIntentFilter.addAction(ImsManager.ACTION_IMS_REGISTRATION_ERROR);
+        mIntentFilter.addAction(ImsManager.ACTION_WFC_IMS_REGISTRATION_ERROR);
     }
 
     @Override
@@ -288,31 +318,36 @@
     public View onCreateView(LayoutInflater inflater, ViewGroup container,
             Bundle savedInstanceState) {
 
-        View view = inflater.inflate(
+        final View view = inflater.inflate(
                 R.layout.wifi_calling_settings_preferences, container, false);
 
         final ViewGroup prefs_container = view.findViewById(R.id.prefs_container);
         Utils.prepareCustomPreferencesList(container, view, prefs_container, false);
-        View prefs = super.onCreateView(inflater, prefs_container, savedInstanceState);
+        final View prefs = super.onCreateView(inflater, prefs_container, savedInstanceState);
         prefs_container.addView(prefs);
 
         return view;
     }
 
+    @VisibleForTesting
+    boolean isWfcProvisionedOnDevice() {
+        return MobileNetworkUtils.isWfcProvisionedOnDevice(mSubId);
+    }
+
     private void updateBody() {
-        if (!mImsManager.isWfcProvisionedOnDevice()) {
+        if (!isWfcProvisionedOnDevice()) {
             // This screen is not allowed to be shown due to provisioning policy and should
             // therefore be closed.
             finish();
             return;
         }
 
-        CarrierConfigManager configManager = (CarrierConfigManager)
+        final CarrierConfigManager configManager = (CarrierConfigManager)
                 getSystemService(Context.CARRIER_CONFIG_SERVICE);
         boolean isWifiOnlySupported = true;
 
         if (configManager != null) {
-            PersistableBundle b = configManager.getConfigForSubId(mSubId);
+            final PersistableBundle b = configManager.getConfigForSubId(mSubId);
             if (b != null) {
                 mEditableWfcMode = b.getBoolean(
                         CarrierConfigManager.KEY_EDITABLE_WFC_MODE_BOOL);
@@ -326,26 +361,53 @@
             }
         }
 
-        if (!isWifiOnlySupported) {
-            mButtonWfcMode.setEntries(R.array.wifi_calling_mode_choices_without_wifi_only);
-            mButtonWfcMode.setEntryValues(R.array.wifi_calling_mode_values_without_wifi_only);
-            mButtonWfcMode.setEntrySummaries(R.array.wifi_calling_mode_summaries_without_wifi_only);
+        final Resources res = getResourcesForSubId();
+        mButtonWfcMode.setTitle(res.getString(R.string.wifi_calling_mode_title));
+        mButtonWfcMode.setDialogTitle(res.getString(R.string.wifi_calling_mode_dialog_title));
+        mButtonWfcRoamingMode.setTitle(res.getString(R.string.wifi_calling_roaming_mode_title));
+        mButtonWfcRoamingMode.setDialogTitle(
+                res.getString(R.string.wifi_calling_roaming_mode_dialog_title));
 
+        if (isWifiOnlySupported) {
+            // Set string resources WITH option wifi only in mButtonWfcMode.
+            mButtonWfcMode.setEntries(
+                    res.getStringArray(R.array.wifi_calling_mode_choices));
+            mButtonWfcMode.setEntryValues(res.getStringArray(R.array.wifi_calling_mode_values));
+            mButtonWfcMode.setEntrySummaries(
+                    res.getStringArray(R.array.wifi_calling_mode_summaries));
+
+            // Set string resources WITH option wifi only in mButtonWfcRoamingMode.
             mButtonWfcRoamingMode.setEntries(
-                    R.array.wifi_calling_mode_choices_v2_without_wifi_only);
+                    res.getStringArray(R.array.wifi_calling_mode_choices_v2));
             mButtonWfcRoamingMode.setEntryValues(
-                    R.array.wifi_calling_mode_values_without_wifi_only);
+                    res.getStringArray(R.array.wifi_calling_mode_values));
             mButtonWfcRoamingMode.setEntrySummaries(
-                    R.array.wifi_calling_mode_summaries_without_wifi_only);
+                    res.getStringArray(R.array.wifi_calling_mode_summaries));
+        } else {
+            // Set string resources WITHOUT option wifi only in mButtonWfcMode.
+            mButtonWfcMode.setEntries(
+                    res.getStringArray(R.array.wifi_calling_mode_choices_without_wifi_only));
+            mButtonWfcMode.setEntryValues(
+                    res.getStringArray(R.array.wifi_calling_mode_values_without_wifi_only));
+            mButtonWfcMode.setEntrySummaries(
+                    res.getStringArray(R.array.wifi_calling_mode_summaries_without_wifi_only));
+
+            // Set string resources WITHOUT option wifi only in mButtonWfcRoamingMode.
+            mButtonWfcRoamingMode.setEntries(
+                    res.getStringArray(R.array.wifi_calling_mode_choices_v2_without_wifi_only));
+            mButtonWfcRoamingMode.setEntryValues(
+                    res.getStringArray(R.array.wifi_calling_mode_values_without_wifi_only));
+            mButtonWfcRoamingMode.setEntrySummaries(
+                    res.getStringArray(R.array.wifi_calling_mode_summaries_without_wifi_only));
         }
 
-
         // NOTE: Buttons will be enabled/disabled in mPhoneStateListener
-        boolean wfcEnabled = mImsManager.isWfcEnabledByUser()
-                && mImsManager.isNonTtyOrTtyOnVolteEnabled();
+        final WifiCallingQueryImsState queryIms = queryImsState(mSubId);
+        final boolean wfcEnabled = queryIms.isEnabledByUser()
+                && queryIms.isAllowUserControl();
         mSwitch.setChecked(wfcEnabled);
-        int wfcMode = mImsManager.getWfcMode(false);
-        int wfcRoamingMode = mImsManager.getWfcMode(true);
+        final int wfcMode = mImsMmTelManager.getVoWiFiModeSetting();
+        final int wfcRoamingMode = mImsMmTelManager.getVoWiFiRoamingModeSetting();
         mButtonWfcMode.setValue(Integer.toString(wfcMode));
         mButtonWfcRoamingMode.setValue(Integer.toString(wfcRoamingMode));
         updateButtonWfcMode(wfcEnabled, wfcMode, wfcRoamingMode);
@@ -355,8 +417,6 @@
     public void onResume() {
         super.onResume();
 
-        final Context context = getActivity();
-
         updateBody();
 
         if (mImsManager.isWfcEnabledByPlatform()) {
@@ -367,20 +427,16 @@
             mValidListener = true;
         }
 
+        final Context context = getActivity();
         context.registerReceiver(mIntentReceiver, mIntentFilter);
 
-        Intent intent = getActivity().getIntent();
+        final Intent intent = getActivity().getIntent();
         if (intent.getBooleanExtra(Phone.EXTRA_KEY_ALERT_SHOW, false)) {
             showAlert(intent);
         }
 
         // Register callback for provisioning changes.
-        try {
-            mImsManager.getConfigInterface().addConfigCallback(mProvisioningCallback);
-        } catch (ImsException e) {
-            Log.w(TAG, "onResume: Unable to register callback for provisioning changes.");
-        }
-
+        registerProvisioningChangedCallback();
     }
 
     @Override
@@ -392,8 +448,7 @@
         if (mValidListener) {
             mValidListener = false;
 
-            TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
-            tm.listen(mPhoneStateListener, PhoneStateListener.LISTEN_NONE);
+            mTelephonyManager.listen(mPhoneStateListener, PhoneStateListener.LISTEN_NONE);
 
             mSwitchBar.removeOnSwitchChangeListener(this);
         }
@@ -401,13 +456,7 @@
         context.unregisterReceiver(mIntentReceiver);
 
         // Remove callback for provisioning changes.
-        try {
-            mImsManager.getConfigInterface().removeConfigCallback(
-                    mProvisioningCallback.getBinder());
-        } catch (ImsException e) {
-            Log.w(TAG, "onPause: Unable to remove callback for provisioning changes");
-        }
-
+        unregisterProvisioningChangedCallback();
     }
 
     /**
@@ -441,22 +490,22 @@
      */
     private Intent getCarrierActivityIntent() {
         // Retrive component name from carrier config
-        CarrierConfigManager configManager =
+        final CarrierConfigManager configManager =
                 getActivity().getSystemService(CarrierConfigManager.class);
         if (configManager == null) return null;
 
-        PersistableBundle bundle = configManager.getConfigForSubId(mSubId);
+        final PersistableBundle bundle = configManager.getConfigForSubId(mSubId);
         if (bundle == null) return null;
 
-        String carrierApp = bundle.getString(
+        final String carrierApp = bundle.getString(
                 CarrierConfigManager.KEY_WFC_EMERGENCY_ADDRESS_CARRIER_APP_STRING);
         if (TextUtils.isEmpty(carrierApp)) return null;
 
-        ComponentName componentName = ComponentName.unflattenFromString(carrierApp);
+        final ComponentName componentName = ComponentName.unflattenFromString(carrierApp);
         if (componentName == null) return null;
 
         // Build and return intent
-        Intent intent = new Intent();
+        final Intent intent = new Intent();
         intent.setComponent(componentName);
         intent.putExtra(SubscriptionManager.EXTRA_SUBSCRIPTION_INDEX, mSubId);
         return intent;
@@ -467,10 +516,10 @@
      */
     private void updateWfcMode(boolean wfcEnabled) {
         Log.i(TAG, "updateWfcMode(" + wfcEnabled + ")");
-        mImsManager.setWfcSetting(wfcEnabled);
+        mImsMmTelManager.setVoWiFiSettingEnabled(wfcEnabled);
 
-        int wfcMode = mImsManager.getWfcMode(false);
-        int wfcRoamingMode = mImsManager.getWfcMode(true);
+        final int wfcMode = mImsMmTelManager.getVoWiFiModeSetting();
+        final int wfcRoamingMode = mImsMmTelManager.getVoWiFiRoamingModeSetting();
         updateButtonWfcMode(wfcEnabled, wfcMode, wfcRoamingMode);
         if (wfcEnabled) {
             mMetricsFeatureProvider.action(getActivity(), getMetricsCategory(), wfcMode);
@@ -483,8 +532,6 @@
     public void onActivityResult(int requestCode, int resultCode, Intent data) {
         super.onActivityResult(requestCode, resultCode, data);
 
-        final Context context = getActivity();
-
         Log.d(TAG, "WFC activity request = " + requestCode + " result = " + resultCode);
 
         switch (requestCode) {
@@ -496,7 +543,7 @@
             case REQUEST_CHECK_WFC_DISCLAIMER:
                 if (resultCode == Activity.RESULT_OK) {
                     // Call address management activity before turning on WFC
-                    Intent carrierAppIntent = getCarrierActivityIntent();
+                    final Intent carrierAppIntent = getCarrierActivityIntent();
                     if (carrierAppIntent != null) {
                         carrierAppIntent.putExtra(EXTRA_LAUNCH_CARRIER_APP, LAUCH_APP_ACTIVATE);
                         startActivityForResult(carrierAppIntent,
@@ -520,7 +567,7 @@
         mButtonWfcRoamingMode.setEnabled(wfcEnabled && mEditableWfcRoamingMode);
 
         final PreferenceScreen preferenceScreen = getPreferenceScreen();
-        boolean updateAddressEnabled = (getCarrierActivityIntent() != null);
+        final boolean updateAddressEnabled = (getCarrierActivityIntent() != null);
         if (wfcEnabled) {
             if (mEditableWfcMode) {
                 preferenceScreen.addPreference(mButtonWfcMode);
@@ -551,24 +598,24 @@
         if (preference == mButtonWfcMode) {
             Log.d(TAG, "onPreferenceChange mButtonWfcMode " + newValue);
             mButtonWfcMode.setValue((String) newValue);
-            int buttonMode = Integer.valueOf((String) newValue);
-            int currentWfcMode = mImsManager.getWfcMode(false);
+            final int buttonMode = Integer.valueOf((String) newValue);
+            final int currentWfcMode = mImsMmTelManager.getVoWiFiModeSetting();
             if (buttonMode != currentWfcMode) {
-                mImsManager.setWfcMode(buttonMode, false);
+                mImsMmTelManager.setVoWiFiModeSetting(buttonMode);
                 mButtonWfcMode.setSummary(getWfcModeSummary(buttonMode));
                 mMetricsFeatureProvider.action(getActivity(), getMetricsCategory(), buttonMode);
 
                 if (mUseWfcHomeModeForRoaming) {
-                    mImsManager.setWfcMode(buttonMode, true);
+                    mImsMmTelManager.setVoWiFiRoamingModeSetting(buttonMode);
                     // mButtonWfcRoamingMode.setSummary is not needed; summary is selected value
                 }
             }
         } else if (preference == mButtonWfcRoamingMode) {
             mButtonWfcRoamingMode.setValue((String) newValue);
-            int buttonMode = Integer.valueOf((String) newValue);
-            int currentMode = mImsManager.getWfcMode(true);
+            final int buttonMode = Integer.valueOf((String) newValue);
+            final int currentMode = mImsMmTelManager.getVoWiFiRoamingModeSetting();
             if (buttonMode != currentMode) {
-                mImsManager.setWfcMode(buttonMode, true);
+                mImsMmTelManager.setVoWiFiRoamingModeSetting(buttonMode);
                 // mButtonWfcRoamingMode.setSummary is not needed; summary is just selected value.
                 mMetricsFeatureProvider.action(getActivity(), getMetricsCategory(), buttonMode);
             }
@@ -576,28 +623,49 @@
         return true;
     }
 
-    private int getWfcModeSummary(int wfcMode) {
+    private CharSequence getWfcModeSummary(int wfcMode) {
         int resId = com.android.internal.R.string.wifi_calling_off_summary;
-        if (mImsManager.isWfcEnabledByUser()) {
+        if (queryImsState(mSubId).isEnabledByUser()) {
             switch (wfcMode) {
-                case ImsConfig.WfcModeFeatureValueConstants.WIFI_ONLY:
+                case ImsMmTelManager.WIFI_MODE_WIFI_ONLY:
                     resId = com.android.internal.R.string.wfc_mode_wifi_only_summary;
                     break;
-                case ImsConfig.WfcModeFeatureValueConstants.CELLULAR_PREFERRED:
+                case ImsMmTelManager.WIFI_MODE_CELLULAR_PREFERRED:
                     resId = com.android.internal.R.string.wfc_mode_cellular_preferred_summary;
                     break;
-                case ImsConfig.WfcModeFeatureValueConstants.WIFI_PREFERRED:
+                case ImsMmTelManager.WIFI_MODE_WIFI_PREFERRED:
                     resId = com.android.internal.R.string.wfc_mode_wifi_preferred_summary;
                     break;
                 default:
                     Log.e(TAG, "Unexpected WFC mode value: " + wfcMode);
             }
         }
-        return resId;
+        return getResourcesForSubId().getString(resId);
     }
 
     @VisibleForTesting
     Resources getResourcesForSubId() {
-        return SubscriptionManager.getResourcesForSubId(getContext(), mSubId, false);
+        return SubscriptionManager.getResourcesForSubId(getContext(), mSubId);
+    }
+
+    @VisibleForTesting
+    void registerProvisioningChangedCallback() {
+        if (mProvisioningManager == null) {
+            return;
+        }
+        try {
+            mProvisioningManager.registerProvisioningChangedCallback(getContext().getMainExecutor(),
+                    mProvisioningCallback);
+        } catch (Exception ex) {
+            Log.w(TAG, "onResume: Unable to register callback for provisioning changes.");
+        }
+    }
+
+    @VisibleForTesting
+    void unregisterProvisioningChangedCallback() {
+        if (mProvisioningManager == null) {
+            return;
+        }
+        mProvisioningManager.unregisterProvisioningChangedCallback(mProvisioningCallback);
     }
 }
diff --git a/src/com/android/settings/wifi/calling/WifiCallingSliceHelper.java b/src/com/android/settings/wifi/calling/WifiCallingSliceHelper.java
index 70eef2c..69adf55 100644
--- a/src/com/android/settings/wifi/calling/WifiCallingSliceHelper.java
+++ b/src/com/android/settings/wifi/calling/WifiCallingSliceHelper.java
@@ -25,11 +25,13 @@
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
+import android.content.res.Resources;
 import android.net.Uri;
 import android.os.PersistableBundle;
 import android.provider.Settings;
 import android.telephony.CarrierConfigManager;
 import android.telephony.SubscriptionManager;
+import android.telephony.ims.ImsMmTelManager;
 import android.text.TextUtils;
 import android.util.Log;
 
@@ -41,9 +43,9 @@
 import androidx.slice.builders.SliceAction;
 
 import com.android.ims.ImsConfig;
-import com.android.ims.ImsManager;
 import com.android.settings.R;
 import com.android.settings.Utils;
+import com.android.settings.network.ims.WifiCallingQueryImsState;
 import com.android.settings.slices.SliceBroadcastReceiver;
 
 import java.util.concurrent.Callable;
@@ -130,69 +132,52 @@
     public Slice createWifiCallingSlice(Uri sliceUri) {
         final int subId = getDefaultVoiceSubId();
 
-        if (subId <= SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
+        if (!SubscriptionManager.isValidSubscriptionId(subId)) {
             Log.d(TAG, "Invalid subscription Id");
             return null;
         }
 
-        final ImsManager imsManager = getImsManager(subId);
-
-        if (!imsManager.isWfcEnabledByPlatform()
-                || !imsManager.isWfcProvisionedOnDevice()) {
+        if (!queryImsState(subId).isWifiCallingProvisioned()) {
             Log.d(TAG, "Wifi calling is either not provisioned or not enabled by Platform");
             return null;
         }
 
-        try {
-            final boolean isWifiCallingEnabled = isWifiCallingEnabled(imsManager);
-            final Intent activationAppIntent =
-                    getWifiCallingCarrierActivityIntent(subId);
+        final boolean isWifiCallingEnabled = isWifiCallingEnabled();
+        final Intent activationAppIntent =
+                getWifiCallingCarrierActivityIntent(subId);
 
-            // Send this actionable wifi calling slice to toggle the setting
-            // only when there is no need for wifi calling activation with the server
-            if (activationAppIntent != null && !isWifiCallingEnabled) {
-                Log.d(TAG, "Needs Activation");
-                // Activation needed for the next action of the user
-                // Give instructions to go to settings app
-                return getNonActionableWifiCallingSlice(
-                        mContext.getText(R.string.wifi_calling_settings_title),
-                        mContext.getText(
-                                R.string.wifi_calling_settings_activation_instructions),
-                        sliceUri, getActivityIntent(ACTION_WIFI_CALLING_SETTINGS_ACTIVITY));
-            }
-            return getWifiCallingSlice(sliceUri, isWifiCallingEnabled);
-        } catch (InterruptedException | TimeoutException | ExecutionException e) {
-            Log.e(TAG, "Unable to read the current WiFi calling status", e);
-            return null;
+        // Send this actionable wifi calling slice to toggle the setting
+        // only when there is no need for wifi calling activation with the server
+        if (activationAppIntent != null && !isWifiCallingEnabled) {
+            Log.d(TAG, "Needs Activation");
+            // Activation needed for the next action of the user
+            // Give instructions to go to settings app
+            final Resources res = getResourcesForSubId(subId);
+            return getNonActionableWifiCallingSlice(
+                    res.getText(R.string.wifi_calling_settings_title),
+                    res.getText(R.string.wifi_calling_settings_activation_instructions),
+                    sliceUri, getActivityIntent(ACTION_WIFI_CALLING_SETTINGS_ACTIVITY));
         }
+        return getWifiCallingSlice(sliceUri, isWifiCallingEnabled, subId);
     }
 
-    private boolean isWifiCallingEnabled(ImsManager imsManager)
-            throws InterruptedException, ExecutionException, TimeoutException {
-        final FutureTask<Boolean> isWifiOnTask = new FutureTask<>(new Callable<Boolean>() {
-            @Override
-            public Boolean call() {
-                return imsManager.isWfcEnabledByUser();
-            }
-        });
-        final ExecutorService executor = Executors.newSingleThreadExecutor();
-        executor.execute(isWifiOnTask);
-
-        return isWifiOnTask.get(TIMEOUT_MILLIS, TimeUnit.MILLISECONDS)
-                && imsManager.isNonTtyOrTtyOnVolteEnabled();
+    private boolean isWifiCallingEnabled() {
+        final WifiCallingQueryImsState queryState = queryImsState(getDefaultVoiceSubId());
+        return queryState.isEnabledByUser() && queryState.isAllowUserControl();
     }
 
     /**
      * Builds a toggle slice where the intent takes you to the wifi calling page and the toggle
      * enables/disables wifi calling.
      */
-    private Slice getWifiCallingSlice(Uri sliceUri, boolean isWifiCallingEnabled) {
+    private Slice getWifiCallingSlice(Uri sliceUri, boolean isWifiCallingEnabled, int subId) {
         final IconCompat icon = IconCompat.createWithResource(mContext, R.drawable.wifi_signal);
+        final Resources res = getResourcesForSubId(subId);
 
         return new ListBuilder(mContext, sliceUri, ListBuilder.INFINITY)
                 .setAccentColor(Utils.getColorAccentDefaultColor(mContext))
                 .addRow(new RowBuilder()
-                        .setTitle(mContext.getText(R.string.wifi_calling_settings_title))
+                        .setTitle(res.getText(R.string.wifi_calling_settings_title))
                         .addEndItem(
                                 SliceAction.createToggle(
                                         getBroadcastIntent(ACTION_WIFI_CALLING_CHANGED),
@@ -201,7 +186,7 @@
                                 getActivityIntent(ACTION_WIFI_CALLING_SETTINGS_ACTIVITY),
                                 icon,
                                 ListBuilder.ICON_IMAGE,
-                                mContext.getText(R.string.wifi_calling_settings_title))))
+                                res.getText(R.string.wifi_calling_settings_title))))
                 .build();
     }
 
@@ -223,7 +208,7 @@
     public Slice createWifiCallingPreferenceSlice(Uri sliceUri) {
         final int subId = getDefaultVoiceSubId();
 
-        if (subId <= SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
+        if (!SubscriptionManager.isValidSubscriptionId(subId)) {
             Log.d(TAG, "Invalid Subscription Id");
             return null;
         }
@@ -232,38 +217,38 @@
                 CarrierConfigManager.KEY_EDITABLE_WFC_MODE_BOOL, subId, false);
         final boolean isWifiOnlySupported = isCarrierConfigManagerKeyEnabled(
                 CarrierConfigManager.KEY_CARRIER_WFC_SUPPORTS_WIFI_ONLY_BOOL, subId, true);
-        final ImsManager imsManager = getImsManager(subId);
-
-        if (!imsManager.isWfcEnabledByPlatform()
-                || !imsManager.isWfcProvisionedOnDevice()) {
-            Log.d(TAG, "Wifi calling is either not provisioned or not enabled by platform");
-            return null;
-        }
 
         if (!isWifiCallingPrefEditable) {
             Log.d(TAG, "Wifi calling preference is not editable");
             return null;
         }
 
+        if (!queryImsState(subId).isWifiCallingProvisioned()) {
+            Log.d(TAG, "Wifi calling is either not provisioned or not enabled by platform");
+            return null;
+        }
+
         boolean isWifiCallingEnabled = false;
         int wfcMode = -1;
         try {
-            isWifiCallingEnabled = isWifiCallingEnabled(imsManager);
-            wfcMode = getWfcMode(imsManager);
+            final ImsMmTelManager imsMmTelManager = getImsMmTelManager(subId);
+            isWifiCallingEnabled = isWifiCallingEnabled();
+            wfcMode = getWfcMode(imsMmTelManager);
         } catch (InterruptedException | ExecutionException | TimeoutException e) {
             Log.e(TAG, "Unable to get wifi calling preferred mode", e);
             return null;
         }
         if (!isWifiCallingEnabled) {
             // wifi calling is not enabled. Ask user to enable wifi calling
+            final Resources res = getResourcesForSubId(subId);
             return getNonActionableWifiCallingSlice(
-                    mContext.getText(R.string.wifi_calling_mode_title),
-                    mContext.getText(R.string.wifi_calling_turn_on),
+                    res.getText(R.string.wifi_calling_mode_title),
+                    res.getText(R.string.wifi_calling_turn_on),
                     sliceUri, getActivityIntent(ACTION_WIFI_CALLING_SETTINGS_ACTIVITY));
         }
         // Return the slice to change wifi calling preference
         return getWifiCallingPreferenceSlice(
-                isWifiOnlySupported, wfcMode, sliceUri);
+                isWifiOnlySupported, wfcMode, sliceUri, subId);
     }
 
     /**
@@ -272,40 +257,43 @@
      * @param isWifiOnlySupported adds row for wifi only if this is true
      * @param currentWfcPref      current Preference {@link ImsConfig}
      * @param sliceUri            sliceUri
+     * @param subId               subscription id
      * @return Slice for actionable wifi calling preference settings
      */
     private Slice getWifiCallingPreferenceSlice(boolean isWifiOnlySupported,
             int currentWfcPref,
-            Uri sliceUri) {
+            Uri sliceUri,
+            int subId) {
         final IconCompat icon = IconCompat.createWithResource(mContext, R.drawable.wifi_signal);
+        final Resources res = getResourcesForSubId(subId);
         // Top row shows information on current preference state
-        ListBuilder listBuilder = new ListBuilder(mContext, sliceUri, ListBuilder.INFINITY)
+        final ListBuilder listBuilder = new ListBuilder(mContext, sliceUri, ListBuilder.INFINITY)
                 .setAccentColor(Utils.getColorAccentDefaultColor(mContext));
         listBuilder.setHeader(new ListBuilder.HeaderBuilder()
-                .setTitle(mContext.getText(R.string.wifi_calling_mode_title))
-                .setSubtitle(getWifiCallingPreferenceSummary(currentWfcPref))
+                .setTitle(res.getText(R.string.wifi_calling_mode_title))
+                .setSubtitle(getWifiCallingPreferenceSummary(currentWfcPref, subId))
                 .setPrimaryAction(SliceAction.createDeeplink(
                         getActivityIntent(ACTION_WIFI_CALLING_SETTINGS_ACTIVITY),
                         icon,
                         ListBuilder.ICON_IMAGE,
-                        mContext.getText(R.string.wifi_calling_mode_title))));
+                        res.getText(R.string.wifi_calling_mode_title))));
 
         if (isWifiOnlySupported) {
             listBuilder.addRow(wifiPreferenceRowBuilder(listBuilder,
                     com.android.internal.R.string.wfc_mode_wifi_only_summary,
                     ACTION_WIFI_CALLING_PREFERENCE_WIFI_ONLY,
-                    currentWfcPref == ImsConfig.WfcModeFeatureValueConstants.WIFI_ONLY));
+                    currentWfcPref == ImsMmTelManager.WIFI_MODE_WIFI_ONLY, subId));
         }
 
         listBuilder.addRow(wifiPreferenceRowBuilder(listBuilder,
                 com.android.internal.R.string.wfc_mode_wifi_preferred_summary,
                 ACTION_WIFI_CALLING_PREFERENCE_WIFI_PREFERRED,
-                currentWfcPref == ImsConfig.WfcModeFeatureValueConstants.WIFI_PREFERRED));
+                currentWfcPref == ImsMmTelManager.WIFI_MODE_WIFI_PREFERRED, subId));
 
         listBuilder.addRow(wifiPreferenceRowBuilder(listBuilder,
                 com.android.internal.R.string.wfc_mode_cellular_preferred_summary,
                 ACTION_WIFI_CALLING_PREFERENCE_CELLULAR_PREFERRED,
-                currentWfcPref == ImsConfig.WfcModeFeatureValueConstants.CELLULAR_PREFERRED));
+                currentWfcPref == ImsMmTelManager.WIFI_MODE_CELLULAR_PREFERRED, subId));
 
         return listBuilder.build();
     }
@@ -316,16 +304,18 @@
      * @param listBuilder          ListBuilder that will be the parent for this RowBuilder
      * @param preferenceTitleResId resource Id for the preference row title
      * @param action               action to be added for the row
+     * @param subId                subscription id
      * @return RowBuilder for the row
      */
     private RowBuilder wifiPreferenceRowBuilder(ListBuilder listBuilder,
-            int preferenceTitleResId, String action, boolean checked) {
+            int preferenceTitleResId, String action, boolean checked, int subId) {
         final IconCompat icon =
                 IconCompat.createWithResource(mContext, R.drawable.radio_button_check);
+        final Resources res = getResourcesForSubId(subId);
         return new RowBuilder()
-                .setTitle(mContext.getText(preferenceTitleResId))
+                .setTitle(res.getText(preferenceTitleResId))
                 .setTitleItem(SliceAction.createToggle(getBroadcastIntent(action),
-                        icon, mContext.getText(preferenceTitleResId), checked));
+                        icon, res.getText(preferenceTitleResId), checked));
     }
 
 
@@ -335,35 +325,36 @@
      * @param wfcMode ImsConfig constant for the preference {@link ImsConfig}
      * @return summary/name of the wifi calling preference
      */
-    private CharSequence getWifiCallingPreferenceSummary(int wfcMode) {
+    private CharSequence getWifiCallingPreferenceSummary(int wfcMode, int subId) {
+        final Resources res = getResourcesForSubId(subId);
         switch (wfcMode) {
-            case ImsConfig.WfcModeFeatureValueConstants.WIFI_ONLY:
-                return mContext.getText(
+            case ImsMmTelManager.WIFI_MODE_WIFI_ONLY:
+                return res.getText(
                         com.android.internal.R.string.wfc_mode_wifi_only_summary);
-            case ImsConfig.WfcModeFeatureValueConstants.WIFI_PREFERRED:
-                return mContext.getText(
+            case ImsMmTelManager.WIFI_MODE_WIFI_PREFERRED:
+                return res.getText(
                         com.android.internal.R.string.wfc_mode_wifi_preferred_summary);
-            case ImsConfig.WfcModeFeatureValueConstants.CELLULAR_PREFERRED:
-                return mContext.getText(
+            case ImsMmTelManager.WIFI_MODE_CELLULAR_PREFERRED:
+                return res.getText(
                         com.android.internal.R.string.wfc_mode_cellular_preferred_summary);
             default:
                 return null;
         }
     }
 
-    protected ImsManager getImsManager(int subId) {
-        return ImsManager.getInstance(mContext, SubscriptionManager.getPhoneId(subId));
+    protected ImsMmTelManager getImsMmTelManager(int subId) {
+        return ImsMmTelManager.createForSubscriptionId(subId);
     }
 
-    private int getWfcMode(ImsManager imsManager)
+    private int getWfcMode(ImsMmTelManager imsMmTelManager)
             throws InterruptedException, ExecutionException, TimeoutException {
-        FutureTask<Integer> wfcModeTask = new FutureTask<>(new Callable<Integer>() {
+        final FutureTask<Integer> wfcModeTask = new FutureTask<>(new Callable<Integer>() {
             @Override
             public Integer call() {
-                return imsManager.getWfcMode(false);
+                return imsMmTelManager.getVoWiFiModeSetting();
             }
         });
-        ExecutorService executor = Executors.newSingleThreadExecutor();
+        final ExecutorService executor = Executors.newSingleThreadExecutor();
         executor.execute(wfcModeTask);
         return wfcModeTask.get(TIMEOUT_MILLIS, TimeUnit.MILLISECONDS);
     }
@@ -377,12 +368,11 @@
     public void handleWifiCallingChanged(Intent intent) {
         final int subId = getDefaultVoiceSubId();
 
-        if (subId > SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
-            final ImsManager imsManager = getImsManager(subId);
-            if (imsManager.isWfcEnabledByPlatform()
-                    && imsManager.isWfcProvisionedOnDevice()) {
-                final boolean currentValue = imsManager.isWfcEnabledByUser()
-                        && imsManager.isNonTtyOrTtyOnVolteEnabled();
+        if (SubscriptionManager.isValidSubscriptionId(subId)) {
+            final WifiCallingQueryImsState queryState = queryImsState(subId);
+            if (queryState.isWifiCallingProvisioned()) {
+                final boolean currentValue = queryState.isEnabledByUser()
+                        && queryState.isAllowUserControl();
                 final boolean newValue = intent.getBooleanExtra(EXTRA_TOGGLE_STATE,
                         currentValue);
                 final Intent activationAppIntent =
@@ -391,7 +381,8 @@
                     // If either the action is to turn off wifi calling setting
                     // or there is no activation involved - Update the setting
                     if (newValue != currentValue) {
-                        imsManager.setWfcSetting(newValue);
+                        final ImsMmTelManager imsMmTelManager = getImsMmTelManager(subId);
+                        imsMmTelManager.setVoWiFiSettingEnabled(newValue);
                     }
                 }
             }
@@ -414,39 +405,39 @@
         final int subId = getDefaultVoiceSubId();
         final int errorValue = -1;
 
-        if (subId > SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
+        if (SubscriptionManager.isValidSubscriptionId(subId)) {
             final boolean isWifiCallingPrefEditable = isCarrierConfigManagerKeyEnabled(
                     CarrierConfigManager.KEY_EDITABLE_WFC_MODE_BOOL, subId, false);
             final boolean isWifiOnlySupported = isCarrierConfigManagerKeyEnabled(
                     CarrierConfigManager.KEY_CARRIER_WFC_SUPPORTS_WIFI_ONLY_BOOL, subId, true);
 
-            ImsManager imsManager = getImsManager(subId);
+            final WifiCallingQueryImsState queryState = queryImsState(subId);
             if (isWifiCallingPrefEditable
-                    && imsManager.isWfcEnabledByPlatform()
-                    && imsManager.isWfcProvisionedOnDevice()
-                    && imsManager.isWfcEnabledByUser()
-                    && imsManager.isNonTtyOrTtyOnVolteEnabled()) {
+                    && queryState.isWifiCallingProvisioned()
+                    && queryState.isEnabledByUser()
+                    && queryState.isAllowUserControl()) {
                 // Change the preference only when wifi calling is enabled
                 // And when wifi calling preference is editable for the current carrier
-                final int currentValue = imsManager.getWfcMode(false);
+                final ImsMmTelManager imsMmTelManager = getImsMmTelManager(subId);
+                final int currentValue = imsMmTelManager.getVoWiFiModeSetting();
                 int newValue = errorValue;
                 switch (intent.getAction()) {
                     case ACTION_WIFI_CALLING_PREFERENCE_WIFI_ONLY:
                         if (isWifiOnlySupported) {
                             // change to wifi_only when wifi_only is enabled.
-                            newValue = ImsConfig.WfcModeFeatureValueConstants.WIFI_ONLY;
+                            newValue = ImsMmTelManager.WIFI_MODE_WIFI_ONLY;
                         }
                         break;
                     case ACTION_WIFI_CALLING_PREFERENCE_WIFI_PREFERRED:
-                        newValue = ImsConfig.WfcModeFeatureValueConstants.WIFI_PREFERRED;
+                        newValue = ImsMmTelManager.WIFI_MODE_WIFI_PREFERRED;
                         break;
                     case ACTION_WIFI_CALLING_PREFERENCE_CELLULAR_PREFERRED:
-                        newValue = ImsConfig.WfcModeFeatureValueConstants.CELLULAR_PREFERRED;
+                        newValue = ImsMmTelManager.WIFI_MODE_CELLULAR_PREFERRED;
                         break;
                 }
                 if (newValue != errorValue && newValue != currentValue) {
                     // Update the setting only when there is a valid update
-                    imsManager.setWfcMode(newValue, false);
+                    imsMmTelManager.setVoWiFiModeSetting(newValue);
                 }
             }
         }
@@ -560,4 +551,13 @@
         intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
         return PendingIntent.getActivity(mContext, 0 /* requestCode */, intent, 0 /* flags */);
     }
+
+    private Resources getResourcesForSubId(int subId) {
+        return SubscriptionManager.getResourcesForSubId(mContext, subId);
+    }
+
+    @VisibleForTesting
+    WifiCallingQueryImsState queryImsState(int subId) {
+        return new WifiCallingQueryImsState(mContext, subId);
+    }
 }
diff --git a/src/com/android/settings/wifi/calling/WifiCallingSuggestionActivity.java b/src/com/android/settings/wifi/calling/WifiCallingSuggestionActivity.java
index 9a50a83..0e3b887 100644
--- a/src/com/android/settings/wifi/calling/WifiCallingSuggestionActivity.java
+++ b/src/com/android/settings/wifi/calling/WifiCallingSuggestionActivity.java
@@ -17,18 +17,24 @@
 package com.android.settings.wifi.calling;
 
 import android.content.Context;
+import android.telephony.SubscriptionManager;
 
 import com.android.ims.ImsManager;
 import com.android.settings.SettingsActivity;
+import com.android.settings.network.ims.WifiCallingQueryImsState;
+import com.android.settings.network.telephony.MobileNetworkUtils;
 
 public class WifiCallingSuggestionActivity extends SettingsActivity {
 
     public static boolean isSuggestionComplete(Context context) {
+        final WifiCallingQueryImsState queryState =
+                new WifiCallingQueryImsState(context,
+                SubscriptionManager.getDefaultVoiceSubscriptionId());
         if (!ImsManager.isWfcEnabledByPlatform(context) ||
-                !ImsManager.isWfcProvisionedOnDevice(context)) {
+                !MobileNetworkUtils.isWfcProvisionedOnDevice(
+                        SubscriptionManager.getDefaultVoiceSubscriptionId())) {
             return true;
         }
-        return ImsManager.isWfcEnabledByUser(context)
-                && ImsManager.isNonTtyOrTtyOnVolteEnabled(context);
+        return queryState.isEnabledByUser() && queryState.isAllowUserControl();
     }
 }
diff --git a/src/com/android/settings/wifi/details/WifiDetailPreferenceController.java b/src/com/android/settings/wifi/details/WifiDetailPreferenceController.java
index a915766..a7c409d 100644
--- a/src/com/android/settings/wifi/details/WifiDetailPreferenceController.java
+++ b/src/com/android/settings/wifi/details/WifiDetailPreferenceController.java
@@ -31,6 +31,7 @@
 import android.graphics.drawable.BitmapDrawable;
 import android.graphics.drawable.Drawable;
 import android.graphics.drawable.VectorDrawable;
+import android.net.CaptivePortalData;
 import android.net.ConnectivityManager;
 import android.net.ConnectivityManager.NetworkCallback;
 import android.net.LinkAddress;
@@ -41,6 +42,7 @@
 import android.net.NetworkRequest;
 import android.net.NetworkUtils;
 import android.net.RouteInfo;
+import android.net.Uri;
 import android.net.wifi.WifiConfiguration;
 import android.net.wifi.WifiInfo;
 import android.net.wifi.WifiManager;
@@ -64,7 +66,6 @@
 import com.android.settings.core.FeatureFlags;
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settings.datausage.WifiDataUsageSummaryPreferenceController;
-import com.android.settings.development.featureflags.FeatureFlagPersistent;
 import com.android.settings.widget.EntityHeaderController;
 import com.android.settings.wifi.WifiDialog;
 import com.android.settings.wifi.WifiDialog.WifiDialogListener;
@@ -76,6 +77,7 @@
 import com.android.settingslib.core.lifecycle.LifecycleObserver;
 import com.android.settingslib.core.lifecycle.events.OnPause;
 import com.android.settingslib.core.lifecycle.events.OnResume;
+import com.android.settingslib.utils.StringUtil;
 import com.android.settingslib.widget.ActionButtonsPreference;
 import com.android.settingslib.widget.LayoutPreference;
 import com.android.settingslib.wifi.AccessPoint;
@@ -87,6 +89,10 @@
 import java.net.InetAddress;
 import java.net.UnknownHostException;
 import java.time.Duration;
+import java.time.Instant;
+import java.time.ZonedDateTime;
+import java.time.format.DateTimeFormatter;
+import java.time.format.FormatStyle;
 import java.util.StringJoiner;
 import java.util.stream.Collectors;
 
@@ -190,7 +196,15 @@
     WifiDataUsageSummaryPreferenceController mSummaryHeaderController;
 
     private final IconInjector mIconInjector;
+    private final Clock mClock;
     private final IntentFilter mFilter;
+
+    // Passpoint information - cache it in case of losing these information after
+    // updateAccessPointFromScannedList(). For R2, we should update these data from
+    // WifiManager#getPasspointConfigurations() after users manage the passpoint profile.
+    private boolean mIsExpired;
+    private boolean mIsPasspointConfigurationR1;
+
     private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
         @Override
         public void onReceive(Context context, Intent intent) {
@@ -223,6 +237,8 @@
         public void onLinkPropertiesChanged(Network network, LinkProperties lp) {
             if (network.equals(mNetwork) && !lp.equals(mLinkProperties)) {
                 mLinkProperties = lp;
+                refreshEntityHeader();
+                refreshButtons();
                 refreshIpLayerInfo();
             }
         }
@@ -235,14 +251,28 @@
             return mNetworkCapabilities.hasCapability(cap) != nc.hasCapability(cap);
         }
 
+        private boolean hasPrivateDnsStatusChanged(NetworkCapabilities nc) {
+            // If this is the first time that WifiDetailPreferenceController gets
+            // NetworkCapabilities, report that something has changed and assign nc to
+            // mNetworkCapabilities in onCapabilitiesChanged. Note that the NetworkCapabilities
+            // from onCapabilitiesChanged() will never be null, so calling
+            // mNetworkCapabilities.isPrivateDnsBroken() would be safe next time.
+            if (mNetworkCapabilities == null) {
+                return true;
+            }
+
+            return mNetworkCapabilities.isPrivateDnsBroken() != nc.isPrivateDnsBroken();
+        }
+
         @Override
         public void onCapabilitiesChanged(Network network, NetworkCapabilities nc) {
             // If the network just validated or lost Internet access or detected partial internet
-            // connectivity, refresh network state. Don't do this on every NetworkCapabilities
-            // change because refreshNetworkState sends IPCs to the system server from the UI
-            // thread, which can cause jank.
+            // connectivity or private dns was broken, refresh network state. Don't do this on
+            // every NetworkCapabilities change because refreshEntityHeader sends IPCs to the
+            // system server from the UI thread, which can cause jank.
             if (network.equals(mNetwork) && !nc.equals(mNetworkCapabilities)) {
-                if (hasCapabilityChanged(nc, NET_CAPABILITY_VALIDATED)
+                if (hasPrivateDnsStatusChanged(nc)
+                        || hasCapabilityChanged(nc, NET_CAPABILITY_VALIDATED)
                         || hasCapabilityChanged(nc, NET_CAPABILITY_CAPTIVE_PORTAL)
                         || hasCapabilityChanged(nc, NET_CAPABILITY_PARTIAL_CONNECTIVITY)) {
                     mAccessPoint.update(mWifiConfig, mWifiInfo, mNetworkInfo);
@@ -302,7 +332,7 @@
             MetricsFeatureProvider metricsFeatureProvider) {
         return new WifiDetailPreferenceController(
                 accessPoint, connectivityManager, context, fragment, handler, lifecycle,
-                wifiManager, metricsFeatureProvider, new IconInjector(context));
+                wifiManager, metricsFeatureProvider, new IconInjector(context), new Clock());
     }
 
     @VisibleForTesting
@@ -315,7 +345,8 @@
             Lifecycle lifecycle,
             WifiManager wifiManager,
             MetricsFeatureProvider metricsFeatureProvider,
-            IconInjector injector) {
+            IconInjector injector,
+            Clock clock) {
         super(context);
 
         mAccessPoint = accessPoint;
@@ -327,6 +358,7 @@
         mWifiManager = wifiManager;
         mMetricsFeatureProvider = metricsFeatureProvider;
         mIconInjector = injector;
+        mClock = clock;
 
         mFilter = new IntentFilter();
         mFilter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION);
@@ -358,6 +390,9 @@
                 updateConnectingState(STATE_FAILED);
             }
         };
+
+        mIsExpired = mAccessPoint.isExpired();
+        mIsPasspointConfigurationR1 = mAccessPoint.isPasspointConfigurationR1();
     }
 
     @Override
@@ -381,9 +416,6 @@
                 .setButton1Text(R.string.forget)
                 .setButton1Icon(R.drawable.ic_settings_delete)
                 .setButton1OnClickListener(view -> forgetNetwork())
-                .setButton2Text(R.string.wifi_sign_in_button_text)
-                .setButton2Icon(R.drawable.ic_settings_sign_in)
-                .setButton2OnClickListener(view -> signIntoNetwork())
                 .setButton3Text(R.string.wifi_connect)
                 .setButton3Icon(R.drawable.ic_settings_wireless)
                 .setButton3OnClickListener(view -> connectNetwork())
@@ -391,6 +423,12 @@
                 .setButton4Text(R.string.share)
                 .setButton4Icon(R.drawable.ic_qrcode_24dp)
                 .setButton4OnClickListener(view -> shareNetwork());
+        updateCaptivePortalButton();
+
+        if (isPasspointConfigurationR1Expired()) {
+            // Hide Connect button.
+            mButtonsPref.setButton3Visible(false);
+        }
 
         mSignalStrengthPref = screen.findPreference(KEY_SIGNAL_STRENGTH_PREF);
         mTxLinkSpeedPref = screen.findPreference(KEY_TX_LINK_SPEED);
@@ -411,6 +449,42 @@
         mSecurityPref.setSummary(mAccessPoint.getSecurityString(/* concise */ false));
     }
 
+    /**
+     * Update text, icon and listener of the captive portal button.
+     * @return True if the button should be shown.
+     */
+    private boolean updateCaptivePortalButton() {
+        final Uri venueInfoUrl = getCaptivePortalVenueInfoUrl();
+        if (venueInfoUrl == null) {
+            mButtonsPref.setButton2Text(R.string.wifi_sign_in_button_text)
+                    .setButton2Icon(R.drawable.ic_settings_sign_in)
+                    .setButton2OnClickListener(view -> signIntoNetwork());
+            return canSignIntoNetwork();
+        }
+
+        mButtonsPref.setButton2Text(R.string.wifi_venue_website_button_text)
+                .setButton2Icon(R.drawable.ic_settings_sign_in)
+                .setButton2OnClickListener(view -> {
+                    final Intent infoIntent = new Intent(Intent.ACTION_VIEW);
+                    infoIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+                    infoIntent.setData(venueInfoUrl);
+                    mContext.startActivity(infoIntent);
+                });
+        return mAccessPoint.isActive();
+    }
+
+    private Uri getCaptivePortalVenueInfoUrl() {
+        final LinkProperties lp = mLinkProperties;
+        if (lp == null) {
+            return null;
+        }
+        final CaptivePortalData data = lp.getCaptivePortalData();
+        if (data == null) {
+            return null;
+        }
+        return data.getVenueInfoUrl();
+    }
+
     private void setupEntityHeader(PreferenceScreen screen) {
         LayoutPreference headerPref = screen.findPreference(KEY_HEADER);
 
@@ -436,13 +510,54 @@
         mEntityHeaderController.setLabel(mAccessPoint.getTitle());
     }
 
+    private String getExpiryTimeSummary() {
+        if (mLinkProperties == null || mLinkProperties.getCaptivePortalData() == null) {
+            return null;
+        }
+
+        final long expiryTimeMillis = mLinkProperties.getCaptivePortalData().getExpiryTimeMillis();
+        if (expiryTimeMillis <= 0) {
+            return null;
+        }
+        final ZonedDateTime now = mClock.now();
+        final ZonedDateTime expiryTime = ZonedDateTime.ofInstant(
+                Instant.ofEpochMilli(expiryTimeMillis),
+                now.getZone());
+
+        if (now.isAfter(expiryTime)) {
+            return null;
+        }
+
+        if (now.plusDays(2).isAfter(expiryTime)) {
+            // Expiration within 2 days: show a duration
+            return mContext.getString(R.string.wifi_time_remaining, StringUtil.formatElapsedTime(
+                    mContext,
+                    Duration.between(now, expiryTime).getSeconds() * 1000,
+                    false /* withSeconds */));
+        }
+
+        // For more than 2 days, show the expiry date
+        return mContext.getString(R.string.wifi_expiry_time,
+                DateTimeFormatter.ofLocalizedDateTime(FormatStyle.SHORT).format(expiryTime));
+    }
+
     private void refreshEntityHeader() {
         if (usingDataUsageHeader(mContext)) {
             mSummaryHeaderController.updateState(mDataUsageSummaryPref);
         } else {
+            String summary;
+            if (isPasspointConfigurationR1Expired()) {
+                // Not able to get summary from AccessPoint because we may lost
+                // PasspointConfiguration information after updateAccessPointFromScannedList().
+                summary = mContext.getResources().getString(
+                        com.android.settingslib.R.string.wifi_passpoint_expired);
+            } else {
+                summary = mAccessPoint.getSettingsSummary(true /* convertSavedAsDisconnected */);
+            }
+
             mEntityHeaderController
-                    .setSummary(
-                            mAccessPoint.getSettingsSummary(true /*convertSavedAsDisconnected*/))
+                    .setSummary(summary)
+                    .setSecondSummary(getExpiryTimeSummary())
                     .setRecyclerView(mFragment.getListView(), mLifecycle)
                     .done(mFragment.getActivity(), true /* rebind */);
         }
@@ -687,6 +802,9 @@
         } else {
             mMacAddressPref.setSummary(macAddress);
         }
+
+        // MAC Address Pref Title
+        refreshMacTitle();
     }
 
     private String getMacAddress() {
@@ -726,16 +844,16 @@
                 mIsEphemeral ? R.string.wifi_disconnect_button_text : R.string.forget);
 
         boolean canForgetNetwork = canForgetNetwork();
-        boolean canSignIntoNetwork = canSignIntoNetwork();
-        boolean canConnectNetwork = canConnectNetwork();
+        boolean showCaptivePortalButton = updateCaptivePortalButton();
+        boolean canConnectNetwork = canConnectNetwork() && !isPasspointConfigurationR1Expired();
         boolean canShareNetwork = canShareNetwork();
 
         mButtonsPref.setButton1Visible(canForgetNetwork);
-        mButtonsPref.setButton2Visible(canSignIntoNetwork);
+        mButtonsPref.setButton2Visible(showCaptivePortalButton);
         mButtonsPref.setButton3Visible(canConnectNetwork);
         mButtonsPref.setButton4Visible(canShareNetwork);
         mButtonsPref.setVisible(canForgetNetwork
-                || canSignIntoNetwork
+                || showCaptivePortalButton
                 || canConnectNetwork
                 || canShareNetwork);
     }
@@ -745,6 +863,10 @@
         return !mAccessPoint.isActive();
     }
 
+    private boolean isPasspointConfigurationR1Expired() {
+        return mIsPasspointConfigurationR1 && mIsExpired;
+    }
+
     private void refreshIpLayerInfo() {
         // Hide IP layer info if not a connected network.
         if (!mAccessPoint.isActive() || mNetwork == null || mLinkProperties == null) {
@@ -847,17 +969,8 @@
             mWifiManager.disableEphemeralNetwork(mWifiInfo.getSSID());
         } else if (mAccessPoint.isPasspoint() || mAccessPoint.isPasspointConfig()) {
             // Post a dialog to confirm if user really want to forget the passpoint network.
-            if (FeatureFlagPersistent.isEnabled(mContext, FeatureFlags.NETWORK_INTERNET_V2)) {
-                showConfirmForgetDialog();
-                return;
-            }
-
-            try {
-                mWifiManager.removePasspointConfiguration(mAccessPoint.getPasspointFqdn());
-            } catch (RuntimeException e) {
-                Log.e(TAG, "Failed to remove Passpoint configuration for "
-                        + mAccessPoint.getPasspointFqdn());
-            }
+            showConfirmForgetDialog();
+            return;
         } else if (mWifiConfig != null) {
             mWifiManager.forget(mWifiConfig.networkId, null /* action listener */);
         }
@@ -961,6 +1074,13 @@
         }
     }
 
+    @VisibleForTesting
+    static class Clock {
+        public ZonedDateTime now() {
+            return ZonedDateTime.now();
+        }
+    }
+
     private boolean usingDataUsageHeader(Context context) {
         return FeatureFlagUtils.isEnabled(context, FeatureFlags.WIFI_DETAILS_DATAUSAGE_HEADER);
     }
@@ -1092,10 +1212,15 @@
             case STATE_NOT_IN_RANGE:
             case STATE_FAILED:
             case STATE_ENABLE_WIFI_FAILED:
-                mButtonsPref.setButton3Text(R.string.wifi_connect)
-                        .setButton3Icon(R.drawable.ic_settings_wireless)
-                        .setButton3Enabled(true)
-                        .setButton3Visible(true);
+                if (isPasspointConfigurationR1Expired()) {
+                    // Hide Connect button.
+                    mButtonsPref.setButton3Visible(false);
+                } else {
+                    mButtonsPref.setButton3Text(R.string.wifi_connect)
+                            .setButton3Icon(R.drawable.ic_settings_wireless)
+                            .setButton3Enabled(true)
+                            .setButton3Visible(true);
+                }
                 break;
             default:
                 Log.e(TAG, "Invalid connect button state : " + state);
@@ -1141,4 +1266,24 @@
         mTimer.cancel();
         mTimer = null;
     }
+
+    private void refreshMacTitle() {
+        if (mWifiConfig == null) {
+            return;
+        }
+
+        // For saved Passpoint network, framework doesn't have the field to keep the MAC choice
+        // persistently, so Passpoint network will always use the default value so far, which is
+        // randomized MAC address, so don't need to modify title.
+        if (mAccessPoint.isPasspoint() || mAccessPoint.isPasspointConfig()) {
+            return;
+        }
+
+        mMacAddressPref.setTitle(
+                (mWifiConfig.macRandomizationSetting
+                        == WifiConfiguration.RANDOMIZATION_PERSISTENT)
+                        ? R.string.wifi_advanced_randomized_mac_address_title
+                        : R.string.wifi_advanced_device_mac_address_title);
+
+    }
 }
diff --git a/src/com/android/settings/wifi/details/WifiPrivacyPreferenceController.java b/src/com/android/settings/wifi/details/WifiPrivacyPreferenceController.java
index 950cc13..eab0fa4 100644
--- a/src/com/android/settings/wifi/details/WifiPrivacyPreferenceController.java
+++ b/src/com/android/settings/wifi/details/WifiPrivacyPreferenceController.java
@@ -65,9 +65,8 @@
 
     @Override
     public int getAvailabilityStatus() {
-        return mContext.getResources().getBoolean(
-                com.android.internal.R.bool.config_wifi_connected_mac_randomization_supported) ?
-                AVAILABLE : CONDITIONALLY_UNAVAILABLE;
+        return mWifiManager.isConnectedMacRandomizationSupported()
+                ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
     }
 
     @Override
diff --git a/src/com/android/settings/wifi/details2/AddDevicePreferenceController2.java b/src/com/android/settings/wifi/details2/AddDevicePreferenceController2.java
new file mode 100644
index 0000000..fc7b5ce
--- /dev/null
+++ b/src/com/android/settings/wifi/details2/AddDevicePreferenceController2.java
@@ -0,0 +1,78 @@
+/*
+ * 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.details2;
+
+import android.content.Context;
+import android.content.Intent;
+import android.net.wifi.WifiManager;
+import android.util.Log;
+
+import androidx.preference.Preference;
+
+import com.android.settings.core.BasePreferenceController;
+import com.android.settings.wifi.dpp.WifiDppUtils;
+import com.android.wifitrackerlib.WifiEntry;
+
+/**
+ * {@link BasePreferenceController} that launches Wi-Fi Easy Connect configurator flow
+ */
+public class AddDevicePreferenceController2 extends BasePreferenceController {
+
+    private static final String TAG = "AddDevicePreferenceController2";
+
+    private static final String KEY_ADD_DEVICE = "add_device_to_network";
+
+    private WifiEntry mWifiEntry;
+    private WifiManager mWifiManager;
+
+    public AddDevicePreferenceController2(Context context) {
+        super(context, KEY_ADD_DEVICE);
+
+        mWifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
+    }
+
+    public void setWifiEntry(WifiEntry wifiEntry) {
+        mWifiEntry = wifiEntry;
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return WifiDppUtils.isSupportConfiguratorQrCodeScanner(mContext, mWifiEntry) ? AVAILABLE
+                : CONDITIONALLY_UNAVAILABLE;
+    }
+
+    @Override
+    public boolean handlePreferenceTreeClick(Preference preference) {
+        if (KEY_ADD_DEVICE.equals(preference.getKey())) {
+            WifiDppUtils.showLockScreen(mContext, () -> launchWifiDppConfiguratorQrCodeScanner());
+            return true; /* click is handled */
+        }
+
+        return false; /* click is not handled */
+    }
+
+    private void launchWifiDppConfiguratorQrCodeScanner() {
+        final Intent intent = WifiDppUtils.getConfiguratorQrCodeScannerIntentOrNull(mContext,
+                mWifiManager, mWifiEntry);
+
+        if (intent == null) {
+            Log.e(TAG, "Launch Wi-Fi QR code scanner with a wrong Wi-Fi network!");
+        } else {
+            mContext.startActivity(intent);
+        }
+    }
+}
diff --git a/src/com/android/settings/wifi/details2/WifiAutoConnectPreferenceController2.java b/src/com/android/settings/wifi/details2/WifiAutoConnectPreferenceController2.java
new file mode 100644
index 0000000..ffbb682
--- /dev/null
+++ b/src/com/android/settings/wifi/details2/WifiAutoConnectPreferenceController2.java
@@ -0,0 +1,57 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.wifi.details2;
+
+import android.content.Context;
+
+import com.android.settings.core.TogglePreferenceController;
+import com.android.wifitrackerlib.WifiEntry;
+
+/**
+ * {@link TogglePreferenceController} that controls whether the Wi-Fi Auto-connect feature should be
+ * enabled.
+ */
+public class WifiAutoConnectPreferenceController2 extends TogglePreferenceController {
+
+    private static final String KEY_AUTO_CONNECT = "auto_connect";
+
+    private WifiEntry mWifiEntry;
+
+    public WifiAutoConnectPreferenceController2(Context context) {
+        super(context, KEY_AUTO_CONNECT);
+    }
+
+    public void setWifiEntry(WifiEntry wifiEntry) {
+        mWifiEntry = wifiEntry;
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return mWifiEntry.canSetAutoJoinEnabled() ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
+    }
+
+    @Override
+    public boolean isChecked() {
+        return mWifiEntry.isAutoJoinEnabled();
+    }
+
+    @Override
+    public boolean setChecked(boolean isChecked) {
+        mWifiEntry.setAutoJoinEnabled(isChecked);
+        return true;
+    }
+}
diff --git a/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java b/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java
new file mode 100644
index 0000000..70567ac
--- /dev/null
+++ b/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java
@@ -0,0 +1,1035 @@
+/*
+ * 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.details2;
+
+import static android.net.NetworkCapabilities.NET_CAPABILITY_CAPTIVE_PORTAL;
+import static android.net.NetworkCapabilities.NET_CAPABILITY_PARTIAL_CONNECTIVITY;
+import static android.net.NetworkCapabilities.NET_CAPABILITY_VALIDATED;
+import static android.net.NetworkCapabilities.TRANSPORT_WIFI;
+
+import android.app.Activity;
+import android.app.AlertDialog;
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.content.Intent;
+import android.graphics.Bitmap;
+import android.graphics.drawable.BitmapDrawable;
+import android.graphics.drawable.Drawable;
+import android.graphics.drawable.VectorDrawable;
+import android.net.CaptivePortalData;
+import android.net.ConnectivityManager;
+import android.net.ConnectivityManager.NetworkCallback;
+import android.net.LinkAddress;
+import android.net.LinkProperties;
+import android.net.Network;
+import android.net.NetworkCapabilities;
+import android.net.NetworkInfo;
+import android.net.NetworkRequest;
+import android.net.NetworkUtils;
+import android.net.RouteInfo;
+import android.net.Uri;
+import android.net.wifi.WifiInfo;
+import android.net.wifi.WifiManager;
+import android.os.Handler;
+import android.text.TextUtils;
+import android.util.FeatureFlagUtils;
+import android.util.Log;
+import android.widget.ImageView;
+import android.widget.Toast;
+
+import androidx.annotation.VisibleForTesting;
+import androidx.core.text.BidiFormatter;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceCategory;
+import androidx.preference.PreferenceFragmentCompat;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settings.Utils;
+import com.android.settings.core.FeatureFlags;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settings.datausage.WifiDataUsageSummaryPreferenceController;
+import com.android.settings.widget.EntityHeaderController;
+import com.android.settings.wifi.WifiDialog2;
+import com.android.settings.wifi.WifiDialog2.WifiDialog2Listener;
+import com.android.settings.wifi.WifiEntryShell;
+import com.android.settings.wifi.WifiUtils;
+import com.android.settings.wifi.dpp.WifiDppUtils;
+import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+import com.android.settingslib.core.lifecycle.LifecycleObserver;
+import com.android.settingslib.core.lifecycle.events.OnPause;
+import com.android.settingslib.core.lifecycle.events.OnResume;
+import com.android.settingslib.utils.StringUtil;
+import com.android.settingslib.widget.ActionButtonsPreference;
+import com.android.settingslib.widget.LayoutPreference;
+import com.android.wifitrackerlib.WifiEntry;
+import com.android.wifitrackerlib.WifiEntry.ConnectCallback;
+import com.android.wifitrackerlib.WifiEntry.ConnectCallback.ConnectStatus;
+import com.android.wifitrackerlib.WifiEntry.ConnectedInfo;
+import com.android.wifitrackerlib.WifiEntry.DisconnectCallback;
+import com.android.wifitrackerlib.WifiEntry.DisconnectCallback.DisconnectStatus;
+import com.android.wifitrackerlib.WifiEntry.ForgetCallback;
+import com.android.wifitrackerlib.WifiEntry.ForgetCallback.ForgetStatus;
+import com.android.wifitrackerlib.WifiEntry.SignInCallback;
+import com.android.wifitrackerlib.WifiEntry.SignInCallback.SignInStatus;
+import com.android.wifitrackerlib.WifiEntry.WifiEntryCallback;
+
+import java.net.Inet4Address;
+import java.net.Inet6Address;
+import java.net.InetAddress;
+import java.net.UnknownHostException;
+import java.time.Duration;
+import java.time.Instant;
+import java.time.ZonedDateTime;
+import java.time.format.DateTimeFormatter;
+import java.time.format.FormatStyle;
+import java.util.StringJoiner;
+import java.util.stream.Collectors;
+
+// TODO(b/151133650): Replace AbstractPreferenceController with BasePreferenceController.
+/**
+ * Controller for logic pertaining to displaying Wifi information for the
+ * {@link WifiNetworkDetailsFragment}.
+ */
+public class WifiDetailPreferenceController2 extends AbstractPreferenceController
+        implements PreferenceControllerMixin, WifiDialog2Listener, LifecycleObserver, OnPause,
+        OnResume, WifiEntryCallback, ConnectCallback, DisconnectCallback, ForgetCallback,
+        SignInCallback {
+
+    private static final String TAG = "WifiDetailsPrefCtrl2";
+    private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
+
+    @VisibleForTesting
+    static final String KEY_HEADER = "connection_header";
+    @VisibleForTesting
+    static final String KEY_DATA_USAGE_HEADER = "status_header";
+    @VisibleForTesting
+    static final String KEY_BUTTONS_PREF = "buttons";
+    @VisibleForTesting
+    static final String KEY_SIGNAL_STRENGTH_PREF = "signal_strength";
+    @VisibleForTesting
+    static final String KEY_TX_LINK_SPEED = "tx_link_speed";
+    @VisibleForTesting
+    static final String KEY_RX_LINK_SPEED = "rx_link_speed";
+    @VisibleForTesting
+    static final String KEY_FREQUENCY_PREF = "frequency";
+    @VisibleForTesting
+    static final String KEY_SECURITY_PREF = "security";
+    @VisibleForTesting
+    static final String KEY_SSID_PREF = "ssid";
+    @VisibleForTesting
+    static final String KEY_MAC_ADDRESS_PREF = "mac_address";
+    @VisibleForTesting
+    static final String KEY_IP_ADDRESS_PREF = "ip_address";
+    @VisibleForTesting
+    static final String KEY_GATEWAY_PREF = "gateway";
+    @VisibleForTesting
+    static final String KEY_SUBNET_MASK_PREF = "subnet_mask";
+    @VisibleForTesting
+    static final String KEY_DNS_PREF = "dns";
+    @VisibleForTesting
+    static final String KEY_IPV6_CATEGORY = "ipv6_category";
+    @VisibleForTesting
+    static final String KEY_IPV6_ADDRESSES_PREF = "ipv6_addresses";
+
+    private final WifiEntry mWifiEntry;
+    private final ConnectivityManager mConnectivityManager;
+    private final PreferenceFragmentCompat mFragment;
+    private final Handler mHandler;
+    private LinkProperties mLinkProperties;
+    private Network mNetwork;
+    private NetworkInfo mNetworkInfo;
+    private NetworkCapabilities mNetworkCapabilities;
+    private int mRssiSignalLevel = -1;
+    private String[] mSignalStr;
+    private WifiInfo mWifiInfo;
+    private final WifiManager mWifiManager;
+    private final MetricsFeatureProvider mMetricsFeatureProvider;
+
+    // UI elements - in order of appearance
+    private ActionButtonsPreference mButtonsPref;
+    private EntityHeaderController mEntityHeaderController;
+    private Preference mSignalStrengthPref;
+    private Preference mTxLinkSpeedPref;
+    private Preference mRxLinkSpeedPref;
+    private Preference mFrequencyPref;
+    private Preference mSecurityPref;
+    private Preference mSsidPref;
+    private Preference mMacAddressPref;
+    private Preference mIpAddressPref;
+    private Preference mGatewayPref;
+    private Preference mSubnetPref;
+    private Preference mDnsPref;
+    private PreferenceCategory mIpv6Category;
+    private Preference mIpv6AddressPref;
+    private Lifecycle mLifecycle;
+    Preference mDataUsageSummaryPref;
+    WifiDataUsageSummaryPreferenceController mSummaryHeaderController;
+
+    private final IconInjector mIconInjector;
+    private final Clock mClock;
+
+    private final NetworkRequest mNetworkRequest = new NetworkRequest.Builder()
+            .clearCapabilities().addTransportType(TRANSPORT_WIFI).build();
+
+    // Must be run on the UI thread since it directly manipulates UI state.
+    private final NetworkCallback mNetworkCallback = new NetworkCallback() {
+        @Override
+        public void onLinkPropertiesChanged(Network network, LinkProperties lp) {
+            if (network.equals(mNetwork) && !lp.equals(mLinkProperties)) {
+                mLinkProperties = lp;
+                refreshEntityHeader();
+                refreshButtons();
+                refreshIpLayerInfo();
+            }
+        }
+
+        private boolean hasCapabilityChanged(NetworkCapabilities nc, int cap) {
+            // If this is the first time we get NetworkCapabilities, report that something changed.
+            if (mNetworkCapabilities == null) return true;
+
+            // nc can never be null, see ConnectivityService#callCallbackForRequest.
+            return mNetworkCapabilities.hasCapability(cap) != nc.hasCapability(cap);
+        }
+
+        private boolean hasPrivateDnsStatusChanged(NetworkCapabilities nc) {
+            // If this is the first time that WifiDetailPreferenceController2 gets
+            // NetworkCapabilities, report that something has changed and assign nc to
+            // mNetworkCapabilities in onCapabilitiesChanged. Note that the NetworkCapabilities
+            // from onCapabilitiesChanged() will never be null, so calling
+            // mNetworkCapabilities.isPrivateDnsBroken() would be safe next time.
+            if (mNetworkCapabilities == null) {
+                return true;
+            }
+
+            return mNetworkCapabilities.isPrivateDnsBroken() != nc.isPrivateDnsBroken();
+        }
+
+        @Override
+        public void onCapabilitiesChanged(Network network, NetworkCapabilities nc) {
+            // If the network just validated or lost Internet access or detected partial internet
+            // connectivity or private dns was broken, refresh network state. Don't do this on
+            // every NetworkCapabilities change because refreshEntityHeader sends IPCs to the
+            // system server from the UI thread, which can cause jank.
+            if (network.equals(mNetwork) && !nc.equals(mNetworkCapabilities)) {
+                if (hasPrivateDnsStatusChanged(nc)
+                        || hasCapabilityChanged(nc, NET_CAPABILITY_VALIDATED)
+                        || hasCapabilityChanged(nc, NET_CAPABILITY_CAPTIVE_PORTAL)
+                        || hasCapabilityChanged(nc, NET_CAPABILITY_PARTIAL_CONNECTIVITY)) {
+                    refreshEntityHeader();
+                }
+                mNetworkCapabilities = nc;
+                refreshButtons();
+                refreshIpLayerInfo();
+            }
+        }
+
+        @Override
+        public void onLost(Network network) {
+            // Ephemeral network not a saved network, leave detail page once disconnected
+            if (!mWifiEntry.isSaved() && network.equals(mNetwork)) {
+                if (DEBUG) {
+                    Log.d(TAG, "OnLost and exit WifiNetworkDetailsPage");
+                }
+                mFragment.getActivity().finish();
+            }
+        }
+    };
+
+    /**
+     * To get an instance of {@link WifiDetailPreferenceController2}
+     */
+    public static WifiDetailPreferenceController2 newInstance(
+            WifiEntry wifiEntry,
+            ConnectivityManager connectivityManager,
+            Context context,
+            PreferenceFragmentCompat fragment,
+            Handler handler,
+            Lifecycle lifecycle,
+            WifiManager wifiManager,
+            MetricsFeatureProvider metricsFeatureProvider) {
+        return new WifiDetailPreferenceController2(
+                wifiEntry, connectivityManager, context, fragment, handler, lifecycle,
+                wifiManager, metricsFeatureProvider, new IconInjector(context), new Clock());
+    }
+
+    @VisibleForTesting
+        /* package */ WifiDetailPreferenceController2(
+            WifiEntry wifiEntry,
+            ConnectivityManager connectivityManager,
+            Context context,
+            PreferenceFragmentCompat fragment,
+            Handler handler,
+            Lifecycle lifecycle,
+            WifiManager wifiManager,
+            MetricsFeatureProvider metricsFeatureProvider,
+            IconInjector injector,
+            Clock clock) {
+        super(context);
+
+        mWifiEntry = wifiEntry;
+        mWifiEntry.setListener(this);
+        mConnectivityManager = connectivityManager;
+        mFragment = fragment;
+        mHandler = handler;
+        mSignalStr = context.getResources().getStringArray(R.array.wifi_signal);
+        mWifiManager = wifiManager;
+        mMetricsFeatureProvider = metricsFeatureProvider;
+        mIconInjector = injector;
+        mClock = clock;
+
+        mLifecycle = lifecycle;
+        lifecycle.addObserver(this);
+    }
+
+    @Override
+    public boolean isAvailable() {
+        return true;
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        // Returns null since this controller contains more than one Preference
+        return null;
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+
+        setupEntityHeader(screen);
+
+        mButtonsPref = ((ActionButtonsPreference) screen.findPreference(KEY_BUTTONS_PREF))
+                .setButton1Text(R.string.forget)
+                .setButton1Icon(R.drawable.ic_settings_delete)
+                .setButton1OnClickListener(view -> forgetNetwork())
+                .setButton2Text(R.string.wifi_sign_in_button_text)
+                .setButton2Icon(R.drawable.ic_settings_sign_in)
+                .setButton2OnClickListener(view -> signIntoNetwork())
+                .setButton3Text(getConnectDisconnectButtonTextResource())
+                .setButton3Icon(getConnectDisconnectButtonIconResource())
+                .setButton3OnClickListener(view -> connectDisconnectNetwork())
+                .setButton4Text(R.string.share)
+                .setButton4Icon(R.drawable.ic_qrcode_24dp)
+                .setButton4OnClickListener(view -> shareNetwork());
+        updateCaptivePortalButton();
+
+        mSignalStrengthPref = screen.findPreference(KEY_SIGNAL_STRENGTH_PREF);
+        mTxLinkSpeedPref = screen.findPreference(KEY_TX_LINK_SPEED);
+        mRxLinkSpeedPref = screen.findPreference(KEY_RX_LINK_SPEED);
+        mFrequencyPref = screen.findPreference(KEY_FREQUENCY_PREF);
+        mSecurityPref = screen.findPreference(KEY_SECURITY_PREF);
+
+        mSsidPref = screen.findPreference(KEY_SSID_PREF);
+        mMacAddressPref = screen.findPreference(KEY_MAC_ADDRESS_PREF);
+        mIpAddressPref = screen.findPreference(KEY_IP_ADDRESS_PREF);
+        mGatewayPref = screen.findPreference(KEY_GATEWAY_PREF);
+        mSubnetPref = screen.findPreference(KEY_SUBNET_MASK_PREF);
+        mDnsPref = screen.findPreference(KEY_DNS_PREF);
+
+        mIpv6Category = screen.findPreference(KEY_IPV6_CATEGORY);
+        mIpv6AddressPref = screen.findPreference(KEY_IPV6_ADDRESSES_PREF);
+
+        mSecurityPref.setSummary(mWifiEntry.getSecurityString(false /* concise */));
+    }
+
+    /**
+     * Update text, icon and listener of the captive portal button.
+     * @return True if the button should be shown.
+     */
+    private boolean updateCaptivePortalButton() {
+        final Uri venueInfoUrl = getCaptivePortalVenueInfoUrl();
+        if (venueInfoUrl == null) {
+            mButtonsPref.setButton2Text(R.string.wifi_sign_in_button_text)
+                    .setButton2Icon(R.drawable.ic_settings_sign_in)
+                    .setButton2OnClickListener(view -> signIntoNetwork());
+            return canSignIntoNetwork();
+        }
+
+        mButtonsPref.setButton2Text(R.string.wifi_venue_website_button_text)
+                .setButton2Icon(R.drawable.ic_settings_sign_in)
+                .setButton2OnClickListener(view -> {
+                    final Intent infoIntent = new Intent(Intent.ACTION_VIEW);
+                    infoIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+                    infoIntent.setData(venueInfoUrl);
+                    mContext.startActivity(infoIntent);
+                });
+        // Only show the venue website when the network is connected.
+        return mWifiEntry.getConnectedState() == WifiEntry.CONNECTED_STATE_CONNECTED;
+    }
+
+    private Uri getCaptivePortalVenueInfoUrl() {
+        final LinkProperties lp = mLinkProperties;
+        if (lp == null) {
+            return null;
+        }
+        final CaptivePortalData data = lp.getCaptivePortalData();
+        if (data == null) {
+            return null;
+        }
+        return data.getVenueInfoUrl();
+    }
+
+    private void setupEntityHeader(PreferenceScreen screen) {
+        LayoutPreference headerPref = screen.findPreference(KEY_HEADER);
+
+        if (usingDataUsageHeader(mContext)) {
+            headerPref.setVisible(false);
+            mDataUsageSummaryPref = screen.findPreference(KEY_DATA_USAGE_HEADER);
+            mDataUsageSummaryPref.setVisible(true);
+            mSummaryHeaderController =
+                new WifiDataUsageSummaryPreferenceController(mFragment.getActivity(),
+                        mLifecycle, (PreferenceFragmentCompat) mFragment,
+                        mWifiEntry.getTitle());
+            return;
+        }
+
+        mEntityHeaderController =
+                EntityHeaderController.newInstance(
+                        mFragment.getActivity(), mFragment,
+                        headerPref.findViewById(R.id.entity_header));
+
+        ImageView iconView = headerPref.findViewById(R.id.entity_header_icon);
+
+        iconView.setScaleType(ImageView.ScaleType.CENTER_INSIDE);
+
+        mEntityHeaderController.setLabel(mWifiEntry.getTitle());
+    }
+
+    private String getExpiryTimeSummary() {
+        if (mLinkProperties == null || mLinkProperties.getCaptivePortalData() == null) {
+            return null;
+        }
+
+        final long expiryTimeMillis = mLinkProperties.getCaptivePortalData().getExpiryTimeMillis();
+        if (expiryTimeMillis <= 0) {
+            return null;
+        }
+        final ZonedDateTime now = mClock.now();
+        final ZonedDateTime expiryTime = ZonedDateTime.ofInstant(
+                Instant.ofEpochMilli(expiryTimeMillis),
+                now.getZone());
+
+        if (now.isAfter(expiryTime)) {
+            return null;
+        }
+
+        if (now.plusDays(2).isAfter(expiryTime)) {
+            // Expiration within 2 days: show a duration
+            return mContext.getString(R.string.wifi_time_remaining, StringUtil.formatElapsedTime(
+                    mContext,
+                    Duration.between(now, expiryTime).getSeconds() * 1000,
+                    false /* withSeconds */));
+        }
+
+        // For more than 2 days, show the expiry date
+        return mContext.getString(R.string.wifi_expiry_time,
+                DateTimeFormatter.ofLocalizedDateTime(FormatStyle.SHORT).format(expiryTime));
+    }
+
+    private void refreshEntityHeader() {
+        if (usingDataUsageHeader(mContext)) {
+            mSummaryHeaderController.updateState(mDataUsageSummaryPref);
+        } else {
+            String summary = mWifiEntry.getSummary();
+
+            mEntityHeaderController
+                    .setSummary(summary)
+                    .setSecondSummary(getExpiryTimeSummary())
+                    .setRecyclerView(mFragment.getListView(), mLifecycle)
+                    .done(mFragment.getActivity(), true /* rebind */);
+        }
+    }
+
+    private void updateNetworkInfo() {
+        if (mWifiEntry.getConnectedState() == WifiEntry.CONNECTED_STATE_CONNECTED) {
+            mNetwork = mWifiManager.getCurrentNetwork();
+            mLinkProperties = mConnectivityManager.getLinkProperties(mNetwork);
+            mNetworkCapabilities = mConnectivityManager.getNetworkCapabilities(mNetwork);
+            mNetworkInfo = mConnectivityManager.getNetworkInfo(mNetwork);
+            mWifiInfo = mWifiManager.getConnectionInfo();
+        } else {
+            mNetwork = null;
+            mLinkProperties = null;
+            mNetworkCapabilities = null;
+            mNetworkInfo = null;
+            mWifiInfo = null;
+        }
+    }
+
+    @Override
+    public void onResume() {
+        // Ensure mNetwork is set before any callbacks above are delivered, since our
+        // NetworkCallback only looks at changes to mNetwork.
+        updateNetworkInfo();
+        refreshPage();
+        mConnectivityManager.registerNetworkCallback(mNetworkRequest, mNetworkCallback,
+                mHandler);
+    }
+
+    @Override
+    public void onPause() {
+        mConnectivityManager.unregisterNetworkCallback(mNetworkCallback);
+    }
+
+    private void refreshPage() {
+        Log.d(TAG, "Update UI!");
+
+        // refresh header
+        refreshEntityHeader();
+
+        // refresh Buttons
+        refreshButtons();
+
+        // Update Connection Header icon and Signal Strength Preference
+        refreshRssiViews();
+        // Frequency Pref
+        refreshFrequency();
+        // Transmit Link Speed Pref
+        refreshTxSpeed();
+        // Receive Link Speed Pref
+        refreshRxSpeed();
+        // IP related information
+        refreshIpLayerInfo();
+        // SSID Pref
+        refreshSsid();
+        // MAC Address Pref
+        refreshMacAddress();
+    }
+
+    private void refreshRssiViews() {
+        int signalLevel = mWifiEntry.getLevel();
+
+        // Disappears signal view if not in range. e.g. for saved networks.
+        if (signalLevel == WifiEntry.WIFI_LEVEL_UNREACHABLE) {
+            mSignalStrengthPref.setVisible(false);
+            mRssiSignalLevel = -1;
+            return;
+        }
+
+        if (mRssiSignalLevel == signalLevel) {
+            return;
+        }
+        mRssiSignalLevel = signalLevel;
+        Drawable wifiIcon = mIconInjector.getIcon(mRssiSignalLevel);
+
+        if (mEntityHeaderController != null) {
+            mEntityHeaderController
+                    .setIcon(redrawIconForHeader(wifiIcon)).done(mFragment.getActivity(),
+                            true /* rebind */);
+        }
+
+        Drawable wifiIconDark = wifiIcon.getConstantState().newDrawable().mutate();
+        wifiIconDark.setTintList(Utils.getColorAttr(mContext, android.R.attr.colorControlNormal));
+        mSignalStrengthPref.setIcon(wifiIconDark);
+
+        mSignalStrengthPref.setSummary(mSignalStr[mRssiSignalLevel]);
+        mSignalStrengthPref.setVisible(true);
+    }
+
+    private Drawable redrawIconForHeader(Drawable original) {
+        final int iconSize = mContext.getResources().getDimensionPixelSize(
+                R.dimen.wifi_detail_page_header_image_size);
+        final int actualWidth = original.getMinimumWidth();
+        final int actualHeight = original.getMinimumHeight();
+
+        if ((actualWidth == iconSize && actualHeight == iconSize)
+                || !VectorDrawable.class.isInstance(original)) {
+            return original;
+        }
+
+        // clear tint list to make sure can set 87% black after enlarge
+        original.setTintList(null);
+
+        // enlarge icon size
+        final Bitmap bitmap = Utils.createBitmap(original,
+                iconSize /*width*/,
+                iconSize /*height*/);
+        Drawable newIcon = new BitmapDrawable(null /*resource*/, bitmap);
+
+        // config color for 87% black after enlarge
+        newIcon.setTintList(Utils.getColorAttr(mContext, android.R.attr.textColorPrimary));
+
+        return newIcon;
+    }
+
+    private void refreshFrequency() {
+        final ConnectedInfo connectedInfo = mWifiEntry.getConnectedInfo();
+        if (connectedInfo == null) {
+            mFrequencyPref.setVisible(false);
+            return;
+        }
+
+        final int frequency = connectedInfo.frequencyMhz;
+        String band = null;
+        if (frequency >= WifiEntryShell.LOWER_FREQ_24GHZ
+                && frequency < WifiEntryShell.HIGHER_FREQ_24GHZ) {
+            band = mContext.getResources().getString(R.string.wifi_band_24ghz);
+        } else if (frequency >= WifiEntryShell.LOWER_FREQ_5GHZ
+                && frequency < WifiEntryShell.HIGHER_FREQ_5GHZ) {
+            band = mContext.getResources().getString(R.string.wifi_band_5ghz);
+        } else {
+            // Connecting state is unstable, make it disappeared if unexpected
+            if (mWifiEntry.getConnectedState() == WifiEntry.CONNECTED_STATE_CONNECTING) {
+                mFrequencyPref.setVisible(false);
+            } else {
+                Log.e(TAG, "Unexpected frequency " + frequency);
+            }
+            return;
+        }
+        mFrequencyPref.setSummary(band);
+        mFrequencyPref.setVisible(true);
+    }
+
+    private void refreshTxSpeed() {
+        if (mWifiInfo == null
+                || mWifiEntry.getConnectedState() != WifiEntry.CONNECTED_STATE_CONNECTED) {
+            mTxLinkSpeedPref.setVisible(false);
+            return;
+        }
+
+        int txLinkSpeedMbps = mWifiInfo.getTxLinkSpeedMbps();
+        mTxLinkSpeedPref.setVisible(txLinkSpeedMbps >= 0);
+        mTxLinkSpeedPref.setSummary(mContext.getString(
+                R.string.tx_link_speed, mWifiInfo.getTxLinkSpeedMbps()));
+    }
+
+    private void refreshRxSpeed() {
+        if (mWifiInfo == null
+                || mWifiEntry.getConnectedState() != WifiEntry.CONNECTED_STATE_CONNECTED) {
+            mRxLinkSpeedPref.setVisible(false);
+            return;
+        }
+
+        int rxLinkSpeedMbps = mWifiInfo.getRxLinkSpeedMbps();
+        mRxLinkSpeedPref.setVisible(rxLinkSpeedMbps >= 0);
+        mRxLinkSpeedPref.setSummary(mContext.getString(
+                R.string.rx_link_speed, mWifiInfo.getRxLinkSpeedMbps()));
+    }
+
+    private void refreshSsid() {
+        if (mWifiEntry.isSubscription()) {
+            mSsidPref.setVisible(true);
+            mSsidPref.setSummary(mWifiEntry.getTitle());
+        } else {
+            mSsidPref.setVisible(false);
+        }
+    }
+
+    private void refreshMacAddress() {
+        String macAddress = getMacAddress();
+        if (macAddress == null) {
+            mMacAddressPref.setVisible(false);
+            return;
+        }
+
+        mMacAddressPref.setVisible(true);
+        if (macAddress.equals(WifiInfo.DEFAULT_MAC_ADDRESS)) {
+            mMacAddressPref.setSummary(R.string.device_info_not_available);
+        } else {
+            mMacAddressPref.setSummary(macAddress);
+        }
+
+        // MAC Address Pref Title
+        refreshMacTitle();
+    }
+
+    private String getMacAddress() {
+        if (mWifiEntry.isSaved() && mWifiEntry.getPrivacy() == WifiEntry.PRIVACY_RANDOMIZED_MAC) {
+            return mWifiEntry.getMacAddress();
+        }
+
+        // return device MAC address
+        final String[] macAddresses = mWifiManager.getFactoryMacAddresses();
+        if (macAddresses != null && macAddresses.length > 0) {
+            return macAddresses[0];
+        }
+
+        Log.e(TAG, "Can't get device MAC address!");
+        return null;
+    }
+
+    private void updatePreference(Preference pref, String detailText) {
+        if (!TextUtils.isEmpty(detailText)) {
+            pref.setSummary(detailText);
+            pref.setVisible(true);
+        } else {
+            pref.setVisible(false);
+        }
+    }
+
+    private void refreshButtons() {
+        final boolean canForgetNetwork = mWifiEntry.canForget();
+        final boolean showCaptivePortalButton = updateCaptivePortalButton();
+        final boolean canConnectDisconnectNetwork = mWifiEntry.canConnect()
+                || mWifiEntry.canDisconnect();
+        final boolean canShareNetwork = canShareNetwork();
+
+        mButtonsPref.setButton1Visible(canForgetNetwork);
+        mButtonsPref.setButton2Visible(showCaptivePortalButton);
+        // If it's expired and connected, shows Disconnect button for users to disconnect it.
+        // If it's expired and not connected, hides the button and users are not able to connect it.
+        //
+        // expired connected    visibility
+        // false   false        true    show (Connect) button
+        // false   true         true    show (Disconnect) button
+        // true    false        false   hide button
+        // true    true         true    show (Disconnect) button
+        mButtonsPref.setButton3Visible(mWifiEntry.getLevel() != WifiEntry.WIFI_LEVEL_UNREACHABLE
+                && (!mWifiEntry.isExpired()
+                        || mWifiEntry.getConnectedState() == WifiEntry.CONNECTED_STATE_CONNECTED));
+        mButtonsPref.setButton3Enabled(canConnectDisconnectNetwork);
+        mButtonsPref.setButton3Text(getConnectDisconnectButtonTextResource());
+        mButtonsPref.setButton3Icon(getConnectDisconnectButtonIconResource());
+        mButtonsPref.setButton4Visible(canShareNetwork);
+        mButtonsPref.setVisible(canForgetNetwork
+                || showCaptivePortalButton
+                || canConnectDisconnectNetwork
+                || canShareNetwork);
+    }
+
+    private int getConnectDisconnectButtonTextResource() {
+        switch (mWifiEntry.getConnectedState()) {
+            case WifiEntry.CONNECTED_STATE_DISCONNECTED:
+                return R.string.wifi_connect;
+            case WifiEntry.CONNECTED_STATE_CONNECTED:
+                return R.string.wifi_disconnect_button_text;
+            case WifiEntry.CONNECTED_STATE_CONNECTING:
+                return R.string.wifi_connecting;
+            default:
+                throw new IllegalStateException("Invalid WifiEntry connected state");
+        }
+    }
+
+    private int getConnectDisconnectButtonIconResource() {
+        switch (mWifiEntry.getConnectedState()) {
+            case WifiEntry.CONNECTED_STATE_DISCONNECTED:
+            case WifiEntry.CONNECTED_STATE_CONNECTING:
+                return R.drawable.ic_settings_wireless;
+            case WifiEntry.CONNECTED_STATE_CONNECTED:
+                return R.drawable.ic_settings_close;
+            default:
+                throw new IllegalStateException("Invalid WifiEntry connected state");
+        }
+    }
+
+    private void refreshIpLayerInfo() {
+        // Hide IP layer info if not a connected network.
+        if (mWifiEntry.getConnectedState() != WifiEntry.CONNECTED_STATE_CONNECTED
+                || mNetwork == null || mLinkProperties == null) {
+            mIpAddressPref.setVisible(false);
+            mSubnetPref.setVisible(false);
+            mGatewayPref.setVisible(false);
+            mDnsPref.setVisible(false);
+            mIpv6Category.setVisible(false);
+            return;
+        }
+
+        // Find IPv4 and IPv6 addresses.
+        String ipv4Address = null;
+        String subnet = null;
+        StringJoiner ipv6Addresses = new StringJoiner("\n");
+
+        for (LinkAddress addr : mLinkProperties.getLinkAddresses()) {
+            if (addr.getAddress() instanceof Inet4Address) {
+                ipv4Address = addr.getAddress().getHostAddress();
+                subnet = ipv4PrefixLengthToSubnetMask(addr.getPrefixLength());
+            } else if (addr.getAddress() instanceof Inet6Address) {
+                ipv6Addresses.add(addr.getAddress().getHostAddress());
+            }
+        }
+
+        // Find IPv4 default gateway.
+        String gateway = null;
+        for (RouteInfo routeInfo : mLinkProperties.getRoutes()) {
+            if (routeInfo.isIPv4Default() && routeInfo.hasGateway()) {
+                gateway = routeInfo.getGateway().getHostAddress();
+                break;
+            }
+        }
+
+        // Find all (IPv4 and IPv6) DNS addresses.
+        String dnsServers = mLinkProperties.getDnsServers().stream()
+                .map(InetAddress::getHostAddress)
+                .collect(Collectors.joining("\n"));
+
+        // Update UI.
+        updatePreference(mIpAddressPref, ipv4Address);
+        updatePreference(mSubnetPref, subnet);
+        updatePreference(mGatewayPref, gateway);
+        updatePreference(mDnsPref, dnsServers);
+
+        if (ipv6Addresses.length() > 0) {
+            mIpv6AddressPref.setSummary(
+                    BidiFormatter.getInstance().unicodeWrap(ipv6Addresses.toString()));
+            mIpv6Category.setVisible(true);
+        } else {
+            mIpv6Category.setVisible(false);
+        }
+    }
+
+    private static String ipv4PrefixLengthToSubnetMask(int prefixLength) {
+        try {
+            InetAddress all = InetAddress.getByAddress(
+                    new byte[]{(byte) 255, (byte) 255, (byte) 255, (byte) 255});
+            return NetworkUtils.getNetworkPart(all, prefixLength).getHostAddress();
+        } catch (UnknownHostException e) {
+            return null;
+        }
+    }
+
+    /**
+     * Returns whether the network represented by this preference can be modified.
+     */
+    public boolean canModifyNetwork() {
+        return mWifiEntry.isSaved()
+                && !WifiUtils.isNetworkLockedDown(mContext, mWifiEntry.getWifiConfiguration());
+    }
+
+    /**
+     * Returns whether the user can sign into the network represented by this preference.
+     */
+    private boolean canSignIntoNetwork() {
+        return mWifiEntry.canSignIn();
+    }
+
+    /**
+     * Returns whether the user can share the network represented by this preference with QR code.
+     */
+    private boolean canShareNetwork() {
+        return mWifiEntry.canShare();
+    }
+
+    /**
+     * Forgets the wifi network associated with this preference.
+     */
+    private void forgetNetwork() {
+        if (mWifiEntry.isSubscription()) {
+            // Post a dialog to confirm if user really want to forget the passpoint network.
+            showConfirmForgetDialog();
+            return;
+        } else {
+            mWifiEntry.forget(this);
+        }
+
+        mMetricsFeatureProvider.action(
+                mFragment.getActivity(), SettingsEnums.ACTION_WIFI_FORGET);
+        mFragment.getActivity().finish();
+    }
+
+    @VisibleForTesting
+    protected void showConfirmForgetDialog() {
+        final AlertDialog dialog = new AlertDialog.Builder(mContext)
+                .setPositiveButton(R.string.forget, ((dialog1, which) -> {
+                    try {
+                        mWifiEntry.forget(this);
+                    } catch (RuntimeException e) {
+                        Log.e(TAG, "Failed to remove Passpoint configuration: " + e);
+                    }
+                    mMetricsFeatureProvider.action(
+                            mFragment.getActivity(), SettingsEnums.ACTION_WIFI_FORGET);
+                    mFragment.getActivity().finish();
+                }))
+                .setNegativeButton(R.string.cancel, null /* listener */)
+                .setTitle(R.string.wifi_forget_dialog_title)
+                .setMessage(R.string.forget_passpoint_dialog_message)
+                .create();
+        dialog.show();
+    }
+
+    /**
+     * Show QR code to share the network represented by this preference.
+     */
+    private void launchWifiDppConfiguratorActivity() {
+        final Intent intent = WifiDppUtils.getConfiguratorQrCodeGeneratorIntentOrNull(mContext,
+                mWifiManager, mWifiEntry);
+
+        if (intent == null) {
+            Log.e(TAG, "Launch Wi-Fi DPP QR code generator with a wrong Wi-Fi network!");
+        } else {
+            mMetricsFeatureProvider.action(SettingsEnums.PAGE_UNKNOWN,
+                    SettingsEnums.ACTION_SETTINGS_SHARE_WIFI_QR_CODE,
+                    SettingsEnums.SETTINGS_WIFI_DPP_CONFIGURATOR,
+                    /* key */ null,
+                    /* value */ Integer.MIN_VALUE);
+
+            mContext.startActivity(intent);
+        }
+    }
+
+    /**
+     * Share the wifi network with QR code.
+     */
+    private void shareNetwork() {
+        WifiDppUtils.showLockScreen(mContext, () -> launchWifiDppConfiguratorActivity());
+    }
+
+    /**
+     * Sign in to the captive portal found on this wifi network associated with this preference.
+     */
+    private void signIntoNetwork() {
+        mMetricsFeatureProvider.action(
+                mFragment.getActivity(), SettingsEnums.ACTION_WIFI_SIGNIN);
+        mWifiEntry.signIn(this);
+    }
+
+    @Override
+    public void onSubmit(WifiDialog2 dialog) {
+        if (dialog.getController() != null) {
+            mWifiManager.save(dialog.getController().getConfig(), new WifiManager.ActionListener() {
+                @Override
+                public void onSuccess() {
+                }
+
+                @Override
+                public void onFailure(int reason) {
+                    Activity activity = mFragment.getActivity();
+                    if (activity != null) {
+                        Toast.makeText(activity,
+                                R.string.wifi_failed_save_message,
+                                Toast.LENGTH_SHORT).show();
+                    }
+                }
+            });
+        }
+    }
+
+    /**
+     * Wrapper for testing compatibility.
+     */
+    @VisibleForTesting
+    static class IconInjector {
+        private final Context mContext;
+
+        IconInjector(Context context) {
+            mContext = context;
+        }
+
+        public Drawable getIcon(int level) {
+            return mContext.getDrawable(Utils.getWifiIconResource(level)).mutate();
+        }
+    }
+
+    @VisibleForTesting
+    static class Clock {
+        public ZonedDateTime now() {
+            return ZonedDateTime.now();
+        }
+    }
+
+    private boolean usingDataUsageHeader(Context context) {
+        return FeatureFlagUtils.isEnabled(context, FeatureFlags.WIFI_DETAILS_DATAUSAGE_HEADER);
+    }
+
+    @VisibleForTesting
+    void connectDisconnectNetwork() {
+        if (mWifiEntry.getConnectedState() == WifiEntry.CONNECTED_STATE_DISCONNECTED) {
+            mWifiEntry.connect(this);
+        } else {
+            mWifiEntry.disconnect(this);
+        }
+    }
+
+    private void refreshMacTitle() {
+        if (!mWifiEntry.isSaved()) {
+            return;
+        }
+
+        // For saved Passpoint network, framework doesn't have the field to keep the MAC choice
+        // persistently, so Passpoint network will always use the default value so far, which is
+        // randomized MAC address, so don't need to modify title.
+        if (mWifiEntry.isSubscription()) {
+            return;
+        }
+
+        mMacAddressPref.setTitle(
+                (mWifiEntry.getPrivacy() == WifiEntry.PRIVACY_RANDOMIZED_MAC)
+                        ? R.string.wifi_advanced_randomized_mac_address_title
+                        : R.string.wifi_advanced_device_mac_address_title);
+    }
+
+    /**
+     * Indicates the state of the WifiEntry has changed and clients may retrieve updates through
+     * the WifiEntry getter methods.
+     */
+    @Override
+    public void onUpdated() {
+        refreshPage();
+
+        // Refresh the Preferences in fragment.
+        ((WifiNetworkDetailsFragment2) mFragment).refreshPreferences();
+    }
+
+    /**
+     * Result of the connect request indicated by the CONNECT_STATUS constants.
+     */
+    @Override
+    public void onConnectResult(@ConnectStatus int status) {
+        if (status == ConnectCallback.CONNECT_STATUS_SUCCESS) {
+            Toast.makeText(mContext,
+                    mContext.getString(R.string.wifi_connected_to_message, mWifiEntry.getTitle()),
+                    Toast.LENGTH_SHORT).show();
+        } else if (mWifiEntry.getLevel() == WifiEntry.WIFI_LEVEL_UNREACHABLE) {
+            Toast.makeText(mContext,
+                    R.string.wifi_not_in_range_message,
+                    Toast.LENGTH_SHORT).show();
+        } else {
+            Toast.makeText(mContext,
+                    R.string.wifi_failed_connect_message,
+                    Toast.LENGTH_SHORT).show();
+        }
+    }
+
+    /**
+     * Result of the disconnect request indicated by the DISCONNECT_STATUS constants.
+     */
+    @Override
+    public void onDisconnectResult(@DisconnectStatus int status) {
+        if (status == DisconnectCallback.DISCONNECT_STATUS_SUCCESS) {
+            final Activity activity = mFragment.getActivity();
+            if (activity != null) {
+                Toast.makeText(activity,
+                        activity.getString(R.string.wifi_disconnected_from, mWifiEntry.getTitle()),
+                        Toast.LENGTH_SHORT).show();
+            }
+        } else {
+            Log.e(TAG, "Disconnect Wi-Fi network failed");
+        }
+    }
+
+    /**
+     * Result of the forget request indicated by the FORGET_STATUS constants.
+     */
+    @Override
+    public void onForgetResult(@ForgetStatus int status) {
+        if (status != ForgetCallback.FORGET_STATUS_SUCCESS) {
+            Log.e(TAG, "Forget Wi-Fi network failed");
+        }
+
+        mMetricsFeatureProvider.action(mFragment.getActivity(), SettingsEnums.ACTION_WIFI_FORGET);
+        mFragment.getActivity().finish();
+    }
+
+    /**
+     * Result of the sign-in request indicated by the SIGNIN_STATUS constants.
+     */
+    @Override
+    public void onSignInResult(@SignInStatus int status) {
+        refreshPage();
+    }
+}
diff --git a/src/com/android/settings/wifi/details2/WifiMeteredPreferenceController2.java b/src/com/android/settings/wifi/details2/WifiMeteredPreferenceController2.java
new file mode 100644
index 0000000..b4909e2
--- /dev/null
+++ b/src/com/android/settings/wifi/details2/WifiMeteredPreferenceController2.java
@@ -0,0 +1,117 @@
+/*
+ * 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.details2;
+
+import android.app.backup.BackupManager;
+import android.content.Context;
+import android.net.wifi.WifiConfiguration;
+
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.DropDownPreference;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.core.BasePreferenceController;
+import com.android.settings.wifi.WifiDialog2;
+import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.wifitrackerlib.WifiEntry;
+
+/**
+ * {@link AbstractPreferenceController} that controls whether the wifi network is metered or not
+ */
+public class WifiMeteredPreferenceController2 extends BasePreferenceController implements
+        Preference.OnPreferenceChangeListener, WifiDialog2.WifiDialog2Listener {
+
+    private static final String KEY_WIFI_METERED = "metered";
+    private WifiEntry mWifiEntry;
+    private Preference mPreference;
+
+    public WifiMeteredPreferenceController2(Context context, WifiEntry wifiEntry) {
+        super(context, KEY_WIFI_METERED);
+        mWifiEntry = wifiEntry;
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        final DropDownPreference dropDownPreference = (DropDownPreference) preference;
+        final int meteredOverride = getMeteredOverride();
+        dropDownPreference.setValue(Integer.toString(meteredOverride));
+        updateSummary(dropDownPreference, meteredOverride);
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return AVAILABLE;
+    }
+
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object newValue) {
+        if (mWifiEntry.isSaved() || mWifiEntry.isSubscription()) {
+            mWifiEntry.setMeteredChoice(Integer.parseInt((String) newValue));
+        }
+
+        // Stage the backup of the SettingsProvider package which backs this up
+        BackupManager.dataChanged("com.android.providers.settings");
+        updateSummary((DropDownPreference) preference, getMeteredOverride());
+        return true;
+    }
+
+    @VisibleForTesting
+    int getMeteredOverride() {
+        if (mWifiEntry.isSaved() || mWifiEntry.isSubscription()) {
+            // Wrap the meteredOverride since robolectric cannot recognize it
+            return mWifiEntry.getMeteredChoice();
+        }
+        return WifiEntry.METERED_CHOICE_AUTO;
+    }
+
+    private void updateSummary(DropDownPreference preference, int meteredOverride) {
+        preference.setSummary(preference.getEntries()[meteredOverride]);
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        mPreference = screen.findPreference(getPreferenceKey());
+    }
+
+    @Override
+    public void onSubmit(WifiDialog2 dialog) {
+        if (dialog.getController() != null && mWifiEntry.canSetMeteredChoice()) {
+            final WifiConfiguration newConfig = dialog.getController().getConfig();
+            if (newConfig == null) {
+                return;
+            }
+
+            if (getWifiEntryMeteredChoice(newConfig) != mWifiEntry.getMeteredChoice()) {
+                mWifiEntry.setMeteredChoice(getWifiEntryMeteredChoice(newConfig));
+                onPreferenceChange(mPreference, String.valueOf(newConfig.meteredOverride));
+            }
+        }
+    }
+
+    private int getWifiEntryMeteredChoice(WifiConfiguration wifiConfiguration) {
+        switch (wifiConfiguration.meteredOverride) {
+            case WifiConfiguration.METERED_OVERRIDE_METERED:
+                return WifiEntry.METERED_CHOICE_METERED;
+            case WifiConfiguration.METERED_OVERRIDE_NOT_METERED:
+                return WifiEntry.METERED_CHOICE_UNMETERED;
+            default:
+                return WifiEntry.METERED_CHOICE_AUTO;
+        }
+    }
+}
diff --git a/src/com/android/settings/wifi/details2/WifiNetworkDetailsFragment2.java b/src/com/android/settings/wifi/details2/WifiNetworkDetailsFragment2.java
new file mode 100644
index 0000000..6ad4c94
--- /dev/null
+++ b/src/com/android/settings/wifi/details2/WifiNetworkDetailsFragment2.java
@@ -0,0 +1,241 @@
+/*
+ * 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.details2;
+
+import static com.android.settings.wifi.WifiSettings.WIFI_DIALOG_ID;
+
+import android.app.Dialog;
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.net.ConnectivityManager;
+import android.net.NetworkScoreManager;
+import android.net.wifi.WifiManager;
+import android.os.Handler;
+import android.os.HandlerThread;
+import android.os.Looper;
+import android.os.Process;
+import android.os.SimpleClock;
+import android.os.SystemClock;
+import android.view.Menu;
+import android.view.MenuInflater;
+import android.view.MenuItem;
+
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.wifi.WifiConfigUiBase2;
+import com.android.settings.wifi.WifiDialog2;
+import com.android.settingslib.RestrictedLockUtils;
+import com.android.settingslib.RestrictedLockUtilsInternal;
+import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.wifitrackerlib.NetworkDetailsTracker;
+import com.android.wifitrackerlib.WifiEntry;
+
+import java.time.Clock;
+import java.time.ZoneOffset;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Detail page for the currently connected wifi network.
+ *
+ * <p>The key of {@link WifiEntry} should be saved to the intent Extras when launching this class
+ * in order to properly render this page.
+ */
+public class WifiNetworkDetailsFragment2 extends DashboardFragment implements
+        WifiDialog2.WifiDialog2Listener {
+
+    private static final String TAG = "WifiNetworkDetailsFrg2";
+
+    // Key of a Bundle to save/restore the selected WifiEntry
+    public static final String KEY_CHOSEN_WIFIENTRY_KEY = "key_chosen_wifientry_key";
+
+    // Max age of tracked WifiEntries
+    private static final long MAX_SCAN_AGE_MILLIS = 15_000;
+    // Interval between initiating SavedNetworkTracker scans
+    private static final long SCAN_INTERVAL_MILLIS = 10_000;
+
+    private NetworkDetailsTracker mNetworkDetailsTracker;
+    private HandlerThread mWorkerThread;
+    private WifiDetailPreferenceController2 mWifiDetailPreferenceController2;
+    private List<WifiDialog2.WifiDialog2Listener> mWifiDialogListeners = new ArrayList<>();
+    private List<AbstractPreferenceController> mControllers;
+
+    @Override
+    public void onDestroy() {
+        mWorkerThread.quit();
+
+        super.onDestroy();
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.WIFI_NETWORK_DETAILS;
+    }
+
+    @Override
+    protected String getLogTag() {
+        return TAG;
+    }
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.wifi_network_details_fragment2;
+    }
+
+    @Override
+    public int getDialogMetricsCategory(int dialogId) {
+        if (dialogId == WIFI_DIALOG_ID) {
+            return SettingsEnums.DIALOG_WIFI_AP_EDIT;
+        }
+        return 0;
+    }
+
+    @Override
+    public Dialog onCreateDialog(int dialogId) {
+        if (getActivity() == null || mWifiDetailPreferenceController2 == null) {
+            return null;
+        }
+
+        final WifiEntry wifiEntry = mNetworkDetailsTracker.getWifiEntry();
+        return WifiDialog2.createModal(getActivity(), this, wifiEntry,
+                WifiConfigUiBase2.MODE_MODIFY);
+    }
+
+    @Override
+    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
+        MenuItem item = menu.add(0, Menu.FIRST, 0, R.string.wifi_modify);
+        item.setIcon(com.android.internal.R.drawable.ic_mode_edit);
+        item.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
+        super.onCreateOptionsMenu(menu, inflater);
+    }
+
+    @Override
+    public boolean onOptionsItemSelected(MenuItem menuItem) {
+        switch (menuItem.getItemId()) {
+            case Menu.FIRST:
+                if (!mWifiDetailPreferenceController2.canModifyNetwork()) {
+                    RestrictedLockUtils.sendShowAdminSupportDetailsIntent(getContext(),
+                            RestrictedLockUtilsInternal.getDeviceOwner(getContext()));
+                } else {
+                    showDialog(WIFI_DIALOG_ID);
+                }
+                return true;
+            default:
+                return super.onOptionsItemSelected(menuItem);
+        }
+    }
+
+    @Override
+    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
+        mControllers = new ArrayList<>();
+        final ConnectivityManager cm = context.getSystemService(ConnectivityManager.class);
+        setupNetworksDetailTracker();
+        final WifiEntry wifiEntry = mNetworkDetailsTracker.getWifiEntry();
+
+        mWifiDetailPreferenceController2 = WifiDetailPreferenceController2.newInstance(
+                wifiEntry,
+                cm,
+                context,
+                this,
+                new Handler(Looper.getMainLooper()),  // UI thread.
+                getSettingsLifecycle(),
+                context.getSystemService(WifiManager.class),
+                mMetricsFeatureProvider);
+        mControllers.add(mWifiDetailPreferenceController2);
+
+        final WifiAutoConnectPreferenceController2 wifiAutoConnectPreferenceController2 =
+                new WifiAutoConnectPreferenceController2(context);
+        wifiAutoConnectPreferenceController2.setWifiEntry(wifiEntry);
+        mControllers.add(wifiAutoConnectPreferenceController2);
+
+        final AddDevicePreferenceController2 addDevicePreferenceController2 =
+                new AddDevicePreferenceController2(context);
+        addDevicePreferenceController2.setWifiEntry(wifiEntry);
+        mControllers.add(addDevicePreferenceController2);
+
+        final WifiMeteredPreferenceController2 meteredPreferenceController2 =
+                new WifiMeteredPreferenceController2(context, wifiEntry);
+        mControllers.add(meteredPreferenceController2);
+
+        final WifiPrivacyPreferenceController2 privacyController2 =
+                new WifiPrivacyPreferenceController2(context);
+        privacyController2.setWifiEntry(wifiEntry);
+        mControllers.add(privacyController2);
+
+        final WifiSubscriptionDetailPreferenceController2
+                wifiSubscriptionDetailPreferenceController2 =
+                new WifiSubscriptionDetailPreferenceController2(context);
+        wifiSubscriptionDetailPreferenceController2.setWifiEntry(wifiEntry);
+        mControllers.add(wifiSubscriptionDetailPreferenceController2);
+
+        // Sets callback listener for wifi dialog.
+        mWifiDialogListeners.add(mWifiDetailPreferenceController2);
+        mWifiDialogListeners.add(privacyController2);
+        mWifiDialogListeners.add(meteredPreferenceController2);
+
+        return mControllers;
+    }
+
+    @Override
+    public void onSubmit(WifiDialog2 dialog) {
+        for (WifiDialog2.WifiDialog2Listener listener : mWifiDialogListeners) {
+            listener.onSubmit(dialog);
+        }
+    }
+
+    private void setupNetworksDetailTracker() {
+        if (mNetworkDetailsTracker != null) {
+            return;
+        }
+
+        final Context context = getContext();
+        mWorkerThread = new HandlerThread(TAG
+                + "{" + Integer.toHexString(System.identityHashCode(this)) + "}",
+                Process.THREAD_PRIORITY_BACKGROUND);
+        mWorkerThread.start();
+        final Clock elapsedRealtimeClock = new SimpleClock(ZoneOffset.UTC) {
+            @Override
+            public long millis() {
+                return SystemClock.elapsedRealtime();
+            }
+        };
+
+        mNetworkDetailsTracker = NetworkDetailsTracker.createNetworkDetailsTracker(
+                getSettingsLifecycle(),
+                context,
+                context.getSystemService(WifiManager.class),
+                context.getSystemService(ConnectivityManager.class),
+                context.getSystemService(NetworkScoreManager.class),
+                new Handler(Looper.getMainLooper()),
+                mWorkerThread.getThreadHandler(),
+                elapsedRealtimeClock,
+                MAX_SCAN_AGE_MILLIS,
+                SCAN_INTERVAL_MILLIS,
+                getArguments().getString(KEY_CHOSEN_WIFIENTRY_KEY));
+    }
+
+    /**
+     * API call for refreshing the preferences in this fragment.
+     */
+    public void refreshPreferences() {
+        final PreferenceScreen screen = getPreferenceScreen();
+        for (AbstractPreferenceController controller : mControllers) {
+            controller.displayPreference(screen);
+        }
+    }
+}
diff --git a/src/com/android/settings/wifi/details2/WifiPrivacyPreferenceController2.java b/src/com/android/settings/wifi/details2/WifiPrivacyPreferenceController2.java
new file mode 100644
index 0000000..b87b05d
--- /dev/null
+++ b/src/com/android/settings/wifi/details2/WifiPrivacyPreferenceController2.java
@@ -0,0 +1,163 @@
+/*
+ * 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.details2;
+
+import android.content.Context;
+import android.net.wifi.WifiConfiguration;
+import android.net.wifi.WifiManager;
+
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.DropDownPreference;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settings.core.BasePreferenceController;
+import com.android.settings.wifi.WifiDialog2;
+import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.wifitrackerlib.WifiEntry;
+
+/**
+ * {@link AbstractPreferenceController} that controls whether the wifi network is mac randomized
+ * or not
+ */
+public class WifiPrivacyPreferenceController2 extends BasePreferenceController implements
+        Preference.OnPreferenceChangeListener, WifiDialog2.WifiDialog2Listener {
+
+    private static final String KEY_WIFI_PRIVACY = "privacy";
+    private WifiManager mWifiManager;
+    private WifiEntry mWifiEntry;
+    private Preference mPreference;
+
+    public WifiPrivacyPreferenceController2(Context context) {
+        super(context, KEY_WIFI_PRIVACY);
+
+        mWifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
+    }
+
+    public void setWifiEntry(WifiEntry wifiEntry) {
+        mWifiEntry = wifiEntry;
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return mWifiManager.isConnectedMacRandomizationSupported()
+                ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        mPreference = screen.findPreference(getPreferenceKey());
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        final DropDownPreference dropDownPreference = (DropDownPreference) preference;
+        final int randomizationLevel = getRandomizationValue();
+        dropDownPreference.setValue(Integer.toString(randomizationLevel));
+        updateSummary(dropDownPreference, randomizationLevel);
+
+        // Makes preference not selectable, when this is a ephemeral network.
+        if (!mWifiEntry.canSetPrivacy()) {
+            preference.setSelectable(false);
+            dropDownPreference.setSummary(R.string.wifi_privacy_settings_ephemeral_summary);
+        }
+    }
+
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object newValue) {
+        final int privacy = Integer.parseInt((String) newValue);
+        if (mWifiEntry.isSaved()) {
+            mWifiEntry.setPrivacy(privacy);
+
+            // To activate changing, we need to reconnect network. WiFi will auto connect to
+            // current network after disconnect(). Only needed when this is connected network.
+            if (mWifiEntry.getConnectedState() == WifiEntry.CONNECTED_STATE_CONNECTED) {
+                mWifiEntry.disconnect(null /* callback */);
+            }
+        }
+        updateSummary((DropDownPreference) preference, privacy);
+        return true;
+    }
+
+    @VisibleForTesting
+    int getRandomizationValue() {
+        if (mWifiEntry.isSaved()) {
+            return mWifiEntry.getPrivacy();
+        }
+        return WifiEntry.PRIVACY_RANDOMIZED_MAC;
+    }
+
+    private static final int PREF_RANDOMIZATION_PERSISTENT = 0;
+    private static final int PREF_RANDOMIZATION_NONE = 1;
+
+    /**
+     * Returns preference index value.
+     *
+     * @param macRandomized is mac randomized value
+     * @return index value of preference
+     */
+    public static int translateMacRandomizedValueToPrefValue(int macRandomized) {
+        return (macRandomized == WifiEntry.PRIVACY_RANDOMIZED_MAC)
+            ? PREF_RANDOMIZATION_PERSISTENT : PREF_RANDOMIZATION_NONE;
+    }
+
+    /**
+     * Returns mac randomized value.
+     *
+     * @param prefMacRandomized is preference index value
+     * @return mac randomized value
+     */
+    public static int translatePrefValueToMacRandomizedValue(int prefMacRandomized) {
+        return (prefMacRandomized == PREF_RANDOMIZATION_PERSISTENT)
+            ? WifiEntry.PRIVACY_RANDOMIZED_MAC : WifiEntry.PRIVACY_DEVICE_MAC;
+    }
+
+    private void updateSummary(DropDownPreference preference, int macRandomized) {
+        // Translates value here to set RANDOMIZATION_PERSISTENT as first item in UI for better UX.
+        final int prefMacRandomized = translateMacRandomizedValueToPrefValue(macRandomized);
+        preference.setSummary(preference.getEntries()[prefMacRandomized]);
+    }
+
+    @Override
+    public void onSubmit(WifiDialog2 dialog) {
+        if (dialog.getController() != null) {
+            final WifiConfiguration newConfig = dialog.getController().getConfig();
+            if (newConfig == null || !mWifiEntry.isSaved()) {
+                return;
+            }
+
+            if (newConfig.macRandomizationSetting
+                        != mWifiEntry.getWifiConfiguration().macRandomizationSetting) {
+                mWifiEntry.setPrivacy(getWifiEntryPrivacy(newConfig));
+                onPreferenceChange(mPreference, String.valueOf(newConfig.macRandomizationSetting));
+            }
+        }
+    }
+
+    private int getWifiEntryPrivacy(WifiConfiguration wifiConfiguration) {
+        switch (wifiConfiguration.macRandomizationSetting) {
+            case WifiConfiguration.RANDOMIZATION_NONE:
+                return WifiEntry.PRIVACY_DEVICE_MAC;
+            case WifiConfiguration.RANDOMIZATION_PERSISTENT:
+                return WifiEntry.PRIVACY_RANDOMIZED_MAC;
+            default:
+                return WifiEntry.PRIVACY_UNKNOWN;
+        }
+    }
+}
diff --git a/src/com/android/settings/wifi/details2/WifiSubscriptionDetailPreferenceController2.java b/src/com/android/settings/wifi/details2/WifiSubscriptionDetailPreferenceController2.java
new file mode 100644
index 0000000..2598fb3
--- /dev/null
+++ b/src/com/android/settings/wifi/details2/WifiSubscriptionDetailPreferenceController2.java
@@ -0,0 +1,56 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.settings.wifi.details2;
+
+import android.content.Context;
+
+import androidx.preference.Preference;
+
+import com.android.settings.core.BasePreferenceController;
+import com.android.wifitrackerlib.WifiEntry;
+
+/**
+ * {@link BasePreferenceController} that controls show the subscription detail preference item.
+ * or not
+ */
+public class WifiSubscriptionDetailPreferenceController2 extends BasePreferenceController {
+
+    private static final String KEY_WIFI_SUBSCRIPTION_DETAIL = "subscription_detail";
+    private WifiEntry mWifiEntry;
+
+    public WifiSubscriptionDetailPreferenceController2(Context context) {
+        super(context, KEY_WIFI_SUBSCRIPTION_DETAIL);
+    }
+
+    public void setWifiEntry(WifiEntry wifiEntry) {
+        mWifiEntry = wifiEntry;
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return mWifiEntry.canManageSubscription() ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
+    }
+
+    @Override
+    public boolean handlePreferenceTreeClick(Preference preference) {
+        if (KEY_WIFI_SUBSCRIPTION_DETAIL.equals(preference.getKey())) {
+            mWifiEntry.manageSubscription();
+            return true; /* click is handled */
+        }
+
+        return false; /* click is not handled */
+    }
+}
diff --git a/src/com/android/settings/wifi/dpp/AdbQrCode.java b/src/com/android/settings/wifi/dpp/AdbQrCode.java
new file mode 100644
index 0000000..fb63e0a
--- /dev/null
+++ b/src/com/android/settings/wifi/dpp/AdbQrCode.java
@@ -0,0 +1,56 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.settings.wifi.dpp;
+
+import android.text.TextUtils;
+
+/**
+ * Extension of WifiQrCode to support ADB QR code format.
+ * It will be based on the ZXing format:
+ *
+ * WIFI:T:ADB;S:myname;P:mypassword;;
+ */
+public class AdbQrCode extends WifiQrCode {
+    static final String SECURITY_ADB = "ADB";
+
+    private WifiNetworkConfig mAdbConfig;
+
+    public AdbQrCode(String qrCode) throws IllegalArgumentException {
+        super(qrCode);
+
+        // Only accept the zxing format.
+        if (!WifiQrCode.SCHEME_ZXING_WIFI_NETWORK_CONFIG.equals(getScheme())) {
+            throw new IllegalArgumentException("DPP format not supported for ADB QR code");
+        }
+
+        mAdbConfig = getWifiNetworkConfig();
+        if (!SECURITY_ADB.equals(mAdbConfig.getSecurity())) {
+            throw new IllegalArgumentException("Invalid security type");
+        }
+
+        if (TextUtils.isEmpty(mAdbConfig.getSsid())) {
+            throw new IllegalArgumentException("Empty service name");
+        }
+
+        if (TextUtils.isEmpty(mAdbConfig.getPreSharedKey())) {
+            throw new IllegalArgumentException("Empty password");
+        }
+    }
+
+    public WifiNetworkConfig getAdbNetworkConfig() {
+        return mAdbConfig;
+    }
+}
diff --git a/src/com/android/settings/wifi/dpp/WifiDppAddDeviceFragment.java b/src/com/android/settings/wifi/dpp/WifiDppAddDeviceFragment.java
index 3a9308e..17475df 100644
--- a/src/com/android/settings/wifi/dpp/WifiDppAddDeviceFragment.java
+++ b/src/com/android/settings/wifi/dpp/WifiDppAddDeviceFragment.java
@@ -16,29 +16,35 @@
 
 package com.android.settings.wifi.dpp;
 
-import android.app.ActionBar;
+import static android.provider.Settings.EXTRA_EASY_CONNECT_ATTEMPTED_SSID;
+import static android.provider.Settings.EXTRA_EASY_CONNECT_BAND_LIST;
+import static android.provider.Settings.EXTRA_EASY_CONNECT_CHANNEL_LIST;
+import static android.provider.Settings.EXTRA_EASY_CONNECT_ERROR_CODE;
+
 import android.app.Activity;
 import android.app.settings.SettingsEnums;
 import android.content.Context;
-import android.content.pm.ActivityInfo;
+import android.content.Intent;
 import android.net.wifi.EasyConnectStatusCallback;
 import android.net.wifi.WifiManager;
 import android.os.Bundle;
 import android.text.TextUtils;
 import android.util.Log;
+import android.util.SparseArray;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
-import android.view.accessibility.AccessibilityEvent;
 import android.widget.Button;
 import android.widget.ImageView;
-import android.widget.ProgressBar;
 
 import androidx.lifecycle.ViewModelProviders;
 
 import com.android.settings.R;
 
-import java.util.concurrent.Executor;
+import com.google.android.setupcompat.template.FooterButton;
+
+import org.json.JSONArray;
+import org.json.JSONObject;
 
 /**
  * After getting Wi-Fi network information and(or) QR code, this fragment config a device to connect
@@ -47,16 +53,13 @@
 public class WifiDppAddDeviceFragment extends WifiDppQrCodeBaseFragment {
     private static final String TAG = "WifiDppAddDeviceFragment";
 
-    private ProgressBar mProgressBar;
     private ImageView mWifiApPictureView;
     private Button mChooseDifferentNetwork;
-    private Button mButtonLeft;
-    private Button mButtonRight;
 
     private int mLatestStatusCode = WifiDppUtils.EASY_CONNECT_EVENT_FAILURE_NONE;
 
     // Key for Bundle usage
-    private static final String KEY_LATEST_ERROR_CODE = "key_latest_error_code";
+    private static final String KEY_LATEST_STATUS_CODE = "key_latest_status_code";
 
     private class EasyConnectConfiguratorStatusCallback extends EasyConnectStatusCallback {
         @Override
@@ -70,10 +73,25 @@
         }
 
         @Override
-        public void onFailure(int code) {
-            Log.d(TAG, "EasyConnectConfiguratorStatusCallback.onFailure " + code);
+        public void onFailure(int code, String ssid, SparseArray<int[]> channelListArray,
+                int[] operatingClassArray) {
+            Log.d(TAG, "EasyConnectConfiguratorStatusCallback.onFailure: " + code);
+            if (!TextUtils.isEmpty(ssid)) {
+                Log.d(TAG, "Tried SSID: " + ssid);
+            }
+            if (channelListArray.size() != 0) {
+                Log.d(TAG, "Tried channels: " + channelListArray);
+            }
+            if (operatingClassArray != null && operatingClassArray.length > 0) {
+                StringBuilder sb = new StringBuilder("Supported bands: ");
+                for (int i = 0; i < operatingClassArray.length; i++) {
+                    sb.append(operatingClassArray[i] + " ");
+                }
+                Log.d(TAG, sb.toString());
+            }
 
-            showErrorUi(code, /* isConfigurationChange */ false);
+            showErrorUi(code, getResultIntent(code, ssid, channelListArray,
+                    operatingClassArray), /* isConfigurationChange */ false);
         }
 
         @Override
@@ -83,43 +101,92 @@
     }
 
     private void showSuccessUi(boolean isConfigurationChange) {
-        setHeaderIconImageResource(R.drawable.ic_devices_check_circle_green);
-        mTitle.setText(R.string.wifi_dpp_wifi_shared_with_device);
-        mProgressBar.setVisibility(isGoingInitiator() ? View.VISIBLE : View.INVISIBLE);
+        setHeaderIconImageResource(R.drawable.ic_devices_check_circle_green_32dp);
+        setHeaderTitle(R.string.wifi_dpp_wifi_shared_with_device);
+        setProgressBarShown(isEasyConnectHandshaking());
         mSummary.setVisibility(View.INVISIBLE);
         mWifiApPictureView.setImageResource(R.drawable.wifi_dpp_success);
         mChooseDifferentNetwork.setVisibility(View.INVISIBLE);
-        mButtonLeft.setText(R.string.wifi_dpp_add_another_device);
-        mButtonLeft.setOnClickListener(v -> getFragmentManager().popBackStack());
-        mButtonRight.setText(R.string.done);
-        mButtonRight.setOnClickListener(v -> {
+        mLeftButton.setText(getContext(), R.string.wifi_dpp_add_another_device);
+        mLeftButton.setOnClickListener(v -> getFragmentManager().popBackStack());
+        mRightButton.setText(getContext(), R.string.done);
+        mRightButton.setOnClickListener(v -> {
             final Activity activity = getActivity();
             activity.setResult(Activity.RESULT_OK);
             activity.finish();
         });
+        mRightButton.setVisibility(View.VISIBLE);
 
         if (!isConfigurationChange) {
             mLatestStatusCode = WifiDppUtils.EASY_CONNECT_EVENT_SUCCESS;
-            changeFocusAndAnnounceChange(mButtonRight, mTitle);
         }
     }
 
-    private void showErrorUi(int code, boolean isConfigurationChange) {
+    private Intent getResultIntent(int code, String ssid, SparseArray<int[]> channelListArray,
+            int[] operatingClassArray) {
+        Intent intent = new Intent();
+        intent.putExtra(EXTRA_EASY_CONNECT_ERROR_CODE, code);
+
+        if (!TextUtils.isEmpty(ssid)) {
+            intent.putExtra(EXTRA_EASY_CONNECT_ATTEMPTED_SSID, ssid);
+        }
+        if (channelListArray != null && channelListArray.size() != 0) {
+            int key;
+            int index = 0;
+            JSONObject formattedChannelList = new JSONObject();
+
+            // Build a JSON array of operating classes, with an array of channels for each
+            // operating class.
+            do {
+                try {
+                    key = channelListArray.keyAt(index);
+                } catch (java.lang.ArrayIndexOutOfBoundsException e) {
+                    break;
+                }
+                JSONArray channelsInClassArray = new JSONArray();
+
+                int[] output = channelListArray.get(key);
+                for (int i = 0; i < output.length; i++) {
+                    channelsInClassArray.put(output[i]);
+                }
+                try {
+                    formattedChannelList.put(Integer.toString(key), channelsInClassArray);
+                } catch (org.json.JSONException e) {
+                    formattedChannelList = new JSONObject();
+                    break;
+                }
+                index++;
+            } while (true);
+
+            intent.putExtra(EXTRA_EASY_CONNECT_CHANNEL_LIST,
+                    formattedChannelList.toString());
+        }
+        if (operatingClassArray != null && operatingClassArray.length != 0) {
+            intent.putExtra(EXTRA_EASY_CONNECT_BAND_LIST, operatingClassArray);
+        }
+
+        return intent;
+    }
+
+    private void showErrorUi(int code, Intent resultIntent, boolean isConfigurationChange) {
+        CharSequence summaryCharSequence;
         switch (code) {
             case EasyConnectStatusCallback.EASY_CONNECT_EVENT_FAILURE_INVALID_URI:
-                mSummary.setText(R.string.wifi_dpp_could_not_detect_valid_qr_code);
+                summaryCharSequence = getText(R.string.wifi_dpp_qr_code_is_not_valid_format);
                 break;
 
             case EasyConnectStatusCallback.EASY_CONNECT_EVENT_FAILURE_AUTHENTICATION:
-                mSummary.setText(R.string.wifi_dpp_failure_authentication_or_configuration);
+                summaryCharSequence = getText(
+                        R.string.wifi_dpp_failure_authentication_or_configuration);
                 break;
 
             case EasyConnectStatusCallback.EASY_CONNECT_EVENT_FAILURE_NOT_COMPATIBLE:
-                mSummary.setText(R.string.wifi_dpp_failure_not_compatible);
+                summaryCharSequence = getText(R.string.wifi_dpp_failure_not_compatible);
                 break;
 
             case EasyConnectStatusCallback.EASY_CONNECT_EVENT_FAILURE_CONFIGURATION:
-                mSummary.setText(R.string.wifi_dpp_failure_authentication_or_configuration);
+                summaryCharSequence = getText(
+                        R.string.wifi_dpp_failure_authentication_or_configuration);
                 break;
 
             case EasyConnectStatusCallback.EASY_CONNECT_EVENT_FAILURE_BUSY:
@@ -140,46 +207,66 @@
                 return;
 
             case EasyConnectStatusCallback.EASY_CONNECT_EVENT_FAILURE_TIMEOUT:
-                mSummary.setText(R.string.wifi_dpp_failure_timeout);
+                summaryCharSequence = getText(R.string.wifi_dpp_failure_timeout);
                 break;
 
             case EasyConnectStatusCallback.EASY_CONNECT_EVENT_FAILURE_GENERIC:
-                mSummary.setText(R.string.wifi_dpp_failure_generic);
+                summaryCharSequence = getText(R.string.wifi_dpp_failure_generic);
                 break;
 
             case EasyConnectStatusCallback.EASY_CONNECT_EVENT_FAILURE_NOT_SUPPORTED:
-                mSummary.setText(getString(R.string.wifi_dpp_failure_not_supported, getSsid()));
+                summaryCharSequence = getString(
+                        R.string.wifi_dpp_failure_not_supported, getSsid());
                 break;
 
             case EasyConnectStatusCallback.EASY_CONNECT_EVENT_FAILURE_INVALID_NETWORK:
                 throw(new IllegalStateException("Wi-Fi DPP configurator used a non-PSK/non-SAE"
                         + "network to handshake"));
 
+            case EasyConnectStatusCallback.EASY_CONNECT_EVENT_FAILURE_CANNOT_FIND_NETWORK:
+                summaryCharSequence = getText(R.string.wifi_dpp_failure_cannot_find_network);
+                break;
+
+            case EasyConnectStatusCallback.EASY_CONNECT_EVENT_FAILURE_ENROLLEE_AUTHENTICATION:
+                summaryCharSequence = getText(R.string.wifi_dpp_failure_enrollee_authentication);
+                break;
+
+            case EasyConnectStatusCallback
+                    .EASY_CONNECT_EVENT_FAILURE_ENROLLEE_REJECTED_CONFIGURATION:
+                summaryCharSequence =
+                        getText(R.string.wifi_dpp_failure_enrollee_rejected_configuration);
+                break;
+
             default:
                 throw(new IllegalStateException("Unexpected Wi-Fi DPP error"));
         }
 
-        mTitle.setText(R.string.wifi_dpp_could_not_add_device);
+        setHeaderTitle(R.string.wifi_dpp_could_not_add_device);
+        mSummary.setText(summaryCharSequence);
         mWifiApPictureView.setImageResource(R.drawable.wifi_dpp_error);
         mChooseDifferentNetwork.setVisibility(View.INVISIBLE);
+        FooterButton finishingButton = mLeftButton;
         if (hasRetryButton(code)) {
-            mButtonRight.setText(R.string.retry);
+            mRightButton.setText(getContext(), R.string.retry);
         } else {
-            mButtonRight.setText(R.string.done);
-            mButtonRight.setOnClickListener(v -> getActivity().finish());
-            mButtonLeft.setVisibility(View.INVISIBLE);
+            mRightButton.setText(getContext(), R.string.done);
+            finishingButton = mRightButton;
+            mLeftButton.setVisibility(View.INVISIBLE);
         }
+        finishingButton.setOnClickListener(v -> {
+            getActivity().setResult(Activity.RESULT_CANCELED, resultIntent);
+            getActivity().finish();
+        });
 
-        if (isGoingInitiator()) {
+        if (isEasyConnectHandshaking()) {
             mSummary.setText(R.string.wifi_dpp_sharing_wifi_with_this_device);
         }
 
-        mProgressBar.setVisibility(isGoingInitiator() ? View.VISIBLE : View.INVISIBLE);
-        mButtonRight.setVisibility(isGoingInitiator() ? View.INVISIBLE : View.VISIBLE);
+        setProgressBarShown(isEasyConnectHandshaking());
+        mRightButton.setVisibility(isEasyConnectHandshaking() ? View.INVISIBLE : View.VISIBLE);
 
         if (!isConfigurationChange) {
             mLatestStatusCode = code;
-            changeFocusAndAnnounceChange(mButtonRight, mSummary);
         }
     }
 
@@ -206,7 +293,7 @@
         super.onCreate(savedInstanceState);
 
         if (savedInstanceState != null) {
-            mLatestStatusCode = savedInstanceState.getInt(KEY_LATEST_ERROR_CODE);
+            mLatestStatusCode = savedInstanceState.getInt(KEY_LATEST_STATUS_CODE);
         }
 
         final WifiDppInitiatorViewModel model =
@@ -215,7 +302,7 @@
         model.getStatusCode().observe(this, statusCode -> {
             // After configuration change, observe callback will be triggered,
             // do nothing for this case if a handshake does not end
-            if (model.isGoingInitiator()) {
+            if (model.isWifiDppHandshaking()) {
                 return;
             }
 
@@ -223,22 +310,13 @@
             if (code == WifiDppUtils.EASY_CONNECT_EVENT_SUCCESS) {
                 new EasyConnectConfiguratorStatusCallback().onConfiguratorSuccess(code);
             } else {
-                new EasyConnectConfiguratorStatusCallback().onFailure(code);
+                new EasyConnectConfiguratorStatusCallback().onFailure(code, model.getTriedSsid(),
+                        model.getTriedChannels(), model.getBandArray());
             }
         });
     }
 
     @Override
-    public void onActivityCreated(Bundle savedInstanceState) {
-        super.onActivityCreated(savedInstanceState);
-
-        final ActionBar actionBar = getActivity().getActionBar();
-        if (actionBar != null) {
-            actionBar.hide();
-        }
-    }
-
-    @Override
     public final View onCreateView(LayoutInflater inflater, ViewGroup container,
             Bundle savedInstanceState) {
         return inflater.inflate(R.layout.wifi_dpp_add_device_fragment, container,
@@ -249,17 +327,15 @@
     public void onViewCreated(View view, Bundle savedInstanceState) {
         super.onViewCreated(view, savedInstanceState);
 
-        setHeaderIconImageResource(R.drawable.ic_devices_other_opaque_black);
-
-        mProgressBar = view.findViewById(R.id.indeterminate_bar);
+        setHeaderIconImageResource(R.drawable.ic_devices_other_32dp);
 
         final WifiQrCode wifiQrCode = ((WifiDppConfiguratorActivity) getActivity())
                 .getWifiDppQrCode();
         final String information = wifiQrCode.getInformation();
         if (TextUtils.isEmpty(information)) {
-            mTitle.setText(R.string.wifi_dpp_device_found);
+            setHeaderTitle(R.string.wifi_dpp_device_found);
         } else {
-            mTitle.setText(information);
+            setHeaderTitle(information);
         }
 
         updateSummary();
@@ -270,37 +346,34 @@
             mClickChooseDifferentNetworkListener.onClickChooseDifferentNetwork()
         );
 
-        mButtonLeft = view.findViewById(R.id.button_left);
-        mButtonLeft.setText(R.string.cancel);
-        mButtonLeft.setOnClickListener(v -> getActivity().finish());
+        mLeftButton.setText(getContext(), R.string.cancel);
+        mLeftButton.setOnClickListener(v -> getActivity().finish());
 
-        mButtonRight = view.findViewById(R.id.button_right);
-        mButtonRight.setText(R.string.wifi_dpp_share_wifi);
-        mButtonRight.setOnClickListener(v -> {
-            mProgressBar.setVisibility(View.VISIBLE);
-            mButtonRight.setVisibility(View.INVISIBLE);
+        mRightButton.setText(getContext(), R.string.wifi_dpp_share_wifi);
+        mRightButton.setOnClickListener(v -> {
+            setProgressBarShown(true);
+            mRightButton.setVisibility(View.INVISIBLE);
             startWifiDppConfiguratorInitiator();
             updateSummary();
-            mTitleSummaryContainer.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED);
         });
 
         if (savedInstanceState != null) {
             if (mLatestStatusCode == WifiDppUtils.EASY_CONNECT_EVENT_SUCCESS) {
                 showSuccessUi(/* isConfigurationChange */ true);
             } else if (mLatestStatusCode == WifiDppUtils.EASY_CONNECT_EVENT_FAILURE_NONE) {
-                mProgressBar.setVisibility(isGoingInitiator() ? View.VISIBLE : View.INVISIBLE);
-                mButtonRight.setVisibility(isGoingInitiator() ? View.INVISIBLE : View.VISIBLE);
+                setProgressBarShown(isEasyConnectHandshaking());
+                mRightButton.setVisibility(isEasyConnectHandshaking() ?
+                        View.INVISIBLE : View.VISIBLE);
             } else {
-                showErrorUi(mLatestStatusCode, /* isConfigurationChange */ true);
+                showErrorUi(mLatestStatusCode, /* reslutIntent */ null, /* isConfigurationChange */
+                        true);
             }
-        } else {
-            changeFocusAndAnnounceChange(mButtonRight, mTitleSummaryContainer);
         }
     }
 
     @Override
     public void onSaveInstanceState(Bundle outState) {
-        outState.putInt(KEY_LATEST_ERROR_CODE, mLatestStatusCode);
+        outState.putInt(KEY_LATEST_STATUS_CODE, mLatestStatusCode);
 
         super.onSaveInstanceState(outState);
     }
@@ -328,9 +401,9 @@
 
     // Container Activity must implement this interface
     public interface OnClickChooseDifferentNetworkListener {
-        public void onClickChooseDifferentNetwork();
+        void onClickChooseDifferentNetwork();
     }
-    OnClickChooseDifferentNetworkListener mClickChooseDifferentNetworkListener;
+    private OnClickChooseDifferentNetworkListener mClickChooseDifferentNetworkListener;
 
     @Override
     public void onAttach(Context context) {
@@ -347,31 +420,23 @@
     }
 
     // Check is Easy Connect handshaking or not
-    private boolean isGoingInitiator() {
+    private boolean isEasyConnectHandshaking() {
         final WifiDppInitiatorViewModel model =
                 ViewModelProviders.of(this).get(WifiDppInitiatorViewModel.class);
 
-        return model.isGoingInitiator();
+        return model.isWifiDppHandshaking();
     }
 
     private void updateSummary() {
-        if (isGoingInitiator()) {
+        if (isEasyConnectHandshaking()) {
             mSummary.setText(R.string.wifi_dpp_sharing_wifi_with_this_device);
         } else {
             mSummary.setText(getString(R.string.wifi_dpp_add_device_to_wifi, getSsid()));
         }
     }
 
-    /**
-     * This fragment will change UI display and text messages for events. To improve Talkback user
-     * experienience, using this method to focus on a right component and announce a changed text
-     * after an UI changing event.
-     *
-     * @param focusView The UI component which will be focused
-     * @param announceView The UI component's text will be talked
-     */
-    private void changeFocusAndAnnounceChange(View focusView, View announceView) {
-        focusView.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED);
-        announceView.sendAccessibilityEvent(AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED);
+    @Override
+    protected boolean isFooterAvailable() {
+        return true;
     }
 }
diff --git a/src/com/android/settings/wifi/dpp/WifiDppBaseActivity.java b/src/com/android/settings/wifi/dpp/WifiDppBaseActivity.java
new file mode 100644
index 0000000..a7daee6
--- /dev/null
+++ b/src/com/android/settings/wifi/dpp/WifiDppBaseActivity.java
@@ -0,0 +1,52 @@
+/*
+ * Copyright (C) 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.wifi.dpp;
+
+import android.content.Intent;
+import android.content.res.Resources;
+import android.os.Bundle;
+
+import androidx.fragment.app.FragmentManager;
+
+import com.android.settings.R;
+import com.android.settings.SetupWizardUtils;
+import com.android.settings.core.InstrumentedActivity;
+
+abstract class WifiDppBaseActivity extends InstrumentedActivity {
+    protected FragmentManager mFragmentManager;
+
+    protected abstract void handleIntent(Intent intent);
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+
+        setContentView(R.layout.wifi_dpp_activity);
+        mFragmentManager = getSupportFragmentManager();
+
+        if (savedInstanceState == null) {
+            handleIntent(getIntent());
+        }
+    }
+
+    @Override
+    protected void onApplyThemeResource(Resources.Theme theme, int resid, boolean first) {
+        resid = SetupWizardUtils.getTheme(getIntent());
+        theme.applyStyle(R.style.SetupWizardPartnerResource, /* force */ true);
+        super.onApplyThemeResource(theme, resid, first);
+    }
+}
diff --git a/src/com/android/settings/wifi/dpp/WifiDppChooseSavedWifiNetworkFragment.java b/src/com/android/settings/wifi/dpp/WifiDppChooseSavedWifiNetworkFragment.java
index ddba933..a257c2a 100644
--- a/src/com/android/settings/wifi/dpp/WifiDppChooseSavedWifiNetworkFragment.java
+++ b/src/com/android/settings/wifi/dpp/WifiDppChooseSavedWifiNetworkFragment.java
@@ -16,16 +16,12 @@
 
 package com.android.settings.wifi.dpp;
 
-import android.app.ActionBar;
 import android.app.settings.SettingsEnums;
 import android.content.Intent;
 import android.os.Bundle;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
-import android.view.accessibility.AccessibilityEvent;
-import android.widget.Button;
-import android.widget.ListView;
 
 import androidx.fragment.app.FragmentManager;
 import androidx.fragment.app.FragmentTransaction;
@@ -39,10 +35,6 @@
 public class WifiDppChooseSavedWifiNetworkFragment extends WifiDppQrCodeBaseFragment {
     private static final String TAG_FRAGMENT_WIFI_NETWORK_LIST = "wifi_network_list_fragment";
 
-    private ListView mSavedWifiNetworkList;
-    private Button mButtonLeft;
-    private Button mButtonRight;
-
     @Override
     public int getMetricsCategory() {
         return SettingsEnums.SETTINGS_WIFI_DPP_CONFIGURATOR;
@@ -52,13 +44,8 @@
     public void onActivityCreated(Bundle savedInstanceState) {
         super.onActivityCreated(savedInstanceState);
 
-        final ActionBar actionBar = getActivity().getActionBar();
-        if (actionBar != null) {
-            actionBar.hide();
-        }
-
-        /** Embeded WifiNetworkListFragment as child fragment within
-         * WifiDppChooseSavedWifiNetworkFragment. */
+        // Embedded WifiNetworkListFragment as child fragment within
+        // WifiDppChooseSavedWifiNetworkFragment.
         final FragmentManager fragmentManager = getChildFragmentManager();
         final WifiNetworkListFragment fragment = new WifiNetworkListFragment();
         final Bundle args = getArguments();
@@ -82,14 +69,11 @@
     public void onViewCreated(View view, Bundle savedInstanceState) {
         super.onViewCreated(view, savedInstanceState);
 
-        setHeaderIconImageResource(R.drawable.ic_wifi_signal_4);
-
-        mTitle.setText(R.string.wifi_dpp_choose_network);
+        setHeaderTitle(R.string.wifi_dpp_choose_network);
         mSummary.setText(R.string.wifi_dpp_choose_network_to_connect_device);
 
-        mButtonLeft = view.findViewById(R.id.button_left);
-        mButtonLeft.setText(R.string.cancel);
-        mButtonLeft.setOnClickListener(v -> {
+        mLeftButton.setText(getContext(), R.string.cancel);
+        mLeftButton.setOnClickListener(v -> {
             String action = null;
             final Intent intent = getActivity().getIntent();
             if (intent != null) {
@@ -104,13 +88,11 @@
             }
         });
 
-        mButtonRight = view.findViewById(R.id.button_right);
-        mButtonRight.setVisibility(View.GONE);
+        mRightButton.setVisibility(View.GONE);
+    }
 
-        if (savedInstanceState == null) {
-            // For Talkback to describe this fragment
-            mTitleSummaryContainer.sendAccessibilityEvent(
-                    AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED);
-        }
+    @Override
+    protected boolean isFooterAvailable() {
+        return true;
     }
 }
diff --git a/src/com/android/settings/wifi/dpp/WifiDppConfiguratorActivity.java b/src/com/android/settings/wifi/dpp/WifiDppConfiguratorActivity.java
index cc80b0c..b19e3b8 100644
--- a/src/com/android/settings/wifi/dpp/WifiDppConfiguratorActivity.java
+++ b/src/com/android/settings/wifi/dpp/WifiDppConfiguratorActivity.java
@@ -16,7 +16,6 @@
 
 package com.android.settings.wifi.dpp;
 
-import android.app.ActionBar;
 import android.app.settings.SettingsEnums;
 import android.content.Intent;
 import android.net.Uri;
@@ -28,12 +27,9 @@
 import android.util.Log;
 
 import androidx.annotation.VisibleForTesting;
-import androidx.fragment.app.Fragment;
-import androidx.fragment.app.FragmentManager;
 import androidx.fragment.app.FragmentTransaction;
 
 import com.android.settings.R;
-import com.android.settings.core.InstrumentedActivity;
 
 import java.util.List;
 
@@ -54,18 +50,17 @@
  * For intent action {@link Settings#ACTION_PROCESS_WIFI_EASY_CONNECT_URI}, specify Wi-Fi
  * Easy Connect bootstrapping information string in Intent's data URI.
  */
-public class WifiDppConfiguratorActivity extends InstrumentedActivity implements
+public class WifiDppConfiguratorActivity extends WifiDppBaseActivity implements
         WifiNetworkConfig.Retriever,
-        WifiDppQrCodeGeneratorFragment.OnQrCodeGeneratorFragmentAddButtonClickedListener,
         WifiDppQrCodeScannerFragment.OnScanWifiDppSuccessListener,
         WifiDppAddDeviceFragment.OnClickChooseDifferentNetworkListener,
         WifiNetworkListFragment.OnChooseNetworkListener {
 
     private static final String TAG = "WifiDppConfiguratorActivity";
 
-    public static final String ACTION_CONFIGURATOR_QR_CODE_SCANNER =
+    static final String ACTION_CONFIGURATOR_QR_CODE_SCANNER =
             "android.settings.WIFI_DPP_CONFIGURATOR_QR_CODE_SCANNER";
-    public static final String ACTION_CONFIGURATOR_QR_CODE_GENERATOR =
+    static final String ACTION_CONFIGURATOR_QR_CODE_GENERATOR =
             "android.settings.WIFI_DPP_CONFIGURATOR_QR_CODE_GENERATOR";
 
     // Key for Bundle usage
@@ -77,14 +72,22 @@
     private static final String KEY_WIFI_NETWORK_ID = "key_wifi_network_id";
     private static final String KEY_IS_HOTSPOT = "key_is_hotspot";
 
-    private FragmentManager mFragmentManager;
-
     /** The Wi-Fi network which will be configured */
     private WifiNetworkConfig mWifiNetworkConfig;
 
     /** The Wi-Fi DPP QR code from intent ACTION_PROCESS_WIFI_EASY_CONNECT_URI */
     private WifiQrCode mWifiDppQrCode;
 
+    /**
+     * The remote device's band support obtained as an (optional) extra
+     * EXTRA_EASY_CONNECT_BAND_LIST from the intent ACTION_PROCESS_WIFI_EASY_CONNECT_URI.
+     *
+     * The band support is provided as IEEE 802.11 Global Operating Classes. There may be a single
+     * or multiple operating classes specified. The array may also be a null if the extra wasn't
+     * specified.
+     */
+    private int[] mWifiDppRemoteBandSupport;
+
     /** Secret extra that allows fake networks to show in UI for testing purposes */
     private boolean mIsTest;
 
@@ -97,9 +100,6 @@
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
 
-        setContentView(R.layout.wifi_dpp_activity);
-        mFragmentManager = getSupportFragmentManager();
-
         if (savedInstanceState != null) {
             String qrCode = savedInstanceState.getString(KEY_QR_CODE);
 
@@ -114,28 +114,27 @@
 
             mWifiNetworkConfig = WifiNetworkConfig.getValidConfigOrNull(security, ssid,
                     preSharedKey, hiddenSsid, networkId, isHotspot);
-        } else {
-            handleIntent(getIntent());
-        }
-
-        ActionBar actionBar = getActionBar();
-        if (actionBar != null) {
-            actionBar.setElevation(0);
-            actionBar.setDisplayShowTitleEnabled(false);
         }
     }
 
-    private void handleIntent(Intent intent) {
+    @Override
+    protected void handleIntent(Intent intent) {
+        String action = intent != null ? intent.getAction() : null;
+        if (action == null) {
+            finish();
+            return;
+        }
+
         boolean cancelActivity = false;
         WifiNetworkConfig config;
-        switch (intent.getAction()) {
+        switch (action) {
             case ACTION_CONFIGURATOR_QR_CODE_SCANNER:
                 config = WifiNetworkConfig.getValidConfigOrNull(intent);
                 if (config == null) {
                     cancelActivity = true;
                 } else {
                     mWifiNetworkConfig = config;
-                    showQrCodeScannerFragment(/* addToBackStack= */ false);
+                    showQrCodeScannerFragment();
                 }
                 break;
             case ACTION_CONFIGURATOR_QR_CODE_GENERATOR:
@@ -152,9 +151,16 @@
                 final String uriString = (uri == null) ? null : uri.toString();
                 mIsTest = intent.getBooleanExtra(WifiDppUtils.EXTRA_TEST, false);
                 mWifiDppQrCode = WifiQrCode.getValidWifiDppQrCodeOrNull(uriString);
+                mWifiDppRemoteBandSupport = intent.getIntArrayExtra(
+                        Settings.EXTRA_EASY_CONNECT_BAND_LIST); // returns null if none
                 final boolean isDppSupported = WifiDppUtils.isWifiDppEnabled(this);
                 if (!isDppSupported) {
-                    Log.d(TAG, "Device doesn't support Wifi DPP");
+                    Log.e(TAG,
+                            "ACTION_PROCESS_WIFI_EASY_CONNECT_URI for a device that doesn't "
+                                    + "support Wifi DPP - use WifiManager#isEasyConnectSupported");
+                }
+                if (mWifiDppQrCode == null) {
+                    Log.e(TAG, "ACTION_PROCESS_WIFI_EASY_CONNECT_URI with null URI!");
                 }
                 if (mWifiDppQrCode == null || !isDppSupported) {
                     cancelActivity = true;
@@ -178,7 +184,7 @@
         }
     }
 
-    private void showQrCodeScannerFragment(boolean addToBackStack) {
+    private void showQrCodeScannerFragment() {
         WifiDppQrCodeScannerFragment fragment =
                 (WifiDppQrCodeScannerFragment) mFragmentManager.findFragmentByTag(
                         WifiDppUtils.TAG_FRAGMENT_QR_CODE_SCANNER);
@@ -199,9 +205,6 @@
 
         fragmentTransaction.replace(R.id.fragment_container, fragment,
                 WifiDppUtils.TAG_FRAGMENT_QR_CODE_SCANNER);
-        if (addToBackStack) {
-            fragmentTransaction.addToBackStack(/* name */ null);
-        }
         fragmentTransaction.commit();
     }
 
@@ -293,7 +296,7 @@
         return mWifiNetworkConfig;
     }
 
-    public WifiQrCode getWifiDppQrCode() {
+    WifiQrCode getWifiDppQrCode() {
         return mWifiDppQrCode;
     }
 
@@ -322,19 +325,6 @@
     }
 
     @Override
-    public boolean onNavigateUp() {
-        if (!mFragmentManager.popBackStackImmediate()) {
-            finish();
-        }
-        return true;
-    }
-
-    @Override
-    public void onQrCodeGeneratorFragmentAddButtonClicked() {
-        showQrCodeScannerFragment(/* addToBackStack */ true);
-    }
-
-    @Override
     public void onScanWifiDppSuccess(WifiQrCode wifiQrCode) {
         mWifiDppQrCode = wifiQrCode;
 
diff --git a/src/com/android/settings/wifi/dpp/WifiDppEnrolleeActivity.java b/src/com/android/settings/wifi/dpp/WifiDppEnrolleeActivity.java
index 2229895..c5f1e81 100644
--- a/src/com/android/settings/wifi/dpp/WifiDppEnrolleeActivity.java
+++ b/src/com/android/settings/wifi/dpp/WifiDppEnrolleeActivity.java
@@ -16,20 +16,13 @@
 
 package com.android.settings.wifi.dpp;
 
-import android.app.ActionBar;
 import android.app.settings.SettingsEnums;
 import android.content.Intent;
-import android.os.Bundle;
 import android.util.Log;
 
-import androidx.fragment.app.Fragment;
-import androidx.fragment.app.FragmentManager;
 import androidx.fragment.app.FragmentTransaction;
 
 import com.android.settings.R;
-import com.android.settings.core.InstrumentedActivity;
-
-import com.google.android.setupcompat.util.WizardManagerHelper;
 
 /**
  * To provision "this" device with specified Wi-Fi network.
@@ -37,47 +30,30 @@
  * To use intent action {@code ACTION_ENROLLEE_QR_CODE_SCANNER}, specify the SSID string of the
  * Wi-Fi network to be provisioned in {@code WifiDppUtils.EXTRA_WIFI_SSID}.
  */
-public class WifiDppEnrolleeActivity extends InstrumentedActivity implements
+public class WifiDppEnrolleeActivity extends WifiDppBaseActivity implements
         WifiDppQrCodeScannerFragment.OnScanWifiDppSuccessListener {
     private static final String TAG = "WifiDppEnrolleeActivity";
 
-    public static final String ACTION_ENROLLEE_QR_CODE_SCANNER =
+    static final String ACTION_ENROLLEE_QR_CODE_SCANNER =
             "android.settings.WIFI_DPP_ENROLLEE_QR_CODE_SCANNER";
 
-    private FragmentManager mFragmentManager;
-
     @Override
     public int getMetricsCategory() {
         return SettingsEnums.SETTINGS_WIFI_DPP_ENROLLEE;
     }
 
     @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-
-        if (WizardManagerHelper.isAnySetupWizard(getIntent())) {
-            setTheme(R.style.LightTheme_SettingsBase_SetupWizard);
+    protected void handleIntent(Intent intent) {
+        String action = intent != null ? intent.getAction() : null;
+        if (action == null) {
+            finish();
+            return;
         }
 
-        setContentView(R.layout.wifi_dpp_activity);
-        mFragmentManager = getSupportFragmentManager();
-
-        if (savedInstanceState == null) {
-            handleIntent(getIntent());
-        }
-
-        ActionBar actionBar = getActionBar();
-        if (actionBar != null) {
-            actionBar.setElevation(0);
-            actionBar.setDisplayShowTitleEnabled(false);
-        }
-    }
-
-    private void handleIntent(Intent intent) {
-        switch (intent.getAction()) {
+        switch (action) {
             case ACTION_ENROLLEE_QR_CODE_SCANNER:
                 String ssid = intent.getStringExtra(WifiDppUtils.EXTRA_WIFI_SSID);
-                showQrCodeScannerFragment(/* addToBackStack */ false, ssid);
+                showQrCodeScannerFragment(ssid);
                 break;
             default:
                 Log.e(TAG, "Launch with an invalid action");
@@ -85,7 +61,7 @@
         }
     }
 
-    private void showQrCodeScannerFragment(boolean addToBackStack, String ssid) {
+    private void showQrCodeScannerFragment(String ssid) {
         WifiDppQrCodeScannerFragment fragment =
                 (WifiDppQrCodeScannerFragment) mFragmentManager.findFragmentByTag(
                         WifiDppUtils.TAG_FRAGMENT_QR_CODE_SCANNER);
@@ -106,19 +82,10 @@
 
         fragmentTransaction.replace(R.id.fragment_container, fragment,
                 WifiDppUtils.TAG_FRAGMENT_QR_CODE_SCANNER);
-        if (addToBackStack) {
-            fragmentTransaction.addToBackStack(/* name */ null);
-        }
         fragmentTransaction.commit();
     }
 
     @Override
-    public boolean onNavigateUp(){
-        finish();
-        return true;
-    }
-
-    @Override
     public void onScanWifiDppSuccess(WifiQrCode wifiQrCode) {
         // Do nothing
     }
diff --git a/src/com/android/settings/wifi/dpp/WifiDppInitiatorViewModel.java b/src/com/android/settings/wifi/dpp/WifiDppInitiatorViewModel.java
index 24e5ebe..05febc5 100644
--- a/src/com/android/settings/wifi/dpp/WifiDppInitiatorViewModel.java
+++ b/src/com/android/settings/wifi/dpp/WifiDppInitiatorViewModel.java
@@ -19,20 +19,24 @@
 import android.app.Application;
 import android.net.wifi.EasyConnectStatusCallback;
 import android.net.wifi.WifiManager;
+import android.util.SparseArray;
 
-import androidx.lifecycle.MutableLiveData;
 import androidx.lifecycle.AndroidViewModel;
+import androidx.lifecycle.MutableLiveData;
 
 public class WifiDppInitiatorViewModel extends AndroidViewModel {
     private MutableLiveData<Integer> mEnrolleeSuccessNetworkId;
     private MutableLiveData<Integer> mStatusCode;
-    private boolean mIsGoingInitiator;
+    private boolean mIsWifiDppHandshaking;
+    private String mTriedSsid;
+    private SparseArray<int[]> mTriedChannels;
+    private int[] mBandArray;
 
     public WifiDppInitiatorViewModel(Application application) {
         super(application);
     }
 
-    public MutableLiveData<Integer> getEnrolleeSuccessNetworkId() {
+    MutableLiveData<Integer> getEnrolleeSuccessNetworkId() {
         if (mEnrolleeSuccessNetworkId == null) {
             mEnrolleeSuccessNetworkId = new MutableLiveData<>();
         }
@@ -40,7 +44,7 @@
         return mEnrolleeSuccessNetworkId;
     }
 
-    public MutableLiveData<Integer> getStatusCode() {
+    MutableLiveData<Integer> getStatusCode() {
         if (mStatusCode == null) {
             mStatusCode = new MutableLiveData<>();
         }
@@ -48,12 +52,24 @@
         return mStatusCode;
     }
 
-    public boolean isGoingInitiator() {
-        return mIsGoingInitiator;
+    String getTriedSsid() {
+        return mTriedSsid;
     }
 
-    public void startEasyConnectAsConfiguratorInitiator(String qrCode, int networkId) {
-        mIsGoingInitiator = true;
+    SparseArray<int[]> getTriedChannels() {
+        return mTriedChannels;
+    }
+
+    int[] getBandArray() {
+        return mBandArray;
+    }
+
+    boolean isWifiDppHandshaking() {
+        return mIsWifiDppHandshaking;
+    }
+
+    void startEasyConnectAsConfiguratorInitiator(String qrCode, int networkId) {
+        mIsWifiDppHandshaking = true;
         final WifiManager wifiManager = getApplication().getSystemService(WifiManager.class);
 
         wifiManager.startEasyConnectAsConfiguratorInitiator(qrCode, networkId,
@@ -61,8 +77,8 @@
                 new EasyConnectDelegateCallback());
     }
 
-    public void startEasyConnectAsEnrolleeInitiator(String qrCode) {
-        mIsGoingInitiator = true;
+    void startEasyConnectAsEnrolleeInitiator(String qrCode) {
+        mIsWifiDppHandshaking = true;
         final WifiManager wifiManager = getApplication().getSystemService(WifiManager.class);
 
         wifiManager.startEasyConnectAsEnrolleeInitiator(qrCode, getApplication().getMainExecutor(),
@@ -72,19 +88,23 @@
     private class EasyConnectDelegateCallback extends EasyConnectStatusCallback {
         @Override
         public void onEnrolleeSuccess(int newNetworkId) {
-            mIsGoingInitiator = false;
+            mIsWifiDppHandshaking = false;
             mEnrolleeSuccessNetworkId.setValue(newNetworkId);
         }
 
         @Override
         public void onConfiguratorSuccess(int code) {
-            mIsGoingInitiator = false;
+            mIsWifiDppHandshaking = false;
             mStatusCode.setValue(WifiDppUtils.EASY_CONNECT_EVENT_SUCCESS);
         }
 
         @Override
-        public void onFailure(int code) {
-            mIsGoingInitiator = false;
+        public void onFailure(int code, String ssid, SparseArray<int[]> channelListArray,
+                int[] operatingClassArray) {
+            mIsWifiDppHandshaking = false;
+            mTriedSsid = ssid;
+            mTriedChannels = channelListArray;
+            mBandArray = operatingClassArray;
             mStatusCode.setValue(code);
         }
 
diff --git a/src/com/android/settings/wifi/dpp/WifiDppQrCodeBaseFragment.java b/src/com/android/settings/wifi/dpp/WifiDppQrCodeBaseFragment.java
index eafbe68..e0a1e39 100644
--- a/src/com/android/settings/wifi/dpp/WifiDppQrCodeBaseFragment.java
+++ b/src/com/android/settings/wifi/dpp/WifiDppQrCodeBaseFragment.java
@@ -16,14 +16,22 @@
 
 package com.android.settings.wifi.dpp;
 
+import android.content.res.Resources;
+import android.graphics.drawable.Drawable;
 import android.os.Bundle;
+import android.util.Log;
 import android.view.View;
-import android.widget.ImageView;
 import android.widget.TextView;
 
+import androidx.annotation.DrawableRes;
+
 import com.android.settings.R;
 import com.android.settings.core.InstrumentedFragment;
 
+import com.google.android.setupcompat.template.FooterBarMixin;
+import com.google.android.setupcompat.template.FooterButton;
+import com.google.android.setupdesign.GlifLayout;
+
 /**
  * There are below 4 fragments for Wi-Fi DPP UI flow, to reduce redundant code of UI components,
  * this parent fragment instantiates common UI components
@@ -34,37 +42,64 @@
  * {@code WifiDppAddDeviceFragment}
  */
 public abstract class WifiDppQrCodeBaseFragment extends InstrumentedFragment {
-    private ImageView mHeaderIcon;
-    private ImageView mDevicesCheckCircleGreenHeaderIcon;
-    protected TextView mTitle;
+    private static final String TAG = "WifiDppQrCodeBaseFragment";
+
+    private GlifLayout mGlifLayout;
     protected TextView mSummary;
-    protected View mTitleSummaryContainer;
+    protected FooterButton mLeftButton;
+    protected FooterButton mRightButton;
 
     @Override
     public void onViewCreated(View view, Bundle savedInstanceState) {
         super.onViewCreated(view, savedInstanceState);
 
-        mHeaderIcon = view.findViewById(android.R.id.icon);
-        mDevicesCheckCircleGreenHeaderIcon =
-                view.findViewById(R.id.devices_check_circle_green_icon);
-        mTitle = view.findViewById(android.R.id.title);
+        mGlifLayout = (GlifLayout) view;
         mSummary = view.findViewById(android.R.id.summary);
 
-        // This is the LinearLayout which groups mTitle and mSummary for Talkback to announce the
-        // content in a way that reflects its natural groupings.
-        mTitleSummaryContainer =  view.findViewById(R.id.title_summary_container);
+        if (isFooterAvailable()) {
+            mLeftButton = new FooterButton.Builder(getContext())
+                    .setButtonType(FooterButton.ButtonType.CANCEL)
+                    .setTheme(R.style.SudGlifButton_Secondary)
+                    .build();
+            mGlifLayout.getMixin(FooterBarMixin.class).setSecondaryButton(mLeftButton);
+
+            mRightButton = new FooterButton.Builder(getContext())
+                    .setButtonType(FooterButton.ButtonType.NEXT)
+                    .setTheme(R.style.SudGlifButton_Primary)
+                    .build();
+            mGlifLayout.getMixin(FooterBarMixin.class).setPrimaryButton(mRightButton);
+        }
+
+        mGlifLayout.getHeaderTextView().setAccessibilityLiveRegion(
+                View.ACCESSIBILITY_LIVE_REGION_POLITE);
     }
 
-    protected void setHeaderIconImageResource(int resId) {
-        // ic_devices_check_circle_green is a LayerDrawable,
-        // it has different size from other VectorDrawable icons
-        if (resId == R.drawable.ic_devices_check_circle_green) {
-            mHeaderIcon.setVisibility(View.GONE);
-            mDevicesCheckCircleGreenHeaderIcon.setVisibility(View.VISIBLE);
-        } else {
-            mDevicesCheckCircleGreenHeaderIcon.setVisibility(View.GONE);
-            mHeaderIcon.setImageResource(resId);
-            mHeaderIcon.setVisibility(View.VISIBLE);
-        }
+    protected void setHeaderIconImageResource(@DrawableRes int iconResId) {
+        mGlifLayout.setIcon(getDrawable(iconResId));
     }
+
+    private Drawable getDrawable(@DrawableRes int iconResId) {
+        Drawable buttonIcon = null;
+
+        try {
+            buttonIcon = getContext().getDrawable(iconResId);
+        } catch (Resources.NotFoundException exception) {
+            Log.e(TAG, "Resource does not exist: " + iconResId);
+        }
+        return buttonIcon;
+    }
+
+    protected void setHeaderTitle(String title) {
+        mGlifLayout.setHeaderText(title);
+    }
+
+    protected void setHeaderTitle(int resId, Object... formatArgs) {
+        mGlifLayout.setHeaderText(getString(resId, formatArgs));
+    }
+
+    protected void setProgressBarShown(boolean shown) {
+        mGlifLayout.setProgressBarShown(shown);
+    }
+
+    protected abstract boolean isFooterAvailable();
 }
diff --git a/src/com/android/settings/wifi/dpp/WifiDppQrCodeGeneratorFragment.java b/src/com/android/settings/wifi/dpp/WifiDppQrCodeGeneratorFragment.java
index d388931..603ea10 100644
--- a/src/com/android/settings/wifi/dpp/WifiDppQrCodeGeneratorFragment.java
+++ b/src/com/android/settings/wifi/dpp/WifiDppQrCodeGeneratorFragment.java
@@ -16,9 +16,7 @@
 
 package com.android.settings.wifi.dpp;
 
-import android.app.ActionBar;
 import android.app.settings.SettingsEnums;
-import android.content.Context;
 import android.graphics.Bitmap;
 import android.os.Bundle;
 import android.text.TextUtils;
@@ -45,7 +43,6 @@
     private static final String TAG = "WifiDppQrCodeGeneratorFragment";
 
     private ImageView mQrCodeView;
-    private TextView mPasswordView;
     private String mQrCode;
 
     @Override
@@ -53,44 +50,17 @@
         return SettingsEnums.SETTINGS_WIFI_DPP_CONFIGURATOR;
     }
 
-    // Container Activity must implement this interface
-    public interface OnQrCodeGeneratorFragmentAddButtonClickedListener {
-        public void onQrCodeGeneratorFragmentAddButtonClicked();
-    }
-    OnQrCodeGeneratorFragmentAddButtonClickedListener mListener;
-
     @Override
     public void onActivityCreated(Bundle savedInstanceState) {
         super.onActivityCreated(savedInstanceState);
 
-        // setTitle for Talkback
+        // setTitle for TalkBack
         final WifiNetworkConfig wifiNetworkConfig = getWifiNetworkConfigFromHostActivity();
         if (wifiNetworkConfig.isHotspot()) {
             getActivity().setTitle(R.string.wifi_dpp_share_hotspot);
         } else {
             getActivity().setTitle(R.string.wifi_dpp_share_wifi);
         }
-
-        setHasOptionsMenu(true);
-        final ActionBar actionBar = getActivity().getActionBar();
-        if (actionBar != null) {
-            actionBar.setDisplayHomeAsUpEnabled(true);
-            actionBar.show();
-        }
-    }
-
-    @Override
-    public void onAttach(Context context) {
-        super.onAttach(context);
-
-        mListener = (OnQrCodeGeneratorFragmentAddButtonClickedListener) context;
-    }
-
-    @Override
-    public void onDetach() {
-        mListener = null;
-
-        super.onDetach();
     }
 
     @Override
@@ -116,31 +86,29 @@
 
         mQrCodeView = view.findViewById(R.id.qrcode_view);
 
-        setHeaderIconImageResource(R.drawable.ic_qrcode_24dp);
-
         final WifiNetworkConfig wifiNetworkConfig = getWifiNetworkConfigFromHostActivity();
         if (wifiNetworkConfig.isHotspot()) {
-            mTitle.setText(R.string.wifi_dpp_share_hotspot);
+            setHeaderTitle(R.string.wifi_dpp_share_hotspot);
         } else {
-            mTitle.setText(R.string.wifi_dpp_share_wifi);
+            setHeaderTitle(R.string.wifi_dpp_share_wifi);
         }
 
         final String password = wifiNetworkConfig.getPreSharedKey();
-        mPasswordView = view.findViewById(R.id.password);
+        TextView passwordView = view.findViewById(R.id.password);
         if (TextUtils.isEmpty(password)) {
             mSummary.setText(getString(
                     R.string.wifi_dpp_scan_open_network_qr_code_with_another_device,
                     wifiNetworkConfig.getSsid()));
 
-            mPasswordView.setVisibility(View.GONE);
+            passwordView.setVisibility(View.GONE);
         } else {
             mSummary.setText(getString(R.string.wifi_dpp_scan_qr_code_with_another_device,
                     wifiNetworkConfig.getSsid()));
 
             if (wifiNetworkConfig.isHotspot()) {
-               mPasswordView.setText(getString(R.string.wifi_dpp_hotspot_password, password));
+                passwordView.setText(getString(R.string.wifi_dpp_hotspot_password, password));
             } else {
-                mPasswordView.setText(getString(R.string.wifi_dpp_wifi_password, password));
+                passwordView.setText(getString(R.string.wifi_dpp_wifi_password, password));
             }
         }
 
@@ -155,11 +123,11 @@
             final Bitmap bmp = QrCodeGenerator.encodeQrCode(mQrCode, qrcodeSize);
             mQrCodeView.setImageBitmap(bmp);
         } catch (WriterException e) {
-            Log.e(TAG, "Error generatting QR code bitmap " + e);
+            Log.e(TAG, "Error generating QR code bitmap " + e);
         }
     }
 
-    WifiNetworkConfig getWifiNetworkConfigFromHostActivity() {
+    private WifiNetworkConfig getWifiNetworkConfigFromHostActivity() {
         final WifiNetworkConfig wifiNetworkConfig = ((WifiNetworkConfig.Retriever) getActivity())
                 .getWifiNetworkConfig();
         if (!WifiNetworkConfig.isValidConfig(wifiNetworkConfig)) {
@@ -168,4 +136,9 @@
 
         return wifiNetworkConfig;
     }
+
+    @Override
+    protected boolean isFooterAvailable() {
+        return false;
+    }
 }
diff --git a/src/com/android/settings/wifi/dpp/WifiDppQrCodeScannerFragment.java b/src/com/android/settings/wifi/dpp/WifiDppQrCodeScannerFragment.java
index c37bdc0a..b3bd9c6 100644
--- a/src/com/android/settings/wifi/dpp/WifiDppQrCodeScannerFragment.java
+++ b/src/com/android/settings/wifi/dpp/WifiDppQrCodeScannerFragment.java
@@ -16,11 +16,9 @@
 
 package com.android.settings.wifi.dpp;
 
-import android.app.ActionBar;
 import android.app.Activity;
 import android.app.settings.SettingsEnums;
 import android.content.Context;
-import android.content.pm.ActivityInfo;
 import android.content.Intent;
 import android.graphics.Matrix;
 import android.graphics.Rect;
@@ -42,7 +40,6 @@
 import android.view.View;
 import android.view.ViewGroup;
 import android.view.accessibility.AccessibilityEvent;
-import android.widget.ProgressBar;
 import android.widget.TextView;
 
 import androidx.annotation.StringRes;
@@ -59,7 +56,6 @@
 import com.android.settingslib.wifi.WifiTracker;
 import com.android.settingslib.wifi.WifiTrackerFactory;
 
-import java.util.ArrayList;
 import java.util.List;
 
 public class WifiDppQrCodeScannerFragment extends WifiDppQrCodeBaseFragment implements
@@ -91,7 +87,6 @@
 
     private static final int ARG_RESTART_CAMERA = 1;
 
-    private ProgressBar mProgressBar;
     private QrCamera mCamera;
     private TextureView mTextureView;
     private QrDecorateView mDecorateView;
@@ -136,7 +131,7 @@
                             SHOW_ERROR_MESSAGE_INTERVAL);
 
                     if (msg.arg1 == ARG_RESTART_CAMERA) {
-                        mProgressBar.setVisibility(View.INVISIBLE);
+                        setProgressBarShown(false);
                         mDecorateView.setFocused(false);
                         restartCamera();
                     }
@@ -150,7 +145,7 @@
                     mScanWifiDppSuccessListener.onScanWifiDppSuccess((WifiQrCode)msg.obj);
 
                     if (!mIsConfiguratorMode) {
-                        mProgressBar.setVisibility(View.VISIBLE);
+                        setProgressBarShown(true);
                         startWifiDppEnrolleeInitiator((WifiQrCode)msg.obj);
                         updateEnrolleeSummary();
                         mSummary.sendAccessibilityEvent(
@@ -207,7 +202,6 @@
                     break;
 
                 default:
-                    return;
             }
         }
     };
@@ -252,7 +246,7 @@
         model.getEnrolleeSuccessNetworkId().observe(this, networkId -> {
             // After configuration change, observe callback will be triggered,
             // do nothing for this case if a handshake does not end
-            if (model.isGoingInitiator()) {
+            if (model.isWifiDppHandshaking()) {
                 return;
             }
 
@@ -262,7 +256,7 @@
         model.getStatusCode().observe(this, statusCode -> {
             // After configuration change, observe callback will be triggered,
             // do nothing for this case if a handshake does not end
-            if (model.isGoingInitiator()) {
+            if (model.isWifiDppHandshaking()) {
                 return;
             }
 
@@ -285,7 +279,7 @@
     public void onResume() {
         super.onResume();
 
-        if (!isGoingInitiator()) {
+        if (!isWifiDppHandshaking()) {
             restartCamera();
         }
     }
@@ -301,9 +295,9 @@
 
     // Container Activity must implement this interface
     public interface OnScanWifiDppSuccessListener {
-        public void onScanWifiDppSuccess(WifiQrCode wifiQrCode);
+        void onScanWifiDppSuccess(WifiQrCode wifiQrCode);
     }
-    OnScanWifiDppSuccessListener mScanWifiDppSuccessListener;
+    private OnScanWifiDppSuccessListener mScanWifiDppSuccessListener;
 
     /**
      * Configurator container activity of the fragment should create instance with this constructor.
@@ -318,7 +312,7 @@
      * Enrollee container activity of the fragment should create instance with this constructor and
      * specify the SSID string of the WI-Fi network to be provisioned.
      */
-    public WifiDppQrCodeScannerFragment(String ssid) {
+    WifiDppQrCodeScannerFragment(String ssid) {
         super();
 
         mIsConfiguratorMode = false;
@@ -332,18 +326,12 @@
         mWifiTracker = WifiTrackerFactory.create(getActivity(), /* wifiListener */ this,
                 getSettingsLifecycle(), /* includeSaved */ false, /* includeScans */ true);
 
-        // setTitle for Talkback
+        // setTitle for TalkBack
         if (mIsConfiguratorMode) {
             getActivity().setTitle(R.string.wifi_dpp_add_device_to_network);
         } else {
             getActivity().setTitle(R.string.wifi_dpp_scan_qr_code);
         }
-
-        final ActionBar actionBar = getActivity().getActionBar();
-        if (actionBar != null) {
-            actionBar.setDisplayHomeAsUpEnabled(true);
-            actionBar.show();
-        }
     }
 
     @Override
@@ -371,18 +359,15 @@
     public void onViewCreated(View view, Bundle savedInstanceState) {
         super.onViewCreated(view, savedInstanceState);
 
-        mTextureView = (TextureView) view.findViewById(R.id.preview_view);
+        mTextureView = view.findViewById(R.id.preview_view);
         mTextureView.setSurfaceTextureListener(this);
 
-        mDecorateView = (QrDecorateView) view.findViewById(R.id.decorate_view);
+        mDecorateView = view.findViewById(R.id.decorate_view);
 
-        setHeaderIconImageResource(R.drawable.ic_scan_24dp);
-
-        mProgressBar = view.findViewById(R.id.indeterminate_bar);
-        mProgressBar.setVisibility(isGoingInitiator() ? View.VISIBLE : View.INVISIBLE);
+        setProgressBarShown(isWifiDppHandshaking());
 
         if (mIsConfiguratorMode) {
-            mTitle.setText(R.string.wifi_dpp_add_device_to_network);
+            setHeaderTitle(R.string.wifi_dpp_add_device_to_network);
 
             WifiNetworkConfig wifiNetworkConfig = ((WifiNetworkConfig.Retriever) getActivity())
                 .getWifiNetworkConfig();
@@ -392,7 +377,7 @@
             mSummary.setText(getString(R.string.wifi_dpp_center_qr_code,
                     wifiNetworkConfig.getSsid()));
         } else {
-            mTitle.setText(R.string.wifi_dpp_scan_qr_code);
+            setHeaderTitle(R.string.wifi_dpp_scan_qr_code);
 
             updateEnrolleeSummary();
         }
@@ -448,24 +433,14 @@
         try {
             mWifiQrCode = new WifiQrCode(qrCode);
         } catch (IllegalArgumentException e) {
-            showErrorMessage(R.string.wifi_dpp_could_not_detect_valid_qr_code);
+            showErrorMessage(R.string.wifi_dpp_qr_code_is_not_valid_format);
             return false;
         }
 
-        final String scheme = mWifiQrCode.getScheme();
-
-        // When SSID is specified for enrollee, avoid to connect to the Wi-Fi of different SSID
-        if (!mIsConfiguratorMode && WifiQrCode.SCHEME_ZXING_WIFI_NETWORK_CONFIG.equals(scheme)) {
-            final String ssidQrCode = mWifiQrCode.getWifiNetworkConfig().getSsid();
-            if (!TextUtils.isEmpty(mSsid) && !mSsid.equals(ssidQrCode)) {
-                showErrorMessage(R.string.wifi_dpp_could_not_detect_valid_qr_code);
-                return false;
-            }
-        }
-
         // It's impossible to provision other device with ZXing Wi-Fi Network config format
+        final String scheme = mWifiQrCode.getScheme();
         if (mIsConfiguratorMode && WifiQrCode.SCHEME_ZXING_WIFI_NETWORK_CONFIG.equals(scheme)) {
-            showErrorMessage(R.string.wifi_dpp_could_not_detect_valid_qr_code);
+            showErrorMessage(R.string.wifi_dpp_qr_code_is_not_valid_format);
             return false;
         }
 
@@ -515,7 +490,7 @@
         if (mCamera == null) {
             mCamera = new QrCamera(getContext(), this);
 
-            if (isGoingInitiator()) {
+            if (isWifiDppHandshaking()) {
                 if (mDecorateView != null) {
                     mDecorateView.setFocused(true);
                 }
@@ -586,10 +561,10 @@
         public void onFailure(int code) {
             Log.d(TAG, "EasyConnectEnrolleeStatusCallback.onFailure " + code);
 
-            int errorMessageResId = 0;
+            int errorMessageResId;
             switch (code) {
                 case EasyConnectStatusCallback.EASY_CONNECT_EVENT_FAILURE_INVALID_URI:
-                    errorMessageResId = R.string.wifi_dpp_could_not_detect_valid_qr_code;
+                    errorMessageResId = R.string.wifi_dpp_qr_code_is_not_valid_format;
                     break;
 
                 case EasyConnectStatusCallback.EASY_CONNECT_EVENT_FAILURE_AUTHENTICATION:
@@ -673,11 +648,11 @@
     }
 
     // Check is Easy Connect handshaking or not
-    private boolean isGoingInitiator() {
+    private boolean isWifiDppHandshaking() {
         final WifiDppInitiatorViewModel model =
                 ViewModelProviders.of(this).get(WifiDppInitiatorViewModel.class);
 
-        return model.isGoingInitiator();
+        return model.isWifiDppHandshaking();
     }
 
     /**
@@ -702,7 +677,7 @@
     }
 
     private void updateEnrolleeSummary() {
-        if (isGoingInitiator()) {
+        if (isWifiDppHandshaking()) {
             mSummary.setText(R.string.wifi_dpp_connecting);
         } else {
             String description;
@@ -740,4 +715,9 @@
     protected boolean isDecodeTaskAlive() {
         return mCamera != null && mCamera.isDecodeTaskAlive();
     }
+
+    @Override
+    protected boolean isFooterAvailable() {
+        return false;
+    }
 }
diff --git a/src/com/android/settings/wifi/dpp/WifiDppUtils.java b/src/com/android/settings/wifi/dpp/WifiDppUtils.java
index fc1bc25..51cb351 100644
--- a/src/com/android/settings/wifi/dpp/WifiDppUtils.java
+++ b/src/com/android/settings/wifi/dpp/WifiDppUtils.java
@@ -20,8 +20,9 @@
 import android.content.Context;
 import android.content.Intent;
 import android.hardware.biometrics.BiometricPrompt;
-import android.net.wifi.WifiConfiguration.KeyMgmt;
+import android.net.wifi.SoftApConfiguration;
 import android.net.wifi.WifiConfiguration;
+import android.net.wifi.WifiConfiguration.KeyMgmt;
 import android.net.wifi.WifiManager;
 import android.os.CancellationSignal;
 import android.os.Handler;
@@ -29,15 +30,13 @@
 import android.os.VibrationEffect;
 import android.os.Vibrator;
 import android.text.TextUtils;
-import android.util.FeatureFlagUtils;
 
 import com.android.settings.R;
-
 import com.android.settingslib.wifi.AccessPoint;
-
-import java.util.List;
+import com.android.wifitrackerlib.WifiEntry;
 
 import java.time.Duration;
+import java.util.List;
 
 /**
  * Here are the items shared by both WifiDppConfiguratorActivity & WifiDppEnrolleeActivity
@@ -48,62 +47,62 @@
     /**
      * The fragment tag specified to FragmentManager for container activities to manage fragments.
      */
-    public static final String TAG_FRAGMENT_QR_CODE_SCANNER = "qr_code_scanner_fragment";
+    static final String TAG_FRAGMENT_QR_CODE_SCANNER = "qr_code_scanner_fragment";
 
     /**
      * @see #TAG_FRAGMENT_QR_CODE_SCANNER
      */
-    public static final String TAG_FRAGMENT_QR_CODE_GENERATOR = "qr_code_generator_fragment";
+    static final String TAG_FRAGMENT_QR_CODE_GENERATOR = "qr_code_generator_fragment";
 
     /**
      * @see #TAG_FRAGMENT_QR_CODE_SCANNER
      */
-    public static final String TAG_FRAGMENT_CHOOSE_SAVED_WIFI_NETWORK =
+    static final String TAG_FRAGMENT_CHOOSE_SAVED_WIFI_NETWORK =
             "choose_saved_wifi_network_fragment";
 
     /**
      * @see #TAG_FRAGMENT_QR_CODE_SCANNER
      */
-    public static final String TAG_FRAGMENT_ADD_DEVICE = "add_device_fragment";
+    static final String TAG_FRAGMENT_ADD_DEVICE = "add_device_fragment";
 
     /** The data is from {@code com.android.settingslib.wifi.AccessPoint.securityToString} */
-    public static final String EXTRA_WIFI_SECURITY = "security";
+    static final String EXTRA_WIFI_SECURITY = "security";
 
     /** The data corresponding to {@code WifiConfiguration} SSID */
-    public static final String EXTRA_WIFI_SSID = "ssid";
+    static final String EXTRA_WIFI_SSID = "ssid";
 
     /** The data corresponding to {@code WifiConfiguration} preSharedKey */
-    public static final String EXTRA_WIFI_PRE_SHARED_KEY = "preSharedKey";
+    static final String EXTRA_WIFI_PRE_SHARED_KEY = "preSharedKey";
 
     /** The data corresponding to {@code WifiConfiguration} hiddenSSID */
-    public static final String EXTRA_WIFI_HIDDEN_SSID = "hiddenSsid";
+    static final String EXTRA_WIFI_HIDDEN_SSID = "hiddenSsid";
 
     /** The data corresponding to {@code WifiConfiguration} networkId */
-    public static final String EXTRA_WIFI_NETWORK_ID = "networkId";
+    static final String EXTRA_WIFI_NETWORK_ID = "networkId";
 
     /** The data to recognize if it's a Wi-Fi hotspot for configuration */
-    public static final String EXTRA_IS_HOTSPOT = "isHotspot";
+    static final String EXTRA_IS_HOTSPOT = "isHotspot";
 
     /** Used by {@link android.provider.Settings#ACTION_PROCESS_WIFI_EASY_CONNECT_URI} to
      * indicate test mode UI should be shown. Test UI does not make API calls. Value is a boolean.*/
-    public static final String EXTRA_TEST = "test";
+    static final String EXTRA_TEST = "test";
 
     /**
      * Default status code for Easy Connect
      */
-    public static final int EASY_CONNECT_EVENT_FAILURE_NONE = 0;
+    static final int EASY_CONNECT_EVENT_FAILURE_NONE = 0;
 
     /**
      * Success status code for Easy Connect.
      */
-    public static final int EASY_CONNECT_EVENT_SUCCESS = 1;
+    static final int EASY_CONNECT_EVENT_SUCCESS = 1;
 
     private static final Duration VIBRATE_DURATION_QR_CODE_RECOGNITION = Duration.ofMillis(3);
 
     /**
      * Returns whether the device support WiFi DPP.
      */
-    public static boolean isWifiDppEnabled(Context context) {
+    static boolean isWifiDppEnabled(Context context) {
         final WifiManager manager = context.getSystemService(WifiManager.class);
         return manager.isEasyConnectSupported();
     }
@@ -130,10 +129,10 @@
 
     private static String getPresharedKey(WifiManager wifiManager,
             WifiConfiguration wifiConfiguration) {
-        final List<WifiConfiguration> privilegedWifiConfiguratios =
+        final List<WifiConfiguration> privilegedWifiConfigurations =
                 wifiManager.getPrivilegedConfiguredNetworks();
 
-        for (WifiConfiguration privilegedWifiConfiguration : privilegedWifiConfiguratios) {
+        for (WifiConfiguration privilegedWifiConfiguration : privilegedWifiConfigurations) {
             if (privilegedWifiConfiguration.networkId == wifiConfiguration.networkId) {
                 // WEP uses a shared key hence the AuthAlgorithm.SHARED is used
                 // to identify it.
@@ -181,6 +180,22 @@
                 WifiQrCode.SECURITY_NO_PASSWORD : WifiQrCode.SECURITY_WEP;
     }
 
+    static String getSecurityString(WifiEntry wifiEntry) {
+        final int security = wifiEntry.getSecurity();
+        switch (security) {
+            case WifiEntry.SECURITY_SAE:
+                return WifiQrCode.SECURITY_SAE;
+            case WifiEntry.SECURITY_PSK:
+                return WifiQrCode.SECURITY_WPA_PSK;
+            case WifiEntry.SECURITY_WEP:
+                return WifiQrCode.SECURITY_WEP;
+            case WifiEntry.SECURITY_OWE:
+            case WifiEntry.SECURITY_NONE:
+            default:
+                return WifiQrCode.SECURITY_NO_PASSWORD;
+        }
+    }
+
     /**
      * Returns an intent to launch QR code generator. It may return null if the security is not
      * supported by QR code generator.
@@ -214,6 +229,33 @@
     }
 
     /**
+     * Returns an intent to launch QR code generator. It may return null if the security is not
+     * supported by QR code generator.
+     *
+     * Do not use this method for Wi-Fi hotspot network, use
+     * {@code getHotspotConfiguratorIntentOrNull} instead.
+     *
+     * @param context     The context to use for the content resolver
+     * @param wifiManager An instance of {@link WifiManager}
+     * @param wifiEntry An instance of {@link WifiEntry}
+     * @return Intent for launching QR code generator
+     */
+    public static Intent getConfiguratorQrCodeGeneratorIntentOrNull(Context context,
+            WifiManager wifiManager, WifiEntry wifiEntry) {
+        final Intent intent = new Intent(context, WifiDppConfiguratorActivity.class);
+        if (wifiEntry.canShare()) {
+            intent.setAction(WifiDppConfiguratorActivity.ACTION_CONFIGURATOR_QR_CODE_GENERATOR);
+        } else {
+            return null;
+        }
+
+        final WifiConfiguration wifiConfiguration = wifiEntry.getWifiConfiguration();
+        setConfiguratorIntentExtra(intent, wifiManager, wifiConfiguration);
+
+        return intent;
+    }
+
+    /**
      * Returns an intent to launch QR code scanner. It may return null if the security is not
      * supported by QR code scanner.
      *
@@ -244,24 +286,77 @@
     }
 
     /**
+     * Returns an intent to launch QR code scanner. It may return null if the security is not
+     * supported by QR code scanner.
+     *
+     * @param context     The context to use for the content resolver
+     * @param wifiManager An instance of {@link WifiManager}
+     * @param wifiEntry An instance of {@link WifiEntry}
+     * @return Intent for launching QR code scanner
+     */
+    public static Intent getConfiguratorQrCodeScannerIntentOrNull(Context context,
+            WifiManager wifiManager, WifiEntry wifiEntry) {
+        final Intent intent = new Intent(context, WifiDppConfiguratorActivity.class);
+        if (isSupportConfiguratorQrCodeScanner(context, wifiEntry)) {
+            intent.setAction(WifiDppConfiguratorActivity.ACTION_CONFIGURATOR_QR_CODE_SCANNER);
+        } else {
+            return null;
+        }
+
+        final WifiConfiguration wifiConfiguration = wifiEntry.getWifiConfiguration();
+        setConfiguratorIntentExtra(intent, wifiManager, wifiConfiguration);
+
+        if (wifiConfiguration.networkId == WifiConfiguration.INVALID_NETWORK_ID) {
+            throw new IllegalArgumentException("Invalid network ID");
+        } else {
+            intent.putExtra(EXTRA_WIFI_NETWORK_ID, wifiConfiguration.networkId);
+        }
+
+        return intent;
+    }
+
+    /**
      * Returns an intent to launch QR code generator for the Wi-Fi hotspot. It may return null if
      * the security is not supported by QR code generator.
      *
      * @param context The context to use for the content resolver
      * @param wifiManager An instance of {@link WifiManager}
-     * @param wifiConfiguration {@link WifiConfiguration} of the Wi-Fi hotspot
+     * @param softApConfiguration {@link SoftApConfiguration} of the Wi-Fi hotspot
      * @return Intent for launching QR code generator
      */
     public static Intent getHotspotConfiguratorIntentOrNull(Context context,
-            WifiManager wifiManager, WifiConfiguration wifiConfiguration) {
+            WifiManager wifiManager, SoftApConfiguration softApConfiguration) {
         final Intent intent = new Intent(context, WifiDppConfiguratorActivity.class);
-        if (isSupportHotspotConfiguratorQrCodeGenerator(wifiConfiguration)) {
+        if (isSupportHotspotConfiguratorQrCodeGenerator(softApConfiguration)) {
             intent.setAction(WifiDppConfiguratorActivity.ACTION_CONFIGURATOR_QR_CODE_GENERATOR);
         } else {
             return null;
         }
 
-        setConfiguratorIntentExtra(intent, wifiManager, wifiConfiguration);
+        final String ssid = removeFirstAndLastDoubleQuotes(softApConfiguration.getSsid());
+        String security;
+        if (softApConfiguration.getSecurityType() == SoftApConfiguration.SECURITY_TYPE_WPA2_PSK) {
+            security = WifiQrCode.SECURITY_WPA_PSK;
+        } else {
+            security = WifiQrCode.SECURITY_NO_PASSWORD;
+        }
+
+        // When the value of this key is read, the actual key is not returned, just a "*".
+        // Call privileged system API to obtain actual key.
+        final String preSharedKey = removeFirstAndLastDoubleQuotes(
+                softApConfiguration.getPassphrase());
+
+        if (!TextUtils.isEmpty(ssid)) {
+            intent.putExtra(EXTRA_WIFI_SSID, ssid);
+        }
+        if (!TextUtils.isEmpty(security)) {
+            intent.putExtra(EXTRA_WIFI_SECURITY, security);
+        }
+        if (!TextUtils.isEmpty(preSharedKey)) {
+            intent.putExtra(EXTRA_WIFI_PRE_SHARED_KEY, preSharedKey);
+        }
+        intent.putExtra(EXTRA_WIFI_HIDDEN_SSID, softApConfiguration.isHiddenSsid());
+
 
         intent.putExtra(EXTRA_WIFI_NETWORK_ID, WifiConfiguration.INVALID_NETWORK_ID);
         intent.putExtra(EXTRA_IS_HOTSPOT, true);
@@ -358,6 +453,19 @@
     }
 
     /**
+     * Checks if QR code scanner supports to config other devices with the Wi-Fi network
+     *
+     * @param context The context to use for {@link WifiManager#isEasyConnectSupported()}
+     * @param wifiEntry The {@link WifiEntry} of the Wi-Fi network
+     */
+    public static boolean isSupportConfiguratorQrCodeScanner(Context context, WifiEntry wifiEntry) {
+        if (wifiEntry.isSubscription()) {
+            return false;
+        }
+        return isSupportWifiDpp(context, wifiEntry.getSecurity());
+    }
+
+    /**
      * Checks if QR code generator supports to config other devices with the Wi-Fi network
      *
      * @param context The context to use for {@code WifiManager}
@@ -384,12 +492,12 @@
     }
 
     private static boolean isSupportHotspotConfiguratorQrCodeGenerator(
-            WifiConfiguration wifiConfiguration) {
+            SoftApConfiguration softApConfiguration) {
         // QR code generator produces QR code with ZXing's Wi-Fi network config format,
         // it supports PSK and WEP and non security
         // KeyMgmt.NONE is for WEP or non security
-        return wifiConfiguration.allowedKeyManagement.get(KeyMgmt.WPA2_PSK) ||
-                wifiConfiguration.allowedKeyManagement.get(KeyMgmt.NONE);
+        return softApConfiguration.getSecurityType() == SoftApConfiguration.SECURITY_TYPE_WPA2_PSK
+                || softApConfiguration.getSecurityType() == SoftApConfiguration.SECURITY_TYPE_OPEN;
     }
 
     private static boolean isSupportWifiDpp(Context context, int accesspointSecurity) {
diff --git a/src/com/android/settings/wifi/dpp/WifiNetworkConfig.java b/src/com/android/settings/wifi/dpp/WifiNetworkConfig.java
index 7423561..e6195d1 100644
--- a/src/com/android/settings/wifi/dpp/WifiNetworkConfig.java
+++ b/src/com/android/settings/wifi/dpp/WifiNetworkConfig.java
@@ -24,7 +24,6 @@
 import android.content.Context;
 import android.content.Intent;
 import android.net.wifi.WifiConfiguration;
-import android.net.wifi.WifiConfiguration.AuthAlgorithm;
 import android.net.wifi.WifiConfiguration.KeyMgmt;
 import android.net.wifi.WifiManager;
 import android.text.TextUtils;
@@ -81,7 +80,7 @@
      * WifiNetworkConfig for configuration
      */
     public interface Retriever {
-        public WifiNetworkConfig getWifiNetworkConfig();
+        WifiNetworkConfig getWifiNetworkConfig();
     }
 
     /**
@@ -90,7 +89,7 @@
      * android.settings.WIFI_DPP_CONFIGURATOR_QR_CODE_GENERATOR
      * android.settings.WIFI_DPP_CONFIGURATOR_QR_CODE_SCANNER
      */
-    public static WifiNetworkConfig getValidConfigOrNull(Intent intent) {
+    static WifiNetworkConfig getValidConfigOrNull(Intent intent) {
         final String security = intent.getStringExtra(WifiDppUtils.EXTRA_WIFI_SECURITY);
         final String ssid = intent.getStringExtra(WifiDppUtils.EXTRA_WIFI_SSID);
         final String preSharedKey = intent.getStringExtra(WifiDppUtils.EXTRA_WIFI_PRE_SHARED_KEY);
@@ -103,7 +102,7 @@
         return getValidConfigOrNull(security, ssid, preSharedKey, hiddenSsid, networkId, isHotspot);
     }
 
-    public static WifiNetworkConfig getValidConfigOrNull(String security, String ssid,
+    static WifiNetworkConfig getValidConfigOrNull(String security, String ssid,
             String preSharedKey, boolean hiddenSsid, int networkId, boolean isHotspot) {
         if (!isValidConfig(security, ssid, preSharedKey, hiddenSsid)) {
             return null;
@@ -113,7 +112,7 @@
                 isHotspot);
     }
 
-    public static boolean isValidConfig(WifiNetworkConfig config) {
+    static boolean isValidConfig(WifiNetworkConfig config) {
         if (config == null) {
             return false;
         } else {
@@ -122,7 +121,7 @@
         }
     }
 
-    public static boolean isValidConfig(String security, String ssid, String preSharedKey,
+    static boolean isValidConfig(String security, String ssid, String preSharedKey,
             boolean hiddenSsid) {
         if (!TextUtils.isEmpty(security) && !SECURITY_NO_PASSWORD.equals(security)) {
             if (TextUtils.isEmpty(preSharedKey)) {
@@ -162,9 +161,9 @@
      * Construct a barcode string for WiFi network login.
      * See https://en.wikipedia.org/wiki/QR_code#WiFi_network_login
      */
-    public String getQrCode() {
+    String getQrCode() {
         final String empty = "";
-        String barcode = new StringBuilder("WIFI:")
+        return new StringBuilder("WIFI:")
                 .append("S:")
                 .append(escapeSpecialCharacters(mSsid))
                 .append(";")
@@ -179,7 +178,6 @@
                 .append(mHiddenSsid)
                 .append(";;")
                 .toString();
-        return barcode;
     }
 
     public String getSecurity() {
@@ -233,9 +231,6 @@
     /**
      * This is a simplified method from {@code WifiConfigController.getConfig()}
      *
-     * TODO (b/129021867): WifiConfiguration is a deprecated class, should replace it with
-     *       {@code android.net.wifi.WifiNetworkSuggestion}
-     *
      * @return When it's a open network, returns 2 WifiConfiguration in the List, the 1st is
      *         open network and the 2nd is enhanced open network. Returns 1 WifiConfiguration in the
      *         List for all other supported Wi-Fi securities.
@@ -256,17 +251,15 @@
 
             final WifiConfiguration enhancedOpenNetworkWifiConfiguration =
                     getBasicWifiConfiguration();
-            enhancedOpenNetworkWifiConfiguration.allowedKeyManagement.set(KeyMgmt.OWE);
-            enhancedOpenNetworkWifiConfiguration.requirePMF = true;
+            enhancedOpenNetworkWifiConfiguration
+                    .setSecurityParams(WifiConfiguration.SECURITY_TYPE_OWE);
             wifiConfigurations.add(enhancedOpenNetworkWifiConfiguration);
             return wifiConfigurations;
         }
 
         final WifiConfiguration wifiConfiguration = getBasicWifiConfiguration();
         if (mSecurity.startsWith(SECURITY_WEP)) {
-            wifiConfiguration.allowedKeyManagement.set(KeyMgmt.NONE);
-            wifiConfiguration.allowedAuthAlgorithms.set(AuthAlgorithm.OPEN);
-            wifiConfiguration.allowedAuthAlgorithms.set(AuthAlgorithm.SHARED);
+            wifiConfiguration.setSecurityParams(WifiConfiguration.SECURITY_TYPE_WEP);
 
             // WEP-40, WEP-104, and 256-bit WEP (WEP-232?)
             final int length = mPreSharedKey.length();
@@ -277,7 +270,7 @@
                 wifiConfiguration.wepKeys[0] = addQuotationIfNeeded(mPreSharedKey);
             }
         } else if (mSecurity.startsWith(SECURITY_WPA_PSK)) {
-            wifiConfiguration.allowedKeyManagement.set(KeyMgmt.WPA_PSK);
+            wifiConfiguration.setSecurityParams(WifiConfiguration.SECURITY_TYPE_PSK);
 
             if (mPreSharedKey.matches("[0-9A-Fa-f]{64}")) {
                 wifiConfiguration.preSharedKey = mPreSharedKey;
@@ -285,8 +278,7 @@
                 wifiConfiguration.preSharedKey = addQuotationIfNeeded(mPreSharedKey);
             }
         } else if (mSecurity.startsWith(SECURITY_SAE)) {
-            wifiConfiguration.allowedKeyManagement.set(KeyMgmt.SAE);
-            wifiConfiguration.requirePMF = true;
+            wifiConfiguration.setSecurityParams(WifiConfiguration.SECURITY_TYPE_SAE);
             if (mPreSharedKey.length() != 0) {
                 wifiConfiguration.preSharedKey = addQuotationIfNeeded(mPreSharedKey);
             }
diff --git a/src/com/android/settings/wifi/dpp/WifiNetworkListFragment.java b/src/com/android/settings/wifi/dpp/WifiNetworkListFragment.java
index 372bc44..c854828 100644
--- a/src/com/android/settings/wifi/dpp/WifiNetworkListFragment.java
+++ b/src/com/android/settings/wifi/dpp/WifiNetworkListFragment.java
@@ -40,7 +40,6 @@
 import com.android.settingslib.wifi.WifiTracker;
 import com.android.settingslib.wifi.WifiTrackerFactory;
 
-import java.util.Collections;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -51,7 +50,7 @@
     private static final String WIFI_CONFIG_KEY = "wifi_config_key";
     private static final String PREF_KEY_ACCESS_POINTS = "access_points";
 
-    static final int ADD_NETWORK_REQUEST = 1;
+    private static final int ADD_NETWORK_REQUEST = 1;
 
     private PreferenceCategory mAccessPointsPreferenceCategory;
     private AccessPointPreference.UserBadgeCache mUserBadgeCache;
@@ -67,10 +66,9 @@
 
     // Container Activity must implement this interface
     public interface OnChooseNetworkListener {
-        public void onChooseNetwork(WifiNetworkConfig wifiNetworkConfig);
+        void onChooseNetwork(WifiNetworkConfig wifiNetworkConfig);
     }
-
-    OnChooseNetworkListener mOnChooseNetworkListener;
+    private OnChooseNetworkListener mOnChooseNetworkListener;
 
     @Override
     public int getMetricsCategory() {
@@ -139,8 +137,7 @@
     public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
         addPreferencesFromResource(R.xml.wifi_dpp_network_list);
 
-        mAccessPointsPreferenceCategory = (PreferenceCategory) findPreference(
-                PREF_KEY_ACCESS_POINTS);
+        mAccessPointsPreferenceCategory = findPreference(PREF_KEY_ACCESS_POINTS);
 
         mFakeNetworkPreference = new Preference(getPrefContext());
         mFakeNetworkPreference.setIcon(R.drawable.ic_wifi_signal_0);
@@ -254,12 +251,8 @@
     private boolean isValidForDppConfiguration(AccessPoint accessPoint) {
         final int security = accessPoint.getSecurity();
 
-        // DPP 1.0 only support SAE and PSK.
-        if (!(security == AccessPoint.SECURITY_PSK || security == AccessPoint.SECURITY_SAE)) {
-            return false;
-        }
-
-        return true;
+        // DPP 1.0 only support PSK and SAE.
+        return security == AccessPoint.SECURITY_PSK || security == AccessPoint.SECURITY_SAE;
     }
 
     private void launchAddNetworkFragment() {
diff --git a/src/com/android/settings/wifi/dpp/WifiQrCode.java b/src/com/android/settings/wifi/dpp/WifiQrCode.java
index 40ae111..2b4c3ed 100644
--- a/src/com/android/settings/wifi/dpp/WifiQrCode.java
+++ b/src/com/android/settings/wifi/dpp/WifiQrCode.java
@@ -48,26 +48,26 @@
  *
  */
 public class WifiQrCode {
-    public static final String SCHEME_DPP = "DPP";
-    public static final String SCHEME_ZXING_WIFI_NETWORK_CONFIG = "WIFI";
-    public static final String PREFIX_DPP = "DPP:";
-    public static final String PREFIX_ZXING_WIFI_NETWORK_CONFIG = "WIFI:";
+    static final String SCHEME_DPP = "DPP";
+    static final String SCHEME_ZXING_WIFI_NETWORK_CONFIG = "WIFI";
+    static final String PREFIX_DPP = "DPP:";
+    static final String PREFIX_ZXING_WIFI_NETWORK_CONFIG = "WIFI:";
 
-    public static final String PREFIX_DPP_PUBLIC_KEY = "K:";
-    public static final String PREFIX_DPP_INFORMATION = "I:";
+    static final String PREFIX_DPP_PUBLIC_KEY = "K:";
+    static final String PREFIX_DPP_INFORMATION = "I:";
 
-    public static final String PREFIX_ZXING_SECURITY = "T:";
-    public static final String PREFIX_ZXING_SSID = "S:";
-    public static final String PREFIX_ZXING_PASSWORD = "P:";
-    public static final String PREFIX_ZXING_HIDDEN_SSID = "H:";
+    static final String PREFIX_ZXING_SECURITY = "T:";
+    static final String PREFIX_ZXING_SSID = "S:";
+    static final String PREFIX_ZXING_PASSWORD = "P:";
+    static final String PREFIX_ZXING_HIDDEN_SSID = "H:";
 
-    public static final String DELIMITER_QR_CODE = ";";
+    static final String DELIMITER_QR_CODE = ";";
 
     // Ignores password if security is SECURITY_NO_PASSWORD or absent
-    public static final String SECURITY_NO_PASSWORD = "nopass"; //open network or OWE
-    public static final String SECURITY_WEP = "WEP";
-    public static final String SECURITY_WPA_PSK = "WPA";
-    public static final String SECURITY_SAE = "SAE";
+    static final String SECURITY_NO_PASSWORD = "nopass"; //open network or OWE
+    static final String SECURITY_WEP = "WEP";
+    static final String SECURITY_WPA_PSK = "WPA";
+    static final String SECURITY_SAE = "SAE";
 
     private String mQrCode;
 
@@ -104,7 +104,7 @@
 
     /** Parses Wi-Fi DPP QR code string */
     private void parseWifiDppQrCode(String qrCode) throws IllegalArgumentException {
-        List keyValueList = getKeyValueList(qrCode, PREFIX_DPP, DELIMITER_QR_CODE);
+        List<String> keyValueList = getKeyValueList(qrCode, PREFIX_DPP, DELIMITER_QR_CODE);
 
         String publicKey = getValueOrNull(keyValueList, PREFIX_DPP_PUBLIC_KEY);
         if (TextUtils.isEmpty(publicKey)) {
@@ -117,7 +117,7 @@
 
     /** Parses ZXing reader library's Wi-Fi Network config format */
     private void parseZxingWifiQrCode(String qrCode) throws IllegalArgumentException {
-        List keyValueList = getKeyValueList(qrCode, PREFIX_ZXING_WIFI_NETWORK_CONFIG,
+        List<String> keyValueList = getKeyValueList(qrCode, PREFIX_ZXING_WIFI_NETWORK_CONFIG,
                 DELIMITER_QR_CODE);
 
         String security = getValueOrNull(keyValueList, PREFIX_ZXING_SECURITY);
@@ -155,8 +155,7 @@
         // Should not treat \delimiter as a delimiter
         String regex = "(?<!\\\\)" + Pattern.quote(delimiter);
 
-        List<String> result = Arrays.asList(keyValueString.split(regex));
-        return result;
+        return Arrays.asList(keyValueString.split(regex));
     }
 
     private String getValueOrNull(List<String> keyValueList, String prefix) {
@@ -195,7 +194,7 @@
         return sb.toString();
     }
 
-    public String getQrCode() {
+    String getQrCode() {
         return mQrCode;
     }
 
@@ -221,7 +220,7 @@
     }
 
     /** Available when {@code getScheme()} returns SCHEME_ZXING_WIFI_NETWORK_CONFIG */
-    public WifiNetworkConfig getWifiNetworkConfig() {
+    WifiNetworkConfig getWifiNetworkConfig() {
         if (mWifiNetworkConfig == null) {
             return null;
         }
@@ -229,7 +228,7 @@
         return new WifiNetworkConfig(mWifiNetworkConfig);
     }
 
-    public static WifiQrCode getValidWifiDppQrCodeOrNull(String qrCode) {
+    static WifiQrCode getValidWifiDppQrCodeOrNull(String qrCode) {
         WifiQrCode wifiQrCode;
         try {
             wifiQrCode = new WifiQrCode(qrCode);
diff --git a/src/com/android/settings/wifi/p2p/P2pCategoryPreferenceController.java b/src/com/android/settings/wifi/p2p/P2pCategoryPreferenceController.java
index 032649c..ee46bdb 100644
--- a/src/com/android/settings/wifi/p2p/P2pCategoryPreferenceController.java
+++ b/src/com/android/settings/wifi/p2p/P2pCategoryPreferenceController.java
@@ -36,13 +36,13 @@
 
     @Override
     public boolean isAvailable() {
-        return true;
+        return mCategory.getPreferenceCount() > 0;
     }
 
     @Override
     public void displayPreference(PreferenceScreen screen) {
-        super.displayPreference(screen);
         mCategory = screen.findPreference(getPreferenceKey());
+        super.displayPreference(screen);
     }
 
     public void removeAllChildren() {
diff --git a/src/com/android/settings/wifi/p2p/WifiP2pPeer.java b/src/com/android/settings/wifi/p2p/WifiP2pPeer.java
index 6caef94..cea7200 100644
--- a/src/com/android/settings/wifi/p2p/WifiP2pPeer.java
+++ b/src/com/android/settings/wifi/p2p/WifiP2pPeer.java
@@ -58,7 +58,7 @@
         if (mRssi == Integer.MAX_VALUE) {
             mSignal.setImageDrawable(null);
         } else {
-            mSignal.setImageResource(R.drawable.wifi_signal_dark);
+            mSignal.setImageResource(R.drawable.wifi_signal);
             mSignal.setImageState(STATE_SECURED,  true);
         }
         mSignal.setImageLevel(getLevel());
diff --git a/src/com/android/settings/wifi/p2p/WifiP2pSettings.java b/src/com/android/settings/wifi/p2p/WifiP2pSettings.java
index f1ac6cd..8544a53 100644
--- a/src/com/android/settings/wifi/p2p/WifiP2pSettings.java
+++ b/src/com/android/settings/wifi/p2p/WifiP2pSettings.java
@@ -38,13 +38,15 @@
 import android.net.wifi.p2p.WifiP2pManager.PeerListListener;
 import android.net.wifi.p2p.WifiP2pManager.PersistentGroupInfoListener;
 import android.os.Bundle;
-import android.os.SystemProperties;
+import android.sysprop.TelephonyProperties;
 import android.text.InputFilter;
 import android.text.TextUtils;
 import android.util.Log;
+import android.view.LayoutInflater;
 import android.view.Menu;
 import android.view.MenuInflater;
 import android.view.MenuItem;
+import android.view.View;
 import android.widget.EditText;
 import android.widget.Toast;
 
@@ -150,7 +152,7 @@
                 } else {
                     updateSearchMenu(false);
                 }
-            } else if (WifiP2pManager.WIFI_P2P_PERSISTENT_GROUPS_CHANGED_ACTION.equals(action)) {
+            } else if (WifiP2pManager.ACTION_WIFI_P2P_PERSISTENT_GROUPS_CHANGED.equals(action)) {
                 if (mWifiP2pManager != null) {
                     mWifiP2pManager.requestPersistentGroupInfo(mChannel, WifiP2pSettings.this);
                 }
@@ -337,7 +339,7 @@
         mIntentFilter.addAction(WifiP2pManager.WIFI_P2P_CONNECTION_CHANGED_ACTION);
         mIntentFilter.addAction(WifiP2pManager.WIFI_P2P_THIS_DEVICE_CHANGED_ACTION);
         mIntentFilter.addAction(WifiP2pManager.WIFI_P2P_DISCOVERY_CHANGED_ACTION);
-        mIntentFilter.addAction(WifiP2pManager.WIFI_P2P_PERSISTENT_GROUPS_CHANGED_ACTION);
+        mIntentFilter.addAction(WifiP2pManager.ACTION_WIFI_P2P_PERSISTENT_GROUPS_CHANGED);
         final PreferenceScreen preferenceScreen = getPreferenceScreen();
 
         getActivity().registerReceiver(mReceiver, mIntentFilter);
@@ -427,7 +429,7 @@
                 WifiP2pConfig config = new WifiP2pConfig();
                 config.deviceAddress = mSelectedWifiPeer.device.deviceAddress;
 
-                int forceWps = SystemProperties.getInt("wifidirect.wps", -1);
+                int forceWps = TelephonyProperties.wps_info().orElse(-1);
 
                 if (forceWps != -1) {
                     config.wps.setup = forceWps;
@@ -495,7 +497,9 @@
                 .create();
             return dialog;
         } else if (id == DIALOG_RENAME) {
-            mDeviceNameText = new EditText(getActivity());
+            final LayoutInflater layoutInflater = LayoutInflater.from(getPrefContext());
+            final View root = layoutInflater.inflate(R.layout.dialog_edittext, null /* root */);
+            mDeviceNameText = root.findViewById(R.id.edittext);
             mDeviceNameText.setFilters(new InputFilter[] {new InputFilter.LengthFilter(30)});
             if (mSavedDeviceName != null) {
                 mDeviceNameText.setText(mSavedDeviceName);
@@ -507,7 +511,7 @@
             mSavedDeviceName = null;
             AlertDialog dialog = new AlertDialog.Builder(getActivity())
                 .setTitle(R.string.wifi_p2p_menu_rename)
-                .setView(mDeviceNameText)
+                .setView(root)
                 .setPositiveButton(getActivity().getString(R.string.dlg_ok), mRenameListener)
                 .setNegativeButton(getActivity().getString(R.string.dlg_cancel), null)
                 .create();
diff --git a/src/com/android/settings/wifi/qrcode/QrCamera.java b/src/com/android/settings/wifi/qrcode/QrCamera.java
index c682587..8e4b39f 100644
--- a/src/com/android/settings/wifi/qrcode/QrCamera.java
+++ b/src/com/android/settings/wifi/qrcode/QrCamera.java
@@ -68,9 +68,9 @@
      * size is 1920x1440, MAX_RATIO_DIFF 0.1 could allow picture size of 720x480 or 352x288 or
      * 176x44 but not 1920x1080.
      */
-    private static double MAX_RATIO_DIFF = 0.1;
+    private static final double MAX_RATIO_DIFF = 0.1;
 
-    private static long AUTOFOCUS_INTERVAL_MS = 1500L;
+    private static final long AUTOFOCUS_INTERVAL_MS = 1500L;
 
     private static Map<DecodeHintType, List<BarcodeFormat>> HINTS = new ArrayMap<>();
     private static List<BarcodeFormat> FORMATS = new ArrayList<>();
@@ -80,14 +80,16 @@
         HINTS.put(DecodeHintType.POSSIBLE_FORMATS, FORMATS);
     }
 
-    private Camera mCamera;
+    @VisibleForTesting
+    Camera mCamera;
     private Size mPreviewSize;
     private WeakReference<Context> mContext;
     private ScannerCallback mScannerCallback;
     private MultiFormatReader mReader;
     private DecodingTask mDecodeTask;
     private int mCameraOrientation;
-    private Camera.Parameters mParameters;
+    @VisibleForTesting
+    Camera.Parameters mParameters;
 
     public QrCamera(Context context, ScannerCallback callback) {
         mContext =  new WeakReference<Context>(context);
@@ -171,14 +173,17 @@
         boolean isValid(String qrCode);
     }
 
-    private void setCameraParameter() {
+    @VisibleForTesting
+    void setCameraParameter() {
         mParameters = mCamera.getParameters();
         mPreviewSize = getBestPreviewSize(mParameters);
         mParameters.setPreviewSize(mPreviewSize.getWidth(), mPreviewSize.getHeight());
         Size pictureSize = getBestPictureSize(mParameters);
-        mParameters.setPreviewSize(pictureSize.getWidth(), pictureSize.getHeight());
+        mParameters.setPictureSize(pictureSize.getWidth(), pictureSize.getHeight());
 
-        if (mParameters.getSupportedFlashModes().contains(Parameters.FLASH_MODE_OFF)) {
+        final List<String> supportedFlashModes = mParameters.getSupportedFlashModes();
+        if (supportedFlashModes != null &&
+                supportedFlashModes.contains(Parameters.FLASH_MODE_OFF)) {
             mParameters.setFlashMode(Parameters.FLASH_MODE_OFF);
         }
 
@@ -217,7 +222,7 @@
         final int rotateDegrees = (mCameraOrientation - degrees + 360) % 360;
         mCamera.setDisplayOrientation(rotateDegrees);
         mCamera.startPreview();
-        if (mParameters.getFocusMode() == Parameters.FOCUS_MODE_AUTO) {
+        if (Parameters.FOCUS_MODE_AUTO.equals(mParameters.getFocusMode())) {
             mCamera.autoFocus(/* Camera.AutoFocusCallback */ null);
             sendMessageDelayed(obtainMessage(MSG_AUTO_FOCUS), AUTOFOCUS_INTERVAL_MS);
         }
@@ -241,7 +246,7 @@
             final Semaphore imageGot = new Semaphore(0);
             while (true) {
                 // This loop will try to capture preview image continuously until a valid QR Code
-                // decoded. The caller can also call {@link #stop()} to inturrupts scanning loop.
+                // decoded. The caller can also call {@link #stop()} to interrupts scanning loop.
                 mCamera.setOneShotPreviewCallback(
                         (imageData, camera) -> {
                             mImage = getFrameImage(imageData);
@@ -288,42 +293,50 @@
                 for (int i = 0; i < numberOfCameras; ++i) {
                     Camera.getCameraInfo(i, cameraInfo);
                     if (cameraInfo.facing == CameraInfo.CAMERA_FACING_BACK) {
+                        releaseCamera();
                         mCamera = Camera.open(i);
-                        mCamera.setPreviewTexture(surface);
                         mCameraOrientation = cameraInfo.orientation;
                         break;
                     }
                 }
-                if (mCamera == null) {
-                    Log.e(TAG, "Cannot find available back camera.");
-                    mScannerCallback.handleCameraFailure();
-                    return false;
-                }
-                setCameraParameter();
-                setTransformationMatrix(mScannerCallback.getViewSize());
-                if (!startPreview()) {
-                    Log.e(TAG, "Error to init Camera");
-                    mCamera = null;
-                    mScannerCallback.handleCameraFailure();
-                    return false;
-                }
-                return true;
-            } catch (IOException e) {
-                Log.e(TAG, "Error to init Camera");
+            } catch (RuntimeException e) {
+                Log.e(TAG, "Fail to open camera: " + e);
                 mCamera = null;
                 mScannerCallback.handleCameraFailure();
                 return false;
             }
+
+            try {
+                if (mCamera == null) {
+                    throw new IOException("Cannot find available back camera");
+                }
+                mCamera.setPreviewTexture(surface);
+                setCameraParameter();
+                setTransformationMatrix();
+                if (!startPreview()) {
+                    throw new IOException("Lost contex");
+                }
+            } catch (IOException ioe) {
+                Log.e(TAG, "Fail to startPreview camera: " + ioe);
+                mCamera = null;
+                mScannerCallback.handleCameraFailure();
+                return false;
+            }
+            return true;
         }
     }
 
-    /** Set transfom matrix to crop and center the preview picture */
-    private void setTransformationMatrix(Size viewSize) {
-        // Check aspect ratio, can only handle square view.
-        final int viewRatio = (int)getRatio(viewSize.getWidth(), viewSize.getHeight());
+    private void releaseCamera() {
+        if (mCamera != null) {
+            mCamera.release();
+            mCamera = null;
+        }
+    }
 
+    /** Set transform matrix to crop and center the preview picture */
+    private void setTransformationMatrix() {
         final boolean isPortrait = mContext.get().getResources().getConfiguration().orientation
-                == Configuration.ORIENTATION_PORTRAIT ? true : false;
+                == Configuration.ORIENTATION_PORTRAIT;
 
         final int previewWidth = isPortrait ? mPreviewSize.getWidth() : mPreviewSize.getHeight();
         final int previewHeight = isPortrait ? mPreviewSize.getHeight() : mPreviewSize.getWidth();
@@ -357,7 +370,7 @@
         switch (msg.what) {
             case MSG_AUTO_FOCUS:
                 // Calling autoFocus(null) will only trigger the camera to focus once. In order
-                // to make the camera continuously auto focus during scanning, need to periodly
+                // to make the camera continuously auto focus during scanning, need to periodically
                 // trigger it.
                 mCamera.autoFocus(/* Camera.AutoFocusCallback */ null);
                 sendMessageDelayed(obtainMessage(MSG_AUTO_FOCUS), AUTOFOCUS_INTERVAL_MS);
diff --git a/src/com/android/settings/wifi/savedaccesspoints/SavedAccessPointsPreferenceController.java b/src/com/android/settings/wifi/savedaccesspoints/SavedAccessPointsPreferenceController.java
index 82c6028..fc91f6b 100644
--- a/src/com/android/settings/wifi/savedaccesspoints/SavedAccessPointsPreferenceController.java
+++ b/src/com/android/settings/wifi/savedaccesspoints/SavedAccessPointsPreferenceController.java
@@ -16,10 +16,8 @@
 
 package com.android.settings.wifi.savedaccesspoints;
 
-
 import android.content.Context;
 import android.net.wifi.WifiManager;
-import android.util.Log;
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
@@ -27,41 +25,31 @@
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.core.BasePreferenceController;
-import com.android.settings.utils.PreferenceGroupChildrenCache;
-import com.android.settings.R;
-import com.android.settingslib.core.lifecycle.LifecycleObserver;
-import com.android.settingslib.core.lifecycle.events.OnStart;
-import com.android.settingslib.utils.ThreadUtils;
 import com.android.settingslib.wifi.AccessPoint;
 import com.android.settingslib.wifi.AccessPointPreference;
 import com.android.settingslib.wifi.AccessPointPreference.UserBadgeCache;
 import com.android.settingslib.wifi.WifiSavedConfigUtils;
 
-import java.util.Collections;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * Controller that manages a PreferenceGroup, which contains a list of saved access points.
  */
 public class SavedAccessPointsPreferenceController extends BasePreferenceController implements
-        LifecycleObserver, OnStart, Preference.OnPreferenceClickListener,
-        WifiManager.ActionListener {
+        Preference.OnPreferenceClickListener {
 
-    private static final String TAG = "SavedAPPrefCtrl";
-
-    private final WifiManager mWifiManager;
-    private final PreferenceGroupChildrenCache mChildrenCache;
-
+    protected final WifiManager mWifiManager;
     private final UserBadgeCache mUserBadgeCache;
     private PreferenceGroup mPreferenceGroup;
     private SavedAccessPointsWifiSettings mHost;
+    @VisibleForTesting
+    List<AccessPoint> mAccessPoints;
 
-    public SavedAccessPointsPreferenceController(Context context,
-            String preferenceKey) {
+    public SavedAccessPointsPreferenceController(Context context, String preferenceKey) {
         super(context, preferenceKey);
         mUserBadgeCache = new AccessPointPreference.UserBadgeCache(context.getPackageManager());
         mWifiManager = context.getSystemService(WifiManager.class);
-        mChildrenCache = new PreferenceGroupChildrenCache();
     }
 
     public SavedAccessPointsPreferenceController setHost(SavedAccessPointsWifiSettings host) {
@@ -71,90 +59,47 @@
 
     @Override
     public int getAvailabilityStatus() {
-        return AVAILABLE;
+        refreshSavedAccessPoints();
+        return mAccessPoints.size() > 0 ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
     }
 
     @Override
     public void displayPreference(PreferenceScreen screen) {
-        super.displayPreference(screen);
         mPreferenceGroup = screen.findPreference(getPreferenceKey());
-    }
-
-    @Override
-    public void onStart() {
         refreshSavedAccessPoints();
-    }
-
-    public void postRefreshSavedAccessPoints() {
-        ThreadUtils.postOnMainThread(() -> refreshSavedAccessPoints());
+        updatePreference();
+        super.displayPreference(screen);
     }
 
     @Override
     public boolean onPreferenceClick(Preference preference) {
         if (mHost != null) {
-            mHost.showWifiPage((AccessPointPreference) preference);
+            final Preference preferenceInGroup =
+                    mPreferenceGroup.findPreference(preference.getKey());
+            mHost.showWifiPage((AccessPointPreference) preferenceInGroup);
         }
         return false;
     }
 
-    @Override
-    public void onSuccess() {
-        postRefreshSavedAccessPoints();
+    protected void refreshSavedAccessPoints() {
+        mAccessPoints = WifiSavedConfigUtils.getAllConfigs(mContext, mWifiManager).stream()
+                .filter(accessPoint -> !accessPoint.isPasspointConfig())
+                .sorted(SavedNetworkComparator.INSTANCE)
+                .collect(Collectors.toList());
     }
 
-    @Override
-    public void onFailure(int reason) {
-        postRefreshSavedAccessPoints();
-    }
+    private void updatePreference() {
+        mPreferenceGroup.removeAll();
+        for (AccessPoint accessPoint : mAccessPoints) {
+            final String key = accessPoint.getKey();
 
-    @VisibleForTesting
-    void refreshSavedAccessPoints() {
-        if (mPreferenceGroup == null) {
-            Log.w(TAG, "PreferenceGroup is null, skipping.");
-            return;
-        }
-        final Context prefContext = mPreferenceGroup.getContext();
+            final AccessPointPreference preference = new AccessPointPreference(accessPoint,
+                    mContext, mUserBadgeCache, true /* forSavedNetworks */);
+            preference.setKey(key);
+            preference.setIcon(null);
+            preference.setOnPreferenceClickListener(this);
 
-        final List<AccessPoint> accessPoints =
-                WifiSavedConfigUtils.getAllConfigs(mContext, mWifiManager);
-        Collections.sort(accessPoints, SavedNetworkComparator.INSTANCE);
-        mChildrenCache.cacheRemoveAllPrefs(mPreferenceGroup);
-
-        final int accessPointsSize = accessPoints.size();
-        for (int i = 0; i < accessPointsSize; ++i) {
-            AccessPoint ap = accessPoints.get(i);
-
-            if (mHost != null && mHost.isSubscriptionsFeatureEnabled()
-                    && ap.isPasspointConfig()) {
-                continue;
-            }
-
-            String key = ap.getKey();
-            AccessPointPreference preference =
-                    (AccessPointPreference) mChildrenCache.getCachedPreference(key);
-            if (preference == null) {
-                preference = new AccessPointPreference(ap, prefContext, mUserBadgeCache, true);
-                preference.setKey(key);
-                preference.setIcon(null);
-                preference.setOnPreferenceClickListener(this);
-                mPreferenceGroup.addPreference(preference);
-            }
-            preference.setOrder(i);
-        }
-
-        mChildrenCache.removeCachedPrefs(mPreferenceGroup);
-
-        if (mPreferenceGroup.getPreferenceCount() < 1) {
-            Log.w(TAG, "Saved networks activity loaded, but there are no saved networks!");
-            mPreferenceGroup.setVisible(false);
-        } else {
-            mPreferenceGroup.setVisible(true);
-        }
-
-        if (mHost != null && !mHost.isSubscriptionsFeatureEnabled()) {
-            mPreferenceGroup.setVisible(true);
-            mPreferenceGroup.setTitle(null);
-            mPreferenceGroup.setLayoutResource(R.layout.preference_category_no_label);
+            mPreferenceGroup.addPreference(preference);
         }
     }
 }
diff --git a/src/com/android/settings/wifi/savedaccesspoints/SavedAccessPointsWifiSettings.java b/src/com/android/settings/wifi/savedaccesspoints/SavedAccessPointsWifiSettings.java
index 4daf7da..863e87a 100644
--- a/src/com/android/settings/wifi/savedaccesspoints/SavedAccessPointsWifiSettings.java
+++ b/src/com/android/settings/wifi/savedaccesspoints/SavedAccessPointsWifiSettings.java
@@ -17,22 +17,16 @@
 package com.android.settings.wifi.savedaccesspoints;
 
 import android.annotation.Nullable;
-import android.app.Dialog;
 import android.app.settings.SettingsEnums;
 import android.content.Context;
-import android.content.DialogInterface;
-import android.net.wifi.WifiManager;
 import android.os.Bundle;
-import android.util.FeatureFlagUtils;
-import android.util.Log;
+
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.PreferenceScreen;
 
 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.development.featureflags.FeatureFlagPersistent;
-import com.android.settings.wifi.WifiConfigUiBase;
-import com.android.settings.wifi.WifiDialog;
 import com.android.settings.wifi.WifiSettings;
 import com.android.settings.wifi.details.WifiNetworkDetailsFragment;
 import com.android.settingslib.wifi.AccessPoint;
@@ -45,7 +39,8 @@
 
     private static final String TAG = "SavedAccessPoints";
 
-    private Bundle mAccessPointSavedState;
+    @VisibleForTesting
+    Bundle mAccessPointSavedState;
     private AccessPoint mSelectedAccessPoint;
 
     // Instance state key
@@ -82,10 +77,22 @@
             if (savedInstanceState.containsKey(SAVE_DIALOG_ACCESS_POINT_STATE)) {
                 mAccessPointSavedState =
                         savedInstanceState.getBundle(SAVE_DIALOG_ACCESS_POINT_STATE);
+            } else {
+                mAccessPointSavedState = null;
             }
         }
     }
 
+    @Override
+    public void onStart() {
+        super.onStart();
+        if (mAccessPointSavedState != null) {
+            final PreferenceScreen screen = getPreferenceScreen();
+            use(SavedAccessPointsPreferenceController.class).displayPreference(screen);
+            use(SubscribedAccessPointsPreferenceController.class).displayPreference(screen);
+        }
+    }
+
     public void showWifiPage(@Nullable AccessPointPreference accessPoint) {
         removeDialog(WifiSettings.WIFI_DIALOG_ID);
 
@@ -123,9 +130,4 @@
             outState.putBundle(SAVE_DIALOG_ACCESS_POINT_STATE, mAccessPointSavedState);
         }
     }
-
-    boolean isSubscriptionsFeatureEnabled() {
-        return FeatureFlagUtils.isEnabled(getContext(), FeatureFlags.MOBILE_NETWORK_V2)
-                && FeatureFlagPersistent.isEnabled(getContext(), FeatureFlags.NETWORK_INTERNET_V2);
-    }
 }
diff --git a/src/com/android/settings/wifi/savedaccesspoints/SavedNetworkComparator.java b/src/com/android/settings/wifi/savedaccesspoints/SavedNetworkComparator.java
index cff4387..e66ef23 100644
--- a/src/com/android/settings/wifi/savedaccesspoints/SavedNetworkComparator.java
+++ b/src/com/android/settings/wifi/savedaccesspoints/SavedNetworkComparator.java
@@ -30,7 +30,7 @@
                 @Override
                 public int compare(AccessPoint ap1, AccessPoint ap2) {
                     return mCollator.compare(
-                            nullToEmpty(ap1.getConfigName()), nullToEmpty(ap2.getConfigName()));
+                            nullToEmpty(ap1.getTitle()), nullToEmpty(ap2.getTitle()));
                 }
 
                 private String nullToEmpty(String string) {
diff --git a/src/com/android/settings/wifi/savedaccesspoints/SubscribedAccessPointsPreferenceController.java b/src/com/android/settings/wifi/savedaccesspoints/SubscribedAccessPointsPreferenceController.java
index 048999a..b86113e 100644
--- a/src/com/android/settings/wifi/savedaccesspoints/SubscribedAccessPointsPreferenceController.java
+++ b/src/com/android/settings/wifi/savedaccesspoints/SubscribedAccessPointsPreferenceController.java
@@ -16,143 +16,27 @@
 
 package com.android.settings.wifi.savedaccesspoints;
 
-
 import android.content.Context;
-import android.net.wifi.WifiManager;
-import android.util.Log;
 
-import androidx.annotation.VisibleForTesting;
-import androidx.preference.Preference;
-import androidx.preference.PreferenceGroup;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.core.BasePreferenceController;
-import com.android.settings.utils.PreferenceGroupChildrenCache;
-import com.android.settingslib.core.lifecycle.LifecycleObserver;
-import com.android.settingslib.core.lifecycle.events.OnStart;
-import com.android.settingslib.utils.ThreadUtils;
-import com.android.settingslib.wifi.AccessPoint;
-import com.android.settingslib.wifi.AccessPointPreference;
-import com.android.settingslib.wifi.AccessPointPreference.UserBadgeCache;
 import com.android.settingslib.wifi.WifiSavedConfigUtils;
 
-import java.util.Collections;
-import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * Controller that manages a PreferenceGroup, which contains a list of subscribed access points.
  */
-// TODO(b/127206629): Code refactor to avoid duplicated coding after removed feature flag.
-public class SubscribedAccessPointsPreferenceController extends BasePreferenceController implements
-        LifecycleObserver, OnStart, Preference.OnPreferenceClickListener,
-        WifiManager.ActionListener {
+public class SubscribedAccessPointsPreferenceController extends
+        SavedAccessPointsPreferenceController {
 
-    private static final String TAG = "SubscribedAPPrefCtrl";
-
-    private final WifiManager mWifiManager;
-    private final PreferenceGroupChildrenCache mChildrenCache;
-    private final UserBadgeCache mUserBadgeCache;
-    private PreferenceGroup mPreferenceGroup;
-    private SavedAccessPointsWifiSettings mHost;
-
-    public SubscribedAccessPointsPreferenceController(Context context,
-            String preferenceKey) {
+    public SubscribedAccessPointsPreferenceController(Context context, String preferenceKey) {
         super(context, preferenceKey);
-        mUserBadgeCache = new AccessPointPreference.UserBadgeCache(context.getPackageManager());
-        mWifiManager = context.getSystemService(WifiManager.class);
-        mChildrenCache = new PreferenceGroupChildrenCache();
-    }
-
-    public SubscribedAccessPointsPreferenceController setHost(SavedAccessPointsWifiSettings host) {
-        mHost = host;
-        return this;
     }
 
     @Override
-    public int getAvailabilityStatus() {
-        return AVAILABLE;
-    }
-
-    @Override
-    public void displayPreference(PreferenceScreen screen) {
-        super.displayPreference(screen);
-        mPreferenceGroup = screen.findPreference(getPreferenceKey());
-    }
-
-    @Override
-    public void onStart() {
-        refreshSubscribedAccessPoints();
-    }
-
-    public void postRefreshSubscribedAccessPoints() {
-        ThreadUtils.postOnMainThread(() -> refreshSubscribedAccessPoints());
-    }
-
-    @Override
-    public boolean onPreferenceClick(Preference preference) {
-        if (mHost != null) {
-            mHost.showWifiPage((AccessPointPreference) preference);
-        }
-        return false;
-    }
-
-    @Override
-    public void onSuccess() {
-        postRefreshSubscribedAccessPoints();
-    }
-
-    @Override
-    public void onFailure(int reason) {
-        postRefreshSubscribedAccessPoints();
-    }
-
-    @VisibleForTesting
-    void refreshSubscribedAccessPoints() {
-        if (mPreferenceGroup == null) {
-            Log.w(TAG, "PreferenceGroup is null, skipping.");
-            return;
-        }
-
-        if (mHost != null && !mHost.isSubscriptionsFeatureEnabled()) {
-            mPreferenceGroup.setVisible(false);
-            return;
-        }
-
-        final Context prefContext = mPreferenceGroup.getContext();
-
-        final List<AccessPoint> accessPoints =
-                WifiSavedConfigUtils.getAllConfigs(mContext, mWifiManager);
-        Collections.sort(accessPoints, SavedNetworkComparator.INSTANCE);
-        mChildrenCache.cacheRemoveAllPrefs(mPreferenceGroup);
-
-        final int accessPointsSize = accessPoints.size();
-        for (int i = 0; i < accessPointsSize; ++i) {
-            AccessPoint ap = accessPoints.get(i);
-            if (!ap.isPasspointConfig()) {
-                continue;
-            }
-
-            final String key = ap.getKey();
-            AccessPointPreference preference =
-                    (AccessPointPreference) mChildrenCache.getCachedPreference(key);
-            if (preference == null) {
-                preference = new AccessPointPreference(ap, prefContext, mUserBadgeCache, true);
-                preference.setKey(key);
-                preference.setIcon(null);
-                preference.setOnPreferenceClickListener(this);
-                mPreferenceGroup.addPreference(preference);
-            }
-            preference.setOrder(i);
-        }
-
-        mChildrenCache.removeCachedPrefs(mPreferenceGroup);
-
-        if (mPreferenceGroup.getPreferenceCount() < 1) {
-            Log.w(TAG, "Subscribed networks activity loaded,"
-                    + " but there are no subscribed networks!");
-            mPreferenceGroup.setVisible(false);
-        } else {
-            mPreferenceGroup.setVisible(true);
-        }
+    protected void refreshSavedAccessPoints() {
+        mAccessPoints = WifiSavedConfigUtils.getAllConfigs(mContext, mWifiManager).stream()
+                .filter(accessPoint -> accessPoint.isPasspointConfig())
+                .sorted(SavedNetworkComparator.INSTANCE)
+                .collect(Collectors.toList());
     }
 }
diff --git a/src/com/android/settings/wifi/savedaccesspoints2/SavedAccessPointsPreferenceController2.java b/src/com/android/settings/wifi/savedaccesspoints2/SavedAccessPointsPreferenceController2.java
new file mode 100644
index 0000000..3b735fa
--- /dev/null
+++ b/src/com/android/settings/wifi/savedaccesspoints2/SavedAccessPointsPreferenceController2.java
@@ -0,0 +1,96 @@
+/*
+ * 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.savedaccesspoints2;
+
+import android.content.Context;
+
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceGroup;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.core.BasePreferenceController;
+import com.android.settingslib.wifi.WifiEntryPreference;
+import com.android.wifitrackerlib.WifiEntry;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Controller that manages a PreferenceGroup, which contains a list of saved access points.
+ */
+public class SavedAccessPointsPreferenceController2 extends BasePreferenceController implements
+        Preference.OnPreferenceClickListener {
+
+    private PreferenceGroup mPreferenceGroup;
+    private SavedAccessPointsWifiSettings2 mHost;
+    @VisibleForTesting
+    List<WifiEntry> mWifiEntries = new ArrayList<>();
+
+    public SavedAccessPointsPreferenceController2(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+    }
+
+    /**
+     * Set {@link SavedAccessPointsWifiSettings2} for click callback action.
+     */
+    public SavedAccessPointsPreferenceController2 setHost(SavedAccessPointsWifiSettings2 host) {
+        mHost = host;
+        return this;
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return mWifiEntries.size() > 0 ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        mPreferenceGroup = screen.findPreference(getPreferenceKey());
+        updatePreference();
+        super.displayPreference(screen);
+    }
+
+    void displayPreference(PreferenceScreen screen, List<WifiEntry> wifiEntries) {
+        if (wifiEntries == null || wifiEntries.isEmpty()) {
+            mWifiEntries.clear();
+        } else {
+            mWifiEntries = wifiEntries;
+        }
+
+        displayPreference(screen);
+    }
+
+    @Override
+    public boolean onPreferenceClick(Preference preference) {
+        if (mHost != null) {
+            mHost.showWifiPage(preference.getKey(), preference.getTitle());
+        }
+        return false;
+    }
+
+    private void updatePreference() {
+        mPreferenceGroup.removeAll();
+        for (WifiEntry wifiEntry : mWifiEntries) {
+            final WifiEntryPreference preference = new WifiEntryPreference(mContext, wifiEntry);
+            preference.setKey(wifiEntry.getKey());
+            preference.setOnPreferenceClickListener(this);
+
+            mPreferenceGroup.addPreference(preference);
+        }
+    }
+}
diff --git a/src/com/android/settings/wifi/savedaccesspoints2/SavedAccessPointsWifiSettings2.java b/src/com/android/settings/wifi/savedaccesspoints2/SavedAccessPointsWifiSettings2.java
new file mode 100644
index 0000000..0145bb4
--- /dev/null
+++ b/src/com/android/settings/wifi/savedaccesspoints2/SavedAccessPointsWifiSettings2.java
@@ -0,0 +1,167 @@
+/*
+ * 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.savedaccesspoints2;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.net.ConnectivityManager;
+import android.net.NetworkScoreManager;
+import android.net.wifi.WifiManager;
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.HandlerThread;
+import android.os.Looper;
+import android.os.Process;
+import android.os.SimpleClock;
+import android.os.SystemClock;
+import android.text.TextUtils;
+import android.util.Log;
+
+import androidx.annotation.NonNull;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settings.core.SubSettingLauncher;
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.wifi.WifiSettings;
+import com.android.settings.wifi.details2.WifiNetworkDetailsFragment2;
+import com.android.wifitrackerlib.SavedNetworkTracker;
+
+import java.time.Clock;
+import java.time.ZoneOffset;
+
+/**
+ * UI to manage saved networks/access points.
+ */
+public class SavedAccessPointsWifiSettings2 extends DashboardFragment
+        implements SavedNetworkTracker.SavedNetworkTrackerCallback {
+
+    private static final String TAG = "SavedAccessPoints2";
+
+    // Max age of tracked WifiEntries
+    private static final long MAX_SCAN_AGE_MILLIS = 15_000;
+    // Interval between initiating SavedNetworkTracker scans
+    private static final long SCAN_INTERVAL_MILLIS = 10_000;
+
+    private SavedNetworkTracker mSavedNetworkTracker;
+    private HandlerThread mWorkerThread;
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.WIFI_SAVED_ACCESS_POINTS;
+    }
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.wifi_display_saved_access_points2;
+    }
+
+    @Override
+    protected String getLogTag() {
+        return TAG;
+    }
+
+    @Override
+    public void onAttach(Context context) {
+        super.onAttach(context);
+        use(SavedAccessPointsPreferenceController2.class).setHost(this);
+        use(SubscribedAccessPointsPreferenceController2.class).setHost(this);
+    }
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+
+        final Context context = getContext();
+        mWorkerThread = new HandlerThread(TAG
+                + "{" + Integer.toHexString(System.identityHashCode(this)) + "}",
+                Process.THREAD_PRIORITY_BACKGROUND);
+        mWorkerThread.start();
+        final Clock elapsedRealtimeClock = new SimpleClock(ZoneOffset.UTC) {
+            @Override
+            public long millis() {
+                return SystemClock.elapsedRealtime();
+            }
+        };
+        mSavedNetworkTracker = new SavedNetworkTracker(getSettingsLifecycle(), context,
+                context.getSystemService(WifiManager.class),
+                context.getSystemService(ConnectivityManager.class),
+                context.getSystemService(NetworkScoreManager.class),
+                new Handler(Looper.getMainLooper()),
+                mWorkerThread.getThreadHandler(),
+                elapsedRealtimeClock,
+                MAX_SCAN_AGE_MILLIS,
+                SCAN_INTERVAL_MILLIS,
+                this);
+    }
+
+    @Override
+    public void onStart() {
+        super.onStart();
+
+        onSavedWifiEntriesChanged();
+        onSubscriptionWifiEntriesChanged();
+    }
+
+    @Override
+    public void onDestroy() {
+        mWorkerThread.quit();
+
+        super.onDestroy();
+    }
+
+    /**
+     * Shows {@link WifiNetworkDetailsFragment2} for assigned key of {@link WifiEntry}.
+     */
+    public void showWifiPage(@NonNull String key, CharSequence title) {
+        removeDialog(WifiSettings.WIFI_DIALOG_ID);
+
+        if (TextUtils.isEmpty(key)) {
+            Log.e(TAG, "Not able to show WifiEntry of an empty key");
+            return;
+        }
+
+        final Bundle bundle = new Bundle();
+        bundle.putString(WifiNetworkDetailsFragment2.KEY_CHOSEN_WIFIENTRY_KEY, key);
+
+        new SubSettingLauncher(getContext())
+                .setTitleText(title)
+                .setDestination(WifiNetworkDetailsFragment2.class.getName())
+                .setArguments(bundle)
+                .setSourceMetricsCategory(getMetricsCategory())
+                .launch();
+    }
+
+    @Override
+    public void onWifiStateChanged() {
+        // Do nothing.
+    }
+
+    @Override
+    public void onSavedWifiEntriesChanged() {
+        final PreferenceScreen screen = getPreferenceScreen();
+        use(SavedAccessPointsPreferenceController2.class)
+                .displayPreference(screen, mSavedNetworkTracker.getSavedWifiEntries());
+    }
+
+    @Override
+    public void onSubscriptionWifiEntriesChanged() {
+        final PreferenceScreen screen = getPreferenceScreen();
+        use(SubscribedAccessPointsPreferenceController2.class)
+                .displayPreference(screen, mSavedNetworkTracker.getSubscriptionWifiEntries());
+    }
+}
diff --git a/src/com/android/settings/wifi/savedaccesspoints2/SubscribedAccessPointsPreferenceController2.java b/src/com/android/settings/wifi/savedaccesspoints2/SubscribedAccessPointsPreferenceController2.java
new file mode 100644
index 0000000..8898458
--- /dev/null
+++ b/src/com/android/settings/wifi/savedaccesspoints2/SubscribedAccessPointsPreferenceController2.java
@@ -0,0 +1,30 @@
+/*
+ * 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.savedaccesspoints2;
+
+import android.content.Context;
+
+/**
+ * Controller that manages a PreferenceGroup, which contains a list of subscribed access points.
+ */
+public class SubscribedAccessPointsPreferenceController2 extends
+        SavedAccessPointsPreferenceController2 {
+
+    public SubscribedAccessPointsPreferenceController2(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+    }
+}
diff --git a/src/com/android/settings/wifi/slice/ContextualWifiScanWorker.java b/src/com/android/settings/wifi/slice/ContextualWifiScanWorker.java
index 5e69b8a..616c92f 100644
--- a/src/com/android/settings/wifi/slice/ContextualWifiScanWorker.java
+++ b/src/com/android/settings/wifi/slice/ContextualWifiScanWorker.java
@@ -62,4 +62,9 @@
         }
         return true;
     }
+
+    @Override
+    protected int getApRowCount() {
+        return ContextualWifiSlice.getApRowCount();
+    }
 }
\ No newline at end of file
diff --git a/src/com/android/settings/wifi/slice/ContextualWifiSlice.java b/src/com/android/settings/wifi/slice/ContextualWifiSlice.java
index 97b9241..111126f 100644
--- a/src/com/android/settings/wifi/slice/ContextualWifiSlice.java
+++ b/src/com/android/settings/wifi/slice/ContextualWifiSlice.java
@@ -17,31 +17,42 @@
 package com.android.settings.wifi.slice;
 
 import android.content.Context;
+import android.graphics.PorterDuff;
+import android.graphics.PorterDuffColorFilter;
+import android.graphics.drawable.Drawable;
 import android.net.NetworkCapabilities;
+import android.net.NetworkInfo;
+import android.net.NetworkInfo.DetailedState;
+import android.net.NetworkInfo.State;
 import android.net.Uri;
 import android.net.wifi.WifiInfo;
 import android.net.wifi.WifiManager;
-import android.net.wifi.WifiSsid;
 import android.text.TextUtils;
-import android.util.Log;
 
 import androidx.annotation.VisibleForTesting;
+import androidx.core.graphics.drawable.IconCompat;
 import androidx.slice.Slice;
+import androidx.slice.builders.ListBuilder;
 
+import com.android.settings.R;
+import com.android.settings.Utils;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.slices.CustomSliceRegistry;
 import com.android.settings.slices.CustomSliceable;
+import com.android.settingslib.wifi.AccessPoint;
 
 /**
  * {@link CustomSliceable} for Wi-Fi, used by contextual homepage.
  */
 public class ContextualWifiSlice extends WifiSlice {
 
-    private static final String TAG = "ContextualWifiSlice";
+    @VisibleForTesting
+    static final int COLLAPSED_ROW_COUNT = 0;
+
     @VisibleForTesting
     static long sActiveUiSession = -1000;
     @VisibleForTesting
-    static boolean sPreviouslyDisplayed;
+    static boolean sApRowCollapsed;
 
     public ContextualWifiSlice(Context context) {
         super(context);
@@ -58,28 +69,86 @@
                 .getSlicesFeatureProvider().getUiSessionToken();
         if (currentUiSession != sActiveUiSession) {
             sActiveUiSession = currentUiSession;
-            sPreviouslyDisplayed = false;
+            sApRowCollapsed = hasWorkingNetwork();
+        } else if (!mWifiManager.isWifiEnabled()) {
+            sApRowCollapsed = false;
         }
-        if (!sPreviouslyDisplayed && hasWorkingNetwork()) {
-            Log.d(TAG, "Wifi is connected, no point showing any suggestion.");
-            return null;
-        }
-        // Set sPreviouslyDisplayed to true - we will show *something* on the screen. So we should
-        // keep showing this card to keep UI stable, even if wifi connects to a network later.
-        sPreviouslyDisplayed = true;
-
         return super.getSlice();
     }
 
+    static int getApRowCount() {
+        return sApRowCollapsed ? COLLAPSED_ROW_COUNT : DEFAULT_EXPANDED_ROW_COUNT;
+    }
+
+    @Override
+    protected boolean isApRowCollapsed() {
+        return sApRowCollapsed;
+    }
+
+    @Override
+    protected ListBuilder.RowBuilder getHeaderRow(AccessPoint accessPoint) {
+        final ListBuilder.RowBuilder builder = super.getHeaderRow(accessPoint);
+        if (sApRowCollapsed) {
+            builder.setTitleItem(getLevelIcon(accessPoint), ListBuilder.ICON_IMAGE)
+                    .setSubtitle(getSubtitle(accessPoint));
+        }
+        return builder;
+    }
+
+    private IconCompat getLevelIcon(AccessPoint accessPoint) {
+        if (accessPoint != null) {
+            return getAccessPointLevelIcon(accessPoint);
+        }
+
+        final Drawable drawable = mContext.getDrawable(
+                com.android.settingslib.Utils.getWifiIconResource(0));
+        final int color = Utils.getColorAttrDefaultColor(mContext,
+                android.R.attr.colorControlNormal);
+        drawable.setColorFilter(new PorterDuffColorFilter(color, PorterDuff.Mode.SRC_IN));
+        return Utils.createIconWithDrawable(drawable);
+    }
+
+    private CharSequence getSubtitle(AccessPoint accessPoint) {
+        if (isCaptivePortal()) {
+            final int id = mContext.getResources()
+                    .getIdentifier("network_available_sign_in", "string", "android");
+            return mContext.getText(id);
+        }
+
+        if (accessPoint == null) {
+            return mContext.getText(R.string.disconnected);
+        }
+
+        final NetworkInfo networkInfo = accessPoint.getNetworkInfo();
+        if (networkInfo == null) {
+            return mContext.getText(R.string.disconnected);
+        }
+
+        final State state = networkInfo.getState();
+        DetailedState detailedState;
+        if (state == State.CONNECTING) {
+            detailedState = DetailedState.CONNECTING;
+        } else if (state == State.CONNECTED) {
+            detailedState = DetailedState.CONNECTED;
+        } else {
+            detailedState = networkInfo.getDetailedState();
+        }
+
+        final String[] formats = mContext.getResources().getStringArray(
+                R.array.wifi_status_with_ssid);
+        final int index = detailedState.ordinal();
+        return String.format(formats[index], accessPoint.getTitle());
+    }
+
     private boolean hasWorkingNetwork() {
-        return !TextUtils.equals(getActiveSSID(), WifiSsid.NONE) && hasInternetAccess();
+        return !TextUtils.equals(getActiveSSID(), WifiManager.UNKNOWN_SSID) && hasInternetAccess();
     }
 
     private String getActiveSSID() {
         if (mWifiManager.getWifiState() != WifiManager.WIFI_STATE_ENABLED) {
-            return WifiSsid.NONE;
+            return WifiManager.UNKNOWN_SSID;
         }
-        return WifiInfo.removeDoubleQuotes(mWifiManager.getConnectionInfo().getSSID());
+        return WifiInfo.sanitizeSsid(mWifiManager.getConnectionInfo().getSSID());
     }
 
     private boolean hasInternetAccess() {
diff --git a/src/com/android/settings/wifi/slice/WifiScanWorker.java b/src/com/android/settings/wifi/slice/WifiScanWorker.java
index a5bd74d..9d0f821 100644
--- a/src/com/android/settings/wifi/slice/WifiScanWorker.java
+++ b/src/com/android/settings/wifi/slice/WifiScanWorker.java
@@ -111,10 +111,11 @@
         // AccessPoints are sorted by the WifiTracker
         final List<AccessPoint> accessPoints = mWifiTracker.getAccessPoints();
         final List<AccessPoint> resultList = new ArrayList<>();
+        final int apRowCount = getApRowCount();
         for (AccessPoint ap : accessPoints) {
             if (ap.isReachable()) {
                 resultList.add(clone(ap));
-                if (resultList.size() >= DEFAULT_EXPANDED_ROW_COUNT) {
+                if (resultList.size() >= apRowCount) {
                     break;
                 }
             }
@@ -122,6 +123,10 @@
         updateResults(resultList);
     }
 
+    protected int getApRowCount() {
+        return DEFAULT_EXPANDED_ROW_COUNT;
+    }
+
     private AccessPoint clone(AccessPoint accessPoint) {
         final Bundle savedState = new Bundle();
         accessPoint.saveWifiState(savedState);
@@ -153,7 +158,7 @@
     }
 
     static boolean isWifiClicked(WifiInfo info) {
-        final String ssid = WifiInfo.removeDoubleQuotes(info.getSSID());
+        final String ssid = WifiInfo.sanitizeSsid(info.getSSID());
         return !TextUtils.isEmpty(ssid) && TextUtils.equals(ssid, sClickedWifiSsid);
     }
 
diff --git a/src/com/android/settings/wifi/slice/WifiSlice.java b/src/com/android/settings/wifi/slice/WifiSlice.java
index e5c8de5..db9725b 100644
--- a/src/com/android/settings/wifi/slice/WifiSlice.java
+++ b/src/com/android/settings/wifi/slice/WifiSlice.java
@@ -92,7 +92,7 @@
         mContext.getTheme().applyStyle(R.style.Theme_Settings_Home, true /* force */);
 
         final boolean isWifiEnabled = isWifiEnabled();
-        ListBuilder listBuilder = getHeaderRow(isWifiEnabled);
+        ListBuilder listBuilder = getListBuilder(isWifiEnabled, null /* accessPoint */);
         if (!isWifiEnabled) {
             WifiScanWorker.clearClickedWifi();
             return listBuilder.build();
@@ -104,17 +104,12 @@
         final boolean isFirstApActive = apCount > 0 && apList.get(0).isActive();
         handleNetworkCallback(worker, isFirstApActive);
 
-        // Need a loading text when results are not ready or out of date.
-        boolean needLoadingRow = true;
-        // Skip checking the existence of the first access point if it's active
-        int index = isFirstApActive ? 1 : 0;
-        // This loop checks the existence of reachable APs to determine the validity of the current
-        // AP list.
-        for (; index < apCount; index++) {
-            if (apList.get(index).isReachable()) {
-                needLoadingRow = false;
-                break;
+        if (isApRowCollapsed()) {
+            if (isFirstApActive) {
+                // refresh header subtext
+                listBuilder = getListBuilder(true /* isWifiEnabled */, apList.get(0));
             }
+            return listBuilder.build();
         }
 
         // Add AP rows
@@ -122,9 +117,8 @@
         for (int i = 0; i < DEFAULT_EXPANDED_ROW_COUNT; i++) {
             if (i < apCount) {
                 listBuilder.addRow(getAccessPointRow(apList.get(i)));
-            } else if (needLoadingRow) {
+            } else if (i == apCount) {
                 listBuilder.addRow(getLoadingRow(placeholder));
-                needLoadingRow = false;
             } else {
                 listBuilder.addRow(new ListBuilder.RowBuilder()
                         .setTitle(placeholder)
@@ -145,24 +139,33 @@
         }
     }
 
-    private ListBuilder getHeaderRow(boolean isWifiEnabled) {
+    protected boolean isApRowCollapsed() {
+        return false;
+    }
+
+    protected ListBuilder.RowBuilder getHeaderRow(AccessPoint accessPoint) {
         final IconCompat icon = IconCompat.createWithResource(mContext,
                 R.drawable.ic_settings_wireless);
         final String title = mContext.getString(R.string.wifi_settings);
-        final PendingIntent toggleAction = getBroadcastIntent(mContext);
         final PendingIntent primaryAction = getPrimaryAction();
         final SliceAction primarySliceAction = SliceAction.createDeeplink(primaryAction, icon,
                 ListBuilder.ICON_IMAGE, title);
+
+        return new ListBuilder.RowBuilder()
+                .setTitle(title)
+                .setPrimaryAction(primarySliceAction);
+    }
+
+    private ListBuilder getListBuilder(boolean isWifiEnabled, AccessPoint accessPoint) {
+        final PendingIntent toggleAction = getBroadcastIntent(mContext);
         final SliceAction toggleSliceAction = SliceAction.createToggle(toggleAction,
                 null /* actionTitle */, isWifiEnabled);
-
-        return new ListBuilder(mContext, getUri(), ListBuilder.INFINITY)
+        final ListBuilder builder = new ListBuilder(mContext, getUri(), ListBuilder.INFINITY)
                 .setAccentColor(COLOR_NOT_TINTED)
                 .setKeywords(getKeywords())
-                .addRow(new ListBuilder.RowBuilder()
-                        .setTitle(title)
-                        .addEndItem(toggleSliceAction)
-                        .setPrimaryAction(primarySliceAction));
+                .addRow(getHeaderRow(accessPoint))
+                .addAction(toggleSliceAction);
+        return builder;
     }
 
     private ListBuilder.RowBuilder getAccessPointRow(AccessPoint accessPoint) {
@@ -197,7 +200,7 @@
         return TextUtils.isEmpty(summary) ? mContext.getText(R.string.disconnected) : summary;
     }
 
-    private IconCompat getAccessPointLevelIcon(AccessPoint accessPoint) {
+    protected IconCompat getAccessPointLevelIcon(AccessPoint accessPoint) {
         final Drawable d = mContext.getDrawable(
                 com.android.settingslib.Utils.getWifiIconResource(accessPoint.getLevel()));
 
@@ -293,7 +296,7 @@
                 .setSubtitle(title);
     }
 
-    private boolean isCaptivePortal() {
+    protected boolean isCaptivePortal() {
         final NetworkCapabilities nc = mConnectivityManager.getNetworkCapabilities(
                 mWifiManager.getCurrentNetwork());
         return WifiUtils.canSignIntoNetwork(nc);
diff --git a/src/com/android/settings/wifi/tether/TetherService.java b/src/com/android/settings/wifi/tether/TetherService.java
index 058bba7..e01a246 100644
--- a/src/com/android/settings/wifi/tether/TetherService.java
+++ b/src/com/android/settings/wifi/tether/TetherService.java
@@ -88,7 +88,7 @@
         String provisionResponse = getResourceForActiveDataSubId().getString(
                 com.android.internal.R.string.config_mobile_hotspot_provision_response);
         registerReceiver(mReceiver, new IntentFilter(provisionResponse),
-                android.Manifest.permission.CONNECTIVITY_INTERNAL, null);
+                android.Manifest.permission.TETHER_PRIVILEGED, null);
         SharedPreferences prefs = getSharedPreferences(PREFS, MODE_PRIVATE);
         mCurrentTethers = stringToTethers(prefs.getString(KEY_TETHERS, ""));
         mCurrentTypeIndex = 0;
diff --git a/src/com/android/settings/wifi/tether/WifiTetherApBandPreferenceController.java b/src/com/android/settings/wifi/tether/WifiTetherApBandPreferenceController.java
index 3a85f7b..8a4be10 100644
--- a/src/com/android/settings/wifi/tether/WifiTetherApBandPreferenceController.java
+++ b/src/com/android/settings/wifi/tether/WifiTetherApBandPreferenceController.java
@@ -16,9 +16,12 @@
 
 package com.android.settings.wifi.tether;
 
+import static com.android.settings.AllInOneTetherSettings.DEDUP_POSTFIX;
+
 import android.content.Context;
 import android.content.res.Resources;
-import android.net.wifi.WifiConfiguration;
+import android.net.wifi.SoftApConfiguration;
+import android.util.FeatureFlagUtils;
 import android.util.Log;
 
 import androidx.annotation.VisibleForTesting;
@@ -26,6 +29,7 @@
 import androidx.preference.Preference;
 
 import com.android.settings.R;
+import com.android.settings.core.FeatureFlags;
 
 public class WifiTetherApBandPreferenceController extends WifiTetherBasePreferenceController {
 
@@ -35,29 +39,28 @@
     private String[] mBandEntries;
     private String[] mBandSummaries;
     private int mBandIndex;
-    private boolean isDualMode;
 
     public WifiTetherApBandPreferenceController(Context context,
             OnTetherConfigUpdateListener listener) {
         super(context, listener);
-        isDualMode = mWifiManager.isDualModeSupported();
         updatePreferenceEntries();
     }
 
     @Override
     public void updateDisplay() {
-        final WifiConfiguration config = mWifiManager.getWifiApConfiguration();
+        final SoftApConfiguration config = mWifiManager.getSoftApConfiguration();
         if (config == null) {
-            mBandIndex = 0;
-            Log.d(TAG, "Updating band index to 0 because no config");
+            mBandIndex = SoftApConfiguration.BAND_2GHZ;
+            Log.d(TAG, "Updating band index to BAND_2GHZ because no config");
         } else if (is5GhzBandSupported()) {
-            mBandIndex = validateSelection(config.apBand);
+            mBandIndex = validateSelection(config.getBand());
             Log.d(TAG, "Updating band index to " + mBandIndex);
         } else {
-            config.apBand = 0;
-            mWifiManager.setWifiApConfiguration(config);
-            mBandIndex = config.apBand;
-            Log.d(TAG, "5Ghz not supported, updating band index to " + mBandIndex);
+            mWifiManager.setSoftApConfiguration(
+                    new SoftApConfiguration.Builder(config).setBand(SoftApConfiguration.BAND_2GHZ)
+                        .build());
+            mBandIndex = SoftApConfiguration.BAND_2GHZ;
+            Log.d(TAG, "5Ghz not supported, updating band index to 2GHz");
         }
         ListPreference preference =
                 (ListPreference) mPreference;
@@ -68,21 +71,26 @@
             preference.setEnabled(false);
             preference.setSummary(R.string.wifi_ap_choose_2G);
         } else {
-            preference.setValue(Integer.toString(config.apBand));
+            preference.setValue(Integer.toString(config.getBand()));
             preference.setSummary(getConfigSummary());
         }
     }
 
     String getConfigSummary() {
-        if (mBandIndex == WifiConfiguration.AP_BAND_ANY) {
-           return mContext.getString(R.string.wifi_ap_prefer_5G);
+        switch (mBandIndex) {
+            case SoftApConfiguration.BAND_2GHZ:
+                return mBandSummaries[0];
+            case SoftApConfiguration.BAND_5GHZ:
+                return mBandSummaries[1];
+            default:
+                return mContext.getString(R.string.wifi_ap_prefer_5G);
         }
-        return mBandSummaries[mBandIndex];
     }
 
     @Override
     public String getPreferenceKey() {
-        return PREF_KEY;
+        return FeatureFlagUtils.isEnabled(mContext, FeatureFlags.TETHER_ALL_IN_ONE)
+                ? PREF_KEY + DEDUP_POSTFIX : PREF_KEY;
     }
 
     @Override
@@ -90,24 +98,19 @@
         mBandIndex = validateSelection(Integer.parseInt((String) newValue));
         Log.d(TAG, "Band preference changed, updating band index to " + mBandIndex);
         preference.setSummary(getConfigSummary());
-        mListener.onTetherConfigUpdated();
+        mListener.onTetherConfigUpdated(this);
         return true;
     }
 
     private int validateSelection(int band) {
-        // Reset the band to 2.4 GHz if we get a weird config back to avoid a crash.
-        final boolean isDualMode = mWifiManager.isDualModeSupported();
-
         // unsupported states:
-        // 1: no dual mode means we can't have AP_BAND_ANY - default to 5GHZ
-        // 2: no 5 GHZ support means we can't have AP_BAND_5GHZ - default to 2GHZ
-        // 3: With Dual mode support we can't have AP_BAND_5GHZ - default to ANY
-        if (!isDualMode && WifiConfiguration.AP_BAND_ANY == band) {
-            return WifiConfiguration.AP_BAND_5GHZ;
-        } else if (!is5GhzBandSupported() && WifiConfiguration.AP_BAND_5GHZ == band) {
-            return WifiConfiguration.AP_BAND_2GHZ;
-        } else if (isDualMode && WifiConfiguration.AP_BAND_5GHZ == band) {
-            return WifiConfiguration.AP_BAND_ANY;
+        // 1: BAND_5GHZ only - include 2GHZ since some of countries doesn't support 5G hotspot
+        // 2: no 5 GHZ support means we can't have BAND_5GHZ - default to 2GHZ
+        if (SoftApConfiguration.BAND_5GHZ == band) {
+            if (!is5GhzBandSupported()) {
+                return SoftApConfiguration.BAND_2GHZ;
+            }
+            return SoftApConfiguration.BAND_5GHZ | SoftApConfiguration.BAND_2GHZ;
         }
 
         return band;
@@ -116,20 +119,15 @@
     @VisibleForTesting
     void updatePreferenceEntries() {
         Resources res = mContext.getResources();
-        int entriesRes = R.array.wifi_ap_band_config_full;
-        int summariesRes = R.array.wifi_ap_band_summary_full;
-        // change the list options if this is a dual mode device
-        if (isDualMode) {
-            entriesRes = R.array.wifi_ap_band_dual_mode;
-            summariesRes = R.array.wifi_ap_band_dual_mode_summary;
-        }
+        int entriesRes = R.array.wifi_ap_band;
+        int summariesRes = R.array.wifi_ap_band_summary;
         mBandEntries = res.getStringArray(entriesRes);
         mBandSummaries = res.getStringArray(summariesRes);
     }
 
     private boolean is5GhzBandSupported() {
         final String countryCode = mWifiManager.getCountryCode();
-        if (!mWifiManager.isDualBandSupported() || countryCode == null) {
+        if (!mWifiManager.is5GHzBandSupported() || countryCode == null) {
             return false;
         }
         return true;
diff --git a/src/com/android/settings/wifi/tether/WifiTetherAutoOffPreferenceController.java b/src/com/android/settings/wifi/tether/WifiTetherAutoOffPreferenceController.java
index 01a0b57..b54a80f 100644
--- a/src/com/android/settings/wifi/tether/WifiTetherAutoOffPreferenceController.java
+++ b/src/com/android/settings/wifi/tether/WifiTetherAutoOffPreferenceController.java
@@ -17,7 +17,8 @@
 package com.android.settings.wifi.tether;
 
 import android.content.Context;
-import android.provider.Settings;
+import android.net.wifi.SoftApConfiguration;
+import android.net.wifi.WifiManager;
 
 import androidx.preference.Preference;
 import androidx.preference.SwitchPreference;
@@ -27,8 +28,11 @@
 public class WifiTetherAutoOffPreferenceController extends BasePreferenceController implements
         Preference.OnPreferenceChangeListener {
 
+    private final WifiManager mWifiManager;
+
     public WifiTetherAutoOffPreferenceController(Context context, String preferenceKey) {
         super(context, preferenceKey);
+        mWifiManager = context.getSystemService(WifiManager.class);
     }
 
     @Override
@@ -38,8 +42,8 @@
 
     @Override
     public void updateState(Preference preference) {
-        final boolean settingsOn = Settings.Global.getInt(mContext.getContentResolver(),
-                Settings.Global.SOFT_AP_TIMEOUT_ENABLED, 1) != 0;
+        SoftApConfiguration softApConfiguration = mWifiManager.getSoftApConfiguration();
+        final boolean settingsOn = softApConfiguration.isAutoShutdownEnabled();
 
         ((SwitchPreference) preference).setChecked(settingsOn);
     }
@@ -47,8 +51,11 @@
     @Override
     public boolean onPreferenceChange(Preference preference, Object newValue) {
         final boolean settingsOn = (Boolean) newValue;
-        Settings.Global.putInt(mContext.getContentResolver(),
-                Settings.Global.SOFT_AP_TIMEOUT_ENABLED, settingsOn ? 1 : 0);
-        return true;
+        SoftApConfiguration softApConfiguration = mWifiManager.getSoftApConfiguration();
+        SoftApConfiguration newSoftApConfiguration =
+                new SoftApConfiguration.Builder(softApConfiguration)
+                        .setAutoShutdownEnabled(settingsOn)
+                        .build();
+        return mWifiManager.setSoftApConfiguration(newSoftApConfiguration);
     }
 }
diff --git a/src/com/android/settings/wifi/tether/WifiTetherBasePreferenceController.java b/src/com/android/settings/wifi/tether/WifiTetherBasePreferenceController.java
index 94e9209..7ba0216 100644
--- a/src/com/android/settings/wifi/tether/WifiTetherBasePreferenceController.java
+++ b/src/com/android/settings/wifi/tether/WifiTetherBasePreferenceController.java
@@ -26,11 +26,12 @@
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.core.AbstractPreferenceController;
 
+// TODO(b/151133650): Replace AbstractPreferenceController with BasePreferenceController.
 public abstract class WifiTetherBasePreferenceController extends AbstractPreferenceController
         implements PreferenceControllerMixin, Preference.OnPreferenceChangeListener {
 
     public interface OnTetherConfigUpdateListener {
-        void onTetherConfigUpdated();
+        void onTetherConfigUpdated(AbstractPreferenceController context);
     }
 
     protected final WifiManager mWifiManager;
diff --git a/src/com/android/settings/wifi/tether/WifiTetherFooterPreferenceController.java b/src/com/android/settings/wifi/tether/WifiTetherFooterPreferenceController.java
new file mode 100644
index 0000000..c6a0a9f
--- /dev/null
+++ b/src/com/android/settings/wifi/tether/WifiTetherFooterPreferenceController.java
@@ -0,0 +1,54 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.wifi.tether;
+
+import android.content.Context;
+
+import androidx.preference.Preference;
+
+import com.android.settings.R;
+
+/**
+ * Shows hotspot footer information.
+ */
+public class WifiTetherFooterPreferenceController extends WifiTetherBasePreferenceController {
+
+    private static final String PREF_KEY = "tether_prefs_footer_2";
+
+    public WifiTetherFooterPreferenceController(Context context) {
+        super(context, null /* listener */);
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return PREF_KEY;
+    }
+
+    @Override
+    public void updateDisplay() {
+        if (mWifiManager.isStaApConcurrencySupported()) {
+            mPreference.setTitle(R.string.tethering_footer_info_sta_ap_concurrency);
+        } else {
+            mPreference.setTitle(R.string.tethering_footer_info);
+        }
+    }
+
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object newValue) {
+        return true;
+    }
+}
diff --git a/src/com/android/settings/wifi/tether/WifiTetherPasswordPreferenceController.java b/src/com/android/settings/wifi/tether/WifiTetherPasswordPreferenceController.java
index 8d9e858..a4a51dc 100644
--- a/src/com/android/settings/wifi/tether/WifiTetherPasswordPreferenceController.java
+++ b/src/com/android/settings/wifi/tether/WifiTetherPasswordPreferenceController.java
@@ -16,16 +16,24 @@
 
 package com.android.settings.wifi.tether;
 
-import android.content.Context;
-import android.net.wifi.WifiConfiguration;
-import android.text.TextUtils;
+import static com.android.settings.AllInOneTetherSettings.DEDUP_POSTFIX;
 
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.net.wifi.SoftApConfiguration;
+import android.text.TextUtils;
+import android.util.FeatureFlagUtils;
+
+import androidx.annotation.VisibleForTesting;
 import androidx.preference.EditTextPreference;
 import androidx.preference.Preference;
 
 import com.android.settings.R;
+import com.android.settings.core.FeatureFlags;
+import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.widget.ValidatedEditTextPreference;
 import com.android.settings.wifi.WifiUtils;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 
 import java.util.UUID;
 
@@ -36,24 +44,36 @@
 
     private String mPassword;
 
+    private final MetricsFeatureProvider mMetricsFeatureProvider;
+
+    @VisibleForTesting
+    WifiTetherPasswordPreferenceController(Context context, OnTetherConfigUpdateListener listener,
+            MetricsFeatureProvider provider) {
+        super(context, listener);
+        mMetricsFeatureProvider = provider;
+    }
+
     public WifiTetherPasswordPreferenceController(Context context,
             OnTetherConfigUpdateListener listener) {
         super(context, listener);
+        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
     }
 
     @Override
     public String getPreferenceKey() {
-        return PREF_KEY;
+        return FeatureFlagUtils.isEnabled(mContext, FeatureFlags.TETHER_ALL_IN_ONE)
+                ? PREF_KEY + DEDUP_POSTFIX : PREF_KEY;
     }
 
     @Override
     public void updateDisplay() {
-        final WifiConfiguration config = mWifiManager.getWifiApConfiguration();
-        if (config == null || (config.getAuthType() == WifiConfiguration.KeyMgmt.WPA2_PSK
-                && TextUtils.isEmpty(config.preSharedKey))) {
+        final SoftApConfiguration config = mWifiManager.getSoftApConfiguration();
+        if (config == null
+                || (config.getSecurityType() == SoftApConfiguration.SECURITY_TYPE_WPA2_PSK
+                && TextUtils.isEmpty(config.getPassphrase()))) {
             mPassword = generateRandomPassword();
         } else {
-            mPassword = config.preSharedKey;
+            mPassword = config.getPassphrase();
         }
         ((ValidatedEditTextPreference) mPreference).setValidator(this);
         ((ValidatedEditTextPreference) mPreference).setIsPassword(true);
@@ -63,9 +83,13 @@
 
     @Override
     public boolean onPreferenceChange(Preference preference, Object newValue) {
+        if (!TextUtils.equals(mPassword, (String) newValue)) {
+            mMetricsFeatureProvider.action(mContext,
+                    SettingsEnums.ACTION_SETTINGS_CHANGE_WIFI_HOTSPOT_PASSWORD);
+        }
         mPassword = (String) newValue;
         updatePasswordDisplay((EditTextPreference) mPreference);
-        mListener.onTetherConfigUpdated();
+        mListener.onTetherConfigUpdated(this);
         return true;
     }
 
@@ -79,7 +103,7 @@
      */
     public String getPasswordValidated(int securityType) {
         // don't actually overwrite unless we get a new config in case it was accidentally toggled.
-        if (securityType == WifiConfiguration.KeyMgmt.NONE) {
+        if (securityType == SoftApConfiguration.SECURITY_TYPE_OPEN) {
             return "";
         } else if (!isTextValid(mPassword)) {
             mPassword = generateRandomPassword();
@@ -89,7 +113,7 @@
     }
 
     public void updateVisibility(int securityType) {
-        mPreference.setVisible(securityType != WifiConfiguration.KeyMgmt.NONE);
+        mPreference.setVisible(securityType != SoftApConfiguration.SECURITY_TYPE_OPEN);
     }
 
     @Override
diff --git a/src/com/android/settings/wifi/tether/WifiTetherPreferenceController.java b/src/com/android/settings/wifi/tether/WifiTetherPreferenceController.java
index 8f6d489..5049002 100644
--- a/src/com/android/settings/wifi/tether/WifiTetherPreferenceController.java
+++ b/src/com/android/settings/wifi/tether/WifiTetherPreferenceController.java
@@ -16,14 +16,12 @@
 
 package com.android.settings.wifi.tether;
 
-import android.content.BroadcastReceiver;
+import android.annotation.NonNull;
 import android.content.Context;
-import android.content.Intent;
-import android.content.IntentFilter;
 import android.net.ConnectivityManager;
-import android.net.wifi.WifiConfiguration;
+import android.net.wifi.SoftApConfiguration;
+import android.net.wifi.WifiClient;
 import android.net.wifi.WifiManager;
-import android.provider.Settings;
 import android.text.BidiFormatter;
 
 import androidx.annotation.VisibleForTesting;
@@ -39,6 +37,8 @@
 import com.android.settingslib.core.lifecycle.events.OnStart;
 import com.android.settingslib.core.lifecycle.events.OnStop;
 
+import java.util.List;
+
 public class WifiTetherPreferenceController extends AbstractPreferenceController
         implements PreferenceControllerMixin, LifecycleObserver, OnStart, OnStop {
 
@@ -128,13 +128,13 @@
                     }
 
                     @Override
-                    public void onNumClientsChanged(int numClients) {
+                    public void onConnectedClientsChanged(List<WifiClient> clients) {
                         if (mPreference != null
                                 && mSoftApState == WifiManager.WIFI_AP_STATE_ENABLED) {
                             // Only show the number of clients when state is on
                             mPreference.setSummary(mContext.getResources().getQuantityString(
-                                    R.plurals.wifi_tether_connected_summary, numClients,
-                                    numClients));
+                                    R.plurals.wifi_tether_connected_summary, clients.size(),
+                                    clients.size()));
                         }
                     }
                 });
@@ -147,8 +147,8 @@
                 mPreference.setSummary(R.string.wifi_tether_starting);
                 break;
             case WifiManager.WIFI_AP_STATE_ENABLED:
-                WifiConfiguration wifiConfig = mWifiManager.getWifiApConfiguration();
-                updateConfigSummary(wifiConfig);
+                final SoftApConfiguration softApConfig = mWifiManager.getSoftApConfiguration();
+                updateConfigSummary(softApConfig);
                 break;
             case WifiManager.WIFI_AP_STATE_DISABLING:
                 mPreference.setSummary(R.string.wifi_tether_stopping);
@@ -165,12 +165,12 @@
         }
     }
 
-    private void updateConfigSummary(WifiConfiguration wifiConfig) {
-        final String s = mContext.getString(
-                com.android.internal.R.string.wifi_tether_configure_ssid_default);
-
+    private void updateConfigSummary(@NonNull SoftApConfiguration softApConfig) {
+        if (softApConfig == null) {
+            // Should never happen.
+            return;
+        }
         mPreference.setSummary(mContext.getString(R.string.wifi_tether_enabled_subtext,
-                BidiFormatter.getInstance().unicodeWrap(
-                        (wifiConfig == null) ? s : wifiConfig.SSID)));
+                BidiFormatter.getInstance().unicodeWrap(softApConfig.getSsid())));
     }
 }
diff --git a/src/com/android/settings/wifi/tether/WifiTetherSSIDPreferenceController.java b/src/com/android/settings/wifi/tether/WifiTetherSSIDPreferenceController.java
index 1197db4..9070d44 100644
--- a/src/com/android/settings/wifi/tether/WifiTetherSSIDPreferenceController.java
+++ b/src/com/android/settings/wifi/tether/WifiTetherSSIDPreferenceController.java
@@ -16,22 +16,24 @@
 
 package com.android.settings.wifi.tether;
 
+import static com.android.settings.AllInOneTetherSettings.DEDUP_POSTFIX;
+
 import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.content.Intent;
-import android.net.wifi.WifiConfiguration;
+import android.net.wifi.SoftApConfiguration;
+import android.text.TextUtils;
+import android.util.FeatureFlagUtils;
 import android.util.Log;
-import android.view.View;
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.EditTextPreference;
 import androidx.preference.Preference;
 
-import com.android.settings.R;
+import com.android.settings.core.FeatureFlags;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.widget.ValidatedEditTextPreference;
 import com.android.settings.wifi.dpp.WifiDppUtils;
-
 import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 
 public class WifiTetherSSIDPreferenceController extends WifiTetherBasePreferenceController
@@ -47,6 +49,15 @@
 
     private final MetricsFeatureProvider mMetricsFeatureProvider;
 
+    // This constructor is used for testing.
+    @VisibleForTesting
+    WifiTetherSSIDPreferenceController(Context context, OnTetherConfigUpdateListener listener,
+            MetricsFeatureProvider provider) {
+        super(context, listener);
+        mWifiDeviceNameTextValidator = new WifiDeviceNameTextValidator();
+        mMetricsFeatureProvider = provider;
+    }
+
     public WifiTetherSSIDPreferenceController(Context context,
             OnTetherConfigUpdateListener listener) {
         super(context, listener);
@@ -57,14 +68,15 @@
 
     @Override
     public String getPreferenceKey() {
-        return PREF_KEY;
+        return FeatureFlagUtils.isEnabled(mContext, FeatureFlags.TETHER_ALL_IN_ONE)
+                ? PREF_KEY + DEDUP_POSTFIX : PREF_KEY;
     }
 
     @Override
     public void updateDisplay() {
-        final WifiConfiguration config = mWifiManager.getWifiApConfiguration();
+        final SoftApConfiguration config = mWifiManager.getSoftApConfiguration();
         if (config != null) {
-            mSSID = config.SSID;
+            mSSID = config.getSsid();
         } else {
             mSSID = DEFAULT_SSID;
         }
@@ -91,9 +103,13 @@
 
     @Override
     public boolean onPreferenceChange(Preference preference, Object newValue) {
+        if (!TextUtils.equals(mSSID, (String) newValue)) {
+            mMetricsFeatureProvider.action(mContext,
+                    SettingsEnums.ACTION_SETTINGS_CHANGE_WIFI_HOTSPOT_NAME);
+        }
         mSSID = (String) newValue;
         updateSsidDisplay((EditTextPreference) preference);
-        mListener.onTetherConfigUpdated();
+        mListener.onTetherConfigUpdated(this);
         return true;
     }
 
diff --git a/src/com/android/settings/wifi/tether/WifiTetherSecurityPreferenceController.java b/src/com/android/settings/wifi/tether/WifiTetherSecurityPreferenceController.java
index f97a209..56b5031 100644
--- a/src/com/android/settings/wifi/tether/WifiTetherSecurityPreferenceController.java
+++ b/src/com/android/settings/wifi/tether/WifiTetherSecurityPreferenceController.java
@@ -1,12 +1,16 @@
 package com.android.settings.wifi.tether;
 
+import static com.android.settings.AllInOneTetherSettings.DEDUP_POSTFIX;
+
 import android.content.Context;
-import android.net.wifi.WifiConfiguration;
+import android.net.wifi.SoftApConfiguration;
+import android.util.FeatureFlagUtils;
 
 import androidx.preference.ListPreference;
 import androidx.preference.Preference;
 
 import com.android.settings.R;
+import com.android.settings.core.FeatureFlags;
 
 public class WifiTetherSecurityPreferenceController extends WifiTetherBasePreferenceController {
 
@@ -23,17 +27,17 @@
 
     @Override
     public String getPreferenceKey() {
-        return PREF_KEY;
+        return FeatureFlagUtils.isEnabled(mContext, FeatureFlags.TETHER_ALL_IN_ONE)
+                ? PREF_KEY + DEDUP_POSTFIX : PREF_KEY;
     }
 
     @Override
     public void updateDisplay() {
-        final WifiConfiguration config = mWifiManager.getWifiApConfiguration();
-        if (config != null && config.getAuthType() == WifiConfiguration.KeyMgmt.NONE) {
-            mSecurityValue = WifiConfiguration.KeyMgmt.NONE;
-
+        final SoftApConfiguration config = mWifiManager.getSoftApConfiguration();
+        if (config != null && config.getSecurityType() == SoftApConfiguration.SECURITY_TYPE_OPEN) {
+            mSecurityValue = SoftApConfiguration.SECURITY_TYPE_OPEN;
         } else {
-            mSecurityValue = WifiConfiguration.KeyMgmt.WPA2_PSK;
+            mSecurityValue = SoftApConfiguration.SECURITY_TYPE_WPA2_PSK;
         }
 
         final ListPreference preference = (ListPreference) mPreference;
@@ -45,7 +49,7 @@
     public boolean onPreferenceChange(Preference preference, Object newValue) {
         mSecurityValue = Integer.parseInt((String) newValue);
         preference.setSummary(getSummaryForSecurityType(mSecurityValue));
-        mListener.onTetherConfigUpdated();
+        mListener.onTetherConfigUpdated(this);
         return true;
     }
 
@@ -54,7 +58,7 @@
     }
 
     private String getSummaryForSecurityType(int securityType) {
-        if (securityType == WifiConfiguration.KeyMgmt.NONE) {
+        if (securityType == SoftApConfiguration.SECURITY_TYPE_OPEN) {
             return mSecurityEntries[1];
         }
         // WPA2 PSK
diff --git a/src/com/android/settings/wifi/tether/WifiTetherSettings.java b/src/com/android/settings/wifi/tether/WifiTetherSettings.java
index aecc053..3160609 100644
--- a/src/com/android/settings/wifi/tether/WifiTetherSettings.java
+++ b/src/com/android/settings/wifi/tether/WifiTetherSettings.java
@@ -24,27 +24,27 @@
 import android.content.Context;
 import android.content.Intent;
 import android.content.IntentFilter;
-import android.net.wifi.WifiConfiguration;
+import android.net.wifi.SoftApConfiguration;
 import android.net.wifi.WifiManager;
 import android.os.Bundle;
 import android.os.UserManager;
-import android.provider.SearchIndexableResource;
+import android.util.FeatureFlagUtils;
 import android.util.Log;
 
 import androidx.annotation.VisibleForTesting;
+import androidx.preference.PreferenceGroup;
 
 import com.android.settings.R;
 import com.android.settings.SettingsActivity;
+import com.android.settings.core.FeatureFlags;
 import com.android.settings.dashboard.RestrictedDashboardFragment;
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settings.widget.SwitchBar;
-import com.android.settings.widget.SwitchBarController;
 import com.android.settingslib.TetherUtil;
 import com.android.settingslib.core.AbstractPreferenceController;
 import com.android.settingslib.search.SearchIndexable;
 
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.List;
 
 @SearchIndexable
@@ -54,6 +54,9 @@
     private static final String TAG = "WifiTetherSettings";
     private static final IntentFilter TETHER_STATE_CHANGE_FILTER;
     private static final String KEY_WIFI_TETHER_SCREEN = "wifi_tether_settings_screen";
+    private static final int EXPANDED_CHILD_COUNT_WITH_SECURITY_NON = 2;
+    private static final int EXPANDED_CHILD_COUNT_DEFAULT = 3;
+
     @VisibleForTesting
     static final String KEY_WIFI_TETHER_NETWORK_NAME = "wifi_tether_network_name";
     @VisibleForTesting
@@ -126,8 +129,7 @@
         // SettingsActivity as base for all preference fragments.
         final SettingsActivity activity = (SettingsActivity) getActivity();
         final SwitchBar switchBar = activity.getSwitchBar();
-        mSwitchBarController = new WifiTetherSwitchBarController(activity,
-                new SwitchBarController(switchBar));
+        mSwitchBarController = new WifiTetherSwitchBarController(activity, switchBar);
         getSettingsLifecycle().addObserver(mSwitchBarController);
         switchBar.show();
     }
@@ -185,9 +187,9 @@
     }
 
     @Override
-    public void onTetherConfigUpdated() {
-        final WifiConfiguration config = buildNewConfig();
-        mPasswordPreferenceController.updateVisibility(config.getAuthType());
+    public void onTetherConfigUpdated(AbstractPreferenceController context) {
+        final SoftApConfiguration config = buildNewConfig();
+        mPasswordPreferenceController.updateVisibility(config.getSecurityType());
 
         /**
          * if soft AP is stopped, bring up
@@ -200,19 +202,24 @@
             mRestartWifiApAfterConfigChange = true;
             mSwitchBarController.stopTether();
         }
-        mWifiManager.setWifiApConfiguration(config);
+        mWifiManager.setSoftApConfiguration(config);
+
+        if (context instanceof WifiTetherSecurityPreferenceController) {
+            reConfigInitialExpandedChildCount();
+        }
     }
 
-    private WifiConfiguration buildNewConfig() {
-        final WifiConfiguration config = new WifiConfiguration();
+    private SoftApConfiguration buildNewConfig() {
+        final SoftApConfiguration.Builder configBuilder = new SoftApConfiguration.Builder();
         final int securityType = mSecurityPreferenceController.getSecurityType();
-
-        config.SSID = mSSIDPreferenceController.getSSID();
-        config.allowedKeyManagement.set(securityType);
-        config.preSharedKey = mPasswordPreferenceController.getPasswordValidated(securityType);
-        config.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN);
-        config.apBand = mApBandPreferenceController.getBandIndex();
-        return config;
+        configBuilder.setSsid(mSSIDPreferenceController.getSSID());
+        if (securityType == SoftApConfiguration.SECURITY_TYPE_WPA2_PSK) {
+            configBuilder.setPassphrase(
+                    mPasswordPreferenceController.getPasswordValidated(securityType),
+                    SoftApConfiguration.SECURITY_TYPE_WPA2_PSK);
+        }
+        configBuilder.setBand(mApBandPreferenceController.getBandIndex());
+        return configBuilder.build();
     }
 
     private void startTether() {
@@ -231,15 +238,8 @@
                 .updateDisplay();
     }
 
-    public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(
-                        Context context, boolean enabled) {
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.wifi_tether_settings;
-                    return Arrays.asList(sir);
-                }
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.wifi_tether_settings) {
 
                 @Override
                 public List<String> getNonIndexableKeys(Context context) {
@@ -258,6 +258,11 @@
                 }
 
                 @Override
+                protected boolean isPageSearchEnabled(Context context) {
+                    return !FeatureFlagUtils.isEnabled(context, FeatureFlags.TETHER_ALL_IN_ONE);
+                }
+
+                @Override
                 public List<AbstractPreferenceController> createPreferenceControllers(
                         Context context) {
                     return buildPreferenceControllers(context, null /* listener */);
@@ -285,4 +290,25 @@
             }
         }
     }
+
+    private void reConfigInitialExpandedChildCount() {
+        final PreferenceGroup screen = getPreferenceScreen();
+        if (mSecurityPreferenceController.getSecurityType()
+                == SoftApConfiguration.SECURITY_TYPE_OPEN) {
+            screen.setInitialExpandedChildrenCount(EXPANDED_CHILD_COUNT_WITH_SECURITY_NON);
+            return;
+        }
+        screen.setInitialExpandedChildrenCount(EXPANDED_CHILD_COUNT_DEFAULT);
+    }
+
+    @Override
+    public int getInitialExpandedChildCount() {
+        if (mSecurityPreferenceController == null) {
+            return EXPANDED_CHILD_COUNT_DEFAULT;
+        }
+
+        return (mSecurityPreferenceController.getSecurityType()
+                == SoftApConfiguration.SECURITY_TYPE_OPEN)
+            ? EXPANDED_CHILD_COUNT_WITH_SECURITY_NON : EXPANDED_CHILD_COUNT_DEFAULT;
+    }
 }
diff --git a/src/com/android/settings/wifi/tether/WifiTetherSoftApManager.java b/src/com/android/settings/wifi/tether/WifiTetherSoftApManager.java
index 77a44b0..2db037f 100644
--- a/src/com/android/settings/wifi/tether/WifiTetherSoftApManager.java
+++ b/src/com/android/settings/wifi/tether/WifiTetherSoftApManager.java
@@ -1,7 +1,11 @@
 package com.android.settings.wifi.tether;
 
+import android.net.wifi.WifiClient;
 import android.net.wifi.WifiManager;
 import android.os.Handler;
+import android.os.HandlerExecutor;
+
+import java.util.List;
 
 /**
  * Wrapper for {@link android.net.wifi.WifiManager.SoftApCallback} to pass the robo test
@@ -18,8 +22,8 @@
         }
 
         @Override
-        public void onNumClientsChanged(int numClients) {
-            mWifiTetherSoftApCallback.onNumClientsChanged(numClients);
+        public void onConnectedClientsChanged(List<WifiClient> clients) {
+            mWifiTetherSoftApCallback.onConnectedClientsChanged(clients);
         }
     };
     private Handler mHandler;
@@ -32,7 +36,7 @@
     }
 
     public void registerSoftApCallback() {
-        mWifiManager.registerSoftApCallback(mSoftApCallback, mHandler);
+        mWifiManager.registerSoftApCallback(new HandlerExecutor(mHandler), mSoftApCallback);
     }
 
     public void unRegisterSoftApCallback() {
@@ -42,6 +46,11 @@
     public interface WifiTetherSoftApCallback {
         void onStateChanged(int state, int failureReason);
 
-        void onNumClientsChanged(int numClients);
+        /**
+         * Called when the connected clients to soft AP changes.
+         *
+         * @param clients the currently connected clients
+         */
+        void onConnectedClientsChanged(List<WifiClient> clients);
     }
 }
diff --git a/src/com/android/settings/wifi/tether/WifiTetherSwitchBarController.java b/src/com/android/settings/wifi/tether/WifiTetherSwitchBarController.java
index 0f31d19..a7b6772 100644
--- a/src/com/android/settings/wifi/tether/WifiTetherSwitchBarController.java
+++ b/src/com/android/settings/wifi/tether/WifiTetherSwitchBarController.java
@@ -26,23 +26,27 @@
 import android.net.wifi.WifiManager;
 import android.os.Handler;
 import android.os.Looper;
-import android.provider.Settings;
+import android.view.View;
+import android.widget.Switch;
 
 import androidx.annotation.VisibleForTesting;
 
 import com.android.settings.datausage.DataSaverBackend;
-import com.android.settings.widget.SwitchWidgetController;
+import com.android.settings.widget.SwitchBar;
 import com.android.settingslib.core.lifecycle.LifecycleObserver;
 import com.android.settingslib.core.lifecycle.events.OnStart;
 import com.android.settingslib.core.lifecycle.events.OnStop;
 
-public class WifiTetherSwitchBarController implements SwitchWidgetController.OnSwitchChangeListener,
-        LifecycleObserver, OnStart, OnStop, DataSaverBackend.Listener {
-
+/**
+ * Controller for logic pertaining to switch Wi-Fi tethering.
+ */
+public class WifiTetherSwitchBarController implements
+        LifecycleObserver, OnStart, OnStop, DataSaverBackend.Listener, View.OnClickListener {
     private static final IntentFilter WIFI_INTENT_FILTER;
 
     private final Context mContext;
-    private final SwitchWidgetController mSwitchBar;
+    private final SwitchBar mSwitchBar;
+    private final Switch mSwitch;
     private final ConnectivityManager mConnectivityManager;
     private final WifiManager mWifiManager;
 
@@ -63,40 +67,38 @@
         WIFI_INTENT_FILTER = new IntentFilter(WifiManager.WIFI_AP_STATE_CHANGED_ACTION);
     }
 
-    WifiTetherSwitchBarController(Context context, SwitchWidgetController switchBar) {
+    WifiTetherSwitchBarController(Context context, SwitchBar switchBar) {
         mContext = context;
         mSwitchBar = switchBar;
+        mSwitch = mSwitchBar.getSwitch();
         mDataSaverBackend = new DataSaverBackend(context);
         mConnectivityManager =
                 (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
         mWifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
         mSwitchBar.setChecked(mWifiManager.getWifiApState() == WifiManager.WIFI_AP_STATE_ENABLED);
-        mSwitchBar.setListener(this);
         updateWifiSwitch();
     }
 
     @Override
     public void onStart() {
         mDataSaverBackend.addListener(this);
-        mSwitchBar.startListening();
+        mSwitch.setOnClickListener(this);
         mContext.registerReceiver(mReceiver, WIFI_INTENT_FILTER);
     }
 
     @Override
     public void onStop() {
         mDataSaverBackend.remListener(this);
-        mSwitchBar.stopListening();
         mContext.unregisterReceiver(mReceiver);
     }
 
     @Override
-    public boolean onSwitchToggled(boolean isChecked) {
-        if (!isChecked) {
-            stopTether();
-        } else if (!mWifiManager.isWifiApEnabled()) {
+    public void onClick(View v) {
+        if (mSwitch.isChecked()) {
             startTether();
+        } else {
+            stopTether();
         }
-        return true;
     }
 
     void stopTether() {
@@ -128,23 +130,23 @@
                 mSwitchBar.setEnabled(false);
                 break;
             case WifiManager.WIFI_AP_STATE_ENABLED:
-                if (!mSwitchBar.isChecked()) {
-                    mSwitchBar.setChecked(true);
+                if (!mSwitch.isChecked()) {
+                    mSwitch.setChecked(true);
                 }
                 updateWifiSwitch();
                 break;
             case WifiManager.WIFI_AP_STATE_DISABLING:
-                if (mSwitchBar.isChecked()) {
-                    mSwitchBar.setChecked(false);
+                if (mSwitch.isChecked()) {
+                    mSwitch.setChecked(false);
                 }
                 mSwitchBar.setEnabled(false);
                 break;
             case WifiManager.WIFI_AP_STATE_DISABLED:
-                mSwitchBar.setChecked(false);
+                mSwitch.setChecked(false);
                 updateWifiSwitch();
                 break;
             default:
-                mSwitchBar.setChecked(false);
+                mSwitch.setChecked(false);
                 updateWifiSwitch();
                 break;
         }
diff --git a/tests/Android.mk b/tests/Android.mk
deleted file mode 100644
index fd297e3..0000000
--- a/tests/Android.mk
+++ /dev/null
@@ -1,5 +0,0 @@
-LOCAL_PATH := $(call my-dir)
-include $(CLEAR_VARS)
-
-# Include all makefiles in subdirectories
-include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/tests/anomaly-tester/Android.bp b/tests/anomaly-tester/Android.bp
new file mode 100644
index 0000000..29181af
--- /dev/null
+++ b/tests/anomaly-tester/Android.bp
@@ -0,0 +1,24 @@
+android_test {
+    name: "AnomalyTester",
+
+    certificate: "platform",
+
+    libs: ["android.test.runner"],
+
+    static_libs: [
+        "androidx.test.rules",
+        "mockito-target",
+        "ub-uiautomator",
+        "truth-prebuilt",
+    ],
+
+    srcs: ["**/*.java"],
+
+    optimize: {
+        enabled: false,
+    },
+
+    platform_apis: true,
+
+    instrumentation_for: "Settings",
+}
diff --git a/tests/anomaly-tester/Android.mk b/tests/anomaly-tester/Android.mk
deleted file mode 100644
index 4dffeab..0000000
--- a/tests/anomaly-tester/Android.mk
+++ /dev/null
@@ -1,26 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_MODULE_TAGS := tests
-LOCAL_CERTIFICATE := platform
-
-LOCAL_JAVA_LIBRARIES := android.test.runner
-
-LOCAL_STATIC_JAVA_LIBRARIES := \
-    androidx.test.rules \
-    mockito-target \
-    ub-uiautomator \
-    truth-prebuilt \
-
-LOCAL_SRC_FILES := $(call all-subdir-java-files)
-
-LOCAL_PROGUARD_ENABLED := disabled
-
-LOCAL_PACKAGE_NAME := AnomalyTester
-LOCAL_PRIVATE_PLATFORM_APIS := true
-
-LOCAL_INSTRUMENTATION_FOR := Settings
-
-LOCAL_USE_AAPT2 := true
-
-include $(BUILD_PACKAGE)
diff --git a/tests/perftests/Android.bp b/tests/perftests/Android.bp
new file mode 100644
index 0000000..1ba5d9c
--- /dev/null
+++ b/tests/perftests/Android.bp
@@ -0,0 +1,22 @@
+android_test {
+    name: "SettingsPerfTests",
+
+    certificate: "platform",
+
+    libs: [
+        "android.test.runner",
+    ],
+
+    static_libs: [
+        "androidx.test.rules",
+        "ub-uiautomator",
+    ],
+
+    // Include all test java files.
+    srcs: ["src/**/*.java"],
+
+    platform_apis: true,
+    test_suites: ["device-tests"],
+
+    instrumentation_for: "Settings",
+}
diff --git a/tests/perftests/AndroidManifest.xml b/tests/perftests/AndroidManifest.xml
new file mode 100644
index 0000000..4ce6a54
--- /dev/null
+++ b/tests/perftests/AndroidManifest.xml
@@ -0,0 +1,29 @@
+<?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.
+-->
+
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="com.android.settings.tests.perf">
+
+    <application>
+        <uses-library android:name="android.test.runner" />
+    </application>
+
+    <instrumentation android:name="androidx.test.runner.AndroidJUnitRunner"
+        android:targetPackage="com.android.settings"
+        android:label="Settings Performance Test Cases">
+    </instrumentation>
+
+</manifest>
diff --git a/tests/perftests/src/com/android/settings/tests/perf/LaunchSettingsTest.java b/tests/perftests/src/com/android/settings/tests/perf/LaunchSettingsTest.java
new file mode 100644
index 0000000..5140be2
--- /dev/null
+++ b/tests/perftests/src/com/android/settings/tests/perf/LaunchSettingsTest.java
@@ -0,0 +1,48 @@
+/*
+ * 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.tests.perf;
+
+import android.app.Instrumentation;
+import android.os.Bundle;
+
+import androidx.test.InstrumentationRegistry;
+import androidx.test.runner.AndroidJUnit4;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+@RunWith(AndroidJUnit4.class)
+public class LaunchSettingsTest {
+
+    @Before
+    public void setUp() throws Exception {
+    }
+
+    @After
+    public void tearDown() throws Exception {
+    }
+
+    @Test
+    public void testReportMetrics() throws Exception {
+        Instrumentation instrumentation = InstrumentationRegistry.getInstrumentation();
+        final Bundle result = new Bundle();
+        result.putString("LaunchSettingsTest_metric_key1", "1000");
+        result.putString("LaunchSettingsTest_metric_key2", "5000");
+        instrumentation.sendStatus(0, result);
+    }
+}
diff --git a/tests/robotests/Android.bp b/tests/robotests/Android.bp
new file mode 100644
index 0000000..efef10a
--- /dev/null
+++ b/tests/robotests/Android.bp
@@ -0,0 +1,85 @@
+//############################################################
+// Build SettingsRoboTestStub.apk which includes test-only resources.#
+//############################################################
+
+android_app {
+    name: "SettingsRoboTestStub",
+    defaults: [
+        "SettingsLibDefaults",
+        "SettingsLib-search-defaults",
+    ],
+    platform_apis: true,
+    certificate: "platform",
+    privileged: true,
+
+    resource_dirs: ["res"],
+
+    static_libs: [
+        "Settings-core",
+        "androidx-constraintlayout_constraintlayout",
+        "androidx.slice_slice-builders",
+        "androidx.slice_slice-core",
+        "androidx.slice_slice-view",
+        "androidx.core_core",
+        "androidx.appcompat_appcompat",
+        "androidx.cardview_cardview",
+        "androidx.preference_preference",
+        "androidx.recyclerview_recyclerview",
+        "com.google.android.material_material",
+        "setupcompat",
+        "setupdesign",
+        "androidx-constraintlayout_constraintlayout-solver",
+        "androidx.lifecycle_lifecycle-runtime",
+        "androidx.lifecycle_lifecycle-extensions",
+        "androidx.test.core",
+        "androidx.test.runner",
+        "androidx.test.ext.junit",
+        "guava",
+        "jsr305",
+        "settings-contextual-card-protos-lite",
+        "settings-log-bridge-protos-lite",
+        "contextualcards",
+        "settings-logtags",
+        "zxing-core-1.7",
+    ],
+
+    aaptflags: ["--extra-packages com.android.settings"],
+
+    libs: [
+        "telephony-common",
+        "ims-common",
+    ],
+}
+
+//############################################################
+// Settings Robolectric test target.                         #
+//############################################################
+android_robolectric_test {
+    name: "SettingsRoboTests",
+    srcs: [
+        "src/**/*.java",
+    ],
+
+    static_libs: [
+        "SettingsLib-robo-testutils",
+	"android-support-annotations",
+        "androidx.test.core",
+        "androidx.test.runner",
+        "androidx.test.ext.junit",
+    ],
+
+    java_resource_dirs: ["config", "resources"],
+
+    instrumentation_for: "SettingsRoboTestStub",
+
+    test_options: {
+        timeout: 36000,
+        shards: 10,
+    },
+
+    coverage_libs: [
+        "Settings-core",
+        "SettingsLib",
+        "SettingsLib-search",
+    ],
+}
diff --git a/tests/robotests/Android.mk b/tests/robotests/Android.mk
deleted file mode 100644
index 727da06..0000000
--- a/tests/robotests/Android.mk
+++ /dev/null
@@ -1,111 +0,0 @@
-LOCAL_PATH := $(call my-dir)
-
-SETTINGS_AOSP_PATH := packages/apps/Settings
-
-#############################################################
-# Build SettingsRoboTestStub.apk which includes test-only resources.#
-#############################################################
-include $(CLEAR_VARS)
-
-LOCAL_PACKAGE_NAME := SettingsRoboTestStub
-LOCAL_PRIVATE_PLATFORM_APIS := true
-LOCAL_CERTIFICATE := platform
-LOCAL_PRIVILEGED_MODULE := true
-LOCAL_MODULE_TAGS := optional
-LOCAL_USE_AAPT2 := true
-
-RELATIVE_SETTINGS_AOSP_PATH := ../../../../../$(SETTINGS_AOSP_PATH)
-
-LOCAL_MANIFEST_FILE := $(RELATIVE_SETTINGS_AOSP_PATH)/AndroidManifest.xml
-
-LOCAL_SRC_FILES := $(call all-java-files-under, $(RELATIVE_SETTINGS_AOSP_PATH)/src)
-
-LOCAL_RESOURCE_DIR += \
-	$(LOCAL_PATH)/res \
-	$(SETTINGS_AOSP_PATH)/res
-
-LOCAL_STATIC_ANDROID_LIBRARIES := \
-    androidx-constraintlayout_constraintlayout \
-    androidx.slice_slice-builders \
-    androidx.slice_slice-core \
-    androidx.slice_slice-view \
-    androidx.core_core \
-    androidx.appcompat_appcompat \
-    androidx.cardview_cardview \
-    androidx.preference_preference \
-    androidx.recyclerview_recyclerview \
-    com.google.android.material_material \
-    setupcompat \
-    setupdesign
-
-LOCAL_JAVA_LIBRARIES := \
-    telephony-common \
-    ims-common
-
-LOCAL_STATIC_JAVA_LIBRARIES := \
-    androidx-constraintlayout_constraintlayout-solver \
-    androidx.lifecycle_lifecycle-runtime \
-    androidx.lifecycle_lifecycle-extensions \
-    guava \
-    jsr305 \
-    settings-contextual-card-protos-lite \
-    settings-log-bridge-protos-lite \
-    contextualcards \
-    settings-logtags \
-    zxing-core-1.7
-
-include frameworks/base/packages/SettingsLib/common.mk
-include frameworks/base/packages/SettingsLib/search/common.mk
-
-include $(BUILD_PACKAGE)
-
-#############################################################
-# Settings Robolectric test target.                         #
-#############################################################
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := SettingsRoboTests
-LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-
-LOCAL_SRC_FILES := $(call all-java-files-under, src) \
-    $(call all-java-files-under, ../../../../../frameworks/base/packages/SettingsLib/tests/robotests/src/com/android/settingslib/testutils)
-
-LOCAL_JAVA_RESOURCE_DIRS := config
-
-LOCAL_JAVA_LIBRARIES := \
-    robolectric_android-all-stub \
-    Robolectric_all-target \
-    mockito-robolectric-prebuilt \
-    truth-prebuilt
-
-LOCAL_INSTRUMENTATION_FOR := SettingsRoboTestStub
-
-LOCAL_MODULE_TAGS := optional
-
-# Generate test_config.properties
-include external/robolectric-shadows/gen_test_config.mk
-
-include $(BUILD_STATIC_JAVA_LIBRARY)
-
-#############################################################
-# Settings runner target to run the previous target.        #
-#############################################################
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := RunSettingsRoboTests
-
-LOCAL_JAVA_LIBRARIES := \
-    SettingsRoboTests \
-    robolectric_android-all-stub \
-    Robolectric_all-target \
-    mockito-robolectric-prebuilt \
-    truth-prebuilt
-
-LOCAL_TEST_PACKAGE := SettingsRoboTestStub
-
-LOCAL_INSTRUMENT_SOURCE_DIRS := $(dir $(LOCAL_PATH))../src \
-    frameworks/base/packages/SettingsLib/search/src \
-
-LOCAL_ROBOTEST_TIMEOUT := 36000
-
-include external/robolectric-shadows/run_robotests.mk
diff --git a/tests/robotests/AndroidManifest.xml b/tests/robotests/AndroidManifest.xml
new file mode 100644
index 0000000..e0050ef
--- /dev/null
+++ b/tests/robotests/AndroidManifest.xml
@@ -0,0 +1,8 @@
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+          xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
+	  coreApp="true"
+          package="com.android.settings">
+
+    <application/>
+
+</manifest>
diff --git a/tests/robotests/assets/grandfather_invalid_base_preference_controller_constructor b/tests/robotests/assets/grandfather_invalid_base_preference_controller_constructor
index 675108d..c29807b 100644
--- a/tests/robotests/assets/grandfather_invalid_base_preference_controller_constructor
+++ b/tests/robotests/assets/grandfather_invalid_base_preference_controller_constructor
@@ -11,4 +11,5 @@
 com.android.settings.fuelgauge.batterysaver.BatterySaverButtonPreferenceController
 com.android.settings.fuelgauge.batterytip.BatteryTipPreferenceController
 com.android.settings.security.VisiblePatternProfilePreferenceController
-com.android.settings.wifi.details.WifiMeteredPreferenceController
\ No newline at end of file
+com.android.settings.wifi.details.WifiMeteredPreferenceController
+com.android.settings.wifi.details2.WifiMeteredPreferenceController2
diff --git a/tests/robotests/assets/grandfather_not_implementing_index_provider b/tests/robotests/assets/grandfather_not_implementing_index_provider
index 5d4abad..80e179a 100644
--- a/tests/robotests/assets/grandfather_not_implementing_index_provider
+++ b/tests/robotests/assets/grandfather_not_implementing_index_provider
@@ -1,12 +1,14 @@
 com.android.settings.accessibility.AccessibilitySettingsForSetupWizard
-com.android.settings.accessibility.CaptionPropertiesFragment
 com.android.settings.accessibility.ToggleAccessibilityServicePreferenceFragment
 com.android.settings.accessibility.ToggleScreenMagnificationPreferenceFragment
 com.android.settings.accessibility.ToggleScreenMagnificationPreferenceFragmentForSetupWizard
 com.android.settings.accessibility.ToggleScreenReaderPreferenceFragmentForSetupWizard
 com.android.settings.accessibility.ToggleSelectToSpeakPreferenceFragmentForSetupWizard
 com.android.settings.accounts.AccountDetailDashboardFragment
+com.android.settings.accounts.AccountPersonalDashboardFragment
+com.android.settings.accounts.AccountWorkProfileDashboardFragment
 com.android.settings.accounts.AccountSyncSettings
+com.android.settings.accounts.ChooseAccountFragment
 com.android.settings.applications.appinfo.AppInfoDashboardFragment
 com.android.settings.applications.appinfo.DrawOverlayDetails
 com.android.settings.applications.appinfo.ExternalSourcesDetails
@@ -26,10 +28,14 @@
 com.android.settings.bluetooth.BluetoothDeviceDetailsFragment
 com.android.settings.bluetooth.BluetoothPairingDetail
 com.android.settings.bluetooth.DevicePickerFragment
+com.android.settings.dashboard.profileselector.ProfileSelectAccountFragment
+com.android.settings.dashboard.profileselector.ProfileSelectManageApplications
+com.android.settings.dashboard.profileselector.ProfileSelectLocationFragment
 com.android.settings.datausage.AppDataUsage
 com.android.settings.datausage.DataUsageList
 com.android.settings.datausage.DataUsageSummary
 com.android.settings.datetime.timezone.TimeZoneSettings
+com.android.settings.development.compat.PlatformCompatDashboard
 com.android.settings.deviceinfo.PrivateVolumeSettings
 com.android.settings.deviceinfo.PublicVolumeSettings
 com.android.settings.deviceinfo.StorageProfileFragment
@@ -46,22 +52,23 @@
 com.android.settings.inputmethod.InputMethodAndSubtypeEnabler
 com.android.settings.inputmethod.KeyboardLayoutPickerFragment
 com.android.settings.inputmethod.SpellCheckersSettings
-com.android.settings.localepicker.LocaleListEditor
+com.android.settings.location.LocationPersonalSettings
+com.android.settings.location.LocationWorkProfileSettings
 com.android.settings.network.ApnEditor
 com.android.settings.network.ApnSettings
 com.android.settings.network.telephony.NetworkSelectSettings
-com.android.settings.notification.AppNotificationSettings
-com.android.settings.notification.ChannelNotificationSettings
-com.android.settings.notification.NotificationStation
+com.android.settings.notification.app.AppNotificationSettings
+com.android.settings.notification.app.ChannelNotificationSettings
+com.android.settings.notification.history.NotificationStation
 com.android.settings.notification.RedactionInterstitial$RedactionInterstitialFragment
-com.android.settings.notification.ZenModeEventRuleSettings
-com.android.settings.notification.ZenModeScheduleRuleSettings
-com.android.settings.notification.ZenCustomRuleNotificationsSettings
-com.android.settings.notification.ZenCustomRuleCallsSettings
-com.android.settings.notification.ZenCustomRuleConfigSettings
-com.android.settings.notification.ZenCustomRuleSettings
-com.android.settings.notification.ZenCustomRuleBlockedEffectsSettings
-com.android.settings.notification.ZenCustomRuleMessagesSettings
+com.android.settings.notification.zen.ZenModeEventRuleSettings
+com.android.settings.notification.zen.ZenModeScheduleRuleSettings
+com.android.settings.notification.zen.ZenCustomRuleNotificationsSettings
+com.android.settings.notification.zen.ZenCustomRuleCallsSettings
+com.android.settings.notification.zen.ZenCustomRuleConfigSettings
+com.android.settings.notification.zen.ZenCustomRuleSettings
+com.android.settings.notification.zen.ZenCustomRuleBlockedEffectsSettings
+com.android.settings.notification.zen.ZenCustomRuleMessagesSettings
 com.android.settings.password.ChooseLockGeneric$ChooseLockGenericFragment
 com.android.settings.password.SetupChooseLockGeneric$InternalActivity$InternalSetupChooseLockGenericFragment
 com.android.settings.password.SetupChooseLockGeneric$SetupChooseLockGenericFragment
@@ -77,10 +84,14 @@
 com.android.settings.vpn2.AppManagementFragment
 com.android.settings.vpn2.VpnSettings
 com.android.settings.wallpaper.WallpaperTypeSettings
-com.android.settings.wifi.calling.WifiCallingSettingsForSub
 com.android.settings.wifi.ChangeWifiStateDetails
+com.android.settings.wifi.calling.WifiCallingSettingsForSub
 com.android.settings.wifi.details.WifiNetworkDetailsFragment
+com.android.settings.wifi.dpp.WifiNetworkListFragment
 com.android.settings.wifi.p2p.WifiP2pSettings
 com.android.settings.wifi.savedaccesspoints.SavedAccessPointsWifiSettings
 com.android.settings.wifi.WifiInfo
-com.android.settings.wifi.dpp.WifiNetworkListFragment
+com.android.settings.applications.specialaccess.notificationaccess.NotificationAccessDetails
+com.android.settings.wifi.details2.WifiNetworkDetailsFragment2
+com.android.settings.wifi.savedaccesspoints2.SavedAccessPointsWifiSettings2
+com.android.settings.dashboard.profileselector.ProfileSelectRecentLocationRequestFragment
diff --git a/tests/robotests/assets/grandfather_slice_controller_not_in_xml b/tests/robotests/assets/grandfather_slice_controller_not_in_xml
index fd1cef2..5cd855f 100644
--- a/tests/robotests/assets/grandfather_slice_controller_not_in_xml
+++ b/tests/robotests/assets/grandfather_slice_controller_not_in_xml
@@ -1,7 +1,11 @@
+com.android.settings.accessibility.AccessibilitySlicePreferenceController
+com.android.settings.core.TogglePreferenceControllerTest$FakeToggle
+com.android.settings.biometrics.face.FaceSettingsAttentionPreferenceController
+com.android.settings.network.telephony.MmsMessagePreferenceController
+com.android.settings.network.telephony.DataDuringCallsPreferenceController
+com.android.settings.network.telephony.Enhanced4gBasePreferenceController
 com.android.settings.testutils.FakeToggleController
 com.android.settings.testutils.FakeSliderController
 com.android.settings.testutils.FakeInvalidSliderController
-com.android.settings.core.TogglePreferenceControllerTest$FakeToggle
-com.android.settings.accessibility.AccessibilitySlicePreferenceController
-com.android.settings.network.telephony.MmsMessagePreferenceController
-com.android.settings.network.telephony.DataDuringCallsPreferenceController
+com.android.settings.wifi.details2.WifiAutoConnectPreferenceController2
+
diff --git a/tests/robotests/config/robolectric.properties b/tests/robotests/config/robolectric.properties
index e40e51c..ee805c4 100644
--- a/tests/robotests/config/robolectric.properties
+++ b/tests/robotests/config/robolectric.properties
@@ -1,3 +1,4 @@
 sdk=NEWEST_SDK
 shadows=\
-   com.android.settings.testutils.shadow.ShadowThreadUtils
+   com.android.settings.testutils.shadow.ShadowThreadUtils \
+   com.android.settings.network.ShadowServiceManagerExtend
diff --git a/tests/robotests/res/values-af/config.xml b/tests/robotests/res/values-af/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-af/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-am/config.xml b/tests/robotests/res/values-am/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-am/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-ar/config.xml b/tests/robotests/res/values-ar/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-ar/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-as/config.xml b/tests/robotests/res/values-as/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-as/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-az/config.xml b/tests/robotests/res/values-az/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-az/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-b+sr+Latn/config.xml b/tests/robotests/res/values-b+sr+Latn/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-b+sr+Latn/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-be/config.xml b/tests/robotests/res/values-be/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-be/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-bg/config.xml b/tests/robotests/res/values-bg/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-bg/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-bn/config.xml b/tests/robotests/res/values-bn/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-bn/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-bs/config.xml b/tests/robotests/res/values-bs/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-bs/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-ca/config.xml b/tests/robotests/res/values-ca/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-ca/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-cs/config.xml b/tests/robotests/res/values-cs/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-cs/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-da/config.xml b/tests/robotests/res/values-da/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-da/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-de/config.xml b/tests/robotests/res/values-de/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-de/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-el/config.xml b/tests/robotests/res/values-el/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-el/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-en-rAU/config.xml b/tests/robotests/res/values-en-rAU/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-en-rAU/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-en-rCA/config.xml b/tests/robotests/res/values-en-rCA/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-en-rCA/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-en-rGB/config.xml b/tests/robotests/res/values-en-rGB/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-en-rGB/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-en-rIN/config.xml b/tests/robotests/res/values-en-rIN/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-en-rIN/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-en-rXC/config.xml b/tests/robotests/res/values-en-rXC/config.xml
deleted file mode 100644
index 8f35f3e..0000000
--- a/tests/robotests/res/values-en-rXC/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‎‏‏‎‎‎‎‏‎‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‏‏‎‏‎‎‎‎‎‏‎‎‏‎‏‎‎‎‎‎‎‎‏‎‎‏‏‏‎‎‎‎‎ACTION_SHOW_WORK_POLICY_INFO‎‏‎‎‏‎"</string>
-</resources>
diff --git a/tests/robotests/res/values-es-rUS/config.xml b/tests/robotests/res/values-es-rUS/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-es-rUS/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-es/config.xml b/tests/robotests/res/values-es/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-es/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-et/config.xml b/tests/robotests/res/values-et/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-et/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-eu/config.xml b/tests/robotests/res/values-eu/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-eu/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-fa/config.xml b/tests/robotests/res/values-fa/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-fa/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-fi/config.xml b/tests/robotests/res/values-fi/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-fi/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-fr-rCA/config.xml b/tests/robotests/res/values-fr-rCA/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-fr-rCA/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-fr/config.xml b/tests/robotests/res/values-fr/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-fr/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-gl/config.xml b/tests/robotests/res/values-gl/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-gl/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-gu/config.xml b/tests/robotests/res/values-gu/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-gu/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-hi/config.xml b/tests/robotests/res/values-hi/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-hi/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-hr/config.xml b/tests/robotests/res/values-hr/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-hr/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-hu/config.xml b/tests/robotests/res/values-hu/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-hu/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-hy/config.xml b/tests/robotests/res/values-hy/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-hy/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-in/config.xml b/tests/robotests/res/values-in/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-in/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-is/config.xml b/tests/robotests/res/values-is/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-is/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-it/config.xml b/tests/robotests/res/values-it/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-it/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-iw/config.xml b/tests/robotests/res/values-iw/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-iw/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-ja/config.xml b/tests/robotests/res/values-ja/config.xml
deleted file mode 100644
index e5fc5ea..0000000
--- a/tests/robotests/res/values-ja/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"仕事に関するポリシーの情報を表示するアクション"</string>
-</resources>
diff --git a/tests/robotests/res/values-ka/config.xml b/tests/robotests/res/values-ka/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-ka/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-kk/config.xml b/tests/robotests/res/values-kk/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-kk/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-km/config.xml b/tests/robotests/res/values-km/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-km/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-kn/config.xml b/tests/robotests/res/values-kn/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-kn/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-ko/config.xml b/tests/robotests/res/values-ko/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-ko/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-ky/config.xml b/tests/robotests/res/values-ky/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-ky/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-lo/config.xml b/tests/robotests/res/values-lo/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-lo/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-lt/config.xml b/tests/robotests/res/values-lt/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-lt/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-lv/config.xml b/tests/robotests/res/values-lv/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-lv/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-af/config.xml b/tests/robotests/res/values-mcc999-af/config.xml
deleted file mode 100644
index aa9fee8..0000000
--- a/tests/robotests/res/values-mcc999-af/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"voorneme:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-am/config.xml b/tests/robotests/res/values-mcc999-am/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-am/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-ar/config.xml b/tests/robotests/res/values-mcc999-ar/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-ar/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-as/config.xml b/tests/robotests/res/values-mcc999-as/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-as/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-az/config.xml b/tests/robotests/res/values-mcc999-az/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-az/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-b+sr+Latn/config.xml b/tests/robotests/res/values-mcc999-b+sr+Latn/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-b+sr+Latn/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-be/config.xml b/tests/robotests/res/values-mcc999-be/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-be/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-bg/config.xml b/tests/robotests/res/values-mcc999-bg/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-bg/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-bn/config.xml b/tests/robotests/res/values-mcc999-bn/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-bn/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-bs/config.xml b/tests/robotests/res/values-mcc999-bs/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-bs/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-ca/config.xml b/tests/robotests/res/values-mcc999-ca/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-ca/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-cs/config.xml b/tests/robotests/res/values-mcc999-cs/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-cs/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-da/config.xml b/tests/robotests/res/values-mcc999-da/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-da/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-de/config.xml b/tests/robotests/res/values-mcc999-de/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-de/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-el/config.xml b/tests/robotests/res/values-mcc999-el/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-el/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-en-rAU/config.xml b/tests/robotests/res/values-mcc999-en-rAU/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-en-rAU/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-en-rCA/config.xml b/tests/robotests/res/values-mcc999-en-rCA/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-en-rCA/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-en-rGB/config.xml b/tests/robotests/res/values-mcc999-en-rGB/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-en-rGB/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-en-rIN/config.xml b/tests/robotests/res/values-mcc999-en-rIN/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-en-rIN/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-en-rXC/config.xml b/tests/robotests/res/values-mcc999-en-rXC/config.xml
deleted file mode 100644
index 83c9c70..0000000
--- a/tests/robotests/res/values-mcc999-en-rXC/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‏‎‎‏‏‏‎‎‏‏‏‎‏‎‏‎‏‎‏‎‏‎‏‎‏‏‏‏‎‎‏‏‏‎‏‏‏‏‏‎‎‎‎‏‏‏‏‏‎‏‏‏‎‎‏‏‎‎intent:#Intent;action=test.test;end‎‏‎‎‏‎"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-es-rUS/config.xml b/tests/robotests/res/values-mcc999-es-rUS/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-es-rUS/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-es/config.xml b/tests/robotests/res/values-mcc999-es/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-es/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-et/config.xml b/tests/robotests/res/values-mcc999-et/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-et/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-eu/config.xml b/tests/robotests/res/values-mcc999-eu/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-eu/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-fa/config.xml b/tests/robotests/res/values-mcc999-fa/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-fa/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-fi/config.xml b/tests/robotests/res/values-mcc999-fi/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-fi/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-fr-rCA/config.xml b/tests/robotests/res/values-mcc999-fr-rCA/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-fr-rCA/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-fr/config.xml b/tests/robotests/res/values-mcc999-fr/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-fr/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-gl/config.xml b/tests/robotests/res/values-mcc999-gl/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-gl/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-gu/config.xml b/tests/robotests/res/values-mcc999-gu/config.xml
deleted file mode 100644
index 58df8aa..0000000
--- a/tests/robotests/res/values-mcc999-gu/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"ઇન્ટેન્ટ:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-hi/config.xml b/tests/robotests/res/values-mcc999-hi/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-hi/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-hr/config.xml b/tests/robotests/res/values-mcc999-hr/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-hr/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-hu/config.xml b/tests/robotests/res/values-mcc999-hu/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-hu/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-hy/config.xml b/tests/robotests/res/values-mcc999-hy/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-hy/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-in/config.xml b/tests/robotests/res/values-mcc999-in/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-in/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-is/config.xml b/tests/robotests/res/values-mcc999-is/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-is/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-it/config.xml b/tests/robotests/res/values-mcc999-it/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-it/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-iw/config.xml b/tests/robotests/res/values-mcc999-iw/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-iw/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-ja/config.xml b/tests/robotests/res/values-mcc999-ja/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-ja/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-ka/config.xml b/tests/robotests/res/values-mcc999-ka/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-ka/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-kk/config.xml b/tests/robotests/res/values-mcc999-kk/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-kk/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-km/config.xml b/tests/robotests/res/values-mcc999-km/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-km/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-kn/config.xml b/tests/robotests/res/values-mcc999-kn/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-kn/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-ko/config.xml b/tests/robotests/res/values-mcc999-ko/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-ko/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-ky/config.xml b/tests/robotests/res/values-mcc999-ky/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-ky/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-lo/config.xml b/tests/robotests/res/values-mcc999-lo/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-lo/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-lt/config.xml b/tests/robotests/res/values-mcc999-lt/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-lt/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-lv/config.xml b/tests/robotests/res/values-mcc999-lv/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-lv/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-mk/config.xml b/tests/robotests/res/values-mcc999-mk/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-mk/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-ml/config.xml b/tests/robotests/res/values-mcc999-ml/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-ml/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-mn/config.xml b/tests/robotests/res/values-mcc999-mn/config.xml
deleted file mode 100644
index dbc4a4a..0000000
--- a/tests/robotests/res/values-mcc999-mn/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"оролдох:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-mr/config.xml b/tests/robotests/res/values-mcc999-mr/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-mr/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-ms/config.xml b/tests/robotests/res/values-mcc999-ms/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-ms/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-my/config.xml b/tests/robotests/res/values-mcc999-my/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-my/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-nb/config.xml b/tests/robotests/res/values-mcc999-nb/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-nb/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-ne/config.xml b/tests/robotests/res/values-mcc999-ne/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-ne/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-nl/config.xml b/tests/robotests/res/values-mcc999-nl/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-nl/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-or/config.xml b/tests/robotests/res/values-mcc999-or/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-or/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-pa/config.xml b/tests/robotests/res/values-mcc999-pa/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-pa/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-pl/config.xml b/tests/robotests/res/values-mcc999-pl/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-pl/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-pt-rBR/config.xml b/tests/robotests/res/values-mcc999-pt-rBR/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-pt-rBR/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-pt-rPT/config.xml b/tests/robotests/res/values-mcc999-pt-rPT/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-pt-rPT/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-pt/config.xml b/tests/robotests/res/values-mcc999-pt/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-pt/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-ro/config.xml b/tests/robotests/res/values-mcc999-ro/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-ro/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-ru/config.xml b/tests/robotests/res/values-mcc999-ru/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-ru/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-si/config.xml b/tests/robotests/res/values-mcc999-si/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-si/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-sk/config.xml b/tests/robotests/res/values-mcc999-sk/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-sk/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-sl/config.xml b/tests/robotests/res/values-mcc999-sl/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-sl/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-sq/config.xml b/tests/robotests/res/values-mcc999-sq/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-sq/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-sr/config.xml b/tests/robotests/res/values-mcc999-sr/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-sr/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-sv/config.xml b/tests/robotests/res/values-mcc999-sv/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-sv/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-sw/config.xml b/tests/robotests/res/values-mcc999-sw/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-sw/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-ta/config.xml b/tests/robotests/res/values-mcc999-ta/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-ta/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-te/config.xml b/tests/robotests/res/values-mcc999-te/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-te/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-th/config.xml b/tests/robotests/res/values-mcc999-th/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-th/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-tl/config.xml b/tests/robotests/res/values-mcc999-tl/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-tl/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-tr/config.xml b/tests/robotests/res/values-mcc999-tr/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-tr/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-uk/config.xml b/tests/robotests/res/values-mcc999-uk/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-uk/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-ur/config.xml b/tests/robotests/res/values-mcc999-ur/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-ur/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-uz/config.xml b/tests/robotests/res/values-mcc999-uz/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-uz/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-vi/config.xml b/tests/robotests/res/values-mcc999-vi/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-vi/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-zh-rCN/config.xml b/tests/robotests/res/values-mcc999-zh-rCN/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-zh-rCN/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-zh-rHK/config.xml b/tests/robotests/res/values-mcc999-zh-rHK/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-zh-rHK/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-zh-rTW/config.xml b/tests/robotests/res/values-mcc999-zh-rTW/config.xml
deleted file mode 100644
index 9b5cbf0..0000000
--- a/tests/robotests/res/values-mcc999-zh-rTW/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"intent:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999-zu/config.xml b/tests/robotests/res/values-mcc999-zu/config.xml
deleted file mode 100644
index 1b674a1..0000000
--- a/tests/robotests/res/values-mcc999-zu/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_grayscale_settings_intent" msgid="8735247517194403558">"inhloso:#Intent;action=test.test;end"</string>
-</resources>
diff --git a/tests/robotests/res/values-mcc999/config.xml b/tests/robotests/res/values-mcc999/config.xml
index a6a84c9..c7173bc 100644
--- a/tests/robotests/res/values-mcc999/config.xml
+++ b/tests/robotests/res/values-mcc999/config.xml
@@ -72,6 +72,8 @@
     <!-- Whether or not extra preview panels should be used for screen zoom setting. -->
     <bool name="config_enable_extra_screen_zoom_preview">false</bool>
 
+    <!-- Whether dismissal timestamp should be kept before deletion -->
+    <bool name="config_keep_contextual_card_dismissal_timestamp">true</bool>
 
     <!-- List of a11y components on the device allowed to be enabled by Settings Slices -->
     <string-array name="config_settings_slices_accessibility_components" translatable="false">
@@ -87,10 +89,14 @@
     <string name="config_contextual_card_feedback_email" translatable="false">test@test.test</string>
 
     <!-- Grayscale settings intent -->
-    <string name="config_grayscale_settings_intent" translate="false">intent:#Intent;action=test.test;end</string>
+    <string name="config_grayscale_settings_intent" translatable="false">intent:#Intent;action=test.test;end</string>
 
     <!-- List containing the injected tile keys which are suppressed. -->
     <string-array name="config_suppress_injected_tile_keys" translatable="false">
         <item>injected_tile_key</item>
+        <item>injected_tile_key2</item>
     </string-array>
+
+    <!-- Uri to query non-public Slice Uris. -->
+    <string name="config_non_public_slice_query_uri" translatable="false">content://com.android.settings.slices/test</string>
 </resources>
diff --git a/tests/robotests/res/values-mk/config.xml b/tests/robotests/res/values-mk/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-mk/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-ml/config.xml b/tests/robotests/res/values-ml/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-ml/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-mn/config.xml b/tests/robotests/res/values-mn/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-mn/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-mr/config.xml b/tests/robotests/res/values-mr/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-mr/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-ms/config.xml b/tests/robotests/res/values-ms/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-ms/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-my/config.xml b/tests/robotests/res/values-my/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-my/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-nb/config.xml b/tests/robotests/res/values-nb/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-nb/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-ne/config.xml b/tests/robotests/res/values-ne/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-ne/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-nl/config.xml b/tests/robotests/res/values-nl/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-nl/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-or/config.xml b/tests/robotests/res/values-or/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-or/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-pa/config.xml b/tests/robotests/res/values-pa/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-pa/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-pl/config.xml b/tests/robotests/res/values-pl/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-pl/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-pt-rBR/config.xml b/tests/robotests/res/values-pt-rBR/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-pt-rBR/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-pt-rPT/config.xml b/tests/robotests/res/values-pt-rPT/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-pt-rPT/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-pt/config.xml b/tests/robotests/res/values-pt/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-pt/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-ro/config.xml b/tests/robotests/res/values-ro/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-ro/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-ru/config.xml b/tests/robotests/res/values-ru/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-ru/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-si/config.xml b/tests/robotests/res/values-si/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-si/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-sk/config.xml b/tests/robotests/res/values-sk/config.xml
deleted file mode 100644
index 15a1af5..0000000
--- a/tests/robotests/res/values-sk/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"AKCIA_NA_ZOBRAZENIE_INFORMÁCIÍ_O_PRACOVNÝCH_PRAVIDLÁCH"</string>
-</resources>
diff --git a/tests/robotests/res/values-sl/config.xml b/tests/robotests/res/values-sl/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-sl/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-sq/config.xml b/tests/robotests/res/values-sq/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-sq/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-sr/config.xml b/tests/robotests/res/values-sr/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-sr/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-sv/config.xml b/tests/robotests/res/values-sv/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-sv/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-sw/config.xml b/tests/robotests/res/values-sw/config.xml
deleted file mode 100644
index 1fc1faa..0000000
--- a/tests/robotests/res/values-sw/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"KITENDO_ONYESHA_KAZI_SERA_MAELEZO"</string>
-</resources>
diff --git a/tests/robotests/res/values-ta/config.xml b/tests/robotests/res/values-ta/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-ta/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-te/config.xml b/tests/robotests/res/values-te/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-te/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-th/config.xml b/tests/robotests/res/values-th/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-th/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-tl/config.xml b/tests/robotests/res/values-tl/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-tl/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-tr/config.xml b/tests/robotests/res/values-tr/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-tr/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-uk/config.xml b/tests/robotests/res/values-uk/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-uk/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-ur/config.xml b/tests/robotests/res/values-ur/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-ur/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-uz/config.xml b/tests/robotests/res/values-uz/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-uz/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-vi/config.xml b/tests/robotests/res/values-vi/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-vi/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-zh-rCN/config.xml b/tests/robotests/res/values-zh-rCN/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-zh-rCN/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-zh-rHK/config.xml b/tests/robotests/res/values-zh-rHK/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-zh-rHK/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-zh-rTW/config.xml b/tests/robotests/res/values-zh-rTW/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-zh-rTW/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values-zu/config.xml b/tests/robotests/res/values-zu/config.xml
deleted file mode 100644
index 622fe72..0000000
--- a/tests/robotests/res/values-zu/config.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="config_work_policy_info_intent_action" msgid="1207553857178698352">"ACTION_SHOW_WORK_POLICY_INFO"</string>
-</resources>
diff --git a/tests/robotests/res/values/config.xml b/tests/robotests/res/values/config.xml
index ca2c61d..3f1c9f1 100644
--- a/tests/robotests/res/values/config.xml
+++ b/tests/robotests/res/values/config.xml
@@ -24,7 +24,4 @@
     <!-- Fake dimen value for restricted icon size - needed to get around Robolectric
          issue loading framework hidden resources -->
     <dimen name="restricted_icon_size">24dp</dimen>
-
-    <!-- Fake string to avoid empty intent action -->
-    <string name="config_work_policy_info_intent_action">ACTION_SHOW_WORK_POLICY_INFO</string>
 </resources>
diff --git a/tests/robotests/res/values/overlayable_icons_test.xml b/tests/robotests/res/values/overlayable_icons_test.xml
deleted file mode 100644
index 0dab9cf..0000000
--- a/tests/robotests/res/values/overlayable_icons_test.xml
+++ /dev/null
@@ -1,99 +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.
--->
-<resources>
-  <!-- overlayable_icons references all of the drawables in this package
-       that are being overlayed by resource overlays. If you remove/rename
-       any of these resources, you must also change the resource overlay icons.-->
-  <array name="overlayable_icons">
-    <item>@drawable/drag_handle</item>
-    <item>@drawable/ic_add_24dp</item>
-    <item>@drawable/ic_airplanemode_active</item>
-    <item>@drawable/ic_android</item>
-    <item>@drawable/ic_apps</item>
-    <item>@drawable/ic_arrow_back</item>
-    <item>@drawable/ic_arrow_down_24dp</item>
-    <item>@drawable/ic_battery_charging_full</item>
-    <item>@drawable/ic_battery_status_good_24dp</item>
-    <item>@drawable/ic_battery_status_maybe_24dp</item>
-    <item>@drawable/ic_call_24dp</item>
-    <item>@drawable/ic_cancel</item>
-    <item>@drawable/ic_cast_24dp</item>
-    <item>@drawable/ic_cellular_off</item>
-    <item>@drawable/ic_chevron_right_24dp</item>
-    <item>@drawable/ic_content_copy_grey600_24dp</item>
-    <item>@drawable/ic_data_saver</item>
-    <item>@drawable/ic_delete</item>
-    <item>@drawable/ic_devices_other</item>
-    <item>@drawable/ic_devices_other_opaque_black</item>
-    <item>@drawable/ic_do_not_disturb_on_24dp</item>
-    <item>@drawable/ic_eject_24dp</item>
-    <item>@drawable/ic_expand_less</item>
-    <item>@drawable/ic_expand_more_inverse</item>
-    <item>@drawable/ic_find_in_page_24px</item>
-    <item>@drawable/ic_folder_vd_theme_24</item>
-    <item>@drawable/ic_friction_lock_closed</item>
-    <item>@drawable/ic_gray_scale_24dp</item>
-    <item>@drawable/ic_headset_24dp</item>
-    <item>@drawable/ic_help</item>
-    <item>@drawable/ic_help_actionbar</item>
-    <item>@drawable/ic_homepage_search</item>
-    <item>@drawable/ic_info_outline_24</item>
-    <item>@drawable/ic_local_movies</item>
-    <item>@drawable/ic_local_phone_24_lib</item>
-    <item>@drawable/ic_media_stream</item>
-    <item>@drawable/ic_media_stream_off</item>
-    <item>@drawable/ic_network_cell</item>
-    <item>@drawable/ic_notifications</item>
-    <item>@drawable/ic_notifications_off_24dp</item>
-    <item>@drawable/ic_phone_info</item>
-    <item>@drawable/ic_photo_library</item>
-    <item>@drawable/ic_search_24dp</item>
-    <item>@drawable/ic_settings_accent</item>
-    <item>@drawable/ic_settings_accessibility</item>
-    <item>@drawable/ic_settings_accounts</item>
-    <item>@drawable/ic_settings_backup</item>
-    <item>@drawable/ic_settings_battery_white</item>
-    <item>@drawable/ic_settings_data_usage</item>
-    <item>@drawable/ic_settings_date_time</item>
-    <item>@drawable/ic_settings_delete</item>
-    <item>@drawable/ic_settings_disable</item>
-    <item>@drawable/ic_settings_display_white</item>
-    <item>@drawable/ic_settings_enable</item>
-    <item>@drawable/ic_settings_home</item>
-    <item>@drawable/ic_settings_language</item>
-    <item>@drawable/ic_settings_location</item>
-    <item>@drawable/ic_settings_multiuser</item>
-    <item>@drawable/ic_settings_night_display</item>
-    <item>@drawable/ic_settings_open</item>
-    <item>@drawable/ic_settings_print</item>
-    <item>@drawable/ic_settings_privacy</item>
-    <item>@drawable/ic_settings_security_white</item>
-    <item>@drawable/ic_settings_sim</item>
-    <item>@drawable/ic_settings_system_dashboard_white</item>
-    <item>@drawable/ic_settings_wireless</item>
-    <item>@drawable/ic_storage</item>
-    <item>@drawable/ic_storage_white</item>
-    <item>@drawable/ic_suggestion_night_display</item>
-    <item>@drawable/ic_sync</item>
-    <item>@drawable/ic_sync_problem_24dp</item>
-    <item>@drawable/ic_system_update</item>
-    <item>@drawable/ic_videogame_vd_theme_24</item>
-    <item>@drawable/ic_volume_ringer_vibrate</item>
-    <item>@drawable/ic_volume_up_24dp</item>
-    <item>@drawable/ic_vpn_key</item>
-    <item>@drawable/ic_wifi_tethering</item>
-  </array>
-</resources>
diff --git a/tests/robotests/res/xml-mcc999/location_settings.xml b/tests/robotests/res/xml-mcc999/location_settings.xml
index 4e5733f..d2dc132 100644
--- a/tests/robotests/res/xml-mcc999/location_settings.xml
+++ b/tests/robotests/res/xml-mcc999/location_settings.xml
@@ -26,7 +26,6 @@
         android:summary="summary"
         settings:controller="com.android.settings.slices.FakePreferenceController"
         settings:keywords="a, b, c"
-        settings:platform_slice="true"
         settings:unavailableSliceSubtitle="subtitleOfUnavailableSlice"/>
 
 </PreferenceScreen>
\ No newline at end of file
diff --git a/tests/robotests/res/xml-mcc999/night_display_settings.xml b/tests/robotests/res/xml-mcc999/night_display_settings.xml
index c23a2cf..6196372 100644
--- a/tests/robotests/res/xml-mcc999/night_display_settings.xml
+++ b/tests/robotests/res/xml-mcc999/night_display_settings.xml
@@ -27,8 +27,7 @@
         android:icon="@drawable/ic_android"
         android:summary="summary"
         settings:controller="com.android.settings.slices.FakePreferenceController"
-        settings:keywords="keyword"
-        settings:platform_slice="true"/>
+        settings:keywords="keyword"/>
 
     <Preference
         android:key="key2"
@@ -37,7 +36,6 @@
         android:summary="summary"
         settings:controller="com.android.settings.slices.FakePreferenceController"
         settings:keywords="keyword"
-        settings:platform_slice="true"
         settings:unavailableSliceSubtitle="subtitleOfUnavailable"/>
 
 </PreferenceScreen>
\ No newline at end of file
diff --git a/tests/robotests/res/xml-mcc999/video_preference.xml b/tests/robotests/res/xml-mcc999/video_preference.xml
new file mode 100644
index 0000000..647a82f
--- /dev/null
+++ b/tests/robotests/res/xml-mcc999/video_preference.xml
@@ -0,0 +1,32 @@
+<?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">
+    <com.android.settings.widget.VideoPreference
+        android:key="video1"
+        settings:animation="@raw/adaptive_sleep"
+        settings:preview="@drawable/adaptive_sleep"
+        android:title="seek_bar_title"/>
+    <com.android.settings.widget.VideoPreference
+        android:key="video2"
+        settings:animation="@raw/adaptive_sleep"
+        settings:preview="@drawable/adaptive_sleep"
+        settings:vectorAnimation="@drawable/adaptive_sleep"
+        android:title="seek_bar_title"/>
+</PreferenceScreen >
diff --git a/tests/robotests/resources/META-INF/services/androidx.test.internal.platform.ThreadChecker b/tests/robotests/resources/META-INF/services/androidx.test.internal.platform.ThreadChecker
new file mode 100644
index 0000000..55104ea
--- /dev/null
+++ b/tests/robotests/resources/META-INF/services/androidx.test.internal.platform.ThreadChecker
@@ -0,0 +1 @@
+org.robolectric.android.internal.NoOpThreadChecker
diff --git a/tests/robotests/resources/META-INF/services/androidx.test.internal.platform.app.ActivityInvoker b/tests/robotests/resources/META-INF/services/androidx.test.internal.platform.app.ActivityInvoker
new file mode 100644
index 0000000..e9944b5
--- /dev/null
+++ b/tests/robotests/resources/META-INF/services/androidx.test.internal.platform.app.ActivityInvoker
@@ -0,0 +1 @@
+org.robolectric.android.internal.LocalActivityInvoker
diff --git a/tests/robotests/resources/META-INF/services/androidx.test.internal.platform.content.PermissionGranter b/tests/robotests/resources/META-INF/services/androidx.test.internal.platform.content.PermissionGranter
new file mode 100644
index 0000000..3bcad1c
--- /dev/null
+++ b/tests/robotests/resources/META-INF/services/androidx.test.internal.platform.content.PermissionGranter
@@ -0,0 +1 @@
+org.robolectric.android.internal.LocalPermissionGranter
diff --git a/tests/robotests/resources/META-INF/services/androidx.test.internal.platform.os.ControlledLooper b/tests/robotests/resources/META-INF/services/androidx.test.internal.platform.os.ControlledLooper
new file mode 100644
index 0000000..add33e6
--- /dev/null
+++ b/tests/robotests/resources/META-INF/services/androidx.test.internal.platform.os.ControlledLooper
@@ -0,0 +1 @@
+org.robolectric.android.internal.LocalControlledLooper
\ No newline at end of file
diff --git a/tests/robotests/resources/META-INF/services/androidx.test.platform.ui.UiController b/tests/robotests/resources/META-INF/services/androidx.test.platform.ui.UiController
new file mode 100644
index 0000000..523d6ee
--- /dev/null
+++ b/tests/robotests/resources/META-INF/services/androidx.test.platform.ui.UiController
@@ -0,0 +1 @@
+org.robolectric.android.internal.LocalUiController
diff --git a/tests/robotests/src/com/android/settings/AirplaneModeEnablerTest.java b/tests/robotests/src/com/android/settings/AirplaneModeEnablerTest.java
new file mode 100644
index 0000000..24abac9
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/AirplaneModeEnablerTest.java
@@ -0,0 +1,70 @@
+/*
+ * 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;
+
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+
+import android.content.Context;
+import android.telephony.TelephonyManager;
+
+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 org.robolectric.RuntimeEnvironment;
+import org.robolectric.shadows.ShadowSettings;
+
+
+@RunWith(AndroidJUnit4.class)
+public final class AirplaneModeEnablerTest {
+
+    private Context mContext;
+
+    @Mock
+    private AirplaneModeChangedListener mAirplaneModeChangedListener;
+    private AirplaneModeEnabler mAirplaneModeEnabler;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+
+        mContext = RuntimeEnvironment.application.getBaseContext();
+        mAirplaneModeEnabler = new AirplaneModeEnabler(mContext,
+                mAirplaneModeChangedListener);
+    }
+
+    @Test
+    public void onRadioPowerStateChanged_beenInvoke_invokeOnAirplaneModeChanged() {
+        mAirplaneModeEnabler.resume();
+
+        ShadowSettings.setAirplaneMode(true);
+
+        mAirplaneModeEnabler.mPhoneStateListener.onRadioPowerStateChanged(
+                TelephonyManager.RADIO_POWER_OFF);
+
+        verify(mAirplaneModeChangedListener, times(1)).onAirplaneModeChanged(true);
+    }
+
+    private class AirplaneModeChangedListener
+            implements AirplaneModeEnabler.OnAirplaneModeChangedListener {
+        public void onAirplaneModeChanged(boolean isAirplaneModeOn) {}
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/AllInOneTetherSettingsTest.java b/tests/robotests/src/com/android/settings/AllInOneTetherSettingsTest.java
new file mode 100644
index 0000000..55486d2
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/AllInOneTetherSettingsTest.java
@@ -0,0 +1,175 @@
+/*
+ * 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;
+
+import static com.android.settings.network.TetherEnabler.BLUETOOTH_TETHER_KEY;
+import static com.android.settings.network.TetherEnabler.USB_TETHER_KEY;
+import static com.android.settings.network.TetherEnabler.WIFI_TETHER_DISABLE_KEY;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.net.ConnectivityManager;
+import android.os.UserHandle;
+import android.os.UserManager;
+import android.util.FeatureFlagUtils;
+
+import com.android.settings.core.FeatureFlags;
+import com.android.settings.testutils.shadow.ShadowWifiManager;
+import com.android.settings.wifi.tether.WifiTetherAutoOffPreferenceController;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+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 org.robolectric.annotation.Config;
+import org.robolectric.util.ReflectionHelpers;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(shadows = {ShadowWifiManager.class})
+public class AllInOneTetherSettingsTest {
+    private static final String[] WIFI_REGEXS = {"wifi_regexs"};
+    private static final String[] USB_REGEXS = {"usb_regexs"};
+    private static final String[] BT_REGEXS = {"bt_regexs"};
+
+    private Context mContext;
+    private AllInOneTetherSettings mAllInOneTetherSettings;
+
+    @Mock
+    private ConnectivityManager mConnectivityManager;
+    @Mock
+    private UserManager mUserManager;
+
+    @Before
+    public void setUp() {
+        mContext = spy(RuntimeEnvironment.application);
+
+        MockitoAnnotations.initMocks(this);
+        doReturn(mConnectivityManager)
+                .when(mContext).getSystemService(Context.CONNECTIVITY_SERVICE);
+        doReturn(WIFI_REGEXS).when(mConnectivityManager).getTetherableWifiRegexs();
+        doReturn(USB_REGEXS).when(mConnectivityManager).getTetherableUsbRegexs();
+        doReturn(BT_REGEXS).when(mConnectivityManager).getTetherableBluetoothRegexs();
+        doReturn(mUserManager).when(mContext).getSystemService(Context.USER_SERVICE);
+        // Assume the feature is enabled for most test cases.
+        FeatureFlagUtils.setEnabled(mContext, FeatureFlags.TETHER_ALL_IN_ONE, true);
+
+        mAllInOneTetherSettings = new AllInOneTetherSettings();
+        ReflectionHelpers.setField(mAllInOneTetherSettings, "mLifecycle", mock(Lifecycle.class));
+    }
+
+    @Test
+    public void getNonIndexableKeys_tetherAvailable_featureEnabled_keysReturnedCorrectly() {
+        // To let TetherUtil.isTetherAvailable return true, select one of the combinations
+        setupIsTetherAvailable(true);
+
+        FeatureFlagUtils.setEnabled(mContext, FeatureFlags.TETHER_ALL_IN_ONE, true);
+        final List<String> niks =
+                AllInOneTetherSettings.SEARCH_INDEX_DATA_PROVIDER.getNonIndexableKeys(mContext);
+
+        assertThat(niks).doesNotContain(AllInOneTetherSettings.KEY_WIFI_TETHER_NETWORK_NAME);
+        assertThat(niks).doesNotContain(
+                AllInOneTetherSettings.KEY_WIFI_TETHER_NETWORK_PASSWORD);
+        assertThat(niks).doesNotContain(AllInOneTetherSettings.KEY_WIFI_TETHER_AUTO_OFF);
+        assertThat(niks).doesNotContain(AllInOneTetherSettings.KEY_WIFI_TETHER_NETWORK_AP_BAND);
+        assertThat(niks).doesNotContain(AllInOneTetherSettings.KEY_WIFI_TETHER_SECURITY);
+        assertThat(niks).doesNotContain(BLUETOOTH_TETHER_KEY);
+        assertThat(niks).doesNotContain(USB_TETHER_KEY);
+
+        // This key should be returned because it's not visible by default.
+        assertThat(niks).contains(WIFI_TETHER_DISABLE_KEY);
+    }
+
+    @Test
+    public void getNonIndexableKeys_tetherAvailable_featureDisabled_keysReturned() {
+        setupIsTetherAvailable(true);
+        FeatureFlagUtils.setEnabled(mContext, FeatureFlags.TETHER_ALL_IN_ONE, false);
+
+        final List<String> niks =
+                AllInOneTetherSettings.SEARCH_INDEX_DATA_PROVIDER.getNonIndexableKeys(mContext);
+
+        assertThat(niks).contains(AllInOneTetherSettings.KEY_WIFI_TETHER_NETWORK_NAME);
+        assertThat(niks).contains(AllInOneTetherSettings.KEY_WIFI_TETHER_NETWORK_PASSWORD);
+        assertThat(niks).contains(AllInOneTetherSettings.KEY_WIFI_TETHER_AUTO_OFF);
+        assertThat(niks).contains(AllInOneTetherSettings.KEY_WIFI_TETHER_NETWORK_AP_BAND);
+        assertThat(niks).contains(AllInOneTetherSettings.KEY_WIFI_TETHER_SECURITY);
+        assertThat(niks).contains(WIFI_TETHER_DISABLE_KEY);
+        assertThat(niks).contains(BLUETOOTH_TETHER_KEY);
+        assertThat(niks).contains(USB_TETHER_KEY);
+    }
+
+    @Test
+    public void getNonIndexableKeys_tetherNotAvailable_keysReturned() {
+        // To let TetherUtil.isTetherAvailable return false, select one of the combinations
+        setupIsTetherAvailable(false);
+
+        final List<String> niks =
+                AllInOneTetherSettings.SEARCH_INDEX_DATA_PROVIDER.getNonIndexableKeys(mContext);
+
+        assertThat(niks).contains(AllInOneTetherSettings.KEY_WIFI_TETHER_NETWORK_NAME);
+        assertThat(niks).contains(AllInOneTetherSettings.KEY_WIFI_TETHER_NETWORK_PASSWORD);
+        assertThat(niks).contains(AllInOneTetherSettings.KEY_WIFI_TETHER_AUTO_OFF);
+        assertThat(niks).contains(AllInOneTetherSettings.KEY_WIFI_TETHER_NETWORK_AP_BAND);
+        assertThat(niks).contains(AllInOneTetherSettings.KEY_WIFI_TETHER_SECURITY);
+        assertThat(niks).contains(WIFI_TETHER_DISABLE_KEY);
+        assertThat(niks).doesNotContain(BLUETOOTH_TETHER_KEY);
+        assertThat(niks).doesNotContain(USB_TETHER_KEY);
+    }
+
+    @Test
+    public void getPreferenceControllers_notEmpty() {
+        assertThat(AllInOneTetherSettings.SEARCH_INDEX_DATA_PROVIDER
+                .getPreferenceControllers(mContext)).isNotEmpty();
+    }
+
+    @Test
+    public void createPreferenceControllers_hasAutoOffPreference() {
+        assertThat(mAllInOneTetherSettings.createPreferenceControllers(mContext)
+                .stream()
+                .filter(controller -> controller instanceof WifiTetherAutoOffPreferenceController)
+                .count())
+                .isEqualTo(1);
+    }
+
+    private void setupIsTetherAvailable(boolean returnValue) {
+        when(mConnectivityManager.isTetheringSupported()).thenReturn(true);
+
+        // For RestrictedLockUtils.checkIfRestrictionEnforced
+        final int userId = UserHandle.myUserId();
+        List<UserManager.EnforcingUser> enforcingUsers = new ArrayList<>();
+        when(mUserManager.getUserRestrictionSources(
+                UserManager.DISALLOW_CONFIG_TETHERING, UserHandle.of(userId)))
+                .thenReturn(enforcingUsers);
+
+        // For RestrictedLockUtils.hasBaseUserRestriction
+        when(mUserManager.hasBaseUserRestriction(
+                UserManager.DISALLOW_CONFIG_TETHERING, UserHandle.of(userId)))
+                .thenReturn(!returnValue);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/LinkifyUtilsTest.java b/tests/robotests/src/com/android/settings/LinkifyUtilsTest.java
new file mode 100644
index 0000000..de06302
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/LinkifyUtilsTest.java
@@ -0,0 +1,72 @@
+/*
+ * 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;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.text.Spannable;
+import android.text.style.ClickableSpan;
+import android.widget.TextView;
+
+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 LinkifyUtilsTest {
+    private static final String TEST_STRING = "to LINK_BEGINscanning settingsLINK_END.";
+    private static final String WRONG_STRING = "to scanning settingsLINK_END.";
+    private final LinkifyUtils.OnClickListener mClickListener = () -> { /* Do nothing */ };
+
+    private StringBuilder mSpanStringBuilder;
+    private StringBuilder mWrongSpanStringBuilder;
+    TextView mTextView;
+
+    @Before
+    public void setUp() throws Exception {
+        mSpanStringBuilder = new StringBuilder(TEST_STRING);
+        mWrongSpanStringBuilder = new StringBuilder(WRONG_STRING);
+        mTextView = new TextView(RuntimeEnvironment.application);
+    }
+
+    @Test
+    public void linkify_whenSpanStringCorrect_shouldReturnTrue() {
+        final boolean linkifyResult = LinkifyUtils.linkify(mTextView, mSpanStringBuilder,
+                mClickListener);
+
+        assertThat(linkifyResult).isTrue();
+    }
+
+    @Test
+    public void linkify_whenSpanStringWrong_shouldReturnFalse() {
+        final boolean linkifyResult = LinkifyUtils.linkify(mTextView, mWrongSpanStringBuilder,
+                mClickListener);
+
+        assertThat(linkifyResult).isFalse();
+    }
+
+    @Test
+    public void linkify_whenSpanStringCorrect_shouldContainClickableSpan() {
+        LinkifyUtils.linkify(mTextView, mSpanStringBuilder, mClickListener);
+        final Spannable spannableContent = (Spannable) mTextView.getText();
+        final int len = spannableContent.length();
+        final Object[] spans = spannableContent.getSpans(0, len, Object.class);
+
+        assertThat(spans[1] instanceof ClickableSpan).isTrue();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/MasterClearTest.java b/tests/robotests/src/com/android/settings/MasterClearTest.java
index 73adf93..03d42a9 100644
--- a/tests/robotests/src/com/android/settings/MasterClearTest.java
+++ b/tests/robotests/src/com/android/settings/MasterClearTest.java
@@ -39,6 +39,7 @@
 import android.content.pm.ActivityInfo;
 import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
+import android.os.UserManager;
 import android.provider.Settings;
 import android.view.LayoutInflater;
 import android.view.View;
@@ -50,7 +51,9 @@
 import androidx.fragment.app.FragmentActivity;
 
 import com.android.settings.testutils.shadow.ShadowUtils;
+import com.android.settingslib.development.DevelopmentSettingsEnabler;
 
+import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -62,6 +65,7 @@
 import org.robolectric.Shadows;
 import org.robolectric.annotation.Config;
 import org.robolectric.shadows.ShadowActivity;
+import org.robolectric.shadows.ShadowUserManager;
 
 @RunWith(RobolectricTestRunner.class)
 @Config(shadows = ShadowUtils.class)
@@ -92,6 +96,7 @@
     private MasterClear mMasterClear;
     private ShadowActivity mShadowActivity;
     private FragmentActivity mActivity;
+    private ShadowUserManager mShadowUserManager;
     private View mContentView;
 
     @Before
@@ -100,6 +105,9 @@
         mMasterClear = spy(new MasterClear());
         mActivity = Robolectric.setupActivity(FragmentActivity.class);
         mShadowActivity = Shadows.shadowOf(mActivity);
+        UserManager userManager = mActivity.getSystemService(UserManager.class);
+        mShadowUserManager = Shadows.shadowOf(userManager);
+        mShadowUserManager.setIsAdminUser(true);
         mContentView = LayoutInflater.from(mActivity).inflate(R.layout.master_clear, null);
 
         // Make scrollView only have one child
@@ -107,6 +115,11 @@
         when(mScrollView.getChildCount()).thenReturn(1);
     }
 
+    @After
+    public void tearDown() {
+        mShadowUserManager.setIsAdminUser(false);
+    }
+
     @Test
     public void testShowFinalConfirmation_eraseEsimVisible_eraseEsimChecked() {
         final Context context = mock(Context.class);
@@ -443,8 +456,7 @@
         doReturn(isEuiccEnabled).when(mMasterClear).isEuiccEnabled(any());
         ContentResolver cr = mActivity.getContentResolver();
         Settings.Global.putInt(cr, Settings.Global.EUICC_PROVISIONED, isEuiccProvisioned ? 1 : 0);
-        Settings.Global.putInt(
-                cr, Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, isDeveloper ? 1 : 0);
+        DevelopmentSettingsEnabler.setDevelopmentSettingsEnabled(mActivity, isDeveloper);
     }
 
     private void initScrollView(int height, int scrollY, int childBottom) {
diff --git a/tests/robotests/src/com/android/settings/ResetNetworkConfirmTest.java b/tests/robotests/src/com/android/settings/ResetNetworkConfirmTest.java
index 6bade98..9bc3080 100644
--- a/tests/robotests/src/com/android/settings/ResetNetworkConfirmTest.java
+++ b/tests/robotests/src/com/android/settings/ResetNetworkConfirmTest.java
@@ -29,6 +29,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.Mock;
@@ -62,6 +63,7 @@
     }
 
     @Test
+    @Ignore
     public void testResetNetworkData_resetEsim() {
         mResetNetworkConfirm.mEraseEsim = true;
 
@@ -72,6 +74,7 @@
     }
 
     @Test
+    @Ignore
     public void testResetNetworkData_notResetEsim() {
         mResetNetworkConfirm.mEraseEsim = false;
 
diff --git a/tests/robotests/src/com/android/settings/SettingsActivityTest.java b/tests/robotests/src/com/android/settings/SettingsActivityTest.java
index dd39f12..ada4c0e 100644
--- a/tests/robotests/src/com/android/settings/SettingsActivityTest.java
+++ b/tests/robotests/src/com/android/settings/SettingsActivityTest.java
@@ -16,9 +16,11 @@
 
 package com.android.settings;
 
+import static com.android.settings.SettingsActivity.EXTRA_SHOW_FRAGMENT;
+
 import static com.google.common.truth.Truth.assertThat;
 
-import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.spy;
@@ -34,12 +36,14 @@
 import androidx.fragment.app.FragmentTransaction;
 
 import com.android.settings.core.OnActivityResultListener;
+import com.android.settings.testutils.FakeFeatureFactory;
 
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
+import org.robolectric.Robolectric;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
 
@@ -61,7 +65,7 @@
         MockitoAnnotations.initMocks(this);
 
         mContext = RuntimeEnvironment.application;
-        mActivity = spy(new SettingsActivity());
+        mActivity = spy(Robolectric.buildActivity(SettingsActivity.class).create().get());
     }
 
     @Test
@@ -69,7 +73,6 @@
         when(mActivity.getSupportFragmentManager()).thenReturn(mFragmentManager);
         doReturn(mContext.getContentResolver()).when(mActivity).getContentResolver();
         when(mFragmentManager.beginTransaction()).thenReturn(mock(FragmentTransaction.class));
-
         doReturn(RuntimeEnvironment.application.getClassLoader()).when(mActivity).getClassLoader();
 
         mActivity.launchSettingFragment(null, mock(Intent.class));
@@ -79,7 +82,18 @@
     public void setTaskDescription_shouldUpdateIcon() {
         mActivity.setTaskDescription(mTaskDescription);
 
-        verify(mTaskDescription).setIcon(anyInt());
+        verify(mTaskDescription).setIcon(any());
+    }
+
+    @Test
+    public void getSharedPreferences_intentExtraIsNull_shouldNotCrash() {
+        final Intent intent = new Intent();
+        intent.putExtra(EXTRA_SHOW_FRAGMENT, (String)null);
+        doReturn(intent).when(mActivity).getIntent();
+        doReturn(mContext.getPackageName()).when(mActivity).getPackageName();
+        FakeFeatureFactory.setupForTest();
+
+        mActivity.getSharedPreferences(mContext.getPackageName() + "_preferences", 0);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/SettingsPreferenceFragmentTest.java b/tests/robotests/src/com/android/settings/SettingsPreferenceFragmentTest.java
index cce0155..cb53f69 100644
--- a/tests/robotests/src/com/android/settings/SettingsPreferenceFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/SettingsPreferenceFragmentTest.java
@@ -29,6 +29,7 @@
 import android.content.Context;
 import android.os.Bundle;
 import android.view.View;
+import android.widget.FrameLayout;
 
 import androidx.fragment.app.FragmentActivity;
 import androidx.preference.Preference;
@@ -37,6 +38,7 @@
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.testutils.FakeFeatureFactory;
+import com.android.settings.testutils.shadow.ShadowFragment;
 import com.android.settings.widget.WorkOnlyCategory;
 
 import org.junit.Before;
@@ -46,6 +48,7 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
 import org.robolectric.util.ReflectionHelpers;
 
 @RunWith(RobolectricTestRunner.class)
@@ -147,6 +150,7 @@
     }
 
     @Test
+    @Config(shadows = ShadowFragment.class)
     public void onCreate_hasExtraFragmentKey_shouldExpandPreferences() {
         doReturn(mContext.getTheme()).when(mActivity).getTheme();
         doReturn(mContext.getResources()).when(mFragment).getResources();
@@ -161,6 +165,7 @@
     }
 
     @Test
+    @Config(shadows = ShadowFragment.class)
     public void onCreate_noPreferenceScreen_shouldNotCrash() {
         doReturn(mContext.getTheme()).when(mActivity).getTheme();
         doReturn(mContext.getResources()).when(mFragment).getResources();
@@ -187,6 +192,24 @@
         verify(workOnlyCategory).setVisible(false);
     }
 
+    @Test
+    public void showPinnedHeader_shouldBeVisible() {
+        mFragment.mPinnedHeaderFrameLayout = new FrameLayout(mContext);
+
+        mFragment.showPinnedHeader(true);
+
+        assertThat(mFragment.mPinnedHeaderFrameLayout.getVisibility()).isEqualTo(View.VISIBLE);
+    }
+
+    @Test
+    public void hidePinnedHeader_shouldBeInvisible() {
+        mFragment.mPinnedHeaderFrameLayout = new FrameLayout(mContext);
+
+        mFragment.showPinnedHeader(false);
+
+        assertThat(mFragment.mPinnedHeaderFrameLayout.getVisibility()).isEqualTo(View.INVISIBLE);
+    }
+
     public static class TestFragment extends SettingsPreferenceFragment {
 
         @Override
diff --git a/tests/robotests/src/com/android/settings/TetherSettingsTest.java b/tests/robotests/src/com/android/settings/TetherSettingsTest.java
index e69bd07..3c38c51d 100644
--- a/tests/robotests/src/com/android/settings/TetherSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/TetherSettingsTest.java
@@ -19,13 +19,22 @@
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
 import android.content.Context;
 import android.net.ConnectivityManager;
+import android.net.wifi.WifiManager;
 import android.os.UserHandle;
 import android.os.UserManager;
+import android.util.FeatureFlagUtils;
+
+import androidx.preference.Preference;
+
+import com.android.settings.core.FeatureFlags;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -66,6 +75,7 @@
 
     @Test
     public void testTetherNonIndexableKeys_tetherAvailable_keysNotReturned() {
+        FeatureFlagUtils.setEnabled(mContext, FeatureFlags.TETHER_ALL_IN_ONE, false);
         // To let TetherUtil.isTetherAvailable return true, select one of the combinations
         setupIsTetherAvailable(true);
 
@@ -100,6 +110,7 @@
 
     @Test
     public void testTetherNonIndexableKeys_usbAvailable_usbKeyNotReturned() {
+        FeatureFlagUtils.setEnabled(mContext, FeatureFlags.TETHER_ALL_IN_ONE, false);
         // We can ignore the condition of Utils.isMonkeyRunning()
         // In normal case, monkey and robotest should not execute at the same time
         when(mConnectivityManager.getTetherableUsbRegexs()).thenReturn(new String[]{"dummyRegex"});
@@ -122,6 +133,7 @@
 
     @Test
     public void testTetherNonIndexableKeys_bluetoothAvailable_bluetoothKeyNotReturned() {
+        FeatureFlagUtils.setEnabled(mContext, FeatureFlags.TETHER_ALL_IN_ONE, false);
         when(mConnectivityManager.getTetherableBluetoothRegexs())
                 .thenReturn(new String[]{"dummyRegex"});
 
@@ -131,6 +143,23 @@
         assertThat(niks).doesNotContain(TetherSettings.KEY_ENABLE_BLUETOOTH_TETHERING);
     }
 
+    @Test
+    public void testSetFooterPreferenceTitle_isStaApConcurrencySupported_showStaApString() {
+        final TetherSettings spyTetherSettings = spy(new TetherSettings());
+        when(spyTetherSettings.getContext()).thenReturn(mContext);
+        final Preference mockPreference = mock(Preference.class);
+        when(spyTetherSettings.findPreference(TetherSettings.KEY_TETHER_PREFS_FOOTER))
+            .thenReturn(mockPreference);
+        final WifiManager mockWifiManager = mock(WifiManager.class);
+        when(mContext.getSystemService(Context.WIFI_SERVICE)).thenReturn(mockWifiManager);
+        when(mockWifiManager.isStaApConcurrencySupported()).thenReturn(true);
+
+        spyTetherSettings.setFooterPreferenceTitle();
+
+        verify(mockPreference, never()).setTitle(R.string.tethering_footer_info);
+        verify(mockPreference).setTitle(R.string.tethering_footer_info_sta_ap_concurrency);
+    }
+
     private void setupIsTetherAvailable(boolean returnValue) {
         when(mConnectivityManager.isTetheringSupported()).thenReturn(true);
 
diff --git a/tests/robotests/src/com/android/settings/accessibility/AccessibilityDetailsSettingsFragmentTest.java b/tests/robotests/src/com/android/settings/accessibility/AccessibilityDetailsSettingsFragmentTest.java
index 9d5a5b8..9ad00eb 100644
--- a/tests/robotests/src/com/android/settings/accessibility/AccessibilityDetailsSettingsFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/AccessibilityDetailsSettingsFragmentTest.java
@@ -32,6 +32,9 @@
 import android.view.accessibility.AccessibilityManager;
 
 import androidx.fragment.app.FragmentActivity;
+
+import com.android.settings.testutils.shadow.ShadowFragment;
+
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -39,6 +42,7 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
 import org.robolectric.shadow.api.Shadow;
 import org.robolectric.shadows.ShadowAccessibilityManager;
 import org.xmlpull.v1.XmlPullParserException;
@@ -47,6 +51,7 @@
 import java.util.ArrayList;
 import java.util.List;
 
+@Config(shadows = ShadowFragment.class)
 @RunWith(RobolectricTestRunner.class)
 public class AccessibilityDetailsSettingsFragmentTest {
     private final static String PACKAGE_NAME = "com.foo.bar";
diff --git a/tests/robotests/src/com/android/settings/accessibility/AccessibilityHearingAidPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/AccessibilityHearingAidPreferenceControllerTest.java
index 3f4e82d..0b739f4 100644
--- a/tests/robotests/src/com/android/settings/accessibility/AccessibilityHearingAidPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/AccessibilityHearingAidPreferenceControllerTest.java
@@ -111,7 +111,7 @@
     @Test
     public void onHearingAidStateChanged_connected_updateHearingAidSummary() {
         when(mHearingAidProfile.getConnectedDevices()).thenReturn(generateHearingAidDeviceList());
-        mPreferenceController.onResume();
+        mPreferenceController.onStart();
         Intent intent = new Intent(BluetoothHearingAid.ACTION_CONNECTION_STATE_CHANGED);
         intent.putExtra(BluetoothHearingAid.EXTRA_STATE, BluetoothHearingAid.STATE_CONNECTED);
         sendIntent(intent);
@@ -121,7 +121,7 @@
 
     @Test
     public void onHearingAidStateChanged_disconnected_updateHearingAidSummary() {
-        mPreferenceController.onResume();
+        mPreferenceController.onStart();
         Intent intent = new Intent(BluetoothHearingAid.ACTION_CONNECTION_STATE_CHANGED);
         intent.putExtra(BluetoothHearingAid.EXTRA_STATE, BluetoothHearingAid.STATE_DISCONNECTED);
         sendIntent(intent);
@@ -132,7 +132,7 @@
 
     @Test
     public void onBluetoothStateChanged_bluetoothOff_updateHearingAidSummary() {
-        mPreferenceController.onResume();
+        mPreferenceController.onStart();
         Intent intent = new Intent(BluetoothAdapter.ACTION_STATE_CHANGED);
         intent.putExtra(BluetoothAdapter.EXTRA_STATE, BluetoothAdapter.STATE_OFF);
         sendIntent(intent);
@@ -173,11 +173,11 @@
                 HEARING_AID_PREFERENCE);
         mPreferenceController.setPreference(mHearingAidPreference);
         //not call registerReceiver()
-        mPreferenceController.onResume();
+        mPreferenceController.onStart();
         verify(mContext, never()).registerReceiver(any(), any());
 
         //not call unregisterReceiver()
-        mPreferenceController.onPause();
+        mPreferenceController.onStop();
         verify(mContext, never()).unregisterReceiver(any());
     }
 
diff --git a/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsTest.java b/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsTest.java
index 5813bd8..98d2918 100644
--- a/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsTest.java
@@ -18,57 +18,82 @@
 
 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.spy;
+import static org.mockito.Mockito.when;
 
-import android.app.UiModeManager;
-import android.content.ContentResolver;
+import android.accessibilityservice.AccessibilityServiceInfo;
+import android.accessibilityservice.AccessibilityShortcutInfo;
+import android.content.ComponentName;
 import android.content.Context;
-import android.os.Vibrator;
-import android.provider.DeviceConfig;
+import android.content.pm.ActivityInfo;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.ResolveInfo;
+import android.content.pm.ServiceInfo;
+import android.os.Build;
 import android.provider.Settings;
-
-import androidx.preference.Preference;
+import android.view.accessibility.AccessibilityManager;
 
 import com.android.settings.R;
 import com.android.settings.testutils.XmlTestUtils;
 import com.android.settings.testutils.shadow.ShadowDeviceConfig;
+import com.android.settingslib.RestrictedPreference;
 
 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;
 import org.robolectric.annotation.Config;
+import org.robolectric.shadow.api.Shadow;
+import org.robolectric.shadows.ShadowAccessibilityManager;
+import org.xmlpull.v1.XmlPullParserException;
 
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
 import java.util.List;
 
 @RunWith(RobolectricTestRunner.class)
 public class AccessibilitySettingsTest {
-    private static final String VIBRATION_PREFERENCE_SCREEN = "vibration_preference_screen";
-    private static final String ACCESSIBILITY_CONTROL_TIMEOUT_PREFERENCE =
-            "accessibility_control_timeout_preference_fragment";
-    private static final String DARK_UI_MODE_PREFERENCE =
-            "dark_ui_mode_accessibility";
+    private static final String DUMMY_PACKAGE_NAME = "com.dummy.example";
+    private static final String DUMMY_CLASS_NAME = DUMMY_PACKAGE_NAME + ".dummy_a11y_service";
+    private static final ComponentName DUMMY_COMPONENT_NAME = new ComponentName(DUMMY_PACKAGE_NAME,
+            DUMMY_CLASS_NAME);
+    private static final int ON = 1;
+    private static final int OFF = 0;
+    private static final String EMPTY_STRING = "";
+    private static final String DEFAULT_SUMMARY = "default summary";
+    private static final String DEFAULT_DESCRIPTION = "default description";
+    private static final String DEFAULT_LABEL = "default label";
+    private static final Boolean SERVICE_ENABLED = true;
+    private static final Boolean SERVICE_DISABLED = false;
 
     private Context mContext;
-    private ContentResolver mContentResolver;
     private AccessibilitySettings mSettings;
-    private UiModeManager mUiModeManager;
+    private ShadowAccessibilityManager mShadowAccessibilityManager;
+    private AccessibilityServiceInfo mServiceInfo;
+    @Mock
+    private AccessibilityShortcutInfo mShortcutInfo;
 
     @Before
     public void setup() {
         MockitoAnnotations.initMocks(this);
-        mContext = RuntimeEnvironment.application;
-        mContentResolver = mContext.getContentResolver();
+
+        mContext = spy(RuntimeEnvironment.application);
         mSettings = spy(new AccessibilitySettings());
+        mServiceInfo = spy(getMockAccessibilityServiceInfo());
+        mShadowAccessibilityManager = Shadow.extract(AccessibilityManager.getInstance(mContext));
+        mShadowAccessibilityManager.setInstalledAccessibilityServiceList(new ArrayList<>());
         doReturn(mContext).when(mSettings).getContext();
-        mUiModeManager = mContext.getSystemService(UiModeManager.class);
     }
 
     @Test
-    public void testNonIndexableKeys_existInXmlLayout() {
+    public void getNonIndexableKeys_existInXmlLayout() {
         final List<String> niks = AccessibilitySettings.SEARCH_INDEX_DATA_PROVIDER
                 .getNonIndexableKeys(mContext);
         final List<String> keys =
@@ -78,110 +103,193 @@
     }
 
     @Test
-    public void testUpdateVibrationSummary_shouldUpdateSummary() {
-        final Preference vibrationPreferenceScreen = new Preference(mContext);
-        doReturn(vibrationPreferenceScreen).when(mSettings).findPreference(
-                VIBRATION_PREFERENCE_SCREEN);
-
-        vibrationPreferenceScreen.setKey(VIBRATION_PREFERENCE_SCREEN);
-
-        Settings.System.putInt(mContext.getContentResolver(),
-                Settings.System.NOTIFICATION_VIBRATION_INTENSITY,
-                Vibrator.VIBRATION_INTENSITY_OFF);
-
-        Settings.System.putInt(mContext.getContentResolver(),
-                Settings.System.HAPTIC_FEEDBACK_INTENSITY,
-                Vibrator.VIBRATION_INTENSITY_OFF);
-
-        mSettings.updateVibrationSummary(vibrationPreferenceScreen);
-        assertThat(vibrationPreferenceScreen.getSummary()).isEqualTo(
-                VibrationIntensityPreferenceController.getIntensityString(mContext,
-                        Vibrator.VIBRATION_INTENSITY_OFF));
-    }
-
-    @Test
-    public void testUpdateAccessibilityTimeoutSummary_shouldUpdateSummary() {
-        String[] testingValues = {null, "0", "10000", "30000", "60000", "120000"};
-        int[] exceptedResIds = {R.string.accessibility_timeout_default,
-                R.string.accessibility_timeout_default,
-                R.string.accessibility_timeout_10secs,
-                R.string.accessibility_timeout_30secs,
-                R.string.accessibility_timeout_1min,
-                R.string.accessibility_timeout_2mins
-        };
-
-        for (int i = 0; i < testingValues.length; i++) {
-            Settings.Secure.putString(mContentResolver,
-                    Settings.Secure.ACCESSIBILITY_INTERACTIVE_UI_TIMEOUT_MS, testingValues[i]);
-
-            verifyAccessibilityTimeoutSummary(ACCESSIBILITY_CONTROL_TIMEOUT_PREFERENCE,
-                    exceptedResIds[i]);
-        }
-    }
-
-    @Test
-    public void testUpdateAccessibilityControlTimeoutSummary_invalidData_shouldUpdateSummary() {
-        String[] testingValues = {"-9009", "98277466643738977979666555536362343", "Hello,a prank"};
-
-        for (String value : testingValues) {
-            Settings.Secure.putString(mContentResolver,
-                    Settings.Secure.ACCESSIBILITY_NON_INTERACTIVE_UI_TIMEOUT_MS, value);
-
-            verifyAccessibilityTimeoutSummary(ACCESSIBILITY_CONTROL_TIMEOUT_PREFERENCE,
-                    R.string.accessibility_timeout_default);
-
-            Settings.Secure.putString(mContentResolver,
-                    Settings.Secure.ACCESSIBILITY_INTERACTIVE_UI_TIMEOUT_MS, value);
-
-            verifyAccessibilityTimeoutSummary(ACCESSIBILITY_CONTROL_TIMEOUT_PREFERENCE,
-                    R.string.accessibility_timeout_default);
-        }
-    }
-
-    @Test
     @Config(shadows = {ShadowDeviceConfig.class})
-    public void testIsRampingRingerEnabled_bothFlagsOn_Enabled() {
+    public void isRampingRingerEnabled_settingsFlagOn_Enabled() {
         Settings.Global.putInt(
-                mContext.getContentResolver(), Settings.Global.APPLY_RAMPING_RINGER, 1 /* ON */);
-        DeviceConfig.setProperty(DeviceConfig.NAMESPACE_TELEPHONY,
-                AccessibilitySettings.RAMPING_RINGER_ENABLED, "true", false /* makeDefault*/);
-      assertThat(AccessibilitySettings.isRampingRingerEnabled(mContext)).isTrue();
+                mContext.getContentResolver(), Settings.Global.APPLY_RAMPING_RINGER, ON);
+        assertThat(AccessibilitySettings.isRampingRingerEnabled(mContext)).isTrue();
     }
 
     @Test
     @Config(shadows = {ShadowDeviceConfig.class})
-    public void testIsRampingRingerEnabled_settingsFlagOff_Disabled() {
+    public void isRampingRingerEnabled_settingsFlagOff_Disabled() {
         Settings.Global.putInt(
-                mContext.getContentResolver(), Settings.Global.APPLY_RAMPING_RINGER, 0 /* OFF */);
-      assertThat(AccessibilitySettings.isRampingRingerEnabled(mContext)).isFalse();
+                mContext.getContentResolver(), Settings.Global.APPLY_RAMPING_RINGER, OFF);
+        assertThat(AccessibilitySettings.isRampingRingerEnabled(mContext)).isFalse();
     }
 
     @Test
-    @Config(shadows = {ShadowDeviceConfig.class})
-    public void testIsRampingRingerEnabled_deviceConfigFlagOff_Disabled() {
-        DeviceConfig.setProperty(DeviceConfig.NAMESPACE_TELEPHONY,
-                AccessibilitySettings.RAMPING_RINGER_ENABLED, "false", false /* makeDefault*/);
-      assertThat(AccessibilitySettings.isRampingRingerEnabled(mContext)).isFalse();
+    public void getServiceSummary_serviceCrash_showsStopped() {
+        mServiceInfo.crashed = true;
+
+        final CharSequence summary = AccessibilitySettings.getServiceSummary(mContext,
+                mServiceInfo, SERVICE_ENABLED);
+
+        assertThat(summary).isEqualTo(
+                mContext.getString(R.string.accessibility_summary_state_stopped));
     }
 
-    private void verifyAccessibilityTimeoutSummary(String preferenceKey, int resId) {
-        final Preference preference = new Preference(mContext);
-        doReturn(preference).when(mSettings).findPreference(preferenceKey);
-        preference.setKey(preferenceKey);
-        mSettings.updateAccessibilityTimeoutSummary(mContentResolver, preference);
+    @Test
+    public void getServiceSummary_invisibleType_shortcutDisabled_showsOffSummary() {
+        setInvisibleFragmentType(mServiceInfo);
+        doReturn(DEFAULT_SUMMARY).when(mServiceInfo).loadSummary(any());
 
-        assertThat(preference.getSummary()).isEqualTo(mContext.getResources().getString(resId));
+        final CharSequence summary = AccessibilitySettings.getServiceSummary(mContext,
+                mServiceInfo, SERVICE_ENABLED);
+
+        assertThat(summary).isEqualTo(
+                mContext.getString(R.string.preference_summary_default_combination,
+                        mContext.getString(R.string.accessibility_summary_shortcut_disabled),
+                        DEFAULT_SUMMARY));
     }
 
-    private String modeToDescription(int mode) {
-        String[] values = mContext.getResources().getStringArray(R.array.dark_ui_mode_entries);
-        switch (mode) {
-            case UiModeManager.MODE_NIGHT_YES:
-                return values[0];
-            case UiModeManager.MODE_NIGHT_NO:
-            case UiModeManager.MODE_NIGHT_AUTO:
-            default:
-                return values[1];
+    @Test
+    public void getServiceSummary_enableService_showsEnabled() {
+        doReturn(EMPTY_STRING).when(mServiceInfo).loadSummary(any());
+
+        final CharSequence summary = AccessibilitySettings.getServiceSummary(mContext,
+                mServiceInfo, SERVICE_ENABLED);
+
+        assertThat(summary).isEqualTo(
+                mContext.getString(R.string.accessibility_summary_state_enabled));
+    }
+
+    @Test
+    public void getServiceSummary_disableService_showsDisabled() {
+        doReturn(EMPTY_STRING).when(mServiceInfo).loadSummary(any());
+
+        final CharSequence summary = AccessibilitySettings.getServiceSummary(mContext,
+                mServiceInfo, SERVICE_DISABLED);
+
+        assertThat(summary).isEqualTo(
+                mContext.getString(R.string.accessibility_summary_state_disabled));
+    }
+
+    @Test
+    public void getServiceSummary_enableServiceAndHasSummary_showsEnabledSummary() {
+        final String service_enabled = mContext.getString(
+                R.string.accessibility_summary_state_enabled);
+        doReturn(DEFAULT_SUMMARY).when(mServiceInfo).loadSummary(any());
+
+        final CharSequence summary = AccessibilitySettings.getServiceSummary(mContext,
+                mServiceInfo, SERVICE_ENABLED);
+
+        assertThat(summary).isEqualTo(
+                mContext.getString(R.string.preference_summary_default_combination, service_enabled,
+                        DEFAULT_SUMMARY));
+    }
+
+    @Test
+    public void getServiceSummary_disableServiceAndHasSummary_showsCombineDisabledSummary() {
+        final String service_disabled = mContext.getString(
+                R.string.accessibility_summary_state_disabled);
+        doReturn(DEFAULT_SUMMARY).when(mServiceInfo).loadSummary(any());
+
+        final CharSequence summary = AccessibilitySettings.getServiceSummary(mContext,
+                mServiceInfo, SERVICE_DISABLED);
+
+        assertThat(summary).isEqualTo(
+                mContext.getString(R.string.preference_summary_default_combination,
+                        service_disabled, DEFAULT_SUMMARY));
+    }
+
+    @Test
+    public void getServiceDescription_serviceCrash_showsStopped() {
+        mServiceInfo.crashed = true;
+
+        final CharSequence description = AccessibilitySettings.getServiceDescription(mContext,
+                mServiceInfo, SERVICE_ENABLED);
+
+        assertThat(description).isEqualTo(
+                mContext.getString(R.string.accessibility_description_state_stopped));
+    }
+
+    @Test
+    public void getServiceDescription_haveDescription_showsDescription() {
+        doReturn(DEFAULT_DESCRIPTION).when(mServiceInfo).loadDescription(any());
+
+        final CharSequence description = AccessibilitySettings.getServiceDescription(mContext,
+                mServiceInfo, SERVICE_ENABLED);
+
+        assertThat(description).isEqualTo(DEFAULT_DESCRIPTION);
+    }
+
+    @Test
+    public void getServiceDescription_noDescription_showsDefaultString() {
+        doReturn(EMPTY_STRING).when(mServiceInfo).loadDescription(any());
+
+        final CharSequence description = AccessibilitySettings.getServiceDescription(mContext,
+                mServiceInfo, SERVICE_ENABLED);
+
+        assertThat(description).isEqualTo(
+                mContext.getString(R.string.accessibility_service_default_description));
+    }
+
+    @Test
+    public void createAccessibilityServicePreferenceList_hasOneInfo_containsSameKey() {
+        final String key = DUMMY_COMPONENT_NAME.flattenToString();
+        final AccessibilitySettings.RestrictedPreferenceHelper helper =
+                new AccessibilitySettings.RestrictedPreferenceHelper(mContext);
+        final List<AccessibilityServiceInfo> infoList = new ArrayList<>(
+                Collections.singletonList(mServiceInfo));
+
+        final List<RestrictedPreference> preferenceList =
+                helper.createAccessibilityServicePreferenceList(infoList);
+        RestrictedPreference preference = preferenceList.get(0);
+
+        assertThat(preference.getKey()).isEqualTo(key);
+    }
+
+    @Test
+    public void createAccessibilityActivityPreferenceList_hasOneInfo_containsSameKey() {
+        final String key = DUMMY_COMPONENT_NAME.flattenToString();
+        final AccessibilitySettings.RestrictedPreferenceHelper helper =
+                new AccessibilitySettings.RestrictedPreferenceHelper(mContext);
+        setMockAccessibilityShortcutInfo(mShortcutInfo);
+        final List<AccessibilityShortcutInfo> infoList = new ArrayList<>(
+                Collections.singletonList(mShortcutInfo));
+
+        final List<RestrictedPreference> preferenceList =
+                helper.createAccessibilityActivityPreferenceList(infoList);
+        RestrictedPreference preference = preferenceList.get(0);
+
+        assertThat(preference.getKey()).isEqualTo(key);
+    }
+
+    private AccessibilityServiceInfo getMockAccessibilityServiceInfo() {
+        final ApplicationInfo applicationInfo = new ApplicationInfo();
+        final ServiceInfo serviceInfo = new ServiceInfo();
+        applicationInfo.packageName = DUMMY_PACKAGE_NAME;
+        serviceInfo.packageName = DUMMY_PACKAGE_NAME;
+        serviceInfo.name = DUMMY_CLASS_NAME;
+        serviceInfo.applicationInfo = applicationInfo;
+
+        final ResolveInfo resolveInfo = new ResolveInfo();
+        resolveInfo.serviceInfo = serviceInfo;
+
+        try {
+            final AccessibilityServiceInfo info = new AccessibilityServiceInfo(resolveInfo,
+                    mContext);
+            info.setComponentName(DUMMY_COMPONENT_NAME);
+            return info;
+        } catch (XmlPullParserException | IOException e) {
+            // Do nothing
         }
+
+        return null;
+    }
+
+    private void setMockAccessibilityShortcutInfo(AccessibilityShortcutInfo mockInfo) {
+        final ActivityInfo activityInfo = Mockito.mock(ActivityInfo.class);
+        when(mockInfo.getActivityInfo()).thenReturn(activityInfo);
+        when(activityInfo.loadLabel(any())).thenReturn(DEFAULT_LABEL);
+        when(mockInfo.loadSummary(any())).thenReturn(DEFAULT_SUMMARY);
+        when(mockInfo.loadDescription(any())).thenReturn(DEFAULT_DESCRIPTION);
+        when(mockInfo.getComponentName()).thenReturn(DUMMY_COMPONENT_NAME);
+    }
+
+    private void setInvisibleFragmentType(AccessibilityServiceInfo info) {
+        info.getResolveInfo().serviceInfo.applicationInfo.targetSdkVersion = Build.VERSION_CODES.R;
+        info.flags |= AccessibilityServiceInfo.FLAG_REQUEST_ACCESSIBILITY_BUTTON;
     }
 }
diff --git a/tests/robotests/src/com/android/settings/accessibility/AccessibilityShortcutPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/AccessibilityShortcutPreferenceControllerTest.java
new file mode 100644
index 0000000..53f6cc0
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/accessibility/AccessibilityShortcutPreferenceControllerTest.java
@@ -0,0 +1,91 @@
+/*
+ * 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.android.settings.accessibility.AccessibilityUtil.State.OFF;
+import static com.android.settings.accessibility.AccessibilityUtil.State.ON;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.content.Context;
+import android.os.UserHandle;
+import android.provider.Settings;
+
+import androidx.preference.SwitchPreference;
+
+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 AccessibilityShortcutPreferenceControllerTest {
+
+    private Context mContext;
+    private SwitchPreference mPreference;
+    private AccessibilityShortcutPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        mContext = RuntimeEnvironment.application;
+        mPreference = new SwitchPreference(mContext);
+        mController = new AccessibilityShortcutPreferenceController(mContext,
+                "accessibility_shortcut_preference");
+    }
+
+    @Test
+    public void isChecked_enabledShortcutOnLockScreen_shouldReturnTrue() {
+        Settings.Secure.putIntForUser(mContext.getContentResolver(),
+                Settings.Secure.ACCESSIBILITY_SHORTCUT_ON_LOCK_SCREEN, ON, UserHandle.USER_CURRENT);
+
+        mController.updateState(mPreference);
+
+        assertThat(mController.isChecked()).isTrue();
+        assertThat(mPreference.isChecked()).isTrue();
+    }
+
+    @Test
+    public void isChecked_disabledShortcutOnLockScreen_shouldReturnFalse() {
+        Settings.Secure.putIntForUser(mContext.getContentResolver(),
+                Settings.Secure.ACCESSIBILITY_SHORTCUT_ON_LOCK_SCREEN, OFF,
+                UserHandle.USER_CURRENT);
+
+        mController.updateState(mPreference);
+
+        assertThat(mController.isChecked()).isFalse();
+        assertThat(mPreference.isChecked()).isFalse();
+    }
+
+    @Test
+    public void setChecked_setTrue_shouldEnableShortcutOnLockScreen() {
+        mController.setChecked(true);
+
+        assertThat(Settings.Secure.getIntForUser(mContext.getContentResolver(),
+                Settings.Secure.ACCESSIBILITY_SHORTCUT_ON_LOCK_SCREEN, OFF,
+                UserHandle.USER_CURRENT)).isEqualTo(ON);
+    }
+
+    @Test
+    public void setChecked_setFalse_shouldDisableShortcutOnLockScreen() {
+        mController.setChecked(false);
+
+        assertThat(Settings.Secure.getIntForUser(mContext.getContentResolver(),
+                Settings.Secure.ACCESSIBILITY_SHORTCUT_ON_LOCK_SCREEN, ON,
+                UserHandle.USER_CURRENT)).isEqualTo(OFF);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/accessibility/AccessibilitySlicePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/AccessibilitySlicePreferenceControllerTest.java
index 471f107..16ff3c4 100644
--- a/tests/robotests/src/com/android/settings/accessibility/AccessibilitySlicePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/AccessibilitySlicePreferenceControllerTest.java
@@ -121,6 +121,16 @@
         new AccessibilitySlicePreferenceController(mContext, "not_split_by_slash");
     }
 
+    @Test
+    public void isSliceable_returnTrue() {
+        assertThat(mController.isSliceable()).isTrue();
+    }
+
+    @Test
+    public void isPublicSlice_returnTrue() {
+        assertThat(mController.isPublicSlice()).isTrue();
+    }
+
     private List<AccessibilityServiceInfo> getFakeServiceList() {
         final List<AccessibilityServiceInfo> infoList = new ArrayList<>();
 
diff --git a/tests/robotests/src/com/android/settings/accessibility/AccessibilityTimeoutControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/AccessibilityTimeoutControllerTest.java
index 7891664..7fefef6 100644
--- a/tests/robotests/src/com/android/settings/accessibility/AccessibilityTimeoutControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/AccessibilityTimeoutControllerTest.java
@@ -31,8 +31,8 @@
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.R;
-import com.android.settings.widget.RadioButtonPreference;
 import com.android.settingslib.core.lifecycle.Lifecycle;
+import com.android.settingslib.widget.RadioButtonPreference;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/robotests/src/com/android/settings/accessibility/AccessibilityTimeoutPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/AccessibilityTimeoutPreferenceControllerTest.java
new file mode 100644
index 0000000..50f311e
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/accessibility/AccessibilityTimeoutPreferenceControllerTest.java
@@ -0,0 +1,80 @@
+/*
+ * 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.accessibility;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.content.Context;
+import android.provider.Settings;
+
+import com.android.settings.R;
+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 AccessibilityTimeoutPreferenceControllerTest {
+
+    private Context mContext;
+    private AccessibilityTimeoutPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        mContext = RuntimeEnvironment.application;
+        mController = new AccessibilityTimeoutPreferenceController(mContext, "control_timeout");
+    }
+
+    @Test
+    public void getAvailabilityStatus_shouldReturnAvailable() {
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(
+                BasePreferenceController.AVAILABLE);
+    }
+
+    @Test
+    public void getSummary_byDefault_shouldReturnDefaultSummary() {
+        final String[] timeoutSummarys = mContext.getResources().getStringArray(
+                R.array.accessibility_timeout_summaries);
+        Settings.Secure.putString(mContext.getContentResolver(),
+                Settings.Secure.ACCESSIBILITY_INTERACTIVE_UI_TIMEOUT_MS, "0");
+
+        assertThat(mController.getSummary()).isEqualTo(timeoutSummarys[0]);
+    }
+
+    @Test
+    public void getSummary_invalidTimeout_shouldReturnDefaultSummary() {
+        final String[] timeoutSummarys = mContext.getResources().getStringArray(
+                R.array.accessibility_timeout_summaries);
+        Settings.Secure.putString(mContext.getContentResolver(),
+                Settings.Secure.ACCESSIBILITY_INTERACTIVE_UI_TIMEOUT_MS, "invalid_timeout");
+
+        assertThat(mController.getSummary()).isEqualTo(timeoutSummarys[0]);
+    }
+
+    @Test
+    public void getSummary_validTimeout_shouldReturnValidSummary() {
+        final String[] timeoutSummarys = mContext.getResources().getStringArray(
+                R.array.accessibility_timeout_summaries);
+        Settings.Secure.putString(mContext.getContentResolver(),
+                Settings.Secure.ACCESSIBILITY_INTERACTIVE_UI_TIMEOUT_MS, "60000");
+
+        assertThat(mController.getSummary()).isEqualTo(timeoutSummarys[3]);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/accessibility/AccessibilityUtilTest.java b/tests/robotests/src/com/android/settings/accessibility/AccessibilityUtilTest.java
new file mode 100644
index 0000000..655e7b6
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/accessibility/AccessibilityUtilTest.java
@@ -0,0 +1,269 @@
+/*
+ * 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.accessibility;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.accessibilityservice.AccessibilityServiceInfo;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.ResolveInfo;
+import android.content.pm.ServiceInfo;
+import android.os.Build;
+import android.provider.Settings;
+
+import com.android.settings.R;
+import com.android.settings.accessibility.AccessibilityUtil.UserShortcutType;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+import org.xmlpull.v1.XmlPullParserException;
+
+import java.io.IOException;
+
+@RunWith(RobolectricTestRunner.class)
+public final class AccessibilityUtilTest {
+    private static final int ON = 1;
+    private static final int OFF = 0;
+    private static final String SECURE_TEST_KEY = "secure_test_key";
+    private static final String DUMMY_PACKAGE_NAME = "com.dummy.example";
+    private static final String DUMMY_CLASS_NAME = DUMMY_PACKAGE_NAME + ".dummy_a11y_service";
+    private static final String DUMMY_CLASS_NAME2 = DUMMY_PACKAGE_NAME + ".dummy_a11y_service2";
+    private static final ComponentName DUMMY_COMPONENT_NAME = new ComponentName(DUMMY_PACKAGE_NAME,
+            DUMMY_CLASS_NAME);
+    private static final ComponentName DUMMY_COMPONENT_NAME2 = new ComponentName(DUMMY_PACKAGE_NAME,
+            DUMMY_CLASS_NAME2);
+    private static final String SOFTWARE_SHORTCUT_KEY =
+            Settings.Secure.ACCESSIBILITY_BUTTON_TARGET_COMPONENT;
+    private static final String HARDWARE_SHORTCUT_KEY =
+            Settings.Secure.ACCESSIBILITY_SHORTCUT_TARGET_SERVICE;
+
+    private Context mContext;
+
+    @Before
+    public void setUp() {
+        mContext = RuntimeEnvironment.application;
+    }
+
+    @Test
+    public void capitalize_shouldReturnCapitalizedString() {
+        assertThat(AccessibilityUtil.capitalize(null)).isNull();
+        assertThat(AccessibilityUtil.capitalize("")).isEmpty();
+        assertThat(AccessibilityUtil.capitalize("Hans")).isEqualTo("Hans");
+        assertThat(AccessibilityUtil.capitalize("hans")).isEqualTo("Hans");
+        assertThat(AccessibilityUtil.capitalize(",hans")).isEqualTo(",hans");
+        assertThat(AccessibilityUtil.capitalize("Hans, Hans")).isEqualTo("Hans, hans");
+    }
+
+    @Test
+    public void getSummary_hasValueAndEqualsToOne_shouldReturnOnString() {
+        Settings.Secure.putInt(mContext.getContentResolver(), SECURE_TEST_KEY, ON);
+
+        final CharSequence result = AccessibilityUtil.getSummary(mContext, SECURE_TEST_KEY);
+
+        assertThat(result)
+                .isEqualTo(mContext.getText(R.string.accessibility_feature_state_on));
+    }
+
+    @Test
+    public void getSummary_hasValueAndEqualsToZero_shouldReturnOffString() {
+        Settings.Secure.putInt(mContext.getContentResolver(), SECURE_TEST_KEY, OFF);
+
+        final CharSequence result = AccessibilityUtil.getSummary(mContext, SECURE_TEST_KEY);
+
+        assertThat(result)
+                .isEqualTo(mContext.getText(R.string.accessibility_feature_state_off));
+    }
+
+    @Test
+    public void getSummary_noValue_shouldReturnOffString() {
+        final CharSequence result = AccessibilityUtil.getSummary(mContext, SECURE_TEST_KEY);
+
+        assertThat(result)
+                .isEqualTo(mContext.getText(R.string.accessibility_feature_state_off));
+    }
+
+    @Test
+    public void getAccessibilityServiceFragmentType_targetSdkQ_legacyType() {
+        final AccessibilityServiceInfo info = getMockAccessibilityServiceInfo();
+
+        info.getResolveInfo().serviceInfo.applicationInfo.targetSdkVersion = Build.VERSION_CODES.Q;
+        info.flags |= AccessibilityServiceInfo.FLAG_REQUEST_ACCESSIBILITY_BUTTON;
+
+        assertThat(AccessibilityUtil.getAccessibilityServiceFragmentType(info)).isEqualTo(
+                AccessibilityUtil.AccessibilityServiceFragmentType.LEGACY);
+    }
+
+    @Test
+    public void getAccessibilityServiceFragmentType_targetSdkR_HaveA11yButton_headlessType() {
+        final AccessibilityServiceInfo info = getMockAccessibilityServiceInfo();
+
+        info.getResolveInfo().serviceInfo.applicationInfo.targetSdkVersion = Build.VERSION_CODES.R;
+        info.flags |= AccessibilityServiceInfo.FLAG_REQUEST_ACCESSIBILITY_BUTTON;
+
+        assertThat(AccessibilityUtil.getAccessibilityServiceFragmentType(info)).isEqualTo(
+                AccessibilityUtil.AccessibilityServiceFragmentType.INVISIBLE);
+    }
+
+    @Test
+    public void getAccessibilityServiceFragmentType_targetSdkR_NoA11yButton_intuitiveType() {
+        final AccessibilityServiceInfo info = getMockAccessibilityServiceInfo();
+
+        info.getResolveInfo().serviceInfo.applicationInfo.targetSdkVersion = Build.VERSION_CODES.R;
+        info.flags |= ~AccessibilityServiceInfo.FLAG_REQUEST_ACCESSIBILITY_BUTTON;
+
+        assertThat(AccessibilityUtil.getAccessibilityServiceFragmentType(info)).isEqualTo(
+                AccessibilityUtil.AccessibilityServiceFragmentType.INTUITIVE);
+    }
+
+    @Test
+    public void hasValueInSettings_putValue_hasValue() {
+        putStringIntoSettings(SOFTWARE_SHORTCUT_KEY, DUMMY_COMPONENT_NAME.flattenToString());
+
+        assertThat(AccessibilityUtil.hasValueInSettings(mContext, UserShortcutType.SOFTWARE,
+                DUMMY_COMPONENT_NAME)).isTrue();
+    }
+
+    @Test
+    public void getUserShortcutTypeFromSettings_putOneValue_hasValue() {
+        putStringIntoSettings(SOFTWARE_SHORTCUT_KEY, DUMMY_COMPONENT_NAME.flattenToString());
+
+        final int shortcutType = AccessibilityUtil.getUserShortcutTypesFromSettings(mContext,
+                DUMMY_COMPONENT_NAME);
+        assertThat(
+                (shortcutType & UserShortcutType.SOFTWARE) == UserShortcutType.SOFTWARE).isTrue();
+    }
+
+    @Test
+    public void getUserShortcutTypeFromSettings_putTwoValues_hasValue() {
+        putStringIntoSettings(SOFTWARE_SHORTCUT_KEY, DUMMY_COMPONENT_NAME.flattenToString());
+        putStringIntoSettings(HARDWARE_SHORTCUT_KEY, DUMMY_COMPONENT_NAME.flattenToString());
+
+        final int shortcutType = AccessibilityUtil.getUserShortcutTypesFromSettings(mContext,
+                DUMMY_COMPONENT_NAME);
+        assertThat(
+                (shortcutType & UserShortcutType.SOFTWARE) == UserShortcutType.SOFTWARE).isTrue();
+        assertThat(
+                (shortcutType & UserShortcutType.HARDWARE) == UserShortcutType.HARDWARE).isTrue();
+    }
+
+    @Test
+    public void optInAllValuesToSettings_optInValue_haveMatchString() {
+        int shortcutTypes = UserShortcutType.SOFTWARE | UserShortcutType.HARDWARE;
+
+        AccessibilityUtil.optInAllValuesToSettings(mContext, shortcutTypes, DUMMY_COMPONENT_NAME);
+
+        assertThat(getStringFromSettings(SOFTWARE_SHORTCUT_KEY)).isEqualTo(
+                DUMMY_COMPONENT_NAME.flattenToString());
+        assertThat(getStringFromSettings(HARDWARE_SHORTCUT_KEY)).isEqualTo(
+                DUMMY_COMPONENT_NAME.flattenToString());
+
+    }
+
+    @Test
+    public void optInValueToSettings_optInValue_haveMatchString() {
+        putStringIntoSettings(SOFTWARE_SHORTCUT_KEY, DUMMY_COMPONENT_NAME.flattenToString());
+        AccessibilityUtil.optInValueToSettings(mContext, UserShortcutType.SOFTWARE,
+                DUMMY_COMPONENT_NAME2);
+
+        assertThat(getStringFromSettings(SOFTWARE_SHORTCUT_KEY)).isEqualTo(
+                DUMMY_COMPONENT_NAME.flattenToString() + ":"
+                        + DUMMY_COMPONENT_NAME2.flattenToString());
+    }
+
+    @Test
+    public void optInValueToSettings_optInTwoValues_haveMatchString() {
+        putStringIntoSettings(SOFTWARE_SHORTCUT_KEY, DUMMY_COMPONENT_NAME.flattenToString());
+        AccessibilityUtil.optInValueToSettings(mContext, UserShortcutType.SOFTWARE,
+                DUMMY_COMPONENT_NAME2);
+        AccessibilityUtil.optInValueToSettings(mContext, UserShortcutType.SOFTWARE,
+                DUMMY_COMPONENT_NAME2);
+
+        assertThat(getStringFromSettings(SOFTWARE_SHORTCUT_KEY)).isEqualTo(
+                DUMMY_COMPONENT_NAME.flattenToString() + ":"
+                        + DUMMY_COMPONENT_NAME2.flattenToString());
+    }
+
+    @Test
+    public void optOutAllValuesToSettings_optOutValue_emptyString() {
+        putStringIntoSettings(SOFTWARE_SHORTCUT_KEY, DUMMY_COMPONENT_NAME.flattenToString());
+        putStringIntoSettings(HARDWARE_SHORTCUT_KEY, DUMMY_COMPONENT_NAME.flattenToString());
+        int shortcutTypes =
+                UserShortcutType.SOFTWARE | UserShortcutType.HARDWARE | UserShortcutType.TRIPLETAP;
+
+        AccessibilityUtil.optOutAllValuesFromSettings(mContext, shortcutTypes,
+                DUMMY_COMPONENT_NAME);
+
+        assertThat(getStringFromSettings(SOFTWARE_SHORTCUT_KEY)).isEmpty();
+        assertThat(getStringFromSettings(HARDWARE_SHORTCUT_KEY)).isEmpty();
+    }
+
+    @Test
+    public void optOutValueFromSettings_optOutValue_emptyString() {
+        putStringIntoSettings(SOFTWARE_SHORTCUT_KEY, DUMMY_COMPONENT_NAME.flattenToString());
+        AccessibilityUtil.optOutValueFromSettings(mContext, UserShortcutType.SOFTWARE,
+                DUMMY_COMPONENT_NAME);
+
+        assertThat(getStringFromSettings(SOFTWARE_SHORTCUT_KEY)).isEmpty();
+    }
+
+    @Test
+    public void optOutValueFromSettings_optOutValue_haveMatchString() {
+        putStringIntoSettings(SOFTWARE_SHORTCUT_KEY, DUMMY_COMPONENT_NAME.flattenToString() + ":"
+                + DUMMY_COMPONENT_NAME2.flattenToString());
+        AccessibilityUtil.optOutValueFromSettings(mContext, UserShortcutType.SOFTWARE,
+                DUMMY_COMPONENT_NAME2);
+
+        assertThat(getStringFromSettings(SOFTWARE_SHORTCUT_KEY)).isEqualTo(
+                DUMMY_COMPONENT_NAME.flattenToString());
+    }
+
+    private AccessibilityServiceInfo getMockAccessibilityServiceInfo() {
+        final ApplicationInfo applicationInfo = new ApplicationInfo();
+        final ServiceInfo serviceInfo = new ServiceInfo();
+        applicationInfo.packageName = DUMMY_PACKAGE_NAME;
+        serviceInfo.packageName = DUMMY_PACKAGE_NAME;
+        serviceInfo.name = DUMMY_CLASS_NAME;
+        serviceInfo.applicationInfo = applicationInfo;
+
+        final ResolveInfo resolveInfo = new ResolveInfo();
+        resolveInfo.serviceInfo = serviceInfo;
+
+        try {
+            final AccessibilityServiceInfo info = new AccessibilityServiceInfo(resolveInfo,
+                    mContext);
+            info.setComponentName(DUMMY_COMPONENT_NAME);
+            return info;
+        } catch (XmlPullParserException | IOException e) {
+            // Do nothing
+        }
+
+        return null;
+    }
+
+    private void putStringIntoSettings(String key, String componentName) {
+        Settings.Secure.putString(mContext.getContentResolver(), key, componentName);
+    }
+
+    private String getStringFromSettings(String key) {
+        return Settings.Secure.getString(mContext.getContentResolver(), key);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/accessibility/AutoclickPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/AutoclickPreferenceControllerTest.java
new file mode 100644
index 0000000..d670ee8
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/accessibility/AutoclickPreferenceControllerTest.java
@@ -0,0 +1,73 @@
+/*
+ * 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.accessibility;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.content.Context;
+import android.provider.Settings;
+import android.view.accessibility.AccessibilityManager;
+
+import com.android.settings.R;
+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 AutoclickPreferenceControllerTest {
+
+    private Context mContext;
+    private AutoclickPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        mContext = RuntimeEnvironment.application;
+        mController = new AutoclickPreferenceController(mContext, "auto_click");
+    }
+
+    @Test
+    public void getAvailabilityStatus_shouldReturnAvailableUnsearchable() {
+        assertThat(mController.getAvailabilityStatus())
+                .isEqualTo(BasePreferenceController.AVAILABLE);
+    }
+
+    @Test
+    public void getSummary_disabledAutoclick_shouldReturnOffSummary() {
+        Settings.Secure.putInt(mContext.getContentResolver(),
+                Settings.Secure.ACCESSIBILITY_AUTOCLICK_ENABLED, 0);
+
+        assertThat(mController.getSummary())
+                .isEqualTo(mContext.getText(R.string.accessibility_feature_state_off));
+    }
+
+    @Test
+    public void getSummary_enabledAutoclick_shouldReturnOnSummary() {
+        final int autoclickDelayDefault = AccessibilityManager.AUTOCLICK_DELAY_DEFAULT;
+        Settings.Secure.putInt(mContext.getContentResolver(),
+                Settings.Secure.ACCESSIBILITY_AUTOCLICK_ENABLED, 1);
+        Settings.Secure.putInt(mContext.getContentResolver(),
+                Settings.Secure.ACCESSIBILITY_AUTOCLICK_DELAY, autoclickDelayDefault);
+
+        assertThat(mController.getSummary())
+                .isEqualTo(ToggleAutoclickPreferenceFragment.getAutoclickPreferenceSummary(
+                        mContext.getResources(), autoclickDelayDefault));
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/accessibility/CaptioningPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/CaptioningPreferenceControllerTest.java
new file mode 100644
index 0000000..0dbb347
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/accessibility/CaptioningPreferenceControllerTest.java
@@ -0,0 +1,70 @@
+/*
+ * 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.accessibility;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.content.Context;
+import android.provider.Settings;
+
+import com.android.settings.R;
+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 CaptioningPreferenceControllerTest {
+    private static final int ON = 1;
+    private static final int OFF = 0;
+
+    private Context mContext;
+    private CaptioningPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        mContext = RuntimeEnvironment.application;
+        mController = new CaptioningPreferenceController(mContext, "captioning_pref");
+    }
+
+    @Test
+    public void getAvailabilityStatus_byDefault_shouldReturnAvailable() {
+        assertThat(mController.getAvailabilityStatus())
+                .isEqualTo(BasePreferenceController.AVAILABLE);
+    }
+
+    @Test
+    public void getSummary_enabledCaptions_shouldReturnOnSummary() {
+        Settings.Secure.putInt(mContext.getContentResolver(),
+                Settings.Secure.ACCESSIBILITY_CAPTIONING_ENABLED, ON);
+
+        assertThat(mController.getSummary()).isEqualTo(
+                mContext.getText(R.string.accessibility_feature_state_on));
+    }
+
+    @Test
+    public void getSummary_disabledCaptions_shouldReturnOffSummary() {
+        Settings.Secure.putInt(mContext.getContentResolver(),
+                Settings.Secure.ACCESSIBILITY_CAPTIONING_ENABLED, OFF);
+
+        assertThat(mController.getSummary()).isEqualTo(
+                mContext.getText(R.string.accessibility_feature_state_off));
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/accessibility/ColorInversionPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/ColorInversionPreferenceControllerTest.java
index 6b46652..e034498 100644
--- a/tests/robotests/src/com/android/settings/accessibility/ColorInversionPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/ColorInversionPreferenceControllerTest.java
@@ -16,82 +16,57 @@
 
 package com.android.settings.accessibility;
 
-import static com.android.settings.accessibility.ColorInversionPreferenceController.OFF;
-import static com.android.settings.accessibility.ColorInversionPreferenceController.ON;
-
 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 com.android.settings.R;
 
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
 
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
 @RunWith(RobolectricTestRunner.class)
 public class ColorInversionPreferenceControllerTest {
-    private static final int UNKNOWN = -1;
+    private static final String PREF_KEY = "toggle_inversion_preference";
+    private static final String DISPLAY_INVERSION_ENABLED =
+            Settings.Secure.ACCESSIBILITY_DISPLAY_INVERSION_ENABLED;
     private Context mContext;
     private ColorInversionPreferenceController mController;
-    private SwitchPreference mPreference;
 
     @Before
     public void setUp() {
-        MockitoAnnotations.initMocks(this);
         mContext = RuntimeEnvironment.application;
-        mController = new ColorInversionPreferenceController(mContext, "pref_key");
-        mPreference = new SwitchPreference(mContext);
-        mController.updateState(mPreference);
+        mController = new ColorInversionPreferenceController(mContext, PREF_KEY);
     }
 
     @Test
-    public void getAvailabilityStatus_available() {
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(
-                BasePreferenceController.AVAILABLE);
-    }
-
-    @Test
-    public void isChecked_enabled() {
+    public void getSummary_enabledColorInversion_shouldReturnOnSummary() {
         Settings.Secure.putInt(mContext.getContentResolver(),
-                Settings.Secure.ACCESSIBILITY_DISPLAY_INVERSION_ENABLED, ON);
+                DISPLAY_INVERSION_ENABLED, State.ON);
 
-        mController.updateState(mPreference);
-
-        assertThat(mController.isChecked()).isTrue();
-        assertThat(mPreference.isChecked()).isTrue();
+        assertThat(mController.getSummary().toString().contains(
+                mContext.getText(R.string.accessibility_feature_state_on))).isTrue();
     }
 
     @Test
-    public void isChecked_disabled() {
+    public void getSummary_disabledColorInversion_shouldReturnOffSummary() {
         Settings.Secure.putInt(mContext.getContentResolver(),
-                Settings.Secure.ACCESSIBILITY_DISPLAY_INVERSION_ENABLED, OFF);
+                DISPLAY_INVERSION_ENABLED, State.OFF);
 
-        mController.updateState(mPreference);
-
-        assertThat(mController.isChecked()).isFalse();
-        assertThat(mPreference.isChecked()).isFalse();
+        assertThat(mController.getSummary().toString().contains(
+                mContext.getText(R.string.accessibility_feature_state_off))).isTrue();
     }
 
-    @Test
-    public void setChecked_enabled() {
-        mController.setChecked(true);
-
-        assertThat(Settings.Secure.getInt(mContext.getContentResolver(),
-                Settings.Secure.ACCESSIBILITY_DISPLAY_INVERSION_ENABLED, UNKNOWN)).isEqualTo(ON);
-    }
-
-    @Test
-    public void setChecked_disabled() {
-        mController.setChecked(false);
-
-        assertThat(Settings.Secure.getInt(mContext.getContentResolver(),
-                Settings.Secure.ACCESSIBILITY_DISPLAY_INVERSION_ENABLED, UNKNOWN)).isEqualTo(OFF);
+    @Retention(RetentionPolicy.SOURCE)
+    private @interface State {
+        int OFF = 0;
+        int ON = 1;
     }
 }
diff --git a/tests/robotests/src/com/android/settings/accessibility/DaltonizerPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/DaltonizerPreferenceControllerTest.java
new file mode 100644
index 0000000..1a00cc1
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/accessibility/DaltonizerPreferenceControllerTest.java
@@ -0,0 +1,64 @@
+/*
+ * 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.accessibility;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.content.Context;
+import android.provider.Settings;
+
+import com.android.settings.R;
+
+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 DaltonizerPreferenceControllerTest {
+    private static final String PREF_KEY = "daltonizer_preference";
+    private static final int ON = 1;
+    private static final int OFF = 0;
+
+    private Context mContext;
+    private DaltonizerPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        mContext = RuntimeEnvironment.application;
+        mController = new DaltonizerPreferenceController(mContext, PREF_KEY);
+    }
+
+    @Test
+    public void getSummary_enabledColorCorrection_shouldReturnOnSummary() {
+        Settings.Secure.putInt(mContext.getContentResolver(),
+                Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER_ENABLED, ON);
+
+        assertThat(mController.getSummary().toString().contains(
+                mContext.getText(R.string.accessibility_feature_state_on))).isTrue();
+    }
+
+    @Test
+    public void getSummary_disabledColorCorrection_shouldReturnOffSummary() {
+        Settings.Secure.putInt(mContext.getContentResolver(),
+                Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER_ENABLED, OFF);
+
+        assertThat(mController.getSummary().toString().contains(
+                mContext.getText(R.string.accessibility_feature_state_off))).isTrue();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/accessibility/DaltonizerRadioButtonPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/DaltonizerRadioButtonPreferenceControllerTest.java
new file mode 100644
index 0000000..5ec4bf4
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/accessibility/DaltonizerRadioButtonPreferenceControllerTest.java
@@ -0,0 +1,116 @@
+/*
+ * 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.accessibility;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.atLeastOnce;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.provider.Settings;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settingslib.core.lifecycle.Lifecycle;
+import com.android.settingslib.widget.RadioButtonPreference;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+@RunWith(RobolectricTestRunner.class)
+public class DaltonizerRadioButtonPreferenceControllerTest implements
+        DaltonizerRadioButtonPreferenceController.OnChangeListener {
+    private static final String PREF_KEY = "daltonizer_mode_protanomaly";
+    private static final String PREF_VALUE = "11";
+    private static final String PREF_FAKE_VALUE = "-1";
+
+    private DaltonizerRadioButtonPreferenceController mController;
+
+    @Mock
+    private RadioButtonPreference mMockPref;
+    private Context mContext;
+
+    @Mock
+    private PreferenceScreen mScreen;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mContext = RuntimeEnvironment.application;
+        mController = new DaltonizerRadioButtonPreferenceController(mContext, mock(Lifecycle.class),
+                PREF_KEY);
+        mController.setOnChangeListener(this);
+
+        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mMockPref);
+        when(mMockPref.getKey()).thenReturn(PREF_KEY);
+        mController.displayPreference(mScreen);
+    }
+
+    @Override
+    public void onCheckedChanged(Preference preference) {
+        mController.updateState(preference);
+    }
+
+    @Test
+    public void isAvailable() {
+        assertThat(mController.isAvailable()).isTrue();
+    }
+
+    @Test
+    public void updateState_notChecked() {
+        Settings.Secure.putString(mContext.getContentResolver(),
+                Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER, PREF_FAKE_VALUE);
+
+        mController.updateState(mMockPref);
+
+        // the first checked state is set to false by control
+        verify(mMockPref, atLeastOnce()).setChecked(false);
+        verify(mMockPref, never()).setChecked(true);
+    }
+
+    @Test
+    public void updateState_checked() {
+        Settings.Secure.putString(mContext.getContentResolver(),
+                Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER, PREF_VALUE);
+
+        mController.updateState(mMockPref);
+
+        // the first checked state is set to false by control
+        verify(mMockPref, atLeastOnce()).setChecked(false);
+        verify(mMockPref, atLeastOnce()).setChecked(true);
+    }
+
+    @Test
+    public void onRadioButtonClick_shouldReturnDaltonizerValue() {
+        mController.onRadioButtonClicked(mMockPref);
+        final String accessibilityDaltonizerValue = Settings.Secure.getString(
+                mContext.getContentResolver(),
+                Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER);
+
+        assertThat(accessibilityDaltonizerValue).isEqualTo(PREF_VALUE);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/accessibility/DisableAnimationsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/DisableAnimationsPreferenceControllerTest.java
new file mode 100644
index 0000000..245fb74
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/accessibility/DisableAnimationsPreferenceControllerTest.java
@@ -0,0 +1,103 @@
+/*
+ * 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.accessibility;
+
+import static com.android.settings.accessibility.DisableAnimationsPreferenceController.ANIMATION_OFF_VALUE;
+import static com.android.settings.accessibility.DisableAnimationsPreferenceController.ANIMATION_ON_VALUE;
+import static com.android.settings.accessibility.DisableAnimationsPreferenceController.TOGGLE_ANIMATION_TARGETS;
+
+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 DisableAnimationsPreferenceControllerTest {
+
+    private Context mContext;
+    private SwitchPreference mPreference;
+    private DisableAnimationsPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        mContext = RuntimeEnvironment.application;
+        mPreference = new SwitchPreference(mContext);
+        mController = new DisableAnimationsPreferenceController(mContext, "disable_animation");
+    }
+
+    @Test
+    public void getAvailabilityStatus_shouldReturnAvailable() {
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(
+                BasePreferenceController.AVAILABLE);
+    }
+
+    @Test
+    public void isChecked_enabledAnimation_shouldReturnFalse() {
+        for (String animationPreference : TOGGLE_ANIMATION_TARGETS) {
+            Settings.Global.putString(mContext.getContentResolver(), animationPreference,
+                    ANIMATION_ON_VALUE);
+        }
+
+        mController.updateState(mPreference);
+
+        assertThat(mController.isChecked()).isFalse();
+        assertThat(mPreference.isChecked()).isFalse();
+    }
+
+    @Test
+    public void isChecked_disabledAnimation_shouldReturnTrue() {
+        for (String animationPreference : TOGGLE_ANIMATION_TARGETS) {
+            Settings.Global.putString(mContext.getContentResolver(), animationPreference,
+                    ANIMATION_OFF_VALUE);
+        }
+
+        mController.updateState(mPreference);
+
+        assertThat(mController.isChecked()).isTrue();
+        assertThat(mPreference.isChecked()).isTrue();
+    }
+
+    @Test
+    public void setChecked_disabledAnimation_shouldDisableAnimationTargets() {
+        mController.setChecked(true);
+
+        for (String animationSetting : TOGGLE_ANIMATION_TARGETS) {
+            assertThat(Settings.Global.getString(mContext.getContentResolver(), animationSetting))
+                    .isEqualTo(ANIMATION_OFF_VALUE);
+        }
+    }
+
+    @Test
+    public void setChecked_enabledAnimation_shouldEnableAnimationTargets() {
+        mController.setChecked(false);
+
+        for (String animationSetting : TOGGLE_ANIMATION_TARGETS) {
+            assertThat(Settings.Global.getString(mContext.getContentResolver(), animationSetting))
+                    .isEqualTo(ANIMATION_ON_VALUE);
+        }
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/accessibility/HighTextContrastPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/HighTextContrastPreferenceControllerTest.java
new file mode 100644
index 0000000..6eaf7a7
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/accessibility/HighTextContrastPreferenceControllerTest.java
@@ -0,0 +1,96 @@
+/*
+ * 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.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 HighTextContrastPreferenceControllerTest {
+
+    private static final int ON = 1;
+    private static final int OFF = 0;
+    private static final int UNKNOWN = -1;
+
+    private Context mContext;
+    private SwitchPreference mPreference;
+    private HighTextContrastPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        mContext = RuntimeEnvironment.application;
+        mPreference = new SwitchPreference(mContext);
+        mController = new HighTextContrastPreferenceController(mContext, "text_contrast");
+    }
+
+    @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.ACCESSIBILITY_HIGH_TEXT_CONTRAST_ENABLED, 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.ACCESSIBILITY_HIGH_TEXT_CONTRAST_ENABLED, 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.ACCESSIBILITY_HIGH_TEXT_CONTRAST_ENABLED, UNKNOWN)).isEqualTo(ON);
+
+    }
+
+    @Test
+    public void setChecked_setFalse_shouldDisableTextContrast() {
+        mController.setChecked(false);
+
+        assertThat(Settings.Secure.getInt(mContext.getContentResolver(),
+                Settings.Secure.ACCESSIBILITY_HIGH_TEXT_CONTRAST_ENABLED, UNKNOWN)).isEqualTo(OFF);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/accessibility/HtmlTextPreferenceTest.java b/tests/robotests/src/com/android/settings/accessibility/HtmlTextPreferenceTest.java
new file mode 100644
index 0000000..63c7da1
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/accessibility/HtmlTextPreferenceTest.java
@@ -0,0 +1,73 @@
+/*
+ * 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.accessibility;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.content.Context;
+import android.text.Editable;
+import android.text.Html;
+import android.view.LayoutInflater;
+import android.view.View;
+
+import androidx.preference.PreferenceViewHolder;
+
+import com.android.settings.R;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+import org.xml.sax.XMLReader;
+
+/** Tests for {@link HtmlTextPreference} */
+@RunWith(RobolectricTestRunner.class)
+public final class HtmlTextPreferenceTest {
+
+    private HtmlTextPreference mHtmlTextPreference;
+    private PreferenceViewHolder mPreferenceViewHolder;
+    private String mHandledTag;
+    private final Html.TagHandler mTagHandler = new Html.TagHandler() {
+        @Override
+        public void handleTag(boolean opening, String tag, Editable editable, XMLReader xmlReader) {
+            mHandledTag = tag;
+        }
+    };
+
+    @Before
+    public void setUp() {
+        final Context context = RuntimeEnvironment.application;
+        mHtmlTextPreference = new HtmlTextPreference(context);
+
+        final LayoutInflater inflater = LayoutInflater.from(context);
+        final View view =
+                inflater.inflate(R.layout.preference_static_text, null);
+        mPreferenceViewHolder = PreferenceViewHolder.createInstanceForTests(view);
+    }
+
+    @Test
+    public void testTagHandler() {
+        final String testStr = "<testTag>Real description</testTag>";
+
+        mHtmlTextPreference.setSummary(testStr);
+        mHtmlTextPreference.setTagHandler(mTagHandler);
+        mHtmlTextPreference.onBindViewHolder(mPreferenceViewHolder);
+
+        assertThat(mHandledTag).isEqualTo("testTag");
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/accessibility/LargePointerIconPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/LargePointerIconPreferenceControllerTest.java
new file mode 100644
index 0000000..1f7f5ad
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/accessibility/LargePointerIconPreferenceControllerTest.java
@@ -0,0 +1,96 @@
+/*
+ * 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.accessibility;
+
+import static com.android.settings.accessibility.LargePointerIconPreferenceController.OFF;
+import static com.android.settings.accessibility.LargePointerIconPreferenceController.ON;
+
+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 LargePointerIconPreferenceControllerTest {
+
+    private static final int UNKNOWN = -1;
+
+    private Context mContext;
+    private SwitchPreference mPreference;
+    private LargePointerIconPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        mContext = RuntimeEnvironment.application;
+        mPreference = new SwitchPreference(mContext);
+        mController = new LargePointerIconPreferenceController(mContext, "large_pointer");
+    }
+
+    @Test
+    public void getAvailabilityStatus_shouldReturnAvailable() {
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(
+                BasePreferenceController.AVAILABLE);
+    }
+
+    @Test
+    public void isChecked_enabledLargePointer_shouldReturnTrue() {
+        Settings.Secure.putInt(mContext.getContentResolver(),
+                Settings.Secure.ACCESSIBILITY_LARGE_POINTER_ICON, ON);
+
+        mController.updateState(mPreference);
+
+        assertThat(mController.isChecked()).isTrue();
+        assertThat(mPreference.isChecked()).isTrue();
+    }
+
+    @Test
+    public void isChecked_disabledLargePointer_shouldReturnFalse() {
+        Settings.Secure.putInt(mContext.getContentResolver(),
+                Settings.Secure.ACCESSIBILITY_LARGE_POINTER_ICON, OFF);
+
+        mController.updateState(mPreference);
+
+        assertThat(mController.isChecked()).isFalse();
+        assertThat(mPreference.isChecked()).isFalse();
+    }
+
+    @Test
+    public void setChecked_enabled_shouldEnableLargePointer() {
+        mController.setChecked(true);
+
+        assertThat(Settings.Secure.getInt(mContext.getContentResolver(),
+                Settings.Secure.ACCESSIBILITY_LARGE_POINTER_ICON, UNKNOWN)).isEqualTo(ON);
+    }
+
+    @Test
+    public void setChecked_disabled_shouldDisableLargePointer() {
+        mController.setChecked(false);
+
+        assertThat(Settings.Secure.getInt(mContext.getContentResolver(),
+                Settings.Secure.ACCESSIBILITY_LARGE_POINTER_ICON, UNKNOWN)).isEqualTo(OFF);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/accessibility/LockScreenRotationPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/LockScreenRotationPreferenceControllerTest.java
new file mode 100644
index 0000000..ef8f569
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/accessibility/LockScreenRotationPreferenceControllerTest.java
@@ -0,0 +1,107 @@
+/*
+ * 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.accessibility;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.content.Context;
+import android.os.UserHandle;
+import android.provider.Settings;
+
+import androidx.preference.SwitchPreference;
+
+import com.android.internal.view.RotationPolicy;
+import com.android.settings.core.BasePreferenceController;
+import com.android.settings.testutils.shadow.ShadowRotationPolicy;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
+
+@RunWith(RobolectricTestRunner.class)
+public class LockScreenRotationPreferenceControllerTest {
+
+    private Context mContext;
+    private SwitchPreference mPreference;
+    private LockScreenRotationPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        mContext = RuntimeEnvironment.application;
+        mPreference = new SwitchPreference(mContext);
+        mController = new LockScreenRotationPreferenceController(mContext, "lock_screen");
+    }
+
+    @Test
+    @Config(shadows = {ShadowRotationPolicy.class})
+    public void getAvailabilityStatus_supportedRotation_shouldReturnAvailable() {
+        ShadowRotationPolicy.setRotationSupported(true /* supported */);
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(
+                BasePreferenceController.AVAILABLE);
+    }
+
+    @Test
+    @Config(shadows = {ShadowRotationPolicy.class})
+    public void getAvailabilityStatus_unsupportedRotation_shouldReturnUnsupportedOnDevice() {
+        ShadowRotationPolicy.setRotationSupported(false /* supported */);
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(
+                BasePreferenceController.UNSUPPORTED_ON_DEVICE);
+    }
+
+    @Test
+    @Config(shadows = {ShadowRotationPolicy.class})
+    public void setChecked_enabled() {
+        mController.setChecked(true /* isChecked */);
+
+        assertThat(mController.isChecked()).isTrue();
+        assertThat(RotationPolicy.isRotationLocked(mContext)).isFalse();
+    }
+
+    @Test
+    @Config(shadows = {ShadowRotationPolicy.class})
+    public void setChecked_disabled() {
+        mController.setChecked(false /* isChecked */);
+
+        assertThat(mController.isChecked()).isFalse();
+        assertThat(RotationPolicy.isRotationLocked(mContext)).isTrue();
+    }
+
+    @Test
+    public void updateState_settingIsOn_shouldTurnOnToggle() {
+        Settings.System.putIntForUser(mContext.getContentResolver(),
+                Settings.System.ACCELEROMETER_ROTATION, 1, UserHandle.USER_CURRENT);
+
+        mController.updateState(mPreference);
+
+        assertThat(mPreference.isChecked()).isTrue();
+    }
+
+    @Test
+    public void updateState_settingIsOff_shouldTurnOffToggle() {
+        Settings.System.putIntForUser(mContext.getContentResolver(),
+                Settings.System.ACCELEROMETER_ROTATION, 0, UserHandle.USER_CURRENT);
+
+        mController.updateState(mPreference);
+
+        assertThat(mPreference.isChecked()).isFalse();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/accessibility/MagnificationEnablePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/MagnificationEnablePreferenceControllerTest.java
new file mode 100644
index 0000000..a34e04a
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/accessibility/MagnificationEnablePreferenceControllerTest.java
@@ -0,0 +1,93 @@
+/*
+ * 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.os.UserHandle;
+import android.provider.Settings;
+
+import androidx.preference.SwitchPreference;
+
+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 MagnificationEnablePreferenceControllerTest {
+    private static final String PREF_KEY = "screen_magnification_enable";
+    private static final String KEY_ENABLE = Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE;
+    private static final int UNKNOWN = -1;
+    private Context mContext;
+    private SwitchPreference mPreference;
+    private MagnificationEnablePreferenceController mController;
+
+    @Before
+    public void setUp() {
+        mContext = RuntimeEnvironment.application;
+        mPreference = new SwitchPreference(mContext);
+        mController = new MagnificationEnablePreferenceController(mContext, PREF_KEY);
+    }
+
+    @Test
+    public void isChecked_enabledFullscreenMagnificationMode_shouldReturnTrue() {
+        Settings.Secure.putIntForUser(mContext.getContentResolver(),
+                KEY_ENABLE, Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN,
+                UserHandle.USER_CURRENT);
+
+        mController.updateState(mPreference);
+
+        assertThat(mController.isChecked()).isTrue();
+        assertThat(mPreference.isChecked()).isTrue();
+    }
+
+    @Test
+    public void isChecked_enabledWindowMagnificationMode_shouldReturnFalse() {
+        Settings.Secure.putIntForUser(mContext.getContentResolver(),
+                KEY_ENABLE, Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW,
+                UserHandle.USER_CURRENT);
+
+        mController.updateState(mPreference);
+
+        assertThat(mController.isChecked()).isFalse();
+        assertThat(mPreference.isChecked()).isFalse();
+    }
+
+
+    @Test
+    public void setChecked_setTrue_shouldEnableFullscreenMagnificationMode() {
+        mController.setChecked(true);
+
+        assertThat(Settings.Secure.getIntForUser(mContext.getContentResolver(),
+                KEY_ENABLE, UNKNOWN,
+                UserHandle.USER_CURRENT)).isEqualTo(
+                Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN);
+    }
+
+    @Test
+    public void setChecked_setFalse_shouldEnableWindowMagnificationMode() {
+        mController.setChecked(false);
+
+        assertThat(Settings.Secure.getIntForUser(mContext.getContentResolver(),
+                KEY_ENABLE, UNKNOWN,
+                UserHandle.USER_CURRENT)).isEqualTo(
+                Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/accessibility/MagnificationGesturesPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/MagnificationGesturesPreferenceControllerTest.java
index c6bf343..c7d70e0 100644
--- a/tests/robotests/src/com/android/settings/accessibility/MagnificationGesturesPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/MagnificationGesturesPreferenceControllerTest.java
@@ -130,4 +130,9 @@
                 new MagnificationGesturesPreferenceController(mContext, "bad_key");
         assertThat(controller.isSliceable()).isFalse();
     }
+
+    @Test
+    public void isPublicSlice_returnTrue() {
+        assertThat(mController.isPublicSlice()).isTrue();
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/accessibility/MagnificationModePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/MagnificationModePreferenceControllerTest.java
new file mode 100644
index 0000000..5162bc2
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/accessibility/MagnificationModePreferenceControllerTest.java
@@ -0,0 +1,68 @@
+/*
+ * 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.accessibility;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.content.Context;
+import android.provider.Settings;
+
+import com.android.settings.R;
+
+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 MagnificationModePreferenceControllerTest {
+    private static final String PREF_KEY = "screen_magnification_mode";
+    // TODO(b/146019459): Use magnification_capability.
+    private static final String KEY_CAPABILITY = Settings.System.MASTER_MONO;
+    private static final int WINDOW_SCREEN_VALUE = 2;
+    private static final int ALL_VALUE = 3;
+
+    private Context mContext;
+    private MagnificationModePreferenceController mController;
+
+    @Before
+    public void setUp() {
+        mContext = RuntimeEnvironment.application;
+        mController = new MagnificationModePreferenceController(mContext, PREF_KEY);
+    }
+
+    @Test
+    public void getSummary_saveWindowScreen_shouldReturnWindowScreenSummary() {
+        Settings.Secure.putInt(mContext.getContentResolver(),
+                KEY_CAPABILITY, WINDOW_SCREEN_VALUE);
+
+        assertThat(mController.getSummary())
+                .isEqualTo(mContext.getString(
+                        R.string.accessibility_magnification_area_settings_window_screen_summary));
+    }
+
+    @Test
+    public void getSummary_saveAll_shouldReturnAllSummary() {
+        Settings.Secure.putInt(mContext.getContentResolver(),
+                KEY_CAPABILITY, ALL_VALUE);
+
+        assertThat(mController.getSummary())
+                .isEqualTo(mContext.getString(
+                        R.string.accessibility_magnification_area_settings_all_summary));
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/accessibility/MagnificationNavbarPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/MagnificationNavbarPreferenceControllerTest.java
index 08b53b2..83fe496 100644
--- a/tests/robotests/src/com/android/settings/accessibility/MagnificationNavbarPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/MagnificationNavbarPreferenceControllerTest.java
@@ -174,4 +174,9 @@
                 new MagnificationNavbarPreferenceController(mContext, "bad_key");
         assertThat(controller.isSliceable()).isFalse();
     }
+
+    @Test
+    public void isPublicSlice_returnTrue() {
+        assertThat(mController.isPublicSlice()).isTrue();
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/accessibility/MagnificationPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/MagnificationPreferenceControllerTest.java
new file mode 100644
index 0000000..d462c2a
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/accessibility/MagnificationPreferenceControllerTest.java
@@ -0,0 +1,48 @@
+/*
+ * 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.accessibility;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.content.Context;
+
+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 MagnificationPreferenceControllerTest {
+
+    private Context mContext;
+    private MagnificationPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        mContext = RuntimeEnvironment.application;
+        mController = new MagnificationPreferenceController(mContext, "magnification");
+    }
+
+    @Test
+    public void getAvailabilityStatus_shouldReturnAvailable() {
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(
+                BasePreferenceController.AVAILABLE);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/accessibility/MasterMonoPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/MasterMonoPreferenceControllerTest.java
new file mode 100644
index 0000000..ee54b88
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/accessibility/MasterMonoPreferenceControllerTest.java
@@ -0,0 +1,96 @@
+/*
+ * 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.accessibility;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.content.Context;
+import android.os.UserHandle;
+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 MasterMonoPreferenceControllerTest {
+
+    private static final int ON = 1;
+    private static final int OFF = 0;
+    private static final int UNKNOWN = -1;
+
+    private Context mContext;
+    private SwitchPreference mPreference;
+    private MasterMonoPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        mContext = RuntimeEnvironment.application;
+        mPreference = new SwitchPreference(mContext);
+        mController = new MasterMonoPreferenceController(mContext, "master_mono");
+    }
+
+    @Test
+    public void getAvailabilityStatus_byDefault_shouldReturnAvailable() {
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(
+                BasePreferenceController.AVAILABLE);
+    }
+
+    @Test
+    public void isChecked_enabledMonoAudio_shouldReturnTrue() {
+        Settings.System.putIntForUser(mContext.getContentResolver(),
+                Settings.System.MASTER_MONO, ON, UserHandle.USER_CURRENT);
+
+        mController.updateState(mPreference);
+
+        assertThat(mController.isChecked()).isTrue();
+        assertThat(mPreference.isChecked()).isTrue();
+    }
+
+    @Test
+    public void isChecked_disabledMonoAudio_shouldReturnFalse() {
+        Settings.System.putIntForUser(mContext.getContentResolver(),
+                Settings.System.MASTER_MONO, OFF, UserHandle.USER_CURRENT);
+
+        mController.updateState(mPreference);
+
+        assertThat(mController.isChecked()).isFalse();
+        assertThat(mPreference.isChecked()).isFalse();
+    }
+
+    @Test
+    public void setChecked_setTrue_shouldEnableMonoAudio() {
+        mController.setChecked(true);
+
+        assertThat(Settings.System.getIntForUser(mContext.getContentResolver(),
+                Settings.System.MASTER_MONO, UNKNOWN, UserHandle.USER_CURRENT)).isEqualTo(ON);
+    }
+
+    @Test
+    public void setChecked_setFalse_shouldDisableMonoAudio() {
+        mController.setChecked(false);
+
+        assertThat(Settings.System.getIntForUser(mContext.getContentResolver(),
+                Settings.System.MASTER_MONO, UNKNOWN, UserHandle.USER_CURRENT)).isEqualTo(OFF);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/accessibility/PaletteListViewTest.java b/tests/robotests/src/com/android/settings/accessibility/PaletteListViewTest.java
new file mode 100644
index 0000000..13e76d7
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/accessibility/PaletteListViewTest.java
@@ -0,0 +1,65 @@
+/*
+ * 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 androidx.test.core.app.ApplicationProvider;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+
+/** Tests for {@link PaletteListView} */
+@RunWith(RobolectricTestRunner.class)
+public class PaletteListViewTest {
+
+    private final Context mContext = ApplicationProvider.getApplicationContext();
+    private PaletteListView mPaletteListView;
+
+    @Before
+    public void setUp() {
+        mPaletteListView = new PaletteListView(mContext);
+    }
+
+    @Test
+    public void setColors_applySameLengthArray_configureSuccessful() {
+        final String[] colorName = {"White", "Black", "Yellow"};
+        final String[] colorCode = {"#ffffff", "#000000", "#f9ab00"};
+
+        assertThat(mPaletteListView.setPaletteListColors(colorName, colorCode)).isTrue();
+    }
+
+    @Test
+    public void setColors_applyDifferentLengthArray_configureSuccessful() {
+        final String[] colorName = {"White", "Black", "Yellow", "Orange", "Red"};
+        final String[] colorCode = {"#ffffff", "#000000", "#f9ab00"};
+
+        assertThat(mPaletteListView.setPaletteListColors(colorName, colorCode)).isTrue();
+    }
+
+    @Test
+    public void setColors_configureFailed() {
+        final String[] colorName = null;
+        final String[] colorCode = null;
+
+        assertThat(mPaletteListView.setPaletteListColors(colorName, colorCode)).isFalse();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/accessibility/PowerButtonEndsCallPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/PowerButtonEndsCallPreferenceControllerTest.java
new file mode 100644
index 0000000..3258cbd
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/accessibility/PowerButtonEndsCallPreferenceControllerTest.java
@@ -0,0 +1,129 @@
+/*
+ * 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.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 com.android.settings.testutils.shadow.ShadowKeyCharacterMap;
+import com.android.settings.testutils.shadow.ShadowUtils;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(shadows = {ShadowUtils.class, ShadowKeyCharacterMap.class})
+public class PowerButtonEndsCallPreferenceControllerTest {
+
+    private static final int UNKNOWN = -1;
+
+    private Context mContext;
+    private SwitchPreference mPreference;
+    private PowerButtonEndsCallPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        mContext = RuntimeEnvironment.application;
+        mPreference = new SwitchPreference(mContext);
+        mController = new PowerButtonEndsCallPreferenceController(mContext, "power_button");
+    }
+
+    @After
+    public void tearDown() {
+        ShadowUtils.reset();
+        ShadowKeyCharacterMap.reset();
+    }
+
+    @Test
+    public void getAvailabilityStatus_hasPowerKeyAndVoiceCapable_shouldReturnAvailable() {
+        ShadowKeyCharacterMap.setDevicehasKey(true);
+        ShadowUtils.setIsVoiceCapable(true);
+
+        assertThat(mController.getAvailabilityStatus())
+                .isEqualTo(BasePreferenceController.AVAILABLE);
+    }
+
+    @Test
+    public void getAvailabilityStatus_noVoiceCapable_shouldReturnUnsupportedOnDevice() {
+        ShadowKeyCharacterMap.setDevicehasKey(true);
+        ShadowUtils.setIsVoiceCapable(false);
+
+        assertThat(mController.getAvailabilityStatus())
+                .isEqualTo(BasePreferenceController.UNSUPPORTED_ON_DEVICE);
+    }
+
+    @Test
+    public void getAvailabilityStatus_noPowerKey_shouldReturnUnsupportedOnDevice() {
+        ShadowKeyCharacterMap.setDevicehasKey(false);
+        ShadowUtils.setIsVoiceCapable(true);
+
+        assertThat(mController.getAvailabilityStatus())
+                .isEqualTo(BasePreferenceController.UNSUPPORTED_ON_DEVICE);
+    }
+
+    @Test
+    public void isChecked_enabledHangUp_shouldReturnTrue() {
+        Settings.Secure.putInt(mContext.getContentResolver(),
+                Settings.Secure.INCALL_POWER_BUTTON_BEHAVIOR,
+                Settings.Secure.INCALL_POWER_BUTTON_BEHAVIOR_HANGUP);
+
+        mController.updateState(mPreference);
+
+        assertThat(mController.isChecked()).isTrue();
+        assertThat(mPreference.isChecked()).isTrue();
+    }
+
+    @Test
+    public void isChecked_disabledHangUp_shouldReturnFalse() {
+        Settings.Secure.putInt(mContext.getContentResolver(),
+                Settings.Secure.INCALL_POWER_BUTTON_BEHAVIOR,
+                Settings.Secure.INCALL_POWER_BUTTON_BEHAVIOR_SCREEN_OFF);
+
+        mController.updateState(mPreference);
+
+        assertThat(mController.isChecked()).isFalse();
+        assertThat(mPreference.isChecked()).isFalse();
+    }
+
+    @Test
+    public void setChecked_enabled_shouldEnableHangUp() {
+        mController.setChecked(true);
+
+        assertThat(Settings.Secure.getInt(mContext.getContentResolver(),
+                Settings.Secure.INCALL_POWER_BUTTON_BEHAVIOR, UNKNOWN))
+                .isEqualTo(Settings.Secure.INCALL_POWER_BUTTON_BEHAVIOR_HANGUP);
+    }
+
+    @Test
+    public void setChecked_disabled_shouldDisableHangUp() {
+        mController.setChecked(false);
+
+        assertThat(Settings.Secure.getInt(mContext.getContentResolver(),
+                Settings.Secure.INCALL_POWER_BUTTON_BEHAVIOR, UNKNOWN))
+                .isEqualTo(Settings.Secure.INCALL_POWER_BUTTON_BEHAVIOR_SCREEN_OFF);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/accessibility/RingVibrationPreferenceFragmentTest.java b/tests/robotests/src/com/android/settings/accessibility/RingVibrationPreferenceFragmentTest.java
index d23d2f0..cd1d17e 100644
--- a/tests/robotests/src/com/android/settings/accessibility/RingVibrationPreferenceFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/RingVibrationPreferenceFragmentTest.java
@@ -20,10 +20,8 @@
 
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.when;
 
 import android.content.Context;
-import android.provider.DeviceConfig;
 import android.provider.Settings;
 
 import com.android.settings.testutils.shadow.ShadowDeviceConfig;
@@ -54,8 +52,6 @@
         // Turn on both flags to enable ramping ringer.
         Settings.Global.putInt(
                 mContext.getContentResolver(), Settings.Global.APPLY_RAMPING_RINGER, 1 /* ON */);
-        DeviceConfig.setProperty(DeviceConfig.NAMESPACE_TELEPHONY,
-                AccessibilitySettings.RAMPING_RINGER_ENABLED, "true", false /* makeDefault*/);
         assertThat(mFragment.getVibrationEnabledSetting()).isEqualTo(
             Settings.Global.APPLY_RAMPING_RINGER);
     }
diff --git a/tests/robotests/src/com/android/settings/accessibility/SelectLongPressTimeoutPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/SelectLongPressTimeoutPreferenceControllerTest.java
new file mode 100644
index 0000000..1bdfb41
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/accessibility/SelectLongPressTimeoutPreferenceControllerTest.java
@@ -0,0 +1,78 @@
+/*
+ * 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.accessibility;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.content.Context;
+import android.provider.Settings;
+
+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 SelectLongPressTimeoutPreferenceControllerTest {
+    private static final int VALID_VALUE = 1500;
+    private static final int INVALID_VALUE = 0;
+    private static final int DEFAULT_VALUE = 400;
+
+    private Context mContext;
+    private SelectLongPressTimeoutPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        mContext = RuntimeEnvironment.application;
+        mController = new SelectLongPressTimeoutPreferenceController(mContext, "press_timeout");
+    }
+
+    @Test
+    public void getAvailabilityStatus_byDefault_shouldReturnAvailable() {
+        assertThat(mController.getAvailabilityStatus())
+                .isEqualTo(BasePreferenceController.AVAILABLE);
+    }
+
+    @Test
+    public void getSummary_byDefault_shouldReturnShort() {
+        Settings.Secure.putInt(mContext.getContentResolver(),
+                Settings.Secure.LONG_PRESS_TIMEOUT, DEFAULT_VALUE);
+        final String expected = "Short";
+
+        assertThat(mController.getSummary()).isEqualTo(expected);
+    }
+
+    @Test
+    public void getSummary_validValue_shouldReturnLong() {
+        Settings.Secure.putInt(mContext.getContentResolver(),
+                Settings.Secure.LONG_PRESS_TIMEOUT, VALID_VALUE);
+        final String expected = "Long";
+
+        assertThat(mController.getSummary()).isEqualTo(expected);
+    }
+
+    @Test
+    public void getSummary_invalidValue_shouldReturnNull() {
+        Settings.Secure.putInt(mContext.getContentResolver(),
+                Settings.Secure.LONG_PRESS_TIMEOUT, INVALID_VALUE);
+
+        assertThat(mController.getSummary()).isNull();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/accessibility/ShortcutPreferenceTest.java b/tests/robotests/src/com/android/settings/accessibility/ShortcutPreferenceTest.java
new file mode 100644
index 0000000..714ef9a
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/accessibility/ShortcutPreferenceTest.java
@@ -0,0 +1,98 @@
+/*
+ * 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.accessibility;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+
+import androidx.preference.PreferenceViewHolder;
+
+import com.android.settings.R;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+/** Tests for {@link ShortcutPreference} */
+@RunWith(RobolectricTestRunner.class)
+public class ShortcutPreferenceTest {
+
+    private static final String TOGGLE_CLICKED = "toggle_clicked";
+    private static final String SETTINGS_CLICKED = "settings_clicked";
+
+    private ShortcutPreference mShortcutPreference;
+    private PreferenceViewHolder mPreferenceViewHolder;
+    private String mResult;
+
+    private ShortcutPreference.OnClickCallback mListener =
+            new ShortcutPreference.OnClickCallback() {
+                @Override
+                public void onToggleClicked(ShortcutPreference preference) {
+                    mResult = TOGGLE_CLICKED;
+                }
+
+                @Override
+                public void onSettingsClicked(ShortcutPreference preference) {
+                    mResult = SETTINGS_CLICKED;
+                }
+            };
+
+    @Before
+    public void setUp() {
+        final Context context = RuntimeEnvironment.application;
+        mShortcutPreference = new ShortcutPreference(context, null);
+
+        final LayoutInflater inflater = LayoutInflater.from(context);
+        final View view =
+                inflater.inflate(R.layout.accessibility_shortcut_secondary_action, null);
+        mPreferenceViewHolder = PreferenceViewHolder.createInstanceForTests(view);
+    }
+
+    @Test
+    public void clickToggle_toggleClicked() {
+        mShortcutPreference.onBindViewHolder(mPreferenceViewHolder);
+        mShortcutPreference.setOnClickCallback(mListener);
+
+        mPreferenceViewHolder.itemView.performClick();
+
+        assertThat(mResult).isEqualTo(TOGGLE_CLICKED);
+        assertThat(mShortcutPreference.isChecked()).isTrue();
+    }
+
+    @Test
+    public void clickSettings_settingsClicked() {
+        mShortcutPreference.onBindViewHolder(mPreferenceViewHolder);
+        mShortcutPreference.setOnClickCallback(mListener);
+
+        final View settings = mPreferenceViewHolder.itemView.findViewById(R.id.main_frame);
+        settings.performClick();
+
+        assertThat(mResult).isEqualTo(SETTINGS_CLICKED);
+    }
+
+    @Test
+    public void setCheckedTrue_getToggleIsTrue() {
+        mShortcutPreference.setChecked(true);
+
+        assertThat(mShortcutPreference.isChecked()).isEqualTo(true);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/accessibility/ShortcutServicePickerFragmentTest.java b/tests/robotests/src/com/android/settings/accessibility/ShortcutServicePickerFragmentTest.java
deleted file mode 100644
index 3ae0e75..0000000
--- a/tests/robotests/src/com/android/settings/accessibility/ShortcutServicePickerFragmentTest.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.accessibility;
-
-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.app.Activity;
-import android.content.Context;
-import android.os.UserManager;
-
-import com.android.settings.testutils.FakeFeatureFactory;
-
-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.RuntimeEnvironment;
-
-@RunWith(RobolectricTestRunner.class)
-public class ShortcutServicePickerFragmentTest {
-
-    private static final String TEST_SERVICE_KEY_1 = "abc/123";
-
-    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
-    private Activity mActivity;
-    @Mock
-    private UserManager mUserManager;
-
-    private ShortcutServicePickerFragment mFragment;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        FakeFeatureFactory.setupForTest();
-        when(mActivity.getSystemService(Context.USER_SERVICE)).thenReturn(mUserManager);
-
-        mFragment = spy(new ShortcutServicePickerFragment());
-        mFragment.onAttach(mActivity);
-
-        doReturn(RuntimeEnvironment.application).when(mFragment).getContext();
-    }
-
-    @Test
-    public void setAndGetDefaultAppKey_shouldUpdateDefaultAppKey() {
-        assertThat(mFragment.setDefaultKey(TEST_SERVICE_KEY_1)).isTrue();
-        assertThat(mFragment.getDefaultKey()).isEqualTo(TEST_SERVICE_KEY_1);
-    }
-}
-
diff --git a/tests/robotests/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragmentTest.java b/tests/robotests/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragmentTest.java
index c9ca772..e476c21 100644
--- a/tests/robotests/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragmentTest.java
@@ -16,6 +16,8 @@
 
 package com.android.settings.accessibility;
 
+import static com.google.common.truth.Truth.assertThat;
+
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
@@ -29,23 +31,87 @@
 import androidx.fragment.app.FragmentActivity;
 
 import com.android.settings.R;
-import com.android.settings.widget.SwitchBar;
+import com.android.settings.accessibility.ToggleFeaturePreferenceFragment.AccessibilityUserShortcutType;
 
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.shadows.androidx.fragment.FragmentController;
 
+import java.util.HashSet;
+import java.util.Set;
+import java.util.stream.Collectors;
+
 @RunWith(RobolectricTestRunner.class)
 public class ToggleFeaturePreferenceFragmentTest {
 
     private ToggleFeaturePreferenceFragmentTestable mFragment;
 
+    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;
+
+    @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() {
         mFragment = spy(new ToggleFeaturePreferenceFragmentTestable());
-        FragmentController.setupFragment(mFragment, FragmentActivity.class, 0 /* containerViewId*/,
-                null /* bundle */);
+        FragmentController.setupFragment(mFragment, FragmentActivity.class,
+                /* containerViewId= */ 0, /* bundle= */null);
 
         // execute exactly once
         verify(mFragment).addPreferencesFromResource(R.xml.placeholder_prefs);
@@ -83,11 +149,5 @@
         public void onViewCreated(View view, Bundle savedInstanceState) {
             // do nothing
         }
-
-        @Override
-        public void onActivityCreated(Bundle savedInstanceState) {
-            mSwitchBar = mock(SwitchBar.class);
-            super.onActivityCreated(savedInstanceState);
-        }
     }
 }
diff --git a/tests/robotests/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragmentTest.java b/tests/robotests/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragmentTest.java
new file mode 100644
index 0000000..6cf9ad6
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragmentTest.java
@@ -0,0 +1,141 @@
+/*
+ * 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.android.settings.accessibility.AccessibilityUtil.State.OFF;
+import static com.android.settings.accessibility.AccessibilityUtil.State.ON;
+import static com.android.settings.accessibility.AccessibilityUtil.UserShortcutType;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.content.ComponentName;
+import android.content.Context;
+import android.provider.Settings;
+
+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 ToggleScreenMagnificationPreferenceFragmentTest {
+
+    private static final String DUMMY_PACKAGE_NAME = "com.dummy.example";
+    private static final String DUMMY_CLASS_NAME = DUMMY_PACKAGE_NAME + ".dummy_a11y_service";
+    private static final ComponentName DUMMY_COMPONENT_NAME = new ComponentName(DUMMY_PACKAGE_NAME,
+            DUMMY_CLASS_NAME);
+    private static final String SOFTWARE_SHORTCUT_KEY =
+            Settings.Secure.ACCESSIBILITY_BUTTON_TARGET_COMPONENT;
+    private static final String HARDWARE_SHORTCUT_KEY =
+            Settings.Secure.ACCESSIBILITY_SHORTCUT_TARGET_SERVICE;
+    private static final String TRIPLETAP_SHORTCUT_KEY =
+            Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED;
+    private static final String MAGNIFICATION_CONTROLLER_NAME =
+            "com.android.server.accessibility.MagnificationController";
+
+    private Context mContext;
+
+    @Before
+    public void setUp() {
+        mContext = RuntimeEnvironment.application;
+    }
+
+    @Test
+    public void hasValueInSettings_putValue_hasValue() {
+        setMagnificationTripleTapEnabled(/* enabled= */ true);
+
+        assertThat(ToggleScreenMagnificationPreferenceFragment.hasMagnificationValuesInSettings(
+                mContext, UserShortcutType.TRIPLETAP)).isTrue();
+    }
+
+    @Test
+    public void optInAllValuesToSettings_optInValue_haveMatchString() {
+        int shortcutTypes = UserShortcutType.SOFTWARE | UserShortcutType.TRIPLETAP;
+
+        ToggleScreenMagnificationPreferenceFragment.optInAllMagnificationValuesToSettings(mContext,
+                shortcutTypes);
+
+        assertThat(getStringFromSettings(SOFTWARE_SHORTCUT_KEY)).isEqualTo(
+                MAGNIFICATION_CONTROLLER_NAME);
+        assertThat(getMagnificationTripleTapStatus()).isTrue();
+
+    }
+
+    @Test
+    public void optInAllValuesToSettings_existOtherValue_optInValue_haveMatchString() {
+        putStringIntoSettings(SOFTWARE_SHORTCUT_KEY, DUMMY_COMPONENT_NAME.flattenToString());
+
+        ToggleScreenMagnificationPreferenceFragment.optInAllMagnificationValuesToSettings(mContext,
+                UserShortcutType.SOFTWARE);
+
+        assertThat(getStringFromSettings(SOFTWARE_SHORTCUT_KEY)).isEqualTo(
+                DUMMY_COMPONENT_NAME.flattenToString() + ":" + MAGNIFICATION_CONTROLLER_NAME);
+
+    }
+
+    @Test
+    public void optOutAllValuesToSettings_optOutValue_emptyString() {
+        putStringIntoSettings(SOFTWARE_SHORTCUT_KEY, MAGNIFICATION_CONTROLLER_NAME);
+        putStringIntoSettings(HARDWARE_SHORTCUT_KEY, MAGNIFICATION_CONTROLLER_NAME);
+        setMagnificationTripleTapEnabled(/* enabled= */ true);
+        int shortcutTypes =
+                UserShortcutType.SOFTWARE | UserShortcutType.HARDWARE | UserShortcutType.TRIPLETAP;
+
+        ToggleScreenMagnificationPreferenceFragment.optOutAllMagnificationValuesFromSettings(
+                mContext, shortcutTypes);
+
+        assertThat(getStringFromSettings(SOFTWARE_SHORTCUT_KEY)).isEmpty();
+        assertThat(getStringFromSettings(HARDWARE_SHORTCUT_KEY)).isEmpty();
+        assertThat(getMagnificationTripleTapStatus()).isFalse();
+    }
+
+    @Test
+    public void optOutValueFromSettings_existOtherValue_optOutValue_haveMatchString() {
+        putStringIntoSettings(SOFTWARE_SHORTCUT_KEY,
+                DUMMY_COMPONENT_NAME.flattenToString() + ":" + MAGNIFICATION_CONTROLLER_NAME);
+        putStringIntoSettings(HARDWARE_SHORTCUT_KEY,
+                DUMMY_COMPONENT_NAME.flattenToString() + ":" + MAGNIFICATION_CONTROLLER_NAME);
+        int shortcutTypes = UserShortcutType.SOFTWARE | UserShortcutType.HARDWARE;
+
+        ToggleScreenMagnificationPreferenceFragment.optOutAllMagnificationValuesFromSettings(
+                mContext, shortcutTypes);
+
+        assertThat(getStringFromSettings(SOFTWARE_SHORTCUT_KEY)).isEqualTo(
+                DUMMY_COMPONENT_NAME.flattenToString());
+        assertThat(getStringFromSettings(HARDWARE_SHORTCUT_KEY)).isEqualTo(
+                DUMMY_COMPONENT_NAME.flattenToString());
+    }
+
+    private void putStringIntoSettings(String key, String componentName) {
+        Settings.Secure.putString(mContext.getContentResolver(), key, componentName);
+    }
+
+    private void setMagnificationTripleTapEnabled(boolean enabled) {
+        Settings.Secure.putInt(mContext.getContentResolver(),
+                Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED, enabled ? ON : OFF);
+    }
+
+    private String getStringFromSettings(String key) {
+        return Settings.Secure.getString(mContext.getContentResolver(), key);
+    }
+
+    private boolean getMagnificationTripleTapStatus() {
+        return Settings.Secure.getInt(mContext.getContentResolver(),
+                Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED, OFF) == ON;
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/accessibility/TopLevelAccessibilityPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/TopLevelAccessibilityPreferenceControllerTest.java
index 809d8b4..3acc02c 100644
--- a/tests/robotests/src/com/android/settings/accessibility/TopLevelAccessibilityPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/TopLevelAccessibilityPreferenceControllerTest.java
@@ -16,23 +16,19 @@
 
 package com.android.settings.accessibility;
 
-import static com.android.settings.core.BasePreferenceController.AVAILABLE_UNSEARCHABLE;
+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 android.content.Context;
 
-import com.android.settings.R;
-
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
-import org.robolectric.annotation.Implementation;
-import org.robolectric.annotation.Implements;
 
 @RunWith(RobolectricTestRunner.class)
 public class TopLevelAccessibilityPreferenceControllerTest {
@@ -48,7 +44,7 @@
 
     @Test
     public void getAvailibilityStatus_availableByDefault() {
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE_UNSEARCHABLE);
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/accessibility/VibrationPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/VibrationPreferenceControllerTest.java
new file mode 100644
index 0000000..e4d0f45
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/accessibility/VibrationPreferenceControllerTest.java
@@ -0,0 +1,87 @@
+/*
+ * 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.accessibility;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.content.Context;
+import android.os.Vibrator;
+import android.provider.Settings;
+
+import com.android.settings.R;
+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 VibrationPreferenceControllerTest {
+
+    private static final String VIBRATION_ON = "On";
+    private static final String VIBRATION_OFF = "Off";
+
+    private Context mContext;
+    private VibrationPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        mContext = RuntimeEnvironment.application;
+        mController = new VibrationPreferenceController(mContext, "vibration_pref");
+    }
+
+    @Test
+    public void getAvailabilityStatus_byDefault_shouldReturnAvailable() {
+        assertThat(mController.getAvailabilityStatus())
+                .isEqualTo(BasePreferenceController.AVAILABLE);
+    }
+
+    @Test
+    public void getSummary_disabledVibration_shouldReturnOffSummary() {
+        Settings.System.putInt(mContext.getContentResolver(),
+                Settings.System.RING_VIBRATION_INTENSITY, Vibrator.VIBRATION_INTENSITY_OFF);
+        Settings.System.putInt(mContext.getContentResolver(),
+                Settings.System.NOTIFICATION_VIBRATION_INTENSITY, Vibrator.VIBRATION_INTENSITY_OFF);
+        Settings.System.putInt(mContext.getContentResolver(),
+                Settings.System.HAPTIC_FEEDBACK_INTENSITY, Vibrator.VIBRATION_INTENSITY_OFF);
+        final String expectedResult = mContext.getString(R.string.switch_off_text);
+
+        assertThat(mController.getSummary()).isEqualTo(expectedResult);
+    }
+
+    @Test
+    public void getSummary_enabledSomeVibration_shouldReturnVibrationOnSummary() {
+        Settings.System.putInt(mContext.getContentResolver(),
+                Settings.System.RING_VIBRATION_INTENSITY, Vibrator.VIBRATION_INTENSITY_MEDIUM);
+        Settings.System.putInt(mContext.getContentResolver(),
+                Settings.System.VIBRATE_WHEN_RINGING, 1);
+        Settings.System.putInt(mContext.getContentResolver(),
+                Settings.System.NOTIFICATION_VIBRATION_INTENSITY, Vibrator.VIBRATION_INTENSITY_OFF);
+        Settings.System.putInt(mContext.getContentResolver(),
+                Settings.System.HAPTIC_FEEDBACK_INTENSITY, Vibrator.VIBRATION_INTENSITY_MEDIUM);
+        Settings.System.putInt(mContext.getContentResolver(),
+                Settings.System.HAPTIC_FEEDBACK_ENABLED, 1);
+        final String expectedResult = mContext.getString(R.string.accessibility_vibration_summary,
+                VIBRATION_ON /* ring */,
+                VIBRATION_OFF /* notification */,
+                VIBRATION_ON /* touch */);
+
+        assertThat(mController.getSummary()).isEqualTo(expectedResult);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/accounts/AccountDashboardFragmentTest.java b/tests/robotests/src/com/android/settings/accounts/AccountDashboardFragmentTest.java
index 0060875..fe57090 100644
--- a/tests/robotests/src/com/android/settings/accounts/AccountDashboardFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/accounts/AccountDashboardFragmentTest.java
@@ -17,26 +17,55 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
+import android.accounts.Account;
+import android.accounts.AccountManager;
+import android.content.Context;
+import android.content.pm.UserInfo;
+import android.os.UserManager;
 import android.provider.SearchIndexableResource;
 
 import com.android.settingslib.drawer.CategoryKey;
+import com.android.settingslib.search.SearchIndexableRaw;
 
 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 AccountDashboardFragmentTest {
 
+    private static final int PROFILE_ID = 10;
+    private static final String PROFILE_NAME = "User";
+    private static final String ACCOUNT_TYPE = "com.android.settings";
+    private static final String ACCOUNT_NAME = "test account";
+
+    @Mock
+    private UserManager mUserManager;
+    @Mock
+    private AccountManager mAccountManager;
+
+    private Context mContext;
     private AccountDashboardFragment mFragment;
 
     @Before
     public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mContext = spy(RuntimeEnvironment.application);
         mFragment = new AccountDashboardFragment();
+
+        doReturn(mUserManager).when(mContext).getSystemService(Context.USER_SERVICE);
     }
 
     @Test
@@ -45,7 +74,7 @@
     }
 
     @Test
-    public void testSearchIndexProvider_shouldIndexResource() {
+    public void searchIndexProvider_shouldIndexResource() {
         final List<SearchIndexableResource> indexRes =
                 AccountDashboardFragment.SEARCH_INDEX_DATA_PROVIDER
                         .getXmlResourcesToIndex(RuntimeEnvironment.application, true /* enabled */);
@@ -53,4 +82,36 @@
         assertThat(indexRes).isNotNull();
         assertThat(indexRes.get(0).xmlResId).isEqualTo(mFragment.getPreferenceScreenResId());
     }
+
+    @Test
+    public void searchIndexProvider_hasManagedProfile_shouldNotIndex() {
+        final List<UserInfo> infos = new ArrayList<>();
+        infos.add(new UserInfo(PROFILE_ID, PROFILE_NAME, UserInfo.FLAG_MANAGED_PROFILE));
+        doReturn(infos).when(mUserManager).getProfiles(anyInt());
+
+        final List<SearchIndexableRaw> indexRaws =
+                AccountDashboardFragment.SEARCH_INDEX_DATA_PROVIDER
+                        .getDynamicRawDataToIndex(mContext, true /* enabled */);
+
+        assertThat(indexRaws).isEmpty();
+    }
+
+    @Test
+    public void searchIndexProvider_hasAccounts_shouldIndex() {
+        final List<UserInfo> infos = new ArrayList<>();
+        infos.add(new UserInfo(PROFILE_ID, PROFILE_NAME, UserInfo.FLAG_PRIMARY));
+        doReturn(infos).when(mUserManager).getProfiles(anyInt());
+
+        final Account[] accounts = {
+                new Account(ACCOUNT_NAME, ACCOUNT_TYPE)
+        };
+        when(AccountManager.get(mContext)).thenReturn(mAccountManager);
+        doReturn(accounts).when(mAccountManager).getAccounts();
+
+        final List<SearchIndexableRaw> indexRaws =
+                AccountDashboardFragment.SEARCH_INDEX_DATA_PROVIDER
+                        .getDynamicRawDataToIndex(mContext, true /* enabled */);
+
+        assertThat(indexRaws).isNotEmpty();
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/accounts/AccountDetailDashboardFragmentTest.java b/tests/robotests/src/com/android/settings/accounts/AccountDetailDashboardFragmentTest.java
index dffa968..a827284 100644
--- a/tests/robotests/src/com/android/settings/accounts/AccountDetailDashboardFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/accounts/AccountDetailDashboardFragmentTest.java
@@ -47,6 +47,7 @@
 import com.android.settings.dashboard.DashboardFeatureProviderImpl;
 import com.android.settings.testutils.shadow.ShadowAccountManager;
 import com.android.settings.testutils.shadow.ShadowUserManager;
+import com.android.settingslib.drawer.ActivityTile;
 import com.android.settingslib.drawer.CategoryKey;
 import com.android.settingslib.drawer.Tile;
 
@@ -105,7 +106,7 @@
 
     @Test
     public void refreshDashboardTiles_HasAccountType_shouldDisplay() {
-        final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_ACCOUNT_DETAIL);
+        final Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_ACCOUNT_DETAIL);
         mActivityInfo.metaData.putString(METADATA_CATEGORY, CategoryKey.CATEGORY_ACCOUNT_DETAIL);
         mActivityInfo.metaData.putString(METADATA_ACCOUNT_TYPE, "com.abc");
 
@@ -114,7 +115,7 @@
 
     @Test
     public void refreshDashboardTiles_NoAccountType_shouldNotDisplay() {
-        final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_ACCOUNT_DETAIL);
+        final Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_ACCOUNT_DETAIL);
         mActivityInfo.metaData.putString(METADATA_CATEGORY, CategoryKey.CATEGORY_ACCOUNT_DETAIL);
 
         assertThat(mFragment.displayTile(tile)).isFalse();
@@ -122,7 +123,7 @@
 
     @Test
     public void refreshDashboardTiles_OtherAccountType_shouldNotDisplay() {
-        final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_ACCOUNT_DETAIL);
+        final Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_ACCOUNT_DETAIL);
         mActivityInfo.metaData.putString(METADATA_CATEGORY, CategoryKey.CATEGORY_ACCOUNT_DETAIL);
         mActivityInfo.metaData.putString(METADATA_ACCOUNT_TYPE, "com.other");
 
@@ -138,7 +139,7 @@
         when(packageManager.resolveActivity(any(Intent.class), anyInt()))
                 .thenReturn(mock(ResolveInfo.class));
 
-        final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_ACCOUNT_DETAIL);
+        final Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_ACCOUNT_DETAIL);
         mActivityInfo.metaData.putString(META_DATA_PREFERENCE_KEYHINT, "key");
         mActivityInfo.metaData.putString(METADATA_CATEGORY, CategoryKey.CATEGORY_ACCOUNT);
         mActivityInfo.metaData.putString(METADATA_ACCOUNT_TYPE, "com.abc");
@@ -150,9 +151,9 @@
 
         final FragmentActivity activity = Robolectric.setupActivity(FragmentActivity.class);
         final Preference preference = new Preference(mContext);
-        dashboardFeatureProvider.bindPreferenceToTile(activity, false /* forceRoundedIcon */,
-                MetricsProto.MetricsEvent.DASHBOARD_SUMMARY, preference, tile, null /* key */,
-                Preference.DEFAULT_ORDER);
+        dashboardFeatureProvider.bindPreferenceToTileAndGetObservers(activity,
+                false /* forceRoundedIcon */, MetricsProto.MetricsEvent.DASHBOARD_SUMMARY,
+                preference, tile, null /* key */, Preference.DEFAULT_ORDER);
 
         assertThat(preference.getKey()).isEqualTo(tile.getKey(mContext));
         preference.performClick();
@@ -166,7 +167,7 @@
     public void displayTile_shouldAddUserHandleToTileIntent() {
         mFragment.mUserHandle = new UserHandle(1);
 
-        final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_ACCOUNT_DETAIL);
+        final Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_ACCOUNT_DETAIL);
         mActivityInfo.metaData.putString(METADATA_CATEGORY, CategoryKey.CATEGORY_ACCOUNT);
         mActivityInfo.metaData.putString(METADATA_ACCOUNT_TYPE, "com.abc");
 
diff --git a/tests/robotests/src/com/android/settings/accounts/AccountHeaderPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accounts/AccountHeaderPreferenceControllerTest.java
index 50814ee..8fb40bf 100644
--- a/tests/robotests/src/com/android/settings/accounts/AccountHeaderPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accounts/AccountHeaderPreferenceControllerTest.java
@@ -36,7 +36,7 @@
 
 import com.android.settings.R;
 import com.android.settings.testutils.FakeFeatureFactory;
-import com.android.settingslib.accounts.AuthenticatorHelper;
+import com.android.settings.testutils.shadow.ShadowAuthenticationHelper;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 import com.android.settingslib.widget.LayoutPreference;
 
@@ -48,11 +48,9 @@
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
-import org.robolectric.annotation.Implementation;
-import org.robolectric.annotation.Implements;
 
 @RunWith(RobolectricTestRunner.class)
-@Config(shadows = AccountHeaderPreferenceControllerTest.ShadowAuthenticatorHelper.class)
+@Config(shadows = ShadowAuthenticationHelper.class)
 public class AccountHeaderPreferenceControllerTest {
 
     @Mock
@@ -109,12 +107,4 @@
 
         assertThat(label).isEqualTo(account.name);
     }
-
-    @Implements(AuthenticatorHelper.class)
-    public static class ShadowAuthenticatorHelper {
-        @Implementation
-        protected void onAccountsUpdated(Account[] accounts) {
-
-        }
-    }
 }
diff --git a/tests/robotests/src/com/android/settings/accounts/AccountPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accounts/AccountPreferenceControllerTest.java
index ed992d2..65395a0 100644
--- a/tests/robotests/src/com/android/settings/accounts/AccountPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accounts/AccountPreferenceControllerTest.java
@@ -46,9 +46,10 @@
 import com.android.settings.AccessiblePreferenceCategory;
 import com.android.settings.R;
 import com.android.settings.SettingsPreferenceFragment;
-import com.android.settings.search.SearchIndexableRaw;
+import com.android.settings.dashboard.profileselector.ProfileSelectFragment;
 import com.android.settings.testutils.shadow.ShadowAccountManager;
 import com.android.settings.testutils.shadow.ShadowContentResolver;
+import com.android.settingslib.search.SearchIndexableRaw;
 
 import org.junit.After;
 import org.junit.Before;
@@ -96,7 +97,8 @@
         when(mAccountManager.getAuthenticatorTypesAsUser(anyInt()))
             .thenReturn(new AuthenticatorDescription[0]);
         when(mAccountManager.getAccountsAsUser(anyInt())).thenReturn(new Account[0]);
-        mController = new AccountPreferenceController(mContext, mFragment, null, mAccountHelper);
+        mController = new AccountPreferenceController(mContext, mFragment, null, mAccountHelper,
+                ProfileSelectFragment.ProfileType.ALL);
     }
 
     @After
@@ -272,33 +274,33 @@
     }
 
     @Test
-    public void updateRawDataToIndex_EnabledUser_shouldAddOne() {
+    public void updateDynamicRawDataToIndex_enabledUser_notManagedUser_shouldNotUpdate() {
         final List<SearchIndexableRaw> data = new ArrayList<>();
         final List<UserInfo> infos = new ArrayList<>();
         infos.add(new UserInfo(1, "user 1", 0));
         when(mUserManager.isManagedProfile()).thenReturn(false);
         when(mUserManager.getProfiles(anyInt())).thenReturn(infos);
 
-        mController.updateRawDataToIndex(data);
+        mController.updateDynamicRawDataToIndex(data);
 
-        assertThat(data.size()).isEqualTo(1);
+        assertThat(data.size()).isEqualTo(0);
     }
 
     @Test
-    public void updateRawDataToIndex_ManagedUser_shouldAddThree() {
+    public void updateDynamicRawDataToIndex_managedUser_shouldAddTwo() {
         final List<SearchIndexableRaw> data = new ArrayList<>();
         final List<UserInfo> infos = new ArrayList<>();
         infos.add(new UserInfo(1, "user 1", UserInfo.FLAG_MANAGED_PROFILE));
         when(mUserManager.isManagedProfile()).thenReturn(false);
         when(mUserManager.getProfiles(anyInt())).thenReturn(infos);
 
-        mController.updateRawDataToIndex(data);
+        mController.updateDynamicRawDataToIndex(data);
 
-        assertThat(data.size()).isEqualTo(3);
+        assertThat(data.size()).isEqualTo(2);
     }
 
     @Test
-    public void updateRawDataToIndex_DisallowRemove_shouldAddTwo() {
+    public void updateDynamicRawDataToIndex_disallowRemove_shouldAddOne() {
         final List<SearchIndexableRaw> data = new ArrayList<>();
         final List<UserInfo> infos = new ArrayList<>();
         infos.add(new UserInfo(1, "user 1", UserInfo.FLAG_MANAGED_PROFILE));
@@ -308,13 +310,13 @@
                 eq(UserManager.DISALLOW_REMOVE_MANAGED_PROFILE), anyInt()))
                 .thenReturn(true);
 
-        mController.updateRawDataToIndex(data);
+        mController.updateDynamicRawDataToIndex(data);
 
-        assertThat(data.size()).isEqualTo(2);
+        assertThat(data.size()).isEqualTo(1);
     }
 
     @Test
-    public void updateRawDataToIndex_DisallowModify_shouldAddTwo() {
+    public void updateDynamicRawDataToIndex_disallowModify_shouldAddTwo() {
         final List<SearchIndexableRaw> data = new ArrayList<>();
         final List<UserInfo> infos = new ArrayList<>();
         infos.add(new UserInfo(1, "user 1", UserInfo.FLAG_MANAGED_PROFILE));
@@ -323,7 +325,7 @@
         when(mAccountHelper.hasBaseUserRestriction(
                 eq(UserManager.DISALLOW_MODIFY_ACCOUNTS), anyInt())).thenReturn(true);
 
-        mController.updateRawDataToIndex(data);
+        mController.updateDynamicRawDataToIndex(data);
 
         assertThat(data.size()).isEqualTo(2);
     }
diff --git a/tests/robotests/src/com/android/settings/accounts/AvatarViewMixinTest.java b/tests/robotests/src/com/android/settings/accounts/AvatarViewMixinTest.java
index 8c75e33..8dbf2a8 100644
--- a/tests/robotests/src/com/android/settings/accounts/AvatarViewMixinTest.java
+++ b/tests/robotests/src/com/android/settings/accounts/AvatarViewMixinTest.java
@@ -131,6 +131,17 @@
     }
 
     @Test
+    @Config(qualifiers = "mcc999")
+    public void onStart_noAccount_mAccountNameShouldBeNull() {
+        final AvatarViewMixin avatarViewMixin = new AvatarViewMixin(mActivity, mImageView);
+        avatarViewMixin.mAccountName = DUMMY_ACCOUNT;
+
+        avatarViewMixin.onStart();
+
+        assertThat(avatarViewMixin.mAccountName).isNull();
+    }
+
+    @Test
     public void queryProviderAuthority_useShadowPackagteManager_returnNull() {
         final AvatarViewMixin avatarViewMixin = new AvatarViewMixin(mActivity, mImageView);
 
diff --git a/tests/robotests/src/com/android/settings/accounts/EmergencyInfoPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accounts/EmergencyInfoPreferenceControllerTest.java
index 65da1f7..3217226 100644
--- a/tests/robotests/src/com/android/settings/accounts/EmergencyInfoPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accounts/EmergencyInfoPreferenceControllerTest.java
@@ -36,9 +36,9 @@
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.R;
-import com.android.settings.search.SearchIndexableRaw;
 import com.android.settings.testutils.shadow.ShadowAccountManager;
 import com.android.settings.testutils.shadow.ShadowContentResolver;
+import com.android.settingslib.search.SearchIndexableRaw;
 
 import org.junit.After;
 import org.junit.Before;
diff --git a/tests/robotests/src/com/android/settings/accounts/EnterpriseDisclosurePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accounts/EnterpriseDisclosurePreferenceControllerTest.java
index b9c62c2..b10a729 100644
--- a/tests/robotests/src/com/android/settings/accounts/EnterpriseDisclosurePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accounts/EnterpriseDisclosurePreferenceControllerTest.java
@@ -18,46 +18,37 @@
 
 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 android.content.Context;
 
-import androidx.preference.PreferenceManager;
-import androidx.preference.PreferenceScreen;
+import androidx.preference.Preference;
 
 import com.android.settings.core.BasePreferenceController;
-import com.android.settingslib.widget.FooterPreferenceMixinCompat;
 
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
 
 @RunWith(RobolectricTestRunner.class)
 public class EnterpriseDisclosurePreferenceControllerTest {
-
     private static final String TEST_DISCLOSURE = "This is a test disclosure.";
 
-    private ChooseAccountFragment mFragment;
     private Context mContext;
     private EnterpriseDisclosurePreferenceController mController;
-    private FooterPreferenceMixinCompat mFooterPreferenceMixin;
-    private PreferenceManager mPreferenceManager;
-    private PreferenceScreen mPreferenceScreen;
+    private Preference mPreference;
 
     @Before
     public void setUp() {
-        MockitoAnnotations.initMocks(this);
         mContext = RuntimeEnvironment.application;
-        mController = spy(new EnterpriseDisclosurePreferenceController(mContext));
-        mFragment = spy(new ChooseAccountFragment());
-        mFooterPreferenceMixin = new FooterPreferenceMixinCompat(mFragment,
-                mFragment.getSettingsLifecycle());
-        mPreferenceManager = new PreferenceManager(mContext);
-        mPreferenceScreen = mPreferenceManager.createPreferenceScreen(mContext);
+        mController = spy(new EnterpriseDisclosurePreferenceController(mContext, "my_key"));
+        mPreference = spy(new Preference(mContext));
     }
 
     @Test
@@ -77,24 +68,20 @@
     }
 
     @Test
-    public void displayPreference_hasDisclosure_shouldSetTitle() {
+    public void updateState_hasDisclosure_shouldSetTitle() {
         doReturn(TEST_DISCLOSURE).when(mController).getDisclosure();
-        doReturn(mPreferenceScreen).when(mFragment).getPreferenceScreen();
-        doReturn(mPreferenceManager).when(mFragment).getPreferenceManager();
 
-        mController.setFooterPreferenceMixin(mFooterPreferenceMixin);
-        mController.displayPreference(mPreferenceScreen);
+        mController.updateState(mPreference);
 
-        assertThat(mPreferenceScreen.getPreferenceCount()).isEqualTo(1);
-        assertThat(mPreferenceScreen.getPreference(0).getTitle()).isEqualTo(TEST_DISCLOSURE);
+        assertThat(mPreference.getTitle()).isEqualTo(TEST_DISCLOSURE);
     }
 
     @Test
-    public void displayPreference_noDisclosure_shouldBeInvisible() {
+    public void updateState_noDisclosure_shouldBeInvisible() {
         doReturn(null).when(mController).getDisclosure();
 
-        mController.displayPreference(mPreferenceScreen);
+        mController.updateState(mPreference);
 
-        assertThat(mPreferenceScreen.getPreferenceCount()).isEqualTo(0);
+        verify(mPreference, never()).setTitle(any());
     }
 }
diff --git a/tests/robotests/src/com/android/settings/accounts/RemoveAccountPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accounts/RemoveAccountPreferenceControllerTest.java
index d98d30a..c2efd0d 100644
--- a/tests/robotests/src/com/android/settings/accounts/RemoveAccountPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accounts/RemoveAccountPreferenceControllerTest.java
@@ -54,6 +54,7 @@
 import com.android.settings.testutils.shadow.ShadowAccountManager;
 import com.android.settings.testutils.shadow.ShadowContentResolver;
 import com.android.settings.testutils.shadow.ShadowDevicePolicyManager;
+import com.android.settings.testutils.shadow.ShadowFragment;
 import com.android.settings.testutils.shadow.ShadowUserManager;
 import com.android.settingslib.widget.LayoutPreference;
 
@@ -64,6 +65,7 @@
 import org.mockito.ArgumentCaptor;
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
+import org.robolectric.Robolectric;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
@@ -113,8 +115,8 @@
         when(mAccountManager.getAuthenticatorTypesAsUser(anyInt()))
                 .thenReturn(new AuthenticatorDescription[0]);
         when(mAccountManager.getAccountsAsUser(anyInt())).thenReturn(new Account[0]);
-        mController = new RemoveAccountPreferenceController(RuntimeEnvironment.application,
-                mFragment);
+        mController = new RemoveAccountPreferenceController(
+                Robolectric.setupActivity(Activity.class), mFragment);
     }
 
     @After
@@ -169,7 +171,8 @@
     }
 
     @Test
-    @Config(shadows = {ShadowAccountManager.class, ShadowContentResolver.class})
+    @Config(shadows = {ShadowAccountManager.class, ShadowContentResolver.class,
+            ShadowFragment.class})
     public void confirmRemove_shouldRemoveAccount()
             throws AuthenticatorException, OperationCanceledException, IOException {
         when(mFragment.isAdded()).thenReturn(true);
@@ -201,7 +204,8 @@
     }
 
     @Test
-    @Config(shadows = {ShadowAccountManager.class, ShadowContentResolver.class})
+    @Config(shadows = {ShadowAccountManager.class, ShadowContentResolver.class,
+            ShadowFragment.class})
     public void confirmRemove_activityGone_shouldSilentlyRemoveAccount()
             throws AuthenticatorException, OperationCanceledException, IOException {
         final Account account = new Account("Account11", "com.acct1");
diff --git a/tests/robotests/src/com/android/settings/accounts/TopLevelAccountEntryPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accounts/TopLevelAccountEntryPreferenceControllerTest.java
index ced3db1..8fe8e19 100644
--- a/tests/robotests/src/com/android/settings/accounts/TopLevelAccountEntryPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accounts/TopLevelAccountEntryPreferenceControllerTest.java
@@ -16,19 +16,12 @@
 
 package com.android.settings.accounts;
 
-import static com.android.settings.accounts.TopLevelAccountEntryPreferenceControllerTest
-        .ShadowAuthenticationHelper.LABELS;
-import static com.android.settings.accounts.TopLevelAccountEntryPreferenceControllerTest
-        .ShadowAuthenticationHelper.TYPES;
-
 import static com.google.common.truth.Truth.assertThat;
 
 import android.content.Context;
-import android.os.UserHandle;
-import android.text.TextUtils;
 
 import com.android.settings.R;
-import com.android.settingslib.accounts.AuthenticatorHelper;
+import com.android.settings.testutils.shadow.ShadowAuthenticationHelper;
 
 import org.junit.After;
 import org.junit.Before;
@@ -37,21 +30,22 @@
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
-import org.robolectric.annotation.Implementation;
-import org.robolectric.annotation.Implements;
-import org.robolectric.annotation.Resetter;
 
 @RunWith(RobolectricTestRunner.class)
-@Config(shadows = {TopLevelAccountEntryPreferenceControllerTest.ShadowAuthenticationHelper.class})
+@Config(shadows = {ShadowAuthenticationHelper.class})
 public class TopLevelAccountEntryPreferenceControllerTest {
 
     private TopLevelAccountEntryPreferenceController mController;
     private Context mContext;
+    private String[] LABELS;
+    private String[] TYPES;
 
     @Before
     public void setUp() {
         mContext = RuntimeEnvironment.application;
         mController = new TopLevelAccountEntryPreferenceController(mContext, "test_key");
+        LABELS = ShadowAuthenticationHelper.getLabels();
+        TYPES = ShadowAuthenticationHelper.getTypes();
     }
 
     @After
@@ -60,7 +54,6 @@
     }
 
     @Test
-
     public void updateSummary_hasAccount_shouldDisplayUpTo3AccountTypes() {
         assertThat(mController.getSummary())
                 .isEqualTo(LABELS[0] + ", " + LABELS[1] + ", and " + LABELS[2]);
@@ -83,44 +76,4 @@
         // should only show the 2 accounts with labels
         assertThat(mController.getSummary()).isEqualTo(LABELS[0] + " and " + LABELS[1]);
     }
-
-    @Implements(AuthenticatorHelper.class)
-    public static class ShadowAuthenticationHelper {
-
-        static final String[] TYPES = {"type1", "type2", "type3", "type4"};
-        static final String[] LABELS = {"LABEL1", "LABEL2", "LABEL3", "LABEL4"};
-        private static String[] sEnabledAccount = TYPES;
-
-        protected void __constructor__(Context context, UserHandle userHandle,
-                AuthenticatorHelper.OnAccountsUpdateListener listener) {
-        }
-
-        private static void setEnabledAccount(String[] enabledAccount) {
-            sEnabledAccount = enabledAccount;
-        }
-
-        @Resetter
-        public static void reset() {
-            sEnabledAccount = TYPES;
-        }
-
-        @Implementation
-        protected String[] getEnabledAccountTypes() {
-            return sEnabledAccount;
-        }
-
-        @Implementation
-        protected CharSequence getLabelForType(Context context, final String accountType) {
-            if (TextUtils.equals(accountType, TYPES[0])) {
-                return LABELS[0];
-            } else if (TextUtils.equals(accountType, TYPES[1])) {
-                return LABELS[1];
-            } else if (TextUtils.equals(accountType, TYPES[2])) {
-                return LABELS[2];
-            } else if (TextUtils.equals(accountType, TYPES[3])) {
-                return LABELS[3];
-            }
-            return null;
-        }
-    }
 }
diff --git a/tests/robotests/src/com/android/settings/applications/AppInfoWithHeaderTest.java b/tests/robotests/src/com/android/settings/applications/AppInfoWithHeaderTest.java
index 1f63c9c4..a161f84 100644
--- a/tests/robotests/src/com/android/settings/applications/AppInfoWithHeaderTest.java
+++ b/tests/robotests/src/com/android/settings/applications/AppInfoWithHeaderTest.java
@@ -39,6 +39,7 @@
 import com.android.internal.logging.nano.MetricsProto;
 import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settings.testutils.shadow.ShadowEntityHeaderController;
+import com.android.settings.testutils.shadow.ShadowSettingsLibUtils;
 import com.android.settings.widget.EntityHeaderController;
 import com.android.settingslib.applications.AppUtils;
 import com.android.settingslib.applications.ApplicationsState;
@@ -58,7 +59,7 @@
 import org.robolectric.util.ReflectionHelpers;
 
 @RunWith(RobolectricTestRunner.class)
-@Config(shadows = ShadowEntityHeaderController.class)
+@Config(shadows = {ShadowEntityHeaderController.class, ShadowSettingsLibUtils.class})
 public class AppInfoWithHeaderTest {
 
     @Mock(answer = Answers.RETURNS_DEEP_STUBS)
diff --git a/tests/robotests/src/com/android/settings/applications/AppOpenSupportedLinksPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/AppOpenSupportedLinksPreferenceControllerTest.java
new file mode 100644
index 0000000..9316735
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/applications/AppOpenSupportedLinksPreferenceControllerTest.java
@@ -0,0 +1,131 @@
+/*
+ * 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.applications;
+
+import static android.content.pm.PackageManager.INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ALWAYS;
+import static android.content.pm.PackageManager.INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ASK;
+import static android.content.pm.PackageManager.INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_NEVER;
+
+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.anyString;
+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.pm.PackageManager;
+import android.util.ArraySet;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceCategory;
+import androidx.preference.PreferenceManager;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.testutils.shadow.ShadowUtils;
+
+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 org.robolectric.annotation.Config;
+
+@RunWith(RobolectricTestRunner.class)
+public class AppOpenSupportedLinksPreferenceControllerTest {
+    private static final String TEST_KEY = "test_key";
+    private static final String TEST_DOMAIN_LINK = "aaa.bbb.ccc";
+    private static final String TEST_PACKAGE = "ssl.test.package.com";
+
+    @Mock
+    private PackageManager mPackageManager;
+
+    private Context mContext;
+    private PreferenceManager mPreferenceManager;
+    private PreferenceScreen mScreen;
+    private PreferenceCategory mCategory;
+    private AppOpenSupportedLinksPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mContext = spy(RuntimeEnvironment.application);
+        doReturn(mPackageManager).when(mContext).getPackageManager();
+        mPreferenceManager = new PreferenceManager(mContext);
+        mScreen = spy(mPreferenceManager.createPreferenceScreen(mContext));
+        mCategory = spy(new PreferenceCategory(mContext));
+        mController = spy(new AppOpenSupportedLinksPreferenceController(mContext, TEST_KEY));
+        mController.setInit(TEST_PACKAGE);
+    }
+
+    @Test
+    public void displayPreference_statusAlways_allowOpenChecked() {
+        init(INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ALWAYS);
+
+        mController.displayPreference(mScreen);
+
+        assertThat(mController.mAllowOpening.isChecked()).isTrue();
+        assertThat(mController.mAskEveryTime.isChecked()).isFalse();
+        assertThat(mController.mNotAllowed.isChecked()).isFalse();
+    }
+
+    @Test
+    public void displayPreference_statusAsk_askEveryTimeChecked() {
+        init(INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ASK);
+
+        mController.displayPreference(mScreen);
+
+        assertThat(mController.mAllowOpening.isChecked()).isFalse();
+        assertThat(mController.mAskEveryTime.isChecked()).isTrue();
+        assertThat(mController.mNotAllowed.isChecked()).isFalse();
+    }
+
+    @Test
+    public void displayPreference_statusNever_notAllowedChecked() {
+        init(INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_NEVER);
+
+        mController.displayPreference(mScreen);
+
+        assertThat(mController.mAllowOpening.isChecked()).isFalse();
+        assertThat(mController.mAskEveryTime.isChecked()).isFalse();
+        assertThat(mController.mNotAllowed.isChecked()).isTrue();
+    }
+
+    @Test
+    @Config(shadows = ShadowUtils.class)
+    public void getEntriesNo_oneHandledDomains_returnOne() {
+        initHandledDomains();
+
+        assertThat(mController.getEntriesNo()).isEqualTo(1);
+    }
+
+    private void init(int status) {
+        doReturn(mCategory).when(mScreen).findPreference(any(CharSequence.class));
+        doReturn(true).when(mCategory).addPreference(any(Preference.class));
+        when(mPackageManager.getIntentVerificationStatusAsUser(anyString(), anyInt())).thenReturn(
+                status);
+    }
+
+    private void initHandledDomains() {
+        final ArraySet<String> domainLinks = new ArraySet<>();
+        domainLinks.add(TEST_DOMAIN_LINK);
+        ShadowUtils.setHandledDomains(domainLinks);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/applications/AppPermissionsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/AppPermissionsPreferenceControllerTest.java
index 986c2c7..dfa9383 100644
--- a/tests/robotests/src/com/android/settings/applications/AppPermissionsPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/AppPermissionsPreferenceControllerTest.java
@@ -16,8 +16,6 @@
 
 package com.android.settings.applications;
 
-import static com.android.settings.applications.AppPermissionsPreferenceController.NUM_PERMISSIONS_TO_SHOW;
-
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.ArgumentMatchers.anyString;
@@ -31,6 +29,8 @@
 
 import androidx.preference.Preference;
 
+import com.android.settings.R;
+
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -70,25 +70,26 @@
     }
 
     @Test
-    public void updateSummary_noGrantedPermission_shouldSetNullSummary() {
+    public void updateSummary_noGrantedPermission_shouldSetNoPermissionGrantedSummary() {
         doNothing().when(mController).queryPermissionSummary();
         mController.updateState(mPreference);
-        mController.mNumPackageChecked = 2;
+        mController.mNumPackageChecked = 3;
 
         mController.updateSummary(new ArrayList<>());
 
-        assertThat(mPreference.getSummary()).isNull();
+        assertThat(mPreference.getSummary()).isEqualTo(
+                mContext.getString(R.string.runtime_permissions_summary_no_permissions_granted));
     }
 
     @Test
-    public void updateSummary_hasPermissionGroups_shouldSetPermissionAsSummary() {
+    public void updateSummary_hasOnePermission_shouldSetPermissionAsSummary() {
         doNothing().when(mController).queryPermissionSummary();
         mController.updateState(mPreference);
         final String permission = "location";
         final ArrayList<CharSequence> labels = new ArrayList<>();
         labels.add(permission);
         final String summary = "Apps using " + permission;
-        mController.mNumPackageChecked = 2;
+        mController.mNumPackageChecked = 3;
 
         mController.updateSummary(labels);
 
@@ -96,6 +97,41 @@
     }
 
     @Test
+    public void updateSummary_hasThreePermissions_shouldShowThreePermissionAsSummary() {
+        doNothing().when(mController).queryPermissionSummary();
+        mController.updateState(mPreference);
+        mController.mNumPackageChecked = 3;
+        final List<CharSequence> labels = new ArrayList<>();
+        labels.add("Phone");
+        labels.add("SMS");
+        labels.add("Microphone");
+
+        mController.updateSummary(labels);
+
+        final String summary = "Apps using microphone, sms, and phone";
+        assertThat(mPreference.getSummary()).isEqualTo(summary);
+    }
+
+    @Test
+    public void updateSummary_hasFivePermissions_shouldShowThreePermissionsAndMoreAsSummary() {
+        doNothing().when(mController).queryPermissionSummary();
+        mController.updateState(mPreference);
+        mController.mNumPackageChecked = 3;
+        final List<CharSequence> labels = new ArrayList<>();
+        labels.add("Phone");
+        labels.add("SMS");
+        labels.add("Microphone");
+        labels.add("Contacts");
+        labels.add("Camera");
+        labels.add("Location");
+
+        mController.updateSummary(labels);
+
+        final String summary = "Apps using microphone, contacts, and sms, and more";
+        assertThat(mPreference.getSummary()).isEqualTo(summary);
+    }
+
+    @Test
     public void updateSummary_notReachCallbackCount_shouldNotSetSummary() {
         doNothing().when(mController).queryPermissionSummary();
         mController.updateState(mPreference);
@@ -107,29 +143,4 @@
 
         verify(mPreference, never()).setSummary(anyString());
     }
-
-    @Test
-    public void updateSummary_hasFiveItems_shouldShowCertainNumItems() {
-        doNothing().when(mController).queryPermissionSummary();
-        mController.updateState(mPreference);
-        mController.mNumPackageChecked = 2;
-
-        mController.updateSummary(getPermissionGroupsSet());
-
-        final CharSequence summary = mPreference.getSummary();
-        final int items = summary.toString().split(",").length;
-        assertThat(items).isEqualTo(NUM_PERMISSIONS_TO_SHOW);
-    }
-
-    private List<CharSequence> getPermissionGroupsSet() {
-        final List<CharSequence> labels = new ArrayList<>();
-        labels.add("Phone");
-        labels.add("SMS");
-        labels.add("Microphone");
-        labels.add("Contacts");
-        labels.add("Camera");
-        labels.add("Location");
-
-        return labels;
-    }
 }
diff --git a/tests/robotests/src/com/android/settings/applications/ApplicationFeatureProviderImplTest.java b/tests/robotests/src/com/android/settings/applications/ApplicationFeatureProviderImplTest.java
index fcb7518..2bb93b5 100644
--- a/tests/robotests/src/com/android/settings/applications/ApplicationFeatureProviderImplTest.java
+++ b/tests/robotests/src/com/android/settings/applications/ApplicationFeatureProviderImplTest.java
@@ -18,6 +18,7 @@
 
 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;
 
@@ -27,6 +28,7 @@
 import android.content.Intent;
 import android.content.pm.ActivityInfo;
 import android.content.pm.ApplicationInfo;
+import android.content.pm.ComponentInfo;
 import android.content.pm.IPackageManager;
 import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
@@ -36,7 +38,6 @@
 import android.os.UserHandle;
 import android.os.UserManager;
 
-import com.android.settings.R;
 import com.android.settings.testutils.ApplicationTestUtils;
 import com.android.settingslib.testutils.shadow.ShadowDefaultDialerManager;
 import com.android.settingslib.testutils.shadow.ShadowSmsApplication;
@@ -165,7 +166,7 @@
                 .thenReturn(PackageManager.INSTALL_REASON_POLICY);
 
         mAppCount = -1;
-        mProvider.calculateNumberOfAppsWithAdminGrantedPermissions(new String[] {PERMISSION}, async,
+        mProvider.calculateNumberOfAppsWithAdminGrantedPermissions(new String[]{PERMISSION}, async,
                 (num) -> mAppCount = num);
         if (async) {
             ShadowApplication.runBackgroundTasks();
@@ -202,7 +203,7 @@
                 .thenReturn(PackageManager.INSTALL_REASON_POLICY);
 
         mAppList = null;
-        mProvider.listAppsWithAdminGrantedPermissions(new String[] {PERMISSION},
+        mProvider.listAppsWithAdminGrantedPermissions(new String[]{PERMISSION},
                 (list) -> mAppList = list);
         assertThat(mAppList).isNotNull();
         assertThat(mAppList.size()).isEqualTo(2);
@@ -251,10 +252,10 @@
                 new ApplicationInfo(app2.activityInfo.applicationInfo)));
 
         assertThat(mProvider.findPersistentPreferredActivities(MAIN_USER_ID,
-                new Intent[] {viewIntent, editIntent, sendIntent}))
+                new Intent[]{viewIntent, editIntent, sendIntent}))
                 .isEqualTo(expectedMainUserActivities);
         assertThat(mProvider.findPersistentPreferredActivities(MANAGED_PROFILE_ID,
-                new Intent[] {viewIntent, editIntent, sendIntent}))
+                new Intent[]{viewIntent, editIntent, sendIntent}))
                 .isEqualTo(expectedManagedUserActivities);
     }
 
@@ -284,6 +285,35 @@
 
     @Test
     @Config(shadows = {ShadowSmsApplication.class, ShadowDefaultDialerManager.class})
+    public void getKeepEnabledPackages_hasEuiccComponent_shouldContainEuiccPackage() {
+        final String testDialer = "com.android.test.defaultdialer";
+        final String testSms = "com.android.test.defaultsms";
+        final String testLocationHistory = "com.android.test.location.history";
+        final String testEuicc = "com.android.test.euicc";
+
+        ShadowSmsApplication.setDefaultSmsApplication(new ComponentName(testSms, "receiver"));
+        ShadowDefaultDialerManager.setDefaultDialerApplication(testDialer);
+        final ComponentInfo componentInfo = new ComponentInfo();
+        componentInfo.packageName = testEuicc;
+
+        ApplicationFeatureProviderImpl spyProvider = spy(new ApplicationFeatureProviderImpl(
+                mContext, mPackageManager, mPackageManagerService, mDevicePolicyManager));
+        doReturn(componentInfo).when(spyProvider).findEuiccService(mPackageManager);
+
+        // Spy the real context to mock LocationManager.
+        Context spyContext = spy(RuntimeEnvironment.application);
+        when(mLocationManager.getExtraLocationControllerPackage()).thenReturn(testLocationHistory);
+        when(spyContext.getSystemService(Context.LOCATION_SERVICE)).thenReturn(mLocationManager);
+
+        ReflectionHelpers.setField(mProvider, "mContext", spyContext);
+
+        final Set<String> keepEnabledPackages = spyProvider.getKeepEnabledPackages();
+
+        assertThat(keepEnabledPackages).contains(testEuicc);
+    }
+
+    @Test
+    @Config(shadows = {ShadowSmsApplication.class, ShadowDefaultDialerManager.class})
     public void getKeepEnabledPackages_shouldContainSettingsIntelligence() {
         final String testDialer = "com.android.test.defaultdialer";
         final String testSms = "com.android.test.defaultsms";
diff --git a/tests/robotests/src/com/android/settings/applications/OpenSupportedLinksTest.java b/tests/robotests/src/com/android/settings/applications/OpenSupportedLinksTest.java
new file mode 100644
index 0000000..f9d4ca8
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/applications/OpenSupportedLinksTest.java
@@ -0,0 +1,92 @@
+/*
+ * 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.applications;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.spy;
+
+import android.content.Context;
+import android.content.pm.PackageInfo;
+import android.content.pm.PackageManager;
+import android.util.ArraySet;
+
+import com.android.settings.testutils.shadow.ShadowUtils;
+import com.android.settingslib.widget.FooterPreference;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(shadows = ShadowUtils.class)
+public class OpenSupportedLinksTest {
+    private static final String TEST_FOOTER_TITLE = "FooterTitle";
+    private static final String TEST_DOMAIN_LINK = "aaa.bbb.ccc";
+
+    private Context mContext;
+    private TestFragment mSettings;
+    private FooterPreference mFooter;
+
+    @Before
+    public void setUp() {
+        mContext = spy(RuntimeEnvironment.application);
+        mSettings = spy(new TestFragment(mContext));
+        mFooter = new FooterPreference.Builder(mContext).setTitle(TEST_FOOTER_TITLE).build();
+    }
+
+    @After
+    public void tearDown() {
+        ShadowUtils.reset();
+    }
+
+    @Test
+    public void addLinksToFooter_noHandledDomains_returnDefaultFooterTitle() {
+        mSettings.addLinksToFooter(mFooter);
+
+        assertThat(mFooter.getTitle()).isEqualTo(TEST_FOOTER_TITLE);
+    }
+
+    @Test
+    public void addLinksToFooter_oneHandledDomains_returnDomainsFooterTitle() {
+        final ArraySet<String> domainLinks = new ArraySet<>();
+        domainLinks.add(TEST_DOMAIN_LINK);
+        ShadowUtils.setHandledDomains(domainLinks);
+
+        mSettings.addLinksToFooter(mFooter);
+
+        assertThat(mFooter.getTitle().toString()).contains(TEST_DOMAIN_LINK);
+    }
+
+    public static class TestFragment extends OpenSupportedLinks {
+        private final Context mContext;
+
+        public TestFragment(Context context) {
+            mContext = context;
+            mPackageInfo = new PackageInfo();
+            mPackageInfo.packageName = "ssl.test.package.com";
+        }
+
+        @Override
+        protected PackageManager getPackageManager() {
+            return mContext.getPackageManager();
+        }
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/applications/SpecialAppAccessPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/SpecialAppAccessPreferenceControllerTest.java
index 75302d8..00d3cb1 100644
--- a/tests/robotests/src/com/android/settings/applications/SpecialAppAccessPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/SpecialAppAccessPreferenceControllerTest.java
@@ -16,7 +16,7 @@
 
 package com.android.settings.applications;
 
-import static com.android.settings.core.BasePreferenceController.AVAILABLE_UNSEARCHABLE;
+import static com.android.settings.core.BasePreferenceController.AVAILABLE;
 
 import static com.google.common.truth.Truth.assertThat;
 
@@ -83,7 +83,7 @@
 
     @Test
     public void getAvailabilityState_unsearchable() {
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE_UNSEARCHABLE);
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
     }
 
     @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 637ffbc..7304fc2 100644
--- a/tests/robotests/src/com/android/settings/applications/appinfo/AppButtonsPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/appinfo/AppButtonsPreferenceControllerTest.java
@@ -16,6 +16,8 @@
 
 package com.android.settings.applications.appinfo;
 
+import static com.android.settings.applications.appinfo.AppButtonsPreferenceController.KEY_REMOVE_TASK_WHEN_FINISHING;
+
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.ArgumentMatchers.any;
@@ -34,7 +36,6 @@
 import static org.mockito.Mockito.when;
 
 import android.app.ActivityManager;
-import android.app.Application;
 import android.app.admin.DevicePolicyManager;
 import android.app.settings.SettingsEnums;
 import android.content.Context;
@@ -49,8 +50,6 @@
 import android.util.ArraySet;
 import android.view.View;
 
-import androidx.preference.PreferenceScreen;
-
 import com.android.settings.R;
 import com.android.settings.SettingsActivity;
 import com.android.settings.core.InstrumentedPreferenceFragment;
@@ -275,7 +274,8 @@
     }
 
     @Test
-    public void updateUninstallButton_isProfileOrDeviceOwner_setButtonDisable() {
+    public void updateUninstallButton_isSystemAndIsProfileOrDeviceOwner_setButtonDisable() {
+        doReturn(true).when(mController).isSystemPackage(any(), any(), any());
         doReturn(true).when(mDpm).isDeviceOwnerAppOnAnyUser(anyString());
 
         mController.updateUninstallButton();
@@ -284,6 +284,38 @@
     }
 
     @Test
+    public void updateUninstallButton_isSystemAndIsNotProfileOrDeviceOwner_setButtonEnabled() {
+        doReturn(true).when(mController).isSystemPackage(any(), any(), any());
+        doReturn(false).when(mDpm).isDeviceOwnerAppOnAnyUser(anyString());
+
+        mController.updateUninstallButton();
+
+        verify(mButtonPrefs).setButton2Enabled(true);
+    }
+
+    @Test
+    public void updateUninstallButton_isNotSystemAndIsProfileOrDeviceOwner_setButtonDisable() {
+        doReturn(false).when(mController).isSystemPackage(any(), any(), any());
+        doReturn(0).when(mDpm).getDeviceOwnerUserId();
+        doReturn(true).when(mDpm).isDeviceOwnerApp(anyString());
+
+        mController.updateUninstallButton();
+
+        verify(mButtonPrefs).setButton2Enabled(false);
+    }
+
+    @Test
+    public void updateUninstallButton_isNotSystemAndIsNotProfileOrDeviceOwner_setButtonEnabled() {
+        doReturn(false).when(mController).isSystemPackage(any(), any(), any());
+        doReturn(10).when(mDpm).getDeviceOwnerUserId();
+        doReturn(false).when(mDpm).isDeviceOwnerApp(anyString());
+
+        mController.updateUninstallButton();
+
+        verify(mButtonPrefs).setButton2Enabled(true);
+    }
+
+    @Test
     public void updateUninstallButton_isDeviceProvisioningApp_setButtonDisable() {
         doReturn(true).when(mDpm).isDeviceOwnerAppOnAnyUser(anyString());
         when(mSettingsActivity.getResources().getString(anyInt())).thenReturn(PACKAGE_NAME);
@@ -469,6 +501,30 @@
                 AppButtonsPreferenceController.DISABLED_FOR_USER);
     }
 
+    @Test
+    public void handleActivityResult_onAppUninstall_removeTask() {
+        mController.handleActivityResult(REQUEST_UNINSTALL, 0, new Intent());
+
+        ArgumentCaptor<Intent> argumentCaptor = ArgumentCaptor.forClass(Intent.class);
+        verify(mSettingsActivity).finishPreferencePanel(anyInt(), argumentCaptor.capture());
+
+        final Intent i = argumentCaptor.getValue();
+        assertThat(i).isNotNull();
+        assertThat(i.getBooleanExtra(KEY_REMOVE_TASK_WHEN_FINISHING, false)).isTrue();
+    }
+
+    @Test
+    public void handleActivityResult_onAppNotUninstall_persistTask() {
+        mController.handleActivityResult(REQUEST_UNINSTALL + 1, 0, new Intent());
+
+        ArgumentCaptor<Intent> argumentCaptor = ArgumentCaptor.forClass(Intent.class);
+        verify(mSettingsActivity).finishPreferencePanel(anyInt(), argumentCaptor.capture());
+
+        final Intent i = argumentCaptor.getValue();
+        assertThat(i).isNotNull();
+        assertThat(i.getBooleanExtra(KEY_REMOVE_TASK_WHEN_FINISHING, false)).isFalse();
+    }
+
     /**
      * The test fragment which implements
      * {@link ButtonActionDialogFragment.AppButtonsDialogListener}
diff --git a/tests/robotests/src/com/android/settings/applications/appinfo/AppHeaderViewPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/appinfo/AppHeaderViewPreferenceControllerTest.java
index c82cbe5..6684e1a 100644
--- a/tests/robotests/src/com/android/settings/applications/appinfo/AppHeaderViewPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/appinfo/AppHeaderViewPreferenceControllerTest.java
@@ -42,6 +42,7 @@
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.R;
+import com.android.settings.testutils.shadow.ShadowSettingsLibUtils;
 import com.android.settingslib.applications.ApplicationsState;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 import com.android.settingslib.widget.LayoutPreference;
@@ -54,8 +55,10 @@
 import org.robolectric.Robolectric;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = ShadowSettingsLibUtils.class)
 public class AppHeaderViewPreferenceControllerTest {
 
     @Mock
diff --git a/tests/robotests/src/com/android/settings/applications/appinfo/AppInfoPreferenceControllerBaseTest.java b/tests/robotests/src/com/android/settings/applications/appinfo/AppInfoPreferenceControllerBaseTest.java
index 5e88aaf..71ba753 100644
--- a/tests/robotests/src/com/android/settings/applications/appinfo/AppInfoPreferenceControllerBaseTest.java
+++ b/tests/robotests/src/com/android/settings/applications/appinfo/AppInfoPreferenceControllerBaseTest.java
@@ -35,7 +35,7 @@
 import com.android.settings.SettingsActivity;
 import com.android.settings.SettingsPreferenceFragment;
 import com.android.settings.core.BasePreferenceController;
-import com.android.settings.notification.AppNotificationSettings;
+import com.android.settings.notification.app.AppNotificationSettings;
 import com.android.settingslib.applications.ApplicationsState;
 
 import org.junit.Before;
diff --git a/tests/robotests/src/com/android/settings/applications/appinfo/AppNotificationPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/appinfo/AppNotificationPreferenceControllerTest.java
index 60352ae..3b366ca 100644
--- a/tests/robotests/src/com/android/settings/applications/appinfo/AppNotificationPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/appinfo/AppNotificationPreferenceControllerTest.java
@@ -35,7 +35,7 @@
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.notification.AppNotificationSettings;
+import com.android.settings.notification.app.AppNotificationSettings;
 import com.android.settings.notification.NotificationBackend;
 import com.android.settingslib.applications.ApplicationsState;
 
diff --git a/tests/robotests/src/com/android/settings/applications/appinfo/DefaultAppShortcutPreferenceControllerBaseTest.java b/tests/robotests/src/com/android/settings/applications/appinfo/DefaultAppShortcutPreferenceControllerBaseTest.java
index 81d52d2..7a4c610 100644
--- a/tests/robotests/src/com/android/settings/applications/appinfo/DefaultAppShortcutPreferenceControllerBaseTest.java
+++ b/tests/robotests/src/com/android/settings/applications/appinfo/DefaultAppShortcutPreferenceControllerBaseTest.java
@@ -85,8 +85,8 @@
     }
 
     @Test
-    public void constructor_callsIsApplicationQualifiedForRole() {
-        verify(mRoleControllerManager).isApplicationQualifiedForRole(eq(TEST_ROLE_NAME), eq(
+    public void constructor_callsIsApplicationVisibleForRole() {
+        verify(mRoleControllerManager).isApplicationVisibleForRole(eq(TEST_ROLE_NAME), eq(
                 TEST_PACKAGE_NAME), any(Executor.class), any(Consumer.class));
     }
 
@@ -108,7 +108,7 @@
     @Test
     public void
     getAvailabilityStatus_noCallbackForIsRoleNotVisible_shouldReturnUnsupported() {
-        setApplicationIsQualifiedForRole(true);
+        setApplicationIsVisibleForRole(true);
 
         assertThat(mController.getAvailabilityStatus()).isEqualTo(
                 DefaultAppShortcutPreferenceControllerBase.UNSUPPORTED_ON_DEVICE);
@@ -117,7 +117,7 @@
     @Test
     public void getAvailabilityStatus_RoleIsNotVisible_shouldReturnUnsupported() {
         setRoleIsVisible(false);
-        setApplicationIsQualifiedForRole(true);
+        setApplicationIsVisibleForRole(true);
 
         assertThat(mController.getAvailabilityStatus()).isEqualTo(
                 DefaultAppShortcutPreferenceControllerBase.UNSUPPORTED_ON_DEVICE);
@@ -125,7 +125,7 @@
 
     @Test
     public void
-    getAvailabilityStatus_noCallbackForIsApplicationQualifiedForRole_shouldReturnUnsupported() {
+    getAvailabilityStatus_noCallbackForIsApplicationVisibleForRole_shouldReturnUnsupported() {
         setRoleIsVisible(true);
 
         assertThat(mController.getAvailabilityStatus()).isEqualTo(
@@ -133,18 +133,18 @@
     }
 
     @Test
-    public void getAvailabilityStatus_applicationIsNotQualifiedForRole_shouldReturnUnsupported() {
+    public void getAvailabilityStatus_applicationIsNotVisibleForRole_shouldReturnUnsupported() {
         setRoleIsVisible(true);
-        setApplicationIsQualifiedForRole(false);
+        setApplicationIsVisibleForRole(false);
 
         assertThat(mController.getAvailabilityStatus()).isEqualTo(
                 DefaultAppShortcutPreferenceControllerBase.UNSUPPORTED_ON_DEVICE);
     }
 
     @Test
-    public void getAvailabilityStatus_RoleVisibleAndApplicationQualified_shouldReturnAvailable() {
+    public void getAvailabilityStatus_RoleVisibleAndApplicationVisible_shouldReturnAvailable() {
         setRoleIsVisible(true);
-        setApplicationIsQualifiedForRole(true);
+        setApplicationIsVisibleForRole(true);
 
         assertThat(mController.getAvailabilityStatus()).isEqualTo(
                 DefaultAppShortcutPreferenceControllerBase.AVAILABLE);
@@ -159,13 +159,13 @@
         callback.accept(visible);
     }
 
-    private void setApplicationIsQualifiedForRole(boolean qualified) {
+    private void setApplicationIsVisibleForRole(boolean visible) {
         final ArgumentCaptor<Consumer<Boolean>> callbackCaptor = ArgumentCaptor.forClass(
                 Consumer.class);
-        verify(mRoleControllerManager).isApplicationQualifiedForRole(eq(TEST_ROLE_NAME), eq(
+        verify(mRoleControllerManager).isApplicationVisibleForRole(eq(TEST_ROLE_NAME), eq(
                 TEST_PACKAGE_NAME), any(Executor.class), callbackCaptor.capture());
         final Consumer<Boolean> callback = callbackCaptor.getValue();
-        callback.accept(qualified);
+        callback.accept(visible);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/applications/appinfo/ManageExternalStorageDetailsTest.java b/tests/robotests/src/com/android/settings/applications/appinfo/ManageExternalStorageDetailsTest.java
new file mode 100644
index 0000000..88c2471
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/applications/appinfo/ManageExternalStorageDetailsTest.java
@@ -0,0 +1,196 @@
+/*
+ * 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.applications.appinfo;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.nullable;
+import static org.mockito.Mockito.doAnswer;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+
+import android.app.AppOpsManager;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.PackageInfo;
+
+import androidx.preference.SwitchPreference;
+
+import com.android.settings.applications.AppStateAppOpsBridge.PermissionState;
+import com.android.settings.applications.AppStateManageExternalStorageBridge;
+import com.android.settings.testutils.shadow.ShadowUserManager;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
+
+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.mockito.stubbing.Answer;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
+import org.robolectric.util.ReflectionHelpers;
+
+import java.util.HashMap;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(shadows = {ShadowUserManager.class})
+public class ManageExternalStorageDetailsTest {
+
+    @Mock
+    private AppOpsManager mAppOpsManager;
+    @Mock
+    private SwitchPreference mSwitchPref;
+    @Mock
+    private MetricsFeatureProvider mMetricsFeatureProvider;
+    @Mock
+    private AppStateManageExternalStorageBridge mBridge;
+
+    private ManageExternalStorageDetails mFragment;
+
+    private final HashMap<Integer, Integer> mUidToOpModeMap = new HashMap<>();
+
+    @Before
+    public void setUp() {
+        // Reset the global trackers
+        mUidToOpModeMap.clear();
+
+        //Start the mockin'
+        MockitoAnnotations.initMocks(this);
+
+        mFragment = new ManageExternalStorageDetails();
+        ReflectionHelpers.setField(mFragment, "mAppOpsManager", mAppOpsManager);
+        ReflectionHelpers.setField(mFragment, "mSwitchPref", mSwitchPref);
+        ReflectionHelpers.setField(mFragment, "mBridge", mBridge);
+        ReflectionHelpers.setField(mFragment, "mMetricsFeatureProvider",
+                mMetricsFeatureProvider);
+
+        mockAppOpsOperations();
+    }
+
+    @Test
+    public void onPreferenceChange_enableManageExternalStorage_shouldTriggerAppOpsManager() {
+        // Inject mock package details
+        final int mockUid = 23333;
+        final String mockPkgName = "com.mock.pkg.1";
+        PackageInfo pkgInfo = mock(PackageInfo.class);
+        pkgInfo.applicationInfo = new ApplicationInfo();
+        pkgInfo.applicationInfo.uid = mockUid;
+
+        ReflectionHelpers.setField(mFragment, "mPackageInfo", pkgInfo);
+        ReflectionHelpers.setField(mFragment, "mPackageName", mockPkgName);
+
+        // Set the initial state to be disabled
+        injectPermissionState(false);
+
+        // Simulate a preference change
+        mFragment.onPreferenceChange(mSwitchPref, /* newValue */ true);
+
+        // Verify that mAppOpsManager was called to allow the app-op
+        verify(mAppOpsManager, times(1))
+                .setUidMode(anyInt(), anyInt(), anyInt());
+        assertThat(mUidToOpModeMap).containsExactly(mockUid, AppOpsManager.MODE_ALLOWED);
+
+        // Verify the mSwitchPref was enabled
+        ArgumentCaptor<Boolean> acSetEnabled = ArgumentCaptor.forClass(Boolean.class);
+        verify(mSwitchPref, times(1)).setEnabled(acSetEnabled.capture());
+        assertThat(acSetEnabled.getAllValues()).containsExactly(true);
+
+        // Verify that mSwitchPref was toggled to on
+        ArgumentCaptor<Boolean> acSetChecked = ArgumentCaptor.forClass(Boolean.class);
+        verify(mSwitchPref, times(1)).setChecked(acSetChecked.capture());
+        assertThat(acSetChecked.getAllValues()).containsExactly(true);
+    }
+
+    @Test
+    public void onPreferenceChange_disableManageExternalStorage_shouldTriggerAppOpsManager() {
+        // Inject mock package details
+        final int mockUid = 24444;
+        final String mockPkgName = "com.mock.pkg.2";
+        PackageInfo pkgInfo = mock(PackageInfo.class);
+        pkgInfo.applicationInfo = new ApplicationInfo();
+        pkgInfo.applicationInfo.uid = mockUid;
+
+        ReflectionHelpers.setField(mFragment, "mPackageInfo", pkgInfo);
+        ReflectionHelpers.setField(mFragment, "mPackageName", mockPkgName);
+
+        // Set the initial state to be enabled
+        injectPermissionState(true);
+
+        // Simulate a preference change
+        mFragment.onPreferenceChange(mSwitchPref, /* newValue */ false);
+
+        // Verify that mAppOpsManager was called to deny the app-op
+        verify(mAppOpsManager, times(1))
+                .setUidMode(anyInt(), anyInt(), anyInt());
+        assertThat(mUidToOpModeMap).containsExactly(mockUid, AppOpsManager.MODE_ERRORED);
+
+        // Verify the mSwitchPref was enabled
+        ArgumentCaptor<Boolean> acSetEnabled = ArgumentCaptor.forClass(Boolean.class);
+        verify(mSwitchPref, times(1)).setEnabled(acSetEnabled.capture());
+        assertThat(acSetEnabled.getAllValues()).containsExactly(true);
+
+        // Verify that mSwitchPref was toggled to off
+        ArgumentCaptor<Boolean> acSetChecked = ArgumentCaptor.forClass(Boolean.class);
+        verify(mSwitchPref, times(1)).setChecked(acSetChecked.capture());
+        assertThat(acSetChecked.getAllValues()).containsExactly(false);
+    }
+
+    private void injectPermissionState(boolean enabled) {
+        PermissionState state = new PermissionState(null, null);
+        state.permissionDeclared = true;
+        state.appOpMode = enabled ? AppOpsManager.MODE_ALLOWED : AppOpsManager.MODE_ERRORED;
+        ReflectionHelpers.setField(mFragment, "mPermissionState", state);
+    }
+
+    private void mockAppOpsOperations() {
+        Answer<Void> answerSetUidMode = invocation -> {
+            int code = invocation.getArgument(0);
+            int uid = invocation.getArgument(1);
+            int mode = invocation.getArgument(2);
+
+            if (code != AppOpsManager.OP_MANAGE_EXTERNAL_STORAGE) {
+                return null;
+            }
+
+            mUidToOpModeMap.put(uid, mode);
+
+            return null;
+        };
+
+        doAnswer(answerSetUidMode).when(mAppOpsManager)
+                .setUidMode(anyInt(), anyInt(), anyInt());
+
+        Answer<PermissionState> answerPermState = invocation -> {
+            String packageName = invocation.getArgument(0);
+            int uid = invocation.getArgument(1);
+            PermissionState res = new PermissionState(packageName, null);
+            res.permissionDeclared = false;
+
+            if (mUidToOpModeMap.containsKey(uid)) {
+                res.permissionDeclared = true;
+                res.appOpMode = mUidToOpModeMap.get(uid);
+            }
+            return res;
+        };
+
+        doAnswer(answerPermState).when(mBridge)
+                .getManageExternalStoragePermState(nullable(String.class), anyInt());
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAppPickerFragmentTest.java b/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAppPickerFragmentTest.java
index ee05d29..3e96847 100644
--- a/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAppPickerFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAppPickerFragmentTest.java
@@ -31,15 +31,15 @@
 
 import com.android.internal.logging.nano.MetricsProto;
 import com.android.settings.testutils.FakeFeatureFactory;
-import com.android.settings.widget.RadioButtonPreference;
 import com.android.settingslib.applications.DefaultAppInfo;
+import com.android.settingslib.widget.RadioButtonPreference;
 
 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.Robolectric;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
 
@@ -49,20 +49,20 @@
 @RunWith(RobolectricTestRunner.class)
 public class DefaultAppPickerFragmentTest {
 
-    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
-    private FragmentActivity mActivity;
     @Mock
     private PreferenceScreen mScreen;
     @Mock
     private UserManager mUserManager;
 
     private FakeFeatureFactory mFeatureFactory;
+    private FragmentActivity mActivity;
     private TestFragment mFragment;
 
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
         mFeatureFactory = FakeFeatureFactory.setupForTest();
+        mActivity = spy(Robolectric.buildActivity(FragmentActivity.class).get());
         mFragment = spy(new TestFragment());
 
         when(mActivity.getSystemService(Context.USER_SERVICE)).thenReturn(mUserManager);
diff --git a/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAutofillPickerTest.java b/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAutofillPickerTest.java
index 81a16d5..9ec7f0b 100644
--- a/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAutofillPickerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAutofillPickerTest.java
@@ -40,6 +40,7 @@
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.testutils.FakeFeatureFactory;
+import com.android.settings.testutils.shadow.ShadowFragment;
 import com.android.settings.testutils.shadow.ShadowSecureSettings;
 import com.android.settingslib.applications.DefaultAppInfo;
 
@@ -133,6 +134,7 @@
     }
 
     @Test
+    @Config(shadows = ShadowFragment.class)
     public void mUserId_shouldDeriveUidFromManagedCaller() {
         setupUserManager();
         setupCaller();
@@ -145,6 +147,7 @@
     }
 
     @Test
+    @Config(shadows = ShadowFragment.class)
     public void mUserId_shouldDeriveUidFromMainCaller() {
         setupUserManager();
         setupCaller();
@@ -157,6 +160,7 @@
     }
 
     @Test
+    @Config(shadows = ShadowFragment.class)
     public void mUserId_shouldDeriveUidFromManagedClick() {
         setupUserManager();
         setupClick(/* forWork= */ true);
@@ -169,6 +173,7 @@
     }
 
     @Test
+    @Config(shadows = ShadowFragment.class)
     public void mUserId_shouldDeriveUidFromMainClick() {
         setupUserManager();
         setupClick(/* forWork= */ false);
diff --git a/tests/robotests/src/com/android/settings/applications/manageapplications/ManageApplicationsTest.java b/tests/robotests/src/com/android/settings/applications/manageapplications/ManageApplicationsTest.java
index 58b1408..33faee0 100644
--- a/tests/robotests/src/com/android/settings/applications/manageapplications/ManageApplicationsTest.java
+++ b/tests/robotests/src/com/android/settings/applications/manageapplications/ManageApplicationsTest.java
@@ -56,8 +56,11 @@
 import androidx.recyclerview.widget.RecyclerView;
 
 import com.android.settings.R;
+import com.android.settings.testutils.shadow.ShadowUserManager;
 import com.android.settings.widget.LoadingViewController;
 import com.android.settingslib.applications.ApplicationsState;
+import com.android.settingslib.applications.ApplicationsState.AppEntry;
+import com.android.settingslib.applications.ApplicationsState.AppFilter;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -66,12 +69,14 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
 import org.robolectric.fakes.RoboMenuItem;
 import org.robolectric.util.ReflectionHelpers;
 
 import java.util.ArrayList;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = ShadowUserManager.class)
 public class ManageApplicationsTest {
 
     @Mock
@@ -99,6 +104,7 @@
     public void setUp() {
         MockitoAnnotations.initMocks(this);
         mContext = RuntimeEnvironment.application;
+        mContext.setTheme(R.style.Theme_AppCompat);
         mAppReset = new RoboMenuItem(R.id.reset_app_preferences);
         mSortRecent = new RoboMenuItem(R.id.sort_order_recent_notification);
         mSortFrequent = new RoboMenuItem(R.id.sort_order_frequent_notification);
@@ -109,9 +115,12 @@
         mFragment = spy(new ManageApplications());
         when(mFragment.getContext()).thenReturn(mContext);
         when(mFragment.getActivity()).thenReturn(mActivity);
+        ReflectionHelpers.setField(mFragment, "mUserManager",
+                mContext.getSystemService(UserManager.class));
         when(mActivity.getResources()).thenReturn(mResources);
         when(mActivity.getSystemService(UserManager.class)).thenReturn(mUserManager);
         when(mActivity.getPackageManager()).thenReturn(mPackageManager);
+        when(mActivity.getLayoutInflater()).thenReturn(LayoutInflater.from(mContext));
     }
 
     @Test
@@ -366,6 +375,7 @@
         appEntry.extraInfo = mock(AppFilterItem.class);
         appList.add(appEntry);
         ReflectionHelpers.setField(adapter, "mEntries", appList);
+        ReflectionHelpers.setField(adapter, "mContext", mContext);
 
         adapter.onBindViewHolder(holder, 0);
         // no crash? yay!
@@ -387,6 +397,7 @@
         appEntry.info = mock(ApplicationInfo.class);
         appList.add(appEntry);
         ReflectionHelpers.setField(adapter, "mEntries", appList);
+        ReflectionHelpers.setField(adapter, "mContext", mContext);
 
         adapter.onBindViewHolder(holder, 0);
         verify(holder).updateSwitch(any(), anyBoolean(), anyBoolean());
@@ -406,6 +417,7 @@
         appEntry.info = mock(ApplicationInfo.class);
         appList.add(appEntry);
         ReflectionHelpers.setField(adapter, "mEntries", appList);
+        ReflectionHelpers.setField(adapter, "mContext", mContext);
 
         adapter.onBindViewHolder(holder, 0);
         verify(holder, never()).updateSwitch(any(), anyBoolean(), anyBoolean());
@@ -494,6 +506,116 @@
         assertThat(mFragment.mRecyclerView.getPaddingTop()).isEqualTo(0);
     }
 
+    @Test
+    public void onSaveInstanceState_noSearchView_shouldNotSetBundleValue() {
+        final Bundle bundle = new Bundle();
+        ReflectionHelpers.setField(mFragment, "mResetAppsHelper", mock(ResetAppsHelper.class));
+        ReflectionHelpers.setField(mFragment, "mFilter", mock(AppFilterItem.class));
+        ReflectionHelpers.setField(mFragment, "mApplications",
+                mock(ManageApplications.ApplicationsAdapter.class));
+
+        mFragment.onSaveInstanceState(bundle);
+
+        assertThat(bundle.containsKey(ManageApplications.EXTRA_EXPAND_SEARCH_VIEW)).isFalse();
+    }
+
+    @Test
+    public void onSaveInstanceState_searchViewSet_shouldSetBundleValue() {
+        final SearchView searchView = mock(SearchView.class);
+        final Bundle bundle = new Bundle();
+        ReflectionHelpers.setField(mFragment, "mResetAppsHelper", mock(ResetAppsHelper.class));
+        ReflectionHelpers.setField(mFragment, "mFilter", mock(AppFilterItem.class));
+        ReflectionHelpers.setField(mFragment, "mApplications",
+                mock(ManageApplications.ApplicationsAdapter.class));
+        ReflectionHelpers.setField(mFragment, "mSearchView", searchView);
+        when(searchView.isIconified()).thenReturn(true);
+
+        mFragment.onSaveInstanceState(bundle);
+
+        assertThat(bundle.containsKey(ManageApplications.EXTRA_EXPAND_SEARCH_VIEW)).isTrue();
+        assertThat(bundle.getBoolean(ManageApplications.EXTRA_EXPAND_SEARCH_VIEW)).isFalse();
+    }
+
+    @Test
+    public void createHeader_batteryListType_hasCorrectItems() {
+        ReflectionHelpers.setField(mFragment, "mListType", ManageApplications.LIST_TYPE_HIGH_POWER);
+        ReflectionHelpers.setField(mFragment, "mRootView",
+                LayoutInflater.from(mContext).inflate(R.layout.manage_applications_apps, null));
+        mFragment.mRecyclerView = new RecyclerView(mContext);
+        final ManageApplications.ApplicationsAdapter adapter =
+                spy(new ManageApplications.ApplicationsAdapter(mState, mFragment,
+                        AppFilterRegistry.getInstance().get(FILTER_APPS_ALL), new Bundle()));
+        ReflectionHelpers.setField(mFragment, "mApplications", adapter);
+
+        mFragment.createHeader();
+
+        assertThat(mFragment.mFilterAdapter.getCount()).isEqualTo(2);
+        assertThat(mFragment.mFilterAdapter.getItem(0)).isEqualTo(
+                mContext.getString(R.string.high_power_filter_on));
+        assertThat(mFragment.mFilterAdapter.getItem(1)).isEqualTo(
+                mContext.getString(R.string.filter_all_apps));
+    }
+
+    @Test
+    public void createHeader_notificationListType_hasCorrectItems() {
+        ReflectionHelpers.setField(mFragment, "mListType", LIST_TYPE_NOTIFICATION);
+        ReflectionHelpers.setField(mFragment, "mRootView",
+                LayoutInflater.from(mContext).inflate(R.layout.manage_applications_apps, null));
+        mFragment.mRecyclerView = new RecyclerView(mContext);
+        final ManageApplications.ApplicationsAdapter adapter =
+                spy(new ManageApplications.ApplicationsAdapter(mState, mFragment,
+                        AppFilterRegistry.getInstance().get(FILTER_APPS_ALL), new Bundle()));
+        ReflectionHelpers.setField(mFragment, "mApplications", adapter);
+
+        mFragment.createHeader();
+
+        assertThat(mFragment.mFilterAdapter.getCount()).isEqualTo(3);
+        assertThat(mFragment.mFilterAdapter.getItem(0)).isEqualTo(
+                mContext.getString(R.string.sort_order_recent_notification));
+        assertThat(mFragment.mFilterAdapter.getItem(1)).isEqualTo(
+                mContext.getString(R.string.sort_order_frequent_notification));
+        assertThat(mFragment.mFilterAdapter.getItem(2)).isEqualTo(
+                mContext.getString(R.string.filter_notif_blocked_apps));
+    }
+
+    @Test
+    public void onItemSelected_powerWhiteApps_returnCorrectValue() {
+        ReflectionHelpers.setField(mFragment, "mListType", ManageApplications.LIST_TYPE_HIGH_POWER);
+        ReflectionHelpers.setField(mFragment, "mRootView",
+                LayoutInflater.from(mContext).inflate(R.layout.manage_applications_apps, null));
+        mFragment.mRecyclerView = new RecyclerView(mContext);
+        final ManageApplications.ApplicationsAdapter adapter =
+                spy(new ManageApplications.ApplicationsAdapter(mState, mFragment,
+                        AppFilterRegistry.getInstance().get(FILTER_APPS_ALL), new Bundle()));
+        ReflectionHelpers.setField(mFragment, "mApplications", adapter);
+        mFragment.createHeader();
+
+        mFragment.onItemSelected(null, null, 0, 0);
+
+        AppFilter filter = ReflectionHelpers.getField(adapter, "mCompositeFilter");
+        assertThat(filter.filterApp(createPowerWhiteListApp(false))).isFalse();
+        assertThat(filter.filterApp(createPowerWhiteListApp(true))).isTrue();
+    }
+
+    @Test
+    public void onItemSelected_allApps_returnCorrectValue() {
+        ReflectionHelpers.setField(mFragment, "mListType", ManageApplications.LIST_TYPE_HIGH_POWER);
+        ReflectionHelpers.setField(mFragment, "mRootView",
+                LayoutInflater.from(mContext).inflate(R.layout.manage_applications_apps, null));
+        mFragment.mRecyclerView = new RecyclerView(mContext);
+        final ManageApplications.ApplicationsAdapter adapter =
+                spy(new ManageApplications.ApplicationsAdapter(mState, mFragment,
+                        AppFilterRegistry.getInstance().get(FILTER_APPS_ALL), new Bundle()));
+        ReflectionHelpers.setField(mFragment, "mApplications", adapter);
+        mFragment.createHeader();
+
+        mFragment.onItemSelected(null, null, 1, 0);
+
+        AppFilter filter = ReflectionHelpers.getField(adapter, "mCompositeFilter");
+        assertThat(filter.filterApp(createPowerWhiteListApp(false))).isTrue();
+        assertThat(filter.filterApp(createPowerWhiteListApp(true))).isTrue();
+    }
+
     private void setUpOptionMenus() {
         when(mMenu.findItem(anyInt())).thenAnswer(invocation -> {
             final Object[] args = invocation.getArguments();
@@ -511,13 +633,21 @@
         });
     }
 
-    private ArrayList<ApplicationsState.AppEntry> getTestAppList(String[] appNames) {
-        final ArrayList<ApplicationsState.AppEntry> appList = new ArrayList<>();
+    private ArrayList<AppEntry> getTestAppList(String[] appNames) {
+        final ArrayList<AppEntry> appList = new ArrayList<>();
         for (String name : appNames) {
-            final ApplicationsState.AppEntry appEntry = mock(ApplicationsState.AppEntry.class);
+            final AppEntry appEntry = mock(AppEntry.class);
             appEntry.label = name;
             appList.add(appEntry);
         }
         return appList;
     }
+
+    private AppEntry createPowerWhiteListApp(boolean isPowerWhiteListed) {
+        final ApplicationInfo info = new ApplicationInfo();
+        info.sourceDir = "abc";
+        final AppEntry entry = new AppEntry(mContext, info, 0);
+        entry.extraInfo = isPowerWhiteListed ? Boolean.TRUE : Boolean.FALSE;
+        return entry;
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/applications/manageapplications/MusicViewHolderControllerTest.java b/tests/robotests/src/com/android/settings/applications/manageapplications/MusicViewHolderControllerTest.java
index 74fb98f..fa1b7a2 100644
--- a/tests/robotests/src/com/android/settings/applications/manageapplications/MusicViewHolderControllerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/manageapplications/MusicViewHolderControllerTest.java
@@ -61,7 +61,7 @@
         MockitoAnnotations.initMocks(this);
         mContext = RuntimeEnvironment.application;
         final String fsUuid = new VolumeInfo("id", 0, null, "id").fsUuid;
-        mController = new MusicViewHolderController(mContext, mSource, fsUuid, new UserHandle(0));
+        mController = new MusicViewHolderController(mContext, mSource, fsUuid, UserHandle.of(-1));
 
         View view = ApplicationViewHolder.newView(new FrameLayout(mContext));
         mHolder = new ApplicationViewHolder(view);
diff --git a/tests/robotests/src/com/android/settings/applications/manageapplications/PhotosViewHolderControllerTest.java b/tests/robotests/src/com/android/settings/applications/manageapplications/PhotosViewHolderControllerTest.java
index 5475b9c..f3c699c 100644
--- a/tests/robotests/src/com/android/settings/applications/manageapplications/PhotosViewHolderControllerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/manageapplications/PhotosViewHolderControllerTest.java
@@ -60,7 +60,7 @@
         MockitoAnnotations.initMocks(this);
         mContext = RuntimeEnvironment.application;
         final String fsUuid = new VolumeInfo("id", 0, null, "id").fsUuid;
-        mController = new PhotosViewHolderController(mContext, mSource, fsUuid, new UserHandle(0));
+        mController = new PhotosViewHolderController(mContext, mSource, fsUuid, UserHandle.of(-1));
 
         final View view = ApplicationViewHolder.newView(new FrameLayout(mContext));
         mHolder = new ApplicationViewHolder(view);
diff --git a/tests/robotests/src/com/android/settings/applications/specialaccess/DefaultPaymentSettingsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/specialaccess/DefaultPaymentSettingsPreferenceControllerTest.java
index a287ea6..cc960d7 100644
--- a/tests/robotests/src/com/android/settings/applications/specialaccess/DefaultPaymentSettingsPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/specialaccess/DefaultPaymentSettingsPreferenceControllerTest.java
@@ -76,4 +76,14 @@
 
         assertThat(mController.isAvailable()).isFalse();
     }
+
+    @Test
+    public void getAvailabilityStatus_NfcIsDisabled_shouldReturnDisabled() {
+        when(mPackageManager.hasSystemFeature(anyString())).thenReturn(true);
+        when(mUserManager.isAdminUser()).thenReturn(true);
+        when(mNfcAdapter.isEnabled()).thenReturn(false);
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(
+                DefaultPaymentSettingsPreferenceController.DISABLED_DEPENDENT_SETTING);
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/applications/specialaccess/PaymentSettingsEnablerTest.java b/tests/robotests/src/com/android/settings/applications/specialaccess/PaymentSettingsEnablerTest.java
new file mode 100644
index 0000000..f1d8952
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/applications/specialaccess/PaymentSettingsEnablerTest.java
@@ -0,0 +1,67 @@
+/*
+ * 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.applications.specialaccess;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.spy;
+
+import android.content.Context;
+import android.nfc.NfcAdapter;
+
+import androidx.preference.Preference;
+
+import com.android.settings.R;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+@RunWith(RobolectricTestRunner.class)
+public class PaymentSettingsEnablerTest {
+    private Context mContext;
+    private Preference mPreference;
+    private PaymentSettingsEnabler mEnabler;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mContext = RuntimeEnvironment.application;
+        mPreference = new Preference(mContext);
+        mEnabler = spy(new PaymentSettingsEnabler(mContext, mPreference));
+    }
+
+    @Test
+    public void handleNfcStateChanged_stateOff_shouldChangeSummaryAndDisablePreference() {
+        mEnabler.handleNfcStateChanged(NfcAdapter.STATE_OFF);
+
+        assertThat(mPreference.getSummary().toString()).contains(
+                mContext.getString(R.string.nfc_and_payment_settings_payment_off_nfc_off_summary));
+        assertThat(mPreference.isEnabled()).isFalse();
+    }
+
+    @Test
+    public void handleNfcStateChanged_stateOn_shouldClearSummaryAndEnablePreference() {
+        mEnabler.handleNfcStateChanged(NfcAdapter.STATE_ON);
+
+        assertThat(mPreference.getSummary()).isNull();
+        assertThat(mPreference.isEnabled()).isTrue();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminListPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminListPreferenceControllerTest.java
index 18b4f18..3b20dd4 100644
--- a/tests/robotests/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminListPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminListPreferenceControllerTest.java
@@ -33,37 +33,26 @@
 import androidx.lifecycle.LifecycleOwner;
 
 import com.android.settingslib.core.lifecycle.Lifecycle;
-import com.android.settingslib.widget.FooterPreferenceMixinCompat;
 
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
 
 @RunWith(RobolectricTestRunner.class)
 public class DeviceAdminListPreferenceControllerTest {
-
-    @Mock
-    private FooterPreferenceMixinCompat mFooterPreferenceMixin;
     private Context mContext;
-    private DeviceAdminListPreferenceController mController;
-    private LifecycleOwner mLifecycleOwner;
     private Lifecycle mLifecycle;
 
     @Before
     public void setUp() {
-        MockitoAnnotations.initMocks(this);
         mContext = spy(RuntimeEnvironment.application);
 
-        mLifecycleOwner = () -> mLifecycle;
-        mLifecycle = new Lifecycle(mLifecycleOwner);
+        final LifecycleOwner lifecycleOwner = () -> mLifecycle;
+        mLifecycle = new Lifecycle(lifecycleOwner);
 
-        mController = spy(new DeviceAdminListPreferenceController(mContext, "test_key")
-                .setFooterPreferenceMixin(mFooterPreferenceMixin));
-        mLifecycle.addObserver(mController);
+        mLifecycle.addObserver(new DeviceAdminListPreferenceController(mContext, "test_key"));
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesControllerTest.java b/tests/robotests/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesControllerTest.java
new file mode 100644
index 0000000..730a3cc
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesControllerTest.java
@@ -0,0 +1,67 @@
+/*
+ * 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.applications.specialaccess.interactacrossprofiles;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.robolectric.Shadows.shadowOf;
+
+import android.content.Context;
+import android.content.pm.UserInfo;
+import android.os.UserManager;
+
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.core.BasePreferenceController;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+
+@RunWith(RobolectricTestRunner.class)
+public class InteractAcrossProfilesControllerTest {
+    private static final int PERSONAL_PROFILE_ID = 0;
+    private static final int WORK_PROFILE_ID = 10;
+
+    private final Context mContext = ApplicationProvider.getApplicationContext();
+    private final UserManager mUserManager = mContext.getSystemService(UserManager.class);
+    private final InteractAcrossProfilesController mController =
+            new InteractAcrossProfilesController(mContext, "test_key");
+
+    @Test
+    public void getAvailabilityStatus_multipleProfiles_returnsAvailable() {
+        shadowOf(mUserManager).addUser(
+                PERSONAL_PROFILE_ID, "personal-profile"/* name */, 0/* flags */);
+        shadowOf(mUserManager).addProfile(
+                PERSONAL_PROFILE_ID,
+                WORK_PROFILE_ID,
+                "work-profile"/* profileName */,
+                UserInfo.FLAG_MANAGED_PROFILE);
+
+        assertThat(mController.getAvailabilityStatus())
+                .isEqualTo(BasePreferenceController.AVAILABLE);
+    }
+
+    @Test
+    public void getAvailabilityStatus_oneProfile_returnsDisabled() {
+        shadowOf(mUserManager).addUser(
+                PERSONAL_PROFILE_ID, "personal-profile"/* name */, 0/* flags */);
+
+        assertThat(mController.getAvailabilityStatus())
+                .isEqualTo(BasePreferenceController.DISABLED_FOR_USER);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesDetailsTest.java b/tests/robotests/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesDetailsTest.java
new file mode 100644
index 0000000..9e48b9e
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesDetailsTest.java
@@ -0,0 +1,79 @@
+/*
+ * 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.applications.specialaccess.interactacrossprofiles;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.robolectric.Shadows.shadowOf;
+
+import android.app.AppOpsManager;
+import android.content.Context;
+import android.content.pm.PackageManager;
+import android.content.pm.PermissionInfo;
+import android.os.Process;
+
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.R;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+
+@RunWith(RobolectricTestRunner.class)
+public class InteractAcrossProfilesDetailsTest {
+
+    private static final String CROSS_PROFILE_PACKAGE_NAME = "crossProfilePackage";
+    public static final String INTERACT_ACROSS_PROFILES_PERMISSION =
+            "android.permission.INTERACT_ACROSS_PROFILES";
+
+    private final Context mContext = ApplicationProvider.getApplicationContext();
+    private final AppOpsManager mAppOpsManager = mContext.getSystemService(AppOpsManager.class);
+    private final PackageManager mPackageManager = mContext.getPackageManager();
+    private final InteractAcrossProfilesDetails mFragment = new InteractAcrossProfilesDetails();
+
+    @Test
+    public void getPreferenceSummary_appOpAllowed_returnsAllowed() {
+        String appOp = AppOpsManager.permissionToOp(INTERACT_ACROSS_PROFILES_PERMISSION);
+        shadowOf(mAppOpsManager).setMode(
+                appOp, Process.myUid(), CROSS_PROFILE_PACKAGE_NAME, AppOpsManager.MODE_ALLOWED);
+        shadowOf(mPackageManager).addPermissionInfo(createCrossProfilesPermissionInfo());
+
+        assertThat(mFragment.getPreferenceSummary(
+                mContext, CROSS_PROFILE_PACKAGE_NAME, Process.myUid()))
+                .isEqualTo(mContext.getString(R.string.app_permission_summary_allowed));
+    }
+
+    @Test
+    public void getPreferenceSummary_appOpNotAllowed_returnsNotAllowed() {
+        String appOp = AppOpsManager.permissionToOp(INTERACT_ACROSS_PROFILES_PERMISSION);
+        shadowOf(mAppOpsManager).setMode(
+                appOp, Process.myUid(), CROSS_PROFILE_PACKAGE_NAME, AppOpsManager.MODE_IGNORED);
+        shadowOf(mPackageManager).addPermissionInfo(createCrossProfilesPermissionInfo());
+
+        assertThat(mFragment.getPreferenceSummary(
+                mContext, CROSS_PROFILE_PACKAGE_NAME, Process.myUid()))
+                .isEqualTo(mContext.getString(R.string.app_permission_summary_not_allowed));
+    }
+
+    private PermissionInfo createCrossProfilesPermissionInfo() {
+        PermissionInfo permissionInfo = new PermissionInfo();
+        permissionInfo.name = INTERACT_ACROSS_PROFILES_PERMISSION;
+        permissionInfo.protectionLevel = PermissionInfo.PROTECTION_FLAG_APPOP;
+        return permissionInfo;
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesPreferenceControllerTest.java
new file mode 100644
index 0000000..bac7437
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesPreferenceControllerTest.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.applications.specialaccess.interactacrossprofiles;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.robolectric.Shadows.shadowOf;
+
+import android.content.Context;
+import android.content.pm.CrossProfileApps;
+
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.core.BasePreferenceController;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+
+@RunWith(RobolectricTestRunner.class)
+public class InteractAcrossProfilesPreferenceControllerTest {
+
+    private static final String CROSS_PROFILE_PACKAGE_NAME = "crossProfilePackage";
+    private static final String NOT_CROSS_PROFILE_PACKAGE_NAME = "notCrossProfilePackage";
+
+    private final Context mContext = ApplicationProvider.getApplicationContext();
+    private final CrossProfileApps mCrossProfileApps =
+            mContext.getSystemService(CrossProfileApps.class);
+    private final InteractAcrossProfilesDetailsPreferenceController mController =
+            new InteractAcrossProfilesDetailsPreferenceController(mContext, "test_key");
+
+    @Test
+    public void getAvailabilityStatus_crossProfilePackage_returnsAvailable() {
+        mController.setPackageName(CROSS_PROFILE_PACKAGE_NAME);
+        shadowOf(mCrossProfileApps).addCrossProfilePackage(CROSS_PROFILE_PACKAGE_NAME);
+
+        assertThat(mController.getAvailabilityStatus())
+                .isEqualTo(BasePreferenceController.AVAILABLE);
+    }
+
+    @Test
+    public void getAvailabilityStatus_notCrossProfilePackage_returnsDisabled() {
+        mController.setPackageName(NOT_CROSS_PROFILE_PACKAGE_NAME);
+
+        assertThat(mController.getAvailabilityStatus())
+                .isEqualTo(BasePreferenceController.DISABLED_FOR_USER);
+    }
+
+    @Test
+    public void getDetailFragmentClass_shouldReturnInteractAcrossProfilesDetails() {
+        assertThat(mController.getDetailFragmentClass())
+                .isEqualTo(InteractAcrossProfilesDetails.class);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesSettingsTest.java b/tests/robotests/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesSettingsTest.java
new file mode 100644
index 0000000..db5507a
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesSettingsTest.java
@@ -0,0 +1,160 @@
+/*
+ * 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.applications.specialaccess.interactacrossprofiles;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.robolectric.Shadows.shadowOf;
+
+import android.app.AppOpsManager;
+import android.content.Context;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.CrossProfileApps;
+import android.content.pm.PackageManager;
+import android.content.pm.PermissionInfo;
+import android.os.UserHandle;
+import android.os.UserManager;
+import android.util.Pair;
+
+import androidx.test.core.app.ApplicationProvider;
+
+import com.google.common.collect.ImmutableList;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.shadows.ShadowProcess;
+
+import java.util.List;
+
+@RunWith(RobolectricTestRunner.class)
+public class InteractAcrossProfilesSettingsTest {
+
+    private static final int PERSONAL_PROFILE_ID = 0;
+    private static final int WORK_PROFILE_ID = 10;
+    private static final int WORK_UID = UserHandle.PER_USER_RANGE * WORK_PROFILE_ID;
+    private static final int PACKAGE_UID = 0;
+
+    private static final String PERSONAL_CROSS_PROFILE_PACKAGE = "personalCrossProfilePackage";
+    private static final String PERSONAL_NON_CROSS_PROFILE_PACKAGE =
+            "personalNonCrossProfilePackage";
+    private static final String WORK_CROSS_PROFILE_PACKAGE = "workCrossProfilePackage";
+    private static final String WORK_NON_CROSS_PROFILE_PACKAGE =
+            "workNonCrossProfilePackage";
+    private static final List<String> PERSONAL_PROFILE_INSTALLED_PACKAGES =
+            ImmutableList.of(PERSONAL_CROSS_PROFILE_PACKAGE, PERSONAL_NON_CROSS_PROFILE_PACKAGE);
+    private static final List<String> WORK_PROFILE_INSTALLED_PACKAGES =
+            ImmutableList.of(WORK_CROSS_PROFILE_PACKAGE, WORK_NON_CROSS_PROFILE_PACKAGE);
+    public static final String INTERACT_ACROSS_PROFILES_PERMISSION =
+            "android.permission.INTERACT_ACROSS_PROFILES";
+
+    private final Context mContext = ApplicationProvider.getApplicationContext();
+    private final PackageManager mPackageManager = mContext.getPackageManager();
+    private final UserManager mUserManager = mContext.getSystemService(UserManager.class);
+    private final CrossProfileApps mCrossProfileApps =
+            mContext.getSystemService(CrossProfileApps.class);
+    private final AppOpsManager mAppOpsManager = mContext.getSystemService(AppOpsManager.class);
+    private final InteractAcrossProfilesSettings mFragment = new InteractAcrossProfilesSettings();
+
+    @Test
+    public void collectConfigurableApps_fromPersonal_returnsPersonalPackages() {
+        shadowOf(mUserManager).addUser(
+                PERSONAL_PROFILE_ID, "personal-profile"/* name */, 0/* flags */);
+        shadowOf(mUserManager).addProfile(
+                PERSONAL_PROFILE_ID, WORK_PROFILE_ID,
+                "work-profile"/* profileName */, 0/* profileFlags */);
+        shadowOf(mPackageManager).setInstalledPackagesForUserId(
+                PERSONAL_PROFILE_ID, PERSONAL_PROFILE_INSTALLED_PACKAGES);
+        shadowOf(mPackageManager).setInstalledPackagesForUserId(
+                WORK_PROFILE_ID, WORK_PROFILE_INSTALLED_PACKAGES);
+        shadowOf(mCrossProfileApps).addCrossProfilePackage(PERSONAL_CROSS_PROFILE_PACKAGE);
+        shadowOf(mCrossProfileApps).addCrossProfilePackage(WORK_CROSS_PROFILE_PACKAGE);
+
+        List<Pair<ApplicationInfo, UserHandle>> apps = mFragment.collectConfigurableApps(
+                mPackageManager, mUserManager, mCrossProfileApps);
+
+        assertThat(apps.size()).isEqualTo(1);
+        assertThat(apps.get(0).first.packageName).isEqualTo(PERSONAL_CROSS_PROFILE_PACKAGE);
+    }
+
+    @Test
+    public void collectConfigurableApps_fromWork_returnsPersonalPackages() {
+        shadowOf(mUserManager).addUser(
+                PERSONAL_PROFILE_ID, "personal-profile"/* name */, 0/* flags */);
+        shadowOf(mUserManager).addProfile(
+                PERSONAL_PROFILE_ID, WORK_PROFILE_ID,
+                "work-profile"/* profileName */, 0/* profileFlags */);
+        ShadowProcess.setUid(WORK_UID);
+        shadowOf(mPackageManager).setInstalledPackagesForUserId(
+                PERSONAL_PROFILE_ID, PERSONAL_PROFILE_INSTALLED_PACKAGES);
+        shadowOf(mPackageManager).setInstalledPackagesForUserId(
+                WORK_PROFILE_ID, WORK_PROFILE_INSTALLED_PACKAGES);
+        shadowOf(mCrossProfileApps).addCrossProfilePackage(PERSONAL_CROSS_PROFILE_PACKAGE);
+        shadowOf(mCrossProfileApps).addCrossProfilePackage(WORK_CROSS_PROFILE_PACKAGE);
+
+        List<Pair<ApplicationInfo, UserHandle>> apps = mFragment.collectConfigurableApps(
+                mPackageManager, mUserManager, mCrossProfileApps);
+
+        assertThat(apps.size()).isEqualTo(1);
+        assertThat(apps.get(0).first.packageName).isEqualTo(PERSONAL_CROSS_PROFILE_PACKAGE);
+    }
+
+    @Test
+    public void collectConfigurableApps_onlyOneProfile_returnsEmpty() {
+        shadowOf(mUserManager).addUser(
+                PERSONAL_PROFILE_ID, "personal-profile"/* name */, 0/* flags */);
+        shadowOf(mPackageManager).setInstalledPackagesForUserId(
+                PERSONAL_PROFILE_ID, PERSONAL_PROFILE_INSTALLED_PACKAGES);
+        shadowOf(mCrossProfileApps).addCrossProfilePackage(PERSONAL_CROSS_PROFILE_PACKAGE);
+
+        List<Pair<ApplicationInfo, UserHandle>> apps = mFragment.collectConfigurableApps(
+                mPackageManager, mUserManager, mCrossProfileApps);
+
+        assertThat(apps).isEmpty();
+    }
+
+    @Test
+    public void getNumberOfEnabledApps_returnsNumberOfEnabledApps() {
+        shadowOf(mUserManager).addUser(
+                PERSONAL_PROFILE_ID, "personal-profile"/* name */, 0/* flags */);
+        shadowOf(mUserManager).addProfile(
+                PERSONAL_PROFILE_ID, WORK_PROFILE_ID,
+                "work-profile"/* profileName */, 0/* profileFlags */);
+        shadowOf(mPackageManager).setInstalledPackagesForUserId(
+                PERSONAL_PROFILE_ID, PERSONAL_PROFILE_INSTALLED_PACKAGES);
+        shadowOf(mCrossProfileApps).addCrossProfilePackage(PERSONAL_CROSS_PROFILE_PACKAGE);
+        shadowOf(mCrossProfileApps).addCrossProfilePackage(PERSONAL_NON_CROSS_PROFILE_PACKAGE);
+        String appOp = AppOpsManager.permissionToOp(INTERACT_ACROSS_PROFILES_PERMISSION);
+        shadowOf(mAppOpsManager).setMode(
+                appOp, PACKAGE_UID, PERSONAL_CROSS_PROFILE_PACKAGE, AppOpsManager.MODE_ALLOWED);
+        shadowOf(mAppOpsManager).setMode(
+                appOp, PACKAGE_UID, PERSONAL_CROSS_PROFILE_PACKAGE, AppOpsManager.MODE_IGNORED);
+        shadowOf(mPackageManager).addPermissionInfo(createCrossProfilesPermissionInfo());
+
+        int numOfApps = mFragment.getNumberOfEnabledApps(
+                mContext, mPackageManager, mUserManager, mCrossProfileApps);
+
+        assertThat(numOfApps).isEqualTo(1);
+    }
+
+    private PermissionInfo createCrossProfilesPermissionInfo() {
+        PermissionInfo permissionInfo = new PermissionInfo();
+        permissionInfo.name = INTERACT_ACROSS_PROFILES_PERMISSION;
+        permissionInfo.protectionLevel = PermissionInfo.PROTECTION_FLAG_APPOP;
+        return permissionInfo;
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/applications/specialaccess/notificationaccess/NotificationAccessDetailsTest.java b/tests/robotests/src/com/android/settings/applications/specialaccess/notificationaccess/NotificationAccessDetailsTest.java
new file mode 100644
index 0000000..26a78d0
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/applications/specialaccess/notificationaccess/NotificationAccessDetailsTest.java
@@ -0,0 +1,66 @@
+/*
+ * 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.applications.specialaccess.notificationaccess;
+
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+
+import android.content.Context;
+
+import com.android.internal.logging.nano.MetricsProto;
+import com.android.settings.testutils.FakeFeatureFactory;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+@RunWith(RobolectricTestRunner.class)
+public class NotificationAccessDetailsTest {
+
+    private Context mContext;
+    private FakeFeatureFactory mFeatureFactory;
+    private NotificationAccessDetails mFragment;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mFeatureFactory = FakeFeatureFactory.setupForTest();
+        mFragment = spy(new NotificationAccessDetails());
+        mContext = RuntimeEnvironment.application;
+        doReturn(mContext).when(mFragment).getContext();
+
+    }
+
+    @Test
+    public void logSpecialPermissionChange() {
+        mFragment.logSpecialPermissionChange(true, "app");
+        verify(mFeatureFactory.metricsFeatureProvider).action(
+                mContext,
+                MetricsProto.MetricsEvent.APP_SPECIAL_PERMISSION_NOTIVIEW_ALLOW,
+                "app");
+
+        mFragment.logSpecialPermissionChange(false, "app");
+        verify(mFeatureFactory.metricsFeatureProvider).action(
+                mContext,
+                MetricsProto.MetricsEvent.APP_SPECIAL_PERMISSION_NOTIVIEW_DENY,
+                "app");
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/applications/specialaccess/pictureinpicture/PictureInPictureDetailPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/specialaccess/pictureinpicture/PictureInPictureDetailPreferenceControllerTest.java
index 5746c18..4906f4b 100644
--- a/tests/robotests/src/com/android/settings/applications/specialaccess/pictureinpicture/PictureInPictureDetailPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/specialaccess/pictureinpicture/PictureInPictureDetailPreferenceControllerTest.java
@@ -24,6 +24,7 @@
 import static org.mockito.Mockito.when;
 
 import android.content.Context;
+import android.content.pm.PackageManager;
 
 import androidx.preference.Preference;
 
@@ -46,6 +47,8 @@
     private AppInfoDashboardFragment mFragment;
     @Mock
     private Preference mPreference;
+    @Mock
+    private PackageManager mManager;
 
     private Context mContext;
     private PictureInPictureDetailPreferenceController mController;
@@ -61,6 +64,8 @@
 
         final String key = mController.getPreferenceKey();
         when(mPreference.getKey()).thenReturn(key);
+        when(mContext.getPackageManager()).thenReturn(mManager);
+        when(mManager.hasSystemFeature(PackageManager.FEATURE_PICTURE_IN_PICTURE)).thenReturn(true);
     }
 
     @Test
@@ -80,6 +85,15 @@
     }
 
     @Test
+    public void getAvailabilityStatus_noPictureInPictureFeature_shouldReturnUnSupported() {
+        when(mManager.hasSystemFeature(PackageManager.FEATURE_PICTURE_IN_PICTURE)).thenReturn(
+                false);
+
+        assertThat(mController.getAvailabilityStatus())
+                .isEqualTo(BasePreferenceController.UNSUPPORTED_ON_DEVICE);
+    }
+
+    @Test
     public void getDetailFragmentClass_shouldReturnPictureInPictureDetails() {
         assertThat(mController.getDetailFragmentClass()).isEqualTo(PictureInPictureDetails.class);
     }
diff --git a/tests/robotests/src/com/android/settings/applications/specialaccess/premiumsms/PremiumSmsAccessTest.java b/tests/robotests/src/com/android/settings/applications/specialaccess/premiumsms/PremiumSmsAccessTest.java
index 42a497a..e91c0fa 100644
--- a/tests/robotests/src/com/android/settings/applications/specialaccess/premiumsms/PremiumSmsAccessTest.java
+++ b/tests/robotests/src/com/android/settings/applications/specialaccess/premiumsms/PremiumSmsAccessTest.java
@@ -19,9 +19,9 @@
 import static org.mockito.Mockito.verify;
 
 import android.app.settings.SettingsEnums;
+import android.telephony.SmsManager;
 
 import com.android.internal.logging.nano.MetricsProto;
-import com.android.internal.telephony.SmsUsageMonitor;
 import com.android.settings.testutils.FakeFeatureFactory;
 
 import org.junit.Before;
@@ -47,31 +47,31 @@
 
     @Test
     public void logSpecialPermissionChange() {
-        mFragment.logSpecialPermissionChange(SmsUsageMonitor.PREMIUM_SMS_PERMISSION_ASK_USER,
+        mFragment.logSpecialPermissionChange(SmsManager.PREMIUM_SMS_CONSENT_ASK_USER,
                 "app");
         verify(mFeatureFactory.metricsFeatureProvider).action(
                 SettingsEnums.PAGE_UNKNOWN,
                 MetricsProto.MetricsEvent.APP_SPECIAL_PERMISSION_PREMIUM_SMS_ASK,
                 mFragment.getMetricsCategory(),
                 "app",
-                SmsUsageMonitor.PREMIUM_SMS_PERMISSION_ASK_USER);
+                SmsManager.PREMIUM_SMS_CONSENT_ASK_USER);
 
-        mFragment.logSpecialPermissionChange(SmsUsageMonitor.PREMIUM_SMS_PERMISSION_NEVER_ALLOW,
+        mFragment.logSpecialPermissionChange(SmsManager.PREMIUM_SMS_CONSENT_NEVER_ALLOW,
                 "app");
         verify(mFeatureFactory.metricsFeatureProvider).action(
                 SettingsEnums.PAGE_UNKNOWN,
                 MetricsProto.MetricsEvent.APP_SPECIAL_PERMISSION_PREMIUM_SMS_DENY,
                 mFragment.getMetricsCategory(),
                 "app",
-                SmsUsageMonitor.PREMIUM_SMS_PERMISSION_NEVER_ALLOW);
+                SmsManager.PREMIUM_SMS_CONSENT_NEVER_ALLOW);
 
-        mFragment.logSpecialPermissionChange(SmsUsageMonitor.PREMIUM_SMS_PERMISSION_ALWAYS_ALLOW,
+        mFragment.logSpecialPermissionChange(SmsManager.PREMIUM_SMS_CONSENT_ALWAYS_ALLOW,
                 "app");
         verify(mFeatureFactory.metricsFeatureProvider).action(
                 SettingsEnums.PAGE_UNKNOWN,
                 MetricsProto.MetricsEvent.APP_SPECIAL_PERMISSION_PREMIUM_SMS_ALWAYS_ALLOW,
                 mFragment.getMetricsCategory(),
                 "app",
-                SmsUsageMonitor.PREMIUM_SMS_PERMISSION_ALWAYS_ALLOW);
+                SmsManager.PREMIUM_SMS_CONSENT_ALWAYS_ALLOW);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/applications/specialaccess/premiumsms/PremiumSmsControllerTest.java b/tests/robotests/src/com/android/settings/applications/specialaccess/premiumsms/PremiumSmsControllerTest.java
index 0607e58..4c4acc7 100644
--- a/tests/robotests/src/com/android/settings/applications/specialaccess/premiumsms/PremiumSmsControllerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/specialaccess/premiumsms/PremiumSmsControllerTest.java
@@ -16,7 +16,7 @@
 
 package com.android.settings.applications.specialaccess.premiumsms;
 
-import static com.android.settings.core.BasePreferenceController.AVAILABLE_UNSEARCHABLE;
+import static com.android.settings.core.BasePreferenceController.AVAILABLE;
 
 import static com.google.common.truth.Truth.assertThat;
 
@@ -47,7 +47,7 @@
 
     @Test
     public void getAvailability_byDefault_shouldBeShown() {
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE_UNSEARCHABLE);
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/applications/specialaccess/vrlistener/EnabledVrListenersControllerTest.java b/tests/robotests/src/com/android/settings/applications/specialaccess/vrlistener/EnabledVrListenersControllerTest.java
index 32b18ef..5f102a0 100644
--- a/tests/robotests/src/com/android/settings/applications/specialaccess/vrlistener/EnabledVrListenersControllerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/specialaccess/vrlistener/EnabledVrListenersControllerTest.java
@@ -16,7 +16,7 @@
 
 package com.android.settings.applications.specialaccess.vrlistener;
 
-import static com.android.settings.core.BasePreferenceController.AVAILABLE_UNSEARCHABLE;
+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;
@@ -48,7 +48,7 @@
 
     @Test
     public void getAvailability_byDefault_unsearchable() {
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE_UNSEARCHABLE);
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/biometrics/face/FaceSettingsAttentionPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/biometrics/face/FaceSettingsAttentionPreferenceControllerTest.java
new file mode 100644
index 0000000..6dd53a3
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/biometrics/face/FaceSettingsAttentionPreferenceControllerTest.java
@@ -0,0 +1,45 @@
+/*
+ * 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.biometrics.face;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.content.Context;
+
+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 FaceSettingsAttentionPreferenceControllerTest {
+
+    private Context mContext;
+    private FaceSettingsAttentionPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        mContext = RuntimeEnvironment.application;
+        mController = new FaceSettingsAttentionPreferenceController(mContext);
+    }
+
+    @Test
+    public void isSliceable_returnFalse() {
+        assertThat(mController.isSliceable()).isFalse();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/biometrics/fingerprint/DeleteFingerprintDialogTest.java b/tests/robotests/src/com/android/settings/biometrics/fingerprint/DeleteFingerprintDialogTest.java
index 0681e1c..e825c01 100644
--- a/tests/robotests/src/com/android/settings/biometrics/fingerprint/DeleteFingerprintDialogTest.java
+++ b/tests/robotests/src/com/android/settings/biometrics/fingerprint/DeleteFingerprintDialogTest.java
@@ -23,12 +23,12 @@
 import android.app.Dialog;
 import android.hardware.fingerprint.Fingerprint;
 
+import androidx.fragment.app.Fragment;
 import androidx.fragment.app.FragmentActivity;
 
 import com.android.settings.biometrics.fingerprint.FingerprintSettings.FingerprintSettingsFragment;
 import com.android.settings.biometrics.fingerprint.FingerprintSettings
         .FingerprintSettingsFragment.DeleteFingerprintDialog;
-import com.android.settings.testutils.shadow.ShadowFragment;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -37,10 +37,12 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.annotation.Config;
+import org.robolectric.annotation.Implementation;
+import org.robolectric.annotation.Implements;
 import org.robolectric.shadows.androidx.fragment.FragmentController;
 
 @RunWith(RobolectricTestRunner.class)
-@Config(shadows = ShadowFragment.class)
+@Config(shadows = DeleteFingerprintDialogTest.ShadowFragment.class)
 public class DeleteFingerprintDialogTest {
 
     @Mock
@@ -75,4 +77,19 @@
 
         verify(mTarget, never()).deleteFingerPrint(mFingerprint);
     }
+
+    @Implements(Fragment.class)
+    public static class ShadowFragment {
+        private Fragment mTargetFragment;
+
+        @Implementation
+        protected void setTargetFragment(Fragment fragment, int requestCode) {
+            mTargetFragment = fragment;
+        }
+
+        @Implementation
+        protected Fragment getTargetFragment() {
+            return mTargetFragment;
+        }
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderControllerTest.java b/tests/robotests/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderControllerTest.java
index 03e9b6f..80ab42c 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderControllerTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderControllerTest.java
@@ -210,11 +210,8 @@
     }
 
     @Test
-    public void onStop_isAvailable_unregisterCallback() {
-        DeviceConfig.setProperty(DeviceConfig.NAMESPACE_SETTINGS_UI,
-                SettingsUIDeviceConfig.BT_ADVANCED_HEADER_ENABLED, "true", true);
-        when(mBluetoothDevice.getMetadata(BluetoothDevice.METADATA_IS_UNTETHERED_HEADSET))
-                .thenReturn("true".getBytes());
+    public void onStop_isRegisterCallback_unregisterCallback() {
+        mController.mIsRegisterCallback = true;
 
         mController.onStop();
 
@@ -234,9 +231,8 @@
     }
 
     @Test
-    public void onStop_notAvailable_unregisterCallback() {
-        when(mBluetoothDevice.getMetadata(BluetoothDevice.METADATA_IS_UNTETHERED_HEADSET))
-                .thenReturn("false".getBytes());
+    public void onStop_notRegisterCallback_unregisterCallback() {
+        mController.mIsRegisterCallback = false;
 
         mController.onStop();
 
@@ -245,11 +241,7 @@
     }
 
     @Test
-    public void onDestroy_isAvailable_recycleBitmap() {
-        DeviceConfig.setProperty(DeviceConfig.NAMESPACE_SETTINGS_UI,
-                SettingsUIDeviceConfig.BT_ADVANCED_HEADER_ENABLED, "true", true);
-        when(mBluetoothDevice.getMetadata(BluetoothDevice.METADATA_IS_UNTETHERED_HEADSET))
-                .thenReturn("true".getBytes());
+    public void onDestroy_recycleBitmap() {
         mController.mIconCache.put(ICON_URI, mBitmap);
 
         mController.onDestroy();
diff --git a/tests/robotests/src/com/android/settings/bluetooth/AvailableMediaBluetoothDeviceUpdaterTest.java b/tests/robotests/src/com/android/settings/bluetooth/AvailableMediaBluetoothDeviceUpdaterTest.java
index 29640d6..4348e1b 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/AvailableMediaBluetoothDeviceUpdaterTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/AvailableMediaBluetoothDeviceUpdaterTest.java
@@ -91,7 +91,8 @@
         mBluetoothDeviceUpdater = spy(new AvailableMediaBluetoothDeviceUpdater(mContext,
                 mDashboardFragment, mDevicePreferenceCallback));
         mBluetoothDeviceUpdater.setPrefContext(mContext);
-        mPreference = new BluetoothDevicePreference(mContext, mCachedBluetoothDevice, false);
+        mPreference = new BluetoothDevicePreference(mContext, mCachedBluetoothDevice, false,
+                BluetoothDevicePreference.SortType.TYPE_DEFAULT);
         doNothing().when(mBluetoothDeviceUpdater).addPreference(any());
         doNothing().when(mBluetoothDeviceUpdater).removePreference(any());
     }
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsButtonsControllerTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsButtonsControllerTest.java
index eaa4c3c..f52685c 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsButtonsControllerTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsButtonsControllerTest.java
@@ -22,7 +22,6 @@
 import static org.mockito.ArgumentMatchers.anyBoolean;
 import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.ArgumentMatchers.anyString;
-import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
@@ -103,7 +102,7 @@
         verify(mButtonsPref).setButton2Text(R.string.bluetooth_device_context_connect);
 
         mConnectButton.callOnClick();
-        verify(mCachedDevice).connect(eq(true));
+        verify(mCachedDevice).connect();
     }
 
     @Test
@@ -119,7 +118,7 @@
 
         // Click the button and make sure that connect (not disconnect) gets called.
         mConnectButton.callOnClick();
-        verify(mCachedDevice).connect(eq(true));
+        verify(mCachedDevice).connect();
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsMacAddressControllerTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsMacAddressControllerTest.java
index 9798745..749a182 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsMacAddressControllerTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsMacAddressControllerTest.java
@@ -15,6 +15,8 @@
  */
 package com.android.settings.bluetooth;
 
+import static com.android.settings.bluetooth.BluetoothDetailsMacAddressController.KEY_DEVICE_DETAILS_FOOTER;
+
 import static com.google.common.truth.Truth.assertThat;
 
 import com.android.settingslib.widget.FooterPreference;
@@ -25,22 +27,24 @@
 
 @RunWith(RobolectricTestRunner.class)
 public class BluetoothDetailsMacAddressControllerTest extends BluetoothDetailsControllerTestBase {
+    private BluetoothDetailsMacAddressController mController;
 
-  private BluetoothDetailsMacAddressController mController;
+    @Override
+    public void setUp() {
+        super.setUp();
+        mController =
+                new BluetoothDetailsMacAddressController(mContext, mFragment, mCachedDevice,
+                        mLifecycle);
+        setupDevice(mDeviceConfig);
+        mScreen.addPreference(new FooterPreference.Builder(mContext).setKey(
+                KEY_DEVICE_DETAILS_FOOTER).setTitle(KEY_DEVICE_DETAILS_FOOTER).build());
+    }
 
-  @Override
-  public void setUp() {
-    super.setUp();
-    mController =
-        new BluetoothDetailsMacAddressController(mContext, mFragment, mCachedDevice, mLifecycle);
-    setupDevice(mDeviceConfig);
-  }
-
-  @Test
-  public void macAddress() {
-    showScreen(mController);
-    FooterPreference footer =
-        (FooterPreference) mScreen.findPreference(mController.getPreferenceKey());
-    assertThat(footer.getTitle().toString()).endsWith(mDeviceConfig.getAddress());
-  }
+    @Test
+    public void macAddress() {
+        showScreen(mController);
+        FooterPreference footer =
+                (FooterPreference) mScreen.findPreference(mController.getPreferenceKey());
+        assertThat(footer.getTitle().toString()).endsWith(mDeviceConfig.getAddress());
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsProfilesControllerTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsProfilesControllerTest.java
index 57fd86b..5fc45a6 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsProfilesControllerTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsProfilesControllerTest.java
@@ -115,18 +115,6 @@
         }
 
         @Override
-        public boolean connect(BluetoothDevice device) {
-            mConnectedDevices.add(device);
-            return true;
-        }
-
-        @Override
-        public boolean disconnect(BluetoothDevice device) {
-            mConnectedDevices.remove(device);
-            return false;
-        }
-
-        @Override
         public int getConnectionStatus(BluetoothDevice device) {
             if (mConnectedDevices.contains(device)) {
                 return BluetoothProfile.STATE_CONNECTED;
@@ -136,19 +124,21 @@
         }
 
         @Override
-        public boolean isPreferred(BluetoothDevice device) {
+        public boolean isEnabled(BluetoothDevice device) {
             return mPreferred.getOrDefault(device, false);
         }
 
         @Override
-        public int getPreferred(BluetoothDevice device) {
-            return isPreferred(device) ?
-                    BluetoothProfile.PRIORITY_ON : BluetoothProfile.PRIORITY_OFF;
+        public int getConnectionPolicy(BluetoothDevice device) {
+            return isEnabled(device)
+                    ? BluetoothProfile.CONNECTION_POLICY_ALLOWED
+                    : BluetoothProfile.CONNECTION_POLICY_FORBIDDEN;
         }
 
         @Override
-        public void setPreferred(BluetoothDevice device, boolean preferred) {
-            mPreferred.put(device, preferred);
+        public boolean setEnabled(BluetoothDevice device, boolean enabled) {
+            mPreferred.put(device, enabled);
+            return true;
         }
 
         @Override
@@ -191,7 +181,7 @@
     private LocalBluetoothProfile addFakeProfile(int profileNameResId,
             boolean deviceIsPreferred) {
         LocalBluetoothProfile profile = new FakeBluetoothProfile(mContext, profileNameResId);
-        profile.setPreferred(mDevice, deviceIsPreferred);
+        profile.setEnabled(mDevice, deviceIsPreferred);
         mConnectableProfiles.add(profile);
         when(mProfileManager.getProfileByName(eq(profile.toString()))).thenReturn(profile);
         return profile;
@@ -265,7 +255,7 @@
         assertThat(pref.isChecked()).isTrue();
         pref.performClick();
         assertThat(pref.isChecked()).isFalse();
-        assertThat(mConnectableProfiles.get(0).isPreferred(mDevice)).isFalse();
+        assertThat(mConnectableProfiles.get(0).isEnabled(mDevice)).isFalse();
 
         // Make sure no new preferences were added.
         assertThat(mProfiles.getPreferenceCount()).isEqualTo(2);
@@ -273,7 +263,7 @@
         // Clicking the pref again should make the profile once again preferred.
         pref.performClick();
         assertThat(pref.isChecked()).isTrue();
-        assertThat(mConnectableProfiles.get(0).isPreferred(mDevice)).isTrue();
+        assertThat(mConnectableProfiles.get(0).isEnabled(mDevice)).isTrue();
 
         // Make sure we still haven't gotten any new preferences added.
         assertThat(mProfiles.getPreferenceCount()).isEqualTo(2);
@@ -363,7 +353,7 @@
             mContext.getString(R.string.bluetooth_profile_a2dp_high_quality_unknown_codec));
         when(profile.supportsHighQualityAudio(mDevice)).thenReturn(supportsHighQualityAudio);
         when(profile.isHighQualityAudioEnabled(mDevice)).thenReturn(highQualityAudioEnabled);
-        when(profile.isPreferred(mDevice)).thenReturn(preferred);
+        when(profile.isEnabled(mDevice)).thenReturn(preferred);
         when(profile.isProfileReady()).thenReturn(true);
         mConnectableProfiles.add(profile);
         return profile;
@@ -425,8 +415,8 @@
         SwitchPreference audioPref =
             (SwitchPreference) mScreen.findPreference(audioProfile.toString());
         audioPref.performClick();
-        verify(audioProfile).setPreferred(mDevice, false);
-        when(audioProfile.isPreferred(mDevice)).thenReturn(false);
+        verify(audioProfile).setEnabled(mDevice, false);
+        when(audioProfile.isEnabled(mDevice)).thenReturn(false);
         mController.onDeviceAttributesChanged();
         assertThat(audioPref.isVisible()).isTrue();
         SwitchPreference highQualityAudioPref = getHighQualityAudioPref();
@@ -434,8 +424,8 @@
 
         // And re-enabling media audio should make high quality switch to reappear.
         audioPref.performClick();
-        verify(audioProfile).setPreferred(mDevice, true);
-        when(audioProfile.isPreferred(mDevice)).thenReturn(true);
+        verify(audioProfile).setEnabled(mDevice, true);
+        when(audioProfile.isEnabled(mDevice)).thenReturn(true);
         mController.onDeviceAttributesChanged();
         highQualityAudioPref = getHighQualityAudioPref();
         assertThat(highQualityAudioPref.isVisible()).isTrue();
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragmentTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragmentTest.java
index c9d8201..ce41a8d 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragmentTest.java
@@ -16,6 +16,8 @@
 
 package com.android.settings.bluetooth;
 
+import static android.bluetooth.BluetoothDevice.BOND_NONE;
+
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.ArgumentMatchers.any;
@@ -126,4 +128,13 @@
         RemoteDeviceNameDialogFragment dialog = (RemoteDeviceNameDialogFragment) captor.getValue();
         assertThat(dialog).isNotNull();
     }
+
+    @Test
+    public void finishFragmentIfNecessary_deviceIsBondNone_finishFragment() {
+        when(mCachedDevice.getBondState()).thenReturn(BOND_NONE);
+
+        mFragment.finishFragmentIfNecessary();
+
+        verify(mFragment).finish();
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDevicePreferenceTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDevicePreferenceTest.java
index 92f2354..f12e06e 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDevicePreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDevicePreferenceTest.java
@@ -24,7 +24,6 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import android.bluetooth.BluetoothClass;
 import android.bluetooth.BluetoothDevice;
 import android.content.Context;
 import android.os.UserManager;
@@ -48,19 +47,36 @@
 import org.robolectric.annotation.Config;
 import org.robolectric.util.ReflectionHelpers;
 
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.List;
+
 @RunWith(RobolectricTestRunner.class)
 @Config(shadows = {ShadowAlertDialogCompat.class})
 public class BluetoothDevicePreferenceTest {
     private static final boolean SHOW_DEVICES_WITHOUT_NAMES = true;
     private static final String MAC_ADDRESS = "04:52:C7:0B:D8:3C";
+    private static final String MAC_ADDRESS_2 = "05:52:C7:0B:D8:3C";
+    private static final String MAC_ADDRESS_3 = "06:52:C7:0B:D8:3C";
+    private static final String MAC_ADDRESS_4 = "07:52:C7:0B:D8:3C";
+    private static final Comparator<BluetoothDevicePreference> COMPARATOR =
+            Comparator.naturalOrder();
 
     private Context mContext;
     @Mock
     private CachedBluetoothDevice mCachedBluetoothDevice;
+    @Mock
+    private CachedBluetoothDevice mCachedDevice1;
+    @Mock
+    private CachedBluetoothDevice mCachedDevice2;
+    @Mock
+    private CachedBluetoothDevice mCachedDevice3;
 
     private FakeFeatureFactory mFakeFeatureFactory;
     private MetricsFeatureProvider mMetricsFeatureProvider;
     private BluetoothDevicePreference mPreference;
+    private List<BluetoothDevicePreference> mPreferenceList = new ArrayList<>();
 
     @Before
     public void setUp() {
@@ -70,8 +86,11 @@
         mFakeFeatureFactory = FakeFeatureFactory.setupForTest();
         mMetricsFeatureProvider = mFakeFeatureFactory.getMetricsFeatureProvider();
         when(mCachedBluetoothDevice.getAddress()).thenReturn(MAC_ADDRESS);
+        when(mCachedDevice1.getAddress()).thenReturn(MAC_ADDRESS_2);
+        when(mCachedDevice2.getAddress()).thenReturn(MAC_ADDRESS_3);
+        when(mCachedDevice3.getAddress()).thenReturn(MAC_ADDRESS_4);
         mPreference = new BluetoothDevicePreference(mContext, mCachedBluetoothDevice,
-                SHOW_DEVICES_WITHOUT_NAMES);
+                SHOW_DEVICES_WITHOUT_NAMES, BluetoothDevicePreference.SortType.TYPE_DEFAULT);
     }
 
     @Test
@@ -170,7 +189,8 @@
         doReturn(false).when(mCachedBluetoothDevice).hasHumanReadableName();
         BluetoothDevicePreference preference =
                 new BluetoothDevicePreference(mContext, mCachedBluetoothDevice,
-                        SHOW_DEVICES_WITHOUT_NAMES);
+                        SHOW_DEVICES_WITHOUT_NAMES,
+                        BluetoothDevicePreference.SortType.TYPE_DEFAULT);
 
         assertThat(preference.isVisible()).isTrue();
     }
@@ -179,7 +199,8 @@
     public void isVisible_hideDeviceWithoutNames_invisible() {
         doReturn(false).when(mCachedBluetoothDevice).hasHumanReadableName();
         BluetoothDevicePreference preference =
-                new BluetoothDevicePreference(mContext, mCachedBluetoothDevice, false);
+                new BluetoothDevicePreference(mContext, mCachedBluetoothDevice,
+                        false, BluetoothDevicePreference.SortType.TYPE_DEFAULT);
 
         assertThat(preference.isVisible()).isFalse();
     }
@@ -190,4 +211,54 @@
 
         assertThat(mPreference.mNeedNotifyHierarchyChanged).isTrue();
     }
+
+    @Test
+    public void compareTo_sortTypeFIFO() {
+        final BluetoothDevicePreference preference3 = new BluetoothDevicePreference(mContext,
+                mCachedDevice3, SHOW_DEVICES_WITHOUT_NAMES,
+                BluetoothDevicePreference.SortType.TYPE_FIFO);
+        final BluetoothDevicePreference preference2 = new BluetoothDevicePreference(mContext,
+                mCachedDevice2, SHOW_DEVICES_WITHOUT_NAMES,
+                BluetoothDevicePreference.SortType.TYPE_FIFO);
+        final BluetoothDevicePreference preference1 = new BluetoothDevicePreference(mContext,
+                mCachedDevice1, SHOW_DEVICES_WITHOUT_NAMES,
+                BluetoothDevicePreference.SortType.TYPE_FIFO);
+
+        mPreferenceList.add(preference1);
+        mPreferenceList.add(preference2);
+        mPreferenceList.add(preference3);
+        Collections.sort(mPreferenceList, COMPARATOR);
+
+        assertThat(mPreferenceList.get(0).getCachedDevice().getAddress())
+                .isEqualTo(preference3.getCachedDevice().getAddress());
+        assertThat(mPreferenceList.get(1).getCachedDevice().getAddress())
+                .isEqualTo(preference2.getCachedDevice().getAddress());
+        assertThat(mPreferenceList.get(2).getCachedDevice().getAddress())
+                .isEqualTo(preference1.getCachedDevice().getAddress());
+    }
+
+    @Test
+    public void compareTo_sortTypeDefault() {
+        final BluetoothDevicePreference preference3 = new BluetoothDevicePreference(mContext,
+                mCachedDevice3, SHOW_DEVICES_WITHOUT_NAMES,
+                BluetoothDevicePreference.SortType.TYPE_DEFAULT);
+        final BluetoothDevicePreference preference2 = new BluetoothDevicePreference(mContext,
+                mCachedDevice2, SHOW_DEVICES_WITHOUT_NAMES,
+                BluetoothDevicePreference.SortType.TYPE_DEFAULT);
+        final BluetoothDevicePreference preference1 = new BluetoothDevicePreference(mContext,
+                mCachedDevice1, SHOW_DEVICES_WITHOUT_NAMES,
+                BluetoothDevicePreference.SortType.TYPE_DEFAULT);
+
+        mPreferenceList.add(preference1);
+        mPreferenceList.add(preference2);
+        mPreferenceList.add(preference3);
+        Collections.sort(mPreferenceList, COMPARATOR);
+
+        assertThat(mPreferenceList.get(0).getCachedDevice().getAddress())
+                .isEqualTo(preference1.getCachedDevice().getAddress());
+        assertThat(mPreferenceList.get(1).getCachedDevice().getAddress())
+                .isEqualTo(preference2.getCachedDevice().getAddress());
+        assertThat(mPreferenceList.get(2).getCachedDevice().getAddress())
+                .isEqualTo(preference3.getCachedDevice().getAddress());
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDeviceUpdaterTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDeviceUpdaterTest.java
index 1066552..fcc7f51 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDeviceUpdaterTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDeviceUpdaterTest.java
@@ -82,7 +82,7 @@
     private BluetoothDeviceUpdater mBluetoothDeviceUpdater;
     private BluetoothDevicePreference mPreference;
     private ShadowBluetoothAdapter mShadowBluetoothAdapter;
-    private List<CachedBluetoothDevice> mCachedDevices = new ArrayList<CachedBluetoothDevice>();
+    private List<CachedBluetoothDevice> mCachedDevices = new ArrayList<>();
 
     @Before
     public void setUp() {
@@ -99,15 +99,21 @@
         when(mCachedBluetoothDevice.getAddress()).thenReturn(MAC_ADDRESS);
         when(mSubBluetoothDevice.getAddress()).thenReturn(SUB_MAC_ADDRESS);
 
-        mPreference = new BluetoothDevicePreference(mContext, mCachedBluetoothDevice, false);
+        mPreference = new BluetoothDevicePreference(mContext, mCachedBluetoothDevice,
+                false, BluetoothDevicePreference.SortType.TYPE_DEFAULT);
         mBluetoothDeviceUpdater =
-            new BluetoothDeviceUpdater(mDashboardFragment, mDevicePreferenceCallback,
+            new BluetoothDeviceUpdater(mContext, mDashboardFragment, mDevicePreferenceCallback,
                     mLocalManager) {
-            @Override
-            public boolean isFilterMatched(CachedBluetoothDevice cachedBluetoothDevice) {
-                return true;
-            }
-        };
+                @Override
+                public boolean isFilterMatched(CachedBluetoothDevice cachedBluetoothDevice) {
+                    return true;
+                }
+
+                @Override
+                protected String getPreferenceKey() {
+                    return "test_bt";
+                }
+            };
         mBluetoothDeviceUpdater.setPrefContext(mContext);
     }
 
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothPairingDetailTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothPairingDetailTest.java
index ac89b5b..34bb069 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothPairingDetailTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothPairingDetailTest.java
@@ -23,13 +23,16 @@
 import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.Mockito.doNothing;
 import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
 
 import android.bluetooth.BluetoothAdapter;
 import android.bluetooth.BluetoothDevice;
+import android.bluetooth.BluetoothProfile;
 import android.content.Context;
 import android.content.res.Resources;
 
@@ -57,6 +60,7 @@
 @Config(shadows = {ShadowBluetoothAdapter.class})
 public class BluetoothPairingDetailTest {
     private static final String TEST_DEVICE_ADDRESS = "00:A1:A1:A1:A1:A1";
+    private static final String TEST_DEVICE_ADDRESS_B = "00:B1:B1:B1:B1:B1";
 
     @Mock
     private Resources mResource;
@@ -82,6 +86,7 @@
         mFragment = spy(new BluetoothPairingDetail());
         doReturn(mContext).when(mFragment).getContext();
         doReturn(mResource).when(mFragment).getResources();
+        when(mCachedBluetoothDevice.getAddress()).thenReturn(TEST_DEVICE_ADDRESS);
 
         mAvailableDevicesCategory = spy(new BluetoothProgressCategory(mContext));
         mFooterPreference = new FooterPreference(mContext);
@@ -218,13 +223,85 @@
     }
 
     @Test
-    public void onConnectionStateChanged_connected_finish() {
-        mFragment.mSelectedDevice = mBluetoothDevice;
-        doReturn(mBluetoothDevice).when(mCachedBluetoothDevice).getDevice();
+    public void onProfileConnectionStateChanged_deviceInSelectedListAndConnected_finish() {
+        final BluetoothDevice device = mBluetoothAdapter.getRemoteDevice(TEST_DEVICE_ADDRESS_B);
+        mFragment.mSelectedList.add(mBluetoothDevice);
+        mFragment.mSelectedList.add(device);
 
-        mFragment.onConnectionStateChanged(mCachedBluetoothDevice,
-                BluetoothAdapter.STATE_CONNECTED);
+        when(mCachedBluetoothDevice.isConnected()).thenReturn(true);
+        when(mCachedBluetoothDevice.getDevice()).thenReturn(device);
+
+        mFragment.onProfileConnectionStateChanged(mCachedBluetoothDevice,
+                BluetoothProfile.A2DP, BluetoothAdapter.STATE_CONNECTED);
 
         verify(mFragment).finish();
     }
+
+    @Test
+    public void onProfileConnectionStateChanged_deviceNotInSelectedList_doNothing() {
+        final BluetoothDevice device = mBluetoothAdapter.getRemoteDevice(TEST_DEVICE_ADDRESS_B);
+        mFragment.mSelectedList.add(device);
+
+        when(mCachedBluetoothDevice.isConnected()).thenReturn(true);
+        when(mCachedBluetoothDevice.getDevice()).thenReturn(mBluetoothDevice);
+
+        mFragment.onProfileConnectionStateChanged(mCachedBluetoothDevice,
+                BluetoothProfile.A2DP, BluetoothAdapter.STATE_CONNECTED);
+
+        // not crash
+    }
+
+    @Test
+    public void onProfileConnectionStateChanged_deviceDisconnected_doNothing() {
+        final BluetoothDevice device = mBluetoothAdapter.getRemoteDevice(TEST_DEVICE_ADDRESS_B);
+        mFragment.mSelectedList.add(mBluetoothDevice);
+        mFragment.mSelectedList.add(device);
+
+        when(mCachedBluetoothDevice.isConnected()).thenReturn(false);
+        when(mCachedBluetoothDevice.getDevice()).thenReturn(device);
+
+        mFragment.onProfileConnectionStateChanged(mCachedBluetoothDevice,
+                BluetoothProfile.A2DP, BluetoothAdapter.STATE_DISCONNECTED);
+
+        // not crash
+    }
+
+    @Test
+    public void onProfileConnectionStateChanged_deviceInPreferenceMapAndConnected_removed() {
+        final BluetoothDevicePreference preference =
+                new BluetoothDevicePreference(mContext, mCachedBluetoothDevice,
+                true, BluetoothDevicePreference.SortType.TYPE_FIFO);
+        final BluetoothDevice device = mBluetoothAdapter.getRemoteDevice(TEST_DEVICE_ADDRESS);
+        mFragment.mDevicePreferenceMap.put(mCachedBluetoothDevice, preference);
+
+        when(mCachedBluetoothDevice.isConnected()).thenReturn(true);
+        when(mCachedBluetoothDevice.getDevice()).thenReturn(device);
+
+        mFragment.onProfileConnectionStateChanged(mCachedBluetoothDevice,
+                BluetoothProfile.A2DP, BluetoothAdapter.STATE_CONNECTED);
+
+        assertThat(mFragment.mDevicePreferenceMap.size()).isEqualTo(0);
+    }
+
+    @Test
+    public void onProfileConnectionStateChanged_deviceNotInPreferenceMap_doNothing() {
+        final CachedBluetoothDevice cachedDevice = mock(CachedBluetoothDevice.class);
+        final BluetoothDevicePreference preference =
+                new BluetoothDevicePreference(mContext, mCachedBluetoothDevice,
+                        true, BluetoothDevicePreference.SortType.TYPE_FIFO);
+        final BluetoothDevice device = mBluetoothAdapter.getRemoteDevice(TEST_DEVICE_ADDRESS);
+        final BluetoothDevice device2 = mBluetoothAdapter.getRemoteDevice(TEST_DEVICE_ADDRESS_B);
+        mFragment.mDevicePreferenceMap.put(mCachedBluetoothDevice, preference);
+
+        when(mCachedBluetoothDevice.isConnected()).thenReturn(true);
+        when(mCachedBluetoothDevice.getDevice()).thenReturn(device);
+        when(cachedDevice.isConnected()).thenReturn(true);
+        when(cachedDevice.getDevice()).thenReturn(device2);
+        when(cachedDevice.getAddress()).thenReturn(TEST_DEVICE_ADDRESS_B);
+
+        mFragment.onProfileConnectionStateChanged(cachedDevice, BluetoothProfile.A2DP,
+                BluetoothAdapter.STATE_CONNECTED);
+
+        // not crash
+    }
 }
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothSwitchPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothSwitchPreferenceControllerTest.java
index f40cc69..3c5a91d 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothSwitchPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothSwitchPreferenceControllerTest.java
@@ -19,6 +19,7 @@
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
 
 import android.content.Context;
 import android.provider.Settings;
@@ -47,6 +48,8 @@
     private RestrictionUtils mRestrictionUtils;
     @Mock
     private SwitchWidgetController mSwitchController;
+    @Mock
+    private AlwaysDiscoverable mAlwaysDiscoverable;
 
     private FooterPreference mFooterPreference;
     private Context mContext;
@@ -62,6 +65,7 @@
         mController =
             new BluetoothSwitchPreferenceController(mContext, mRestrictionUtils,
                     mSwitchController, mFooterPreference);
+        mController.mAlwaysDiscoverable = mAlwaysDiscoverable;
     }
 
     @Test
@@ -103,4 +107,18 @@
 
         assertThat(mFooterPreference.getTitle()).isEqualTo(BLUETOOTH_INFO_STRING);
     }
+
+    @Test
+    public void onStart_shouldStartAlwaysDiscoverable() {
+        mController.onStart();
+
+        verify(mAlwaysDiscoverable).start();
+    }
+
+    @Test
+    public void onStop_shouldStopAlwaysDiscoverable() {
+        mController.onStop();
+
+        verify(mAlwaysDiscoverable).stop();
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/bluetooth/ConnectedBluetoothDeviceUpdaterTest.java b/tests/robotests/src/com/android/settings/bluetooth/ConnectedBluetoothDeviceUpdaterTest.java
index 615f67a..13e138c 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/ConnectedBluetoothDeviceUpdaterTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/ConnectedBluetoothDeviceUpdaterTest.java
@@ -239,7 +239,8 @@
     @Test
     public void addPreference_addPreference_shouldHideSecondTarget() {
         BluetoothDevicePreference btPreference =
-                new BluetoothDevicePreference(mContext, mCachedBluetoothDevice, true);
+                new BluetoothDevicePreference(mContext, mCachedBluetoothDevice,
+                        true, BluetoothDevicePreference.SortType.TYPE_DEFAULT);
         mBluetoothDeviceUpdater.mPreferenceMap.put(mBluetoothDevice, btPreference);
 
         mBluetoothDeviceUpdater.addPreference(mCachedBluetoothDevice);
diff --git a/tests/robotests/src/com/android/settings/bluetooth/SavedBluetoothDeviceUpdaterTest.java b/tests/robotests/src/com/android/settings/bluetooth/SavedBluetoothDeviceUpdaterTest.java
index ac7692d..da11781 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/SavedBluetoothDeviceUpdaterTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/SavedBluetoothDeviceUpdaterTest.java
@@ -18,10 +18,13 @@
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.doNothing;
 import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
+import android.bluetooth.BluetoothAdapter;
 import android.bluetooth.BluetoothDevice;
 import android.bluetooth.BluetoothProfile;
 import android.content.Context;
@@ -30,6 +33,8 @@
 import com.android.settings.dashboard.DashboardFragment;
 import com.android.settings.testutils.shadow.ShadowBluetoothAdapter;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+import com.android.settingslib.bluetooth.CachedBluetoothDeviceManager;
+import com.android.settingslib.bluetooth.LocalBluetoothManager;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -40,6 +45,10 @@
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
 
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
 @RunWith(RobolectricTestRunner.class)
 @Config(shadows = {ShadowBluetoothAdapter.class})
 public class SavedBluetoothDeviceUpdaterTest {
@@ -54,6 +63,12 @@
     private CachedBluetoothDevice mCachedBluetoothDevice;
     @Mock
     private BluetoothDevice mBluetoothDevice;
+    @Mock
+    private BluetoothAdapter mBluetoothAdapter;
+    @Mock
+    private CachedBluetoothDeviceManager mDeviceManager;
+    @Mock
+    private LocalBluetoothManager mBluetoothManager;
 
     private Context mContext;
     private SavedBluetoothDeviceUpdater mBluetoothDeviceUpdater;
@@ -72,7 +87,10 @@
         mBluetoothDeviceUpdater = spy(new SavedBluetoothDeviceUpdater(mContext, mDashboardFragment,
                 mDevicePreferenceCallback));
         mBluetoothDeviceUpdater.setPrefContext(mContext);
-        mPreference = new BluetoothDevicePreference(mContext, mCachedBluetoothDevice, false);
+        mBluetoothDeviceUpdater.mBluetoothAdapter = mBluetoothAdapter;
+        mBluetoothDeviceUpdater.mLocalManager = mBluetoothManager;
+        mPreference = new BluetoothDevicePreference(mContext, mCachedBluetoothDevice,
+                false, BluetoothDevicePreference.SortType.TYPE_DEFAULT);
         doNothing().when(mBluetoothDeviceUpdater).addPreference(any());
         doNothing().when(mBluetoothDeviceUpdater).removePreference(any());
     }
@@ -84,7 +102,8 @@
 
         mBluetoothDeviceUpdater.update(mCachedBluetoothDevice);
 
-        verify(mBluetoothDeviceUpdater).addPreference(mCachedBluetoothDevice);
+        verify(mBluetoothDeviceUpdater).addPreference(mCachedBluetoothDevice,
+                BluetoothDevicePreference.SortType.TYPE_NO_SORT);
     }
 
     @Test
@@ -114,13 +133,106 @@
         mBluetoothDeviceUpdater.onProfileConnectionStateChanged(mCachedBluetoothDevice,
                 BluetoothProfile.STATE_DISCONNECTED, BluetoothProfile.A2DP);
 
-        verify(mBluetoothDeviceUpdater).addPreference(mCachedBluetoothDevice);
+        verify(mBluetoothDeviceUpdater).addPreference(mCachedBluetoothDevice,
+                BluetoothDevicePreference.SortType.TYPE_NO_SORT);
     }
 
     @Test
     public void onClick_Preference_setConnect() {
         mBluetoothDeviceUpdater.onPreferenceClick(mPreference);
 
-        verify(mCachedBluetoothDevice).connect(true);
+        verify(mCachedBluetoothDevice).connect();
+    }
+
+    @Test
+    public void forceUpdate_findCachedBluetoothDeviceIsMatched_addPreference() {
+        final List<BluetoothDevice> bluetoothDevices = new ArrayList<>();
+        bluetoothDevices.add(mBluetoothDevice);
+
+        when(mBluetoothAdapter.isEnabled()).thenReturn(true);
+        when(mBluetoothAdapter.getMostRecentlyConnectedDevices()).thenReturn(bluetoothDevices);
+        when(mBluetoothManager.getCachedDeviceManager()).thenReturn(mDeviceManager);
+        when(mDeviceManager.findDevice(mBluetoothDevice)).thenReturn(mCachedBluetoothDevice);
+        when(mBluetoothDevice.getBondState()).thenReturn(BluetoothDevice.BOND_BONDED);
+        when(mBluetoothDevice.isConnected()).thenReturn(false);
+
+        mBluetoothDeviceUpdater.forceUpdate();
+
+        verify(mBluetoothDeviceUpdater).addPreference(mCachedBluetoothDevice,
+                BluetoothDevicePreference.SortType.TYPE_NO_SORT);
+    }
+
+    @Test
+    public void forceUpdate_findCachedBluetoothDeviceNotMatched_removePreference() {
+        final List<BluetoothDevice> bluetoothDevices = new ArrayList<>();
+        bluetoothDevices.add(mBluetoothDevice);
+
+        when(mBluetoothAdapter.isEnabled()).thenReturn(true);
+        when(mBluetoothAdapter.getMostRecentlyConnectedDevices()).thenReturn(bluetoothDevices);
+        when(mBluetoothManager.getCachedDeviceManager()).thenReturn(mDeviceManager);
+        when(mDeviceManager.findDevice(mBluetoothDevice)).thenReturn(mCachedBluetoothDevice);
+        when(mBluetoothDevice.getBondState()).thenReturn(BluetoothDevice.BOND_BONDED);
+        when(mBluetoothDevice.isConnected()).thenReturn(true);
+
+        mBluetoothDeviceUpdater.forceUpdate();
+
+        verify(mBluetoothDeviceUpdater).removePreference(mCachedBluetoothDevice);
+    }
+
+    @Test
+    public void forceUpdate_notFindCachedBluetoothDevice_doNothing() {
+        final List<BluetoothDevice> bluetoothDevices = new ArrayList<>();
+        bluetoothDevices.add(mBluetoothDevice);
+
+        when(mBluetoothAdapter.isEnabled()).thenReturn(true);
+        when(mBluetoothAdapter.getMostRecentlyConnectedDevices()).thenReturn(bluetoothDevices);
+        when(mBluetoothManager.getCachedDeviceManager()).thenReturn(mDeviceManager);
+        when(mDeviceManager.findDevice(mBluetoothDevice)).thenReturn(null);
+
+        mBluetoothDeviceUpdater.forceUpdate();
+
+        verify(mBluetoothDeviceUpdater, never()).removePreference(mCachedBluetoothDevice);
+        verify(mBluetoothDeviceUpdater, never()).addPreference(mCachedBluetoothDevice,
+                BluetoothDevicePreference.SortType.TYPE_NO_SORT);
+    }
+
+    @Test
+    public void forceUpdate_bluetoothAdapterNotEnable_removeAllDevicesFromPreference() {
+        final Collection<CachedBluetoothDevice> cachedDevices = new ArrayList<>();
+        cachedDevices.add(mCachedBluetoothDevice);
+
+        when(mBluetoothManager.getCachedDeviceManager()).thenReturn(mDeviceManager);
+        when(mDeviceManager.getCachedDevicesCopy()).thenReturn(cachedDevices);
+        when(mBluetoothAdapter.isEnabled()).thenReturn(false);
+
+        mBluetoothDeviceUpdater.forceUpdate();
+
+        verify(mBluetoothDeviceUpdater).removeAllDevicesFromPreference();
+    }
+
+    @Test
+    public void forceUpdate_deviceNotContain_removePreference() {
+        final List<BluetoothDevice> bluetoothDevices = new ArrayList<>();
+        bluetoothDevices.add(mBluetoothDevice);
+        final BluetoothDevice device2 = mock(BluetoothDevice.class);
+        final CachedBluetoothDevice cachedDevice2 = mock(CachedBluetoothDevice.class);
+
+        mBluetoothDeviceUpdater.mPreferenceMap.put(device2, mPreference);
+
+        when(cachedDevice2.getDevice()).thenReturn(device2);
+        when(cachedDevice2.getAddress()).thenReturn("04:52:C7:0B:D8:3S");
+        when(mDeviceManager.findDevice(device2)).thenReturn(cachedDevice2);
+        when(mBluetoothAdapter.isEnabled()).thenReturn(true);
+        when(mBluetoothAdapter.getMostRecentlyConnectedDevices()).thenReturn(bluetoothDevices);
+        when(mBluetoothManager.getCachedDeviceManager()).thenReturn(mDeviceManager);
+        when(mDeviceManager.findDevice(mBluetoothDevice)).thenReturn(mCachedBluetoothDevice);
+        when(mBluetoothDevice.getBondState()).thenReturn(BluetoothDevice.BOND_BONDED);
+        when(mBluetoothDevice.isConnected()).thenReturn(false);
+
+        mBluetoothDeviceUpdater.forceUpdate();
+
+        verify(mBluetoothDeviceUpdater).removePreference(cachedDevice2);
+        verify(mBluetoothDeviceUpdater).addPreference(mCachedBluetoothDevice,
+                BluetoothDevicePreference.SortType.TYPE_NO_SORT);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/bluetooth/UtilsTest.java b/tests/robotests/src/com/android/settings/bluetooth/UtilsTest.java
index 1920019..25808b5 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/UtilsTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/UtilsTest.java
@@ -15,8 +15,6 @@
  */
 package com.android.settings.bluetooth;
 
-import static com.google.common.truth.Truth.assertThat;
-
 import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.ArgumentMatchers.anyString;
 import static org.mockito.ArgumentMatchers.eq;
@@ -24,7 +22,6 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import android.bluetooth.BluetoothDevice;
 import android.content.Context;
 
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
@@ -61,6 +58,6 @@
         Utils.showConnectingError(mContext, "testName", mock(LocalBluetoothManager.class));
 
         verify(mMetricsFeatureProvider).visible(eq(mContext), anyInt(),
-                eq(MetricsEvent.ACTION_SETTINGS_BLUETOOTH_CONNECT_ERROR));
+                eq(MetricsEvent.ACTION_SETTINGS_BLUETOOTH_CONNECT_ERROR), anyInt());
     }
 }
diff --git a/tests/robotests/src/com/android/settings/bugreporthandler/BugReportHandlerPickerTest.java b/tests/robotests/src/com/android/settings/bugreporthandler/BugReportHandlerPickerTest.java
new file mode 100644
index 0000000..fb48ad1
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/bugreporthandler/BugReportHandlerPickerTest.java
@@ -0,0 +1,177 @@
+/*
+ * 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.bugreporthandler;
+
+import static android.provider.Settings.ACTION_BUGREPORT_HANDLER_SETTINGS;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.doNothing;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.PackageInfo;
+import android.graphics.drawable.ColorDrawable;
+import android.util.Pair;
+
+import androidx.fragment.app.FragmentActivity;
+
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
+import com.android.settingslib.widget.RadioButtonPreference;
+
+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 org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.Shadows;
+import org.robolectric.shadows.ShadowPackageManager;
+import org.robolectric.util.ReflectionHelpers;
+
+import java.util.Collections;
+
+@RunWith(RobolectricTestRunner.class)
+public class BugReportHandlerPickerTest {
+    private static final String PACKAGE_NAME = "com.example.test";
+    private static final int USER_ID = 0;
+
+    @Mock
+    private FragmentActivity mActivity;
+
+    private Context mContext;
+    private ShadowPackageManager mPackageManager;
+    private BugReportHandlerPicker mPicker;
+    private BugReportHandlerUtil mBugReportHandlerUtil;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mContext = spy(RuntimeEnvironment.application);
+        mPackageManager = Shadows.shadowOf(mContext.getPackageManager());
+
+        final ApplicationInfo applicationInfo = new ApplicationInfo();
+        applicationInfo.name = PACKAGE_NAME;
+        applicationInfo.uid = 0;
+        applicationInfo.flags = 0;
+        applicationInfo.packageName = PACKAGE_NAME;
+
+        final PackageInfo packageInfo = new PackageInfo();
+        packageInfo.packageName = PACKAGE_NAME;
+        packageInfo.applicationInfo = applicationInfo;
+        mPackageManager.addPackage(packageInfo);
+        mPackageManager.setUnbadgedApplicationIcon(PACKAGE_NAME, new ColorDrawable());
+
+        mPicker = spy(new BugReportHandlerPicker());
+        doNothing().when(mPicker).updateCandidates();
+        doNothing().when(mPicker).updateCheckedState(any());
+        doReturn(mActivity).when(mPicker).getActivity();
+
+        ReflectionHelpers.setField(mPicker, "mMetricsFeatureProvider",
+                mock(MetricsFeatureProvider.class));
+        mBugReportHandlerUtil = mock(BugReportHandlerUtil.class);
+        mPicker.setBugReportHandlerUtil(mBugReportHandlerUtil);
+    }
+
+    @After
+    public void tearDown() {
+        mPackageManager.removePackage(PACKAGE_NAME);
+    }
+
+    @Test
+    public void clickItem_success() {
+        testClickingItemSuccess();
+    }
+
+    @Test
+    public void clickItem_fail() {
+        testClickingItemFail();
+    }
+
+    @Test
+    public void clickItem_usingBugReportHandlerSettingIntent_success() {
+        useBugReportHandlerSettingIntent();
+        testClickingItemSuccess();
+        verify(mActivity, times(1)).finish();
+    }
+
+    @Test
+    public void clickItem_fromBugReportHandlerSettingIntent_fail() {
+        useBugReportHandlerSettingIntent();
+        testClickingItemFail();
+    }
+
+    private static ApplicationInfo createApplicationInfo(String packageName) {
+        ApplicationInfo applicationInfo = new ApplicationInfo();
+        applicationInfo.packageName = packageName;
+        return applicationInfo;
+    }
+
+    private void testClickingItemSuccess() {
+        when(mBugReportHandlerUtil.getValidBugReportHandlerInfos(any()))
+                .thenReturn(Collections.singletonList(Pair.create(
+                        createApplicationInfo(PACKAGE_NAME), USER_ID)));
+        when(mBugReportHandlerUtil.setCurrentBugReportHandlerAppAndUser(any(), eq(PACKAGE_NAME),
+                eq(USER_ID))).thenReturn(true);
+
+        RadioButtonPreference defaultPackagePref = mock(RadioButtonPreference.class);
+        when(defaultPackagePref.getKey()).thenReturn(
+                BugReportHandlerPicker.getKey(PACKAGE_NAME, USER_ID));
+        mPicker.onRadioButtonClicked(defaultPackagePref);
+
+        verify(mBugReportHandlerUtil, times(1)).setCurrentBugReportHandlerAppAndUser(any(),
+                eq(PACKAGE_NAME), eq(USER_ID));
+        verify(mPicker, times(1)).updateCheckedState(
+                BugReportHandlerPicker.getKey(PACKAGE_NAME, USER_ID));
+        verify(mBugReportHandlerUtil, never()).showInvalidChoiceToast(any());
+    }
+
+    private void testClickingItemFail() {
+        when(mBugReportHandlerUtil.getValidBugReportHandlerInfos(any()))
+                .thenReturn(Collections.singletonList(Pair.create(
+                        createApplicationInfo(PACKAGE_NAME), USER_ID)));
+        when(mBugReportHandlerUtil.setCurrentBugReportHandlerAppAndUser(any(), eq(PACKAGE_NAME),
+                eq(USER_ID))).thenReturn(false);
+
+        RadioButtonPreference defaultPackagePref = mock(RadioButtonPreference.class);
+        when(defaultPackagePref.getKey()).thenReturn(
+                BugReportHandlerPicker.getKey(PACKAGE_NAME, USER_ID));
+        mPicker.onRadioButtonClicked(defaultPackagePref);
+
+        verify(mBugReportHandlerUtil, times(1)).setCurrentBugReportHandlerAppAndUser(any(),
+                eq(PACKAGE_NAME), eq(USER_ID));
+        // Ensure we update the list of packages when we click a non-valid package - the list must
+        // have changed, otherwise this click wouldn't fail.
+        verify(mPicker, times(1)).updateCandidates();
+        verify(mBugReportHandlerUtil, times(1)).showInvalidChoiceToast(any());
+    }
+
+    private void useBugReportHandlerSettingIntent() {
+        Intent intent = new Intent(ACTION_BUGREPORT_HANDLER_SETTINGS);
+        when(mActivity.getIntent()).thenReturn(intent);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/AdvancedConnectedDeviceDashboardFragmentTest.java b/tests/robotests/src/com/android/settings/connecteddevice/AdvancedConnectedDeviceDashboardFragmentTest.java
index 3fa0e4d..d6bcb12 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/AdvancedConnectedDeviceDashboardFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/AdvancedConnectedDeviceDashboardFragmentTest.java
@@ -16,6 +16,7 @@
 package com.android.settings.connecteddevice;
 
 import static com.google.common.truth.Truth.assertThat;
+
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.when;
 
@@ -23,6 +24,7 @@
 import android.nfc.NfcAdapter;
 import android.provider.SearchIndexableResource;
 
+import com.android.settings.nfc.AndroidBeamPreferenceController;
 import com.android.settings.testutils.shadow.ShadowConnectivityManager;
 import com.android.settings.testutils.shadow.ShadowUserManager;
 import com.android.settingslib.drawer.CategoryKey;
@@ -85,6 +87,6 @@
                 AdvancedConnectedDeviceDashboardFragment.SEARCH_INDEX_DATA_PROVIDER
                         .getNonIndexableKeys(context);
 
-        assertThat(niks).contains(AdvancedConnectedDeviceDashboardFragment.KEY_BLUETOOTH);
+        assertThat(niks).contains(AndroidBeamPreferenceController.KEY_ANDROID_BEAM_SETTINGS);
     }
 }
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/AvailableMediaDeviceGroupControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/AvailableMediaDeviceGroupControllerTest.java
index c4b5901..ad630ff 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/AvailableMediaDeviceGroupControllerTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/AvailableMediaDeviceGroupControllerTest.java
@@ -193,7 +193,7 @@
         mAvailableMediaDeviceGroupController.onAudioModeChanged();
 
         assertThat(mPreferenceGroup.getTitle()).isEqualTo(
-                mContext.getText(R.string.connected_device_available_call_title));
+                mContext.getText(R.string.connected_device_call_device_title));
     }
 
     @Test
@@ -202,7 +202,7 @@
         mAvailableMediaDeviceGroupController.onAudioModeChanged();
 
         assertThat(mPreferenceGroup.getTitle()).isEqualTo(
-                mContext.getText(R.string.connected_device_available_media_title));
+                mContext.getText(R.string.connected_device_media_device_title));
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/BluetoothDashboardFragmentTest.java b/tests/robotests/src/com/android/settings/connecteddevice/BluetoothDashboardFragmentTest.java
deleted file mode 100644
index e119c18..0000000
--- a/tests/robotests/src/com/android/settings/connecteddevice/BluetoothDashboardFragmentTest.java
+++ /dev/null
@@ -1,57 +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.connecteddevice;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import android.content.Context;
-import android.text.TextUtils;
-
-import com.android.settings.R;
-import com.android.settings.search.SearchIndexableRaw;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-
-import java.util.List;
-
-@RunWith(RobolectricTestRunner.class)
-public class BluetoothDashboardFragmentTest {
-
-    private Context mContext;
-
-    @Before
-    public void setUp() {
-        mContext = RuntimeEnvironment.application;
-    }
-
-    @Test
-    public void rawData_includesFragmentResult() {
-        final List<SearchIndexableRaw> rawList =
-                BluetoothDashboardFragment.SEARCH_INDEX_DATA_PROVIDER.getRawDataToIndex(mContext,
-                        true /* enabled */);
-
-        final SearchIndexableRaw fragmentResult = rawList.stream().filter(
-                raw -> TextUtils.equals(raw.title,
-                        mContext.getString(R.string.bluetooth_settings))).findFirst().get();
-
-        assertThat(fragmentResult).isNotNull();
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragmentTest.java b/tests/robotests/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragmentTest.java
index 2328375..c4f1587 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragmentTest.java
@@ -51,6 +51,8 @@
         ShadowConnectivityManager.class, ShadowBluetoothAdapter.class})
 public class ConnectedDeviceDashboardFragmentTest {
     private static final String KEY_NEARBY_DEVICES = "bt_nearby_slice";
+    private static final String KEY_DISCOVERABLE_FOOTER = "discoverable_footer";
+    private static final String KEY_SEE_ALL = "previously_connected_devices_see_all";
 
     @Mock
     private PackageManager mPackageManager;
@@ -81,7 +83,7 @@
                 .getNonIndexableKeys(mContext);
 
         assertThat(niks).containsExactly(KEY_CONNECTED_DEVICES, KEY_AVAILABLE_DEVICES,
-                KEY_NEARBY_DEVICES);
+                KEY_NEARBY_DEVICES, KEY_DISCOVERABLE_FOOTER, KEY_SEE_ALL);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/DiscoverableFooterPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/DiscoverableFooterPreferenceControllerTest.java
index 3cc125b..065b924 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/DiscoverableFooterPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/DiscoverableFooterPreferenceControllerTest.java
@@ -30,14 +30,11 @@
 import android.text.BidiFormatter;
 import android.text.TextUtils;
 
-import androidx.preference.PreferenceScreen;
-
 import com.android.settings.R;
 import com.android.settings.bluetooth.AlwaysDiscoverable;
 import com.android.settings.core.BasePreferenceController;
 import com.android.settings.testutils.shadow.ShadowBluetoothAdapter;
 import com.android.settingslib.widget.FooterPreference;
-import com.android.settingslib.widget.FooterPreferenceMixinCompat;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -49,6 +46,7 @@
 import org.robolectric.Shadows;
 import org.robolectric.annotation.Config;
 import org.robolectric.shadows.ShadowApplication;
+import org.robolectric.util.ReflectionHelpers;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -56,16 +54,12 @@
 @RunWith(RobolectricTestRunner.class)
 @Config(shadows = ShadowBluetoothAdapter.class)
 public class DiscoverableFooterPreferenceControllerTest {
+
     private static final String DEVICE_NAME = "device name";
-    private static final String KEY = "discoverable_footer_preference";
 
     @Mock
     private PackageManager mPackageManager;
     @Mock
-    private PreferenceScreen mScreen;
-    @Mock
-    private FooterPreferenceMixinCompat mFooterPreferenceMixin;
-    @Mock
     private AlwaysDiscoverable mAlwaysDiscoverable;
 
     private Context mContext;
@@ -82,10 +76,13 @@
 
         doReturn(mPackageManager).when(mContext).getPackageManager();
         mDiscoverableFooterPreferenceController =
-                new DiscoverableFooterPreferenceController(mContext);
-        mPreference = spy(new FooterPreference(mContext));
-        mDiscoverableFooterPreferenceController.init(mFooterPreferenceMixin, mPreference,
-                mAlwaysDiscoverable);
+                new DiscoverableFooterPreferenceController(mContext, "key");
+        mPreference = new FooterPreference(mContext);
+        ReflectionHelpers
+                .setField(mDiscoverableFooterPreferenceController, "mPreference", mPreference);
+        ReflectionHelpers
+                .setField(mDiscoverableFooterPreferenceController,
+                        "mAlwaysDiscoverable", mAlwaysDiscoverable);
         mBluetoothChangedReceiver = mDiscoverableFooterPreferenceController
                 .mBluetoothChangedReceiver;
     }
@@ -99,33 +96,25 @@
     }
 
     @Test
-    public void getAvailabilityStatus_BluetoothFeature_returnAvailable() {
+    public void getAvailabilityStatus_BluetoothFeature_returnAvailableUnsearchable() {
         when(mPackageManager.hasSystemFeature(PackageManager.FEATURE_BLUETOOTH)).thenReturn(true);
 
         assertThat(mDiscoverableFooterPreferenceController.getAvailabilityStatus()).isEqualTo(
-                BasePreferenceController.AVAILABLE);
+                BasePreferenceController.AVAILABLE_UNSEARCHABLE);
     }
 
     @Test
-    public void displayPreference() {
-        when(mFooterPreferenceMixin.createFooterPreference()).thenReturn(mPreference);
-        mDiscoverableFooterPreferenceController.displayPreference(mScreen);
+    public void onStart_shouldRegisterBluetoothChanged() {
+        mDiscoverableFooterPreferenceController.onStart();
 
-        verify(mPreference).setKey(KEY);
-        verify(mScreen).addPreference(mPreference);
-    }
-
-    @Test
-    public void onResume() {
-        mDiscoverableFooterPreferenceController.onResume();
         assertThat(getRegisteredBroadcastReceivers()).contains(mBluetoothChangedReceiver);
         verify(mAlwaysDiscoverable).start();
     }
 
     @Test
-    public void onPause() {
-        mDiscoverableFooterPreferenceController.onResume();
-        mDiscoverableFooterPreferenceController.onPause();
+    public void onStop_shouldUnregisterBluetoothChanged() {
+        mDiscoverableFooterPreferenceController.onStart();
+        mDiscoverableFooterPreferenceController.onStop();
 
         assertThat(getRegisteredBroadcastReceivers()).doesNotContain(mBluetoothChangedReceiver);
         verify(mAlwaysDiscoverable).stop();
@@ -147,6 +136,22 @@
         assertThat(mPreference.getTitle()).isEqualTo(generateTitle(null));
     }
 
+    @Test
+    public void onStart_localBluetoothManagerNull_shouldNotCrash() {
+        mDiscoverableFooterPreferenceController.mLocalManager = null;
+
+        // Shouldn't crash
+        mDiscoverableFooterPreferenceController.onStart();
+    }
+
+    @Test
+    public void onStop_localBluetoothManagerNull_shouldNotCrash() {
+        mDiscoverableFooterPreferenceController.mLocalManager = null;
+
+        // Shouldn't crash
+        mDiscoverableFooterPreferenceController.onStop();
+    }
+
     private CharSequence generateTitle(String deviceName) {
         if (deviceName == null) {
             return mContext.getString(R.string.bluetooth_off_footer);
@@ -176,22 +181,4 @@
         }
         return registeredBroadcastReceivers;
     }
-
-    @Test
-    public void onResume_localBluetoothManagerNull_shouldNotCrash() {
-        mDiscoverableFooterPreferenceController.mLocalManager = null;
-        mDiscoverableFooterPreferenceController.init(mFooterPreferenceMixin, mPreference, null);
-
-        // Shouldn't crash
-        mDiscoverableFooterPreferenceController.onResume();
-    }
-
-    @Test
-    public void onPause_localBluetoothManagerNull_shouldNotCrash() {
-        mDiscoverableFooterPreferenceController.mLocalManager = null;
-        mDiscoverableFooterPreferenceController.init(mFooterPreferenceMixin, mPreference, null);
-
-        // Shouldn't crash
-        mDiscoverableFooterPreferenceController.onPause();
-    }
 }
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/NfcAndPaymentFragmentControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/NfcAndPaymentFragmentControllerTest.java
new file mode 100644
index 0000000..fdedc88
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/connecteddevice/NfcAndPaymentFragmentControllerTest.java
@@ -0,0 +1,111 @@
+/*
+ * 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.connecteddevice;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.content.pm.PackageManager;
+import android.nfc.NfcAdapter;
+import android.nfc.NfcManager;
+import android.os.UserManager;
+
+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 org.robolectric.RuntimeEnvironment;
+import org.robolectric.util.ReflectionHelpers;
+
+@RunWith(RobolectricTestRunner.class)
+public class NfcAndPaymentFragmentControllerTest {
+    private NfcAndPaymentFragmentController mController;
+    private Context mContext;
+
+    @Mock
+    private PackageManager mPackageManager;
+    @Mock
+    private UserManager mUserManager;
+    @Mock
+    private NfcManager mNfcManager;
+    @Mock
+    private NfcAdapter mNfcAdapter;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mContext = spy(RuntimeEnvironment.application);
+
+        when(mContext.getApplicationContext()).thenReturn(mContext);
+        when(mContext.getPackageManager()).thenReturn(mPackageManager);
+        when(mContext.getSystemService(Context.USER_SERVICE)).thenReturn(mUserManager);
+        when(mContext.getSystemService(Context.NFC_SERVICE)).thenReturn(mNfcManager);
+        when(NfcAdapter.getDefaultAdapter(mContext)).thenReturn(mNfcAdapter);
+
+        mController = new NfcAndPaymentFragmentController(mContext, "fakeKey");
+        ReflectionHelpers.setField(mController, "mNfcAdapter", mNfcAdapter);
+    }
+
+    @Test
+    public void getAvailabilityStatus_hasNfc_shouldReturnAvailable() {
+        when(mPackageManager.hasSystemFeature(anyString())).thenReturn(true);
+        when(mUserManager.isAdminUser()).thenReturn(true);
+        when(mNfcAdapter.isEnabled()).thenReturn(true);
+
+        assertThat(mController.getAvailabilityStatus())
+                .isEqualTo(NfcAndPaymentFragmentController.AVAILABLE);
+    }
+
+    @Test
+    public void getAvailabilityStatus_noNfcAdapter_shouldReturnUnsupported() {
+        ReflectionHelpers.setField(mController, "mNfcAdapter", null);
+        assertThat(mController.getAvailabilityStatus())
+                .isEqualTo(NfcAndPaymentFragmentController.UNSUPPORTED_ON_DEVICE);
+    }
+
+    @Test
+    public void getAvailabilityStatus_notAdminUser_shouldReturnDisabled() {
+        when(mPackageManager.hasSystemFeature(anyString())).thenReturn(true);
+        when(mUserManager.isAdminUser()).thenReturn(false);
+        when(mNfcAdapter.isEnabled()).thenReturn(true);
+
+        assertThat(mController.getAvailabilityStatus())
+                .isEqualTo(NfcAndPaymentFragmentController.DISABLED_FOR_USER);
+    }
+
+    @Test
+    public void getSummary_nfcOn_shouldProvideOnSummary() {
+        when(mNfcAdapter.isEnabled()).thenReturn(true);
+        assertThat(mController.getSummary().toString()).contains(
+                mContext.getString(R.string.switch_on_text));
+    }
+
+    @Test
+    public void getSummary_nfcOff_shouldProvideOffSummary() {
+        when(mNfcAdapter.isEnabled()).thenReturn(false);
+        assertThat(mController.getSummary().toString()).contains(
+                mContext.getString(R.string.switch_off_text));
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/NfcAndPaymentFragmentTest.java b/tests/robotests/src/com/android/settings/connecteddevice/NfcAndPaymentFragmentTest.java
new file mode 100644
index 0000000..af68784
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/connecteddevice/NfcAndPaymentFragmentTest.java
@@ -0,0 +1,76 @@
+/*
+ * 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.connecteddevice;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.nfc.NfcAdapter;
+import android.provider.SearchIndexableResource;
+
+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.List;
+
+@RunWith(RobolectricTestRunner.class)
+public class NfcAndPaymentFragmentTest {
+    private NfcAndPaymentFragment mFragment;
+    private Context mContext;
+
+    @Mock
+    private NfcAdapter mNfcAdapter;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+
+        mFragment = new NfcAndPaymentFragment();
+        mContext = spy(RuntimeEnvironment.application);
+    }
+
+    @Test
+    public void searchIndexProvider_shouldIndexResource() {
+        final List<SearchIndexableResource> indexRes =
+                NfcAndPaymentFragment.SEARCH_INDEX_DATA_PROVIDER
+                        .getXmlResourcesToIndex(mContext, true /* enabled */);
+
+        assertThat(indexRes).isNotNull();
+        assertThat(indexRes.get(0).xmlResId).isEqualTo(mFragment.getPreferenceScreenResId());
+    }
+
+    @Test
+    public void searchIndexProvider_shouldIndexAllItems() {
+        when(mContext.getApplicationContext()).thenReturn(mContext);
+        when(NfcAdapter.getDefaultAdapter(mContext)).thenReturn(mNfcAdapter);
+        when(mNfcAdapter.isSecureNfcSupported()).thenReturn(true);
+
+        final List<String> niks = NfcAndPaymentFragment.SEARCH_INDEX_DATA_PROVIDER
+                .getNonIndexableKeys(mContext);
+
+        assertThat(niks).isNotNull();
+        assertThat(niks).isEmpty();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/TopLevelConnectedDevicesPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/TopLevelConnectedDevicesPreferenceControllerTest.java
index ab73370..14fe4bd 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/TopLevelConnectedDevicesPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/TopLevelConnectedDevicesPreferenceControllerTest.java
@@ -16,7 +16,7 @@
 
 package com.android.settings.connecteddevice;
 
-import static com.android.settings.core.BasePreferenceController.AVAILABLE_UNSEARCHABLE;
+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;
@@ -48,7 +48,7 @@
 
     @Test
     public void getAvailibilityStatus_availableByDefault() {
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE_UNSEARCHABLE);
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDefaultFragmentTest.java b/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDefaultFragmentTest.java
index d8663fc..4afe22a 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDefaultFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDefaultFragmentTest.java
@@ -16,12 +16,15 @@
 
 package com.android.settings.connecteddevice.usb;
 
+import static android.hardware.usb.UsbPortStatus.DATA_ROLE_DEVICE;
+import static android.hardware.usb.UsbPortStatus.POWER_ROLE_SINK;
 import static android.net.ConnectivityManager.TETHERING_USB;
 
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.ArgumentMatchers.anyLong;
 import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
@@ -29,6 +32,8 @@
 import android.hardware.usb.UsbManager;
 import android.net.ConnectivityManager;
 
+import androidx.preference.PreferenceScreen;
+
 import com.android.settings.testutils.shadow.ShadowUtils;
 
 import org.junit.Before;
@@ -52,7 +57,7 @@
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
-        mFragment = new UsbDefaultFragment();
+        mFragment = new TestFragment();
         mFragment.mUsbBackend = mUsbBackend;
         mFragment.mConnectivityManager = mConnectivityManager;
     }
@@ -156,4 +161,77 @@
 
         verify(mUsbBackend).setDefaultUsbFunctions(UsbManager.FUNCTION_RNDIS);
     }
+
+    @Test
+    public void onPause_receivedRndis_shouldSetRndis() {
+        mFragment.mIsStartTethering = true;
+        mFragment.mUsbConnectionListener.onUsbConnectionChanged(true /* connected */,
+                UsbManager.FUNCTION_RNDIS, POWER_ROLE_SINK, DATA_ROLE_DEVICE);
+
+        mFragment.onPause();
+
+        verify(mUsbBackend).setDefaultUsbFunctions(UsbManager.FUNCTION_RNDIS);
+        assertThat(mFragment.mCurrentFunctions).isEqualTo(UsbManager.FUNCTION_RNDIS);
+    }
+
+    @Test
+    public void onPause_receivedNone_shouldSetNone() {
+        mFragment.mIsStartTethering = true;
+        mFragment.mUsbConnectionListener.onUsbConnectionChanged(true /* connected */,
+                UsbManager.FUNCTION_NONE, POWER_ROLE_SINK, DATA_ROLE_DEVICE);
+
+        mFragment.onPause();
+
+        verify(mUsbBackend).setDefaultUsbFunctions(UsbManager.FUNCTION_NONE);
+        assertThat(mFragment.mCurrentFunctions).isEqualTo(UsbManager.FUNCTION_NONE);
+    }
+
+    @Test
+    public void onPause_receivedMtp_shouldSetMtp() {
+        mFragment.mIsStartTethering = true;
+        mFragment.mUsbConnectionListener.onUsbConnectionChanged(true /* connected */,
+                UsbManager.FUNCTION_MTP, POWER_ROLE_SINK, DATA_ROLE_DEVICE);
+
+        mFragment.onPause();
+
+        verify(mUsbBackend).setDefaultUsbFunctions(UsbManager.FUNCTION_MTP);
+        assertThat(mFragment.mCurrentFunctions).isEqualTo(UsbManager.FUNCTION_MTP);
+    }
+
+    @Test
+    public void onPause_receivedPtp_shouldSetPtp() {
+        mFragment.mIsStartTethering = true;
+        mFragment.mUsbConnectionListener.onUsbConnectionChanged(true /* connected */,
+                UsbManager.FUNCTION_PTP, POWER_ROLE_SINK, DATA_ROLE_DEVICE);
+
+        mFragment.onPause();
+
+        verify(mUsbBackend).setDefaultUsbFunctions(UsbManager.FUNCTION_PTP);
+        assertThat(mFragment.mCurrentFunctions).isEqualTo(UsbManager.FUNCTION_PTP);
+    }
+
+    @Test
+    public void onPause_receivedMidi_shouldSetMidi() {
+        mFragment.mIsStartTethering = true;
+        mFragment.mUsbConnectionListener.onUsbConnectionChanged(true /* connected */,
+                UsbManager.FUNCTION_MIDI, POWER_ROLE_SINK, DATA_ROLE_DEVICE);
+
+        mFragment.onPause();
+
+        verify(mUsbBackend).setDefaultUsbFunctions(UsbManager.FUNCTION_MIDI);
+        assertThat(mFragment.mCurrentFunctions).isEqualTo(UsbManager.FUNCTION_MIDI);
+    }
+
+    public static class TestFragment extends UsbDefaultFragment {
+        public final PreferenceScreen mScreen;
+
+        public TestFragment() {
+            mScreen = mock(PreferenceScreen.class);
+        }
+
+        @Override
+        public PreferenceScreen getPreferenceScreen() {
+            return mScreen;
+        }
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsDataRoleControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsDataRoleControllerTest.java
index 91e680b..a52207f 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsDataRoleControllerTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsDataRoleControllerTest.java
@@ -38,8 +38,8 @@
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.R;
-import com.android.settings.widget.RadioButtonPreference;
 import com.android.settingslib.core.lifecycle.Lifecycle;
+import com.android.settingslib.widget.RadioButtonPreference;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsFunctionsControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsFunctionsControllerTest.java
index 11fa613..3a6eec0 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsFunctionsControllerTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsFunctionsControllerTest.java
@@ -31,12 +31,16 @@
 
 import android.content.Context;
 import android.hardware.usb.UsbManager;
-import android.hardware.usb.UsbPort;
 import android.net.ConnectivityManager;
 
+import androidx.fragment.app.FragmentActivity;
+import androidx.preference.PreferenceCategory;
+import androidx.preference.PreferenceManager;
+import androidx.preference.PreferenceScreen;
+
 import com.android.settings.testutils.shadow.ShadowUtils;
-import com.android.settings.widget.RadioButtonPreference;
 import com.android.settingslib.core.lifecycle.Lifecycle;
+import com.android.settingslib.widget.RadioButtonPreference;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -51,11 +55,6 @@
 import java.util.Iterator;
 import java.util.List;
 
-import androidx.fragment.app.FragmentActivity;
-import androidx.preference.PreferenceCategory;
-import androidx.preference.PreferenceManager;
-import androidx.preference.PreferenceScreen;
-
 @RunWith(RobolectricTestRunner.class)
 public class UsbDetailsFunctionsControllerTest {
 
diff --git a/tests/robotests/src/com/android/settings/core/LiveDataControllerTest.java b/tests/robotests/src/com/android/settings/core/LiveDataControllerTest.java
new file mode 100644
index 0000000..2fe5416
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/core/LiveDataControllerTest.java
@@ -0,0 +1,99 @@
+/*
+ * 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.core;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.content.Context;
+
+import androidx.annotation.NonNull;
+import androidx.fragment.app.Fragment;
+
+import com.android.settings.R;
+import com.android.settings.SettingsPreferenceFragment;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
+import org.robolectric.annotation.Implementation;
+import org.robolectric.annotation.Implements;
+import org.robolectric.annotation.RealObject;
+
+@RunWith(RobolectricTestRunner.class)
+public class LiveDataControllerTest {
+    private static final String KEY = "test_key";
+    private static final CharSequence TEST_DATA = "test_data";
+
+    private Context mContext;
+    private TestPreferenceController mTestController;
+    private TestFragment mFragment;
+
+    @Before
+    public void setUp() {
+        mContext = RuntimeEnvironment.application;
+        mFragment = new TestFragment();
+        mTestController = new TestPreferenceController(mContext, KEY);
+    }
+
+    @Test
+    public void newController_returnPlaceHolderSummary() {
+        assertThat(mTestController.getSummary()).isEqualTo(
+                mContext.getText(R.string.summary_placeholder));
+    }
+
+    @Test
+    @Config(shadows = ShadowLiveDataController.class)
+    public void initLifeCycleOwner_returnTestData() {
+        mTestController.initLifeCycleOwner(mFragment);
+        assertThat(mTestController.getSummary()).isEqualTo(TEST_DATA);
+    }
+
+    static class TestPreferenceController extends LiveDataController {
+        TestPreferenceController(Context context, String preferenceKey) {
+            super(context, preferenceKey);
+        }
+
+        @Override
+        public CharSequence getSummaryTextInBackground() {
+            return TEST_DATA;
+        }
+
+        @Override
+        public int getAvailabilityStatus() {
+            return AVAILABLE;
+        }
+    }
+
+    static class TestFragment extends SettingsPreferenceFragment {
+        @Override
+        public int getMetricsCategory() {
+            return 0;
+        }
+    }
+
+    @Implements(LiveDataController.class)
+    public static class ShadowLiveDataController {
+        @RealObject LiveDataController mRealController;
+
+        @Implementation
+        protected void initLifeCycleOwner(@NonNull Fragment fragment) {
+            mRealController.mSummary = TEST_DATA;
+        }
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/core/PreferenceXmlParserUtilsTest.java b/tests/robotests/src/com/android/settings/core/PreferenceXmlParserUtilsTest.java
index 9ad6a7b..41e1ab1 100644
--- a/tests/robotests/src/com/android/settings/core/PreferenceXmlParserUtilsTest.java
+++ b/tests/robotests/src/com/android/settings/core/PreferenceXmlParserUtilsTest.java
@@ -76,10 +76,11 @@
 
     @Test
     public void testDataKeywordsValid_ReturnsPreferenceKeywords() {
-        XmlResourceParser parser = getParentPrimedParser(R.xml.display_settings);
+        XmlResourceParser parser = getChildByType(R.xml.display_settings,
+                "com.android.settings.display.TimeoutListPreference");
         final AttributeSet attrs = Xml.asAttributeSet(parser);
         String keywords = PreferenceXmlParserUtils.getDataKeywords(mContext, attrs);
-        String expKeywords = mContext.getString(R.string.keywords_display);
+        String expKeywords = mContext.getString(R.string.keywords_screen_timeout);
         assertThat(keywords).isEqualTo(expKeywords);
     }
 
diff --git a/tests/robotests/src/com/android/settings/core/TogglePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/core/TogglePreferenceControllerTest.java
index 7cda34a..541f0c4 100644
--- a/tests/robotests/src/com/android/settings/core/TogglePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/core/TogglePreferenceControllerTest.java
@@ -90,6 +90,16 @@
                 SliceData.SliceType.SWITCH);
     }
 
+    @Test
+    public void isSliceable_returnTrue() {
+        assertThat(mToggleController.isSliceable()).isTrue();
+    }
+
+    @Test
+    public void isPublicSlice_returnFalse() {
+        assertThat(mToggleController.isPublicSlice()).isFalse();
+    }
+
     private static class FakeToggle extends TogglePreferenceController {
 
         private boolean checkedFlag;
diff --git a/tests/robotests/src/com/android/settings/core/XmlControllerAttributeTest.java b/tests/robotests/src/com/android/settings/core/XmlControllerAttributeTest.java
index 9373eda..da234a1 100644
--- a/tests/robotests/src/com/android/settings/core/XmlControllerAttributeTest.java
+++ b/tests/robotests/src/com/android/settings/core/XmlControllerAttributeTest.java
@@ -10,12 +10,11 @@
 import android.util.Xml;
 
 import com.android.settings.R;
-import com.android.settings.search.DatabaseIndexingUtils;
-import com.android.settings.search.Indexable;
 import com.android.settings.search.SearchFeatureProvider;
 import com.android.settings.search.SearchFeatureProviderImpl;
-import com.android.settings.security.SecuritySettings;
 import com.android.settings.testutils.FakeFeatureFactory;
+import com.android.settingslib.search.Indexable;
+import com.android.settingslib.search.SearchIndexableData;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -35,9 +34,6 @@
 @RunWith(RobolectricTestRunner.class)
 public class XmlControllerAttributeTest {
 
-    // List of classes that are too hard to mock in order to retrieve xml information.
-    private final List<Class> illegalClasses = Arrays.asList(SecuritySettings.class);
-
     // List of XML that could be retrieved from the illegalClasses list.
     private final List<Integer> whitelistXml = Arrays.asList(R.xml.security_dashboard_settings);
 
@@ -112,14 +108,12 @@
     private Set<Integer> getIndexableXml() {
         Set<Integer> xmlResSet = new HashSet<>();
 
-        Collection<Class> indexableClasses =
+        Collection<SearchIndexableData> SearchIndexableDatas =
                 mSearchProvider.getSearchIndexableResources().getProviderValues();
-        indexableClasses.removeAll(illegalClasses);
 
-        for (Class clazz : indexableClasses) {
+        for (SearchIndexableData bundle : SearchIndexableDatas) {
 
-            Indexable.SearchIndexProvider provider =
-                DatabaseIndexingUtils.getSearchIndexProvider(clazz);
+            Indexable.SearchIndexProvider provider = bundle.getSearchIndexProvider();
 
             if (provider == null) {
                 continue;
diff --git a/tests/robotests/src/com/android/settings/core/codeinspection/CodeInspectionTest.java b/tests/robotests/src/com/android/settings/core/codeinspection/CodeInspectionTest.java
index ccc8cbd..44b0187 100644
--- a/tests/robotests/src/com/android/settings/core/codeinspection/CodeInspectionTest.java
+++ b/tests/robotests/src/com/android/settings/core/codeinspection/CodeInspectionTest.java
@@ -24,6 +24,7 @@
 import com.android.settings.slices.SliceControllerInXmlCodeInspector;
 
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.robolectric.RobolectricTestRunner;
@@ -61,6 +62,7 @@
     }
 
     @Test
+    @Ignore
     public void runSearchIndexProviderCodeInspection() {
         new SearchIndexProviderCodeInspector(mClasses).run();
     }
diff --git a/tests/robotests/src/com/android/settings/core/instrumentation/SettingsEventLogWriterTest.java b/tests/robotests/src/com/android/settings/core/instrumentation/SettingsEventLogWriterTest.java
index ba2553d..bbcfa80 100644
--- a/tests/robotests/src/com/android/settings/core/instrumentation/SettingsEventLogWriterTest.java
+++ b/tests/robotests/src/com/android/settings/core/instrumentation/SettingsEventLogWriterTest.java
@@ -62,7 +62,7 @@
                 SettingsUIDeviceConfig.GENERIC_EVENT_LOGGING_ENABLED, "true", true);
 
         mWriter.visible(RuntimeEnvironment.application, SettingsEnums.PAGE_UNKNOWN,
-                SettingsEnums.SETTINGS_HOMEPAGE);
+                SettingsEnums.SETTINGS_HOMEPAGE, 0);
 
         assertThat(ShadowMetricsLogger.sActionLoggedCount).isEqualTo(1);
     }
@@ -72,7 +72,7 @@
         DeviceConfig.setProperty(DeviceConfig.NAMESPACE_SETTINGS_UI,
                 SettingsUIDeviceConfig.GENERIC_EVENT_LOGGING_ENABLED, "true", true);
 
-        mWriter.hidden(RuntimeEnvironment.application, SettingsEnums.SETTINGS_HOMEPAGE);
+        mWriter.hidden(RuntimeEnvironment.application, SettingsEnums.SETTINGS_HOMEPAGE, 0);
 
         assertThat(ShadowMetricsLogger.sActionLoggedCount).isEqualTo(1);
     }
@@ -83,7 +83,7 @@
                 SettingsUIDeviceConfig.GENERIC_EVENT_LOGGING_ENABLED, "false", true);
 
         mWriter.visible(RuntimeEnvironment.application, SettingsEnums.PAGE_UNKNOWN,
-                SettingsEnums.SETTINGS_HOMEPAGE);
+                SettingsEnums.SETTINGS_HOMEPAGE, 0);
 
         assertThat(ShadowMetricsLogger.sActionLoggedCount).isEqualTo(0);
     }
@@ -93,7 +93,7 @@
         DeviceConfig.setProperty(DeviceConfig.NAMESPACE_SETTINGS_UI,
                 SettingsUIDeviceConfig.GENERIC_EVENT_LOGGING_ENABLED, "false", true);
 
-        mWriter.hidden(RuntimeEnvironment.application, SettingsEnums.SETTINGS_HOMEPAGE);
+        mWriter.hidden(RuntimeEnvironment.application, SettingsEnums.SETTINGS_HOMEPAGE, 0);
 
         assertThat(ShadowMetricsLogger.sActionLoggedCount).isEqualTo(0);
     }
diff --git a/tests/robotests/src/com/android/settings/dashboard/CategoryManagerTest.java b/tests/robotests/src/com/android/settings/dashboard/CategoryManagerTest.java
index 0de212d..64eaad5 100644
--- a/tests/robotests/src/com/android/settings/dashboard/CategoryManagerTest.java
+++ b/tests/robotests/src/com/android/settings/dashboard/CategoryManagerTest.java
@@ -18,17 +18,21 @@
 
 import static com.android.settingslib.drawer.CategoryKey.CATEGORY_HOMEPAGE;
 import static com.android.settingslib.drawer.TileUtils.META_DATA_KEY_ORDER;
+import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_KEYHINT;
 
 import static com.google.common.truth.Truth.assertThat;
 
 import android.content.Context;
 import android.content.pm.ActivityInfo;
 import android.content.pm.ApplicationInfo;
+import android.content.pm.ProviderInfo;
 import android.os.Bundle;
 import android.util.Pair;
 
+import com.android.settingslib.drawer.ActivityTile;
 import com.android.settingslib.drawer.CategoryKey;
 import com.android.settingslib.drawer.DashboardCategory;
+import com.android.settingslib.drawer.ProviderTile;
 import com.android.settingslib.drawer.Tile;
 
 import org.junit.Before;
@@ -68,8 +72,8 @@
 
     @Test
     public void backwardCompatCleanupForCategory_shouldNotChangeCategoryForNewKeys() {
-        final Tile tile1 = new Tile(mActivityInfo, CategoryKey.CATEGORY_ACCOUNT);
-        final Tile tile2 = new Tile(mActivityInfo, CategoryKey.CATEGORY_ACCOUNT);
+        final Tile tile1 = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_ACCOUNT);
+        final Tile tile2 = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_ACCOUNT);
         final DashboardCategory category = new DashboardCategory(CategoryKey.CATEGORY_ACCOUNT);
         category.addTile(tile1);
         category.addTile(tile2);
@@ -85,9 +89,9 @@
 
     @Test
     public void backwardCompatCleanupForCategory_shouldNotChangeCategoryForMixedKeys() {
-        final Tile tile1 = new Tile(mActivityInfo, CategoryKey.CATEGORY_ACCOUNT);
+        final Tile tile1 = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_ACCOUNT);
         final String oldCategory = "com.android.settings.category.wireless";
-        final Tile tile2 = new Tile(mActivityInfo, oldCategory);
+        final Tile tile2 = new ActivityTile(mActivityInfo, oldCategory);
         final DashboardCategory category1 = new DashboardCategory(CategoryKey.CATEGORY_ACCOUNT);
         category1.addTile(tile1);
         final DashboardCategory category2 = new DashboardCategory(oldCategory);
@@ -108,7 +112,7 @@
     @Test
     public void backwardCompatCleanupForCategory_shouldChangeCategoryForOldKeys() {
         final String oldCategory = "com.android.settings.category.wireless";
-        final Tile tile1 = new Tile(mActivityInfo, oldCategory);
+        final Tile tile1 = new ActivityTile(mActivityInfo, oldCategory);
         tile1.setCategory(oldCategory);
         final DashboardCategory category1 = new DashboardCategory(oldCategory);
         category1.addTile(tile1);
@@ -131,25 +135,9 @@
         // Create some fake tiles that are not sorted.
         final String testPackage = "com.android.test";
         final DashboardCategory category = new DashboardCategory(CATEGORY_HOMEPAGE);
-        final ActivityInfo activityInfo1 = new ActivityInfo();
-        activityInfo1.metaData = new Bundle();
-        activityInfo1.metaData.putInt(META_DATA_KEY_ORDER, 100);
-        activityInfo1.packageName = testPackage;
-        activityInfo1.name = "class1";
-        final ActivityInfo activityInfo2 = new ActivityInfo();
-        activityInfo2.metaData = new Bundle();
-        activityInfo2.metaData.putInt(META_DATA_KEY_ORDER, 50);
-        activityInfo2.packageName = testPackage;
-        activityInfo2.name = "class2";
-        final ActivityInfo activityInfo3 = new ActivityInfo();
-        activityInfo3.metaData = new Bundle();
-        activityInfo3.metaData.putInt(META_DATA_KEY_ORDER, 200);
-        activityInfo3.packageName = testPackage;
-        activityInfo3.name = "class3";
-        final Tile tile1 = new Tile(activityInfo1, category.key);
-        final Tile tile2 = new Tile(activityInfo2, category.key);
-        final Tile tile3 = new Tile(activityInfo3, category.key);
-
+        final Tile tile1 = createActivityTile(category.key, testPackage, "class1", 100);
+        final Tile tile2 = createActivityTile(category.key, testPackage, "class2", 50);
+        final Tile tile3 = createActivityTile(category.key, testPackage, "class3", 200);
         category.addTile(tile1);
         category.addTile(tile2);
         category.addTile(tile3);
@@ -170,25 +158,9 @@
         final String testPackage1 = "com.android.test1";
         final String testPackage2 = "com.android.test2";
         final DashboardCategory category = new DashboardCategory(CATEGORY_HOMEPAGE);
-        final ActivityInfo activityInfo1 = new ActivityInfo();
-        activityInfo1.metaData = new Bundle();
-        activityInfo1.metaData.putInt(META_DATA_KEY_ORDER, 100);
-        activityInfo1.packageName = testPackage2;
-        activityInfo1.name = "class1";
-        final ActivityInfo activityInfo2 = new ActivityInfo();
-        activityInfo2.metaData = new Bundle();
-        activityInfo2.metaData.putInt(META_DATA_KEY_ORDER, 100);
-        activityInfo2.packageName = testPackage1;
-        activityInfo2.name = "class2";
-        final ActivityInfo activityInfo3 = new ActivityInfo();
-        activityInfo3.metaData = new Bundle();
-        activityInfo3.metaData.putInt(META_DATA_KEY_ORDER, 50);
-        activityInfo3.packageName = testPackage1;
-        activityInfo3.name = "class3";
-
-        final Tile tile1 = new Tile(activityInfo1, category.key);
-        final Tile tile2 = new Tile(activityInfo2, category.key);
-        final Tile tile3 = new Tile(activityInfo3, category.key);
+        final Tile tile1 = createActivityTile(category.key, testPackage2, "class1", 100);
+        final Tile tile2 = createActivityTile(category.key, testPackage1, "class2", 100);
+        final Tile tile3 = createActivityTile(category.key, testPackage1, "class3", 50);
         category.addTile(tile1);
         category.addTile(tile2);
         category.addTile(tile3);
@@ -208,24 +180,9 @@
         // Create some fake tiles that are not sorted.
         final String testPackage = mContext.getPackageName();
         final DashboardCategory category = new DashboardCategory(CATEGORY_HOMEPAGE);
-        final ActivityInfo activityInfo1 = new ActivityInfo();
-        activityInfo1.packageName = testPackage;
-        activityInfo1.name = "class1";
-        activityInfo1.metaData = new Bundle();
-        activityInfo1.metaData.putInt(META_DATA_KEY_ORDER, 100);
-        final ActivityInfo activityInfo2 = new ActivityInfo();
-        activityInfo2.packageName = testPackage;
-        activityInfo2.name = "class2";
-        activityInfo2.metaData = new Bundle();
-        activityInfo2.metaData.putInt(META_DATA_KEY_ORDER, 100);
-        final ActivityInfo activityInfo3 = new ActivityInfo();
-        activityInfo3.packageName = testPackage;
-        activityInfo3.name = "class3";
-        activityInfo3.metaData = new Bundle();
-        activityInfo3.metaData.putInt(META_DATA_KEY_ORDER, 50);
-        final Tile tile1 = new Tile(activityInfo1, category.key);
-        final Tile tile2 = new Tile(activityInfo2, category.key);
-        final Tile tile3 = new Tile(activityInfo3, category.key);
+        final Tile tile1 = createActivityTile(category.key, testPackage, "class1", 100);
+        final Tile tile2 = createActivityTile(category.key, testPackage, "class2", 100);
+        final Tile tile3 = createActivityTile(category.key, testPackage, "class3", 50);
         category.addTile(tile1);
         category.addTile(tile2);
         category.addTile(tile3);
@@ -246,32 +203,10 @@
         final String testPackage = mContext.getPackageName();
         final String testPackage2 = "com.google.test2";
         final DashboardCategory category = new DashboardCategory(CATEGORY_HOMEPAGE);
-
-        final ActivityInfo activityInfo1 = new ActivityInfo();
-        activityInfo1.packageName = testPackage;
-        activityInfo1.name = "class1";
-        activityInfo1.metaData = new Bundle();
-        activityInfo1.metaData.putInt(META_DATA_KEY_ORDER, 2);
-        final ActivityInfo activityInfo2 = new ActivityInfo();
-        activityInfo2.packageName = testPackage;
-        activityInfo2.name = "class2";
-        activityInfo2.metaData = new Bundle();
-        activityInfo2.metaData.putInt(META_DATA_KEY_ORDER, 1);
-        final ActivityInfo activityInfo3 = new ActivityInfo();
-        activityInfo3.packageName = testPackage2;
-        activityInfo3.name = "class0";
-        activityInfo3.metaData = new Bundle();
-        activityInfo3.metaData.putInt(META_DATA_KEY_ORDER, 0);
-        final ActivityInfo activityInfo4 = new ActivityInfo();
-        activityInfo4.packageName = testPackage;
-        activityInfo4.name = "class3";
-        activityInfo4.metaData = new Bundle();
-        activityInfo4.metaData.putInt(META_DATA_KEY_ORDER, -1);
-
-        final Tile tile1 = new Tile(activityInfo1, category.key);
-        final Tile tile2 = new Tile(activityInfo2, category.key);
-        final Tile tile4 = new Tile(activityInfo4, category.key);
-        final Tile tile3 = new Tile(activityInfo3, category.key);
+        final Tile tile1 = createActivityTile(category.key, testPackage, "class1", 2);
+        final Tile tile2 = createActivityTile(category.key, testPackage, "class2", 1);
+        final Tile tile3 = createActivityTile(category.key, testPackage2, "class0", 0);
+        final Tile tile4 = createActivityTile(category.key, testPackage, "class3", -1);
         category.addTile(tile1);
         category.addTile(tile2);
         category.addTile(tile3);
@@ -295,24 +230,9 @@
         final String testPackage2 = "com.google.test2";
         final String testPackage3 = "com.abcde.test3";
         final DashboardCategory category = new DashboardCategory(CATEGORY_HOMEPAGE);
-        final ActivityInfo activityInfo1 = new ActivityInfo();
-        activityInfo1.packageName = testPackage2;
-        activityInfo1.name = "class1";
-        activityInfo1.metaData = new Bundle();
-        activityInfo1.metaData.putInt(META_DATA_KEY_ORDER, 1);
-        final ActivityInfo activityInfo2 = new ActivityInfo();
-        activityInfo2.packageName = testPackage;
-        activityInfo2.name = "class2";
-        activityInfo2.metaData = new Bundle();
-        activityInfo2.metaData.putInt(META_DATA_KEY_ORDER, 1);
-        final ActivityInfo activityInfo3 = new ActivityInfo();
-        activityInfo3.packageName = testPackage3;
-        activityInfo3.name = "class3";
-        activityInfo3.metaData = new Bundle();
-        activityInfo3.metaData.putInt(META_DATA_KEY_ORDER, 1);
-        final Tile tile1 = new Tile(activityInfo1, category.key);
-        final Tile tile2 = new Tile(activityInfo2, category.key);
-        final Tile tile3 = new Tile(activityInfo3, category.key);
+        final Tile tile1 = createActivityTile(category.key, testPackage2, "class1", 1);
+        final Tile tile2 = createActivityTile(category.key, testPackage, "class2", 1);
+        final Tile tile3 = createActivityTile(category.key, testPackage3, "class3", 1);
         category.addTile(tile1);
         category.addTile(tile2);
         category.addTile(tile3);
@@ -332,58 +252,36 @@
         // Create some unique tiles
         final String testPackage = mContext.getPackageName();
         final DashboardCategory category = new DashboardCategory(CATEGORY_HOMEPAGE);
-        final ActivityInfo activityInfo1 = new ActivityInfo();
-        activityInfo1.packageName = testPackage;
-        activityInfo1.name = "class1";
-        activityInfo1.metaData = new Bundle();
-        activityInfo1.metaData.putInt(META_DATA_KEY_ORDER, 100);
-        final ActivityInfo activityInfo2 = new ActivityInfo();
-        activityInfo2.packageName = testPackage;
-        activityInfo2.name = "class2";
-        activityInfo2.metaData = new Bundle();
-        activityInfo2.metaData.putInt(META_DATA_KEY_ORDER, 100);
-        final ActivityInfo activityInfo3 = new ActivityInfo();
-        activityInfo3.packageName = testPackage;
-        activityInfo3.name = "class3";
-        activityInfo3.metaData = new Bundle();
-        activityInfo3.metaData.putInt(META_DATA_KEY_ORDER, 50);
-        final Tile tile1 = new Tile(activityInfo1, category.key);
-        final Tile tile2 = new Tile(activityInfo2, category.key);
-        final Tile tile3 = new Tile(activityInfo3, category.key);
+        final Tile tile1 = createActivityTile(category.key, testPackage, "class1", 100);
+        final Tile tile2 = createActivityTile(category.key, testPackage, "class2", 100);
+        final Tile tile3 = createActivityTile(category.key, testPackage, "class3", 50);
+        final Tile tile4 = createProviderTile(category.key, testPackage, "class1", "authority1",
+                "key1", 100);
+        final Tile tile5 = createProviderTile(category.key, testPackage, "class1", "authority2",
+                "key2", 100);
+        final Tile tile6 = createProviderTile(category.key, testPackage, "class1", "authority1",
+                "key2", 50);
         category.addTile(tile1);
         category.addTile(tile2);
         category.addTile(tile3);
+        category.addTile(tile4);
+        category.addTile(tile5);
+        category.addTile(tile6);
         mCategoryByKeyMap.put(CATEGORY_HOMEPAGE, category);
 
         mCategoryManager.filterDuplicateTiles(mCategoryByKeyMap);
 
-        assertThat(category.getTilesCount()).isEqualTo(3);
+        assertThat(category.getTilesCount()).isEqualTo(6);
     }
 
     @Test
-    public void filterTiles_hasDuplicate_shouldOnlyKeepUniqueTiles() {
+    public void filterTiles_hasDuplicateActivityTiles_shouldOnlyKeepUniqueTiles() {
         // Create tiles pointing to same intent.
         final String testPackage = mContext.getPackageName();
         final DashboardCategory category = new DashboardCategory(CATEGORY_HOMEPAGE);
-        final ActivityInfo activityInfo1 = new ActivityInfo();
-        activityInfo1.packageName = testPackage;
-        activityInfo1.name = "class1";
-        activityInfo1.metaData = new Bundle();
-        activityInfo1.metaData.putInt(META_DATA_KEY_ORDER, 100);
-        final ActivityInfo activityInfo2 = new ActivityInfo();
-        activityInfo2.packageName = testPackage;
-        activityInfo2.name = "class1";
-        activityInfo2.metaData = new Bundle();
-        activityInfo2.metaData.putInt(META_DATA_KEY_ORDER, 100);
-        final ActivityInfo activityInfo3 = new ActivityInfo();
-        activityInfo3.packageName = testPackage;
-        activityInfo3.name = "class1";
-        activityInfo3.metaData = new Bundle();
-        activityInfo3.metaData.putInt(META_DATA_KEY_ORDER, 50);
-
-        final Tile tile1 = new Tile(activityInfo1, category.key);
-        final Tile tile2 = new Tile(activityInfo2, category.key);
-        final Tile tile3 = new Tile(activityInfo3, category.key);
+        final Tile tile1 = createActivityTile(category.key, testPackage, "class1", 100);
+        final Tile tile2 = createActivityTile(category.key, testPackage, "class1", 100);
+        final Tile tile3 = createActivityTile(category.key, testPackage, "class1", 50);
         category.addTile(tile1);
         category.addTile(tile2);
         category.addTile(tile3);
@@ -393,4 +291,47 @@
 
         assertThat(category.getTilesCount()).isEqualTo(1);
     }
+
+    @Test
+    public void filterTiles_hasDuplicateProviderTiles_shouldOnlyKeepUniqueTiles() {
+        // Create tiles pointing to same authority and key.
+        final String testPackage = mContext.getPackageName();
+        final DashboardCategory category = new DashboardCategory(CATEGORY_HOMEPAGE);
+        final Tile tile1 = createProviderTile(category.key, testPackage, "class1", "authority1",
+                "key1", 100);
+        final Tile tile2 = createProviderTile(category.key, testPackage, "class2", "authority1",
+                "key1", 100);
+        final Tile tile3 = createProviderTile(category.key, testPackage, "class3", "authority1",
+                "key1", 50);
+        category.addTile(tile1);
+        category.addTile(tile2);
+        category.addTile(tile3);
+        mCategoryByKeyMap.put(CATEGORY_HOMEPAGE, category);
+
+        mCategoryManager.filterDuplicateTiles(mCategoryByKeyMap);
+
+        assertThat(category.getTilesCount()).isEqualTo(1);
+    }
+
+    private Tile createActivityTile(String categoryKey, String packageName, String className,
+            int order) {
+        final ActivityInfo activityInfo = new ActivityInfo();
+        activityInfo.packageName = packageName;
+        activityInfo.name = className;
+        activityInfo.metaData = new Bundle();
+        activityInfo.metaData.putInt(META_DATA_KEY_ORDER, order);
+        return new ActivityTile(activityInfo, categoryKey);
+    }
+
+    private Tile createProviderTile(String categoryKey, String packageName, String className,
+            String authority, String key, int order) {
+        final ProviderInfo providerInfo = new ProviderInfo();
+        final Bundle metaData = new Bundle();
+        providerInfo.packageName = packageName;
+        providerInfo.name = className;
+        providerInfo.authority = authority;
+        metaData.putString(META_DATA_PREFERENCE_KEYHINT, key);
+        metaData.putInt(META_DATA_KEY_ORDER, order);
+        return new ProviderTile(providerInfo, categoryKey, metaData);
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/dashboard/ControllerFutureTaskTest.java b/tests/robotests/src/com/android/settings/dashboard/ControllerFutureTaskTest.java
new file mode 100644
index 0000000..c66f2b5
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/dashboard/ControllerFutureTaskTest.java
@@ -0,0 +1,71 @@
+/*
+ * 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.dashboard;
+
+import static com.android.settingslib.core.instrumentation.Instrumentable.METRICS_CATEGORY_UNKNOWN;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.content.Context;
+
+import androidx.preference.PreferenceManager;
+import androidx.preference.PreferenceScreen;
+
+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 ControllerFutureTaskTest {
+    private static final String KEY = "my_key";
+
+    private Context mContext;
+    private TestPreferenceController mTestController;
+    private PreferenceScreen mScreen;
+
+    @Before
+    public void setUp() {
+        mContext = RuntimeEnvironment.application;
+        mTestController = new TestPreferenceController(mContext, KEY);
+        final PreferenceManager preferenceManager = new PreferenceManager(mContext);
+        mScreen = preferenceManager.createPreferenceScreen(mContext);
+    }
+
+    @Test
+    public void getController_addTask_checkControllerKey() {
+        final ControllerFutureTask futureTask = new ControllerFutureTask(
+                new ControllerTask(mTestController, mScreen, null /* metricsFeature */,
+                        METRICS_CATEGORY_UNKNOWN), null /* result */);
+
+        assertThat(futureTask.getController().getPreferenceKey()).isEqualTo(KEY);
+    }
+
+
+    static class TestPreferenceController extends BasePreferenceController {
+        TestPreferenceController(Context context, String preferenceKey) {
+            super(context, preferenceKey);
+        }
+
+        @Override
+        public int getAvailabilityStatus() {
+            return AVAILABLE;
+        }
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/dashboard/ControllerTaskTest.java b/tests/robotests/src/com/android/settings/dashboard/ControllerTaskTest.java
new file mode 100644
index 0000000..17ab79c
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/dashboard/ControllerTaskTest.java
@@ -0,0 +1,124 @@
+/*
+ * 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.dashboard;
+
+import static com.android.settingslib.core.instrumentation.Instrumentable.METRICS_CATEGORY_UNKNOWN;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+
+import android.content.Context;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceManager;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settingslib.core.AbstractPreferenceController;
+
+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 ControllerTaskTest {
+    private static final String KEY = "my_key";
+
+    private Context mContext;
+    private PreferenceScreen mScreen;
+    private TestPreferenceController mTestController;
+    private ControllerTask mControllerTask;
+
+    @Before
+    public void setUp() {
+        mContext = RuntimeEnvironment.application;
+        final PreferenceManager preferenceManager = new PreferenceManager(mContext);
+        mScreen = preferenceManager.createPreferenceScreen(mContext);
+        mTestController = spy(new TestPreferenceController(mContext));
+        mControllerTask = new ControllerTask(mTestController, mScreen, null /* metricsFeature */,
+                METRICS_CATEGORY_UNKNOWN);
+    }
+
+    @Test
+    public void doRun_controlNotAvailable_noRunUpdateState() {
+        mTestController.setAvailable(false);
+
+        mControllerTask.run();
+
+        verify(mTestController, never()).updateState(any(Preference.class));
+    }
+
+    @Test
+    public void doRun_emptyKey_noRunUpdateState() {
+        mTestController.setKey("");
+
+        mControllerTask.run();
+
+        verify(mTestController, never()).updateState(any(Preference.class));
+    }
+
+    @Test
+    public void doRun_preferenceNotExist_noRunUpdateState() {
+        mTestController.setKey(KEY);
+
+        mControllerTask.run();
+
+        verify(mTestController, never()).updateState(any(Preference.class));
+    }
+
+    @Test
+    public void doRun_executeUpdateState() {
+        mTestController.setKey(KEY);
+        final Preference preference = new Preference(mContext);
+        preference.setKey(KEY);
+        mScreen.addPreference(preference);
+
+        mControllerTask.run();
+
+        verify(mTestController).updateState(any(Preference.class));
+    }
+
+    static class TestPreferenceController extends AbstractPreferenceController {
+        private boolean mAvailable;
+        private String mKey;
+
+        TestPreferenceController(Context context) {
+            super(context);
+            mAvailable = true;
+        }
+
+        @Override
+        public boolean isAvailable() {
+            return mAvailable;
+        }
+
+        @Override
+        public String getPreferenceKey() {
+            return mKey;
+        }
+
+        void setAvailable(boolean available) {
+            mAvailable = available;
+        }
+
+        void setKey(String key) {
+            mKey = key;
+        }
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/dashboard/DashboardFeatureProviderImplTest.java b/tests/robotests/src/com/android/settings/dashboard/DashboardFeatureProviderImplTest.java
index 1c51b81..3f2b7c3 100644
--- a/tests/robotests/src/com/android/settings/dashboard/DashboardFeatureProviderImplTest.java
+++ b/tests/robotests/src/com/android/settings/dashboard/DashboardFeatureProviderImplTest.java
@@ -18,10 +18,12 @@
 
 import static android.content.Intent.EXTRA_USER;
 
+import static com.android.settingslib.drawer.SwitchesProvider.EXTRA_SWITCH_SET_CHECKED_ERROR;
 import static com.android.settingslib.drawer.TileUtils.META_DATA_KEY_ORDER;
 import static com.android.settingslib.drawer.TileUtils.META_DATA_KEY_PROFILE;
 import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_KEYHINT;
 import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_SUMMARY;
+import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_SWITCH_URI;
 import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_TITLE;
 import static com.android.settingslib.drawer.TileUtils.PROFILE_ALL;
 import static com.android.settingslib.drawer.TileUtils.PROFILE_PRIMARY;
@@ -43,6 +45,7 @@
 import android.content.Intent;
 import android.content.pm.ActivityInfo;
 import android.content.pm.PackageManager;
+import android.content.pm.ProviderInfo;
 import android.content.pm.ResolveInfo;
 import android.graphics.Bitmap;
 import android.graphics.drawable.Icon;
@@ -52,16 +55,18 @@
 
 import androidx.fragment.app.FragmentActivity;
 import androidx.preference.Preference;
+import androidx.preference.SwitchPreference;
 
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
 import com.android.settings.R;
 import com.android.settings.SettingsActivity;
 import com.android.settings.testutils.FakeFeatureFactory;
-import com.android.settings.testutils.shadow.ShadowThreadUtils;
 import com.android.settings.testutils.shadow.ShadowTileUtils;
 import com.android.settings.testutils.shadow.ShadowUserManager;
 import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
+import com.android.settingslib.drawer.ActivityTile;
 import com.android.settingslib.drawer.CategoryKey;
+import com.android.settingslib.drawer.ProviderTile;
 import com.android.settingslib.drawer.Tile;
 import com.android.settingslib.drawer.TileUtils;
 
@@ -81,11 +86,15 @@
 import org.robolectric.util.ReflectionHelpers;
 
 import java.util.ArrayList;
+import java.util.List;
 
 @RunWith(RobolectricTestRunner.class)
 @Config(shadows = ShadowUserManager.class)
 public class DashboardFeatureProviderImplTest {
 
+    private static final String KEY = "key";
+    private static final String SWITCH_URI = "content://com.android.settings/tile_switch";
+
     @Mock(answer = Answers.RETURNS_DEEP_STUBS)
     private FragmentActivity mActivity;
     @Mock(answer = Answers.RETURNS_DEEP_STUBS)
@@ -96,6 +105,8 @@
 
     private Context mContext;
     private ActivityInfo mActivityInfo;
+    private ProviderInfo mProviderInfo;
+    private Bundle mSwitchMetaData;
     private DashboardFeatureProviderImpl mImpl;
     private boolean mForceRoundedIcon;
 
@@ -112,6 +123,17 @@
         mActivityInfo.metaData.putInt(META_DATA_PREFERENCE_TITLE, R.string.settings_label);
         mActivityInfo.metaData.putInt(META_DATA_PREFERENCE_SUMMARY,
                 R.string.about_settings_summary);
+
+        mProviderInfo = new ProviderInfo();
+        mProviderInfo.packageName = mContext.getPackageName();
+        mProviderInfo.name = "provider";
+        mProviderInfo.authority = "com.android.settings";
+        mSwitchMetaData = new Bundle();
+        mSwitchMetaData.putInt(META_DATA_PREFERENCE_TITLE, R.string.settings_label);
+        mSwitchMetaData.putInt(META_DATA_PREFERENCE_SUMMARY, R.string.about_settings_summary);
+        mSwitchMetaData.putString(META_DATA_PREFERENCE_KEYHINT, KEY);
+        mSwitchMetaData.putString(META_DATA_PREFERENCE_SWITCH_URI, SWITCH_URI);
+
         doReturn(mPackageManager).when(mContext).getPackageManager();
         when(mPackageManager.resolveActivity(any(Intent.class), anyInt()))
                 .thenReturn(new ResolveInfo());
@@ -127,13 +149,13 @@
     @Test
     public void bindPreference_shouldBindAllData() {
         final Preference preference = new Preference(RuntimeEnvironment.application);
-        final Tile tile = spy(new Tile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE));
+        final Tile tile = spy(new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE));
         mActivityInfo.metaData.putInt(META_DATA_KEY_ORDER, 10);
         doReturn(Icon.createWithBitmap(Bitmap.createBitmap(1, 1, Bitmap.Config.RGB_565)))
                 .when(tile).getIcon(any(Context.class));
         mActivityInfo.metaData.putString(SettingsActivity.META_DATA_KEY_FRAGMENT_CLASS, "HI");
-        mImpl.bindPreferenceToTile(mActivity, mForceRoundedIcon, MetricsEvent.SETTINGS_GESTURES,
-                preference, tile, "123", Preference.DEFAULT_ORDER);
+        mImpl.bindPreferenceToTileAndGetObservers(mActivity, mForceRoundedIcon,
+                MetricsEvent.SETTINGS_GESTURES, preference, tile, "123", Preference.DEFAULT_ORDER);
 
         assertThat(preference.getTitle()).isEqualTo(mContext.getText(R.string.settings_label));
         assertThat(preference.getSummary())
@@ -145,13 +167,34 @@
     }
 
     @Test
+    public void bindPreference_shouldBindAllSwitchData() {
+        final Preference preference = new SwitchPreference(RuntimeEnvironment.application);
+        final Tile tile = spy(new ProviderTile(mProviderInfo, CategoryKey.CATEGORY_HOMEPAGE,
+                mSwitchMetaData));
+        mSwitchMetaData.putInt(META_DATA_KEY_ORDER, 10);
+        doReturn(Icon.createWithBitmap(Bitmap.createBitmap(1, 1, Bitmap.Config.RGB_565)))
+                .when(tile).getIcon(any(Context.class));
+        final List<DynamicDataObserver> observers = mImpl.bindPreferenceToTileAndGetObservers(
+                mActivity, mForceRoundedIcon, MetricsEvent.SETTINGS_GESTURES, preference, tile,
+                null /* key*/, Preference.DEFAULT_ORDER);
+
+        assertThat(preference.getTitle()).isEqualTo(mContext.getText(R.string.settings_label));
+        assertThat(preference.getSummary())
+                .isEqualTo(mContext.getText(R.string.about_settings_summary));
+        assertThat(preference.getKey()).isEqualTo(KEY);
+        assertThat(preference.getIcon()).isNotNull();
+        assertThat(preference.getOrder()).isEqualTo(tile.getOrder());
+        assertThat(observers.get(0).getUri().toString()).isEqualTo(SWITCH_URI);
+    }
+
+    @Test
     public void bindPreference_noFragmentMetadata_shouldBindIntent() {
         final Preference preference = new Preference(RuntimeEnvironment.application);
         mActivityInfo.metaData.putInt(META_DATA_KEY_ORDER, 10);
-        final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
+        final Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
 
-        mImpl.bindPreferenceToTile(mActivity, mForceRoundedIcon, MetricsEvent.SETTINGS_GESTURES,
-                preference, tile, "123", Preference.DEFAULT_ORDER);
+        mImpl.bindPreferenceToTileAndGetObservers(mActivity, mForceRoundedIcon,
+                MetricsEvent.SETTINGS_GESTURES, preference, tile, "123", Preference.DEFAULT_ORDER);
 
         assertThat(preference.getFragment()).isNull();
         assertThat(preference.getOnPreferenceClickListener()).isNotNull();
@@ -161,13 +204,13 @@
     @Test
     public void bindPreference_noFragmentMetadata_shouldBindToProfileSelector() {
         final Preference preference = new Preference(RuntimeEnvironment.application);
-        final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
+        final Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
         tile.userHandle = new ArrayList<>();
         tile.userHandle.add(mock(UserHandle.class));
         tile.userHandle.add(mock(UserHandle.class));
 
-        mImpl.bindPreferenceToTile(mActivity, mForceRoundedIcon, MetricsEvent.SETTINGS_GESTURES,
-                preference, tile, "123", Preference.DEFAULT_ORDER);
+        mImpl.bindPreferenceToTileAndGetObservers(mActivity, mForceRoundedIcon,
+                MetricsEvent.SETTINGS_GESTURES, preference, tile, "123", Preference.DEFAULT_ORDER);
         preference.getOnPreferenceClickListener().onPreferenceClick(null);
 
         verify(mActivity).getSupportFragmentManager();
@@ -176,19 +219,18 @@
     @Test
     public void bindPreference_noFragmentMetadataSingleUser_shouldBindToDirectLaunchIntent() {
         final Preference preference = new Preference(RuntimeEnvironment.application);
-        final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
+        final Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
         tile.userHandle = new ArrayList<>();
         tile.userHandle.add(mock(UserHandle.class));
 
         when(mActivity.getSystemService(Context.USER_SERVICE))
                 .thenReturn(mUserManager);
 
-        mImpl.bindPreferenceToTile(mActivity, mForceRoundedIcon, MetricsEvent.SETTINGS_GESTURES,
-                preference, tile, "123", Preference.DEFAULT_ORDER);
+        mImpl.bindPreferenceToTileAndGetObservers(mActivity, mForceRoundedIcon,
+                MetricsEvent.SETTINGS_GESTURES, preference, tile, "123", Preference.DEFAULT_ORDER);
         preference.getOnPreferenceClickListener().onPreferenceClick(null);
 
-        verify(mFeatureFactory.metricsFeatureProvider).logDashboardStartIntent(
-                any(Context.class),
+        verify(mFeatureFactory.metricsFeatureProvider).logStartedIntent(
                 any(Intent.class),
                 eq(MetricsEvent.SETTINGS_GESTURES));
         verify(mActivity)
@@ -199,15 +241,14 @@
     public void bindPreference_toInternalSettingActivity_shouldBindToDirectLaunchIntentAndNotLog() {
         final Preference preference = new Preference(RuntimeEnvironment.application);
         mActivityInfo.packageName = RuntimeEnvironment.application.getPackageName();
-        final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
+        final Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
         tile.userHandle = new ArrayList<>();
         tile.userHandle.add(mock(UserHandle.class));
 
-        mImpl.bindPreferenceToTile(mActivity, mForceRoundedIcon, MetricsEvent.SETTINGS_GESTURES,
-                preference, tile, "123", Preference.DEFAULT_ORDER);
+        mImpl.bindPreferenceToTileAndGetObservers(mActivity, mForceRoundedIcon,
+                MetricsEvent.SETTINGS_GESTURES, preference, tile, "123", Preference.DEFAULT_ORDER);
         preference.getOnPreferenceClickListener().onPreferenceClick(null);
-        verify(mFeatureFactory.metricsFeatureProvider).logDashboardStartIntent(
-                any(Context.class),
+        verify(mFeatureFactory.metricsFeatureProvider).logStartedIntent(
                 any(Intent.class),
                 anyInt());
         verify(mActivity)
@@ -217,8 +258,8 @@
     @Test
     public void bindPreference_nullPreference_shouldIgnore() {
         final Tile tile = mock(Tile.class);
-        mImpl.bindPreferenceToTile(mActivity, mForceRoundedIcon, MetricsEvent.VIEW_UNKNOWN,
-                null, tile, "123", Preference.DEFAULT_ORDER);
+        mImpl.bindPreferenceToTileAndGetObservers(mActivity, mForceRoundedIcon,
+                MetricsEvent.VIEW_UNKNOWN, null, tile, "123", Preference.DEFAULT_ORDER);
 
         verifyZeroInteractions(tile);
     }
@@ -226,9 +267,10 @@
     @Test
     public void bindPreference_withNullKeyNullPriority_shouldGenerateKeyAndPriority() {
         final Preference preference = new Preference(RuntimeEnvironment.application);
-        final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
-        mImpl.bindPreferenceToTile(mActivity, mForceRoundedIcon, MetricsEvent.VIEW_UNKNOWN,
-                preference, tile, null /*key */, Preference.DEFAULT_ORDER);
+        final Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
+        mImpl.bindPreferenceToTileAndGetObservers(mActivity, mForceRoundedIcon,
+                MetricsEvent.VIEW_UNKNOWN, preference, tile, null /*key */,
+                Preference.DEFAULT_ORDER);
 
         assertThat(preference.getKey()).isNotNull();
         assertThat(preference.getOrder()).isEqualTo(Preference.DEFAULT_ORDER);
@@ -239,46 +281,131 @@
         final Preference preference = new Preference(RuntimeEnvironment.application);
         mActivityInfo.metaData.remove(META_DATA_PREFERENCE_SUMMARY);
 
-        final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
+        final Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
 
-        mImpl.bindPreferenceToTile(mActivity, mForceRoundedIcon, MetricsEvent.VIEW_UNKNOWN,
-                preference, tile, null /*key */, Preference.DEFAULT_ORDER);
+        mImpl.bindPreferenceToTileAndGetObservers(mActivity, mForceRoundedIcon,
+                MetricsEvent.VIEW_UNKNOWN, preference, tile, null /*key */,
+                Preference.DEFAULT_ORDER);
 
         assertThat(preference.getSummary())
                 .isEqualTo(RuntimeEnvironment.application.getString(R.string.summary_placeholder));
     }
 
     @Test
-    @Config(shadows = {ShadowTileUtils.class, ShadowThreadUtils.class})
-    public void bindPreference_hasSummaryUri_shouldLoadSummaryFromContentProvider() {
+    @Config(shadows = {ShadowTileUtils.class})
+    public void bindPreference_hasSummaryUri_shouldLoadSummaryFromContentProviderAndHaveObserver() {
         final Preference preference = new Preference(RuntimeEnvironment.application);
-        final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
-        mActivityInfo.metaData.putString(TileUtils.META_DATA_PREFERENCE_SUMMARY_URI,
-                "content://com.android.settings/tile_summary");
+        final Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
+        final String uriString = "content://com.android.settings/tile_summary";
+        mActivityInfo.metaData.putString(TileUtils.META_DATA_PREFERENCE_SUMMARY_URI, uriString);
 
-        mImpl.bindPreferenceToTile(mActivity, mForceRoundedIcon, MetricsEvent.VIEW_UNKNOWN,
-                preference, tile, null /*key */, Preference.DEFAULT_ORDER);
+        final List<DynamicDataObserver> observers = mImpl.bindPreferenceToTileAndGetObservers(
+                mActivity, mForceRoundedIcon, MetricsEvent.VIEW_UNKNOWN, preference, tile,
+                null /*key */, Preference.DEFAULT_ORDER);
 
         assertThat(preference.getSummary()).isEqualTo(ShadowTileUtils.MOCK_SUMMARY);
+        assertThat(observers.get(0).getUri().toString()).isEqualTo(uriString);
+    }
+
+    @Test
+    @Config(shadows = {ShadowTileUtils.class})
+    public void bindPreference_hasTitleUri_shouldLoadFromContentProviderAndHaveObserver() {
+        final Preference preference = new Preference(RuntimeEnvironment.application);
+        final Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
+        final String uriString =  "content://com.android.settings/tile_title";
+        mActivityInfo.metaData.putString(TileUtils.META_DATA_PREFERENCE_TITLE_URI, uriString);
+
+        final List<DynamicDataObserver> observers = mImpl.bindPreferenceToTileAndGetObservers(
+                mActivity, mForceRoundedIcon, MetricsEvent.VIEW_UNKNOWN, preference, tile,
+                null /*key */, Preference.DEFAULT_ORDER);
+
+        assertThat(preference.getTitle()).isEqualTo(ShadowTileUtils.MOCK_SUMMARY);
+        assertThat(observers.get(0).getUri().toString()).isEqualTo(uriString);
+    }
+
+    @Test
+    @Config(shadows = {ShadowTileUtils.class})
+    public void bindPreference_onCheckedChanged_shouldPutStateToContentProvider() {
+        final SwitchPreference preference = new SwitchPreference(RuntimeEnvironment.application);
+        final Tile tile = new ProviderTile(mProviderInfo, CategoryKey.CATEGORY_HOMEPAGE,
+                mSwitchMetaData);
+        final Bundle bundle = new Bundle();
+        bundle.putBoolean(EXTRA_SWITCH_SET_CHECKED_ERROR, false);
+        ShadowTileUtils.setResultBundle(bundle);
+        mImpl.bindPreferenceToTileAndGetObservers(mActivity, mForceRoundedIcon,
+                MetricsEvent.VIEW_UNKNOWN, preference, tile, null /*key */,
+                Preference.DEFAULT_ORDER);
+
+        preference.callChangeListener(false);
+
+        assertThat(ShadowTileUtils.getProviderChecked()).isFalse();
+
+        preference.callChangeListener(true);
+
+        assertThat(ShadowTileUtils.getProviderChecked()).isTrue();
+    }
+
+    @Test
+    @Config(shadows = {ShadowTileUtils.class})
+    public void bindPreference_onCheckedChangedError_shouldRevertCheckedState() {
+        final SwitchPreference preference = new SwitchPreference(RuntimeEnvironment.application);
+        final Tile tile = new ProviderTile(mProviderInfo, CategoryKey.CATEGORY_HOMEPAGE,
+                mSwitchMetaData);
+        final Bundle bundle = new Bundle();
+        bundle.putBoolean(EXTRA_SWITCH_SET_CHECKED_ERROR, true);
+        ShadowTileUtils.setResultBundle(bundle);
+        mImpl.bindPreferenceToTileAndGetObservers(mActivity, mForceRoundedIcon,
+                MetricsEvent.VIEW_UNKNOWN, preference, tile, null /*key */,
+                Preference.DEFAULT_ORDER);
+
+        preference.callChangeListener(true);
+
+        assertThat(preference.isChecked()).isFalse();
+
+        preference.callChangeListener(false);
+
+        assertThat(preference.isChecked()).isTrue();
+    }
+
+    @Test
+    @Config(shadows = {ShadowTileUtils.class})
+    public void bindPreference_callbackOnChanged_shouldLoadFromContentProvider() {
+        final SwitchPreference preference = new SwitchPreference(RuntimeEnvironment.application);
+        final Tile tile = new ProviderTile(mProviderInfo, CategoryKey.CATEGORY_HOMEPAGE,
+                mSwitchMetaData);
+        final List<DynamicDataObserver> observers = mImpl.bindPreferenceToTileAndGetObservers(
+                mActivity, mForceRoundedIcon, MetricsEvent.VIEW_UNKNOWN, preference, tile,
+                null /*key */, Preference.DEFAULT_ORDER);
+
+        ShadowTileUtils.setProviderChecked(false);
+        observers.get(0).onDataChanged();
+
+        assertThat(preference.isChecked()).isFalse();
+
+        ShadowTileUtils.setProviderChecked(true);
+        observers.get(0).onDataChanged();
+
+        assertThat(preference.isChecked()).isTrue();
     }
 
     @Test
     public void bindPreference_withNullKeyTileKey_shouldUseTileKey() {
         final Preference preference = new Preference(RuntimeEnvironment.application);
         mActivityInfo.metaData.putString(META_DATA_PREFERENCE_KEYHINT, "key");
-        final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
-        mImpl.bindPreferenceToTile(mActivity, mForceRoundedIcon, MetricsEvent.VIEW_UNKNOWN,
-                preference, tile, null /* key */, Preference.DEFAULT_ORDER);
+        final Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
+        mImpl.bindPreferenceToTileAndGetObservers(mActivity, mForceRoundedIcon,
+                MetricsEvent.VIEW_UNKNOWN, preference, tile, null /* key */,
+                Preference.DEFAULT_ORDER);
 
         assertThat(preference.getKey()).isEqualTo(tile.getKey(mContext));
     }
 
     @Test
-    @Config(shadows = {ShadowTileUtils.class, ShadowThreadUtils.class})
+    @Config(shadows = {ShadowTileUtils.class})
     public void bindPreference_withIconUri_shouldLoadIconFromContentProvider() {
         final Preference preference = new Preference(RuntimeEnvironment.application);
         mActivityInfo.packageName = RuntimeEnvironment.application.getPackageName();
-        final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
+        final Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
         mActivityInfo.metaData.putString(META_DATA_PREFERENCE_KEYHINT, "key");
         mActivityInfo.metaData.putString(TileUtils.META_DATA_PREFERENCE_ICON_URI,
                 "content://com.android.settings/tile_icon");
@@ -292,10 +419,10 @@
         final int baseOrder = 100;
         final Preference preference = new Preference(RuntimeEnvironment.application);
         mActivityInfo.metaData.putInt(META_DATA_KEY_ORDER, 10);
-        final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
+        final Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
 
-        mImpl.bindPreferenceToTile(mActivity, mForceRoundedIcon, MetricsEvent.VIEW_UNKNOWN,
-                preference, tile, "123", baseOrder);
+        mImpl.bindPreferenceToTileAndGetObservers(mActivity, mForceRoundedIcon,
+                MetricsEvent.VIEW_UNKNOWN, preference, tile, "123", baseOrder);
 
         assertThat(preference.getOrder()).isEqualTo(tile.getOrder() + baseOrder);
     }
@@ -305,10 +432,10 @@
         final Preference preference = new Preference(RuntimeEnvironment.application);
         final int testOrder = -30;
         mActivityInfo.metaData.putInt(META_DATA_KEY_ORDER, 10);
-        final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
+        final Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
         mActivityInfo.metaData.putInt(META_DATA_KEY_ORDER, testOrder);
-        mImpl.bindPreferenceToTile(mActivity, mForceRoundedIcon, MetricsEvent.VIEW_UNKNOWN,
-                preference, tile, "123", Preference.DEFAULT_ORDER);
+        mImpl.bindPreferenceToTileAndGetObservers(mActivity, mForceRoundedIcon,
+                MetricsEvent.VIEW_UNKNOWN, preference, tile, "123", Preference.DEFAULT_ORDER);
 
         assertThat(preference.getOrder()).isEqualTo(testOrder);
     }
@@ -316,11 +443,11 @@
     @Test
     public void bindPreference_invalidOrderMetadata_shouldIgnore() {
         final Preference preference = new Preference(RuntimeEnvironment.application);
-        final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
+        final Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
         mActivityInfo.metaData.putString(META_DATA_KEY_ORDER, "hello");
 
-        mImpl.bindPreferenceToTile(mActivity, mForceRoundedIcon, MetricsEvent.VIEW_UNKNOWN,
-                preference, tile, "123", Preference.DEFAULT_ORDER);
+        mImpl.bindPreferenceToTileAndGetObservers(mActivity, mForceRoundedIcon,
+                MetricsEvent.VIEW_UNKNOWN, preference, tile, "123", Preference.DEFAULT_ORDER);
 
         assertThat(preference.getOrder()).isEqualTo(Preference.DEFAULT_ORDER);
     }
@@ -329,19 +456,20 @@
     public void bindPreference_withIntentActionMetadata_shouldSetLaunchAction() {
         FragmentActivity activity = Robolectric.buildActivity(FragmentActivity.class).get();
         final Preference preference = new Preference(RuntimeEnvironment.application);
-        final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
+        final Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
         mActivityInfo.metaData.putString(META_DATA_PREFERENCE_KEYHINT, "key");
         mActivityInfo.metaData.putString("com.android.settings.intent.action", "TestAction");
         tile.userHandle = null;
-        mImpl.bindPreferenceToTile(activity, mForceRoundedIcon, MetricsEvent.SETTINGS_GESTURES,
-                preference, tile, "123", Preference.DEFAULT_ORDER);
+        mImpl.bindPreferenceToTileAndGetObservers(activity, mForceRoundedIcon,
+                MetricsEvent.SETTINGS_GESTURES, preference, tile, "123", Preference.DEFAULT_ORDER);
         preference.performClick();
         ShadowActivity shadowActivity = Shadows.shadowOf(activity);
 
         final Intent launchIntent = shadowActivity.getNextStartedActivityForResult().intent;
         assertThat(launchIntent.getAction())
                 .isEqualTo("TestAction");
-        assertThat(launchIntent.getIntExtra(MetricsFeatureProvider.EXTRA_SOURCE_METRICS_CATEGORY, 0))
+        assertThat(
+                launchIntent.getIntExtra(MetricsFeatureProvider.EXTRA_SOURCE_METRICS_CATEGORY, 0))
                 .isEqualTo(MetricsEvent.SETTINGS_GESTURES);
     }
 
@@ -351,13 +479,13 @@
                 mImpl, "mPackageManager", RuntimeEnvironment.application.getPackageManager());
         FragmentActivity activity = Robolectric.buildActivity(FragmentActivity.class).get();
         final Preference preference = new Preference(RuntimeEnvironment.application);
-        final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
+        final Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
         mActivityInfo.metaData.putString(META_DATA_PREFERENCE_KEYHINT, "key");
         mActivityInfo.metaData.putString("com.android.settings.intent.action", "TestAction");
         tile.userHandle = null;
 
-        mImpl.bindPreferenceToTile(activity, mForceRoundedIcon, MetricsEvent.SETTINGS_GESTURES,
-                preference, tile, "123", Preference.DEFAULT_ORDER);
+        mImpl.bindPreferenceToTileAndGetObservers(activity, mForceRoundedIcon,
+                MetricsEvent.SETTINGS_GESTURES, preference, tile, "123", Preference.DEFAULT_ORDER);
         preference.performClick();
 
         final ShadowActivity.IntentForResult launchIntent =
@@ -370,7 +498,7 @@
     public void openTileIntent_profileSelectionDialog_shouldShow() {
         ShadowUserManager.getShadow().addUser(10, "Someone", 0);
 
-        final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
+        final Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
         final ArrayList<UserHandle> handles = new ArrayList<>();
         handles.add(new UserHandle(0));
         handles.add(new UserHandle(10));
@@ -387,7 +515,7 @@
         ShadowUserManager.getShadow().addUser(10, "Someone", 0);
 
         mActivityInfo.metaData.putString(META_DATA_KEY_PROFILE, PROFILE_ALL);
-        final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
+        final Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
         final ArrayList<UserHandle> handles = new ArrayList<>();
         handles.add(new UserHandle(0));
         handles.add(new UserHandle(10));
@@ -404,7 +532,7 @@
         ShadowUserManager.getShadow().addUser(10, "Someone", 0);
 
         mActivityInfo.metaData.putString(META_DATA_KEY_PROFILE, PROFILE_PRIMARY);
-        final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
+        final Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
         final ArrayList<UserHandle> handles = new ArrayList<>();
         handles.add(new UserHandle(0));
         handles.add(new UserHandle(10));
@@ -422,7 +550,7 @@
         ShadowUserManager.getShadow().addUser(userId, "Someone", 0);
 
         final UserHandle userHandle = new UserHandle(userId);
-        final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
+        final Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
         tile.getIntent().putExtra(EXTRA_USER, userHandle);
         final ArrayList<UserHandle> handles = new ArrayList<>();
         handles.add(new UserHandle(0));
@@ -433,7 +561,7 @@
 
         final ArgumentCaptor<UserHandle> argument = ArgumentCaptor.forClass(UserHandle.class);
         verify(mActivity)
-            .startActivityForResultAsUser(any(Intent.class), anyInt(), argument.capture());
+                .startActivityForResultAsUser(any(Intent.class), anyInt(), argument.capture());
         assertThat(argument.getValue().getIdentifier()).isEqualTo(userId);
         verify(mActivity, never()).getSupportFragmentManager();
     }
@@ -442,7 +570,7 @@
     public void openTileIntent_profileSelectionDialog_invalidUserHandleShouldShow() {
         ShadowUserManager.getShadow().addUser(10, "Someone", 0);
 
-        final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
+        final Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
         tile.getIntent().putExtra(EXTRA_USER, new UserHandle(30));
         final ArrayList<UserHandle> handles = new ArrayList<>();
         handles.add(new UserHandle(0));
@@ -452,7 +580,7 @@
         mImpl.openTileIntent(mActivity, tile);
 
         verify(mActivity, never())
-            .startActivityForResultAsUser(any(Intent.class), anyInt(), any(UserHandle.class));
+                .startActivityForResultAsUser(any(Intent.class), anyInt(), any(UserHandle.class));
         verify(mActivity).getSupportFragmentManager();
     }
 }
diff --git a/tests/robotests/src/com/android/settings/dashboard/DashboardFragmentSearchIndexProviderInspector.java b/tests/robotests/src/com/android/settings/dashboard/DashboardFragmentSearchIndexProviderInspector.java
index 7106cf6..6103b2b 100644
--- a/tests/robotests/src/com/android/settings/dashboard/DashboardFragmentSearchIndexProviderInspector.java
+++ b/tests/robotests/src/com/android/settings/dashboard/DashboardFragmentSearchIndexProviderInspector.java
@@ -22,8 +22,9 @@
 
 import com.android.settings.core.BasePreferenceController;
 import com.android.settings.core.PreferenceControllerListHelper;
+import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settings.search.DatabaseIndexingUtils;
-import com.android.settings.search.Indexable;
+import com.android.settingslib.search.Indexable;
 import com.android.settingslib.core.AbstractPreferenceController;
 
 import org.robolectric.RuntimeEnvironment;
@@ -45,8 +46,8 @@
             return true;
         }
 
-        final Indexable.SearchIndexProvider provider =
-                DatabaseIndexingUtils.getSearchIndexProvider(clazz);
+        final BaseSearchIndexProvider provider =
+                (BaseSearchIndexProvider) DatabaseIndexingUtils.getSearchIndexProvider(clazz);
         if (provider == null) {
             return true;
         }
diff --git a/tests/robotests/src/com/android/settings/dashboard/DashboardFragmentTest.java b/tests/robotests/src/com/android/settings/dashboard/DashboardFragmentTest.java
index 9aae249..e70578e 100644
--- a/tests/robotests/src/com/android/settings/dashboard/DashboardFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/dashboard/DashboardFragmentTest.java
@@ -17,9 +17,11 @@
 
 import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.DASHBOARD_CONTAINER;
 import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_KEYHINT;
+import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_SWITCH_URI;
 
 import static com.google.common.truth.Truth.assertThat;
 
+import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.nullable;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.never;
@@ -29,23 +31,32 @@
 import static org.mockito.Mockito.when;
 
 import android.app.settings.SettingsEnums;
+import android.content.ContentResolver;
 import android.content.Context;
 import android.content.pm.ActivityInfo;
+import android.content.pm.ProviderInfo;
+import android.net.Uri;
 import android.os.Bundle;
+import android.util.FeatureFlagUtils;
 
 import androidx.preference.Preference;
+import androidx.preference.PreferenceFragmentCompat;
 import androidx.preference.PreferenceManager;
 import androidx.preference.PreferenceScreen;
+import androidx.preference.SwitchPreference;
 
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
+import com.android.settings.core.FeatureFlags;
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settings.slices.BlockingSlicePrefController;
 import com.android.settings.testutils.FakeFeatureFactory;
+import com.android.settings.widget.MasterSwitchPreference;
 import com.android.settingslib.core.AbstractPreferenceController;
 import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 import com.android.settingslib.core.instrumentation.VisibilityLoggerMixin;
+import com.android.settingslib.drawer.ActivityTile;
 import com.android.settingslib.drawer.DashboardCategory;
-import com.android.settingslib.drawer.Tile;
+import com.android.settingslib.drawer.ProviderTile;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -55,6 +66,8 @@
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
+import org.robolectric.annotation.Implementation;
+import org.robolectric.annotation.Implements;
 import org.robolectric.util.ReflectionHelpers;
 
 import java.util.ArrayList;
@@ -68,24 +81,37 @@
 
     @Mock
     private FakeFeatureFactory mFakeFeatureFactory;
-    private ActivityInfo mActivityInfo;
     private DashboardCategory mDashboardCategory;
     private Context mContext;
     private TestFragment mTestFragment;
     private List<AbstractPreferenceController> mControllers;
+    private ActivityTile mActivityTile;
+    private ProviderTile mProviderTile;
 
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
         mContext = spy(RuntimeEnvironment.application);
-        mActivityInfo = new ActivityInfo();
-        mActivityInfo.packageName = "pkg";
-        mActivityInfo.name = "class";
-        mActivityInfo.metaData = new Bundle();
-        mActivityInfo.metaData.putString(META_DATA_PREFERENCE_KEYHINT, "injected_tile_key");
+        final ActivityInfo activityInfo = new ActivityInfo();
+        activityInfo.packageName = "pkg";
+        activityInfo.name = "class";
+        activityInfo.metaData = new Bundle();
+        activityInfo.metaData.putString(META_DATA_PREFERENCE_KEYHINT, "injected_tile_key");
         mFakeFeatureFactory = FakeFeatureFactory.setupForTest();
         mDashboardCategory = new DashboardCategory("key");
-        mDashboardCategory.addTile(new Tile(mActivityInfo, mDashboardCategory.key));
+        mActivityTile = new ActivityTile(activityInfo, mDashboardCategory.key);
+        mDashboardCategory.addTile(mActivityTile);
+
+        final ProviderInfo providerInfo = new ProviderInfo();
+        providerInfo.packageName = "pkg";
+        providerInfo.name = "provider";
+        providerInfo.authority = "authority";
+        final Bundle metaData = new Bundle();
+        metaData.putString(META_DATA_PREFERENCE_KEYHINT, "injected_tile_key2");
+        metaData.putString(META_DATA_PREFERENCE_SWITCH_URI, "uri");
+        mProviderTile = new ProviderTile(providerInfo, mDashboardCategory.key, metaData);
+        mDashboardCategory.addTile(mProviderTile);
+
         mTestFragment = new TestFragment(RuntimeEnvironment.application);
         when(mFakeFeatureFactory.dashboardFeatureProvider
                 .getTilesForCategory(nullable(String.class)))
@@ -125,11 +151,14 @@
                 .getTilesForCategory(nullable(String.class)))
                 .thenReturn(mDashboardCategory);
         when(mFakeFeatureFactory.dashboardFeatureProvider
-                .getDashboardKeyForTile(nullable(Tile.class)))
+                .getDashboardKeyForTile(any(ActivityTile.class)))
                 .thenReturn("test_key");
+        when(mFakeFeatureFactory.dashboardFeatureProvider
+                .getDashboardKeyForTile(any(ProviderTile.class)))
+                .thenReturn("test_key2");
         mTestFragment.onCreatePreferences(new Bundle(), "rootKey");
 
-        verify(mTestFragment.mScreen).addPreference(nullable(Preference.class));
+        verify(mTestFragment.mScreen, times(2)).addPreference(nullable(Preference.class));
     }
 
     @Test
@@ -154,8 +183,11 @@
                 .getTilesForCategory(nullable(String.class)))
                 .thenReturn(mDashboardCategory);
         when(mFakeFeatureFactory.dashboardFeatureProvider
-                .getDashboardKeyForTile(nullable(Tile.class)))
+                .getDashboardKeyForTile(any(ActivityTile.class)))
                 .thenReturn("test_key");
+        when(mFakeFeatureFactory.dashboardFeatureProvider
+                .getDashboardKeyForTile(any(ProviderTile.class)))
+                .thenReturn("test_key2");
         mTestFragment.onCreatePreferences(new Bundle(), "rootKey");
 
         verify(mTestFragment.mScreen, never()).addPreference(nullable(Preference.class));
@@ -170,6 +202,29 @@
     }
 
     @Test
+    @Config(shadows = ShadowPreferenceFragmentCompat.class)
+    public void onStart_shouldRegisterDynamicDataObservers() {
+        final DynamicDataObserver observer = new TestDynamicDataObserver();
+        mTestFragment.mDashboardTilePrefKeys.put("key", Arrays.asList(observer));
+
+        mTestFragment.onStart();
+
+        verify(mTestFragment.getContentResolver()).registerContentObserver(observer.getUri(), false,
+                observer);
+    }
+
+    @Test
+    @Config(shadows = ShadowPreferenceFragmentCompat.class)
+    public void onStop_shouldUnregisterDynamicDataObservers() {
+        final DynamicDataObserver observer = new TestDynamicDataObserver();
+        mTestFragment.registerDynamicDataObservers(Arrays.asList(observer));
+
+        mTestFragment.onStop();
+
+        verify(mTestFragment.getContentResolver()).unregisterContentObserver(observer);
+    }
+
+    @Test
     public void updateState_skipUnavailablePrefs() {
         final List<AbstractPreferenceController> preferenceControllers = mTestFragment.mControllers;
         final AbstractPreferenceController mockController1 =
@@ -240,14 +295,75 @@
     }
 
     @Test
-    public void checkUiBlocker_hasUiBlocker_controllerNotNull() {
+    public void checkUiBlocker_hasUiBlockerAndControllerIsAvailable_controllerNotNull() {
+        final BlockingSlicePrefController controller =
+                new BlockingSlicePrefController(mContext, "pref_key");
+        controller.setSliceUri(Uri.parse("testUri"));
+        mTestFragment.mBlockerController = null;
+        mControllers.add(new TestPreferenceController(mContext));
+        mControllers.add(controller);
+
+        mTestFragment.checkUiBlocker(mControllers);
+
+        assertThat(mTestFragment.mBlockerController).isNotNull();
+    }
+
+    @Test
+    public void checkUiBlocker_hasUiBlockerAndControllerIsNotAvailable_controllerIsNull() {
         mTestFragment.mBlockerController = null;
         mControllers.add(new TestPreferenceController(mContext));
         mControllers.add(new BlockingSlicePrefController(mContext, "pref_key"));
 
         mTestFragment.checkUiBlocker(mControllers);
 
-        assertThat(mTestFragment.mBlockerController).isNotNull();
+        assertThat(mTestFragment.mBlockerController).isNull();
+    }
+
+    @Test
+    public void createPreference_isProviderTile_returnSwitchPreference() {
+        final Preference pref = mTestFragment.createPreference(mProviderTile);
+
+        assertThat(pref).isInstanceOf(SwitchPreference.class);
+    }
+
+    @Test
+    public void createPreference_isActivityTileAndHasSwitch_returnMasterSwitchPreference() {
+        mActivityTile.getMetaData().putString(META_DATA_PREFERENCE_SWITCH_URI, "uri");
+
+        final Preference pref = mTestFragment.createPreference(mActivityTile);
+
+        assertThat(pref).isInstanceOf(MasterSwitchPreference.class);
+    }
+
+    @Test
+    public void isFeatureFlagAndIsParalleled_runParalleledUpdatePreferenceStates() {
+        FeatureFlagUtils.setEnabled(mContext, FeatureFlags.CONTROLLER_ENHANCEMENT, true);
+        final TestFragment testFragment = spy(new TestFragment(RuntimeEnvironment.application));
+
+        testFragment.updatePreferenceStates();
+
+        verify(testFragment).updatePreferenceStatesInParallel();
+    }
+
+    @Test
+    public void notFeatureFlagAndIsParalleled_notRunParalleledUpdatePreferenceStates() {
+        FeatureFlagUtils.setEnabled(mContext, FeatureFlags.CONTROLLER_ENHANCEMENT, false);
+        final TestFragment testFragment = spy(new TestFragment(RuntimeEnvironment.application));
+
+        testFragment.updatePreferenceStates();
+
+        verify(testFragment, never()).updatePreferenceStatesInParallel();
+    }
+
+    @Test
+    public void isFeatureFlagAndNotParalleled_notRunParalleledUpdatePreferenceStates() {
+        FeatureFlagUtils.setEnabled(mContext, FeatureFlags.CONTROLLER_ENHANCEMENT, true);
+        final TestFragment testFragment = spy(new TestFragment(RuntimeEnvironment.application));
+        testFragment.setUsingControllerEnhancement(false);
+
+        testFragment.updatePreferenceStates();
+
+        verify(testFragment, never()).updatePreferenceStatesInParallel();
     }
 
     public static class TestPreferenceController extends AbstractPreferenceController
@@ -277,19 +393,23 @@
         }
     }
 
-    public static class TestFragment extends DashboardFragment {
+    private static class TestFragment extends DashboardFragment {
 
         private final PreferenceManager mPreferenceManager;
         private final Context mContext;
         private final List<AbstractPreferenceController> mControllers;
+        private final ContentResolver mContentResolver;
 
         public final PreferenceScreen mScreen;
+        private boolean mIsParalleled;
 
         public TestFragment(Context context) {
             mContext = context;
             mPreferenceManager = mock(PreferenceManager.class);
             mScreen = mock(PreferenceScreen.class);
+            mContentResolver = mock(ContentResolver.class);
             mControllers = new ArrayList<>();
+            mIsParalleled = true;
 
             when(mPreferenceManager.getContext()).thenReturn(mContext);
             ReflectionHelpers.setField(
@@ -330,5 +450,44 @@
         public PreferenceManager getPreferenceManager() {
             return mPreferenceManager;
         }
+
+        @Override
+        protected ContentResolver getContentResolver() {
+            return mContentResolver;
+        }
+
+        protected boolean isParalleledControllers() {
+            return mIsParalleled;
+        }
+
+        public void setUsingControllerEnhancement(boolean isParalleled) {
+            mIsParalleled = isParalleled;
+        }
+    }
+
+    private static class TestDynamicDataObserver extends DynamicDataObserver {
+
+        @Override
+        public Uri getUri() {
+            return Uri.parse("content://abc");
+        }
+
+        @Override
+        public void onDataChanged() {
+        }
+    }
+
+    @Implements(PreferenceFragmentCompat.class)
+    public static class ShadowPreferenceFragmentCompat {
+
+        @Implementation
+        public void onStart() {
+            // do nothing
+        }
+
+        @Implementation
+        public void onStop() {
+            // do nothing
+        }
     }
 }
diff --git a/tests/robotests/src/com/android/settings/dashboard/SummaryLoaderTest.java b/tests/robotests/src/com/android/settings/dashboard/SummaryLoaderTest.java
deleted file mode 100644
index 9a5bef2..0000000
--- a/tests/robotests/src/com/android/settings/dashboard/SummaryLoaderTest.java
+++ /dev/null
@@ -1,114 +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.dashboard;
-
-import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_KEYHINT;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.Mockito.verifyZeroInteractions;
-import static org.mockito.Mockito.when;
-
-import android.app.Activity;
-import android.content.Context;
-import android.content.pm.ActivityInfo;
-import android.os.Bundle;
-
-import com.android.settings.testutils.FakeFeatureFactory;
-import com.android.settingslib.drawer.CategoryKey;
-import com.android.settingslib.drawer.DashboardCategory;
-import com.android.settingslib.drawer.Tile;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.Robolectric;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-
-@RunWith(RobolectricTestRunner.class)
-public class SummaryLoaderTest {
-
-    private static final String SUMMARY_1 = "summary1";
-    private static final String SUMMARY_2 = "summary2";
-
-    private Context mContext;
-    private SummaryLoader mSummaryLoader;
-    private boolean mCallbackInvoked;
-    private Tile mTile;
-    private FakeFeatureFactory mFeatureFactory;
-
-    @Before
-    public void SetUp() {
-        MockitoAnnotations.initMocks(this);
-        mContext = RuntimeEnvironment.application;
-        mFeatureFactory = FakeFeatureFactory.setupForTest();
-        final ActivityInfo activityInfo = new ActivityInfo();
-        activityInfo.packageName = "pkg";
-        activityInfo.name = "class";
-        mTile = new Tile(activityInfo, CategoryKey.CATEGORY_HOMEPAGE);
-        mTile.overrideSummary(SUMMARY_1);
-        mCallbackInvoked = false;
-
-        final Activity activity = Robolectric.buildActivity(Activity.class).get();
-
-        mSummaryLoader = new SummaryLoader(activity, CategoryKey.CATEGORY_HOMEPAGE);
-        mSummaryLoader.setSummaryConsumer(tile -> mCallbackInvoked = true);
-    }
-
-    @Test
-    public void newInstance_shouldNotLoadCategory() {
-        verifyZeroInteractions(mFeatureFactory.dashboardFeatureProvider);
-    }
-
-    @Test
-    public void testUpdateSummaryIfNeeded_SummaryIdentical_NoCallback() {
-        mSummaryLoader.updateSummaryIfNeeded(mContext, mTile, SUMMARY_1);
-
-        assertThat(mCallbackInvoked).isFalse();
-    }
-
-    @Test
-    public void testUpdateSummaryIfNeeded_SummaryChanged_HasCallback() {
-        mSummaryLoader.updateSummaryIfNeeded(mContext, mTile, SUMMARY_2);
-
-        assertThat(mCallbackInvoked).isTrue();
-    }
-
-    @Test
-    public void testUpdateSummaryToCache_hasCache_shouldUpdate() {
-        final String testSummary = "test_summary";
-        final DashboardCategory category = new DashboardCategory(CategoryKey.CATEGORY_HOMEPAGE);
-        final ActivityInfo activityInfo = new ActivityInfo();
-        activityInfo.packageName = "pkg";
-        activityInfo.name = "cls";
-        activityInfo.metaData = new Bundle();
-        activityInfo.metaData.putString(META_DATA_PREFERENCE_KEYHINT, "123");
-        final Tile tile = new Tile(activityInfo, category.key);
-
-        category.addTile(tile);
-        when(mFeatureFactory.dashboardFeatureProvider.getDashboardKeyForTile(tile))
-                .thenReturn(tile.getKey(RuntimeEnvironment.application));
-
-        mSummaryLoader.updateSummaryIfNeeded(mContext, tile, testSummary);
-        tile.overrideSummary(null);
-        mSummaryLoader.updateSummaryToCache(category);
-
-        assertThat(tile.getSummary(mContext)).isEqualTo(testSummary);
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/dashboard/profileselector/ProfileSelectDialogTest.java b/tests/robotests/src/com/android/settings/dashboard/profileselector/ProfileSelectDialogTest.java
index 2aee0dd..75a1c39 100644
--- a/tests/robotests/src/com/android/settings/dashboard/profileselector/ProfileSelectDialogTest.java
+++ b/tests/robotests/src/com/android/settings/dashboard/profileselector/ProfileSelectDialogTest.java
@@ -29,6 +29,7 @@
 import android.os.UserHandle;
 import android.os.UserManager;
 
+import com.android.settingslib.drawer.ActivityTile;
 import com.android.settingslib.drawer.CategoryKey;
 import com.android.settingslib.drawer.Tile;
 
@@ -66,7 +67,7 @@
 
     @Test
     public void updateUserHandlesIfNeeded_Normal() {
-        final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
+        final Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
         tile.userHandle.add(NORMAL_USER);
 
         ProfileSelectDialog.updateUserHandlesIfNeeded(mContext, tile);
@@ -78,7 +79,7 @@
 
     @Test
     public void updateUserHandlesIfNeeded_Remove() {
-        final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
+        final Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
         tile.userHandle.add(REMOVED_USER);
         tile.userHandle.add(NORMAL_USER);
         tile.userHandle.add(REMOVED_USER);
diff --git a/tests/robotests/src/com/android/settings/dashboard/profileselector/ProfileSelectFragmentTest.java b/tests/robotests/src/com/android/settings/dashboard/profileselector/ProfileSelectFragmentTest.java
new file mode 100644
index 0000000..1e19325
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/dashboard/profileselector/ProfileSelectFragmentTest.java
@@ -0,0 +1,134 @@
+/*
+ * 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.dashboard.profileselector;
+
+import static android.content.Intent.EXTRA_USER_ID;
+
+import static com.android.settings.dashboard.profileselector.ProfileSelectFragment.PERSONAL_TAB;
+import static com.android.settings.dashboard.profileselector.ProfileSelectFragment.WORK_TAB;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.content.Intent;
+import android.os.Bundle;
+
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentActivity;
+
+import com.android.settings.SettingsActivity;
+import com.android.settings.SettingsPreferenceFragmentTest;
+import com.android.settings.testutils.shadow.ShadowUserManager;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.Robolectric;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
+
+import java.util.HashSet;
+import java.util.Set;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(shadows = {ShadowUserManager.class})
+public class ProfileSelectFragmentTest {
+
+    private Context mContext;
+    private TestProfileSelectFragment mFragment;
+    private FragmentActivity mActivity;
+    private ShadowUserManager mUserManager;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mContext = RuntimeEnvironment.application;
+        mActivity = spy(Robolectric.buildActivity(SettingsActivity.class).get());
+        mFragment = spy(new TestProfileSelectFragment());
+        when(mFragment.getContext()).thenReturn(mContext);
+        when(mFragment.getActivity()).thenReturn(mActivity);
+        mUserManager = ShadowUserManager.getShadow();
+    }
+
+    @Test
+    public void getTabId_no_setCorrectTab() {
+        assertThat(mFragment.getTabId(mActivity, null)).isEqualTo(PERSONAL_TAB);
+    }
+
+    @Test
+    public void getTabId_setArgumentWork_setCorrectTab() {
+        final Bundle bundle = new Bundle();
+        bundle.putInt(SettingsActivity.EXTRA_SHOW_FRAGMENT_TAB, WORK_TAB);
+
+        assertThat(mFragment.getTabId(mActivity, bundle)).isEqualTo(WORK_TAB);
+    }
+
+    @Test
+    public void getTabId_setArgumentPersonal_setCorrectTab() {
+        final Bundle bundle = new Bundle();
+        bundle.putInt(SettingsActivity.EXTRA_SHOW_FRAGMENT_TAB, PERSONAL_TAB);
+
+        assertThat(mFragment.getTabId(mActivity, bundle)).isEqualTo(PERSONAL_TAB);
+    }
+
+    @Test
+    public void getTabId_setWorkId_getCorrectTab() {
+        final Bundle bundle = new Bundle();
+        bundle.putInt(EXTRA_USER_ID, 10);
+        final Set<Integer> profileIds = new HashSet<>();
+        profileIds.add(10);
+        mUserManager.setManagedProfiles(profileIds);
+
+        assertThat(mFragment.getTabId(mActivity, bundle)).isEqualTo(WORK_TAB);
+    }
+
+    @Test
+    public void getTabId_setPersonalId_getCorrectTab() {
+        final Bundle bundle = new Bundle();
+        bundle.putInt(EXTRA_USER_ID, 0);
+
+        assertThat(mFragment.getTabId(mActivity, bundle)).isEqualTo(PERSONAL_TAB);
+    }
+
+    @Test
+    public void getTabId_setPersonalIdByIntent_getCorrectTab() {
+        final Set<Integer> profileIds = new HashSet<>();
+        profileIds.add(10);
+        mUserManager.setManagedProfiles(profileIds);
+        final Intent intent = spy(new Intent());
+        when(intent.getContentUserHint()).thenReturn(10);
+        when(mActivity.getIntent()).thenReturn(intent);
+
+        assertThat(mFragment.getTabId(mActivity, null)).isEqualTo(WORK_TAB);
+    }
+
+    public static class TestProfileSelectFragment extends ProfileSelectFragment {
+
+        @Override
+        public Fragment[] getFragments() {
+            return new Fragment[]{
+                    new SettingsPreferenceFragmentTest.TestFragment(), //0
+                    new SettingsPreferenceFragmentTest.TestFragment()
+            };
+        }
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/dashboard/profileselector/ProfileSelectLocationFragmentTest.java b/tests/robotests/src/com/android/settings/dashboard/profileselector/ProfileSelectLocationFragmentTest.java
new file mode 100644
index 0000000..f463bec
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/dashboard/profileselector/ProfileSelectLocationFragmentTest.java
@@ -0,0 +1,48 @@
+/*
+ * 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.dashboard.profileselector;
+
+import static com.android.settings.dashboard.profileselector.ProfileSelectFragment.EXTRA_PROFILE;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+
+@RunWith(RobolectricTestRunner.class)
+public class ProfileSelectLocationFragmentTest {
+
+    private ProfileSelectLocationFragment mProfileSelectLocationFragment;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mProfileSelectLocationFragment = new ProfileSelectLocationFragment();
+    }
+
+    @Test
+    public void getFragments_containsCorrectBundle() {
+        assertThat(mProfileSelectLocationFragment.getFragments().length).isEqualTo(2);
+        assertThat(mProfileSelectLocationFragment.getFragments()[0].getArguments().getInt(
+                EXTRA_PROFILE, -1)).isEqualTo(ProfileSelectFragment.ProfileType.PERSONAL);
+        assertThat(mProfileSelectLocationFragment.getFragments()[1].getArguments().getInt(
+                EXTRA_PROFILE, -1)).isEqualTo(ProfileSelectFragment.ProfileType.WORK);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/datausage/AppDataUsagePreferenceTest.java b/tests/robotests/src/com/android/settings/datausage/AppDataUsagePreferenceTest.java
index 15f6c45..ad41638 100644
--- a/tests/robotests/src/com/android/settings/datausage/AppDataUsagePreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/datausage/AppDataUsagePreferenceTest.java
@@ -22,6 +22,11 @@
 
 import android.graphics.Color;
 import android.graphics.drawable.ColorDrawable;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.widget.ProgressBar;
+
+import androidx.preference.PreferenceViewHolder;
 
 import com.android.settingslib.AppItem;
 import com.android.settingslib.net.UidDetail;
@@ -37,6 +42,7 @@
 
 @RunWith(RobolectricTestRunner.class)
 public class AppDataUsagePreferenceTest {
+    private static final String FIFTY_PERCENT = "50%";
 
     @Mock
     private UidDetailProvider mUidDetailProvider;
@@ -77,4 +83,22 @@
         assertThat(mPreference.getTitle()).isEqualTo(mUidDetail.label);
         assertThat(mPreference.getIcon()).isEqualTo(mUidDetail.icon);
     }
+
+    @Test
+    public void createPref_progressBarShouldSetPercentageContentDescription() {
+        when(mUidDetailProvider.getUidDetail(mAppItem.key, true /* blocking */))
+                .thenReturn(mUidDetail);
+        mPreference = new AppDataUsagePreference(RuntimeEnvironment.application, mAppItem,
+                50 /* percent */, mUidDetailProvider);
+        final View view = LayoutInflater.from(RuntimeEnvironment.application).inflate(
+                com.android.settingslib.R.layout.preference_app, null);
+        final PreferenceViewHolder preferenceViewHolder =
+                PreferenceViewHolder.createInstanceForTests(view);
+        final ProgressBar progressBar = (ProgressBar) preferenceViewHolder.findViewById(
+                android.R.id.progress);
+
+        mPreference.onBindViewHolder(preferenceViewHolder);
+
+        assertThat(progressBar.getContentDescription()).isEqualTo(FIFTY_PERCENT);
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/datausage/AppDataUsageTest.java b/tests/robotests/src/com/android/settings/datausage/AppDataUsageTest.java
index 6cecd98..ded7d10 100644
--- a/tests/robotests/src/com/android/settings/datausage/AppDataUsageTest.java
+++ b/tests/robotests/src/com/android/settings/datausage/AppDataUsageTest.java
@@ -53,6 +53,7 @@
 import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settings.testutils.shadow.ShadowDataUsageUtils;
 import com.android.settings.testutils.shadow.ShadowEntityHeaderController;
+import com.android.settings.testutils.shadow.ShadowFragment;
 import com.android.settings.testutils.shadow.ShadowRestrictedLockUtilsInternal;
 import com.android.settings.widget.EntityHeaderController;
 import com.android.settingslib.AppItem;
@@ -102,6 +103,7 @@
     }
 
     @Test
+    @Config(shadows = ShadowFragment.class)
     public void onCreate_appUid_shouldGetAppLabelFromAppInfo() throws NameNotFoundException {
         mFragment = spy(new AppDataUsage());
         final FragmentActivity activity = spy(Robolectric.setupActivity(FragmentActivity.class));
@@ -109,17 +111,17 @@
         doReturn(activity).when(mFragment).getActivity();
         doReturn(RuntimeEnvironment.application).when(mFragment).getContext();
         ReflectionHelpers.setField(mFragment, "mDashboardFeatureProvider",
-            FakeFeatureFactory.setupForTest().dashboardFeatureProvider);
+                FakeFeatureFactory.setupForTest().dashboardFeatureProvider);
         final String packageName = "testPackage";
         final int uid = (Process.FIRST_APPLICATION_UID + Process.LAST_APPLICATION_UID) / 2;
-        doReturn(new String[] {packageName}).when(mPackageManager).getPackagesForUid(uid);
+        doReturn(new String[]{packageName}).when(mPackageManager).getPackagesForUid(uid);
         final String label = "testLabel";
         final AppItem appItem = new AppItem(uid);
         appItem.uids.put(uid, true);
         final ApplicationInfo info = spy(new ApplicationInfo());
         doReturn(label).when(info).loadLabel(mPackageManager);
         when(mPackageManager.getApplicationInfoAsUser(
-            eq(packageName), anyInt() /* flags */, anyInt() /* userId */)).thenReturn(info);
+                eq(packageName), anyInt() /* flags */, anyInt() /* userId */)).thenReturn(info);
         final Bundle args = new Bundle();
         args.putParcelable(AppDataUsage.ARG_APP_ITEM, appItem);
         args.putInt(AppInfoBase.ARG_PACKAGE_UID, uid);
@@ -131,10 +133,11 @@
     }
 
     @Test
+    @Config(shadows = ShadowFragment.class)
     public void onCreate_notAppUid_shouldGetAppLabelFromUidDetailProvider() {
         mFragment = spy(new AppDataUsage());
         ReflectionHelpers.setField(mFragment, "mDashboardFeatureProvider",
-            FakeFeatureFactory.setupForTest().dashboardFeatureProvider);
+                FakeFeatureFactory.setupForTest().dashboardFeatureProvider);
         doReturn(Robolectric.setupActivity(FragmentActivity.class)).when(mFragment).getActivity();
         doReturn(RuntimeEnvironment.application).when(mFragment).getContext();
         final UidDetailProvider uidDetailProvider = mock(UidDetailProvider.class);
@@ -144,7 +147,7 @@
         final UidDetail uidDetail = new UidDetail();
         uidDetail.label = label;
         when(uidDetailProvider.getUidDetail(eq(uid), anyBoolean() /* blocking */)).
-            thenReturn(uidDetail);
+                thenReturn(uidDetail);
         final AppItem appItem = new AppItem(uid);
         appItem.uids.put(uid, true);
         final Bundle args = new Bundle();
@@ -166,7 +169,7 @@
         mFragment = spy(new AppDataUsage());
 
         when(mFragment.getPreferenceManager())
-            .thenReturn(mock(PreferenceManager.class, RETURNS_DEEP_STUBS));
+                .thenReturn(mock(PreferenceManager.class, RETURNS_DEEP_STUBS));
         doReturn(mock(PreferenceScreen.class)).when(mFragment).getPreferenceScreen();
         ReflectionHelpers.setField(mFragment, "mAppItem", mock(AppItem.class));
 
@@ -177,7 +180,7 @@
 
     @Test
     public void bindAppHeader_workApp_shouldSetWorkAppUid()
-        throws PackageManager.NameNotFoundException {
+            throws PackageManager.NameNotFoundException {
         final int fakeUserId = 100;
 
         mFragment = spy(new AppDataUsage());
@@ -198,7 +201,7 @@
         when(mHeaderController.setHasAppInfoLink(anyBoolean())).thenReturn(mHeaderController);
 
         when(mFragment.getPreferenceManager())
-            .thenReturn(mock(PreferenceManager.class, RETURNS_DEEP_STUBS));
+                .thenReturn(mock(PreferenceManager.class, RETURNS_DEEP_STUBS));
         doReturn(mock(PreferenceScreen.class)).when(mFragment).getPreferenceScreen();
 
         mFragment.onViewCreated(new View(RuntimeEnvironment.application), new Bundle());
@@ -276,7 +279,7 @@
         final long foregroundBytes = 5678L;
         final List<NetworkCycleDataForUid> appUsage = new ArrayList<>();
         appUsage.add(new NetworkCycleDataForUid.Builder()
-            .setBackgroundUsage(backgroundBytes).setForegroundUsage(foregroundBytes).build());
+                .setBackgroundUsage(backgroundBytes).setForegroundUsage(foregroundBytes).build());
         ReflectionHelpers.setField(mFragment, "mUsageData", appUsage);
         final Preference backgroundPref = mock(Preference.class);
         ReflectionHelpers.setField(mFragment, "mBackgroundUsage", backgroundPref);
@@ -291,7 +294,7 @@
 
         verify(cycle).setVisible(true);
         verify(totalPref).setSummary(
-            DataUsageUtils.formatDataUsage(context, backgroundBytes + foregroundBytes));
+                DataUsageUtils.formatDataUsage(context, backgroundBytes + foregroundBytes));
         verify(backgroundPref).setSummary(DataUsageUtils.formatDataUsage(context, backgroundBytes));
         verify(foregroundPref).setSummary(DataUsageUtils.formatDataUsage(context, foregroundBytes));
     }
@@ -306,12 +309,12 @@
         ReflectionHelpers.setField(mFragment, "mContext", context);
         ReflectionHelpers.setField(mFragment, "mAppItem", appItem);
         ReflectionHelpers.setField(mFragment, "mTemplate",
-            NetworkTemplate.buildTemplateWifiWildcard());
+                NetworkTemplate.buildTemplateWifiWildcard());
         final long end = System.currentTimeMillis();
         final long start = end - (DateUtils.WEEK_IN_MILLIS * 4);
 
         final NetworkCycleDataForUidLoader loader = (NetworkCycleDataForUidLoader)
-            mFragment.mUidDataCallbacks.onCreateLoader(0, Bundle.EMPTY);
+                mFragment.mUidDataCallbacks.onCreateLoader(0, Bundle.EMPTY);
 
         final List<Integer> uids = loader.getUids();
         assertThat(uids).hasSize(1);
@@ -331,12 +334,12 @@
         ReflectionHelpers.setField(mFragment, "mContext", context);
         ReflectionHelpers.setField(mFragment, "mAppItem", appItem);
         ReflectionHelpers.setField(mFragment, "mTemplate",
-            NetworkTemplate.buildTemplateWifiWildcard());
+                NetworkTemplate.buildTemplateWifiWildcard());
         final long end = System.currentTimeMillis();
         final long start = end - (DateUtils.WEEK_IN_MILLIS * 4);
 
         final NetworkCycleDataForUidLoader loader = (NetworkCycleDataForUidLoader)
-            mFragment.mUidDataCallbacks.onCreateLoader(0, Bundle.EMPTY);
+                mFragment.mUidDataCallbacks.onCreateLoader(0, Bundle.EMPTY);
 
         final List<Integer> uids = loader.getUids();
         assertThat(uids).hasSize(3);
@@ -362,10 +365,10 @@
         ReflectionHelpers.setField(mFragment, "mCycles", testCycles);
         ReflectionHelpers.setField(mFragment, "mAppItem", appItem);
         ReflectionHelpers.setField(mFragment, "mTemplate",
-            NetworkTemplate.buildTemplateWifiWildcard());
+                NetworkTemplate.buildTemplateWifiWildcard());
 
         final NetworkCycleDataForUidLoader loader = (NetworkCycleDataForUidLoader)
-            mFragment.mUidDataCallbacks.onCreateLoader(0 /* id */, Bundle.EMPTY /* args */);
+                mFragment.mUidDataCallbacks.onCreateLoader(0 /* id */, Bundle.EMPTY /* args */);
 
         final ArrayList<Long> cycles = loader.getCycles();
         assertThat(cycles).hasSize(2);
@@ -409,13 +412,14 @@
     }
 
     @Test
-    @Config(shadows = {ShadowDataUsageUtils.class, ShadowSubscriptionManager.class})
+    @Config(shadows = {ShadowDataUsageUtils.class, ShadowSubscriptionManager.class,
+            ShadowFragment.class})
     public void onCreate_noNetworkTemplateAndInvalidDataSubscription_shouldUseWifiTemplate() {
         ShadowDataUsageUtils.IS_MOBILE_DATA_SUPPORTED = true;
         ShadowDataUsageUtils.IS_WIFI_SUPPORTED = true;
         ShadowDataUsageUtils.HAS_SIM = false;
         ShadowSubscriptionManager.setDefaultDataSubscriptionId(
-            SubscriptionManager.INVALID_SUBSCRIPTION_ID);
+                SubscriptionManager.INVALID_SUBSCRIPTION_ID);
         mFragment = spy(new AppDataUsage());
         doReturn(Robolectric.setupActivity(FragmentActivity.class)).when(mFragment).getActivity();
         doReturn(RuntimeEnvironment.application).when(mFragment).getContext();
@@ -424,7 +428,7 @@
         doReturn(new UidDetail()).when(uidDetailProvider).getUidDetail(anyInt(), anyBoolean());
 
         ReflectionHelpers.setField(mFragment, "mDashboardFeatureProvider",
-            FakeFeatureFactory.setupForTest().dashboardFeatureProvider);
+                FakeFeatureFactory.setupForTest().dashboardFeatureProvider);
         final Bundle args = new Bundle();
         args.putInt(AppInfoBase.ARG_PACKAGE_UID, 123123);
         mFragment.setArguments(args);
@@ -432,6 +436,6 @@
         mFragment.onCreate(Bundle.EMPTY);
 
         assertThat(mFragment.mTemplate.getMatchRule())
-            .isEqualTo(NetworkTemplate.MATCH_WIFI_WILDCARD);
+                .isEqualTo(NetworkTemplate.MATCH_WIFI_WILDCARD);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/datausage/BillingCycleSettingsTest.java b/tests/robotests/src/com/android/settings/datausage/BillingCycleSettingsTest.java
index 33ae064..3fdb7b4 100644
--- a/tests/robotests/src/com/android/settings/datausage/BillingCycleSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/datausage/BillingCycleSettingsTest.java
@@ -16,6 +16,7 @@
 package com.android.settings.datausage;
 
 import static android.net.NetworkPolicy.CYCLE_NONE;
+
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.ArgumentMatchers.any;
@@ -45,18 +46,18 @@
 import androidx.preference.PreferenceManager;
 import androidx.preference.SwitchPreference;
 
+import com.android.settings.testutils.shadow.ShadowFragment;
 import com.android.settingslib.NetworkPolicyEditor;
-import com.android.settingslib.widget.FooterPreference;
-import com.android.settingslib.widget.FooterPreferenceMixinCompat;
 
 import org.junit.Before;
+import org.junit.Ignore;
 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 org.robolectric.util.ReflectionHelpers;
+import org.robolectric.annotation.Config;
 
 @RunWith(RobolectricTestRunner.class)
 public class BillingCycleSettingsTest {
@@ -142,6 +143,8 @@
     }
 
     @Test
+    @Config(shadows = ShadowFragment.class)
+    @Ignore
     public void onCreate_emptyArguments_shouldSetDefaultNetworkTemplate() {
         final BillingCycleSettings billingCycleSettings = spy(new BillingCycleSettings());
         when(billingCycleSettings.getContext()).thenReturn(mContext);
@@ -159,12 +162,9 @@
         when(mConnectivityManager.isNetworkSupported(anyInt())).thenReturn(true);
         final SwitchPreference preference = mock(SwitchPreference.class);
         when(billingCycleSettings.findPreference(anyString())).thenReturn(preference);
-        final FooterPreferenceMixinCompat footer = mock(FooterPreferenceMixinCompat.class);
-        ReflectionHelpers.setField(billingCycleSettings, "mFooterPreferenceMixin", footer);
-        when(footer.createFooterPreference()).thenReturn(mock(FooterPreference.class));
 
         billingCycleSettings.onCreate(Bundle.EMPTY);
 
         assertThat(billingCycleSettings.mNetworkTemplate).isNotNull();
     }
-}
\ No newline at end of file
+}
diff --git a/tests/robotests/src/com/android/settings/datausage/CellDataPreferenceTest.java b/tests/robotests/src/com/android/settings/datausage/CellDataPreferenceTest.java
index 9b14e19..0b8ebbf 100644
--- a/tests/robotests/src/com/android/settings/datausage/CellDataPreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/datausage/CellDataPreferenceTest.java
@@ -18,17 +18,18 @@
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.ArgumentMatchers.anyInt;
-import static org.mockito.Mockito.when;
+import static org.mockito.Mockito.doReturn;
 
 import android.content.Context;
 import android.telephony.SubscriptionInfo;
-import android.telephony.SubscriptionManager;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.widget.LinearLayout;
 
 import androidx.preference.PreferenceViewHolder;
 
+import com.android.settings.network.ProxySubscriptionManager;
+
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -41,14 +42,13 @@
 public class CellDataPreferenceTest {
 
     @Mock
-    private SubscriptionManager mSubscriptionManager;
+    private ProxySubscriptionManager mProxySubscriptionMgr;
     @Mock
     private SubscriptionInfo mSubInfo;
 
     private Context mContext;
     private PreferenceViewHolder mHolder;
     private CellDataPreference mPreference;
-    private SubscriptionManager.OnSubscriptionsChangedListener mListener;
 
     @Before
     public void setUp() {
@@ -56,9 +56,9 @@
 
         mContext = RuntimeEnvironment.application;
         mPreference = new CellDataPreference(mContext, null);
-        mListener = mPreference.mOnSubscriptionsChangeListener;
+        mPreference.mProxySubscriptionMgr = mProxySubscriptionMgr;
 
-        LayoutInflater inflater = LayoutInflater.from(mContext);
+        final LayoutInflater inflater = LayoutInflater.from(mContext);
         final View view = inflater.inflate(mPreference.getLayoutResource(),
                 new LinearLayout(mContext), false);
 
@@ -67,12 +67,15 @@
 
     @Test
     public void noActiveSub_shouldDisable() {
-        mPreference.mSubscriptionManager = mSubscriptionManager;
-        mListener.onSubscriptionsChanged();
+        doReturn(null).when(mProxySubscriptionMgr).getActiveSubscriptionInfo(anyInt());
+        mPreference.mOnSubscriptionsChangeListener.onChanged();
         assertThat(mPreference.isEnabled()).isFalse();
+    }
 
-        when(mSubscriptionManager.getActiveSubscriptionInfo(anyInt())).thenReturn(mSubInfo);
-        mListener.onSubscriptionsChanged();
+    @Test
+    public void hasActiveSub_shouldEnable() {
+        doReturn(mSubInfo).when(mProxySubscriptionMgr).getActiveSubscriptionInfo(anyInt());
+        mPreference.mOnSubscriptionsChangeListener.onChanged();
         assertThat(mPreference.isEnabled()).isTrue();
     }
 }
diff --git a/tests/robotests/src/com/android/settings/datausage/ChartDataUsagePreferenceTest.java b/tests/robotests/src/com/android/settings/datausage/ChartDataUsagePreferenceTest.java
index 39bf9cf..8881b49 100644
--- a/tests/robotests/src/com/android/settings/datausage/ChartDataUsagePreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/datausage/ChartDataUsagePreferenceTest.java
@@ -18,11 +18,19 @@
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
 
-import android.content.Context;
+import android.app.Activity;
 import android.util.SparseIntArray;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.widget.TextView;
 
+import androidx.preference.PreferenceViewHolder;
+
+import com.android.settings.R;
+import com.android.settings.datausage.ChartDataUsagePreference.DataUsageSummaryNode;
 import com.android.settings.widget.UsageView;
 import com.android.settingslib.net.NetworkCycleChartData;
 import com.android.settingslib.net.NetworkCycleData;
@@ -32,8 +40,8 @@
 import org.junit.runner.RunWith;
 import org.mockito.ArgumentCaptor;
 import org.mockito.MockitoAnnotations;
+import org.robolectric.Robolectric;
 import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -49,15 +57,20 @@
 
     private List<NetworkCycleData> mNetworkCycleData;
     private NetworkCycleChartData mNetworkCycleChartData;
-    private Context mContext;
     private ChartDataUsagePreference mPreference;
+    private Activity mActivity;
+    private PreferenceViewHolder mHolder;
 
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
 
-        mContext = RuntimeEnvironment.application;
-        mPreference = new ChartDataUsagePreference(mContext, null);
+        mActivity = spy(Robolectric.setupActivity(Activity.class));
+        mPreference = new ChartDataUsagePreference(mActivity, null /* attrs */);
+        LayoutInflater inflater = LayoutInflater.from(mActivity);
+        View view = inflater.inflate(mPreference.getLayoutResource(), null /* root */,
+                false /* attachToRoot */);
+        mHolder = spy(PreferenceViewHolder.createInstanceForTests(view));
     }
 
     @Test
@@ -148,6 +161,40 @@
         assertThat(points.keyAt(6)).isEqualTo(TimeUnit.DAYS.toMinutes(5));
     }
 
+    @Test
+    public void notifyChange_nonEmptyDataUsage_shouldHaveSingleContentDescription() {
+        final UsageView chart = (UsageView) mHolder.findViewById(R.id.data_usage);
+        final TextView labelTop = (TextView) mHolder.findViewById(R.id.label_top);
+        final TextView labelMiddle = (TextView) mHolder.findViewById(R.id.label_middle);
+        final TextView labelBottom = (TextView) mHolder.findViewById(R.id.label_bottom);
+        final TextView labelStart = (TextView) mHolder.findViewById(R.id.label_start);
+        final TextView labelEnd = (TextView) mHolder.findViewById(R.id.label_end);
+        createTestNetworkData();
+        mPreference.setNetworkCycleData(mNetworkCycleChartData);
+
+        mPreference.onBindViewHolder(mHolder);
+
+        assertThat(chart.getContentDescription()).isNotNull();
+        assertThat(labelTop.getContentDescription()).isNull();
+        assertThat(labelMiddle.getContentDescription()).isNull();
+        assertThat(labelBottom.getContentDescription()).isNull();
+        assertThat(labelStart.getContentDescription()).isNull();
+        assertThat(labelEnd.getContentDescription()).isNull();
+    }
+
+    @Test
+    public void getDensedStatsData_someSamePercentageNodes_getDifferentPercentageNodes() {
+        createSomeSamePercentageNetworkData();
+        final List<DataUsageSummaryNode> densedStatsData =
+                mPreference.getDensedStatsData(mNetworkCycleData);
+
+        assertThat(mNetworkCycleData.size()).isEqualTo(8);
+        assertThat(densedStatsData.size()).isEqualTo(3);
+        assertThat(densedStatsData.get(0).getDataUsagePercentage()).isEqualTo(33);
+        assertThat(densedStatsData.get(1).getDataUsagePercentage()).isEqualTo(99);
+        assertThat(densedStatsData.get(2).getDataUsagePercentage()).isEqualTo(100);
+    }
+
     private void createTestNetworkData() {
         mNetworkCycleData = new ArrayList<>();
         // create 10 arbitrary network data
@@ -169,6 +216,18 @@
         mNetworkCycleChartData = builder.build();
     }
 
+    private void createSomeSamePercentageNetworkData() {
+        mNetworkCycleData = new ArrayList<>();
+        mNetworkCycleData.add(createNetworkCycleData(1521583200000L, 1521586800000L, 100));//33%
+        mNetworkCycleData.add(createNetworkCycleData(1521586800000L, 1521590400000L, 1));  //33%
+        mNetworkCycleData.add(createNetworkCycleData(1521590400000L, 1521655200000L, 0));  //33%
+        mNetworkCycleData.add(createNetworkCycleData(1521655200000L, 1521658800000L, 0));  //33%
+        mNetworkCycleData.add(createNetworkCycleData(1521658800000L, 1521662400000L, 200));//99%
+        mNetworkCycleData.add(createNetworkCycleData(1521662400000L, 1521666000000L, 1));  //99%
+        mNetworkCycleData.add(createNetworkCycleData(1521666000000L, 1521669600000L, 1));  //100
+        mNetworkCycleData.add(createNetworkCycleData(1521669600000L, 1521673200000L, 0));  //100%
+    }
+
     private NetworkCycleData createNetworkCycleData(long start, long end, long usage) {
         return new NetworkCycleData.Builder()
             .setStartTime(start).setEndTime(end).setTotalUsage(usage).build();
diff --git a/tests/robotests/src/com/android/settings/datausage/DataUsageListTest.java b/tests/robotests/src/com/android/settings/datausage/DataUsageListTest.java
index 9aa1c6f..e4f5b1f 100644
--- a/tests/robotests/src/com/android/settings/datausage/DataUsageListTest.java
+++ b/tests/robotests/src/com/android/settings/datausage/DataUsageListTest.java
@@ -38,10 +38,12 @@
 import android.widget.Spinner;
 
 import androidx.fragment.app.FragmentActivity;
+import androidx.loader.app.LoaderManager;
 import androidx.preference.PreferenceManager;
 
 import com.android.settings.R;
 import com.android.settings.SettingsActivity;
+import com.android.settings.network.MobileDataEnabledListener;
 import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settings.widget.LoadingViewController;
 import com.android.settingslib.AppItem;
@@ -67,9 +69,11 @@
 public class DataUsageListTest {
 
     @Mock
-    private CellDataPreference.DataStateListener mListener;
+    private MobileDataEnabledListener mMobileDataEnabledListener;
     @Mock
     private TemplatePreference.NetworkServices mNetworkServices;
+    @Mock
+    private LoaderManager mLoaderManager;
 
     private Activity mActivity;
     private DataUsageList mDataUsageList;
@@ -83,14 +87,17 @@
         mActivity = spy(mActivityController.get());
         mNetworkServices.mPolicyEditor = mock(NetworkPolicyEditor.class);
         mDataUsageList = spy(DataUsageList.class);
+        mDataUsageList.mDataStateListener = mMobileDataEnabledListener;
 
         doReturn(mActivity).when(mDataUsageList).getContext();
-        ReflectionHelpers.setField(mDataUsageList, "mDataStateListener", mListener);
+        ReflectionHelpers.setField(mDataUsageList, "mDataStateListener",
+                mMobileDataEnabledListener);
         ReflectionHelpers.setField(mDataUsageList, "services", mNetworkServices);
+        doReturn(mLoaderManager).when(mDataUsageList).getLoaderManager();
     }
 
     @Test
-    public void resumePause_shouldListenUnlistenDataStateChange() {
+    public void resume_shouldListenDataStateChange() {
         ReflectionHelpers.setField(
                 mDataUsageList, "mVisibilityLoggerMixin", mock(VisibilityLoggerMixin.class));
         ReflectionHelpers.setField(
@@ -98,11 +105,22 @@
 
         mDataUsageList.onResume();
 
-        verify(mListener).setListener(true, mDataUsageList.mSubId, mActivity);
+        verify(mMobileDataEnabledListener).start(anyInt());
 
         mDataUsageList.onPause();
+    }
 
-        verify(mListener).setListener(false, mDataUsageList.mSubId, mActivity);
+    @Test
+    public void pause_shouldUnlistenDataStateChange() {
+        ReflectionHelpers.setField(
+                mDataUsageList, "mVisibilityLoggerMixin", mock(VisibilityLoggerMixin.class));
+        ReflectionHelpers.setField(
+                mDataUsageList, "mPreferenceManager", mock(PreferenceManager.class));
+
+        mDataUsageList.onResume();
+        mDataUsageList.onPause();
+
+        verify(mMobileDataEnabledListener).stop();
     }
 
     @Test
@@ -202,6 +220,14 @@
         assertThat(spinner.getVisibility()).isEqualTo(View.VISIBLE);
     }
 
+    @Test
+    public void onPause_shouldDestroyLoaders() {
+        mDataUsageList.onPause();
+
+        verify(mLoaderManager).destroyLoader(DataUsageList.LOADER_CHART_DATA);
+        verify(mLoaderManager).destroyLoader(DataUsageList.LOADER_SUMMARY);
+    }
+
     private View getHeader() {
         final View rootView = LayoutInflater.from(mActivity)
                 .inflate(R.layout.preference_list_fragment, null, false);
diff --git a/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryTest.java b/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryTest.java
index 0672bd4..d5eaa9a 100644
--- a/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryTest.java
+++ b/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryTest.java
@@ -19,9 +19,7 @@
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.ArgumentMatchers.anyInt;
-import static org.mockito.ArgumentMatchers.anyObject;
 import static org.mockito.ArgumentMatchers.anyString;
-import static org.mockito.ArgumentMatchers.endsWith;
 import static org.mockito.Mockito.doNothing;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.never;
@@ -36,13 +34,13 @@
 
 import androidx.fragment.app.FragmentActivity;
 
-import com.android.settings.dashboard.SummaryLoader;
 import com.android.settings.testutils.shadow.ShadowDashboardFragment;
 import com.android.settings.testutils.shadow.ShadowDataUsageUtils;
 import com.android.settings.testutils.shadow.ShadowUserManager;
 import com.android.settings.testutils.shadow.ShadowUtils;
 
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -66,15 +64,12 @@
 public class DataUsageSummaryTest {
 
     @Mock
-    private SummaryLoader mSummaryLoader;
-    @Mock
     private NetworkPolicyManager mNetworkPolicyManager;
     @Mock
     private NetworkStatsManager mNetworkStatsManager;
     private TelephonyManager mTelephonyManager;
     private Context mContext;
     private FragmentActivity mActivity;
-    private SummaryLoader.SummaryProvider mSummaryProvider;
 
     /**
      * This set up is contrived to get a passing test so that the build doesn't block without tests.
@@ -96,9 +91,6 @@
         shadowTelephonyManager.setTelephonyManagerForSubscriptionId(1, mTelephonyManager);
         mActivity = spy(Robolectric.buildActivity(FragmentActivity.class).get());
         doReturn(mNetworkStatsManager).when(mActivity).getSystemService(NetworkStatsManager.class);
-
-        mSummaryProvider = DataUsageSummary.SUMMARY_PROVIDER_FACTORY
-                .createSummaryProvider(mActivity, mSummaryLoader);
     }
 
     @Test
@@ -111,21 +103,8 @@
     }
 
     @Test
-    public void setListening_shouldBlankSummaryWithNoSim() {
-        ShadowDataUsageUtils.HAS_SIM = false;
-        mSummaryProvider.setListening(true);
-        verify(mSummaryLoader).setSummary(mSummaryProvider, null);
-    }
-
-    @Test
-    public void setListening_shouldSetSummaryWithSim() {
-        ShadowDataUsageUtils.HAS_SIM = true;
-        mSummaryProvider.setListening(true);
-        verify(mSummaryLoader).setSummary(anyObject(), endsWith(" of data used"));
-    }
-
-    @Test
     @Config(shadows = ShadowSubscriptionManager.class)
+    @Ignore
     public void configuration_withSim_shouldShowMobileAndWifi() {
         ShadowDataUsageUtils.IS_MOBILE_DATA_SUPPORTED = true;
         ShadowDataUsageUtils.IS_WIFI_SUPPORTED = true;
diff --git a/tests/robotests/src/com/android/settings/datausage/DataUsageUtilsTest.java b/tests/robotests/src/com/android/settings/datausage/DataUsageUtilsTest.java
index aa5db22..fe02cb1 100644
--- a/tests/robotests/src/com/android/settings/datausage/DataUsageUtilsTest.java
+++ b/tests/robotests/src/com/android/settings/datausage/DataUsageUtilsTest.java
@@ -54,7 +54,7 @@
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
-        ShadowApplication shadowContext = ShadowApplication.getInstance();
+        final ShadowApplication shadowContext = ShadowApplication.getInstance();
         mContext = RuntimeEnvironment.application;
         shadowContext.setSystemService(Context.CONNECTIVITY_SERVICE, mManager);
         shadowContext.setSystemService(Context.TELEPHONY_SERVICE, mTelephonyManager);
@@ -64,28 +64,28 @@
     @Test
     public void mobileDataStatus_whenNetworkIsSupported() {
         when(mManager.isNetworkSupported(anyInt())).thenReturn(true);
-        boolean hasMobileData = DataUsageUtils.hasMobileData(mContext);
+        final boolean hasMobileData = DataUsageUtils.hasMobileData(mContext);
         assertThat(hasMobileData).isTrue();
     }
 
     @Test
     public void mobileDataStatus_whenNetworkIsNotSupported() {
         when(mManager.isNetworkSupported(anyInt())).thenReturn(false);
-        boolean hasMobileData = DataUsageUtils.hasMobileData(mContext);
+        final boolean hasMobileData = DataUsageUtils.hasMobileData(mContext);
         assertThat(hasMobileData).isFalse();
     }
 
     @Test
     public void hasSim_simStateReady() {
         when(mTelephonyManager.getSimState()).thenReturn(TelephonyManager.SIM_STATE_READY);
-        boolean hasSim = DataUsageUtils.hasSim(mContext);
+        final boolean hasSim = DataUsageUtils.hasSim(mContext);
         assertThat(hasSim).isTrue();
     }
 
     @Test
     public void hasSim_simStateMissing() {
         when(mTelephonyManager.getSimState()).thenReturn(TelephonyManager.SIM_STATE_ABSENT);
-        boolean hasSim = DataUsageUtils.hasSim(mContext);
+        final boolean hasSim = DataUsageUtils.hasSim(mContext);
         assertThat(hasSim).isFalse();
     }
 
diff --git a/tests/robotests/src/com/android/settings/datetime/DatePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/datetime/DatePreferenceControllerTest.java
index e0770aa..f4d4666 100644
--- a/tests/robotests/src/com/android/settings/datetime/DatePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/datetime/DatePreferenceControllerTest.java
@@ -21,7 +21,7 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import android.app.AlarmManager;
+import android.app.timedetector.TimeDetector;
 import android.content.Context;
 
 import com.android.settingslib.RestrictedPreference;
@@ -40,7 +40,7 @@
     @Mock
     private Context mContext;
     @Mock
-    private AlarmManager mAlarmManager;
+    private TimeDetector mTimeDetector;
     @Mock
     private DatePreferenceController.DatePreferenceHost mHost;
     @Mock
@@ -52,7 +52,7 @@
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
-        when(mContext.getSystemService(Context.ALARM_SERVICE)).thenReturn(mAlarmManager);
+        when(mContext.getSystemService(TimeDetector.class)).thenReturn(mTimeDetector);
         mPreference = new RestrictedPreference(RuntimeEnvironment.application);
         mController = new DatePreferenceController(mContext, mHost, mAutoTimePreferenceController);
     }
diff --git a/tests/robotests/src/com/android/settings/datetime/timezone/TimeZoneInfoPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/datetime/timezone/TimeZoneInfoPreferenceControllerTest.java
index 5bbd01e..563bf8d 100644
--- a/tests/robotests/src/com/android/settings/datetime/timezone/TimeZoneInfoPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/datetime/timezone/TimeZoneInfoPreferenceControllerTest.java
@@ -16,13 +16,16 @@
 
 package com.android.settings.datetime.timezone;
 
-import static org.junit.Assert.assertEquals;
-import static org.mockito.Mockito.spy;
+import static com.android.settings.core.BasePreferenceController.AVAILABLE_UNSEARCHABLE;
+import static com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_DEVICE;
 
-import androidx.preference.Preference;
+import static com.google.common.truth.Truth.assertThat;
+
+import android.content.Context;
 
 import com.android.settings.datetime.timezone.TimeZoneInfo.Formatter;
 
+import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.robolectric.RobolectricTestRunner;
@@ -34,20 +37,38 @@
 @RunWith(RobolectricTestRunner.class)
 public class TimeZoneInfoPreferenceControllerTest {
 
-    @Test
-    public void updateState_matchExpectedFormattedText() {
-        Date now = new Date(0L); // 00:00 1/1/1970
-        Formatter formatter = new Formatter(Locale.US, now);
+    private TimeZoneInfo mTimeZoneInfo;
+    private TimeZoneInfoPreferenceController mController;
 
-        TimeZoneInfo timeZoneInfo = formatter.format("America/Los_Angeles");
-        TimeZoneInfoPreferenceController controller =
-                new TimeZoneInfoPreferenceController(RuntimeEnvironment.application);
-        controller.mDate = now;
-        controller.setTimeZoneInfo(timeZoneInfo);
-        Preference preference = spy(new Preference(RuntimeEnvironment.application));
-        controller.updateState(preference);
-        assertEquals("Uses Pacific Time (GMT-08:00). "
-                        + "Pacific Daylight Time starts on April 26, 1970.",
-                preference.getTitle().toString());
+    @Before
+    public void setUp() {
+        final Context context = RuntimeEnvironment.application;
+        final Date now = new Date(0L); // 00:00 1/1/1970
+        final Formatter formatter = new Formatter(Locale.US, now);
+        mTimeZoneInfo = formatter.format("America/Los_Angeles");
+        mController = new TimeZoneInfoPreferenceController(context, "key");
+        mController.mDate = now;
+        mController.setTimeZoneInfo(mTimeZoneInfo);
+    }
+
+    @Test
+    public void getSummary_matchExpectedFormattedText() {
+        assertThat(mController.getSummary().toString()).isEqualTo(
+                "Uses Pacific Time (GMT-08:00). "
+                        + "Pacific Daylight Time starts on April 26, 1970.");
+    }
+
+    @Test
+    public void getAvailabilityStatus_timeZoneInfoSet_shouldReturnAVAILABLE_UNSEARCHABLE() {
+        mController.setTimeZoneInfo(mTimeZoneInfo);
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE_UNSEARCHABLE);
+    }
+
+    @Test
+    public void getAvailabilityStatus_noTimeZoneInfoSet_shouldReturnUNSUPPORTED_ON_DEVICE() {
+        mController.setTimeZoneInfo(null);
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(UNSUPPORTED_ON_DEVICE);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/development/AbstractBluetoothA2dpPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/AbstractBluetoothA2dpPreferenceControllerTest.java
index bc495f6..4276407 100644
--- a/tests/robotests/src/com/android/settings/development/AbstractBluetoothA2dpPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/AbstractBluetoothA2dpPreferenceControllerTest.java
@@ -38,6 +38,7 @@
 import com.android.settingslib.core.lifecycle.Lifecycle;
 
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -80,6 +81,7 @@
     }
 
     @Test
+    @Ignore
     public void onPreferenceChange_bluetoothConnected_shouldUpdateCodec() {
         mController.onBluetoothServiceConnected(mBluetoothA2dp);
 
@@ -98,6 +100,7 @@
     }
 
     @Test
+    @Ignore
     public void updateState_option2Set_shouldUpdateToOption2() {
         when(mBluetoothCodecConfig.getSampleRate()).thenReturn(
                 BluetoothCodecConfig.SAMPLE_RATE_48000);
diff --git a/tests/robotests/src/com/android/settings/development/BluetoothAudioBitsPerSamplePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/BluetoothAudioBitsPerSamplePreferenceControllerTest.java
deleted file mode 100644
index 8c5cfd0..0000000
--- a/tests/robotests/src/com/android/settings/development/BluetoothAudioBitsPerSamplePreferenceControllerTest.java
+++ /dev/null
@@ -1,114 +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.development;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.bluetooth.BluetoothCodecConfig;
-import android.content.Context;
-
-import androidx.lifecycle.LifecycleOwner;
-import androidx.preference.ListPreference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-
-@RunWith(RobolectricTestRunner.class)
-public class BluetoothAudioBitsPerSamplePreferenceControllerTest {
-
-    @Mock
-    private BluetoothCodecConfig mBluetoothCodecConfig;
-    @Mock
-    private ListPreference mPreference;
-    @Mock
-    private PreferenceScreen mScreen;
-    @Mock
-    private BluetoothA2dpConfigStore mBluetoothA2dpConfigStore;
-
-    /**
-     * 0: Use System Selection (Default)
-     * 1: 16 bits/sample
-     * 2: 24 bits/sample
-     * 3: 32 bits/sample
-     */
-    private String[] mListValues;
-    private Context mContext;
-    private BluetoothAudioBitsPerSamplePreferenceController mController;
-    private LifecycleOwner mLifecycleOwner;
-    private Lifecycle mLifecycle;
-
-    @Before
-    public void setup() {
-        MockitoAnnotations.initMocks(this);
-        mContext = RuntimeEnvironment.application;
-        mLifecycleOwner = () -> mLifecycle;
-        mLifecycle = new Lifecycle(mLifecycleOwner);
-        mController = spy(new BluetoothAudioBitsPerSamplePreferenceController(mContext,
-                mLifecycle, mBluetoothA2dpConfigStore));
-        mListValues = mController.getListValues();
-        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
-        mController.displayPreference(mScreen);
-    }
-
-    @Test
-    public void writeConfigurationValues_option2_shouldWriteOption2ToSharedStore() {
-        when(mPreference.findIndexOfValue(mListValues[2])).thenReturn(2);
-        mController.writeConfigurationValues(mListValues[2]);
-
-        verify(mBluetoothA2dpConfigStore).setBitsPerSample(BluetoothCodecConfig.BITS_PER_SAMPLE_24);
-    }
-
-    @Test
-    public void writeConfigurationValues_default_shouldSetDefault() {
-        when(mPreference.findIndexOfValue(mListValues[0])).thenReturn(0);
-        mController.writeConfigurationValues(mListValues[0]);
-
-        verify(mBluetoothA2dpConfigStore).setBitsPerSample(
-                BluetoothCodecConfig.BITS_PER_SAMPLE_NONE);
-    }
-
-    @Test
-    public void getCurrentA2dpSettingIndex_option2_shouldReturnSecondIndex() {
-        when(mBluetoothCodecConfig.getBitsPerSample()).thenReturn(
-                BluetoothCodecConfig.BITS_PER_SAMPLE_24);
-
-        final int index = mController.getCurrentA2dpSettingIndex(mBluetoothCodecConfig);
-
-        assertThat(index).isEqualTo(2);
-    }
-
-    @Test
-    public void getCurrentA2dpSettingIndex_unknownOption_shouldReturnDefault() {
-        when(mBluetoothCodecConfig.getCodecType()).thenReturn(1381391835);
-
-        final int index = mController.getCurrentA2dpSettingIndex(mBluetoothCodecConfig);
-
-        assertThat(index).isEqualTo(0);
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/development/BluetoothAudioChannelModePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/BluetoothAudioChannelModePreferenceControllerTest.java
deleted file mode 100644
index d9a2671..0000000
--- a/tests/robotests/src/com/android/settings/development/BluetoothAudioChannelModePreferenceControllerTest.java
+++ /dev/null
@@ -1,112 +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.development;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.bluetooth.BluetoothCodecConfig;
-import android.content.Context;
-
-import androidx.lifecycle.LifecycleOwner;
-import androidx.preference.ListPreference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-
-@RunWith(RobolectricTestRunner.class)
-public class BluetoothAudioChannelModePreferenceControllerTest {
-
-    @Mock
-    private BluetoothCodecConfig mBluetoothCodecConfig;
-    @Mock
-    private ListPreference mPreference;
-    @Mock
-    private PreferenceScreen mScreen;
-    @Mock
-    private BluetoothA2dpConfigStore mBluetoothA2dpConfigStore;
-
-    /**
-     * 0: Use System Selection (Default)
-     * 1: Mono
-     * 2: Stereo
-     */
-    private String[] mListValues;
-    private Context mContext;
-    private BluetoothAudioChannelModePreferenceController mController;
-    private LifecycleOwner mLifecycleOwner;
-    private Lifecycle mLifecycle;
-
-    @Before
-    public void setup() {
-        MockitoAnnotations.initMocks(this);
-        mContext = RuntimeEnvironment.application;
-        mLifecycleOwner = () -> mLifecycle;
-        mLifecycle = new Lifecycle(mLifecycleOwner);
-        mController = spy(new BluetoothAudioChannelModePreferenceController(mContext,
-                mLifecycle, mBluetoothA2dpConfigStore));
-        mListValues = mController.getListValues();
-        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
-        mController.displayPreference(mScreen);
-    }
-
-    @Test
-    public void writeConfigurationValues_option2_shouldWriteOption2ToSharedStore() {
-        when(mPreference.findIndexOfValue(mListValues[2])).thenReturn(2);
-        mController.writeConfigurationValues(mListValues[2]);
-
-        verify(mBluetoothA2dpConfigStore).setChannelMode(BluetoothCodecConfig.CHANNEL_MODE_STEREO);
-    }
-
-    @Test
-    public void writeConfigurationValues_default_shouldSetDefault() {
-        when(mPreference.findIndexOfValue(mListValues[0])).thenReturn(0);
-        mController.writeConfigurationValues(mListValues[0]);
-
-        verify(mBluetoothA2dpConfigStore).setChannelMode(BluetoothCodecConfig.CHANNEL_MODE_NONE);
-    }
-
-    @Test
-    public void getCurrentA2dpSettingIndex_option2_shouldReturnSecondIndex() {
-        when(mBluetoothCodecConfig.getChannelMode())
-            .thenReturn(BluetoothCodecConfig.CHANNEL_MODE_STEREO);
-
-        final int index = mController.getCurrentA2dpSettingIndex(mBluetoothCodecConfig);
-
-        assertThat(index).isEqualTo(2);
-    }
-
-    @Test
-    public void getCurrentA2dpSettingIndex_unknownOption_shouldReturnDefault() {
-        when(mBluetoothCodecConfig.getCodecType()).thenReturn(1381391835);
-
-        final int index = mController.getCurrentA2dpSettingIndex(mBluetoothCodecConfig);
-
-        assertThat(index).isEqualTo(0);
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/development/BluetoothAudioCodecPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/BluetoothAudioCodecPreferenceControllerTest.java
deleted file mode 100644
index 7be8a88..0000000
--- a/tests/robotests/src/com/android/settings/development/BluetoothAudioCodecPreferenceControllerTest.java
+++ /dev/null
@@ -1,120 +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.development;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.bluetooth.BluetoothCodecConfig;
-import android.content.Context;
-
-import androidx.lifecycle.LifecycleOwner;
-import androidx.preference.ListPreference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-
-@RunWith(RobolectricTestRunner.class)
-public class BluetoothAudioCodecPreferenceControllerTest {
-
-    @Mock
-    private BluetoothCodecConfig mBluetoothCodecConfig;
-    @Mock
-    private ListPreference mPreference;
-    @Mock
-    private PreferenceScreen mScreen;
-    @Mock
-    private BluetoothA2dpConfigStore mBluetoothA2dpConfigStore;
-
-    /**
-     * 0: Use System Selection (Default)
-     * 1: SBC
-     * 2: AAC
-     * 3: Qualcomm aptX audio
-     * 4: Qualcomm aptX HD audio
-     * 5: LDAC
-     * 6: Enable Optional Codecs
-     * 7: Disable Optional Codecs
-     */
-    private String[] mListValues;
-    private Context mContext;
-    private BluetoothAudioCodecPreferenceController mController;
-    private LifecycleOwner mLifecycleOwner;
-    private Lifecycle mLifecycle;
-
-    @Before
-    public void setup() {
-        MockitoAnnotations.initMocks(this);
-        mContext = RuntimeEnvironment.application;
-        mLifecycleOwner = () -> mLifecycle;
-        mLifecycle = new Lifecycle(mLifecycleOwner);
-        mController = spy(new BluetoothAudioCodecPreferenceController(mContext, mLifecycle,
-                mBluetoothA2dpConfigStore));
-        mListValues = mController.getListValues();
-        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
-        mController.displayPreference(mScreen);
-    }
-
-    @Test
-    public void writeConfigurationValues_option2_shouldWriteOption2ToSharedStore() {
-        when(mPreference.findIndexOfValue(mListValues[2])).thenReturn(2);
-        mController.writeConfigurationValues(mListValues[2]);
-
-        verify(mBluetoothA2dpConfigStore).setCodecType(BluetoothCodecConfig.SOURCE_CODEC_TYPE_AAC);
-        verify(mBluetoothA2dpConfigStore).setCodecPriority(
-                BluetoothCodecConfig.CODEC_PRIORITY_HIGHEST);
-    }
-
-    @Test
-    public void writeConfigurationValues_default_shouldSetDefaultPriority() {
-        when(mPreference.findIndexOfValue(mListValues[0])).thenReturn(0);
-        mController.writeConfigurationValues(mListValues[0]);
-
-        verify(mBluetoothA2dpConfigStore).setCodecPriority(
-                BluetoothCodecConfig.CODEC_PRIORITY_DEFAULT);
-    }
-
-    @Test
-    public void getCurrentA2dpSettingIndex_option2_shouldReturnSecondIndex() {
-        when(mBluetoothCodecConfig.getCodecType()).thenReturn(
-                BluetoothCodecConfig.SOURCE_CODEC_TYPE_AAC);
-
-        final int index = mController.getCurrentA2dpSettingIndex(mBluetoothCodecConfig);
-
-        assertThat(index).isEqualTo(2);
-    }
-
-    @Test
-    public void getCurrentA2dpSettingIndex_unknownOption_shouldReturnDefault() {
-        when(mBluetoothCodecConfig.getCodecType()).thenReturn(1381391835);
-
-        final int index = mController.getCurrentA2dpSettingIndex(mBluetoothCodecConfig);
-
-        assertThat(index).isEqualTo(0);
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/development/BluetoothAudioQualityPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/BluetoothAudioQualityPreferenceControllerTest.java
deleted file mode 100644
index 93d92fd..0000000
--- a/tests/robotests/src/com/android/settings/development/BluetoothAudioQualityPreferenceControllerTest.java
+++ /dev/null
@@ -1,111 +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.development;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.bluetooth.BluetoothCodecConfig;
-import android.content.Context;
-
-import androidx.lifecycle.LifecycleOwner;
-import androidx.preference.ListPreference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-
-@RunWith(RobolectricTestRunner.class)
-public class BluetoothAudioQualityPreferenceControllerTest {
-
-    @Mock
-    private BluetoothCodecConfig mBluetoothCodecConfig;
-    @Mock
-    private ListPreference mPreference;
-    @Mock
-    private PreferenceScreen mScreen;
-    @Mock
-    private BluetoothA2dpConfigStore mBluetoothA2dpConfigStore;
-
-    /**
-     * 0: Optimized for Audio Quality (990kbps/909kbps)
-     * 1: Balanced Audio And Connection Quality (660kbps/606kbps)
-     * 2: Stereo
-     */
-    private String[] mListValues;
-    private Context mContext;
-    private BluetoothAudioQualityPreferenceController mController;
-    private LifecycleOwner mLifecycleOwner;
-    private Lifecycle mLifecycle;
-
-    @Before
-    public void setup() {
-        MockitoAnnotations.initMocks(this);
-        mContext = RuntimeEnvironment.application;
-        mLifecycleOwner = () -> mLifecycle;
-        mLifecycle = new Lifecycle(mLifecycleOwner);
-        mController = spy(new BluetoothAudioQualityPreferenceController(mContext,
-                mLifecycle, mBluetoothA2dpConfigStore));
-        mListValues = mController.getListValues();
-        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
-        mController.displayPreference(mScreen);
-    }
-
-    @Test
-    public void writeConfigurationValues_option3_shouldWrite1003ToSharedStore() {
-        when(mPreference.findIndexOfValue(mListValues[3])).thenReturn(3);
-        mController.writeConfigurationValues(mListValues[3]);
-
-        verify(mBluetoothA2dpConfigStore).setCodecSpecific1Value(1003);
-    }
-
-    @Test
-    public void writeConfigurationValues_default_shouldSetDefault() {
-        when(mPreference.findIndexOfValue(mListValues[0])).thenReturn(0);
-        mController.writeConfigurationValues(mListValues[0]);
-
-        verify(mBluetoothA2dpConfigStore).setCodecSpecific1Value(1000);
-    }
-
-    @Test
-    public void getCurrentA2dpSettingIndex_option2_shouldReturnSecondIndex() {
-        when(mBluetoothCodecConfig.getCodecSpecific1()).thenReturn(Long.valueOf(2));
-
-        final int index = mController.getCurrentA2dpSettingIndex(mBluetoothCodecConfig);
-
-        assertThat(index).isEqualTo(2);
-    }
-
-    @Test
-    public void getCurrentA2dpSettingIndex_unknownOption_shouldReturnDefault() {
-        when(mBluetoothCodecConfig.getCodecType()).thenReturn(1381391835);
-
-        final int index = mController.getCurrentA2dpSettingIndex(mBluetoothCodecConfig);
-
-        assertThat(index).isEqualTo(3);
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/development/BluetoothAudioSampleRatePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/BluetoothAudioSampleRatePreferenceControllerTest.java
deleted file mode 100644
index 3b469c5..0000000
--- a/tests/robotests/src/com/android/settings/development/BluetoothAudioSampleRatePreferenceControllerTest.java
+++ /dev/null
@@ -1,106 +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.development;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.bluetooth.BluetoothCodecConfig;
-import android.content.Context;
-
-import androidx.lifecycle.LifecycleOwner;
-import androidx.preference.ListPreference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-
-@RunWith(RobolectricTestRunner.class)
-public class BluetoothAudioSampleRatePreferenceControllerTest {
-
-    @Mock
-    private BluetoothCodecConfig mBluetoothCodecConfig;
-    @Mock
-    private ListPreference mPreference;
-    @Mock
-    private PreferenceScreen mScreen;
-    @Mock
-    private BluetoothA2dpConfigStore mBluetoothA2dpConfigStore;
-
-    /**
-     * 0: Use System Selection (Default)
-     * 1: 44.1 kHz
-     * 2: 48.0 kHz
-     * 3: 88.2 kHz
-     * 4: 96.0 kHz
-     */
-    private String[] mListValues;
-    private LifecycleOwner mLifecycleOwner;
-    private Lifecycle mLifecycle;
-    private Context mContext;
-    private BluetoothAudioSampleRatePreferenceController mController;
-
-    @Before
-    public void setup() {
-        MockitoAnnotations.initMocks(this);
-        mContext = RuntimeEnvironment.application;
-        mLifecycleOwner = () -> mLifecycle;
-        mLifecycle = new Lifecycle(mLifecycleOwner);
-        mController = spy(new BluetoothAudioSampleRatePreferenceController(mContext, mLifecycle,
-                mBluetoothA2dpConfigStore));
-        mListValues = mController.getListValues();
-        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
-        mController.displayPreference(mScreen);
-    }
-
-    @Test
-    public void writeConfigurationValues_option2_shouldWriteOption2ToSharedStore() {
-        when(mPreference.findIndexOfValue(mListValues[2])).thenReturn(2);
-        mController.writeConfigurationValues(mListValues[2]);
-
-        verify(mBluetoothA2dpConfigStore).setSampleRate(BluetoothCodecConfig.SAMPLE_RATE_48000);
-    }
-
-    @Test
-    public void getCurrentA2dpSettingIndex_option2_shouldReturnSecondIndex() {
-        when(mBluetoothCodecConfig.getSampleRate()).thenReturn(
-                BluetoothCodecConfig.SAMPLE_RATE_48000);
-
-        final int index = mController.getCurrentA2dpSettingIndex(mBluetoothCodecConfig);
-
-        assertThat(index).isEqualTo(2);
-    }
-
-    @Test
-    public void getCurrentA2dpSettingIndex_unknownOption_shouldReturnDefault() {
-        when(mBluetoothCodecConfig.getSampleRate()).thenReturn(1381391835);
-
-        final int index = mController.getCurrentA2dpSettingIndex(mBluetoothCodecConfig);
-
-        assertThat(index).isEqualTo(0);
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/development/BluetoothMapVersionPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/BluetoothMapVersionPreferenceControllerTest.java
new file mode 100644
index 0000000..f897fdf
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/development/BluetoothMapVersionPreferenceControllerTest.java
@@ -0,0 +1,108 @@
+/*
+ * 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.development;
+import static com.android.settings.development.BluetoothMapVersionPreferenceController
+        .BLUETOOTH_MAP_VERSION_PROPERTY;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.content.res.Resources;
+import android.os.SystemProperties;
+
+import androidx.preference.ListPreference;
+import androidx.preference.PreferenceScreen;
+
+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 org.robolectric.RuntimeEnvironment;
+
+@RunWith(RobolectricTestRunner.class)
+public class BluetoothMapVersionPreferenceControllerTest {
+    @Mock
+    private ListPreference mPreference;
+    @Mock
+    private PreferenceScreen mPreferenceScreen;
+    private Context mContext;
+    private BluetoothMapVersionPreferenceController mController;
+    /**
+     * 0: MAP 1.2 (Default)
+     * 1: MAP 1.3
+     * 2: MAP 1.4
+     */
+    private String[] mListValues;
+    private String[] mListSummaries;
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+        mContext = RuntimeEnvironment.application;
+        final Resources resources = mContext.getResources();
+        mListValues = resources.getStringArray(R.array.bluetooth_map_version_values);
+        mListSummaries = resources.getStringArray(R.array.bluetooth_map_versions);
+        mController = new BluetoothMapVersionPreferenceController(mContext);
+        when(mPreferenceScreen.findPreference(mController.getPreferenceKey()))
+            .thenReturn(mPreference);
+        mController.displayPreference(mPreferenceScreen);
+    }
+    @Test
+    public void onPreferenceChange_setMap13_shouldEnableMap13() {
+        mController.onPreferenceChange(mPreference, mListValues[1]);
+
+        final String currentValue = SystemProperties.get(BLUETOOTH_MAP_VERSION_PROPERTY);
+        assertThat(currentValue).isEqualTo(mListValues[1]);
+    }
+    @Test
+    public void onPreferenceChange_setMap14_shouldEnableMap14() {
+        mController.onPreferenceChange(mPreference, mListValues[2]);
+
+        final String currentValue = SystemProperties.get(BLUETOOTH_MAP_VERSION_PROPERTY);
+        assertThat(currentValue).isEqualTo(mListValues[2]);
+    }
+    @Test
+    public void updateState_setMap13_shouldSetPreferenceToMap13() {
+        SystemProperties.set(BLUETOOTH_MAP_VERSION_PROPERTY, mListValues[1]);
+
+        mController.updateState(mPreference);
+
+        verify(mPreference).setValue(mListValues[1]);
+        verify(mPreference).setSummary(mListSummaries[1]);
+    }
+    @Test
+    public void updateState_setMap14_shouldSetPreferenceToMap14() {
+        SystemProperties.set(BLUETOOTH_MAP_VERSION_PROPERTY, mListValues[2]);
+
+        mController.updateState(mPreference);
+
+        verify(mPreference).setValue(mListValues[2]);
+        verify(mPreference).setSummary(mListSummaries[2]);
+    }
+    @Test
+    public void updateState_noValueSet_shouldSetDefaultToMap12() {
+        mController.updateState(mPreference);
+
+        verify(mPreference).setValue(mListValues[0]);
+        verify(mPreference).setSummary(mListSummaries[0]);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/development/BugReportHandlerPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/BugReportHandlerPreferenceControllerTest.java
new file mode 100644
index 0000000..6b47a80
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/development/BugReportHandlerPreferenceControllerTest.java
@@ -0,0 +1,115 @@
+/*
+ * 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.development;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyString;
+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.Context;
+import android.os.UserManager;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settings.bugreporthandler.BugReportHandlerUtil;
+
+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 org.robolectric.util.ReflectionHelpers;
+
+@RunWith(RobolectricTestRunner.class)
+public class BugReportHandlerPreferenceControllerTest {
+
+    @Mock
+    private PreferenceScreen mPreferenceScreen;
+    @Mock
+    private UserManager mUserManager;
+    @Mock
+    private BugReportHandlerUtil mBugReportHandlerUtil;
+    @Mock
+    private Preference mPreference;
+
+    private BugReportHandlerPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mController = spy(new BugReportHandlerPreferenceController(RuntimeEnvironment.application));
+        ReflectionHelpers.setField(mController, "mUserManager", mUserManager);
+        ReflectionHelpers.setField(mController, "mBugReportHandlerUtil", mBugReportHandlerUtil);
+    }
+
+    @Test
+    public void isAvailable_hasDebugRestriction_notAvailable() {
+        doReturn(true).when(mUserManager).hasUserRestriction(anyString());
+        doReturn(true).when(mBugReportHandlerUtil).isBugReportHandlerEnabled(any(Context.class));
+
+        assertThat(mController.isAvailable()).isFalse();
+    }
+
+    @Test
+    public void isAvailable_bugReportHandlerDisabled_notAvailable() {
+        doReturn(false).when(mBugReportHandlerUtil).isBugReportHandlerEnabled(any(Context.class));
+        doReturn(false).when(mUserManager).hasUserRestriction(anyString());
+
+        assertThat(mController.isAvailable()).isFalse();
+    }
+
+    @Test
+    public void isAvailable_noDebugRestrictionAndBugReportHandlerEnabled_available() {
+        doReturn(false).when(mUserManager).hasUserRestriction(anyString());
+        doReturn(true).when(mBugReportHandlerUtil).isBugReportHandlerEnabled(any(Context.class));
+
+        assertThat(mController.isAvailable()).isTrue();
+    }
+
+    @Test
+    public void updateState_hasCurrentBugReportHandlerAppLabel_setAppLabel() {
+        when(mPreferenceScreen.findPreference(mController.getPreferenceKey()))
+                .thenReturn(mPreference);
+        mController.displayPreference(mPreferenceScreen);
+        doReturn("SomeRandomAppLabel!!!").when(mController).getCurrentBugReportHandlerAppLabel();
+
+        mController.updateState(mPreference);
+
+        verify(mPreference).setSummary("SomeRandomAppLabel!!!");
+    }
+
+    @Test
+    public void updateState_noCurrentBugReportHandlerAppLabel_setAppDefaultLabel() {
+        when(mPreferenceScreen.findPreference(mController.getPreferenceKey()))
+                .thenReturn(mPreference);
+        mController.displayPreference(mPreferenceScreen);
+        doReturn(null).when(mController).getCurrentBugReportHandlerAppLabel();
+
+        mController.updateState(mPreference);
+
+        verify(mPreference).setSummary(R.string.app_list_preference_none);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/development/CameraLaserSensorPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/CameraLaserSensorPreferenceControllerTest.java
index aa9cb46..d469c71 100644
--- a/tests/robotests/src/com/android/settings/development/CameraLaserSensorPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/CameraLaserSensorPreferenceControllerTest.java
@@ -128,16 +128,4 @@
                         CameraLaserSensorPreferenceController.PROPERTY_CAMERA_LASER_SENSOR,
                         Integer.toString(CameraLaserSensorPreferenceController.ENABLED)));
     }
-
-    @Test
-    public void onDeveloperOptionsSwitchDisabled_preferenceShouldBeEnabled() {
-        mController.onDeveloperOptionsSwitchDisabled();
-
-        verify(mPreference).setEnabled(false);
-        verify(mPreference).setChecked(false);
-        assertThat(Integer.toString(CameraLaserSensorPreferenceController.DISABLED)).isEqualTo(
-                SystemProperties.get(
-                        CameraLaserSensorPreferenceController.PROPERTY_CAMERA_LASER_SENSOR,
-                        Integer.toString(CameraLaserSensorPreferenceController.ENABLED)));
-    }
 }
diff --git a/tests/robotests/src/com/android/settings/development/DevelopmentSettingsDashboardFragmentTest.java b/tests/robotests/src/com/android/settings/development/DevelopmentSettingsDashboardFragmentTest.java
index 83a4880..101297b 100644
--- a/tests/robotests/src/com/android/settings/development/DevelopmentSettingsDashboardFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/development/DevelopmentSettingsDashboardFragmentTest.java
@@ -49,9 +49,9 @@
 import org.robolectric.annotation.Config;
 import org.robolectric.annotation.Implementation;
 import org.robolectric.annotation.Implements;
-import org.robolectric.shadows.androidx.fragment.FragmentController;
 import org.robolectric.shadow.api.Shadow;
 import org.robolectric.shadows.ShadowUserManager;
+import org.robolectric.shadows.androidx.fragment.FragmentController;
 import org.robolectric.util.ReflectionHelpers;
 
 import java.util.List;
@@ -133,7 +133,8 @@
     @Config(shadows = {
             ShadowPictureColorModePreferenceController.class,
             ShadowAdbPreferenceController.class,
-            ShadowClearAdbKeysPreferenceController.class
+            ShadowClearAdbKeysPreferenceController.class,
+            ShadowWirelessDebuggingPreferenceController.class
     })
     public void searchIndex_pageEnabled_shouldNotAddKeysToNonIndexable() {
         final Context appContext = RuntimeEnvironment.application;
@@ -325,4 +326,12 @@
             return true;
         }
     }
+
+    @Implements(WirelessDebuggingPreferenceController.class)
+    public static class ShadowWirelessDebuggingPreferenceController {
+        @Implementation
+        protected boolean isAvailable() {
+            return true;
+        }
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/development/EnableBlursPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/EnableBlursPreferenceControllerTest.java
new file mode 100644
index 0000000..d943cb1
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/development/EnableBlursPreferenceControllerTest.java
@@ -0,0 +1,115 @@
+/*
+ * 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.development;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.anyBoolean;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.os.SystemProperties;
+
+import androidx.preference.PreferenceScreen;
+import androidx.preference.SwitchPreference;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+@RunWith(RobolectricTestRunner.class)
+public final class EnableBlursPreferenceControllerTest {
+
+    @Mock
+    private SwitchPreference mPreference;
+    @Mock
+    private PreferenceScreen mPreferenceScreen;
+
+    @Rule
+    public MockitoRule mockitoRule = MockitoJUnit.rule();
+
+    private Context mContext;
+    private EnableBlursPreferenceController mController;
+
+    @Before
+    public void setup() {
+        mContext = RuntimeEnvironment.application;
+        mController = new EnableBlursPreferenceController(mContext, true);
+        when(mPreferenceScreen.findPreference(mController.getPreferenceKey())).thenReturn(
+                mPreference);
+        mController.displayPreference(mPreferenceScreen);
+    }
+
+    @Test
+    public void onPreferenceChanged_settingEnabled_enableBlurs() {
+        mController.onPreferenceChange(mPreference, true /* new value */);
+
+        final boolean mode = SystemProperties
+                .getBoolean(EnableBlursPreferenceController.DISABLE_BLURS_SYSPROP,
+                        false /* default */);
+        assertThat(mode).isFalse();
+    }
+
+    @Test
+    public void onPreferenceChanged_settingDisabled_disableBlurs() {
+        mController.onPreferenceChange(mPreference, false /* new value */);
+
+        final boolean mode = SystemProperties
+                .getBoolean(EnableBlursPreferenceController.DISABLE_BLURS_SYSPROP,
+                        false /* default */);
+
+        assertThat(mode).isTrue();
+    }
+
+    @Test
+    public void updateState_settingEnabled_preferenceShouldNotBeChecked() {
+        SystemProperties.set(EnableBlursPreferenceController.DISABLE_BLURS_SYSPROP, "1");
+        mController.updateState(mPreference);
+
+        verify(mPreference).setChecked(false);
+    }
+
+    @Test
+    public void updateState_settingDisabled_preferenceShouldBeChecked() {
+        SystemProperties.set(EnableBlursPreferenceController.DISABLE_BLURS_SYSPROP, "0");
+        mController.updateState(mPreference);
+
+        verify(mPreference).setChecked(true);
+    }
+
+    @Test
+    public void onDeveloperOptionsDisabled_shouldResetPreference() {
+        mController.onDeveloperOptionsDisabled();
+        // Can predict true or false, depends on device config.
+        verify(mPreference).setChecked(anyBoolean());
+    }
+
+    @Test
+    public void isAvailable_whenSupported() {
+        assertThat(mController.isAvailable()).isTrue();
+
+        mController = new EnableBlursPreferenceController(mContext, false);
+        assertThat(mController.isAvailable()).isFalse();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/development/EnableVerboseVendorLoggingPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/EnableVerboseVendorLoggingPreferenceControllerTest.java
new file mode 100644
index 0000000..6145939
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/development/EnableVerboseVendorLoggingPreferenceControllerTest.java
@@ -0,0 +1,124 @@
+/*
+ * 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.development;
+
+import static junit.framework.Assert.assertFalse;
+import static junit.framework.Assert.assertTrue;
+
+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.Context;
+import android.hardware.dumpstate.V1_1.IDumpstateDevice;
+
+import androidx.preference.PreferenceScreen;
+import androidx.preference.SwitchPreference;
+
+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.lang.reflect.Field;
+
+@RunWith(RobolectricTestRunner.class)
+public final class EnableVerboseVendorLoggingPreferenceControllerTest {
+    @Mock
+    private SwitchPreference mPreference;
+    @Mock
+    private PreferenceScreen mPreferenceScreen;
+    @Mock
+    IDumpstateDevice mIDumpstateDevice;
+
+    private Context mContext;
+    private EnableVerboseVendorLoggingPreferenceController mController;
+
+    @Before
+    public void setUp() throws Exception {
+        MockitoAnnotations.initMocks(this);
+        mContext = RuntimeEnvironment.application;
+        mController = spy(new EnableVerboseVendorLoggingPreferenceController(mContext));
+        doReturn(mIDumpstateDevice).when(mController).getDumpstateDeviceService();
+
+        // mock with Dumpstate HAL v1.1
+        Field f = EnableVerboseVendorLoggingPreferenceController.class
+                .getDeclaredField("mDumpstateHalVersion");
+        f.setAccessible(true);
+        f.setInt(mController, 1 /* DUMPSTATE_HAL_VERSION_1_1 */);
+
+        when(mPreferenceScreen.findPreference(mController.getPreferenceKey()))
+                .thenReturn(mPreference);
+        mController.displayPreference(mPreferenceScreen);
+    }
+
+    @Test
+    public void onPreferenceChange_settingEnable_enableVendorLoggingShouldBeOn() throws Exception {
+        doReturn(true).when(mIDumpstateDevice).getVerboseLoggingEnabled();
+
+        mController.onPreferenceChange(mPreference, true /* new value */);
+
+        final boolean enabled = mController.getVerboseLoggingEnabled();
+        assertTrue(enabled);
+    }
+
+    @Test
+    public void onPreferenceChange_settingDisable_enableVendorLoggingShouldBeOff()
+            throws Exception {
+        doReturn(false).when(mIDumpstateDevice).getVerboseLoggingEnabled();
+
+        mController.onPreferenceChange(mPreference,  false /* new value */);
+
+        final boolean enabled = mController.getVerboseLoggingEnabled();
+        assertFalse(enabled);
+    }
+
+    @Test
+    public void updateState_settingDisabled_preferenceShouldNotBeChecked() throws Exception {
+        doReturn(false).when(mIDumpstateDevice).getVerboseLoggingEnabled();
+
+        mController.setVerboseLoggingEnabled(false);
+        mController.updateState(mPreference);
+
+        verify(mPreference).setChecked(false);
+    }
+
+    @Test
+    public void updateState_settingEnabled_preferenceShouldBeChecked() throws Exception {
+        doReturn(true).when(mIDumpstateDevice).getVerboseLoggingEnabled();
+
+        mController.setVerboseLoggingEnabled(true);
+        mController.updateState(mPreference);
+
+        verify(mPreference).setChecked(true);
+    }
+
+    @Test
+    public void onDeveloperOptionDisabled_shouldDisablePreference() throws Exception {
+        doReturn(false).when(mIDumpstateDevice).getVerboseLoggingEnabled();
+
+        mController.onDeveloperOptionsSwitchDisabled();
+
+        final boolean enabled = mController.getVerboseLoggingEnabled();
+        assertFalse(enabled);
+        verify(mPreference).setChecked(false);
+        verify(mPreference).setEnabled(false);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/development/EnhancedConnectivityPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/EnhancedConnectivityPreferenceControllerTest.java
new file mode 100644
index 0000000..6fd6f55
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/development/EnhancedConnectivityPreferenceControllerTest.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.development;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.provider.Settings;
+
+import androidx.preference.PreferenceScreen;
+import androidx.preference.SwitchPreference;
+
+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;
+
+@RunWith(RobolectricTestRunner.class)
+public class EnhancedConnectivityPreferenceControllerTest {
+    @Mock
+    private Context mContext;
+
+    @Mock
+    private SwitchPreference mPreference;
+    @Mock
+    private PreferenceScreen mPreferenceScreen;
+
+    private EnhancedConnectivityPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mController = new EnhancedConnectivityPreferenceController(mContext);
+        when(mPreferenceScreen.findPreference(mController.getPreferenceKey()))
+                .thenReturn(mPreference);
+        mController.displayPreference(mPreferenceScreen);
+    }
+
+    @Test
+    public void onPreferenceChanged_enhanceConnectivity_shouldBeOn() {
+        mController.onPreferenceChange(mPreference, true /* new value */);
+
+        assertThat(isSettingEnabled()).isTrue();
+    }
+
+    @Test
+    public void onPreferenceChanged_enhanceConnectivity_shouldBeOff() {
+        mController.onPreferenceChange(mPreference, false /* new value */);
+
+        assertThat(isSettingEnabled()).isFalse();
+    }
+
+    @Test
+    public void updateState_preferenceShouldBeChecked() {
+        Settings.Global.putInt(mContext.getContentResolver(),
+                Settings.Global.ENHANCED_CONNECTIVITY_ENABLED, 1 /* enabled */);
+        mController.updateState(mPreference);
+
+        verify(mPreference).setChecked(true);
+    }
+
+    @Test
+    public void updateState_preferenceShouldNotBeChecked() {
+        Settings.Global.putInt(mContext.getContentResolver(),
+                Settings.Global.ENHANCED_CONNECTIVITY_ENABLED, 0 /* disabled */);
+        mController.updateState(mPreference);
+
+        verify(mPreference).setChecked(false);
+    }
+
+    @Test
+    public void onDeveloperOptionsDisabled_shouldDisablePreference() {
+        mController.onDeveloperOptionsDisabled();
+
+        verify(mPreference).setEnabled(false);
+        verify(mPreference).setChecked(false);
+
+        assertThat(isSettingEnabled()).isFalse();
+    }
+
+    private boolean isSettingEnabled() {
+        return Settings.Global.getInt(mContext.getContentResolver(),
+                Settings.Global.ENHANCED_CONNECTIVITY_ENABLED,
+                EnhancedConnectivityPreferenceController.ENHANCED_CONNECTIVITY_OFF
+                /* default off */)
+                == EnhancedConnectivityPreferenceController.ENHANCED_CONNECTIVITY_ON;
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/development/MockLocationAppPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/MockLocationAppPreferenceControllerTest.java
index 993ba72..504909e 100644
--- a/tests/robotests/src/com/android/settings/development/MockLocationAppPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/MockLocationAppPreferenceControllerTest.java
@@ -1,7 +1,6 @@
 package com.android.settings.development;
 
-import static com.android.settings.development.DevelopmentOptionsActivityRequestCodes
-        .REQUEST_MOCK_LOCATION_APP;
+import static com.android.settings.development.DevelopmentOptionsActivityRequestCodes.REQUEST_MOCK_LOCATION_APP;
 
 import static com.google.common.truth.Truth.assertThat;
 
@@ -144,8 +143,16 @@
         assertThat(mController.handlePreferenceTreeClick(mPreference)).isFalse();
     }
 
+    @Test
+    public void onDeveloperOptionsDisabled_currentMockLocationApp_shouldBeNull() {
+        mController.onDeveloperOptionsDisabled();
+
+        final String appName = mController.getCurrentMockLocationApp();
+
+        assertThat(appName).isNull();
+    }
+
     private AppOpsManager.OpEntry createOpEntry(int opMode) {
-        return new OpEntry(0, false, opMode, null /*accessTimes*/, null /*rejectTimes*/,
-            null /*durations*/, null /* proxyUids */, null /* proxyPackages */);
+        return new OpEntry(0, opMode, Collections.emptyMap());
     }
 }
diff --git a/tests/robotests/src/com/android/settings/development/OemUnlockPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/OemUnlockPreferenceControllerTest.java
index a9c2d79..c762349 100644
--- a/tests/robotests/src/com/android/settings/development/OemUnlockPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/OemUnlockPreferenceControllerTest.java
@@ -32,7 +32,7 @@
 import android.content.Context;
 import android.content.pm.PackageManager;
 import android.content.res.Resources;
-import android.os.Build;
+import android.os.SystemProperties;
 import android.os.UserManager;
 import android.service.oemlock.OemLockManager;
 import android.telephony.TelephonyManager;
@@ -49,12 +49,14 @@
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
-import org.robolectric.annotation.Config;
-import org.robolectric.util.ReflectionHelpers;
 
 @RunWith(RobolectricTestRunner.class)
 public class OemUnlockPreferenceControllerTest {
 
+    private static final String OEM_UNLOCK_SUPPORTED_KEY = "ro.oem_unlock_supported";
+    private static final String UNSUPPORTED = "-9999";
+    private static final String SUPPORTED = "1";
+
     @Mock
     private Context mContext;
     @Mock
@@ -80,6 +82,7 @@
     @Before
     public void setup() {
         MockitoAnnotations.initMocks(this);
+        SystemProperties.set(OEM_UNLOCK_SUPPORTED_KEY, SUPPORTED);
         when(mContext.getPackageManager()).thenReturn(mPackageManager);
         when(mContext.getPackageManager().hasSystemFeature(PackageManager
                     .FEATURE_TELEPHONY_CARRIERLOCK)).thenReturn(true);
@@ -96,20 +99,14 @@
     }
 
     @Test
-    @Config(qualifiers = "mcc999")
-    public void OemUnlockPreferenceController_shouldNotCrashInEmulatorEngBuild() {
-        ReflectionHelpers.setStaticField(Build.class, "IS_EMULATOR", true);
-        ReflectionHelpers.setStaticField(Build.class, "IS_ENG", true);
+    public void OemUnlockPreferenceController_oemUnlockUnsupported_shouldNotCrash() {
+        SystemProperties.set(OEM_UNLOCK_SUPPORTED_KEY, UNSUPPORTED);
 
         new OemUnlockPreferenceController(mContext, mActivity, mFragment);
     }
 
     @Test
-    @Config(qualifiers = "mcc999")
-    public void OemUnlockPreferenceController_shouldNotCrashInOtherBuild() {
-        ReflectionHelpers.setStaticField(Build.class, "IS_EMULATOR", false);
-        ReflectionHelpers.setStaticField(Build.class, "IS_ENG", false);
-
+    public void OemUnlockPreferenceController_oemUnlockSupported_shouldNotCrash() {
         new OemUnlockPreferenceController(mContext, mActivity, mFragment);
     }
 
diff --git a/tests/robotests/src/com/android/settings/development/SelectDSUPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/SelectDSUPreferenceControllerTest.java
new file mode 100644
index 0000000..3fd6f56
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/development/SelectDSUPreferenceControllerTest.java
@@ -0,0 +1,59 @@
+/*
+ * 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.development;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import androidx.fragment.app.FragmentActivity;
+import androidx.preference.SwitchPreference;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.Robolectric;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.Shadows;
+
+@RunWith(RobolectricTestRunner.class)
+public class SelectDSUPreferenceControllerTest {
+
+    @Mock
+    private SwitchPreference mPreference;
+
+    private FragmentActivity mActivity;
+    private SelectDSUPreferenceController mController;
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+        mActivity = Robolectric.buildActivity(FragmentActivity.class).get();
+        mController = new SelectDSUPreferenceController(mActivity);
+        mPreference = new SwitchPreference(mActivity);
+        mPreference.setKey("dsu_loader");
+    }
+
+    @Test
+    public void handlePreferenceTreeClick_shouldLaunchCorrectIntent() {
+        mController.handlePreferenceTreeClick(mPreference);
+
+        assertThat(Shadows.shadowOf(mActivity)
+                .getNextStartedActivityForResult().intent.getComponent().getClassName())
+                .isEqualTo("com.android.settings.development.DSULoader");
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/development/ShowRefreshRatePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/ShowRefreshRatePreferenceControllerTest.java
new file mode 100644
index 0000000..cf6d91e
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/development/ShowRefreshRatePreferenceControllerTest.java
@@ -0,0 +1,129 @@
+/*
+ * 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.development;
+
+import static com.android.settings.development.ShowRefreshRatePreferenceController
+        .SURFACE_FLINGER_CODE;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyBoolean;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.doNothing;
+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.content.Context;
+import android.os.IBinder;
+import android.os.RemoteException;
+
+import androidx.preference.PreferenceScreen;
+import androidx.preference.SwitchPreference;
+
+import com.android.settings.testutils.shadow.ShadowParcel;
+
+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.annotation.Config;
+import org.robolectric.util.ReflectionHelpers;
+
+@RunWith(RobolectricTestRunner.class)
+public class ShowRefreshRatePreferenceControllerTest {
+
+    @Mock
+    private Context mContext;
+    @Mock
+    private PreferenceScreen mScreen;
+    @Mock
+    private SwitchPreference mPreference;
+    @Mock
+    private IBinder mSurfaceFlinger;
+
+    private ShowRefreshRatePreferenceController mController;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mController = spy(new ShowRefreshRatePreferenceController(mContext));
+        ReflectionHelpers.setField(mController, "mSurfaceFlinger", mSurfaceFlinger);
+        doNothing().when(mController).writeShowRefreshRateSetting(anyBoolean());
+        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
+        mController.displayPreference(mScreen);
+    }
+
+    @Test
+    public void onPreferenceChange_settingToggledOn_shouldWriteTrueToShowRefreshRateSetting() {
+        mController.onPreferenceChange(mPreference, true /* new value */);
+
+        verify(mController).writeShowRefreshRateSetting(true);
+    }
+
+    @Test
+    public void onPreferenceChange_settingToggledOff_shouldWriteFalseToShowRefreshRateSetting() {
+        mController.onPreferenceChange(mPreference, false /* new value */);
+
+        verify(mController).writeShowRefreshRateSetting(false);
+    }
+
+    @Test
+    @Config(shadows = ShadowParcel.class)
+    public void updateState_settingEnabled_shouldCheckPreference() throws RemoteException {
+        ShadowParcel.sReadBoolResult = true;
+        doReturn(true).when(mSurfaceFlinger)
+            .transact(eq(SURFACE_FLINGER_CODE), any(), any(), eq(0 /* flags */));
+        mController.updateState(mPreference);
+
+        verify(mPreference).setChecked(true);
+    }
+
+    @Test
+    @Config(shadows = {ShadowParcel.class})
+    public void updateState_settingDisabled_shouldUnCheckPreference() throws RemoteException {
+        ShadowParcel.sReadBoolResult = false;
+        doReturn(true).when(mSurfaceFlinger)
+            .transact(eq(SURFACE_FLINGER_CODE), any(), any(), eq(0 /* flags */));
+        mController.updateState(mPreference);
+
+        verify(mPreference).setChecked(false);
+    }
+
+    @Test
+    public void onDeveloperOptionsSwitchDisabled_preferenceUnchecked_shouldNotTurnOffPreference() {
+        when(mPreference.isChecked()).thenReturn(false);
+        mController.onDeveloperOptionsSwitchDisabled();
+
+        verify(mController, never()).writeShowRefreshRateSetting(anyBoolean());
+        verify(mPreference, never()).setChecked(anyBoolean());
+        verify(mPreference).setEnabled(false);
+    }
+
+    @Test
+    public void onDeveloperOptionsSwitchDisabled_preferenceChecked_shouldTurnOffPreference() {
+        when(mPreference.isChecked()).thenReturn(true);
+        mController.onDeveloperOptionsSwitchDisabled();
+
+        verify(mController).writeShowRefreshRateSetting(false);
+        verify(mPreference).setChecked(false);
+        verify(mPreference).setEnabled(false);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/development/SizeCompatFreeformPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/SizeCompatFreeformPreferenceControllerTest.java
new file mode 100644
index 0000000..7e37b26
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/development/SizeCompatFreeformPreferenceControllerTest.java
@@ -0,0 +1,110 @@
+/*
+ * 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.development;
+
+import static android.provider.Settings.Global.DEVELOPMENT_ENABLE_SIZECOMPAT_FREEFORM;
+
+import static com.android.settings.development.SizeCompatFreeformPreferenceController.SETTING_VALUE_OFF;
+import static com.android.settings.development.SizeCompatFreeformPreferenceController.SETTING_VALUE_ON;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.provider.Settings;
+
+import androidx.preference.PreferenceScreen;
+import androidx.preference.SwitchPreference;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+@RunWith(RobolectricTestRunner.class)
+public class SizeCompatFreeformPreferenceControllerTest {
+
+    @Mock
+    private SwitchPreference mPreference;
+    @Mock
+    private PreferenceScreen mScreen;
+
+    private Context mContext;
+    private SizeCompatFreeformPreferenceController mController;
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+        mContext = RuntimeEnvironment.application;
+        mController = new SizeCompatFreeformPreferenceController(mContext);
+        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
+        mController.displayPreference(mScreen);
+    }
+
+    @Test
+    public void onPreferenceChange_switchEnabled_shouldEnableSizeCompatFreeform() {
+        mController.onPreferenceChange(mPreference, true /* new value */);
+
+        final int mode = Settings.Global.getInt(mContext.getContentResolver(),
+                DEVELOPMENT_ENABLE_SIZECOMPAT_FREEFORM, -1 /* default */);
+        assertThat(mode).isEqualTo(SETTING_VALUE_ON);
+    }
+
+    @Test
+    public void onPreferenceChange_switchDisabled_shouldDisableSizeCompatFreeform() {
+        mController.onPreferenceChange(mPreference, false /* new value */);
+
+        final int mode = Settings.Global.getInt(mContext.getContentResolver(),
+                DEVELOPMENT_ENABLE_SIZECOMPAT_FREEFORM, -1 /* default */);
+        assertThat(mode).isEqualTo(SETTING_VALUE_OFF);
+    }
+
+    @Test
+    public void updateState_settingEnabled_preferenceShouldBeChecked() {
+        Settings.Global.putInt(mContext.getContentResolver(),
+                DEVELOPMENT_ENABLE_SIZECOMPAT_FREEFORM, SETTING_VALUE_ON);
+
+        mController.updateState(mPreference);
+
+        verify(mPreference).setChecked(true);
+    }
+
+    @Test
+    public void updateState_settingDisabled_preferenceShouldNotBeChecked() {
+        Settings.Global.putInt(mContext.getContentResolver(),
+                DEVELOPMENT_ENABLE_SIZECOMPAT_FREEFORM, SETTING_VALUE_OFF);
+
+        mController.updateState(mPreference);
+
+        verify(mPreference).setChecked(false);
+    }
+
+    @Test
+    public void onDeveloperOptionsSwitchDisabled_shouldDisablePreference() {
+        mController.onDeveloperOptionsSwitchDisabled();
+
+        final int mode = Settings.Global.getInt(mContext.getContentResolver(),
+                DEVELOPMENT_ENABLE_SIZECOMPAT_FREEFORM, -1 /* default */);
+        assertThat(mode).isEqualTo(SETTING_VALUE_OFF);
+        verify(mPreference).setEnabled(false);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/development/VerifyAppsOverUsbPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/VerifyAppsOverUsbPreferenceControllerTest.java
index f0961f1..87b9126 100644
--- a/tests/robotests/src/com/android/settings/development/VerifyAppsOverUsbPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/VerifyAppsOverUsbPreferenceControllerTest.java
@@ -130,17 +130,6 @@
     }
 
     @Test
-    public void updateState_verifierOff_preferenceShouldNotBeChecked() {
-        setupVerifyBroadcastReceivers(true);
-        setupEnforcedAdmin(null);
-        mGlobals.set(Global.ADB_ENABLED, 1 /* setting enabled */)
-                .set(Global.PACKAGE_VERIFIER_INCLUDE_ADB, 1 /* setting enabled */)
-                .set(Global.PACKAGE_VERIFIER_ENABLE, 0 /* setting disabled */);
-        mController.updateState(mPreference);
-        verify(mPreference).setChecked(false);
-    }
-
-    @Test
     public void updateState_noBroadcastReceivers_preferenceShouldNotBeChecked() {
         setupVerifyBroadcastReceivers(false);
         setupEnforcedAdmin(null);
@@ -196,4 +185,4 @@
 
         assertThat(mode).isEqualTo(VerifyAppsOverUsbPreferenceController.SETTING_VALUE_OFF);
     }
-}
\ No newline at end of file
+}
diff --git a/tests/robotests/src/com/android/settings/development/WifiScanThrottlingPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/WifiScanThrottlingPreferenceControllerTest.java
index 605bd0d..787bd1d 100644
--- a/tests/robotests/src/com/android/settings/development/WifiScanThrottlingPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/WifiScanThrottlingPreferenceControllerTest.java
@@ -16,16 +16,11 @@
 
 package com.android.settings.development;
 
-import static com.android.settings.development.WifiScanThrottlingPreferenceController.SETTING_THROTTLING_ENABLE_VALUE_OFF;
-import static com.android.settings.development.WifiScanThrottlingPreferenceController.SETTING_THROTTLING_ENABLE_VALUE_ON;
-
-import static com.google.common.truth.Truth.assertThat;
-
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
 import android.content.Context;
-import android.provider.Settings;
+import android.net.wifi.WifiManager;
 
 import androidx.preference.PreferenceScreen;
 import androidx.preference.SwitchPreference;
@@ -36,7 +31,6 @@
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
 
 @RunWith(RobolectricTestRunner.class)
 public class WifiScanThrottlingPreferenceControllerTest {
@@ -45,14 +39,16 @@
     private SwitchPreference mPreference;
     @Mock
     private PreferenceScreen mPreferenceScreen;
-
+    @Mock
     private Context mContext;
+    @Mock
+    private WifiManager mWifiManager;
     private WifiScanThrottlingPreferenceController mController;
 
     @Before
     public void setup() {
         MockitoAnnotations.initMocks(this);
-        mContext = RuntimeEnvironment.application;
+        when(mContext.getSystemService(WifiManager.class)).thenReturn(mWifiManager);
         mController = new WifiScanThrottlingPreferenceController(mContext);
         when(mPreferenceScreen.findPreference(mController.getPreferenceKey()))
                 .thenReturn(mPreference);
@@ -63,27 +59,19 @@
     public void onPreferenceChanged_turnOnScanThrottling() {
         mController.onPreferenceChange(mPreference, true /* new value */);
 
-        final int mode = Settings.Global.getInt(mContext.getContentResolver(),
-                Settings.Global.WIFI_SCAN_THROTTLE_ENABLED, 1 /* default */);
-
-        assertThat(mode).isEqualTo(SETTING_THROTTLING_ENABLE_VALUE_ON);
+        verify(mWifiManager).setScanThrottleEnabled(true);
     }
 
     @Test
     public void onPreferenceChanged_turnOffScanThrottling() {
         mController.onPreferenceChange(mPreference, false /* new value */);
 
-        final int mode = Settings.Global.getInt(mContext.getContentResolver(),
-                Settings.Global.WIFI_SCAN_THROTTLE_ENABLED, 1 /* default */);
-
-        assertThat(mode).isEqualTo(SETTING_THROTTLING_ENABLE_VALUE_OFF);
+        verify(mWifiManager).setScanThrottleEnabled(false);
     }
 
     @Test
     public void updateState_preferenceShouldBeChecked() {
-        Settings.Global.putInt(mContext.getContentResolver(),
-                Settings.Global.WIFI_SCAN_THROTTLE_ENABLED,
-                SETTING_THROTTLING_ENABLE_VALUE_ON);
+        when(mWifiManager.isScanThrottleEnabled()).thenReturn(true);
         mController.updateState(mPreference);
 
         verify(mPreference).setChecked(true);
@@ -91,9 +79,7 @@
 
     @Test
     public void updateState_preferenceShouldNotBeChecked() {
-        Settings.Global.putInt(mContext.getContentResolver(),
-                Settings.Global.WIFI_SCAN_THROTTLE_ENABLED,
-                SETTING_THROTTLING_ENABLE_VALUE_OFF);
+        when(mWifiManager.isScanThrottleEnabled()).thenReturn(false);
         mController.updateState(mPreference);
 
         verify(mPreference).setChecked(false);
@@ -102,10 +88,7 @@
     @Test
     public void onDeveloperOptionsDisabled_shouldDisablePreference() {
         mController.onDeveloperOptionsDisabled();
-        final int mode = Settings.Global.getInt(mContext.getContentResolver(),
-                Settings.Global.WIFI_SCAN_THROTTLE_ENABLED, 1 /* default */);
-
-        assertThat(mode).isEqualTo(SETTING_THROTTLING_ENABLE_VALUE_ON);
+        verify(mWifiManager).setScanThrottleEnabled(true);
         verify(mPreference).setEnabled(false);
         verify(mPreference).setChecked(true);
     }
diff --git a/tests/robotests/src/com/android/settings/development/WifiVerboseLoggingPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/WifiVerboseLoggingPreferenceControllerTest.java
index c4041e0..fec8e0c 100644
--- a/tests/robotests/src/com/android/settings/development/WifiVerboseLoggingPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/WifiVerboseLoggingPreferenceControllerTest.java
@@ -59,21 +59,19 @@
     public void onPreferenceChange_settingEnabled_shouldEnableVerboseLogging() {
         mController.onPreferenceChange(mPreference, true /* new value */);
 
-        verify(mWifiManager).enableVerboseLogging(
-                WifiVerboseLoggingPreferenceController.SETTING_VALUE_ON);
+        verify(mWifiManager).setVerboseLoggingEnabled(true);
     }
 
     @Test
     public void onPreferenceChange_settingDisabled_shouldDisablVerboseLogging() {
         mController.onPreferenceChange(mPreference, false /* new value */);
 
-        verify(mWifiManager).enableVerboseLogging(
-                WifiVerboseLoggingPreferenceController.SETTING_VALUE_OFF);
+        verify(mWifiManager).setVerboseLoggingEnabled(false);
     }
 
     @Test
     public void updateState_settingEnabled_shouldEnablePreference() {
-        when(mWifiManager.getVerboseLoggingLevel()).thenReturn(1);
+        when(mWifiManager.isVerboseLoggingEnabled()).thenReturn(true);
         mController.updateState(mPreference);
 
         verify(mPreference).setChecked(true);
@@ -81,7 +79,7 @@
 
     @Test
     public void updateState_settingDisabled_shouldDisablePreference() {
-        when(mWifiManager.getVerboseLoggingLevel()).thenReturn(0);
+        when(mWifiManager.isVerboseLoggingEnabled()).thenReturn(false);
         mController.updateState(mPreference);
 
         verify(mPreference).setChecked(false);
@@ -91,8 +89,7 @@
     public void onDeveloperOptionsSwitchDisabled_shouldDisablePreference() {
         mController.onDeveloperOptionsSwitchDisabled();
 
-        verify(mWifiManager)
-            .enableVerboseLogging(WifiVerboseLoggingPreferenceController.SETTING_VALUE_OFF);
+        verify(mWifiManager).setVerboseLoggingEnabled(false);
         verify(mPreference).setEnabled(false);
         verify(mPreference).setChecked(false);
     }
diff --git a/tests/robotests/src/com/android/settings/development/WirelessDebuggingEnablerTest.java b/tests/robotests/src/com/android/settings/development/WirelessDebuggingEnablerTest.java
new file mode 100644
index 0000000..56e898f
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/development/WirelessDebuggingEnablerTest.java
@@ -0,0 +1,153 @@
+/*
+ * 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.development;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+
+import android.content.Context;
+import android.database.ContentObserver;
+import android.provider.Settings.Global;
+
+import androidx.lifecycle.LifecycleOwner;
+
+import com.android.settings.testutils.shadow.ShadowUtils;
+import com.android.settings.widget.SwitchBar;
+import com.android.settings.widget.SwitchBarController;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+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 org.robolectric.annotation.Config;
+import org.robolectric.util.ReflectionHelpers;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(shadows = ShadowUtils.class)
+public class WirelessDebuggingEnablerTest {
+
+    @Mock
+    private SwitchBar mSwitchBar;
+    @Mock
+    private WirelessDebuggingEnabler.OnEnabledListener mListener;
+
+    private WirelessDebuggingEnabler mWirelessDebuggingEnabler;
+    private Context mContext;
+    private LifecycleOwner mLifecycleOwner;
+    private Lifecycle mLifecycle;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mContext = RuntimeEnvironment.application;
+        mLifecycleOwner = () -> mLifecycle;
+        mLifecycle = new Lifecycle(mLifecycleOwner);
+        mWirelessDebuggingEnabler = spy(new WirelessDebuggingEnabler(
+                mContext, new SwitchBarController(mSwitchBar), mListener, mLifecycle));
+    }
+
+    @Test
+    public void onCreation_shouldShowSwitchBar() {
+        verify(mSwitchBar).show();
+    }
+
+    @Test
+    public void teardownSwitchController_shouldHideSwitchBar() {
+        mWirelessDebuggingEnabler.teardownSwitchController();
+
+        verify(mSwitchBar).hide();
+    }
+
+    @Test
+    public void adbWifiEnabled_switchBarShouldBeChecked() {
+        // Set to disabled first otherwise we won't get the onChange() event
+        Global.putInt(mContext.getContentResolver(),
+                Global.ADB_WIFI_ENABLED, 0 /* setting disabled */);
+        mWirelessDebuggingEnabler.onResume();
+
+        verify(mSwitchBar).setChecked(false);
+        verify(mListener).onEnabled(false);
+
+        Global.putInt(mContext.getContentResolver(),
+                Global.ADB_WIFI_ENABLED, 1 /* setting enabled */);
+        final ContentObserver observer =
+                ReflectionHelpers.getField(mWirelessDebuggingEnabler, "mSettingsObserver");
+        observer.onChange(true, Global.getUriFor(Global.ADB_WIFI_ENABLED));
+
+        verify(mSwitchBar).setChecked(true);
+        // Should also get a callback
+        verify(mListener).onEnabled(true);
+    }
+
+    @Test
+    public void adbWifiEnabled_switchBarShouldNotBeChecked() {
+        Global.putInt(mContext.getContentResolver(),
+                Global.ADB_WIFI_ENABLED, 1 /* setting enabled */);
+        mWirelessDebuggingEnabler.onResume();
+
+        verify(mSwitchBar).setChecked(true);
+        verify(mListener).onEnabled(true);
+
+        Global.putInt(mContext.getContentResolver(),
+                Global.ADB_WIFI_ENABLED, 0 /* setting disabled */);
+        final ContentObserver observer =
+                ReflectionHelpers.getField(mWirelessDebuggingEnabler, "mSettingsObserver");
+        observer.onChange(true, Global.getUriFor(Global.ADB_WIFI_ENABLED));
+
+        verify(mSwitchBar).setChecked(false);
+        // Should also get a callback
+        verify(mListener).onEnabled(false);
+    }
+
+    @Test
+    public void onSwitchToggled_true_shouldSetAdbWifiEnabledTrue() {
+        Global.putInt(mContext.getContentResolver(),
+                Global.ADB_WIFI_ENABLED, 0 /* setting disabled */);
+        mWirelessDebuggingEnabler.onResume();
+
+        verify(mSwitchBar).setChecked(false);
+        verify(mListener).onEnabled(false);
+
+        mWirelessDebuggingEnabler.onSwitchToggled(true);
+
+        assertThat(Global.getInt(mContext.getContentResolver(),
+                Global.ADB_WIFI_ENABLED, -1)).isEqualTo(1);
+        // Should also get a callback
+    }
+
+    @Test
+    public void onSwitchToggled_false_shouldSetAdbWifiEnabledFalse() {
+        Global.putInt(mContext.getContentResolver(),
+                Global.ADB_WIFI_ENABLED, 1 /* setting disabled */);
+        mWirelessDebuggingEnabler.onResume();
+
+        verify(mSwitchBar).setChecked(true);
+        verify(mListener).onEnabled(true);
+
+        mWirelessDebuggingEnabler.onSwitchToggled(false);
+
+        assertThat(Global.getInt(mContext.getContentResolver(),
+            Global.ADB_WIFI_ENABLED, -1)).isEqualTo(0);
+        // Should also get a callback
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/development/WirelessDebuggingPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/WirelessDebuggingPreferenceControllerTest.java
new file mode 100644
index 0000000..f755ec4
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/development/WirelessDebuggingPreferenceControllerTest.java
@@ -0,0 +1,120 @@
+/*
+ * 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.development;
+
+import static com.google.common.truth.Truth.assertThat;
+
+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.debug.IAdbManager;
+import android.os.RemoteException;
+import android.provider.Settings.Global;
+
+import androidx.lifecycle.LifecycleOwner;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.testutils.shadow.ShadowUtils;
+import com.android.settings.widget.MasterSwitchPreference;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+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 org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
+import org.robolectric.util.ReflectionHelpers;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(shadows = ShadowUtils.class)
+public class WirelessDebuggingPreferenceControllerTest {
+
+    @Mock
+    private PreferenceScreen mScreen;
+    @Mock
+    private MasterSwitchPreference mPreference;
+    @Mock
+    private IAdbManager mAdbManager;
+    @Mock
+    private DevelopmentSettingsDashboardFragment mFragment;
+
+    private WirelessDebuggingPreferenceController mController;
+    private LifecycleOwner mLifecycleOwner;
+    private Lifecycle mLifecycle;
+    private Context mContext;
+    private ContentResolver mContentResolver;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mContext = RuntimeEnvironment.application;
+        mContentResolver = mContext.getContentResolver();
+        mLifecycleOwner = () -> mLifecycle;
+        mLifecycle = new Lifecycle(mLifecycleOwner);
+        mController = spy(new WirelessDebuggingPreferenceController(mContext, mLifecycle));
+        ReflectionHelpers.setField(mController, "mAdbManager", mAdbManager);
+        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
+    }
+
+    @After
+    public void tearDown() {
+    }
+
+    @Test
+    public void isAvailable_isAdbWifiSupported_yes_shouldBeTrue() throws RemoteException {
+        when(mAdbManager.isAdbWifiSupported()).thenReturn(true);
+        assertThat(mController.isAvailable()).isTrue();
+    }
+
+    @Test
+    public void isAvailable_isAdbWifiSupported_shouldBeFalse() throws RemoteException {
+        when(mAdbManager.isAdbWifiSupported()).thenReturn(false);
+        assertThat(mController.isAvailable()).isFalse();
+    }
+
+    @Test
+    public void updateState_adbWifiEnabled_preferenceShouldBeChecked() {
+        Global.putInt(mContentResolver,
+                Global.ADB_WIFI_ENABLED, 1 /* setting enabled */);
+        mController.updateState(mPreference);
+
+        verify(mPreference).setChecked(true);
+    }
+
+    @Test
+    public void updateState_adbWifiDisabled_preferenceShouldNotBeChecked() {
+        Global.putInt(mContentResolver,
+                Global.ADB_WIFI_ENABLED, 0 /* setting disabled */);
+        mController.updateState(mPreference);
+
+        verify(mPreference).setChecked(false);
+    }
+
+    @Test
+    public void onPreferenceChange_turnOn_adbWifiEnabledTrue() {
+        mController.onPreferenceChange(null, true);
+
+        assertThat(Global.getInt(mContentResolver, Global.ADB_WIFI_ENABLED, -1)).isEqualTo(1);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/development/bluetooth/AbstractBluetoothDialogPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/bluetooth/AbstractBluetoothDialogPreferenceControllerTest.java
new file mode 100644
index 0000000..afb1778
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/development/bluetooth/AbstractBluetoothDialogPreferenceControllerTest.java
@@ -0,0 +1,247 @@
+/*
+ * 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.development.bluetooth;
+
+import static com.google.common.truth.Truth.assertThat;
+
+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.bluetooth.BluetoothA2dp;
+import android.bluetooth.BluetoothAdapter;
+import android.bluetooth.BluetoothCodecConfig;
+import android.bluetooth.BluetoothCodecStatus;
+import android.bluetooth.BluetoothDevice;
+import android.content.Context;
+
+import androidx.lifecycle.LifecycleOwner;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.development.BluetoothA2dpConfigStore;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+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 AbstractBluetoothDialogPreferenceControllerTest {
+
+    private static final String SUMMARY = "Test summary";
+    private static final String DEVICE_ADDRESS = "00:11:22:33:44:55";
+
+    @Mock
+    private BluetoothA2dp mBluetoothA2dp;
+    @Mock
+    private PreferenceScreen mScreen;
+
+    private AbstractBluetoothDialogPreferenceController mController;
+    private BaseBluetoothDialogPreferenceImpl mPreference;
+    private BluetoothA2dpConfigStore mBluetoothA2dpConfigStore;
+    private BluetoothCodecStatus mCodecStatus;
+    private BluetoothCodecConfig mCodecConfigAAC;
+    private BluetoothCodecConfig mCodecConfigSBC;
+    private BluetoothCodecConfig[] mCodecConfigs = new BluetoothCodecConfig[2];
+    private BluetoothDevice mActiveDevice;
+    private Context mContext;
+    private int mCurrentConfig;
+    private LifecycleOwner mLifecycleOwner;
+    private Lifecycle mLifecycle;
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+        mContext = RuntimeEnvironment.application;
+        mLifecycleOwner = () -> mLifecycle;
+        mLifecycle = new Lifecycle(mLifecycleOwner);
+        mBluetoothA2dpConfigStore = spy(new BluetoothA2dpConfigStore());
+        mActiveDevice = BluetoothAdapter.getDefaultAdapter().getRemoteDevice(DEVICE_ADDRESS);
+        mController = spy(new AbstractBluetoothDialogPreferenceControllerImpl(mContext, mLifecycle,
+                mBluetoothA2dpConfigStore));
+        mPreference = spy(new BaseBluetoothDialogPreferenceImpl(mContext));
+
+        mCodecConfigAAC = new BluetoothCodecConfig(BluetoothCodecConfig.SOURCE_CODEC_TYPE_AAC);
+        mCodecConfigSBC = new BluetoothCodecConfig(BluetoothCodecConfig.SOURCE_CODEC_TYPE_SBC);
+        mCodecConfigs[0] = mCodecConfigAAC;
+        mCodecConfigs[1] = mCodecConfigSBC;
+
+        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
+        mController.displayPreference(mScreen);
+        mCurrentConfig = mController.getCurrentConfigIndex();
+        when(mPreference.generateSummary(mCurrentConfig)).thenReturn(SUMMARY);
+        when(mBluetoothA2dp.getActiveDevice()).thenReturn(mActiveDevice);
+    }
+
+    @Test
+    public void getSummary_generateSummary() {
+        assertThat(mController.getSummary()).isEqualTo(SUMMARY);
+    }
+    @Test
+    public void onIndexUpdated_A2dpNotReady() {
+        mController.onIndexUpdated(mController.getCurrentConfigIndex());
+
+        verify(mController, never()).writeConfigurationValues(mCurrentConfig);
+    }
+
+    @Test
+    public void onIndexUpdated_checkFlow() {
+        mCodecStatus = new BluetoothCodecStatus(mCodecConfigAAC, null, null);
+        when(mBluetoothA2dp.getCodecStatus(
+            mActiveDevice)).thenReturn(mCodecStatus);
+        when(mBluetoothA2dpConfigStore.createCodecConfig()).thenReturn(mCodecConfigAAC);
+        mController.onBluetoothServiceConnected(mBluetoothA2dp);
+        mController.onIndexUpdated(mCurrentConfig);
+
+        verify(mController).writeConfigurationValues(mCurrentConfig);
+        verify(mBluetoothA2dp).setCodecConfigPreference(
+                mActiveDevice, mCodecConfigAAC);
+        assertThat(mPreference.getSummary()).isEqualTo(SUMMARY);
+    }
+
+    @Test
+    public void getCurrentConfigIndex_noCodecConfig_returnDefaultIndex() {
+        when(mController.getCurrentCodecConfig()).thenReturn(null);
+
+        assertThat(mController.getCurrentConfigIndex()).isEqualTo(mPreference.getDefaultIndex());
+    }
+
+    @Test
+    public void getCurrentConfigIndex_returnCurrentIndex() {
+        when(mController.getCurrentCodecConfig()).thenReturn(mCodecConfigAAC);
+        mController.getCurrentConfigIndex();
+
+        verify(mController).getCurrentIndexByConfig(mCodecConfigAAC);
+    }
+
+    @Test
+    public void getCurrentCodecConfig_errorChecking() {
+        mController.onBluetoothServiceConnected(null);
+        assertThat(mController.getCurrentCodecConfig()).isNull();
+
+        mController.onBluetoothServiceConnected(mBluetoothA2dp);
+        when(mBluetoothA2dp.getCodecStatus(mActiveDevice)).thenReturn(null);
+        assertThat(mController.getCurrentCodecConfig()).isNull();
+    }
+
+    @Test
+    public void getCurrentCodecConfig_verifyConfig() {
+        mCodecStatus = new BluetoothCodecStatus(mCodecConfigAAC, null, null);
+        when(mBluetoothA2dp.getCodecStatus(
+            mActiveDevice)).thenReturn(mCodecStatus);
+        mController.onBluetoothServiceConnected(mBluetoothA2dp);
+
+        assertThat(mController.getCurrentCodecConfig()).isEqualTo(mCodecConfigAAC);
+    }
+
+    @Test
+    public void getSelectableConfigs_verifyConfig() {
+        mCodecStatus = new BluetoothCodecStatus(mCodecConfigAAC, null, mCodecConfigs);
+        when(mBluetoothA2dp.getCodecStatus(
+            mActiveDevice)).thenReturn(mCodecStatus);
+        mController.onBluetoothServiceConnected(mBluetoothA2dp);
+
+        assertThat(mController.getSelectableConfigs(null)).isEqualTo(mCodecConfigs);
+    }
+
+    @Test
+    public void getSelectableByCodecType_verifyConfig() {
+        mCodecStatus = new BluetoothCodecStatus(mCodecConfigAAC, null, mCodecConfigs);
+        when(mBluetoothA2dp.getCodecStatus(
+            mActiveDevice)).thenReturn(mCodecStatus);
+        mController.onBluetoothServiceConnected(mBluetoothA2dp);
+
+        assertThat(mController.getSelectableByCodecType(BluetoothCodecConfig.SOURCE_CODEC_TYPE_AAC))
+                .isEqualTo(mCodecConfigAAC);
+    }
+
+    @Test
+    public void getSelectableByCodecType_unavailable() {
+        mCodecStatus = new BluetoothCodecStatus(mCodecConfigAAC, null, mCodecConfigs);
+        when(mBluetoothA2dp.getCodecStatus(
+            mActiveDevice)).thenReturn(mCodecStatus);
+        mController.onBluetoothServiceConnected(mBluetoothA2dp);
+
+        assertThat(mController.getSelectableByCodecType(
+                BluetoothCodecConfig.SOURCE_CODEC_TYPE_APTX)).isNull();
+    }
+
+    @Test
+    public void onBluetoothServiceConnected_verifyBluetoothA2dpConfigStore() {
+        mCodecStatus = new BluetoothCodecStatus(mCodecConfigAAC, null, mCodecConfigs);
+        when(mBluetoothA2dp.getCodecStatus(
+            mActiveDevice)).thenReturn(mCodecStatus);
+        mController.onBluetoothServiceConnected(mBluetoothA2dp);
+
+        verify(mBluetoothA2dpConfigStore).setCodecType(mCodecConfigAAC.getCodecType());
+        verify(mBluetoothA2dpConfigStore).setSampleRate(mCodecConfigAAC.getSampleRate());
+        verify(mBluetoothA2dpConfigStore).setBitsPerSample(mCodecConfigAAC.getBitsPerSample());
+        verify(mBluetoothA2dpConfigStore).setChannelMode(mCodecConfigAAC.getChannelMode());
+        verify(mBluetoothA2dpConfigStore).setCodecPriority(mCodecConfigAAC.getCodecPriority());
+        verify(mBluetoothA2dpConfigStore).setCodecSpecific1Value(
+                mCodecConfigAAC.getCodecSpecific1());
+    }
+
+    private static class AbstractBluetoothDialogPreferenceControllerImpl extends
+            AbstractBluetoothDialogPreferenceController {
+
+        private AbstractBluetoothDialogPreferenceControllerImpl(Context context,
+                Lifecycle lifecycle, BluetoothA2dpConfigStore store) {
+            super(context, lifecycle, store);
+        }
+
+        @Override
+        public String getPreferenceKey() {
+            return "KEY";
+        }
+
+        @Override
+        protected void writeConfigurationValues(int newValue) {
+        }
+
+        @Override
+        protected int getCurrentIndexByConfig(BluetoothCodecConfig config) {
+            return 0;
+        }
+
+        @Override
+        public List<Integer> getSelectableIndex() {
+            return new ArrayList<>();
+        }
+    }
+
+    private static class BaseBluetoothDialogPreferenceImpl extends BaseBluetoothDialogPreference {
+
+        private BaseBluetoothDialogPreferenceImpl(Context context) {
+            super(context);
+            mSummaryStrings.add(SUMMARY);
+        }
+
+        @Override
+        protected int getRadioButtonGroupId() {
+            return 0;
+        }
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/development/bluetooth/AbstractBluetoothPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/bluetooth/AbstractBluetoothPreferenceControllerTest.java
new file mode 100644
index 0000000..6e231c7
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/development/bluetooth/AbstractBluetoothPreferenceControllerTest.java
@@ -0,0 +1,112 @@
+/*
+ * 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.development.bluetooth;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.any;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+
+import android.bluetooth.BluetoothA2dp;
+import android.content.Context;
+
+import androidx.lifecycle.LifecycleOwner;
+
+import com.android.settings.development.BluetoothA2dpConfigStore;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+@RunWith(RobolectricTestRunner.class)
+public class AbstractBluetoothPreferenceControllerTest {
+
+    @Mock
+    private BluetoothA2dpConfigStore mBluetoothA2dpConfigStore;
+    @Mock
+    private BluetoothA2dp mBluetoothA2dp;
+
+    private LifecycleOwner mLifecycleOwner;
+    private Lifecycle mLifecycle;
+    private Context mContext;
+    private AbstractBluetoothPreferenceController mController;
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+        mContext = RuntimeEnvironment.application;
+        mLifecycleOwner = () -> mLifecycle;
+        mLifecycle = new Lifecycle(mLifecycleOwner);
+        mController = spy(new AbstractBluetoothPreferenceControllerImpl(mContext, mLifecycle,
+                mBluetoothA2dpConfigStore));
+    }
+
+    @Test
+    public void onBluetoothServiceConnected_checkProfile() {
+        assertThat(mController.mBluetoothA2dp).isNull();
+        mController.onBluetoothServiceConnected(mBluetoothA2dp);
+        assertThat(mController.mBluetoothA2dp).isEqualTo(mBluetoothA2dp);
+    }
+
+    @Test
+    public void onBluetoothServiceConnected_updateState() {
+        mController.onBluetoothServiceConnected(mBluetoothA2dp);
+        verify(mController).updateState(any());
+    }
+
+    @Test
+    public void onBluetoothCodecUpdated_updateState() {
+        mController.onBluetoothCodecUpdated();
+        verify(mController).updateState(any());
+    }
+
+    @Test
+    public void onBluetoothServiceDisconnected_clearA2dpProfile() {
+        mController.onBluetoothServiceConnected(mBluetoothA2dp);
+        assertThat(mController.mBluetoothA2dp).isEqualTo(mBluetoothA2dp);
+        mController.onBluetoothServiceDisconnected();
+        assertThat(mController.mBluetoothA2dp).isNull();
+    }
+
+    @Test
+    public void onDestroy_clearA2dpProfile() {
+        mController.onBluetoothServiceConnected(mBluetoothA2dp);
+        assertThat(mController.mBluetoothA2dp).isEqualTo(mBluetoothA2dp);
+        mController.onDestroy();
+        assertThat(mController.mBluetoothA2dp).isNull();
+    }
+
+    private static class AbstractBluetoothPreferenceControllerImpl extends
+            AbstractBluetoothPreferenceController {
+
+        private AbstractBluetoothPreferenceControllerImpl(Context context, Lifecycle lifecycle,
+                BluetoothA2dpConfigStore store) {
+            super(context, lifecycle, store);
+        }
+
+        @Override
+        public String getPreferenceKey() {
+            return null;
+        }
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/development/bluetooth/BaseBluetoothDialogPreferenceTest.java b/tests/robotests/src/com/android/settings/development/bluetooth/BaseBluetoothDialogPreferenceTest.java
new file mode 100644
index 0000000..8a34930
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/development/bluetooth/BaseBluetoothDialogPreferenceTest.java
@@ -0,0 +1,189 @@
+/*
+ * 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.development.bluetooth;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.Dialog;
+import android.content.Context;
+import android.view.View;
+import android.widget.RadioButton;
+import android.widget.RadioGroup;
+import android.widget.TextView;
+
+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 org.robolectric.RuntimeEnvironment;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@RunWith(RobolectricTestRunner.class)
+public class BaseBluetoothDialogPreferenceTest {
+
+    private static final int ID1 = 99;
+    private static final int ID2 = 100;
+    private static final int RADIOGROUP_ID = 101;
+    private static final int TEXT_VIEW_ID = R.id.bluetooth_audio_codec_help_info;
+    private static final String BUTTON1 = "Test button1";
+    private static final String BUTTON2 = "Test button2";
+    private static final String SUMMARY1 = "Test summary1";
+    private static final String SUMMARY2 = "Test summary2";
+
+    @Mock
+    private BaseBluetoothDialogPreference.Callback mCallback;
+    @Mock
+    private Dialog mDialog;
+    @Mock
+    private View mView;
+
+    private BaseBluetoothDialogPreference mPreference;
+    private Context mContext;
+    private RadioButton mRadioButton1;
+    private RadioButton mRadioButton2;
+    private RadioGroup mRadioGroup;
+    private TextView mTextView;
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+        mContext = RuntimeEnvironment.application;
+        mPreference = spy(new BaseBluetoothDialogPreferenceImpl(mContext));
+        mRadioButton1 = new RadioButton(mContext);
+        mRadioButton1.setId(ID1);
+        mRadioButton2 = new RadioButton(mContext);
+        mRadioButton2.setId(ID2);
+        mRadioGroup = new RadioGroup(mContext);
+        mRadioGroup.addView(mRadioButton1);
+        mRadioGroup.addView(mRadioButton2);
+        mTextView = new TextView(mContext);
+        mPreference.mRadioButtonIds.add(ID1);
+        mPreference.mRadioButtonIds.add(ID2);
+        mPreference.mRadioButtonStrings.add(BUTTON1);
+        mPreference.mRadioButtonStrings.add(BUTTON2);
+        mPreference.mSummaryStrings.add(SUMMARY1);
+        mPreference.mSummaryStrings.add(SUMMARY2);
+        mPreference.setCallback(mCallback);
+        when(mView.findViewById(mPreference.getRadioButtonGroupId())).thenReturn(mRadioGroup);
+    }
+
+    @Test
+    public void onBindDialogView_checkRadioButtonsSelection() {
+        when(mCallback.getCurrentConfigIndex()).thenReturn(1);
+
+        assertThat(mRadioGroup.getCheckedRadioButtonId()).isNotEqualTo(ID2);
+        mPreference.onBindDialogView(mView);
+
+        assertThat(mRadioGroup.getCheckedRadioButtonId()).isEqualTo(ID2);
+    }
+
+    @Test
+    public void onBindDialogView_checkRadioButtonsText() {
+        when(mView.findViewById(ID1)).thenReturn(mRadioButton1);
+        when(mView.findViewById(ID2)).thenReturn(mRadioButton2);
+
+        assertThat(mRadioButton1.getText()).isNotEqualTo(BUTTON1);
+        assertThat(mRadioButton2.getText()).isNotEqualTo(BUTTON2);
+        mPreference.onBindDialogView(mView);
+
+        assertThat(mRadioButton1.getText()).isEqualTo(BUTTON1);
+        assertThat(mRadioButton2.getText()).isEqualTo(BUTTON2);
+    }
+
+    @Test
+    public void onBindDialogView_checkRadioButtonsState() {
+        when(mView.findViewById(ID1)).thenReturn(mRadioButton1);
+        when(mView.findViewById(ID2)).thenReturn(mRadioButton2);
+        List<Integer> indexes = new ArrayList<>();
+        indexes.add(0);
+        when(mCallback.getSelectableIndex()).thenReturn(indexes);
+
+        assertThat(mRadioButton1.isEnabled()).isTrue();
+        assertThat(mRadioButton2.isEnabled()).isTrue();
+        mPreference.onBindDialogView(mView);
+
+        assertThat(mRadioButton1.isEnabled()).isTrue();
+        assertThat(mRadioButton2.isEnabled()).isFalse();
+    }
+
+    @Test
+    public void onBindDialogView_allButtonsEnabled_hideHelpText() {
+        when(mView.findViewById(ID1)).thenReturn(mRadioButton1);
+        when(mView.findViewById(ID2)).thenReturn(mRadioButton2);
+        when(mView.findViewById(TEXT_VIEW_ID)).thenReturn(mTextView);
+        List<Integer> indexes = new ArrayList<>();
+        indexes.add(0);
+        indexes.add(1);
+        when(mCallback.getSelectableIndex()).thenReturn(indexes);
+
+        assertThat(mTextView.getVisibility()).isEqualTo(View.VISIBLE);
+        mPreference.onBindDialogView(mView);
+        assertThat(mTextView.getVisibility()).isEqualTo(View.GONE);
+    }
+
+    @Test
+    public void onBindDialogView_buttonDisabled_showHelpText() {
+        when(mView.findViewById(ID1)).thenReturn(mRadioButton1);
+        when(mView.findViewById(ID2)).thenReturn(mRadioButton2);
+        when(mView.findViewById(TEXT_VIEW_ID)).thenReturn(mTextView);
+        List<Integer> indexes = new ArrayList<>();
+        indexes.add(0);
+        when(mCallback.getSelectableIndex()).thenReturn(indexes);
+
+        mPreference.onBindDialogView(mView);
+        assertThat(mTextView.getVisibility()).isEqualTo(View.VISIBLE);
+    }
+
+    @Test
+    public void onCheckedChanged_verifyIndex() {
+        when(mPreference.getDialog()).thenReturn(mDialog);
+
+        mPreference.onCheckedChanged(mRadioGroup, ID2);
+        verify(mCallback).onIndexUpdated(1);
+    }
+
+    @Test
+    public void generateSummary_checkString() {
+        final String summary = String.format(mContext.getResources().getString(
+                R.string.bluetooth_select_a2dp_codec_streaming_label), SUMMARY2);
+
+        assertThat(mPreference.generateSummary(1)).isEqualTo(summary);
+    }
+
+
+    private static class BaseBluetoothDialogPreferenceImpl extends BaseBluetoothDialogPreference {
+
+        private BaseBluetoothDialogPreferenceImpl(Context context) {
+            super(context);
+        }
+
+        @Override
+        protected int getRadioButtonGroupId() {
+            return RADIOGROUP_ID;
+        }
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/development/bluetooth/BluetoothBitPerSampleDialogPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/bluetooth/BluetoothBitPerSampleDialogPreferenceControllerTest.java
new file mode 100644
index 0000000..0996ae3
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/development/bluetooth/BluetoothBitPerSampleDialogPreferenceControllerTest.java
@@ -0,0 +1,141 @@
+/*
+ * 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.development.bluetooth;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.bluetooth.BluetoothA2dp;
+import android.bluetooth.BluetoothAdapter;
+import android.bluetooth.BluetoothCodecConfig;
+import android.bluetooth.BluetoothCodecStatus;
+import android.bluetooth.BluetoothDevice;
+import android.content.Context;
+
+import androidx.lifecycle.LifecycleOwner;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.development.BluetoothA2dpConfigStore;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+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 BluetoothBitPerSampleDialogPreferenceControllerTest {
+
+    private static final String DEVICE_ADDRESS = "00:11:22:33:44:55";
+
+    @Mock
+    private BluetoothA2dp mBluetoothA2dp;
+    @Mock
+    private PreferenceScreen mScreen;
+
+    private BluetoothBitPerSampleDialogPreferenceController mController;
+    private BluetoothBitPerSampleDialogPreference mPreference;
+    private BluetoothA2dpConfigStore mBluetoothA2dpConfigStore;
+    private BluetoothCodecStatus mCodecStatus;
+    private BluetoothCodecConfig mCodecConfigAAC;
+    private BluetoothCodecConfig mCodecConfigSBC;
+    private BluetoothDevice mActiveDevice;
+    private Context mContext;
+    private LifecycleOwner mLifecycleOwner;
+    private Lifecycle mLifecycle;
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+        mContext = RuntimeEnvironment.application;
+        mLifecycleOwner = () -> mLifecycle;
+        mLifecycle = new Lifecycle(mLifecycleOwner);
+        mBluetoothA2dpConfigStore = spy(new BluetoothA2dpConfigStore());
+        mActiveDevice = BluetoothAdapter.getDefaultAdapter().getRemoteDevice(DEVICE_ADDRESS);
+        mController = spy(new BluetoothBitPerSampleDialogPreferenceController(mContext, mLifecycle,
+                mBluetoothA2dpConfigStore));
+        mPreference = new BluetoothBitPerSampleDialogPreference(mContext);
+        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
+        mController.displayPreference(mScreen);
+        mCodecConfigAAC = new BluetoothCodecConfig(BluetoothCodecConfig.SOURCE_CODEC_TYPE_AAC,
+                BluetoothCodecConfig.CODEC_PRIORITY_DEFAULT,
+                BluetoothCodecConfig.SAMPLE_RATE_NONE,
+                BluetoothCodecConfig.BITS_PER_SAMPLE_16 | BluetoothCodecConfig.BITS_PER_SAMPLE_24,
+                BluetoothCodecConfig.CHANNEL_MODE_NONE,
+                0, 0, 0, 0);
+        mCodecConfigSBC = new BluetoothCodecConfig(BluetoothCodecConfig.SOURCE_CODEC_TYPE_SBC,
+                BluetoothCodecConfig.CODEC_PRIORITY_DEFAULT,
+                BluetoothCodecConfig.SAMPLE_RATE_NONE,
+                BluetoothCodecConfig.BITS_PER_SAMPLE_24,
+                BluetoothCodecConfig.CHANNEL_MODE_NONE,
+                0, 0, 0, 0);
+        when(mBluetoothA2dp.getActiveDevice()).thenReturn(mActiveDevice);
+    }
+
+    @Test
+    public void writeConfigurationValues_selectDefault_setHighest() {
+        BluetoothCodecConfig[] mCodecConfigs = {mCodecConfigAAC, mCodecConfigSBC};
+        mCodecStatus = new BluetoothCodecStatus(mCodecConfigAAC, null, mCodecConfigs);
+        when(mBluetoothA2dp.getCodecStatus(mActiveDevice)).thenReturn(mCodecStatus);
+        mController.onBluetoothServiceConnected(mBluetoothA2dp);
+
+        mController.writeConfigurationValues(0);
+        verify(mBluetoothA2dpConfigStore).setBitsPerSample(BluetoothCodecConfig.BITS_PER_SAMPLE_24);
+    }
+
+    @Test
+    public void writeConfigurationValues_checkBitsPerSample() {
+        mController.writeConfigurationValues(1);
+        verify(mBluetoothA2dpConfigStore).setBitsPerSample(BluetoothCodecConfig.BITS_PER_SAMPLE_16);
+
+        mController.writeConfigurationValues(2);
+        verify(mBluetoothA2dpConfigStore).setBitsPerSample(BluetoothCodecConfig.BITS_PER_SAMPLE_24);
+
+        mController.writeConfigurationValues(3);
+        verify(mBluetoothA2dpConfigStore).setBitsPerSample(BluetoothCodecConfig.BITS_PER_SAMPLE_32);
+    }
+
+    @Test
+    public void getCurrentIndexByConfig_verifyIndex() {
+        assertThat(mController.getCurrentIndexByConfig(mCodecConfigSBC)).isEqualTo(
+                mController.convertCfgToBtnIndex(BluetoothCodecConfig.BITS_PER_SAMPLE_24));
+    }
+
+    @Test
+    public void getSelectableIndex_verifyList() {
+        BluetoothCodecConfig[] mCodecConfigs = {mCodecConfigAAC, mCodecConfigSBC};
+        mCodecStatus = new BluetoothCodecStatus(mCodecConfigAAC, null, mCodecConfigs);
+        when(mBluetoothA2dp.getCodecStatus(mActiveDevice)).thenReturn(mCodecStatus);
+        mController.onBluetoothServiceConnected(mBluetoothA2dp);
+        List<Integer> indexList = new ArrayList<>();
+        indexList.add(mPreference.getDefaultIndex());
+        indexList.add(mController.convertCfgToBtnIndex(BluetoothCodecConfig.BITS_PER_SAMPLE_16));
+        indexList.add(mController.convertCfgToBtnIndex(BluetoothCodecConfig.BITS_PER_SAMPLE_24));
+
+        assertThat(mController.getSelectableIndex().containsAll(indexList)).isTrue();
+        assertThat(indexList.containsAll(mController.getSelectableIndex())).isTrue();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/development/bluetooth/BluetoothBitPerSampleDialogPreferenceTest.java b/tests/robotests/src/com/android/settings/development/bluetooth/BluetoothBitPerSampleDialogPreferenceTest.java
new file mode 100644
index 0000000..746c46a
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/development/bluetooth/BluetoothBitPerSampleDialogPreferenceTest.java
@@ -0,0 +1,50 @@
+/*
+ * 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.development.bluetooth;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.content.Context;
+
+import com.android.settings.R;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+@RunWith(RobolectricTestRunner.class)
+public class BluetoothBitPerSampleDialogPreferenceTest {
+
+    private BluetoothBitPerSampleDialogPreference mPreference;
+    private Context mContext;
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+        mContext = RuntimeEnvironment.application;
+        mPreference = new BluetoothBitPerSampleDialogPreference(mContext);
+    }
+
+    @Test
+    public void getRadioButtonGroupId() {
+        assertThat(mPreference.getRadioButtonGroupId())
+                .isEqualTo(R.id.bluetooth_audio_bit_per_sample_radio_group);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/development/bluetooth/BluetoothChannelModeDialogPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/bluetooth/BluetoothChannelModeDialogPreferenceControllerTest.java
new file mode 100644
index 0000000..81fb3fe
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/development/bluetooth/BluetoothChannelModeDialogPreferenceControllerTest.java
@@ -0,0 +1,138 @@
+/*
+ * 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.development.bluetooth;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.bluetooth.BluetoothA2dp;
+import android.bluetooth.BluetoothAdapter;
+import android.bluetooth.BluetoothCodecConfig;
+import android.bluetooth.BluetoothCodecStatus;
+import android.bluetooth.BluetoothDevice;
+import android.content.Context;
+
+import androidx.lifecycle.LifecycleOwner;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.development.BluetoothA2dpConfigStore;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+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 BluetoothChannelModeDialogPreferenceControllerTest {
+
+    private static final String DEVICE_ADDRESS = "00:11:22:33:44:55";
+
+    @Mock
+    private BluetoothA2dp mBluetoothA2dp;
+    @Mock
+    private PreferenceScreen mScreen;
+
+    private BluetoothChannelModeDialogPreferenceController mController;
+    private BluetoothChannelModeDialogPreference mPreference;
+    private BluetoothA2dpConfigStore mBluetoothA2dpConfigStore;
+    private BluetoothCodecStatus mCodecStatus;
+    private BluetoothCodecConfig mCodecConfigAAC;
+    private BluetoothCodecConfig mCodecConfigSBC;
+    private BluetoothDevice mActiveDevice;
+    private Context mContext;
+    private LifecycleOwner mLifecycleOwner;
+    private Lifecycle mLifecycle;
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+        mContext = RuntimeEnvironment.application;
+        mLifecycleOwner = () -> mLifecycle;
+        mLifecycle = new Lifecycle(mLifecycleOwner);
+        mBluetoothA2dpConfigStore = spy(new BluetoothA2dpConfigStore());
+        mActiveDevice = BluetoothAdapter.getDefaultAdapter().getRemoteDevice(DEVICE_ADDRESS);
+        mController = new BluetoothChannelModeDialogPreferenceController(mContext, mLifecycle,
+                mBluetoothA2dpConfigStore);
+        mPreference = new BluetoothChannelModeDialogPreference(mContext);
+        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
+        mController.displayPreference(mScreen);
+        mCodecConfigAAC = new BluetoothCodecConfig(BluetoothCodecConfig.SOURCE_CODEC_TYPE_AAC,
+                BluetoothCodecConfig.CODEC_PRIORITY_DEFAULT,
+                BluetoothCodecConfig.SAMPLE_RATE_NONE,
+                BluetoothCodecConfig.BITS_PER_SAMPLE_NONE,
+                BluetoothCodecConfig.CHANNEL_MODE_STEREO,
+                0, 0, 0, 0);
+        mCodecConfigSBC = new BluetoothCodecConfig(BluetoothCodecConfig.SOURCE_CODEC_TYPE_SBC,
+                BluetoothCodecConfig.CODEC_PRIORITY_DEFAULT,
+                BluetoothCodecConfig.SAMPLE_RATE_NONE,
+                BluetoothCodecConfig.BITS_PER_SAMPLE_NONE,
+                BluetoothCodecConfig.CHANNEL_MODE_MONO | BluetoothCodecConfig.CHANNEL_MODE_STEREO,
+                0, 0, 0, 0);
+        when(mBluetoothA2dp.getActiveDevice()).thenReturn(mActiveDevice);
+    }
+
+    @Test
+    public void writeConfigurationValues_selectDefault_setHighest() {
+        BluetoothCodecConfig[] mCodecConfigs = {mCodecConfigAAC, mCodecConfigSBC};
+        mCodecStatus = new BluetoothCodecStatus(mCodecConfigSBC, null, mCodecConfigs);
+        when(mBluetoothA2dp.getCodecStatus(mActiveDevice)).thenReturn(mCodecStatus);
+        mController.onBluetoothServiceConnected(mBluetoothA2dp);
+
+        mController.writeConfigurationValues(0);
+        verify(mBluetoothA2dpConfigStore).setChannelMode(BluetoothCodecConfig.CHANNEL_MODE_STEREO);
+    }
+
+    @Test
+    public void writeConfigurationValues_checkChannelMode() {
+        mController.writeConfigurationValues(1);
+        verify(mBluetoothA2dpConfigStore).setChannelMode(BluetoothCodecConfig.CHANNEL_MODE_MONO);
+
+        mController.writeConfigurationValues(2);
+        verify(mBluetoothA2dpConfigStore).setChannelMode(BluetoothCodecConfig.CHANNEL_MODE_STEREO);
+    }
+
+    @Test
+    public void getCurrentIndexByConfig_verifyIndex() {
+        assertThat(mController.getCurrentIndexByConfig(mCodecConfigAAC)).isEqualTo(
+                mController.convertCfgToBtnIndex(BluetoothCodecConfig.CHANNEL_MODE_STEREO));
+    }
+
+    @Test
+    public void getSelectableIndex_verifyList() {
+        BluetoothCodecConfig[] mCodecConfigs = {mCodecConfigAAC, mCodecConfigSBC};
+        mCodecStatus = new BluetoothCodecStatus(mCodecConfigSBC, null, mCodecConfigs);
+        when(mBluetoothA2dp.getCodecStatus(mActiveDevice)).thenReturn(mCodecStatus);
+        mController.onBluetoothServiceConnected(mBluetoothA2dp);
+        List<Integer> indexList = new ArrayList<>();
+        indexList.add(mPreference.getDefaultIndex());
+        indexList.add(mController.convertCfgToBtnIndex(BluetoothCodecConfig.CHANNEL_MODE_MONO));
+        indexList.add(mController.convertCfgToBtnIndex(BluetoothCodecConfig.CHANNEL_MODE_STEREO));
+
+        assertThat(mController.getSelectableIndex().containsAll(indexList)).isTrue();
+        assertThat(indexList.containsAll(mController.getSelectableIndex())).isTrue();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/development/bluetooth/BluetoothChannelModeDialogPreferenceTest.java b/tests/robotests/src/com/android/settings/development/bluetooth/BluetoothChannelModeDialogPreferenceTest.java
new file mode 100644
index 0000000..0ab677b
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/development/bluetooth/BluetoothChannelModeDialogPreferenceTest.java
@@ -0,0 +1,50 @@
+/*
+ * 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.development.bluetooth;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.content.Context;
+
+import com.android.settings.R;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+@RunWith(RobolectricTestRunner.class)
+public class BluetoothChannelModeDialogPreferenceTest {
+
+    private BluetoothChannelModeDialogPreference mPreference;
+    private Context mContext;
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+        mContext = RuntimeEnvironment.application;
+        mPreference = new BluetoothChannelModeDialogPreference(mContext);
+    }
+
+    @Test
+    public void getRadioButtonGroupId() {
+        assertThat(mPreference.getRadioButtonGroupId())
+                .isEqualTo(R.id.bluetooth_audio_channel_mode_radio_group);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/development/bluetooth/BluetoothCodecDialogPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/bluetooth/BluetoothCodecDialogPreferenceControllerTest.java
new file mode 100644
index 0000000..7dd2906
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/development/bluetooth/BluetoothCodecDialogPreferenceControllerTest.java
@@ -0,0 +1,175 @@
+/*
+ * 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.development.bluetooth;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.atLeastOnce;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.bluetooth.BluetoothA2dp;
+import android.bluetooth.BluetoothAdapter;
+import android.bluetooth.BluetoothCodecConfig;
+import android.bluetooth.BluetoothCodecStatus;
+import android.bluetooth.BluetoothDevice;
+import android.content.Context;
+
+import androidx.lifecycle.LifecycleOwner;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.development.BluetoothA2dpConfigStore;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+@RunWith(RobolectricTestRunner.class)
+public class BluetoothCodecDialogPreferenceControllerTest {
+
+    private static final String DEVICE_ADDRESS = "00:11:22:33:44:55";
+
+    @Mock
+    private BluetoothA2dp mBluetoothA2dp;
+    @Mock
+    private PreferenceScreen mScreen;
+    @Mock
+    private AbstractBluetoothPreferenceController.Callback mCallback;
+
+    private BluetoothCodecDialogPreferenceController mController;
+    private BluetoothCodecDialogPreference mPreference;
+    private BluetoothA2dpConfigStore mBluetoothA2dpConfigStore;
+    private BluetoothCodecStatus mCodecStatus;
+    private BluetoothCodecConfig mCodecConfigAAC;
+    private BluetoothCodecConfig mCodecConfigSBC;
+    private BluetoothCodecConfig mCodecConfigAPTX;
+    private BluetoothCodecConfig mCodecConfigAPTXHD;
+    private BluetoothCodecConfig mCodecConfigLDAC;
+    private BluetoothDevice mActiveDevice;
+    private Context mContext;
+    private LifecycleOwner mLifecycleOwner;
+    private Lifecycle mLifecycle;
+
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+        mContext = RuntimeEnvironment.application;
+        mLifecycleOwner = () -> mLifecycle;
+        mLifecycle = new Lifecycle(mLifecycleOwner);
+        mBluetoothA2dpConfigStore = spy(new BluetoothA2dpConfigStore());
+        mActiveDevice = BluetoothAdapter.getDefaultAdapter().getRemoteDevice(DEVICE_ADDRESS);
+        mController = new BluetoothCodecDialogPreferenceController(mContext, mLifecycle,
+                mBluetoothA2dpConfigStore, mCallback);
+        mPreference = new BluetoothCodecDialogPreference(mContext);
+        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
+        mController.displayPreference(mScreen);
+        mCodecConfigSBC = new BluetoothCodecConfig(BluetoothCodecConfig.SOURCE_CODEC_TYPE_SBC,
+                BluetoothCodecConfig.CODEC_PRIORITY_HIGHEST,
+                BluetoothCodecConfig.SAMPLE_RATE_96000 | BluetoothCodecConfig.SAMPLE_RATE_176400,
+                BluetoothCodecConfig.BITS_PER_SAMPLE_32,
+                BluetoothCodecConfig.CHANNEL_MODE_MONO | BluetoothCodecConfig.CHANNEL_MODE_STEREO,
+                0, 0, 0, 0);
+        mCodecConfigAAC = new BluetoothCodecConfig(BluetoothCodecConfig.SOURCE_CODEC_TYPE_AAC,
+                BluetoothCodecConfig.CODEC_PRIORITY_HIGHEST,
+                BluetoothCodecConfig.SAMPLE_RATE_48000 | BluetoothCodecConfig.SAMPLE_RATE_88200,
+                BluetoothCodecConfig.BITS_PER_SAMPLE_16 | BluetoothCodecConfig.BITS_PER_SAMPLE_24,
+                BluetoothCodecConfig.CHANNEL_MODE_STEREO,
+                0, 0, 0, 0);
+        mCodecConfigAPTX = new BluetoothCodecConfig(BluetoothCodecConfig.SOURCE_CODEC_TYPE_APTX);
+        mCodecConfigAPTXHD = new BluetoothCodecConfig(
+                BluetoothCodecConfig.SOURCE_CODEC_TYPE_APTX_HD);
+        mCodecConfigLDAC = new BluetoothCodecConfig(BluetoothCodecConfig.SOURCE_CODEC_TYPE_LDAC);
+        when(mBluetoothA2dp.getActiveDevice()).thenReturn(mActiveDevice);
+    }
+
+    @Test
+    public void writeConfigurationValues_selectDefault_setHighest() {
+        BluetoothCodecConfig[] mCodecConfigs = {mCodecConfigAAC, mCodecConfigSBC};
+        mCodecStatus = new BluetoothCodecStatus(mCodecConfigSBC, null, mCodecConfigs);
+        when(mBluetoothA2dp.getCodecStatus(mActiveDevice)).thenReturn(mCodecStatus);
+        mController.onBluetoothServiceConnected(mBluetoothA2dp);
+
+        mController.writeConfigurationValues(0);
+        verify(mBluetoothA2dpConfigStore).setCodecType(BluetoothCodecConfig.SOURCE_CODEC_TYPE_AAC);
+    }
+
+    @Test
+    public void writeConfigurationValues_checkCodec() {
+        BluetoothCodecConfig[] mCodecConfigs = {mCodecConfigAAC, mCodecConfigSBC, mCodecConfigAPTX,
+                mCodecConfigAPTXHD, mCodecConfigLDAC, mCodecConfigAAC, mCodecConfigSBC};
+        mCodecStatus = new BluetoothCodecStatus(mCodecConfigSBC, null, mCodecConfigs);
+        when(mBluetoothA2dp.getCodecStatus(mActiveDevice)).thenReturn(mCodecStatus);
+        mController.onBluetoothServiceConnected(mBluetoothA2dp);
+
+        mController.writeConfigurationValues(1);
+        verify(mBluetoothA2dpConfigStore, atLeastOnce()).setCodecType(
+                BluetoothCodecConfig.SOURCE_CODEC_TYPE_SBC);
+
+        mController.writeConfigurationValues(2);
+        verify(mBluetoothA2dpConfigStore).setCodecType(BluetoothCodecConfig.SOURCE_CODEC_TYPE_AAC);
+
+        mController.writeConfigurationValues(3);
+        verify(mBluetoothA2dpConfigStore).setCodecType(BluetoothCodecConfig.SOURCE_CODEC_TYPE_APTX);
+
+        mController.writeConfigurationValues(4);
+        verify(mBluetoothA2dpConfigStore).setCodecType(
+                BluetoothCodecConfig.SOURCE_CODEC_TYPE_APTX_HD);
+
+        mController.writeConfigurationValues(5);
+        verify(mBluetoothA2dpConfigStore).setCodecType(BluetoothCodecConfig.SOURCE_CODEC_TYPE_LDAC);
+
+    }
+
+    @Test
+    public void writeConfigurationValues_resetHighestConfig() {
+        BluetoothCodecConfig[] mCodecConfigs = {mCodecConfigAAC, mCodecConfigSBC, mCodecConfigAPTX,
+                mCodecConfigAPTXHD, mCodecConfigLDAC, mCodecConfigAAC, mCodecConfigSBC};
+        mCodecStatus = new BluetoothCodecStatus(mCodecConfigAAC, null, mCodecConfigs);
+        when(mBluetoothA2dp.getCodecStatus(mActiveDevice)).thenReturn(mCodecStatus);
+        mController.onBluetoothServiceConnected(mBluetoothA2dp);
+        mController.writeConfigurationValues(2);
+
+        verify(mBluetoothA2dpConfigStore, atLeastOnce()).setCodecPriority(
+                BluetoothCodecConfig.CODEC_PRIORITY_HIGHEST);
+        verify(mBluetoothA2dpConfigStore, atLeastOnce()).setSampleRate(
+                BluetoothCodecConfig.SAMPLE_RATE_88200);
+        verify(mBluetoothA2dpConfigStore, atLeastOnce()).setBitsPerSample(
+                BluetoothCodecConfig.BITS_PER_SAMPLE_24);
+        verify(mBluetoothA2dpConfigStore, atLeastOnce()).setChannelMode(
+                BluetoothCodecConfig.CHANNEL_MODE_STEREO);
+    }
+
+    @Test
+    public void getCurrentIndexByConfig_verifyIndex() {
+        assertThat(mController.getCurrentIndexByConfig(mCodecConfigAAC)).isEqualTo(
+                mController.convertCfgToBtnIndex(BluetoothCodecConfig.SOURCE_CODEC_TYPE_AAC));
+    }
+
+    @Test
+    public void onIndexUpdated_notifyPreference() {
+        mController.onIndexUpdated(0);
+
+        verify(mCallback).onBluetoothCodecChanged();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/development/bluetooth/BluetoothCodecDialogPreferenceTest.java b/tests/robotests/src/com/android/settings/development/bluetooth/BluetoothCodecDialogPreferenceTest.java
new file mode 100644
index 0000000..4b8df16
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/development/bluetooth/BluetoothCodecDialogPreferenceTest.java
@@ -0,0 +1,50 @@
+/*
+ * 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.development.bluetooth;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.content.Context;
+
+import com.android.settings.R;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+@RunWith(RobolectricTestRunner.class)
+public class BluetoothCodecDialogPreferenceTest {
+
+    private BluetoothCodecDialogPreference mPreference;
+    private Context mContext;
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+        mContext = RuntimeEnvironment.application;
+        mPreference = new BluetoothCodecDialogPreference(mContext);
+    }
+
+    @Test
+    public void getRadioButtonGroupId() {
+        assertThat(mPreference.getRadioButtonGroupId())
+                .isEqualTo(R.id.bluetooth_audio_codec_radio_group);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/development/bluetooth/BluetoothHDAudioPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/bluetooth/BluetoothHDAudioPreferenceControllerTest.java
new file mode 100644
index 0000000..60476de
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/development/bluetooth/BluetoothHDAudioPreferenceControllerTest.java
@@ -0,0 +1,164 @@
+/*
+ * 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.development.bluetooth;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.bluetooth.BluetoothA2dp;
+import android.bluetooth.BluetoothDevice;
+import android.content.Context;
+
+import androidx.lifecycle.LifecycleOwner;
+import androidx.preference.PreferenceScreen;
+import androidx.preference.SwitchPreference;
+
+import com.android.settings.development.BluetoothA2dpConfigStore;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+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 org.robolectric.annotation.Config;
+import org.robolectric.shadows.ShadowBluetoothDevice;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(shadows = {ShadowBluetoothDevice.class})
+public class BluetoothHDAudioPreferenceControllerTest {
+
+    private static final String TEST_DEVICE_ADDRESS = "00:A1:A1:A1:A1:A1";
+
+    @Mock
+    private BluetoothA2dp mBluetoothA2dp;
+    @Mock
+    private PreferenceScreen mScreen;
+    @Mock
+    private AbstractBluetoothPreferenceController.Callback mCallback;
+
+    private BluetoothHDAudioPreferenceController mController;
+    private SwitchPreference mPreference;
+    private BluetoothA2dpConfigStore mBluetoothA2dpConfigStore;
+    private BluetoothDevice mActiveDevice;
+    private Context mContext;
+    private LifecycleOwner mLifecycleOwner;
+    private Lifecycle mLifecycle;
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+        mContext = RuntimeEnvironment.application;
+        mLifecycleOwner = () -> mLifecycle;
+        mLifecycle = new Lifecycle(mLifecycleOwner);
+        mBluetoothA2dpConfigStore = spy(new BluetoothA2dpConfigStore());
+        mController = new BluetoothHDAudioPreferenceController(mContext, mLifecycle,
+                mBluetoothA2dpConfigStore, mCallback);
+        mPreference = new SwitchPreference(mContext);
+        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
+        mController.displayPreference(mScreen);
+        mActiveDevice = ShadowBluetoothDevice.newInstance(TEST_DEVICE_ADDRESS);
+    }
+
+    @Test
+    public void updateState_noActiveDevice_setDisable() {
+        when(mBluetoothA2dp.getActiveDevice()).thenReturn(null);
+        mController.onBluetoothServiceConnected(mBluetoothA2dp);
+        mController.updateState(mPreference);
+
+        assertThat(mPreference.isEnabled()).isFalse();
+    }
+
+    @Test
+    public void updateState_codecSupported_setEnable() {
+        when(mBluetoothA2dp.getActiveDevice()).thenReturn(mActiveDevice);
+        when(mBluetoothA2dp.isOptionalCodecsSupported(mActiveDevice)).thenReturn(
+                mBluetoothA2dp.OPTIONAL_CODECS_SUPPORTED);
+        mController.onBluetoothServiceConnected(mBluetoothA2dp);
+        mController.updateState(mPreference);
+
+        assertThat(mPreference.isEnabled()).isTrue();
+    }
+
+    @Test
+    public void updateState_codecNotSupported_setDisable() {
+        when(mBluetoothA2dp.getActiveDevice()).thenReturn(mActiveDevice);
+        when(mBluetoothA2dp.isOptionalCodecsSupported(mActiveDevice)).thenReturn(
+                mBluetoothA2dp.OPTIONAL_CODECS_NOT_SUPPORTED);
+        mController.onBluetoothServiceConnected(mBluetoothA2dp);
+        mController.updateState(mPreference);
+
+        assertThat(mPreference.isEnabled()).isFalse();
+    }
+
+    @Test
+    public void updateState_codecSupportedAndEnabled_checked() {
+        when(mBluetoothA2dp.getActiveDevice()).thenReturn(mActiveDevice);
+        when(mBluetoothA2dp.isOptionalCodecsSupported(mActiveDevice)).thenReturn(
+                mBluetoothA2dp.OPTIONAL_CODECS_SUPPORTED);
+        when(mBluetoothA2dp.isOptionalCodecsEnabled(mActiveDevice)).thenReturn(
+                mBluetoothA2dp.OPTIONAL_CODECS_PREF_ENABLED);
+        mController.onBluetoothServiceConnected(mBluetoothA2dp);
+        mController.updateState(mPreference);
+
+        assertThat(mPreference.isChecked()).isTrue();
+    }
+
+    @Test
+    public void updateState_codecSupportedAndDisabled_notChecked() {
+        when(mBluetoothA2dp.getActiveDevice()).thenReturn(mActiveDevice);
+        when(mBluetoothA2dp.isOptionalCodecsSupported(mActiveDevice)).thenReturn(
+                mBluetoothA2dp.OPTIONAL_CODECS_SUPPORTED);
+        when(mBluetoothA2dp.isOptionalCodecsEnabled(mActiveDevice)).thenReturn(
+                mBluetoothA2dp.OPTIONAL_CODECS_PREF_DISABLED);
+        mController.onBluetoothServiceConnected(mBluetoothA2dp);
+        mController.updateState(mPreference);
+
+        assertThat(mPreference.isChecked()).isFalse();
+    }
+
+    @Test
+    public void onPreferenceChange_disable_verifyFlow() {
+        when(mBluetoothA2dp.getActiveDevice()).thenReturn(mActiveDevice);
+        mController.onBluetoothServiceConnected(mBluetoothA2dp);
+        final boolean enabled = false;
+        mController.onPreferenceChange(mPreference, enabled);
+
+        verify(mBluetoothA2dp).disableOptionalCodecs(mActiveDevice);
+        verify(mBluetoothA2dp).setOptionalCodecsEnabled(mActiveDevice,
+                BluetoothA2dp.OPTIONAL_CODECS_PREF_DISABLED);
+        verify(mCallback).onBluetoothHDAudioEnabled(enabled);
+    }
+
+    @Test
+    public void onPreferenceChange_enable_verifyFlow() {
+        when(mBluetoothA2dp.getActiveDevice()).thenReturn(mActiveDevice);
+        mController.onBluetoothServiceConnected(mBluetoothA2dp);
+        final boolean enabled = true;
+        mController.onPreferenceChange(mPreference, enabled);
+
+        verify(mBluetoothA2dp).enableOptionalCodecs(mActiveDevice);
+        verify(mBluetoothA2dp).setOptionalCodecsEnabled(mActiveDevice,
+                BluetoothA2dp.OPTIONAL_CODECS_PREF_ENABLED);
+        verify(mCallback).onBluetoothHDAudioEnabled(enabled);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/development/bluetooth/BluetoothQualityDialogPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/bluetooth/BluetoothQualityDialogPreferenceControllerTest.java
new file mode 100644
index 0000000..ef209a2
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/development/bluetooth/BluetoothQualityDialogPreferenceControllerTest.java
@@ -0,0 +1,137 @@
+/*
+ * 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.development.bluetooth;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.bluetooth.BluetoothA2dp;
+import android.bluetooth.BluetoothAdapter;
+import android.bluetooth.BluetoothCodecConfig;
+import android.bluetooth.BluetoothCodecStatus;
+import android.bluetooth.BluetoothDevice;
+import android.content.Context;
+
+import androidx.lifecycle.LifecycleOwner;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.development.BluetoothA2dpConfigStore;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+@RunWith(RobolectricTestRunner.class)
+public class BluetoothQualityDialogPreferenceControllerTest {
+
+    private static final String DEVICE_ADDRESS = "00:11:22:33:44:55";
+
+    @Mock
+    private BluetoothA2dp mBluetoothA2dp;
+    @Mock
+    private PreferenceScreen mScreen;
+
+    private BluetoothQualityDialogPreferenceController mController;
+    private BluetoothQualityDialogPreference mPreference;
+    private BluetoothA2dpConfigStore mBluetoothA2dpConfigStore;
+    private BluetoothCodecStatus mCodecStatus;
+    private BluetoothCodecConfig mCodecConfigAAC;
+    private BluetoothCodecConfig mCodecConfigLDAC;
+    private BluetoothDevice mActiveDevice;
+    private Context mContext;
+    private LifecycleOwner mLifecycleOwner;
+    private Lifecycle mLifecycle;
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+        mContext = RuntimeEnvironment.application;
+        mLifecycleOwner = () -> mLifecycle;
+        mLifecycle = new Lifecycle(mLifecycleOwner);
+        mBluetoothA2dpConfigStore = spy(new BluetoothA2dpConfigStore());
+        mActiveDevice = BluetoothAdapter.getDefaultAdapter().getRemoteDevice(DEVICE_ADDRESS);
+        mController = new BluetoothQualityDialogPreferenceController(mContext, mLifecycle,
+                mBluetoothA2dpConfigStore);
+        mPreference = new BluetoothQualityDialogPreference(mContext);
+        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
+        mController.displayPreference(mScreen);
+        mCodecConfigAAC = new BluetoothCodecConfig(BluetoothCodecConfig.SOURCE_CODEC_TYPE_AAC,
+                BluetoothCodecConfig.CODEC_PRIORITY_DEFAULT,
+                BluetoothCodecConfig.SAMPLE_RATE_48000 | BluetoothCodecConfig.SAMPLE_RATE_88200,
+                BluetoothCodecConfig.BITS_PER_SAMPLE_NONE,
+                BluetoothCodecConfig.CHANNEL_MODE_NONE,
+                0, 0, 0, 0);
+        mCodecConfigLDAC = new BluetoothCodecConfig(BluetoothCodecConfig.SOURCE_CODEC_TYPE_LDAC,
+                BluetoothCodecConfig.CODEC_PRIORITY_DEFAULT,
+                BluetoothCodecConfig.SAMPLE_RATE_96000,
+                BluetoothCodecConfig.BITS_PER_SAMPLE_NONE,
+                BluetoothCodecConfig.CHANNEL_MODE_NONE,
+                1001, 0, 0, 0);
+        when(mBluetoothA2dp.getActiveDevice()).thenReturn(mActiveDevice);
+    }
+
+    @Test
+    public void writeConfigurationValues_checkSampleRate() {
+        mController.writeConfigurationValues(0);
+        verify(mBluetoothA2dpConfigStore).setCodecSpecific1Value(1000);
+
+        mController.writeConfigurationValues(1);
+        verify(mBluetoothA2dpConfigStore).setCodecSpecific1Value(1001);
+
+        mController.writeConfigurationValues(2);
+        verify(mBluetoothA2dpConfigStore).setCodecSpecific1Value(1002);
+
+        mController.writeConfigurationValues(3);
+        verify(mBluetoothA2dpConfigStore).setCodecSpecific1Value(1003);
+    }
+
+    @Test
+    public void getCurrentIndexByConfig_verifyIndex() {
+        assertThat(mController.getCurrentIndexByConfig(mCodecConfigLDAC)).isEqualTo(
+                mController.convertCfgToBtnIndex(1001));
+    }
+
+    @Test
+    public void updateState_codeTypeIsLDAC_enablePreference() {
+        BluetoothCodecConfig[] mCodecConfigs = {mCodecConfigAAC, mCodecConfigLDAC};
+        mCodecStatus = new BluetoothCodecStatus(mCodecConfigLDAC, null, mCodecConfigs);
+        when(mBluetoothA2dp.getCodecStatus(mActiveDevice)).thenReturn(mCodecStatus);
+        mController.onBluetoothServiceConnected(mBluetoothA2dp);
+        mController.updateState(mPreference);
+
+        assertThat(mPreference.isEnabled()).isTrue();
+    }
+
+    @Test
+    public void updateState_codeTypeAAC_disablePreference() {
+        BluetoothCodecConfig[] mCodecConfigs = {mCodecConfigAAC, mCodecConfigLDAC};
+        mCodecStatus = new BluetoothCodecStatus(mCodecConfigAAC, null, mCodecConfigs);
+        when(mBluetoothA2dp.getCodecStatus(mActiveDevice)).thenReturn(mCodecStatus);
+        mController.onBluetoothServiceConnected(mBluetoothA2dp);
+        mController.updateState(mPreference);
+
+        assertThat(mPreference.isEnabled()).isFalse();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/development/bluetooth/BluetoothQualityDialogPreferenceTest.java b/tests/robotests/src/com/android/settings/development/bluetooth/BluetoothQualityDialogPreferenceTest.java
new file mode 100644
index 0000000..1f3f08e
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/development/bluetooth/BluetoothQualityDialogPreferenceTest.java
@@ -0,0 +1,50 @@
+/*
+ * 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.development.bluetooth;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.content.Context;
+
+import com.android.settings.R;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+@RunWith(RobolectricTestRunner.class)
+public class BluetoothQualityDialogPreferenceTest {
+
+    private BluetoothQualityDialogPreference mPreference;
+    private Context mContext;
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+        mContext = RuntimeEnvironment.application;
+        mPreference = new BluetoothQualityDialogPreference(mContext);
+    }
+
+    @Test
+    public void getRadioButtonGroupId() {
+        assertThat(mPreference.getRadioButtonGroupId())
+                .isEqualTo(R.id.bluetooth_audio_quality_radio_group);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/development/bluetooth/BluetoothSampleRateDialogPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/bluetooth/BluetoothSampleRateDialogPreferenceControllerTest.java
new file mode 100644
index 0000000..c649fdf
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/development/bluetooth/BluetoothSampleRateDialogPreferenceControllerTest.java
@@ -0,0 +1,148 @@
+/*
+ * 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.development.bluetooth;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.bluetooth.BluetoothA2dp;
+import android.bluetooth.BluetoothAdapter;
+import android.bluetooth.BluetoothCodecConfig;
+import android.bluetooth.BluetoothCodecStatus;
+import android.bluetooth.BluetoothDevice;
+import android.content.Context;
+
+import androidx.lifecycle.LifecycleOwner;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.development.BluetoothA2dpConfigStore;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+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 BluetoothSampleRateDialogPreferenceControllerTest {
+
+    private static final String DEVICE_ADDRESS = "00:11:22:33:44:55";
+
+    @Mock
+    private BluetoothA2dp mBluetoothA2dp;
+    @Mock
+    private PreferenceScreen mScreen;
+
+    private BluetoothSampleRateDialogPreferenceController mController;
+    private BluetoothSampleRateDialogPreference mPreference;
+    private BluetoothA2dpConfigStore mBluetoothA2dpConfigStore;
+    private BluetoothCodecStatus mCodecStatus;
+    private BluetoothCodecConfig mCodecConfigAAC;
+    private BluetoothCodecConfig mCodecConfigSBC;
+    private BluetoothDevice mActiveDevice;
+    private Context mContext;
+    private LifecycleOwner mLifecycleOwner;
+    private Lifecycle mLifecycle;
+
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+        mContext = RuntimeEnvironment.application;
+        mLifecycleOwner = () -> mLifecycle;
+        mLifecycle = new Lifecycle(mLifecycleOwner);
+        mBluetoothA2dpConfigStore = spy(new BluetoothA2dpConfigStore());
+        mActiveDevice = BluetoothAdapter.getDefaultAdapter().getRemoteDevice(DEVICE_ADDRESS);
+        mController = spy(new BluetoothSampleRateDialogPreferenceController(mContext, mLifecycle,
+                mBluetoothA2dpConfigStore));
+        mPreference = new BluetoothSampleRateDialogPreference(mContext);
+        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
+        mController.displayPreference(mScreen);
+        mCodecConfigAAC = new BluetoothCodecConfig(BluetoothCodecConfig.SOURCE_CODEC_TYPE_AAC,
+                BluetoothCodecConfig.CODEC_PRIORITY_DEFAULT,
+                BluetoothCodecConfig.SAMPLE_RATE_48000 | BluetoothCodecConfig.SAMPLE_RATE_88200,
+                BluetoothCodecConfig.BITS_PER_SAMPLE_NONE,
+                BluetoothCodecConfig.CHANNEL_MODE_NONE,
+                0, 0, 0, 0);
+        mCodecConfigSBC = new BluetoothCodecConfig(BluetoothCodecConfig.SOURCE_CODEC_TYPE_SBC,
+                BluetoothCodecConfig.CODEC_PRIORITY_DEFAULT,
+                BluetoothCodecConfig.SAMPLE_RATE_96000,
+                BluetoothCodecConfig.BITS_PER_SAMPLE_NONE,
+                BluetoothCodecConfig.CHANNEL_MODE_NONE,
+                0, 0, 0, 0);
+        when(mBluetoothA2dp.getActiveDevice()).thenReturn(mActiveDevice);
+    }
+
+    @Test
+    public void writeConfigurationValues_selectDefault_setHighest() {
+        mCodecConfigSBC = new BluetoothCodecConfig(BluetoothCodecConfig.SOURCE_CODEC_TYPE_SBC);
+        BluetoothCodecConfig[] mCodecConfigs = {mCodecConfigAAC, mCodecConfigSBC};
+        mCodecStatus = new BluetoothCodecStatus(mCodecConfigAAC, null, mCodecConfigs);
+        when(mBluetoothA2dp.getCodecStatus(
+            mActiveDevice)).thenReturn(mCodecStatus);
+        mController.onBluetoothServiceConnected(mBluetoothA2dp);
+
+        mController.writeConfigurationValues(0);
+        verify(mBluetoothA2dpConfigStore).setSampleRate(BluetoothCodecConfig.SAMPLE_RATE_88200);
+    }
+
+    @Test
+    public void writeConfigurationValues_checkSampleRate() {
+        mController.writeConfigurationValues(1);
+        verify(mBluetoothA2dpConfigStore).setSampleRate(BluetoothCodecConfig.SAMPLE_RATE_44100);
+
+        mController.writeConfigurationValues(2);
+        verify(mBluetoothA2dpConfigStore).setSampleRate(BluetoothCodecConfig.SAMPLE_RATE_48000);
+
+        mController.writeConfigurationValues(3);
+        verify(mBluetoothA2dpConfigStore).setSampleRate(BluetoothCodecConfig.SAMPLE_RATE_88200);
+
+        mController.writeConfigurationValues(4);
+        verify(mBluetoothA2dpConfigStore).setSampleRate(BluetoothCodecConfig.SAMPLE_RATE_96000);
+    }
+
+    @Test
+    public void getCurrentIndexByConfig_verifyIndex() {
+        assertThat(mController.getCurrentIndexByConfig(mCodecConfigSBC)).isEqualTo(
+                mController.convertCfgToBtnIndex(BluetoothCodecConfig.SAMPLE_RATE_96000));
+    }
+
+    @Test
+    public void getSelectableIndex_verifyList() {
+        BluetoothCodecConfig[] mCodecConfigs = {mCodecConfigAAC, mCodecConfigSBC};
+        mCodecStatus = new BluetoothCodecStatus(mCodecConfigAAC, null, mCodecConfigs);
+        when(mBluetoothA2dp.getCodecStatus(
+            mActiveDevice)).thenReturn(mCodecStatus);
+        mController.onBluetoothServiceConnected(mBluetoothA2dp);
+        List<Integer> indexList = new ArrayList<>();
+        indexList.add(mController.getDefaultIndex());
+        indexList.add(mController.convertCfgToBtnIndex(BluetoothCodecConfig.SAMPLE_RATE_48000));
+        indexList.add(mController.convertCfgToBtnIndex(BluetoothCodecConfig.SAMPLE_RATE_88200));
+
+        assertThat(mController.getSelectableIndex().containsAll(indexList)).isTrue();
+        assertThat(indexList.containsAll(mController.getSelectableIndex())).isTrue();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/development/bluetooth/BluetoothSampleRateDialogPreferenceTest.java b/tests/robotests/src/com/android/settings/development/bluetooth/BluetoothSampleRateDialogPreferenceTest.java
new file mode 100644
index 0000000..10222cf
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/development/bluetooth/BluetoothSampleRateDialogPreferenceTest.java
@@ -0,0 +1,50 @@
+/*
+ * 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.development.bluetooth;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.content.Context;
+
+import com.android.settings.R;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+@RunWith(RobolectricTestRunner.class)
+public class BluetoothSampleRateDialogPreferenceTest {
+
+    private BluetoothSampleRateDialogPreference mPreference;
+    private Context mContext;
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+        mContext = RuntimeEnvironment.application;
+        mPreference = new BluetoothSampleRateDialogPreference(mContext);
+    }
+
+    @Test
+    public void getRadioButtonGroupId() {
+        assertThat(mPreference.getRadioButtonGroupId())
+                .isEqualTo(R.id.bluetooth_audio_sample_rate_radio_group);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/development/compat/PlatformCompatDashboardTest.java b/tests/robotests/src/com/android/settings/development/compat/PlatformCompatDashboardTest.java
new file mode 100644
index 0000000..1e59167
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/development/compat/PlatformCompatDashboardTest.java
@@ -0,0 +1,221 @@
+/*
+ * Copyright 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.development.compat;
+
+import static com.android.internal.compat.OverrideAllowedState.ALLOWED;
+import static com.android.internal.compat.OverrideAllowedState.DISABLED_NOT_DEBUGGABLE;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyLong;
+import static org.mockito.ArgumentMatchers.anyString;
+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.compat.Compatibility.ChangeConfig;
+import android.content.Context;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.PackageManager;
+import android.content.pm.PackageManager.NameNotFoundException;
+import android.graphics.drawable.Drawable;
+import android.os.RemoteException;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceCategory;
+import androidx.preference.PreferenceManager;
+import androidx.preference.PreferenceScreen;
+import androidx.preference.SwitchPreference;
+
+import com.android.internal.compat.CompatibilityChangeConfig;
+import com.android.internal.compat.CompatibilityChangeInfo;
+import com.android.internal.compat.IOverrideValidator;
+import com.android.internal.compat.IPlatformCompat;
+import com.android.internal.compat.OverrideAllowedState;
+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 org.robolectric.RuntimeEnvironment;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+@RunWith(RobolectricTestRunner.class)
+public class PlatformCompatDashboardTest {
+    private PlatformCompatDashboard mDashboard;
+
+    @Mock
+    private IPlatformCompat mPlatformCompat;
+    private PreferenceScreen mPreferenceScreen;
+    @Mock
+    private ApplicationInfo mApplicationInfo;
+    @Mock
+    private PreferenceManager mPreferenceManager;
+    @Mock
+    private IOverrideValidator mOverrideValidator;
+    @Mock
+    private PackageManager mPackageManager;
+
+    private Context mContext;
+    private CompatibilityChangeInfo[] mChanges;
+    private static final String APP_NAME = "foo.bar.baz";
+
+    @Before
+    public void setUp() throws RemoteException, NameNotFoundException {
+        MockitoAnnotations.initMocks(this);
+        mChanges = new CompatibilityChangeInfo[5];
+        mChanges[0] = new CompatibilityChangeInfo(1L, "Default_Enabled", 0, false, false, "");
+        mChanges[1] = new CompatibilityChangeInfo(2L, "Default_Disabled", 0, true, false, "");
+        mChanges[2] = new CompatibilityChangeInfo(3L, "Enabled_After_SDK_1_1", 1, false, false, "");
+        mChanges[3] = new CompatibilityChangeInfo(4L, "Enabled_After_SDK_1_2", 1, false, false, "");
+        mChanges[4] = new CompatibilityChangeInfo(5L, "Enabled_After_SDK_2", 2, false, false, "");
+        when(mPlatformCompat.listAllChanges()).thenReturn(mChanges);
+        when(mPlatformCompat.getOverrideValidator()).thenReturn(mOverrideValidator);
+        // By default, allow any change
+        when(mOverrideValidator.getOverrideAllowedState(anyLong(),anyString()))
+            .thenReturn(new OverrideAllowedState(ALLOWED, -1, -1));
+        mContext = spy(RuntimeEnvironment.application);
+        mPreferenceManager = new PreferenceManager(mContext);
+        mPreferenceScreen = mPreferenceManager.createPreferenceScreen(mContext);
+        mApplicationInfo.packageName = APP_NAME;
+        mDashboard = spy(new PlatformCompatDashboard());
+        mDashboard.mSelectedApp = APP_NAME;
+        doReturn(mApplicationInfo).when(mDashboard).getApplicationInfo();
+        doReturn(mContext).when(mDashboard).getContext();
+        doReturn(mPlatformCompat).when(mDashboard).getPlatformCompat();
+        doReturn(mPreferenceScreen).when(mDashboard).getPreferenceScreen();
+        doReturn(mPreferenceManager).when(mDashboard).getPreferenceManager();
+        doReturn(mPackageManager).when(mContext).getPackageManager();
+    }
+
+    @Test
+    public void getHelpResource_shouldNotHaveHelpResource() {
+        assertThat(mDashboard.getHelpResource()).isEqualTo(0);
+    }
+
+    @Test
+    public void getPreferenceScreenResId_shouldBePlatformCompatSettingsResId() {
+        assertThat(mDashboard.getPreferenceScreenResId())
+                .isEqualTo(R.xml.platform_compat_settings);
+    }
+
+    @Test
+    public void createAppPreference_targetSdkEquals1_summaryReturnsAppNameAndTargetSdk() {
+        mApplicationInfo.targetSdkVersion = 1;
+        Drawable icon = mock(Drawable.class);
+        when(mApplicationInfo.loadIcon(any(PackageManager.class))).thenReturn(icon);
+
+        Preference appPreference = mDashboard.createAppPreference(mApplicationInfo);
+
+        assertThat(appPreference.getSummary()).isEqualTo(mContext.getResources().getString(
+                R.string.platform_compat_selected_app_summary, APP_NAME, 1));
+    }
+
+    @Test
+    public void createPreferenceForChange_defaultEnabledChange_createCheckedEntry() {
+        CompatibilityChangeInfo enabledChange = mChanges[0];
+        CompatibilityChangeConfig config = new CompatibilityChangeConfig(
+                new ChangeConfig(new HashSet<Long>(Arrays.asList(enabledChange.getId())),
+                        new HashSet<Long>()));
+
+        Preference enabledPreference = mDashboard.createPreferenceForChange(mContext, enabledChange,
+                config);
+
+        SwitchPreference enabledSwitchPreference = (SwitchPreference) enabledPreference;
+
+        assertThat(enabledPreference.getSummary()).isEqualTo(mChanges[0].getName());
+        assertThat(enabledPreference instanceof SwitchPreference).isTrue();
+        assertThat(enabledSwitchPreference.isChecked()).isTrue();
+        assertThat(enabledSwitchPreference.isEnabled()).isTrue();
+    }
+
+    @Test
+    public void createPreferenceForChange_defaultDisabledChange_createUncheckedEntry() {
+        CompatibilityChangeInfo disabledChange = mChanges[1];
+        CompatibilityChangeConfig config = new CompatibilityChangeConfig(
+                new ChangeConfig(new HashSet<Long>(),
+                        new HashSet<Long>(Arrays.asList(disabledChange.getId()))));
+
+        Preference disabledPreference = mDashboard.createPreferenceForChange(mContext,
+                disabledChange, config);
+
+        assertThat(disabledPreference.getSummary()).isEqualTo(mChanges[1].getName());
+        SwitchPreference disabledSwitchPreference = (SwitchPreference) disabledPreference;
+        assertThat(disabledSwitchPreference.isChecked()).isFalse();
+        assertThat(disabledSwitchPreference.isEnabled()).isTrue();
+    }
+
+    @Test
+    public void createPreferenceForChange_cannotOverride_createDisabledEntry()
+                    throws RemoteException {
+        CompatibilityChangeInfo enabledChange = mChanges[0];
+        CompatibilityChangeConfig config = new CompatibilityChangeConfig(
+                new ChangeConfig(new HashSet<Long>(Arrays.asList(enabledChange.getId())),
+                        new HashSet<Long>()));
+        when(mOverrideValidator.getOverrideAllowedState(anyLong(),anyString()))
+            .thenReturn(new OverrideAllowedState(DISABLED_NOT_DEBUGGABLE, -1, -1));
+
+        Preference preference = mDashboard.createPreferenceForChange(mContext, enabledChange,
+                config);
+
+        SwitchPreference switchPreference = (SwitchPreference) preference;
+
+        assertThat(preference.getSummary()).isEqualTo(mChanges[0].getName());
+        assertThat(preference instanceof SwitchPreference).isTrue();
+        assertThat(switchPreference.isChecked()).isTrue();
+        assertThat(switchPreference.isEnabled()).isFalse();
+    }
+
+    @Test
+    public void createChangeCategoryPreference_enabledAndDisabled_hasTitleAndEntries() {
+        Set<Long> enabledChanges = new HashSet<>();
+        enabledChanges.add(mChanges[0].getId());
+        enabledChanges.add(mChanges[1].getId());
+        enabledChanges.add(mChanges[2].getId());
+        Set<Long> disabledChanges = new HashSet<>();
+        disabledChanges.add(mChanges[3].getId());
+        disabledChanges.add(mChanges[4].getId());
+        CompatibilityChangeConfig config = new CompatibilityChangeConfig(
+                new ChangeConfig(enabledChanges, disabledChanges));
+        List<CompatibilityChangeInfo> changesToAdd = new ArrayList<>();
+        for (int i = 0; i < mChanges.length; ++i) {
+            changesToAdd.add(new CompatibilityChangeInfo(mChanges[i].getId(), mChanges[i].getName(),
+                    mChanges[i].getEnableAfterTargetSdk(), mChanges[i].getDisabled(),
+                    mChanges[i].getLoggingOnly(), mChanges[i].getDescription()));
+        }
+
+        PreferenceCategory category = mDashboard.createChangeCategoryPreference(changesToAdd,
+        config, "foo");
+
+        assertThat(category.getTitle()).isEqualTo("foo");
+        assertThat(category.getPreferenceCount()).isEqualTo(mChanges.length);
+        for (int i = 0; i < mChanges.length; ++i) {
+            Preference childPreference = category.getPreference(i);
+            assertThat(childPreference instanceof SwitchPreference).isTrue();
+        }
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/development/featureflags/FeatureFlagPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/featureflags/FeatureFlagPreferenceControllerTest.java
index cf97544..acdf071 100644
--- a/tests/robotests/src/com/android/settings/development/featureflags/FeatureFlagPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/featureflags/FeatureFlagPreferenceControllerTest.java
@@ -28,7 +28,6 @@
 
 import android.content.Context;
 import android.os.Build;
-import android.os.SystemProperties;
 
 import androidx.preference.PreferenceCategory;
 import androidx.preference.PreferenceScreen;
@@ -77,9 +76,8 @@
 
     @Test
     public void onStart_shouldRefreshFeatureFlags() {
-        mController.onStart();
+        mController.displayPreference(mScreen);
 
-        verify(mCategory).removeAll();
         verify(mCategory, atLeastOnce()).addPreference(any(FeatureFlagPreference.class));
     }
 }
diff --git a/tests/robotests/src/com/android/settings/development/gamedriver/GameDriverAppPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/gamedriver/GameDriverAppPreferenceControllerTest.java
deleted file mode 100644
index dd5af2b..0000000
--- a/tests/robotests/src/com/android/settings/development/gamedriver/GameDriverAppPreferenceControllerTest.java
+++ /dev/null
@@ -1,310 +0,0 @@
-/*
- * Copyright 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.development.gamedriver;
-
-import static com.android.settings.core.BasePreferenceController.AVAILABLE;
-import static com.android.settings.core.BasePreferenceController.CONDITIONALLY_UNAVAILABLE;
-import static com.android.settings.development.gamedriver.GameDriverEnableForAllAppsPreferenceController.GAME_DRIVER_DEFAULT;
-import static com.android.settings.development.gamedriver.GameDriverEnableForAllAppsPreferenceController.GAME_DRIVER_OFF;
-import static com.android.settings.testutils.ApplicationTestUtils.buildInfo;
-import static com.google.common.truth.Truth.assertThat;
-
-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.pm.ApplicationInfo;
-import android.content.pm.PackageManager;
-import android.provider.Settings;
-
-import androidx.preference.ListPreference;
-import androidx.preference.PreferenceCategory;
-import androidx.preference.PreferenceGroup;
-import androidx.preference.PreferenceManager;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.R;
-
-import java.util.Arrays;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-
-@RunWith(RobolectricTestRunner.class)
-public class GameDriverAppPreferenceControllerTest {
-
-    private static final int DEFAULT = 0;
-    private static final int GAME_DRIVER = 1;
-    private static final int SYSTEM = 2;
-    private static final String TEST_APP_NAME = "testApp";
-    private static final String TEST_PKG_NAME = "testPkg";
-
-    // Pre-installed Apps in the Mock PackageManager
-    private static final String APP_1 = "app1";
-    private static final String APP_2 = "app2";
-    private static final String APP_3 = "app3";
-
-    @Mock
-    private PackageManager mPackageManager;
-    @Mock
-    private PreferenceScreen mScreen;
-    @Mock
-    private GameDriverContentObserver mGameDriverContentObserver;
-
-    private Context mContext;
-    private PreferenceGroup mGroup;
-    private PreferenceManager mPreferenceManager;
-    private ContentResolver mResolver;
-    private GameDriverAppPreferenceController mController;
-    private CharSequence[] mValueList;
-    private String mDialogTitle;
-    private String mPreferencePrereleaseDriver;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        mContext = spy(RuntimeEnvironment.application);
-        mResolver = mContext.getContentResolver();
-        mValueList =
-                mContext.getResources().getStringArray(R.array.game_driver_app_preference_values);
-        mDialogTitle = mContext.getResources().getString(R.string.game_driver_app_preference_title);
-        mPreferencePrereleaseDriver =
-                mContext.getResources().getString(R.string.game_driver_app_preference_prerelease_driver);
-    }
-
-    @Test
-    public void getAvailability_developmentSettingsEnabledAndGameDriverOn_available() {
-        loadDefaultConfig();
-        Settings.Global.putInt(mResolver, Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 1);
-        Settings.Global.putInt(
-                mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT);
-
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
-    }
-
-    @Test
-    public void getAvailability_developmentSettingsDisabled_conditionallyUnavailable() {
-        loadDefaultConfig();
-        Settings.Global.putInt(mResolver, Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 0);
-
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
-    }
-
-    @Test
-    public void getAvailability_gameDriverOff_conditionallyUnavailable() {
-        loadDefaultConfig();
-        Settings.Global.putInt(mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_OFF);
-
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
-    }
-
-    @Test
-    public void displayPreference_shouldAddTwoPreferencesAndSortAscendingly() {
-        mockPackageManager();
-        loadDefaultConfig();
-
-        // Only non-system app has preference
-        assertThat(mGroup.getPreferenceCount()).isEqualTo(2);
-        assertThat(mGroup.getPreference(0).getKey()).isEqualTo(APP_1);
-        assertThat(mGroup.getPreference(1).getKey()).isEqualTo(APP_3);
-    }
-
-    @Test
-    public void onStart_shouldRegister() {
-        loadDefaultConfig();
-        mController.mGameDriverContentObserver = mGameDriverContentObserver;
-        mController.onStart();
-
-        verify(mGameDriverContentObserver).register(mResolver);
-    }
-
-    @Test
-    public void onStop_shouldUnregister() {
-        loadDefaultConfig();
-        mController.mGameDriverContentObserver = mGameDriverContentObserver;
-        mController.onStop();
-
-        verify(mGameDriverContentObserver).unregister(mResolver);
-    }
-
-    @Test
-    public void updateState_available_visible() {
-        Settings.Global.putInt(mResolver, Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 1);
-        Settings.Global.putInt(
-                mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT);
-        loadDefaultConfig();
-
-        assertThat(mGroup.isVisible()).isTrue();
-    }
-
-    @Test
-    public void updateState_gameDriverOff_notVisible() {
-        Settings.Global.putInt(mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_OFF);
-        loadDefaultConfig();
-
-        assertThat(mGroup.isVisible()).isFalse();
-    }
-
-    @Test
-    public void createPreference_configDefault_shouldSetDefaultAttributes() {
-        loadDefaultConfig();
-        final ListPreference preference =
-                mController.createListPreference(mContext, TEST_PKG_NAME, TEST_APP_NAME);
-
-        assertThat(preference.getKey()).isEqualTo(TEST_PKG_NAME);
-        assertThat(preference.getTitle()).isEqualTo(TEST_APP_NAME);
-        assertThat(preference.getDialogTitle()).isEqualTo(mDialogTitle);
-        assertThat(preference.getEntries()).isEqualTo(mValueList);
-        assertThat(preference.getEntryValues()).isEqualTo(mValueList);
-        assertThat(preference.getEntry()).isEqualTo(mValueList[DEFAULT]);
-        assertThat(preference.getValue()).isEqualTo(mValueList[DEFAULT]);
-        assertThat(preference.getSummary()).isEqualTo(mValueList[DEFAULT]);
-    }
-
-    @Test
-    public void createPreference_configGAME_DRIVER_shouldSetGameDriverAttributes() {
-        loadConfig(TEST_PKG_NAME, "", "");
-        final ListPreference preference =
-                mController.createListPreference(mContext, TEST_PKG_NAME, TEST_APP_NAME);
-
-        assertThat(preference.getKey()).isEqualTo(TEST_PKG_NAME);
-        assertThat(preference.getTitle()).isEqualTo(TEST_APP_NAME);
-        assertThat(preference.getDialogTitle()).isEqualTo(mDialogTitle);
-        assertThat(preference.getEntries()).isEqualTo(mValueList);
-        assertThat(preference.getEntryValues()).isEqualTo(mValueList);
-        assertThat(preference.getEntry()).isEqualTo(mValueList[GAME_DRIVER]);
-        assertThat(preference.getValue()).isEqualTo(mValueList[GAME_DRIVER]);
-        assertThat(preference.getSummary()).isEqualTo(mValueList[GAME_DRIVER]);
-    }
-
-    @Test
-    public void createPreference_configPRERELEASE_DRIVER_shouldSetPrereleaseDriverAttributes() {
-        loadConfig("", TEST_PKG_NAME, "");
-        final ListPreference preference =
-                mController.createListPreference(mContext, TEST_PKG_NAME, TEST_APP_NAME);
-
-        assertThat(preference.getKey()).isEqualTo(TEST_PKG_NAME);
-        assertThat(preference.getTitle()).isEqualTo(TEST_APP_NAME);
-        assertThat(preference.getDialogTitle()).isEqualTo(mDialogTitle);
-        assertThat(preference.getEntries()).isEqualTo(mValueList);
-        assertThat(preference.getEntryValues()).isEqualTo(mValueList);
-        assertThat(preference.getSummary()).isEqualTo(mPreferencePrereleaseDriver);
-    }
-
-    @Test
-    public void createPreference_configSystem_shouldSetSystemAttributes() {
-        loadConfig("", "", TEST_PKG_NAME);
-        final ListPreference preference =
-                mController.createListPreference(mContext, TEST_PKG_NAME, TEST_APP_NAME);
-
-        assertThat(preference.getKey()).isEqualTo(TEST_PKG_NAME);
-        assertThat(preference.getTitle()).isEqualTo(TEST_APP_NAME);
-        assertThat(preference.getDialogTitle()).isEqualTo(mDialogTitle);
-        assertThat(preference.getEntries()).isEqualTo(mValueList);
-        assertThat(preference.getEntryValues()).isEqualTo(mValueList);
-        assertThat(preference.getEntry()).isEqualTo(mValueList[SYSTEM]);
-        assertThat(preference.getValue()).isEqualTo(mValueList[SYSTEM]);
-        assertThat(preference.getSummary()).isEqualTo(mValueList[SYSTEM]);
-    }
-
-    @Test
-    public void onPreferenceChange_selectDefault_shouldUpdateAttributesAndSettingsGlobal() {
-        loadDefaultConfig();
-        final ListPreference preference =
-                mController.createListPreference(mContext, TEST_PKG_NAME, TEST_APP_NAME);
-        mController.onPreferenceChange(preference, mValueList[DEFAULT]);
-
-        assertThat(preference.getEntry()).isEqualTo(mValueList[DEFAULT]);
-        assertThat(preference.getValue()).isEqualTo(mValueList[DEFAULT]);
-        assertThat(preference.getSummary()).isEqualTo(mValueList[DEFAULT]);
-        assertThat(Settings.Global.getString(mResolver, Settings.Global.GAME_DRIVER_OPT_IN_APPS))
-                .isEqualTo("");
-        assertThat(Settings.Global.getString(mResolver, Settings.Global.GAME_DRIVER_OPT_OUT_APPS))
-                .isEqualTo("");
-    }
-
-    @Test
-    public void onPreferenceChange_selectGAME_DRIVER_shouldUpdateAttributesAndSettingsGlobal() {
-        loadDefaultConfig();
-        final ListPreference preference =
-                mController.createListPreference(mContext, TEST_PKG_NAME, TEST_APP_NAME);
-        mController.onPreferenceChange(preference, mValueList[GAME_DRIVER]);
-
-        assertThat(preference.getEntry()).isEqualTo(mValueList[GAME_DRIVER]);
-        assertThat(preference.getValue()).isEqualTo(mValueList[GAME_DRIVER]);
-        assertThat(preference.getSummary()).isEqualTo(mValueList[GAME_DRIVER]);
-        assertThat(Settings.Global.getString(mResolver, Settings.Global.GAME_DRIVER_OPT_IN_APPS))
-                .isEqualTo(TEST_PKG_NAME);
-        assertThat(Settings.Global.getString(mResolver, Settings.Global.GAME_DRIVER_OPT_OUT_APPS))
-                .isEqualTo("");
-    }
-
-    @Test
-    public void onPreferenceChange_selectSystem_shouldUpdateAttributesAndSettingsGlobal() {
-        loadDefaultConfig();
-        final ListPreference preference =
-                mController.createListPreference(mContext, TEST_PKG_NAME, TEST_APP_NAME);
-        mController.onPreferenceChange(preference, mValueList[SYSTEM]);
-
-        assertThat(preference.getEntry()).isEqualTo(mValueList[SYSTEM]);
-        assertThat(preference.getValue()).isEqualTo(mValueList[SYSTEM]);
-        assertThat(preference.getSummary()).isEqualTo(mValueList[SYSTEM]);
-        assertThat(Settings.Global.getString(mResolver, Settings.Global.GAME_DRIVER_OPT_IN_APPS))
-                .isEqualTo("");
-        assertThat(Settings.Global.getString(mResolver, Settings.Global.GAME_DRIVER_OPT_OUT_APPS))
-                .isEqualTo(TEST_PKG_NAME);
-    }
-
-    private void mockPackageManager() {
-        final int uid = mContext.getUserId();
-        final ApplicationInfo app1 = buildInfo(uid, APP_1, 0 /* flags */, 0 /* targetSdkVersion */);
-        final ApplicationInfo app2 =
-                buildInfo(uid, APP_2, ApplicationInfo.FLAG_SYSTEM, 0 /* targetSdkVersion */);
-        final ApplicationInfo app3 = buildInfo(uid, APP_3, 0 /* flags */, 0 /* targetSdkVersion */);
-
-        when(mPackageManager.getInstalledApplications(0 /* flags */))
-                .thenReturn(Arrays.asList(app3, app2, app1));
-        when(mPackageManager.getApplicationLabel(app1)).thenReturn(APP_1);
-        when(mPackageManager.getApplicationLabel(app2)).thenReturn(APP_2);
-        when(mPackageManager.getApplicationLabel(app3)).thenReturn(APP_3);
-        when(mContext.getPackageManager()).thenReturn(mPackageManager);
-    }
-
-    private void loadDefaultConfig() { loadConfig("", "", ""); }
-
-    private void loadConfig(String optIn, String prereleaseOptIn, String optOut) {
-        Settings.Global.putString(mResolver, Settings.Global.GAME_DRIVER_OPT_IN_APPS, optIn);
-        Settings.Global.putString(
-                mResolver, Settings.Global.GAME_DRIVER_PRERELEASE_OPT_IN_APPS, prereleaseOptIn);
-        Settings.Global.putString(mResolver, Settings.Global.GAME_DRIVER_OPT_OUT_APPS, optOut);
-
-        mController = new GameDriverAppPreferenceController(mContext, "testKey");
-        mGroup = spy(new PreferenceCategory(mContext));
-        final PreferenceManager preferenceManager = new PreferenceManager(mContext);
-        when(mGroup.getContext()).thenReturn(mContext);
-        when(mGroup.getPreferenceManager()).thenReturn(preferenceManager);
-        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mGroup);
-        mController.displayPreference(mScreen);
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/development/gamedriver/GameDriverContentObserverTest.java b/tests/robotests/src/com/android/settings/development/gamedriver/GameDriverContentObserverTest.java
deleted file mode 100644
index caaf896..0000000
--- a/tests/robotests/src/com/android/settings/development/gamedriver/GameDriverContentObserverTest.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright 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.development.gamedriver;
-
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.verify;
-
-import android.content.ContentResolver;
-import android.provider.Settings;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-
-@RunWith(RobolectricTestRunner.class)
-public class GameDriverContentObserverTest {
-
-    @Mock
-    private ContentResolver mResolver;
-    @Mock
-    private GameDriverContentObserver.OnGameDriverContentChangedListener mListener;
-
-    private GameDriverContentObserver mGameDriverContentObserver;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        mGameDriverContentObserver = spy(new GameDriverContentObserver(null, null));
-    }
-
-    @Test
-    public void onChange_shouldCallListener() {
-        mGameDriverContentObserver.mListener = mListener;
-        mGameDriverContentObserver.onChange(true);
-
-        verify(mListener).onGameDriverContentChanged();
-    }
-
-    @Test
-    public void register_shouldRegisterContentObserver() {
-        mGameDriverContentObserver.register(mResolver);
-
-        verify(mResolver).registerContentObserver(
-                Settings.Global.getUriFor(Settings.Global.GAME_DRIVER_ALL_APPS), false,
-                mGameDriverContentObserver);
-    }
-
-    @Test
-    public void unregister_shouldUnregisterContentObserver() {
-        mGameDriverContentObserver.unregister(mResolver);
-
-        verify(mResolver).unregisterContentObserver(mGameDriverContentObserver);
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/development/gamedriver/GameDriverDashboardTest.java b/tests/robotests/src/com/android/settings/development/gamedriver/GameDriverDashboardTest.java
deleted file mode 100644
index f8f8add..0000000
--- a/tests/robotests/src/com/android/settings/development/gamedriver/GameDriverDashboardTest.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright 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.development.gamedriver;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import android.app.settings.SettingsEnums;
-
-import com.android.settings.R;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.robolectric.RobolectricTestRunner;
-
-@RunWith(RobolectricTestRunner.class)
-public class GameDriverDashboardTest {
-
-    private GameDriverDashboard mDashboard;
-
-    @Before
-    public void setUp() {
-        mDashboard = new GameDriverDashboard();
-    }
-
-    @Test
-    public void getHelpResource_shouldReturn0() {
-        assertThat(mDashboard.getHelpResource()).isEqualTo(0);
-    }
-
-    @Test
-    public void getMetricesCategory_shouldReturnGameDriverDashboard() {
-        assertThat(mDashboard.getMetricsCategory())
-                .isEqualTo(SettingsEnums.SETTINGS_GAME_DRIVER_DASHBOARD);
-    }
-
-    @Test
-    public void getPreferenceScreen_shouldReturnGameDriverSettings() {
-        assertThat(mDashboard.getPreferenceScreenResId()).isEqualTo(R.xml.game_driver_settings);
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/development/gamedriver/GameDriverEnableForAllAppsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/gamedriver/GameDriverEnableForAllAppsPreferenceControllerTest.java
deleted file mode 100644
index df59971..0000000
--- a/tests/robotests/src/com/android/settings/development/gamedriver/GameDriverEnableForAllAppsPreferenceControllerTest.java
+++ /dev/null
@@ -1,212 +0,0 @@
-/*
- * Copyright 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.development.gamedriver;
-
-import static com.android.settings.core.BasePreferenceController.AVAILABLE;
-import static com.android.settings.core.BasePreferenceController.CONDITIONALLY_UNAVAILABLE;
-import static com.android.settings.development.gamedriver.GameDriverEnableForAllAppsPreferenceController.GAME_DRIVER_ALL_APPS;
-import static com.android.settings.development.gamedriver.GameDriverEnableForAllAppsPreferenceController.GAME_DRIVER_DEFAULT;
-import static com.android.settings.development.gamedriver.GameDriverEnableForAllAppsPreferenceController.GAME_DRIVER_OFF;
-import static com.android.settings.development.gamedriver.GameDriverEnableForAllAppsPreferenceController.GAME_DRIVER_PRERELEASE_ALL_APPS;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.Mockito.atLeastOnce;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.content.ContentResolver;
-import android.content.Context;
-import android.content.res.Resources;
-import android.provider.Settings;
-
-import androidx.preference.ListPreference;
-import androidx.preference.PreferenceScreen;
-
-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 org.robolectric.RuntimeEnvironment;
-
-@RunWith(RobolectricTestRunner.class)
-public class GameDriverEnableForAllAppsPreferenceControllerTest {
-
-    @Mock
-    private PreferenceScreen mScreen;
-    @Mock
-    private ListPreference mPreference;
-    @Mock
-    private GameDriverContentObserver mGameDriverContentObserver;
-
-    private Context mContext;
-    private ContentResolver mResolver;
-    private GameDriverEnableForAllAppsPreferenceController mController;
-    private String mPreferenceDefault;
-    private String mPreferenceGameDriver;
-    private String mPreferencePrereleaseDriver;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        mContext = RuntimeEnvironment.application;
-        mResolver = mContext.getContentResolver();
-
-        final Resources resources = mContext.getResources();
-        mPreferenceDefault = resources.getString(R.string.game_driver_app_preference_default);
-        mPreferenceGameDriver =
-                resources.getString(R.string.game_driver_app_preference_game_driver);
-        mPreferencePrereleaseDriver =
-                resources.getString(R.string.game_driver_app_preference_prerelease_driver);
-
-        Settings.Global.putInt(mResolver, Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 1);
-        Settings.Global.putInt(
-                mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT);
-
-        mController = new GameDriverEnableForAllAppsPreferenceController(mContext, "testKey");
-        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
-        mController.displayPreference(mScreen);
-    }
-
-    @Test
-    public void getAvailability_developmentSettingsEnabledAndGameDriverSettingsOn_available() {
-        Settings.Global.putInt(
-                mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT);
-
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
-    }
-
-    @Test
-    public void getAvailability_developmentSettingsDisabled_conditionallyUnavailable() {
-        Settings.Global.putInt(mResolver, Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 0);
-
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
-    }
-
-    @Test
-    public void getAvailability_gameDriverOff_conditionallyUnavailable() {
-        Settings.Global.putInt(mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_OFF);
-
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
-    }
-
-    @Test
-    public void displayPreference_shouldAddListPreference() {
-        Settings.Global.putInt(
-                mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT);
-        mController.updateState(mPreference);
-
-        verify(mPreference).setValue(mPreferenceDefault);
-        verify(mPreference).setSummary(mPreferenceDefault);
-    }
-
-    @Test
-    public void onStart_shouldRegister() {
-        mController.mGameDriverContentObserver = mGameDriverContentObserver;
-        mController.onStart();
-
-        verify(mGameDriverContentObserver).register(mResolver);
-    }
-
-    @Test
-    public void onStop_shouldUnregister() {
-        mController.mGameDriverContentObserver = mGameDriverContentObserver;
-        mController.onStop();
-
-        verify(mGameDriverContentObserver).unregister(mResolver);
-    }
-
-    @Test
-    public void updateState_availableAndDefault_visibleAndDefault() {
-        Settings.Global.putInt(
-                mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT);
-        mController.updateState(mPreference);
-
-        verify(mPreference, atLeastOnce()).setVisible(true);
-        verify(mPreference).setValue(mPreferenceDefault);
-        verify(mPreference).setSummary(mPreferenceDefault);
-    }
-
-    @Test
-    public void updateState_availableAndGameDriver_visibleAndGameDriver() {
-        Settings.Global.putInt(
-                mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_ALL_APPS);
-        mController.updateState(mPreference);
-
-        verify(mPreference, atLeastOnce()).setVisible(true);
-        verify(mPreference).setValue(mPreferenceGameDriver);
-        verify(mPreference).setSummary(mPreferenceGameDriver);
-    }
-
-    @Test
-    public void updateState_availableAndPrereleaseDriver_visibleAndPrereleaseDriver() {
-        Settings.Global.putInt(
-                mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_PRERELEASE_ALL_APPS);
-        mController.updateState(mPreference);
-
-        verify(mPreference, atLeastOnce()).setVisible(true);
-        verify(mPreference).setValue(mPreferencePrereleaseDriver);
-        verify(mPreference).setSummary(mPreferencePrereleaseDriver);
-    }
-
-    @Test
-    public void updateState_gameDriverOff_notVisibleAndSystemDriver() {
-        Settings.Global.putInt(mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_OFF);
-        mController.updateState(mPreference);
-
-        verify(mPreference).setVisible(false);
-        verify(mPreference).setValue(mPreferenceDefault);
-        verify(mPreference).setSummary(mPreferenceDefault);
-    }
-
-    @Test
-    public void onPreferenceChange_default_shouldUpdateSettingsGlobal() {
-        Settings.Global.putInt(
-                mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_ALL_APPS);
-        mController.onPreferenceChange(mPreference, mPreferenceDefault);
-
-        assertThat(Settings.Global.getInt(
-                mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT))
-                .isEqualTo(GAME_DRIVER_DEFAULT);
-    }
-
-    @Test
-    public void onPreferenceChange_gameDriver_shouldUpdateSettingsGlobal() {
-        Settings.Global.putInt(
-                mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT);
-        mController.onPreferenceChange(mPreference, mPreferenceGameDriver);
-
-        assertThat(Settings.Global.getInt(
-                mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT))
-                .isEqualTo(GAME_DRIVER_ALL_APPS);
-    }
-
-    @Test
-    public void onPreferenceChange_prereleaseDriver_shouldUpdateSettingsGlobal() {
-        Settings.Global.putInt(
-                mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT);
-        mController.onPreferenceChange(mPreference, mPreferencePrereleaseDriver);
-
-        assertThat(Settings.Global.getInt(
-                mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT))
-                .isEqualTo(GAME_DRIVER_PRERELEASE_ALL_APPS);
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/development/gamedriver/GameDriverFooterPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/gamedriver/GameDriverFooterPreferenceControllerTest.java
deleted file mode 100644
index 133791e..0000000
--- a/tests/robotests/src/com/android/settings/development/gamedriver/GameDriverFooterPreferenceControllerTest.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * Copyright 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.development.gamedriver;
-
-import static com.android.settings.core.BasePreferenceController.AVAILABLE_UNSEARCHABLE;
-import static com.android.settings.core.BasePreferenceController.CONDITIONALLY_UNAVAILABLE;
-import static com.android.settings.development.gamedriver.GameDriverEnableForAllAppsPreferenceController.GAME_DRIVER_ALL_APPS;
-import static com.android.settings.development.gamedriver.GameDriverEnableForAllAppsPreferenceController.GAME_DRIVER_DEFAULT;
-import static com.android.settings.development.gamedriver.GameDriverEnableForAllAppsPreferenceController.GAME_DRIVER_OFF;
-import static com.google.common.truth.Truth.assertThat;
-
-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.provider.Settings;
-
-import androidx.preference.PreferenceScreen;
-
-import com.android.settingslib.widget.FooterPreference;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-
-@RunWith(RobolectricTestRunner.class)
-public class GameDriverFooterPreferenceControllerTest {
-
-    @Mock
-    private PreferenceScreen mScreen;
-    @Mock
-    private FooterPreference mPreference;
-    @Mock
-    private GameDriverContentObserver mGameDriverContentObserver;
-
-    private Context mContext;
-    private ContentResolver mResolver;
-    private GameDriverFooterPreferenceController mController;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        mContext = RuntimeEnvironment.application;
-        mResolver = mContext.getContentResolver();
-        mController = spy(new GameDriverFooterPreferenceController(mContext));
-        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
-    }
-
-    @Test
-    public void getAvailabilityStatus_gameDriverOff_availableUnsearchable() {
-        Settings.Global.putInt(mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_OFF);
-
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE_UNSEARCHABLE);
-    }
-
-    @Test
-    public void getAvailabilityStatus_gameDriverDefault_conditionallyUnavailable() {
-        Settings.Global.putInt(
-                mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT);
-
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
-    }
-
-    @Test
-    public void getAvailabilityStatus_gameDriverAllApps_conditionallyUnavailable() {
-        Settings.Global.putInt(
-                mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_ALL_APPS);
-
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
-    }
-
-    @Test
-    public void onStart_shouldRegister() {
-        mController.mGameDriverContentObserver = mGameDriverContentObserver;
-        mController.onStart();
-
-        verify(mGameDriverContentObserver).register(mResolver);
-    }
-
-    @Test
-    public void onStop_shouldUnregister() {
-        mController.mGameDriverContentObserver = mGameDriverContentObserver;
-        mController.onStop();
-
-        verify(mGameDriverContentObserver).unregister(mResolver);
-    }
-
-    @Test
-    public void updateState_available_visible() {
-        when(mController.getAvailabilityStatus()).thenReturn(AVAILABLE_UNSEARCHABLE);
-        mController.updateState(mPreference);
-
-        verify(mPreference).setVisible(true);
-    }
-
-    @Test
-    public void updateState_unavailable_invisible() {
-        when(mController.getAvailabilityStatus()).thenReturn(CONDITIONALLY_UNAVAILABLE);
-        mController.updateState(mPreference);
-
-        verify(mPreference).setVisible(false);
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/development/gamedriver/GameDriverGlobalSwitchBarControllerTest.java b/tests/robotests/src/com/android/settings/development/gamedriver/GameDriverGlobalSwitchBarControllerTest.java
deleted file mode 100644
index f546c36..0000000
--- a/tests/robotests/src/com/android/settings/development/gamedriver/GameDriverGlobalSwitchBarControllerTest.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * Copyright 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.development.gamedriver;
-
-import static com.android.settings.development.gamedriver.GameDriverEnableForAllAppsPreferenceController.GAME_DRIVER_DEFAULT;
-import static com.android.settings.development.gamedriver.GameDriverEnableForAllAppsPreferenceController.GAME_DRIVER_OFF;
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.Mockito.verify;
-
-import android.content.ContentResolver;
-import android.content.Context;
-import android.provider.Settings;
-
-import com.android.settings.widget.SwitchBar;
-import com.android.settings.widget.SwitchBarController;
-import com.android.settings.widget.SwitchWidgetController;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-
-@RunWith(RobolectricTestRunner.class)
-public class GameDriverGlobalSwitchBarControllerTest {
-
-    @Mock
-    private SwitchBar mSwitchBar;
-    @Mock
-    private SwitchWidgetController mSwitchWidgetController;
-    @Mock
-    private GameDriverContentObserver mGameDriverContentObserver;
-
-    private Context mContext;
-    private ContentResolver mResolver;
-    private GameDriverGlobalSwitchBarController mController;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        mContext = RuntimeEnvironment.application;
-        mResolver = mContext.getContentResolver();
-    }
-
-    @Test
-    public void constructor_gameDriverOn_shouldCheckSwitchBar() {
-        Settings.Global.putInt(
-                mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT);
-        mController = new GameDriverGlobalSwitchBarController(
-                mContext, new SwitchBarController(mSwitchBar));
-
-        verify(mSwitchBar).setChecked(true);
-    }
-
-    @Test
-    public void constructor_gameDriverOff_shouldUncheckSwitchBar() {
-        Settings.Global.putInt(mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_OFF);
-        mController = new GameDriverGlobalSwitchBarController(
-                mContext, new SwitchBarController(mSwitchBar));
-
-        verify(mSwitchBar).setChecked(false);
-    }
-
-    @Test
-    public void constructor_developmentSettingsEnabled_shouldEnableSwitchBar() {
-        Settings.Global.putInt(mResolver, Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 1);
-        mController = new GameDriverGlobalSwitchBarController(
-                mContext, new SwitchBarController(mSwitchBar));
-
-        verify(mSwitchBar).setEnabled(true);
-    }
-
-    @Test
-    public void constructor_developmentSettingsDisabled_shouldDisableSwitchBar() {
-        Settings.Global.putInt(mResolver, Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 0);
-        mController = new GameDriverGlobalSwitchBarController(
-                mContext, new SwitchBarController(mSwitchBar));
-
-        verify(mSwitchBar).setEnabled(false);
-    }
-
-    @Test
-    public void onStart_shouldStartListeningAndRegister() {
-        mController = new GameDriverGlobalSwitchBarController(
-                mContext, new SwitchBarController(mSwitchBar));
-        mController.mSwitchWidgetController = mSwitchWidgetController;
-        mController.mGameDriverContentObserver = mGameDriverContentObserver;
-        mController.onStart();
-
-        verify(mSwitchWidgetController).startListening();
-        verify(mGameDriverContentObserver).register(mResolver);
-    }
-
-    @Test
-    public void onStop_shouldStopListeningAndUnregister() {
-        mController = new GameDriverGlobalSwitchBarController(
-                mContext, new SwitchBarController(mSwitchBar));
-        mController.mSwitchWidgetController = mSwitchWidgetController;
-        mController.mGameDriverContentObserver = mGameDriverContentObserver;
-        mController.onStop();
-
-        verify(mSwitchWidgetController).stopListening();
-        verify(mGameDriverContentObserver).unregister(mResolver);
-    }
-
-    @Test
-    public void onSwitchToggled_checked_shouldTurnOnGameDriver() {
-        Settings.Global.putInt(mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_OFF);
-        mController = new GameDriverGlobalSwitchBarController(
-                mContext, new SwitchBarController(mSwitchBar));
-        mController.onSwitchToggled(true);
-
-        assertThat(Settings.Global.getInt(
-                           mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT))
-                .isEqualTo(GAME_DRIVER_DEFAULT);
-    }
-
-    @Test
-    public void onSwitchToggled_unchecked_shouldTurnOffGameDriver() {
-        Settings.Global.putInt(
-                mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT);
-        mController = new GameDriverGlobalSwitchBarController(
-                mContext, new SwitchBarController(mSwitchBar));
-        mController.onSwitchToggled(false);
-
-        assertThat(Settings.Global.getInt(
-                           mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT))
-                .isEqualTo(GAME_DRIVER_OFF);
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/development/graphicsdriver/GraphicsDriverAppPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/graphicsdriver/GraphicsDriverAppPreferenceControllerTest.java
new file mode 100644
index 0000000..372daf0
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/development/graphicsdriver/GraphicsDriverAppPreferenceControllerTest.java
@@ -0,0 +1,338 @@
+/*
+ * Copyright 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.development.graphicsdriver;
+
+import static com.android.settings.core.BasePreferenceController.AVAILABLE;
+import static com.android.settings.core.BasePreferenceController.CONDITIONALLY_UNAVAILABLE;
+import static com.android.settings.development.graphicsdriver.GraphicsDriverEnableForAllAppsPreferenceController.GAME_DRIVER_DEFAULT;
+import static com.android.settings.development.graphicsdriver.GraphicsDriverEnableForAllAppsPreferenceController.GAME_DRIVER_OFF;
+import static com.android.settings.testutils.ApplicationTestUtils.buildInfo;
+
+import static com.google.common.truth.Truth.assertThat;
+
+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.pm.ApplicationInfo;
+import android.content.pm.PackageManager;
+import android.provider.Settings;
+
+import androidx.preference.ListPreference;
+import androidx.preference.PreferenceCategory;
+import androidx.preference.PreferenceGroup;
+import androidx.preference.PreferenceManager;
+import androidx.preference.PreferenceScreen;
+
+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 org.robolectric.RuntimeEnvironment;
+
+import java.util.Arrays;
+
+@RunWith(RobolectricTestRunner.class)
+public class GraphicsDriverAppPreferenceControllerTest {
+
+    private static final int DEFAULT = 0;
+    private static final int PRERELEASE_DRIVER = 1;
+    private static final int GAME_DRIVER = 2;
+    private static final int SYSTEM = 3;
+    private static final String TEST_APP_NAME = "testApp";
+    private static final String TEST_PKG_NAME = "testPkg";
+
+    // Pre-installed Apps in the Mock PackageManager
+    private static final String APP_1 = "app1";
+    private static final String APP_2 = "app2";
+    private static final String APP_3 = "app3";
+
+    @Mock
+    private PackageManager mPackageManager;
+    @Mock
+    private PreferenceScreen mScreen;
+    @Mock
+    private GraphicsDriverContentObserver mGraphicsDriverContentObserver;
+
+    private Context mContext;
+    private PreferenceGroup mGroup;
+    private PreferenceManager mPreferenceManager;
+    private ContentResolver mResolver;
+    private GraphicsDriverAppPreferenceController mController;
+    private CharSequence[] mValueList;
+    private String mDialogTitle;
+    private String mPreferencePrereleaseDriver;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mContext = spy(RuntimeEnvironment.application);
+        mResolver = mContext.getContentResolver();
+        mValueList =
+                mContext.getResources().getStringArray(
+                        R.array.graphics_driver_app_preference_values);
+        mDialogTitle = mContext.getResources().getString(
+                R.string.graphics_driver_app_preference_title);
+        mPreferencePrereleaseDriver =
+                mContext.getResources().getString(
+                        R.string.graphics_driver_app_preference_prerelease_driver);
+    }
+
+    @Test
+    public void getAvailability_developmentSettingsEnabledAndGameDriverOn_available() {
+        loadDefaultConfig();
+        Settings.Global.putInt(mResolver, Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 1);
+        Settings.Global.putInt(
+                mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT);
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
+    }
+
+    @Test
+    public void getAvailability_developmentSettingsDisabled_conditionallyUnavailable() {
+        loadDefaultConfig();
+        Settings.Global.putInt(mResolver, Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 0);
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
+    }
+
+    @Test
+    public void getAvailability_graphicsDriverOff_conditionallyUnavailable() {
+        loadDefaultConfig();
+        Settings.Global.putInt(mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_OFF);
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
+    }
+
+    @Test
+    public void displayPreference_shouldAddTwoPreferencesAndSortAscendingly() {
+        mockPackageManager();
+        loadDefaultConfig();
+
+        // Only non-system app has preference
+        assertThat(mGroup.getPreferenceCount()).isEqualTo(2);
+        assertThat(mGroup.getPreference(0).getKey()).isEqualTo(APP_1);
+        assertThat(mGroup.getPreference(1).getKey()).isEqualTo(APP_3);
+    }
+
+    @Test
+    public void onStart_shouldRegister() {
+        loadDefaultConfig();
+        mController.mGraphicsDriverContentObserver = mGraphicsDriverContentObserver;
+        mController.onStart();
+
+        verify(mGraphicsDriverContentObserver).register(mResolver);
+    }
+
+    @Test
+    public void onStop_shouldUnregister() {
+        loadDefaultConfig();
+        mController.mGraphicsDriverContentObserver = mGraphicsDriverContentObserver;
+        mController.onStop();
+
+        verify(mGraphicsDriverContentObserver).unregister(mResolver);
+    }
+
+    @Test
+    public void updateState_available_visible() {
+        Settings.Global.putInt(mResolver, Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 1);
+        Settings.Global.putInt(
+                mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT);
+        loadDefaultConfig();
+
+        assertThat(mGroup.isVisible()).isTrue();
+    }
+
+    @Test
+    public void updateState_graphicsDriverOff_notVisible() {
+        Settings.Global.putInt(mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_OFF);
+        loadDefaultConfig();
+
+        assertThat(mGroup.isVisible()).isFalse();
+    }
+
+    @Test
+    public void createPreference_configDefault_shouldSetDefaultAttributes() {
+        loadDefaultConfig();
+        final ListPreference preference =
+                mController.createListPreference(mContext, TEST_PKG_NAME, TEST_APP_NAME);
+
+        assertThat(preference.getKey()).isEqualTo(TEST_PKG_NAME);
+        assertThat(preference.getTitle()).isEqualTo(TEST_APP_NAME);
+        assertThat(preference.getDialogTitle()).isEqualTo(mDialogTitle);
+        assertThat(preference.getEntries()).isEqualTo(mValueList);
+        assertThat(preference.getEntryValues()).isEqualTo(mValueList);
+        assertThat(preference.getEntry()).isEqualTo(mValueList[DEFAULT]);
+        assertThat(preference.getValue()).isEqualTo(mValueList[DEFAULT]);
+        assertThat(preference.getSummary()).isEqualTo(mValueList[DEFAULT]);
+    }
+
+    @Test
+    public void createPreference_configGAME_DRIVER_shouldSetGameDriverAttributes() {
+        loadConfig(TEST_PKG_NAME, "", "");
+        final ListPreference preference =
+                mController.createListPreference(mContext, TEST_PKG_NAME, TEST_APP_NAME);
+
+        assertThat(preference.getKey()).isEqualTo(TEST_PKG_NAME);
+        assertThat(preference.getTitle()).isEqualTo(TEST_APP_NAME);
+        assertThat(preference.getDialogTitle()).isEqualTo(mDialogTitle);
+        assertThat(preference.getEntries()).isEqualTo(mValueList);
+        assertThat(preference.getEntryValues()).isEqualTo(mValueList);
+        assertThat(preference.getEntry()).isEqualTo(mValueList[GAME_DRIVER]);
+        assertThat(preference.getValue()).isEqualTo(mValueList[GAME_DRIVER]);
+        assertThat(preference.getSummary()).isEqualTo(mValueList[GAME_DRIVER]);
+    }
+
+    @Test
+    public void createPreference_configPRERELEASE_DRIVER_shouldSetPrereleaseDriverAttributes() {
+        loadConfig("", TEST_PKG_NAME, "");
+        final ListPreference preference =
+                mController.createListPreference(mContext, TEST_PKG_NAME, TEST_APP_NAME);
+
+        assertThat(preference.getKey()).isEqualTo(TEST_PKG_NAME);
+        assertThat(preference.getTitle()).isEqualTo(TEST_APP_NAME);
+        assertThat(preference.getDialogTitle()).isEqualTo(mDialogTitle);
+        assertThat(preference.getEntries()).isEqualTo(mValueList);
+        assertThat(preference.getEntryValues()).isEqualTo(mValueList);
+        assertThat(preference.getEntry()).isEqualTo(mValueList[PRERELEASE_DRIVER]);
+        assertThat(preference.getValue()).isEqualTo(mValueList[PRERELEASE_DRIVER]);
+        assertThat(preference.getSummary()).isEqualTo(mPreferencePrereleaseDriver);
+    }
+
+    @Test
+    public void createPreference_configSystem_shouldSetSystemAttributes() {
+        loadConfig("", "", TEST_PKG_NAME);
+        final ListPreference preference =
+                mController.createListPreference(mContext, TEST_PKG_NAME, TEST_APP_NAME);
+
+        assertThat(preference.getKey()).isEqualTo(TEST_PKG_NAME);
+        assertThat(preference.getTitle()).isEqualTo(TEST_APP_NAME);
+        assertThat(preference.getDialogTitle()).isEqualTo(mDialogTitle);
+        assertThat(preference.getEntries()).isEqualTo(mValueList);
+        assertThat(preference.getEntryValues()).isEqualTo(mValueList);
+        assertThat(preference.getEntry()).isEqualTo(mValueList[SYSTEM]);
+        assertThat(preference.getValue()).isEqualTo(mValueList[SYSTEM]);
+        assertThat(preference.getSummary()).isEqualTo(mValueList[SYSTEM]);
+    }
+
+    @Test
+    public void onPreferenceChange_selectDefault_shouldUpdateAttributesAndSettingsGlobal() {
+        loadDefaultConfig();
+        final ListPreference preference =
+                mController.createListPreference(mContext, TEST_PKG_NAME, TEST_APP_NAME);
+        mController.onPreferenceChange(preference, mValueList[DEFAULT]);
+
+        assertThat(preference.getEntry()).isEqualTo(mValueList[DEFAULT]);
+        assertThat(preference.getValue()).isEqualTo(mValueList[DEFAULT]);
+        assertThat(preference.getSummary()).isEqualTo(mValueList[DEFAULT]);
+        assertThat(Settings.Global.getString(mResolver, Settings.Global.GAME_DRIVER_OPT_IN_APPS))
+                .isEqualTo("");
+        assertThat(Settings.Global.getString(mResolver, Settings.Global.GAME_DRIVER_OPT_OUT_APPS))
+                .isEqualTo("");
+    }
+
+    @Test
+    public void onPreferenceChange_selectPRERELEASE_DRIVER_shouldUpdateAttrAndSettingsGlobal() {
+        loadDefaultConfig();
+        final ListPreference preference =
+                mController.createListPreference(mContext, TEST_PKG_NAME, TEST_APP_NAME);
+        mController.onPreferenceChange(preference, mValueList[PRERELEASE_DRIVER]);
+
+        assertThat(preference.getEntry()).isEqualTo(mValueList[PRERELEASE_DRIVER]);
+        assertThat(preference.getValue()).isEqualTo(mValueList[PRERELEASE_DRIVER]);
+        assertThat(preference.getSummary()).isEqualTo(mValueList[PRERELEASE_DRIVER]);
+        assertThat(Settings.Global.getString(mResolver,
+                Settings.Global.GAME_DRIVER_PRERELEASE_OPT_IN_APPS))
+                .isEqualTo(TEST_PKG_NAME);
+        assertThat(Settings.Global.getString(mResolver, Settings.Global.GAME_DRIVER_OPT_OUT_APPS))
+                .isEqualTo("");
+    }
+
+    @Test
+    public void onPreferenceChange_selectGAME_DRIVER_shouldUpdateAttributesAndSettingsGlobal() {
+        loadDefaultConfig();
+        final ListPreference preference =
+                mController.createListPreference(mContext, TEST_PKG_NAME, TEST_APP_NAME);
+        mController.onPreferenceChange(preference, mValueList[GAME_DRIVER]);
+
+        assertThat(preference.getEntry()).isEqualTo(mValueList[GAME_DRIVER]);
+        assertThat(preference.getValue()).isEqualTo(mValueList[GAME_DRIVER]);
+        assertThat(preference.getSummary()).isEqualTo(mValueList[GAME_DRIVER]);
+        assertThat(Settings.Global.getString(mResolver, Settings.Global.GAME_DRIVER_OPT_IN_APPS))
+                .isEqualTo(TEST_PKG_NAME);
+        assertThat(Settings.Global.getString(mResolver, Settings.Global.GAME_DRIVER_OPT_OUT_APPS))
+                .isEqualTo("");
+    }
+
+    @Test
+    public void onPreferenceChange_selectSystem_shouldUpdateAttributesAndSettingsGlobal() {
+        loadDefaultConfig();
+        final ListPreference preference =
+                mController.createListPreference(mContext, TEST_PKG_NAME, TEST_APP_NAME);
+        mController.onPreferenceChange(preference, mValueList[SYSTEM]);
+
+        assertThat(preference.getEntry()).isEqualTo(mValueList[SYSTEM]);
+        assertThat(preference.getValue()).isEqualTo(mValueList[SYSTEM]);
+        assertThat(preference.getSummary()).isEqualTo(mValueList[SYSTEM]);
+        assertThat(Settings.Global.getString(mResolver, Settings.Global.GAME_DRIVER_OPT_IN_APPS))
+                .isEqualTo("");
+        assertThat(Settings.Global.getString(mResolver, Settings.Global.GAME_DRIVER_OPT_OUT_APPS))
+                .isEqualTo(TEST_PKG_NAME);
+    }
+
+    private void mockPackageManager() {
+        final int uid = mContext.getUserId();
+        final ApplicationInfo app1 = buildInfo(uid, APP_1, 0 /* flags */, 0 /* targetSdkVersion */);
+        final ApplicationInfo app2 =
+                buildInfo(uid, APP_2, ApplicationInfo.FLAG_SYSTEM, 0 /* targetSdkVersion */);
+        final ApplicationInfo app3 = buildInfo(uid, APP_3, 0 /* flags */, 0 /* targetSdkVersion */);
+
+        when(mPackageManager.getInstalledApplications(0 /* flags */))
+                .thenReturn(Arrays.asList(app3, app2, app1));
+        when(mPackageManager.getApplicationLabel(app1)).thenReturn(APP_1);
+        when(mPackageManager.getApplicationLabel(app2)).thenReturn(APP_2);
+        when(mPackageManager.getApplicationLabel(app3)).thenReturn(APP_3);
+        when(mContext.getPackageManager()).thenReturn(mPackageManager);
+    }
+
+    private void loadDefaultConfig() {
+        loadConfig("", "", "");
+    }
+
+    private void loadConfig(String optIn, String prereleaseOptIn, String optOut) {
+        Settings.Global.putString(mResolver, Settings.Global.GAME_DRIVER_OPT_IN_APPS, optIn);
+        Settings.Global.putString(
+                mResolver, Settings.Global.GAME_DRIVER_PRERELEASE_OPT_IN_APPS, prereleaseOptIn);
+        Settings.Global.putString(mResolver, Settings.Global.GAME_DRIVER_OPT_OUT_APPS, optOut);
+
+        mController = new GraphicsDriverAppPreferenceController(mContext, "testKey");
+        mController.mEntryList = mContext.getResources().getStringArray(
+                R.array.graphics_driver_app_preference_values);
+        mGroup = spy(new PreferenceCategory(mContext));
+        final PreferenceManager preferenceManager = new PreferenceManager(mContext);
+        when(mGroup.getContext()).thenReturn(mContext);
+        when(mGroup.getPreferenceManager()).thenReturn(preferenceManager);
+        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mGroup);
+        mController.displayPreference(mScreen);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/development/graphicsdriver/GraphicsDriverContentObserverTest.java b/tests/robotests/src/com/android/settings/development/graphicsdriver/GraphicsDriverContentObserverTest.java
new file mode 100644
index 0000000..b6bf4a7
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/development/graphicsdriver/GraphicsDriverContentObserverTest.java
@@ -0,0 +1,71 @@
+/*
+ * Copyright 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.development.graphicsdriver;
+
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+
+import android.content.ContentResolver;
+import android.provider.Settings;
+
+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;
+
+@RunWith(RobolectricTestRunner.class)
+public class GraphicsDriverContentObserverTest {
+
+    @Mock
+    private ContentResolver mResolver;
+    @Mock
+    private GraphicsDriverContentObserver.OnGraphicsDriverContentChangedListener mListener;
+
+    private GraphicsDriverContentObserver mGraphicsDriverContentObserver;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mGraphicsDriverContentObserver = spy(new GraphicsDriverContentObserver(null, null));
+    }
+
+    @Test
+    public void onChange_shouldCallListener() {
+        mGraphicsDriverContentObserver.mListener = mListener;
+        mGraphicsDriverContentObserver.onChange(true);
+
+        verify(mListener).onGraphicsDriverContentChanged();
+    }
+
+    @Test
+    public void register_shouldRegisterContentObserver() {
+        mGraphicsDriverContentObserver.register(mResolver);
+
+        verify(mResolver).registerContentObserver(
+                Settings.Global.getUriFor(Settings.Global.GAME_DRIVER_ALL_APPS), false,
+                mGraphicsDriverContentObserver);
+    }
+
+    @Test
+    public void unregister_shouldUnregisterContentObserver() {
+        mGraphicsDriverContentObserver.unregister(mResolver);
+
+        verify(mResolver).unregisterContentObserver(mGraphicsDriverContentObserver);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/development/graphicsdriver/GraphicsDriverDashboardTest.java b/tests/robotests/src/com/android/settings/development/graphicsdriver/GraphicsDriverDashboardTest.java
new file mode 100644
index 0000000..838f47b
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/development/graphicsdriver/GraphicsDriverDashboardTest.java
@@ -0,0 +1,55 @@
+/*
+ * Copyright 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.development.graphicsdriver;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.app.settings.SettingsEnums;
+
+import com.android.settings.R;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+
+@RunWith(RobolectricTestRunner.class)
+public class GraphicsDriverDashboardTest {
+
+    private GraphicsDriverDashboard mDashboard;
+
+    @Before
+    public void setUp() {
+        mDashboard = new GraphicsDriverDashboard();
+    }
+
+    @Test
+    public void getHelpResource_shouldReturn0() {
+        assertThat(mDashboard.getHelpResource()).isEqualTo(0);
+    }
+
+    @Test
+    public void getMetricesCategory_shouldReturnGraphicsDriverDashboard() {
+        assertThat(mDashboard.getMetricsCategory())
+                .isEqualTo(SettingsEnums.SETTINGS_GAME_DRIVER_DASHBOARD);
+    }
+
+    @Test
+    public void getPreferenceScreen_shouldReturnGraphicsDriverSettings() {
+        assertThat(mDashboard.getPreferenceScreenResId()).isEqualTo(R.xml.graphics_driver_settings);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/development/graphicsdriver/GraphicsDriverEnableForAllAppsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/graphicsdriver/GraphicsDriverEnableForAllAppsPreferenceControllerTest.java
new file mode 100644
index 0000000..920e9d1
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/development/graphicsdriver/GraphicsDriverEnableForAllAppsPreferenceControllerTest.java
@@ -0,0 +1,214 @@
+/*
+ * Copyright 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.development.graphicsdriver;
+
+import static com.android.settings.core.BasePreferenceController.AVAILABLE;
+import static com.android.settings.core.BasePreferenceController.CONDITIONALLY_UNAVAILABLE;
+import static com.android.settings.development.graphicsdriver.GraphicsDriverEnableForAllAppsPreferenceController.GAME_DRIVER_ALL_APPS;
+import static com.android.settings.development.graphicsdriver.GraphicsDriverEnableForAllAppsPreferenceController.GAME_DRIVER_DEFAULT;
+import static com.android.settings.development.graphicsdriver.GraphicsDriverEnableForAllAppsPreferenceController.GAME_DRIVER_OFF;
+import static com.android.settings.development.graphicsdriver.GraphicsDriverEnableForAllAppsPreferenceController.GAME_DRIVER_PRERELEASE_ALL_APPS;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.atLeastOnce;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.content.ContentResolver;
+import android.content.Context;
+import android.content.res.Resources;
+import android.provider.Settings;
+
+import androidx.preference.ListPreference;
+import androidx.preference.PreferenceScreen;
+
+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 org.robolectric.RuntimeEnvironment;
+
+@RunWith(RobolectricTestRunner.class)
+public class GraphicsDriverEnableForAllAppsPreferenceControllerTest {
+
+    @Mock
+    private PreferenceScreen mScreen;
+    @Mock
+    private ListPreference mPreference;
+    @Mock
+    private GraphicsDriverContentObserver mGraphicsDriverContentObserver;
+
+    private Context mContext;
+    private ContentResolver mResolver;
+    private GraphicsDriverEnableForAllAppsPreferenceController mController;
+    private String mPreferenceDefault;
+    private String mPreferenceGameDriver;
+    private String mPreferencePrereleaseDriver;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mContext = RuntimeEnvironment.application;
+        mResolver = mContext.getContentResolver();
+
+        final Resources resources = mContext.getResources();
+        mPreferenceDefault = resources.getString(R.string.graphics_driver_app_preference_default);
+        mPreferenceGameDriver =
+                resources.getString(R.string.graphics_driver_app_preference_game_driver);
+        mPreferencePrereleaseDriver =
+                resources.getString(R.string.graphics_driver_app_preference_prerelease_driver);
+
+        Settings.Global.putInt(mResolver, Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 1);
+        Settings.Global.putInt(
+                mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT);
+
+        mController = new GraphicsDriverEnableForAllAppsPreferenceController(mContext, "testKey");
+        mController.mEntryList = mContext.getResources().getStringArray(
+                R.array.graphics_driver_all_apps_preference_values);
+        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
+        mController.displayPreference(mScreen);
+    }
+
+    @Test
+    public void getAvailability_developmentSettingsEnabledAndGameDriverSettingsOn_available() {
+        Settings.Global.putInt(
+                mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT);
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
+    }
+
+    @Test
+    public void getAvailability_developmentSettingsDisabled_conditionallyUnavailable() {
+        Settings.Global.putInt(mResolver, Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 0);
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
+    }
+
+    @Test
+    public void getAvailability_gameDriverOff_conditionallyUnavailable() {
+        Settings.Global.putInt(mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_OFF);
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
+    }
+
+    @Test
+    public void displayPreference_shouldAddListPreference() {
+        Settings.Global.putInt(
+                mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT);
+        mController.updateState(mPreference);
+
+        verify(mPreference).setValue(mPreferenceDefault);
+        verify(mPreference).setSummary(mPreferenceDefault);
+    }
+
+    @Test
+    public void onStart_shouldRegister() {
+        mController.mGraphicsDriverContentObserver = mGraphicsDriverContentObserver;
+        mController.onStart();
+
+        verify(mGraphicsDriverContentObserver).register(mResolver);
+    }
+
+    @Test
+    public void onStop_shouldUnregister() {
+        mController.mGraphicsDriverContentObserver = mGraphicsDriverContentObserver;
+        mController.onStop();
+
+        verify(mGraphicsDriverContentObserver).unregister(mResolver);
+    }
+
+    @Test
+    public void updateState_availableAndDefault_visibleAndDefault() {
+        Settings.Global.putInt(
+                mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT);
+        mController.updateState(mPreference);
+
+        verify(mPreference, atLeastOnce()).setVisible(true);
+        verify(mPreference).setValue(mPreferenceDefault);
+        verify(mPreference).setSummary(mPreferenceDefault);
+    }
+
+    @Test
+    public void updateState_availableAndGameDriver_visibleAndGameDriver() {
+        Settings.Global.putInt(
+                mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_ALL_APPS);
+        mController.updateState(mPreference);
+
+        verify(mPreference, atLeastOnce()).setVisible(true);
+        verify(mPreference).setValue(mPreferenceGameDriver);
+        verify(mPreference).setSummary(mPreferenceGameDriver);
+    }
+
+    @Test
+    public void updateState_availableAndPrereleaseDriver_visibleAndPrereleaseDriver() {
+        Settings.Global.putInt(
+                mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_PRERELEASE_ALL_APPS);
+        mController.updateState(mPreference);
+
+        verify(mPreference, atLeastOnce()).setVisible(true);
+        verify(mPreference).setValue(mPreferencePrereleaseDriver);
+        verify(mPreference).setSummary(mPreferencePrereleaseDriver);
+    }
+
+    @Test
+    public void updateState_gameDriverOff_notVisibleAndSystemDriver() {
+        Settings.Global.putInt(mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_OFF);
+        mController.updateState(mPreference);
+
+        verify(mPreference).setVisible(false);
+        verify(mPreference).setValue(mPreferenceDefault);
+        verify(mPreference).setSummary(mPreferenceDefault);
+    }
+
+    @Test
+    public void onPreferenceChange_default_shouldUpdateSettingsGlobal() {
+        Settings.Global.putInt(
+                mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_ALL_APPS);
+        mController.onPreferenceChange(mPreference, mPreferenceDefault);
+
+        assertThat(Settings.Global.getInt(
+                mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT))
+                .isEqualTo(GAME_DRIVER_DEFAULT);
+    }
+
+    @Test
+    public void onPreferenceChange_gameDriver_shouldUpdateSettingsGlobal() {
+        Settings.Global.putInt(
+                mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT);
+        mController.onPreferenceChange(mPreference, mPreferenceGameDriver);
+
+        assertThat(Settings.Global.getInt(
+                mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT))
+                .isEqualTo(GAME_DRIVER_ALL_APPS);
+    }
+
+    @Test
+    public void onPreferenceChange_prereleaseDriver_shouldUpdateSettingsGlobal() {
+        Settings.Global.putInt(
+                mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT);
+        mController.onPreferenceChange(mPreference, mPreferencePrereleaseDriver);
+
+        assertThat(Settings.Global.getInt(
+                mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT))
+                .isEqualTo(GAME_DRIVER_PRERELEASE_ALL_APPS);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/development/graphicsdriver/GraphicsDriverFooterPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/graphicsdriver/GraphicsDriverFooterPreferenceControllerTest.java
new file mode 100644
index 0000000..a2d23b6
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/development/graphicsdriver/GraphicsDriverFooterPreferenceControllerTest.java
@@ -0,0 +1,124 @@
+/*
+ * Copyright 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.development.graphicsdriver;
+
+import static com.android.settings.core.BasePreferenceController.AVAILABLE_UNSEARCHABLE;
+import static com.android.settings.core.BasePreferenceController.CONDITIONALLY_UNAVAILABLE;
+import static com.android.settings.development.graphicsdriver.GraphicsDriverEnableForAllAppsPreferenceController.GAME_DRIVER_ALL_APPS;
+import static com.android.settings.development.graphicsdriver.GraphicsDriverEnableForAllAppsPreferenceController.GAME_DRIVER_DEFAULT;
+import static com.android.settings.development.graphicsdriver.GraphicsDriverEnableForAllAppsPreferenceController.GAME_DRIVER_OFF;
+
+import static com.google.common.truth.Truth.assertThat;
+
+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.provider.Settings;
+
+import androidx.preference.PreferenceScreen;
+
+import com.android.settingslib.widget.FooterPreference;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+@RunWith(RobolectricTestRunner.class)
+public class GraphicsDriverFooterPreferenceControllerTest {
+
+    @Mock
+    private PreferenceScreen mScreen;
+    @Mock
+    private FooterPreference mPreference;
+    @Mock
+    private GraphicsDriverContentObserver mGraphicsDriverContentObserver;
+
+    private Context mContext;
+    private ContentResolver mResolver;
+    private GraphicsDriverFooterPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mContext = RuntimeEnvironment.application;
+        mResolver = mContext.getContentResolver();
+        mController = spy(new GraphicsDriverFooterPreferenceController(mContext, "key"));
+        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
+    }
+
+    @Test
+    public void getAvailabilityStatus_gameDriverOff_availableUnsearchable() {
+        Settings.Global.putInt(mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_OFF);
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE_UNSEARCHABLE);
+    }
+
+    @Test
+    public void getAvailabilityStatus_gameDriverDefault_conditionallyUnavailable() {
+        Settings.Global.putInt(
+                mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT);
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
+    }
+
+    @Test
+    public void getAvailabilityStatus_gameDriverAllApps_conditionallyUnavailable() {
+        Settings.Global.putInt(
+                mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_ALL_APPS);
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
+    }
+
+    @Test
+    public void onStart_shouldRegister() {
+        mController.mGraphicsDriverContentObserver = mGraphicsDriverContentObserver;
+        mController.onStart();
+
+        verify(mGraphicsDriverContentObserver).register(mResolver);
+    }
+
+    @Test
+    public void onStop_shouldUnregister() {
+        mController.mGraphicsDriverContentObserver = mGraphicsDriverContentObserver;
+        mController.onStop();
+
+        verify(mGraphicsDriverContentObserver).unregister(mResolver);
+    }
+
+    @Test
+    public void updateState_available_visible() {
+        when(mController.getAvailabilityStatus()).thenReturn(AVAILABLE_UNSEARCHABLE);
+        mController.updateState(mPreference);
+
+        verify(mPreference).setVisible(true);
+    }
+
+    @Test
+    public void updateState_unavailable_invisible() {
+        when(mController.getAvailabilityStatus()).thenReturn(CONDITIONALLY_UNAVAILABLE);
+        mController.updateState(mPreference);
+
+        verify(mPreference).setVisible(false);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/development/graphicsdriver/GraphicsDriverGlobalSwitchBarControllerTest.java b/tests/robotests/src/com/android/settings/development/graphicsdriver/GraphicsDriverGlobalSwitchBarControllerTest.java
new file mode 100644
index 0000000..7d4ee45
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/development/graphicsdriver/GraphicsDriverGlobalSwitchBarControllerTest.java
@@ -0,0 +1,148 @@
+/*
+ * Copyright 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.development.graphicsdriver;
+
+import static com.android.settings.development.graphicsdriver.GraphicsDriverEnableForAllAppsPreferenceController.GAME_DRIVER_DEFAULT;
+import static com.android.settings.development.graphicsdriver.GraphicsDriverEnableForAllAppsPreferenceController.GAME_DRIVER_OFF;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.verify;
+
+import android.content.ContentResolver;
+import android.content.Context;
+import android.provider.Settings;
+
+import com.android.settings.widget.SwitchBar;
+import com.android.settings.widget.SwitchBarController;
+import com.android.settings.widget.SwitchWidgetController;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+@RunWith(RobolectricTestRunner.class)
+public class GraphicsDriverGlobalSwitchBarControllerTest {
+
+    @Mock
+    private SwitchBar mSwitchBar;
+    @Mock
+    private SwitchWidgetController mSwitchWidgetController;
+    @Mock
+    private GraphicsDriverContentObserver mGraphicsDriverContentObserver;
+
+    private Context mContext;
+    private ContentResolver mResolver;
+    private GraphicsDriverGlobalSwitchBarController mController;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mContext = RuntimeEnvironment.application;
+        mResolver = mContext.getContentResolver();
+    }
+
+    @Test
+    public void constructor_gameDriverOn_shouldCheckSwitchBar() {
+        Settings.Global.putInt(
+                mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT);
+        mController = new GraphicsDriverGlobalSwitchBarController(
+                mContext, new SwitchBarController(mSwitchBar));
+
+        verify(mSwitchBar).setChecked(true);
+    }
+
+    @Test
+    public void constructor_gameDriverOff_shouldUncheckSwitchBar() {
+        Settings.Global.putInt(mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_OFF);
+        mController = new GraphicsDriverGlobalSwitchBarController(
+                mContext, new SwitchBarController(mSwitchBar));
+
+        verify(mSwitchBar).setChecked(false);
+    }
+
+    @Test
+    public void constructor_developmentSettingsEnabled_shouldEnableSwitchBar() {
+        Settings.Global.putInt(mResolver, Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 1);
+        mController = new GraphicsDriverGlobalSwitchBarController(
+                mContext, new SwitchBarController(mSwitchBar));
+
+        verify(mSwitchBar).setEnabled(true);
+    }
+
+    @Test
+    public void constructor_developmentSettingsDisabled_shouldDisableSwitchBar() {
+        Settings.Global.putInt(mResolver, Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 0);
+        mController = new GraphicsDriverGlobalSwitchBarController(
+                mContext, new SwitchBarController(mSwitchBar));
+
+        verify(mSwitchBar).setEnabled(false);
+    }
+
+    @Test
+    public void onStart_shouldStartListeningAndRegister() {
+        mController = new GraphicsDriverGlobalSwitchBarController(
+                mContext, new SwitchBarController(mSwitchBar));
+        mController.mSwitchWidgetController = mSwitchWidgetController;
+        mController.mGraphicsDriverContentObserver = mGraphicsDriverContentObserver;
+        mController.onStart();
+
+        verify(mSwitchWidgetController).startListening();
+        verify(mGraphicsDriverContentObserver).register(mResolver);
+    }
+
+    @Test
+    public void onStop_shouldStopListeningAndUnregister() {
+        mController = new GraphicsDriverGlobalSwitchBarController(
+                mContext, new SwitchBarController(mSwitchBar));
+        mController.mSwitchWidgetController = mSwitchWidgetController;
+        mController.mGraphicsDriverContentObserver = mGraphicsDriverContentObserver;
+        mController.onStop();
+
+        verify(mSwitchWidgetController).stopListening();
+        verify(mGraphicsDriverContentObserver).unregister(mResolver);
+    }
+
+    @Test
+    public void onSwitchToggled_checked_shouldTurnOnGameDriver() {
+        Settings.Global.putInt(mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_OFF);
+        mController = new GraphicsDriverGlobalSwitchBarController(
+                mContext, new SwitchBarController(mSwitchBar));
+        mController.onSwitchToggled(true);
+
+        assertThat(Settings.Global.getInt(
+                           mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT))
+                .isEqualTo(GAME_DRIVER_DEFAULT);
+    }
+
+    @Test
+    public void onSwitchToggled_unchecked_shouldTurnOffGameDriver() {
+        Settings.Global.putInt(
+                mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT);
+        mController = new GraphicsDriverGlobalSwitchBarController(
+                mContext, new SwitchBarController(mSwitchBar));
+        mController.onSwitchToggled(false);
+
+        assertThat(Settings.Global.getInt(
+                           mResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT))
+                .isEqualTo(GAME_DRIVER_OFF);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/BuildNumberPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/BuildNumberPreferenceControllerTest.java
index 4543114..851e56f 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/BuildNumberPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/BuildNumberPreferenceControllerTest.java
@@ -28,7 +28,9 @@
 import android.app.Activity;
 import android.content.ClipboardManager;
 import android.content.Context;
+import android.content.pm.UserInfo;
 import android.os.Process;
+import android.os.UserHandle;
 import android.os.UserManager;
 import android.provider.Settings;
 
@@ -120,7 +122,7 @@
     @Test
     public void handlePrefTreeClick_notAdminUser_isDemoUser_handleBuildNumberPref() {
         mShadowUserManager.setIsAdminUser(false);
-        mShadowUserManager.setIsDemoUser(true);
+        mShadowUserManager.addUser(UserHandle.myUserId(), "test", UserInfo.FLAG_DEMO);
 
         assertThat(mController.handlePreferenceTreeClick(mPreference)).isTrue();
     }
@@ -203,4 +205,9 @@
         final CharSequence data = clipboard.getPrimaryClip().getItemAt(0).getText();
         assertThat(data.toString()).isEqualTo(mController.getSummary());
     }
+
+    @Test
+    public void isPublicSlice_returnTrue() {
+        assertThat(mController.isPublicSlice()).isTrue();
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/DeviceNamePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/DeviceNamePreferenceControllerTest.java
index 21c0e74..50a2cd1 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/DeviceNamePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/DeviceNamePreferenceControllerTest.java
@@ -27,7 +27,7 @@
 
 import android.bluetooth.BluetoothAdapter;
 import android.content.Context;
-import android.net.wifi.WifiConfiguration;
+import android.net.wifi.SoftApConfiguration;
 import android.net.wifi.WifiManager;
 import android.os.Build;
 import android.provider.Settings;
@@ -71,9 +71,9 @@
         mContext = RuntimeEnvironment.application;
         mPreference = new ValidatedEditTextPreference(mContext);
         when(mScreen.findPreference(anyString())).thenReturn(mPreference);
-        final WifiConfiguration configuration = new WifiConfiguration();
-        configuration.SSID = "test-ap";
-        when(mWifiManager.getWifiApConfiguration()).thenReturn(configuration);
+        final SoftApConfiguration configuration =
+                new SoftApConfiguration.Builder().setSsid("test-ap").build();
+        when(mWifiManager.getSoftApConfiguration()).thenReturn(configuration);
 
         mController = new DeviceNamePreferenceController(mContext, "test_key");
         mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
@@ -137,9 +137,10 @@
         mController.displayPreference(mScreen);
         mController.onPreferenceChange(mPreference, TESTING_STRING);
 
-        ArgumentCaptor<WifiConfiguration> captor = ArgumentCaptor.forClass(WifiConfiguration.class);
-        verify(mWifiManager).setWifiApConfiguration(captor.capture());
-        assertThat(captor.getValue().SSID).isEqualTo(TESTING_STRING);
+        ArgumentCaptor<SoftApConfiguration> captor =
+                ArgumentCaptor.forClass(SoftApConfiguration.class);
+        verify(mWifiManager).setSoftApConfiguration(captor.capture());
+        assertThat(captor.getValue().getSsid()).isEqualTo(TESTING_STRING);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/PhoneNumberPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/PhoneNumberPreferenceControllerTest.java
index 3e6e436..55b3d1a 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/PhoneNumberPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/PhoneNumberPreferenceControllerTest.java
@@ -21,7 +21,6 @@
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.ArgumentMatchers.anyInt;
-import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
@@ -141,7 +140,7 @@
 
     @Test
     public void getSummary_cannotGetActiveSubscriptionInfo_shouldShowUnknown() {
-        when(mSubscriptionManager.getActiveSubscriptionInfoList(eq(true))).thenReturn(null);
+        when(mSubscriptionManager.getActiveSubscriptionInfoList()).thenReturn(null);
 
         CharSequence primaryNumber = mController.getSummary();
 
@@ -152,7 +151,7 @@
     @Test
     public void getSummary_getEmptySubscriptionInfo_shouldShowUnknown() {
         List<SubscriptionInfo> infos = new ArrayList<>();
-        when(mSubscriptionManager.getActiveSubscriptionInfoList(eq(true))).thenReturn(infos);
+        when(mSubscriptionManager.getActiveSubscriptionInfoList()).thenReturn(infos);
 
         CharSequence primaryNumber = mController.getSummary();
 
@@ -168,7 +167,7 @@
     public void copy_shouldCopyPhoneNumberToClipboard() {
         final List<SubscriptionInfo> list = new ArrayList<>();
         list.add(mSubscriptionInfo);
-        when(mSubscriptionManager.getActiveSubscriptionInfoList(eq(true))).thenReturn(list);
+        when(mSubscriptionManager.getActiveSubscriptionInfoList()).thenReturn(list);
         final String phoneNumber = "1111111111";
         doReturn(phoneNumber).when(mController).getFormattedPhoneNumber(mSubscriptionInfo);
 
@@ -179,4 +178,9 @@
         final CharSequence data = clipboard.getPrimaryClip().getItemAt(0).getText();
         assertThat(phoneNumber.contentEquals(data)).isTrue();
     }
+
+    @Test
+    public void isPublicSlice_returnTrue() {
+        assertThat(mController.isPublicSlice()).isTrue();
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/TopLevelStoragePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/TopLevelStoragePreferenceControllerTest.java
index 6a19203..7d7be6c 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/TopLevelStoragePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/TopLevelStoragePreferenceControllerTest.java
@@ -29,6 +29,8 @@
 import android.os.storage.VolumeInfo;
 import android.text.format.Formatter;
 
+import androidx.preference.Preference;
+
 import com.android.settings.R;
 import com.android.settingslib.deviceinfo.StorageManagerVolumeProvider;
 
@@ -77,14 +79,15 @@
         when(mStorageManagerVolumeProvider
                 .getFreeBytes(nullable(StorageStatsManager.class), nullable(VolumeInfo.class)))
                 .thenReturn(0L);
-
         ReflectionHelpers.setField(mController,
                 "mStorageManagerVolumeProvider", mStorageManagerVolumeProvider);
-
         final String percentage = NumberFormat.getPercentInstance().format(1);
         final String freeSpace = Formatter.formatFileSize(RuntimeEnvironment.application, 0);
-        assertThat(mController.getSummary()).isEqualTo(
-                RuntimeEnvironment.application.getString(
-                        R.string.storage_summary, percentage, freeSpace));
+        final Preference preference = new Preference(mContext);
+
+        mController.updateState(preference);
+
+        assertThat(preference.getSummary()).isEqualTo(
+                mContext.getString(R.string.storage_summary, percentage, freeSpace));
     }
 }
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/aboutphone/MyDeviceInfoFragmentTest.java b/tests/robotests/src/com/android/settings/deviceinfo/aboutphone/MyDeviceInfoFragmentTest.java
index 90dcf71..b2ac7f1 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/aboutphone/MyDeviceInfoFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/aboutphone/MyDeviceInfoFragmentTest.java
@@ -18,98 +18,56 @@
 
 import static com.android.settings.SettingsActivity.EXTRA_FRAGMENT_ARG_KEY;
 
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.Mockito.doNothing;
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
+import static com.google.common.truth.Truth.assertThat;
 
-import android.content.Context;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+
 import android.content.Intent;
 import android.os.Bundle;
-import android.telephony.TelephonyManager;
-import android.util.ArrayMap;
-
-import androidx.fragment.app.FragmentActivity;
-import androidx.preference.PreferenceScreen;
 
 import com.android.settings.deviceinfo.BuildNumberPreferenceController;
-import com.android.settings.testutils.FakeFeatureFactory;
-import com.android.settings.testutils.shadow.ShadowConnectivityManager;
-import com.android.settings.testutils.shadow.ShadowUserManager;
-import com.android.settingslib.core.AbstractPreferenceController;
 
-import org.junit.Before;
+import org.junit.Ignore;
 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 org.robolectric.annotation.Config;
-import org.robolectric.shadows.ShadowApplication;
+import org.robolectric.shadows.androidx.fragment.FragmentController;
 import org.robolectric.util.ReflectionHelpers;
 
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
 @RunWith(RobolectricTestRunner.class)
-@Config(shadows = {ShadowConnectivityManager.class, ShadowUserManager.class})
+@Ignore
 public class MyDeviceInfoFragmentTest {
 
-    @Mock
-    private FragmentActivity mActivity;
-    @Mock
-    private PreferenceScreen mScreen;
-    @Mock
-    private TelephonyManager mTelephonyManager;
-
-    private Context mContext;
-    private MyDeviceInfoFragment mSettings;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        FakeFeatureFactory.setupForTest();
-        mContext = RuntimeEnvironment.application;
-        mSettings = spy(new MyDeviceInfoFragment());
-
-        when(mSettings.getActivity()).thenReturn(mActivity);
-        when(mSettings.getContext()).thenReturn(mContext);
-        when(mActivity.getTheme()).thenReturn(mContext.getTheme());
-        when(mActivity.getResources()).thenReturn(mContext.getResources());
-        doNothing().when(mSettings).onCreatePreferences(any(), any());
-
-        doReturn(mScreen).when(mSettings).getPreferenceScreen();
-        when(mSettings.getPreferenceScreen()).thenReturn(mScreen);
-        ShadowApplication.getInstance()
-            .setSystemService(Context.TELEPHONY_SERVICE, mTelephonyManager);
-    }
+    private MyDeviceInfoFragment mMyDeviceInfoFragment;
 
     @Test
-    public void onCreate_fromSearch_shouldNotOverrideInitialExpandedCount() {
+    public void onCreate_fromSearch_shouldExpandAllPreferences() {
         final Bundle args = new Bundle();
         args.putString(EXTRA_FRAGMENT_ARG_KEY, "search_key");
-        mSettings.setArguments(args);
+        mMyDeviceInfoFragment = FragmentController.of(new MyDeviceInfoFragment(), args)
+                .create()
+                .get();
 
-        mSettings.onCreate(null /* icicle */);
-
-        verify(mScreen).setInitialExpandedChildrenCount(Integer.MAX_VALUE);
+        assertThat(mMyDeviceInfoFragment.getPreferenceScreen().getInitialExpandedChildrenCount())
+                .isEqualTo(Integer.MAX_VALUE);
     }
 
     @Test
     public void onActivityResult_shouldCallBuildNumberPreferenceController() {
+        mMyDeviceInfoFragment = FragmentController.of(new MyDeviceInfoFragment())
+                .create()
+                .get();
+
         final BuildNumberPreferenceController controller =
             mock(BuildNumberPreferenceController.class);
-        ReflectionHelpers.setField(mSettings, "mBuildNumberPreferenceController", controller);
+        ReflectionHelpers.setField(
+                mMyDeviceInfoFragment, "mBuildNumberPreferenceController", controller);
 
         final int requestCode = 1;
         final int resultCode = 2;
         final Intent data = new Intent();
-        mSettings.onActivityResult(requestCode, resultCode, data);
+        mMyDeviceInfoFragment.onActivityResult(requestCode, resultCode, data);
 
         verify(controller).onActivityResult(requestCode, resultCode, data);
     }
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/firmwareversion/BasebandVersionPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/firmwareversion/BasebandVersionPreferenceControllerTest.java
index 5f4848f..8230144 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/firmwareversion/BasebandVersionPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/firmwareversion/BasebandVersionPreferenceControllerTest.java
@@ -18,7 +18,6 @@
 
 import static com.android.settings.core.BasePreferenceController.AVAILABLE;
 import static com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_DEVICE;
-import static com.android.settings.deviceinfo.firmwareversion.BasebandVersionPreferenceController.BASEBAND_PROPERTY;
 
 import static com.google.common.truth.Truth.assertThat;
 
@@ -26,7 +25,7 @@
 
 import android.content.Context;
 import android.net.ConnectivityManager;
-import android.os.SystemProperties;
+import android.sysprop.TelephonyProperties;
 
 import com.android.settings.testutils.shadow.ShadowConnectivityManager;
 
@@ -38,6 +37,9 @@
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
 
+import java.util.Arrays;
+
+
 @RunWith(RobolectricTestRunner.class)
 @Config(shadows = ShadowConnectivityManager.class)
 public class BasebandVersionPreferenceControllerTest {
@@ -64,7 +66,7 @@
     @Test
     public void getAvailability_hasMobile_available() {
         final String text = "test";
-        SystemProperties.set(BASEBAND_PROPERTY, text);
+        TelephonyProperties.baseband_version(Arrays.asList(new String[]{text}));
         ShadowConnectivityManager connectivityManager =
                 extract(mContext.getSystemService(ConnectivityManager.class));
         connectivityManager.setNetworkSupported(ConnectivityManager.TYPE_MOBILE, true);
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/firmwareversion/FirmwareVersionDetailPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/firmwareversion/FirmwareVersionDetailPreferenceControllerTest.java
index adfff25..9fca65d 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/firmwareversion/FirmwareVersionDetailPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/firmwareversion/FirmwareVersionDetailPreferenceControllerTest.java
@@ -19,7 +19,6 @@
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.Mockito.doNothing;
 import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
@@ -64,7 +63,7 @@
 
     @Test
     public void getSummary_shouldGetBuildVersion() {
-        assertThat(mController.getSummary()).isEqualTo(Build.VERSION.RELEASE);
+        assertThat(mController.getSummary()).isEqualTo(Build.VERSION.RELEASE_OR_CODENAME);
     }
 
     @Test
@@ -89,6 +88,11 @@
         verify(mContext).startActivity(any());
     }
 
+    @Test
+    public void isPublicSlice_returnTrue() {
+        assertThat(mController.isPublicSlice()).isTrue();
+    }
+
     private static class TestController extends FirmwareVersionDetailPreferenceController {
 
         public TestController(Context context, String key) {
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/firmwareversion/FirmwareVersionPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/firmwareversion/FirmwareVersionPreferenceControllerTest.java
index 77ae4e2..903b88b 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/firmwareversion/FirmwareVersionPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/firmwareversion/FirmwareVersionPreferenceControllerTest.java
@@ -58,13 +58,13 @@
     @Test
     public void firmwareVersion_shouldAlwaysBeShown() {
         assertThat(mController.getAvailabilityStatus())
-                .isEqualTo(BasePreferenceController.AVAILABLE_UNSEARCHABLE);
+                .isEqualTo(BasePreferenceController.AVAILABLE);
     }
 
     @Test
     public void updatePreference_shouldSetSummaryToBuildNumber() {
         mController.updateState(mPreference);
 
-        assertThat(mPreference.getSummary()).isEqualTo(Build.VERSION.RELEASE);
+        assertThat(mPreference.getSummary()).isEqualTo(Build.VERSION.RELEASE_OR_CODENAME);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/firmwareversion/MainlineModuleVersionPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/firmwareversion/MainlineModuleVersionPreferenceControllerTest.java
index 950d962..59f24dd 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/firmwareversion/MainlineModuleVersionPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/firmwareversion/MainlineModuleVersionPreferenceControllerTest.java
@@ -111,6 +111,20 @@
     }
 
     @Test
+    public void updateStates_canHandleIntent_preferenceShouldBeSelectable() throws Exception {
+        setupModulePackage("test version 123");
+        when(mPackageManager.resolveActivity(MODULE_UPDATE_INTENT, 0))
+                .thenReturn(new ResolveInfo());
+
+        final MainlineModuleVersionPreferenceController controller =
+                new MainlineModuleVersionPreferenceController(mContext, "key");
+
+        controller.updateState(mPreference);
+
+        assertThat(mPreference.isSelectable()).isTrue();
+    }
+
+    @Test
     public void updateStates_cannotHandleIntent_setNullToPreference() throws Exception {
         setupModulePackage("test version 123");
         when(mPackageManager.resolveActivity(MODULE_UPDATE_INTENT, 0))
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/hardwareinfo/DeviceModelPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/hardwareinfo/DeviceModelPreferenceControllerTest.java
index 1204c44..65e29b4 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/hardwareinfo/DeviceModelPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/hardwareinfo/DeviceModelPreferenceControllerTest.java
@@ -61,4 +61,9 @@
     public void isAlwaysSliceable() {
         assertThat(mController.isSliceable()).isTrue();
     }
+
+    @Test
+    public void isPublicSlice_returnTrue() {
+        assertThat(mController.isPublicSlice()).isTrue();
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/hardwareinfo/HardwareInfoPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/hardwareinfo/HardwareInfoPreferenceControllerTest.java
index 413c492..291f6e2 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/hardwareinfo/HardwareInfoPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/hardwareinfo/HardwareInfoPreferenceControllerTest.java
@@ -61,7 +61,7 @@
     @Test
     public void isAvailable_returnTrueIfVisible() {
         assertThat(mController.getAvailabilityStatus()).isEqualTo(
-                BasePreferenceController.AVAILABLE_UNSEARCHABLE);
+                BasePreferenceController.AVAILABLE);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/hardwareinfo/HardwareRevisionPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/hardwareinfo/HardwareRevisionPreferenceControllerTest.java
index 98ffbd0..ce022fd 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/hardwareinfo/HardwareRevisionPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/hardwareinfo/HardwareRevisionPreferenceControllerTest.java
@@ -51,6 +51,11 @@
     }
 
     @Test
+    public void isPublicSlice_returnTrue() {
+        assertThat(mController.isPublicSlice()).isTrue();
+    }
+
+    @Test
     public void isCopyableSlice_shouldBeCopyableSlice() {
         assertThat(mController.isCopyableSlice()).isTrue();
     }
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/hardwareinfo/SerialNumberPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/hardwareinfo/SerialNumberPreferenceControllerTest.java
index c2ae4af..93762b1 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/hardwareinfo/SerialNumberPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/hardwareinfo/SerialNumberPreferenceControllerTest.java
@@ -43,6 +43,11 @@
     }
 
     @Test
+    public void isPublicSlice_returnTrue() {
+        assertThat(mController.isPublicSlice()).isTrue();
+    }
+
+    @Test
     public void isCopyableSlice() {
         assertThat(mController.isSliceable()).isTrue();
         assertThat(mController.isCopyableSlice()).isTrue();
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/imei/ImeiInfoPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/imei/ImeiInfoPreferenceControllerTest.java
index 997c35e..24277fc 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/imei/ImeiInfoPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/imei/ImeiInfoPreferenceControllerTest.java
@@ -186,4 +186,9 @@
         final CharSequence data = clipboard.getPrimaryClip().getItemAt(0).getText();
         assertThat(data.toString()).isEqualTo(meid);
     }
+
+    @Test
+    public void isPublicSlice_returnTrue() {
+        assertThat(mController.isPublicSlice()).isTrue();
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogControllerTest.java
index 0f39fc9..395c8a4 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogControllerTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogControllerTest.java
@@ -16,35 +16,24 @@
 
 package com.android.settings.deviceinfo.simstatus;
 
-import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController
-        .CELL_DATA_NETWORK_TYPE_VALUE_ID;
-import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController
-        .CELL_VOICE_NETWORK_TYPE_VALUE_ID;
+import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController.CELL_DATA_NETWORK_TYPE_VALUE_ID;
+import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController.CELL_VOICE_NETWORK_TYPE_VALUE_ID;
+import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController.EID_INFO_LABEL_ID;
 import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController.EID_INFO_VALUE_ID;
-import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController
-        .ICCID_INFO_LABEL_ID;
-import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController
-        .ICCID_INFO_VALUE_ID;
-import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController
-        .IMS_REGISTRATION_STATE_LABEL_ID;
-import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController
-        .IMS_REGISTRATION_STATE_VALUE_ID;
-import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController
-        .NETWORK_PROVIDER_VALUE_ID;
-import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController
-        .OPERATOR_INFO_LABEL_ID;
-import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController
-        .OPERATOR_INFO_VALUE_ID;
-import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController
-        .PHONE_NUMBER_VALUE_ID;
-import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController
-        .ROAMING_INFO_VALUE_ID;
-import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController
-        .SERVICE_STATE_VALUE_ID;
-import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController
-        .SIGNAL_STRENGTH_LABEL_ID;
-import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController
-        .SIGNAL_STRENGTH_VALUE_ID;
+import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController.ICCID_INFO_LABEL_ID;
+import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController.ICCID_INFO_VALUE_ID;
+import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController.IMS_REGISTRATION_STATE_LABEL_ID;
+import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController.IMS_REGISTRATION_STATE_VALUE_ID;
+import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController.MAX_PHONE_COUNT_SINGLE_SIM;
+import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController.NETWORK_PROVIDER_VALUE_ID;
+import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController.OPERATOR_INFO_LABEL_ID;
+import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController.OPERATOR_INFO_VALUE_ID;
+import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController.PHONE_NUMBER_VALUE_ID;
+import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController.ROAMING_INFO_VALUE_ID;
+import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController.SERVICE_STATE_VALUE_ID;
+import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController.SIGNAL_STRENGTH_LABEL_ID;
+import static com.android.settings.deviceinfo.simstatus.SimStatusDialogController.SIGNAL_STRENGTH_VALUE_ID;
+
 
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyInt;
@@ -54,25 +43,35 @@
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
+import static org.robolectric.Shadows.shadowOf;
 
 import android.content.Context;
 import android.content.pm.PackageInfo;
 import android.os.PersistableBundle;
 import android.telephony.CarrierConfigManager;
+import android.telephony.CellSignalStrength;
+import android.telephony.CellSignalStrengthCdma;
+import android.telephony.CellSignalStrengthLte;
+import android.telephony.CellSignalStrengthWcdma;
 import android.telephony.PhoneStateListener;
 import android.telephony.ServiceState;
 import android.telephony.SignalStrength;
 import android.telephony.SubscriptionInfo;
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
+import android.telephony.UiccCardInfo;
 import android.telephony.euicc.EuiccManager;
 
 import androidx.lifecycle.LifecycleOwner;
 
 import com.android.settings.R;
+import com.android.settings.testutils.shadow.ShadowDeviceInfoUtils;
+import com.android.settingslib.DeviceInfoUtils;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 
+import org.junit.After;
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -80,15 +79,22 @@
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.Shadows;
+import org.robolectric.annotation.Config;
 import org.robolectric.shadows.ShadowPackageManager;
+import org.robolectric.shadows.ShadowTelephonyManager;
 import org.robolectric.util.ReflectionHelpers;
 
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {ShadowDeviceInfoUtils.class})
 public class SimStatusDialogControllerTest {
 
     @Mock
     private SimStatusDialogFragment mDialog;
-    @Mock
     private TelephonyManager mTelephonyManager;
     @Mock
     private SubscriptionInfo mSubscriptionInfo;
@@ -99,12 +105,17 @@
     @Mock
     private SignalStrength mSignalStrength;
     @Mock
+    private CellSignalStrengthCdma mCellSignalStrengthCdma;
+    @Mock
+    private CellSignalStrengthLte mCellSignalStrengthLte;
+    @Mock
+    private CellSignalStrengthWcdma mCellSignalStrengthWcdma;
+    @Mock
     private CarrierConfigManager mCarrierConfigManager;
     @Mock
     private PersistableBundle mPersistableBundle;
     @Mock
     private EuiccManager mEuiccManager;
-    @Mock
     private SubscriptionManager mSubscriptionManager;
 
     private SimStatusDialogController mController;
@@ -112,41 +123,78 @@
     private LifecycleOwner mLifecycleOwner;
     private Lifecycle mLifecycle;
 
+    private static final String TEST_EID_FROM_CARD = "11111111111111111111111111111111";
+    private static final String TEST_EID_FROM_MANAGER = "22222222222222222222222222222222";
+
+    private static final int MAX_PHONE_COUNT_DUAL_SIM = 2;
+
     @Before
     public void setup() {
         MockitoAnnotations.initMocks(this);
-        mContext = RuntimeEnvironment.application;
+        mContext = spy(RuntimeEnvironment.application);
         when(mDialog.getContext()).thenReturn(mContext);
         mLifecycleOwner = () -> mLifecycle;
         mLifecycle = new Lifecycle(mLifecycleOwner);
+
+        mSubscriptionManager = spy(mContext.getSystemService(SubscriptionManager.class));
+
+        mTelephonyManager = spy(mContext.getSystemService(TelephonyManager.class));
+        final ShadowTelephonyManager shadowTelephonyMgr = shadowOf(mTelephonyManager);
+        shadowTelephonyMgr.setTelephonyManagerForSubscriptionId(
+                SubscriptionManager.DEFAULT_SUBSCRIPTION_ID, mTelephonyManager);
+        doReturn(2).when(mTelephonyManager).getCardIdForDefaultEuicc();
+        doReturn(TelephonyManager.NETWORK_TYPE_LTE).when(mTelephonyManager).getDataNetworkType();
+
+        doReturn(mEuiccManager).when(mContext).getSystemService(EuiccManager.class);
+
         mController = spy(new SimStatusDialogController(mDialog, mLifecycle, 0 /* phone id */));
-        doReturn(mServiceState).when(mController).getCurrentServiceState();
-        doReturn(0).when(mSignalStrength).getDbm();
-        doReturn(0).when(mSignalStrength).getAsuLevel();
+        ShadowDeviceInfoUtils.setPhoneNumber("");
+        //CellSignalStrength setup
+        doReturn(0).when(mCellSignalStrengthCdma).getDbm();
+        doReturn(0).when(mCellSignalStrengthCdma).getAsuLevel();
+        doReturn(0).when(mCellSignalStrengthLte).getDbm();
+        doReturn(0).when(mCellSignalStrengthLte).getAsuLevel();
+        doReturn(0).when(mCellSignalStrengthWcdma).getDbm();
+        doReturn(0).when(mCellSignalStrengthWcdma).getAsuLevel();
+
+        doReturn(null).when(mSignalStrength).getCellSignalStrengths();
         doReturn(mPhoneStateListener).when(mController).getPhoneStateListener();
-        doReturn("").when(mController).getPhoneNumber();
-        doReturn(mSignalStrength).when(mController).getSignalStrength();
         doReturn(mSubscriptionInfo).when(mSubscriptionManager).getActiveSubscriptionInfo(anyInt());
 
-        when(mEuiccManager.isEnabled()).thenReturn(true);
-        when(mEuiccManager.getEid()).thenReturn("");
         ReflectionHelpers.setField(mController, "mTelephonyManager", mTelephonyManager);
         ReflectionHelpers.setField(mController, "mCarrierConfigManager", mCarrierConfigManager);
         ReflectionHelpers.setField(mController, "mSubscriptionInfo", mSubscriptionInfo);
         ReflectionHelpers.setField(mController, "mEuiccManager", mEuiccManager);
         ReflectionHelpers.setField(mController, "mSubscriptionManager", mSubscriptionManager);
+
+        when(mTelephonyManager.getActiveModemCount()).thenReturn(MAX_PHONE_COUNT_SINGLE_SIM);
+        doReturn(new ArrayList<UiccCardInfo>()).when(mTelephonyManager).getUiccCardsInfo();
+        doReturn(new HashMap<Integer, Integer>()).when(mTelephonyManager)
+                .getLogicalToPhysicalSlotMapping();
+
+        when(mEuiccManager.isEnabled()).thenReturn(false);
+        when(mEuiccManager.getEid()).thenReturn("");
+        when(mEuiccManager.createForCardId(anyInt())).thenReturn(mEuiccManager);
+
         when(mCarrierConfigManager.getConfigForSubId(anyInt())).thenReturn(mPersistableBundle);
         when(mPersistableBundle.getBoolean(
                 CarrierConfigManager.KEY_SHOW_SIGNAL_STRENGTH_IN_SIM_STATUS_BOOL))
                 .thenReturn(true);
+        doReturn(mServiceState).when(mTelephonyManager).getServiceState();
+        doReturn(mSignalStrength).when(mTelephonyManager).getSignalStrength();
 
         final ShadowPackageManager shadowPackageManager =
-            Shadows.shadowOf(RuntimeEnvironment.application.getPackageManager());
+                Shadows.shadowOf(RuntimeEnvironment.application.getPackageManager());
         final PackageInfo sysUIPackageInfo = new PackageInfo();
         sysUIPackageInfo.packageName = "com.android.systemui";
         shadowPackageManager.addPackage(sysUIPackageInfo);
     }
 
+    @After
+    public void tearDown() {
+        ShadowDeviceInfoUtils.reset();
+    }
+
     @Test
     public void initialize_updateNetworkProviderWithFoobarCarrier_shouldUpdateCarrierWithFoobar() {
         final CharSequence carrierName = "foobar";
@@ -159,8 +207,10 @@
 
     @Test
     public void initialize_updatePhoneNumberWith1111111111_shouldUpdatePhoneNumber() {
-        final String phoneNumber = "1111111111";
-        doReturn(phoneNumber).when(mController).getPhoneNumber();
+        ShadowDeviceInfoUtils.setPhoneNumber("1111111111");
+
+        final String phoneNumber = DeviceInfoUtils.getBidiFormattedPhoneNumber(mContext,
+                mSubscriptionInfo);
 
         mController.initialize();
 
@@ -203,7 +253,8 @@
     @Test
     public void initialize_updateVoiceDataOutOfService_shouldUpdateSettingAndResetSignalStrength() {
         when(mServiceState.getState()).thenReturn(ServiceState.STATE_OUT_OF_SERVICE);
-        when(mServiceState.getDataRegState()).thenReturn(ServiceState.STATE_OUT_OF_SERVICE);
+        when(mServiceState.getDataRegistrationState()).thenReturn(
+                ServiceState.STATE_OUT_OF_SERVICE);
         when(mPersistableBundle.getBoolean(
                 CarrierConfigManager.KEY_SHOW_SIGNAL_STRENGTH_IN_SIM_STATUS_BOOL)).thenReturn(true);
 
@@ -217,7 +268,7 @@
     @Test
     public void initialize_updateVoiceOutOfServiceDataInService_shouldUpdateTextToBeInService() {
         when(mServiceState.getState()).thenReturn(ServiceState.STATE_OUT_OF_SERVICE);
-        when(mServiceState.getDataRegState()).thenReturn(ServiceState.STATE_IN_SERVICE);
+        when(mServiceState.getDataRegistrationState()).thenReturn(ServiceState.STATE_IN_SERVICE);
         when(mPersistableBundle.getBoolean(
                 CarrierConfigManager.KEY_SHOW_SIGNAL_STRENGTH_IN_SIM_STATUS_BOOL)).thenReturn(true);
 
@@ -228,62 +279,79 @@
     }
 
     @Test
-    public void initialize_updateSignalStrengthWith50_shouldUpdateSignalStrengthTo50() {
-        final int signalDbm = 50;
-        final int signalAsu = 50;
-        doReturn(signalDbm).when(mSignalStrength).getDbm();
-        doReturn(signalAsu).when(mSignalStrength).getAsuLevel();
+    public void initialize_updateSignalStrengthWithLte50Wcdma40_shouldUpdateSignalStrengthTo50() {
+        final int lteDbm = 50;
+        final int lteAsu = 50;
+        final int wcdmaDbm = 40;
+        final int wcdmaAsu = 40;
+        setupCellSignalStrength_lteWcdma(lteDbm, lteAsu, wcdmaDbm, wcdmaAsu);
         when(mPersistableBundle.getBoolean(
                 CarrierConfigManager.KEY_SHOW_SIGNAL_STRENGTH_IN_SIM_STATUS_BOOL)).thenReturn(true);
 
         mController.initialize();
 
         final String signalStrengthString =
-            mContext.getString(R.string.sim_signal_strength, signalDbm, signalAsu);
+                mContext.getString(R.string.sim_signal_strength, lteDbm, lteAsu);
+        verify(mDialog).setText(SIGNAL_STRENGTH_VALUE_ID, signalStrengthString);
+    }
+
+    @Test
+    public void initialize_updateSignalStrengthWithLte50Cdma30_shouldUpdateSignalStrengthTo50() {
+        final int lteDbm = 50;
+        final int lteAsu = 50;
+        final int cdmaDbm = 30;
+        final int cdmaAsu = 30;
+        setupCellSignalStrength_lteCdma(lteDbm, lteAsu, cdmaDbm, cdmaAsu);
+        when(mPersistableBundle.getBoolean(
+                CarrierConfigManager.KEY_SHOW_SIGNAL_STRENGTH_IN_SIM_STATUS_BOOL)).thenReturn(true);
+
+        mController.initialize();
+
+        final String signalStrengthString =
+                mContext.getString(R.string.sim_signal_strength, lteDbm, lteAsu);
         verify(mDialog).setText(SIGNAL_STRENGTH_VALUE_ID, signalStrengthString);
     }
 
     @Test
     public void initialize_updateVoiceOutOfServiceDataInService_shouldUpdateSignalStrengthTo50() {
         when(mServiceState.getState()).thenReturn(ServiceState.STATE_OUT_OF_SERVICE);
-        when(mServiceState.getDataRegState()).thenReturn(ServiceState.STATE_IN_SERVICE);
+        when(mServiceState.getDataRegistrationState()).thenReturn(ServiceState.STATE_IN_SERVICE);
         when(mPersistableBundle.getBoolean(
                 CarrierConfigManager.KEY_SHOW_SIGNAL_STRENGTH_IN_SIM_STATUS_BOOL)).thenReturn(true);
 
-        final int signalDbm = 50;
-        final int signalAsu = 50;
-        doReturn(signalDbm).when(mSignalStrength).getDbm();
-        doReturn(signalAsu).when(mSignalStrength).getAsuLevel();
+        final int lteDbm = 50;
+        final int lteAsu = 50;
+        setupCellSignalStrength_lteOnly(lteDbm, lteAsu);
         when(mPersistableBundle.getBoolean(
                 CarrierConfigManager.KEY_SHOW_SIGNAL_STRENGTH_IN_SIM_STATUS_BOOL)).thenReturn(true);
 
         mController.initialize();
 
         final String signalStrengthString =
-                mContext.getString(R.string.sim_signal_strength, signalDbm, signalAsu);
+                mContext.getString(R.string.sim_signal_strength, lteDbm, lteAsu);
         verify(mDialog).setText(SIGNAL_STRENGTH_VALUE_ID, signalStrengthString);
     }
 
     @Test
     public void initialize_updateVoiceNetworkTypeWithEdge_shouldUpdateSettingToEdge() {
-        when(mTelephonyManager.getVoiceNetworkType(anyInt())).thenReturn(
+        when(mTelephonyManager.getVoiceNetworkType()).thenReturn(
                 TelephonyManager.NETWORK_TYPE_EDGE);
 
         mController.initialize();
 
         verify(mDialog).setText(CELL_VOICE_NETWORK_TYPE_VALUE_ID,
-                TelephonyManager.getNetworkTypeName(TelephonyManager.NETWORK_TYPE_EDGE));
+                SimStatusDialogController.getNetworkTypeName(TelephonyManager.NETWORK_TYPE_EDGE));
     }
 
     @Test
     public void initialize_updateDataNetworkTypeWithEdge_shouldUpdateSettingToEdge() {
-        when(mTelephonyManager.getDataNetworkType(anyInt())).thenReturn(
+        when(mTelephonyManager.getDataNetworkType()).thenReturn(
                 TelephonyManager.NETWORK_TYPE_EDGE);
 
         mController.initialize();
 
         verify(mDialog).setText(CELL_DATA_NETWORK_TYPE_VALUE_ID,
-                TelephonyManager.getNetworkTypeName(TelephonyManager.NETWORK_TYPE_EDGE));
+                SimStatusDialogController.getNetworkTypeName(TelephonyManager.NETWORK_TYPE_EDGE));
     }
 
     @Test
@@ -321,7 +389,7 @@
     public void initialize_doNotShowSignalStrength_shouldRemoveSignalStrengthSetting() {
         when(mPersistableBundle.getBoolean(
                 CarrierConfigManager.KEY_SHOW_SIGNAL_STRENGTH_IN_SIM_STATUS_BOOL))
-            .thenReturn(false);
+                .thenReturn(false);
 
         mController.initialize();
 
@@ -346,7 +414,7 @@
         final String iccid = "12351351231241";
         when(mPersistableBundle.getBoolean(
                 CarrierConfigManager.KEY_SHOW_ICCID_IN_SIM_STATUS_BOOL)).thenReturn(true);
-        doReturn(iccid).when(mController).getSimSerialNumber(anyInt());
+        doReturn(iccid).when(mTelephonyManager).getSimSerialNumber();
 
         mController.initialize();
 
@@ -354,54 +422,313 @@
     }
 
     @Test
-    public void initialize_showEid_shouldSetEidToSetting() {
-        final String eid = "12351351231241";
-        when(mEuiccManager.getEid()).thenReturn(eid);
+    public void initialize_updateEid_shouldNotSetEid() {
+        when(mTelephonyManager.getActiveModemCount()).thenReturn(MAX_PHONE_COUNT_DUAL_SIM);
+
+        ArrayList<UiccCardInfo> uiccCardInfos = new ArrayList<>();
+        UiccCardInfo uiccCardInfo1 = new UiccCardInfo(
+                false,                                  // isEuicc
+                0,                                      // cardId
+                null,                                   // eid
+                "123451234567890",                      // iccid
+                0,                                      // slotIndex
+                true);                                  // isRemovable
+        uiccCardInfos.add(uiccCardInfo1);
+        UiccCardInfo uiccCardInfo2 = new UiccCardInfo(
+                true,                                   // isEuicc
+                1,                                      // cardId
+                null,                                   // eid (unavailable)
+                null,                                   // iccid
+                1,                                      // slotIndex
+                false);                                 // isRemovable
+        uiccCardInfos.add(uiccCardInfo2);
+        when(mTelephonyManager.getUiccCardsInfo()).thenReturn(uiccCardInfos);
+
+        Map<Integer, Integer> slotMapping = new HashMap<>();
+        slotMapping.put(0, 1);
+        slotMapping.put(1, 0);
+        when(mTelephonyManager.getLogicalToPhysicalSlotMapping()).thenReturn(slotMapping);
+
+        when(mEuiccManager.isEnabled()).thenReturn(true);
+        when(mEuiccManager.getEid()).thenReturn(null);
 
         mController.initialize();
 
-        verify(mDialog).setText(EID_INFO_VALUE_ID, eid);
+        // Keep 'Not available' if neither the card nor the associated manager can provide EID.
+        verify(mDialog, never()).setText(eq(EID_INFO_VALUE_ID), any());
         verify(mDialog, never()).removeSettingFromScreen(eq(EID_INFO_VALUE_ID));
     }
 
     @Test
-    public void initialize_showEid_euiccManagerIsNotEnabled() {
-        when(mEuiccManager.isEnabled()).thenReturn(false);
+    public void initialize_updateEid_shouldSetEidFromCard() {
+        when(mTelephonyManager.getActiveModemCount()).thenReturn(MAX_PHONE_COUNT_DUAL_SIM);
+
+        ArrayList<UiccCardInfo> uiccCardInfos = new ArrayList<>();
+        UiccCardInfo uiccCardInfo1 = new UiccCardInfo(
+                true,                                   // isEuicc
+                0,                                      // cardId
+                TEST_EID_FROM_CARD,                     // eid
+                null,                                   // iccid
+                0,                                      // slotIndex
+                false);                                 // isRemovable
+        uiccCardInfos.add(uiccCardInfo1);
+        UiccCardInfo uiccCardInfo2 = new UiccCardInfo(
+                false,                                  // isEuicc
+                1,                                      // cardId
+                null,                                   // eid
+                "123451234567890",                      // iccid
+                1,                                      // slotIndex
+                true);                                  // isRemovable
+        uiccCardInfos.add(uiccCardInfo2);
+        when(mTelephonyManager.getUiccCardsInfo()).thenReturn(uiccCardInfos);
+
+        Map<Integer, Integer> slotMapping = new HashMap<>();
+        slotMapping.put(0, 0);
+        slotMapping.put(1, 1);
+        when(mTelephonyManager.getLogicalToPhysicalSlotMapping()).thenReturn(slotMapping);
+
+        when(mEuiccManager.isEnabled()).thenReturn(true);
+        when(mEuiccManager.getEid()).thenReturn(TEST_EID_FROM_MANAGER);
 
         mController.initialize();
 
+        // Set EID retrieved from the card.
+        verify(mDialog).setText(EID_INFO_VALUE_ID, TEST_EID_FROM_CARD);
+        verify(mDialog, never()).removeSettingFromScreen(eq(EID_INFO_VALUE_ID));
+    }
+
+    @Test
+    public void initialize_updateEid_shouldSetEidFromManager() {
+        when(mTelephonyManager.getActiveModemCount()).thenReturn(MAX_PHONE_COUNT_DUAL_SIM);
+
+        ArrayList<UiccCardInfo> uiccCardInfos = new ArrayList<>();
+        UiccCardInfo uiccCardInfo1 = new UiccCardInfo(
+                false,                                  // isEuicc
+                0,                                      // cardId
+                null,                                   // eid
+                "123451234567890",                      // iccid
+                0,                                      // slotIndex
+                true);                                  // isRemovable
+        uiccCardInfos.add(uiccCardInfo1);
+        UiccCardInfo uiccCardInfo2 = new UiccCardInfo(
+                true,                                   // isEuicc
+                1,                                      // cardId
+                null,                                   // eid (unavailable)
+                null,                                   // iccid
+                1,                                      // slotIndex
+                false);                                 // isRemovable
+        uiccCardInfos.add(uiccCardInfo2);
+        when(mTelephonyManager.getUiccCardsInfo()).thenReturn(uiccCardInfos);
+
+        Map<Integer, Integer> slotMapping = new HashMap<>();
+        slotMapping.put(0, 1);
+        slotMapping.put(1, 0);
+        when(mTelephonyManager.getLogicalToPhysicalSlotMapping()).thenReturn(slotMapping);
+
+        when(mEuiccManager.isEnabled()).thenReturn(true);
+        when(mEuiccManager.getEid()).thenReturn(TEST_EID_FROM_MANAGER);
+        when(mEuiccManager.createForCardId(0)).thenThrow(
+                new RuntimeException("Unexpected card ID was specified"));
+        when(mEuiccManager.createForCardId(1)).thenReturn(mEuiccManager);
+
+        mController.initialize();
+
+        // Set EID retrieved from the manager associated with the card which cannot provide EID.
+        verify(mDialog).setText(EID_INFO_VALUE_ID, TEST_EID_FROM_MANAGER);
+        verify(mDialog, never()).removeSettingFromScreen(eq(EID_INFO_VALUE_ID));
+    }
+
+    @Test
+    public void initialize_updateEid_shouldRemoveEid() {
+        when(mTelephonyManager.getActiveModemCount()).thenReturn(MAX_PHONE_COUNT_DUAL_SIM);
+
+        ArrayList<UiccCardInfo> uiccCardInfos = new ArrayList<>();
+        UiccCardInfo uiccCardInfo1 = new UiccCardInfo(
+                false,                                  // isEuicc
+                0,                                      // cardId
+                null,                                   // eid
+                "123451234567890",                      // iccid
+                0,                                      // slotIndex
+                true);                                  // isRemovable
+        uiccCardInfos.add(uiccCardInfo1);
+        UiccCardInfo uiccCardInfo2 = new UiccCardInfo(
+                true,                                   // isEuicc
+                1,                                      // cardId
+                TEST_EID_FROM_CARD,                     // eid
+                null,                                   // iccid
+                1,                                      // slotIndex
+                false);                                 // isRemovable
+        uiccCardInfos.add(uiccCardInfo2);
+        when(mTelephonyManager.getUiccCardsInfo()).thenReturn(uiccCardInfos);
+
+        Map<Integer, Integer> slotMapping = new HashMap<>();
+        slotMapping.put(0, 0);
+        slotMapping.put(1, 1);
+        when(mTelephonyManager.getLogicalToPhysicalSlotMapping()).thenReturn(slotMapping);
+
+        when(mEuiccManager.isEnabled()).thenReturn(true);
+        when(mEuiccManager.getEid()).thenReturn(TEST_EID_FROM_MANAGER);
+
+        mController.initialize();
+
+        // Remove EID if the card is not eUICC.
         verify(mDialog, never()).setText(eq(EID_INFO_VALUE_ID), any());
+        verify(mDialog).removeSettingFromScreen(eq(EID_INFO_LABEL_ID));
         verify(mDialog).removeSettingFromScreen(eq(EID_INFO_VALUE_ID));
     }
 
     @Test
+    public void initialize_updateEid_shouldNotSetEidInSingleSimMode() {
+        when(mTelephonyManager.getActiveModemCount()).thenReturn(MAX_PHONE_COUNT_SINGLE_SIM);
+
+        ArrayList<UiccCardInfo> uiccCardInfos = new ArrayList<>();
+        UiccCardInfo uiccCardInfo = new UiccCardInfo(
+                true,                                   // isEuicc
+                0,                                      // cardId
+                TEST_EID_FROM_CARD,                     // eid (not used)
+                null,                                   // iccid
+                0,                                      // slotIndex
+                false);                                 // isRemovable
+        uiccCardInfos.add(uiccCardInfo);
+        when(mTelephonyManager.getUiccCardsInfo()).thenReturn(uiccCardInfos);
+
+        Map<Integer, Integer> slotMapping = new HashMap<>();
+        slotMapping.put(0, 0);
+        when(mTelephonyManager.getLogicalToPhysicalSlotMapping()).thenReturn(slotMapping);
+
+        when(mEuiccManager.isEnabled()).thenReturn(true);
+        when(mEuiccManager.getEid()).thenReturn(null);
+
+        mController.initialize();
+
+        // Keep 'Not available' if the default eUICC manager cannot provide EID in Single SIM mode.
+        verify(mDialog, never()).setText(eq(EID_INFO_VALUE_ID), any());
+        verify(mDialog, never()).removeSettingFromScreen(eq(EID_INFO_VALUE_ID));
+    }
+
+    @Test
+    public void initialize_updateEid_shouldSetEidInSingleSimModeWithEnabledEuicc() {
+        when(mTelephonyManager.getActiveModemCount()).thenReturn(MAX_PHONE_COUNT_SINGLE_SIM);
+
+        ArrayList<UiccCardInfo> uiccCardInfos = new ArrayList<>();
+        UiccCardInfo uiccCardInfo = new UiccCardInfo(
+                true,                                   // isEuicc (eUICC slot is selected)
+                0,                                      // cardId
+                TEST_EID_FROM_CARD,                     // eid (not used)
+                null,                                   // iccid
+                0,                                      // slotIndex
+                false);                                 // isRemovable
+        uiccCardInfos.add(uiccCardInfo);
+        when(mTelephonyManager.getUiccCardsInfo()).thenReturn(uiccCardInfos);
+
+        Map<Integer, Integer> slotMapping = new HashMap<>();
+        slotMapping.put(0, 0);
+        when(mTelephonyManager.getLogicalToPhysicalSlotMapping()).thenReturn(slotMapping);
+
+        when(mEuiccManager.isEnabled()).thenReturn(true);
+        when(mEuiccManager.getEid()).thenReturn(TEST_EID_FROM_MANAGER);
+        when(mEuiccManager.createForCardId(anyInt())).thenThrow(
+                new RuntimeException("EID shall be retrieved from the default eUICC manager"));
+
+        mController.initialize();
+
+        // Set EID retrieved from the default eUICC manager in Single SIM mode.
+        verify(mDialog).setText(EID_INFO_VALUE_ID, TEST_EID_FROM_MANAGER);
+        verify(mDialog, never()).removeSettingFromScreen(eq(EID_INFO_VALUE_ID));
+    }
+
+    @Test
+    public void initialize_updateEid_shouldSetEidInSingleSimModeWithDisabledEuicc() {
+        when(mTelephonyManager.getActiveModemCount()).thenReturn(MAX_PHONE_COUNT_SINGLE_SIM);
+
+        ArrayList<UiccCardInfo> uiccCardInfos = new ArrayList<>();
+        UiccCardInfo uiccCardInfo = new UiccCardInfo(
+                false,                                  // isEuicc (eUICC slot is not selected)
+                0,                                      // cardId
+                null,                                   // eid
+                "123451234567890",                      // iccid
+                0,                                      // slotIndex
+                true);                                  // isRemovable
+        uiccCardInfos.add(uiccCardInfo);
+        when(mTelephonyManager.getUiccCardsInfo()).thenReturn(uiccCardInfos);
+
+        Map<Integer, Integer> slotMapping = new HashMap<>();
+        slotMapping.put(0, 0);
+        when(mTelephonyManager.getLogicalToPhysicalSlotMapping()).thenReturn(slotMapping);
+
+        when(mEuiccManager.isEnabled()).thenReturn(true);
+        when(mEuiccManager.getEid()).thenReturn(TEST_EID_FROM_MANAGER);
+        when(mEuiccManager.createForCardId(anyInt())).thenThrow(
+                new RuntimeException("EID shall be retrieved from the default eUICC manager"));
+
+        mController.initialize();
+
+        // Set EID retrieved from the default eUICC manager in Single SIM mode.
+        verify(mDialog).setText(EID_INFO_VALUE_ID, TEST_EID_FROM_MANAGER);
+        verify(mDialog, never()).removeSettingFromScreen(eq(EID_INFO_VALUE_ID));
+    }
+
+    @Test
+    public void initialize_updateEid_shouldRemoveEidInSingleSimMode() {
+        when(mTelephonyManager.getActiveModemCount()).thenReturn(MAX_PHONE_COUNT_SINGLE_SIM);
+
+        ArrayList<UiccCardInfo> uiccCardInfos = new ArrayList<>();
+        UiccCardInfo uiccCardInfo = new UiccCardInfo(
+                false,                                  // isEuicc
+                0,                                      // cardId
+                null,                                   // eid
+                "123451234567890",                      // iccid
+                0,                                      // slotIndex
+                true);                                  // isRemovable
+        uiccCardInfos.add(uiccCardInfo);
+        when(mTelephonyManager.getUiccCardsInfo()).thenReturn(uiccCardInfos);
+
+        Map<Integer, Integer> slotMapping = new HashMap<>();
+        slotMapping.put(0, 0);
+        when(mTelephonyManager.getLogicalToPhysicalSlotMapping()).thenReturn(slotMapping);
+
+        when(mEuiccManager.isEnabled()).thenReturn(false);
+        when(mEuiccManager.getEid()).thenReturn(null);
+
+        mController.initialize();
+
+        // Remove EID if the default eUICC manager indicates that eSIM is not enabled.
+        verify(mDialog, never()).setText(eq(EID_INFO_VALUE_ID), any());
+        verify(mDialog).removeSettingFromScreen(eq(EID_INFO_LABEL_ID));
+        verify(mDialog).removeSettingFromScreen(eq(EID_INFO_VALUE_ID));
+    }
+
+    @Test
+    @Ignore
     public void initialize_imsRegistered_shouldSetImsRegistrationStateSummaryToRegisterd() {
         when(mPersistableBundle.getBoolean(
-            CarrierConfigManager.KEY_SHOW_IMS_REGISTRATION_STATUS_BOOL)).thenReturn(true);
+                CarrierConfigManager.KEY_SHOW_IMS_REGISTRATION_STATUS_BOOL)).thenReturn(true);
         when(mTelephonyManager.isImsRegistered(anyInt())).thenReturn(true);
 
         mController.initialize();
 
         verify(mDialog).setText(IMS_REGISTRATION_STATE_VALUE_ID,
-            mContext.getString(R.string.ims_reg_status_registered));
+                mContext.getString(R.string.ims_reg_status_registered));
     }
 
     @Test
+    @Ignore
     public void initialize_imsNotRegistered_shouldSetImsRegistrationStateSummaryToNotRegisterd() {
         when(mPersistableBundle.getBoolean(
-            CarrierConfigManager.KEY_SHOW_IMS_REGISTRATION_STATUS_BOOL)).thenReturn(true);
+                CarrierConfigManager.KEY_SHOW_IMS_REGISTRATION_STATUS_BOOL)).thenReturn(true);
         when(mTelephonyManager.isImsRegistered(anyInt())).thenReturn(false);
 
         mController.initialize();
 
         verify(mDialog).setText(IMS_REGISTRATION_STATE_VALUE_ID,
-            mContext.getString(R.string.ims_reg_status_not_registered));
+                mContext.getString(R.string.ims_reg_status_not_registered));
     }
 
     @Test
+    @Ignore
     public void initialize_showImsRegistration_shouldNotRemoveImsRegistrationStateSetting() {
         when(mPersistableBundle.getBoolean(
-            CarrierConfigManager.KEY_SHOW_IMS_REGISTRATION_STATUS_BOOL)).thenReturn(true);
+                CarrierConfigManager.KEY_SHOW_IMS_REGISTRATION_STATUS_BOOL)).thenReturn(true);
 
         mController.initialize();
 
@@ -409,9 +736,10 @@
     }
 
     @Test
+    @Ignore
     public void initialize_doNotShowImsRegistration_shouldRemoveImsRegistrationStateSetting() {
         when(mPersistableBundle.getBoolean(
-            CarrierConfigManager.KEY_SHOW_IMS_REGISTRATION_STATUS_BOOL)).thenReturn(false);
+                CarrierConfigManager.KEY_SHOW_IMS_REGISTRATION_STATUS_BOOL)).thenReturn(false);
 
         mController.initialize();
 
@@ -421,8 +749,45 @@
 
     @Test
     public void initialize_nullSignalStrength_noCrash() {
-        doReturn(null).when(mController).getSignalStrength();
+        doReturn(null).when(mTelephonyManager).getSignalStrength();
         // we should not crash when running the following line
         mController.initialize();
     }
+
+    private void setupCellSignalStrength_lteWcdma(int lteDbm, int lteAsu, int wcdmaDbm,
+            int wcdmaAsu) {
+        doReturn(lteDbm).when(mCellSignalStrengthLte).getDbm();
+        doReturn(lteAsu).when(mCellSignalStrengthLte).getAsuLevel();
+        doReturn(wcdmaDbm).when(mCellSignalStrengthWcdma).getDbm();
+        doReturn(wcdmaAsu).when(mCellSignalStrengthWcdma).getAsuLevel();
+
+        List<CellSignalStrength> cellSignalStrengthList = new ArrayList<>(2);
+        cellSignalStrengthList.add(mCellSignalStrengthLte);
+        cellSignalStrengthList.add(mCellSignalStrengthWcdma);
+
+        doReturn(cellSignalStrengthList).when(mSignalStrength).getCellSignalStrengths();
+    }
+
+    private void setupCellSignalStrength_lteCdma(int lteDbm, int lteAsu, int cdmaDbm, int cdmaAsu) {
+        doReturn(lteDbm).when(mCellSignalStrengthLte).getDbm();
+        doReturn(lteAsu).when(mCellSignalStrengthLte).getAsuLevel();
+        doReturn(cdmaDbm).when(mCellSignalStrengthCdma).getDbm();
+        doReturn(cdmaAsu).when(mCellSignalStrengthCdma).getAsuLevel();
+
+        List<CellSignalStrength> cellSignalStrengthList = new ArrayList<>(2);
+        cellSignalStrengthList.add(mCellSignalStrengthLte);
+        cellSignalStrengthList.add(mCellSignalStrengthCdma);
+
+        doReturn(cellSignalStrengthList).when(mSignalStrength).getCellSignalStrengths();
+    }
+
+    private void setupCellSignalStrength_lteOnly(int lteDbm, int lteAsu) {
+        doReturn(lteDbm).when(mCellSignalStrengthLte).getDbm();
+        doReturn(lteAsu).when(mCellSignalStrengthLte).getAsuLevel();
+
+        List<CellSignalStrength> cellSignalStrengthList = new ArrayList<>(2);
+        cellSignalStrengthList.add(mCellSignalStrengthLte);
+
+        doReturn(cellSignalStrengthList).when(mSignalStrength).getCellSignalStrengths();
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/storage/SecondaryUserControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/storage/SecondaryUserControllerTest.java
index 0b56cda..824f6b4 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/storage/SecondaryUserControllerTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/storage/SecondaryUserControllerTest.java
@@ -78,6 +78,7 @@
         when(mScreen.getContext()).thenReturn(mContext);
         when(mScreen.findPreference(anyString())).thenReturn(mGroup);
         when(mGroup.getKey()).thenReturn(TARGET_PREFERENCE_GROUP_KEY);
+
     }
 
     @Test
@@ -119,7 +120,7 @@
     }
 
     @Test
-    public void secondaryUserAddedIfHasDistinctId() {
+    public void getSecondaryUserControllers_notWorkProfile_addSecondaryUserController() {
         final ArrayList<UserInfo> userInfos = new ArrayList<>();
         final UserInfo secondaryUser = new UserInfo();
         secondaryUser.id = 10;
@@ -136,7 +137,24 @@
     }
 
     @Test
-    public void profilesOfPrimaryUserAreNotIgnored() {
+    public void getSecondaryUserControllers_workProfile_addNoSecondaryUserController() {
+        final ArrayList<UserInfo> userInfos = new ArrayList<>();
+        final UserInfo secondaryUser = new UserInfo();
+        secondaryUser.id = 10;
+        secondaryUser.profileGroupId = 101010; // this just has to be something not 0
+        userInfos.add(mPrimaryUser);
+        userInfos.add(secondaryUser);
+        when(mUserManager.getPrimaryUser()).thenReturn(mPrimaryUser);
+        when(mUserManager.getUsers()).thenReturn(userInfos);
+        final List<AbstractPreferenceController> controllers =
+                SecondaryUserController.getSecondaryUserControllers(mContext, mUserManager);
+
+        assertThat(controllers).hasSize(1);
+        assertThat(controllers.get(0) instanceof SecondaryUserController).isTrue();
+    }
+
+    @Test
+    public void profilesOfPrimaryUserAreIgnored() {
         final ArrayList<UserInfo> userInfos = new ArrayList<>();
         final UserInfo secondaryUser = new UserInfo();
         secondaryUser.id = mPrimaryUser.id;
@@ -148,9 +166,8 @@
         final List<AbstractPreferenceController> controllers =
                 SecondaryUserController.getSecondaryUserControllers(mContext, mUserManager);
 
-        assertThat(controllers).hasSize(2);
-        assertThat(controllers.get(0) instanceof UserProfileController).isTrue();
-        assertThat(controllers.get(1) instanceof SecondaryUserController).isFalse();
+        assertThat(controllers).hasSize(1);
+        assertThat(controllers.get(0) instanceof SecondaryUserController).isFalse();
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceControllerTest.java
index 73fea77..5e49aa0 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceControllerTest.java
@@ -16,15 +16,12 @@
 package com.android.settings.deviceinfo.storage;
 
 import static com.android.settings.applications.manageapplications.ManageApplications.EXTRA_WORK_ID;
-import static com.android.settings.applications.manageapplications.ManageApplications
-        .EXTRA_WORK_ONLY;
 import static com.android.settings.utils.FileSizeFormatter.MEGABYTE_IN_BYTES;
 
 import static com.google.common.truth.Truth.assertThat;
 
-import static org.mockito.ArgumentMatchers.anyInt;
-import static org.mockito.ArgumentMatchers.nullable;
 import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.ArgumentMatchers.nullable;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.times;
@@ -51,9 +48,11 @@
 import com.android.settings.SettingsActivity;
 import com.android.settings.SubSettings;
 import com.android.settings.applications.manageapplications.ManageApplications;
+import com.android.settings.dashboard.profileselector.ProfileSelectFragment;
 import com.android.settings.deviceinfo.PrivateVolumeSettings;
 import com.android.settings.deviceinfo.StorageItemPreference;
 import com.android.settings.testutils.FakeFeatureFactory;
+import com.android.settings.testutils.shadow.ShadowUserManager;
 import com.android.settingslib.applications.StorageStatsSource;
 import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 import com.android.settingslib.deviceinfo.StorageVolumeProvider;
@@ -66,6 +65,7 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
 
 @RunWith(RobolectricTestRunner.class)
 public class StorageItemPreferenceControllerTest {
@@ -119,7 +119,7 @@
         mController.handlePreferenceTreeClick(mPreference);
 
         final ArgumentCaptor<Intent> argumentCaptor = ArgumentCaptor.forClass(Intent.class);
-        verify(mActivity).startActivityForResultAsUser(argumentCaptor.capture(), anyInt(),
+        verify(mActivity).startActivityAsUser(argumentCaptor.capture(),
                 nullable(UserHandle.class));
 
         final Intent intent = argumentCaptor.getValue();
@@ -137,8 +137,8 @@
         mController.handlePreferenceTreeClick(mPreference);
 
         final ArgumentCaptor<Intent> argumentCaptor = ArgumentCaptor.forClass(Intent.class);
-        verify(mFragment.getActivity()).startActivityForResultAsUser(argumentCaptor.capture(),
-                anyInt(), nullable(UserHandle.class));
+        verify(mFragment.getActivity()).startActivityAsUser(argumentCaptor.capture(),
+                nullable(UserHandle.class));
         final Intent intent = argumentCaptor.getValue();
 
         assertThat(intent.getAction()).isEqualTo(Intent.ACTION_MAIN);
@@ -164,8 +164,8 @@
         mController.handlePreferenceTreeClick(mPreference);
 
         final ArgumentCaptor<Intent> argumentCaptor = ArgumentCaptor.forClass(Intent.class);
-        verify(mFragment.getActivity()).startActivityForResultAsUser(argumentCaptor.capture(),
-                anyInt(), nullable(UserHandle.class));
+        verify(mFragment.getActivity()).startActivityAsUser(argumentCaptor.capture(),
+                nullable(UserHandle.class));
 
         final Intent intent = argumentCaptor.getValue();
         assertThat(intent.getAction()).isEqualTo(Intent.ACTION_MAIN);
@@ -183,8 +183,8 @@
         mController.handlePreferenceTreeClick(mPreference);
 
         final ArgumentCaptor<Intent> argumentCaptor = ArgumentCaptor.forClass(Intent.class);
-        verify(mFragment.getActivity()).startActivityForResultAsUser(argumentCaptor.capture(),
-                anyInt(), nullable(UserHandle.class));
+        verify(mFragment.getActivity()).startActivityAsUser(argumentCaptor.capture(),
+                nullable(UserHandle.class));
 
         Intent intent = argumentCaptor.getValue();
         assertThat(intent.getAction()).isEqualTo(Intent.ACTION_MAIN);
@@ -195,8 +195,8 @@
                 .isEqualTo(R.string.apps_storage);
         assertThat(
                 intent.getBundleExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_ARGUMENTS)
-                        .getBoolean(EXTRA_WORK_ONLY))
-                .isTrue();
+                        .getInt(SettingsActivity.EXTRA_SHOW_FRAGMENT_TAB))
+                .isEqualTo(ProfileSelectFragment.WORK_TAB);
         assertThat(
                 intent.getBundleExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_ARGUMENTS)
                         .getInt(EXTRA_WORK_ID))
@@ -220,8 +220,8 @@
             .isTrue();
 
         final ArgumentCaptor<Intent> argumentCaptor = ArgumentCaptor.forClass(Intent.class);
-        verify(mFragment.getActivity()).startActivityForResultAsUser(argumentCaptor.capture(),
-                anyInt(), nullable(UserHandle.class));
+        verify(mFragment.getActivity()).startActivityAsUser(argumentCaptor.capture(),
+                nullable(UserHandle.class));
 
         Intent intent = argumentCaptor.getValue();
         Intent browseIntent = mVolume.buildBrowseIntent();
@@ -237,8 +237,8 @@
         mController.handlePreferenceTreeClick(mPreference);
 
         final ArgumentCaptor<Intent> argumentCaptor = ArgumentCaptor.forClass(Intent.class);
-        verify(mFragment.getActivity()).startActivityForResultAsUser(argumentCaptor.capture(),
-                anyInt(), nullable(UserHandle.class));
+        verify(mFragment.getActivity()).startActivityAsUser(argumentCaptor.capture(),
+                nullable(UserHandle.class));
 
         Intent intent = argumentCaptor.getValue();
         assertThat(intent.getAction()).isEqualTo(Intent.ACTION_MAIN);
@@ -255,8 +255,8 @@
         mController.handlePreferenceTreeClick(mPreference);
 
         final ArgumentCaptor<Intent> argumentCaptor = ArgumentCaptor.forClass(Intent.class);
-        verify(mFragment.getActivity()).startActivityForResultAsUser(argumentCaptor.capture(),
-                anyInt(), nullable(UserHandle.class));
+        verify(mFragment.getActivity()).startActivityAsUser(argumentCaptor.capture(),
+                nullable(UserHandle.class));
 
         Intent intent = argumentCaptor.getValue();
         assertThat(intent.getAction()).isEqualTo(Intent.ACTION_MAIN);
@@ -277,6 +277,7 @@
     }
 
     @Test
+    @Config(shadows = ShadowUserManager.class)
     public void testMeasurementCompletedUpdatesPreferences() {
         final StorageItemPreference audio = new StorageItemPreference(mContext);
         final StorageItemPreference image = new StorageItemPreference(mContext);
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/storage/StorageSummaryDonutPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/storage/StorageSummaryDonutPreferenceControllerTest.java
index 4f72318..cd6f082 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/storage/StorageSummaryDonutPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/storage/StorageSummaryDonutPreferenceControllerTest.java
@@ -37,24 +37,30 @@
 import android.widget.Button;
 import android.widget.LinearLayout;
 
+import androidx.preference.PreferenceScreen;
 import androidx.preference.PreferenceViewHolder;
 
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
 import com.android.settings.R;
 import com.android.settings.testutils.FakeFeatureFactory;
+import com.android.settings.testutils.shadow.ShadowPrivateStorageInfo;
 import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
+import com.android.settingslib.deviceinfo.PrivateStorageInfo;
 import com.android.settingslib.deviceinfo.StorageVolumeProvider;
 
+import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mockito;
 import org.robolectric.Robolectric;
 import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
 
 import java.io.File;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = ShadowPrivateStorageInfo.class)
 public class StorageSummaryDonutPreferenceControllerTest {
 
     private Context mContext;
@@ -63,14 +69,18 @@
     private PreferenceViewHolder mHolder;
     private FakeFeatureFactory mFakeFeatureFactory;
     private MetricsFeatureProvider mMetricsFeatureProvider;
+    private PreferenceScreen mScreen;
 
     @Before
     public void setUp() throws Exception {
+        ShadowPrivateStorageInfo.setPrivateStorageInfo(new PrivateStorageInfo(10L, 100L));
         mContext = spy(Robolectric.setupActivity(Activity.class));
         mFakeFeatureFactory = FakeFeatureFactory.setupForTest();
         mMetricsFeatureProvider = mFakeFeatureFactory.getMetricsFeatureProvider();
-        mController = new StorageSummaryDonutPreferenceController(mContext);
+        mController = new StorageSummaryDonutPreferenceController(mContext, "key");
         mPreference = new StorageSummaryDonutPreference(mContext);
+        mScreen = spy(new PreferenceScreen(mContext, null));
+        when(mScreen.findPreference("key")).thenReturn(mPreference);
 
         LayoutInflater inflater = LayoutInflater.from(mContext);
         final View view =
@@ -79,10 +89,16 @@
         mHolder = PreferenceViewHolder.createInstanceForTests(view);
     }
 
+    @After
+    public void tearDown() {
+        ShadowPrivateStorageInfo.reset();
+    }
+
     @Test
     public void testEmpty() {
         final long totalSpace = 32 * GIGABYTE;
         final long usedSpace = 0;
+        mController.displayPreference(mScreen);
         mController.updateBytes(0, 32 * GIGABYTE);
         mController.updateState(mPreference);
 
@@ -98,6 +114,7 @@
     public void testTotalStorage() {
         final long totalSpace = KILOBYTE * 10;
         final long usedSpace = KILOBYTE;
+        mController.displayPreference(mScreen);
         mController.updateBytes(KILOBYTE, totalSpace);
         mController.updateState(mPreference);
 
@@ -121,6 +138,7 @@
         when(file.getTotalSpace()).thenReturn(totalSpace);
         when(file.getFreeSpace()).thenReturn(freeSpace);
         when(svp.getPrimaryStorageSize()).thenReturn(totalSpace);
+        mController.displayPreference(mScreen);
 
         mController.updateSizes(svp, volume);
         mController.updateState(mPreference);
diff --git a/tests/robotests/src/com/android/settings/display/AdaptiveSleepDetailPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/display/AdaptiveSleepDetailPreferenceControllerTest.java
index 91a4ed6..981942d 100644
--- a/tests/robotests/src/com/android/settings/display/AdaptiveSleepDetailPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/display/AdaptiveSleepDetailPreferenceControllerTest.java
@@ -62,6 +62,11 @@
     }
 
     @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);
diff --git a/tests/robotests/src/com/android/settings/display/AdaptiveSleepPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/display/AdaptiveSleepPreferenceControllerTest.java
index 9928e6c..87f59f2 100644
--- a/tests/robotests/src/com/android/settings/display/AdaptiveSleepPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/display/AdaptiveSleepPreferenceControllerTest.java
@@ -16,17 +16,22 @@
 
 package com.android.settings.display;
 
-import static android.provider.Settings.System.ADAPTIVE_SLEEP;
+import static android.provider.Settings.Secure.ADAPTIVE_SLEEP;
+
+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.isA;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.spy;
 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.provider.Settings;
 
@@ -76,10 +81,18 @@
     }
 
     @Test
+    public void isControllerAvailable_ServiceUnavailable_returnUnsupported() {
+        doReturn(null).when(mPackageManager).resolveService(isA(Intent.class), anyInt());
+
+        assertThat(AdaptiveSleepPreferenceController.isControllerAvailable(mContext)).isEqualTo(
+                UNSUPPORTED_ON_DEVICE);
+    }
+
+    @Test
     public void onPreferenceChange_turnOn_returnOn() {
         mController.onPreferenceChange(null, true);
 
-        final int mode = Settings.System.getInt(mContentResolver, ADAPTIVE_SLEEP, 0);
+        final int mode = Settings.Secure.getInt(mContentResolver, ADAPTIVE_SLEEP, 0);
         assertThat(mode).isEqualTo(1);
     }
 
@@ -87,7 +100,7 @@
     public void onPreferenceChange_turnOff_returnOff() {
         mController.onPreferenceChange(null, false);
 
-        final int mode = Settings.System.getInt(mContentResolver, ADAPTIVE_SLEEP, 1);
+        final int mode = Settings.Secure.getInt(mContentResolver, ADAPTIVE_SLEEP, 1);
         assertThat(mode).isEqualTo(0);
     }
 
@@ -111,7 +124,7 @@
 
     @Test
     public void isChecked_yes() {
-        Settings.System.putInt(mContentResolver, ADAPTIVE_SLEEP, 1);
+        Settings.Secure.putInt(mContentResolver, ADAPTIVE_SLEEP, 1);
 
         assertThat(mController.isChecked()).isTrue();
     }
@@ -133,10 +146,10 @@
     }
 
     @Test
-    public void isSliceable_returnsFalse() {
+    public void isSliceable_returnsTrue() {
         final AdaptiveSleepPreferenceController controller =
                 new AdaptiveSleepPreferenceController(mContext, "any_key");
-        assertThat(controller.isSliceable()).isFalse();
+        assertThat(controller.isSliceable()).isTrue();
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/display/AmbientDisplayAlwaysOnPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/display/AmbientDisplayAlwaysOnPreferenceControllerTest.java
index 7cd5a23..1548b42 100644
--- a/tests/robotests/src/com/android/settings/display/AmbientDisplayAlwaysOnPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/display/AmbientDisplayAlwaysOnPreferenceControllerTest.java
@@ -128,4 +128,9 @@
                 new AmbientDisplayAlwaysOnPreferenceController(mContext, "bad_key");
         assertThat(controller.isSliceable()).isFalse();
     }
+
+    @Test
+    public void isPublicSlice_returnTrue() {
+        assertThat(mController.isPublicSlice()).isTrue();
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/display/AmbientDisplayNotificationsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/display/AmbientDisplayNotificationsPreferenceControllerTest.java
index fbfb8a4..6caa8bd 100644
--- a/tests/robotests/src/com/android/settings/display/AmbientDisplayNotificationsPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/display/AmbientDisplayNotificationsPreferenceControllerTest.java
@@ -171,4 +171,9 @@
                 new AmbientDisplayNotificationsPreferenceController(mContext, "bad_key");
         assertThat(controller.isSliceable()).isFalse();
     }
+
+    @Test
+    public void isPublicSlice_returnTrue() {
+        assertThat(mController.isPublicSlice()).isTrue();
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/display/AutoBrightnessDetailPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/display/AutoBrightnessDetailPreferenceControllerTest.java
index e76cff6..cdb08f3 100644
--- a/tests/robotests/src/com/android/settings/display/AutoBrightnessDetailPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/display/AutoBrightnessDetailPreferenceControllerTest.java
@@ -52,6 +52,11 @@
     }
 
     @Test
+    public void isPublicSlice_returnTrue() {
+        assertThat(mController.isPublicSlice()).isTrue();
+    }
+
+    @Test
     public void getAvailabilityStatus_configTrueSet_shouldReturnAvailable() {
         SettingsShadowResources.overrideResource(
                 com.android.internal.R.bool.config_automatic_brightness_available, true);
diff --git a/tests/robotests/src/com/android/settings/display/AutoRotatePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/display/AutoRotatePreferenceControllerTest.java
index a26e0b7..1d175de 100644
--- a/tests/robotests/src/com/android/settings/display/AutoRotatePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/display/AutoRotatePreferenceControllerTest.java
@@ -35,7 +35,6 @@
 import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settings.testutils.shadow.ShadowRotationPolicy;
 
-import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -153,6 +152,11 @@
         assertThat(controller.isSliceable()).isFalse();
     }
 
+    @Test
+    public void isPublicSlice_returnTrue() {
+        assertThat(mController.isPublicSlice()).isTrue();
+    }
+
     private void enableAutoRotationPreference() {
         when(mPackageManager.hasSystemFeature(anyString())).thenReturn(true);
         when(mContext.getResources().getBoolean(anyInt())).thenReturn(true);
diff --git a/tests/robotests/src/com/android/settings/display/FontSizePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/display/FontSizePreferenceControllerTest.java
index 888b711..58e7ccd 100644
--- a/tests/robotests/src/com/android/settings/display/FontSizePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/display/FontSizePreferenceControllerTest.java
@@ -49,7 +49,7 @@
     @Test
     public void isAlwaysAvailable() {
         assertThat(mController.getAvailabilityStatus())
-                .isEqualTo(BasePreferenceController.AVAILABLE_UNSEARCHABLE);
+                .isEqualTo(BasePreferenceController.AVAILABLE);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/display/NightDisplayActivationPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/display/NightDisplayActivationPreferenceControllerTest.java
index e666d61..bad112a 100644
--- a/tests/robotests/src/com/android/settings/display/NightDisplayActivationPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/display/NightDisplayActivationPreferenceControllerTest.java
@@ -15,6 +15,7 @@
 package com.android.settings.display;
 
 import static com.google.common.truth.Truth.assertThat;
+
 import static org.mockito.ArgumentMatchers.anyString;
 import static org.mockito.Mockito.when;
 
@@ -57,7 +58,7 @@
         mPreference = new LayoutPreference(mContext, R.layout.night_display_activation_button);
         when(mScreen.findPreference(anyString())).thenReturn(mPreference);
         mPreferenceController = new NightDisplayActivationPreferenceController(mContext,
-            "night_display_activation");
+                "night_display_activation");
         mPreferenceController.displayPreference(mScreen);
     }
 
@@ -83,7 +84,7 @@
     @Test
     public void isSliceableCorrectKey_returnsTrue() {
         final NightDisplayActivationPreferenceController controller =
-                new NightDisplayActivationPreferenceController(mContext,"night_display_activated");
+                new NightDisplayActivationPreferenceController(mContext, "night_display_activated");
         assertThat(controller.isSliceable()).isTrue();
     }
 
@@ -95,6 +96,11 @@
     }
 
     @Test
+    public void isPublicSlice_returnTrue() {
+        assertThat(mPreferenceController.isPublicSlice()).isTrue();
+    }
+
+    @Test
     public void onClick_activates() {
         mColorDisplayManager.setNightDisplayActivated(false);
 
diff --git a/tests/robotests/src/com/android/settings/display/NightDisplayFooterPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/display/NightDisplayFooterPreferenceControllerTest.java
index 18aff9d..efb26fa 100644
--- a/tests/robotests/src/com/android/settings/display/NightDisplayFooterPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/display/NightDisplayFooterPreferenceControllerTest.java
@@ -14,6 +14,9 @@
 
 package com.android.settings.display;
 
+import static com.android.settings.core.BasePreferenceController.AVAILABLE_UNSEARCHABLE;
+import static com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_DEVICE;
+
 import static com.google.common.truth.Truth.assertThat;
 
 import com.android.settings.testutils.shadow.SettingsShadowResources;
@@ -34,7 +37,8 @@
 
     @Before
     public void setUp() {
-        mController = new NightDisplayFooterPreferenceController(RuntimeEnvironment.application);
+        mController =
+                new NightDisplayFooterPreferenceController(RuntimeEnvironment.application, "key");
     }
 
     @After
@@ -43,16 +47,18 @@
     }
 
     @Test
-    public void isAvailable_configuredAvailable() {
+    public void getAvailabilityStatus_configuredAvailable_shouldReturnAVAILABLE_UNSEARCHABLE() {
         SettingsShadowResources.overrideResource(
                 com.android.internal.R.bool.config_nightDisplayAvailable, true);
-        assertThat(mController.isAvailable()).isTrue();
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE_UNSEARCHABLE);
     }
 
     @Test
-    public void isAvailable_configuredUnavailable() {
+    public void getAvailabilityStatus_configuredUnavailable_shouldReturnUNSUPPORTED_ON_DEVICE() {
         SettingsShadowResources.overrideResource(
                 com.android.internal.R.bool.config_nightDisplayAvailable, false);
-        assertThat(mController.isAvailable()).isFalse();
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(UNSUPPORTED_ON_DEVICE);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/display/NightDisplayIntensityPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/display/NightDisplayIntensityPreferenceControllerTest.java
index b9c2abd..be9ceaf 100644
--- a/tests/robotests/src/com/android/settings/display/NightDisplayIntensityPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/display/NightDisplayIntensityPreferenceControllerTest.java
@@ -19,7 +19,9 @@
 import android.content.Context;
 import android.hardware.display.ColorDisplayManager;
 import android.provider.Settings.Secure;
+
 import com.android.settings.testutils.shadow.SettingsShadowResources;
+
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -32,83 +34,89 @@
 @Config(shadows = SettingsShadowResources.class)
 public class NightDisplayIntensityPreferenceControllerTest {
 
-  private Context mContext;
-  private NightDisplayIntensityPreferenceController mPreferenceController;
+    private Context mContext;
+    private NightDisplayIntensityPreferenceController mPreferenceController;
 
-  @Before
-  public void setUp() {
-    mContext = RuntimeEnvironment.application;
-    mPreferenceController = new NightDisplayIntensityPreferenceController(mContext,
-        "night_display_temperature");
-  }
+    @Before
+    public void setUp() {
+        mContext = RuntimeEnvironment.application;
+        mPreferenceController = new NightDisplayIntensityPreferenceController(mContext,
+                "night_display_temperature");
+    }
 
-  @After
-  public void tearDown() {
-    SettingsShadowResources.reset();
-  }
+    @After
+    public void tearDown() {
+        SettingsShadowResources.reset();
+    }
 
-  @Test
-  public void isAvailable_configuredAvailable_isActivated_available() {
-    SettingsShadowResources.overrideResource(
-        com.android.internal.R.bool.config_nightDisplayAvailable, true);
-    Secure.putInt(mContext.getContentResolver(), Secure.NIGHT_DISPLAY_ACTIVATED, 1);
-    assertThat(mPreferenceController.isAvailable()).isTrue();
-  }
+    @Test
+    public void isAvailable_configuredAvailable_isActivated_available() {
+        SettingsShadowResources.overrideResource(
+                com.android.internal.R.bool.config_nightDisplayAvailable, true);
+        Secure.putInt(mContext.getContentResolver(), Secure.NIGHT_DISPLAY_ACTIVATED, 1);
+        assertThat(mPreferenceController.isAvailable()).isTrue();
+    }
 
-  @Test
-  public void isAvailable_configuredAvailable_isNotActivated_available() {
-    SettingsShadowResources.overrideResource(
-        com.android.internal.R.bool.config_nightDisplayAvailable, true);
-    Secure.putInt(mContext.getContentResolver(), Secure.NIGHT_DISPLAY_ACTIVATED, 0);
-    assertThat(mPreferenceController.isAvailable()).isTrue();
-  }
+    @Test
+    public void isAvailable_configuredAvailable_isNotActivated_available() {
+        SettingsShadowResources.overrideResource(
+                com.android.internal.R.bool.config_nightDisplayAvailable, true);
+        Secure.putInt(mContext.getContentResolver(), Secure.NIGHT_DISPLAY_ACTIVATED, 0);
+        assertThat(mPreferenceController.isAvailable()).isTrue();
+    }
 
-  @Test
-  public void isAvailable_configuredUnavailable_unavailable() {
-    SettingsShadowResources.overrideResource(
-        com.android.internal.R.bool.config_nightDisplayAvailable, false);
-    assertThat(mPreferenceController.isAvailable()).isFalse();
-  }
+    @Test
+    public void isAvailable_configuredUnavailable_unavailable() {
+        SettingsShadowResources.overrideResource(
+                com.android.internal.R.bool.config_nightDisplayAvailable, false);
+        assertThat(mPreferenceController.isAvailable()).isFalse();
+    }
 
-  @Test
-  public void onPreferenceChange_changesTemperature() {
-    SettingsShadowResources.overrideResource(
-        com.android.internal.R.integer.config_nightDisplayColorTemperatureMin, 2950);
-    SettingsShadowResources.overrideResource(
-        com.android.internal.R.integer.config_nightDisplayColorTemperatureMax, 3050);
-    // A slider-adjusted "20" here would be 1/5 from the left / least-intense, i.e. 3030.
-    mPreferenceController.onPreferenceChange(null, 20);
+    @Test
+    public void onPreferenceChange_changesTemperature() {
+        SettingsShadowResources.overrideResource(
+                com.android.internal.R.integer.config_nightDisplayColorTemperatureMin, 2950);
+        SettingsShadowResources.overrideResource(
+                com.android.internal.R.integer.config_nightDisplayColorTemperatureMax, 3050);
+        // A slider-adjusted "20" here would be 1/5 from the left / least-intense, i.e. 3030.
+        mPreferenceController.onPreferenceChange(null, 20);
 
-    assertThat(
-        mContext.getSystemService(ColorDisplayManager.class).getNightDisplayColorTemperature())
-        .isEqualTo(3030);
-  }
+        assertThat(
+                mContext.getSystemService(
+                        ColorDisplayManager.class).getNightDisplayColorTemperature())
+                .isEqualTo(3030);
+    }
 
-  @Test
-  public void rangeOfSlider_staysWithinValidRange() {
-    SettingsShadowResources.overrideResource(
-            com.android.internal.R.integer.config_nightDisplayColorTemperatureMin, 2950);
-    SettingsShadowResources.overrideResource(
-            com.android.internal.R.integer.config_nightDisplayColorTemperatureMax, 3050);
+    @Test
+    public void rangeOfSlider_staysWithinValidRange() {
+        SettingsShadowResources.overrideResource(
+                com.android.internal.R.integer.config_nightDisplayColorTemperatureMin, 2950);
+        SettingsShadowResources.overrideResource(
+                com.android.internal.R.integer.config_nightDisplayColorTemperatureMax, 3050);
 
-    assertThat(mPreferenceController.getMax() - mPreferenceController.getMin())
-            .isGreaterThan(0);
-  }
+        assertThat(mPreferenceController.getMax() - mPreferenceController.getMin())
+                .isGreaterThan(0);
+    }
 
-  @Test
-  public void getMin_alwaysReturnsZero() {
-    assertThat(mPreferenceController.getMin()).isEqualTo(0);
-  }
+    @Test
+    public void getMin_alwaysReturnsZero() {
+        assertThat(mPreferenceController.getMin()).isEqualTo(0);
+    }
 
-  @Test
-  public void isSliceableCorrectKey_returnsTrue() {
-    assertThat(mPreferenceController.isSliceable()).isTrue();
-  }
+    @Test
+    public void isSliceableCorrectKey_returnsTrue() {
+        assertThat(mPreferenceController.isSliceable()).isTrue();
+    }
 
-  @Test
-  public void isSliceableIncorrectKey_returnsFalse() {
-    final NightDisplayIntensityPreferenceController controller =
-        new NightDisplayIntensityPreferenceController(mContext, "bad_key");
-    assertThat(controller.isSliceable()).isFalse();
-  }
+    @Test
+    public void isSliceableIncorrectKey_returnsFalse() {
+        final NightDisplayIntensityPreferenceController controller =
+                new NightDisplayIntensityPreferenceController(mContext, "bad_key");
+        assertThat(controller.isSliceable()).isFalse();
+    }
+
+    @Test
+    public void isPublicSlice_returnTrue() {
+        assertThat(mPreferenceController.isPublicSlice()).isTrue();
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/display/WallpaperPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/display/WallpaperPreferenceControllerTest.java
index c9a6978..d6ad52d2 100644
--- a/tests/robotests/src/com/android/settings/display/WallpaperPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/display/WallpaperPreferenceControllerTest.java
@@ -123,7 +123,7 @@
         assertThat(mController.getKeywords())
                 .contains(mContext.getString(R.string.keywords_wallpaper));
         assertThat(mController.getKeywords())
-                .doesNotContain(mContext.getString(R.string.theme_customization_category));
+                .doesNotContain(mContext.getString(R.string.keywords_styles));
     }
 
     @Test
@@ -136,7 +136,7 @@
         assertThat(mController.getKeywords())
                 .contains(mContext.getString(R.string.keywords_wallpaper));
         assertThat(mController.getKeywords())
-                .contains(mContext.getString(R.string.theme_customization_category));
+                .contains(mContext.getString(R.string.keywords_styles));
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/display/darkmode/DarkModeActivationPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/display/darkmode/DarkModeActivationPreferenceControllerTest.java
index cd20ea2..25117be 100644
--- a/tests/robotests/src/com/android/settings/display/darkmode/DarkModeActivationPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/display/darkmode/DarkModeActivationPreferenceControllerTest.java
@@ -32,7 +32,10 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 
+import java.util.Locale;
+
 import static org.junit.Assert.assertEquals;
+import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyBoolean;
 import static org.mockito.ArgumentMatchers.anyString;
 import static org.mockito.Mockito.mock;
@@ -60,9 +63,12 @@
     private Button mTurnOnButton;
     @Mock
     private PowerManager mPM;
+    @Mock
+    private TimeFormatter mFormat;
 
-    private Configuration configNightYes = new Configuration();
-    private Configuration configNightNo = new Configuration();;
+    private Configuration mConfigNightYes = new Configuration();
+    private Configuration mConfigNightNo = new Configuration();
+    private Locale mLocal = new Locale("ENG");
 
     @Before
     public void setUp() {
@@ -77,6 +83,7 @@
         when(mPreference.findViewById(
                 eq(R.id.dark_ui_turn_off_button))).thenReturn(mTurnOffButton);
         when(mService.setNightModeActivated(anyBoolean())).thenReturn(true);
+        when(mFormat.of(any())).thenReturn("10:00 AM");
         when(mContext.getString(
                 R.string.dark_ui_activation_off_auto)).thenReturn("off_auto");
         when(mContext.getString(
@@ -93,16 +100,22 @@
                 R.string.dark_ui_summary_off_auto_mode_never)).thenReturn("summary_off_manual");
         when(mContext.getString(
                 R.string.dark_ui_summary_on_auto_mode_never)).thenReturn("summary_on_manual");
-        mController = new DarkModeActivationPreferenceController(mContext, mPreferenceKey);
+        when(mContext.getString(
+                R.string.dark_ui_summary_on_auto_mode_custom)).thenReturn("summary_on_custom");
+        when(mContext.getString(
+                R.string.dark_ui_summary_off_auto_mode_custom)).thenReturn("summary_off_custom");
+        mController = new DarkModeActivationPreferenceController(mContext, mPreferenceKey, mFormat);
         mController.displayPreference(mScreen);
-        configNightNo.uiMode = Configuration.UI_MODE_NIGHT_NO;
-        configNightYes.uiMode = Configuration.UI_MODE_NIGHT_YES;
+        mConfigNightNo.uiMode = Configuration.UI_MODE_NIGHT_NO;
+        mConfigNightYes.uiMode = Configuration.UI_MODE_NIGHT_YES;
+        mConfigNightNo.locale = mLocal;
+        mConfigNightYes.locale = mLocal;
     }
 
     @Test
     public void nightMode_toggleButton_offManual() {
         when(mService.getNightMode()).thenReturn(UiModeManager.MODE_NIGHT_YES);
-        when(res.getConfiguration()).thenReturn(configNightYes);
+        when(res.getConfiguration()).thenReturn(mConfigNightYes);
 
         mController.updateState(mPreference);
 
@@ -112,11 +125,37 @@
                 R.string.dark_ui_activation_off_manual)));
     }
 
+    @Test
+    public void nightMode_toggleButton_offCustom() {
+        when(mService.getNightMode()).thenReturn(UiModeManager.MODE_NIGHT_CUSTOM);
+        when(res.getConfiguration()).thenReturn(mConfigNightYes);
+
+        mController.updateState(mPreference);
+
+        verify(mTurnOnButton).setVisibility(eq(View.GONE));
+        verify(mTurnOffButton).setVisibility(eq(View.VISIBLE));
+        verify(mTurnOffButton).setText(eq(mContext.getString(
+                R.string.dark_ui_activation_off_custom)));
+    }
+
+    @Test
+    public void nightMode_toggleButton_onCustom() {
+        when(mService.getNightMode()).thenReturn(UiModeManager.MODE_NIGHT_CUSTOM);
+        when(res.getConfiguration()).thenReturn(mConfigNightYes);
+
+        mController.updateState(mPreference);
+
+        verify(mTurnOnButton).setVisibility(eq(View.GONE));
+        verify(mTurnOffButton).setVisibility(eq(View.VISIBLE));
+        verify(mTurnOffButton).setText(eq(mContext.getString(
+                R.string.dark_ui_activation_on_custom)));
+    }
+
 
     @Test
     public void nightMode_toggleButton_onAutoWhenModeIsYes() {
         when(mService.getNightMode()).thenReturn(UiModeManager.MODE_NIGHT_YES);
-        when(res.getConfiguration()).thenReturn(configNightNo);
+        when(res.getConfiguration()).thenReturn(mConfigNightNo);
 
         mController.updateState(mPreference);
 
@@ -129,7 +168,7 @@
     @Test
     public void nightMode_toggleButton_onAutoWhenModeIsAuto() {
         when(mService.getNightMode()).thenReturn(UiModeManager.MODE_NIGHT_AUTO);
-        when(res.getConfiguration()).thenReturn(configNightNo);
+        when(res.getConfiguration()).thenReturn(mConfigNightNo);
 
         mController.updateState(mPreference);
 
@@ -142,7 +181,7 @@
     @Test
     public void nightModeSummary_buttonText_onManual() {
         when(mService.getNightMode()).thenReturn(UiModeManager.MODE_NIGHT_NO);
-        when(res.getConfiguration()).thenReturn(configNightYes);
+        when(res.getConfiguration()).thenReturn(mConfigNightYes);
 
         assertEquals(mController.getSummary(), mContext.getString(
                 R.string.dark_ui_summary_on_auto_mode_never));
@@ -151,7 +190,7 @@
     @Test
     public void nightModeSummary_buttonText_offAuto() {
         when(mService.getNightMode()).thenReturn(UiModeManager.MODE_NIGHT_AUTO);
-        when(res.getConfiguration()).thenReturn(configNightNo);
+        when(res.getConfiguration()).thenReturn(mConfigNightNo);
 
         assertEquals(mController.getSummary(), mContext.getString(
                 R.string.dark_ui_summary_off_auto_mode_auto));
diff --git a/tests/robotests/src/com/android/settings/display/darkmode/DarkModeCustomPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/display/darkmode/DarkModeCustomPreferenceControllerTest.java
new file mode 100644
index 0000000..107b79f
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/display/darkmode/DarkModeCustomPreferenceControllerTest.java
@@ -0,0 +1,91 @@
+/*
+ * 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.darkmode;
+
+import android.app.UiModeManager;
+import android.content.ContentResolver;
+import android.content.Context;
+import android.content.res.Configuration;
+import android.content.res.Resources;
+import androidx.preference.Preference;
+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 static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+@RunWith(RobolectricTestRunner.class)
+public class DarkModeCustomPreferenceControllerTest {
+    private DarkModeCustomPreferenceController mController;
+    @Mock
+    private UiModeManager mService;
+    @Mock
+    private Context mContext;
+    @Mock
+    private Preference mPreference;
+    @Mock
+    private Resources mResources;
+    @Mock
+    private ContentResolver mCR;
+    @Mock
+    private TimeFormatter mFormat;
+    @Mock
+    private DarkModeSettingsFragment mFragment;
+    private Configuration mConfig = new Configuration();
+
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        when(mContext.getResources()).thenReturn(mResources);
+        when(mResources.getConfiguration()).thenReturn(mConfig);
+        when(mContext.getContentResolver()).thenReturn(mCR);
+        mService = mock(UiModeManager.class);
+        when(mContext.getResources()).thenReturn(mResources);
+        when(mContext.getSystemService(UiModeManager.class)).thenReturn(mService);
+        mController = new DarkModeCustomPreferenceController(mContext, "key", mFragment, mFormat);
+        when(mFormat.is24HourFormat()).thenReturn(false);
+        when(mFormat.of(any())).thenReturn("10:00 AM");
+    }
+
+    @Test
+    public void nightMode_customOff_hidePreference() {
+        when(mService.getNightMode()).thenReturn(UiModeManager.MODE_NIGHT_YES);
+        mController.refreshSummary(mPreference);
+        verify(mPreference).setVisible(eq(false));
+    }
+
+    @Test
+    public void nightMode_customOff_showPreference() {
+        when(mService.getNightMode()).thenReturn(UiModeManager.MODE_NIGHT_CUSTOM);
+        mController.refreshSummary(mPreference);
+        verify(mPreference).setVisible(eq(true));
+    }
+
+    @Test
+    public void nightMode_customOff_setSummaryNotNull() {
+        when(mService.getNightMode()).thenReturn(UiModeManager.MODE_NIGHT_CUSTOM);
+        mController.refreshSummary(mPreference);
+        verify(mPreference).setSummary(eq(mFormat.of(null)));
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/display/darkmode/DarkModeScheduleSelectorControllerTest.java b/tests/robotests/src/com/android/settings/display/darkmode/DarkModeScheduleSelectorControllerTest.java
index 53be42c..8afda73 100644
--- a/tests/robotests/src/com/android/settings/display/darkmode/DarkModeScheduleSelectorControllerTest.java
+++ b/tests/robotests/src/com/android/settings/display/darkmode/DarkModeScheduleSelectorControllerTest.java
@@ -14,11 +14,27 @@
 
 package com.android.settings.display.darkmode;
 
+import static junit.framework.TestCase.assertFalse;
+
+import static org.junit.Assert.assertTrue;
+import static org.mockito.ArgumentMatchers.anyBoolean;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.doNothing;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
 import android.app.UiModeManager;
 import android.content.Context;
 import android.os.PowerManager;
+
 import androidx.preference.DropDownPreference;
 import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -26,16 +42,6 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
-import com.android.settings.R;
-
-import static junit.framework.TestCase.assertFalse;
-import static org.junit.Assert.assertTrue;
-import static org.mockito.ArgumentMatchers.anyBoolean;
-import static org.mockito.ArgumentMatchers.anyString;
-import static org.mockito.ArgumentMatchers.eq;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
 
 @RunWith(RobolectricTestRunner.class)
 public class DarkModeScheduleSelectorControllerTest {
@@ -59,7 +65,13 @@
         when(mContext.getSystemService(PowerManager.class)).thenReturn(mPM);
         when(mContext.getString(R.string.dark_ui_auto_mode_never)).thenReturn("never");
         when(mContext.getString(R.string.dark_ui_auto_mode_auto)).thenReturn("auto");
+        when(mContext.getString(R.string.dark_ui_auto_mode_custom)).thenReturn("custom");
         mPreference = spy(new DropDownPreference(mContext));
+        mPreference.setEntryValues(new CharSequence[]{
+                mContext.getString(R.string.dark_ui_auto_mode_never),
+                mContext.getString(R.string.dark_ui_auto_mode_auto)
+        });
+        doNothing().when(mPreference).setValueIndex(anyInt());
         when(mScreen.findPreference(anyString())).thenReturn(mPreference);
         when(mUiService.setNightModeActivated(anyBoolean())).thenReturn(true);
         mController = new DarkModeScheduleSelectorController(mContext, mPreferenceKey);
@@ -81,23 +93,20 @@
     public void nightMode_updateStateNone_dropDownValueChangedToNone() {
         when(mUiService.getNightMode()).thenReturn(UiModeManager.MODE_NIGHT_YES);
         mController.displayPreference(mScreen);
-        mController.updateState(mPreference);
-        verify(mPreference).setValue(mContext.getString(R.string.dark_ui_auto_mode_never));
+        verify(mPreference).setValueIndex(0);
     }
 
     @Test
     public void nightMode_updateStateNone_dropDownValueChangedToAuto() {
         when(mUiService.getNightMode()).thenReturn(UiModeManager.MODE_NIGHT_AUTO);
         mController.displayPreference(mScreen);
-        mController.updateState(mPreference);
-        verify(mPreference).setValue(mContext.getString(R.string.dark_ui_auto_mode_auto));
+        verify(mPreference).setValueIndex(1);
     }
 
     @Test
     public void batterySaver_dropDown_disabledSelector() {
         when(mPM.isPowerSaveMode()).thenReturn(true);
         mController.displayPreference(mScreen);
-        mController.updateState(mPreference);
         verify(mPreference).setEnabled(eq(false));
     }
 }
diff --git a/tests/robotests/src/com/android/settings/enterprise/EnterprisePrivacyFeatureProviderImplTest.java b/tests/robotests/src/com/android/settings/enterprise/EnterprisePrivacyFeatureProviderImplTest.java
index 429ede9..f539350 100644
--- a/tests/robotests/src/com/android/settings/enterprise/EnterprisePrivacyFeatureProviderImplTest.java
+++ b/tests/robotests/src/com/android/settings/enterprise/EnterprisePrivacyFeatureProviderImplTest.java
@@ -422,8 +422,7 @@
 
     private Intent addWorkPolicyInfoIntent(
             String packageName, boolean deviceOwner, boolean profileOwner) {
-        Intent intent =
-                new Intent(mResources.getString(R.string.config_work_policy_info_intent_action));
+        Intent intent = new Intent(Settings.ACTION_SHOW_WORK_POLICY_INFO);
         intent.setPackage(packageName);
         ResolveInfo resolveInfo = new ResolveInfo();
         resolveInfo.resolvePackageName = packageName;
diff --git a/tests/robotests/src/com/android/settings/flashlight/FlashlightSliceTest.java b/tests/robotests/src/com/android/settings/flashlight/FlashlightSliceTest.java
index 224d2ee..02f1a23 100644
--- a/tests/robotests/src/com/android/settings/flashlight/FlashlightSliceTest.java
+++ b/tests/robotests/src/com/android/settings/flashlight/FlashlightSliceTest.java
@@ -20,6 +20,8 @@
 import static com.google.common.truth.Truth.assertThat;
 
 import android.content.Context;
+import android.hardware.camera2.CameraCharacteristics;
+import android.hardware.camera2.CameraManager;
 import android.provider.Settings;
 
 import androidx.slice.Slice;
@@ -35,6 +37,11 @@
 import org.junit.runner.RunWith;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.Shadows;
+import org.robolectric.annotation.Config;
+import org.robolectric.shadow.api.Shadow;
+import org.robolectric.shadows.ShadowCameraCharacteristics;
+import org.robolectric.shadows.ShadowCameraManager;
 
 import java.util.List;
 
@@ -42,10 +49,12 @@
 public class FlashlightSliceTest {
 
     private Context mContext;
+    private ShadowCameraManager mShadowCameraManager;
 
     @Before
     public void setUp() {
         mContext = RuntimeEnvironment.application;
+        mShadowCameraManager = Shadows.shadowOf(mContext.getSystemService(CameraManager.class));
 
         // Set-up specs for SliceMetadata.
         SliceProvider.setSpecs(SliceLiveData.SUPPORTED_SPECS);
@@ -64,4 +73,22 @@
         final List<SliceAction> toggles = metadata.getToggles();
         assertThat(toggles).hasSize(1);
     }
+
+    @Test
+    public void isFlashlightAvailable_nullSecureAttr_noFlashUnit_returnFalse() {
+        assertThat(FlashlightSlice.isFlashlightAvailable(mContext)).isFalse();
+    }
+
+    @Test
+    public void isFlashlightAvailable_nullSecureAttr_hasFlashUnit_returnTrue() {
+        final CameraCharacteristics characteristics =
+                ShadowCameraCharacteristics.newCameraCharacteristics();
+        final ShadowCameraCharacteristics shadowCharacteristics = Shadow.extract(characteristics);
+        shadowCharacteristics.set(CameraCharacteristics.FLASH_INFO_AVAILABLE, true);
+        shadowCharacteristics
+                .set(CameraCharacteristics.LENS_FACING, CameraCharacteristics.LENS_FACING_BACK);
+        mShadowCameraManager.addCamera("camera_id", characteristics);
+
+        assertThat(FlashlightSlice.isFlashlightAvailable(mContext)).isTrue();
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryAppListPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatteryAppListPreferenceControllerTest.java
index f8bcf01..28655f3 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryAppListPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/BatteryAppListPreferenceControllerTest.java
@@ -25,7 +25,6 @@
 import static org.mockito.Mockito.when;
 
 import android.content.Context;
-import android.content.pm.ModuleInfo;
 import android.content.pm.PackageManager;
 import android.os.BatteryStats;
 import android.os.UserManager;
@@ -40,7 +39,6 @@
 import com.android.settings.SettingsActivity;
 import com.android.settings.core.InstrumentedPreferenceFragment;
 import com.android.settings.testutils.FakeFeatureFactory;
-import com.android.settingslib.applications.ApplicationsState;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -49,10 +47,6 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
-import org.robolectric.util.ReflectionHelpers;
-
-import java.util.ArrayList;
-import java.util.List;
 
 @RunWith(RobolectricTestRunner.class)
 public class BatteryAppListPreferenceControllerTest {
@@ -162,6 +156,19 @@
     }
 
     @Test
+    public void testSetUsageSummary_timeMoreThanOneMinute_GoogleApp_shouldNotSetScreenSummary() {
+        mNormalBatterySipper.usageTimeMs = 2 * DateUtils.MINUTE_IN_MILLIS;
+        mNormalBatterySipper.packageWithHighestDrain = "com.google.android.googlequicksearchbox";
+        doReturn(mContext.getText(R.string.battery_used_for)).when(mFragment).getText(
+                R.string.battery_used_for);
+        doReturn(mContext).when(mFragment).getContext();
+
+        mPreferenceController.setUsageSummary(mPreference, mNormalBatterySipper);
+
+        assertThat(mPreference.getSummary()).isNull();
+    }
+
+    @Test
     public void testSetUsageSummary_timeMoreThanOneMinute_hiddenApp_setUsedSummary() {
         mNormalBatterySipper.usageTimeMs = 2 * DateUtils.MINUTE_IN_MILLIS;
         doReturn(true).when(mBatteryUtils).shouldHideSipper(mNormalBatterySipper);
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryBroadcastReceiverTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatteryBroadcastReceiverTest.java
index cdbbf7e..4d5f1a0 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryBroadcastReceiverTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/BatteryBroadcastReceiverTest.java
@@ -42,7 +42,6 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
-
 import org.robolectric.annotation.Config;
 
 @RunWith(RobolectricTestRunner.class)
@@ -73,7 +72,7 @@
         mChargingIntent.putExtra(BatteryManager.EXTRA_LEVEL, BATTERY_INTENT_LEVEL);
         mChargingIntent.putExtra(BatteryManager.EXTRA_SCALE, BATTERY_INTENT_SCALE);
         mChargingIntent
-            .putExtra(BatteryManager.EXTRA_STATUS, BatteryManager.BATTERY_STATUS_CHARGING);
+                .putExtra(BatteryManager.EXTRA_STATUS, BatteryManager.BATTERY_STATUS_CHARGING);
     }
 
     @Test
@@ -85,9 +84,9 @@
         mBatteryBroadcastReceiver.onReceive(mContext, mChargingIntent);
 
         assertThat(mBatteryBroadcastReceiver.mBatteryLevel)
-            .isEqualTo(Utils.getBatteryPercentage(mChargingIntent));
+                .isEqualTo(Utils.getBatteryPercentage(mChargingIntent));
         assertThat(mBatteryBroadcastReceiver.mBatteryStatus)
-            .isEqualTo(Utils.getBatteryStatus(mContext.getResources(), mChargingIntent));
+                .isEqualTo(Utils.getBatteryStatus(mContext, mChargingIntent));
         verify(mBatteryListener).onBatteryChanged(BatteryUpdateType.BATTERY_LEVEL);
     }
 
@@ -111,7 +110,7 @@
     public void testOnReceive_batteryDataNotChanged_listenerNotInvoked() {
         final String batteryLevel = Utils.getBatteryPercentage(mChargingIntent);
         final String batteryStatus =
-            Utils.getBatteryStatus(mContext.getResources(), mChargingIntent);
+                Utils.getBatteryStatus(mContext, mChargingIntent);
         mBatteryBroadcastReceiver.mBatteryLevel = batteryLevel;
         mBatteryBroadcastReceiver.mBatteryStatus = batteryStatus;
 
@@ -134,9 +133,9 @@
         mBatteryBroadcastReceiver.register();
 
         assertThat(mBatteryBroadcastReceiver.mBatteryLevel)
-            .isEqualTo(Utils.getBatteryPercentage(mChargingIntent));
+                .isEqualTo(Utils.getBatteryPercentage(mChargingIntent));
         assertThat(mBatteryBroadcastReceiver.mBatteryStatus)
-            .isEqualTo(Utils.getBatteryStatus(mContext.getResources(), mChargingIntent));
+                .isEqualTo(Utils.getBatteryStatus(mContext, mChargingIntent));
         // 2 times because register will force update the battery
         verify(mBatteryListener, times(2)).onBatteryChanged(BatteryUpdateType.MANUAL);
     }
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryInfoTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatteryInfoTest.java
index 6b917f0..2bd193a 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryInfoTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/BatteryInfoTest.java
@@ -62,7 +62,7 @@
 public class BatteryInfoTest {
 
     private static final String STATUS_CHARGING_NO_TIME = "50% - charging";
-    private static final String STATUS_CHARGING_TIME = "50% - 0 min until fully charged";
+    private static final String STATUS_CHARGING_TIME = "50% - 0 min until charged";
     private static final String STATUS_NOT_CHARGING = "Not charging";
     private static final long REMAINING_TIME_NULL = -1;
     private static final long REMAINING_TIME = 2;
@@ -71,7 +71,7 @@
     private static final String EXTEND_PREFIX = "Extend battery life past";
     private static final long TEST_CHARGE_TIME_REMAINING = TimeUnit.MINUTES.toMicros(1);
     private static final String TEST_CHARGE_TIME_REMAINING_STRINGIFIED =
-            "1 min left until fully charged";
+            "1 min left until charged";
     private static final String TEST_BATTERY_LEVEL_10 = "10%";
     private static final String FIFTEEN_MIN_FORMATTED = "15 min";
     private static final Estimate DUMMY_ESTIMATE = new Estimate(
@@ -134,7 +134,7 @@
                 mBatteryStats, SystemClock.elapsedRealtime() * 1000, true /* shortString */);
 
         assertThat(info.discharging).isEqualTo(false);
-        assertThat(info.chargeLabel.toString()).isEqualTo("50% - 1 min until fully charged");
+        assertThat(info.chargeLabel.toString()).isEqualTo("50% - 1 min until charged");
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatterySaverReceiverTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatterySaverReceiverTest.java
index ec6436a..e411531 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatterySaverReceiverTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/BatterySaverReceiverTest.java
@@ -68,7 +68,7 @@
 
     @Test
     public void testOnReceive_powerSaveModeChanged_invokeCallback() {
-        Intent intent = new Intent(PowerManager.ACTION_POWER_SAVE_MODE_CHANGING);
+        Intent intent = new Intent(PowerManager.ACTION_POWER_SAVE_MODE_CHANGED);
 
         mBatterySaverReceiver.onReceive(mContext, intent);
 
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/RestrictAppPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/RestrictAppPreferenceControllerTest.java
index 7868768..598ef6e 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/RestrictAppPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/RestrictAppPreferenceControllerTest.java
@@ -23,8 +23,10 @@
 
 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.verify;
+import static org.mockito.Mockito.when;
 
 import android.app.Activity;
 import android.app.AppOpsManager;
@@ -32,8 +34,11 @@
 import android.content.Intent;
 import android.os.UserHandle;
 import android.os.UserManager;
+import android.util.Pair;
 
 import androidx.preference.Preference;
+import androidx.preference.PreferenceManager;
+import androidx.preference.PreferenceScreen;
 
 import com.android.settings.R;
 import com.android.settings.core.InstrumentedPreferenceFragment;
@@ -46,10 +51,11 @@
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.Robolectric;
+import org.robolectric.RobolectricTestRunner;
 
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.List;
-import org.robolectric.RobolectricTestRunner;
 
 @RunWith(RobolectricTestRunner.class)
 public class RestrictAppPreferenceControllerTest {
@@ -70,25 +76,21 @@
     private AppOpsManager.PackageOps mAllowedPackageOps;
     private AppOpsManager.PackageOps mOtherUserPackageOps;
     private List<AppOpsManager.PackageOps> mPackageOpsList;
-    private RestrictAppPreferenceController mRestrictAppPreferenceController;
     private Preference mPreference;
+    private PreferenceScreen mPreferenceScreen;
     private Context mContext;
 
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
-        final AppOpsManager.OpEntry allowOpEntry = new AppOpsManager.OpEntry(
-            AppOpsManager.OP_RUN_ANY_IN_BACKGROUND, false, AppOpsManager.MODE_ALLOWED,
-            null /*accessTimes*/, null /*rejectTimes*/,  null /*durations*/,
-            null /* proxyUids */, null /* proxyPackages */);
         final List<AppOpsManager.OpEntry> allowOps = new ArrayList<>();
-        allowOps.add(allowOpEntry);
-        final AppOpsManager.OpEntry restrictedOpEntry = new AppOpsManager.OpEntry(
-            AppOpsManager.OP_RUN_ANY_IN_BACKGROUND, false, AppOpsManager.MODE_IGNORED,
-            null /*accessTimes*/, null /*rejectTimes*/,  null /*durations*/,
-            null /* proxyUids */, null /* proxyPackages */);
+        allowOps.add(new AppOpsManager.OpEntry(
+                AppOpsManager.OP_RUN_ANY_IN_BACKGROUND, AppOpsManager.MODE_ALLOWED,
+                Collections.emptyMap()));
         final List<AppOpsManager.OpEntry> restrictedOps = new ArrayList<>();
-        restrictedOps.add(restrictedOpEntry);
+        restrictedOps.add(new AppOpsManager.OpEntry(
+                AppOpsManager.OP_RUN_ANY_IN_BACKGROUND, AppOpsManager.MODE_IGNORED,
+                Collections.emptyMap()));
         mAllowedPackageOps = new AppOpsManager.PackageOps(
                 ALLOWED_PACKAGE_NAME, ALLOWED_UID, allowOps);
         mRestrictedPackageOps = new AppOpsManager.PackageOps(
@@ -100,11 +102,15 @@
         doReturn(mAppOpsManager).when(mContext).getSystemService(Context.APP_OPS_SERVICE);
         doReturn(mUserManager).when(mContext).getSystemService(UserManager.class);
         doReturn(mContext).when(mFragment).getContext();
-        mRestrictAppPreferenceController =
-                new RestrictAppPreferenceController(mFragment);
+
         mPackageOpsList = new ArrayList<>();
         mPreference = new Preference(mContext);
-        mPreference.setKey(mRestrictAppPreferenceController.getPreferenceKey());
+        mPreference.setKey(RestrictAppPreferenceController.KEY_RESTRICT_APP);
+        mPreferenceScreen = spy(new PreferenceScreen(mContext, null));
+        when(mPreferenceScreen.getPreferenceManager()).thenReturn(mock(PreferenceManager.class));
+        when(mPreferenceScreen.getContext()).thenReturn(mContext);
+        when(mPreferenceScreen.findPreference(
+                RestrictAppPreferenceController.KEY_RESTRICT_APP)).thenReturn(mPreference);
 
         final List<UserHandle> userHandles = new ArrayList<>();
         userHandles.add(new UserHandle(0));
@@ -112,40 +118,49 @@
     }
 
     @Test
-    public void testUpdateState_oneApp_showCorrectSummary() {
+    public void updateState_oneApp_showCorrectSummary() {
         mPackageOpsList.add(mRestrictedPackageOps);
         doReturn(mPackageOpsList).when(mAppOpsManager).getPackagesForOps(any(int[].class));
 
-        mRestrictAppPreferenceController.updateState(mPreference);
+        final RestrictAppPreferenceController controller = new RestrictAppPreferenceController(
+                mFragment);
+        controller.displayPreference(mPreferenceScreen);
+        controller.updateState(mPreference);
 
         assertThat(mPreference.getSummary()).isEqualTo("Limiting battery usage for 1 app");
     }
 
     @Test
-    public void testUpdateState_twoRestrictedAppsForPrimaryUser_visibleAndShowCorrectSummary() {
+    public void updateState_twoRestrictedAppsForPrimaryUser_visibleAndShowCorrectSummary() {
         mPackageOpsList.add(mRestrictedPackageOps);
         mPackageOpsList.add(mRestrictedPackageOps);
         mPackageOpsList.add(mAllowedPackageOps);
         mPackageOpsList.add(mOtherUserPackageOps);
         doReturn(mPackageOpsList).when(mAppOpsManager).getPackagesForOps(any(int[].class));
 
-        mRestrictAppPreferenceController.updateState(mPreference);
+        final RestrictAppPreferenceController controller = new RestrictAppPreferenceController(
+                mFragment);
+        controller.displayPreference(mPreferenceScreen);
+        controller.updateState(mPreference);
 
         assertThat(mPreference.getSummary()).isEqualTo("Limiting battery usage for 2 apps");
         assertThat(mPreference.isVisible()).isTrue();
     }
 
     @Test
-    public void testUpdateState_oneRestrictedAppForTwoUsers_showSummaryAndContainCorrectApp() {
+    public void updateState_oneRestrictedAppForTwoUsers_showSummaryAndContainCorrectApp() {
         // Two packageOps share same package name but different uid.
         mPackageOpsList.add(mRestrictedPackageOps);
         mPackageOpsList.add(mOtherUserPackageOps);
         doReturn(mPackageOpsList).when(mAppOpsManager).getPackagesForOps(any(int[].class));
 
-        mRestrictAppPreferenceController.updateState(mPreference);
+        final RestrictAppPreferenceController controller = new RestrictAppPreferenceController(
+                mFragment);
+        controller.displayPreference(mPreferenceScreen);
+        controller.updateState(mPreference);
 
         assertThat(mPreference.getSummary()).isEqualTo("Limiting battery usage for 1 app");
-        assertThat(mRestrictAppPreferenceController.mAppInfos).containsExactly(
+        assertThat(controller.mAppInfos).containsExactly(
                 new AppInfo.Builder()
                         .setUid(RESTRICTED_UID)
                         .setPackageName(RESTRICTED_PACKAGE_NAME)
@@ -153,20 +168,25 @@
     }
 
     @Test
-    public void testUpdateState_zeroRestrictApp_inVisible() {
+    public void updateState_zeroRestrictApp_inVisible() {
         mPackageOpsList.add(mAllowedPackageOps);
         doReturn(mPackageOpsList).when(mAppOpsManager).getPackagesForOps(any(int[].class));
 
-        mRestrictAppPreferenceController.updateState(mPreference);
+        final RestrictAppPreferenceController controller = new RestrictAppPreferenceController(
+                mFragment);
+        controller.displayPreference(mPreferenceScreen);
+        controller.updateState(mPreference);
 
         assertThat(mPreference.isVisible()).isFalse();
     }
 
     @Test
-    public void testHandlePreferenceTreeClick_startFragment() {
+    public void handlePreferenceTreeClick_startFragment() {
         final ArgumentCaptor<Intent> intent = ArgumentCaptor.forClass(Intent.class);
 
-        mRestrictAppPreferenceController.handlePreferenceTreeClick(mPreference);
+        final RestrictAppPreferenceController controller = new RestrictAppPreferenceController(
+                mFragment);
+        controller.handlePreferenceTreeClick(mPreference);
 
         verify(mContext).startActivity(intent.capture());
         assertThat(intent.getValue().getStringExtra(EXTRA_SHOW_FRAGMENT))
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/SmartBatteryPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/SmartBatteryPreferenceControllerTest.java
index 7bc6ead..91e7b04 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/SmartBatteryPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/SmartBatteryPreferenceControllerTest.java
@@ -120,4 +120,9 @@
                 new SmartBatteryPreferenceController(null);
         assertThat(controller.isSliceable()).isTrue();
     }
+
+    @Test
+    public void isPublicSlice_returnsTrue() {
+        assertThat(mController.isPublicSlice()).isTrue();
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/TopLevelBatteryPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/TopLevelBatteryPreferenceControllerTest.java
index 58ed6b4..3775802 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/TopLevelBatteryPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/TopLevelBatteryPreferenceControllerTest.java
@@ -16,7 +16,7 @@
 
 package com.android.settings.fuelgauge;
 
-import static com.android.settings.core.BasePreferenceController.AVAILABLE_UNSEARCHABLE;
+import static com.android.settings.core.BasePreferenceController.AVAILABLE;
 import static com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_DEVICE;
 import static com.android.settings.fuelgauge.TopLevelBatteryPreferenceController.getDashboardLabel;
 
@@ -27,9 +27,9 @@
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.robolectric.annotation.Config;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
 
 @RunWith(RobolectricTestRunner.class)
 public class TopLevelBatteryPreferenceControllerTest {
@@ -44,7 +44,7 @@
 
     @Test
     public void getAvailibilityStatus_availableByDefault() {
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE_UNSEARCHABLE);
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverButtonPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverButtonPreferenceControllerTest.java
index 3509330..c01c174 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverButtonPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverButtonPreferenceControllerTest.java
@@ -26,6 +26,7 @@
 
 import android.content.Context;
 import android.os.PowerManager;
+import android.provider.SettingsSlicesContract;
 import android.widget.Button;
 
 import androidx.preference.PreferenceScreen;
@@ -73,6 +74,12 @@
     }
 
     @Test
+    public void getSliceUri_shouldUsePlatformAuthority() {
+        assertThat(mController.getSliceUri().getAuthority())
+                .isEqualTo(SettingsSlicesContract.AUTHORITY);
+    }
+
+    @Test
     public void updateState_lowPowerOn_preferenceIsChecked() {
         when(mPowerManager.isPowerSaveMode()).thenReturn(true);
 
@@ -103,4 +110,9 @@
 
         verify(mPowerManager).setPowerSaveModeEnabled(false);
     }
+
+    @Test
+    public void isPublicSlice_returnsTrue() {
+        assertThat(mController.isPublicSlice()).isTrue();
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/AnomalyCleanupJobServiceTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/AnomalyCleanupJobServiceTest.java
index 32ea9e0..6f1e37a 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/AnomalyCleanupJobServiceTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/AnomalyCleanupJobServiceTest.java
@@ -27,14 +27,16 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
+import android.app.JobSchedulerImpl;
+import android.app.job.IJobScheduler;
 import android.app.job.JobInfo;
 import android.app.job.JobParameters;
 import android.app.job.JobScheduler;
 import android.content.Context;
+import android.os.Binder;
 
 import com.android.settings.R;
 import com.android.settings.testutils.DatabaseTestUtils;
-import com.android.settings.testutils.shadow.ShadowThreadUtils;
 
 import org.junit.After;
 import org.junit.Before;
@@ -45,13 +47,11 @@
 import org.robolectric.Robolectric;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
-import org.robolectric.annotation.Config;
 
 import java.util.List;
 import java.util.concurrent.TimeUnit;
 
 @RunWith(RobolectricTestRunner.class)
-@Config(shadows = ShadowThreadUtils.class)
 public class AnomalyCleanupJobServiceTest {
     private static final int UID = 1234;
     private static final String PACKAGE_NAME = "com.android.package";
@@ -70,7 +70,7 @@
         MockitoAnnotations.initMocks(this);
 
         mContext = spy(RuntimeEnvironment.application);
-        mJobScheduler = spy(mContext.getSystemService(JobScheduler.class));
+        mJobScheduler = spy(new JobSchedulerImpl(IJobScheduler.Stub.asInterface(new Binder())));
         when(mContext.getSystemService(JobScheduler.class)).thenReturn(mJobScheduler);
     }
 
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/AnomalyConfigJobServiceTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/AnomalyConfigJobServiceTest.java
index 30cab77..c6aaa32 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/AnomalyConfigJobServiceTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/AnomalyConfigJobServiceTest.java
@@ -30,10 +30,13 @@
 import static org.mockito.Mockito.when;
 import static org.robolectric.RuntimeEnvironment.application;
 
+import android.app.JobSchedulerImpl;
 import android.app.StatsManager;
+import android.app.job.IJobScheduler;
 import android.app.job.JobInfo;
 import android.app.job.JobScheduler;
 import android.content.Context;
+import android.os.Binder;
 import android.provider.Settings;
 
 import com.android.settings.R;
@@ -66,7 +69,7 @@
         MockitoAnnotations.initMocks(this);
 
         mContext = spy(RuntimeEnvironment.application);
-        mJobScheduler = spy(mContext.getSystemService(JobScheduler.class));
+        mJobScheduler = spy(new JobSchedulerImpl(IJobScheduler.Stub.asInterface(new Binder())));
         when(mContext.getSystemService(JobScheduler.class)).thenReturn(mJobScheduler);
 
         mJobService = spy(new AnomalyConfigJobService());
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/AnomalyDetectionJobServiceTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/AnomalyDetectionJobServiceTest.java
index ba67793..e839717 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/AnomalyDetectionJobServiceTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/AnomalyDetectionJobServiceTest.java
@@ -38,7 +38,9 @@
 import static org.mockito.Mockito.when;
 import static org.robolectric.RuntimeEnvironment.application;
 
+import android.app.JobSchedulerImpl;
 import android.app.StatsManager;
+import android.app.job.IJobScheduler;
 import android.app.job.JobInfo;
 import android.app.job.JobParameters;
 import android.app.job.JobScheduler;
@@ -46,6 +48,7 @@
 import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.content.Intent;
+import android.os.Binder;
 import android.os.Bundle;
 import android.os.Process;
 import android.os.StatsDimensionsValue;
@@ -105,12 +108,16 @@
     private AnomalyDetectionJobService mAnomalyDetectionJobService;
     private FakeFeatureFactory mFeatureFactory;
     private Context mContext;
+    private JobScheduler mJobScheduler;
 
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
 
-        mContext = RuntimeEnvironment.application;
+        mContext = spy(RuntimeEnvironment.application);
+        mJobScheduler = spy(new JobSchedulerImpl(IJobScheduler.Stub.asInterface(new Binder())));
+        when(mContext.getSystemService(JobScheduler.class)).thenReturn(mJobScheduler);
+
         mPolicy = new BatteryTipPolicy(mContext);
         mBundle = new Bundle();
         mBundle.putParcelable(StatsManager.EXTRA_STATS_DIMENSIONS_VALUE, mStatsDimensionsValue);
@@ -125,9 +132,9 @@
 
     @Test
     public void scheduleCleanUp() {
-        AnomalyDetectionJobService.scheduleAnomalyDetection(application, new Intent());
+        AnomalyDetectionJobService.scheduleAnomalyDetection(mContext, new Intent());
 
-        JobScheduler jobScheduler = application.getSystemService(JobScheduler.class);
+        JobScheduler jobScheduler = mContext.getSystemService(JobScheduler.class);
         List<JobInfo> pendingJobs = jobScheduler.getAllPendingJobs();
         assertThat(pendingJobs).hasSize(1);
 
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryTipDialogFragmentTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryTipDialogFragmentTest.java
index df9a194..331fb34 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryTipDialogFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryTipDialogFragmentTest.java
@@ -22,6 +22,9 @@
 import static org.mockito.Mockito.spy;
 
 import android.content.Context;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.PackageInfo;
+import android.graphics.drawable.ColorDrawable;
 import android.text.format.DateUtils;
 
 import androidx.appcompat.app.AlertDialog;
@@ -38,6 +41,7 @@
 import com.android.settings.testutils.shadow.ShadowUtils;
 import com.android.settingslib.fuelgauge.EstimateKt;
 
+import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -45,7 +49,9 @@
 import org.robolectric.Robolectric;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.Shadows;
 import org.robolectric.annotation.Config;
+import org.robolectric.shadows.ShadowPackageManager;
 import org.robolectric.shadows.androidx.fragment.FragmentController;
 
 import java.util.ArrayList;
@@ -69,6 +75,7 @@
     private UnrestrictAppTip mUnrestrictAppTip;
     private SummaryTip mSummaryTip;
     private AppInfo mAppInfo;
+    private ShadowPackageManager mPackageManager;
 
     @Before
     public void setUp() {
@@ -78,6 +85,18 @@
         FakeFeatureFactory.setupForTest();
         ShadowUtils.setApplicationLabel(PACKAGE_NAME, DISPLAY_NAME);
 
+        mPackageManager = Shadows.shadowOf(mContext.getPackageManager());
+
+        final ApplicationInfo applicationInfo = new ApplicationInfo();
+        applicationInfo.name = DISPLAY_NAME;
+        applicationInfo.packageName = PACKAGE_NAME;
+
+        final PackageInfo packageInfo = new PackageInfo();
+        packageInfo.packageName = PACKAGE_NAME;
+        packageInfo.applicationInfo = applicationInfo;
+        mPackageManager.addPackage(packageInfo);
+        mPackageManager.setApplicationIcon(PACKAGE_NAME, new ColorDrawable());
+
         List<AppInfo> highUsageTips = new ArrayList<>();
         mAppInfo = new AppInfo.Builder()
                 .setScreenOnTimeMs(SCREEN_TIME_MS)
@@ -99,6 +118,11 @@
                 EstimateKt.AVERAGE_TIME_TO_DISCHARGE_UNKNOWN));
     }
 
+    @After
+    public void tearDown() {
+        mPackageManager.removePackage(PACKAGE_NAME);
+    }
+
     @Test
     public void testOnCreateDialog_highUsageTip_fireHighUsageDialog() {
         Robolectric.getForegroundThreadScheduler().pause();
diff --git a/tests/robotests/src/com/android/settings/gestures/AssistGestureSettingsTest.java b/tests/robotests/src/com/android/settings/gestures/AssistGestureSettingsTest.java
index d6c6a1f..17db208 100644
--- a/tests/robotests/src/com/android/settings/gestures/AssistGestureSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/gestures/AssistGestureSettingsTest.java
@@ -72,6 +72,6 @@
 
         assertThat(AssistGestureSettings.SEARCH_INDEX_DATA_PROVIDER.getNonIndexableKeys(
                 RuntimeEnvironment.application))
-                .contains("gesture_assist_settings_page");
+                .isNotEmpty();
     }
 }
diff --git a/tests/robotests/src/com/android/settings/gestures/BackGestureIndicatorViewTest.java b/tests/robotests/src/com/android/settings/gestures/BackGestureIndicatorViewTest.java
new file mode 100644
index 0000000..8d43aaa
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/gestures/BackGestureIndicatorViewTest.java
@@ -0,0 +1,64 @@
+/*
+ * 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.gestures;
+
+import static org.junit.Assert.assertEquals;
+
+import android.content.Context;
+import android.widget.ImageView;
+
+import com.android.settings.R;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+@RunWith(RobolectricTestRunner.class)
+public class BackGestureIndicatorViewTest {
+
+    private Context mContext;
+
+    private BackGestureIndicatorDrawable mLeftDrawable;
+    private BackGestureIndicatorDrawable mRightDrawable;
+
+    private BackGestureIndicatorView mView;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+
+        mContext = RuntimeEnvironment.application;
+        mView = new BackGestureIndicatorView(mContext);
+
+        mLeftDrawable = (BackGestureIndicatorDrawable) ((ImageView) mView.findViewById(
+                R.id.indicator_left)).getDrawable();
+        mRightDrawable = (BackGestureIndicatorDrawable) ((ImageView) mView.findViewById(
+                R.id.indicator_right)).getDrawable();
+    }
+
+    @Test
+    public void testSetIndicatoreWidth() {
+        mView.setIndicatorWidth(25, true);
+        mView.setIndicatorWidth(52, false);
+
+        assertEquals(25, mLeftDrawable.getWidth());
+        assertEquals(52, mRightDrawable.getWidth());
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/gestures/DoubleTapPowerPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/gestures/DoubleTapPowerPreferenceControllerTest.java
index fac5ae8..7582699 100644
--- a/tests/robotests/src/com/android/settings/gestures/DoubleTapPowerPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/gestures/DoubleTapPowerPreferenceControllerTest.java
@@ -140,4 +140,9 @@
                 new DoubleTapPowerPreferenceController(mContext, "bad_key");
         assertThat(controller.isSliceable()).isFalse();
     }
+
+    @Test
+    public void isPublicSlice_returnTrue() {
+        assertThat(mController.isPublicSlice()).isTrue();
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/gestures/DoubleTapScreenPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/gestures/DoubleTapScreenPreferenceControllerTest.java
index 0dc7a78..edcbd76 100644
--- a/tests/robotests/src/com/android/settings/gestures/DoubleTapScreenPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/gestures/DoubleTapScreenPreferenceControllerTest.java
@@ -129,4 +129,9 @@
                 new DoubleTapScreenPreferenceController(mContext, "bad_key");
         assertThat(controller.isSliceable()).isFalse();
     }
+
+    @Test
+    public void isPublicSlice_returnTrue() {
+        assertThat(mController.isPublicSlice()).isTrue();
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/gestures/DoubleTwistPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/gestures/DoubleTwistPreferenceControllerTest.java
index 0efbf57..7bdd262 100644
--- a/tests/robotests/src/com/android/settings/gestures/DoubleTwistPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/gestures/DoubleTwistPreferenceControllerTest.java
@@ -170,4 +170,9 @@
         new DoubleTwistPreferenceController(mContext, "bad_key");
         assertThat(controller.isSliceable()).isFalse();
     }
+
+    @Test
+    public void isPublicSlice_returnTrue() {
+        assertThat(mController.isPublicSlice()).isTrue();
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/gestures/GesturePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/gestures/GesturePreferenceControllerTest.java
index d96ce75..1707c9d 100644
--- a/tests/robotests/src/com/android/settings/gestures/GesturePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/gestures/GesturePreferenceControllerTest.java
@@ -20,12 +20,10 @@
 
 import static org.mockito.ArgumentMatchers.anyString;
 import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.reset;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
 import android.content.Context;
-import android.os.Bundle;
 
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
@@ -83,73 +81,30 @@
     }
 
     @Test
-    public void onResume_shouldStartVideoPreferenceWithVideoPauseState() {
+    public void onStart_shouldStartVideoPreference() {
         final VideoPreference videoPreference = mock(VideoPreference.class);
         when(mScreen.findPreference(mController.getVideoPrefKey())).thenReturn(videoPreference);
         mController.mIsPrefAvailable = true;
-
         mController.displayPreference(mScreen);
-        final Bundle savedState = new Bundle();
 
-        mController.onCreate(null);
-        mController.onResume();
-        verify(videoPreference).onViewVisible(false);
+        mController.onStart();
 
-        reset(videoPreference);
-        savedState.putBoolean(GesturePreferenceController.KEY_VIDEO_PAUSED, true);
-        mController.onCreate(savedState);
-        mController.onResume();
-        verify(videoPreference).onViewVisible(true);
-
-        reset(videoPreference);
-        savedState.putBoolean(GesturePreferenceController.KEY_VIDEO_PAUSED, false);
-        mController.onCreate(savedState);
-        mController.onResume();
-        verify(videoPreference).onViewVisible(false);
+        verify(videoPreference).onViewVisible();
     }
 
     @Test
-    public void onPause_shouldStopVideoPreference() {
+    public void onStop_shouldStopVideoPreference() {
         final VideoPreference videoPreference = mock(VideoPreference.class);
         when(mScreen.findPreference(mController.getVideoPrefKey())).thenReturn(videoPreference);
         mController.mIsPrefAvailable = true;
 
         mController.displayPreference(mScreen);
-        mController.onPause();
+        mController.onStop();
 
         verify(videoPreference).onViewInvisible();
     }
 
     @Test
-    public void onPause_shouldUpdateVideoPauseState() {
-        final VideoPreference videoPreference = mock(VideoPreference.class);
-        when(mScreen.findPreference(mController.getVideoPrefKey())).thenReturn(videoPreference);
-        mController.mIsPrefAvailable = true;
-        mController.displayPreference(mScreen);
-
-        when(videoPreference.isVideoPaused()).thenReturn(true);
-        mController.onPause();
-        assertThat(mController.mVideoPaused).isTrue();
-
-        when(videoPreference.isVideoPaused()).thenReturn(false);
-        mController.onPause();
-        assertThat(mController.mVideoPaused).isFalse();
-    }
-
-    @Test
-    public void onSaveInstanceState_shouldSaveVideoPauseState() {
-        final Bundle outState = mock(Bundle.class);
-
-        mController.mVideoPaused = true;
-        mController.onSaveInstanceState(outState);
-        verify(outState).putBoolean(GesturePreferenceController.KEY_VIDEO_PAUSED, true);
-
-        mController.mVideoPaused = false;
-        mController.onSaveInstanceState(outState);
-        verify(outState).putBoolean(GesturePreferenceController.KEY_VIDEO_PAUSED, false);
-    }
-
-    @Test
     public void updateState_preferenceSetCheckedWhenSettingIsOn() {
         // Mock a TwoStatePreference
         final TwoStatePreference preference = mock(TwoStatePreference.class);
diff --git a/tests/robotests/src/com/android/settings/gestures/GlobalActionsPanelPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/gestures/GlobalActionsPanelPreferenceControllerTest.java
index 1fed7df..65f7ac7 100644
--- a/tests/robotests/src/com/android/settings/gestures/GlobalActionsPanelPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/gestures/GlobalActionsPanelPreferenceControllerTest.java
@@ -85,4 +85,9 @@
                 new GlobalActionsPanelPreferenceController(mContext, "bad_key");
         assertThat(controller.isSliceable()).isFalse();
     }
+
+    @Test
+    public void isPublicSlice_returnTrue() {
+        assertThat(mController.isPublicSlice()).isTrue();
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/gestures/LabeledSeekBarPreferenceTest.java b/tests/robotests/src/com/android/settings/gestures/LabeledSeekBarPreferenceTest.java
new file mode 100644
index 0000000..4fb94f8
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/gestures/LabeledSeekBarPreferenceTest.java
@@ -0,0 +1,72 @@
+/*
+ * 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.gestures;
+
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.widget.LinearLayout;
+import android.widget.SeekBar;
+
+import androidx.preference.Preference;
+
+import com.android.settings.widget.LabeledSeekBarPreference;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+@RunWith(RobolectricTestRunner.class)
+public class LabeledSeekBarPreferenceTest {
+
+    private Context mContext;
+    private SeekBar mSeekBar;
+    private LabeledSeekBarPreference mSeekBarPreference;
+
+    @Mock
+    private Preference.OnPreferenceChangeListener mListener;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+
+        mContext = RuntimeEnvironment.application;
+        mSeekBarPreference = new LabeledSeekBarPreference(mContext, null);
+        LayoutInflater inflater = LayoutInflater.from(mContext);
+        final View view =
+                inflater.inflate(mSeekBarPreference.getLayoutResource(),
+                        new LinearLayout(mContext), false);
+        mSeekBar = view.findViewById(com.android.internal.R.id.seekbar);
+    }
+
+    @Test
+    public void seekBarPreferenceOnStopTrackingTouch_callsListener() {
+        mSeekBar.setProgress(2);
+
+        mSeekBarPreference.setOnPreferenceChangeStopListener(mListener);
+        mSeekBarPreference.onStopTrackingTouch(mSeekBar);
+
+        verify(mListener, times(1)).onPreferenceChange(mSeekBarPreference, 2);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/gestures/PickupGesturePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/gestures/PickupGesturePreferenceControllerTest.java
index b2ba216..b694db3 100644
--- a/tests/robotests/src/com/android/settings/gestures/PickupGesturePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/gestures/PickupGesturePreferenceControllerTest.java
@@ -118,4 +118,9 @@
                 new PickupGesturePreferenceController(mContext, "bad_key");
         assertThat(controller.isSliceable()).isFalse();
     }
+
+    @Test
+    public void isPublicSlice_returnTrue() {
+        assertThat(mController.isPublicSlice()).isTrue();
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/gestures/PreventRingingGesturePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/gestures/PreventRingingGesturePreferenceControllerTest.java
index 956d8bf..24a8490 100644
--- a/tests/robotests/src/com/android/settings/gestures/PreventRingingGesturePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/gestures/PreventRingingGesturePreferenceControllerTest.java
@@ -29,7 +29,7 @@
 import androidx.preference.Preference;
 import androidx.preference.PreferenceCategory;
 
-import com.android.settings.widget.RadioButtonPreference;
+import com.android.settingslib.widget.RadioButtonPreference;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/robotests/src/com/android/settings/gestures/PreventRingingParentPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/gestures/PreventRingingParentPreferenceControllerTest.java
index 0771685..c752eb9 100644
--- a/tests/robotests/src/com/android/settings/gestures/PreventRingingParentPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/gestures/PreventRingingParentPreferenceControllerTest.java
@@ -21,7 +21,7 @@
 import static android.provider.Settings.Secure.VOLUME_HUSH_OFF;
 import static android.provider.Settings.Secure.VOLUME_HUSH_VIBRATE;
 
-import static com.android.settings.core.BasePreferenceController.AVAILABLE_UNSEARCHABLE;
+import static com.android.settings.core.BasePreferenceController.AVAILABLE;
 
 import static com.google.common.truth.Truth.assertThat;
 
@@ -64,7 +64,7 @@
         when(mResources.getBoolean(
                 com.android.internal.R.bool.config_volumeHushGestureEnabled)).thenReturn(true);
 
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE_UNSEARCHABLE);
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/gestures/SwipeToNotificationPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/gestures/SwipeToNotificationPreferenceControllerTest.java
index dbef598..519232e 100644
--- a/tests/robotests/src/com/android/settings/gestures/SwipeToNotificationPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/gestures/SwipeToNotificationPreferenceControllerTest.java
@@ -184,4 +184,9 @@
                 new SwipeToNotificationPreferenceController(mContext, "bad_key");
         assertThat(controller.isSliceable()).isFalse();
     }
+
+    @Test
+    public void isPublicSlice_returnTrue() {
+        assertThat(mController.isPublicSlice()).isTrue();
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/gestures/SystemNavigationGestureSettingsTest.java b/tests/robotests/src/com/android/settings/gestures/SystemNavigationGestureSettingsTest.java
index 24cb9ed..78424da 100644
--- a/tests/robotests/src/com/android/settings/gestures/SystemNavigationGestureSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/gestures/SystemNavigationGestureSettingsTest.java
@@ -24,14 +24,9 @@
 import static android.view.WindowManagerPolicyConstants.NAV_BAR_MODE_GESTURAL;
 import static android.view.WindowManagerPolicyConstants.NAV_BAR_MODE_GESTURAL_OVERLAY;
 
-import static com.android.settings.gestures.SystemNavigationGestureSettings.BACK_GESTURE_INSET_DEFAULT_OVERLAY;
-import static com.android.settings.gestures.SystemNavigationGestureSettings.BACK_GESTURE_INSET_OVERLAYS;
 import static com.android.settings.gestures.SystemNavigationGestureSettings.KEY_SYSTEM_NAV_2BUTTONS;
 import static com.android.settings.gestures.SystemNavigationGestureSettings.KEY_SYSTEM_NAV_3BUTTONS;
 import static com.android.settings.gestures.SystemNavigationGestureSettings.KEY_SYSTEM_NAV_GESTURAL;
-import static com.android.settings.gestures.SystemNavigationGestureSettings.NAV_BAR_MODE_GESTURAL_OVERLAY_EXTRA_WIDE_BACK;
-import static com.android.settings.gestures.SystemNavigationGestureSettings.NAV_BAR_MODE_GESTURAL_OVERLAY_NARROW_BACK;
-import static com.android.settings.gestures.SystemNavigationGestureSettings.NAV_BAR_MODE_GESTURAL_OVERLAY_WIDE_BACK;
 
 import static com.google.common.truth.Truth.assertThat;
 
@@ -39,7 +34,6 @@
 
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyInt;
-import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
@@ -116,96 +110,16 @@
 
     @Test
     public void testSetCurrentSystemNavigationMode() throws Exception {
-        mSettings.setBackSensitivity(mContext, mOverlayManager, 0);
-        mSettings.setCurrentSystemNavigationMode(mContext, mOverlayManager,
-                KEY_SYSTEM_NAV_GESTURAL);
-        verify(mOverlayManager, times(1)).setEnabledExclusiveInCategory(
-                NAV_BAR_MODE_GESTURAL_OVERLAY_NARROW_BACK, USER_CURRENT);
-
-        mSettings.setBackSensitivity(mContext, mOverlayManager, 1);
-        mSettings.setCurrentSystemNavigationMode(mContext, mOverlayManager,
-                KEY_SYSTEM_NAV_GESTURAL);
+        mSettings.setCurrentSystemNavigationMode(mOverlayManager, KEY_SYSTEM_NAV_GESTURAL);
         verify(mOverlayManager, times(1)).setEnabledExclusiveInCategory(
                 NAV_BAR_MODE_GESTURAL_OVERLAY, USER_CURRENT);
 
-        mSettings.setBackSensitivity(mContext, mOverlayManager, 2);
-        mSettings.setCurrentSystemNavigationMode(mContext, mOverlayManager,
-                KEY_SYSTEM_NAV_GESTURAL);
-        verify(mOverlayManager, times(1)).setEnabledExclusiveInCategory(
-                NAV_BAR_MODE_GESTURAL_OVERLAY_WIDE_BACK, USER_CURRENT);
-
-        mSettings.setBackSensitivity(mContext, mOverlayManager, 3);
-        mSettings.setCurrentSystemNavigationMode(mContext, mOverlayManager,
-                KEY_SYSTEM_NAV_GESTURAL);
-        verify(mOverlayManager, times(1)).setEnabledExclusiveInCategory(
-                NAV_BAR_MODE_GESTURAL_OVERLAY_EXTRA_WIDE_BACK, USER_CURRENT);
-
-        mSettings.setCurrentSystemNavigationMode(mContext, mOverlayManager,
-                KEY_SYSTEM_NAV_2BUTTONS);
+        mSettings.setCurrentSystemNavigationMode(mOverlayManager, KEY_SYSTEM_NAV_2BUTTONS);
         verify(mOverlayManager, times(1)).setEnabledExclusiveInCategory(
                 NAV_BAR_MODE_2BUTTON_OVERLAY, USER_CURRENT);
 
-        mSettings.setCurrentSystemNavigationMode(mContext, mOverlayManager,
-                KEY_SYSTEM_NAV_3BUTTONS);
+        mSettings.setCurrentSystemNavigationMode(mOverlayManager, KEY_SYSTEM_NAV_3BUTTONS);
         verify(mOverlayManager, times(1)).setEnabledExclusiveInCategory(
                 NAV_BAR_MODE_3BUTTON_OVERLAY, USER_CURRENT);
     }
-
-    @Test
-    public void testSetCurrentSystemNavigationMode_backSensitivityValuePersists() throws Exception {
-        SettingsShadowResources.overrideResource(
-                R.integer.config_navBarInteractionMode, NAV_BAR_MODE_3BUTTON);
-
-        mSettings.setBackSensitivity(mContext, mOverlayManager, 2);
-        mSettings.setCurrentSystemNavigationMode(mContext, mOverlayManager,
-                KEY_SYSTEM_NAV_3BUTTONS);
-        verify(mOverlayManager, times(1)).setEnabledExclusiveInCategory(
-                NAV_BAR_MODE_3BUTTON_OVERLAY, USER_CURRENT);
-
-        // Return to Gesture navigation, without setting the sensitivity value.
-        mSettings.setCurrentSystemNavigationMode(mContext, mOverlayManager,
-                KEY_SYSTEM_NAV_GESTURAL);
-        verify(mOverlayManager, times(1)).setEnabledExclusiveInCategory(
-                NAV_BAR_MODE_GESTURAL_OVERLAY_WIDE_BACK, USER_CURRENT);
-    }
-
-    @Test
-    public void testGetBackSensitivity_default() {
-        assertEquals(BACK_GESTURE_INSET_DEFAULT_OVERLAY,
-                mSettings.getBackSensitivity(mContext, mOverlayManager));
-    }
-
-    @Test
-    public void testBackSensitivitySetterAndGetter_currentNavModeNotGestural() throws Exception {
-        SettingsShadowResources.overrideResource(
-                R.integer.config_navBarInteractionMode, NAV_BAR_MODE_3BUTTON);
-
-        mSettings.setBackSensitivity(mContext, mOverlayManager, 3);
-        assertEquals(3, mSettings.getBackSensitivity(mContext, mOverlayManager));
-        mSettings.setBackSensitivity(mContext, mOverlayManager, 2);
-        assertEquals(2, mSettings.getBackSensitivity(mContext, mOverlayManager));
-
-        verify(mOverlayManager, never()).setEnabledExclusiveInCategory(any(), anyInt());
-    }
-
-    @Test
-    public void testBackSensitivitySetterAndGetter_currentNavModeIsGestural() throws Exception {
-        SettingsShadowResources.overrideResource(
-                R.integer.config_navBarInteractionMode, NAV_BAR_MODE_GESTURAL);
-
-        when(mOverlayManager.getOverlayInfo(BACK_GESTURE_INSET_OVERLAYS[3], USER_CURRENT))
-                .thenReturn(mOverlayInfoEnabled);
-        mSettings.setBackSensitivity(mContext, mOverlayManager, 3);
-        assertEquals(3, mSettings.getBackSensitivity(mContext, mOverlayManager));
-
-        when(mOverlayManager.getOverlayInfo(BACK_GESTURE_INSET_OVERLAYS[2], USER_CURRENT))
-                .thenReturn(mOverlayInfoEnabled);
-        mSettings.setBackSensitivity(mContext, mOverlayManager, 2);
-        assertEquals(2, mSettings.getBackSensitivity(mContext, mOverlayManager));
-
-        verify(mOverlayManager, times(1)).setEnabledExclusiveInCategory(
-                NAV_BAR_MODE_GESTURAL_OVERLAY_WIDE_BACK, USER_CURRENT);
-        verify(mOverlayManager, times(1)).setEnabledExclusiveInCategory(
-                NAV_BAR_MODE_GESTURAL_OVERLAY_EXTRA_WIDE_BACK, USER_CURRENT);
-    }
 }
diff --git a/tests/robotests/src/com/android/settings/gestures/SystemNavigationPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/gestures/SystemNavigationPreferenceControllerTest.java
index 3163f9a..48cf4b3 100644
--- a/tests/robotests/src/com/android/settings/gestures/SystemNavigationPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/gestures/SystemNavigationPreferenceControllerTest.java
@@ -137,30 +137,36 @@
     public void testIsSwipeUpEnabled() {
         SettingsShadowResources.overrideResource(R.integer.config_navBarInteractionMode,
                 NAV_BAR_MODE_2BUTTON);
-        assertThat(SystemNavigationPreferenceController.isSwipeUpEnabled(mContext)).isTrue();
+        assertThat(SystemNavigationPreferenceController.is2ButtonNavigationEnabled(
+                mContext)).isTrue();
 
         SettingsShadowResources.overrideResource(R.integer.config_navBarInteractionMode,
                 NAV_BAR_MODE_3BUTTON);
-        assertThat(SystemNavigationPreferenceController.isSwipeUpEnabled(mContext)).isFalse();
+        assertThat(SystemNavigationPreferenceController.is2ButtonNavigationEnabled(
+                mContext)).isFalse();
 
         SettingsShadowResources.overrideResource(R.integer.config_navBarInteractionMode,
                 NAV_BAR_MODE_GESTURAL);
-        assertThat(SystemNavigationPreferenceController.isSwipeUpEnabled(mContext)).isFalse();
+        assertThat(SystemNavigationPreferenceController.is2ButtonNavigationEnabled(
+                mContext)).isFalse();
     }
 
     @Test
     public void testIsEdgeToEdgeEnabled() {
         SettingsShadowResources.overrideResource(R.integer.config_navBarInteractionMode,
                 NAV_BAR_MODE_GESTURAL);
-        assertThat(SystemNavigationPreferenceController.isEdgeToEdgeEnabled(mContext)).isTrue();
+        assertThat(SystemNavigationPreferenceController.isGestureNavigationEnabled(
+                mContext)).isTrue();
 
         SettingsShadowResources.overrideResource(R.integer.config_navBarInteractionMode,
                 NAV_BAR_MODE_3BUTTON);
-        assertThat(SystemNavigationPreferenceController.isEdgeToEdgeEnabled(mContext)).isFalse();
+        assertThat(SystemNavigationPreferenceController.isGestureNavigationEnabled(
+                mContext)).isFalse();
 
         SettingsShadowResources.overrideResource(R.integer.config_navBarInteractionMode,
                 NAV_BAR_MODE_2BUTTON);
-        assertThat(SystemNavigationPreferenceController.isEdgeToEdgeEnabled(mContext)).isFalse();
+        assertThat(SystemNavigationPreferenceController.isGestureNavigationEnabled(
+                mContext)).isFalse();
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/gestures/TapScreenGesturePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/gestures/TapScreenGesturePreferenceControllerTest.java
index 12715fd..b1a53cc 100644
--- a/tests/robotests/src/com/android/settings/gestures/TapScreenGesturePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/gestures/TapScreenGesturePreferenceControllerTest.java
@@ -30,7 +30,6 @@
 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;
@@ -90,4 +89,9 @@
                 new TapScreenGesturePreferenceController(mContext, KEY_WAKE_LOCK_SCREEN);
         assertThat(controller.isSliceable()).isTrue();
     }
+
+    @Test
+    public void isPublicSlice_returnTrue() {
+        assertThat(mController.isPublicSlice()).isTrue();
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/homepage/contextualcards/CardContentProviderTest.java b/tests/robotests/src/com/android/settings/homepage/contextualcards/CardContentProviderTest.java
index 5bdb8d3..32af5d8 100644
--- a/tests/robotests/src/com/android/settings/homepage/contextualcards/CardContentProviderTest.java
+++ b/tests/robotests/src/com/android/settings/homepage/contextualcards/CardContentProviderTest.java
@@ -42,7 +42,6 @@
 import org.robolectric.util.ReflectionHelpers;
 
 @RunWith(RobolectricTestRunner.class)
-@Config(shadows = ShadowThreadUtils.class)
 public class CardContentProviderTest {
 
     private Context mContext;
@@ -88,6 +87,25 @@
     }
 
     @Test
+    @Config(qualifiers = "mcc999")
+    public void bulkInsert_keepDismissalTimestamp_shouldHaveTimestamp() {
+        mResolver.bulkInsert(mUri, generateTwoRowsWithDismissTimestamp());
+
+        mResolver.bulkInsert(mUri, generateTwoRows());
+
+        assertThat(queryDismissedTimestamp()).isEqualTo(10001L);
+    }
+
+    @Test
+    public void bulkInsert_notKeepDismissalTimestamp_shouldNotHaveTimestamp() {
+        mResolver.bulkInsert(mUri, generateTwoRowsWithDismissTimestamp());
+
+        mResolver.bulkInsert(mUri, generateTwoRows());
+
+        assertThat(queryDismissedTimestamp()).isEqualTo(0L);
+    }
+
+    @Test
     public void cardData_query() {
         mResolver.insert(mUri, generateOneRow());
         final int count = getRowCount();
@@ -200,10 +218,40 @@
         return twoRows;
     }
 
+    private ContentValues[] generateTwoRowsWithDismissTimestamp() {
+        final ContentValues[] twoRows = new ContentValues[2];
+        twoRows[0] = generateOneRow();
+
+        final ContentValues values = new ContentValues();
+        values.put(CardDatabaseHelper.CardColumns.NAME, "toggle_airplane");
+        values.put(CardDatabaseHelper.CardColumns.TYPE, 1);
+        values.put(CardDatabaseHelper.CardColumns.SCORE, 0.95);
+        values.put(CardDatabaseHelper.CardColumns.SLICE_URI,
+                "content://com.android.settings.slices/action/toggle_airplane");
+        values.put(CardDatabaseHelper.CardColumns.CATEGORY, 2);
+        values.put(CardDatabaseHelper.CardColumns.PACKAGE_NAME, "com.android.settings");
+        values.put(CardDatabaseHelper.CardColumns.APP_VERSION, 10001);
+        values.put(CardDatabaseHelper.CardColumns.DISMISSED_TIMESTAMP, 10001L);
+        twoRows[1] = values;
+
+        return twoRows;
+    }
+
     private int getRowCount() {
         final Cursor cr = mResolver.query(mUri, null, null, null);
         final int count = cr.getCount();
         cr.close();
         return count;
     }
+
+    private long queryDismissedTimestamp() {
+        final String[] columns = {CardDatabaseHelper.CardColumns.DISMISSED_TIMESTAMP};
+        final String selection = CardDatabaseHelper.CardColumns.NAME + "=?";
+        final String[] selectionArgs = {"toggle_airplane"};
+        final Cursor cr = mResolver.query(mUri, columns, selection, selectionArgs, null);
+        cr.moveToFirst();
+        final long dismissedTimestamp = cr.getLong(0);
+        cr.close();
+        return  dismissedTimestamp;
+    }
 }
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/homepage/contextualcards/CardDatabaseHelperTest.java b/tests/robotests/src/com/android/settings/homepage/contextualcards/CardDatabaseHelperTest.java
index 36e4f04..c908225 100644
--- a/tests/robotests/src/com/android/settings/homepage/contextualcards/CardDatabaseHelperTest.java
+++ b/tests/robotests/src/com/android/settings/homepage/contextualcards/CardDatabaseHelperTest.java
@@ -18,13 +18,10 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
-import android.content.ContentValues;
 import android.content.Context;
 import android.database.Cursor;
 import android.database.sqlite.SQLiteDatabase;
 
-import com.android.settings.intelligence.ContextualCardProto;
-
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -32,9 +29,6 @@
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
 
-import java.util.ArrayList;
-import java.util.List;
-
 @RunWith(RobolectricTestRunner.class)
 public class CardDatabaseHelperTest {
 
@@ -46,7 +40,7 @@
     public void setUp() {
         mContext = RuntimeEnvironment.application;
         mCardDatabaseHelper = CardDatabaseHelper.getInstance(mContext);
-        mDatabase = mCardDatabaseHelper.getWritableDatabase();
+        mDatabase = mCardDatabaseHelper.getReadableDatabase();
     }
 
     @After
@@ -67,56 +61,12 @@
                 CardDatabaseHelper.CardColumns.SCORE,
                 CardDatabaseHelper.CardColumns.SLICE_URI,
                 CardDatabaseHelper.CardColumns.CATEGORY,
-                CardDatabaseHelper.CardColumns.LOCALIZED_TO_LOCALE,
                 CardDatabaseHelper.CardColumns.PACKAGE_NAME,
                 CardDatabaseHelper.CardColumns.APP_VERSION,
-                CardDatabaseHelper.CardColumns.TITLE_RES_NAME,
-                CardDatabaseHelper.CardColumns.TITLE_TEXT,
-                CardDatabaseHelper.CardColumns.SUMMARY_RES_NAME,
-                CardDatabaseHelper.CardColumns.SUMMARY_TEXT,
-                CardDatabaseHelper.CardColumns.ICON_RES_NAME,
-                CardDatabaseHelper.CardColumns.ICON_RES_ID,
-                CardDatabaseHelper.CardColumns.CARD_ACTION,
-                CardDatabaseHelper.CardColumns.EXPIRE_TIME_MS,
-                CardDatabaseHelper.CardColumns.SUPPORT_HALF_WIDTH,
-                CardDatabaseHelper.CardColumns.CARD_DISMISSED,
+                CardDatabaseHelper.CardColumns.DISMISSED_TIMESTAMP,
         };
 
         assertThat(columnNames).isEqualTo(expectedNames);
         cursor.close();
     }
-
-    @Test
-    public void getContextualCards_shouldSortByScore() {
-        insertFakeCard(mDatabase, "card1", 1, "uri1");
-        insertFakeCard(mDatabase, "card2", 0, "uri2");
-        insertFakeCard(mDatabase, "card3", 10, "uri3");
-        // Should sort as 3,1,2
-        try (final Cursor cursor = CardDatabaseHelper.getInstance(mContext).getContextualCards()) {
-            assertThat(cursor.getCount()).isEqualTo(3);
-            final List<ContextualCard> cards = new ArrayList<>();
-            for (cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) {
-                cards.add(new ContextualCard(cursor));
-            }
-            assertThat(cards.get(0).getName()).isEqualTo("card3");
-            assertThat(cards.get(1).getName()).isEqualTo("card1");
-            assertThat(cards.get(2).getName()).isEqualTo("card2");
-        }
-    }
-
-    private static void insertFakeCard(SQLiteDatabase db, String name, double score, String uri) {
-        final ContentValues value = new ContentValues();
-        value.put(CardDatabaseHelper.CardColumns.NAME, name);
-        value.put(CardDatabaseHelper.CardColumns.SCORE, score);
-        value.put(CardDatabaseHelper.CardColumns.SLICE_URI, uri);
-
-        value.put(CardDatabaseHelper.CardColumns.TYPE, ContextualCard.CardType.SLICE);
-        value.put(CardDatabaseHelper.CardColumns.CATEGORY,
-                ContextualCardProto.ContextualCard.Category.DEFAULT.getNumber());
-        value.put(CardDatabaseHelper.CardColumns.PACKAGE_NAME,
-                RuntimeEnvironment.application.getPackageName());
-        value.put(CardDatabaseHelper.CardColumns.APP_VERSION, 1);
-
-        db.insert(CardDatabaseHelper.CARD_TABLE, null, value);
-    }
 }
diff --git a/tests/robotests/src/com/android/settings/homepage/contextualcards/ContextualCardFeatureProviderImplTest.java b/tests/robotests/src/com/android/settings/homepage/contextualcards/ContextualCardFeatureProviderImplTest.java
index e380636..029dde8 100644
--- a/tests/robotests/src/com/android/settings/homepage/contextualcards/ContextualCardFeatureProviderImplTest.java
+++ b/tests/robotests/src/com/android/settings/homepage/contextualcards/ContextualCardFeatureProviderImplTest.java
@@ -28,10 +28,14 @@
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.spy;
 
+import android.annotation.Nullable;
 import android.app.PendingIntent;
+import android.content.ContentValues;
 import android.content.Context;
 import android.content.Intent;
 import android.content.SharedPreferences;
+import android.database.Cursor;
+import android.database.sqlite.SQLiteDatabase;
 import android.net.Uri;
 import android.os.Bundle;
 import android.util.ArraySet;
@@ -46,6 +50,7 @@
 import com.android.settings.R;
 import com.android.settings.SettingsActivity;
 import com.android.settings.applications.AppInfoBase;
+import com.android.settings.intelligence.ContextualCardProto;
 
 import org.junit.After;
 import org.junit.Before;
@@ -54,6 +59,8 @@
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
 
+import java.util.ArrayList;
+import java.util.List;
 import java.util.Set;
 
 @RunWith(RobolectricTestRunner.class)
@@ -62,6 +69,8 @@
     private Context mContext;
     private ContextualCardFeatureProviderImpl mImpl;
     private SharedPreferences mSharedPreferences;
+    private CardDatabaseHelper mCardDatabaseHelper;
+    private SQLiteDatabase mDatabase;
 
     @Before
     public void setUp() {
@@ -70,14 +79,56 @@
         mSharedPreferences = mContext.getSharedPreferences(PREFS, MODE_PRIVATE);
         // Set-up specs for SliceMetadata.
         SliceProvider.setSpecs(SliceLiveData.SUPPORTED_SPECS);
+        mCardDatabaseHelper = CardDatabaseHelper.getInstance(mContext);
+        mDatabase = mCardDatabaseHelper.getWritableDatabase();
     }
 
     @After
     public void tearDown() {
+        CardDatabaseHelper.getInstance(mContext).close();
+        CardDatabaseHelper.sCardDatabaseHelper = null;
         removeInteractedPackageFromSharedPreference();
     }
 
     @Test
+    public void getContextualCards_shouldSortByScore() {
+        insertFakeCard(mDatabase, "card1", 1, "uri1", 1000L);
+        insertFakeCard(mDatabase, "card2", 0, "uri2", 1000L);
+        insertFakeCard(mDatabase, "card3", 10, "uri3", 1000L);
+        // Should sort as 3,1,2
+        try (Cursor cursor = mImpl.getContextualCards()) {
+            assertThat(cursor.getCount()).isEqualTo(3);
+            final List<ContextualCard> cards = new ArrayList<>();
+            for (cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) {
+                cards.add(new ContextualCard(cursor));
+            }
+            assertThat(cards.get(0).getName()).isEqualTo("card3");
+            assertThat(cards.get(1).getName()).isEqualTo("card1");
+            assertThat(cards.get(2).getName()).isEqualTo("card2");
+        }
+    }
+
+    @Test
+    public void resetDismissedTime_durationExpired_shouldResetToNull() {
+        insertFakeCard(mDatabase, "card1", 1, "uri1", 100L);
+        final long threshold = 1000L;
+
+        final int rowsUpdated = mImpl.resetDismissedTime(threshold);
+
+        assertThat(rowsUpdated).isEqualTo(1);
+    }
+
+    @Test
+    public void resetDismissedTime_durationNotExpired_shouldNotUpdate() {
+        insertFakeCard(mDatabase, "card1", 1, "uri1", 1111L);
+        final long threshold = 1000L;
+
+        final int rowsUpdated = mImpl.resetDismissedTime(threshold);
+
+        assertThat(rowsUpdated).isEqualTo(0);
+    }
+
+    @Test
     public void logNotificationPackage_isContextualNotificationChannel_shouldLogPackage() {
         final String packageName = "com.android.test.app";
         final Slice slice = buildSlice(CONTEXTUAL_NOTIFICATION_CHANNEL_SLICE_URI, packageName);
@@ -101,6 +152,28 @@
         assertThat(interactedPackages.contains(packageName)).isFalse();
     }
 
+    private static void insertFakeCard(
+            SQLiteDatabase db, String name, double score, String uri, @Nullable Long time) {
+        final ContentValues value = new ContentValues();
+        value.put(CardDatabaseHelper.CardColumns.NAME, name);
+        value.put(CardDatabaseHelper.CardColumns.SCORE, score);
+        value.put(CardDatabaseHelper.CardColumns.SLICE_URI, uri);
+
+        value.put(CardDatabaseHelper.CardColumns.TYPE, ContextualCard.CardType.SLICE);
+        value.put(CardDatabaseHelper.CardColumns.CATEGORY,
+                ContextualCardProto.ContextualCard.Category.DEFAULT.getNumber());
+        value.put(CardDatabaseHelper.CardColumns.PACKAGE_NAME,
+                RuntimeEnvironment.application.getPackageName());
+        value.put(CardDatabaseHelper.CardColumns.APP_VERSION, 1);
+        if (time == null) {
+            value.putNull(CardDatabaseHelper.CardColumns.DISMISSED_TIMESTAMP);
+        } else {
+            value.put(CardDatabaseHelper.CardColumns.DISMISSED_TIMESTAMP, time);
+        }
+
+        db.insert(CardDatabaseHelper.CARD_TABLE, null, value);
+    }
+
     private Slice buildSlice(Uri sliceUri, String packageName) {
         final Bundle args = new Bundle();
         args.putString(AppInfoBase.ARG_PACKAGE_NAME, packageName);
diff --git a/tests/robotests/src/com/android/settings/homepage/contextualcards/ContextualCardLoaderTest.java b/tests/robotests/src/com/android/settings/homepage/contextualcards/ContextualCardLoaderTest.java
index e8d7713..fceb79d 100644
--- a/tests/robotests/src/com/android/settings/homepage/contextualcards/ContextualCardLoaderTest.java
+++ b/tests/robotests/src/com/android/settings/homepage/contextualcards/ContextualCardLoaderTest.java
@@ -17,6 +17,7 @@
 package com.android.settings.homepage.contextualcards;
 
 import static com.android.settings.homepage.contextualcards.ContextualCardLoader.DEFAULT_CARD_COUNT;
+import static com.android.settings.intelligence.ContextualCardProto.ContextualCard.Category.STICKY_VALUE;
 
 import static com.google.common.truth.Truth.assertThat;
 
@@ -31,6 +32,7 @@
 import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.net.Uri;
+import android.provider.Settings;
 
 import com.android.settings.R;
 import com.android.settings.slices.CustomSliceRegistry;
@@ -81,16 +83,41 @@
 
     @Test
     public void getDisplayableCards_fourEligibleCards_shouldShowDefaultCardCount() {
-        final List<ContextualCard> fourCards = getContextualCardList();
-        doReturn(fourCards).when(mContextualCardLoader).filterEligibleCards(anyList());
+        final List<ContextualCard> cards = getContextualCardList().stream().limit(4)
+                .collect(Collectors.toList());
+        doReturn(cards).when(mContextualCardLoader).filterEligibleCards(anyList());
 
-        final List<ContextualCard> result = mContextualCardLoader
-                .getDisplayableCards(fourCards);
+        final List<ContextualCard> result = mContextualCardLoader.getDisplayableCards(cards);
 
         assertThat(result).hasSize(DEFAULT_CARD_COUNT);
     }
 
     @Test
+    public void getDisplayableCards_oneStickyCard_shouldShowOneStickyCardAtTheTail() {
+        final List<ContextualCard> cards = getContextualCardList().stream().limit(5)
+                .collect(Collectors.toList());
+        doReturn(cards).when(mContextualCardLoader).filterEligibleCards(anyList());
+
+        final List<ContextualCard> result = mContextualCardLoader.getDisplayableCards(cards);
+
+        assertThat(result).hasSize(DEFAULT_CARD_COUNT);
+        assertThat(result.get(DEFAULT_CARD_COUNT - 1).getCategory()).isEqualTo(STICKY_VALUE);
+    }
+
+    @Test
+    public void getDisplayableCards_threeStickyCards_shouldShowThreeStickyCardAtTheTail() {
+        final List<ContextualCard> cards = getContextualCardList();
+        doReturn(cards).when(mContextualCardLoader).filterEligibleCards(anyList());
+
+        final List<ContextualCard> result = mContextualCardLoader.getDisplayableCards(cards);
+
+        assertThat(result).hasSize(DEFAULT_CARD_COUNT);
+        for (int i = 1; i <= Math.min(3, DEFAULT_CARD_COUNT); i++) {
+            assertThat(result.get(DEFAULT_CARD_COUNT - i).getCategory()).isEqualTo(STICKY_VALUE);
+        }
+    }
+
+    @Test
     public void getDisplayableCards_refreshCardUri_shouldLogContextualCard() {
         mContextualCardLoader.mNotifyUri = CardContentProvider.REFRESH_CARD_URI;
 
@@ -110,23 +137,37 @@
                 eq(SettingsEnums.ACTION_CONTEXTUAL_CARD_NOT_SHOW), any(String.class));
     }
 
+    @Test
+    public void getCardCount_noConfiguredCardCount_returnDefaultCardCount() {
+        assertThat(mContextualCardLoader.getCardCount()).isEqualTo(DEFAULT_CARD_COUNT);
+    }
+
+    @Test
+    public void getCardCount_hasConfiguredCardCount_returnConfiguredCardCount() {
+        int configCount = 4;
+        Settings.Global.putLong(mContext.getContentResolver(),
+                ContextualCardLoader.CONTEXTUAL_CARD_COUNT, configCount);
+
+        assertThat(mContextualCardLoader.getCardCount()).isEqualTo(configCount);
+    }
+
     private List<ContextualCard> getContextualCardList() {
         final List<ContextualCard> cards = new ArrayList<>();
         cards.add(new ContextualCard.Builder()
-                .setName("test_wifi")
+                .setName("test_low_storage")
                 .setCardType(ContextualCard.CardType.SLICE)
-                .setSliceUri(CustomSliceRegistry.CONTEXTUAL_WIFI_SLICE_URI)
+                .setSliceUri(CustomSliceRegistry.LOW_STORAGE_SLICE_URI)
                 .build());
         cards.add(new ContextualCard.Builder()
                 .setName("test_flashlight")
                 .setCardType(ContextualCard.CardType.SLICE)
-                .setSliceUri(
-                        Uri.parse("content://com.android.settings.test.slices/action/flashlight"))
+                .setSliceUri(Uri.parse(
+                        "content://com.android.settings.test.slices/action/flashlight"))
                 .build());
         cards.add(new ContextualCard.Builder()
-                .setName("test_connected")
+                .setName("test_dark_theme")
                 .setCardType(ContextualCard.CardType.SLICE)
-                .setSliceUri(CustomSliceRegistry.BLUETOOTH_DEVICES_SLICE_URI)
+                .setSliceUri(CustomSliceRegistry.DARK_THEME_SLICE_URI)
                 .build());
         cards.add(new ContextualCard.Builder()
                 .setName("test_gesture")
@@ -134,6 +175,24 @@
                 .setSliceUri(Uri.parse(
                         "content://com.android.settings.test.slices/action/gesture_pick_up"))
                 .build());
+        cards.add(new ContextualCard.Builder()
+                .setName("test_wifi")
+                .setCardType(ContextualCard.CardType.SLICE)
+                .setSliceUri(CustomSliceRegistry.CONTEXTUAL_WIFI_SLICE_URI)
+                .setCategory(STICKY_VALUE)
+                .build());
+        cards.add(new ContextualCard.Builder()
+                .setName("test_connected")
+                .setCardType(ContextualCard.CardType.SLICE)
+                .setSliceUri(CustomSliceRegistry.BLUETOOTH_DEVICES_SLICE_URI)
+                .setCategory(STICKY_VALUE)
+                .build());
+        cards.add(new ContextualCard.Builder()
+                .setName("test_sticky")
+                .setCardType(ContextualCard.CardType.SLICE)
+                .setSliceUri(Uri.parse("content://com.android.settings.test.slices/action/sticky"))
+                .setCategory(STICKY_VALUE)
+                .build());
         return cards;
     }
 }
diff --git a/tests/robotests/src/com/android/settings/homepage/contextualcards/ContextualCardManagerTest.java b/tests/robotests/src/com/android/settings/homepage/contextualcards/ContextualCardManagerTest.java
index 895492e..8958d6e 100644
--- a/tests/robotests/src/com/android/settings/homepage/contextualcards/ContextualCardManagerTest.java
+++ b/tests/robotests/src/com/android/settings/homepage/contextualcards/ContextualCardManagerTest.java
@@ -17,9 +17,9 @@
 package com.android.settings.homepage.contextualcards;
 
 import static com.android.settings.homepage.contextualcards.ContextualCardManager.KEY_CONTEXTUAL_CARDS;
-import static com.android.settings.homepage.contextualcards.slices.SliceContextualCardRenderer.VIEW_TYPE_DEFERRED_SETUP;
 import static com.android.settings.homepage.contextualcards.slices.SliceContextualCardRenderer.VIEW_TYPE_FULL_WIDTH;
 import static com.android.settings.homepage.contextualcards.slices.SliceContextualCardRenderer.VIEW_TYPE_HALF_WIDTH;
+import static com.android.settings.homepage.contextualcards.slices.SliceContextualCardRenderer.VIEW_TYPE_STICKY;
 
 import static com.google.common.truth.Truth.assertThat;
 
@@ -33,13 +33,20 @@
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
+import static org.robolectric.Shadows.shadowOf;
 
 import android.content.Context;
 import android.net.Uri;
 import android.os.Bundle;
 import android.provider.Settings;
+import android.telephony.SubscriptionManager;
+import android.telephony.TelephonyManager;
 import android.util.ArrayMap;
+import android.util.FeatureFlagUtils;
 
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+
+import com.android.settings.core.FeatureFlags;
 import com.android.settings.homepage.contextualcards.conditional.ConditionContextualCardController;
 import com.android.settings.homepage.contextualcards.conditional.ConditionFooterContextualCard;
 import com.android.settings.homepage.contextualcards.conditional.ConditionHeaderContextualCard;
@@ -56,8 +63,9 @@
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
-import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.shadows.ShadowSubscriptionManager;
+import org.robolectric.shadows.ShadowTelephonyManager;
 
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -65,8 +73,9 @@
 import java.util.Map;
 import java.util.stream.Collectors;
 
-@RunWith(RobolectricTestRunner.class)
+@RunWith(AndroidJUnit4.class)
 public class ContextualCardManagerTest {
+    private static final int SUB_ID = 2;
 
     private static final String TEST_SLICE_URI = "context://test/test";
     private static final String TEST_SLICE_NAME = "test_name";
@@ -77,12 +86,25 @@
     Lifecycle mLifecycle;
 
     private Context mContext;
+    private ShadowSubscriptionManager mShadowSubscriptionManager;
+    private ShadowTelephonyManager mShadowTelephonyManager;
     private ContextualCardManager mManager;
 
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
         mContext = RuntimeEnvironment.application;
+        FeatureFlagUtils.setEnabled(mContext, FeatureFlags.CONDITIONAL_CARDS, true);
+
+        mShadowSubscriptionManager = shadowOf(
+                mContext.getSystemService(SubscriptionManager.class));
+        mShadowSubscriptionManager.setDefaultDataSubscriptionId(SUB_ID);
+
+        final TelephonyManager telephonyManager =
+                mContext.getSystemService(TelephonyManager.class);
+        mShadowTelephonyManager = shadowOf(telephonyManager);
+        mShadowTelephonyManager.setTelephonyManagerForSubscriptionId(SUB_ID, telephonyManager);
+
         mManager = new ContextualCardManager(mContext, mLifecycle, null /* bundle */);
     }
 
@@ -107,8 +129,8 @@
         mManager = new ContextualCardManager(mContext, mLifecycle, outState);
 
         final List<String> actualCards = mManager.mSavedCards.stream().collect(Collectors.toList());
-        final List<String> expectedCards = Arrays.asList("test_wifi", "test_flashlight",
-                "test_connected", "test_gesture", "test_battery");
+        final List<String> expectedCards = Arrays.asList("test_low_storage", "test_flashlight",
+                "test_dark_theme", "test_gesture", "test_battery");
         assertThat(actualCards).containsExactlyElementsIn(expectedCards);
     }
 
@@ -125,6 +147,27 @@
     }
 
     @Test
+    public void getSettingsCards_conditionalsEnabled_shouldContainLegacyAndConditionals() {
+        FeatureFlagUtils.setEnabled(mContext, FeatureFlags.CONDITIONAL_CARDS, true);
+        final int[] expected = {ContextualCard.CardType.CONDITIONAL,
+                ContextualCard.CardType.LEGACY_SUGGESTION};
+
+        final int[] actual = mManager.getSettingsCards();
+
+        assertThat(actual).isEqualTo(expected);
+    }
+
+    @Test
+    public void getSettingsCards_conditionalsDisabled_shouldContainLegacy() {
+        FeatureFlagUtils.setEnabled(mContext, FeatureFlags.CONDITIONAL_CARDS, false);
+        final int[] expected = {ContextualCard.CardType.LEGACY_SUGGESTION};
+
+        final int[] actual = mManager.getSettingsCards();
+
+        assertThat(actual).isEqualTo(expected);
+    }
+
+    @Test
     public void setupController_notLifecycleObserverInstance_shouldNotAttachToLifecycle() {
         // 3 invocations in constructor(ContextualCardManager, Conditional and LegacySuggestion)
         verify(mLifecycle, times(3)).addObserver(any(LifecycleObserver.class));
@@ -324,8 +367,9 @@
         final ConditionContextualCardController conditionController =
                 pool.getController(mContext,
                         ContextualCard.CardType.CONDITIONAL);
-        final OnStart controller = spy((OnStart)conditionController);
-        doReturn(controller).when(pool).getController(mContext, ContextualCard.CardType.CONDITIONAL);
+        final OnStart controller = spy((OnStart) conditionController);
+        doReturn(controller).when(pool).getController(mContext,
+                ContextualCard.CardType.CONDITIONAL);
 
         manager.onWindowFocusChanged(true /* hasWindowFocus */);
 
@@ -342,8 +386,9 @@
         final ConditionContextualCardController conditionController =
                 pool.getController(mContext,
                         ContextualCard.CardType.CONDITIONAL);
-        final OnStart controller = spy((OnStart)conditionController);
-        doReturn(controller).when(pool).getController(mContext, ContextualCard.CardType.CONDITIONAL);
+        final OnStart controller = spy((OnStart) conditionController);
+        doReturn(controller).when(pool).getController(mContext,
+                ContextualCard.CardType.CONDITIONAL);
 
         manager.onWindowFocusChanged(true /* hasWindowFocus */);
 
@@ -361,7 +406,8 @@
                 pool.getController(mContext,
                         ContextualCard.CardType.CONDITIONAL);
         final OnStop controller = spy((OnStop) conditionController);
-        doReturn(controller).when(pool).getController(mContext, ContextualCard.CardType.CONDITIONAL);
+        doReturn(controller).when(pool).getController(mContext,
+                ContextualCard.CardType.CONDITIONAL);
 
         manager.onWindowFocusChanged(false /* hasWindowFocus */);
 
@@ -377,7 +423,8 @@
                 pool.getController(mContext,
                         ContextualCard.CardType.CONDITIONAL);
         final OnStop controller = spy((OnStop) conditionController);
-        doReturn(controller).when(pool).getController(mContext, ContextualCard.CardType.CONDITIONAL);
+        doReturn(controller).when(pool).getController(mContext,
+                ContextualCard.CardType.CONDITIONAL);
 
         manager.onWindowFocusChanged(false /* hasWindowFocus */);
 
@@ -518,35 +565,88 @@
     }
 
     @Test
-    public void getCardsWithViewType_onlyDeferredSetupCard_shouldHaveDeferredSetupCard() {
-        final List<ContextualCard> oneDeferredSetupCards = getDeferredSetupCardList();
-
-        final List<ContextualCard> result = mManager.getCardsWithViewType(oneDeferredSetupCards);
-
-        assertThat(result).hasSize(1);
-        assertThat(result.get(0).getViewType()).isEqualTo(VIEW_TYPE_DEFERRED_SETUP);
-    }
-
-    @Test
-    public void getCardsWithViewType_hasDeferredSetupCard_shouldHaveDeferredSetupCard() {
+    public void getCardsWithViewType_hasOneStickySlice_shouldHaveOneStickyCard() {
+        FeatureFlagUtils.setEnabled(mContext, FeatureFlags.CONTEXTUAL_HOME2, true);
+        final List<ContextualCard> cards = new ArrayList<>();
+        cards.add(buildContextualCard(CustomSliceRegistry.CONTEXTUAL_WIFI_SLICE_URI.toString()));
+        cards.add(buildContextualCard(CustomSliceRegistry.LOW_STORAGE_SLICE_URI.toString()));
         final List<Integer> categories = Arrays.asList(
-                ContextualCardProto.ContextualCard.Category.DEFERRED_SETUP_VALUE,
-                ContextualCardProto.ContextualCard.Category.IMPORTANT_VALUE,
-                ContextualCardProto.ContextualCard.Category.SUGGESTION_VALUE,
-                ContextualCardProto.ContextualCard.Category.SUGGESTION_VALUE,
+                ContextualCardProto.ContextualCard.Category.STICKY_VALUE,
                 ContextualCardProto.ContextualCard.Category.SUGGESTION_VALUE
         );
-        final List<ContextualCard> cards = buildCategoriedCards(getContextualCardList(),
-                categories);
+        final List<ContextualCard> cardListWithWifi = buildCategoriedCards(cards, categories);
 
-        final List<ContextualCard> result = mManager.getCardsWithViewType(cards);
+        final List<ContextualCard> result = mManager.getCardsWithViewType(cardListWithWifi);
 
-        assertThat(result).hasSize(5);
-        assertThat(result.get(0).getViewType()).isEqualTo(VIEW_TYPE_DEFERRED_SETUP);
+        assertThat(result).hasSize(cards.size());
+        assertThat(result.get(0).getViewType()).isEqualTo(VIEW_TYPE_STICKY);
+        assertThat(result.get(1).getViewType()).isEqualTo(VIEW_TYPE_FULL_WIDTH);
     }
 
     @Test
-    public void getCardsWithViewType_noDeferredSetupCard_shouldNotHaveDeferredSetupCard() {
+    public void getCardsWithViewType_hasWifiSlice_shouldHaveOneStickyCard() {
+        FeatureFlagUtils.setEnabled(mContext, FeatureFlags.CONTEXTUAL_HOME2, false);
+        final List<ContextualCard> cards = new ArrayList<>();
+        cards.add(buildContextualCard(CustomSliceRegistry.CONTEXTUAL_WIFI_SLICE_URI.toString()));
+        cards.add(buildContextualCard(CustomSliceRegistry.LOW_STORAGE_SLICE_URI.toString()));
+        final List<Integer> categories = Arrays.asList(
+                ContextualCardProto.ContextualCard.Category.IMPORTANT_VALUE,
+                ContextualCardProto.ContextualCard.Category.SUGGESTION_VALUE
+        );
+        final List<ContextualCard> cardListWithWifi = buildCategoriedCards(cards, categories);
+
+        final List<ContextualCard> result = mManager.getCardsWithViewType(cardListWithWifi);
+
+        assertThat(result).hasSize(cards.size());
+        assertThat(result.get(0).getViewType()).isEqualTo(VIEW_TYPE_STICKY);
+        assertThat(result.get(1).getViewType()).isEqualTo(VIEW_TYPE_FULL_WIDTH);
+    }
+
+    @Test
+    public void getCardsWithViewType_hasBluetoothDeviceSlice_shouldHaveOneStickyCard() {
+        FeatureFlagUtils.setEnabled(mContext, FeatureFlags.CONTEXTUAL_HOME2, false);
+        final List<ContextualCard> cards = new ArrayList<>();
+        cards.add(buildContextualCard(CustomSliceRegistry.BLUETOOTH_DEVICES_SLICE_URI.toString()));
+        cards.add(buildContextualCard(CustomSliceRegistry.LOW_STORAGE_SLICE_URI.toString()));
+        final List<Integer> categories = Arrays.asList(
+                ContextualCardProto.ContextualCard.Category.IMPORTANT_VALUE,
+                ContextualCardProto.ContextualCard.Category.SUGGESTION_VALUE
+        );
+        final List<ContextualCard> cardListWithBT = buildCategoriedCards(cards, categories);
+
+        final List<ContextualCard> result = mManager.getCardsWithViewType(cardListWithBT);
+
+        assertThat(result).hasSize(cards.size());
+        assertThat(result.get(0).getViewType()).isEqualTo(VIEW_TYPE_STICKY);
+        assertThat(result.get(1).getViewType()).isEqualTo(VIEW_TYPE_FULL_WIDTH);
+    }
+
+    @Test
+    public void getCardsWithViewType_hasWifiAndBtDeviceSlice_shouldHaveTwoStickyCards() {
+        FeatureFlagUtils.setEnabled(mContext, FeatureFlags.CONTEXTUAL_HOME2, false);
+        final List<ContextualCard> cards = new ArrayList<>();
+        cards.add(buildContextualCard(CustomSliceRegistry.CONTEXTUAL_WIFI_SLICE_URI.toString()));
+        cards.add(buildContextualCard(CustomSliceRegistry.BLUETOOTH_DEVICES_SLICE_URI.toString()));
+        cards.add(buildContextualCard(CustomSliceRegistry.LOW_STORAGE_SLICE_URI.toString()));
+        final List<Integer> categories = Arrays.asList(
+                ContextualCardProto.ContextualCard.Category.IMPORTANT_VALUE,
+                ContextualCardProto.ContextualCard.Category.IMPORTANT_VALUE,
+                ContextualCardProto.ContextualCard.Category.SUGGESTION_VALUE
+        );
+        final List<ContextualCard> cardListWithWifiBT = buildCategoriedCards(cards, categories);
+
+        final List<ContextualCard> result = mManager.getCardsWithViewType(cardListWithWifiBT);
+
+        assertThat(result).hasSize(cards.size());
+        assertThat(result.stream()
+                .filter(card -> card.getViewType() == VIEW_TYPE_STICKY)
+                .count())
+                .isEqualTo(2);
+    }
+
+    @Test
+    public void getCardsWithViewType_noWifiOrBtDeviceSlice_shouldNotHaveStickyCard() {
+        FeatureFlagUtils.setEnabled(mContext, FeatureFlags.CONTEXTUAL_HOME2, false);
         final List<Integer> categories = Arrays.asList(
                 ContextualCardProto.ContextualCard.Category.IMPORTANT_VALUE,
                 ContextualCardProto.ContextualCard.Category.IMPORTANT_VALUE,
@@ -554,16 +654,16 @@
                 ContextualCardProto.ContextualCard.Category.SUGGESTION_VALUE,
                 ContextualCardProto.ContextualCard.Category.SUGGESTION_VALUE
         );
-        final List<ContextualCard> cards = buildCategoriedCards(
-                getContextualCardList(), categories);
+        final List<ContextualCard> cardListWithoutWifiBT =
+                buildCategoriedCards(getContextualCardList(), categories);
 
-        final List<ContextualCard> result = mManager.getCardsWithViewType(cards);
+        final List<ContextualCard> result = mManager.getCardsWithViewType(cardListWithoutWifiBT);
 
-        assertThat(result).hasSize(5);
-        for (int i = 0; i < result.size(); i++) {
-            assertThat(result.get(i).getViewType()).isNotEqualTo(
-                    ContextualCardProto.ContextualCard.Category.DEFERRED_SETUP_VALUE);
-        }
+        assertThat(result).hasSize(cardListWithoutWifiBT.size());
+        assertThat(result.stream()
+                .filter(card -> card.getViewType() == VIEW_TYPE_STICKY)
+                .count())
+                .isEqualTo(0);
     }
 
     @Test
@@ -598,22 +698,22 @@
     private List<ContextualCard> getContextualCardList() {
         final List<ContextualCard> cards = new ArrayList<>();
         cards.add(new ContextualCard.Builder()
-                .setName("test_wifi")
+                .setName("test_low_storage")
                 .setCardType(ContextualCard.CardType.SLICE)
-                .setSliceUri(CustomSliceRegistry.CONTEXTUAL_WIFI_SLICE_URI)
+                .setSliceUri(CustomSliceRegistry.LOW_STORAGE_SLICE_URI)
                 .setViewType(VIEW_TYPE_FULL_WIDTH)
                 .build());
         cards.add(new ContextualCard.Builder()
                 .setName("test_flashlight")
                 .setCardType(ContextualCard.CardType.SLICE)
-                .setSliceUri(
-                        Uri.parse("content://com.android.settings.test.slices/action/flashlight"))
+                .setSliceUri(Uri.parse(
+                        "content://com.android.settings.test.slices/action/flashlight"))
                 .setViewType(VIEW_TYPE_FULL_WIDTH)
                 .build());
         cards.add(new ContextualCard.Builder()
-                .setName("test_connected")
+                .setName("test_dark_theme")
                 .setCardType(ContextualCard.CardType.SLICE)
-                .setSliceUri(CustomSliceRegistry.BLUETOOTH_DEVICES_SLICE_URI)
+                .setSliceUri(CustomSliceRegistry.DARK_THEME_SLICE_URI)
                 .setViewType(VIEW_TYPE_FULL_WIDTH)
                 .build());
         cards.add(new ContextualCard.Builder()
@@ -631,16 +731,4 @@
                 .build());
         return cards;
     }
-
-    private List<ContextualCard> getDeferredSetupCardList() {
-        final List<ContextualCard> cards = new ArrayList<>();
-        cards.add(new ContextualCard.Builder()
-                .setName("deferred_setup")
-                .setCardType(ContextualCard.CardType.SLICE)
-                .setCategory(ContextualCardProto.ContextualCard.Category.DEFERRED_SETUP_VALUE)
-                .setSliceUri(new Uri.Builder().appendPath("test_deferred_setup_path").build())
-                .setViewType(VIEW_TYPE_FULL_WIDTH)
-                .build());
-        return cards;
-    }
 }
diff --git a/tests/robotests/src/com/android/settings/homepage/contextualcards/ContextualCardsAdapterTest.java b/tests/robotests/src/com/android/settings/homepage/contextualcards/ContextualCardsAdapterTest.java
index 26d6498..987aa8a 100644
--- a/tests/robotests/src/com/android/settings/homepage/contextualcards/ContextualCardsAdapterTest.java
+++ b/tests/robotests/src/com/android/settings/homepage/contextualcards/ContextualCardsAdapterTest.java
@@ -16,9 +16,6 @@
 
 package com.android.settings.homepage.contextualcards;
 
-import static com.android.settings.homepage.contextualcards.slices.SliceContextualCardRenderer.VIEW_TYPE_DEFERRED_SETUP;
-import static com.android.settings.homepage.contextualcards.slices.SliceContextualCardRenderer.VIEW_TYPE_FULL_WIDTH;
-
 import static com.google.common.truth.Truth.assertThat;
 
 import android.app.Activity;
@@ -39,7 +36,6 @@
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.mockito.MockitoAnnotations;
 import org.robolectric.Robolectric;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.android.controller.ActivityController;
@@ -156,7 +152,7 @@
                 .setName("test_name")
                 .setCardType(ContextualCard.CardType.SLICE)
                 .setSliceUri(TEST_SLICE_URI)
-                .setViewType(VIEW_TYPE_DEFERRED_SETUP)
+                .setViewType(SliceContextualCardRenderer.VIEW_TYPE_HALF_WIDTH)
                 .build());
         cards.add(new ContextualCard.Builder()
                 .setName("test_name_1")
@@ -172,7 +168,7 @@
                 .setName(TEST_SLICE_NAME)
                 .setCardType(ContextualCard.CardType.SLICE)
                 .setSliceUri(sliceUri)
-                .setViewType(VIEW_TYPE_FULL_WIDTH)
+                .setViewType(SliceContextualCardRenderer.VIEW_TYPE_FULL_WIDTH)
                 .build();
     }
 
diff --git a/tests/robotests/src/com/android/settings/homepage/contextualcards/ControllerRendererPoolTest.java b/tests/robotests/src/com/android/settings/homepage/contextualcards/ControllerRendererPoolTest.java
index 0cb0598..ad2dd2a 100644
--- a/tests/robotests/src/com/android/settings/homepage/contextualcards/ControllerRendererPoolTest.java
+++ b/tests/robotests/src/com/android/settings/homepage/contextualcards/ControllerRendererPoolTest.java
@@ -18,7 +18,13 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.Mockito.when;
+import static org.robolectric.Shadows.shadowOf;
+
 import android.content.Context;
+import android.telephony.SubscriptionManager;
+import android.telephony.TelephonyManager;
 
 import androidx.lifecycle.LifecycleOwner;
 
@@ -27,11 +33,17 @@
 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 org.robolectric.shadow.api.Shadow;
+import org.robolectric.shadows.ShadowSubscriptionManager;
+import org.robolectric.shadows.ShadowTelephonyManager;
 
 @RunWith(RobolectricTestRunner.class)
 public class ControllerRendererPoolTest {
+    private static final int SUB_ID = 1;
 
     private static final int UNSUPPORTED_CARD_TYPE = -99999;
     private static final int UNSUPPORTED_VIEW_TYPE = -99999;
@@ -41,12 +53,27 @@
     private Lifecycle mLifecycle;
     private LifecycleOwner mLifecycleOwner;
 
+    @Mock
+    private TelephonyManager mTelephonyMgr;
+
     @Before
     public void setUp() {
+        MockitoAnnotations.initMocks(this);
+
         mContext = RuntimeEnvironment.application;
         mLifecycleOwner = () -> mLifecycle;
         mLifecycle = new Lifecycle(mLifecycleOwner);
 
+        // SubscriptionManager and TelephonyManager for CellularDataConditionController
+        ShadowSubscriptionManager shadowSubscriptionMgr = shadowOf(
+                mContext.getSystemService(SubscriptionManager.class));
+        shadowSubscriptionMgr.setDefaultDataSubscriptionId(SUB_ID);
+
+        ShadowTelephonyManager shadowTelephonyMgr = Shadow.extract(
+                mContext.getSystemService(TelephonyManager.class));
+        shadowTelephonyMgr.setTelephonyManagerForSubscriptionId(SUB_ID, mTelephonyMgr);
+        when(mTelephonyMgr.createForSubscriptionId(anyInt())).thenReturn(mTelephonyMgr);
+
         mPool = new ControllerRendererPool();
     }
 
diff --git a/tests/robotests/src/com/android/settings/homepage/contextualcards/EligibleCardCheckerTest.java b/tests/robotests/src/com/android/settings/homepage/contextualcards/EligibleCardCheckerTest.java
index 7b70dad..23ae2f3 100644
--- a/tests/robotests/src/com/android/settings/homepage/contextualcards/EligibleCardCheckerTest.java
+++ b/tests/robotests/src/com/android/settings/homepage/contextualcards/EligibleCardCheckerTest.java
@@ -31,7 +31,6 @@
 import androidx.slice.SliceProvider;
 import androidx.slice.widget.SliceLiveData;
 
-import com.android.settings.homepage.contextualcards.deviceinfo.EmergencyInfoSlice;
 import com.android.settings.slices.CustomSliceRegistry;
 import com.android.settings.wifi.slice.ContextualWifiSlice;
 
@@ -66,14 +65,6 @@
     }
 
     @Test
-    public void isSliceToggleable_cardWithoutToggle_returnFalse() {
-        final EmergencyInfoSlice emergencyInfoSlice = new EmergencyInfoSlice(mContext);
-        final Slice slice = emergencyInfoSlice.getSlice();
-
-        assertThat(mEligibleCardChecker.isSliceToggleable(slice)).isFalse();
-    }
-
-    @Test
     public void isCardEligibleToDisplay_toggleSlice_hasInlineActionShouldBeTrue() {
         final ContextualWifiSlice wifiSlice = new ContextualWifiSlice(mContext);
         final Slice slice = wifiSlice.getSlice();
@@ -85,29 +76,6 @@
     }
 
     @Test
-    public void isCardEligibleToDisplay_notToggleSlice_hasInlineActionShouldBeFalse() {
-        final EmergencyInfoSlice emergencyInfoSlice = new EmergencyInfoSlice(mContext);
-        final Slice slice = emergencyInfoSlice.getSlice();
-        doReturn(slice).when(mEligibleCardChecker).bindSlice(any(Uri.class));
-
-        mEligibleCardChecker.isCardEligibleToDisplay(getContextualCard(TEST_SLICE_URI));
-
-        assertThat(mEligibleCardChecker.mCard.hasInlineAction()).isFalse();
-    }
-
-    @Test
-    public void isCardEligibleToDisplay_customCard_returnTrue() {
-        final ContextualCard customCard = new ContextualCard.Builder()
-                .setName("custom_card")
-                .setCardType(ContextualCard.CardType.DEFAULT)
-                .setTitleText("custom_title")
-                .setSummaryText("custom_summary")
-                .build();
-
-        assertThat(mEligibleCardChecker.isCardEligibleToDisplay(customCard)).isTrue();
-    }
-
-    @Test
     public void isCardEligibleToDisplay_invalidScheme_returnFalse() {
         final Uri sliceUri = Uri.parse("contet://com.android.settings.slices/action/flashlight");
 
diff --git a/tests/robotests/src/com/android/settings/homepage/contextualcards/conditional/ConditionContextualCardControllerTest.java b/tests/robotests/src/com/android/settings/homepage/contextualcards/conditional/ConditionContextualCardControllerTest.java
index 06f9b98..ad2930d 100644
--- a/tests/robotests/src/com/android/settings/homepage/contextualcards/conditional/ConditionContextualCardControllerTest.java
+++ b/tests/robotests/src/com/android/settings/homepage/contextualcards/conditional/ConditionContextualCardControllerTest.java
@@ -23,8 +23,11 @@
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
+import static org.robolectric.Shadows.shadowOf;
 
 import android.content.Context;
+import android.telephony.SubscriptionManager;
+import android.telephony.TelephonyManager;
 
 import com.android.settings.homepage.contextualcards.ContextualCard;
 import com.android.settings.homepage.contextualcards.ContextualCard.CardType;
@@ -37,6 +40,8 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.shadows.ShadowSubscriptionManager;
+import org.robolectric.shadows.ShadowTelephonyManager;
 import org.robolectric.util.ReflectionHelpers;
 
 import java.util.ArrayList;
@@ -45,6 +50,7 @@
 
 @RunWith(RobolectricTestRunner.class)
 public class ConditionContextualCardControllerTest {
+    private static final int SUB_ID = 2;
 
     @Mock
     private ConditionManager mConditionManager;
@@ -57,6 +63,17 @@
     public void setUp() {
         MockitoAnnotations.initMocks(this);
         mContext = spy(RuntimeEnvironment.application);
+
+        // parameters required by CellularDataConditionController
+        final ShadowSubscriptionManager shadowSubscriptionMgr = shadowOf(
+                mContext.getSystemService(SubscriptionManager.class));
+        shadowSubscriptionMgr.setDefaultDataSubscriptionId(SUB_ID);
+
+        final TelephonyManager telephonyManager =
+                spy(mContext.getSystemService(TelephonyManager.class));
+        final ShadowTelephonyManager shadowTelephonyMgr = shadowOf(telephonyManager);
+        shadowTelephonyMgr.setTelephonyManagerForSubscriptionId(SUB_ID, telephonyManager);
+
         mController = spy(new ConditionContextualCardController(mContext));
         ReflectionHelpers.setField(mController, "mConditionManager", mConditionManager);
     }
diff --git a/tests/robotests/src/com/android/settings/homepage/contextualcards/conditional/HotspotConditionControllerTest.java b/tests/robotests/src/com/android/settings/homepage/contextualcards/conditional/HotspotConditionControllerTest.java
index 8663d0b..d1006b7 100644
--- a/tests/robotests/src/com/android/settings/homepage/contextualcards/conditional/HotspotConditionControllerTest.java
+++ b/tests/robotests/src/com/android/settings/homepage/contextualcards/conditional/HotspotConditionControllerTest.java
@@ -19,7 +19,7 @@
 import static com.google.common.truth.Truth.assertThat;
 
 import android.content.Context;
-import android.net.wifi.WifiConfiguration;
+import android.net.wifi.SoftApConfiguration;
 import android.net.wifi.WifiManager;
 
 import com.android.settings.homepage.contextualcards.ContextualCard;
@@ -53,7 +53,7 @@
 
     @Test
     public void buildContextualCard_hasWifiAp_shouldHaveWifiApSsid() {
-        setupWifiApConfiguration();
+        setupSoftApConfiguration();
 
         final ContextualCard card = mController.buildContextualCard();
 
@@ -61,16 +61,15 @@
     }
 
     @Test
-    public void buildContextualCard_noWifiAp_shouldHaveDefaultSsid() {
+    public void buildContextualCard_noWifiAp_shouldHaveEmptySsid() {
         final ContextualCard card = mController.buildContextualCard();
 
-        assertThat(card.getSummaryText()).isEqualTo(
-                mContext.getText(com.android.internal.R.string.wifi_tether_configure_ssid_default));
+        assertThat(card.getSummaryText()).isEqualTo("");
     }
 
-    private void setupWifiApConfiguration() {
-        final WifiConfiguration wifiApConfig = new WifiConfiguration();
-        wifiApConfig.SSID = WIFI_AP_SSID;
-        mContext.getSystemService(WifiManager.class).setWifiApConfiguration(wifiApConfig);
+    private void setupSoftApConfiguration() {
+        final SoftApConfiguration wifiApConfig = new SoftApConfiguration.Builder()
+                .setSsid(WIFI_AP_SSID).build();
+        mContext.getSystemService(WifiManager.class).setSoftApConfiguration(wifiApConfig);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/homepage/contextualcards/deviceinfo/DataUsageSliceTest.java b/tests/robotests/src/com/android/settings/homepage/contextualcards/deviceinfo/DataUsageSliceTest.java
deleted file mode 100644
index 13f26e4..0000000
--- a/tests/robotests/src/com/android/settings/homepage/contextualcards/deviceinfo/DataUsageSliceTest.java
+++ /dev/null
@@ -1,112 +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.homepage.contextualcards.deviceinfo;
-
-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.spy;
-import static org.mockito.Mockito.when;
-
-import android.app.usage.NetworkStatsManager;
-import android.content.Context;
-import android.telephony.SubscriptionManager;
-import android.telephony.TelephonyManager;
-import androidx.core.graphics.drawable.IconCompat;
-import androidx.slice.Slice;
-import androidx.slice.SliceItem;
-import androidx.slice.SliceMetadata;
-import androidx.slice.SliceProvider;
-import androidx.slice.core.SliceAction;
-import androidx.slice.widget.SliceLiveData;
-import com.android.settings.R;
-import com.android.settings.testutils.SliceTester;
-import com.android.settings.testutils.shadow.ShadowDataUsageUtils;
-import java.util.List;
-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 org.robolectric.Shadows;
-import org.robolectric.annotation.Config;
-import org.robolectric.shadows.ShadowTelephonyManager;
-
-@RunWith(RobolectricTestRunner.class)
-@Config(shadows = ShadowDataUsageUtils.class)
-public class DataUsageSliceTest {
-    private static final String DATA_USAGE_TITLE = "Data usage";
-    private static final String DATA_USAGE_SUMMARY = "test_summary";
-
-    @Mock
-    private NetworkStatsManager mNetworkStatsManager;
-
-    private Context mContext;
-    private DataUsageSlice mDataUsageSlice;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-
-        mContext = spy(RuntimeEnvironment.application);
-        // Set-up specs for SliceMetadata.
-        SliceProvider.setSpecs(SliceLiveData.SUPPORTED_SPECS);
-        when(mContext.getSystemService(NetworkStatsManager.class)).thenReturn(mNetworkStatsManager);
-
-        mDataUsageSlice = spy(new DataUsageSlice(mContext));
-
-        final TelephonyManager telephonyManager = mContext.getSystemService(TelephonyManager.class);
-        final ShadowTelephonyManager shadowTelephonyManager = Shadows.shadowOf(telephonyManager);
-        shadowTelephonyManager.setTelephonyManagerForSubscriptionId(
-                SubscriptionManager.INVALID_SUBSCRIPTION_ID, telephonyManager);
-    }
-
-    @Test
-    public void getSlice_hasSim_shouldBeCorrectSliceContent() {
-        ShadowDataUsageUtils.HAS_SIM = true;
-        doReturn(DATA_USAGE_TITLE).when(mDataUsageSlice).getDataUsageText(any());
-        doReturn(DATA_USAGE_SUMMARY).when(mDataUsageSlice).getCycleTime(any());
-
-        final Slice slice = mDataUsageSlice.getSlice();
-
-        final SliceMetadata metadata = SliceMetadata.from(mContext, slice);
-        assertThat(metadata.getTitle()).isEqualTo(
-                mContext.getString(R.string.data_usage_summary_title));
-
-        final SliceAction primaryAction = metadata.getPrimaryAction();
-        final IconCompat expectedIcon = IconCompat.createWithResource(mContext,
-                R.drawable.ic_settings_data_usage);
-        assertThat(primaryAction.getIcon().toString()).isEqualTo(expectedIcon.toString());
-    }
-
-    @Test
-    public void getSlice_hasNoSim_shouldShowNoSimCard() {
-        ShadowDataUsageUtils.HAS_SIM = false;
-
-        final Slice slice = mDataUsageSlice.getSlice();
-
-        final SliceMetadata metadata = SliceMetadata.from(mContext, slice);
-        assertThat(metadata.getTitle()).isEqualTo(
-                mContext.getString(R.string.data_usage_summary_title));
-
-        final List<SliceItem> sliceItems = slice.getItems();
-        SliceTester.assertAnySliceItemContainsTitle(sliceItems,
-                mContext.getString(R.string.no_sim_card));
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/homepage/contextualcards/deviceinfo/DeviceInfoSliceTest.java b/tests/robotests/src/com/android/settings/homepage/contextualcards/deviceinfo/DeviceInfoSliceTest.java
deleted file mode 100644
index ddc7218..0000000
--- a/tests/robotests/src/com/android/settings/homepage/contextualcards/deviceinfo/DeviceInfoSliceTest.java
+++ /dev/null
@@ -1,99 +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.homepage.contextualcards.deviceinfo;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.spy;
-
-import android.content.Context;
-import android.telephony.SubscriptionInfo;
-
-import androidx.core.graphics.drawable.IconCompat;
-import androidx.slice.Slice;
-import androidx.slice.SliceItem;
-import androidx.slice.SliceMetadata;
-import androidx.slice.SliceProvider;
-import androidx.slice.core.SliceAction;
-import androidx.slice.widget.SliceLiveData;
-
-import com.android.settings.R;
-import com.android.settings.testutils.SliceTester;
-
-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.List;
-
-@RunWith(RobolectricTestRunner.class)
-public class DeviceInfoSliceTest {
-
-    @Mock
-    private SubscriptionInfo mSubscriptionInfo;
-
-    private Context mContext;
-    private DeviceInfoSlice mDeviceInfoSlice;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        mContext = RuntimeEnvironment.application;
-
-        // Set-up specs for SliceMetadata.
-        SliceProvider.setSpecs(SliceLiveData.SUPPORTED_SPECS);
-
-        mDeviceInfoSlice = spy(new DeviceInfoSlice(mContext));
-    }
-
-    @Test
-    public void getSlice_hasSubscriptionInfo_shouldBeCorrectSliceContent() {
-        final String phoneNumber = "1111111111";
-        doReturn(mSubscriptionInfo).when(mDeviceInfoSlice).getFirstSubscriptionInfo();
-        doReturn(phoneNumber).when(mDeviceInfoSlice).getPhoneNumber();
-
-        final Slice slice = mDeviceInfoSlice.getSlice();
-
-        final SliceMetadata metadata = SliceMetadata.from(mContext, slice);
-        assertThat(metadata.getTitle()).isEqualTo(mContext.getString(R.string.device_info_label));
-
-        final SliceAction primaryAction = metadata.getPrimaryAction();
-        final IconCompat expectedIcon = IconCompat.createWithResource(mContext,
-                R.drawable.ic_info_outline_24dp);
-        assertThat(primaryAction.getIcon().toString()).isEqualTo(expectedIcon.toString());
-
-        final List<SliceItem> sliceItems = slice.getItems();
-        SliceTester.assertAnySliceItemContainsTitle(sliceItems, phoneNumber);
-    }
-
-    @Test
-    public void getSlice_hasNoSubscriptionInfo_shouldShowUnknown() {
-        final Slice slice = mDeviceInfoSlice.getSlice();
-
-        final SliceMetadata metadata = SliceMetadata.from(mContext, slice);
-        assertThat(metadata.getTitle()).isEqualTo(mContext.getString(R.string.device_info_label));
-
-        final List<SliceItem> sliceItems = slice.getItems();
-        SliceTester.assertAnySliceItemContainsTitle(sliceItems,
-                mContext.getString(R.string.device_info_default));
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/homepage/contextualcards/legacysuggestion/LegacySuggestionContextualCardControllerTest.java b/tests/robotests/src/com/android/settings/homepage/contextualcards/legacysuggestion/LegacySuggestionContextualCardControllerTest.java
index a2d4d09..502a62b 100644
--- a/tests/robotests/src/com/android/settings/homepage/contextualcards/legacysuggestion/LegacySuggestionContextualCardControllerTest.java
+++ b/tests/robotests/src/com/android/settings/homepage/contextualcards/legacysuggestion/LegacySuggestionContextualCardControllerTest.java
@@ -18,14 +18,19 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyMap;
+import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
 import android.content.Context;
+import android.service.settings.suggestions.Suggestion;
 
+import com.android.settings.R;
+import com.android.settings.homepage.contextualcards.ContextualCard;
 import com.android.settings.homepage.contextualcards.ContextualCardUpdateListener;
 import com.android.settings.testutils.FakeFeatureFactory;
-import com.android.settings.testutils.shadow.ShadowThreadUtils;
 import com.android.settingslib.suggestions.SuggestionController;
 
 import org.junit.Before;
@@ -38,7 +43,6 @@
 import org.robolectric.annotation.Config;
 
 @RunWith(RobolectricTestRunner.class)
-@Config(shadows = ShadowThreadUtils.class)
 public class LegacySuggestionContextualCardControllerTest {
 
     @Mock
@@ -93,4 +97,49 @@
 
         verify(mSuggestionController).getSuggestions();
     }
+
+    @Test
+    public void onDismiss_shouldCallSuggestionControllerDismiss() {
+        mController.mSuggestionController = mSuggestionController;
+        mController.setCardUpdateListener(mCardUpdateListener);
+
+        mController.onDismissed(buildContextualCard("test1"));
+
+        verify(mSuggestionController).dismissSuggestions(any(Suggestion.class));
+    }
+
+    @Test
+    public void onDismiss_shouldRemoveSuggestionFromList() {
+        mController.setCardUpdateListener(mCardUpdateListener);
+        mController.mSuggestions.add(buildContextualCard("test1"));
+        final ContextualCard card2 = buildContextualCard("test2");
+        mController.mSuggestions.add(card2);
+        assertThat(mController.mSuggestions).hasSize(2);
+
+        mController.onDismissed(card2);
+
+        assertThat(mController.mSuggestions).hasSize(1);
+    }
+
+    @Test
+    public void onDismiss_shouldCallUpdateAdapter() {
+        mController.setCardUpdateListener(mCardUpdateListener);
+        final ContextualCard card = buildContextualCard("test1");
+        mController.mSuggestions.add(card);
+
+        mController.onDismissed(card);
+
+        verify(mCardUpdateListener).onContextualCardUpdated(anyMap());
+    }
+
+    private ContextualCard buildContextualCard(String name) {
+        return new LegacySuggestionContextualCard.Builder()
+                .setSuggestion(mock(Suggestion.class))
+                .setName(name)
+                .setTitleText("test_title")
+                .setSummaryText("test_summary")
+                .setIconDrawable(mContext.getDrawable(R.drawable.ic_do_not_disturb_on_24dp))
+                .setViewType(LegacySuggestionContextualCardRenderer.VIEW_TYPE)
+                .build();
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/homepage/contextualcards/legacysuggestion/LegacySuggestionContextualCardRendererTest.java b/tests/robotests/src/com/android/settings/homepage/contextualcards/legacysuggestion/LegacySuggestionContextualCardRendererTest.java
index 596e95d6..65b3233 100644
--- a/tests/robotests/src/com/android/settings/homepage/contextualcards/legacysuggestion/LegacySuggestionContextualCardRendererTest.java
+++ b/tests/robotests/src/com/android/settings/homepage/contextualcards/legacysuggestion/LegacySuggestionContextualCardRendererTest.java
@@ -83,6 +83,25 @@
     }
 
     @Test
+    public void bindView_closeButton_shouldSetListener() {
+        final RecyclerView recyclerView = new RecyclerView(mActivity);
+        recyclerView.setLayoutManager(new LinearLayoutManager(mActivity));
+        final ContextualCard card = buildContextualCard();
+        final View cardView = LayoutInflater.from(mActivity).inflate(card.getViewType(),
+                recyclerView, false);
+        final RecyclerView.ViewHolder viewHolder = mRenderer.createViewHolder(cardView,
+                card.getViewType());
+        final View closeButton = viewHolder.itemView.findViewById(R.id.close_button);
+        when(mControllerRendererPool.getController(mActivity,
+                ContextualCard.CardType.LEGACY_SUGGESTION)).thenReturn(mController);
+
+        mRenderer.bindView(viewHolder, buildContextualCard());
+
+        assertThat(closeButton).isNotNull();
+        assertThat(closeButton.hasOnClickListeners()).isTrue();
+    }
+
+    @Test
     public void viewClick_shouldInvokeControllerPrimaryClick() {
         final RecyclerView recyclerView = new RecyclerView(mActivity);
         recyclerView.setLayoutManager(new LinearLayoutManager(mActivity));
@@ -102,6 +121,27 @@
         verify(mController).onPrimaryClick(any(ContextualCard.class));
     }
 
+    @Test
+    public void viewClick_closeButton_shouldInvokeControllerDismissClick() {
+        final RecyclerView recyclerView = new RecyclerView(mActivity);
+        recyclerView.setLayoutManager(new LinearLayoutManager(mActivity));
+        final ContextualCard card = buildContextualCard();
+        final View cardView = LayoutInflater.from(mActivity).inflate(card.getViewType(),
+                recyclerView, false);
+        final RecyclerView.ViewHolder viewHolder = mRenderer.createViewHolder(cardView,
+                card.getViewType());
+        final View closeButton = viewHolder.itemView.findViewById(R.id.close_button);
+        when(mControllerRendererPool.getController(mActivity,
+                ContextualCard.CardType.LEGACY_SUGGESTION)).thenReturn(mController);
+
+        mRenderer.bindView(viewHolder, buildContextualCard());
+
+        assertThat(closeButton).isNotNull();
+        closeButton.performClick();
+
+        verify(mController).onDismissed(any(ContextualCard.class));
+    }
+
     private ContextualCard buildContextualCard() {
         return new LegacySuggestionContextualCard.Builder()
                 .setName("test_name")
diff --git a/tests/robotests/src/com/android/settings/homepage/contextualcards/legacysuggestion/LegacySuggestionContextualCardTest.java b/tests/robotests/src/com/android/settings/homepage/contextualcards/legacysuggestion/LegacySuggestionContextualCardTest.java
index e0e5a0c..2ffbdc9 100644
--- a/tests/robotests/src/com/android/settings/homepage/contextualcards/legacysuggestion/LegacySuggestionContextualCardTest.java
+++ b/tests/robotests/src/com/android/settings/homepage/contextualcards/legacysuggestion/LegacySuggestionContextualCardTest.java
@@ -21,6 +21,7 @@
 import static org.mockito.Mockito.mock;
 
 import android.app.PendingIntent;
+import android.service.settings.suggestions.Suggestion;
 
 import com.android.settings.homepage.contextualcards.ContextualCard;
 
@@ -51,4 +52,12 @@
                 .build()
                 .getPendingIntent()).isNotNull();
     }
+
+    @Test
+    public void build_shouldSetSuggestion() {
+        assertThat(new LegacySuggestionContextualCard.Builder()
+                .setSuggestion(mock(Suggestion.class))
+                .build()
+                .getSuggestion()).isNotNull();
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/BatteryFixSliceTest.java b/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/BatteryFixSliceTest.java
index dcfba42..8fad638 100644
--- a/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/BatteryFixSliceTest.java
+++ b/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/BatteryFixSliceTest.java
@@ -81,13 +81,13 @@
     }
 
     @Test
-    public void updateBatteryTipAvailabilityCache_hasImportantTip_shouldReturnTrue() {
+    public void refreshBatteryTips_hasImportantTip_shouldReturnTrue() {
         final List<BatteryTip> tips = new ArrayList<>();
         tips.add(new LowBatteryTip(BatteryTip.StateType.INVISIBLE, false, ""));
         tips.add(new EarlyWarningTip(BatteryTip.StateType.NEW, false));
         ShadowBatteryTipLoader.setBatteryTips(tips);
 
-        BatteryFixSlice.updateBatteryTipAvailabilityCache(mContext);
+        BatteryFixSlice.refreshBatteryTips(mContext);
 
         assertThat(BatteryFixSlice.isBatteryTipAvailableFromCache(mContext)).isTrue();
     }
@@ -99,7 +99,7 @@
         tips.add(new EarlyWarningTip(BatteryTip.StateType.HANDLED, false));
         ShadowBatteryTipLoader.setBatteryTips(tips);
 
-        BatteryFixSlice.updateBatteryTipAvailabilityCache(mContext);
+        BatteryFixSlice.refreshBatteryTips(mContext);
         final Slice slice = mSlice.getSlice();
 
         assertThat(SliceMetadata.from(mContext, slice).isErrorSlice()).isTrue();
@@ -115,7 +115,7 @@
         tips.add(new EarlyWarningTip(BatteryTip.StateType.NEW, false));
         // Create fake cache data
         ShadowBatteryTipLoader.setBatteryTips(tips);
-        BatteryFixSlice.updateBatteryTipAvailabilityCache(mContext);
+        BatteryFixSlice.refreshBatteryTips(mContext);
         // Create fake background worker data
         BatteryFixSlice.BatteryTipWorker batteryTipWorker = mock(
                 BatteryFixSlice.BatteryTipWorker.class);
diff --git a/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/BluetoothDevicesSliceTest.java b/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/BluetoothDevicesSliceTest.java
index 4a23c33..a0b2141 100644
--- a/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/BluetoothDevicesSliceTest.java
+++ b/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/BluetoothDevicesSliceTest.java
@@ -23,12 +23,15 @@
 
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
 import android.app.PendingIntent;
+import android.bluetooth.BluetoothAdapter;
+import android.bluetooth.BluetoothDevice;
 import android.content.Context;
 import android.content.Intent;
 
@@ -42,6 +45,7 @@
 
 import com.android.settings.R;
 import com.android.settings.testutils.SliceTester;
+import com.android.settings.testutils.shadow.ShadowBluetoothAdapter;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
 
 import org.junit.After;
@@ -52,11 +56,16 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
+import org.robolectric.annotation.Implementation;
+import org.robolectric.annotation.Implements;
+import org.robolectric.shadow.api.Shadow;
 
 import java.util.ArrayList;
 import java.util.List;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = ShadowBluetoothAdapter.class)
 public class BluetoothDevicesSliceTest {
 
     private static final String BLUETOOTH_MOCK_ADDRESS = "00:11:00:11:00:11";
@@ -91,6 +100,13 @@
 
         // Initial Bluetooth device list.
         mBluetoothDeviceList = new ArrayList<>();
+
+        final BluetoothAdapter defaultAdapter = BluetoothAdapter.getDefaultAdapter();
+        if (defaultAdapter != null) {
+            final ShadowBluetoothAdapter shadowBluetoothAdapter = Shadow.extract(defaultAdapter);
+            shadowBluetoothAdapter.setEnabled(true);
+            shadowBluetoothAdapter.setState(BluetoothAdapter.STATE_ON);
+        }
     }
 
     @After
@@ -101,20 +117,29 @@
     }
 
     @Test
-    public void getSlice_hasBluetoothDevices_shouldHaveBluetoothDevicesTitle() {
-        mockBluetoothDeviceList(1);
-        doReturn(mBluetoothDeviceList).when(mBluetoothDevicesSlice).getConnectedBluetoothDevices();
+    @Config(shadows = ShadowNoBluetoothAdapter.class)
+    public void getSlice_noBluetoothHardware_shouldReturnNull() {
+        final Slice slice = mBluetoothDevicesSlice.getSlice();
 
+        assertThat(slice).isNull();
+    }
+
+    @Test
+    public void getSlice_hasBluetoothHardware_shouldHaveBluetoothDevicesTitleAndPairNewDevice() {
         final Slice slice = mBluetoothDevicesSlice.getSlice();
 
         final SliceMetadata metadata = SliceMetadata.from(mContext, slice);
         assertThat(metadata.getTitle()).isEqualTo(mContext.getString(R.string.bluetooth_devices));
+
+        final List<SliceItem> sliceItems = slice.getItems();
+        SliceTester.assertAnySliceItemContainsTitle(sliceItems, mContext.getString(
+                R.string.bluetooth_pairing_pref_title));
     }
 
     @Test
     public void getSlice_hasBluetoothDevices_shouldMatchBluetoothMockTitle() {
         mockBluetoothDeviceList(1);
-        doReturn(mBluetoothDeviceList).when(mBluetoothDevicesSlice).getConnectedBluetoothDevices();
+        doReturn(mBluetoothDeviceList).when(mBluetoothDevicesSlice).getPairedBluetoothDevices();
 
         final Slice slice = mBluetoothDevicesSlice.getSlice();
 
@@ -123,41 +148,43 @@
     }
 
     @Test
-    public void getSlice_hasMediaBluetoothDevice_shouldBuildMediaBluetoothAction() {
-        mockBluetoothDeviceList(1 /* deviceCount */);
-        doReturn(true).when(mBluetoothDeviceList.get(0)).isConnectedA2dpDevice();
-        doReturn(mBluetoothDeviceList).when(mBluetoothDevicesSlice).getConnectedBluetoothDevices();
+    public void getSlice_hasAvailableMediaDevice_shouldBuildPrimaryBluetoothAction() {
+        mockBluetoothDeviceList(1);
+        when(mBluetoothDeviceList.get(0).getDevice().isConnected()).thenReturn(true);
+        doReturn(true).when(mBluetoothDeviceList.get(0)).isConnectedHearingAidDevice();
+        doReturn(mBluetoothDeviceList).when(mBluetoothDevicesSlice).getPairedBluetoothDevices();
 
         mBluetoothDevicesSlice.getSlice();
 
-        verify(mBluetoothDevicesSlice).buildMediaBluetoothAction(any());
+        verify(mBluetoothDevicesSlice).buildPrimaryBluetoothAction(any());
     }
 
     @Test
-    public void getSlice_noMediaBluetoothDevice_shouldNotBuildMediaBluetoothAction() {
-        mockBluetoothDeviceList(1 /* deviceCount */);
-        doReturn(mBluetoothDeviceList).when(mBluetoothDevicesSlice).getConnectedBluetoothDevices();
+    public void getSlice_hasPreviouslyConnectedDevice_shouldBuildPrimaryBluetoothAction() {
+        mockBluetoothDeviceList(1);
+        when(mBluetoothDeviceList.get(0).getDevice().isConnected()).thenReturn(false);
+        doReturn(mBluetoothDeviceList).when(mBluetoothDevicesSlice).getPairedBluetoothDevices();
 
         mBluetoothDevicesSlice.getSlice();
 
-        verify(mBluetoothDevicesSlice, never()).buildMediaBluetoothAction(any());
+        verify(mBluetoothDevicesSlice).buildPrimaryBluetoothAction(any());
     }
 
     @Test
-    public void getSlice_noBluetoothDevices_shouldHaveNoBluetoothDevicesTitle() {
-        doReturn(mBluetoothDeviceList).when(mBluetoothDevicesSlice).getConnectedBluetoothDevices();
+    public void getSlice_hasNonMediaDeviceConnected_shouldNotBuildPrimaryBluetoothAction() {
+        mockBluetoothDeviceList(1);
+        when(mBluetoothDeviceList.get(0).getDevice().isConnected()).thenReturn(true);
+        doReturn(mBluetoothDeviceList).when(mBluetoothDevicesSlice).getPairedBluetoothDevices();
 
-        final Slice slice = mBluetoothDevicesSlice.getSlice();
+        mBluetoothDevicesSlice.getSlice();
 
-        final SliceMetadata metadata = SliceMetadata.from(mContext, slice);
-        assertThat(metadata.getTitle()).isEqualTo(
-                mContext.getString(R.string.no_bluetooth_devices));
+        verify(mBluetoothDevicesSlice, never()).buildPrimaryBluetoothAction(any());
     }
 
     @Test
     public void getSlice_exceedDefaultRowCount_shouldOnlyShowDefaultRows() {
         mockBluetoothDeviceList(BluetoothDevicesSlice.DEFAULT_EXPANDED_ROW_COUNT + 1);
-        doReturn(mBluetoothDeviceList).when(mBluetoothDevicesSlice).getConnectedBluetoothDevices();
+        doReturn(mBluetoothDeviceList).when(mBluetoothDevicesSlice).getPairedBluetoothDevices();
 
         final Slice slice = mBluetoothDevicesSlice.getSlice();
 
@@ -167,23 +194,10 @@
     }
 
     @Test
-    public void getSlice_exceedDefaultRowCount_shouldContainDefaultCountInSubTitle() {
-        mockBluetoothDeviceList(BluetoothDevicesSlice.DEFAULT_EXPANDED_ROW_COUNT + 1);
-        doReturn(mBluetoothDeviceList).when(mBluetoothDevicesSlice).getConnectedBluetoothDevices();
-
-        final Slice slice = mBluetoothDevicesSlice.getSlice();
-
-        final SliceMetadata metadata = SliceMetadata.from(mContext, slice);
-        assertThat(metadata.getSubtitle()).isEqualTo(
-                mContext.getResources().getQuantityString(R.plurals.show_bluetooth_devices,
-                        BluetoothDevicesSlice.DEFAULT_EXPANDED_ROW_COUNT,
-                        BluetoothDevicesSlice.DEFAULT_EXPANDED_ROW_COUNT));
-    }
-
-    @Test
-    public void onNotifyChange_mediaDevice_shouldActivateDevice() {
+    public void onNotifyChange_connectedDevice_shouldActivateDevice() {
         mockBluetoothDeviceList(1);
-        doReturn(mBluetoothDeviceList).when(mBluetoothDevicesSlice).getConnectedBluetoothDevices();
+        doReturn(true).when(mBluetoothDeviceList.get(0)).isConnected();
+        doReturn(mBluetoothDeviceList).when(mBluetoothDevicesSlice).getPairedBluetoothDevices();
         final Intent intent = new Intent().putExtra(
                 BluetoothDevicesSlice.BLUETOOTH_DEVICE_HASH_CODE,
                 mCachedBluetoothDevice.hashCode());
@@ -193,7 +207,41 @@
         verify(mCachedBluetoothDevice).setActive();
     }
 
+    @Test
+    public void onNotifyChange_availableDisconnectedDevice_shouldConnectToDevice() {
+        mockBluetoothDeviceList(1);
+        doReturn(false).when(mBluetoothDeviceList.get(0)).isConnected();
+        doReturn(false).when(mBluetoothDeviceList.get(0)).isBusy();
+        doReturn(mBluetoothDeviceList).when(mBluetoothDevicesSlice).getPairedBluetoothDevices();
+        final Intent intent = new Intent().putExtra(
+                BluetoothDevicesSlice.BLUETOOTH_DEVICE_HASH_CODE,
+                mCachedBluetoothDevice.hashCode());
+
+        mBluetoothDevicesSlice.onNotifyChange(intent);
+
+        verify(mCachedBluetoothDevice).connect();
+    }
+
+    @Test
+    public void onNotifyChange_busyDisconnectedDevice_shouldDoNothing() {
+        mockBluetoothDeviceList(1);
+        doReturn(false).when(mBluetoothDeviceList.get(0)).isConnected();
+        doReturn(true).when(mBluetoothDeviceList.get(0)).isBusy();
+        doReturn(mBluetoothDeviceList).when(mBluetoothDevicesSlice).getPairedBluetoothDevices();
+        final Intent intent = new Intent().putExtra(
+                BluetoothDevicesSlice.BLUETOOTH_DEVICE_HASH_CODE,
+                mCachedBluetoothDevice.hashCode());
+
+        mBluetoothDevicesSlice.onNotifyChange(intent);
+
+        verify(mCachedBluetoothDevice, never()).setActive();
+        verify(mCachedBluetoothDevice, never()).connect();
+    }
+
     private void mockBluetoothDeviceList(int deviceCount) {
+        final BluetoothDevice device = mock(BluetoothDevice.class);
+        doReturn(BluetoothDevice.BOND_BONDED).when(device).getBondState();
+        doReturn(device).when(mCachedBluetoothDevice).getDevice();
         doReturn(BLUETOOTH_MOCK_TITLE).when(mCachedBluetoothDevice).getName();
         doReturn(BLUETOOTH_MOCK_SUMMARY).when(mCachedBluetoothDevice).getConnectionSummary();
         doReturn(BLUETOOTH_MOCK_ADDRESS).when(mCachedBluetoothDevice).getAddress();
@@ -201,4 +249,12 @@
             mBluetoothDeviceList.add(mCachedBluetoothDevice);
         }
     }
+
+    @Implements(BluetoothAdapter.class)
+    public static class ShadowNoBluetoothAdapter extends ShadowBluetoothAdapter {
+        @Implementation
+        protected static BluetoothAdapter getDefaultAdapter() {
+            return null;
+        }
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/BluetoothUpdateWorkerTest.java b/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/BluetoothUpdateWorkerTest.java
index e2eb9bd..4da5c09 100644
--- a/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/BluetoothUpdateWorkerTest.java
+++ b/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/BluetoothUpdateWorkerTest.java
@@ -20,7 +20,6 @@
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
 
 import android.content.ContentResolver;
 import android.content.Context;
diff --git a/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/ContextualAdaptiveSleepSliceTest.java b/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/ContextualAdaptiveSleepSliceTest.java
index ff60aab..0a88d64 100644
--- a/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/ContextualAdaptiveSleepSliceTest.java
+++ b/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/ContextualAdaptiveSleepSliceTest.java
@@ -123,7 +123,7 @@
     }
 
     @Test
-    public void getSlice_DoNotShowIfTurnedOn() {
+    public void getSlice_DoNotShowIFTurnedOn() {
         Settings.System.putInt(mContext.getContentResolver(), Settings.System.ADAPTIVE_SLEEP, 1);
 
         final Slice slice = mContextualAdaptiveSleepSlice.getSlice();
diff --git a/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/DarkThemeSliceTest.java b/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/DarkThemeSliceTest.java
index 1af7b2b..3be65dc 100644
--- a/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/DarkThemeSliceTest.java
+++ b/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/DarkThemeSliceTest.java
@@ -16,12 +16,16 @@
 
 package com.android.settings.homepage.contextualcards.slices;
 
+import static android.content.res.Configuration.UI_MODE_NIGHT_NO;
+import static android.content.res.Configuration.UI_MODE_NIGHT_YES;
+
 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.app.UiModeManager;
 import android.content.Context;
 import android.net.Uri;
 import android.os.BatteryManager;
@@ -51,6 +55,8 @@
     private BatteryManager mBatteryManager;
     @Mock
     private PowerManager mPowerManager;
+    @Mock
+    private UiModeManager mUiModeManager;
 
     private Context mContext;
     private DarkThemeSlice mDarkThemeSlice;
@@ -65,10 +71,11 @@
         mFeatureFactory.slicesFeatureProvider.newUiSession();
         doReturn(mPowerManager).when(mContext).getSystemService(PowerManager.class);
         when(mPowerManager.isPowerSaveMode()).thenReturn(false);
+        doReturn(mUiModeManager).when(mContext).getSystemService(UiModeManager.class);
 
         // Set-up specs for SliceMetadata.
         SliceProvider.setSpecs(SliceLiveData.SUPPORTED_SPECS);
-        mDarkThemeSlice = spy(new DarkThemeSlice(mContext));
+        mDarkThemeSlice = new DarkThemeSlice(mContext);
         mDarkThemeSlice.sKeepSliceShow = false;
     }
 
@@ -81,7 +88,23 @@
 
     @Test
     public void isAvailable_inDarkThemeMode_returnFalse() {
-        doReturn(true).when(mDarkThemeSlice).isDarkThemeMode(mContext);
+        mContext.getResources().getConfiguration().uiMode = UI_MODE_NIGHT_YES;
+
+        assertThat(mDarkThemeSlice.isAvailable(mContext)).isFalse();
+    }
+
+    @Test
+    public void isAvailable_nonDarkTheme_autoNightMode_returnFalse() {
+        mContext.getResources().getConfiguration().uiMode = UI_MODE_NIGHT_NO;
+        setNightMode(UiModeManager.MODE_NIGHT_AUTO);
+
+        assertThat(mDarkThemeSlice.isAvailable(mContext)).isFalse();
+    }
+
+    @Test
+    public void isAvailable_nonDarkTheme_customNightMode_returnFalse() {
+        mContext.getResources().getConfiguration().uiMode = UI_MODE_NIGHT_NO;
+        setNightMode(UiModeManager.MODE_NIGHT_CUSTOM);
 
         assertThat(mDarkThemeSlice.isAvailable(mContext)).isFalse();
     }
@@ -89,6 +112,7 @@
     @Test
     public void isAvailable_nonDarkThemeBatteryCapacityEq100_returnFalse() {
         setBatteryCapacityLevel(100);
+        setNightMode(UiModeManager.MODE_NIGHT_NO);
 
         assertThat(mDarkThemeSlice.isAvailable(mContext)).isFalse();
     }
@@ -96,6 +120,7 @@
     @Test
     public void isAvailable_nonDarkThemeBatteryCapacityLt50_returnTrue() {
         setBatteryCapacityLevel(40);
+        setNightMode(UiModeManager.MODE_NIGHT_NO);
 
         assertThat(mDarkThemeSlice.isAvailable(mContext)).isTrue();
     }
@@ -111,7 +136,7 @@
 
     @Test
     public void getSlice_notAvailable_returnErrorSlice() {
-        doReturn(true).when(mDarkThemeSlice).isDarkThemeMode(mContext);
+        mContext.getResources().getConfiguration().uiMode = UI_MODE_NIGHT_YES;
 
         final Slice mediaSlice = mDarkThemeSlice.getSlice();
         final SliceMetadata metadata = SliceMetadata.from(mContext, mediaSlice);
@@ -126,7 +151,7 @@
         mDarkThemeSlice.sActiveUiSession =
                 mFeatureFactory.slicesFeatureProvider.getUiSessionToken() + 1;
 
-        doReturn(true).when(mDarkThemeSlice).isDarkThemeMode(mContext);
+        mContext.getResources().getConfiguration().uiMode = UI_MODE_NIGHT_YES;
 
         final Slice mediaSlice = mDarkThemeSlice.getSlice();
         final SliceMetadata metadata = SliceMetadata.from(mContext, mediaSlice);
@@ -139,6 +164,28 @@
                 mFeatureFactory.slicesFeatureProvider.getUiSessionToken();
         mDarkThemeSlice.sKeepSliceShow = true;
         setBatteryCapacityLevel(40);
+        setNightMode(UiModeManager.MODE_NIGHT_NO);
+
+        assertThat(mDarkThemeSlice.getSlice()).isNotNull();
+    }
+
+    @Test
+    public void getSlice_sliceNotClicked_notAvailable_returnErrorSlice() {
+        mDarkThemeSlice.sSliceClicked = false;
+
+        mContext.getResources().getConfiguration().uiMode = UI_MODE_NIGHT_YES;
+
+        final Slice mediaSlice = mDarkThemeSlice.getSlice();
+        final SliceMetadata metadata = SliceMetadata.from(mContext, mediaSlice);
+        assertThat(metadata.isErrorSlice()).isTrue();
+    }
+
+    @Test
+    public void getSlice_sliceClicked_isAvailable_returnSlice() {
+        mDarkThemeSlice.sSliceClicked = true;
+
+        setBatteryCapacityLevel(40);
+        setNightMode(UiModeManager.MODE_NIGHT_NO);
 
         assertThat(mDarkThemeSlice.getSlice()).isNotNull();
     }
@@ -146,6 +193,7 @@
     @Test
     public void getSlice_isAvailable_returnSlice() {
         setBatteryCapacityLevel(40);
+        setNightMode(UiModeManager.MODE_NIGHT_NO);
 
         assertThat(mDarkThemeSlice.getSlice()).isNotNull();
     }
@@ -153,6 +201,7 @@
     @Test
     public void getSlice_isAvailable_showTitleSubtitle() {
         setBatteryCapacityLevel(40);
+        setNightMode(UiModeManager.MODE_NIGHT_NO);
 
         final Slice slice = mDarkThemeSlice.getSlice();
         final SliceMetadata metadata = SliceMetadata.from(mContext, slice);
@@ -163,9 +212,13 @@
     }
 
     private void setBatteryCapacityLevel(int power_level) {
-        doReturn(false).when(mDarkThemeSlice).isDarkThemeMode(mContext);
+        mContext.getResources().getConfiguration().uiMode = UI_MODE_NIGHT_NO;
         doReturn(mBatteryManager).when(mContext).getSystemService(BatteryManager.class);
         when(mBatteryManager.getIntProperty(BatteryManager.BATTERY_PROPERTY_CAPACITY))
                 .thenReturn(power_level);
     }
+
+    private void setNightMode(int mode) {
+        when(mUiModeManager.getNightMode()).thenReturn(mode);
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/FaceSetupSliceTest.java b/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/FaceSetupSliceTest.java
index eeb465b..6f212df 100644
--- a/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/FaceSetupSliceTest.java
+++ b/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/FaceSetupSliceTest.java
@@ -16,25 +16,22 @@
 
 package com.android.settings.homepage.contextualcards.slices;
 
+import static com.google.common.truth.Truth.assertThat;
+
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.when;
 
-import static com.google.common.truth.Truth.assertThat;
-
 import android.content.Context;
 import android.content.pm.PackageManager;
 import android.hardware.face.FaceManager;
 import android.os.UserHandle;
 import android.provider.Settings;
 
-import androidx.slice.Slice;
+import androidx.slice.SliceMetadata;
 import androidx.slice.SliceProvider;
 import androidx.slice.widget.SliceLiveData;
 
-import com.android.settings.R;
-import com.android.settings.Utils;
-
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -60,8 +57,9 @@
     public void getSlice_noFaceManager_shouldReturnNull() {
         when(mPackageManager.hasSystemFeature(PackageManager.FEATURE_FACE)).thenReturn(false);
         final FaceSetupSlice setupSlice = new FaceSetupSlice(mContext);
+        final SliceMetadata metadata = SliceMetadata.from(mContext, setupSlice.getSlice());
 
-        assertThat(setupSlice.getSlice()).isNull();
+        assertThat(metadata.isErrorSlice()).isTrue();
     }
 
     @Test
@@ -74,7 +72,9 @@
                 0);
         final FaceSetupSlice setupSlice = new FaceSetupSlice(mContext);
 
-        assertThat(setupSlice.getSlice()).isNull();
+        final SliceMetadata metadata = SliceMetadata.from(mContext, setupSlice.getSlice());
+
+        assertThat(metadata.isErrorSlice()).isTrue();
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/LowStorageSliceTest.java b/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/LowStorageSliceTest.java
index 99f2723..c8ec57a 100644
--- a/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/LowStorageSliceTest.java
+++ b/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/LowStorageSliceTest.java
@@ -28,8 +28,8 @@
 import androidx.slice.widget.SliceLiveData;
 
 import com.android.settings.R;
+import com.android.settings.testutils.shadow.ShadowPrivateStorageInfo;
 import com.android.settingslib.deviceinfo.PrivateStorageInfo;
-import com.android.settingslib.deviceinfo.StorageVolumeProvider;
 
 import org.junit.After;
 import org.junit.Before;
@@ -38,9 +38,6 @@
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
-import org.robolectric.annotation.Implementation;
-import org.robolectric.annotation.Implements;
-import org.robolectric.annotation.Resetter;
 
 @RunWith(RobolectricTestRunner.class)
 public class LowStorageSliceTest {
@@ -104,26 +101,4 @@
 
         assertThat(slice.hasHint(HINT_ERROR)).isTrue();
     }
-
-    @Implements(PrivateStorageInfo.class)
-    public static class ShadowPrivateStorageInfo {
-
-        private static PrivateStorageInfo sPrivateStorageInfo = null;
-
-        @Resetter
-        public static void reset() {
-            sPrivateStorageInfo = null;
-        }
-
-        @Implementation
-        public static PrivateStorageInfo getPrivateStorageInfo(
-                StorageVolumeProvider storageVolumeProvider) {
-            return sPrivateStorageInfo;
-        }
-
-        private static void setPrivateStorageInfo(
-                PrivateStorageInfo privateStorageInfo) {
-            sPrivateStorageInfo = privateStorageInfo;
-        }
-    }
 }
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/SliceContextualCardControllerTest.java b/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/SliceContextualCardControllerTest.java
index 51d2523..91d372e 100644
--- a/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/SliceContextualCardControllerTest.java
+++ b/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/SliceContextualCardControllerTest.java
@@ -38,10 +38,13 @@
 import com.android.settings.homepage.contextualcards.CardContentProvider;
 import com.android.settings.homepage.contextualcards.CardDatabaseHelper;
 import com.android.settings.homepage.contextualcards.ContextualCard;
+import com.android.settings.homepage.contextualcards.ContextualCardFeatureProvider;
+import com.android.settings.homepage.contextualcards.ContextualCardFeatureProviderImpl;
 import com.android.settings.homepage.contextualcards.ContextualCardFeedbackDialog;
 import com.android.settings.homepage.contextualcards.ContextualCardsFragment;
 import com.android.settings.testutils.FakeFeatureFactory;
 
+import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -78,10 +81,18 @@
         mResolver = mContext.getContentResolver();
         mController = spy(new SliceContextualCardController(mContext));
         mFeatureFactory = FakeFeatureFactory.setupForTest();
+        final ContextualCardFeatureProvider cardFeatureProvider =
+                new ContextualCardFeatureProviderImpl(mContext);
+        mFeatureFactory.mContextualCardFeatureProvider = cardFeatureProvider;
+    }
+
+    @After
+    public void tearDown() {
+        CardDatabaseHelper.getInstance(mContext).close();
     }
 
     @Test
-    public void onDismissed_cardShouldBeMarkedAsDismissed() {
+    public void onDismissed_cardShouldBeMarkedAsDismissedWithTimestamp() {
         final Uri providerUri = CardContentProvider.REFRESH_CARD_URI;
         mResolver.insert(providerUri, generateOneRow());
         doNothing().when(mController).showFeedbackDialog(any(ContextualCard.class));
@@ -89,15 +100,15 @@
         final ContextualCard card = getTestSliceCard();
         mController.onDismissed(card);
 
-        final String[] columns = {CardDatabaseHelper.CardColumns.CARD_DISMISSED};
+        final String[] columns = {CardDatabaseHelper.CardColumns.DISMISSED_TIMESTAMP};
         final String selection = CardDatabaseHelper.CardColumns.NAME + "=?";
         final String[] selectionArgs = {TEST_CARD_NAME};
         final Cursor cr = mResolver.query(providerUri, columns, selection, selectionArgs, null);
         cr.moveToFirst();
-        final int qryDismissed = cr.getInt(0);
+        final long dismissedTimestamp = cr.getLong(0);
         cr.close();
 
-        assertThat(qryDismissed).isEqualTo(1);
+        assertThat(dismissedTimestamp).isNotEqualTo(0L);
         verify(mFeatureFactory.metricsFeatureProvider).action(any(),
                 eq(SettingsEnums.ACTION_CONTEXTUAL_CARD_DISMISS), any(String.class));
     }
@@ -172,7 +183,7 @@
         values.put(CardDatabaseHelper.CardColumns.CATEGORY, 2);
         values.put(CardDatabaseHelper.CardColumns.PACKAGE_NAME, "com.android.settings");
         values.put(CardDatabaseHelper.CardColumns.APP_VERSION, 10001);
-        values.put(CardDatabaseHelper.CardColumns.CARD_DISMISSED, 0);
+        values.put(CardDatabaseHelper.CardColumns.DISMISSED_TIMESTAMP, 0L);
 
         return values;
     }
diff --git a/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/SliceContextualCardRendererTest.java b/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/SliceContextualCardRendererTest.java
index fb04dac..70761cf 100644
--- a/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/SliceContextualCardRendererTest.java
+++ b/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/SliceContextualCardRendererTest.java
@@ -16,13 +16,11 @@
 
 package com.android.settings.homepage.contextualcards.slices;
 
-import static com.android.settings.homepage.contextualcards.slices.SliceContextualCardRenderer.VIEW_TYPE_DEFERRED_SETUP;
 import static com.android.settings.homepage.contextualcards.slices.SliceContextualCardRenderer.VIEW_TYPE_FULL_WIDTH;
 
 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.verify;
 
 import android.app.Activity;
@@ -163,15 +161,6 @@
     }
 
     @Test
-    public void bindView_deferredSetupCard_shouldNotCrash() {
-        final RecyclerView.ViewHolder viewHolder = getDeferredSetupViewHolder();
-        final ContextualCard card = buildContextualCard(TEST_SLICE_URI);
-        mRenderer.mSliceLiveDataMap.put(TEST_SLICE_URI, mSliceLiveData);
-
-        mRenderer.bindView(viewHolder, card);
-    }
-
-    @Test
     public void viewClick_keepCard_shouldShowSlice() {
         final RecyclerView.ViewHolder viewHolder = getSliceViewHolder();
         final View sliceView = viewHolder.itemView.findViewById(R.id.slice_view);
@@ -257,18 +246,6 @@
         return mRenderer.createViewHolder(view, VIEW_TYPE_FULL_WIDTH);
     }
 
-    private RecyclerView.ViewHolder getDeferredSetupViewHolder() {
-        final RecyclerView recyclerView = new RecyclerView(mActivity);
-        recyclerView.setLayoutManager(new LinearLayoutManager(mActivity));
-        final View view = LayoutInflater.from(mActivity)
-                .inflate(VIEW_TYPE_DEFERRED_SETUP, recyclerView, false);
-        final RecyclerView.ViewHolder viewHolder = spy(
-                new SliceDeferredSetupCardRendererHelper.DeferredSetupCardViewHolder(view));
-        doReturn(VIEW_TYPE_DEFERRED_SETUP).when(viewHolder).getItemViewType();
-
-        return viewHolder;
-    }
-
     private ContextualCard buildContextualCard(Uri sliceUri) {
         return new ContextualCard.Builder()
                 .setName("test_name")
diff --git a/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/SliceDeferredSetupCardRendererHelperTest.java b/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/SliceDeferredSetupCardRendererHelperTest.java
deleted file mode 100644
index 740a45b..0000000
--- a/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/SliceDeferredSetupCardRendererHelperTest.java
+++ /dev/null
@@ -1,130 +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.homepage.contextualcards.slices;
-
-import static com.android.settings.homepage.contextualcards.slices.SliceContextualCardRenderer.VIEW_TYPE_DEFERRED_SETUP;
-import static com.android.settings.homepage.contextualcards.slices.SliceDeferredSetupCardRendererHelper.DeferredSetupCardViewHolder;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import android.app.Activity;
-import android.app.PendingIntent;
-import android.content.Intent;
-import android.net.Uri;
-import android.view.LayoutInflater;
-import android.view.View;
-
-import androidx.core.graphics.drawable.IconCompat;
-import androidx.recyclerview.widget.LinearLayoutManager;
-import androidx.recyclerview.widget.RecyclerView;
-import androidx.slice.Slice;
-import androidx.slice.SliceProvider;
-import androidx.slice.builders.ListBuilder;
-import androidx.slice.builders.SliceAction;
-import androidx.slice.widget.SliceLiveData;
-
-import com.android.settings.R;
-import com.android.settings.homepage.contextualcards.ContextualCard;
-import com.android.settings.intelligence.ContextualCardProto;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.robolectric.Robolectric;
-import org.robolectric.RobolectricTestRunner;
-
-@RunWith(RobolectricTestRunner.class)
-public class SliceDeferredSetupCardRendererHelperTest {
-    private static final Uri TEST_SLICE_URI = Uri.parse("content://test/test");
-    private static final CharSequence TITLE = "test_title";
-    private static final CharSequence SUMMARY = "test_summary";
-
-    private Activity mActivity;
-    private SliceDeferredSetupCardRendererHelper mHelper;
-
-    @Before
-    public void setUp() {
-        // Set-up specs for SliceMetadata.
-        SliceProvider.setSpecs(SliceLiveData.SUPPORTED_SPECS);
-        mActivity = Robolectric.buildActivity(Activity.class).create().get();
-        mActivity.setTheme(R.style.Theme_Settings_Home);
-        mHelper = new SliceDeferredSetupCardRendererHelper(mActivity);
-    }
-
-    @Test
-    public void createViewHolder_shouldAlwaysReturnCustomViewHolder() {
-        final RecyclerView.ViewHolder viewHolder = getDeferredSetupCardViewHolder();
-
-        assertThat(viewHolder).isInstanceOf(
-                DeferredSetupCardViewHolder.class);
-    }
-
-    @Test
-    public void bindView_shouldSetTitle() {
-        final RecyclerView.ViewHolder viewHolder = getDeferredSetupCardViewHolder();
-
-        mHelper.bindView(viewHolder, buildContextualCard(), buildSlice());
-
-        assertThat(((DeferredSetupCardViewHolder) viewHolder).title.getText()).isEqualTo(TITLE);
-    }
-
-    @Test
-    public void bindView_shouldSetSummary() {
-        final RecyclerView.ViewHolder viewHolder = getDeferredSetupCardViewHolder();
-
-        mHelper.bindView(viewHolder, buildContextualCard(), buildSlice());
-
-        assertThat(((DeferredSetupCardViewHolder) viewHolder).summary.getText()).isEqualTo(SUMMARY);
-    }
-
-    private RecyclerView.ViewHolder getDeferredSetupCardViewHolder() {
-        final RecyclerView recyclerView = new RecyclerView(mActivity);
-        recyclerView.setLayoutManager(new LinearLayoutManager(mActivity));
-        final View view = LayoutInflater.from(mActivity).inflate(VIEW_TYPE_DEFERRED_SETUP,
-                recyclerView, false);
-
-        return mHelper.createViewHolder(view);
-    }
-
-    private ContextualCard buildContextualCard() {
-        return new ContextualCard.Builder()
-                .setName("test_name")
-                .setCategory(ContextualCardProto.ContextualCard.Category.DEFERRED_SETUP_VALUE)
-                .setCardType(ContextualCard.CardType.SLICE)
-                .setSliceUri(TEST_SLICE_URI)
-                .setViewType(VIEW_TYPE_DEFERRED_SETUP)
-                .build();
-    }
-
-    private Slice buildSlice() {
-        final IconCompat icon = IconCompat.createWithResource(mActivity, R.drawable.empty_icon);
-        final PendingIntent pendingIntent = PendingIntent.getActivity(
-                mActivity,
-                TITLE.hashCode() /* requestCode */,
-                new Intent("test action"),
-                0  /* flags */);
-        final SliceAction action
-                = SliceAction.createDeeplink(pendingIntent, icon, ListBuilder.SMALL_IMAGE, TITLE);
-        return new ListBuilder(mActivity, TEST_SLICE_URI, ListBuilder.INFINITY)
-                .addRow(new ListBuilder.RowBuilder()
-                        .addEndItem(icon, ListBuilder.ICON_IMAGE)
-                        .setTitle(TITLE)
-                        .setSubtitle(SUMMARY)
-                        .setPrimaryAction(action))
-                .build();
-    }
-}
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/SwipeDismissalDelegateTest.java b/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/SwipeDismissalDelegateTest.java
index 8338ae4..3e5934b 100644
--- a/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/SwipeDismissalDelegateTest.java
+++ b/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/SwipeDismissalDelegateTest.java
@@ -16,8 +16,6 @@
 
 package com.android.settings.homepage.contextualcards.slices;
 
-import static com.android.settings.homepage.contextualcards.slices.SliceContextualCardRenderer.VIEW_TYPE_DEFERRED_SETUP;
-
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.ArgumentMatchers.anyInt;
@@ -35,7 +33,6 @@
 import com.android.settings.R;
 import com.android.settings.homepage.contextualcards.conditional.ConditionContextualCardRenderer;
 import com.android.settings.homepage.contextualcards.conditional.ConditionContextualCardRenderer.ConditionalCardHolder;
-import com.android.settings.homepage.contextualcards.slices.SliceDeferredSetupCardRendererHelper.DeferredSetupCardViewHolder;
 import com.android.settings.homepage.contextualcards.slices.SliceFullCardRendererHelper.SliceViewHolder;
 
 import org.junit.Before;
@@ -77,12 +74,6 @@
     }
 
     @Test
-    public void getMovementFlags_deferredSetupViewHolder_shouldDisableSwipe() {
-        assertThat(mDismissalDelegate.getMovementFlags(mRecyclerView, getDeferredSetupViewHolder()))
-                .isEqualTo(0);
-    }
-
-    @Test
     public void getMovementFlags_dismissalView_shouldDisableSwipe() {
         final RecyclerView.ViewHolder holder = getSliceViewHolder();
         holder.itemView.findViewById(R.id.dismissal_view).setVisibility(View.VISIBLE);
@@ -126,13 +117,4 @@
 
         return viewHolder;
     }
-
-    private RecyclerView.ViewHolder getDeferredSetupViewHolder() {
-        final View view = LayoutInflater.from(mActivity)
-                .inflate(VIEW_TYPE_DEFERRED_SETUP, mRecyclerView, false);
-        final RecyclerView.ViewHolder viewHolder = spy(new DeferredSetupCardViewHolder(view));
-        doReturn(VIEW_TYPE_DEFERRED_SETUP).when(viewHolder).getItemViewType();
-
-        return viewHolder;
-    }
 }
diff --git a/tests/robotests/src/com/android/settings/inputmethod/InputMethodPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/inputmethod/InputMethodPreferenceControllerTest.java
new file mode 100644
index 0000000..c678f92
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/inputmethod/InputMethodPreferenceControllerTest.java
@@ -0,0 +1,87 @@
+/*
+ * 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.inputmethod;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.view.inputmethod.InputMethodInfo;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceManager;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.testutils.shadow.ShadowInputMethodManagerWithMethodList;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(shadows = ShadowInputMethodManagerWithMethodList.class)
+public class InputMethodPreferenceControllerTest {
+
+    private InputMethodPreferenceController mController;
+    private Context mContext;
+    private PreferenceScreen mScreen;
+    private Preference mPreference;
+
+    @Before
+    public void setUp() {
+        mContext = RuntimeEnvironment.application;
+        mScreen = spy(new PreferenceScreen(mContext, null));
+        mPreference = new Preference(mContext);
+        mController = new InputMethodPreferenceController(mContext, "key");
+
+        when(mScreen.getPreferenceManager()).thenReturn(mock(PreferenceManager.class));
+        when(mScreen.getContext()).thenReturn(mContext);
+        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
+
+        mController.displayPreference(mScreen);
+    }
+
+    @Test
+    public void onStart_NoInputMethod_shouldHaveOnePreference() {
+        mController.onStart();
+
+        assertThat(mScreen.getPreferenceCount()).isEqualTo(1);
+    }
+
+    @Test
+    public void onStart_hasInputMethod_shouldHaveCorrectPreferences() {
+        final List<InputMethodInfo> imis = new ArrayList<>();
+        imis.add(mock(InputMethodInfo.class));
+        imis.add(mock(InputMethodInfo.class));
+        when(imis.get(0).getPackageName()).thenReturn("name1");
+        when(imis.get(1).getPackageName()).thenReturn("name2");
+        ShadowInputMethodManagerWithMethodList.getShadow().setEnabledInputMethodList(imis);
+
+        mController.onStart();
+
+        assertThat(mScreen.getPreferenceCount()).isEqualTo(3);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/language/LanguageAndInputPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/language/LanguageAndInputPreferenceControllerTest.java
new file mode 100644
index 0000000..3f27fdd
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/language/LanguageAndInputPreferenceControllerTest.java
@@ -0,0 +1,71 @@
+/*
+ * 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.language;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
+import android.content.ComponentName;
+import android.content.ContentResolver;
+import android.content.Context;
+import android.provider.Settings;
+import android.view.inputmethod.InputMethodInfo;
+
+import com.android.settings.testutils.shadow.ShadowInputMethodManagerWithMethodList;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(shadows = ShadowInputMethodManagerWithMethodList.class)
+public class LanguageAndInputPreferenceControllerTest {
+    private Context mContext;
+
+    @Before
+    public void setUp() {
+        mContext = spy(RuntimeEnvironment.application);
+    }
+
+    @Test
+    public void getSummary_shouldSetToCurrentImeName() {
+        final ComponentName componentName = new ComponentName("name1", "cls");
+        final ContentResolver cr = mContext.getContentResolver();
+        Settings.Secure.putString(cr, Settings.Secure.DEFAULT_INPUT_METHOD,
+                componentName.flattenToString());
+        final List<InputMethodInfo> imis = new ArrayList<>();
+        imis.add(mock(InputMethodInfo.class));
+        when(imis.get(0).getPackageName()).thenReturn("name1");
+        when(imis.get(0).loadLabel(any())).thenReturn("label");
+        ShadowInputMethodManagerWithMethodList.getShadow().setInputMethodList(imis);
+
+        final LanguageAndInputPreferenceController controller =
+                new LanguageAndInputPreferenceController(mContext, "key");
+
+        assertThat(controller.getSummary().toString()).contains("label");
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/language/LanguageAndInputSettingsTest.java b/tests/robotests/src/com/android/settings/language/LanguageAndInputSettingsTest.java
index 19e62b1..a6a362e 100644
--- a/tests/robotests/src/com/android/settings/language/LanguageAndInputSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/language/LanguageAndInputSettingsTest.java
@@ -28,23 +28,17 @@
 
 import android.app.Activity;
 import android.app.admin.DevicePolicyManager;
-import android.content.ComponentName;
-import android.content.ContentResolver;
 import android.content.Context;
-import android.content.pm.PackageManager;
 import android.content.res.Resources;
 import android.hardware.input.InputManager;
 import android.os.UserManager;
-import android.provider.Settings;
 import android.view.autofill.AutofillManager;
-import android.view.inputmethod.InputMethodInfo;
 import android.view.inputmethod.InputMethodManager;
 import android.view.textservice.TextServicesManager;
 
 import androidx.lifecycle.LifecycleObserver;
 
 import com.android.settings.R;
-import com.android.settings.dashboard.SummaryLoader;
 import com.android.settings.testutils.XmlTestUtils;
 import com.android.settingslib.core.AbstractPreferenceController;
 import com.android.settingslib.core.lifecycle.Lifecycle;
@@ -67,16 +61,12 @@
     @Mock(answer = Answers.RETURNS_DEEP_STUBS)
     private Activity mActivity;
     @Mock
-    private PackageManager mPackageManager;
-    @Mock
     private InputManager mIm;
     @Mock
     private InputMethodManager mImm;
     @Mock
     private DevicePolicyManager mDpm;
     @Mock
-    private InputMethodManager mInputMethodManager;
-    @Mock
     private AutofillManager mAutofillManager;
     private TestFragment mFragment;
 
@@ -124,31 +114,6 @@
     }
 
     @Test
-    public void testSummary_shouldSetToCurrentImeName() {
-        final Activity activity = mock(Activity.class);
-        final SummaryLoader loader = mock(SummaryLoader.class);
-        final ComponentName componentName = new ComponentName("pkg", "cls");
-        final ContentResolver cr = activity.getContentResolver();
-        Settings.Secure.putString(cr, Settings.Secure.DEFAULT_INPUT_METHOD,
-                componentName.flattenToString());
-        when(activity.getSystemService(Context.INPUT_METHOD_SERVICE))
-                .thenReturn(mInputMethodManager);
-        when(activity.getPackageManager()).thenReturn(mPackageManager);
-        final List<InputMethodInfo> imis = new ArrayList<>();
-        imis.add(mock(InputMethodInfo.class));
-        when(imis.get(0).getPackageName()).thenReturn(componentName.getPackageName());
-        when(mInputMethodManager.getInputMethodList()).thenReturn(imis);
-
-        SummaryLoader.SummaryProvider provider = LanguageAndInputSettings.SUMMARY_PROVIDER_FACTORY
-                .createSummaryProvider(activity, loader);
-
-        provider.setListening(true);
-
-        verify(imis.get(0)).loadLabel(mPackageManager);
-        verify(loader).setSummary(provider, null);
-    }
-
-    @Test
     public void testNonIndexableKeys_existInXmlLayout() {
         final Context context = spy(RuntimeEnvironment.application);
         final Resources res = spy(RuntimeEnvironment.application.getResources());
diff --git a/tests/robotests/src/com/android/settings/localepicker/LocaleListEditorTest.java b/tests/robotests/src/com/android/settings/localepicker/LocaleListEditorTest.java
index d84d779..f9b1543 100644
--- a/tests/robotests/src/com/android/settings/localepicker/LocaleListEditorTest.java
+++ b/tests/robotests/src/com/android/settings/localepicker/LocaleListEditorTest.java
@@ -18,40 +18,68 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
 import android.content.Context;
 import android.view.View;
 import android.widget.TextView;
 
-import com.android.settings.testutils.FakeFeatureFactory;
+import androidx.appcompat.app.AlertDialog;
+import androidx.fragment.app.FragmentActivity;
 
+import com.android.settings.R;
+import com.android.settings.testutils.FakeFeatureFactory;
+import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
+
+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 org.robolectric.Robolectric;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
 import org.robolectric.util.ReflectionHelpers;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = ShadowAlertDialogCompat.class)
 public class LocaleListEditorTest {
 
     private LocaleListEditor mLocaleListEditor;
 
-    @Mock
     private Context mContext;
+    private FragmentActivity mActivity;
+
+    @Mock
+    private LocaleDragAndDropAdapter mAdapter;
 
     @Before
     public void setUp() {
-        mLocaleListEditor = new LocaleListEditor();
+        MockitoAnnotations.initMocks(this);
+        mContext = RuntimeEnvironment.application;
+        mLocaleListEditor = spy(new LocaleListEditor());
+        when(mLocaleListEditor.getContext()).thenReturn(mContext);
+        mActivity = Robolectric.buildActivity(FragmentActivity.class).get();
+        when(mLocaleListEditor.getActivity()).thenReturn(mActivity);
         ReflectionHelpers.setField(mLocaleListEditor, "mEmptyTextView",
                 new TextView(RuntimeEnvironment.application));
         ReflectionHelpers.setField(mLocaleListEditor, "mRestrictionsManager",
                 RuntimeEnvironment.application.getSystemService(Context.RESTRICTIONS_SERVICE));
         ReflectionHelpers.setField(mLocaleListEditor, "mUserManager",
                 RuntimeEnvironment.application.getSystemService(Context.USER_SERVICE));
+        ReflectionHelpers.setField(mLocaleListEditor, "mAdapter", mAdapter);
         FakeFeatureFactory.setupForTest();
     }
 
+    @After
+    public void tearDown() {
+        ReflectionHelpers.setField(mLocaleListEditor, "mRemoveMode", false);
+        ReflectionHelpers.setField(mLocaleListEditor, "mShowingRemoveDialog", false);
+    }
+
     @Test
     public void testDisallowConfigLocale_unrestrict() {
         ReflectionHelpers.setField(mLocaleListEditor, "mIsUiRestricted", true);
@@ -67,4 +95,69 @@
         mLocaleListEditor.onResume();
         assertThat(mLocaleListEditor.getEmptyTextView().getVisibility()).isEqualTo(View.VISIBLE);
     }
+
+    @Test
+    public void showRemoveLocaleWarningDialog_allLocaleSelected_shouldShowErrorDialog() {
+        //pre-condition
+        when(mAdapter.getCheckedCount()).thenReturn(1);
+        when(mAdapter.getItemCount()).thenReturn(1);
+        when(mAdapter.isFirstLocaleChecked()).thenReturn(true);
+        ReflectionHelpers.setField(mLocaleListEditor, "mRemoveMode", true);
+        ReflectionHelpers.setField(mLocaleListEditor, "mShowingRemoveDialog", true);
+
+        //launch dialog
+        mLocaleListEditor.showRemoveLocaleWarningDialog();
+
+        final AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+
+        assertThat(dialog).isNotNull();
+
+        final ShadowAlertDialogCompat shadowDialog = ShadowAlertDialogCompat.shadowOf(dialog);
+
+        assertThat(shadowDialog.getTitle()).isEqualTo(
+                mContext.getString(R.string.dlg_remove_locales_error_title));
+    }
+
+    @Test
+    public void showRemoveLocaleWarningDialog_mainLocaleSelected_shouldShowLocaleChangeDialog() {
+        //pre-condition
+        when(mAdapter.getCheckedCount()).thenReturn(1);
+        when(mAdapter.getItemCount()).thenReturn(2);
+        when(mAdapter.isFirstLocaleChecked()).thenReturn(true);
+        ReflectionHelpers.setField(mLocaleListEditor, "mRemoveMode", true);
+        ReflectionHelpers.setField(mLocaleListEditor, "mShowingRemoveDialog", true);
+
+        //launch dialog
+        mLocaleListEditor.showRemoveLocaleWarningDialog();
+
+        final AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+
+        assertThat(dialog).isNotNull();
+
+        final ShadowAlertDialogCompat shadowDialog = ShadowAlertDialogCompat.shadowOf(dialog);
+
+        assertThat(shadowDialog.getMessage()).isEqualTo(
+                mContext.getString(R.string.dlg_remove_locales_message));
+    }
+
+    @Test
+    public void showRemoveLocaleWarningDialog_mainLocaleNotSelected_shouldShowConfirmDialog() {
+        //pre-condition
+        when(mAdapter.getCheckedCount()).thenReturn(1);
+        when(mAdapter.getItemCount()).thenReturn(2);
+        when(mAdapter.isFirstLocaleChecked()).thenReturn(false);
+        ReflectionHelpers.setField(mLocaleListEditor, "mRemoveMode", true);
+        ReflectionHelpers.setField(mLocaleListEditor, "mShowingRemoveDialog", true);
+
+        //launch dialog
+        mLocaleListEditor.showRemoveLocaleWarningDialog();
+
+        final AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+
+        assertThat(dialog).isNotNull();
+
+        final ShadowAlertDialogCompat shadowDialog = ShadowAlertDialogCompat.shadowOf(dialog);
+
+        assertThat(shadowDialog.getMessage()).isNull();
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/location/AppLocationPermissionPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/location/AppLocationPermissionPreferenceControllerTest.java
index 7392ec7..4303489 100644
--- a/tests/robotests/src/com/android/settings/location/AppLocationPermissionPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/location/AppLocationPermissionPreferenceControllerTest.java
@@ -2,6 +2,9 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
 import android.content.Context;
 import android.location.LocationManager;
 import android.provider.Settings;
@@ -30,6 +33,7 @@
     private LifecycleOwner mLifecycleOwner;
     private Lifecycle mLifecycle;
     private LocationManager mLocationManager;
+    private LocationSettings mLocationSettings;
 
     @Before
     public void setUp() {
@@ -37,7 +41,10 @@
         mContext = RuntimeEnvironment.application;
         mLifecycleOwner = () -> mLifecycle;
         mLifecycle = new Lifecycle(mLifecycleOwner);
-        mController = new AppLocationPermissionPreferenceController(mContext, mLifecycle);
+        mLocationSettings = spy(new LocationSettings());
+        when(mLocationSettings.getSettingsLifecycle()).thenReturn(mLifecycle);
+        mController = new AppLocationPermissionPreferenceController(mContext, "key");
+        mController.init(mLocationSettings);
         mLocationManager = (LocationManager) mContext.getSystemService(Context.LOCATION_SERVICE);
     }
 
diff --git a/tests/robotests/src/com/android/settings/location/LocationEnablerTest.java b/tests/robotests/src/com/android/settings/location/LocationEnablerTest.java
index fbae2f4..4e1e600 100644
--- a/tests/robotests/src/com/android/settings/location/LocationEnablerTest.java
+++ b/tests/robotests/src/com/android/settings/location/LocationEnablerTest.java
@@ -158,10 +158,6 @@
             Settings.Secure.LOCATION_MODE, Settings.Secure.LOCATION_MODE_OFF);
         mEnabler.setLocationEnabled(true);
 
-        verify(mContext).sendBroadcastAsUser(
-            argThat(actionMatches(LocationManager.MODE_CHANGING_ACTION)),
-            eq(UserHandle.of(ActivityManager.getCurrentUser())),
-            eq(WRITE_SECURE_SETTINGS));
         assertThat(Settings.Secure.getInt(mContext.getContentResolver(),
                 Settings.Secure.LOCATION_CHANGER, Settings.Secure.LOCATION_CHANGER_UNKNOWN))
                 .isEqualTo(Settings.Secure.LOCATION_CHANGER_SYSTEM_SETTINGS);
diff --git a/tests/robotests/src/com/android/settings/location/LocationFooterPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/location/LocationFooterPreferenceControllerTest.java
index 2abef4e..180f3e2 100644
--- a/tests/robotests/src/com/android/settings/location/LocationFooterPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/location/LocationFooterPreferenceControllerTest.java
@@ -22,11 +22,9 @@
 import static org.mockito.Mockito.doNothing;
 import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.ActivityInfo;
@@ -38,12 +36,9 @@
 import android.location.LocationManager;
 import android.os.Bundle;
 
-import androidx.lifecycle.LifecycleOwner;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceCategory;
 
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -65,22 +60,17 @@
     private PackageManager mPackageManager;
     @Mock
     private Resources mResources;
-    private Context mContext;
     private LocationFooterPreferenceController mController;
-    private LifecycleOwner mLifecycleOwner;
-    private Lifecycle mLifecycle;
     private static final int TEST_RES_ID = 1234;
     private static final String TEST_TEXT = "text";
 
     @Before
     public void setUp() throws NameNotFoundException {
         MockitoAnnotations.initMocks(this);
-        mContext = spy(RuntimeEnvironment.application);
-        when(mContext.getPackageManager()).thenReturn(mPackageManager);
-        mLifecycleOwner = () -> mLifecycle;
-        mLifecycle = new Lifecycle(mLifecycleOwner);
-        when(mPreferenceCategory.getContext()).thenReturn(mContext);
-        mController = spy(new LocationFooterPreferenceController(mContext, mLifecycle));
+        Context context = spy(RuntimeEnvironment.application);
+        when(context.getPackageManager()).thenReturn(mPackageManager);
+        when(mPreferenceCategory.getContext()).thenReturn(context);
+        mController = spy(new LocationFooterPreferenceController(context, "key"));
         when(mPackageManager.getResourcesForApplication(any(ApplicationInfo.class)))
                 .thenReturn(mResources);
         when(mResources.getString(TEST_RES_ID)).thenReturn(TEST_TEXT);
@@ -119,32 +109,6 @@
     }
 
     @Test
-    public void sendBroadcastFooterInject() {
-        ArgumentCaptor<Intent> intent = ArgumentCaptor.forClass(Intent.class);
-        final ActivityInfo activityInfo =
-                getTestResolveInfo(/*isSystemApp*/ true, /*hasRequiredMetadata*/ true).activityInfo;
-        mController.sendBroadcastFooterDisplayed(
-                new ComponentName(activityInfo.packageName, activityInfo.name));
-        verify(mContext).sendBroadcast(intent.capture());
-        assertThat(intent.getValue().getAction())
-                .isEqualTo(LocationManager.SETTINGS_FOOTER_DISPLAYED_ACTION);
-    }
-
-    @Test
-    public void updateState_sendBroadcast() {
-        final List<ResolveInfo> testResolveInfos = new ArrayList<>();
-        testResolveInfos.add(
-                getTestResolveInfo(/*isSystemApp*/ true, /*hasRequiredMetadata*/ true));
-        when(mPackageManager.queryBroadcastReceivers(any(), anyInt()))
-                .thenReturn(testResolveInfos);
-        mController.updateState(mPreferenceCategory);
-        ArgumentCaptor<Intent> intent = ArgumentCaptor.forClass(Intent.class);
-        verify(mContext).sendBroadcast(intent.capture());
-        assertThat(intent.getValue().getAction())
-                .isEqualTo(LocationManager.SETTINGS_FOOTER_DISPLAYED_ACTION);
-    }
-
-    @Test
     public void updateState_addPreferences() {
         final List<ResolveInfo> testResolveInfos = new ArrayList<>();
         testResolveInfos.add(
@@ -166,32 +130,6 @@
                 .thenReturn(testResolveInfos);
         mController.updateState(mPreferenceCategory);
         verify(mPreferenceCategory, never()).addPreference(any(Preference.class));
-        verify(mContext, never()).sendBroadcast(any(Intent.class));
-    }
-
-    @Test
-    public void updateState_thenOnPause_sendBroadcasts() {
-        final List<ResolveInfo> testResolveInfos = new ArrayList<>();
-        testResolveInfos.add(
-                getTestResolveInfo(/*isSystemApp*/ true, /*hasRequiredMetadata*/ true));
-        when(mPackageManager.queryBroadcastReceivers(any(Intent.class), anyInt()))
-                .thenReturn(testResolveInfos);
-        mController.updateState(mPreferenceCategory);
-        ArgumentCaptor<Intent> intent = ArgumentCaptor.forClass(Intent.class);
-        verify(mContext).sendBroadcast(intent.capture());
-        assertThat(intent.getValue().getAction())
-                .isEqualTo(LocationManager.SETTINGS_FOOTER_DISPLAYED_ACTION);
-
-        mController.onPause();
-        verify(mContext, times(2)).sendBroadcast(intent.capture());
-        assertThat(intent.getValue().getAction())
-                .isEqualTo(LocationManager.SETTINGS_FOOTER_REMOVED_ACTION);
-    }
-
-    @Test
-    public void onPause_doNotSendBroadcast() {
-        mController.onPause();
-        verify(mContext, never()).sendBroadcast(any(Intent.class));
     }
 
     /**
diff --git a/tests/robotests/src/com/android/settings/location/LocationForWorkPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/location/LocationForWorkPreferenceControllerTest.java
index 9034688..b4bda14 100644
--- a/tests/robotests/src/com/android/settings/location/LocationForWorkPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/location/LocationForWorkPreferenceControllerTest.java
@@ -15,8 +15,6 @@
  */
 package com.android.settings.location;
 
-import static com.google.common.truth.Truth.assertThat;
-
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.Mockito.doReturn;
@@ -69,6 +67,7 @@
     private LocationForWorkPreferenceController mController;
     private LifecycleOwner mLifecycleOwner;
     private Lifecycle mLifecycle;
+    private LocationSettings mLocationSettings;
 
     @Before
     public void setUp() {
@@ -77,10 +76,13 @@
         when(mContext.getSystemService(Context.USER_SERVICE)).thenReturn(mUserManager);
         mLifecycleOwner = () -> mLifecycle;
         mLifecycle = new Lifecycle(mLifecycleOwner);
-        mController = spy(new LocationForWorkPreferenceController(mContext, mLifecycle));
+        mLocationSettings = spy(new LocationSettings());
+        when(mLocationSettings.getSettingsLifecycle()).thenReturn(mLifecycle);
+        mController = spy(new LocationForWorkPreferenceController(mContext, "key"));
+        mController.init(mLocationSettings);
         mockManagedProfile();
         ReflectionHelpers.setField(mController, "mLocationEnabler", mEnabler);
-        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
+        when(mScreen.findPreference(any())).thenReturn(mPreference);
         final String key = mController.getPreferenceKey();
         when(mPreference.getKey()).thenReturn(key);
         when(mPreference.isVisible()).thenReturn(true);
@@ -111,17 +113,6 @@
     }
 
     @Test
-    public void isAvailable_noManagedProfile_shouldReturnFalse() {
-        when(mUserManager.getUserProfiles()).thenReturn(new ArrayList<>());
-        assertThat(mController.isAvailable()).isFalse();
-    }
-
-    @Test
-    public void isAvailable_hasManagedProfile_shouldReturnTrue() {
-        assertThat(mController.isAvailable()).isTrue();
-    }
-
-    @Test
     public void onLocationModeChanged_disabledByAdmin_shouldDisablePreference() {
         mController.displayPreference(mScreen);
         final EnforcedAdmin admin = mock(EnforcedAdmin.class);
@@ -131,7 +122,6 @@
         mController.onLocationModeChanged(Settings.Secure.LOCATION_MODE_BATTERY_SAVING, false);
 
         verify(mPreference).setDisabledByAdmin(any());
-        verify(mPreference).setChecked(false);
     }
 
     @Test
@@ -144,7 +134,7 @@
 
         verify(mPreference).setEnabled(false);
         verify(mPreference).setChecked(false);
-        verify(mPreference).setSummary(R.string.switch_off_text);
+        verify(mPreference).setSummary(R.string.location_app_permission_summary_location_off);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/location/LocationScanningPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/location/LocationScanningPreferenceControllerTest.java
index b85377c..1492766 100644
--- a/tests/robotests/src/com/android/settings/location/LocationScanningPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/location/LocationScanningPreferenceControllerTest.java
@@ -18,7 +18,11 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
 import android.content.Context;
+import android.net.wifi.WifiManager;
 import android.provider.Settings;
 
 import com.android.settings.R;
@@ -26,19 +30,25 @@
 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 org.robolectric.annotation.Config;
 
 @RunWith(RobolectricTestRunner.class)
 public class LocationScanningPreferenceControllerTest {
+    @Mock
+    private WifiManager mWifiManager;
     private Context mContext;
     private LocationScanningPreferenceController mController;
 
     @Before
     public void setUp() {
-        mContext = RuntimeEnvironment.application;
-        mController = new LocationScanningPreferenceController(mContext);
+        MockitoAnnotations.initMocks(this);
+        mContext = spy(RuntimeEnvironment.application);
+        when(mContext.getSystemService(WifiManager.class)).thenReturn(mWifiManager);
+        mController = new LocationScanningPreferenceController(mContext, "key");
     }
 
     @Test
@@ -48,8 +58,7 @@
 
     @Test
     public void testLocationScanning_WifiOnBleOn() {
-        Settings.Global.putInt(mContext.getContentResolver(),
-                Settings.Global.WIFI_SCAN_ALWAYS_AVAILABLE, 1);
+        when(mWifiManager.isScanAlwaysAvailable()).thenReturn(true);
         Settings.Global.putInt(mContext.getContentResolver(),
                 Settings.Global.BLE_SCAN_ALWAYS_AVAILABLE, 1);
         assertThat(mController.getSummary()).isEqualTo(
@@ -58,8 +67,7 @@
 
     @Test
     public void testLocationScanning_WifiOnBleOff() {
-        Settings.Global.putInt(mContext.getContentResolver(),
-                Settings.Global.WIFI_SCAN_ALWAYS_AVAILABLE, 1);
+        when(mWifiManager.isScanAlwaysAvailable()).thenReturn(true);
         Settings.Global.putInt(mContext.getContentResolver(),
                 Settings.Global.BLE_SCAN_ALWAYS_AVAILABLE, 0);
         assertThat(mController.getSummary()).isEqualTo(
@@ -68,8 +76,7 @@
 
     @Test
     public void testLocationScanning_WifiOffBleOn() {
-        Settings.Global.putInt(mContext.getContentResolver(),
-                Settings.Global.WIFI_SCAN_ALWAYS_AVAILABLE, 0);
+        when(mWifiManager.isScanAlwaysAvailable()).thenReturn(false);
         Settings.Global.putInt(mContext.getContentResolver(),
                 Settings.Global.BLE_SCAN_ALWAYS_AVAILABLE, 1);
         assertThat(mController.getSummary()).isEqualTo(
@@ -78,8 +85,7 @@
 
     @Test
     public void testLocationScanning_WifiOffBleOff() {
-        Settings.Global.putInt(mContext.getContentResolver(),
-                Settings.Global.WIFI_SCAN_ALWAYS_AVAILABLE, 0);
+        when(mWifiManager.isScanAlwaysAvailable()).thenReturn(false);
         Settings.Global.putInt(mContext.getContentResolver(),
                 Settings.Global.BLE_SCAN_ALWAYS_AVAILABLE, 0);
         assertThat(mController.getSummary()).isEqualTo(
diff --git a/tests/robotests/src/com/android/settings/location/LocationServicePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/location/LocationServicePreferenceControllerTest.java
index c6709ed..62c13af 100644
--- a/tests/robotests/src/com/android/settings/location/LocationServicePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/location/LocationServicePreferenceControllerTest.java
@@ -59,8 +59,8 @@
 @RunWith(RobolectricTestRunner.class)
 @Config(shadows = ShadowUserManager.class)
 public class LocationServicePreferenceControllerTest {
-    private static final String LOCATION_SERVICES_MANAGED_PROFILE_KEY =
-            "location_services_managed_profile";
+
+    private static final String KEY_LOCATION_SERVICES = "location_service";
 
     @Mock(answer = Answers.RETURNS_DEEP_STUBS)
     private LocationSettings mFragment;
@@ -86,14 +86,13 @@
         mContext = spy(RuntimeEnvironment.application);
         mLifecycleOwner = () -> mLifecycle;
         mLifecycle = new Lifecycle(mLifecycleOwner);
-        mController = spy(new LocationServicePreferenceController(
-                mContext, mFragment, mLifecycle, mSettingsInjector));
+        mController = spy(new LocationServicePreferenceController(mContext, KEY_LOCATION_SERVICES));
+        when(mFragment.getSettingsLifecycle()).thenReturn(mLifecycle);
+        mController.init(mFragment);
+        mController.mInjector = mSettingsInjector;
         final String key = mController.getPreferenceKey();
         when(mScreen.findPreference(key)).thenReturn(mCategoryPrimary);
-        when(mScreen.findPreference(LOCATION_SERVICES_MANAGED_PROFILE_KEY)).thenReturn(
-                mCategoryManaged);
         when(mCategoryPrimary.getKey()).thenReturn(key);
-        when(mCategoryManaged.getKey()).thenReturn(LOCATION_SERVICES_MANAGED_PROFILE_KEY);
         when(mContext.getSystemService(Context.DEVICE_POLICY_SERVICE))
                 .thenReturn(mDevicePolicyManager);
     }
diff --git a/tests/robotests/src/com/android/settings/location/RecentLocationAccessPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/location/RecentLocationAccessPreferenceControllerTest.java
index aeda699..71a80de 100644
--- a/tests/robotests/src/com/android/settings/location/RecentLocationAccessPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/location/RecentLocationAccessPreferenceControllerTest.java
@@ -92,4 +92,75 @@
         // We have not yet set the property to show the Permissions Hub.
         assertThat(mController.isAvailable()).isEqualTo(false);
     }
+
+    @Test
+    public void isAvailable_permissionHubEnabled_shouldReturnTrue() {
+        DeviceConfig.setProperty(DeviceConfig.NAMESPACE_PRIVACY,
+                Utils.PROPERTY_PERMISSIONS_HUB_ENABLED, "true", true);
+
+        assertThat(mController.isAvailable()).isEqualTo(true);
+    }
+
+    /** Verifies the title text, details text are correct, and the click listener is set. */
+    @Test
+    @Ignore
+    public void updateState_whenAppListIsEmpty_shouldDisplayTitleTextAndDetailsText() {
+        doReturn(new ArrayList<>()).when(mRecentLocationApps).getAppListSorted();
+        mController.displayPreference(mScreen);
+        mController.updateState(mLayoutPreference);
+
+        final TextView title = mAppEntitiesHeaderView.findViewById(R.id.header_title);
+        assertThat(title.getText()).isEqualTo(
+                mContext.getText(R.string.location_category_recent_location_access));
+        final TextView details = mAppEntitiesHeaderView.findViewById(R.id.header_details);
+        assertThat(details.getText()).isEqualTo(
+                mContext.getText(R.string.location_recent_location_access_view_details));
+        assertThat(details.hasOnClickListeners()).isTrue();
+    }
+
+    @Test
+    public void updateState_whenAppListMoreThanThree_shouldDisplayTopThreeApps() {
+        final List<RecentLocationAccesses.Access> accesses = createMockAccesses(6);
+        doReturn(accesses).when(mRecentLocationApps).getAppListSorted();
+        mController.displayPreference(mScreen);
+        mController.updateState(mLayoutPreference);
+
+        // The widget can display the top 3 apps from the list when there're more than 3.
+        final View app1View = mAppEntitiesHeaderView.findViewById(R.id.app1_view);
+        final ImageView appIconView1 = app1View.findViewById(R.id.app_icon);
+        final TextView appTitle1 = app1View.findViewById(R.id.app_title);
+
+        assertThat(app1View.getVisibility()).isEqualTo(View.VISIBLE);
+        assertThat(appIconView1.getDrawable()).isNotNull();
+        assertThat(appTitle1.getText()).isEqualTo("appTitle0");
+
+        final View app2View = mAppEntitiesHeaderView.findViewById(R.id.app2_view);
+        final ImageView appIconView2 = app2View.findViewById(R.id.app_icon);
+        final TextView appTitle2 = app2View.findViewById(R.id.app_title);
+
+        assertThat(app2View.getVisibility()).isEqualTo(View.VISIBLE);
+        assertThat(appIconView2.getDrawable()).isNotNull();
+        assertThat(appTitle2.getText()).isEqualTo("appTitle1");
+
+        final View app3View = mAppEntitiesHeaderView.findViewById(R.id.app3_view);
+        final ImageView appIconView3 = app3View.findViewById(R.id.app_icon);
+        final TextView appTitle3 = app3View.findViewById(R.id.app_title);
+
+        assertThat(app3View.getVisibility()).isEqualTo(View.VISIBLE);
+        assertThat(appIconView3.getDrawable()).isNotNull();
+        assertThat(appTitle3.getText()).isEqualTo("appTitle2");
+    }
+
+    private List<RecentLocationAccesses.Access> createMockAccesses(int count) {
+        final List<RecentLocationAccesses.Access> accesses = new ArrayList<>();
+        for (int i = 0; i < count; i++) {
+            final Drawable icon = mock(Drawable.class);
+            // Add mock accesses
+            final RecentLocationAccesses.Access access = new RecentLocationAccesses.Access(
+                    "packageName", android.os.Process.myUserHandle(), icon,
+                    "appTitle" + i, "appSummary" + i, 1000 - i);
+            accesses.add(access);
+        }
+        return accesses;
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/location/RecentLocationRequestPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/location/RecentLocationRequestPreferenceControllerTest.java
new file mode 100644
index 0000000..545a358
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/location/RecentLocationRequestPreferenceControllerTest.java
@@ -0,0 +1,129 @@
+/*
+ * 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.location;
+
+import static org.mockito.ArgumentMatchers.any;
+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.content.Context;
+import android.graphics.drawable.Drawable;
+import android.os.UserHandle;
+
+import androidx.preference.PreferenceCategory;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.dashboard.profileselector.ProfileSelectFragment;
+import com.android.settings.testutils.shadow.ShadowUserManager;
+import com.android.settingslib.location.RecentLocationApps;
+
+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 org.robolectric.annotation.Config;
+
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(shadows = {ShadowUserManager.class})
+public class RecentLocationRequestPreferenceControllerTest {
+    @Mock
+    private PreferenceScreen mScreen;
+    @Mock
+    private PreferenceCategory mCategory;
+    private Context mContext;
+    private RecentLocationRequestPreferenceController mController;
+    private ShadowUserManager mUserManager;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mContext = RuntimeEnvironment.application;
+        mController = spy(
+                new RecentLocationRequestPreferenceController(mContext, "key"));
+        when(mCategory.getContext()).thenReturn(mContext);
+        when(mScreen.findPreference("key")).thenReturn(mCategory);
+        mUserManager = ShadowUserManager.getShadow();
+        mController.mRecentLocationApps = spy(new RecentLocationApps(mContext));
+    }
+
+    @Test
+    public void updateState_whenAppListMoreThanThree_shouldDisplayTopThreeApps() {
+        final List<RecentLocationApps.Request> requests = createMockRequest(6);
+        when(mController.mRecentLocationApps.getAppListSorted(false)).thenReturn(requests);
+
+        mController.displayPreference(mScreen);
+
+        verify(mCategory, times(3)).addPreference(any());
+    }
+
+    @Test
+    public void updateState_workProfile_shouldShowOnlyWorkProfileApps() {
+        final List<RecentLocationApps.Request> requests = createMockRequest(6);
+        when(mController.mRecentLocationApps.getAppListSorted(false)).thenReturn(requests);
+        mController.setProfileType(ProfileSelectFragment.ProfileType.WORK);
+        final Set<Integer> profileIds = new HashSet<>();
+        profileIds.add(4);
+        profileIds.add(5);
+        mUserManager.setManagedProfiles(profileIds);
+
+        mController.displayPreference(mScreen);
+
+        // contains userId 4 and userId 5
+        verify(mCategory, times(2)).addPreference(any());
+    }
+
+    @Test
+    public void updateState_Personal_shouldShowOnlyPersonalApps() {
+        final List<RecentLocationApps.Request> requests = createMockRequest(6);
+        when(mController.mRecentLocationApps.getAppListSorted(false)).thenReturn(requests);
+        mController.setProfileType(ProfileSelectFragment.ProfileType.PERSONAL);
+        final Set<Integer> profileIds = new HashSet<>();
+        for (int i = 0; i < 4; i++) {
+            profileIds.add(i);
+        }
+        mUserManager.setManagedProfiles(profileIds);
+
+        mController.displayPreference(mScreen);
+
+        // contains userId 4 and userId 5
+        verify(mCategory, times(2)).addPreference(any());
+    }
+
+    private List<RecentLocationApps.Request> createMockRequest(int count) {
+        final List<RecentLocationApps.Request> requests = new ArrayList<>();
+        for (int i = 0; i < count; i++) {
+            final Drawable icon = mock(Drawable.class);
+            // Add mock accesses
+            final RecentLocationApps.Request request = new RecentLocationApps.Request(
+                    "packageName", UserHandle.of(i), icon,
+                    "appTitle" + i, false, "appSummary" + i, 1000 - i);
+            requests.add(request);
+        }
+        return requests;
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/location/WifiScanningPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/location/WifiScanningPreferenceControllerTest.java
index 53acda3..1cfb70c 100644
--- a/tests/robotests/src/com/android/settings/location/WifiScanningPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/location/WifiScanningPreferenceControllerTest.java
@@ -15,14 +15,13 @@
  */
 package com.android.settings.location;
 
-import static com.google.common.truth.Truth.assertThat;
-
+import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
 import android.content.ContentResolver;
-import android.provider.Settings;
-import android.provider.Settings.Global;
+import android.content.Context;
+import android.net.wifi.WifiManager;
 
 import androidx.preference.SwitchPreference;
 
@@ -39,7 +38,10 @@
 
     @Mock
     private SwitchPreference mPreference;
+    @Mock
+    private WifiManager mWifiManager;
 
+    private Context mContext;
     private ContentResolver mContentResolver;
     private WifiScanningPreferenceController mController;
 
@@ -47,13 +49,16 @@
     public void setUp() {
         MockitoAnnotations.initMocks(this);
         mContentResolver = RuntimeEnvironment.application.getContentResolver();
-        mController = new WifiScanningPreferenceController(RuntimeEnvironment.application);
+        mContext = spy(RuntimeEnvironment.application);
+        when(mContext.getSystemService(WifiManager.class)).thenReturn(mWifiManager);
+
+        mController = new WifiScanningPreferenceController(mContext);
         when(mPreference.getKey()).thenReturn(mController.getPreferenceKey());
     }
 
     @Test
     public void updateState_wifiScanningEnabled_shouldCheckedPreference() {
-        Settings.Global.putInt(mContentResolver, Settings.Global.WIFI_SCAN_ALWAYS_AVAILABLE, 1);
+        when(mWifiManager.isScanAlwaysAvailable()).thenReturn(true);
 
         mController.updateState(mPreference);
 
@@ -62,7 +67,7 @@
 
     @Test
     public void updateState_wifiScanningDisabled_shouldUncheckedPreference() {
-        Settings.Global.putInt(mContentResolver, Settings.Global.WIFI_SCAN_ALWAYS_AVAILABLE, 0);
+        when(mWifiManager.isScanAlwaysAvailable()).thenReturn(false);
 
         mController.updateState(mPreference);
 
@@ -75,9 +80,7 @@
 
         mController.handlePreferenceTreeClick(mPreference);
 
-        final int scanAlways =
-            Settings.Global.getInt(mContentResolver, Global.WIFI_SCAN_ALWAYS_AVAILABLE, 0);
-        assertThat(scanAlways).isEqualTo(1);
+        verify(mWifiManager).setScanAlwaysAvailable(true);
     }
 
     @Test
@@ -86,8 +89,6 @@
 
         mController.handlePreferenceTreeClick(mPreference);
 
-        final int scanAlways =
-            Settings.Global.getInt(mContentResolver, Global.WIFI_SCAN_ALWAYS_AVAILABLE, 1);
-        assertThat(scanAlways).isEqualTo(0);
+        verify(mWifiManager).setScanAlwaysAvailable(false);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/media/MediaDeviceUpdateWorkerTest.java b/tests/robotests/src/com/android/settings/media/MediaDeviceUpdateWorkerTest.java
index 28bf4e9..8014e56 100644
--- a/tests/robotests/src/com/android/settings/media/MediaDeviceUpdateWorkerTest.java
+++ b/tests/robotests/src/com/android/settings/media/MediaDeviceUpdateWorkerTest.java
@@ -20,26 +20,37 @@
 
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
+import android.content.BroadcastReceiver;
 import android.content.ContentResolver;
 import android.content.Context;
+import android.content.Intent;
+import android.media.AudioManager;
+import android.media.MediaRoute2ProviderService;
 import android.net.Uri;
 
+import com.android.settings.testutils.shadow.ShadowAudioManager;
+import com.android.settingslib.media.LocalMediaManager;
 import com.android.settingslib.media.MediaDevice;
 
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
+import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
+import org.robolectric.shadows.ShadowApplication;
 
 import java.util.ArrayList;
 import java.util.List;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = ShadowAudioManager.class)
 public class MediaDeviceUpdateWorkerTest {
 
     private static final Uri URI = Uri.parse("content://com.android.settings.slices/test");
@@ -54,12 +65,17 @@
     private Context mContext;
     private MediaDevice mMediaDevice1;
     private MediaDevice mMediaDevice2;
+    private ShadowApplication mShadowApplication;
+    private AudioManager mAudioManager;
 
     @Before
     public void setUp() {
+        MockitoAnnotations.initMocks(this);
         mContext = spy(RuntimeEnvironment.application);
         mMediaDeviceUpdateWorker = new MediaDeviceUpdateWorker(mContext, URI);
         mResolver = mock(ContentResolver.class);
+        mShadowApplication = ShadowApplication.getInstance();
+        mAudioManager = mContext.getSystemService(AudioManager.class);
 
         mMediaDevice1 = mock(MediaDevice.class);
         when(mMediaDevice1.getId()).thenReturn(TEST_DEVICE_1_ID);
@@ -80,7 +96,15 @@
 
     @Test
     public void onSelectedDeviceStateChanged_shouldNotifyChange() {
-        mMediaDeviceUpdateWorker.onSelectedDeviceStateChanged(null, 0);
+        mMediaDeviceUpdateWorker.onSelectedDeviceStateChanged(mMediaDevice1,
+                LocalMediaManager.MediaDeviceState.STATE_CONNECTED);
+
+        verify(mResolver).notifyChange(URI, null);
+    }
+
+    @Test
+    public void onDeviceAttributesChanged_shouldNotifyChange() {
+        mMediaDeviceUpdateWorker.onDeviceAttributesChanged();
 
         verify(mResolver).notifyChange(URI, null);
     }
@@ -94,7 +118,8 @@
         newDevices.add(mMediaDevice2);
 
         mMediaDeviceUpdateWorker.onDeviceListUpdate(newDevices);
-        final List<MediaDevice> devices = mMediaDeviceUpdateWorker.getMediaDevices();
+        final List<MediaDevice> devices =
+                new ArrayList<>(mMediaDeviceUpdateWorker.getMediaDevices());
 
         assertThat(devices.get(0).getId()).isEqualTo(newDevices.get(0).getId());
         assertThat(devices.get(1).getId()).isEqualTo(newDevices.get(1).getId());
@@ -112,7 +137,8 @@
         newDevices.add(device3);
 
         mMediaDeviceUpdateWorker.onDeviceListUpdate(newDevices);
-        final List<MediaDevice> devices = mMediaDeviceUpdateWorker.getMediaDevices();
+        final List<MediaDevice> devices =
+                new ArrayList<>(mMediaDeviceUpdateWorker.getMediaDevices());
 
         assertThat(devices.size()).isEqualTo(newDevices.size());
     }
@@ -125,8 +151,44 @@
         newDevices.add(mMediaDevice1);
 
         mMediaDeviceUpdateWorker.onDeviceListUpdate(newDevices);
-        final List<MediaDevice> devices = mMediaDeviceUpdateWorker.getMediaDevices();
+        final List<MediaDevice> devices =
+                new ArrayList<>(mMediaDeviceUpdateWorker.getMediaDevices());
 
         assertThat(devices.size()).isEqualTo(newDevices.size());
     }
+
+    @Test
+    public void onRequestFailed_shouldNotifyChange() {
+        mMediaDeviceUpdateWorker.onRequestFailed(MediaRoute2ProviderService.REASON_UNKNOWN_ERROR);
+
+        verify(mResolver).notifyChange(URI, null /* observer */);
+    }
+
+    @Test
+    public void onReceive_inCallState_shouldNotifyChange() {
+        mMediaDeviceUpdateWorker.mLocalMediaManager = mock(LocalMediaManager.class);
+        mAudioManager.setMode(AudioManager.MODE_IN_CALL);
+
+        mMediaDeviceUpdateWorker.onSlicePinned();
+        final Intent intent = new Intent(AudioManager.STREAM_DEVICES_CHANGED_ACTION);
+        for (BroadcastReceiver receiver : mShadowApplication.getReceiversForIntent(intent)) {
+            receiver.onReceive(mContext, intent);
+        }
+
+        verify(mResolver).notifyChange(URI, null);
+    }
+
+    @Test
+    public void onReceive_notInCallState_doNothing() {
+        mMediaDeviceUpdateWorker.mLocalMediaManager = mock(LocalMediaManager.class);
+        mAudioManager.setMode(AudioManager.MODE_NORMAL);
+
+        mMediaDeviceUpdateWorker.onSlicePinned();
+        final Intent intent = new Intent(AudioManager.STREAM_DEVICES_CHANGED_ACTION);
+        for (BroadcastReceiver receiver : mShadowApplication.getReceiversForIntent(intent)) {
+            receiver.onReceive(mContext, intent);
+        }
+
+        verify(mResolver, never()).notifyChange(URI, null);
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/media/MediaOutputGroupSliceTest.java b/tests/robotests/src/com/android/settings/media/MediaOutputGroupSliceTest.java
new file mode 100644
index 0000000..b4ad480
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/media/MediaOutputGroupSliceTest.java
@@ -0,0 +1,270 @@
+/*
+ * 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 android.app.slice.Slice.EXTRA_RANGE_VALUE;
+import static android.app.slice.Slice.HINT_LIST_ITEM;
+import static android.app.slice.SliceItem.FORMAT_SLICE;
+
+import static com.android.settings.media.MediaOutputGroupSlice.ACTION_MEDIA_SESSION_OPERATION;
+import static com.android.settings.media.MediaOutputGroupSlice.ACTION_VOLUME_ADJUSTMENT;
+import static com.android.settings.media.MediaOutputGroupSlice.CUSTOMIZED_ACTION;
+import static com.android.settings.media.MediaOutputGroupSlice.GROUP_DEVICES;
+import static com.android.settings.media.MediaOutputGroupSlice.MEDIA_DEVICE_ID;
+import static com.android.settings.slices.CustomSliceRegistry.MEDIA_OUTPUT_GROUP_SLICE_URI;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.anyInt;
+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.Intent;
+import android.graphics.drawable.Drawable;
+import android.net.Uri;
+
+import androidx.slice.Slice;
+import androidx.slice.SliceMetadata;
+import androidx.slice.SliceProvider;
+import androidx.slice.core.SliceAction;
+import androidx.slice.core.SliceQuery;
+import androidx.slice.widget.SliceLiveData;
+
+import com.android.settings.R;
+import com.android.settings.slices.SliceBackgroundWorker;
+import com.android.settingslib.media.LocalMediaManager;
+import com.android.settingslib.media.MediaDevice;
+
+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 org.robolectric.annotation.Config;
+import org.robolectric.annotation.Implementation;
+import org.robolectric.annotation.Implements;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(shadows = MediaOutputGroupSliceTest.ShadowSliceBackgroundWorker.class)
+public class MediaOutputGroupSliceTest {
+
+    private static final String TEST_PACKAGE_NAME = "com.test.music";
+    private static final String TEST_PACKAGE_NAME2 = "com.test.music2";
+    private static final String TEST_DEVICE_1_ID = "test_device_1_id";
+    private static final String TEST_DEVICE_1_NAME = "test_device_1_name";
+    private static final String TEST_DEVICE_2_ID = "test_device_2_id";
+    private static final String TEST_DEVICE_2_NAME = "test_device_2_name";
+    private static final int TEST_VOLUME = 3;
+
+    private static MediaDeviceUpdateWorker sMediaDeviceUpdateWorker;
+
+    @Mock
+    private LocalMediaManager mLocalMediaManager;
+    @Mock
+    private MediaDevice mDevice1;
+    @Mock
+    private MediaDevice mDevice2;
+
+    private final List<MediaDevice> mSelectableDevices = new ArrayList<>();
+    private final List<MediaDevice> mSelectedDevices = new ArrayList<>();
+
+    private Context mContext;
+    private MediaOutputGroupSlice mMediaOutputGroupSlice;
+    private Drawable mDrawable;
+
+    @Before
+    public void setUp() throws Exception {
+        MockitoAnnotations.initMocks(this);
+        mContext = spy(RuntimeEnvironment.application);
+
+        // Set-up specs for SliceMetadata.
+        SliceProvider.setSpecs(SliceLiveData.SUPPORTED_SPECS);
+
+        mMediaOutputGroupSlice = new MediaOutputGroupSlice(mContext);
+        sMediaDeviceUpdateWorker = spy(new MediaDeviceUpdateWorker(mContext,
+                MEDIA_OUTPUT_GROUP_SLICE_URI));
+        sMediaDeviceUpdateWorker.mLocalMediaManager = mLocalMediaManager;
+        when(sMediaDeviceUpdateWorker.getPackageName()).thenReturn(TEST_PACKAGE_NAME);
+        mDrawable = mContext.getDrawable(R.drawable.ic_check_box_blue_24dp);
+        when(sMediaDeviceUpdateWorker.getSelectableMediaDevice()).thenReturn(mSelectableDevices);
+        when(mDevice1.getId()).thenReturn(TEST_DEVICE_1_ID);
+        when(mDevice1.getIcon()).thenReturn(mDrawable);
+        when(mDevice1.getName()).thenReturn(TEST_DEVICE_1_NAME);
+        when(mDevice1.getMaxVolume()).thenReturn(100);
+        when(mDevice1.getCurrentVolume()).thenReturn(10);
+        when(mDevice1.getClientPackageName()).thenReturn(TEST_PACKAGE_NAME);
+        when(mDevice2.getId()).thenReturn(TEST_DEVICE_2_ID);
+        when(mDevice2.getIcon()).thenReturn(mDrawable);
+        when(mDevice2.getName()).thenReturn(TEST_DEVICE_2_NAME);
+        when(mDevice2.getMaxVolume()).thenReturn(100);
+        when(mDevice2.getCurrentVolume()).thenReturn(20);
+    }
+
+    @Test
+    public void getSlice_noMatchedDevice_doNothing() {
+        mSelectableDevices.add(mDevice1);
+        mSelectedDevices.add(mDevice1);
+        when(mLocalMediaManager.getMediaDeviceById(mSelectableDevices, TEST_DEVICE_1_ID))
+                .thenReturn(mDevice1);
+        sMediaDeviceUpdateWorker.onDeviceListUpdate(mSelectableDevices);
+        when(sMediaDeviceUpdateWorker.getSelectedMediaDevice()).thenReturn(mSelectedDevices);
+        final Intent intent = new Intent();
+        intent.putExtra(EXTRA_RANGE_VALUE, TEST_VOLUME);
+        intent.putExtra(MEDIA_DEVICE_ID, TEST_DEVICE_2_ID);
+        intent.putExtra(CUSTOMIZED_ACTION, ACTION_VOLUME_ADJUSTMENT);
+
+        mMediaOutputGroupSlice.onNotifyChange(intent);
+
+        verify(sMediaDeviceUpdateWorker, never()).adjustSessionVolume(anyInt());
+        verify(mDevice1, never()).requestSetVolume(TEST_VOLUME);
+    }
+
+    @Test
+    public void getSlice_withOneSelectableDevice_checkRowNumber() {
+        mSelectableDevices.add(mDevice1);
+        mSelectedDevices.add(mDevice2);
+        when(sMediaDeviceUpdateWorker.getSelectedMediaDevice()).thenReturn(mSelectedDevices);
+        when(sMediaDeviceUpdateWorker.getSelectableMediaDevice()).thenReturn(mSelectableDevices);
+        final Slice slice = mMediaOutputGroupSlice.getSlice();
+        final int rows = SliceQuery.findAll(slice, FORMAT_SLICE, HINT_LIST_ITEM, null).size();
+
+        // Group item and 2 * InputRange
+        assertThat(rows).isEqualTo(3);
+    }
+
+    @Test
+    public void getSlice_withOneSelectableDevice_checkTitle() {
+        mSelectableDevices.add(mDevice1);
+        mSelectedDevices.add(mDevice1);
+        sMediaDeviceUpdateWorker.onDeviceListUpdate(mSelectableDevices);
+        when(sMediaDeviceUpdateWorker.getSelectedMediaDevice()).thenReturn(mSelectedDevices);
+        final Slice slice = mMediaOutputGroupSlice.getSlice();
+        final SliceMetadata metadata = SliceMetadata.from(mContext, slice);
+        final SliceAction primaryAction = metadata.getPrimaryAction();
+
+        assertThat(primaryAction.getTitle().toString()).isEqualTo(GROUP_DEVICES);
+    }
+
+    @Test
+    public void onNotifyChange_verifyAdjustDeviceVolume() {
+        mSelectableDevices.add(mDevice1);
+        mSelectedDevices.add(mDevice1);
+        when(mLocalMediaManager.getMediaDeviceById(mSelectableDevices, TEST_DEVICE_1_ID))
+                .thenReturn(mDevice1);
+        sMediaDeviceUpdateWorker.onDeviceListUpdate(mSelectableDevices);
+        when(sMediaDeviceUpdateWorker.getSelectedMediaDevice()).thenReturn(mSelectedDevices);
+        final Intent intent = new Intent();
+        intent.putExtra(EXTRA_RANGE_VALUE, TEST_VOLUME);
+        intent.putExtra(MEDIA_DEVICE_ID, TEST_DEVICE_1_ID);
+        intent.putExtra(CUSTOMIZED_ACTION, ACTION_VOLUME_ADJUSTMENT);
+
+        mMediaOutputGroupSlice.onNotifyChange(intent);
+
+        verify(mDevice1).requestSetVolume(TEST_VOLUME);
+    }
+
+    @Test
+    public void onNotifyChange_verifyAdjustGroupVolume() {
+        mSelectableDevices.add(mDevice1);
+        mSelectedDevices.add(mDevice1);
+        when(mLocalMediaManager.getMediaDeviceById(mSelectableDevices, TEST_DEVICE_1_ID))
+                .thenReturn(mDevice1);
+        sMediaDeviceUpdateWorker.onDeviceListUpdate(mSelectableDevices);
+        when(sMediaDeviceUpdateWorker.getSelectedMediaDevice()).thenReturn(mSelectedDevices);
+        final Intent intent = new Intent();
+        intent.putExtra(EXTRA_RANGE_VALUE, TEST_VOLUME);
+        intent.putExtra(MEDIA_DEVICE_ID, GROUP_DEVICES);
+        intent.putExtra(CUSTOMIZED_ACTION, ACTION_VOLUME_ADJUSTMENT);
+
+        mMediaOutputGroupSlice.onNotifyChange(intent);
+
+        verify(sMediaDeviceUpdateWorker).adjustSessionVolume(TEST_VOLUME);
+    }
+
+    @Test
+    public void onNotifyChange_sessionOperation_differentClient_verifyAddSession() {
+        mSelectableDevices.add(mDevice1);
+        mSelectableDevices.add(mDevice2);
+        mSelectedDevices.add(mDevice1);
+        when(mDevice2.getClientPackageName()).thenReturn(TEST_PACKAGE_NAME2);
+        when(mLocalMediaManager.getMediaDeviceById(mSelectableDevices, TEST_DEVICE_2_ID))
+                .thenReturn(mDevice2);
+        sMediaDeviceUpdateWorker.onDeviceListUpdate(mSelectableDevices);
+        when(sMediaDeviceUpdateWorker.getSelectedMediaDevice()).thenReturn(mSelectedDevices);
+        final Intent intent = new Intent();
+        intent.putExtra(MEDIA_DEVICE_ID, TEST_DEVICE_2_ID);
+        intent.putExtra(CUSTOMIZED_ACTION, ACTION_MEDIA_SESSION_OPERATION);
+
+        mMediaOutputGroupSlice.onNotifyChange(intent);
+
+        verify(sMediaDeviceUpdateWorker).addDeviceToPlayMedia(mDevice2);
+    }
+
+    @Test
+    public void onNotifyChange_sessionOperation_sameClient_verifyRemoveSession() {
+        mSelectableDevices.add(mDevice1);
+        mSelectableDevices.add(mDevice2);
+        mSelectedDevices.add(mDevice1);
+        when(mDevice2.getClientPackageName()).thenReturn(TEST_PACKAGE_NAME);
+        when(mLocalMediaManager.getMediaDeviceById(mSelectableDevices, TEST_DEVICE_2_ID))
+                .thenReturn(mDevice2);
+        sMediaDeviceUpdateWorker.onDeviceListUpdate(mSelectableDevices);
+        when(sMediaDeviceUpdateWorker.getSelectedMediaDevice()).thenReturn(mSelectedDevices);
+        final Intent intent = new Intent();
+        intent.putExtra(MEDIA_DEVICE_ID, TEST_DEVICE_2_ID);
+        intent.putExtra(CUSTOMIZED_ACTION, ACTION_MEDIA_SESSION_OPERATION);
+
+        mMediaOutputGroupSlice.onNotifyChange(intent);
+
+        verify(sMediaDeviceUpdateWorker).removeDeviceFromPlayMedia(mDevice2);
+    }
+
+    @Test
+    public void onNotifyChange_noId_doNothing() {
+        mSelectableDevices.add(mDevice1);
+        mSelectedDevices.add(mDevice1);
+        when(mLocalMediaManager.getMediaDeviceById(mSelectableDevices, TEST_DEVICE_1_ID))
+                .thenReturn(mDevice1);
+        sMediaDeviceUpdateWorker.onDeviceListUpdate(mSelectableDevices);
+        when(sMediaDeviceUpdateWorker.getSelectedMediaDevice()).thenReturn(mSelectedDevices);
+        final Intent intent = new Intent();
+        intent.putExtra(EXTRA_RANGE_VALUE, TEST_VOLUME);
+        intent.putExtra(CUSTOMIZED_ACTION, ACTION_VOLUME_ADJUSTMENT);
+
+        mMediaOutputGroupSlice.onNotifyChange(intent);
+
+        verify(sMediaDeviceUpdateWorker, never()).adjustSessionVolume(anyInt());
+        verify(mDevice1, never()).requestSetVolume(TEST_VOLUME);
+    }
+
+    @Implements(SliceBackgroundWorker.class)
+    public static class ShadowSliceBackgroundWorker {
+
+        @Implementation
+        public static SliceBackgroundWorker getInstance(Uri uri) {
+            return sMediaDeviceUpdateWorker;
+        }
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/media/MediaOutputIndicatorSliceTest.java b/tests/robotests/src/com/android/settings/media/MediaOutputIndicatorSliceTest.java
index c5584d0..cc4a870 100644
--- a/tests/robotests/src/com/android/settings/media/MediaOutputIndicatorSliceTest.java
+++ b/tests/robotests/src/com/android/settings/media/MediaOutputIndicatorSliceTest.java
@@ -17,16 +17,24 @@
 
 package com.android.settings.media;
 
+import static com.android.settings.slices.CustomSliceRegistry.MEDIA_OUTPUT_INDICATOR_SLICE_URI;
+
 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.verify;
 import static org.mockito.Mockito.when;
 
-import android.bluetooth.BluetoothAdapter;
-import android.bluetooth.BluetoothDevice;
-import android.bluetooth.BluetoothManager;
 import android.content.Context;
-import android.telephony.TelephonyManager;
+import android.content.Intent;
+import android.graphics.drawable.Drawable;
+import android.media.AudioManager;
+import android.media.session.MediaController;
+import android.media.session.MediaSession;
+import android.net.Uri;
+import android.os.Process;
+import android.text.TextUtils;
 
 import androidx.slice.Slice;
 import androidx.slice.SliceMetadata;
@@ -34,155 +42,192 @@
 import androidx.slice.widget.SliceLiveData;
 
 import com.android.settings.R;
+import com.android.settings.slices.SliceBackgroundWorker;
 import com.android.settings.testutils.shadow.ShadowBluetoothUtils;
-import com.android.settingslib.bluetooth.A2dpProfile;
-import com.android.settingslib.bluetooth.HearingAidProfile;
 import com.android.settingslib.bluetooth.LocalBluetoothManager;
-import com.android.settingslib.bluetooth.LocalBluetoothProfileManager;
+import com.android.settingslib.media.LocalMediaManager;
+import com.android.settingslib.media.MediaDevice;
+import com.android.settingslib.media.MediaOutputSliceConstants;
 
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
+import org.mockito.ArgumentCaptor;
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
-import org.robolectric.shadow.api.Shadow;
-import org.robolectric.shadows.ShadowTelephonyManager;
+import org.robolectric.annotation.Implementation;
+import org.robolectric.annotation.Implements;
 
 import java.util.ArrayList;
 import java.util.List;
 
 @RunWith(RobolectricTestRunner.class)
 @Config(shadows = {ShadowBluetoothUtils.class,
-        ShadowTelephonyManager.class})
+        MediaOutputIndicatorSliceTest.ShadowSliceBackgroundWorker.class})
 public class MediaOutputIndicatorSliceTest {
 
-    private static final String TEST_A2DP_DEVICE_NAME = "Test_A2DP_BT_Device_NAME";
-    private static final String TEST_HAP_DEVICE_NAME = "Test_HAP_BT_Device_NAME";
-    private static final String TEST_A2DP_DEVICE_ADDRESS = "00:A1:A1:A1:A1:A1";
-    private static final String TEST_HAP_DEVICE_ADDRESS = "00:B2:B2:B2:B2:B2";
+    private static final String TEST_DEVICE_1_NAME = "test_device_1_name";
+    private static final String TEST_DEVICE_2_NAME = "test_device_2_name";
+    private static final String TEST_PACKAGE_NAME = "com.test";
 
-    @Mock
-    private A2dpProfile mA2dpProfile;
-    @Mock
-    private HearingAidProfile mHearingAidProfile;
+    private static MediaOutputIndicatorWorker sMediaOutputIndicatorWorker;
+
+    private final List<MediaDevice> mDevices = new ArrayList<>();
+
     @Mock
     private LocalBluetoothManager mLocalBluetoothManager;
     @Mock
-    private LocalBluetoothProfileManager mLocalBluetoothProfileManager;
+    private MediaController mMediaController;
+    @Mock
+    private LocalMediaManager mLocalMediaManager;
+    @Mock
+    private MediaDevice mDevice1;
+    @Mock
+    private MediaDevice mDevice2;
+    @Mock
+    private Drawable mTestDrawable;
 
-    private BluetoothAdapter mBluetoothAdapter;
-    private BluetoothDevice mA2dpDevice;
-    private BluetoothDevice mHapDevice;
-    private BluetoothManager mBluetoothManager;
     private Context mContext;
-    private List<BluetoothDevice> mDevicesList;
     private MediaOutputIndicatorSlice mMediaOutputIndicatorSlice;
-    private ShadowTelephonyManager mShadowTelephonyManager;
+    private AudioManager mAudioManager;
+    private MediaSession.Token mToken;
 
     @Before
     public void setUp() throws Exception {
         MockitoAnnotations.initMocks(this);
         mContext = spy(RuntimeEnvironment.application);
-        mShadowTelephonyManager = Shadow.extract(mContext.getSystemService(
-                Context.TELEPHONY_SERVICE));
+        mAudioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
+        sMediaOutputIndicatorWorker = spy(new MediaOutputIndicatorWorker(mContext,
+                MEDIA_OUTPUT_INDICATOR_SLICE_URI));
+        mToken = new MediaSession.Token(Process.myUid(), null);
         // Set-up specs for SliceMetadata.
         SliceProvider.setSpecs(SliceLiveData.SUPPORTED_SPECS);
-
         // Setup Bluetooth environment
         ShadowBluetoothUtils.sLocalBluetoothManager = mLocalBluetoothManager;
-        mBluetoothManager = new BluetoothManager(mContext);
-        mBluetoothAdapter = mBluetoothManager.getAdapter();
-        when(mLocalBluetoothManager.getProfileManager()).thenReturn(mLocalBluetoothProfileManager);
-        when(mLocalBluetoothProfileManager.getA2dpProfile()).thenReturn(mA2dpProfile);
-        when(mLocalBluetoothProfileManager.getHearingAidProfile()).thenReturn(mHearingAidProfile);
-
-        // Setup A2dp device
-        mA2dpDevice = spy(mBluetoothAdapter.getRemoteDevice(TEST_A2DP_DEVICE_ADDRESS));
-        when(mA2dpDevice.getName()).thenReturn(TEST_A2DP_DEVICE_NAME);
-        when(mA2dpDevice.isConnected()).thenReturn(true);
-        // Setup HearingAid device
-        mHapDevice = spy(mBluetoothAdapter.getRemoteDevice(TEST_HAP_DEVICE_ADDRESS));
-        when(mHapDevice.getName()).thenReturn(TEST_HAP_DEVICE_NAME);
-        when(mHapDevice.isConnected()).thenReturn(true);
+        // Setup mock devices
+        when(mDevice1.getName()).thenReturn(TEST_DEVICE_1_NAME);
+        when(mDevice1.getIcon()).thenReturn(mTestDrawable);
+        when(mDevice1.getMaxVolume()).thenReturn(100);
+        when(mDevice1.isConnected()).thenReturn(true);
+        when(mDevice2.getName()).thenReturn(TEST_DEVICE_2_NAME);
+        when(mDevice2.getIcon()).thenReturn(mTestDrawable);
+        when(mDevice2.getMaxVolume()).thenReturn(100);
+        when(mDevice2.isConnected()).thenReturn(false);
 
         mMediaOutputIndicatorSlice = new MediaOutputIndicatorSlice(mContext);
-        mDevicesList = new ArrayList<>();
     }
 
     @Test
-    public void getSlice_noConnectedDevice_returnNull() {
-        mDevicesList.clear();
-        when(mA2dpProfile.getConnectedDevices()).thenReturn(mDevicesList);
-
-        assertThat(mMediaOutputIndicatorSlice.getSlice()).isNull();
-    }
-
-    @Test
-    public void getSlice_noActiveDevice_verifyDefaultName() {
-        mDevicesList.add(mA2dpDevice);
-        when(mA2dpProfile.getConnectedDevices()).thenReturn(mDevicesList);
-        when(mA2dpProfile.getActiveDevice()).thenReturn(null);
-
-        // Verify slice title and subtitle
-        final Slice mediaSlice = mMediaOutputIndicatorSlice.getSlice();
-        final SliceMetadata metadata = SliceMetadata.from(mContext, mediaSlice);
-        assertThat(metadata.getTitle()).isEqualTo(mContext.getText(R.string.media_output_title));
-        assertThat(metadata.getSubtitle()).isEqualTo(mContext.getText(
-                R.string.media_output_default_summary));
-    }
-
-    @Test
-    public void getSlice_A2dpDeviceActive_verifyName() {
-        mDevicesList.add(mA2dpDevice);
-        when(mA2dpProfile.getConnectedDevices()).thenReturn(mDevicesList);
-        when(mA2dpProfile.getActiveDevice()).thenReturn(mA2dpDevice);
+    public void getSlice_withConnectedDevice_verifyMetadata() {
+        mDevices.add(mDevice1);
+        mDevices.add(mDevice2);
+        when(sMediaOutputIndicatorWorker.getMediaDevices()).thenReturn(mDevices);
+        doReturn(mDevice1).when(sMediaOutputIndicatorWorker).getCurrentConnectedMediaDevice();
+        mAudioManager.setMode(AudioManager.MODE_NORMAL);
 
         final Slice mediaSlice = mMediaOutputIndicatorSlice.getSlice();
         final SliceMetadata metadata = SliceMetadata.from(mContext, mediaSlice);
+
         assertThat(metadata.getTitle()).isEqualTo(mContext.getText(R.string.media_output_title));
-        assertThat(metadata.getSubtitle()).isEqualTo(TEST_A2DP_DEVICE_NAME);
+        assertThat(metadata.getSubtitle()).isEqualTo(TEST_DEVICE_1_NAME);
+        assertThat(metadata.isErrorSlice()).isFalse();
     }
 
     @Test
-    public void getSlice_HADeviceActive_verifyName() {
-        mDevicesList.add(mHapDevice);
-        when(mHearingAidProfile.getConnectedDevices()).thenReturn(mDevicesList);
-        when(mHearingAidProfile.getActiveDevices()).thenReturn(mDevicesList);
+    public void getSlice_noConnectedDevice_returnErrorSlice() {
+        mDevices.clear();
+        when(sMediaOutputIndicatorWorker.getMediaDevices()).thenReturn(mDevices);
+        mAudioManager.setMode(AudioManager.MODE_NORMAL);
 
-        // Verify slice title and subtitle
         final Slice mediaSlice = mMediaOutputIndicatorSlice.getSlice();
         final SliceMetadata metadata = SliceMetadata.from(mContext, mediaSlice);
-        assertThat(metadata.getTitle()).isEqualTo(mContext.getText(R.string.media_output_title));
-        assertThat(metadata.getSubtitle()).isEqualTo(TEST_HAP_DEVICE_NAME);
+
+        assertThat(metadata.isErrorSlice()).isTrue();
     }
 
     @Test
-    public void getSlice_callStateIdle_available() {
-        mDevicesList.add(mA2dpDevice);
-        when(mA2dpProfile.getConnectedDevices()).thenReturn(mDevicesList);
-        mShadowTelephonyManager.setCallState(TelephonyManager.CALL_STATE_IDLE);
+    public void getSlice_audioModeIsInCommunication_returnErrorSlice() {
+        mDevices.add(mDevice1);
+        mDevices.add(mDevice2);
+        when(sMediaOutputIndicatorWorker.getMediaDevices()).thenReturn(mDevices);
+        doReturn(mDevice1).when(sMediaOutputIndicatorWorker).getCurrentConnectedMediaDevice();
+        mAudioManager.setMode(AudioManager.MODE_IN_COMMUNICATION);
 
-        assertThat(mMediaOutputIndicatorSlice.getSlice()).isNotNull();
+        final Slice mediaSlice = mMediaOutputIndicatorSlice.getSlice();
+        final SliceMetadata metadata = SliceMetadata.from(mContext, mediaSlice);
+
+        assertThat(metadata.isErrorSlice()).isTrue();
     }
 
     @Test
-    public void getSlice_callStateRinging_returnNull() {
-        mDevicesList.add(mA2dpDevice);
-        when(mA2dpProfile.getConnectedDevices()).thenReturn(mDevicesList);
-        mShadowTelephonyManager.setCallState(TelephonyManager.CALL_STATE_RINGING);
+    public void getSlice_audioModeIsRingtone_returnErrorSlice() {
+        mDevices.add(mDevice1);
+        mDevices.add(mDevice2);
+        when(sMediaOutputIndicatorWorker.getMediaDevices()).thenReturn(mDevices);
+        doReturn(mDevice1).when(sMediaOutputIndicatorWorker).getCurrentConnectedMediaDevice();
+        mAudioManager.setMode(AudioManager.MODE_RINGTONE);
 
-        assertThat(mMediaOutputIndicatorSlice.getSlice()).isNull();
+        final Slice mediaSlice = mMediaOutputIndicatorSlice.getSlice();
+        final SliceMetadata metadata = SliceMetadata.from(mContext, mediaSlice);
+
+        assertThat(metadata.isErrorSlice()).isTrue();
     }
 
     @Test
-    public void getSlice_callStateOffHook_returnNull() {
-        mDevicesList.add(mA2dpDevice);
-        when(mA2dpProfile.getConnectedDevices()).thenReturn(mDevicesList);
-        mShadowTelephonyManager.setCallState(TelephonyManager.CALL_STATE_OFFHOOK);
+    public void getSlice_audioModeIsInCall_returnErrorSlice() {
+        mDevices.add(mDevice1);
+        mDevices.add(mDevice2);
+        when(sMediaOutputIndicatorWorker.getMediaDevices()).thenReturn(mDevices);
+        doReturn(mDevice1).when(sMediaOutputIndicatorWorker).getCurrentConnectedMediaDevice();
+        mAudioManager.setMode(AudioManager.MODE_IN_CALL);
 
-        assertThat(mMediaOutputIndicatorSlice.getSlice()).isNull();
+        final Slice mediaSlice = mMediaOutputIndicatorSlice.getSlice();
+        final SliceMetadata metadata = SliceMetadata.from(mContext, mediaSlice);
+
+        assertThat(metadata.isErrorSlice()).isTrue();
+    }
+
+    @Test
+    public void onNotifyChange_withActiveLocalMedia_verifyIntentExtra() {
+        when(mMediaController.getSessionToken()).thenReturn(mToken);
+        when(mMediaController.getPackageName()).thenReturn(TEST_PACKAGE_NAME);
+        doReturn(mMediaController).when(sMediaOutputIndicatorWorker)
+                .getActiveLocalMediaController();
+
+        final ArgumentCaptor<Intent> intentCaptor = ArgumentCaptor.forClass(Intent.class);
+        mMediaOutputIndicatorSlice.onNotifyChange(new Intent());
+        verify(mContext).startActivity(intentCaptor.capture());
+
+        assertThat(TextUtils.equals(TEST_PACKAGE_NAME, intentCaptor.getValue().getStringExtra(
+                MediaOutputSliceConstants.EXTRA_PACKAGE_NAME))).isTrue();
+        assertThat(mToken == intentCaptor.getValue().getExtras().getParcelable(
+                MediaOutputSliceConstants.KEY_MEDIA_SESSION_TOKEN)).isTrue();
+    }
+
+    @Test
+    public void onNotifyChange_withoutActiveLocalMedia_verifyIntentExtra() {
+        doReturn(mMediaController).when(sMediaOutputIndicatorWorker)
+                .getActiveLocalMediaController();
+
+        final ArgumentCaptor<Intent> intentCaptor = ArgumentCaptor.forClass(Intent.class);
+        mMediaOutputIndicatorSlice.onNotifyChange(new Intent());
+        verify(mContext).startActivity(intentCaptor.capture());
+
+        assertThat(TextUtils.isEmpty(intentCaptor.getValue().getStringExtra(
+                MediaOutputSliceConstants.EXTRA_PACKAGE_NAME))).isTrue();
+        assertThat(intentCaptor.getValue().getExtras().getParcelable(
+                MediaOutputSliceConstants.KEY_MEDIA_SESSION_TOKEN) == null).isTrue();
+    }
+
+    @Implements(SliceBackgroundWorker.class)
+    public static class ShadowSliceBackgroundWorker {
+
+        @Implementation
+        public static SliceBackgroundWorker getInstance(Uri uri) {
+            return sMediaOutputIndicatorWorker;
+        }
     }
 }
diff --git a/tests/robotests/src/com/android/settings/media/MediaOutputIndicatorWorkerTest.java b/tests/robotests/src/com/android/settings/media/MediaOutputIndicatorWorkerTest.java
index 3671d81..d96541d 100644
--- a/tests/robotests/src/com/android/settings/media/MediaOutputIndicatorWorkerTest.java
+++ b/tests/robotests/src/com/android/settings/media/MediaOutputIndicatorWorkerTest.java
@@ -16,16 +16,34 @@
 
 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.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
+import android.content.BroadcastReceiver;
+import android.content.ContentResolver;
 import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.media.AudioAttributes;
+import android.media.AudioManager;
+import android.media.VolumeProvider;
+import android.media.session.MediaController;
+import android.media.session.MediaSessionManager;
+import android.media.session.PlaybackState;
 import android.net.Uri;
 
+import com.android.settings.testutils.shadow.ShadowBluetoothAdapter;
 import com.android.settings.testutils.shadow.ShadowBluetoothUtils;
 import com.android.settingslib.bluetooth.BluetoothEventManager;
 import com.android.settingslib.bluetooth.LocalBluetoothManager;
+import com.android.settingslib.media.LocalMediaManager;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -35,9 +53,13 @@
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
+import org.robolectric.shadows.ShadowApplication;
+
+import java.util.ArrayList;
+import java.util.List;
 
 @RunWith(RobolectricTestRunner.class)
-@Config(shadows = {ShadowBluetoothUtils.class})
+@Config(shadows = {ShadowBluetoothAdapter.class, ShadowBluetoothUtils.class})
 public class MediaOutputIndicatorWorkerTest {
     private static final Uri URI = Uri.parse("content://com.android.settings.slices/test");
 
@@ -45,28 +67,130 @@
     private BluetoothEventManager mBluetoothEventManager;
     @Mock
     private LocalBluetoothManager mLocalBluetoothManager;
+    @Mock
+    private MediaSessionManager mMediaSessionManager;
+    @Mock
+    private MediaController mMediaController;
+    @Mock
+    private LocalMediaManager mLocalMediaManager;
+
     private Context mContext;
-    private MediaOutputIndicatorWorker mMediaDeviceUpdateWorker;
+    private MediaOutputIndicatorWorker mMediaOutputIndicatorWorker;
+    private ShadowApplication mShadowApplication;
+    private ContentResolver mResolver;
+    private List<MediaController> mMediaControllers = new ArrayList<>();
+    private PlaybackState mPlaybackState;
+    private MediaController.PlaybackInfo mPlaybackInfo;
 
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
+        mShadowApplication = ShadowApplication.getInstance();
         mContext = spy(RuntimeEnvironment.application);
         ShadowBluetoothUtils.sLocalBluetoothManager = mLocalBluetoothManager;
         when(mLocalBluetoothManager.getEventManager()).thenReturn(mBluetoothEventManager);
-        mMediaDeviceUpdateWorker = new MediaOutputIndicatorWorker(mContext, URI);
+        mMediaOutputIndicatorWorker = new MediaOutputIndicatorWorker(mContext, URI);
+        when(mContext.getSystemService(MediaSessionManager.class)).thenReturn(mMediaSessionManager);
+        mMediaControllers.add(mMediaController);
+        when(mMediaSessionManager.getActiveSessions(any())).thenReturn(mMediaControllers);
+
+        mResolver = mock(ContentResolver.class);
+        doReturn(mResolver).when(mContext).getContentResolver();
     }
 
     @Test
     public void onSlicePinned_registerCallback() {
-        mMediaDeviceUpdateWorker.onSlicePinned();
-        verify(mBluetoothEventManager).registerCallback(mMediaDeviceUpdateWorker);
+        mMediaOutputIndicatorWorker.mLocalMediaManager = mLocalMediaManager;
+        mMediaOutputIndicatorWorker.onSlicePinned();
+
+        verify(mBluetoothEventManager).registerCallback(mMediaOutputIndicatorWorker);
+        verify(mContext).registerReceiver(any(BroadcastReceiver.class), any(IntentFilter.class));
+        verify(mLocalMediaManager).registerCallback(mMediaOutputIndicatorWorker);
+        verify(mLocalMediaManager).startScan();
     }
 
     @Test
     public void onSliceUnpinned_unRegisterCallback() {
-        mMediaDeviceUpdateWorker.onSlicePinned();
-        mMediaDeviceUpdateWorker.onSliceUnpinned();
-        verify(mBluetoothEventManager).unregisterCallback(mMediaDeviceUpdateWorker);
+        mMediaOutputIndicatorWorker.mLocalMediaManager = mLocalMediaManager;
+        mMediaOutputIndicatorWorker.onSlicePinned();
+        mMediaOutputIndicatorWorker.onSliceUnpinned();
+
+        verify(mBluetoothEventManager).unregisterCallback(mMediaOutputIndicatorWorker);
+        verify(mContext).unregisterReceiver(any(BroadcastReceiver.class));
+        verify(mLocalMediaManager).unregisterCallback(mMediaOutputIndicatorWorker);
+        verify(mLocalMediaManager).stopScan();
+    }
+
+    @Test
+    public void onReceive_shouldNotifyChange() {
+        mMediaOutputIndicatorWorker.onSlicePinned();
+        // onSlicePinned will registerCallback() and get first callback. Callback triggers this at
+        // the first time.
+        verify(mResolver, times(1)).notifyChange(URI, null);
+
+        final Intent intent = new Intent(AudioManager.STREAM_DEVICES_CHANGED_ACTION);
+        for (BroadcastReceiver receiver : mShadowApplication.getReceiversForIntent(intent)) {
+            receiver.onReceive(mContext, intent);
+        }
+        // Intent receiver triggers notifyChange() again
+        verify(mResolver, times(2)).notifyChange(URI, null /* observer */);
+    }
+
+    @Test
+    public void getActiveLocalMediaController_localMediaPlaying_returnController() {
+        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();
+
+        when(mMediaController.getPlaybackInfo()).thenReturn(mPlaybackInfo);
+        when(mMediaController.getPlaybackState()).thenReturn(mPlaybackState);
+
+        assertThat(mMediaOutputIndicatorWorker.getActiveLocalMediaController()).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(mMediaOutputIndicatorWorker.getActiveLocalMediaController()).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(mMediaOutputIndicatorWorker.getActiveLocalMediaController()).isNull();
     }
 }
diff --git a/tests/robotests/src/com/android/settings/media/MediaOutputSliceTest.java b/tests/robotests/src/com/android/settings/media/MediaOutputSliceTest.java
index ac37a7f..426eacc 100644
--- a/tests/robotests/src/com/android/settings/media/MediaOutputSliceTest.java
+++ b/tests/robotests/src/com/android/settings/media/MediaOutputSliceTest.java
@@ -17,6 +17,7 @@
 
 package com.android.settings.media;
 
+import static android.app.slice.Slice.EXTRA_RANGE_VALUE;
 import static android.app.slice.Slice.HINT_LIST_ITEM;
 import static android.app.slice.SliceItem.FORMAT_SLICE;
 
@@ -34,7 +35,8 @@
 import android.content.Context;
 import android.content.Intent;
 import android.graphics.drawable.Drawable;
-import android.telephony.TelephonyManager;
+import android.media.AudioManager;
+import android.text.TextUtils;
 
 import androidx.slice.Slice;
 import androidx.slice.SliceMetadata;
@@ -43,6 +45,7 @@
 import androidx.slice.core.SliceQuery;
 import androidx.slice.widget.SliceLiveData;
 
+import com.android.settings.R;
 import com.android.settings.testutils.shadow.ShadowBluetoothAdapter;
 import com.android.settingslib.media.LocalMediaManager;
 import com.android.settingslib.media.MediaDevice;
@@ -56,18 +59,18 @@
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
 import org.robolectric.shadow.api.Shadow;
-import org.robolectric.shadows.ShadowTelephonyManager;
 
 import java.util.ArrayList;
 import java.util.List;
 
 @RunWith(RobolectricTestRunner.class)
-@Config(shadows = {ShadowBluetoothAdapter.class, ShadowTelephonyManager.class})
+@Config(shadows = {ShadowBluetoothAdapter.class})
 public class MediaOutputSliceTest {
 
-    private static final String TEST_PACKAGE_NAME = "com.fake.android.music";
     private static final String TEST_DEVICE_1_ID = "test_device_1_id";
+    private static final String TEST_DEVICE_2_ID = "test_device_2_id";
     private static final String TEST_DEVICE_1_NAME = "test_device_1_name";
+    private static final String TEST_DEVICE_2_NAME = "test_device_2_name";
     private static final int TEST_DEVICE_1_ICON =
             com.android.internal.R.drawable.ic_bt_headphones_a2dp;
 
@@ -82,33 +85,32 @@
     private MediaOutputSlice mMediaOutputSlice;
     private MediaDeviceUpdateWorker mMediaDeviceUpdateWorker;
     private ShadowBluetoothAdapter mShadowBluetoothAdapter;
-    private ShadowTelephonyManager mShadowTelephonyManager;
+    private AudioManager mAudioManager;
 
     @Before
     public void setUp() throws Exception {
         MockitoAnnotations.initMocks(this);
         mContext = spy(RuntimeEnvironment.application);
-        mShadowTelephonyManager = Shadow.extract(mContext.getSystemService(
-                Context.TELEPHONY_SERVICE));
+        mAudioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
+        mAudioManager.setMode(AudioManager.MODE_NORMAL);
 
         // Set-up specs for SliceMetadata.
         SliceProvider.setSpecs(SliceLiveData.SUPPORTED_SPECS);
         // Setup BluetoothAdapter
         mShadowBluetoothAdapter = Shadow.extract(BluetoothAdapter.getDefaultAdapter());
         mShadowBluetoothAdapter.setEnabled(true);
-        mShadowTelephonyManager.setCallState(TelephonyManager.CALL_STATE_IDLE);
 
         mMediaOutputSlice = new MediaOutputSlice(mContext);
-        mMediaDeviceUpdateWorker = new MediaDeviceUpdateWorker(mContext, MEDIA_OUTPUT_SLICE_URI);
-        mMediaDeviceUpdateWorker.setPackageName(TEST_PACKAGE_NAME);
+        mMediaDeviceUpdateWorker = new MediaDeviceUpdateWorker(mContext,
+                MEDIA_OUTPUT_SLICE_URI);
         mMediaDeviceUpdateWorker.onDeviceListUpdate(mDevices);
         mMediaDeviceUpdateWorker.mLocalMediaManager = mLocalMediaManager;
-        mMediaOutputSlice.init(TEST_PACKAGE_NAME, mMediaDeviceUpdateWorker);
+        mMediaOutputSlice.init(mMediaDeviceUpdateWorker);
     }
 
     @Test
     public void getSlice_workerIsNull_shouldReturnZeroRow() {
-        mMediaOutputSlice.init(TEST_PACKAGE_NAME, null);
+        mMediaOutputSlice.init(null);
 
         final Slice slice = mMediaOutputSlice.getSlice();
 
@@ -131,8 +133,8 @@
     }
 
     @Test
-    public void getSlice_callStateRinging_shouldReturnZeroRow() {
-        mShadowTelephonyManager.setCallState(TelephonyManager.CALL_STATE_RINGING);
+    public void getSlice_audioModeIsOngoingCall_shouldReturnZeroRow() {
+        mAudioManager.setMode(AudioManager.MODE_IN_CALL);
 
         final Slice slice = mMediaOutputSlice.getSlice();
 
@@ -148,6 +150,20 @@
         final MediaDevice device = mock(MediaDevice.class);
         when(device.getName()).thenReturn(TEST_DEVICE_1_NAME);
         when(device.getIcon()).thenReturn(mTestDrawable);
+        when(device.getMaxVolume()).thenReturn(100);
+        when(device.isConnected()).thenReturn(true);
+        when(device.getDeviceType()).thenReturn(MediaDevice.MediaDeviceType.TYPE_CAST_DEVICE);
+        when(device.getId()).thenReturn(TEST_DEVICE_1_ID);
+        final MediaDevice device2 = mock(MediaDevice.class);
+        when(device2.getName()).thenReturn(TEST_DEVICE_2_NAME);
+        when(device2.getIcon()).thenReturn(mTestDrawable);
+        when(device2.getMaxVolume()).thenReturn(100);
+        when(device2.isConnected()).thenReturn(false);
+        when(device2.getDeviceType()).thenReturn(MediaDevice.MediaDeviceType.TYPE_CAST_DEVICE);
+        when(device2.getId()).thenReturn(TEST_DEVICE_2_ID);
+        mDevices.add(device);
+        mDevices.add(device2);
+        mMediaDeviceUpdateWorker.onDeviceListUpdate(mDevices);
         when(mLocalMediaManager.getCurrentConnectedDevice()).thenReturn(device);
 
         final Slice mediaSlice = mMediaOutputSlice.getSlice();
@@ -158,6 +174,243 @@
     }
 
     @Test
+    public void getSlice_disconnectedBluetooth_verifyTitle() {
+        mDevices.clear();
+        final MediaDevice device = mock(MediaDevice.class);
+        when(device.getName()).thenReturn(TEST_DEVICE_1_NAME);
+        when(device.getIcon()).thenReturn(mTestDrawable);
+        when(device.getMaxVolume()).thenReturn(100);
+        when(device.isConnected()).thenReturn(false);
+        when(device.getDeviceType()).thenReturn(MediaDevice.MediaDeviceType.TYPE_BLUETOOTH_DEVICE);
+        when(device.getId()).thenReturn(TEST_DEVICE_1_ID);
+        final MediaDevice device2 = mock(MediaDevice.class);
+        when(device2.getName()).thenReturn(TEST_DEVICE_2_NAME);
+        when(device2.getIcon()).thenReturn(mTestDrawable);
+        when(device2.getMaxVolume()).thenReturn(100);
+        when(device2.isConnected()).thenReturn(false);
+        when(device2.getDeviceType()).thenReturn(MediaDevice.MediaDeviceType.TYPE_BLUETOOTH_DEVICE);
+        when(device2.getId()).thenReturn(TEST_DEVICE_2_ID);
+        mDevices.add(device);
+        mDevices.add(device2);
+        mMediaDeviceUpdateWorker.onDeviceListUpdate(mDevices);
+
+        final Slice mediaSlice = mMediaOutputSlice.getSlice();
+        final SliceMetadata metadata = SliceMetadata.from(mContext, mediaSlice);
+
+        final SliceAction primaryAction = metadata.getPrimaryAction();
+        assertThat(primaryAction.getTitle().toString()).isEqualTo(mContext.getString(
+                R.string.media_output_disconnected_status, TEST_DEVICE_1_NAME));
+    }
+
+    @Test
+    public void getSlice_inGroupState_checkSliceSize() {
+        final List<MediaDevice> mSelectedDevices = new ArrayList<>();
+        final List<MediaDevice> mSelectableDevices = new ArrayList<>();
+        mDevices.clear();
+        final MediaDevice device = mock(MediaDevice.class);
+        when(device.getName()).thenReturn(TEST_DEVICE_1_NAME);
+        when(device.getIcon()).thenReturn(mTestDrawable);
+        when(device.getMaxVolume()).thenReturn(100);
+        when(device.isConnected()).thenReturn(true);
+        when(device.getDeviceType()).thenReturn(MediaDevice.MediaDeviceType.TYPE_CAST_DEVICE);
+        when(device.getId()).thenReturn(TEST_DEVICE_1_ID);
+        final MediaDevice device2 = mock(MediaDevice.class);
+        when(device2.getName()).thenReturn(TEST_DEVICE_2_NAME);
+        when(device2.getIcon()).thenReturn(mTestDrawable);
+        when(device2.getMaxVolume()).thenReturn(100);
+        when(device2.isConnected()).thenReturn(true);
+        when(device2.getDeviceType()).thenReturn(MediaDevice.MediaDeviceType.TYPE_CAST_DEVICE);
+        when(device2.getId()).thenReturn(TEST_DEVICE_2_ID);
+        mSelectedDevices.add(device);
+        mSelectedDevices.add(device2);
+        when(mLocalMediaManager.getCurrentConnectedDevice()).thenReturn(device);
+        mDevices.add(device);
+        mDevices.add(device2);
+        when(mLocalMediaManager.getSelectedMediaDevice()).thenReturn(mSelectedDevices);
+        when(mLocalMediaManager.getSelectableMediaDevice()).thenReturn(mSelectableDevices);
+        when(mMediaDeviceUpdateWorker.getSessionVolumeMax()).thenReturn(100);
+        mMediaDeviceUpdateWorker.onDeviceListUpdate(mDevices);
+
+        final Slice mediaSlice = mMediaOutputSlice.getSlice();
+
+        assertThat(SliceQuery.findAll(mediaSlice, FORMAT_SLICE, HINT_LIST_ITEM, null).size())
+                .isEqualTo(mDevices.size() + 1);
+    }
+
+    @Test
+    public void getSlice_notInGroupState_checkSliceSize() {
+        final List<MediaDevice> mSelectedDevices = new ArrayList<>();
+        final List<MediaDevice> mSelectableDevices = new ArrayList<>();
+        mDevices.clear();
+        final MediaDevice device = mock(MediaDevice.class);
+        when(device.getName()).thenReturn(TEST_DEVICE_1_NAME);
+        when(device.getIcon()).thenReturn(mTestDrawable);
+        when(device.getMaxVolume()).thenReturn(100);
+        when(device.isConnected()).thenReturn(true);
+        when(device.getDeviceType()).thenReturn(MediaDevice.MediaDeviceType.TYPE_CAST_DEVICE);
+        when(device.getId()).thenReturn(TEST_DEVICE_1_ID);
+        final MediaDevice device2 = mock(MediaDevice.class);
+        when(device2.getName()).thenReturn(TEST_DEVICE_2_NAME);
+        when(device2.getIcon()).thenReturn(mTestDrawable);
+        when(device2.getMaxVolume()).thenReturn(100);
+        when(device2.isConnected()).thenReturn(true);
+        when(device2.getDeviceType()).thenReturn(MediaDevice.MediaDeviceType.TYPE_CAST_DEVICE);
+        when(device2.getId()).thenReturn(TEST_DEVICE_2_ID);
+        mSelectedDevices.add(device);
+        mSelectableDevices.add(device2);
+        when(mLocalMediaManager.getCurrentConnectedDevice()).thenReturn(device);
+        mDevices.add(device);
+        mDevices.add(device2);
+        when(mLocalMediaManager.getSelectedMediaDevice()).thenReturn(mSelectedDevices);
+        when(mLocalMediaManager.getSelectableMediaDevice()).thenReturn(mSelectableDevices);
+        mMediaDeviceUpdateWorker.onDeviceListUpdate(mDevices);
+
+        final Slice mediaSlice = mMediaOutputSlice.getSlice();
+
+        assertThat(SliceQuery.findAll(mediaSlice, FORMAT_SLICE, HINT_LIST_ITEM, null).size())
+                .isEqualTo(mDevices.size());
+    }
+
+    @Test
+    public void getSlice_singleCastDevice_notContainGroupIconText() {
+        final List<MediaDevice> mSelectedDevices = new ArrayList<>();
+        final List<MediaDevice> mSelectableDevices = new ArrayList<>();
+        mDevices.clear();
+        final MediaDevice device = mock(MediaDevice.class);
+        when(device.getName()).thenReturn(TEST_DEVICE_1_NAME);
+        when(device.getIcon()).thenReturn(mTestDrawable);
+        when(device.getMaxVolume()).thenReturn(100);
+        when(device.isConnected()).thenReturn(true);
+        when(device.getDeviceType()).thenReturn(MediaDevice.MediaDeviceType.TYPE_CAST_DEVICE);
+        when(device.getId()).thenReturn(TEST_DEVICE_1_ID);
+        when(mLocalMediaManager.getSelectedMediaDevice()).thenReturn(mDevices);
+        when(mLocalMediaManager.getSelectableMediaDevice()).thenReturn(null);
+        mSelectedDevices.add(device);
+        when(mLocalMediaManager.getCurrentConnectedDevice()).thenReturn(device);
+        mDevices.add(device);
+        when(mLocalMediaManager.getSelectedMediaDevice()).thenReturn(mSelectedDevices);
+        when(mLocalMediaManager.getSelectableMediaDevice()).thenReturn(mSelectableDevices);
+        mMediaDeviceUpdateWorker.onDeviceListUpdate(mDevices);
+
+        final Slice mediaSlice = mMediaOutputSlice.getSlice();
+
+        final String sliceInfo = SliceQuery.findAll(mediaSlice, FORMAT_SLICE, HINT_LIST_ITEM,
+                null).toString();
+
+        assertThat(TextUtils.indexOf(sliceInfo, mContext.getText(R.string.add))).isEqualTo(-1);
+    }
+
+    @Test
+    public void getSlice_multipleCastDevices_containGroupIconText() {
+        final List<MediaDevice> mSelectedDevices = new ArrayList<>();
+        final List<MediaDevice> mSelectableDevices = new ArrayList<>();
+        mDevices.clear();
+        final MediaDevice device = mock(MediaDevice.class);
+        when(device.getName()).thenReturn(TEST_DEVICE_1_NAME);
+        when(device.getIcon()).thenReturn(mTestDrawable);
+        when(device.getMaxVolume()).thenReturn(100);
+        when(device.isConnected()).thenReturn(true);
+        when(device.getDeviceType()).thenReturn(MediaDevice.MediaDeviceType.TYPE_CAST_DEVICE);
+        when(device.getId()).thenReturn(TEST_DEVICE_1_ID);
+        final MediaDevice device2 = mock(MediaDevice.class);
+        when(device2.getName()).thenReturn(TEST_DEVICE_2_NAME);
+        when(device2.getIcon()).thenReturn(mTestDrawable);
+        when(device2.getMaxVolume()).thenReturn(100);
+        when(device2.isConnected()).thenReturn(true);
+        when(device2.getDeviceType()).thenReturn(MediaDevice.MediaDeviceType.TYPE_CAST_DEVICE);
+        when(device2.getId()).thenReturn(TEST_DEVICE_2_ID);
+        mSelectedDevices.add(device);
+        mSelectableDevices.add(device2);
+        when(mLocalMediaManager.getCurrentConnectedDevice()).thenReturn(device);
+        mDevices.add(device);
+        mDevices.add(device2);
+        when(mLocalMediaManager.getSelectedMediaDevice()).thenReturn(mSelectedDevices);
+        when(mLocalMediaManager.getSelectableMediaDevice()).thenReturn(mSelectableDevices);
+        mMediaDeviceUpdateWorker.onDeviceListUpdate(mDevices);
+
+        final Slice mediaSlice = mMediaOutputSlice.getSlice();
+        String sliceInfo = SliceQuery.findAll(mediaSlice, FORMAT_SLICE, HINT_LIST_ITEM,
+                null).toString();
+
+        assertThat(TextUtils.indexOf(sliceInfo, mContext.getText(R.string.add))).isNotEqualTo(-1);
+    }
+
+    @Test
+    public void getSlice_onTransferring_containTransferringSubtitle() {
+        final List<MediaDevice> mSelectedDevices = new ArrayList<>();
+        final List<MediaDevice> mSelectableDevices = new ArrayList<>();
+        mDevices.clear();
+        final MediaDevice device = mock(MediaDevice.class);
+        when(device.getName()).thenReturn(TEST_DEVICE_1_NAME);
+        when(device.getIcon()).thenReturn(mTestDrawable);
+        when(device.getMaxVolume()).thenReturn(100);
+        when(device.isConnected()).thenReturn(true);
+        when(device.getDeviceType()).thenReturn(MediaDevice.MediaDeviceType.TYPE_CAST_DEVICE);
+        when(device.getId()).thenReturn(TEST_DEVICE_1_ID);
+        final MediaDevice device2 = mock(MediaDevice.class);
+        when(device2.getName()).thenReturn(TEST_DEVICE_2_NAME);
+        when(device2.getIcon()).thenReturn(mTestDrawable);
+        when(device2.getMaxVolume()).thenReturn(100);
+        when(device2.isConnected()).thenReturn(false);
+        when(device2.getState()).thenReturn(LocalMediaManager.MediaDeviceState.STATE_CONNECTING);
+        when(device2.getDeviceType()).thenReturn(MediaDevice.MediaDeviceType.TYPE_CAST_DEVICE);
+        when(device2.getId()).thenReturn(TEST_DEVICE_2_ID);
+        mSelectedDevices.add(device);
+        mSelectableDevices.add(device2);
+        when(mLocalMediaManager.getCurrentConnectedDevice()).thenReturn(device);
+        mDevices.add(device);
+        mDevices.add(device2);
+        when(mLocalMediaManager.getSelectedMediaDevice()).thenReturn(mSelectedDevices);
+        when(mLocalMediaManager.getSelectableMediaDevice()).thenReturn(mSelectableDevices);
+        mMediaDeviceUpdateWorker.onDeviceListUpdate(mDevices);
+
+        final Slice mediaSlice = mMediaOutputSlice.getSlice();
+        final String sliceInfo = SliceQuery.findAll(mediaSlice, FORMAT_SLICE, HINT_LIST_ITEM,
+                null).toString();
+
+        assertThat(TextUtils.indexOf(sliceInfo, mContext.getText(R.string.media_output_switching)))
+                .isNotEqualTo(-1);
+    }
+
+    @Test
+    public void getSlice_onTransferringFailed_containFailedSubtitle() {
+        final List<MediaDevice> mSelectedDevices = new ArrayList<>();
+        final List<MediaDevice> mSelectableDevices = new ArrayList<>();
+        mDevices.clear();
+        final MediaDevice device = mock(MediaDevice.class);
+        when(device.getName()).thenReturn(TEST_DEVICE_1_NAME);
+        when(device.getIcon()).thenReturn(mTestDrawable);
+        when(device.getMaxVolume()).thenReturn(100);
+        when(device.isConnected()).thenReturn(true);
+        when(device.getDeviceType()).thenReturn(MediaDevice.MediaDeviceType.TYPE_CAST_DEVICE);
+        when(device.getId()).thenReturn(TEST_DEVICE_1_ID);
+        final MediaDevice device2 = mock(MediaDevice.class);
+        when(device2.getName()).thenReturn(TEST_DEVICE_2_NAME);
+        when(device2.getIcon()).thenReturn(mTestDrawable);
+        when(device2.getMaxVolume()).thenReturn(100);
+        when(device2.isConnected()).thenReturn(false);
+        when(device2.getState()).thenReturn(LocalMediaManager.MediaDeviceState
+                .STATE_CONNECTING_FAILED);
+        when(device2.getDeviceType()).thenReturn(MediaDevice.MediaDeviceType.TYPE_CAST_DEVICE);
+        when(device2.getId()).thenReturn(TEST_DEVICE_2_ID);
+        mSelectedDevices.add(device);
+        mSelectableDevices.add(device2);
+        when(mLocalMediaManager.getCurrentConnectedDevice()).thenReturn(device);
+        mDevices.add(device);
+        mDevices.add(device2);
+        when(mLocalMediaManager.getSelectedMediaDevice()).thenReturn(mSelectedDevices);
+        when(mLocalMediaManager.getSelectableMediaDevice()).thenReturn(mSelectableDevices);
+        mMediaDeviceUpdateWorker.onDeviceListUpdate(mDevices);
+
+        final Slice mediaSlice = mMediaOutputSlice.getSlice();
+        final String sliceInfo = SliceQuery.findAll(mediaSlice, FORMAT_SLICE, HINT_LIST_ITEM,
+                null).toString();
+
+        assertThat(TextUtils.indexOf(sliceInfo, mContext.getText(
+                R.string.media_output_switch_error_text))).isNotEqualTo(-1);
+    }
+
+    @Test
     public void onNotifyChange_foundMediaDevice_connect() {
         mDevices.clear();
         final MediaDevice device = mock(MediaDevice.class);
@@ -192,4 +445,23 @@
 
         verify(mLocalMediaManager, never()).connectDevice(device);
     }
+
+    @Test
+    public void onNotifyChange_adjustVolume() {
+        mDevices.clear();
+        final MediaDevice device = mock(MediaDevice.class);
+        when(device.getId()).thenReturn(TEST_DEVICE_1_ID);
+        when(mLocalMediaManager.getMediaDeviceById(mDevices, TEST_DEVICE_1_ID)).thenReturn(device);
+        mDevices.add(device);
+
+        mMediaDeviceUpdateWorker.onDeviceListUpdate(mDevices);
+
+        final Intent intent = new Intent();
+        intent.putExtra("media_device_id", TEST_DEVICE_1_ID);
+        intent.putExtra(EXTRA_RANGE_VALUE, 30);
+
+        mMediaOutputSlice.onNotifyChange(intent);
+
+        verify(device).requestSetVolume(30);
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/media/RemoteMediaSliceTest.java b/tests/robotests/src/com/android/settings/media/RemoteMediaSliceTest.java
new file mode 100644
index 0000000..b719a9e
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/media/RemoteMediaSliceTest.java
@@ -0,0 +1,170 @@
+/*
+ * 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 android.app.slice.Slice.EXTRA_RANGE_VALUE;
+import static android.app.slice.Slice.HINT_LIST_ITEM;
+import static android.app.slice.SliceItem.FORMAT_SLICE;
+
+import static com.android.settings.slices.CustomSliceRegistry.REMOTE_MEDIA_SLICE_URI;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.anyInt;
+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.Intent;
+import android.net.Uri;
+
+import androidx.slice.Slice;
+import androidx.slice.SliceMetadata;
+import androidx.slice.SliceProvider;
+import androidx.slice.core.SliceAction;
+import androidx.slice.core.SliceQuery;
+import androidx.slice.widget.SliceLiveData;
+
+import com.android.settings.slices.SliceBackgroundWorker;
+import com.android.settingslib.media.LocalMediaManager;
+import com.android.settingslib.media.MediaDevice;
+
+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 org.robolectric.annotation.Config;
+import org.robolectric.annotation.Implementation;
+import org.robolectric.annotation.Implements;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(shadows = RemoteMediaSliceTest.ShadowSliceBackgroundWorker.class)
+public class RemoteMediaSliceTest {
+
+    private static final String MEDIA_ID = "media_id";
+    private static final String TEST_PACKAGE_LABEL = "music";
+    private static final String TEST_DEVICE_1_ID = "test_device_1_id";
+    private static final String TEST_DEVICE_1_NAME = "test_device_1_name";
+    private static final int TEST_VOLUME = 3;
+
+    private static MediaDeviceUpdateWorker sMediaDeviceUpdateWorker;
+
+    @Mock
+    private LocalMediaManager mLocalMediaManager;
+    @Mock
+    private MediaDevice mDevice;
+
+    private final List<MediaDevice> mDevices = new ArrayList<>();
+
+    private Context mContext;
+    private RemoteMediaSlice mRemoteMediaSlice;
+
+    @Before
+    public void setUp() throws Exception {
+        MockitoAnnotations.initMocks(this);
+        mContext = spy(RuntimeEnvironment.application);
+
+        // Set-up specs for SliceMetadata.
+        SliceProvider.setSpecs(SliceLiveData.SUPPORTED_SPECS);
+
+        mRemoteMediaSlice = new RemoteMediaSlice(mContext);
+        sMediaDeviceUpdateWorker = spy(new MediaDeviceUpdateWorker(mContext,
+                REMOTE_MEDIA_SLICE_URI));
+        sMediaDeviceUpdateWorker.mLocalMediaManager = mLocalMediaManager;
+        when(sMediaDeviceUpdateWorker.getActiveMediaDevice(
+                MediaDevice.MediaDeviceType.TYPE_CAST_DEVICE)).thenReturn(mDevices);
+        when(mDevice.getId()).thenReturn(TEST_DEVICE_1_ID);
+        when(mDevice.getName()).thenReturn(TEST_DEVICE_1_NAME);
+        when(mDevice.getMaxVolume()).thenReturn(100);
+        when(mDevice.getCurrentVolume()).thenReturn(10);
+        when(mDevice.getClientAppLabel()).thenReturn(TEST_PACKAGE_LABEL);
+    }
+
+    @Test
+    public void onNotifyChange_noId_doNothing() {
+        mDevices.add(mDevice);
+        when(mLocalMediaManager.getMediaDeviceById(mDevices, TEST_DEVICE_1_ID)).thenReturn(mDevice);
+        sMediaDeviceUpdateWorker.onDeviceListUpdate(mDevices);
+        final Intent intent = new Intent();
+        intent.putExtra(EXTRA_RANGE_VALUE, TEST_VOLUME);
+
+        mRemoteMediaSlice.onNotifyChange(intent);
+
+        verify(mDevice, never()).requestSetVolume(anyInt());
+    }
+
+    @Test
+    public void onNotifyChange_verifyAdjustVolume() {
+        mDevices.add(mDevice);
+        when(mLocalMediaManager.getMediaDeviceById(mDevices, TEST_DEVICE_1_ID)).thenReturn(mDevice);
+        sMediaDeviceUpdateWorker.onDeviceListUpdate(mDevices);
+        final Intent intent = new Intent();
+        intent.putExtra(MEDIA_ID, TEST_DEVICE_1_ID);
+        intent.putExtra(EXTRA_RANGE_VALUE, TEST_VOLUME);
+
+        mRemoteMediaSlice.onNotifyChange(intent);
+
+        verify(mDevice).requestSetVolume(TEST_VOLUME);
+    }
+
+    @Test
+    public void getSlice_noActiveDevice_checkRowNumber() {
+        final Slice slice = mRemoteMediaSlice.getSlice();
+        final int rows = SliceQuery.findAll(slice, FORMAT_SLICE, HINT_LIST_ITEM, null).size();
+
+        assertThat(rows).isEqualTo(0);
+    }
+
+    @Test
+    public void getSlice_withActiveDevice_checkRowNumber() {
+        mDevices.add(mDevice);
+        final Slice slice = mRemoteMediaSlice.getSlice();
+        final int rows = SliceQuery.findAll(slice, FORMAT_SLICE, HINT_LIST_ITEM, null).size();
+
+        // InputRange and Row
+        assertThat(rows).isEqualTo(2);
+    }
+
+    @Test
+    public void getSlice_withActiveDevice_checkTitle() {
+        mDevices.add(mDevice);
+        final Slice slice = mRemoteMediaSlice.getSlice();
+        final SliceMetadata metadata = SliceMetadata.from(mContext, slice);
+        final SliceAction primaryAction = metadata.getPrimaryAction();
+
+        assertThat(primaryAction.getTitle().toString()).isEqualTo(mContext.getText(
+                com.android.settings.R.string.remote_media_volume_option_title)
+                + " (" + TEST_PACKAGE_LABEL + ")");
+    }
+
+    @Implements(SliceBackgroundWorker.class)
+    public static class ShadowSliceBackgroundWorker {
+
+        @Implementation
+        public static SliceBackgroundWorker getInstance(Uri uri) {
+            return sMediaDeviceUpdateWorker;
+        }
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/network/ActiveSubsciptionsListenerTest.java b/tests/robotests/src/com/android/settings/network/ActiveSubsciptionsListenerTest.java
new file mode 100644
index 0000000..4c7b55b
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/network/ActiveSubsciptionsListenerTest.java
@@ -0,0 +1,200 @@
+/*
+ * 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.network;
+
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.robolectric.Shadows.shadowOf;
+
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.os.Looper;
+import android.telephony.CarrierConfigManager;
+import android.telephony.SubscriptionInfo;
+import android.telephony.SubscriptionManager;
+import android.telephony.TelephonyManager;
+
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+
+import com.android.internal.telephony.TelephonyIntents;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.shadow.api.Shadow;
+import org.robolectric.shadows.ShadowBroadcastReceiver;
+import org.robolectric.shadows.ShadowContextImpl;
+import org.robolectric.shadows.ShadowSubscriptionManager;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.concurrent.atomic.AtomicBoolean;
+
+@RunWith(AndroidJUnit4.class)
+public class ActiveSubsciptionsListenerTest {
+    private static final int SUB_ID1 = 3;
+    private static final int SUB_ID2 = 7;
+
+    private static final Intent INTENT_RADIO_TECHNOLOGY_CHANGED =
+            new Intent(TelephonyIntents.ACTION_RADIO_TECHNOLOGY_CHANGED);
+
+    private static final Intent INTENT_MULTI_SIM_CONFIG_CHANGED =
+            new Intent(TelephonyManager.ACTION_MULTI_SIM_CONFIG_CHANGED);
+
+    private static final Intent INTENT_CARRIER_CONFIG_CHANGED =
+            new Intent(CarrierConfigManager.ACTION_CARRIER_CONFIG_CHANGED);
+
+    private Context mContext;
+    private ShadowContextImpl mShadowContextImpl;
+    private SubscriptionManager mSubscriptionManager;
+    private ShadowSubscriptionManager mShadowSubscriptionManager;
+    private List<SubscriptionInfo> mActiveSubscriptions;
+
+    private ActiveSubsciptionsListenerImpl mListener;
+    private BroadcastReceiver mReceiver;
+    private ShadowBroadcastReceiver mShadowReceiver;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+
+        mContext = RuntimeEnvironment.application.getBaseContext();
+        mShadowContextImpl = Shadow.extract(mContext);
+
+        mSubscriptionManager = spy(mContext.getSystemService(SubscriptionManager.class));
+        mShadowSubscriptionManager = shadowOf(mSubscriptionManager);
+
+        mActiveSubscriptions = new ArrayList<SubscriptionInfo>();
+        mActiveSubscriptions.add(ShadowSubscriptionManager.SubscriptionInfoBuilder
+                .newBuilder().setId(SUB_ID1).buildSubscriptionInfo());
+        mActiveSubscriptions.add(ShadowSubscriptionManager.SubscriptionInfoBuilder
+                .newBuilder().setId(SUB_ID2).buildSubscriptionInfo());
+        mShadowSubscriptionManager.setActiveSubscriptionInfoList(mActiveSubscriptions);
+
+        mListener = spy(new ActiveSubsciptionsListenerImpl(Looper.getMainLooper(), mContext));
+        doReturn(mSubscriptionManager).when(mListener).getSubscriptionManager();
+        mReceiver = mListener.getSubscriptionChangeReceiver();
+        mShadowReceiver = shadowOf(mReceiver);
+        doReturn(mReceiver).when(mListener).getSubscriptionChangeReceiver();
+    }
+
+    @After
+    public void cleanUp() {
+        mListener.close();
+    }
+
+    private class ActiveSubsciptionsListenerImpl extends ActiveSubsciptionsListener {
+        private ActiveSubsciptionsListenerImpl(Looper looper, Context context) {
+            super(looper, context);
+        }
+        public void onChanged() {}
+    }
+
+    private void sendIntentToReceiver(Intent intent) {
+        mShadowReceiver.onReceive(mContext, intent, new AtomicBoolean(false));
+    }
+
+    @Test
+    public void constructor_noListeningWasSetup() {
+        verify(mListener, never()).onChanged();
+    }
+
+    @Test
+    public void start_configChangedIntent_onChangedShouldBeCalled() {
+        sendIntentToReceiver(INTENT_RADIO_TECHNOLOGY_CHANGED);
+        sendIntentToReceiver(INTENT_MULTI_SIM_CONFIG_CHANGED);
+        verify(mListener, never()).onChanged();
+
+        mListener.start();
+
+        sendIntentToReceiver(INTENT_RADIO_TECHNOLOGY_CHANGED);
+        verify(mListener, times(1)).onChanged();
+
+        sendIntentToReceiver(INTENT_MULTI_SIM_CONFIG_CHANGED);
+        verify(mListener, times(2)).onChanged();
+
+        mListener.stop();
+
+        sendIntentToReceiver(INTENT_RADIO_TECHNOLOGY_CHANGED);
+        sendIntentToReceiver(INTENT_MULTI_SIM_CONFIG_CHANGED);
+        verify(mListener, times(2)).onChanged();
+    }
+
+    @Test
+    public void start_carrierConfigChangedIntent_onChangedWhenSubIdBeenCached() {
+        sendIntentToReceiver(INTENT_CARRIER_CONFIG_CHANGED);
+        verify(mListener, never()).onChanged();
+
+        mListener.start();
+
+        mListener.getActiveSubscriptionsInfo();
+
+        sendIntentToReceiver(INTENT_CARRIER_CONFIG_CHANGED);
+        verify(mListener, never()).onChanged();
+
+        INTENT_CARRIER_CONFIG_CHANGED.putExtra(CarrierConfigManager.EXTRA_SUBSCRIPTION_INDEX,
+                SUB_ID2);
+        sendIntentToReceiver(INTENT_CARRIER_CONFIG_CHANGED);
+        verify(mListener, times(1)).onChanged();
+
+        mListener.stop();
+
+        sendIntentToReceiver(INTENT_CARRIER_CONFIG_CHANGED);
+        verify(mListener, times(1)).onChanged();
+    }
+
+
+    @Test
+    public void start_alwaysFetchAndCacheResult() {
+        mListener.start();
+
+        List<SubscriptionInfo> subInfoList = null;
+        int numberOfAccess = 0;
+        for (int numberOfSubInfo = mActiveSubscriptions.size(); numberOfSubInfo >= 0;
+                numberOfSubInfo--) {
+            if (mActiveSubscriptions.size() > numberOfSubInfo) {
+                mActiveSubscriptions.remove(numberOfSubInfo);
+            }
+            mShadowSubscriptionManager.setActiveSubscriptionInfoList(mActiveSubscriptions);
+
+            // fetch twice and test if they generated access to SubscriptionManager only once
+            subInfoList = mListener.getActiveSubscriptionsInfo();
+            subInfoList = mListener.getActiveSubscriptionsInfo();
+
+            numberOfAccess++;
+            verify(mSubscriptionManager, times(numberOfAccess)).getActiveSubscriptionInfoList();
+
+            mListener.clearCache();
+        }
+
+        mShadowSubscriptionManager.setActiveSubscriptionInfoList(null);
+
+        // fetch twice and test if they generated access to SubscriptionManager only once
+        subInfoList = mListener.getActiveSubscriptionsInfo();
+        subInfoList = mListener.getActiveSubscriptionsInfo();
+
+        numberOfAccess++;
+        verify(mSubscriptionManager, times(numberOfAccess)).getActiveSubscriptionInfoList();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/network/AirplaneModePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/network/AirplaneModePreferenceControllerTest.java
index a645bfa..54c3683 100644
--- a/tests/robotests/src/com/android/settings/network/AirplaneModePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/network/AirplaneModePreferenceControllerTest.java
@@ -32,6 +32,7 @@
 import androidx.preference.PreferenceManager;
 import androidx.preference.PreferenceScreen;
 
+import com.android.settings.AirplaneModeEnabler;
 import com.android.settings.core.BasePreferenceController;
 import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settingslib.RestrictedSwitchPreference;
@@ -54,7 +55,8 @@
 
     @Mock
     private PackageManager mPackageManager;
-
+    @Mock
+    private AirplaneModeEnabler mAirplaneModeEnabler;
     private Context mContext;
     private ContentResolver mResolver;
     private PreferenceManager mPreferenceManager;
@@ -86,6 +88,12 @@
     }
 
     @Test
+    public void getSliceUri_shouldUsePlatformAuthority() {
+        assertThat(mController.getSliceUri().getAuthority())
+                .isEqualTo(SettingsSlicesContract.AUTHORITY);
+    }
+
+    @Test
     @Config(qualifiers = "mcc999")
     public void airplaneModePreference_shouldNotBeAvailable_ifSetToNotVisible() {
         assertThat(mController.getAvailabilityStatus())
@@ -120,36 +128,17 @@
 
     @Test
     public void airplaneModePreference_testSetValue_updatesCorrectly() {
-        // Airplane mode default off
-        Settings.Global.putInt(mResolver, Settings.Global.AIRPLANE_MODE_ON, OFF);
-
-        mController.displayPreference(mScreen);
-        mController.onResume();
-
-        assertThat(mPreference.isChecked()).isFalse();
-
-        assertThat(mController.isChecked()).isFalse();
 
         // Set airplane mode ON by setChecked
-        boolean updated = mController.setChecked(true);
-        assertThat(updated).isTrue();
+        mController.setAirplaneModeEnabler(mAirplaneModeEnabler);
+        assertThat(mController.setChecked(true)).isTrue();
 
         // Check return value if set same status.
-        updated = mController.setChecked(true);
-        assertThat(updated).isFalse();
-
-        // UI is updated
-        assertThat(mPreference.isChecked()).isTrue();
-
-        // Settings status changed.
-        int updatedValue = Settings.Global.getInt(mResolver, Settings.Global.AIRPLANE_MODE_ON, OFF);
-        assertThat(updatedValue).isEqualTo(ON);
+        when(mAirplaneModeEnabler.isAirplaneModeOn()).thenReturn(true);
+        assertThat(mController.setChecked(true)).isFalse();
 
         // Set to OFF
         assertThat(mController.setChecked(false)).isTrue();
-        assertThat(mPreference.isChecked()).isFalse();
-        updatedValue = Settings.Global.getInt(mResolver, Settings.Global.AIRPLANE_MODE_ON, OFF);
-        assertThat(updatedValue).isEqualTo(OFF);
     }
 
     @Test
@@ -182,9 +171,12 @@
     }
 
     @Test
-    public void isSliceableCorrectKey_returnsTrue() {
-        final AirplaneModePreferenceController controller =
-                new AirplaneModePreferenceController(mContext,"toggle_airplane");
-        assertThat(controller.isSliceable()).isTrue();
+    public void isSliceable_returnsTrue() {
+        assertThat(mController.isSliceable()).isTrue();
+    }
+
+    @Test
+    public void isPublicSlice_returnsTrue() {
+        assertThat(mController.isPublicSlice()).isTrue();
     }
 }
diff --git a/tests/robotests/src/com/android/settings/network/AllInOneTetherPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/network/AllInOneTetherPreferenceControllerTest.java
new file mode 100644
index 0000000..c74e669
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/network/AllInOneTetherPreferenceControllerTest.java
@@ -0,0 +1,98 @@
+/*
+ * 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.mock;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyNoMoreInteractions;
+import static org.mockito.Mockito.when;
+
+import android.bluetooth.BluetoothAdapter;
+import android.bluetooth.BluetoothPan;
+import android.bluetooth.BluetoothProfile;
+import android.content.Context;
+import android.content.SharedPreferences;
+
+import com.android.settings.widget.MasterSwitchPreference;
+
+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.util.ReflectionHelpers;
+
+import java.util.concurrent.atomic.AtomicReference;
+
+@RunWith(RobolectricTestRunner.class)
+public class AllInOneTetherPreferenceControllerTest {
+
+    @Mock
+    private Context mContext;
+    @Mock
+    private BluetoothAdapter mBluetoothAdapter;
+    @Mock
+    private MasterSwitchPreference mPreference;
+    @Mock
+    private SharedPreferences mSharedPreferences;
+
+    private AllInOneTetherPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mController = spy(AllInOneTetherPreferenceController.class);
+        ReflectionHelpers.setField(mController, "mContext", mContext);
+        ReflectionHelpers.setField(mController, "mBluetoothAdapter", mBluetoothAdapter);
+        ReflectionHelpers.setField(mController, "mPreference", mPreference);
+        ReflectionHelpers
+            .setField(mController, "mTetherEnablerSharedPreferences", mSharedPreferences);
+    }
+
+    @Test
+    public void onCreate_shouldInitBluetoothPan() {
+        when(mBluetoothAdapter.getState()).thenReturn(BluetoothAdapter.STATE_ON);
+        mController.onCreate();
+
+        verify(mBluetoothAdapter).getState();
+        verify(mBluetoothAdapter).getProfileProxy(mContext, mController.mBtProfileServiceListener,
+                BluetoothProfile.PAN);
+    }
+
+    @Test
+    public void onCreate_shouldNotInitBluetoothPanWhenBluetoothOff() {
+        when(mBluetoothAdapter.getState()).thenReturn(BluetoothAdapter.STATE_OFF);
+        mController.onCreate();
+
+        verify(mBluetoothAdapter).getState();
+        verifyNoMoreInteractions(mBluetoothAdapter);
+    }
+
+    @Test
+    public void goThroughLifecycle_shouldDestroyBluetoothProfile() {
+        final BluetoothPan pan = mock(BluetoothPan.class);
+        final AtomicReference<BluetoothPan> panRef =
+                ReflectionHelpers.getField(mController, "mBluetoothPan");
+        panRef.set(pan);
+
+        mController.onDestroy();
+
+        verify(mBluetoothAdapter).closeProfileProxy(BluetoothProfile.PAN, pan);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/network/ApnEditorTest.java b/tests/robotests/src/com/android/settings/network/ApnEditorTest.java
index dc14418..e291a43 100644
--- a/tests/robotests/src/com/android/settings/network/ApnEditorTest.java
+++ b/tests/robotests/src/com/android/settings/network/ApnEditorTest.java
@@ -25,11 +25,11 @@
 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.ContentResolver;
 import android.content.ContentValues;
 import android.content.Context;
+import android.content.Intent;
 import android.content.res.Resources;
 import android.database.Cursor;
 import android.net.Uri;
@@ -46,6 +46,7 @@
 
 import com.android.settings.R;
 import com.android.settings.network.ApnEditor.ApnData;
+import com.android.settings.testutils.shadow.ShadowFragment;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -55,9 +56,9 @@
 import org.mockito.Mock;
 import org.mockito.Mockito;
 import org.mockito.MockitoAnnotations;
-import org.robolectric.Robolectric;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
 
 @RunWith(RobolectricTestRunner.class)
 public class ApnEditorTest {
@@ -96,27 +97,33 @@
     @Mock
     private Cursor mCursor;
 
+    @Mock
+    private FragmentActivity mActivity;
+
     @Captor
     private ArgumentCaptor<Uri> mUriCaptor;
 
     private ApnEditor mApnEditorUT;
-    private FragmentActivity mActivity;
+    private Context mContext;
     private Resources mResources;
 
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
-        mActivity = spy(Robolectric.setupActivity(FragmentActivity.class));
-        mResources = mActivity.getResources();
+        mContext = spy(RuntimeEnvironment.application);
+
+        mResources = mContext.getResources();
         mApnEditorUT = spy(new ApnEditor());
 
         doReturn(mActivity).when(mApnEditorUT).getActivity();
         doReturn(mResources).when(mApnEditorUT).getResources();
         doNothing().when(mApnEditorUT).finish();
         doNothing().when(mApnEditorUT).showError();
-        when(mApnEditorUT.getContext()).thenReturn(RuntimeEnvironment.application);
+        doReturn(mContext).when(mApnEditorUT).getContext();
+        doReturn(mContext.getTheme()).when(mActivity).getTheme();
+        doReturn(mContext.getContentResolver()).when(mActivity).getContentResolver();
 
-        setMockPreference(mActivity);
+        setMockPreference(mContext);
         mApnEditorUT.mApnData = new FakeApnData(APN_DATA);
         mApnEditorUT.sNotSet = "Not Set";
     }
@@ -237,7 +244,6 @@
     @Test
     public void testValidateApnData_validData_shouldReturnNull() {
         // GIVEN a valid apn data
-        mApnEditorUT.mApnData = new FakeApnData(APN_DATA);
         mApnEditorUT.fillUI(true /* firstTime */);
 
         // WHEN validate the apn data
@@ -250,9 +256,7 @@
     @Test
     public void testValidateApn_apnNameNotSet_shouldReturnErrorMessage() {
         // GIVEN a apn data without the apn name
-        final FakeApnData apnData = new FakeApnData(APN_DATA);
-        apnData.mData[ApnEditor.NAME_INDEX] = "";
-        mApnEditorUT.mApnData = apnData;
+        mApnEditorUT.mApnData.mData[ApnEditor.NAME_INDEX] = "";
         mApnEditorUT.fillUI(true /* firstTime */);
 
         // THEN validate the apn data
@@ -265,9 +269,7 @@
     @Test
     public void testValidateApnData_apnNotSet_shouldReturnErrorMessage() {
         // GIVEN a apn data without the apn
-        final FakeApnData apnData = new FakeApnData(APN_DATA);
-        apnData.mData[ApnEditor.APN_INDEX] = "";
-        mApnEditorUT.mApnData = apnData;
+        mApnEditorUT.mApnData.mData[ApnEditor.APN_INDEX] = "";
         mApnEditorUT.fillUI(true /* firstTime */);
 
         // THEN validate the apn data
@@ -279,11 +281,8 @@
 
     @Test
     public void testValidateApnData_mccInvalid_shouldReturnErrorMessage() {
-        // GIVEN a apn data with invalid mcc
-        final FakeApnData apnData = new FakeApnData(APN_DATA);
         // The length of the mcc should be 3
-        apnData.mData[ApnEditor.MCC_INDEX] = "1324";
-        mApnEditorUT.mApnData = apnData;
+        mApnEditorUT.mApnData.mData[ApnEditor.MCC_INDEX] = "1324";
         mApnEditorUT.fillUI(true /* firstTime */);
 
         // WHEN validate the apn data
@@ -296,10 +295,8 @@
     @Test
     public void testValidateApnData_mncInvalid_shouldReturnErrorMessage() {
         // GIVEN an apn data with invalid mnc
-        final FakeApnData apnData = new FakeApnData(APN_DATA);
         // The length of the mnc should be 2 or 3
-        apnData.mData[ApnEditor.MNC_INDEX] = "1324";
-        mApnEditorUT.mApnData = apnData;
+        mApnEditorUT.mApnData.mData[ApnEditor.MNC_INDEX] = "1324";
         mApnEditorUT.fillUI(true /* firstTime */);
 
         // WHEN validate the apn data
@@ -312,12 +309,11 @@
     @Test
     public void testSaveApnData_pressBackButtonWithValidApnData_shouldSaveApnData() {
         // GIVEN a valid apn data
-        mApnEditorUT.mApnData = new FakeApnData(APN_DATA);
         mApnEditorUT.fillUI(true /* firstTime */);
 
         // WHEN press the back button
         final KeyEvent event = new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_BACK);
-        mApnEditorUT.onKey(new View(mActivity), KeyEvent.KEYCODE_BACK, event);
+        mApnEditorUT.onKey(new View(mContext), KeyEvent.KEYCODE_BACK, event);
 
         // THEN the apn data is saved and the apn editor is closed
         verify(mApnEditorUT).validateAndSaveApnData();
@@ -327,7 +323,6 @@
     @Test
     public void testSaveApnData_pressSaveButtonWithValidApnData_shouldSaveApnData() {
         // GIVEN a valid apn data
-        mApnEditorUT.mApnData = new FakeApnData(APN_DATA);
         mApnEditorUT.fillUI(true /* firstTime */);
 
         // WHEN press the save button
@@ -344,10 +339,8 @@
     @Test
     public void testSaveApnData_apnDataInvalid_shouldNotSaveApnData() {
         // GIVEN an invalid apn data
-        final FakeApnData apnData = new FakeApnData(APN_DATA);
         // The valid apn data should contains a non-empty apn name
-        apnData.mData[ApnEditor.NAME_INDEX] = "";
-        mApnEditorUT.mApnData = apnData;
+        mApnEditorUT.mApnData.mData[ApnEditor.NAME_INDEX] = "";
         mApnEditorUT.fillUI(true /* firstTime */);
 
         // WHEN press the save button
@@ -455,7 +448,9 @@
     }
 
     @Test
+    @Config(shadows = ShadowFragment.class)
     public void onCreate_noAction_shouldFinishAndNoCrash() {
+        doReturn(new Intent()).when(mActivity).getIntent();
         doNothing().when(mApnEditorUT).addPreferencesFromResource(anyInt());
 
         mApnEditorUT.onCreate(null);
@@ -464,19 +459,45 @@
     }
 
     @Test
+    public void getUserEnteredApnProtocol_emptyApnProtocol_shouldReturnDefaultIPv4v6() {
+        // GIVEN read default APN protocol with IPV4V6
+        mApnEditorUT.mDefaultApnProtocol = "IPV4V6";
+
+        // Input empty in TYPE
+        mApnEditorUT.mApnData.mData[ApnEditor.PROTOCOL_INDEX] = "";
+        mApnEditorUT.fillUI(true /* firstTime */);
+
+        // THEN APN type should be IPV4V6
+        assertThat(mApnEditorUT.getUserEnteredApnProtocol(
+                mApnEditorUT.mProtocol, mApnEditorUT.mDefaultApnProtocol))
+                .isEqualTo("IPV4V6");
+    }
+
+    @Test
+    public void getUserEnteredApnProtocol_emptyApnProtocol_shouldReturnDefaultIP() {
+        // GIVEN read default APN protocol with IP
+        mApnEditorUT.mDefaultApnProtocol = "IP";
+
+        // Input empty in TYPE
+        mApnEditorUT.mApnData.mData[ApnEditor.PROTOCOL_INDEX] = "";
+        mApnEditorUT.fillUI(true /* firstTime */);
+
+        // THEN APN type should be IPV4V6
+        assertThat(mApnEditorUT.getUserEnteredApnProtocol(
+                mApnEditorUT.mProtocol, mApnEditorUT.mDefaultApnProtocol))
+                .isEqualTo("IP");
+    }
+
+    @Test
     public void getUserEnteredApnType_emptyApnType_shouldReturnDefault() {
         // case 1
         // GIVEN read only APN types with DUN
-        String[] readOnlyApnTypes = {"dun"};
-        mApnEditorUT.mReadOnlyApnTypes = readOnlyApnTypes;
+        mApnEditorUT.mReadOnlyApnTypes = new String [] {"dun"};
         // GIVEN read specificApnTypeForEmptyInput with DEFAULT,DUN
-        String[] defaultApnTypes = {"default", "dun"};
-        mApnEditorUT.mDefaultApnTypes = defaultApnTypes;
+        mApnEditorUT.mDefaultApnTypes = new String [] {"default", "dun"};
 
         // Input empty in TYPE
-        final FakeApnData apnData = new FakeApnData(APN_DATA);
-        apnData.mData[ApnEditor.TYPE_INDEX] = "";
-        mApnEditorUT.mApnData = apnData;
+        mApnEditorUT.mApnData.mData[ApnEditor.TYPE_INDEX] = "";
         mApnEditorUT.fillUI(true /* firstTime */);
 
         // THEN APN type should be default
@@ -484,16 +505,12 @@
 
         // case 2
         // GIVEN read only APN types with DUN
-        String[] readOnlyApnTypesCase2 = {"dun"};
-        mApnEditorUT.mReadOnlyApnTypes = readOnlyApnTypesCase2;
+        mApnEditorUT.mReadOnlyApnTypes = new String [] {"dun"};
         // GIVEN read specificApnTypeForEmptyInput with DEFAULT
-        String[] defaultApnTypesCase2 = {"default"};
-        mApnEditorUT.mDefaultApnTypes = defaultApnTypesCase2;
+        mApnEditorUT.mDefaultApnTypes = new String [] {"default"};
 
         // Input empty in TYPE
-        final FakeApnData apnDataCase2 = new FakeApnData(APN_DATA);
-        apnDataCase2.mData[ApnEditor.TYPE_INDEX] = "";
-        mApnEditorUT.mApnData = apnDataCase2;
+        mApnEditorUT.mApnData.mData[ApnEditor.TYPE_INDEX] = "";
         mApnEditorUT.fillUI(true /* firstTime */);
 
         // THEN APN type should be default
diff --git a/tests/robotests/src/com/android/settings/network/BluetoothTetherPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/network/BluetoothTetherPreferenceControllerTest.java
new file mode 100644
index 0000000..fc180a2
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/network/BluetoothTetherPreferenceControllerTest.java
@@ -0,0 +1,113 @@
+/*
+ * 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.network;
+
+import static com.android.settings.network.TetherEnabler.BLUETOOTH_TETHER_KEY;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.content.SharedPreferences;
+import android.net.ConnectivityManager;
+
+import androidx.preference.SwitchPreference;
+import androidx.test.core.app.ApplicationProvider;
+
+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.util.ReflectionHelpers;
+
+@RunWith(RobolectricTestRunner.class)
+public class BluetoothTetherPreferenceControllerTest {
+
+    @Mock
+    private ConnectivityManager mConnectivityManager;
+    @Mock
+    private SharedPreferences mSharedPreferences;
+
+    private SwitchPreference mSwitchPreference;
+    private BluetoothTetherPreferenceController mController;
+    private Context mContext;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+
+        mContext = spy(ApplicationProvider.getApplicationContext());
+        mSwitchPreference = spy(SwitchPreference.class);
+        when(mContext.getSystemService(Context.CONNECTIVITY_SERVICE)).thenReturn(
+                mConnectivityManager);
+        when(mContext.getSharedPreferences(TetherEnabler.SHARED_PREF, Context.MODE_PRIVATE))
+                .thenReturn(mSharedPreferences);
+        when(mConnectivityManager.getTetherableBluetoothRegexs()).thenReturn(new String[] {""});
+        mController = new BluetoothTetherPreferenceController(mContext, BLUETOOTH_TETHER_KEY);
+        ReflectionHelpers.setField(mController, "mPreference", mSwitchPreference);
+    }
+
+    @Test
+    public void lifecycle_shouldRegisterReceiverOnStart() {
+        mController.onStart();
+
+        verify(mContext).registerReceiver(
+                eq(mController.mBluetoothChangeReceiver),
+                any());
+    }
+
+    @Test
+    public void lifecycle_shouldUnregisterReceiverOnStop() {
+        mController.onStart();
+        mController.onStop();
+
+        verify(mContext).unregisterReceiver(
+                eq(mController.mBluetoothChangeReceiver));
+    }
+
+    @Test
+    public void display_availableChangedCorrectly() {
+        when(mConnectivityManager.getTetherableBluetoothRegexs()).thenReturn(new String[] {""});
+        assertThat(mController.isAvailable()).isTrue();
+
+        when(mConnectivityManager.getTetherableBluetoothRegexs()).thenReturn(new String[0]);
+        assertThat(mController.isAvailable()).isFalse();
+    }
+
+    @Test
+    public void switch_shouldCheckedWhenSharedPreferenceIsTrue() {
+        when(mSharedPreferences.getBoolean(BLUETOOTH_TETHER_KEY, false)).thenReturn(true);
+        mController.onSharedPreferenceChanged(mSharedPreferences, BLUETOOTH_TETHER_KEY);
+
+        verify(mSwitchPreference).setChecked(true);
+    }
+
+    @Test
+    public void switch_shouldUnCheckedWhenSharedPreferenceIsFalse() {
+        when(mSharedPreferences.getBoolean(BLUETOOTH_TETHER_KEY, false)).thenReturn(false);
+        mController.onSharedPreferenceChanged(mSharedPreferences, BLUETOOTH_TETHER_KEY);
+
+        verify(mSwitchPreference).setChecked(false);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/network/DataDuringCallsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/network/DataDuringCallsPreferenceControllerTest.java
index a42420c..d366dfd 100644
--- a/tests/robotests/src/com/android/settings/network/DataDuringCallsPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/network/DataDuringCallsPreferenceControllerTest.java
@@ -18,6 +18,7 @@
 
 import static android.telephony.SubscriptionManager.INVALID_SUBSCRIPTION_ID;
 
+import static com.android.settings.core.BasePreferenceController.AVAILABLE;
 import static com.android.settings.core.BasePreferenceController.CONDITIONALLY_UNAVAILABLE;
 
 import static com.google.common.truth.Truth.assertThat;
@@ -131,4 +132,24 @@
         assertThat(mController.isAvailable()).isTrue();
         assertThat(mSwitchPreference.isVisible()).isTrue();
     }
+
+    @Test
+    public void getAvailabilityStatus_mobileDataChangWithDefaultDataSubId_returnUnavailable() {
+        ShadowSubscriptionManager.setDefaultDataSubscriptionId(SUB_ID_1);
+
+        mController.refreshPreference();
+
+        assertThat(mController.getAvailabilityStatus(SUB_ID_1))
+                .isEqualTo(CONDITIONALLY_UNAVAILABLE);
+    }
+
+    @Test
+    public void getAvailabilityStatus_mobileDataChangWithoutDefaultDataSubId_returnAvailable() {
+        ShadowSubscriptionManager.setDefaultDataSubscriptionId(SUB_ID_1);
+
+        mController.displayPreference(mPreferenceScreen);
+        mController.refreshPreference();
+
+        assertThat(mController.getAvailabilityStatus(SUB_ID_2)).isEqualTo(AVAILABLE);
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/network/GlobalSettingsChangeListenerTest.java b/tests/robotests/src/com/android/settings/network/GlobalSettingsChangeListenerTest.java
new file mode 100644
index 0000000..e419071
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/network/GlobalSettingsChangeListenerTest.java
@@ -0,0 +1,86 @@
+/*
+ * 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.network;
+
+import static org.mockito.Mockito.doNothing;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+
+import android.content.Context;
+import android.os.Looper;
+import android.provider.Settings;
+
+import androidx.lifecycle.Lifecycle;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+@RunWith(RobolectricTestRunner.class)
+public class GlobalSettingsChangeListenerTest {
+
+    @Mock
+    private Lifecycle mLifecycle;
+
+    private Context mContext;
+    private GlobalSettingsChangeListener mListener;
+
+    private static final String SETTINGS_FIELD = Settings.Global.AIRPLANE_MODE_ON;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mContext = spy(RuntimeEnvironment.application);
+        mListener = spy(new GlobalSettingsChangeListener(Looper.getMainLooper(),
+                mContext, SETTINGS_FIELD) {
+            public void onChanged(String field) {}
+        });
+
+        doNothing().when(mLifecycle).addObserver(mListener);
+        doNothing().when(mLifecycle).removeObserver(mListener);
+    }
+
+    @Test
+    public void whenChanged_onChangedBeenCalled() {
+        mListener.onChange(false);
+        verify(mListener, times(1)).onChanged(SETTINGS_FIELD);
+    }
+
+    @Test
+    public void whenNotifyChangeBasedOnLifecycle_onStopEvent_onChangedNotCalled() {
+        mListener.notifyChangeBasedOn(mLifecycle);
+        mListener.onStart();
+
+        mListener.onChange(false);
+        verify(mListener, times(1)).onChanged(SETTINGS_FIELD);
+
+        mListener.onStop();
+
+        mListener.onChange(false);
+        verify(mListener, times(1)).onChanged(SETTINGS_FIELD);
+
+        mListener.onStart();
+
+        mListener.onChange(false);
+        verify(mListener, times(2)).onChanged(SETTINGS_FIELD);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/network/MobileNetworkListControllerTest.java b/tests/robotests/src/com/android/settings/network/MobileNetworkListControllerTest.java
index 4a98753..95d60a4 100644
--- a/tests/robotests/src/com/android/settings/network/MobileNetworkListControllerTest.java
+++ b/tests/robotests/src/com/android/settings/network/MobileNetworkListControllerTest.java
@@ -22,6 +22,8 @@
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.clearInvocations;
+import static org.mockito.Mockito.doNothing;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.spy;
@@ -29,7 +31,6 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import android.app.Activity;
 import android.content.Context;
 import android.content.Intent;
 import android.provider.Settings;
@@ -40,13 +41,14 @@
 
 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;
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
-import org.robolectric.Robolectric;
 import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
 
 import java.util.Arrays;
 
@@ -76,7 +78,7 @@
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
-        mContext = spy(Robolectric.setupActivity(Activity.class));
+        mContext = spy(RuntimeEnvironment.application);
         when(mContext.getSystemService(TelephonyManager.class)).thenReturn(mTelephonyManager);
         when(mContext.getSystemService(EuiccManager.class)).thenReturn(mEuiccManager);
         when(mContext.getSystemService(SubscriptionManager.class)).thenReturn(mSubscriptionManager);
@@ -94,12 +96,14 @@
     }
 
     @Test
+    @Ignore
     public void displayPreference_noSubscriptions_noCrash() {
         mController.displayPreference(mPreferenceScreen);
         mController.onResume();
     }
 
     @Test
+    @Ignore
     public void displayPreference_eSimNotSupported_addMoreLinkNotVisible() {
         when(mEuiccManager.isEnabled()).thenReturn(false);
         mController.displayPreference(mPreferenceScreen);
@@ -108,6 +112,7 @@
     }
 
     @Test
+    @Ignore
     public void displayPreference_eSimSupported_addMoreLinkIsVisible() {
         when(mEuiccManager.isEnabled()).thenReturn(true);
         when(mTelephonyManager.getNetworkCountryIso()).thenReturn("");
@@ -117,6 +122,7 @@
     }
 
     @Test
+    @Ignore
     public void displayPreference_twoSubscriptions_correctlySetup() {
         final SubscriptionInfo sub1 = createMockSubscription(1, "sub1");
         final SubscriptionInfo sub2 = createMockSubscription(2, "sub2");
@@ -137,9 +143,9 @@
 
         // Check that the onclick listeners are setup to fire with the right subscription id.
         final ArgumentCaptor<Intent> intentCaptor = ArgumentCaptor.forClass(Intent.class);
+        doNothing().when(mContext).startActivity(intentCaptor.capture());
         pref1.getOnPreferenceClickListener().onPreferenceClick(pref1);
         pref2.getOnPreferenceClickListener().onPreferenceClick(pref2);
-        verify(mContext, times(2)).startActivity(intentCaptor.capture());
         final Intent intent1 = intentCaptor.getAllValues().get(0);
         final Intent intent2 = intentCaptor.getAllValues().get(1);
         assertThat(intent1.getIntExtra(EXTRA_SUB_ID, INVALID_SUBSCRIPTION_ID)).isEqualTo(1);
@@ -147,12 +153,14 @@
     }
 
     @Test
+    @Ignore
     public void displayPreference_oneActiveESimOneInactivePSim_correctlySetup() {
         final SubscriptionInfo sub1 = createMockSubscription(1, "sub1");
         final SubscriptionInfo sub2 = createMockSubscription(2, "sub2");
         when(sub1.isEmbedded()).thenReturn(true);
         doReturn(true).when(mSubscriptionManager).isActiveSubscriptionId(eq(1));
         doReturn(false).when(mSubscriptionManager).isActiveSubscriptionId(eq(2));
+        doReturn(false).when(mSubscriptionManager).canDisablePhysicalSubscription();
 
         when(sub2.isEmbedded()).thenReturn(false);
         SubscriptionUtil.setAvailableSubscriptionsForTesting(Arrays.asList(sub1, sub2));
@@ -164,16 +172,25 @@
         final ArgumentCaptor<Preference> preferenceCaptor = ArgumentCaptor.forClass(
                 Preference.class);
         verify(mPreferenceScreen, times(2)).addPreference(preferenceCaptor.capture());
-        final Preference pref1 = preferenceCaptor.getAllValues().get(0);
-        final Preference pref2 = preferenceCaptor.getAllValues().get(1);
+        Preference pref1 = preferenceCaptor.getAllValues().get(0);
+        Preference pref2 = preferenceCaptor.getAllValues().get(1);
         assertThat(pref1.getSummary()).isEqualTo("Active / Downloaded SIM");
         assertThat(pref2.getSummary()).isEqualTo("Tap to activate sub2");
 
         pref2.getOnPreferenceClickListener().onPreferenceClick(pref2);
         verify(mSubscriptionManager).setSubscriptionEnabled(eq(2), eq(true));
+
+        // If disabling pSIM is allowed, summary of inactive pSIM should be different.
+        clearInvocations(mPreferenceScreen);
+        clearInvocations(mSubscriptionManager);
+        doReturn(true).when(mSubscriptionManager).canDisablePhysicalSubscription();
+        mController.onResume();
+        pref2 = preferenceCaptor.getAllValues().get(1);
+        assertThat(pref2.getSummary()).isEqualTo("Inactive / SIM");
     }
 
     @Test
+    @Ignore
     public void onSubscriptionsChanged_twoSubscriptionsOneChangesName_preferenceUpdated() {
         final SubscriptionInfo sub1 = createMockSubscription(1, "sub1");
         final SubscriptionInfo sub2 = createMockSubscription(2, "sub2");
@@ -190,6 +207,7 @@
     }
 
     @Test
+    @Ignore
     public void onSubscriptionsChanged_startWithThreeSubsAndRemoveOne_correctPreferenceRemoved() {
         final SubscriptionInfo sub1 = createMockSubscription(1, "sub1");
         final SubscriptionInfo sub2 = createMockSubscription(2, "sub2");
diff --git a/tests/robotests/src/com/android/settings/network/MobileNetworkPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/network/MobileNetworkPreferenceControllerTest.java
index 43e8c47..6d46f9c 100644
--- a/tests/robotests/src/com/android/settings/network/MobileNetworkPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/network/MobileNetworkPreferenceControllerTest.java
@@ -18,9 +18,6 @@
 import static androidx.lifecycle.Lifecycle.Event.ON_START;
 import static androidx.lifecycle.Lifecycle.Event.ON_STOP;
 
-import static com.android.settings.network.MobileNetworkPreferenceController.MOBILE_NETWORK_CLASS;
-import static com.android.settings.network.MobileNetworkPreferenceController.MOBILE_NETWORK_PACKAGE;
-
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.Mockito.doReturn;
@@ -30,23 +27,19 @@
 import static org.mockito.Mockito.when;
 import static org.robolectric.shadow.api.Shadow.extract;
 
-import android.app.Activity;
-import android.content.ComponentName;
 import android.content.Context;
-import android.content.Intent;
 import android.net.ConnectivityManager;
 import android.os.UserManager;
 import android.provider.Settings;
 import android.provider.Settings.Global;
 import android.telephony.PhoneStateListener;
+import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
-import android.util.FeatureFlagUtils;
 
 import androidx.lifecycle.LifecycleOwner;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.core.FeatureFlags;
 import com.android.settings.testutils.shadow.ShadowConnectivityManager;
 import com.android.settings.testutils.shadow.ShadowUserManager;
 import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
@@ -56,11 +49,10 @@
 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.Robolectric;
 import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
 
 @RunWith(RobolectricTestRunner.class)
@@ -71,6 +63,8 @@
     @Mock
     private TelephonyManager mTelephonyManager;
     @Mock
+    private SubscriptionManager mSubscriptionManager;
+    @Mock
     private PreferenceScreen mScreen;
 
     private Lifecycle mLifecycle;
@@ -81,10 +75,11 @@
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
-        mContext = spy(Robolectric.setupActivity(Activity.class));
+        mContext = spy(RuntimeEnvironment.application);
         mLifecycleOwner = () -> mLifecycle;
         mLifecycle = new Lifecycle(mLifecycleOwner);
         when(mContext.getSystemService(Context.TELEPHONY_SERVICE)).thenReturn(mTelephonyManager);
+        when(mContext.getSystemService(SubscriptionManager.class)).thenReturn(mSubscriptionManager);
         mPreference = new Preference(mContext);
         mPreference.setKey(MobileNetworkPreferenceController.KEY_MOBILE_NETWORK_SETTINGS);
     }
@@ -145,8 +140,8 @@
         verify(mTelephonyManager).listen(mController.mPhoneStateListener,
                 PhoneStateListener.LISTEN_SERVICE_STATE);
 
-        // Trigger listener update
-        when(mTelephonyManager.getNetworkOperatorName()).thenReturn(testCarrierName);
+        doReturn(testCarrierName).when(mController).getSummary();
+
         mController.mPhoneStateListener.onServiceStateChanged(null);
 
         // Carrier name should be set.
@@ -184,18 +179,4 @@
         mController.updateState(mPreference);
         assertThat(mPreference.isEnabled()).isFalse();
     }
-
-    @Test
-    public void handlePreferenceTreeClick_mobileFeatureDisabled_sendIntent() {
-        mController = new MobileNetworkPreferenceController(mContext);
-        FeatureFlagUtils.setEnabled(mContext, FeatureFlags.MOBILE_NETWORK_V2, false);
-        ArgumentCaptor<Intent> argument = ArgumentCaptor.forClass(Intent.class);
-
-        mController.handlePreferenceTreeClick(mPreference);
-
-        verify(mContext).startActivity(argument.capture());
-        final ComponentName componentName = argument.getValue().getComponent();
-        assertThat(componentName.getPackageName()).isEqualTo(MOBILE_NETWORK_PACKAGE);
-        assertThat(componentName.getClassName()).isEqualTo(MOBILE_NETWORK_CLASS);
-    }
 }
diff --git a/tests/robotests/src/com/android/settings/network/MobileNetworkSummaryControllerTest.java b/tests/robotests/src/com/android/settings/network/MobileNetworkSummaryControllerTest.java
index e24b0f2..f6bc05a 100644
--- a/tests/robotests/src/com/android/settings/network/MobileNetworkSummaryControllerTest.java
+++ b/tests/robotests/src/com/android/settings/network/MobileNetworkSummaryControllerTest.java
@@ -22,13 +22,13 @@
 import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.ArgumentMatchers.notNull;
 import static org.mockito.Mockito.atLeastOnce;
+import static org.mockito.Mockito.doNothing;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import android.app.Activity;
 import android.content.Context;
 import android.content.Intent;
 import android.net.ConnectivityManager;
@@ -40,26 +40,28 @@
 import android.telephony.euicc.EuiccManager;
 import android.text.TextUtils;
 
+import androidx.lifecycle.Lifecycle;
+import androidx.preference.PreferenceScreen;
+
 import com.android.settings.network.telephony.MobileNetworkActivity;
 import com.android.settings.widget.AddPreference;
 import com.android.settingslib.RestrictedLockUtils;
 
 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;
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
-import org.robolectric.Robolectric;
 import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
 
 import java.util.Arrays;
 
-import androidx.lifecycle.Lifecycle;
-import androidx.preference.PreferenceScreen;
-
 @RunWith(RobolectricTestRunner.class)
+@Ignore
 public class MobileNetworkSummaryControllerTest {
     @Mock
     private Lifecycle mLifecycle;
@@ -81,7 +83,7 @@
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
-        mContext = spy(Robolectric.setupActivity(Activity.class));
+        mContext = spy(RuntimeEnvironment.application);
         when(mContext.getSystemService(TelephonyManager.class)).thenReturn(mTelephonyManager);
         when(mContext.getSystemService(SubscriptionManager.class)).thenReturn(mSubscriptionManager);
         when(mContext.getSystemService(EuiccManager.class)).thenReturn(mEuiccManager);
@@ -130,9 +132,9 @@
         mController.onResume();
         assertThat(mController.getSummary()).isEqualTo("Add a network");
 
-        mPreference.getOnPreferenceClickListener().onPreferenceClick(mPreference);
         final ArgumentCaptor<Intent> intentCaptor = ArgumentCaptor.forClass(Intent.class);
-        verify(mContext).startActivity(intentCaptor.capture());
+        doNothing().when(mContext).startActivity(intentCaptor.capture());
+        mPreference.getOnPreferenceClickListener().onPreferenceClick(mPreference);
         assertThat(intentCaptor.getValue().getAction()).isEqualTo(
                 EuiccManager.ACTION_PROVISION_EMBEDDED_SUBSCRIPTION);
     }
@@ -155,9 +157,9 @@
         mController.onResume();
         assertThat(mController.getSummary()).isEqualTo("sub1");
         assertThat(mPreference.getFragment()).isNull();
-        mPreference.getOnPreferenceClickListener().onPreferenceClick(mPreference);
         final ArgumentCaptor<Intent> intentCaptor = ArgumentCaptor.forClass(Intent.class);
-        verify(mContext).startActivity(intentCaptor.capture());
+        doNothing().when(mContext).startActivity(intentCaptor.capture());
+        mPreference.getOnPreferenceClickListener().onPreferenceClick(mPreference);
         Intent intent = intentCaptor.getValue();
         assertThat(intent.getComponent().getClassName()).isEqualTo(
                 MobileNetworkActivity.class.getName());
@@ -166,7 +168,7 @@
     }
 
     @Test
-    public void getSummary_oneInactivePSim_correctSummaryAndClickHandler() {
+    public void getSummary_oneInactivePSim_cannotDisablePsim_correctSummaryAndClickHandler() {
         final SubscriptionInfo sub1 = mock(SubscriptionInfo.class);
         when(sub1.getSubscriptionId()).thenReturn(1);
         when(sub1.getDisplayName()).thenReturn("sub1");
@@ -184,6 +186,30 @@
     }
 
     @Test
+    public void getSummary_oneInactivePSim_canDisablePsim_correctSummaryAndClickHandler() {
+        final SubscriptionInfo sub1 = mock(SubscriptionInfo.class);
+        when(sub1.getSubscriptionId()).thenReturn(1);
+        when(sub1.getDisplayName()).thenReturn("sub1");
+        SubscriptionUtil.setAvailableSubscriptionsForTesting(Arrays.asList(sub1));
+        when(mSubscriptionManager.isActiveSubscriptionId(eq(1))).thenReturn(false);
+        when(mSubscriptionManager.canDisablePhysicalSubscription()).thenReturn(true);
+
+        mController.displayPreference(mPreferenceScreen);
+        mController.onResume();
+
+        assertThat(mController.getSummary()).isEqualTo("sub1");
+
+        final ArgumentCaptor<Intent> intentCaptor = ArgumentCaptor.forClass(Intent.class);
+        doNothing().when(mContext).startActivity(intentCaptor.capture());
+        mPreference.getOnPreferenceClickListener().onPreferenceClick(mPreference);
+        Intent intent = intentCaptor.getValue();
+        assertThat(intent.getComponent().getClassName()).isEqualTo(
+                MobileNetworkActivity.class.getName());
+        assertThat(intent.getIntExtra(Settings.EXTRA_SUB_ID,
+                SubscriptionManager.INVALID_SUBSCRIPTION_ID)).isEqualTo(sub1.getSubscriptionId());
+    }
+
+    @Test
     public void getSummary_twoSubscriptions_correctSummaryAndFragment() {
         final SubscriptionInfo sub1 = mock(SubscriptionInfo.class);
         final SubscriptionInfo sub2 = mock(SubscriptionInfo.class);
@@ -218,9 +244,9 @@
         mController.onSubscriptionsChanged();
         assertThat(mController.getSummary()).isEqualTo("sub1");
         assertThat(mPreference.getFragment()).isNull();
-        mPreference.getOnPreferenceClickListener().onPreferenceClick(mPreference);
         final ArgumentCaptor<Intent> intentCaptor = ArgumentCaptor.forClass(Intent.class);
-        verify(mContext).startActivity(intentCaptor.capture());
+        doNothing().when(mContext).startActivity(intentCaptor.capture());
+        mPreference.getOnPreferenceClickListener().onPreferenceClick(mPreference);
         assertThat(intentCaptor.getValue().getComponent().getClassName()).isEqualTo(
                 MobileNetworkActivity.class.getName());
     }
@@ -239,9 +265,9 @@
         mController.onResume();
         assertThat(mController.getSummary()).isEqualTo("sub1");
         assertThat(mPreference.getFragment()).isNull();
-        mPreference.getOnPreferenceClickListener().onPreferenceClick(mPreference);
         final ArgumentCaptor<Intent> intentCaptor = ArgumentCaptor.forClass(Intent.class);
-        verify(mContext).startActivity(intentCaptor.capture());
+        doNothing().when(mContext).startActivity(intentCaptor.capture());
+        mPreference.getOnPreferenceClickListener().onPreferenceClick(mPreference);
         assertThat(intentCaptor.getValue().getComponent().getClassName()).isEqualTo(
                 MobileNetworkActivity.class.getName());
 
diff --git a/tests/robotests/src/com/android/settings/network/NetworkScorerPickerTest.java b/tests/robotests/src/com/android/settings/network/NetworkScorerPickerTest.java
index 7607f91..c4e953c 100644
--- a/tests/robotests/src/com/android/settings/network/NetworkScorerPickerTest.java
+++ b/tests/robotests/src/com/android/settings/network/NetworkScorerPickerTest.java
@@ -34,7 +34,7 @@
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.R;
-import com.android.settings.widget.RadioButtonPreference;
+import com.android.settingslib.widget.RadioButtonPreference;
 
 import com.google.android.collect.Lists;
 
diff --git a/tests/robotests/src/com/android/settings/network/PrivateDnsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/network/PrivateDnsPreferenceControllerTest.java
index 15fa5de..efb77eb 100644
--- a/tests/robotests/src/com/android/settings/network/PrivateDnsPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/network/PrivateDnsPreferenceControllerTest.java
@@ -213,7 +213,7 @@
         when(lp.getValidatedPrivateDnsServers()).thenReturn(NON_EMPTY_ADDRESS_LIST);
         updateLinkProperties(lp);
         mController.updateState(mPreference);
-        verify(mPreference).setSummary(getResourceString(R.string.switch_on_text));
+        verify(mPreference).setSummary(getResourceString(R.string.private_dns_mode_on));
 
         reset(mPreference);
         lp = mock(LinkProperties.class);
diff --git a/tests/robotests/src/com/android/settings/network/ShadowServiceManagerExtend.java b/tests/robotests/src/com/android/settings/network/ShadowServiceManagerExtend.java
new file mode 100644
index 0000000..759de88
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/network/ShadowServiceManagerExtend.java
@@ -0,0 +1,53 @@
+/*
+ * 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.network;
+
+import android.os.Binder;
+import android.os.IBinder;
+import android.os.IInterface;
+import android.os.ServiceManager;
+
+import org.robolectric.annotation.Implementation;
+import org.robolectric.annotation.Implements;
+import org.robolectric.shadows.ShadowServiceManager;
+import org.robolectric.util.ReflectionHelpers;
+
+import java.util.HashMap;
+import java.util.Map;
+
+@Implements(value = ServiceManager.class)
+public class ShadowServiceManagerExtend extends ShadowServiceManager {
+    private static final Map<String, IBinder> EXTRA_SERVICES = new HashMap<>();
+
+    @Implementation
+    public static IBinder getService(String name) {
+        final IBinder iBinder = ShadowServiceManager.getService(name);
+        if (iBinder == null) {
+            return EXTRA_SERVICES.get(name);
+        }
+        return iBinder;
+    }
+
+    public static void addService(String name, Class<? extends IInterface> classService,
+            String fullNameClass) {
+        final Binder service = new Binder();
+        service.attachInterface(ReflectionHelpers.createNullProxy(classService), fullNameClass);
+
+        ShadowServiceManager.addService(name, service);
+        EXTRA_SERVICES.put(name, service);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/network/SubscriptionUtilTest.java b/tests/robotests/src/com/android/settings/network/SubscriptionUtilTest.java
index 40b955c..4ae829f 100644
--- a/tests/robotests/src/com/android/settings/network/SubscriptionUtilTest.java
+++ b/tests/robotests/src/com/android/settings/network/SubscriptionUtilTest.java
@@ -16,12 +16,8 @@
 
 package com.android.settings.network;
 
-import static android.telephony.UiccSlotInfo.CARD_STATE_INFO_ABSENT;
-import static android.telephony.UiccSlotInfo.CARD_STATE_INFO_PRESENT;
-
 import static com.google.common.truth.Truth.assertThat;
 
-import static org.mockito.ArgumentMatchers.anyBoolean;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
@@ -30,7 +26,6 @@
 import android.telephony.SubscriptionInfo;
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
-import android.telephony.UiccSlotInfo;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -39,7 +34,6 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 
-import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 
@@ -63,7 +57,7 @@
 
     @Test
     public void getAvailableSubscriptions_nullInfoFromSubscriptionManager_nonNullResult() {
-        when(mSubMgr.getSelectableSubscriptionInfoList()).thenReturn(null);
+        when(mSubMgr.getAvailableSubscriptionInfoList()).thenReturn(null);
         final List<SubscriptionInfo> subs = SubscriptionUtil.getAvailableSubscriptions(mContext);
         assertThat(subs).isNotNull();
         assertThat(subs).isEmpty();
@@ -72,7 +66,7 @@
     @Test
     public void getAvailableSubscriptions_oneSubscription_oneResult() {
         final SubscriptionInfo info = mock(SubscriptionInfo.class);
-        when(mSubMgr.getSelectableSubscriptionInfoList()).thenReturn(Arrays.asList(info));
+        when(mSubMgr.getAvailableSubscriptionInfoList()).thenReturn(Arrays.asList(info));
         final List<SubscriptionInfo> subs = SubscriptionUtil.getAvailableSubscriptions(mContext);
         assertThat(subs).isNotNull();
         assertThat(subs).hasSize(1);
@@ -82,87 +76,15 @@
     public void getAvailableSubscriptions_twoSubscriptions_twoResults() {
         final SubscriptionInfo info1 = mock(SubscriptionInfo.class);
         final SubscriptionInfo info2 = mock(SubscriptionInfo.class);
-        when(mSubMgr.getSelectableSubscriptionInfoList()).thenReturn(Arrays.asList(info1, info2));
+        when(mSubMgr.getAvailableSubscriptionInfoList()).thenReturn(Arrays.asList(info1, info2));
         final List<SubscriptionInfo> subs = SubscriptionUtil.getAvailableSubscriptions(mContext);
         assertThat(subs).isNotNull();
         assertThat(subs).hasSize(2);
     }
 
     @Test
-    public void getAvailableSubscriptions_oneSelectableOneDisabledPSim_twoResults() {
-        final SubscriptionInfo info1 = mock(SubscriptionInfo.class);
-        final SubscriptionInfo info2 = mock(SubscriptionInfo.class);
-
-        when(info1.getSubscriptionId()).thenReturn(111);
-        when(info1.getSimSlotIndex()).thenReturn(-1);
-        when(info1.getCardString()).thenReturn("info1_cardid");
-
-        when(info2.getSubscriptionId()).thenReturn(222);
-        when(info2.getSimSlotIndex()).thenReturn(0);
-        when(info2.getCardString()).thenReturn("info2_cardid");
-
-        when(mSubMgr.getSelectableSubscriptionInfoList()).thenReturn(Arrays.asList(info1));
-        when(mSubMgr.getAllSubscriptionInfoList()).thenReturn(Arrays.asList(info1, info2));
-
-        final UiccSlotInfo info2slot = mock(UiccSlotInfo.class);
-        when(info2slot.getCardStateInfo()).thenReturn(CARD_STATE_INFO_PRESENT);
-        when(info2slot.getLogicalSlotIdx()).thenReturn(0);
-        when(info2slot.getCardId()).thenReturn("info2_cardid");
-
-        final UiccSlotInfo[] slotInfos = {info2slot};
-        when(mTelMgr.getUiccSlotsInfo()).thenReturn(slotInfos);
-
-        final List<SubscriptionInfo> subs = SubscriptionUtil.getAvailableSubscriptions(mContext);
-        assertThat(subs).hasSize(2);
-        assertThat(subs.get(0).getSubscriptionId()).isEqualTo(111);
-        assertThat(subs.get(1).getSubscriptionId()).isEqualTo(222);
-    }
-
-
-    @Test
-    public void getAvailableSubscriptions_oneSelectableTwoDisabledPSimsOneAbsent_twoResults() {
-        final SubscriptionInfo info1 = mock(SubscriptionInfo.class);
-        final SubscriptionInfo info2 = mock(SubscriptionInfo.class);
-        final SubscriptionInfo info3 = mock(SubscriptionInfo.class);
-
-        when(info1.getSubscriptionId()).thenReturn(111);
-        when(info1.getSimSlotIndex()).thenReturn(-1);
-        when(info1.getCardString()).thenReturn("info1_cardid");
-
-        when(info2.getSubscriptionId()).thenReturn(222);
-        when(info2.getSimSlotIndex()).thenReturn(-1);
-        when(info2.getCardString()).thenReturn("info2_cardid");
-
-        when(info3.getSubscriptionId()).thenReturn(333);
-        when(info3.getSimSlotIndex()).thenReturn(0);
-        when(info3.getCardString()).thenReturn("info3_cardid");
-
-        when(mSubMgr.getSelectableSubscriptionInfoList()).thenReturn(Arrays.asList(info1));
-        when(mSubMgr.getAllSubscriptionInfoList()).thenReturn(Arrays.asList(info1, info2, info3));
-
-        final UiccSlotInfo info2slot = mock(UiccSlotInfo.class);
-        final UiccSlotInfo info3slot = mock(UiccSlotInfo.class);
-
-        when(info2slot.getLogicalSlotIdx()).thenReturn(-1);
-        when(info2slot.getCardStateInfo()).thenReturn(CARD_STATE_INFO_ABSENT);
-        when(info2slot.getCardId()).thenReturn("info2_cardid");
-
-        when(info3slot.getLogicalSlotIdx()).thenReturn(0);
-        when(info3slot.getCardStateInfo()).thenReturn(CARD_STATE_INFO_PRESENT);
-        when(info3slot.getCardId()).thenReturn("info3_cardid");
-
-        final UiccSlotInfo[] slotInfos = {info2slot, info3slot};
-        when(mTelMgr.getUiccSlotsInfo()).thenReturn(slotInfos);
-
-        final List<SubscriptionInfo> subs = SubscriptionUtil.getAvailableSubscriptions(mContext);
-        assertThat(subs).hasSize(2);
-        assertThat(subs.get(0).getSubscriptionId()).isEqualTo(111);
-        assertThat(subs.get(1).getSubscriptionId()).isEqualTo(333);
-    }
-
-    @Test
     public void getActiveSubscriptions_nullInfoFromSubscriptionManager_nonNullResult() {
-        when(mSubMgr.getActiveSubscriptionInfoList(anyBoolean())).thenReturn(null);
+        when(mSubMgr.getActiveSubscriptionInfoList()).thenReturn(null);
         final List<SubscriptionInfo> subs = SubscriptionUtil.getActiveSubscriptions(mSubMgr);
         assertThat(subs).isNotNull();
         assertThat(subs).isEmpty();
@@ -171,7 +93,7 @@
     @Test
     public void getActiveSubscriptions_oneSubscription_oneResult() {
         final SubscriptionInfo info = mock(SubscriptionInfo.class);
-        when(mSubMgr.getActiveSubscriptionInfoList(anyBoolean())).thenReturn(Arrays.asList(info));
+        when(mSubMgr.getActiveSubscriptionInfoList()).thenReturn(Arrays.asList(info));
         final List<SubscriptionInfo> subs = SubscriptionUtil.getActiveSubscriptions(mSubMgr);
         assertThat(subs).isNotNull();
         assertThat(subs).hasSize(1);
@@ -181,7 +103,7 @@
     public void getActiveSubscriptions_twoSubscriptions_twoResults() {
         final SubscriptionInfo info1 = mock(SubscriptionInfo.class);
         final SubscriptionInfo info2 = mock(SubscriptionInfo.class);
-        when(mSubMgr.getActiveSubscriptionInfoList(anyBoolean())).thenReturn(
+        when(mSubMgr.getActiveSubscriptionInfoList()).thenReturn(
                 Arrays.asList(info1, info2));
         final List<SubscriptionInfo> subs = SubscriptionUtil.getActiveSubscriptions(mSubMgr);
         assertThat(subs).isNotNull();
diff --git a/tests/robotests/src/com/android/settings/network/SubscriptionsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/network/SubscriptionsPreferenceControllerTest.java
index 51f8ec0..6fd94c3 100644
--- a/tests/robotests/src/com/android/settings/network/SubscriptionsPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/network/SubscriptionsPreferenceControllerTest.java
@@ -29,6 +29,7 @@
 import static org.mockito.ArgumentMatchers.anyBoolean;
 import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.doNothing;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.spy;
@@ -63,6 +64,7 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.Robolectric;
 import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
 import org.robolectric.shadows.ShadowSubscriptionManager;
 
@@ -107,7 +109,7 @@
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
-        mContext = spy(Robolectric.setupActivity(Activity.class));
+        mContext = spy(RuntimeEnvironment.application);
         mLifecycleOwner = () -> mLifecycle;
         mLifecycle = new Lifecycle(mLifecycleOwner);
         when(mContext.getSystemService(SubscriptionManager.class)).thenReturn(mSubscriptionManager);
@@ -257,14 +259,14 @@
      */
     private void runPreferenceClickTest(final int subscriptionCount, final int selectedPrefIndex) {
         final List<SubscriptionInfo> subs = setupMockSubscriptions(subscriptionCount);
-        mController.displayPreference(mScreen);
         final ArgumentCaptor<Preference> prefCaptor = ArgumentCaptor.forClass(Preference.class);
+        mController.displayPreference(mScreen);
         verify(mPreferenceCategory, times(subscriptionCount)).addPreference(prefCaptor.capture());
         final List<Preference> prefs = prefCaptor.getAllValues();
         final Preference pref = prefs.get(selectedPrefIndex);
-        pref.getOnPreferenceClickListener().onPreferenceClick(pref);
         final ArgumentCaptor<Intent> intentCaptor = ArgumentCaptor.forClass(Intent.class);
-        verify(mContext).startActivity(intentCaptor.capture());
+        doNothing().when(mContext).startActivity(intentCaptor.capture());
+        pref.getOnPreferenceClickListener().onPreferenceClick(pref);
         final Intent intent = intentCaptor.getValue();
         assertThat(intent).isNotNull();
         assertThat(intent.hasExtra(Settings.EXTRA_SUB_ID)).isTrue();
diff --git a/tests/robotests/src/com/android/settings/network/TetherEnablerTest.java b/tests/robotests/src/com/android/settings/network/TetherEnablerTest.java
new file mode 100644
index 0000000..22e35fd
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/network/TetherEnablerTest.java
@@ -0,0 +1,244 @@
+/*
+ * 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.network;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyBoolean;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.bluetooth.BluetoothAdapter;
+import android.bluetooth.BluetoothPan;
+import android.content.Context;
+import android.content.SharedPreferences;
+import android.net.ConnectivityManager;
+import android.net.NetworkPolicyManager;
+import android.net.wifi.WifiManager;
+
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.widget.SwitchBar;
+import com.android.settings.widget.SwitchBarController;
+import com.android.settings.widget.SwitchWidgetController;
+
+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.util.ReflectionHelpers;
+
+import java.util.concurrent.atomic.AtomicReference;
+
+@RunWith(RobolectricTestRunner.class)
+public class TetherEnablerTest {
+    @Mock
+    private WifiManager mWifiManager;
+    @Mock
+    private ConnectivityManager mConnectivityManager;
+    @Mock
+    private NetworkPolicyManager mNetworkPolicyManager;
+    @Mock
+    private BluetoothPan mBluetoothPan;
+    @Mock
+    private SharedPreferences mSharedPreferences;
+
+    private SwitchBar mSwitchBar;
+    private TetherEnabler mEnabler;
+    private SwitchWidgetController mSwitchWidgetController;
+    private static final String[] USB_TETHERED = {"usb"};
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+
+        Context context = spy(ApplicationProvider.getApplicationContext());
+        AtomicReference<BluetoothPan> panReference = spy(AtomicReference.class);
+        mSwitchBar = spy(new SwitchBar(context));
+        mSwitchWidgetController = spy(new SwitchBarController(mSwitchBar));
+        when(context.getSystemService(Context.WIFI_SERVICE)).thenReturn(mWifiManager);
+        when(context.getSystemService(Context.CONNECTIVITY_SERVICE)).thenReturn(
+                mConnectivityManager);
+        when(context.getSystemService(Context.NETWORK_POLICY_SERVICE)).thenReturn(
+                mNetworkPolicyManager);
+        when(mConnectivityManager.getTetherableIfaces()).thenReturn(new String[0]);
+        when(mConnectivityManager.getTetheredIfaces()).thenReturn(new String[0]);
+        when(mConnectivityManager.getTetherableUsbRegexs()).thenReturn(new String[0]);
+        panReference.set(mBluetoothPan);
+        when(context.getSharedPreferences(TetherEnabler.SHARED_PREF, Context.MODE_PRIVATE))
+                .thenReturn(mSharedPreferences);
+        SharedPreferences.Editor editor = mock(SharedPreferences.Editor.class);
+        when(mSharedPreferences.edit()).thenReturn(editor);
+        mEnabler = spy(new TetherEnabler(context, mSwitchWidgetController, panReference));
+    }
+
+    @Test
+    public void lifecycle_onPause_unRegisterSharedPreferenceListener() {
+        mEnabler.onResume();
+        verify(mSharedPreferences).registerOnSharedPreferenceChangeListener(
+                eq(mEnabler));
+
+        mEnabler.onPause();
+        verify(mSharedPreferences).unregisterOnSharedPreferenceChangeListener(
+                eq(mEnabler));
+    }
+
+    @Test
+    public void lifecycle_onStart_setCheckedCorrectly() {
+        when(mConnectivityManager.getTetheredIfaces()).thenReturn(USB_TETHERED);
+        when(mConnectivityManager.getTetherableUsbRegexs()).thenReturn(USB_TETHERED);
+
+        mEnabler.onStart();
+        assertThat(mSwitchBar.isChecked()).isTrue();
+    }
+
+    @Test
+    public void startTether_fail_resetSwitchBar() {
+        when(mNetworkPolicyManager.getRestrictBackground()).thenReturn(false);
+        mEnabler.onStart();
+        mEnabler.startTether();
+
+        when(mConnectivityManager.getTetheredIfaces()).thenReturn(new String[0]);
+        mEnabler.mOnStartTetheringCallback.onTetheringFailed();
+
+        assertThat(mSwitchBar.isChecked()).isFalse();
+        assertThat(mSwitchBar.isEnabled()).isTrue();
+    }
+
+    @Test
+    public void onDataSaverChanged_setsEnabledCorrectly() {
+        mSwitchBar.setEnabled(true);
+
+        // try to turn data saver on
+        when(mNetworkPolicyManager.getRestrictBackground()).thenReturn(true);
+        mEnabler.onDataSaverChanged(true);
+        assertThat(mSwitchBar.isEnabled()).isFalse();
+
+        // lets turn data saver off again
+        when(mNetworkPolicyManager.getRestrictBackground()).thenReturn(false);
+        mEnabler.onDataSaverChanged(false);
+        assertThat(mSwitchBar.isEnabled()).isTrue();
+    }
+
+    @Test
+    public void onSwitchToggled_onlyStartsWifiTetherWhenNeeded() {
+        when(mSharedPreferences.getBoolean(TetherEnabler.KEY_ENABLE_WIFI_TETHERING, true))
+                .thenReturn(true);
+        when(mWifiManager.isWifiApEnabled()).thenReturn(true);
+        mEnabler.onSwitchToggled(true);
+        verify(mConnectivityManager, never()).startTethering(anyInt(), anyBoolean(), any(), any());
+
+        doReturn(false).when(mWifiManager).isWifiApEnabled();
+        mEnabler.onSwitchToggled(true);
+        verify(mConnectivityManager).startTethering(anyInt(), anyBoolean(), any(), any());
+    }
+
+    @Test
+    public void onSwitchToggled_shouldStartUSBTetherWhenSelected() {
+        SharedPreferences preference = mock(SharedPreferences.class);
+        ReflectionHelpers.setField(mEnabler, "mSharedPreferences", preference);
+        when(preference.getBoolean(TetherEnabler.KEY_ENABLE_WIFI_TETHERING, true))
+                .thenReturn(false);
+        when(preference.getBoolean(TetherEnabler.USB_TETHER_KEY, false)).thenReturn(true);
+        when(preference.getBoolean(TetherEnabler.BLUETOOTH_TETHER_KEY, true)).thenReturn(false);
+
+        mEnabler.startTether();
+        verify(mConnectivityManager).startTethering(
+                eq(ConnectivityManager.TETHERING_USB), anyBoolean(), any(), any());
+        verify(mConnectivityManager, never())
+                .startTethering(eq(ConnectivityManager.TETHERING_WIFI), anyBoolean(), any(), any());
+        verify(mConnectivityManager, never()).startTethering(
+                eq(ConnectivityManager.TETHERING_BLUETOOTH), anyBoolean(), any(), any());
+    }
+
+    @Test
+    public void startTether_startsBluetoothTetherWhenOff() {
+        BluetoothAdapter adapter = mock(BluetoothAdapter.class);
+        ReflectionHelpers.setField(mEnabler, "mBluetoothAdapter", adapter);
+        when(adapter.getState()).thenReturn(BluetoothAdapter.STATE_OFF);
+
+        mEnabler.startTethering(ConnectivityManager.TETHERING_BLUETOOTH);
+        verify(adapter).enable();
+
+        when(adapter.getState()).thenReturn(BluetoothAdapter.STATE_ON);
+        mEnabler.startTethering(ConnectivityManager.TETHERING_BLUETOOTH);
+        verify(mConnectivityManager).startTethering(
+                eq(ConnectivityManager.TETHERING_BLUETOOTH), anyBoolean(), any(), any());
+    }
+
+    @Test
+    public void updateState_onSwitchToggleNeverCalled() {
+        mSwitchWidgetController.setListener(mEnabler);
+        mSwitchWidgetController.startListening();
+
+        mEnabler.updateState(null /* tethered */);
+        verify(mEnabler, never()).onSwitchToggled(anyBoolean());
+    }
+
+    @Test
+    public void updateState_shouldEnableSwitchBarNotTethering() {
+        mSwitchWidgetController.setListener(mEnabler);
+        mSwitchWidgetController.startListening();
+
+        ReflectionHelpers.setField(mEnabler, "mDataSaverEnabled", false);
+        mEnabler.updateState(null/*tethered*/);
+        verify(mSwitchBar).setEnabled(true);
+    }
+
+    @Test
+    public void updateState_shouldEnableSwitchBarTethering() {
+        mSwitchWidgetController.setListener(mEnabler);
+        mSwitchWidgetController.startListening();
+
+        ReflectionHelpers.setField(mEnabler, "mDataSaverEnabled", false);
+        mEnabler.updateState(new String[]{""});
+        verify(mSwitchBar).setEnabled(true);
+    }
+
+    @Test
+    public void updateState_onSharedPreferencesChangeNeverCalled() {
+        mSharedPreferences.registerOnSharedPreferenceChangeListener(mEnabler);
+        mSwitchWidgetController.setListener(mEnabler);
+        mSwitchWidgetController.startListening();
+
+        mEnabler.updateState(null /* tethered */);
+        verify(mEnabler, never()).onSharedPreferenceChanged(eq(mSharedPreferences), any());
+        verify(mEnabler, never()).onSharedPreferenceChanged(eq(mSharedPreferences), any());
+    }
+
+    @Test
+    public void updateState_setSharedPreferencesOnlyWhenNeeded() {
+        mSwitchWidgetController.setListener(mEnabler);
+        mSwitchWidgetController.startListening();
+
+        mEnabler.updateState(null /* tethered */);
+        verify(mSharedPreferences, never()).edit();
+
+        when(mConnectivityManager.getTetherableUsbRegexs()).thenReturn(USB_TETHERED);
+        mSharedPreferences.registerOnSharedPreferenceChangeListener(mEnabler);
+        mEnabler.updateState(USB_TETHERED);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/network/UsbTetherPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/network/UsbTetherPreferenceControllerTest.java
new file mode 100644
index 0000000..ce9da47
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/network/UsbTetherPreferenceControllerTest.java
@@ -0,0 +1,110 @@
+/*
+ * 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.network;
+
+import static com.android.settings.network.TetherEnabler.USB_TETHER_KEY;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.content.SharedPreferences;
+import android.net.ConnectivityManager;
+
+import androidx.preference.SwitchPreference;
+import androidx.test.core.app.ApplicationProvider;
+
+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.util.ReflectionHelpers;
+
+@RunWith(RobolectricTestRunner.class)
+public class UsbTetherPreferenceControllerTest {
+
+    @Mock
+    private ConnectivityManager mConnectivityManager;
+    @Mock
+    private SharedPreferences mSharedPreferences;
+
+    private Context mContext;
+    private UsbTetherPreferenceController mController;
+    private SwitchPreference mSwitchPreference;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+
+        mContext = spy(ApplicationProvider.getApplicationContext());
+        when(mContext.getSystemService(Context.CONNECTIVITY_SERVICE)).thenReturn(
+                mConnectivityManager);
+        when(mConnectivityManager.getTetherableUsbRegexs()).thenReturn(new String[]{""});
+        when(mContext.getSharedPreferences(TetherEnabler.SHARED_PREF, Context.MODE_PRIVATE))
+                .thenReturn(mSharedPreferences);
+        mController = new UsbTetherPreferenceController(mContext, USB_TETHER_KEY);
+        mSwitchPreference = spy(SwitchPreference.class);
+        ReflectionHelpers.setField(mController, "mPreference", mSwitchPreference);
+    }
+
+    @Test
+    public void lifecycle_shouldRegisterReceiverOnStart() {
+        mController.onStart();
+
+        verify(mContext).registerReceiver(eq(mController.mUsbChangeReceiver), any());
+    }
+
+    @Test
+    public void lifecycle_shouldUnregisterReceiverOnStop() {
+        mController.onStart();
+        mController.onStop();
+
+        verify(mContext).unregisterReceiver(eq(mController.mUsbChangeReceiver));
+    }
+
+    @Test
+    public void display_availableChangedCorrectly() {
+        when(mConnectivityManager.getTetherableUsbRegexs()).thenReturn(new String[]{""});
+        assertThat(mController.isAvailable()).isTrue();
+
+        when(mConnectivityManager.getTetherableUsbRegexs()).thenReturn(new String[0]);
+        assertThat(mController.isAvailable()).isFalse();
+    }
+
+    @Test
+    public void switch_shouldCheckedWhenSharedPreferencesIsTrue() {
+        when(mSharedPreferences.getBoolean(USB_TETHER_KEY, false)).thenReturn(true);
+        mController.onSharedPreferenceChanged(mSharedPreferences, USB_TETHER_KEY);
+
+        verify(mSwitchPreference).setChecked(true);
+    }
+
+    @Test
+    public void switch_shouldUnCheckedWhenSharedPreferencesIsFalse() {
+        when(mSharedPreferences.getBoolean(USB_TETHER_KEY, false)).thenReturn(false);
+        mController.onSharedPreferenceChanged(mSharedPreferences, USB_TETHER_KEY);
+
+        verify(mSwitchPreference).setChecked(false);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/network/WifiTetherDisablePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/network/WifiTetherDisablePreferenceControllerTest.java
new file mode 100644
index 0000000..ebb9902
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/network/WifiTetherDisablePreferenceControllerTest.java
@@ -0,0 +1,126 @@
+/*
+ * 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.network;
+
+import static com.android.settings.network.TetherEnabler.BLUETOOTH_TETHER_KEY;
+import static com.android.settings.network.TetherEnabler.USB_TETHER_KEY;
+import static com.android.settings.network.TetherEnabler.WIFI_TETHER_DISABLE_KEY;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.content.SharedPreferences;
+import android.net.ConnectivityManager;
+
+import androidx.preference.PreferenceScreen;
+import androidx.preference.SwitchPreference;
+import androidx.test.core.app.ApplicationProvider;
+
+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.util.ReflectionHelpers;
+
+@RunWith(RobolectricTestRunner.class)
+public class WifiTetherDisablePreferenceControllerTest {
+
+    @Mock
+    private ConnectivityManager mConnectivityManager;
+    @Mock
+    private SharedPreferences mSharedPreferences;
+    @Mock
+    private PreferenceScreen mPreferenceScreen;
+
+    private SwitchPreference mPreference;
+    private Context mContext;
+    private WifiTetherDisablePreferenceController mController;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+
+        mContext = spy(ApplicationProvider.getApplicationContext());
+        mPreference = spy(SwitchPreference.class);
+        when(mContext.getSystemService(Context.CONNECTIVITY_SERVICE)).thenReturn(
+                mConnectivityManager);
+        when(mConnectivityManager.getTetherableWifiRegexs()).thenReturn(new String[]{""});
+        when(mContext.getSharedPreferences(TetherEnabler.SHARED_PREF, Context.MODE_PRIVATE))
+                .thenReturn(mSharedPreferences);
+        mController = new WifiTetherDisablePreferenceController(mContext, WIFI_TETHER_DISABLE_KEY);
+        ReflectionHelpers.setField(mController, "mScreen", mPreferenceScreen);
+        ReflectionHelpers.setField(mController, "mPreference", mPreference);
+        when(mPreferenceScreen.findPreference(WIFI_TETHER_DISABLE_KEY)).thenReturn(mPreference);
+    }
+
+    @Test
+
+    public void lifecycle_shouldRegisterReceiverOnResume() {
+        mController.onResume();
+
+        verify(mSharedPreferences).registerOnSharedPreferenceChangeListener(eq(mController));
+    }
+
+    @Test
+    public void lifecycle_shouldUnregisterReceiverOnStop() {
+        mController.onResume();
+        mController.onPause();
+
+        verify(mSharedPreferences).unregisterOnSharedPreferenceChangeListener(eq(mController));
+    }
+
+    @Test
+    public void display_availableChangedCorrectly() {
+        when(mConnectivityManager.getTetherableWifiRegexs()).thenReturn(new String[0]);
+        assertThat(mController.isAvailable()).isFalse();
+
+        when(mConnectivityManager.getTetherableWifiRegexs()).thenReturn(new String[]{"test"});
+        ReflectionHelpers.setField(mController, "mBluetoothTetherEnabled", false);
+        ReflectionHelpers.setField(mController, "mUSBTetherEnabled", false);
+        assertThat(mController.isAvailable()).isFalse();
+    }
+
+    @Test
+    public void switch_shouldListenToUsbAndBluetooth() {
+        when(mSharedPreferences.getBoolean(BLUETOOTH_TETHER_KEY, false)).thenReturn(true);
+        mController.onSharedPreferenceChanged(mSharedPreferences, BLUETOOTH_TETHER_KEY);
+        verify(mPreference).setVisible(eq(true));
+
+        when(mSharedPreferences.getBoolean(USB_TETHER_KEY, false)).thenReturn(true);
+        mController.onSharedPreferenceChanged(mSharedPreferences, USB_TETHER_KEY);
+        assertThat(mController.shouldShow()).isTrue();
+
+        when(mSharedPreferences.getBoolean(USB_TETHER_KEY, false)).thenReturn(false);
+        mController.onSharedPreferenceChanged(mSharedPreferences, USB_TETHER_KEY);
+        assertThat(mController.shouldShow()).isTrue();
+
+        when(mSharedPreferences.getBoolean(BLUETOOTH_TETHER_KEY, false)).thenReturn(false);
+        when(mSharedPreferences.edit()).thenReturn(mock(SharedPreferences.Editor.class));
+        when(mPreference.isChecked()).thenReturn(true);
+        mController.onSharedPreferenceChanged(mSharedPreferences, BLUETOOTH_TETHER_KEY);
+        verify(mPreference).setChecked(eq(false));
+        verify(mPreference).setVisible(eq(false));
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/network/ims/MockVolteQueryImsState.java b/tests/robotests/src/com/android/settings/network/ims/MockVolteQueryImsState.java
new file mode 100644
index 0000000..97d76ca
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/network/ims/MockVolteQueryImsState.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.network.ims;
+
+import android.content.Context;
+import android.telephony.ims.ImsException;
+
+import com.android.ims.ImsManager;
+
+
+
+/**
+ * Controller class for mock VoLte status
+ */
+public class MockVolteQueryImsState extends VolteQueryImsState {
+
+    private Boolean mIsTtyOnVolteEnabled;
+    private Boolean mIsSupported;
+    private Boolean mIsProvisionedOnDevice;
+    private Boolean mIsEnabledByUser;
+
+    /**
+     * Constructor
+     *
+     * @param context {@link Context}
+     * @param subId subscription's id
+     */
+    public MockVolteQueryImsState(Context context, int subId) {
+        super(context, subId);
+    }
+
+    public ImsManager getImsManager(int subId) {
+        return super.getImsManager(subId);
+    }
+
+    public void setIsTtyOnVolteEnabled(boolean enabled) {
+        mIsTtyOnVolteEnabled = enabled;
+    }
+
+    @Override
+    boolean isTtyOnVolteEnabled(int subId) {
+        if (mIsTtyOnVolteEnabled != null) {
+            return mIsTtyOnVolteEnabled;
+        }
+        return super.isTtyOnVolteEnabled(subId);
+    }
+
+    public void setEnabledByPlatform(boolean isSupported) {
+        mIsSupported = isSupported;
+    }
+
+    @Override
+    boolean isEnabledByPlatform(int subId) throws InterruptedException, ImsException,
+            IllegalArgumentException {
+        if (mIsSupported != null) {
+            return mIsSupported;
+        }
+        return super.isEnabledByPlatform(subId);
+    }
+
+    public void setIsProvisionedOnDevice(boolean isProvisioned) {
+        mIsProvisionedOnDevice = isProvisioned;
+    }
+
+    @Override
+    boolean isProvisionedOnDevice(int subId) {
+        if (mIsProvisionedOnDevice != null) {
+            return mIsProvisionedOnDevice;
+        }
+        return super.isProvisionedOnDevice(subId);
+    }
+
+    public void setIsEnabledByUser(boolean enabled) {
+        mIsEnabledByUser = enabled;
+    }
+
+    @Override
+    boolean isEnabledByUser(int subId) {
+        if (mIsEnabledByUser != null) {
+            return mIsEnabledByUser;
+        }
+        return super.isEnabledByUser(subId);
+    }
+
+}
diff --git a/tests/robotests/src/com/android/settings/network/ims/MockVtQueryImsState.java b/tests/robotests/src/com/android/settings/network/ims/MockVtQueryImsState.java
new file mode 100644
index 0000000..4fd7d0c
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/network/ims/MockVtQueryImsState.java
@@ -0,0 +1,82 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.network.ims;
+
+import android.content.Context;
+
+import com.android.ims.ImsManager;
+
+
+/**
+ * Controller class for mock VT status
+ */
+public class MockVtQueryImsState extends VtQueryImsState {
+
+    private Boolean mIsTtyOnVolteEnabled;
+    private Boolean mIsProvisionedOnDevice;
+    private Boolean mIsEnabledByUser;
+
+    /**
+     * Constructor
+     *
+     * @param context {@link Context}
+     * @param subId subscription's id
+     */
+    public MockVtQueryImsState(Context context, int subId) {
+        super(context, subId);
+    }
+
+    public ImsManager getImsManager(int subId) {
+        return super.getImsManager(subId);
+    }
+
+    public void setIsTtyOnVolteEnabled(boolean enabled) {
+        mIsTtyOnVolteEnabled = enabled;
+    }
+
+    @Override
+    boolean isTtyOnVolteEnabled(int subId) {
+        if (mIsTtyOnVolteEnabled != null) {
+            return mIsTtyOnVolteEnabled;
+        }
+        return super.isTtyOnVolteEnabled(subId);
+    }
+
+    public void setIsProvisionedOnDevice(boolean isProvisioned) {
+        mIsProvisionedOnDevice = isProvisioned;
+    }
+
+    @Override
+    boolean isProvisionedOnDevice(int subId) {
+        if (mIsProvisionedOnDevice != null) {
+            return mIsProvisionedOnDevice;
+        }
+        return super.isProvisionedOnDevice(subId);
+    }
+
+    public void setIsEnabledByUser(boolean enabled) {
+        mIsEnabledByUser = enabled;
+    }
+
+    @Override
+    boolean isEnabledByUser(int subId) {
+        if (mIsEnabledByUser != null) {
+            return mIsEnabledByUser;
+        }
+        return super.isEnabledByUser(subId);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/network/ims/MockWifiCallingQueryImsState.java b/tests/robotests/src/com/android/settings/network/ims/MockWifiCallingQueryImsState.java
new file mode 100644
index 0000000..8123c93
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/network/ims/MockWifiCallingQueryImsState.java
@@ -0,0 +1,83 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.network.ims;
+
+import android.content.Context;
+
+import com.android.ims.ImsManager;
+
+
+/**
+ * Controller class for mock Wifi calling status
+ */
+public class MockWifiCallingQueryImsState extends WifiCallingQueryImsState {
+
+    private Boolean mIsTtyOnVolteEnabled;
+    private Boolean mIsProvisionedOnDevice;
+    private Boolean mIsEnabledByUser;
+
+    /**
+     * Constructor
+     *
+     * @param context {@code Context}
+     * @param subId subscription's id
+     */
+    public MockWifiCallingQueryImsState(Context context, int subId) {
+        super(context, subId);
+    }
+
+    public ImsManager getImsManager(int subId) {
+        return super.getImsManager(subId);
+    }
+
+    public void setIsTtyOnVolteEnabled(boolean enabled) {
+        mIsTtyOnVolteEnabled = enabled;
+    }
+
+    @Override
+    boolean isTtyOnVolteEnabled(int subId) {
+        if (mIsTtyOnVolteEnabled != null) {
+            return mIsTtyOnVolteEnabled;
+        }
+        return super.isTtyOnVolteEnabled(subId);
+    }
+
+    public void setIsProvisionedOnDevice(boolean isProvisioned) {
+        mIsProvisionedOnDevice = isProvisioned;
+    }
+
+    @Override
+    boolean isProvisionedOnDevice(int subId) {
+        if (mIsProvisionedOnDevice != null) {
+            return mIsProvisionedOnDevice;
+        }
+        return super.isProvisionedOnDevice(subId);
+    }
+
+    public void setIsEnabledByUser(boolean enabled) {
+        mIsEnabledByUser = enabled;
+    }
+
+    @Override
+    boolean isEnabledByUser(int subId) {
+        if (mIsEnabledByUser != null) {
+            return mIsEnabledByUser;
+        }
+        return super.isEnabledByUser(subId);
+    }
+
+}
diff --git a/tests/robotests/src/com/android/settings/network/telephony/ApnPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/network/telephony/ApnPreferenceControllerTest.java
index ce4c9a2..e03da10 100644
--- a/tests/robotests/src/com/android/settings/network/telephony/ApnPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/network/telephony/ApnPreferenceControllerTest.java
@@ -21,12 +21,11 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
+import static org.mockito.Mockito.doNothing;
 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.app.Activity;
 import android.content.Context;
 import android.content.Intent;
 import android.os.PersistableBundle;
@@ -35,7 +34,6 @@
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
 
-import com.android.internal.telephony.PhoneConstants;
 import com.android.settings.network.ApnSettings;
 import com.android.settingslib.RestrictedPreference;
 
@@ -45,8 +43,8 @@
 import org.mockito.ArgumentCaptor;
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
-import org.robolectric.Robolectric;
 import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
 
 @RunWith(RobolectricTestRunner.class)
 public class ApnPreferenceControllerTest {
@@ -69,7 +67,7 @@
     public void setUp() {
         MockitoAnnotations.initMocks(this);
 
-        mContext = spy(Robolectric.setupActivity(Activity.class));
+        mContext = spy(RuntimeEnvironment.application);
         doReturn(mTelephonyManager).when(mContext).getSystemService(Context.TELEPHONY_SERVICE);
         doReturn(mSubscriptionManager).when(mContext).getSystemService(SubscriptionManager.class);
         doReturn(mTelephonyManager).when(mTelephonyManager).createForSubscriptionId(SUB_ID);
@@ -87,7 +85,7 @@
 
     @Test
     public void getAvailabilityStatus_apnSettingsNotSupported_returnUnavailable() {
-        doReturn(PhoneConstants.PHONE_TYPE_CDMA).when(mTelephonyManager).getPhoneType();
+        doReturn(TelephonyManager.PHONE_TYPE_CDMA).when(mTelephonyManager).getPhoneType();
         final PersistableBundle bundle = new PersistableBundle();
         bundle.putBoolean(CarrierConfigManager.KEY_SHOW_APN_SETTING_CDMA_BOOL, false);
         doReturn(bundle).when(mCarrierConfigManager).getConfigForSubId(SUB_ID);
@@ -97,7 +95,7 @@
 
     @Test
     public void getAvailabilityStatus_apnSettingsSupportedWithCDMA_returnAvailable() {
-        doReturn(PhoneConstants.PHONE_TYPE_CDMA).when(mTelephonyManager).getPhoneType();
+        doReturn(TelephonyManager.PHONE_TYPE_CDMA).when(mTelephonyManager).getPhoneType();
         final PersistableBundle bundle = new PersistableBundle();
         bundle.putBoolean(CarrierConfigManager.KEY_SHOW_APN_SETTING_CDMA_BOOL, true);
         doReturn(bundle).when(mCarrierConfigManager).getConfigForSubId(SUB_ID);
@@ -107,7 +105,7 @@
 
     @Test
     public void getAvailabilityStatus_apnSettingsSupportedWithGsm_returnAvailable() {
-        doReturn(PhoneConstants.PHONE_TYPE_GSM).when(mTelephonyManager).getPhoneType();
+        doReturn(TelephonyManager.PHONE_TYPE_GSM).when(mTelephonyManager).getPhoneType();
         final PersistableBundle bundle = new PersistableBundle();
         bundle.putBoolean(CarrierConfigManager.KEY_APN_EXPAND_BOOL, true);
         doReturn(bundle).when(mCarrierConfigManager).getConfigForSubId(SUB_ID);
@@ -117,7 +115,7 @@
 
     @Test
     public void getAvailabilityStatus_carrierConfigNull_returnUnavailable() {
-        doReturn(PhoneConstants.PHONE_TYPE_GSM).when(mTelephonyManager).getPhoneType();
+        doReturn(TelephonyManager.PHONE_TYPE_GSM).when(mTelephonyManager).getPhoneType();
         when(mCarrierConfigManager.getConfigForSubId(SUB_ID)).thenReturn(null);
 
         assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
@@ -126,7 +124,7 @@
 
     @Test
     public void getAvailabilityStatus_hideCarrierNetworkSettings_returnUnavailable() {
-        doReturn(PhoneConstants.PHONE_TYPE_GSM).when(mTelephonyManager).getPhoneType();
+        doReturn(TelephonyManager.PHONE_TYPE_GSM).when(mTelephonyManager).getPhoneType();
         final PersistableBundle bundle = new PersistableBundle();
         bundle.putBoolean(CarrierConfigManager.KEY_APN_EXPAND_BOOL, true);
         bundle.putBoolean(CarrierConfigManager.KEY_HIDE_CARRIER_NETWORK_SETTINGS_BOOL, true);
@@ -138,10 +136,10 @@
     @Test
     public void handPreferenceTreeClick_fireIntent() {
         ArgumentCaptor<Intent> captor = ArgumentCaptor.forClass(Intent.class);
+        doNothing().when(mContext).startActivity(captor.capture());
 
         mController.handlePreferenceTreeClick(mPreference);
 
-        verify(mContext).startActivity(captor.capture());
         final Intent intent = captor.getValue();
         assertThat(intent.getAction()).isEqualTo(Settings.ACTION_APN_SETTINGS);
         assertThat(intent.getIntExtra(ApnSettings.SUB_ID, 0)).isEqualTo(SUB_ID);
diff --git a/tests/robotests/src/com/android/settings/network/telephony/CarrierPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/network/telephony/CarrierPreferenceControllerTest.java
index fc8fb16..d978fea 100644
--- a/tests/robotests/src/com/android/settings/network/telephony/CarrierPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/network/telephony/CarrierPreferenceControllerTest.java
@@ -28,8 +28,8 @@
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
 
-import android.content.Context;
 import android.content.ComponentName;
+import android.content.Context;
 import android.content.Intent;
 import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
@@ -38,16 +38,15 @@
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
 
-import com.android.internal.telephony.PhoneConstants;
 import com.android.settingslib.RestrictedPreference;
 
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
+import org.mockito.ArgumentCaptor;
 import org.mockito.Mock;
 import org.mockito.Mockito;
 import org.mockito.MockitoAnnotations;
-import org.mockito.ArgumentCaptor;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
 
@@ -90,7 +89,7 @@
 
     @Test
     public void getAvailabilityStatus_cdmaWithFlagOff_returnUnavailable() {
-        doReturn(PhoneConstants.PHONE_TYPE_CDMA).when(mTelephonyManager).getPhoneType();
+        doReturn(TelephonyManager.PHONE_TYPE_CDMA).when(mTelephonyManager).getPhoneType();
         final PersistableBundle bundle = new PersistableBundle();
         bundle.putBoolean(CarrierConfigManager.KEY_CARRIER_SETTINGS_ENABLE_BOOL, false);
         doReturn(bundle).when(mCarrierConfigManager).getConfigForSubId(SUB_ID);
@@ -100,7 +99,7 @@
 
     @Test
     public void getAvailabilityStatus_cdmaWithFlagOnreturnAvailable() {
-        doReturn(PhoneConstants.PHONE_TYPE_CDMA).when(mTelephonyManager).getPhoneType();
+        doReturn(TelephonyManager.PHONE_TYPE_CDMA).when(mTelephonyManager).getPhoneType();
         final PersistableBundle bundle = new PersistableBundle();
         bundle.putBoolean(CarrierConfigManager.KEY_CARRIER_SETTINGS_ENABLE_BOOL, true);
         doReturn(bundle).when(mCarrierConfigManager).getConfigForSubId(SUB_ID);
@@ -110,7 +109,7 @@
 
     @Test
     public void getAvailabilityStatus_gsmWithFlagOnreturnAvailable() {
-        doReturn(PhoneConstants.PHONE_TYPE_GSM).when(mTelephonyManager).getPhoneType();
+        doReturn(TelephonyManager.PHONE_TYPE_GSM).when(mTelephonyManager).getPhoneType();
         final PersistableBundle bundle = new PersistableBundle();
         bundle.putBoolean(CarrierConfigManager.KEY_CARRIER_SETTINGS_ENABLE_BOOL, true);
         doReturn(bundle).when(mCarrierConfigManager).getConfigForSubId(SUB_ID);
diff --git a/tests/robotests/src/com/android/settings/network/telephony/ContactDiscoveryDialogFragmentTest.java b/tests/robotests/src/com/android/settings/network/telephony/ContactDiscoveryDialogFragmentTest.java
new file mode 100644
index 0000000..6aef699
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/network/telephony/ContactDiscoveryDialogFragmentTest.java
@@ -0,0 +1,93 @@
+/*
+ * 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.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyBoolean;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+
+import android.app.AlertDialog;
+import android.content.DialogInterface;
+import android.telephony.ims.ImsManager;
+import android.telephony.ims.ImsRcsManager;
+import android.telephony.ims.RcsUceAdapter;
+import android.widget.Button;
+
+import androidx.fragment.app.FragmentActivity;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.Robolectric;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
+import org.robolectric.shadows.ShadowAlertDialog;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(shadows = ShadowAlertDialog.class)
+public class ContactDiscoveryDialogFragmentTest {
+    private static final int TEST_SUB_ID = 2;
+
+    @Mock private ImsManager mImsManager;
+    @Mock private ImsRcsManager mImsRcsManager;
+    @Mock private RcsUceAdapter mRcsUceAdapter;
+
+    private ContactDiscoveryDialogFragment mDialogFragmentUT;
+    private FragmentActivity mActivity;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mActivity = Robolectric.buildActivity(FragmentActivity.class).setup().get();
+        mDialogFragmentUT = spy(ContactDiscoveryDialogFragment.newInstance(TEST_SUB_ID));
+        doReturn(mImsManager).when(mDialogFragmentUT).getImsManager(any());
+        doReturn(mImsRcsManager).when(mImsManager).getImsRcsManager(TEST_SUB_ID);
+        doReturn(mRcsUceAdapter).when(mImsRcsManager).getUceAdapter();
+    }
+
+    @Test
+    public void testCancelDoesNothing() throws Exception {
+        final AlertDialog dialog = startDialog();
+        assertThat(dialog).isNotNull();
+        final Button negativeButton = dialog.getButton(DialogInterface.BUTTON_NEGATIVE);
+        assertThat(negativeButton).isNotNull();
+        negativeButton.performClick();
+        verify(mRcsUceAdapter, never()).setUceSettingEnabled(anyBoolean());
+    }
+
+    @Test
+    public void testOkEnablesDiscovery() throws Exception {
+        final AlertDialog dialog = startDialog();
+        assertThat(dialog).isNotNull();
+        final Button positiveButton = dialog.getButton(DialogInterface.BUTTON_POSITIVE);
+        assertThat(positiveButton).isNotNull();
+        positiveButton.performClick();
+        verify(mRcsUceAdapter).setUceSettingEnabled(true /*isEnabled*/);
+    }
+
+    private AlertDialog startDialog() {
+        mDialogFragmentUT.show(mActivity.getSupportFragmentManager(), null);
+        return ShadowAlertDialog.getLatestAlertDialog();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/network/telephony/ContactDiscoveryPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/network/telephony/ContactDiscoveryPreferenceControllerTest.java
new file mode 100644
index 0000000..45a4563
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/network/telephony/ContactDiscoveryPreferenceControllerTest.java
@@ -0,0 +1,168 @@
+/*
+ * 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.android.settings.core.BasePreferenceController.AVAILABLE;
+import static com.android.settings.core.BasePreferenceController.CONDITIONALLY_UNAVAILABLE;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyBoolean;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+
+import android.content.ContentResolver;
+import android.content.Context;
+import android.database.ContentObserver;
+import android.net.Uri;
+import android.os.PersistableBundle;
+import android.provider.Telephony;
+import android.telephony.CarrierConfigManager;
+import android.telephony.ims.ImsManager;
+import android.telephony.ims.ImsRcsManager;
+import android.telephony.ims.RcsUceAdapter;
+
+import androidx.fragment.app.FragmentManager;
+import androidx.fragment.app.FragmentTransaction;
+import androidx.lifecycle.LifecycleOwner;
+import androidx.preference.SwitchPreference;
+
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+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;
+import org.robolectric.RuntimeEnvironment;
+
+@RunWith(RobolectricTestRunner.class)
+public class ContactDiscoveryPreferenceControllerTest {
+
+    private static final int TEST_SUB_ID = 2;
+    private static final Uri UCE_URI = Uri.withAppendedPath(Telephony.SimInfo.CONTENT_URI,
+            Telephony.SimInfo.IMS_RCS_UCE_ENABLED);
+
+    @Mock private ImsManager mImsManager;
+    @Mock private ImsRcsManager mImsRcsManager;
+    @Mock private RcsUceAdapter mRcsUceAdapter;
+    @Mock private CarrierConfigManager mCarrierConfigManager;
+    @Mock private ContentResolver mContentResolver;
+    @Mock private FragmentManager mFragmentManager;
+    @Mock private FragmentTransaction mFragmentTransaction;
+
+    private Context mContext;
+    private LifecycleOwner mLifecycleOwner;
+    private Lifecycle mLifecycle;
+    private ContactDiscoveryPreferenceController mPreferenceControllerUT;
+    private SwitchPreference mSwitchPreferenceUT;
+    private PersistableBundle mCarrierConfig = new PersistableBundle();
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mLifecycleOwner = () -> mLifecycle;
+        mLifecycle = new Lifecycle(mLifecycleOwner);
+        mContext = spy(RuntimeEnvironment.application);
+        doReturn(mImsManager).when(mContext).getSystemService(ImsManager.class);
+        doReturn(mImsRcsManager).when(mImsManager).getImsRcsManager(anyInt());
+        doReturn(mRcsUceAdapter).when(mImsRcsManager).getUceAdapter();
+        doReturn(mCarrierConfigManager).when(mContext).getSystemService(CarrierConfigManager.class);
+        doReturn(mCarrierConfig).when(mCarrierConfigManager).getConfigForSubId(eq(TEST_SUB_ID));
+        // Start all tests with presence being disabled.
+        setRcsPresenceConfig(false);
+        doReturn(mContentResolver).when(mContext).getContentResolver();
+        doReturn(mFragmentTransaction).when(mFragmentManager).beginTransaction();
+
+        mPreferenceControllerUT = new ContactDiscoveryPreferenceController(mContext,
+                "ContactDiscovery");
+        mPreferenceControllerUT.init(mFragmentManager, TEST_SUB_ID, mLifecycle);
+        mSwitchPreferenceUT = spy(new SwitchPreference(mContext));
+        mSwitchPreferenceUT.setKey(mPreferenceControllerUT.getPreferenceKey());
+        mPreferenceControllerUT.preference = mSwitchPreferenceUT;
+    }
+
+    @Test
+    public void testGetAvailabilityStatus() {
+        assertEquals("Availability status should not be available.", CONDITIONALLY_UNAVAILABLE,
+                mPreferenceControllerUT.getAvailabilityStatus(TEST_SUB_ID));
+        setRcsPresenceConfig(true);
+        assertEquals("Availability status should available.", AVAILABLE,
+                mPreferenceControllerUT.getAvailabilityStatus(TEST_SUB_ID));
+    }
+
+    @Test
+    public void testIsChecked() throws Exception {
+        doReturn(false).when(mRcsUceAdapter).isUceSettingEnabled();
+        assertFalse(mPreferenceControllerUT.isChecked());
+
+        doReturn(true).when(mRcsUceAdapter).isUceSettingEnabled();
+        assertTrue(mPreferenceControllerUT.isChecked());
+    }
+
+    @Test
+    public void testRegisterObserver() {
+        mLifecycle.handleLifecycleEvent(Lifecycle.Event.ON_RESUME);
+        verify(mContentResolver).registerContentObserver(eq(UCE_URI), anyBoolean(), any());
+
+        mLifecycle.handleLifecycleEvent(Lifecycle.Event.ON_PAUSE);
+        verify(mContentResolver).unregisterContentObserver(any());
+    }
+
+    @Test
+    public void testContentObserverChanged() throws Exception {
+        assertFalse(mSwitchPreferenceUT.isChecked());
+        ContentObserver observer = getUceChangeObserver();
+        assertNotNull(observer);
+
+        doReturn(true).when(mRcsUceAdapter).isUceSettingEnabled();
+        observer.onChange(false, UCE_URI);
+        assertTrue(mSwitchPreferenceUT.isChecked());
+    }
+
+    @Test
+    public void testSetChecked() throws Exception {
+        // Verify a dialog is shown when the switch is enabled (but the switch is not enabled).
+        assertFalse(mPreferenceControllerUT.setChecked(true /*isChecked*/));
+        verify(mFragmentTransaction).add(any(), anyString());
+        // Verify content discovery is disabled when the user disables it.
+        assertTrue(mPreferenceControllerUT.setChecked(false /*isChecked*/));
+        verify(mRcsUceAdapter).setUceSettingEnabled(false);
+    }
+
+    private void setRcsPresenceConfig(boolean isEnabled) {
+        mCarrierConfig.putBoolean(CarrierConfigManager.KEY_USE_RCS_PRESENCE_BOOL, isEnabled);
+    }
+
+    private ContentObserver getUceChangeObserver() {
+        ArgumentCaptor<ContentObserver> observerCaptor =
+                ArgumentCaptor.forClass(ContentObserver.class);
+        mLifecycle.handleLifecycleEvent(Lifecycle.Event.ON_RESUME);
+        verify(mContentResolver).registerContentObserver(eq(UCE_URI), anyBoolean(),
+                observerCaptor.capture());
+        return observerCaptor.getValue();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/network/telephony/DataServiceSetupPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/network/telephony/DataServiceSetupPreferenceControllerTest.java
index 8907164..3eb3caf 100644
--- a/tests/robotests/src/com/android/settings/network/telephony/DataServiceSetupPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/network/telephony/DataServiceSetupPreferenceControllerTest.java
@@ -21,11 +21,10 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
+import static org.mockito.Mockito.doNothing;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.verify;
 
-import android.app.Activity;
 import android.content.Context;
 import android.content.Intent;
 import android.net.Uri;
@@ -38,7 +37,6 @@
 
 import androidx.preference.Preference;
 
-import com.android.internal.telephony.PhoneConstants;
 import com.android.settingslib.RestrictedPreference;
 
 import org.junit.Before;
@@ -47,8 +45,8 @@
 import org.mockito.ArgumentCaptor;
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
-import org.robolectric.Robolectric;
 import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
 
 @RunWith(RobolectricTestRunner.class)
 public class DataServiceSetupPreferenceControllerTest {
@@ -72,7 +70,7 @@
     public void setUp() {
         MockitoAnnotations.initMocks(this);
 
-        mContext = spy(Robolectric.setupActivity(Activity.class));
+        mContext = spy(RuntimeEnvironment.application);
         doReturn(mTelephonyManager).when(mContext).getSystemService(Context.TELEPHONY_SERVICE);
         doReturn(mTelephonyManager).when(mTelephonyManager).createForSubscriptionId(SUB_ID);
         doReturn(mInvalidTelephonyManager).when(mTelephonyManager).createForSubscriptionId(
@@ -92,7 +90,7 @@
 
     @Test
     public void getAvailabilityStatus_allConfigOn_returnAvailable() {
-        doReturn(PhoneConstants.LTE_ON_CDMA_TRUE).when(mTelephonyManager).getLteOnCdmaMode();
+        doReturn(true).when(mTelephonyManager).isLteCdmaEvdoGsmWcdmaEnabled();
         mCarrierConfig.putBoolean(CarrierConfigManager.KEY_HIDE_CARRIER_NETWORK_SETTINGS_BOOL,
                 false);
 
@@ -103,7 +101,7 @@
     public void getAvailabilityStatus_missUrl_returnUnavailable() {
         Settings.Global.putString(mContext.getContentResolver(),
                 Settings.Global.SETUP_PREPAID_DATA_SERVICE_URL, "");
-        doReturn(PhoneConstants.LTE_ON_CDMA_TRUE).when(mTelephonyManager).getLteOnCdmaMode();
+        doReturn(true).when(mTelephonyManager).isLteCdmaEvdoGsmWcdmaEnabled();
         mCarrierConfig.putBoolean(CarrierConfigManager.KEY_HIDE_CARRIER_NETWORK_SETTINGS_BOOL,
                 false);
 
@@ -115,7 +113,7 @@
 
     @Test
     public void getAvailabilityStatus_notCdma_returnUnavailable() {
-        doReturn(PhoneConstants.LTE_ON_CDMA_FALSE).when(mTelephonyManager).getLteOnCdmaMode();
+        doReturn(false).when(mTelephonyManager).isLteCdmaEvdoGsmWcdmaEnabled();
         mCarrierConfig.putBoolean(CarrierConfigManager.KEY_HIDE_CARRIER_NETWORK_SETTINGS_BOOL,
                 false);
 
@@ -125,11 +123,10 @@
     @Test
     public void handlePreferenceTreeClick_startActivity() {
         ArgumentCaptor<Intent> captor = ArgumentCaptor.forClass(Intent.class);
+        doNothing().when(mContext).startActivity(captor.capture());
 
         mController.handlePreferenceTreeClick(mPreference);
 
-        verify(mContext).startActivity(captor.capture());
-
         final Intent intent = captor.getValue();
         assertThat(intent.getAction()).isEqualTo(Intent.ACTION_VIEW);
         assertThat(intent.getData()).isEqualTo(
diff --git a/tests/robotests/src/com/android/settings/network/telephony/DataUsagePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/network/telephony/DataUsagePreferenceControllerTest.java
index 7a097e7..7681f44 100644
--- a/tests/robotests/src/com/android/settings/network/telephony/DataUsagePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/network/telephony/DataUsagePreferenceControllerTest.java
@@ -17,6 +17,7 @@
 package com.android.settings.network.telephony;
 
 import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.Mockito.doNothing;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
@@ -40,6 +41,7 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.Robolectric;
 import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
 import org.robolectric.Shadows;
 import org.robolectric.shadows.ShadowTelephonyManager;
 import org.robolectric.util.ReflectionHelpers;
@@ -58,7 +60,7 @@
     public void setUp() {
         MockitoAnnotations.initMocks(this);
 
-        mContext = spy(Robolectric.setupActivity(Activity.class));
+        mContext = spy(RuntimeEnvironment.application);
 
         final TelephonyManager telephonyManager = mContext.getSystemService(TelephonyManager.class);
         final ShadowTelephonyManager shadowTelephonyManager = Shadows.shadowOf(telephonyManager);
@@ -91,9 +93,10 @@
     @Test
     public void handlePreferenceTreeClick_needDialog_showDialog() {
         final ArgumentCaptor<Intent> captor = ArgumentCaptor.forClass(Intent.class);
+        doNothing().when(mContext).startActivity(captor.capture());
+
         mController.handlePreferenceTreeClick(mPreference);
 
-        verify(mContext).startActivity(captor.capture());
         final Intent intent = captor.getValue();
 
         assertThat(intent.getAction()).isEqualTo(Settings.ACTION_MOBILE_DATA_USAGE);
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 ca8fcf8..401a92e 100644
--- a/tests/robotests/src/com/android/settings/network/telephony/DeleteSimProfilePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/network/telephony/DeleteSimProfilePreferenceControllerTest.java
@@ -25,6 +25,7 @@
 
 import android.content.Context;
 import android.content.Intent;
+import android.provider.Settings;
 import android.telephony.SubscriptionInfo;
 import android.telephony.SubscriptionManager;
 import android.telephony.euicc.EuiccManager;
@@ -34,6 +35,7 @@
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.network.SubscriptionUtil;
+import com.android.settings.security.ConfirmSimDeletionPreferenceController;
 
 import org.junit.After;
 import org.junit.Before;
@@ -118,7 +120,11 @@
     public void onPreferenceClick_startsIntent() {
         mController.init(SUB_ID, mFragment, REQUEST_CODE);
         mController.displayPreference(mScreen);
-        mPreference.performClick();
+        // turn off confirmation before click
+        Settings.Global.putInt(mContext.getContentResolver(),
+                ConfirmSimDeletionPreferenceController.KEY_CONFIRM_SIM_DELETION, 0);
+
+        mController.handlePreferenceTreeClick(mPreference);
 
         final ArgumentCaptor<Intent> intentCaptor = ArgumentCaptor.forClass(Intent.class);
         verify(mFragment).startActivityForResult(intentCaptor.capture(), eq(REQUEST_CODE));
diff --git a/tests/robotests/src/com/android/settings/network/telephony/DisableSimFooterPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/network/telephony/DisableSimFooterPreferenceControllerTest.java
index a0a4f00..fa48ba5 100644
--- a/tests/robotests/src/com/android/settings/network/telephony/DisableSimFooterPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/network/telephony/DisableSimFooterPreferenceControllerTest.java
@@ -18,11 +18,13 @@
 
 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.telephony.SubscriptionInfo;
+import android.telephony.SubscriptionManager;
 
 import com.android.settings.network.SubscriptionUtil;
 
@@ -45,12 +47,15 @@
     private SubscriptionInfo mInfo;
 
     private Context mContext;
+    @Mock
+    private SubscriptionManager mSubscriptionManager;
     private DisableSimFooterPreferenceController mController;
 
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
-        mContext = RuntimeEnvironment.application;
+        mContext = spy(RuntimeEnvironment.application);
+        doReturn(mSubscriptionManager).when(mContext).getSystemService(SubscriptionManager.class);
         when(mInfo.getSubscriptionId()).thenReturn(SUB_ID);
         SubscriptionUtil.setAvailableSubscriptionsForTesting(Arrays.asList(mInfo));
         mController = new DisableSimFooterPreferenceController(mContext, PREF_KEY);
@@ -69,9 +74,18 @@
     }
 
     @Test
-    public void isAvailable_pSIM_available() {
+    public void isAvailable_pSIM_available_cannot_disable_pSIM() {
         when(mInfo.isEmbedded()).thenReturn(false);
         mController.init(SUB_ID);
+        doReturn(false).when(mSubscriptionManager).canDisablePhysicalSubscription();
         assertThat(mController.isAvailable()).isTrue();
     }
+
+    @Test
+    public void isAvailable_pSIM_available_can_disable_pSIM() {
+        when(mInfo.isEmbedded()).thenReturn(false);
+        mController.init(SUB_ID);
+        doReturn(true).when(mSubscriptionManager).canDisablePhysicalSubscription();
+        assertThat(mController.isAvailable()).isFalse();
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/network/telephony/DisabledSubscriptionControllerTest.java b/tests/robotests/src/com/android/settings/network/telephony/DisabledSubscriptionControllerTest.java
index f25ffa4..38223b8 100644
--- a/tests/robotests/src/com/android/settings/network/telephony/DisabledSubscriptionControllerTest.java
+++ b/tests/robotests/src/com/android/settings/network/telephony/DisabledSubscriptionControllerTest.java
@@ -69,32 +69,32 @@
 
     @Test
     public void displayPreference_subscriptionEnabled_categoryIsVisible() {
-        doReturn(true).when(mSubscriptionManager).isActiveSubId(SUB_ID);
+        doReturn(true).when(mSubscriptionManager).isActiveSubscriptionId(SUB_ID);
         mController.displayPreference(mScreen);
         assertThat(mCategory.isVisible()).isTrue();
     }
 
     @Test
     public void displayPreference_subscriptionDisabled_categoryIsNotVisible() {
-        doReturn(false).when(mSubscriptionManager).isActiveSubId(SUB_ID);
+        doReturn(false).when(mSubscriptionManager).isActiveSubscriptionId(SUB_ID);
         mController.displayPreference(mScreen);
         assertThat(mCategory.isVisible()).isFalse();
     }
 
     @Test
     public void onSubscriptionsChanged_subscriptionBecomesDisabled_categoryIsNotVisible() {
-        doReturn(true).when(mSubscriptionManager).isActiveSubId(SUB_ID);
+        doReturn(true).when(mSubscriptionManager).isActiveSubscriptionId(SUB_ID);
         mController.displayPreference(mScreen);
-        doReturn(false).when(mSubscriptionManager).isActiveSubId(SUB_ID);
+        doReturn(false).when(mSubscriptionManager).isActiveSubscriptionId(SUB_ID);
         mController.onSubscriptionsChanged();
         assertThat(mCategory.isVisible()).isFalse();
     }
 
     @Test
     public void onSubscriptionsChanged_subscriptionBecomesEnabled_categoryIsVisible() {
-        doReturn(false).when(mSubscriptionManager).isActiveSubId(SUB_ID);
+        doReturn(false).when(mSubscriptionManager).isActiveSubscriptionId(SUB_ID);
         mController.displayPreference(mScreen);
-        doReturn(true).when(mSubscriptionManager).isActiveSubId(SUB_ID);
+        doReturn(true).when(mSubscriptionManager).isActiveSubscriptionId(SUB_ID);
         mController.onSubscriptionsChanged();
         assertThat(mCategory.isVisible()).isTrue();
     }
diff --git a/tests/robotests/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceControllerTest.java
index 773041d..57729ea 100644
--- a/tests/robotests/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceControllerTest.java
@@ -20,12 +20,12 @@
 
 import static com.android.settings.core.BasePreferenceController.AVAILABLE;
 import static com.android.settings.core.BasePreferenceController.CONDITIONALLY_UNAVAILABLE;
+import static com.android.settings.network.telephony.MobileNetworkUtils.getRafFromNetworkType;
 
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.ArgumentMatchers.anyString;
-import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.spy;
@@ -44,7 +44,7 @@
 import androidx.preference.ListPreference;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.R;
+import com.android.settings.network.telephony.TelephonyConstants.TelephonyManagerConstants;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 
 import org.junit.Before;
@@ -60,6 +60,9 @@
     private static final int SUB_ID = 2;
     public static final String KEY = "enabled_network";
 
+    private static final long ALLOWED_ALL_NETWORK_TYPE = -1;
+    private static final long DISABLED_5G_NETWORK_TYPE = ~TelephonyManager.NETWORK_TYPE_BITMASK_NR;
+
     @Mock
     private TelephonyManager mTelephonyManager;
     @Mock
@@ -91,19 +94,20 @@
         doReturn(mContext).when(mContext).createPackageContext(anyString(), anyInt());
         doReturn(mServiceState).when(mTelephonyManager).getServiceState();
         mPersistableBundle = new PersistableBundle();
+        doReturn(mPersistableBundle).when(mCarrierConfigManager).getConfig();
         doReturn(mPersistableBundle).when(mCarrierConfigManager).getConfigForSubId(SUB_ID);
-
         mPreference = new ListPreference(mContext);
-        mPreference.setEntries(R.array.enabled_networks_choices);
-        mPreference.setEntryValues(R.array.enabled_networks_values);
         mController = new EnabledNetworkModePreferenceController(mContext, KEY);
+        mockAllowedNetworkTypes(ALLOWED_ALL_NETWORK_TYPE);
+        mockAccessFamily(TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA);
         mController.init(mLifecycle, SUB_ID);
         mPreference.setKey(mController.getPreferenceKey());
     }
 
     @Test
     public void getAvailabilityStatus_hideCarrierNetworkSettings_returnUnavailable() {
-        mPersistableBundle.putBoolean(CarrierConfigManager.KEY_HIDE_CARRIER_NETWORK_SETTINGS_BOOL,
+        mPersistableBundle.putBoolean(
+                CarrierConfigManager.KEY_HIDE_CARRIER_NETWORK_SETTINGS_BOOL,
                 true);
 
         assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
@@ -115,11 +119,12 @@
                 true);
 
         when(mServiceState.getState()).thenReturn(ServiceState.STATE_OUT_OF_SERVICE);
-        when(mServiceState.getDataRegState()).thenReturn(ServiceState.STATE_OUT_OF_SERVICE);
+        when(mServiceState.getDataRegistrationState()).thenReturn(
+                ServiceState.STATE_OUT_OF_SERVICE);
         assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
 
         when(mServiceState.getState()).thenReturn(ServiceState.STATE_IN_SERVICE);
-        when(mServiceState.getDataRegState()).thenReturn(ServiceState.STATE_IN_SERVICE);
+        when(mServiceState.getDataRegistrationState()).thenReturn(ServiceState.STATE_IN_SERVICE);
 
         when(mServiceState.getRoaming()).thenReturn(false);
         assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
@@ -138,307 +143,223 @@
     }
 
     @Test
-    public void init_initShow4GForLTE() {
-        mPersistableBundle.putBoolean(CarrierConfigManager.KEY_SHOW_4G_FOR_LTE_DATA_ICON_BOOL,
-                true);
+    public void updateState_LteWorldPhone_GlobalHasLte() {
+        mPersistableBundle.putBoolean(CarrierConfigManager.KEY_WORLD_MODE_ENABLED_BOOL, true);
 
+        mController.updateState(mPreference);
+
+        assertThat(mPreference.getEntryValues())
+                .asList()
+                .contains(String.valueOf(TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA));
+    }
+
+    @Test
+    public void updateState_5gWorldPhone_GlobalHasNr() {
+        mockAccessFamily(TelephonyManager.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA);
         mController.init(mLifecycle, SUB_ID);
+        mPersistableBundle.putBoolean(CarrierConfigManager.KEY_WORLD_MODE_ENABLED_BOOL, true);
 
-        assertThat(mController.mShow4GForLTE).isTrue();
+        mController.updateState(mPreference);
+
+        assertThat(mPreference.getEntryValues())
+                .asList()
+                .contains(String.valueOf(TelephonyManager.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA));
     }
 
     @Test
-    public void init_initDisplay5gList_returnTrue() {
-        long testBitmask = TelephonyManager.NETWORK_TYPE_BITMASK_NR
-                | TelephonyManager.NETWORK_TYPE_BITMASK_LTE;
-        doReturn(testBitmask).when(mTelephonyManager).getSupportedRadioAccessFamily();
-
+    public void updateState_selectedOn5gItem() {
+        mockEnabledNetworkMode(TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA);
+        mockAccessFamily(TelephonyManager.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA);
         mController.init(mLifecycle, SUB_ID);
-
-        assertThat(mController.mDisplay5gList).isTrue();
-    }
-
-    @Test
-    public void checkSupportedRadioBitmask_nrBitmask_returnTrue() {
-        long testBitmask = TelephonyManager.NETWORK_TYPE_BITMASK_NR
-                | TelephonyManager.NETWORK_TYPE_BITMASK_LTE;
-
-        assertThat(mController.checkSupportedRadioBitmask(testBitmask,
-                TelephonyManager.NETWORK_TYPE_BITMASK_NR)).isTrue();
-    }
-
-    @Test
-    public void updateState_updateByNetworkMode() {
         Settings.Global.putInt(mContext.getContentResolver(),
                 Settings.Global.PREFERRED_NETWORK_MODE + SUB_ID,
-                TelephonyManager.NETWORK_MODE_TDSCDMA_GSM_WCDMA);
+                TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA);
 
         mController.updateState(mPreference);
 
         assertThat(mPreference.getValue()).isEqualTo(
-                String.valueOf(TelephonyManager.NETWORK_MODE_TDSCDMA_GSM_WCDMA));
+                String.valueOf(
+                        TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA));
+    }
+
+    @Test
+    public void updateState_disAllowed5g_5gOptionHidden() {
+        mockEnabledNetworkMode(TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA);
+        mockAccessFamily(TelephonyManager.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA);
+        mockAllowedNetworkTypes(DISABLED_5G_NETWORK_TYPE);
+        mController.init(mLifecycle, SUB_ID);
+        Settings.Global.putInt(mContext.getContentResolver(),
+                Settings.Global.PREFERRED_NETWORK_MODE + SUB_ID,
+                TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA);
+
+        mController.updateState(mPreference);
+
+        assertThat(mPreference.getEntryValues())
+                .asList()
+                .doesNotContain(
+                        String.valueOf(TelephonyManager.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA));
+    }
+
+    @Test
+    public void updateState_disAllowed5g_selectOn4gOption() {
+        mockEnabledNetworkMode(TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA);
+        mockAccessFamily(TelephonyManager.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA);
+        mockAllowedNetworkTypes(DISABLED_5G_NETWORK_TYPE);
+        mController.init(mLifecycle, SUB_ID);
+        Settings.Global.putInt(mContext.getContentResolver(),
+                Settings.Global.PREFERRED_NETWORK_MODE + SUB_ID,
+                TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA);
+
+        mController.updateState(mPreference);
+
+        assertThat(mPreference.getValue()).isEqualTo(
+                String.valueOf(
+                        TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA));
+    }
+
+    @Test
+    public void updateState_GlobalDisAllowed5g_GlobalWithoutNR() {
+        mockAccessFamily(TelephonyManager.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA);
+        mockAllowedNetworkTypes(DISABLED_5G_NETWORK_TYPE);
+        mController.init(mLifecycle, SUB_ID);
+        mPersistableBundle.putBoolean(CarrierConfigManager.KEY_WORLD_MODE_ENABLED_BOOL, true);
+        Settings.Global.putInt(mContext.getContentResolver(),
+                Settings.Global.PREFERRED_NETWORK_MODE + SUB_ID,
+                TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA);
+
+        mController.updateState(mPreference);
+
+        assertThat(mPreference.getEntryValues())
+                .asList()
+                .doesNotContain(
+                        String.valueOf(TelephonyManager.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA));
+    }
+
+    @Test
+    public void updateState_GlobalDisAllowed5g_SelectOnGlobal() {
+        mockAccessFamily(TelephonyManager.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA);
+        mockAllowedNetworkTypes(DISABLED_5G_NETWORK_TYPE);
+        mController.init(mLifecycle, SUB_ID);
+        mPersistableBundle.putBoolean(CarrierConfigManager.KEY_WORLD_MODE_ENABLED_BOOL, true);
+        Settings.Global.putInt(mContext.getContentResolver(),
+                Settings.Global.PREFERRED_NETWORK_MODE + SUB_ID,
+                TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA);
+
+        mController.updateState(mPreference);
+
+        assertThat(mPreference.getValue()).isEqualTo(
+                String.valueOf(
+                        TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA));
+    }
+
+    @Test
+    public void updateState_updateByNetworkMode() {
+        mockEnabledNetworkMode(TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM_WCDMA);
+        Settings.Global.putInt(mContext.getContentResolver(),
+                Settings.Global.PREFERRED_NETWORK_MODE + SUB_ID,
+                TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM_WCDMA);
+
+        mController.updateState(mPreference);
+
+        assertThat(mPreference.getValue()).isEqualTo(
+                String.valueOf(TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM_WCDMA));
         assertThat(mPreference.getSummary()).isEqualTo("3G");
     }
 
     @Test
     public void updateState_updateByNetworkMode_useDefaultValue() {
+        mockEnabledNetworkMode(TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA);
         Settings.Global.putInt(mContext.getContentResolver(),
                 Settings.Global.PREFERRED_NETWORK_MODE + SUB_ID,
-                TelephonyManager.NETWORK_MODE_LTE_GSM_WCDMA);
+                TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA);
 
         mController.updateState(mPreference);
 
         assertThat(mPreference.getValue()).isEqualTo(
-                String.valueOf(TelephonyManager.NETWORK_MODE_LTE_GSM_WCDMA));
-    }
-
-    /**
-     * @string/enabled_networks_cdma_choices
-     *         Before            |        After
-     * @string/network_lte   , 8 |@string/network_5G + @string/network_recommended , 25
-     * @string/network_3G    , 4 |@string/network_lte_pure, 8
-     * @string/network_1x    , 5 |@string/network_3G      , 4
-     * @string/network_global, 10|@string/network_1x      , 5
-     *                           |@string/network_global  , 27
-     *
-     * @string/enabled_networks_cdma_only_lte_choices
-     *         Before            |        After
-     * @string/network_lte   , 8 |@string/network_5G + @string/network_recommended , 25
-     * @string/network_global, 10|@string/network_lte_pure, 8
-     *                           |@string/network_global  , 27
-     */
-    @Test
-    public void add5gListItem_lteCdma_5gLteCdma() {
-        //case#1
-        mPreference.setEntries(R.array.enabled_networks_cdma_choices);
-        mPreference.setEntryValues(R.array.enabled_networks_cdma_values);
-        CharSequence[] testEntries = {mContext.getString(R.string.network_5G)
-                + mContext.getString(R.string.network_recommended)
-                , mContext.getString(R.string.network_lte_pure)
-                , mContext.getString(R.string.network_3G)
-                , mContext.getString(R.string.network_1x)
-                , mContext.getString(R.string.network_global)};
-        CharSequence[] testEntryValues = {"25", "8", "4", "5", "27"};
-
-        mController.add5gListItem(mPreference);
-
-        assertThat(mPreference.getEntries()).isEqualTo(testEntries);
-        assertThat(mPreference.getEntryValues()).isEqualTo(testEntryValues);
-
-        //case#2
-        mPreference.setEntries(R.array.enabled_networks_cdma_only_lte_choices);
-        mPreference.setEntryValues(R.array.enabled_networks_cdma_only_lte_values);
-        CharSequence[] testEntries1 = {mContext.getString(R.string.network_5G)
-                + mContext.getString(R.string.network_recommended)
-                , mContext.getString(R.string.network_lte_pure)
-                , mContext.getString(R.string.network_global)};
-        CharSequence[] testEntryValues1 = {"25", "8", "27"};
-
-        mController.add5gListItem(mPreference);
-
-        assertThat(mPreference.getEntries()).isEqualTo(testEntries1);
-        assertThat(mPreference.getEntryValues()).isEqualTo(testEntryValues1);
-    }
-
-    /**
-     * @string/enabled_networks_except_gsm_4g_choices
-     *         Before         |        After
-     * @string/network_4G , 9 |@string/network_5G + @string/network_recommended , 26
-     * @string/network_3G , 0 |@string/network_4G_pure , 9
-     *                        |@string/network_3G      , 0
-     *
-     * @string/enabled_networks_except_gsm_choices
-     *         Before         |        After
-     * @string/network_lte, 9 |@string/network_5G + @string/network_recommended , 26
-     * @string/network_3G , 0 |@string/network_lte_pure, 9
-     *                        |@string/network_3G      , 0
-     *
-     * @string/enabled_networks_4g_choices
-     *         Before         |        After
-     * @string/network_4G , 9 |@string/network_5G + @string/network_recommended , 26
-     * @string/network_3G , 0 |@string/network_4G_pure , 9
-     * @string/network_2G , 1 |@string/network_3G      , 0
-     *                        |@string/network_2G      , 1
-     *
-     * @string/enabled_networks_choices
-     *         Before         |        After
-     * @string/network_lte, 9 |@string/network_5G + @string/network_recommended , 26
-     * @string/network_3G , 0 |@string/network_lte_pure, 9
-     * @string/network_2G , 1 |@string/network_3G      , 0
-     *                        |@string/network_2G      , 1
-     */
-    @Test
-    public void add5gListItem_lteGsm_5gLteGsm() {
-        //csae#1
-        mPreference.setEntries(R.array.enabled_networks_except_gsm_4g_choices);
-        mPreference.setEntryValues(R.array.enabled_networks_except_gsm_values);
-        CharSequence[] testEntries = {mContext.getString(R.string.network_5G)
-                + mContext.getString(R.string.network_recommended)
-                , mContext.getString(R.string.network_4G_pure)
-                , mContext.getString(R.string.network_3G)};
-        CharSequence[] testEntryValues = {"26", "9", "0"};
-
-        mController.add5gListItem(mPreference);
-
-        assertThat(mPreference.getEntries()).isEqualTo(testEntries);
-        assertThat(mPreference.getEntryValues()).isEqualTo(testEntryValues);
-
-        //case#2
-        mPreference.setEntries(R.array.enabled_networks_except_gsm_choices);
-        mPreference.setEntryValues(R.array.enabled_networks_except_gsm_values);
-        CharSequence[] testEntries1 = {mContext.getString(R.string.network_5G)
-                + mContext.getString(R.string.network_recommended)
-                , mContext.getString(R.string.network_lte_pure)
-                , mContext.getString(R.string.network_3G)};
-        CharSequence[] testEntryValues1 = {"26", "9", "0"};
-
-        mController.add5gListItem(mPreference);
-
-        assertThat(mPreference.getEntries()).isEqualTo(testEntries1);
-        assertThat(mPreference.getEntryValues()).isEqualTo(testEntryValues1);
-
-        //case#3
-        mPreference.setEntries(R.array.enabled_networks_4g_choices);
-        mPreference.setEntryValues(R.array.enabled_networks_values);
-        CharSequence[] testEntries2 = {mContext.getString(R.string.network_5G)
-                + mContext.getString(R.string.network_recommended)
-                , mContext.getString(R.string.network_4G_pure)
-                , mContext.getString(R.string.network_3G)
-                , mContext.getString(R.string.network_2G)};
-        CharSequence[] testEntryValues2 = {"26", "9", "0", "1"};
-
-        mController.add5gListItem(mPreference);
-
-        assertThat(mPreference.getEntries()).isEqualTo(testEntries2);
-        assertThat(mPreference.getEntryValues()).isEqualTo(testEntryValues2);
-
-        //case#4
-        mPreference.setEntries(R.array.enabled_networks_choices);
-        mPreference.setEntryValues(R.array.enabled_networks_values);
-        CharSequence[] testEntries3 = {mContext.getString(R.string.network_5G)
-                + mContext.getString(R.string.network_recommended)
-                , mContext.getString(R.string.network_lte_pure)
-                , mContext.getString(R.string.network_3G)
-                , mContext.getString(R.string.network_2G)};
-        CharSequence[] testEntryValues3 = {"26", "9", "0", "1"};
-
-        mController.add5gListItem(mPreference);
-
-        assertThat(mPreference.getEntries()).isEqualTo(testEntries3);
-        assertThat(mPreference.getEntryValues()).isEqualTo(testEntryValues3);
-    }
-
-    /**
-     * @string/preferred_network_mode_choices_world_mode
-     *         Before         |        After
-     * "Global"           , 10|@string/network_global  , 27
-     * "LTE / CDMA"       , 8 |"LTE / CDMA"            , 8
-     * "LTE / GSM / UMTS" , 9 |"LTE / GSM / UMTS"      , 9
-     */
-    @Test
-    public void add5gListItem_worldPhone_Global() {
-        mPreference.setEntries(R.array.preferred_network_mode_choices_world_mode);
-        mPreference.setEntryValues(R.array.preferred_network_mode_values_world_mode);
-        CharSequence[] testEntries = {mContext.getString(R.string.network_global)
-                , "LTE / CDMA"
-                , "LTE / GSM / UMTS"};
-        CharSequence[] testEntryValues = {"27", "8", "9"};
-
-        mController.add5gListItem(mPreference);
-
-        assertThat(mPreference.getEntries()).isEqualTo(testEntries);
-        assertThat(mPreference.getEntryValues()).isEqualTo(testEntryValues);
-    }
-
-    /**
-     * @string/enabled_networks_tdscdma_choices
-     *         Before         |        After
-     * @string/network_lte, 22|@string/network_5G + @string/network_recommended , 33
-     * @string/network_3G , 18|@string/network_lte_pure, 22
-     * @string/network_2G , 1 |@string/network_3G      , 18
-     *                        |@string/network_2G      , 1
-     */
-    @Test
-    public void add5gListItem_td_5gTd() {
-        mPreference.setEntries(R.array.enabled_networks_tdscdma_choices);
-        mPreference.setEntryValues(R.array.enabled_networks_tdscdma_values);
-        CharSequence[] testEntries = {mContext.getString(R.string.network_5G)
-                + mContext.getString(R.string.network_recommended)
-                , mContext.getString(R.string.network_lte_pure)
-                , mContext.getString(R.string.network_3G)
-                , mContext.getString(R.string.network_2G)};
-        CharSequence[] testEntryValues = {"33", "22", "18", "1"};
-
-        mController.add5gListItem(mPreference);
-
-        assertThat(mPreference.getEntries()).isEqualTo(testEntries);
-        assertThat(mPreference.getEntryValues()).isEqualTo(testEntryValues);
-    }
-
-    @Test
-    public void add5gListItem_noLte_no5g() {
-        mPreference.setEntries(R.array.enabled_networks_except_lte_choices);
-        mPreference.setEntryValues(R.array.enabled_networks_except_lte_values);
-        CharSequence[] testEntries = {mContext.getString(R.string.network_3G)
-                , mContext.getString(R.string.network_2G)};
-        CharSequence[] testEntryValues = {"0", "1"};
-
-        mController.add5gListItem(mPreference);
-
-        assertThat(mPreference.getEntries()).isEqualTo(testEntries);
-        assertThat(mPreference.getEntryValues()).isEqualTo(testEntryValues);
+                String.valueOf(TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA));
     }
 
     @Test
     public void onPreferenceChange_updateSuccess() {
-        doReturn(true).when(mTelephonyManager).setPreferredNetworkType(SUB_ID,
-                TelephonyManager.NETWORK_MODE_LTE_GSM_WCDMA);
+        mockEnabledNetworkMode(TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA);
+        doReturn(true).when(mTelephonyManager).setPreferredNetworkTypeBitmask(
+                getRafFromNetworkType(TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA));
 
+        mController.updateState(mPreference);
         mController.onPreferenceChange(mPreference,
-                String.valueOf(TelephonyManager.NETWORK_MODE_LTE_GSM_WCDMA));
+                String.valueOf(TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA));
 
-        assertThat(Settings.Global.getInt(mContext.getContentResolver(),
-                Settings.Global.PREFERRED_NETWORK_MODE + SUB_ID, 0)).isEqualTo(
-                TelephonyManager.NETWORK_MODE_LTE_GSM_WCDMA);
+        assertThat(mPreference.getValue()).isEqualTo(
+                String.valueOf(TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA));
     }
 
     @Test
     public void onPreferenceChange_updateFail() {
-        doReturn(false).when(mTelephonyManager).setPreferredNetworkType(SUB_ID,
-                TelephonyManager.NETWORK_MODE_LTE_GSM_WCDMA);
+        mockEnabledNetworkMode(TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA);
+        doReturn(false).when(mTelephonyManager).setPreferredNetworkTypeBitmask(
+                getRafFromNetworkType(TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA));
 
+        mController.updateState(mPreference);
         mController.onPreferenceChange(mPreference,
-                String.valueOf(TelephonyManager.NETWORK_MODE_LTE_GSM_WCDMA));
+                String.valueOf(TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA));
 
-        assertThat(Settings.Global.getInt(mContext.getContentResolver(),
-                Settings.Global.PREFERRED_NETWORK_MODE + SUB_ID, 0)).isNotEqualTo(
-                TelephonyManager.NETWORK_MODE_LTE_GSM_WCDMA);
+        assertThat(mPreference.getValue()).isNotEqualTo(
+                String.valueOf(TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA));
     }
 
     @Test
     public void preferredNetworkModeNotification_preferenceUpdates() {
         PreferenceScreen screen = mock(PreferenceScreen.class);
+        mockEnabledNetworkMode(TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM_WCDMA);
         doReturn(mPreference).when(screen).findPreference(KEY);
         Settings.Global.putInt(mContext.getContentResolver(),
                 Settings.Global.PREFERRED_NETWORK_MODE + SUB_ID,
-                TelephonyManager.NETWORK_MODE_TDSCDMA_GSM_WCDMA);
+                TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM_WCDMA);
         mController.displayPreference(screen);
         mController.updateState(mPreference);
         mLifecycle.handleLifecycleEvent(ON_START);
 
         assertThat(Integer.parseInt(mPreference.getValue())).isEqualTo(
-                TelephonyManager.NETWORK_MODE_TDSCDMA_GSM_WCDMA);
+                TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM_WCDMA);
         assertThat(mPreference.getSummary()).isEqualTo("3G");
 
 
         Settings.Global.putInt(mContext.getContentResolver(),
                 Settings.Global.PREFERRED_NETWORK_MODE + SUB_ID,
-                TelephonyManager.NETWORK_MODE_GSM_ONLY);
+                TelephonyManagerConstants.NETWORK_MODE_GSM_ONLY);
         final Uri uri = Settings.Global.getUriFor(Settings.Global.PREFERRED_NETWORK_MODE + SUB_ID);
         mContext.getContentResolver().notifyChange(uri, null);
 
         assertThat(Integer.parseInt(mPreference.getValue())).isEqualTo(
-                TelephonyManager.NETWORK_MODE_GSM_ONLY);
+                TelephonyManagerConstants.NETWORK_MODE_GSM_ONLY);
         assertThat(mPreference.getSummary()).isEqualTo("2G");
     }
+
+    private void mockEnabledNetworkMode(int networkMode) {
+        if (networkMode == TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM_WCDMA) {
+            mockPhoneType(TelephonyManager.PHONE_TYPE_GSM);
+            mPersistableBundle.putBoolean(CarrierConfigManager.KEY_SUPPORT_TDSCDMA_BOOL, true);
+        } else if (networkMode == TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA) {
+            mockPhoneType(TelephonyManager.PHONE_TYPE_GSM);
+            mPersistableBundle.putBoolean(CarrierConfigManager.KEY_PREFER_2G_BOOL, true);
+            mPersistableBundle.putBoolean(CarrierConfigManager.KEY_LTE_ENABLED_BOOL, true);
+        } else if (networkMode == TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA) {
+            mockPhoneType(TelephonyManager.PHONE_TYPE_GSM);
+            mPersistableBundle.putBoolean(CarrierConfigManager.KEY_SUPPORT_TDSCDMA_BOOL, true);
+        }
+    }
+
+    private void mockAllowedNetworkTypes(long allowedNetworkType) {
+        doReturn(allowedNetworkType).when(mTelephonyManager).getAllowedNetworkTypes();
+    }
+
+    private void mockAccessFamily(int networkMode) {
+        doReturn(MobileNetworkUtils.getRafFromNetworkType(networkMode))
+                .when(mTelephonyManager)
+                .getSupportedRadioAccessFamily();
+    }
+
+    private void mockPhoneType(int phoneType) {
+        doReturn(TelephonyManager.PHONE_TYPE_GSM).when(mTelephonyManager).getPhoneType();
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/network/telephony/Enhanced4gBasePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/network/telephony/Enhanced4gBasePreferenceControllerTest.java
new file mode 100644
index 0000000..ba71a79
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/network/telephony/Enhanced4gBasePreferenceControllerTest.java
@@ -0,0 +1,145 @@
+/*
+ * 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.network.telephony;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.spy;
+
+import android.content.Context;
+import android.os.PersistableBundle;
+import android.telephony.CarrierConfigManager;
+import android.telephony.SubscriptionManager;
+import android.telephony.TelephonyManager;
+import android.telephony.ims.ProvisioningManager;
+import android.telephony.ims.feature.MmTelFeature;
+import android.telephony.ims.stub.ImsRegistrationImplBase;
+
+import androidx.preference.SwitchPreference;
+
+import com.android.ims.ImsManager;
+import com.android.settings.core.BasePreferenceController;
+import com.android.settings.network.ims.MockVolteQueryImsState;
+import com.android.settingslib.RestrictedSwitchPreference;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+@RunWith(RobolectricTestRunner.class)
+public class Enhanced4gBasePreferenceControllerTest {
+    private static final int SUB_ID = 2;
+
+    @Mock
+    private TelephonyManager mTelephonyManager;
+    @Mock
+    private TelephonyManager mInvalidTelephonyManager;
+    @Mock
+    private SubscriptionManager mSubscriptionManager;
+    @Mock
+    private CarrierConfigManager mCarrierConfigManager;
+    @Mock
+    private ImsManager mImsManager;
+    @Mock
+    private ProvisioningManager mProvisioningManager;
+
+    private MockVolteQueryImsState mQueryImsState;
+
+    private Enhanced4gLtePreferenceController mController;
+    private SwitchPreference mPreference;
+    private PersistableBundle mCarrierConfig;
+    private Context mContext;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+
+        mContext = spy(RuntimeEnvironment.application);
+        doReturn(mTelephonyManager).when(mContext).getSystemService(TelephonyManager.class);
+        doReturn(mSubscriptionManager).when(mContext).getSystemService(SubscriptionManager.class);
+        doReturn(mCarrierConfigManager).when(mContext).getSystemService(CarrierConfigManager.class);
+        doReturn(mTelephonyManager).when(mTelephonyManager).createForSubscriptionId(SUB_ID);
+        doReturn(mInvalidTelephonyManager).when(mTelephonyManager).createForSubscriptionId(
+                SubscriptionManager.INVALID_SUBSCRIPTION_ID);
+
+        mCarrierConfig = new PersistableBundle();
+        doReturn(mCarrierConfig).when(mCarrierConfigManager).getConfigForSubId(SUB_ID);
+
+        mQueryImsState = spy(new MockVolteQueryImsState(mContext, SUB_ID));
+        doReturn(mImsManager).when(mQueryImsState).getImsManager(anyInt());
+        mQueryImsState.setEnabledByPlatform(true);
+        mQueryImsState.setIsProvisionedOnDevice(true);
+        mQueryImsState.setIsEnabledByUser(true);
+
+        mPreference = new RestrictedSwitchPreference(mContext);
+        mController = spy(new Enhanced4gLtePreferenceController(mContext, "VoLTE"));
+        mController.init(SUB_ID);
+        doReturn(mQueryImsState).when(mController).queryImsState(anyInt());
+        mPreference.setKey(mController.getPreferenceKey());
+    }
+
+    @Test
+    public void getAvailabilityStatus_default_returnUnavailable() {
+        mController.init(SUB_ID);
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(
+                BasePreferenceController.CONDITIONALLY_UNAVAILABLE);
+    }
+
+    @Test
+    public void getAvailabilityStatus_volteDisabled_returnUnavailable() {
+        mQueryImsState.setEnabledByPlatform(false);
+        doReturn(true).when(mProvisioningManager).getProvisioningStatusForCapability(
+                MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE,
+                ImsRegistrationImplBase.REGISTRATION_TECH_LTE);
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(
+                BasePreferenceController.CONDITIONALLY_UNAVAILABLE);
+    }
+
+    @Test
+    public void updateState_configEnabled_prefEnabled() {
+        mQueryImsState.setIsEnabledByUser(true);
+        mPreference.setEnabled(false);
+        mCarrierConfig.putInt(CarrierConfigManager.KEY_ENHANCED_4G_LTE_TITLE_VARIANT_INT, 1);
+        mController.mCallState = TelephonyManager.CALL_STATE_IDLE;
+        doReturn(true).when(mImsManager).isNonTtyOrTtyOnVolteEnabled();
+        mCarrierConfig.putBoolean(CarrierConfigManager.KEY_EDITABLE_ENHANCED_4G_LTE_BOOL, true);
+
+        mController.updateState(mPreference);
+
+        assertThat(mPreference.isEnabled()).isTrue();
+    }
+
+    @Test
+    public void updateState_configOn_prefChecked() {
+        mQueryImsState.setIsEnabledByUser(true);
+        mPreference.setChecked(false);
+        doReturn(true).when(mImsManager).isEnhanced4gLteModeSettingEnabledByUser();
+        doReturn(true).when(mImsManager).isNonTtyOrTtyOnVolteEnabled();
+
+        mController.updateState(mPreference);
+
+        assertThat(mPreference.isChecked()).isTrue();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/network/telephony/Enhanced4gLtePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/network/telephony/Enhanced4gLtePreferenceControllerTest.java
deleted file mode 100644
index bea8f67..0000000
--- a/tests/robotests/src/com/android/settings/network/telephony/Enhanced4gLtePreferenceControllerTest.java
+++ /dev/null
@@ -1,184 +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.network.telephony;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.spy;
-
-import android.content.Context;
-import android.os.PersistableBundle;
-import android.telephony.CarrierConfigManager;
-import android.telephony.SubscriptionManager;
-import android.telephony.TelephonyManager;
-
-import androidx.preference.SwitchPreference;
-
-import com.android.ims.ImsManager;
-import com.android.settings.R;
-import com.android.settings.core.BasePreferenceController;
-import com.android.settingslib.RestrictedSwitchPreference;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-
-@RunWith(RobolectricTestRunner.class)
-public class Enhanced4gLtePreferenceControllerTest {
-    private static final int SUB_ID = 2;
-
-    @Mock
-    private TelephonyManager mTelephonyManager;
-    @Mock
-    private TelephonyManager mInvalidTelephonyManager;
-    @Mock
-    private SubscriptionManager mSubscriptionManager;
-    @Mock
-    private CarrierConfigManager mCarrierConfigManager;
-    @Mock
-    private ImsManager mImsManager;
-
-    private Enhanced4gLtePreferenceController mController;
-    private SwitchPreference mPreference;
-    private PersistableBundle mCarrierConfig;
-    private Context mContext;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-
-        mContext = spy(RuntimeEnvironment.application);
-        doReturn(mTelephonyManager).when(mContext).getSystemService(Context.TELEPHONY_SERVICE);
-        doReturn(mSubscriptionManager).when(mContext).getSystemService(SubscriptionManager.class);
-        doReturn(mCarrierConfigManager).when(mContext).getSystemService(CarrierConfigManager.class);
-        doReturn(mTelephonyManager).when(mTelephonyManager).createForSubscriptionId(SUB_ID);
-        doReturn(mInvalidTelephonyManager).when(mTelephonyManager).createForSubscriptionId(
-                SubscriptionManager.INVALID_SUBSCRIPTION_ID);
-
-        mCarrierConfig = new PersistableBundle();
-        doReturn(mCarrierConfig).when(mCarrierConfigManager).getConfigForSubId(SUB_ID);
-
-        mPreference = new RestrictedSwitchPreference(mContext);
-        mController = new Enhanced4gLtePreferenceController(mContext, "roaming");
-        mController.init(SUB_ID);
-        mController.mImsManager = mImsManager;
-        mPreference.setKey(mController.getPreferenceKey());
-    }
-
-    @Test
-    public void getAvailabilityStatus_invalidSubId_returnUnavailable() {
-        mController.init(SubscriptionManager.INVALID_SUBSCRIPTION_ID);
-
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(
-                BasePreferenceController.CONDITIONALLY_UNAVAILABLE);
-    }
-
-    @Test
-    public void getAvailabilityStatus_volteDisabled_returnUnavailable() {
-        doReturn(false).when(mImsManager).isVolteEnabledByPlatform();
-        doReturn(true).when(mImsManager).isVolteProvisionedOnDevice();
-
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(
-                BasePreferenceController.CONDITIONALLY_UNAVAILABLE);
-    }
-
-    @Test
-    public void updateState_doNotShow4GForLTE_showVolteTitleAndSummary() {
-        mCarrierConfig.putBoolean(CarrierConfigManager.KEY_SHOW_4G_FOR_LTE_DATA_ICON_BOOL, false);
-
-        mCarrierConfig.putInt(CarrierConfigManager.KEY_ENHANCED_4G_LTE_TITLE_VARIANT_INT, 0);
-        mController.updateState(mPreference);
-        assertThat(mPreference.getTitle()).isEqualTo(
-            mContext.getString(R.string.enhanced_4g_lte_mode_title));
-        assertThat(mPreference.getSummary()).isEqualTo(
-            mContext.getString(R.string.enhanced_4g_lte_mode_summary));
-
-        mCarrierConfig.putInt(CarrierConfigManager.KEY_ENHANCED_4G_LTE_TITLE_VARIANT_INT, 2);
-        mController.updateState(mPreference);
-        assertThat(mPreference.getTitle()).isEqualTo(
-            mContext.getString(R.string.enhanced_4g_lte_mode_title));
-        assertThat(mPreference.getSummary()).isEqualTo(
-            mContext.getString(R.string.enhanced_4g_lte_mode_summary));
-    }
-
-    @Test
-    public void updateState_show4GForLTE_show4GTitleAndSummary() {
-        mCarrierConfig.putBoolean(CarrierConfigManager.KEY_SHOW_4G_FOR_LTE_DATA_ICON_BOOL, true);
-
-        mCarrierConfig.putInt(CarrierConfigManager.KEY_ENHANCED_4G_LTE_TITLE_VARIANT_INT, 0);
-        mController.updateState(mPreference);
-        assertThat(mPreference.getTitle()).isEqualTo(
-            mContext.getString(R.string.enhanced_4g_lte_mode_title_4g_calling));
-        assertThat(mPreference.getSummary()).isEqualTo(
-            mContext.getString(R.string.enhanced_4g_lte_mode_summary_4g_calling));
-
-        mCarrierConfig.putInt(CarrierConfigManager.KEY_ENHANCED_4G_LTE_TITLE_VARIANT_INT, 2);
-        mController.updateState(mPreference);
-        assertThat(mPreference.getTitle()).isEqualTo(
-            mContext.getString(R.string.enhanced_4g_lte_mode_title_4g_calling));
-        assertThat(mPreference.getSummary()).isEqualTo(
-            mContext.getString(R.string.enhanced_4g_lte_mode_summary_4g_calling));
-    }
-
-    @Test
-    public void updateState_variantAdvancedCalling_showAdvancedCallingTitleAndSummary() {
-        mCarrierConfig.putInt(CarrierConfigManager.KEY_ENHANCED_4G_LTE_TITLE_VARIANT_INT, 1);
-
-        mCarrierConfig.putBoolean(CarrierConfigManager.KEY_SHOW_4G_FOR_LTE_DATA_ICON_BOOL, false);
-        mController.updateState(mPreference);
-        assertThat(mPreference.getTitle()).isEqualTo(
-            mContext.getString(R.string.enhanced_4g_lte_mode_title_advanced_calling));
-        assertThat(mPreference.getSummary()).isEqualTo(
-            mContext.getString(R.string.enhanced_4g_lte_mode_summary));
-
-        mCarrierConfig.putBoolean(CarrierConfigManager.KEY_SHOW_4G_FOR_LTE_DATA_ICON_BOOL, true);
-        mController.updateState(mPreference);
-        assertThat(mPreference.getTitle()).isEqualTo(
-            mContext.getString(R.string.enhanced_4g_lte_mode_title_advanced_calling));
-        assertThat(mPreference.getSummary()).isEqualTo(
-            mContext.getString(R.string.enhanced_4g_lte_mode_summary));
-    }
-
-    @Test
-    public void updateState_configEnabled_prefEnabled() {
-        mPreference.setEnabled(false);
-        mCarrierConfig.putInt(CarrierConfigManager.KEY_ENHANCED_4G_LTE_TITLE_VARIANT_INT, 1);
-        doReturn(TelephonyManager.CALL_STATE_IDLE).when(mTelephonyManager).getCallState(SUB_ID);
-        doReturn(true).when(mImsManager).isNonTtyOrTtyOnVolteEnabled();
-        mCarrierConfig.putBoolean(CarrierConfigManager.KEY_EDITABLE_ENHANCED_4G_LTE_BOOL, true);
-
-        mController.updateState(mPreference);
-
-        assertThat(mPreference.isEnabled()).isTrue();
-    }
-
-    @Test
-    public void updateState_configOn_prefChecked() {
-        mPreference.setChecked(false);
-        doReturn(true).when(mImsManager).isEnhanced4gLteModeSettingEnabledByUser();
-        doReturn(true).when(mImsManager).isNonTtyOrTtyOnVolteEnabled();
-
-        mController.updateState(mPreference);
-
-        assertThat(mPreference.isChecked()).isTrue();
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/network/telephony/Enhanced4gLteSliceHelperTest.java b/tests/robotests/src/com/android/settings/network/telephony/Enhanced4gLteSliceHelperTest.java
index a9882d9..944d8e6 100644
--- a/tests/robotests/src/com/android/settings/network/telephony/Enhanced4gLteSliceHelperTest.java
+++ b/tests/robotests/src/com/android/settings/network/telephony/Enhanced4gLteSliceHelperTest.java
@@ -22,6 +22,7 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
+import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
@@ -31,6 +32,8 @@
 import android.content.Context;
 import android.content.Intent;
 import android.telephony.CarrierConfigManager;
+import android.telephony.SubscriptionManager;
+import android.telephony.ims.ProvisioningManager;
 
 import androidx.slice.Slice;
 import androidx.slice.SliceItem;
@@ -42,6 +45,7 @@
 
 import com.android.ims.ImsManager;
 import com.android.settings.R;
+import com.android.settings.network.ims.MockVolteQueryImsState;
 import com.android.settings.slices.CustomSliceRegistry;
 import com.android.settings.slices.SettingsSliceProvider;
 import com.android.settings.slices.SliceBroadcastReceiver;
@@ -49,6 +53,7 @@
 import com.android.settings.testutils.FakeFeatureFactory;
 
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.ArgumentCaptor;
@@ -56,17 +61,25 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.shadow.api.Shadow;
+import org.robolectric.shadows.ShadowSubscriptionManager;
 
 import java.util.List;
 
 @RunWith(RobolectricTestRunner.class)
 public class Enhanced4gLteSliceHelperTest {
+    private static final int SUB_ID = 1;
 
     @Mock
     private CarrierConfigManager mMockCarrierConfigManager;
 
     @Mock
     private ImsManager mMockImsManager;
+    @Mock
+    private ProvisioningManager mProvisioningManager;
+
+    private ShadowSubscriptionManager mShadowSubscriptionManager;
+    private MockVolteQueryImsState mQueryImsState;
 
     private Context mContext;
     private FakeEnhanced4gLteSliceHelper mEnhanced4gLteSliceHelper;
@@ -80,6 +93,10 @@
         MockitoAnnotations.initMocks(this);
         mContext = RuntimeEnvironment.application;
 
+        mShadowSubscriptionManager = Shadow.extract(mContext.getSystemService(
+                SubscriptionManager.class));
+        mShadowSubscriptionManager.setDefaultVoiceSubscriptionId(SUB_ID);
+
         mFeatureFactory = FakeFeatureFactory.setupForTest();
         mSlicesFeatureProvider = mFeatureFactory.getSlicesFeatureProvider();
 
@@ -91,7 +108,14 @@
         //setup for SliceBroadcastReceiver test
         mReceiver = spy(new SliceBroadcastReceiver());
 
-        mEnhanced4gLteSliceHelper = new FakeEnhanced4gLteSliceHelper(mContext);
+        mQueryImsState = spy(new MockVolteQueryImsState(mContext, SUB_ID));
+        doReturn(mMockImsManager).when(mQueryImsState).getImsManager(anyInt());
+        mQueryImsState.setEnabledByPlatform(true);
+        mQueryImsState.setIsProvisionedOnDevice(true);
+        mQueryImsState.setIsEnabledByUser(true);
+
+        mEnhanced4gLteSliceHelper = spy(new FakeEnhanced4gLteSliceHelper(mContext));
+        doReturn(mQueryImsState).when(mEnhanced4gLteSliceHelper).queryImsState(anyInt());
 
         // Set-up specs for SliceMetadata.
         SliceProvider.setSpecs(SliceLiveData.SUPPORTED_SPECS);
@@ -99,7 +123,10 @@
 
     @Test
     public void test_CreateEnhanced4gLteSlice_invalidSubId() {
-        mEnhanced4gLteSliceHelper.setDefaultVoiceSubId(-1);
+        mQueryImsState.setEnabledByPlatform(false);
+        mQueryImsState.setIsProvisionedOnDevice(false);
+        mQueryImsState.setIsEnabledByUser(false);
+        mShadowSubscriptionManager.setDefaultVoiceSubscriptionId(-1);
 
         final Slice slice = mEnhanced4gLteSliceHelper.createEnhanced4gLteSlice(
                 CustomSliceRegistry.ENHANCED_4G_SLICE_URI);
@@ -109,7 +136,7 @@
 
     @Test
     public void test_CreateEnhanced4gLteSlice_enhanced4gLteNotSupported() {
-        when(mMockImsManager.isVolteEnabledByPlatform()).thenReturn(false);
+        mQueryImsState.setEnabledByPlatform(false);
 
         final Slice slice = mEnhanced4gLteSliceHelper.createEnhanced4gLteSlice(
                 CustomSliceRegistry.ENHANCED_4G_SLICE_URI);
@@ -120,9 +147,8 @@
 
     @Test
     public void test_CreateEnhanced4gLteSlice_success() {
-        when(mMockImsManager.isVolteEnabledByPlatform()).thenReturn(true);
-        when(mMockImsManager.isVolteProvisionedOnDevice()).thenReturn(true);
-        when(mMockImsManager.isEnhanced4gLteModeSettingEnabledByUser()).thenReturn(true);
+        mQueryImsState.setEnabledByPlatform(true);
+        mQueryImsState.setIsProvisionedOnDevice(true);
         when(mMockImsManager.isNonTtyOrTtyOnVolteEnabled()).thenReturn(true);
         when(mMockCarrierConfigManager.getConfigForSubId(1)).thenReturn(null);
 
@@ -135,9 +161,8 @@
 
     @Test
     public void test_SettingSliceProvider_getsRightSliceEnhanced4gLte() {
-        when(mMockImsManager.isVolteEnabledByPlatform()).thenReturn(true);
-        when(mMockImsManager.isVolteProvisionedOnDevice()).thenReturn(true);
-        when(mMockImsManager.isEnhanced4gLteModeSettingEnabledByUser()).thenReturn(true);
+        mQueryImsState.setEnabledByPlatform(true);
+        mQueryImsState.setIsProvisionedOnDevice(true);
         when(mMockImsManager.isNonTtyOrTtyOnVolteEnabled()).thenReturn(true);
         when(mMockCarrierConfigManager.getConfigForSubId(1)).thenReturn(null);
         when(mSlicesFeatureProvider.getNewEnhanced4gLteSliceHelper(mContext))
@@ -150,19 +175,20 @@
     }
 
     @Test
+    @Ignore
     public void test_SliceBroadcastReceiver_toggleOffEnhanced4gLte() {
-        when(mMockImsManager.isVolteEnabledByPlatform()).thenReturn(true);
-        when(mMockImsManager.isVolteProvisionedOnDevice()).thenReturn(true);
-        when(mMockImsManager.isEnhanced4gLteModeSettingEnabledByUser()).thenReturn(false);
+        mQueryImsState.setEnabledByPlatform(true);
+        mQueryImsState.setIsProvisionedOnDevice(true);
+        mQueryImsState.setIsEnabledByUser(false);
         when(mMockImsManager.isNonTtyOrTtyOnVolteEnabled()).thenReturn(true);
         when(mSlicesFeatureProvider.getNewEnhanced4gLteSliceHelper(mContext))
                 .thenReturn(mEnhanced4gLteSliceHelper);
 
-        ArgumentCaptor<Boolean> mEnhanced4gLteSettingCaptor = ArgumentCaptor.forClass(
+        final ArgumentCaptor<Boolean> mEnhanced4gLteSettingCaptor = ArgumentCaptor.forClass(
                 Boolean.class);
 
         // turn on Enhanced4gLte setting
-        Intent intent = new Intent(Enhanced4gLteSliceHelper.ACTION_ENHANCED_4G_LTE_CHANGED);
+        final Intent intent = new Intent(Enhanced4gLteSliceHelper.ACTION_ENHANCED_4G_LTE_CHANGED);
         intent.putExtra(EXTRA_TOGGLE_STATE, true);
 
         // change the setting
@@ -234,7 +260,7 @@
     private void assertTitle(List<SliceItem> sliceItems, String title) {
         boolean hasTitle = false;
         for (SliceItem item : sliceItems) {
-            List<SliceItem> titleItems = SliceQuery.findAll(item, FORMAT_TEXT, HINT_TITLE,
+            final List<SliceItem> titleItems = SliceQuery.findAll(item, FORMAT_TEXT, HINT_TITLE,
                     null /* non-hints */);
             if (titleItems == null) {
                 continue;
@@ -249,7 +275,7 @@
     }
 
     private class FakeEnhanced4gLteSliceHelper extends Enhanced4gLteSliceHelper {
-        int mSubId = 1;
+        int mSubId = SUB_ID;
 
         FakeEnhanced4gLteSliceHelper(Context context) {
             super(context);
@@ -260,11 +286,6 @@
             return mMockCarrierConfigManager;
         }
 
-        @Override
-        protected ImsManager getImsManager(int subId) {
-            return mMockImsManager;
-        }
-
         protected int getDefaultVoiceSubId() {
             return mSubId;
         }
diff --git a/tests/robotests/src/com/android/settings/network/telephony/EuiccPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/network/telephony/EuiccPreferenceControllerTest.java
index 7fbddb4..bb60fd6 100644
--- a/tests/robotests/src/com/android/settings/network/telephony/EuiccPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/network/telephony/EuiccPreferenceControllerTest.java
@@ -18,33 +18,32 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
-import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.doNothing;
 import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.verify;
+import static org.robolectric.Shadows.shadowOf;
 
-import android.app.Activity;
 import android.content.Context;
 import android.content.Intent;
 import android.telephony.TelephonyManager;
 import android.telephony.euicc.EuiccManager;
 
 import androidx.preference.Preference;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
 
 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.Robolectric;
-import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.shadows.ShadowTelephonyManager;
 
-@RunWith(RobolectricTestRunner.class)
+@RunWith(AndroidJUnit4.class)
 public class EuiccPreferenceControllerTest {
     private static final int SUB_ID = 2;
 
-    @Mock
     private TelephonyManager mTelephonyManager;
+    private ShadowTelephonyManager mShadowTelephonyManager;
 
     private EuiccPreferenceController mController;
     private Preference mPreference;
@@ -54,9 +53,11 @@
     public void setUp() {
         MockitoAnnotations.initMocks(this);
 
-        mContext = spy(Robolectric.setupActivity(Activity.class));
-        doReturn(mTelephonyManager).when(mContext).getSystemService(Context.TELEPHONY_SERVICE);
-        doReturn(mTelephonyManager).when(mTelephonyManager).createForSubscriptionId(SUB_ID);
+        mContext = spy(RuntimeEnvironment.application.getBaseContext());
+
+        mTelephonyManager = mContext.getSystemService(TelephonyManager.class);
+        mShadowTelephonyManager = shadowOf(mTelephonyManager);
+        mShadowTelephonyManager.setTelephonyManagerForSubscriptionId(SUB_ID, mTelephonyManager);
 
         mPreference = new Preference(mContext);
         mController = new EuiccPreferenceController(mContext, "euicc");
@@ -67,10 +68,10 @@
     @Test
     public void handlePreferenceTreeClick_startActivity() {
         ArgumentCaptor<Intent> captor = ArgumentCaptor.forClass(Intent.class);
+        doNothing().when(mContext).startActivity(captor.capture());
 
         mController.handlePreferenceTreeClick(mPreference);
 
-        verify(mContext).startActivity(captor.capture());
         assertThat(captor.getValue().getAction()).isEqualTo(
                 EuiccManager.ACTION_MANAGE_EMBEDDED_SUBSCRIPTIONS);
     }
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 0263fe9..a612657 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,9 @@
     @Test
     public void setChecked_setDataIntoSubscriptionManager() {
         mController.setChecked(true);
-        verify(mSubscriptionManager).setAlwaysAllowMmsData(SUB_ID, true);
+        verify(mTelephonyManager).setAlwaysAllowMmsData(true);
 
         mController.setChecked(false);
-        verify(mSubscriptionManager).setAlwaysAllowMmsData(SUB_ID, false);
+        verify(mTelephonyManager).setAlwaysAllowMmsData(false);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/network/telephony/MobileDataPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/network/telephony/MobileDataPreferenceControllerTest.java
index 86f2355..29f0f25 100644
--- a/tests/robotests/src/com/android/settings/network/telephony/MobileDataPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/network/telephony/MobileDataPreferenceControllerTest.java
@@ -16,7 +16,7 @@
 
 package com.android.settings.network.telephony;
 
-import static com.android.settings.core.BasePreferenceController.DISABLED_DEPENDENT_SETTING;
+import static com.android.settings.core.BasePreferenceController.AVAILABLE_UNSEARCHABLE;
 
 import static com.google.common.truth.Truth.assertThat;
 
@@ -88,18 +88,17 @@
     }
 
     @Test
-    public void getAvailabilityStatus_invalidSubscription_returnDisabledDependentSetting() {
+    public void getAvailabilityStatus_invalidSubscription_returnAvailableUnsearchable() {
         mController.init(mFragmentManager, SubscriptionManager.INVALID_SUBSCRIPTION_ID);
 
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(DISABLED_DEPENDENT_SETTING);
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE_UNSEARCHABLE);
     }
 
     @Test
     public void isDialogNeeded_disableSingleSim_returnFalse() {
         doReturn(true).when(mTelephonyManager).isDataEnabled();
         doReturn(mSubscriptionInfo).when(mSubscriptionManager).getActiveSubscriptionInfo(SUB_ID);
-        doReturn(mSubscriptionInfo).when(mSubscriptionManager).getDefaultDataSubscriptionInfo();
-        doReturn(1).when(mTelephonyManager).getSimCount();
+        doReturn(1).when(mTelephonyManager).getActiveModemCount();
 
         assertThat(mController.isDialogNeeded()).isFalse();
     }
@@ -110,7 +109,7 @@
         doReturn(mSubscriptionInfo).when(mSubscriptionManager).getActiveSubscriptionInfo(SUB_ID);
         doReturn(true).when(mSubscriptionManager).isActiveSubscriptionId(SUB_ID_OTHER);
         ShadowSubscriptionManager.setDefaultDataSubscriptionId(SUB_ID_OTHER);
-        doReturn(2).when(mTelephonyManager).getSimCount();
+        doReturn(2).when(mTelephonyManager).getActiveModemCount();
 
         assertThat(mController.isDialogNeeded()).isTrue();
         assertThat(mController.mDialogType).isEqualTo(
@@ -130,8 +129,7 @@
     public void onPreferenceChange_singleSim_On_shouldEnableData() {
         doReturn(true).when(mTelephonyManager).isDataEnabled();
         doReturn(mSubscriptionInfo).when(mSubscriptionManager).getActiveSubscriptionInfo(SUB_ID);
-        doReturn(mSubscriptionInfo).when(mSubscriptionManager).getDefaultDataSubscriptionInfo();
-        doReturn(1).when(mTelephonyManager).getSimCount();
+        doReturn(1).when(mTelephonyManager).getActiveModemCount();
 
         mController.onPreferenceChange(mPreference, true);
 
@@ -142,8 +140,7 @@
     public void onPreferenceChange_multiSim_On_shouldEnableData() {
         doReturn(true).when(mTelephonyManager).isDataEnabled();
         doReturn(mSubscriptionInfo).when(mSubscriptionManager).getActiveSubscriptionInfo(SUB_ID);
-        doReturn(mSubscriptionInfo).when(mSubscriptionManager).getDefaultDataSubscriptionInfo();
-        doReturn(2).when(mTelephonyManager).getSimCount();
+        doReturn(2).when(mTelephonyManager).getActiveModemCount();
 
         mController.onPreferenceChange(mPreference, true);
 
diff --git a/tests/robotests/src/com/android/settings/network/telephony/MobileDataSliceTest.java b/tests/robotests/src/com/android/settings/network/telephony/MobileDataSliceTest.java
index c66f75f..ba37c30 100644
--- a/tests/robotests/src/com/android/settings/network/telephony/MobileDataSliceTest.java
+++ b/tests/robotests/src/com/android/settings/network/telephony/MobileDataSliceTest.java
@@ -19,12 +19,13 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
+import static org.mockito.ArgumentMatchers.anyInt;
 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.app.PendingIntent;
 import android.content.Context;
 import android.content.Intent;
 import android.provider.Settings;
@@ -76,11 +77,10 @@
         doReturn(mTelephonyManager).when(mContext).getSystemService(Context.TELEPHONY_SERVICE);
         doReturn(mSubscriptionManager).when(mContext).getSystemService(SubscriptionManager.class);
         doReturn(mTelephonyManager).when(mTelephonyManager).createForSubscriptionId(SUB_ID);
-        doReturn(mSubscriptionInfo).when(mSubscriptionManager).getDefaultDataSubscriptionInfo();
+        doReturn(mSubscriptionInfo).when(mSubscriptionManager).getActiveSubscriptionInfo(anyInt());
         doReturn(SUB_ID).when(mSubscriptionInfo).getSubscriptionId();
-        doReturn(new ArrayList<>(Arrays.asList(mSubscriptionInfo)))
-                .when(mSubscriptionManager).getSelectableSubscriptionInfoList();
-
+        when(mSubscriptionManager.getAvailableSubscriptionInfoList()).thenReturn(
+                Arrays.asList(mSubscriptionInfo));
 
         // Set-up specs for SliceMetadata.
         SliceProvider.setSpecs(SliceLiveData.SUPPORTED_SPECS);
@@ -171,7 +171,7 @@
 
     @Test
     public void isMobileDataAvailable_noSubscriptions_slicePrimaryActionIsEmpty() {
-        doReturn(new ArrayList<>()).when(mSubscriptionManager).getSelectableSubscriptionInfoList();
+        when(mSubscriptionManager.getAvailableSubscriptionInfoList()).thenReturn(new ArrayList<>());
         final Slice mobileData = mMobileDataSlice.getSlice();
 
         assertThat(mobileData).isNull();
@@ -179,7 +179,7 @@
 
     @Test
     public void isMobileDataAvailable_nullSubscriptions_slicePrimaryActionIsEmpty() {
-        doReturn(null).when(mSubscriptionManager).getSelectableSubscriptionInfoList();
+        when(mSubscriptionManager.getAvailableSubscriptionInfoList()).thenReturn(null);
         final Slice mobileData = mMobileDataSlice.getSlice();
 
         assertThat(mobileData).isNull();
diff --git a/tests/robotests/src/com/android/settings/network/telephony/MobileNetworkActivityTest.java b/tests/robotests/src/com/android/settings/network/telephony/MobileNetworkActivityTest.java
index 43897d5..eaa0011 100644
--- a/tests/robotests/src/com/android/settings/network/telephony/MobileNetworkActivityTest.java
+++ b/tests/robotests/src/com/android/settings/network/telephony/MobileNetworkActivityTest.java
@@ -16,39 +16,29 @@
 
 package com.android.settings.network.telephony;
 
-import static com.android.settings.network.telephony.MobileNetworkActivity.MOBILE_SETTINGS_TAG;
+import static androidx.lifecycle.Lifecycle.State;
 
 import static com.google.common.truth.Truth.assertThat;
 
-import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.anyInt;
 import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.never;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
+import static org.robolectric.Shadows.shadowOf;
 
-import android.app.Activity;
 import android.content.Context;
 import android.content.Intent;
 import android.os.Bundle;
+import android.os.UserManager;
 import android.provider.Settings;
 import android.telephony.CarrierConfigManager;
 import android.telephony.SubscriptionInfo;
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
-import android.view.Menu;
-import android.view.View;
+
+import androidx.test.core.app.ActivityScenario;
+import androidx.test.core.app.ApplicationProvider;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
 
 import com.android.internal.telephony.TelephonyIntents;
-import com.android.internal.view.menu.ContextMenuBuilder;
-import com.android.settings.R;
-import com.android.settings.core.FeatureFlags;
-import com.android.settings.development.featureflags.FeatureFlagPersistent;
-import com.android.settings.network.SubscriptionUtil;
-
-import com.google.android.material.bottomnavigation.BottomNavigationView;
 
 import org.junit.After;
 import org.junit.Before;
@@ -56,213 +46,154 @@
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
-import org.robolectric.Robolectric;
-import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.shadow.api.Shadow;
+import org.robolectric.shadows.ShadowContextImpl;
+import org.robolectric.shadows.ShadowSubscriptionManager;
+import org.robolectric.shadows.ShadowSubscriptionManager.SubscriptionInfoBuilder;
 
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import androidx.fragment.app.Fragment;
-import androidx.fragment.app.FragmentManager;
-import androidx.fragment.app.FragmentTransaction;
-
-@RunWith(RobolectricTestRunner.class)
+@RunWith(AndroidJUnit4.class)
 public class MobileNetworkActivityTest {
 
     private static final int CURRENT_SUB_ID = 3;
     private static final int PREV_SUB_ID = 1;
 
     private Context mContext;
-    private MobileNetworkActivity mMobileNetworkActivity;
-    private List<SubscriptionInfo> mSubscriptionInfos;
-    private Fragment mShowFragment;
-    private Fragment mHideFragment;
+    private ShadowContextImpl mShadowContextImpl;
+    private Intent mTestIntent;
 
     @Mock
-    private SubscriptionManager mSubscriptionManager;
+    private UserManager mUserManager;
     @Mock
     private TelephonyManager mTelephonyManager;
-    @Mock
-    private SubscriptionInfo mSubscriptionInfo;
-    @Mock
+
+    private ShadowSubscriptionManager mSubscriptionManager;
+    private SubscriptionInfo mSubscriptionInfo1;
     private SubscriptionInfo mSubscriptionInfo2;
-    @Mock
-    private FragmentManager mFragmentManager;
-    @Mock
-    private FragmentTransaction mFragmentTransaction;
-    @Mock
-    private BottomNavigationView mBottomNavigationView;
+
+    private ActivityScenario<MobileNetworkActivity> mMobileNetworkActivity;
 
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
-        mContext = spy(RuntimeEnvironment.application);
 
-        mMobileNetworkActivity = spy(new MobileNetworkActivity());
-        mSubscriptionInfos = new ArrayList<>();
-        mShowFragment = new Fragment();
-        mHideFragment = new Fragment();
-        mMobileNetworkActivity.mSubscriptionInfos = mSubscriptionInfos;
-        mMobileNetworkActivity.mSubscriptionManager = mSubscriptionManager;
-        when(mSubscriptionInfo.getSubscriptionId()).thenReturn(PREV_SUB_ID);
-        when(mSubscriptionInfo2.getSubscriptionId()).thenReturn(CURRENT_SUB_ID);
+        mContext = ApplicationProvider.getApplicationContext();
+        mShadowContextImpl = Shadow.extract(RuntimeEnvironment.application.getBaseContext());
 
-        doReturn(mSubscriptionManager).when(mMobileNetworkActivity).getSystemService(
-                SubscriptionManager.class);
-        doReturn(mTelephonyManager).when(mMobileNetworkActivity).getSystemService(
-                TelephonyManager.class);
-        doReturn(mBottomNavigationView).when(mMobileNetworkActivity).findViewById(R.id.bottom_nav);
-        doReturn(mFragmentManager).when(mMobileNetworkActivity).getSupportFragmentManager();
-        doReturn(mFragmentTransaction).when(mFragmentManager).beginTransaction();
-        doReturn(mHideFragment).when(mFragmentManager).findFragmentByTag(
-                MOBILE_SETTINGS_TAG + PREV_SUB_ID);
-        doReturn(mShowFragment).when(mFragmentManager).findFragmentByTag(
-                MOBILE_SETTINGS_TAG + CURRENT_SUB_ID);
+        mShadowContextImpl.setSystemService(Context.USER_SERVICE, mUserManager);
+        doReturn(true).when(mUserManager).isAdminUser();
+
+        mShadowContextImpl.setSystemService(Context.TELEPHONY_SERVICE, mTelephonyManager);
+        doReturn(mTelephonyManager).when(mTelephonyManager).createForSubscriptionId(anyInt());
+
+        mTestIntent = new Intent(mContext, MockMobileNetworkActivity.class);
+
+        mSubscriptionManager = shadowOf(mContext.getSystemService(SubscriptionManager.class));
+        mSubscriptionInfo1 = SubscriptionInfoBuilder.newBuilder()
+                .setId(PREV_SUB_ID).buildSubscriptionInfo();
+        mSubscriptionInfo2 = SubscriptionInfoBuilder.newBuilder()
+                .setId(CURRENT_SUB_ID).buildSubscriptionInfo();
     }
 
     @After
-    public void tearDown() {
-        SubscriptionUtil.setAvailableSubscriptionsForTesting(null);
+    public void cleanUp() {
+        if (mMobileNetworkActivity != null) {
+            mMobileNetworkActivity.close();
+        }
+    }
+
+    private static class MockMobileNetworkActivity extends MobileNetworkActivity {
+        private MockMobileNetworkActivity() {
+            super();
+        }
+
+        private SubscriptionInfo mSubscriptionInFragment;
+
+        @Override
+        void switchFragment(SubscriptionInfo subInfo) {
+            mSubscriptionInFragment = subInfo;
+        }
+    }
+
+    private ActivityScenario<MobileNetworkActivity> createTargetActivity(Intent activityIntent) {
+        return ActivityScenario.launch(activityIntent);
     }
 
     @Test
-    public void updateBottomNavigationView_oneSubscription_shouldBeGone() {
-        mSubscriptionInfos.add(mSubscriptionInfo);
-        doReturn(mSubscriptionInfos).when(mSubscriptionManager).getActiveSubscriptionInfoList(
-                eq(true));
+    public void updateBottomNavigationView_oneSubscription_shouldNotCrash() {
+        mSubscriptionManager.setActiveSubscriptionInfos(mSubscriptionInfo1);
 
-        mMobileNetworkActivity.updateBottomNavigationView();
+        mMobileNetworkActivity = createTargetActivity(mTestIntent);
 
-        verify(mBottomNavigationView).setVisibility(View.GONE);
+        mMobileNetworkActivity.moveToState(State.STARTED);
     }
 
     @Test
-    public void updateBottomNavigationView_twoSubscription_updateMenu() {
-        final Menu menu = new ContextMenuBuilder(mContext);
-        mSubscriptionInfos.add(mSubscriptionInfo);
-        mSubscriptionInfos.add(mSubscriptionInfo);
-        doReturn(mSubscriptionInfos).when(mSubscriptionManager).getActiveSubscriptionInfoList(
-                eq(true));
-        doReturn(menu).when(mBottomNavigationView).getMenu();
+    public void updateBottomNavigationView_twoSubscription_shouldNotCrash() {
+        mSubscriptionManager.setActiveSubscriptionInfos(mSubscriptionInfo1, mSubscriptionInfo2);
 
-        mMobileNetworkActivity.updateBottomNavigationView();
+        mMobileNetworkActivity = createTargetActivity(mTestIntent);
 
-        assertThat(menu.size()).isEqualTo(2);
+        mMobileNetworkActivity.moveToState(State.STARTED);
     }
 
     @Test
-    public void switchFragment_newFragment_replaceIt() {
-        mMobileNetworkActivity.mCurSubscriptionId = PREV_SUB_ID;
+    public void switchFragment_switchBetweenTwoSubscriptions() {
+        mSubscriptionManager.setActiveSubscriptionInfos(mSubscriptionInfo1, mSubscriptionInfo2);
 
-        mMobileNetworkActivity.switchFragment(mShowFragment, CURRENT_SUB_ID);
+        mTestIntent.putExtra(Settings.EXTRA_SUB_ID, PREV_SUB_ID);
+        mMobileNetworkActivity = createTargetActivity(mTestIntent);
 
-        verify(mFragmentTransaction).replace(R.id.main_content, mShowFragment,
-                MOBILE_SETTINGS_TAG + CURRENT_SUB_ID);
+        mMobileNetworkActivity.moveToState(State.STARTED);
+
+        mMobileNetworkActivity.onActivity(activity -> {
+            final MockMobileNetworkActivity mockActivity = (MockMobileNetworkActivity) activity;
+            mockActivity.switchFragment(mSubscriptionInfo1);
+            assertThat(mockActivity.mSubscriptionInFragment).isEqualTo(mSubscriptionInfo1);
+        });
     }
 
     @Test
-    public void phoneChangeReceiver_ignoresStickyBroadcastFromBeforeRegistering() {
-        Activity activity = Robolectric.setupActivity(Activity.class);
-        MobileNetworkActivity.PhoneChangeReceiver.Client client = mock(
-                MobileNetworkActivity.PhoneChangeReceiver.Client.class);
-        MobileNetworkActivity.PhoneChangeReceiver receiver =
-                new MobileNetworkActivity.PhoneChangeReceiver(activity, client);
-        Intent intent = new Intent(TelephonyIntents.ACTION_RADIO_TECHNOLOGY_CHANGED);
-        activity.sendStickyBroadcast(intent);
+    public void switchFragment_subscriptionsUpdate_notifyByIntent() {
+        mSubscriptionManager.setActiveSubscriptionInfos(mSubscriptionInfo1, mSubscriptionInfo2);
 
-        receiver.register();
-        verify(client, never()).onPhoneChange();
+        mTestIntent.putExtra(Settings.EXTRA_SUB_ID, PREV_SUB_ID);
+        mMobileNetworkActivity = createTargetActivity(mTestIntent);
 
-        activity.sendStickyBroadcast(intent);
-        verify(client, times(1)).onPhoneChange();
-    }
+        mMobileNetworkActivity.moveToState(State.STARTED);
 
-    @Test
-    public void phoneChangeReceiver_ignoresCarrierConfigChangeForWrongSubscriptionId() {
-        Activity activity = Robolectric.setupActivity(Activity.class);
+        mMobileNetworkActivity.onActivity(activity -> {
+            final MockMobileNetworkActivity mockActivity = (MockMobileNetworkActivity) activity;
+            mockActivity.switchFragment(mSubscriptionInfo1);
+            assertThat(mockActivity.mSubscriptionInFragment).isEqualTo(mSubscriptionInfo1);
 
-        MobileNetworkActivity.PhoneChangeReceiver.Client client = mock(
-                MobileNetworkActivity.PhoneChangeReceiver.Client.class);
-        doReturn(2).when(client).getSubscriptionId();
+            mContext.sendBroadcast(new Intent(
+                    CarrierConfigManager.ACTION_CARRIER_CONFIG_CHANGED), null);
 
-        MobileNetworkActivity.PhoneChangeReceiver receiver =
-                new MobileNetworkActivity.PhoneChangeReceiver(activity, client);
+            mockActivity.switchFragment(mSubscriptionInfo2);
+            assertThat(mockActivity.mSubscriptionInFragment).isEqualTo(mSubscriptionInfo2);
 
-        receiver.register();
+            mContext.sendBroadcast(new Intent(
+                    TelephonyIntents.ACTION_RADIO_TECHNOLOGY_CHANGED), null);
 
-        Intent intent = new Intent(CarrierConfigManager.ACTION_CARRIER_CONFIG_CHANGED);
-        intent.putExtra(CarrierConfigManager.EXTRA_SUBSCRIPTION_INDEX, 3);
-        activity.sendBroadcast(intent);
-        verify(client, never()).onPhoneChange();
-    }
-
-    @Test
-    public void phoneChangeReceiver_dispatchesCarrierConfigChangeForCorrectSubscriptionId() {
-        Activity activity = Robolectric.setupActivity(Activity.class);
-
-        MobileNetworkActivity.PhoneChangeReceiver.Client client = mock(
-                MobileNetworkActivity.PhoneChangeReceiver.Client.class);
-        doReturn(2).when(client).getSubscriptionId();
-
-        MobileNetworkActivity.PhoneChangeReceiver receiver =
-                new MobileNetworkActivity.PhoneChangeReceiver(activity, client);
-
-        receiver.register();
-
-        Intent intent = new Intent(CarrierConfigManager.ACTION_CARRIER_CONFIG_CHANGED);
-        intent.putExtra(CarrierConfigManager.EXTRA_SUBSCRIPTION_INDEX, 2);
-        activity.sendBroadcast(intent);
-        verify(client).onPhoneChange();
-    }
-
-
-    @Test
-    public void getSubscriptionId_hasIntent_getIdFromIntent() {
-        final Intent intent = new Intent();
-        intent.putExtra(Settings.EXTRA_SUB_ID, CURRENT_SUB_ID);
-        doReturn(intent).when(mMobileNetworkActivity).getIntent();
-        mSubscriptionInfos.add(mSubscriptionInfo);
-        mSubscriptionInfos.add(mSubscriptionInfo2);
-        SubscriptionUtil.setAvailableSubscriptionsForTesting(mSubscriptionInfos);
-        doReturn(true).when(mSubscriptionManager).isActiveSubscriptionId(CURRENT_SUB_ID);
-
-        assertThat(mMobileNetworkActivity.getSubscriptionId()).isEqualTo(CURRENT_SUB_ID);
-    }
-
-    @Test
-    public void getSubscriptionId_noIntent_firstIdInList() {
-        doReturn(null).when(mMobileNetworkActivity).getIntent();
-        mSubscriptionInfos.add(mSubscriptionInfo);
-        mSubscriptionInfos.add(mSubscriptionInfo2);
-
-        assertThat(mMobileNetworkActivity.getSubscriptionId()).isEqualTo(PREV_SUB_ID);
+            mockActivity.switchFragment(mSubscriptionInfo1);
+            assertThat(mockActivity.mSubscriptionInFragment).isEqualTo(mSubscriptionInfo1);
+        });
     }
 
     @Test
     public void onSaveInstanceState_saveCurrentSubId() {
-        mMobileNetworkActivity = Robolectric.buildActivity(MobileNetworkActivity.class).get();
-        mMobileNetworkActivity.mCurSubscriptionId = PREV_SUB_ID;
-        final Bundle bundle = new Bundle();
+        mSubscriptionManager.setActiveSubscriptionInfos(mSubscriptionInfo1, mSubscriptionInfo2);
 
-        mMobileNetworkActivity.saveInstanceState(bundle);
+        mTestIntent.putExtra(Settings.EXTRA_SUB_ID, PREV_SUB_ID);
+        mMobileNetworkActivity = createTargetActivity(mTestIntent);
 
-        assertThat(bundle.getInt(Settings.EXTRA_SUB_ID)).isEqualTo(PREV_SUB_ID);
-    }
+        mMobileNetworkActivity.moveToState(State.STARTED);
 
-    @Test
-    public void onNewIntent_newSubscriptionId_fragmentReplaced() {
-        FeatureFlagPersistent.setEnabled(mContext, FeatureFlags.NETWORK_INTERNET_V2, true);
-
-        mSubscriptionInfos.add(mSubscriptionInfo);
-        mSubscriptionInfos.add(mSubscriptionInfo2);
-        SubscriptionUtil.setAvailableSubscriptionsForTesting(mSubscriptionInfos);
-        mMobileNetworkActivity.mCurSubscriptionId = PREV_SUB_ID;
-
-        final Intent newIntent = new Intent();
-        newIntent.putExtra(Settings.EXTRA_SUB_ID, CURRENT_SUB_ID);
-        mMobileNetworkActivity.onNewIntent(newIntent);
-        assertThat(mMobileNetworkActivity.mCurSubscriptionId).isEqualTo(CURRENT_SUB_ID);
+        mMobileNetworkActivity.onActivity(activity -> {
+            final Bundle bundle = new Bundle();
+            activity.saveInstanceState(bundle);
+            assertThat(bundle.getInt(Settings.EXTRA_SUB_ID)).isEqualTo(PREV_SUB_ID);
+        });
     }
 }
diff --git a/tests/robotests/src/com/android/settings/network/telephony/MobileNetworkSettingsTest.java b/tests/robotests/src/com/android/settings/network/telephony/MobileNetworkSettingsTest.java
index 4afe0fc..a4c3672 100644
--- a/tests/robotests/src/com/android/settings/network/telephony/MobileNetworkSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/network/telephony/MobileNetworkSettingsTest.java
@@ -26,6 +26,7 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
+import android.app.Activity;
 import android.app.usage.NetworkStatsManager;
 import android.content.Context;
 import android.net.NetworkPolicyManager;
@@ -36,15 +37,14 @@
 
 import androidx.fragment.app.FragmentActivity;
 
-import com.android.settings.core.FeatureFlags;
 import com.android.settings.datausage.DataUsageSummaryPreferenceController;
-import com.android.settings.development.featureflags.FeatureFlagPersistent;
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settings.testutils.shadow.ShadowEntityHeaderController;
 import com.android.settings.widget.EntityHeaderController;
 import com.android.settingslib.core.AbstractPreferenceController;
 
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -92,32 +92,14 @@
     }
 
     @Test
-    public void onAttach_noV2Flag_noCrash() {
-        FeatureFlagPersistent.setEnabled(mContext, FeatureFlags.NETWORK_INTERNET_V2, false);
+    @Ignore
+    public void onAttach_noCrash() {
         mFragment.onAttach(mContext);
     }
 
-    @Test
-    public void onAttach_v2Flag_noCrash() {
-        FeatureFlagPersistent.setEnabled(mContext, FeatureFlags.NETWORK_INTERNET_V2, true);
-        mFragment.onAttach(mContext);
-    }
 
     @Test
-    public void createPreferenceControllers_noV2Flag_noDataUsageSummaryController() {
-        FeatureFlagPersistent.setEnabled(mContext, FeatureFlags.NETWORK_INTERNET_V2, false);
-        final List<AbstractPreferenceController> controllers =
-                mFragment.createPreferenceControllers(mContext);
-        assertThat(controllers.stream().filter(
-                c -> c.getClass().equals(DataUsageSummaryPreferenceController.class))
-                .count())
-                .isEqualTo(0);
-    }
-
-    @Test
-    public void createPreferenceControllers_v2Flag_createsDataUsageSummaryController() {
-        FeatureFlagPersistent.setEnabled(mContext, FeatureFlags.NETWORK_INTERNET_V2, true);
-
+    public void createPreferenceControllers_createsDataUsageSummaryController() {
         final List<AbstractPreferenceController> controllers =
                 mFragment.createPreferenceControllers(mContext);
         assertThat(controllers.stream().filter(
@@ -130,12 +112,12 @@
     public void onActivityResult_noActivity_noCrash() {
         when(mFragment.getActivity()).thenReturn(null);
         // this should not crash
-        mFragment.onActivityResult(REQUEST_CODE_DELETE_SUBSCRIPTION, 0, null);
+        mFragment.onActivityResult(REQUEST_CODE_DELETE_SUBSCRIPTION, Activity.RESULT_OK, null);
     }
 
     @Test
     public void onActivityResult_deleteSubscription_activityFinishes() {
-        mFragment.onActivityResult(REQUEST_CODE_DELETE_SUBSCRIPTION, 0, null);
+        mFragment.onActivityResult(REQUEST_CODE_DELETE_SUBSCRIPTION, Activity.RESULT_OK, null);
         verify(mActivity).finish();
     }
 
diff --git a/tests/robotests/src/com/android/settings/network/telephony/MobileNetworkSwitchControllerTest.java b/tests/robotests/src/com/android/settings/network/telephony/MobileNetworkSwitchControllerTest.java
index ccf345f..ba839c6 100644
--- a/tests/robotests/src/com/android/settings/network/telephony/MobileNetworkSwitchControllerTest.java
+++ b/tests/robotests/src/com/android/settings/network/telephony/MobileNetworkSwitchControllerTest.java
@@ -105,11 +105,15 @@
         when(mSubscription.isEmbedded()).thenReturn(false);
         mController.displayPreference(mScreen);
         assertThat(mSwitchBar.isShowing()).isFalse();
+
+        when(mSubscriptionManager.canDisablePhysicalSubscription()).thenReturn(true);
+        mController.displayPreference(mScreen);
+        assertThat(mSwitchBar.isShowing()).isTrue();
     }
 
     @Test
     public void displayPreference_oneEnabledSubscription_switchBarNotHidden() {
-        doReturn(true).when(mSubscriptionManager).isActiveSubId(mSubId);
+        doReturn(true).when(mSubscriptionManager).isActiveSubscriptionId(mSubId);
         SubscriptionUtil.setAvailableSubscriptionsForTesting(Arrays.asList(mSubscription));
         mController.displayPreference(mScreen);
         assertThat(mSwitchBar.isShowing()).isTrue();
@@ -117,7 +121,7 @@
 
     @Test
     public void displayPreference_oneDisabledSubscription_switchBarNotHidden() {
-        doReturn(false).when(mSubscriptionManager).isActiveSubId(mSubId);
+        doReturn(false).when(mSubscriptionManager).isActiveSubscriptionId(mSubId);
         SubscriptionUtil.setAvailableSubscriptionsForTesting(Arrays.asList(mSubscription));
         mController.displayPreference(mScreen);
         assertThat(mSwitchBar.isShowing()).isTrue();
@@ -125,7 +129,7 @@
 
     @Test
     public void displayPreference_subscriptionEnabled_switchIsOn() {
-        when(mSubscriptionManager.isActiveSubId(mSubId)).thenReturn(true);
+        when(mSubscriptionManager.isActiveSubscriptionId(mSubId)).thenReturn(true);
         mController.displayPreference(mScreen);
         assertThat(mSwitchBar.isShowing()).isTrue();
         assertThat(mSwitchBar.isChecked()).isTrue();
@@ -133,7 +137,7 @@
 
     @Test
     public void displayPreference_subscriptionDisabled_switchIsOff() {
-        when(mSubscriptionManager.isActiveSubId(mSubId)).thenReturn(false);
+        when(mSubscriptionManager.isActiveSubscriptionId(mSubId)).thenReturn(false);
         mController.displayPreference(mScreen);
         assertThat(mSwitchBar.isShowing()).isTrue();
         assertThat(mSwitchBar.isChecked()).isFalse();
@@ -141,7 +145,7 @@
 
     @Test
     public void switchChangeListener_fromEnabledToDisabled_setSubscriptionEnabledCalledCorrectly() {
-        when(mSubscriptionManager.isActiveSubId(mSubId)).thenReturn(true);
+        when(mSubscriptionManager.isActiveSubscriptionId(mSubId)).thenReturn(true);
         mController.displayPreference(mScreen);
         assertThat(mSwitchBar.isShowing()).isTrue();
         assertThat(mSwitchBar.isChecked()).isTrue();
@@ -153,7 +157,7 @@
     public void switchChangeListener_fromEnabledToDisabled_setSubscriptionEnabledFailed() {
         when(mSubscriptionManager.setSubscriptionEnabled(eq(mSubId), anyBoolean()))
                 .thenReturn(false);
-        when(mSubscriptionManager.isActiveSubId(mSubId)).thenReturn(true);
+        when(mSubscriptionManager.isActiveSubscriptionId(mSubId)).thenReturn(true);
         mController.displayPreference(mScreen);
         assertThat(mSwitchBar.isShowing()).isTrue();
         assertThat(mSwitchBar.isChecked()).isTrue();
@@ -164,7 +168,7 @@
 
     @Test
     public void switchChangeListener_fromDisabledToEnabled_setSubscriptionEnabledCalledCorrectly() {
-        when(mSubscriptionManager.isActiveSubId(mSubId)).thenReturn(false);
+        when(mSubscriptionManager.isActiveSubscriptionId(mSubId)).thenReturn(false);
         mController.displayPreference(mScreen);
         assertThat(mSwitchBar.isShowing()).isTrue();
         assertThat(mSwitchBar.isChecked()).isFalse();
diff --git a/tests/robotests/src/com/android/settings/network/telephony/MobileNetworkUtilsTest.java b/tests/robotests/src/com/android/settings/network/telephony/MobileNetworkUtilsTest.java
index c6b8689..bbb8aac 100644
--- a/tests/robotests/src/com/android/settings/network/telephony/MobileNetworkUtilsTest.java
+++ b/tests/robotests/src/com/android/settings/network/telephony/MobileNetworkUtilsTest.java
@@ -20,9 +20,7 @@
 
 import static org.mockito.ArgumentMatchers.anyBoolean;
 import static org.mockito.ArgumentMatchers.anyInt;
-import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.ArgumentMatchers.nullable;
-import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
@@ -41,7 +39,7 @@
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
 
-import com.android.internal.telephony.PhoneConstants;
+import com.android.settings.network.telephony.TelephonyConstants.TelephonyManagerConstants;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -112,7 +110,7 @@
         when(mSubscriptionInfo2.getSubscriptionId()).thenReturn(SUB_ID_2);
         when(mSubscriptionInfo2.getCarrierName()).thenReturn(PLMN_FROM_SUB_ID_2);
 
-        when(mSubscriptionManager.getActiveSubscriptionInfoList(eq(true))).thenReturn(
+        when(mSubscriptionManager.getActiveSubscriptionInfoList()).thenReturn(
                 Arrays.asList(mSubscriptionInfo1, mSubscriptionInfo2));
         when(mSubscriptionManager.getAccessibleSubscriptionInfoList()).thenReturn(
                 Arrays.asList(mSubscriptionInfo1, mSubscriptionInfo2));
@@ -170,26 +168,26 @@
 
     @Test
     public void isCdmaOptions_phoneTypeCdma_returnTrue() {
-        when(mTelephonyManager.getPhoneType()).thenReturn(PhoneConstants.PHONE_TYPE_CDMA);
+        when(mTelephonyManager.getPhoneType()).thenReturn(TelephonyManager.PHONE_TYPE_CDMA);
 
         assertThat(MobileNetworkUtils.isCdmaOptions(mContext, SUB_ID_1)).isTrue();
     }
 
     @Test
     public void isCdmaOptions_worldModeWithGsmWcdma_returnTrue() {
-        when(mTelephonyManager.getPhoneType()).thenReturn(PhoneConstants.PHONE_TYPE_GSM);
+        when(mTelephonyManager.getPhoneType()).thenReturn(TelephonyManager.PHONE_TYPE_GSM);
         mCarrierConfig.putBoolean(CarrierConfigManager.KEY_WORLD_MODE_ENABLED_BOOL, true);
 
         Settings.Global.putInt(mContext.getContentResolver(),
                 android.provider.Settings.Global.PREFERRED_NETWORK_MODE + SUB_ID_1,
-                TelephonyManager.NETWORK_MODE_LTE_GSM_WCDMA);
+                TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA);
 
         assertThat(MobileNetworkUtils.isCdmaOptions(mContext, SUB_ID_1)).isTrue();
     }
 
     @Test
     public void isCdmaOptions_carrierWorldModeWithoutHideCarrier_returnTrue() {
-        when(mTelephonyManager.getPhoneType()).thenReturn(PhoneConstants.PHONE_TYPE_GSM);
+        when(mTelephonyManager.getPhoneType()).thenReturn(TelephonyManager.PHONE_TYPE_GSM);
         mCarrierConfig.putBoolean(CarrierConfigManager.KEY_HIDE_CARRIER_NETWORK_SETTINGS_BOOL,
                 false);
         mCarrierConfig.putBoolean(CarrierConfigManager.KEY_WORLD_PHONE_BOOL, true);
@@ -199,14 +197,14 @@
 
     @Test
     public void getSearchableSubscriptionId_oneActive_returnValid() {
-        when(mSubscriptionManager.getActiveSubscriptionIdList()).thenReturn(new int[]{SUB_ID_1});
-
+        when(mSubscriptionManager.getActiveSubscriptionInfoList()).thenReturn(
+                Arrays.asList(mSubscriptionInfo1));
         assertThat(MobileNetworkUtils.getSearchableSubscriptionId(mContext)).isEqualTo(SUB_ID_1);
     }
 
     @Test
     public void getSearchableSubscriptionId_nonActive_returnInvalid() {
-        when(mSubscriptionManager.getActiveSubscriptionIdList()).thenReturn(new int[0]);
+        when(mSubscriptionManager.getActiveSubscriptionInfoList()).thenReturn(new ArrayList<>());
 
         assertThat(MobileNetworkUtils.getSearchableSubscriptionId(mContext))
                 .isEqualTo(SubscriptionManager.INVALID_SUBSCRIPTION_ID);
@@ -227,7 +225,7 @@
                 false);
         mCarrierConfig.putBoolean(CarrierConfigManager.KEY_OPERATOR_SELECTION_EXPAND_BOOL, true);
         mCarrierConfig.putBoolean(CarrierConfigManager.KEY_CSP_ENABLED_BOOL, false);
-        when(mTelephonyManager.getPhoneType()).thenReturn(PhoneConstants.PHONE_TYPE_GSM);
+        when(mTelephonyManager.getPhoneType()).thenReturn(TelephonyManager.PHONE_TYPE_GSM);
 
         assertThat(MobileNetworkUtils.shouldDisplayNetworkSelectOptions(mContext, SUB_ID_1))
                 .isTrue();
@@ -256,7 +254,7 @@
 
         Settings.Global.putInt(mContext.getContentResolver(),
                 android.provider.Settings.Global.PREFERRED_NETWORK_MODE + SUB_ID_1,
-                TelephonyManager.NETWORK_MODE_LTE_TDSCDMA_GSM);
+                TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM);
         assertThat(MobileNetworkUtils.shouldSpeciallyUpdateGsmCdma(mContext, SUB_ID_1)).isTrue();
     }
 
@@ -267,7 +265,7 @@
 
         Settings.Global.putInt(mContext.getContentResolver(),
                 android.provider.Settings.Global.PREFERRED_NETWORK_MODE + SUB_ID_1,
-                TelephonyManager.NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA);
+                TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA);
         assertThat(MobileNetworkUtils.shouldSpeciallyUpdateGsmCdma(mContext, SUB_ID_1)).isTrue();
     }
 
@@ -278,7 +276,7 @@
 
         Settings.Global.putInt(mContext.getContentResolver(),
                 android.provider.Settings.Global.PREFERRED_NETWORK_MODE + SUB_ID_1,
-                TelephonyManager.NETWORK_MODE_LTE_TDSCDMA);
+                TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA);
         assertThat(MobileNetworkUtils.shouldSpeciallyUpdateGsmCdma(mContext, SUB_ID_1)).isTrue();
     }
 
@@ -289,7 +287,7 @@
 
         Settings.Global.putInt(mContext.getContentResolver(),
                 android.provider.Settings.Global.PREFERRED_NETWORK_MODE + SUB_ID_1,
-                TelephonyManager.NETWORK_MODE_LTE_TDSCDMA_WCDMA);
+                TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_WCDMA);
         assertThat(MobileNetworkUtils.shouldSpeciallyUpdateGsmCdma(mContext, SUB_ID_1)).isTrue();
     }
 
@@ -300,7 +298,7 @@
 
         Settings.Global.putInt(mContext.getContentResolver(),
                 android.provider.Settings.Global.PREFERRED_NETWORK_MODE + SUB_ID_1,
-                TelephonyManager.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA);
+                TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA);
         assertThat(MobileNetworkUtils.shouldSpeciallyUpdateGsmCdma(mContext, SUB_ID_1)).isTrue();
     }
 
@@ -311,7 +309,7 @@
 
         Settings.Global.putInt(mContext.getContentResolver(),
                 android.provider.Settings.Global.PREFERRED_NETWORK_MODE + SUB_ID_1,
-                TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA);
+                TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA);
         assertThat(MobileNetworkUtils.shouldSpeciallyUpdateGsmCdma(mContext, SUB_ID_1)).isTrue();
     }
 
diff --git a/tests/robotests/src/com/android/settings/network/telephony/NetworkOperatorPreferenceTest.java b/tests/robotests/src/com/android/settings/network/telephony/NetworkOperatorPreferenceTest.java
deleted file mode 100644
index 704dd95..0000000
--- a/tests/robotests/src/com/android/settings/network/telephony/NetworkOperatorPreferenceTest.java
+++ /dev/null
@@ -1,70 +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.network.telephony;
-
-import static org.mockito.ArgumentMatchers.any;
-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.res.Resources;
-import android.graphics.drawable.Drawable;
-import android.telephony.CellInfo;
-
-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;
-
-@RunWith(RobolectricTestRunner.class)
-public class NetworkOperatorPreferenceTest {
-    private static final int LEVEL = 2;
-
-    @Mock
-    private Resources mResources;
-    @Mock
-    private CellInfo mCellInfo;
-    private Context mContext;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-
-        mContext = spy(RuntimeEnvironment.application);
-        when(mContext.getResources()).thenReturn(mResources);
-    }
-
-    @Test
-    public void setIcon_useOldApi_doNothing() {
-        when(mResources.getBoolean(com.android.internal.R.bool.config_enableNewAutoSelectNetworkUI))
-                .thenReturn(false);
-        final NetworkOperatorPreference preference = spy(
-                new NetworkOperatorPreference(mCellInfo, mContext,
-                        new ArrayList<>() /* forbiddenPlmns */, false /* show4GForLTE */));
-
-        preference.setIcon(LEVEL);
-
-        verify(preference, never()).setIcon(any(Drawable.class));
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/network/telephony/NetworkScanHelperTest.java b/tests/robotests/src/com/android/settings/network/telephony/NetworkScanHelperTest.java
new file mode 100644
index 0000000..b90f0cf
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/network/telephony/NetworkScanHelperTest.java
@@ -0,0 +1,164 @@
+/*
+ * 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.network.telephony;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.Mockito.doAnswer;
+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.telephony.CellInfo;
+import android.telephony.NetworkScan;
+import android.telephony.NetworkScanRequest;
+import android.telephony.TelephonyManager;
+import android.telephony.TelephonyScanManager;
+
+import org.junit.Before;
+import org.junit.Ignore;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.mockito.invocation.InvocationOnMock;
+import org.mockito.stubbing.Answer;
+import org.robolectric.RobolectricTestRunner;
+
+import java.util.List;
+import java.util.concurrent.Executor;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+
+@RunWith(RobolectricTestRunner.class)
+public class NetworkScanHelperTest {
+
+    @Mock
+    private TelephonyManager mTelephonyManager;
+
+    @Mock
+    private List<CellInfo> mCellInfos;
+
+    @Mock
+    private NetworkScanHelper.NetworkScanCallback mNetworkScanCallback;
+
+    private static final long THREAD_EXECUTION_TIMEOUT_MS = 3000L;
+
+    private ExecutorService mNetworkScanExecutor;
+    private NetworkScanHelper mNetworkScanHelper;
+
+    private static final int SCAN_ID = 1234;
+    private static final int SUB_ID = 1;
+
+    private NetworkScan mNetworkScan;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+
+        mNetworkScanExecutor = Executors.newFixedThreadPool(1);
+
+        mNetworkScanHelper = new NetworkScanHelper(mTelephonyManager,
+                mNetworkScanCallback, mNetworkScanExecutor);
+
+        mNetworkScan = spy(new NetworkScan(SCAN_ID, SUB_ID));
+    }
+
+    @Test
+    public void startNetworkScan_incrementalAndSuccess_completionWithResult() {
+        when(mCellInfos.size()).thenReturn(1);
+
+        doAnswer(new Answer() {
+            @Override
+            public Object answer(InvocationOnMock invocation) throws Throwable {
+                TelephonyScanManager.NetworkScanCallback callback =
+                        (TelephonyScanManager.NetworkScanCallback)
+                        (invocation.getArguments()[2]);
+                callback.onResults(mCellInfos);
+                callback.onComplete();
+                return mNetworkScan;
+            }
+        }).when(mTelephonyManager).requestNetworkScan(
+                any(NetworkScanRequest.class), any(Executor.class),
+                any(TelephonyScanManager.NetworkScanCallback.class));
+
+        ArgumentCaptor<List<CellInfo>> argument = ArgumentCaptor.forClass(List.class);
+
+        startNetworkScan_incremental(true);
+
+        verify(mNetworkScanCallback, times(1)).onResults(argument.capture());
+        List<CellInfo> actualResult = argument.getValue();
+        assertThat(actualResult.size()).isEqualTo(mCellInfos.size());
+        verify(mNetworkScanCallback, times(1)).onComplete();
+    }
+
+    @Test
+    public void startNetworkScan_incrementalAndImmediateFailure_failureWithErrorCode() {
+        doReturn(null).when(mTelephonyManager).requestNetworkScan(
+                any(NetworkScanRequest.class), any(Executor.class),
+                any(TelephonyScanManager.NetworkScanCallback.class));
+
+        startNetworkScan_incremental(true);
+
+        verify(mNetworkScanCallback, times(1)).onError(anyInt());
+    }
+
+    @Test
+    public void startNetworkScan_incrementalAndFailure_failureWithErrorCode() {
+        doAnswer(new Answer() {
+            @Override
+            public Object answer(InvocationOnMock invocation) throws Throwable {
+                TelephonyScanManager.NetworkScanCallback callback =
+                        (TelephonyScanManager.NetworkScanCallback)
+                        (invocation.getArguments()[2]);
+                callback.onError(NetworkScan.ERROR_MODEM_ERROR);
+                return mNetworkScan;
+            }
+        }).when(mTelephonyManager).requestNetworkScan(
+                any(NetworkScanRequest.class), any(Executor.class),
+                any(TelephonyScanManager.NetworkScanCallback.class));
+
+        startNetworkScan_incremental(true);
+
+        verify(mNetworkScanCallback, times(1)).onError(anyInt());
+    }
+
+    @Test
+    @Ignore
+    public void startNetworkScan_incrementalAndAbort_doStop() {
+        doReturn(mNetworkScan).when(mTelephonyManager).requestNetworkScan(
+                any(NetworkScanRequest.class), any(Executor.class),
+                any(TelephonyScanManager.NetworkScanCallback.class));
+
+        startNetworkScan_incremental(false);
+
+        verify(mNetworkScan, times(1)).stopScan();
+    }
+
+    private void startNetworkScan_incremental(boolean waitForCompletion) {
+        mNetworkScanHelper.startNetworkScan();
+        if (!waitForCompletion) {
+            mNetworkScanHelper.stopNetworkQuery();
+        }
+    }
+
+}
diff --git a/tests/robotests/src/com/android/settings/network/telephony/NetworkSelectSettingsTest.java b/tests/robotests/src/com/android/settings/network/telephony/NetworkSelectSettingsTest.java
index 7dfc8a3..6bee38f 100644
--- a/tests/robotests/src/com/android/settings/network/telephony/NetworkSelectSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/network/telephony/NetworkSelectSettingsTest.java
@@ -23,7 +23,11 @@
 import static org.mockito.Mockito.when;
 
 import android.content.Context;
-import android.telephony.CellInfo;
+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;
 
@@ -43,20 +47,27 @@
 @RunWith(RobolectricTestRunner.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 CellInfo mCellInfo1;
+    private CellInfoWcdma mCellInfo1;
     @Mock
-    private CellInfo mCellInfo2;
+    private CellIdentityWcdma mCellId1;
+    @Mock
+    private CellInfoLte mCellInfo2;
+    @Mock
+    private CellIdentityLte mCellId2;
     @Mock
     private PreferenceManager mPreferenceManager;
+    @Mock
+    private SharedPreferences mSharedPreferences;
     private Context mContext;
 
-    private PreferenceCategory mConnectedPreferenceCategory;
     private PreferenceCategory mPreferenceCategory;
 
     private NetworkSelectSettings mNetworkSelectSettings;
@@ -71,10 +82,13 @@
         when(mTelephonyManager.createForSubscriptionId(SUB_ID)).thenReturn(mTelephonyManager);
 
         when(mCellInfo1.isRegistered()).thenReturn(true);
+        when(mCellInfo1.getCellIdentity()).thenReturn(mCellId1);
+        when(mCellId1.getOperatorAlphaLong()).thenReturn(CARRIER_NAME1);
         when(mCellInfo2.isRegistered()).thenReturn(false);
+        when(mCellInfo2.getCellIdentity()).thenReturn(mCellId2);
+        when(mCellId2.getOperatorAlphaLong()).thenReturn(CARRIER_NAME2);
 
-        mConnectedPreferenceCategory = spy(new PreferenceCategory(mContext));
-        doReturn(mPreferenceManager).when(mConnectedPreferenceCategory).getPreferenceManager();
+        doReturn(mSharedPreferences).when(mPreferenceManager).getSharedPreferences();
         mPreferenceCategory = spy(new PreferenceCategory(mContext));
         doReturn(mPreferenceManager).when(mPreferenceCategory).getPreferenceManager();
 
@@ -84,23 +98,18 @@
         doReturn(mContext).when(mPreferenceManager).getContext();
 
         mNetworkSelectSettings.mTelephonyManager = mTelephonyManager;
-        mNetworkSelectSettings.mConnectedPreferenceCategory = mConnectedPreferenceCategory;
         mNetworkSelectSettings.mPreferenceCategory = mPreferenceCategory;
         mNetworkSelectSettings.mCellInfoList = Arrays.asList(mCellInfo1, mCellInfo2);
     }
 
     @Test
-    public void updateAllPreferenceCategory_containCorrectPreference() {
+    public void updateAllPreferenceCategory_correctOrderingPreference() {
         mNetworkSelectSettings.updateAllPreferenceCategory();
 
-        assertThat(mConnectedPreferenceCategory.getPreferenceCount()).isEqualTo(1);
-        final NetworkOperatorPreference connectedPreference =
-                (NetworkOperatorPreference) mConnectedPreferenceCategory.getPreference(0);
-        assertThat(connectedPreference.getCellInfo()).isEqualTo(mCellInfo1);
-        assertThat(mPreferenceCategory.getPreferenceCount()).isEqualTo(1);
+        assertThat(mPreferenceCategory.getPreferenceCount()).isEqualTo(2);
         final NetworkOperatorPreference preference =
-                (NetworkOperatorPreference) mPreferenceCategory.getPreference(0);
-        assertThat(preference.getCellInfo()).isEqualTo(mCellInfo2);
+                (NetworkOperatorPreference) mPreferenceCategory.getPreference(1);
+        assertThat(preference.getOperatorName()).isEqualTo(mCellId2.getOperatorAlphaLong());
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceControllerTest.java
index 9c03389..1feb08b 100644
--- a/tests/robotests/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceControllerTest.java
@@ -18,6 +18,7 @@
 
 import static com.android.settings.core.BasePreferenceController.AVAILABLE;
 import static com.android.settings.core.BasePreferenceController.CONDITIONALLY_UNAVAILABLE;
+import static com.android.settings.network.telephony.MobileNetworkUtils.getRafFromNetworkType;
 
 import static com.google.common.truth.Truth.assertThat;
 
@@ -33,10 +34,10 @@
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
 
-import androidx.fragment.app.FragmentManager;
 import androidx.preference.ListPreference;
 
 import com.android.settings.R;
+import com.android.settings.network.telephony.TelephonyConstants.TelephonyManagerConstants;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -110,11 +111,12 @@
                 true);
 
         when(mServiceState.getState()).thenReturn(ServiceState.STATE_OUT_OF_SERVICE);
-        when(mServiceState.getDataRegState()).thenReturn(ServiceState.STATE_OUT_OF_SERVICE);
+        when(mServiceState.getDataRegistrationState()).thenReturn(
+                ServiceState.STATE_OUT_OF_SERVICE);
         assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
 
         when(mServiceState.getState()).thenReturn(ServiceState.STATE_IN_SERVICE);
-        when(mServiceState.getDataRegState()).thenReturn(ServiceState.STATE_IN_SERVICE);
+        when(mServiceState.getDataRegistrationState()).thenReturn(ServiceState.STATE_IN_SERVICE);
 
         when(mServiceState.getRoaming()).thenReturn(false);
         assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
@@ -127,39 +129,39 @@
     public void updateState_updateByNetworkMode() {
         Settings.Global.putInt(mContext.getContentResolver(),
                 Settings.Global.PREFERRED_NETWORK_MODE + SUB_ID,
-                TelephonyManager.NETWORK_MODE_TDSCDMA_GSM_WCDMA);
+                TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM_WCDMA);
 
         mController.updateState(mPreference);
 
         assertThat(mPreference.getValue()).isEqualTo(
-                String.valueOf(TelephonyManager.NETWORK_MODE_TDSCDMA_GSM_WCDMA));
+                String.valueOf(TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM_WCDMA));
         assertThat(mPreference.getSummary()).isEqualTo(
                 mContext.getString(R.string.preferred_network_mode_tdscdma_gsm_wcdma_summary));
     }
 
     @Test
     public void onPreferenceChange_updateSuccess() {
-        doReturn(true).when(mTelephonyManager).setPreferredNetworkType(SUB_ID,
-                TelephonyManager.NETWORK_MODE_LTE_TDSCDMA);
+        doReturn(true).when(mTelephonyManager).setPreferredNetworkTypeBitmask(
+                getRafFromNetworkType(TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA));
 
         mController.onPreferenceChange(mPreference,
-                String.valueOf(TelephonyManager.NETWORK_MODE_LTE_TDSCDMA));
+                String.valueOf(TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA));
 
         assertThat(Settings.Global.getInt(mContext.getContentResolver(),
                 Settings.Global.PREFERRED_NETWORK_MODE + SUB_ID, 0)).isEqualTo(
-                TelephonyManager.NETWORK_MODE_LTE_TDSCDMA);
+                TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA);
     }
 
     @Test
     public void onPreferenceChange_updateFail() {
-        doReturn(false).when(mTelephonyManager).setPreferredNetworkType(SUB_ID,
-                TelephonyManager.NETWORK_MODE_LTE_TDSCDMA);
+        doReturn(false).when(mTelephonyManager).setPreferredNetworkTypeBitmask(
+                getRafFromNetworkType(TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA));
 
         mController.onPreferenceChange(mPreference,
-                String.valueOf(TelephonyManager.NETWORK_MODE_LTE_TDSCDMA));
+                String.valueOf(TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA));
 
         assertThat(Settings.Global.getInt(mContext.getContentResolver(),
                 Settings.Global.PREFERRED_NETWORK_MODE + SUB_ID, 0)).isNotEqualTo(
-                TelephonyManager.NETWORK_MODE_LTE_TDSCDMA);
+                TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/network/telephony/RenameMobileNetworkDialogFragmentTest.java b/tests/robotests/src/com/android/settings/network/telephony/RenameMobileNetworkDialogFragmentTest.java
index 53b4f00..2d5f47b 100644
--- a/tests/robotests/src/com/android/settings/network/telephony/RenameMobileNetworkDialogFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/network/telephony/RenameMobileNetworkDialogFragmentTest.java
@@ -48,6 +48,7 @@
 import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
 
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.ArgumentCaptor;
@@ -86,10 +87,12 @@
 
         final ServiceState serviceState = mock(ServiceState.class);
         when(serviceState.getOperatorAlphaLong()).thenReturn("fake carrier name");
-        when(mTelephonyMgr.getServiceStateForSubscriber(mSubscriptionId)).thenReturn(serviceState);
+        when(mTelephonyMgr.createForSubscriptionId(anyInt())).thenReturn(mTelephonyMgr);
+        when(mTelephonyMgr.getServiceState()).thenReturn(serviceState);
     }
 
     @Test
+    @Ignore
     public void dialog_subscriptionMissing_noCrash() {
         final AlertDialog dialog = startDialog();
         final Button negativeButton = dialog.getButton(DialogInterface.BUTTON_NEGATIVE);
@@ -98,6 +101,7 @@
     }
 
     @Test
+    @Ignore
     public void dialog_cancelButtonClicked_setDisplayNameAndIconTintNotCalled() {
         when(mSubscriptionMgr.getActiveSubscriptionInfo(mSubscriptionId)).thenReturn(
                 mSubscriptionInfo);
@@ -113,6 +117,7 @@
     }
 
     @Test
+    @Ignore
     public void dialog_saveButtonClicked_setDisplayNameAndIconTint() {
         when(mSubscriptionMgr.getActiveSubscriptionInfo(mSubscriptionId)).thenReturn(
                 mSubscriptionInfo);
@@ -136,6 +141,7 @@
     }
 
     @Test
+    @Ignore
     public void populateView_infoIsOpportunistic_hideNumberLabel() {
         final View view = LayoutInflater.from(mActivity).inflate(
                 R.layout.dialog_mobile_network_rename, null);
diff --git a/tests/robotests/src/com/android/settings/network/telephony/RoamingPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/network/telephony/RoamingPreferenceControllerTest.java
index a883c51..092b9b7 100644
--- a/tests/robotests/src/com/android/settings/network/telephony/RoamingPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/network/telephony/RoamingPreferenceControllerTest.java
@@ -80,7 +80,7 @@
         doReturn(mFragmentTransaction).when(mFragmentManager).beginTransaction();
 
         mPreference = spy(new RestrictedSwitchPreference(mContext));
-        mController = new RoamingPreferenceController(mContext, "roaming");
+        mController = spy(new RoamingPreferenceController(mContext, "roaming"));
         mController.init(mFragmentManager, SUB_ID);
         mPreference.setKey(mController.getPreferenceKey());
     }
@@ -117,10 +117,10 @@
     }
 
     @Test
-    public void handlePreferenceTreeClick_needDialog_showDialog() {
-        mController.mNeedDialog = true;
+    public void setChecked_needDialog_showDialog() {
+        doReturn(true).when(mController).isDialogNeeded();
 
-        mController.handlePreferenceTreeClick(mPreference);
+        mController.setChecked(true);
 
         verify(mFragmentManager).beginTransaction();
     }
diff --git a/tests/robotests/src/com/android/settings/network/telephony/TelephonyBasePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/network/telephony/TelephonyBasePreferenceControllerTest.java
index 886ea17..6ba2ffa 100644
--- a/tests/robotests/src/com/android/settings/network/telephony/TelephonyBasePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/network/telephony/TelephonyBasePreferenceControllerTest.java
@@ -22,6 +22,7 @@
 import static org.mockito.Mockito.when;
 
 import android.content.Context;
+import android.telephony.SubscriptionInfo;
 import android.telephony.SubscriptionManager;
 
 import org.junit.Before;
@@ -32,12 +33,16 @@
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
 
+import java.util.Arrays;
+
 @RunWith(RobolectricTestRunner.class)
 public class TelephonyBasePreferenceControllerTest {
     private static final int VALID_SUB_ID = 1;
 
     @Mock
     private SubscriptionManager mSubscriptionManager;
+    @Mock
+    private SubscriptionInfo mSubscriptionInfo;
 
     private TestPreferenceController mPreferenceController;
     private Context mContext;
@@ -49,7 +54,7 @@
         mContext = spy(RuntimeEnvironment.application);
         when(mContext.getSystemService(SubscriptionManager.class))
                 .thenReturn(mSubscriptionManager);
-        when(mSubscriptionManager.getActiveSubscriptionIdList()).thenReturn(new int[]{});
+        when(mSubscriptionInfo.getSubscriptionId()).thenReturn(VALID_SUB_ID);
         mPreferenceController = new TestPreferenceController(mContext, "prefKey");
     }
 
@@ -62,8 +67,8 @@
 
     @Test
     public void isAvailable_noIdSetHoweverHasDefaultOne_returnTrue() {
-        when(mSubscriptionManager.getActiveSubscriptionIdList())
-                .thenReturn(new int[]{VALID_SUB_ID});
+        when(mSubscriptionManager.getActiveSubscriptionInfoList()).thenReturn(
+                Arrays.asList(mSubscriptionInfo));
 
         assertThat(mPreferenceController.isAvailable()).isTrue();
     }
diff --git a/tests/robotests/src/com/android/settings/network/telephony/VideoCallingPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/network/telephony/VideoCallingPreferenceControllerTest.java
index d904ab3..c766289 100644
--- a/tests/robotests/src/com/android/settings/network/telephony/VideoCallingPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/network/telephony/VideoCallingPreferenceControllerTest.java
@@ -18,6 +18,7 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
+import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.spy;
 
@@ -25,11 +26,15 @@
 import android.os.PersistableBundle;
 import android.telephony.CarrierConfigManager;
 import android.telephony.TelephonyManager;
+import android.telephony.ims.ProvisioningManager;
 import android.telephony.ims.feature.ImsFeature;
 
+import androidx.preference.PreferenceScreen;
 import androidx.preference.SwitchPreference;
 
 import com.android.ims.ImsManager;
+import com.android.settings.network.ims.MockVtQueryImsState;
+import com.android.settings.network.ims.VolteQueryImsState;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -48,7 +53,14 @@
     @Mock
     private ImsManager mImsManager;
     @Mock
+    private ProvisioningManager mProvisioningManager;
+    @Mock
     private CarrierConfigManager mCarrierConfigManager;
+    @Mock
+    private PreferenceScreen mPreferenceScreen;
+
+    private MockVtQueryImsState mQueryImsState;
+    private VolteQueryImsState mQueryVoLteState;
 
     private VideoCallingPreferenceController mController;
     private PersistableBundle mCarrierConfig;
@@ -60,9 +72,9 @@
         MockitoAnnotations.initMocks(this);
 
         mContext = spy(RuntimeEnvironment.application);
-        doReturn(mTelephonyManager).when(mContext).getSystemService(Context.TELEPHONY_SERVICE);
         doReturn(mTelephonyManager).when(mContext).getSystemService(TelephonyManager.class);
-        doReturn(mCarrierConfigManager).when(mContext).getSystemService(CarrierConfigManager.class);
+        doReturn(mCarrierConfigManager).when(mContext)
+                .getSystemService(CarrierConfigManager.class);
         doReturn(mTelephonyManager).when(mTelephonyManager).createForSubscriptionId(SUB_ID);
 
         mCarrierConfig = new PersistableBundle();
@@ -70,28 +82,39 @@
                 CarrierConfigManager.KEY_IGNORE_DATA_ENABLED_CHANGED_FOR_VIDEO_CALLS, true);
         doReturn(mCarrierConfig).when(mCarrierConfigManager).getConfigForSubId(SUB_ID);
 
+        mQueryImsState = spy(new MockVtQueryImsState(mContext, SUB_ID));
+        doReturn(true).when(mQueryImsState).isEnabledByUser();
+        doReturn(mImsManager).when(mQueryImsState).getImsManager(anyInt());
+
+        mQueryVoLteState = spy(new VolteQueryImsState(mContext, SUB_ID));
+        doReturn(true).when(mQueryVoLteState).isEnabledByUser();
+
         mPreference = new SwitchPreference(mContext);
-        mController = new VideoCallingPreferenceController(mContext, "wifi_calling");
+        mController = spy(new VideoCallingPreferenceController(mContext, "wifi_calling"));
         mController.init(SUB_ID);
-        mController.mImsManager = mImsManager;
+        doReturn(mQueryImsState).when(mController).queryImsState(anyInt());
+        doReturn(mQueryVoLteState).when(mController).queryVoLteState(anyInt());
         mPreference.setKey(mController.getPreferenceKey());
 
         doReturn(true).when(mImsManager).isVtEnabledByPlatform();
-        doReturn(true).when(mImsManager).isVtProvisionedOnDevice();
+        mQueryImsState.setIsProvisionedOnDevice(true);
         doReturn(ImsFeature.STATE_READY).when(mImsManager).getImsServiceState();
         doReturn(true).when(mTelephonyManager).isDataEnabled();
+
+        mController.mCallState = TelephonyManager.CALL_STATE_IDLE;
     }
 
     @Test
     public void isVideoCallEnabled_allFlagsOn_returnTrue() {
-        assertThat(mController.isVideoCallEnabled(SUB_ID, mImsManager)).isTrue();
+        assertThat(mController.isVideoCallEnabled(SUB_ID)).isTrue();
     }
 
     @Test
     public void isVideoCallEnabled_disabledByPlatform_returnFalse() {
+        mQueryImsState.setIsProvisionedOnDevice(false);
         doReturn(false).when(mImsManager).isVtEnabledByPlatform();
 
-        assertThat(mController.isVideoCallEnabled(SUB_ID, mImsManager)).isFalse();
+        assertThat(mController.isVideoCallEnabled(SUB_ID)).isFalse();
     }
 
     @Test
@@ -100,12 +123,13 @@
                 CarrierConfigManager.KEY_IGNORE_DATA_ENABLED_CHANGED_FOR_VIDEO_CALLS, false);
         doReturn(false).when(mTelephonyManager).isDataEnabled();
 
-        assertThat(mController.isVideoCallEnabled(SUB_ID, mImsManager)).isFalse();
+        assertThat(mController.isVideoCallEnabled(SUB_ID)).isFalse();
     }
 
     @Test
     public void updateState_4gLteOff_disabled() {
-        doReturn(false).when(mImsManager).isEnhanced4gLteModeSettingEnabledByUser();
+        doReturn(false).when(mQueryImsState).isEnabledByUser();
+        doReturn(false).when(mQueryVoLteState).isEnabledByUser();
 
         mController.updateState(mPreference);
 
@@ -115,14 +139,25 @@
 
     @Test
     public void updateState_4gLteOnWithoutCall_checked() {
-        doReturn(true).when(mImsManager).isVtEnabledByUser();
-        doReturn(true).when(mImsManager).isEnhanced4gLteModeSettingEnabledByUser();
+        doReturn(true).when(mQueryImsState).isEnabledByUser();
+        doReturn(true).when(mQueryVoLteState).isEnabledByUser();
         doReturn(true).when(mImsManager).isNonTtyOrTtyOnVolteEnabled();
-        doReturn(TelephonyManager.CALL_STATE_IDLE).when(mTelephonyManager).getCallState(SUB_ID);
+        mController.mCallState = TelephonyManager.CALL_STATE_IDLE;
 
         mController.updateState(mPreference);
 
         assertThat(mPreference.isEnabled()).isTrue();
         assertThat(mPreference.isChecked()).isTrue();
     }
+
+
+    @Test
+    public void displayPreference_notAvailable_setPreferenceInvisible() {
+        doReturn(false).when(mImsManager).isVtEnabledByPlatform();
+
+        mController.displayPreference(mPreferenceScreen);
+
+        assertThat(mPreferenceScreen.isVisible()).isFalse();
+    }
+
 }
diff --git a/tests/robotests/src/com/android/settings/network/telephony/WifiCallingPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/network/telephony/WifiCallingPreferenceControllerTest.java
index f795d61..b91f718 100644
--- a/tests/robotests/src/com/android/settings/network/telephony/WifiCallingPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/network/telephony/WifiCallingPreferenceControllerTest.java
@@ -19,7 +19,8 @@
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.junit.Assert.assertNull;
-import static org.mockito.ArgumentMatchers.anyBoolean;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.when;
 
@@ -31,17 +32,18 @@
 import android.telephony.CarrierConfigManager;
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
+import android.telephony.ims.ImsMmTelManager;
 
 import androidx.preference.Preference;
-import androidx.preference.PreferenceCategory;
 import androidx.preference.PreferenceScreen;
 
-import com.android.ims.ImsConfig;
 import com.android.ims.ImsManager;
 import com.android.internal.R;
 import com.android.settings.core.BasePreferenceController;
+import com.android.settings.network.ims.MockWifiCallingQueryImsState;
 
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -60,11 +62,14 @@
     @Mock
     private ImsManager mImsManager;
     @Mock
+    private ImsMmTelManager mImsMmTelManager;
+    @Mock
     private PreferenceScreen mPreferenceScreen;
 
+    private MockWifiCallingQueryImsState mQueryImsState;
+
     private WifiCallingPreferenceController mController;
     private Preference mPreference;
-    private PreferenceCategory mPreferenceCategory;
     private Context mContext;
     private PersistableBundle mCarrierConfig;
 
@@ -73,24 +78,30 @@
         MockitoAnnotations.initMocks(this);
 
         mContext = spy(RuntimeEnvironment.application);
-        when(mContext.getSystemService(Context.TELEPHONY_SERVICE)).thenReturn(mTelephonyManager);
-        when(mContext.getSystemService(TelephonyManager.class)).thenReturn(mTelephonyManager);
-        when(mTelephonyManager.createForSubscriptionId(SUB_ID)).thenReturn(mTelephonyManager);
+
+        mQueryImsState = spy(new MockWifiCallingQueryImsState(mContext, SUB_ID));
+        doReturn(true).when(mQueryImsState).isEnabledByUser();
+        doReturn(mImsManager).when(mQueryImsState).getImsManager(anyInt());
+        mQueryImsState.setIsProvisionedOnDevice(true);
 
         mPreference = new Preference(mContext);
-        mController = new WifiCallingPreferenceController(mContext, "wifi_calling");
+        mController = spy(new WifiCallingPreferenceController(mContext, "wifi_calling") {
+            @Override
+            protected ImsMmTelManager getImsMmTelManager(int subId) {
+                return mImsMmTelManager;
+            }
+        });
         mController.mCarrierConfigManager = mCarrierConfigManager;
         mController.init(SUB_ID);
-        mController.mImsManager = mImsManager;
+        mController.mCallState = TelephonyManager.CALL_STATE_IDLE;
+        doReturn(mQueryImsState).when(mController).queryImsState(anyInt());
         mPreference.setKey(mController.getPreferenceKey());
 
+        when(mController.getTelephonyManager(mContext, SUB_ID)).thenReturn(mTelephonyManager);
+
         mCarrierConfig = new PersistableBundle();
         when(mCarrierConfigManager.getConfigForSubId(SUB_ID)).thenReturn(mCarrierConfig);
 
-        mPreferenceCategory = new PreferenceCategory(mContext);
-        when(mPreferenceScreen.findPreference(
-                WifiCallingPreferenceController.KEY_PREFERENCE_CATEGORY)).thenReturn(
-                mPreferenceCategory);
         when(mPreferenceScreen.findPreference(mController.getPreferenceKey())).thenReturn(
                 mPreference);
     }
@@ -98,9 +109,11 @@
     @Test
     public void updateState_noSimCallManager_setCorrectSummary() {
         mController.mSimCallManager = null;
-        when(mImsManager.isWfcEnabledByUser()).thenReturn(true);
-        when(mImsManager.getWfcMode(anyBoolean())).thenReturn(
-                ImsConfig.WfcModeFeatureValueConstants.WIFI_ONLY);
+        doReturn(true).when(mQueryImsState).isEnabledByUser();
+        when(mImsMmTelManager.getVoWiFiRoamingModeSetting()).thenReturn(
+                ImsMmTelManager.WIFI_MODE_WIFI_ONLY);
+        when(mImsMmTelManager.getVoWiFiModeSetting()).thenReturn(
+                ImsMmTelManager.WIFI_MODE_WIFI_ONLY);
 
         mController.updateState(mPreference);
 
@@ -110,8 +123,7 @@
 
     @Test
     public void updateState_notCallIdle_disable() {
-        when(mTelephonyManager.getCallState(SUB_ID)).thenReturn(
-                TelephonyManager.CALL_STATE_RINGING);
+        mController.mCallState = TelephonyManager.CALL_STATE_RINGING;
 
         mController.updateState(mPreference);
 
@@ -127,18 +139,17 @@
     }
 
     @Test
-    public void updateState_nonRoaming_wfcCellularPreferred() {
+    public void updateState_wfcNonRoamingByConfig() {
         assertNull(mController.mSimCallManager);
         mCarrierConfig.putBoolean(
                 CarrierConfigManager.KEY_USE_WFC_HOME_NETWORK_MODE_IN_ROAMING_NETWORK_BOOL, true);
         mController.init(SUB_ID);
-        mController.mImsManager = mImsManager;
 
-        when(mImsManager.getWfcMode(true)).thenReturn(
-                ImsConfig.WfcModeFeatureValueConstants.WIFI_PREFERRED);
-        when(mImsManager.getWfcMode(false)).thenReturn(
-                ImsConfig.WfcModeFeatureValueConstants.CELLULAR_PREFERRED);
-        when(mImsManager.isWfcEnabledByUser()).thenReturn(true);
+        when(mImsMmTelManager.getVoWiFiRoamingModeSetting()).thenReturn(
+                ImsMmTelManager.WIFI_MODE_WIFI_PREFERRED);
+        when(mImsMmTelManager.getVoWiFiModeSetting()).thenReturn(
+                ImsMmTelManager.WIFI_MODE_CELLULAR_PREFERRED);
+        doReturn(true).when(mQueryImsState).isEnabledByUser();
         when(mTelephonyManager.isNetworkRoaming()).thenReturn(true);
 
         mController.updateState(mPreference);
@@ -147,15 +158,15 @@
     }
 
     @Test
-    public void updateState_roaming_wfcWifiPreferred() {
+    public void updateState_wfcRoamingByConfig() {
         assertNull(mController.mSimCallManager);
         // useWfcHomeModeForRoaming is false by default. In order to check wfc in roaming mode. We
         // need the device roaming, and not using home mode in roaming network.
-        when(mImsManager.getWfcMode(true)).thenReturn(
-                ImsConfig.WfcModeFeatureValueConstants.WIFI_PREFERRED);
-        when(mImsManager.getWfcMode(false)).thenReturn(
-                ImsConfig.WfcModeFeatureValueConstants.CELLULAR_PREFERRED);
-        when(mImsManager.isWfcEnabledByUser()).thenReturn(true);
+        when(mImsMmTelManager.getVoWiFiRoamingModeSetting()).thenReturn(
+                ImsMmTelManager.WIFI_MODE_WIFI_PREFERRED);
+        when(mImsMmTelManager.getVoWiFiModeSetting()).thenReturn(
+                ImsMmTelManager.WIFI_MODE_CELLULAR_PREFERRED);
+        doReturn(true).when(mQueryImsState).isEnabledByUser();
         when(mTelephonyManager.isNetworkRoaming()).thenReturn(true);
 
         mController.updateState(mPreference);
@@ -164,17 +175,18 @@
     }
 
     @Test
-    public void displayPreference_notAvailable_setCategoryInvisible() {
+    public void displayPreference_notAvailable_setPreferenceInvisible() {
         mController.init(SubscriptionManager.INVALID_SUBSCRIPTION_ID);
 
         mController.displayPreference(mPreferenceScreen);
 
-        assertThat(mPreferenceCategory.isVisible()).isFalse();
+        assertThat(mPreferenceScreen.isVisible()).isFalse();
     }
 
     @Test
+    @Ignore
     public void displayPreference_available_setsSubscriptionIdOnIntent() {
-        Intent intent = new Intent();
+        final Intent intent = new Intent();
         mPreference.setIntent(intent);
         mController.displayPreference(mPreferenceScreen);
         assertThat(intent.getIntExtra(Settings.EXTRA_SUB_ID,
diff --git a/tests/robotests/src/com/android/settings/network/telephony/cdma/CdmaSubscriptionPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/network/telephony/cdma/CdmaSubscriptionPreferenceControllerTest.java
index d94ffae..bcc82ba 100644
--- a/tests/robotests/src/com/android/settings/network/telephony/cdma/CdmaSubscriptionPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/network/telephony/cdma/CdmaSubscriptionPreferenceControllerTest.java
@@ -34,8 +34,6 @@
 import androidx.preference.ListPreference;
 import androidx.preference.PreferenceManager;
 
-import com.android.internal.telephony.Phone;
-
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -90,33 +88,37 @@
     public void onPreferenceChange_selectNV_returnNVMode() {
         doReturn(true).when(mTelephonyManager).setCdmaSubscriptionMode(anyInt());
 
-        mController.onPreferenceChange(mPreference, Integer.toString(Phone.CDMA_SUBSCRIPTION_NV));
+        mController.onPreferenceChange(mPreference, Integer.toString(
+                TelephonyManager.CDMA_SUBSCRIPTION_NV));
 
         assertThat(Settings.Global.getInt(mContext.getContentResolver(),
                 Settings.Global.CDMA_SUBSCRIPTION_MODE,
-                Phone.CDMA_SUBSCRIPTION_RUIM_SIM)).isEqualTo(Phone.CDMA_SUBSCRIPTION_NV);
+                TelephonyManager.CDMA_SUBSCRIPTION_RUIM_SIM)).isEqualTo(
+                        TelephonyManager.CDMA_SUBSCRIPTION_NV);
     }
 
     @Test
     public void updateState_stateRUIM_displayRUIM() {
         Settings.Global.putInt(mContext.getContentResolver(),
-                Settings.Global.CDMA_SUBSCRIPTION_MODE, Phone.CDMA_SUBSCRIPTION_NV);
+                Settings.Global.CDMA_SUBSCRIPTION_MODE, TelephonyManager.CDMA_SUBSCRIPTION_NV);
 
         mController.updateState(mPreference);
 
-        assertThat(mPreference.getValue()).isEqualTo(Integer.toString(Phone.CDMA_SUBSCRIPTION_NV));
+        assertThat(mPreference.getValue()).isEqualTo(Integer.toString(
+                TelephonyManager.CDMA_SUBSCRIPTION_NV));
     }
 
     @Test
     public void updateState_stateUnknown_doNothing() {
-        mPreference.setValue(Integer.toString(Phone.CDMA_SUBSCRIPTION_NV));
+        mPreference.setValue(Integer.toString(TelephonyManager.CDMA_SUBSCRIPTION_NV));
         Settings.Global.putInt(mContext.getContentResolver(),
-                Settings.Global.CDMA_SUBSCRIPTION_MODE, Phone.CDMA_SUBSCRIPTION_UNKNOWN);
+                Settings.Global.CDMA_SUBSCRIPTION_MODE, TelephonyManager.CDMA_SUBSCRIPTION_UNKNOWN);
 
         mController.updateState(mPreference);
 
         // Still NV mode
-        assertThat(mPreference.getValue()).isEqualTo(Integer.toString(Phone.CDMA_SUBSCRIPTION_NV));
+        assertThat(mPreference.getValue()).isEqualTo(Integer.toString(
+                TelephonyManager.CDMA_SUBSCRIPTION_NV));
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/network/telephony/cdma/CdmaSystemSelectPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/network/telephony/cdma/CdmaSystemSelectPreferenceControllerTest.java
index fee6099..1a7fd86 100644
--- a/tests/robotests/src/com/android/settings/network/telephony/cdma/CdmaSystemSelectPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/network/telephony/cdma/CdmaSystemSelectPreferenceControllerTest.java
@@ -33,6 +33,8 @@
 import androidx.preference.ListPreference;
 import androidx.preference.PreferenceManager;
 
+import com.android.settings.network.telephony.TelephonyConstants.TelephonyManagerConstants;
+
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -118,7 +120,7 @@
                 mTelephonyManager).getCdmaRoamingMode();
         Settings.Global.putInt(mContext.getContentResolver(),
                 Settings.Global.PREFERRED_NETWORK_MODE + SUB_ID,
-                TelephonyManager.NETWORK_MODE_LTE_GSM_WCDMA);
+                TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA);
 
         mController.updateState(mPreference);
 
diff --git a/tests/robotests/src/com/android/settings/network/telephony/gsm/OpenNetworkSelectPagePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/network/telephony/gsm/OpenNetworkSelectPagePreferenceControllerTest.java
index 6150675..5c18220 100644
--- a/tests/robotests/src/com/android/settings/network/telephony/gsm/OpenNetworkSelectPagePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/network/telephony/gsm/OpenNetworkSelectPagePreferenceControllerTest.java
@@ -17,7 +17,6 @@
 package com.android.settings.network.telephony.gsm;
 
 import static com.google.common.truth.Truth.assertThat;
-import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.when;
@@ -83,7 +82,7 @@
         when(mSubscriptionInfo.getSubscriptionId()).thenReturn(SUB_ID);
         when(mSubscriptionInfo.getCarrierName()).thenReturn(OPERATOR_NAME);
 
-        when(mSubscriptionManager.getActiveSubscriptionInfoList(eq(true))).thenReturn(
+        when(mSubscriptionManager.getActiveSubscriptionInfoList()).thenReturn(
                 Arrays.asList(mSubscriptionInfo));
         when(mSubscriptionManager.getAccessibleSubscriptionInfoList()).thenReturn(
                 Arrays.asList(mSubscriptionInfo));
diff --git a/tests/robotests/src/com/android/settings/nfc/NfcPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/nfc/NfcPreferenceControllerTest.java
index b7efc22..872c712 100644
--- a/tests/robotests/src/com/android/settings/nfc/NfcPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/nfc/NfcPreferenceControllerTest.java
@@ -25,7 +25,6 @@
 
 import android.content.Context;
 import android.content.Intent;
-import android.net.Uri;
 import android.nfc.NfcAdapter;
 import android.nfc.NfcManager;
 import android.os.UserManager;
@@ -36,7 +35,6 @@
 
 import com.android.settings.nfc.NfcPreferenceController.NfcSliceWorker;
 import com.android.settings.nfc.NfcPreferenceController.NfcSliceWorker.NfcUpdateReceiver;
-import com.android.settings.slices.SliceBuilderUtils;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -163,6 +161,7 @@
 
         assertThat(keys).hasSize(1);
     }
+
     @Test
     public void setChecked_True_nfcShouldEnable() {
         mNfcController.setChecked(true);
@@ -209,7 +208,7 @@
     @Test
     public void shouldTurnOffNFCInAirplaneMode_airplaneModeRadiosContainsNfc_shouldReturnTrue() {
         Settings.Global.putString(mContext.getContentResolver(),
-            Settings.Global.AIRPLANE_MODE_RADIOS, Settings.Global.RADIO_NFC);
+                Settings.Global.AIRPLANE_MODE_RADIOS, Settings.Global.RADIO_NFC);
 
         assertThat(NfcPreferenceController.shouldTurnOffNFCInAirplaneMode(mContext)).isTrue();
     }
@@ -217,14 +216,15 @@
     @Test
     public void shouldTurnOffNFCInAirplaneMode_airplaneModeRadiosWithoutNfc_shouldReturnFalse() {
         Settings.Global.putString(mContext.getContentResolver(),
-            Settings.Global.AIRPLANE_MODE_RADIOS, "");
+                Settings.Global.AIRPLANE_MODE_RADIOS, "");
 
         assertThat(NfcPreferenceController.shouldTurnOffNFCInAirplaneMode(mContext)).isFalse();
     }
 
     @Test
     public void ncfSliceWorker_nfcBroadcast_noExtra_sliceDoesntUpdate() {
-        final NfcSliceWorker worker = spy(new NfcSliceWorker(mContext, getDummyUri()));
+        final NfcSliceWorker worker = spy(
+                new NfcSliceWorker(mContext, mNfcController.getSliceUri()));
         final NfcUpdateReceiver receiver = worker.new NfcUpdateReceiver(worker);
         final Intent triggerIntent = new Intent(NfcAdapter.ACTION_ADAPTER_STATE_CHANGED);
 
@@ -235,7 +235,8 @@
 
     @Test
     public void ncfSliceWorker_nfcBroadcast_turningOn_sliceDoesntUpdate() {
-        final NfcSliceWorker worker = spy(new NfcSliceWorker(mContext, getDummyUri()));
+        final NfcSliceWorker worker = spy(
+                new NfcSliceWorker(mContext, mNfcController.getSliceUri()));
         final NfcUpdateReceiver receiver = worker.new NfcUpdateReceiver(worker);
         final Intent triggerIntent = new Intent(NfcAdapter.ACTION_ADAPTER_STATE_CHANGED);
         triggerIntent.putExtra(NfcAdapter.EXTRA_ADAPTER_STATE, NfcAdapter.STATE_TURNING_ON);
@@ -247,7 +248,8 @@
 
     @Test
     public void ncfSliceWorker_nfcBroadcast_turningOff_sliceDoesntUpdate() {
-        final NfcSliceWorker worker = spy(new NfcSliceWorker(mContext, getDummyUri()));
+        final NfcSliceWorker worker = spy(
+                new NfcSliceWorker(mContext, mNfcController.getSliceUri()));
         final NfcUpdateReceiver receiver = worker.new NfcUpdateReceiver(worker);
         final Intent triggerIntent = new Intent(NfcAdapter.ACTION_ADAPTER_STATE_CHANGED);
         triggerIntent.putExtra(NfcAdapter.EXTRA_ADAPTER_STATE, NfcAdapter.STATE_TURNING_OFF);
@@ -259,7 +261,8 @@
 
     @Test
     public void ncfSliceWorker_nfcBroadcast_nfcOn_sliceUpdates() {
-        final NfcSliceWorker worker = spy(new NfcSliceWorker(mContext, getDummyUri()));
+        final NfcSliceWorker worker = spy(
+                new NfcSliceWorker(mContext, mNfcController.getSliceUri()));
         final NfcUpdateReceiver receiver = worker.new NfcUpdateReceiver(worker);
         final Intent triggerIntent = new Intent(NfcAdapter.ACTION_ADAPTER_STATE_CHANGED);
         triggerIntent.putExtra(NfcAdapter.EXTRA_ADAPTER_STATE, NfcAdapter.STATE_ON);
@@ -271,7 +274,8 @@
 
     @Test
     public void ncfSliceWorker_nfcBroadcast_nfcOff_sliceUpdates() {
-        final NfcSliceWorker worker = spy(new NfcSliceWorker(mContext, getDummyUri()));
+        final NfcSliceWorker worker = spy(
+                new NfcSliceWorker(mContext, mNfcController.getSliceUri()));
         final NfcUpdateReceiver receiver = worker.new NfcUpdateReceiver(worker);
         final Intent triggerIntent = new Intent(NfcAdapter.ACTION_ADAPTER_STATE_CHANGED);
         triggerIntent.putExtra(NfcAdapter.EXTRA_ADAPTER_STATE, NfcAdapter.STATE_OFF);
@@ -281,7 +285,8 @@
         verify(worker).updateSlice();
     }
 
-    private Uri getDummyUri() {
-        return SliceBuilderUtils.getUri("action/nfc", false);
+    @Test
+    public void isPublicSlice_returnsTrue() {
+        assertThat(mNfcController.isPublicSlice()).isTrue();
     }
 }
diff --git a/tests/robotests/src/com/android/settings/nfc/PaymentSettingsTest.java b/tests/robotests/src/com/android/settings/nfc/PaymentSettingsTest.java
index 1293ee4..525f3ef 100644
--- a/tests/robotests/src/com/android/settings/nfc/PaymentSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/nfc/PaymentSettingsTest.java
@@ -29,6 +29,10 @@
 import android.os.UserHandle;
 import android.os.UserManager;
 
+import androidx.preference.Preference;
+import androidx.preference.PreferenceManager;
+import androidx.preference.PreferenceScreen;
+
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -49,7 +53,6 @@
 
     static final String PAYMENT_KEY = "nfc_payment";
     static final String FOREGROUND_KEY = "nfc_foreground";
-    static final String PAYMENT_SCREEN_KEY = "nfc_payment_settings_screen";
 
     private Context mContext;
 
@@ -103,14 +106,42 @@
     }
 
     @Test
-    public void getNonIndexabkeKey_guestUser_returnsFalse() {
+    public void getNonIndexableKey_guestUser_returnsFalse() {
         when(mPackageManager.hasSystemFeature(PackageManager.FEATURE_NFC)).thenReturn(true);
         when(mUserInfo.isGuest()).thenReturn(true);
 
         final List<String> niks =
                 PaymentSettings.SEARCH_INDEX_DATA_PROVIDER.getNonIndexableKeys(mContext);
 
-        assertThat(niks).containsAllOf(FOREGROUND_KEY, PAYMENT_KEY, PAYMENT_SCREEN_KEY);
+        assertThat(niks).containsAllOf(FOREGROUND_KEY, PAYMENT_KEY);
+    }
+
+    @Test
+    public void isShowEmptyImage_hasVisiblePreference_returnFalse() {
+        final PaymentSettings paymentSettings = new PaymentSettings();
+        final PreferenceManager preferenceManager = new PreferenceManager(mContext);
+        final PreferenceScreen screen = preferenceManager.createPreferenceScreen(mContext);
+        final Preference preference1 = new Preference(mContext);
+        screen.addPreference(preference1);
+        final Preference preference2 = new Preference(mContext);
+        screen.addPreference(preference2);
+
+        assertThat(paymentSettings.isShowEmptyImage(screen)).isFalse();
+    }
+
+    @Test
+    public void isShowEmptyImage_hasNoVisiblePreference_returnTrue() {
+        final PaymentSettings paymentSettings = new PaymentSettings();
+        final PreferenceManager preferenceManager = new PreferenceManager(mContext);
+        final PreferenceScreen screen = preferenceManager.createPreferenceScreen(mContext);
+        final Preference preference1 = new Preference(mContext);
+        preference1.setVisible(false);
+        screen.addPreference(preference1);
+        final Preference preference2 = new Preference(mContext);
+        screen.addPreference(preference2);
+        preference2.setVisible(false);
+
+        assertThat(paymentSettings.isShowEmptyImage(screen)).isTrue();
     }
 
     @Implements(PaymentBackend.class)
diff --git a/tests/robotests/src/com/android/settings/nfc/SecureNfcPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/nfc/SecureNfcPreferenceControllerTest.java
new file mode 100644
index 0000000..56f012a
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/nfc/SecureNfcPreferenceControllerTest.java
@@ -0,0 +1,45 @@
+/*
+ * 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.nfc;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.content.Context;
+
+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 SecureNfcPreferenceControllerTest {
+
+    private Context mContext;
+    private SecureNfcPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        mContext = RuntimeEnvironment.application;
+        mController = new SecureNfcPreferenceController(mContext, "nfc_secure_settings");
+    }
+
+    @Test
+    public void isPublicSlice_returnsTrue() {
+        assertThat(mController.isPublicSlice()).isTrue();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/AlarmVolumePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/AlarmVolumePreferenceControllerTest.java
index 2120cd9..5253372 100644
--- a/tests/robotests/src/com/android/settings/notification/AlarmVolumePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/AlarmVolumePreferenceControllerTest.java
@@ -78,4 +78,9 @@
     public void isSliceableCorrectKey_returnsTrue() {
         assertThat(mController.isSliceable()).isTrue();
     }
+
+    @Test
+    public void isPublicSlice_returnTrue() {
+        assertThat(mController.isPublicSlice()).isTrue();
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/notification/AllowSoundPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/AllowSoundPreferenceControllerTest.java
deleted file mode 100644
index f747842..0000000
--- a/tests/robotests/src/com/android/settings/notification/AllowSoundPreferenceControllerTest.java
+++ /dev/null
@@ -1,236 +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.NotificationChannel.DEFAULT_CHANNEL_ID;
-import static android.app.NotificationManager.IMPORTANCE_HIGH;
-import static android.app.NotificationManager.IMPORTANCE_LOW;
-import static android.app.NotificationManager.IMPORTANCE_UNSPECIFIED;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.anyInt;
-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.NotificationChannel;
-import android.app.NotificationManager;
-import android.content.Context;
-import android.os.UserManager;
-
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settingslib.RestrictedLockUtils;
-import com.android.settingslib.RestrictedSwitchPreference;
-
-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.RuntimeEnvironment;
-import org.robolectric.shadows.ShadowApplication;
-
-@RunWith(RobolectricTestRunner.class)
-public class AllowSoundPreferenceControllerTest {
-
-    private Context mContext;
-    @Mock
-    private NotificationBackend mBackend;
-    @Mock
-    private NotificationManager mNm;
-    @Mock
-    private UserManager mUm;
-    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
-    private PreferenceScreen mScreen;
-
-    @Mock
-    private NotificationSettingsBase.ImportanceListener mImportanceListener;
-
-    private AllowSoundPreferenceController mController;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        ShadowApplication shadowApplication = ShadowApplication.getInstance();
-        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNm);
-        shadowApplication.setSystemService(Context.USER_SERVICE, mUm);
-        mContext = RuntimeEnvironment.application;
-        mController =
-                spy(new AllowSoundPreferenceController(mContext, mImportanceListener, mBackend));
-    }
-
-    @Test
-    public void testNoCrashIfNoOnResume() {
-        mController.isAvailable();
-        mController.updateState(mock(RestrictedSwitchPreference.class));
-        mController.onPreferenceChange(mock(RestrictedSwitchPreference.class), true);
-    }
-
-    @Test
-    public void testIsAvailable_notIfNull() {
-        mController.onResume(null, mock(NotificationChannel.class), null, null);
-        assertFalse(mController.isAvailable());
-
-        mController.onResume(mock(NotificationBackend.AppRow.class), null, null, null);
-        assertFalse(mController.isAvailable());
-    }
-
-    @Test
-    public void testIsAvailable_notIfAppBlocked() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        appRow.banned = true;
-        mController.onResume(appRow, mock(NotificationChannel.class), null, null);
-        assertFalse(mController.isAvailable());
-    }
-
-    @Test
-    public void testIsAvailable_notIfAppCreatedChannel() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getId()).thenReturn("something new");
-        mController.onResume(appRow, channel, null, null);
-        assertFalse(mController.isAvailable());
-    }
-
-    @Test
-    public void testIsAvailable() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_LOW);
-        when(channel.getId()).thenReturn(DEFAULT_CHANNEL_ID);
-        mController.onResume(appRow, channel, null, null);
-        assertTrue(mController.isAvailable());
-    }
-
-    @Test
-    public void testUpdateState_disabledByAdmin() {
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getId()).thenReturn("something");
-        mController.onResume(new NotificationBackend.AppRow(), channel, null, mock(
-                RestrictedLockUtils.EnforcedAdmin.class));
-
-        Preference pref = new RestrictedSwitchPreference(mContext);
-        mController.updateState(pref);
-
-        assertFalse(pref.isEnabled());
-    }
-
-    @Test
-    public void testUpdateState_notBlockable_oem() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getId()).thenReturn("");
-        when(channel.isImportanceLockedByOEM()).thenReturn(true);
-        mController.onResume(appRow, channel, null, null);
-
-        Preference pref = new RestrictedSwitchPreference(mContext);
-        mController.updateState(pref);
-
-        assertTrue(pref.isEnabled());
-    }
-
-    @Test
-    public void testUpdateState_configurable() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getId()).thenReturn("something");
-        mController.onResume(appRow, channel, null, null);
-
-        Preference pref = new RestrictedSwitchPreference(mContext);
-        mController.updateState(pref);
-
-        assertTrue(pref.isEnabled());
-    }
-
-    @Test
-    public void testUpdateState_checkedForHighImportanceChannel() {
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH);
-        mController.onResume(new NotificationBackend.AppRow(), channel, null, null);
-
-        RestrictedSwitchPreference pref = new RestrictedSwitchPreference(mContext);
-        mController.updateState(pref);
-        assertTrue(pref.isChecked());
-    }
-
-    @Test
-    public void testUpdateState_checkedForUnspecifiedImportanceChannel() {
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_UNSPECIFIED);
-        mController.onResume(new NotificationBackend.AppRow(), channel, null, null);
-
-        RestrictedSwitchPreference pref = new RestrictedSwitchPreference(mContext);
-        mController.updateState(pref);
-        assertTrue(pref.isChecked());
-    }
-
-    @Test
-    public void testUpdateState_notCheckedForLowImportanceChannel() {
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_LOW);
-        mController.onResume(new NotificationBackend.AppRow(), channel, null, null);
-
-        RestrictedSwitchPreference pref = new RestrictedSwitchPreference(mContext);
-        mController.updateState(pref);
-        assertFalse(pref.isChecked());
-    }
-
-    @Test
-    public void testOnPreferenceChange_on() {
-        NotificationChannel channel =
-                new NotificationChannel(DEFAULT_CHANNEL_ID, "a", IMPORTANCE_LOW);
-        mController.onResume(new NotificationBackend.AppRow(), channel, null, null);
-
-        RestrictedSwitchPreference pref = new RestrictedSwitchPreference(mContext);
-        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(pref);
-        mController.displayPreference(mScreen);
-        mController.updateState(pref);
-        pref.setChecked(true);
-        mController.onPreferenceChange(pref, true);
-
-        assertEquals(IMPORTANCE_UNSPECIFIED, mController.mChannel.getImportance());
-        verify(mImportanceListener, times(1)).onImportanceChanged();
-    }
-
-    @Test
-    public void testOnPreferenceChange_off() {
-        NotificationChannel channel =
-                new NotificationChannel(DEFAULT_CHANNEL_ID, "a", IMPORTANCE_HIGH);
-        mController.onResume(new NotificationBackend.AppRow(), channel, null, null);
-
-        RestrictedSwitchPreference pref = new RestrictedSwitchPreference(mContext);
-        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(pref);
-        mController.displayPreference(mScreen);
-        mController.updateState(pref);
-
-        pref.setChecked(false);
-        mController.onPreferenceChange(pref, false);
-
-        verify(mBackend, times(1)).updateChannel(any(), anyInt(), any());
-        assertEquals(IMPORTANCE_LOW, mController.mChannel.getImportance());
-        verify(mImportanceListener, times(1)).onImportanceChanged();
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/notification/AppLinkPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/AppLinkPreferenceControllerTest.java
deleted file mode 100644
index 9cc1c07..0000000
--- a/tests/robotests/src/com/android/settings/notification/AppLinkPreferenceControllerTest.java
+++ /dev/null
@@ -1,130 +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.NotificationChannel.DEFAULT_CHANNEL_ID;
-import static android.app.NotificationManager.IMPORTANCE_LOW;
-import static android.app.NotificationManager.IMPORTANCE_NONE;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.when;
-
-import android.app.NotificationChannel;
-import android.app.NotificationManager;
-import android.content.Context;
-import android.content.Intent;
-import android.os.UserManager;
-
-import androidx.preference.Preference;
-
-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 org.robolectric.shadows.ShadowApplication;
-
-@RunWith(RobolectricTestRunner.class)
-public class AppLinkPreferenceControllerTest {
-
-    private Context mContext;
-    @Mock
-    private NotificationManager mNm;
-    @Mock
-    private UserManager mUm;
-
-    private AppLinkPreferenceController mController;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        ShadowApplication shadowApplication = ShadowApplication.getInstance();
-        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNm);
-        shadowApplication.setSystemService(Context.USER_SERVICE, mUm);
-        mContext = RuntimeEnvironment.application;
-        mController = spy(new AppLinkPreferenceController(mContext));
-    }
-
-    @Test
-    public void testNoCrashIfNoOnResume() {
-        mController.isAvailable();
-        mController.updateState(mock(Preference.class));
-    }
-
-    @Test
-    public void testIsAvailable_notIfNull() {
-        mController.onResume(null, null, null, null);
-        assertFalse(mController.isAvailable());
-    }
-
-    @Test
-    public void testIsAvailable_notIfAppBlocked() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        appRow.banned = true;
-        mController.onResume(appRow, null, null, null);
-        assertFalse(mController.isAvailable());
-    }
-
-    @Test
-    public void testIsAvailable_notIfChannelBlocked() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_NONE);
-        mController.onResume(appRow, channel, null, null);
-        assertFalse(mController.isAvailable());
-    }
-
-    @Test
-    public void testIsAvailable_notNoIntent() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_LOW);
-        when(channel.getId()).thenReturn(DEFAULT_CHANNEL_ID);
-        mController.onResume(appRow, channel, null, null);
-        assertFalse(mController.isAvailable());
-    }
-
-    @Test
-    public void testIsAvailable() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        appRow.settingsIntent = new Intent("test");
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_LOW);
-        when(channel.getId()).thenReturn(DEFAULT_CHANNEL_ID);
-        mController.onResume(appRow, channel, null, null);
-        assertTrue(mController.isAvailable());
-    }
-
-    @Test
-    public void testUpdateState() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        Intent intent = new Intent("action");
-        appRow.settingsIntent = intent;
-        mController.onResume(appRow, null, null, null);
-
-        Preference pref = new Preference(RuntimeEnvironment.application);
-        mController.updateState(pref);
-
-        assertEquals(intent, pref.getIntent());
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/notification/AssistantCapabilityPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/AssistantCapabilityPreferenceControllerTest.java
index 397b72e..5244c7e 100644
--- a/tests/robotests/src/com/android/settings/notification/AssistantCapabilityPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/AssistantCapabilityPreferenceControllerTest.java
@@ -19,6 +19,7 @@
 import static com.android.settings.core.BasePreferenceController.AVAILABLE;
 import static com.android.settings.core.BasePreferenceController.DISABLED_DEPENDENT_SETTING;
 import static com.android.settings.notification.AssistantCapabilityPreferenceController.PRIORITIZER_KEY;
+import static com.android.settings.notification.AssistantCapabilityPreferenceController.RANKING_KEY;
 import static com.android.settings.notification.AssistantCapabilityPreferenceController.SMART_KEY;
 
 import static com.google.common.truth.Truth.assertThat;
@@ -56,8 +57,10 @@
 
     private Context mContext;
     private AssistantCapabilityPreferenceController mPrioritizerController;
+    private AssistantCapabilityPreferenceController mRankingController;
     private AssistantCapabilityPreferenceController mChipController;
     private Preference mPrioritizerPreference;
+    private Preference mRankingPreference;
     private Preference mChipPreference;
 
     @Before
@@ -71,6 +74,13 @@
         mPrioritizerPreference.setKey(mPrioritizerController.getPreferenceKey());
         when(mScreen.findPreference(
                 mPrioritizerController.getPreferenceKey())).thenReturn(mPrioritizerPreference);
+        mRankingController = new AssistantCapabilityPreferenceController(
+                mContext, RANKING_KEY);
+        mRankingController.setBackend(mBackend);
+        mRankingPreference = new Preference(mContext);
+        mRankingPreference.setKey(mRankingController.getPreferenceKey());
+        when(mScreen.findPreference(
+                mRankingController.getPreferenceKey())).thenReturn(mRankingPreference);
         mChipController = new AssistantCapabilityPreferenceController(mContext, SMART_KEY);
         mChipController.setBackend(mBackend);
         mChipPreference = new Preference(mContext);
@@ -111,6 +121,27 @@
         capabilities.add(Adjustment.KEY_IMPORTANCE);
         when(mBackend.getAssistantAdjustments(anyString())).thenReturn(capabilities);
         assertThat(mPrioritizerController.isChecked()).isTrue();
+
+        capabilities = new ArrayList<>();
+        capabilities.add(Adjustment.KEY_RANKING_SCORE);
+        when(mBackend.getAssistantAdjustments(anyString())).thenReturn(capabilities);
+        assertThat(mPrioritizerController.isChecked()).isFalse();
+    }
+
+    @Test
+    public void isChecked_rankingSettingIsOff_false() {
+        List<String> capabilities = new ArrayList<>();
+        capabilities.add(Adjustment.KEY_IMPORTANCE);
+        when(mBackend.getAssistantAdjustments(anyString())).thenReturn(capabilities);
+        assertThat(mRankingController.isChecked()).isFalse();
+    }
+
+    @Test
+    public void isChecked_rankingSettingIsOn_true() {
+        List<String> capabilities = new ArrayList<>();
+        capabilities.add(Adjustment.KEY_RANKING_SCORE);
+        when(mBackend.getAssistantAdjustments(anyString())).thenReturn(capabilities);
+        assertThat(mRankingController.isChecked()).isTrue();
     }
 
     @Test
@@ -121,6 +152,11 @@
         assertThat(mChipController.isChecked()).isFalse();
 
         capabilities = new ArrayList<>();
+        capabilities.add(Adjustment.KEY_RANKING_SCORE);
+        when(mBackend.getAssistantAdjustments(anyString())).thenReturn(capabilities);
+        assertThat(mChipController.isChecked()).isFalse();
+
+        capabilities = new ArrayList<>();
         capabilities.add(Adjustment.KEY_CONTEXTUAL_ACTIONS);
         when(mBackend.getAssistantAdjustments(anyString())).thenReturn(capabilities);
         assertThat(mChipController.isChecked()).isFalse();
@@ -153,6 +189,18 @@
     }
 
     @Test
+    public void onPreferenceChange_rankingOn() {
+        mRankingController.onPreferenceChange(mRankingPreference, true);
+        verify(mBackend).allowAssistantAdjustment(Adjustment.KEY_RANKING_SCORE, true);
+    }
+
+    @Test
+    public void onPreferenceChange_rankingOff() {
+        mRankingController.onPreferenceChange(mRankingPreference, false);
+        verify(mBackend).allowAssistantAdjustment(Adjustment.KEY_RANKING_SCORE, false);
+    }
+
+    @Test
     public void onPreferenceChange_chipsOn() {
         mChipController.onPreferenceChange(mChipPreference, true);
         verify(mBackend).allowAssistantAdjustment(Adjustment.KEY_CONTEXTUAL_ACTIONS, true);
diff --git a/tests/robotests/src/com/android/settings/notification/BadgePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/BadgePreferenceControllerTest.java
deleted file mode 100644
index 6de5565..0000000
--- a/tests/robotests/src/com/android/settings/notification/BadgePreferenceControllerTest.java
+++ /dev/null
@@ -1,310 +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.NotificationChannel.DEFAULT_CHANNEL_ID;
-import static android.app.NotificationManager.IMPORTANCE_HIGH;
-import static android.app.NotificationManager.IMPORTANCE_LOW;
-import static android.app.NotificationManager.IMPORTANCE_NONE;
-import static android.provider.Settings.Secure.NOTIFICATION_BADGING;
-
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.anyInt;
-import static org.mockito.ArgumentMatchers.eq;
-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.NotificationChannel;
-import android.app.NotificationManager;
-import android.content.Context;
-import android.os.UserManager;
-import android.provider.Settings;
-
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settingslib.RestrictedLockUtils;
-import com.android.settingslib.RestrictedSwitchPreference;
-
-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.RuntimeEnvironment;
-import org.robolectric.shadows.ShadowApplication;
-
-@RunWith(RobolectricTestRunner.class)
-public class BadgePreferenceControllerTest {
-
-    private Context mContext;
-    @Mock
-    private NotificationBackend mBackend;
-    @Mock
-    private NotificationManager mNm;
-    @Mock
-    private UserManager mUm;
-    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
-    private PreferenceScreen mScreen;
-
-    private BadgePreferenceController mController;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        ShadowApplication shadowApplication = ShadowApplication.getInstance();
-        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNm);
-        shadowApplication.setSystemService(Context.USER_SERVICE, mUm);
-        mContext = RuntimeEnvironment.application;
-        mController = spy(new BadgePreferenceController(mContext, mBackend));
-    }
-
-    @Test
-    public void testNoCrashIfNoOnResume() {
-        mController.isAvailable();
-        mController.updateState(mock(RestrictedSwitchPreference.class));
-        mController.onPreferenceChange(mock(RestrictedSwitchPreference.class), true);
-    }
-
-    @Test
-    public void testIsAvailable_notIfAppBlocked() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        appRow.banned = true;
-        mController.onResume(appRow, mock(NotificationChannel.class), null, null);
-        assertFalse(mController.isAvailable());
-    }
-
-    @Test
-    public void testIsAvailable_notIfChannelBlocked() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_NONE);
-        mController.onResume(appRow, channel, null, null);
-        assertFalse(mController.isAvailable());
-    }
-
-    @Test
-    public void testIsAvailable_channel_notIfAppOff() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        appRow.showBadge = false;
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH);
-        mController.onResume(appRow, channel, null, null);
-
-        assertFalse(mController.isAvailable());
-    }
-
-    @Test
-    public void testIsAvailable_notIfOffGlobally() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH);
-        mController.onResume(appRow, channel, null, null);
-        Settings.Secure.putInt(mContext.getContentResolver(), NOTIFICATION_BADGING, 0);
-
-        assertFalse(mController.isAvailable());
-    }
-
-    @Test
-    public void testIsAvailable_app() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        mController.onResume(appRow, null, null, null);
-        Settings.Secure.putInt(mContext.getContentResolver(), NOTIFICATION_BADGING, 1);
-
-        assertTrue(mController.isAvailable());
-    }
-
-    @Test
-    public void testIsAvailable_defaultChannel() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        appRow.showBadge = true;
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH);
-        when(channel.getId()).thenReturn(DEFAULT_CHANNEL_ID);
-        mController.onResume(appRow, channel, null, null);
-        Settings.Secure.putInt(mContext.getContentResolver(), NOTIFICATION_BADGING, 1);
-
-        assertTrue(mController.isAvailable());
-    }
-
-    @Test
-    public void testIsAvailable_channel() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        appRow.showBadge = true;
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH);
-        mController.onResume(appRow, channel, null, null);
-        Settings.Secure.putInt(mContext.getContentResolver(), NOTIFICATION_BADGING, 1);
-
-        assertTrue(mController.isAvailable());
-    }
-
-    @Test
-    public void testIsAvailable_channelAppOff() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        appRow.showBadge = false;
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH);
-        mController.onResume(appRow, channel, null, null);
-        Settings.Secure.putInt(mContext.getContentResolver(), NOTIFICATION_BADGING, 1);
-
-        assertFalse(mController.isAvailable());
-    }
-
-    @Test
-    public void testUpdateState_disabledByAdmin() {
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getId()).thenReturn("something");
-        mController.onResume(new NotificationBackend.AppRow(), channel, null,
-                mock(RestrictedLockUtils.EnforcedAdmin.class));
-
-        Preference pref = new RestrictedSwitchPreference(mContext);
-        mController.updateState(pref);
-
-        assertFalse(pref.isEnabled());
-    }
-
-    @Test
-    public void testUpdateState_channelNotBlockable() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getId()).thenReturn("");
-        when(channel.isImportanceLockedByOEM()).thenReturn(true);
-        mController.onResume(appRow, channel, null, null);
-
-        Preference pref = new RestrictedSwitchPreference(mContext);
-        mController.updateState(pref);
-
-        assertTrue(pref.isEnabled());
-    }
-
-    @Test
-    public void testUpdateState_channel() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.canShowBadge()).thenReturn(true);
-        mController.onResume(appRow, channel, null, null);
-
-        RestrictedSwitchPreference pref = new RestrictedSwitchPreference(mContext);
-        mController.updateState(pref);
-
-        assertTrue(pref.isChecked());
-
-        when(channel.canShowBadge()).thenReturn(false);
-        mController.onResume(appRow, channel, null, null);
-        mController.updateState(pref);
-
-        assertFalse(pref.isChecked());
-    }
-
-    @Test
-    public void testUpdateState_app() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        appRow.showBadge = true;
-        mController.onResume(appRow, null, null, null);
-
-        RestrictedSwitchPreference pref = new RestrictedSwitchPreference(mContext);
-        mController.updateState(pref);
-        assertTrue(pref.isChecked());
-
-        appRow.showBadge = false;
-        mController.onResume(appRow, null, null, null);
-
-        mController.updateState(pref);
-        assertFalse(pref.isChecked());
-    }
-
-    @Test
-    public void testOnPreferenceChange_on_channel() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        appRow.showBadge = true;
-        NotificationChannel channel =
-                new NotificationChannel(DEFAULT_CHANNEL_ID, "a", IMPORTANCE_LOW);
-        channel.setShowBadge(false);
-        mController.onResume(appRow, channel, null, null);
-
-        RestrictedSwitchPreference pref = new RestrictedSwitchPreference(mContext);
-        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(pref);
-        mController.displayPreference(mScreen);
-        mController.updateState(pref);
-
-        mController.onPreferenceChange(pref, true);
-        assertTrue(channel.canShowBadge());
-        verify(mBackend, times(1)).updateChannel(any(), anyInt(), any());
-    }
-
-    @Test
-    public void testOnPreferenceChange_off_channel() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        appRow.showBadge = true;
-        NotificationChannel channel =
-                new NotificationChannel(DEFAULT_CHANNEL_ID, "a", IMPORTANCE_HIGH);
-        channel.setShowBadge(true);
-        mController.onResume(appRow, channel, null, null);
-
-        RestrictedSwitchPreference pref = new RestrictedSwitchPreference(mContext);
-        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(pref);
-        mController.displayPreference(mScreen);
-        mController.updateState(pref);
-
-        mController.onPreferenceChange(pref, false);
-        verify(mBackend, times(1)).updateChannel(any(), anyInt(), any());
-        assertFalse(channel.canShowBadge());
-    }
-
-    @Test
-    public void testOnPreferenceChange_on_app() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        appRow.showBadge = false;
-        mController.onResume(appRow, null, null, null);
-
-        RestrictedSwitchPreference pref = new RestrictedSwitchPreference(mContext);
-        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(pref);
-        mController.displayPreference(mScreen);
-        mController.updateState(pref);
-
-        mController.onPreferenceChange(pref, true);
-
-        assertTrue(appRow.showBadge);
-        verify(mBackend, times(1)).setShowBadge(any(), anyInt(), eq(true));
-    }
-
-    @Test
-    public void testOnPreferenceChange_off_app() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        appRow.showBadge = true;
-        mController.onResume(appRow, null, null, null);
-
-        RestrictedSwitchPreference pref = new RestrictedSwitchPreference(mContext);
-        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(pref);
-        mController.displayPreference(mScreen);
-        mController.updateState(pref);
-
-        mController.onPreferenceChange(pref, false);
-
-        assertFalse(appRow.showBadge);
-        verify(mBackend, times(1)).setShowBadge(any(), anyInt(), eq(false));
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/notification/BlockPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/BlockPreferenceControllerTest.java
deleted file mode 100644
index 41655fa..0000000
--- a/tests/robotests/src/com/android/settings/notification/BlockPreferenceControllerTest.java
+++ /dev/null
@@ -1,381 +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.NotificationChannel.DEFAULT_CHANNEL_ID;
-import static android.app.NotificationManager.IMPORTANCE_DEFAULT;
-import static android.app.NotificationManager.IMPORTANCE_HIGH;
-import static android.app.NotificationManager.IMPORTANCE_LOW;
-import static android.app.NotificationManager.IMPORTANCE_NONE;
-import static android.app.NotificationManager.IMPORTANCE_UNSPECIFIED;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.anyBoolean;
-import static org.mockito.ArgumentMatchers.anyInt;
-import static org.mockito.ArgumentMatchers.anyString;
-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.NotificationChannel;
-import android.app.NotificationChannelGroup;
-import android.app.NotificationManager;
-import android.content.Context;
-import android.os.UserManager;
-
-import com.android.settings.R;
-import com.android.settings.widget.SwitchBar;
-import com.android.settingslib.widget.LayoutPreference;
-
-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 org.robolectric.shadows.ShadowApplication;
-
-@RunWith(RobolectricTestRunner.class)
-public class BlockPreferenceControllerTest {
-
-    private Context mContext;
-    @Mock
-    private NotificationBackend mBackend;
-    @Mock
-    private NotificationManager mNm;
-    @Mock
-    private UserManager mUm;
-
-    @Mock
-    private NotificationSettingsBase.ImportanceListener mImportanceListener;
-
-    private BlockPreferenceController mController;
-    @Mock
-    private LayoutPreference mPreference;
-    private SwitchBar mSwitch;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        ShadowApplication shadowApplication = ShadowApplication.getInstance();
-        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNm);
-        shadowApplication.setSystemService(Context.USER_SERVICE, mUm);
-        mContext = RuntimeEnvironment.application;
-        mController = spy(new BlockPreferenceController(mContext, mImportanceListener, mBackend));
-        mSwitch = new SwitchBar(mContext);
-        when(mPreference.findViewById(R.id.switch_bar)).thenReturn(mSwitch);
-    }
-
-    @Test
-    public void testNoCrashIfNoOnResume() {
-        mController.isAvailable();
-        mController.updateState(mock(LayoutPreference.class));
-        mController.onSwitchChanged(null, false);
-    }
-
-    @Test
-    public void testIsAvailable_notIfNull() {
-        mController.onResume(null, null, null, null);
-        assertFalse(mController.isAvailable());
-    }
-
-    @Test
-    public void testIsAvailable_channelNotBlockable() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        appRow.systemApp = true;
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH);
-        mController.onResume(appRow, channel, null, null);
-        assertTrue(mController.isAvailable());
-    }
-
-    @Test
-    public void testIsAvailable_channelNonDefault() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        appRow.systemApp = true;
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH);
-        mController.onResume(appRow, channel, null, null);
-        assertTrue(mController.isAvailable());
-    }
-
-    @Test
-    public void testIsAvailable_ifChannelDefault() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH);
-        when(channel.getId()).thenReturn(DEFAULT_CHANNEL_ID);
-        mController.onResume(appRow, channel, null, null);
-        assertTrue(mController.isAvailable());
-    }
-
-    @Test
-    public void testIsAvailable_GroupNotBlockable() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        appRow.systemApp = true;
-        mController.onResume(appRow, null, mock(NotificationChannelGroup.class), null);
-        assertTrue(mController.isAvailable());
-    }
-
-    @Test
-    public void testIsAvailable_AppNotBlockable() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        appRow.systemApp = true;
-        mController.onResume(appRow, null, null, null);
-        assertTrue(mController.isAvailable());
-    }
-
-    @Test
-    public void testIsAvailable_systemApp() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        appRow.systemApp = true;
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_NONE);
-        mController.onResume(appRow, channel, null, null);
-        assertTrue(mController.isAvailable());
-    }
-
-    @Test
-    public void testIsAvailable_nonSystemApp() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        appRow.systemApp = false;
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH);
-        mController.onResume(appRow, channel, null, null);
-        assertTrue(mController.isAvailable());
-    }
-
-    @Test
-    public void testIsEnabled_lockedApp() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        appRow.lockedImportance = true;
-        appRow.systemApp = true;
-        mController.onResume(appRow, null, null, null);
-        mController.updateState(mPreference);
-        assertFalse(mSwitch.isEnabled());
-    }
-
-    @Test
-    public void testIsEnabled_GroupNotBlockable() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        appRow.systemApp = true;
-        mController.onResume(appRow, null, mock(NotificationChannelGroup.class), null);
-        mController.updateState(mPreference);
-        assertFalse(mSwitch.isEnabled());
-    }
-
-    @Test
-    public void testIsEnabled_systemAppNotBlockable() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        appRow.systemApp = true;
-        mController.onResume(appRow, null, null, null);
-        mController.updateState(mPreference);
-        assertFalse(mSwitch.isEnabled());
-    }
-
-    @Test
-    public void testIsEnabled_systemAppBlockable() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        appRow.systemApp = true;
-        NotificationChannel channel = new NotificationChannel("", "", IMPORTANCE_DEFAULT);
-        channel.setBlockableSystem(true);
-        mController.onResume(appRow, channel, null, null);
-        mController.updateState(mPreference);
-        assertTrue(mSwitch.isEnabled());
-    }
-
-    @Test
-    public void testIsEnabled_lockedChannel() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.isImportanceLockedByOEM()).thenReturn(true);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH);
-        mController.onResume(appRow, channel, null, null);
-
-        mController.updateState(mPreference);
-
-        assertFalse(mSwitch.isEnabled());
-    }
-
-    @Test
-    public void testIsEnabled_defaultAppChannel() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.isImportanceLockedByCriticalDeviceFunction()).thenReturn(true);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH);
-        mController.onResume(appRow, channel, null, null);
-
-        mController.updateState(mPreference);
-
-        assertFalse(mSwitch.isEnabled());
-    }
-
-    @Test
-    public void testIsEnabled_channel() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH);
-        mController.onResume(appRow, channel, null, null);
-
-        mController.updateState(mPreference);
-
-        assertTrue(mSwitch.isEnabled());
-    }
-
-    @Test
-    public void testIsEnabled_app() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        mController.onResume(appRow, null, null, null);
-
-        mController.updateState(mPreference);
-
-        assertTrue(mSwitch.isEnabled());
-    }
-
-    @Test
-    public void testUpdateState_app() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        appRow.banned = true;
-        mController.onResume(appRow, null, null, null);
-        mController.updateState(mPreference);
-
-        assertNotNull(mPreference.findViewById(R.id.switch_bar));
-
-        assertFalse(mSwitch.isChecked());
-
-        appRow.banned = false;
-        mController.onResume(appRow, null, null, null);
-        mController.updateState(mPreference);
-
-        assertTrue(mSwitch.isChecked());
-    }
-
-    @Test
-    public void testUpdateState_group() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannelGroup group = mock(NotificationChannelGroup.class);
-        when(group.isBlocked()).thenReturn(true);
-        mController.onResume(appRow, null, group, null);
-        mController.updateState(mPreference);
-
-        assertFalse(mSwitch.isChecked());
-
-        appRow.banned = true;
-        mController.onResume(appRow, null, group, null);
-        when(group.isBlocked()).thenReturn(true);
-        mController.updateState(mPreference);
-
-        assertFalse(mSwitch.isChecked());
-
-        appRow.banned = false;
-        mController.onResume(appRow, null, group, null);
-        when(group.isBlocked()).thenReturn(false);
-        mController.updateState(mPreference);
-
-        assertTrue(mSwitch.isChecked());
-    }
-
-    @Test
-    public void testUpdateState_channelBlocked() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = new NotificationChannel("a", "a", IMPORTANCE_NONE);
-        mController.onResume(appRow, channel, null, null);
-        mController.updateState(mPreference);
-
-        assertFalse(mSwitch.isChecked());
-
-        appRow.banned = true;
-        channel = new NotificationChannel("a", "a", IMPORTANCE_HIGH);
-        mController.onResume(appRow, channel, null, null);
-        mController.updateState(mPreference);
-
-        assertFalse(mSwitch.isChecked());
-
-        appRow.banned = false;
-        channel = new NotificationChannel("a", "a", IMPORTANCE_HIGH);
-        mController.onResume(appRow, channel, null, null);
-        mController.updateState(mPreference);
-
-        assertTrue(mSwitch.isChecked());
-    }
-
-    @Test
-    public void testUpdateState_noCrashIfCalledTwice() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = new NotificationChannel("a", "a", IMPORTANCE_LOW);
-        mController.onResume(appRow, channel, null, null);
-        mController.updateState(mPreference);
-        mController.updateState(mPreference);
-    }
-
-    @Test
-    public void testUpdateState_doesNotResetImportance() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = new NotificationChannel("a", "a", IMPORTANCE_LOW);
-        mController.onResume(appRow, channel, null, null);
-        mController.updateState(mPreference);
-
-        assertEquals(IMPORTANCE_LOW, channel.getImportance());
-    }
-
-    @Test
-    public void testOnSwitchChanged_channel_default() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        appRow.pkg = "pkg";
-        NotificationChannel channel =
-                new NotificationChannel(DEFAULT_CHANNEL_ID, "a", IMPORTANCE_UNSPECIFIED);
-        when(mBackend.onlyHasDefaultChannel(anyString(), anyInt())).thenReturn(true);
-        mController.onResume(appRow, channel, null, null);
-        mController.updateState(mPreference);
-
-        mController.onSwitchChanged(null, false);
-        assertEquals(IMPORTANCE_NONE, channel.getImportance());
-        assertTrue(appRow.banned);
-
-        mController.onSwitchChanged(null, true);
-        assertEquals(IMPORTANCE_UNSPECIFIED, channel.getImportance());
-        assertFalse(appRow.banned);
-
-        verify(mBackend, times(2)).updateChannel(any(), anyInt(), any());
-
-        verify(mBackend, times(2)).setNotificationsEnabledForPackage(
-                anyString(), anyInt(), anyBoolean());
-    }
-
-    @Test
-    public void testOnSwitchChanged_channel_nonDefault() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = new NotificationChannel("a", "a", IMPORTANCE_HIGH);
-        mController.onResume(appRow, channel, null, null);
-        mController.updateState(mPreference);
-
-        mController.onSwitchChanged(null, false);
-        assertEquals(IMPORTANCE_NONE, channel.getImportance());
-
-        mController.onSwitchChanged(null, true);
-        assertEquals(IMPORTANCE_DEFAULT, channel.getImportance());
-
-        verify(mBackend, times(2)).updateChannel(any(), anyInt(), any());
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/notification/BubblePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/BubblePreferenceControllerTest.java
deleted file mode 100644
index 470cc27..0000000
--- a/tests/robotests/src/com/android/settings/notification/BubblePreferenceControllerTest.java
+++ /dev/null
@@ -1,391 +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.notification;
-
-import static android.app.NotificationChannel.DEFAULT_CHANNEL_ID;
-import static android.app.NotificationManager.IMPORTANCE_HIGH;
-import static android.app.NotificationManager.IMPORTANCE_LOW;
-import static android.app.NotificationManager.IMPORTANCE_NONE;
-import static android.provider.Settings.Global.NOTIFICATION_BUBBLES;
-
-import static com.android.settings.notification.BubblePreferenceController.SYSTEM_WIDE_OFF;
-import static com.android.settings.notification.BubblePreferenceController.SYSTEM_WIDE_ON;
-
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.anyInt;
-import static org.mockito.ArgumentMatchers.eq;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.never;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.app.NotificationChannel;
-import android.app.NotificationManager;
-import android.content.Context;
-import android.os.UserManager;
-import android.provider.Settings;
-
-import com.android.settingslib.RestrictedLockUtils;
-import com.android.settingslib.RestrictedSwitchPreference;
-
-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.RuntimeEnvironment;
-import org.robolectric.shadows.ShadowApplication;
-
-import androidx.fragment.app.FragmentManager;
-import androidx.fragment.app.FragmentTransaction;
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-
-@RunWith(RobolectricTestRunner.class)
-public class BubblePreferenceControllerTest {
-
-    private Context mContext;
-    @Mock
-    private NotificationBackend mBackend;
-    @Mock
-    private NotificationManager mNm;
-    @Mock
-    private UserManager mUm;
-    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
-    private PreferenceScreen mScreen;
-    @Mock
-    private FragmentManager mFragmentManager;
-
-    private BubblePreferenceController mController;
-    private BubblePreferenceController mAppPageController;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        ShadowApplication shadowApplication = ShadowApplication.getInstance();
-        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNm);
-        shadowApplication.setSystemService(Context.USER_SERVICE, mUm);
-        mContext = RuntimeEnvironment.application;
-        when(mFragmentManager.beginTransaction()).thenReturn(mock(FragmentTransaction.class));
-        mController = spy(new BubblePreferenceController(mContext, mFragmentManager, mBackend,
-                false /* isAppPage */));
-        mAppPageController = spy(new BubblePreferenceController(mContext, mFragmentManager,
-                mBackend, true /* isAppPage */));
-    }
-
-    @Test
-    public void testNoCrashIfNoOnResume() {
-        mController.isAvailable();
-        mController.updateState(mock(RestrictedSwitchPreference.class));
-        mController.onPreferenceChange(mock(RestrictedSwitchPreference.class), true);
-    }
-
-    @Test
-    public void testIsAvailable_notIfAppBlocked() {
-        Settings.Global.putInt(mContext.getContentResolver(), NOTIFICATION_BUBBLES, SYSTEM_WIDE_ON);
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        appRow.banned = true;
-        mController.onResume(appRow, mock(NotificationChannel.class), null, null);
-        assertFalse(mController.isAvailable());
-    }
-
-    @Test
-    public void testIsAvailable_notIfChannelBlocked() {
-        Settings.Global.putInt(mContext.getContentResolver(), NOTIFICATION_BUBBLES, SYSTEM_WIDE_ON);
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_NONE);
-        mController.onResume(appRow, channel, null, null);
-        assertFalse(mController.isAvailable());
-    }
-
-    @Test
-    public void testIsAvailable_channel_notIfAppOff() {
-        Settings.Global.putInt(mContext.getContentResolver(), NOTIFICATION_BUBBLES, SYSTEM_WIDE_ON);
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        appRow.allowBubbles = false;
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH);
-        mController.onResume(appRow, channel, null, null);
-
-        assertFalse(mController.isAvailable());
-    }
-
-    @Test
-    public void testIsNotAvailable_ifOffGlobally_app() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        mController.onResume(appRow, null, null, null);
-        Settings.Global.putInt(mContext.getContentResolver(),
-                NOTIFICATION_BUBBLES, SYSTEM_WIDE_OFF);
-
-        assertFalse(mController.isAvailable());
-    }
-
-    @Test
-    public void testIsAvailable_notIfOffGlobally_channel() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH);
-        mController.onResume(appRow, channel, null, null);
-        Settings.Global.putInt(mContext.getContentResolver(),
-                NOTIFICATION_BUBBLES, SYSTEM_WIDE_OFF);
-
-        assertFalse(mController.isAvailable());
-    }
-
-    @Test
-    public void testIsAvailable_app_evenIfOffGlobally() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        mAppPageController.onResume(appRow, null, null, null);
-        Settings.Global.putInt(mContext.getContentResolver(),
-                NOTIFICATION_BUBBLES, SYSTEM_WIDE_OFF);
-
-        assertTrue(mAppPageController.isAvailable());
-    }
-
-    @Test
-    public void testIsAvailable_app() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        mController.onResume(appRow, null, null, null);
-        Settings.Global.putInt(mContext.getContentResolver(), NOTIFICATION_BUBBLES, SYSTEM_WIDE_ON);
-
-        assertTrue(mController.isAvailable());
-    }
-
-    @Test
-    public void testIsAvailable_defaultChannel() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        appRow.allowBubbles = true;
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH);
-        when(channel.getId()).thenReturn(DEFAULT_CHANNEL_ID);
-        mController.onResume(appRow, channel, null, null);
-        Settings.Global.putInt(mContext.getContentResolver(), NOTIFICATION_BUBBLES, SYSTEM_WIDE_ON);
-
-        assertTrue(mController.isAvailable());
-    }
-
-    @Test
-    public void testIsAvailable_channel() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        appRow.allowBubbles = true;
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH);
-        mController.onResume(appRow, channel, null, null);
-        Settings.Global.putInt(mContext.getContentResolver(), NOTIFICATION_BUBBLES, SYSTEM_WIDE_ON);
-
-        assertTrue(mController.isAvailable());
-    }
-
-    @Test
-    public void testIsAvailable_channelAppOff() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        appRow.allowBubbles = false;
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH);
-        mController.onResume(appRow, channel, null, null);
-        Settings.Global.putInt(mContext.getContentResolver(), NOTIFICATION_BUBBLES, SYSTEM_WIDE_ON);
-
-        assertFalse(mController.isAvailable());
-    }
-
-    @Test
-    public void testUpdateState_disabledByAdmin() {
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getId()).thenReturn("something");
-        mController.onResume(new NotificationBackend.AppRow(), channel, null,
-                mock(RestrictedLockUtils.EnforcedAdmin.class));
-
-        Preference pref = new RestrictedSwitchPreference(mContext);
-        mController.updateState(pref);
-
-        assertFalse(pref.isEnabled());
-    }
-
-    @Test
-    public void testUpdateState_channelNotBlockable() {
-        Settings.Global.putInt(mContext.getContentResolver(), NOTIFICATION_BUBBLES, SYSTEM_WIDE_ON);
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.isImportanceLockedByCriticalDeviceFunction()).thenReturn(true);
-        mController.onResume(appRow, channel, null, null);
-
-        Preference pref = new RestrictedSwitchPreference(mContext);
-        mController.updateState(pref);
-
-        assertTrue(pref.isEnabled());
-    }
-
-    @Test
-    public void testUpdateState_channel() {
-        Settings.Global.putInt(mContext.getContentResolver(), NOTIFICATION_BUBBLES, SYSTEM_WIDE_ON);
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.canBubble()).thenReturn(true);
-        mController.onResume(appRow, channel, null, null);
-
-        RestrictedSwitchPreference pref = new RestrictedSwitchPreference(mContext);
-        mController.updateState(pref);
-
-        assertTrue(pref.isChecked());
-
-        when(channel.canBubble()).thenReturn(false);
-        mController.onResume(appRow, channel, null, null);
-        mController.updateState(pref);
-
-        assertFalse(pref.isChecked());
-    }
-
-    @Test
-    public void testUpdateState_app() {
-        Settings.Global.putInt(mContext.getContentResolver(), NOTIFICATION_BUBBLES, SYSTEM_WIDE_ON);
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        appRow.label = "App!";
-        appRow.allowBubbles = true;
-        mController.onResume(appRow, null, null, null);
-
-        RestrictedSwitchPreference pref = new RestrictedSwitchPreference(mContext);
-        mController.updateState(pref);
-        assertTrue(pref.isChecked());
-
-        appRow.allowBubbles = false;
-        mController.onResume(appRow, null, null, null);
-
-        mController.updateState(pref);
-        assertFalse(pref.isChecked());
-
-        assertNotNull(pref.getSummary());
-        assertTrue(pref.getSummary().toString().contains(appRow.label));
-    }
-
-    @Test
-    public void testUpdateState_app_offGlobally() {
-        Settings.Global.putInt(mContext.getContentResolver(),
-                NOTIFICATION_BUBBLES, SYSTEM_WIDE_OFF);
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        appRow.label = "App!";
-        appRow.allowBubbles = true;
-        mController.onResume(appRow, null, null, null);
-
-        RestrictedSwitchPreference pref = new RestrictedSwitchPreference(mContext);
-        mController.updateState(pref);
-        assertFalse(pref.isChecked());
-    }
-
-    @Test
-    public void testOnPreferenceChange_on_channel() {
-        Settings.Global.putInt(mContext.getContentResolver(), NOTIFICATION_BUBBLES, SYSTEM_WIDE_ON);
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        appRow.allowBubbles = true;
-        NotificationChannel channel =
-                new NotificationChannel(DEFAULT_CHANNEL_ID, "a", IMPORTANCE_LOW);
-        channel.setAllowBubbles(false);
-        mController.onResume(appRow, channel, null, null);
-
-        RestrictedSwitchPreference pref = new RestrictedSwitchPreference(mContext);
-        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(pref);
-        mController.displayPreference(mScreen);
-        mController.updateState(pref);
-
-        mController.onPreferenceChange(pref, true);
-        assertTrue(channel.canBubble());
-        verify(mBackend, times(1)).updateChannel(any(), anyInt(), any());
-    }
-
-    @Test
-    public void testOnPreferenceChange_off_channel() {
-        Settings.Global.putInt(mContext.getContentResolver(), NOTIFICATION_BUBBLES, SYSTEM_WIDE_ON);
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        appRow.allowBubbles = true;
-        NotificationChannel channel =
-                new NotificationChannel(DEFAULT_CHANNEL_ID, "a", IMPORTANCE_HIGH);
-        channel.setAllowBubbles(true);
-        mController.onResume(appRow, channel, null, null);
-
-        RestrictedSwitchPreference pref = new RestrictedSwitchPreference(mContext);
-        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(pref);
-        mController.displayPreference(mScreen);
-        mController.updateState(pref);
-
-        mController.onPreferenceChange(pref, false);
-        verify(mBackend, times(1)).updateChannel(any(), anyInt(), any());
-        assertFalse(channel.canBubble());
-    }
-
-    @Test
-    public void testOnPreferenceChange_on_app() {
-        Settings.Global.putInt(mContext.getContentResolver(), NOTIFICATION_BUBBLES, SYSTEM_WIDE_ON);
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        appRow.allowBubbles = false;
-        mController.onResume(appRow, null, null, null);
-
-        RestrictedSwitchPreference pref = new RestrictedSwitchPreference(mContext);
-        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(pref);
-        mController.displayPreference(mScreen);
-        mController.updateState(pref);
-
-        mController.onPreferenceChange(pref, true);
-
-        assertTrue(appRow.allowBubbles);
-        verify(mBackend, times(1)).setAllowBubbles(any(), anyInt(), eq(true));
-    }
-
-    @Test
-    public void testOnPreferenceChange_off_app() {
-        Settings.Global.putInt(mContext.getContentResolver(), NOTIFICATION_BUBBLES, SYSTEM_WIDE_ON);
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        appRow.allowBubbles = true;
-        mController.onResume(appRow, null, null, null);
-
-        RestrictedSwitchPreference pref = new RestrictedSwitchPreference(mContext);
-        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(pref);
-        mController.displayPreference(mScreen);
-        mController.updateState(pref);
-
-        mController.onPreferenceChange(pref, false);
-
-        assertFalse(appRow.allowBubbles);
-        verify(mBackend, times(1)).setAllowBubbles(any(), anyInt(), eq(false));
-    }
-
-    @Test
-    public void testOnPreferenceChange_on_app_offGlobally() {
-        Settings.Global.putInt(mContext.getContentResolver(), NOTIFICATION_BUBBLES,
-                SYSTEM_WIDE_OFF);
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        appRow.allowBubbles = false;
-        mController.onResume(appRow, null, null, null);
-
-        RestrictedSwitchPreference pref = new RestrictedSwitchPreference(mContext);
-        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(pref);
-        mController.displayPreference(mScreen);
-        mController.updateState(pref);
-
-        mController.onPreferenceChange(pref, true);
-
-        assertFalse(appRow.allowBubbles);
-        verify(mBackend, never()).setAllowBubbles(any(), anyInt(), eq(true));
-        verify(mFragmentManager, times(1)).beginTransaction();
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/notification/BubbleSummaryPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/BubbleSummaryPreferenceControllerTest.java
deleted file mode 100644
index 2710203..0000000
--- a/tests/robotests/src/com/android/settings/notification/BubbleSummaryPreferenceControllerTest.java
+++ /dev/null
@@ -1,169 +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.notification;
-
-import static android.app.NotificationChannel.DEFAULT_CHANNEL_ID;
-import static android.app.NotificationManager.IMPORTANCE_HIGH;
-import static android.app.NotificationManager.IMPORTANCE_LOW;
-import static android.app.NotificationManager.IMPORTANCE_NONE;
-import static android.provider.Settings.Global.NOTIFICATION_BUBBLES;
-
-import static com.android.settings.notification.BubbleSummaryPreferenceController.SYSTEM_WIDE_OFF;
-import static com.android.settings.notification.BubbleSummaryPreferenceController.SYSTEM_WIDE_ON;
-
-import static junit.framework.TestCase.assertEquals;
-
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.anyInt;
-import static org.mockito.ArgumentMatchers.eq;
-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.NotificationChannel;
-import android.app.NotificationManager;
-import android.content.Context;
-import android.os.UserManager;
-import android.provider.Settings;
-
-import com.android.settingslib.RestrictedLockUtils;
-import com.android.settingslib.RestrictedSwitchPreference;
-
-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.RuntimeEnvironment;
-import org.robolectric.shadows.ShadowApplication;
-
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-
-@RunWith(RobolectricTestRunner.class)
-public class BubbleSummaryPreferenceControllerTest {
-
-    private Context mContext;
-    @Mock
-    private NotificationBackend mBackend;
-
-    private BubbleSummaryPreferenceController mController;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        ShadowApplication shadowApplication = ShadowApplication.getInstance();
-        mContext = RuntimeEnvironment.application;
-        mController = spy(new BubbleSummaryPreferenceController(mContext, mBackend));
-    }
-
-    @Test
-    public void testNoCrashIfNoOnResume() {
-        mController.isAvailable();
-        mController.updateState(mock(Preference.class));
-    }
-
-    @Test
-    public void testIsAvailable_notIfAppBlocked() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        appRow.banned = true;
-        mController.onResume(appRow, mock(NotificationChannel.class), null, null);
-        assertFalse(mController.isAvailable());
-    }
-
-    @Test
-    public void testIsAvailable_notIfOffGlobally() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH);
-        mController.onResume(appRow, channel, null, null);
-        Settings.Global.putInt(mContext.getContentResolver(), NOTIFICATION_BUBBLES,
-                SYSTEM_WIDE_OFF);
-
-        assertFalse(mController.isAvailable());
-    }
-
-    @Test
-    public void testIsAvailable_app() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        mController.onResume(appRow, null, null, null);
-        Settings.Global.putInt(mContext.getContentResolver(), NOTIFICATION_BUBBLES, SYSTEM_WIDE_ON);
-
-        assertTrue(mController.isAvailable());
-    }
-
-    @Test
-    public void testIsNotAvailable_app_globalOff() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        mController.onResume(appRow, null, null, null);
-        Settings.Global.putInt(mContext.getContentResolver(), NOTIFICATION_BUBBLES,
-                SYSTEM_WIDE_OFF);
-
-        assertFalse(mController.isAvailable());
-    }
-
-    @Test
-    public void testIsAvailable_defaultChannel() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        appRow.allowBubbles = true;
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH);
-        when(channel.getId()).thenReturn(DEFAULT_CHANNEL_ID);
-        mController.onResume(appRow, channel, null, null);
-        Settings.Global.putInt(mContext.getContentResolver(), NOTIFICATION_BUBBLES, SYSTEM_WIDE_ON);
-
-        assertTrue(mController.isAvailable());
-    }
-
-    @Test
-    public void testUpdateState() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        appRow.allowBubbles = true;
-        mController.onResume(appRow, null, null, null);
-
-        Preference pref = new Preference(mContext);
-        mController.updateState(pref);
-        assertNotNull(pref.getIntent());
-    }
-
-    @Test
-    public void testGetSummary() {
-        Settings.Global.putInt(mContext.getContentResolver(), NOTIFICATION_BUBBLES, SYSTEM_WIDE_ON);
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        appRow.allowBubbles = true;
-        mController.onResume(appRow, null, null, null);
-
-        assertEquals("On", mController.getSummary());
-
-        Settings.Global.putInt(mContext.getContentResolver(), NOTIFICATION_BUBBLES,
-                SYSTEM_WIDE_OFF);
-        assertEquals("Off", mController.getSummary());
-
-        Settings.Global.putInt(mContext.getContentResolver(), NOTIFICATION_BUBBLES, SYSTEM_WIDE_ON);
-        appRow.allowBubbles = false;
-        mController.onResume(appRow, null, null, null);
-
-        assertEquals("Off", mController.getSummary());
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/notification/CallVolumePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/CallVolumePreferenceControllerTest.java
index 966d4e1..ed65d5b 100644
--- a/tests/robotests/src/com/android/settings/notification/CallVolumePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/CallVolumePreferenceControllerTest.java
@@ -102,4 +102,9 @@
         new CallVolumePreferenceController(mContext, "bad_key");
         assertThat(controller.isSliceable()).isFalse();
     }
+
+    @Test
+    public void isPublicSlice_returnTrue() {
+        assertThat(mController.isPublicSlice()).isTrue();
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/notification/ConfigureNotificationPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/ConfigureNotificationPreferenceControllerTest.java
new file mode 100644
index 0000000..83fe07a
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/ConfigureNotificationPreferenceControllerTest.java
@@ -0,0 +1,59 @@
+/*
+ * 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.notification;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.content.Context;
+
+import com.android.settings.testutils.shadow.ShadowNotificationBackend;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(shadows = ShadowNotificationBackend.class)
+public class ConfigureNotificationPreferenceControllerTest {
+
+    private ConfigureNotificationPreferenceController mController;
+    private Context mContext;
+
+    @Before
+    public void setUp() {
+        mContext = RuntimeEnvironment.application;
+        mController = new ConfigureNotificationPreferenceController(mContext, "key");
+    }
+
+    @Test
+    public void getSummary_noBlockedApps() {
+        ShadowNotificationBackend.setBlockedAppCount(0);
+
+        assertThat(mController.getSummary().toString()).contains("On");
+    }
+
+    @Test
+    public void getSummary_someBlockedApps() {
+        ShadowNotificationBackend.setBlockedAppCount(5);
+
+        assertThat(mController.getSummary().toString()).contains("Off");
+        assertThat(mController.getSummary().toString()).contains("5");
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/ConfigureNotificationSettingsTest.java b/tests/robotests/src/com/android/settings/notification/ConfigureNotificationSettingsTest.java
deleted file mode 100644
index 523b496..0000000
--- a/tests/robotests/src/com/android/settings/notification/ConfigureNotificationSettingsTest.java
+++ /dev/null
@@ -1,85 +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 com.android.settings.notification.ConfigureNotificationSettings.SUMMARY_PROVIDER_FACTORY;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.app.Activity;
-
-import com.android.settings.dashboard.SummaryLoader;
-import com.android.settings.notification.ConfigureNotificationSettings.SummaryProvider;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.ArgumentCaptor;
-import org.robolectric.Robolectric;
-import org.robolectric.RobolectricTestRunner;
-
-@RunWith(RobolectricTestRunner.class)
-public class ConfigureNotificationSettingsTest {
-
-    private Activity mActivity;
-
-    @Before
-    public void setUp() {
-        mActivity = spy(Robolectric.buildActivity(Activity.class).get());
-    }
-
-    @Test
-    public void getSummary_noneBlocked() {
-        SummaryLoader loader = mock(SummaryLoader.class);
-        NotificationBackend backend = mock(NotificationBackend.class);
-        when(backend.getBlockedAppCount()).thenReturn(0);
-        SummaryProvider provider =
-                (SummaryProvider) SUMMARY_PROVIDER_FACTORY.createSummaryProvider(mActivity, loader);
-        provider.setBackend(backend);
-
-        provider.setListening(true);
-
-        ArgumentCaptor<CharSequence> captor = ArgumentCaptor.forClass(CharSequence.class);
-        verify(loader).setSummary(any(), captor.capture());
-
-        assertThat(captor.getValue().toString()).contains("On");
-    }
-
-    @Test
-    public void getSummary_someBlocked() {
-        SummaryLoader loader = mock(SummaryLoader.class);
-        NotificationBackend backend = mock(NotificationBackend.class);
-        when(backend.getBlockedAppCount()).thenReturn(5);
-        SummaryProvider provider =
-                (SummaryProvider) SUMMARY_PROVIDER_FACTORY.createSummaryProvider(mActivity, loader);
-        provider.setBackend(backend);
-
-        provider.setListening(true);
-
-        ArgumentCaptor<CharSequence> captor = ArgumentCaptor.forClass(CharSequence.class);
-        verify(loader).setSummary(any(), captor.capture());
-
-        assertThat(captor.getValue().toString()).contains("Off");
-        assertThat(captor.getValue().toString()).contains("5");
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/notification/DeletedChannelsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/DeletedChannelsPreferenceControllerTest.java
deleted file mode 100644
index d9929c4..0000000
--- a/tests/robotests/src/com/android/settings/notification/DeletedChannelsPreferenceControllerTest.java
+++ /dev/null
@@ -1,126 +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 org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
-import static org.mockito.ArgumentMatchers.anyInt;
-import static org.mockito.Mockito.any;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.app.NotificationChannel;
-import android.app.NotificationChannelGroup;
-import android.app.NotificationManager;
-import android.content.Context;
-import android.os.UserManager;
-
-import androidx.preference.Preference;
-
-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;
-import org.robolectric.RuntimeEnvironment;
-import org.robolectric.shadows.ShadowApplication;
-
-@RunWith(RobolectricTestRunner.class)
-public class DeletedChannelsPreferenceControllerTest {
-
-    private Context mContext;
-    @Mock
-    private NotificationBackend mBackend;
-    @Mock
-    private NotificationManager mNm;
-    @Mock
-    private UserManager mUm;
-
-    private DeletedChannelsPreferenceController mController;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        ShadowApplication shadowApplication = ShadowApplication.getInstance();
-        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNm);
-        shadowApplication.setSystemService(Context.USER_SERVICE, mUm);
-        mContext = RuntimeEnvironment.application;
-        mController = new DeletedChannelsPreferenceController(mContext, mBackend);
-    }
-
-    @Test
-    public void noCrashIfNoOnResume() {
-        mController.isAvailable();
-        mController.updateState(mock(Preference.class));
-    }
-
-    @Test
-    public void isAvailable_appScreen_notIfAppBlocked() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        appRow.banned = true;
-        mController.onResume(appRow, null, null, null);
-        assertFalse(mController.isAvailable());
-    }
-
-    @Test
-    public void isAvailable_groupScreen_never() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        mController.onResume(appRow, null, mock(NotificationChannelGroup.class), null);
-        assertFalse(mController.isAvailable());
-    }
-
-    @Test
-    public void isAvailable_channelScreen_never() {
-        mController.onResume(
-                new NotificationBackend.AppRow(), mock(NotificationChannel.class), null, null);
-        assertFalse(mController.isAvailable());
-    }
-
-    @Test
-    public void isAvailable_appScreen_notIfNoDeletedChannels() {
-        when(mBackend.getDeletedChannelCount(any(), anyInt())).thenReturn(0);
-        mController.onResume(new NotificationBackend.AppRow(), null, null, null);
-        assertFalse(mController.isAvailable());
-    }
-
-    @Test
-    public void isAvailable_appScreen() {
-        when(mBackend.getDeletedChannelCount(any(), anyInt())).thenReturn(1);
-        mController.onResume(new NotificationBackend.AppRow(), null, null, null);
-        assertTrue(mController.isAvailable());
-    }
-
-    @Test
-    public void updateState() {
-        when(mBackend.getDeletedChannelCount(any(), anyInt())).thenReturn(1);
-        mController.onResume(new NotificationBackend.AppRow(), null, null, null);
-
-        Preference pref = mock(Preference.class);
-        mController.updateState(pref);
-
-        verify(pref, times(1)).setSelectable(false);
-        verify(mBackend, times(1)).getDeletedChannelCount(any(), anyInt());
-        ArgumentCaptor<CharSequence> argumentCaptor = ArgumentCaptor.forClass(CharSequence.class);
-        verify(pref, times(1)).setTitle(argumentCaptor.capture());
-        assertTrue(argumentCaptor.getValue().toString().contains("1"));
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/notification/DescriptionPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/DescriptionPreferenceControllerTest.java
deleted file mode 100644
index ff6ff91..0000000
--- a/tests/robotests/src/com/android/settings/notification/DescriptionPreferenceControllerTest.java
+++ /dev/null
@@ -1,163 +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_LOW;
-import static android.app.NotificationManager.IMPORTANCE_NONE;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.when;
-
-import android.app.NotificationChannel;
-import android.app.NotificationChannelGroup;
-import android.app.NotificationManager;
-import android.content.Context;
-import android.os.UserManager;
-
-import androidx.preference.Preference;
-
-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 org.robolectric.shadows.ShadowApplication;
-
-@RunWith(RobolectricTestRunner.class)
-public class DescriptionPreferenceControllerTest {
-
-    private Context mContext;
-    @Mock
-    private NotificationManager mNm;
-    @Mock
-    private UserManager mUm;
-
-    private DescriptionPreferenceController mController;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        ShadowApplication shadowApplication = ShadowApplication.getInstance();
-        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNm);
-        shadowApplication.setSystemService(Context.USER_SERVICE, mUm);
-        mContext = RuntimeEnvironment.application;
-        mController = spy(new DescriptionPreferenceController(mContext));
-    }
-
-    @Test
-    public void testNoCrashIfNoOnResume() {
-        mController.isAvailable();
-        mController.updateState(mock(Preference.class));
-    }
-
-    @Test
-    public void testIsAvailable_notIfNull() {
-        mController.onResume(null, null, null, null);
-        assertFalse(mController.isAvailable());
-    }
-
-    @Test
-    public void testIsAvailable_notIfChannelGroupBlocked() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannelGroup group = mock(NotificationChannelGroup.class);
-        mController.onResume(appRow, null, group, null);
-        assertFalse(mController.isAvailable());
-    }
-
-    @Test
-    public void testIsAvailable_notIfChannelBlocked() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_NONE);
-        mController.onResume(appRow, channel, null, null);
-        assertFalse(mController.isAvailable());
-    }
-
-    @Test
-    public void testIsAvailable_notIfNoChannelDesc() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_LOW);
-        mController.onResume(appRow, channel, null, null);
-        assertFalse(mController.isAvailable());
-    }
-
-    @Test
-    public void testIsAvailable_notIfNoChannelGroupDesc() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannelGroup group = mock(NotificationChannelGroup.class);
-        mController.onResume(appRow, null, group, null);
-        assertFalse(mController.isAvailable());
-    }
-
-    @Test
-    public void testIsAvailable_channel() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_LOW);
-        when(channel.getDescription()).thenReturn("AAA");
-        mController.onResume(appRow, channel, null, null);
-        assertTrue(mController.isAvailable());
-    }
-
-    @Test
-    public void testIsAvailable_channelGroup() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannelGroup group = mock(NotificationChannelGroup.class);
-        when(group.getDescription()).thenReturn("something");
-        when(group.isBlocked()).thenReturn(false);
-        mController.onResume(appRow, null, group, null);
-        assertTrue(mController.isAvailable());
-    }
-
-    @Test
-    public void testUpdateState_channel() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_LOW);
-        when(channel.getDescription()).thenReturn("AAA");
-        mController.onResume(appRow, channel, null, null);
-
-        Preference pref = new Preference(RuntimeEnvironment.application);
-        mController.updateState(pref);
-
-        assertEquals("AAA", pref.getTitle());
-        assertFalse(pref.isEnabled());
-        assertFalse(pref.isSelectable());
-    }
-
-    @Test
-    public void testUpdateState_channelGroup() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannelGroup group = mock(NotificationChannelGroup.class);
-        when(group.getDescription()).thenReturn("something");
-        mController.onResume(appRow, null, group, null);
-
-        Preference pref = new Preference(RuntimeEnvironment.application);
-        mController.updateState(pref);
-
-        assertEquals("something", pref.getTitle());
-        assertFalse(pref.isEnabled());
-        assertFalse(pref.isSelectable());
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/notification/DndPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/DndPreferenceControllerTest.java
deleted file mode 100644
index f663630..0000000
--- a/tests/robotests/src/com/android/settings/notification/DndPreferenceControllerTest.java
+++ /dev/null
@@ -1,197 +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.NotificationChannel.DEFAULT_CHANNEL_ID;
-import static android.app.NotificationManager.IMPORTANCE_HIGH;
-import static android.app.NotificationManager.IMPORTANCE_LOW;
-import static android.app.NotificationManager.IMPORTANCE_MIN;
-
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.anyInt;
-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.NotificationChannel;
-import android.app.NotificationManager;
-import android.content.Context;
-import android.os.UserManager;
-
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settingslib.RestrictedLockUtils;
-import com.android.settingslib.RestrictedSwitchPreference;
-
-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.RuntimeEnvironment;
-import org.robolectric.shadows.ShadowApplication;
-
-@RunWith(RobolectricTestRunner.class)
-public class DndPreferenceControllerTest {
-
-    private Context mContext;
-    @Mock
-    private NotificationBackend mBackend;
-    @Mock
-    private NotificationManager mNm;
-    @Mock
-    private UserManager mUm;
-    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
-    private PreferenceScreen mScreen;
-
-    private DndPreferenceController mController;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        ShadowApplication shadowApplication = ShadowApplication.getInstance();
-        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNm);
-        shadowApplication.setSystemService(Context.USER_SERVICE, mUm);
-        mContext = RuntimeEnvironment.application;
-        mController = spy(new DndPreferenceController(mContext, mBackend));
-    }
-
-    @Test
-    public void testIsAvailable_app() {
-        when(mNm.getNotificationPolicy()).thenReturn(new NotificationManager.Policy(0, 0, 0, 0));
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        mController.onResume(appRow, null, null, null);
-        assertFalse(mController.isAvailable());
-    }
-
-    @Test
-    public void testIsAvailable_channel() {
-        when(mNm.getNotificationPolicy()).thenReturn(new NotificationManager.Policy(0, 0, 0, 1));
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel =
-                new NotificationChannel(DEFAULT_CHANNEL_ID, "", IMPORTANCE_MIN);
-        mController.onResume(appRow, channel, null, null);
-        assertTrue(mController.isAvailable());
-    }
-
-    @Test
-    public void testUpdateState_disabledByAdmin() {
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getId()).thenReturn("something");
-        mController.onResume(new NotificationBackend.AppRow(), channel, null, mock(
-                RestrictedLockUtils.EnforcedAdmin.class));
-
-        Preference pref = new RestrictedSwitchPreference(RuntimeEnvironment.application);
-        mController.updateState(pref);
-
-        assertFalse(pref.isEnabled());
-    }
-
-    @Test
-    public void testUpdateState_notBlockable() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.isImportanceLockedByOEM()).thenReturn(true);
-        mController.onResume(appRow, channel, null, null);
-
-        Preference pref = new RestrictedSwitchPreference(RuntimeEnvironment.application);
-        mController.updateState(pref);
-
-        assertTrue(pref.isEnabled());
-    }
-
-    @Test
-    public void testUpdateState_configurable() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getId()).thenReturn("something");
-        mController.onResume(appRow, channel, null, null);
-
-        Preference pref = new RestrictedSwitchPreference(RuntimeEnvironment.application);
-        mController.updateState(pref);
-
-        assertTrue(pref.isEnabled());
-    }
-
-    @Test
-    public void testUpdateState_bypassDnd() {
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.canBypassDnd()).thenReturn(true);
-        mController.onResume(new NotificationBackend.AppRow(), channel, null, null);
-
-        RestrictedSwitchPreference pref =
-                new RestrictedSwitchPreference(RuntimeEnvironment.application);
-        mController.updateState(pref);
-        assertTrue(pref.isChecked());
-    }
-
-    @Test
-    public void testUpdateState_noBypassDnd() {
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.canBypassDnd()).thenReturn(false);
-        mController.onResume(new NotificationBackend.AppRow(), channel, null, null);
-
-        RestrictedSwitchPreference pref =
-                new RestrictedSwitchPreference(RuntimeEnvironment.application);
-        mController.updateState(pref);
-        assertFalse(pref.isChecked());
-    }
-
-    @Test
-    public void testOnPreferenceChange_on() {
-        NotificationChannel channel =
-                new NotificationChannel(DEFAULT_CHANNEL_ID, "a", IMPORTANCE_LOW);
-        mController.onResume(new NotificationBackend.AppRow(), channel, null, null);
-
-        RestrictedSwitchPreference pref =
-                new RestrictedSwitchPreference(RuntimeEnvironment.application);
-        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(pref);
-        mController.displayPreference(mScreen);
-        mController.updateState(pref);
-
-        mController.onPreferenceChange(pref, true);
-
-        assertTrue(channel.canBypassDnd());
-        verify(mBackend, times(1)).updateChannel(any(), anyInt(), any());
-    }
-
-    @Test
-    public void testOnPreferenceChange_off() {
-        NotificationChannel channel =
-                new NotificationChannel(DEFAULT_CHANNEL_ID, "a", IMPORTANCE_HIGH);
-        mController.onResume(new NotificationBackend.AppRow(), channel, null, null);
-
-        RestrictedSwitchPreference pref =
-                new RestrictedSwitchPreference(RuntimeEnvironment.application);
-        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(pref);
-        mController.displayPreference(mScreen);
-        mController.updateState(pref);
-
-        mController.onPreferenceChange(pref, false);
-
-        assertFalse(channel.canBypassDnd());
-        verify(mBackend, times(1)).updateChannel(any(), anyInt(), any());
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/notification/GentleNotificationsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/GentleNotificationsPreferenceControllerTest.java
deleted file mode 100644
index bd01379..0000000
--- a/tests/robotests/src/com/android/settings/notification/GentleNotificationsPreferenceControllerTest.java
+++ /dev/null
@@ -1,107 +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.notification;
-
-import static com.android.settings.notification.BadgingNotificationPreferenceController.OFF;
-import static com.android.settings.notification.BadgingNotificationPreferenceController.ON;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.Mockito.when;
-
-import android.content.Context;
-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 org.robolectric.RuntimeEnvironment;
-
-import androidx.preference.Preference;
-
-@RunWith(RobolectricTestRunner.class)
-public class GentleNotificationsPreferenceControllerTest {
-
-    private Context mContext;
-
-    @Mock
-    NotificationBackend mBackend;
-
-    private GentleNotificationsPreferenceController mController;
-    private Preference mPreference;
-
-    private static final String KEY = "gentle_notifications";
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        mContext = RuntimeEnvironment.application;
-        mController = new GentleNotificationsPreferenceController(mContext, KEY);
-        mController.setBackend(mBackend);
-        mPreference = new Preference(mContext);
-    }
-
-    @Test
-    public void display_shouldDisplay() {
-        assertThat(mPreference.isVisible()).isTrue();
-    }
-
-    @Test
-    public void getSummary_lock() {
-        Settings.Secure.putInt(mContext.getContentResolver(),
-                Settings.Secure.LOCK_SCREEN_SHOW_SILENT_NOTIFICATIONS, 1);
-        when(mBackend.shouldHideSilentStatusBarIcons(mContext)).thenReturn(true);
-
-        assertThat(mController.getSummary()).isEqualTo(
-                mContext.getString(R.string.gentle_notifications_display_summary_shade_lock));
-    }
-
-    @Test
-    public void getSummary_status() {
-        Settings.Secure.putInt(mContext.getContentResolver(),
-                Settings.Secure.LOCK_SCREEN_SHOW_SILENT_NOTIFICATIONS, 0);
-        when(mBackend.shouldHideSilentStatusBarIcons(mContext)).thenReturn(false);
-
-        assertThat(mController.getSummary()).isEqualTo(
-                mContext.getString(R.string.gentle_notifications_display_summary_shade_status));
-    }
-
-    @Test
-    public void getSummary_both() {
-        Settings.Secure.putInt(mContext.getContentResolver(),
-                Settings.Secure.LOCK_SCREEN_SHOW_SILENT_NOTIFICATIONS, 1);
-        when(mBackend.shouldHideSilentStatusBarIcons(mContext)).thenReturn(false);
-
-        assertThat(mController.getSummary()).isEqualTo(mContext.getString(
-                R.string.gentle_notifications_display_summary_shade_status_lock));
-    }
-
-    @Test
-    public void getSummary_neither() {
-        Settings.Secure.putInt(mContext.getContentResolver(),
-                Settings.Secure.LOCK_SCREEN_SHOW_SILENT_NOTIFICATIONS, 0);
-        when(mBackend.shouldHideSilentStatusBarIcons(mContext)).thenReturn(true);
-
-        assertThat(mController.getSummary()).isEqualTo(
-                mContext.getString(R.string.gentle_notifications_display_summary_shade));
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/notification/HeaderPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/HeaderPreferenceControllerTest.java
deleted file mode 100644
index 7f6ecae..0000000
--- a/tests/robotests/src/com/android/settings/notification/HeaderPreferenceControllerTest.java
+++ /dev/null
@@ -1,147 +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_NONE;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import static org.mockito.ArgumentMatchers.anyInt;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.when;
-
-import android.app.NotificationChannel;
-import android.app.NotificationChannelGroup;
-import android.app.NotificationManager;
-import android.content.Context;
-import android.os.UserManager;
-import android.view.View;
-
-import androidx.fragment.app.FragmentActivity;
-
-import com.android.settings.dashboard.DashboardFragment;
-import com.android.settingslib.widget.LayoutPreference;
-
-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 org.robolectric.shadows.ShadowApplication;
-
-@RunWith(RobolectricTestRunner.class)
-public class HeaderPreferenceControllerTest {
-
-    private Context mContext;
-    @Mock
-    private NotificationManager mNm;
-    @Mock
-    private UserManager mUm;
-
-    private HeaderPreferenceController mController;
-    @Mock
-    private LayoutPreference mPreference;
-    @Mock
-    private View mView;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        ShadowApplication shadowApplication = ShadowApplication.getInstance();
-        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNm);
-        shadowApplication.setSystemService(Context.USER_SERVICE, mUm);
-        mContext = RuntimeEnvironment.application;
-        DashboardFragment fragment = mock(DashboardFragment.class);
-        when(fragment.getContext()).thenReturn(mContext);
-        FragmentActivity activity = mock(FragmentActivity.class);
-        when(activity.getApplicationContext()).thenReturn(mContext);
-        when(fragment.getActivity()).thenReturn(activity);
-        mController = spy(new HeaderPreferenceController(mContext, fragment));
-        when(mPreference.findViewById(anyInt())).thenReturn(mView);
-    }
-
-    @Test
-    public void testNoCrashIfNoOnResume() {
-        mController.isAvailable();
-        mController.updateState(mock(LayoutPreference.class));
-    }
-
-    @Test
-    public void testIsAvailable_notIfNull() {
-        mController.onResume(null, null, null, null);
-        assertFalse(mController.isAvailable());
-    }
-
-    @Test
-    public void testIsAvailable() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        appRow.banned = true;
-        mController.onResume(appRow, null, null, null);
-        assertTrue(mController.isAvailable());
-    }
-
-    @Test
-    public void testGetLabel() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        appRow.label = "bananas";
-        mController.onResume(appRow, null, null, null);
-        assertEquals(appRow.label, mController.getLabel());
-
-        NotificationChannelGroup group = new NotificationChannelGroup("id", "name");
-        mController.onResume(appRow, null, group, null);
-        assertEquals(group.getName(), mController.getLabel());
-
-        NotificationChannel channel = new NotificationChannel("cid", "cname", IMPORTANCE_NONE);
-        mController.onResume(appRow, channel, group, null);
-        assertEquals(channel.getName(), mController.getLabel());
-
-        NotificationChannel defaultChannel = new NotificationChannel(
-                NotificationChannel.DEFAULT_CHANNEL_ID, "", IMPORTANCE_NONE);
-        mController.onResume(appRow, defaultChannel, null, null);
-        assertEquals(appRow.label, mController.getLabel());
-    }
-
-    @Test
-    public void testGetSummary() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        appRow.label = "bananas";
-        mController.onResume(appRow, null, null, null);
-        assertEquals("", mController.getSummary());
-
-        NotificationChannelGroup group = new NotificationChannelGroup("id", "name");
-        mController.onResume(appRow, null, group, null);
-        assertEquals(appRow.label, mController.getSummary());
-
-        NotificationChannel channel = new NotificationChannel("cid", "cname", IMPORTANCE_NONE);
-        mController.onResume(appRow, channel, group, null);
-        assertTrue(mController.getSummary().toString().contains(group.getName()));
-        assertTrue(mController.getSummary().toString().contains(appRow.label));
-
-        mController.onResume(appRow, channel, null, null);
-        assertFalse(mController.getSummary().toString().contains(group.getName()));
-        assertTrue(mController.getSummary().toString().contains(appRow.label));
-
-        NotificationChannel defaultChannel = new NotificationChannel(
-                NotificationChannel.DEFAULT_CHANNEL_ID, "", IMPORTANCE_NONE);
-        mController.onResume(appRow, defaultChannel, null, null);
-        assertEquals("", mController.getSummary());
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/notification/HighImportancePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/HighImportancePreferenceControllerTest.java
deleted file mode 100644
index a89a826..0000000
--- a/tests/robotests/src/com/android/settings/notification/HighImportancePreferenceControllerTest.java
+++ /dev/null
@@ -1,227 +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.NotificationChannel.DEFAULT_CHANNEL_ID;
-import static android.app.NotificationManager.IMPORTANCE_DEFAULT;
-import static android.app.NotificationManager.IMPORTANCE_HIGH;
-import static android.app.NotificationManager.IMPORTANCE_NONE;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-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.NotificationChannel;
-import android.app.NotificationManager;
-import android.content.Context;
-import android.os.UserManager;
-
-import com.android.settingslib.RestrictedLockUtils;
-import com.android.settingslib.RestrictedSwitchPreference;
-
-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.RuntimeEnvironment;
-import org.robolectric.shadows.ShadowApplication;
-
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-
-@RunWith(RobolectricTestRunner.class)
-public class HighImportancePreferenceControllerTest {
-
-    private Context mContext;
-    @Mock
-    private NotificationManager mNm;
-    @Mock
-    private NotificationBackend mBackend;
-    @Mock
-    private NotificationSettingsBase.ImportanceListener mImportanceListener;
-    @Mock
-    private UserManager mUm;
-    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
-    private PreferenceScreen mScreen;
-
-    private HighImportancePreferenceController mController;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        ShadowApplication shadowApplication = ShadowApplication.getInstance();
-        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNm);
-        shadowApplication.setSystemService(Context.USER_SERVICE, mUm);
-        mContext = RuntimeEnvironment.application;
-        mController = spy(new HighImportancePreferenceController(
-                mContext, mImportanceListener, mBackend));
-    }
-
-    @Test
-    public void testNoCrashIfNoOnResume() {
-        mController.isAvailable();
-        mController.updateState(mock(Preference.class));
-    }
-
-    @Test
-    public void testIsAvailable_notIfNull() {
-        mController.onResume(null, null, null, null);
-        assertFalse(mController.isAvailable());
-    }
-
-    @Test
-    public void testIsAvailable_ifAppBlocked() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        appRow.banned = true;
-        mController.onResume(appRow, mock(NotificationChannel.class), null, null);
-        assertFalse(mController.isAvailable());
-    }
-
-    @Test
-    public void testIsAvailable_notIfChannelBlocked() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_NONE);
-        mController.onResume(appRow, channel, null, null);
-        assertFalse(mController.isAvailable());
-    }
-
-    @Test
-    public void testIsAvailable_notForDefaultChannel() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH);
-        when(channel.getId()).thenReturn(DEFAULT_CHANNEL_ID);
-        mController.onResume(appRow, channel, null, null);
-        assertFalse(mController.isAvailable());
-    }
-
-    @Test
-    public void testIsAvailable() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_DEFAULT);
-        mController.onResume(appRow, channel, null, null);
-        assertTrue(mController.isAvailable());
-    }
-
-    @Test
-    public void testUpdateState_disabledByAdmin() {
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH);
-        mController.onResume(new NotificationBackend.AppRow(), channel, null, mock(
-                RestrictedLockUtils.EnforcedAdmin.class));
-
-        Preference pref = new RestrictedSwitchPreference(mContext, null);
-        mController.updateState(pref);
-
-        assertFalse(pref.isEnabled());
-    }
-
-    @Test
-    public void testUpdateState_notConfigurable() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.isImportanceLockedByOEM()).thenReturn(true);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH);
-        mController.onResume(appRow, channel, null, null);
-
-        Preference pref = new RestrictedSwitchPreference(mContext, null);
-        mController.updateState(pref);
-
-        assertFalse(pref.isEnabled());
-    }
-
-    @Test
-    public void testUpdateState_systemButConfigurable() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        appRow.systemApp = true;
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.isImportanceLockedByOEM()).thenReturn(false);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH);
-        mController.onResume(appRow, channel, null, null);
-
-        Preference pref = new RestrictedSwitchPreference(mContext, null);
-        mController.updateState(pref);
-
-        assertTrue(pref.isEnabled());
-    }
-
-    @Test
-    public void testUpdateState_defaultApp() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        appRow.systemApp = true;
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.isImportanceLockedByCriticalDeviceFunction()).thenReturn(true);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH);
-        mController.onResume(appRow, channel, null, null);
-
-        Preference pref = new RestrictedSwitchPreference(mContext, null);
-        mController.updateState(pref);
-
-        assertTrue(pref.isEnabled());
-    }
-
-    @Test
-    public void testUpdateState_high() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = new NotificationChannel("", "", IMPORTANCE_HIGH);
-        mController.onResume(appRow, channel, null, null);
-
-        RestrictedSwitchPreference pref = new RestrictedSwitchPreference(mContext);
-        mController.updateState(pref);
-
-        assertTrue(pref.isChecked());
-    }
-
-    @Test
-    public void testUpdateState_default() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = new NotificationChannel("", "", IMPORTANCE_DEFAULT);
-        mController.onResume(appRow, channel, null, null);
-
-        RestrictedSwitchPreference pref = new RestrictedSwitchPreference(mContext);
-        mController.updateState(pref);
-
-        assertFalse(pref.isChecked());
-    }
-    
-    @Test
-    public void onPreferenceChange() {
-        NotificationChannel channel =
-                new NotificationChannel(DEFAULT_CHANNEL_ID, "a", IMPORTANCE_HIGH);
-        mController.onResume(new NotificationBackend.AppRow(), channel, null, null);
-
-        RestrictedSwitchPreference pref = new RestrictedSwitchPreference(mContext, null);
-        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(pref);
-        mController.displayPreference(mScreen);
-        mController.updateState(pref);
-
-        mController.onPreferenceChange(pref, false);
-
-        assertEquals(IMPORTANCE_DEFAULT, channel.getImportance());
-        verify(mImportanceListener, times(1)).onImportanceChanged();
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/notification/ImportancePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/ImportancePreferenceControllerTest.java
deleted file mode 100644
index 999631e..0000000
--- a/tests/robotests/src/com/android/settings/notification/ImportancePreferenceControllerTest.java
+++ /dev/null
@@ -1,253 +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.NotificationChannel.DEFAULT_CHANNEL_ID;
-import static android.app.NotificationManager.IMPORTANCE_DEFAULT;
-import static android.app.NotificationManager.IMPORTANCE_HIGH;
-import static android.app.NotificationManager.IMPORTANCE_LOW;
-import static android.app.NotificationManager.IMPORTANCE_NONE;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-
-import static org.mockito.ArgumentMatchers.anyBoolean;
-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.Notification;
-import android.app.NotificationChannel;
-import android.app.NotificationChannelGroup;
-import android.app.NotificationManager;
-import android.content.Context;
-import android.os.UserManager;
-
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settingslib.RestrictedLockUtils;
-
-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.RuntimeEnvironment;
-import org.robolectric.shadows.ShadowApplication;
-
-@RunWith(RobolectricTestRunner.class)
-public class ImportancePreferenceControllerTest {
-
-    private Context mContext;
-    @Mock
-    private NotificationManager mNm;
-    @Mock
-    private NotificationBackend mBackend;
-    @Mock
-    private NotificationSettingsBase.ImportanceListener mImportanceListener;
-    @Mock
-    private UserManager mUm;
-    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
-    private PreferenceScreen mScreen;
-
-    private ImportancePreferenceController mController;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        ShadowApplication shadowApplication = ShadowApplication.getInstance();
-        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNm);
-        shadowApplication.setSystemService(Context.USER_SERVICE, mUm);
-        mContext = RuntimeEnvironment.application;
-        mController = spy(new ImportancePreferenceController(
-                mContext, mImportanceListener, mBackend));
-    }
-
-    @Test
-    public void testNoCrashIfNoOnResume() {
-        mController.isAvailable();
-        mController.updateState(mock(Preference.class));
-    }
-
-    @Test
-    public void testIsAvailable_notIfNull() {
-        mController.onResume(null, null, null, null);
-        assertFalse(mController.isAvailable());
-    }
-
-    @Test
-    public void testIsAvailable_ifAppBlocked() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        appRow.banned = true;
-        mController.onResume(appRow, mock(NotificationChannel.class), null, null);
-        assertFalse(mController.isAvailable());
-    }
-
-    @Test
-    public void testIsAvailable_isGroupBlocked() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_DEFAULT);
-        NotificationChannelGroup group = mock(NotificationChannelGroup.class);
-        when(group.isBlocked()).thenReturn(true);
-        mController.onResume(appRow, channel, group, null);
-        assertFalse(mController.isAvailable());
-    }
-
-    @Test
-    public void testIsAvailable_ifChannelBlocked() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_NONE);
-        mController.onResume(appRow, channel, null, null);
-        assertFalse(mController.isAvailable());
-    }
-
-    @Test
-    public void testIsAvailable_notForDefaultChannel() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_LOW);
-        when(channel.getId()).thenReturn(DEFAULT_CHANNEL_ID);
-        mController.onResume(appRow, channel, null, null);
-        assertFalse(mController.isAvailable());
-    }
-
-    @Test
-    public void testIsAvailable() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_LOW);
-        mController.onResume(appRow, channel, null, null);
-        assertTrue(mController.isAvailable());
-    }
-
-    @Test
-    public void testUpdateState_disabledByAdmin() {
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH);
-        mController.onResume(new NotificationBackend.AppRow(), channel, null, mock(
-                RestrictedLockUtils.EnforcedAdmin.class));
-
-        Preference pref = new ImportancePreference(mContext, null);
-        mController.updateState(pref);
-
-        assertFalse(pref.isEnabled());
-    }
-
-    @Test
-    public void testUpdateState_notConfigurable() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.isImportanceLockedByOEM()).thenReturn(true);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH);
-        mController.onResume(appRow, channel, null, null);
-
-        Preference pref = new ImportancePreference(mContext, null);
-        mController.updateState(pref);
-
-        assertFalse(pref.isEnabled());
-    }
-
-    @Test
-    public void testUpdateState_systemButConfigurable() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        appRow.systemApp = true;
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.isImportanceLockedByOEM()).thenReturn(false);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH);
-        mController.onResume(appRow, channel, null, null);
-
-        Preference pref = new ImportancePreference(mContext, null);
-        mController.updateState(pref);
-
-        assertTrue(pref.isEnabled());
-    }
-
-    @Test
-    public void testUpdateState_defaultApp() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        appRow.systemApp = true;
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.isImportanceLockedByCriticalDeviceFunction()).thenReturn(true);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH);
-        mController.onResume(appRow, channel, null, null);
-
-        Preference pref = new ImportancePreference(mContext, null);
-        mController.updateState(pref);
-
-        assertTrue(pref.isEnabled());
-    }
-
-    @Test
-    public void testUpdateState() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = new NotificationChannel("", "", IMPORTANCE_HIGH);
-        mController.onResume(appRow, channel, null, null);
-
-        ImportancePreference pref = mock(ImportancePreference.class);
-        mController.updateState(pref);
-
-        verify(pref, times(1)).setConfigurable(anyBoolean());
-        verify(pref, times(1)).setImportance(IMPORTANCE_HIGH);
-        verify(pref, times(1)).setDisplayInStatusBar(false);
-    }
-    
-    @Test
-    public void testImportanceLowToHigh() {
-        NotificationChannel channel =
-                new NotificationChannel(DEFAULT_CHANNEL_ID, "a", IMPORTANCE_LOW);
-        channel.setSound(null, Notification.AUDIO_ATTRIBUTES_DEFAULT);
-        mController.onResume(new NotificationBackend.AppRow(), channel, null, null);
-
-        ImportancePreference pref = new ImportancePreference(mContext, null);
-        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(pref);
-        mController.displayPreference(mScreen);
-        mController.updateState(pref);
-
-        mController.onPreferenceChange(pref, IMPORTANCE_HIGH);
-
-        assertEquals(IMPORTANCE_HIGH, channel.getImportance());
-        assertNotNull(channel.getSound());
-    }
-
-    @Test
-    public void testImportanceHighToLow() {
-        NotificationChannel channel =
-                new NotificationChannel(DEFAULT_CHANNEL_ID, "a", IMPORTANCE_HIGH);
-        channel.setSound(null, Notification.AUDIO_ATTRIBUTES_DEFAULT);
-        mController.onResume(new NotificationBackend.AppRow(), channel, null, null);
-
-        ImportancePreference pref = new ImportancePreference(mContext, null);
-        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(pref);
-        mController.displayPreference(mScreen);
-        mController.updateState(pref);
-
-        mController.onPreferenceChange(pref, IMPORTANCE_LOW);
-
-        assertEquals(IMPORTANCE_LOW, channel.getImportance());
-        assertNull(channel.getSound());
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/notification/ImportancePreferenceTest.java b/tests/robotests/src/com/android/settings/notification/ImportancePreferenceTest.java
deleted file mode 100644
index 75b369a..0000000
--- a/tests/robotests/src/com/android/settings/notification/ImportancePreferenceTest.java
+++ /dev/null
@@ -1,189 +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.notification;
-
-import static android.app.NotificationManager.IMPORTANCE_DEFAULT;
-import static android.app.NotificationManager.IMPORTANCE_LOW;
-
-import static com.google.common.truth.Truth.assertThat;
-
-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 android.content.Context;
-import android.graphics.drawable.Drawable;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.Button;
-import android.widget.ImageView;
-import android.widget.LinearLayout;
-import android.widget.TextView;
-
-import com.android.settings.R;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-
-import androidx.preference.PreferenceViewHolder;
-
-@RunWith(RobolectricTestRunner.class)
-public class ImportancePreferenceTest {
-
-    private Context mContext;
-
-    @Before
-    public void setUp() {
-        mContext = RuntimeEnvironment.application;
-    }
-
-    @Test
-    public void createNewPreference_shouldSetLayout() {
-        final ImportancePreference preference = new ImportancePreference(mContext);
-        assertThat(preference.getLayoutResource()).isEqualTo(
-                R.layout.notif_importance_preference);
-    }
-
-    @Test
-    public void onBindViewHolder_nonConfigurable() {
-        final ImportancePreference preference = new ImportancePreference(mContext);
-        final LayoutInflater inflater = LayoutInflater.from(mContext);
-        PreferenceViewHolder holder = PreferenceViewHolder.createInstanceForTests(
-                inflater.inflate(R.layout.notif_importance_preference, null));
-        Drawable unselected = mock(Drawable.class);
-        Drawable selected = mock(Drawable.class);
-        preference.selectedBackground = selected;
-        preference.unselectedBackground = unselected;
-
-        preference.setConfigurable(false);
-        preference.setImportance(IMPORTANCE_DEFAULT);
-        preference.onBindViewHolder(holder);
-
-        assertThat(holder.itemView.findViewById(R.id.silence).isEnabled()).isFalse();
-        assertThat(holder.itemView.findViewById(R.id.alert).isEnabled()).isFalse();
-
-        assertThat(holder.itemView.findViewById(R.id.alert).getBackground()).isEqualTo(selected);
-        assertThat(holder.itemView.findViewById(R.id.silence).getBackground())
-                .isEqualTo(unselected);
-
-        // other button
-        preference.setImportance(IMPORTANCE_LOW);
-        holder = PreferenceViewHolder.createInstanceForTests(
-                inflater.inflate(R.layout.notif_importance_preference, null));
-        preference.onBindViewHolder(holder);
-
-        assertThat(holder.itemView.findViewById(R.id.alert).getBackground()).isEqualTo(unselected);
-        assertThat(holder.itemView.findViewById(R.id.silence).getBackground()).isEqualTo(selected);
-    }
-
-    @Test
-    public void onBindViewHolder_selectButtonAndText() {
-        final ImportancePreference preference = new ImportancePreference(mContext);
-        final LayoutInflater inflater = LayoutInflater.from(mContext);
-        final PreferenceViewHolder holder = PreferenceViewHolder.createInstanceForTests(
-                inflater.inflate(R.layout.notif_importance_preference, null));
-        Drawable unselected = mock(Drawable.class);
-        Drawable selected = mock(Drawable.class);
-        preference.selectedBackground = selected;
-        preference.unselectedBackground = unselected;
-
-        preference.setConfigurable(true);
-        preference.setImportance(IMPORTANCE_DEFAULT);
-
-        preference.onBindViewHolder(holder);
-
-        assertThat(holder.itemView.findViewById(R.id.alert).getBackground()).isEqualTo(selected);
-        assertThat(holder.itemView.findViewById(R.id.silence).getBackground())
-                .isEqualTo(unselected);
-        assertThat(((TextView) holder.itemView.findViewById(R.id.alert_summary)).getText())
-                .isEqualTo(mContext.getString(R.string.notification_channel_summary_default));
-    }
-
-    @Test
-    public void onClick_changesUICallsListener() {
-        final ImportancePreference preference = spy(new ImportancePreference(mContext));
-        final LayoutInflater inflater = LayoutInflater.from(mContext);
-        final PreferenceViewHolder holder = PreferenceViewHolder.createInstanceForTests(
-                inflater.inflate(R.layout.notif_importance_preference, null));
-        Drawable unselected = mock(Drawable.class);
-        Drawable selected = mock(Drawable.class);
-        preference.selectedBackground = selected;
-        preference.unselectedBackground = unselected;
-
-        preference.setConfigurable(true);
-        preference.setImportance(IMPORTANCE_DEFAULT);
-        preference.onBindViewHolder(holder);
-
-        View silenceButton = holder.itemView.findViewById(R.id.silence);
-
-        silenceButton.callOnClick();
-
-        assertThat(holder.itemView.findViewById(R.id.alert).getBackground()).isEqualTo(unselected);
-        assertThat(holder.itemView.findViewById(R.id.silence).getBackground()).isEqualTo(selected);
-
-        verify(preference, times(1)).callChangeListener(IMPORTANCE_LOW);
-    }
-
-    @Test
-    public void setImportanceSummary() {
-        final ImportancePreference preference = spy(new ImportancePreference(mContext));
-        final LayoutInflater inflater = LayoutInflater.from(mContext);
-        final PreferenceViewHolder holder = PreferenceViewHolder.createInstanceForTests(
-                inflater.inflate(R.layout.notif_importance_preference, null));
-
-        preference.setConfigurable(true);
-        preference.setImportance(IMPORTANCE_DEFAULT);
-        preference.onBindViewHolder(holder);
-
-        TextView tv = holder.itemView.findViewById(R.id.silence_summary);
-
-        preference.setDisplayInStatusBar(true);
-        preference.setDisplayOnLockscreen(true);
-
-        preference.setImportanceSummary((ViewGroup) holder.itemView, IMPORTANCE_LOW, true);
-
-        assertThat(tv.getText()).isEqualTo(
-                mContext.getString(R.string.notification_channel_summary_low));
-    }
-
-    @Test
-    public void setImportanceSummary_default() {
-        final ImportancePreference preference = spy(new ImportancePreference(mContext));
-        final LayoutInflater inflater = LayoutInflater.from(mContext);
-        final PreferenceViewHolder holder = PreferenceViewHolder.createInstanceForTests(
-                inflater.inflate(R.layout.notif_importance_preference, null));
-
-        preference.setConfigurable(true);
-        preference.setImportance(IMPORTANCE_DEFAULT);
-        preference.onBindViewHolder(holder);
-
-        TextView tv = holder.itemView.findViewById(R.id.alert_summary);
-
-        preference.setDisplayInStatusBar(true);
-        preference.setDisplayOnLockscreen(true);
-
-        preference.setImportanceSummary((ViewGroup) holder.itemView, IMPORTANCE_DEFAULT, true);
-
-        assertThat(tv.getText()).isEqualTo(
-                mContext.getString(R.string.notification_channel_summary_default));
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/notification/LightsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/LightsPreferenceControllerTest.java
deleted file mode 100644
index ac9cdf1..0000000
--- a/tests/robotests/src/com/android/settings/notification/LightsPreferenceControllerTest.java
+++ /dev/null
@@ -1,229 +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.NotificationChannel.DEFAULT_CHANNEL_ID;
-import static android.app.NotificationManager.IMPORTANCE_DEFAULT;
-import static android.app.NotificationManager.IMPORTANCE_HIGH;
-import static android.app.NotificationManager.IMPORTANCE_LOW;
-import static android.provider.Settings.System.NOTIFICATION_LIGHT_PULSE;
-
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.anyInt;
-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.NotificationChannel;
-import android.app.NotificationManager;
-import android.content.Context;
-import android.os.UserManager;
-import android.provider.Settings;
-
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.testutils.shadow.SettingsShadowResources;
-import com.android.settingslib.RestrictedLockUtils;
-import com.android.settingslib.RestrictedSwitchPreference;
-
-import org.junit.After;
-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.RuntimeEnvironment;
-import org.robolectric.annotation.Config;
-import org.robolectric.shadows.ShadowApplication;
-
-@RunWith(RobolectricTestRunner.class)
-@Config(shadows = SettingsShadowResources.class)
-public class LightsPreferenceControllerTest {
-
-    private Context mContext;
-    @Mock
-    private NotificationBackend mBackend;
-    @Mock
-    private NotificationManager mNm;
-    @Mock
-    private UserManager mUm;
-    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
-    private PreferenceScreen mScreen;
-
-    private LightsPreferenceController mController;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        ShadowApplication shadowApplication = ShadowApplication.getInstance();
-        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNm);
-        shadowApplication.setSystemService(Context.USER_SERVICE, mUm);
-        mContext = RuntimeEnvironment.application;
-        mController = spy(new LightsPreferenceController(mContext, mBackend));
-
-        // By default allow lights
-        SettingsShadowResources.overrideResource(
-                com.android.internal.R.bool.config_intrusiveNotificationLed, true);
-        Settings.System.putInt(mContext.getContentResolver(), NOTIFICATION_LIGHT_PULSE, 1);
-    }
-
-    @After
-    public void tearDown() {
-        SettingsShadowResources.reset();
-    }
-
-    @Test
-    public void testNoCrashIfNoOnResume() {
-        mController.isAvailable();
-        mController.updateState(mock(RestrictedSwitchPreference.class));
-        mController.onPreferenceChange(mock(RestrictedSwitchPreference.class), true);
-    }
-
-    @Test
-    public void testIsAvailable_notIfConfigNotAllowed() {
-        SettingsShadowResources.overrideResource(
-                com.android.internal.R.bool.config_intrusiveNotificationLed, false);
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = new NotificationChannel("", "", IMPORTANCE_DEFAULT);
-        mController.onResume(appRow, channel, null, null);
-        assertFalse(mController.isAvailable());
-    }
-
-    @Test
-    public void testIsAvailable_notIfSettingNotAllowed() {
-        Settings.System.putInt(mContext.getContentResolver(), NOTIFICATION_LIGHT_PULSE, 0);
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = new NotificationChannel("", "", IMPORTANCE_DEFAULT);
-        mController.onResume(appRow, channel, null, null);
-        assertFalse(mController.isAvailable());
-    }
-
-    @Test
-    public void testIsAvailable_notIfNotImportant() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = new NotificationChannel("", "", IMPORTANCE_LOW);
-        mController.onResume(appRow, channel, null, null);
-        assertFalse(mController.isAvailable());
-    }
-
-    @Test
-    public void testIsAvailable_notIfDefaultChannel() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel =
-                new NotificationChannel(DEFAULT_CHANNEL_ID, "", IMPORTANCE_DEFAULT);
-        mController.onResume(appRow, channel, null, null);
-        assertFalse(mController.isAvailable());
-    }
-
-    @Test
-    public void testIsAvailable() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = new NotificationChannel("", "", IMPORTANCE_DEFAULT);
-        mController.onResume(appRow, channel, null, null);
-        assertTrue(mController.isAvailable());
-    }
-
-    @Test
-    public void testUpdateState_disabledByAdmin() {
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getId()).thenReturn("something");
-        mController.onResume(new NotificationBackend.AppRow(), channel, null,
-            mock(RestrictedLockUtils.EnforcedAdmin.class));
-
-        Preference pref = new RestrictedSwitchPreference(mContext);
-        mController.updateState(pref);
-
-        assertFalse(pref.isEnabled());
-    }
-
-    @Test
-    public void testUpdateState_notBlockable() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.isImportanceLockedByOEM()).thenReturn(true);
-        mController.onResume(appRow, channel, null, null);
-
-        Preference pref = new RestrictedSwitchPreference(mContext);
-        mController.updateState(pref);
-
-        assertTrue(pref.isEnabled());
-    }
-
-    @Test
-    public void testUpdateState_lightsOn() {
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.shouldShowLights()).thenReturn(true);
-        mController.onResume(new NotificationBackend.AppRow(), channel, null, null);
-
-        RestrictedSwitchPreference pref = new RestrictedSwitchPreference(mContext);
-        mController.updateState(pref);
-        assertTrue(pref.isChecked());
-    }
-
-    @Test
-    public void testUpdateState_lightsOff() {
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.shouldShowLights()).thenReturn(false);
-        mController.onResume(new NotificationBackend.AppRow(), channel, null, null);
-
-        RestrictedSwitchPreference pref = new RestrictedSwitchPreference(mContext);
-        mController.updateState(pref);
-        assertFalse(pref.isChecked());
-    }
-
-    @Test
-    public void testOnPreferenceChange_on() {
-        NotificationChannel channel =
-                new NotificationChannel(DEFAULT_CHANNEL_ID, "a", IMPORTANCE_DEFAULT);
-        mController.onResume(new NotificationBackend.AppRow(), channel, null, null);
-
-        RestrictedSwitchPreference pref = new RestrictedSwitchPreference(mContext);
-        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(pref);
-        mController.displayPreference(mScreen);
-        mController.updateState(pref);
-
-        mController.onPreferenceChange(pref, true);
-
-        assertTrue(channel.shouldShowLights());
-        verify(mBackend, times(1)).updateChannel(any(), anyInt(), any());
-    }
-
-    @Test
-    public void testOnPreferenceChange_off() {
-        NotificationChannel channel =
-                new NotificationChannel(DEFAULT_CHANNEL_ID, "a", IMPORTANCE_HIGH);
-        mController.onResume(new NotificationBackend.AppRow(), channel, null, null);
-
-        RestrictedSwitchPreference pref =
-                new RestrictedSwitchPreference(mContext);
-        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(pref);
-        mController.displayPreference(mScreen);
-        mController.updateState(pref);
-
-        mController.onPreferenceChange(pref, false);
-
-        assertFalse(channel.shouldShowLights());
-        verify(mBackend, times(1)).updateChannel(any(), anyInt(), any());
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/notification/MediaVolumePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/MediaVolumePreferenceControllerTest.java
index 657b352..7cfcaff 100644
--- a/tests/robotests/src/com/android/settings/notification/MediaVolumePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/MediaVolumePreferenceControllerTest.java
@@ -63,4 +63,9 @@
                 mContext);
         assertThat(controller.isSliceable()).isTrue();
     }
+
+    @Test
+    public void isPublicSlice_returnTrue() {
+        assertThat(mController.isPublicSlice()).isTrue();
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/notification/MinImportancePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/MinImportancePreferenceControllerTest.java
deleted file mode 100644
index b8ef7d1..0000000
--- a/tests/robotests/src/com/android/settings/notification/MinImportancePreferenceControllerTest.java
+++ /dev/null
@@ -1,227 +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.NotificationChannel.DEFAULT_CHANNEL_ID;
-import static android.app.NotificationManager.IMPORTANCE_LOW;
-import static android.app.NotificationManager.IMPORTANCE_MIN;
-import static android.app.NotificationManager.IMPORTANCE_NONE;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-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.NotificationChannel;
-import android.app.NotificationManager;
-import android.content.Context;
-import android.os.UserManager;
-
-import com.android.settingslib.RestrictedLockUtils;
-import com.android.settingslib.RestrictedSwitchPreference;
-
-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.RuntimeEnvironment;
-import org.robolectric.shadows.ShadowApplication;
-
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-
-@RunWith(RobolectricTestRunner.class)
-public class MinImportancePreferenceControllerTest {
-
-    private Context mContext;
-    @Mock
-    private NotificationManager mNm;
-    @Mock
-    private NotificationBackend mBackend;
-    @Mock
-    private NotificationSettingsBase.ImportanceListener mImportanceListener;
-    @Mock
-    private UserManager mUm;
-    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
-    private PreferenceScreen mScreen;
-
-    private MinImportancePreferenceController mController;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        ShadowApplication shadowApplication = ShadowApplication.getInstance();
-        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNm);
-        shadowApplication.setSystemService(Context.USER_SERVICE, mUm);
-        mContext = RuntimeEnvironment.application;
-        mController = spy(new MinImportancePreferenceController(
-                mContext, mImportanceListener, mBackend));
-    }
-
-    @Test
-    public void testNoCrashIfNoOnResume() {
-        mController.isAvailable();
-        mController.updateState(mock(Preference.class));
-    }
-
-    @Test
-    public void testIsAvailable_notIfNull() {
-        mController.onResume(null, null, null, null);
-        assertFalse(mController.isAvailable());
-    }
-
-    @Test
-    public void testIsAvailable_ifAppBlocked() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        appRow.banned = true;
-        mController.onResume(appRow, mock(NotificationChannel.class), null, null);
-        assertFalse(mController.isAvailable());
-    }
-
-    @Test
-    public void testIsAvailable_notIfChannelBlocked() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_NONE);
-        mController.onResume(appRow, channel, null, null);
-        assertFalse(mController.isAvailable());
-    }
-
-    @Test
-    public void testIsAvailable_notForDefaultChannel() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_LOW);
-        when(channel.getId()).thenReturn(DEFAULT_CHANNEL_ID);
-        mController.onResume(appRow, channel, null, null);
-        assertFalse(mController.isAvailable());
-    }
-
-    @Test
-    public void testIsAvailable() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_LOW);
-        mController.onResume(appRow, channel, null, null);
-        assertTrue(mController.isAvailable());
-    }
-
-    @Test
-    public void testUpdateState_disabledByAdmin() {
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_LOW);
-        mController.onResume(new NotificationBackend.AppRow(), channel, null, mock(
-                RestrictedLockUtils.EnforcedAdmin.class));
-
-        Preference pref = new RestrictedSwitchPreference(mContext, null);
-        mController.updateState(pref);
-
-        assertFalse(pref.isEnabled());
-    }
-
-    @Test
-    public void testUpdateState_notConfigurable() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.isImportanceLockedByOEM()).thenReturn(true);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_LOW);
-        mController.onResume(appRow, channel, null, null);
-
-        Preference pref = new RestrictedSwitchPreference(mContext, null);
-        mController.updateState(pref);
-
-        assertFalse(pref.isEnabled());
-    }
-
-    @Test
-    public void testUpdateState_systemButConfigurable() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        appRow.systemApp = true;
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.isImportanceLockedByOEM()).thenReturn(false);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_LOW);
-        mController.onResume(appRow, channel, null, null);
-
-        Preference pref = new RestrictedSwitchPreference(mContext, null);
-        mController.updateState(pref);
-
-        assertTrue(pref.isEnabled());
-    }
-
-    @Test
-    public void testUpdateState_defaultApp() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        appRow.systemApp = true;
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.isImportanceLockedByCriticalDeviceFunction()).thenReturn(true);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_LOW);
-        mController.onResume(appRow, channel, null, null);
-
-        Preference pref = new RestrictedSwitchPreference(mContext, null);
-        mController.updateState(pref);
-
-        assertTrue(pref.isEnabled());
-    }
-
-    @Test
-    public void testUpdateState_min() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = new NotificationChannel("", "", IMPORTANCE_MIN);
-        mController.onResume(appRow, channel, null, null);
-
-        RestrictedSwitchPreference pref = new RestrictedSwitchPreference(mContext);
-        mController.updateState(pref);
-
-        assertTrue(pref.isChecked());
-    }
-
-    @Test
-    public void testUpdateState_low() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = new NotificationChannel("", "", IMPORTANCE_LOW);
-        mController.onResume(appRow, channel, null, null);
-
-        RestrictedSwitchPreference pref = new RestrictedSwitchPreference(mContext);
-        mController.updateState(pref);
-
-        assertFalse(pref.isChecked());
-    }
-    
-    @Test
-    public void onPreferenceChange() {
-        NotificationChannel channel =
-                new NotificationChannel(DEFAULT_CHANNEL_ID, "a", IMPORTANCE_LOW);
-        mController.onResume(new NotificationBackend.AppRow(), channel, null, null);
-
-        RestrictedSwitchPreference pref = new RestrictedSwitchPreference(mContext, null);
-        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(pref);
-        mController.displayPreference(mScreen);
-        mController.updateState(pref);
-
-        mController.onPreferenceChange(pref, true);
-
-        assertEquals(IMPORTANCE_MIN, channel.getImportance());
-        verify(mImportanceListener, times(1)).onImportanceChanged();
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/notification/NotificationAccessSettingsTest.java b/tests/robotests/src/com/android/settings/notification/NotificationAccessSettingsTest.java
deleted file mode 100644
index cf476c1..0000000
--- a/tests/robotests/src/com/android/settings/notification/NotificationAccessSettingsTest.java
+++ /dev/null
@@ -1,59 +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 org.mockito.ArgumentMatchers.eq;
-import static org.mockito.ArgumentMatchers.nullable;
-import static org.mockito.Mockito.verify;
-
-import android.content.Context;
-
-import com.android.internal.logging.nano.MetricsProto;
-import com.android.settings.testutils.FakeFeatureFactory;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.RobolectricTestRunner;
-
-@RunWith(RobolectricTestRunner.class)
-public class NotificationAccessSettingsTest {
-
-    private FakeFeatureFactory mFeatureFactory;
-    private NotificationAccessSettings mFragment;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        mFeatureFactory = FakeFeatureFactory.setupForTest();
-        mFragment = new NotificationAccessSettings();
-    }
-
-    @Test
-    public void logSpecialPermissionChange() {
-        mFragment.logSpecialPermissionChange(true, "app");
-        verify(mFeatureFactory.metricsFeatureProvider).action(nullable(Context.class),
-                eq(MetricsProto.MetricsEvent.APP_SPECIAL_PERMISSION_NOTIVIEW_ALLOW),
-                eq("app"));
-
-        mFragment.logSpecialPermissionChange(false, "app");
-        verify(mFeatureFactory.metricsFeatureProvider).action(nullable(Context.class),
-                eq(MetricsProto.MetricsEvent.APP_SPECIAL_PERMISSION_NOTIVIEW_DENY),
-                eq("app"));
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/notification/NotificationAppPreferenceTest.java b/tests/robotests/src/com/android/settings/notification/NotificationAppPreferenceTest.java
deleted file mode 100644
index 4b2c74e..0000000
--- a/tests/robotests/src/com/android/settings/notification/NotificationAppPreferenceTest.java
+++ /dev/null
@@ -1,216 +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.notification;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
-
-import android.content.Context;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.widget.LinearLayout;
-import android.widget.Switch;
-
-import androidx.preference.Preference;
-import androidx.preference.PreferenceViewHolder;
-
-import com.android.settings.R;
-import com.android.settingslib.RestrictedLockUtils;
-
-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 NotificationAppPreferenceTest {
-
-    private Context mContext;
-
-    @Before
-    public void setUp() {
-        mContext = RuntimeEnvironment.application;
-    }
-
-    @Test
-    public void createNewPreference_shouldSetLayout() {
-        final NotificationAppPreference preference = new NotificationAppPreference(mContext);
-        assertThat(preference.getWidgetLayoutResource()).isEqualTo(
-                R.layout.preference_widget_master_switch);
-    }
-
-    @Test
-    public void setChecked_shouldUpdateButtonCheckedState() {
-        final NotificationAppPreference preference = new NotificationAppPreference(mContext);
-        final LayoutInflater inflater = LayoutInflater.from(mContext);
-        final PreferenceViewHolder holder = PreferenceViewHolder.createInstanceForTests(
-                inflater.inflate(R.layout.preference_app, null));
-        final LinearLayout widgetView = holder.itemView.findViewById(android.R.id.widget_frame);
-        inflater.inflate(R.layout.preference_widget_master_switch, widgetView, true);
-        final Switch toggle = (Switch) holder.findViewById(R.id.switchWidget);
-        preference.onBindViewHolder(holder);
-
-        preference.setChecked(true);
-        assertThat(toggle.isChecked()).isTrue();
-
-        preference.setChecked(false);
-        assertThat(toggle.isChecked()).isFalse();
-    }
-
-    @Test
-    public void setSwitchEnabled_shouldUpdateButtonEnabledState() {
-        final NotificationAppPreference preference = new NotificationAppPreference(mContext);
-        final LayoutInflater inflater = LayoutInflater.from(mContext);
-        final PreferenceViewHolder holder = PreferenceViewHolder.createInstanceForTests(
-                inflater.inflate(R.layout.preference_app, null));
-        final LinearLayout widgetView = holder.itemView.findViewById(android.R.id.widget_frame);
-        inflater.inflate(R.layout.preference_widget_master_switch, widgetView, true);
-        final Switch toggle = (Switch) holder.findViewById(R.id.switchWidget);
-        preference.onBindViewHolder(holder);
-
-        preference.setSwitchEnabled(true);
-        assertThat(toggle.isEnabled()).isTrue();
-
-        preference.setSwitchEnabled(false);
-        assertThat(toggle.isEnabled()).isFalse();
-    }
-
-    @Test
-    public void setSwitchEnabled_shouldUpdateButtonEnabledState_beforeViewBound() {
-        final NotificationAppPreference preference = new NotificationAppPreference(mContext);
-        final LayoutInflater inflater = LayoutInflater.from(mContext);
-        final PreferenceViewHolder holder = PreferenceViewHolder.createInstanceForTests(
-                inflater.inflate(R.layout.preference_app, null));
-        final LinearLayout widgetView = holder.itemView.findViewById(android.R.id.widget_frame);
-        inflater.inflate(R.layout.preference_widget_master_switch, widgetView, true);
-        final Switch toggle = (Switch) holder.findViewById(R.id.switchWidget);
-
-        preference.setSwitchEnabled(false);
-        preference.onBindViewHolder(holder);
-        assertThat(toggle.isEnabled()).isFalse();
-    }
-
-    @Test
-    public void clickWidgetView_shouldToggleButton() {
-        final NotificationAppPreference preference = new NotificationAppPreference(mContext);
-        final LayoutInflater inflater = LayoutInflater.from(mContext);
-        final PreferenceViewHolder holder = PreferenceViewHolder.createInstanceForTests(
-                inflater.inflate(R.layout.preference_app, null));
-        final LinearLayout widgetView = holder.itemView.findViewById(android.R.id.widget_frame);
-        assertThat(widgetView).isNotNull();
-
-        inflater.inflate(R.layout.preference_widget_master_switch, widgetView, true);
-        final Switch toggle = (Switch) holder.findViewById(R.id.switchWidget);
-        preference.onBindViewHolder(holder);
-
-        widgetView.performClick();
-        assertThat(toggle.isChecked()).isTrue();
-
-        widgetView.performClick();
-        assertThat(toggle.isChecked()).isFalse();
-    }
-
-    @Test
-    public void clickWidgetView_shouldNotToggleButtonIfDisabled() {
-        final NotificationAppPreference preference = new NotificationAppPreference(mContext);
-        final LayoutInflater inflater = LayoutInflater.from(mContext);
-        final PreferenceViewHolder holder = PreferenceViewHolder.createInstanceForTests(
-                inflater.inflate(R.layout.preference_app, null));
-        final LinearLayout widgetView = holder.itemView.findViewById(android.R.id.widget_frame);
-        assertThat(widgetView).isNotNull();
-
-        inflater.inflate(R.layout.preference_widget_master_switch, widgetView, true);
-        final Switch toggle = (Switch) holder.findViewById(R.id.switchWidget);
-        preference.onBindViewHolder(holder);
-        toggle.setEnabled(false);
-
-        widgetView.performClick();
-        assertThat(toggle.isChecked()).isFalse();
-    }
-
-    @Test
-    public void clickWidgetView_shouldNotifyPreferenceChanged() {
-        final NotificationAppPreference preference = new NotificationAppPreference(mContext);
-        final PreferenceViewHolder holder = PreferenceViewHolder.createInstanceForTests(
-                LayoutInflater.from(mContext).inflate(R.layout.preference_app, null));
-        final View widgetView = holder.findViewById(android.R.id.widget_frame);
-        final Preference.OnPreferenceChangeListener
-                listener = mock(Preference.OnPreferenceChangeListener.class);
-        preference.setOnPreferenceChangeListener(listener);
-        preference.onBindViewHolder(holder);
-
-        preference.setChecked(false);
-        widgetView.performClick();
-        verify(listener).onPreferenceChange(preference, true);
-
-        preference.setChecked(true);
-        widgetView.performClick();
-        verify(listener).onPreferenceChange(preference, false);
-    }
-
-    @Test
-    public void setDisabledByAdmin_hasEnforcedAdmin_shouldDisableButton() {
-        final NotificationAppPreference preference = new NotificationAppPreference(mContext);
-        final LayoutInflater inflater = LayoutInflater.from(mContext);
-        final PreferenceViewHolder holder = PreferenceViewHolder.createInstanceForTests(
-                inflater.inflate(R.layout.preference_app, null));
-        final LinearLayout widgetView = holder.itemView.findViewById(android.R.id.widget_frame);
-        inflater.inflate(R.layout.preference_widget_master_switch, widgetView, true);
-        final Switch toggle = (Switch) holder.findViewById(R.id.switchWidget);
-        toggle.setEnabled(true);
-        preference.onBindViewHolder(holder);
-
-        preference.setDisabledByAdmin(mock(RestrictedLockUtils.EnforcedAdmin.class));
-        assertThat(toggle.isEnabled()).isFalse();
-    }
-
-    @Test
-    public void setDisabledByAdmin_noEnforcedAdmin_shouldEnableButton() {
-        final NotificationAppPreference preference = new NotificationAppPreference(mContext);
-        final LayoutInflater inflater = LayoutInflater.from(mContext);
-        final PreferenceViewHolder holder = PreferenceViewHolder.createInstanceForTests(
-                inflater.inflate(R.layout.preference_app, null));
-        final LinearLayout widgetView = holder.itemView.findViewById(android.R.id.widget_frame);
-        inflater.inflate(R.layout.preference_widget_master_switch, widgetView, true);
-        final Switch toggle = (Switch) holder.findViewById(R.id.switchWidget);
-        toggle.setEnabled(false);
-        preference.onBindViewHolder(holder);
-
-        preference.setDisabledByAdmin(null);
-        assertThat(toggle.isEnabled()).isTrue();
-    }
-
-    @Test
-    public void onBindViewHolder_toggleButtonShouldHaveContentDescription() {
-        final NotificationAppPreference preference = new NotificationAppPreference(mContext);
-        final LayoutInflater inflater = LayoutInflater.from(mContext);
-        final PreferenceViewHolder holder = PreferenceViewHolder.createInstanceForTests(
-                inflater.inflate(R.layout.preference_app, null));
-        final LinearLayout widgetView = holder.itemView.findViewById(android.R.id.widget_frame);
-        inflater.inflate(R.layout.preference_widget_master_switch, widgetView, true);
-        final Switch toggle = (Switch) holder.findViewById(R.id.switchWidget);
-        final String label = "TestButton";
-        preference.setTitle(label);
-
-        preference.onBindViewHolder(holder);
-
-        assertThat(toggle.getContentDescription()).isEqualTo(label);
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/notification/NotificationHistoryPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/NotificationHistoryPreferenceControllerTest.java
new file mode 100644
index 0000000..249fa17
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/NotificationHistoryPreferenceControllerTest.java
@@ -0,0 +1,139 @@
+/*
+ * 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.notification;
+
+import static android.provider.Settings.Secure.NOTIFICATION_HISTORY_ENABLED;
+
+import static com.android.settings.notification.NotificationHistoryPreferenceController.OFF;
+import static com.android.settings.notification.NotificationHistoryPreferenceController.ON;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.provider.Settings;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+import androidx.preference.TwoStatePreference;
+
+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.RuntimeEnvironment;
+
+@RunWith(RobolectricTestRunner.class)
+public class NotificationHistoryPreferenceControllerTest {
+
+    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
+    private Context mContext;
+    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
+    private PreferenceScreen mScreen;
+
+    private NotificationHistoryPreferenceController mController;
+    private Preference mPreference;
+
+    private static final String KEY = "notification_history";
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mController = new NotificationHistoryPreferenceController(mContext, KEY);
+        mPreference = new Preference(RuntimeEnvironment.application);
+        mPreference.setKey(mController.getPreferenceKey());
+        when(mScreen.findPreference(mPreference.getKey())).thenReturn(mPreference);
+    }
+
+    @Test
+    public void testIsVisible() {
+        mController.displayPreference(mScreen);
+
+        assertThat(mPreference.isVisible()).isTrue();
+    }
+
+    @Test
+    public void updateState_preferenceSetCheckedWhenSettingIsOn() {
+        final TwoStatePreference preference = mock(TwoStatePreference.class);
+        final Context context = RuntimeEnvironment.application;
+        Settings.Secure.putInt(context.getContentResolver(), NOTIFICATION_HISTORY_ENABLED, ON);
+
+        mController = new NotificationHistoryPreferenceController(context, KEY);
+        mController.updateState(preference);
+
+        verify(preference).setChecked(true);
+    }
+
+    @Test
+    public void updateState_preferenceSetUncheckedWhenSettingIsOff() {
+        final TwoStatePreference preference = mock(TwoStatePreference.class);
+        final Context context = RuntimeEnvironment.application;
+        Settings.Secure.putInt(context.getContentResolver(), NOTIFICATION_HISTORY_ENABLED, OFF);
+
+        mController = new NotificationHistoryPreferenceController(context, KEY);
+        mController.updateState(preference);
+
+        verify(preference).setChecked(false);
+    }
+
+    @Test
+    public void isChecked_settingIsOff_shouldReturnFalse() {
+        Settings.Secure.putInt(mContext.getContentResolver(), NOTIFICATION_HISTORY_ENABLED, OFF);
+
+        assertThat(mController.isChecked()).isFalse();
+    }
+
+    @Test
+    public void isChecked_settingIsOn_shouldReturnTrue() {
+        Settings.Secure.putInt(mContext.getContentResolver(), NOTIFICATION_HISTORY_ENABLED, ON);
+
+        assertThat(mController.isChecked()).isTrue();
+    }
+
+    @Test
+    public void setChecked_setFalse_disablesSetting() {
+        Settings.Secure.putInt(mContext.getContentResolver(), NOTIFICATION_HISTORY_ENABLED, ON);
+
+        mController.setChecked(false);
+        int updatedValue = Settings.Secure.getInt(mContext.getContentResolver(),
+                NOTIFICATION_HISTORY_ENABLED, -1);
+
+        assertThat(updatedValue).isEqualTo(OFF);
+    }
+
+    @Test
+    public void setChecked_setTrue_enablesSetting() {
+        Settings.Secure.putInt(mContext.getContentResolver(), NOTIFICATION_HISTORY_ENABLED, OFF);
+
+        mController.setChecked(true);
+        int updatedValue = Settings.Secure.getInt(mContext.getContentResolver(),
+                NOTIFICATION_HISTORY_ENABLED, -1);
+
+        assertThat(updatedValue).isEqualTo(ON);
+    }
+
+    @Test
+    public void isSliceable_returnsFalse() {
+        assertThat(mController.isSliceable()).isFalse();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/NotificationPeopleStripPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/NotificationPeopleStripPreferenceControllerTest.java
new file mode 100644
index 0000000..786ffb3
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/NotificationPeopleStripPreferenceControllerTest.java
@@ -0,0 +1,124 @@
+/*
+ * 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.notification;
+
+import static android.provider.Settings.Secure.PEOPLE_STRIP;
+
+import static com.android.settings.notification.NotificationPeopleStripPreferenceController.OFF;
+import static com.android.settings.notification.NotificationPeopleStripPreferenceController.ON;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.provider.Settings;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+import androidx.preference.TwoStatePreference;
+
+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.RuntimeEnvironment;
+
+@RunWith(RobolectricTestRunner.class)
+public class NotificationPeopleStripPreferenceControllerTest {
+
+    private static final String KEY_PEOPLE_STRIP = "notification_people_strip";
+
+    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
+    private Context mContext;
+    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
+    private PreferenceScreen mScreen;
+
+    private NotificationPeopleStripPreferenceController mController;
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+        mController = new NotificationPeopleStripPreferenceController(mContext, KEY_PEOPLE_STRIP);
+        Preference preference = new Preference(RuntimeEnvironment.application);
+        preference.setKey(mController.getPreferenceKey());
+        when(mScreen.findPreference(preference.getKey())).thenReturn(preference);
+    }
+
+    @Test
+    public void updateState_preferenceSetCheckedWhenSettingIsOn() {
+        final TwoStatePreference preference = mock(TwoStatePreference.class);
+        final Context context = RuntimeEnvironment.application;
+        Settings.Secure.putInt(context.getContentResolver(), PEOPLE_STRIP, ON);
+
+        mController = new NotificationPeopleStripPreferenceController(context, KEY_PEOPLE_STRIP);
+        mController.updateState(preference);
+
+        verify(preference).setChecked(true);
+    }
+
+    @Test
+    public void updateState_preferenceSetUncheckedWhenSettingIsOff() {
+        final TwoStatePreference preference = mock(TwoStatePreference.class);
+        final Context context = RuntimeEnvironment.application;
+        Settings.Secure.putInt(context.getContentResolver(), PEOPLE_STRIP, OFF);
+
+        mController = new NotificationPeopleStripPreferenceController(context, KEY_PEOPLE_STRIP);
+        mController.updateState(preference);
+
+        verify(preference).setChecked(false);
+    }
+
+    @Test
+    public void isChecked_settingIsOff_shouldReturnFalse() {
+        Settings.Secure.putInt(mContext.getContentResolver(), PEOPLE_STRIP, OFF);
+
+        assertThat(mController.isChecked()).isFalse();
+    }
+
+    @Test
+    public void isChecked_settingIsOn_shouldReturnTrue() {
+        Settings.Secure.putInt(mContext.getContentResolver(), PEOPLE_STRIP, ON);
+
+        assertThat(mController.isChecked()).isTrue();
+    }
+
+    @Test
+    public void setChecked_setFalse_disablesSetting() {
+        Settings.Secure.putInt(mContext.getContentResolver(), PEOPLE_STRIP, ON);
+
+        mController.setChecked(false);
+        int updatedValue = Settings.Secure.getInt(mContext.getContentResolver(), PEOPLE_STRIP, -1);
+
+        assertThat(updatedValue).isEqualTo(OFF);
+    }
+
+    @Test
+    public void setChecked_setTrue_enablesSetting() {
+        Settings.Secure.putInt(mContext.getContentResolver(), PEOPLE_STRIP, OFF);
+
+        mController.setChecked(true);
+        int updatedValue = Settings.Secure.getInt(mContext.getContentResolver(), PEOPLE_STRIP, -1);
+
+        assertThat(updatedValue).isEqualTo(ON);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/NotificationPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/NotificationPreferenceControllerTest.java
deleted file mode 100644
index b024cee..0000000
--- a/tests/robotests/src/com/android/settings/notification/NotificationPreferenceControllerTest.java
+++ /dev/null
@@ -1,371 +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 android.app.NotificationManager.IMPORTANCE_HIGH;
-import static android.app.NotificationManager.IMPORTANCE_LOW;
-import static android.app.NotificationManager.IMPORTANCE_MIN;
-import static android.app.NotificationManager.IMPORTANCE_NONE;
-import static android.app.NotificationManager.IMPORTANCE_UNSPECIFIED;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import static org.mockito.ArgumentMatchers.anyInt;
-import static org.mockito.Mockito.any;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.app.NotificationChannel;
-import android.app.NotificationChannelGroup;
-import android.app.NotificationManager;
-import android.content.Context;
-import android.os.UserManager;
-
-import androidx.preference.Preference;
-
-import com.android.settingslib.RestrictedLockUtils;
-
-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.RuntimeEnvironment;
-import org.robolectric.shadows.ShadowApplication;
-
-@RunWith(RobolectricTestRunner.class)
-public class NotificationPreferenceControllerTest {
-
-    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
-    private Context mContext;
-    @Mock
-    private NotificationBackend mBackend;
-    @Mock
-    private NotificationManager mNm;
-    @Mock
-    private UserManager mUm;
-
-    private TestPreferenceController mController;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        ShadowApplication shadowApplication = ShadowApplication.getInstance();
-        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNm);
-        shadowApplication.setSystemService(Context.USER_SERVICE, mUm);
-        mContext = RuntimeEnvironment.application;
-        mController = new TestPreferenceController(mContext, mBackend);
-    }
-
-    @Test
-    public void noCrashIfNoOnResume() {
-        mController.isAvailable();
-        mController.updateState(mock(Preference.class));
-        assertFalse(mController.checkCanBeVisible(IMPORTANCE_UNSPECIFIED));
-        mController.saveChannel();
-        assertFalse(mController.isChannelBlockable());
-        assertFalse(mController.isChannelGroupBlockable());
-    }
-
-    @Test
-    public void isAvailable_notIfNull() {
-        mController.onResume(null, null, null, null);
-        assertFalse(mController.isAvailable());
-    }
-
-    @Test
-    public void isAvailable_notIfAppBlocked() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        appRow.banned = true;
-        mController.onResume(appRow, mock(NotificationChannel.class),
-                mock(NotificationChannelGroup.class), null);
-        assertFalse(mController.isAvailable());
-    }
-
-    @Test
-    public void isAvailable_notIfChannelBlocked() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannelGroup group = mock(NotificationChannelGroup.class);
-        when(group.isBlocked()).thenReturn(false);
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_NONE);
-
-        mController.onResume(appRow, channel, group, null);
-        assertFalse(mController.isAvailable());
-    }
-
-    @Test
-    public void isAvailable_notIfChannelGroupBlocked() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_DEFAULT);
-        NotificationChannelGroup group = mock(NotificationChannelGroup.class);
-
-        mController.onResume(appRow, channel, group, null);
-        when(group.isBlocked()).thenReturn(true);
-        assertFalse(mController.isAvailable());
-    }
-
-    @Test
-    public void isAvailable() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_DEFAULT);
-        NotificationChannelGroup group = mock(NotificationChannelGroup.class);
-        when(group.isBlocked()).thenReturn(false);
-
-        mController.onResume(appRow, channel, group, null);
-        assertTrue(mController.isAvailable());
-    }
-
-    @Test
-    public void testOnResume() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = mock(NotificationChannel.class);
-        NotificationChannelGroup group = mock(NotificationChannelGroup.class);
-        RestrictedLockUtils.EnforcedAdmin admin = mock(RestrictedLockUtils.EnforcedAdmin.class);
-
-        mController.onResume(appRow, channel, group, admin);
-
-        assertEquals(appRow, mController.mAppRow);
-        assertEquals(channel, mController.mChannel);
-        assertEquals(group, mController.mChannelGroup);
-        assertEquals(admin, mController.mAdmin);
-    }
-
-    @Test
-    public void testCanBeVisible_unspecified() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_UNSPECIFIED);
-
-        mController.onResume(appRow, channel, null, null);
-        assertTrue(mController.checkCanBeVisible(IMPORTANCE_MIN));
-    }
-
-    @Test
-    public void testCanBeVisible_sameImportance() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_LOW);
-
-        mController.onResume(appRow, channel, null, null);
-        assertTrue(mController.checkCanBeVisible(IMPORTANCE_LOW));
-    }
-
-    @Test
-    public void testCanBeVisible_greaterImportance() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_LOW);
-
-        mController.onResume(appRow, channel, null, null);
-        assertTrue(mController.checkCanBeVisible(IMPORTANCE_MIN));
-    }
-
-    @Test
-    public void testCanBeVisible_lesserImportance() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_LOW);
-
-        mController.onResume(appRow, channel, null, null);
-        assertFalse(mController.checkCanBeVisible(IMPORTANCE_DEFAULT));
-    }
-
-    @Test
-    public void testSaveImportance() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_DEFAULT);
-
-        mController.onResume(appRow, channel, null, null);
-        mController.saveChannel();
-        verify(mBackend, times(1)).updateChannel(any(), anyInt(), any());
-    }
-
-    @Test
-    public void testIsBlockable_oemWhitelist() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.isImportanceLockedByOEM()).thenReturn(true);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_LOW);
-
-        mController.onResume(appRow, channel, null, null);
-        assertFalse(mController.isChannelBlockable());
-
-        when(channel.isImportanceLockedByOEM()).thenReturn(false);
-        mController.onResume(appRow, channel, null, null);
-        assertTrue(mController.isChannelBlockable());
-    }
-
-    @Test
-    public void testIsBlockable_defaultApp() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_LOW);
-        when(channel.isImportanceLockedByCriticalDeviceFunction()).thenReturn(true);
-
-        mController.onResume(appRow, channel, null, null);
-        assertFalse(mController.isChannelBlockable());
-    }
-
-    @Test
-    public void testIsChannelBlockable_nonSystemAppsBlockable() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        appRow.systemApp = false;
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.isBlockableSystem()).thenReturn(false);
-
-        mController.onResume(appRow, channel, null, null);
-        assertTrue(mController.isChannelBlockable());
-    }
-
-    @Test
-    public void testIsChannelBlockable_mostSystemAppsNotBlockable() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        appRow.systemApp = true;
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.isBlockableSystem()).thenReturn(false);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH);
-
-        mController.onResume(appRow, channel, null, null);
-        assertFalse(mController.isChannelBlockable());
-    }
-
-    @Test
-    public void testIsChannelBlockable_someSystemAppsAreBlockable() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        appRow.systemApp = true;
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.isBlockableSystem()).thenReturn(true);
-
-        mController.onResume(appRow, channel, null, null);
-        assertTrue(mController.isChannelBlockable());
-    }
-
-    @Test
-    public void testIsChannelBlockable_canUndoSystemBlock() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        appRow.systemApp = true;
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.isBlockableSystem()).thenReturn(false);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_NONE);
-
-        mController.onResume(appRow, channel, null, null);
-        assertTrue(mController.isChannelBlockable());
-    }
-
-    @Test
-    public void testIsChannelGroupBlockable_nonSystemBlockable() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        appRow.systemApp = false;
-        NotificationChannelGroup group = mock(NotificationChannelGroup.class);
-        when(group.isBlocked()).thenReturn(false);
-
-        mController.onResume(appRow, null, group, null);
-        assertTrue(mController.isChannelGroupBlockable());
-    }
-
-    @Test
-    public void testIsChannelBlockable_oemLocked() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        appRow.systemApp = false;
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.isImportanceLockedByOEM()).thenReturn(true);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_DEFAULT);
-
-        mController.onResume(appRow, channel, null, null);
-        assertFalse(mController.isChannelBlockable());
-    }
-
-    @Test
-    public void testIsChannelBlockable_criticalDeviceFunction() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        appRow.systemApp = false;
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.isImportanceLockedByCriticalDeviceFunction()).thenReturn(true);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_DEFAULT);
-
-        mController.onResume(appRow, channel, null, null);
-        assertFalse(mController.isChannelBlockable());
-    }
-
-    @Test
-    public void testIsChannelGroupBlockable_SystemNotBlockable() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        appRow.systemApp = true;
-        NotificationChannelGroup group = mock(NotificationChannelGroup.class);
-        when(group.isBlocked()).thenReturn(false);
-
-        mController.onResume(appRow, null, group, null);
-        assertFalse(mController.isChannelGroupBlockable());
-    }
-
-    @Test
-    public void testIsChannelGroupBlockable_canUndoSystemBlock() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        appRow.systemApp = true;
-        NotificationChannelGroup group = mock(NotificationChannelGroup.class);
-        when(group.isBlocked()).thenReturn(true);
-
-        mController.onResume(appRow, null, group, null);
-        assertTrue(mController.isChannelGroupBlockable());
-    }
-
-    @Test
-    public void testIsDefaultChannel_noChannel() {
-        mController.onResume(mock(NotificationBackend.AppRow.class), null, null, null);
-
-        assertFalse(mController.isDefaultChannel());
-    }
-
-    @Test
-    public void testIsDefaultChannel_nonDefaultChannel() {
-        NotificationChannel channel = mock(NotificationChannel.class);
-        mController.onResume(mock(NotificationBackend.AppRow.class), channel, null, null);
-
-        assertFalse(mController.isDefaultChannel());
-    }
-
-    @Test
-    public void testIsDefaultChannel() {
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getId()).thenReturn(NotificationChannel.DEFAULT_CHANNEL_ID);
-        mController.onResume(mock(NotificationBackend.AppRow.class), channel, null, null);
-
-        assertTrue(mController.isDefaultChannel());
-    }
-
-    private final class TestPreferenceController extends NotificationPreferenceController {
-
-        private TestPreferenceController(Context context, NotificationBackend backend) {
-            super(context, backend);
-        }
-
-        @Override
-        public String getPreferenceKey() {
-            return null;
-        }
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/notification/NotificationVolumePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/NotificationVolumePreferenceControllerTest.java
index 8e1b015..fe4744f 100644
--- a/tests/robotests/src/com/android/settings/notification/NotificationVolumePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/NotificationVolumePreferenceControllerTest.java
@@ -102,4 +102,9 @@
                 new NotificationVolumePreferenceController(mContext);
         assertThat(controller.isSliceable()).isTrue();
     }
+
+    @Test
+    public void isPublicSlice_returnTrue() {
+        assertThat(mController.isPublicSlice()).isTrue();
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/notification/NotificationsOffPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/NotificationsOffPreferenceControllerTest.java
deleted file mode 100644
index 1f317d9..0000000
--- a/tests/robotests/src/com/android/settings/notification/NotificationsOffPreferenceControllerTest.java
+++ /dev/null
@@ -1,135 +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_NONE;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.when;
-
-import android.app.NotificationChannel;
-import android.app.NotificationChannelGroup;
-import android.app.NotificationManager;
-import android.content.Context;
-import android.os.UserManager;
-
-import androidx.preference.Preference;
-
-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 org.robolectric.shadows.ShadowApplication;
-
-@RunWith(RobolectricTestRunner.class)
-public class NotificationsOffPreferenceControllerTest {
-
-    @Mock
-    private NotificationManager mNm;
-    @Mock
-    private UserManager mUm;
-
-    private NotificationsOffPreferenceController mController;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        ShadowApplication shadowApplication = ShadowApplication.getInstance();
-        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNm);
-        shadowApplication.setSystemService(Context.USER_SERVICE, mUm);
-        mController = spy(new NotificationsOffPreferenceController(RuntimeEnvironment.application));
-    }
-
-    @Test
-    public void testNoCrashIfNoOnResume() {
-        mController.isAvailable();
-        mController.updateState(mock(Preference.class));
-    }
-
-    @Test
-    public void testIsAvailable_yesIfAppBlocked() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        appRow.banned = true;
-        mController.onResume(appRow, null, null, null);
-        assertThat(mController.isAvailable()).isTrue();
-    }
-
-    @Test
-    public void testIsAvailable_yesIfChannelGroupBlocked() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannelGroup group = mock(NotificationChannelGroup.class);
-        when(group.isBlocked()).thenReturn(true);
-        mController.onResume(appRow, null, group, null);
-        assertThat(mController.isAvailable()).isTrue();
-    }
-
-    @Test
-    public void testIsAvailable_yesIfChannelBlocked() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_NONE);
-        mController.onResume(appRow, channel, null, null);
-        assertThat(mController.isAvailable()).isTrue();
-    }
-
-    @Test
-    public void testUpdateState_channel() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getImportance()).thenReturn(IMPORTANCE_NONE);
-        mController.onResume(appRow, channel, null, null);
-
-        Preference pref = new Preference(RuntimeEnvironment.application);
-        mController.updateState(pref);
-
-        assertThat(pref.getTitle().toString()).contains("category");
-        assertThat(pref.isSelectable()).isFalse();
-    }
-
-    @Test
-    public void testUpdateState_channelGroup() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannelGroup group = mock(NotificationChannelGroup.class);
-        when(group.isBlocked()).thenReturn(true);
-        mController.onResume(appRow, null, group, null);
-
-        Preference pref = new Preference(RuntimeEnvironment.application);
-        mController.updateState(pref);
-
-        assertThat(pref.getTitle().toString()).contains("group");
-        assertThat(pref.isSelectable()).isFalse();
-    }
-
-    @Test
-    public void testUpdateState_app() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        appRow.banned = true;
-        mController.onResume(appRow, null, null, null);
-
-        Preference pref = new Preference(RuntimeEnvironment.application);
-        mController.updateState(pref);
-
-        assertThat(pref.getTitle().toString()).contains("app");
-        assertThat(pref.isSelectable()).isFalse();
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/notification/RemoteVolumeGroupControllerTest.java b/tests/robotests/src/com/android/settings/notification/RemoteVolumeGroupControllerTest.java
new file mode 100644
index 0000000..d81f30f
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/RemoteVolumeGroupControllerTest.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.notification;
+
+import static com.android.settings.core.BasePreferenceController.AVAILABLE_UNSEARCHABLE;
+import static com.android.settings.core.BasePreferenceController.CONDITIONALLY_UNAVAILABLE;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.content.SharedPreferences;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceCategory;
+import androidx.preference.PreferenceManager;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settings.testutils.shadow.ShadowBluetoothAdapter;
+import com.android.settings.widget.SeekBarPreference;
+import com.android.settingslib.media.LocalMediaManager;
+import com.android.settingslib.media.MediaDevice;
+
+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 org.robolectric.annotation.Config;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(shadows = {ShadowBluetoothAdapter.class})
+public class RemoteVolumeGroupControllerTest {
+
+    private static final String KEY_REMOTE_VOLUME_GROUP = "remote_media_group";
+    private static final String TEST_PACKAGE_LABEL = "music";
+    private static final String TEST_DEVICE_1_ID = "test_device_1_id";
+    private static final String TEST_DEVICE_1_NAME = "test_device_1_name";
+    private static final int CURRENT_VOLUME = 30;
+    private static final int MAX_VOLUME = 100;
+
+    @Mock
+    private LocalMediaManager mLocalMediaManager;
+    @Mock
+    private MediaDevice mDevice;
+    @Mock
+    private PreferenceScreen mScreen;
+    @Mock
+    private PreferenceManager mPreferenceManager;
+    @Mock
+    private SharedPreferences mSharedPreferences;
+
+    private final List<MediaDevice> mDevices = new ArrayList<>();
+
+    private Context mContext;
+    private RemoteVolumeGroupController mController;
+    private PreferenceCategory mPreferenceCategory;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mContext = RuntimeEnvironment.application;
+        mController = new RemoteVolumeGroupController(mContext, KEY_REMOTE_VOLUME_GROUP);
+        mController.mLocalMediaManager = mLocalMediaManager;
+        mPreferenceCategory = spy(new PreferenceCategory(mContext));
+        mPreferenceCategory.setKey(mController.getPreferenceKey());
+
+        when(mPreferenceCategory.getPreferenceManager()).thenReturn(mPreferenceManager);
+        when(mPreferenceManager.getSharedPreferences()).thenReturn(mSharedPreferences);
+        when(mLocalMediaManager.getActiveMediaDevice(
+                MediaDevice.MediaDeviceType.TYPE_CAST_DEVICE)).thenReturn(mDevices);
+        when(mDevice.getId()).thenReturn(TEST_DEVICE_1_ID);
+        when(mDevice.getName()).thenReturn(TEST_DEVICE_1_NAME);
+        when(mDevice.getMaxVolume()).thenReturn(MAX_VOLUME);
+        when(mDevice.getCurrentVolume()).thenReturn(CURRENT_VOLUME);
+        when(mDevice.getClientAppLabel()).thenReturn(TEST_PACKAGE_LABEL);
+        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(
+                mPreferenceCategory);
+    }
+
+    @Test
+    public void getAvailabilityStatus_withActiveDevice_returnAvailableUnsearchable() {
+        mDevices.add(mDevice);
+        mController.displayPreference(mScreen);
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE_UNSEARCHABLE);
+    }
+
+    @Test
+    public void getAvailabilityStatus_noActiveDevice_returnConditionallyUnavailable() {
+        mController.displayPreference(mScreen);
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
+    }
+
+    @Test
+    public void displayPreference_noActiveDevice_checkPreferenceCount() {
+        mController.displayPreference(mScreen);
+
+        assertThat(mPreferenceCategory.getPreferenceCount()).isEqualTo(0);
+    }
+
+    @Test
+    public void displayPreference_withActiveDevice_checkPreferenceCount() {
+        mDevices.add(mDevice);
+        mController.displayPreference(mScreen);
+
+        assertThat(mPreferenceCategory.getPreferenceCount()).isEqualTo(2);
+    }
+
+    @Test
+    public void displayPreference_withActiveDevice_checkSeekBarTitle() {
+        mDevices.add(mDevice);
+        mController.displayPreference(mScreen);
+        final Preference preference = mPreferenceCategory.findPreference(TEST_DEVICE_1_ID);
+
+        assertThat(preference.getTitle()).isEqualTo(mContext.getText(
+                R.string.remote_media_volume_option_title) + " (" + TEST_PACKAGE_LABEL + ")");
+    }
+
+    @Test
+    public void displayPreference_withActiveDevice_checkSeekBarMaxVolume() {
+        mDevices.add(mDevice);
+        mController.displayPreference(mScreen);
+        final SeekBarPreference preference = mPreferenceCategory.findPreference(TEST_DEVICE_1_ID);
+
+        assertThat(preference.getMax()).isEqualTo(MAX_VOLUME);
+    }
+
+    @Test
+    public void displayPreference_withActiveDevice_checkSeekBarCurrentVolume() {
+        mDevices.add(mDevice);
+        mController.displayPreference(mScreen);
+        final SeekBarPreference preference = mPreferenceCategory.findPreference(TEST_DEVICE_1_ID);
+
+        assertThat(preference.getProgress()).isEqualTo(CURRENT_VOLUME);
+    }
+
+    @Test
+    public void displayPreference_withActiveDevice_checkSwitcherPreferenceTitle() {
+        mDevices.add(mDevice);
+        mController.displayPreference(mScreen);
+        final Preference preference = mPreferenceCategory.findPreference(
+                RemoteVolumeGroupController.SWITCHER_PREFIX + TEST_DEVICE_1_ID);
+
+        assertThat(preference.getTitle()).isEqualTo(mContext.getText(R.string.media_output_title));
+    }
+
+    @Test
+    public void displayPreference_withActiveDevice_checkSwitcherPreferenceSummary() {
+        mDevices.add(mDevice);
+        mController.displayPreference(mScreen);
+        final Preference preference = mPreferenceCategory.findPreference(
+                RemoteVolumeGroupController.SWITCHER_PREFIX + TEST_DEVICE_1_ID);
+
+        assertThat(preference.getSummary()).isEqualTo(TEST_DEVICE_1_NAME);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/RemoteVolumePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/RemoteVolumePreferenceControllerTest.java
deleted file mode 100644
index 175599a..0000000
--- a/tests/robotests/src/com/android/settings/notification/RemoteVolumePreferenceControllerTest.java
+++ /dev/null
@@ -1,221 +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.notification;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.content.Context;
-import android.media.session.ISessionController;
-import android.media.session.MediaController;
-import android.media.session.MediaSession;
-import android.media.session.MediaSessionManager;
-
-import com.android.settings.R;
-import com.android.settings.core.BasePreferenceController;
-
-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.RuntimeEnvironment;
-
-import java.util.ArrayList;
-import java.util.List;
-
-@RunWith(RobolectricTestRunner.class)
-public class RemoteVolumePreferenceControllerTest {
-    private static final int CURRENT_POS = 5;
-    private static final int MAX_POS = 10;
-
-    @Mock
-    private MediaSessionManager mMediaSessionManager;
-    @Mock
-    private MediaController mMediaController;
-    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
-    private ISessionController mStub;
-    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
-    private ISessionController mStub2;
-    private MediaSession.Token mToken;
-    private MediaSession.Token mToken2;
-    private RemoteVolumePreferenceController mController;
-    private Context mContext;
-    private List<MediaController> mActiveSessions;
-    private MediaController.PlaybackInfo mPlaybackInfo;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-
-        mContext = spy(RuntimeEnvironment.application);
-        when(mContext.getSystemService(MediaSessionManager.class)).thenReturn(mMediaSessionManager);
-        mActiveSessions = new ArrayList<>();
-        mActiveSessions.add(mMediaController);
-        when(mMediaSessionManager.getActiveSessions(null)).thenReturn(
-                mActiveSessions);
-        mToken = new MediaSession.Token(mStub);
-        mToken2 = new MediaSession.Token(mStub2);
-
-        mController = new RemoteVolumePreferenceController(mContext);
-        mPlaybackInfo = new MediaController.PlaybackInfo(
-                MediaController.PlaybackInfo.PLAYBACK_TYPE_REMOTE, 0, MAX_POS, CURRENT_POS, null);
-        when(mMediaController.getPlaybackInfo()).thenReturn(mPlaybackInfo);
-        when(mMediaController.getSessionToken()).thenReturn(mToken);
-    }
-
-    @Test
-    public void getActiveRemoteToken_containRemoteMedia_returnToken() {
-        when(mMediaController.getPlaybackInfo()).thenReturn(
-                new MediaController.PlaybackInfo(MediaController.PlaybackInfo.PLAYBACK_TYPE_REMOTE,
-                        0, 0, 0, null));
-        assertThat(mController.getActiveRemoteToken(mContext)).isEqualTo(mToken);
-    }
-
-    @Test
-    public void getActiveRemoteToken_noRemoteMedia_returnNull() {
-        when(mMediaController.getPlaybackInfo()).thenReturn(
-                new MediaController.PlaybackInfo(MediaController.PlaybackInfo.PLAYBACK_TYPE_LOCAL,
-                        0, 0, 0, null));
-        assertThat(mController.getActiveRemoteToken(mContext)).isNull();
-    }
-
-    @Test
-    public void isAvailable_returnAvailableUnsearchable() {
-        assertThat(mController.isAvailable()).isTrue();
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(
-                BasePreferenceController.AVAILABLE_UNSEARCHABLE);
-    }
-
-    @Test
-    public void getMuteIcon_returnMuteIcon() {
-        assertThat(mController.getMuteIcon()).isEqualTo(R.drawable.ic_volume_remote_mute);
-    }
-
-    @Test
-    public void getAudioStream_returnRemoteVolume() {
-        assertThat(mController.getAudioStream()).isEqualTo(
-                RemoteVolumePreferenceController.REMOTE_VOLUME);
-    }
-
-    @Test
-    public void getSliderPosition_controllerNull_returnZero() {
-        mController.mMediaController = null;
-
-        assertThat(mController.getSliderPosition()).isEqualTo(0);
-    }
-
-    @Test
-    public void getSliderPosition_controllerExists_returnValue() {
-        mController.mMediaController = mMediaController;
-
-        assertThat(mController.getSliderPosition()).isEqualTo(CURRENT_POS);
-    }
-
-    @Test
-    public void getMinValue_controllerNull_returnZero() {
-        mController.mMediaController = null;
-
-        assertThat(mController.getMin()).isEqualTo(0);
-    }
-
-    @Test
-    public void getMinValue_controllerExists_returnValue() {
-        mController.mMediaController = mMediaController;
-
-        assertThat(mController.getMin()).isEqualTo(0);
-    }
-
-    @Test
-    public void getMaxValue_controllerNull_returnZero() {
-        mController.mMediaController = null;
-
-        assertThat(mController.getMax()).isEqualTo(0);
-    }
-
-    @Test
-    public void getMaxValue_controllerExists_returnValue() {
-        mController.mMediaController = mMediaController;
-
-        assertThat(mController.getMax()).isEqualTo(MAX_POS);
-    }
-
-    @Test
-    public void setSliderPosition_controllerNull_returnFalse() {
-        mController.mMediaController = null;
-
-        assertThat(mController.setSliderPosition(CURRENT_POS)).isFalse();
-    }
-
-    @Test
-    public void setSliderPosition_controllerExists_returnTrue() {
-        mController.mMediaController = mMediaController;
-
-        assertThat(mController.setSliderPosition(CURRENT_POS)).isTrue();
-        verify(mMediaController).setVolumeTo(CURRENT_POS, 0 /* flags */);
-    }
-
-    @Test
-    public void onRemoteUpdate_firstToken_updateTokenAndPreference() {
-        mController.mPreference = new VolumeSeekBarPreference(mContext);
-        mController.mActiveToken = null;
-
-        mController.mCallbacks.onRemoteUpdate(mToken, "token", mPlaybackInfo);
-
-        assertThat(mController.mActiveToken).isEqualTo(mToken);
-        assertThat(mController.mPreference.isVisible()).isTrue();
-        assertThat(mController.mPreference.getMax()).isEqualTo(MAX_POS);
-        assertThat(mController.mPreference.getProgress()).isEqualTo(CURRENT_POS);
-    }
-
-    @Test
-    public void onRemoteUpdate_differentToken_doNothing() {
-        mController.mActiveToken = mToken;
-
-        mController.mCallbacks.onRemoteUpdate(mToken2, "token2", mPlaybackInfo);
-
-        assertThat(mController.mActiveToken).isEqualTo(mToken);
-    }
-
-    @Test
-    public void onRemoteRemoved_tokenRemoved_setInvisible() {
-        mController.mPreference = new VolumeSeekBarPreference(mContext);
-        mController.mActiveToken = mToken;
-
-        mController.mCallbacks.onRemoteRemoved(mToken);
-
-        assertThat(mController.mActiveToken).isNull();
-        assertThat(mController.mPreference.isVisible()).isFalse();
-    }
-
-    @Test
-    public void onRemoteVolumeChanged_volumeChanged_updateIt() {
-        mController.mPreference = new VolumeSeekBarPreference(mContext);
-        mController.mPreference.setMax(MAX_POS);
-        mController.mActiveToken = mToken;
-        mController.mMediaController = mMediaController;
-
-        mController.mCallbacks.onRemoteVolumeChanged(mToken, 0 /* flags */);
-
-        assertThat(mController.mPreference.getProgress()).isEqualTo(CURRENT_POS);
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/notification/RingVolumePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/RingVolumePreferenceControllerTest.java
index e89edb4..5e484a3 100644
--- a/tests/robotests/src/com/android/settings/notification/RingVolumePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/RingVolumePreferenceControllerTest.java
@@ -104,4 +104,9 @@
                 new RingVolumePreferenceController(mContext);
         assertThat(controller.isSliceable()).isTrue();
     }
+
+    @Test
+    public void isPublicSlice_returnTrue() {
+        assertThat(mController.isPublicSlice()).isTrue();
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/notification/RingtonePreferenceControllerBaseTest.java b/tests/robotests/src/com/android/settings/notification/RingtonePreferenceControllerBaseTest.java
index 2fb1738..8fd3973 100644
--- a/tests/robotests/src/com/android/settings/notification/RingtonePreferenceControllerBaseTest.java
+++ b/tests/robotests/src/com/android/settings/notification/RingtonePreferenceControllerBaseTest.java
@@ -64,16 +64,6 @@
         verify(preference).setSummary(anyString());
     }
 
-    @Test
-    public void updateState_nullRingtone_shouldNotGetTitle() {
-        Preference preference = mock(Preference.class);
-        Settings.System.putString(mContext.getContentResolver(), Settings.System.RINGTONE, null);
-
-        mController.updateState(preference);
-
-        verify(preference, never()).setSummary(anyString());
-    }
-
     private class RingtonePreferenceControllerBaseTestable
             extends RingtonePreferenceControllerBase {
         RingtonePreferenceControllerBaseTestable(Context context) {
diff --git a/tests/robotests/src/com/android/settings/notification/SilentStatusBarPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/SilentStatusBarPreferenceControllerTest.java
new file mode 100644
index 0000000..a913b9e
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/SilentStatusBarPreferenceControllerTest.java
@@ -0,0 +1,85 @@
+/*
+ * 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.notification;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+
+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.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+@RunWith(RobolectricTestRunner.class)
+public class SilentStatusBarPreferenceControllerTest {
+
+    @Mock
+    private NotificationBackend mBackend;
+    @Mock
+    private PreferenceScreen mScreen;
+
+    private Context mContext;
+    private SilentStatusBarPreferenceController mController;
+    private Preference mPreference;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mContext = RuntimeEnvironment.application;
+        mController = new SilentStatusBarPreferenceController(mContext);
+        mController.setBackend(mBackend);
+        mPreference = new Preference(mContext);
+        mPreference.setKey(mController.getPreferenceKey());
+        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
+    }
+
+    @Test
+    public void isChecked_settingIsOff() {
+        when(mBackend.shouldHideSilentStatusBarIcons(any())).thenReturn(false);
+        assertThat(mController.isChecked()).isFalse();
+    }
+
+    @Test
+    public void isChecked_settingIsOn() {
+        when(mBackend.shouldHideSilentStatusBarIcons(any())).thenReturn(true);
+        assertThat(mController.isChecked()).isTrue();
+    }
+
+    @Test
+    public void setChecked_Off() {
+        mController.setChecked(false);
+        verify(mBackend, times(1)).setHideSilentStatusIcons(false);
+    }
+
+    @Test
+    public void setChecked_On() {
+        mController.setChecked(true);
+        verify(mBackend, times(1)).setHideSilentStatusIcons(true);
+    }
+}
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/notification/SoundPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/SoundPreferenceControllerTest.java
deleted file mode 100644
index f09f63b..0000000
--- a/tests/robotests/src/com/android/settings/notification/SoundPreferenceControllerTest.java
+++ /dev/null
@@ -1,320 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.notification;
-
-import static android.app.NotificationChannel.DEFAULT_CHANNEL_ID;
-import static android.app.NotificationManager.IMPORTANCE_DEFAULT;
-import static android.app.NotificationManager.IMPORTANCE_HIGH;
-import static android.app.NotificationManager.IMPORTANCE_LOW;
-
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
-import static org.junit.Assert.assertEquals;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.anyInt;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.never;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.app.Notification;
-import android.app.NotificationChannel;
-import android.app.NotificationManager;
-import android.content.Context;
-import android.content.Intent;
-import android.media.AudioAttributes;
-import android.media.RingtoneManager;
-import android.net.Uri;
-import android.os.UserManager;
-import android.provider.Settings;
-import android.util.AttributeSet;
-
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.SettingsPreferenceFragment;
-import com.android.settingslib.RestrictedLockUtils;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Answers;
-import org.mockito.ArgumentCaptor;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.Robolectric;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-import org.robolectric.shadows.ShadowApplication;
-
-@RunWith(RobolectricTestRunner.class)
-public class SoundPreferenceControllerTest {
-
-    private Context mContext;
-    @Mock
-    private NotificationBackend mBackend;
-    @Mock
-    private NotificationManager mNm;
-    @Mock
-    private UserManager mUm;
-    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
-    private PreferenceScreen mScreen;
-    @Mock
-    private SettingsPreferenceFragment mFragment;
-    @Mock
-    private NotificationSettingsBase.ImportanceListener mImportanceListener;
-
-    private SoundPreferenceController mController;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        ShadowApplication shadowApplication = ShadowApplication.getInstance();
-        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNm);
-        shadowApplication.setSystemService(Context.USER_SERVICE, mUm);
-        mContext = RuntimeEnvironment.application;
-        mController = spy(new SoundPreferenceController(
-                mContext, mFragment, mImportanceListener, mBackend));
-    }
-
-    @Test
-    public void testNoCrashIfNoOnResume() {
-        mController.isAvailable();
-        mController.updateState(mock(NotificationSoundPreference.class));
-        mController.onPreferenceChange(mock(NotificationSoundPreference.class), Uri.EMPTY);
-        mController.handlePreferenceTreeClick(mock(NotificationSoundPreference.class));
-        mController.onActivityResult(1, 1, null);
-        SoundPreferenceController.hasValidSound(null);
-    }
-
-    @Test
-    public void testIsAvailable_notIfChannelNull() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        mController.onResume(appRow, null, null, null);
-        assertFalse(mController.isAvailable());
-    }
-
-    @Test
-    public void testIsAvailable_notIfNotImportant() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = new NotificationChannel("", "", IMPORTANCE_LOW);
-        mController.onResume(appRow, channel, null, null);
-        assertFalse(mController.isAvailable());
-    }
-
-    @Test
-    public void testIsAvailable_notIfDefaultChannel() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel =
-                new NotificationChannel(DEFAULT_CHANNEL_ID, "", IMPORTANCE_DEFAULT);
-        mController.onResume(appRow, channel, null, null);
-        assertFalse(mController.isAvailable());
-    }
-
-    @Test
-    public void testIsAvailable() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = new NotificationChannel("", "", IMPORTANCE_DEFAULT);
-        mController.onResume(appRow, channel, null, null);
-        assertTrue(mController.isAvailable());
-    }
-
-    @Test
-    public void testDisplayPreference_savesPreference() {
-        NotificationSoundPreference pref = mock(NotificationSoundPreference.class);
-        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(pref);
-        mController.displayPreference(mScreen);
-
-        mController.onActivityResult(SoundPreferenceController.CODE, 1, new Intent());
-        verify(pref, times(1)).onActivityResult(anyInt(), anyInt(), any());
-    }
-
-    @Test
-    public void testUpdateState_disabledByAdmin() {
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getId()).thenReturn("something");
-        mController.onResume(new NotificationBackend.AppRow(), channel, null, mock(
-                RestrictedLockUtils.EnforcedAdmin.class));
-
-        AttributeSet attributeSet = Robolectric.buildAttributeSet().build();
-        Preference pref = new NotificationSoundPreference(mContext, attributeSet);
-        mController.updateState(pref);
-
-        assertFalse(pref.isEnabled());
-    }
-
-    @Test
-    public void testUpdateState_notBlockable() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.isImportanceLockedByOEM()).thenReturn(true);
-        mController.onResume(appRow, channel, null, null);
-
-        AttributeSet attributeSet = Robolectric.buildAttributeSet().build();
-        Preference pref = new NotificationSoundPreference(mContext, attributeSet);
-        mController.updateState(pref);
-
-        assertTrue(pref.isEnabled());
-    }
-
-    @Test
-    public void testUpdateState_configurable() {
-        Uri sound = Settings.System.DEFAULT_ALARM_ALERT_URI;
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getId()).thenReturn("something");
-        when(channel.getSound()).thenReturn(sound);
-        mController.onResume(appRow, channel, null, null);
-
-        AttributeSet attributeSet = Robolectric.buildAttributeSet().build();
-        NotificationSoundPreference pref = new NotificationSoundPreference(mContext, attributeSet);
-        mController.updateState(pref);
-
-        assertEquals(sound, pref.onRestoreRingtone());
-        assertTrue(pref.isEnabled());
-    }
-
-    @Test
-    public void testOnPreferenceChange() {
-        Uri sound = Settings.System.DEFAULT_ALARM_ALERT_URI;
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = new NotificationChannel("", "", IMPORTANCE_HIGH);
-        channel.setSound(sound, Notification.AUDIO_ATTRIBUTES_DEFAULT);
-        mController.onResume(appRow, channel, null, null);
-
-        AttributeSet attributeSet = Robolectric.buildAttributeSet().build();
-        NotificationSoundPreference pref =
-                new NotificationSoundPreference(mContext, attributeSet);
-        mController.updateState(pref);
-
-        mController.onPreferenceChange(pref, Uri.EMPTY);
-        assertEquals(Uri.EMPTY, channel.getSound());
-        assertEquals(Notification.AUDIO_ATTRIBUTES_DEFAULT, channel.getAudioAttributes());
-        verify(mBackend, times(1)).updateChannel(any(), anyInt(), any());
-    }
-
-    @Test
-    public void testOnPreferenceTreeClick_incorrectPref() {
-        NotificationSoundPreference pref = mock(NotificationSoundPreference.class);
-        mController.handlePreferenceTreeClick(pref);
-
-        verify(pref, never()).onPrepareRingtonePickerIntent(any());
-        verify(mFragment, never()).startActivityForResult(any(), anyInt());
-    }
-
-    @Test
-    public void testOnPreferenceTreeClick_correctPref() {
-        AttributeSet attributeSet = Robolectric.buildAttributeSet().build();
-        NotificationSoundPreference pref =
-                spy(new NotificationSoundPreference(mContext, attributeSet));
-        pref.setKey(mController.getPreferenceKey());
-        mController.handlePreferenceTreeClick(pref);
-
-        verify(pref, times(1)).onPrepareRingtonePickerIntent(any());
-        verify(mFragment, times(1)).startActivityForResult(any(), anyInt());
-    }
-
-    @Test
-    public void testOnPreferenceTreeClick_alarmSound() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = new NotificationChannel("", "", IMPORTANCE_HIGH);
-        channel.setSound(null, new AudioAttributes.Builder().setUsage(
-                AudioAttributes.USAGE_ALARM).build());
-        mController.onResume(appRow, channel, null, null);
-
-        AttributeSet attributeSet = Robolectric.buildAttributeSet().build();
-        NotificationSoundPreference pref =
-                spy(new NotificationSoundPreference(mContext, attributeSet));
-        pref.setKey(mController.getPreferenceKey());
-        mController.handlePreferenceTreeClick(pref);
-
-        ArgumentCaptor<Intent> intentArgumentCaptor = ArgumentCaptor.forClass(Intent.class);
-        verify(pref, times(1)).onPrepareRingtonePickerIntent(intentArgumentCaptor.capture());
-        assertEquals(RingtoneManager.TYPE_ALARM,
-                intentArgumentCaptor.getValue().getIntExtra(
-                        RingtoneManager.EXTRA_RINGTONE_TYPE, 0));
-    }
-
-    @Test
-    public void testOnPreferenceTreeClick_ringtoneSound() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = new NotificationChannel("", "", IMPORTANCE_HIGH);
-        channel.setSound(null, new AudioAttributes.Builder().setUsage(
-                AudioAttributes.USAGE_NOTIFICATION_RINGTONE).build());
-        mController.onResume(appRow, channel, null, null);
-
-        AttributeSet attributeSet = Robolectric.buildAttributeSet().build();
-        NotificationSoundPreference pref =
-                spy(new NotificationSoundPreference(mContext, attributeSet));
-        pref.setKey(mController.getPreferenceKey());
-        mController.handlePreferenceTreeClick(pref);
-
-        ArgumentCaptor<Intent> intentArgumentCaptor = ArgumentCaptor.forClass(Intent.class);
-        verify(pref, times(1)).onPrepareRingtonePickerIntent(intentArgumentCaptor.capture());
-        assertEquals(RingtoneManager.TYPE_RINGTONE,
-                intentArgumentCaptor.getValue().getIntExtra(
-                        RingtoneManager.EXTRA_RINGTONE_TYPE, 0));
-    }
-
-    @Test
-    public void testOnPreferenceTreeClick_otherSound() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = new NotificationChannel("", "", IMPORTANCE_HIGH);
-        channel.setSound(null, new AudioAttributes.Builder().setUsage(
-                AudioAttributes.USAGE_UNKNOWN).build());
-        mController.onResume(appRow, channel, null, null);
-
-        AttributeSet attributeSet = Robolectric.buildAttributeSet().build();
-        NotificationSoundPreference pref =
-                spy(new NotificationSoundPreference(mContext, attributeSet));
-        pref.setKey(mController.getPreferenceKey());
-        mController.handlePreferenceTreeClick(pref);
-
-        ArgumentCaptor<Intent> intentArgumentCaptor = ArgumentCaptor.forClass(Intent.class);
-        verify(pref, times(1)).onPrepareRingtonePickerIntent(intentArgumentCaptor.capture());
-        assertEquals(RingtoneManager.TYPE_NOTIFICATION,
-                intentArgumentCaptor.getValue().getIntExtra(
-                        RingtoneManager.EXTRA_RINGTONE_TYPE, 0));
-    }
-
-    @Test
-    public void testOnActivityResult() {
-        NotificationSoundPreference pref = mock(NotificationSoundPreference.class);
-        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(pref);
-        mController.displayPreference(mScreen);
-
-        mController.onActivityResult(SoundPreferenceController.CODE, 1, new Intent("hi"));
-        verify(pref, times(1)).onActivityResult(anyInt(), anyInt(), any());
-        verify(mImportanceListener, times(1)).onImportanceChanged();
-    }
-
-    @Test
-    public void testHasValidSound() {
-        NotificationChannel channel =
-                new NotificationChannel(DEFAULT_CHANNEL_ID, "a", IMPORTANCE_HIGH);
-        assertTrue(SoundPreferenceController.hasValidSound(channel));
-
-        channel.setSound(Uri.EMPTY, Notification.AUDIO_ATTRIBUTES_DEFAULT);
-        assertFalse(SoundPreferenceController.hasValidSound(channel));
-
-        channel.setSound(null, Notification.AUDIO_ATTRIBUTES_DEFAULT);
-        assertFalse(SoundPreferenceController.hasValidSound(channel));
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/notification/SoundSettingsTest.java b/tests/robotests/src/com/android/settings/notification/SoundSettingsTest.java
index 56d0828..b6f06f4 100644
--- a/tests/robotests/src/com/android/settings/notification/SoundSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/notification/SoundSettingsTest.java
@@ -25,13 +25,13 @@
 
 import android.content.Context;
 import android.media.AudioManager;
-import android.os.Handler;
 import android.os.UserManager;
 import android.preference.SeekBarVolumizer;
 
 import com.android.settings.R;
 import com.android.settings.testutils.XmlTestUtils;
 import com.android.settings.testutils.shadow.ShadowAudioHelper;
+import com.android.settings.testutils.shadow.ShadowBluetoothAdapter;
 import com.android.settings.testutils.shadow.ShadowDeviceConfig;
 import com.android.settings.testutils.shadow.ShadowUserManager;
 
@@ -48,7 +48,8 @@
 public class SoundSettingsTest {
 
     @Test
-    @Config(shadows = {ShadowUserManager.class, ShadowAudioHelper.class, ShadowDeviceConfig.class})
+    @Config(shadows = {ShadowUserManager.class, ShadowAudioHelper.class, ShadowDeviceConfig.class,
+            ShadowBluetoothAdapter.class})
     public void getNonIndexableKeys_existInXmlLayout() {
         final Context context = spy(RuntimeEnvironment.application);
         AudioManager audioManager = mock(AudioManager.class);
diff --git a/tests/robotests/src/com/android/settings/notification/VibrateWhenRingPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/VibrateWhenRingPreferenceControllerTest.java
deleted file mode 100644
index a1b65c5..0000000
--- a/tests/robotests/src/com/android/settings/notification/VibrateWhenRingPreferenceControllerTest.java
+++ /dev/null
@@ -1,228 +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.notification;
-
-import static android.provider.Settings.System.VIBRATE_WHEN_RINGING;
-
-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.spy;
-import static org.mockito.Mockito.when;
-
-import android.content.ContentResolver;
-import android.content.Context;
-import android.provider.DeviceConfig;
-import android.provider.Settings;
-import android.telephony.TelephonyManager;
-
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-import androidx.preference.TwoStatePreference;
-
-import com.android.settings.testutils.shadow.ShadowDeviceConfig;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.annotation.Config;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-import org.robolectric.shadow.api.Shadow;
-import org.robolectric.shadows.ShadowContentResolver;
-
-@RunWith(RobolectricTestRunner.class)
-@Config(shadows={ShadowDeviceConfig.class})
-public class VibrateWhenRingPreferenceControllerTest {
-
-    private static final String KEY_VIBRATE_WHEN_RINGING = "vibrate_when_ringing";
-    private final int DEFAULT_VALUE = 0;
-    private final int NOTIFICATION_VIBRATE_WHEN_RINGING = 1;
-    private Context mContext;
-    private ContentResolver mContentResolver;
-    @Mock
-    private PreferenceScreen mScreen;
-    @Mock
-    private TelephonyManager mTelephonyManager;
-    private VibrateWhenRingPreferenceController mController;
-    private Preference mPreference;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        mContext = spy(RuntimeEnvironment.application);
-        mContentResolver = mContext.getContentResolver();
-        when(mContext.getSystemService(Context.TELEPHONY_SERVICE)).thenReturn(mTelephonyManager);
-        mController = new VibrateWhenRingPreferenceController(mContext, KEY_VIBRATE_WHEN_RINGING);
-        mPreference = new Preference(mContext);
-        mPreference.setKey(mController.getPreferenceKey());
-        when(mScreen.findPreference(mPreference.getKey())).thenReturn(mPreference);
-    }
-
-    @Test
-    public void display_shouldDisplay() {
-        when(mTelephonyManager.isVoiceCapable()).thenReturn(true);
-        DeviceConfig.setProperty("telephony", "ramping_ringer_enabled", "false", false);
-        mController.displayPreference(mScreen);
-        assertThat(mPreference.isVisible()).isTrue();
-    }
-
-    @Test
-    public void display_shouldNotDisplay_notVoiceCapable() {
-        when(mTelephonyManager.isVoiceCapable()).thenReturn(false);
-        DeviceConfig.setProperty("telephony", "ramping_ringer_enabled", "false", false);
-        mController.displayPreference(mScreen);
-        assertThat(mPreference.isVisible()).isFalse();
-    }
-
-    @Test
-    public void display_shouldNotDisplay_RampingRingerEnabled() {
-        when(mTelephonyManager.isVoiceCapable()).thenReturn(true);
-        DeviceConfig.setProperty("telephony", "ramping_ringer_enabled", "true", false);
-        mController.displayPreference(mScreen);
-        assertThat(mPreference.isVisible()).isFalse();
-    }
-
-    @Test
-    public void display_shouldNotDisplay_VoiceEnabled_RampingRingerEnabled() {
-        when(mTelephonyManager.isVoiceCapable()).thenReturn(true);
-        DeviceConfig.setProperty("telephony", "ramping_ringer_enabled", "true", false);
-        mController.displayPreference(mScreen);
-        assertThat(mPreference.isVisible()).isFalse();
-    }
-
-    @Test
-    public void display_shouldNotDisplay_VoiceDisabled_RampingRingerEnabled() {
-        when(mTelephonyManager.isVoiceCapable()).thenReturn(false);
-        DeviceConfig.setProperty("telephony", "ramping_ringer_enabled", "true", false);
-        mController.displayPreference(mScreen);
-        assertThat(mPreference.isVisible()).isFalse();
-    }
-
-    @Test
-    public void testOnPreferenceChange_turnOn_returnOn() {
-        mController.onPreferenceChange(null, true);
-        final int mode = Settings.System.getInt(mContext.getContentResolver(),
-                VIBRATE_WHEN_RINGING, DEFAULT_VALUE);
-
-        assertThat(mode).isEqualTo(NOTIFICATION_VIBRATE_WHEN_RINGING);
-    }
-
-    @Test
-    public void testOnPreferenceChange_turnOff_returnOff() {
-        mController.onPreferenceChange(null, false);
-        final int mode = Settings.System.getInt(mContext.getContentResolver(),
-                VIBRATE_WHEN_RINGING, DEFAULT_VALUE);
-
-        assertThat(mode).isEqualTo(DEFAULT_VALUE);
-    }
-
-    @Test
-    public void voiceCapable_availabled() {
-        when(mTelephonyManager.isVoiceCapable()).thenReturn(true);
-        DeviceConfig.setProperty("telephony", "ramping_ringer_enabled", "false", false);
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
-    }
-
-    @Test
-    public void voiceCapable_notAvailabled() {
-        when(mTelephonyManager.isVoiceCapable()).thenReturn(false);
-        DeviceConfig.setProperty("telephony", "ramping_ringer_enabled", "false", false);
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(UNSUPPORTED_ON_DEVICE);
-    }
-
-    @Test
-    public void updateState_settingIsOn_preferenceShouldBeChecked() {
-        final TwoStatePreference preference = mock(TwoStatePreference.class);
-        Settings.System.putInt(mContext.getContentResolver(), VIBRATE_WHEN_RINGING, 1);
-
-        mController.updateState(preference);
-
-        assertThat(mController.isChecked()).isTrue();
-    }
-
-    @Test
-    public void updateState_settingIsOff_preferenceShouldNotBeChecked() {
-        final TwoStatePreference preference = mock(TwoStatePreference.class);
-        Settings.System.putInt(mContext.getContentResolver(), VIBRATE_WHEN_RINGING, 0);
-
-        mController.updateState(preference);
-
-        assertThat(mController.isChecked()).isFalse();
-    }
-
-    @Test
-    public void setChecked_settingsIsOn() {
-        mController.setChecked(true);
-        final int mode = Settings.System.getInt(mContext.getContentResolver(), VIBRATE_WHEN_RINGING,
-                -1);
-
-        assertThat(mode).isEqualTo(NOTIFICATION_VIBRATE_WHEN_RINGING);
-    }
-
-    @Test
-    public void setChecked_settingsIsOff() {
-        mController.setChecked(false);
-        final int mode = Settings.System.getInt(mContext.getContentResolver(), VIBRATE_WHEN_RINGING,
-                -1);
-
-        assertThat(mode).isEqualTo(DEFAULT_VALUE);
-    }
-
-    @Test
-    public void testObserver_onResume_shouldRegisterObserver() {
-        final ShadowContentResolver shadowContentResolver = Shadow.extract(mContentResolver);
-        mController.displayPreference(mScreen);
-
-        mController.onResume();
-
-        assertThat(shadowContentResolver.getContentObservers(
-                Settings.System.getUriFor(VIBRATE_WHEN_RINGING))).isNotEmpty();
-    }
-
-    @Test
-    public void testObserver_onPause_shouldUnregisterObserver() {
-        final ShadowContentResolver shadowContentResolver = Shadow.extract(mContentResolver);
-        mController.displayPreference(mScreen);
-
-        mController.onResume();
-        mController.onPause();
-
-        assertThat(shadowContentResolver.getContentObservers(
-                Settings.System.getUriFor(VIBRATE_WHEN_RINGING))).isEmpty();
-    }
-
-    @Test
-    public void isSliceableCorrectKey_returnsTrue() {
-        final VibrateWhenRingPreferenceController controller =
-                new VibrateWhenRingPreferenceController(mContext, "vibrate_when_ringing");
-        assertThat(controller.isSliceable()).isTrue();
-    }
-
-    @Test
-    public void isSliceableIncorrectKey_returnsFalse() {
-        final VibrateWhenRingPreferenceController controller =
-                new VibrateWhenRingPreferenceController(mContext, "bad_key");
-        assertThat(controller.isSliceable()).isFalse();
-    }
-
-}
diff --git a/tests/robotests/src/com/android/settings/notification/VibrationPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/VibrationPreferenceControllerTest.java
deleted file mode 100644
index 786b713..0000000
--- a/tests/robotests/src/com/android/settings/notification/VibrationPreferenceControllerTest.java
+++ /dev/null
@@ -1,225 +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.NotificationChannel.DEFAULT_CHANNEL_ID;
-import static android.app.NotificationManager.IMPORTANCE_DEFAULT;
-import static android.app.NotificationManager.IMPORTANCE_HIGH;
-import static android.app.NotificationManager.IMPORTANCE_LOW;
-
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.anyInt;
-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.NotificationChannel;
-import android.app.NotificationManager;
-import android.content.Context;
-import android.os.UserManager;
-import android.os.Vibrator;
-
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settingslib.RestrictedLockUtils;
-import com.android.settingslib.RestrictedSwitchPreference;
-
-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.RuntimeEnvironment;
-import org.robolectric.shadows.ShadowApplication;
-
-@RunWith(RobolectricTestRunner.class)
-public class VibrationPreferenceControllerTest {
-
-    private Context mContext;
-    @Mock
-    private NotificationBackend mBackend;
-    @Mock
-    private NotificationManager mNm;
-    @Mock
-    private Vibrator mVibrator;
-    @Mock
-    private UserManager mUm;
-    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
-    private PreferenceScreen mScreen;
-
-    private VibrationPreferenceController mController;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        ShadowApplication shadowApplication = ShadowApplication.getInstance();
-        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNm);
-        shadowApplication.setSystemService(Context.USER_SERVICE, mUm);
-        shadowApplication.setSystemService(Context.VIBRATOR_SERVICE, mVibrator);
-        mContext = RuntimeEnvironment.application;
-        mController = spy(new VibrationPreferenceController(mContext, mBackend));
-
-        // by default allow vibration
-        when(mVibrator.hasVibrator()).thenReturn(true);
-    }
-
-    @Test
-    public void testNoCrashIfNoOnResume() {
-        mController.isAvailable();
-        mController.updateState(mock(RestrictedSwitchPreference.class));
-        mController.onPreferenceChange(mock(RestrictedSwitchPreference.class), true);
-    }
-
-    @Test
-    public void testIsAvailable_notSystemDoesNotHave() {
-        when(mVibrator.hasVibrator()).thenReturn(false);
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = new NotificationChannel("", "", IMPORTANCE_DEFAULT);
-        mController.onResume(appRow, channel, null, null);
-        assertFalse(mController.isAvailable());
-    }
-
-    @Test
-    public void testIsAvailable_notIfNotImportant() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = new NotificationChannel("", "", IMPORTANCE_LOW);
-        mController.onResume(appRow, channel, null, null);
-        assertFalse(mController.isAvailable());
-    }
-
-    @Test
-    public void testIsAvailable_notIfDefaultChannel() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel =
-                new NotificationChannel(DEFAULT_CHANNEL_ID, "", IMPORTANCE_DEFAULT);
-        mController.onResume(appRow, channel, null, null);
-        assertFalse(mController.isAvailable());
-    }
-
-    @Test
-    public void testIsAvailable() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = new NotificationChannel("", "", IMPORTANCE_DEFAULT);
-        mController.onResume(appRow, channel, null, null);
-        assertTrue(mController.isAvailable());
-    }
-
-    @Test
-    public void testUpdateState_disabledByAdmin() {
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getId()).thenReturn("something");
-        mController.onResume(new NotificationBackend.AppRow(), channel, null, mock(
-                RestrictedLockUtils.EnforcedAdmin.class));
-
-        Preference pref = new RestrictedSwitchPreference(RuntimeEnvironment.application);
-        mController.updateState(pref);
-
-        assertFalse(pref.isEnabled());
-    }
-
-    @Test
-    public void testUpdateState_notBlockable() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.isImportanceLockedByOEM()).thenReturn(true);
-        mController.onResume(appRow, channel, null, null);
-
-        Preference pref = new RestrictedSwitchPreference(RuntimeEnvironment.application);
-        mController.updateState(pref);
-
-        assertTrue(pref.isEnabled());
-    }
-
-    @Test
-    public void testUpdateState_configurable() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getId()).thenReturn("something");
-        mController.onResume(appRow, channel, null, null);
-
-        Preference pref = new RestrictedSwitchPreference(RuntimeEnvironment.application);
-        mController.updateState(pref);
-
-        assertTrue(pref.isEnabled());
-    }
-
-    @Test
-    public void testUpdateState_vibrateOn() {
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.shouldVibrate()).thenReturn(true);
-        mController.onResume(new NotificationBackend.AppRow(), channel, null, null);
-
-        RestrictedSwitchPreference pref =
-                new RestrictedSwitchPreference(RuntimeEnvironment.application);
-        mController.updateState(pref);
-        assertTrue(pref.isChecked());
-    }
-
-    @Test
-    public void testUpdateState_vibrateOff() {
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.shouldVibrate()).thenReturn(false);
-        mController.onResume(new NotificationBackend.AppRow(), channel, null, null);
-
-        RestrictedSwitchPreference pref =
-                new RestrictedSwitchPreference(RuntimeEnvironment.application);
-        mController.updateState(pref);
-        assertFalse(pref.isChecked());
-    }
-
-    @Test
-    public void testOnPreferenceChange_on() {
-        NotificationChannel channel =
-                new NotificationChannel(DEFAULT_CHANNEL_ID, "a", IMPORTANCE_DEFAULT);
-        mController.onResume(new NotificationBackend.AppRow(), channel, null, null);
-
-        RestrictedSwitchPreference pref =
-                new RestrictedSwitchPreference(RuntimeEnvironment.application);
-        mController.updateState(pref);
-
-        mController.onPreferenceChange(pref, true);
-
-        assertTrue(channel.shouldVibrate());
-        verify(mBackend, times(1)).updateChannel(any(), anyInt(), any());
-    }
-
-    @Test
-    public void testOnPreferenceChange_off() {
-        NotificationChannel channel =
-                new NotificationChannel(DEFAULT_CHANNEL_ID, "a", IMPORTANCE_HIGH);
-        mController.onResume(new NotificationBackend.AppRow(), channel, null, null);
-
-        RestrictedSwitchPreference pref =
-                new RestrictedSwitchPreference(RuntimeEnvironment.application);
-        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(pref);
-        mController.displayPreference(mScreen);
-        mController.updateState(pref);
-
-        mController.onPreferenceChange(pref, false);
-
-        assertFalse(channel.shouldVibrate());
-        verify(mBackend, times(1)).updateChannel(any(), anyInt(), any());
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/notification/VisibilityPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/VisibilityPreferenceControllerTest.java
deleted file mode 100644
index 2045400..0000000
--- a/tests/robotests/src/com/android/settings/notification/VisibilityPreferenceControllerTest.java
+++ /dev/null
@@ -1,362 +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.Notification.VISIBILITY_PRIVATE;
-import static android.app.NotificationChannel.DEFAULT_CHANNEL_ID;
-import static android.app.NotificationManager.IMPORTANCE_DEFAULT;
-import static android.app.NotificationManager.IMPORTANCE_MIN;
-import static android.app.NotificationManager.VISIBILITY_NO_OVERRIDE;
-import static android.app.admin.DevicePolicyManager.KEYGUARD_DISABLE_SECURE_NOTIFICATIONS;
-import static android.app.admin.DevicePolicyManager.KEYGUARD_DISABLE_UNREDACTED_NOTIFICATIONS;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.anyInt;
-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.Notification;
-import android.app.NotificationChannel;
-import android.app.NotificationManager;
-import android.app.admin.DevicePolicyManager;
-import android.content.ComponentName;
-import android.content.Context;
-import android.content.pm.UserInfo;
-import android.os.UserManager;
-import android.provider.Settings;
-
-import com.android.internal.widget.LockPatternUtils;
-import com.android.settings.RestrictedListPreference;
-import com.android.settings.testutils.shadow.ShadowRestrictionUtils;
-import com.android.settingslib.RestrictedLockUtils;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Answers;
-import org.mockito.ArgumentCaptor;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-import org.robolectric.annotation.Config;
-import org.robolectric.shadows.ShadowApplication;
-
-import java.util.ArrayList;
-import java.util.List;
-
-@RunWith(RobolectricTestRunner.class)
-@Config(shadows = ShadowRestrictionUtils.class)
-public class VisibilityPreferenceControllerTest {
-
-    private Context mContext;
-    @Mock
-    private NotificationBackend mBackend;
-    @Mock
-    private NotificationManager mNm;
-    @Mock
-    private LockPatternUtils mLockUtils;
-    @Mock
-    private UserManager mUm;
-    @Mock
-    private DevicePolicyManager mDm;
-    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
-
-    private VisibilityPreferenceController mController;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        ShadowApplication shadowApplication = ShadowApplication.getInstance();
-        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNm);
-        shadowApplication.setSystemService(Context.USER_SERVICE, mUm);
-        shadowApplication.setSystemService(Context.DEVICE_POLICY_SERVICE, mDm);
-        mContext = RuntimeEnvironment.application;
-        mController = spy(new VisibilityPreferenceController(mContext, mLockUtils, mBackend));
-
-        // by default the lockscreen is secure
-        when(mLockUtils.isSecure(anyInt())).thenReturn(true);
-        // and notifications are visible in redacted form
-        Settings.Secure.putInt(mContext.getContentResolver(),
-                Settings.Secure.LOCK_SCREEN_SHOW_NOTIFICATIONS, 1);
-        Settings.Secure.putInt(mContext.getContentResolver(),
-                Settings.Secure.LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS, 1);
-        // and not restricted
-        ShadowRestrictionUtils.setRestricted(false);
-        // with no managed profile
-        UserInfo userInfo = new UserInfo();
-        when(mUm.getUserInfo(anyInt())).thenReturn(userInfo);
-    }
-
-    @Test
-    public void testNoCrashIfNoOnResume() {
-        mController.isAvailable();
-        mController.updateState(mock(RestrictedListPreference.class));
-        mController.onPreferenceChange(mock(RestrictedListPreference.class), true);
-    }
-
-    @Test
-    public void testIsAvailable_notSecure() {
-        when(mLockUtils.isSecure(anyInt())).thenReturn(false);
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = new NotificationChannel("", "", IMPORTANCE_DEFAULT);
-        mController.onResume(appRow, channel, null, null);
-        assertFalse(mController.isAvailable());
-    }
-
-    @Test
-    public void testIsAvailable_notIfNotImportant() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = new NotificationChannel("", "", IMPORTANCE_MIN);
-        mController.onResume(appRow, channel, null, null);
-        assertFalse(mController.isAvailable());
-    }
-
-    @Test
-    public void testIsAvailable() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel =
-                new NotificationChannel(DEFAULT_CHANNEL_ID, "", IMPORTANCE_DEFAULT);
-        mController.onResume(appRow, channel, null, null);
-        assertTrue(mController.isAvailable());
-
-        channel = new NotificationChannel("", "", IMPORTANCE_DEFAULT);
-        mController.onResume(appRow, channel, null, null);
-        assertTrue(mController.isAvailable());
-    }
-
-    @Test
-    public void testUpdateState_disabledByAdmin_disableSecure() {
-        ShadowRestrictionUtils.setRestricted(true);
-        UserInfo userInfo = new UserInfo(2, "user 2", UserInfo.FLAG_MANAGED_PROFILE);
-        when(mUm.getUserInfo(anyInt())).thenReturn(userInfo);
-        List<ComponentName> components = new ArrayList<>();
-        components.add(new ComponentName("", ""));
-        when(mDm.getActiveAdminsAsUser(anyInt())).thenReturn(components);
-        when(mDm.getKeyguardDisabledFeatures(any(), anyInt()))
-                .thenReturn(KEYGUARD_DISABLE_SECURE_NOTIFICATIONS);
-
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getId()).thenReturn("something");
-        mController.onResume(new NotificationBackend.AppRow(), channel, null, mock(
-                RestrictedLockUtils.EnforcedAdmin.class));
-
-        RestrictedListPreference pref = mock(RestrictedListPreference.class);
-        mController.updateState(pref);
-
-        verify(pref, times(2)).addRestrictedItem(any());
-    }
-
-    @Test
-    public void testUpdateState_disabledByAdmin_disableUnredacted() {
-        ShadowRestrictionUtils.setRestricted(true);
-        UserInfo userInfo = new UserInfo(2, "user 2", UserInfo.FLAG_MANAGED_PROFILE);
-        when(mUm.getUserInfo(anyInt())).thenReturn(userInfo);
-        List<ComponentName> components = new ArrayList<>();
-        components.add(new ComponentName("", ""));
-        when(mDm.getActiveAdminsAsUser(anyInt())).thenReturn(components);
-        when(mDm.getKeyguardDisabledFeatures(any(), anyInt()))
-                .thenReturn(KEYGUARD_DISABLE_UNREDACTED_NOTIFICATIONS);
-
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getId()).thenReturn("something");
-        mController.onResume(new NotificationBackend.AppRow(), channel, null, mock(
-                RestrictedLockUtils.EnforcedAdmin.class));
-
-        RestrictedListPreference pref = mock(RestrictedListPreference.class);
-        mController.updateState(pref);
-
-        verify(pref, times(1)).addRestrictedItem(any());
-    }
-
-    @Test
-    public void testUpdateState_noLockScreenNotificationsGlobally() {
-        Settings.Secure.putInt(mContext.getContentResolver(),
-                Settings.Secure.LOCK_SCREEN_SHOW_NOTIFICATIONS, 0);
-
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = mock(NotificationChannel.class);
-        mController.onResume(appRow, channel, null, null);
-
-        RestrictedListPreference pref = mock(RestrictedListPreference.class);
-        mController.updateState(pref);
-
-        ArgumentCaptor<CharSequence[]> argumentCaptor =
-                ArgumentCaptor.forClass(CharSequence[].class);
-        verify(pref, times(1)).setEntryValues(argumentCaptor.capture());
-        assertFalse(toStringList(argumentCaptor.getValue())
-                .contains(String.valueOf(VISIBILITY_NO_OVERRIDE)));
-        assertFalse(toStringList(argumentCaptor.getValue())
-                .contains(String.valueOf(VISIBILITY_PRIVATE)));
-    }
-
-    @Test
-    public void testUpdateState_noLockScreenNotificationsGloballyInProfile() {
-        final int primaryUserId = 2;
-        final UserInfo primaryUserInfo = new UserInfo(primaryUserId, "user 2", 0);
-        when(mUm.getProfileParent(anyInt())).thenReturn(primaryUserInfo);
-
-        Settings.Secure.putIntForUser(mContext.getContentResolver(),
-                Settings.Secure.LOCK_SCREEN_SHOW_NOTIFICATIONS, 0, primaryUserId);
-
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = mock(NotificationChannel.class);
-        mController.onResume(appRow, channel, null, null);
-
-        RestrictedListPreference pref = mock(RestrictedListPreference.class);
-        mController.updateState(pref);
-
-        ArgumentCaptor<CharSequence[]> argumentCaptor =
-                ArgumentCaptor.forClass(CharSequence[].class);
-        verify(pref, times(1)).setEntryValues(argumentCaptor.capture());
-        assertFalse(toStringList(argumentCaptor.getValue())
-                .contains(String.valueOf(VISIBILITY_NO_OVERRIDE)));
-        assertFalse(toStringList(argumentCaptor.getValue())
-                .contains(String.valueOf(VISIBILITY_PRIVATE)));
-    }
-
-    @Test
-    public void testUpdateState_noPrivateLockScreenNotificationsGlobally() {
-        Settings.Secure.putInt(mContext.getContentResolver(),
-                Settings.Secure.LOCK_SCREEN_SHOW_NOTIFICATIONS, 1);
-        Settings.Secure.putInt(mContext.getContentResolver(),
-                Settings.Secure.LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS, 0);
-
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = mock(NotificationChannel.class);
-        mController.onResume(appRow, channel, null, null);
-
-        RestrictedListPreference pref = mock(RestrictedListPreference.class);
-        mController.updateState(pref);
-
-        ArgumentCaptor<CharSequence[]> argumentCaptor =
-                ArgumentCaptor.forClass(CharSequence[].class);
-        verify(pref, times(1)).setEntryValues(argumentCaptor.capture());
-        assertEquals(2, toStringList(argumentCaptor.getValue()).size());
-        assertFalse(toStringList(argumentCaptor.getValue())
-                .contains(String.valueOf(VISIBILITY_NO_OVERRIDE)));
-    }
-
-    @Test
-    public void testUpdateState_noGlobalRestriction() {
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = mock(NotificationChannel.class);
-        mController.onResume(appRow, channel, null, null);
-
-        RestrictedListPreference pref = mock(RestrictedListPreference.class);
-        mController.updateState(pref);
-
-        ArgumentCaptor<CharSequence[]> argumentCaptor =
-                ArgumentCaptor.forClass(CharSequence[].class);
-        verify(pref, times(1)).setEntryValues(argumentCaptor.capture());
-        List<String> values = toStringList(argumentCaptor.getValue());
-        assertEquals(3, values.size());
-        assertTrue(values.contains(String.valueOf(VISIBILITY_NO_OVERRIDE)));
-        assertTrue(values.contains(String.valueOf(VISIBILITY_PRIVATE)));
-        assertTrue(values.contains(String.valueOf(Notification.VISIBILITY_SECRET)));
-    }
-
-    private static List<String> toStringList(CharSequence[] charSequences) {
-        List<String> result = new ArrayList<>();
-        for (CharSequence charSequence : charSequences) {
-            result.add(charSequence.toString());
-        }
-        return result;
-    }
-
-    @Test
-    public void testUpdateState_noChannelOverride() {
-        Settings.Secure.putInt(mContext.getContentResolver(),
-                Settings.Secure.LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS, 0);
-
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getLockscreenVisibility()).thenReturn(VISIBILITY_NO_OVERRIDE);
-        mController.onResume(appRow, channel, null, null);
-
-        RestrictedListPreference pref = mock(RestrictedListPreference.class);
-        mController.updateState(pref);
-
-        ArgumentCaptor<String> argumentCaptor = ArgumentCaptor.forClass(String.class);
-        verify(pref, times(1)).setValue(argumentCaptor.capture());
-
-        assertEquals(String.valueOf(VISIBILITY_PRIVATE), argumentCaptor.getValue());
-    }
-
-    @Test
-    public void testUpdateState_channelOverride() {
-        Settings.Secure.putInt(mContext.getContentResolver(),
-                Settings.Secure.LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS, 0);
-
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = mock(NotificationChannel.class);
-        when(channel.getLockscreenVisibility()).thenReturn(Notification.VISIBILITY_SECRET);
-        mController.onResume(appRow, channel, null, null);
-
-        RestrictedListPreference pref = mock(RestrictedListPreference.class);
-        mController.updateState(pref);
-
-        ArgumentCaptor<String> argumentCaptor = ArgumentCaptor.forClass(String.class);
-        verify(pref, times(1)).setValue(argumentCaptor.capture());
-
-        assertEquals(String.valueOf(Notification.VISIBILITY_SECRET), argumentCaptor.getValue());
-    }
-
-    @Test
-    public void testOnPreferenceChange_noOverride() {
-        Settings.Secure.putInt(mContext.getContentResolver(),
-                Settings.Secure.LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS, 0);
-
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = new NotificationChannel("", "", 4);
-        channel.setLockscreenVisibility(Notification.VISIBILITY_SECRET);
-        mController.onResume(appRow, channel, null, null);
-
-        RestrictedListPreference pref = mock(RestrictedListPreference.class);
-        mController.updateState(pref);
-
-        mController.onPreferenceChange(pref, String.valueOf(VISIBILITY_PRIVATE));
-
-        assertEquals(VISIBILITY_NO_OVERRIDE, channel.getLockscreenVisibility());
-        verify(mBackend, times(1)).updateChannel(any(), anyInt(), any());
-    }
-
-    @Test
-    public void testOnPreferenceChange_override() {
-        Settings.Secure.putInt(mContext.getContentResolver(),
-                Settings.Secure.LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS, 0);
-
-        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
-        NotificationChannel channel = new NotificationChannel("", "", 4);
-        channel.setLockscreenVisibility(VISIBILITY_NO_OVERRIDE);
-        mController.onResume(appRow, channel, null, null);
-
-        RestrictedListPreference pref = mock(RestrictedListPreference.class);
-        mController.updateState(pref);
-
-        mController.onPreferenceChange(pref, String.valueOf(Notification.VISIBILITY_SECRET));
-
-        assertEquals(Notification.VISIBILITY_SECRET, channel.getLockscreenVisibility());
-        verify(mBackend, times(1)).updateChannel(any(), anyInt(), any());
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/notification/ZenCustomRadioButtonPreferenceTest.java b/tests/robotests/src/com/android/settings/notification/ZenCustomRadioButtonPreferenceTest.java
deleted file mode 100644
index 8e53aa6..0000000
--- a/tests/robotests/src/com/android/settings/notification/ZenCustomRadioButtonPreferenceTest.java
+++ /dev/null
@@ -1,109 +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.notification;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
-
-import android.content.Context;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.widget.RadioButton;
-
-import androidx.preference.PreferenceViewHolder;
-
-import com.android.settings.R;
-
-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 ZenCustomRadioButtonPreferenceTest {
-
-    private Context mContext;
-
-    @Before
-    public void setUp() {
-        mContext = RuntimeEnvironment.application;
-    }
-
-    @Test
-    public void createNewPreference_shouldSetLayout() {
-        final ZenCustomRadioButtonPreference preference
-                = new ZenCustomRadioButtonPreference(mContext);
-
-        assertThat(preference.getLayoutResource()).isEqualTo(R.layout.preference_two_target_radio);
-        assertThat(preference.getWidgetLayoutResource())
-                .isEqualTo(R.layout.preference_widget_gear);
-    }
-
-    @Test
-    public void setChecked_shouldUpdateButtonCheckedState() {
-        final ZenCustomRadioButtonPreference preference =
-                new ZenCustomRadioButtonPreference(mContext);
-        final PreferenceViewHolder holder = PreferenceViewHolder.createInstanceForTests(
-                LayoutInflater.from(mContext).inflate(
-                  R.layout.preference_two_target_radio, null));
-        final RadioButton toggle = (RadioButton) holder.findViewById(android.R.id.checkbox);
-        preference.onBindViewHolder(holder);
-
-        preference.setChecked(true);
-        assertThat(toggle.isChecked()).isTrue();
-
-        preference.setChecked(false);
-        assertThat(toggle.isChecked()).isFalse();
-    }
-
-    @Test
-    public void clickRadioButton_shouldNotifyRadioButtonClicked() {
-        final ZenCustomRadioButtonPreference preference
-                = new ZenCustomRadioButtonPreference(mContext);
-        final PreferenceViewHolder holder = PreferenceViewHolder.createInstanceForTests(
-                LayoutInflater.from(mContext).inflate(R.layout.preference_two_target_radio, null));
-        final View toggle = holder.findViewById(R.id.checkbox_frame);
-
-        ZenCustomRadioButtonPreference.OnRadioButtonClickListener l = mock(
-                ZenCustomRadioButtonPreference.OnRadioButtonClickListener.class);
-        preference.setOnRadioButtonClickListener(l);
-        preference.onBindViewHolder(holder);
-
-        toggle.performClick();
-        verify(l).onRadioButtonClick(preference);
-    }
-
-    @Test
-    public void clickWidgetView_shouldNotifyWidgetClicked() {
-        final ZenCustomRadioButtonPreference preference =
-                new ZenCustomRadioButtonPreference(mContext);
-        final PreferenceViewHolder holder = PreferenceViewHolder.createInstanceForTests(
-                LayoutInflater.from(mContext).inflate(R.layout.preference_two_target_radio, null));
-        final View widgetView = holder.findViewById(android.R.id.widget_frame);
-
-        ZenCustomRadioButtonPreference.OnGearClickListener l = mock(
-                ZenCustomRadioButtonPreference.OnGearClickListener.class);
-        preference.setOnGearClickListener(l);
-        preference.onBindViewHolder(holder);
-
-        widgetView.performClick();
-        verify(l).onGearClick(preference);
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/notification/ZenFooterPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/ZenFooterPreferenceControllerTest.java
deleted file mode 100644
index a6288b3..0000000
--- a/tests/robotests/src/com/android/settings/notification/ZenFooterPreferenceControllerTest.java
+++ /dev/null
@@ -1,141 +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.notification;
-
-import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_AMBIENT;
-import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_BADGE;
-import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_FULL_SCREEN_INTENT;
-import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_LIGHTS;
-import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_NOTIFICATION_LIST;
-import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_PEEK;
-import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_SCREEN_OFF;
-import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_SCREEN_ON;
-import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_STATUS_BAR;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.app.NotificationManager;
-import android.content.Context;
-
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.R;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-import com.android.settingslib.widget.FooterPreference;
-
-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 org.robolectric.shadows.ShadowApplication;
-import org.robolectric.util.ReflectionHelpers;
-
-@RunWith(RobolectricTestRunner.class)
-public class ZenFooterPreferenceControllerTest {
-    private ZenFooterPreferenceController mController;
-
-    @Mock
-    private ZenModeBackend mBackend;
-    @Mock
-    private FooterPreference mockPref;
-    private Context mContext;
-    @Mock
-    private PreferenceScreen mScreen;
-    @Mock
-    NotificationManager mNotificationManager;
-
-    private static final String PREF_KEY = "main_pref";
-
-    @Before
-    public void setup() {
-        MockitoAnnotations.initMocks(this);
-        ShadowApplication shadowApplication = ShadowApplication.getInstance();
-        mContext = RuntimeEnvironment.application;
-        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
-        when(mNotificationManager.getNotificationPolicy()).thenReturn(
-                mock(NotificationManager.Policy.class));
-        mController = new ZenFooterPreferenceController(
-                mContext, mock(Lifecycle.class), PREF_KEY);
-        ReflectionHelpers.setField(mController, "mBackend", mBackend);
-
-        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mockPref);
-    }
-
-    @Test
-    public void isAvailable_noVisEffects() {
-        mBackend.mPolicy = new NotificationManager.Policy(0, 0, 0, 0);
-        assertThat(mController.isAvailable()).isTrue();
-    }
-
-    @Test
-    public void isAvailable_someVisEffects() {
-        mBackend.mPolicy = new NotificationManager.Policy(0, 0, 0, 2);
-        assertThat(mController.isAvailable()).isFalse();
-    }
-
-    @Test
-    public void isAvailable_allVisEffects() {
-        int allSuppressed = SUPPRESSED_EFFECT_SCREEN_OFF
-                | SUPPRESSED_EFFECT_SCREEN_ON
-                | SUPPRESSED_EFFECT_FULL_SCREEN_INTENT
-                | SUPPRESSED_EFFECT_AMBIENT
-                | SUPPRESSED_EFFECT_STATUS_BAR
-                | SUPPRESSED_EFFECT_BADGE
-                | SUPPRESSED_EFFECT_LIGHTS
-                | SUPPRESSED_EFFECT_PEEK
-                | SUPPRESSED_EFFECT_NOTIFICATION_LIST;
-        mBackend.mPolicy = new NotificationManager.Policy(0, 0, 0, allSuppressed);
-        assertThat(mController.isAvailable()).isTrue();
-    }
-
-    @Test
-    public void updateSummary_noVisEffects() {
-        mBackend.mPolicy = new NotificationManager.Policy(0, 0, 0, 0);
-        mController.updateState(mockPref);
-        verify(mockPref).setTitle(R.string.zen_mode_restrict_notifications_mute_footer);
-    }
-
-    @Test
-    public void getSummary_someVisEffects() {
-        mBackend.mPolicy = new NotificationManager.Policy(0, 0, 0, 2);
-        mController.updateState(mockPref);
-        verify(mockPref).setTitle(null);
-    }
-
-    @Test
-    public void getSummary_allVisEffects() {
-        int allSuppressed = SUPPRESSED_EFFECT_SCREEN_OFF
-                | SUPPRESSED_EFFECT_SCREEN_ON
-                | SUPPRESSED_EFFECT_FULL_SCREEN_INTENT
-                | SUPPRESSED_EFFECT_AMBIENT
-                | SUPPRESSED_EFFECT_STATUS_BAR
-                | SUPPRESSED_EFFECT_BADGE
-                | SUPPRESSED_EFFECT_LIGHTS
-                | SUPPRESSED_EFFECT_PEEK
-                | SUPPRESSED_EFFECT_NOTIFICATION_LIST;
-        mBackend.mPolicy = new NotificationManager.Policy(0, 0, 0, allSuppressed);
-        mController.updateState(mockPref);
-        verify(mockPref).setTitle(R.string.zen_mode_restrict_notifications_hide_footer);
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/notification/ZenModeAlarmsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/ZenModeAlarmsPreferenceControllerTest.java
deleted file mode 100644
index cfeae7d..0000000
--- a/tests/robotests/src/com/android/settings/notification/ZenModeAlarmsPreferenceControllerTest.java
+++ /dev/null
@@ -1,139 +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.provider.Settings.Global.ZEN_MODE;
-import static android.provider.Settings.Global.ZEN_MODE_ALARMS;
-import static android.provider.Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS;
-import static android.provider.Settings.Global.ZEN_MODE_NO_INTERRUPTIONS;
-
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.app.NotificationManager;
-import android.content.ContentResolver;
-import android.content.Context;
-import android.provider.Settings;
-
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-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 org.robolectric.shadows.ShadowApplication;
-import org.robolectric.util.ReflectionHelpers;
-
-import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
-
-@RunWith(RobolectricTestRunner.class)
-public class ZenModeAlarmsPreferenceControllerTest {
-
-    private static final boolean ALARMS_SETTINGS = true;
-
-    private ZenModeAlarmsPreferenceController mController;
-
-    @Mock
-    private ZenModeBackend mBackend;
-    @Mock
-    private NotificationManager mNotificationManager;
-    @Mock
-    private SwitchPreference mockPref;
-    @Mock
-    private NotificationManager.Policy mPolicy;
-    @Mock
-    private PreferenceScreen mPreferenceScreen;
-
-    private Context mContext;
-    private ContentResolver mContentResolver;
-
-    @Before
-    public void setup() {
-        MockitoAnnotations.initMocks(this);
-        ShadowApplication shadowApplication = ShadowApplication.getInstance();
-        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
-
-        mContext = RuntimeEnvironment.application;
-        mContentResolver = RuntimeEnvironment.application.getContentResolver();
-        when(mNotificationManager.getNotificationPolicy()).thenReturn(mPolicy);
-        mController = new ZenModeAlarmsPreferenceController(mContext, mock(Lifecycle.class),
-                "zen_mode_behavior_alarms");
-        ReflectionHelpers.setField(mController, "mBackend", mBackend);
-
-        when(mPreferenceScreen.findPreference(mController.getPreferenceKey()))
-                .thenReturn(mockPref);
-        mController.displayPreference(mPreferenceScreen);
-    }
-
-    @Test
-    public void updateState_TotalSilence() {
-        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_NO_INTERRUPTIONS);
-
-        final SwitchPreference mockPref = mock(SwitchPreference.class);
-        mController.updateState(mockPref);
-
-        verify(mockPref).setEnabled(false);
-        verify(mockPref).setChecked(false);
-    }
-
-    @Test
-    public void updateState_AlarmsOnly() {
-        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_ALARMS);
-
-        final SwitchPreference mockPref = mock(SwitchPreference.class);
-        mController.updateState(mockPref);
-
-        verify(mockPref).setEnabled(false);
-        verify(mockPref).setChecked(true);
-    }
-
-    @Test
-    public void updateState_Priority() {
-        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_IMPORTANT_INTERRUPTIONS);
-
-        when(mBackend.isPriorityCategoryEnabled(
-                NotificationManager.Policy.PRIORITY_CATEGORY_ALARMS)).thenReturn(ALARMS_SETTINGS);
-
-        mController.updateState(mockPref);
-
-        verify(mockPref).setEnabled(true);
-        verify(mockPref).setChecked(ALARMS_SETTINGS);
-    }
-
-    @Test
-    public void onPreferenceChanged_EnableAlarms() {
-        boolean allowAlarms = true;
-        mController.onPreferenceChange(mockPref, allowAlarms);
-
-        verify(mBackend)
-                .saveSoundPolicy(NotificationManager.Policy.PRIORITY_CATEGORY_ALARMS, allowAlarms);
-    }
-
-    @Test
-    public void onPreferenceChanged_DisableAlarms() {
-        boolean allowAlarms = false;
-        mController.onPreferenceChange(mockPref, allowAlarms);
-
-        verify(mBackend)
-                .saveSoundPolicy(NotificationManager.Policy.PRIORITY_CATEGORY_ALARMS, allowAlarms);
-    }
-}
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/notification/ZenModeAllBypassingAppsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/ZenModeAllBypassingAppsPreferenceControllerTest.java
deleted file mode 100644
index bf3057e..0000000
--- a/tests/robotests/src/com/android/settings/notification/ZenModeAllBypassingAppsPreferenceControllerTest.java
+++ /dev/null
@@ -1,113 +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.notification;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.never;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.app.NotificationChannel;
-import android.content.Context;
-import android.content.pm.ApplicationInfo;
-import android.content.pm.ParceledListSlice;
-
-import com.android.settingslib.applications.ApplicationsState;
-
-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 org.robolectric.util.ReflectionHelpers;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import androidx.fragment.app.Fragment;
-import androidx.preference.PreferenceScreen;
-
-@RunWith(RobolectricTestRunner.class)
-public class ZenModeAllBypassingAppsPreferenceControllerTest {
-    private ZenModeAllBypassingAppsPreferenceController mController;
-
-    private Context mContext;
-    @Mock
-    private NotificationBackend mBackend;
-    @Mock
-    private PreferenceScreen mPreferenceScreen;
-    @Mock
-    private ApplicationsState mApplicationState;
-
-    @Before
-    public void setup() {
-        MockitoAnnotations.initMocks(this);
-        mContext = RuntimeEnvironment.application;
-
-        mController = new ZenModeAllBypassingAppsPreferenceController(
-                mContext, null, mock(Fragment.class));
-        mController.mPreferenceScreen = mPreferenceScreen;
-        mController.mApplicationsState = mApplicationState;
-        mController.mPrefContext = mContext;
-        ReflectionHelpers.setField(mController, "mNotificationBackend", mBackend);
-    }
-
-    @Test
-    public void testIsAvailable() {
-        assertThat(mController.isAvailable()).isTrue();
-    }
-
-    @Test
-    public void testUpdateNotificationChannelList() {
-        ApplicationsState.AppEntry entry = mock(ApplicationsState.AppEntry.class);
-        entry.info = new ApplicationInfo();
-        entry.info.packageName = "test";
-        entry.info.uid = 0;
-
-        List<ApplicationsState.AppEntry> appEntries = new ArrayList<>();
-        appEntries.add(entry);
-
-        List<NotificationChannel> channelsBypassing = new ArrayList<>();
-        channelsBypassing.add(mock(NotificationChannel.class));
-        channelsBypassing.add(mock(NotificationChannel.class));
-        channelsBypassing.add(mock(NotificationChannel.class));
-
-        when(mBackend.getNotificationChannelsBypassingDnd(entry.info.packageName,
-                entry.info.uid)).thenReturn(new ParceledListSlice<>(channelsBypassing));
-
-        mController.updateNotificationChannelList(appEntries);
-        verify(mPreferenceScreen, times(3)).addPreference(any());
-    }
-
-    @Test
-    public void testUpdateNotificationChannelList_nullChannels() {
-        mController.updateNotificationChannelList(null);
-        verify(mPreferenceScreen, never()).addPreference(any());
-    }
-
-    @Test
-    public void testUpdateNotificationChannelList_emptyChannelsList() {
-        mController.updateNotificationChannelList(new ArrayList<>());
-        verify(mPreferenceScreen, never()).addPreference(any());
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/notification/ZenModeAutomaticRulesPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/ZenModeAutomaticRulesPreferenceControllerTest.java
deleted file mode 100644
index 41227c5..0000000
--- a/tests/robotests/src/com/android/settings/notification/ZenModeAutomaticRulesPreferenceControllerTest.java
+++ /dev/null
@@ -1,155 +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 org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.anyInt;
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.never;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.app.AutomaticZenRule;
-import android.content.Context;
-import android.provider.Settings;
-
-import androidx.fragment.app.Fragment;
-import androidx.preference.PreferenceCategory;
-import androidx.preference.PreferenceScreen;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.mockito.internal.util.reflection.FieldSetter;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-import org.robolectric.util.ReflectionHelpers;
-
-import java.util.HashMap;
-import java.util.Map;
-
-@RunWith(RobolectricTestRunner.class)
-public class ZenModeAutomaticRulesPreferenceControllerTest {
-
-    private ZenModeAutomaticRulesPreferenceController mController;
-    @Mock
-    private ZenModeBackend mBackend;
-    @Mock
-    private PreferenceCategory mockPref;
-    @Mock
-    private PreferenceScreen mPreferenceScreen;
-    @Mock
-    private ZenRulePreference mZenRulePreference;
-    private Context mContext;
-
-    @Before
-    public void setup() {
-        MockitoAnnotations.initMocks(this);
-        mContext = RuntimeEnvironment.application;
-        mController = spy(new ZenModeAutomaticRulesPreferenceController(mContext, mock(Fragment.class),
-            null));
-        ReflectionHelpers.setField(mController, "mBackend", mBackend);
-        when(mPreferenceScreen.findPreference(mController.getPreferenceKey())).thenReturn(
-            mockPref);
-        mController.displayPreference(mPreferenceScreen);
-        doReturn(mZenRulePreference).when(mController).createZenRulePreference(any());
-    }
-
-    @Test
-    public void testUpdateState_clearsPreferencesWhenAddingNewPreferences() {
-        final int NUM_RULES = 3;
-        Map<String, AutomaticZenRule> rMap = new HashMap<>();
-
-        String ruleId1 = "test1_id";
-        String ruleId2 = "test2_id";
-        String ruleId3 = "test3_id";
-
-        AutomaticZenRule autoRule1 = new AutomaticZenRule("test_rule_1", null, null,
-            null, null, Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS, true, 10);
-        AutomaticZenRule autoRule2 = new AutomaticZenRule("test_rule_2", null, null,
-            null, null, Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS, true, 20);
-        AutomaticZenRule autoRule3 = new AutomaticZenRule("test_rule_3", null, null,
-            null, null, Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS, true, 30);
-
-        rMap.put(ruleId1, autoRule1);
-        rMap.put(ruleId2, autoRule2);
-        rMap.put(ruleId3, autoRule3);
-
-        // should add 3 new preferences to mockPref
-        mockGetAutomaticZenRules(NUM_RULES, rMap);
-        mController.updateState(mockPref);
-        verify(mockPref, times(1)).removeAll();
-        verify(mockPref, times(NUM_RULES)).addPreference(any());
-    }
-
-    @Test
-    public void testUpdateState_clearsPreferencesWhenRemovingPreferences(){
-        final int NUM_RULES = 2;
-        Map<String, AutomaticZenRule> rMap = new HashMap<>();
-
-        String ruleId1 = "test1_id";
-        String ruleId2 = "test2_id";
-
-        AutomaticZenRule autoRule1 = new AutomaticZenRule("test_rule_1", null, null,
-            null, null, Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS, true, 10);
-        AutomaticZenRule autoRule2 = new AutomaticZenRule("test_rule_2", null, null,
-            null, null, Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS, true, 20);
-
-        rMap.put(ruleId1, autoRule1);
-        rMap.put(ruleId2, autoRule2);
-
-        // update state should re-add all preferences since a preference was deleted
-        when(mockPref.getPreferenceCount()).thenReturn(NUM_RULES + 2);
-        mockGetAutomaticZenRules(NUM_RULES, rMap);
-        mController.updateState(mockPref);
-        verify(mockPref, times(1)).removeAll();
-        verify(mockPref, times(NUM_RULES)).addPreference(any());
-    }
-
-    @Test
-    public void testUpdateState_updateEnableState() throws NoSuchFieldException {
-        final int NUM_RULES = 1;
-        Map<String, AutomaticZenRule> rMap = new HashMap<>();
-        String testId = "test1_id";
-        AutomaticZenRule rule = new AutomaticZenRule("rule_name", null, null,
-            null, null, Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS, true, 10);
-        rMap.put(testId, rule);
-
-        when(mockPref.getPreferenceCount()).thenReturn(NUM_RULES);
-        when(mockPref.getPreference(anyInt())).thenReturn(mZenRulePreference);
-
-        // update state should NOT re-add all the preferences, should only update enable state
-        rule.setEnabled(false);
-        rMap.put(testId, rule);
-        mockGetAutomaticZenRules(NUM_RULES, rMap);
-        FieldSetter.setField(mZenRulePreference, ZenRulePreference.class.getDeclaredField("mId"), testId);
-        mController.updateState(mockPref);
-        verify(mZenRulePreference, times(1)).updatePreference(any());
-        verify(mController, never()).reloadAllRules(any());
-    }
-
-    private void mockGetAutomaticZenRules(int numRules, Map<String, AutomaticZenRule> rules) {
-        Map.Entry<String, AutomaticZenRule>[] arr = new Map.Entry[numRules];
-        rules.entrySet().toArray(arr);
-        when(mBackend.getAutomaticZenRules()).thenReturn(arr);
-    }
-}
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/notification/ZenModeBackendTest.java b/tests/robotests/src/com/android/settings/notification/ZenModeBackendTest.java
deleted file mode 100644
index 6cf19a6..0000000
--- a/tests/robotests/src/com/android/settings/notification/ZenModeBackendTest.java
+++ /dev/null
@@ -1,174 +0,0 @@
-package com.android.settings.notification;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static junit.framework.Assert.assertEquals;
-
-import static org.mockito.Mockito.doAnswer;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-
-import android.app.AutomaticZenRule;
-import android.app.NotificationManager;
-import android.content.Context;
-import android.database.Cursor;
-import android.provider.Settings;
-import android.service.notification.ZenModeConfig;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.mockito.invocation.InvocationOnMock;
-import org.mockito.stubbing.Answer;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-import org.robolectric.shadows.ShadowApplication;
-
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-@RunWith(RobolectricTestRunner.class)
-public class ZenModeBackendTest {
-    @Mock
-    private NotificationManager mNotificationManager;
-
-    private static final String GENERIC_RULE_NAME = "test";
-    private static final String DEFAULT_ID_1 = ZenModeConfig.EVENTS_DEFAULT_RULE_ID;
-    private static final String DEFAULT_ID_2 = ZenModeConfig.EVERY_NIGHT_DEFAULT_RULE_ID;
-
-    private Context mContext;
-    private ZenModeBackend mBackend;
-
-    @Before
-    public void setup() {
-        MockitoAnnotations.initMocks(this);
-        ShadowApplication shadowApplication = ShadowApplication.getInstance();
-        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
-
-        mContext = RuntimeEnvironment.application;
-        mBackend = new ZenModeBackend(mContext);
-    }
-
-    @Test
-    public void updateState_checkRuleOrderingDescending() {
-        final int NUM_RULES = 4;
-        Map.Entry<String, AutomaticZenRule>[] rules = populateAutoZenRulesDescendingCreationTime(
-                NUM_RULES, false);
-        Arrays.sort(rules, ZenModeBackend.RULE_COMPARATOR);
-
-        // check ordering, most recent should be at the end
-        for (int i = 0; i < NUM_RULES; i++) {
-            assertEquals(GENERIC_RULE_NAME + (NUM_RULES - 1 - i), rules[i].getKey());
-        }
-    }
-
-    @Test
-    public void updateState_checkRuleOrderingAscending() {
-        final int NUM_RULES = 4;
-        Map.Entry<String, AutomaticZenRule>[] rules = populateAutoZenRulesAscendingCreationTime(
-                NUM_RULES, false);
-        Arrays.sort(rules, ZenModeBackend.RULE_COMPARATOR);
-
-        // check ordering, most recent should be at the end
-        for (int i = 0; i < NUM_RULES; i++) {
-            assertEquals(GENERIC_RULE_NAME + i, rules[i].getKey());
-        }
-    }
-
-    @Test
-    public void updateState_checkRuleOrderingDescending_withDefaultRules() {
-        final int NUM_RULES = 4;
-
-        Map.Entry<String, AutomaticZenRule>[] rules = populateAutoZenRulesDescendingCreationTime(NUM_RULES,
-                true);
-        Arrays.sort(rules, ZenModeBackend.RULE_COMPARATOR);
-
-        assertEquals(rules[0].getKey(), DEFAULT_ID_1);
-        assertEquals(rules[1].getKey(), DEFAULT_ID_2);
-        // NON-DEFAULT RULES check ordering, most recent at the bottom/end
-        for (int i = 0; i < NUM_RULES; i++) {
-            assertEquals(GENERIC_RULE_NAME + (NUM_RULES - 1 - i), rules[i + 2].getKey());
-        }
-    }
-
-    @Test
-    public void updateSummary_nullCursorValues() {
-        Cursor testCursorWithNullValues = createMockCursor(3);
-        when(testCursorWithNullValues.getString(0)).thenReturn(null);
-
-        // expected - no null values
-        List<String> contacts = mBackend.getStarredContacts(testCursorWithNullValues);
-        for (String contact : contacts) {
-            assertThat(contact).isNotNull();
-        }
-    }
-
-    private Cursor createMockCursor(int size) {
-        Cursor mockCursor = mock(Cursor.class);
-        when(mockCursor.moveToFirst()).thenReturn(true);
-
-        doAnswer(new Answer<Boolean>() {
-            int count = 0;
-
-            @Override
-            public Boolean answer(InvocationOnMock invocation) throws Throwable {
-                if (count < size) {
-                    count++;
-                    return true;
-                }
-                return false;
-            }
-
-        }).when(mockCursor).moveToNext();
-
-        return mockCursor;
-    }
-
-    private Map.Entry<String, AutomaticZenRule>[] populateAutoZenRulesAscendingCreationTime(
-            int numRules, boolean addDefaultRules) {
-        Map<String, AutomaticZenRule> ruleMap = new HashMap<>();
-
-        for (int i = 0; i < numRules; i++) {
-            ruleMap.put(GENERIC_RULE_NAME + i, new AutomaticZenRule(GENERIC_RULE_NAME + i, null,
-                    null, null, null, Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS, true,
-                    i * 2));
-        }
-
-        if (addDefaultRules) {
-            ruleMap.put(DEFAULT_ID_1, new AutomaticZenRule("DEFAULT_1_NAME", null, null, null,
-                    null, Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS, true, 20));
-            ruleMap.put(DEFAULT_ID_2, new AutomaticZenRule("DEFAULT_2_NAME", null, null, null,
-                    null, Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS, true, 10));
-        }
-
-        Map.Entry<String, AutomaticZenRule>[] toReturn = new Map.Entry[ruleMap.size()];
-        ruleMap.entrySet().toArray(toReturn);
-        return toReturn;
-    }
-
-    private Map.Entry<String, AutomaticZenRule>[] populateAutoZenRulesDescendingCreationTime(
-            int numRules, boolean addDefaultRules) {
-        Map<String, AutomaticZenRule> ruleMap = new HashMap<>();
-
-        for (int i = 0; i < numRules; i++) {
-            ruleMap.put(GENERIC_RULE_NAME + i, new AutomaticZenRule(GENERIC_RULE_NAME + i, null,
-                    null, null, null, Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS, true,
-                    numRules - i));
-        }
-
-        if (addDefaultRules) {
-            ruleMap.put(DEFAULT_ID_1, new AutomaticZenRule("DEFAULT_1_NAME", null, null, null,
-                    null, Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS, true, 10));
-            ruleMap.put(DEFAULT_ID_2, new AutomaticZenRule("DEFAULT_2_NAME", null, null, null,
-                    null, Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS, true, 20));
-        }
-
-        Map.Entry<String, AutomaticZenRule>[] toReturn = new Map.Entry[ruleMap.size()];
-        ruleMap.entrySet().toArray(toReturn);
-        return toReturn;
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/notification/ZenModeBehaviorFooterPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/ZenModeBehaviorFooterPreferenceControllerTest.java
deleted file mode 100644
index 2c78f2d..0000000
--- a/tests/robotests/src/com/android/settings/notification/ZenModeBehaviorFooterPreferenceControllerTest.java
+++ /dev/null
@@ -1,239 +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.provider.Settings.Global.ZEN_MODE;
-import static android.provider.Settings.Global.ZEN_MODE_ALARMS;
-import static android.provider.Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS;
-import static android.provider.Settings.Global.ZEN_MODE_NO_INTERRUPTIONS;
-import static android.provider.Settings.Global.ZEN_MODE_OFF;
-
-import static org.junit.Assert.assertTrue;
-
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.app.NotificationManager;
-import android.content.ComponentName;
-import android.content.ContentResolver;
-import android.content.Context;
-import android.provider.Settings;
-import android.service.notification.ZenModeConfig;
-import android.service.notification.ZenModeConfig.ZenRule;
-import android.util.ArrayMap;
-
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.R;
-import com.android.settings.notification.AbstractZenModePreferenceController.ZenModeConfigWrapper;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-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 org.robolectric.shadows.ShadowApplication;
-import org.robolectric.util.ReflectionHelpers;
-
-@RunWith(RobolectricTestRunner.class)
-public class ZenModeBehaviorFooterPreferenceControllerTest {
-
-    private static final String TEST_APP_NAME = "test_app";
-    private static final String MANUAL_RULE_FIELD = "manualRule";
-    private static final String AUTOMATIC_RULES_FIELD = "automaticRules";
-
-    private ZenModeBehaviorFooterPreferenceController mController;
-    @Mock
-    private NotificationManager mNotificationManager;
-    @Mock
-    private Preference mockPref;
-    @Mock
-    private ZenModeConfig mZenModeConfig;
-    @Mock
-    private PreferenceScreen mPreferenceScreen;
-    @Mock
-    private ZenModeConfigWrapper mConfigWrapper;
-
-    private Context mContext;
-    private ContentResolver mContentResolver;
-    private int mTitleResId = R.string.zen_sound_title;
-
-    @Before
-    public void setup() {
-        MockitoAnnotations.initMocks(this);
-        ShadowApplication shadowApplication = ShadowApplication.getInstance();
-        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
-
-        mContext = RuntimeEnvironment.application;
-        mContentResolver = RuntimeEnvironment.application.getContentResolver();
-        when(mNotificationManager.getZenModeConfig()).thenReturn(mZenModeConfig);
-
-        mController = new ZenModeBehaviorFooterPreferenceController(
-                mContext, mock(Lifecycle.class), mTitleResId);
-        ReflectionHelpers.setField(mController, "mZenModeConfigWrapper", mConfigWrapper);
-
-        when(mPreferenceScreen.findPreference(mController.getPreferenceKey()))
-                .thenReturn(mockPref);
-        mController.displayPreference(mPreferenceScreen);
-    }
-
-    @Test
-    public void totalSilence_footerIsAvailable() {
-        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_NO_INTERRUPTIONS);
-        assertTrue(mController.isAvailable());
-    }
-
-    @Test
-    public void alarmsOnly_footerIsAvailable() {
-        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_ALARMS);
-        assertTrue(mController.isAvailable());
-    }
-
-    @Test
-    public void priorityOnly_footerIsAvailable() {
-        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_IMPORTANT_INTERRUPTIONS);
-        assertTrue(mController.isAvailable());
-    }
-
-    @Test
-    public void zenModeOff_footerIsAvailable() {
-        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_OFF);
-        assertTrue(mController.isAvailable());
-    }
-
-    @Test
-    public void zenModeOff_updateState_noFooterTitle() {
-        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_OFF);
-        mController.updateState(mockPref);
-
-        verify(mockPref).setTitle(mContext.getString(mTitleResId));
-    }
-
-    @Test
-    public void zenModeImportantInterruptions_updateState_noFooterTitle() {
-        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_IMPORTANT_INTERRUPTIONS);
-        mController.updateState(mockPref);
-
-        verify(mockPref).setTitle(mContext.getString(mTitleResId));
-    }
-
-    @Test
-    public void deprecatedZenModeAlarms_qsManualRule_setFooterTitle() {
-        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_ALARMS);
-
-        ZenRule injectedManualRule = new ZenRule();
-        injectedManualRule.zenMode = ZEN_MODE_ALARMS;
-        ReflectionHelpers.setField(mZenModeConfig, MANUAL_RULE_FIELD, injectedManualRule);
-
-        mController.updateState(mockPref);
-
-        verify(mockPref).setTitle(mContext.getString(
-                com.android.settings.R.string.zen_mode_qs_set_behavior));
-    }
-
-    @Test
-    public void deprecatedZenModeAlarms_appManualRule_setFooterTitle() {
-        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_ALARMS);
-
-        ZenRule injectedManualRule = new ZenRule();
-        injectedManualRule.zenMode = ZEN_MODE_ALARMS;
-        injectedManualRule.enabler = TEST_APP_NAME;
-        when(mConfigWrapper.getOwnerCaption(injectedManualRule.enabler)).thenReturn(TEST_APP_NAME);
-        ReflectionHelpers.setField(mZenModeConfig, MANUAL_RULE_FIELD, injectedManualRule);
-
-        mController.updateState(mockPref);
-
-        verify(mockPref).setTitle(mContext.getString(
-                com.android.settings.R.string.zen_mode_app_set_behavior, TEST_APP_NAME));
-    }
-
-    @Test
-    public void deprecatedZenModeNoInterruptions_qsManualRule_setFooterTitle() {
-        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_NO_INTERRUPTIONS);
-
-        ZenRule injectedManualRule = new ZenRule();
-        injectedManualRule.zenMode = ZEN_MODE_NO_INTERRUPTIONS;
-        ReflectionHelpers.setField(mZenModeConfig, MANUAL_RULE_FIELD, injectedManualRule);
-
-        mController.updateState(mockPref);
-
-        verify(mockPref).setTitle(mContext.getString(
-                com.android.settings.R.string.zen_mode_qs_set_behavior));
-    }
-
-    @Test
-    public void deprecatedZenModeNoInterruptions_appManualRule_setFooterTitle() {
-        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_NO_INTERRUPTIONS);
-
-        ZenRule injectedManualRule = new ZenRule();
-        injectedManualRule.zenMode = ZEN_MODE_NO_INTERRUPTIONS;
-        injectedManualRule.enabler = TEST_APP_NAME;
-        when(mConfigWrapper.getOwnerCaption(injectedManualRule.enabler)).thenReturn(TEST_APP_NAME);
-        ReflectionHelpers.setField(mZenModeConfig, MANUAL_RULE_FIELD, injectedManualRule);
-
-        mController.updateState(mockPref);
-
-        verify(mockPref).setTitle(mContext.getString(
-                com.android.settings.R.string.zen_mode_app_set_behavior, TEST_APP_NAME));
-    }
-
-    @Test
-    public void deprecatedZenModeAlarms_automaticRule_setFooterTitle() {
-        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_ALARMS);
-
-        ArrayMap<String, ZenRule> injectedAutomaticRules = new ArrayMap<>();
-        ZenRule injectedRule = spy(new ZenRule());
-        injectedRule.zenMode = ZEN_MODE_ALARMS;
-        injectedRule.component = mock(ComponentName.class);
-        when(injectedRule.isAutomaticActive()).thenReturn(true);
-        when(injectedRule.component.getPackageName()).thenReturn(TEST_APP_NAME);
-        injectedAutomaticRules.put("testid", injectedRule);
-
-        ReflectionHelpers.setField(mZenModeConfig, AUTOMATIC_RULES_FIELD, injectedAutomaticRules);
-
-        mController.updateState(mockPref);
-
-        verify(mockPref).setTitle(mContext.getString(
-                com.android.settings.R.string.zen_mode_app_set_behavior, TEST_APP_NAME));
-    }
-
-    @Test
-    public void deprecatedZenModeNoInterruptions_automaticRule_setFooterTitle() {
-        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_NO_INTERRUPTIONS);
-
-        ArrayMap<String, ZenRule> injectedAutomaticRules = new ArrayMap<>();
-        ZenRule injectedRule = spy(new ZenRule());
-        injectedRule.zenMode = ZEN_MODE_NO_INTERRUPTIONS;
-        injectedRule.component = mock(ComponentName.class);
-        when(injectedRule.isAutomaticActive()).thenReturn(true);
-        when(injectedRule.component.getPackageName()).thenReturn(TEST_APP_NAME);
-        injectedAutomaticRules.put("testid", injectedRule);
-
-        ReflectionHelpers.setField(mZenModeConfig, AUTOMATIC_RULES_FIELD, injectedAutomaticRules);
-
-        mController.updateState(mockPref);
-
-        verify(mockPref).setTitle(mContext.getString(
-                com.android.settings.R.string.zen_mode_app_set_behavior, TEST_APP_NAME));
-    }
-}
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/notification/ZenModeBlockedEffectsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/ZenModeBlockedEffectsPreferenceControllerTest.java
deleted file mode 100644
index 448800f..0000000
--- a/tests/robotests/src/com/android/settings/notification/ZenModeBlockedEffectsPreferenceControllerTest.java
+++ /dev/null
@@ -1,75 +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.notification;
-
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-
-import android.app.NotificationManager;
-import android.content.Context;
-
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-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 org.robolectric.shadows.ShadowApplication;
-import org.robolectric.util.ReflectionHelpers;
-
-@RunWith(RobolectricTestRunner.class)
-public final class ZenModeBlockedEffectsPreferenceControllerTest {
-
-    private ZenModeBlockedEffectsPreferenceController mController;
-    @Mock
-    private NotificationManager mNotificationManager;
-    @Mock
-    private NotificationManager.Policy mPolicy;
-
-    private Context mContext;
-    @Mock
-    private ZenModeBackend mBackend;
-
-    @Before
-    public void setup() {
-        MockitoAnnotations.initMocks(this);
-        ShadowApplication shadowApplication = ShadowApplication.getInstance();
-        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
-
-        mContext = RuntimeEnvironment.application;
-        when(mNotificationManager.getNotificationPolicy()).thenReturn(mPolicy);
-
-        mController = new ZenModeBlockedEffectsPreferenceController(
-                mContext, mock(Lifecycle.class));
-        ReflectionHelpers.setField(mController, "mBackend", mBackend);
-    }
-
-    @Test
-    public void testIsAvailable() {
-        assertTrue(mController.isAvailable());
-    }
-
-    @Test
-    public void testHasSummary() {
-        assertNotNull(mController.getSummary());
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/notification/ZenModeButtonPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/ZenModeButtonPreferenceControllerTest.java
deleted file mode 100644
index 1071b48..0000000
--- a/tests/robotests/src/com/android/settings/notification/ZenModeButtonPreferenceControllerTest.java
+++ /dev/null
@@ -1,149 +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.provider.Settings.Global.ZEN_MODE;
-import static android.provider.Settings.Global.ZEN_MODE_ALARMS;
-import static android.provider.Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS;
-import static android.provider.Settings.Global.ZEN_MODE_NO_INTERRUPTIONS;
-import static android.provider.Settings.Global.ZEN_MODE_OFF;
-
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.app.NotificationManager;
-import android.content.ContentResolver;
-import android.content.Context;
-import android.provider.Settings;
-import android.view.View;
-import android.widget.Button;
-
-import androidx.fragment.app.FragmentManager;
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-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 org.robolectric.shadows.ShadowApplication;
-import org.robolectric.util.ReflectionHelpers;
-
-@RunWith(RobolectricTestRunner.class)
-public class ZenModeButtonPreferenceControllerTest {
-
-    private ZenModeButtonPreferenceController mController;
-
-    @Mock
-    private ZenModeBackend mBackend;
-    @Mock
-    private NotificationManager mNotificationManager;
-    @Mock
-    private Preference mockPref;
-    @Mock
-    private NotificationManager.Policy mPolicy;
-    @Mock
-    private Button mZenButtonOn;
-    @Mock
-    private Button mZenButtonOff;
-    @Mock
-    private PreferenceScreen mPreferenceScreen;
-    private ContentResolver mContentResolver;
-    private Context mContext;
-
-    @Before
-    public void setup() {
-        MockitoAnnotations.initMocks(this);
-        ShadowApplication shadowApplication = ShadowApplication.getInstance();
-        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
-
-        mContext = RuntimeEnvironment.application;
-        mContentResolver = RuntimeEnvironment.application.getContentResolver();
-        mController = new ZenModeButtonPreferenceController(mContext, mock(Lifecycle.class),
-                mock(FragmentManager.class));
-        when(mNotificationManager.getNotificationPolicy()).thenReturn(mPolicy);
-        ReflectionHelpers.setField(mController, "mBackend", mBackend);
-        ReflectionHelpers.setField(mController, "mZenButtonOn", mZenButtonOn);
-        ReflectionHelpers.setField(mController, "mZenButtonOff", mZenButtonOff);
-
-        when(mPreferenceScreen.findPreference(mController.getPreferenceKey())).thenReturn(mockPref);
-        mController.displayPreference(mPreferenceScreen);
-    }
-
-    @Test
-    public void updateState_TotalSilence() {
-        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_NO_INTERRUPTIONS);
-        final Preference mockPref = mock(Preference.class);
-        mController.updateState(mockPref);
-
-        verify(mZenButtonOn).setVisibility(View.GONE);
-        verify(mZenButtonOff).setVisibility(View.VISIBLE);
-    }
-
-    @Test
-    public void updateState_AlarmsOnly() {
-        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_ALARMS);
-        final Preference mockPref = mock(Preference.class);
-        mController.updateState(mockPref);
-
-        verify(mZenButtonOn).setVisibility(View.GONE);
-        verify(mZenButtonOff).setVisibility(View.VISIBLE);
-    }
-
-    @Test
-    public void updateState_Priority() {
-        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_IMPORTANT_INTERRUPTIONS);
-        final Preference mockPref = mock(Preference.class);
-        mController.updateState(mockPref);
-
-        verify(mZenButtonOn).setVisibility(View.GONE);
-        verify(mZenButtonOff).setVisibility(View.VISIBLE);
-    }
-
-    @Test
-    public void updateState_ZenOff() {
-        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_OFF);
-        final Preference mockPref = mock(Preference.class);
-        mController.updateState(mockPref);
-
-        verify(mZenButtonOn).setVisibility(View.VISIBLE);
-        verify(mZenButtonOff).setVisibility(View.GONE);
-    }
-
-    @Test
-    public void updateState_otherUserChangedZen() {
-        final Preference mockPref = mock(Preference.class);
-        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_OFF);
-        mController.updateState(mockPref);
-        verify(mZenButtonOn).setVisibility(View.VISIBLE);
-        verify(mZenButtonOff).setVisibility(View.GONE);
-
-        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_IMPORTANT_INTERRUPTIONS);
-        final int GUEST_USER_ID = 10;
-        mController.mSettingObserver.onChange(false,
-                Settings.Global.getUriFor(Settings.Global.ZEN_MODE), GUEST_USER_ID);
-
-        verify(mZenButtonOn).setVisibility(View.GONE);
-        verify(mZenButtonOff).setVisibility(View.VISIBLE);
-    }
-}
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/notification/ZenModeBypassingAppsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/ZenModeBypassingAppsPreferenceControllerTest.java
deleted file mode 100644
index 9c27356..0000000
--- a/tests/robotests/src/com/android/settings/notification/ZenModeBypassingAppsPreferenceControllerTest.java
+++ /dev/null
@@ -1,72 +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.notification;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.ArgumentMatchers.anyInt;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-
-import android.content.Context;
-
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-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 org.robolectric.util.ReflectionHelpers;
-
-@RunWith(RobolectricTestRunner.class)
-public class ZenModeBypassingAppsPreferenceControllerTest {
-
-    private ZenModeBypassingAppsPreferenceController mController;
-
-    private Context mContext;
-    @Mock
-    private NotificationBackend mBackend;
-
-    @Before
-    public void setup() {
-        MockitoAnnotations.initMocks(this);
-        mContext = RuntimeEnvironment.application;
-
-        mController = new ZenModeBypassingAppsPreferenceController(mContext, mock(Lifecycle.class));
-        ReflectionHelpers.setField(mController, "mNotificationBackend", mBackend);
-    }
-
-    @Test
-    public void testIsAvailable() {
-        when(mBackend.getNumAppsBypassingDnd(anyInt())).thenReturn(5);
-        assertThat(mController.isAvailable()).isTrue();
-    }
-
-    @Test
-    public void testNotAvailable() {
-        when(mBackend.getNumAppsBypassingDnd(anyInt())).thenReturn(0);
-        assertThat(mController.isAvailable()).isFalse();
-    }
-
-    @Test
-    public void testHasSummary() {
-        assertThat(mController.getSummary()).isNotNull();
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/notification/ZenModeCallsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/ZenModeCallsPreferenceControllerTest.java
deleted file mode 100644
index a25a393..0000000
--- a/tests/robotests/src/com/android/settings/notification/ZenModeCallsPreferenceControllerTest.java
+++ /dev/null
@@ -1,80 +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.notification;
-
-import static org.junit.Assert.assertTrue;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.app.NotificationManager;
-import android.content.Context;
-
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-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 org.robolectric.shadows.ShadowApplication;
-import org.robolectric.util.ReflectionHelpers;
-
-import androidx.preference.Preference;
-
-@RunWith(RobolectricTestRunner.class)
-public final class ZenModeCallsPreferenceControllerTest {
-
-    private ZenModeCallsPreferenceController mController;
-    @Mock
-    private NotificationManager mNotificationManager;
-    @Mock
-    private NotificationManager.Policy mPolicy;
-
-    private Context mContext;
-    @Mock
-    private ZenModeBackend mBackend;
-
-    @Before
-    public void setup() {
-        MockitoAnnotations.initMocks(this);
-        ShadowApplication shadowApplication = ShadowApplication.getInstance();
-        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
-
-        mContext = RuntimeEnvironment.application;
-        when(mNotificationManager.getNotificationPolicy()).thenReturn(mPolicy);
-
-        mController = new ZenModeCallsPreferenceController(
-                mContext, mock(Lifecycle.class), "zen_mode_calls_settings");
-        ReflectionHelpers.setField(mController, "mBackend", mBackend);
-    }
-
-    @Test
-    public void testIsAvailable() {
-        assertTrue(mController.isAvailable());
-    }
-
-    @Test
-    public void testHasSummary() {
-        Preference pref = mock(Preference.class);
-        mController.updateState(pref);
-        verify(pref).setSummary(any());
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/notification/ZenModeDurationPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/ZenModeDurationPreferenceControllerTest.java
deleted file mode 100644
index 1488d79..0000000
--- a/tests/robotests/src/com/android/settings/notification/ZenModeDurationPreferenceControllerTest.java
+++ /dev/null
@@ -1,94 +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.notification;
-
-import static org.junit.Assert.assertEquals;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-
-import android.app.NotificationManager;
-import android.content.ContentResolver;
-import android.content.Context;
-import android.provider.Settings;
-
-import com.android.settings.R;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-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 org.robolectric.shadows.ShadowApplication;
-import org.robolectric.util.ReflectionHelpers;
-
-@RunWith(RobolectricTestRunner.class)
-public class ZenModeDurationPreferenceControllerTest {
-    private ZenModeDurationPreferenceController mController;
-
-    @Mock
-    private ZenModeBackend mBackend;
-    @Mock
-    private NotificationManager mNotificationManager;
-    @Mock
-    private NotificationManager.Policy mPolicy;
-    private ContentResolver mContentResolver;
-    private Context mContext;
-
-    @Before
-    public void setup() {
-        MockitoAnnotations.initMocks(this);
-        ShadowApplication shadowApplication = ShadowApplication.getInstance();
-        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
-
-        mContext = RuntimeEnvironment.application;
-        mContentResolver = RuntimeEnvironment.application.getContentResolver();
-        mController = new ZenModeDurationPreferenceController(mContext, mock(Lifecycle.class));
-        when(mNotificationManager.getNotificationPolicy()).thenReturn(mPolicy);
-        ReflectionHelpers.setField(mController, "mBackend", mBackend);
-    }
-
-    @Test
-    public void updateState_DurationForever() {
-        Settings.Secure.putInt(mContentResolver, Settings.Secure.ZEN_DURATION,
-                Settings.Secure.ZEN_DURATION_FOREVER);
-
-        assertEquals(mContext.getString(R.string.zen_mode_duration_summary_forever),
-                mController.getSummary());
-    }
-
-    @Test
-    public void updateState_DurationPrompt() {
-        Settings.Secure.putInt(mContentResolver, Settings.Secure.ZEN_DURATION,
-                Settings.Secure.ZEN_DURATION_PROMPT);
-
-        assertEquals(mContext.getString(R.string.zen_mode_duration_summary_always_prompt),
-                mController.getSummary());
-    }
-
-    @Test
-    public void updateState_DurationCustom() {
-        int zenDuration = 45;
-        Settings.Secure.putInt(mContentResolver, Settings.Secure.ZEN_DURATION,
-                zenDuration);
-
-        assertEquals(mContext.getString(R.string.zen_mode_duration_summary_time_minutes,
-                zenDuration), mController.getSummary());
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/notification/ZenModeEventRuleSettingsTest.java b/tests/robotests/src/com/android/settings/notification/ZenModeEventRuleSettingsTest.java
deleted file mode 100644
index 5029923..0000000
--- a/tests/robotests/src/com/android/settings/notification/ZenModeEventRuleSettingsTest.java
+++ /dev/null
@@ -1,117 +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.notification;
-
-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.verify;
-import static org.mockito.Mockito.when;
-import static org.robolectric.RuntimeEnvironment.application;
-
-import android.app.NotificationManager;
-import android.content.Context;
-import android.content.Intent;
-import android.content.res.Resources;
-
-import androidx.fragment.app.FragmentActivity;
-
-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 org.robolectric.RuntimeEnvironment;
-import org.robolectric.shadows.ShadowApplication;
-import org.robolectric.shadows.ShadowToast;
-
-import java.util.ArrayList;
-import java.util.List;
-
-@RunWith(RobolectricTestRunner.class)
-public class ZenModeEventRuleSettingsTest {
-
-    @Mock
-    private FragmentActivity mActivity;
-
-    @Mock
-    private Intent mIntent;
-
-    @Mock
-    private NotificationManager mNotificationManager;
-
-    private TestFragment mFragment;
-    private Context mContext;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-
-        ShadowApplication shadowApplication = ShadowApplication.getInstance();
-        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
-        mContext = RuntimeEnvironment.application;
-
-        mFragment = spy(new TestFragment());
-        mFragment.onAttach(application);
-
-        doReturn(mActivity).when(mFragment).getActivity();
-
-        Resources res = application.getResources();
-
-        doReturn(res).when(mFragment).getResources();
-        when(mActivity.getTheme()).thenReturn(res.newTheme());
-        when(mActivity.getIntent()).thenReturn(mIntent);
-        when(mActivity.getResources()).thenReturn(res);
-        when(mFragment.getContext()).thenReturn(mContext);
-    }
-
-    @Test
-    public void onCreate_noRuleId_shouldToastAndFinishAndNoCrash() {
-        final String expected = mContext.getString(R.string.zen_mode_rule_not_found_text);
-
-        mFragment.onCreate(null);
-
-        // verify the toast
-        assertThat(ShadowToast.getTextOfLatestToast()).isEqualTo(expected);
-
-        // verify the finish
-        verify(mActivity).finish();
-
-        //should not crash
-    }
-
-    @Test
-    public void testNoDuplicateCalendars() {
-        List<ZenModeEventRuleSettings.CalendarInfo> calendarsList = new ArrayList<>();
-        mFragment.addCalendar(1234, "calName", 1, calendarsList);
-        mFragment.addCalendar(1234, "calName", 2, calendarsList);
-        mFragment.addCalendar(1234, "calName", 3, calendarsList);
-        assertThat(calendarsList.size()).isEqualTo(1);
-    }
-
-    private static class TestFragment extends ZenModeEventRuleSettings {
-
-        @Override
-        protected Object getSystemService(final String name) {
-            return null;
-        }
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/notification/ZenModeEventsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/ZenModeEventsPreferenceControllerTest.java
deleted file mode 100644
index 2e54d08..0000000
--- a/tests/robotests/src/com/android/settings/notification/ZenModeEventsPreferenceControllerTest.java
+++ /dev/null
@@ -1,138 +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.provider.Settings.Global.ZEN_MODE;
-import static android.provider.Settings.Global.ZEN_MODE_ALARMS;
-import static android.provider.Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS;
-import static android.provider.Settings.Global.ZEN_MODE_NO_INTERRUPTIONS;
-
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.app.NotificationManager;
-import android.content.ContentResolver;
-import android.content.Context;
-import android.provider.Settings;
-
-import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
-
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-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 org.robolectric.shadows.ShadowApplication;
-import org.robolectric.util.ReflectionHelpers;
-
-@RunWith(RobolectricTestRunner.class)
-public class ZenModeEventsPreferenceControllerTest {
-
-    private static final boolean EVENTS_SETTINGS = true;
-
-    private ZenModeEventsPreferenceController mController;
-
-    @Mock
-    private ZenModeBackend mBackend;
-    @Mock
-    private NotificationManager mNotificationManager;
-    @Mock
-    private SwitchPreference mockPref;
-    @Mock
-    private NotificationManager.Policy mPolicy;
-    @Mock
-    private PreferenceScreen mPreferenceScreen;
-    private ContentResolver mContentResolver;
-    private Context mContext;
-
-    @Before
-    public void setup() {
-        MockitoAnnotations.initMocks(this);
-        ShadowApplication shadowApplication = ShadowApplication.getInstance();
-        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
-
-        mContext = RuntimeEnvironment.application;
-        mContentResolver = RuntimeEnvironment.application.getContentResolver();
-        when(mNotificationManager.getNotificationPolicy()).thenReturn(mPolicy);
-
-        mController = new ZenModeEventsPreferenceController(mContext, mock(Lifecycle.class));
-        ReflectionHelpers.setField(mController, "mBackend", mBackend);
-
-        when(mPreferenceScreen.findPreference(mController.getPreferenceKey()))
-            .thenReturn(mockPref);
-        mController.displayPreference(mPreferenceScreen);
-    }
-
-    @Test
-    public void updateState_TotalSilence() {
-        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_NO_INTERRUPTIONS);
-
-        final SwitchPreference mockPref = mock(SwitchPreference.class);
-        mController.updateState(mockPref);
-
-        verify(mockPref).setEnabled(false);
-        verify(mockPref).setChecked(false);
-    }
-
-    @Test
-    public void updateState_AlarmsOnly() {
-        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_ALARMS);
-
-        final SwitchPreference mockPref = mock(SwitchPreference.class);
-        mController.updateState(mockPref);
-
-        verify(mockPref).setEnabled(false);
-        verify(mockPref).setChecked(false);
-    }
-
-    @Test
-    public void updateState_Priority() {
-        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_IMPORTANT_INTERRUPTIONS);
-
-        when(mBackend.isPriorityCategoryEnabled(
-                NotificationManager.Policy.PRIORITY_CATEGORY_EVENTS)).thenReturn(EVENTS_SETTINGS);
-
-        mController.updateState(mockPref);
-
-        verify(mockPref).setEnabled(true);
-        verify(mockPref).setChecked(EVENTS_SETTINGS);
-    }
-
-    @Test
-    public void onPreferenceChanged_EnableEvents() {
-        boolean allow = true;
-        mController.onPreferenceChange(mockPref, allow);
-
-        verify(mBackend)
-            .saveSoundPolicy(NotificationManager.Policy.PRIORITY_CATEGORY_EVENTS, allow);
-    }
-
-    @Test
-    public void onPreferenceChanged_DisableEvents() {
-        boolean allow = false;
-        mController.onPreferenceChange(mockPref, allow);
-
-        verify(mBackend)
-            .saveSoundPolicy(NotificationManager.Policy.PRIORITY_CATEGORY_EVENTS, allow);
-    }
-}
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/notification/ZenModeMediaPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/ZenModeMediaPreferenceControllerTest.java
deleted file mode 100644
index 2489d17..0000000
--- a/tests/robotests/src/com/android/settings/notification/ZenModeMediaPreferenceControllerTest.java
+++ /dev/null
@@ -1,139 +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.provider.Settings.Global.ZEN_MODE;
-import static android.provider.Settings.Global.ZEN_MODE_ALARMS;
-import static android.provider.Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS;
-import static android.provider.Settings.Global.ZEN_MODE_NO_INTERRUPTIONS;
-
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.app.NotificationManager;
-import android.content.ContentResolver;
-import android.content.Context;
-import android.provider.Settings;
-
-import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
-
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-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.RuntimeEnvironment;
-import org.robolectric.shadows.ShadowApplication;
-import org.robolectric.util.ReflectionHelpers;
-
-@RunWith(RobolectricTestRunner.class)
-public class ZenModeMediaPreferenceControllerTest {
-    private ZenModeMediaPreferenceController mController;
-
-    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
-    private Context mContext;
-    @Mock
-    private ZenModeBackend mBackend;
-    @Mock
-    private NotificationManager mNotificationManager;
-    @Mock
-    private SwitchPreference mockPref;
-    @Mock
-    private NotificationManager.Policy mPolicy;
-    @Mock
-    private PreferenceScreen mPreferenceScreen;
-    private ContentResolver mContentResolver;
-
-    @Before
-    public void setup() {
-        MockitoAnnotations.initMocks(this);
-        ShadowApplication shadowApplication = ShadowApplication.getInstance();
-        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
-
-        mContext = RuntimeEnvironment.application;
-        mContentResolver = RuntimeEnvironment.application.getContentResolver();
-        when(mNotificationManager.getNotificationPolicy()).thenReturn(mPolicy);
-
-        mController = new ZenModeMediaPreferenceController(mContext,
-                mock(Lifecycle.class));
-        ReflectionHelpers.setField(mController, "mBackend", mBackend);
-
-        when(mPreferenceScreen.findPreference(mController.getPreferenceKey()))
-                .thenReturn(mockPref);
-        mController.displayPreference(mPreferenceScreen);
-    }
-
-    @Test
-    public void updateState_TotalSilence() {
-        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_NO_INTERRUPTIONS);
-
-        final SwitchPreference mockPref = mock(SwitchPreference.class);
-        mController.updateState(mockPref);
-
-        verify(mockPref).setEnabled(false);
-        verify(mockPref).setChecked(false);
-    }
-
-    @Test
-    public void updateState_AlarmsOnly() {
-        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_ALARMS);
-
-        final SwitchPreference mockPref = mock(SwitchPreference.class);
-        mController.updateState(mockPref);
-
-        verify(mockPref).setEnabled(false);
-        verify(mockPref).setChecked(true);
-    }
-
-    @Test
-    public void updateState_Priority() {
-        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_IMPORTANT_INTERRUPTIONS);
-
-        when(mBackend.isPriorityCategoryEnabled(
-                NotificationManager.Policy.PRIORITY_CATEGORY_MEDIA)).
-                thenReturn(true);
-
-        mController.updateState(mockPref);
-
-        verify(mockPref).setEnabled(true);
-        verify(mockPref).setChecked(true);
-    }
-
-    @Test
-    public void onPreferenceChanged_EnableEvents() {
-        boolean allow = true;
-        mController.onPreferenceChange(mockPref, allow);
-
-        verify(mBackend).saveSoundPolicy(
-                NotificationManager.Policy.PRIORITY_CATEGORY_MEDIA, allow);
-    }
-
-    @Test
-    public void onPreferenceChanged_DisableEvents() {
-        boolean allow = false;
-        mController.onPreferenceChange(mockPref, allow);
-
-        verify(mBackend).saveSoundPolicy(
-                NotificationManager.Policy.PRIORITY_CATEGORY_MEDIA, allow);
-    }
-}
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/notification/ZenModeMessagesPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/ZenModeMessagesPreferenceControllerTest.java
deleted file mode 100644
index 808766d..0000000
--- a/tests/robotests/src/com/android/settings/notification/ZenModeMessagesPreferenceControllerTest.java
+++ /dev/null
@@ -1,80 +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.notification;
-
-import static org.junit.Assert.assertTrue;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.app.NotificationManager;
-import android.content.Context;
-
-import androidx.preference.Preference;
-
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-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 org.robolectric.shadows.ShadowApplication;
-import org.robolectric.util.ReflectionHelpers;
-
-@RunWith(RobolectricTestRunner.class)
-public final class ZenModeMessagesPreferenceControllerTest {
-
-    private ZenModeMessagesPreferenceController mController;
-    @Mock
-    private NotificationManager mNotificationManager;
-    @Mock
-    private NotificationManager.Policy mPolicy;
-
-    private Context mContext;
-    @Mock
-    private ZenModeBackend mBackend;
-
-    @Before
-    public void setup() {
-        MockitoAnnotations.initMocks(this);
-        ShadowApplication shadowApplication = ShadowApplication.getInstance();
-        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
-
-        mContext = RuntimeEnvironment.application;
-        when(mNotificationManager.getNotificationPolicy()).thenReturn(mPolicy);
-
-        mController = new ZenModeMessagesPreferenceController(
-                mContext, mock(Lifecycle.class), "zen_mode_messages_settings");
-        ReflectionHelpers.setField(mController, "mBackend", mBackend);
-    }
-
-    @Test
-    public void testIsAvailable() {
-        assertTrue(mController.isAvailable());
-    }
-
-    @Test
-    public void testHasSummary() {
-        Preference pref = mock(Preference.class);
-        mController.updateState(pref);
-        verify(pref).setSummary(any());
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/notification/ZenModePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/ZenModePreferenceControllerTest.java
deleted file mode 100644
index adecd98..0000000
--- a/tests/robotests/src/com/android/settings/notification/ZenModePreferenceControllerTest.java
+++ /dev/null
@@ -1,101 +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.notification;
-
-import static com.android.settings.core.BasePreferenceController.AVAILABLE_UNSEARCHABLE;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.ArgumentMatchers.anyString;
-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.app.NotificationManager;
-import android.app.NotificationManager.Policy;
-import android.content.Context;
-
-import androidx.preference.Preference;
-
-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 org.robolectric.RuntimeEnvironment;
-import org.robolectric.shadows.ShadowApplication;
-import org.robolectric.util.ReflectionHelpers;
-
-@RunWith(RobolectricTestRunner.class)
-public class ZenModePreferenceControllerTest {
-
-    @Mock
-    private Preference mPreference;
-    @Mock
-    private NotificationManager mNotificationManager;
-    @Mock
-    private Policy mPolicy;
-
-    private Context mContext;
-    private ZenModePreferenceController mController;
-    private ZenModeSettings.SummaryBuilder mSummaryBuilder;
-    private static final String KEY_ZEN_MODE = "zen_mode";
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        ShadowApplication shadowApplication = ShadowApplication.getInstance();
-        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
-        mContext = RuntimeEnvironment.application;
-        mController = new ZenModePreferenceController(mContext, KEY_ZEN_MODE);
-        when(mNotificationManager.getNotificationPolicy()).thenReturn(mPolicy);
-        mSummaryBuilder = spy(new ZenModeSettings.SummaryBuilder(mContext));
-        ReflectionHelpers.setField(mController, "mSummaryBuilder", mSummaryBuilder);
-        doReturn(0).when(mSummaryBuilder).getEnabledAutomaticRulesCount();
-    }
-
-    @Test
-    public void isAvailable_unsearchable() {
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE_UNSEARCHABLE);
-    }
-
-    @Test
-    public void updateState_automaticRuleEnabled_shouldSetSummary() {
-        when(mPreference.isEnabled()).thenReturn(true);
-
-        mController.updateState(mPreference);
-        verify(mPreference).setSummary(mContext.getString(R.string.zen_mode_sound_summary_off));
-
-        doReturn(1).when(mSummaryBuilder).getEnabledAutomaticRulesCount();
-        mController.updateState(mPreference);
-        verify(mPreference).setSummary(mSummaryBuilder.getSoundSummary());
-    }
-
-    @Test
-    public void updateState_preferenceDisabled_shouldNotSetSummary() {
-        when(mPreference.isEnabled()).thenReturn(false);
-
-        mController.updateState(mPreference);
-
-        verify(mPreference, never()).setSummary(anyString());
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/notification/ZenModePriorityCallsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/ZenModePriorityCallsPreferenceControllerTest.java
deleted file mode 100644
index 6b9f643..0000000
--- a/tests/robotests/src/com/android/settings/notification/ZenModePriorityCallsPreferenceControllerTest.java
+++ /dev/null
@@ -1,181 +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.notification;
-
-import static android.provider.Settings.Global.ZEN_MODE;
-import static android.provider.Settings.Global.ZEN_MODE_ALARMS;
-import static android.provider.Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS;
-import static android.provider.Settings.Global.ZEN_MODE_NO_INTERRUPTIONS;
-
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.app.NotificationManager;
-import android.content.ContentResolver;
-import android.content.Context;
-import android.provider.Settings;
-
-import androidx.preference.ListPreference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.R;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-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 org.robolectric.shadows.ShadowApplication;
-import org.robolectric.util.ReflectionHelpers;
-
-import androidx.preference.ListPreference;
-import androidx.preference.PreferenceScreen;
-
-@RunWith(RobolectricTestRunner.class)
-public class ZenModePriorityCallsPreferenceControllerTest {
-
-    private ZenModePriorityCallsPreferenceController mController;
-
-    @Mock
-    private ZenModeBackend mBackend;
-    @Mock
-    private NotificationManager mNotificationManager;
-    @Mock
-    private ListPreference mockPref;
-    @Mock
-    private NotificationManager.Policy mPolicy;
-    @Mock
-    private PreferenceScreen mPreferenceScreen;
-    private ContentResolver mContentResolver;
-    private Context mContext;
-
-    /**
-     * Array Values Key
-     * 0: anyone
-     * 1: contacts
-     * 2: starred
-     * 3: none
-     */
-    private String[] mValues;
-
-    @Before
-    public void setup() {
-        MockitoAnnotations.initMocks(this);
-        ShadowApplication shadowApplication = ShadowApplication.getInstance();
-        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
-
-        mContext = RuntimeEnvironment.application;
-        mValues = mContext.getResources().getStringArray(R.array.zen_mode_contacts_values);
-        mContentResolver = RuntimeEnvironment.application.getContentResolver();
-        when(mNotificationManager.getNotificationPolicy()).thenReturn(mPolicy);
-
-        when(mBackend.getPriorityCallSenders())
-                .thenReturn(NotificationManager.Policy.PRIORITY_SENDERS_STARRED);
-        when(mBackend.getAlarmsTotalSilenceCallsMessagesSummary(
-                NotificationManager.Policy.PRIORITY_CATEGORY_CALLS)).thenCallRealMethod();
-        when(mBackend.getContactsSummary(NotificationManager.Policy.PRIORITY_CATEGORY_CALLS))
-                .thenCallRealMethod();
-
-        mController = new ZenModePriorityCallsPreferenceController(mContext, mock(Lifecycle.class));
-        ReflectionHelpers.setField(mController, "mBackend", mBackend);
-
-        when(mPreferenceScreen.findPreference(mController.getPreferenceKey())).thenReturn(mockPref);
-        mController.displayPreference(mPreferenceScreen);
-    }
-
-    @Test
-    public void updateState_TotalSilence() {
-        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_NO_INTERRUPTIONS);
-
-        when(mBackend.isPriorityCategoryEnabled(
-                NotificationManager.Policy.PRIORITY_CATEGORY_CALLS))
-                .thenReturn(false);
-        final ListPreference mockPref = mock(ListPreference.class);
-        mController.updateState(mockPref);
-
-        verify(mockPref).setEnabled(false);
-        verify(mockPref).setSummary(R.string.zen_mode_from_none_calls);
-    }
-
-    @Test
-    public void updateState_AlarmsOnly() {
-        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_ALARMS);
-
-        final ListPreference mockPref = mock(ListPreference.class);
-        mController.updateState(mockPref);
-
-        verify(mockPref).setEnabled(false);
-        verify(mockPref).setSummary(R.string.zen_mode_from_none_calls);
-    }
-
-    @Test
-    public void updateState_Priority() {
-        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_IMPORTANT_INTERRUPTIONS);
-
-        when(mBackend.isPriorityCategoryEnabled(
-                NotificationManager.Policy.PRIORITY_CATEGORY_CALLS))
-                .thenReturn(true);
-
-        mController.updateState(mockPref);
-
-        verify(mockPref).setEnabled(true);
-        verify(mockPref).setSummary(R.string.zen_mode_from_starred);
-    }
-
-    @Test
-    public void onPreferenceChange_setSelectedContacts_any() {
-        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_IMPORTANT_INTERRUPTIONS);
-        when(mBackend.getPriorityCallSenders()).thenReturn(
-                NotificationManager.Policy.PRIORITY_SENDERS_ANY);
-        mController.updateState(mockPref);
-        verify(mockPref).setValue(mValues[mController.getIndexOfSendersValue(
-                ZenModeBackend.ZEN_MODE_FROM_ANYONE)]);
-    }
-
-    @Test
-    public void onPreferenceChange_setSelectedContacts_none() {
-        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_IMPORTANT_INTERRUPTIONS);
-        when(mBackend.getPriorityCallSenders()).thenReturn(ZenModeBackend.SOURCE_NONE);
-        mController.updateState(mockPref);
-        verify(mockPref).setValue(mValues[mController.getIndexOfSendersValue(
-                ZenModeBackend.ZEN_MODE_FROM_NONE)]);
-    }
-
-    @Test
-    public void onPreferenceChange_setSelectedContacts_starred() {
-        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_IMPORTANT_INTERRUPTIONS);
-        when(mBackend.getPriorityCallSenders()).thenReturn(
-                NotificationManager.Policy.PRIORITY_SENDERS_STARRED);
-        mController.updateState(mockPref);
-        verify(mockPref).setValue(mValues[mController.getIndexOfSendersValue(
-                ZenModeBackend.ZEN_MODE_FROM_STARRED)]);
-    }
-
-    @Test
-    public void onPreferenceChange_setSelectedContacts_contacts() {
-        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_IMPORTANT_INTERRUPTIONS);
-        when(mBackend.getPriorityCallSenders()).thenReturn(
-                NotificationManager.Policy.PRIORITY_SENDERS_CONTACTS);
-        mController.updateState(mockPref);
-        verify(mockPref).setValue(mValues[mController.getIndexOfSendersValue(
-                ZenModeBackend.ZEN_MODE_FROM_CONTACTS)]);
-    }
-}
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/notification/ZenModePriorityMessagesPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/ZenModePriorityMessagesPreferenceControllerTest.java
deleted file mode 100644
index 83bf3e4..0000000
--- a/tests/robotests/src/com/android/settings/notification/ZenModePriorityMessagesPreferenceControllerTest.java
+++ /dev/null
@@ -1,181 +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.provider.Settings.Global.ZEN_MODE;
-import static android.provider.Settings.Global.ZEN_MODE_ALARMS;
-import static android.provider.Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS;
-import static android.provider.Settings.Global.ZEN_MODE_NO_INTERRUPTIONS;
-
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.app.NotificationManager;
-import android.content.ContentResolver;
-import android.content.Context;
-import android.provider.Settings;
-
-import androidx.preference.ListPreference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.R;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-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 org.robolectric.shadows.ShadowApplication;
-import org.robolectric.util.ReflectionHelpers;
-
-import androidx.preference.ListPreference;
-import androidx.preference.PreferenceScreen;
-
-@RunWith(RobolectricTestRunner.class)
-public class ZenModePriorityMessagesPreferenceControllerTest {
-
-    private ZenModePriorityMessagesPreferenceController mController;
-
-    @Mock
-    private ZenModeBackend mBackend;
-    @Mock
-    private NotificationManager mNotificationManager;
-    @Mock
-    private ListPreference mockPref;
-    @Mock
-    private NotificationManager.Policy mPolicy;
-    @Mock
-    private PreferenceScreen mPreferenceScreen;
-    private ContentResolver mContentResolver;
-    private Context mContext;
-
-    /**
-     * Array Values Key
-     * 0: anyone
-     * 1: contacts
-     * 2: starred
-     * 3: none
-     */
-    private String[] mValues;
-
-    @Before
-    public void setup() {
-        MockitoAnnotations.initMocks(this);
-        ShadowApplication shadowApplication = ShadowApplication.getInstance();
-        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
-
-        mContext = RuntimeEnvironment.application;
-        mValues = mContext.getResources().getStringArray(R.array.zen_mode_contacts_values);
-        mContentResolver = RuntimeEnvironment.application.getContentResolver();
-        when(mNotificationManager.getNotificationPolicy()).thenReturn(mPolicy);
-
-        when(mBackend.getPriorityMessageSenders())
-            .thenReturn(NotificationManager.Policy.PRIORITY_SENDERS_STARRED);
-        when(mBackend.getAlarmsTotalSilenceCallsMessagesSummary(
-                NotificationManager.Policy.PRIORITY_CATEGORY_MESSAGES)).thenCallRealMethod();
-        when(mBackend.getContactsSummary(NotificationManager.Policy.PRIORITY_CATEGORY_MESSAGES))
-                .thenCallRealMethod();
-
-        mController = new ZenModePriorityMessagesPreferenceController(mContext, mock(Lifecycle.class));
-        ReflectionHelpers.setField(mController, "mBackend", mBackend);
-
-        when(mPreferenceScreen.findPreference(mController.getPreferenceKey())).thenReturn(mockPref);
-        mController.displayPreference(mPreferenceScreen);
-    }
-
-    @Test
-    public void updateState_TotalSilence() {
-        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_NO_INTERRUPTIONS);
-
-        when(mBackend.isPriorityCategoryEnabled(
-                NotificationManager.Policy.PRIORITY_CATEGORY_MESSAGES))
-                .thenReturn(false);
-        final ListPreference mockPref = mock(ListPreference.class);
-        mController.updateState(mockPref);
-
-        verify(mockPref).setEnabled(false);
-        verify(mockPref).setSummary(R.string.zen_mode_from_none_messages);
-    }
-
-    @Test
-    public void updateState_AlarmsOnly() {
-        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_ALARMS);
-
-        final ListPreference mockPref = mock(ListPreference.class);
-        mController.updateState(mockPref);
-
-        verify(mockPref).setEnabled(false);
-        verify(mockPref).setSummary(R.string.zen_mode_from_none_messages);
-    }
-
-    @Test
-    public void updateState_Priority() {
-        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_IMPORTANT_INTERRUPTIONS);
-
-        when(mBackend.isPriorityCategoryEnabled(
-                NotificationManager.Policy.PRIORITY_CATEGORY_MESSAGES))
-                .thenReturn(true);
-
-        mController.updateState(mockPref);
-
-        verify(mockPref).setEnabled(true);
-        verify(mockPref).setSummary(R.string.zen_mode_from_starred);
-    }
-
-    @Test
-    public void onPreferenceChange_setSelectedContacts_any() {
-        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_IMPORTANT_INTERRUPTIONS);
-        when(mBackend.getPriorityMessageSenders()).thenReturn(
-                NotificationManager.Policy.PRIORITY_SENDERS_ANY);
-        mController.updateState(mockPref);
-        verify(mockPref).setValue(mValues[mController.getIndexOfSendersValue(
-                ZenModeBackend.ZEN_MODE_FROM_ANYONE)]);
-    }
-
-    @Test
-    public void onPreferenceChange_setSelectedContacts_none() {
-        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_IMPORTANT_INTERRUPTIONS);
-        when(mBackend.getPriorityMessageSenders()).thenReturn(ZenModeBackend.SOURCE_NONE);
-        mController.updateState(mockPref);
-        verify(mockPref).setValue(mValues[mController.getIndexOfSendersValue(
-                ZenModeBackend.ZEN_MODE_FROM_NONE)]);
-    }
-
-    @Test
-    public void onPreferenceChange_setSelectedContacts_starred() {
-        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_IMPORTANT_INTERRUPTIONS);
-        when(mBackend.getPriorityMessageSenders()).thenReturn(
-                NotificationManager.Policy.PRIORITY_SENDERS_STARRED);
-        mController.updateState(mockPref);
-        verify(mockPref).setValue(mValues[mController.getIndexOfSendersValue(
-                ZenModeBackend.ZEN_MODE_FROM_STARRED)]);
-    }
-
-    @Test
-    public void onPreferenceChange_setSelectedContacts_contacts() {
-        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_IMPORTANT_INTERRUPTIONS);
-        when(mBackend.getPriorityMessageSenders()).thenReturn(
-                NotificationManager.Policy.PRIORITY_SENDERS_CONTACTS);
-        mController.updateState(mockPref);
-        verify(mockPref).setValue(mValues[mController.getIndexOfSendersValue(
-                ZenModeBackend.ZEN_MODE_FROM_CONTACTS)]);
-    }
-}
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/notification/ZenModeRemindersPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/ZenModeRemindersPreferenceControllerTest.java
deleted file mode 100644
index 12e6dfd..0000000
--- a/tests/robotests/src/com/android/settings/notification/ZenModeRemindersPreferenceControllerTest.java
+++ /dev/null
@@ -1,140 +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.provider.Settings.Global.ZEN_MODE;
-import static android.provider.Settings.Global.ZEN_MODE_ALARMS;
-import static android.provider.Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS;
-import static android.provider.Settings.Global.ZEN_MODE_NO_INTERRUPTIONS;
-
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.app.NotificationManager;
-import android.content.ContentResolver;
-import android.content.Context;
-import android.provider.Settings;
-
-import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
-
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-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 org.robolectric.shadows.ShadowApplication;
-import org.robolectric.util.ReflectionHelpers;
-
-@RunWith(RobolectricTestRunner.class)
-public class ZenModeRemindersPreferenceControllerTest {
-
-    private static final boolean REMINDERS_SETTINGS = true;
-
-    private ZenModeRemindersPreferenceController mController;
-
-    @Mock
-    private ZenModeBackend mBackend;
-    @Mock
-    private NotificationManager mNotificationManager;
-    @Mock
-    private SwitchPreference mockPref;
-    @Mock
-    private NotificationManager.Policy mPolicy;
-    @Mock
-    private PreferenceScreen mPreferenceScreen;
-
-    private ContentResolver mContentResolver;
-    private Context mContext;
-
-    @Before
-    public void setup() {
-        MockitoAnnotations.initMocks(this);
-        ShadowApplication shadowApplication = ShadowApplication.getInstance();
-        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
-
-        mContext = RuntimeEnvironment.application;
-        mContentResolver = RuntimeEnvironment.application.getContentResolver();
-        when(mNotificationManager.getNotificationPolicy()).thenReturn(mPolicy);
-
-        mController = new ZenModeRemindersPreferenceController(mContext, mock(Lifecycle.class));
-        ReflectionHelpers.setField(mController, "mBackend", mBackend);
-
-        when(mPreferenceScreen.findPreference(mController.getPreferenceKey()))
-                .thenReturn(mockPref);
-        mController.displayPreference(mPreferenceScreen);
-    }
-
-    @Test
-    public void updateState_TotalSilence() {
-        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_NO_INTERRUPTIONS);
-
-        final SwitchPreference mockPref = mock(SwitchPreference.class);
-        mController.updateState(mockPref);
-
-        verify(mockPref).setEnabled(false);
-        verify(mockPref).setChecked(false);
-    }
-
-    @Test
-    public void updateState_AlarmsOnly() {
-        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_ALARMS);
-
-        final SwitchPreference mockPref = mock(SwitchPreference.class);
-        mController.updateState(mockPref);
-
-        verify(mockPref).setEnabled(false);
-        verify(mockPref).setChecked(false);
-    }
-
-    @Test
-    public void updateState_Priority() {
-        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_IMPORTANT_INTERRUPTIONS);
-
-        when(mBackend.isPriorityCategoryEnabled(
-                NotificationManager.Policy.PRIORITY_CATEGORY_REMINDERS)).
-                thenReturn(REMINDERS_SETTINGS);
-
-        mController.updateState(mockPref);
-
-        verify(mockPref).setEnabled(true);
-        verify(mockPref).setChecked(REMINDERS_SETTINGS);
-    }
-
-    @Test
-    public void onPreferenceChanged_EnableReminders() {
-        boolean allow = true;
-        mController.onPreferenceChange(mockPref, allow);
-
-        verify(mBackend)
-                .saveSoundPolicy(NotificationManager.Policy.PRIORITY_CATEGORY_REMINDERS, allow);
-    }
-
-    @Test
-    public void onPreferenceChanged_DisableReminders() {
-        boolean allow = false;
-        mController.onPreferenceChange(mockPref, allow);
-
-        verify(mBackend)
-                .saveSoundPolicy(NotificationManager.Policy.PRIORITY_CATEGORY_REMINDERS, allow);
-    }
-}
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/notification/ZenModeRepeatCallersPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/ZenModeRepeatCallersPreferenceControllerTest.java
deleted file mode 100644
index 6c2ffac..0000000
--- a/tests/robotests/src/com/android/settings/notification/ZenModeRepeatCallersPreferenceControllerTest.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.notification;
-
-import static android.provider.Settings.Global.ZEN_MODE;
-import static android.provider.Settings.Global.ZEN_MODE_ALARMS;
-import static android.provider.Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS;
-import static android.provider.Settings.Global.ZEN_MODE_NO_INTERRUPTIONS;
-
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.app.NotificationManager;
-import android.content.ContentResolver;
-import android.content.Context;
-import android.provider.Settings;
-
-import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
-
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-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 org.robolectric.shadows.ShadowApplication;
-import org.robolectric.util.ReflectionHelpers;
-
-@RunWith(RobolectricTestRunner.class)
-public class ZenModeRepeatCallersPreferenceControllerTest {
-
-    private static final boolean REPEAT_CALLERS_SETTINGS = true;
-
-    private ZenModeRepeatCallersPreferenceController mController;
-
-    @Mock
-    private ZenModeBackend mBackend;
-    @Mock
-    private NotificationManager mNotificationManager;
-    @Mock
-    private SwitchPreference mockPref;
-    @Mock
-    private NotificationManager.Policy mPolicy;
-    @Mock
-    private PreferenceScreen mPreferenceScreen;
-    private ContentResolver mContentResolver;
-    private Context mContext;
-
-    @Before
-    public void setup() {
-        MockitoAnnotations.initMocks(this);
-        ShadowApplication shadowApplication = ShadowApplication.getInstance();
-        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
-
-        mContext = RuntimeEnvironment.application;
-        mContentResolver = RuntimeEnvironment.application.getContentResolver();
-        when(mNotificationManager.getNotificationPolicy()).thenReturn(mPolicy);
-
-        mController = new ZenModeRepeatCallersPreferenceController(mContext, mock(Lifecycle.class),
-                15);
-        ReflectionHelpers.setField(mController, "mBackend", mBackend);
-
-        when(mPreferenceScreen.findPreference(mController.getPreferenceKey())).thenReturn(mockPref);
-        mController.displayPreference(mPreferenceScreen);
-    }
-
-    @Test
-    public void updateState_TotalSilence() {
-        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_NO_INTERRUPTIONS);
-        final SwitchPreference mockPref = mock(SwitchPreference.class);
-        mController.updateState(mockPref);
-
-        verify(mockPref).setEnabled(false);
-        verify(mockPref).setChecked(false);
-    }
-
-    @Test
-    public void updateState_AlarmsOnly() {
-        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_ALARMS);
-
-        final SwitchPreference mockPref = mock(SwitchPreference.class);
-        mController.updateState(mockPref);
-
-        verify(mockPref).setEnabled(false);
-        verify(mockPref).setChecked(false);
-    }
-
-    @Test
-    public void updateState_Priority() {
-        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_IMPORTANT_INTERRUPTIONS);
-
-        when(mBackend.isPriorityCategoryEnabled(
-                NotificationManager.Policy.PRIORITY_CATEGORY_REPEAT_CALLERS)).
-                thenReturn(REPEAT_CALLERS_SETTINGS);
-
-        mController.updateState(mockPref);
-
-        verify(mockPref).setEnabled(true);
-        verify(mockPref).setChecked(REPEAT_CALLERS_SETTINGS);
-    }
-
-    @Test
-    public void updateState_Priority_anyCallers() {
-        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_IMPORTANT_INTERRUPTIONS);
-        when(mBackend.isPriorityCategoryEnabled(NotificationManager.Policy.PRIORITY_CATEGORY_CALLS))
-                .thenReturn(true);
-        when(mBackend.getPriorityCallSenders()).thenReturn(
-                NotificationManager.Policy.PRIORITY_SENDERS_ANY);
-        when(mBackend.isPriorityCategoryEnabled(
-                NotificationManager.Policy.PRIORITY_CATEGORY_REPEAT_CALLERS))
-                .thenReturn(false);
-
-        mController.updateState(mockPref);
-
-        verify(mockPref).setEnabled(false);
-        verify(mockPref).setChecked(true);
-    }
-
-    @Test
-    public void onPreferenceChanged_EnableRepeatCallers() {
-        boolean allow = true;
-        mController.onPreferenceChange(mockPref, allow);
-
-        verify(mBackend)
-                .saveSoundPolicy(NotificationManager.Policy.PRIORITY_CATEGORY_REPEAT_CALLERS,
-                        allow);
-    }
-
-    @Test
-    public void onPreferenceChanged_DisableRepeatCallers() {
-        boolean allow = false;
-        mController.onPreferenceChange(mockPref, allow);
-
-        verify(mBackend)
-                .saveSoundPolicy(NotificationManager.Policy.PRIORITY_CATEGORY_REPEAT_CALLERS,
-                        allow);
-    }
-}
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/notification/ZenModeScheduleRuleSettingsTest.java b/tests/robotests/src/com/android/settings/notification/ZenModeScheduleRuleSettingsTest.java
deleted file mode 100644
index 46f3019..0000000
--- a/tests/robotests/src/com/android/settings/notification/ZenModeScheduleRuleSettingsTest.java
+++ /dev/null
@@ -1,105 +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 com.google.common.truth.Truth.assertThat;
-
-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 static org.robolectric.RuntimeEnvironment.application;
-
-import android.app.NotificationManager;
-import android.content.Context;
-import android.content.Intent;
-import android.content.res.Resources;
-
-import androidx.fragment.app.FragmentActivity;
-
-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 org.robolectric.RuntimeEnvironment;
-import org.robolectric.shadows.ShadowApplication;
-import org.robolectric.shadows.ShadowToast;
-
-@RunWith(RobolectricTestRunner.class)
-public class ZenModeScheduleRuleSettingsTest {
-
-    @Mock
-    private FragmentActivity mActivity;
-
-    @Mock
-    private Intent mIntent;
-
-    @Mock
-    private NotificationManager mNotificationManager;
-
-    private TestFragment mFragment;
-    private Context mContext;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-
-        ShadowApplication shadowApplication = ShadowApplication.getInstance();
-        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
-        mContext = RuntimeEnvironment.application;
-
-        mFragment = spy(new TestFragment());
-        mFragment.onAttach(application);
-
-        doReturn(mActivity).when(mFragment).getActivity();
-
-        Resources res = application.getResources();
-
-        doReturn(res).when(mFragment).getResources();
-        when(mActivity.getTheme()).thenReturn(res.newTheme());
-        when(mActivity.getIntent()).thenReturn(mIntent);
-        when(mActivity.getResources()).thenReturn(res);
-        when(mFragment.getContext()).thenReturn(mContext);
-    }
-
-    @Test
-    public void onCreate_noRuleId_shouldToastAndFinishAndNoCrash() {
-        final String expected = mContext.getString(R.string.zen_mode_rule_not_found_text);
-
-        mFragment.onCreate(null);
-
-        // verify the toast
-        assertThat(ShadowToast.getTextOfLatestToast()).isEqualTo(expected);
-
-        // verify the finish
-        verify(mActivity).finish();
-
-        //should not crash
-    }
-
-    public static class TestFragment extends ZenModeScheduleRuleSettings {
-
-        @Override
-        protected Object getSystemService(final String name) {
-            return null;
-        }
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/notification/ZenModeSettingsFooterPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/ZenModeSettingsFooterPreferenceControllerTest.java
deleted file mode 100644
index 3451868..0000000
--- a/tests/robotests/src/com/android/settings/notification/ZenModeSettingsFooterPreferenceControllerTest.java
+++ /dev/null
@@ -1,300 +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.provider.Settings.Global.ZEN_MODE;
-import static android.provider.Settings.Global.ZEN_MODE_ALARMS;
-import static android.provider.Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS;
-import static android.provider.Settings.Global.ZEN_MODE_NO_INTERRUPTIONS;
-import static android.provider.Settings.Global.ZEN_MODE_OFF;
-
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.app.NotificationManager;
-import android.content.ComponentName;
-import android.content.ContentResolver;
-import android.content.Context;
-import android.net.Uri;
-import android.provider.Settings;
-import android.service.notification.ZenModeConfig;
-import android.service.notification.ZenModeConfig.ZenRule;
-import android.util.ArrayMap;
-
-import androidx.fragment.app.FragmentManager;
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.notification.AbstractZenModePreferenceController.ZenModeConfigWrapper;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-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 org.robolectric.shadows.ShadowApplication;
-import org.robolectric.util.ReflectionHelpers;
-
-@RunWith(RobolectricTestRunner.class)
-public class ZenModeSettingsFooterPreferenceControllerTest {
-
-    private static final String TEST_APP_NAME = "test_app";
-    private static final String TEST_RULE_NAME = "test_rule_name";
-    private static final String MANUAL_RULE_FIELD = "manualRule";
-    private static final String AUTOMATIC_RULES_FIELD = "automaticRules";
-
-    private ZenModeSettingsFooterPreferenceController mController;
-
-    private final ArrayMap<String, ZenRule> mInjectedAutomaticRules = new ArrayMap<>();
-
-    @Mock
-    private NotificationManager mNotificationManager;
-    @Mock
-    private Preference mockPref;
-    @Mock
-    private ZenModeConfig mZenModeConfig;
-    @Mock
-    private PreferenceScreen mPreferenceScreen;
-    @Mock
-    private ZenModeConfigWrapper mConfigWrapper;
-
-    private Context mContext;
-    private ContentResolver mContentResolver;
-
-    @Before
-    public void setup() {
-        MockitoAnnotations.initMocks(this);
-        ShadowApplication shadowApplication = ShadowApplication.getInstance();
-        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
-
-        mContext = RuntimeEnvironment.application;
-        mContentResolver = RuntimeEnvironment.application.getContentResolver();
-        when(mNotificationManager.getZenModeConfig()).thenReturn(mZenModeConfig);
-
-        mController = new ZenModeSettingsFooterPreferenceController(mContext, mock(Lifecycle.class),
-                mock(FragmentManager.class));
-        ReflectionHelpers.setField(mZenModeConfig, AUTOMATIC_RULES_FIELD, mInjectedAutomaticRules);
-        ReflectionHelpers.setField(mController, "mZenModeConfigWrapper", mConfigWrapper);
-
-        when(mPreferenceScreen.findPreference(mController.getPreferenceKey())).thenReturn(mockPref);
-        mController.displayPreference(mPreferenceScreen);
-    }
-
-    @Test
-    public void totalSilence_footerIsAvailable() {
-        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_NO_INTERRUPTIONS);
-        assertTrue(mController.isAvailable());
-    }
-
-    @Test
-    public void alarmsOnly_footerIsAvailable() {
-        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_ALARMS);
-        assertTrue(mController.isAvailable());
-    }
-
-    @Test
-    public void priorityOnly_footerIsAvailable() {
-        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_IMPORTANT_INTERRUPTIONS);
-        assertTrue(mController.isAvailable());
-    }
-
-    @Test
-    public void zenModeOff_footerIsNotAvailable() {
-        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_OFF);
-        assertFalse(mController.isAvailable());
-    }
-
-    @Test
-    public void testDefaultNotifPolicy_app_manualRule_setFooterTitle() {
-        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_IMPORTANT_INTERRUPTIONS);
-        injectManualRuleFromApp();
-        mController.updateState(mockPref);
-
-        verify(mockPref).setTitle(mContext.getString(
-                com.android.settings.R.string.zen_mode_settings_dnd_automatic_rule_app,
-                TEST_APP_NAME));
-    }
-
-    @Test
-    public void testDefaultNotifPolicy_time_manualRule_setFooterTitle() {
-        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_IMPORTANT_INTERRUPTIONS);
-        String placeholder = "placeholder";
-        injectManualRuleWithTimeCountdown(1000, placeholder);
-        mController.updateState(mockPref);
-
-        verify(mockPref).setTitle(mContext.getString(
-                com.android.settings.R.string.zen_mode_settings_dnd_manual_end_time, placeholder));
-    }
-
-    @Test
-    public void testDefaultNotifPolicy_forever_manualRule_setFooterTitle() {
-        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_IMPORTANT_INTERRUPTIONS);
-        injectManualRuleWithIndefiniteEnd();
-        mController.updateState(mockPref);
-
-        verify(mockPref).setTitle(mContext.getString(
-                com.android.settings.R.string.zen_mode_settings_dnd_manual_indefinite));
-    }
-
-    @Test
-    public void testDefaultNotifPolicy_automaticRule_noManualRule_setFooterTitle() {
-        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_IMPORTANT_INTERRUPTIONS);
-        // no manual rule
-        ReflectionHelpers.setField(mZenModeConfig, MANUAL_RULE_FIELD, null);
-
-        // adding automatic rule
-        injectNewAutomaticRule(TEST_RULE_NAME, true, false);
-
-        mController.updateState(mockPref);
-
-        verify(mockPref).setTitle(mContext.getString(
-                com.android.settings.R.string.zen_mode_settings_dnd_automatic_rule,
-                TEST_RULE_NAME));
-    }
-
-    @Test
-    public void testDefaultNotifPolicy_manualRuleEndsLast_hasAutomaticRule_setFooterTitle() {
-        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_IMPORTANT_INTERRUPTIONS);
-        // manual rule that ends after automatic rule ends
-        injectManualRuleWithIndefiniteEnd();
-
-        // automatic rule that ends before manual rule ends
-        injectNewAutomaticRule(TEST_RULE_NAME, true, false);
-
-        mController.updateState(mockPref);
-
-        // manual rule end time is after automatic rule end time, so it is displayed
-        verify(mockPref).setTitle(mContext.getString(
-                com.android.settings.R.string.zen_mode_settings_dnd_manual_indefinite));
-    }
-
-    @Test
-    public void testDefaultNotifPolicy_automaticRuleEndsLast_hasManualRule_setFooterTitle() {
-        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_IMPORTANT_INTERRUPTIONS);
-        // manual rule that ends before automatic rule ends
-        injectManualRuleWithTimeCountdown(1000, "");
-
-        // automatic rule that ends after manual rule ends
-        ZenRule rule = injectNewAutomaticRule(TEST_RULE_NAME, true, false);
-        when(mConfigWrapper.parseAutomaticRuleEndTime(rule.conditionId)).thenReturn(2000L);
-
-        mController.updateState(mockPref);
-
-        // automatic rule end time is after manual rule end time, so it is displayed
-        verify(mockPref).setTitle(mContext.getString(
-                com.android.settings.R.string.zen_mode_settings_dnd_automatic_rule,
-                TEST_RULE_NAME));
-    }
-
-    @Test
-    public void testDefaultNotifPolicy_multipleAutomaticRules_autoRuleApp_setFooterTitle() {
-        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_IMPORTANT_INTERRUPTIONS);
-
-        // automatic rule that ends after manual rule ends
-        ZenRule rule1 = injectNewAutomaticRule(TEST_RULE_NAME + "1", false, false);
-        when(mConfigWrapper.parseAutomaticRuleEndTime(rule1.conditionId)).thenReturn(10000L);
-
-        // automatic rule that is an app
-        injectNewAutomaticRule(TEST_RULE_NAME + "2", true, true);
-
-        ZenRule rule3 = injectNewAutomaticRule(TEST_RULE_NAME + "3", true, false);
-        when(mConfigWrapper.parseAutomaticRuleEndTime(rule3.conditionId)).thenReturn(9000L);
-
-        mController.updateState(mockPref);
-
-        // automatic rule from app is displayed
-        verify(mockPref).setTitle(mContext.getString(
-                com.android.settings.R.string.zen_mode_settings_dnd_automatic_rule,
-                TEST_RULE_NAME + "2"));
-    }
-
-    @Test
-    public void testDefaultNotifPolicy_multipleAutomaticRules_setFooterTitle() {
-        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_IMPORTANT_INTERRUPTIONS);
-
-        // automatic rule that ends after manual rule ends
-        ZenRule rule1 = injectNewAutomaticRule(TEST_RULE_NAME + "1", true, false);
-        when(mConfigWrapper.parseAutomaticRuleEndTime(rule1.conditionId)).thenReturn(2000L);
-
-        ZenRule rule2 = injectNewAutomaticRule(TEST_RULE_NAME + "2", true, false);
-        when(mConfigWrapper.parseAutomaticRuleEndTime(rule2.conditionId)).thenReturn(8000L);
-
-        ZenRule rule3 = injectNewAutomaticRule(TEST_RULE_NAME + "3", false, false);
-        when(mConfigWrapper.parseAutomaticRuleEndTime(rule3.conditionId)).thenReturn(12000L);
-
-        mController.updateState(mockPref);
-
-        // active automatic rule with the latest end time will display
-        verify(mockPref).setTitle(mContext.getString(
-                com.android.settings.R.string.zen_mode_settings_dnd_automatic_rule,
-                TEST_RULE_NAME + "2"));
-    }
-
-    // manual rule that has no end condition (forever)
-    private void injectManualRuleWithIndefiniteEnd() {
-        ZenRule injectedManualRule = new ZenRule();
-        injectedManualRule.zenMode = ZEN_MODE_IMPORTANT_INTERRUPTIONS;
-        injectedManualRule.conditionId = null;
-        injectedManualRule.enabler = null;
-        ReflectionHelpers.setField(mZenModeConfig, MANUAL_RULE_FIELD, injectedManualRule);
-    }
-
-    // manual rule triggered by an app
-    private void injectManualRuleFromApp() {
-        ZenRule injectedManualRule = new ZenRule();
-        injectedManualRule.zenMode = ZEN_MODE_IMPORTANT_INTERRUPTIONS;
-        injectedManualRule.enabler = TEST_APP_NAME;
-        when(mConfigWrapper.getOwnerCaption(injectedManualRule.enabler)).thenReturn(TEST_APP_NAME);
-        ReflectionHelpers.setField(mZenModeConfig, MANUAL_RULE_FIELD, injectedManualRule);
-    }
-
-    // manual rule that ends in specified time
-    private void injectManualRuleWithTimeCountdown(long time, String timePlaceholder) {
-        ZenRule injectedManualRule = new ZenRule();
-        injectedManualRule.zenMode = ZEN_MODE_IMPORTANT_INTERRUPTIONS;
-        injectedManualRule.enabler = null;
-        injectedManualRule.conditionId = mock(Uri.class);
-        when(mConfigWrapper.parseManualRuleTime(injectedManualRule.conditionId)).thenReturn(time);
-        when(mConfigWrapper.getFormattedTime(time, mContext.getUserId()))
-                .thenReturn(timePlaceholder);
-        ReflectionHelpers.setField(mZenModeConfig, MANUAL_RULE_FIELD, injectedManualRule);
-    }
-
-    // manual rule that ends in time
-    private ZenRule injectNewAutomaticRule(String nameAndId, boolean isActive, boolean isApp) {
-        ZenRule injectedRule = spy(new ZenRule());
-        injectedRule.zenMode = ZEN_MODE_NO_INTERRUPTIONS;
-        injectedRule.component = mock(ComponentName.class);
-        injectedRule.name = nameAndId;
-        injectedRule.conditionId = new Uri.Builder().authority(nameAndId).build(); // unique uri
-        when(injectedRule.isAutomaticActive()).thenReturn(isActive);
-        when(mConfigWrapper.isTimeRule(injectedRule.conditionId)).thenReturn(!isApp);
-        if (isApp) {
-            when(injectedRule.component.getPackageName()).thenReturn(TEST_APP_NAME);
-        }
-        mInjectedAutomaticRules.put(nameAndId, injectedRule);
-
-        return injectedRule;
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/notification/ZenModeSettingsTest.java b/tests/robotests/src/com/android/settings/notification/ZenModeSettingsTest.java
deleted file mode 100644
index f899a98..0000000
--- a/tests/robotests/src/com/android/settings/notification/ZenModeSettingsTest.java
+++ /dev/null
@@ -1,135 +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.notification;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.junit.Assert.assertEquals;
-
-import android.app.NotificationManager;
-import android.app.NotificationManager.Policy;
-import android.content.Context;
-import android.provider.SearchIndexableResource;
-
-import com.android.settings.R;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-
-import java.util.List;
-
-@RunWith(RobolectricTestRunner.class)
-public class ZenModeSettingsTest {
-
-    private ZenModeSettings.SummaryBuilder mBuilder;
-    private Context mContext;
-
-    @Before
-    public void setUp() {
-        mContext = RuntimeEnvironment.application.getApplicationContext();
-        mBuilder = new ZenModeSettings.SummaryBuilder(mContext);
-    }
-
-    @Test
-    public void testBlockedEffectsSummary_none() {
-        Policy policy = new Policy(0, 0, 0, 0);
-        assertEquals(mContext.getString(R.string.zen_mode_restrict_notifications_summary_muted),
-                mBuilder.getBlockedEffectsSummary(policy));
-    }
-
-    @Test
-    public void testBlockedEffectsSummary_some() {
-        Policy policy = new Policy(0, 0, 0, NotificationManager.Policy.SUPPRESSED_EFFECT_PEEK);
-        assertEquals(mContext.getString(R.string.zen_mode_restrict_notifications_summary_custom),
-                mBuilder.getBlockedEffectsSummary(policy));
-    }
-
-    @Test
-    public void testBlockedEffectsSummary_all() {
-        Policy policy = new Policy(0, 0, 0, 511);
-        assertEquals(mContext.getString(R.string.zen_mode_restrict_notifications_summary_hidden),
-                mBuilder.getBlockedEffectsSummary(policy));
-    }
-
-    @Test
-    public void testGetCallsSettingSummary_none() {
-        Policy policy = new Policy(0, 0, 0, 0);
-        assertThat(mBuilder.getCallsSettingSummary(policy)).isEqualTo("Don\u2019t allow any calls");
-    }
-
-    @Test
-    public void testGetCallsSettingSummary_contacts() {
-        Policy policy = new Policy(Policy.PRIORITY_CATEGORY_ALARMS | Policy.PRIORITY_CATEGORY_CALLS,
-                Policy.PRIORITY_SENDERS_CONTACTS, 0, 0);
-        assertThat(mBuilder.getCallsSettingSummary(policy)).isEqualTo("Allow from contacts");
-    }
-
-    @Test
-    public void testGetCallsSettingSummary_repeatCallers() {
-        Policy policy = new Policy(Policy.PRIORITY_CATEGORY_REPEAT_CALLERS, 0, 0, 0);
-        assertThat(mBuilder.getCallsSettingSummary(policy)).isEqualTo("Allow from repeat callers");
-    }
-
-    @Test
-    public void testGetCallsSettingSummary_starredRepeatCallers() {
-        Policy policy = new Policy(
-                Policy.PRIORITY_CATEGORY_REPEAT_CALLERS | Policy.PRIORITY_CATEGORY_CALLS,
-                Policy.PRIORITY_SENDERS_STARRED, 0, 0);
-        assertThat(mBuilder.getCallsSettingSummary(policy))
-                .isEqualTo("Allow from starred contacts and repeat callers");
-    }
-
-    @Test
-    public void testGetSoundSettingSummary_allOff() {
-        Policy policy = new Policy(0, 0, 0, 0);
-        assertThat(mBuilder.getSoundSettingSummary(policy)).isEqualTo("Muted");
-    }
-
-    @Test
-    public void testGetSoundSettingSummary_allOn() {
-        Policy policy = new Policy(Policy.PRIORITY_CATEGORY_ALARMS | Policy.PRIORITY_CATEGORY_SYSTEM
-                | Policy.PRIORITY_CATEGORY_MEDIA, 0, 0, 0);
-        assertThat(mBuilder.getSoundSettingSummary(policy))
-                .isEqualTo("Muted, but allow alarms, media, and touch sounds");
-    }
-
-    @Test
-    public void testGetSoundSettingSummary_allOffButOne() {
-        Policy policy = new Policy(Policy.PRIORITY_CATEGORY_MEDIA, 0, 0, 0);
-        assertThat(mBuilder.getSoundSettingSummary(policy)).isEqualTo("Muted, but allow media");
-    }
-
-    @Test
-    public void testGetSoundSettingSummary_allOffButTwo() {
-        Policy policy = new Policy(Policy.PRIORITY_CATEGORY_SYSTEM
-                | Policy.PRIORITY_CATEGORY_MEDIA, 0, 0, 0);
-        assertThat(mBuilder.getSoundSettingSummary(policy))
-                .isEqualTo("Muted, but allow media and touch sounds");
-    }
-
-    @Test
-    public void searchProvider_shouldIndexDefaultXml() {
-        final List<SearchIndexableResource> sir = ZenModeSettings.SEARCH_INDEX_DATA_PROVIDER
-                .getXmlResourcesToIndex(mContext, true /* enabled */);
-
-        assertThat(sir).hasSize(1);
-        assertThat(sir.get(0).xmlResId).isEqualTo(R.xml.zen_mode_settings);
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/notification/ZenModeSliceBuilderTest.java b/tests/robotests/src/com/android/settings/notification/ZenModeSliceBuilderTest.java
deleted file mode 100644
index ac185ac..0000000
--- a/tests/robotests/src/com/android/settings/notification/ZenModeSliceBuilderTest.java
+++ /dev/null
@@ -1,99 +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.notification;
-
-import static android.app.slice.Slice.EXTRA_TOGGLE_STATE;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import android.app.NotificationManager;
-import android.content.Context;
-import android.content.Intent;
-import android.provider.Settings;
-
-import androidx.slice.Slice;
-import androidx.slice.SliceMetadata;
-import androidx.slice.SliceProvider;
-import androidx.slice.core.SliceAction;
-import androidx.slice.widget.SliceLiveData;
-
-import com.android.settings.R;
-import com.android.settings.testutils.shadow.ShadowNotificationManager;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-import org.robolectric.annotation.Config;
-
-import java.util.List;
-
-@Config(shadows = ShadowNotificationManager.class)
-@RunWith(RobolectricTestRunner.class)
-public class ZenModeSliceBuilderTest {
-
-    private Context mContext;
-
-    @Before
-    public void setUp() {
-        mContext = RuntimeEnvironment.application;
-
-        // Set-up specs for SliceMetadata.
-        SliceProvider.setSpecs(SliceLiveData.SUPPORTED_SPECS);
-    }
-
-    @Test
-    public void getZenModeSlice_correctSliceContent() {
-        final Slice dndSlice = ZenModeSliceBuilder.getSlice(mContext);
-
-        final SliceMetadata metadata = SliceMetadata.from(mContext, dndSlice);
-        assertThat(metadata.getTitle()).isEqualTo(
-                mContext.getString(R.string.zen_mode_settings_title));
-
-        final List<SliceAction> toggles = metadata.getToggles();
-        assertThat(toggles).hasSize(1);
-
-        final SliceAction primaryAction = metadata.getPrimaryAction();
-        assertThat(primaryAction.getIcon()).isNull();
-    }
-
-    @Test
-    public void handleUriChange_turnOn_zenModeTurnsOn() {
-        final Intent intent = new Intent();
-        intent.putExtra(EXTRA_TOGGLE_STATE, true);
-        NotificationManager.from(mContext).setZenMode(Settings.Global.ZEN_MODE_OFF, null, "");
-
-        ZenModeSliceBuilder.handleUriChange(mContext, intent);
-
-        final int zenMode = NotificationManager.from(mContext).getZenMode();
-        assertThat(zenMode).isEqualTo(Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS);
-    }
-
-    @Test
-    public void handleUriChange_turnOff_zenModeTurnsOff() {
-        final Intent intent = new Intent();
-        intent.putExtra(EXTRA_TOGGLE_STATE, false);
-        NotificationManager.from(mContext).setZenMode(
-                Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS, null, "");
-
-        ZenModeSliceBuilder.handleUriChange(mContext, intent);
-
-        final int zenMode = NotificationManager.from(mContext).getZenMode();
-        assertThat(zenMode).isEqualTo(Settings.Global.ZEN_MODE_OFF);
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/notification/ZenModeStarredContactsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/ZenModeStarredContactsPreferenceControllerTest.java
deleted file mode 100644
index fd6e639..0000000
--- a/tests/robotests/src/com/android/settings/notification/ZenModeStarredContactsPreferenceControllerTest.java
+++ /dev/null
@@ -1,165 +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.notification;
-
-import static android.app.NotificationManager.Policy.PRIORITY_CATEGORY_CALLS;
-import static android.app.NotificationManager.Policy.PRIORITY_CATEGORY_MESSAGES;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.Mockito.doAnswer;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-
-import android.app.NotificationManager;
-import android.content.ComponentName;
-import android.content.Context;
-import android.content.Intent;
-
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.mockito.invocation.InvocationOnMock;
-import org.mockito.stubbing.Answer;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-import org.robolectric.shadows.ShadowApplication;
-import org.robolectric.util.ReflectionHelpers;
-
-
-@RunWith(RobolectricTestRunner.class)
-public class ZenModeStarredContactsPreferenceControllerTest {
-
-    private ZenModeStarredContactsPreferenceController mCallsController;
-    private ZenModeStarredContactsPreferenceController mMessagesController;
-
-    @Mock
-    private ZenModeBackend mBackend;
-    @Mock
-    private NotificationManager mNotificationManager;
-    @Mock
-    private Preference mockPref;
-    @Mock
-    private NotificationManager.Policy mPolicy;
-    @Mock
-    private PreferenceScreen mPreferenceScreen;
-    @Mock
-    private Intent testIntent;
-    @Mock
-    private ComponentName mComponentName;
-    private Context mContext;
-
-    @Before
-    public void setup() {
-        MockitoAnnotations.initMocks(this);
-        ShadowApplication shadowApplication = ShadowApplication.getInstance();
-        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
-
-        mContext = RuntimeEnvironment.application;
-        when(mNotificationManager.getNotificationPolicy()).thenReturn(mPolicy);
-        when(testIntent.resolveActivity(any())).thenReturn(mComponentName);
-
-        mCallsController = new ZenModeStarredContactsPreferenceController(
-                mContext, mock(Lifecycle.class), PRIORITY_CATEGORY_CALLS,
-                "zen_mode_starred_contacts_callers");
-        ReflectionHelpers.setField(mCallsController, "mBackend", mBackend);
-        ReflectionHelpers.setField(mCallsController, "mStarredContactsIntent", testIntent);
-        when(mPreferenceScreen.findPreference(mCallsController.getPreferenceKey()))
-                .thenReturn(mockPref);
-        mCallsController.displayPreference(mPreferenceScreen);
-
-        mMessagesController = new ZenModeStarredContactsPreferenceController(
-                mContext, mock(Lifecycle.class), PRIORITY_CATEGORY_MESSAGES,
-                "zen_mode_starred_contacts_messages");
-        ReflectionHelpers.setField(mMessagesController, "mBackend", mBackend);
-        ReflectionHelpers.setField(mMessagesController, "mStarredContactsIntent", testIntent);
-        when(mPreferenceScreen.findPreference(mMessagesController.getPreferenceKey()))
-                .thenReturn(mockPref);
-        mMessagesController.displayPreference(mPreferenceScreen);
-    }
-
-    @Test
-    public void isAvailable_noCallers() {
-        when(mBackend.isPriorityCategoryEnabled(NotificationManager.Policy.PRIORITY_CATEGORY_CALLS))
-                .thenReturn(false);
-        assertThat(mCallsController.isAvailable()).isFalse();
-    }
-
-    @Test
-    public void isAvailable_anyCallers() {
-        when(mBackend.isPriorityCategoryEnabled(NotificationManager.Policy.PRIORITY_CATEGORY_CALLS))
-                .thenReturn(true);
-        when(mBackend.getPriorityCallSenders())
-                .thenReturn(NotificationManager.Policy.PRIORITY_SENDERS_ANY);
-
-        assertThat(mCallsController.isAvailable()).isFalse();
-    }
-
-    @Test
-    public void isAvailable_starredCallers() {
-        when(mBackend.isPriorityCategoryEnabled(NotificationManager.Policy.PRIORITY_CATEGORY_CALLS))
-                .thenReturn(true);
-        when(mBackend.getPriorityCallSenders())
-                .thenReturn(NotificationManager.Policy.PRIORITY_SENDERS_STARRED);
-
-        assertThat(mCallsController.isAvailable()).isTrue();
-    }
-
-    @Test
-    public void isAvailable_noMessages() {
-        when(mBackend.isPriorityCategoryEnabled(
-                NotificationManager.Policy.PRIORITY_CATEGORY_MESSAGES)).thenReturn(false);
-        assertThat(mMessagesController.isAvailable()).isFalse();
-    }
-
-    @Test
-    public void isAvailable_anyMessages() {
-        when(mBackend.isPriorityCategoryEnabled(
-                NotificationManager.Policy.PRIORITY_CATEGORY_MESSAGES)).thenReturn(true);
-        when(mBackend.getPriorityMessageSenders())
-                .thenReturn(NotificationManager.Policy.PRIORITY_SENDERS_ANY);
-
-        assertThat(mMessagesController.isAvailable()).isFalse();
-    }
-
-    @Test
-    public void isAvailable_starredMessageContacts() {
-        when(mBackend.isPriorityCategoryEnabled(
-                NotificationManager.Policy.PRIORITY_CATEGORY_MESSAGES)).thenReturn(true);
-        when(mBackend.getPriorityMessageSenders())
-                .thenReturn(NotificationManager.Policy.PRIORITY_SENDERS_STARRED);
-
-        assertThat(mMessagesController.isAvailable()).isTrue();
-    }
-
-    @Test
-    public void nullPreference_displayPreference() {
-        when(mPreferenceScreen.findPreference(mMessagesController.getPreferenceKey()))
-                .thenReturn(null);
-
-        // should not throw a null pointer
-        mMessagesController.displayPreference(mPreferenceScreen);
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/notification/ZenModeSystemPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/ZenModeSystemPreferenceControllerTest.java
deleted file mode 100644
index 0b57b81..0000000
--- a/tests/robotests/src/com/android/settings/notification/ZenModeSystemPreferenceControllerTest.java
+++ /dev/null
@@ -1,132 +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.notification;
-
-import static android.provider.Settings.Global.ZEN_MODE;
-import static android.provider.Settings.Global.ZEN_MODE_ALARMS;
-import static android.provider.Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS;
-import static android.provider.Settings.Global.ZEN_MODE_NO_INTERRUPTIONS;
-
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.app.NotificationManager;
-import android.content.ContentResolver;
-import android.content.Context;
-import android.provider.Settings;
-
-import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
-
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-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 org.robolectric.shadows.ShadowApplication;
-import org.robolectric.util.ReflectionHelpers;
-
-@RunWith(RobolectricTestRunner.class)
-public class ZenModeSystemPreferenceControllerTest {
-    private ZenModeSystemPreferenceController mController;
-
-    @Mock
-    private ZenModeBackend mBackend;
-    @Mock
-    private NotificationManager mNotificationManager;
-    @Mock
-    private SwitchPreference mockPref;
-    @Mock
-    private NotificationManager.Policy mPolicy;
-    @Mock
-    private PreferenceScreen mPreferenceScreen;
-
-    private Context mContext;
-    private ContentResolver mContentResolver;
-
-    @Before
-    public void setup() {
-        MockitoAnnotations.initMocks(this);
-        ShadowApplication shadowApplication = ShadowApplication.getInstance();
-        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
-
-        mContext = RuntimeEnvironment.application;
-        mContentResolver = RuntimeEnvironment.application.getContentResolver();
-        when(mNotificationManager.getNotificationPolicy()).thenReturn(mPolicy);
-        mController = new ZenModeSystemPreferenceController(mContext, mock(Lifecycle.class));
-        ReflectionHelpers.setField(mController, "mBackend", mBackend);
-
-        when(mPreferenceScreen.findPreference(mController.getPreferenceKey())).thenReturn(mockPref);
-        mController.displayPreference(mPreferenceScreen);
-    }
-
-    @Test
-    public void updateState_TotalSilence() {
-        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_NO_INTERRUPTIONS);
-
-        final SwitchPreference mockPref = mock(SwitchPreference.class);
-        mController.updateState(mockPref);
-
-        verify(mockPref).setEnabled(false);
-        verify(mockPref).setChecked(false);
-    }
-
-    @Test
-    public void updateState_AlarmsOnly() {
-        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_ALARMS);
-
-        final SwitchPreference mockPref = mock(SwitchPreference.class);
-        mController.updateState(mockPref);
-
-        verify(mockPref).setEnabled(false);
-        verify(mockPref).setChecked(false);
-    }
-
-    @Test
-    public void updateState_Priority() {
-        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_IMPORTANT_INTERRUPTIONS);
-
-        when(mBackend.isPriorityCategoryEnabled(
-                NotificationManager.Policy.PRIORITY_CATEGORY_SYSTEM)).thenReturn(true);
-
-        mController.updateState(mockPref);
-
-        verify(mockPref).setEnabled(true);
-        verify(mockPref).setChecked(true);
-    }
-
-    @Test
-    public void onPreferenceChanged_EnableSystem() {
-        mController.onPreferenceChange(mockPref, true);
-
-        verify(mBackend).saveSoundPolicy(NotificationManager.Policy.PRIORITY_CATEGORY_SYSTEM,
-                true);
-    }
-
-    @Test
-    public void onPreferenceChanged_DisableSystem() {
-        mController.onPreferenceChange(mockPref, false);
-
-        verify(mBackend).saveSoundPolicy(NotificationManager.Policy.PRIORITY_CATEGORY_SYSTEM,
-                false);
-    }
-}
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/notification/ZenModeVisEffectPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/ZenModeVisEffectPreferenceControllerTest.java
deleted file mode 100644
index 0e523df..0000000
--- a/tests/robotests/src/com/android/settings/notification/ZenModeVisEffectPreferenceControllerTest.java
+++ /dev/null
@@ -1,180 +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.notification;
-
-import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_BADGE;
-import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_LIGHTS;
-import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_NOTIFICATION_LIST;
-import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_PEEK;
-
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import static org.mockito.ArgumentMatchers.eq;
-import static org.mockito.ArgumentMatchers.nullable;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.never;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.app.NotificationManager;
-import android.content.Context;
-import android.content.res.Resources;
-
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.testutils.FakeFeatureFactory;
-import com.android.settings.widget.DisabledCheckBoxPreference;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-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 org.robolectric.shadows.ShadowApplication;
-import org.robolectric.util.ReflectionHelpers;
-
-@RunWith(RobolectricTestRunner.class)
-public class ZenModeVisEffectPreferenceControllerTest {
-    private ZenModeVisEffectPreferenceController mController;
-
-    @Mock
-    private ZenModeBackend mBackend;
-    @Mock
-    private DisabledCheckBoxPreference mockPref;
-    private Context mContext;
-    private FakeFeatureFactory mFeatureFactory;
-    @Mock
-    private PreferenceScreen mScreen;
-    @Mock
-    NotificationManager mNotificationManager;
-
-    private static final String PREF_KEY = "main_pref";
-    private static final int PREF_METRICS = 1;
-    private static final int PARENT_EFFECT1 = SUPPRESSED_EFFECT_BADGE;
-    private static final int PARENT_EFFECT2 = SUPPRESSED_EFFECT_NOTIFICATION_LIST;
-
-    @Before
-    public void setup() {
-        MockitoAnnotations.initMocks(this);
-        ShadowApplication shadowApplication = ShadowApplication.getInstance();
-        mContext = RuntimeEnvironment.application;
-        mFeatureFactory = FakeFeatureFactory.setupForTest();
-        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
-        when(mNotificationManager.getNotificationPolicy()).thenReturn(
-                mock(NotificationManager.Policy.class));
-        mController = new ZenModeVisEffectPreferenceController(mContext, mock(Lifecycle.class),
-                PREF_KEY, SUPPRESSED_EFFECT_PEEK, PREF_METRICS, null);
-        ReflectionHelpers.setField(mController, "mBackend", mBackend);
-
-        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mockPref);
-        mController.displayPreference(mScreen);
-    }
-
-    @Test
-    public void isAvailable() {
-        // SUPPRESSED_EFFECT_PEEK is always available:
-        assertTrue(mController.isAvailable());
-
-        // SUPPRESSED_EFFECT_LIGHTS is only available if the device has an LED:
-        Context mockContext = mock(Context.class);
-        mController = new ZenModeVisEffectPreferenceController(mockContext, mock(Lifecycle.class),
-                PREF_KEY, SUPPRESSED_EFFECT_LIGHTS, PREF_METRICS, null);
-        Resources mockResources = mock(Resources.class);
-        when(mockContext.getResources()).thenReturn(mockResources);
-
-        when(mockResources.getBoolean(com.android.internal.R.bool.config_intrusiveNotificationLed))
-                .thenReturn(false); // no light
-        assertFalse(mController.isAvailable());
-
-        when(mockResources.getBoolean(com.android.internal.R.bool.config_intrusiveNotificationLed))
-                .thenReturn(true); // has light
-        assertTrue(mController.isAvailable());
-    }
-
-    @Test
-    public void updateState_notChecked() {
-        when(mBackend.isVisualEffectSuppressed(SUPPRESSED_EFFECT_PEEK)).thenReturn(false);
-        mController.updateState(mockPref);
-
-        verify(mockPref).setChecked(false);
-        verify(mockPref).enableCheckbox(true);
-    }
-
-    @Test
-    public void updateState_checked() {
-        when(mBackend.isVisualEffectSuppressed(SUPPRESSED_EFFECT_PEEK)).thenReturn(true);
-        mController.updateState(mockPref);
-
-        verify(mockPref).setChecked(true);
-        verify(mockPref).enableCheckbox(true);
-    }
-
-    @Test
-    public void updateState_checkedFalse_parentChecked() {
-        mController = new ZenModeVisEffectPreferenceController(mContext, mock(Lifecycle.class),
-                PREF_KEY, SUPPRESSED_EFFECT_PEEK, PREF_METRICS,
-                new int[]{PARENT_EFFECT1, PARENT_EFFECT2});
-        ReflectionHelpers.setField(mController, "mBackend", mBackend);
-        when(mBackend.isVisualEffectSuppressed(SUPPRESSED_EFFECT_PEEK)).thenReturn(false);
-        when(mBackend.isVisualEffectSuppressed(PARENT_EFFECT1)).thenReturn(false);
-        when(mBackend.isVisualEffectSuppressed(PARENT_EFFECT2)).thenReturn(true);
-        mController.updateState(mockPref);
-
-        verify(mockPref).setChecked(true);
-        verify(mockPref).enableCheckbox(false);
-        verify(mBackend, times(1)).saveVisualEffectsPolicy(SUPPRESSED_EFFECT_PEEK, true);
-    }
-
-    @Test
-    public void updateState_checkedFalse_parentNotChecked() {
-        mController = new ZenModeVisEffectPreferenceController(mContext, mock(Lifecycle.class),
-                PREF_KEY, SUPPRESSED_EFFECT_PEEK, PREF_METRICS,
-                new int[]{PARENT_EFFECT1, PARENT_EFFECT2});
-        ReflectionHelpers.setField(mController, "mBackend", mBackend);
-        when(mBackend.isVisualEffectSuppressed(SUPPRESSED_EFFECT_PEEK)).thenReturn(false);
-        when(mBackend.isVisualEffectSuppressed(PARENT_EFFECT1)).thenReturn(false);
-        when(mBackend.isVisualEffectSuppressed(PARENT_EFFECT2)).thenReturn(false);
-        mController.updateState(mockPref);
-
-        verify(mockPref).setChecked(false);
-        verify(mockPref).enableCheckbox(true);
-        verify(mBackend, never()).saveVisualEffectsPolicy(SUPPRESSED_EFFECT_PEEK, true);
-    }
-
-    @Test
-    public void onPreferenceChanged_checkedFalse() {
-        mController.onPreferenceChange(mockPref, false);
-
-        verify(mBackend).saveVisualEffectsPolicy(SUPPRESSED_EFFECT_PEEK, false);
-        verify(mFeatureFactory.metricsFeatureProvider).action(nullable(Context.class),
-                eq(PREF_METRICS),
-                eq(false));
-    }
-
-    @Test
-    public void onPreferenceChanged_checkedTrue() {
-        mController.onPreferenceChange(mockPref, true);
-        verify(mBackend).saveVisualEffectsPolicy(SUPPRESSED_EFFECT_PEEK, true);
-        verify(mFeatureFactory.metricsFeatureProvider).action(nullable(Context.class),
-                eq(PREF_METRICS),
-                eq(true));
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/notification/ZenModeVisEffectsAllPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/ZenModeVisEffectsAllPreferenceControllerTest.java
deleted file mode 100644
index 9d89a9e..0000000
--- a/tests/robotests/src/com/android/settings/notification/ZenModeVisEffectsAllPreferenceControllerTest.java
+++ /dev/null
@@ -1,138 +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.notification;
-
-import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_AMBIENT;
-import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_BADGE;
-import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_FULL_SCREEN_INTENT;
-import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_LIGHTS;
-import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_NOTIFICATION_LIST;
-import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_PEEK;
-import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_SCREEN_OFF;
-import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_SCREEN_ON;
-import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_STATUS_BAR;
-
-import static com.android.internal.logging.nano.MetricsProto.MetricsEvent
-        .ACTION_ZEN_SOUND_AND_VIS_EFFECTS;
-
-import static org.junit.Assert.assertTrue;
-import static org.mockito.ArgumentMatchers.eq;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.app.NotificationManager;
-import android.content.Context;
-
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.testutils.FakeFeatureFactory;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-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 org.robolectric.shadows.ShadowApplication;
-import org.robolectric.util.ReflectionHelpers;
-
-@RunWith(RobolectricTestRunner.class)
-public class ZenModeVisEffectsAllPreferenceControllerTest {
-    private ZenModeVisEffectsAllPreferenceController mController;
-
-    @Mock
-    private ZenModeBackend mBackend;
-    @Mock
-    private ZenCustomRadioButtonPreference mockPref;
-    private Context mContext;
-    private FakeFeatureFactory mFeatureFactory;
-    @Mock
-    private PreferenceScreen mScreen;
-    @Mock
-    NotificationManager mNotificationManager;
-
-    private static final String PREF_KEY = "main_pref";
-
-    @Before
-    public void setup() {
-        MockitoAnnotations.initMocks(this);
-        ShadowApplication shadowApplication = ShadowApplication.getInstance();
-        mContext = RuntimeEnvironment.application;
-        mFeatureFactory = FakeFeatureFactory.setupForTest();
-        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
-        when(mNotificationManager.getNotificationPolicy()).thenReturn(
-                mock(NotificationManager.Policy.class));
-        mController = new ZenModeVisEffectsAllPreferenceController(
-                mContext, mock(Lifecycle.class), PREF_KEY);
-        ReflectionHelpers.setField(mController, "mBackend", mBackend);
-
-        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mockPref);
-        mController.displayPreference(mScreen);
-    }
-
-    @Test
-    public void isAvailable() {
-        assertTrue(mController.isAvailable());
-    }
-
-    @Test
-    public void updateState_notChecked() {
-        mBackend.mPolicy = new NotificationManager.Policy(0, 0, 0, 1);
-        mController.updateState(mockPref);
-
-        verify(mockPref).setChecked(false);
-    }
-
-    @Test
-    public void updateState_checked() {
-        int allSuppressed = SUPPRESSED_EFFECT_SCREEN_OFF
-                | SUPPRESSED_EFFECT_SCREEN_ON
-                | SUPPRESSED_EFFECT_FULL_SCREEN_INTENT
-                | SUPPRESSED_EFFECT_AMBIENT
-                | SUPPRESSED_EFFECT_STATUS_BAR
-                | SUPPRESSED_EFFECT_BADGE
-                | SUPPRESSED_EFFECT_LIGHTS
-                | SUPPRESSED_EFFECT_PEEK
-                | SUPPRESSED_EFFECT_NOTIFICATION_LIST;
-        mBackend.mPolicy = new NotificationManager.Policy(0, 0, 0, allSuppressed);
-        mController.updateState(mockPref);
-
-        verify(mockPref).setChecked(true);
-    }
-
-    @Test
-    public void onPreferenceChanged_checkedTrue() {
-        int allSuppressed = SUPPRESSED_EFFECT_SCREEN_OFF
-                | SUPPRESSED_EFFECT_SCREEN_ON
-                | SUPPRESSED_EFFECT_FULL_SCREEN_INTENT
-                | SUPPRESSED_EFFECT_AMBIENT
-                | SUPPRESSED_EFFECT_STATUS_BAR
-                | SUPPRESSED_EFFECT_BADGE
-                | SUPPRESSED_EFFECT_LIGHTS
-                | SUPPRESSED_EFFECT_PEEK
-                | SUPPRESSED_EFFECT_NOTIFICATION_LIST;
-        mBackend.mPolicy = new NotificationManager.Policy(0, 0, 0, 1);
-        mController.onRadioButtonClick(mockPref);
-        verify(mBackend).saveVisualEffectsPolicy(allSuppressed, true);
-        verify(mFeatureFactory.metricsFeatureProvider).action(eq(mContext),
-                eq(ACTION_ZEN_SOUND_AND_VIS_EFFECTS),
-                eq(true));
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/notification/ZenModeVisEffectsCustomPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/ZenModeVisEffectsCustomPreferenceControllerTest.java
deleted file mode 100644
index 6afd339..0000000
--- a/tests/robotests/src/com/android/settings/notification/ZenModeVisEffectsCustomPreferenceControllerTest.java
+++ /dev/null
@@ -1,140 +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.notification;
-
-import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_AMBIENT;
-import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_BADGE;
-import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_FULL_SCREEN_INTENT;
-import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_LIGHTS;
-import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_NOTIFICATION_LIST;
-import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_PEEK;
-import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_SCREEN_OFF;
-import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_SCREEN_ON;
-import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_STATUS_BAR;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.app.NotificationManager;
-import android.content.Context;
-
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.testutils.FakeFeatureFactory;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-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 org.robolectric.shadows.ShadowApplication;
-import org.robolectric.util.ReflectionHelpers;
-
-@RunWith(RobolectricTestRunner.class)
-public class ZenModeVisEffectsCustomPreferenceControllerTest {
-    private ZenModeVisEffectsCustomPreferenceController mController;
-
-    @Mock
-    private ZenModeBackend mBackend;
-    @Mock
-    private ZenCustomRadioButtonPreference mockPref;
-    private Context mContext;
-    @Mock
-    private PreferenceScreen mScreen;
-    @Mock
-    NotificationManager mNotificationManager;
-
-    private static final String PREF_KEY = "main_pref";
-
-    @Before
-    public void setup() {
-        MockitoAnnotations.initMocks(this);
-        ShadowApplication shadowApplication = ShadowApplication.getInstance();
-        mContext = RuntimeEnvironment.application;
-        FakeFeatureFactory.setupForTest();
-        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
-        when(mNotificationManager.getNotificationPolicy()).thenReturn(
-                mock(NotificationManager.Policy.class));
-        mController = new ZenModeVisEffectsCustomPreferenceController(
-                mContext, mock(Lifecycle.class), PREF_KEY);
-        ReflectionHelpers.setField(mController, "mBackend", mBackend);
-
-        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mockPref);
-        mController.displayPreference(mScreen);
-    }
-
-    @Test
-    public void isAvailable_noVisEffects() {
-        mBackend.mPolicy = new NotificationManager.Policy(0, 0, 0, 0);
-        assertThat(mController.isAvailable()).isTrue();
-    }
-
-    @Test
-    public void isAvailable_visEffects() {
-        mBackend.mPolicy = new NotificationManager.Policy(0, 0, 0, 1);
-        assertThat(mController.isAvailable()).isTrue();
-    }
-
-    @Test
-    public void updateState_notChecked_noVisEffects() {
-        mBackend.mPolicy = new NotificationManager.Policy(0, 0, 0, 0);
-        mController.updateState(mockPref);
-
-        verify(mockPref).setChecked(false);
-    }
-
-    @Test
-    public void updateState_notChecked_allVisEffects() {
-        int allSuppressed = SUPPRESSED_EFFECT_SCREEN_OFF
-                | SUPPRESSED_EFFECT_SCREEN_ON
-                | SUPPRESSED_EFFECT_FULL_SCREEN_INTENT
-                | SUPPRESSED_EFFECT_AMBIENT
-                | SUPPRESSED_EFFECT_STATUS_BAR
-                | SUPPRESSED_EFFECT_BADGE
-                | SUPPRESSED_EFFECT_LIGHTS
-                | SUPPRESSED_EFFECT_PEEK
-                | SUPPRESSED_EFFECT_NOTIFICATION_LIST;
-        mBackend.mPolicy = new NotificationManager.Policy(0, 0, 0, allSuppressed);
-        mController.updateState(mockPref);
-
-        verify(mockPref).setChecked(false);
-    }
-
-    @Test
-    public void updateState_checked() {
-        mBackend.mPolicy = new NotificationManager.Policy(0, 0, 0, 2);
-        mController.updateState(mockPref);
-
-        verify(mockPref).setChecked(true);
-    }
-
-    @Test
-    public void updateState_listeners() {
-        mBackend.mPolicy = new NotificationManager.Policy(0, 0, 0, 2);
-        mController.updateState(mockPref);
-
-        verify(mockPref).setOnGearClickListener(any());
-        verify(mockPref).setOnRadioButtonClickListener(any());
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/notification/ZenModeVisEffectsNonePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/ZenModeVisEffectsNonePreferenceControllerTest.java
deleted file mode 100644
index e856cca..0000000
--- a/tests/robotests/src/com/android/settings/notification/ZenModeVisEffectsNonePreferenceControllerTest.java
+++ /dev/null
@@ -1,129 +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.notification;
-
-import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_AMBIENT;
-import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_BADGE;
-import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_FULL_SCREEN_INTENT;
-import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_LIGHTS;
-import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_NOTIFICATION_LIST;
-import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_PEEK;
-import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_SCREEN_OFF;
-import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_SCREEN_ON;
-import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_STATUS_BAR;
-
-import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.ACTION_ZEN_SOUND_ONLY;
-
-import static org.junit.Assert.assertTrue;
-import static org.mockito.ArgumentMatchers.eq;
-import static org.mockito.ArgumentMatchers.nullable;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.app.NotificationManager;
-import android.content.Context;
-
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.testutils.FakeFeatureFactory;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-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 org.robolectric.shadows.ShadowApplication;
-import org.robolectric.util.ReflectionHelpers;
-
-@RunWith(RobolectricTestRunner.class)
-public class ZenModeVisEffectsNonePreferenceControllerTest {
-    private ZenModeVisEffectsNonePreferenceController mController;
-
-    @Mock
-    private ZenModeBackend mBackend;
-    @Mock
-    private ZenCustomRadioButtonPreference mockPref;
-    private Context mContext;
-    private FakeFeatureFactory mFeatureFactory;
-    @Mock
-    private PreferenceScreen mScreen;
-    @Mock
-    NotificationManager mNotificationManager;
-
-    private static final String PREF_KEY = "main_pref";
-
-    @Before
-    public void setup() {
-        MockitoAnnotations.initMocks(this);
-        ShadowApplication shadowApplication = ShadowApplication.getInstance();
-        mContext = RuntimeEnvironment.application;
-        mFeatureFactory = FakeFeatureFactory.setupForTest();
-        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
-        when(mNotificationManager.getNotificationPolicy()).thenReturn(
-                mock(NotificationManager.Policy.class));
-        mController = new ZenModeVisEffectsNonePreferenceController(
-                mContext, mock(Lifecycle.class), PREF_KEY);
-        ReflectionHelpers.setField(mController, "mBackend", mBackend);
-
-        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mockPref);
-        mController.displayPreference(mScreen);
-    }
-
-    @Test
-    public void isAvailable() {
-        assertTrue(mController.isAvailable());
-    }
-
-    @Test
-    public void updateState_notChecked() {
-        mBackend.mPolicy = new NotificationManager.Policy(0, 0, 0, 1);
-        mController.updateState(mockPref);
-
-        verify(mockPref).setChecked(false);
-    }
-
-    @Test
-    public void updateState_checked() {
-        mBackend.mPolicy = new NotificationManager.Policy(0, 0, 0, 0);
-        mController.updateState(mockPref);
-
-        verify(mockPref).setChecked(true);
-    }
-
-    @Test
-    public void onRadioButtonClick() {
-        int allSuppressed = SUPPRESSED_EFFECT_SCREEN_OFF
-                | SUPPRESSED_EFFECT_SCREEN_ON
-                | SUPPRESSED_EFFECT_FULL_SCREEN_INTENT
-                | SUPPRESSED_EFFECT_AMBIENT
-                | SUPPRESSED_EFFECT_STATUS_BAR
-                | SUPPRESSED_EFFECT_BADGE
-                | SUPPRESSED_EFFECT_LIGHTS
-                | SUPPRESSED_EFFECT_PEEK
-                | SUPPRESSED_EFFECT_NOTIFICATION_LIST;
-        mBackend.mPolicy = new NotificationManager.Policy(0, 0, 0, 1);
-        mController.onRadioButtonClick(mockPref);
-        verify(mBackend).saveVisualEffectsPolicy(allSuppressed, false);
-        verify(mFeatureFactory.metricsFeatureProvider).action(nullable(Context.class),
-                eq(ACTION_ZEN_SOUND_ONLY),
-                eq(true));
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/notification/ZenOnboardingActivityTest.java b/tests/robotests/src/com/android/settings/notification/ZenOnboardingActivityTest.java
deleted file mode 100644
index 6cd9430..0000000
--- a/tests/robotests/src/com/android/settings/notification/ZenOnboardingActivityTest.java
+++ /dev/null
@@ -1,221 +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.notification;
-
-import static android.app.NotificationManager.Policy.PRIORITY_CATEGORY_ALARMS;
-import static android.app.NotificationManager.Policy.PRIORITY_CATEGORY_REPEAT_CALLERS;
-import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_SCREEN_ON;
-
-import static com.android.settings.notification.ZenOnboardingActivity.ALWAYS_SHOW_THRESHOLD;
-import static com.android.settings.notification.ZenOnboardingActivity
-        .PREF_KEY_SUGGESTION_FIRST_DISPLAY_TIME;
-import static com.android.settings.notification.ZenOnboardingActivity.isSuggestionComplete;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.Mockito.never;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.app.NotificationManager;
-import android.app.NotificationManager.Policy;
-import android.content.Context;
-import android.content.SharedPreferences;
-import android.provider.Settings;
-
-import com.android.internal.logging.MetricsLogger;
-import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
-import com.android.settings.testutils.FakeFeatureFactory;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.ArgumentCaptor;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.Robolectric;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-import org.robolectric.shadows.ShadowApplication;
-
-@RunWith(RobolectricTestRunner.class)
-public class ZenOnboardingActivityTest {
-
-    @Mock
-    private MetricsLogger mMetricsLogger;
-    @Mock
-    private NotificationManager mNm;
-
-    private ZenOnboardingActivity mActivity;
-
-    private Context mContext;
-    private FakeFeatureFactory mFeatureFactory;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        ShadowApplication shadowApplication = ShadowApplication.getInstance();
-        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNm);
-
-        mActivity = Robolectric.buildActivity(ZenOnboardingActivity.class)
-                .create()
-                .get();
-        mActivity.setNotificationManager(mNm);
-        mActivity.setMetricsLogger(mMetricsLogger);
-
-        mActivity.setupUI();
-
-        mContext = RuntimeEnvironment.application;
-        mFeatureFactory = FakeFeatureFactory.setupForTest();
-        when(mFeatureFactory.suggestionsFeatureProvider.getSharedPrefs(any(Context.class)))
-                .thenReturn(getSharedPreferences());
-    }
-
-    @Test
-    public void loadUiRecordsEvent() {
-        verify(mMetricsLogger).visible(MetricsEvent.SETTINGS_ZEN_ONBOARDING);
-    }
-
-    @Test
-    public void saveNewSetting() {
-        Policy policy = new Policy(PRIORITY_CATEGORY_ALARMS, 0, 0, SUPPRESSED_EFFECT_SCREEN_ON);
-        when(mNm.getNotificationPolicy()).thenReturn(policy);
-
-        mActivity.mNewSetting.performClick();
-        mActivity.save(null);
-
-        verify(mMetricsLogger).action(MetricsEvent.ACTION_ZEN_ONBOARDING_OK);
-
-        ArgumentCaptor<Policy> captor = ArgumentCaptor.forClass(Policy.class);
-        verify(mNm).setNotificationPolicy(captor.capture());
-
-        Policy actual = captor.getValue();
-        assertThat(actual.priorityCategories).isEqualTo(PRIORITY_CATEGORY_ALARMS
-                | PRIORITY_CATEGORY_REPEAT_CALLERS);
-        assertThat(actual.priorityCallSenders).isEqualTo(Policy.PRIORITY_SENDERS_STARRED);
-        assertThat(actual.priorityMessageSenders).isEqualTo(Policy.PRIORITY_SENDERS_ANY);
-        assertThat(actual.suppressedVisualEffects).isEqualTo(
-                Policy.getAllSuppressedVisualEffects());
-    }
-
-    @Test
-    public void keepCurrentSetting() {
-        Policy policy = new Policy(PRIORITY_CATEGORY_ALARMS, 0, 0, SUPPRESSED_EFFECT_SCREEN_ON);
-        when(mNm.getNotificationPolicy()).thenReturn(policy);
-
-        mActivity.mKeepCurrentSetting.performClick();
-        mActivity.save(null);
-
-        verify(mMetricsLogger).action(MetricsEvent.ACTION_ZEN_ONBOARDING_KEEP_CURRENT_SETTINGS);
-        verify(mNm, never()).setNotificationPolicy(any());
-    }
-
-    @Test
-    public void isSuggestionComplete_zenUpdated() {
-        Policy policy = new Policy(0, 0, 0, 0);
-        when(mNm.getNotificationPolicy()).thenReturn(policy);
-
-        setZenUpdated(true);
-        setShowSettingsSuggestion(false);
-        setWithinTimeThreshold(true);
-        assertThat(isSuggestionComplete(mContext)).isTrue();
-    }
-
-    @Test
-    public void isSuggestionComplete_withinTimeThreshold() {
-        Policy policy = new Policy(0, 0, 0, 0);
-        when(mNm.getNotificationPolicy()).thenReturn(policy);
-
-        setZenUpdated(false);
-        setShowSettingsSuggestion(false);
-        setWithinTimeThreshold(true);
-        assertThat(isSuggestionComplete(mContext)).isFalse();
-    }
-
-    @Test
-    public void isSuggestionComplete_showSettingsSuggestionTrue() {
-        Policy policy = new Policy(0, 0, 0, 0);
-        when(mNm.getNotificationPolicy()).thenReturn(policy);
-
-        setZenUpdated(false);
-        setShowSettingsSuggestion(true);
-        setWithinTimeThreshold(false);
-        assertThat(isSuggestionComplete(mContext)).isFalse();
-    }
-
-    @Test
-    public void isSuggestionComplete_showSettingsSuggestionFalse_notWithinTimeThreshold() {
-        Policy policy = new Policy(0, 0, 0, 0);
-        when(mNm.getNotificationPolicy()).thenReturn(policy);
-
-        setZenUpdated(false);
-        setShowSettingsSuggestion(false);
-        setWithinTimeThreshold(false);
-        assertThat(isSuggestionComplete(mContext)).isTrue();
-    }
-
-
-    @Test
-    public void isSuggestionComplete_visualEffectsUpdated() {
-        // all values suppressed
-        Policy policy = new Policy(0, 0, 0, 511);
-        when(mNm.getNotificationPolicy()).thenReturn(policy);
-
-        setZenUpdated(false);
-        setShowSettingsSuggestion(true);
-        setWithinTimeThreshold(true);
-        assertThat(isSuggestionComplete(mContext)).isTrue();
-        assertThat(Settings.Secure.getInt(mContext.getContentResolver(),
-                Settings.Secure.ZEN_SETTINGS_UPDATED, -1)).isEqualTo(1);
-    }
-
-
-    private void setZenUpdated(boolean updated) {
-        int zenUpdated = updated ? 1 : 0;
-
-        Settings.Secure.putInt(mContext.getContentResolver(),
-                Settings.Secure.ZEN_SETTINGS_UPDATED, zenUpdated);
-    }
-
-    private void setWithinTimeThreshold(boolean withinTime) {
-        long firstTime = System.currentTimeMillis();
-
-        if (withinTime) {
-            firstTime -= ALWAYS_SHOW_THRESHOLD / 2;
-        } else {
-            firstTime -= ALWAYS_SHOW_THRESHOLD * 2;
-        }
-
-        getSharedPreferences().edit().putLong(PREF_KEY_SUGGESTION_FIRST_DISPLAY_TIME,
-               firstTime).commit();
-    }
-
-    private void setShowSettingsSuggestion(boolean show) {
-        int showZenSuggestion = 0;
-        if (show) {
-            showZenSuggestion = 1;
-        }
-
-        Settings.Secure.putInt(mContext.getContentResolver(),
-                Settings.Secure.SHOW_ZEN_SETTINGS_SUGGESTION, showZenSuggestion);
-    }
-
-    private SharedPreferences getSharedPreferences() {
-        return mContext.getSharedPreferences("test_zen_sugg", Context.MODE_PRIVATE);
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/notification/ZenRuleCustomPolicyPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/ZenRuleCustomPolicyPreferenceControllerTest.java
deleted file mode 100644
index 5d3a601..0000000
--- a/tests/robotests/src/com/android/settings/notification/ZenRuleCustomPolicyPreferenceControllerTest.java
+++ /dev/null
@@ -1,90 +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.notification;
-
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.app.NotificationManager;
-import android.content.Context;
-import android.service.notification.ZenPolicy;
-
-import androidx.preference.PreferenceScreen;
-
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-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 org.robolectric.shadows.ShadowApplication;
-import org.robolectric.util.ReflectionHelpers;
-
-@RunWith(RobolectricTestRunner.class)
-public class ZenRuleCustomPolicyPreferenceControllerTest extends
-        ZenRuleCustomPrefContrTestBase {
-
-    @Mock
-    private ZenModeBackend mBackend;
-    @Mock
-    private NotificationManager mNotificationManager;
-    @Mock
-    private ZenCustomRadioButtonPreference mockPref;
-    @Mock
-    private PreferenceScreen mScreen;
-
-    private Context mContext;
-    private ZenRuleCustomPolicyPreferenceController mController;
-
-    @Override
-    AbstractZenCustomRulePreferenceController getController() {
-        return mController;
-    }
-
-    @Before
-    public void setup() {
-        MockitoAnnotations.initMocks(this);
-        ShadowApplication shadowApplication = ShadowApplication.getInstance();
-        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
-
-        mContext = RuntimeEnvironment.application;
-        mController = new ZenRuleCustomPolicyPreferenceController(mContext, mock(Lifecycle.class),
-                PREF_KEY);
-        ReflectionHelpers.setField(mController, "mBackend", mBackend);
-        when(mBackend.getAutomaticZenRule(RULE_ID)).thenReturn(mRule);
-        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mockPref);
-        mController.displayPreference(mScreen);
-    }
-
-    @Test
-    public void updateState_nullZenPolicy() {
-        updateControllerZenPolicy(null);
-        mController.updateState(mockPref);
-        verify(mockPref).setChecked(false);
-    }
-
-    @Test
-    public void updateState_hasZenPolicy() {
-        updateControllerZenPolicy(new ZenPolicy.Builder().build());
-        mController.updateState(mockPref);
-        verify(mockPref).setChecked(true);
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/notification/ZenRuleCustomPrefContrTestBase.java b/tests/robotests/src/com/android/settings/notification/ZenRuleCustomPrefContrTestBase.java
deleted file mode 100644
index 10472a5..0000000
--- a/tests/robotests/src/com/android/settings/notification/ZenRuleCustomPrefContrTestBase.java
+++ /dev/null
@@ -1,40 +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.notification;
-
-import android.app.AutomaticZenRule;
-import android.app.NotificationManager;
-import android.service.notification.ZenPolicy;
-
-import org.junit.runner.RunWith;
-import org.robolectric.RobolectricTestRunner;
-
-@RunWith(RobolectricTestRunner.class)
-abstract class ZenRuleCustomPrefContrTestBase {
-    public static final String RULE_ID = "test_rule_id";
-    public static final String PREF_KEY = "main_pref";
-
-    AutomaticZenRule mRule = new AutomaticZenRule("test", null, null, null, null,
-            NotificationManager.INTERRUPTION_FILTER_PRIORITY, true);
-
-    abstract AbstractZenCustomRulePreferenceController getController();
-
-    void updateControllerZenPolicy(ZenPolicy policy) {
-        mRule.setZenPolicy(policy);
-        getController().onResume(mRule, RULE_ID);
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/notification/ZenRuleCustomSwitchPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/ZenRuleCustomSwitchPreferenceControllerTest.java
deleted file mode 100644
index e15eb60..0000000
--- a/tests/robotests/src/com/android/settings/notification/ZenRuleCustomSwitchPreferenceControllerTest.java
+++ /dev/null
@@ -1,108 +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.notification;
-
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.app.NotificationManager;
-import android.content.Context;
-import android.service.notification.ZenPolicy;
-
-import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
-
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-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 org.robolectric.shadows.ShadowApplication;
-import org.robolectric.util.ReflectionHelpers;
-
-@RunWith(RobolectricTestRunner.class)
-public class ZenRuleCustomSwitchPreferenceControllerTest extends ZenRuleCustomPrefContrTestBase {
-    private ZenRuleCustomSwitchPreferenceController mController;
-
-    @Mock
-    private ZenModeBackend mBackend;
-    @Mock
-    private NotificationManager mNotificationManager;
-    @Mock
-    private SwitchPreference mockPref;
-    @Mock
-    private NotificationManager.Policy mPolicy;
-    @Mock
-    private PreferenceScreen mPreferenceScreen;
-
-    private Context mContext;
-
-    @Override
-    AbstractZenCustomRulePreferenceController getController() {
-        return mController;
-    }
-
-    @Before
-    public void setup() {
-        MockitoAnnotations.initMocks(this);
-        ShadowApplication shadowApplication = ShadowApplication.getInstance();
-        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
-
-        mContext = RuntimeEnvironment.application;
-        when(mNotificationManager.getNotificationPolicy()).thenReturn(mPolicy);
-        mController = new ZenRuleCustomSwitchPreferenceController(mContext, mock(Lifecycle.class),
-                PREF_KEY, ZenPolicy.PRIORITY_CATEGORY_ALARMS, 0);
-        ReflectionHelpers.setField(mController, "mBackend", mBackend);
-
-        when(mPreferenceScreen.findPreference(mController.getPreferenceKey()))
-                .thenReturn(mockPref);
-        mController.displayPreference(mPreferenceScreen);
-    }
-
-    @Test
-    public void onPreferenceChanged_enable() {
-        updateControllerZenPolicy(new ZenPolicy.Builder()
-                .allowMedia(false)
-                .allowAlarms(false)
-                .build());
-        mController.onPreferenceChange(mockPref, true);
-        mRule.setZenPolicy(new ZenPolicy.Builder()
-                .allowMedia(false)
-                .allowAlarms(true)
-                .build());
-        verify(mBackend).updateZenRule(RULE_ID, mRule);
-    }
-
-    @Test
-    public void onPreferenceChanged_disable() {
-        updateControllerZenPolicy(new ZenPolicy.Builder()
-                .allowMedia(false)
-                .allowAlarms(true)
-                .build());
-        mController.onPreferenceChange(mockPref, false);
-        mRule.setZenPolicy(new ZenPolicy.Builder()
-                .allowMedia(false)
-                .allowAlarms(false)
-                .build());
-        verify(mBackend).updateZenRule(RULE_ID, mRule);
-    }
-}
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/notification/ZenRuleDefaultPolicyPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/ZenRuleDefaultPolicyPreferenceControllerTest.java
deleted file mode 100644
index e350793..0000000
--- a/tests/robotests/src/com/android/settings/notification/ZenRuleDefaultPolicyPreferenceControllerTest.java
+++ /dev/null
@@ -1,90 +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.notification;
-
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.app.NotificationManager;
-import android.content.Context;
-import android.service.notification.ZenPolicy;
-
-import androidx.preference.PreferenceScreen;
-
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-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 org.robolectric.shadows.ShadowApplication;
-import org.robolectric.util.ReflectionHelpers;
-
-@RunWith(RobolectricTestRunner.class)
-public class ZenRuleDefaultPolicyPreferenceControllerTest extends
-        ZenRuleCustomPrefContrTestBase {
-
-    @Mock
-    private ZenModeBackend mBackend;
-    @Mock
-    private NotificationManager mNotificationManager;
-    @Mock
-    private ZenCustomRadioButtonPreference mockPref;
-    @Mock
-    private PreferenceScreen mScreen;
-
-    private Context mContext;
-    private ZenRuleDefaultPolicyPreferenceController mController;
-
-    @Override
-    AbstractZenCustomRulePreferenceController getController() {
-        return mController;
-    }
-
-    @Before
-    public void setup() {
-        MockitoAnnotations.initMocks(this);
-        ShadowApplication shadowApplication = ShadowApplication.getInstance();
-        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
-
-        mContext = RuntimeEnvironment.application;
-        mController = new ZenRuleDefaultPolicyPreferenceController(mContext, mock(Lifecycle.class),
-                PREF_KEY);
-        ReflectionHelpers.setField(mController, "mBackend", mBackend);
-        when(mBackend.getAutomaticZenRule(RULE_ID)).thenReturn(mRule);
-        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mockPref);
-        mController.displayPreference(mScreen);
-    }
-
-    @Test
-    public void updateState_nullZenPolicy() {
-        updateControllerZenPolicy(null);
-        mController.updateState(mockPref);
-        verify(mockPref).setChecked(true);
-    }
-
-    @Test
-    public void updateState_hasZenPolicy() {
-        updateControllerZenPolicy(new ZenPolicy.Builder().build());
-        mController.updateState(mockPref);
-        verify(mockPref).setChecked(false);
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/notification/ZenRulePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/ZenRulePreferenceControllerTest.java
deleted file mode 100644
index 5d070e5..0000000
--- a/tests/robotests/src/com/android/settings/notification/ZenRulePreferenceControllerTest.java
+++ /dev/null
@@ -1,92 +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.notification;
-
-import static junit.framework.Assert.assertEquals;
-
-import static org.junit.Assert.assertTrue;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-
-import android.app.AutomaticZenRule;
-import android.app.NotificationManager;
-import android.content.Context;
-
-import androidx.preference.PreferenceScreen;
-
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-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 org.robolectric.shadows.ShadowApplication;
-import org.robolectric.util.ReflectionHelpers;
-
-@RunWith(RobolectricTestRunner.class)
-public class ZenRulePreferenceControllerTest {
-
-    @Mock
-    private ZenModeBackend mBackend;
-    @Mock
-    private NotificationManager mNotificationManager;
-    @Mock
-    private ZenCustomRadioButtonPreference mockPref;
-    @Mock
-    private PreferenceScreen mScreen;
-
-    private Context mContext;
-    private TestablePreferenceController mController;
-
-    @Before
-    public void setup() {
-        MockitoAnnotations.initMocks(this);
-        ShadowApplication shadowApplication = ShadowApplication.getInstance();
-        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
-
-        mContext = RuntimeEnvironment.application;
-        mController = new TestablePreferenceController(mContext,"test", mock(Lifecycle.class));
-        ReflectionHelpers.setField(mController, "mBackend", mBackend);
-        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mockPref);
-        mController.displayPreference(mScreen);
-    }
-
-    @Test
-    public void onResumeTest() {
-        final String id = "testid";
-        final AutomaticZenRule rule = new AutomaticZenRule("test", null, null,
-                null, null, NotificationManager.INTERRUPTION_FILTER_PRIORITY, true);
-
-        assertTrue(mController.mRule == null);
-        assertTrue(mController.mId == null);
-
-        mController.onResume(rule, id);
-
-        assertEquals(mController.mId, id);
-        assertEquals(mController.mRule, rule);
-    }
-
-    class TestablePreferenceController extends AbstractZenCustomRulePreferenceController {
-        TestablePreferenceController(Context context, String key,
-                Lifecycle lifecycle) {
-            super(context, key, lifecycle);
-        }
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/notification/ZenRuleRepeatCallersPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/ZenRuleRepeatCallersPreferenceControllerTest.java
deleted file mode 100644
index 45062d4..0000000
--- a/tests/robotests/src/com/android/settings/notification/ZenRuleRepeatCallersPreferenceControllerTest.java
+++ /dev/null
@@ -1,123 +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.notification;
-
-import static org.mockito.ArgumentMatchers.anyString;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.app.NotificationManager;
-import android.content.Context;
-import android.service.notification.ZenPolicy;
-
-import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
-
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-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 org.robolectric.shadows.ShadowApplication;
-import org.robolectric.util.ReflectionHelpers;
-
-@RunWith(RobolectricTestRunner.class)
-public class ZenRuleRepeatCallersPreferenceControllerTest extends ZenRuleCustomPrefContrTestBase {
-
-    private ZenRuleRepeatCallersPreferenceController mController;
-
-    @Mock
-    private ZenModeBackend mBackend;
-    @Mock
-    private NotificationManager mNotificationManager;
-    @Mock
-    private SwitchPreference mockPref;
-    @Mock
-    private NotificationManager.Policy mPolicy;
-    @Mock
-    private PreferenceScreen mPreferenceScreen;
-    private Context mContext;
-
-    @Override
-    AbstractZenCustomRulePreferenceController getController() {
-        return mController;
-    }
-
-    @Before
-    public void setup() {
-        MockitoAnnotations.initMocks(this);
-        ShadowApplication shadowApplication = ShadowApplication.getInstance();
-        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
-
-        mContext = RuntimeEnvironment.application;
-        when(mNotificationManager.getNotificationPolicy()).thenReturn(mPolicy);
-        mController = new ZenRuleRepeatCallersPreferenceController(mContext, PREF_KEY,
-                mock(Lifecycle.class), 15);
-        ReflectionHelpers.setField(mController, "mBackend", mBackend);
-        when(mBackend.getAutomaticZenRule(anyString())).thenReturn(mRule);
-        when(mPreferenceScreen.findPreference(mController.getPreferenceKey())).thenReturn(
-                mockPref);
-        mController.displayPreference(mPreferenceScreen);
-    }
-
-    @Test
-    public void updateState_Priority_anyCallers() {
-        updateControllerZenPolicy(new ZenPolicy.Builder()
-                .allowCalls(ZenPolicy.PEOPLE_TYPE_ANYONE)
-                .allowRepeatCallers(false)
-                .build());
-        mController.updateState(mockPref);
-
-        verify(mockPref).setEnabled(false);
-        verify(mockPref).setChecked(true);
-    }
-
-    @Test
-    public void onPreferenceChanged_EnableRepeatCallers() {
-        updateControllerZenPolicy(new ZenPolicy.Builder()
-                .allowCalls(ZenPolicy.PEOPLE_TYPE_CONTACTS)
-                .allowRepeatCallers(false)
-                .build());
-        mController.updateState(mockPref);
-        mController.onPreferenceChange(mockPref, true);
-        mRule.setZenPolicy(new ZenPolicy.Builder()
-                .allowCalls(ZenPolicy.PEOPLE_TYPE_CONTACTS)
-                .allowRepeatCallers(true)
-                .build());
-        verify(mBackend).updateZenRule(RULE_ID, mRule);
-    }
-
-    @Test
-    public void onPreferenceChanged_DisableRepeatCallers() {
-        updateControllerZenPolicy(new ZenPolicy.Builder()
-                .allowCalls(ZenPolicy.PEOPLE_TYPE_CONTACTS)
-                .allowRepeatCallers(true)
-                .build());
-        mController.updateState(mockPref);
-        mController.onPreferenceChange(mockPref, false);
-        mRule.setZenPolicy(new ZenPolicy.Builder()
-                .allowCalls(ZenPolicy.PEOPLE_TYPE_CONTACTS)
-                .allowRepeatCallers(false)
-                .build());
-        verify(mBackend).updateZenRule(RULE_ID, mRule);
-    }
-}
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/notification/ZenRuleStarredContactsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/ZenRuleStarredContactsPreferenceControllerTest.java
deleted file mode 100644
index 6c422eb..0000000
--- a/tests/robotests/src/com/android/settings/notification/ZenRuleStarredContactsPreferenceControllerTest.java
+++ /dev/null
@@ -1,171 +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.notification;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.Matchers.any;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-
-import android.app.NotificationManager;
-import android.content.ComponentName;
-import android.content.Context;
-import android.content.Intent;
-import android.service.notification.ZenPolicy;
-
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-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 org.robolectric.shadows.ShadowApplication;
-import org.robolectric.util.ReflectionHelpers;
-
-@RunWith(RobolectricTestRunner.class)
-public class ZenRuleStarredContactsPreferenceControllerTest extends ZenRuleCustomPrefContrTestBase {
-
-    private ZenRuleStarredContactsPreferenceController mCallsController;
-    private ZenRuleStarredContactsPreferenceController mMessagesController;
-    private static int CURR_CONTROLLER = ZenPolicy.PRIORITY_CATEGORY_CALLS;
-
-    @Mock
-    private ZenModeBackend mBackend;
-    @Mock
-    private NotificationManager mNotificationManager;
-    @Mock
-    private Preference mockPref;
-    @Mock
-    private PreferenceScreen mPreferenceScreen;
-    @Mock
-    private Intent testIntent;
-    @Mock
-    private ComponentName mComponentName;
-    private Context mContext;
-
-    @Override
-    AbstractZenCustomRulePreferenceController getController() {
-        if (CURR_CONTROLLER == ZenPolicy.PRIORITY_CATEGORY_MESSAGES) {
-            return mMessagesController;
-        } else {
-            return mCallsController;
-        }
-    }
-
-    @Before
-    public void setup() {
-        MockitoAnnotations.initMocks(this);
-        ShadowApplication shadowApplication = ShadowApplication.getInstance();
-        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
-
-        mContext = RuntimeEnvironment.application;
-        when(testIntent.resolveActivity(any())).thenReturn(mComponentName);
-
-        mCallsController = new ZenRuleStarredContactsPreferenceController(
-                mContext, mock(Lifecycle.class), ZenPolicy.PRIORITY_CATEGORY_CALLS,
-                "zen_mode_starred_contacts_callers");
-        when(mBackend.getAutomaticZenRule(RULE_ID)).thenReturn(mRule);
-        ReflectionHelpers.setField(mCallsController, "mBackend", mBackend);
-        ReflectionHelpers.setField(mCallsController, "mStarredContactsIntent", testIntent);
-        when(mPreferenceScreen.findPreference(mCallsController.getPreferenceKey()))
-                .thenReturn(mockPref);
-        mCallsController.displayPreference(mPreferenceScreen);
-
-        mMessagesController = new ZenRuleStarredContactsPreferenceController(
-                mContext, mock(Lifecycle.class), ZenPolicy.PRIORITY_CATEGORY_MESSAGES,
-                "zen_mode_starred_contacts_messages");
-        ReflectionHelpers.setField(mMessagesController, "mBackend", mBackend);
-        ReflectionHelpers.setField(mMessagesController, "mStarredContactsIntent", testIntent);
-        when(mPreferenceScreen.findPreference(mMessagesController.getPreferenceKey()))
-                .thenReturn(mockPref);
-        mMessagesController.displayPreference(mPreferenceScreen);
-    }
-
-    @Test
-    public void isAvailable_noCallers() {
-        CURR_CONTROLLER = ZenPolicy.PRIORITY_CATEGORY_CALLS;
-        updateControllerZenPolicy(new ZenPolicy.Builder()
-                .allowCalls(ZenPolicy.PEOPLE_TYPE_NONE)
-                .build());
-        assertThat(mCallsController.isAvailable()).isFalse();
-    }
-
-    @Test
-    public void isAvailable_anyCallers() {
-        CURR_CONTROLLER = ZenPolicy.PRIORITY_CATEGORY_CALLS;
-        updateControllerZenPolicy(new ZenPolicy.Builder()
-                .allowCalls(ZenPolicy.PEOPLE_TYPE_ANYONE)
-                .build());
-
-        assertThat(mCallsController.isAvailable()).isFalse();
-    }
-
-    @Test
-    public void isAvailable_starredCallers() {
-        CURR_CONTROLLER = ZenPolicy.PRIORITY_CATEGORY_CALLS;
-        updateControllerZenPolicy(new ZenPolicy.Builder()
-                .allowCalls(ZenPolicy.PEOPLE_TYPE_STARRED)
-                .build());
-
-        assertThat(mCallsController.isAvailable()).isTrue();
-    }
-
-    @Test
-    public void isAvailable_noMessages() {
-        CURR_CONTROLLER = ZenPolicy.PRIORITY_CATEGORY_MESSAGES;
-        updateControllerZenPolicy(new ZenPolicy.Builder()
-                .allowMessages(ZenPolicy.PEOPLE_TYPE_NONE)
-                .build());
-        assertThat(mCallsController.isAvailable()).isFalse();
-    }
-
-    @Test
-    public void isAvailable_anyMessages() {
-        CURR_CONTROLLER = ZenPolicy.PRIORITY_CATEGORY_MESSAGES;
-        updateControllerZenPolicy(new ZenPolicy.Builder()
-                .allowMessages(ZenPolicy.PEOPLE_TYPE_ANYONE)
-                .build());
-
-        assertThat(mMessagesController.isAvailable()).isFalse();
-    }
-
-    @Test
-    public void isAvailable_starredMessageContacts() {
-        CURR_CONTROLLER = ZenPolicy.PRIORITY_CATEGORY_MESSAGES;
-        updateControllerZenPolicy(new ZenPolicy.Builder()
-                .allowMessages(ZenPolicy.PEOPLE_TYPE_STARRED)
-                .build());
-
-        assertThat(mMessagesController.isAvailable()).isTrue();
-    }
-
-    @Test
-    public void nullPreference_displayPreference() {
-        when(mPreferenceScreen.findPreference(mMessagesController.getPreferenceKey()))
-                .thenReturn(null);
-
-        // should not throw a null pointer
-        mMessagesController.displayPreference(mPreferenceScreen);
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/notification/ZenRuleVisEffectPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/ZenRuleVisEffectPreferenceControllerTest.java
deleted file mode 100644
index c99d207..0000000
--- a/tests/robotests/src/com/android/settings/notification/ZenRuleVisEffectPreferenceControllerTest.java
+++ /dev/null
@@ -1,187 +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.notification;
-
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.app.NotificationManager;
-import android.content.Context;
-import android.content.res.Resources;
-import android.service.notification.ZenPolicy;
-
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.widget.DisabledCheckBoxPreference;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-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 org.robolectric.shadows.ShadowApplication;
-import org.robolectric.util.ReflectionHelpers;
-
-@RunWith(RobolectricTestRunner.class)
-public class ZenRuleVisEffectPreferenceControllerTest extends ZenRuleCustomPrefContrTestBase {
-
-    private static final @ZenPolicy.VisualEffect int EFFECT_PEEK = ZenPolicy.VISUAL_EFFECT_PEEK;
-    private static final @ZenPolicy.VisualEffect int PARENT_EFFECT1 = ZenPolicy.VISUAL_EFFECT_BADGE;
-    private static final @ZenPolicy.VisualEffect int PARENT_EFFECT2 =
-            ZenPolicy.VISUAL_EFFECT_NOTIFICATION_LIST;
-    private static final int PREF_METRICS = 1;
-
-    @Mock
-    private ZenModeBackend mBackend;
-    @Mock
-    private DisabledCheckBoxPreference mockPref;
-    @Mock
-    private PreferenceScreen mScreen;
-    @Mock
-    NotificationManager mNotificationManager;
-
-    private Context mContext;
-    private ZenRuleVisEffectPreferenceController mController;
-
-    @Override
-    AbstractZenCustomRulePreferenceController getController() {
-        return mController;
-    }
-
-    @Before
-    public void setup() {
-        MockitoAnnotations.initMocks(this);
-        ShadowApplication shadowApplication = ShadowApplication.getInstance();
-        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
-        when(mNotificationManager.getNotificationPolicy()).thenReturn(
-                mock(NotificationManager.Policy.class));
-
-        mContext = RuntimeEnvironment.application;
-        mController = new ZenRuleVisEffectPreferenceController(mContext, mock(Lifecycle.class),
-                PREF_KEY, EFFECT_PEEK, PREF_METRICS, null);
-        ReflectionHelpers.setField(mController, "mBackend", mBackend);
-        when(mBackend.getAutomaticZenRule(RULE_ID)).thenReturn(mRule);
-
-        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mockPref);
-        mController.displayPreference(mScreen);
-    }
-
-    @Test
-    public void isAvailable() {
-        // VISUAL_EFFECT_PEEK isn't available until after onResume is called
-        assertFalse(mController.isAvailable());
-        updateControllerZenPolicy(new ZenPolicy()); // calls onResume
-        assertTrue(mController.isAvailable());
-
-        // VISUAL_EFFECT_LIGHTS is only available if the device has an LED:
-        Context mockContext = mock(Context.class);
-        mController = new ZenRuleVisEffectPreferenceController(mockContext, mock(Lifecycle.class),
-                PREF_KEY, ZenPolicy.VISUAL_EFFECT_LIGHTS, PREF_METRICS, null);
-        updateControllerZenPolicy(new ZenPolicy()); // calls onResume
-
-        Resources mockResources = mock(Resources.class);
-        when(mockContext.getResources()).thenReturn(mockResources);
-
-        when(mockResources.getBoolean(com.android.internal.R.bool.config_intrusiveNotificationLed))
-                .thenReturn(false); // no light
-        assertFalse(mController.isAvailable());
-
-        when(mockResources.getBoolean(com.android.internal.R.bool.config_intrusiveNotificationLed))
-                .thenReturn(true); // has light
-        assertTrue(mController.isAvailable());
-    }
-
-    @Test
-    public void updateState_notChecked() {
-        updateControllerZenPolicy(new ZenPolicy.Builder()
-                .showPeeking(true)
-                .build());
-        mController.updateState(mockPref);
-
-        verify(mockPref).setChecked(false);
-        verify(mockPref).enableCheckbox(true);
-    }
-
-    @Test
-    public void updateState_checked() {
-        updateControllerZenPolicy(new ZenPolicy.Builder()
-                .showPeeking(false)
-                .build());
-        mController.updateState(mockPref);
-
-        verify(mockPref).setChecked(true);
-        verify(mockPref).enableCheckbox(true);
-    }
-
-    @Test
-    public void updateState_checkedFalse_parentChecked() {
-        mController.mParentSuppressedEffects = new int[]{PARENT_EFFECT1, PARENT_EFFECT2};
-        updateControllerZenPolicy(new ZenPolicy.Builder()
-                .showVisualEffect(EFFECT_PEEK, true)
-                .showVisualEffect(PARENT_EFFECT1, true)
-                .showVisualEffect(PARENT_EFFECT2, false)
-                .build());
-        mController.updateState(mockPref);
-
-        verify(mockPref).setChecked(true);
-        verify(mockPref).enableCheckbox(false);
-    }
-
-    @Test
-    public void updateState_checkedFalse_parentNotChecked() {
-        mController.mParentSuppressedEffects = new int[]{PARENT_EFFECT1, PARENT_EFFECT2};
-        updateControllerZenPolicy(new ZenPolicy.Builder()
-                .showVisualEffect(EFFECT_PEEK, true)
-                .showVisualEffect(PARENT_EFFECT1, true)
-                .showVisualEffect(PARENT_EFFECT2, true)
-                .build());
-        mController.updateState(mockPref);
-
-        verify(mockPref).setChecked(false);
-        verify(mockPref).enableCheckbox(true);
-    }
-
-    @Test
-    public void onPreferenceChanged_checkedFalse() {
-        updateControllerZenPolicy(new ZenPolicy.Builder()
-                .showPeeking(false)
-                .build());
-        mController.onPreferenceChange(mockPref, false);
-        mRule.setZenPolicy(new ZenPolicy.Builder(mRule.getZenPolicy())
-                .showPeeking(true)
-                .build());
-        verify(mBackend).updateZenRule(RULE_ID, mRule);
-    }
-
-    @Test
-    public void onPreferenceChanged_checkedTrue() {
-        updateControllerZenPolicy(new ZenPolicy.Builder()
-                .showPeeking(true)
-                .build());
-        mController.onPreferenceChange(mockPref, true);
-        mRule.setZenPolicy(new ZenPolicy.Builder(mRule.getZenPolicy())
-                .showPeeking(false)
-                .build());
-        verify(mBackend).updateZenRule(RULE_ID, mRule);
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/notification/ZenRuleVisEffectsAllPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/ZenRuleVisEffectsAllPreferenceControllerTest.java
deleted file mode 100644
index 5ef6194..0000000
--- a/tests/robotests/src/com/android/settings/notification/ZenRuleVisEffectsAllPreferenceControllerTest.java
+++ /dev/null
@@ -1,104 +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.notification;
-
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.app.NotificationManager;
-import android.content.Context;
-import android.service.notification.ZenPolicy;
-
-import androidx.preference.PreferenceScreen;
-
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-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 org.robolectric.shadows.ShadowApplication;
-import org.robolectric.util.ReflectionHelpers;
-
-@RunWith(RobolectricTestRunner.class)
-public class ZenRuleVisEffectsAllPreferenceControllerTest extends
-        ZenRuleCustomPrefContrTestBase {
-
-    @Mock
-    private ZenModeBackend mBackend;
-    @Mock
-    private NotificationManager mNotificationManager;
-    @Mock
-    private ZenCustomRadioButtonPreference mockPref;
-    @Mock
-    private PreferenceScreen mScreen;
-
-    private ZenRuleVisEffectsAllPreferenceController mController;
-    private Context mContext;
-
-    @Override
-    AbstractZenCustomRulePreferenceController getController() {
-        return mController;
-    }
-
-    @Before
-    public void setup() {
-        MockitoAnnotations.initMocks(this);
-        ShadowApplication shadowApplication = ShadowApplication.getInstance();
-        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
-        mContext = RuntimeEnvironment.application;
-        mController = new ZenRuleVisEffectsAllPreferenceController(mContext, mock(Lifecycle.class),
-                PREF_KEY);
-        ReflectionHelpers.setField(mController, "mBackend", mBackend);
-        when(mBackend.getAutomaticZenRule(RULE_ID)).thenReturn(mRule);
-        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mockPref);
-        mController.displayPreference(mScreen);
-    }
-
-    @Test
-    public void updateState_noVisEffects() {
-        updateControllerZenPolicy(new ZenPolicy.Builder()
-                .hideAllVisualEffects()
-                .build());
-        mController.updateState(mockPref);
-        verify(mockPref).setChecked(false);
-    }
-
-    @Test
-    public void updateState_showAllVisualEffects() {
-        updateControllerZenPolicy(new ZenPolicy.Builder()
-                .showAllVisualEffects()
-                .build());
-        mController.updateState(mockPref);
-        verify(mockPref).setChecked(true);
-    }
-
-    @Test
-    public void updateState_customEffects() {
-        updateControllerZenPolicy(new ZenPolicy.Builder()
-                .showPeeking(true)
-                .showBadges(false)
-                .build());
-        mController.updateState(mockPref);
-
-        verify(mockPref).setChecked(false);
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/notification/ZenRuleVisEffectsCustomPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/ZenRuleVisEffectsCustomPreferenceControllerTest.java
deleted file mode 100644
index 79ef8d2..0000000
--- a/tests/robotests/src/com/android/settings/notification/ZenRuleVisEffectsCustomPreferenceControllerTest.java
+++ /dev/null
@@ -1,104 +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.notification;
-
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.app.NotificationManager;
-import android.content.Context;
-import android.service.notification.ZenPolicy;
-
-import androidx.preference.PreferenceScreen;
-
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-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 org.robolectric.shadows.ShadowApplication;
-import org.robolectric.util.ReflectionHelpers;
-
-@RunWith(RobolectricTestRunner.class)
-public class ZenRuleVisEffectsCustomPreferenceControllerTest extends
-        ZenRuleCustomPrefContrTestBase {
-
-    @Mock
-    private ZenModeBackend mBackend;
-    @Mock
-    private NotificationManager mNotificationManager;
-    @Mock
-    private ZenCustomRadioButtonPreference mockPref;
-    @Mock
-    private PreferenceScreen mScreen;
-
-    private ZenRuleVisEffectsCustomPreferenceController mController;
-    private Context mContext;
-
-    @Override
-    AbstractZenCustomRulePreferenceController getController() {
-        return mController;
-    }
-
-    @Before
-    public void setup() {
-        MockitoAnnotations.initMocks(this);
-        ShadowApplication shadowApplication = ShadowApplication.getInstance();
-        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
-        mContext = RuntimeEnvironment.application;
-        mController = new ZenRuleVisEffectsCustomPreferenceController(mContext, mock(Lifecycle.class),
-                PREF_KEY);
-        ReflectionHelpers.setField(mController, "mBackend", mBackend);
-        when(mBackend.getAutomaticZenRule(RULE_ID)).thenReturn(mRule);
-        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mockPref);
-        mController.displayPreference(mScreen);
-    }
-
-    @Test
-    public void updateState_noVisEffects() {
-        updateControllerZenPolicy(new ZenPolicy.Builder()
-                .hideAllVisualEffects()
-                .build());
-        mController.updateState(mockPref);
-        verify(mockPref).setChecked(false);
-    }
-
-    @Test
-    public void updateState_showAllVisualEffects() {
-        updateControllerZenPolicy(new ZenPolicy.Builder()
-                .showAllVisualEffects()
-                .build());
-        mController.updateState(mockPref);
-        verify(mockPref).setChecked(false);
-    }
-
-    @Test
-    public void updateState_customEffects() {
-        updateControllerZenPolicy(new ZenPolicy.Builder()
-                .showPeeking(true)
-                .showBadges(false)
-                .build());
-        mController.updateState(mockPref);
-
-        verify(mockPref).setChecked(true);
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/notification/ZenRuleVisEffectsNonePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/ZenRuleVisEffectsNonePreferenceControllerTest.java
deleted file mode 100644
index d66433e..0000000
--- a/tests/robotests/src/com/android/settings/notification/ZenRuleVisEffectsNonePreferenceControllerTest.java
+++ /dev/null
@@ -1,104 +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.notification;
-
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.app.NotificationManager;
-import android.content.Context;
-import android.service.notification.ZenPolicy;
-
-import androidx.preference.PreferenceScreen;
-
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-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 org.robolectric.shadows.ShadowApplication;
-import org.robolectric.util.ReflectionHelpers;
-
-@RunWith(RobolectricTestRunner.class)
-public class ZenRuleVisEffectsNonePreferenceControllerTest extends
-        ZenRuleCustomPrefContrTestBase {
-
-    @Mock
-    private ZenModeBackend mBackend;
-    @Mock
-    private NotificationManager mNotificationManager;
-    @Mock
-    private ZenCustomRadioButtonPreference mockPref;
-    @Mock
-    private PreferenceScreen mScreen;
-
-    private ZenRuleVisEffectsNonePreferenceController mController;
-    private Context mContext;
-
-    @Override
-    AbstractZenCustomRulePreferenceController getController() {
-        return mController;
-    }
-
-    @Before
-    public void setup() {
-        MockitoAnnotations.initMocks(this);
-        ShadowApplication shadowApplication = ShadowApplication.getInstance();
-        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
-        mContext = RuntimeEnvironment.application;
-        mController = new ZenRuleVisEffectsNonePreferenceController(mContext, mock(Lifecycle.class),
-                PREF_KEY);
-        ReflectionHelpers.setField(mController, "mBackend", mBackend);
-        when(mBackend.getAutomaticZenRule(RULE_ID)).thenReturn(mRule);
-        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mockPref);
-        mController.displayPreference(mScreen);
-    }
-
-    @Test
-    public void updateState_noVisEffects() {
-        updateControllerZenPolicy(new ZenPolicy.Builder()
-                .hideAllVisualEffects()
-                .build());
-        mController.updateState(mockPref);
-        verify(mockPref).setChecked(true);
-    }
-
-    @Test
-    public void updateState_showAllVisualEffects() {
-        updateControllerZenPolicy(new ZenPolicy.Builder()
-                .showAllVisualEffects()
-                .build());
-        mController.updateState(mockPref);
-        verify(mockPref).setChecked(false);
-    }
-
-    @Test
-    public void updateState_custom() {
-        updateControllerZenPolicy(new ZenPolicy.Builder()
-                .showPeeking(true)
-                .showBadges(false)
-                .build());
-        mController.updateState(mockPref);
-
-        verify(mockPref).setChecked(false);
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/notification/app/AddToHomeScreenPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/app/AddToHomeScreenPreferenceControllerTest.java
new file mode 100644
index 0000000..342f3ad
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/app/AddToHomeScreenPreferenceControllerTest.java
@@ -0,0 +1,87 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.notification.app;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+
+import android.content.Context;
+import android.content.pm.ShortcutInfo;
+
+import androidx.preference.Preference;
+
+import com.android.settings.notification.NotificationBackend;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+@RunWith(RobolectricTestRunner.class)
+public class AddToHomeScreenPreferenceControllerTest {
+
+    private Context mContext;
+    @Mock
+    private NotificationBackend mBackend;
+
+    private AddToHomeScreenPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mContext = RuntimeEnvironment.application;
+        mController = new AddToHomeScreenPreferenceController(mContext, mBackend);
+    }
+
+    @Test
+    public void testNoCrashIfNoOnResume() {
+        mController.isAvailable();
+        mController.updateState(mock(Preference.class));
+    }
+
+    @Test
+    public void testIsAvailable_notIfNull() {
+        mController.onResume(null, null, null, null, null, null);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable() {
+        ShortcutInfo si = mock(ShortcutInfo.class);
+        mController.onResume(mock(NotificationBackend.AppRow.class), null, null, null, si, null);
+        assertTrue(mController.isAvailable());
+    }
+
+    @Test
+    public void testHandlePreferenceTreeClick() {
+        ShortcutInfo si = mock(ShortcutInfo.class);
+        mController.onResume(mock(NotificationBackend.AppRow.class), null, null, null, si, null);
+
+        Preference pref = new Preference(RuntimeEnvironment.application);
+        pref.setKey("add_to_home");
+        mController.handlePreferenceTreeClick(pref);
+
+        verify(mBackend).requestPinShortcut(any(), eq(si));
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/app/AllowSoundPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/app/AllowSoundPreferenceControllerTest.java
new file mode 100644
index 0000000..49d0a1d
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/app/AllowSoundPreferenceControllerTest.java
@@ -0,0 +1,237 @@
+/*
+ * 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.app;
+
+import static android.app.NotificationChannel.DEFAULT_CHANNEL_ID;
+import static android.app.NotificationManager.IMPORTANCE_HIGH;
+import static android.app.NotificationManager.IMPORTANCE_LOW;
+import static android.app.NotificationManager.IMPORTANCE_UNSPECIFIED;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyInt;
+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.NotificationChannel;
+import android.app.NotificationManager;
+import android.content.Context;
+import android.os.UserManager;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.notification.NotificationBackend;
+import com.android.settingslib.RestrictedLockUtils;
+import com.android.settingslib.RestrictedSwitchPreference;
+
+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.RuntimeEnvironment;
+import org.robolectric.shadows.ShadowApplication;
+
+@RunWith(RobolectricTestRunner.class)
+public class AllowSoundPreferenceControllerTest {
+
+    private Context mContext;
+    @Mock
+    private NotificationBackend mBackend;
+    @Mock
+    private NotificationManager mNm;
+    @Mock
+    private UserManager mUm;
+    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
+    private PreferenceScreen mScreen;
+
+    @Mock
+    private NotificationSettings.DependentFieldListener mDependentFieldListener;
+
+    private AllowSoundPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        ShadowApplication shadowApplication = ShadowApplication.getInstance();
+        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNm);
+        shadowApplication.setSystemService(Context.USER_SERVICE, mUm);
+        mContext = RuntimeEnvironment.application;
+        mController =
+                spy(new AllowSoundPreferenceController(mContext, mDependentFieldListener, mBackend));
+    }
+
+    @Test
+    public void testNoCrashIfNoOnResume() {
+        mController.isAvailable();
+        mController.updateState(mock(RestrictedSwitchPreference.class));
+        mController.onPreferenceChange(mock(RestrictedSwitchPreference.class), true);
+    }
+
+    @Test
+    public void testIsAvailable_notIfNull() {
+        mController.onResume(null, mock(NotificationChannel.class), null, null, null, null);
+        assertFalse(mController.isAvailable());
+
+        mController.onResume(mock(NotificationBackend.AppRow.class), null, null, null, null, null);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable_notIfAppBlocked() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.banned = true;
+        mController.onResume(appRow, mock(NotificationChannel.class), null, null, null, null);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable_notIfAppCreatedChannel() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getId()).thenReturn("something new");
+        mController.onResume(appRow, channel, null, null, null, null);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_LOW);
+        when(channel.getId()).thenReturn(DEFAULT_CHANNEL_ID);
+        mController.onResume(appRow, channel, null, null, null, null);
+        assertTrue(mController.isAvailable());
+    }
+
+    @Test
+    public void testUpdateState_disabledByAdmin() {
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getId()).thenReturn("something");
+        mController.onResume(new NotificationBackend.AppRow(), channel, null, null, null, mock(
+                RestrictedLockUtils.EnforcedAdmin.class));
+
+        Preference pref = new RestrictedSwitchPreference(mContext);
+        mController.updateState(pref);
+
+        assertFalse(pref.isEnabled());
+    }
+
+    @Test
+    public void testUpdateState_notBlockable_oem() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getId()).thenReturn("");
+        when(channel.isImportanceLockedByOEM()).thenReturn(true);
+        mController.onResume(appRow, channel, null, null, null, null);
+
+        Preference pref = new RestrictedSwitchPreference(mContext);
+        mController.updateState(pref);
+
+        assertTrue(pref.isEnabled());
+    }
+
+    @Test
+    public void testUpdateState_configurable() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getId()).thenReturn("something");
+        mController.onResume(appRow, channel, null, null, null, null);
+
+        Preference pref = new RestrictedSwitchPreference(mContext);
+        mController.updateState(pref);
+
+        assertTrue(pref.isEnabled());
+    }
+
+    @Test
+    public void testUpdateState_checkedForHighImportanceChannel() {
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH);
+        mController.onResume(new NotificationBackend.AppRow(), channel, null, null, null, null);
+
+        RestrictedSwitchPreference pref = new RestrictedSwitchPreference(mContext);
+        mController.updateState(pref);
+        assertTrue(pref.isChecked());
+    }
+
+    @Test
+    public void testUpdateState_checkedForUnspecifiedImportanceChannel() {
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_UNSPECIFIED);
+        mController.onResume(new NotificationBackend.AppRow(), channel, null, null, null, null);
+
+        RestrictedSwitchPreference pref = new RestrictedSwitchPreference(mContext);
+        mController.updateState(pref);
+        assertTrue(pref.isChecked());
+    }
+
+    @Test
+    public void testUpdateState_notCheckedForLowImportanceChannel() {
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_LOW);
+        mController.onResume(new NotificationBackend.AppRow(), channel, null, null, null, null);
+
+        RestrictedSwitchPreference pref = new RestrictedSwitchPreference(mContext);
+        mController.updateState(pref);
+        assertFalse(pref.isChecked());
+    }
+
+    @Test
+    public void testOnPreferenceChange_on() {
+        NotificationChannel channel =
+                new NotificationChannel(DEFAULT_CHANNEL_ID, "a", IMPORTANCE_LOW);
+        mController.onResume(new NotificationBackend.AppRow(), channel, null, null, null, null);
+
+        RestrictedSwitchPreference pref = new RestrictedSwitchPreference(mContext);
+        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(pref);
+        mController.displayPreference(mScreen);
+        mController.updateState(pref);
+        pref.setChecked(true);
+        mController.onPreferenceChange(pref, true);
+
+        assertEquals(IMPORTANCE_UNSPECIFIED, mController.mChannel.getImportance());
+        verify(mDependentFieldListener, times(1)).onFieldValueChanged();
+    }
+
+    @Test
+    public void testOnPreferenceChange_off() {
+        NotificationChannel channel =
+                new NotificationChannel(DEFAULT_CHANNEL_ID, "a", IMPORTANCE_HIGH);
+        mController.onResume(new NotificationBackend.AppRow(), channel, null, null, null, null);
+
+        RestrictedSwitchPreference pref = new RestrictedSwitchPreference(mContext);
+        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(pref);
+        mController.displayPreference(mScreen);
+        mController.updateState(pref);
+
+        pref.setChecked(false);
+        mController.onPreferenceChange(pref, false);
+
+        verify(mBackend, times(1)).updateChannel(any(), anyInt(), any());
+        assertEquals(IMPORTANCE_LOW, mController.mChannel.getImportance());
+        verify(mDependentFieldListener, times(1)).onFieldValueChanged();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/app/AppLinkPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/app/AppLinkPreferenceControllerTest.java
new file mode 100644
index 0000000..41aeacb
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/app/AppLinkPreferenceControllerTest.java
@@ -0,0 +1,132 @@
+/*
+ * 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.app;
+
+import static android.app.NotificationChannel.DEFAULT_CHANNEL_ID;
+import static android.app.NotificationManager.IMPORTANCE_LOW;
+import static android.app.NotificationManager.IMPORTANCE_NONE;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
+import android.app.NotificationChannel;
+import android.app.NotificationManager;
+import android.content.Context;
+import android.content.Intent;
+import android.os.UserManager;
+
+import androidx.preference.Preference;
+
+import com.android.settings.notification.NotificationBackend;
+
+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 org.robolectric.shadows.ShadowApplication;
+
+@RunWith(RobolectricTestRunner.class)
+public class AppLinkPreferenceControllerTest {
+
+    private Context mContext;
+    @Mock
+    private NotificationManager mNm;
+    @Mock
+    private UserManager mUm;
+
+    private AppLinkPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        ShadowApplication shadowApplication = ShadowApplication.getInstance();
+        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNm);
+        shadowApplication.setSystemService(Context.USER_SERVICE, mUm);
+        mContext = RuntimeEnvironment.application;
+        mController = spy(new AppLinkPreferenceController(mContext));
+    }
+
+    @Test
+    public void testNoCrashIfNoOnResume() {
+        mController.isAvailable();
+        mController.updateState(mock(Preference.class));
+    }
+
+    @Test
+    public void testIsAvailable_notIfNull() {
+        mController.onResume(null, null, null, null, null, null);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable_notIfAppBlocked() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.banned = true;
+        mController.onResume(appRow, null, null, null, null, null);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable_notIfChannelBlocked() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_NONE);
+        mController.onResume(appRow, channel, null, null, null, null);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable_notNoIntent() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_LOW);
+        when(channel.getId()).thenReturn(DEFAULT_CHANNEL_ID);
+        mController.onResume(appRow, channel, null, null, null, null);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.settingsIntent = new Intent("test");
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_LOW);
+        when(channel.getId()).thenReturn(DEFAULT_CHANNEL_ID);
+        mController.onResume(appRow, channel, null, null, null, null);
+        assertTrue(mController.isAvailable());
+    }
+
+    @Test
+    public void testUpdateState() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        Intent intent = new Intent("action");
+        appRow.settingsIntent = intent;
+        mController.onResume(appRow, null, null, null, null, null);
+
+        Preference pref = new Preference(RuntimeEnvironment.application);
+        mController.updateState(pref);
+
+        assertEquals(intent, pref.getIntent());
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/app/BadgePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/app/BadgePreferenceControllerTest.java
new file mode 100644
index 0000000..277e6b2
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/app/BadgePreferenceControllerTest.java
@@ -0,0 +1,311 @@
+/*
+ * 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.app;
+
+import static android.app.NotificationChannel.DEFAULT_CHANNEL_ID;
+import static android.app.NotificationManager.IMPORTANCE_HIGH;
+import static android.app.NotificationManager.IMPORTANCE_LOW;
+import static android.app.NotificationManager.IMPORTANCE_NONE;
+import static android.provider.Settings.Secure.NOTIFICATION_BADGING;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.eq;
+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.NotificationChannel;
+import android.app.NotificationManager;
+import android.content.Context;
+import android.os.UserManager;
+import android.provider.Settings;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.notification.NotificationBackend;
+import com.android.settingslib.RestrictedLockUtils;
+import com.android.settingslib.RestrictedSwitchPreference;
+
+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.RuntimeEnvironment;
+import org.robolectric.shadows.ShadowApplication;
+
+@RunWith(RobolectricTestRunner.class)
+public class BadgePreferenceControllerTest {
+
+    private Context mContext;
+    @Mock
+    private NotificationBackend mBackend;
+    @Mock
+    private NotificationManager mNm;
+    @Mock
+    private UserManager mUm;
+    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
+    private PreferenceScreen mScreen;
+
+    private BadgePreferenceController mController;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        ShadowApplication shadowApplication = ShadowApplication.getInstance();
+        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNm);
+        shadowApplication.setSystemService(Context.USER_SERVICE, mUm);
+        mContext = RuntimeEnvironment.application;
+        mController = spy(new BadgePreferenceController(mContext, mBackend));
+    }
+
+    @Test
+    public void testNoCrashIfNoOnResume() {
+        mController.isAvailable();
+        mController.updateState(mock(RestrictedSwitchPreference.class));
+        mController.onPreferenceChange(mock(RestrictedSwitchPreference.class), true);
+    }
+
+    @Test
+    public void testIsAvailable_notIfAppBlocked() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.banned = true;
+        mController.onResume(appRow, mock(NotificationChannel.class), null, null, null, null);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable_notIfChannelBlocked() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_NONE);
+        mController.onResume(appRow, channel, null, null, null, null);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable_channel_notIfAppOff() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.showBadge = false;
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH);
+        mController.onResume(appRow, channel, null, null, null, null);
+
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable_notIfOffGlobally() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH);
+        mController.onResume(appRow, channel, null, null, null, null);
+        Settings.Secure.putInt(mContext.getContentResolver(), NOTIFICATION_BADGING, 0);
+
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable_app() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        mController.onResume(appRow, null, null, null, null, null);
+        Settings.Secure.putInt(mContext.getContentResolver(), NOTIFICATION_BADGING, 1);
+
+        assertTrue(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable_defaultChannel() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.showBadge = true;
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH);
+        when(channel.getId()).thenReturn(DEFAULT_CHANNEL_ID);
+        mController.onResume(appRow, channel, null, null, null, null);
+        Settings.Secure.putInt(mContext.getContentResolver(), NOTIFICATION_BADGING, 1);
+
+        assertTrue(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable_channel() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.showBadge = true;
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH);
+        mController.onResume(appRow, channel, null, null, null, null);
+        Settings.Secure.putInt(mContext.getContentResolver(), NOTIFICATION_BADGING, 1);
+
+        assertTrue(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable_channelAppOff() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.showBadge = false;
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH);
+        mController.onResume(appRow, channel, null, null, null, null);
+        Settings.Secure.putInt(mContext.getContentResolver(), NOTIFICATION_BADGING, 1);
+
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void testUpdateState_disabledByAdmin() {
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getId()).thenReturn("something");
+        mController.onResume(new NotificationBackend.AppRow(), channel, null,
+                null, null, mock(RestrictedLockUtils.EnforcedAdmin.class));
+
+        Preference pref = new RestrictedSwitchPreference(mContext);
+        mController.updateState(pref);
+
+        assertFalse(pref.isEnabled());
+    }
+
+    @Test
+    public void testUpdateState_channelNotBlockable() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getId()).thenReturn("");
+        when(channel.isImportanceLockedByOEM()).thenReturn(true);
+        mController.onResume(appRow, channel, null, null, null, null);
+
+        Preference pref = new RestrictedSwitchPreference(mContext);
+        mController.updateState(pref);
+
+        assertTrue(pref.isEnabled());
+    }
+
+    @Test
+    public void testUpdateState_channel() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.canShowBadge()).thenReturn(true);
+        mController.onResume(appRow, channel, null, null, null, null);
+
+        RestrictedSwitchPreference pref = new RestrictedSwitchPreference(mContext);
+        mController.updateState(pref);
+
+        assertTrue(pref.isChecked());
+
+        when(channel.canShowBadge()).thenReturn(false);
+        mController.onResume(appRow, channel, null, null, null, null);
+        mController.updateState(pref);
+
+        assertFalse(pref.isChecked());
+    }
+
+    @Test
+    public void testUpdateState_app() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.showBadge = true;
+        mController.onResume(appRow, null, null, null, null, null);
+
+        RestrictedSwitchPreference pref = new RestrictedSwitchPreference(mContext);
+        mController.updateState(pref);
+        assertTrue(pref.isChecked());
+
+        appRow.showBadge = false;
+        mController.onResume(appRow, null, null, null, null, null);
+
+        mController.updateState(pref);
+        assertFalse(pref.isChecked());
+    }
+
+    @Test
+    public void testOnPreferenceChange_on_channel() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.showBadge = true;
+        NotificationChannel channel =
+                new NotificationChannel(DEFAULT_CHANNEL_ID, "a", IMPORTANCE_LOW);
+        channel.setShowBadge(false);
+        mController.onResume(appRow, channel, null, null, null, null);
+
+        RestrictedSwitchPreference pref = new RestrictedSwitchPreference(mContext);
+        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(pref);
+        mController.displayPreference(mScreen);
+        mController.updateState(pref);
+
+        mController.onPreferenceChange(pref, true);
+        assertTrue(channel.canShowBadge());
+        verify(mBackend, times(1)).updateChannel(any(), anyInt(), any());
+    }
+
+    @Test
+    public void testOnPreferenceChange_off_channel() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.showBadge = true;
+        NotificationChannel channel =
+                new NotificationChannel(DEFAULT_CHANNEL_ID, "a", IMPORTANCE_HIGH);
+        channel.setShowBadge(true);
+        mController.onResume(appRow, channel, null, null, null, null);
+
+        RestrictedSwitchPreference pref = new RestrictedSwitchPreference(mContext);
+        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(pref);
+        mController.displayPreference(mScreen);
+        mController.updateState(pref);
+
+        mController.onPreferenceChange(pref, false);
+        verify(mBackend, times(1)).updateChannel(any(), anyInt(), any());
+        assertFalse(channel.canShowBadge());
+    }
+
+    @Test
+    public void testOnPreferenceChange_on_app() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.showBadge = false;
+        mController.onResume(appRow, null, null, null, null, null);
+
+        RestrictedSwitchPreference pref = new RestrictedSwitchPreference(mContext);
+        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(pref);
+        mController.displayPreference(mScreen);
+        mController.updateState(pref);
+
+        mController.onPreferenceChange(pref, true);
+
+        assertTrue(appRow.showBadge);
+        verify(mBackend, times(1)).setShowBadge(any(), anyInt(), eq(true));
+    }
+
+    @Test
+    public void testOnPreferenceChange_off_app() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.showBadge = true;
+        mController.onResume(appRow, null, null, null, null, null);
+
+        RestrictedSwitchPreference pref = new RestrictedSwitchPreference(mContext);
+        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(pref);
+        mController.displayPreference(mScreen);
+        mController.updateState(pref);
+
+        mController.onPreferenceChange(pref, false);
+
+        assertFalse(appRow.showBadge);
+        verify(mBackend, times(1)).setShowBadge(any(), anyInt(), eq(false));
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/app/BlockPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/app/BlockPreferenceControllerTest.java
new file mode 100644
index 0000000..b83ab77
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/app/BlockPreferenceControllerTest.java
@@ -0,0 +1,382 @@
+/*
+ * 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.app;
+
+import static android.app.NotificationChannel.DEFAULT_CHANNEL_ID;
+import static android.app.NotificationManager.IMPORTANCE_DEFAULT;
+import static android.app.NotificationManager.IMPORTANCE_HIGH;
+import static android.app.NotificationManager.IMPORTANCE_LOW;
+import static android.app.NotificationManager.IMPORTANCE_NONE;
+import static android.app.NotificationManager.IMPORTANCE_UNSPECIFIED;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyBoolean;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.anyString;
+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.NotificationChannel;
+import android.app.NotificationChannelGroup;
+import android.app.NotificationManager;
+import android.content.Context;
+import android.os.UserManager;
+
+import com.android.settings.R;
+import com.android.settings.notification.NotificationBackend;
+import com.android.settings.widget.SwitchBar;
+import com.android.settingslib.widget.LayoutPreference;
+
+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 org.robolectric.shadows.ShadowApplication;
+
+@RunWith(RobolectricTestRunner.class)
+public class BlockPreferenceControllerTest {
+
+    private Context mContext;
+    @Mock
+    private NotificationBackend mBackend;
+    @Mock
+    private NotificationManager mNm;
+    @Mock
+    private UserManager mUm;
+
+    @Mock
+    private NotificationSettings.DependentFieldListener mDependentFieldListener;
+
+    private BlockPreferenceController mController;
+    @Mock
+    private LayoutPreference mPreference;
+    private SwitchBar mSwitch;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        ShadowApplication shadowApplication = ShadowApplication.getInstance();
+        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNm);
+        shadowApplication.setSystemService(Context.USER_SERVICE, mUm);
+        mContext = RuntimeEnvironment.application;
+        mController = spy(new BlockPreferenceController(mContext, mDependentFieldListener, mBackend));
+        mSwitch = new SwitchBar(mContext);
+        when(mPreference.findViewById(R.id.switch_bar)).thenReturn(mSwitch);
+    }
+
+    @Test
+    public void testNoCrashIfNoOnResume() {
+        mController.isAvailable();
+        mController.updateState(mock(LayoutPreference.class));
+        mController.onSwitchChanged(null, false);
+    }
+
+    @Test
+    public void testIsAvailable_notIfNull() {
+        mController.onResume(null, null, null, null, null, null);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable_channelNotBlockable() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.systemApp = true;
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH);
+        mController.onResume(appRow, channel, null, null, null, null);
+        assertTrue(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable_channelNonDefault() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.systemApp = true;
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH);
+        mController.onResume(appRow, channel, null, null, null, null);
+        assertTrue(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable_ifChannelDefault() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH);
+        when(channel.getId()).thenReturn(DEFAULT_CHANNEL_ID);
+        mController.onResume(appRow, channel, null, null, null, null);
+        assertTrue(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable_GroupNotBlockable() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.systemApp = true;
+        mController.onResume(appRow, null, mock(NotificationChannelGroup.class), null, null, null);
+        assertTrue(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable_AppNotBlockable() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.systemApp = true;
+        mController.onResume(appRow, null, null, null, null, null);
+        assertTrue(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable_systemApp() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.systemApp = true;
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_NONE);
+        mController.onResume(appRow, channel, null, null, null, null);
+        assertTrue(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable_nonSystemApp() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.systemApp = false;
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH);
+        mController.onResume(appRow, channel, null, null, null, null);
+        assertTrue(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsEnabled_lockedApp() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.lockedImportance = true;
+        appRow.systemApp = true;
+        mController.onResume(appRow, null, null, null, null, null);
+        mController.updateState(mPreference);
+        assertFalse(mSwitch.isEnabled());
+    }
+
+    @Test
+    public void testIsEnabled_GroupNotBlockable() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.systemApp = true;
+        mController.onResume(appRow, null, mock(NotificationChannelGroup.class), null, null, null);
+        mController.updateState(mPreference);
+        assertFalse(mSwitch.isEnabled());
+    }
+
+    @Test
+    public void testIsEnabled_systemAppNotBlockable() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.systemApp = true;
+        mController.onResume(appRow, null, null, null, null, null);
+        mController.updateState(mPreference);
+        assertFalse(mSwitch.isEnabled());
+    }
+
+    @Test
+    public void testIsEnabled_systemAppBlockable() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.systemApp = true;
+        NotificationChannel channel = new NotificationChannel("", "", IMPORTANCE_DEFAULT);
+        channel.setBlockableSystem(true);
+        mController.onResume(appRow, channel, null, null, null, null);
+        mController.updateState(mPreference);
+        assertTrue(mSwitch.isEnabled());
+    }
+
+    @Test
+    public void testIsEnabled_lockedChannel() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.isImportanceLockedByOEM()).thenReturn(true);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH);
+        mController.onResume(appRow, channel, null, null, null, null);
+
+        mController.updateState(mPreference);
+
+        assertFalse(mSwitch.isEnabled());
+    }
+
+    @Test
+    public void testIsEnabled_defaultAppChannel() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.isImportanceLockedByCriticalDeviceFunction()).thenReturn(true);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH);
+        mController.onResume(appRow, channel, null, null, null, null);
+
+        mController.updateState(mPreference);
+
+        assertFalse(mSwitch.isEnabled());
+    }
+
+    @Test
+    public void testIsEnabled_channel() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH);
+        mController.onResume(appRow, channel, null, null, null, null);
+
+        mController.updateState(mPreference);
+
+        assertTrue(mSwitch.isEnabled());
+    }
+
+    @Test
+    public void testIsEnabled_app() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        mController.onResume(appRow, null, null, null, null, null);
+
+        mController.updateState(mPreference);
+
+        assertTrue(mSwitch.isEnabled());
+    }
+
+    @Test
+    public void testUpdateState_app() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.banned = true;
+        mController.onResume(appRow, null, null, null, null, null);
+        mController.updateState(mPreference);
+
+        assertNotNull(mPreference.findViewById(R.id.switch_bar));
+
+        assertFalse(mSwitch.isChecked());
+
+        appRow.banned = false;
+        mController.onResume(appRow, null, null, null, null, null);
+        mController.updateState(mPreference);
+
+        assertTrue(mSwitch.isChecked());
+    }
+
+    @Test
+    public void testUpdateState_group() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannelGroup group = mock(NotificationChannelGroup.class);
+        when(group.isBlocked()).thenReturn(true);
+        mController.onResume(appRow, null, group, null, null, null);
+        mController.updateState(mPreference);
+
+        assertFalse(mSwitch.isChecked());
+
+        appRow.banned = true;
+        mController.onResume(appRow, null, group, null, null, null);
+        when(group.isBlocked()).thenReturn(true);
+        mController.updateState(mPreference);
+
+        assertFalse(mSwitch.isChecked());
+
+        appRow.banned = false;
+        mController.onResume(appRow, null, group, null, null, null);
+        when(group.isBlocked()).thenReturn(false);
+        mController.updateState(mPreference);
+
+        assertTrue(mSwitch.isChecked());
+    }
+
+    @Test
+    public void testUpdateState_channelBlocked() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = new NotificationChannel("a", "a", IMPORTANCE_NONE);
+        mController.onResume(appRow, channel, null, null, null, null);
+        mController.updateState(mPreference);
+
+        assertFalse(mSwitch.isChecked());
+
+        appRow.banned = true;
+        channel = new NotificationChannel("a", "a", IMPORTANCE_HIGH);
+        mController.onResume(appRow, channel, null, null, null, null);
+        mController.updateState(mPreference);
+
+        assertFalse(mSwitch.isChecked());
+
+        appRow.banned = false;
+        channel = new NotificationChannel("a", "a", IMPORTANCE_HIGH);
+        mController.onResume(appRow, channel, null, null, null, null);
+        mController.updateState(mPreference);
+
+        assertTrue(mSwitch.isChecked());
+    }
+
+    @Test
+    public void testUpdateState_noCrashIfCalledTwice() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = new NotificationChannel("a", "a", IMPORTANCE_LOW);
+        mController.onResume(appRow, channel, null, null, null, null);
+        mController.updateState(mPreference);
+        mController.updateState(mPreference);
+    }
+
+    @Test
+    public void testUpdateState_doesNotResetImportance() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = new NotificationChannel("a", "a", IMPORTANCE_LOW);
+        mController.onResume(appRow, channel, null, null, null, null);
+        mController.updateState(mPreference);
+
+        assertEquals(IMPORTANCE_LOW, channel.getImportance());
+    }
+
+    @Test
+    public void testOnSwitchChanged_channel_default() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.pkg = "pkg";
+        NotificationChannel channel =
+                new NotificationChannel(DEFAULT_CHANNEL_ID, "a", IMPORTANCE_UNSPECIFIED);
+        when(mBackend.onlyHasDefaultChannel(anyString(), anyInt())).thenReturn(true);
+        mController.onResume(appRow, channel, null, null, null, null);
+        mController.updateState(mPreference);
+
+        mController.onSwitchChanged(null, false);
+        assertEquals(IMPORTANCE_NONE, channel.getImportance());
+        assertTrue(appRow.banned);
+
+        mController.onSwitchChanged(null, true);
+        assertEquals(IMPORTANCE_UNSPECIFIED, channel.getImportance());
+        assertFalse(appRow.banned);
+
+        verify(mBackend, times(2)).updateChannel(any(), anyInt(), any());
+
+        verify(mBackend, times(2)).setNotificationsEnabledForPackage(
+                anyString(), anyInt(), anyBoolean());
+    }
+
+    @Test
+    public void testOnSwitchChanged_channel_nonDefault() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = new NotificationChannel("a", "a", IMPORTANCE_HIGH);
+        mController.onResume(appRow, channel, null, null, null, null);
+        mController.updateState(mPreference);
+
+        mController.onSwitchChanged(null, false);
+        assertEquals(IMPORTANCE_NONE, channel.getImportance());
+
+        mController.onSwitchChanged(null, true);
+        assertEquals(IMPORTANCE_DEFAULT, channel.getImportance());
+
+        verify(mBackend, times(2)).updateChannel(any(), anyInt(), any());
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/app/BubblePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/app/BubblePreferenceControllerTest.java
new file mode 100644
index 0000000..404625e
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/app/BubblePreferenceControllerTest.java
@@ -0,0 +1,392 @@
+/*
+ * 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.notification.app;
+
+import static android.app.NotificationChannel.DEFAULT_CHANNEL_ID;
+import static android.app.NotificationManager.IMPORTANCE_HIGH;
+import static android.app.NotificationManager.IMPORTANCE_LOW;
+import static android.app.NotificationManager.IMPORTANCE_NONE;
+import static android.provider.Settings.Global.NOTIFICATION_BUBBLES;
+
+import static com.android.settings.notification.app.BubblePreferenceController.SYSTEM_WIDE_OFF;
+import static com.android.settings.notification.app.BubblePreferenceController.SYSTEM_WIDE_ON;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.NotificationChannel;
+import android.app.NotificationManager;
+import android.content.Context;
+import android.os.UserManager;
+import android.provider.Settings;
+
+import com.android.settings.notification.NotificationBackend;
+import com.android.settingslib.RestrictedLockUtils;
+import com.android.settingslib.RestrictedSwitchPreference;
+
+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.RuntimeEnvironment;
+import org.robolectric.shadows.ShadowApplication;
+
+import androidx.fragment.app.FragmentManager;
+import androidx.fragment.app.FragmentTransaction;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+@RunWith(RobolectricTestRunner.class)
+public class BubblePreferenceControllerTest {
+
+    private Context mContext;
+    @Mock
+    private NotificationBackend mBackend;
+    @Mock
+    private NotificationManager mNm;
+    @Mock
+    private UserManager mUm;
+    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
+    private PreferenceScreen mScreen;
+    @Mock
+    private FragmentManager mFragmentManager;
+
+    private BubblePreferenceController mController;
+    private BubblePreferenceController mAppPageController;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        ShadowApplication shadowApplication = ShadowApplication.getInstance();
+        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNm);
+        shadowApplication.setSystemService(Context.USER_SERVICE, mUm);
+        mContext = RuntimeEnvironment.application;
+        when(mFragmentManager.beginTransaction()).thenReturn(mock(FragmentTransaction.class));
+        mController = spy(new BubblePreferenceController(mContext, mFragmentManager, mBackend,
+                false /* isAppPage */));
+        mAppPageController = spy(new BubblePreferenceController(mContext, mFragmentManager,
+                mBackend, true /* isAppPage */));
+    }
+
+    @Test
+    public void testNoCrashIfNoOnResume() {
+        mController.isAvailable();
+        mController.updateState(mock(RestrictedSwitchPreference.class));
+        mController.onPreferenceChange(mock(RestrictedSwitchPreference.class), true);
+    }
+
+    @Test
+    public void testIsAvailable_notIfAppBlocked() {
+        Settings.Global.putInt(mContext.getContentResolver(), NOTIFICATION_BUBBLES, SYSTEM_WIDE_ON);
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.banned = true;
+        mController.onResume(appRow, mock(NotificationChannel.class), null, null, null, null);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable_notIfChannelBlocked() {
+        Settings.Global.putInt(mContext.getContentResolver(), NOTIFICATION_BUBBLES, SYSTEM_WIDE_ON);
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_NONE);
+        mController.onResume(appRow, channel, null, null, null, null);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable_channel_notIfAppOff() {
+        Settings.Global.putInt(mContext.getContentResolver(), NOTIFICATION_BUBBLES, SYSTEM_WIDE_ON);
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.allowBubbles = false;
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH);
+        mController.onResume(appRow, channel, null, null, null, null);
+
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsNotAvailable_ifOffGlobally_app() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        mController.onResume(appRow, null, null, null, null, null);
+        Settings.Global.putInt(mContext.getContentResolver(),
+                NOTIFICATION_BUBBLES, SYSTEM_WIDE_OFF);
+
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable_notIfOffGlobally_channel() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH);
+        mController.onResume(appRow, channel, null, null, null, null);
+        Settings.Global.putInt(mContext.getContentResolver(),
+                NOTIFICATION_BUBBLES, SYSTEM_WIDE_OFF);
+
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable_app_evenIfOffGlobally() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        mAppPageController.onResume(appRow, null, null, null, null, null);
+        Settings.Global.putInt(mContext.getContentResolver(),
+                NOTIFICATION_BUBBLES, SYSTEM_WIDE_OFF);
+
+        assertTrue(mAppPageController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable_app() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        mController.onResume(appRow, null, null, null, null, null);
+        Settings.Global.putInt(mContext.getContentResolver(), NOTIFICATION_BUBBLES, SYSTEM_WIDE_ON);
+
+        assertTrue(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable_defaultChannel() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.allowBubbles = true;
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH);
+        when(channel.getId()).thenReturn(DEFAULT_CHANNEL_ID);
+        mController.onResume(appRow, channel, null, null, null, null);
+        Settings.Global.putInt(mContext.getContentResolver(), NOTIFICATION_BUBBLES, SYSTEM_WIDE_ON);
+
+        assertTrue(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable_channel() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.allowBubbles = true;
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH);
+        mController.onResume(appRow, channel, null, null, null, null);
+        Settings.Global.putInt(mContext.getContentResolver(), NOTIFICATION_BUBBLES, SYSTEM_WIDE_ON);
+
+        assertTrue(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable_channelAppOff() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.allowBubbles = false;
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH);
+        mController.onResume(appRow, channel, null, null, null, null);
+        Settings.Global.putInt(mContext.getContentResolver(), NOTIFICATION_BUBBLES, SYSTEM_WIDE_ON);
+
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void testUpdateState_disabledByAdmin() {
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getId()).thenReturn("something");
+        mController.onResume(new NotificationBackend.AppRow(), channel, null,
+                null, null, mock(RestrictedLockUtils.EnforcedAdmin.class));
+
+        Preference pref = new RestrictedSwitchPreference(mContext);
+        mController.updateState(pref);
+
+        assertFalse(pref.isEnabled());
+    }
+
+    @Test
+    public void testUpdateState_channelNotBlockable() {
+        Settings.Global.putInt(mContext.getContentResolver(), NOTIFICATION_BUBBLES, SYSTEM_WIDE_ON);
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.isImportanceLockedByCriticalDeviceFunction()).thenReturn(true);
+        mController.onResume(appRow, channel, null, null, null, null);
+
+        Preference pref = new RestrictedSwitchPreference(mContext);
+        mController.updateState(pref);
+
+        assertTrue(pref.isEnabled());
+    }
+
+    @Test
+    public void testUpdateState_channel() {
+        Settings.Global.putInt(mContext.getContentResolver(), NOTIFICATION_BUBBLES, SYSTEM_WIDE_ON);
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.canBubble()).thenReturn(true);
+        mController.onResume(appRow, channel, null, null, null, null);
+
+        RestrictedSwitchPreference pref = new RestrictedSwitchPreference(mContext);
+        mController.updateState(pref);
+
+        assertTrue(pref.isChecked());
+
+        when(channel.canBubble()).thenReturn(false);
+        mController.onResume(appRow, channel, null, null, null, null);
+        mController.updateState(pref);
+
+        assertFalse(pref.isChecked());
+    }
+
+    @Test
+    public void testUpdateState_app() {
+        Settings.Global.putInt(mContext.getContentResolver(), NOTIFICATION_BUBBLES, SYSTEM_WIDE_ON);
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.label = "App!";
+        appRow.allowBubbles = true;
+        mController.onResume(appRow, null, null, null, null, null);
+
+        RestrictedSwitchPreference pref = new RestrictedSwitchPreference(mContext);
+        mController.updateState(pref);
+        assertTrue(pref.isChecked());
+
+        appRow.allowBubbles = false;
+        mController.onResume(appRow, null, null, null, null, null);
+
+        mController.updateState(pref);
+        assertFalse(pref.isChecked());
+
+        assertNotNull(pref.getSummary());
+        assertTrue(pref.getSummary().toString().contains(appRow.label));
+    }
+
+    @Test
+    public void testUpdateState_app_offGlobally() {
+        Settings.Global.putInt(mContext.getContentResolver(),
+                NOTIFICATION_BUBBLES, SYSTEM_WIDE_OFF);
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.label = "App!";
+        appRow.allowBubbles = true;
+        mController.onResume(appRow, null, null, null, null, null);
+
+        RestrictedSwitchPreference pref = new RestrictedSwitchPreference(mContext);
+        mController.updateState(pref);
+        assertFalse(pref.isChecked());
+    }
+
+    @Test
+    public void testOnPreferenceChange_on_channel() {
+        Settings.Global.putInt(mContext.getContentResolver(), NOTIFICATION_BUBBLES, SYSTEM_WIDE_ON);
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.allowBubbles = true;
+        NotificationChannel channel =
+                new NotificationChannel(DEFAULT_CHANNEL_ID, "a", IMPORTANCE_LOW);
+        channel.setAllowBubbles(false);
+        mController.onResume(appRow, channel, null, null, null, null);
+
+        RestrictedSwitchPreference pref = new RestrictedSwitchPreference(mContext);
+        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(pref);
+        mController.displayPreference(mScreen);
+        mController.updateState(pref);
+
+        mController.onPreferenceChange(pref, true);
+        assertTrue(channel.canBubble());
+        verify(mBackend, times(1)).updateChannel(any(), anyInt(), any());
+    }
+
+    @Test
+    public void testOnPreferenceChange_off_channel() {
+        Settings.Global.putInt(mContext.getContentResolver(), NOTIFICATION_BUBBLES, SYSTEM_WIDE_ON);
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.allowBubbles = true;
+        NotificationChannel channel =
+                new NotificationChannel(DEFAULT_CHANNEL_ID, "a", IMPORTANCE_HIGH);
+        channel.setAllowBubbles(true);
+        mController.onResume(appRow, channel, null, null, null, null);
+
+        RestrictedSwitchPreference pref = new RestrictedSwitchPreference(mContext);
+        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(pref);
+        mController.displayPreference(mScreen);
+        mController.updateState(pref);
+
+        mController.onPreferenceChange(pref, false);
+        verify(mBackend, times(1)).updateChannel(any(), anyInt(), any());
+        assertFalse(channel.canBubble());
+    }
+
+    @Test
+    public void testOnPreferenceChange_on_app() {
+        Settings.Global.putInt(mContext.getContentResolver(), NOTIFICATION_BUBBLES, SYSTEM_WIDE_ON);
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.allowBubbles = false;
+        mController.onResume(appRow, null, null, null, null, null);
+
+        RestrictedSwitchPreference pref = new RestrictedSwitchPreference(mContext);
+        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(pref);
+        mController.displayPreference(mScreen);
+        mController.updateState(pref);
+
+        mController.onPreferenceChange(pref, true);
+
+        assertTrue(appRow.allowBubbles);
+        verify(mBackend, times(1)).setAllowBubbles(any(), anyInt(), eq(true));
+    }
+
+    @Test
+    public void testOnPreferenceChange_off_app() {
+        Settings.Global.putInt(mContext.getContentResolver(), NOTIFICATION_BUBBLES, SYSTEM_WIDE_ON);
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.allowBubbles = true;
+        mController.onResume(appRow, null, null, null, null, null);
+
+        RestrictedSwitchPreference pref = new RestrictedSwitchPreference(mContext);
+        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(pref);
+        mController.displayPreference(mScreen);
+        mController.updateState(pref);
+
+        mController.onPreferenceChange(pref, false);
+
+        assertFalse(appRow.allowBubbles);
+        verify(mBackend, times(1)).setAllowBubbles(any(), anyInt(), eq(false));
+    }
+
+    @Test
+    public void testOnPreferenceChange_on_app_offGlobally() {
+        Settings.Global.putInt(mContext.getContentResolver(), NOTIFICATION_BUBBLES,
+                SYSTEM_WIDE_OFF);
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.allowBubbles = false;
+        mController.onResume(appRow, null, null, null, null, null);
+
+        RestrictedSwitchPreference pref = new RestrictedSwitchPreference(mContext);
+        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(pref);
+        mController.displayPreference(mScreen);
+        mController.updateState(pref);
+
+        mController.onPreferenceChange(pref, true);
+
+        assertFalse(appRow.allowBubbles);
+        verify(mBackend, never()).setAllowBubbles(any(), anyInt(), eq(true));
+        verify(mFragmentManager, times(1)).beginTransaction();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/app/BubbleSummaryPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/app/BubbleSummaryPreferenceControllerTest.java
new file mode 100644
index 0000000..80abfbb
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/app/BubbleSummaryPreferenceControllerTest.java
@@ -0,0 +1,160 @@
+/*
+ * 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.notification.app;
+
+import static android.app.NotificationChannel.DEFAULT_CHANNEL_ID;
+import static android.app.NotificationManager.IMPORTANCE_HIGH;
+import static android.provider.Settings.Global.NOTIFICATION_BUBBLES;
+
+import static com.android.settings.notification.app.BubbleSummaryPreferenceController.SYSTEM_WIDE_OFF;
+import static com.android.settings.notification.app.BubbleSummaryPreferenceController.SYSTEM_WIDE_ON;
+
+import static junit.framework.TestCase.assertEquals;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.NotificationChannel;
+import android.content.Context;
+import android.provider.Settings;
+
+import com.android.settings.notification.NotificationBackend;
+
+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 org.robolectric.shadows.ShadowApplication;
+
+import androidx.preference.Preference;
+
+@RunWith(RobolectricTestRunner.class)
+public class BubbleSummaryPreferenceControllerTest {
+
+    private Context mContext;
+    @Mock
+    private NotificationBackend mBackend;
+
+    private BubbleSummaryPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        ShadowApplication shadowApplication = ShadowApplication.getInstance();
+        mContext = RuntimeEnvironment.application;
+        mController = spy(new BubbleSummaryPreferenceController(mContext, mBackend));
+    }
+
+    @Test
+    public void testNoCrashIfNoOnResume() {
+        mController.isAvailable();
+        mController.updateState(mock(Preference.class));
+    }
+
+    @Test
+    public void testIsAvailable_notIfAppBlocked() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.banned = true;
+        mController.onResume(appRow, mock(NotificationChannel.class), null, null, null, null);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable_notIfOffGlobally() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH);
+        mController.onResume(appRow, channel, null, null, null, null);
+        Settings.Global.putInt(mContext.getContentResolver(), NOTIFICATION_BUBBLES,
+                SYSTEM_WIDE_OFF);
+
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable_app() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        mController.onResume(appRow, null, null, null, null, null);
+        Settings.Global.putInt(mContext.getContentResolver(), NOTIFICATION_BUBBLES, SYSTEM_WIDE_ON);
+
+        assertTrue(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsNotAvailable_app_globalOff() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        mController.onResume(appRow, null, null, null, null, null);
+        Settings.Global.putInt(mContext.getContentResolver(), NOTIFICATION_BUBBLES,
+                SYSTEM_WIDE_OFF);
+
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable_defaultChannel() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.allowBubbles = true;
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH);
+        when(channel.getId()).thenReturn(DEFAULT_CHANNEL_ID);
+        mController.onResume(appRow, channel, null, null, null, null);
+        Settings.Global.putInt(mContext.getContentResolver(), NOTIFICATION_BUBBLES, SYSTEM_WIDE_ON);
+
+        assertTrue(mController.isAvailable());
+    }
+
+    @Test
+    public void testUpdateState() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.allowBubbles = true;
+        mController.onResume(appRow, null, null, null, null, null);
+
+        Preference pref = new Preference(mContext);
+        mController.updateState(pref);
+        assertNotNull(pref.getIntent());
+    }
+
+    @Test
+    public void testGetSummary() {
+        Settings.Global.putInt(mContext.getContentResolver(), NOTIFICATION_BUBBLES, SYSTEM_WIDE_ON);
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.allowBubbles = true;
+        mController.onResume(appRow, null, null, null, null, null);
+
+        assertEquals("On", mController.getSummary());
+
+        Settings.Global.putInt(mContext.getContentResolver(), NOTIFICATION_BUBBLES,
+                SYSTEM_WIDE_OFF);
+        assertEquals("Off", mController.getSummary());
+
+        Settings.Global.putInt(mContext.getContentResolver(), NOTIFICATION_BUBBLES, SYSTEM_WIDE_ON);
+        appRow.allowBubbles = false;
+        mController.onResume(appRow, null, null, null, null, null);
+
+        assertEquals("Off", mController.getSummary());
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/app/ConversationDemotePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/app/ConversationDemotePreferenceControllerTest.java
new file mode 100644
index 0000000..89007f0
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/app/ConversationDemotePreferenceControllerTest.java
@@ -0,0 +1,126 @@
+/*
+ * 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.notification.app;
+
+import static android.app.NotificationManager.IMPORTANCE_DEFAULT;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.NotificationChannel;
+import android.content.Context;
+
+import androidx.fragment.app.FragmentActivity;
+import androidx.preference.Preference;
+
+import com.android.settings.SettingsPreferenceFragment;
+import com.android.settings.notification.NotificationBackend;
+
+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;
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.shadows.ShadowApplication;
+
+@RunWith(RobolectricTestRunner.class)
+public class ConversationDemotePreferenceControllerTest {
+
+    private Context mContext;
+    @Mock
+    private NotificationBackend mBackend;
+    @Mock
+    SettingsPreferenceFragment mFragment;
+
+    private ConversationDemotePreferenceController mController;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        ShadowApplication shadowApplication = ShadowApplication.getInstance();
+        mContext = RuntimeEnvironment.application;
+        when(mFragment.getActivity()).thenReturn(mock(FragmentActivity.class));
+        mController = spy(new ConversationDemotePreferenceController(
+                mContext, mFragment, mBackend));
+
+    }
+
+    @Test
+    public void testNoCrashIfNoOnResume() {
+        mController.isAvailable();
+        mController.updateState(mock(Preference.class));
+        mController.handlePreferenceTreeClick(mock(Preference.class));
+    }
+
+    @Test
+    public void testIsAvailable_notConversation() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = new NotificationChannel("", "", IMPORTANCE_DEFAULT);
+        mController.onResume(appRow, channel, null, null, null, null);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable_conversation_demoted() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = new NotificationChannel("", "", IMPORTANCE_DEFAULT);
+        channel.setConversationId("a", "a");
+        channel.setDemoted(true);
+        mController.onResume(appRow, channel, null, null, null, null);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable_conversation_notDemoted() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = new NotificationChannel("", "", IMPORTANCE_DEFAULT);
+        channel.setConversationId("a", "a");
+        channel.setDemoted(false);
+        mController.onResume(appRow, channel, null, null, null, null);
+        assertTrue(mController.isAvailable());
+    }
+
+    @Test
+    public void testHandlePreferenceClick() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = new NotificationChannel("", "", IMPORTANCE_DEFAULT);
+        channel.setConversationId("a", "a");
+        channel.setDemoted(false);
+        mController.onResume(appRow, channel, null, null, null, null);
+
+        Preference pref = mock(Preference.class);
+        when(pref.getKey()).thenReturn("demote");
+        assertTrue(mController.handlePreferenceTreeClick(pref));
+
+        ArgumentCaptor<NotificationChannel> captor =
+                ArgumentCaptor.forClass(NotificationChannel.class);
+
+        verify(mBackend).updateChannel(eq(null), anyInt(), captor.capture());
+        assertTrue(captor.getValue().isDemoted());
+
+        verify(mFragment).getActivity();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/app/ConversationHeaderPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/app/ConversationHeaderPreferenceControllerTest.java
new file mode 100644
index 0000000..96f4e0b
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/app/ConversationHeaderPreferenceControllerTest.java
@@ -0,0 +1,141 @@
+/*
+ * 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.notification.app;
+
+import static android.app.NotificationManager.IMPORTANCE_NONE;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
+import android.app.NotificationChannel;
+import android.app.NotificationChannelGroup;
+import android.app.NotificationManager;
+import android.content.Context;
+import android.content.pm.ShortcutInfo;
+import android.os.UserManager;
+import android.view.View;
+
+import androidx.fragment.app.FragmentActivity;
+
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.notification.NotificationBackend;
+import com.android.settingslib.widget.LayoutPreference;
+
+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 org.robolectric.shadows.ShadowApplication;
+
+@RunWith(RobolectricTestRunner.class)
+public class ConversationHeaderPreferenceControllerTest {
+
+    private Context mContext;
+    @Mock
+    private NotificationManager mNm;
+    @Mock
+    private UserManager mUm;
+
+    private ConversationHeaderPreferenceController mController;
+    @Mock
+    private LayoutPreference mPreference;
+    @Mock
+    private View mView;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        ShadowApplication shadowApplication = ShadowApplication.getInstance();
+        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNm);
+        shadowApplication.setSystemService(Context.USER_SERVICE, mUm);
+        mContext = RuntimeEnvironment.application;
+        DashboardFragment fragment = mock(DashboardFragment.class);
+        when(fragment.getContext()).thenReturn(mContext);
+        FragmentActivity activity = mock(FragmentActivity.class);
+        when(activity.getApplicationContext()).thenReturn(mContext);
+        when(fragment.getActivity()).thenReturn(activity);
+        mController = spy(new ConversationHeaderPreferenceController(mContext, fragment));
+        when(mPreference.findViewById(anyInt())).thenReturn(mView);
+    }
+
+    @Test
+    public void testNoCrashIfNoOnResume() {
+        mController.isAvailable();
+        mController.updateState(mock(LayoutPreference.class));
+    }
+
+    @Test
+    public void testIsAvailable_notIfNull() {
+        mController.onResume(null, null, null, null, null, null);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.banned = true;
+        mController.onResume(appRow, null, null, null, null, null);
+        assertTrue(mController.isAvailable());
+    }
+
+    @Test
+    public void testGetLabel() {
+        ShortcutInfo si = mock(ShortcutInfo.class);
+        when(si.getShortLabel()).thenReturn("hello");
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        mController.onResume(appRow, null, null, null, si, null);
+        assertEquals(si.getShortLabel(), mController.getLabel());
+
+        NotificationChannel channel = new NotificationChannel("cid", "cname", IMPORTANCE_NONE);
+        mController.onResume(appRow, channel, null, null, null, null);
+        assertEquals(channel.getName(), mController.getLabel());
+    }
+
+    @Test
+    public void testGetSummary() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.label = "bananas";
+        mController.onResume(appRow, null, null, null, null, null);
+        assertEquals("", mController.getSummary());
+
+        NotificationChannelGroup group = new NotificationChannelGroup("id", "name");
+        mController.onResume(appRow, null, group, null, null, null);
+        assertEquals(appRow.label, mController.getSummary());
+
+        NotificationChannel channel = new NotificationChannel("cid", "cname", IMPORTANCE_NONE);
+        mController.onResume(appRow, channel, group, null, null, null);
+        assertTrue(mController.getSummary().toString().contains(group.getName()));
+        assertTrue(mController.getSummary().toString().contains(appRow.label));
+
+        mController.onResume(appRow, channel, null, null, null, null);
+        assertFalse(mController.getSummary().toString().contains(group.getName()));
+        assertTrue(mController.getSummary().toString().contains(appRow.label));
+
+        NotificationChannel defaultChannel = new NotificationChannel(
+                NotificationChannel.DEFAULT_CHANNEL_ID, "", IMPORTANCE_NONE);
+        mController.onResume(appRow, defaultChannel, null, null, null, null);
+        assertEquals("", mController.getSummary());
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/app/ConversationImportantPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/app/ConversationImportantPreferenceControllerTest.java
new file mode 100644
index 0000000..42b7859
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/app/ConversationImportantPreferenceControllerTest.java
@@ -0,0 +1,206 @@
+/*
+ * 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.notification.app;
+
+import static android.app.NotificationChannel.DEFAULT_CHANNEL_ID;
+import static android.app.NotificationManager.IMPORTANCE_DEFAULT;
+import static android.app.NotificationManager.IMPORTANCE_HIGH;
+import static android.provider.Settings.Secure.BUBBLE_IMPORTANT_CONVERSATIONS;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyInt;
+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.NotificationChannel;
+import android.app.NotificationManager;
+import android.content.Context;
+import android.os.UserManager;
+import android.provider.Settings;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.notification.NotificationBackend;
+import com.android.settingslib.RestrictedLockUtils;
+import com.android.settingslib.RestrictedSwitchPreference;
+
+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.RuntimeEnvironment;
+import org.robolectric.shadows.ShadowApplication;
+
+@RunWith(RobolectricTestRunner.class)
+public class ConversationImportantPreferenceControllerTest {
+
+    private Context mContext;
+    @Mock
+    private NotificationBackend mBackend;
+    @Mock
+    private NotificationManager mNm;
+    @Mock
+    private UserManager mUm;
+    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
+    private PreferenceScreen mScreen;
+    @Mock
+    private NotificationSettings.DependentFieldListener mDependentFieldListener;
+
+    private ConversationImportantPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        ShadowApplication shadowApplication = ShadowApplication.getInstance();
+        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNm);
+        shadowApplication.setSystemService(Context.USER_SERVICE, mUm);
+        mContext = RuntimeEnvironment.application;
+        mController = spy(new ConversationImportantPreferenceController(
+                mContext, mBackend, mDependentFieldListener));
+    }
+
+    @Test
+    public void testNoCrashIfNoOnResume() {
+        mController.isAvailable();
+        mController.updateState(mock(Preference.class));
+        mController.onPreferenceChange(mock(Preference.class), true);
+    }
+
+    @Test
+    public void testIsAvailable_notChannelNull() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        mController.onResume(appRow, null, null, null, null, null);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = new NotificationChannel("", "", IMPORTANCE_DEFAULT);
+        mController.onResume(appRow, channel, null, null, null, null);
+        assertTrue(mController.isAvailable());
+    }
+
+    @Test
+    public void testUpdateState_disabledByAdmin() {
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getId()).thenReturn("something");
+        mController.onResume(new NotificationBackend.AppRow(), channel, null, null, null, mock(
+                RestrictedLockUtils.EnforcedAdmin.class));
+
+        Preference pref = new RestrictedSwitchPreference(RuntimeEnvironment.application);
+        mController.updateState(pref);
+
+        assertFalse(pref.isEnabled());
+    }
+
+    @Test
+    public void testUpdateState() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = new NotificationChannel("", "", IMPORTANCE_DEFAULT);
+        channel.setImportantConversation(true);
+        mController.onResume(appRow, channel, null, null, null, null);
+
+        RestrictedSwitchPreference pref =
+                new RestrictedSwitchPreference(RuntimeEnvironment.application);
+        mController.updateState(pref);
+
+        assertTrue(pref.isChecked());
+
+        channel.setImportantConversation(false);
+        mController.onResume(appRow, channel, null, null, null, null);
+        mController.updateState(pref);
+        assertFalse(pref.isChecked());
+    }
+
+    @Test
+    public void testOnPreferenceChange_on() {
+        Settings.Secure.putInt(mContext.getContentResolver(),
+                BUBBLE_IMPORTANT_CONVERSATIONS, 0);
+        NotificationChannel channel =
+                new NotificationChannel(DEFAULT_CHANNEL_ID, "a", IMPORTANCE_DEFAULT);
+        channel.setImportantConversation(false);
+        channel.setAllowBubbles(false);
+        mController.onResume(new NotificationBackend.AppRow(), channel, null, null, null, null);
+
+        RestrictedSwitchPreference pref =
+                new RestrictedSwitchPreference(RuntimeEnvironment.application);
+        mController.updateState(pref);
+
+        mController.onPreferenceChange(pref, true);
+
+        assertTrue(channel.isImportantConversation());
+        assertFalse(channel.canBubble());
+        verify(mBackend, times(1)).updateChannel(any(), anyInt(), any());
+        verify(mDependentFieldListener, times(1)).onFieldValueChanged();
+    }
+
+    @Test
+    public void testOnPreferenceChange_on_bubble() {
+        Settings.Secure.putInt(mContext.getContentResolver(),
+                BUBBLE_IMPORTANT_CONVERSATIONS, 1);
+        NotificationChannel channel =
+                new NotificationChannel(DEFAULT_CHANNEL_ID, "a", IMPORTANCE_DEFAULT);
+        channel.setImportantConversation(false);
+        channel.setAllowBubbles(false);
+        mController.onResume(new NotificationBackend.AppRow(), channel, null, null, null, null);
+
+        RestrictedSwitchPreference pref =
+                new RestrictedSwitchPreference(RuntimeEnvironment.application);
+        mController.updateState(pref);
+
+        mController.onPreferenceChange(pref, true);
+
+        assertTrue(channel.isImportantConversation());
+        assertTrue(channel.canBubble());
+        verify(mBackend, times(1)).updateChannel(any(), anyInt(), any());
+        verify(mDependentFieldListener).onFieldValueChanged();
+    }
+
+    @Test
+    public void testOnPreferenceChange_off() {
+        Settings.Secure.putInt(mContext.getContentResolver(),
+                BUBBLE_IMPORTANT_CONVERSATIONS, 1);
+        NotificationChannel channel =
+                new NotificationChannel(DEFAULT_CHANNEL_ID, "a", IMPORTANCE_HIGH);
+        channel.setImportantConversation(true);
+        channel.setAllowBubbles(false);
+        mController.onResume(new NotificationBackend.AppRow(), channel, null, null, null, null);
+
+        RestrictedSwitchPreference pref =
+                new RestrictedSwitchPreference(RuntimeEnvironment.application);
+        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(pref);
+        mController.displayPreference(mScreen);
+        mController.updateState(pref);
+
+        mController.onPreferenceChange(pref, false);
+
+        assertFalse(channel.isImportantConversation());
+        assertFalse(channel.canBubble());
+        verify(mBackend, times(1)).updateChannel(any(), anyInt(), any());
+        verify(mDependentFieldListener, times(1)).onFieldValueChanged();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/app/ConversationListPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/app/ConversationListPreferenceControllerTest.java
new file mode 100644
index 0000000..0fab4e5
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/app/ConversationListPreferenceControllerTest.java
@@ -0,0 +1,241 @@
+/*
+ * 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.notification.app;
+
+import static android.app.NotificationManager.IMPORTANCE_DEFAULT;
+import static android.app.NotificationManager.IMPORTANCE_HIGH;
+import static android.app.NotificationManager.IMPORTANCE_LOW;
+import static android.app.NotificationManager.IMPORTANCE_MIN;
+import static android.app.NotificationManager.IMPORTANCE_NONE;
+import static android.app.NotificationManager.IMPORTANCE_UNSPECIFIED;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.Mockito.any;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.NotificationChannel;
+import android.app.NotificationChannelGroup;
+import android.app.NotificationManager;
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.ShortcutInfo;
+import android.os.Bundle;
+import android.os.UserManager;
+import android.provider.Settings;
+import android.service.notification.ConversationChannelWrapper;
+import android.view.View;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceCategory;
+import androidx.preference.PreferenceGroup;
+
+import com.android.settings.applications.AppInfoBase;
+import com.android.settings.notification.NotificationBackend;
+import com.android.settingslib.RestrictedLockUtils;
+
+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.RuntimeEnvironment;
+import org.robolectric.shadows.ShadowApplication;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@RunWith(RobolectricTestRunner.class)
+public class ConversationListPreferenceControllerTest {
+
+    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
+    private Context mContext;
+    @Mock
+    private NotificationBackend mBackend;
+
+    private TestPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        ShadowApplication shadowApplication = ShadowApplication.getInstance();
+        mContext = RuntimeEnvironment.application;
+        mController = new TestPreferenceController(mContext, mBackend);
+    }
+
+    @Test
+    public void isAvailable() {
+        assertThat(mController.isAvailable()).isTrue();
+    }
+
+    @Test
+    public void testPopulateList_hideIfNoConversations() {
+        PreferenceCategory outerContainer = mock(PreferenceCategory.class);
+        PreferenceCategory innerContainer = mock(PreferenceCategory.class);
+
+        mController.populateList(new ArrayList<>(), outerContainer, innerContainer);
+
+        verify(outerContainer).setVisible(false);
+        verify(innerContainer, never()).addPreference(any());
+    }
+
+    @Test
+    public void testPopulateList_validConversations() {
+        PreferenceCategory outerContainer = mock(PreferenceCategory.class);
+        PreferenceCategory innerContainer = mock(PreferenceCategory.class);
+
+        ConversationChannelWrapper ccw = new ConversationChannelWrapper();
+        ccw.setNotificationChannel(mock(NotificationChannel.class));
+        ccw.setPkg("pkg");
+        ccw.setUid(1);
+        ccw.setShortcutInfo(mock(ShortcutInfo.class));
+
+        ArrayList<ConversationChannelWrapper> list = new ArrayList<>();
+        list.add(ccw);
+
+        mController.populateList(list, outerContainer, innerContainer);
+
+        verify(outerContainer).setVisible(true);
+        verify(innerContainer, times(1)).addPreference(any());
+    }
+
+    @Test
+    public void populateConversations() {
+        PreferenceCategory container = mock(PreferenceCategory.class);
+
+        ConversationChannelWrapper ccw = new ConversationChannelWrapper();
+        ccw.setNotificationChannel(mock(NotificationChannel.class));
+        ccw.setPkg("pkg");
+        ccw.setUid(1);
+        ccw.setShortcutInfo(mock(ShortcutInfo.class));
+
+        ConversationChannelWrapper ccwDemoted = new ConversationChannelWrapper();
+        NotificationChannel demoted = new NotificationChannel("a", "a", 2);
+        demoted.setDemoted(true);
+        ccwDemoted.setNotificationChannel(demoted);
+        ccwDemoted.setPkg("pkg");
+        ccwDemoted.setUid(1);
+        ccwDemoted.setShortcutInfo(mock(ShortcutInfo.class));
+
+        ArrayList<ConversationChannelWrapper> list = new ArrayList<>();
+        list.add(ccw);
+        list.add(ccwDemoted);
+
+        mController.populateConversations(list, container);
+
+        verify(container, times(1)).addPreference(any());
+    }
+
+    @Test
+    public void getSummary_withGroup() {
+        ConversationChannelWrapper ccw = new ConversationChannelWrapper();
+        NotificationChannel channel = new NotificationChannel("a", "child", 2);
+        ccw.setNotificationChannel(channel);
+        ccw.setPkg("pkg");
+        ccw.setUid(1);
+        ccw.setShortcutInfo(mock(ShortcutInfo.class));
+        ccw.setGroupLabel("group");
+        ccw.setParentChannelLabel("parent");
+
+        assertThat(mController.getSummary(ccw).toString()).contains(ccw.getGroupLabel());
+        assertThat(mController.getSummary(ccw).toString()).contains(ccw.getParentChannelLabel());
+    }
+
+    @Test
+    public void getSummary_noGroup() {
+        ConversationChannelWrapper ccw = new ConversationChannelWrapper();
+        NotificationChannel channel = new NotificationChannel("a", "child", 2);
+        ccw.setNotificationChannel(channel);
+        ccw.setPkg("pkg");
+        ccw.setUid(1);
+        ccw.setShortcutInfo(mock(ShortcutInfo.class));
+        ccw.setParentChannelLabel("parent");
+
+        assertThat(mController.getSummary(ccw).toString()).isEqualTo(ccw.getParentChannelLabel());
+    }
+
+    @Test
+    public void getTitle_withShortcut() {
+        ConversationChannelWrapper ccw = new ConversationChannelWrapper();
+        NotificationChannel channel = new NotificationChannel("a", "child", 2);
+        ccw.setNotificationChannel(channel);
+        ccw.setPkg("pkg");
+        ccw.setUid(1);
+        ShortcutInfo si = mock(ShortcutInfo.class);
+        when(si.getShortLabel()).thenReturn("conversation name");
+        ccw.setShortcutInfo(si);
+        ccw.setGroupLabel("group");
+        ccw.setParentChannelLabel("parent");
+
+        assertThat(mController.getTitle(ccw).toString()).isEqualTo(si.getShortLabel());
+    }
+
+    @Test
+    public void getTitle_noShortcut() {
+        ConversationChannelWrapper ccw = new ConversationChannelWrapper();
+        NotificationChannel channel = new NotificationChannel("a", "child", 2);
+        ccw.setNotificationChannel(channel);
+        ccw.setPkg("pkg");
+        ccw.setUid(1);
+        ccw.setParentChannelLabel("parent");
+
+        assertThat(mController.getTitle(ccw).toString()).isEqualTo(
+                ccw.getNotificationChannel().getName());
+    }
+
+    @Test
+    public void testGetIntent() {
+        ConversationChannelWrapper ccw = new ConversationChannelWrapper();
+        NotificationChannel channel = new NotificationChannel("a", "child", 2);
+        channel.setConversationId("parent", "convo id");
+        ccw.setNotificationChannel(channel);
+        ccw.setPkg("pkg");
+        ccw.setUid(1);
+        ccw.setParentChannelLabel("parent label");
+        Intent intent = mController.getIntent(ccw, "title");
+
+        Bundle extras = intent.getExtras();
+        assertThat(extras.getString(AppInfoBase.ARG_PACKAGE_NAME)).isEqualTo(ccw.getPkg());
+        assertThat(extras.getInt(AppInfoBase.ARG_PACKAGE_UID)).isEqualTo(ccw.getUid());
+        assertThat(extras.getString(Settings.EXTRA_CHANNEL_ID)).isEqualTo(
+                ccw.getNotificationChannel().getId());
+        assertThat(extras.getString(Settings.EXTRA_CONVERSATION_ID)).isEqualTo(
+                ccw.getNotificationChannel().getConversationId());
+    }
+
+    private final class TestPreferenceController extends ConversationListPreferenceController {
+
+        private TestPreferenceController(Context context, NotificationBackend backend) {
+            super(context, backend);
+        }
+
+        @Override
+        public String getPreferenceKey() {
+            return "test";
+        }
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/app/ConversationPromotePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/app/ConversationPromotePreferenceControllerTest.java
new file mode 100644
index 0000000..9b60c97
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/app/ConversationPromotePreferenceControllerTest.java
@@ -0,0 +1,143 @@
+/*
+ * 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.notification.app;
+
+import static android.app.NotificationManager.IMPORTANCE_DEFAULT;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.NotificationChannel;
+import android.content.Context;
+
+import androidx.fragment.app.FragmentActivity;
+import androidx.preference.Preference;
+
+import com.android.settings.SettingsPreferenceFragment;
+import com.android.settings.notification.NotificationBackend;
+
+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;
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.shadows.ShadowApplication;
+
+@RunWith(RobolectricTestRunner.class)
+public class ConversationPromotePreferenceControllerTest {
+
+    private Context mContext;
+    @Mock
+    private NotificationBackend mBackend;
+    @Mock
+    SettingsPreferenceFragment mFragment;
+
+    private ConversationPromotePreferenceController mController;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        ShadowApplication shadowApplication = ShadowApplication.getInstance();
+        mContext = RuntimeEnvironment.application;
+        when(mFragment.getActivity()).thenReturn(mock(FragmentActivity.class));
+        mController = spy(new ConversationPromotePreferenceController(
+                mContext, mFragment, mBackend));
+
+    }
+
+    @Test
+    public void testNoCrashIfNoOnResume() {
+        mController.isAvailable();
+        mController.updateState(mock(Preference.class));
+        mController.handlePreferenceTreeClick(mock(Preference.class));
+    }
+
+    @Test
+    public void testIsAvailable_notConversation() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = new NotificationChannel("", "", IMPORTANCE_DEFAULT);
+        mController.onResume(appRow, channel, null, null, null, null);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable_conversation_notDemoted() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = new NotificationChannel("", "", IMPORTANCE_DEFAULT);
+        channel.setConversationId("a", "a");
+        mController.onResume(appRow, channel, null, null, null, null);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable_conversation_demoted() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = new NotificationChannel("", "", IMPORTANCE_DEFAULT);
+        channel.setConversationId("a", "a");
+        channel.setDemoted(true);
+        mController.onResume(appRow, channel, null, null, null, null);
+        assertTrue(mController.isAvailable());
+    }
+
+    @Test
+    public void testHandlePreferenceClick() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = new NotificationChannel("", "", IMPORTANCE_DEFAULT);
+        channel.setConversationId("a", "a");
+        channel.setDemoted(true);
+        mController.onResume(appRow, channel, null, null, null, null);
+
+        Preference pref = mock(Preference.class);
+        when(pref.getKey()).thenReturn("convo_promote");
+        assertTrue(mController.handlePreferenceTreeClick(pref));
+
+        ArgumentCaptor<NotificationChannel> captor =
+                ArgumentCaptor.forClass(NotificationChannel.class);
+
+        verify(mBackend).updateChannel(eq(null), anyInt(), captor.capture());
+        assertFalse(captor.getValue().isDemoted());
+
+        verify(mFragment).getActivity();
+    }
+
+    @Test
+    public void testHandlePreferenceClick_wrongKey() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = new NotificationChannel("", "", IMPORTANCE_DEFAULT);
+        channel.setConversationId("a", "a");
+        channel.setDemoted(true);
+        mController.onResume(appRow, channel, null, null, null, null);
+
+        Preference pref = mock(Preference.class);
+        when(pref.getKey()).thenReturn("wrong");
+        assertFalse(mController.handlePreferenceTreeClick(pref));
+
+        verify(mBackend, never()).updateChannel(eq(null), anyInt(), any());
+        verify(mFragment, never()).getActivity();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/app/DefaultImportancePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/app/DefaultImportancePreferenceControllerTest.java
new file mode 100644
index 0000000..5b85322
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/app/DefaultImportancePreferenceControllerTest.java
@@ -0,0 +1,246 @@
+/*
+ * 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.app;
+
+import static android.app.NotificationChannel.DEFAULT_CHANNEL_ID;
+import static android.app.NotificationManager.IMPORTANCE_DEFAULT;
+import static android.app.NotificationManager.IMPORTANCE_HIGH;
+import static android.app.NotificationManager.IMPORTANCE_LOW;
+import static android.app.NotificationManager.IMPORTANCE_NONE;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+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.NotificationChannel;
+import android.app.NotificationManager;
+import android.content.Context;
+import android.os.UserManager;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.notification.NotificationBackend;
+import com.android.settingslib.RestrictedLockUtils;
+import com.android.settingslib.RestrictedSwitchPreference;
+
+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.RuntimeEnvironment;
+import org.robolectric.shadows.ShadowApplication;
+
+@RunWith(RobolectricTestRunner.class)
+public class DefaultImportancePreferenceControllerTest {
+
+    private Context mContext;
+    @Mock
+    private NotificationManager mNm;
+    @Mock
+    private NotificationBackend mBackend;
+    @Mock
+    private NotificationSettings.DependentFieldListener mDependentFieldListener;
+    @Mock
+    private UserManager mUm;
+    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
+    private PreferenceScreen mScreen;
+
+    private DefaultImportancePreferenceController mController;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        ShadowApplication shadowApplication = ShadowApplication.getInstance();
+        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNm);
+        shadowApplication.setSystemService(Context.USER_SERVICE, mUm);
+        mContext = RuntimeEnvironment.application;
+        mController = spy(new DefaultImportancePreferenceController(
+                mContext, mDependentFieldListener, mBackend));
+    }
+
+    @Test
+    public void testNoCrashIfNoOnResume() {
+        mController.isAvailable();
+        mController.updateState(mock(Preference.class));
+    }
+
+    @Test
+    public void testIsAvailable_notIfNull() {
+        mController.onResume(null, null, null, null, null, null);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable_ifAppBlocked() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.banned = true;
+        mController.onResume(appRow, mock(NotificationChannel.class), null, null, null, null);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable_notIfChannelBlocked() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_NONE);
+        mController.onResume(appRow, channel, null, null, null, null);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable_notForDefaultChannel() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH);
+        when(channel.getId()).thenReturn(DEFAULT_CHANNEL_ID);
+        mController.onResume(appRow, channel, null, null, null, null);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_DEFAULT);
+        mController.onResume(appRow, channel, null, null, null, null);
+        assertTrue(mController.isAvailable());
+    }
+
+    @Test
+    public void testUpdateState_disabledByAdmin() {
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH);
+        mController.onResume(new NotificationBackend.AppRow(), channel, null, null, null, mock(
+                RestrictedLockUtils.EnforcedAdmin.class));
+
+        Preference pref = new RestrictedSwitchPreference(mContext, null);
+        mController.updateState(pref);
+
+        assertFalse(pref.isEnabled());
+    }
+
+    @Test
+    public void testUpdateState_notConfigurable() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.isImportanceLockedByOEM()).thenReturn(true);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH);
+        mController.onResume(appRow, channel, null, null, null, null);
+
+        Preference pref = new RestrictedSwitchPreference(mContext, null);
+        mController.updateState(pref);
+
+        assertFalse(pref.isEnabled());
+    }
+
+    @Test
+    public void testUpdateState_systemButConfigurable() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.systemApp = true;
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.isImportanceLockedByOEM()).thenReturn(false);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH);
+        mController.onResume(appRow, channel, null, null, null, null);
+
+        Preference pref = new RestrictedSwitchPreference(mContext, null);
+        mController.updateState(pref);
+
+        assertTrue(pref.isEnabled());
+    }
+
+    @Test
+    public void testUpdateState_defaultApp() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.systemApp = true;
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.isImportanceLockedByCriticalDeviceFunction()).thenReturn(true);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH);
+        mController.onResume(appRow, channel, null, null, null, null);
+
+        Preference pref = new RestrictedSwitchPreference(mContext, null);
+        mController.updateState(pref);
+
+        assertTrue(pref.isEnabled());
+    }
+
+    @Test
+    public void testUpdateState_default() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = new NotificationChannel("", "", IMPORTANCE_DEFAULT);
+        mController.onResume(appRow, channel, null, null, null, null);
+
+        RestrictedSwitchPreference pref = new RestrictedSwitchPreference(mContext);
+        mController.updateState(pref);
+
+        assertTrue(pref.isChecked());
+    }
+
+    @Test
+    public void testUpdateState_low() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = new NotificationChannel("", "", IMPORTANCE_LOW);
+        mController.onResume(appRow, channel, null, null, null, null);
+
+        RestrictedSwitchPreference pref = new RestrictedSwitchPreference(mContext);
+        mController.updateState(pref);
+
+        assertFalse(pref.isChecked());
+    }
+    
+    @Test
+    public void onPreferenceChange_onToOff() {
+        NotificationChannel channel =
+                new NotificationChannel(DEFAULT_CHANNEL_ID, "a", IMPORTANCE_HIGH);
+        mController.onResume(new NotificationBackend.AppRow(), channel, null, null, null, null);
+
+        RestrictedSwitchPreference pref = new RestrictedSwitchPreference(mContext, null);
+        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(pref);
+        mController.displayPreference(mScreen);
+        mController.updateState(pref);
+
+        mController.onPreferenceChange(pref, false);
+
+        assertEquals(IMPORTANCE_LOW, channel.getImportance());
+        verify(mDependentFieldListener, times(1)).onFieldValueChanged();
+    }
+
+    @Test
+    public void onPreferenceChange_offToOn() {
+        NotificationChannel channel =
+                new NotificationChannel(DEFAULT_CHANNEL_ID, "a", IMPORTANCE_LOW);
+        mController.onResume(new NotificationBackend.AppRow(), channel, null, null, null, null);
+
+        RestrictedSwitchPreference pref = new RestrictedSwitchPreference(mContext, null);
+        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(pref);
+        mController.displayPreference(mScreen);
+        mController.updateState(pref);
+
+        mController.onPreferenceChange(pref, true);
+
+        assertEquals(IMPORTANCE_DEFAULT, channel.getImportance());
+        verify(mDependentFieldListener, times(1)).onFieldValueChanged();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/app/DeletedChannelsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/app/DeletedChannelsPreferenceControllerTest.java
new file mode 100644
index 0000000..5515a55
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/app/DeletedChannelsPreferenceControllerTest.java
@@ -0,0 +1,129 @@
+/*
+ * 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.app;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.Mockito.any;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.NotificationChannel;
+import android.app.NotificationChannelGroup;
+import android.app.NotificationManager;
+import android.content.Context;
+import android.os.UserManager;
+
+import androidx.preference.Preference;
+
+import com.android.settings.notification.NotificationBackend;
+
+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;
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.shadows.ShadowApplication;
+
+@RunWith(RobolectricTestRunner.class)
+public class DeletedChannelsPreferenceControllerTest {
+
+    private Context mContext;
+    @Mock
+    private NotificationBackend mBackend;
+    @Mock
+    private NotificationManager mNm;
+    @Mock
+    private UserManager mUm;
+
+    private DeletedChannelsPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        ShadowApplication shadowApplication = ShadowApplication.getInstance();
+        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNm);
+        shadowApplication.setSystemService(Context.USER_SERVICE, mUm);
+        mContext = RuntimeEnvironment.application;
+        mController = new DeletedChannelsPreferenceController(mContext, mBackend);
+    }
+
+    @Test
+    public void noCrashIfNoOnResume() {
+        mController.isAvailable();
+        mController.updateState(mock(Preference.class));
+    }
+
+    @Test
+    public void isAvailable_appScreen_notIfAppBlocked() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.banned = true;
+        mController.onResume(appRow, null, null, null, null, null);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void isAvailable_groupScreen_never() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        mController.onResume(appRow, null, mock(NotificationChannelGroup.class), null, null, null);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void isAvailable_channelScreen_never() {
+        mController.onResume(
+                new NotificationBackend.AppRow(), mock(NotificationChannel.class), null, null, null,
+                null);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void isAvailable_appScreen_notIfNoDeletedChannels() {
+        when(mBackend.getDeletedChannelCount(any(), anyInt())).thenReturn(0);
+        mController.onResume(new NotificationBackend.AppRow(), null, null, null, null, null);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void isAvailable_appScreen() {
+        when(mBackend.getDeletedChannelCount(any(), anyInt())).thenReturn(1);
+        mController.onResume(new NotificationBackend.AppRow(), null, null, null, null, null);
+        assertTrue(mController.isAvailable());
+    }
+
+    @Test
+    public void updateState() {
+        when(mBackend.getDeletedChannelCount(any(), anyInt())).thenReturn(1);
+        mController.onResume(new NotificationBackend.AppRow(), null, null, null, null, null);
+
+        Preference pref = mock(Preference.class);
+        mController.updateState(pref);
+
+        verify(pref, times(1)).setSelectable(false);
+        verify(mBackend, times(1)).getDeletedChannelCount(any(), anyInt());
+        ArgumentCaptor<CharSequence> argumentCaptor = ArgumentCaptor.forClass(CharSequence.class);
+        verify(pref, times(1)).setTitle(argumentCaptor.capture());
+        assertTrue(argumentCaptor.getValue().toString().contains("1"));
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/app/DescriptionPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/app/DescriptionPreferenceControllerTest.java
new file mode 100644
index 0000000..3e37327
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/app/DescriptionPreferenceControllerTest.java
@@ -0,0 +1,165 @@
+/*
+ * 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.app;
+
+import static android.app.NotificationManager.IMPORTANCE_LOW;
+import static android.app.NotificationManager.IMPORTANCE_NONE;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
+import android.app.NotificationChannel;
+import android.app.NotificationChannelGroup;
+import android.app.NotificationManager;
+import android.content.Context;
+import android.os.UserManager;
+
+import androidx.preference.Preference;
+
+import com.android.settings.notification.NotificationBackend;
+
+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 org.robolectric.shadows.ShadowApplication;
+
+@RunWith(RobolectricTestRunner.class)
+public class DescriptionPreferenceControllerTest {
+
+    private Context mContext;
+    @Mock
+    private NotificationManager mNm;
+    @Mock
+    private UserManager mUm;
+
+    private DescriptionPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        ShadowApplication shadowApplication = ShadowApplication.getInstance();
+        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNm);
+        shadowApplication.setSystemService(Context.USER_SERVICE, mUm);
+        mContext = RuntimeEnvironment.application;
+        mController = spy(new DescriptionPreferenceController(mContext));
+    }
+
+    @Test
+    public void testNoCrashIfNoOnResume() {
+        mController.isAvailable();
+        mController.updateState(mock(Preference.class));
+    }
+
+    @Test
+    public void testIsAvailable_notIfNull() {
+        mController.onResume(null, null, null, null, null, null);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable_notIfChannelGroupBlocked() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannelGroup group = mock(NotificationChannelGroup.class);
+        mController.onResume(appRow, null, group, null, null, null);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable_notIfChannelBlocked() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_NONE);
+        mController.onResume(appRow, channel, null, null, null, null);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable_notIfNoChannelDesc() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_LOW);
+        mController.onResume(appRow, channel, null, null, null, null);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable_notIfNoChannelGroupDesc() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannelGroup group = mock(NotificationChannelGroup.class);
+        mController.onResume(appRow, null, group, null, null, null);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable_channel() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_LOW);
+        when(channel.getDescription()).thenReturn("AAA");
+        mController.onResume(appRow, channel, null, null, null, null);
+        assertTrue(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable_channelGroup() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannelGroup group = mock(NotificationChannelGroup.class);
+        when(group.getDescription()).thenReturn("something");
+        when(group.isBlocked()).thenReturn(false);
+        mController.onResume(appRow, null, group, null, null, null);
+        assertTrue(mController.isAvailable());
+    }
+
+    @Test
+    public void testUpdateState_channel() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_LOW);
+        when(channel.getDescription()).thenReturn("AAA");
+        mController.onResume(appRow, channel, null, null, null, null);
+
+        Preference pref = new Preference(RuntimeEnvironment.application);
+        mController.updateState(pref);
+
+        assertEquals("AAA", pref.getTitle());
+        assertFalse(pref.isEnabled());
+        assertFalse(pref.isSelectable());
+    }
+
+    @Test
+    public void testUpdateState_channelGroup() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannelGroup group = mock(NotificationChannelGroup.class);
+        when(group.getDescription()).thenReturn("something");
+        mController.onResume(appRow, null, group, null, null, null);
+
+        Preference pref = new Preference(RuntimeEnvironment.application);
+        mController.updateState(pref);
+
+        assertEquals("something", pref.getTitle());
+        assertFalse(pref.isEnabled());
+        assertFalse(pref.isSelectable());
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/app/DndPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/app/DndPreferenceControllerTest.java
new file mode 100644
index 0000000..4220bed
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/app/DndPreferenceControllerTest.java
@@ -0,0 +1,198 @@
+/*
+ * 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.app;
+
+import static android.app.NotificationChannel.DEFAULT_CHANNEL_ID;
+import static android.app.NotificationManager.IMPORTANCE_HIGH;
+import static android.app.NotificationManager.IMPORTANCE_LOW;
+import static android.app.NotificationManager.IMPORTANCE_MIN;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyInt;
+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.NotificationChannel;
+import android.app.NotificationManager;
+import android.content.Context;
+import android.os.UserManager;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.notification.NotificationBackend;
+import com.android.settingslib.RestrictedLockUtils;
+import com.android.settingslib.RestrictedSwitchPreference;
+
+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.RuntimeEnvironment;
+import org.robolectric.shadows.ShadowApplication;
+
+@RunWith(RobolectricTestRunner.class)
+public class DndPreferenceControllerTest {
+
+    private Context mContext;
+    @Mock
+    private NotificationBackend mBackend;
+    @Mock
+    private NotificationManager mNm;
+    @Mock
+    private UserManager mUm;
+    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
+    private PreferenceScreen mScreen;
+
+    private DndPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        ShadowApplication shadowApplication = ShadowApplication.getInstance();
+        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNm);
+        shadowApplication.setSystemService(Context.USER_SERVICE, mUm);
+        mContext = RuntimeEnvironment.application;
+        mController = spy(new DndPreferenceController(mContext, mBackend));
+    }
+
+    @Test
+    public void testIsAvailable_app() {
+        when(mNm.getNotificationPolicy()).thenReturn(new NotificationManager.Policy(0, 0, 0, 0));
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        mController.onResume(appRow, null, null, null, null, null);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable_channel() {
+        when(mNm.getNotificationPolicy()).thenReturn(new NotificationManager.Policy(0, 0, 0, 1));
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel =
+                new NotificationChannel(DEFAULT_CHANNEL_ID, "", IMPORTANCE_MIN);
+        mController.onResume(appRow, channel, null, null, null, null);
+        assertTrue(mController.isAvailable());
+    }
+
+    @Test
+    public void testUpdateState_disabledByAdmin() {
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getId()).thenReturn("something");
+        mController.onResume(new NotificationBackend.AppRow(), channel, null, null, null, mock(
+                RestrictedLockUtils.EnforcedAdmin.class));
+
+        Preference pref = new RestrictedSwitchPreference(RuntimeEnvironment.application);
+        mController.updateState(pref);
+
+        assertFalse(pref.isEnabled());
+    }
+
+    @Test
+    public void testUpdateState_notBlockable() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.isImportanceLockedByOEM()).thenReturn(true);
+        mController.onResume(appRow, channel, null, null, null, null);
+
+        Preference pref = new RestrictedSwitchPreference(RuntimeEnvironment.application);
+        mController.updateState(pref);
+
+        assertTrue(pref.isEnabled());
+    }
+
+    @Test
+    public void testUpdateState_configurable() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getId()).thenReturn("something");
+        mController.onResume(appRow, channel, null, null, null, null);
+
+        Preference pref = new RestrictedSwitchPreference(RuntimeEnvironment.application);
+        mController.updateState(pref);
+
+        assertTrue(pref.isEnabled());
+    }
+
+    @Test
+    public void testUpdateState_bypassDnd() {
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.canBypassDnd()).thenReturn(true);
+        mController.onResume(new NotificationBackend.AppRow(), channel, null, null, null, null);
+
+        RestrictedSwitchPreference pref =
+                new RestrictedSwitchPreference(RuntimeEnvironment.application);
+        mController.updateState(pref);
+        assertTrue(pref.isChecked());
+    }
+
+    @Test
+    public void testUpdateState_noBypassDnd() {
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.canBypassDnd()).thenReturn(false);
+        mController.onResume(new NotificationBackend.AppRow(), channel, null, null, null, null);
+
+        RestrictedSwitchPreference pref =
+                new RestrictedSwitchPreference(RuntimeEnvironment.application);
+        mController.updateState(pref);
+        assertFalse(pref.isChecked());
+    }
+
+    @Test
+    public void testOnPreferenceChange_on() {
+        NotificationChannel channel =
+                new NotificationChannel(DEFAULT_CHANNEL_ID, "a", IMPORTANCE_LOW);
+        mController.onResume(new NotificationBackend.AppRow(), channel, null, null, null, null);
+
+        RestrictedSwitchPreference pref =
+                new RestrictedSwitchPreference(RuntimeEnvironment.application);
+        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(pref);
+        mController.displayPreference(mScreen);
+        mController.updateState(pref);
+
+        mController.onPreferenceChange(pref, true);
+
+        assertTrue(channel.canBypassDnd());
+        verify(mBackend, times(1)).updateChannel(any(), anyInt(), any());
+    }
+
+    @Test
+    public void testOnPreferenceChange_off() {
+        NotificationChannel channel =
+                new NotificationChannel(DEFAULT_CHANNEL_ID, "a", IMPORTANCE_HIGH);
+        mController.onResume(new NotificationBackend.AppRow(), channel, null, null, null, null);
+
+        RestrictedSwitchPreference pref =
+                new RestrictedSwitchPreference(RuntimeEnvironment.application);
+        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(pref);
+        mController.displayPreference(mScreen);
+        mController.updateState(pref);
+
+        mController.onPreferenceChange(pref, false);
+
+        assertFalse(channel.canBypassDnd());
+        verify(mBackend, times(1)).updateChannel(any(), anyInt(), any());
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/app/HeaderPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/app/HeaderPreferenceControllerTest.java
new file mode 100644
index 0000000..c4e94a9
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/app/HeaderPreferenceControllerTest.java
@@ -0,0 +1,148 @@
+/*
+ * 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.app;
+
+import static android.app.NotificationManager.IMPORTANCE_NONE;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
+import android.app.NotificationChannel;
+import android.app.NotificationChannelGroup;
+import android.app.NotificationManager;
+import android.content.Context;
+import android.os.UserManager;
+import android.view.View;
+
+import androidx.fragment.app.FragmentActivity;
+
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.notification.NotificationBackend;
+import com.android.settingslib.widget.LayoutPreference;
+
+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 org.robolectric.shadows.ShadowApplication;
+
+@RunWith(RobolectricTestRunner.class)
+public class HeaderPreferenceControllerTest {
+
+    private Context mContext;
+    @Mock
+    private NotificationManager mNm;
+    @Mock
+    private UserManager mUm;
+
+    private HeaderPreferenceController mController;
+    @Mock
+    private LayoutPreference mPreference;
+    @Mock
+    private View mView;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        ShadowApplication shadowApplication = ShadowApplication.getInstance();
+        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNm);
+        shadowApplication.setSystemService(Context.USER_SERVICE, mUm);
+        mContext = RuntimeEnvironment.application;
+        DashboardFragment fragment = mock(DashboardFragment.class);
+        when(fragment.getContext()).thenReturn(mContext);
+        FragmentActivity activity = mock(FragmentActivity.class);
+        when(activity.getApplicationContext()).thenReturn(mContext);
+        when(fragment.getActivity()).thenReturn(activity);
+        mController = spy(new HeaderPreferenceController(mContext, fragment));
+        when(mPreference.findViewById(anyInt())).thenReturn(mView);
+    }
+
+    @Test
+    public void testNoCrashIfNoOnResume() {
+        mController.isAvailable();
+        mController.updateState(mock(LayoutPreference.class));
+    }
+
+    @Test
+    public void testIsAvailable_notIfNull() {
+        mController.onResume(null, null, null, null, null, null);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.banned = true;
+        mController.onResume(appRow, null, null, null, null, null);
+        assertTrue(mController.isAvailable());
+    }
+
+    @Test
+    public void testGetLabel() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.label = "bananas";
+        mController.onResume(appRow, null, null, null, null, null);
+        assertEquals(appRow.label, mController.getLabel());
+
+        NotificationChannelGroup group = new NotificationChannelGroup("id", "name");
+        mController.onResume(appRow, null, group, null, null, null);
+        assertEquals(group.getName(), mController.getLabel());
+
+        NotificationChannel channel = new NotificationChannel("cid", "cname", IMPORTANCE_NONE);
+        mController.onResume(appRow, channel, group, null, null, null);
+        assertEquals(channel.getName(), mController.getLabel());
+
+        NotificationChannel defaultChannel = new NotificationChannel(
+                NotificationChannel.DEFAULT_CHANNEL_ID, "", IMPORTANCE_NONE);
+        mController.onResume(appRow, defaultChannel, null, null, null, null);
+        assertEquals(appRow.label, mController.getLabel());
+    }
+
+    @Test
+    public void testGetSummary() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.label = "bananas";
+        mController.onResume(appRow, null, null, null, null, null);
+        assertEquals("", mController.getSummary());
+
+        NotificationChannelGroup group = new NotificationChannelGroup("id", "name");
+        mController.onResume(appRow, null, group, null, null, null);
+        assertEquals(appRow.label, mController.getSummary());
+
+        NotificationChannel channel = new NotificationChannel("cid", "cname", IMPORTANCE_NONE);
+        mController.onResume(appRow, channel, group, null, null, null);
+        assertTrue(mController.getSummary().toString().contains(group.getName()));
+        assertTrue(mController.getSummary().toString().contains(appRow.label));
+
+        mController.onResume(appRow, channel, null, null, null, null);
+        assertFalse(mController.getSummary().toString().contains(group.getName()));
+        assertTrue(mController.getSummary().toString().contains(appRow.label));
+
+        NotificationChannel defaultChannel = new NotificationChannel(
+                NotificationChannel.DEFAULT_CHANNEL_ID, "", IMPORTANCE_NONE);
+        mController.onResume(appRow, defaultChannel, null, null, null, null);
+        assertEquals("", mController.getSummary());
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/app/HighImportancePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/app/HighImportancePreferenceControllerTest.java
new file mode 100644
index 0000000..150fd2a
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/app/HighImportancePreferenceControllerTest.java
@@ -0,0 +1,228 @@
+/*
+ * 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.app;
+
+import static android.app.NotificationChannel.DEFAULT_CHANNEL_ID;
+import static android.app.NotificationManager.IMPORTANCE_DEFAULT;
+import static android.app.NotificationManager.IMPORTANCE_HIGH;
+import static android.app.NotificationManager.IMPORTANCE_NONE;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+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.NotificationChannel;
+import android.app.NotificationManager;
+import android.content.Context;
+import android.os.UserManager;
+
+import com.android.settings.notification.NotificationBackend;
+import com.android.settingslib.RestrictedLockUtils;
+import com.android.settingslib.RestrictedSwitchPreference;
+
+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.RuntimeEnvironment;
+import org.robolectric.shadows.ShadowApplication;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+@RunWith(RobolectricTestRunner.class)
+public class HighImportancePreferenceControllerTest {
+
+    private Context mContext;
+    @Mock
+    private NotificationManager mNm;
+    @Mock
+    private NotificationBackend mBackend;
+    @Mock
+    private NotificationSettings.DependentFieldListener mDependentFieldListener;
+    @Mock
+    private UserManager mUm;
+    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
+    private PreferenceScreen mScreen;
+
+    private HighImportancePreferenceController mController;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        ShadowApplication shadowApplication = ShadowApplication.getInstance();
+        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNm);
+        shadowApplication.setSystemService(Context.USER_SERVICE, mUm);
+        mContext = RuntimeEnvironment.application;
+        mController = spy(new HighImportancePreferenceController(
+                mContext, mDependentFieldListener, mBackend));
+    }
+
+    @Test
+    public void testNoCrashIfNoOnResume() {
+        mController.isAvailable();
+        mController.updateState(mock(Preference.class));
+    }
+
+    @Test
+    public void testIsAvailable_notIfNull() {
+        mController.onResume(null, null, null, null, null, null);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable_ifAppBlocked() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.banned = true;
+        mController.onResume(appRow, mock(NotificationChannel.class), null, null, null, null);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable_notIfChannelBlocked() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_NONE);
+        mController.onResume(appRow, channel, null, null, null, null);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable_notForDefaultChannel() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH);
+        when(channel.getId()).thenReturn(DEFAULT_CHANNEL_ID);
+        mController.onResume(appRow, channel, null, null, null, null);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_DEFAULT);
+        mController.onResume(appRow, channel, null, null, null, null);
+        assertTrue(mController.isAvailable());
+    }
+
+    @Test
+    public void testUpdateState_disabledByAdmin() {
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH);
+        mController.onResume(new NotificationBackend.AppRow(), channel, null, null, null, mock(
+                RestrictedLockUtils.EnforcedAdmin.class));
+
+        Preference pref = new RestrictedSwitchPreference(mContext, null);
+        mController.updateState(pref);
+
+        assertFalse(pref.isEnabled());
+    }
+
+    @Test
+    public void testUpdateState_notConfigurable() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.isImportanceLockedByOEM()).thenReturn(true);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH);
+        mController.onResume(appRow, channel, null, null, null, null);
+
+        Preference pref = new RestrictedSwitchPreference(mContext, null);
+        mController.updateState(pref);
+
+        assertFalse(pref.isEnabled());
+    }
+
+    @Test
+    public void testUpdateState_systemButConfigurable() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.systemApp = true;
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.isImportanceLockedByOEM()).thenReturn(false);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH);
+        mController.onResume(appRow, channel, null, null, null, null);
+
+        Preference pref = new RestrictedSwitchPreference(mContext, null);
+        mController.updateState(pref);
+
+        assertTrue(pref.isEnabled());
+    }
+
+    @Test
+    public void testUpdateState_defaultApp() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.systemApp = true;
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.isImportanceLockedByCriticalDeviceFunction()).thenReturn(true);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH);
+        mController.onResume(appRow, channel, null, null, null, null);
+
+        Preference pref = new RestrictedSwitchPreference(mContext, null);
+        mController.updateState(pref);
+
+        assertTrue(pref.isEnabled());
+    }
+
+    @Test
+    public void testUpdateState_high() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = new NotificationChannel("", "", IMPORTANCE_HIGH);
+        mController.onResume(appRow, channel, null, null, null, null);
+
+        RestrictedSwitchPreference pref = new RestrictedSwitchPreference(mContext);
+        mController.updateState(pref);
+
+        assertTrue(pref.isChecked());
+    }
+
+    @Test
+    public void testUpdateState_default() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = new NotificationChannel("", "", IMPORTANCE_DEFAULT);
+        mController.onResume(appRow, channel, null, null, null, null);
+
+        RestrictedSwitchPreference pref = new RestrictedSwitchPreference(mContext);
+        mController.updateState(pref);
+
+        assertFalse(pref.isChecked());
+    }
+    
+    @Test
+    public void onPreferenceChange() {
+        NotificationChannel channel =
+                new NotificationChannel(DEFAULT_CHANNEL_ID, "a", IMPORTANCE_HIGH);
+        mController.onResume(new NotificationBackend.AppRow(), channel, null, null, null, null);
+
+        RestrictedSwitchPreference pref = new RestrictedSwitchPreference(mContext, null);
+        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(pref);
+        mController.displayPreference(mScreen);
+        mController.updateState(pref);
+
+        mController.onPreferenceChange(pref, false);
+
+        assertEquals(IMPORTANCE_DEFAULT, channel.getImportance());
+        verify(mDependentFieldListener, times(1)).onFieldValueChanged();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/app/ImportancePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/app/ImportancePreferenceControllerTest.java
new file mode 100644
index 0000000..3de7e7c
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/app/ImportancePreferenceControllerTest.java
@@ -0,0 +1,254 @@
+/*
+ * 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.app;
+
+import static android.app.NotificationChannel.DEFAULT_CHANNEL_ID;
+import static android.app.NotificationManager.IMPORTANCE_DEFAULT;
+import static android.app.NotificationManager.IMPORTANCE_HIGH;
+import static android.app.NotificationManager.IMPORTANCE_LOW;
+import static android.app.NotificationManager.IMPORTANCE_NONE;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
+import static org.mockito.ArgumentMatchers.anyBoolean;
+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.Notification;
+import android.app.NotificationChannel;
+import android.app.NotificationChannelGroup;
+import android.app.NotificationManager;
+import android.content.Context;
+import android.os.UserManager;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.notification.NotificationBackend;
+import com.android.settingslib.RestrictedLockUtils;
+
+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.RuntimeEnvironment;
+import org.robolectric.shadows.ShadowApplication;
+
+@RunWith(RobolectricTestRunner.class)
+public class ImportancePreferenceControllerTest {
+
+    private Context mContext;
+    @Mock
+    private NotificationManager mNm;
+    @Mock
+    private NotificationBackend mBackend;
+    @Mock
+    private NotificationSettings.DependentFieldListener mDependentFieldListener;
+    @Mock
+    private UserManager mUm;
+    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
+    private PreferenceScreen mScreen;
+
+    private ImportancePreferenceController mController;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        ShadowApplication shadowApplication = ShadowApplication.getInstance();
+        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNm);
+        shadowApplication.setSystemService(Context.USER_SERVICE, mUm);
+        mContext = RuntimeEnvironment.application;
+        mController = spy(new ImportancePreferenceController(
+                mContext, mDependentFieldListener, mBackend));
+    }
+
+    @Test
+    public void testNoCrashIfNoOnResume() {
+        mController.isAvailable();
+        mController.updateState(mock(Preference.class));
+    }
+
+    @Test
+    public void testIsAvailable_notIfNull() {
+        mController.onResume(null, null, null, null, null, null);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable_ifAppBlocked() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.banned = true;
+        mController.onResume(appRow, mock(NotificationChannel.class), null, null, null, null);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable_isGroupBlocked() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_DEFAULT);
+        NotificationChannelGroup group = mock(NotificationChannelGroup.class);
+        when(group.isBlocked()).thenReturn(true);
+        mController.onResume(appRow, channel, group, null, null, null);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable_ifChannelBlocked() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_NONE);
+        mController.onResume(appRow, channel, null, null, null, null);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable_notForDefaultChannel() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_LOW);
+        when(channel.getId()).thenReturn(DEFAULT_CHANNEL_ID);
+        mController.onResume(appRow, channel, null, null, null, null);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_LOW);
+        mController.onResume(appRow, channel, null, null, null, null);
+        assertTrue(mController.isAvailable());
+    }
+
+    @Test
+    public void testUpdateState_disabledByAdmin() {
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH);
+        mController.onResume(new NotificationBackend.AppRow(), channel, null, null, null, mock(
+                RestrictedLockUtils.EnforcedAdmin.class));
+
+        Preference pref = new ImportancePreference(mContext, null);
+        mController.updateState(pref);
+
+        assertFalse(pref.isEnabled());
+    }
+
+    @Test
+    public void testUpdateState_notConfigurable() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.isImportanceLockedByOEM()).thenReturn(true);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH);
+        mController.onResume(appRow, channel, null, null, null, null);
+
+        Preference pref = new ImportancePreference(mContext, null);
+        mController.updateState(pref);
+
+        assertFalse(pref.isEnabled());
+    }
+
+    @Test
+    public void testUpdateState_systemButConfigurable() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.systemApp = true;
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.isImportanceLockedByOEM()).thenReturn(false);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH);
+        mController.onResume(appRow, channel, null, null, null, null);
+
+        Preference pref = new ImportancePreference(mContext, null);
+        mController.updateState(pref);
+
+        assertTrue(pref.isEnabled());
+    }
+
+    @Test
+    public void testUpdateState_defaultApp() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.systemApp = true;
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.isImportanceLockedByCriticalDeviceFunction()).thenReturn(true);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH);
+        mController.onResume(appRow, channel, null, null, null, null);
+
+        Preference pref = new ImportancePreference(mContext, null);
+        mController.updateState(pref);
+
+        assertTrue(pref.isEnabled());
+    }
+
+    @Test
+    public void testUpdateState() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = new NotificationChannel("", "", IMPORTANCE_HIGH);
+        mController.onResume(appRow, channel, null, null, null, null);
+
+        ImportancePreference pref = mock(ImportancePreference.class);
+        mController.updateState(pref);
+
+        verify(pref, times(1)).setConfigurable(anyBoolean());
+        verify(pref, times(1)).setImportance(IMPORTANCE_HIGH);
+        verify(pref, times(1)).setDisplayInStatusBar(false);
+    }
+    
+    @Test
+    public void testImportanceLowToHigh() {
+        NotificationChannel channel =
+                new NotificationChannel(DEFAULT_CHANNEL_ID, "a", IMPORTANCE_LOW);
+        channel.setSound(null, Notification.AUDIO_ATTRIBUTES_DEFAULT);
+        mController.onResume(new NotificationBackend.AppRow(), channel, null, null, null, null);
+
+        ImportancePreference pref = new ImportancePreference(mContext, null);
+        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(pref);
+        mController.displayPreference(mScreen);
+        mController.updateState(pref);
+
+        mController.onPreferenceChange(pref, IMPORTANCE_HIGH);
+
+        assertEquals(IMPORTANCE_HIGH, channel.getImportance());
+        assertNotNull(channel.getSound());
+    }
+
+    @Test
+    public void testImportanceHighToLow() {
+        NotificationChannel channel =
+                new NotificationChannel(DEFAULT_CHANNEL_ID, "a", IMPORTANCE_HIGH);
+        channel.setSound(null, Notification.AUDIO_ATTRIBUTES_DEFAULT);
+        mController.onResume(new NotificationBackend.AppRow(), channel, null, null, null, null);
+
+        ImportancePreference pref = new ImportancePreference(mContext, null);
+        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(pref);
+        mController.displayPreference(mScreen);
+        mController.updateState(pref);
+
+        mController.onPreferenceChange(pref, IMPORTANCE_LOW);
+
+        assertEquals(IMPORTANCE_LOW, channel.getImportance());
+        assertNull(channel.getSound());
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/app/ImportancePreferenceTest.java b/tests/robotests/src/com/android/settings/notification/app/ImportancePreferenceTest.java
new file mode 100644
index 0000000..39a5714
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/app/ImportancePreferenceTest.java
@@ -0,0 +1,187 @@
+/*
+ * 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.notification.app;
+
+import static android.app.NotificationManager.IMPORTANCE_DEFAULT;
+import static android.app.NotificationManager.IMPORTANCE_LOW;
+
+import static com.google.common.truth.Truth.assertThat;
+
+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 android.content.Context;
+import android.graphics.drawable.Drawable;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.TextView;
+
+import com.android.settings.R;
+import com.android.settings.notification.app.ImportancePreference;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+import androidx.preference.PreferenceViewHolder;
+
+@RunWith(RobolectricTestRunner.class)
+public class ImportancePreferenceTest {
+
+    private Context mContext;
+
+    @Before
+    public void setUp() {
+        mContext = RuntimeEnvironment.application;
+    }
+
+    @Test
+    public void createNewPreference_shouldSetLayout() {
+        final ImportancePreference preference = new ImportancePreference(mContext);
+        assertThat(preference.getLayoutResource()).isEqualTo(
+                R.layout.notif_importance_preference);
+    }
+
+    @Test
+    public void onBindViewHolder_nonConfigurable() {
+        final ImportancePreference preference = new ImportancePreference(mContext);
+        final LayoutInflater inflater = LayoutInflater.from(mContext);
+        PreferenceViewHolder holder = PreferenceViewHolder.createInstanceForTests(
+                inflater.inflate(R.layout.notif_importance_preference, null));
+        Drawable unselected = mock(Drawable.class);
+        Drawable selected = mock(Drawable.class);
+        preference.selectedBackground = selected;
+        preference.unselectedBackground = unselected;
+
+        preference.setConfigurable(false);
+        preference.setImportance(IMPORTANCE_DEFAULT);
+        preference.onBindViewHolder(holder);
+
+        assertThat(holder.itemView.findViewById(R.id.silence).isEnabled()).isFalse();
+        assertThat(holder.itemView.findViewById(R.id.alert).isEnabled()).isFalse();
+
+        assertThat(holder.itemView.findViewById(R.id.alert).getBackground()).isEqualTo(selected);
+        assertThat(holder.itemView.findViewById(R.id.silence).getBackground())
+                .isEqualTo(unselected);
+
+        // other button
+        preference.setImportance(IMPORTANCE_LOW);
+        holder = PreferenceViewHolder.createInstanceForTests(
+                inflater.inflate(R.layout.notif_importance_preference, null));
+        preference.onBindViewHolder(holder);
+
+        assertThat(holder.itemView.findViewById(R.id.alert).getBackground()).isEqualTo(unselected);
+        assertThat(holder.itemView.findViewById(R.id.silence).getBackground()).isEqualTo(selected);
+    }
+
+    @Test
+    public void onBindViewHolder_selectButtonAndText() {
+        final ImportancePreference preference = new ImportancePreference(mContext);
+        final LayoutInflater inflater = LayoutInflater.from(mContext);
+        final PreferenceViewHolder holder = PreferenceViewHolder.createInstanceForTests(
+                inflater.inflate(R.layout.notif_importance_preference, null));
+        Drawable unselected = mock(Drawable.class);
+        Drawable selected = mock(Drawable.class);
+        preference.selectedBackground = selected;
+        preference.unselectedBackground = unselected;
+
+        preference.setConfigurable(true);
+        preference.setImportance(IMPORTANCE_DEFAULT);
+
+        preference.onBindViewHolder(holder);
+
+        assertThat(holder.itemView.findViewById(R.id.alert).getBackground()).isEqualTo(selected);
+        assertThat(holder.itemView.findViewById(R.id.silence).getBackground())
+                .isEqualTo(unselected);
+        assertThat(((TextView) holder.itemView.findViewById(R.id.alert_summary)).getText())
+                .isEqualTo(mContext.getString(R.string.notification_channel_summary_default));
+    }
+
+    @Test
+    public void onClick_changesUICallsListener() {
+        final ImportancePreference preference = spy(new ImportancePreference(mContext));
+        final LayoutInflater inflater = LayoutInflater.from(mContext);
+        final PreferenceViewHolder holder = PreferenceViewHolder.createInstanceForTests(
+                inflater.inflate(R.layout.notif_importance_preference, null));
+        Drawable unselected = mock(Drawable.class);
+        Drawable selected = mock(Drawable.class);
+        preference.selectedBackground = selected;
+        preference.unselectedBackground = unselected;
+
+        preference.setConfigurable(true);
+        preference.setImportance(IMPORTANCE_DEFAULT);
+        preference.onBindViewHolder(holder);
+
+        View silenceButton = holder.itemView.findViewById(R.id.silence);
+
+        silenceButton.callOnClick();
+
+        assertThat(holder.itemView.findViewById(R.id.alert).getBackground()).isEqualTo(unselected);
+        assertThat(holder.itemView.findViewById(R.id.silence).getBackground()).isEqualTo(selected);
+
+        verify(preference, times(1)).callChangeListener(IMPORTANCE_LOW);
+    }
+
+    @Test
+    public void setImportanceSummary() {
+        final ImportancePreference preference = spy(new ImportancePreference(mContext));
+        final LayoutInflater inflater = LayoutInflater.from(mContext);
+        final PreferenceViewHolder holder = PreferenceViewHolder.createInstanceForTests(
+                inflater.inflate(R.layout.notif_importance_preference, null));
+
+        preference.setConfigurable(true);
+        preference.setImportance(IMPORTANCE_DEFAULT);
+        preference.onBindViewHolder(holder);
+
+        TextView tv = holder.itemView.findViewById(R.id.silence_summary);
+
+        preference.setDisplayInStatusBar(true);
+        preference.setDisplayOnLockscreen(true);
+
+        preference.setImportanceSummary((ViewGroup) holder.itemView, IMPORTANCE_LOW, true);
+
+        assertThat(tv.getText()).isEqualTo(
+                mContext.getString(R.string.notification_channel_summary_low));
+    }
+
+    @Test
+    public void setImportanceSummary_default() {
+        final ImportancePreference preference = spy(new ImportancePreference(mContext));
+        final LayoutInflater inflater = LayoutInflater.from(mContext);
+        final PreferenceViewHolder holder = PreferenceViewHolder.createInstanceForTests(
+                inflater.inflate(R.layout.notif_importance_preference, null));
+
+        preference.setConfigurable(true);
+        preference.setImportance(IMPORTANCE_DEFAULT);
+        preference.onBindViewHolder(holder);
+
+        TextView tv = holder.itemView.findViewById(R.id.alert_summary);
+
+        preference.setDisplayInStatusBar(true);
+        preference.setDisplayOnLockscreen(true);
+
+        preference.setImportanceSummary((ViewGroup) holder.itemView, IMPORTANCE_DEFAULT, true);
+
+        assertThat(tv.getText()).isEqualTo(
+                mContext.getString(R.string.notification_channel_summary_default));
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/app/LightsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/app/LightsPreferenceControllerTest.java
new file mode 100644
index 0000000..4f3b496
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/app/LightsPreferenceControllerTest.java
@@ -0,0 +1,230 @@
+/*
+ * 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.app;
+
+import static android.app.NotificationChannel.DEFAULT_CHANNEL_ID;
+import static android.app.NotificationManager.IMPORTANCE_DEFAULT;
+import static android.app.NotificationManager.IMPORTANCE_HIGH;
+import static android.app.NotificationManager.IMPORTANCE_LOW;
+import static android.provider.Settings.System.NOTIFICATION_LIGHT_PULSE;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyInt;
+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.NotificationChannel;
+import android.app.NotificationManager;
+import android.content.Context;
+import android.os.UserManager;
+import android.provider.Settings;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.notification.NotificationBackend;
+import com.android.settings.testutils.shadow.SettingsShadowResources;
+import com.android.settingslib.RestrictedLockUtils;
+import com.android.settingslib.RestrictedSwitchPreference;
+
+import org.junit.After;
+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.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
+import org.robolectric.shadows.ShadowApplication;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(shadows = SettingsShadowResources.class)
+public class LightsPreferenceControllerTest {
+
+    private Context mContext;
+    @Mock
+    private NotificationBackend mBackend;
+    @Mock
+    private NotificationManager mNm;
+    @Mock
+    private UserManager mUm;
+    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
+    private PreferenceScreen mScreen;
+
+    private LightsPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        ShadowApplication shadowApplication = ShadowApplication.getInstance();
+        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNm);
+        shadowApplication.setSystemService(Context.USER_SERVICE, mUm);
+        mContext = RuntimeEnvironment.application;
+        mController = spy(new LightsPreferenceController(mContext, mBackend));
+
+        // By default allow lights
+        SettingsShadowResources.overrideResource(
+                com.android.internal.R.bool.config_intrusiveNotificationLed, true);
+        Settings.System.putInt(mContext.getContentResolver(), NOTIFICATION_LIGHT_PULSE, 1);
+    }
+
+    @After
+    public void tearDown() {
+        SettingsShadowResources.reset();
+    }
+
+    @Test
+    public void testNoCrashIfNoOnResume() {
+        mController.isAvailable();
+        mController.updateState(mock(RestrictedSwitchPreference.class));
+        mController.onPreferenceChange(mock(RestrictedSwitchPreference.class), true);
+    }
+
+    @Test
+    public void testIsAvailable_notIfConfigNotAllowed() {
+        SettingsShadowResources.overrideResource(
+                com.android.internal.R.bool.config_intrusiveNotificationLed, false);
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = new NotificationChannel("", "", IMPORTANCE_DEFAULT);
+        mController.onResume(appRow, channel, null, null, null, null);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable_notIfSettingNotAllowed() {
+        Settings.System.putInt(mContext.getContentResolver(), NOTIFICATION_LIGHT_PULSE, 0);
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = new NotificationChannel("", "", IMPORTANCE_DEFAULT);
+        mController.onResume(appRow, channel, null, null, null, null);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable_notIfNotImportant() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = new NotificationChannel("", "", IMPORTANCE_LOW);
+        mController.onResume(appRow, channel, null, null, null, null);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable_notIfDefaultChannel() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel =
+                new NotificationChannel(DEFAULT_CHANNEL_ID, "", IMPORTANCE_DEFAULT);
+        mController.onResume(appRow, channel, null, null, null, null);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = new NotificationChannel("", "", IMPORTANCE_DEFAULT);
+        mController.onResume(appRow, channel, null, null, null, null);
+        assertTrue(mController.isAvailable());
+    }
+
+    @Test
+    public void testUpdateState_disabledByAdmin() {
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getId()).thenReturn("something");
+        mController.onResume(new NotificationBackend.AppRow(), channel, null,
+                null, null, mock(RestrictedLockUtils.EnforcedAdmin.class));
+
+        Preference pref = new RestrictedSwitchPreference(mContext);
+        mController.updateState(pref);
+
+        assertFalse(pref.isEnabled());
+    }
+
+    @Test
+    public void testUpdateState_notBlockable() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.isImportanceLockedByOEM()).thenReturn(true);
+        mController.onResume(appRow, channel, null, null, null, null);
+
+        Preference pref = new RestrictedSwitchPreference(mContext);
+        mController.updateState(pref);
+
+        assertTrue(pref.isEnabled());
+    }
+
+    @Test
+    public void testUpdateState_lightsOn() {
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.shouldShowLights()).thenReturn(true);
+        mController.onResume(new NotificationBackend.AppRow(), channel, null, null, null, null);
+
+        RestrictedSwitchPreference pref = new RestrictedSwitchPreference(mContext);
+        mController.updateState(pref);
+        assertTrue(pref.isChecked());
+    }
+
+    @Test
+    public void testUpdateState_lightsOff() {
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.shouldShowLights()).thenReturn(false);
+        mController.onResume(new NotificationBackend.AppRow(), channel, null, null, null, null);
+
+        RestrictedSwitchPreference pref = new RestrictedSwitchPreference(mContext);
+        mController.updateState(pref);
+        assertFalse(pref.isChecked());
+    }
+
+    @Test
+    public void testOnPreferenceChange_on() {
+        NotificationChannel channel =
+                new NotificationChannel(DEFAULT_CHANNEL_ID, "a", IMPORTANCE_DEFAULT);
+        mController.onResume(new NotificationBackend.AppRow(), channel, null, null, null, null);
+
+        RestrictedSwitchPreference pref = new RestrictedSwitchPreference(mContext);
+        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(pref);
+        mController.displayPreference(mScreen);
+        mController.updateState(pref);
+
+        mController.onPreferenceChange(pref, true);
+
+        assertTrue(channel.shouldShowLights());
+        verify(mBackend, times(1)).updateChannel(any(), anyInt(), any());
+    }
+
+    @Test
+    public void testOnPreferenceChange_off() {
+        NotificationChannel channel =
+                new NotificationChannel(DEFAULT_CHANNEL_ID, "a", IMPORTANCE_HIGH);
+        mController.onResume(new NotificationBackend.AppRow(), channel, null, null, null, null);
+
+        RestrictedSwitchPreference pref =
+                new RestrictedSwitchPreference(mContext);
+        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(pref);
+        mController.displayPreference(mScreen);
+        mController.updateState(pref);
+
+        mController.onPreferenceChange(pref, false);
+
+        assertFalse(channel.shouldShowLights());
+        verify(mBackend, times(1)).updateChannel(any(), anyInt(), any());
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/app/MinImportancePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/app/MinImportancePreferenceControllerTest.java
new file mode 100644
index 0000000..f046820
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/app/MinImportancePreferenceControllerTest.java
@@ -0,0 +1,228 @@
+/*
+ * 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.app;
+
+import static android.app.NotificationChannel.DEFAULT_CHANNEL_ID;
+import static android.app.NotificationManager.IMPORTANCE_LOW;
+import static android.app.NotificationManager.IMPORTANCE_MIN;
+import static android.app.NotificationManager.IMPORTANCE_NONE;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+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.NotificationChannel;
+import android.app.NotificationManager;
+import android.content.Context;
+import android.os.UserManager;
+
+import com.android.settings.notification.NotificationBackend;
+import com.android.settingslib.RestrictedLockUtils;
+import com.android.settingslib.RestrictedSwitchPreference;
+
+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.RuntimeEnvironment;
+import org.robolectric.shadows.ShadowApplication;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+@RunWith(RobolectricTestRunner.class)
+public class MinImportancePreferenceControllerTest {
+
+    private Context mContext;
+    @Mock
+    private NotificationManager mNm;
+    @Mock
+    private NotificationBackend mBackend;
+    @Mock
+    private NotificationSettings.DependentFieldListener mDependentFieldListener;
+    @Mock
+    private UserManager mUm;
+    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
+    private PreferenceScreen mScreen;
+
+    private MinImportancePreferenceController mController;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        ShadowApplication shadowApplication = ShadowApplication.getInstance();
+        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNm);
+        shadowApplication.setSystemService(Context.USER_SERVICE, mUm);
+        mContext = RuntimeEnvironment.application;
+        mController = spy(new MinImportancePreferenceController(
+                mContext, mDependentFieldListener, mBackend));
+    }
+
+    @Test
+    public void testNoCrashIfNoOnResume() {
+        mController.isAvailable();
+        mController.updateState(mock(Preference.class));
+    }
+
+    @Test
+    public void testIsAvailable_notIfNull() {
+        mController.onResume(null, null, null, null, null, null);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable_ifAppBlocked() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.banned = true;
+        mController.onResume(appRow, mock(NotificationChannel.class), null, null, null, null);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable_notIfChannelBlocked() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_NONE);
+        mController.onResume(appRow, channel, null, null, null, null);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable_notForDefaultChannel() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_LOW);
+        when(channel.getId()).thenReturn(DEFAULT_CHANNEL_ID);
+        mController.onResume(appRow, channel, null, null, null, null);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_LOW);
+        mController.onResume(appRow, channel, null, null, null, null);
+        assertTrue(mController.isAvailable());
+    }
+
+    @Test
+    public void testUpdateState_disabledByAdmin() {
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_LOW);
+        mController.onResume(new NotificationBackend.AppRow(), channel, null, null, null, mock(
+                RestrictedLockUtils.EnforcedAdmin.class));
+
+        Preference pref = new RestrictedSwitchPreference(mContext, null);
+        mController.updateState(pref);
+
+        assertFalse(pref.isEnabled());
+    }
+
+    @Test
+    public void testUpdateState_notConfigurable() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.isImportanceLockedByOEM()).thenReturn(true);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_LOW);
+        mController.onResume(appRow, channel, null, null, null, null);
+
+        Preference pref = new RestrictedSwitchPreference(mContext, null);
+        mController.updateState(pref);
+
+        assertFalse(pref.isEnabled());
+    }
+
+    @Test
+    public void testUpdateState_systemButConfigurable() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.systemApp = true;
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.isImportanceLockedByOEM()).thenReturn(false);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_LOW);
+        mController.onResume(appRow, channel, null, null, null, null);
+
+        Preference pref = new RestrictedSwitchPreference(mContext, null);
+        mController.updateState(pref);
+
+        assertTrue(pref.isEnabled());
+    }
+
+    @Test
+    public void testUpdateState_defaultApp() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.systemApp = true;
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.isImportanceLockedByCriticalDeviceFunction()).thenReturn(true);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_LOW);
+        mController.onResume(appRow, channel, null, null, null, null);
+
+        Preference pref = new RestrictedSwitchPreference(mContext, null);
+        mController.updateState(pref);
+
+        assertTrue(pref.isEnabled());
+    }
+
+    @Test
+    public void testUpdateState_min() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = new NotificationChannel("", "", IMPORTANCE_MIN);
+        mController.onResume(appRow, channel, null, null, null, null);
+
+        RestrictedSwitchPreference pref = new RestrictedSwitchPreference(mContext);
+        mController.updateState(pref);
+
+        assertTrue(pref.isChecked());
+    }
+
+    @Test
+    public void testUpdateState_low() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = new NotificationChannel("", "", IMPORTANCE_LOW);
+        mController.onResume(appRow, channel, null, null, null, null);
+
+        RestrictedSwitchPreference pref = new RestrictedSwitchPreference(mContext);
+        mController.updateState(pref);
+
+        assertFalse(pref.isChecked());
+    }
+    
+    @Test
+    public void onPreferenceChange() {
+        NotificationChannel channel =
+                new NotificationChannel(DEFAULT_CHANNEL_ID, "a", IMPORTANCE_LOW);
+        mController.onResume(new NotificationBackend.AppRow(), channel, null, null, null, null);
+
+        RestrictedSwitchPreference pref = new RestrictedSwitchPreference(mContext, null);
+        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(pref);
+        mController.displayPreference(mScreen);
+        mController.updateState(pref);
+
+        mController.onPreferenceChange(pref, true);
+
+        assertEquals(IMPORTANCE_MIN, channel.getImportance());
+        verify(mDependentFieldListener, times(1)).onFieldValueChanged();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/app/NotificationPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/app/NotificationPreferenceControllerTest.java
new file mode 100644
index 0000000..170a5e0
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/app/NotificationPreferenceControllerTest.java
@@ -0,0 +1,372 @@
+/*
+ * 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.app;
+
+import static android.app.NotificationManager.IMPORTANCE_DEFAULT;
+import static android.app.NotificationManager.IMPORTANCE_HIGH;
+import static android.app.NotificationManager.IMPORTANCE_LOW;
+import static android.app.NotificationManager.IMPORTANCE_MIN;
+import static android.app.NotificationManager.IMPORTANCE_NONE;
+import static android.app.NotificationManager.IMPORTANCE_UNSPECIFIED;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.Mockito.any;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.NotificationChannel;
+import android.app.NotificationChannelGroup;
+import android.app.NotificationManager;
+import android.content.Context;
+import android.os.UserManager;
+
+import androidx.preference.Preference;
+
+import com.android.settings.notification.NotificationBackend;
+import com.android.settingslib.RestrictedLockUtils;
+
+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.RuntimeEnvironment;
+import org.robolectric.shadows.ShadowApplication;
+
+@RunWith(RobolectricTestRunner.class)
+public class NotificationPreferenceControllerTest {
+
+    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
+    private Context mContext;
+    @Mock
+    private NotificationBackend mBackend;
+    @Mock
+    private NotificationManager mNm;
+    @Mock
+    private UserManager mUm;
+
+    private TestPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        ShadowApplication shadowApplication = ShadowApplication.getInstance();
+        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNm);
+        shadowApplication.setSystemService(Context.USER_SERVICE, mUm);
+        mContext = RuntimeEnvironment.application;
+        mController = new TestPreferenceController(mContext, mBackend);
+    }
+
+    @Test
+    public void noCrashIfNoOnResume() {
+        mController.isAvailable();
+        mController.updateState(mock(Preference.class));
+        assertFalse(mController.checkCanBeVisible(IMPORTANCE_UNSPECIFIED));
+        mController.saveChannel();
+        assertFalse(mController.isChannelBlockable());
+        assertFalse(mController.isChannelGroupBlockable());
+    }
+
+    @Test
+    public void isAvailable_notIfNull() {
+        mController.onResume(null, null, null, null, null, null);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void isAvailable_notIfAppBlocked() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.banned = true;
+        mController.onResume(appRow, mock(NotificationChannel.class),
+                mock(NotificationChannelGroup.class), null, null, null);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void isAvailable_notIfChannelBlocked() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannelGroup group = mock(NotificationChannelGroup.class);
+        when(group.isBlocked()).thenReturn(false);
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_NONE);
+
+        mController.onResume(appRow, channel, group, null, null, null);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void isAvailable_notIfChannelGroupBlocked() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_DEFAULT);
+        NotificationChannelGroup group = mock(NotificationChannelGroup.class);
+
+        mController.onResume(appRow, channel, group, null, null, null);
+        when(group.isBlocked()).thenReturn(true);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void isAvailable() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_DEFAULT);
+        NotificationChannelGroup group = mock(NotificationChannelGroup.class);
+        when(group.isBlocked()).thenReturn(false);
+
+        mController.onResume(appRow, channel, group, null, null, null);
+        assertTrue(mController.isAvailable());
+    }
+
+    @Test
+    public void testOnResume() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = mock(NotificationChannel.class);
+        NotificationChannelGroup group = mock(NotificationChannelGroup.class);
+        RestrictedLockUtils.EnforcedAdmin admin = mock(RestrictedLockUtils.EnforcedAdmin.class);
+
+        mController.onResume(appRow, channel, group, null, null, admin);
+
+        assertEquals(appRow, mController.mAppRow);
+        assertEquals(channel, mController.mChannel);
+        assertEquals(group, mController.mChannelGroup);
+        assertEquals(admin, mController.mAdmin);
+    }
+
+    @Test
+    public void testCanBeVisible_unspecified() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_UNSPECIFIED);
+
+        mController.onResume(appRow, channel, null, null, null, null);
+        assertTrue(mController.checkCanBeVisible(IMPORTANCE_MIN));
+    }
+
+    @Test
+    public void testCanBeVisible_sameImportance() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_LOW);
+
+        mController.onResume(appRow, channel, null, null, null, null);
+        assertTrue(mController.checkCanBeVisible(IMPORTANCE_LOW));
+    }
+
+    @Test
+    public void testCanBeVisible_greaterImportance() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_LOW);
+
+        mController.onResume(appRow, channel, null, null, null, null);
+        assertTrue(mController.checkCanBeVisible(IMPORTANCE_MIN));
+    }
+
+    @Test
+    public void testCanBeVisible_lesserImportance() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_LOW);
+
+        mController.onResume(appRow, channel, null, null, null, null);
+        assertFalse(mController.checkCanBeVisible(IMPORTANCE_DEFAULT));
+    }
+
+    @Test
+    public void testSaveImportance() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_DEFAULT);
+
+        mController.onResume(appRow, channel, null, null, null, null);
+        mController.saveChannel();
+        verify(mBackend, times(1)).updateChannel(any(), anyInt(), any());
+    }
+
+    @Test
+    public void testIsBlockable_oemWhitelist() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.isImportanceLockedByOEM()).thenReturn(true);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_LOW);
+
+        mController.onResume(appRow, channel, null, null, null, null);
+        assertFalse(mController.isChannelBlockable());
+
+        when(channel.isImportanceLockedByOEM()).thenReturn(false);
+        mController.onResume(appRow, channel, null, null, null, null);
+        assertTrue(mController.isChannelBlockable());
+    }
+
+    @Test
+    public void testIsBlockable_defaultApp() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_LOW);
+        when(channel.isImportanceLockedByCriticalDeviceFunction()).thenReturn(true);
+
+        mController.onResume(appRow, channel, null, null, null, null);
+        assertFalse(mController.isChannelBlockable());
+    }
+
+    @Test
+    public void testIsChannelBlockable_nonSystemAppsBlockable() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.systemApp = false;
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.isBlockableSystem()).thenReturn(false);
+
+        mController.onResume(appRow, channel, null, null, null, null);
+        assertTrue(mController.isChannelBlockable());
+    }
+
+    @Test
+    public void testIsChannelBlockable_mostSystemAppsNotBlockable() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.systemApp = true;
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.isBlockableSystem()).thenReturn(false);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_HIGH);
+
+        mController.onResume(appRow, channel, null, null, null, null);
+        assertFalse(mController.isChannelBlockable());
+    }
+
+    @Test
+    public void testIsChannelBlockable_someSystemAppsAreBlockable() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.systemApp = true;
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.isBlockableSystem()).thenReturn(true);
+
+        mController.onResume(appRow, channel, null, null, null, null);
+        assertTrue(mController.isChannelBlockable());
+    }
+
+    @Test
+    public void testIsChannelBlockable_canUndoSystemBlock() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.systemApp = true;
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.isBlockableSystem()).thenReturn(false);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_NONE);
+
+        mController.onResume(appRow, channel, null, null, null, null);
+        assertTrue(mController.isChannelBlockable());
+    }
+
+    @Test
+    public void testIsChannelGroupBlockable_nonSystemBlockable() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.systemApp = false;
+        NotificationChannelGroup group = mock(NotificationChannelGroup.class);
+        when(group.isBlocked()).thenReturn(false);
+
+        mController.onResume(appRow, null, group, null, null, null);
+        assertTrue(mController.isChannelGroupBlockable());
+    }
+
+    @Test
+    public void testIsChannelBlockable_oemLocked() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.systemApp = false;
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.isImportanceLockedByOEM()).thenReturn(true);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_DEFAULT);
+
+        mController.onResume(appRow, channel, null, null, null, null);
+        assertFalse(mController.isChannelBlockable());
+    }
+
+    @Test
+    public void testIsChannelBlockable_criticalDeviceFunction() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.systemApp = false;
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.isImportanceLockedByCriticalDeviceFunction()).thenReturn(true);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_DEFAULT);
+
+        mController.onResume(appRow, channel, null, null, null, null);
+        assertFalse(mController.isChannelBlockable());
+    }
+
+    @Test
+    public void testIsChannelGroupBlockable_SystemNotBlockable() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.systemApp = true;
+        NotificationChannelGroup group = mock(NotificationChannelGroup.class);
+        when(group.isBlocked()).thenReturn(false);
+
+        mController.onResume(appRow, null, group, null, null, null);
+        assertFalse(mController.isChannelGroupBlockable());
+    }
+
+    @Test
+    public void testIsChannelGroupBlockable_canUndoSystemBlock() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.systemApp = true;
+        NotificationChannelGroup group = mock(NotificationChannelGroup.class);
+        when(group.isBlocked()).thenReturn(true);
+
+        mController.onResume(appRow, null, group, null, null, null);
+        assertTrue(mController.isChannelGroupBlockable());
+    }
+
+    @Test
+    public void testIsDefaultChannel_noChannel() {
+        mController.onResume(mock(NotificationBackend.AppRow.class), null, null, null, null, null);
+
+        assertFalse(mController.isDefaultChannel());
+    }
+
+    @Test
+    public void testIsDefaultChannel_nonDefaultChannel() {
+        NotificationChannel channel = mock(NotificationChannel.class);
+        mController.onResume(mock(NotificationBackend.AppRow.class), channel, null, null, null, null);
+
+        assertFalse(mController.isDefaultChannel());
+    }
+
+    @Test
+    public void testIsDefaultChannel() {
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getId()).thenReturn(NotificationChannel.DEFAULT_CHANNEL_ID);
+        mController.onResume(mock(NotificationBackend.AppRow.class), channel, null, null, null, null);
+
+        assertTrue(mController.isDefaultChannel());
+    }
+
+    private final class TestPreferenceController extends NotificationPreferenceController {
+
+        private TestPreferenceController(Context context, NotificationBackend backend) {
+            super(context, backend);
+        }
+
+        @Override
+        public String getPreferenceKey() {
+            return null;
+        }
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/app/NotificationsOffPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/app/NotificationsOffPreferenceControllerTest.java
new file mode 100644
index 0000000..cfbe5f7
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/app/NotificationsOffPreferenceControllerTest.java
@@ -0,0 +1,137 @@
+/*
+ * 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.app;
+
+import static android.app.NotificationManager.IMPORTANCE_NONE;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
+import android.app.NotificationChannel;
+import android.app.NotificationChannelGroup;
+import android.app.NotificationManager;
+import android.content.Context;
+import android.os.UserManager;
+
+import androidx.preference.Preference;
+
+import com.android.settings.notification.NotificationBackend;
+
+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 org.robolectric.shadows.ShadowApplication;
+
+@RunWith(RobolectricTestRunner.class)
+public class NotificationsOffPreferenceControllerTest {
+
+    @Mock
+    private NotificationManager mNm;
+    @Mock
+    private UserManager mUm;
+
+    private NotificationsOffPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        ShadowApplication shadowApplication = ShadowApplication.getInstance();
+        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNm);
+        shadowApplication.setSystemService(Context.USER_SERVICE, mUm);
+        mController = spy(new NotificationsOffPreferenceController(RuntimeEnvironment.application));
+    }
+
+    @Test
+    public void testNoCrashIfNoOnResume() {
+        mController.isAvailable();
+        mController.updateState(mock(Preference.class));
+    }
+
+    @Test
+    public void testIsAvailable_yesIfAppBlocked() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.banned = true;
+        mController.onResume(appRow, null, null, null, null, null);
+        assertThat(mController.isAvailable()).isTrue();
+    }
+
+    @Test
+    public void testIsAvailable_yesIfChannelGroupBlocked() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannelGroup group = mock(NotificationChannelGroup.class);
+        when(group.isBlocked()).thenReturn(true);
+        mController.onResume(appRow, null, group, null, null, null);
+        assertThat(mController.isAvailable()).isTrue();
+    }
+
+    @Test
+    public void testIsAvailable_yesIfChannelBlocked() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_NONE);
+        mController.onResume(appRow, channel, null, null, null, null);
+        assertThat(mController.isAvailable()).isTrue();
+    }
+
+    @Test
+    public void testUpdateState_channel() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getImportance()).thenReturn(IMPORTANCE_NONE);
+        mController.onResume(appRow, channel, null, null, null, null);
+
+        Preference pref = new Preference(RuntimeEnvironment.application);
+        mController.updateState(pref);
+
+        assertThat(pref.getTitle().toString()).contains("category");
+        assertThat(pref.isSelectable()).isFalse();
+    }
+
+    @Test
+    public void testUpdateState_channelGroup() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannelGroup group = mock(NotificationChannelGroup.class);
+        when(group.isBlocked()).thenReturn(true);
+        mController.onResume(appRow, null, group, null, null, null);
+
+        Preference pref = new Preference(RuntimeEnvironment.application);
+        mController.updateState(pref);
+
+        assertThat(pref.getTitle().toString()).contains("group");
+        assertThat(pref.isSelectable()).isFalse();
+    }
+
+    @Test
+    public void testUpdateState_app() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        appRow.banned = true;
+        mController.onResume(appRow, null, null, null, null, null);
+
+        Preference pref = new Preference(RuntimeEnvironment.application);
+        mController.updateState(pref);
+
+        assertThat(pref.getTitle().toString()).contains("app");
+        assertThat(pref.isSelectable()).isFalse();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/app/SoundPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/app/SoundPreferenceControllerTest.java
new file mode 100644
index 0000000..0d18c1f
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/app/SoundPreferenceControllerTest.java
@@ -0,0 +1,321 @@
+/*
+ * 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.app;
+
+import static android.app.NotificationChannel.DEFAULT_CHANNEL_ID;
+import static android.app.NotificationManager.IMPORTANCE_DEFAULT;
+import static android.app.NotificationManager.IMPORTANCE_HIGH;
+import static android.app.NotificationManager.IMPORTANCE_LOW;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import static org.junit.Assert.assertEquals;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.Notification;
+import android.app.NotificationChannel;
+import android.app.NotificationManager;
+import android.content.Context;
+import android.content.Intent;
+import android.media.AudioAttributes;
+import android.media.RingtoneManager;
+import android.net.Uri;
+import android.os.UserManager;
+import android.provider.Settings;
+import android.util.AttributeSet;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.SettingsPreferenceFragment;
+import com.android.settings.notification.NotificationBackend;
+import com.android.settingslib.RestrictedLockUtils;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Answers;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.Robolectric;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.shadows.ShadowApplication;
+
+@RunWith(RobolectricTestRunner.class)
+public class SoundPreferenceControllerTest {
+
+    private Context mContext;
+    @Mock
+    private NotificationBackend mBackend;
+    @Mock
+    private NotificationManager mNm;
+    @Mock
+    private UserManager mUm;
+    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
+    private PreferenceScreen mScreen;
+    @Mock
+    private SettingsPreferenceFragment mFragment;
+    @Mock
+    private NotificationSettings.DependentFieldListener mDependentFieldListener;
+
+    private SoundPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        ShadowApplication shadowApplication = ShadowApplication.getInstance();
+        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNm);
+        shadowApplication.setSystemService(Context.USER_SERVICE, mUm);
+        mContext = RuntimeEnvironment.application;
+        mController = spy(new SoundPreferenceController(
+                mContext, mFragment, mDependentFieldListener, mBackend));
+    }
+
+    @Test
+    public void testNoCrashIfNoOnResume() {
+        mController.isAvailable();
+        mController.updateState(mock(NotificationSoundPreference.class));
+        mController.onPreferenceChange(mock(NotificationSoundPreference.class), Uri.EMPTY);
+        mController.handlePreferenceTreeClick(mock(NotificationSoundPreference.class));
+        mController.onActivityResult(1, 1, null);
+        SoundPreferenceController.hasValidSound(null);
+    }
+
+    @Test
+    public void testIsAvailable_notIfChannelNull() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        mController.onResume(appRow, null, null, null, null, null);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable_notIfNotImportant() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = new NotificationChannel("", "", IMPORTANCE_LOW);
+        mController.onResume(appRow, channel, null, null, null, null);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable_notIfDefaultChannel() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel =
+                new NotificationChannel(DEFAULT_CHANNEL_ID, "", IMPORTANCE_DEFAULT);
+        mController.onResume(appRow, channel, null, null, null, null);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = new NotificationChannel("", "", IMPORTANCE_DEFAULT);
+        mController.onResume(appRow, channel, null, null, null, null);
+        assertTrue(mController.isAvailable());
+    }
+
+    @Test
+    public void testDisplayPreference_savesPreference() {
+        NotificationSoundPreference pref = mock(NotificationSoundPreference.class);
+        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(pref);
+        mController.displayPreference(mScreen);
+
+        mController.onActivityResult(SoundPreferenceController.CODE, 1, new Intent());
+        verify(pref, times(1)).onActivityResult(anyInt(), anyInt(), any());
+    }
+
+    @Test
+    public void testUpdateState_disabledByAdmin() {
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getId()).thenReturn("something");
+        mController.onResume(new NotificationBackend.AppRow(), channel, null, null, null, mock(
+                RestrictedLockUtils.EnforcedAdmin.class));
+
+        AttributeSet attributeSet = Robolectric.buildAttributeSet().build();
+        Preference pref = new NotificationSoundPreference(mContext, attributeSet);
+        mController.updateState(pref);
+
+        assertFalse(pref.isEnabled());
+    }
+
+    @Test
+    public void testUpdateState_notBlockable() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.isImportanceLockedByOEM()).thenReturn(true);
+        mController.onResume(appRow, channel, null, null, null, null);
+
+        AttributeSet attributeSet = Robolectric.buildAttributeSet().build();
+        Preference pref = new NotificationSoundPreference(mContext, attributeSet);
+        mController.updateState(pref);
+
+        assertTrue(pref.isEnabled());
+    }
+
+    @Test
+    public void testUpdateState_configurable() {
+        Uri sound = Settings.System.DEFAULT_ALARM_ALERT_URI;
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getId()).thenReturn("something");
+        when(channel.getSound()).thenReturn(sound);
+        mController.onResume(appRow, channel, null, null, null, null);
+
+        AttributeSet attributeSet = Robolectric.buildAttributeSet().build();
+        NotificationSoundPreference pref = new NotificationSoundPreference(mContext, attributeSet);
+        mController.updateState(pref);
+
+        assertEquals(sound, pref.onRestoreRingtone());
+        assertTrue(pref.isEnabled());
+    }
+
+    @Test
+    public void testOnPreferenceChange() {
+        Uri sound = Settings.System.DEFAULT_ALARM_ALERT_URI;
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = new NotificationChannel("", "", IMPORTANCE_HIGH);
+        channel.setSound(sound, Notification.AUDIO_ATTRIBUTES_DEFAULT);
+        mController.onResume(appRow, channel, null, null, null, null);
+
+        AttributeSet attributeSet = Robolectric.buildAttributeSet().build();
+        NotificationSoundPreference pref =
+                new NotificationSoundPreference(mContext, attributeSet);
+        mController.updateState(pref);
+
+        mController.onPreferenceChange(pref, Uri.EMPTY);
+        assertEquals(Uri.EMPTY, channel.getSound());
+        assertEquals(Notification.AUDIO_ATTRIBUTES_DEFAULT, channel.getAudioAttributes());
+        verify(mBackend, times(1)).updateChannel(any(), anyInt(), any());
+    }
+
+    @Test
+    public void testOnPreferenceTreeClick_incorrectPref() {
+        NotificationSoundPreference pref = mock(NotificationSoundPreference.class);
+        mController.handlePreferenceTreeClick(pref);
+
+        verify(pref, never()).onPrepareRingtonePickerIntent(any());
+        verify(mFragment, never()).startActivityForResult(any(), anyInt());
+    }
+
+    @Test
+    public void testOnPreferenceTreeClick_correctPref() {
+        AttributeSet attributeSet = Robolectric.buildAttributeSet().build();
+        NotificationSoundPreference pref =
+                spy(new NotificationSoundPreference(mContext, attributeSet));
+        pref.setKey(mController.getPreferenceKey());
+        mController.handlePreferenceTreeClick(pref);
+
+        verify(pref, times(1)).onPrepareRingtonePickerIntent(any());
+        verify(mFragment, times(1)).startActivityForResult(any(), anyInt());
+    }
+
+    @Test
+    public void testOnPreferenceTreeClick_alarmSound() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = new NotificationChannel("", "", IMPORTANCE_HIGH);
+        channel.setSound(null, new AudioAttributes.Builder().setUsage(
+                AudioAttributes.USAGE_ALARM).build());
+        mController.onResume(appRow, channel, null, null, null, null);
+
+        AttributeSet attributeSet = Robolectric.buildAttributeSet().build();
+        NotificationSoundPreference pref =
+                spy(new NotificationSoundPreference(mContext, attributeSet));
+        pref.setKey(mController.getPreferenceKey());
+        mController.handlePreferenceTreeClick(pref);
+
+        ArgumentCaptor<Intent> intentArgumentCaptor = ArgumentCaptor.forClass(Intent.class);
+        verify(pref, times(1)).onPrepareRingtonePickerIntent(intentArgumentCaptor.capture());
+        assertEquals(RingtoneManager.TYPE_ALARM,
+                intentArgumentCaptor.getValue().getIntExtra(
+                        RingtoneManager.EXTRA_RINGTONE_TYPE, 0));
+    }
+
+    @Test
+    public void testOnPreferenceTreeClick_ringtoneSound() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = new NotificationChannel("", "", IMPORTANCE_HIGH);
+        channel.setSound(null, new AudioAttributes.Builder().setUsage(
+                AudioAttributes.USAGE_NOTIFICATION_RINGTONE).build());
+        mController.onResume(appRow, channel, null, null, null, null);
+
+        AttributeSet attributeSet = Robolectric.buildAttributeSet().build();
+        NotificationSoundPreference pref =
+                spy(new NotificationSoundPreference(mContext, attributeSet));
+        pref.setKey(mController.getPreferenceKey());
+        mController.handlePreferenceTreeClick(pref);
+
+        ArgumentCaptor<Intent> intentArgumentCaptor = ArgumentCaptor.forClass(Intent.class);
+        verify(pref, times(1)).onPrepareRingtonePickerIntent(intentArgumentCaptor.capture());
+        assertEquals(RingtoneManager.TYPE_RINGTONE,
+                intentArgumentCaptor.getValue().getIntExtra(
+                        RingtoneManager.EXTRA_RINGTONE_TYPE, 0));
+    }
+
+    @Test
+    public void testOnPreferenceTreeClick_otherSound() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = new NotificationChannel("", "", IMPORTANCE_HIGH);
+        channel.setSound(null, new AudioAttributes.Builder().setUsage(
+                AudioAttributes.USAGE_UNKNOWN).build());
+        mController.onResume(appRow, channel, null, null, null, null);
+
+        AttributeSet attributeSet = Robolectric.buildAttributeSet().build();
+        NotificationSoundPreference pref =
+                spy(new NotificationSoundPreference(mContext, attributeSet));
+        pref.setKey(mController.getPreferenceKey());
+        mController.handlePreferenceTreeClick(pref);
+
+        ArgumentCaptor<Intent> intentArgumentCaptor = ArgumentCaptor.forClass(Intent.class);
+        verify(pref, times(1)).onPrepareRingtonePickerIntent(intentArgumentCaptor.capture());
+        assertEquals(RingtoneManager.TYPE_NOTIFICATION,
+                intentArgumentCaptor.getValue().getIntExtra(
+                        RingtoneManager.EXTRA_RINGTONE_TYPE, 0));
+    }
+
+    @Test
+    public void testOnActivityResult() {
+        NotificationSoundPreference pref = mock(NotificationSoundPreference.class);
+        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(pref);
+        mController.displayPreference(mScreen);
+
+        mController.onActivityResult(SoundPreferenceController.CODE, 1, new Intent("hi"));
+        verify(pref, times(1)).onActivityResult(anyInt(), anyInt(), any());
+        verify(mDependentFieldListener, times(1)).onFieldValueChanged();
+    }
+
+    @Test
+    public void testHasValidSound() {
+        NotificationChannel channel =
+                new NotificationChannel(DEFAULT_CHANNEL_ID, "a", IMPORTANCE_HIGH);
+        assertTrue(SoundPreferenceController.hasValidSound(channel));
+
+        channel.setSound(Uri.EMPTY, Notification.AUDIO_ATTRIBUTES_DEFAULT);
+        assertFalse(SoundPreferenceController.hasValidSound(channel));
+
+        channel.setSound(null, Notification.AUDIO_ATTRIBUTES_DEFAULT);
+        assertFalse(SoundPreferenceController.hasValidSound(channel));
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/app/VibrationPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/app/VibrationPreferenceControllerTest.java
new file mode 100644
index 0000000..06a319f
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/app/VibrationPreferenceControllerTest.java
@@ -0,0 +1,226 @@
+/*
+ * 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.app;
+
+import static android.app.NotificationChannel.DEFAULT_CHANNEL_ID;
+import static android.app.NotificationManager.IMPORTANCE_DEFAULT;
+import static android.app.NotificationManager.IMPORTANCE_HIGH;
+import static android.app.NotificationManager.IMPORTANCE_LOW;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyInt;
+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.NotificationChannel;
+import android.app.NotificationManager;
+import android.content.Context;
+import android.os.UserManager;
+import android.os.Vibrator;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.notification.NotificationBackend;
+import com.android.settingslib.RestrictedLockUtils;
+import com.android.settingslib.RestrictedSwitchPreference;
+
+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.RuntimeEnvironment;
+import org.robolectric.shadows.ShadowApplication;
+
+@RunWith(RobolectricTestRunner.class)
+public class VibrationPreferenceControllerTest {
+
+    private Context mContext;
+    @Mock
+    private NotificationBackend mBackend;
+    @Mock
+    private NotificationManager mNm;
+    @Mock
+    private Vibrator mVibrator;
+    @Mock
+    private UserManager mUm;
+    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
+    private PreferenceScreen mScreen;
+
+    private VibrationPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        ShadowApplication shadowApplication = ShadowApplication.getInstance();
+        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNm);
+        shadowApplication.setSystemService(Context.USER_SERVICE, mUm);
+        shadowApplication.setSystemService(Context.VIBRATOR_SERVICE, mVibrator);
+        mContext = RuntimeEnvironment.application;
+        mController = spy(new VibrationPreferenceController(mContext, mBackend));
+
+        // by default allow vibration
+        when(mVibrator.hasVibrator()).thenReturn(true);
+    }
+
+    @Test
+    public void testNoCrashIfNoOnResume() {
+        mController.isAvailable();
+        mController.updateState(mock(RestrictedSwitchPreference.class));
+        mController.onPreferenceChange(mock(RestrictedSwitchPreference.class), true);
+    }
+
+    @Test
+    public void testIsAvailable_notSystemDoesNotHave() {
+        when(mVibrator.hasVibrator()).thenReturn(false);
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = new NotificationChannel("", "", IMPORTANCE_DEFAULT);
+        mController.onResume(appRow, channel, null, null, null, null);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable_notIfNotImportant() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = new NotificationChannel("", "", IMPORTANCE_LOW);
+        mController.onResume(appRow, channel, null, null, null, null);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable_notIfDefaultChannel() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel =
+                new NotificationChannel(DEFAULT_CHANNEL_ID, "", IMPORTANCE_DEFAULT);
+        mController.onResume(appRow, channel, null, null, null, null);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = new NotificationChannel("", "", IMPORTANCE_DEFAULT);
+        mController.onResume(appRow, channel, null, null, null, null);
+        assertTrue(mController.isAvailable());
+    }
+
+    @Test
+    public void testUpdateState_disabledByAdmin() {
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getId()).thenReturn("something");
+        mController.onResume(new NotificationBackend.AppRow(), channel, null, null, null, mock(
+                RestrictedLockUtils.EnforcedAdmin.class));
+
+        Preference pref = new RestrictedSwitchPreference(RuntimeEnvironment.application);
+        mController.updateState(pref);
+
+        assertFalse(pref.isEnabled());
+    }
+
+    @Test
+    public void testUpdateState_notBlockable() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.isImportanceLockedByOEM()).thenReturn(true);
+        mController.onResume(appRow, channel, null, null, null, null);
+
+        Preference pref = new RestrictedSwitchPreference(RuntimeEnvironment.application);
+        mController.updateState(pref);
+
+        assertTrue(pref.isEnabled());
+    }
+
+    @Test
+    public void testUpdateState_configurable() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getId()).thenReturn("something");
+        mController.onResume(appRow, channel, null, null, null, null);
+
+        Preference pref = new RestrictedSwitchPreference(RuntimeEnvironment.application);
+        mController.updateState(pref);
+
+        assertTrue(pref.isEnabled());
+    }
+
+    @Test
+    public void testUpdateState_vibrateOn() {
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.shouldVibrate()).thenReturn(true);
+        mController.onResume(new NotificationBackend.AppRow(), channel, null, null, null, null);
+
+        RestrictedSwitchPreference pref =
+                new RestrictedSwitchPreference(RuntimeEnvironment.application);
+        mController.updateState(pref);
+        assertTrue(pref.isChecked());
+    }
+
+    @Test
+    public void testUpdateState_vibrateOff() {
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.shouldVibrate()).thenReturn(false);
+        mController.onResume(new NotificationBackend.AppRow(), channel, null, null, null, null);
+
+        RestrictedSwitchPreference pref =
+                new RestrictedSwitchPreference(RuntimeEnvironment.application);
+        mController.updateState(pref);
+        assertFalse(pref.isChecked());
+    }
+
+    @Test
+    public void testOnPreferenceChange_on() {
+        NotificationChannel channel =
+                new NotificationChannel(DEFAULT_CHANNEL_ID, "a", IMPORTANCE_DEFAULT);
+        mController.onResume(new NotificationBackend.AppRow(), channel, null, null, null, null);
+
+        RestrictedSwitchPreference pref =
+                new RestrictedSwitchPreference(RuntimeEnvironment.application);
+        mController.updateState(pref);
+
+        mController.onPreferenceChange(pref, true);
+
+        assertTrue(channel.shouldVibrate());
+        verify(mBackend, times(1)).updateChannel(any(), anyInt(), any());
+    }
+
+    @Test
+    public void testOnPreferenceChange_off() {
+        NotificationChannel channel =
+                new NotificationChannel(DEFAULT_CHANNEL_ID, "a", IMPORTANCE_HIGH);
+        mController.onResume(new NotificationBackend.AppRow(), channel, null, null, null, null);
+
+        RestrictedSwitchPreference pref =
+                new RestrictedSwitchPreference(RuntimeEnvironment.application);
+        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(pref);
+        mController.displayPreference(mScreen);
+        mController.updateState(pref);
+
+        mController.onPreferenceChange(pref, false);
+
+        assertFalse(channel.shouldVibrate());
+        verify(mBackend, times(1)).updateChannel(any(), anyInt(), any());
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/app/VisibilityPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/app/VisibilityPreferenceControllerTest.java
new file mode 100644
index 0000000..2150c82
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/app/VisibilityPreferenceControllerTest.java
@@ -0,0 +1,363 @@
+/*
+ * 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.app;
+
+import static android.app.Notification.VISIBILITY_PRIVATE;
+import static android.app.NotificationChannel.DEFAULT_CHANNEL_ID;
+import static android.app.NotificationManager.IMPORTANCE_DEFAULT;
+import static android.app.NotificationManager.IMPORTANCE_MIN;
+import static android.app.NotificationManager.VISIBILITY_NO_OVERRIDE;
+import static android.app.admin.DevicePolicyManager.KEYGUARD_DISABLE_SECURE_NOTIFICATIONS;
+import static android.app.admin.DevicePolicyManager.KEYGUARD_DISABLE_UNREDACTED_NOTIFICATIONS;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyInt;
+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.Notification;
+import android.app.NotificationChannel;
+import android.app.NotificationManager;
+import android.app.admin.DevicePolicyManager;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.pm.UserInfo;
+import android.os.UserManager;
+import android.provider.Settings;
+
+import com.android.internal.widget.LockPatternUtils;
+import com.android.settings.RestrictedListPreference;
+import com.android.settings.notification.NotificationBackend;
+import com.android.settings.testutils.shadow.ShadowRestrictionUtils;
+import com.android.settingslib.RestrictedLockUtils;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Answers;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
+import org.robolectric.shadows.ShadowApplication;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(shadows = ShadowRestrictionUtils.class)
+public class VisibilityPreferenceControllerTest {
+
+    private Context mContext;
+    @Mock
+    private NotificationBackend mBackend;
+    @Mock
+    private NotificationManager mNm;
+    @Mock
+    private LockPatternUtils mLockUtils;
+    @Mock
+    private UserManager mUm;
+    @Mock
+    private DevicePolicyManager mDm;
+    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
+
+    private VisibilityPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        ShadowApplication shadowApplication = ShadowApplication.getInstance();
+        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNm);
+        shadowApplication.setSystemService(Context.USER_SERVICE, mUm);
+        shadowApplication.setSystemService(Context.DEVICE_POLICY_SERVICE, mDm);
+        mContext = RuntimeEnvironment.application;
+        mController = spy(new VisibilityPreferenceController(mContext, mLockUtils, mBackend));
+
+        // by default the lockscreen is secure
+        when(mLockUtils.isSecure(anyInt())).thenReturn(true);
+        // and notifications are visible in redacted form
+        Settings.Secure.putInt(mContext.getContentResolver(),
+                Settings.Secure.LOCK_SCREEN_SHOW_NOTIFICATIONS, 1);
+        Settings.Secure.putInt(mContext.getContentResolver(),
+                Settings.Secure.LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS, 1);
+        // and not restricted
+        ShadowRestrictionUtils.setRestricted(false);
+        // with no managed profile
+        UserInfo userInfo = new UserInfo();
+        when(mUm.getUserInfo(anyInt())).thenReturn(userInfo);
+    }
+
+    @Test
+    public void testNoCrashIfNoOnResume() {
+        mController.isAvailable();
+        mController.updateState(mock(RestrictedListPreference.class));
+        mController.onPreferenceChange(mock(RestrictedListPreference.class), true);
+    }
+
+    @Test
+    public void testIsAvailable_notSecure() {
+        when(mLockUtils.isSecure(anyInt())).thenReturn(false);
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = new NotificationChannel("", "", IMPORTANCE_DEFAULT);
+        mController.onResume(appRow, channel, null, null, null, null);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable_notIfNotImportant() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = new NotificationChannel("", "", IMPORTANCE_MIN);
+        mController.onResume(appRow, channel, null, null, null, null);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void testIsAvailable() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel =
+                new NotificationChannel(DEFAULT_CHANNEL_ID, "", IMPORTANCE_DEFAULT);
+        mController.onResume(appRow, channel, null, null, null, null);
+        assertTrue(mController.isAvailable());
+
+        channel = new NotificationChannel("", "", IMPORTANCE_DEFAULT);
+        mController.onResume(appRow, channel, null, null, null, null);
+        assertTrue(mController.isAvailable());
+    }
+
+    @Test
+    public void testUpdateState_disabledByAdmin_disableSecure() {
+        ShadowRestrictionUtils.setRestricted(true);
+        UserInfo userInfo = new UserInfo(2, "user 2", UserInfo.FLAG_MANAGED_PROFILE);
+        when(mUm.getUserInfo(anyInt())).thenReturn(userInfo);
+        List<ComponentName> components = new ArrayList<>();
+        components.add(new ComponentName("", ""));
+        when(mDm.getActiveAdminsAsUser(anyInt())).thenReturn(components);
+        when(mDm.getKeyguardDisabledFeatures(any(), anyInt()))
+                .thenReturn(KEYGUARD_DISABLE_SECURE_NOTIFICATIONS);
+
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getId()).thenReturn("something");
+        mController.onResume(new NotificationBackend.AppRow(), channel, null, null, null, mock(
+                RestrictedLockUtils.EnforcedAdmin.class));
+
+        RestrictedListPreference pref = mock(RestrictedListPreference.class);
+        mController.updateState(pref);
+
+        verify(pref, times(2)).addRestrictedItem(any());
+    }
+
+    @Test
+    public void testUpdateState_disabledByAdmin_disableUnredacted() {
+        ShadowRestrictionUtils.setRestricted(true);
+        UserInfo userInfo = new UserInfo(2, "user 2", UserInfo.FLAG_MANAGED_PROFILE);
+        when(mUm.getUserInfo(anyInt())).thenReturn(userInfo);
+        List<ComponentName> components = new ArrayList<>();
+        components.add(new ComponentName("", ""));
+        when(mDm.getActiveAdminsAsUser(anyInt())).thenReturn(components);
+        when(mDm.getKeyguardDisabledFeatures(any(), anyInt()))
+                .thenReturn(KEYGUARD_DISABLE_UNREDACTED_NOTIFICATIONS);
+
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getId()).thenReturn("something");
+        mController.onResume(new NotificationBackend.AppRow(), channel, null, null, null, mock(
+                RestrictedLockUtils.EnforcedAdmin.class));
+
+        RestrictedListPreference pref = mock(RestrictedListPreference.class);
+        mController.updateState(pref);
+
+        verify(pref, times(1)).addRestrictedItem(any());
+    }
+
+    @Test
+    public void testUpdateState_noLockScreenNotificationsGlobally() {
+        Settings.Secure.putInt(mContext.getContentResolver(),
+                Settings.Secure.LOCK_SCREEN_SHOW_NOTIFICATIONS, 0);
+
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = mock(NotificationChannel.class);
+        mController.onResume(appRow, channel, null, null, null, null);
+
+        RestrictedListPreference pref = mock(RestrictedListPreference.class);
+        mController.updateState(pref);
+
+        ArgumentCaptor<CharSequence[]> argumentCaptor =
+                ArgumentCaptor.forClass(CharSequence[].class);
+        verify(pref, times(1)).setEntryValues(argumentCaptor.capture());
+        assertFalse(toStringList(argumentCaptor.getValue())
+                .contains(String.valueOf(VISIBILITY_NO_OVERRIDE)));
+        assertFalse(toStringList(argumentCaptor.getValue())
+                .contains(String.valueOf(VISIBILITY_PRIVATE)));
+    }
+
+    @Test
+    public void testUpdateState_noLockScreenNotificationsGloballyInProfile() {
+        final int primaryUserId = 2;
+        final UserInfo primaryUserInfo = new UserInfo(primaryUserId, "user 2", 0);
+        when(mUm.getProfileParent(anyInt())).thenReturn(primaryUserInfo);
+
+        Settings.Secure.putIntForUser(mContext.getContentResolver(),
+                Settings.Secure.LOCK_SCREEN_SHOW_NOTIFICATIONS, 0, primaryUserId);
+
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = mock(NotificationChannel.class);
+        mController.onResume(appRow, channel, null, null, null, null);
+
+        RestrictedListPreference pref = mock(RestrictedListPreference.class);
+        mController.updateState(pref);
+
+        ArgumentCaptor<CharSequence[]> argumentCaptor =
+                ArgumentCaptor.forClass(CharSequence[].class);
+        verify(pref, times(1)).setEntryValues(argumentCaptor.capture());
+        assertFalse(toStringList(argumentCaptor.getValue())
+                .contains(String.valueOf(VISIBILITY_NO_OVERRIDE)));
+        assertFalse(toStringList(argumentCaptor.getValue())
+                .contains(String.valueOf(VISIBILITY_PRIVATE)));
+    }
+
+    @Test
+    public void testUpdateState_noPrivateLockScreenNotificationsGlobally() {
+        Settings.Secure.putInt(mContext.getContentResolver(),
+                Settings.Secure.LOCK_SCREEN_SHOW_NOTIFICATIONS, 1);
+        Settings.Secure.putInt(mContext.getContentResolver(),
+                Settings.Secure.LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS, 0);
+
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = mock(NotificationChannel.class);
+        mController.onResume(appRow, channel, null, null, null, null);
+
+        RestrictedListPreference pref = mock(RestrictedListPreference.class);
+        mController.updateState(pref);
+
+        ArgumentCaptor<CharSequence[]> argumentCaptor =
+                ArgumentCaptor.forClass(CharSequence[].class);
+        verify(pref, times(1)).setEntryValues(argumentCaptor.capture());
+        assertEquals(2, toStringList(argumentCaptor.getValue()).size());
+        assertFalse(toStringList(argumentCaptor.getValue())
+                .contains(String.valueOf(VISIBILITY_NO_OVERRIDE)));
+    }
+
+    @Test
+    public void testUpdateState_noGlobalRestriction() {
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = mock(NotificationChannel.class);
+        mController.onResume(appRow, channel, null, null, null, null);
+
+        RestrictedListPreference pref = mock(RestrictedListPreference.class);
+        mController.updateState(pref);
+
+        ArgumentCaptor<CharSequence[]> argumentCaptor =
+                ArgumentCaptor.forClass(CharSequence[].class);
+        verify(pref, times(1)).setEntryValues(argumentCaptor.capture());
+        List<String> values = toStringList(argumentCaptor.getValue());
+        assertEquals(3, values.size());
+        assertTrue(values.contains(String.valueOf(VISIBILITY_NO_OVERRIDE)));
+        assertTrue(values.contains(String.valueOf(VISIBILITY_PRIVATE)));
+        assertTrue(values.contains(String.valueOf(Notification.VISIBILITY_SECRET)));
+    }
+
+    private static List<String> toStringList(CharSequence[] charSequences) {
+        List<String> result = new ArrayList<>();
+        for (CharSequence charSequence : charSequences) {
+            result.add(charSequence.toString());
+        }
+        return result;
+    }
+
+    @Test
+    public void testUpdateState_noChannelOverride() {
+        Settings.Secure.putInt(mContext.getContentResolver(),
+                Settings.Secure.LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS, 0);
+
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getLockscreenVisibility()).thenReturn(VISIBILITY_NO_OVERRIDE);
+        mController.onResume(appRow, channel, null, null, null, null);
+
+        RestrictedListPreference pref = mock(RestrictedListPreference.class);
+        mController.updateState(pref);
+
+        ArgumentCaptor<String> argumentCaptor = ArgumentCaptor.forClass(String.class);
+        verify(pref, times(1)).setValue(argumentCaptor.capture());
+
+        assertEquals(String.valueOf(VISIBILITY_PRIVATE), argumentCaptor.getValue());
+    }
+
+    @Test
+    public void testUpdateState_channelOverride() {
+        Settings.Secure.putInt(mContext.getContentResolver(),
+                Settings.Secure.LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS, 0);
+
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = mock(NotificationChannel.class);
+        when(channel.getLockscreenVisibility()).thenReturn(Notification.VISIBILITY_SECRET);
+        mController.onResume(appRow, channel, null, null, null, null);
+
+        RestrictedListPreference pref = mock(RestrictedListPreference.class);
+        mController.updateState(pref);
+
+        ArgumentCaptor<String> argumentCaptor = ArgumentCaptor.forClass(String.class);
+        verify(pref, times(1)).setValue(argumentCaptor.capture());
+
+        assertEquals(String.valueOf(Notification.VISIBILITY_SECRET), argumentCaptor.getValue());
+    }
+
+    @Test
+    public void testOnPreferenceChange_noOverride() {
+        Settings.Secure.putInt(mContext.getContentResolver(),
+                Settings.Secure.LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS, 0);
+
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = new NotificationChannel("", "", 4);
+        channel.setLockscreenVisibility(Notification.VISIBILITY_SECRET);
+        mController.onResume(appRow, channel, null, null, null, null);
+
+        RestrictedListPreference pref = mock(RestrictedListPreference.class);
+        mController.updateState(pref);
+
+        mController.onPreferenceChange(pref, String.valueOf(VISIBILITY_PRIVATE));
+
+        assertEquals(VISIBILITY_NO_OVERRIDE, channel.getLockscreenVisibility());
+        verify(mBackend, times(1)).updateChannel(any(), anyInt(), any());
+    }
+
+    @Test
+    public void testOnPreferenceChange_override() {
+        Settings.Secure.putInt(mContext.getContentResolver(),
+                Settings.Secure.LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS, 0);
+
+        NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
+        NotificationChannel channel = new NotificationChannel("", "", 4);
+        channel.setLockscreenVisibility(VISIBILITY_NO_OVERRIDE);
+        mController.onResume(appRow, channel, null, null, null, null);
+
+        RestrictedListPreference pref = mock(RestrictedListPreference.class);
+        mController.updateState(pref);
+
+        mController.onPreferenceChange(pref, String.valueOf(Notification.VISIBILITY_SECRET));
+
+        assertEquals(Notification.VISIBILITY_SECRET, channel.getLockscreenVisibility());
+        verify(mBackend, times(1)).updateChannel(any(), anyInt(), any());
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/zen/ZenCustomRadioButtonPreferenceTest.java b/tests/robotests/src/com/android/settings/notification/zen/ZenCustomRadioButtonPreferenceTest.java
new file mode 100644
index 0000000..f6e51cd
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/zen/ZenCustomRadioButtonPreferenceTest.java
@@ -0,0 +1,110 @@
+/*
+ * 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.notification.zen;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.widget.RadioButton;
+
+import androidx.preference.PreferenceViewHolder;
+
+import com.android.settings.R;
+import com.android.settings.notification.zen.ZenCustomRadioButtonPreference;
+
+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 ZenCustomRadioButtonPreferenceTest {
+
+    private Context mContext;
+
+    @Before
+    public void setUp() {
+        mContext = RuntimeEnvironment.application;
+    }
+
+    @Test
+    public void createNewPreference_shouldSetLayout() {
+        final ZenCustomRadioButtonPreference preference
+                = new ZenCustomRadioButtonPreference(mContext);
+
+        assertThat(preference.getLayoutResource()).isEqualTo(R.layout.preference_two_target_radio);
+        assertThat(preference.getWidgetLayoutResource())
+                .isEqualTo(R.layout.preference_widget_gear);
+    }
+
+    @Test
+    public void setChecked_shouldUpdateButtonCheckedState() {
+        final ZenCustomRadioButtonPreference preference =
+                new ZenCustomRadioButtonPreference(mContext);
+        final PreferenceViewHolder holder = PreferenceViewHolder.createInstanceForTests(
+                LayoutInflater.from(mContext).inflate(
+                  R.layout.preference_two_target_radio, null));
+        final RadioButton toggle = (RadioButton) holder.findViewById(android.R.id.checkbox);
+        preference.onBindViewHolder(holder);
+
+        preference.setChecked(true);
+        assertThat(toggle.isChecked()).isTrue();
+
+        preference.setChecked(false);
+        assertThat(toggle.isChecked()).isFalse();
+    }
+
+    @Test
+    public void clickRadioButton_shouldNotifyRadioButtonClicked() {
+        final ZenCustomRadioButtonPreference preference
+                = new ZenCustomRadioButtonPreference(mContext);
+        final PreferenceViewHolder holder = PreferenceViewHolder.createInstanceForTests(
+                LayoutInflater.from(mContext).inflate(R.layout.preference_two_target_radio, null));
+        final View toggle = holder.findViewById(R.id.checkbox_frame);
+
+        ZenCustomRadioButtonPreference.OnRadioButtonClickListener l = mock(
+                ZenCustomRadioButtonPreference.OnRadioButtonClickListener.class);
+        preference.setOnRadioButtonClickListener(l);
+        preference.onBindViewHolder(holder);
+
+        toggle.performClick();
+        verify(l).onRadioButtonClick(preference);
+    }
+
+    @Test
+    public void clickWidgetView_shouldNotifyWidgetClicked() {
+        final ZenCustomRadioButtonPreference preference =
+                new ZenCustomRadioButtonPreference(mContext);
+        final PreferenceViewHolder holder = PreferenceViewHolder.createInstanceForTests(
+                LayoutInflater.from(mContext).inflate(R.layout.preference_two_target_radio, null));
+        final View widgetView = holder.findViewById(android.R.id.widget_frame);
+
+        ZenCustomRadioButtonPreference.OnGearClickListener l = mock(
+                ZenCustomRadioButtonPreference.OnGearClickListener.class);
+        preference.setOnGearClickListener(l);
+        preference.onBindViewHolder(holder);
+
+        widgetView.performClick();
+        verify(l).onGearClick(preference);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/zen/ZenFooterPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/zen/ZenFooterPreferenceControllerTest.java
new file mode 100644
index 0000000..90f56f4
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/zen/ZenFooterPreferenceControllerTest.java
@@ -0,0 +1,143 @@
+/*
+ * 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.notification.zen;
+
+import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_AMBIENT;
+import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_BADGE;
+import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_FULL_SCREEN_INTENT;
+import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_LIGHTS;
+import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_NOTIFICATION_LIST;
+import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_PEEK;
+import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_SCREEN_OFF;
+import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_SCREEN_ON;
+import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_STATUS_BAR;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.NotificationManager;
+import android.content.Context;
+
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settings.notification.zen.ZenFooterPreferenceController;
+import com.android.settings.notification.zen.ZenModeBackend;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+import com.android.settingslib.widget.FooterPreference;
+
+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 org.robolectric.shadows.ShadowApplication;
+import org.robolectric.util.ReflectionHelpers;
+
+@RunWith(RobolectricTestRunner.class)
+public class ZenFooterPreferenceControllerTest {
+    private ZenFooterPreferenceController mController;
+
+    @Mock
+    private ZenModeBackend mBackend;
+    @Mock
+    private FooterPreference mockPref;
+    private Context mContext;
+    @Mock
+    private PreferenceScreen mScreen;
+    @Mock
+    NotificationManager mNotificationManager;
+
+    private static final String PREF_KEY = "main_pref";
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+        ShadowApplication shadowApplication = ShadowApplication.getInstance();
+        mContext = RuntimeEnvironment.application;
+        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
+        when(mNotificationManager.getNotificationPolicy()).thenReturn(
+                mock(NotificationManager.Policy.class));
+        mController = new ZenFooterPreferenceController(
+                mContext, mock(Lifecycle.class), PREF_KEY);
+        ReflectionHelpers.setField(mController, "mBackend", mBackend);
+
+        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mockPref);
+    }
+
+    @Test
+    public void isAvailable_noVisEffects() {
+        mBackend.mPolicy = new NotificationManager.Policy(0, 0, 0, 0);
+        assertThat(mController.isAvailable()).isTrue();
+    }
+
+    @Test
+    public void isAvailable_someVisEffects() {
+        mBackend.mPolicy = new NotificationManager.Policy(0, 0, 0, 2);
+        assertThat(mController.isAvailable()).isFalse();
+    }
+
+    @Test
+    public void isAvailable_allVisEffects() {
+        int allSuppressed = SUPPRESSED_EFFECT_SCREEN_OFF
+                | SUPPRESSED_EFFECT_SCREEN_ON
+                | SUPPRESSED_EFFECT_FULL_SCREEN_INTENT
+                | SUPPRESSED_EFFECT_AMBIENT
+                | SUPPRESSED_EFFECT_STATUS_BAR
+                | SUPPRESSED_EFFECT_BADGE
+                | SUPPRESSED_EFFECT_LIGHTS
+                | SUPPRESSED_EFFECT_PEEK
+                | SUPPRESSED_EFFECT_NOTIFICATION_LIST;
+        mBackend.mPolicy = new NotificationManager.Policy(0, 0, 0, allSuppressed);
+        assertThat(mController.isAvailable()).isTrue();
+    }
+
+    @Test
+    public void updateSummary_noVisEffects() {
+        mBackend.mPolicy = new NotificationManager.Policy(0, 0, 0, 0);
+        mController.updateState(mockPref);
+        verify(mockPref).setTitle(R.string.zen_mode_restrict_notifications_mute_footer);
+    }
+
+    @Test
+    public void getSummary_someVisEffects() {
+        mBackend.mPolicy = new NotificationManager.Policy(0, 0, 0, 2);
+        mController.updateState(mockPref);
+        verify(mockPref).setTitle(null);
+    }
+
+    @Test
+    public void getSummary_allVisEffects() {
+        int allSuppressed = SUPPRESSED_EFFECT_SCREEN_OFF
+                | SUPPRESSED_EFFECT_SCREEN_ON
+                | SUPPRESSED_EFFECT_FULL_SCREEN_INTENT
+                | SUPPRESSED_EFFECT_AMBIENT
+                | SUPPRESSED_EFFECT_STATUS_BAR
+                | SUPPRESSED_EFFECT_BADGE
+                | SUPPRESSED_EFFECT_LIGHTS
+                | SUPPRESSED_EFFECT_PEEK
+                | SUPPRESSED_EFFECT_NOTIFICATION_LIST;
+        mBackend.mPolicy = new NotificationManager.Policy(0, 0, 0, allSuppressed);
+        mController.updateState(mockPref);
+        verify(mockPref).setTitle(R.string.zen_mode_restrict_notifications_hide_footer);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/zen/ZenModeAlarmsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/zen/ZenModeAlarmsPreferenceControllerTest.java
new file mode 100644
index 0000000..7289a5a
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/zen/ZenModeAlarmsPreferenceControllerTest.java
@@ -0,0 +1,141 @@
+/*
+ * 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.zen;
+
+import static android.provider.Settings.Global.ZEN_MODE;
+import static android.provider.Settings.Global.ZEN_MODE_ALARMS;
+import static android.provider.Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS;
+import static android.provider.Settings.Global.ZEN_MODE_NO_INTERRUPTIONS;
+
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.NotificationManager;
+import android.content.ContentResolver;
+import android.content.Context;
+import android.provider.Settings;
+
+import com.android.settings.notification.zen.ZenModeAlarmsPreferenceController;
+import com.android.settings.notification.zen.ZenModeBackend;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+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 org.robolectric.shadows.ShadowApplication;
+import org.robolectric.util.ReflectionHelpers;
+
+import androidx.preference.PreferenceScreen;
+import androidx.preference.SwitchPreference;
+
+@RunWith(RobolectricTestRunner.class)
+public class ZenModeAlarmsPreferenceControllerTest {
+
+    private static final boolean ALARMS_SETTINGS = true;
+
+    private ZenModeAlarmsPreferenceController mController;
+
+    @Mock
+    private ZenModeBackend mBackend;
+    @Mock
+    private NotificationManager mNotificationManager;
+    @Mock
+    private SwitchPreference mockPref;
+    @Mock
+    private NotificationManager.Policy mPolicy;
+    @Mock
+    private PreferenceScreen mPreferenceScreen;
+
+    private Context mContext;
+    private ContentResolver mContentResolver;
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+        ShadowApplication shadowApplication = ShadowApplication.getInstance();
+        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
+
+        mContext = RuntimeEnvironment.application;
+        mContentResolver = RuntimeEnvironment.application.getContentResolver();
+        when(mNotificationManager.getNotificationPolicy()).thenReturn(mPolicy);
+        mController = new ZenModeAlarmsPreferenceController(mContext, mock(Lifecycle.class),
+                "zen_mode_behavior_alarms");
+        ReflectionHelpers.setField(mController, "mBackend", mBackend);
+
+        when(mPreferenceScreen.findPreference(mController.getPreferenceKey()))
+                .thenReturn(mockPref);
+        mController.displayPreference(mPreferenceScreen);
+    }
+
+    @Test
+    public void updateState_TotalSilence() {
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_NO_INTERRUPTIONS);
+
+        final SwitchPreference mockPref = mock(SwitchPreference.class);
+        mController.updateState(mockPref);
+
+        verify(mockPref).setEnabled(false);
+        verify(mockPref).setChecked(false);
+    }
+
+    @Test
+    public void updateState_AlarmsOnly() {
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_ALARMS);
+
+        final SwitchPreference mockPref = mock(SwitchPreference.class);
+        mController.updateState(mockPref);
+
+        verify(mockPref).setEnabled(false);
+        verify(mockPref).setChecked(true);
+    }
+
+    @Test
+    public void updateState_Priority() {
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_IMPORTANT_INTERRUPTIONS);
+
+        when(mBackend.isPriorityCategoryEnabled(
+                NotificationManager.Policy.PRIORITY_CATEGORY_ALARMS)).thenReturn(ALARMS_SETTINGS);
+
+        mController.updateState(mockPref);
+
+        verify(mockPref).setEnabled(true);
+        verify(mockPref).setChecked(ALARMS_SETTINGS);
+    }
+
+    @Test
+    public void onPreferenceChanged_EnableAlarms() {
+        boolean allowAlarms = true;
+        mController.onPreferenceChange(mockPref, allowAlarms);
+
+        verify(mBackend)
+                .saveSoundPolicy(NotificationManager.Policy.PRIORITY_CATEGORY_ALARMS, allowAlarms);
+    }
+
+    @Test
+    public void onPreferenceChanged_DisableAlarms() {
+        boolean allowAlarms = false;
+        mController.onPreferenceChange(mockPref, allowAlarms);
+
+        verify(mBackend)
+                .saveSoundPolicy(NotificationManager.Policy.PRIORITY_CATEGORY_ALARMS, allowAlarms);
+    }
+}
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/notification/zen/ZenModeAllBypassingAppsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/zen/ZenModeAllBypassingAppsPreferenceControllerTest.java
new file mode 100644
index 0000000..c2d54f4
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/zen/ZenModeAllBypassingAppsPreferenceControllerTest.java
@@ -0,0 +1,115 @@
+/*
+ * 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.notification.zen;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.NotificationChannel;
+import android.content.Context;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.ParceledListSlice;
+
+import com.android.settings.notification.NotificationBackend;
+import com.android.settings.notification.zen.ZenModeAllBypassingAppsPreferenceController;
+import com.android.settingslib.applications.ApplicationsState;
+
+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 org.robolectric.util.ReflectionHelpers;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import androidx.fragment.app.Fragment;
+import androidx.preference.PreferenceScreen;
+
+@RunWith(RobolectricTestRunner.class)
+public class ZenModeAllBypassingAppsPreferenceControllerTest {
+    private ZenModeAllBypassingAppsPreferenceController mController;
+
+    private Context mContext;
+    @Mock
+    private NotificationBackend mBackend;
+    @Mock
+    private PreferenceScreen mPreferenceScreen;
+    @Mock
+    private ApplicationsState mApplicationState;
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+        mContext = RuntimeEnvironment.application;
+
+        mController = new ZenModeAllBypassingAppsPreferenceController(
+                mContext, null, mock(Fragment.class));
+        mController.mPreferenceScreen = mPreferenceScreen;
+        mController.mApplicationsState = mApplicationState;
+        mController.mPrefContext = mContext;
+        ReflectionHelpers.setField(mController, "mNotificationBackend", mBackend);
+    }
+
+    @Test
+    public void testIsAvailable() {
+        assertThat(mController.isAvailable()).isTrue();
+    }
+
+    @Test
+    public void testUpdateNotificationChannelList() {
+        ApplicationsState.AppEntry entry = mock(ApplicationsState.AppEntry.class);
+        entry.info = new ApplicationInfo();
+        entry.info.packageName = "test";
+        entry.info.uid = 0;
+
+        List<ApplicationsState.AppEntry> appEntries = new ArrayList<>();
+        appEntries.add(entry);
+
+        List<NotificationChannel> channelsBypassing = new ArrayList<>();
+        channelsBypassing.add(mock(NotificationChannel.class));
+        channelsBypassing.add(mock(NotificationChannel.class));
+        channelsBypassing.add(mock(NotificationChannel.class));
+
+        when(mBackend.getNotificationChannelsBypassingDnd(entry.info.packageName,
+                entry.info.uid)).thenReturn(new ParceledListSlice<>(channelsBypassing));
+
+        mController.updateNotificationChannelList(appEntries);
+        verify(mPreferenceScreen, times(3)).addPreference(any());
+    }
+
+    @Test
+    public void testUpdateNotificationChannelList_nullChannels() {
+        mController.updateNotificationChannelList(null);
+        verify(mPreferenceScreen, never()).addPreference(any());
+    }
+
+    @Test
+    public void testUpdateNotificationChannelList_emptyChannelsList() {
+        mController.updateNotificationChannelList(new ArrayList<>());
+        verify(mPreferenceScreen, never()).addPreference(any());
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/zen/ZenModeAutomaticRulesPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/zen/ZenModeAutomaticRulesPreferenceControllerTest.java
new file mode 100644
index 0000000..b2a54ca
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/zen/ZenModeAutomaticRulesPreferenceControllerTest.java
@@ -0,0 +1,159 @@
+/*
+ * 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.zen;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.AutomaticZenRule;
+import android.content.Context;
+import android.provider.Settings;
+
+import androidx.fragment.app.Fragment;
+import androidx.preference.PreferenceCategory;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.notification.zen.ZenModeAutomaticRulesPreferenceController;
+import com.android.settings.notification.zen.ZenModeBackend;
+import com.android.settings.notification.zen.ZenRulePreference;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.mockito.internal.util.reflection.FieldSetter;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.util.ReflectionHelpers;
+
+import java.util.HashMap;
+import java.util.Map;
+
+@RunWith(RobolectricTestRunner.class)
+public class ZenModeAutomaticRulesPreferenceControllerTest {
+
+    private ZenModeAutomaticRulesPreferenceController mController;
+    @Mock
+    private ZenModeBackend mBackend;
+    @Mock
+    private PreferenceCategory mockPref;
+    @Mock
+    private PreferenceScreen mPreferenceScreen;
+    @Mock
+    private ZenRulePreference mZenRulePreference;
+    private Context mContext;
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+        mContext = RuntimeEnvironment.application;
+        mController = spy(new ZenModeAutomaticRulesPreferenceController(mContext, mock(Fragment.class),
+            null));
+        ReflectionHelpers.setField(mController, "mBackend", mBackend);
+        when(mPreferenceScreen.findPreference(mController.getPreferenceKey())).thenReturn(
+            mockPref);
+        mController.displayPreference(mPreferenceScreen);
+        doReturn(mZenRulePreference).when(mController).createZenRulePreference(any());
+    }
+
+    @Test
+    public void testUpdateState_clearsPreferencesWhenAddingNewPreferences() {
+        final int NUM_RULES = 3;
+        Map<String, AutomaticZenRule> rMap = new HashMap<>();
+
+        String ruleId1 = "test1_id";
+        String ruleId2 = "test2_id";
+        String ruleId3 = "test3_id";
+
+        AutomaticZenRule autoRule1 = new AutomaticZenRule("test_rule_1", null, null,
+            null, null, Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS, true, 10);
+        AutomaticZenRule autoRule2 = new AutomaticZenRule("test_rule_2", null, null,
+            null, null, Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS, true, 20);
+        AutomaticZenRule autoRule3 = new AutomaticZenRule("test_rule_3", null, null,
+            null, null, Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS, true, 30);
+
+        rMap.put(ruleId1, autoRule1);
+        rMap.put(ruleId2, autoRule2);
+        rMap.put(ruleId3, autoRule3);
+
+        // should add 3 new preferences to mockPref
+        mockGetAutomaticZenRules(NUM_RULES, rMap);
+        mController.updateState(mockPref);
+        verify(mockPref, times(1)).removeAll();
+        verify(mockPref, times(NUM_RULES)).addPreference(any());
+    }
+
+    @Test
+    public void testUpdateState_clearsPreferencesWhenRemovingPreferences(){
+        final int NUM_RULES = 2;
+        Map<String, AutomaticZenRule> rMap = new HashMap<>();
+
+        String ruleId1 = "test1_id";
+        String ruleId2 = "test2_id";
+
+        AutomaticZenRule autoRule1 = new AutomaticZenRule("test_rule_1", null, null,
+            null, null, Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS, true, 10);
+        AutomaticZenRule autoRule2 = new AutomaticZenRule("test_rule_2", null, null,
+            null, null, Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS, true, 20);
+
+        rMap.put(ruleId1, autoRule1);
+        rMap.put(ruleId2, autoRule2);
+
+        // update state should re-add all preferences since a preference was deleted
+        when(mockPref.getPreferenceCount()).thenReturn(NUM_RULES + 2);
+        mockGetAutomaticZenRules(NUM_RULES, rMap);
+        mController.updateState(mockPref);
+        verify(mockPref, times(1)).removeAll();
+        verify(mockPref, times(NUM_RULES)).addPreference(any());
+    }
+
+    @Test
+    public void testUpdateState_updateEnableState() throws NoSuchFieldException {
+        final int NUM_RULES = 1;
+        Map<String, AutomaticZenRule> rMap = new HashMap<>();
+        String testId = "test1_id";
+        AutomaticZenRule rule = new AutomaticZenRule("rule_name", null, null,
+            null, null, Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS, true, 10);
+        rMap.put(testId, rule);
+
+        when(mockPref.getPreferenceCount()).thenReturn(NUM_RULES);
+        when(mockPref.getPreference(anyInt())).thenReturn(mZenRulePreference);
+
+        // update state should NOT re-add all the preferences, should only update enable state
+        rule.setEnabled(false);
+        rMap.put(testId, rule);
+        mockGetAutomaticZenRules(NUM_RULES, rMap);
+        FieldSetter.setField(mZenRulePreference, ZenRulePreference.class.getDeclaredField("mId"), testId);
+        mController.updateState(mockPref);
+        verify(mZenRulePreference, times(1)).updatePreference(any());
+        verify(mController, never()).reloadAllRules(any());
+    }
+
+    private void mockGetAutomaticZenRules(int numRules, Map<String, AutomaticZenRule> rules) {
+        Map.Entry<String, AutomaticZenRule>[] arr = new Map.Entry[numRules];
+        rules.entrySet().toArray(arr);
+        when(mBackend.getAutomaticZenRules()).thenReturn(arr);
+    }
+}
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/notification/zen/ZenModeBackendTest.java b/tests/robotests/src/com/android/settings/notification/zen/ZenModeBackendTest.java
new file mode 100644
index 0000000..247d68e
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/zen/ZenModeBackendTest.java
@@ -0,0 +1,267 @@
+package com.android.settings.notification.zen;
+
+import static android.app.NotificationManager.Policy.CONVERSATION_SENDERS_ANYONE;
+import static android.app.NotificationManager.Policy.CONVERSATION_SENDERS_IMPORTANT;
+import static android.app.NotificationManager.Policy.CONVERSATION_SENDERS_NONE;
+import static android.app.NotificationManager.Policy.PRIORITY_CATEGORY_ALARMS;
+import static android.app.NotificationManager.Policy.PRIORITY_CATEGORY_CALLS;
+import static android.app.NotificationManager.Policy.PRIORITY_CATEGORY_CONVERSATIONS;
+import static android.app.NotificationManager.Policy.PRIORITY_CATEGORY_MESSAGES;
+import static android.app.NotificationManager.Policy.PRIORITY_SENDERS_ANY;
+import static android.app.NotificationManager.Policy.PRIORITY_SENDERS_CONTACTS;
+import static android.app.NotificationManager.Policy.PRIORITY_SENDERS_STARRED;
+import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_AMBIENT;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static junit.framework.Assert.assertEquals;
+
+import static org.mockito.Mockito.doAnswer;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.AutomaticZenRule;
+import android.app.NotificationManager;
+import android.app.NotificationManager.Policy;
+import android.content.Context;
+import android.database.Cursor;
+import android.provider.Settings;
+import android.service.notification.ZenModeConfig;
+
+import com.android.settings.R;
+
+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.mockito.invocation.InvocationOnMock;
+import org.mockito.stubbing.Answer;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.shadows.ShadowApplication;
+
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@RunWith(RobolectricTestRunner.class)
+public class ZenModeBackendTest {
+    @Mock
+    private NotificationManager mNotificationManager;
+
+    private static final String GENERIC_RULE_NAME = "test";
+    private static final String DEFAULT_ID_1 = ZenModeConfig.EVENTS_DEFAULT_RULE_ID;
+    private static final String DEFAULT_ID_2 = ZenModeConfig.EVERY_NIGHT_DEFAULT_RULE_ID;
+
+    private Context mContext;
+    private ZenModeBackend mBackend;
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+        ShadowApplication shadowApplication = ShadowApplication.getInstance();
+        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
+
+        mContext = RuntimeEnvironment.application;
+        mBackend = new ZenModeBackend(mContext);
+    }
+
+    private Cursor createMockCursor(int size) {
+        Cursor mockCursor = mock(Cursor.class);
+        when(mockCursor.moveToFirst()).thenReturn(true);
+
+        doAnswer(new Answer<Boolean>() {
+            int count = 0;
+
+            @Override
+            public Boolean answer(InvocationOnMock invocation) throws Throwable {
+                if (count < size) {
+                    count++;
+                    return true;
+                }
+                return false;
+            }
+
+        }).when(mockCursor).moveToNext();
+
+        return mockCursor;
+    }
+
+    private Map.Entry<String, AutomaticZenRule>[] populateAutoZenRulesAscendingCreationTime(
+            int numRules, boolean addDefaultRules) {
+        Map<String, AutomaticZenRule> ruleMap = new HashMap<>();
+
+        for (int i = 0; i < numRules; i++) {
+            ruleMap.put(GENERIC_RULE_NAME + i, new AutomaticZenRule(GENERIC_RULE_NAME + i, null,
+                    null, null, null, Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS, true,
+                    i * 2));
+        }
+
+        if (addDefaultRules) {
+            ruleMap.put(DEFAULT_ID_1, new AutomaticZenRule("DEFAULT_1_NAME", null, null, null,
+                    null, Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS, true, 20));
+            ruleMap.put(DEFAULT_ID_2, new AutomaticZenRule("DEFAULT_2_NAME", null, null, null,
+                    null, Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS, true, 10));
+        }
+
+        Map.Entry<String, AutomaticZenRule>[] toReturn = new Map.Entry[ruleMap.size()];
+        ruleMap.entrySet().toArray(toReturn);
+        return toReturn;
+    }
+
+    private Map.Entry<String, AutomaticZenRule>[] populateAutoZenRulesDescendingCreationTime(
+            int numRules, boolean addDefaultRules) {
+        Map<String, AutomaticZenRule> ruleMap = new HashMap<>();
+
+        for (int i = 0; i < numRules; i++) {
+            ruleMap.put(GENERIC_RULE_NAME + i, new AutomaticZenRule(GENERIC_RULE_NAME + i, null,
+                    null, null, null, Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS, true,
+                    numRules - i));
+        }
+
+        if (addDefaultRules) {
+            ruleMap.put(DEFAULT_ID_1, new AutomaticZenRule("DEFAULT_1_NAME", null, null, null,
+                    null, Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS, true, 10));
+            ruleMap.put(DEFAULT_ID_2, new AutomaticZenRule("DEFAULT_2_NAME", null, null, null,
+                    null, Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS, true, 20));
+        }
+
+        Map.Entry<String, AutomaticZenRule>[] toReturn = new Map.Entry[ruleMap.size()];
+        ruleMap.entrySet().toArray(toReturn);
+        return toReturn;
+    }
+
+    @Test
+    public void updateState_checkRuleOrderingDescending() {
+        final int NUM_RULES = 4;
+        Map.Entry<String, AutomaticZenRule>[] rules = populateAutoZenRulesDescendingCreationTime(
+                NUM_RULES, false);
+        Arrays.sort(rules, ZenModeBackend.RULE_COMPARATOR);
+
+        // check ordering, most recent should be at the end
+        for (int i = 0; i < NUM_RULES; i++) {
+            assertEquals(GENERIC_RULE_NAME + (NUM_RULES - 1 - i), rules[i].getKey());
+        }
+    }
+
+    @Test
+    public void updateState_checkRuleOrderingAscending() {
+        final int NUM_RULES = 4;
+        Map.Entry<String, AutomaticZenRule>[] rules = populateAutoZenRulesAscendingCreationTime(
+                NUM_RULES, false);
+        Arrays.sort(rules, ZenModeBackend.RULE_COMPARATOR);
+
+        // check ordering, most recent should be at the end
+        for (int i = 0; i < NUM_RULES; i++) {
+            assertEquals(GENERIC_RULE_NAME + i, rules[i].getKey());
+        }
+    }
+
+    @Test
+    public void updateState_checkRuleOrderingDescending_withDefaultRules() {
+        final int NUM_RULES = 4;
+
+        Map.Entry<String, AutomaticZenRule>[] rules = populateAutoZenRulesDescendingCreationTime(NUM_RULES,
+                true);
+        Arrays.sort(rules, ZenModeBackend.RULE_COMPARATOR);
+
+        assertEquals(rules[0].getKey(), DEFAULT_ID_1);
+        assertEquals(rules[1].getKey(), DEFAULT_ID_2);
+        // NON-DEFAULT RULES check ordering, most recent at the bottom/end
+        for (int i = 0; i < NUM_RULES; i++) {
+            assertEquals(GENERIC_RULE_NAME + (NUM_RULES - 1 - i), rules[i + 2].getKey());
+        }
+    }
+
+    @Test
+    public void updateSummary_nullCursorValues() {
+        Cursor testCursorWithNullValues = createMockCursor(3);
+        when(testCursorWithNullValues.getString(0)).thenReturn(null);
+
+        // expected - no null values
+        List<String> contacts = mBackend.getStarredContacts(testCursorWithNullValues);
+        for (String contact : contacts) {
+            assertThat(contact).isNotNull();
+        }
+    }
+
+    @Test
+    public void saveConversationSenders_importantToNone() {
+        when(mNotificationManager.getNotificationPolicy()).thenReturn(
+                new Policy(PRIORITY_CATEGORY_CALLS | PRIORITY_CATEGORY_CONVERSATIONS
+                        | PRIORITY_CATEGORY_MESSAGES | PRIORITY_CATEGORY_ALARMS,
+                        PRIORITY_SENDERS_CONTACTS,
+                        PRIORITY_SENDERS_STARRED,
+                        SUPPRESSED_EFFECT_AMBIENT,
+                        CONVERSATION_SENDERS_IMPORTANT));
+        mBackend = new ZenModeBackend(mContext);
+
+        mBackend.saveConversationSenders(CONVERSATION_SENDERS_NONE);
+
+        ArgumentCaptor<Policy> captor = ArgumentCaptor.forClass(Policy.class);
+        verify(mNotificationManager, times(1)).setNotificationPolicy(captor.capture());
+
+        Policy expected = new Policy(
+                PRIORITY_CATEGORY_CALLS | PRIORITY_CATEGORY_MESSAGES | PRIORITY_CATEGORY_ALARMS,
+                PRIORITY_SENDERS_CONTACTS,
+                PRIORITY_SENDERS_STARRED,
+                SUPPRESSED_EFFECT_AMBIENT,
+                CONVERSATION_SENDERS_NONE);
+        assertEquals(expected, captor.getValue());
+    }
+
+    @Test
+    public void saveConversationSenders_noneToAll() {
+        when(mNotificationManager.getNotificationPolicy()).thenReturn(new Policy(
+                PRIORITY_CATEGORY_CALLS | PRIORITY_CATEGORY_MESSAGES | PRIORITY_CATEGORY_ALARMS,
+                PRIORITY_SENDERS_CONTACTS,
+                PRIORITY_SENDERS_STARRED,
+                SUPPRESSED_EFFECT_AMBIENT,
+                CONVERSATION_SENDERS_NONE));
+        mBackend = new ZenModeBackend(mContext);
+
+        mBackend.saveConversationSenders(CONVERSATION_SENDERS_ANYONE);
+
+        ArgumentCaptor<Policy> captor = ArgumentCaptor.forClass(Policy.class);
+        verify(mNotificationManager, times(1)).setNotificationPolicy(captor.capture());
+
+        Policy expected = new Policy(PRIORITY_CATEGORY_CONVERSATIONS
+                | PRIORITY_CATEGORY_CALLS | PRIORITY_CATEGORY_MESSAGES | PRIORITY_CATEGORY_ALARMS,
+                PRIORITY_SENDERS_CONTACTS,
+                PRIORITY_SENDERS_STARRED,
+                SUPPRESSED_EFFECT_AMBIENT,
+                CONVERSATION_SENDERS_ANYONE);
+        assertEquals(expected, captor.getValue());
+    }
+
+    @Test
+    public void saveSenders_doesNotChangeConversations() {
+        when(mNotificationManager.getNotificationPolicy()).thenReturn(
+                new Policy(PRIORITY_CATEGORY_CALLS | PRIORITY_CATEGORY_CONVERSATIONS
+                        | PRIORITY_CATEGORY_MESSAGES | PRIORITY_CATEGORY_ALARMS,
+                        PRIORITY_SENDERS_CONTACTS,
+                        PRIORITY_SENDERS_STARRED,
+                        SUPPRESSED_EFFECT_AMBIENT,
+                        CONVERSATION_SENDERS_ANYONE));
+        mBackend = new ZenModeBackend(mContext);
+
+        mBackend.saveSenders(PRIORITY_CATEGORY_CALLS, PRIORITY_SENDERS_ANY);
+
+        ArgumentCaptor<Policy> captor = ArgumentCaptor.forClass(Policy.class);
+        verify(mNotificationManager, times(1)).setNotificationPolicy(captor.capture());
+
+        Policy expected = new Policy(PRIORITY_CATEGORY_CONVERSATIONS
+                | PRIORITY_CATEGORY_CALLS | PRIORITY_CATEGORY_MESSAGES | PRIORITY_CATEGORY_ALARMS,
+                PRIORITY_SENDERS_ANY,
+                PRIORITY_SENDERS_STARRED,
+                SUPPRESSED_EFFECT_AMBIENT,
+                CONVERSATION_SENDERS_ANYONE);
+        assertEquals(expected, captor.getValue());
+    }
+
+}
diff --git a/tests/robotests/src/com/android/settings/notification/zen/ZenModeBehaviorFooterPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/zen/ZenModeBehaviorFooterPreferenceControllerTest.java
new file mode 100644
index 0000000..fd79515
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/zen/ZenModeBehaviorFooterPreferenceControllerTest.java
@@ -0,0 +1,240 @@
+/*
+ * 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.zen;
+
+import static android.provider.Settings.Global.ZEN_MODE;
+import static android.provider.Settings.Global.ZEN_MODE_ALARMS;
+import static android.provider.Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS;
+import static android.provider.Settings.Global.ZEN_MODE_NO_INTERRUPTIONS;
+import static android.provider.Settings.Global.ZEN_MODE_OFF;
+
+import static org.junit.Assert.assertTrue;
+
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.NotificationManager;
+import android.content.ComponentName;
+import android.content.ContentResolver;
+import android.content.Context;
+import android.provider.Settings;
+import android.service.notification.ZenModeConfig;
+import android.service.notification.ZenModeConfig.ZenRule;
+import android.util.ArrayMap;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settings.notification.zen.AbstractZenModePreferenceController.ZenModeConfigWrapper;
+import com.android.settings.notification.zen.ZenModeBehaviorFooterPreferenceController;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+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 org.robolectric.shadows.ShadowApplication;
+import org.robolectric.util.ReflectionHelpers;
+
+@RunWith(RobolectricTestRunner.class)
+public class ZenModeBehaviorFooterPreferenceControllerTest {
+
+    private static final String TEST_APP_NAME = "test_app";
+    private static final String MANUAL_RULE_FIELD = "manualRule";
+    private static final String AUTOMATIC_RULES_FIELD = "automaticRules";
+
+    private ZenModeBehaviorFooterPreferenceController mController;
+    @Mock
+    private NotificationManager mNotificationManager;
+    @Mock
+    private Preference mockPref;
+    @Mock
+    private ZenModeConfig mZenModeConfig;
+    @Mock
+    private PreferenceScreen mPreferenceScreen;
+    @Mock
+    private ZenModeConfigWrapper mConfigWrapper;
+
+    private Context mContext;
+    private ContentResolver mContentResolver;
+    private int mTitleResId = R.string.zen_mode_settings_title;
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+        ShadowApplication shadowApplication = ShadowApplication.getInstance();
+        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
+
+        mContext = RuntimeEnvironment.application;
+        mContentResolver = RuntimeEnvironment.application.getContentResolver();
+        when(mNotificationManager.getZenModeConfig()).thenReturn(mZenModeConfig);
+
+        mController = new ZenModeBehaviorFooterPreferenceController(
+                mContext, mock(Lifecycle.class), mTitleResId);
+        ReflectionHelpers.setField(mController, "mZenModeConfigWrapper", mConfigWrapper);
+
+        when(mPreferenceScreen.findPreference(mController.getPreferenceKey()))
+                .thenReturn(mockPref);
+        mController.displayPreference(mPreferenceScreen);
+    }
+
+    @Test
+    public void totalSilence_footerIsAvailable() {
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_NO_INTERRUPTIONS);
+        assertTrue(mController.isAvailable());
+    }
+
+    @Test
+    public void alarmsOnly_footerIsAvailable() {
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_ALARMS);
+        assertTrue(mController.isAvailable());
+    }
+
+    @Test
+    public void priorityOnly_footerIsAvailable() {
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_IMPORTANT_INTERRUPTIONS);
+        assertTrue(mController.isAvailable());
+    }
+
+    @Test
+    public void zenModeOff_footerIsAvailable() {
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_OFF);
+        assertTrue(mController.isAvailable());
+    }
+
+    @Test
+    public void zenModeOff_updateState_noFooterTitle() {
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_OFF);
+        mController.updateState(mockPref);
+
+        verify(mockPref).setTitle(mContext.getString(mTitleResId));
+    }
+
+    @Test
+    public void zenModeImportantInterruptions_updateState_noFooterTitle() {
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_IMPORTANT_INTERRUPTIONS);
+        mController.updateState(mockPref);
+
+        verify(mockPref).setTitle(mContext.getString(mTitleResId));
+    }
+
+    @Test
+    public void deprecatedZenModeAlarms_qsManualRule_setFooterTitle() {
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_ALARMS);
+
+        ZenRule injectedManualRule = new ZenRule();
+        injectedManualRule.zenMode = ZEN_MODE_ALARMS;
+        ReflectionHelpers.setField(mZenModeConfig, MANUAL_RULE_FIELD, injectedManualRule);
+
+        mController.updateState(mockPref);
+
+        verify(mockPref).setTitle(mContext.getString(
+                com.android.settings.R.string.zen_mode_qs_set_behavior));
+    }
+
+    @Test
+    public void deprecatedZenModeAlarms_appManualRule_setFooterTitle() {
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_ALARMS);
+
+        ZenRule injectedManualRule = new ZenRule();
+        injectedManualRule.zenMode = ZEN_MODE_ALARMS;
+        injectedManualRule.enabler = TEST_APP_NAME;
+        when(mConfigWrapper.getOwnerCaption(injectedManualRule.enabler)).thenReturn(TEST_APP_NAME);
+        ReflectionHelpers.setField(mZenModeConfig, MANUAL_RULE_FIELD, injectedManualRule);
+
+        mController.updateState(mockPref);
+
+        verify(mockPref).setTitle(mContext.getString(
+                com.android.settings.R.string.zen_mode_app_set_behavior, TEST_APP_NAME));
+    }
+
+    @Test
+    public void deprecatedZenModeNoInterruptions_qsManualRule_setFooterTitle() {
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_NO_INTERRUPTIONS);
+
+        ZenRule injectedManualRule = new ZenRule();
+        injectedManualRule.zenMode = ZEN_MODE_NO_INTERRUPTIONS;
+        ReflectionHelpers.setField(mZenModeConfig, MANUAL_RULE_FIELD, injectedManualRule);
+
+        mController.updateState(mockPref);
+
+        verify(mockPref).setTitle(mContext.getString(
+                com.android.settings.R.string.zen_mode_qs_set_behavior));
+    }
+
+    @Test
+    public void deprecatedZenModeNoInterruptions_appManualRule_setFooterTitle() {
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_NO_INTERRUPTIONS);
+
+        ZenRule injectedManualRule = new ZenRule();
+        injectedManualRule.zenMode = ZEN_MODE_NO_INTERRUPTIONS;
+        injectedManualRule.enabler = TEST_APP_NAME;
+        when(mConfigWrapper.getOwnerCaption(injectedManualRule.enabler)).thenReturn(TEST_APP_NAME);
+        ReflectionHelpers.setField(mZenModeConfig, MANUAL_RULE_FIELD, injectedManualRule);
+
+        mController.updateState(mockPref);
+
+        verify(mockPref).setTitle(mContext.getString(
+                com.android.settings.R.string.zen_mode_app_set_behavior, TEST_APP_NAME));
+    }
+
+    @Test
+    public void deprecatedZenModeAlarms_automaticRule_setFooterTitle() {
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_ALARMS);
+
+        ArrayMap<String, ZenRule> injectedAutomaticRules = new ArrayMap<>();
+        ZenRule injectedRule = spy(new ZenRule());
+        injectedRule.zenMode = ZEN_MODE_ALARMS;
+        injectedRule.component = mock(ComponentName.class);
+        when(injectedRule.isAutomaticActive()).thenReturn(true);
+        when(injectedRule.component.getPackageName()).thenReturn(TEST_APP_NAME);
+        injectedAutomaticRules.put("testid", injectedRule);
+
+        ReflectionHelpers.setField(mZenModeConfig, AUTOMATIC_RULES_FIELD, injectedAutomaticRules);
+
+        mController.updateState(mockPref);
+
+        verify(mockPref).setTitle(mContext.getString(
+                com.android.settings.R.string.zen_mode_app_set_behavior, TEST_APP_NAME));
+    }
+
+    @Test
+    public void deprecatedZenModeNoInterruptions_automaticRule_setFooterTitle() {
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_NO_INTERRUPTIONS);
+
+        ArrayMap<String, ZenRule> injectedAutomaticRules = new ArrayMap<>();
+        ZenRule injectedRule = spy(new ZenRule());
+        injectedRule.zenMode = ZEN_MODE_NO_INTERRUPTIONS;
+        injectedRule.component = mock(ComponentName.class);
+        when(injectedRule.isAutomaticActive()).thenReturn(true);
+        when(injectedRule.component.getPackageName()).thenReturn(TEST_APP_NAME);
+        injectedAutomaticRules.put("testid", injectedRule);
+
+        ReflectionHelpers.setField(mZenModeConfig, AUTOMATIC_RULES_FIELD, injectedAutomaticRules);
+
+        mController.updateState(mockPref);
+
+        verify(mockPref).setTitle(mContext.getString(
+                com.android.settings.R.string.zen_mode_app_set_behavior, TEST_APP_NAME));
+    }
+}
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/notification/zen/ZenModeBlockedEffectsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/zen/ZenModeBlockedEffectsPreferenceControllerTest.java
new file mode 100644
index 0000000..b4829b3
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/zen/ZenModeBlockedEffectsPreferenceControllerTest.java
@@ -0,0 +1,77 @@
+/*
+ * 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.notification.zen;
+
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import android.app.NotificationManager;
+import android.content.Context;
+
+import com.android.settings.notification.zen.ZenModeBackend;
+import com.android.settings.notification.zen.ZenModeBlockedEffectsPreferenceController;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+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 org.robolectric.shadows.ShadowApplication;
+import org.robolectric.util.ReflectionHelpers;
+
+@RunWith(RobolectricTestRunner.class)
+public final class ZenModeBlockedEffectsPreferenceControllerTest {
+
+    private ZenModeBlockedEffectsPreferenceController mController;
+    @Mock
+    private NotificationManager mNotificationManager;
+    @Mock
+    private NotificationManager.Policy mPolicy;
+
+    private Context mContext;
+    @Mock
+    private ZenModeBackend mBackend;
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+        ShadowApplication shadowApplication = ShadowApplication.getInstance();
+        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
+
+        mContext = RuntimeEnvironment.application;
+        when(mNotificationManager.getNotificationPolicy()).thenReturn(mPolicy);
+
+        mController = new ZenModeBlockedEffectsPreferenceController(
+                mContext, mock(Lifecycle.class));
+        ReflectionHelpers.setField(mController, "mBackend", mBackend);
+    }
+
+    @Test
+    public void testIsAvailable() {
+        assertTrue(mController.isAvailable());
+    }
+
+    @Test
+    public void testHasSummary() {
+        assertNotNull(mController.getSummary());
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/zen/ZenModeButtonPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/zen/ZenModeButtonPreferenceControllerTest.java
new file mode 100644
index 0000000..1200402
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/zen/ZenModeButtonPreferenceControllerTest.java
@@ -0,0 +1,151 @@
+/*
+ * 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.zen;
+
+import static android.provider.Settings.Global.ZEN_MODE;
+import static android.provider.Settings.Global.ZEN_MODE_ALARMS;
+import static android.provider.Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS;
+import static android.provider.Settings.Global.ZEN_MODE_NO_INTERRUPTIONS;
+import static android.provider.Settings.Global.ZEN_MODE_OFF;
+
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.NotificationManager;
+import android.content.ContentResolver;
+import android.content.Context;
+import android.provider.Settings;
+import android.view.View;
+import android.widget.Button;
+
+import androidx.fragment.app.FragmentManager;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.notification.zen.ZenModeBackend;
+import com.android.settings.notification.zen.ZenModeButtonPreferenceController;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+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 org.robolectric.shadows.ShadowApplication;
+import org.robolectric.util.ReflectionHelpers;
+
+@RunWith(RobolectricTestRunner.class)
+public class ZenModeButtonPreferenceControllerTest {
+
+    private ZenModeButtonPreferenceController mController;
+
+    @Mock
+    private ZenModeBackend mBackend;
+    @Mock
+    private NotificationManager mNotificationManager;
+    @Mock
+    private Preference mockPref;
+    @Mock
+    private NotificationManager.Policy mPolicy;
+    @Mock
+    private Button mZenButtonOn;
+    @Mock
+    private Button mZenButtonOff;
+    @Mock
+    private PreferenceScreen mPreferenceScreen;
+    private ContentResolver mContentResolver;
+    private Context mContext;
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+        ShadowApplication shadowApplication = ShadowApplication.getInstance();
+        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
+
+        mContext = RuntimeEnvironment.application;
+        mContentResolver = RuntimeEnvironment.application.getContentResolver();
+        mController = new ZenModeButtonPreferenceController(mContext, mock(Lifecycle.class),
+                mock(FragmentManager.class));
+        when(mNotificationManager.getNotificationPolicy()).thenReturn(mPolicy);
+        ReflectionHelpers.setField(mController, "mBackend", mBackend);
+        ReflectionHelpers.setField(mController, "mZenButtonOn", mZenButtonOn);
+        ReflectionHelpers.setField(mController, "mZenButtonOff", mZenButtonOff);
+
+        when(mPreferenceScreen.findPreference(mController.getPreferenceKey())).thenReturn(mockPref);
+        mController.displayPreference(mPreferenceScreen);
+    }
+
+    @Test
+    public void updateState_TotalSilence() {
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_NO_INTERRUPTIONS);
+        final Preference mockPref = mock(Preference.class);
+        mController.updateState(mockPref);
+
+        verify(mZenButtonOn).setVisibility(View.GONE);
+        verify(mZenButtonOff).setVisibility(View.VISIBLE);
+    }
+
+    @Test
+    public void updateState_AlarmsOnly() {
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_ALARMS);
+        final Preference mockPref = mock(Preference.class);
+        mController.updateState(mockPref);
+
+        verify(mZenButtonOn).setVisibility(View.GONE);
+        verify(mZenButtonOff).setVisibility(View.VISIBLE);
+    }
+
+    @Test
+    public void updateState_Priority() {
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_IMPORTANT_INTERRUPTIONS);
+        final Preference mockPref = mock(Preference.class);
+        mController.updateState(mockPref);
+
+        verify(mZenButtonOn).setVisibility(View.GONE);
+        verify(mZenButtonOff).setVisibility(View.VISIBLE);
+    }
+
+    @Test
+    public void updateState_ZenOff() {
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_OFF);
+        final Preference mockPref = mock(Preference.class);
+        mController.updateState(mockPref);
+
+        verify(mZenButtonOn).setVisibility(View.VISIBLE);
+        verify(mZenButtonOff).setVisibility(View.GONE);
+    }
+
+    @Test
+    public void updateState_otherUserChangedZen() {
+        final Preference mockPref = mock(Preference.class);
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_OFF);
+        mController.updateState(mockPref);
+        verify(mZenButtonOn).setVisibility(View.VISIBLE);
+        verify(mZenButtonOff).setVisibility(View.GONE);
+
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_IMPORTANT_INTERRUPTIONS);
+        final int GUEST_USER_ID = 10;
+        mController.mSettingObserver.onChange(false,
+                Settings.Global.getUriFor(Settings.Global.ZEN_MODE), GUEST_USER_ID);
+
+        verify(mZenButtonOn).setVisibility(View.GONE);
+        verify(mZenButtonOff).setVisibility(View.VISIBLE);
+    }
+}
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/notification/zen/ZenModeBypassingAppsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/zen/ZenModeBypassingAppsPreferenceControllerTest.java
new file mode 100644
index 0000000..8760d4c
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/zen/ZenModeBypassingAppsPreferenceControllerTest.java
@@ -0,0 +1,74 @@
+/*
+ * 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.notification.zen;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+
+import com.android.settings.notification.NotificationBackend;
+import com.android.settings.notification.zen.ZenModeBypassingAppsPreferenceController;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+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 org.robolectric.util.ReflectionHelpers;
+
+@RunWith(RobolectricTestRunner.class)
+public class ZenModeBypassingAppsPreferenceControllerTest {
+
+    private ZenModeBypassingAppsPreferenceController mController;
+
+    private Context mContext;
+    @Mock
+    private NotificationBackend mBackend;
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+        mContext = RuntimeEnvironment.application;
+
+        mController = new ZenModeBypassingAppsPreferenceController(mContext, mock(Lifecycle.class));
+        ReflectionHelpers.setField(mController, "mNotificationBackend", mBackend);
+    }
+
+    @Test
+    public void testIsAvailable() {
+        when(mBackend.getNumAppsBypassingDnd(anyInt())).thenReturn(5);
+        assertThat(mController.isAvailable()).isTrue();
+    }
+
+    @Test
+    public void testNotAvailable() {
+        when(mBackend.getNumAppsBypassingDnd(anyInt())).thenReturn(0);
+        assertThat(mController.isAvailable()).isFalse();
+    }
+
+    @Test
+    public void testHasSummary() {
+        assertThat(mController.getSummary()).isNotNull();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/zen/ZenModeCallsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/zen/ZenModeCallsPreferenceControllerTest.java
new file mode 100644
index 0000000..e04436e
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/zen/ZenModeCallsPreferenceControllerTest.java
@@ -0,0 +1,82 @@
+/*
+ * 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.notification.zen;
+
+import static org.junit.Assert.assertTrue;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.NotificationManager;
+import android.content.Context;
+
+import com.android.settings.notification.zen.ZenModeBackend;
+import com.android.settings.notification.zen.ZenModeCallsPreferenceController;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+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 org.robolectric.shadows.ShadowApplication;
+import org.robolectric.util.ReflectionHelpers;
+
+import androidx.preference.Preference;
+
+@RunWith(RobolectricTestRunner.class)
+public final class ZenModeCallsPreferenceControllerTest {
+
+    private ZenModeCallsPreferenceController mController;
+    @Mock
+    private NotificationManager mNotificationManager;
+    @Mock
+    private NotificationManager.Policy mPolicy;
+
+    private Context mContext;
+    @Mock
+    private ZenModeBackend mBackend;
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+        ShadowApplication shadowApplication = ShadowApplication.getInstance();
+        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
+
+        mContext = RuntimeEnvironment.application;
+        when(mNotificationManager.getNotificationPolicy()).thenReturn(mPolicy);
+
+        mController = new ZenModeCallsPreferenceController(
+                mContext, mock(Lifecycle.class), "zen_mode_calls_settings");
+        ReflectionHelpers.setField(mController, "mBackend", mBackend);
+    }
+
+    @Test
+    public void testIsAvailable() {
+        assertTrue(mController.isAvailable());
+    }
+
+    @Test
+    public void testHasSummary() {
+        Preference pref = mock(Preference.class);
+        mController.updateState(pref);
+        verify(pref).setSummary(any());
+    }
+}
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/notification/zen/ZenModeDurationPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/zen/ZenModeDurationPreferenceControllerTest.java
new file mode 100644
index 0000000..a8e583f
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/zen/ZenModeDurationPreferenceControllerTest.java
@@ -0,0 +1,96 @@
+/*
+ * 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.notification.zen;
+
+import static org.junit.Assert.assertEquals;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import android.app.NotificationManager;
+import android.content.ContentResolver;
+import android.content.Context;
+import android.provider.Settings;
+
+import com.android.settings.R;
+import com.android.settings.notification.zen.ZenModeBackend;
+import com.android.settings.notification.zen.ZenModeDurationPreferenceController;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+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 org.robolectric.shadows.ShadowApplication;
+import org.robolectric.util.ReflectionHelpers;
+
+@RunWith(RobolectricTestRunner.class)
+public class ZenModeDurationPreferenceControllerTest {
+    private ZenModeDurationPreferenceController mController;
+
+    @Mock
+    private ZenModeBackend mBackend;
+    @Mock
+    private NotificationManager mNotificationManager;
+    @Mock
+    private NotificationManager.Policy mPolicy;
+    private ContentResolver mContentResolver;
+    private Context mContext;
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+        ShadowApplication shadowApplication = ShadowApplication.getInstance();
+        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
+
+        mContext = RuntimeEnvironment.application;
+        mContentResolver = RuntimeEnvironment.application.getContentResolver();
+        mController = new ZenModeDurationPreferenceController(mContext, mock(Lifecycle.class));
+        when(mNotificationManager.getNotificationPolicy()).thenReturn(mPolicy);
+        ReflectionHelpers.setField(mController, "mBackend", mBackend);
+    }
+
+    @Test
+    public void updateState_DurationForever() {
+        Settings.Secure.putInt(mContentResolver, Settings.Secure.ZEN_DURATION,
+                Settings.Secure.ZEN_DURATION_FOREVER);
+
+        assertEquals(mContext.getString(R.string.zen_mode_duration_summary_forever),
+                mController.getSummary());
+    }
+
+    @Test
+    public void updateState_DurationPrompt() {
+        Settings.Secure.putInt(mContentResolver, Settings.Secure.ZEN_DURATION,
+                Settings.Secure.ZEN_DURATION_PROMPT);
+
+        assertEquals(mContext.getString(R.string.zen_mode_duration_summary_always_prompt),
+                mController.getSummary());
+    }
+
+    @Test
+    public void updateState_DurationCustom() {
+        int zenDuration = 45;
+        Settings.Secure.putInt(mContentResolver, Settings.Secure.ZEN_DURATION,
+                zenDuration);
+
+        assertEquals(mContext.getString(R.string.zen_mode_duration_summary_time_minutes,
+                zenDuration), mController.getSummary());
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/zen/ZenModeEventRuleSettingsTest.java b/tests/robotests/src/com/android/settings/notification/zen/ZenModeEventRuleSettingsTest.java
new file mode 100644
index 0000000..0c49850
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/zen/ZenModeEventRuleSettingsTest.java
@@ -0,0 +1,118 @@
+/*
+ * 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.notification.zen;
+
+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.verify;
+import static org.mockito.Mockito.when;
+import static org.robolectric.RuntimeEnvironment.application;
+
+import android.app.NotificationManager;
+import android.content.Context;
+import android.content.Intent;
+import android.content.res.Resources;
+
+import androidx.fragment.app.FragmentActivity;
+
+import com.android.settings.R;
+import com.android.settings.notification.zen.ZenModeEventRuleSettings;
+
+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 org.robolectric.shadows.ShadowApplication;
+import org.robolectric.shadows.ShadowToast;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@RunWith(RobolectricTestRunner.class)
+public class ZenModeEventRuleSettingsTest {
+
+    @Mock
+    private FragmentActivity mActivity;
+
+    @Mock
+    private Intent mIntent;
+
+    @Mock
+    private NotificationManager mNotificationManager;
+
+    private TestFragment mFragment;
+    private Context mContext;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+
+        ShadowApplication shadowApplication = ShadowApplication.getInstance();
+        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
+        mContext = RuntimeEnvironment.application;
+
+        mFragment = spy(new TestFragment());
+        mFragment.onAttach(application);
+
+        doReturn(mActivity).when(mFragment).getActivity();
+
+        Resources res = application.getResources();
+
+        doReturn(res).when(mFragment).getResources();
+        when(mActivity.getTheme()).thenReturn(res.newTheme());
+        when(mActivity.getIntent()).thenReturn(mIntent);
+        when(mActivity.getResources()).thenReturn(res);
+        when(mFragment.getContext()).thenReturn(mContext);
+    }
+
+    @Test
+    public void onCreate_noRuleId_shouldToastAndFinishAndNoCrash() {
+        final String expected = mContext.getString(R.string.zen_mode_rule_not_found_text);
+
+        mFragment.onCreate(null);
+
+        // verify the toast
+        assertThat(ShadowToast.getTextOfLatestToast()).isEqualTo(expected);
+
+        // verify the finish
+        verify(mActivity).finish();
+
+        //should not crash
+    }
+
+    @Test
+    public void testNoDuplicateCalendars() {
+        List<ZenModeEventRuleSettings.CalendarInfo> calendarsList = new ArrayList<>();
+        mFragment.addCalendar(1234, "calName", 1, calendarsList);
+        mFragment.addCalendar(1234, "calName", 2, calendarsList);
+        mFragment.addCalendar(1234, "calName", 3, calendarsList);
+        assertThat(calendarsList.size()).isEqualTo(1);
+    }
+
+    private static class TestFragment extends ZenModeEventRuleSettings {
+
+        @Override
+        protected Object getSystemService(final String name) {
+            return null;
+        }
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/zen/ZenModeEventsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/zen/ZenModeEventsPreferenceControllerTest.java
new file mode 100644
index 0000000..026976e
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/zen/ZenModeEventsPreferenceControllerTest.java
@@ -0,0 +1,140 @@
+/*
+ * 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.zen;
+
+import static android.provider.Settings.Global.ZEN_MODE;
+import static android.provider.Settings.Global.ZEN_MODE_ALARMS;
+import static android.provider.Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS;
+import static android.provider.Settings.Global.ZEN_MODE_NO_INTERRUPTIONS;
+
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.NotificationManager;
+import android.content.ContentResolver;
+import android.content.Context;
+import android.provider.Settings;
+
+import androidx.preference.PreferenceScreen;
+import androidx.preference.SwitchPreference;
+
+import com.android.settings.notification.zen.ZenModeBackend;
+import com.android.settings.notification.zen.ZenModeEventsPreferenceController;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+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 org.robolectric.shadows.ShadowApplication;
+import org.robolectric.util.ReflectionHelpers;
+
+@RunWith(RobolectricTestRunner.class)
+public class ZenModeEventsPreferenceControllerTest {
+
+    private static final boolean EVENTS_SETTINGS = true;
+
+    private ZenModeEventsPreferenceController mController;
+
+    @Mock
+    private ZenModeBackend mBackend;
+    @Mock
+    private NotificationManager mNotificationManager;
+    @Mock
+    private SwitchPreference mockPref;
+    @Mock
+    private NotificationManager.Policy mPolicy;
+    @Mock
+    private PreferenceScreen mPreferenceScreen;
+    private ContentResolver mContentResolver;
+    private Context mContext;
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+        ShadowApplication shadowApplication = ShadowApplication.getInstance();
+        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
+
+        mContext = RuntimeEnvironment.application;
+        mContentResolver = RuntimeEnvironment.application.getContentResolver();
+        when(mNotificationManager.getNotificationPolicy()).thenReturn(mPolicy);
+
+        mController = new ZenModeEventsPreferenceController(mContext, mock(Lifecycle.class));
+        ReflectionHelpers.setField(mController, "mBackend", mBackend);
+
+        when(mPreferenceScreen.findPreference(mController.getPreferenceKey()))
+            .thenReturn(mockPref);
+        mController.displayPreference(mPreferenceScreen);
+    }
+
+    @Test
+    public void updateState_TotalSilence() {
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_NO_INTERRUPTIONS);
+
+        final SwitchPreference mockPref = mock(SwitchPreference.class);
+        mController.updateState(mockPref);
+
+        verify(mockPref).setEnabled(false);
+        verify(mockPref).setChecked(false);
+    }
+
+    @Test
+    public void updateState_AlarmsOnly() {
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_ALARMS);
+
+        final SwitchPreference mockPref = mock(SwitchPreference.class);
+        mController.updateState(mockPref);
+
+        verify(mockPref).setEnabled(false);
+        verify(mockPref).setChecked(false);
+    }
+
+    @Test
+    public void updateState_Priority() {
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_IMPORTANT_INTERRUPTIONS);
+
+        when(mBackend.isPriorityCategoryEnabled(
+                NotificationManager.Policy.PRIORITY_CATEGORY_EVENTS)).thenReturn(EVENTS_SETTINGS);
+
+        mController.updateState(mockPref);
+
+        verify(mockPref).setEnabled(true);
+        verify(mockPref).setChecked(EVENTS_SETTINGS);
+    }
+
+    @Test
+    public void onPreferenceChanged_EnableEvents() {
+        boolean allow = true;
+        mController.onPreferenceChange(mockPref, allow);
+
+        verify(mBackend)
+            .saveSoundPolicy(NotificationManager.Policy.PRIORITY_CATEGORY_EVENTS, allow);
+    }
+
+    @Test
+    public void onPreferenceChanged_DisableEvents() {
+        boolean allow = false;
+        mController.onPreferenceChange(mockPref, allow);
+
+        verify(mBackend)
+            .saveSoundPolicy(NotificationManager.Policy.PRIORITY_CATEGORY_EVENTS, allow);
+    }
+}
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/notification/zen/ZenModeMediaPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/zen/ZenModeMediaPreferenceControllerTest.java
new file mode 100644
index 0000000..b1e369f
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/zen/ZenModeMediaPreferenceControllerTest.java
@@ -0,0 +1,141 @@
+/*
+ * 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.zen;
+
+import static android.provider.Settings.Global.ZEN_MODE;
+import static android.provider.Settings.Global.ZEN_MODE_ALARMS;
+import static android.provider.Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS;
+import static android.provider.Settings.Global.ZEN_MODE_NO_INTERRUPTIONS;
+
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.NotificationManager;
+import android.content.ContentResolver;
+import android.content.Context;
+import android.provider.Settings;
+
+import androidx.preference.PreferenceScreen;
+import androidx.preference.SwitchPreference;
+
+import com.android.settings.notification.zen.ZenModeBackend;
+import com.android.settings.notification.zen.ZenModeMediaPreferenceController;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+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.RuntimeEnvironment;
+import org.robolectric.shadows.ShadowApplication;
+import org.robolectric.util.ReflectionHelpers;
+
+@RunWith(RobolectricTestRunner.class)
+public class ZenModeMediaPreferenceControllerTest {
+    private ZenModeMediaPreferenceController mController;
+
+    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
+    private Context mContext;
+    @Mock
+    private ZenModeBackend mBackend;
+    @Mock
+    private NotificationManager mNotificationManager;
+    @Mock
+    private SwitchPreference mockPref;
+    @Mock
+    private NotificationManager.Policy mPolicy;
+    @Mock
+    private PreferenceScreen mPreferenceScreen;
+    private ContentResolver mContentResolver;
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+        ShadowApplication shadowApplication = ShadowApplication.getInstance();
+        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
+
+        mContext = RuntimeEnvironment.application;
+        mContentResolver = RuntimeEnvironment.application.getContentResolver();
+        when(mNotificationManager.getNotificationPolicy()).thenReturn(mPolicy);
+
+        mController = new ZenModeMediaPreferenceController(mContext,
+                mock(Lifecycle.class));
+        ReflectionHelpers.setField(mController, "mBackend", mBackend);
+
+        when(mPreferenceScreen.findPreference(mController.getPreferenceKey()))
+                .thenReturn(mockPref);
+        mController.displayPreference(mPreferenceScreen);
+    }
+
+    @Test
+    public void updateState_TotalSilence() {
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_NO_INTERRUPTIONS);
+
+        final SwitchPreference mockPref = mock(SwitchPreference.class);
+        mController.updateState(mockPref);
+
+        verify(mockPref).setEnabled(false);
+        verify(mockPref).setChecked(false);
+    }
+
+    @Test
+    public void updateState_AlarmsOnly() {
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_ALARMS);
+
+        final SwitchPreference mockPref = mock(SwitchPreference.class);
+        mController.updateState(mockPref);
+
+        verify(mockPref).setEnabled(false);
+        verify(mockPref).setChecked(true);
+    }
+
+    @Test
+    public void updateState_Priority() {
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_IMPORTANT_INTERRUPTIONS);
+
+        when(mBackend.isPriorityCategoryEnabled(
+                NotificationManager.Policy.PRIORITY_CATEGORY_MEDIA)).
+                thenReturn(true);
+
+        mController.updateState(mockPref);
+
+        verify(mockPref).setEnabled(true);
+        verify(mockPref).setChecked(true);
+    }
+
+    @Test
+    public void onPreferenceChanged_EnableEvents() {
+        boolean allow = true;
+        mController.onPreferenceChange(mockPref, allow);
+
+        verify(mBackend).saveSoundPolicy(
+                NotificationManager.Policy.PRIORITY_CATEGORY_MEDIA, allow);
+    }
+
+    @Test
+    public void onPreferenceChanged_DisableEvents() {
+        boolean allow = false;
+        mController.onPreferenceChange(mockPref, allow);
+
+        verify(mBackend).saveSoundPolicy(
+                NotificationManager.Policy.PRIORITY_CATEGORY_MEDIA, allow);
+    }
+}
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/notification/zen/ZenModeMessagesPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/zen/ZenModeMessagesPreferenceControllerTest.java
new file mode 100644
index 0000000..82a582b
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/zen/ZenModeMessagesPreferenceControllerTest.java
@@ -0,0 +1,82 @@
+/*
+ * 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.notification.zen;
+
+import static org.junit.Assert.assertTrue;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.NotificationManager;
+import android.content.Context;
+
+import androidx.preference.Preference;
+
+import com.android.settings.notification.zen.ZenModeBackend;
+import com.android.settings.notification.zen.ZenModeMessagesPreferenceController;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+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 org.robolectric.shadows.ShadowApplication;
+import org.robolectric.util.ReflectionHelpers;
+
+@RunWith(RobolectricTestRunner.class)
+public final class ZenModeMessagesPreferenceControllerTest {
+
+    private ZenModeMessagesPreferenceController mController;
+    @Mock
+    private NotificationManager mNotificationManager;
+    @Mock
+    private NotificationManager.Policy mPolicy;
+
+    private Context mContext;
+    @Mock
+    private ZenModeBackend mBackend;
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+        ShadowApplication shadowApplication = ShadowApplication.getInstance();
+        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
+
+        mContext = RuntimeEnvironment.application;
+        when(mNotificationManager.getNotificationPolicy()).thenReturn(mPolicy);
+
+        mController = new ZenModeMessagesPreferenceController(
+                mContext, mock(Lifecycle.class), "zen_mode_messages_settings");
+        ReflectionHelpers.setField(mController, "mBackend", mBackend);
+    }
+
+    @Test
+    public void testIsAvailable() {
+        assertTrue(mController.isAvailable());
+    }
+
+    @Test
+    public void testHasSummary() {
+        Preference pref = mock(Preference.class);
+        mController.updateState(pref);
+        verify(pref).setSummary(any());
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/zen/ZenModePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/zen/ZenModePreferenceControllerTest.java
new file mode 100644
index 0000000..ef20406
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/zen/ZenModePreferenceControllerTest.java
@@ -0,0 +1,103 @@
+/*
+ * 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.notification.zen;
+
+import static com.android.settings.core.BasePreferenceController.AVAILABLE_UNSEARCHABLE;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.anyString;
+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.app.NotificationManager;
+import android.app.NotificationManager.Policy;
+import android.content.Context;
+
+import androidx.preference.Preference;
+
+import com.android.settings.R;
+import com.android.settings.notification.zen.ZenModePreferenceController;
+import com.android.settings.notification.zen.ZenModeSettings;
+
+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 org.robolectric.shadows.ShadowApplication;
+import org.robolectric.util.ReflectionHelpers;
+
+@RunWith(RobolectricTestRunner.class)
+public class ZenModePreferenceControllerTest {
+
+    @Mock
+    private Preference mPreference;
+    @Mock
+    private NotificationManager mNotificationManager;
+    @Mock
+    private Policy mPolicy;
+
+    private Context mContext;
+    private ZenModePreferenceController mController;
+    private ZenModeSettings.SummaryBuilder mSummaryBuilder;
+    private static final String KEY_ZEN_MODE = "zen_mode";
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        ShadowApplication shadowApplication = ShadowApplication.getInstance();
+        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
+        mContext = RuntimeEnvironment.application;
+        mController = new ZenModePreferenceController(mContext, KEY_ZEN_MODE);
+        when(mNotificationManager.getNotificationPolicy()).thenReturn(mPolicy);
+        mSummaryBuilder = spy(new ZenModeSettings.SummaryBuilder(mContext));
+        ReflectionHelpers.setField(mController, "mSummaryBuilder", mSummaryBuilder);
+        doReturn(0).when(mSummaryBuilder).getEnabledAutomaticRulesCount();
+    }
+
+    @Test
+    public void isAvailable_unsearchable() {
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE_UNSEARCHABLE);
+    }
+
+    @Test
+    public void updateState_automaticRuleEnabled_shouldSetSummary() {
+        when(mPreference.isEnabled()).thenReturn(true);
+
+        mController.updateState(mPreference);
+        verify(mPreference).setSummary(mContext.getString(R.string.zen_mode_sound_summary_off));
+
+        doReturn(1).when(mSummaryBuilder).getEnabledAutomaticRulesCount();
+        mController.updateState(mPreference);
+        verify(mPreference).setSummary(mSummaryBuilder.getSoundSummary());
+    }
+
+    @Test
+    public void updateState_preferenceDisabled_shouldNotSetSummary() {
+        when(mPreference.isEnabled()).thenReturn(false);
+
+        mController.updateState(mPreference);
+
+        verify(mPreference, never()).setSummary(anyString());
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/zen/ZenModePriorityCallsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/zen/ZenModePriorityCallsPreferenceControllerTest.java
new file mode 100644
index 0000000..d1f80b8
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/zen/ZenModePriorityCallsPreferenceControllerTest.java
@@ -0,0 +1,178 @@
+/*
+ * 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.notification.zen;
+
+import static android.provider.Settings.Global.ZEN_MODE;
+import static android.provider.Settings.Global.ZEN_MODE_ALARMS;
+import static android.provider.Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS;
+import static android.provider.Settings.Global.ZEN_MODE_NO_INTERRUPTIONS;
+
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.NotificationManager;
+import android.content.ContentResolver;
+import android.content.Context;
+import android.provider.Settings;
+
+import androidx.preference.ListPreference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+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 org.robolectric.shadows.ShadowApplication;
+import org.robolectric.util.ReflectionHelpers;
+
+@RunWith(RobolectricTestRunner.class)
+public class ZenModePriorityCallsPreferenceControllerTest {
+
+    private ZenModePriorityCallsPreferenceController mController;
+
+    @Mock
+    private ZenModeBackend mBackend;
+    @Mock
+    private NotificationManager mNotificationManager;
+    @Mock
+    private ListPreference mockPref;
+    @Mock
+    private NotificationManager.Policy mPolicy;
+    @Mock
+    private PreferenceScreen mPreferenceScreen;
+    private ContentResolver mContentResolver;
+    private Context mContext;
+
+    /**
+     * Array Values Key
+     * 0: anyone
+     * 1: contacts
+     * 2: starred
+     * 3: none
+     */
+    private String[] mValues;
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+        ShadowApplication shadowApplication = ShadowApplication.getInstance();
+        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
+
+        mContext = RuntimeEnvironment.application;
+        mValues = mContext.getResources().getStringArray(R.array.zen_mode_contacts_values);
+        mContentResolver = RuntimeEnvironment.application.getContentResolver();
+        when(mNotificationManager.getNotificationPolicy()).thenReturn(mPolicy);
+
+        when(mBackend.getPriorityCallSenders())
+                .thenReturn(NotificationManager.Policy.PRIORITY_SENDERS_STARRED);
+        when(mBackend.getAlarmsTotalSilencePeopleSummary(
+                NotificationManager.Policy.PRIORITY_CATEGORY_CALLS)).thenCallRealMethod();
+        when(mBackend.getContactsSummary(NotificationManager.Policy.PRIORITY_CATEGORY_CALLS))
+                .thenCallRealMethod();
+
+        mController = new ZenModePriorityCallsPreferenceController(mContext, mock(Lifecycle.class));
+        ReflectionHelpers.setField(mController, "mBackend", mBackend);
+
+        when(mPreferenceScreen.findPreference(mController.getPreferenceKey())).thenReturn(mockPref);
+        mController.displayPreference(mPreferenceScreen);
+    }
+
+    @Test
+    public void updateState_TotalSilence() {
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_NO_INTERRUPTIONS);
+
+        when(mBackend.isPriorityCategoryEnabled(
+                NotificationManager.Policy.PRIORITY_CATEGORY_CALLS))
+                .thenReturn(false);
+        final ListPreference mockPref = mock(ListPreference.class);
+        mController.updateState(mockPref);
+
+        verify(mockPref).setEnabled(false);
+        verify(mockPref).setSummary(R.string.zen_mode_from_none_calls);
+    }
+
+    @Test
+    public void updateState_AlarmsOnly() {
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_ALARMS);
+
+        final ListPreference mockPref = mock(ListPreference.class);
+        mController.updateState(mockPref);
+
+        verify(mockPref).setEnabled(false);
+        verify(mockPref).setSummary(R.string.zen_mode_from_none_calls);
+    }
+
+    @Test
+    public void updateState_Priority() {
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_IMPORTANT_INTERRUPTIONS);
+
+        when(mBackend.isPriorityCategoryEnabled(
+                NotificationManager.Policy.PRIORITY_CATEGORY_CALLS))
+                .thenReturn(true);
+
+        mController.updateState(mockPref);
+
+        verify(mockPref).setEnabled(true);
+        verify(mockPref).setSummary(R.string.zen_mode_from_starred);
+    }
+
+    @Test
+    public void onPreferenceChange_setSelectedContacts_any() {
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_IMPORTANT_INTERRUPTIONS);
+        when(mBackend.getPriorityCallSenders()).thenReturn(
+                NotificationManager.Policy.PRIORITY_SENDERS_ANY);
+        mController.updateState(mockPref);
+        verify(mockPref).setValue(mValues[mController.getIndexOfSendersValue(
+                ZenModeBackend.ZEN_MODE_FROM_ANYONE)]);
+    }
+
+    @Test
+    public void onPreferenceChange_setSelectedContacts_none() {
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_IMPORTANT_INTERRUPTIONS);
+        when(mBackend.getPriorityCallSenders()).thenReturn(ZenModeBackend.SOURCE_NONE);
+        mController.updateState(mockPref);
+        verify(mockPref).setValue(mValues[mController.getIndexOfSendersValue(
+                ZenModeBackend.ZEN_MODE_FROM_NONE)]);
+    }
+
+    @Test
+    public void onPreferenceChange_setSelectedContacts_starred() {
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_IMPORTANT_INTERRUPTIONS);
+        when(mBackend.getPriorityCallSenders()).thenReturn(
+                NotificationManager.Policy.PRIORITY_SENDERS_STARRED);
+        mController.updateState(mockPref);
+        verify(mockPref).setValue(mValues[mController.getIndexOfSendersValue(
+                ZenModeBackend.ZEN_MODE_FROM_STARRED)]);
+    }
+
+    @Test
+    public void onPreferenceChange_setSelectedContacts_contacts() {
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_IMPORTANT_INTERRUPTIONS);
+        when(mBackend.getPriorityCallSenders()).thenReturn(
+                NotificationManager.Policy.PRIORITY_SENDERS_CONTACTS);
+        mController.updateState(mockPref);
+        verify(mockPref).setValue(mValues[mController.getIndexOfSendersValue(
+                ZenModeBackend.ZEN_MODE_FROM_CONTACTS)]);
+    }
+}
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/notification/zen/ZenModePriorityConversationsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/zen/ZenModePriorityConversationsPreferenceControllerTest.java
new file mode 100644
index 0000000..1583b91
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/zen/ZenModePriorityConversationsPreferenceControllerTest.java
@@ -0,0 +1,191 @@
+/*
+ * 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.notification.zen;
+
+import static android.app.NotificationManager.Policy.CONVERSATION_SENDERS_ANYONE;
+import static android.app.NotificationManager.Policy.CONVERSATION_SENDERS_IMPORTANT;
+import static android.app.NotificationManager.Policy.CONVERSATION_SENDERS_NONE;
+import static android.app.NotificationManager.Policy.PRIORITY_CATEGORY_CONVERSATIONS;
+import static android.provider.Settings.Global.ZEN_MODE;
+import static android.provider.Settings.Global.ZEN_MODE_ALARMS;
+import static android.provider.Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS;
+import static android.provider.Settings.Global.ZEN_MODE_NO_INTERRUPTIONS;
+
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.reset;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.NotificationManager;
+import android.content.ContentResolver;
+import android.content.Context;
+import android.provider.Settings;
+
+import androidx.preference.ListPreference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+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 org.robolectric.shadows.ShadowApplication;
+import org.robolectric.util.ReflectionHelpers;
+
+@RunWith(RobolectricTestRunner.class)
+public class ZenModePriorityConversationsPreferenceControllerTest {
+
+    private ZenModePriorityConversationsPreferenceController mController;
+
+    @Mock
+    private ZenModeBackend mBackend;
+    @Mock
+    private NotificationManager mNotificationManager;
+    @Mock
+    private ListPreference mockPref;
+    @Mock
+    private NotificationManager.Policy mPolicy;
+    @Mock
+    private PreferenceScreen mPreferenceScreen;
+    private ContentResolver mContentResolver;
+    private Context mContext;
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+        ShadowApplication shadowApplication = ShadowApplication.getInstance();
+        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
+
+        mContext = RuntimeEnvironment.application;
+        mContentResolver = RuntimeEnvironment.application.getContentResolver();
+        when(mNotificationManager.getNotificationPolicy()).thenReturn(mPolicy);
+
+        when(mBackend.getPriorityConversationSenders())
+            .thenReturn(CONVERSATION_SENDERS_IMPORTANT);
+        when(mBackend.getAlarmsTotalSilencePeopleSummary(PRIORITY_CATEGORY_CONVERSATIONS))
+                .thenCallRealMethod();
+        when(mBackend.getConversationSummary()).thenCallRealMethod();
+
+        mController = new ZenModePriorityConversationsPreferenceController(
+                mContext, mock(Lifecycle.class));
+        ReflectionHelpers.setField(mController, "mBackend", mBackend);
+
+        when(mPreferenceScreen.findPreference(mController.getPreferenceKey())).thenReturn(mockPref);
+        mController.displayPreference(mPreferenceScreen);
+    }
+
+    @Test
+    public void updateState_TotalSilence() {
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_NO_INTERRUPTIONS);
+
+        when(mBackend.isPriorityCategoryEnabled(PRIORITY_CATEGORY_CONVERSATIONS)).thenReturn(true);
+        final ListPreference mockPref = mock(ListPreference.class);
+        mController.updateState(mockPref);
+
+        verify(mockPref).setEnabled(false);
+        verify(mockPref).setSummary(R.string.zen_mode_from_no_conversations);
+    }
+
+    @Test
+    public void updateState_AlarmsOnly() {
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_ALARMS);
+
+        final ListPreference mockPref = mock(ListPreference.class);
+        mController.updateState(mockPref);
+
+        verify(mockPref).setEnabled(false);
+        verify(mockPref).setSummary(R.string.zen_mode_from_no_conversations);
+    }
+
+    @Test
+    public void updateState_Priority_important() {
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_IMPORTANT_INTERRUPTIONS);
+        when(mBackend.isPriorityCategoryEnabled(PRIORITY_CATEGORY_CONVERSATIONS)).thenReturn(true);
+
+        mController.updateState(mockPref);
+
+        verify(mockPref).setEnabled(true);
+        verify(mockPref).setSummary(R.string.zen_mode_from_important_conversations);
+        verify(mockPref).setValue(String.valueOf(CONVERSATION_SENDERS_IMPORTANT));
+    }
+
+    @Test
+    public void updateState_Priority_all() {
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_IMPORTANT_INTERRUPTIONS);
+        when(mBackend.getPriorityConversationSenders()).thenReturn(CONVERSATION_SENDERS_ANYONE);
+        when(mBackend.isPriorityCategoryEnabled(PRIORITY_CATEGORY_CONVERSATIONS)).thenReturn(true);
+
+
+        mController.updateState(mockPref);
+
+        verify(mockPref).setEnabled(true);
+        verify(mockPref).setSummary(R.string.zen_mode_from_all_conversations);
+        verify(mockPref).setValue(String.valueOf(CONVERSATION_SENDERS_ANYONE));
+    }
+
+    @Test
+    public void updateState_Priority_none() {
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_IMPORTANT_INTERRUPTIONS);
+        when(mBackend.getPriorityConversationSenders()).thenReturn(CONVERSATION_SENDERS_NONE);
+        when(mBackend.isPriorityCategoryEnabled(PRIORITY_CATEGORY_CONVERSATIONS)).thenReturn(false);
+
+        mController.updateState(mockPref);
+
+        verify(mockPref).setEnabled(true);
+        verify(mockPref).setSummary(R.string.zen_mode_from_no_conversations);
+        verify(mockPref).setValue(String.valueOf(CONVERSATION_SENDERS_NONE));
+    }
+
+    @Test
+    public void onPreferenceChange_noneToImportant() {
+        // start with none
+
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_IMPORTANT_INTERRUPTIONS);
+        when(mBackend.getPriorityConversationSenders()).thenReturn(CONVERSATION_SENDERS_NONE);
+        when(mBackend.isPriorityCategoryEnabled(PRIORITY_CATEGORY_CONVERSATIONS)).thenReturn(false);
+
+        mController.updateState(mockPref);
+        reset(mBackend);
+
+        mController.onPreferenceChange(mockPref, String.valueOf(CONVERSATION_SENDERS_IMPORTANT));
+
+        verify(mBackend).saveConversationSenders(CONVERSATION_SENDERS_IMPORTANT);
+        verify(mBackend).getPriorityConversationSenders();
+    }
+
+    @Test
+    public void onPreferenceChange_allToNone() {
+        // start with none
+
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_IMPORTANT_INTERRUPTIONS);
+        when(mBackend.getPriorityConversationSenders()).thenReturn(CONVERSATION_SENDERS_ANYONE);
+        when(mBackend.isPriorityCategoryEnabled(PRIORITY_CATEGORY_CONVERSATIONS)).thenReturn(true);
+
+        mController.updateState(mockPref);
+        reset(mBackend);
+
+        mController.onPreferenceChange(mockPref, String.valueOf(CONVERSATION_SENDERS_NONE));
+
+        verify(mBackend).saveConversationSenders(CONVERSATION_SENDERS_NONE);
+        verify(mBackend).getPriorityConversationSenders();
+    }
+}
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/notification/zen/ZenModePriorityMessagesPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/zen/ZenModePriorityMessagesPreferenceControllerTest.java
new file mode 100644
index 0000000..7af2211
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/zen/ZenModePriorityMessagesPreferenceControllerTest.java
@@ -0,0 +1,178 @@
+/*
+ * 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.zen;
+
+import static android.provider.Settings.Global.ZEN_MODE;
+import static android.provider.Settings.Global.ZEN_MODE_ALARMS;
+import static android.provider.Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS;
+import static android.provider.Settings.Global.ZEN_MODE_NO_INTERRUPTIONS;
+
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.NotificationManager;
+import android.content.ContentResolver;
+import android.content.Context;
+import android.provider.Settings;
+
+import androidx.preference.ListPreference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+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 org.robolectric.shadows.ShadowApplication;
+import org.robolectric.util.ReflectionHelpers;
+
+@RunWith(RobolectricTestRunner.class)
+public class ZenModePriorityMessagesPreferenceControllerTest {
+
+    private ZenModePriorityMessagesPreferenceController mController;
+
+    @Mock
+    private ZenModeBackend mBackend;
+    @Mock
+    private NotificationManager mNotificationManager;
+    @Mock
+    private ListPreference mockPref;
+    @Mock
+    private NotificationManager.Policy mPolicy;
+    @Mock
+    private PreferenceScreen mPreferenceScreen;
+    private ContentResolver mContentResolver;
+    private Context mContext;
+
+    /**
+     * Array Values Key
+     * 0: anyone
+     * 1: contacts
+     * 2: starred
+     * 3: none
+     */
+    private String[] mValues;
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+        ShadowApplication shadowApplication = ShadowApplication.getInstance();
+        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
+
+        mContext = RuntimeEnvironment.application;
+        mValues = mContext.getResources().getStringArray(R.array.zen_mode_contacts_values);
+        mContentResolver = RuntimeEnvironment.application.getContentResolver();
+        when(mNotificationManager.getNotificationPolicy()).thenReturn(mPolicy);
+
+        when(mBackend.getPriorityMessageSenders())
+            .thenReturn(NotificationManager.Policy.PRIORITY_SENDERS_STARRED);
+        when(mBackend.getAlarmsTotalSilencePeopleSummary(
+                NotificationManager.Policy.PRIORITY_CATEGORY_MESSAGES)).thenCallRealMethod();
+        when(mBackend.getContactsSummary(NotificationManager.Policy.PRIORITY_CATEGORY_MESSAGES))
+                .thenCallRealMethod();
+
+        mController = new ZenModePriorityMessagesPreferenceController(mContext, mock(Lifecycle.class));
+        ReflectionHelpers.setField(mController, "mBackend", mBackend);
+
+        when(mPreferenceScreen.findPreference(mController.getPreferenceKey())).thenReturn(mockPref);
+        mController.displayPreference(mPreferenceScreen);
+    }
+
+    @Test
+    public void updateState_TotalSilence() {
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_NO_INTERRUPTIONS);
+
+        when(mBackend.isPriorityCategoryEnabled(
+                NotificationManager.Policy.PRIORITY_CATEGORY_MESSAGES))
+                .thenReturn(false);
+        final ListPreference mockPref = mock(ListPreference.class);
+        mController.updateState(mockPref);
+
+        verify(mockPref).setEnabled(false);
+        verify(mockPref).setSummary(R.string.zen_mode_from_none_messages);
+    }
+
+    @Test
+    public void updateState_AlarmsOnly() {
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_ALARMS);
+
+        final ListPreference mockPref = mock(ListPreference.class);
+        mController.updateState(mockPref);
+
+        verify(mockPref).setEnabled(false);
+        verify(mockPref).setSummary(R.string.zen_mode_from_none_messages);
+    }
+
+    @Test
+    public void updateState_Priority() {
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_IMPORTANT_INTERRUPTIONS);
+
+        when(mBackend.isPriorityCategoryEnabled(
+                NotificationManager.Policy.PRIORITY_CATEGORY_MESSAGES))
+                .thenReturn(true);
+
+        mController.updateState(mockPref);
+
+        verify(mockPref).setEnabled(true);
+        verify(mockPref).setSummary(R.string.zen_mode_from_starred);
+    }
+
+    @Test
+    public void onPreferenceChange_setSelectedContacts_any() {
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_IMPORTANT_INTERRUPTIONS);
+        when(mBackend.getPriorityMessageSenders()).thenReturn(
+                NotificationManager.Policy.PRIORITY_SENDERS_ANY);
+        mController.updateState(mockPref);
+        verify(mockPref).setValue(mValues[mController.getIndexOfSendersValue(
+                ZenModeBackend.ZEN_MODE_FROM_ANYONE)]);
+    }
+
+    @Test
+    public void onPreferenceChange_setSelectedContacts_none() {
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_IMPORTANT_INTERRUPTIONS);
+        when(mBackend.getPriorityMessageSenders()).thenReturn(ZenModeBackend.SOURCE_NONE);
+        mController.updateState(mockPref);
+        verify(mockPref).setValue(mValues[mController.getIndexOfSendersValue(
+                ZenModeBackend.ZEN_MODE_FROM_NONE)]);
+    }
+
+    @Test
+    public void onPreferenceChange_setSelectedContacts_starred() {
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_IMPORTANT_INTERRUPTIONS);
+        when(mBackend.getPriorityMessageSenders()).thenReturn(
+                NotificationManager.Policy.PRIORITY_SENDERS_STARRED);
+        mController.updateState(mockPref);
+        verify(mockPref).setValue(mValues[mController.getIndexOfSendersValue(
+                ZenModeBackend.ZEN_MODE_FROM_STARRED)]);
+    }
+
+    @Test
+    public void onPreferenceChange_setSelectedContacts_contacts() {
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_IMPORTANT_INTERRUPTIONS);
+        when(mBackend.getPriorityMessageSenders()).thenReturn(
+                NotificationManager.Policy.PRIORITY_SENDERS_CONTACTS);
+        mController.updateState(mockPref);
+        verify(mockPref).setValue(mValues[mController.getIndexOfSendersValue(
+                ZenModeBackend.ZEN_MODE_FROM_CONTACTS)]);
+    }
+}
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/notification/zen/ZenModeRemindersPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/zen/ZenModeRemindersPreferenceControllerTest.java
new file mode 100644
index 0000000..213c360
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/zen/ZenModeRemindersPreferenceControllerTest.java
@@ -0,0 +1,142 @@
+/*
+ * 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.zen;
+
+import static android.provider.Settings.Global.ZEN_MODE;
+import static android.provider.Settings.Global.ZEN_MODE_ALARMS;
+import static android.provider.Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS;
+import static android.provider.Settings.Global.ZEN_MODE_NO_INTERRUPTIONS;
+
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.NotificationManager;
+import android.content.ContentResolver;
+import android.content.Context;
+import android.provider.Settings;
+
+import androidx.preference.PreferenceScreen;
+import androidx.preference.SwitchPreference;
+
+import com.android.settings.notification.zen.ZenModeBackend;
+import com.android.settings.notification.zen.ZenModeRemindersPreferenceController;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+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 org.robolectric.shadows.ShadowApplication;
+import org.robolectric.util.ReflectionHelpers;
+
+@RunWith(RobolectricTestRunner.class)
+public class ZenModeRemindersPreferenceControllerTest {
+
+    private static final boolean REMINDERS_SETTINGS = true;
+
+    private ZenModeRemindersPreferenceController mController;
+
+    @Mock
+    private ZenModeBackend mBackend;
+    @Mock
+    private NotificationManager mNotificationManager;
+    @Mock
+    private SwitchPreference mockPref;
+    @Mock
+    private NotificationManager.Policy mPolicy;
+    @Mock
+    private PreferenceScreen mPreferenceScreen;
+
+    private ContentResolver mContentResolver;
+    private Context mContext;
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+        ShadowApplication shadowApplication = ShadowApplication.getInstance();
+        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
+
+        mContext = RuntimeEnvironment.application;
+        mContentResolver = RuntimeEnvironment.application.getContentResolver();
+        when(mNotificationManager.getNotificationPolicy()).thenReturn(mPolicy);
+
+        mController = new ZenModeRemindersPreferenceController(mContext, mock(Lifecycle.class));
+        ReflectionHelpers.setField(mController, "mBackend", mBackend);
+
+        when(mPreferenceScreen.findPreference(mController.getPreferenceKey()))
+                .thenReturn(mockPref);
+        mController.displayPreference(mPreferenceScreen);
+    }
+
+    @Test
+    public void updateState_TotalSilence() {
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_NO_INTERRUPTIONS);
+
+        final SwitchPreference mockPref = mock(SwitchPreference.class);
+        mController.updateState(mockPref);
+
+        verify(mockPref).setEnabled(false);
+        verify(mockPref).setChecked(false);
+    }
+
+    @Test
+    public void updateState_AlarmsOnly() {
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_ALARMS);
+
+        final SwitchPreference mockPref = mock(SwitchPreference.class);
+        mController.updateState(mockPref);
+
+        verify(mockPref).setEnabled(false);
+        verify(mockPref).setChecked(false);
+    }
+
+    @Test
+    public void updateState_Priority() {
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_IMPORTANT_INTERRUPTIONS);
+
+        when(mBackend.isPriorityCategoryEnabled(
+                NotificationManager.Policy.PRIORITY_CATEGORY_REMINDERS)).
+                thenReturn(REMINDERS_SETTINGS);
+
+        mController.updateState(mockPref);
+
+        verify(mockPref).setEnabled(true);
+        verify(mockPref).setChecked(REMINDERS_SETTINGS);
+    }
+
+    @Test
+    public void onPreferenceChanged_EnableReminders() {
+        boolean allow = true;
+        mController.onPreferenceChange(mockPref, allow);
+
+        verify(mBackend)
+                .saveSoundPolicy(NotificationManager.Policy.PRIORITY_CATEGORY_REMINDERS, allow);
+    }
+
+    @Test
+    public void onPreferenceChanged_DisableReminders() {
+        boolean allow = false;
+        mController.onPreferenceChange(mockPref, allow);
+
+        verify(mBackend)
+                .saveSoundPolicy(NotificationManager.Policy.PRIORITY_CATEGORY_REMINDERS, allow);
+    }
+}
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/notification/zen/ZenModeRepeatCallersPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/zen/ZenModeRepeatCallersPreferenceControllerTest.java
new file mode 100644
index 0000000..59cfb47
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/zen/ZenModeRepeatCallersPreferenceControllerTest.java
@@ -0,0 +1,159 @@
+/*
+ * 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.zen;
+
+import static android.provider.Settings.Global.ZEN_MODE;
+import static android.provider.Settings.Global.ZEN_MODE_ALARMS;
+import static android.provider.Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS;
+import static android.provider.Settings.Global.ZEN_MODE_NO_INTERRUPTIONS;
+
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.NotificationManager;
+import android.content.ContentResolver;
+import android.content.Context;
+import android.provider.Settings;
+
+import androidx.preference.PreferenceScreen;
+import androidx.preference.SwitchPreference;
+
+import com.android.settings.notification.zen.ZenModeBackend;
+import com.android.settings.notification.zen.ZenModeRepeatCallersPreferenceController;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+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 org.robolectric.shadows.ShadowApplication;
+import org.robolectric.util.ReflectionHelpers;
+
+@RunWith(RobolectricTestRunner.class)
+public class ZenModeRepeatCallersPreferenceControllerTest {
+
+    private static final boolean REPEAT_CALLERS_SETTINGS = true;
+
+    private ZenModeRepeatCallersPreferenceController mController;
+
+    @Mock
+    private ZenModeBackend mBackend;
+    @Mock
+    private NotificationManager mNotificationManager;
+    @Mock
+    private SwitchPreference mockPref;
+    @Mock
+    private NotificationManager.Policy mPolicy;
+    @Mock
+    private PreferenceScreen mPreferenceScreen;
+    private ContentResolver mContentResolver;
+    private Context mContext;
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+        ShadowApplication shadowApplication = ShadowApplication.getInstance();
+        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
+
+        mContext = RuntimeEnvironment.application;
+        mContentResolver = RuntimeEnvironment.application.getContentResolver();
+        when(mNotificationManager.getNotificationPolicy()).thenReturn(mPolicy);
+
+        mController = new ZenModeRepeatCallersPreferenceController(mContext, mock(Lifecycle.class),
+                15);
+        ReflectionHelpers.setField(mController, "mBackend", mBackend);
+
+        when(mPreferenceScreen.findPreference(mController.getPreferenceKey())).thenReturn(mockPref);
+        mController.displayPreference(mPreferenceScreen);
+    }
+
+    @Test
+    public void updateState_TotalSilence() {
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_NO_INTERRUPTIONS);
+        final SwitchPreference mockPref = mock(SwitchPreference.class);
+        mController.updateState(mockPref);
+
+        verify(mockPref).setEnabled(false);
+        verify(mockPref).setChecked(false);
+    }
+
+    @Test
+    public void updateState_AlarmsOnly() {
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_ALARMS);
+
+        final SwitchPreference mockPref = mock(SwitchPreference.class);
+        mController.updateState(mockPref);
+
+        verify(mockPref).setEnabled(false);
+        verify(mockPref).setChecked(false);
+    }
+
+    @Test
+    public void updateState_Priority() {
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_IMPORTANT_INTERRUPTIONS);
+
+        when(mBackend.isPriorityCategoryEnabled(
+                NotificationManager.Policy.PRIORITY_CATEGORY_REPEAT_CALLERS)).
+                thenReturn(REPEAT_CALLERS_SETTINGS);
+
+        mController.updateState(mockPref);
+
+        verify(mockPref).setEnabled(true);
+        verify(mockPref).setChecked(REPEAT_CALLERS_SETTINGS);
+    }
+
+    @Test
+    public void updateState_Priority_anyCallers() {
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_IMPORTANT_INTERRUPTIONS);
+        when(mBackend.isPriorityCategoryEnabled(NotificationManager.Policy.PRIORITY_CATEGORY_CALLS))
+                .thenReturn(true);
+        when(mBackend.getPriorityCallSenders()).thenReturn(
+                NotificationManager.Policy.PRIORITY_SENDERS_ANY);
+        when(mBackend.isPriorityCategoryEnabled(
+                NotificationManager.Policy.PRIORITY_CATEGORY_REPEAT_CALLERS))
+                .thenReturn(false);
+
+        mController.updateState(mockPref);
+
+        verify(mockPref).setEnabled(false);
+        verify(mockPref).setChecked(true);
+    }
+
+    @Test
+    public void onPreferenceChanged_EnableRepeatCallers() {
+        boolean allow = true;
+        mController.onPreferenceChange(mockPref, allow);
+
+        verify(mBackend)
+                .saveSoundPolicy(NotificationManager.Policy.PRIORITY_CATEGORY_REPEAT_CALLERS,
+                        allow);
+    }
+
+    @Test
+    public void onPreferenceChanged_DisableRepeatCallers() {
+        boolean allow = false;
+        mController.onPreferenceChange(mockPref, allow);
+
+        verify(mBackend)
+                .saveSoundPolicy(NotificationManager.Policy.PRIORITY_CATEGORY_REPEAT_CALLERS,
+                        allow);
+    }
+}
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/notification/zen/ZenModeScheduleRuleSettingsTest.java b/tests/robotests/src/com/android/settings/notification/zen/ZenModeScheduleRuleSettingsTest.java
new file mode 100644
index 0000000..a556dbf
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/zen/ZenModeScheduleRuleSettingsTest.java
@@ -0,0 +1,106 @@
+/*
+ * 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.zen;
+
+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.verify;
+import static org.mockito.Mockito.when;
+import static org.robolectric.RuntimeEnvironment.application;
+
+import android.app.NotificationManager;
+import android.content.Context;
+import android.content.Intent;
+import android.content.res.Resources;
+
+import androidx.fragment.app.FragmentActivity;
+
+import com.android.settings.R;
+import com.android.settings.notification.zen.ZenModeScheduleRuleSettings;
+
+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 org.robolectric.shadows.ShadowApplication;
+import org.robolectric.shadows.ShadowToast;
+
+@RunWith(RobolectricTestRunner.class)
+public class ZenModeScheduleRuleSettingsTest {
+
+    @Mock
+    private FragmentActivity mActivity;
+
+    @Mock
+    private Intent mIntent;
+
+    @Mock
+    private NotificationManager mNotificationManager;
+
+    private TestFragment mFragment;
+    private Context mContext;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+
+        ShadowApplication shadowApplication = ShadowApplication.getInstance();
+        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
+        mContext = RuntimeEnvironment.application;
+
+        mFragment = spy(new TestFragment());
+        mFragment.onAttach(application);
+
+        doReturn(mActivity).when(mFragment).getActivity();
+
+        Resources res = application.getResources();
+
+        doReturn(res).when(mFragment).getResources();
+        when(mActivity.getTheme()).thenReturn(res.newTheme());
+        when(mActivity.getIntent()).thenReturn(mIntent);
+        when(mActivity.getResources()).thenReturn(res);
+        when(mFragment.getContext()).thenReturn(mContext);
+    }
+
+    @Test
+    public void onCreate_noRuleId_shouldToastAndFinishAndNoCrash() {
+        final String expected = mContext.getString(R.string.zen_mode_rule_not_found_text);
+
+        mFragment.onCreate(null);
+
+        // verify the toast
+        assertThat(ShadowToast.getTextOfLatestToast()).isEqualTo(expected);
+
+        // verify the finish
+        verify(mActivity).finish();
+
+        //should not crash
+    }
+
+    public static class TestFragment extends ZenModeScheduleRuleSettings {
+
+        @Override
+        protected Object getSystemService(final String name) {
+            return null;
+        }
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/zen/ZenModeSettingsFooterPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/zen/ZenModeSettingsFooterPreferenceControllerTest.java
new file mode 100644
index 0000000..efa2f55
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/zen/ZenModeSettingsFooterPreferenceControllerTest.java
@@ -0,0 +1,301 @@
+/*
+ * 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.zen;
+
+import static android.provider.Settings.Global.ZEN_MODE;
+import static android.provider.Settings.Global.ZEN_MODE_ALARMS;
+import static android.provider.Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS;
+import static android.provider.Settings.Global.ZEN_MODE_NO_INTERRUPTIONS;
+import static android.provider.Settings.Global.ZEN_MODE_OFF;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.NotificationManager;
+import android.content.ComponentName;
+import android.content.ContentResolver;
+import android.content.Context;
+import android.net.Uri;
+import android.provider.Settings;
+import android.service.notification.ZenModeConfig;
+import android.service.notification.ZenModeConfig.ZenRule;
+import android.util.ArrayMap;
+
+import androidx.fragment.app.FragmentManager;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.notification.zen.AbstractZenModePreferenceController.ZenModeConfigWrapper;
+import com.android.settings.notification.zen.ZenModeSettingsFooterPreferenceController;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+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 org.robolectric.shadows.ShadowApplication;
+import org.robolectric.util.ReflectionHelpers;
+
+@RunWith(RobolectricTestRunner.class)
+public class ZenModeSettingsFooterPreferenceControllerTest {
+
+    private static final String TEST_APP_NAME = "test_app";
+    private static final String TEST_RULE_NAME = "test_rule_name";
+    private static final String MANUAL_RULE_FIELD = "manualRule";
+    private static final String AUTOMATIC_RULES_FIELD = "automaticRules";
+
+    private ZenModeSettingsFooterPreferenceController mController;
+
+    private final ArrayMap<String, ZenRule> mInjectedAutomaticRules = new ArrayMap<>();
+
+    @Mock
+    private NotificationManager mNotificationManager;
+    @Mock
+    private Preference mockPref;
+    @Mock
+    private ZenModeConfig mZenModeConfig;
+    @Mock
+    private PreferenceScreen mPreferenceScreen;
+    @Mock
+    private ZenModeConfigWrapper mConfigWrapper;
+
+    private Context mContext;
+    private ContentResolver mContentResolver;
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+        ShadowApplication shadowApplication = ShadowApplication.getInstance();
+        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
+
+        mContext = RuntimeEnvironment.application;
+        mContentResolver = RuntimeEnvironment.application.getContentResolver();
+        when(mNotificationManager.getZenModeConfig()).thenReturn(mZenModeConfig);
+
+        mController = new ZenModeSettingsFooterPreferenceController(mContext, mock(Lifecycle.class),
+                mock(FragmentManager.class));
+        ReflectionHelpers.setField(mZenModeConfig, AUTOMATIC_RULES_FIELD, mInjectedAutomaticRules);
+        ReflectionHelpers.setField(mController, "mZenModeConfigWrapper", mConfigWrapper);
+
+        when(mPreferenceScreen.findPreference(mController.getPreferenceKey())).thenReturn(mockPref);
+        mController.displayPreference(mPreferenceScreen);
+    }
+
+    @Test
+    public void totalSilence_footerIsAvailable() {
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_NO_INTERRUPTIONS);
+        assertTrue(mController.isAvailable());
+    }
+
+    @Test
+    public void alarmsOnly_footerIsAvailable() {
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_ALARMS);
+        assertTrue(mController.isAvailable());
+    }
+
+    @Test
+    public void priorityOnly_footerIsAvailable() {
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_IMPORTANT_INTERRUPTIONS);
+        assertTrue(mController.isAvailable());
+    }
+
+    @Test
+    public void zenModeOff_footerIsNotAvailable() {
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_OFF);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void testDefaultNotifPolicy_app_manualRule_setFooterTitle() {
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_IMPORTANT_INTERRUPTIONS);
+        injectManualRuleFromApp();
+        mController.updateState(mockPref);
+
+        verify(mockPref).setTitle(mContext.getString(
+                com.android.settings.R.string.zen_mode_settings_dnd_automatic_rule_app,
+                TEST_APP_NAME));
+    }
+
+    @Test
+    public void testDefaultNotifPolicy_time_manualRule_setFooterTitle() {
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_IMPORTANT_INTERRUPTIONS);
+        String placeholder = "placeholder";
+        injectManualRuleWithTimeCountdown(1000, placeholder);
+        mController.updateState(mockPref);
+
+        verify(mockPref).setTitle(mContext.getString(
+                com.android.settings.R.string.zen_mode_settings_dnd_manual_end_time, placeholder));
+    }
+
+    @Test
+    public void testDefaultNotifPolicy_forever_manualRule_setFooterTitle() {
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_IMPORTANT_INTERRUPTIONS);
+        injectManualRuleWithIndefiniteEnd();
+        mController.updateState(mockPref);
+
+        verify(mockPref).setTitle(mContext.getString(
+                com.android.settings.R.string.zen_mode_settings_dnd_manual_indefinite));
+    }
+
+    @Test
+    public void testDefaultNotifPolicy_automaticRule_noManualRule_setFooterTitle() {
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_IMPORTANT_INTERRUPTIONS);
+        // no manual rule
+        ReflectionHelpers.setField(mZenModeConfig, MANUAL_RULE_FIELD, null);
+
+        // adding automatic rule
+        injectNewAutomaticRule(TEST_RULE_NAME, true, false);
+
+        mController.updateState(mockPref);
+
+        verify(mockPref).setTitle(mContext.getString(
+                com.android.settings.R.string.zen_mode_settings_dnd_automatic_rule,
+                TEST_RULE_NAME));
+    }
+
+    @Test
+    public void testDefaultNotifPolicy_manualRuleEndsLast_hasAutomaticRule_setFooterTitle() {
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_IMPORTANT_INTERRUPTIONS);
+        // manual rule that ends after automatic rule ends
+        injectManualRuleWithIndefiniteEnd();
+
+        // automatic rule that ends before manual rule ends
+        injectNewAutomaticRule(TEST_RULE_NAME, true, false);
+
+        mController.updateState(mockPref);
+
+        // manual rule end time is after automatic rule end time, so it is displayed
+        verify(mockPref).setTitle(mContext.getString(
+                com.android.settings.R.string.zen_mode_settings_dnd_manual_indefinite));
+    }
+
+    @Test
+    public void testDefaultNotifPolicy_automaticRuleEndsLast_hasManualRule_setFooterTitle() {
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_IMPORTANT_INTERRUPTIONS);
+        // manual rule that ends before automatic rule ends
+        injectManualRuleWithTimeCountdown(1000, "");
+
+        // automatic rule that ends after manual rule ends
+        ZenRule rule = injectNewAutomaticRule(TEST_RULE_NAME, true, false);
+        when(mConfigWrapper.parseAutomaticRuleEndTime(rule.conditionId)).thenReturn(2000L);
+
+        mController.updateState(mockPref);
+
+        // automatic rule end time is after manual rule end time, so it is displayed
+        verify(mockPref).setTitle(mContext.getString(
+                com.android.settings.R.string.zen_mode_settings_dnd_automatic_rule,
+                TEST_RULE_NAME));
+    }
+
+    @Test
+    public void testDefaultNotifPolicy_multipleAutomaticRules_autoRuleApp_setFooterTitle() {
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_IMPORTANT_INTERRUPTIONS);
+
+        // automatic rule that ends after manual rule ends
+        ZenRule rule1 = injectNewAutomaticRule(TEST_RULE_NAME + "1", false, false);
+        when(mConfigWrapper.parseAutomaticRuleEndTime(rule1.conditionId)).thenReturn(10000L);
+
+        // automatic rule that is an app
+        injectNewAutomaticRule(TEST_RULE_NAME + "2", true, true);
+
+        ZenRule rule3 = injectNewAutomaticRule(TEST_RULE_NAME + "3", true, false);
+        when(mConfigWrapper.parseAutomaticRuleEndTime(rule3.conditionId)).thenReturn(9000L);
+
+        mController.updateState(mockPref);
+
+        // automatic rule from app is displayed
+        verify(mockPref).setTitle(mContext.getString(
+                com.android.settings.R.string.zen_mode_settings_dnd_automatic_rule,
+                TEST_RULE_NAME + "2"));
+    }
+
+    @Test
+    public void testDefaultNotifPolicy_multipleAutomaticRules_setFooterTitle() {
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_IMPORTANT_INTERRUPTIONS);
+
+        // automatic rule that ends after manual rule ends
+        ZenRule rule1 = injectNewAutomaticRule(TEST_RULE_NAME + "1", true, false);
+        when(mConfigWrapper.parseAutomaticRuleEndTime(rule1.conditionId)).thenReturn(2000L);
+
+        ZenRule rule2 = injectNewAutomaticRule(TEST_RULE_NAME + "2", true, false);
+        when(mConfigWrapper.parseAutomaticRuleEndTime(rule2.conditionId)).thenReturn(8000L);
+
+        ZenRule rule3 = injectNewAutomaticRule(TEST_RULE_NAME + "3", false, false);
+        when(mConfigWrapper.parseAutomaticRuleEndTime(rule3.conditionId)).thenReturn(12000L);
+
+        mController.updateState(mockPref);
+
+        // active automatic rule with the latest end time will display
+        verify(mockPref).setTitle(mContext.getString(
+                com.android.settings.R.string.zen_mode_settings_dnd_automatic_rule,
+                TEST_RULE_NAME + "2"));
+    }
+
+    // manual rule that has no end condition (forever)
+    private void injectManualRuleWithIndefiniteEnd() {
+        ZenRule injectedManualRule = new ZenRule();
+        injectedManualRule.zenMode = ZEN_MODE_IMPORTANT_INTERRUPTIONS;
+        injectedManualRule.conditionId = null;
+        injectedManualRule.enabler = null;
+        ReflectionHelpers.setField(mZenModeConfig, MANUAL_RULE_FIELD, injectedManualRule);
+    }
+
+    // manual rule triggered by an app
+    private void injectManualRuleFromApp() {
+        ZenRule injectedManualRule = new ZenRule();
+        injectedManualRule.zenMode = ZEN_MODE_IMPORTANT_INTERRUPTIONS;
+        injectedManualRule.enabler = TEST_APP_NAME;
+        when(mConfigWrapper.getOwnerCaption(injectedManualRule.enabler)).thenReturn(TEST_APP_NAME);
+        ReflectionHelpers.setField(mZenModeConfig, MANUAL_RULE_FIELD, injectedManualRule);
+    }
+
+    // manual rule that ends in specified time
+    private void injectManualRuleWithTimeCountdown(long time, String timePlaceholder) {
+        ZenRule injectedManualRule = new ZenRule();
+        injectedManualRule.zenMode = ZEN_MODE_IMPORTANT_INTERRUPTIONS;
+        injectedManualRule.enabler = null;
+        injectedManualRule.conditionId = mock(Uri.class);
+        when(mConfigWrapper.parseManualRuleTime(injectedManualRule.conditionId)).thenReturn(time);
+        when(mConfigWrapper.getFormattedTime(time, mContext.getUserId()))
+                .thenReturn(timePlaceholder);
+        ReflectionHelpers.setField(mZenModeConfig, MANUAL_RULE_FIELD, injectedManualRule);
+    }
+
+    // manual rule that ends in time
+    private ZenRule injectNewAutomaticRule(String nameAndId, boolean isActive, boolean isApp) {
+        ZenRule injectedRule = spy(new ZenRule());
+        injectedRule.zenMode = ZEN_MODE_NO_INTERRUPTIONS;
+        injectedRule.component = mock(ComponentName.class);
+        injectedRule.name = nameAndId;
+        injectedRule.conditionId = new Uri.Builder().authority(nameAndId).build(); // unique uri
+        when(injectedRule.isAutomaticActive()).thenReturn(isActive);
+        when(mConfigWrapper.isTimeRule(injectedRule.conditionId)).thenReturn(!isApp);
+        if (isApp) {
+            when(injectedRule.component.getPackageName()).thenReturn(TEST_APP_NAME);
+        }
+        mInjectedAutomaticRules.put(nameAndId, injectedRule);
+
+        return injectedRule;
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/zen/ZenModeSettingsTest.java b/tests/robotests/src/com/android/settings/notification/zen/ZenModeSettingsTest.java
new file mode 100644
index 0000000..da185ad
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/zen/ZenModeSettingsTest.java
@@ -0,0 +1,136 @@
+/*
+ * 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.notification.zen;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.junit.Assert.assertEquals;
+
+import android.app.NotificationManager;
+import android.app.NotificationManager.Policy;
+import android.content.Context;
+import android.provider.SearchIndexableResource;
+
+import com.android.settings.R;
+import com.android.settings.notification.zen.ZenModeSettings;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+import java.util.List;
+
+@RunWith(RobolectricTestRunner.class)
+public class ZenModeSettingsTest {
+
+    private ZenModeSettings.SummaryBuilder mBuilder;
+    private Context mContext;
+
+    @Before
+    public void setUp() {
+        mContext = RuntimeEnvironment.application.getApplicationContext();
+        mBuilder = new ZenModeSettings.SummaryBuilder(mContext);
+    }
+
+    @Test
+    public void testBlockedEffectsSummary_none() {
+        Policy policy = new Policy(0, 0, 0, 0);
+        assertEquals(mContext.getString(R.string.zen_mode_restrict_notifications_summary_muted),
+                mBuilder.getBlockedEffectsSummary(policy));
+    }
+
+    @Test
+    public void testBlockedEffectsSummary_some() {
+        Policy policy = new Policy(0, 0, 0, NotificationManager.Policy.SUPPRESSED_EFFECT_PEEK);
+        assertEquals(mContext.getString(R.string.zen_mode_restrict_notifications_summary_custom),
+                mBuilder.getBlockedEffectsSummary(policy));
+    }
+
+    @Test
+    public void testBlockedEffectsSummary_all() {
+        Policy policy = new Policy(0, 0, 0, 511);
+        assertEquals(mContext.getString(R.string.zen_mode_restrict_notifications_summary_hidden),
+                mBuilder.getBlockedEffectsSummary(policy));
+    }
+
+    @Test
+    public void testGetCallsSettingSummary_none() {
+        Policy policy = new Policy(0, 0, 0, 0);
+        assertThat(mBuilder.getCallsSettingSummary(policy)).isEqualTo("Don\u2019t allow any calls");
+    }
+
+    @Test
+    public void testGetCallsSettingSummary_contacts() {
+        Policy policy = new Policy(Policy.PRIORITY_CATEGORY_ALARMS | Policy.PRIORITY_CATEGORY_CALLS,
+                Policy.PRIORITY_SENDERS_CONTACTS, 0, 0);
+        assertThat(mBuilder.getCallsSettingSummary(policy)).isEqualTo("Allow from contacts");
+    }
+
+    @Test
+    public void testGetCallsSettingSummary_repeatCallers() {
+        Policy policy = new Policy(Policy.PRIORITY_CATEGORY_REPEAT_CALLERS, 0, 0, 0);
+        assertThat(mBuilder.getCallsSettingSummary(policy)).isEqualTo("Allow from repeat callers");
+    }
+
+    @Test
+    public void testGetCallsSettingSummary_starredRepeatCallers() {
+        Policy policy = new Policy(
+                Policy.PRIORITY_CATEGORY_REPEAT_CALLERS | Policy.PRIORITY_CATEGORY_CALLS,
+                Policy.PRIORITY_SENDERS_STARRED, 0, 0);
+        assertThat(mBuilder.getCallsSettingSummary(policy))
+                .isEqualTo("Allow from starred contacts and repeat callers");
+    }
+
+    @Test
+    public void testGetSoundSettingSummary_allOff() {
+        Policy policy = new Policy(0, 0, 0, 0);
+        assertThat(mBuilder.getSoundSettingSummary(policy)).isEqualTo("Muted");
+    }
+
+    @Test
+    public void testGetSoundSettingSummary_allOn() {
+        Policy policy = new Policy(Policy.PRIORITY_CATEGORY_ALARMS | Policy.PRIORITY_CATEGORY_SYSTEM
+                | Policy.PRIORITY_CATEGORY_MEDIA, 0, 0, 0);
+        assertThat(mBuilder.getSoundSettingSummary(policy))
+                .isEqualTo("Muted, but allow alarms, media, and touch sounds");
+    }
+
+    @Test
+    public void testGetSoundSettingSummary_allOffButOne() {
+        Policy policy = new Policy(Policy.PRIORITY_CATEGORY_MEDIA, 0, 0, 0);
+        assertThat(mBuilder.getSoundSettingSummary(policy)).isEqualTo("Muted, but allow media");
+    }
+
+    @Test
+    public void testGetSoundSettingSummary_allOffButTwo() {
+        Policy policy = new Policy(Policy.PRIORITY_CATEGORY_SYSTEM
+                | Policy.PRIORITY_CATEGORY_MEDIA, 0, 0, 0);
+        assertThat(mBuilder.getSoundSettingSummary(policy))
+                .isEqualTo("Muted, but allow media and touch sounds");
+    }
+
+    @Test
+    public void searchProvider_shouldIndexDefaultXml() {
+        final List<SearchIndexableResource> sir = ZenModeSettings.SEARCH_INDEX_DATA_PROVIDER
+                .getXmlResourcesToIndex(mContext, true /* enabled */);
+
+        assertThat(sir).hasSize(1);
+        assertThat(sir.get(0).xmlResId).isEqualTo(R.xml.zen_mode_settings);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/zen/ZenModeSliceBuilderTest.java b/tests/robotests/src/com/android/settings/notification/zen/ZenModeSliceBuilderTest.java
new file mode 100644
index 0000000..400543c
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/zen/ZenModeSliceBuilderTest.java
@@ -0,0 +1,100 @@
+/*
+ * 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.notification.zen;
+
+import static android.app.slice.Slice.EXTRA_TOGGLE_STATE;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.app.NotificationManager;
+import android.content.Context;
+import android.content.Intent;
+import android.provider.Settings;
+
+import androidx.slice.Slice;
+import androidx.slice.SliceMetadata;
+import androidx.slice.SliceProvider;
+import androidx.slice.core.SliceAction;
+import androidx.slice.widget.SliceLiveData;
+
+import com.android.settings.R;
+import com.android.settings.notification.zen.ZenModeSliceBuilder;
+import com.android.settings.testutils.shadow.ShadowNotificationManager;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
+
+import java.util.List;
+
+@Config(shadows = ShadowNotificationManager.class)
+@RunWith(RobolectricTestRunner.class)
+public class ZenModeSliceBuilderTest {
+
+    private Context mContext;
+
+    @Before
+    public void setUp() {
+        mContext = RuntimeEnvironment.application;
+
+        // Set-up specs for SliceMetadata.
+        SliceProvider.setSpecs(SliceLiveData.SUPPORTED_SPECS);
+    }
+
+    @Test
+    public void getZenModeSlice_correctSliceContent() {
+        final Slice dndSlice = ZenModeSliceBuilder.getSlice(mContext);
+
+        final SliceMetadata metadata = SliceMetadata.from(mContext, dndSlice);
+        assertThat(metadata.getTitle()).isEqualTo(
+                mContext.getString(R.string.zen_mode_settings_title));
+
+        final List<SliceAction> toggles = metadata.getToggles();
+        assertThat(toggles).hasSize(1);
+
+        final SliceAction primaryAction = metadata.getPrimaryAction();
+        assertThat(primaryAction.getIcon()).isNull();
+    }
+
+    @Test
+    public void handleUriChange_turnOn_zenModeTurnsOn() {
+        final Intent intent = new Intent();
+        intent.putExtra(EXTRA_TOGGLE_STATE, true);
+        NotificationManager.from(mContext).setZenMode(Settings.Global.ZEN_MODE_OFF, null, "");
+
+        ZenModeSliceBuilder.handleUriChange(mContext, intent);
+
+        final int zenMode = NotificationManager.from(mContext).getZenMode();
+        assertThat(zenMode).isEqualTo(Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS);
+    }
+
+    @Test
+    public void handleUriChange_turnOff_zenModeTurnsOff() {
+        final Intent intent = new Intent();
+        intent.putExtra(EXTRA_TOGGLE_STATE, false);
+        NotificationManager.from(mContext).setZenMode(
+                Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS, null, "");
+
+        ZenModeSliceBuilder.handleUriChange(mContext, intent);
+
+        final int zenMode = NotificationManager.from(mContext).getZenMode();
+        assertThat(zenMode).isEqualTo(Settings.Global.ZEN_MODE_OFF);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/zen/ZenModeStarredContactsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/zen/ZenModeStarredContactsPreferenceControllerTest.java
new file mode 100644
index 0000000..f27367a
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/zen/ZenModeStarredContactsPreferenceControllerTest.java
@@ -0,0 +1,164 @@
+/*
+ * 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.notification.zen;
+
+import static android.app.NotificationManager.Policy.PRIORITY_CATEGORY_CALLS;
+import static android.app.NotificationManager.Policy.PRIORITY_CATEGORY_MESSAGES;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import android.app.NotificationManager;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.notification.zen.ZenModeBackend;
+import com.android.settings.notification.zen.ZenModeStarredContactsPreferenceController;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+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 org.robolectric.shadows.ShadowApplication;
+import org.robolectric.util.ReflectionHelpers;
+
+
+@RunWith(RobolectricTestRunner.class)
+public class ZenModeStarredContactsPreferenceControllerTest {
+
+    private ZenModeStarredContactsPreferenceController mCallsController;
+    private ZenModeStarredContactsPreferenceController mMessagesController;
+
+    @Mock
+    private ZenModeBackend mBackend;
+    @Mock
+    private NotificationManager mNotificationManager;
+    @Mock
+    private Preference mockPref;
+    @Mock
+    private NotificationManager.Policy mPolicy;
+    @Mock
+    private PreferenceScreen mPreferenceScreen;
+    @Mock
+    private Intent testIntent;
+    @Mock
+    private ComponentName mComponentName;
+    private Context mContext;
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+        ShadowApplication shadowApplication = ShadowApplication.getInstance();
+        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
+
+        mContext = RuntimeEnvironment.application;
+        when(mNotificationManager.getNotificationPolicy()).thenReturn(mPolicy);
+        when(testIntent.resolveActivity(any())).thenReturn(mComponentName);
+
+        mCallsController = new ZenModeStarredContactsPreferenceController(
+                mContext, mock(Lifecycle.class), PRIORITY_CATEGORY_CALLS,
+                "zen_mode_starred_contacts_callers");
+        ReflectionHelpers.setField(mCallsController, "mBackend", mBackend);
+        ReflectionHelpers.setField(mCallsController, "mStarredContactsIntent", testIntent);
+        when(mPreferenceScreen.findPreference(mCallsController.getPreferenceKey()))
+                .thenReturn(mockPref);
+        mCallsController.displayPreference(mPreferenceScreen);
+
+        mMessagesController = new ZenModeStarredContactsPreferenceController(
+                mContext, mock(Lifecycle.class), PRIORITY_CATEGORY_MESSAGES,
+                "zen_mode_starred_contacts_messages");
+        ReflectionHelpers.setField(mMessagesController, "mBackend", mBackend);
+        ReflectionHelpers.setField(mMessagesController, "mStarredContactsIntent", testIntent);
+        when(mPreferenceScreen.findPreference(mMessagesController.getPreferenceKey()))
+                .thenReturn(mockPref);
+        mMessagesController.displayPreference(mPreferenceScreen);
+    }
+
+    @Test
+    public void isAvailable_noCallers() {
+        when(mBackend.isPriorityCategoryEnabled(NotificationManager.Policy.PRIORITY_CATEGORY_CALLS))
+                .thenReturn(false);
+        assertThat(mCallsController.isAvailable()).isFalse();
+    }
+
+    @Test
+    public void isAvailable_anyCallers() {
+        when(mBackend.isPriorityCategoryEnabled(NotificationManager.Policy.PRIORITY_CATEGORY_CALLS))
+                .thenReturn(true);
+        when(mBackend.getPriorityCallSenders())
+                .thenReturn(NotificationManager.Policy.PRIORITY_SENDERS_ANY);
+
+        assertThat(mCallsController.isAvailable()).isFalse();
+    }
+
+    @Test
+    public void isAvailable_starredCallers() {
+        when(mBackend.isPriorityCategoryEnabled(NotificationManager.Policy.PRIORITY_CATEGORY_CALLS))
+                .thenReturn(true);
+        when(mBackend.getPriorityCallSenders())
+                .thenReturn(NotificationManager.Policy.PRIORITY_SENDERS_STARRED);
+
+        assertThat(mCallsController.isAvailable()).isTrue();
+    }
+
+    @Test
+    public void isAvailable_noMessages() {
+        when(mBackend.isPriorityCategoryEnabled(
+                NotificationManager.Policy.PRIORITY_CATEGORY_MESSAGES)).thenReturn(false);
+        assertThat(mMessagesController.isAvailable()).isFalse();
+    }
+
+    @Test
+    public void isAvailable_anyMessages() {
+        when(mBackend.isPriorityCategoryEnabled(
+                NotificationManager.Policy.PRIORITY_CATEGORY_MESSAGES)).thenReturn(true);
+        when(mBackend.getPriorityMessageSenders())
+                .thenReturn(NotificationManager.Policy.PRIORITY_SENDERS_ANY);
+
+        assertThat(mMessagesController.isAvailable()).isFalse();
+    }
+
+    @Test
+    public void isAvailable_starredMessageContacts() {
+        when(mBackend.isPriorityCategoryEnabled(
+                NotificationManager.Policy.PRIORITY_CATEGORY_MESSAGES)).thenReturn(true);
+        when(mBackend.getPriorityMessageSenders())
+                .thenReturn(NotificationManager.Policy.PRIORITY_SENDERS_STARRED);
+
+        assertThat(mMessagesController.isAvailable()).isTrue();
+    }
+
+    @Test
+    public void nullPreference_displayPreference() {
+        when(mPreferenceScreen.findPreference(mMessagesController.getPreferenceKey()))
+                .thenReturn(null);
+
+        // should not throw a null pointer
+        mMessagesController.displayPreference(mPreferenceScreen);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/zen/ZenModeSystemPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/zen/ZenModeSystemPreferenceControllerTest.java
new file mode 100644
index 0000000..6a4ad2a
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/zen/ZenModeSystemPreferenceControllerTest.java
@@ -0,0 +1,134 @@
+/*
+ * 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.notification.zen;
+
+import static android.provider.Settings.Global.ZEN_MODE;
+import static android.provider.Settings.Global.ZEN_MODE_ALARMS;
+import static android.provider.Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS;
+import static android.provider.Settings.Global.ZEN_MODE_NO_INTERRUPTIONS;
+
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.NotificationManager;
+import android.content.ContentResolver;
+import android.content.Context;
+import android.provider.Settings;
+
+import androidx.preference.PreferenceScreen;
+import androidx.preference.SwitchPreference;
+
+import com.android.settings.notification.zen.ZenModeBackend;
+import com.android.settings.notification.zen.ZenModeSystemPreferenceController;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+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 org.robolectric.shadows.ShadowApplication;
+import org.robolectric.util.ReflectionHelpers;
+
+@RunWith(RobolectricTestRunner.class)
+public class ZenModeSystemPreferenceControllerTest {
+    private ZenModeSystemPreferenceController mController;
+
+    @Mock
+    private ZenModeBackend mBackend;
+    @Mock
+    private NotificationManager mNotificationManager;
+    @Mock
+    private SwitchPreference mockPref;
+    @Mock
+    private NotificationManager.Policy mPolicy;
+    @Mock
+    private PreferenceScreen mPreferenceScreen;
+
+    private Context mContext;
+    private ContentResolver mContentResolver;
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+        ShadowApplication shadowApplication = ShadowApplication.getInstance();
+        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
+
+        mContext = RuntimeEnvironment.application;
+        mContentResolver = RuntimeEnvironment.application.getContentResolver();
+        when(mNotificationManager.getNotificationPolicy()).thenReturn(mPolicy);
+        mController = new ZenModeSystemPreferenceController(mContext, mock(Lifecycle.class));
+        ReflectionHelpers.setField(mController, "mBackend", mBackend);
+
+        when(mPreferenceScreen.findPreference(mController.getPreferenceKey())).thenReturn(mockPref);
+        mController.displayPreference(mPreferenceScreen);
+    }
+
+    @Test
+    public void updateState_TotalSilence() {
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_NO_INTERRUPTIONS);
+
+        final SwitchPreference mockPref = mock(SwitchPreference.class);
+        mController.updateState(mockPref);
+
+        verify(mockPref).setEnabled(false);
+        verify(mockPref).setChecked(false);
+    }
+
+    @Test
+    public void updateState_AlarmsOnly() {
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_ALARMS);
+
+        final SwitchPreference mockPref = mock(SwitchPreference.class);
+        mController.updateState(mockPref);
+
+        verify(mockPref).setEnabled(false);
+        verify(mockPref).setChecked(false);
+    }
+
+    @Test
+    public void updateState_Priority() {
+        Settings.Global.putInt(mContentResolver, ZEN_MODE, ZEN_MODE_IMPORTANT_INTERRUPTIONS);
+
+        when(mBackend.isPriorityCategoryEnabled(
+                NotificationManager.Policy.PRIORITY_CATEGORY_SYSTEM)).thenReturn(true);
+
+        mController.updateState(mockPref);
+
+        verify(mockPref).setEnabled(true);
+        verify(mockPref).setChecked(true);
+    }
+
+    @Test
+    public void onPreferenceChanged_EnableSystem() {
+        mController.onPreferenceChange(mockPref, true);
+
+        verify(mBackend).saveSoundPolicy(NotificationManager.Policy.PRIORITY_CATEGORY_SYSTEM,
+                true);
+    }
+
+    @Test
+    public void onPreferenceChanged_DisableSystem() {
+        mController.onPreferenceChange(mockPref, false);
+
+        verify(mBackend).saveSoundPolicy(NotificationManager.Policy.PRIORITY_CATEGORY_SYSTEM,
+                false);
+    }
+}
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/notification/zen/ZenModeVisEffectPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/zen/ZenModeVisEffectPreferenceControllerTest.java
new file mode 100644
index 0000000..c1b38c5
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/zen/ZenModeVisEffectPreferenceControllerTest.java
@@ -0,0 +1,182 @@
+/*
+ * 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.notification.zen;
+
+import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_BADGE;
+import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_LIGHTS;
+import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_NOTIFICATION_LIST;
+import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_PEEK;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.ArgumentMatchers.nullable;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.NotificationManager;
+import android.content.Context;
+import android.content.res.Resources;
+
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.notification.zen.ZenModeBackend;
+import com.android.settings.notification.zen.ZenModeVisEffectPreferenceController;
+import com.android.settings.testutils.FakeFeatureFactory;
+import com.android.settings.widget.DisabledCheckBoxPreference;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+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 org.robolectric.shadows.ShadowApplication;
+import org.robolectric.util.ReflectionHelpers;
+
+@RunWith(RobolectricTestRunner.class)
+public class ZenModeVisEffectPreferenceControllerTest {
+    private ZenModeVisEffectPreferenceController mController;
+
+    @Mock
+    private ZenModeBackend mBackend;
+    @Mock
+    private DisabledCheckBoxPreference mockPref;
+    private Context mContext;
+    private FakeFeatureFactory mFeatureFactory;
+    @Mock
+    private PreferenceScreen mScreen;
+    @Mock
+    NotificationManager mNotificationManager;
+
+    private static final String PREF_KEY = "main_pref";
+    private static final int PREF_METRICS = 1;
+    private static final int PARENT_EFFECT1 = SUPPRESSED_EFFECT_BADGE;
+    private static final int PARENT_EFFECT2 = SUPPRESSED_EFFECT_NOTIFICATION_LIST;
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+        ShadowApplication shadowApplication = ShadowApplication.getInstance();
+        mContext = RuntimeEnvironment.application;
+        mFeatureFactory = FakeFeatureFactory.setupForTest();
+        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
+        when(mNotificationManager.getNotificationPolicy()).thenReturn(
+                mock(NotificationManager.Policy.class));
+        mController = new ZenModeVisEffectPreferenceController(mContext, mock(Lifecycle.class),
+                PREF_KEY, SUPPRESSED_EFFECT_PEEK, PREF_METRICS, null);
+        ReflectionHelpers.setField(mController, "mBackend", mBackend);
+
+        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mockPref);
+        mController.displayPreference(mScreen);
+    }
+
+    @Test
+    public void isAvailable() {
+        // SUPPRESSED_EFFECT_PEEK is always available:
+        assertTrue(mController.isAvailable());
+
+        // SUPPRESSED_EFFECT_LIGHTS is only available if the device has an LED:
+        Context mockContext = mock(Context.class);
+        mController = new ZenModeVisEffectPreferenceController(mockContext, mock(Lifecycle.class),
+                PREF_KEY, SUPPRESSED_EFFECT_LIGHTS, PREF_METRICS, null);
+        Resources mockResources = mock(Resources.class);
+        when(mockContext.getResources()).thenReturn(mockResources);
+
+        when(mockResources.getBoolean(com.android.internal.R.bool.config_intrusiveNotificationLed))
+                .thenReturn(false); // no light
+        assertFalse(mController.isAvailable());
+
+        when(mockResources.getBoolean(com.android.internal.R.bool.config_intrusiveNotificationLed))
+                .thenReturn(true); // has light
+        assertTrue(mController.isAvailable());
+    }
+
+    @Test
+    public void updateState_notChecked() {
+        when(mBackend.isVisualEffectSuppressed(SUPPRESSED_EFFECT_PEEK)).thenReturn(false);
+        mController.updateState(mockPref);
+
+        verify(mockPref).setChecked(false);
+        verify(mockPref).enableCheckbox(true);
+    }
+
+    @Test
+    public void updateState_checked() {
+        when(mBackend.isVisualEffectSuppressed(SUPPRESSED_EFFECT_PEEK)).thenReturn(true);
+        mController.updateState(mockPref);
+
+        verify(mockPref).setChecked(true);
+        verify(mockPref).enableCheckbox(true);
+    }
+
+    @Test
+    public void updateState_checkedFalse_parentChecked() {
+        mController = new ZenModeVisEffectPreferenceController(mContext, mock(Lifecycle.class),
+                PREF_KEY, SUPPRESSED_EFFECT_PEEK, PREF_METRICS,
+                new int[]{PARENT_EFFECT1, PARENT_EFFECT2});
+        ReflectionHelpers.setField(mController, "mBackend", mBackend);
+        when(mBackend.isVisualEffectSuppressed(SUPPRESSED_EFFECT_PEEK)).thenReturn(false);
+        when(mBackend.isVisualEffectSuppressed(PARENT_EFFECT1)).thenReturn(false);
+        when(mBackend.isVisualEffectSuppressed(PARENT_EFFECT2)).thenReturn(true);
+        mController.updateState(mockPref);
+
+        verify(mockPref).setChecked(true);
+        verify(mockPref).enableCheckbox(false);
+        verify(mBackend, times(1)).saveVisualEffectsPolicy(SUPPRESSED_EFFECT_PEEK, true);
+    }
+
+    @Test
+    public void updateState_checkedFalse_parentNotChecked() {
+        mController = new ZenModeVisEffectPreferenceController(mContext, mock(Lifecycle.class),
+                PREF_KEY, SUPPRESSED_EFFECT_PEEK, PREF_METRICS,
+                new int[]{PARENT_EFFECT1, PARENT_EFFECT2});
+        ReflectionHelpers.setField(mController, "mBackend", mBackend);
+        when(mBackend.isVisualEffectSuppressed(SUPPRESSED_EFFECT_PEEK)).thenReturn(false);
+        when(mBackend.isVisualEffectSuppressed(PARENT_EFFECT1)).thenReturn(false);
+        when(mBackend.isVisualEffectSuppressed(PARENT_EFFECT2)).thenReturn(false);
+        mController.updateState(mockPref);
+
+        verify(mockPref).setChecked(false);
+        verify(mockPref).enableCheckbox(true);
+        verify(mBackend, never()).saveVisualEffectsPolicy(SUPPRESSED_EFFECT_PEEK, true);
+    }
+
+    @Test
+    public void onPreferenceChanged_checkedFalse() {
+        mController.onPreferenceChange(mockPref, false);
+
+        verify(mBackend).saveVisualEffectsPolicy(SUPPRESSED_EFFECT_PEEK, false);
+        verify(mFeatureFactory.metricsFeatureProvider).action(nullable(Context.class),
+                eq(PREF_METRICS),
+                eq(false));
+    }
+
+    @Test
+    public void onPreferenceChanged_checkedTrue() {
+        mController.onPreferenceChange(mockPref, true);
+        verify(mBackend).saveVisualEffectsPolicy(SUPPRESSED_EFFECT_PEEK, true);
+        verify(mFeatureFactory.metricsFeatureProvider).action(nullable(Context.class),
+                eq(PREF_METRICS),
+                eq(true));
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/zen/ZenModeVisEffectsAllPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/zen/ZenModeVisEffectsAllPreferenceControllerTest.java
new file mode 100644
index 0000000..05537f3
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/zen/ZenModeVisEffectsAllPreferenceControllerTest.java
@@ -0,0 +1,141 @@
+/*
+ * 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.notification.zen;
+
+import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_AMBIENT;
+import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_BADGE;
+import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_FULL_SCREEN_INTENT;
+import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_LIGHTS;
+import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_NOTIFICATION_LIST;
+import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_PEEK;
+import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_SCREEN_OFF;
+import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_SCREEN_ON;
+import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_STATUS_BAR;
+
+import static com.android.internal.logging.nano.MetricsProto.MetricsEvent
+        .ACTION_ZEN_SOUND_AND_VIS_EFFECTS;
+
+import static org.junit.Assert.assertTrue;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.NotificationManager;
+import android.content.Context;
+
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.notification.zen.ZenCustomRadioButtonPreference;
+import com.android.settings.notification.zen.ZenModeBackend;
+import com.android.settings.notification.zen.ZenModeVisEffectsAllPreferenceController;
+import com.android.settings.testutils.FakeFeatureFactory;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+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 org.robolectric.shadows.ShadowApplication;
+import org.robolectric.util.ReflectionHelpers;
+
+@RunWith(RobolectricTestRunner.class)
+public class ZenModeVisEffectsAllPreferenceControllerTest {
+    private ZenModeVisEffectsAllPreferenceController mController;
+
+    @Mock
+    private ZenModeBackend mBackend;
+    @Mock
+    private ZenCustomRadioButtonPreference mockPref;
+    private Context mContext;
+    private FakeFeatureFactory mFeatureFactory;
+    @Mock
+    private PreferenceScreen mScreen;
+    @Mock
+    NotificationManager mNotificationManager;
+
+    private static final String PREF_KEY = "main_pref";
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+        ShadowApplication shadowApplication = ShadowApplication.getInstance();
+        mContext = RuntimeEnvironment.application;
+        mFeatureFactory = FakeFeatureFactory.setupForTest();
+        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
+        when(mNotificationManager.getNotificationPolicy()).thenReturn(
+                mock(NotificationManager.Policy.class));
+        mController = new ZenModeVisEffectsAllPreferenceController(
+                mContext, mock(Lifecycle.class), PREF_KEY);
+        ReflectionHelpers.setField(mController, "mBackend", mBackend);
+
+        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mockPref);
+        mController.displayPreference(mScreen);
+    }
+
+    @Test
+    public void isAvailable() {
+        assertTrue(mController.isAvailable());
+    }
+
+    @Test
+    public void updateState_notChecked() {
+        mBackend.mPolicy = new NotificationManager.Policy(0, 0, 0, 1);
+        mController.updateState(mockPref);
+
+        verify(mockPref).setChecked(false);
+    }
+
+    @Test
+    public void updateState_checked() {
+        int allSuppressed = SUPPRESSED_EFFECT_SCREEN_OFF
+                | SUPPRESSED_EFFECT_SCREEN_ON
+                | SUPPRESSED_EFFECT_FULL_SCREEN_INTENT
+                | SUPPRESSED_EFFECT_AMBIENT
+                | SUPPRESSED_EFFECT_STATUS_BAR
+                | SUPPRESSED_EFFECT_BADGE
+                | SUPPRESSED_EFFECT_LIGHTS
+                | SUPPRESSED_EFFECT_PEEK
+                | SUPPRESSED_EFFECT_NOTIFICATION_LIST;
+        mBackend.mPolicy = new NotificationManager.Policy(0, 0, 0, allSuppressed);
+        mController.updateState(mockPref);
+
+        verify(mockPref).setChecked(true);
+    }
+
+    @Test
+    public void onPreferenceChanged_checkedTrue() {
+        int allSuppressed = SUPPRESSED_EFFECT_SCREEN_OFF
+                | SUPPRESSED_EFFECT_SCREEN_ON
+                | SUPPRESSED_EFFECT_FULL_SCREEN_INTENT
+                | SUPPRESSED_EFFECT_AMBIENT
+                | SUPPRESSED_EFFECT_STATUS_BAR
+                | SUPPRESSED_EFFECT_BADGE
+                | SUPPRESSED_EFFECT_LIGHTS
+                | SUPPRESSED_EFFECT_PEEK
+                | SUPPRESSED_EFFECT_NOTIFICATION_LIST;
+        mBackend.mPolicy = new NotificationManager.Policy(0, 0, 0, 1);
+        mController.onRadioButtonClick(mockPref);
+        verify(mBackend).saveVisualEffectsPolicy(allSuppressed, true);
+        verify(mFeatureFactory.metricsFeatureProvider).action(eq(mContext),
+                eq(ACTION_ZEN_SOUND_AND_VIS_EFFECTS),
+                eq(true));
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/zen/ZenModeVisEffectsCustomPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/zen/ZenModeVisEffectsCustomPreferenceControllerTest.java
new file mode 100644
index 0000000..baea9ef
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/zen/ZenModeVisEffectsCustomPreferenceControllerTest.java
@@ -0,0 +1,143 @@
+/*
+ * 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.notification.zen;
+
+import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_AMBIENT;
+import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_BADGE;
+import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_FULL_SCREEN_INTENT;
+import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_LIGHTS;
+import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_NOTIFICATION_LIST;
+import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_PEEK;
+import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_SCREEN_OFF;
+import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_SCREEN_ON;
+import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_STATUS_BAR;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.NotificationManager;
+import android.content.Context;
+
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.notification.zen.ZenCustomRadioButtonPreference;
+import com.android.settings.notification.zen.ZenModeBackend;
+import com.android.settings.notification.zen.ZenModeVisEffectsCustomPreferenceController;
+import com.android.settings.testutils.FakeFeatureFactory;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+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 org.robolectric.shadows.ShadowApplication;
+import org.robolectric.util.ReflectionHelpers;
+
+@RunWith(RobolectricTestRunner.class)
+public class ZenModeVisEffectsCustomPreferenceControllerTest {
+    private ZenModeVisEffectsCustomPreferenceController mController;
+
+    @Mock
+    private ZenModeBackend mBackend;
+    @Mock
+    private ZenCustomRadioButtonPreference mockPref;
+    private Context mContext;
+    @Mock
+    private PreferenceScreen mScreen;
+    @Mock
+    NotificationManager mNotificationManager;
+
+    private static final String PREF_KEY = "main_pref";
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+        ShadowApplication shadowApplication = ShadowApplication.getInstance();
+        mContext = RuntimeEnvironment.application;
+        FakeFeatureFactory.setupForTest();
+        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
+        when(mNotificationManager.getNotificationPolicy()).thenReturn(
+                mock(NotificationManager.Policy.class));
+        mController = new ZenModeVisEffectsCustomPreferenceController(
+                mContext, mock(Lifecycle.class), PREF_KEY);
+        ReflectionHelpers.setField(mController, "mBackend", mBackend);
+
+        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mockPref);
+        mController.displayPreference(mScreen);
+    }
+
+    @Test
+    public void isAvailable_noVisEffects() {
+        mBackend.mPolicy = new NotificationManager.Policy(0, 0, 0, 0);
+        assertThat(mController.isAvailable()).isTrue();
+    }
+
+    @Test
+    public void isAvailable_visEffects() {
+        mBackend.mPolicy = new NotificationManager.Policy(0, 0, 0, 1);
+        assertThat(mController.isAvailable()).isTrue();
+    }
+
+    @Test
+    public void updateState_notChecked_noVisEffects() {
+        mBackend.mPolicy = new NotificationManager.Policy(0, 0, 0, 0);
+        mController.updateState(mockPref);
+
+        verify(mockPref).setChecked(false);
+    }
+
+    @Test
+    public void updateState_notChecked_allVisEffects() {
+        int allSuppressed = SUPPRESSED_EFFECT_SCREEN_OFF
+                | SUPPRESSED_EFFECT_SCREEN_ON
+                | SUPPRESSED_EFFECT_FULL_SCREEN_INTENT
+                | SUPPRESSED_EFFECT_AMBIENT
+                | SUPPRESSED_EFFECT_STATUS_BAR
+                | SUPPRESSED_EFFECT_BADGE
+                | SUPPRESSED_EFFECT_LIGHTS
+                | SUPPRESSED_EFFECT_PEEK
+                | SUPPRESSED_EFFECT_NOTIFICATION_LIST;
+        mBackend.mPolicy = new NotificationManager.Policy(0, 0, 0, allSuppressed);
+        mController.updateState(mockPref);
+
+        verify(mockPref).setChecked(false);
+    }
+
+    @Test
+    public void updateState_checked() {
+        mBackend.mPolicy = new NotificationManager.Policy(0, 0, 0, 2);
+        mController.updateState(mockPref);
+
+        verify(mockPref).setChecked(true);
+    }
+
+    @Test
+    public void updateState_listeners() {
+        mBackend.mPolicy = new NotificationManager.Policy(0, 0, 0, 2);
+        mController.updateState(mockPref);
+
+        verify(mockPref).setOnGearClickListener(any());
+        verify(mockPref).setOnRadioButtonClickListener(any());
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/zen/ZenModeVisEffectsNonePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/zen/ZenModeVisEffectsNonePreferenceControllerTest.java
new file mode 100644
index 0000000..aacb109
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/zen/ZenModeVisEffectsNonePreferenceControllerTest.java
@@ -0,0 +1,132 @@
+/*
+ * 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.notification.zen;
+
+import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_AMBIENT;
+import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_BADGE;
+import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_FULL_SCREEN_INTENT;
+import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_LIGHTS;
+import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_NOTIFICATION_LIST;
+import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_PEEK;
+import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_SCREEN_OFF;
+import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_SCREEN_ON;
+import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_STATUS_BAR;
+
+import static com.android.internal.logging.nano.MetricsProto.MetricsEvent.ACTION_ZEN_SOUND_ONLY;
+
+import static org.junit.Assert.assertTrue;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.ArgumentMatchers.nullable;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.NotificationManager;
+import android.content.Context;
+
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.notification.zen.ZenCustomRadioButtonPreference;
+import com.android.settings.notification.zen.ZenModeBackend;
+import com.android.settings.notification.zen.ZenModeVisEffectsNonePreferenceController;
+import com.android.settings.testutils.FakeFeatureFactory;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+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 org.robolectric.shadows.ShadowApplication;
+import org.robolectric.util.ReflectionHelpers;
+
+@RunWith(RobolectricTestRunner.class)
+public class ZenModeVisEffectsNonePreferenceControllerTest {
+    private ZenModeVisEffectsNonePreferenceController mController;
+
+    @Mock
+    private ZenModeBackend mBackend;
+    @Mock
+    private ZenCustomRadioButtonPreference mockPref;
+    private Context mContext;
+    private FakeFeatureFactory mFeatureFactory;
+    @Mock
+    private PreferenceScreen mScreen;
+    @Mock
+    NotificationManager mNotificationManager;
+
+    private static final String PREF_KEY = "main_pref";
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+        ShadowApplication shadowApplication = ShadowApplication.getInstance();
+        mContext = RuntimeEnvironment.application;
+        mFeatureFactory = FakeFeatureFactory.setupForTest();
+        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
+        when(mNotificationManager.getNotificationPolicy()).thenReturn(
+                mock(NotificationManager.Policy.class));
+        mController = new ZenModeVisEffectsNonePreferenceController(
+                mContext, mock(Lifecycle.class), PREF_KEY);
+        ReflectionHelpers.setField(mController, "mBackend", mBackend);
+
+        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mockPref);
+        mController.displayPreference(mScreen);
+    }
+
+    @Test
+    public void isAvailable() {
+        assertTrue(mController.isAvailable());
+    }
+
+    @Test
+    public void updateState_notChecked() {
+        mBackend.mPolicy = new NotificationManager.Policy(0, 0, 0, 1);
+        mController.updateState(mockPref);
+
+        verify(mockPref).setChecked(false);
+    }
+
+    @Test
+    public void updateState_checked() {
+        mBackend.mPolicy = new NotificationManager.Policy(0, 0, 0, 0);
+        mController.updateState(mockPref);
+
+        verify(mockPref).setChecked(true);
+    }
+
+    @Test
+    public void onRadioButtonClick() {
+        int allSuppressed = SUPPRESSED_EFFECT_SCREEN_OFF
+                | SUPPRESSED_EFFECT_SCREEN_ON
+                | SUPPRESSED_EFFECT_FULL_SCREEN_INTENT
+                | SUPPRESSED_EFFECT_AMBIENT
+                | SUPPRESSED_EFFECT_STATUS_BAR
+                | SUPPRESSED_EFFECT_BADGE
+                | SUPPRESSED_EFFECT_LIGHTS
+                | SUPPRESSED_EFFECT_PEEK
+                | SUPPRESSED_EFFECT_NOTIFICATION_LIST;
+        mBackend.mPolicy = new NotificationManager.Policy(0, 0, 0, 1);
+        mController.onRadioButtonClick(mockPref);
+        verify(mBackend).saveVisualEffectsPolicy(allSuppressed, false);
+        verify(mFeatureFactory.metricsFeatureProvider).action(nullable(Context.class),
+                eq(ACTION_ZEN_SOUND_ONLY),
+                eq(true));
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/zen/ZenOnboardingActivityTest.java b/tests/robotests/src/com/android/settings/notification/zen/ZenOnboardingActivityTest.java
new file mode 100644
index 0000000..257eaaf
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/zen/ZenOnboardingActivityTest.java
@@ -0,0 +1,222 @@
+/*
+ * 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.notification.zen;
+
+import static android.app.NotificationManager.Policy.PRIORITY_CATEGORY_ALARMS;
+import static android.app.NotificationManager.Policy.PRIORITY_CATEGORY_REPEAT_CALLERS;
+import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_SCREEN_ON;
+
+import static com.android.settings.notification.zen.ZenOnboardingActivity.ALWAYS_SHOW_THRESHOLD;
+import static com.android.settings.notification.zen.ZenOnboardingActivity
+        .PREF_KEY_SUGGESTION_FIRST_DISPLAY_TIME;
+import static com.android.settings.notification.zen.ZenOnboardingActivity.isSuggestionComplete;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.NotificationManager;
+import android.app.NotificationManager.Policy;
+import android.content.Context;
+import android.content.SharedPreferences;
+import android.provider.Settings;
+
+import com.android.internal.logging.MetricsLogger;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
+import com.android.settings.notification.zen.ZenOnboardingActivity;
+import com.android.settings.testutils.FakeFeatureFactory;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.Robolectric;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.shadows.ShadowApplication;
+
+@RunWith(RobolectricTestRunner.class)
+public class ZenOnboardingActivityTest {
+
+    @Mock
+    private MetricsLogger mMetricsLogger;
+    @Mock
+    private NotificationManager mNm;
+
+    private ZenOnboardingActivity mActivity;
+
+    private Context mContext;
+    private FakeFeatureFactory mFeatureFactory;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        ShadowApplication shadowApplication = ShadowApplication.getInstance();
+        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNm);
+
+        mActivity = Robolectric.buildActivity(ZenOnboardingActivity.class)
+                .create()
+                .get();
+        mActivity.setNotificationManager(mNm);
+        mActivity.setMetricsLogger(mMetricsLogger);
+
+        mActivity.setupUI();
+
+        mContext = RuntimeEnvironment.application;
+        mFeatureFactory = FakeFeatureFactory.setupForTest();
+        when(mFeatureFactory.suggestionsFeatureProvider.getSharedPrefs(any(Context.class)))
+                .thenReturn(getSharedPreferences());
+    }
+
+    @Test
+    public void loadUiRecordsEvent() {
+        verify(mMetricsLogger).visible(MetricsEvent.SETTINGS_ZEN_ONBOARDING);
+    }
+
+    @Test
+    public void saveNewSetting() {
+        Policy policy = new Policy(PRIORITY_CATEGORY_ALARMS, 0, 0, SUPPRESSED_EFFECT_SCREEN_ON);
+        when(mNm.getNotificationPolicy()).thenReturn(policy);
+
+        mActivity.mNewSetting.performClick();
+        mActivity.save(null);
+
+        verify(mMetricsLogger).action(MetricsEvent.ACTION_ZEN_ONBOARDING_OK);
+
+        ArgumentCaptor<Policy> captor = ArgumentCaptor.forClass(Policy.class);
+        verify(mNm).setNotificationPolicy(captor.capture());
+
+        Policy actual = captor.getValue();
+        assertThat(actual.priorityCategories).isEqualTo(PRIORITY_CATEGORY_ALARMS
+                | PRIORITY_CATEGORY_REPEAT_CALLERS);
+        assertThat(actual.priorityCallSenders).isEqualTo(Policy.PRIORITY_SENDERS_STARRED);
+        assertThat(actual.priorityMessageSenders).isEqualTo(Policy.PRIORITY_SENDERS_ANY);
+        assertThat(actual.suppressedVisualEffects).isEqualTo(
+                Policy.getAllSuppressedVisualEffects());
+    }
+
+    @Test
+    public void keepCurrentSetting() {
+        Policy policy = new Policy(PRIORITY_CATEGORY_ALARMS, 0, 0, SUPPRESSED_EFFECT_SCREEN_ON);
+        when(mNm.getNotificationPolicy()).thenReturn(policy);
+
+        mActivity.mKeepCurrentSetting.performClick();
+        mActivity.save(null);
+
+        verify(mMetricsLogger).action(MetricsEvent.ACTION_ZEN_ONBOARDING_KEEP_CURRENT_SETTINGS);
+        verify(mNm, never()).setNotificationPolicy(any());
+    }
+
+    @Test
+    public void isSuggestionComplete_zenUpdated() {
+        Policy policy = new Policy(0, 0, 0, 0);
+        when(mNm.getNotificationPolicy()).thenReturn(policy);
+
+        setZenUpdated(true);
+        setShowSettingsSuggestion(false);
+        setWithinTimeThreshold(true);
+        assertThat(isSuggestionComplete(mContext)).isTrue();
+    }
+
+    @Test
+    public void isSuggestionComplete_withinTimeThreshold() {
+        Policy policy = new Policy(0, 0, 0, 0);
+        when(mNm.getNotificationPolicy()).thenReturn(policy);
+
+        setZenUpdated(false);
+        setShowSettingsSuggestion(false);
+        setWithinTimeThreshold(true);
+        assertThat(isSuggestionComplete(mContext)).isFalse();
+    }
+
+    @Test
+    public void isSuggestionComplete_showSettingsSuggestionTrue() {
+        Policy policy = new Policy(0, 0, 0, 0);
+        when(mNm.getNotificationPolicy()).thenReturn(policy);
+
+        setZenUpdated(false);
+        setShowSettingsSuggestion(true);
+        setWithinTimeThreshold(false);
+        assertThat(isSuggestionComplete(mContext)).isFalse();
+    }
+
+    @Test
+    public void isSuggestionComplete_showSettingsSuggestionFalse_notWithinTimeThreshold() {
+        Policy policy = new Policy(0, 0, 0, 0);
+        when(mNm.getNotificationPolicy()).thenReturn(policy);
+
+        setZenUpdated(false);
+        setShowSettingsSuggestion(false);
+        setWithinTimeThreshold(false);
+        assertThat(isSuggestionComplete(mContext)).isTrue();
+    }
+
+
+    @Test
+    public void isSuggestionComplete_visualEffectsUpdated() {
+        // all values suppressed
+        Policy policy = new Policy(0, 0, 0, 511);
+        when(mNm.getNotificationPolicy()).thenReturn(policy);
+
+        setZenUpdated(false);
+        setShowSettingsSuggestion(true);
+        setWithinTimeThreshold(true);
+        assertThat(isSuggestionComplete(mContext)).isTrue();
+        assertThat(Settings.Secure.getInt(mContext.getContentResolver(),
+                Settings.Secure.ZEN_SETTINGS_UPDATED, -1)).isEqualTo(1);
+    }
+
+
+    private void setZenUpdated(boolean updated) {
+        int zenUpdated = updated ? 1 : 0;
+
+        Settings.Secure.putInt(mContext.getContentResolver(),
+                Settings.Secure.ZEN_SETTINGS_UPDATED, zenUpdated);
+    }
+
+    private void setWithinTimeThreshold(boolean withinTime) {
+        long firstTime = System.currentTimeMillis();
+
+        if (withinTime) {
+            firstTime -= ALWAYS_SHOW_THRESHOLD / 2;
+        } else {
+            firstTime -= ALWAYS_SHOW_THRESHOLD * 2;
+        }
+
+        getSharedPreferences().edit().putLong(PREF_KEY_SUGGESTION_FIRST_DISPLAY_TIME,
+               firstTime).commit();
+    }
+
+    private void setShowSettingsSuggestion(boolean show) {
+        int showZenSuggestion = 0;
+        if (show) {
+            showZenSuggestion = 1;
+        }
+
+        Settings.Secure.putInt(mContext.getContentResolver(),
+                Settings.Secure.SHOW_ZEN_SETTINGS_SUGGESTION, showZenSuggestion);
+    }
+
+    private SharedPreferences getSharedPreferences() {
+        return mContext.getSharedPreferences("test_zen_sugg", Context.MODE_PRIVATE);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/zen/ZenRuleCustomPolicyPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/zen/ZenRuleCustomPolicyPreferenceControllerTest.java
new file mode 100644
index 0000000..f6fa5b7
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/zen/ZenRuleCustomPolicyPreferenceControllerTest.java
@@ -0,0 +1,90 @@
+/*
+ * 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.notification.zen;
+
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.NotificationManager;
+import android.content.Context;
+import android.service.notification.ZenPolicy;
+
+import androidx.preference.PreferenceScreen;
+
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+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 org.robolectric.shadows.ShadowApplication;
+import org.robolectric.util.ReflectionHelpers;
+
+@RunWith(RobolectricTestRunner.class)
+public class ZenRuleCustomPolicyPreferenceControllerTest extends
+        ZenRuleCustomPrefContrTestBase {
+
+    @Mock
+    private ZenModeBackend mBackend;
+    @Mock
+    private NotificationManager mNotificationManager;
+    @Mock
+    private ZenCustomRadioButtonPreference mockPref;
+    @Mock
+    private PreferenceScreen mScreen;
+
+    private Context mContext;
+    private ZenRuleCustomPolicyPreferenceController mController;
+
+    @Override
+    AbstractZenCustomRulePreferenceController getController() {
+        return mController;
+    }
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+        ShadowApplication shadowApplication = ShadowApplication.getInstance();
+        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
+
+        mContext = RuntimeEnvironment.application;
+        mController = new ZenRuleCustomPolicyPreferenceController(mContext, mock(Lifecycle.class),
+                PREF_KEY);
+        ReflectionHelpers.setField(mController, "mBackend", mBackend);
+        when(mBackend.getAutomaticZenRule(RULE_ID)).thenReturn(mRule);
+        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mockPref);
+        mController.displayPreference(mScreen);
+    }
+
+    @Test
+    public void updateState_nullZenPolicy() {
+        updateControllerZenPolicy(null);
+        mController.updateState(mockPref);
+        verify(mockPref).setChecked(false);
+    }
+
+    @Test
+    public void updateState_hasZenPolicy() {
+        updateControllerZenPolicy(new ZenPolicy.Builder().build());
+        mController.updateState(mockPref);
+        verify(mockPref).setChecked(true);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/zen/ZenRuleCustomPrefContrTestBase.java b/tests/robotests/src/com/android/settings/notification/zen/ZenRuleCustomPrefContrTestBase.java
new file mode 100644
index 0000000..8c9cfc0
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/zen/ZenRuleCustomPrefContrTestBase.java
@@ -0,0 +1,42 @@
+/*
+ * 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.notification.zen;
+
+import android.app.AutomaticZenRule;
+import android.app.NotificationManager;
+import android.service.notification.ZenPolicy;
+
+import com.android.settings.notification.zen.AbstractZenCustomRulePreferenceController;
+
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+
+@RunWith(RobolectricTestRunner.class)
+abstract class ZenRuleCustomPrefContrTestBase {
+    public static final String RULE_ID = "test_rule_id";
+    public static final String PREF_KEY = "main_pref";
+
+    AutomaticZenRule mRule = new AutomaticZenRule("test", null, null, null, null,
+            NotificationManager.INTERRUPTION_FILTER_PRIORITY, true);
+
+    abstract AbstractZenCustomRulePreferenceController getController();
+
+    void updateControllerZenPolicy(ZenPolicy policy) {
+        mRule.setZenPolicy(policy);
+        getController().onResume(mRule, RULE_ID);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/zen/ZenRuleCustomSwitchPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/zen/ZenRuleCustomSwitchPreferenceControllerTest.java
new file mode 100644
index 0000000..9da8493
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/zen/ZenRuleCustomSwitchPreferenceControllerTest.java
@@ -0,0 +1,108 @@
+/*
+ * 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.notification.zen;
+
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.NotificationManager;
+import android.content.Context;
+import android.service.notification.ZenPolicy;
+
+import androidx.preference.PreferenceScreen;
+import androidx.preference.SwitchPreference;
+
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+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 org.robolectric.shadows.ShadowApplication;
+import org.robolectric.util.ReflectionHelpers;
+
+@RunWith(RobolectricTestRunner.class)
+public class ZenRuleCustomSwitchPreferenceControllerTest extends ZenRuleCustomPrefContrTestBase {
+    private ZenRuleCustomSwitchPreferenceController mController;
+
+    @Mock
+    private ZenModeBackend mBackend;
+    @Mock
+    private NotificationManager mNotificationManager;
+    @Mock
+    private SwitchPreference mockPref;
+    @Mock
+    private NotificationManager.Policy mPolicy;
+    @Mock
+    private PreferenceScreen mPreferenceScreen;
+
+    private Context mContext;
+
+    @Override
+    AbstractZenCustomRulePreferenceController getController() {
+        return mController;
+    }
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+        ShadowApplication shadowApplication = ShadowApplication.getInstance();
+        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
+
+        mContext = RuntimeEnvironment.application;
+        when(mNotificationManager.getNotificationPolicy()).thenReturn(mPolicy);
+        mController = new ZenRuleCustomSwitchPreferenceController(mContext, mock(Lifecycle.class),
+                PREF_KEY, ZenPolicy.PRIORITY_CATEGORY_ALARMS, 0);
+        ReflectionHelpers.setField(mController, "mBackend", mBackend);
+
+        when(mPreferenceScreen.findPreference(mController.getPreferenceKey()))
+                .thenReturn(mockPref);
+        mController.displayPreference(mPreferenceScreen);
+    }
+
+    @Test
+    public void onPreferenceChanged_enable() {
+        updateControllerZenPolicy(new ZenPolicy.Builder()
+                .allowMedia(false)
+                .allowAlarms(false)
+                .build());
+        mController.onPreferenceChange(mockPref, true);
+        mRule.setZenPolicy(new ZenPolicy.Builder()
+                .allowMedia(false)
+                .allowAlarms(true)
+                .build());
+        verify(mBackend).updateZenRule(RULE_ID, mRule);
+    }
+
+    @Test
+    public void onPreferenceChanged_disable() {
+        updateControllerZenPolicy(new ZenPolicy.Builder()
+                .allowMedia(false)
+                .allowAlarms(true)
+                .build());
+        mController.onPreferenceChange(mockPref, false);
+        mRule.setZenPolicy(new ZenPolicy.Builder()
+                .allowMedia(false)
+                .allowAlarms(false)
+                .build());
+        verify(mBackend).updateZenRule(RULE_ID, mRule);
+    }
+}
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/notification/zen/ZenRuleDefaultPolicyPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/zen/ZenRuleDefaultPolicyPreferenceControllerTest.java
new file mode 100644
index 0000000..7091ceb
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/zen/ZenRuleDefaultPolicyPreferenceControllerTest.java
@@ -0,0 +1,90 @@
+/*
+ * 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.notification.zen;
+
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.NotificationManager;
+import android.content.Context;
+import android.service.notification.ZenPolicy;
+
+import androidx.preference.PreferenceScreen;
+
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+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 org.robolectric.shadows.ShadowApplication;
+import org.robolectric.util.ReflectionHelpers;
+
+@RunWith(RobolectricTestRunner.class)
+public class ZenRuleDefaultPolicyPreferenceControllerTest extends
+        ZenRuleCustomPrefContrTestBase {
+
+    @Mock
+    private ZenModeBackend mBackend;
+    @Mock
+    private NotificationManager mNotificationManager;
+    @Mock
+    private ZenCustomRadioButtonPreference mockPref;
+    @Mock
+    private PreferenceScreen mScreen;
+
+    private Context mContext;
+    private ZenRuleDefaultPolicyPreferenceController mController;
+
+    @Override
+    AbstractZenCustomRulePreferenceController getController() {
+        return mController;
+    }
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+        ShadowApplication shadowApplication = ShadowApplication.getInstance();
+        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
+
+        mContext = RuntimeEnvironment.application;
+        mController = new ZenRuleDefaultPolicyPreferenceController(mContext, mock(Lifecycle.class),
+                PREF_KEY);
+        ReflectionHelpers.setField(mController, "mBackend", mBackend);
+        when(mBackend.getAutomaticZenRule(RULE_ID)).thenReturn(mRule);
+        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mockPref);
+        mController.displayPreference(mScreen);
+    }
+
+    @Test
+    public void updateState_nullZenPolicy() {
+        updateControllerZenPolicy(null);
+        mController.updateState(mockPref);
+        verify(mockPref).setChecked(true);
+    }
+
+    @Test
+    public void updateState_hasZenPolicy() {
+        updateControllerZenPolicy(new ZenPolicy.Builder().build());
+        mController.updateState(mockPref);
+        verify(mockPref).setChecked(false);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/zen/ZenRulePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/zen/ZenRulePreferenceControllerTest.java
new file mode 100644
index 0000000..13963db
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/zen/ZenRulePreferenceControllerTest.java
@@ -0,0 +1,95 @@
+/*
+ * 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.notification.zen;
+
+import static junit.framework.Assert.assertEquals;
+
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import android.app.AutomaticZenRule;
+import android.app.NotificationManager;
+import android.content.Context;
+
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.notification.zen.AbstractZenCustomRulePreferenceController;
+import com.android.settings.notification.zen.ZenCustomRadioButtonPreference;
+import com.android.settings.notification.zen.ZenModeBackend;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+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 org.robolectric.shadows.ShadowApplication;
+import org.robolectric.util.ReflectionHelpers;
+
+@RunWith(RobolectricTestRunner.class)
+public class ZenRulePreferenceControllerTest {
+
+    @Mock
+    private ZenModeBackend mBackend;
+    @Mock
+    private NotificationManager mNotificationManager;
+    @Mock
+    private ZenCustomRadioButtonPreference mockPref;
+    @Mock
+    private PreferenceScreen mScreen;
+
+    private Context mContext;
+    private TestablePreferenceController mController;
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+        ShadowApplication shadowApplication = ShadowApplication.getInstance();
+        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
+
+        mContext = RuntimeEnvironment.application;
+        mController = new TestablePreferenceController(mContext,"test", mock(Lifecycle.class));
+        ReflectionHelpers.setField(mController, "mBackend", mBackend);
+        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mockPref);
+        mController.displayPreference(mScreen);
+    }
+
+    @Test
+    public void onResumeTest() {
+        final String id = "testid";
+        final AutomaticZenRule rule = new AutomaticZenRule("test", null, null,
+                null, null, NotificationManager.INTERRUPTION_FILTER_PRIORITY, true);
+
+        assertTrue(mController.mRule == null);
+        assertTrue(mController.mId == null);
+
+        mController.onResume(rule, id);
+
+        assertEquals(mController.mId, id);
+        assertEquals(mController.mRule, rule);
+    }
+
+    class TestablePreferenceController extends AbstractZenCustomRulePreferenceController {
+        TestablePreferenceController(Context context, String key,
+                Lifecycle lifecycle) {
+            super(context, key, lifecycle);
+        }
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/zen/ZenRuleRepeatCallersPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/zen/ZenRuleRepeatCallersPreferenceControllerTest.java
new file mode 100644
index 0000000..da71619
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/zen/ZenRuleRepeatCallersPreferenceControllerTest.java
@@ -0,0 +1,123 @@
+/*
+ * 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.notification.zen;
+
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.NotificationManager;
+import android.content.Context;
+import android.service.notification.ZenPolicy;
+
+import androidx.preference.PreferenceScreen;
+import androidx.preference.SwitchPreference;
+
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+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 org.robolectric.shadows.ShadowApplication;
+import org.robolectric.util.ReflectionHelpers;
+
+@RunWith(RobolectricTestRunner.class)
+public class ZenRuleRepeatCallersPreferenceControllerTest extends ZenRuleCustomPrefContrTestBase {
+
+    private ZenRuleRepeatCallersPreferenceController mController;
+
+    @Mock
+    private ZenModeBackend mBackend;
+    @Mock
+    private NotificationManager mNotificationManager;
+    @Mock
+    private SwitchPreference mockPref;
+    @Mock
+    private NotificationManager.Policy mPolicy;
+    @Mock
+    private PreferenceScreen mPreferenceScreen;
+    private Context mContext;
+
+    @Override
+    AbstractZenCustomRulePreferenceController getController() {
+        return mController;
+    }
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+        ShadowApplication shadowApplication = ShadowApplication.getInstance();
+        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
+
+        mContext = RuntimeEnvironment.application;
+        when(mNotificationManager.getNotificationPolicy()).thenReturn(mPolicy);
+        mController = new ZenRuleRepeatCallersPreferenceController(mContext, PREF_KEY,
+                mock(Lifecycle.class), 15);
+        ReflectionHelpers.setField(mController, "mBackend", mBackend);
+        when(mBackend.getAutomaticZenRule(anyString())).thenReturn(mRule);
+        when(mPreferenceScreen.findPreference(mController.getPreferenceKey())).thenReturn(
+                mockPref);
+        mController.displayPreference(mPreferenceScreen);
+    }
+
+    @Test
+    public void updateState_Priority_anyCallers() {
+        updateControllerZenPolicy(new ZenPolicy.Builder()
+                .allowCalls(ZenPolicy.PEOPLE_TYPE_ANYONE)
+                .allowRepeatCallers(false)
+                .build());
+        mController.updateState(mockPref);
+
+        verify(mockPref).setEnabled(false);
+        verify(mockPref).setChecked(true);
+    }
+
+    @Test
+    public void onPreferenceChanged_EnableRepeatCallers() {
+        updateControllerZenPolicy(new ZenPolicy.Builder()
+                .allowCalls(ZenPolicy.PEOPLE_TYPE_CONTACTS)
+                .allowRepeatCallers(false)
+                .build());
+        mController.updateState(mockPref);
+        mController.onPreferenceChange(mockPref, true);
+        mRule.setZenPolicy(new ZenPolicy.Builder()
+                .allowCalls(ZenPolicy.PEOPLE_TYPE_CONTACTS)
+                .allowRepeatCallers(true)
+                .build());
+        verify(mBackend).updateZenRule(RULE_ID, mRule);
+    }
+
+    @Test
+    public void onPreferenceChanged_DisableRepeatCallers() {
+        updateControllerZenPolicy(new ZenPolicy.Builder()
+                .allowCalls(ZenPolicy.PEOPLE_TYPE_CONTACTS)
+                .allowRepeatCallers(true)
+                .build());
+        mController.updateState(mockPref);
+        mController.onPreferenceChange(mockPref, false);
+        mRule.setZenPolicy(new ZenPolicy.Builder()
+                .allowCalls(ZenPolicy.PEOPLE_TYPE_CONTACTS)
+                .allowRepeatCallers(false)
+                .build());
+        verify(mBackend).updateZenRule(RULE_ID, mRule);
+    }
+}
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/notification/zen/ZenRuleStarredContactsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/zen/ZenRuleStarredContactsPreferenceControllerTest.java
new file mode 100644
index 0000000..2f7dfe7
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/zen/ZenRuleStarredContactsPreferenceControllerTest.java
@@ -0,0 +1,171 @@
+/*
+ * 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.notification.zen;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Matchers.any;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import android.app.NotificationManager;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.service.notification.ZenPolicy;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+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 org.robolectric.shadows.ShadowApplication;
+import org.robolectric.util.ReflectionHelpers;
+
+@RunWith(RobolectricTestRunner.class)
+public class ZenRuleStarredContactsPreferenceControllerTest extends ZenRuleCustomPrefContrTestBase {
+
+    private ZenRuleStarredContactsPreferenceController mCallsController;
+    private ZenRuleStarredContactsPreferenceController mMessagesController;
+    private static int CURR_CONTROLLER = ZenPolicy.PRIORITY_CATEGORY_CALLS;
+
+    @Mock
+    private ZenModeBackend mBackend;
+    @Mock
+    private NotificationManager mNotificationManager;
+    @Mock
+    private Preference mockPref;
+    @Mock
+    private PreferenceScreen mPreferenceScreen;
+    @Mock
+    private Intent testIntent;
+    @Mock
+    private ComponentName mComponentName;
+    private Context mContext;
+
+    @Override
+    AbstractZenCustomRulePreferenceController getController() {
+        if (CURR_CONTROLLER == ZenPolicy.PRIORITY_CATEGORY_MESSAGES) {
+            return mMessagesController;
+        } else {
+            return mCallsController;
+        }
+    }
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+        ShadowApplication shadowApplication = ShadowApplication.getInstance();
+        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
+
+        mContext = RuntimeEnvironment.application;
+        when(testIntent.resolveActivity(any())).thenReturn(mComponentName);
+
+        mCallsController = new ZenRuleStarredContactsPreferenceController(
+                mContext, mock(Lifecycle.class), ZenPolicy.PRIORITY_CATEGORY_CALLS,
+                "zen_mode_starred_contacts_callers");
+        when(mBackend.getAutomaticZenRule(RULE_ID)).thenReturn(mRule);
+        ReflectionHelpers.setField(mCallsController, "mBackend", mBackend);
+        ReflectionHelpers.setField(mCallsController, "mStarredContactsIntent", testIntent);
+        when(mPreferenceScreen.findPreference(mCallsController.getPreferenceKey()))
+                .thenReturn(mockPref);
+        mCallsController.displayPreference(mPreferenceScreen);
+
+        mMessagesController = new ZenRuleStarredContactsPreferenceController(
+                mContext, mock(Lifecycle.class), ZenPolicy.PRIORITY_CATEGORY_MESSAGES,
+                "zen_mode_starred_contacts_messages");
+        ReflectionHelpers.setField(mMessagesController, "mBackend", mBackend);
+        ReflectionHelpers.setField(mMessagesController, "mStarredContactsIntent", testIntent);
+        when(mPreferenceScreen.findPreference(mMessagesController.getPreferenceKey()))
+                .thenReturn(mockPref);
+        mMessagesController.displayPreference(mPreferenceScreen);
+    }
+
+    @Test
+    public void isAvailable_noCallers() {
+        CURR_CONTROLLER = ZenPolicy.PRIORITY_CATEGORY_CALLS;
+        updateControllerZenPolicy(new ZenPolicy.Builder()
+                .allowCalls(ZenPolicy.PEOPLE_TYPE_NONE)
+                .build());
+        assertThat(mCallsController.isAvailable()).isFalse();
+    }
+
+    @Test
+    public void isAvailable_anyCallers() {
+        CURR_CONTROLLER = ZenPolicy.PRIORITY_CATEGORY_CALLS;
+        updateControllerZenPolicy(new ZenPolicy.Builder()
+                .allowCalls(ZenPolicy.PEOPLE_TYPE_ANYONE)
+                .build());
+
+        assertThat(mCallsController.isAvailable()).isFalse();
+    }
+
+    @Test
+    public void isAvailable_starredCallers() {
+        CURR_CONTROLLER = ZenPolicy.PRIORITY_CATEGORY_CALLS;
+        updateControllerZenPolicy(new ZenPolicy.Builder()
+                .allowCalls(ZenPolicy.PEOPLE_TYPE_STARRED)
+                .build());
+
+        assertThat(mCallsController.isAvailable()).isTrue();
+    }
+
+    @Test
+    public void isAvailable_noMessages() {
+        CURR_CONTROLLER = ZenPolicy.PRIORITY_CATEGORY_MESSAGES;
+        updateControllerZenPolicy(new ZenPolicy.Builder()
+                .allowMessages(ZenPolicy.PEOPLE_TYPE_NONE)
+                .build());
+        assertThat(mCallsController.isAvailable()).isFalse();
+    }
+
+    @Test
+    public void isAvailable_anyMessages() {
+        CURR_CONTROLLER = ZenPolicy.PRIORITY_CATEGORY_MESSAGES;
+        updateControllerZenPolicy(new ZenPolicy.Builder()
+                .allowMessages(ZenPolicy.PEOPLE_TYPE_ANYONE)
+                .build());
+
+        assertThat(mMessagesController.isAvailable()).isFalse();
+    }
+
+    @Test
+    public void isAvailable_starredMessageContacts() {
+        CURR_CONTROLLER = ZenPolicy.PRIORITY_CATEGORY_MESSAGES;
+        updateControllerZenPolicy(new ZenPolicy.Builder()
+                .allowMessages(ZenPolicy.PEOPLE_TYPE_STARRED)
+                .build());
+
+        assertThat(mMessagesController.isAvailable()).isTrue();
+    }
+
+    @Test
+    public void nullPreference_displayPreference() {
+        when(mPreferenceScreen.findPreference(mMessagesController.getPreferenceKey()))
+                .thenReturn(null);
+
+        // should not throw a null pointer
+        mMessagesController.displayPreference(mPreferenceScreen);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/zen/ZenRuleVisEffectPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/zen/ZenRuleVisEffectPreferenceControllerTest.java
new file mode 100644
index 0000000..7b0aa37
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/zen/ZenRuleVisEffectPreferenceControllerTest.java
@@ -0,0 +1,187 @@
+/*
+ * 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.notification.zen;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.NotificationManager;
+import android.content.Context;
+import android.content.res.Resources;
+import android.service.notification.ZenPolicy;
+
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.widget.DisabledCheckBoxPreference;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+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 org.robolectric.shadows.ShadowApplication;
+import org.robolectric.util.ReflectionHelpers;
+
+@RunWith(RobolectricTestRunner.class)
+public class ZenRuleVisEffectPreferenceControllerTest extends ZenRuleCustomPrefContrTestBase {
+
+    private static final @ZenPolicy.VisualEffect int EFFECT_PEEK = ZenPolicy.VISUAL_EFFECT_PEEK;
+    private static final @ZenPolicy.VisualEffect int PARENT_EFFECT1 = ZenPolicy.VISUAL_EFFECT_BADGE;
+    private static final @ZenPolicy.VisualEffect int PARENT_EFFECT2 =
+            ZenPolicy.VISUAL_EFFECT_NOTIFICATION_LIST;
+    private static final int PREF_METRICS = 1;
+
+    @Mock
+    private ZenModeBackend mBackend;
+    @Mock
+    private DisabledCheckBoxPreference mockPref;
+    @Mock
+    private PreferenceScreen mScreen;
+    @Mock
+    NotificationManager mNotificationManager;
+
+    private Context mContext;
+    private ZenRuleVisEffectPreferenceController mController;
+
+    @Override
+    AbstractZenCustomRulePreferenceController getController() {
+        return mController;
+    }
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+        ShadowApplication shadowApplication = ShadowApplication.getInstance();
+        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
+        when(mNotificationManager.getNotificationPolicy()).thenReturn(
+                mock(NotificationManager.Policy.class));
+
+        mContext = RuntimeEnvironment.application;
+        mController = new ZenRuleVisEffectPreferenceController(mContext, mock(Lifecycle.class),
+                PREF_KEY, EFFECT_PEEK, PREF_METRICS, null);
+        ReflectionHelpers.setField(mController, "mBackend", mBackend);
+        when(mBackend.getAutomaticZenRule(RULE_ID)).thenReturn(mRule);
+
+        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mockPref);
+        mController.displayPreference(mScreen);
+    }
+
+    @Test
+    public void isAvailable() {
+        // VISUAL_EFFECT_PEEK isn't available until after onResume is called
+        assertFalse(mController.isAvailable());
+        updateControllerZenPolicy(new ZenPolicy()); // calls onResume
+        assertTrue(mController.isAvailable());
+
+        // VISUAL_EFFECT_LIGHTS is only available if the device has an LED:
+        Context mockContext = mock(Context.class);
+        mController = new ZenRuleVisEffectPreferenceController(mockContext, mock(Lifecycle.class),
+                PREF_KEY, ZenPolicy.VISUAL_EFFECT_LIGHTS, PREF_METRICS, null);
+        updateControllerZenPolicy(new ZenPolicy()); // calls onResume
+
+        Resources mockResources = mock(Resources.class);
+        when(mockContext.getResources()).thenReturn(mockResources);
+
+        when(mockResources.getBoolean(com.android.internal.R.bool.config_intrusiveNotificationLed))
+                .thenReturn(false); // no light
+        assertFalse(mController.isAvailable());
+
+        when(mockResources.getBoolean(com.android.internal.R.bool.config_intrusiveNotificationLed))
+                .thenReturn(true); // has light
+        assertTrue(mController.isAvailable());
+    }
+
+    @Test
+    public void updateState_notChecked() {
+        updateControllerZenPolicy(new ZenPolicy.Builder()
+                .showPeeking(true)
+                .build());
+        mController.updateState(mockPref);
+
+        verify(mockPref).setChecked(false);
+        verify(mockPref).enableCheckbox(true);
+    }
+
+    @Test
+    public void updateState_checked() {
+        updateControllerZenPolicy(new ZenPolicy.Builder()
+                .showPeeking(false)
+                .build());
+        mController.updateState(mockPref);
+
+        verify(mockPref).setChecked(true);
+        verify(mockPref).enableCheckbox(true);
+    }
+
+    @Test
+    public void updateState_checkedFalse_parentChecked() {
+        mController.mParentSuppressedEffects = new int[]{PARENT_EFFECT1, PARENT_EFFECT2};
+        updateControllerZenPolicy(new ZenPolicy.Builder()
+                .showVisualEffect(EFFECT_PEEK, true)
+                .showVisualEffect(PARENT_EFFECT1, true)
+                .showVisualEffect(PARENT_EFFECT2, false)
+                .build());
+        mController.updateState(mockPref);
+
+        verify(mockPref).setChecked(true);
+        verify(mockPref).enableCheckbox(false);
+    }
+
+    @Test
+    public void updateState_checkedFalse_parentNotChecked() {
+        mController.mParentSuppressedEffects = new int[]{PARENT_EFFECT1, PARENT_EFFECT2};
+        updateControllerZenPolicy(new ZenPolicy.Builder()
+                .showVisualEffect(EFFECT_PEEK, true)
+                .showVisualEffect(PARENT_EFFECT1, true)
+                .showVisualEffect(PARENT_EFFECT2, true)
+                .build());
+        mController.updateState(mockPref);
+
+        verify(mockPref).setChecked(false);
+        verify(mockPref).enableCheckbox(true);
+    }
+
+    @Test
+    public void onPreferenceChanged_checkedFalse() {
+        updateControllerZenPolicy(new ZenPolicy.Builder()
+                .showPeeking(false)
+                .build());
+        mController.onPreferenceChange(mockPref, false);
+        mRule.setZenPolicy(new ZenPolicy.Builder(mRule.getZenPolicy())
+                .showPeeking(true)
+                .build());
+        verify(mBackend).updateZenRule(RULE_ID, mRule);
+    }
+
+    @Test
+    public void onPreferenceChanged_checkedTrue() {
+        updateControllerZenPolicy(new ZenPolicy.Builder()
+                .showPeeking(true)
+                .build());
+        mController.onPreferenceChange(mockPref, true);
+        mRule.setZenPolicy(new ZenPolicy.Builder(mRule.getZenPolicy())
+                .showPeeking(false)
+                .build());
+        verify(mBackend).updateZenRule(RULE_ID, mRule);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/zen/ZenRuleVisEffectsAllPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/zen/ZenRuleVisEffectsAllPreferenceControllerTest.java
new file mode 100644
index 0000000..f30587f
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/zen/ZenRuleVisEffectsAllPreferenceControllerTest.java
@@ -0,0 +1,104 @@
+/*
+ * 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.notification.zen;
+
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.NotificationManager;
+import android.content.Context;
+import android.service.notification.ZenPolicy;
+
+import androidx.preference.PreferenceScreen;
+
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+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 org.robolectric.shadows.ShadowApplication;
+import org.robolectric.util.ReflectionHelpers;
+
+@RunWith(RobolectricTestRunner.class)
+public class ZenRuleVisEffectsAllPreferenceControllerTest extends
+        ZenRuleCustomPrefContrTestBase {
+
+    @Mock
+    private ZenModeBackend mBackend;
+    @Mock
+    private NotificationManager mNotificationManager;
+    @Mock
+    private ZenCustomRadioButtonPreference mockPref;
+    @Mock
+    private PreferenceScreen mScreen;
+
+    private ZenRuleVisEffectsAllPreferenceController mController;
+    private Context mContext;
+
+    @Override
+    AbstractZenCustomRulePreferenceController getController() {
+        return mController;
+    }
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+        ShadowApplication shadowApplication = ShadowApplication.getInstance();
+        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
+        mContext = RuntimeEnvironment.application;
+        mController = new ZenRuleVisEffectsAllPreferenceController(mContext, mock(Lifecycle.class),
+                PREF_KEY);
+        ReflectionHelpers.setField(mController, "mBackend", mBackend);
+        when(mBackend.getAutomaticZenRule(RULE_ID)).thenReturn(mRule);
+        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mockPref);
+        mController.displayPreference(mScreen);
+    }
+
+    @Test
+    public void updateState_noVisEffects() {
+        updateControllerZenPolicy(new ZenPolicy.Builder()
+                .hideAllVisualEffects()
+                .build());
+        mController.updateState(mockPref);
+        verify(mockPref).setChecked(false);
+    }
+
+    @Test
+    public void updateState_showAllVisualEffects() {
+        updateControllerZenPolicy(new ZenPolicy.Builder()
+                .showAllVisualEffects()
+                .build());
+        mController.updateState(mockPref);
+        verify(mockPref).setChecked(true);
+    }
+
+    @Test
+    public void updateState_customEffects() {
+        updateControllerZenPolicy(new ZenPolicy.Builder()
+                .showPeeking(true)
+                .showBadges(false)
+                .build());
+        mController.updateState(mockPref);
+
+        verify(mockPref).setChecked(false);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/zen/ZenRuleVisEffectsCustomPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/zen/ZenRuleVisEffectsCustomPreferenceControllerTest.java
new file mode 100644
index 0000000..99b76ce
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/zen/ZenRuleVisEffectsCustomPreferenceControllerTest.java
@@ -0,0 +1,104 @@
+/*
+ * 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.notification.zen;
+
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.NotificationManager;
+import android.content.Context;
+import android.service.notification.ZenPolicy;
+
+import androidx.preference.PreferenceScreen;
+
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+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 org.robolectric.shadows.ShadowApplication;
+import org.robolectric.util.ReflectionHelpers;
+
+@RunWith(RobolectricTestRunner.class)
+public class ZenRuleVisEffectsCustomPreferenceControllerTest extends
+        ZenRuleCustomPrefContrTestBase {
+
+    @Mock
+    private ZenModeBackend mBackend;
+    @Mock
+    private NotificationManager mNotificationManager;
+    @Mock
+    private ZenCustomRadioButtonPreference mockPref;
+    @Mock
+    private PreferenceScreen mScreen;
+
+    private ZenRuleVisEffectsCustomPreferenceController mController;
+    private Context mContext;
+
+    @Override
+    AbstractZenCustomRulePreferenceController getController() {
+        return mController;
+    }
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+        ShadowApplication shadowApplication = ShadowApplication.getInstance();
+        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
+        mContext = RuntimeEnvironment.application;
+        mController = new ZenRuleVisEffectsCustomPreferenceController(mContext, mock(Lifecycle.class),
+                PREF_KEY);
+        ReflectionHelpers.setField(mController, "mBackend", mBackend);
+        when(mBackend.getAutomaticZenRule(RULE_ID)).thenReturn(mRule);
+        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mockPref);
+        mController.displayPreference(mScreen);
+    }
+
+    @Test
+    public void updateState_noVisEffects() {
+        updateControllerZenPolicy(new ZenPolicy.Builder()
+                .hideAllVisualEffects()
+                .build());
+        mController.updateState(mockPref);
+        verify(mockPref).setChecked(false);
+    }
+
+    @Test
+    public void updateState_showAllVisualEffects() {
+        updateControllerZenPolicy(new ZenPolicy.Builder()
+                .showAllVisualEffects()
+                .build());
+        mController.updateState(mockPref);
+        verify(mockPref).setChecked(false);
+    }
+
+    @Test
+    public void updateState_customEffects() {
+        updateControllerZenPolicy(new ZenPolicy.Builder()
+                .showPeeking(true)
+                .showBadges(false)
+                .build());
+        mController.updateState(mockPref);
+
+        verify(mockPref).setChecked(true);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/zen/ZenRuleVisEffectsNonePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/zen/ZenRuleVisEffectsNonePreferenceControllerTest.java
new file mode 100644
index 0000000..510da5f
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/zen/ZenRuleVisEffectsNonePreferenceControllerTest.java
@@ -0,0 +1,104 @@
+/*
+ * 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.notification.zen;
+
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.NotificationManager;
+import android.content.Context;
+import android.service.notification.ZenPolicy;
+
+import androidx.preference.PreferenceScreen;
+
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+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 org.robolectric.shadows.ShadowApplication;
+import org.robolectric.util.ReflectionHelpers;
+
+@RunWith(RobolectricTestRunner.class)
+public class ZenRuleVisEffectsNonePreferenceControllerTest extends
+        ZenRuleCustomPrefContrTestBase {
+
+    @Mock
+    private ZenModeBackend mBackend;
+    @Mock
+    private NotificationManager mNotificationManager;
+    @Mock
+    private ZenCustomRadioButtonPreference mockPref;
+    @Mock
+    private PreferenceScreen mScreen;
+
+    private ZenRuleVisEffectsNonePreferenceController mController;
+    private Context mContext;
+
+    @Override
+    AbstractZenCustomRulePreferenceController getController() {
+        return mController;
+    }
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+        ShadowApplication shadowApplication = ShadowApplication.getInstance();
+        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
+        mContext = RuntimeEnvironment.application;
+        mController = new ZenRuleVisEffectsNonePreferenceController(mContext, mock(Lifecycle.class),
+                PREF_KEY);
+        ReflectionHelpers.setField(mController, "mBackend", mBackend);
+        when(mBackend.getAutomaticZenRule(RULE_ID)).thenReturn(mRule);
+        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mockPref);
+        mController.displayPreference(mScreen);
+    }
+
+    @Test
+    public void updateState_noVisEffects() {
+        updateControllerZenPolicy(new ZenPolicy.Builder()
+                .hideAllVisualEffects()
+                .build());
+        mController.updateState(mockPref);
+        verify(mockPref).setChecked(true);
+    }
+
+    @Test
+    public void updateState_showAllVisualEffects() {
+        updateControllerZenPolicy(new ZenPolicy.Builder()
+                .showAllVisualEffects()
+                .build());
+        mController.updateState(mockPref);
+        verify(mockPref).setChecked(false);
+    }
+
+    @Test
+    public void updateState_custom() {
+        updateControllerZenPolicy(new ZenPolicy.Builder()
+                .showPeeking(true)
+                .showBadges(false)
+                .build());
+        mController.updateState(mockPref);
+
+        verify(mockPref).setChecked(false);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/panel/FakePanelContent.java b/tests/robotests/src/com/android/settings/panel/FakePanelContent.java
index 8f54115..bf2ac0d 100644
--- a/tests/robotests/src/com/android/settings/panel/FakePanelContent.java
+++ b/tests/robotests/src/com/android/settings/panel/FakePanelContent.java
@@ -22,6 +22,8 @@
 import android.content.Intent;
 import android.net.Uri;
 
+import androidx.core.graphics.drawable.IconCompat;
+
 import java.util.Arrays;
 import java.util.List;
 
@@ -40,9 +42,36 @@
 
     public static final Intent INTENT = new Intent();
 
+    private CharSequence mTitle = TITLE;
+    private CharSequence mSubTitle;
+    private IconCompat mIcon;
+    private int mViewType;
+
+    @Override
+    public IconCompat getIcon() {
+        return mIcon;
+    }
+
+    public void setIcon(IconCompat icon) {
+        mIcon = icon;
+    }
+
+    @Override
+    public CharSequence getSubTitle() {
+        return mSubTitle;
+    }
+
+    public void setSubTitle(CharSequence subTitle) {
+        mSubTitle = subTitle;
+    }
+
     @Override
     public CharSequence getTitle() {
-        return TITLE;
+        return mTitle;
+    }
+
+    public void setTitle(CharSequence title) {
+        mTitle = title;
     }
 
     @Override
@@ -59,4 +88,13 @@
     public int getMetricsCategory() {
         return SettingsEnums.TESTING;
     }
+
+    public void setViewType(int viewType) {
+        mViewType = viewType;
+    }
+
+    @Override
+    public int getViewType() {
+        return mViewType;
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/panel/InternetConnectivityPanelTest.java b/tests/robotests/src/com/android/settings/panel/InternetConnectivityPanelTest.java
index 42867fb..d9f56de 100644
--- a/tests/robotests/src/com/android/settings/panel/InternetConnectivityPanelTest.java
+++ b/tests/robotests/src/com/android/settings/panel/InternetConnectivityPanelTest.java
@@ -21,6 +21,7 @@
 
 import android.net.Uri;
 
+import com.android.settings.network.AirplaneModePreferenceController;
 import com.android.settings.slices.CustomSliceRegistry;
 
 import org.junit.Before;
@@ -47,7 +48,7 @@
         final List<Uri> uris = mPanel.getSlices();
 
         assertThat(uris).containsExactly(
-                CustomSliceRegistry.AIRPLANE_URI,
+                AirplaneModePreferenceController.SLICE_URI,
                 CustomSliceRegistry.MOBILE_DATA_SLICE_URI,
                 CustomSliceRegistry.WIFI_SLICE_URI);
     }
diff --git a/tests/robotests/src/com/android/settings/panel/MediaOutputGroupPanelTest.java b/tests/robotests/src/com/android/settings/panel/MediaOutputGroupPanelTest.java
new file mode 100644
index 0000000..632d10c
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/panel/MediaOutputGroupPanelTest.java
@@ -0,0 +1,75 @@
+/*
+ * 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.panel;
+
+import static com.android.settings.media.MediaOutputSlice.MEDIA_PACKAGE_NAME;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.net.Uri;
+
+import com.android.settings.slices.CustomSliceRegistry;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+import java.util.List;
+
+@RunWith(RobolectricTestRunner.class)
+public class MediaOutputGroupPanelTest {
+
+    private static final String TEST_PACKAGENAME = "com.test.packagename";
+
+    private MediaOutputGroupPanel mPanel;
+    private Context mContext;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+
+        mContext = spy(RuntimeEnvironment.application);
+        when(mContext.getApplicationContext()).thenReturn(mContext);
+        mPanel = MediaOutputGroupPanel.create(mContext, TEST_PACKAGENAME);
+    }
+
+    @Test
+    public void getSlices_containsNecessarySlices() {
+        final List<Uri> uris = mPanel.getSlices();
+
+        assertThat(uris).containsExactly(CustomSliceRegistry.MEDIA_OUTPUT_GROUP_SLICE_URI);
+    }
+
+    @Test
+    public void getSlices_verifyPackageName_isEqual() {
+        final List<Uri> uris = mPanel.getSlices();
+
+        assertThat(uris.get(0).getQueryParameter(MEDIA_PACKAGE_NAME)).isEqualTo(TEST_PACKAGENAME);
+    }
+
+    @Test
+    public void getSeeMoreIntent_isNull() {
+        assertThat(mPanel.getSeeMoreIntent()).isNull();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/panel/MediaOutputPanelTest.java b/tests/robotests/src/com/android/settings/panel/MediaOutputPanelTest.java
index b411037..07f01fc 100644
--- a/tests/robotests/src/com/android/settings/panel/MediaOutputPanelTest.java
+++ b/tests/robotests/src/com/android/settings/panel/MediaOutputPanelTest.java
@@ -20,28 +20,75 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.media.MediaMetadata;
+import android.media.session.MediaController;
+import android.media.session.MediaSessionManager;
 import android.net.Uri;
 
+import com.android.settings.R;
 import com.android.settings.slices.CustomSliceRegistry;
+import com.android.settingslib.media.InfoMediaDevice;
+import com.android.settingslib.media.LocalMediaManager;
+import com.android.settingslib.media.PhoneMediaDevice;
 
 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;
 import org.robolectric.RuntimeEnvironment;
 
+import java.util.ArrayList;
 import java.util.List;
 
 @RunWith(RobolectricTestRunner.class)
 public class MediaOutputPanelTest {
 
     private static final String TEST_PACKAGENAME = "com.test.packagename";
+    private static final String TEST_ARTIST = "test_artist";
+    private static final String TEST_ALBUM = "test_album";
+
+    @Mock
+    private MediaSessionManager mMediaSessionManager;
+    @Mock
+    private MediaController mMediaController;
+    @Mock
+    private MediaMetadata mMediaMetadata;
+    @Mock
+    private LocalMediaManager mLocalMediaManager;
+    @Mock
+    private PanelContentCallback mCallback;
 
     private MediaOutputPanel mPanel;
+    private Context mContext;
+    private List<MediaController> mMediaControllers = new ArrayList<>();
+    private ArgumentCaptor<MediaController.Callback> mControllerCbs =
+            ArgumentCaptor.forClass(MediaController.Callback.class);
 
     @Before
     public void setUp() {
-        mPanel = MediaOutputPanel.create(RuntimeEnvironment.application, TEST_PACKAGENAME);
+        MockitoAnnotations.initMocks(this);
+
+        mContext = spy(RuntimeEnvironment.application);
+
+        mMediaControllers.add(mMediaController);
+        when(mMediaController.getPackageName()).thenReturn(TEST_PACKAGENAME);
+        when(mMediaSessionManager.getActiveSessions(any())).thenReturn(mMediaControllers);
+        when(mContext.getApplicationContext()).thenReturn(mContext);
+        when(mContext.getSystemService(MediaSessionManager.class)).thenReturn(mMediaSessionManager);
+
+        mPanel = MediaOutputPanel.create(mContext, TEST_PACKAGENAME);
+        mPanel.mLocalMediaManager = mLocalMediaManager;
+        mPanel.registerCallback(mCallback);
     }
 
     @Test
@@ -62,4 +109,154 @@
     public void getSeeMoreIntent_isNull() {
         assertThat(mPanel.getSeeMoreIntent()).isNull();
     }
+
+    @Test
+    public void onStart_shouldRegisterCallback() {
+        mPanel.onStart();
+
+        verify(mMediaController).registerCallback(any());
+        verify(mLocalMediaManager).registerCallback(any());
+        verify(mLocalMediaManager).startScan();
+    }
+
+    @Test
+    public void onStop_shouldUnregisterCallback() {
+        mPanel.onStop();
+
+        verify(mLocalMediaManager).unregisterCallback(any());
+        verify(mLocalMediaManager).stopScan();
+    }
+
+    @Test
+    public void onSelectedDeviceStateChanged_shouldDispatchCustomButtonStateChanged() {
+        mPanel.onSelectedDeviceStateChanged(null, 0);
+
+        verify(mCallback).onCustomizedButtonStateChanged();
+    }
+
+    @Test
+    public void onDeviceListUpdate_shouldDispatchCustomButtonStateChanged() {
+        mPanel.onDeviceListUpdate(null);
+
+        verify(mCallback).onCustomizedButtonStateChanged();
+    }
+
+    @Test
+    public void onDeviceAttributesChanged_shouldDispatchCustomButtonStateChanged() {
+        mPanel.onDeviceAttributesChanged();
+
+        verify(mCallback).onCustomizedButtonStateChanged();
+    }
+
+    @Test
+    public void currentConnectDeviceIsInfoDevice_useCustomButtonIsTrue() {
+        final InfoMediaDevice infoMediaDevice = mock(InfoMediaDevice.class);
+        when(mLocalMediaManager.getCurrentConnectedDevice()).thenReturn(infoMediaDevice);
+
+        mPanel.onDeviceAttributesChanged();
+
+        assertThat(mPanel.isCustomizedButtonUsed()).isTrue();
+    }
+
+    @Test
+    public void currentConnectDeviceIsNotInfoDevice_useCustomButtonIsFalse() {
+        final PhoneMediaDevice phoneMediaDevice = mock(PhoneMediaDevice.class);
+        when(mLocalMediaManager.getCurrentConnectedDevice()).thenReturn(phoneMediaDevice);
+
+        mPanel.onDeviceAttributesChanged();
+
+        assertThat(mPanel.isCustomizedButtonUsed()).isFalse();
+    }
+
+    @Test
+    public void getTitle_withMetadata_returnArtistName() {
+        mPanel.onStart();
+        when(mMediaMetadata.getString(MediaMetadata.METADATA_KEY_ARTIST)).thenReturn(TEST_ARTIST);
+        when(mMediaController.getMetadata()).thenReturn(mMediaMetadata);
+
+        assertThat(mPanel.getTitle()).isEqualTo(TEST_ARTIST);
+    }
+
+    @Test
+    public void getTitle_noMetadata_returnDefaultString() {
+        when(mMediaController.getMetadata()).thenReturn(null);
+
+        assertThat(mPanel.getTitle()).isEqualTo(mContext.getText(R.string.media_volume_title));
+    }
+
+    @Test
+    public void getTitle_noPackageName_returnDefaultString() {
+        mPanel = MediaOutputPanel.create(mContext, null);
+        when(mMediaMetadata.getString(MediaMetadata.METADATA_KEY_ARTIST)).thenReturn(TEST_ARTIST);
+        when(mMediaController.getMetadata()).thenReturn(mMediaMetadata);
+
+        assertThat(mPanel.getTitle()).isEqualTo(mContext.getText(R.string.media_volume_title));
+    }
+
+    @Test
+    public void getTitle_noController_defaultString() {
+        mMediaControllers.clear();
+        when(mMediaMetadata.getString(MediaMetadata.METADATA_KEY_ARTIST)).thenReturn(TEST_ARTIST);
+        when(mMediaController.getMetadata()).thenReturn(mMediaMetadata);
+        mPanel = MediaOutputPanel.create(mContext, TEST_PACKAGENAME);
+
+        assertThat(mPanel.getTitle()).isEqualTo(mContext.getText(R.string.media_volume_title));
+    }
+
+    @Test
+    public void getSubTitle_withMetadata_returnAlbumName() {
+        mPanel.onStart();
+        when(mMediaMetadata.getString(MediaMetadata.METADATA_KEY_ALBUM)).thenReturn(TEST_ALBUM);
+        when(mMediaController.getMetadata()).thenReturn(mMediaMetadata);
+
+        assertThat(mPanel.getSubTitle()).isEqualTo(TEST_ALBUM);
+    }
+
+    @Test
+    public void getSubTitle_noMetadata_returnDefaultString() {
+        when(mMediaController.getPackageName()).thenReturn(TEST_PACKAGENAME);
+        when(mMediaController.getMetadata()).thenReturn(null);
+
+        assertThat(mPanel.getSubTitle()).isEqualTo(mContext.getText(
+                R.string.media_output_panel_title));
+    }
+
+    @Test
+    public void getSubTitle_noPackageName_returnDefaultString() {
+        mPanel = MediaOutputPanel.create(mContext, null);
+        when(mMediaMetadata.getString(MediaMetadata.METADATA_KEY_ARTIST)).thenReturn(TEST_ARTIST);
+        when(mMediaController.getMetadata()).thenReturn(mMediaMetadata);
+
+        assertThat(mPanel.getSubTitle()).isEqualTo(mContext.getText(
+                R.string.media_output_panel_title));
+    }
+
+    @Test
+    public void getSubTitle_noController_returnDefaultString() {
+        mMediaControllers.clear();
+        mPanel = MediaOutputPanel.create(mContext, TEST_PACKAGENAME);
+        when(mMediaMetadata.getString(MediaMetadata.METADATA_KEY_ALBUM)).thenReturn(TEST_ALBUM);
+        when(mMediaController.getMetadata()).thenReturn(mMediaMetadata);
+
+        assertThat(mPanel.getSubTitle()).isEqualTo(mContext.getText(
+                R.string.media_output_panel_title));
+    }
+
+    @Test
+    public void onClickCustomizedButton_shouldReleaseSession() {
+        mPanel.onClickCustomizedButton();
+
+        verify(mLocalMediaManager).releaseSession();
+    }
+
+    @Test
+    public void onMetadataChanged_verifyCallOnHeaderChanged() {
+        mPanel.onStart();
+        verify(mMediaController).registerCallback(mControllerCbs.capture());
+        final MediaController.Callback controllerCallbacks = mControllerCbs.getValue();
+
+        controllerCallbacks.onMetadataChanged(mMediaMetadata);
+
+        verify(mCallback).onHeaderChanged();
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/panel/PanelFeatureProviderImplTest.java b/tests/robotests/src/com/android/settings/panel/PanelFeatureProviderImplTest.java
index ae57a77..54f1894 100644
--- a/tests/robotests/src/com/android/settings/panel/PanelFeatureProviderImplTest.java
+++ b/tests/robotests/src/com/android/settings/panel/PanelFeatureProviderImplTest.java
@@ -17,17 +17,19 @@
 
 package com.android.settings.panel;
 
+import static com.android.settings.panel.SettingsPanelActivity.KEY_MEDIA_PACKAGE_NAME;
+import static com.android.settings.panel.SettingsPanelActivity.KEY_PANEL_TYPE_ARGUMENT;
 import static com.android.settingslib.media.MediaOutputSliceConstants.ACTION_MEDIA_OUTPUT;
 
 import static com.google.common.truth.Truth.assertThat;
 
 import android.content.Context;
+import android.os.Bundle;
 import android.provider.Settings;
 
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
 
@@ -38,33 +40,39 @@
 
     private Context mContext;
     private PanelFeatureProviderImpl mProvider;
+    private Bundle mBundle;
 
     @Before
     public void setUp() {
         mContext = RuntimeEnvironment.application;
         mProvider = new PanelFeatureProviderImpl();
+        mBundle = new Bundle();
+        mBundle.putString(KEY_MEDIA_PACKAGE_NAME, TEST_PACKAGENAME);
     }
 
     @Test
     public void getPanel_internetConnectivityKey_returnsCorrectPanel() {
-        final PanelContent panel = mProvider.getPanel(mContext,
-                Settings.Panel.ACTION_INTERNET_CONNECTIVITY, TEST_PACKAGENAME);
+        mBundle.putString(KEY_PANEL_TYPE_ARGUMENT, Settings.Panel.ACTION_INTERNET_CONNECTIVITY);
+
+        final PanelContent panel = mProvider.getPanel(mContext, mBundle);
 
         assertThat(panel).isInstanceOf(InternetConnectivityPanel.class);
     }
 
     @Test
     public void getPanel_volume_returnsCorrectPanel() {
-        final PanelContent panel = mProvider.getPanel(mContext,
-                Settings.Panel.ACTION_VOLUME, TEST_PACKAGENAME);
+        mBundle.putString(KEY_PANEL_TYPE_ARGUMENT, Settings.Panel.ACTION_VOLUME);
+
+        final PanelContent panel = mProvider.getPanel(mContext, mBundle);
 
         assertThat(panel).isInstanceOf(VolumePanel.class);
     }
 
     @Test
     public void getPanel_mediaOutputKey_returnsCorrectPanel() {
-        final PanelContent panel = mProvider.getPanel(mContext,
-                ACTION_MEDIA_OUTPUT, TEST_PACKAGENAME);
+        mBundle.putString(KEY_PANEL_TYPE_ARGUMENT, ACTION_MEDIA_OUTPUT);
+
+        final PanelContent panel = mProvider.getPanel(mContext, mBundle);
 
         assertThat(panel).isInstanceOf(MediaOutputPanel.class);
     }
diff --git a/tests/robotests/src/com/android/settings/panel/PanelFragmentTest.java b/tests/robotests/src/com/android/settings/panel/PanelFragmentTest.java
index 44dc3bc..07ca48b 100644
--- a/tests/robotests/src/com/android/settings/panel/PanelFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/panel/PanelFragmentTest.java
@@ -31,6 +31,9 @@
 import android.view.LayoutInflater;
 import android.view.View;
 import android.widget.LinearLayout;
+import android.widget.TextView;
+
+import androidx.core.graphics.drawable.IconCompat;
 
 import com.android.settings.R;
 import com.android.settings.testutils.FakeFeatureFactory;
@@ -38,20 +41,30 @@
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-
+import org.mockito.ArgumentCaptor;
 import org.robolectric.Robolectric;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.android.controller.ActivityController;
+
+import java.util.Objects;
 
 @RunWith(RobolectricTestRunner.class)
 public class PanelFragmentTest {
 
+    private static final String TITLE = "title";
+    private static final String TITLE2 = "title2";
+    private static final String SUBTITLE = "subtitle";
+    private static final String SUBTITLE2 = "subtitle2";
+
     private Context mContext;
     private PanelFragment mPanelFragment;
     private FakeSettingsPanelActivity mActivity;
     private FakeFeatureFactory mFakeFeatureFactory;
     private PanelFeatureProvider mPanelFeatureProvider;
     private FakePanelContent mFakePanelContent;
+    private ArgumentCaptor<PanelContentCallback> mPanelContentCbs = ArgumentCaptor.forClass(
+            PanelContentCallback.class);
 
     private final String FAKE_EXTRA = "fake_extra";
 
@@ -62,9 +75,11 @@
         mPanelFeatureProvider = spy(new PanelFeatureProviderImpl());
         mFakeFeatureFactory = FakeFeatureFactory.setupForTest();
         mFakeFeatureFactory.panelFeatureProvider = mPanelFeatureProvider;
-        mFakePanelContent = new FakePanelContent();
-        doReturn(mFakePanelContent).when(mPanelFeatureProvider).getPanel(any(), any(), any());
+        mFakePanelContent = spy(new FakePanelContent());
+        doReturn(mFakePanelContent).when(mPanelFeatureProvider).getPanel(any(), any());
+    }
 
+    private void initFakeActivity() {
         mActivity = spy(Robolectric.buildActivity(FakeSettingsPanelActivity.class).setup().get());
 
         mPanelFragment =
@@ -79,11 +94,12 @@
 
     @Test
     public void onCreateView_countdownLatch_setup() {
+        initFakeActivity();
         mPanelFragment.onCreateView(LayoutInflater.from(mContext),
                 new LinearLayout(mContext), null);
         PanelSlicesLoaderCountdownLatch countdownLatch =
                 mPanelFragment.mPanelSlicesLoaderCountdownLatch;
-        for (Uri sliecUri: mFakePanelContent.getSlices()) {
+        for (Uri sliecUri : mFakePanelContent.getSlices()) {
             countdownLatch.markSliceLoaded(sliecUri);
         }
 
@@ -92,6 +108,7 @@
 
     @Test
     public void onCreate_logsOpenEvent() {
+        initFakeActivity();
         verify(mFakeFeatureFactory.metricsFeatureProvider).action(
                 0,
                 SettingsEnums.PAGE_VISIBLE,
@@ -102,6 +119,7 @@
 
     @Test
     public void onDestroy_logCloseEvent() {
+        initFakeActivity();
         mPanelFragment.onDestroyView();
         verify(mFakeFeatureFactory.metricsFeatureProvider).action(
                 0,
@@ -113,6 +131,7 @@
 
     @Test
     public void panelSeeMoreClick_logsCloseEvent() {
+        initFakeActivity();
         final View.OnClickListener listener = mPanelFragment.getSeeMoreListener();
         listener.onClick(null);
         verify(mActivity).finish();
@@ -129,6 +148,7 @@
 
     @Test
     public void panelDoneClick_logsCloseEvent() {
+        initFakeActivity();
         final View.OnClickListener listener = mPanelFragment.getCloseListener();
         listener.onClick(null);
         verify(mActivity).finish();
@@ -142,4 +162,78 @@
                 0
         );
     }
+
+    @Test
+    public void supportIcon_displayIconHeaderLayout() {
+        final IconCompat icon = IconCompat.createWithResource(mContext, R.drawable.ic_android);
+        mFakePanelContent.setIcon(icon);
+        mFakePanelContent.setSubTitle(SUBTITLE);
+        final ActivityController<FakeSettingsPanelActivity> activityController =
+                Robolectric.buildActivity(FakeSettingsPanelActivity.class);
+        activityController.setup();
+        final PanelFragment panelFragment = (PanelFragment)
+                Objects.requireNonNull(activityController
+                        .get()
+                        .getSupportFragmentManager()
+                        .findFragmentById(R.id.main_content));
+        final View titleView = panelFragment.mLayoutView.findViewById(R.id.panel_title);
+        final LinearLayout panelHeader = panelFragment.mLayoutView.findViewById(R.id.panel_header);
+        final TextView headerTitle = panelFragment.mLayoutView.findViewById(R.id.header_title);
+        final TextView headerSubtitle = panelFragment.mLayoutView.findViewById(
+                R.id.header_subtitle);
+        // Check visibility
+        assertThat(panelHeader.getVisibility()).isEqualTo(View.VISIBLE);
+        assertThat(titleView.getVisibility()).isEqualTo(View.GONE);
+        // Check content
+        assertThat(headerTitle.getText()).isEqualTo(FakePanelContent.TITLE);
+        assertThat(headerSubtitle.getText()).isEqualTo(SUBTITLE);
+    }
+
+    @Test
+    public void notSupportIcon_displayDefaultHeaderLayout() {
+        final ActivityController<FakeSettingsPanelActivity> activityController =
+                Robolectric.buildActivity(FakeSettingsPanelActivity.class);
+        activityController.setup();
+        final PanelFragment panelFragment = (PanelFragment)
+                Objects.requireNonNull(activityController
+                        .get()
+                        .getSupportFragmentManager()
+                        .findFragmentById(R.id.main_content));
+
+        final View titleView = panelFragment.mLayoutView.findViewById(R.id.panel_title);
+        final View panelHeader = panelFragment.mLayoutView.findViewById(R.id.panel_header);
+
+        assertThat(panelHeader.getVisibility()).isEqualTo(View.GONE);
+        assertThat(titleView.getVisibility()).isEqualTo(View.VISIBLE);
+    }
+
+    @Test
+    public void onHeaderChanged_updateHeader_verifyTitle() {
+        mFakePanelContent.setIcon(IconCompat.createWithResource(mContext, R.drawable.ic_android));
+        mFakePanelContent.setTitle(TITLE);
+        mFakePanelContent.setSubTitle(SUBTITLE);
+        final ActivityController<FakeSettingsPanelActivity> activityController =
+                Robolectric.buildActivity(FakeSettingsPanelActivity.class);
+        activityController.setup();
+        final PanelFragment panelFragment = (PanelFragment)
+                Objects.requireNonNull(activityController
+                        .get()
+                        .getSupportFragmentManager()
+                        .findFragmentById(R.id.main_content));
+        final TextView headerTitle = panelFragment.mLayoutView.findViewById(R.id.header_title);
+        final TextView headerSubtitle = panelFragment.mLayoutView.findViewById(
+                R.id.header_subtitle);
+
+        assertThat(headerTitle.getText()).isEqualTo(TITLE);
+        assertThat(headerSubtitle.getText()).isEqualTo(SUBTITLE);
+
+        mFakePanelContent.setTitle(TITLE2);
+        mFakePanelContent.setSubTitle(SUBTITLE2);
+        verify(mFakePanelContent).registerCallback(mPanelContentCbs.capture());
+        final PanelContentCallback panelContentCallbacks = mPanelContentCbs.getValue();
+        panelContentCallbacks.onHeaderChanged();
+
+        assertThat(headerTitle.getText()).isEqualTo(TITLE2);
+        assertThat(headerSubtitle.getText()).isEqualTo(SUBTITLE2);
+    }
 }
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/panel/PanelSlicesAdapterTest.java b/tests/robotests/src/com/android/settings/panel/PanelSlicesAdapterTest.java
index 922e629..9e96d0f 100644
--- a/tests/robotests/src/com/android/settings/panel/PanelSlicesAdapterTest.java
+++ b/tests/robotests/src/com/android/settings/panel/PanelSlicesAdapterTest.java
@@ -16,19 +16,23 @@
 
 package com.android.settings.panel;
 
+import static com.android.settings.panel.PanelContent.VIEW_TYPE_SLIDER;
 import static com.android.settings.panel.PanelSlicesAdapter.MAX_NUM_OF_SLICES;
 import static com.android.settings.slices.CustomSliceRegistry.MEDIA_OUTPUT_INDICATOR_SLICE_URI;
 
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
 import android.content.Context;
 import android.net.Uri;
+import android.view.LayoutInflater;
 import android.view.ViewGroup;
 import android.widget.FrameLayout;
 
@@ -36,32 +40,37 @@
 import androidx.slice.Slice;
 
 import com.android.settings.R;
-import com.android.settings.slices.CustomSliceRegistry;
+import com.android.settings.panel.PanelSlicesAdapter.SliceRowViewHolder;
 import com.android.settings.testutils.FakeFeatureFactory;
 
 import org.junit.Before;
-import org.junit.runner.RunWith;
 import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.ArgumentCaptor;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.Robolectric;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.android.controller.ActivityController;
+import org.robolectric.annotation.Config;
+import org.robolectric.annotation.Implementation;
+import org.robolectric.annotation.Implements;
 
-import java.util.ArrayList;
-import java.util.List;
+import java.util.LinkedHashMap;
+import java.util.Map;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = PanelSlicesAdapterTest.ShadowLayoutInflater.class)
 public class PanelSlicesAdapterTest {
 
-    private static final Uri DATA_URI = CustomSliceRegistry.DATA_USAGE_SLICE_URI;
+    private static LayoutInflater sLayoutInflater;
 
     private Context mContext;
     private PanelFragment mPanelFragment;
     private PanelFeatureProvider mPanelFeatureProvider;
     private FakeFeatureFactory mFakeFeatureFactory;
     private FakePanelContent mFakePanelContent;
-    private List<LiveData<Slice>> mData = new ArrayList<>();
+    private Map<Uri, LiveData<Slice>> mData = new LinkedHashMap<>();
 
     @Before
     public void setUp() {
@@ -72,7 +81,7 @@
         mFakeFeatureFactory = FakeFeatureFactory.setupForTest();
         mFakeFeatureFactory.panelFeatureProvider = mPanelFeatureProvider;
         mFakePanelContent = new FakePanelContent();
-        doReturn(mFakePanelContent).when(mPanelFeatureProvider).getPanel(any(), any(), any());
+        doReturn(mFakePanelContent).when(mPanelFeatureProvider).getPanel(any(), any());
 
         ActivityController<FakeSettingsPanelActivity> activityController =
                 Robolectric.buildActivity(FakeSettingsPanelActivity.class);
@@ -93,25 +102,13 @@
         doReturn(uri).when(slice).getUri();
         final LiveData<Slice> liveData = mock(LiveData.class);
         when(liveData.getValue()).thenReturn(slice);
-        mData.add(liveData);
-    }
-
-    @Test
-    public void onCreateViewHolder_returnsSliceRowViewHolder() {
-        addTestLiveData(DATA_URI);
-        final PanelSlicesAdapter adapter =
-                new PanelSlicesAdapter(mPanelFragment, mData, 0 /* metrics category */);
-        final ViewGroup view = new FrameLayout(mContext);
-        final PanelSlicesAdapter.SliceRowViewHolder viewHolder =
-                adapter.onCreateViewHolder(view, 0);
-
-        assertThat(viewHolder.sliceView).isNotNull();
+        mData.put(uri, liveData);
     }
 
     @Test
     public void sizeOfAdapter_shouldNotExceedMaxNum() {
         for (int i = 0; i < MAX_NUM_OF_SLICES + 2; i++) {
-            addTestLiveData(DATA_URI);
+            addTestLiveData(Uri.parse("uri" + i));
         }
 
         assertThat(mData.size()).isEqualTo(MAX_NUM_OF_SLICES + 2);
@@ -119,7 +116,7 @@
         final PanelSlicesAdapter adapter =
                 new PanelSlicesAdapter(mPanelFragment, mData, 0 /* metrics category */);
         final ViewGroup view = new FrameLayout(mContext);
-        final PanelSlicesAdapter.SliceRowViewHolder viewHolder =
+        final SliceRowViewHolder viewHolder =
                 adapter.onCreateViewHolder(view, 0);
 
         assertThat(adapter.getItemCount()).isEqualTo(MAX_NUM_OF_SLICES);
@@ -127,22 +124,6 @@
     }
 
     @Test
-    public void nonMediaOutputIndicatorSlice_shouldAllowDividerAboveAndBelow() {
-        addTestLiveData(DATA_URI);
-        final PanelSlicesAdapter adapter =
-                new PanelSlicesAdapter(mPanelFragment, mData, 0 /* metrics category */);
-        final int position = 0;
-        final ViewGroup view = new FrameLayout(mContext);
-        final PanelSlicesAdapter.SliceRowViewHolder viewHolder =
-                adapter.onCreateViewHolder(view, 0 /* view type*/);
-
-        adapter.onBindViewHolder(viewHolder, position);
-
-        assertThat(viewHolder.isDividerAllowedAbove()).isTrue();
-        assertThat(viewHolder.isDividerAllowedBelow()).isTrue();
-    }
-
-    @Test
     public void mediaOutputIndicatorSlice_shouldNotAllowDividerAbove() {
         addTestLiveData(MEDIA_OUTPUT_INDICATOR_SLICE_URI);
 
@@ -150,11 +131,52 @@
                 new PanelSlicesAdapter(mPanelFragment, mData, 0 /* metrics category */);
         final int position = 0;
         final ViewGroup view = new FrameLayout(mContext);
-        final PanelSlicesAdapter.SliceRowViewHolder viewHolder =
+        final SliceRowViewHolder viewHolder =
                 adapter.onCreateViewHolder(view, 0 /* view type*/);
 
         adapter.onBindViewHolder(viewHolder, position);
 
         assertThat(viewHolder.isDividerAllowedAbove()).isFalse();
     }
-}
\ No newline at end of file
+
+    @Test
+    public void onCreateViewHolder_viewTypeSlider_verifyLayout() {
+        final PanelSlicesAdapter adapter =
+                new PanelSlicesAdapter(mPanelFragment, mData, 0);
+        final ViewGroup view = new FrameLayout(mContext);
+        final ArgumentCaptor<Integer> intArgumentCaptor = ArgumentCaptor.forClass(Integer.class);
+
+        adapter.onCreateViewHolder(view, VIEW_TYPE_SLIDER);
+
+        verify(sLayoutInflater).inflate(intArgumentCaptor.capture(), eq(view), eq(false));
+        assertThat(intArgumentCaptor.getValue()).isEqualTo(R.layout.panel_slice_slider_row);
+    }
+
+    @Test
+    public void onCreateViewHolder_viewTypeDefault_verifyLayout() {
+        final PanelSlicesAdapter adapter =
+                new PanelSlicesAdapter(mPanelFragment, mData, 0);
+        final ViewGroup view = new FrameLayout(mContext);
+        final ArgumentCaptor<Integer> intArgumentCaptor = ArgumentCaptor.forClass(Integer.class);
+
+        adapter.onCreateViewHolder(view, 0);
+
+        verify(sLayoutInflater).inflate(intArgumentCaptor.capture(), eq(view), eq(false));
+        assertThat(intArgumentCaptor.getValue()).isEqualTo(R.layout.panel_slice_row);
+    }
+
+    @Implements(LayoutInflater.class)
+    public static class ShadowLayoutInflater {
+
+        @Implementation
+        public static LayoutInflater from(Context context) {
+            final LayoutInflater inflater =
+                    (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
+            if (inflater == null) {
+                throw new AssertionError("LayoutInflater not found.");
+            }
+            sLayoutInflater = spy(inflater);
+            return sLayoutInflater;
+        }
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/panel/SettingsPanelActivityTest.java b/tests/robotests/src/com/android/settings/panel/SettingsPanelActivityTest.java
index a4b7aa5..44e5eefc 100644
--- a/tests/robotests/src/com/android/settings/panel/SettingsPanelActivityTest.java
+++ b/tests/robotests/src/com/android/settings/panel/SettingsPanelActivityTest.java
@@ -65,7 +65,7 @@
         mPanelFeatureProvider = spy(new PanelFeatureProviderImpl());
         mFakeFeatureFactory.panelFeatureProvider = mPanelFeatureProvider;
         mFakePanelContent = new FakePanelContent();
-        doReturn(mFakePanelContent).when(mPanelFeatureProvider).getPanel(any(), any(), any());
+        doReturn(mFakePanelContent).when(mPanelFeatureProvider).getPanel(any(), any());
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/panel/VolumePanelTest.java b/tests/robotests/src/com/android/settings/panel/VolumePanelTest.java
index 8dd04ce..4edc2c7 100644
--- a/tests/robotests/src/com/android/settings/panel/VolumePanelTest.java
+++ b/tests/robotests/src/com/android/settings/panel/VolumePanelTest.java
@@ -22,38 +22,22 @@
 import static org.mockito.Mockito.when;
 
 import android.content.Context;
-import android.media.session.ISessionController;
-import android.media.session.MediaController;
-import android.media.session.MediaSession;
-import android.media.session.MediaSessionManager;
 import android.net.Uri;
 
-import com.android.settings.notification.RemoteVolumePreferenceController;
 import com.android.settings.slices.CustomSliceRegistry;
 
 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.RuntimeEnvironment;
 
-import java.util.ArrayList;
 import java.util.List;
 
 @RunWith(RobolectricTestRunner.class)
 public class VolumePanelTest {
 
-    @Mock
-    private MediaSessionManager mMediaSessionManager;
-    @Mock
-    private MediaController mMediaController;
-    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
-    private ISessionController mStub;
-
-
     private VolumePanel mPanel;
     private Context mContext;
 
@@ -65,28 +49,16 @@
         mContext = spy(RuntimeEnvironment.application);
 
         when(mContext.getApplicationContext()).thenReturn(mContext);
-        when(mContext.getSystemService(MediaSessionManager.class)).thenReturn(mMediaSessionManager);
 
         mPanel = VolumePanel.create(mContext);
     }
 
     @Test
-    public void getSlices_hasActiveRemoteToken_containsRemoteMediaUri() {
-        List<MediaController> activeSessions = new ArrayList<>();
-        MediaSession.Token token = new MediaSession.Token(mStub);
-        activeSessions.add(mMediaController);
-
-        when(mMediaSessionManager.getActiveSessions(null)).thenReturn(
-                activeSessions);
-        when(mMediaController.getPlaybackInfo()).thenReturn(new MediaController.PlaybackInfo(
-                MediaController.PlaybackInfo.PLAYBACK_TYPE_REMOTE, 0, 10, 5, null));
-        when(mMediaController.getSessionToken()).thenReturn(new MediaSession.Token(mStub));
-        when(RemoteVolumePreferenceController.getActiveRemoteToken(mContext)).thenReturn(token);
-
+    public void getSlices_checkUri() {
         final List<Uri> uris = mPanel.getSlices();
 
         assertThat(uris).containsExactly(
-                CustomSliceRegistry.VOLUME_REMOTE_MEDIA_URI,
+                CustomSliceRegistry.REMOTE_MEDIA_SLICE_URI,
                 CustomSliceRegistry.VOLUME_CALL_URI,
                 CustomSliceRegistry.VOLUME_MEDIA_URI,
                 CustomSliceRegistry.MEDIA_OUTPUT_INDICATOR_SLICE_URI,
@@ -95,22 +67,6 @@
     }
 
     @Test
-    public void getSlices_doesNotHaveActiveRemoteToken_doesNotcontainRemoteMediaUri() {
-        final List<Uri> uris = mPanel.getSlices();
-
-        when(RemoteVolumePreferenceController.getActiveRemoteToken(mContext))
-            .thenReturn(null);
-
-        assertThat(uris).doesNotContain(CustomSliceRegistry.VOLUME_REMOTE_MEDIA_URI);
-        assertThat(uris).containsExactly(
-            CustomSliceRegistry.VOLUME_CALL_URI,
-            CustomSliceRegistry.VOLUME_MEDIA_URI,
-            CustomSliceRegistry.MEDIA_OUTPUT_INDICATOR_SLICE_URI,
-            CustomSliceRegistry.VOLUME_RINGER_URI,
-            CustomSliceRegistry.VOLUME_ALARM_URI);
-    }
-
-    @Test
     public void getSeeMoreIntent_notNull() {
         assertThat(mPanel.getSeeMoreIntent()).isNotNull();
     }
diff --git a/tests/robotests/src/com/android/settings/password/ChooseLockGenericTest.java b/tests/robotests/src/com/android/settings/password/ChooseLockGenericTest.java
index 673c334..1bdadb2 100644
--- a/tests/robotests/src/com/android/settings/password/ChooseLockGenericTest.java
+++ b/tests/robotests/src/com/android/settings/password/ChooseLockGenericTest.java
@@ -22,6 +22,7 @@
 import static android.app.admin.DevicePolicyManager.PASSWORD_COMPLEXITY_MEDIUM;
 import static android.app.admin.DevicePolicyManager.PASSWORD_COMPLEXITY_NONE;
 
+import static com.android.settings.password.ChooseLockGeneric.ChooseLockGenericFragment.KEY_LOCK_SETTINGS_FOOTER;
 import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_CALLER_APP_NAME;
 import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_IS_CALLING_APP_ADMIN;
 import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_REQUESTED_MIN_COMPLEXITY;
@@ -136,7 +137,7 @@
               mActivity.getString(R.string.unlock_footer_high_complexity_requested, "app name");
 
         mFragment.updatePreferencesOrFinish(false /* isRecreatingActivity */);
-        FooterPreference footer = mFragment.findPreference(FooterPreference.KEY_FOOTER);
+        FooterPreference footer = mFragment.findPreference(KEY_LOCK_SETTINGS_FOOTER);
 
         assertThat(footer.getTitle()).isEqualTo(expectedTitle);
     }
@@ -152,7 +153,7 @@
                 mActivity.getString(R.string.unlock_footer_medium_complexity_requested, "app name");
 
         mFragment.updatePreferencesOrFinish(false /* isRecreatingActivity */);
-        FooterPreference footer = mFragment.findPreference(FooterPreference.KEY_FOOTER);
+        FooterPreference footer = mFragment.findPreference(KEY_LOCK_SETTINGS_FOOTER);
 
         assertThat(footer.getTitle()).isEqualTo(expectedTitle);
     }
@@ -168,7 +169,7 @@
                 mActivity.getString(R.string.unlock_footer_low_complexity_requested, "app name");
 
         mFragment.updatePreferencesOrFinish(false /* isRecreatingActivity */);
-        FooterPreference footer = mFragment.findPreference(FooterPreference.KEY_FOOTER);
+        FooterPreference footer = mFragment.findPreference(KEY_LOCK_SETTINGS_FOOTER);
 
         assertThat(footer.getTitle()).isEqualTo(expectedTitle);
     }
@@ -184,19 +185,19 @@
                 mActivity.getString(R.string.unlock_footer_none_complexity_requested, "app name");
 
         mFragment.updatePreferencesOrFinish(/* isRecreatingActivity= */ false);
-        FooterPreference footer = mFragment.findPreference(FooterPreference.KEY_FOOTER);
+        FooterPreference footer = mFragment.findPreference(KEY_LOCK_SETTINGS_FOOTER);
 
         assertThat(footer.getTitle()).isEqualTo(expectedTitle);
     }
 
     @Test
-    public void updatePreferencesOrFinish_callingAppIsAdmin_noFooter() {
+    public void updatePreferencesOrFinish_callingAppIsAdmin_footerInvisible() {
         initActivity(new Intent().putExtra(EXTRA_KEY_IS_CALLING_APP_ADMIN, true));
 
         mFragment.updatePreferencesOrFinish(/* isRecreatingActivity= */ false);
 
-        FooterPreference footer = mFragment.findPreference(FooterPreference.KEY_FOOTER);
-        assertThat(footer).isNull();
+        FooterPreference footer = mFragment.findPreference(KEY_LOCK_SETTINGS_FOOTER);
+        assertThat(footer.isVisible()).isFalse();
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/password/ChooseLockPasswordTest.java b/tests/robotests/src/com/android/settings/password/ChooseLockPasswordTest.java
index 73707a6..4bbf51d 100644
--- a/tests/robotests/src/com/android/settings/password/ChooseLockPasswordTest.java
+++ b/tests/robotests/src/com/android/settings/password/ChooseLockPasswordTest.java
@@ -41,6 +41,7 @@
 import android.content.Intent;
 import android.os.UserHandle;
 
+import com.android.internal.widget.LockscreenCredential;
 import com.android.settings.R;
 import com.android.settings.password.ChooseLockPassword.ChooseLockPasswordFragment;
 import com.android.settings.password.ChooseLockPassword.IntentBuilder;
@@ -76,7 +77,6 @@
         SettingsShadowResources.overrideResource(
                 com.android.internal.R.string.config_headlineFontFamily, "");
         mShadowDpm = ShadowDevicePolicyManager.getShadow();
-        mShadowDpm.setPasswordMaximumLength(16);
     }
 
     @After
@@ -87,7 +87,7 @@
     @Test
     public void intentBuilder_setPassword_shouldAddExtras() {
         Intent intent = new IntentBuilder(application)
-                .setPassword("password".getBytes())
+                .setPassword(LockscreenCredential.createPassword("password"))
                 .setPasswordQuality(DevicePolicyManager.PASSWORD_QUALITY_NUMERIC)
                 .setUserId(123)
                 .build();
@@ -95,9 +95,10 @@
         assertThat(intent.getBooleanExtra(ChooseLockSettingsHelper.EXTRA_KEY_HAS_CHALLENGE, true))
                 .named("EXTRA_KEY_HAS_CHALLENGE")
                 .isFalse();
-        assertThat(intent.getByteArrayExtra(ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD))
+        assertThat((LockscreenCredential) intent.getParcelableExtra(
+                ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD))
                 .named("EXTRA_KEY_PASSWORD")
-                .isEqualTo("password".getBytes());
+                .isEqualTo(LockscreenCredential.createPassword("password"));
         assertThat(intent.getIntExtra(PASSWORD_TYPE_KEY, 0))
                 .named("PASSWORD_TYPE_KEY")
                 .isEqualTo(DevicePolicyManager.PASSWORD_QUALITY_NUMERIC);
@@ -154,8 +155,8 @@
         assertPasswordValidationResult(
                 /* minComplexity= */ PASSWORD_COMPLEXITY_NONE,
                 /* passwordType= */ PASSWORD_QUALITY_ALPHABETIC,
-                /* userEnteredPassword= */ "",
-                "Must contain at least 1 letter",
+                /* userEnteredPassword= */ LockscreenCredential.createNone(),
+                "Must contain at least 1 non-numerical character",
                 "Must be at least 10 characters");
     }
 
@@ -166,7 +167,7 @@
         assertPasswordValidationResult(
                 /* minComplexity= */ PASSWORD_COMPLEXITY_HIGH,
                 /* passwordType= */ PASSWORD_QUALITY_NUMERIC,
-                /* userEnteredPassword= */ "",
+                /* userEnteredPassword= */ LockscreenCredential.createNone(),
                 "PIN must be at least 8 digits");
     }
 
@@ -177,8 +178,8 @@
         assertPasswordValidationResult(
                 /* minComplexity= */ PASSWORD_COMPLEXITY_MEDIUM,
                 /* passwordType= */ PASSWORD_QUALITY_ALPHABETIC,
-                /* userEnteredPassword= */ "",
-                "Must contain at least 1 letter",
+                /* userEnteredPassword= */ LockscreenCredential.createNone(),
+                "Must contain at least 1 non-numerical character",
                 "Must be at least 4 characters");
     }
 
@@ -190,8 +191,8 @@
         assertPasswordValidationResult(
                 /* minComplexity= */ PASSWORD_COMPLEXITY_LOW,
                 /* passwordType= */ PASSWORD_QUALITY_ALPHABETIC,
-                /* userEnteredPassword= */ "",
-                "Must contain at least 1 letter",
+                /* userEnteredPassword= */ LockscreenCredential.createNone(),
+                "Must contain at least 1 non-numerical character",
                 "Must contain at least 1 numerical digit",
                 "Must be at least 9 characters");
     }
@@ -204,7 +205,7 @@
         assertPasswordValidationResult(
                 /* minComplexity= */ PASSWORD_COMPLEXITY_MEDIUM,
                 /* passwordType= */ PASSWORD_QUALITY_NUMERIC,
-                /* userEnteredPassword= */ "",
+                /* userEnteredPassword= */ LockscreenCredential.createNone(),
                 "PIN must be at least 11 digits");
     }
 
@@ -216,9 +217,11 @@
         assertPasswordValidationResult(
                 /* minComplexity= */ PASSWORD_COMPLEXITY_HIGH,
                 /* passwordType= */ PASSWORD_QUALITY_ALPHABETIC,
-                /* userEnteredPassword= */ "",
+                /* userEnteredPassword= */ LockscreenCredential.createNone(),
                 "Must contain at least 2 special symbols",
-                "Must be at least 6 characters");
+                "Must be at least 6 characters",
+                "Must contain at least 1 letter",
+                "Must contain at least 1 numerical digit");
     }
 
     @Test
@@ -229,7 +232,7 @@
         assertPasswordValidationResult(
                 /* minComplexity= */ PASSWORD_COMPLEXITY_NONE,
                 /* passwordType= */ PASSWORD_QUALITY_NUMERIC,
-                /* userEnteredPassword= */ "12345678",
+                /* userEnteredPassword= */ LockscreenCredential.createPassword("12345678"),
                 "Ascending, descending, or repeated sequence of digits isn't allowed");
     }
 
@@ -241,7 +244,7 @@
         assertPasswordValidationResult(
                 /* minComplexity= */ PASSWORD_COMPLEXITY_NONE,
                 /* passwordType= */ PASSWORD_QUALITY_ALPHABETIC,
-                /* userEnteredPassword= */ "12345678",
+                /* userEnteredPassword= */ LockscreenCredential.createPassword("12345678"),
                 "Ascending, descending, or repeated sequence of digits isn't allowed");
     }
 
@@ -253,7 +256,7 @@
         assertPasswordValidationResult(
                 /* minComplexity= */ PASSWORD_COMPLEXITY_HIGH,
                 /* passwordType= */ PASSWORD_QUALITY_NUMERIC,
-                /* userEnteredPassword= */ "12345678",
+                /* userEnteredPassword= */ LockscreenCredential.createPassword("12345678"),
                 "Ascending, descending, or repeated sequence of digits isn't allowed");
     }
 
@@ -265,7 +268,7 @@
         assertPasswordValidationResult(
                 /* minComplexity= */ PASSWORD_COMPLEXITY_HIGH,
                 /* passwordType= */ PASSWORD_QUALITY_NUMERIC,
-                /* userEnteredPassword= */ "12345678",
+                /* userEnteredPassword= */ LockscreenCredential.createPassword("12345678"),
                 "Ascending, descending, or repeated sequence of digits isn't allowed");
     }
 
@@ -277,8 +280,8 @@
         assertPasswordValidationResult(
                 /* minComplexity= */ PASSWORD_COMPLEXITY_LOW,
                 /* passwordType= */ PASSWORD_QUALITY_ALPHABETIC,
-                /* userEnteredPassword= */ "12345678",
-                "Must contain at least 1 letter");
+                /* userEnteredPassword= */ LockscreenCredential.createPassword("12345678"),
+                "Ascending, descending, or repeated sequence of digits isn't allowed");
     }
 
     @Test
@@ -288,9 +291,9 @@
         assertPasswordValidationResult(
                 /* minComplexity= */ PASSWORD_COMPLEXITY_HIGH,
                 /* passwordType= */ PASSWORD_QUALITY_ALPHABETIC,
-                /* userEnteredPassword= */ "",
-                "Must contain at least 1 letter",
-                "Must be at least 6 characters");
+                /* userEnteredPassword= */ LockscreenCredential.createNone(),
+                "Must be at least 6 characters",
+                "Must contain at least 1 non-numerical character");
     }
 
     @Test
@@ -300,9 +303,9 @@
         assertPasswordValidationResult(
                 /* minComplexity= */ PASSWORD_COMPLEXITY_HIGH,
                 /* passwordType= */ PASSWORD_QUALITY_ALPHABETIC,
-                /* userEnteredPassword= */ "1",
-                "Must contain at least 1 letter",
-                "Must be at least 6 characters");
+                /* userEnteredPassword= */ LockscreenCredential.createPassword("1"),
+                "Must be at least 6 characters",
+                "Must contain at least 1 non-numerical character");
     }
 
     @Test
@@ -312,7 +315,7 @@
         assertPasswordValidationResult(
                 /* minComplexity= */ PASSWORD_COMPLEXITY_HIGH,
                 /* passwordType= */ PASSWORD_QUALITY_ALPHABETIC,
-                /* userEnteredPassword= */ "b",
+                /* userEnteredPassword= */ LockscreenCredential.createPassword("b"),
                 "Must be at least 6 characters");
     }
 
@@ -323,11 +326,33 @@
         assertPasswordValidationResult(
                 /* minComplexity= */ PASSWORD_COMPLEXITY_HIGH,
                 /* passwordType= */ PASSWORD_QUALITY_ALPHABETIC,
-                /* userEnteredPassword= */ "b1",
+                /* userEnteredPassword= */ LockscreenCredential.createPassword("b1"),
                 "Must be at least 6 characters");
     }
 
     @Test
+    public void processAndValidatePasswordRequirements_defaultPinMinimumLength() {
+        mShadowDpm.setPasswordQuality(PASSWORD_QUALITY_UNSPECIFIED);
+
+        assertPasswordValidationResult(
+                /* minComplexity= */ PASSWORD_COMPLEXITY_NONE,
+                /* passwordType= */ PASSWORD_QUALITY_NUMERIC,
+                /* userEnteredPassword= */ LockscreenCredential.createPassword("11"),
+                "PIN must be at least 4 digits");
+    }
+
+    @Test
+    public void processAndValidatePasswordRequirements_maximumLength() {
+        mShadowDpm.setPasswordQuality(PASSWORD_QUALITY_UNSPECIFIED);
+
+        assertPasswordValidationResult(
+                /* minComplexity= */ PASSWORD_COMPLEXITY_NONE,
+                /* passwordType= */ PASSWORD_QUALITY_ALPHABETIC,
+                LockscreenCredential.createPassword("01234567890123456789"),
+                "Must be fewer than 17 characters");
+    }
+
+    @Test
     public void assertThat_chooseLockIconChanged_WhenFingerprintExtraSet() {
         ShadowDrawable drawable = setActivityAndGetIconDrawable(true);
         assertThat(drawable.getCreatedFromResId()).isEqualTo(R.drawable.ic_fingerprint_header);
@@ -359,18 +384,16 @@
     }
 
     private void assertPasswordValidationResult(@PasswordComplexity int minComplexity,
-            int passwordType, String userEnteredPassword, String... expectedValidationResult) {
+            int passwordType, LockscreenCredential userEnteredPassword,
+            String... expectedValidationResult) {
         Intent intent = new Intent();
         intent.putExtra(CONFIRM_CREDENTIALS, false);
         intent.putExtra(PASSWORD_TYPE_KEY, passwordType);
         intent.putExtra(EXTRA_KEY_REQUESTED_MIN_COMPLEXITY, minComplexity);
         ChooseLockPassword activity = buildChooseLockPasswordActivity(intent);
         ChooseLockPasswordFragment fragment = getChooseLockPasswordFragment(activity);
-        byte[] userEnteredPasswordBytes = userEnteredPassword != null
-                ? userEnteredPassword.getBytes() : null;
-        int validateResult = fragment.validatePassword(userEnteredPasswordBytes);
-        String[] messages = fragment.convertErrorCodeToMessages(validateResult);
-
+        fragment.validatePassword(userEnteredPassword);
+        String[] messages = fragment.convertErrorCodeToMessages();
         assertThat(messages).asList().containsExactly((Object[]) expectedValidationResult);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/password/ChooseLockPatternTest.java b/tests/robotests/src/com/android/settings/password/ChooseLockPatternTest.java
index 48ebbec..0100744 100644
--- a/tests/robotests/src/com/android/settings/password/ChooseLockPatternTest.java
+++ b/tests/robotests/src/com/android/settings/password/ChooseLockPatternTest.java
@@ -24,6 +24,8 @@
 import android.os.UserHandle;
 import android.view.View;
 
+import com.android.internal.widget.LockPatternUtils;
+import com.android.internal.widget.LockscreenCredential;
 import com.android.settings.R;
 import com.android.settings.password.ChooseLockPattern.ChooseLockPatternFragment;
 import com.android.settings.password.ChooseLockPattern.IntentBuilder;
@@ -52,7 +54,7 @@
     @Test
     public void intentBuilder_setPattern_shouldAddExtras() {
         Intent intent = new IntentBuilder(application)
-                .setPattern("pattern".getBytes())
+                .setPattern(createPattern("1234"))
                 .setUserId(123)
                 .build();
 
@@ -60,10 +62,10 @@
                 .getBooleanExtra(ChooseLockSettingsHelper.EXTRA_KEY_HAS_CHALLENGE, true))
                 .named("EXTRA_KEY_HAS_CHALLENGE")
                 .isFalse();
-        assertThat(intent
-                .getByteArrayExtra(ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD))
+        assertThat((LockscreenCredential) intent
+                .getParcelableExtra(ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD))
                 .named("EXTRA_KEY_PASSWORD")
-                .isEqualTo("pattern".getBytes());
+                .isEqualTo(createPattern("1234"));
         assertThat(intent.getIntExtra(Intent.EXTRA_USER_ID, 0))
                 .named("EXTRA_USER_ID")
                 .isEqualTo(123);
@@ -120,4 +122,9 @@
                         .build())
                 .setup().get();
     }
+
+    private LockscreenCredential createPattern(String patternString) {
+        return LockscreenCredential.createPattern(LockPatternUtils.byteArrayToPattern(
+                patternString.getBytes()));
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/password/SetupChooseLockPasswordTest.java b/tests/robotests/src/com/android/settings/password/SetupChooseLockPasswordTest.java
index aeb16e6..77058c0 100644
--- a/tests/robotests/src/com/android/settings/password/SetupChooseLockPasswordTest.java
+++ b/tests/robotests/src/com/android/settings/password/SetupChooseLockPasswordTest.java
@@ -34,6 +34,7 @@
 import com.android.settings.password.SetupChooseLockPassword.SetupChooseLockPasswordFragment;
 import com.android.settings.testutils.shadow.SettingsShadowResources;
 import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
+import com.android.settings.testutils.shadow.ShadowDevicePolicyManager;
 import com.android.settings.testutils.shadow.ShadowLockPatternUtils;
 import com.android.settings.testutils.shadow.ShadowUtils;
 import com.android.settings.widget.ScrollToParentEditText;
@@ -62,6 +63,7 @@
         shadows = {
                 SettingsShadowResources.class,
                 ShadowLockPatternUtils.class,
+                ShadowDevicePolicyManager.class,
                 ShadowUtils.class,
                 ShadowAlertDialogCompat.class
         })
diff --git a/tests/robotests/src/com/android/settings/privacy/AccessibilityUsagePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/privacy/AccessibilityUsagePreferenceControllerTest.java
index d75bf4b..c07b1ad 100644
--- a/tests/robotests/src/com/android/settings/privacy/AccessibilityUsagePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/privacy/AccessibilityUsagePreferenceControllerTest.java
@@ -20,12 +20,13 @@
 import static com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_DEVICE;
 
 import static com.google.common.truth.Truth.assertThat;
+
 import android.accessibilityservice.AccessibilityServiceInfo;
 import android.content.Context;
-import android.provider.DeviceConfig;
 import android.view.accessibility.AccessibilityManager;
 
-import com.android.settings.Utils;
+import androidx.preference.Preference;
+
 import com.android.settings.testutils.shadow.ShadowDeviceConfig;
 
 import org.junit.After;
@@ -66,7 +67,7 @@
     @Test
     public void getAvailabilityStatus_noEnabledServices_shouldReturnUnsupported() {
         mAccessibilityManager.setEnabledAccessibilityServiceList(new ArrayList<>());
-        AccessibilityUsagePreferenceController controller =
+        final AccessibilityUsagePreferenceController controller =
                 new AccessibilityUsagePreferenceController(mContext, "test_key");
 
         assertThat(controller.getAvailabilityStatus()).isEqualTo(UNSUPPORTED_ON_DEVICE);
@@ -76,9 +77,22 @@
     public void getAvailabilityStatus_enabledServices_shouldReturnAvailable() {
         mAccessibilityManager.setEnabledAccessibilityServiceList(
                 new ArrayList<>(Arrays.asList(new AccessibilityServiceInfo())));
-        AccessibilityUsagePreferenceController controller =
+        final AccessibilityUsagePreferenceController controller =
                 new AccessibilityUsagePreferenceController(mContext, "test_key");
 
         assertThat(controller.getAvailabilityStatus()).isEqualTo(AVAILABLE);
     }
+
+    @Test
+    public void updateState_noEnabledServices_shouldHidePreference() {
+        mAccessibilityManager.setEnabledAccessibilityServiceList(new ArrayList<>());
+        final AccessibilityUsagePreferenceController controller =
+                new AccessibilityUsagePreferenceController(mContext, "test_key");
+        final Preference preference = new Preference(mContext);
+        preference.setVisible(true);
+
+        controller.updateState(preference);
+
+        assertThat(preference.isVisible()).isFalse();
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/search/BaseSearchIndexProviderTest.java b/tests/robotests/src/com/android/settings/search/BaseSearchIndexProviderTest.java
index 5e5e573..5221630 100644
--- a/tests/robotests/src/com/android/settings/search/BaseSearchIndexProviderTest.java
+++ b/tests/robotests/src/com/android/settings/search/BaseSearchIndexProviderTest.java
@@ -28,6 +28,7 @@
 import com.android.settings.core.BasePreferenceController;
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.settingslib.search.SearchIndexableRaw;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -77,6 +78,12 @@
         public String getPreferenceKey() {
             return TEST_PREF_KEY;
         }
+
+        @Override
+        public void updateDynamicRawDataToIndex(List<SearchIndexableRaw> rawData) {
+            final SearchIndexableRaw raw = new SearchIndexableRaw(this.mContext);
+            rawData.add(raw);
+        }
     }
 
     @Test
@@ -190,4 +197,18 @@
 
         assertThat(nonIndexableKeys).contains("pref_key_5");
     }
+
+    @Test
+    public void getDynamicRawDataToIndex_noPreferenceController_shouldReturnEmptyList() {
+        assertThat(mIndexProvider.getDynamicRawDataToIndex(mContext, true)).isEmpty();
+    }
+
+    @Test
+    public void getDynamicRawDataToIndex_hasDynamicRaw_shouldNotEmpty() {
+        List<AbstractPreferenceController> controllers = new ArrayList<>();
+        controllers.add(new AvailablePreferenceController(mContext));
+        doReturn(controllers).when(mIndexProvider).createPreferenceControllers(mContext);
+
+        assertThat(mIndexProvider.getDynamicRawDataToIndex(mContext, true)).isNotEmpty();
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/search/DatabaseIndexingUtils.java b/tests/robotests/src/com/android/settings/search/DatabaseIndexingUtils.java
new file mode 100644
index 0000000..0aa70ae
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/search/DatabaseIndexingUtils.java
@@ -0,0 +1,53 @@
+/*
+ * 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.search;
+
+import android.util.Log;
+
+import com.android.settingslib.search.Indexable;
+
+import java.lang.reflect.Field;
+
+/**
+ * Utility class for {@like DatabaseIndexingManager} to handle the mapping between Payloads
+ * and Preference controllers, and managing indexable classes.
+ */
+public class DatabaseIndexingUtils {
+
+    private static final String TAG = "IndexingUtil";
+
+    public static final String FIELD_NAME_SEARCH_INDEX_DATA_PROVIDER =
+            "SEARCH_INDEX_DATA_PROVIDER";
+
+    public static Indexable.SearchIndexProvider getSearchIndexProvider(final Class<?> clazz) {
+        try {
+            final Field f = clazz.getField(FIELD_NAME_SEARCH_INDEX_DATA_PROVIDER);
+            return (Indexable.SearchIndexProvider) f.get(null);
+        } catch (NoSuchFieldException e) {
+            Log.d(TAG, "Cannot find field '" + FIELD_NAME_SEARCH_INDEX_DATA_PROVIDER + "'");
+        } catch (SecurityException se) {
+            Log.d(TAG,
+                    "Security exception for field '" + FIELD_NAME_SEARCH_INDEX_DATA_PROVIDER + "'");
+        } catch (IllegalAccessException e) {
+            Log.d(TAG, "Illegal access to field '" + FIELD_NAME_SEARCH_INDEX_DATA_PROVIDER + "'");
+        } catch (IllegalArgumentException e) {
+            Log.d(TAG, "Illegal argument when accessing field '"
+                    + FIELD_NAME_SEARCH_INDEX_DATA_PROVIDER + "'");
+        }
+        return null;
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/search/FakeSettingsFragment.java b/tests/robotests/src/com/android/settings/search/FakeSettingsFragment.java
index 7011dda..19282dd 100644
--- a/tests/robotests/src/com/android/settings/search/FakeSettingsFragment.java
+++ b/tests/robotests/src/com/android/settings/search/FakeSettingsFragment.java
@@ -22,6 +22,7 @@
 import com.android.internal.logging.nano.MetricsProto;
 import com.android.settings.dashboard.DashboardFragment;
 import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.settingslib.search.SearchIndexableRaw;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -70,7 +71,7 @@
     }
 
     /** Index provider used to expose this fragment in search. */
-    public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
             new BaseSearchIndexProvider() {
                 @Override
                 public List<SearchIndexableRaw> getRawDataToIndex(Context context,
diff --git a/tests/robotests/src/com/android/settings/search/SearchIndexProviderCodeInspector.java b/tests/robotests/src/com/android/settings/search/SearchIndexProviderCodeInspector.java
index e7cc653..9daac80 100644
--- a/tests/robotests/src/com/android/settings/search/SearchIndexProviderCodeInspector.java
+++ b/tests/robotests/src/com/android/settings/search/SearchIndexProviderCodeInspector.java
@@ -25,6 +25,8 @@
 import com.android.settings.SettingsPreferenceFragment;
 import com.android.settings.core.codeinspection.CodeInspector;
 import com.android.settings.dashboard.DashboardFragmentSearchIndexProviderInspector;
+import com.android.settingslib.search.Indexable;
+import com.android.settingslib.search.SearchIndexableData;
 import com.android.settingslib.search.SearchIndexableResources;
 
 import org.robolectric.RuntimeEnvironment;
@@ -53,7 +55,7 @@
                     + " but these are not: \n";
     private static final String NOT_PROVIDING_VALID_RESOURCE_ERROR =
             "SearchIndexableProvider must either provide no resource to index, or valid ones. "
-            + "But the followings contain resource with xml id = 0\n";
+                    + "But the followings contain resource with xml id = 0\n";
 
     private final List<String> notImplementingIndexProviderGrandfatherList;
     private final List<String> notInSearchIndexableRegistryGrandfatherList;
@@ -78,6 +80,13 @@
         final Set<String> notInSearchProviderRegistry = new ArraySet<>();
         final Set<String> notSharingPreferenceControllers = new ArraySet<>();
         final Set<String> notProvidingValidResource = new ArraySet<>();
+        final Set<Class> providerClasses = new ArraySet<>();
+
+        final SearchFeatureProvider provider = new SearchFeatureProviderImpl();
+        for (SearchIndexableData bundle :
+                provider.getSearchIndexableResources().getProviderValues()) {
+            providerClasses.add(bundle.getTargetClass());
+        }
 
         for (Class clazz : mClasses) {
             if (!isConcreteSettingsClass(clazz)) {
@@ -107,8 +116,7 @@
                 continue;
             }
             // Must be in SearchProviderRegistry
-            SearchFeatureProvider provider = new SearchFeatureProviderImpl();
-            if (!provider.getSearchIndexableResources().getProviderValues().contains(clazz)) {
+            if (!providerClasses.contains(clazz)) {
                 if (!notInSearchIndexableRegistryGrandfatherList.remove(className)) {
                     notInSearchProviderRegistry.add(className);
                 }
diff --git a/tests/robotests/src/com/android/settings/search/SearchIndexableResourcesTest.java b/tests/robotests/src/com/android/settings/search/SearchIndexableResourcesTest.java
index ff2acdc..5bcce57 100644
--- a/tests/robotests/src/com/android/settings/search/SearchIndexableResourcesTest.java
+++ b/tests/robotests/src/com/android/settings/search/SearchIndexableResourcesTest.java
@@ -21,7 +21,6 @@
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.junit.Assert.fail;
-
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.when;
@@ -32,6 +31,7 @@
 import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settings.testutils.FakeIndexProvider;
 import com.android.settings.wifi.WifiSettings;
+import com.android.settingslib.search.SearchIndexableData;
 
 import org.junit.After;
 import org.junit.Before;
@@ -65,11 +65,11 @@
                 .doesNotContain(String.class);
         final int beforeCount =
                 mSearchProvider.getSearchIndexableResources().getProviderValues().size();
-
-        mSearchProvider.getSearchIndexableResources().addIndex(String.class);
+        final SearchIndexableData testBundle = new SearchIndexableData(null, null);
+        mSearchProvider.getSearchIndexableResources().addIndex(testBundle);
 
         assertThat(mSearchProvider.getSearchIndexableResources().getProviderValues())
-                .contains(String.class);
+                .contains(testBundle);
         final int afterCount =
                 mSearchProvider.getSearchIndexableResources().getProviderValues().size();
         assertThat(afterCount).isEqualTo(beforeCount + 1);
@@ -77,14 +77,22 @@
 
     @Test
     public void testIndexHasWifiSettings() {
-        assertThat(mSearchProvider.getSearchIndexableResources().getProviderValues())
-                .contains(WifiSettings.class);
+        boolean hasWifi = false;
+        for (SearchIndexableData bundle :
+                mSearchProvider.getSearchIndexableResources().getProviderValues()) {
+            if (bundle.getTargetClass().getName().equals(WifiSettings.class.getName())) {
+                hasWifi = true;
+                break;
+            }
+        }
+        assertThat(hasWifi).isTrue();
     }
 
     @Test
     public void testNonIndexableKeys_GetsKeyFromProvider() {
         mSearchProvider.getSearchIndexableResources().getProviderValues().clear();
-        mSearchProvider.getSearchIndexableResources().addIndex(FakeIndexProvider.class);
+        mSearchProvider.getSearchIndexableResources().addIndex(
+                new SearchIndexableData(null, FakeIndexProvider.SEARCH_INDEX_DATA_PROVIDER));
 
         SettingsSearchIndexablesProvider provider = spy(new SettingsSearchIndexablesProvider());
 
@@ -105,9 +113,10 @@
 
     @Test
     public void testAllClassNamesHaveProviders() {
-        for (Class clazz : mSearchProvider.getSearchIndexableResources().getProviderValues()) {
-            if (DatabaseIndexingUtils.getSearchIndexProvider(clazz) == null) {
-                fail(clazz.getName() + "is not an index provider");
+        for (SearchIndexableData data :
+                mSearchProvider.getSearchIndexableResources().getProviderValues()) {
+            if (DatabaseIndexingUtils.getSearchIndexProvider(data.getTargetClass()) == null) {
+                fail(data.getTargetClass().getName() + "is not an index provider");
             }
         }
     }
diff --git a/tests/robotests/src/com/android/settings/search/SettingsSearchIndexablesProviderTest.java b/tests/robotests/src/com/android/settings/search/SettingsSearchIndexablesProviderTest.java
index 2a8407b..c9bff38 100644
--- a/tests/robotests/src/com/android/settings/search/SettingsSearchIndexablesProviderTest.java
+++ b/tests/robotests/src/com/android/settings/search/SettingsSearchIndexablesProviderTest.java
@@ -6,6 +6,7 @@
 import static org.mockito.Mockito.spy;
 
 import android.Manifest;
+import android.content.pm.ActivityInfo;
 import android.content.pm.ProviderInfo;
 import android.database.Cursor;
 import android.net.Uri;
@@ -13,6 +14,9 @@
 
 import com.android.settings.R;
 import com.android.settings.testutils.FakeFeatureFactory;
+import com.android.settingslib.drawer.ActivityTile;
+import com.android.settingslib.drawer.CategoryKey;
+import com.android.settingslib.search.SearchIndexableData;
 
 import org.junit.After;
 import org.junit.Before;
@@ -28,7 +32,8 @@
 @RunWith(RobolectricTestRunner.class)
 public class SettingsSearchIndexablesProviderTest {
 
-    private static final String BASE_AUTHORITY = "com.android.settings";
+    private static final String PACKAGE_NAME = "com.android.settings";
+    private static final String BASE_AUTHORITY = "content://" + PACKAGE_NAME + "/";
 
     private SettingsSearchIndexablesProvider mProvider;
     private FakeFeatureFactory mFakeFeatureFactory;
@@ -39,14 +44,15 @@
         ProviderInfo info = new ProviderInfo();
         info.exported = true;
         info.grantUriPermissions = true;
-        info.authority = BASE_AUTHORITY;
+        info.authority = PACKAGE_NAME;
         info.readPermission = Manifest.permission.READ_SEARCH_INDEXABLES;
         mProvider.attachInfo(RuntimeEnvironment.application, info);
 
         final SearchFeatureProvider featureProvider = new SearchFeatureProviderImpl();
         featureProvider.getSearchIndexableResources().getProviderValues().clear();
         featureProvider.getSearchIndexableResources().getProviderValues()
-                .add(FakeSettingsFragment.class);
+                .add(new SearchIndexableData(FakeSettingsFragment.class,
+                        FakeSettingsFragment.SEARCH_INDEX_DATA_PROVIDER));
         mFakeFeatureFactory = FakeFeatureFactory.setupForTest();
         mFakeFeatureFactory.searchFeatureProvider = featureProvider;
     }
@@ -58,8 +64,7 @@
 
     @Test
     public void testRawColumnFetched() {
-        Uri rawUri = Uri.parse("content://" + BASE_AUTHORITY + "/" +
-                SearchIndexablesContract.INDEXABLES_RAW_PATH);
+        Uri rawUri = Uri.parse(BASE_AUTHORITY + SearchIndexablesContract.INDEXABLES_RAW_PATH);
 
         final Cursor cursor = mProvider.query(rawUri,
                 SearchIndexablesContract.INDEXABLES_RAW_COLUMNS, null, null, null);
@@ -81,8 +86,7 @@
 
     @Test
     public void testResourcesColumnFetched() {
-        Uri rawUri = Uri.parse("content://" + BASE_AUTHORITY + "/" +
-                SearchIndexablesContract.INDEXABLES_XML_RES_PATH);
+        Uri rawUri = Uri.parse(BASE_AUTHORITY + SearchIndexablesContract.INDEXABLES_XML_RES_PATH);
 
         final Cursor cursor = mProvider.query(rawUri,
                 SearchIndexablesContract.INDEXABLES_XML_RES_COLUMNS, null, null, null);
@@ -100,8 +104,8 @@
     @Test
     @Config(qualifiers = "mcc999")
     public void testNonIndexablesColumnFetched() {
-        final Uri rawUri = Uri.parse("content://" + BASE_AUTHORITY + "/" +
-                SearchIndexablesContract.NON_INDEXABLES_KEYS_PATH);
+        final Uri rawUri = Uri.parse(
+                BASE_AUTHORITY + SearchIndexablesContract.NON_INDEXABLES_KEYS_PATH);
 
         final List<String> keys = new ArrayList<>();
 
@@ -115,4 +119,37 @@
         assertThat(keys).hasSize(3);
         assertThat(keys).containsAllOf("pref_key_1", "pref_key_3", "pref_key_5");
     }
+
+    @Test
+    public void testIsEligibleForIndexing_isSettingsInjectedItem_ShouldBeFalse() {
+        final ActivityInfo activityInfo = new ActivityInfo();
+        activityInfo.packageName = PACKAGE_NAME;
+        activityInfo.name = "class";
+        final ActivityTile activityTile = new ActivityTile(activityInfo,
+                CategoryKey.CATEGORY_SYSTEM);
+
+        assertThat(mProvider.isEligibleForIndexing(PACKAGE_NAME, activityTile)).isFalse();
+    }
+
+    @Test
+    public void testIsEligibleForIndexing_isHomepageInjectedItem_ShouldBeFalse() {
+        final ActivityInfo activityInfo = new ActivityInfo();
+        activityInfo.packageName = "pkg";
+        activityInfo.name = "class";
+        final ActivityTile activityTile = new ActivityTile(activityInfo,
+                CategoryKey.CATEGORY_HOMEPAGE);
+
+        assertThat(mProvider.isEligibleForIndexing(PACKAGE_NAME, activityTile)).isFalse();
+    }
+
+    @Test
+    public void testIsEligibleForIndexing_normalInjectedItem_ShouldBeTrue() {
+        final ActivityInfo activityInfo = new ActivityInfo();
+        activityInfo.packageName = "pkg";
+        activityInfo.name = "class";
+        final ActivityTile activityTile = new ActivityTile(activityInfo,
+                CategoryKey.CATEGORY_CONNECT);
+
+        assertThat(mProvider.isEligibleForIndexing(PACKAGE_NAME, activityTile)).isTrue();
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/search/actionbar/SearchMenuControllerTest.java b/tests/robotests/src/com/android/settings/search/actionbar/SearchMenuControllerTest.java
index 3063912..c646a93 100644
--- a/tests/robotests/src/com/android/settings/search/actionbar/SearchMenuControllerTest.java
+++ b/tests/robotests/src/com/android/settings/search/actionbar/SearchMenuControllerTest.java
@@ -16,30 +16,36 @@
 
 package com.android.settings.search.actionbar;
 
+import static com.android.settings.search.actionbar.SearchMenuController.MENU_SEARCH;
+
 import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.verifyZeroInteractions;
 import static org.mockito.Mockito.when;
 
 import android.app.settings.SettingsEnums;
-import android.content.Context;
+import android.content.Intent;
 import android.os.Bundle;
 import android.provider.Settings.Global;
 import android.view.Menu;
 import android.view.MenuItem;
 
+import androidx.fragment.app.FragmentActivity;
+
 import com.android.settings.R;
 import com.android.settings.core.InstrumentedFragment;
-import com.android.settings.core.InstrumentedPreferenceFragment;
 import com.android.settings.testutils.shadow.ShadowUtils;
 
+import com.google.android.setupcompat.util.WizardManagerHelper;
+
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
+import org.robolectric.Robolectric;
 import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
 
 @RunWith(RobolectricTestRunner.class)
@@ -48,46 +54,33 @@
 
     @Mock
     private Menu mMenu;
-    private TestPreferenceFragment mPreferenceHost;
     private InstrumentedFragment mHost;
-    private Context mContext;
+    private FragmentActivity mActivity;
 
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
-        mContext = RuntimeEnvironment.application;
-        mHost = new InstrumentedFragment() {
-            @Override
-            public Context getContext() {
-                return mContext;
-            }
+        mActivity = Robolectric.buildActivity(FragmentActivity.class).get();
+        mHost = spy(new InstrumentedFragment() {
 
             @Override
             public int getMetricsCategory() {
                 return SettingsEnums.TESTING;
             }
-        };
-        mPreferenceHost = new TestPreferenceFragment();
-        Global.putInt(mContext.getContentResolver(), Global.DEVICE_PROVISIONED, 1);
+        });
+        Global.putInt(mActivity.getContentResolver(), Global.DEVICE_PROVISIONED, 1);
 
-        when(mMenu.add(Menu.NONE, Menu.NONE, 0 /* order */, R.string.search_menu))
+        when(mHost.getActivity()).thenReturn(mActivity);
+        when(mMenu.add(Menu.NONE, MENU_SEARCH, 0 /* order */, R.string.search_menu))
                 .thenReturn(mock(MenuItem.class));
     }
 
     @Test
-    public void init_prefFragment_shouldAddMenu() {
-        SearchMenuController.init(mPreferenceHost);
-        mPreferenceHost.getSettingsLifecycle().onCreateOptionsMenu(mMenu, null /* inflater */);
-
-        verify(mMenu).add(Menu.NONE, Menu.NONE, 0 /* order */, R.string.search_menu);
-    }
-
-    @Test
     public void init_observableFragment_shouldAddMenu() {
         SearchMenuController.init(mHost);
         mHost.getSettingsLifecycle().onCreateOptionsMenu(mMenu, null /* inflater */);
 
-        verify(mMenu).add(Menu.NONE, Menu.NONE, 0 /* order */, R.string.search_menu);
+        verify(mMenu).add(Menu.NONE, MENU_SEARCH, 0 /* order */, R.string.search_menu);
     }
 
     @Test
@@ -103,26 +96,22 @@
 
     @Test
     public void init_deviceNotProvisioned_shouldNotAddMenu() {
-        Global.putInt(mContext.getContentResolver(), Global.DEVICE_PROVISIONED, 0);
+        Global.putInt(mActivity.getContentResolver(), Global.DEVICE_PROVISIONED, 0);
         SearchMenuController.init(mHost);
         mHost.getSettingsLifecycle().onCreateOptionsMenu(mMenu, null /* inflater */);
 
         verifyZeroInteractions(mMenu);
     }
 
-    private static class TestPreferenceFragment extends InstrumentedPreferenceFragment {
-        @Override
-        public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
-        }
+    @Test
+    public void init_startFromSetupWizard_shouldNotAddMenu() {
+        final Intent intent = new Intent();
+        intent.putExtra(WizardManagerHelper.EXTRA_IS_SETUP_FLOW, true);
+        mActivity.setIntent(intent);
+        SearchMenuController.init(mHost);
 
-        @Override
-        public Context getContext() {
-            return RuntimeEnvironment.application;
-        }
+        mHost.getSettingsLifecycle().onCreateOptionsMenu(mMenu, null /* inflater */);
 
-        @Override
-        public int getMetricsCategory() {
-            return SettingsEnums.TESTING;
-        }
+        verifyZeroInteractions(mMenu);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/security/InstallCertificateFromStorageTest.java b/tests/robotests/src/com/android/settings/security/InstallCertificateFromStorageTest.java
new file mode 100644
index 0000000..2adad00
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/security/InstallCertificateFromStorageTest.java
@@ -0,0 +1,86 @@
+/*
+ * 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.security;
+
+import static com.android.settings.security.InstallCertificateFromStorage.SEARCH_INDEX_DATA_PROVIDER;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.app.admin.DevicePolicyManager;
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.os.UserManager;
+
+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 org.robolectric.shadows.ShadowApplication;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@RunWith(RobolectricTestRunner.class)
+public class InstallCertificateFromStorageTest {
+
+    @Mock
+    private UserManager mUserManager;
+
+    @Mock
+    private DevicePolicyManager mDevicePolicyManager;
+
+    private Context mContext;
+
+    private List<String> mTestKeys;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        ShadowApplication application = ShadowApplication.getInstance();
+        application.setSystemService(Context.DEVICE_POLICY_SERVICE, mDevicePolicyManager);
+        application.setSystemService(Context.USER_SERVICE, mUserManager);
+        mContext = RuntimeEnvironment.application;
+        setUpTestKeys();
+    }
+
+    private void setUpTestKeys() {
+        mTestKeys = new ArrayList<>();
+        mTestKeys.add("certificate_types");
+        mTestKeys.add("install_ca_certificate");
+        mTestKeys.add("install_user_certificate");
+        mTestKeys.add("install_wifi_certificate");
+    }
+
+    @Test
+    public void getMetricsCategory_shouldReturnInstallCertificateFromStorage() {
+        InstallCertificateFromStorage fragment = new InstallCertificateFromStorage();
+        assertThat(fragment.getMetricsCategory()).isEqualTo(
+                SettingsEnums.INSTALL_CERTIFICATE_FROM_STORAGE);
+    }
+
+    @Test
+    public void getNonIndexableKeys_existInXmlLayout() {
+        final List<String> nonIndexableKeys =
+                SEARCH_INDEX_DATA_PROVIDER.getNonIndexableKeys(mContext);
+
+        assertThat(nonIndexableKeys).containsAllIn(mTestKeys);
+    }
+
+}
diff --git a/tests/robotests/src/com/android/settings/security/LockscreenDashboardFragmentTest.java b/tests/robotests/src/com/android/settings/security/LockscreenDashboardFragmentTest.java
index 2db36b7..8b5c5fe 100644
--- a/tests/robotests/src/com/android/settings/security/LockscreenDashboardFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/security/LockscreenDashboardFragmentTest.java
@@ -123,13 +123,13 @@
     }
 
     @Test
-    public void isPageSearchable_notLocked_shouldNotBeSearchable() {
+    public void isPageSearchable_notLocked_shouldBeSearchable() {
         when(mLockPatternUtils.isSecure(anyInt())).thenReturn(false);
         when(mLockPatternUtils.isLockScreenDisabled(anyInt())).thenReturn(true);
 
         assertThat(LockscreenDashboardFragment.SEARCH_INDEX_DATA_PROVIDER
                 .getNonIndexableKeys(mContext))
-                .contains("security_lockscreen_settings_screen");
+                .doesNotContain("security_lockscreen_settings_screen");
     }
 
     public static class TestFragment extends LockscreenDashboardFragment {
diff --git a/tests/robotests/src/com/android/settings/security/OwnerInfoPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/security/OwnerInfoPreferenceControllerTest.java
index c472922..0130aa1 100644
--- a/tests/robotests/src/com/android/settings/security/OwnerInfoPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/security/OwnerInfoPreferenceControllerTest.java
@@ -187,8 +187,6 @@
 
         preference.performClick();
 
-        // Called once in setTargetFragment, and a second time to display the fragment.
-        verify(mFragment, times(2)).getFragmentManager();
         verify(mFragment.getFragmentManager().beginTransaction())
                 .add(any(OwnerInfoSettings.class), anyString());
     }
diff --git a/tests/robotests/src/com/android/settings/security/RestrictedEncryptionPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/security/RestrictedEncryptionPreferenceControllerTest.java
index 79ece90..78ad5e5 100644
--- a/tests/robotests/src/com/android/settings/security/RestrictedEncryptionPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/security/RestrictedEncryptionPreferenceControllerTest.java
@@ -40,9 +40,12 @@
     private Context mContext;
     private ShadowUserManager mUserManager;
     private CredentialStoragePreferenceController mCredentialStoragePreferenceController;
-    private InstallCredentialsPreferenceController mInstallCredentialsPreferenceController;
+    private InstallCertificatePreferenceController mInstallCertificatePreferenceController;
     private ResetCredentialsPreferenceController mResetCredentialsPreferenceController;
     private UserCredentialsPreferenceController mUserCredentialsPreferenceController;
+    private InstallCaCertificatePreferenceController mInstallCaCertificatePreferenceController;
+    private InstallUserCertificatePreferenceController mInstallUserCertificatePreferenceController;
+    private InstallWifiCertificatePreferenceController mInstallWifiCertificatePreferenceController;
     private Lifecycle mLifecycle;
     private LifecycleOwner mLifecycleOwner;
 
@@ -53,21 +56,30 @@
         mLifecycle = new Lifecycle(mLifecycleOwner);
         mCredentialStoragePreferenceController =
                 new CredentialStoragePreferenceController(mContext);
-        mInstallCredentialsPreferenceController =
-                new InstallCredentialsPreferenceController(mContext);
+        mInstallCertificatePreferenceController =
+                new InstallCertificatePreferenceController(mContext);
         mResetCredentialsPreferenceController =
                 new ResetCredentialsPreferenceController(mContext, mLifecycle);
         mUserCredentialsPreferenceController =
                 new UserCredentialsPreferenceController(mContext);
+        mInstallCaCertificatePreferenceController =
+                new InstallCaCertificatePreferenceController(mContext);
+        mInstallUserCertificatePreferenceController =
+                new InstallUserCertificatePreferenceController(mContext);
+        mInstallWifiCertificatePreferenceController =
+                new InstallWifiCertificatePreferenceController(mContext);
         mUserManager = ShadowUserManager.getShadow();
     }
 
     @Test
     public void isAvailable_noRestriction_shouldReturnTrue() {
         assertThat(mCredentialStoragePreferenceController.isAvailable()).isTrue();
-        assertThat(mInstallCredentialsPreferenceController.isAvailable()).isTrue();
+        assertThat(mInstallCertificatePreferenceController.isAvailable()).isTrue();
         assertThat(mResetCredentialsPreferenceController.isAvailable()).isTrue();
         assertThat(mUserCredentialsPreferenceController.isAvailable()).isTrue();
+        assertThat(mInstallCaCertificatePreferenceController.isAvailable()).isTrue();
+        assertThat(mInstallUserCertificatePreferenceController.isAvailable()).isTrue();
+        assertThat(mInstallWifiCertificatePreferenceController.isAvailable()).isTrue();
     }
 
     @Test
@@ -75,7 +87,7 @@
         mUserManager.addBaseUserRestriction(UserManager.DISALLOW_CONFIG_CREDENTIALS);
 
         assertThat(mCredentialStoragePreferenceController.isAvailable()).isFalse();
-        assertThat(mInstallCredentialsPreferenceController.isAvailable()).isFalse();
+        assertThat(mInstallCertificatePreferenceController.isAvailable()).isFalse();
         assertThat(mResetCredentialsPreferenceController.isAvailable()).isFalse();
         assertThat(mUserCredentialsPreferenceController.isAvailable()).isFalse();
     }
diff --git a/tests/robotests/src/com/android/settings/security/SimLockPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/security/SimLockPreferenceControllerTest.java
index 0ae33a0..0ab4256 100644
--- a/tests/robotests/src/com/android/settings/security/SimLockPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/security/SimLockPreferenceControllerTest.java
@@ -21,7 +21,6 @@
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.ArgumentMatchers.anyInt;
-import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
@@ -104,7 +103,7 @@
         setupMockIcc();
         final PersistableBundle pb = new PersistableBundle();
         pb.putBoolean(CarrierConfigManager.KEY_HIDE_SIM_LOCK_SETTINGS_BOOL, true);
-        when(mCarrierManager.getConfig()).thenReturn(pb);
+        when(mCarrierManager.getConfigForSubId(anyInt())).thenReturn(pb);
 
         assertThat(mController.getAvailabilityStatus())
                 .isEqualTo(BasePreferenceController.DISABLED_FOR_USER);
@@ -115,7 +114,7 @@
         when(mUserManager.isAdminUser()).thenReturn(true);
         setupMockIcc();
         final PersistableBundle pb = new PersistableBundle();
-        when(mCarrierManager.getConfig()).thenReturn(pb);
+        when(mCarrierManager.getConfigForSubId(anyInt())).thenReturn(pb);
 
         assertThat(mController.getAvailabilityStatus())
                 .isEqualTo(BasePreferenceController.AVAILABLE);
@@ -141,8 +140,9 @@
         final List<SubscriptionInfo> subscriptionInfoList = new ArrayList<>();
         SubscriptionInfo info = mock(SubscriptionInfo.class);
         subscriptionInfoList.add(info);
-        when(mTelephonyManager.hasIccCard(anyInt())).thenReturn(true);
-        when(mSubscriptionManager.getActiveSubscriptionInfoList(eq(true)))
+        when(mTelephonyManager.createForSubscriptionId(anyInt())).thenReturn(mTelephonyManager);
+        when(mTelephonyManager.hasIccCard()).thenReturn(true);
+        when(mSubscriptionManager.getActiveSubscriptionInfoList())
                 .thenReturn(subscriptionInfoList);
     }
 
@@ -151,7 +151,7 @@
         SubscriptionInfo info = mock(SubscriptionInfo.class);
         subscriptionInfoList.add(info);
         when(mTelephonyManager.getSimState(anyInt())).thenReturn(SIM_STATE_READY);
-        when(mSubscriptionManager.getActiveSubscriptionInfoList(eq(true)))
+        when(mSubscriptionManager.getActiveSubscriptionInfoList())
                 .thenReturn(subscriptionInfoList);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/security/screenlock/LockScreenPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/security/screenlock/LockScreenPreferenceControllerTest.java
index 45d0295..17bef3c 100644
--- a/tests/robotests/src/com/android/settings/security/screenlock/LockScreenPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/security/screenlock/LockScreenPreferenceControllerTest.java
@@ -21,8 +21,7 @@
 
 import static androidx.lifecycle.Lifecycle.Event.ON_RESUME;
 
-import static com.android.settings.core.BasePreferenceController.AVAILABLE_UNSEARCHABLE;
-import static com.android.settings.core.BasePreferenceController.DISABLED_FOR_USER;
+import static com.android.settings.core.BasePreferenceController.AVAILABLE;
 
 import static com.google.common.truth.Truth.assertThat;
 
@@ -87,11 +86,11 @@
     }
 
     @Test
-    public void getAvailabilityStatus_notSecure_lockscreenDisabled_DISABLED() {
+    public void getAvailabilityStatus_notSecure_lockscreenDisabled_AVAILABLE() {
         when(mLockPatternUtils.isSecure(anyInt())).thenReturn(false);
         when(mLockPatternUtils.isLockScreenDisabled(anyInt())).thenReturn(true);
 
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(DISABLED_FOR_USER);
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
     }
 
     @Test
@@ -99,7 +98,7 @@
         when(mLockPatternUtils.isSecure(anyInt())).thenReturn(false);
         when(mLockPatternUtils.isLockScreenDisabled(anyInt())).thenReturn(false);
 
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE_UNSEARCHABLE);
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
     }
 
     @Test
@@ -108,16 +107,16 @@
         when(mLockPatternUtils.getKeyguardStoredPasswordQuality(anyInt()))
                 .thenReturn(PASSWORD_QUALITY_ALPHABETIC);
 
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE_UNSEARCHABLE);
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
     }
 
     @Test
-    public void getAvailabilityStatus_secure_noLockScreen_DISABLED() {
+    public void getAvailabilityStatus_secure_noLockScreen_AVAILABLE() {
         when(mLockPatternUtils.isSecure(anyInt())).thenReturn(true);
         when(mLockPatternUtils.getKeyguardStoredPasswordQuality(anyInt()))
                 .thenReturn(PASSWORD_QUALITY_UNSPECIFIED);
 
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(DISABLED_FOR_USER);
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
     }
 
     @Test
@@ -133,7 +132,7 @@
     }
 
     @Test
-    public void onResume_unavailable_shouldHide() {
+    public void onResume_unavailable_shouldShow() {
         when(mLockPatternUtils.isSecure(anyInt())).thenReturn(true);
         when(mLockPatternUtils.getKeyguardStoredPasswordQuality(anyInt()))
                 .thenReturn(PASSWORD_QUALITY_UNSPECIFIED);
@@ -141,6 +140,6 @@
         mController.displayPreference(mScreen);
         mLifecycle.handleLifecycleEvent(ON_RESUME);
 
-        assertThat(mPreference.isVisible()).isFalse();
+        assertThat(mPreference.isVisible()).isTrue();
     }
 }
diff --git a/tests/robotests/src/com/android/settings/sim/SimListDialogFragmentTest.java b/tests/robotests/src/com/android/settings/sim/SimListDialogFragmentTest.java
index 6a9590b..0fefbe0 100644
--- a/tests/robotests/src/com/android/settings/sim/SimListDialogFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/sim/SimListDialogFragmentTest.java
@@ -36,6 +36,7 @@
 import com.android.settings.R;
 import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
 
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.robolectric.RobolectricTestRunner;
@@ -95,6 +96,7 @@
     }
 
     @Test
+    @Ignore
     public void onCreateDialog_twoSubscriptionsAskEveryTime_threeSubsForDisplay() {
         final int dialogType = SMS_PICK;
         setDialogType(dialogType);
diff --git a/tests/robotests/src/com/android/settings/sim/SimSelectNotificationTest.java b/tests/robotests/src/com/android/settings/sim/SimSelectNotificationTest.java
index 9b53636..8f861eb 100644
--- a/tests/robotests/src/com/android/settings/sim/SimSelectNotificationTest.java
+++ b/tests/robotests/src/com/android/settings/sim/SimSelectNotificationTest.java
@@ -117,7 +117,7 @@
 
         when(mTelephonyManager.createForSubscriptionId(anyInt())).thenReturn(mTelephonyManager);
         when(mTelephonyManager.isDataEnabledForApn(TYPE_MMS)).thenReturn(false);
-        when(mSubscriptionManager.isActiveSubId(mSubId)).thenReturn(true);
+        when(mSubscriptionManager.isActiveSubscriptionId(mSubId)).thenReturn(true);
         when(mSubscriptionManager.getActiveSubscriptionInfo(mSubId)).thenReturn(mSubInfo);
         when(mSubInfo.getDisplayName()).thenReturn(mFakeDisplayName);
         when(mContext.getResources()).thenReturn(mResources);
diff --git a/tests/robotests/src/com/android/settings/slices/FakePreferenceController.java b/tests/robotests/src/com/android/settings/slices/FakePreferenceController.java
index 3e4da20..fc4ebc8 100644
--- a/tests/robotests/src/com/android/settings/slices/FakePreferenceController.java
+++ b/tests/robotests/src/com/android/settings/slices/FakePreferenceController.java
@@ -42,6 +42,11 @@
     }
 
     @Override
+    public boolean isPublicSlice() {
+        return true;
+    }
+
+    @Override
     public boolean useDynamicSliceSummary() {
         return true;
     }
diff --git a/tests/robotests/src/com/android/settings/slices/SettingsSliceProviderTest.java b/tests/robotests/src/com/android/settings/slices/SettingsSliceProviderTest.java
index 96aaf46..0a9d8cb 100644
--- a/tests/robotests/src/com/android/settings/slices/SettingsSliceProviderTest.java
+++ b/tests/robotests/src/com/android/settings/slices/SettingsSliceProviderTest.java
@@ -18,10 +18,13 @@
 package com.android.settings.slices;
 
 import static android.content.ContentResolver.SCHEME_CONTENT;
+import static android.content.pm.PackageManager.PERMISSION_DENIED;
+import static android.content.pm.PackageManager.PERMISSION_GRANTED;
 
 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.anyString;
 import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.doReturn;
@@ -34,10 +37,8 @@
 import android.app.PendingIntent;
 import android.app.slice.SliceManager;
 import android.content.ContentResolver;
-import android.content.ContentValues;
 import android.content.Context;
 import android.content.Intent;
-import android.database.sqlite.SQLiteDatabase;
 import android.net.Uri;
 import android.os.StrictMode;
 import android.provider.Settings;
@@ -49,7 +50,7 @@
 import androidx.slice.SliceProvider;
 import androidx.slice.widget.SliceLiveData;
 
-import com.android.settings.R;
+import com.android.settings.Utils;
 import com.android.settings.testutils.DatabaseTestUtils;
 import com.android.settings.testutils.FakeToggleController;
 import com.android.settings.testutils.shadow.ShadowBluetoothAdapter;
@@ -69,12 +70,15 @@
 import org.robolectric.Robolectric;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.Shadows;
 import org.robolectric.annotation.Config;
 import org.robolectric.annotation.Implementation;
 import org.robolectric.annotation.Implements;
 import org.robolectric.annotation.Resetter;
 import org.robolectric.shadow.api.Shadow;
 import org.robolectric.shadows.ShadowAccessibilityManager;
+import org.robolectric.shadows.ShadowBinder;
+import org.robolectric.shadows.ShadowPackageManager;
 
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -89,25 +93,31 @@
  * TODO Investigate using ShadowContentResolver.registerProviderInternal(String, ContentProvider)
  */
 @RunWith(RobolectricTestRunner.class)
-@Config(shadows = {ShadowUserManager.class, ShadowThreadUtils.class, ShadowUtils.class,
+@Config(shadows = {ShadowUserManager.class, ShadowUtils.class,
         SlicesDatabaseAccessorTest.ShadowApplicationPackageManager.class,
         ShadowBluetoothAdapter.class, ShadowLockPatternUtils.class,
         SettingsSliceProviderTest.ShadowWifiScanWorker.class})
 public class SettingsSliceProviderTest {
 
     private static final String KEY = "KEY";
-    private static final String INTENT_PATH =
-            SettingsSlicesContract.PATH_SETTING_INTENT + "/" + KEY;
-    private static final String TITLE = "title";
-    private static final String SUMMARY = "summary";
-    private static final String SCREEN_TITLE = "screen title";
-    private static final String FRAGMENT_NAME = "fragment name";
-    private static final int ICON = R.drawable.ic_settings_accent;
+    private static final Uri INTENT_SLICE_URI =
+            new Uri.Builder().scheme(SCHEME_CONTENT)
+                    .authority(SettingsSliceProvider.SLICE_AUTHORITY)
+                    .appendPath(SettingsSlicesContract.PATH_SETTING_INTENT)
+                    .appendPath(KEY)
+                    .build();
+    private static final Uri ACTION_SLICE_URI =
+            new Uri.Builder().scheme(SCHEME_CONTENT)
+                    .authority(SettingsSlicesContract.AUTHORITY)
+                    .appendPath(SettingsSlicesContract.PATH_SETTING_ACTION)
+                    .appendPath(KEY)
+                    .build();
+
     private static final Uri URI = Uri.parse("content://com.android.settings.slices/test");
-    private static final String PREF_CONTROLLER = FakeToggleController.class.getName();
 
     private Context mContext;
     private SettingsSliceProvider mProvider;
+    private ShadowPackageManager mPackageManager;
     @Mock
     private SliceManager mManager;
 
@@ -120,7 +130,8 @@
     private static final List<Uri> SPECIAL_CASE_OEM_URIS = Arrays.asList(
             CustomSliceRegistry.ZEN_MODE_SLICE_URI,
             CustomSliceRegistry.FLASHLIGHT_SLICE_URI,
-            CustomSliceRegistry.MOBILE_DATA_SLICE_URI
+            CustomSliceRegistry.MOBILE_DATA_SLICE_URI,
+            CustomSliceRegistry.WIFI_CALLING_URI
     );
 
     @Before
@@ -143,6 +154,8 @@
         doReturn(mManager).when(mContext).getSystemService(SliceManager.class);
         when(mManager.getPinnedSlices()).thenReturn(Collections.emptyList());
 
+        mPackageManager = Shadows.shadowOf(mContext.getPackageManager());
+
         SliceProvider.setSpecs(SliceLiveData.SUPPORTED_SPECS);
     }
 
@@ -154,47 +167,44 @@
 
     @Test
     public void testInitialSliceReturned_emptySlice() {
-        insertSpecialCase(KEY);
-        final Uri uri = SliceBuilderUtils.getUri(INTENT_PATH, false);
-        Slice slice = mProvider.onBindSlice(uri);
+        SliceTestUtils.insertSliceToDb(mContext, KEY);
+        Slice slice = mProvider.onBindSlice(INTENT_SLICE_URI);
 
-        assertThat(slice.getUri()).isEqualTo(uri);
+        assertThat(slice.getUri()).isEqualTo(INTENT_SLICE_URI);
         assertThat(slice.getItems()).isEmpty();
     }
 
     @Test
     public void testLoadSlice_returnsSliceFromAccessor() {
-        insertSpecialCase(KEY);
-        final Uri uri = SliceBuilderUtils.getUri(INTENT_PATH, false);
+        SliceTestUtils.insertSliceToDb(mContext, KEY);
 
-        mProvider.loadSlice(uri);
-        SliceData data = mProvider.mSliceWeakDataCache.get(uri);
+        mProvider.loadSlice(INTENT_SLICE_URI);
+        SliceData data = mProvider.mSliceWeakDataCache.get(INTENT_SLICE_URI);
 
         assertThat(data.getKey()).isEqualTo(KEY);
-        assertThat(data.getTitle()).isEqualTo(TITLE);
+        assertThat(data.getTitle()).isEqualTo(SliceTestUtils.FAKE_TITLE);
     }
 
     @Test
     public void loadSlice_registersIntentFilter() {
-        insertSpecialCase(KEY);
-        final Uri uri = SliceBuilderUtils.getUri(INTENT_PATH, false);
+        SliceTestUtils.insertSliceToDb(mContext, KEY);
 
-        mProvider.loadSlice(uri);
+        mProvider.loadSlice(INTENT_SLICE_URI);
 
-        verify(mProvider).registerIntentToUri(eq(FakeToggleController.INTENT_FILTER), eq(uri));
+        verify(mProvider)
+                .registerIntentToUri(eq(FakeToggleController.INTENT_FILTER), eq(INTENT_SLICE_URI));
     }
 
     @Test
     public void loadSlice_registersBackgroundListener() {
-        insertSpecialCase(KEY);
-        final Uri uri = SliceBuilderUtils.getUri(INTENT_PATH, false);
+        SliceTestUtils.insertSliceToDb(mContext, KEY);
 
-        mProvider.loadSlice(uri);
+        mProvider.loadSlice(INTENT_SLICE_URI);
 
         Robolectric.flushForegroundThreadScheduler();
         Robolectric.flushBackgroundThreadScheduler();
 
-        assertThat(mProvider.mPinnedWorkers.get(uri).getClass())
+        assertThat(mProvider.mPinnedWorkers.get(INTENT_SLICE_URI).getClass())
                 .isEqualTo(FakeToggleController.TestWorker.class);
     }
 
@@ -203,7 +213,7 @@
         SliceData data = getDummyData();
         mProvider.mSliceWeakDataCache.put(data.getUri(), data);
         mProvider.onBindSlice(data.getUri());
-        insertSpecialCase(data.getKey());
+        SliceTestUtils.insertSliceToDb(mContext, data.getKey());
 
         SliceData cachedData = mProvider.mSliceWeakDataCache.get(data.getUri());
 
@@ -255,27 +265,26 @@
 
     @Test
     public void getDescendantUris_fullActionUri_returnsSelf() {
-        final Uri uri = SliceBuilderUtils.getUri(
-                SettingsSlicesContract.PATH_SETTING_ACTION + "/key", true);
+        final Collection<Uri> descendants = mProvider.onGetSliceDescendants(ACTION_SLICE_URI);
 
-        final Collection<Uri> descendants = mProvider.onGetSliceDescendants(uri);
-
-        assertThat(descendants).containsExactly(uri);
+        assertThat(descendants).containsExactly(ACTION_SLICE_URI);
     }
 
     @Test
     public void getDescendantUris_fullIntentUri_returnsSelf() {
-        final Uri uri = SliceBuilderUtils.getUri(
-                SettingsSlicesContract.PATH_SETTING_ACTION + "/key", true);
 
-        final Collection<Uri> descendants = mProvider.onGetSliceDescendants(uri);
+        final Collection<Uri> descendants = mProvider.onGetSliceDescendants(ACTION_SLICE_URI);
 
-        assertThat(descendants).containsExactly(uri);
+        assertThat(descendants).containsExactly(ACTION_SLICE_URI);
     }
 
     @Test
     public void getDescendantUris_wrongPath_returnsEmpty() {
-        final Uri uri = SliceBuilderUtils.getUri("invalid_path", true);
+        final Uri uri = new Uri.Builder()
+                .scheme(SCHEME_CONTENT)
+                .authority(SettingsSlicesContract.AUTHORITY)
+                .appendPath("invalid_path")
+                .build();
 
         final Collection<Uri> descendants = mProvider.onGetSliceDescendants(uri);
 
@@ -285,7 +294,8 @@
     @Test
     public void getDescendantUris_invalidPath_returnsEmpty() {
         final String key = "platform_key";
-        insertSpecialCase(key, true /* isPlatformSlice */);
+        SliceTestUtils.insertSliceToDb(mContext, key, true /* isPlatformSlice */,
+                null /* customizedUnavailableSliceSubtitle */, true /* isPublicSlice */);
         final Uri uri = new Uri.Builder()
                 .scheme(SCHEME_CONTENT)
                 .authority(SettingsSlicesContract.AUTHORITY)
@@ -300,7 +310,8 @@
 
     @Test
     public void getDescendantUris_platformSlice_doesNotReturnOEMSlice() {
-        insertSpecialCase("oem_key", false /* isPlatformSlice */);
+        SliceTestUtils.insertSliceToDb(mContext, "oem_key", false /* isPlatformSlice */,
+                null /* customizedUnavailableSliceSubtitle */, true /* isPublicSlice */);
         final Uri uri = new Uri.Builder()
                 .scheme(SCHEME_CONTENT)
                 .authority(SettingsSlicesContract.AUTHORITY)
@@ -314,7 +325,8 @@
 
     @Test
     public void getDescendantUris_oemSlice_doesNotReturnPlatformSlice() {
-        insertSpecialCase("platform_key", true /* isPlatformSlice */);
+        SliceTestUtils.insertSliceToDb(mContext, "platform_key", true /* isPlatformSlice */,
+                null /* customizedUnavailableSliceSubtitle */, true /* isPublicSlice */);
         final Uri uri = new Uri.Builder()
                 .scheme(SCHEME_CONTENT)
                 .authority(SettingsSliceProvider.SLICE_AUTHORITY)
@@ -329,7 +341,8 @@
     @Test
     public void getDescendantUris_oemSlice_returnsOEMUriDescendant() {
         final String key = "oem_key";
-        insertSpecialCase(key, false /* isPlatformSlice */);
+        SliceTestUtils.insertSliceToDb(mContext, key, false /* isPlatformSlice */,
+                null /* customizedUnavailableSliceSubtitle */, true /* isPublicSlice */);
         final Uri uri = new Uri.Builder()
                 .scheme(SCHEME_CONTENT)
                 .authority(SettingsSliceProvider.SLICE_AUTHORITY)
@@ -352,7 +365,8 @@
     @Test
     public void getDescendantUris_oemSliceNoPath_returnsOEMUriDescendant() {
         final String key = "oem_key";
-        insertSpecialCase(key, false /* isPlatformSlice */);
+        SliceTestUtils.insertSliceToDb(mContext, key, false /* isPlatformSlice */,
+                null /* customizedUnavailableSliceSubtitle */, true /* isPublicSlice */);
         final Uri uri = new Uri.Builder()
                 .scheme(SCHEME_CONTENT)
                 .authority(SettingsSliceProvider.SLICE_AUTHORITY)
@@ -372,9 +386,31 @@
     }
 
     @Test
+    public void getDescendantUris_oemSliceNoPath_notContainPrivateUri() {
+        final String key = "oem_key";
+        SliceTestUtils.insertSliceToDb(mContext, key, false /* isPlatformSlice */,
+                null /* customizedUnavailableSliceSubtitle */, false /* isPublicSlice */);
+        final Uri uri = new Uri.Builder()
+                .scheme(SCHEME_CONTENT)
+                .authority(SettingsSliceProvider.SLICE_AUTHORITY)
+                .build();
+        final Uri expectedUri = new Uri.Builder()
+                .scheme(SCHEME_CONTENT)
+                .authority(SettingsSliceProvider.SLICE_AUTHORITY)
+                .appendPath(SettingsSlicesContract.PATH_SETTING_ACTION)
+                .appendPath(key)
+                .build();
+
+        final Collection<Uri> descendants = mProvider.onGetSliceDescendants(uri);
+
+        assertThat(descendants).doesNotContain(expectedUri);
+    }
+
+    @Test
     public void getDescendantUris_platformSlice_returnsPlatformUriDescendant() {
         final String key = "platform_key";
-        insertSpecialCase(key, true /* isPlatformSlice */);
+        SliceTestUtils.insertSliceToDb(mContext, key, true /* isPlatformSlice */,
+                null /* customizedUnavailableSliceSubtitle */, true /* isPublicSlice */);
         final Uri uri = new Uri.Builder()
                 .scheme(SCHEME_CONTENT)
                 .authority(SettingsSlicesContract.AUTHORITY)
@@ -397,7 +433,8 @@
     @Test
     public void getDescendantUris_platformSliceNoPath_returnsPlatformUriDescendant() {
         final String key = "platform_key";
-        insertSpecialCase(key, true /* isPlatformSlice */);
+        SliceTestUtils.insertSliceToDb(mContext, key, true /* isPlatformSlice */,
+                null /* customizedUnavailableSliceSubtitle */, true /* isPublicSlice */);
         final Uri uri = new Uri.Builder()
                 .scheme(SCHEME_CONTENT)
                 .authority(SettingsSlicesContract.AUTHORITY)
@@ -420,8 +457,10 @@
     public void getDescendantUris_noAuthorityNorPath_returnsAllUris() {
         final String platformKey = "platform_key";
         final String oemKey = "oemKey";
-        insertSpecialCase(platformKey, true /* isPlatformSlice */);
-        insertSpecialCase(oemKey, false /* isPlatformSlice */);
+        SliceTestUtils.insertSliceToDb(mContext, platformKey, true /* isPlatformSlice */,
+                null /* customizedUnavailableSliceSubtitle */, true /* isPublicSlice */);
+        SliceTestUtils.insertSliceToDb(mContext, oemKey, false /* isPlatformSlice */,
+                null /* customizedUnavailableSliceSubtitle */, true /* isPublicSlice */);
         final Uri uri = new Uri.Builder()
                 .scheme(SCHEME_CONTENT)
                 .build();
@@ -447,11 +486,55 @@
     }
 
     @Test
+    @Config(qualifiers = "mcc999")
+    public void getDescendantUris_privateSlicesNeeded_containsPrivateSliceUri() {
+        final String privateKey = "test_private";
+        final Uri specialUri = Uri.parse("content://com.android.settings.slices/test");
+        doReturn(true).when(mProvider).isPrivateSlicesNeeded(specialUri);
+        SliceTestUtils.insertSliceToDb(mContext, privateKey /* key */, false /* isPlatformSlice */,
+                null /* customizedUnavailableSliceSubtitle */, false /* isPublicSlice */);
+        final Collection<Uri> expectedUris = new HashSet<>();
+        expectedUris.addAll(SPECIAL_CASE_OEM_URIS);
+        expectedUris.add(new Uri.Builder()
+                .scheme(SCHEME_CONTENT)
+                .authority(SettingsSliceProvider.SLICE_AUTHORITY)
+                .appendPath(SettingsSlicesContract.PATH_SETTING_ACTION)
+                .appendPath(privateKey)
+                .build());
+
+        final Collection<Uri> descendants = mProvider.onGetSliceDescendants(specialUri);
+
+        assertThat(descendants).containsExactlyElementsIn(expectedUris);
+    }
+
+    @Test
+    @Config(qualifiers = "mcc999")
+    public void getDescendantUris_privateSlicesNotNeeded_notContainPrivateSliceUri() {
+        final Uri specialUri = Uri.parse("content://com.android.settings.slices/test");
+        doReturn(false).when(mProvider).isPrivateSlicesNeeded(specialUri);
+        SliceTestUtils.insertSliceToDb(mContext,
+                "test_private" /* key */, false /* isPlatformSlice */,
+                null /* customizedUnavailableSliceSubtitle */, false /* isPublicSlice */);
+        final Uri expectedUri = new Uri.Builder()
+                .scheme(SCHEME_CONTENT)
+                .authority(SettingsSliceProvider.SLICE_AUTHORITY)
+                .appendPath(SettingsSlicesContract.PATH_SETTING_ACTION)
+                .appendPath("test_private")
+                .build();
+
+        final Collection<Uri> descendants = mProvider.onGetSliceDescendants(specialUri);
+
+        assertThat(descendants).doesNotContain(expectedUri);
+    }
+
+    @Test
     public void onCreatePermissionRequest_returnsSettingIntent() {
         final PendingIntent pendingIntent = mProvider.onCreatePermissionRequest(
                 CustomSliceRegistry.FLASHLIGHT_SLICE_URI, "com.android.whaaaat");
+        final Intent settingsIntent = new Intent(Settings.ACTION_SETTINGS)
+                .setPackage(Utils.SETTINGS_PACKAGE_NAME);
         PendingIntent settingsPendingIntent =
-                PendingIntent.getActivity(mContext, 0, new Intent(Settings.ACTION_SETTINGS), 0);
+                PendingIntent.getActivity(mContext, 0, settingsIntent, 0);
 
         assertThat(pendingIntent).isEqualTo(settingsPendingIntent);
     }
@@ -486,31 +569,6 @@
         mProvider.onSlicePinned(uri);
     }
 
-    @Implements(WifiScanWorker.class)
-    public static class ShadowWifiScanWorker {
-        private static WifiTracker mWifiTracker;
-
-        @Implementation
-        protected void onSlicePinned() {
-            mWifiTracker = mock(WifiTracker.class);
-            mWifiTracker.onStart();
-        }
-
-        @Implementation
-        protected void onSliceUnpinned() {
-            mWifiTracker.onStop();
-        }
-
-        @Implementation
-        protected void close() {
-            mWifiTracker.onDestroy();
-        }
-
-        static WifiTracker getWifiTracker() {
-            return mWifiTracker;
-        }
-    }
-
     @Test
     public void onSlicePinned_backgroundWorker_started() {
         mProvider.onSlicePinned(CustomSliceRegistry.WIFI_SLICE_URI);
@@ -557,45 +615,94 @@
                 .grantSlicePermission("com.android.settings.slice_whitelist_package", uris.get(0));
     }
 
-    private void insertSpecialCase(String key) {
-        insertSpecialCase(key, true);
+    @Test
+    @Config(qualifiers = "mcc999")
+    public void isPrivateSlicesNeeded_incorrectUri_returnFalse() {
+        final Uri uri = Uri.parse("content://com.android.settings.slices/test123");
+
+        assertThat(mProvider.isPrivateSlicesNeeded(uri)).isFalse();
     }
 
-    private void insertSpecialCase(String key, boolean isPlatformSlice) {
-        final ContentValues values = new ContentValues();
-        values.put(SlicesDatabaseHelper.IndexColumns.KEY, key);
-        values.put(SlicesDatabaseHelper.IndexColumns.TITLE, TITLE);
-        values.put(SlicesDatabaseHelper.IndexColumns.SUMMARY, "s");
-        values.put(SlicesDatabaseHelper.IndexColumns.SCREENTITLE, "s");
-        values.put(SlicesDatabaseHelper.IndexColumns.ICON_RESOURCE, R.drawable.ic_settings_accent);
-        values.put(SlicesDatabaseHelper.IndexColumns.FRAGMENT, "test");
-        values.put(SlicesDatabaseHelper.IndexColumns.CONTROLLER, PREF_CONTROLLER);
-        values.put(SlicesDatabaseHelper.IndexColumns.PLATFORM_SLICE, isPlatformSlice);
-        values.put(SlicesDatabaseHelper.IndexColumns.SLICE_TYPE, SliceData.SliceType.INTENT);
-        final SQLiteDatabase db = SlicesDatabaseHelper.getInstance(mContext).getWritableDatabase();
-        db.beginTransaction();
-        try {
-            db.replaceOrThrow(SlicesDatabaseHelper.Tables.TABLE_SLICES_INDEX, null, values);
-            db.setTransactionSuccessful();
-        } finally {
-            db.endTransaction();
-        }
-        db.close();
+    @Test
+    public void isPrivateSlicesNeeded_noUri_returnFalse() {
+        final Uri uri = Uri.parse("content://com.android.settings.slices/test");
+
+        assertThat(mProvider.isPrivateSlicesNeeded(uri)).isFalse();
+    }
+
+    @Test
+    @Config(qualifiers = "mcc999")
+    public void isPrivateSlicesNeeded_correctUriWithPermissionAndIsSI_returnTrue() {
+        final Uri uri = Uri.parse("content://com.android.settings.slices/test");
+        ShadowBinder.setCallingUid(123);
+        doReturn(PERMISSION_GRANTED)
+                .when(mContext).checkPermission(anyString(), anyInt(), anyInt());
+        mPackageManager.setPackagesForUid(123, new String[]{"com.android.settings.intelligence"});
+
+        assertThat(mProvider.isPrivateSlicesNeeded(uri)).isTrue();
+    }
+
+    @Test
+    @Config(qualifiers = "mcc999")
+    public void isPrivateSlicesNeeded_correctUriWithPermissionNotSI_returnFalse() {
+        final Uri uri = Uri.parse("content://com.android.settings.slices/test");
+        ShadowBinder.setCallingUid(123);
+        doReturn(PERMISSION_GRANTED)
+                .when(mContext).checkPermission(anyString(), anyInt(), anyInt());
+        mPackageManager.setPackagesForUid(123, new String[]{"com.android.settings.test"});
+
+        assertThat(mProvider.isPrivateSlicesNeeded(uri)).isFalse();
+    }
+
+    @Test
+    @Config(qualifiers = "mcc999")
+    public void isPrivateSlicesNeeded_correctUriNoPermission_returnFalse() {
+        final Uri uri = Uri.parse("content://com.android.settings.slices/test");
+        ShadowBinder.setCallingUid(123);
+        doReturn(PERMISSION_DENIED).when(mContext).checkPermission(anyString(), anyInt(), anyInt());
+        mPackageManager.setPackagesForUid(123, new String[]{"com.android.settings.intelligence"});
+
+        assertThat(mProvider.isPrivateSlicesNeeded(uri)).isFalse();
     }
 
     private static SliceData getDummyData() {
         return new SliceData.Builder()
                 .setKey(KEY)
-                .setTitle(TITLE)
-                .setSummary(SUMMARY)
-                .setScreenTitle(SCREEN_TITLE)
-                .setIcon(ICON)
-                .setFragmentName(FRAGMENT_NAME)
                 .setUri(URI)
-                .setPreferenceControllerClassName(PREF_CONTROLLER)
+                .setTitle(SliceTestUtils.FAKE_TITLE)
+                .setSummary(SliceTestUtils.FAKE_SUMMARY)
+                .setScreenTitle(SliceTestUtils.FAKE_SCREEN_TITLE)
+                .setIcon(SliceTestUtils.FAKE_ICON)
+                .setFragmentName(SliceTestUtils.FAKE_FRAGMENT_NAME)
+                .setPreferenceControllerClassName(SliceTestUtils.FAKE_CONTROLLER_NAME)
                 .build();
     }
 
+    @Implements(WifiScanWorker.class)
+    public static class ShadowWifiScanWorker {
+        private static WifiTracker mWifiTracker;
+
+        @Implementation
+        protected void onSlicePinned() {
+            mWifiTracker = mock(WifiTracker.class);
+            mWifiTracker.onStart();
+        }
+
+        @Implementation
+        protected void onSliceUnpinned() {
+            mWifiTracker.onStop();
+        }
+
+        @Implementation
+        protected void close() {
+            mWifiTracker.onDestroy();
+        }
+
+        static WifiTracker getWifiTracker() {
+            return mWifiTracker;
+        }
+    }
+
     @Implements(value = StrictMode.class)
     public static class ShadowStrictMode {
 
diff --git a/tests/robotests/src/com/android/settings/slices/SliceBroadcastReceiverTest.java b/tests/robotests/src/com/android/settings/slices/SliceBroadcastReceiverTest.java
index 4e62b03..df3d84f 100644
--- a/tests/robotests/src/com/android/settings/slices/SliceBroadcastReceiverTest.java
+++ b/tests/robotests/src/com/android/settings/slices/SliceBroadcastReceiverTest.java
@@ -43,7 +43,6 @@
 import com.android.settings.search.SearchFeatureProviderImpl;
 import com.android.settings.testutils.DatabaseTestUtils;
 import com.android.settings.testutils.FakeFeatureFactory;
-import com.android.settings.testutils.FakeIndexProvider;
 import com.android.settings.testutils.FakeSliderController;
 import com.android.settings.testutils.FakeToggleController;
 
@@ -57,13 +56,6 @@
 @RunWith(RobolectricTestRunner.class)
 public class SliceBroadcastReceiverTest {
 
-    private final String fakeTitle = "title";
-    private final String fakeSummary = "summary";
-    private final String fakeScreenTitle = "screen_title";
-    private final int fakeIcon = 1234;
-    private final String fakeFragmentClassName = FakeIndexProvider.class.getName();
-    private final Class fakeControllerName = FakeToggleController.class;
-
     private Context mContext;
     private SQLiteDatabase mDb;
     private SliceBroadcastReceiver mReceiver;
@@ -90,21 +82,18 @@
     @Test
     public void onReceive_toggleChanged() {
         final String key = "key";
-        final Uri uri = new Uri.Builder()
-                .scheme(ContentResolver.SCHEME_CONTENT)
-                .authority(SettingsSliceProvider.SLICE_AUTHORITY)
-                .appendPath(SettingsSlicesContract.PATH_SETTING_ACTION)
-                .appendPath(key)
-                .build();
+        final Uri uri = buildUri(key);
         mSearchFeatureProvider.getSearchIndexableResources().getProviderValues().clear();
         insertSpecialCase(key);
         final ContentResolver resolver = mock(ContentResolver.class);
         doReturn(resolver).when(mContext).getContentResolver();
         // Turn on toggle setting
-        FakeToggleController fakeToggleController = new FakeToggleController(mContext, key);
+        final FakeToggleController fakeToggleController = new FakeToggleController(mContext, key);
         fakeToggleController.setChecked(true);
-        Intent intent = new Intent(SettingsSliceProvider.ACTION_TOGGLE_CHANGED);
-        intent.putExtra(SettingsSliceProvider.EXTRA_SLICE_KEY, key);
+
+        final Intent intent = new Intent(SettingsSliceProvider.ACTION_TOGGLE_CHANGED)
+                .putExtra(SettingsSliceProvider.EXTRA_SLICE_KEY, key)
+                .setData(uri);
 
         assertThat(fakeToggleController.isChecked()).isTrue();
 
@@ -128,6 +117,8 @@
         doReturn(resolver).when(mContext).getContentResolver();
 
         final String key = "key";
+        final Uri expectedUri = buildUri(key);
+
         mSearchFeatureProvider.getSearchIndexableResources().getProviderValues().clear();
         insertSpecialCase(key);
 
@@ -135,8 +126,9 @@
         fakeToggleController.setChecked(true);
         // Set the toggle setting update synchronously.
         fakeToggleController.setAsyncUpdate(false);
-        Intent intent = new Intent(SettingsSliceProvider.ACTION_TOGGLE_CHANGED);
-        intent.putExtra(SettingsSliceProvider.EXTRA_SLICE_KEY, key);
+        final Intent intent = new Intent(SettingsSliceProvider.ACTION_TOGGLE_CHANGED)
+                .putExtra(SettingsSliceProvider.EXTRA_SLICE_KEY, key)
+                .setData(expectedUri);
 
         assertThat(fakeToggleController.isChecked()).isTrue();
 
@@ -145,12 +137,6 @@
 
         assertThat(fakeToggleController.isChecked()).isFalse();
 
-        final Uri expectedUri = new Uri.Builder()
-                .scheme(ContentResolver.SCHEME_CONTENT)
-                .authority(SettingsSliceProvider.SLICE_AUTHORITY)
-                .appendPath(SettingsSlicesContract.PATH_SETTING_ACTION)
-                .appendPath(key)
-                .build();
 
         verify(resolver).notifyChange(expectedUri, null);
     }
@@ -163,16 +149,11 @@
 
         final String key = "key";
         mSearchFeatureProvider.getSearchIndexableResources().getProviderValues().clear();
-        insertSpecialCase(key);
+        insertSpecialCase(AsyncToggleController.class.getName(), key);
 
-        FakeToggleController fakeToggleController = new FakeToggleController(mContext, key);
-        fakeToggleController.setChecked(true);
-        // Set the toggle setting update asynchronously.
-        fakeToggleController.setAsyncUpdate(true);
-        Intent intent = new Intent(SettingsSliceProvider.ACTION_TOGGLE_CHANGED);
-        intent.putExtra(SettingsSliceProvider.EXTRA_SLICE_KEY, key);
-
-        assertThat(fakeToggleController.isChecked()).isTrue();
+        final Intent intent = new Intent(SettingsSliceProvider.ACTION_TOGGLE_CHANGED)
+                .putExtra(SettingsSliceProvider.EXTRA_SLICE_KEY, key)
+                .setData(buildUri(key));
 
         // Toggle setting
         mReceiver.onReceive(mContext, intent);
@@ -183,26 +164,22 @@
     @Test
     public void onReceive_sliderChanged() {
         final String key = "key";
-        final Uri uri = new Uri.Builder()
-                .scheme(ContentResolver.SCHEME_CONTENT)
-                .authority(SettingsSliceProvider.SLICE_AUTHORITY)
-                .appendPath(SettingsSlicesContract.PATH_SETTING_ACTION)
-                .appendPath(key)
-                .build();
+        final Uri uri = buildUri(key);
         final ContentResolver resolver = mock(ContentResolver.class);
         doReturn(resolver).when(mContext).getContentResolver();
         final int position = FakeSliderController.MAX_VALUE - 1;
         final int oldPosition = FakeSliderController.MAX_VALUE;
         mSearchFeatureProvider.getSearchIndexableResources().getProviderValues().clear();
-        insertSpecialCase(FakeSliderController.class, key);
+        insertSpecialCase(FakeSliderController.class.getName(), key);
 
         // Set slider setting
         FakeSliderController fakeSliderController = new FakeSliderController(mContext, key);
         fakeSliderController.setSliderPosition(oldPosition);
         // Build action
-        Intent intent = new Intent(SettingsSliceProvider.ACTION_SLIDER_CHANGED);
-        intent.putExtra(Slice.EXTRA_RANGE_VALUE, position);
-        intent.putExtra(SettingsSliceProvider.EXTRA_SLICE_KEY, key);
+        final Intent intent = new Intent(SettingsSliceProvider.ACTION_SLIDER_CHANGED)
+                .putExtra(Slice.EXTRA_RANGE_VALUE, position)
+                .putExtra(SettingsSliceProvider.EXTRA_SLICE_KEY, key)
+                .setData(uri);
 
         assertThat(fakeSliderController.getSliderPosition()).isEqualTo(oldPosition);
 
@@ -225,12 +202,12 @@
         final String key = "key";
         final int position = 0;
         mSearchFeatureProvider.getSearchIndexableResources().getProviderValues().clear();
-        insertSpecialCase(FakeToggleController.class, key);
+        insertSpecialCase(key);
 
         // Build action
-        Intent intent = new Intent(SettingsSliceProvider.ACTION_SLIDER_CHANGED);
-        intent.putExtra(Slice.EXTRA_RANGE_VALUE, position);
-        intent.putExtra(SettingsSliceProvider.EXTRA_SLICE_KEY, key);
+        final Intent intent = new Intent(SettingsSliceProvider.ACTION_SLIDER_CHANGED)
+                .putExtra(Slice.EXTRA_RANGE_VALUE, position)
+                .putExtra(SettingsSliceProvider.EXTRA_SLICE_KEY, key);
 
         // Trigger the exception.
         mReceiver.onReceive(mContext, intent);
@@ -272,29 +249,25 @@
 
         // Insert Fake Toggle into Database
         final String key = "key";
+        final Uri expectedUri = buildUri(key);
         mSearchFeatureProvider.getSearchIndexableResources().getProviderValues().clear();
-        insertSpecialCase(FakeToggleController.class, key);
+        insertSpecialCase(key);
 
         // Turn on toggle setting
         final FakeToggleController fakeToggleController = new FakeToggleController(mContext, key);
         fakeToggleController.setChecked(true);
 
         // Build Action
-        final Intent intent = new Intent(SettingsSliceProvider.ACTION_TOGGLE_CHANGED);
-        intent.putExtra(SettingsSliceProvider.EXTRA_SLICE_KEY, key);
+        final Intent intent = new Intent(SettingsSliceProvider.ACTION_TOGGLE_CHANGED)
+                .putExtra(SettingsSliceProvider.EXTRA_SLICE_KEY, key)
+                .setData(expectedUri);
 
         // Trigger Slice change
         mReceiver.onReceive(mContext, intent);
 
         // Check the value is the same and the Uri has been notified.
         assertThat(fakeToggleController.isChecked()).isTrue();
-        final Uri expectedUri = new Uri.Builder()
-                .scheme(ContentResolver.SCHEME_CONTENT)
-                .authority(SettingsSliceProvider.SLICE_AUTHORITY)
-                .appendPath(SettingsSlicesContract.PATH_SETTING_ACTION)
-                .appendPath(key)
-                .build();
-        verify(resolver).notifyChange(eq(expectedUri), eq(null));
+        verify(resolver).notifyChange(expectedUri, null);
     }
 
     @Test
@@ -310,47 +283,65 @@
 
         // Insert Fake Slider into Database
         final String key = "key";
+        final Uri expectedUri = buildUri(key);
+
         final int position = FakeSliderController.MAX_VALUE - 1;
         final int oldPosition = FakeSliderController.MAX_VALUE;
         mSearchFeatureProvider.getSearchIndexableResources().getProviderValues().clear();
-        insertSpecialCase(FakeSliderController.class, key);
+        insertSpecialCase(FakeSliderController.class.getName(), key);
 
         // Set slider setting
         final FakeSliderController fakeSliderController = new FakeSliderController(mContext, key);
         fakeSliderController.setSliderPosition(oldPosition);
 
         // Build action
-        final Intent intent = new Intent(SettingsSliceProvider.ACTION_SLIDER_CHANGED);
-        intent.putExtra(Slice.EXTRA_RANGE_VALUE, position);
-        intent.putExtra(SettingsSliceProvider.EXTRA_SLICE_KEY, key);
+        final Intent intent = new Intent(SettingsSliceProvider.ACTION_SLIDER_CHANGED)
+                .putExtra(Slice.EXTRA_RANGE_VALUE, position)
+                .putExtra(SettingsSliceProvider.EXTRA_SLICE_KEY, key)
+                .setData(expectedUri);
 
         // Trigger Slice change
         mReceiver.onReceive(mContext, intent);
 
         // Check position is the same and the Uri has been notified.
         assertThat(fakeSliderController.getSliderPosition()).isEqualTo(oldPosition);
-        final Uri expectedUri = new Uri.Builder()
+        verify(resolver).notifyChange(eq(expectedUri), eq(null));
+    }
+
+    private void insertSpecialCase(String key) {
+        insertSpecialCase(SliceTestUtils.FAKE_CONTROLLER_NAME, key);
+    }
+
+    private void insertSpecialCase(String controllerClass, String key) {
+        ContentValues values = new ContentValues();
+        values.put(SlicesDatabaseHelper.IndexColumns.KEY, key);
+        values.put(SlicesDatabaseHelper.IndexColumns.TITLE, SliceTestUtils.FAKE_TITLE);
+        values.put(SlicesDatabaseHelper.IndexColumns.SUMMARY, SliceTestUtils.FAKE_SUMMARY);
+        values.put(SlicesDatabaseHelper.IndexColumns.SCREENTITLE, SliceTestUtils.FAKE_SCREEN_TITLE);
+        values.put(SlicesDatabaseHelper.IndexColumns.ICON_RESOURCE, SliceTestUtils.FAKE_ICON);
+        values.put(SlicesDatabaseHelper.IndexColumns.FRAGMENT, SliceTestUtils.FAKE_FRAGMENT_NAME);
+        values.put(SlicesDatabaseHelper.IndexColumns.CONTROLLER, controllerClass);
+        values.put(SlicesDatabaseHelper.IndexColumns.SLICE_URI, buildUri(key).toSafeString());
+        mDb.replaceOrThrow(SlicesDatabaseHelper.Tables.TABLE_SLICES_INDEX, null, values);
+    }
+
+    private static Uri buildUri(String key) {
+        return new Uri.Builder()
                 .scheme(ContentResolver.SCHEME_CONTENT)
                 .authority(SettingsSliceProvider.SLICE_AUTHORITY)
                 .appendPath(SettingsSlicesContract.PATH_SETTING_ACTION)
                 .appendPath(key)
                 .build();
-        verify(resolver).notifyChange(eq(expectedUri), eq(null));
     }
 
-    private void insertSpecialCase(String key) {
-        insertSpecialCase(fakeControllerName, key);
-    }
+    public static class AsyncToggleController extends FakeToggleController {
+        public AsyncToggleController(Context context, String preferenceKey) {
+            super(context, preferenceKey);
+        }
 
-    private void insertSpecialCase(Class controllerClass, String key) {
-        ContentValues values = new ContentValues();
-        values.put(SlicesDatabaseHelper.IndexColumns.KEY, key);
-        values.put(SlicesDatabaseHelper.IndexColumns.TITLE, fakeTitle);
-        values.put(SlicesDatabaseHelper.IndexColumns.SUMMARY, fakeSummary);
-        values.put(SlicesDatabaseHelper.IndexColumns.SCREENTITLE, fakeScreenTitle);
-        values.put(SlicesDatabaseHelper.IndexColumns.ICON_RESOURCE, fakeIcon);
-        values.put(SlicesDatabaseHelper.IndexColumns.FRAGMENT, fakeFragmentClassName);
-        values.put(SlicesDatabaseHelper.IndexColumns.CONTROLLER, controllerClass.getName());
-        mDb.replaceOrThrow(SlicesDatabaseHelper.Tables.TABLE_SLICES_INDEX, null, values);
+        @Override
+        public boolean hasAsyncUpdate() {
+            return true;
+        }
     }
 }
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/slices/SliceBuilderUtilsTest.java b/tests/robotests/src/com/android/settings/slices/SliceBuilderUtilsTest.java
index 1db7c8d..fc82abb 100644
--- a/tests/robotests/src/com/android/settings/slices/SliceBuilderUtilsTest.java
+++ b/tests/robotests/src/com/android/settings/slices/SliceBuilderUtilsTest.java
@@ -137,58 +137,6 @@
     }
 
     @Test
-    public void testUriBuilder_oemAuthority_intentPath_returnsValidSliceUri() {
-        final Uri expectedUri = new Uri.Builder()
-                .scheme(ContentResolver.SCHEME_CONTENT)
-                .authority(SettingsSliceProvider.SLICE_AUTHORITY)
-                .appendPath(INTENT_PATH)
-                .build();
-
-        final Uri actualUri = SliceBuilderUtils.getUri(INTENT_PATH, false);
-
-        assertThat(actualUri).isEqualTo(expectedUri);
-    }
-
-    @Test
-    public void testUriBuilder_oemAuthority_actionPath_returnsValidSliceUri() {
-        final Uri expectedUri = new Uri.Builder()
-                .scheme(ContentResolver.SCHEME_CONTENT)
-                .authority(SettingsSliceProvider.SLICE_AUTHORITY)
-                .appendPath(ACTION_PATH)
-                .build();
-
-        final Uri actualUri = SliceBuilderUtils.getUri(ACTION_PATH, false);
-
-        assertThat(actualUri).isEqualTo(expectedUri);
-    }
-
-    @Test
-    public void testUriBuilder_platformAuthority_intentPath_returnsValidSliceUri() {
-        final Uri expectedUri = new Uri.Builder()
-                .scheme(ContentResolver.SCHEME_CONTENT)
-                .authority(SettingsSlicesContract.AUTHORITY)
-                .appendPath(ACTION_PATH)
-                .build();
-
-        final Uri actualUri = SliceBuilderUtils.getUri(ACTION_PATH, true);
-
-        assertThat(actualUri).isEqualTo(expectedUri);
-    }
-
-    @Test
-    public void testUriBuilder_platformAuthority_actionPath_returnsValidSliceUri() {
-        final Uri expectedUri = new Uri.Builder()
-                .scheme(ContentResolver.SCHEME_CONTENT)
-                .authority(SettingsSlicesContract.AUTHORITY)
-                .appendPath(ACTION_PATH)
-                .build();
-
-        final Uri actualUri = SliceBuilderUtils.getUri(ACTION_PATH, true);
-
-        assertThat(actualUri).isEqualTo(expectedUri);
-    }
-
-    @Test
     public void testGetPreferenceController_buildsMatchingController() {
         final BasePreferenceController controller =
                 SliceBuilderUtils.getPreferenceController(mContext, getDummyData());
diff --git a/tests/robotests/src/com/android/settings/slices/SliceControllerInXmlCodeInspector.java b/tests/robotests/src/com/android/settings/slices/SliceControllerInXmlCodeInspector.java
index 213de11..72eae7d 100644
--- a/tests/robotests/src/com/android/settings/slices/SliceControllerInXmlCodeInspector.java
+++ b/tests/robotests/src/com/android/settings/slices/SliceControllerInXmlCodeInspector.java
@@ -31,11 +31,11 @@
 import com.android.settings.core.TogglePreferenceController;
 import com.android.settings.core.codeinspection.CodeInspector;
 import com.android.settings.overlay.FeatureFactory;
-import com.android.settings.search.DatabaseIndexingUtils;
-import com.android.settings.search.Indexable;
 import com.android.settings.search.SearchFeatureProvider;
 import com.android.settings.search.SearchFeatureProviderImpl;
 import com.android.settings.testutils.FakeFeatureFactory;
+import com.android.settingslib.search.Indexable;
+import com.android.settingslib.search.SearchIndexableData;
 
 import org.robolectric.RuntimeEnvironment;
 import org.xmlpull.v1.XmlPullParserException;
@@ -146,13 +146,12 @@
     private List<Integer> getIndexableXml() {
         final List<Integer> xmlResSet = new ArrayList<>();
 
-        final Collection<Class> indexableClasses = FeatureFactory.getFactory(
+        final Collection<SearchIndexableData> bundles = FeatureFactory.getFactory(
                 mContext).getSearchFeatureProvider().getSearchIndexableResources()
                 .getProviderValues();
 
-        for (Class clazz : indexableClasses) {
-            Indexable.SearchIndexProvider provider = DatabaseIndexingUtils.getSearchIndexProvider(
-                    clazz);
+        for (SearchIndexableData bundle : bundles) {
+            Indexable.SearchIndexProvider provider = bundle.getSearchIndexProvider();
 
             if (provider == null) {
                 continue;
diff --git a/tests/robotests/src/com/android/settings/slices/SliceDataConverterTest.java b/tests/robotests/src/com/android/settings/slices/SliceDataConverterTest.java
index ea7bac5..0c654a4 100644
--- a/tests/robotests/src/com/android/settings/slices/SliceDataConverterTest.java
+++ b/tests/robotests/src/com/android/settings/slices/SliceDataConverterTest.java
@@ -37,6 +37,7 @@
 import com.android.settings.search.SearchFeatureProviderImpl;
 import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settings.testutils.FakeIndexProvider;
+import com.android.settingslib.search.SearchIndexableData;
 
 import org.junit.After;
 import org.junit.Before;
@@ -92,7 +93,8 @@
     public void testFakeProvider_convertsFakeData() {
         mSearchFeatureProvider.getSearchIndexableResources().getProviderValues().clear();
         mSearchFeatureProvider.getSearchIndexableResources().getProviderValues()
-                .add(FakeIndexProvider.class);
+                .add(new SearchIndexableData(FakeIndexProvider.class,
+                        FakeIndexProvider.SEARCH_INDEX_DATA_PROVIDER));
 
         doReturn(getFakeService()).when(mSliceDataConverter).getAccessibilityServiceInfoList();
 
@@ -119,13 +121,14 @@
         assertThat(fakeSlice.getScreenTitle()).isEqualTo(FAKE_SCREEN_TITLE);
         assertThat(fakeSlice.getKeywords()).isNull();
         assertThat(fakeSlice.getIconResource()).isNotNull();
-        assertThat(fakeSlice.getUri()).isNull();
+        assertThat(fakeSlice.getUri().toSafeString())
+                .isEqualTo("content://com.android.settings.slices/action/key");
         assertThat(fakeSlice.getFragmentClassName()).isEqualTo(FAKE_FRAGMENT_CLASSNAME);
         assertThat(fakeSlice.getPreferenceController()).isEqualTo(FAKE_CONTROLLER_NAME);
         assertThat(fakeSlice.getSliceType()).isEqualTo(SliceData.SliceType.SLIDER);
-        assertThat(fakeSlice.isPlatformDefined()).isTrue(); // from XML
         assertThat(fakeSlice.getUnavailableSliceSubtitle()).isEqualTo(
                 "subtitleOfUnavailableSlice"); // from XML
+        assertThat(fakeSlice.isPublicSlice()).isTrue();
     }
 
     private void assertFakeA11ySlice(SliceData fakeSlice) {
@@ -135,7 +138,7 @@
         assertThat(fakeSlice.getScreenTitle()).isEqualTo(
                 mContext.getString(R.string.accessibility_settings));
         assertThat(fakeSlice.getIconResource()).isEqualTo(FAKE_ICON);
-        assertThat(fakeSlice.getUri()).isNull();
+        assertThat(fakeSlice.getUri()).isNotNull();
         assertThat(fakeSlice.getFragmentClassName()).isEqualTo(ACCESSIBILITY_FRAGMENT);
         assertThat(fakeSlice.getPreferenceController()).isEqualTo(A11Y_CONTROLLER_NAME);
     }
diff --git a/tests/robotests/src/com/android/settings/slices/SliceDataTest.java b/tests/robotests/src/com/android/settings/slices/SliceDataTest.java
index 6775e05..fa3f8b9 100644
--- a/tests/robotests/src/com/android/settings/slices/SliceDataTest.java
+++ b/tests/robotests/src/com/android/settings/slices/SliceDataTest.java
@@ -37,7 +37,6 @@
     private final Uri URI = Uri.parse("content://com.android.settings.slices/test");
     private final String PREF_CONTROLLER = "com.android.settings.slices.tester";
     private final int SLICE_TYPE = SliceData.SliceType.SWITCH;
-    private final boolean IS_PLATFORM_DEFINED = true;
     private final String UNAVAILABLE_SLICE_SUBTITLE = "subtitleOfUnavailableSlice";
 
     @Test
@@ -53,8 +52,8 @@
                 .setUri(URI)
                 .setPreferenceControllerClassName(PREF_CONTROLLER)
                 .setSliceType(SLICE_TYPE)
-                .setPlatformDefined(IS_PLATFORM_DEFINED)
-                .setUnavailableSliceSubtitle(UNAVAILABLE_SLICE_SUBTITLE);
+                .setUnavailableSliceSubtitle(UNAVAILABLE_SLICE_SUBTITLE)
+                .setIsPublicSlice(true);
 
         SliceData data = builder.build();
 
@@ -68,8 +67,8 @@
         assertThat(data.getUri()).isEqualTo(URI);
         assertThat(data.getPreferenceController()).isEqualTo(PREF_CONTROLLER);
         assertThat(data.getSliceType()).isEqualTo(SLICE_TYPE);
-        assertThat(data.isPlatformDefined()).isEqualTo(IS_PLATFORM_DEFINED);
         assertThat(data.getUnavailableSliceSubtitle()).isEqualTo(UNAVAILABLE_SLICE_SUBTITLE);
+        assertThat(data.isPublicSlice()).isEqualTo(true);
     }
 
     @Test(expected = SliceData.InvalidSliceDataException.class)
diff --git a/tests/robotests/src/com/android/settings/slices/SlicePreferenceTest.java b/tests/robotests/src/com/android/settings/slices/SlicePreferenceTest.java
new file mode 100644
index 0000000..1d3d710
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/slices/SlicePreferenceTest.java
@@ -0,0 +1,73 @@
+/*
+ * 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.slices;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.spy;
+
+import android.content.Context;
+import android.net.Uri;
+import android.view.View;
+
+import androidx.slice.Slice;
+import androidx.slice.widget.SliceView;
+
+import com.android.settings.R;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.Robolectric;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+@RunWith(RobolectricTestRunner.class)
+public class SlicePreferenceTest {
+
+    private SlicePreference mSlicePreference;
+    private Context mContext;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mContext = spy(RuntimeEnvironment.application);
+
+        mSlicePreference = new SlicePreference(mContext, Robolectric.buildAttributeSet()
+                .setStyleAttribute("@style/SlicePreference")
+                .build());
+    }
+
+    @Test
+    public void onSliceUpdated_null_hideSliceView() {
+        final SliceView sliceView = mSlicePreference.findViewById(R.id.slice_view);
+
+        mSlicePreference.onSliceUpdated(null);
+
+        assertThat(sliceView.getVisibility()).isEqualTo(View.GONE);
+    }
+
+    @Test
+    public void onSliceUpdated_notNull_showSliceView() {
+        final SliceView sliceView = mSlicePreference.findViewById(R.id.slice_view);
+
+        mSlicePreference.onSliceUpdated(new Slice.Builder(Uri.parse("uri")).build());
+
+        assertThat(sliceView.getVisibility()).isEqualTo(View.VISIBLE);
+    }
+}
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/slices/SliceTestUtils.java b/tests/robotests/src/com/android/settings/slices/SliceTestUtils.java
new file mode 100644
index 0000000..1c9164a
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/slices/SliceTestUtils.java
@@ -0,0 +1,82 @@
+/*
+ * 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.slices;
+
+import android.content.ContentResolver;
+import android.content.ContentValues;
+import android.content.Context;
+import android.database.sqlite.SQLiteDatabase;
+import android.net.Uri;
+import android.provider.SettingsSlicesContract;
+
+import com.android.settings.testutils.FakeIndexProvider;
+import com.android.settings.testutils.FakeToggleController;
+
+class SliceTestUtils {
+
+    public static final String FAKE_TITLE = "title";
+    public static final String FAKE_SUMMARY = "summary";
+    public static final String FAKE_SCREEN_TITLE = "screen_title";
+    public static final String FAKE_KEYWORDS = "a, b, c";
+    public static final int FAKE_ICON = 1234;
+    public static final String FAKE_FRAGMENT_NAME = FakeIndexProvider.class.getName();
+    public static final String FAKE_CONTROLLER_NAME = FakeToggleController.class.getName();
+
+
+    public static void insertSliceToDb(Context context, String key) {
+        insertSliceToDb(context, key, true /* isPlatformSlice */);
+    }
+
+    public static void insertSliceToDb(Context context, String key, boolean isPlatformSlice) {
+        insertSliceToDb(context, key, isPlatformSlice, null /*customizedUnavailableSliceSubtitle*/);
+    }
+
+    public static void insertSliceToDb(Context context, String key, boolean isPlatformSlice,
+            String customizedUnavailableSliceSubtitle) {
+        insertSliceToDb(context, key, isPlatformSlice, customizedUnavailableSliceSubtitle, false);
+    }
+
+    public static void insertSliceToDb(Context context, String key, boolean isPlatformSlice,
+            String customizedUnavailableSliceSubtitle, boolean isPublicSlice) {
+        final SQLiteDatabase db = SlicesDatabaseHelper.getInstance(context).getWritableDatabase();
+        ContentValues values = new ContentValues();
+        values.put(SlicesDatabaseHelper.IndexColumns.KEY, key);
+        values.put(SlicesDatabaseHelper.IndexColumns.SLICE_URI,
+                new Uri.Builder()
+                        .scheme(ContentResolver.SCHEME_CONTENT)
+                        .authority(isPlatformSlice
+                                ? SettingsSlicesContract.AUTHORITY
+                                : SettingsSliceProvider.SLICE_AUTHORITY)
+                        .appendPath(SettingsSlicesContract.PATH_SETTING_ACTION)
+                        .appendPath(key)
+                        .build().toSafeString());
+        values.put(SlicesDatabaseHelper.IndexColumns.TITLE, FAKE_TITLE);
+        values.put(SlicesDatabaseHelper.IndexColumns.SUMMARY, FAKE_SUMMARY);
+        values.put(SlicesDatabaseHelper.IndexColumns.SCREENTITLE, FAKE_SCREEN_TITLE);
+        values.put(SlicesDatabaseHelper.IndexColumns.KEYWORDS, FAKE_KEYWORDS);
+        values.put(SlicesDatabaseHelper.IndexColumns.ICON_RESOURCE, FAKE_ICON);
+        values.put(SlicesDatabaseHelper.IndexColumns.FRAGMENT, FAKE_FRAGMENT_NAME);
+        values.put(SlicesDatabaseHelper.IndexColumns.CONTROLLER, FAKE_CONTROLLER_NAME);
+        values.put(SlicesDatabaseHelper.IndexColumns.SLICE_TYPE, SliceData.SliceType.INTENT);
+        values.put(SlicesDatabaseHelper.IndexColumns.UNAVAILABLE_SLICE_SUBTITLE,
+                customizedUnavailableSliceSubtitle);
+        values.put(SlicesDatabaseHelper.IndexColumns.PUBLIC_SLICE, isPublicSlice);
+
+        db.replaceOrThrow(SlicesDatabaseHelper.Tables.TABLE_SLICES_INDEX, null, values);
+        db.close();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/slices/SlicesDatabaseAccessorTest.java b/tests/robotests/src/com/android/settings/slices/SlicesDatabaseAccessorTest.java
index de2c51f..b4385d8 100644
--- a/tests/robotests/src/com/android/settings/slices/SlicesDatabaseAccessorTest.java
+++ b/tests/robotests/src/com/android/settings/slices/SlicesDatabaseAccessorTest.java
@@ -17,16 +17,18 @@
 
 package com.android.settings.slices;
 
+import static android.content.ContentResolver.SCHEME_CONTENT;
+
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.Mockito.spy;
 
 import android.app.ApplicationPackageManager;
 import android.content.ComponentName;
-import android.content.ContentValues;
+import android.content.ContentResolver;
 import android.content.Context;
-import android.database.sqlite.SQLiteDatabase;
 import android.net.Uri;
+import android.provider.SettingsSlicesContract;
 import android.view.accessibility.AccessibilityManager;
 
 import com.android.settings.search.SearchFeatureProvider;
@@ -38,6 +40,7 @@
 import com.android.settings.testutils.shadow.ShadowLockPatternUtils;
 import com.android.settings.testutils.shadow.ShadowUserManager;
 import com.android.settings.testutils.shadow.ShadowUtils;
+import com.android.settingslib.search.SearchIndexableData;
 
 import org.junit.After;
 import org.junit.Before;
@@ -61,16 +64,8 @@
         ShadowBluetoothAdapter.class, ShadowLockPatternUtils.class})
 public class SlicesDatabaseAccessorTest {
 
-    private final String FAKE_TITLE = "title";
-    private final String FAKE_SUMMARY = "summary";
-    private final String FAKE_SCREEN_TITLE = "screen_title";
-    private final String FAKE_KEYWORDS = "a, b, c";
-    private final int FAKE_ICON = 1234;
-    private final String FAKE_FRAGMENT_NAME = FakeIndexProvider.class.getName();
-    private final String FAKE_CONTROLLER_NAME = FakePreferenceController.class.getName();
 
     private Context mContext;
-    private SQLiteDatabase mDb;
     private SlicesDatabaseAccessor mAccessor;
 
     @Before
@@ -78,7 +73,6 @@
         mContext = RuntimeEnvironment.application;
         ShadowUserManager.getShadow().setIsAdminUser(true);
         mAccessor = spy(new SlicesDatabaseAccessor(mContext));
-        mDb = SlicesDatabaseHelper.getInstance(mContext).getWritableDatabase();
         SlicesDatabaseHelper.getInstance(mContext).setIndexedState();
 
         // Register the fake a11y Service
@@ -95,39 +89,39 @@
     @Test
     public void testGetSliceDataFromKey_validKey_validSliceReturned() {
         String key = "key";
-        insertSpecialCase(key);
+        SliceTestUtils.insertSliceToDb(mContext, key);
 
         SliceData data = mAccessor.getSliceDataFromKey(key);
 
         assertThat(data.getKey()).isEqualTo(key);
-        assertThat(data.getTitle()).isEqualTo(FAKE_TITLE);
-        assertThat(data.getSummary()).isEqualTo(FAKE_SUMMARY);
-        assertThat(data.getScreenTitle()).isEqualTo(FAKE_SCREEN_TITLE);
-        assertThat(data.getKeywords()).isEqualTo(FAKE_KEYWORDS);
-        assertThat(data.getIconResource()).isEqualTo(FAKE_ICON);
-        assertThat(data.getFragmentClassName()).isEqualTo(FAKE_FRAGMENT_NAME);
+        assertThat(data.getTitle()).isEqualTo(SliceTestUtils.FAKE_TITLE);
+        assertThat(data.getSummary()).isEqualTo(SliceTestUtils.FAKE_SUMMARY);
+        assertThat(data.getScreenTitle()).isEqualTo(SliceTestUtils.FAKE_SCREEN_TITLE);
+        assertThat(data.getKeywords()).isEqualTo(SliceTestUtils.FAKE_KEYWORDS);
+        assertThat(data.getIconResource()).isEqualTo(SliceTestUtils.FAKE_ICON);
+        assertThat(data.getFragmentClassName()).isEqualTo(SliceTestUtils.FAKE_FRAGMENT_NAME);
         assertThat(data.getUri()).isNull();
-        assertThat(data.getPreferenceController()).isEqualTo(FAKE_CONTROLLER_NAME);
+        assertThat(data.getPreferenceController()).isEqualTo(SliceTestUtils.FAKE_CONTROLLER_NAME);
         assertThat(data.getUnavailableSliceSubtitle()).isNull();
     }
 
     @Test
     public void testGetSliceDataFromKey_allowDynamicSummary_validSliceReturned() {
         String key = "key";
-        insertSpecialCase(key, true /* isPlatformSlice */,
+        SliceTestUtils.insertSliceToDb(mContext, key, true /* isPlatformSlice */,
                 null /* customizedUnavailableSliceSubtitle */);
 
         SliceData data = mAccessor.getSliceDataFromKey(key);
 
         assertThat(data.getKey()).isEqualTo(key);
-        assertThat(data.getTitle()).isEqualTo(FAKE_TITLE);
-        assertThat(data.getSummary()).isEqualTo(FAKE_SUMMARY);
-        assertThat(data.getScreenTitle()).isEqualTo(FAKE_SCREEN_TITLE);
-        assertThat(data.getKeywords()).isEqualTo(FAKE_KEYWORDS);
-        assertThat(data.getIconResource()).isEqualTo(FAKE_ICON);
-        assertThat(data.getFragmentClassName()).isEqualTo(FAKE_FRAGMENT_NAME);
+        assertThat(data.getTitle()).isEqualTo(SliceTestUtils.FAKE_TITLE);
+        assertThat(data.getSummary()).isEqualTo(SliceTestUtils.FAKE_SUMMARY);
+        assertThat(data.getScreenTitle()).isEqualTo(SliceTestUtils.FAKE_SCREEN_TITLE);
+        assertThat(data.getKeywords()).isEqualTo(SliceTestUtils.FAKE_KEYWORDS);
+        assertThat(data.getIconResource()).isEqualTo(SliceTestUtils.FAKE_ICON);
+        assertThat(data.getFragmentClassName()).isEqualTo(SliceTestUtils.FAKE_FRAGMENT_NAME);
         assertThat(data.getUri()).isNull();
-        assertThat(data.getPreferenceController()).isEqualTo(FAKE_CONTROLLER_NAME);
+        assertThat(data.getPreferenceController()).isEqualTo(SliceTestUtils.FAKE_CONTROLLER_NAME);
     }
 
     @Test(expected = IllegalStateException.class)
@@ -139,36 +133,47 @@
 
     @Test
     public void testGetSliceFromUri_validUri_validSliceReturned() {
-        String key = "key";
-        String path = "intent/" + key;
-        insertSpecialCase(key);
-        Uri uri = SliceBuilderUtils.getUri(path, false);
+        final String key = "key";
+        SliceTestUtils.insertSliceToDb(mContext, key);
+
+        final Uri uri = new Uri.Builder()
+                .scheme(ContentResolver.SCHEME_CONTENT)
+                .authority(SettingsSliceProvider.SLICE_AUTHORITY)
+                .appendPath("action")
+                .appendPath(key)
+                .build();
 
         SliceData data = mAccessor.getSliceDataFromUri(uri);
 
         assertThat(data.getKey()).isEqualTo(key);
-        assertThat(data.getTitle()).isEqualTo(FAKE_TITLE);
-        assertThat(data.getSummary()).isEqualTo(FAKE_SUMMARY);
-        assertThat(data.getScreenTitle()).isEqualTo(FAKE_SCREEN_TITLE);
-        assertThat(data.getKeywords()).isEqualTo(FAKE_KEYWORDS);
-        assertThat(data.getIconResource()).isEqualTo(FAKE_ICON);
-        assertThat(data.getFragmentClassName()).isEqualTo(FAKE_FRAGMENT_NAME);
+        assertThat(data.getTitle()).isEqualTo(SliceTestUtils.FAKE_TITLE);
+        assertThat(data.getSummary()).isEqualTo(SliceTestUtils.FAKE_SUMMARY);
+        assertThat(data.getScreenTitle()).isEqualTo(SliceTestUtils.FAKE_SCREEN_TITLE);
+        assertThat(data.getKeywords()).isEqualTo(SliceTestUtils.FAKE_KEYWORDS);
+        assertThat(data.getIconResource()).isEqualTo(SliceTestUtils.FAKE_ICON);
+        assertThat(data.getFragmentClassName()).isEqualTo(SliceTestUtils.FAKE_FRAGMENT_NAME);
         assertThat(data.getUri()).isEqualTo(uri);
-        assertThat(data.getPreferenceController()).isEqualTo(FAKE_CONTROLLER_NAME);
+        assertThat(data.getPreferenceController()).isEqualTo(SliceTestUtils.FAKE_CONTROLLER_NAME);
     }
 
     @Test(expected = IllegalStateException.class)
     public void testGetSliceFromUri_invalidUri_errorThrown() {
-        Uri uri = SliceBuilderUtils.getUri("intent/durr", false);
+        final Uri uri = new Uri.Builder()
+                .scheme(ContentResolver.SCHEME_CONTENT)
+                .authority(SettingsSliceProvider.SLICE_AUTHORITY)
+                .appendPath("intent")
+                .appendPath("durr")
+                .build();
         mAccessor.getSliceDataFromUri(uri);
     }
 
     @Test
     public void getDescendantUris_platformSlice_doesNotReturnOEMSlice() {
         final String key = "oem_key";
-        final boolean isPlatformSlice = false;
-        insertSpecialCase(key, isPlatformSlice);
-        final List<String> keys = mAccessor.getSliceKeys(!isPlatformSlice);
+        SliceTestUtils.insertSliceToDb(mContext, key, false /* isPlatformSlice */,
+                null /* customizedUnavailableSliceSubtitle */, true /* isPublicSlice */);
+        final List<Uri> keys = mAccessor.getSliceUris(SettingsSlicesContract.AUTHORITY,
+                true /* isPublicSlice */);
 
         assertThat(keys).isEmpty();
     }
@@ -176,9 +181,10 @@
     @Test
     public void getDescendantUris_oemSlice_doesNotReturnPlatformSlice() {
         final String key = "platform_key";
-        final boolean isPlatformSlice = true;
-        insertSpecialCase(key, isPlatformSlice);
-        final List<String> keys = mAccessor.getSliceKeys(!isPlatformSlice);
+        SliceTestUtils.insertSliceToDb(mContext, key, true /* isPlatformSlice */,
+                null /* customizedUnavailableSliceSubtitle */, true /* isPublicSlice */);
+        final List<Uri> keys = mAccessor.getSliceUris(SettingsSliceProvider.SLICE_AUTHORITY,
+                true /* isPublicSlice */);
 
         assertThat(keys).isEmpty();
     }
@@ -186,21 +192,61 @@
     @Test
     public void getDescendantUris_oemSlice_returnsOEMUriDescendant() {
         final String key = "oem_key";
-        final boolean isPlatformSlice = false;
-        insertSpecialCase(key, isPlatformSlice);
-        final List<String> keys = mAccessor.getSliceKeys(isPlatformSlice);
+        SliceTestUtils.insertSliceToDb(mContext, key, false /* isPlatformSlice */,
+                null /* customizedUnavailableSliceSubtitle */, true /* isPublicSlice */);
+        final List<Uri> keys = mAccessor.getSliceUris(SettingsSliceProvider.SLICE_AUTHORITY,
+                true /* isPublicSlice */);
 
-        assertThat(keys).containsExactly(key);
+        assertThat(keys).containsExactly(
+                Uri.parse("content://com.android.settings.slices/action/oem_key"));
     }
 
     @Test
     public void getDescendantUris_platformSlice_returnsPlatformUriDescendant() {
         final String key = "platform_key";
-        final boolean isPlatformSlice = true;
-        insertSpecialCase(key, isPlatformSlice);
-        final List<String> keys = mAccessor.getSliceKeys(isPlatformSlice);
+        SliceTestUtils.insertSliceToDb(mContext, key, true /* isPlatformSlice */,
+                null /* customizedUnavailableSliceSubtitle */, true /* isPublicSlice */);
+        final List<Uri> keys = mAccessor.getSliceUris(SettingsSlicesContract.AUTHORITY,
+                true /* isPublicSlice */);
 
-        assertThat(keys).containsExactly(key);
+        assertThat(keys).containsExactly(
+                Uri.parse("content://android.settings.slices/action/platform_key"));
+    }
+
+    @Test
+    public void getSliceUris_publicSlice_returnPublicUri() {
+        SliceTestUtils.insertSliceToDb(mContext, "test_public", false /* isPlatformSlice */,
+                null /* customizedUnavailableSliceSubtitle */, true /* isPublicSlice */);
+        SliceTestUtils.insertSliceToDb(mContext, "test_private", false /* isPlatformSlice */,
+                null /* customizedUnavailableSliceSubtitle */, false /* isPublicSlice */);
+        final Uri expectedUri = new Uri.Builder()
+                .scheme(SCHEME_CONTENT)
+                .authority(SettingsSliceProvider.SLICE_AUTHORITY)
+                .appendPath(SettingsSlicesContract.PATH_SETTING_ACTION)
+                .appendPath("test_public")
+                .build();
+
+        final List<Uri> uri = mAccessor.getSliceUris(SettingsSliceProvider.SLICE_AUTHORITY, true);
+
+        assertThat(uri).containsExactly(expectedUri);
+    }
+
+    @Test
+    public void getSliceUris_nonPublicSlice_returnNonPublicUri() {
+        SliceTestUtils.insertSliceToDb(mContext, "test_public", false /* isPlatformSlice */,
+                null /* customizedUnavailableSliceSubtitle */, true /* isPublicSlice */);
+        SliceTestUtils.insertSliceToDb(mContext, "test_private", false /* isPlatformSlice */,
+                null /* customizedUnavailableSliceSubtitle */, false /* isPublicSlice */);
+        final Uri expectedUri = new Uri.Builder()
+                .scheme(SCHEME_CONTENT)
+                .authority(SettingsSliceProvider.SLICE_AUTHORITY)
+                .appendPath(SettingsSlicesContract.PATH_SETTING_ACTION)
+                .appendPath("test_private")
+                .build();
+
+        final List<Uri> uri = mAccessor.getSliceUris(SettingsSliceProvider.SLICE_AUTHORITY, false);
+
+        assertThat(uri).containsExactly(expectedUri);
     }
 
     @Test
@@ -209,17 +255,19 @@
         // Force new indexing
         Locale.setDefault(new Locale("ca"));
         final SearchFeatureProvider provider = new SearchFeatureProviderImpl();
-        final SlicesFeatureProvider sliceProvider = spy(new SlicesFeatureProviderImpl());
+        final SlicesFeatureProvider sliceProvider = new SlicesFeatureProviderImpl();
         final FakeFeatureFactory factory = FakeFeatureFactory.setupForTest();
         factory.searchFeatureProvider = provider;
         factory.slicesFeatureProvider = sliceProvider;
         // Fake the indexable list.
         provider.getSearchIndexableResources().getProviderValues().clear();
         provider.getSearchIndexableResources().getProviderValues().add(
-                FakeIndexProvider.class);
+                new SearchIndexableData(FakeIndexProvider.class,
+                        FakeIndexProvider.SEARCH_INDEX_DATA_PROVIDER));
 
         final SlicesDatabaseAccessor accessor = new SlicesDatabaseAccessor(mContext);
-        final List<String> keys = accessor.getSliceKeys(true);
+        final List<Uri> keys = accessor.getSliceUris(SettingsSliceProvider.SLICE_AUTHORITY,
+                true /* isPublicSlice */);
 
         assertThat(keys).isNotEmpty();
     }
@@ -227,20 +275,20 @@
     @Test
     public void testGetSliceDataFromKey_defaultUnavailableSlice_validSliceReturned() {
         String key = "key";
-        insertSpecialCase(key, true /* isPlatformSlice */,
+        SliceTestUtils.insertSliceToDb(mContext, key, true /* isPlatformSlice */,
                 null /* customizedUnavailableSliceSubtitle */);
 
         SliceData data = mAccessor.getSliceDataFromKey(key);
 
         assertThat(data.getKey()).isEqualTo(key);
-        assertThat(data.getTitle()).isEqualTo(FAKE_TITLE);
-        assertThat(data.getSummary()).isEqualTo(FAKE_SUMMARY);
-        assertThat(data.getScreenTitle()).isEqualTo(FAKE_SCREEN_TITLE);
-        assertThat(data.getKeywords()).isEqualTo(FAKE_KEYWORDS);
-        assertThat(data.getIconResource()).isEqualTo(FAKE_ICON);
-        assertThat(data.getFragmentClassName()).isEqualTo(FAKE_FRAGMENT_NAME);
+        assertThat(data.getTitle()).isEqualTo(SliceTestUtils.FAKE_TITLE);
+        assertThat(data.getSummary()).isEqualTo(SliceTestUtils.FAKE_SUMMARY);
+        assertThat(data.getScreenTitle()).isEqualTo(SliceTestUtils.FAKE_SCREEN_TITLE);
+        assertThat(data.getKeywords()).isEqualTo(SliceTestUtils.FAKE_KEYWORDS);
+        assertThat(data.getIconResource()).isEqualTo(SliceTestUtils.FAKE_ICON);
+        assertThat(data.getFragmentClassName()).isEqualTo(SliceTestUtils.FAKE_FRAGMENT_NAME);
         assertThat(data.getUri()).isNull();
-        assertThat(data.getPreferenceController()).isEqualTo(FAKE_CONTROLLER_NAME);
+        assertThat(data.getPreferenceController()).isEqualTo(SliceTestUtils.FAKE_CONTROLLER_NAME);
         assertThat(data.getUnavailableSliceSubtitle()).isNull();
     }
 
@@ -248,49 +296,22 @@
     public void testGetSliceDataFromKey_customizeSubtitleOfUnavailableSlice_validSliceReturned() {
         String key = "key";
         String subtitle = "subtitle";
-        insertSpecialCase(key, true /* isPlatformSlice */, subtitle);
+        SliceTestUtils.insertSliceToDb(mContext, key, true /* isPlatformSlice */, subtitle);
 
         SliceData data = mAccessor.getSliceDataFromKey(key);
 
         assertThat(data.getKey()).isEqualTo(key);
-        assertThat(data.getTitle()).isEqualTo(FAKE_TITLE);
-        assertThat(data.getSummary()).isEqualTo(FAKE_SUMMARY);
-        assertThat(data.getScreenTitle()).isEqualTo(FAKE_SCREEN_TITLE);
-        assertThat(data.getKeywords()).isEqualTo(FAKE_KEYWORDS);
-        assertThat(data.getIconResource()).isEqualTo(FAKE_ICON);
-        assertThat(data.getFragmentClassName()).isEqualTo(FAKE_FRAGMENT_NAME);
+        assertThat(data.getTitle()).isEqualTo(SliceTestUtils.FAKE_TITLE);
+        assertThat(data.getSummary()).isEqualTo(SliceTestUtils.FAKE_SUMMARY);
+        assertThat(data.getScreenTitle()).isEqualTo(SliceTestUtils.FAKE_SCREEN_TITLE);
+        assertThat(data.getKeywords()).isEqualTo(SliceTestUtils.FAKE_KEYWORDS);
+        assertThat(data.getIconResource()).isEqualTo(SliceTestUtils.FAKE_ICON);
+        assertThat(data.getFragmentClassName()).isEqualTo(SliceTestUtils.FAKE_FRAGMENT_NAME);
         assertThat(data.getUri()).isNull();
-        assertThat(data.getPreferenceController()).isEqualTo(FAKE_CONTROLLER_NAME);
+        assertThat(data.getPreferenceController()).isEqualTo(SliceTestUtils.FAKE_CONTROLLER_NAME);
         assertThat(data.getUnavailableSliceSubtitle()).isEqualTo(subtitle);
     }
 
-    private void insertSpecialCase(String key) {
-        insertSpecialCase(key, true);
-    }
-
-    private void insertSpecialCase(String key, boolean isPlatformSlice) {
-        insertSpecialCase(key, isPlatformSlice, null /*customizedUnavailableSliceSubtitle*/);
-    }
-
-    private void insertSpecialCase(String key, boolean isPlatformSlice,
-            String customizedUnavailableSliceSubtitle) {
-        ContentValues values = new ContentValues();
-        values.put(SlicesDatabaseHelper.IndexColumns.KEY, key);
-        values.put(SlicesDatabaseHelper.IndexColumns.TITLE, FAKE_TITLE);
-        values.put(SlicesDatabaseHelper.IndexColumns.SUMMARY, FAKE_SUMMARY);
-        values.put(SlicesDatabaseHelper.IndexColumns.SCREENTITLE, FAKE_SCREEN_TITLE);
-        values.put(SlicesDatabaseHelper.IndexColumns.KEYWORDS, FAKE_KEYWORDS);
-        values.put(SlicesDatabaseHelper.IndexColumns.ICON_RESOURCE, FAKE_ICON);
-        values.put(SlicesDatabaseHelper.IndexColumns.FRAGMENT, FAKE_FRAGMENT_NAME);
-        values.put(SlicesDatabaseHelper.IndexColumns.CONTROLLER, FAKE_CONTROLLER_NAME);
-        values.put(SlicesDatabaseHelper.IndexColumns.PLATFORM_SLICE, isPlatformSlice);
-        values.put(SlicesDatabaseHelper.IndexColumns.SLICE_TYPE, SliceData.SliceType.INTENT);
-        values.put(SlicesDatabaseHelper.IndexColumns.UNAVAILABLE_SLICE_SUBTITLE,
-                customizedUnavailableSliceSubtitle);
-
-        mDb.replaceOrThrow(SlicesDatabaseHelper.Tables.TABLE_SLICES_INDEX, null, values);
-    }
-
     @Implements(ApplicationPackageManager.class)
     public static class ShadowApplicationPackageManager extends
             org.robolectric.shadows.ShadowApplicationPackageManager {
diff --git a/tests/robotests/src/com/android/settings/slices/SlicesDatabaseHelperTest.java b/tests/robotests/src/com/android/settings/slices/SlicesDatabaseHelperTest.java
index 585c75d..65214fc 100644
--- a/tests/robotests/src/com/android/settings/slices/SlicesDatabaseHelperTest.java
+++ b/tests/robotests/src/com/android/settings/slices/SlicesDatabaseHelperTest.java
@@ -65,6 +65,7 @@
 
         String[] expectedNames = {
                 IndexColumns.KEY,
+                IndexColumns.SLICE_URI,
                 IndexColumns.TITLE,
                 IndexColumns.SUMMARY,
                 IndexColumns.SCREENTITLE,
@@ -72,9 +73,9 @@
                 IndexColumns.ICON_RESOURCE,
                 IndexColumns.FRAGMENT,
                 IndexColumns.CONTROLLER,
-                IndexColumns.PLATFORM_SLICE,
                 IndexColumns.SLICE_TYPE,
                 IndexColumns.UNAVAILABLE_SLICE_SUBTITLE,
+                IndexColumns.PUBLIC_SLICE
         };
 
         assertThat(columnNames).isEqualTo(expectedNames);
diff --git a/tests/robotests/src/com/android/settings/slices/SlicesIndexerTest.java b/tests/robotests/src/com/android/settings/slices/SlicesIndexerTest.java
index 8fd58c4..3cb68c0 100644
--- a/tests/robotests/src/com/android/settings/slices/SlicesIndexerTest.java
+++ b/tests/robotests/src/com/android/settings/slices/SlicesIndexerTest.java
@@ -52,7 +52,6 @@
     private final int ICON = 1234; // I declare a thumb war
     private final Uri URI = Uri.parse("content://com.android.settings.slices/test");
     private final String PREF_CONTROLLER = "com.android.settings.slices.tester";
-    private final boolean PLATFORM_DEFINED = true;
     private final int SLICE_TYPE = SliceData.SliceType.SLIDER;
     private final String UNAVAILABLE_SLICE_SUBTITLE = "subtitleOfUnavailableSlice";
 
@@ -106,8 +105,8 @@
     }
 
     @Test
-    public void testInsertSliceData_mockDataInserted() {
-        final List<SliceData> sliceData = getDummyIndexableData();
+    public void testInsertSliceData_nonPublicSlice_mockDataInserted() {
+        final List<SliceData> sliceData = getDummyIndexableData(false);
         doReturn(sliceData).when(mManager).getSliceData();
 
         mManager.run();
@@ -136,14 +135,58 @@
                 assertThat(
                         cursor.getString(cursor.getColumnIndex(IndexColumns.CONTROLLER)))
                         .isEqualTo(PREF_CONTROLLER);
-                assertThat(cursor.getInt(
-                        cursor.getColumnIndex(IndexColumns.PLATFORM_SLICE)))
-                        .isEqualTo(1 /* true */);
                 assertThat(cursor.getInt(cursor.getColumnIndex(IndexColumns.SLICE_TYPE)))
                         .isEqualTo(SLICE_TYPE);
                 assertThat(cursor.getString(
                         cursor.getColumnIndex(IndexColumns.UNAVAILABLE_SLICE_SUBTITLE)))
                         .isEqualTo(UNAVAILABLE_SLICE_SUBTITLE);
+                assertThat(cursor.getInt(
+                        cursor.getColumnIndex(IndexColumns.PUBLIC_SLICE))).isEqualTo(0);
+                cursor.moveToNext();
+            }
+        } finally {
+            db.close();
+        }
+    }
+
+    @Test
+    public void insertSliceData_publicSlice_mockDataInserted() {
+        final List<SliceData> sliceData = getDummyIndexableData(true);
+        doReturn(sliceData).when(mManager).getSliceData();
+
+        mManager.run();
+
+        final SQLiteDatabase db = SlicesDatabaseHelper.getInstance(mContext).getWritableDatabase();
+        try (Cursor cursor = db.rawQuery("SELECT * FROM slices_index", null)) {
+            assertThat(cursor.getCount()).isEqualTo(sliceData.size());
+
+            cursor.moveToFirst();
+            for (int i = 0; i < sliceData.size(); i++) {
+                assertThat(cursor.getString(cursor.getColumnIndex(IndexColumns.KEY)))
+                        .isEqualTo(KEYS[i]);
+                assertThat(cursor.getString(cursor.getColumnIndex(IndexColumns.TITLE)))
+                        .isEqualTo(TITLES[i]);
+                assertThat(
+                        cursor.getString(cursor.getColumnIndex(IndexColumns.FRAGMENT)))
+                        .isEqualTo(FRAGMENT_NAME);
+                assertThat(cursor.getString(
+                        cursor.getColumnIndex(IndexColumns.SCREENTITLE))).isEqualTo(SCREEN_TITLE);
+                assertThat(
+                        cursor.getString(cursor.getColumnIndex(IndexColumns.KEYWORDS)))
+                        .isEqualTo(KEYWORDS);
+                assertThat(
+                        cursor.getInt(cursor.getColumnIndex(IndexColumns.ICON_RESOURCE)))
+                        .isEqualTo(ICON);
+                assertThat(
+                        cursor.getString(cursor.getColumnIndex(IndexColumns.CONTROLLER)))
+                        .isEqualTo(PREF_CONTROLLER);
+                assertThat(cursor.getInt(cursor.getColumnIndex(IndexColumns.SLICE_TYPE)))
+                        .isEqualTo(SLICE_TYPE);
+                assertThat(cursor.getString(
+                        cursor.getColumnIndex(IndexColumns.UNAVAILABLE_SLICE_SUBTITLE)))
+                        .isEqualTo(UNAVAILABLE_SLICE_SUBTITLE);
+                assertThat(cursor.getInt(
+                        cursor.getColumnIndex(IndexColumns.PUBLIC_SLICE))).isEqualTo(1);
                 cursor.moveToNext();
             }
         } finally {
@@ -166,7 +209,7 @@
         db.close();
     }
 
-    private List<SliceData> getDummyIndexableData() {
+    private List<SliceData> getDummyIndexableData(boolean isPublicSlice) {
         final List<SliceData> sliceData = new ArrayList<>();
         final SliceData.Builder builder = new SliceData.Builder()
                 .setSummary(SUMMARY)
@@ -176,10 +219,13 @@
                 .setIcon(ICON)
                 .setUri(URI)
                 .setPreferenceControllerClassName(PREF_CONTROLLER)
-                .setPlatformDefined(PLATFORM_DEFINED)
                 .setSliceType(SLICE_TYPE)
                 .setUnavailableSliceSubtitle(UNAVAILABLE_SLICE_SUBTITLE);
 
+        if (isPublicSlice) {
+            builder.setIsPublicSlice(true);
+        }
+
         for (int i = 0; i < KEYS.length; i++) {
             builder.setKey(KEYS[i]).setTitle(TITLES[i]);
             sliceData.add(builder.build());
diff --git a/tests/robotests/src/com/android/settings/sound/AudioOutputSwitchPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/sound/AudioOutputSwitchPreferenceControllerTest.java
index 5b7c863..9c91602 100644
--- a/tests/robotests/src/com/android/settings/sound/AudioOutputSwitchPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/sound/AudioOutputSwitchPreferenceControllerTest.java
@@ -16,7 +16,6 @@
 
 package com.android.settings.sound;
 
-import static android.media.AudioSystem.DEVICE_OUT_ALL_SCO;
 import static android.media.AudioSystem.DEVICE_OUT_BLUETOOTH_SCO_HEADSET;
 import static android.media.AudioSystem.STREAM_MUSIC;
 
@@ -45,7 +44,6 @@
 import androidx.preference.PreferenceManager;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.R;
 import com.android.settings.bluetooth.Utils;
 import com.android.settings.core.FeatureFlags;
 import com.android.settings.testutils.shadow.ShadowAudioManager;
@@ -66,7 +64,6 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
-import org.robolectric.Shadows;
 import org.robolectric.annotation.Config;
 import org.robolectric.shadow.api.Shadow;
 import org.robolectric.shadows.ShadowBluetoothDevice;
@@ -246,7 +243,8 @@
     public void isStreamFromOutputDevice_outputDeviceIsBtScoHeadset_shouldReturnTrue() {
         mShadowAudioManager.setOutputDevice(DEVICE_OUT_BLUETOOTH_SCO_HEADSET);
 
-        assertThat(mController.isStreamFromOutputDevice(STREAM_MUSIC, DEVICE_OUT_ALL_SCO)).isTrue();
+        assertThat(mController.isStreamFromOutputDevice(
+                STREAM_MUSIC, DEVICE_OUT_BLUETOOTH_SCO_HEADSET)).isTrue();
     }
 
     /**
@@ -407,4 +405,4 @@
             return TEST_KEY;
         }
     }
-}
\ No newline at end of file
+}
diff --git a/tests/robotests/src/com/android/settings/sound/HandsFreeProfileOutputPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/sound/HandsFreeProfileOutputPreferenceControllerTest.java
index 0eada60..fec70dc 100644
--- a/tests/robotests/src/com/android/settings/sound/HandsFreeProfileOutputPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/sound/HandsFreeProfileOutputPreferenceControllerTest.java
@@ -51,6 +51,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.Mock;
@@ -243,6 +244,7 @@
      * Preference summary should be the activated device name
      */
     @Test
+    @Ignore
     public void updateState_oneHeadsetsAvailableAndActivated_shouldSetDeviceName() {
         mAudioManager.setMode(AudioManager.MODE_IN_COMMUNICATION);
         mShadowAudioManager.setOutputDevice(DEVICE_OUT_BLUETOOTH_SCO);
@@ -264,6 +266,7 @@
      * Preference summary should be the activated device name
      */
     @Test
+    @Ignore
     public void updateState_moreThanOneHfpBtDevicesAreAvailable_shouldSetActivatedDeviceName() {
         mAudioManager.setMode(AudioManager.MODE_IN_COMMUNICATION);
         mShadowAudioManager.setOutputDevice(DEVICE_OUT_BLUETOOTH_SCO);
@@ -324,6 +327,7 @@
      * Preference summary should be the activated device name
      */
     @Test
+    @Ignore
     public void updateState_oneHapBtDeviceAreAvailable_shouldSetActivatedDeviceName() {
         mAudioManager.setMode(AudioManager.MODE_IN_COMMUNICATION);
         mShadowAudioManager.setOutputDevice(DEVICE_OUT_HEARING_AID);
@@ -348,6 +352,7 @@
      * Preference summary should be the activated device name
      */
     @Test
+    @Ignore
     public void updateState_moreThanOneHapBtDevicesAreAvailable_shouldSetActivatedDeviceName() {
         mAudioManager.setMode(AudioManager.MODE_IN_COMMUNICATION);
         mShadowAudioManager.setOutputDevice(DEVICE_OUT_HEARING_AID);
@@ -376,6 +381,7 @@
      * ConnectedDevice should not contain second HAP device with same HisyncId
      */
     @Test
+    @Ignore
     public void updateState_hapBtDeviceWithSameId_shouldSetActivatedDeviceName() {
         mAudioManager.setMode(AudioManager.MODE_IN_COMMUNICATION);
         mShadowAudioManager.setOutputDevice(DEVICE_OUT_HEARING_AID);
@@ -409,6 +415,7 @@
      * ConnectedDevice should not contain second HAP device with same HisyncId
      */
     @Test
+    @Ignore
     public void updateState_hapBtDeviceWithSameIdButDifferentOrder_shouldSetActivatedDeviceName() {
         mAudioManager.setMode(AudioManager.MODE_IN_COMMUNICATION);
         mShadowAudioManager.setOutputDevice(DEVICE_OUT_HEARING_AID);
@@ -441,6 +448,7 @@
      * ConnectedDevice should contain both HAP device with different HisyncId
      */
     @Test
+    @Ignore
     public void updateState_hapBtDeviceWithDifferentId_shouldSetActivatedDeviceName() {
         mAudioManager.setMode(AudioManager.MODE_IN_COMMUNICATION);
         mShadowAudioManager.setOutputDevice(DEVICE_OUT_HEARING_AID);
@@ -485,6 +493,7 @@
      * Preference summary should be device name.
      */
     @Test
+    @Ignore
     public void onPreferenceChange_toBtDevice_shouldSetBtDeviceName() {
         mController.mConnectedDevices.clear();
         mController.mConnectedDevices.add(mBluetoothDevice);
@@ -499,6 +508,7 @@
      * Preference summary should be second device name.
      */
     @Test
+    @Ignore
     public void onPreferenceChange_toBtDevices_shouldSetSecondBtDeviceName() {
         ShadowBluetoothDevice shadowBluetoothDevice;
         BluetoothDevice secondBluetoothDevice;
diff --git a/tests/robotests/src/com/android/settings/sound/MediaOutputPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/sound/MediaOutputPreferenceControllerTest.java
index 51264c1..1a088c4 100644
--- a/tests/robotests/src/com/android/settings/sound/MediaOutputPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/sound/MediaOutputPreferenceControllerTest.java
@@ -19,7 +19,6 @@
 import static android.media.AudioSystem.DEVICE_OUT_BLUETOOTH_A2DP;
 import static android.media.AudioSystem.DEVICE_OUT_EARPIECE;
 import static android.media.AudioSystem.DEVICE_OUT_HEARING_AID;
-import static android.media.AudioSystem.DEVICE_OUT_REMOTE_SUBMIX;
 
 import static com.google.common.truth.Truth.assertThat;
 
@@ -53,6 +52,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;
@@ -232,6 +232,7 @@
      * Preference summary should be device's name
      */
     @Test
+    @Ignore
     public void updateState_withActiveBtDevice_setActivatedDeviceName() {
         mShadowAudioManager.setOutputDevice(DEVICE_OUT_BLUETOOTH_A2DP);
         mAudioManager.setMode(AudioManager.MODE_NORMAL);
@@ -275,6 +276,7 @@
      * Preference summary should be device's name
      */
     @Test
+    @Ignore
     public void updateState_withActiveHADevice_setActivatedDeviceName() {
         mShadowAudioManager.setOutputDevice(DEVICE_OUT_HEARING_AID);
         mAudioManager.setMode(AudioManager.MODE_NORMAL);
diff --git a/tests/robotests/src/com/android/settings/sound/VibrateForCallsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/sound/VibrateForCallsPreferenceControllerTest.java
new file mode 100644
index 0000000..bf2b0f3
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/sound/VibrateForCallsPreferenceControllerTest.java
@@ -0,0 +1,120 @@
+/*
+ * 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.sound;
+
+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.spy;
+import static org.mockito.Mockito.when;
+
+import android.content.ContentResolver;
+import android.content.Context;
+import android.provider.DeviceConfig;
+import android.provider.Settings;
+import android.telephony.TelephonyManager;
+
+import com.android.settings.R;
+import com.android.settings.testutils.shadow.ShadowDeviceConfig;
+
+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 org.robolectric.annotation.Config;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(shadows = {ShadowDeviceConfig.class})
+public class VibrateForCallsPreferenceControllerTest {
+
+    private static final int OFF = 0;
+    private static final int ON = 1;
+    private Context mContext;
+    private ContentResolver mContentResolver;
+    @Mock
+    private TelephonyManager mTelephonyManager;
+    private VibrateForCallsPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mContext = spy(RuntimeEnvironment.application);
+        mContentResolver = mContext.getContentResolver();
+        when(mContext.getSystemService(Context.TELEPHONY_SERVICE)).thenReturn(mTelephonyManager);
+        mController = new VibrateForCallsPreferenceController(
+            mContext, VibrateForCallsPreferenceController.RAMPING_RINGER_ENABLED);
+    }
+
+    @Test
+    public void getAvailabilityStatus_notVoiceCapable_returnUnsupportedOnDevice() {
+        when(mTelephonyManager.isVoiceCapable()).thenReturn(false);
+        DeviceConfig.setProperty(DeviceConfig.NAMESPACE_TELEPHONY,
+                VibrateForCallsPreferenceController.RAMPING_RINGER_ENABLED, "false", false);
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(UNSUPPORTED_ON_DEVICE);
+    }
+
+    @Test
+    public void getAvailabilityStatus_rampingRingerEnabled_returnUnsupportedOnDevice() {
+        when(mTelephonyManager.isVoiceCapable()).thenReturn(true);
+        DeviceConfig.setProperty(DeviceConfig.NAMESPACE_TELEPHONY,
+                VibrateForCallsPreferenceController.RAMPING_RINGER_ENABLED, "true", false);
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(UNSUPPORTED_ON_DEVICE);
+    }
+
+    @Test
+    public void getAvailabilityStatus_voiceCapableAndRampingRingerDisabled_returnAvailable() {
+        when(mTelephonyManager.isVoiceCapable()).thenReturn(true);
+        DeviceConfig.setProperty(DeviceConfig.NAMESPACE_TELEPHONY,
+                VibrateForCallsPreferenceController.RAMPING_RINGER_ENABLED, "false", false);
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
+    }
+
+    @Test
+    public void getSummary_applyRampingRinger_rampingRingerSummary() {
+        Settings.System.putInt(mContentResolver, Settings.System.VIBRATE_WHEN_RINGING, OFF);
+        Settings.Global.putInt(mContentResolver, Settings.Global.APPLY_RAMPING_RINGER, ON);
+
+        assertThat(mController.getSummary()).isEqualTo(
+                mContext.getText(R.string.vibrate_when_ringing_option_ramping_ringer));
+    }
+
+    @Test
+    public void getSummary_enableVibrateWhenRinging_alwaysVibrateSummary() {
+        Settings.System.putInt(mContentResolver, Settings.System.VIBRATE_WHEN_RINGING, ON);
+        Settings.Global.putInt(mContentResolver, Settings.Global.APPLY_RAMPING_RINGER, OFF);
+
+        assertThat(mController.getSummary()).isEqualTo(
+                mContext.getText(R.string.vibrate_when_ringing_option_always_vibrate));
+    }
+
+    @Test
+    public void getSummary_notApplyRampingRingerDisableVibrateWhenRinging_neverVibrateSummary() {
+        Settings.System.putInt(mContentResolver, Settings.System.VIBRATE_WHEN_RINGING, OFF);
+        Settings.Global.putInt(mContentResolver, Settings.Global.APPLY_RAMPING_RINGER, OFF);
+
+        assertThat(mController.getSummary()).isEqualTo(
+                mContext.getText(R.string.vibrate_when_ringing_option_never_vibrate));
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/sound/VibrateForCallsPreferenceFragmentTest.java b/tests/robotests/src/com/android/settings/sound/VibrateForCallsPreferenceFragmentTest.java
new file mode 100644
index 0000000..0a766d6
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/sound/VibrateForCallsPreferenceFragmentTest.java
@@ -0,0 +1,108 @@
+/*
+ * 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.sound;
+
+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.provider.Settings;
+
+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 VibrateForCallsPreferenceFragmentTest {
+
+    private static final int OFF = 0;
+    private static final int ON = 1;
+    private Context mContext;
+    private ContentResolver mContentResolver;
+    private VibrateForCallsPreferenceFragment mFragment;
+
+    @Before
+    public void setUp() {
+        mContext = spy(RuntimeEnvironment.application);
+        mContentResolver = mContext.getContentResolver();
+        mFragment = spy(new VibrateForCallsPreferenceFragment());
+        doReturn(mContext).when(mFragment).getContext();
+        mFragment.onAttach(mContext);
+    }
+
+    @Test
+    public void getDefaultKey_applyRampingRinger_keyRampingRinger() {
+        Settings.System.putInt(mContentResolver, Settings.System.VIBRATE_WHEN_RINGING, OFF);
+        Settings.Global.putInt(mContentResolver, Settings.Global.APPLY_RAMPING_RINGER, ON);
+
+        assertThat(mFragment.getDefaultKey()).isEqualTo(
+                VibrateForCallsPreferenceFragment.KEY_RAMPING_RINGER);
+    }
+
+    @Test
+    public void getDefaultKey_enableVibrateWhenRinging_keyAlwaysVibrate() {
+        Settings.System.putInt(mContentResolver, Settings.System.VIBRATE_WHEN_RINGING, ON);
+        Settings.Global.putInt(mContentResolver, Settings.Global.APPLY_RAMPING_RINGER, OFF);
+
+        assertThat(mFragment.getDefaultKey()).isEqualTo(
+                VibrateForCallsPreferenceFragment.KEY_ALWAYS_VIBRATE);
+    }
+
+    @Test
+    public void getDefaultKey_notApplyRampingRingerDisableVibrateWhenRinging_keyNeverVibrate() {
+        Settings.System.putInt(mContentResolver, Settings.System.VIBRATE_WHEN_RINGING, OFF);
+        Settings.Global.putInt(mContentResolver, Settings.Global.APPLY_RAMPING_RINGER, OFF);
+
+        assertThat(mFragment.getDefaultKey()).isEqualTo(
+                VibrateForCallsPreferenceFragment.KEY_NEVER_VIBRATE);
+    }
+
+    @Test
+    public void setDefaultKey_keyRampingRinger_applyRampingRingerDisableVibrateWhenRinging() {
+        mFragment.setDefaultKey(VibrateForCallsPreferenceFragment.KEY_RAMPING_RINGER);
+
+        assertThat(Settings.Global.getInt(
+            mContentResolver, Settings.Global.APPLY_RAMPING_RINGER, OFF)).isEqualTo(ON);
+        assertThat(Settings.System.getInt(
+            mContentResolver, Settings.System.VIBRATE_WHEN_RINGING, OFF)).isEqualTo(OFF);
+    }
+
+    @Test
+    public void setDefaultKey_keyAlwaysVibrate_notApplyRampingRingerEnableVibrateWhenRinging() {
+        mFragment.setDefaultKey(VibrateForCallsPreferenceFragment.KEY_ALWAYS_VIBRATE);
+
+        assertThat(Settings.Global.getInt(
+            mContentResolver, Settings.Global.APPLY_RAMPING_RINGER, OFF)).isEqualTo(OFF);
+        assertThat(Settings.System.getInt(
+            mContentResolver, Settings.System.VIBRATE_WHEN_RINGING, OFF)).isEqualTo(ON);
+    }
+
+    @Test
+    public void setDefaultKey_keyNeverVibrate_notApplyRampingRingerDisableVibrateWhenRinging() {
+        mFragment.setDefaultKey(VibrateForCallsPreferenceFragment.KEY_NEVER_VIBRATE);
+
+        assertThat(Settings.Global.getInt(
+            mContentResolver, Settings.Global.APPLY_RAMPING_RINGER, OFF)).isEqualTo(OFF);
+        assertThat(Settings.System.getInt(
+            mContentResolver, Settings.System.VIBRATE_WHEN_RINGING, OFF)).isEqualTo(OFF);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/suggestions/SettingsSuggestionsTest.java b/tests/robotests/src/com/android/settings/suggestions/SettingsSuggestionsTest.java
index 0c4ad7c..d686f50 100644
--- a/tests/robotests/src/com/android/settings/suggestions/SettingsSuggestionsTest.java
+++ b/tests/robotests/src/com/android/settings/suggestions/SettingsSuggestionsTest.java
@@ -29,7 +29,7 @@
 import com.android.settings.Settings;
 import com.android.settings.biometrics.fingerprint.FingerprintEnrollSuggestionActivity;
 import com.android.settings.biometrics.fingerprint.FingerprintSuggestionActivity;
-import com.android.settings.notification.ZenSuggestionActivity;
+import com.android.settings.notification.zen.ZenSuggestionActivity;
 import com.android.settings.wallpaper.WallpaperSuggestionActivity;
 import com.android.settings.wifi.calling.WifiCallingSuggestionActivity;
 
diff --git a/tests/robotests/src/com/android/settings/support/SupportDashboardActivityTest.java b/tests/robotests/src/com/android/settings/support/SupportDashboardActivityTest.java
index dabe9ca..8a7d1b5 100644
--- a/tests/robotests/src/com/android/settings/support/SupportDashboardActivityTest.java
+++ b/tests/robotests/src/com/android/settings/support/SupportDashboardActivityTest.java
@@ -24,7 +24,7 @@
 import android.content.pm.ResolveInfo;
 
 import com.android.settings.R;
-import com.android.settings.search.SearchIndexableRaw;
+import com.android.settingslib.search.SearchIndexableRaw;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/robotests/src/com/android/settings/system/FactoryResetPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/system/FactoryResetPreferenceControllerTest.java
index d251480..f2a932e 100644
--- a/tests/robotests/src/com/android/settings/system/FactoryResetPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/system/FactoryResetPreferenceControllerTest.java
@@ -18,6 +18,8 @@
 import static com.google.common.truth.Truth.assertThat;
 
 import android.content.Context;
+import android.content.pm.UserInfo;
+import android.os.UserHandle;
 import android.provider.Settings;
 
 import com.android.settings.testutils.shadow.ShadowUserManager;
@@ -81,7 +83,7 @@
         Settings.Global.putInt(mContext.getContentResolver(), Settings.Global.DEVICE_DEMO_MODE, 1);
 
         // Indicate the user is a demo user.
-        mShadowUserManager.setIsDemoUser(true);
+        mShadowUserManager.addUser(UserHandle.myUserId(), "test", UserInfo.FLAG_DEMO);
 
         assertThat(mController.isAvailable()).isTrue();
     }
diff --git a/tests/robotests/src/com/android/settings/system/ResetPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/system/ResetPreferenceControllerTest.java
index 1aca4db..0d34a76 100644
--- a/tests/robotests/src/com/android/settings/system/ResetPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/system/ResetPreferenceControllerTest.java
@@ -18,28 +18,35 @@
 import static com.google.common.truth.Truth.assertThat;
 
 import android.content.Context;
+import android.content.pm.UserInfo;
+import android.os.UserHandle;
+import android.provider.Settings;
+
+import com.android.settings.R;
+import com.android.settings.testutils.shadow.ShadowUserManager;
 
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = ShadowUserManager.class)
 public class ResetPreferenceControllerTest {
 
     private static final String KEY_RESET_DASHBOARD = "reset_dashboard";
+    private ShadowUserManager mShadowUserManager;
 
     private Context mContext;
     private ResetPreferenceController mController;
 
     @Before
     public void setUp() {
-        MockitoAnnotations.initMocks(this);
         mContext = RuntimeEnvironment.application;
         mController = new ResetPreferenceController(mContext, KEY_RESET_DASHBOARD);
+        mShadowUserManager = ShadowUserManager.getShadow();
     }
 
     @Test
@@ -52,4 +59,35 @@
     public void isAvailable_ifNotVisible_false() {
         assertThat(mController.isAvailable()).isFalse();
     }
+
+    @Test
+    public void getSummary_systemUser_shouldReturnFullSummary() {
+        mShadowUserManager.setIsAdminUser(true);
+
+        assertThat(mController.getSummary()).isEqualTo(
+                mContext.getString(R.string.reset_dashboard_summary));
+    }
+
+    @Test
+    public void getSummary_nonSystemUser_shouldReturnAppsSummary() {
+        mShadowUserManager.setIsAdminUser(false);
+        mShadowUserManager.setIsDemoUser(false);
+
+        assertThat(mController.getSummary()).isEqualTo(
+                mContext.getString(R.string.reset_dashboard_summary_onlyApps));
+    }
+
+    @Test
+    public void getSummary_demoUser_shouldReturnFullSummary() {
+        mShadowUserManager.setIsAdminUser(false);
+
+        // Place the device in demo mode.
+        Settings.Global.putInt(mContext.getContentResolver(), Settings.Global.DEVICE_DEMO_MODE, 1);
+
+        // Indicate the user is a demo user.
+        mShadowUserManager.addUser(UserHandle.myUserId(), "test", UserInfo.FLAG_DEMO);
+
+        assertThat(mController.getSummary()).isEqualTo(
+                mContext.getString(R.string.reset_dashboard_summary));
+    }
 }
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/system/SystemUpdatePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/system/SystemUpdatePreferenceControllerTest.java
index fbd87c9..95c95bb 100644
--- a/tests/robotests/src/com/android/settings/system/SystemUpdatePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/system/SystemUpdatePreferenceControllerTest.java
@@ -139,7 +139,7 @@
 
         assertThat(mPreference.getSummary())
                 .isEqualTo(mContext.getString(R.string.android_version_summary,
-                        Build.VERSION.RELEASE));
+                        Build.VERSION.RELEASE_OR_CODENAME));
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/testutils/FakeFeatureFactory.java b/tests/robotests/src/com/android/settings/testutils/FakeFeatureFactory.java
index 220209c..b6c4fb7 100644
--- a/tests/robotests/src/com/android/settings/testutils/FakeFeatureFactory.java
+++ b/tests/robotests/src/com/android/settings/testutils/FakeFeatureFactory.java
@@ -66,7 +66,6 @@
     public final UserFeatureProvider userFeatureProvider;
     public final AssistGestureFeatureProvider assistGestureFeatureProvider;
     public final AccountFeatureProvider mAccountFeatureProvider;
-    public final ContextualCardFeatureProvider mContextualCardFeatureProvider;
     public final BluetoothFeatureProvider mBluetoothFeatureProvider;
     public final AwareFeatureProvider mAwareFeatureProvider;
     public final FaceFeatureProvider mFaceFeatureProvider;
@@ -74,6 +73,7 @@
     public PanelFeatureProvider panelFeatureProvider;
     public SlicesFeatureProvider slicesFeatureProvider;
     public SearchFeatureProvider searchFeatureProvider;
+    public ContextualCardFeatureProvider mContextualCardFeatureProvider;
 
     /**
      * Call this in {@code @Before} method of the test class to use fake factory.
diff --git a/tests/robotests/src/com/android/settings/testutils/FakeIndexProvider.java b/tests/robotests/src/com/android/settings/testutils/FakeIndexProvider.java
index dce039a..c961559 100644
--- a/tests/robotests/src/com/android/settings/testutils/FakeIndexProvider.java
+++ b/tests/robotests/src/com/android/settings/testutils/FakeIndexProvider.java
@@ -18,30 +18,19 @@
 package com.android.settings.testutils;
 
 import android.content.Context;
-import android.provider.SearchIndexableResource;
 
 import com.android.settings.R;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.Indexable;
+import com.android.settingslib.search.Indexable;
 
-import java.util.ArrayList;
 import java.util.List;
 
 public class FakeIndexProvider implements Indexable {
 
     public static final String KEY = "TestKey";
 
-    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
-                        boolean enabled) {
-                    List<SearchIndexableResource> resources = new ArrayList<>();
-                    SearchIndexableResource res = new SearchIndexableResource(context);
-                    res.xmlResId = R.xml.location_settings;
-                    resources.add(res);
-                    return resources;
-                }
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.location_settings) {
 
                 @Override
                 public List<String> getNonIndexableKeys(Context context) {
diff --git a/tests/robotests/src/com/android/settings/testutils/FakeToggleController.java b/tests/robotests/src/com/android/settings/testutils/FakeToggleController.java
index e785487..8bceb13 100644
--- a/tests/robotests/src/com/android/settings/testutils/FakeToggleController.java
+++ b/tests/robotests/src/com/android/settings/testutils/FakeToggleController.java
@@ -49,7 +49,7 @@
     @Override
     public boolean isChecked() {
         return Settings.System.getInt(mContext.getContentResolver(),
-            SETTING_KEY, OFF) == ON;
+                SETTING_KEY, OFF) == ON;
     }
 
     @Override
@@ -103,7 +103,7 @@
         }
 
         @Override
-        public void close() throws IOException {
+        public void close() {
         }
     }
 }
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowAuthenticationHelper.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowAuthenticationHelper.java
new file mode 100644
index 0000000..cb7da56
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowAuthenticationHelper.java
@@ -0,0 +1,80 @@
+/*
+ * 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.testutils.shadow;
+
+import android.content.Context;
+import android.graphics.drawable.Drawable;
+import android.os.UserHandle;
+import android.text.TextUtils;
+
+import com.android.settingslib.accounts.AuthenticatorHelper;
+
+import org.robolectric.annotation.Implementation;
+import org.robolectric.annotation.Implements;
+import org.robolectric.annotation.Resetter;
+
+@Implements(AuthenticatorHelper.class)
+public class ShadowAuthenticationHelper {
+    static final String[] TYPES = {"type1", "type2", "type3", "type4"};
+    static final String[] LABELS = {"LABEL1", "LABEL2", "LABEL3", "LABEL4"};
+    private static String[] sEnabledAccount = TYPES;
+
+    protected void __constructor__(Context context, UserHandle userHandle,
+            AuthenticatorHelper.OnAccountsUpdateListener listener) {
+    }
+
+    public static void setEnabledAccount(String[] enabledAccount) {
+        sEnabledAccount = enabledAccount;
+    }
+
+    @Resetter
+    public static void reset() {
+        sEnabledAccount = TYPES;
+    }
+
+    @Implementation
+    protected String[] getEnabledAccountTypes() {
+        return sEnabledAccount;
+    }
+
+    @Implementation
+    protected CharSequence getLabelForType(Context context, final String accountType) {
+        if (TextUtils.equals(accountType, TYPES[0])) {
+            return LABELS[0];
+        } else if (TextUtils.equals(accountType, TYPES[1])) {
+            return LABELS[1];
+        } else if (TextUtils.equals(accountType, TYPES[2])) {
+            return LABELS[2];
+        } else if (TextUtils.equals(accountType, TYPES[3])) {
+            return LABELS[3];
+        }
+        return null;
+    }
+
+    @Implementation
+    protected Drawable getDrawableForType(Context context, final String accountType) {
+        return context.getPackageManager().getDefaultActivityIcon();
+    }
+
+    public static String[] getTypes() {
+        return TYPES;
+    }
+
+    public static String[] getLabels() {
+        return LABELS;
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowDeviceInfoUtils.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowDeviceInfoUtils.java
new file mode 100644
index 0000000..f51cfe3
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowDeviceInfoUtils.java
@@ -0,0 +1,43 @@
+/*
+ * 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.testutils.shadow;
+
+import android.content.Context;
+import android.telephony.SubscriptionInfo;
+
+import org.robolectric.annotation.Implementation;
+import org.robolectric.annotation.Implements;
+import org.robolectric.annotation.Resetter;
+
+@Implements(com.android.settingslib.DeviceInfoUtils.class)
+public class ShadowDeviceInfoUtils {
+    private static String sPhoneNumber;
+
+    @Resetter
+    public static void reset() {
+        sPhoneNumber = "";
+    }
+
+    @Implementation
+    public static String getBidiFormattedPhoneNumber(Context context,
+            SubscriptionInfo subscriptionInfo) {
+        return sPhoneNumber;
+    }
+
+    public static void setPhoneNumber(String phoneNumber) {
+        sPhoneNumber = phoneNumber;
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowDevicePolicyManager.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowDevicePolicyManager.java
index ca75916..b8fdf89 100644
--- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowDevicePolicyManager.java
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowDevicePolicyManager.java
@@ -6,6 +6,8 @@
 import android.annotation.Nullable;
 import android.annotation.UserIdInt;
 import android.app.admin.DevicePolicyManager;
+import android.app.admin.PasswordMetrics;
+import android.app.admin.PasswordPolicy;
 import android.content.ComponentName;
 
 import org.robolectric.RuntimeEnvironment;
@@ -26,7 +28,6 @@
     private ComponentName mDeviceOwnerComponentName;
     private int mDeviceOwnerUserId = -1;
     private int mPasswordMinQuality = PASSWORD_QUALITY_UNSPECIFIED;
-    private int mPasswordMaxLength = 16;
     private int mPasswordMinLength = 0;
     private int mPasswordMinSymbols = 0;
 
@@ -77,41 +78,26 @@
     }
 
     @Implementation
-    public int getPasswordQuality(ComponentName admin, int userHandle) {
-        return mPasswordMinQuality;
+    public PasswordMetrics getPasswordMinimumMetrics(int userHandle) {
+        PasswordPolicy policy = new PasswordPolicy();
+        policy.quality = mPasswordMinQuality;
+        policy.length = mPasswordMinLength;
+        policy.symbols = mPasswordMinSymbols;
+        return policy.getMinMetrics();
     }
 
     public void setPasswordQuality(int quality) {
         mPasswordMinQuality = quality;
     }
 
-    @Implementation
-    public int getPasswordMinimumLength(ComponentName admin, int userHandle) {
-        return mPasswordMinLength;
-    }
-
     public void setPasswordMinimumLength(int length) {
         mPasswordMinLength = length;
     }
 
-    @Implementation
-    public int getPasswordMinimumSymbols(ComponentName admin, int userHandle) {
-        return mPasswordMinSymbols;
-    }
-
     public void setPasswordMinimumSymbols(int numOfSymbols) {
         mPasswordMinSymbols = numOfSymbols;
     }
 
-    @Implementation
-    public int getPasswordMaximumLength(int quality) {
-        return mPasswordMaxLength;
-    }
-
-    public void setPasswordMaximumLength(int length) {
-        mPasswordMaxLength = length;
-    }
-
     public static ShadowDevicePolicyManager getShadow() {
         return (ShadowDevicePolicyManager) Shadow.extract(
                 RuntimeEnvironment.application.getSystemService(DevicePolicyManager.class));
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowFragment.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowFragment.java
index a70d4d6..4c50e1a 100644
--- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowFragment.java
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowFragment.java
@@ -16,6 +16,8 @@
 
 package com.android.settings.testutils.shadow;
 
+import android.os.Bundle;
+
 import androidx.fragment.app.Fragment;
 
 import org.robolectric.annotation.Implementation;
@@ -27,6 +29,11 @@
     private Fragment mTargetFragment;
 
     @Implementation
+    public void onCreate(Bundle icicle) {
+        // do nothing
+    }
+
+    @Implementation
     protected void setTargetFragment(Fragment fragment, int requestCode) {
         mTargetFragment = fragment;
     }
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowInputMethodManagerWithMethodList.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowInputMethodManagerWithMethodList.java
index 9802247..4ebb9da 100644
--- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowInputMethodManagerWithMethodList.java
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowInputMethodManagerWithMethodList.java
@@ -35,6 +35,7 @@
 public class ShadowInputMethodManagerWithMethodList extends ShadowInputMethodManager {
 
     private List<InputMethodInfo> mInputMethodInfos = Collections.emptyList();
+    private List<InputMethodInfo> mEnabledInputMethodInfos = Collections.emptyList();
 
     @Implementation
     public static InputMethodManager getInstance() {
@@ -46,11 +47,26 @@
         return mInputMethodInfos;
     }
 
+    @Implementation
+    protected List<InputMethodInfo> getEnabledInputMethodList() {
+        return mEnabledInputMethodInfos;
+    }
+
+    @Implementation
+    protected List<InputMethodInfo> getEnabledInputMethodSubtypeList(InputMethodInfo imi,
+            boolean allowsImplicitlySelectedSubtypes) {
+        return Collections.emptyList();
+    }
+
     // Non-Android setter.
     public void setInputMethodList(List<InputMethodInfo> inputMethodInfos) {
         mInputMethodInfos = inputMethodInfos;
     }
 
+    public void setEnabledInputMethodList(List<InputMethodInfo> inputMethodInfos) {
+        mEnabledInputMethodInfos = inputMethodInfos;
+    }
+
     public static ShadowInputMethodManagerWithMethodList getShadow() {
         return (ShadowInputMethodManagerWithMethodList) Shadow.extract(
                 RuntimeEnvironment.application.getSystemService(InputMethodManager.class));
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowKeyCharacterMap.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowKeyCharacterMap.java
new file mode 100644
index 0000000..59c05ff
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowKeyCharacterMap.java
@@ -0,0 +1,41 @@
+/*
+ * 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.testutils.shadow;
+
+import android.view.KeyCharacterMap;
+
+import org.robolectric.annotation.Implementation;
+import org.robolectric.annotation.Implements;
+
+@Implements(KeyCharacterMap.class)
+public class ShadowKeyCharacterMap extends org.robolectric.shadows.ShadowKeyCharacterMap{
+
+    private static boolean sIsDeviceHasKey;
+
+    public static void reset() {
+        sIsDeviceHasKey = false;
+    }
+
+    public static void setDevicehasKey(boolean isDeviceHasKey) {
+        sIsDeviceHasKey = isDeviceHasKey;
+    }
+
+    @Implementation
+    protected static boolean deviceHasKey(int keyCode) {
+        return sIsDeviceHasKey;
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowLockPatternUtils.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowLockPatternUtils.java
index e9be346..38756ac 100644
--- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowLockPatternUtils.java
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowLockPatternUtils.java
@@ -20,6 +20,7 @@
 import android.content.ComponentName;
 
 import com.android.internal.widget.LockPatternUtils;
+import com.android.internal.widget.LockscreenCredential;
 
 import org.robolectric.annotation.Implementation;
 import org.robolectric.annotation.Implements;
@@ -66,7 +67,8 @@
     }
 
     @Implementation
-    protected byte[] getPasswordHistoryHashFactor(byte[] currentPassword, int userId) {
+    protected byte[] getPasswordHistoryHashFactor(LockscreenCredential currentPassword,
+            int userId) {
         return null;
     }
 
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowNotificationBackend.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowNotificationBackend.java
new file mode 100644
index 0000000..4e6cbde
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowNotificationBackend.java
@@ -0,0 +1,37 @@
+/*
+ * 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.testutils.shadow;
+
+import com.android.settings.notification.NotificationBackend;
+
+import org.robolectric.annotation.Implementation;
+import org.robolectric.annotation.Implements;
+
+@Implements(NotificationBackend.class)
+public class ShadowNotificationBackend {
+
+    private static int sBlockAppCount;
+
+    @Implementation
+    protected int getBlockedAppCount() {
+        return sBlockAppCount;
+    }
+
+    public static void setBlockedAppCount(int blockAppCount) {
+        sBlockAppCount = blockAppCount;
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowPrivateStorageInfo.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowPrivateStorageInfo.java
new file mode 100644
index 0000000..1baf3cb
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowPrivateStorageInfo.java
@@ -0,0 +1,46 @@
+/*
+ * 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.testutils.shadow;
+
+import com.android.settingslib.deviceinfo.PrivateStorageInfo;
+import com.android.settingslib.deviceinfo.StorageVolumeProvider;
+
+import org.robolectric.annotation.Implementation;
+import org.robolectric.annotation.Implements;
+import org.robolectric.annotation.Resetter;
+
+@Implements(PrivateStorageInfo.class)
+public class ShadowPrivateStorageInfo {
+
+    private static PrivateStorageInfo sPrivateStorageInfo = null;
+
+    @Resetter
+    public static void reset() {
+        sPrivateStorageInfo = null;
+    }
+
+    @Implementation
+    protected static PrivateStorageInfo getPrivateStorageInfo(
+            StorageVolumeProvider storageVolumeProvider) {
+        return sPrivateStorageInfo;
+    }
+
+    public static void setPrivateStorageInfo(
+            PrivateStorageInfo privateStorageInfo) {
+        sPrivateStorageInfo = privateStorageInfo;
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowRotationPolicy.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowRotationPolicy.java
index a99c80e..1f1e2be 100644
--- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowRotationPolicy.java
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowRotationPolicy.java
@@ -35,6 +35,11 @@
     }
 
     @Implementation
+    protected static void setRotationLockForAccessibility(Context context, final boolean enabled) {
+        rotationLockEnabled = enabled;
+    }
+
+    @Implementation
     protected static boolean isRotationLocked(Context context) {
         return rotationLockEnabled;
     }
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowSecureSettings.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowSecureSettings.java
index c3cdb69..f209942 100644
--- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowSecureSettings.java
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowSecureSettings.java
@@ -36,7 +36,7 @@
 
     @Implementation
     public static boolean putStringForUser(ContentResolver resolver, String name, String value,
-        String tag, boolean makeDefault, int userHandle) {
+        String tag, boolean makeDefault, int userHandle, boolean overrideableByRestore) {
         final Table<Integer, String, Object> userTable = getUserTable(resolver);
         synchronized (userTable) {
             if (value != null) {
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowSettingsLibUtils.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowSettingsLibUtils.java
new file mode 100644
index 0000000..2fce5ad
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowSettingsLibUtils.java
@@ -0,0 +1,36 @@
+/*
+ * 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.testutils.shadow;
+
+import android.content.Context;
+import android.content.pm.ApplicationInfo;
+import android.graphics.drawable.ColorDrawable;
+import android.graphics.drawable.Drawable;
+
+import com.android.settingslib.Utils;
+
+import org.robolectric.annotation.Implementation;
+import org.robolectric.annotation.Implements;
+
+@Implements(Utils.class)
+public class ShadowSettingsLibUtils {
+
+    @Implementation
+    protected static Drawable getBadgedIcon(Context context, ApplicationInfo appInfo) {
+        return new ColorDrawable(0);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowSettingsMediaPlayer.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowSettingsMediaPlayer.java
new file mode 100644
index 0000000..adb0d18
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowSettingsMediaPlayer.java
@@ -0,0 +1,51 @@
+/*
+ * 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.testutils.shadow;
+
+import static org.robolectric.shadows.ShadowMediaPlayer.State.INITIALIZED;
+
+import android.content.Context;
+import android.media.MediaPlayer;
+import android.net.Uri;
+
+import org.robolectric.annotation.Implementation;
+import org.robolectric.annotation.Implements;
+import org.robolectric.shadow.api.Shadow;
+import org.robolectric.shadows.ShadowMediaPlayer;
+import org.robolectric.shadows.util.DataSource;
+
+@Implements(MediaPlayer.class)
+public class ShadowSettingsMediaPlayer extends ShadowMediaPlayer {
+
+    @Implementation
+    public static MediaPlayer create(Context context, Uri uri) {
+        final DataSource ds = DataSource.toDataSource(context, uri);
+        addMediaInfo(ds, new ShadowMediaPlayer.MediaInfo());
+
+        final MediaPlayer mp = new MediaPlayer();
+        final ShadowMediaPlayer shadow = Shadow.extract(mp);
+        try {
+            shadow.setDataSource(ds);
+            shadow.setState(INITIALIZED);
+            mp.prepare();
+        } catch (Exception e) {
+            return null;
+        }
+
+        return mp;
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowThreadUtils.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowThreadUtils.java
index 285d88d..4f0767c 100644
--- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowThreadUtils.java
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowThreadUtils.java
@@ -26,6 +26,7 @@
 public class ShadowThreadUtils {
 
     private static boolean sIsMainThread = true;
+    private static final String TAG = "ShadowThreadUtils";
 
     @Resetter
     public static void reset() {
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowTileUtils.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowTileUtils.java
index 8736fe8..45a9dd6 100644
--- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowTileUtils.java
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowTileUtils.java
@@ -18,6 +18,8 @@
 
 import android.content.Context;
 import android.content.IContentProvider;
+import android.net.Uri;
+import android.os.Bundle;
 import android.util.Pair;
 
 import com.android.settings.R;
@@ -34,15 +36,43 @@
 
     public static final String MOCK_SUMMARY = "summary";
 
+    private static boolean sChecked;
+    private static Bundle sResult;
+
     @Implementation
-    protected static String getTextFromUri(Context context, String uriString,
+    protected static String getTextFromUri(Context context, Uri uri,
             Map<String, IContentProvider> providerMap, String key) {
         return MOCK_SUMMARY;
     }
 
     @Implementation
     protected static Pair<String, Integer> getIconFromUri(Context context, String packageName,
-            String uriString, Map<String, IContentProvider> providerMap) {
+            Uri uri, Map<String, IContentProvider> providerMap) {
         return Pair.create(RuntimeEnvironment.application.getPackageName(), R.drawable.ic_settings_accent);
     }
+
+    @Implementation
+    public static boolean getBooleanFromUri(Context context, Uri uri,
+            Map<String, IContentProvider> providerMap, String key) {
+        return sChecked;
+    }
+
+    @Implementation
+    public static Bundle putBooleanToUriAndGetResult(Context context, Uri uri,
+            Map<String, IContentProvider> providerMap, String key, boolean value) {
+        sChecked = value;
+        return sResult;
+    }
+
+    public static boolean getProviderChecked() {
+        return sChecked;
+    }
+
+    public static void setProviderChecked(boolean value) {
+        sChecked = value;
+    }
+
+    public static void setResultBundle(Bundle result) {
+        sResult = result;
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowTtsEngines.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowTtsEngines.java
new file mode 100644
index 0000000..e102e30
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowTtsEngines.java
@@ -0,0 +1,87 @@
+/*
+ * 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.testutils.shadow;
+
+import android.content.Intent;
+import android.speech.tts.TextToSpeech;
+import android.speech.tts.TtsEngines;
+
+import org.robolectric.annotation.Implementation;
+import org.robolectric.annotation.Implements;
+import org.robolectric.annotation.Resetter;
+
+import java.util.List;
+import java.util.Locale;
+
+@Implements(TtsEngines.class)
+public class ShadowTtsEngines {
+    private static TtsEngines sInstance;
+
+    public static void setInstance(TtsEngines ttsEngines) {
+        sInstance = ttsEngines;
+    }
+
+    @Resetter
+    public static void reset() {
+        sInstance = null;
+    }
+
+    @Implementation
+    protected List<TextToSpeech.EngineInfo> getEngines() {
+        return sInstance.getEngines();
+    }
+
+    @Implementation
+    protected TextToSpeech.EngineInfo getEngineInfo(String packageName) {
+        return sInstance.getEngineInfo(packageName);
+    }
+
+    @Implementation
+    protected String getDefaultEngine() {
+        return sInstance.getDefaultEngine();
+    }
+
+    @Implementation
+    protected Intent getSettingsIntent(String engine) {
+        return sInstance.getSettingsIntent(engine);
+    }
+
+    @Implementation
+    protected boolean isEngineInstalled(String engine) {
+        return sInstance.isEngineInstalled(engine);
+    }
+
+    @Implementation
+    protected boolean isLocaleSetToDefaultForEngine(String engineName) {
+        return sInstance.isLocaleSetToDefaultForEngine(engineName);
+    }
+
+    @Implementation
+    protected Locale getLocalePrefForEngine(String engineName) {
+        return sInstance.getLocalePrefForEngine(engineName);
+    }
+
+    @Implementation
+    protected synchronized void updateLocalePrefForEngine(String engineName, Locale newLocale) {
+        sInstance.updateLocalePrefForEngine(engineName, newLocale);
+    }
+
+    @Implementation
+    protected Locale parseLocaleString(String localeString) {
+        return sInstance.parseLocaleString(localeString);
+    }
+}
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowUserManager.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowUserManager.java
index a85fe10..659c5de 100644
--- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowUserManager.java
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowUserManager.java
@@ -27,8 +27,8 @@
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Implementation;
 import org.robolectric.annotation.Implements;
-import org.robolectric.shadow.api.Shadow;
 import org.robolectric.annotation.Resetter;
+import org.robolectric.shadow.api.Shadow;
 
 import java.util.ArrayList;
 import java.util.Collections;
@@ -132,6 +132,16 @@
         return mUserSwitchEnabled;
     }
 
+    @Implementation
+    protected boolean isManagedProfile(int userId) {
+        return mManagedProfiles.contains(userId);
+    }
+
+    public void setManagedProfiles(Set<Integer> profileIds) {
+        mManagedProfiles.clear();
+        mManagedProfiles.addAll(profileIds);
+    }
+
     public void setUserSwitcherEnabled(boolean userSwitchEnabled) {
         mUserSwitchEnabled = userSwitchEnabled;
     }
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowUtils.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowUtils.java
index f8644d9..eadd33a 100644
--- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowUtils.java
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowUtils.java
@@ -18,9 +18,14 @@
 
 import android.content.ComponentName;
 import android.content.Context;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.PackageManager;
+import android.graphics.drawable.ColorDrawable;
+import android.graphics.drawable.Drawable;
 import android.hardware.fingerprint.FingerprintManager;
 import android.os.UserHandle;
 import android.os.UserManager;
+import android.util.ArraySet;
 
 import com.android.settings.Utils;
 
@@ -39,6 +44,8 @@
     private static ComponentName sDeviceOwnerComponentName;
     private static Map<String, String> sAppNameMap;
     private static boolean sIsSystemAlertWindowEnabled;
+    private static boolean sIsVoiceCapable;
+    private static ArraySet<String> sResultLinks = new ArraySet<>();
 
     @Implementation
     protected static int enforceSameOwner(Context context, int userId) {
@@ -58,6 +65,8 @@
         sFingerprintManager = null;
         sIsUserAMonkey = false;
         sIsDemoUser = false;
+        sIsVoiceCapable = false;
+        sResultLinks = new ArraySet<>();
     }
 
     public static void setIsDemoUser(boolean isDemoUser) {
@@ -123,4 +132,27 @@
     public static void setIsSystemAlertWindowEnabled(boolean enabled) {
         sIsSystemAlertWindowEnabled = enabled;
     }
+
+    @Implementation
+    protected static boolean isVoiceCapable(Context context) {
+        return sIsVoiceCapable;
+    }
+
+    public static void setIsVoiceCapable(boolean isVoiceCapable) {
+        sIsVoiceCapable = isVoiceCapable;
+    }
+
+    @Implementation
+    protected static ArraySet<String> getHandledDomains(PackageManager pm, String packageName) {
+        return sResultLinks;
+    }
+
+    @Implementation
+    protected static Drawable getBadgedIcon(Context context, ApplicationInfo appInfo) {
+        return new ColorDrawable(0);
+    }
+
+    public static void setHandledDomains(ArraySet<String> links) {
+        sResultLinks = links;
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowWifiManager.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowWifiManager.java
index 30d4c21..80db53e 100644
--- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowWifiManager.java
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowWifiManager.java
@@ -18,6 +18,7 @@
 
 import static org.robolectric.RuntimeEnvironment.application;
 
+import android.net.wifi.SoftApConfiguration;
 import android.net.wifi.WifiConfiguration;
 import android.net.wifi.WifiManager;
 import android.net.wifi.hotspot2.PasspointConfiguration;
@@ -37,16 +38,16 @@
     private List<PasspointConfiguration> mPasspointConfiguration;
 
     public WifiConfiguration savedWifiConfig;
-    private WifiConfiguration mSavedApConfig;
+    private SoftApConfiguration mSavedApConfig;
 
     @Implementation
-    protected WifiConfiguration getWifiApConfiguration() {
+    protected SoftApConfiguration getSoftApConfiguration() {
         return mSavedApConfig;
     }
 
     @Implementation
-    protected boolean setWifiApConfiguration(WifiConfiguration wifiConfig) {
-        mSavedApConfig = wifiConfig;
+    protected boolean setSoftApConfiguration(SoftApConfiguration softApConfig) {
+        mSavedApConfig = softApConfig;
         return true;
     }
 
diff --git a/tests/robotests/src/com/android/settings/tts/TtsEnginePreferenceFragmentTest.java b/tests/robotests/src/com/android/settings/tts/TtsEnginePreferenceFragmentTest.java
new file mode 100644
index 0000000..00b8e86
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/tts/TtsEnginePreferenceFragmentTest.java
@@ -0,0 +1,129 @@
+/*
+ * 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.tts;
+
+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.verify;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.PackageManager;
+import android.content.pm.ResolveInfo;
+import android.content.pm.ServiceInfo;
+import android.os.Bundle;
+import android.speech.tts.TextToSpeech;
+import android.speech.tts.TtsEngines;
+
+import com.android.settings.testutils.shadow.ShadowTtsEngines;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
+import org.robolectric.shadow.api.Shadow;
+import org.robolectric.shadows.ShadowPackageManager;
+import org.robolectric.shadows.androidx.fragment.FragmentController;
+
+@RunWith(RobolectricTestRunner.class)
+public class TtsEnginePreferenceFragmentTest {
+
+    private Context mContext;
+    private TtsEnginePreferenceFragment mTtsEnginePreferenceFragment;
+
+    @Before
+    public void setUp() {
+        mContext = RuntimeEnvironment.application;
+
+        final ResolveInfo info = new ResolveInfo();
+        final ServiceInfo serviceInfo = spy(new ServiceInfo());
+        serviceInfo.packageName = mContext.getPackageName();
+        serviceInfo.name = mContext.getClass().getName();
+        info.serviceInfo = serviceInfo;
+        doReturn("title").when(serviceInfo).loadLabel(any(PackageManager.class));
+        doReturn(1).when(serviceInfo).getIconResource();
+
+        final ShadowPackageManager spm = Shadow.extract(mContext.getPackageManager());
+        spm.addResolveInfoForIntent(
+                new Intent(TextToSpeech.Engine.INTENT_ACTION_TTS_SERVICE), info);
+    }
+
+    @After
+    public void tearDown() {
+        ShadowTtsEngines.reset();
+    }
+
+    @Test
+    public void getCandidates_AddEngines_returnCorrectEngines() {
+        mTtsEnginePreferenceFragment = FragmentController.of(new TtsEnginePreferenceFragment(),
+                new Bundle())
+                .create()
+                .get();
+
+        assertThat(mTtsEnginePreferenceFragment.getCandidates().size()).isEqualTo(1);
+    }
+
+    @Test
+    @Config(shadows = {ShadowTtsEngines.class})
+    public void getDefaultKey_validKey_returnCorrectKey() {
+        final String TEST_ENGINE = "test_engine";
+        final TtsEngines engine = mock(TtsEngines.class);
+        ShadowTtsEngines.setInstance(engine);
+        mTtsEnginePreferenceFragment = FragmentController.of(new TtsEnginePreferenceFragment(),
+                new Bundle())
+                .create()
+                .get();
+        when(engine.getDefaultEngine()).thenReturn(TEST_ENGINE);
+
+        assertThat(mTtsEnginePreferenceFragment.getDefaultKey()).isEqualTo(TEST_ENGINE);
+    }
+
+    @Test
+    @Config(shadows = {ShadowTtsEngines.class})
+    public void setDefaultKey_validKey_callingTtsEngineFunction() {
+        final TtsEngines engine = mock(TtsEngines.class);
+        ShadowTtsEngines.setInstance(engine);
+        mTtsEnginePreferenceFragment = FragmentController.of(new TtsEnginePreferenceFragment(),
+                new Bundle())
+                .create()
+                .get();
+
+        mTtsEnginePreferenceFragment.setDefaultKey(mContext.getPackageName());
+
+        verify(engine).isEngineInstalled(mContext.getPackageName());
+    }
+
+    @Test
+    public void setDefaultKey_validKey_updateCheckedState() {
+        mTtsEnginePreferenceFragment = spy(FragmentController.of(new TtsEnginePreferenceFragment(),
+                new Bundle())
+                .create()
+                .get());
+
+        mTtsEnginePreferenceFragment.setDefaultKey(mContext.getPackageName());
+
+        verify(mTtsEnginePreferenceFragment).updateCheckedState(mContext.getPackageName());
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/tts/TtsEnginePreferenceTest.java b/tests/robotests/src/com/android/settings/tts/TtsEnginePreferenceTest.java
deleted file mode 100644
index 5cd9488..0000000
--- a/tests/robotests/src/com/android/settings/tts/TtsEnginePreferenceTest.java
+++ /dev/null
@@ -1,98 +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.tts;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import android.content.Context;
-import android.speech.tts.TextToSpeech;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.Checkable;
-
-import androidx.preference.PreferenceViewHolder;
-
-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 TtsEnginePreferenceTest {
-
-    private static final String KEY = "test_key";
-
-    private TtsEnginePreference mPreference;
-    private Context mContext;
-    private PreferenceViewHolder mViewHolder;
-    private View mRootView;
-    private FakeRadioButtonGroupState mState;
-
-    @Before
-    public void setUp() {
-        mContext = RuntimeEnvironment.application;
-
-        final TextToSpeech.EngineInfo info = new TextToSpeech.EngineInfo();
-        info.system = true;
-        mState = new FakeRadioButtonGroupState();
-        mPreference = new TtsEnginePreference(mContext, info, mState);
-        mPreference.setKey(KEY);
-
-        // Create preference view holder
-        final LayoutInflater inflater = LayoutInflater.from(mContext);
-        mRootView = View.inflate(mContext, mPreference.getLayoutResource(), null /* parent */);
-        final ViewGroup widgetFrame = mRootView.findViewById(android.R.id.widget_frame);
-        inflater.inflate(mPreference.getWidgetLayoutResource(), widgetFrame);
-        mViewHolder = PreferenceViewHolder.createInstanceForTests(mRootView);
-    }
-
-    @Test
-    public void onClick_shouldInvokeOnCheckedChangeListener() {
-        mPreference.onBindViewHolder(mViewHolder);
-
-        mPreference.onClick();
-
-        assertThat(mState.getCurrentKey()).isEqualTo(mPreference.getKey());
-    }
-
-    public static class FakeRadioButtonGroupState implements
-            TtsEnginePreference.RadioButtonGroupState {
-
-        private String mKey;
-
-        @Override
-        public Checkable getCurrentChecked() {
-            return null;
-        }
-
-        @Override
-        public String getCurrentKey() {
-            return mKey;
-        }
-
-        @Override
-        public void setCurrentChecked(Checkable current) {
-        }
-
-        @Override
-        public void setCurrentKey(String key) {
-            mKey = key;
-        }
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/users/AddUserWhenLockedPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/users/AddUserWhenLockedPreferenceControllerTest.java
index b27b636..7bfee10 100644
--- a/tests/robotests/src/com/android/settings/users/AddUserWhenLockedPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/users/AddUserWhenLockedPreferenceControllerTest.java
@@ -18,6 +18,7 @@
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.Answers.RETURNS_DEEP_STUBS;
+import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
@@ -27,6 +28,8 @@
 
 import androidx.preference.PreferenceScreen;
 
+import com.android.internal.widget.LockPatternUtils;
+import com.android.settings.core.BasePreferenceController;
 import com.android.settings.testutils.shadow.ShadowUserManager;
 import com.android.settingslib.RestrictedSwitchPreference;
 
@@ -39,6 +42,7 @@
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
+import org.robolectric.util.ReflectionHelpers;
 
 @RunWith(RobolectricTestRunner.class)
 @Config(shadows = {ShadowUserManager.class})
@@ -51,13 +55,16 @@
     private Context mContext;
     private ShadowUserManager mUserManager;
     private AddUserWhenLockedPreferenceController mController;
+    private LockPatternUtils mLockPatternUtils;
 
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
         mContext = RuntimeEnvironment.application;
+        mLockPatternUtils = mock(LockPatternUtils.class);
         mUserManager = ShadowUserManager.getShadow();
         mController = new AddUserWhenLockedPreferenceController(mContext, "fake_key");
+        ReflectionHelpers.setField(mController, "mLockPatternUtils", mLockPatternUtils);
         mUserManager.setSupportsMultipleUsers(true);
     }
 
@@ -69,6 +76,7 @@
     @Test
     public void displayPref_NotAdmin_shouldNotDisplay() {
         mUserManager.setIsAdminUser(false);
+        when(mLockPatternUtils.isSecure(anyInt())).thenReturn(true);
         final RestrictedSwitchPreference preference = mock(RestrictedSwitchPreference.class);
         when(preference.getKey()).thenReturn(mController.getPreferenceKey());
         when(mScreen.findPreference(preference.getKey())).thenReturn(preference);
@@ -81,6 +89,7 @@
     @Test
     public void updateState_NotAdmin_shouldNotDisplayPreference() {
         mUserManager.setIsAdminUser(false);
+        when(mLockPatternUtils.isSecure(anyInt())).thenReturn(true);
         final RestrictedSwitchPreference preference = mock(RestrictedSwitchPreference.class);
 
         mController.updateState(preference);
@@ -93,8 +102,10 @@
         mUserManager.setIsAdminUser(true);
         mUserManager.setUserSwitcherEnabled(true);
         mUserManager.setSupportsMultipleUsers(true);
+        when(mLockPatternUtils.isSecure(anyInt())).thenReturn(true);
         final AddUserWhenLockedPreferenceController controller =
                 new AddUserWhenLockedPreferenceController(mContext, "fake_key");
+        ReflectionHelpers.setField(controller, "mLockPatternUtils", mLockPatternUtils);
         final RestrictedSwitchPreference preference = mock(RestrictedSwitchPreference.class);
 
         controller.updateState(preference);
@@ -143,4 +154,40 @@
         assertThat(Global.getInt(mContext.getContentResolver(), Global.ADD_USERS_WHEN_LOCKED, 0))
                 .isEqualTo(0);
     }
+
+    @Test
+    public void updateState_insecureLockScreen_shouldNotDisplayPreference() {
+        mUserManager.setIsAdminUser(true);
+        mUserManager.setUserSwitcherEnabled(true);
+        mUserManager.setSupportsMultipleUsers(true);
+        when(mLockPatternUtils.isSecure(anyInt())).thenReturn(false);
+        final AddUserWhenLockedPreferenceController controller =
+                new AddUserWhenLockedPreferenceController(mContext, "fake_key");
+        ReflectionHelpers.setField(controller, "mLockPatternUtils", mLockPatternUtils);
+        final RestrictedSwitchPreference preference = mock(RestrictedSwitchPreference.class);
+
+        controller.updateState(preference);
+
+        verify(preference).setVisible(false);
+        assertThat(controller.getAvailabilityStatus()).isEqualTo(
+                BasePreferenceController.CONDITIONALLY_UNAVAILABLE);
+    }
+
+    @Test
+    public void updateState_secureLockScreen_shouldDisplayPreference() {
+        mUserManager.setIsAdminUser(true);
+        mUserManager.setUserSwitcherEnabled(true);
+        mUserManager.setSupportsMultipleUsers(true);
+        when(mLockPatternUtils.isSecure(anyInt())).thenReturn(true);
+        final AddUserWhenLockedPreferenceController controller =
+                new AddUserWhenLockedPreferenceController(mContext, "fake_key");
+        ReflectionHelpers.setField(controller, "mLockPatternUtils", mLockPatternUtils);
+        final RestrictedSwitchPreference preference = mock(RestrictedSwitchPreference.class);
+
+        controller.updateState(preference);
+
+        verify(preference).setVisible(true);
+        assertThat(controller.getAvailabilityStatus()).isEqualTo(
+                BasePreferenceController.AVAILABLE);
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/users/EditUserInfoControllerTest.java b/tests/robotests/src/com/android/settings/users/EditUserInfoControllerTest.java
index a6a76f8..1c191fa 100644
--- a/tests/robotests/src/com/android/settings/users/EditUserInfoControllerTest.java
+++ b/tests/robotests/src/com/android/settings/users/EditUserInfoControllerTest.java
@@ -18,13 +18,16 @@
 
 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.Intent;
 import android.graphics.drawable.Drawable;
 import android.widget.EditText;
@@ -37,9 +40,6 @@
 import com.android.settings.R;
 import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
 
-import java.util.stream.Collectors;
-import java.util.stream.Stream;
-
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -50,6 +50,9 @@
 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;
@@ -88,7 +91,8 @@
     @Test
     public void photoControllerOnActivityResult_whenWaiting_isCalled() {
         mController.createDialog(mFragment, mCurrentIcon, "test user",
-                R.string.profile_info_settings_title, null, android.os.Process.myUserHandle());
+                "title", null,
+                android.os.Process.myUserHandle(), null);
         mController.startingActivityForResult();
         Intent resultData = new Intent();
         mController.onActivityResult(0, 0, resultData);
@@ -104,8 +108,8 @@
         final String longName = Stream.generate(
                 () -> String.valueOf('A')).limit(200).collect(Collectors.joining());
         final AlertDialog dialog = (AlertDialog) mController.createDialog(mFragment, mCurrentIcon,
-                "test user", R.string.profile_info_settings_title, null,
-                android.os.Process.myUserHandle());
+                "test user", "title", null,
+                android.os.Process.myUserHandle(), null);
         final EditText userName = ShadowAlertDialogCompat.shadowOf(dialog).getView()
                 .findViewById(R.id.user_name);
 
@@ -113,4 +117,143 @@
 
         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();
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/users/MultiUserFooterPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/users/MultiUserFooterPreferenceControllerTest.java
index 8342cf0..69825b4 100644
--- a/tests/robotests/src/com/android/settings/users/MultiUserFooterPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/users/MultiUserFooterPreferenceControllerTest.java
@@ -40,7 +40,7 @@
     @Before
     public void setUp() {
         mContext = RuntimeEnvironment.application;
-        mController = new MultiUserFooterPreferenceController(mContext);
+        mController = new MultiUserFooterPreferenceController(mContext, "footer");
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/users/UserSettingsTest.java b/tests/robotests/src/com/android/settings/users/UserSettingsTest.java
index 1a98238..5853308 100644
--- a/tests/robotests/src/com/android/settings/users/UserSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/users/UserSettingsTest.java
@@ -32,7 +32,6 @@
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.SharedPreferences;
-import android.content.pm.UserInfo;
 import android.graphics.drawable.Drawable;
 import android.os.UserHandle;
 import android.os.UserManager;
@@ -49,8 +48,6 @@
 import androidx.preference.PreferenceManager;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.R;
-import com.android.settings.dashboard.SummaryLoader;
 import com.android.settings.testutils.shadow.ShadowDevicePolicyManager;
 import com.android.settings.testutils.shadow.ShadowUserManager;
 import com.android.settingslib.RestrictedPreference;
@@ -86,14 +83,11 @@
     private UserPreference mMePreference;
     @Mock
     private UserManager mUserManager;
-    @Mock
-    private SummaryLoader mSummaryLoader;
 
     private FragmentActivity mActivity;
     private Context mContext;
     private UserSettings mFragment;
     private UserCapabilities mUserCapabilities;
-    private SummaryLoader.SummaryProvider mSummaryProvider;
 
     @Before
     public void setUp() {
@@ -123,9 +117,6 @@
         final SharedPreferences prefs = mock(SharedPreferences .class);
         when(mMockPreferenceManager.getSharedPreferences()).thenReturn(prefs);
         when(mMockPreferenceManager.getContext()).thenReturn(mContext);
-
-        mSummaryProvider =
-            UserSettings.SUMMARY_PROVIDER_FACTORY.createSummaryProvider(mActivity, mSummaryLoader);
     }
 
     @After
@@ -135,19 +126,6 @@
     }
 
     @Test
-    public void setListening_shouldSetSummaryWithUserName() {
-        final String name = "John";
-        final UserInfo userInfo = new UserInfo();
-        userInfo.name = name;
-        when(mUserManager.getUserInfo(anyInt())).thenReturn(userInfo);
-
-        mSummaryProvider.setListening(true);
-
-        verify(mSummaryLoader)
-            .setSummary(mSummaryProvider, mActivity.getString(R.string.users_summary, name));
-    }
-
-    @Test
     public void testAssignDefaultPhoto_ContextNull_ReturnFalseAndNotCrash() {
         // Should not crash here
         assertThat(UserSettings.assignDefaultPhoto(null, 0)).isFalse();
diff --git a/tests/robotests/src/com/android/settings/wallpaper/WallpaperSuggestionActivityTest.java b/tests/robotests/src/com/android/settings/wallpaper/WallpaperSuggestionActivityTest.java
index 54a41a3..73f12c2 100644
--- a/tests/robotests/src/com/android/settings/wallpaper/WallpaperSuggestionActivityTest.java
+++ b/tests/robotests/src/com/android/settings/wallpaper/WallpaperSuggestionActivityTest.java
@@ -22,15 +22,20 @@
 
 import android.app.Application;
 import android.app.WallpaperManager;
+import android.content.ComponentName;
 import android.content.Context;
+import android.content.Intent;
 import android.content.res.Resources;
 
+import com.google.android.setupcompat.util.WizardManagerHelper;
+
 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 org.robolectric.Robolectric;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.Shadows;
@@ -48,6 +53,10 @@
     @Mock
     private Resources mResources;
 
+    private static final String PACKAGE_WALLPAPER_ACTIVITY =
+            "com.android.settings.wallpaper.WallpaperSuggestionActivity";
+    private static final String WALLPAPER_FLAVOR = "com.android.launcher3.WALLPAPER_FLAVOR";
+
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
@@ -90,6 +99,34 @@
                 .isTrue();
     }
 
+    @Test
+    public void addExtras_intentFromSetupWizard_extrasHasWallpaperOnly() {
+        WallpaperSuggestionActivity activity =
+                Robolectric.buildActivity(WallpaperSuggestionActivity.class, new Intent(
+                        Intent.ACTION_MAIN).setComponent(
+                        new ComponentName(RuntimeEnvironment.application,
+                                PACKAGE_WALLPAPER_ACTIVITY)).putExtra(
+                        WizardManagerHelper.EXTRA_IS_FIRST_RUN, true).putExtra(
+                        WizardManagerHelper.EXTRA_IS_SETUP_FLOW, true)).setup().get();
+        Intent intent = Shadows.shadowOf(activity).getNextStartedActivity();
+
+        assertThat(intent).isNotNull();
+        assertThat(intent.getStringExtra(WALLPAPER_FLAVOR)).isEqualTo("wallpaper_only");
+    }
+
+    @Test
+    public void addExtras_intentNotFromSetupWizard_extrasHasFocusWallpaper() {
+        WallpaperSuggestionActivity activity = Robolectric.buildActivity(
+                WallpaperSuggestionActivity.class, new Intent(Intent.ACTION_MAIN).setComponent(
+                        new ComponentName(RuntimeEnvironment.application,
+                                PACKAGE_WALLPAPER_ACTIVITY))).setup().get();
+        Intent intent = Shadows.shadowOf(activity).getNextStartedActivity();
+
+        assertThat(intent).isNotNull();
+        assertThat(intent.getStringExtra(WALLPAPER_FLAVOR)).isEqualTo("focus_wallpaper");
+    }
+
+
     @Implements(WallpaperManager.class)
     public static class ShadowWallpaperManager extends
         org.robolectric.shadows.ShadowWallpaperManager {
diff --git a/tests/robotests/src/com/android/settings/webview/WebViewAppPickerTest.java b/tests/robotests/src/com/android/settings/webview/WebViewAppPickerTest.java
index 10cf413..8749514 100644
--- a/tests/robotests/src/com/android/settings/webview/WebViewAppPickerTest.java
+++ b/tests/robotests/src/com/android/settings/webview/WebViewAppPickerTest.java
@@ -41,9 +41,9 @@
 
 import androidx.fragment.app.FragmentActivity;
 
-import com.android.settings.widget.RadioButtonPreference;
 import com.android.settingslib.applications.DefaultAppInfo;
 import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
+import com.android.settingslib.widget.RadioButtonPreference;
 
 import org.junit.After;
 import org.junit.Before;
diff --git a/tests/robotests/src/com/android/settings/wfd/WifiDisplayPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/wfd/WifiDisplayPreferenceControllerTest.java
new file mode 100644
index 0000000..c90b19b
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/wfd/WifiDisplayPreferenceControllerTest.java
@@ -0,0 +1,77 @@
+/*
+ * 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.wfd;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.content.pm.PackageManager;
+import android.media.MediaRouter;
+
+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 org.robolectric.RuntimeEnvironment;
+
+@RunWith(RobolectricTestRunner.class)
+public class WifiDisplayPreferenceControllerTest {
+    private Context mContext;
+    private WifiDisplayPreferenceController mWifiDisplayPreferenceController;
+    @Mock
+    private MediaRouter mMediaRouter;
+    @Mock
+    private PackageManager mPackageManager;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mContext = spy(RuntimeEnvironment.application);
+        when(mContext.getSystemService(Context.MEDIA_ROUTER_SERVICE)).thenReturn(mMediaRouter);
+        when(mContext.getPackageManager()).thenReturn(mPackageManager);
+        when(mPackageManager.hasSystemFeature(PackageManager.FEATURE_WIFI_DIRECT)).thenReturn(true);
+        mWifiDisplayPreferenceController = new WifiDisplayPreferenceController(mContext, "key");
+    }
+
+    @Test
+    public void getSummary_disconnected_shouldProvideDisconnectedSummary() {
+        assertThat(mWifiDisplayPreferenceController.getSummary().toString()).contains(
+                mContext.getString(R.string.disconnected));
+    }
+
+    @Test
+    public void getSummary_connected_shouldProvideConnectedSummary() {
+        final MediaRouter.RouteInfo route = mock(MediaRouter.RouteInfo.class);
+        when(mMediaRouter.getRouteCount()).thenReturn(1);
+        when(mMediaRouter.getRouteAt(0)).thenReturn(route);
+        when(route.matchesTypes(anyInt())).thenReturn(true);
+        when(route.isSelected()).thenReturn(true);
+        when(route.isConnecting()).thenReturn(false);
+
+        assertThat(mWifiDisplayPreferenceController.getSummary().toString()).contains(
+                mContext.getString(R.string.wifi_display_status_connected));
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/wfd/WifiDisplaySettingsTest.java b/tests/robotests/src/com/android/settings/wfd/WifiDisplaySettingsTest.java
index a76a1df..1f4fef6 100644
--- a/tests/robotests/src/com/android/settings/wfd/WifiDisplaySettingsTest.java
+++ b/tests/robotests/src/com/android/settings/wfd/WifiDisplaySettingsTest.java
@@ -19,8 +19,6 @@
 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.verify;
 import static org.mockito.Mockito.when;
 
 import android.app.Activity;
@@ -30,9 +28,6 @@
 import android.media.MediaRouter;
 import android.net.wifi.p2p.WifiP2pManager;
 
-import com.android.settings.R;
-import com.android.settings.dashboard.SummaryLoader;
-
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -46,45 +41,16 @@
     @Mock
     private Activity mActivity;
     @Mock
-    private SummaryLoader mSummaryLoader;
-    @Mock
     private MediaRouter mMediaRouter;
     @Mock
     private PackageManager mPackageManager;
 
-    private SummaryLoader.SummaryProvider mSummaryProvider;
-
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
         when(mActivity.getSystemService(Context.MEDIA_ROUTER_SERVICE)).thenReturn(mMediaRouter);
         when(mActivity.getPackageManager()).thenReturn(mPackageManager);
         when(mPackageManager.hasSystemFeature(PackageManager.FEATURE_WIFI_DIRECT)).thenReturn(true);
-
-        mSummaryProvider = WifiDisplaySettings.SUMMARY_PROVIDER_FACTORY
-            .createSummaryProvider(mActivity, mSummaryLoader);
-    }
-
-    @Test
-    public void listenToSummary_disconnected_shouldProvideDisconnectedSummary() {
-        mSummaryProvider.setListening(true);
-
-        verify(mActivity).getString(R.string.disconnected);
-        verify(mActivity, never()).getString(R.string.wifi_display_status_connected);
-    }
-
-    @Test
-    public void listenToSummary_connected_shouldProvideConnectedSummary() {
-        final MediaRouter.RouteInfo route = mock(MediaRouter.RouteInfo.class);
-        when(mMediaRouter.getRouteCount()).thenReturn(1);
-        when(mMediaRouter.getRouteAt(0)).thenReturn(route);
-        when(route.matchesTypes(MediaRouter.ROUTE_TYPE_REMOTE_DISPLAY)).thenReturn(true);
-        when(route.isSelected()).thenReturn(true);
-        when(route.isConnecting()).thenReturn(false);
-
-        mSummaryProvider.setListening(true);
-
-        verify(mActivity).getString(R.string.wifi_display_status_connected);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/widget/EntityHeaderControllerTest.java b/tests/robotests/src/com/android/settings/widget/EntityHeaderControllerTest.java
index 1d600a4..df9a2c1 100644
--- a/tests/robotests/src/com/android/settings/widget/EntityHeaderControllerTest.java
+++ b/tests/robotests/src/com/android/settings/widget/EntityHeaderControllerTest.java
@@ -30,7 +30,6 @@
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.ActivityInfo;
-import android.content.pm.ApplicationInfo;
 import android.content.pm.PackageInfo;
 import android.content.pm.ResolveInfo;
 import android.graphics.drawable.ColorDrawable;
@@ -38,7 +37,6 @@
 import android.view.LayoutInflater;
 import android.view.View;
 import android.widget.ImageButton;
-import android.widget.ImageView;
 import android.widget.TextView;
 
 import androidx.fragment.app.Fragment;
@@ -46,7 +44,6 @@
 import androidx.preference.Preference;
 
 import com.android.settings.R;
-import com.android.settingslib.applications.ApplicationsState;
 import com.android.settingslib.widget.LayoutPreference;
 
 import org.junit.Before;
@@ -258,20 +255,6 @@
     }
 
     @Test
-    public void setIcon_usingAppEntry_shouldLoadIconFromDrawableFactory() {
-        final View view = mLayoutInflater
-                .inflate(R.layout.settings_entity_header, null /* root */);
-        final ApplicationsState.AppEntry entry = mock(ApplicationsState.AppEntry.class);
-        entry.info = new ApplicationInfo();
-        mController = EntityHeaderController.newInstance(mActivity, mFragment, view);
-        mController.setIcon(entry).done(mActivity);
-        final ImageView iconView = view.findViewById(R.id.entity_header_icon);
-
-        // ... entry.icon is still empty. This means the icon didn't come from cache.
-        assertThat(entry.icon).isNull();
-    }
-
-    @Test
     public void bindButton_hasAppNotifIntent_shouldShowButton() {
         final View appLinks = mLayoutInflater
                 .inflate(R.layout.settings_entity_header, null /* root */);
diff --git a/tests/robotests/src/com/android/settings/widget/MasterSwitchPreferenceTest.java b/tests/robotests/src/com/android/settings/widget/MasterSwitchPreferenceTest.java
index 1ddabc1..8115a02 100644
--- a/tests/robotests/src/com/android/settings/widget/MasterSwitchPreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/widget/MasterSwitchPreferenceTest.java
@@ -23,7 +23,6 @@
 
 import android.content.Context;
 import android.view.LayoutInflater;
-import android.view.View;
 import android.widget.LinearLayout;
 import android.widget.Switch;
 
@@ -43,161 +42,131 @@
 public class MasterSwitchPreferenceTest {
 
     private Context mContext;
+    private MasterSwitchPreference mPreference;
+    private PreferenceViewHolder mHolder;
+    private LinearLayout mWidgetView;
 
     @Before
     public void setUp() {
         mContext = RuntimeEnvironment.application;
+        mPreference = new MasterSwitchPreference(mContext);
+        LayoutInflater inflater = LayoutInflater.from(mContext);
+        mHolder = PreferenceViewHolder.createInstanceForTests(inflater.inflate(
+                com.android.settingslib.R.layout.preference_two_target, null));
+        mWidgetView = mHolder.itemView.findViewById(android.R.id.widget_frame);
+        inflater.inflate(R.layout.restricted_preference_widget_master_switch, mWidgetView, true);
     }
 
     @Test
     public void createNewPreference_shouldSetLayout() {
-        final MasterSwitchPreference preference = new MasterSwitchPreference(mContext);
-
-        assertThat(preference.getWidgetLayoutResource())
-                .isEqualTo(R.layout.preference_widget_master_switch);
+        assertThat(mPreference.getWidgetLayoutResource())
+                .isEqualTo(R.layout.restricted_preference_widget_master_switch);
     }
 
     @Test
     public void setChecked_shouldUpdateButtonCheckedState() {
-        final MasterSwitchPreference preference = new MasterSwitchPreference(mContext);
-        final PreferenceViewHolder holder = PreferenceViewHolder.createInstanceForTests(
-                LayoutInflater.from(mContext).inflate(
-                  R.layout.preference_widget_master_switch, null));
-        final Switch toggle = (Switch) holder.findViewById(R.id.switchWidget);
-        preference.onBindViewHolder(holder);
+        final Switch toggle = (Switch) mHolder.findViewById(R.id.switchWidget);
+        mPreference.onBindViewHolder(mHolder);
 
-        preference.setChecked(true);
+        mPreference.setChecked(true);
         assertThat(toggle.isChecked()).isTrue();
 
-        preference.setChecked(false);
+        mPreference.setChecked(false);
         assertThat(toggle.isChecked()).isFalse();
     }
 
     @Test
     public void setSwitchEnabled_shouldUpdateButtonEnabledState() {
-        final MasterSwitchPreference preference = new MasterSwitchPreference(mContext);
-        final PreferenceViewHolder holder = PreferenceViewHolder.createInstanceForTests(
-                LayoutInflater.from(mContext).inflate(
-                  R.layout.preference_widget_master_switch, null));
-        final Switch toggle = (Switch) holder.findViewById(R.id.switchWidget);
-        preference.onBindViewHolder(holder);
+        final Switch toggle = (Switch) mHolder.findViewById(R.id.switchWidget);
+        mPreference.onBindViewHolder(mHolder);
 
-        preference.setSwitchEnabled(true);
+        mPreference.setSwitchEnabled(true);
         assertThat(toggle.isEnabled()).isTrue();
 
-        preference.setSwitchEnabled(false);
+        mPreference.setSwitchEnabled(false);
         assertThat(toggle.isEnabled()).isFalse();
     }
 
     @Test
     public void setSwitchEnabled_shouldUpdateButtonEnabledState_beforeViewBound() {
-        final MasterSwitchPreference preference = new MasterSwitchPreference(mContext);
-        final PreferenceViewHolder holder = PreferenceViewHolder.createInstanceForTests(
-                LayoutInflater.from(mContext).inflate(
-                        R.layout.preference_widget_master_switch, null));
-        final Switch toggle = (Switch) holder.findViewById(R.id.switchWidget);
+        final Switch toggle = (Switch) mHolder.findViewById(R.id.switchWidget);
 
-        preference.setSwitchEnabled(false);
-        preference.onBindViewHolder(holder);
+        mPreference.setSwitchEnabled(false);
+        mPreference.onBindViewHolder(mHolder);
         assertThat(toggle.isEnabled()).isFalse();
     }
 
     @Test
     public void clickWidgetView_shouldToggleButton() {
-        final MasterSwitchPreference preference = new MasterSwitchPreference(mContext);
-        final LayoutInflater inflater = LayoutInflater.from(mContext);
-        final PreferenceViewHolder holder = PreferenceViewHolder.createInstanceForTests(
-                inflater.inflate(R.layout.preference_two_target, null));
-        final LinearLayout widgetView = holder.itemView.findViewById(android.R.id.widget_frame);
-        assertThat(widgetView).isNotNull();
+        assertThat(mWidgetView).isNotNull();
 
-        inflater.inflate(R.layout.preference_widget_master_switch, widgetView, true);
-        final Switch toggle = (Switch) holder.findViewById(R.id.switchWidget);
-        preference.onBindViewHolder(holder);
+        final Switch toggle = (Switch) mHolder.findViewById(R.id.switchWidget);
+        mPreference.onBindViewHolder(mHolder);
 
-        widgetView.performClick();
+        toggle.performClick();
         assertThat(toggle.isChecked()).isTrue();
 
-        widgetView.performClick();
+        toggle.performClick();
         assertThat(toggle.isChecked()).isFalse();
     }
 
     @Test
     public void clickWidgetView_shouldNotToggleButtonIfDisabled() {
-        final MasterSwitchPreference preference = new MasterSwitchPreference(mContext);
-        final LayoutInflater inflater = LayoutInflater.from(mContext);
-        final PreferenceViewHolder holder = PreferenceViewHolder.createInstanceForTests(
-                inflater.inflate(R.layout.preference_two_target, null));
-        final LinearLayout widgetView = holder.itemView.findViewById(android.R.id.widget_frame);
-        assertThat(widgetView).isNotNull();
+        assertThat(mWidgetView).isNotNull();
 
-        inflater.inflate(R.layout.preference_widget_master_switch, widgetView, true);
-        final Switch toggle = (Switch) holder.findViewById(R.id.switchWidget);
-        preference.onBindViewHolder(holder);
+        final Switch toggle = (Switch) mHolder.findViewById(R.id.switchWidget);
+        mPreference.onBindViewHolder(mHolder);
         toggle.setEnabled(false);
 
-        widgetView.performClick();
+        mWidgetView.performClick();
         assertThat(toggle.isChecked()).isFalse();
     }
 
     @Test
     public void clickWidgetView_shouldNotifyPreferenceChanged() {
-        final MasterSwitchPreference preference = new MasterSwitchPreference(mContext);
-        final PreferenceViewHolder holder = PreferenceViewHolder.createInstanceForTests(
-                LayoutInflater.from(mContext).inflate(R.layout.preference_two_target, null));
-        final View widgetView = holder.findViewById(android.R.id.widget_frame);
+
+        final Switch toggle = (Switch) mHolder.findViewById(R.id.switchWidget);
+
         final OnPreferenceChangeListener listener = mock(OnPreferenceChangeListener.class);
-        preference.setOnPreferenceChangeListener(listener);
-        preference.onBindViewHolder(holder);
+        mPreference.setOnPreferenceChangeListener(listener);
+        mPreference.onBindViewHolder(mHolder);
 
-        preference.setChecked(false);
-        widgetView.performClick();
-        verify(listener).onPreferenceChange(preference, true);
+        mPreference.setChecked(false);
+        toggle.performClick();
+        verify(listener).onPreferenceChange(mPreference, true);
 
-        preference.setChecked(true);
-        widgetView.performClick();
-        verify(listener).onPreferenceChange(preference, false);
+        mPreference.setChecked(true);
+        toggle.performClick();
+        verify(listener).onPreferenceChange(mPreference, false);
     }
 
     @Test
     public void setDisabledByAdmin_hasEnforcedAdmin_shouldDisableButton() {
-        final MasterSwitchPreference preference = new MasterSwitchPreference(mContext);
-        final PreferenceViewHolder holder = PreferenceViewHolder.createInstanceForTests(
-                LayoutInflater.from(mContext)
-                  .inflate(R.layout.preference_widget_master_switch, null));
-        final Switch toggle = (Switch) holder.findViewById(R.id.switchWidget);
+        final Switch toggle = (Switch) mHolder.findViewById(R.id.switchWidget);
         toggle.setEnabled(true);
-        preference.onBindViewHolder(holder);
+        mPreference.onBindViewHolder(mHolder);
 
-        preference.setDisabledByAdmin(mock(EnforcedAdmin.class));
+        mPreference.setDisabledByAdmin(mock(EnforcedAdmin.class));
         assertThat(toggle.isEnabled()).isFalse();
     }
 
     @Test
     public void setDisabledByAdmin_noEnforcedAdmin_shouldEnableButton() {
-        final MasterSwitchPreference preference = new MasterSwitchPreference(mContext);
-        final PreferenceViewHolder holder = PreferenceViewHolder.createInstanceForTests(
-                LayoutInflater.from(mContext)
-                  .inflate(R.layout.preference_widget_master_switch, null));
-        final Switch toggle = (Switch) holder.findViewById(R.id.switchWidget);
+        final Switch toggle = (Switch) mHolder.findViewById(R.id.switchWidget);
         toggle.setEnabled(false);
-        preference.onBindViewHolder(holder);
+        mPreference.onBindViewHolder(mHolder);
 
-        preference.setDisabledByAdmin(null);
+        mPreference.setDisabledByAdmin(null);
         assertThat(toggle.isEnabled()).isTrue();
     }
 
     @Test
     public void onBindViewHolder_toggleButtonShouldHaveContentDescription() {
-        final MasterSwitchPreference preference = new MasterSwitchPreference(mContext);
-        final PreferenceViewHolder holder = PreferenceViewHolder.createInstanceForTests(
-            LayoutInflater.from(mContext)
-                .inflate(R.layout.preference_widget_master_switch, null));
-        final Switch toggle = (Switch) holder.findViewById(R.id.switchWidget);
+        final Switch toggle = (Switch) mHolder.findViewById(R.id.switchWidget);
         final String label = "TestButton";
-        preference.setTitle(label);
+        mPreference.setTitle(label);
 
-        preference.onBindViewHolder(holder);
+        mPreference.onBindViewHolder(mHolder);
 
         assertThat(toggle.getContentDescription()).isEqualTo(label);
     }
diff --git a/tests/robotests/src/com/android/settings/widget/RadioButtonPickerFragmentTest.java b/tests/robotests/src/com/android/settings/widget/RadioButtonPickerFragmentTest.java
index 56a5f7a..4b551bd 100644
--- a/tests/robotests/src/com/android/settings/widget/RadioButtonPickerFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/widget/RadioButtonPickerFragmentTest.java
@@ -32,6 +32,7 @@
 
 import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settingslib.applications.DefaultAppInfo;
+import com.android.settingslib.widget.RadioButtonPreference;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/robotests/src/com/android/settings/widget/RadioButtonPreferenceTest.java b/tests/robotests/src/com/android/settings/widget/RadioButtonPreferenceTest.java
deleted file mode 100644
index c7b7e47..0000000
--- a/tests/robotests/src/com/android/settings/widget/RadioButtonPreferenceTest.java
+++ /dev/null
@@ -1,106 +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.widget;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.junit.Assert.assertEquals;
-
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-
-import android.app.Application;
-import android.view.LayoutInflater;
-import android.view.View;
-
-import androidx.preference.PreferenceViewHolder;
-
-import com.android.settings.R;
-
-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 RadioButtonPreferenceTest {
-
-    private Application mContext;
-    private RadioButtonPreference mPreference;
-
-    @Before
-    public void setUp() {
-        mContext = RuntimeEnvironment.application;
-        mPreference = new RadioButtonPreference(mContext);
-    }
-
-    @Test
-    public void shouldHaveRadioPreferenceLayout() {
-        assertThat(mPreference.getLayoutResource()).isEqualTo(R.layout.preference_radio);
-    }
-
-    @Test
-    public void iconSpaceReservedShouldBeFalse() {
-        assertThat(mPreference.isIconSpaceReserved()).isFalse();
-    }
-
-    @Test
-    public void summary_containerShouldBeVisible() {
-        mPreference.setSummary("some summary");
-        View summaryContainer = new View(mContext);
-        View view = mock(View.class);
-        when(view.findViewById(R.id.summary_container)).thenReturn(summaryContainer);
-        PreferenceViewHolder preferenceViewHolder =
-                PreferenceViewHolder.createInstanceForTests(view);
-        mPreference.onBindViewHolder(preferenceViewHolder);
-        assertEquals(View.VISIBLE, summaryContainer.getVisibility());
-    }
-
-    @Test
-    public void emptySummary_containerShouldBeGone() {
-        mPreference.setSummary("");
-        View summaryContainer = new View(mContext);
-        View view = mock(View.class);
-        when(view.findViewById(R.id.summary_container)).thenReturn(summaryContainer);
-        PreferenceViewHolder preferenceViewHolder =
-                PreferenceViewHolder.createInstanceForTests(view);
-        mPreference.onBindViewHolder(preferenceViewHolder);
-        assertEquals(View.GONE, summaryContainer.getVisibility());
-    }
-
-    @Test
-    public void nullSummary_containerShouldBeGone() {
-        mPreference.setSummary(null);
-        View summaryContainer = new View(mContext);
-        View view = mock(View.class);
-        when(view.findViewById(R.id.summary_container)).thenReturn(summaryContainer);
-        PreferenceViewHolder preferenceViewHolder =
-                PreferenceViewHolder.createInstanceForTests(view);
-        mPreference.onBindViewHolder(preferenceViewHolder);
-        assertEquals(View.GONE, summaryContainer.getVisibility());
-    }
-
-    @Test
-    public void hideAppendix_shouldBeGone() {
-        mPreference.setAppendixVisibility(View.GONE);
-        View view = LayoutInflater.from(mContext).inflate(R.layout.preference_radio, null);
-        PreferenceViewHolder holder = PreferenceViewHolder.createInstanceForTests(view);
-        mPreference.onBindViewHolder(holder);
-        assertThat(holder.findViewById(R.id.appendix).getVisibility()).isEqualTo(View.GONE);
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/widget/SwitchBarTest.java b/tests/robotests/src/com/android/settings/widget/SwitchBarTest.java
index f186222..31cb966 100644
--- a/tests/robotests/src/com/android/settings/widget/SwitchBarTest.java
+++ b/tests/robotests/src/com/android/settings/widget/SwitchBarTest.java
@@ -85,6 +85,24 @@
     }
 
     @Test
+    public void setCheck_customLabelWithStringType_shouldUpdateTextAndBackground() {
+        final String onText = mContext.getString(
+                R.string.accessibility_service_master_switch_title);
+        final String offText = mContext.getString(
+                R.string.accessibility_service_master_switch_title);
+        final TextView switchBarTextView = ((TextView) mBar.findViewById(R.id.switch_text));
+
+        mBar.setSwitchBarText(onText, offText);
+
+        assertThat(switchBarTextView.getText()).isEqualTo(offText);
+
+        mBar.setChecked(true);
+
+        assertThat(mBar.getBackground()).isInstanceOf(ColorDrawable.class);
+        assertThat(switchBarTextView.getText()).isEqualTo(onText);
+    }
+
+    @Test
     public void disabledByAdmin_shouldDelegateToRestrictedIcon() {
         mBar.setDisabledByAdmin(new EnforcedAdmin());
         assertThat(mBar.getDelegatingView().getId()).isEqualTo(R.id.restricted_icon);
diff --git a/tests/robotests/src/com/android/settings/widget/UpdatableListPreferenceDialogFragmentTest.java b/tests/robotests/src/com/android/settings/widget/UpdatableListPreferenceDialogFragmentTest.java
deleted file mode 100644
index a2e9de7..0000000
--- a/tests/robotests/src/com/android/settings/widget/UpdatableListPreferenceDialogFragmentTest.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Copyright 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.widget;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.Mockito.never;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.verify;
-
-import android.content.Context;
-import android.widget.ArrayAdapter;
-
-import androidx.preference.ListPreference;
-
-import com.android.internal.logging.nano.MetricsProto;
-import com.android.settings.testutils.shadow.ShadowBluetoothUtils;
-
-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 org.robolectric.annotation.Config;
-
-import java.util.ArrayList;
-
-@RunWith(RobolectricTestRunner.class)
-@Config(shadows = ShadowBluetoothUtils.class)
-public class UpdatableListPreferenceDialogFragmentTest {
-
-    private static final String KEY = "Test_Key";
-    @Mock
-    private UpdatableListPreferenceDialogFragment mUpdatableListPrefDlgFragment;
-    private Context mContext;
-    private ArrayAdapter mAdapter;
-    private ArrayList<CharSequence> mEntries;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        mContext = RuntimeEnvironment.application;
-
-        mUpdatableListPrefDlgFragment = spy(UpdatableListPreferenceDialogFragment
-                .newInstance(KEY, MetricsProto.MetricsEvent.DIALOG_SWITCH_A2DP_DEVICES));
-        mEntries = spy(new ArrayList<>());
-        mUpdatableListPrefDlgFragment.setEntries(mEntries);
-        mUpdatableListPrefDlgFragment.
-                setMetricsCategory(mUpdatableListPrefDlgFragment.getArguments());
-        initAdapter();
-    }
-
-    private void initAdapter() {
-        mAdapter = spy(new ArrayAdapter<>(
-                mContext,
-                com.android.internal.R.layout.select_dialog_singlechoice,
-                mEntries));
-        mUpdatableListPrefDlgFragment.setAdapter(mAdapter);
-    }
-
-    @Test
-    public void getMetricsCategory() {
-        assertThat(mUpdatableListPrefDlgFragment.getMetricsCategory())
-                .isEqualTo(MetricsProto.MetricsEvent.DIALOG_SWITCH_A2DP_DEVICES);
-    }
-
-    @Test
-    public void onListPreferenceUpdated_verifyAdapterCanBeUpdate() {
-        assertThat(mUpdatableListPrefDlgFragment.getAdapter().getCount()).isEqualTo(0);
-
-        ListPreference listPreference = new ListPreference(mContext);
-        final CharSequence[] charSequences = {"Test_DEVICE_1", "Test_DEVICE_2"};
-        listPreference.setEntries(charSequences);
-        mUpdatableListPrefDlgFragment.onListPreferenceUpdated(listPreference);
-
-        assertThat(mUpdatableListPrefDlgFragment.getAdapter().getCount()).isEqualTo(2);
-    }
-
-    @Test
-    public void onDialogClosed_emptyPreference() {
-        mUpdatableListPrefDlgFragment.onDialogClosed(false);
-
-        verify(mUpdatableListPrefDlgFragment, never()).getListPreference();
-    }
-}
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/widget/VideoPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/widget/VideoPreferenceControllerTest.java
index 7fa2d28..acfdcbe 100644
--- a/tests/robotests/src/com/android/settings/widget/VideoPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/widget/VideoPreferenceControllerTest.java
@@ -17,10 +17,12 @@
 package com.android.settings.widget;
 
 import static com.android.settings.core.BasePreferenceController.AVAILABLE_UNSEARCHABLE;
+import static com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_DEVICE;
 
 import static com.google.common.truth.Truth.assertThat;
 
-import static org.mockito.Mockito.anyBoolean;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
@@ -33,6 +35,7 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.util.ReflectionHelpers;
 
 @RunWith(RobolectricTestRunner.class)
 public class VideoPreferenceControllerTest {
@@ -52,25 +55,42 @@
     }
 
     @Test
-    public void getAvailabilityStatus_isAlwaysAvailable() {
+    public void getAvailabilityStatus_isAvailableUnsearchable() {
+        final VideoPreference videoPreference = mock(VideoPreference.class);
+
+        // Assign mock object to mVideoPreference in controller
+        ReflectionHelpers.setField(mController, "mVideoPreference", videoPreference);
+        doReturn(true).when(videoPreference).isAnimationAvailable();
+
         assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE_UNSEARCHABLE);
     }
 
     @Test
-    public void onPause_shouldCallOnViewInvisibleOnPrefernece() {
+    public void getAvailabilityStatus_isUnsupportedOnDevice() {
+        final VideoPreference videoPreference = mock(VideoPreference.class);
+
+        // Assign mock object to mVideoPreference in controller
+        ReflectionHelpers.setField(mController, "mVideoPreference", videoPreference);
+        doReturn(false).when(videoPreference).isAnimationAvailable();
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(UNSUPPORTED_ON_DEVICE);
+    }
+
+    @Test
+    public void onStop_shouldCallOnViewInvisibleOnPrefernece() {
         mController.displayPreference(mScreen);
 
-        mController.onPause();
+        mController.onStop();
 
         verify(mPreference).onViewInvisible();
     }
 
     @Test
-    public void onResume_shouldCallOnViewVisibleOnPrefernece() {
+    public void onStart_shouldCallOnViewVisibleOnPrefernece() {
         mController.displayPreference(mScreen);
 
-        mController.onResume();
+        mController.onStart();
 
-        verify(mPreference).onViewVisible(anyBoolean());
+        verify(mPreference).onViewVisible();
     }
 }
diff --git a/tests/robotests/src/com/android/settings/widget/VideoPreferenceTest.java b/tests/robotests/src/com/android/settings/widget/VideoPreferenceTest.java
index b53f364..46b582f 100644
--- a/tests/robotests/src/com/android/settings/widget/VideoPreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/widget/VideoPreferenceTest.java
@@ -18,26 +18,26 @@
 
 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.Mockito.doReturn;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
 import android.content.Context;
 import android.graphics.SurfaceTexture;
-import android.media.MediaPlayer;
+import android.os.Bundle;
 import android.view.LayoutInflater;
 import android.view.TextureView;
-
 import android.view.View;
 import android.widget.ImageView;
+
+import androidx.preference.PreferenceFragmentCompat;
 import androidx.preference.PreferenceViewHolder;
 
 import com.android.settings.R;
+import com.android.settings.testutils.shadow.ShadowSettingsMediaPlayer;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -46,18 +46,21 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
+import org.robolectric.shadows.androidx.fragment.FragmentController;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = ShadowSettingsMediaPlayer.class)
 public class VideoPreferenceTest {
     private static final int VIDEO_WIDTH = 100;
     private static final int VIDEO_HEIGHT = 150;
 
-    @Mock
-    private MediaPlayer mMediaPlayer;
+    private VideoPreference.AnimationController mAnimationController;
     @Mock
     private ImageView fakePreview;
     @Mock
     private ImageView fakePlayButton;
+
     private Context mContext;
     private VideoPreference mVideoPreference;
     private PreferenceViewHolder mPreferenceViewHolder;
@@ -67,10 +70,12 @@
         MockitoAnnotations.initMocks(this);
 
         mContext = RuntimeEnvironment.application;
+        mAnimationController = spy(
+                new MediaAnimationController(mContext, R.raw.accessibility_screen_magnification));
         mVideoPreference = new VideoPreference(mContext, null /* attrs */);
-        mVideoPreference.mMediaPlayer = mMediaPlayer;
-        when(mMediaPlayer.getVideoWidth()).thenReturn(VIDEO_WIDTH);
-        when(mMediaPlayer.getVideoHeight()).thenReturn(VIDEO_HEIGHT);
+        mVideoPreference.mAnimationController = mAnimationController;
+        when(mAnimationController.getVideoWidth()).thenReturn(VIDEO_WIDTH);
+        when(mAnimationController.getVideoHeight()).thenReturn(VIDEO_HEIGHT);
 
         mPreferenceViewHolder = PreferenceViewHolder.createInstanceForTests(
                 LayoutInflater.from(mContext).inflate(R.layout.video_preference, null));
@@ -91,51 +96,72 @@
     @Test
     public void onSurfaceTextureUpdated_viewInvisible_shouldNotStartPlayingVideo() {
         final TextureView video =
-            (TextureView) mPreferenceViewHolder.findViewById(R.id.video_texture_view);
+                (TextureView) mPreferenceViewHolder.findViewById(R.id.video_texture_view);
         mVideoPreference.mAnimationAvailable = true;
-        mVideoPreference.mVideoReady = true;
-        mVideoPreference.onViewInvisible();
         mVideoPreference.onBindViewHolder(mPreferenceViewHolder);
-        when(mMediaPlayer.isPlaying()).thenReturn(false);
+        mAnimationController.attachView(video, fakePreview, fakePlayButton);
+        when(mAnimationController.isPlaying()).thenReturn(false);
         final TextureView.SurfaceTextureListener listener = video.getSurfaceTextureListener();
 
+        mVideoPreference.onViewInvisible();
         listener.onSurfaceTextureUpdated(mock(SurfaceTexture.class));
 
-        verify(mMediaPlayer, never()).start();
+        verify(mAnimationController, never()).start();
     }
 
     @Test
     public void onViewInvisible_shouldReleaseMediaplayer() {
-        mVideoPreference.onViewVisible(false);
-
         mVideoPreference.onViewInvisible();
 
-        verify(mMediaPlayer).release();
+        verify(mAnimationController).release();
     }
 
     @Test
     public void updateViewStates_paused_updatesViews() {
-        when(mMediaPlayer.isPlaying()).thenReturn(true);
-        mVideoPreference.updateViewStates(fakePreview, fakePlayButton);
+        mAnimationController.start();
+
+        mVideoPreference.mAnimationController.attachView(new TextureView(mContext), fakePreview,
+                fakePlayButton);
+
         verify(fakePlayButton).setVisibility(eq(View.VISIBLE));
         verify(fakePreview).setVisibility(eq(View.VISIBLE));
-        verify(mMediaPlayer).pause();
+        assertThat(mAnimationController.isPlaying()).isFalse();
     }
 
     @Test
     public void updateViewStates_playing_updatesViews() {
-        when(mMediaPlayer.isPlaying()).thenReturn(false);
-        mVideoPreference.updateViewStates(fakePreview, fakePlayButton);
+        mAnimationController.pause();
+
+        mVideoPreference.mAnimationController.attachView(new TextureView(mContext), fakePreview,
+                fakePlayButton);
+
         verify(fakePlayButton).setVisibility(eq(View.GONE));
         verify(fakePreview).setVisibility(eq(View.GONE));
-        verify(mMediaPlayer).start();
+        assertThat(mAnimationController.isPlaying()).isTrue();
     }
 
     @Test
-    public void updateViewStates_noMediaPlayer_skips() {
-        mVideoPreference.mMediaPlayer = null;
-        mVideoPreference.updateViewStates(fakePreview, fakePlayButton);
-        verify(fakePlayButton, never()).setVisibility(anyInt());
-        verify(fakePreview, never()).setVisibility(anyInt());
+    @Config(qualifiers = "mcc999")
+    public void onViewVisible_createAnimationController() {
+        final PreferenceFragmentCompat fragment = FragmentController.of(
+                new VideoPreferenceTest.TestFragment(),
+                new Bundle())
+                .create()
+                .start()
+                .resume()
+                .get();
+
+        final VideoPreference vp1 = fragment.findPreference("video1");
+        final VideoPreference vp2 = fragment.findPreference("video2");
+
+        assertThat(vp1.mAnimationController instanceof MediaAnimationController).isTrue();
+        assertThat(vp2.mAnimationController instanceof VectorAnimationController).isTrue();
+    }
+
+    public static class TestFragment extends PreferenceFragmentCompat {
+        @Override
+        public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
+            addPreferencesFromResource(R.xml.video_preference);
+        }
     }
 }
diff --git a/tests/robotests/src/com/android/settings/wifi/AppStateChangeWifiStateBridgeTest.java b/tests/robotests/src/com/android/settings/wifi/AppStateChangeWifiStateBridgeTest.java
index c32c76b..819eb24 100644
--- a/tests/robotests/src/com/android/settings/wifi/AppStateChangeWifiStateBridgeTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/AppStateChangeWifiStateBridgeTest.java
@@ -22,6 +22,7 @@
 import android.Manifest;
 import android.content.pm.PackageInfo;
 
+import com.android.settings.datausage.AppStateDataUsageBridge.DataUsageState;
 import com.android.settingslib.applications.ApplicationsState.AppEntry;
 import com.android.settingslib.applications.ApplicationsState.AppFilter;
 
@@ -81,4 +82,11 @@
         mEntry.extraInfo = mState;
         assertThat(mFilter.filterApp(mEntry)).isFalse();
     }
+
+    @Test
+    public void testFilterApp_filterWrongTypeExtraInfo_returnFalse() {
+        mEntry.extraInfo = mock(DataUsageState.class);
+
+        assertThat(mFilter.filterApp(mEntry)).isFalse();
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/wifi/ConfigureAccessPointFragmentTest.java b/tests/robotests/src/com/android/settings/wifi/ConfigureAccessPointFragmentTest.java
new file mode 100644
index 0000000..5a12a88
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/wifi/ConfigureAccessPointFragmentTest.java
@@ -0,0 +1,93 @@
+/*
+ * 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;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+
+import android.app.settings.SettingsEnums;
+import android.os.Bundle;
+
+import com.android.settings.testutils.shadow.ShadowConnectivityManager;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
+import org.robolectric.shadows.androidx.fragment.FragmentController;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(shadows = ShadowConnectivityManager.class)
+public class ConfigureAccessPointFragmentTest {
+
+    private static final String KEY_SSID = "key_ssid";
+    private static final String KEY_SECURITY = "key_security";
+
+    private ConfigureAccessPointFragment mConfigureAccessPointFragment;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        Bundle bundle = new Bundle();
+
+        bundle.putString(KEY_SSID, "Test AP");
+        bundle.putInt(KEY_SECURITY, 1 /* WEP */);
+        mConfigureAccessPointFragment = spy(new ConfigureAccessPointFragment());
+        mConfigureAccessPointFragment.setArguments(bundle);
+        FragmentController.setupFragment(mConfigureAccessPointFragment);
+    }
+
+    @Test
+    public void getMetricsCategory_shouldReturnConfigureNetwork() {
+        assertThat(mConfigureAccessPointFragment.getMetricsCategory()).isEqualTo(
+                SettingsEnums.SETTINGS_WIFI_CONFIGURE_NETWORK);
+    }
+
+    @Test
+    public void getMode_shouldBeModeConnected() {
+        assertThat(mConfigureAccessPointFragment.getMode()).isEqualTo(
+                WifiConfigUiBase.MODE_CONNECT);
+    }
+
+    @Test
+    public void launchFragment_shouldShowSubmitButton() {
+        assertThat(mConfigureAccessPointFragment.getSubmitButton()).isNotNull();
+    }
+
+    @Test
+    public void launchFragment_shouldShowCancelButton() {
+        assertThat(mConfigureAccessPointFragment.getCancelButton()).isNotNull();
+    }
+
+    @Test
+    public void onClickSubmitButton_shouldHandleSubmitAction() {
+        mConfigureAccessPointFragment.getSubmitButton().performClick();
+
+        verify(mConfigureAccessPointFragment).handleSubmitAction();
+    }
+
+    @Test
+    public void onClickCancelButton_shouldHandleCancelAction() {
+        mConfigureAccessPointFragment.getCancelButton().performClick();
+
+        verify(mConfigureAccessPointFragment).handleCancelAction();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/wifi/ConfigureWifiEntryFragmentTest.java b/tests/robotests/src/com/android/settings/wifi/ConfigureWifiEntryFragmentTest.java
new file mode 100644
index 0000000..1f0c312
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/wifi/ConfigureWifiEntryFragmentTest.java
@@ -0,0 +1,96 @@
+/*
+ * 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;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+
+import android.app.settings.SettingsEnums;
+import android.os.Bundle;
+
+import com.android.settings.testutils.shadow.ShadowConnectivityManager;
+
+import org.junit.Before;
+import org.junit.Ignore;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
+import org.robolectric.shadows.androidx.fragment.FragmentController;
+
+// TODO(b/70983952): Can't test because b/146802959, should remove @Ignore tag after it's fixed.
+@Ignore
+@RunWith(RobolectricTestRunner.class)
+@Config(shadows = ShadowConnectivityManager.class)
+public class ConfigureWifiEntryFragmentTest {
+
+    private static final String KEY_SSID = "key_ssid";
+    private static final String KEY_SECURITY = "key_security";
+
+    private ConfigureWifiEntryFragment mConfigureWifiEntryFragment;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        Bundle bundle = new Bundle();
+
+        bundle.putString(KEY_SSID, "Test AP");
+        bundle.putInt(KEY_SECURITY, 1 /* WEP */);
+        mConfigureWifiEntryFragment = spy(new ConfigureWifiEntryFragment());
+        mConfigureWifiEntryFragment.setArguments(bundle);
+        FragmentController.setupFragment(mConfigureWifiEntryFragment);
+    }
+
+    @Test
+    public void getMetricsCategory_shouldReturnConfigureNetwork() {
+        assertThat(mConfigureWifiEntryFragment.getMetricsCategory()).isEqualTo(
+                SettingsEnums.SETTINGS_WIFI_CONFIGURE_NETWORK);
+    }
+
+    @Test
+    public void getMode_shouldBeModeConnected() {
+        assertThat(mConfigureWifiEntryFragment.getMode()).isEqualTo(
+                WifiConfigUiBase.MODE_CONNECT);
+    }
+
+    @Test
+    public void launchFragment_shouldShowSubmitButton() {
+        assertThat(mConfigureWifiEntryFragment.getSubmitButton()).isNotNull();
+    }
+
+    @Test
+    public void launchFragment_shouldShowCancelButton() {
+        assertThat(mConfigureWifiEntryFragment.getCancelButton()).isNotNull();
+    }
+
+    @Test
+    public void onClickSubmitButton_shouldHandleSubmitAction() {
+        mConfigureWifiEntryFragment.getSubmitButton().performClick();
+
+        verify(mConfigureWifiEntryFragment).handleSubmitAction();
+    }
+
+    @Test
+    public void onClickCancelButton_shouldHandleCancelAction() {
+        mConfigureWifiEntryFragment.getCancelButton().performClick();
+
+        verify(mConfigureWifiEntryFragment).handleCancelAction();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/wifi/ConfigureWifiSettingsTest.java b/tests/robotests/src/com/android/settings/wifi/ConfigureWifiSettingsTest.java
index 2e3a111..77ef219 100644
--- a/tests/robotests/src/com/android/settings/wifi/ConfigureWifiSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/ConfigureWifiSettingsTest.java
@@ -2,18 +2,14 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.when;
 
 import android.content.Context;
-import android.net.ConnectivityManager;
-import android.net.NetworkInfo;
 
 import com.android.settings.testutils.XmlTestUtils;
 
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.robolectric.RobolectricTestRunner;
@@ -33,6 +29,7 @@
     }
 
     @Test
+    @Ignore
     public void testNonIndexableKeys_existInXmlLayout() {
         final List<String> niks =
             ConfigureWifiSettings.SEARCH_INDEX_DATA_PROVIDER.getNonIndexableKeys(mContext);
@@ -54,41 +51,4 @@
         assertThat(keys).isNotNull();
         assertThat(niks).containsAllIn(keys);
     }
-
-    @Test
-    public void testNonIndexableKeys_noConnection_blocksIP() {
-        ConnectivityManager manager = mock(ConnectivityManager.class);
-        when(manager.getActiveNetworkInfo()).thenReturn(null);
-        doReturn(manager).when(mContext).getSystemService(Context.CONNECTIVITY_SERVICE);
-
-        final List<String> niks =
-            ConfigureWifiSettings.SEARCH_INDEX_DATA_PROVIDER.getNonIndexableKeys(mContext);
-        assertThat(niks).contains(ConfigureWifiSettings.KEY_IP_ADDRESS);
-    }
-
-    @Test
-    public void testNonIndexableKeys_wifiConnection_blocksIP() {
-        ConnectivityManager manager = mock(ConnectivityManager.class);
-        NetworkInfo info = mock(NetworkInfo.class);
-        when(info.getType()).thenReturn(ConnectivityManager.TYPE_WIFI);
-        when(manager.getActiveNetworkInfo()).thenReturn(info);
-        doReturn(manager).when(mContext).getSystemService(Context.CONNECTIVITY_SERVICE);
-
-        final List<String> niks =
-            ConfigureWifiSettings.SEARCH_INDEX_DATA_PROVIDER.getNonIndexableKeys(mContext);
-        assertThat(niks).contains(ConfigureWifiSettings.KEY_IP_ADDRESS);
-    }
-
-    @Test
-    public void testNonIndexableKeys_mobileConnection_blocksIP() {
-        ConnectivityManager manager = mock(ConnectivityManager.class);
-        NetworkInfo info = mock(NetworkInfo.class);
-        when(info.getType()).thenReturn(ConnectivityManager.TYPE_MOBILE);
-        when(manager.getActiveNetworkInfo()).thenReturn(info);
-        doReturn(manager).when(mContext).getSystemService(Context.CONNECTIVITY_SERVICE);
-
-        final List<String> niks =
-            ConfigureWifiSettings.SEARCH_INDEX_DATA_PROVIDER.getNonIndexableKeys(mContext);
-        assertThat(niks).doesNotContain(ConfigureWifiSettings.KEY_IP_ADDRESS);
-    }
 }
diff --git a/tests/robotests/src/com/android/settings/wifi/ConnectedWifiEntryPreferenceTest.java b/tests/robotests/src/com/android/settings/wifi/ConnectedWifiEntryPreferenceTest.java
new file mode 100644
index 0000000..401fdcf
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/wifi/ConnectedWifiEntryPreferenceTest.java
@@ -0,0 +1,82 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.wifi;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.view.View;
+
+import com.android.settings.R;
+import com.android.wifitrackerlib.WifiEntry;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+@RunWith(RobolectricTestRunner.class)
+public class ConnectedWifiEntryPreferenceTest {
+
+    @Mock
+    private WifiEntry mWifiEntry;
+    @Mock
+    private View mView;
+    @Mock
+    private ConnectedWifiEntryPreference.OnGearClickListener mOnGearClickListener;
+    private Context mContext;
+    private ConnectedWifiEntryPreference mConnectedWifiEntryPreference;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+
+        mContext = RuntimeEnvironment.application;
+        mConnectedWifiEntryPreference = new ConnectedWifiEntryPreference(mContext, mWifiEntry,
+                null /* fragment */);
+        mConnectedWifiEntryPreference.setOnGearClickListener(mOnGearClickListener);
+    }
+
+    @Test
+    public void testOnClick_gearClicked_listenerInvoked() {
+        when(mView.getId()).thenReturn(R.id.settings_button);
+
+        mConnectedWifiEntryPreference.onClick(mView);
+
+        verify(mOnGearClickListener).onGearClick(mConnectedWifiEntryPreference);
+    }
+
+    @Test
+    public void testOnClick_gearNotClicked_listenerNotInvoked() {
+        mConnectedWifiEntryPreference.onClick(mView);
+
+        verify(mOnGearClickListener, never()).onGearClick(mConnectedWifiEntryPreference);
+    }
+
+    @Test
+    public void testWidgetLayoutPreference() {
+        assertThat(mConnectedWifiEntryPreference.getWidgetLayoutResource())
+            .isEqualTo(R.layout.preference_widget_gear_optional_background);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/wifi/NetworkRequestDialogActivityTest.java b/tests/robotests/src/com/android/settings/wifi/NetworkRequestDialogActivityTest.java
index 4c7d02d..c744647 100644
--- a/tests/robotests/src/com/android/settings/wifi/NetworkRequestDialogActivityTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/NetworkRequestDialogActivityTest.java
@@ -18,11 +18,22 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
+import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
 
+import android.content.Context;
+import android.net.wifi.WifiConfiguration;
+import android.net.wifi.WifiManager;
+import android.os.Bundle;
+
+import androidx.annotation.Nullable;
 import androidx.appcompat.app.AlertDialog;
 
 import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
+import com.android.settings.wifi.NetworkRequestErrorDialogFragment.ERROR_DIALOG_TYPE;
 import com.android.settingslib.wifi.WifiTracker;
 import com.android.settingslib.wifi.WifiTrackerFactory;
 
@@ -31,25 +42,88 @@
 import org.junit.runner.RunWith;
 import org.robolectric.Robolectric;
 import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
+import org.robolectric.shadows.ShadowLooper;
 
 @RunWith(RobolectricTestRunner.class)
 @Config(shadows = ShadowAlertDialogCompat.class)
 public class NetworkRequestDialogActivityTest {
 
+    NetworkRequestDialogActivity mActivity;
+    WifiManager mWifiManager;
+    Context mContext;
+
     @Before
     public void setUp() {
-        // Mocks fake WifiTracker, in case of exception in NetworkRequestDialogFragment.onResume().
+        mContext = spy(RuntimeEnvironment.application);
+
         WifiTracker wifiTracker = mock(WifiTracker.class);
         WifiTrackerFactory.setTestingWifiTracker(wifiTracker);
+
+        NetworkRequestDialogActivity activity =
+            Robolectric.setupActivity(NetworkRequestDialogActivity.class);
+        mActivity = spy(activity);
+
+        mWifiManager = mock(WifiManager.class);
+        when(mActivity.getSystemService(Context.WIFI_SERVICE)).thenReturn(mWifiManager);
     }
 
     @Test
-    public void launchActivity_shouldShowNetworkRequestDialog() {
-        Robolectric.setupActivity(NetworkRequestDialogActivity.class);
-
-        final AlertDialog alertDialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+    public void LaunchActivity_shouldShowNetworkRequestDialog() {
+        AlertDialog alertDialog = ShadowAlertDialogCompat.getLatestAlertDialog();
 
         assertThat(alertDialog.isShowing()).isTrue();
     }
+
+    @Test
+    public void onResume_shouldRegisterCallback() {
+        mActivity.onResume();
+
+        verify(mWifiManager).registerNetworkRequestMatchCallback(any(), any());
+    }
+
+    @Test
+    public void onPause_shouldUnRegisterCallback() {
+        mActivity.onPause();
+
+        verify(mWifiManager).unregisterNetworkRequestMatchCallback(mActivity);
+    }
+
+    @Test
+    public void onResumeAndWaitTimeout_shouldCallTimeoutDialog() {
+        FakeNetworkRequestDialogActivity fakeActivity =
+            Robolectric.setupActivity(FakeNetworkRequestDialogActivity.class);
+
+        fakeActivity.onResume();
+        ShadowLooper.getShadowMainLooper().runToEndOfTasks();
+
+        assertThat(fakeActivity.bCalledStopAndPop).isTrue();
+        assertThat(fakeActivity.errorType).isEqualTo(ERROR_DIALOG_TYPE.TIME_OUT);
+    }
+
+    public static class FakeNetworkRequestDialogActivity extends NetworkRequestDialogActivity {
+        boolean bCalledStopAndPop = false;
+        ERROR_DIALOG_TYPE errorType = null;
+
+        @Override
+        protected void onCreate(@Nullable Bundle savedInstanceState) {
+            super.onCreate(savedInstanceState);
+        }
+
+        @Override
+        public void stopScanningAndPopErrorDialog(ERROR_DIALOG_TYPE type) {
+            bCalledStopAndPop = true;
+            errorType = type;
+        }
+    }
+
+    @Test
+    public void updateAccessPointList_onUserSelectionConnectSuccess_shouldFinishActivity() {
+        final WifiConfiguration config = new WifiConfiguration();
+        config.SSID = "Test AP 3";
+        mActivity.onUserSelectionConnectSuccess(config);
+
+        verify(mActivity).finish();
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/wifi/NetworkRequestDialogFragmentTest.java b/tests/robotests/src/com/android/settings/wifi/NetworkRequestDialogFragmentTest.java
index 4202143..ccd6e6c 100644
--- a/tests/robotests/src/com/android/settings/wifi/NetworkRequestDialogFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/NetworkRequestDialogFragmentTest.java
@@ -18,7 +18,6 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
-import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.times;
@@ -29,7 +28,6 @@
 import android.content.DialogInterface;
 import android.content.Intent;
 import android.net.wifi.ScanResult;
-import android.net.wifi.WifiConfiguration;
 import android.net.wifi.WifiManager;
 import android.net.wifi.WifiManager.NetworkRequestUserSelectionCallback;
 import android.os.Bundle;
@@ -42,11 +40,9 @@
 
 import com.android.settings.R;
 import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
-import com.android.settings.wifi.NetworkRequestErrorDialogFragment.ERROR_DIALOG_TYPE;
 import com.android.settingslib.wifi.AccessPoint;
-
-import java.util.ArrayList;
-import java.util.List;
+import com.android.settingslib.wifi.WifiTracker;
+import com.android.settingslib.wifi.WifiTrackerFactory;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -56,10 +52,8 @@
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
 
-import com.android.settingslib.wifi.WifiTracker;
-import com.android.settingslib.wifi.WifiTrackerFactory;
-
-import org.robolectric.shadows.ShadowLooper;
+import java.util.ArrayList;
+import java.util.List;
 
 @RunWith(RobolectricTestRunner.class)
 @Config(shadows = ShadowAlertDialogCompat.class)
@@ -119,75 +113,7 @@
     }
 
     @Test
-    public void onResumeAndWaitTimeout_shouldCallTimeoutDialog() {
-        FakeNetworkRequestDialogFragment fakeFragment = new FakeNetworkRequestDialogFragment();
-        FakeNetworkRequestDialogFragment spyFakeFragment = spy(fakeFragment);
-        spyFakeFragment.show(mActivity.getSupportFragmentManager(), null);
-
-        assertThat(fakeFragment.bCalledStopAndPop).isFalse();
-
-        ShadowLooper.getShadowMainLooper().runToEndOfTasks();
-
-        assertThat(fakeFragment.bCalledStopAndPop).isTrue();
-        assertThat(fakeFragment.errorType).isEqualTo(ERROR_DIALOG_TYPE.TIME_OUT);
-    }
-
-    class FakeNetworkRequestDialogFragment extends NetworkRequestDialogFragment {
-        boolean bCalledStopAndPop = false;
-        ERROR_DIALOG_TYPE errorType = null;
-
-        @Override
-        public void stopScanningAndPopErrorDialog(ERROR_DIALOG_TYPE type) {
-            bCalledStopAndPop = true;
-            errorType = type;
-        }
-    }
-
-    @Test
-    public void onResume_shouldRegisterCallback() {
-        when(networkRequestDialogFragment.getContext()).thenReturn(mContext);
-        Context applicationContext = spy(RuntimeEnvironment.application.getApplicationContext());
-        when(mContext.getApplicationContext()).thenReturn(applicationContext);
-        WifiManager wifiManager = mock(WifiManager.class);
-        when(applicationContext.getSystemService(Context.WIFI_SERVICE)).thenReturn(wifiManager);
-
-        networkRequestDialogFragment.onResume();
-
-        verify(wifiManager).registerNetworkRequestMatchCallback(any(), any());
-    }
-
-    @Test
-    public void onPause_shouldUnRegisterCallback() {
-        when(networkRequestDialogFragment.getContext()).thenReturn(mContext);
-        Context applicationContext = spy(RuntimeEnvironment.application.getApplicationContext());
-        when(mContext.getApplicationContext()).thenReturn(applicationContext);
-        WifiManager wifiManager = mock(WifiManager.class);
-        when(applicationContext.getSystemService(Context.WIFI_SERVICE)).thenReturn(wifiManager);
-
-        networkRequestDialogFragment.onPause();
-
-        verify(wifiManager).unregisterNetworkRequestMatchCallback(networkRequestDialogFragment);
-    }
-
-    @Test
-    public void updateAccessPointList_onUserSelectionConnectSuccess_shouldFinishActivity() {
-        // Assert
-        final FragmentActivity spyActivity = spy(mActivity);
-        when(networkRequestDialogFragment.getActivity()).thenReturn(spyActivity);
-        networkRequestDialogFragment.show(spyActivity.getSupportFragmentManager(), "onUserSelectionConnectSuccess");
-
-        // Action
-        final WifiConfiguration config = new WifiConfiguration();
-        config.SSID = "Test AP 3";
-        networkRequestDialogFragment.onUserSelectionConnectSuccess(config);
-
-        // Check
-        verify(spyActivity).finish();
-    }
-
-    @Test
     public void onUserSelectionCallbackRegistration_onClick_shouldCallSelect() {
-        // Assert.
         final int indexClickItem = 3;
         List<AccessPoint> accessPointList = createAccessPointList();
         AccessPoint clickedAccessPoint = accessPointList.get(indexClickItem);
@@ -208,7 +134,6 @@
 
     @Test
     public void onMatch_shouldUpdatedList() {
-        // Assert.
         when(networkRequestDialogFragment.getContext()).thenReturn(mContext);
         Context applicationContext = spy(RuntimeEnvironment.application.getApplicationContext());
         when(mContext.getApplicationContext()).thenReturn(applicationContext);
@@ -219,15 +144,15 @@
         List<AccessPoint> accessPointList = createAccessPointList();
         when(mWifiTracker.getAccessPoints()).thenReturn(accessPointList);
 
-        final String SSID_AP1 = "Test AP 1";
-        final String SSID_AP2 = "Test AP 2";
+        final String ssidAp1 = "Test AP 1";
+        final String ssidAp2 = "Test AP 2";
         List<ScanResult> scanResults = new ArrayList<>();
-        ScanResult scanResult = new ScanResult();
-        scanResult.SSID = SSID_AP1;
+        ScanResult scanResult = mock(ScanResult.class);
+        scanResult.SSID = ssidAp1;
         scanResult.capabilities = "WEP";
         scanResults.add(scanResult);
-        scanResult = new ScanResult();
-        scanResult.SSID = SSID_AP2;
+        scanResult = mock(ScanResult.class);
+        scanResult.SSID = ssidAp2;
         scanResult.capabilities = "WEP";
         scanResults.add(scanResult);
 
@@ -238,8 +163,43 @@
         List<AccessPoint> returnList = networkRequestDialogFragment.getAccessPointList();
         assertThat(returnList).isNotEmpty();
         assertThat(returnList.size()).isEqualTo(2);
-        assertThat(returnList.get(0).getSsid()).isEqualTo(SSID_AP1);
-        assertThat(returnList.get(1).getSsid()).isEqualTo(SSID_AP2);
+        assertThat(returnList.get(0).getSsid()).isEqualTo(ssidAp1);
+        assertThat(returnList.get(1).getSsid()).isEqualTo(ssidAp2);
+    }
+
+    @Test
+    public void onAccessPointsChanged_shouldUpdatedList() {
+        when(networkRequestDialogFragment.getContext()).thenReturn(mContext);
+        Context applicationContext = spy(RuntimeEnvironment.application.getApplicationContext());
+        when(mContext.getApplicationContext()).thenReturn(applicationContext);
+        WifiManager wifiManager = mock(WifiManager.class);
+        when(applicationContext.getSystemService(Context.WIFI_SERVICE)).thenReturn(wifiManager);
+        networkRequestDialogFragment.onResume();
+
+        List<AccessPoint> accessPointList = new ArrayList<>();
+        when(mWifiTracker.getAccessPoints()).thenReturn(accessPointList);
+
+        final String ssidAp1 = "Test AP 1";
+        List<ScanResult> scanResults = new ArrayList<>();
+        ScanResult scanResult = mock(ScanResult.class);
+        scanResult.SSID = ssidAp1;
+        scanResult.capabilities = "WEP";
+        scanResults.add(scanResult);
+
+        // Act.
+        networkRequestDialogFragment.onMatch(scanResults);
+
+        accessPointList = createAccessPointList();
+        when(mWifiTracker.getAccessPoints()).thenReturn(accessPointList);
+
+        // Act.
+        networkRequestDialogFragment.mFilterWifiTracker.mWifiListener.onAccessPointsChanged();
+
+        // Check.
+        List<AccessPoint> returnList = networkRequestDialogFragment.getAccessPointList();
+        assertThat(returnList).isNotEmpty();
+        assertThat(returnList.size()).isEqualTo(1);
+        assertThat(returnList.get(0).getSsid()).isEqualTo(ssidAp1);
     }
 
     private List<AccessPoint> createAccessPointList() {
@@ -287,16 +247,14 @@
     public void onMatchManyResult_showNeutralButton() {
         networkRequestDialogFragment.show(mActivity.getSupportFragmentManager(), /* tag */ null);
         final AlertDialog alertDialog = ShadowAlertDialogCompat.getLatestAlertDialog();
-
-
         List<AccessPoint> accessPointList = createAccessPointList();
         when(mWifiTracker.getAccessPoints()).thenReturn(accessPointList);
 
-        final String SSID_AP = "Test AP ";
+        final String ssidAp = "Test AP ";
         final List<ScanResult> scanResults = new ArrayList<>();
         for (int i = 0; i < 7 ; i ++) {
-            ScanResult scanResult = new ScanResult();
-            scanResult.SSID = SSID_AP + i;
+            ScanResult scanResult = mock(ScanResult.class);
+            scanResult.SSID = ssidAp + i;
             scanResult.capabilities = "WEP";
             scanResults.add(scanResult);
         }
@@ -309,15 +267,14 @@
 
     @Test
     public void clickNeutralButton_hideNeutralButton() {
-        // Assert
         networkRequestDialogFragment.show(mActivity.getSupportFragmentManager(), /* tag */ null);
         final AlertDialog alertDialog = ShadowAlertDialogCompat.getLatestAlertDialog();
 
-        final String SSID_AP = "Test AP ";
+        final String ssidAp = "Test AP ";
         final List<ScanResult> scanResults = new ArrayList<>();
         for (int i = 0; i < 6 ; i ++) {
-            ScanResult scanResult = new ScanResult();
-            scanResult.SSID = SSID_AP + i;
+            ScanResult scanResult = mock(ScanResult.class);
+            scanResult.SSID = ssidAp + i;
             scanResult.capabilities = "WEP";
             scanResults.add(scanResult);
         }
@@ -333,7 +290,6 @@
 
     @Test
     public void cancelDialog_callsReject() {
-        // Assert
         networkRequestDialogFragment.show(mActivity.getSupportFragmentManager(), /* tag */ null);
         final AlertDialog alertDialog = ShadowAlertDialogCompat.getLatestAlertDialog();
         final NetworkRequestUserSelectionCallback selectionCallback = mock(
diff --git a/tests/robotests/src/com/android/settings/wifi/NetworkRequestErrorDialogFragmentTest.java b/tests/robotests/src/com/android/settings/wifi/NetworkRequestErrorDialogFragmentTest.java
index c7b1a89..c4bdda8 100644
--- a/tests/robotests/src/com/android/settings/wifi/NetworkRequestErrorDialogFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/NetworkRequestErrorDialogFragmentTest.java
@@ -17,7 +17,6 @@
 package com.android.settings.wifi;
 
 import static com.google.common.truth.Truth.assertThat;
-
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
@@ -27,16 +26,12 @@
 import android.net.wifi.WifiManager.NetworkRequestUserSelectionCallback;
 import android.os.Bundle;
 import android.widget.Button;
-
 import androidx.appcompat.app.AlertDialog;
-import androidx.fragment.app.FragmentActivity;
-
 import com.android.settings.R;
 import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
 import com.android.settings.wifi.NetworkRequestErrorDialogFragment.ERROR_DIALOG_TYPE;
 import com.android.settingslib.wifi.WifiTracker;
 import com.android.settingslib.wifi.WifiTrackerFactory;
-
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -49,19 +44,17 @@
 @Config(shadows = ShadowAlertDialogCompat.class)
 public class NetworkRequestErrorDialogFragmentTest {
 
-    private FragmentActivity mActivity;
+    private NetworkRequestDialogActivity mActivity;
     private NetworkRequestErrorDialogFragment mFragment;
-    private WifiTracker mWifiTracker;
 
     @Before
     public void setUp() {
-        mActivity = Robolectric.setupActivity(FragmentActivity.class);
+        WifiTracker wifiTracker = mock(WifiTracker.class);
+        WifiTrackerFactory.setTestingWifiTracker(wifiTracker);
+
+        mActivity = Robolectric.setupActivity(NetworkRequestDialogActivity.class);
         mFragment = spy(NetworkRequestErrorDialogFragment.newInstance());
         mFragment.show(mActivity.getSupportFragmentManager(), null);
-
-        // Prevents NPE when calling up NetworkRequestDialogFragment.
-        mWifiTracker = mock(WifiTracker.class);
-        WifiTrackerFactory.setTestingWifiTracker(mWifiTracker);
     }
 
     @Test
@@ -106,7 +99,7 @@
         assertThat(positiveButton).isNotNull();
 
         positiveButton.performClick();
-        verify(mFragment, times(1)).startScanningDialog();
+        verify(mFragment, times(1)).onRescanClick();
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/wifi/NotifyOpenNetworkPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/wifi/NotifyOpenNetworkPreferenceControllerTest.java
deleted file mode 100644
index 2cf7b21..0000000
--- a/tests/robotests/src/com/android/settings/wifi/NotifyOpenNetworkPreferenceControllerTest.java
+++ /dev/null
@@ -1,107 +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 android.provider.Settings.Global.WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
-
-import android.content.Context;
-import android.provider.Settings;
-
-import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
-
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-
-@RunWith(RobolectricTestRunner.class)
-public class NotifyOpenNetworkPreferenceControllerTest {
-
-    private Context mContext;
-    private NotifyOpenNetworksPreferenceController mController;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        mContext = RuntimeEnvironment.application;
-        mController = new NotifyOpenNetworksPreferenceController(mContext, mock(Lifecycle.class));
-    }
-
-    @Test
-    public void testIsAvailable_shouldAlwaysReturnTrue() {
-        assertThat(mController.isAvailable()).isTrue();
-    }
-
-    @Test
-    public void handlePreferenceTreeClick_nonMatchingKey_shouldDoNothing() {
-        final SwitchPreference pref = new SwitchPreference(mContext);
-
-        assertThat(mController.handlePreferenceTreeClick(pref)).isFalse();
-    }
-
-    @Test
-    public void handlePreferenceTreeClick_nonMatchingType_shouldDoNothing() {
-        final Preference pref = new Preference(mContext);
-        pref.setKey(mController.getPreferenceKey());
-
-        assertThat(mController.handlePreferenceTreeClick(pref)).isFalse();
-    }
-
-    @Test
-    public void handlePreferenceTreeClick_matchingKeyAndType_shouldUpdateSetting() {
-        final SwitchPreference pref = new SwitchPreference(mContext);
-        pref.setChecked(true);
-        pref.setKey(mController.getPreferenceKey());
-
-        assertThat(mController.handlePreferenceTreeClick(pref)).isTrue();
-        assertThat(Settings.Global.getInt(mContext.getContentResolver(),
-                WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON, 0))
-                .isEqualTo(1);
-    }
-
-    @Test
-    public void updateState_preferenceSetCheckedWhenSettingsAreEnabled() {
-        final SwitchPreference preference = mock(SwitchPreference.class);
-        Settings.Global.putInt(mContext.getContentResolver(),
-                WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON, 1);
-
-        mController.updateState(preference);
-
-        verify(preference).setChecked(true);
-    }
-
-    @Test
-    public void updateState_preferenceSetCheckedWhenSettingsAreDisabled() {
-        final SwitchPreference preference = mock(SwitchPreference.class);
-        Settings.Global.putInt(mContext.getContentResolver(),
-                WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON, 0);
-
-        mController.updateState(preference);
-
-        verify(preference).setChecked(false);
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/wifi/NotifyOpenNetworksPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/wifi/NotifyOpenNetworksPreferenceControllerTest.java
new file mode 100644
index 0000000..f9271a6
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/wifi/NotifyOpenNetworksPreferenceControllerTest.java
@@ -0,0 +1,102 @@
+/*
+ * 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 android.provider.Settings.Global.WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+
+import android.content.Context;
+import android.provider.Settings;
+
+import androidx.preference.Preference;
+import androidx.preference.SwitchPreference;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+@RunWith(RobolectricTestRunner.class)
+public class NotifyOpenNetworksPreferenceControllerTest {
+
+    private Context mContext;
+    private NotifyOpenNetworksPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mContext = RuntimeEnvironment.application;
+        mController = new NotifyOpenNetworksPreferenceController(mContext);
+    }
+
+    @Test
+    public void testIsAvailable_shouldAlwaysReturnTrue() {
+        assertThat(mController.isAvailable()).isTrue();
+    }
+
+    @Test
+    public void setChecked_withTrue_shouldUpdateSetting() {
+        Settings.Global.putInt(mContext.getContentResolver(),
+                WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON, 0);
+
+        mController.setChecked(true);
+
+        assertThat(Settings.Global.getInt(mContext.getContentResolver(),
+                WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON, 0))
+                .isEqualTo(1);
+    }
+
+    @Test
+    public void setChecked_withFalse_shouldUpdateSetting() {
+        Settings.Global.putInt(mContext.getContentResolver(),
+                WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON, 1);
+
+        mController.setChecked(false);
+
+        assertThat(Settings.Global.getInt(mContext.getContentResolver(),
+                WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON, 0))
+                .isEqualTo(0);
+    }
+
+    @Test
+    public void updateState_preferenceSetCheckedWhenSettingsAreEnabled() {
+        final SwitchPreference preference = mock(SwitchPreference.class);
+        Settings.Global.putInt(mContext.getContentResolver(),
+                WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON, 1);
+
+        mController.updateState(preference);
+
+        verify(preference).setChecked(true);
+    }
+
+    @Test
+    public void updateState_preferenceSetCheckedWhenSettingsAreDisabled() {
+        final SwitchPreference preference = mock(SwitchPreference.class);
+        Settings.Global.putInt(mContext.getContentResolver(),
+                WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON, 0);
+
+        mController.updateState(preference);
+
+        verify(preference).setChecked(false);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/wifi/UseOpenWifiPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/wifi/UseOpenWifiPreferenceControllerTest.java
index 47f1c26..beaa1a6 100644
--- a/tests/robotests/src/com/android/settings/wifi/UseOpenWifiPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/UseOpenWifiPreferenceControllerTest.java
@@ -43,7 +43,6 @@
 import androidx.preference.SwitchPreference;
 
 import com.android.settings.R;
-import com.android.settingslib.core.lifecycle.Lifecycle;
 
 import com.google.common.collect.Lists;
 
@@ -77,8 +76,6 @@
     }
 
     @Mock
-    private Lifecycle mLifecycle;
-    @Mock
     private Fragment mFragment;
     @Mock
     private NetworkScoreManager mNetworkScoreManager;
@@ -97,7 +94,8 @@
     }
 
     private void createController() {
-        mController = new UseOpenWifiPreferenceController(mContext, mFragment, mLifecycle);
+        mController = new UseOpenWifiPreferenceController(mContext);
+        mController.setFragment(mFragment);
     }
 
     /**
@@ -146,52 +144,28 @@
     }
 
     @Test
-    public void onPreferenceChange_nonMatchingKey_shouldDoNothing() {
-        createController();
-
-        final SwitchPreference pref = new SwitchPreference(mContext);
-
-        assertThat(mController.onPreferenceChange(pref, null)).isFalse();
-    }
-
-    @Test
-    public void onPreferenceChange_notAvailable_shouldDoNothing() {
-        createController();
-
-        final Preference pref = new Preference(mContext);
-        pref.setKey(mController.getPreferenceKey());
-
-        assertThat(mController.onPreferenceChange(pref, null)).isFalse();
-    }
-
-    @Test
-    public void onPreferenceChange_matchingKeyAndAvailable_enableShouldStartEnableActivity() {
+    public void setChecked_withTrue_enableShouldStartEnableActivity() {
         setupScorers(Lists.newArrayList(sAppData, sAppDataNoActivity));
         createController();
 
-        final SwitchPreference pref = new SwitchPreference(mContext);
-        pref.setKey(mController.getPreferenceKey());
+        mController.setChecked(true);
 
-        assertThat(mController.onPreferenceChange(pref, null)).isFalse();
         verify(mFragment).startActivityForResult(mIntentCaptor.capture(),
                 eq(REQUEST_CODE_OPEN_WIFI_AUTOMATICALLY));
-        Intent activityIntent = mIntentCaptor.getValue();
+        final Intent activityIntent = mIntentCaptor.getValue();
         assertThat(activityIntent.getComponent()).isEqualTo(sEnableActivityComponent);
         assertThat(activityIntent.getAction()).isEqualTo(NetworkScoreManager.ACTION_CUSTOM_ENABLE);
     }
 
     @Test
-    public void onPreferenceChange_matchingKeyAndAvailable_disableShouldUpdateSetting() {
+    public void setChecked_withFalse_disableShouldUpdateSetting() {
         setupScorers(Lists.newArrayList(sAppData, sAppDataNoActivity));
         Settings.Global.putString(mContext.getContentResolver(), USE_OPEN_WIFI_PACKAGE,
                 sEnableActivityComponent.getPackageName());
-
         createController();
 
-        final SwitchPreference pref = new SwitchPreference(mContext);
-        pref.setKey(mController.getPreferenceKey());
+        mController.setChecked(false);
 
-        assertThat(mController.onPreferenceChange(pref, null)).isTrue();
         assertThat(Settings.Global.getString(mContext.getContentResolver(), USE_OPEN_WIFI_PACKAGE))
                 .isEqualTo("");
     }
diff --git a/tests/robotests/src/com/android/settings/wifi/WifiConfigController2Test.java b/tests/robotests/src/com/android/settings/wifi/WifiConfigController2Test.java
new file mode 100644
index 0000000..c9bc346
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/wifi/WifiConfigController2Test.java
@@ -0,0 +1,571 @@
+/*
+ * 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;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.anyString;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.content.res.Resources;
+import android.net.IpConfiguration;
+import android.net.wifi.WifiConfiguration;
+import android.net.wifi.WifiEnterpriseConfig;
+import android.net.wifi.WifiEnterpriseConfig.Eap;
+import android.net.wifi.WifiEnterpriseConfig.Phase2;
+import android.net.wifi.WifiManager;
+import android.os.ServiceSpecificException;
+import android.security.KeyStore;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.inputmethod.InputMethodManager;
+import android.widget.ArrayAdapter;
+import android.widget.CheckBox;
+import android.widget.LinearLayout;
+import android.widget.Spinner;
+import android.widget.TextView;
+
+import com.android.settings.R;
+import com.android.settings.testutils.shadow.ShadowConnectivityManager;
+import com.android.settings.wifi.details.WifiPrivacyPreferenceController;
+import com.android.wifitrackerlib.WifiEntry;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.Shadows;
+import org.robolectric.annotation.Config;
+import org.robolectric.shadows.ShadowInputMethodManager;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(shadows = ShadowConnectivityManager.class)
+public class WifiConfigController2Test {
+
+    @Mock
+    private WifiConfigUiBase2 mConfigUiBase;
+    @Mock
+    private Context mContext;
+    @Mock
+    private WifiEntry mWifiEntry;
+    @Mock
+    private KeyStore mKeyStore;
+    private View mView;
+    private Spinner mHiddenSettingsSpinner;
+
+    public WifiConfigController2 mController;
+    private static final String HEX_PSK = "01234567012345670123456701234567012345670123456701234567"
+            + "01abcdef";
+    // An invalid ASCII PSK pass phrase. It is 64 characters long, must not be greater than 63
+    private static final String LONG_PSK =
+            "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijkl";
+    // An invalid PSK pass phrase. It is 7 characters long, must be at least 8
+    private static final String SHORT_PSK = "abcdefg";
+    // Valid PSK pass phrase
+    private static final String GOOD_PSK = "abcdefghijklmnopqrstuvwxyz";
+    private static final String GOOD_SSID = "abc";
+    private static final int DHCP = 0;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mContext = RuntimeEnvironment.application;
+        when(mConfigUiBase.getContext()).thenReturn(mContext);
+        when(mWifiEntry.getSecurity()).thenReturn(WifiEntry.SECURITY_PSK);
+        mView = LayoutInflater.from(mContext).inflate(R.layout.wifi_dialog, null);
+        final Spinner ipSettingsSpinner = mView.findViewById(R.id.ip_settings);
+        mHiddenSettingsSpinner = mView.findViewById(R.id.hidden_settings);
+        ipSettingsSpinner.setSelection(DHCP);
+
+        mController = new TestWifiConfigController2(mConfigUiBase, mView, mWifiEntry,
+                WifiConfigUiBase2.MODE_CONNECT);
+    }
+
+    @Test
+    public void ssidExceeds32Bytes_shouldShowSsidTooLongWarning() {
+        mController = new TestWifiConfigController2(mConfigUiBase, mView, null /* wifiEntry */,
+                WifiConfigUiBase2.MODE_CONNECT);
+        final TextView ssid = mView.findViewById(R.id.ssid);
+        assertThat(ssid).isNotNull();
+        ssid.setText("☎☎☎☎☎☎☎☎☎☎☎☎☎☎☎☎☎☎☎☎☎☎☎☎☎☎☎☎☎☎☎☎☎☎");
+        mController.showWarningMessagesIfAppropriate();
+
+        assertThat(mView.findViewById(R.id.ssid_too_long_warning).getVisibility())
+                .isEqualTo(View.VISIBLE);
+    }
+
+    @Test
+    public void ssidShorterThan32Bytes_shouldNotShowSsidTooLongWarning() {
+        mController = new TestWifiConfigController2(mConfigUiBase, mView, null /* wifiEntry */,
+                WifiConfigUiBase2.MODE_CONNECT);
+
+        final TextView ssid = mView.findViewById(R.id.ssid);
+        assertThat(ssid).isNotNull();
+        ssid.setText("123456789012345678901234567890");
+        mController.showWarningMessagesIfAppropriate();
+
+        assertThat(mView.findViewById(R.id.ssid_too_long_warning).getVisibility())
+                .isEqualTo(View.GONE);
+
+        ssid.setText("123");
+        mController.showWarningMessagesIfAppropriate();
+
+        assertThat(mView.findViewById(R.id.ssid_too_long_warning).getVisibility())
+                .isEqualTo(View.GONE);
+    }
+
+    @Test
+    public void isSubmittable_noSSID_shouldReturnFalse() {
+        final TextView ssid = mView.findViewById(R.id.ssid);
+        assertThat(ssid).isNotNull();
+        ssid.setText("");
+        assertThat(mController.isSubmittable()).isFalse();
+    }
+
+    @Test
+    public void isSubmittable_longPsk_shouldReturnFalse() {
+        final TextView password = mView.findViewById(R.id.password);
+        assertThat(password).isNotNull();
+        password.setText(LONG_PSK);
+        assertThat(mController.isSubmittable()).isFalse();
+    }
+
+    @Test
+    public void isSubmittable_shortPsk_shouldReturnFalse() {
+        final TextView password = mView.findViewById(R.id.password);
+        assertThat(password).isNotNull();
+        password.setText(SHORT_PSK);
+        assertThat(mController.isSubmittable()).isFalse();
+    }
+
+    @Test
+    public void isSubmittable_goodPsk_shouldReturnTrue() {
+        final TextView password = mView.findViewById(R.id.password);
+        assertThat(password).isNotNull();
+        password.setText(GOOD_PSK);
+        assertThat(mController.isSubmittable()).isTrue();
+    }
+
+    @Test
+    public void isSubmittable_hexPsk_shouldReturnTrue() {
+        final TextView password = mView.findViewById(R.id.password);
+        assertThat(password).isNotNull();
+        password.setText(HEX_PSK);
+        assertThat(mController.isSubmittable()).isTrue();
+    }
+
+    @Test
+    public void isSubmittable_savedConfigZeroLengthPassword_shouldReturnTrue() {
+        final TextView password = mView.findViewById(R.id.password);
+        assertThat(password).isNotNull();
+        password.setText("");
+        when(mWifiEntry.isSaved()).thenReturn(true);
+        assertThat(mController.isSubmittable()).isTrue();
+    }
+
+    @Test
+    public void isSubmittable_nullWifiEntry_noException() {
+        mController = new TestWifiConfigController2(mConfigUiBase, mView, null,
+                WifiConfigUiBase2.MODE_CONNECT);
+        mController.isSubmittable();
+    }
+
+    @Test
+    public void isSubmittable_EapToPskWithValidPassword_shouldReturnTrue() {
+        mController = new TestWifiConfigController2(mConfigUiBase, mView, null,
+                WifiConfigUiBase2.MODE_CONNECT);
+        final TextView ssid = mView.findViewById(R.id.ssid);
+        final TextView password = mView.findViewById(R.id.password);
+        final Spinner securitySpinner = mView.findViewById(R.id.security);
+        assertThat(password).isNotNull();
+        assertThat(securitySpinner).isNotNull();
+        when(mWifiEntry.isSaved()).thenReturn(true);
+
+        // Change it from EAP to PSK
+        mController.onItemSelected(securitySpinner, null, WifiEntry.SECURITY_EAP, 0);
+        mController.onItemSelected(securitySpinner, null, WifiEntry.SECURITY_PSK, 0);
+        password.setText(GOOD_PSK);
+        ssid.setText(GOOD_SSID);
+
+        assertThat(mController.isSubmittable()).isTrue();
+    }
+
+    @Test
+    public void isSubmittable_EapWithAkaMethod_shouldReturnTrue() {
+        when(mWifiEntry.isSaved()).thenReturn(true);
+        mController.mWifiEntrySecurity = WifiEntry.SECURITY_EAP;
+        mView.findViewById(R.id.l_ca_cert).setVisibility(View.GONE);
+
+        assertThat(mController.isSubmittable()).isTrue();
+    }
+
+    @Test
+    public void getSignalString_notReachable_shouldHaveNoSignalString() {
+        when(mWifiEntry.getLevel()).thenReturn(WifiEntry.WIFI_LEVEL_UNREACHABLE);
+
+        assertThat(mController.getSignalString()).isNull();
+    }
+
+    @Test
+    public void loadCertificates_keyStoreListFail_shouldNotCrash() {
+        // Set up
+        when(mWifiEntry.getSecurity()).thenReturn(WifiEntry.SECURITY_EAP);
+        when(mKeyStore.list(anyString()))
+            .thenThrow(new ServiceSpecificException(-1, "permission error"));
+
+        mController = new TestWifiConfigController2(mConfigUiBase, mView, mWifiEntry,
+              WifiConfigUiBase2.MODE_CONNECT);
+
+        // Verify that the EAP method menu is visible.
+        assertThat(mView.findViewById(R.id.eap).getVisibility()).isEqualTo(View.VISIBLE);
+        // No Crash
+    }
+
+    @Test
+    public void loadCertificates_undesiredCertificates_shouldNotLoadUndesiredCertificates() {
+        final Spinner spinner = new Spinner(mContext);
+        when(mKeyStore.list(anyString())).thenReturn(WifiConfigController.UNDESIRED_CERTIFICATES);
+
+        mController.loadCertificates(spinner,
+                "prefix",
+                "doNotProvideEapUserCertString",
+                false /* showMultipleCerts */,
+                false /* showUsePreinstalledCertOption */);
+
+        assertThat(spinner.getAdapter().getCount()).isEqualTo(1);   // doNotProvideEapUserCertString
+    }
+
+    @Test
+    public void ssidGetFocus_addNewNetwork_shouldReturnTrue() {
+        mController = new TestWifiConfigController2(mConfigUiBase, mView, null /* wifiEntry */,
+                WifiConfigUiBase2.MODE_CONNECT);
+        final TextView ssid = mView.findViewById(R.id.ssid);
+        // Verify ssid text get focus when add new network (wifiEntry is null)
+        assertThat(ssid.isFocused()).isTrue();
+    }
+
+    @Test
+    public void passwordGetFocus_connectSecureWifi_shouldReturnTrue() {
+        final TextView password = mView.findViewById(R.id.password);
+        // Verify password get focus when connect to secure wifi without eap type
+        assertThat(password.isFocused()).isTrue();
+    }
+
+    @Test
+    public void hiddenWarning_warningVisibilityProperlyUpdated() {
+        View warningView = mView.findViewById(R.id.hidden_settings_warning);
+        mController.onItemSelected(mHiddenSettingsSpinner, null, mController.HIDDEN_NETWORK, 0);
+        assertThat(warningView.getVisibility()).isEqualTo(View.VISIBLE);
+
+        mController.onItemSelected(mHiddenSettingsSpinner, null, mController.NOT_HIDDEN_NETWORK, 0);
+        assertThat(warningView.getVisibility()).isEqualTo(View.GONE);
+    }
+
+    @Test
+    public void hiddenField_visibilityUpdatesCorrectly() {
+        View hiddenField = mView.findViewById(R.id.hidden_settings_field);
+        assertThat(hiddenField.getVisibility()).isEqualTo(View.GONE);
+
+        mController = new TestWifiConfigController2(mConfigUiBase, mView, null /* wifiEntry */,
+                WifiConfigUiBase2.MODE_CONNECT);
+        assertThat(hiddenField.getVisibility()).isEqualTo(View.VISIBLE);
+    }
+
+    @Test
+    public void securitySpinner_saeSuitebAndOweNotVisible() {
+        securitySpinnerTestHelper(false, false, false);
+    }
+
+    @Test
+    public void securitySpinner_saeSuitebAndOweVisible() {
+        securitySpinnerTestHelper(true, true, true);
+    }
+
+    @Test
+    public void securitySpinner_saeVisible_suitebAndOweNotVisible() {
+        securitySpinnerTestHelper(true, false, false);
+    }
+
+    @Test
+    public void securitySpinner_oweVisible_suitebAndSaeNotVisible() {
+        securitySpinnerTestHelper(false, false, true);
+    }
+
+    private void securitySpinnerTestHelper(boolean saeVisible, boolean suitebVisible,
+            boolean oweVisible) {
+        WifiManager wifiManager = mock(WifiManager.class);
+        when(wifiManager.isWpa3SaeSupported()).thenReturn(saeVisible);
+        when(wifiManager.isWpa3SuiteBSupported()).thenReturn(suitebVisible);
+        when(wifiManager.isEnhancedOpenSupported()).thenReturn(oweVisible);
+
+        mController = new TestWifiConfigController2(mConfigUiBase, mView, null /* wifiEntry */,
+                WifiConfigUiBase2.MODE_MODIFY, wifiManager);
+
+        final Spinner securitySpinner = mView.findViewById(R.id.security);
+        final ArrayAdapter<String> adapter = (ArrayAdapter) securitySpinner.getAdapter();
+        boolean saeFound = false;
+        boolean suitebFound = false;
+        boolean oweFound = false;
+        for (int i = 0; i < adapter.getCount(); i++) {
+            String val = adapter.getItem(i);
+
+            if (val.compareTo(mContext.getString(R.string.wifi_security_sae)) == 0) {
+                saeFound = true;
+            }
+
+            if (val.compareTo(mContext.getString(R.string.wifi_security_eap_suiteb)) == 0) {
+                suitebFound = true;
+            }
+
+            if (val.compareTo(mContext.getString(R.string.wifi_security_owe)) == 0) {
+                oweFound = true;
+            }
+        }
+
+        if (saeVisible) {
+            assertThat(saeFound).isTrue();
+        } else {
+            assertThat(saeFound).isFalse();
+        }
+        if (suitebVisible) {
+            assertThat(suitebFound).isTrue();
+        } else {
+            assertThat(suitebFound).isFalse();
+        }
+        if (oweVisible) {
+            assertThat(oweFound).isTrue();
+        } else {
+            assertThat(oweFound).isFalse();
+        }
+    }
+
+    public class TestWifiConfigController2 extends WifiConfigController2 {
+
+        private TestWifiConfigController2(
+                WifiConfigUiBase2 parent, View view, WifiEntry wifiEntry, int mode) {
+            super(parent, view, wifiEntry, mode);
+        }
+
+        private TestWifiConfigController2(
+                WifiConfigUiBase2 parent, View view, WifiEntry wifiEntry, int mode,
+                    WifiManager wifiManager) {
+            super(parent, view, wifiEntry, mode, wifiManager);
+        }
+
+        @Override
+        boolean isSplitSystemUser() {
+            return false;
+        }
+
+        @Override
+        KeyStore getKeyStore() {
+            return mKeyStore;
+        }
+    }
+
+    @Test
+    public void loadMacRandomizedValue_shouldPersistentAsDefault() {
+        final Spinner privacySetting = mView.findViewById(R.id.privacy_settings);
+        final int prefPersist =
+                WifiPrivacyPreferenceController.translateMacRandomizedValueToPrefValue(
+                        WifiConfiguration.RANDOMIZATION_PERSISTENT);
+
+        assertThat(privacySetting.getVisibility()).isEqualTo(View.VISIBLE);
+        assertThat(privacySetting.getSelectedItemPosition()).isEqualTo(prefPersist);
+    }
+
+    @Test
+    public void loadSavedMacRandomizedPersistentValue_shouldCorrectMacValue() {
+        checkSavedMacRandomizedValue(WifiConfiguration.RANDOMIZATION_PERSISTENT);
+    }
+
+    @Test
+    public void loadSavedMacRandomizedNoneValue_shouldCorrectMacValue() {
+        checkSavedMacRandomizedValue(WifiConfiguration.RANDOMIZATION_NONE);
+    }
+
+    private void checkSavedMacRandomizedValue(int macRandomizedValue) {
+        when(mWifiEntry.isSaved()).thenReturn(true);
+        final WifiConfiguration mockWifiConfig = mock(WifiConfiguration.class);
+        when(mockWifiConfig.getIpConfiguration()).thenReturn(mock(IpConfiguration.class));
+        when(mWifiEntry.getWifiConfiguration()).thenReturn(mockWifiConfig);
+        mockWifiConfig.macRandomizationSetting = macRandomizedValue;
+        mController = new TestWifiConfigController2(mConfigUiBase, mView, mWifiEntry,
+                WifiConfigUiBase2.MODE_CONNECT);
+
+        final Spinner privacySetting = mView.findViewById(R.id.privacy_settings);
+        final int expectedPrefValue =
+                WifiPrivacyPreferenceController.translateMacRandomizedValueToPrefValue(
+                        macRandomizedValue);
+
+        assertThat(privacySetting.getVisibility()).isEqualTo(View.VISIBLE);
+        assertThat(privacySetting.getSelectedItemPosition()).isEqualTo(expectedPrefValue);
+    }
+
+    @Test
+    public void saveMacRandomizedValue_noChanged_shouldPersistentAsDefault() {
+        WifiConfiguration config = mController.getConfig();
+        assertThat(config.macRandomizationSetting).isEqualTo(
+                WifiConfiguration.RANDOMIZATION_PERSISTENT);
+    }
+
+    @Test
+    public void saveMacRandomizedValue_ChangedToNone_shouldGetNone() {
+        final Spinner privacySetting = mView.findViewById(R.id.privacy_settings);
+        final int prefMacNone =
+                WifiPrivacyPreferenceController.translateMacRandomizedValueToPrefValue(
+                        WifiConfiguration.RANDOMIZATION_NONE);
+        privacySetting.setSelection(prefMacNone);
+
+        WifiConfiguration config = mController.getConfig();
+        assertThat(config.macRandomizationSetting).isEqualTo(WifiConfiguration.RANDOMIZATION_NONE);
+    }
+
+    @Test
+    public void replaceTtsString_whenTargetMatched_shouldSuccess() {
+        final CharSequence[] display = {"PEAP", "AKA1", "AKA2'"};
+        final CharSequence[] target = {"AKA1", "AKA2'"};
+        final CharSequence[] ttsString = {"AKA1_TTS", "AKA2_TTS"};
+
+        final CharSequence[] resultTts = mController.findAndReplaceTargetStrings(display, target,
+            ttsString);
+
+        assertThat(resultTts[0]).isEqualTo("PEAP");
+        assertThat(resultTts[1]).isEqualTo("AKA1_TTS");
+        assertThat(resultTts[2]).isEqualTo("AKA2_TTS");
+    }
+
+    @Test
+    public void replaceTtsString_whenNoTargetStringMatched_originalStringShouldNotChanged() {
+        final CharSequence[] display = {"PEAP", "AKA1", "AKA2"};
+        final CharSequence[] target = {"WEP1", "WEP2'"};
+        final CharSequence[] ttsString = {"WEP1_TTS", "WEP2_TTS"};
+
+        final CharSequence[] resultTts = mController.findAndReplaceTargetStrings(display, target,
+            ttsString);
+
+        assertThat(resultTts[0]).isEqualTo("PEAP");
+        assertThat(resultTts[1]).isEqualTo("AKA1");
+        assertThat(resultTts[2]).isEqualTo("AKA2");
+    }
+
+    @Test
+    public void checktEapMethodTargetAndTtsArraylength_shouldHaveSameCount() {
+        final Resources resources = mContext.getResources();
+        final String[] targetStringArray = resources.getStringArray(
+            R.array.wifi_eap_method_target_strings);
+        final String[] ttsStringArray = resources.getStringArray(
+            R.array.wifi_eap_method_tts_strings);
+
+        assertThat(targetStringArray.length).isEqualTo(ttsStringArray.length);
+    }
+
+    @Test
+    public void selectSecurity_wpa3Eap192bit_eapMethodTls() {
+        final WifiManager wifiManager = mock(WifiManager.class);
+        when(wifiManager.isWpa3SuiteBSupported()).thenReturn(true);
+        mController = new TestWifiConfigController2(mConfigUiBase, mView, null /* wifiEntry */,
+                WifiConfigUiBase2.MODE_MODIFY, wifiManager);
+        final Spinner securitySpinner = mView.findViewById(R.id.security);
+        final Spinner eapMethodSpinner = mView.findViewById(R.id.method);
+        int wpa3Eap192bitPosition = -1;
+        final int securityCount = mController.mSecurityInPosition.length;
+        for (int i = 0; i < securityCount; i++) {
+            if (mController.mSecurityInPosition[i] != null
+                    && mController.mSecurityInPosition[i] == WifiEntry.SECURITY_EAP_SUITE_B) {
+                wpa3Eap192bitPosition = i;
+            }
+        }
+
+        mController.onItemSelected(securitySpinner, /* view */ null, wpa3Eap192bitPosition,
+                /* id */ 0);
+
+        final int selectedItemPosition = eapMethodSpinner.getSelectedItemPosition();
+        assertThat(eapMethodSpinner.getSelectedItem().toString()).isEqualTo("TLS");
+    }
+
+    @Test
+    public void checkImeStatus_whenAdvancedToggled_shouldBeHide() {
+        final InputMethodManager inputMethodManager = mContext
+                .getSystemService(InputMethodManager.class);
+        final ShadowInputMethodManager shadowImm = Shadows.shadowOf(inputMethodManager);
+        final CheckBox advButton = mView.findViewById(R.id.wifi_advanced_togglebox);
+
+        inputMethodManager.showSoftInput(null /* view */, 0 /* flags */);
+        advButton.performClick();
+
+        assertThat(shadowImm.isSoftInputVisible()).isFalse();
+    }
+
+    @Test
+    public void selectEapMethod_savedWifiEntry_shouldGetCorrectPosition() {
+        when(mWifiEntry.isSaved()).thenReturn(true);
+        when(mWifiEntry.getSecurity()).thenReturn(WifiEntry.SECURITY_EAP);
+        final WifiConfiguration mockWifiConfig = mock(WifiConfiguration.class);
+        when(mockWifiConfig.getIpConfiguration()).thenReturn(mock(IpConfiguration.class));
+        final WifiEnterpriseConfig mockWifiEnterpriseConfig = mock(WifiEnterpriseConfig.class);
+        when(mockWifiEnterpriseConfig.getEapMethod()).thenReturn(Eap.PEAP);
+        mockWifiConfig.enterpriseConfig = mockWifiEnterpriseConfig;
+        when(mWifiEntry.getWifiConfiguration()).thenReturn(mockWifiConfig);
+        mController = new TestWifiConfigController2(mConfigUiBase, mView, mWifiEntry,
+                WifiConfigUiBase2.MODE_MODIFY);
+        final Spinner eapMethodSpinner = mView.findViewById(R.id.method);
+        final Spinner phase2Spinner = mView.findViewById(R.id.phase2);
+        WifiConfiguration wifiConfiguration;
+
+        // Test EAP method PEAP
+        eapMethodSpinner.setSelection(Eap.PEAP);
+        phase2Spinner.setSelection(WifiConfigController2.WIFI_PEAP_PHASE2_MSCHAPV2);
+        wifiConfiguration = mController.getConfig();
+
+        assertThat(wifiConfiguration.enterpriseConfig.getEapMethod()).isEqualTo(Eap.PEAP);
+        assertThat(wifiConfiguration.enterpriseConfig.getPhase2Method()).isEqualTo(
+                Phase2.MSCHAPV2);
+
+        // Test EAP method TTLS
+        eapMethodSpinner.setSelection(Eap.TTLS);
+        phase2Spinner.setSelection(WifiConfigController2.WIFI_TTLS_PHASE2_MSCHAPV2);
+        wifiConfiguration = mController.getConfig();
+
+        assertThat(wifiConfiguration.enterpriseConfig.getEapMethod()).isEqualTo(Eap.TTLS);
+        assertThat(wifiConfiguration.enterpriseConfig.getPhase2Method()).isEqualTo(
+                Phase2.MSCHAPV2);
+    }
+
+    @Test
+    public void getHiddenSettingsPosition_whenAdvancedToggled_shouldBeFirst() {
+        final LinearLayout advancedFieldsLayout = mView.findViewById(R.id.wifi_advanced_fields);
+        final LinearLayout hiddenSettingLayout = mView.findViewById(R.id.hidden_settings_field);
+
+        final LinearLayout firstChild = (LinearLayout) advancedFieldsLayout.getChildAt(0);
+
+        assertThat(firstChild).isEqualTo(hiddenSettingLayout);
+    }
+
+    @Test
+    public void getAdvancedOptionContentDescription_whenViewInitialed_shouldBeCorrect() {
+        final CheckBox advButton = mView.findViewById(R.id.wifi_advanced_togglebox);
+
+        assertThat(advButton.getContentDescription()).isEqualTo(
+                mContext.getString(R.string.wifi_advanced_toggle_description));
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/wifi/WifiConfigControllerTest.java b/tests/robotests/src/com/android/settings/wifi/WifiConfigControllerTest.java
index 817bf44..9146998 100644
--- a/tests/robotests/src/com/android/settings/wifi/WifiConfigControllerTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/WifiConfigControllerTest.java
@@ -18,15 +18,13 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
-import static org.mockito.Mockito.any;
-import static org.mockito.Mockito.anyBoolean;
-import static org.mockito.Mockito.anyInt;
 import static org.mockito.Mockito.anyString;
 import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
 import android.content.Context;
+import android.content.res.Resources;
+import android.net.IpConfiguration;
 import android.net.wifi.WifiConfiguration;
 import android.net.wifi.WifiEnterpriseConfig;
 import android.net.wifi.WifiEnterpriseConfig.Eap;
@@ -36,8 +34,10 @@
 import android.security.KeyStore;
 import android.view.LayoutInflater;
 import android.view.View;
-import android.view.ViewGroup;
+import android.view.inputmethod.InputMethodManager;
 import android.widget.ArrayAdapter;
+import android.widget.CheckBox;
+import android.widget.LinearLayout;
 import android.widget.Spinner;
 import android.widget.TextView;
 
@@ -53,7 +53,9 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.Shadows;
 import org.robolectric.annotation.Config;
+import org.robolectric.shadows.ShadowInputMethodManager;
 
 @RunWith(RobolectricTestRunner.class)
 @Config(shadows = ShadowConnectivityManager.class)
@@ -224,34 +226,6 @@
     }
 
     @Test
-    public void showForCarrierAp() {
-        // Setup the mock view for wifi dialog.
-        View view = mock(View.class);
-        TextView nameText = mock(TextView.class);
-        TextView valueText = mock(TextView.class);
-        when(view.findViewById(R.id.name)).thenReturn(nameText);
-        when(view.findViewById(R.id.value)).thenReturn(valueText);
-        LayoutInflater inflater = mock(LayoutInflater.class);
-        when(inflater.inflate(anyInt(), any(ViewGroup.class), anyBoolean())).thenReturn(view);
-        when(mConfigUiBase.getLayoutInflater()).thenReturn(inflater);
-
-        String carrierName = "Test Carrier";
-        when(mAccessPoint.isCarrierAp()).thenReturn(true);
-        when(mAccessPoint.getCarrierName()).thenReturn(carrierName);
-        mController = new TestWifiConfigController(mConfigUiBase, mView, mAccessPoint,
-                WifiConfigUiBase.MODE_CONNECT);
-        // Verify the content of the text fields.
-        verify(nameText).setText(R.string.wifi_carrier_connect);
-        verify(valueText).setText(
-                String.format(mContext.getString(R.string.wifi_carrier_content), carrierName));
-        // Verify that the advance toggle is not visible.
-        assertThat(mView.findViewById(R.id.wifi_advanced_toggle).getVisibility())
-                .isEqualTo(View.GONE);
-        // Verify that the EAP method menu is not visible.
-        assertThat(mView.findViewById(R.id.eap).getVisibility()).isEqualTo(View.GONE);
-    }
-
-    @Test
     public void loadCertificates_keyStoreListFail_shouldNotCrash() {
         // Set up
         when(mAccessPoint.getSecurity()).thenReturn(AccessPoint.SECURITY_EAP);
@@ -430,6 +404,7 @@
     private void checkSavedMacRandomizedValue(int macRandomizedValue) {
         when(mAccessPoint.isSaved()).thenReturn(true);
         final WifiConfiguration mockWifiConfig = mock(WifiConfiguration.class);
+        when(mockWifiConfig.getIpConfiguration()).thenReturn(mock(IpConfiguration.class));
         when(mAccessPoint.getConfig()).thenReturn(mockWifiConfig);
         mockWifiConfig.macRandomizationSetting = macRandomizedValue;
         mController = new TestWifiConfigController(mConfigUiBase, mView, mAccessPoint,
@@ -464,6 +439,45 @@
     }
 
     @Test
+    public void replaceTtsString_whenTargetMatched_shouldSuccess() {
+        final CharSequence[] display = {"PEAP", "AKA1", "AKA2'"};
+        final CharSequence[] target = {"AKA1", "AKA2'"};
+        final CharSequence[] ttsString = {"AKA1_TTS", "AKA2_TTS"};
+
+        final CharSequence[] resultTts = mController.findAndReplaceTargetStrings(display, target,
+            ttsString);
+
+        assertThat(resultTts[0]).isEqualTo("PEAP");
+        assertThat(resultTts[1]).isEqualTo("AKA1_TTS");
+        assertThat(resultTts[2]).isEqualTo("AKA2_TTS");
+    }
+
+    @Test
+    public void replaceTtsString_whenNoTargetStringMatched_originalStringShouldNotChanged() {
+        final CharSequence[] display = {"PEAP", "AKA1", "AKA2"};
+        final CharSequence[] target = {"WEP1", "WEP2'"};
+        final CharSequence[] ttsString = {"WEP1_TTS", "WEP2_TTS"};
+
+        final CharSequence[] resultTts = mController.findAndReplaceTargetStrings(display, target,
+            ttsString);
+
+        assertThat(resultTts[0]).isEqualTo("PEAP");
+        assertThat(resultTts[1]).isEqualTo("AKA1");
+        assertThat(resultTts[2]).isEqualTo("AKA2");
+    }
+
+    @Test
+    public void checktEapMethodTargetAndTtsArraylength_shouldHaveSameCount() {
+        final Resources resources = mContext.getResources();
+        final String[] targetStringArray = resources.getStringArray(
+            R.array.wifi_eap_method_target_strings);
+        final String[] ttsStringArray = resources.getStringArray(
+            R.array.wifi_eap_method_tts_strings);
+
+        assertThat(targetStringArray.length).isEqualTo(ttsStringArray.length);
+    }
+
+    @Test
     public void selectSecurity_wpa3Eap192bit_eapMethodTls() {
         final WifiManager wifiManager = mock(WifiManager.class);
         when(wifiManager.isWpa3SuiteBSupported()).thenReturn(true);
@@ -480,18 +494,32 @@
             }
         }
 
-        mController.onItemSelected(securitySpinner, null /* view */, wpa3Eap192bitPosition,
-                0 /* id */);
+        mController.onItemSelected(securitySpinner, /* view */ null, wpa3Eap192bitPosition,
+                /* id */ 0);
 
         final int selectedItemPosition = eapMethodSpinner.getSelectedItemPosition();
         assertThat(eapMethodSpinner.getSelectedItem().toString()).isEqualTo("TLS");
     }
 
     @Test
+    public void checkImeStatus_whenAdvancedToggled_shouldBeHide() {
+        final InputMethodManager inputMethodManager = mContext
+                .getSystemService(InputMethodManager.class);
+        final ShadowInputMethodManager shadowImm = Shadows.shadowOf(inputMethodManager);
+        final CheckBox advButton = mView.findViewById(R.id.wifi_advanced_togglebox);
+
+        inputMethodManager.showSoftInput(null /* view */, 0 /* flags */);
+        advButton.performClick();
+
+        assertThat(shadowImm.isSoftInputVisible()).isFalse();
+    }
+
+    @Test
     public void selectEapMethod_savedAccessPoint_shouldGetCorrectPosition() {
         when(mAccessPoint.isSaved()).thenReturn(true);
         when(mAccessPoint.getSecurity()).thenReturn(AccessPoint.SECURITY_EAP);
         final WifiConfiguration mockWifiConfig = mock(WifiConfiguration.class);
+        when(mockWifiConfig.getIpConfiguration()).thenReturn(mock(IpConfiguration.class));
         final WifiEnterpriseConfig mockWifiEnterpriseConfig = mock(WifiEnterpriseConfig.class);
         when(mockWifiEnterpriseConfig.getEapMethod()).thenReturn(Eap.PEAP);
         mockWifiConfig.enterpriseConfig = mockWifiEnterpriseConfig ;
@@ -520,4 +548,31 @@
         assertThat(wifiConfiguration.enterpriseConfig.getPhase2Method()).isEqualTo(
                 Phase2.MSCHAPV2);
     }
+
+    @Test
+    public void getHiddenSettingsPosition_whenAdvancedToggled_shouldBeFirst() {
+        final LinearLayout advancedFieldsLayout = mView.findViewById(R.id.wifi_advanced_fields);
+        final LinearLayout hiddenSettingLayout = mView.findViewById(R.id.hidden_settings_field);
+
+        final LinearLayout firstChild = (LinearLayout) advancedFieldsLayout.getChildAt(0);
+
+        assertThat(firstChild).isEqualTo(hiddenSettingLayout);
+    }
+
+    @Test
+    public void getAdvancedOptionContentDescription_whenViewInitialed_shouldBeCorrect() {
+        final CheckBox advButton = mView.findViewById(R.id.wifi_advanced_togglebox);
+
+        assertThat(advButton.getContentDescription()).isEqualTo(
+                mContext.getString(R.string.wifi_advanced_toggle_description));
+    }
+
+    @Test
+    public void getVisibility_whenAdvancedOptionClicked_shouldBeGone() {
+        final CheckBox advButton = mView.findViewById(R.id.wifi_advanced_togglebox);
+
+        advButton.performClick();
+
+        assertThat(advButton.getVisibility()).isEqualTo(View.GONE);
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/wifi/WifiDialog2Test.java b/tests/robotests/src/com/android/settings/wifi/WifiDialog2Test.java
new file mode 100644
index 0000000..f1ab438
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/wifi/WifiDialog2Test.java
@@ -0,0 +1,73 @@
+/*
+ * 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;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.content.Context;
+
+import com.android.settings.R;
+import com.android.settings.testutils.shadow.ShadowEntityHeaderController;
+import com.android.settings.wifi.WifiDialog2.WifiDialog2Listener;
+import com.android.wifitrackerlib.WifiEntry;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(shadows = ShadowEntityHeaderController.class)
+public class WifiDialog2Test {
+    @Mock private WifiEntry mMockWifiEntry;
+
+    private Context mContext = RuntimeEnvironment.application;
+
+    private WifiDialog2Listener mListener = new WifiDialog2Listener() {};
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+    }
+
+    @Test
+    public void createModal_usesDefaultTheme() {
+        WifiDialog2 modal = WifiDialog2
+                .createModal(mContext, mListener, mMockWifiEntry, WifiConfigUiBase2.MODE_CONNECT);
+
+        WifiDialog2 wifiDialog2 = new WifiDialog2(mContext, mListener, mMockWifiEntry,
+                WifiConfigUiBase2.MODE_CONNECT, 0 /* style */, false /* hideSubmitButton */);
+        assertThat(modal.getContext().getThemeResId())
+                .isEqualTo(wifiDialog2.getContext().getThemeResId());
+    }
+
+    @Test
+    public void createModal_whenSetTheme_shouldBeCustomizedTheme() {
+        WifiDialog2 modal = WifiDialog2.createModal(mContext, mListener, mMockWifiEntry,
+                WifiConfigUiBase2.MODE_CONNECT, R.style.SuwAlertDialogThemeCompat_Light);
+
+        WifiDialog2 wifiDialog2 = new WifiDialog2(mContext, mListener, mMockWifiEntry,
+                WifiConfigUiBase2.MODE_CONNECT, R.style.SuwAlertDialogThemeCompat_Light,
+                        false /* hideSubmitButton */);
+        assertThat(modal.getContext().getThemeResId())
+                .isEqualTo(wifiDialog2.getContext().getThemeResId());
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/wifi/WifiDialogActivityTest.java b/tests/robotests/src/com/android/settings/wifi/WifiDialogActivityTest.java
index 15a0780..41d1bbe 100644
--- a/tests/robotests/src/com/android/settings/wifi/WifiDialogActivityTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/WifiDialogActivityTest.java
@@ -27,7 +27,6 @@
 import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
 import com.android.settings.testutils.shadow.ShadowConnectivityManager;
 import com.android.settings.testutils.shadow.ShadowWifiManager;
-import com.android.settings.wifi.dpp.WifiDppEnrolleeActivity;
 
 import com.google.android.setupcompat.util.WizardManagerHelper;
 
@@ -38,7 +37,6 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.Robolectric;
 import org.robolectric.RobolectricTestRunner;
-import org.robolectric.android.controller.ActivityController;
 import org.robolectric.annotation.Config;
 import org.robolectric.util.ReflectionHelpers;
 
@@ -113,23 +111,4 @@
         assertThat(dialog.getContext().getThemeResId())
                 .isEqualTo(R.style.SuwAlertDialogThemeCompat_Light);
     }
-
-    @Test
-    public void onScan_whenLaunchFromDeferredSetup_shouldApplyLightTheme() {
-        ActivityController<WifiDppEnrolleeActivity> controller = Robolectric.buildActivity(
-                WifiDppEnrolleeActivity.class,
-                new Intent()
-                        .setAction(WifiDppEnrolleeActivity.ACTION_ENROLLEE_QR_CODE_SCANNER)
-                        .putExtra(WizardManagerHelper.EXTRA_IS_FIRST_RUN, true)
-                        .putExtra(WizardManagerHelper.EXTRA_IS_SETUP_FLOW, true)
-        );
-        controller.create();
-
-        Intent intent = controller.getIntent();
-        assertThat(intent.getBooleanExtra(WizardManagerHelper.EXTRA_IS_FIRST_RUN, false)).isTrue();
-        assertThat(intent.getBooleanExtra(WizardManagerHelper.EXTRA_IS_SETUP_FLOW, false)).isTrue();
-
-        assertThat(controller.get().getThemeResId()).
-                isEqualTo(R.style.LightTheme_SettingsBase_SetupWizard);
-    }
 }
diff --git a/tests/robotests/src/com/android/settings/wifi/WifiInfoPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/wifi/WifiInfoPreferenceControllerTest.java
deleted file mode 100644
index 85d7726..0000000
--- a/tests/robotests/src/com/android/settings/wifi/WifiInfoPreferenceControllerTest.java
+++ /dev/null
@@ -1,225 +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.lifecycle.Lifecycle.Event.ON_PAUSE;
-import static androidx.lifecycle.Lifecycle.Event.ON_RESUME;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.anyString;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.IntentFilter;
-import android.content.res.Resources;
-import android.net.wifi.WifiInfo;
-import android.net.wifi.WifiManager;
-import android.provider.Settings;
-
-import androidx.lifecycle.LifecycleOwner;
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.R;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Answers;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.RobolectricTestRunner;
-
-@RunWith(RobolectricTestRunner.class)
-public class WifiInfoPreferenceControllerTest {
-
-    private static final String TEST_MAC_ADDRESS = "42:0a:23:43:ac:02";
-
-    @Mock
-    private Context mContext;
-    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
-    private WifiManager mWifiManager;
-    @Mock
-    private PreferenceScreen mScreen;
-    @Mock
-    private Preference mIpPreference;
-    @Mock
-    private Preference mMacPreference;
-    @Mock
-    private WifiInfo mWifiInfo;
-    @Mock
-    private Resources mResources;
-
-    private Lifecycle mLifecycle;
-    private LifecycleOwner mLifecycleOwner;
-    private WifiInfoPreferenceController mController;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        mLifecycleOwner = () -> mLifecycle;
-        mLifecycle = new Lifecycle(mLifecycleOwner);
-        when(mContext.getSystemService(WifiManager.class))
-                .thenReturn(mWifiManager);
-        when(mScreen.findPreference(anyString()))
-                .thenReturn(mMacPreference)
-                .thenReturn(mIpPreference);
-        when(mWifiManager.getConnectionInfo()).thenReturn(mWifiInfo);
-        when(mWifiManager.getCurrentNetwork()).thenReturn(null);
-        when(mContext.getResources()).thenReturn(mResources);
-        mController = new WifiInfoPreferenceController(mContext, mLifecycle, mWifiManager);
-    }
-
-    @Test
-    public void testIsAvailable_shouldAlwaysReturnTrue() {
-        assertThat(mController.isAvailable()).isTrue();
-    }
-
-    @Test
-    public void getPreferenceKey_shouldReturnNull() {
-        assertThat(mController.getPreferenceKey()).isNull();
-    }
-
-    @Test
-    public void runThroughLifecycle_shouldInstallListenerOnResume() {
-        mLifecycle.handleLifecycleEvent(ON_RESUME);
-        verify(mContext).registerReceiver(any(BroadcastReceiver.class), any(IntentFilter.class));
-
-        mLifecycle.handleLifecycleEvent(ON_PAUSE);
-        verify(mContext).unregisterReceiver(any(BroadcastReceiver.class));
-    }
-
-    @Test
-    public void onResume_shouldUpdateWifiInfo() {
-        when(mWifiInfo.getMacAddress()).thenReturn(TEST_MAC_ADDRESS);
-
-        mController.displayPreference(mScreen);
-        mController.onResume();
-
-        verify(mMacPreference).setSummary(TEST_MAC_ADDRESS);
-        verify(mIpPreference).setSummary(any());
-    }
-
-    @Test
-    public void updateWifiInfo_nullWifiInfoWithMacRandomizationOff_setMacUnavailable() {
-        when(mResources.getBoolean(
-                com.android.internal.R.bool.config_wifi_connected_mac_randomization_supported))
-                .thenReturn(false);
-        mController.displayPreference(mScreen);
-        when(mWifiManager.getConnectionInfo()).thenReturn(null);
-
-        mController.updateWifiInfo();
-
-        verify(mMacPreference).setSummary(R.string.status_unavailable);
-    }
-
-    @Test
-    public void updateWifiInfo_nullMacWithMacRandomizationOff_setMacUnavailable() {
-        when(mResources.getBoolean(
-                com.android.internal.R.bool.config_wifi_connected_mac_randomization_supported))
-                .thenReturn(false);
-        mController.displayPreference(mScreen);
-        when(mWifiInfo.getMacAddress()).thenReturn(null);
-
-        mController.updateWifiInfo();
-
-        verify(mMacPreference).setSummary(R.string.status_unavailable);
-    }
-
-    @Test
-    public void updateWifiInfo_defaultMacWithMacRandomizationOff_setMacUnavailable() {
-        when(mResources.getBoolean(
-                com.android.internal.R.bool.config_wifi_connected_mac_randomization_supported))
-                .thenReturn(false);
-        mController.displayPreference(mScreen);
-        when(mWifiInfo.getMacAddress()).thenReturn(WifiInfo.DEFAULT_MAC_ADDRESS);
-
-        mController.updateWifiInfo();
-
-        verify(mMacPreference).setSummary(R.string.status_unavailable);
-    }
-
-    @Test
-    public void updateWifiInfo_validMacWithMacRandomizationOff_setValidMac() {
-        when(mResources.getBoolean(
-                com.android.internal.R.bool.config_wifi_connected_mac_randomization_supported))
-                .thenReturn(false);
-        mController.displayPreference(mScreen);
-        when(mWifiInfo.getMacAddress()).thenReturn(TEST_MAC_ADDRESS);
-
-        mController.updateWifiInfo();
-
-        verify(mMacPreference).setSummary(TEST_MAC_ADDRESS);
-    }
-
-    @Test
-    public void updateWifiInfo_nullWifiInfoWithMacRandomizationOn_setMacUnavailable() {
-        when(mResources.getBoolean(
-                com.android.internal.R.bool.config_wifi_connected_mac_randomization_supported))
-                .thenReturn(true);
-        mController.displayPreference(mScreen);
-        when(mWifiManager.getConnectionInfo()).thenReturn(null);
-
-        mController.updateWifiInfo();
-
-        verify(mMacPreference).setSummary(R.string.status_unavailable);
-    }
-
-    @Test
-    public void updateWifiInfo_nullMacWithMacRandomizationOn_setMacUnavailable() {
-        when(mResources.getBoolean(
-                com.android.internal.R.bool.config_wifi_connected_mac_randomization_supported))
-                .thenReturn(true);
-        mController.displayPreference(mScreen);
-        when(mWifiInfo.getMacAddress()).thenReturn(null);
-
-        mController.updateWifiInfo();
-
-        verify(mMacPreference).setSummary(R.string.status_unavailable);
-    }
-
-    @Test
-    public void updateWifiInfo_defaultMacWithMacRandomizationOn_setMacRandomized() {
-        when(mResources.getBoolean(
-                com.android.internal.R.bool.config_wifi_connected_mac_randomization_supported))
-                .thenReturn(true);
-        mController.displayPreference(mScreen);
-        when(mWifiInfo.getMacAddress()).thenReturn(WifiInfo.DEFAULT_MAC_ADDRESS);
-
-        mController.updateWifiInfo();
-
-        verify(mMacPreference).setSummary(R.string.wifi_status_mac_randomized);
-    }
-
-    @Test
-    public void updateWifiInfo_validMacWithMacRandomizationOn_setValidMac() {
-        when(mResources.getBoolean(
-                com.android.internal.R.bool.config_wifi_connected_mac_randomization_supported))
-                .thenReturn(true);
-        mController.displayPreference(mScreen);
-        when(mWifiInfo.getMacAddress()).thenReturn(TEST_MAC_ADDRESS);
-
-        mController.updateWifiInfo();
-
-        verify(mMacPreference).setSummary(TEST_MAC_ADDRESS);
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/wifi/WifiNoInternetDialogTest.java b/tests/robotests/src/com/android/settings/wifi/WifiNoInternetDialogTest.java
new file mode 100644
index 0000000..af7a2a3
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/wifi/WifiNoInternetDialogTest.java
@@ -0,0 +1,31 @@
+/*
+ * 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;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.Robolectric;
+import org.robolectric.RobolectricTestRunner;
+
+@RunWith(RobolectricTestRunner.class)
+public class WifiNoInternetDialogTest {
+    @Test
+    public void launchActivity_noIntentAction_shouldNotFatalException() {
+        WifiNoInternetDialog wifiNoInternetDialog =
+                Robolectric.setupActivity(WifiNoInternetDialog.class);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/wifi/WifiScanModeActivityTest.java b/tests/robotests/src/com/android/settings/wifi/WifiScanModeActivityTest.java
new file mode 100644
index 0000000..3e6ba00
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/wifi/WifiScanModeActivityTest.java
@@ -0,0 +1,31 @@
+/*
+ * 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;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.Robolectric;
+import org.robolectric.RobolectricTestRunner;
+
+@RunWith(RobolectricTestRunner.class)
+public class WifiScanModeActivityTest {
+    @Test
+    public void launchActivity_noIntentAction_shouldNotFatalException() {
+        WifiScanModeActivity wifiScanModeActivity =
+                Robolectric.setupActivity(WifiScanModeActivity.class);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/wifi/WifiScanningRequiredFragmentTest.java b/tests/robotests/src/com/android/settings/wifi/WifiScanningRequiredFragmentTest.java
index 9291e0b..6969e14 100644
--- a/tests/robotests/src/com/android/settings/wifi/WifiScanningRequiredFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/WifiScanningRequiredFragmentTest.java
@@ -15,26 +15,28 @@
  */
 package com.android.settings.wifi;
 
-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.isNull;
 import static org.mockito.ArgumentMatchers.nullable;
 import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
 
 import android.content.ContentResolver;
 import android.content.Context;
 import android.content.DialogInterface;
+import android.content.Intent;
+import android.net.wifi.WifiManager;
 import android.provider.Settings;
 
 import androidx.appcompat.app.AlertDialog;
 import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentActivity;
 
 import com.android.settings.R;
 
@@ -53,20 +55,26 @@
     private Context mContext;
     private ContentResolver mResolver;
     @Mock
+    private WifiManager mWifiManager;
+    @Mock
     private Fragment mCallbackFragment;
     @Mock
     private AlertDialog.Builder mBuilder;
+    @Mock
+    private FragmentActivity mActivity;
 
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
         mFragment = spy(WifiScanningRequiredFragment.newInstance());
-        mContext = RuntimeEnvironment.application;
+        mContext = spy(RuntimeEnvironment.application);
+        when(mContext.getSystemService(WifiManager.class)).thenReturn(mWifiManager);
         mResolver = mContext.getContentResolver();
+        doReturn(mActivity).when(mFragment).getActivity();
 
         doReturn(mContext).when(mFragment).getContext();
         mFragment.setTargetFragment(mCallbackFragment, 1000);
-        Settings.Global.putInt(mResolver, Settings.Global.WIFI_SCAN_ALWAYS_AVAILABLE, 0);
+        when(mWifiManager.isScanAlwaysAvailable()).thenReturn(false);
     }
 
     @Test
@@ -74,8 +82,7 @@
             throws Settings.SettingNotFoundException {
         mFragment.onClick(null, DialogInterface.BUTTON_POSITIVE);
 
-        assertThat(Settings.Global.getInt(mResolver, Settings.Global.WIFI_SCAN_ALWAYS_AVAILABLE))
-                .isEqualTo(1);
+        verify(mWifiManager).setScanAlwaysAvailable(true);
     }
 
     @Test
@@ -87,16 +94,24 @@
 
     @Test
     public void learnMore_launchesHelpWhenIntentFound() {
-        Context context = mock(Context.class);
-        doReturn(context).when(mFragment).getContext();
-        doReturn("").when(context).getString(eq(R.string.help_uri_wifi_scanning_required));
+        doReturn("").when(mContext).getString(eq(R.string.help_uri_wifi_scanning_required));
         mFragment.addButtonIfNeeded(mBuilder);
         verify(mBuilder, never())
                 .setNeutralButton(anyInt(), nullable(DialogInterface.OnClickListener.class));
 
-        doReturn("help").when(context).getString(eq(R.string.help_uri_wifi_scanning_required));
+        doReturn("help").when(mContext).getString(eq(R.string.help_uri_wifi_scanning_required));
         mFragment.addButtonIfNeeded(mBuilder);
         verify(mBuilder, times(1))
                 .setNeutralButton(anyInt(), nullable(DialogInterface.OnClickListener.class));
     }
+
+    @Test
+    public void learnMore_launchesHelp_shouldStartActivityForResult() {
+        doReturn(new Intent()).when(mFragment).getHelpIntent(mContext);
+        mFragment.addButtonIfNeeded(mBuilder);
+
+        mFragment.onClick(null, DialogInterface.BUTTON_NEUTRAL);
+
+        verify(mActivity, times(1)).startActivityForResult(any(), anyInt());
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/wifi/WifiSettings2Test.java b/tests/robotests/src/com/android/settings/wifi/WifiSettings2Test.java
new file mode 100644
index 0000000..2af87fe
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/wifi/WifiSettings2Test.java
@@ -0,0 +1,271 @@
+/*
+ * 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;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyBoolean;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.doNothing;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.Activity;
+import android.content.ContentResolver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.res.Resources;
+import android.net.wifi.WifiManager;
+import android.os.Bundle;
+import android.os.PowerManager;
+import android.os.UserManager;
+import android.provider.Settings;
+import android.view.ContextMenu;
+import android.view.View;
+
+import androidx.fragment.app.FragmentActivity;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.android.settings.R;
+import com.android.settings.datausage.DataUsagePreference;
+import com.android.settings.testutils.shadow.ShadowDataUsageUtils;
+import com.android.settings.testutils.shadow.ShadowFragment;
+import com.android.settingslib.wifi.LongPressWifiEntryPreference;
+import com.android.wifitrackerlib.WifiEntry;
+import com.android.wifitrackerlib.WifiPickerTracker;
+
+import org.junit.Before;
+import org.junit.Ignore;
+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 org.robolectric.annotation.Config;
+
+@RunWith(RobolectricTestRunner.class)
+public class WifiSettings2Test {
+
+    private static final int NUM_NETWORKS = 4;
+
+    @Mock
+    private PowerManager mPowerManager;
+    @Mock
+    private WifiManager mWifiManager;
+    @Mock
+    private DataUsagePreference mDataUsagePreference;
+    private Context mContext;
+    private WifiSettings2 mWifiSettings2;
+    @Mock
+    private WifiPickerTracker mMockWifiPickerTracker;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mContext = spy(RuntimeEnvironment.application);
+
+        mWifiSettings2 = spy(new WifiSettings2());
+        doReturn(mContext).when(mWifiSettings2).getContext();
+        doReturn(mPowerManager).when(mContext).getSystemService(PowerManager.class);
+        doReturn(mWifiManager).when(mContext).getSystemService(WifiManager.class);
+        mWifiSettings2.mAddWifiNetworkPreference = new AddWifiNetworkPreference(mContext);
+        mWifiSettings2.mSavedNetworksPreference = new Preference(mContext);
+        mWifiSettings2.mConfigureWifiSettingsPreference = new Preference(mContext);
+        mWifiSettings2.mWifiPickerTracker = mMockWifiPickerTracker;
+        mWifiSettings2.mWifiManager = mWifiManager;
+    }
+
+    @Test
+    public void addNetworkFragmentSendResult_onActivityResult_shouldHandleEvent() {
+        final WifiSettings wifiSettings = spy(new WifiSettings());
+        final Intent intent = new Intent();
+        doNothing().when(wifiSettings).handleAddNetworkRequest(anyInt(), any(Intent.class));
+
+        wifiSettings.onActivityResult(WifiSettings.ADD_NETWORK_REQUEST, Activity.RESULT_OK, intent);
+
+        verify(wifiSettings).handleAddNetworkRequest(anyInt(), any(Intent.class));
+    }
+
+    @Test
+    public void setAdditionalSettingsSummaries_hasSavedNetwork_preferenceVisible() {
+        when(mMockWifiPickerTracker.getNumSavedNetworks()).thenReturn(NUM_NETWORKS);
+        when(mMockWifiPickerTracker.getNumSavedSubscriptions()).thenReturn(0 /* count */);
+
+        mWifiSettings2.setAdditionalSettingsSummaries();
+
+        assertThat(mWifiSettings2.mSavedNetworksPreference.isVisible()).isTrue();
+        assertThat(mWifiSettings2.mSavedNetworksPreference.getSummary()).isEqualTo(
+                mContext.getResources().getQuantityString(
+                        R.plurals.wifi_saved_access_points_summary,
+                        NUM_NETWORKS, NUM_NETWORKS));
+    }
+
+    @Test
+    public void setAdditionalSettingsSummaries_hasSavedPasspointNetwork_preferenceVisible() {
+        when(mMockWifiPickerTracker.getNumSavedNetworks()).thenReturn(0 /* count */);
+        when(mMockWifiPickerTracker.getNumSavedSubscriptions()).thenReturn(NUM_NETWORKS);
+
+        mWifiSettings2.setAdditionalSettingsSummaries();
+
+        assertThat(mWifiSettings2.mSavedNetworksPreference.isVisible()).isTrue();
+        assertThat(mWifiSettings2.mSavedNetworksPreference.getSummary()).isEqualTo(
+                mContext.getResources().getQuantityString(
+                        R.plurals.wifi_saved_passpoint_access_points_summary,
+                        NUM_NETWORKS, NUM_NETWORKS));
+    }
+
+    @Test
+    public void setAdditionalSettingsSummaries_hasTwoKindsSavedNetwork_preferenceVisible() {
+        when(mMockWifiPickerTracker.getNumSavedNetworks()).thenReturn(NUM_NETWORKS);
+        when(mMockWifiPickerTracker.getNumSavedSubscriptions()).thenReturn(NUM_NETWORKS);
+
+        mWifiSettings2.setAdditionalSettingsSummaries();
+
+        assertThat(mWifiSettings2.mSavedNetworksPreference.isVisible()).isTrue();
+        assertThat(mWifiSettings2.mSavedNetworksPreference.getSummary()).isEqualTo(
+                mContext.getResources().getQuantityString(
+                        R.plurals.wifi_saved_all_access_points_summary,
+                        NUM_NETWORKS*2, NUM_NETWORKS*2));
+    }
+
+    @Test
+    public void setAdditionalSettingsSummaries_noSavedNetwork_preferenceInvisible() {
+        when(mMockWifiPickerTracker.getNumSavedNetworks()).thenReturn(0 /* count */);
+        when(mMockWifiPickerTracker.getNumSavedSubscriptions()).thenReturn(0 /* count */);
+
+        mWifiSettings2.setAdditionalSettingsSummaries();
+
+        assertThat(mWifiSettings2.mSavedNetworksPreference.isVisible()).isFalse();
+    }
+
+    @Test
+    public void setAdditionalSettingsSummaries_wifiWakeupEnabled_displayOn() {
+        final ContentResolver contentResolver = mContext.getContentResolver();
+        when(mWifiManager.isAutoWakeupEnabled()).thenReturn(true);
+        when(mWifiManager.isScanAlwaysAvailable()).thenReturn(false);
+        Settings.Global.putInt(contentResolver, Settings.Global.AIRPLANE_MODE_ON, 0);
+        when(mPowerManager.isPowerSaveMode()).thenReturn(false);
+
+        mWifiSettings2.setAdditionalSettingsSummaries();
+
+        assertThat(mWifiSettings2.mConfigureWifiSettingsPreference.getSummary()).isEqualTo(
+                mContext.getString(R.string.wifi_configure_settings_preference_summary_wakeup_on));
+    }
+
+    @Test
+    public void setAdditionalSettingsSummaries_wifiWakeupDisabled_displayOff() {
+        final ContentResolver contentResolver = mContext.getContentResolver();
+        when(mWifiManager.isAutoWakeupEnabled()).thenReturn(false);
+
+        mWifiSettings2.setAdditionalSettingsSummaries();
+
+        assertThat(mWifiSettings2.mConfigureWifiSettingsPreference.getSummary()).isEqualTo(
+                mContext.getString(R.string.wifi_configure_settings_preference_summary_wakeup_off));
+    }
+
+    @Test
+    public void checkAddWifiNetworkPrefernce_preferenceVisible() {
+        assertThat(mWifiSettings2.mAddWifiNetworkPreference.isVisible()).isTrue();
+        assertThat(mWifiSettings2.mAddWifiNetworkPreference.getTitle()).isEqualTo(
+                mContext.getString(R.string.wifi_add_network));
+    }
+
+    private void setUpForOnCreate() {
+        final FragmentActivity activity = mock(FragmentActivity.class);
+        when(mWifiSettings2.getActivity()).thenReturn(activity);
+        final Resources.Theme theme = mContext.getTheme();
+        when(activity.getTheme()).thenReturn(theme);
+        UserManager userManager = mock(UserManager.class);
+        when(activity.getSystemService(Context.USER_SERVICE))
+                .thenReturn(userManager);
+
+        when(mWifiSettings2.findPreference(WifiSettings.PREF_KEY_DATA_USAGE))
+                .thenReturn(mDataUsagePreference);
+    }
+
+    @Test
+    @Config(shadows = {ShadowDataUsageUtils.class, ShadowFragment.class})
+    public void checkDataUsagePreference_perferenceInvisibleIfWifiNotSupported() {
+        setUpForOnCreate();
+        ShadowDataUsageUtils.IS_WIFI_SUPPORTED = false;
+
+        mWifiSettings2.onCreate(Bundle.EMPTY);
+
+        verify(mDataUsagePreference).setVisible(false);
+    }
+
+    @Test
+    @Config(shadows = {ShadowDataUsageUtils.class, ShadowFragment.class})
+    public void checkDataUsagePreference_perferenceVisibleIfWifiSupported() {
+        setUpForOnCreate();
+        ShadowDataUsageUtils.IS_WIFI_SUPPORTED = true;
+
+        mWifiSettings2.onCreate(Bundle.EMPTY);
+
+        verify(mDataUsagePreference).setVisible(true);
+        verify(mDataUsagePreference).setTemplate(any(), eq(0) /*subId*/, eq(null) /*service*/);
+    }
+
+    @Test
+    public void onCreateAdapter_hasStableIdsTrue() {
+        final PreferenceScreen preferenceScreen = mock(PreferenceScreen.class);
+        when(preferenceScreen.getContext()).thenReturn(mContext);
+
+        RecyclerView.Adapter adapter = mWifiSettings2.onCreateAdapter(preferenceScreen);
+
+        assertThat(adapter.hasStableIds()).isTrue();
+    }
+
+    //TODO(b/70983952): Remove @Ignore when WifiEntry API is constructed.
+    @Test
+    @Ignore
+    public void onCreateContextMenu_shouldHaveForgetAndDisconnectMenuForConnectedWifiEntry() {
+        final FragmentActivity activity = mock(FragmentActivity.class);
+        when(activity.getApplicationContext()).thenReturn(mContext);
+        when(mWifiSettings2.getActivity()).thenReturn(activity);
+
+        final WifiEntry wifiEntry = mock(WifiEntry.class);
+        when(wifiEntry.canDisconnect()).thenReturn(true);
+        when(wifiEntry.isSaved()).thenReturn(true);
+        when(wifiEntry.getConnectedState()).thenReturn(WifiEntry.CONNECTED_STATE_CONNECTED);
+
+        final LongPressWifiEntryPreference connectedWifiEntryPreference =
+                mWifiSettings2.createLongPressWifiEntryPreference(wifiEntry);
+        final View view = mock(View.class);
+        when(view.getTag()).thenReturn(connectedWifiEntryPreference);
+
+        final ContextMenu menu = mock(ContextMenu.class);
+        mWifiSettings2.onCreateContextMenu(menu, view, null /* info */);
+
+        verify(menu).add(anyInt(), eq(WifiSettings2.MENU_ID_FORGET), anyInt(), anyInt());
+        verify(menu).add(anyInt(), eq(WifiSettings2.MENU_ID_DISCONNECT), anyInt(), anyInt());
+    }
+
+    @Test
+    public void onWifiEntriesChanged_shouldChangeNextButtonState() {
+        mWifiSettings2.onWifiEntriesChanged();
+
+        verify(mWifiSettings2).changeNextButtonState(anyBoolean());
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/wifi/WifiSettingsTest.java b/tests/robotests/src/com/android/settings/wifi/WifiSettingsTest.java
index d2e3566..eae75d6 100644
--- a/tests/robotests/src/com/android/settings/wifi/WifiSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/WifiSettingsTest.java
@@ -15,6 +15,8 @@
  */
 package com.android.settings.wifi;
 
+import static android.net.wifi.WifiManager.WIFI_STATE_ENABLED;
+
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.ArgumentMatchers.any;
@@ -31,38 +33,55 @@
 import android.content.ContentResolver;
 import android.content.Context;
 import android.content.Intent;
+import android.content.pm.PackageManager;
 import android.content.res.Resources;
+import android.net.ConnectivityManager;
+import android.net.Network;
+import android.net.NetworkCapabilities;
+import android.net.wifi.EAPConstants;
 import android.net.wifi.WifiConfiguration;
+import android.net.wifi.WifiInfo;
 import android.net.wifi.WifiManager;
 import android.net.wifi.hotspot2.PasspointConfiguration;
+import android.net.wifi.hotspot2.pps.Credential;
 import android.net.wifi.hotspot2.pps.HomeSp;
 import android.os.Bundle;
 import android.os.PowerManager;
 import android.os.UserManager;
 import android.provider.Settings;
-
 import android.view.ContextMenu;
 import android.view.View;
+
 import androidx.fragment.app.FragmentActivity;
 import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+import androidx.recyclerview.widget.RecyclerView;
 
 import com.android.settings.R;
+import com.android.settings.SettingsActivity;
 import com.android.settings.datausage.DataUsagePreference;
-import com.android.settings.search.SearchIndexableRaw;
+import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settings.testutils.shadow.ShadowDataUsageUtils;
+import com.android.settings.testutils.shadow.ShadowFragment;
+import com.android.settings.widget.SwitchBar;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 import com.android.settingslib.wifi.AccessPoint;
 import com.android.settingslib.wifi.WifiTracker;
+import com.android.settingslib.wifi.WifiTrackerFactory;
 
-import java.util.ArrayList;
 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;
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
+import org.robolectric.util.ReflectionHelpers;
 
+import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
 
 @RunWith(RobolectricTestRunner.class)
@@ -77,9 +96,27 @@
     @Mock
     private DataUsagePreference mDataUsagePreference;
     @Mock
+    private RecyclerView mRecyclerView;
+    @Mock
+    private RecyclerView.Adapter mRecyclerViewAdapter;
+    @Mock
+    private View mHeaderView;
+    @Mock
     private WifiManager mWifiManager;
+    @Mock
+    private ConnectivityManager mConnectivityManager;
+    @Mock
+    private Intent mActivityIntent;
+    @Mock
+    private SwitchBar mSwitchBar;
+    @Mock
+    private WifiInfo mWifiInfo;
+    @Mock
+    private PackageManager mPackageManager;
     private Context mContext;
     private WifiSettings mWifiSettings;
+    private FakeFeatureFactory mFakeFeatureFactory;
+    private MetricsFeatureProvider mMetricsFeatureProvider;
 
     @Before
     public void setUp() {
@@ -88,32 +125,23 @@
 
         mWifiSettings = spy(new WifiSettings());
         doReturn(mContext).when(mWifiSettings).getContext();
+        doReturn(mRecyclerViewAdapter).when(mRecyclerView).getAdapter();
+        doReturn(mRecyclerView).when(mWifiSettings).getListView();
         doReturn(mPowerManager).when(mContext).getSystemService(PowerManager.class);
+        doReturn(mHeaderView).when(mWifiSettings).setPinnedHeaderView(anyInt());
+        doReturn(mWifiInfo).when(mWifiManager).getConnectionInfo();
+        doReturn(mWifiManager).when(mWifiTracker).getManager();
         mWifiSettings.mAddWifiNetworkPreference = new AddWifiNetworkPreference(mContext);
         mWifiSettings.mSavedNetworksPreference = new Preference(mContext);
         mWifiSettings.mConfigureWifiSettingsPreference = new Preference(mContext);
         mWifiSettings.mWifiTracker = mWifiTracker;
         mWifiSettings.mWifiManager = mWifiManager;
-    }
-
-    @Test
-    public void testSearchIndexProvider_shouldIndexFragmentTitle() {
-        final List<SearchIndexableRaw> indexRes =
-                WifiSettings.SEARCH_INDEX_DATA_PROVIDER.getRawDataToIndex(mContext,
-                        true /* enabled */);
-
-        assertThat(indexRes).isNotNull();
-        assertThat(indexRes.get(0).key).isEqualTo(WifiSettings.DATA_KEY_REFERENCE);
-    }
-
-    @Test
-    @Config(qualifiers = "mcc999")
-    public void testSearchIndexProvider_ifWifiSettingsNotVisible_shouldNotIndexFragmentTitle() {
-        final List<SearchIndexableRaw> indexRes =
-                WifiSettings.SEARCH_INDEX_DATA_PROVIDER.getRawDataToIndex(mContext,
-                        true /* enabled */);
-
-        assertThat(indexRes).isEmpty();
+        mWifiSettings.mConnectivityManager = mConnectivityManager;
+        mFakeFeatureFactory = FakeFeatureFactory.setupForTest();
+        mMetricsFeatureProvider = mFakeFeatureFactory.getMetricsFeatureProvider();
+        ReflectionHelpers.setField(mWifiSettings, "mMetricsFeatureProvider",
+                mMetricsFeatureProvider);
+        WifiTrackerFactory.setTestingWifiTracker(mWifiTracker);
     }
 
     @Test
@@ -142,11 +170,26 @@
             sp.setFqdn("fqdn");
             final PasspointConfiguration config = new PasspointConfiguration();
             config.setHomeSp(sp);
+            Credential.SimCredential simCredential = new Credential.SimCredential();
+            Credential credential = new Credential();
+            credential.setRealm("test.example.com");
+            simCredential.setImsi("12345*");
+            simCredential.setEapType(EAPConstants.EAP_SIM);
+            credential.setSimCredential(simCredential);
+            config.setCredential(credential);
             mockConfigs.add(config);
         }
         return mockConfigs;
     }
 
+    static NetworkCapabilities makeCaptivePortalNetworkCapabilities() {
+        final NetworkCapabilities capabilities = new NetworkCapabilities();
+        capabilities.clearAll();
+        capabilities.addTransportType(NetworkCapabilities.TRANSPORT_WIFI);
+        capabilities.addCapability(NetworkCapabilities.NET_CAPABILITY_CAPTIVE_PORTAL);
+        return capabilities;
+    }
+
     @Test
     public void setAdditionalSettingsSummaries_hasSavedNetwork_preferenceVisible() {
         when(mWifiManager.getConfiguredNetworks())
@@ -204,8 +247,8 @@
     @Test
     public void setAdditionalSettingsSummaries_wifiWakeupEnabled_displayOn() {
         final ContentResolver contentResolver = mContext.getContentResolver();
-        Settings.Global.putInt(contentResolver, Settings.Global.WIFI_WAKEUP_ENABLED, 1);
-        Settings.Global.putInt(contentResolver, Settings.Global.WIFI_SCAN_ALWAYS_AVAILABLE, 1);
+        when(mWifiManager.isAutoWakeupEnabled()).thenReturn(true);
+        when(mWifiManager.isScanAlwaysAvailable()).thenReturn(true);
         Settings.Global.putInt(contentResolver, Settings.Global.AIRPLANE_MODE_ON, 0);
         when(mPowerManager.isPowerSaveMode()).thenReturn(false);
 
@@ -218,7 +261,7 @@
     @Test
     public void setAdditionalSettingsSummaries_wifiWakeupDisabled_displayOff() {
         final ContentResolver contentResolver = mContext.getContentResolver();
-        Settings.Global.putInt(contentResolver, Settings.Global.WIFI_WAKEUP_ENABLED, 0);
+        when(mWifiManager.isAutoWakeupEnabled()).thenReturn(false);
 
         mWifiSettings.setAdditionalSettingsSummaries();
 
@@ -234,20 +277,24 @@
     }
 
     private void setUpForOnCreate() {
-        final FragmentActivity activity = mock(FragmentActivity.class);
+        final SettingsActivity activity = mock(SettingsActivity.class);
+        when(activity.getSwitchBar()).thenReturn(mSwitchBar);
         when(mWifiSettings.getActivity()).thenReturn(activity);
         final Resources.Theme theme = mContext.getTheme();
         when(activity.getTheme()).thenReturn(theme);
+        when(activity.getIntent()).thenReturn(mActivityIntent);
         UserManager userManager = mock(UserManager.class);
         when(activity.getSystemService(Context.USER_SERVICE))
                 .thenReturn(userManager);
-
         when(mWifiSettings.findPreference(WifiSettings.PREF_KEY_DATA_USAGE))
                 .thenReturn(mDataUsagePreference);
+        when(activity.getSystemService(Context.WIFI_SERVICE)).thenReturn(mWifiManager);
+        when(activity.getSystemService(ConnectivityManager.class)).thenReturn(mConnectivityManager);
+        when(activity.getPackageManager()).thenReturn(mPackageManager);
     }
 
     @Test
-    @Config(shadows = {ShadowDataUsageUtils.class})
+    @Config(shadows = {ShadowDataUsageUtils.class, ShadowFragment.class})
     public void checkDataUsagePreference_perferenceInvisibleIfWifiNotSupported() {
         setUpForOnCreate();
         ShadowDataUsageUtils.IS_WIFI_SUPPORTED = false;
@@ -258,7 +305,7 @@
     }
 
     @Test
-    @Config(shadows = {ShadowDataUsageUtils.class})
+    @Config(shadows = {ShadowDataUsageUtils.class, ShadowFragment.class})
     public void checkDataUsagePreference_perferenceVisibleIfWifiSupported() {
         setUpForOnCreate();
         ShadowDataUsageUtils.IS_WIFI_SUPPORTED = true;
@@ -290,4 +337,68 @@
 
         verify(menu).add(anyInt(), eq(WifiSettings.MENU_ID_FORGET), anyInt(), anyInt());
     }
+
+    @Test
+    public void onCreateAdapter_hasStableIdsTrue() {
+        final PreferenceScreen preferenceScreen = mock(PreferenceScreen.class);
+        when(preferenceScreen.getContext()).thenReturn(mContext);
+
+        RecyclerView.Adapter adapter = mWifiSettings.onCreateAdapter(preferenceScreen);
+
+        assertThat(adapter.hasStableIds()).isTrue();
+    }
+
+    @Test
+    @Config(shadows = {ShadowDataUsageUtils.class, ShadowFragment.class})
+    public void clickOnWifiNetworkWith_shouldStartCaptivePortalApp() {
+        when(mWifiManager.getConfiguredNetworks()).thenReturn(createMockWifiConfigurations(
+                NUM_NETWORKS));
+        when(mWifiTracker.isConnected()).thenReturn(true);
+
+        final AccessPoint accessPointActive = mock(AccessPoint.class);
+        when(accessPointActive.isActive()).thenReturn(true);
+        when(accessPointActive.isSaved()).thenReturn(false);
+        when(accessPointActive.getConfig()).thenReturn(mock(WifiConfiguration.class));
+
+        final AccessPoint accessPointInactive = mock(AccessPoint.class);
+        when(accessPointInactive.isActive()).thenReturn(false);
+        when(accessPointInactive.isSaved()).thenReturn(false);
+        when(accessPointInactive.getConfig()).thenReturn(mock(WifiConfiguration.class));
+
+        when(mWifiTracker.getAccessPoints()).thenReturn(Arrays.asList(accessPointActive,
+                accessPointInactive));
+        when(mWifiManager.getWifiState()).thenReturn(WIFI_STATE_ENABLED);
+        when(mWifiManager.isWifiEnabled()).thenReturn(true);
+
+        final Network network = mock(Network.class);
+        when(mWifiManager.getCurrentNetwork()).thenReturn(network);
+
+        // Simulate activity creation cycle
+        setUpForOnCreate();
+        ShadowDataUsageUtils.IS_WIFI_SUPPORTED = true;
+        mWifiSettings.onCreate(Bundle.EMPTY);
+        mWifiSettings.onActivityCreated(null);
+        mWifiSettings.onViewCreated(new View(mContext), new Bundle());
+        mWifiSettings.onStart();
+
+        // Click on open network
+        final Preference openWifiPref = new LongPressAccessPointPreference(accessPointInactive,
+                mContext, null,
+                false /* forSavedNetworks */, R.drawable.ic_wifi_signal_0,
+                null);
+        mWifiSettings.onPreferenceTreeClick(openWifiPref);
+
+        // Ensure connect() was called, and fake success.
+        ArgumentCaptor<WifiManager.ActionListener> wifiCallbackCaptor = ArgumentCaptor.forClass(
+                WifiManager.ActionListener.class);
+        verify(mWifiManager).connect(any(WifiConfiguration.class), wifiCallbackCaptor.capture());
+        wifiCallbackCaptor.getValue().onSuccess();
+
+        // Simulate capability change
+        mWifiSettings.mCaptivePortalNetworkCallback.onCapabilitiesChanged(network,
+                makeCaptivePortalNetworkCapabilities());
+
+        // Ensure CP was called
+        verify(mConnectivityManager).startCaptivePortalApp(eq(network));
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/wifi/WifiWakeupPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/wifi/WifiWakeupPreferenceControllerTest.java
index 81ba9a2..8face4a 100644
--- a/tests/robotests/src/com/android/settings/wifi/WifiWakeupPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/WifiWakeupPreferenceControllerTest.java
@@ -16,26 +16,22 @@
 
 package com.android.settings.wifi;
 
-import static android.provider.Settings.Global.WIFI_SCAN_ALWAYS_AVAILABLE;
-import static android.provider.Settings.Global.WIFI_WAKEUP_ENABLED;
-
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
 
 import android.content.Context;
 import android.location.LocationManager;
-import android.provider.Settings;
-
+import android.net.wifi.WifiManager;
 import android.text.TextUtils;
-import androidx.preference.Preference;
+
 import androidx.preference.SwitchPreference;
 
 import com.android.settings.R;
 import com.android.settings.dashboard.DashboardFragment;
 
-import com.android.settingslib.core.lifecycle.Lifecycle;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -54,66 +50,55 @@
     @Mock
     private LocationManager mLocationManager;
     @Mock
-    private SwitchPreference mPreference;
+    private WifiManager mWifiManager;
     @Mock
-    private Lifecycle mLifecycle;
+    private SwitchPreference mPreference;
 
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
         mContext = RuntimeEnvironment.application;
-        mController = new WifiWakeupPreferenceController(mContext, mFragment, mLifecycle);
+        mController = new WifiWakeupPreferenceController(mContext);
+        mController.setFragment(mFragment);
         mController.mLocationManager = mLocationManager;
         mController.mPreference = mPreference;
+        mController.mWifiManager = mWifiManager;
 
-        Settings.Global.putInt(mContext.getContentResolver(), WIFI_SCAN_ALWAYS_AVAILABLE, 1);
+        when(mWifiManager.isScanAlwaysAvailable()).thenReturn(true);
         doReturn(true).when(mLocationManager).isLocationEnabled();
     }
 
     @Test
-    public void handlePreferenceTreeClick_nonMatchingKey_shouldDoNothing() {
-        final SwitchPreference pref = new SwitchPreference(mContext);
-
-        assertThat(mController.handlePreferenceTreeClick(pref)).isFalse();
-    }
-
-    @Test
-    public void handlePreferenceTreeClick_nonMatchingType_shouldDoNothing() {
-        final Preference pref = new Preference(mContext);
-        pref.setKey(mController.getPreferenceKey());
-
-        assertThat(mController.handlePreferenceTreeClick(pref)).isFalse();
-    }
-
-    @Test
-    public void handlePreferenceTreeClick_matchingKeyAndType_shouldUpdateSetting() {
-        final SwitchPreference pref = new SwitchPreference(mContext);
-        pref.setChecked(true);
-        pref.setKey(mController.getPreferenceKey());
-
-        assertThat(mController.handlePreferenceTreeClick(pref)).isTrue();
-        assertThat(Settings.Global.getInt(mContext.getContentResolver(), WIFI_WAKEUP_ENABLED, 0))
-                .isEqualTo(1);
-    }
-
-    @Test
-    public void handlePreferenceTreeClick_wifiWakeupEnableScanningDisable_wifiWakeupEnable() {
-        Settings.Global.putInt(mContext.getContentResolver(), WIFI_WAKEUP_ENABLED, 1);
-        Settings.Global.putInt(mContext.getContentResolver(), WIFI_SCAN_ALWAYS_AVAILABLE, 0);
+    public void setChecked_scanEnableLocationEnable_wifiWakeupEnable() {
+        when(mWifiManager.isAutoWakeupEnabled()).thenReturn(false);
+        when(mWifiManager.isScanAlwaysAvailable()).thenReturn(true);
         doReturn(true).when(mLocationManager).isLocationEnabled();
 
-        mController.handlePreferenceTreeClick(mPreference);
-        final boolean isWifiWakeupEnabled = Settings.Global.getInt(mContext.getContentResolver(),
-                Settings.Global.WIFI_WAKEUP_ENABLED, 0) == 1;
+        mController.setChecked(true);
 
-        assertThat(isWifiWakeupEnabled).isTrue();
+        verify(mWifiManager).setAutoWakeupEnabled(true);
+    }
+
+    @Test
+    public void updateState_wifiWakeupEnableScanningDisable_wifiWakeupDisabled() {
+        final SwitchPreference preference = new SwitchPreference(mContext);
+        when(mWifiManager.isAutoWakeupEnabled()).thenReturn(true);
+        when(mWifiManager.isScanAlwaysAvailable()).thenReturn(false);
+        doReturn(true).when(mLocationManager).isLocationEnabled();
+
+        mController.updateState(preference);
+
+        assertThat(preference.isChecked()).isFalse();
+        assertThat(preference.getSummary())
+            .isEqualTo(mContext.getString(R.string.wifi_wakeup_summary));
     }
 
     @Test
     public void updateState_preferenceSetCheckedWhenWakeupSettingEnabled() {
         final SwitchPreference preference = new SwitchPreference(mContext);
-        Settings.Global.putInt(mContext.getContentResolver(), WIFI_WAKEUP_ENABLED, 1);
-        Settings.Global.putInt(mContext.getContentResolver(), WIFI_SCAN_ALWAYS_AVAILABLE, 1);
+        when(mWifiManager.isAutoWakeupEnabled()).thenReturn(true);
+        when(mWifiManager.isScanAlwaysAvailable()).thenReturn(true);
+        doReturn(true).when(mLocationManager).isLocationEnabled();
 
         mController.updateState(preference);
 
@@ -125,7 +110,7 @@
     @Test
     public void updateState_preferenceSetUncheckedWhenWakeupSettingDisabled() {
         final SwitchPreference preference = new SwitchPreference(mContext);
-        Settings.Global.putInt(mContext.getContentResolver(), WIFI_WAKEUP_ENABLED, 0);
+        when(mWifiManager.isAutoWakeupEnabled()).thenReturn(false);
 
         mController.updateState(preference);
 
@@ -137,8 +122,8 @@
     @Test
     public void updateState_preferenceSetUncheckedWhenWifiScanningDisabled() {
         final SwitchPreference preference = new SwitchPreference(mContext);
-        Settings.Global.putInt(mContext.getContentResolver(), WIFI_WAKEUP_ENABLED, 1);
-        Settings.Global.putInt(mContext.getContentResolver(), WIFI_SCAN_ALWAYS_AVAILABLE, 0);
+        when(mWifiManager.isAutoWakeupEnabled()).thenReturn(true);
+        when(mWifiManager.isScanAlwaysAvailable()).thenReturn(false);
 
         mController.updateState(preference);
 
@@ -148,7 +133,7 @@
     @Test
     public void updateState_preferenceSetUncheckedWhenWakeupSettingEnabledNoLocation() {
         final SwitchPreference preference = new SwitchPreference(mContext);
-        Settings.Global.putInt(mContext.getContentResolver(), WIFI_WAKEUP_ENABLED, 1);
+        when(mWifiManager.isAutoWakeupEnabled()).thenReturn(true);
         doReturn(false).when(mLocationManager).isLocationEnabled();
 
         mController.updateState(preference);
@@ -161,7 +146,7 @@
     @Test
     public void updateState_preferenceSetUncheckedWhenWakeupSettingDisabledLocationEnabled() {
         final SwitchPreference preference = new SwitchPreference(mContext);
-        Settings.Global.putInt(mContext.getContentResolver(), WIFI_WAKEUP_ENABLED, 0);
+        when(mWifiManager.isAutoWakeupEnabled()).thenReturn(false);
         doReturn(false).when(mLocationManager).isLocationEnabled();
 
         mController.updateState(preference);
@@ -174,8 +159,8 @@
     @Test
     public void updateState_preferenceSetUncheckedWhenWifiScanningDisabledLocationEnabled() {
         final SwitchPreference preference = new SwitchPreference(mContext);
-        Settings.Global.putInt(mContext.getContentResolver(), WIFI_WAKEUP_ENABLED, 1);
-        Settings.Global.putInt(mContext.getContentResolver(), WIFI_SCAN_ALWAYS_AVAILABLE, 0);
+        when(mWifiManager.isAutoWakeupEnabled()).thenReturn(true);
+        when(mWifiManager.isScanAlwaysAvailable()).thenReturn(false);
         doReturn(false).when(mLocationManager).isLocationEnabled();
 
         mController.updateState(preference);
diff --git a/tests/robotests/src/com/android/settings/wifi/addappnetworks/AddAppNetworksActivityTest.java b/tests/robotests/src/com/android/settings/wifi/addappnetworks/AddAppNetworksActivityTest.java
new file mode 100644
index 0000000..b614698
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/wifi/addappnetworks/AddAppNetworksActivityTest.java
@@ -0,0 +1,44 @@
+/*
+ * 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.addappnetworks;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.robolectric.Shadows.shadowOf;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.Robolectric;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+@RunWith(RobolectricTestRunner.class)
+public class AddAppNetworksActivityTest {
+
+    @Test
+    public void startActivity_withPackageName_bundleShouldHaveRightPackageName() {
+        final String packageName = RuntimeEnvironment.application.getPackageName();
+        final AddAppNetworksActivity activity =
+                Robolectric.buildActivity(AddAppNetworksActivity.class).create().get();
+        shadowOf(activity).setCallingPackage(packageName);
+
+        activity.showAddNetworksFragment();
+
+        assertThat(activity.mBundle.getString(AddAppNetworksActivity.KEY_CALLING_PACKAGE_NAME))
+                .isEqualTo(packageName);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/wifi/addappnetworks/AddAppNetworksFragmentTest.java b/tests/robotests/src/com/android/settings/wifi/addappnetworks/AddAppNetworksFragmentTest.java
new file mode 100644
index 0000000..955b721
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/wifi/addappnetworks/AddAppNetworksFragmentTest.java
@@ -0,0 +1,333 @@
+/*
+ * 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.addappnetworks;
+
+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.spy;
+import static org.mockito.Mockito.when;
+
+import android.app.settings.SettingsEnums;
+import android.net.wifi.WifiConfiguration;
+import android.net.wifi.WifiManager;
+import android.net.wifi.WifiNetworkSuggestion;
+import android.os.Bundle;
+import android.os.Parcelable;
+import android.provider.Settings;
+import android.widget.TextView;
+
+import androidx.annotation.NonNull;
+
+import com.android.settings.R;
+import com.android.settingslib.wifi.AccessPoint;
+import com.android.settingslib.wifi.WifiTracker;
+import com.android.settingslib.wifi.WifiTrackerFactory;
+
+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.shadows.androidx.fragment.FragmentController;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@RunWith(RobolectricTestRunner.class)
+public class AddAppNetworksFragmentTest {
+    private static final String FAKE_APP_NAME = "fake_app_name";
+    private static final String FAKE_NEW_WPA_SSID = "fake_new_wpa_ssid";
+    private static final String FAKE_NEW_OPEN_SSID = "fake_new_open_ssid";
+    private static final String FAKE_NEW_OPEN_SSID_WITH_QUOTE = "\"fake_new_open_ssid\"";
+    private static final String FAKE_NEW_SAVED_WPA_SSID = "\"fake_new_wpa_ssid\"";
+    private static final String KEY_SSID = "key_ssid";
+    private static final String KEY_SECURITY = "key_security";
+    private static final int SCANED_LEVEL0 = 0;
+    private static final int SCANED_LEVEL4 = 4;
+
+    private AddAppNetworksFragment mAddAppNetworksFragment;
+    private List<WifiNetworkSuggestion> mFakedSpecifiedNetworksList;
+    private List<WifiConfiguration> mFakeSavedNetworksList;
+    private WifiNetworkSuggestion mNewWpaSuggestionEntry;
+    private WifiNetworkSuggestion mNewOpenSuggestionEntry;
+    private WifiConfiguration mSavedWpaConfigurationEntry;
+    private Bundle mBundle;
+    private ArrayList<Integer> mFakedResultArrayList = new ArrayList<>();
+
+    @Mock
+    private AccessPoint mMockAccessPoint;
+
+    @Mock
+    private WifiTracker mMockWifiTracker;
+
+    @Mock
+    private WifiManager mMockWifiManager;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mAddAppNetworksFragment = spy(new AddAppNetworksFragment());
+        mNewWpaSuggestionEntry = generateRegularWifiSuggestion(FAKE_NEW_WPA_SSID,
+                WifiConfiguration.KeyMgmt.WPA_PSK, "1234567890");
+        mNewOpenSuggestionEntry = generateRegularWifiSuggestion(FAKE_NEW_OPEN_SSID,
+                WifiConfiguration.KeyMgmt.NONE, null);
+        mSavedWpaConfigurationEntry = generateRegularWifiConfiguration(FAKE_NEW_SAVED_WPA_SSID,
+                WifiConfiguration.KeyMgmt.WPA_PSK, "\"1234567890\"");
+        when(mMockWifiTracker.getManager()).thenReturn(mMockWifiManager);
+        when(mMockWifiManager.isWifiEnabled()).thenReturn(true);
+
+        mAddAppNetworksFragment.mWifiTracker = mMockWifiTracker;
+        WifiTrackerFactory.setTestingWifiTracker(mMockWifiTracker);
+
+        setUpOneScannedNetworkWithScanedLevel4();
+    }
+
+    @Test
+    public void callingPackageName_onCreateView_shouldBeCorrect() {
+        addOneSpecifiedRegularNetworkSuggestion(mNewWpaSuggestionEntry);
+        setUpBundle(mFakedSpecifiedNetworksList);
+        setupFragment();
+
+        assertThat(mAddAppNetworksFragment.mCallingPackageName).isEqualTo(FAKE_APP_NAME);
+    }
+
+    @Test
+    public void launchFragment_shouldShowSaveButton() {
+        addOneSpecifiedRegularNetworkSuggestion(mNewWpaSuggestionEntry);
+        setUpBundle(mFakedSpecifiedNetworksList);
+        setupFragment();
+
+        assertThat(mAddAppNetworksFragment.mSaveButton).isNotNull();
+    }
+
+    @Test
+    public void launchFragment_shouldShowCancelButton() {
+        addOneSpecifiedRegularNetworkSuggestion(mNewWpaSuggestionEntry);
+        setUpBundle(mFakedSpecifiedNetworksList);
+        setupFragment();
+
+        assertThat(mAddAppNetworksFragment.mCancelButton).isNotNull();
+    }
+
+    @Test
+    public void requestOneNetwork_shouldShowCorrectSSID() {
+        addOneSpecifiedRegularNetworkSuggestion(mNewWpaSuggestionEntry);
+        setUpBundle(mFakedSpecifiedNetworksList);
+        setupFragment();
+        TextView ssidView = (TextView) mAddAppNetworksFragment.mLayoutView.findViewById(
+                R.id.single_ssid);
+
+        assertThat(ssidView.getText()).isEqualTo(FAKE_NEW_WPA_SSID);
+    }
+
+    @Test
+    public void withNoExtra_requestNetwork_shouldFinished() {
+        addOneSpecifiedRegularNetworkSuggestion(null);
+        setUpBundle(mFakedSpecifiedNetworksList);
+        setupFragment();
+
+        assertThat(mAddAppNetworksFragment.mActivity.isFinishing()).isTrue();
+    }
+
+    @Test
+    public void withOneHalfSavedNetworks_uiListAndResultListShouldBeCorrect() {
+        // Arrange
+        // Setup a fake saved network list and assign to fragment.
+        addOneSavedNetworkConfiguration(mSavedWpaConfigurationEntry);
+        // Setup two specified networks and their results and assign to fragment.
+        addOneSpecifiedRegularNetworkSuggestion(mNewWpaSuggestionEntry);
+        addOneSpecifiedRegularNetworkSuggestion(mNewOpenSuggestionEntry);
+        mAddAppNetworksFragment.mAllSpecifiedNetworksList = mFakedSpecifiedNetworksList;
+        mFakedResultArrayList.add(mAddAppNetworksFragment.RESULT_NETWORK_SUCCESS);
+        mFakedResultArrayList.add(mAddAppNetworksFragment.RESULT_NETWORK_SUCCESS);
+        mAddAppNetworksFragment.mResultCodeArrayList = mFakedResultArrayList;
+
+        // Act
+        mAddAppNetworksFragment.filterSavedNetworks(mFakeSavedNetworksList);
+
+        // Assert
+        assertThat(mAddAppNetworksFragment.mUiToRequestedList).hasSize(1);
+        assertThat(mAddAppNetworksFragment.mResultCodeArrayList.get(0)).isEqualTo(
+                mAddAppNetworksFragment.RESULT_NETWORK_ALREADY_EXISTS);
+        assertThat(mAddAppNetworksFragment.mUiToRequestedList.get(
+                0).mWifiNetworkSuggestion.getWifiConfiguration().SSID).isEqualTo(
+                FAKE_NEW_OPEN_SSID_WITH_QUOTE);
+    }
+
+    @Test
+    public void getMetricsCategory_shouldReturnPanelAddWifiNetworks() {
+        assertThat(mAddAppNetworksFragment.getMetricsCategory()).isEqualTo(
+                SettingsEnums.PANEL_ADD_WIFI_NETWORKS);
+    }
+
+    @Test
+    public void getThreeNetworksNewIntent_shouldHaveThreeItemsInUiList() {
+        addOneSpecifiedRegularNetworkSuggestion(mNewWpaSuggestionEntry);
+        setUpBundle(mFakedSpecifiedNetworksList);
+        setupFragment();
+
+        // Add two more networks and update framework bundle.
+        addOneSpecifiedRegularNetworkSuggestion(mNewWpaSuggestionEntry);
+        addOneSpecifiedRegularNetworkSuggestion(mNewOpenSuggestionEntry);
+        setUpBundle(mFakedSpecifiedNetworksList);
+        Bundle bundle = mAddAppNetworksFragment.getArguments();
+        mAddAppNetworksFragment.createContent(bundle);
+
+        // Ui list should contain 3 networks.
+        assertThat(mAddAppNetworksFragment.mUiToRequestedList).hasSize(3);
+    }
+
+    @Test
+    public void withOneSuggestion_uiElementShouldHaveInitLevel() {
+        // Arrange
+        // Setup a fake saved network list and assign to fragment.
+        addOneSavedNetworkConfiguration(mSavedWpaConfigurationEntry);
+        // Setup one specified networks and its results and assign to fragment.
+        addOneSpecifiedRegularNetworkSuggestion(mNewOpenSuggestionEntry);
+        mAddAppNetworksFragment.mAllSpecifiedNetworksList = mFakedSpecifiedNetworksList;
+
+        // Act
+        mAddAppNetworksFragment.filterSavedNetworks(mFakeSavedNetworksList);
+
+        // Assert
+        assertThat(mAddAppNetworksFragment.mUiToRequestedList).hasSize(1);
+        assertThat(mAddAppNetworksFragment.mUiToRequestedList.get(0).mLevel).isEqualTo(
+                mAddAppNetworksFragment.INITIAL_RSSI_SIGNAL_LEVEL);
+    }
+
+    @Test
+    public void withOneSuggestion_whenScanResultChanged_uiListShouldHaveNewLevel() {
+        // Arrange
+        when(mAddAppNetworksFragment.mWifiTracker.getManager().isWifiEnabled()).thenReturn(true);
+        // Setup a fake saved network list and assign to fragment.
+        addOneSavedNetworkConfiguration(mSavedWpaConfigurationEntry);
+        // Setup one specified networks and its results and assign to fragment.
+        addOneSpecifiedRegularNetworkSuggestion(mNewOpenSuggestionEntry);
+        mAddAppNetworksFragment.mAllSpecifiedNetworksList = mFakedSpecifiedNetworksList;
+        // Call filterSavedNetworks to generate necessary objects.
+        mAddAppNetworksFragment.filterSavedNetworks(mFakeSavedNetworksList);
+
+        // Act
+        mAddAppNetworksFragment.onAccessPointsChanged();
+
+        // Assert
+        assertThat(mAddAppNetworksFragment.mUiToRequestedList.get(0).mLevel).isEqualTo(
+                SCANED_LEVEL4);
+    }
+
+    @Test
+    public void withOneSuggestion_whenScanResultChangedButWifiOff_uiListShouldHaveZeroLevel() {
+        // Arrange
+        when(mAddAppNetworksFragment.mWifiTracker.getManager().isWifiEnabled()).thenReturn(false);
+        // Setup a fake saved network list and assign to fragment.
+        addOneSavedNetworkConfiguration(mSavedWpaConfigurationEntry);
+        // Setup one specified networks and its results and assign to fragment.
+        addOneSpecifiedRegularNetworkSuggestion(mNewOpenSuggestionEntry);
+        mAddAppNetworksFragment.mAllSpecifiedNetworksList = mFakedSpecifiedNetworksList;
+        // Call filterSavedNetworks to generate necessary objects.
+        mAddAppNetworksFragment.filterSavedNetworks(mFakeSavedNetworksList);
+
+        // Act
+        mAddAppNetworksFragment.onAccessPointsChanged();
+
+        // Assert
+        assertThat(mAddAppNetworksFragment.mUiToRequestedList.get(0).mLevel).isEqualTo(
+                SCANED_LEVEL0);
+    }
+
+    private void setUpOneScannedNetworkWithScanedLevel4() {
+        final ArrayList list = new ArrayList<>();
+        list.add(mMockAccessPoint);
+        when(mMockWifiTracker.getAccessPoints()).thenReturn(list);
+        when(mMockAccessPoint.getSsidStr()).thenReturn(FAKE_NEW_OPEN_SSID);
+        when(mMockAccessPoint.matches(any(WifiConfiguration.class))).thenReturn(true);
+        when(mMockAccessPoint.getLevel()).thenReturn(SCANED_LEVEL4);
+    }
+
+    private void addOneSavedNetworkConfiguration(@NonNull WifiConfiguration wifiConfiguration) {
+        if (mFakeSavedNetworksList == null) {
+            mFakeSavedNetworksList = new ArrayList<>();
+        }
+
+        mFakeSavedNetworksList.add(wifiConfiguration);
+    }
+
+    private void addOneSpecifiedRegularNetworkSuggestion(
+            @NonNull WifiNetworkSuggestion wifiNetworkSuggestion) {
+        if (wifiNetworkSuggestion != null) {
+            if (mFakedSpecifiedNetworksList == null) {
+                mFakedSpecifiedNetworksList = new ArrayList<>();
+            }
+            mFakedSpecifiedNetworksList.add(wifiNetworkSuggestion);
+        }
+    }
+
+    private void setUpBundle(List<WifiNetworkSuggestion> allFakedNetworksList) {
+        // Set up bundle.
+        final Bundle bundle = new Bundle();
+        bundle.putString(AddAppNetworksActivity.KEY_CALLING_PACKAGE_NAME, FAKE_APP_NAME);
+        bundle.putParcelableArrayList(Settings.EXTRA_WIFI_NETWORK_LIST,
+                (ArrayList<? extends Parcelable>) allFakedNetworksList);
+        doReturn(bundle).when(mAddAppNetworksFragment).getArguments();
+    }
+
+    private void setupFragment() {
+        FragmentController.setupFragment(mAddAppNetworksFragment);
+    }
+
+    private static WifiConfiguration generateRegularWifiConfiguration(String ssid, int
+            securityType,
+            String password) {
+        final WifiConfiguration config = new WifiConfiguration();
+        config.SSID = ssid;
+        config.allowedKeyManagement.set(securityType);
+
+        if (password != null) {
+            config.preSharedKey = password;
+        }
+        return config;
+    }
+
+    private static WifiNetworkSuggestion generateRegularWifiSuggestion(String ssid,
+            int securityType,
+            String password) {
+        WifiNetworkSuggestion suggestion = null;
+
+        switch (securityType) {
+            case WifiConfiguration.KeyMgmt.NONE:
+                suggestion = new WifiNetworkSuggestion.Builder()
+                        .setSsid(ssid)
+                        .build();
+                break;
+            case WifiConfiguration.KeyMgmt.WPA_PSK:
+                suggestion = new WifiNetworkSuggestion.Builder()
+                        .setSsid(ssid)
+                        .setWpa2Passphrase(password)
+                        .build();
+                break;
+            default:
+                break;
+
+        }
+
+        return suggestion;
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/wifi/calling/ListWithEntrySummaryPreferenceTest.java b/tests/robotests/src/com/android/settings/wifi/calling/ListWithEntrySummaryPreferenceTest.java
index 307c0ac..e864ce3 100644
--- a/tests/robotests/src/com/android/settings/wifi/calling/ListWithEntrySummaryPreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/calling/ListWithEntrySummaryPreferenceTest.java
@@ -32,6 +32,7 @@
 import org.junit.runner.RunWith;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.shadows.ShadowLooper;
 
 @RunWith(RobolectricTestRunner.class)
 public class ListWithEntrySummaryPreferenceTest {
@@ -53,6 +54,7 @@
     public void setUp() {
         mContext = RuntimeEnvironment.application;
         mContext.setTheme(R.style.Theme_Settings_Home);
+        ShadowLooper.pauseMainLooper();
         mPreference = new ListWithEntrySummaryPreference(mContext, null);
         mPreference.setEntries(mDefaultEntries);
         mPreference.setEntryValues(mDefaultEntryValues);
@@ -60,7 +62,7 @@
     }
 
     @Test
-    public void initialize_defaultEntries_shouldDisplayDefalutEntries() {
+    public void initialize_defaultEntries_shouldDisplayDefaultEntries() {
         AlertDialog dialog = showDialog(mPreference);
         ListAdapter adapter = dialog.getListView().getAdapter();
 
diff --git a/tests/robotests/src/com/android/settings/wifi/calling/WifiCallingDisclaimerFragmentTest.java b/tests/robotests/src/com/android/settings/wifi/calling/WifiCallingDisclaimerFragmentTest.java
index 25fa737..d7b79b1 100644
--- a/tests/robotests/src/com/android/settings/wifi/calling/WifiCallingDisclaimerFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/calling/WifiCallingDisclaimerFragmentTest.java
@@ -41,6 +41,7 @@
 
 import com.android.settings.R;
 import com.android.settings.testutils.shadow.ShadowDisclaimerItemFactory;
+import com.android.settings.testutils.shadow.ShadowFragment;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -57,7 +58,7 @@
 import org.robolectric.RobolectricTestRunner;
 
 @RunWith(RobolectricTestRunner.class)
-@Config(shadows = ShadowDisclaimerItemFactory.class)
+@Config(shadows = {ShadowDisclaimerItemFactory.class, ShadowFragment.class})
 public class WifiCallingDisclaimerFragmentTest {
 
     @Mock
diff --git a/tests/robotests/src/com/android/settings/wifi/calling/WifiCallingSettingsForSubTest.java b/tests/robotests/src/com/android/settings/wifi/calling/WifiCallingSettingsForSubTest.java
index ae88231..5b76adc 100644
--- a/tests/robotests/src/com/android/settings/wifi/calling/WifiCallingSettingsForSubTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/calling/WifiCallingSettingsForSubTest.java
@@ -17,11 +17,12 @@
 package com.android.settings.wifi.calling;
 
 import static com.android.settings.SettingsActivity.EXTRA_SHOW_FRAGMENT;
+
 import static com.google.common.truth.Truth.assertThat;
 
 import static junit.framework.Assert.assertEquals;
+
 import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.anyBoolean;
 import static org.mockito.Matchers.anyInt;
 import static org.mockito.Matchers.eq;
 import static org.mockito.Mockito.doNothing;
@@ -42,7 +43,7 @@
 import android.os.PersistableBundle;
 import android.telephony.CarrierConfigManager;
 import android.telephony.TelephonyManager;
-import android.telephony.ims.ProvisioningManager;
+import android.telephony.ims.ImsMmTelManager;
 import android.view.View;
 import android.widget.TextView;
 
@@ -53,12 +54,12 @@
 import com.android.ims.ImsManager;
 import com.android.settings.R;
 import com.android.settings.SettingsActivity;
-import com.android.settings.testutils.FakeFeatureFactory;
-import com.android.settings.testutils.shadow.SettingsShadowResources;
+import com.android.settings.testutils.shadow.ShadowFragment;
 import com.android.settings.widget.SwitchBar;
 import com.android.settings.widget.ToggleSwitch;
 
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.ArgumentCaptor;
@@ -66,8 +67,10 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
 import org.robolectric.util.ReflectionHelpers;
 
+@Config(shadows = ShadowFragment.class)
 @RunWith(RobolectricTestRunner.class)
 public class WifiCallingSettingsForSubTest {
     private static final String BUTTON_WFC_MODE = "wifi_calling_mode";
@@ -83,6 +86,7 @@
     @Mock private static CarrierConfigManager sCarrierConfigManager;
     @Mock private CarrierConfigManager mMockConfigManager;
     @Mock private ImsManager mImsManager;
+    @Mock private ImsMmTelManager mImsMmTelManager;
     @Mock private TelephonyManager mTelephonyManager;
     @Mock private PreferenceScreen mPreferenceScreen;
     @Mock private SettingsActivity mActivity;
@@ -124,12 +128,15 @@
         doReturn(mSwitchBar).when(mView).findViewById(R.id.switch_bar);
 
         doReturn(mImsManager).when(mFragment).getImsManager();
+        doReturn(mImsMmTelManager).when(mFragment).getImsMmTelManager();
         doReturn(mImsConfig).when(mImsManager).getConfigInterface();
-        doReturn(true).when(mImsManager).isWfcProvisionedOnDevice();
+        doReturn(true).when(mFragment).isWfcProvisionedOnDevice();
         doReturn(true).when(mImsManager).isWfcEnabledByUser();
         doReturn(true).when(mImsManager).isNonTtyOrTtyOnVolteEnabled();
-        doReturn(ImsConfig.WfcModeFeatureValueConstants.WIFI_PREFERRED)
-                .when(mImsManager).getWfcMode(anyBoolean());
+        doReturn(ImsMmTelManager.WIFI_MODE_WIFI_PREFERRED)
+                .when(mImsMmTelManager).getVoWiFiModeSetting();
+        doReturn(ImsMmTelManager.WIFI_MODE_WIFI_PREFERRED)
+                .when(mImsMmTelManager).getVoWiFiRoamingModeSetting();
 
         doReturn(mBundle).when(sCarrierConfigManager).getConfigForSubId(anyInt());
         setDefaultCarrierConfigValues();
@@ -171,7 +178,7 @@
     @Test
     public void onResume_provisioningDisallowed_shouldFinish() {
         // Call onResume while provisioning is disallowed.
-        doReturn(false).when(mImsManager).isWfcProvisionedOnDevice();
+        doReturn(false).when(mFragment).isWfcProvisionedOnDevice();
         mFragment.onResume();
 
         // Verify that finish() is called
@@ -182,14 +189,15 @@
     public void onResumeOnPause_provisioningCallbackRegistration() throws Exception {
         // Verify that provisioning callback is registered after call to onResume().
         mFragment.onResume();
-        verify(mImsConfig).addConfigCallback(any(ProvisioningManager.Callback.class));
+        verify(mFragment).registerProvisioningChangedCallback();
 
         // Verify that provisioning callback is unregistered after call to onPause.
         mFragment.onPause();
-        verify(mImsConfig).removeConfigCallback(any());
+        verify(mFragment).unregisterProvisioningChangedCallback();
     }
 
     @Test
+    @Ignore
     public void onResume_useWfcHomeModeConfigFalseAndEditable_shouldShowWfcRoaming() {
         // Call onResume to update the WFC roaming preference.
         mFragment.onResume();
@@ -248,15 +256,13 @@
 
         // Set the WFC home mode.
         mFragment.onPreferenceChange(mButtonWfcMode,
-                String.valueOf(ImsConfig.WfcModeFeatureValueConstants.CELLULAR_PREFERRED));
+                String.valueOf(ImsMmTelManager.WIFI_MODE_CELLULAR_PREFERRED));
 
         // Check that only WFC home mode is set.
-        verify(mImsManager, times(1)).setWfcMode(
-                eq(ImsConfig.WfcModeFeatureValueConstants.CELLULAR_PREFERRED),
-                eq(false));
-        verify(mImsManager, never()).setWfcMode(
-                eq(ImsConfig.WfcModeFeatureValueConstants.CELLULAR_PREFERRED),
-                eq(true));
+        verify(mImsMmTelManager, times(1)).setVoWiFiModeSetting(
+                eq(ImsMmTelManager.WIFI_MODE_CELLULAR_PREFERRED));
+        verify(mImsMmTelManager, never()).setVoWiFiRoamingModeSetting(
+                eq(ImsMmTelManager.WIFI_MODE_CELLULAR_PREFERRED));
     }
 
     @Test
@@ -269,34 +275,32 @@
 
         // Set the WFC home mode.
         mFragment.onPreferenceChange(mButtonWfcMode,
-                String.valueOf(ImsConfig.WfcModeFeatureValueConstants.CELLULAR_PREFERRED));
+                String.valueOf(ImsMmTelManager.WIFI_MODE_CELLULAR_PREFERRED));
 
         // Check that both WFC home mode and roaming mode are set.
-        verify(mImsManager, times(1)).setWfcMode(
-                eq(ImsConfig.WfcModeFeatureValueConstants.CELLULAR_PREFERRED),
-                eq(false));
-        verify(mImsManager, times(1)).setWfcMode(
-                eq(ImsConfig.WfcModeFeatureValueConstants.CELLULAR_PREFERRED),
-                eq(true));
+        verify(mImsMmTelManager, times(1)).setVoWiFiModeSetting(
+                eq(ImsMmTelManager.WIFI_MODE_CELLULAR_PREFERRED));
+        verify(mImsMmTelManager, times(1)).setVoWiFiRoamingModeSetting(
+                eq(ImsMmTelManager.WIFI_MODE_CELLULAR_PREFERRED));
     }
 
     @Test
     public void onSwitchChanged_enableSetting_shouldLaunchWfcDisclaimerFragment() {
-        ArgumentCaptor<Intent> intentCaptor = ArgumentCaptor.forClass(Intent.class);
+        final ArgumentCaptor<Intent> intentCaptor = ArgumentCaptor.forClass(Intent.class);
 
         mFragment.onSwitchChanged(null, true);
 
         // Check the WFC disclaimer fragment is launched.
         verify(mFragment).startActivityForResult(intentCaptor.capture(),
                 eq(WifiCallingSettingsForSub.REQUEST_CHECK_WFC_DISCLAIMER));
-        Intent intent = intentCaptor.getValue();
+        final Intent intent = intentCaptor.getValue();
         assertThat(intent.getStringExtra(EXTRA_SHOW_FRAGMENT))
                 .isEqualTo(WifiCallingDisclaimerFragment.class.getName());
     }
 
     @Test
     public void onActivityResult_finishWfcDisclaimerFragment_shouldLaunchCarrierActivity() {
-        ArgumentCaptor<Intent> intentCaptor = ArgumentCaptor.forClass(Intent.class);
+        final ArgumentCaptor<Intent> intentCaptor = ArgumentCaptor.forClass(Intent.class);
 
         // Emulate the WfcDisclaimerActivity finish.
         mFragment.onActivityResult(WifiCallingSettingsForSub.REQUEST_CHECK_WFC_DISCLAIMER,
@@ -305,7 +309,7 @@
         // Check the WFC emergency address activity is launched.
         verify(mFragment).startActivityForResult(intentCaptor.capture(),
                 eq(WifiCallingSettingsForSub.REQUEST_CHECK_WFC_EMERGENCY_ADDRESS));
-        Intent intent = intentCaptor.getValue();
+        final Intent intent = intentCaptor.getValue();
         assertEquals(intent.getComponent(), ComponentName.unflattenFromString(
                 TEST_EMERGENCY_ADDRESS_CARRIER_APP));
     }
@@ -324,7 +328,7 @@
         verify(mPreferenceScreen).addPreference(mButtonWfcRoamingMode);
         verify(mPreferenceScreen).addPreference(mUpdateAddress);
         // Check the WFC enable request.
-        verify(mImsManager).setWfcSetting(true);
+        verify(mImsMmTelManager).setVoWiFiSettingEnabled(true);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/wifi/calling/WifiCallingSettingsTest.java b/tests/robotests/src/com/android/settings/wifi/calling/WifiCallingSettingsTest.java
index cc9ebb3..dc3b2b0 100644
--- a/tests/robotests/src/com/android/settings/wifi/calling/WifiCallingSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/calling/WifiCallingSettingsTest.java
@@ -18,13 +18,13 @@
 
 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.anyInt;
 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.content.Intent;
 import android.provider.Settings;
 import android.telephony.SubscriptionInfo;
@@ -32,14 +32,19 @@
 
 import androidx.fragment.app.FragmentActivity;
 
+import com.android.ims.ImsManager;
 import com.android.settings.R;
 import com.android.settings.network.SubscriptionUtil;
+import com.android.settings.network.ims.MockWifiCallingQueryImsState;
 import com.android.settings.widget.RtlCompatibleViewPager;
 
 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 org.robolectric.shadows.androidx.fragment.FragmentController;
 
 import java.util.ArrayList;
@@ -48,12 +53,38 @@
 
 @RunWith(RobolectricTestRunner.class)
 public class WifiCallingSettingsTest {
+    private static final int SUB_ID1 = 111;
+    private static final int SUB_ID2 = 222;
+
+    private Context mContext;
+
+    @Mock
+    private ImsManager mImsManager;
 
     private WifiCallingSettings mFragment;
 
+    private MockWifiCallingQueryImsState mQueryImsState1;
+    private MockWifiCallingQueryImsState mQueryImsState2;
+
     @Before
     public void setUp() {
+        MockitoAnnotations.initMocks(this);
+
+        mContext = spy(RuntimeEnvironment.application);
+
+        mQueryImsState1 = spy(new MockWifiCallingQueryImsState(mContext, SUB_ID1));
+        mQueryImsState2 = spy(new MockWifiCallingQueryImsState(mContext, SUB_ID2));
+        doReturn(true).when(mQueryImsState1).isEnabledByUser();
+        doReturn(true).when(mQueryImsState2).isEnabledByUser();
+        doReturn(mImsManager).when(mQueryImsState1).getImsManager(anyInt());
+        doReturn(mImsManager).when(mQueryImsState2).getImsManager(anyInt());
+        doReturn(true).when(mImsManager).isWfcEnabledByPlatform();
+        mQueryImsState1.setIsProvisionedOnDevice(true);
+        mQueryImsState2.setIsProvisionedOnDevice(true);
+
         mFragment = spy(new WifiCallingSettings());
+        doReturn(mQueryImsState1).when(mFragment).queryImsState(SUB_ID1);
+        doReturn(mQueryImsState2).when(mFragment).queryImsState(SUB_ID2);
     }
 
     @Test
@@ -64,72 +95,71 @@
 
     @Test
     public void setupFragment_oneSubscription_noCrash() {
-        SubscriptionInfo info = mock(SubscriptionInfo.class);
-        when(info.getSubscriptionId()).thenReturn(111);
+        final SubscriptionInfo info = mock(SubscriptionInfo.class);
+        when(info.getSubscriptionId()).thenReturn(SUB_ID1);
 
         SubscriptionUtil.setActiveSubscriptionsForTesting(new ArrayList<>(
                 Collections.singletonList(info)));
-        doReturn(true).when(mFragment).isWfcEnabledByPlatform(any(SubscriptionInfo.class));
+        doReturn(true).when(mImsManager).isWfcEnabledByPlatform();
+        mQueryImsState1.setIsProvisionedOnDevice(true);
 
-        Intent intent = new Intent();
+        final Intent intent = new Intent();
         intent.putExtra(Settings.EXTRA_SUB_ID, info.getSubscriptionId());
         FragmentController.of(mFragment, intent).create(0 /* containerViewId*/,
                 null /* bundle */).start().resume().visible().get();
 
-        View view = mFragment.getView();
-        RtlCompatibleViewPager pager = view.findViewById(R.id.view_pager);
-        WifiCallingSettings.WifiCallingViewPagerAdapter adapter =
+        final View view = mFragment.getView();
+        final RtlCompatibleViewPager pager = view.findViewById(R.id.view_pager);
+        final WifiCallingSettings.WifiCallingViewPagerAdapter adapter =
                 (WifiCallingSettings.WifiCallingViewPagerAdapter) pager.getAdapter();
         assertThat(adapter.getCount()).isEqualTo(1);
     }
 
     @Test
     public void setupFragment_twoSubscriptions_correctSelection() {
-        SubscriptionInfo info1 = mock(SubscriptionInfo.class);
-        SubscriptionInfo info2 = mock(SubscriptionInfo.class);
-        when(info1.getSubscriptionId()).thenReturn(111);
-        when(info2.getSubscriptionId()).thenReturn(222);
+        final SubscriptionInfo info1 = mock(SubscriptionInfo.class);
+        final SubscriptionInfo info2 = mock(SubscriptionInfo.class);
+        when(info1.getSubscriptionId()).thenReturn(SUB_ID1);
+        when(info2.getSubscriptionId()).thenReturn(SUB_ID2);
 
         SubscriptionUtil.setActiveSubscriptionsForTesting(new ArrayList<>(
                 Arrays.asList(info1, info2)));
-        doReturn(true).when(mFragment).isWfcEnabledByPlatform(any(SubscriptionInfo.class));
 
-        Intent intent = new Intent();
+        final Intent intent = new Intent();
         intent.putExtra(Settings.EXTRA_SUB_ID, info2.getSubscriptionId());
         FragmentController.of(mFragment, intent).create(0 /* containerViewId*/,
                 null /* bundle */).start().resume().visible().get();
 
-        View view = mFragment.getView();
-        RtlCompatibleViewPager pager = view.findViewById(R.id.view_pager);
+        final View view = mFragment.getView();
+        final RtlCompatibleViewPager pager = view.findViewById(R.id.view_pager);
         assertThat(pager.getCurrentItem()).isEqualTo(1);
 
-        WifiCallingSettings.WifiCallingViewPagerAdapter adapter =
+        final WifiCallingSettings.WifiCallingViewPagerAdapter adapter =
                 (WifiCallingSettings.WifiCallingViewPagerAdapter) pager.getAdapter();
         assertThat(adapter.getCount()).isEqualTo(2);
     }
 
     @Test
     public void setupFragment_twoSubscriptionsOneNotProvisionedOnDevice_oneResult() {
-        SubscriptionInfo info1 = mock(SubscriptionInfo.class);
-        SubscriptionInfo info2 = mock(SubscriptionInfo.class);
-        when(info1.getSubscriptionId()).thenReturn(111);
-        when(info2.getSubscriptionId()).thenReturn(222);
+        final SubscriptionInfo info1 = mock(SubscriptionInfo.class);
+        final SubscriptionInfo info2 = mock(SubscriptionInfo.class);
+        when(info1.getSubscriptionId()).thenReturn(SUB_ID1);
+        when(info2.getSubscriptionId()).thenReturn(SUB_ID2);
 
         SubscriptionUtil.setActiveSubscriptionsForTesting(new ArrayList<>(
                 Arrays.asList(info1, info2)));
-        doReturn(true).when(mFragment).isWfcEnabledByPlatform(any(SubscriptionInfo.class));
-        doReturn(false).when(mFragment).isWfcProvisionedOnDevice(eq(info2));
+        mQueryImsState2.setIsProvisionedOnDevice(false);
 
-        Intent intent = new Intent();
+        final Intent intent = new Intent();
         intent.putExtra(Settings.EXTRA_SUB_ID, info1.getSubscriptionId());
         FragmentController.of(mFragment, intent).create(0 /* containerViewId*/,
                 null /* bundle */).start().resume().visible().get();
 
-        View view = mFragment.getView();
-        RtlCompatibleViewPager pager = view.findViewById(R.id.view_pager);
+        final View view = mFragment.getView();
+        final RtlCompatibleViewPager pager = view.findViewById(R.id.view_pager);
         assertThat(pager.getCurrentItem()).isEqualTo(0);
 
-        WifiCallingSettings.WifiCallingViewPagerAdapter adapter =
+        final WifiCallingSettings.WifiCallingViewPagerAdapter adapter =
                 (WifiCallingSettings.WifiCallingViewPagerAdapter) pager.getAdapter();
         assertThat(adapter.getCount()).isEqualTo(1);
     }
diff --git a/tests/robotests/src/com/android/settings/wifi/calling/WifiCallingSliceHelperTest.java b/tests/robotests/src/com/android/settings/wifi/calling/WifiCallingSliceHelperTest.java
index 644e5e8..f537be3 100644
--- a/tests/robotests/src/com/android/settings/wifi/calling/WifiCallingSliceHelperTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/calling/WifiCallingSliceHelperTest.java
@@ -22,7 +22,7 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
-import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
@@ -32,6 +32,7 @@
 import android.content.Context;
 import android.content.Intent;
 import android.telephony.CarrierConfigManager;
+import android.telephony.ims.ImsMmTelManager;
 
 import androidx.slice.Slice;
 import androidx.slice.SliceItem;
@@ -44,9 +45,9 @@
 import androidx.slice.widget.SliceContent;
 import androidx.slice.widget.SliceLiveData;
 
-import com.android.ims.ImsConfig;
 import com.android.ims.ImsManager;
 import com.android.settings.R;
+import com.android.settings.network.ims.WifiCallingQueryImsState;
 import com.android.settings.slices.CustomSliceRegistry;
 import com.android.settings.slices.SettingsSliceProvider;
 import com.android.settings.slices.SliceBroadcastReceiver;
@@ -68,6 +69,7 @@
 
 @RunWith(RobolectricTestRunner.class)
 public class WifiCallingSliceHelperTest {
+    private static final int SUB_ID = 1;
 
     private Context mContext;
     @Mock
@@ -76,6 +78,11 @@
     @Mock
     private ImsManager mMockImsManager;
 
+    @Mock
+    private ImsMmTelManager mMockImsMmTelManager;
+
+    private WifiCallingQueryImsState mQueryImsState;
+
     private FakeWifiCallingSliceHelper mWfcSliceHelper;
     private SettingsSliceProvider mProvider;
     private SliceBroadcastReceiver mReceiver;
@@ -98,7 +105,12 @@
         mFeatureFactory = FakeFeatureFactory.setupForTest();
         mSlicesFeatureProvider = mFeatureFactory.getSlicesFeatureProvider();
 
-        mWfcSliceHelper = new FakeWifiCallingSliceHelper(mContext);
+        mQueryImsState = spy(new WifiCallingQueryImsState(mContext, SUB_ID));
+        doReturn(true).when(mQueryImsState).isEnabledByUser();
+        doReturn(true).when(mQueryImsState).isWifiCallingProvisioned();
+
+        mWfcSliceHelper = spy(new FakeWifiCallingSliceHelper(mContext));
+        doReturn(mQueryImsState).when(mWfcSliceHelper).queryImsState(anyInt());
 
         // Set-up specs for SliceMetadata.
         SliceProvider.setSpecs(SliceLiveData.SUPPORTED_SPECS);
@@ -106,6 +118,8 @@
 
     @Test
     public void test_CreateWifiCallingSlice_invalidSubId() {
+        doReturn(true).when(mQueryImsState).isEnabledByUser();
+        doReturn(false).when(mQueryImsState).isWifiCallingProvisioned();
         mWfcSliceHelper.setDefaultVoiceSubId(-1);
 
         final Slice slice = mWfcSliceHelper.createWifiCallingSlice(
@@ -116,7 +130,7 @@
 
     @Test
     public void test_CreateWifiCallingSlice_wfcNotSupported() {
-        when(mMockImsManager.isWfcEnabledByPlatform()).thenReturn(false);
+        doReturn(false).when(mQueryImsState).isWifiCallingProvisioned();
 
         final Slice slice = mWfcSliceHelper.createWifiCallingSlice(
                 CustomSliceRegistry.WIFI_CALLING_URI);
@@ -132,9 +146,8 @@
         turned off) we need to guide the user to wifi calling settings
         activity so the user can perform the activation there.(PrimaryAction)
          */
-        when(mMockImsManager.isWfcEnabledByPlatform()).thenReturn(true);
-        when(mMockImsManager.isWfcProvisionedOnDevice()).thenReturn(true);
-        when(mMockImsManager.isWfcEnabledByUser()).thenReturn(false);
+        doReturn(true).when(mQueryImsState).isWifiCallingProvisioned();
+        doReturn(false).when(mQueryImsState).isEnabledByUser();
         when(mMockImsManager.isNonTtyOrTtyOnVolteEnabled()).thenReturn(false);
         when(mMockCarrierConfigManager.getConfigForSubId(1)).thenReturn(null);
         mWfcSliceHelper.setActivationAppIntent(new Intent()); // dummy Intent
@@ -150,9 +163,8 @@
 
     @Test
     public void test_CreateWifiCallingSlice_success() {
-        when(mMockImsManager.isWfcEnabledByPlatform()).thenReturn(true);
-        when(mMockImsManager.isWfcProvisionedOnDevice()).thenReturn(true);
-        when(mMockImsManager.isWfcEnabledByUser()).thenReturn(true);
+        doReturn(true).when(mQueryImsState).isWifiCallingProvisioned();
+        doReturn(true).when(mQueryImsState).isEnabledByUser();
         when(mMockImsManager.isNonTtyOrTtyOnVolteEnabled()).thenReturn(true);
         when(mMockCarrierConfigManager.getConfigForSubId(1)).thenReturn(null);
 
@@ -165,9 +177,8 @@
 
     @Test
     public void test_SettingSliceProvider_getsRightSliceWifiCalling() {
-        when(mMockImsManager.isWfcEnabledByPlatform()).thenReturn(true);
-        when(mMockImsManager.isWfcProvisionedOnDevice()).thenReturn(true);
-        when(mMockImsManager.isWfcEnabledByUser()).thenReturn(true);
+        doReturn(true).when(mQueryImsState).isWifiCallingProvisioned();
+        doReturn(true).when(mQueryImsState).isEnabledByUser();
         when(mMockImsManager.isNonTtyOrTtyOnVolteEnabled()).thenReturn(true);
         when(mMockCarrierConfigManager.getConfigForSubId(1)).thenReturn(null);
         when(mSlicesFeatureProvider.getNewWifiCallingSliceHelper(mContext))
@@ -181,24 +192,23 @@
 
     @Test
     public void test_SliceBroadcastReceiver_toggleOnWifiCalling() {
-        when(mMockImsManager.isWfcEnabledByPlatform()).thenReturn(true);
-        when(mMockImsManager.isWfcProvisionedOnDevice()).thenReturn(true);
-        when(mMockImsManager.isWfcEnabledByUser()).thenReturn(false);
+        doReturn(true).when(mQueryImsState).isWifiCallingProvisioned();
+        doReturn(false).when(mQueryImsState).isEnabledByUser();
         when(mMockImsManager.isNonTtyOrTtyOnVolteEnabled()).thenReturn(true);
         when(mSlicesFeatureProvider.getNewWifiCallingSliceHelper(mContext))
                 .thenReturn(mWfcSliceHelper);
         mWfcSliceHelper.setActivationAppIntent(null);
 
-        ArgumentCaptor<Boolean> mWfcSettingCaptor = ArgumentCaptor.forClass(Boolean.class);
+        final ArgumentCaptor<Boolean> mWfcSettingCaptor = ArgumentCaptor.forClass(Boolean.class);
 
         // turn on Wifi calling setting
-        Intent intent = new Intent(WifiCallingSliceHelper.ACTION_WIFI_CALLING_CHANGED);
+        final Intent intent = new Intent(WifiCallingSliceHelper.ACTION_WIFI_CALLING_CHANGED);
         intent.putExtra(EXTRA_TOGGLE_STATE, true);
 
         // change the setting
         mReceiver.onReceive(mContext, intent);
 
-        verify((mMockImsManager)).setWfcSetting(mWfcSettingCaptor.capture());
+        verify((mMockImsMmTelManager)).setVoWiFiSettingEnabled(mWfcSettingCaptor.capture());
 
         // assert the change
         assertThat(mWfcSettingCaptor.getValue()).isTrue();
@@ -206,9 +216,8 @@
 
     @Test
     public void test_CreateWifiCallingPreferenceSlice_prefNotEditable() {
-        when(mMockImsManager.isWfcEnabledByPlatform()).thenReturn(true);
-        when(mMockImsManager.isWfcProvisionedOnDevice()).thenReturn(true);
-        when(mMockImsManager.isWfcEnabledByUser()).thenReturn(true);
+        doReturn(true).when(mQueryImsState).isWifiCallingProvisioned();
+        doReturn(true).when(mQueryImsState).isEnabledByUser();
         when(mMockImsManager.isNonTtyOrTtyOnVolteEnabled()).thenReturn(true);
         mWfcSliceHelper.setIsWifiCallingPrefEditable(false);
 
@@ -221,9 +230,8 @@
 
     @Test
     public void test_CreateWifiCallingPreferenceSlice_wfcOff() {
-        when(mMockImsManager.isWfcEnabledByPlatform()).thenReturn(true);
-        when(mMockImsManager.isWfcProvisionedOnDevice()).thenReturn(true);
-        when(mMockImsManager.isWfcEnabledByUser()).thenReturn(false);
+        doReturn(true).when(mQueryImsState).isWifiCallingProvisioned();
+        doReturn(false).when(mQueryImsState).isEnabledByUser();
         when(mMockImsManager.isNonTtyOrTtyOnVolteEnabled()).thenReturn(true);
         mWfcSliceHelper.setIsWifiCallingPrefEditable(true);
 
@@ -238,12 +246,11 @@
 
     @Test
     public void test_CreateWifiCallingPreferenceSlice_success() {
-        when(mMockImsManager.isWfcEnabledByPlatform()).thenReturn(true);
-        when(mMockImsManager.isWfcProvisionedOnDevice()).thenReturn(true);
-        when(mMockImsManager.isWfcEnabledByUser()).thenReturn(true);
+        doReturn(true).when(mQueryImsState).isWifiCallingProvisioned();
+        doReturn(true).when(mQueryImsState).isEnabledByUser();
         when(mMockImsManager.isNonTtyOrTtyOnVolteEnabled()).thenReturn(true);
-        when(mMockImsManager.getWfcMode(false)).thenReturn(
-                ImsConfig.WfcModeFeatureValueConstants.WIFI_PREFERRED);
+        when(mMockImsMmTelManager.getVoWiFiModeSetting()).thenReturn(
+                ImsMmTelManager.WIFI_MODE_WIFI_PREFERRED);
         mWfcSliceHelper.setIsWifiCallingPrefEditable(true);
 
         final Slice slice = mWfcSliceHelper.createWifiCallingPreferenceSlice(
@@ -256,12 +263,11 @@
 
     @Test
     public void test_SettingsSliceProvider_getWfcPreferenceSlice() {
-        when(mMockImsManager.isWfcEnabledByPlatform()).thenReturn(true);
-        when(mMockImsManager.isWfcProvisionedOnDevice()).thenReturn(true);
-        when(mMockImsManager.isWfcEnabledByUser()).thenReturn(true);
+        doReturn(true).when(mQueryImsState).isWifiCallingProvisioned();
+        doReturn(true).when(mQueryImsState).isEnabledByUser();
         when(mMockImsManager.isNonTtyOrTtyOnVolteEnabled()).thenReturn(true);
-        when(mMockImsManager.getWfcMode(false)).thenReturn(
-                ImsConfig.WfcModeFeatureValueConstants.WIFI_PREFERRED);
+        when(mMockImsMmTelManager.getVoWiFiModeSetting()).thenReturn(
+                ImsMmTelManager.WIFI_MODE_WIFI_PREFERRED);
         when(mSlicesFeatureProvider.getNewWifiCallingSliceHelper(mContext))
                 .thenReturn(mWfcSliceHelper);
         mWfcSliceHelper.setIsWifiCallingPrefEditable(true);
@@ -275,29 +281,29 @@
     }
     @Test
     public void test_SliceBroadcastReceiver_setWfcPrefCellularPref() {
-        when(mMockImsManager.isWfcEnabledByPlatform()).thenReturn(true);
-        when(mMockImsManager.isWfcProvisionedOnDevice()).thenReturn(true);
-        when(mMockImsManager.isWfcEnabledByUser()).thenReturn(true);
+        doReturn(true).when(mQueryImsState).isWifiCallingProvisioned();
+        doReturn(true).when(mQueryImsState).isEnabledByUser();
         when(mMockImsManager.isNonTtyOrTtyOnVolteEnabled()).thenReturn(true);
-        when(mMockImsManager.getWfcMode(false)).thenReturn(
-                ImsConfig.WfcModeFeatureValueConstants.WIFI_PREFERRED);
+        when(mMockImsMmTelManager.getVoWiFiModeSetting()).thenReturn(
+                ImsMmTelManager.WIFI_MODE_WIFI_PREFERRED);
         when(mSlicesFeatureProvider.getNewWifiCallingSliceHelper(mContext))
                 .thenReturn(mWfcSliceHelper);
         mWfcSliceHelper.setIsWifiCallingPrefEditable(true);
 
-        ArgumentCaptor<Integer> mWfcPreferenceCaptor = ArgumentCaptor.forClass(Integer.class);
+        final ArgumentCaptor<Integer> mWfcPreferenceCaptor =
+                ArgumentCaptor.forClass(Integer.class);
 
         // Change preference to Cellular pref
-        Intent intent = new Intent(
+        final Intent intent = new Intent(
                 WifiCallingSliceHelper.ACTION_WIFI_CALLING_PREFERENCE_CELLULAR_PREFERRED);
 
         mReceiver.onReceive(mContext, intent);
 
-        verify((mMockImsManager)).setWfcMode(mWfcPreferenceCaptor.capture(), eq(false));
+        verify((mMockImsMmTelManager)).setVoWiFiModeSetting(mWfcPreferenceCaptor.capture());
 
         // assert the change
         assertThat(mWfcPreferenceCaptor.getValue()).isEqualTo(
-                ImsConfig.WfcModeFeatureValueConstants.CELLULAR_PREFERRED);
+                ImsMmTelManager.WIFI_MODE_CELLULAR_PREFERRED);
     }
 
     private void testWifiCallingSettingsUnavailableSlice(Slice slice,
@@ -400,7 +406,7 @@
     private void assertTitle(List<SliceItem> sliceItems, String title) {
         boolean hasTitle = false;
         for (SliceItem item : sliceItems) {
-            List<SliceItem> titleItems = SliceQuery.findAll(item, FORMAT_TEXT, HINT_TITLE,
+            final List<SliceItem> titleItems = SliceQuery.findAll(item, FORMAT_TEXT, HINT_TITLE,
                     null /* non-hints */);
             if (titleItems == null) {
                 continue;
@@ -429,9 +435,8 @@
             return mMockCarrierConfigManager;
         }
 
-        @Override
-        protected ImsManager getImsManager(int subId) {
-            return mMockImsManager;
+        protected ImsMmTelManager getImsMmTelManager(int subId) {
+            return mMockImsMmTelManager;
         }
 
         protected int getDefaultVoiceSubId() {
@@ -442,6 +447,14 @@
             mSubId = id;
         }
 
+        boolean isWfcProvisionedOnDevice(int subId) {
+            return true;
+        }
+
+        WifiCallingQueryImsState queryImsState(int subId) {
+            return super.queryImsState(subId);
+        }
+
         @Override
         protected Intent getWifiCallingCarrierActivityIntent(int subId) {
             return mActivationAppIntent;
diff --git a/tests/robotests/src/com/android/settings/wifi/details/WifiDetailPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/wifi/details/WifiDetailPreferenceControllerTest.java
index 010fb74..11d5ece 100644
--- a/tests/robotests/src/com/android/settings/wifi/details/WifiDetailPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/details/WifiDetailPreferenceControllerTest.java
@@ -17,11 +17,11 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
-import static org.mockito.ArgumentMatchers.anyBoolean;
 import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyBoolean;
 import static org.mockito.ArgumentMatchers.anyInt;
-import static org.mockito.ArgumentMatchers.anyString;
 import static org.mockito.ArgumentMatchers.nullable;
+import static org.mockito.Mockito.atLeastOnce;
 import static org.mockito.Mockito.doNothing;
 import static org.mockito.Mockito.inOrder;
 import static org.mockito.Mockito.mock;
@@ -35,11 +35,12 @@
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
-import android.content.res.Resources;
 import android.content.pm.PackageManager;
+import android.content.res.Resources;
 import android.graphics.drawable.BitmapDrawable;
 import android.graphics.drawable.ColorDrawable;
 import android.graphics.drawable.Drawable;
+import android.net.CaptivePortalData;
 import android.net.ConnectivityManager;
 import android.net.ConnectivityManager.NetworkCallback;
 import android.net.IpPrefix;
@@ -51,12 +52,12 @@
 import android.net.NetworkInfo;
 import android.net.NetworkRequest;
 import android.net.RouteInfo;
+import android.net.Uri;
 import android.net.wifi.WifiConfiguration;
 import android.net.wifi.WifiInfo;
 import android.net.wifi.WifiManager;
 import android.os.Handler;
 import android.provider.Settings;
-import android.util.FeatureFlagUtils;
 import android.view.View;
 import android.view.View.OnClickListener;
 import android.widget.ImageView;
@@ -69,14 +70,13 @@
 
 import com.android.internal.logging.nano.MetricsProto;
 import com.android.settings.R;
-import com.android.settings.core.FeatureFlags;
-import com.android.settings.development.featureflags.FeatureFlagPersistent;
 import com.android.settings.Utils;
 import com.android.settings.testutils.shadow.ShadowDevicePolicyManager;
 import com.android.settings.testutils.shadow.ShadowEntityHeaderController;
 import com.android.settings.widget.EntityHeaderController;
 import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 import com.android.settingslib.core.lifecycle.Lifecycle;
+import com.android.settingslib.utils.StringUtil;
 import com.android.settingslib.widget.ActionButtonsPreference;
 import com.android.settingslib.widget.LayoutPreference;
 import com.android.settingslib.wifi.AccessPoint;
@@ -101,8 +101,12 @@
 import java.net.Inet4Address;
 import java.net.InetAddress;
 import java.net.UnknownHostException;
-import java.util.Arrays;
+import java.time.ZoneId;
+import java.time.ZonedDateTime;
+import java.time.format.DateTimeFormatter;
+import java.time.format.FormatStyle;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.stream.Collectors;
 
 @RunWith(RobolectricTestRunner.class)
@@ -148,6 +152,8 @@
     @Mock
     private WifiDetailPreferenceController.IconInjector mockIconInjector;
     @Mock
+    private WifiDetailPreferenceController.Clock mMockClock;
+    @Mock
     private MacAddress mockMacAddress;
 
     @Mock(answer = Answers.RETURNS_DEEP_STUBS)
@@ -288,7 +294,10 @@
         // builder pattern
         when(mockHeaderController.setRecyclerView(mockFragment.getListView(), mLifecycle))
                 .thenReturn(mockHeaderController);
-        when(mockHeaderController.setSummary(anyString())).thenReturn(mockHeaderController);
+        when(mockHeaderController.setSummary(nullable(String.class)))
+                .thenReturn(mockHeaderController);
+        when(mockHeaderController.setSecondSummary(nullable(String.class)))
+                .thenReturn(mockHeaderController);
         when(mockIconInjector.getIcon(anyInt())).thenReturn(new ColorDrawable());
 
         setupMockedPreferenceScreen();
@@ -340,7 +349,8 @@
                 mLifecycle,
                 mockWifiManager,
                 mockMetricsFeatureProvider,
-                mockIconInjector);
+                mockIconInjector,
+                mMockClock);
     }
 
     private void setupMockedPreferenceScreen() {
@@ -527,6 +537,54 @@
         verify(mockHeaderController).setSummary(summary);
     }
 
+    private void doShouldShowRemainingTimeTest(ZonedDateTime now, long timeRemainingMs) {
+        when(mMockClock.now()).thenReturn(now);
+        setUpForConnectedNetwork();
+        displayAndResume();
+
+        final CaptivePortalData data = new CaptivePortalData.Builder()
+                .setExpiryTime(now.toInstant().getEpochSecond() * 1000 + timeRemainingMs)
+                .build();
+        final LinkProperties lp = new LinkProperties();
+        lp.setCaptivePortalData(data);
+
+        updateLinkProperties(lp);
+    }
+
+    @Test
+    public void entityHeader_shouldShowShortRemainingTime() {
+        // Expires in 1h, 2min, 15sec
+        final long timeRemainingMs = (3600 + 2 * 60 + 15) * 1000;
+        final ZonedDateTime fakeNow = ZonedDateTime.of(2020, 1, 2, 3, 4, 5, 6,
+                ZoneId.of("Europe/London"));
+        doShouldShowRemainingTimeTest(fakeNow, timeRemainingMs);
+        final String expectedSummary = mContext.getString(R.string.wifi_time_remaining,
+                StringUtil.formatElapsedTime(mContext, timeRemainingMs, false /* withSeconds */));
+        final InOrder inOrder = inOrder(mockHeaderController);
+        inOrder.verify(mockHeaderController).setSecondSummary(expectedSummary);
+
+        updateLinkProperties(new LinkProperties());
+        inOrder.verify(mockHeaderController).setSecondSummary((String) null);
+    }
+
+    @Test
+    public void entityHeader_shouldShowExpiryDate() {
+        // Expires in 49h, 2min, 15sec
+        final long timeRemainingMs = (49 * 3600 + 2 * 60 + 15) * 1000;
+        final ZonedDateTime fakeNow = ZonedDateTime.of(2020, 1, 2, 3, 4, 5, 6,
+                ZoneId.of("Europe/London"));
+        doShouldShowRemainingTimeTest(fakeNow, timeRemainingMs);
+        final String expectedSummary = mContext.getString(
+                R.string.wifi_expiry_time,
+                DateTimeFormatter.ofLocalizedDateTime(FormatStyle.SHORT).format(
+                        fakeNow.plusNanos(timeRemainingMs * 1_000_000)));
+        final InOrder inOrder = inOrder(mockHeaderController);
+        inOrder.verify(mockHeaderController).setSecondSummary(expectedSummary);
+
+        updateLinkProperties(new LinkProperties());
+        inOrder.verify(mockHeaderController).setSecondSummary((String) null);
+    }
+
     @Test
     public void entityHeader_shouldConvertSavedAsDisconnected() {
         setUpForDisconnectedNetwork();
@@ -993,6 +1051,14 @@
         updateNetworkCapabilities(nc);
         inOrder.verify(mockHeaderController).setSummary(summary);
 
+        // UI will be refreshed when private DNS is broken.
+        summary = "Private DNS server cannot be accessed";
+        when(mockAccessPoint.getSettingsSummary(true /* convertSavedAsDisconnected */))
+                .thenReturn(summary);
+        nc.setPrivateDnsBroken(true);
+        updateNetworkCapabilities(nc);
+        inOrder.verify(mockHeaderController).setSummary(summary);
+
         // UI will be refreshed when device connects to a partial connectivity network.
         summary = "Limited connection";
         when(mockAccessPoint.getSettingsSummary(true /*convertSavedAsDisconnected*/))
@@ -1124,24 +1190,7 @@
     }
 
     @Test
-    public void forgetNetwork_v1_Passpoint() {
-        setUpForConnectedNetwork();
-        FeatureFlagPersistent.setEnabled(mContext, FeatureFlags.NETWORK_INTERNET_V2, false);
-
-        mockWifiConfig.networkId = 5;
-        when(mockAccessPoint.isPasspoint()).thenReturn(true);
-        when(mockAccessPoint.getPasspointFqdn()).thenReturn(FQDN);
-
-        mController.displayPreference(mockScreen);
-        mForgetClickListener.getValue().onClick(null);
-
-        verify(mockWifiManager).removePasspointConfiguration(FQDN);
-        verify(mockMetricsFeatureProvider)
-                .action(mockActivity, MetricsProto.MetricsEvent.ACTION_WIFI_FORGET);
-    }
-
-    @Test
-    public void forgetNetwork_PasspointV2_shouldShowDialog() {
+    public void forgetNetwork_shouldShowDialog() {
         setUpForConnectedNetwork();
         final WifiDetailPreferenceController spyController = spy(mController);
 
@@ -1149,7 +1198,6 @@
         when(mockAccessPoint.isPasspoint()).thenReturn(true);
         when(mockAccessPoint.getPasspointFqdn()).thenReturn(FQDN);
         spyController.displayPreference(mockScreen);
-        FeatureFlagPersistent.setEnabled(mContext, FeatureFlags.NETWORK_INTERNET_V2, true);
 
         mForgetClickListener.getValue().onClick(null);
 
@@ -1284,6 +1332,8 @@
 
         nc.addCapability(NetworkCapabilities.NET_CAPABILITY_CAPTIVE_PORTAL);
         updateNetworkCapabilities(nc);
+
+        inOrder.verify(mockButtonsPref).setButton2Text(R.string.wifi_sign_in_button_text);
         inOrder.verify(mockButtonsPref).setButton2Visible(true);
 
         nc.removeCapability(NetworkCapabilities.NET_CAPABILITY_CAPTIVE_PORTAL);
@@ -1292,13 +1342,39 @@
     }
 
     @Test
+    public void captivePortal_shouldShowVenueInfoButton() {
+        setUpForConnectedNetwork();
+
+        InOrder inOrder = inOrder(mockButtonsPref);
+
+        displayAndResume();
+
+        inOrder.verify(mockButtonsPref).setButton2Visible(false);
+
+        LinkProperties lp = new LinkProperties();
+        final CaptivePortalData data = new CaptivePortalData.Builder()
+                .setVenueInfoUrl(Uri.parse("https://example.com/info"))
+                .build();
+        lp.setCaptivePortalData(data);
+        updateLinkProperties(lp);
+
+        inOrder.verify(mockButtonsPref).setButton2Text(R.string.wifi_venue_website_button_text);
+        inOrder.verify(mockButtonsPref).setButton2Visible(true);
+
+        lp.setCaptivePortalData(null);
+        updateLinkProperties(lp);
+        inOrder.verify(mockButtonsPref).setButton2Visible(false);
+    }
+
+    @Test
     public void testSignInButton_shouldStartCaptivePortalApp() {
         setUpForConnectedNetwork();
 
         displayAndResume();
 
         ArgumentCaptor<OnClickListener> captor = ArgumentCaptor.forClass(OnClickListener.class);
-        verify(mockButtonsPref).setButton2OnClickListener(captor.capture());
+        verify(mockButtonsPref, atLeastOnce()).setButton2OnClickListener(captor.capture());
+        // getValue() returns the last captured value
         captor.getValue().onClick(null);
         verify(mockConnectivityManager).startCaptivePortalApp(mockNetwork);
         verify(mockMetricsFeatureProvider)
@@ -1845,6 +1921,46 @@
         assertThat(icon).isNotNull();
     }
 
+    @Test
+    public void checkMacTitle_whenPrivacyRandomizedMac_shouldBeRandom() {
+        setUpForDisconnectedNetwork();
+        mockWifiConfig.macRandomizationSetting = WifiConfiguration.RANDOMIZATION_PERSISTENT;
+        when(mockWifiConfig.getRandomizedMacAddress()).thenReturn(mockMacAddress);
+        when(mockMacAddress.toString()).thenReturn(RANDOMIZED_MAC_ADDRESS);
+
+        displayAndResume();
+
+        verify(mockMacAddressPref).setTitle(R.string.wifi_advanced_randomized_mac_address_title);
+    }
+
+    @Test
+    public void checkMacTitle_whenPrivacyDeviceMac_shouldBeFactory() {
+        setUpForDisconnectedNetwork();
+        mockWifiConfig.macRandomizationSetting = WifiConfiguration.RANDOMIZATION_NONE;
+        when(mockWifiConfig.getRandomizedMacAddress()).thenReturn(mockMacAddress);
+        when(mockWifiManager.getFactoryMacAddresses())
+                .thenReturn(new String[]{FACTORY_MAC_ADDRESS});
+
+        displayAndResume();
+
+        verify(mockMacAddressPref).setTitle(R.string.wifi_advanced_device_mac_address_title);
+    }
+
+    @Test
+    public void entityHeader_expiredPasspointR1_shouldHandleExpiration() {
+        when(mockAccessPoint.isPasspoint()).thenReturn(true);
+        when(mockAccessPoint.isPasspointConfigurationR1()).thenReturn(true);
+        when(mockAccessPoint.isExpired()).thenReturn(true);
+        setUpForDisconnectedNetwork();
+        String expireSummary = mContext.getResources().getString(
+                com.android.settingslib.R.string.wifi_passpoint_expired);
+
+        displayAndResume();
+
+        verify(mockButtonsPref, atLeastOnce()).setButton3Visible(false);
+        verify(mockHeaderController).setSummary(expireSummary);
+    }
+
     private ActionButtonsPreference createMock() {
         final ActionButtonsPreference pref = mock(ActionButtonsPreference.class);
         when(pref.setButton1Text(anyInt())).thenReturn(pref);
diff --git a/tests/robotests/src/com/android/settings/wifi/details2/WifiAutoConnectPreferenceController2Test.java b/tests/robotests/src/com/android/settings/wifi/details2/WifiAutoConnectPreferenceController2Test.java
new file mode 100644
index 0000000..7e604a3
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/wifi/details2/WifiAutoConnectPreferenceController2Test.java
@@ -0,0 +1,89 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.wifi.details2;
+
+import static com.android.settings.core.BasePreferenceController.AVAILABLE;
+import static com.android.settings.core.BasePreferenceController.CONDITIONALLY_UNAVAILABLE;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import com.android.wifitrackerlib.WifiEntry;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+@RunWith(RobolectricTestRunner.class)
+public class WifiAutoConnectPreferenceController2Test {
+
+    private WifiAutoConnectPreferenceController2 mController;
+    @Mock
+    private WifiEntry mWifiEntry;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mController = new WifiAutoConnectPreferenceController2(RuntimeEnvironment.application);
+        mController.setWifiEntry(mWifiEntry);
+    }
+
+    @Test
+    public void getAvailabilityStatus_shouldFollowCanSetAutoJoinEnabled() {
+        // Test able to set auto join.
+        when(mWifiEntry.canSetAutoJoinEnabled()).thenReturn(true);
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
+
+        // Test not able to set auto join.
+        when(mWifiEntry.canSetAutoJoinEnabled()).thenReturn(false);
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
+    }
+
+    @Test
+    public void isChecked_shouldFollowIsAutoJoinEnabled() {
+        // Test auto join enabled.
+        when(mWifiEntry.isAutoJoinEnabled()).thenReturn(true);
+
+        assertThat(mController.isChecked()).isTrue();
+
+        // Test auto join disabled.
+        when(mWifiEntry.isAutoJoinEnabled()).thenReturn(false);
+
+        assertThat(mController.isChecked()).isFalse();
+    }
+
+    @Test
+    public void setChecked_shouldSetAutoJoinEnabled() {
+        // Test checked.
+        mController.setChecked(true);
+
+        verify(mWifiEntry).setAutoJoinEnabled(true);
+
+        // Test unchecked.
+        mController.setChecked(false);
+
+        verify(mWifiEntry).setAutoJoinEnabled(false);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2Test.java b/tests/robotests/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2Test.java
new file mode 100644
index 0000000..be5e1af
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2Test.java
@@ -0,0 +1,1652 @@
+/*
+ * 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.details2;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyBoolean;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.nullable;
+import static org.mockito.Mockito.atLeastOnce;
+import static org.mockito.Mockito.doNothing;
+import static org.mockito.Mockito.inOrder;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.reset;
+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.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.PackageManager;
+import android.content.res.Resources;
+import android.graphics.drawable.BitmapDrawable;
+import android.graphics.drawable.ColorDrawable;
+import android.graphics.drawable.Drawable;
+import android.net.CaptivePortalData;
+import android.net.ConnectivityManager;
+import android.net.ConnectivityManager.NetworkCallback;
+import android.net.IpPrefix;
+import android.net.LinkAddress;
+import android.net.LinkProperties;
+import android.net.MacAddress;
+import android.net.Network;
+import android.net.NetworkCapabilities;
+import android.net.NetworkInfo;
+import android.net.NetworkRequest;
+import android.net.RouteInfo;
+import android.net.Uri;
+import android.net.wifi.WifiConfiguration;
+import android.net.wifi.WifiInfo;
+import android.net.wifi.WifiManager;
+import android.os.Handler;
+import android.provider.Settings;
+import android.view.View;
+import android.view.View.OnClickListener;
+import android.widget.ImageView;
+
+import androidx.fragment.app.FragmentActivity;
+import androidx.lifecycle.LifecycleOwner;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceCategory;
+import androidx.preference.PreferenceScreen;
+
+import com.android.internal.logging.nano.MetricsProto;
+import com.android.settings.R;
+import com.android.settings.Utils;
+import com.android.settings.testutils.shadow.ShadowDevicePolicyManager;
+import com.android.settings.testutils.shadow.ShadowEntityHeaderController;
+import com.android.settings.widget.EntityHeaderController;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+import com.android.settingslib.utils.StringUtil;
+import com.android.settingslib.widget.ActionButtonsPreference;
+import com.android.settingslib.widget.LayoutPreference;
+import com.android.wifitrackerlib.NetworkDetailsTracker;
+import com.android.wifitrackerlib.WifiEntry;
+
+import org.junit.Before;
+import org.junit.Ignore;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Answers;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Captor;
+import org.mockito.InOrder;
+import org.mockito.Matchers;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
+import org.robolectric.shadows.ShadowToast;
+
+import java.net.Inet4Address;
+import java.net.InetAddress;
+import java.net.UnknownHostException;
+import java.time.ZoneId;
+import java.time.ZonedDateTime;
+import java.time.format.DateTimeFormatter;
+import java.time.format.FormatStyle;
+import java.util.Arrays;
+import java.util.stream.Collectors;
+
+// TODO(b/143326832): Should add test cases for connect button.
+// TODO(b/143326832): WifiEntry is not mature, should remove @Ignore after it's constructed.
+@Ignore
+@RunWith(RobolectricTestRunner.class)
+@Config(shadows = {ShadowDevicePolicyManager.class, ShadowEntityHeaderController.class})
+public class WifiDetailPreferenceController2Test {
+
+    private static final int LEVEL = 1;
+    private static final int RSSI = -55;
+    private static final int TX_LINK_SPEED = 123;
+    private static final int RX_LINK_SPEED = 54;
+    private static final String SSID = "ssid";
+    private static final String MAC_ADDRESS = "01:23:45:67:89:ab";
+    private static final String RANDOMIZED_MAC_ADDRESS = "RANDOMIZED_MAC_ADDRESS";
+    private static final String FACTORY_MAC_ADDRESS = "FACTORY_MAC_ADDRESS";
+    // TODO(b/143326832): Add WifiEntry#getSecurityString
+    //private static final String SECURITY = "None";
+    private static final String FQDN = "fqdn";
+
+    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
+    private PreferenceScreen mMockScreen;
+
+    @Mock
+    private WifiEntry mMockWifiEntry;
+    @Mock
+    private FragmentActivity mMockActivity;
+    @Mock
+    private ConnectivityManager mMockConnectivityManager;
+    @Mock
+    private Network mMockNetwork;
+    @Mock
+    private NetworkInfo mMockNetworkInfo;
+    @Mock
+    private WifiConfiguration mMockWifiConfig;
+    @Mock
+    private WifiInfo mMockWifiInfo;
+    @Mock
+    private WifiNetworkDetailsFragment2 mMockFragment;
+    @Mock
+    private WifiManager mMockWifiManager;
+    @Mock
+    private NetworkDetailsTracker mMockNetworkDetailsTracker;
+    @Mock
+    private MetricsFeatureProvider mMockMetricsFeatureProvider;
+    @Mock
+    private WifiDetailPreferenceController2.IconInjector mMockIconInjector;
+    @Mock
+    private WifiDetailPreferenceController2.Clock mMockClock;
+    @Mock
+    private MacAddress mMockMacAddress;
+
+    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
+    private EntityHeaderController mMockHeaderController;
+    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
+    private LayoutPreference mMockHeaderLayoutPreference;
+    @Mock
+    private ImageView mMockHeaderIcon;
+
+    @Mock
+    private ActionButtonsPreference mMockButtonsPref;
+    @Mock
+    private Preference mMockSignalStrengthPref;
+    @Mock
+    private Preference mMockTxLinkSpeedPref;
+    @Mock
+    private Preference mMockRxLinkSpeedPref;
+    @Mock
+    private Preference mMockFrequencyPref;
+    @Mock
+    private Preference mMockSecurityPref;
+    @Mock
+    private Preference mMockSsidPref;
+    @Mock
+    private Preference mMockMacAddressPref;
+    @Mock
+    private Preference mMockIpAddressPref;
+    @Mock
+    private Preference mMockGatewayPref;
+    @Mock
+    private Preference mMockSubnetPref;
+    @Mock
+    private Preference mMockDnsPref;
+    @Mock
+    private PreferenceCategory mMockIpv6Category;
+    @Mock
+    private Preference mMockIpv6AddressesPref;
+    @Mock
+    private PackageManager mMockPackageManager;
+
+    @Captor
+    private ArgumentCaptor<NetworkCallback> mCallbackCaptor;
+    @Captor
+    private ArgumentCaptor<View.OnClickListener> mForgetClickListener;
+
+    private Context mContext;
+    private Lifecycle mLifecycle;
+    private LifecycleOwner mLifecycleOwner;
+    private LinkProperties mLinkProperties;
+    private WifiDetailPreferenceController2 mController;
+
+    // This class exists so that these values can be made static final. They can't be static final
+    // members of the test class, because any attempt to call IpPrefix or RouteInfo constructors
+    // during static initialization of the test class results in NoSuchMethorError being thrown
+    // when the test is run.
+    private static class Constants {
+        static final int IPV4_PREFIXLEN = 25;
+        static final LinkAddress IPV4_ADDR;
+        static final Inet4Address IPV4_GATEWAY;
+        static final RouteInfo IPV4_DEFAULT;
+        static final RouteInfo IPV4_SUBNET;
+        static final LinkAddress IPV6_LINKLOCAL;
+        static final LinkAddress IPV6_GLOBAL1;
+        static final LinkAddress IPV6_GLOBAL2;
+        static final InetAddress IPV4_DNS1;
+        static final InetAddress IPV4_DNS2;
+        static final InetAddress IPV6_DNS;
+
+        private static LinkAddress ipv6LinkAddress(String addr) throws UnknownHostException {
+            return new LinkAddress(InetAddress.getByName(addr), 64);
+        }
+
+        private static LinkAddress ipv4LinkAddress(String addr, int prefixlen)
+                throws UnknownHostException {
+            return new LinkAddress(InetAddress.getByName(addr), prefixlen);
+        }
+
+        static {
+            try {
+                // We create our test constants in these roundabout ways because the robolectric
+                // shadows don't contain NetworkUtils.parseNumericAddress and other utility methods,
+                // so the easy ways to do things fail with NoSuchMethodError.
+                IPV4_ADDR = ipv4LinkAddress("192.0.2.2", IPV4_PREFIXLEN);
+                IPV4_GATEWAY = (Inet4Address) InetAddress.getByName("192.0.2.127");
+
+                final Inet4Address any4 = (Inet4Address) InetAddress.getByName("0.0.0.0");
+                IpPrefix subnet = new IpPrefix(IPV4_ADDR.getAddress(), IPV4_PREFIXLEN);
+                IPV4_SUBNET = new RouteInfo(subnet, any4);
+                IPV4_DEFAULT = new RouteInfo(new IpPrefix(any4, 0), IPV4_GATEWAY);
+
+                IPV6_LINKLOCAL = ipv6LinkAddress("fe80::211:25ff:fef8:7cb2%1");
+                IPV6_GLOBAL1 = ipv6LinkAddress("2001:db8:1::211:25ff:fef8:7cb2");
+                IPV6_GLOBAL2 = ipv6LinkAddress("2001:db8:1::3dfe:8902:f98f:739d");
+
+                IPV4_DNS1 = InetAddress.getByName("8.8.8.8");
+                IPV4_DNS2 = InetAddress.getByName("8.8.4.4");
+                IPV6_DNS = InetAddress.getByName("2001:4860:4860::64");
+            } catch (UnknownHostException e) {
+                throw new RuntimeException("Invalid hardcoded IP addresss: " + e);
+            }
+        }
+    }
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+
+        mContext = spy(RuntimeEnvironment.application);
+        mLifecycleOwner = () -> mLifecycle;
+        mLifecycle = new Lifecycle(mLifecycleOwner);
+
+        when(mContext.getPackageManager()).thenReturn(mMockPackageManager);
+        when(mMockWifiEntry.getLevel()).thenReturn(LEVEL);
+        // TODO(b/143326832): Add WifiEntry#getSecurityString
+        //when(mMockWifiEntry.getSecurityString(false)).thenReturn(SECURITY);
+        when(mMockWifiEntry.getTitle()).thenReturn(SSID);
+        when(mMockConnectivityManager.getNetworkInfo(any(Network.class)))
+                .thenReturn(mMockNetworkInfo);
+        doNothing().when(mMockConnectivityManager).registerNetworkCallback(
+                nullable(NetworkRequest.class), mCallbackCaptor.capture(), nullable(Handler.class));
+        mMockButtonsPref = createMock();
+        when(mMockButtonsPref.setButton1OnClickListener(mForgetClickListener.capture()))
+                .thenReturn(mMockButtonsPref);
+
+        when(mMockWifiInfo.getTxLinkSpeedMbps()).thenReturn(TX_LINK_SPEED);
+        when(mMockWifiInfo.getRxLinkSpeedMbps()).thenReturn(RX_LINK_SPEED);
+        when(mMockWifiInfo.getRssi()).thenReturn(RSSI);
+        when(mMockWifiInfo.getMacAddress()).thenReturn(MAC_ADDRESS);
+        when(mMockWifiManager.getConnectionInfo()).thenReturn(mMockWifiInfo);
+
+        when(mMockWifiManager.getCurrentNetwork()).thenReturn(mMockNetwork);
+        mLinkProperties = new LinkProperties();
+        when(mMockConnectivityManager.getLinkProperties(mMockNetwork)).thenReturn(mLinkProperties);
+
+        when(mMockFragment.getActivity()).thenReturn(mMockActivity);
+
+        ShadowEntityHeaderController.setUseMock(mMockHeaderController);
+        // builder pattern
+        when(mMockHeaderController.setRecyclerView(mMockFragment.getListView(), mLifecycle))
+                .thenReturn(mMockHeaderController);
+        when(mMockHeaderController.setSummary(nullable(String.class)))
+                .thenReturn(mMockHeaderController);
+        when(mMockHeaderController.setSecondSummary(nullable(String.class)))
+                .thenReturn(mMockHeaderController);
+        when(mMockIconInjector.getIcon(anyInt())).thenReturn(new ColorDrawable());
+
+        setupMockedPreferenceScreen();
+    }
+
+    private void setUpForConnectedNetwork() {
+        when(mMockNetworkDetailsTracker.getWifiEntry()).thenReturn(mMockWifiEntry);
+        when(mMockWifiEntry.getConnectedState()).thenReturn(WifiEntry.CONNECTED_STATE_CONNECTED);
+
+        mController = newWifiDetailPreferenceController2();
+    }
+
+    private void setUpForDisconnectedNetwork() {
+        when(mMockNetworkDetailsTracker.getWifiEntry()).thenReturn(mMockWifiEntry);
+        when(mMockWifiEntry.getConnectedState()).thenReturn(WifiEntry.CONNECTED_STATE_DISCONNECTED);
+
+        mController = newWifiDetailPreferenceController2();
+    }
+
+    private void setUpForNotInRangeNetwork() {
+        when(mMockWifiEntry.getConnectedState()).thenReturn(WifiEntry.CONNECTED_STATE_DISCONNECTED);
+        when(mMockNetworkDetailsTracker.getWifiEntry()).thenReturn(mMockWifiEntry);
+        when(mMockWifiEntry.getLevel()).thenReturn(WifiEntry.WIFI_LEVEL_UNREACHABLE);
+
+        mController = newWifiDetailPreferenceController2();
+    }
+
+    private WifiDetailPreferenceController2 newWifiDetailPreferenceController2() {
+        return spy(new WifiDetailPreferenceController2(
+                mMockWifiEntry,
+                mMockConnectivityManager,
+                mContext,
+                mMockFragment,
+                null,  // Handler
+                mLifecycle,
+                mMockWifiManager,
+                mMockMetricsFeatureProvider,
+                mMockIconInjector,
+                mMockClock));
+    }
+
+    private void setupMockedPreferenceScreen() {
+        when(mMockScreen.getPreferenceManager().getContext()).thenReturn(mContext);
+
+        when(mMockScreen.findPreference(WifiDetailPreferenceController2.KEY_HEADER))
+                .thenReturn(mMockHeaderLayoutPreference);
+        when(mMockHeaderLayoutPreference.findViewById(R.id.entity_header_icon))
+                .thenReturn(mMockHeaderIcon);
+
+        when(mMockScreen.findPreference(WifiDetailPreferenceController2.KEY_BUTTONS_PREF))
+                .thenReturn(mMockButtonsPref);
+        when(mMockScreen.findPreference(WifiDetailPreferenceController2.KEY_SIGNAL_STRENGTH_PREF))
+                .thenReturn(mMockSignalStrengthPref);
+        when(mMockScreen.findPreference(WifiDetailPreferenceController2.KEY_TX_LINK_SPEED))
+                .thenReturn(mMockTxLinkSpeedPref);
+        when(mMockScreen.findPreference(WifiDetailPreferenceController2.KEY_RX_LINK_SPEED))
+                .thenReturn(mMockRxLinkSpeedPref);
+        when(mMockScreen.findPreference(WifiDetailPreferenceController2.KEY_FREQUENCY_PREF))
+                .thenReturn(mMockFrequencyPref);
+        when(mMockScreen.findPreference(WifiDetailPreferenceController2.KEY_SECURITY_PREF))
+                .thenReturn(mMockSecurityPref);
+        when(mMockScreen.findPreference(WifiDetailPreferenceController2.KEY_SSID_PREF))
+                .thenReturn(mMockSsidPref);
+        when(mMockScreen.findPreference(WifiDetailPreferenceController2.KEY_MAC_ADDRESS_PREF))
+                .thenReturn(mMockMacAddressPref);
+        when(mMockScreen.findPreference(WifiDetailPreferenceController2.KEY_IP_ADDRESS_PREF))
+                .thenReturn(mMockIpAddressPref);
+        when(mMockScreen.findPreference(WifiDetailPreferenceController2.KEY_GATEWAY_PREF))
+                .thenReturn(mMockGatewayPref);
+        when(mMockScreen.findPreference(WifiDetailPreferenceController2.KEY_SUBNET_MASK_PREF))
+                .thenReturn(mMockSubnetPref);
+        when(mMockScreen.findPreference(WifiDetailPreferenceController2.KEY_DNS_PREF))
+                .thenReturn(mMockDnsPref);
+        when(mMockScreen.findPreference(WifiDetailPreferenceController2.KEY_IPV6_CATEGORY))
+                .thenReturn(mMockIpv6Category);
+        when(mMockScreen.findPreference(WifiDetailPreferenceController2.KEY_IPV6_ADDRESSES_PREF))
+                .thenReturn(mMockIpv6AddressesPref);
+    }
+
+    private void displayAndResume() {
+        mController.displayPreference(mMockScreen);
+        mController.onResume();
+    }
+
+    @Test
+    public void isAvailable_shouldAlwaysReturnTrue() {
+        setUpForConnectedNetwork();
+        mController.displayPreference(mMockScreen);
+
+        assertThat(mController.isAvailable()).isTrue();
+    }
+
+    /* TODO(b/143326832): Add WifiEntry#getSecurityString
+    @Test
+    public void securityPreference_stringShouldBeSet() {
+        setUpForConnectedNetwork();
+        displayAndResume();
+
+        verify(mMockSecurityPref).setSummary(SECURITY);
+    }
+    */
+
+    @Test
+    public void latestWifiInfo_shouldBeFetchedInDisplayPreferenceForConnectedNetwork() {
+        setUpForConnectedNetwork();
+
+        displayAndResume();
+
+        verify(mMockWifiManager, times(1)).getConnectionInfo();
+    }
+
+    @Test
+    public void latestWifiInfo_shouldNotBeFetchedInDisplayPreferenceForDisconnectedNetwork() {
+        setUpForDisconnectedNetwork();
+
+        displayAndResume();
+
+        verify(mMockWifiManager, never()).getConnectionInfo();
+    }
+
+    @Test
+    public void latestWifiInfo_shouldNotBeFetchedInDisplayPreferenceForNotInRangeNetwork() {
+        setUpForNotInRangeNetwork();
+
+        displayAndResume();
+
+        verify(mMockWifiManager, never()).getConnectionInfo();
+    }
+
+    @Test
+    public void latestNetworkInfo_shouldBeFetchedInDisplayPreferenceForConnectedNetwork() {
+        setUpForConnectedNetwork();
+
+        displayAndResume();
+
+        verify(mMockConnectivityManager, times(1)).getNetworkInfo(any(Network.class));
+    }
+
+    @Test
+    public void latestNetworkInfo_shouldNotBeFetchedInDisplayPreferenceForDisconnectedNetwork() {
+        setUpForDisconnectedNetwork();
+
+        displayAndResume();
+
+        verify(mMockConnectivityManager, never()).getNetworkInfo(any(Network.class));
+    }
+
+    @Test
+    public void latestNetworkInfo_shouldNotBeFetchedInDisplayPreferenceForNotInRangeNetwork() {
+        setUpForNotInRangeNetwork();
+
+        displayAndResume();
+
+        verify(mMockConnectivityManager, never()).getNetworkInfo(any(Network.class));
+    }
+
+    @Test
+    public void networkCallback_shouldBeRegisteredOnResume() {
+        setUpForConnectedNetwork();
+        displayAndResume();
+
+        verify(mMockConnectivityManager, times(1)).registerNetworkCallback(
+                nullable(NetworkRequest.class), mCallbackCaptor.capture(), nullable(Handler.class));
+    }
+
+    @Test
+    public void networkCallback_shouldBeUnregisteredOnPause() {
+        setUpForConnectedNetwork();
+        displayAndResume();
+        mController.onPause();
+
+        verify(mMockConnectivityManager, times(1))
+                .unregisterNetworkCallback(mCallbackCaptor.getValue());
+    }
+
+    @Test
+    public void entityHeader_shouldHaveIconSetForConnectedNetwork() {
+        setUpForConnectedNetwork();
+        Drawable expectedIcon = mMockIconInjector.getIcon(LEVEL);
+
+        displayAndResume();
+
+        verify(mMockHeaderController).setIcon(expectedIcon);
+    }
+
+    @Test
+    public void entityHeader_shouldHaveIconSetForDisconnectedNetwork() {
+        setUpForDisconnectedNetwork();
+        Drawable expectedIcon = mMockIconInjector.getIcon(LEVEL);
+
+        displayAndResume();
+
+        verify(mMockHeaderController).setIcon(expectedIcon);
+    }
+
+    @Test
+    public void entityHeader_shouldNotHaveIconSetForNotInRangeNetwork() {
+        setUpForNotInRangeNetwork();
+
+        displayAndResume();
+
+        verify(mMockHeaderController, never()).setIcon(any(Drawable.class));
+    }
+
+    @Test
+    public void entityHeader_shouldHaveLabelSetToTitle() {
+        setUpForConnectedNetwork();
+        String label = "title";
+        when(mMockWifiEntry.getTitle()).thenReturn(label);
+
+        displayAndResume();
+
+        verify(mMockHeaderController).setLabel(label);
+    }
+
+    @Test
+    public void entityHeader_shouldHaveSummarySet() {
+        setUpForConnectedNetwork();
+        String summary = "summary";
+        when(mMockWifiEntry.getSummary()).thenReturn(summary);
+
+        displayAndResume();
+
+        verify(mMockHeaderController).setSummary(summary);
+    }
+
+    private void doShouldShowRemainingTimeTest(ZonedDateTime now, long timeRemainingMs) {
+        when(mMockClock.now()).thenReturn(now);
+        setUpForConnectedNetwork();
+        displayAndResume();
+
+        final CaptivePortalData data = new CaptivePortalData.Builder()
+                .setExpiryTime(now.toInstant().getEpochSecond() * 1000 + timeRemainingMs)
+                .build();
+        final LinkProperties lp = new LinkProperties();
+        lp.setCaptivePortalData(data);
+
+        updateLinkProperties(lp);
+    }
+
+    @Test
+    public void entityHeader_shouldShowShortRemainingTime() {
+        // Expires in 1h, 2min, 15sec
+        final long timeRemainingMs = (3600 + 2 * 60 + 15) * 1000;
+        final ZonedDateTime fakeNow = ZonedDateTime.of(2020, 1, 2, 3, 4, 5, 6,
+                ZoneId.of("Europe/London"));
+        doShouldShowRemainingTimeTest(fakeNow, timeRemainingMs);
+        final String expectedSummary = mContext.getString(R.string.wifi_time_remaining,
+                StringUtil.formatElapsedTime(mContext, timeRemainingMs, false /* withSeconds */));
+        final InOrder inOrder = inOrder(mMockHeaderController);
+        inOrder.verify(mMockHeaderController).setSecondSummary(expectedSummary);
+
+        updateLinkProperties(new LinkProperties());
+        inOrder.verify(mMockHeaderController).setSecondSummary((String) null);
+    }
+
+    @Test
+    public void entityHeader_shouldShowExpiryDate() {
+        // Expires in 49h, 2min, 15sec
+        final long timeRemainingMs = (49 * 3600 + 2 * 60 + 15) * 1000;
+        final ZonedDateTime fakeNow = ZonedDateTime.of(2020, 1, 2, 3, 4, 5, 6,
+                ZoneId.of("Europe/London"));
+        doShouldShowRemainingTimeTest(fakeNow, timeRemainingMs);
+        final String expectedSummary = mContext.getString(
+                R.string.wifi_expiry_time,
+                DateTimeFormatter.ofLocalizedDateTime(FormatStyle.SHORT).format(
+                        fakeNow.plusNanos(timeRemainingMs * 1_000_000)));
+        final InOrder inOrder = inOrder(mMockHeaderController);
+        inOrder.verify(mMockHeaderController).setSecondSummary(expectedSummary);
+
+        updateLinkProperties(new LinkProperties());
+        inOrder.verify(mMockHeaderController).setSecondSummary((String) null);
+    }
+
+    @Test
+    public void entityHeader_shouldConvertSavedAsDisconnected() {
+        setUpForDisconnectedNetwork();
+
+        displayAndResume();
+
+        verify(mMockWifiEntry, times(1)).getSummary();
+    }
+
+    @Test
+    public void signalStrengthPref_shouldHaveIconSetForConnectedNetwork() {
+        setUpForConnectedNetwork();
+
+        displayAndResume();
+
+        verify(mMockSignalStrengthPref).setIcon(any(Drawable.class));
+    }
+
+    @Test
+    public void signalStrengthPref_shouldHaveIconSetForDisconnectedNetwork() {
+        setUpForDisconnectedNetwork();
+
+        displayAndResume();
+
+        verify(mMockSignalStrengthPref).setIcon(any(Drawable.class));
+    }
+
+    @Test
+    public void signalStrengthPref_shouldNotHaveIconSetForOutOfRangeNetwork() {
+        setUpForNotInRangeNetwork();
+
+        displayAndResume();
+
+        verify(mMockSignalStrengthPref, never()).setIcon(any(Drawable.class));
+    }
+
+    @Test
+    public void signalStrengthPref_shouldHaveDetailTextSetForConnectedNetwork() {
+        setUpForConnectedNetwork();
+        String expectedStrength =
+                mContext.getResources().getStringArray(R.array.wifi_signal)[LEVEL];
+
+        displayAndResume();
+
+        verify(mMockSignalStrengthPref).setSummary(expectedStrength);
+    }
+
+    @Test
+    public void signalStrengthPref_shouldHaveDetailTextSetForDisconnectedNetwork() {
+        setUpForDisconnectedNetwork();
+        String expectedStrength =
+                mContext.getResources().getStringArray(R.array.wifi_signal)[LEVEL];
+
+        displayAndResume();
+
+        verify(mMockSignalStrengthPref).setSummary(expectedStrength);
+    }
+
+    @Test
+    public void signalStrengthPref_shouldNotHaveDetailTextSetForNotInRangeNetwork() {
+        setUpForNotInRangeNetwork();
+
+        displayAndResume();
+
+        verify(mMockSignalStrengthPref, never()).setSummary(any(String.class));
+    }
+
+    @Test
+    public void linkSpeedPref_shouldNotShowIfNotSet() {
+        setUpForConnectedNetwork();
+        when(mMockWifiInfo.getTxLinkSpeedMbps()).thenReturn(WifiInfo.LINK_SPEED_UNKNOWN);
+
+        displayAndResume();
+
+        verify(mMockTxLinkSpeedPref).setVisible(false);
+    }
+
+    @Test
+    public void linkSpeedPref_shouldVisibleForConnectedNetwork() {
+        setUpForConnectedNetwork();
+        String expectedLinkSpeed = mContext.getString(R.string.tx_link_speed, TX_LINK_SPEED);
+
+        displayAndResume();
+
+        verify(mMockTxLinkSpeedPref).setVisible(true);
+        verify(mMockTxLinkSpeedPref).setSummary(expectedLinkSpeed);
+    }
+
+    @Test
+    public void linkSpeedPref_shouldInvisibleForDisconnectedNetwork() {
+        setUpForDisconnectedNetwork();
+
+        displayAndResume();
+
+        verify(mMockTxLinkSpeedPref).setVisible(false);
+        verify(mMockTxLinkSpeedPref, never()).setSummary(any(String.class));
+    }
+
+    @Test
+    public void linkSpeedPref_shouldInvisibleForNotInRangeNetwork() {
+        setUpForNotInRangeNetwork();
+
+        displayAndResume();
+
+        verify(mMockTxLinkSpeedPref).setVisible(false);
+        verify(mMockTxLinkSpeedPref, never()).setSummary(any(String.class));
+    }
+
+    @Test
+    public void rxLinkSpeedPref_shouldNotShowIfNotSet() {
+        setUpForConnectedNetwork();
+        when(mMockWifiInfo.getRxLinkSpeedMbps()).thenReturn(WifiInfo.LINK_SPEED_UNKNOWN);
+
+        displayAndResume();
+
+        verify(mMockRxLinkSpeedPref).setVisible(false);
+    }
+
+    @Test
+    public void rxLinkSpeedPref_shouldVisibleForConnectedNetwork() {
+        setUpForConnectedNetwork();
+        String expectedLinkSpeed = mContext.getString(R.string.rx_link_speed, RX_LINK_SPEED);
+
+        displayAndResume();
+
+        verify(mMockRxLinkSpeedPref).setVisible(true);
+        verify(mMockRxLinkSpeedPref).setSummary(expectedLinkSpeed);
+    }
+
+    @Test
+    public void rxLinkSpeedPref_shouldInvisibleForDisconnectedNetwork() {
+        setUpForDisconnectedNetwork();
+
+        displayAndResume();
+
+        verify(mMockRxLinkSpeedPref).setVisible(false);
+        verify(mMockRxLinkSpeedPref, never()).setSummary(any(String.class));
+    }
+
+    @Test
+    public void rxLinkSpeedPref_shouldInvisibleForNotInRangeNetwork() {
+        setUpForNotInRangeNetwork();
+
+        displayAndResume();
+
+        verify(mMockRxLinkSpeedPref).setVisible(false);
+        verify(mMockRxLinkSpeedPref, never()).setSummary(any(String.class));
+    }
+
+    /* TODO(b/143326832): Support Passpoint test cases while WifiTracker2 supports it.
+    @Test
+    public void ssidPref_shouldHaveDetailTextSetForPasspointR1() {
+        setUpForConnectedNetwork();
+        when(mMockAccessPoint.isPasspoint()).thenReturn(true);
+        when(mMockAccessPoint.isOsuProvider()).thenReturn(false);
+
+        displayAndResume();
+
+        verify(mMockSsidPref, times(1)).setSummary(SSID);
+        verify(mMockSsidPref, times(1)).setVisible(true);
+    }
+
+    @Test
+    public void ssidPref_shouldHaveDetailTextSetForPasspointR2() {
+        setUpForConnectedNetwork();
+        when(mMockAccessPoint.isPasspoint()).thenReturn(false);
+        when(mMockAccessPoint.isOsuProvider()).thenReturn(true);
+
+        displayAndResume();
+
+        verify(mMockSsidPref, times(1)).setSummary(SSID);
+        verify(mMockSsidPref, times(1)).setVisible(true);
+    }
+
+    @Test
+    public void ssidPref_shouldNotShowIfNotPasspoint() {
+        setUpForConnectedNetwork();
+        when(mMockAccessPoint.isPasspoint()).thenReturn(false);
+        when(mMockAccessPoint.isOsuProvider()).thenReturn(false);
+
+        displayAndResume();
+
+        verify(mMockSsidPref).setVisible(false);
+    }
+    */
+
+    @Test
+    public void macAddressPref_shouldVisibleForConnectedNetwork() {
+        setUpForConnectedNetwork();
+
+        displayAndResume();
+
+        verify(mMockMacAddressPref).setVisible(true);
+        verify(mMockMacAddressPref).setSummary(MAC_ADDRESS);
+    }
+
+    @Test
+    public void macAddressPref_shouldVisibleAsRandomizedForDisconnectedNetwork() {
+        setUpForDisconnectedNetwork();
+        mMockWifiConfig.macRandomizationSetting = WifiConfiguration.RANDOMIZATION_PERSISTENT;
+        when(mMockWifiConfig.getRandomizedMacAddress()).thenReturn(mMockMacAddress);
+        when(mMockMacAddress.toString()).thenReturn(RANDOMIZED_MAC_ADDRESS);
+
+        displayAndResume();
+
+        verify(mMockMacAddressPref).setVisible(true);
+        verify(mMockMacAddressPref).setSummary(RANDOMIZED_MAC_ADDRESS);
+    }
+
+    @Test
+    public void macAddressPref_shouldVisibleAsFactoryForDisconnectedNetwork() {
+        setUpForDisconnectedNetwork();
+        mMockWifiConfig.macRandomizationSetting = WifiConfiguration.RANDOMIZATION_NONE;
+        when(mMockWifiManager.getFactoryMacAddresses())
+                .thenReturn(new String[]{FACTORY_MAC_ADDRESS});
+
+        displayAndResume();
+
+        verify(mMockMacAddressPref).setVisible(true);
+        verify(mMockMacAddressPref).setSummary(FACTORY_MAC_ADDRESS);
+    }
+
+    @Test
+    public void ipAddressPref_shouldHaveDetailTextSetForConnectedNetwork() {
+        setUpForConnectedNetwork();
+        mLinkProperties.addLinkAddress(Constants.IPV4_ADDR);
+
+        displayAndResume();
+
+        verify(mMockIpAddressPref).setSummary(Constants.IPV4_ADDR.getAddress().getHostAddress());
+        verify(mMockIpAddressPref).setVisible(true);
+    }
+
+    @Test
+    public void ipAddressPref_shouldInvisibleForDisconnectedNetwork() {
+        setUpForDisconnectedNetwork();
+
+        displayAndResume();
+
+        verify(mMockIpAddressPref).setVisible(false);
+    }
+
+    @Test
+    public void gatewayAndSubnet_shouldHaveDetailTextSetForConnectedNetwork() {
+        setUpForConnectedNetwork();
+        mLinkProperties.addLinkAddress(Constants.IPV4_ADDR);
+        mLinkProperties.addRoute(Constants.IPV4_DEFAULT);
+        mLinkProperties.addRoute(Constants.IPV4_SUBNET);
+
+        displayAndResume();
+
+        verify(mMockSubnetPref).setSummary("255.255.255.128");
+        verify(mMockGatewayPref).setSummary("192.0.2.127");
+        verify(mMockSubnetPref).setVisible(true);
+    }
+
+    @Test
+    public void gatewayAndSubnet_shouldInvisibleSetForDisconnectedNetwork() {
+        setUpForDisconnectedNetwork();
+
+        displayAndResume();
+
+        verify(mMockSubnetPref).setVisible(false);
+    }
+
+    @Test
+    public void dnsServersPref_shouldHaveDetailTextSetForConnectedNetwork()
+            throws UnknownHostException {
+        setUpForConnectedNetwork();
+        mLinkProperties.addDnsServer(InetAddress.getByAddress(new byte[] {8, 8, 4, 4}));
+        mLinkProperties.addDnsServer(InetAddress.getByAddress(new byte[] {8, 8, 8, 8}));
+        mLinkProperties.addDnsServer(Constants.IPV6_DNS);
+
+        displayAndResume();
+
+        verify(mMockDnsPref).setSummary(
+                "8.8.4.4\n" + "8.8.8.8\n" + Constants.IPV6_DNS.getHostAddress());
+        verify(mMockDnsPref).setVisible(true);
+    }
+
+    @Test
+    public void dnsServersPref_shouldInvisibleSetForDisconnectedNetwork()
+            throws UnknownHostException {
+        setUpForDisconnectedNetwork();
+
+        displayAndResume();
+
+        verify(mMockDnsPref).setVisible(false);
+    }
+
+    @Test
+    public void noCurrentNetwork_shouldNotFinishActivityForConnectedNetwork() {
+        setUpForConnectedNetwork();
+        when(mMockWifiManager.getCurrentNetwork()).thenReturn(null);
+
+        displayAndResume();
+
+        verify(mMockActivity, never()).finish();
+    }
+
+    @Test
+    public void noLinkProperties_allIpDetailsHidden() {
+        setUpForConnectedNetwork();
+        when(mMockConnectivityManager.getLinkProperties(mMockNetwork)).thenReturn(null);
+        reset(mMockIpv6Category, mMockIpAddressPref, mMockSubnetPref, mMockGatewayPref,
+                mMockDnsPref);
+
+        displayAndResume();
+
+        verify(mMockIpv6Category).setVisible(false);
+        verify(mMockIpAddressPref).setVisible(false);
+        verify(mMockSubnetPref).setVisible(false);
+        verify(mMockGatewayPref).setVisible(false);
+        verify(mMockDnsPref).setVisible(false);
+        verify(mMockIpv6Category, never()).setVisible(true);
+        verify(mMockIpAddressPref, never()).setVisible(true);
+        verify(mMockSubnetPref, never()).setVisible(true);
+        verify(mMockGatewayPref, never()).setVisible(true);
+        verify(mMockDnsPref, never()).setVisible(true);
+    }
+
+    @Test
+    public void disconnectedNetwork_allIpDetailsHidden() {
+        setUpForDisconnectedNetwork();
+        reset(mMockIpv6Category, mMockIpAddressPref, mMockSubnetPref, mMockGatewayPref,
+                mMockDnsPref);
+
+        displayAndResume();
+
+        verify(mMockIpv6Category).setVisible(false);
+        verify(mMockIpAddressPref).setVisible(false);
+        verify(mMockSubnetPref).setVisible(false);
+        verify(mMockGatewayPref).setVisible(false);
+        verify(mMockDnsPref).setVisible(false);
+        verify(mMockIpv6Category, never()).setVisible(true);
+        verify(mMockIpAddressPref, never()).setVisible(true);
+        verify(mMockSubnetPref, never()).setVisible(true);
+        verify(mMockGatewayPref, never()).setVisible(true);
+        verify(mMockDnsPref, never()).setVisible(true);
+    }
+
+    // Convenience method to convert a LinkAddress to a string without a prefix length.
+    private String asString(LinkAddress l) {
+        return l.getAddress().getHostAddress();
+    }
+
+    // Pretend that the NetworkCallback was triggered with a new copy of lp. We need to create a
+    // new copy because the code only updates if !mLinkProperties.equals(lp).
+    private void updateLinkProperties(LinkProperties lp) {
+        mCallbackCaptor.getValue().onLinkPropertiesChanged(mMockNetwork, new LinkProperties(lp));
+    }
+
+    private void updateNetworkCapabilities(NetworkCapabilities nc) {
+        mCallbackCaptor.getValue().onCapabilitiesChanged(mMockNetwork, new NetworkCapabilities(nc));
+    }
+
+    private NetworkCapabilities makeNetworkCapabilities() {
+        NetworkCapabilities nc = new NetworkCapabilities();
+        nc.clearAll();
+        nc.addTransportType(NetworkCapabilities.TRANSPORT_WIFI);
+        return nc;
+    }
+
+    private void verifyDisplayedIpv6Addresses(InOrder inOrder, LinkAddress... addresses) {
+        String text = Arrays.stream(addresses)
+                .map(address -> asString(address))
+                .collect(Collectors.joining("\n"));
+        inOrder.verify(mMockIpv6AddressesPref).setSummary(text);
+    }
+
+    @Test
+    public void onLinkPropertiesChanged_updatesFields() {
+        setUpForConnectedNetwork();
+        displayAndResume();
+
+        InOrder inOrder = inOrder(mMockIpAddressPref, mMockGatewayPref, mMockSubnetPref,
+                mMockDnsPref, mMockIpv6Category, mMockIpv6AddressesPref);
+
+        LinkProperties lp = new LinkProperties();
+
+        lp.addLinkAddress(Constants.IPV6_LINKLOCAL);
+        updateLinkProperties(lp);
+        verifyDisplayedIpv6Addresses(inOrder, Constants.IPV6_LINKLOCAL);
+        inOrder.verify(mMockIpv6Category).setVisible(true);
+
+        lp.addRoute(Constants.IPV4_DEFAULT);
+        updateLinkProperties(lp);
+        inOrder.verify(mMockGatewayPref).setSummary(Constants.IPV4_GATEWAY.getHostAddress());
+        inOrder.verify(mMockGatewayPref).setVisible(true);
+
+        lp.addLinkAddress(Constants.IPV4_ADDR);
+        lp.addRoute(Constants.IPV4_SUBNET);
+        updateLinkProperties(lp);
+        inOrder.verify(mMockIpAddressPref).setSummary(asString(Constants.IPV4_ADDR));
+        inOrder.verify(mMockIpAddressPref).setVisible(true);
+        inOrder.verify(mMockSubnetPref).setSummary("255.255.255.128");
+        inOrder.verify(mMockSubnetPref).setVisible(true);
+
+        lp.addLinkAddress(Constants.IPV6_GLOBAL1);
+        lp.addLinkAddress(Constants.IPV6_GLOBAL2);
+        updateLinkProperties(lp);
+        verifyDisplayedIpv6Addresses(inOrder,
+                Constants.IPV6_LINKLOCAL,
+                Constants.IPV6_GLOBAL1,
+                Constants.IPV6_GLOBAL2);
+
+        lp.removeLinkAddress(Constants.IPV6_GLOBAL1);
+        updateLinkProperties(lp);
+        verifyDisplayedIpv6Addresses(inOrder,
+                Constants.IPV6_LINKLOCAL,
+                Constants.IPV6_GLOBAL2);
+
+        lp.addDnsServer(Constants.IPV6_DNS);
+        updateLinkProperties(lp);
+        inOrder.verify(mMockDnsPref).setSummary(Constants.IPV6_DNS.getHostAddress());
+        inOrder.verify(mMockDnsPref).setVisible(true);
+
+        lp.addDnsServer(Constants.IPV4_DNS1);
+        lp.addDnsServer(Constants.IPV4_DNS2);
+        updateLinkProperties(lp);
+        inOrder.verify(mMockDnsPref).setSummary(
+                Constants.IPV6_DNS.getHostAddress() + "\n"
+                        + Constants.IPV4_DNS1.getHostAddress() + "\n"
+                        + Constants.IPV4_DNS2.getHostAddress());
+        inOrder.verify(mMockDnsPref).setVisible(true);
+    }
+
+    @Test
+    public void onCapabilitiesChanged_callsRefreshIfNecessary() {
+        setUpForConnectedNetwork();
+        NetworkCapabilities nc = makeNetworkCapabilities();
+        when(mMockConnectivityManager.getNetworkCapabilities(mMockNetwork))
+                .thenReturn(new NetworkCapabilities(nc));
+
+        String summary = "Connected, no Internet";
+        when(mMockWifiEntry.getSummary()).thenReturn(summary);
+
+        InOrder inOrder = inOrder(mMockHeaderController);
+        displayAndResume();
+        inOrder.verify(mMockHeaderController).setSummary(summary);
+
+        // Check that an irrelevant capability update does not update the access point summary, as
+        // doing so could cause unnecessary jank...
+        summary = "Connected";
+        when(mMockWifiEntry.getSummary()).thenReturn(summary);
+        updateNetworkCapabilities(nc);
+        inOrder.verify(mMockHeaderController, never()).setSummary(any(CharSequence.class));
+
+        // ... but that if the network validates, then we do refresh.
+        nc.addCapability(NetworkCapabilities.NET_CAPABILITY_VALIDATED);
+        updateNetworkCapabilities(nc);
+        inOrder.verify(mMockHeaderController).setSummary(summary);
+
+        summary = "Connected, no Internet";
+        when(mMockWifiEntry.getSummary()).thenReturn(summary);
+
+        // Another irrelevant update won't cause the UI to refresh...
+        updateNetworkCapabilities(nc);
+        inOrder.verify(mMockHeaderController, never()).setSummary(any(CharSequence.class));
+
+        // ... but if the network is no longer validated, then we display "connected, no Internet".
+        nc.removeCapability(NetworkCapabilities.NET_CAPABILITY_VALIDATED);
+        updateNetworkCapabilities(nc);
+        inOrder.verify(mMockHeaderController).setSummary(summary);
+
+        // UI will be refreshed when private DNS is broken.
+        summary = "Private DNS server cannot be accessed";
+        when(mMockWifiEntry.getSummary()).thenReturn(summary);
+        nc.setPrivateDnsBroken(true);
+        updateNetworkCapabilities(nc);
+        inOrder.verify(mMockHeaderController).setSummary(summary);
+
+        // UI will be refreshed when device connects to a partial connectivity network.
+        summary = "Limited connection";
+        when(mMockWifiEntry.getSummary()).thenReturn(summary);
+        nc.addCapability(NetworkCapabilities.NET_CAPABILITY_PARTIAL_CONNECTIVITY);
+        updateNetworkCapabilities(nc);
+        inOrder.verify(mMockHeaderController).setSummary(summary);
+
+        // Although UI will be refreshed when network become validated. The Settings should
+        // continue to display "Limited connection" if network still provides partial connectivity.
+        nc.addCapability(NetworkCapabilities.NET_CAPABILITY_VALIDATED);
+        updateNetworkCapabilities(nc);
+        inOrder.verify(mMockHeaderController).setSummary(summary);
+    }
+
+    @Test
+    public void canForgetNetwork_shouldInvisibleIfWithoutConfiguration() {
+        setUpForConnectedNetwork();
+        when(mMockWifiEntry.isSaved()).thenReturn(false);
+        mController = newWifiDetailPreferenceController2();
+
+        displayAndResume();
+
+        verify(mMockButtonsPref).setButton1Visible(false);
+    }
+
+    @Test
+    public void canForgetNetwork_ephemeral() {
+        setUpForConnectedNetwork();
+        when(mMockWifiInfo.isEphemeral()).thenReturn(true);
+        when(mMockWifiEntry.isSaved()).thenReturn(false);
+
+        displayAndResume();
+
+        verify(mMockButtonsPref).setButton1Visible(true);
+    }
+
+    @Test
+    public void canForgetNetwork_saved() {
+        setUpForConnectedNetwork();
+        displayAndResume();
+
+        verify(mMockButtonsPref).setButton1Visible(true);
+    }
+
+    @Test
+    public void canForgetNetwork_lockedDown() {
+        setUpForConnectedNetwork();
+        lockDownNetwork();
+
+        displayAndResume();
+
+        verify(mMockButtonsPref).setButton1Visible(false);
+    }
+
+    @Test
+    public void canShareNetwork_shouldInvisibleIfWithoutConfiguration() {
+        setUpForConnectedNetwork();
+        when(mMockWifiEntry.isSaved()).thenReturn(false);
+
+        displayAndResume();
+
+        verify(mMockButtonsPref).setButton4Visible(false);
+    }
+
+    @Test
+    public void canModifyNetwork_saved() {
+        setUpForConnectedNetwork();
+        assertThat(mController.canModifyNetwork()).isTrue();
+    }
+
+    @Test
+    public void canModifyNetwork_lockedDown() {
+        setUpForConnectedNetwork();
+        lockDownNetwork();
+
+        assertThat(mController.canModifyNetwork()).isFalse();
+    }
+
+    /**
+     * Pretends that current network is locked down by device owner.
+     */
+    private void lockDownNetwork() {
+        final int doUserId = 123;
+        final int doUid = 1234;
+        String doPackage = "some.package";
+
+        mMockWifiConfig.creatorUid = doUid;
+        ComponentName doComponent = new ComponentName(doPackage, "some.Class");
+        try {
+            when(mMockPackageManager.getPackageUidAsUser(Matchers.anyString(), Matchers.anyInt()))
+                    .thenReturn(doUid);
+        } catch (PackageManager.NameNotFoundException e) {
+            //do nothing
+        }
+        ShadowDevicePolicyManager.getShadow().setDeviceOwnerComponentOnAnyUser(doComponent);
+        ShadowDevicePolicyManager.getShadow().setDeviceOwnerUserId(doUserId);
+
+        Settings.Global.putInt(mContext.getContentResolver(),
+                Settings.Global.WIFI_DEVICE_OWNER_CONFIGS_LOCKDOWN, 1);
+    }
+
+    @Test
+    public void forgetNetwork_ephemeral() {
+        setUpForConnectedNetwork();
+        String ssid = "ssid";
+        when(mMockWifiInfo.isEphemeral()).thenReturn(true);
+        when(mMockWifiInfo.getSSID()).thenReturn(ssid);
+
+        displayAndResume();
+        mForgetClickListener.getValue().onClick(null);
+
+        verify(mMockWifiManager).disableEphemeralNetwork(ssid);
+        verify(mMockMetricsFeatureProvider)
+                .action(mMockActivity, MetricsProto.MetricsEvent.ACTION_WIFI_FORGET);
+    }
+
+    @Test
+    public void forgetNetwork_saved() {
+        setUpForConnectedNetwork();
+        mMockWifiConfig.networkId = 5;
+
+        mController.displayPreference(mMockScreen);
+        mForgetClickListener.getValue().onClick(null);
+
+        verify(mMockWifiManager).forget(mMockWifiConfig.networkId, null);
+        verify(mMockMetricsFeatureProvider)
+                .action(mMockActivity, MetricsProto.MetricsEvent.ACTION_WIFI_FORGET);
+    }
+
+    /* TODO(b/143326832): Support Passpoint test cases while WifiTracker2 supports it.
+    @Test
+    public void forgetNetwork_shouldShowDialog() {
+        setUpForConnectedNetwork();
+        final WifiDetailPreferenceController2 spyController = spy(mController);
+
+        mMockWifiConfig.networkId = 5;
+        when(mMockAccessPoint.isPasspoint()).thenReturn(true);
+        when(mMockAccessPoint.getPasspointFqdn()).thenReturn(FQDN);
+        spyController.displayPreference(mMockScreen);
+
+        mForgetClickListener.getValue().onClick(null);
+
+        verify(mMockWifiManager, times(0)).removePasspointConfiguration(FQDN);
+        verify(mMockMetricsFeatureProvider, times(0))
+                .action(mMockActivity, MetricsProto.MetricsEvent.ACTION_WIFI_FORGET);
+        verify(spyController).showConfirmForgetDialog();
+    }
+    */
+
+    @Test
+    public void networkStateChangedIntent_shouldRefetchInfo() {
+        setUpForConnectedNetwork();
+
+        displayAndResume();
+
+        verify(mMockConnectivityManager, times(1)).getNetworkInfo(any(Network.class));
+        verify(mMockWifiManager, times(1)).getConnectionInfo();
+
+        mContext.sendBroadcast(new Intent(WifiManager.NETWORK_STATE_CHANGED_ACTION));
+
+        verify(mMockConnectivityManager, times(2)).getNetworkInfo(any(Network.class));
+        verify(mMockWifiManager, times(2)).getConnectionInfo();
+    }
+
+    @Test
+    public void networkStateChangedIntent_shouldRefetchInfoForConnectedNetwork() {
+        setUpForConnectedNetwork();
+
+        displayAndResume();
+
+        verify(mMockConnectivityManager, times(1)).getNetworkInfo(any(Network.class));
+        verify(mMockWifiManager, times(1)).getConnectionInfo();
+
+        mContext.sendBroadcast(new Intent(WifiManager.NETWORK_STATE_CHANGED_ACTION));
+
+        verify(mMockConnectivityManager, times(2)).getNetworkInfo(any(Network.class));
+        verify(mMockWifiManager, times(2)).getConnectionInfo();
+    }
+
+    @Test
+    public void rssiChangedIntent_shouldRefetchInfo() {
+        setUpForConnectedNetwork();
+
+        displayAndResume();
+
+        verify(mMockConnectivityManager, times(1)).getNetworkInfo(any(Network.class));
+        verify(mMockWifiManager, times(1)).getConnectionInfo();
+
+        mContext.sendBroadcast(new Intent(WifiManager.RSSI_CHANGED_ACTION));
+
+        verify(mMockConnectivityManager, times(2)).getNetworkInfo(any(Network.class));
+        verify(mMockWifiManager, times(2)).getConnectionInfo();
+    }
+
+    @Test
+    public void rssiChangedIntent_shouldRefetchInfoForConnectedNetwork() {
+        setUpForConnectedNetwork();
+        displayAndResume();
+
+        verify(mMockConnectivityManager, times(1)).getNetworkInfo(any(Network.class));
+        verify(mMockWifiManager, times(1)).getConnectionInfo();
+
+        mContext.sendBroadcast(new Intent(WifiManager.RSSI_CHANGED_ACTION));
+
+        verify(mMockConnectivityManager, times(2)).getNetworkInfo(any(Network.class));
+        verify(mMockWifiManager, times(2)).getConnectionInfo();
+    }
+
+    @Test
+    public void networkDisconnectedState_shouldNotFinishActivityForConnectedNetwork() {
+        setUpForConnectedNetwork();
+
+        displayAndResume();
+
+        when(mMockConnectivityManager.getNetworkInfo(any(Network.class))).thenReturn(null);
+        mContext.sendBroadcast(new Intent(WifiManager.NETWORK_STATE_CHANGED_ACTION));
+
+        verify(mMockActivity, never()).finish();
+    }
+
+    @Test
+    public void networkOnLost_shouldNotFinishActivityForConnectedNetwork() {
+        setUpForConnectedNetwork();
+
+        displayAndResume();
+
+        mCallbackCaptor.getValue().onLost(mMockNetwork);
+
+        verify(mMockActivity, never()).finish();
+    }
+
+    @Test
+    public void ipv6AddressPref_shouldHaveHostAddressTextSet() {
+        setUpForConnectedNetwork();
+        mLinkProperties.addLinkAddress(Constants.IPV6_LINKLOCAL);
+        mLinkProperties.addLinkAddress(Constants.IPV6_GLOBAL1);
+        mLinkProperties.addLinkAddress(Constants.IPV6_GLOBAL2);
+
+        displayAndResume();
+
+        String expectedAddresses = String.join("\n",
+                asString(Constants.IPV6_LINKLOCAL),
+                asString(Constants.IPV6_GLOBAL1),
+                asString(Constants.IPV6_GLOBAL2));
+
+        verify(mMockIpv6AddressesPref).setSummary(expectedAddresses);
+    }
+
+    @Test
+    public void ipv6AddressPref_shouldNotBeSelectable() {
+        setUpForConnectedNetwork();
+        mLinkProperties.addLinkAddress(Constants.IPV6_GLOBAL2);
+
+        displayAndResume();
+
+        assertThat(mMockIpv6AddressesPref.isSelectable()).isFalse();
+    }
+
+    @Test
+    public void captivePortal_shouldShowSignInButton() {
+        setUpForConnectedNetwork();
+
+        InOrder inOrder = inOrder(mMockButtonsPref);
+
+        displayAndResume();
+
+        inOrder.verify(mMockButtonsPref).setButton2Visible(false);
+
+        NetworkCapabilities nc = makeNetworkCapabilities();
+        updateNetworkCapabilities(nc);
+        inOrder.verify(mMockButtonsPref).setButton2Visible(false);
+
+        nc.addCapability(NetworkCapabilities.NET_CAPABILITY_CAPTIVE_PORTAL);
+        updateNetworkCapabilities(nc);
+
+        inOrder.verify(mMockButtonsPref).setButton2Text(R.string.wifi_sign_in_button_text);
+        inOrder.verify(mMockButtonsPref).setButton2Visible(true);
+
+        nc.removeCapability(NetworkCapabilities.NET_CAPABILITY_CAPTIVE_PORTAL);
+        updateNetworkCapabilities(nc);
+        inOrder.verify(mMockButtonsPref).setButton2Visible(false);
+    }
+
+    @Test
+    public void captivePortal_shouldShowVenueInfoButton() {
+        setUpForConnectedNetwork();
+
+        InOrder inOrder = inOrder(mMockButtonsPref);
+
+        displayAndResume();
+
+        inOrder.verify(mMockButtonsPref).setButton2Visible(false);
+
+        LinkProperties lp = new LinkProperties();
+        final CaptivePortalData data = new CaptivePortalData.Builder()
+                .setVenueInfoUrl(Uri.parse("https://example.com/info"))
+                .build();
+        lp.setCaptivePortalData(data);
+        updateLinkProperties(lp);
+
+        inOrder.verify(mMockButtonsPref).setButton2Text(R.string.wifi_venue_website_button_text);
+        inOrder.verify(mMockButtonsPref).setButton2Visible(true);
+
+        lp.setCaptivePortalData(null);
+        updateLinkProperties(lp);
+        inOrder.verify(mMockButtonsPref).setButton2Visible(false);
+    }
+
+    @Test
+    public void testSignInButton_shouldStartCaptivePortalApp() {
+        setUpForConnectedNetwork();
+
+        displayAndResume();
+
+        ArgumentCaptor<OnClickListener> captor = ArgumentCaptor.forClass(OnClickListener.class);
+        verify(mMockButtonsPref, atLeastOnce()).setButton2OnClickListener(captor.capture());
+        // getValue() returns the last captured value
+        captor.getValue().onClick(null);
+        verify(mMockConnectivityManager).startCaptivePortalApp(mMockNetwork);
+        verify(mMockMetricsFeatureProvider)
+                .action(mMockActivity, MetricsProto.MetricsEvent.ACTION_WIFI_SIGNIN);
+    }
+
+    @Test
+    public void testSignInButton_shouldHideSignInButtonForDisconnectedNetwork() {
+        setUpForDisconnectedNetwork();
+        NetworkCapabilities nc = makeNetworkCapabilities();
+        nc.addCapability(NetworkCapabilities.NET_CAPABILITY_CAPTIVE_PORTAL);
+        when(mMockConnectivityManager.getNetworkCapabilities(mMockNetwork))
+                .thenReturn(new NetworkCapabilities(nc));
+
+        // verify onResume
+        displayAndResume();
+
+        verify(mMockButtonsPref, never()).setButton2Visible(true);
+        verify(mMockButtonsPref).setButton2Visible(false);
+
+        // verify onCapabilitiesChanged
+        updateNetworkCapabilities(nc);
+
+        verify(mMockButtonsPref, never()).setButton2Visible(true);
+        verify(mMockButtonsPref).setButton2Visible(false);
+    }
+
+    @Test
+    public void testDisconnectButton_connectedNetwork_shouldVisible() {
+        setUpForConnectedNetwork();
+        when(mMockWifiEntry.getLevel()).thenReturn(WifiEntry.WIFI_LEVEL_MAX);
+
+        displayAndResume();
+
+        verify(mMockButtonsPref).setButton3Visible(true);
+        verify(mMockButtonsPref).setButton3Text(R.string.wifi_disconnect);
+    }
+
+    @Test
+    public void testConnectButton_disconnectedNetwork_shouldVisibleIfReachable() {
+        setUpForDisconnectedNetwork();
+        when(mMockWifiEntry.getLevel()).thenReturn(WifiEntry.WIFI_LEVEL_MAX);
+
+        displayAndResume();
+
+        verify(mMockButtonsPref).setButton3Visible(true);
+        verify(mMockButtonsPref).setButton3Text(R.string.wifi_connect);
+    }
+
+    @Test
+    public void testConnectButton_disconnectedNetwork_shouldInvisibleIfUnreachable() {
+        setUpForDisconnectedNetwork();
+        when(mMockWifiEntry.getLevel()).thenReturn(WifiEntry.WIFI_LEVEL_UNREACHABLE);
+
+        displayAndResume();
+
+        verify(mMockButtonsPref).setButton3Visible(false);
+    }
+
+    private void setUpForToast() {
+        Resources res = mContext.getResources();
+        when(mMockActivity.getResources()).thenReturn(res);
+    }
+
+    @Test
+    public void testConnectButton_clickConnect_displayAsSuccess() {
+        setUpForDisconnectedNetwork();
+        when(mMockWifiManager.isWifiEnabled()).thenReturn(true);
+        InOrder inOrder = inOrder(mMockButtonsPref);
+        String label = "title";
+        when(mMockWifiEntry.getTitle()).thenReturn(label);
+        setUpForToast();
+
+        displayAndResume();
+
+        // check connect button enabled
+        verifyConnectBtnSetUpAsEnabled(inOrder);
+
+        // click connect button
+        mController.connectDisconnectNetwork();
+
+        // check display button as connecting
+        verify(mMockWifiManager, times(1)).connect(anyInt(), any(WifiManager.ActionListener.class));
+        verifyConnectBtnSetUpAsConnecting(inOrder);
+
+        // update as connected
+        when(mMockWifiEntry.getConnectedState()).thenReturn(WifiEntry.CONNECTED_STATE_CONNECTED);
+
+        // check connect button invisible, be init as default state and toast success message
+        verifyConnectBtnBeInitAsDefault(inOrder);
+        inOrder.verify(mMockButtonsPref).setButton3Enabled(false);
+        assertThat(ShadowToast.getTextOfLatestToast()).isEqualTo(
+                mContext.getString(R.string.wifi_connected_to_message, label));
+    }
+
+    @Test
+    public void testConnectButton_clickConnectButFailed_displayFailMessage() {
+        setUpForDisconnectedNetwork();
+        ArgumentCaptor<WifiManager.ActionListener> connectListenerCaptor =
+                ArgumentCaptor.forClass(WifiManager.ActionListener.class);
+        when(mMockWifiManager.isWifiEnabled()).thenReturn(true);
+        InOrder inOrder = inOrder(mMockButtonsPref);
+        setUpForToast();
+
+        displayAndResume();
+
+        // check connect button enabled
+        verifyConnectBtnSetUpAsEnabled(inOrder);
+
+        // click connect button
+        mController.connectDisconnectNetwork();
+
+        // check display button as connecting
+        verify(mMockWifiManager, times(1)).connect(anyInt(), connectListenerCaptor.capture());
+        verifyConnectBtnSetUpAsConnecting(inOrder);
+
+        // update as failed
+        connectListenerCaptor.getValue().onFailure(-1);
+
+        // check connect button visible, be init as default and toast failed message
+        verifyConnectBtnBeInitAsDefault(inOrder);
+        inOrder.verify(mMockButtonsPref).setButton3Enabled(true);
+        assertThat(ShadowToast.getTextOfLatestToast()).isEqualTo(
+                mContext.getString(R.string.wifi_failed_connect_message));
+    }
+
+    private void verifyConnectBtnSetUpAsEnabled(InOrder inOrder) {
+        inOrder.verify(mMockButtonsPref).setButton3Text(R.string.wifi_connect);
+        inOrder.verify(mMockButtonsPref).setButton3Icon(R.drawable.ic_settings_wireless);
+        inOrder.verify(mMockButtonsPref).setButton3Enabled(true);
+    }
+
+    private void verifyConnectBtnSetUpAsConnecting(InOrder inOrder) {
+        inOrder.verify(mMockButtonsPref).setButton3Text(R.string.wifi_connecting);
+        inOrder.verify(mMockButtonsPref).setButton3Enabled(false);
+    }
+
+    private void verifyConnectBtnBeInitAsDefault(InOrder inOrder) {
+        inOrder.verify(mMockButtonsPref).setButton3Text(R.string.wifi_connect);
+        inOrder.verify(mMockButtonsPref).setButton3Icon(R.drawable.ic_settings_wireless);
+        inOrder.verify(mMockButtonsPref).setButton3Enabled(true);
+    }
+
+    @Test
+    public void testRefreshRssiViews_shouldOnUpdated() {
+        setUpForConnectedNetwork();
+        displayAndResume();
+
+        mContext.sendBroadcast(new Intent(WifiManager.RSSI_CHANGED_ACTION));
+
+        verify(mController).onUpdated();
+    }
+
+    @Test
+    public void testRefreshRssiViews_shouldNotUpdateForNotInRangeNetwork() {
+        setUpForNotInRangeNetwork();
+        displayAndResume();
+
+        when(mMockWifiEntry.getLevel()).thenReturn(0);
+        mContext.sendBroadcast(new Intent(WifiManager.RSSI_CHANGED_ACTION));
+
+        verify(mMockSignalStrengthPref, times(2)).setVisible(false);
+    }
+
+    @Test
+    public void testRedrawIconForHeader_shouldEnlarge() {
+        setUpForConnectedNetwork();
+        ArgumentCaptor<BitmapDrawable> drawableCaptor =
+                ArgumentCaptor.forClass(BitmapDrawable.class);
+        Drawable original = mContext.getDrawable(Utils.getWifiIconResource(LEVEL)).mutate();
+        when(mMockIconInjector.getIcon(anyInt())).thenReturn(original);
+
+        displayAndResume();
+
+        verify(mMockHeaderController, times(1)).setIcon(drawableCaptor.capture());
+
+        int expectedSize = mContext.getResources().getDimensionPixelSize(
+                R.dimen.wifi_detail_page_header_image_size);
+        BitmapDrawable icon = drawableCaptor.getValue();
+        assertThat(icon.getMinimumWidth()).isEqualTo(expectedSize);
+        assertThat(icon.getMinimumHeight()).isEqualTo(expectedSize);
+    }
+
+    @Test
+    public void testRedrawIconForHeader_shouldEnlargeForDisconnectedNetwork() {
+        setUpForDisconnectedNetwork();
+        ArgumentCaptor<BitmapDrawable> drawableCaptor =
+                ArgumentCaptor.forClass(BitmapDrawable.class);
+        Drawable original = mContext.getDrawable(Utils.getWifiIconResource(LEVEL)).mutate();
+        when(mMockIconInjector.getIcon(anyInt())).thenReturn(original);
+
+        displayAndResume();
+
+        verify(mMockHeaderController, times(1)).setIcon(drawableCaptor.capture());
+
+        int expectedSize = mContext.getResources().getDimensionPixelSize(
+                R.dimen.wifi_detail_page_header_image_size);
+        BitmapDrawable icon = drawableCaptor.getValue();
+        assertThat(icon.getMinimumWidth()).isEqualTo(expectedSize);
+        assertThat(icon.getMinimumHeight()).isEqualTo(expectedSize);
+    }
+
+    @Test
+    public void testRedrawIconForHeader_shouldNotEnlargeIfNotVectorDrawable() {
+        setUpForConnectedNetwork();
+        ArgumentCaptor<ColorDrawable> drawableCaptor =
+                ArgumentCaptor.forClass(ColorDrawable.class);
+
+        displayAndResume();
+
+        verify(mMockHeaderController, times(1)).setIcon(drawableCaptor.capture());
+        ColorDrawable icon = drawableCaptor.getValue();
+        assertThat(icon).isNotNull();
+    }
+
+    @Test
+    public void checkMacTitle_whenPrivacyRandomizedMac_shouldBeRandom() {
+        setUpForDisconnectedNetwork();
+        mMockWifiConfig.macRandomizationSetting = WifiConfiguration.RANDOMIZATION_PERSISTENT;
+        when(mMockWifiConfig.getRandomizedMacAddress()).thenReturn(mMockMacAddress);
+        when(mMockMacAddress.toString()).thenReturn(RANDOMIZED_MAC_ADDRESS);
+
+        displayAndResume();
+
+        verify(mMockMacAddressPref).setTitle(R.string.wifi_advanced_randomized_mac_address_title);
+    }
+
+    @Test
+    public void checkMacTitle_whenPrivacyDeviceMac_shouldBeFactory() {
+        setUpForDisconnectedNetwork();
+        mMockWifiConfig.macRandomizationSetting = WifiConfiguration.RANDOMIZATION_NONE;
+        when(mMockWifiConfig.getRandomizedMacAddress()).thenReturn(mMockMacAddress);
+        when(mMockWifiManager.getFactoryMacAddresses())
+                .thenReturn(new String[]{FACTORY_MAC_ADDRESS});
+
+        displayAndResume();
+
+        verify(mMockMacAddressPref).setTitle(R.string.wifi_advanced_device_mac_address_title);
+    }
+
+    /* TODO(b/143326832): Support Passpoint test cases while WifiTracker2 supports it.
+    @Test
+    public void entityHeader_expiredPasspointR1_shouldHandleExpiration() {
+        when(mMockAccessPoint.isPasspoint()).thenReturn(true);
+        when(mMockAccessPoint.isPasspointConfigurationR1()).thenReturn(true);
+        when(mMockAccessPoint.isExpired()).thenReturn(true);
+        setUpForDisconnectedNetwork();
+        String expireSummary = mContext.getResources().getString(
+                com.android.settingslib.R.string.wifi_passpoint_expired);
+
+        displayAndResume();
+
+        verify(mMockButtonsPref, atLeastOnce()).setButton3Visible(false);
+        verify(mMockHeaderController).setSummary(expireSummary);
+    }
+    */
+
+    private ActionButtonsPreference createMock() {
+        final ActionButtonsPreference pref = mock(ActionButtonsPreference.class);
+        when(pref.setButton1Text(anyInt())).thenReturn(pref);
+        when(pref.setButton1Icon(anyInt())).thenReturn(pref);
+        when(pref.setButton1Enabled(anyBoolean())).thenReturn(pref);
+        when(pref.setButton1Visible(anyBoolean())).thenReturn(pref);
+        when(pref.setButton1OnClickListener(any(View.OnClickListener.class))).thenReturn(pref);
+
+        when(pref.setButton2Text(anyInt())).thenReturn(pref);
+        when(pref.setButton2Icon(anyInt())).thenReturn(pref);
+        when(pref.setButton2Enabled(anyBoolean())).thenReturn(pref);
+        when(pref.setButton2Visible(anyBoolean())).thenReturn(pref);
+        when(pref.setButton2OnClickListener(any(View.OnClickListener.class))).thenReturn(pref);
+
+        when(pref.setButton3Text(anyInt())).thenReturn(pref);
+        when(pref.setButton3Icon(anyInt())).thenReturn(pref);
+        when(pref.setButton3Enabled(anyBoolean())).thenReturn(pref);
+        when(pref.setButton3Visible(anyBoolean())).thenReturn(pref);
+        when(pref.setButton3OnClickListener(any(View.OnClickListener.class))).thenReturn(pref);
+
+        when(pref.setButton4Text(anyInt())).thenReturn(pref);
+        when(pref.setButton4Icon(anyInt())).thenReturn(pref);
+        when(pref.setButton4Enabled(anyBoolean())).thenReturn(pref);
+        when(pref.setButton4Visible(anyBoolean())).thenReturn(pref);
+        when(pref.setButton4OnClickListener(any(View.OnClickListener.class))).thenReturn(pref);
+
+        return pref;
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/wifi/details2/WifiMeteredPreferenceController2Test.java b/tests/robotests/src/com/android/settings/wifi/details2/WifiMeteredPreferenceController2Test.java
new file mode 100644
index 0000000..9c31d44
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/wifi/details2/WifiMeteredPreferenceController2Test.java
@@ -0,0 +1,88 @@
+/*
+ * 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.details2;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.spy;
+
+import android.content.Context;
+
+import androidx.preference.DropDownPreference;
+
+import com.android.settings.R;
+import com.android.wifitrackerlib.WifiEntry;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+@RunWith(RobolectricTestRunner.class)
+public class WifiMeteredPreferenceController2Test {
+
+    private static final int METERED_OVERRIDE_NONE = 0;
+    private static final int METERED_OVERRIDE_METERED = 1;
+    private static final int METERED_OVERRIDE_NOT_METERED = 2;
+
+    @Mock
+    private WifiEntry mWifiEntry;
+
+    private WifiMeteredPreferenceController2 mPreferenceController;
+    private Context mContext;
+    private DropDownPreference mDropDownPreference;
+
+    @Before
+    public void setUp() {
+        mContext = RuntimeEnvironment.application;
+
+        mPreferenceController = spy(
+                new WifiMeteredPreferenceController2(mContext, mWifiEntry));
+        mDropDownPreference = new DropDownPreference(mContext);
+        mDropDownPreference.setEntries(R.array.wifi_metered_entries);
+        mDropDownPreference.setEntryValues(R.array.wifi_metered_values);
+    }
+
+    @Test
+    public void testUpdateState_wifiMetered_setCorrectValue() {
+        doReturn(METERED_OVERRIDE_METERED).when(mPreferenceController).getMeteredOverride();
+
+        mPreferenceController.updateState(mDropDownPreference);
+
+        assertThat(mDropDownPreference.getEntry()).isEqualTo("Treat as metered");
+    }
+
+    @Test
+    public void testUpdateState_wifiNotMetered_setCorrectValue() {
+        doReturn(METERED_OVERRIDE_NOT_METERED).when(mPreferenceController).getMeteredOverride();
+
+        mPreferenceController.updateState(mDropDownPreference);
+
+        assertThat(mDropDownPreference.getEntry()).isEqualTo("Treat as unmetered");
+    }
+
+    @Test
+    public void testUpdateState_wifiAuto_setCorrectValue() {
+        doReturn(METERED_OVERRIDE_NONE).when(mPreferenceController).getMeteredOverride();
+
+        mPreferenceController.updateState(mDropDownPreference);
+
+        assertThat(mDropDownPreference.getEntry()).isEqualTo("Detect automatically");
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/wifi/details2/WifiPrivacyPreferenceController2Test.java b/tests/robotests/src/com/android/settings/wifi/details2/WifiPrivacyPreferenceController2Test.java
new file mode 100644
index 0000000..0414b1c
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/wifi/details2/WifiPrivacyPreferenceController2Test.java
@@ -0,0 +1,108 @@
+/*
+ * 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.details2;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+
+import androidx.preference.DropDownPreference;
+
+import com.android.settings.R;
+import com.android.wifitrackerlib.WifiEntry;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+@RunWith(RobolectricTestRunner.class)
+public class WifiPrivacyPreferenceController2Test {
+
+    private static final int PRIVACY_RANDOMIZED = WifiEntry.PRIVACY_RANDOMIZED_MAC;
+    private static final int PRIVACY_TRUSTED = WifiEntry.PRIVACY_DEVICE_MAC;
+
+    @Mock private WifiEntry mMockWifiEntry;
+
+    private WifiPrivacyPreferenceController2 mPreferenceController;
+    private Context mContext;
+    private DropDownPreference mDropDownPreference;
+    private String[] mPerferenceStrings;
+
+    @Before
+    public void setUp() {
+        mContext = RuntimeEnvironment.application;
+
+        mMockWifiEntry = mock(WifiEntry.class);
+        WifiPrivacyPreferenceController2 preferenceController =
+                new WifiPrivacyPreferenceController2(mContext);
+        preferenceController.setWifiEntry(mMockWifiEntry);
+        mPreferenceController = spy(preferenceController);
+        mDropDownPreference = new DropDownPreference(mContext);
+        mDropDownPreference.setEntries(R.array.wifi_privacy_entries);
+        mDropDownPreference.setEntryValues(R.array.wifi_privacy_values);
+
+        mPerferenceStrings = mContext.getResources().getStringArray(R.array.wifi_privacy_entries);
+    }
+
+    @Test
+    public void testUpdateState_wifiPrivacy_setCorrectValue() {
+        doReturn(PRIVACY_TRUSTED).when(mPreferenceController).getRandomizationValue();
+
+        mPreferenceController.updateState(mDropDownPreference);
+
+        int prefValue = mPreferenceController.translateMacRandomizedValueToPrefValue(
+                PRIVACY_TRUSTED);
+        assertThat(mDropDownPreference.getEntry()).isEqualTo(mPerferenceStrings[prefValue]);
+    }
+
+    @Test
+    public void testUpdateState_wifiNotMetered_setCorrectValue() {
+        doReturn(PRIVACY_RANDOMIZED).when(mPreferenceController).getRandomizationValue();
+
+        mPreferenceController.updateState(mDropDownPreference);
+
+        int prefValue = mPreferenceController.translateMacRandomizedValueToPrefValue(
+                PRIVACY_RANDOMIZED);
+        assertThat(mDropDownPreference.getEntry()).isEqualTo(mPerferenceStrings[prefValue]);
+    }
+
+    @Test
+    public void testUpdateState_canSetPrivacy_shouldBeSelectable() {
+        when(mMockWifiEntry.canSetPrivacy()).thenReturn(true);
+
+        mPreferenceController.updateState(mDropDownPreference);
+
+        assertThat(mDropDownPreference.isSelectable()).isTrue();
+    }
+
+    @Test
+    public void testUpdateState_canNotSetPrivacy_shouldNotSelectable() {
+        when(mMockWifiEntry.canSetPrivacy()).thenReturn(false);
+
+        mPreferenceController.updateState(mDropDownPreference);
+
+        assertThat(mDropDownPreference.isSelectable()).isFalse();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/wifi/details2/WifiSubscriptionDetailPreferenceController2Test.java b/tests/robotests/src/com/android/settings/wifi/details2/WifiSubscriptionDetailPreferenceController2Test.java
new file mode 100644
index 0000000..18a5b86
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/wifi/details2/WifiSubscriptionDetailPreferenceController2Test.java
@@ -0,0 +1,69 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.wifi.details2;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+
+import com.android.wifitrackerlib.WifiEntry;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+@RunWith(RobolectricTestRunner.class)
+public class WifiSubscriptionDetailPreferenceController2Test {
+
+    @Mock
+    private WifiEntry mMockWifiEntry;
+
+    private WifiSubscriptionDetailPreferenceController2 mPreferenceController;
+    private Context mContext;
+
+    @Before
+    public void setUp() {
+        mContext = RuntimeEnvironment.application;
+
+        mMockWifiEntry = mock(WifiEntry.class);
+        WifiSubscriptionDetailPreferenceController2 preferenceController =
+                new WifiSubscriptionDetailPreferenceController2(mContext);
+        preferenceController.setWifiEntry(mMockWifiEntry);
+        mPreferenceController = spy(preferenceController);
+    }
+
+    @Test
+    public void testUpdateState_canSetPrivacy_shouldBeSelectable() {
+        when(mMockWifiEntry.canManageSubscription()).thenReturn(true);
+
+        assertThat(mPreferenceController.isAvailable()).isTrue();
+    }
+
+    @Test
+    public void testUpdateState_canNotSetPrivacy_shouldNotSelectable() {
+        when(mMockWifiEntry.canManageSubscription()).thenReturn(false);
+
+        assertThat(mPreferenceController.isAvailable()).isFalse();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/wifi/dpp/WifiDppConfiguratorActivityTest.java b/tests/robotests/src/com/android/settings/wifi/dpp/WifiDppConfiguratorActivityTest.java
new file mode 100644
index 0000000..0c9bf37
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/wifi/dpp/WifiDppConfiguratorActivityTest.java
@@ -0,0 +1,31 @@
+/*
+ * 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 org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.Robolectric;
+import org.robolectric.RobolectricTestRunner;
+
+@RunWith(RobolectricTestRunner.class)
+public class WifiDppConfiguratorActivityTest {
+    @Test
+    public void launchActivity_noIntentAction_shouldNotFatalException() {
+        WifiDppConfiguratorActivity wifiDppConfiguratorActivity =
+                Robolectric.setupActivity(WifiDppConfiguratorActivity.class);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/wifi/dpp/WifiDppEnrolleeActivityTest.java b/tests/robotests/src/com/android/settings/wifi/dpp/WifiDppEnrolleeActivityTest.java
new file mode 100644
index 0000000..819b7f4
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/wifi/dpp/WifiDppEnrolleeActivityTest.java
@@ -0,0 +1,31 @@
+/*
+ * 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 org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.Robolectric;
+import org.robolectric.RobolectricTestRunner;
+
+@RunWith(RobolectricTestRunner.class)
+public class WifiDppEnrolleeActivityTest {
+    @Test
+    public void launchActivity_noIntentAction_shouldNotFatalException() {
+        WifiDppEnrolleeActivity wifiDppEnrolleeActivity =
+                Robolectric.setupActivity(WifiDppEnrolleeActivity.class);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/wifi/p2p/P2pCategoryPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/wifi/p2p/P2pCategoryPreferenceControllerTest.java
index c2d99a6..f7962eb 100644
--- a/tests/robotests/src/com/android/settings/wifi/p2p/P2pCategoryPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/p2p/P2pCategoryPreferenceControllerTest.java
@@ -20,7 +20,7 @@
 
 import static org.mockito.ArgumentMatchers.anyString;
 import static org.mockito.Mockito.atLeastOnce;
-import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
@@ -60,8 +60,8 @@
     }
 
     @Test
-    public void isAlwaysAvailable() {
-        assertThat(mController.isAvailable()).isTrue();
+    public void isAvailable_withInitialEmptyGroup_shouldBeFalse() {
+        assertThat(mController.isAvailable()).isFalse();
     }
 
     @Test
@@ -69,7 +69,7 @@
         mController.removeAllChildren();
 
         verify(mCategory).removeAll();
-        verify(mCategory).setVisible(false);
+        verify(mCategory, times(2)).setVisible(false);
     }
 
     @Test
@@ -79,7 +79,7 @@
 
         verify(mCategory).addPreference(pref);
         verify(mCategory, atLeastOnce()).setVisible(true);
-        verify(mCategory, never()).setVisible(false);
+        verify(mCategory).setVisible(false);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/wifi/qrcode/QrCameraTest.java b/tests/robotests/src/com/android/settings/wifi/qrcode/QrCameraTest.java
index 3f67137..de0df73 100644
--- a/tests/robotests/src/com/android/settings/wifi/qrcode/QrCameraTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/qrcode/QrCameraTest.java
@@ -18,14 +18,19 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
+import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
 
 import android.content.Context;
 import android.graphics.Bitmap;
 import android.graphics.Matrix;
 import android.graphics.Rect;
 import android.graphics.SurfaceTexture;
-import android.util.Size;
+import android.hardware.Camera;
+import android.hardware.Camera.Parameters;
+import android.hardware.Camera.Size;
 
 import com.google.zxing.BinaryBitmap;
 import com.google.zxing.LuminanceSource;
@@ -33,9 +38,6 @@
 import com.google.zxing.WriterException;
 import com.google.zxing.common.HybridBinarizer;
 
-import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.TimeUnit;
-
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -43,6 +45,12 @@
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
 
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
+
 @RunWith(RobolectricTestRunner.class)
 public class QrCameraTest {
 
@@ -58,12 +66,12 @@
 
     private class ScannerTestCallback implements QrCamera.ScannerCallback {
         @Override
-        public Size getViewSize() {
-            return new Size(0, 0);
+        public android.util.Size getViewSize() {
+            return new android.util.Size(0, 0);
         }
 
         @Override
-        public Rect getFramePosition(Size previewSize, int cameraOrientation) {
+        public Rect getFramePosition(android.util.Size previewSize, int cameraOrientation) {
             return new Rect(0,0,0,0);
         }
 
@@ -147,4 +155,22 @@
 
         assertThat(mQrCode).isEqualTo(unicodeTest);
     }
+
+    @Test
+    public void setCameraParameter_shouldSetParameters() {
+        mCamera.mCamera = mock(Camera.class);
+        Parameters parameters = mock(Camera.Parameters.class);
+        Size size = mCamera.mCamera.new Size(1920, 1440);
+        List<Camera.Size> sizes = new ArrayList<>(Arrays.asList(size));
+        when(parameters.getPreviewSize()).thenReturn(size);
+        when(parameters.getSupportedPreviewSizes()).thenReturn(sizes);
+        when(parameters.getSupportedPictureSizes()).thenReturn(sizes);
+        when(mCamera.mCamera.getParameters()).thenReturn(parameters);
+
+        mCamera.setCameraParameter();
+
+        verify(mCamera.mParameters).setPreviewSize(anyInt(), anyInt());
+        verify(mCamera.mParameters).setPictureSize(anyInt(), anyInt());
+        verify(mCamera.mCamera).setParameters(mCamera.mParameters);
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/wifi/savedaccesspoints/SavedAccessPointsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/wifi/savedaccesspoints/SavedAccessPointsPreferenceControllerTest.java
index 51944d8..483e259 100644
--- a/tests/robotests/src/com/android/settings/wifi/savedaccesspoints/SavedAccessPointsPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/savedaccesspoints/SavedAccessPointsPreferenceControllerTest.java
@@ -16,12 +16,11 @@
 
 package com.android.settings.wifi.savedaccesspoints;
 
-import static com.android.settings.core.BasePreferenceController.AVAILABLE;
+import static com.android.settings.core.BasePreferenceController.CONDITIONALLY_UNAVAILABLE;
 
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.Mockito.doNothing;
 import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
@@ -29,15 +28,12 @@
 
 import android.content.Context;
 import android.net.wifi.WifiConfiguration;
-
 import android.net.wifi.WifiManager;
+
 import androidx.preference.PreferenceCategory;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.core.FeatureFlags;
-import com.android.settings.development.featureflags.FeatureFlagPersistent;
 import com.android.settings.testutils.shadow.ShadowAccessPoint;
-import com.android.settings.testutils.shadow.ShadowThreadUtils;
 import com.android.settings.testutils.shadow.ShadowWifiManager;
 import com.android.settingslib.wifi.AccessPointPreference;
 
@@ -51,8 +47,10 @@
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
 
+import java.util.ArrayList;
+
 @RunWith(RobolectricTestRunner.class)
-@Config(shadows = {ShadowThreadUtils.class, ShadowWifiManager.class})
+@Config(shadows = {ShadowWifiManager.class})
 public class SavedAccessPointsPreferenceControllerTest {
 
     @Mock
@@ -80,49 +78,22 @@
     }
 
     @Test
-    public void getAvailability_alwaysAvailable() {
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
+    public void getAvailability_noSavedAccessPoint_shouldNotAvailable() {
+        mController.mAccessPoints = new ArrayList<>();
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
     }
 
     @Test
-    public void onStart_shouldRefreshApList() {
-        doNothing().when(mController).refreshSavedAccessPoints();
-
-        mController.onStart();
-
-        verify(mController).refreshSavedAccessPoints();
-    }
-
-    @Test
-    public void postRefresh_shouldRefreshApList() {
-        doNothing().when(mController).refreshSavedAccessPoints();
-
-        mController.postRefreshSavedAccessPoints();
-
-        verify(mController).refreshSavedAccessPoints();
-    }
-
-    @Test
-    public void forget_onSuccess_shouldRefreshApList() {
-        doNothing().when(mController).refreshSavedAccessPoints();
-
-        mController.onSuccess();
-
-        verify(mController).refreshSavedAccessPoints();
-    }
-
-    @Test
-    public void forget_onFailure_shouldRefreshApList() {
-        doNothing().when(mController).refreshSavedAccessPoints();
-
-        mController.onFailure(0 /* reason */);
+    public void getAvailability_shouldRefreshSavedAccessPoints() {
+        mController.getAvailabilityStatus();
 
         verify(mController).refreshSavedAccessPoints();
     }
 
     @Test
     @Config(shadows = ShadowAccessPoint.class)
-    public void refreshSavedAccessPoints_shouldListNonSubscribedAPs() {
+    public void displayPreference_oneAccessPoint_shouldListNonSubscribedAPs() {
         final WifiConfiguration config = new WifiConfiguration();
         config.SSID = "SSID";
         config.BSSID = "BSSID";
@@ -132,7 +103,6 @@
         final ArgumentCaptor<AccessPointPreference> captor =
                 ArgumentCaptor.forClass(AccessPointPreference.class);
         mController.displayPreference(mPreferenceScreen);
-        mController.refreshSavedAccessPoints();
 
         verify(mPreferenceCategory).addPreference(captor.capture());
 
@@ -142,14 +112,11 @@
 
     @Test
     @Config(shadows = ShadowAccessPoint.class)
-    public void refreshSavedAccessPoints_shouldNotListSubscribedAPs() {
-        FeatureFlagPersistent.setEnabled(mContext, FeatureFlags.NETWORK_INTERNET_V2, true);
-
+    public void displayPreference_onePasspoint_shouldNotListSubscribedAPs() {
         mWifiManager.addOrUpdatePasspointConfiguration(
                 SubscribedAccessPointsPreferenceControllerTest.createMockPasspointConfiguration());
 
         mController.displayPreference(mPreferenceScreen);
-        mController.refreshSavedAccessPoints();
 
         verify(mPreferenceCategory, never()).addPreference(any(AccessPointPreference.class));
     }
diff --git a/tests/robotests/src/com/android/settings/wifi/savedaccesspoints/SavedAccessPointsWifiSettingsTest.java b/tests/robotests/src/com/android/settings/wifi/savedaccesspoints/SavedAccessPointsWifiSettingsTest.java
index cda4005..923f05e 100644
--- a/tests/robotests/src/com/android/settings/wifi/savedaccesspoints/SavedAccessPointsWifiSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/savedaccesspoints/SavedAccessPointsWifiSettingsTest.java
@@ -23,6 +23,7 @@
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
 import com.android.settings.R;
 import com.android.settingslib.core.AbstractPreferenceController;
+
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
diff --git a/tests/robotests/src/com/android/settings/wifi/savedaccesspoints/SubscribedAccessPointsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/wifi/savedaccesspoints/SubscribedAccessPointsPreferenceControllerTest.java
index 26933d8..74f94e9 100644
--- a/tests/robotests/src/com/android/settings/wifi/savedaccesspoints/SubscribedAccessPointsPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/savedaccesspoints/SubscribedAccessPointsPreferenceControllerTest.java
@@ -16,34 +16,26 @@
 
 package com.android.settings.wifi.savedaccesspoints;
 
-import static com.android.settings.core.BasePreferenceController.AVAILABLE;
-
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.Mockito.doNothing;
 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 static org.robolectric.Shadows.shadowOf;
 
 import android.content.Context;
-import android.content.pm.FeatureInfo;
-import android.content.pm.PackageManager;
+import android.net.wifi.EAPConstants;
 import android.net.wifi.WifiConfiguration;
-
-import android.net.wifi.hotspot2.PasspointConfiguration;
-import android.net.wifi.hotspot2.pps.HomeSp;
-import android.net.wifi.WifiEnterpriseConfig;
 import android.net.wifi.WifiManager;
+import android.net.wifi.hotspot2.PasspointConfiguration;
+import android.net.wifi.hotspot2.pps.Credential;
+import android.net.wifi.hotspot2.pps.HomeSp;
+
 import androidx.preference.PreferenceCategory;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.core.FeatureFlags;
-import com.android.settings.development.featureflags.FeatureFlagPersistent;
 import com.android.settings.testutils.shadow.ShadowAccessPoint;
-import com.android.settings.testutils.shadow.ShadowThreadUtils;
 import com.android.settings.testutils.shadow.ShadowWifiManager;
 import com.android.settingslib.wifi.AccessPointPreference;
 
@@ -58,7 +50,7 @@
 import org.robolectric.annotation.Config;
 
 @RunWith(RobolectricTestRunner.class)
-@Config(shadows = {ShadowThreadUtils.class, ShadowWifiManager.class})
+@Config(shadows = {ShadowWifiManager.class})
 public class SubscribedAccessPointsPreferenceControllerTest {
 
     @Mock
@@ -83,54 +75,11 @@
         when(mPreferenceScreen.findPreference(mController.getPreferenceKey()))
                 .thenReturn(mPreferenceCategory);
         when(mPreferenceCategory.getContext()).thenReturn(mContext);
-
-        FeatureFlagPersistent.setEnabled(mContext, FeatureFlags.NETWORK_INTERNET_V2, true);
-    }
-
-    @Test
-    public void getAvailability_alwaysAvailable() {
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
-    }
-
-    @Test
-    public void onStart_shouldRefreshApList() {
-        doNothing().when(mController).refreshSubscribedAccessPoints();
-
-        mController.onStart();
-
-        verify(mController).refreshSubscribedAccessPoints();
-    }
-
-    @Test
-    public void postRefresh_shouldRefreshApList() {
-        doNothing().when(mController).refreshSubscribedAccessPoints();
-
-        mController.postRefreshSubscribedAccessPoints();
-
-        verify(mController).refreshSubscribedAccessPoints();
-    }
-
-    @Test
-    public void forget_onSuccess_shouldRefreshApList() {
-        doNothing().when(mController).refreshSubscribedAccessPoints();
-
-        mController.onSuccess();
-
-        verify(mController).refreshSubscribedAccessPoints();
-    }
-
-    @Test
-    public void forget_onFailure_shouldRefreshApList() {
-        doNothing().when(mController).refreshSubscribedAccessPoints();
-
-        mController.onFailure(0 /* reason */);
-
-        verify(mController).refreshSubscribedAccessPoints();
     }
 
     @Test
     @Config(shadows = ShadowAccessPoint.class)
-    public void refreshSubscribedAccessPoints_shouldNotListNonSubscribedAPs() {
+    public void displayPreference_oneAccessPoint_shouldNotListNonSubscribedAPs() {
         final WifiConfiguration config = new WifiConfiguration();
         config.SSID = "SSID";
         config.BSSID = "BSSID";
@@ -138,18 +87,16 @@
         mWifiManager.addNetwork(config);
 
         mController.displayPreference(mPreferenceScreen);
-        mController.refreshSubscribedAccessPoints();
 
         verify(mPreferenceCategory, never()).addPreference(any(AccessPointPreference.class));
     }
 
     @Test
     @Config(shadows = ShadowAccessPoint.class)
-    public void refreshSubscribedAccessPoints_shouldListSubscribedAPs() {
+    public void displayPreference_onePasspoint_shouldListSubscribedAPs() {
         mWifiManager.addOrUpdatePasspointConfiguration(createMockPasspointConfiguration());
 
         mController.displayPreference(mPreferenceScreen);
-        mController.refreshSubscribedAccessPoints();
 
         final ArgumentCaptor<AccessPointPreference> captor =
                 ArgumentCaptor.forClass(AccessPointPreference.class);
@@ -165,6 +112,13 @@
         homeSp.setFqdn("FQDN");
         homeSp.setFriendlyName("TESTPASSPOINT");
         config.setHomeSp(homeSp);
+        final Credential.SimCredential simCredential = new Credential.SimCredential();
+        final Credential credential = new Credential();
+        credential.setRealm("test.example.com");
+        simCredential.setImsi("12345*");
+        simCredential.setEapType(EAPConstants.EAP_SIM);
+        credential.setSimCredential(simCredential);
+        config.setCredential(credential);
         return config;
     }
 }
diff --git a/tests/robotests/src/com/android/settings/wifi/savedaccesspoints2/SavedAccessPointsPreferenceController2Test.java b/tests/robotests/src/com/android/settings/wifi/savedaccesspoints2/SavedAccessPointsPreferenceController2Test.java
new file mode 100644
index 0000000..f50021b
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/wifi/savedaccesspoints2/SavedAccessPointsPreferenceController2Test.java
@@ -0,0 +1,106 @@
+/*
+ * 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.savedaccesspoints2;
+
+import static com.android.settings.core.BasePreferenceController.AVAILABLE;
+import static com.android.settings.core.BasePreferenceController.CONDITIONALLY_UNAVAILABLE;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+
+import androidx.preference.PreferenceCategory;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settingslib.wifi.WifiEntryPreference;
+import com.android.wifitrackerlib.WifiEntry;
+
+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;
+import org.robolectric.RuntimeEnvironment;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+@RunWith(RobolectricTestRunner.class)
+public class SavedAccessPointsPreferenceController2Test {
+
+    @Mock
+    private PreferenceScreen mPreferenceScreen;
+    @Mock
+    private PreferenceCategory mPreferenceCategory;
+
+    private Context mContext;
+    private SavedAccessPointsWifiSettings2 mSettings;
+    private SavedAccessPointsPreferenceController2 mController;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mContext = RuntimeEnvironment.application;
+        mSettings = spy(new SavedAccessPointsWifiSettings2());
+        mController = spy(new SavedAccessPointsPreferenceController2(mContext, "test_key"));
+        mController.setHost(mSettings);
+
+        when(mPreferenceScreen.findPreference(mController.getPreferenceKey()))
+                .thenReturn(mPreferenceCategory);
+        when(mPreferenceCategory.getContext()).thenReturn(mContext);
+    }
+
+    @Test
+    public void getAvailability_noSavedAccessPoint_shouldNotAvailable() {
+        mController.mWifiEntries = new ArrayList<>();
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
+    }
+
+    @Test
+    public void getAvailability_oneSavedAccessPoint_shouldAvailable() {
+        final WifiEntry mockWifiEntry = mock(WifiEntry.class);
+        mController.mWifiEntries = Arrays.asList(mockWifiEntry);
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
+    }
+
+    @Test
+    public void displayPreference_oneAccessPoint_shouldListIt() {
+        final String title = "ssid_title";
+        final WifiEntry mockWifiEntry = mock(WifiEntry.class);
+        when(mockWifiEntry.getTitle()).thenReturn(title);
+        final ArgumentCaptor<WifiEntryPreference> captor =
+                ArgumentCaptor.forClass(WifiEntryPreference.class);
+
+        mController.displayPreference(mPreferenceScreen, Arrays.asList(mockWifiEntry));
+
+        verify(mPreferenceCategory).addPreference(captor.capture());
+
+        final List<WifiEntryPreference> prefs = captor.getAllValues();
+        assertThat(prefs.size()).isEqualTo(1);
+        assertThat(prefs.get(0).getTitle()).isEqualTo(title);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/wifi/savedaccesspoints2/SavedAccessPointsWifiSettings2Test.java b/tests/robotests/src/com/android/settings/wifi/savedaccesspoints2/SavedAccessPointsWifiSettings2Test.java
new file mode 100644
index 0000000..ab1b51c
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/wifi/savedaccesspoints2/SavedAccessPointsWifiSettings2Test.java
@@ -0,0 +1,69 @@
+/*
+ * 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.savedaccesspoints2;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.spy;
+
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
+import com.android.settings.R;
+import com.android.settingslib.core.AbstractPreferenceController;
+
+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;
+
+@RunWith(RobolectricTestRunner.class)
+public class SavedAccessPointsWifiSettings2Test {
+
+    @Mock
+    private SubscribedAccessPointsPreferenceController2 mSubscribedApController;
+    @Mock
+    private SavedAccessPointsPreferenceController2 mSavedApController;
+
+    private TestFragment mSettings;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mSettings = spy(new TestFragment());
+
+        doReturn(mSubscribedApController).when(mSettings)
+                .use(SubscribedAccessPointsPreferenceController2.class);
+        doReturn(mSavedApController).when(mSettings)
+                .use(SavedAccessPointsPreferenceController2.class);
+    }
+
+    @Test
+    public void verifyConstants() {
+        assertThat(mSettings.getMetricsCategory()).isEqualTo(MetricsEvent.WIFI_SAVED_ACCESS_POINTS);
+        assertThat(mSettings.getPreferenceScreenResId())
+                .isEqualTo(R.xml.wifi_display_saved_access_points2);
+    }
+
+    public static class TestFragment extends SavedAccessPointsWifiSettings2 {
+
+        public <T extends AbstractPreferenceController> T use(Class<T> clazz) {
+            return super.use(clazz);
+        }
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/wifi/slice/ConnectToWifiHandlerTest.java b/tests/robotests/src/com/android/settings/wifi/slice/ConnectToWifiHandlerTest.java
index 1eb7818..ac1384f 100644
--- a/tests/robotests/src/com/android/settings/wifi/slice/ConnectToWifiHandlerTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/slice/ConnectToWifiHandlerTest.java
@@ -20,6 +20,8 @@
 
 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.verify;
 import static org.mockito.Mockito.when;
 
@@ -57,7 +59,7 @@
 
         mContext = RuntimeEnvironment.application;
         mHandler = new ConnectToWifiHandler();
-        mWifiConfig = new WifiConfiguration();
+        mWifiConfig = spy(new WifiConfiguration());
         mWifiConfig.SSID = AP_SSID;
         doReturn(mWifiConfig).when(mAccessPoint).getConfig();
     }
@@ -97,9 +99,9 @@
     public void connect_shouldConnectToSavedSecuredNetwork() {
         when(mAccessPoint.isSaved()).thenReturn(true);
         when(mAccessPoint.getSecurity()).thenReturn(AccessPoint.SECURITY_PSK);
-        final NetworkSelectionStatus status = new NetworkSelectionStatus();
-        status.setHasEverConnected(true);
-        mWifiConfig.setNetworkSelectionStatus(status);
+        final NetworkSelectionStatus status = mock(NetworkSelectionStatus.class);
+        when(status.hasEverConnected()).thenReturn(true);
+        when(mWifiConfig.getNetworkSelectionStatus()).thenReturn(status);
 
         mHandler.connect(mContext, mAccessPoint);
 
diff --git a/tests/robotests/src/com/android/settings/wifi/slice/ContextualWifiSliceTest.java b/tests/robotests/src/com/android/settings/wifi/slice/ContextualWifiSliceTest.java
index d39228b..54b7c2d 100644
--- a/tests/robotests/src/com/android/settings/wifi/slice/ContextualWifiSliceTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/slice/ContextualWifiSliceTest.java
@@ -16,6 +16,9 @@
 
 package com.android.settings.wifi.slice;
 
+import static com.android.settings.wifi.slice.ContextualWifiSlice.COLLAPSED_ROW_COUNT;
+import static com.android.settings.wifi.slice.WifiSlice.DEFAULT_EXPANDED_ROW_COUNT;
+
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.Mockito.doReturn;
@@ -75,75 +78,57 @@
         mWifiManager.setWifiEnabled(true);
 
         mWifiSlice = new ContextualWifiSlice(mContext);
-        mWifiSlice.sPreviouslyDisplayed = false;
     }
 
     @Test
-    public void getWifiSlice_hasActiveConnection_shouldReturnNull() {
-        mWifiSlice.sPreviouslyDisplayed = false;
-        connectToWifi(makeValidatedNetworkCapabilities());
-
-        final Slice wifiSlice = mWifiSlice.getSlice();
-
-        assertThat(wifiSlice).isNull();
-    }
-
-    @Test
-    public void getWifiSlice_newSession_hasActiveConnection_shouldReturnNull() {
-        // Session: use a non-active value
-        // previous displayed: yes
-        mWifiSlice.sPreviouslyDisplayed = true;
+    public void getWifiSlice_newSession_hasActiveConnection_shouldCollapseSlice() {
         mWifiSlice.sActiveUiSession = ~mFeatureFactory.slicesFeatureProvider.getUiSessionToken();
         connectToWifi(makeValidatedNetworkCapabilities());
 
         final Slice wifiSlice = mWifiSlice.getSlice();
 
-        assertThat(wifiSlice).isNull();
+        assertWifiHeader(wifiSlice);
+        assertThat(ContextualWifiSlice.getApRowCount()).isEqualTo(COLLAPSED_ROW_COUNT);
     }
 
     @Test
-    public void getWifiSlice_previousDisplayed_hasActiveConnection_shouldHaveTitleAndToggle() {
+    public void getWifiSlice_newSession_noConnection_shouldExpandSlice() {
+        mWifiSlice.sActiveUiSession = ~mFeatureFactory.slicesFeatureProvider.getUiSessionToken();
+
+        final Slice wifiSlice = mWifiSlice.getSlice();
+
+        assertWifiHeader(wifiSlice);
+        assertThat(ContextualWifiSlice.getApRowCount()).isEqualTo(DEFAULT_EXPANDED_ROW_COUNT);
+    }
+
+    @Test
+    public void getWifiSlice_previousExpanded_hasActiveConnection_shouldExpandSlice() {
         mWifiSlice.sActiveUiSession = mFeatureFactory.slicesFeatureProvider.getUiSessionToken();
-        mWifiSlice.sPreviouslyDisplayed = true;
+        mWifiSlice.sApRowCollapsed = false;
         connectToWifi(makeValidatedNetworkCapabilities());
 
         final Slice wifiSlice = mWifiSlice.getSlice();
 
-        final SliceMetadata metadata = SliceMetadata.from(mContext, wifiSlice);
-        assertThat(metadata.getTitle()).isEqualTo(mContext.getString(R.string.wifi_settings));
-
-        final List<SliceAction> toggles = metadata.getToggles();
-        assertThat(toggles).hasSize(1);
-
-        final SliceAction primaryAction = metadata.getPrimaryAction();
-        final IconCompat expectedToggleIcon = IconCompat.createWithResource(mContext,
-                R.drawable.ic_settings_wireless);
-        assertThat(primaryAction.getIcon().toString()).isEqualTo(expectedToggleIcon.toString());
+        assertWifiHeader(wifiSlice);
+        assertThat(ContextualWifiSlice.getApRowCount()).isEqualTo(DEFAULT_EXPANDED_ROW_COUNT);
     }
 
     @Test
-    public void getWifiSlice_isCaptivePortal_shouldHaveTitleAndToggle() {
-        mWifiSlice.sPreviouslyDisplayed = false;
-        connectToWifi(WifiSliceTest.makeCaptivePortalNetworkCapabilities());
+    public void getWifiSlice_previousCollapsed_connectionLoss_shouldCollapseSlice() {
+        mWifiSlice.sActiveUiSession = mFeatureFactory.slicesFeatureProvider.getUiSessionToken();
+        mWifiSlice.sApRowCollapsed = true;
+        connectToWifi(makeValidatedNetworkCapabilities());
 
+        mWifiManager.disconnect();
         final Slice wifiSlice = mWifiSlice.getSlice();
 
-        final SliceMetadata metadata = SliceMetadata.from(mContext, wifiSlice);
-        assertThat(metadata.getTitle()).isEqualTo(mContext.getString(R.string.wifi_settings));
-
-        final List<SliceAction> toggles = metadata.getToggles();
-        assertThat(toggles).hasSize(1);
-
-        final SliceAction primaryAction = metadata.getPrimaryAction();
-        final IconCompat expectedToggleIcon = IconCompat.createWithResource(mContext,
-                R.drawable.ic_settings_wireless);
-        assertThat(primaryAction.getIcon().toString()).isEqualTo(expectedToggleIcon.toString());
+        assertWifiHeader(wifiSlice);
+        assertThat(ContextualWifiSlice.getApRowCount()).isEqualTo(COLLAPSED_ROW_COUNT);
     }
 
     @Test
     public void getWifiSlice_contextualWifiSlice_shouldReturnContextualWifiSliceUri() {
         mWifiSlice.sActiveUiSession = mFeatureFactory.slicesFeatureProvider.getUiSessionToken();
-        mWifiSlice.sPreviouslyDisplayed = true;
 
         final Slice wifiSlice = mWifiSlice.getSlice();
 
@@ -165,4 +150,17 @@
         nc.addCapability(NetworkCapabilities.NET_CAPABILITY_VALIDATED);
         return nc;
     }
+
+    private void assertWifiHeader(Slice slice) {
+        final SliceMetadata metadata = SliceMetadata.from(mContext, slice);
+        assertThat(metadata.getTitle()).isEqualTo(mContext.getString(R.string.wifi_settings));
+
+        final SliceAction primaryAction = metadata.getPrimaryAction();
+        final IconCompat expectedToggleIcon = IconCompat.createWithResource(mContext,
+                R.drawable.ic_settings_wireless);
+        assertThat(primaryAction.getIcon().toString()).isEqualTo(expectedToggleIcon.toString());
+
+        final List<SliceAction> toggles = metadata.getToggles();
+        assertThat(toggles).hasSize(1);
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/wifi/slice/WifiScanWorkerTest.java b/tests/robotests/src/com/android/settings/wifi/slice/WifiScanWorkerTest.java
index 1c84eb6..d40331c 100644
--- a/tests/robotests/src/com/android/settings/wifi/slice/WifiScanWorkerTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/slice/WifiScanWorkerTest.java
@@ -28,6 +28,7 @@
 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.ContentResolver;
 import android.content.Context;
@@ -39,7 +40,6 @@
 import android.net.NetworkInfo.DetailedState;
 import android.net.wifi.WifiInfo;
 import android.net.wifi.WifiManager;
-import android.net.wifi.WifiSsid;
 import android.os.Bundle;
 import android.os.UserHandle;
 
@@ -47,10 +47,6 @@
 import com.android.settingslib.wifi.AccessPoint;
 import com.android.settingslib.wifi.WifiTracker;
 
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -62,6 +58,10 @@
 import org.robolectric.annotation.Implements;
 import org.robolectric.shadows.ShadowNetworkInfo;
 
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
 @RunWith(RobolectricTestRunner.class)
 @Config(shadows = {
         ShadowWifiManager.class,
@@ -205,8 +205,8 @@
     }
 
     static void setConnectionInfoSSID(String ssid) {
-        final WifiInfo wifiInfo = new WifiInfo();
-        wifiInfo.setSSID(WifiSsid.createFromAsciiEncoded(ssid));
+        final WifiInfo wifiInfo = mock(WifiInfo.class);
+        when(wifiInfo.getSSID()).thenReturn(ssid);
         ShadowWifiManager.get().setConnectionInfo(wifiInfo);
     }
 
diff --git a/tests/robotests/src/com/android/settings/wifi/slice/WifiSliceTest.java b/tests/robotests/src/com/android/settings/wifi/slice/WifiSliceTest.java
index 18ed006..ad74a32 100644
--- a/tests/robotests/src/com/android/settings/wifi/slice/WifiSliceTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/slice/WifiSliceTest.java
@@ -51,9 +51,6 @@
 import com.android.settings.testutils.SliceTester;
 import com.android.settingslib.wifi.AccessPoint;
 
-import java.util.ArrayList;
-import java.util.List;
-
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -63,12 +60,16 @@
 import org.robolectric.annotation.Implementation;
 import org.robolectric.annotation.Implements;
 
+import java.util.ArrayList;
+import java.util.List;
+
 @RunWith(RobolectricTestRunner.class)
 @Config(shadows = WifiSliceTest.ShadowSliceBackgroundWorker.class)
 public class WifiSliceTest {
 
     private static final String AP1_NAME = "ap1";
     private static final String AP2_NAME = "ap2";
+    private static final String AP3_NAME = "ap3";
 
     private Context mContext;
     private ContentResolver mResolver;
@@ -205,15 +206,15 @@
     }
 
     @Test
-    public void getWifiSlice_oneReachableAp_shouldNotReturnLoadingRow() {
+    public void getWifiSlice_oneReachableAp_shouldReturnLoadingRow() {
         setWorkerResults(createAccessPoint(AP1_NAME, false, true));
 
         final Slice wifiSlice = mWifiSlice.getSlice();
         final List<SliceItem> sliceItems = wifiSlice.getItems();
 
         SliceTester.assertAnySliceItemContainsTitle(sliceItems, AP1_NAME);
-        // No scanning text
-        SliceTester.assertNoSliceItemContainsSubtitle(sliceItems,
+        // Has scanning text
+        SliceTester.assertAnySliceItemContainsSubtitle(sliceItems,
                 mContext.getString(R.string.wifi_empty_list_wifi_on));
     }
 
@@ -221,13 +222,15 @@
     public void getWifiSlice_allReachableAps_shouldNotReturnLoadingRow() {
         setWorkerResults(
                 createAccessPoint(AP1_NAME, false, true),
-                createAccessPoint(AP2_NAME, false, true));
+                createAccessPoint(AP2_NAME, false, true),
+                createAccessPoint(AP3_NAME, false, true));
 
         final Slice wifiSlice = mWifiSlice.getSlice();
         final List<SliceItem> sliceItems = wifiSlice.getItems();
 
         SliceTester.assertAnySliceItemContainsTitle(sliceItems, AP1_NAME);
         SliceTester.assertAnySliceItemContainsTitle(sliceItems, AP2_NAME);
+        SliceTester.assertAnySliceItemContainsTitle(sliceItems, AP3_NAME);
         // No scanning text
         SliceTester.assertNoSliceItemContainsSubtitle(sliceItems,
                 mContext.getString(R.string.wifi_empty_list_wifi_on));
diff --git a/tests/robotests/src/com/android/settings/wifi/tether/TetherServiceTest.java b/tests/robotests/src/com/android/settings/wifi/tether/TetherServiceTest.java
index f6fd660..1bdfed0 100644
--- a/tests/robotests/src/com/android/settings/wifi/tether/TetherServiceTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/tether/TetherServiceTest.java
@@ -30,6 +30,7 @@
 import android.net.wifi.WifiManager;
 
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -61,6 +62,7 @@
     }
 
     @Test
+    @Ignore
     public void scheduleAlarm_shouldRegisterReceiver() {
         mService.setHotspotOffReceiver(new HotspotOffReceiver(mAppContext));
 
@@ -78,6 +80,7 @@
     }
 
     @Test
+    @Ignore
     public void cancelAlarmIfNecessary_hasActiveTethers_shouldNotUnregisterReceiver() {
         mService.scheduleAlarm();
         final ArrayList<Integer> tethers = new ArrayList<>();
@@ -89,6 +92,7 @@
     }
 
     @Test
+    @Ignore
     public void cancelAlarmIfNecessary_noActiveTethers_shouldUnregisterReceiver() {
         final ArrayList<Integer> tethers = new ArrayList<>();
         ReflectionHelpers.setField(mService, "mCurrentTethers", tethers);
diff --git a/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherApBandPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherApBandPreferenceControllerTest.java
index 6bc2869..e639b67 100644
--- a/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherApBandPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherApBandPreferenceControllerTest.java
@@ -26,7 +26,7 @@
 
 import android.content.Context;
 import android.net.ConnectivityManager;
-import android.net.wifi.WifiConfiguration;
+import android.net.wifi.SoftApConfiguration;
 import android.net.wifi.WifiManager;
 
 import androidx.preference.ListPreference;
@@ -48,6 +48,13 @@
     private static final String ALL_BANDS = "5.0 GHz Band preferred";
     private static final String TWO_GHZ_STRING = "2.4 GHz Band";
     private static final String FIVE_GHZ_STRING = "5.0 GHz Band";
+    private static final String VAL_2GHZ_STR  = "1";
+    private static final String VAL_5GHZ_STR = "2";
+    private static final String VAL_2_5_GHZ_STR = "3";
+    private static final int VAL_2GHZ_INT = 1;
+    private static final int VAL_5GHZ_INT = 2;
+    private static final int VAL_2_5_GHZ_INT = 3;
+
     private Context mContext;
     @Mock
     private ConnectivityManager mConnectivityManager;
@@ -72,10 +79,8 @@
         when(mConnectivityManager.getTetherableWifiRegexs()).thenReturn(new String[]{"1", "2"});
         when(mContext.getResources()).thenReturn(RuntimeEnvironment.application.getResources());
         when(mScreen.findPreference(anyString())).thenReturn(mPreference);
-        WifiConfiguration config = new WifiConfiguration();
-        config.apBand = WifiConfiguration.AP_BAND_ANY;
-        when(mWifiManager.getWifiApConfiguration()).thenReturn(new WifiConfiguration());
-        when(mWifiManager.isDualModeSupported()).thenReturn(false);
+        when(mWifiManager.getSoftApConfiguration()).thenReturn(
+                new SoftApConfiguration.Builder().build());
 
         mController = new WifiTetherApBandPreferenceController(mContext, mListener);
     }
@@ -83,11 +88,13 @@
     @Test
     public void display_5GhzSupported_shouldDisplayFullList() {
         when(mWifiManager.getCountryCode()).thenReturn("US");
-        when(mWifiManager.isDualBandSupported()).thenReturn(true);
-        when(mWifiManager.isDualModeSupported()).thenReturn(true);
+        when(mWifiManager.is5GHzBandSupported()).thenReturn(true);
+
+        // Create a new instance
+        mController = new WifiTetherApBandPreferenceController(mContext, mListener);
 
         mController.displayPreference(mScreen);
-        mController.onPreferenceChange(mPreference, "-1");
+        mController.onPreferenceChange(mPreference, VAL_2_5_GHZ_STR);
 
         assertThat(mPreference.getSummary()).isEqualTo(ALL_BANDS);
     }
@@ -95,7 +102,7 @@
     @Test
     public void display_noCountryCode_shouldDisable() {
         when(mWifiManager.getCountryCode()).thenReturn(null);
-        when(mWifiManager.isDualBandSupported()).thenReturn(true);
+        when(mWifiManager.is5GHzBandSupported()).thenReturn(true);
 
         mController.displayPreference(mScreen);
 
@@ -107,7 +114,7 @@
     @Test
     public void display_5GhzNotSupported_shouldDisable() {
         when(mWifiManager.getCountryCode()).thenReturn("US");
-        when(mWifiManager.isDualBandSupported()).thenReturn(false);
+        when(mWifiManager.is5GHzBandSupported()).thenReturn(false);
 
         mController.displayPreference(mScreen);
 
@@ -117,74 +124,49 @@
     }
 
     @Test
-    public void changePreference_noDualModeWith5G_shouldUpdateValue() {
+    public void changePreference_With5G_shouldUpdateValue() {
         when(mWifiManager.getCountryCode()).thenReturn("US");
-        when(mWifiManager.isDualBandSupported()).thenReturn(true);
+        when(mWifiManager.is5GHzBandSupported()).thenReturn(true);
+
+        // Create a new instance to pick the proper value of isDualModeSupported()
+        mController = new WifiTetherApBandPreferenceController(mContext, mListener);
 
         mController.displayPreference(mScreen);
 
-        // -1 is WifiConfiguration.AP_BAND_ANY, for 'Auto' option. This should be prevented from
-        // being set since it is invalid for this configuration
-        mController.onPreferenceChange(mPreference, "-1");
-        assertThat(mController.getBandIndex()).isEqualTo(1);
-        assertThat(mPreference.getSummary()).isEqualTo(FIVE_GHZ_STRING);
-        verify(mListener, times(1)).onTetherConfigUpdated();
-
-        // set to 5 Ghz
-        mController.onPreferenceChange(mPreference, "1");
-        assertThat(mController.getBandIndex()).isEqualTo(1);
-        assertThat(mPreference.getSummary()).isEqualTo(FIVE_GHZ_STRING);
-        verify(mListener, times(2)).onTetherConfigUpdated();
-
-        // set to 2 Ghz
-        mController.onPreferenceChange(mPreference, "0");
-        assertThat(mController.getBandIndex()).isEqualTo(0);
-        assertThat(mPreference.getSummary()).isEqualTo(TWO_GHZ_STRING);
-        verify(mListener, times(3)).onTetherConfigUpdated();
-    }
-
-    @Test
-    public void changePreference_dualModeWith5G_shouldUpdateValue() {
-        when(mWifiManager.getCountryCode()).thenReturn("US");
-        when(mWifiManager.isDualBandSupported()).thenReturn(true);
-        when(mWifiManager.isDualModeSupported()).thenReturn(true);
-
-        mController.displayPreference(mScreen);
-
-        // -1 is WifiConfiguration.AP_BAND_ANY, for 'Auto' option.
-        mController.onPreferenceChange(mPreference, "-1");
-        assertThat(mController.getBandIndex()).isEqualTo(-1);
+        // 'Auto' option
+        mController.onPreferenceChange(mPreference, VAL_2_5_GHZ_STR);
+        assertThat(mController.getBandIndex()).isEqualTo(VAL_2_5_GHZ_INT);
         assertThat(mPreference.getSummary()).isEqualTo(ALL_BANDS);
-        verify(mListener, times(1)).onTetherConfigUpdated();
+        verify(mListener, times(1)).onTetherConfigUpdated(mController);
 
         // should revert to the default for 5 Ghz only since this is not supported with this config
-        mController.onPreferenceChange(mPreference, "1");
-        assertThat(mController.getBandIndex()).isEqualTo(-1);
+        mController.onPreferenceChange(mPreference, VAL_5GHZ_STR);
+        assertThat(mController.getBandIndex()).isEqualTo(VAL_2_5_GHZ_INT);
         assertThat(mPreference.getSummary()).isEqualTo(ALL_BANDS);
-        verify(mListener, times(2)).onTetherConfigUpdated();
+        verify(mListener, times(2)).onTetherConfigUpdated(mController);
 
         // set to 2 Ghz
-        mController.onPreferenceChange(mPreference, "0");
-        assertThat(mController.getBandIndex()).isEqualTo(0);
+        mController.onPreferenceChange(mPreference, VAL_2GHZ_STR);
+        assertThat(mController.getBandIndex()).isEqualTo(VAL_2GHZ_INT);
         assertThat(mPreference.getSummary()).isEqualTo(TWO_GHZ_STRING);
-        verify(mListener, times(3)).onTetherConfigUpdated();
+        verify(mListener, times(3)).onTetherConfigUpdated(mController);
     }
 
     @Test
     public void updateDisplay_shouldUpdateValue() {
         when(mWifiManager.getCountryCode()).thenReturn("US");
-        when(mWifiManager.isDualBandSupported()).thenReturn(true);
+        when(mWifiManager.is5GHzBandSupported()).thenReturn(true);
 
-        // Set controller band index to 1 and verify is set.
+        // Set controller band index to 5GHz and verify is set.
         mController.displayPreference(mScreen);
-        mController.onPreferenceChange(mPreference, "1");
-        assertThat(mController.getBandIndex()).isEqualTo(1);
+        mController.onPreferenceChange(mPreference, VAL_5GHZ_STR);
+        assertThat(mController.getBandIndex()).isEqualTo(VAL_2_5_GHZ_INT);
 
         // Disable 5Ghz band
-        when(mWifiManager.isDualBandSupported()).thenReturn(false);
+        when(mWifiManager.is5GHzBandSupported()).thenReturn(false);
 
         // Call updateDisplay and verify it's changed.
         mController.updateDisplay();
-        assertThat(mController.getBandIndex()).isEqualTo(0);
+        assertThat(mController.getBandIndex()).isEqualTo(VAL_2GHZ_INT);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherAutoOffPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherAutoOffPreferenceControllerTest.java
index f027147..fbc4aaa 100644
--- a/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherAutoOffPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherAutoOffPreferenceControllerTest.java
@@ -18,14 +18,21 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
 import android.content.Context;
-import android.provider.Settings;
+import android.net.wifi.SoftApConfiguration;
+import android.net.wifi.WifiManager;
 
 import androidx.preference.SwitchPreference;
 
 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;
 import org.robolectric.RuntimeEnvironment;
@@ -34,17 +41,23 @@
 public class WifiTetherAutoOffPreferenceControllerTest {
 
     private static final String KEY_PREF = "wifi_tether_auto_off";
-    private static final int ON = 1;
-    private static final int OFF = 0;
     private Context mContext;
     private WifiTetherAutoOffPreferenceController mController;
     private SwitchPreference mSwitchPreference;
+    @Mock
+    private WifiManager mWifiManager;
+    private SoftApConfiguration mSoftApConfiguration;
 
     @Before
     public void setup() {
         MockitoAnnotations.initMocks(this);
 
-        mContext = RuntimeEnvironment.application;
+        mContext = spy(RuntimeEnvironment.application);
+
+        when(mContext.getSystemService(WifiManager.class)).thenReturn(mWifiManager);
+        mSoftApConfiguration = new SoftApConfiguration.Builder().build();
+        when(mWifiManager.getSoftApConfiguration()).thenReturn(mSoftApConfiguration);
+
         mController = new WifiTetherAutoOffPreferenceController(mContext, KEY_PREF);
         mSwitchPreference = new SwitchPreference(mContext);
     }
@@ -53,19 +66,19 @@
     public void testOnPreferenceChange_toggleOn_settingsOn() {
         mController.onPreferenceChange(null, true);
 
-        assertThat(getAutoOffSetting()).isEqualTo(ON);
+        assertThat(getAutoOffSetting()).isEqualTo(true);
     }
 
     @Test
     public void testOnPreferenceChange_toggleOff_settingsOff() {
         mController.onPreferenceChange(null, false);
 
-        assertThat(getAutoOffSetting()).isEqualTo(OFF);
+        assertThat(getAutoOffSetting()).isEqualTo(false);
     }
 
     @Test
     public void testUpdateState_settingsOn_toggleOn() {
-        setAutoOffSetting(ON);
+        setAutoOffSetting(true);
 
         mController.updateState(mSwitchPreference);
 
@@ -74,7 +87,7 @@
 
     @Test
     public void testUpdateState_settingsOff_toggleOff() {
-        setAutoOffSetting(OFF);
+        setAutoOffSetting(false);
 
         mController.updateState(mSwitchPreference);
 
@@ -88,13 +101,18 @@
         assertThat(mSwitchPreference.isChecked()).isTrue();
     }
 
-    private int getAutoOffSetting() {
-        return Settings.Global.getInt(mContext.getContentResolver(),
-                Settings.Global.SOFT_AP_TIMEOUT_ENABLED, OFF);
+    private boolean getAutoOffSetting() {
+        ArgumentCaptor<SoftApConfiguration> softApConfigCaptor =
+                ArgumentCaptor.forClass(SoftApConfiguration.class);
+        verify(mWifiManager).setSoftApConfiguration(softApConfigCaptor.capture());
+        return softApConfigCaptor.getValue().isAutoShutdownEnabled();
     }
 
-    private void setAutoOffSetting(int config) {
-        Settings.Global.putInt(mContext.getContentResolver(),
-                Settings.Global.SOFT_AP_TIMEOUT_ENABLED, config);
+    private void setAutoOffSetting(boolean config) {
+        mSoftApConfiguration =
+                new SoftApConfiguration.Builder(mSoftApConfiguration)
+                        .setAutoShutdownEnabled(config)
+                        .build();
+        when(mWifiManager.getSoftApConfiguration()).thenReturn(mSoftApConfiguration);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherFooterPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherFooterPreferenceControllerTest.java
new file mode 100644
index 0000000..b0ed862
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherFooterPreferenceControllerTest.java
@@ -0,0 +1,87 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.wifi.tether;
+
+import static org.mockito.ArgumentMatchers.anyString;;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.net.ConnectivityManager;
+import android.net.wifi.WifiManager;
+
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settingslib.widget.FooterPreference;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Answers;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+
+@RunWith(RobolectricTestRunner.class)
+public class WifiTetherFooterPreferenceControllerTest {
+    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
+    private Context mContext;
+    @Mock
+    private ConnectivityManager mConnectivityManager;
+    @Mock
+    private WifiManager mWifiManager;
+    @Mock
+    private PreferenceScreen mScreen;
+    @Mock
+    private FooterPreference mPreference;
+
+    private WifiTetherFooterPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+
+        when(mContext.getSystemService(Context.WIFI_SERVICE)).thenReturn(mWifiManager);
+        when(mContext.getSystemService(Context.CONNECTIVITY_SERVICE))
+                .thenReturn(mConnectivityManager);
+        when(mConnectivityManager.getTetherableWifiRegexs()).thenReturn(new String[]{"1", "2"});
+        mController = new WifiTetherFooterPreferenceController(mContext);
+        when(mScreen.findPreference(anyString())).thenReturn(mPreference);
+    }
+
+    @Test
+    public void displayPreference_supportStaAp_showConcurrentInfo() {
+        when(mWifiManager.isStaApConcurrencySupported()).thenReturn(true);
+
+        mController.displayPreference(mScreen);
+
+        verify(mPreference, never()).setTitle(R.string.tethering_footer_info);
+        verify(mPreference).setTitle(R.string.tethering_footer_info_sta_ap_concurrency);
+    }
+
+    @Test
+    public void displayPreference_notSupportStaAp_showNotConcurrentInfo() {
+        when(mWifiManager.isStaApConcurrencySupported()).thenReturn(false);
+
+        mController.displayPreference(mScreen);
+
+        verify(mPreference).setTitle(R.string.tethering_footer_info);
+        verify(mPreference, never()).setTitle(R.string.tethering_footer_info_sta_ap_concurrency);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherPasswordPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherPasswordPreferenceControllerTest.java
index 62fb277..7835f7e 100644
--- a/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherPasswordPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherPasswordPreferenceControllerTest.java
@@ -19,18 +19,21 @@
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
+import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.net.ConnectivityManager;
-import android.net.wifi.WifiConfiguration;
+import android.net.wifi.SoftApConfiguration;
 import android.net.wifi.WifiManager;
 
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.widget.ValidatedEditTextPreference;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -46,6 +49,7 @@
 
     private static final String VALID_PASS = "12345678";
     private static final String VALID_PASS2 = "23456789";
+    private static final String INITIAL_PASSWORD = "test_password";
     @Mock(answer = Answers.RETURNS_DEEP_STUBS)
     private Context mContext;
     @Mock
@@ -56,50 +60,69 @@
     private WifiTetherBasePreferenceController.OnTetherConfigUpdateListener mListener;
     @Mock
     private PreferenceScreen mScreen;
+    @Mock
+    private MetricsFeatureProvider mMetricsFeatureProvider;
 
     private WifiTetherPasswordPreferenceController mController;
     private ValidatedEditTextPreference mPreference;
-    private WifiConfiguration mConfig;
+    private SoftApConfiguration mConfig;
 
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
         mPreference = new ValidatedEditTextPreference(RuntimeEnvironment.application);
-        mConfig = new WifiConfiguration();
-        mConfig.SSID = "test_1234";
-        mConfig.preSharedKey = "test_password";
+        mConfig = new SoftApConfiguration.Builder().setSsid("test_1234")
+                .setPassphrase(INITIAL_PASSWORD, SoftApConfiguration.SECURITY_TYPE_WPA2_PSK)
+                .build();
 
         when(mContext.getSystemService(Context.WIFI_SERVICE)).thenReturn(mWifiManager);
-        when(mWifiManager.getWifiApConfiguration()).thenReturn(mConfig);
+        when(mWifiManager.getSoftApConfiguration()).thenReturn(mConfig);
         when(mContext.getSystemService(Context.CONNECTIVITY_SERVICE))
                 .thenReturn(mConnectivityManager);
         when(mConnectivityManager.getTetherableWifiRegexs()).thenReturn(new String[]{"1", "2"});
         when(mContext.getResources()).thenReturn(RuntimeEnvironment.application.getResources());
         when(mScreen.findPreference(anyString())).thenReturn(mPreference);
 
-        mController = new WifiTetherPasswordPreferenceController(mContext, mListener);
+        mController = new WifiTetherPasswordPreferenceController(mContext, mListener,
+                mMetricsFeatureProvider);
     }
 
     @Test
     public void displayPreference_shouldStylePreference() {
         mController.displayPreference(mScreen);
 
-        assertThat(mPreference.getText()).isEqualTo(mConfig.preSharedKey);
-        assertThat(mPreference.getSummary()).isEqualTo(mConfig.preSharedKey);
+        assertThat(mPreference.getText()).isEqualTo(mConfig.getPassphrase());
+        assertThat(mPreference.getSummary()).isEqualTo(mConfig.getPassphrase());
     }
 
     @Test
     public void changePreference_shouldUpdateValue() {
         mController.displayPreference(mScreen);
         mController.onPreferenceChange(mPreference, VALID_PASS);
-        assertThat(mController.getPasswordValidated(WifiConfiguration.KeyMgmt.WPA2_PSK))
+        assertThat(mController.getPasswordValidated(SoftApConfiguration.SECURITY_TYPE_WPA2_PSK))
                 .isEqualTo(VALID_PASS);
 
         mController.onPreferenceChange(mPreference, VALID_PASS2);
-        assertThat(mController.getPasswordValidated(WifiConfiguration.KeyMgmt.WPA2_PSK))
+        assertThat(mController.getPasswordValidated(SoftApConfiguration.SECURITY_TYPE_WPA2_PSK))
                 .isEqualTo(VALID_PASS2);
 
-        verify(mListener, times(2)).onTetherConfigUpdated();
+        verify(mListener, times(2)).onTetherConfigUpdated(mController);
+    }
+
+    @Test
+    public void changePreference_shouldLogActionWhenChanged() {
+        mController.displayPreference(mScreen);
+        mController.onPreferenceChange(mPreference, VALID_PASS);
+        verify(mMetricsFeatureProvider).action(mContext,
+                SettingsEnums.ACTION_SETTINGS_CHANGE_WIFI_HOTSPOT_PASSWORD);
+    }
+
+    @Test
+    public void changePreference_shouldNotLogActionWhenNotChanged() {
+        mController.displayPreference(mScreen);
+        mController.onPreferenceChange(mPreference, INITIAL_PASSWORD);
+        verify(mMetricsFeatureProvider, never()).action(mContext,
+                SettingsEnums.ACTION_SETTINGS_CHANGE_WIFI_HOTSPOT_PASSWORD);
     }
 
     @Test
@@ -107,19 +130,19 @@
         // Set controller password to anything and verify is set.
         mController.displayPreference(mScreen);
         mController.onPreferenceChange(mPreference, VALID_PASS);
-        assertThat(mController.getPasswordValidated(WifiConfiguration.KeyMgmt.WPA2_PSK))
+        assertThat(mController.getPasswordValidated(SoftApConfiguration.SECURITY_TYPE_WPA2_PSK))
                 .isEqualTo(VALID_PASS);
 
         // Create a new config using different password
-        final WifiConfiguration config = new WifiConfiguration();
-        config.preSharedKey = VALID_PASS2;
-        when(mWifiManager.getWifiApConfiguration()).thenReturn(config);
+        final SoftApConfiguration config = new SoftApConfiguration.Builder()
+                .setPassphrase(VALID_PASS2, SoftApConfiguration.SECURITY_TYPE_WPA2_PSK).build();
+        when(mWifiManager.getSoftApConfiguration()).thenReturn(config);
 
         // Call updateDisplay and verify it's changed.
         mController.updateDisplay();
-        assertThat(mController.getPasswordValidated(WifiConfiguration.KeyMgmt.WPA2_PSK))
-                .isEqualTo(config.preSharedKey);
-        assertThat(mPreference.getSummary()).isEqualTo(config.preSharedKey);
+        assertThat(mController.getPasswordValidated(SoftApConfiguration.SECURITY_TYPE_WPA2_PSK))
+                .isEqualTo(config.getPassphrase());
+        assertThat(mPreference.getSummary()).isEqualTo(config.getPassphrase());
     }
 
     @Test
@@ -127,13 +150,13 @@
         // Set controller password to anything and verify is set.
         mController.displayPreference(mScreen);
         mController.onPreferenceChange(mPreference, VALID_PASS);
-        assertThat(mController.getPasswordValidated(WifiConfiguration.KeyMgmt.WPA2_PSK))
+        assertThat(mController.getPasswordValidated(SoftApConfiguration.SECURITY_TYPE_WPA2_PSK))
                 .isEqualTo(VALID_PASS);
 
         // Create a new config using different password
-        final WifiConfiguration config = new WifiConfiguration();
-        config.preSharedKey = VALID_PASS2;
-        when(mWifiManager.getWifiApConfiguration()).thenReturn(config);
+        final SoftApConfiguration config = new SoftApConfiguration.Builder()
+                .setPassphrase(VALID_PASS2, SoftApConfiguration.SECURITY_TYPE_WPA2_PSK).build();
+        when(mWifiManager.getSoftApConfiguration()).thenReturn(config);
 
         // Call updateDisplay and verify it's changed.
         mController.updateDisplay();
diff --git a/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherPreferenceControllerTest.java
index 06716db..b62f1ba 100644
--- a/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherPreferenceControllerTest.java
@@ -19,18 +19,13 @@
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.ArgumentMatchers.anyString;
-import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.when;
 
-import android.content.BroadcastReceiver;
-import android.content.ContentResolver;
 import android.content.Context;
-import android.content.Intent;
 import android.net.ConnectivityManager;
-import android.net.wifi.WifiConfiguration;
+import android.net.wifi.SoftApConfiguration;
 import android.net.wifi.WifiManager;
-import android.provider.Settings;
 
 import androidx.lifecycle.LifecycleOwner;
 import androidx.preference.PreferenceScreen;
@@ -49,7 +44,6 @@
 import org.robolectric.annotation.Config;
 import org.robolectric.annotation.Implementation;
 import org.robolectric.annotation.Implements;
-import org.robolectric.util.ReflectionHelpers;
 
 @RunWith(RobolectricTestRunner.class)
 @Config(shadows = {
@@ -67,8 +61,7 @@
     private WifiManager mWifiManager;
     @Mock
     private PreferenceScreen mScreen;
-    @Mock
-    private WifiConfiguration mWifiConfiguration;
+    private SoftApConfiguration mSoftApConfiguration;
 
     private WifiTetherPreferenceController mController;
     private Lifecycle mLifecycle;
@@ -88,8 +81,8 @@
                 .thenReturn(mConnectivityManager);
         when(mContext.getSystemService(Context.WIFI_SERVICE)).thenReturn(mWifiManager);
         when(mScreen.findPreference(anyString())).thenReturn(mPreference);
-        when(mWifiManager.getWifiApConfiguration()).thenReturn(mWifiConfiguration);
-        mWifiConfiguration.SSID = SSID;
+        mSoftApConfiguration = new SoftApConfiguration.Builder().setSsid(SSID).build();
+        when(mWifiManager.getSoftApConfiguration()).thenReturn(mSoftApConfiguration);
 
         when(mConnectivityManager.getTetherableWifiRegexs()).thenReturn(new String[]{"1", "2"});
         mController = new WifiTetherPreferenceController(mContext, mLifecycle,
diff --git a/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherSSIDPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherSSIDPreferenceControllerTest.java
index 3d15197..a6a9dda 100644
--- a/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherSSIDPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherSSIDPreferenceControllerTest.java
@@ -19,19 +19,20 @@
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
+import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.net.ConnectivityManager;
-import android.net.wifi.WifiConfiguration;
-import android.net.wifi.WifiConfiguration.KeyMgmt;
+import android.net.wifi.SoftApConfiguration;
 import android.net.wifi.WifiManager;
 
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.widget.ValidatedEditTextPreference;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -55,6 +56,8 @@
     private WifiTetherBasePreferenceController.OnTetherConfigUpdateListener mListener;
     @Mock
     private PreferenceScreen mScreen;
+    @Mock
+    private MetricsFeatureProvider mMetricsFeatureProvider;
 
     private WifiTetherSSIDPreferenceController mController;
     private WifiTetherSsidPreference mPreference;
@@ -70,13 +73,13 @@
         when(mConnectivityManager.getTetherableWifiRegexs()).thenReturn(new String[]{"1", "2"});
         when(mContext.getResources()).thenReturn(RuntimeEnvironment.application.getResources());
         when(mScreen.findPreference(anyString())).thenReturn(mPreference);
-
-        mController = new WifiTetherSSIDPreferenceController(mContext, mListener);
+        mController = new WifiTetherSSIDPreferenceController(mContext, mListener,
+                mMetricsFeatureProvider);
     }
 
     @Test
     public void displayPreference_noWifiConfig_shouldDisplayDefaultSSID() {
-        when(mWifiManager.getWifiApConfiguration()).thenReturn(null);
+        when(mWifiManager.getSoftApConfiguration()).thenReturn(null);
 
         mController.displayPreference(mScreen);
         assertThat(mController.getSSID())
@@ -85,12 +88,12 @@
 
     @Test
     public void displayPreference_hasCustomWifiConfig_shouldDisplayCustomSSID() {
-        final WifiConfiguration config = new WifiConfiguration();
-        config.SSID = "test_1234";
-        when(mWifiManager.getWifiApConfiguration()).thenReturn(config);
+        final SoftApConfiguration config = new SoftApConfiguration.Builder()
+                .setSsid("test_1234").build();
+        when(mWifiManager.getSoftApConfiguration()).thenReturn(config);
 
         mController.displayPreference(mScreen);
-        assertThat(mController.getSSID()).isEqualTo(config.SSID);
+        assertThat(mController.getSSID()).isEqualTo(config.getSsid());
     }
 
     @Test
@@ -102,7 +105,24 @@
         mController.onPreferenceChange(mPreference, "0");
         assertThat(mController.getSSID()).isEqualTo("0");
 
-        verify(mListener, times(2)).onTetherConfigUpdated();
+        verify(mListener, times(2)).onTetherConfigUpdated(mController);
+    }
+
+    @Test
+    public void changePreference_shouldLogActionWhenChanged() {
+        mController.displayPreference(mScreen);
+        mController.onPreferenceChange(mPreference, "1");
+        verify(mMetricsFeatureProvider).action(mContext,
+                SettingsEnums.ACTION_SETTINGS_CHANGE_WIFI_HOTSPOT_NAME);
+    }
+
+    @Test
+    public void changePreference_shouldNotLogActionWhenNotChanged() {
+        mController.displayPreference(mScreen);
+        mController.onPreferenceChange(mPreference,
+                WifiTetherSSIDPreferenceController.DEFAULT_SSID);
+        verify(mMetricsFeatureProvider, never()).action(mContext,
+                SettingsEnums.ACTION_SETTINGS_CHANGE_WIFI_HOTSPOT_NAME);
     }
 
     @Test
@@ -113,23 +133,23 @@
         assertThat(mController.getSSID()).isEqualTo("1");
 
         // Create a new config using different SSID
-        final WifiConfiguration config = new WifiConfiguration();
-        config.SSID = "test_1234";
-        when(mWifiManager.getWifiApConfiguration()).thenReturn(config);
+        final SoftApConfiguration config = new SoftApConfiguration.Builder()
+                .setSsid("test_1234").build();
+        when(mWifiManager.getSoftApConfiguration()).thenReturn(config);
 
         // Call updateDisplay and verify it's changed.
         mController.updateDisplay();
-        assertThat(mController.getSSID()).isEqualTo(config.SSID);
-        assertThat(mPreference.getSummary()).isEqualTo(config.SSID);
+        assertThat(mController.getSSID()).isEqualTo(config.getSsid());
+        assertThat(mPreference.getSummary()).isEqualTo(config.getSsid());
     }
 
     @Test
     public void displayPreference_wifiApDisabled_shouldHideQrCodeIcon() {
         when(mWifiManager.isWifiApEnabled()).thenReturn(false);
-        final WifiConfiguration config = new WifiConfiguration();
-        config.SSID = "test_1234";
-        config.allowedKeyManagement.set(KeyMgmt.WPA2_PSK);
-        when(mWifiManager.getWifiApConfiguration()).thenReturn(config);
+        final SoftApConfiguration config = new SoftApConfiguration.Builder()
+                .setSsid("test_1234").setPassphrase("test_password",
+                SoftApConfiguration.SECURITY_TYPE_WPA2_PSK).build();
+        when(mWifiManager.getSoftApConfiguration()).thenReturn(config);
 
         mController.displayPreference(mScreen);
         assertThat(mController.isQrCodeButtonAvailable()).isEqualTo(false);
@@ -138,10 +158,10 @@
     @Test
     public void displayPreference_wifiApEnabled_shouldShowQrCodeIcon() {
         when(mWifiManager.isWifiApEnabled()).thenReturn(true);
-        final WifiConfiguration config = new WifiConfiguration();
-        config.SSID = "test_1234";
-        config.allowedKeyManagement.set(KeyMgmt.WPA2_PSK);
-        when(mWifiManager.getWifiApConfiguration()).thenReturn(config);
+        final SoftApConfiguration config = new SoftApConfiguration.Builder()
+                .setSsid("test_1234").setPassphrase("test_password",
+                SoftApConfiguration.SECURITY_TYPE_WPA2_PSK).build();
+        when(mWifiManager.getSoftApConfiguration()).thenReturn(config);
 
         mController.displayPreference(mScreen);
         assertThat(mController.isQrCodeButtonAvailable()).isEqualTo(true);
diff --git a/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherSecurityPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherSecurityPreferenceControllerTest.java
index 8a7c34a..0b066cd 100644
--- a/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherSecurityPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherSecurityPreferenceControllerTest.java
@@ -8,13 +8,14 @@
 
 import android.content.Context;
 import android.net.ConnectivityManager;
-import android.net.wifi.WifiConfiguration;
+import android.net.wifi.SoftApConfiguration;
 import android.net.wifi.WifiManager;
 
 import androidx.preference.ListPreference;
 import androidx.preference.PreferenceScreen;
 
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -25,8 +26,9 @@
 @RunWith(RobolectricTestRunner.class)
 public class WifiTetherSecurityPreferenceControllerTest {
 
-    private static final String WPA2_PSK = String.valueOf(WifiConfiguration.KeyMgmt.WPA2_PSK);
-    private static final String NONE = String.valueOf(WifiConfiguration.KeyMgmt.NONE);
+    private static final String WPA2_PSK =
+            String.valueOf(SoftApConfiguration.SECURITY_TYPE_WPA2_PSK);
+    private static final String NONE = String.valueOf(SoftApConfiguration.SECURITY_TYPE_OPEN);
     @Mock
     private WifiTetherBasePreferenceController.OnTetherConfigUpdateListener mListener;
     private Context mContext;
@@ -38,19 +40,18 @@
     private PreferenceScreen mScreen;
     private WifiTetherSecurityPreferenceController mController;
     private ListPreference mPreference;
-    private WifiConfiguration mConfig;
+    private SoftApConfiguration mConfig;
 
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
-        mConfig = new WifiConfiguration();
-        mConfig.SSID = "test_1234";
-        mConfig.preSharedKey = "test_password";
-        mConfig.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA2_PSK);
+        mConfig = new SoftApConfiguration.Builder().setSsid("test_1234")
+                .setPassphrase("test_password",
+                SoftApConfiguration.SECURITY_TYPE_WPA2_PSK).build();
         mContext = spy(RuntimeEnvironment.application);
 
         when(mContext.getSystemService(Context.WIFI_SERVICE)).thenReturn(mWifiManager);
-        when(mWifiManager.getWifiApConfiguration()).thenReturn(mConfig);
+        when(mWifiManager.getSoftApConfiguration()).thenReturn(mConfig);
         when(mContext.getSystemService(Context.CONNECTIVITY_SERVICE))
                 .thenReturn(mConnectivityManager);
         when(mConnectivityManager.getTetherableWifiRegexs()).thenReturn(new String[]{"1", "2"});
@@ -64,35 +65,43 @@
     @Test
     public void onPreferenceChange_securityValueUpdated() {
         mController.onPreferenceChange(mPreference, WPA2_PSK);
-        assertThat(mController.getSecurityType()).isEqualTo(WifiConfiguration.KeyMgmt.WPA2_PSK);
+        assertThat(mController.getSecurityType()).isEqualTo(
+                SoftApConfiguration.SECURITY_TYPE_WPA2_PSK);
         assertThat(mPreference.getSummary().toString()).isEqualTo("WPA2-Personal");
 
         mController.onPreferenceChange(mPreference, NONE);
-        assertThat(mController.getSecurityType()).isEqualTo(WifiConfiguration.KeyMgmt.NONE);
+        assertThat(mController.getSecurityType()).isEqualTo(
+                SoftApConfiguration.SECURITY_TYPE_OPEN);
         assertThat(mPreference.getSummary().toString()).isEqualTo("None");
     }
 
     @Test
+    @Ignore
     public void updateDisplay_preferenceUpdated() {
         // test defaulting to WPA2-Personal on new config
-        when(mWifiManager.getWifiApConfiguration()).thenReturn(null);
+        when(mWifiManager.getSoftApConfiguration()).thenReturn(null);
         mController.updateDisplay();
-        assertThat(mController.getSecurityType()).isEqualTo(WifiConfiguration.KeyMgmt.WPA2_PSK);
+        assertThat(mController.getSecurityType()).isEqualTo(
+                SoftApConfiguration.SECURITY_TYPE_WPA2_PSK);
         assertThat(mPreference.getSummary().toString()).isEqualTo("WPA2-Personal");
 
         // test open tether network
-        when(mWifiManager.getWifiApConfiguration()).thenReturn(mConfig);
-        mConfig.allowedKeyManagement.clear();
-        mConfig.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
+        SoftApConfiguration config = new SoftApConfiguration.Builder(mConfig)
+                .setPassphrase(null, SoftApConfiguration.SECURITY_TYPE_WPA2_PSK).build();
+        when(mWifiManager.getSoftApConfiguration()).thenReturn(config);
         mController.updateDisplay();
-        assertThat(mController.getSecurityType()).isEqualTo(WifiConfiguration.KeyMgmt.NONE);
+        assertThat(mController.getSecurityType()).isEqualTo(
+                SoftApConfiguration.SECURITY_TYPE_OPEN);
         assertThat(mPreference.getSummary().toString()).isEqualTo("None");
 
         // test WPA2-Personal tether network
-        mConfig.allowedKeyManagement.clear();
-        mConfig.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA2_PSK);
+        SoftApConfiguration config2 = new SoftApConfiguration.Builder(mConfig)
+                .setPassphrase("test_password",
+                SoftApConfiguration.SECURITY_TYPE_WPA2_PSK).build();
+        when(mWifiManager.getSoftApConfiguration()).thenReturn(config2);
         mController.updateDisplay();
-        assertThat(mController.getSecurityType()).isEqualTo(WifiConfiguration.KeyMgmt.WPA2_PSK);
+        assertThat(mController.getSecurityType()).isEqualTo(
+                SoftApConfiguration.SECURITY_TYPE_WPA2_PSK);
         assertThat(mPreference.getSummary().toString()).isEqualTo("WPA2-Personal");
     }
 }
diff --git a/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherSettingsTest.java b/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherSettingsTest.java
index cdc74b3..e996b2d 100644
--- a/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherSettingsTest.java
@@ -33,12 +33,15 @@
 import android.os.Bundle;
 import android.os.UserHandle;
 import android.os.UserManager;
+import android.util.FeatureFlagUtils;
 import android.widget.TextView;
 
 import androidx.fragment.app.FragmentActivity;
 import androidx.preference.PreferenceScreen;
 
+import com.android.settings.core.FeatureFlags;
 import com.android.settings.testutils.FakeFeatureFactory;
+import com.android.settings.testutils.shadow.ShadowFragment;
 import com.android.settings.testutils.shadow.ShadowWifiManager;
 
 import org.junit.Before;
@@ -82,6 +85,7 @@
 
     @Test
     public void wifiTetherNonIndexableKeys_tetherAvailable_keysNotReturned() {
+        FeatureFlagUtils.setEnabled(mContext, FeatureFlags.TETHER_ALL_IN_ONE, false);
         // To let TetherUtil.isTetherAvailable return true, select one of the combinations
         setupIsTetherAvailable(true);
 
@@ -115,6 +119,7 @@
     }
 
     @Test
+    @Config(shadows = ShadowFragment.class)
     public void startFragment_notAdminUser_shouldRemoveAllPreferences() {
         final WifiTetherSettings settings = spy(new WifiTetherSettings());
         final FragmentActivity activity = mock(FragmentActivity.class);
diff --git a/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherSwitchBarControllerTest.java b/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherSwitchBarControllerTest.java
index 30358da..e05541c 100644
--- a/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherSwitchBarControllerTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherSwitchBarControllerTest.java
@@ -32,10 +32,8 @@
 import android.net.ConnectivityManager;
 import android.net.NetworkPolicyManager;
 import android.net.wifi.WifiManager;
-import android.provider.Settings;
 
 import com.android.settings.widget.SwitchBar;
-import com.android.settings.widget.SwitchBarController;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -70,10 +68,9 @@
         when(mContext.getSystemService(Context.NETWORK_POLICY_SERVICE)).thenReturn(
                 mNetworkPolicyManager);
 
-        mController = new WifiTetherSwitchBarController(mContext,
-                new SwitchBarController(mSwitchBar));
+        mController = new WifiTetherSwitchBarController(mContext, mSwitchBar);
     }
-    
+
     @Test
     public void startTether_fail_resetSwitchBar() {
         when(mNetworkPolicyManager.getRestrictBackground()).thenReturn(false);
@@ -103,12 +100,12 @@
     @Test
     public void onSwitchToggled_onlyStartsTetherWhenNeeded() {
         when(mWifiManager.isWifiApEnabled()).thenReturn(true);
-        mController.onSwitchToggled(true);
+        mController.onClick(mSwitchBar.getSwitch());
 
         verify(mConnectivityManager, never()).startTethering(anyInt(), anyBoolean(), any(), any());
 
         doReturn(false).when(mWifiManager).isWifiApEnabled();
-        mController.onSwitchToggled(true);
+        mController.onClick(mSwitchBar.getSwitch());
 
         verify(mConnectivityManager, times(1))
                 .startTethering(anyInt(), anyBoolean(), any(), any());
diff --git a/tests/uitests/Android.bp b/tests/uitests/Android.bp
new file mode 100644
index 0000000..8a3e374
--- /dev/null
+++ b/tests/uitests/Android.bp
@@ -0,0 +1,41 @@
+// 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.
+
+android_test {
+    name: "SettingsUITests",
+    platform_apis: true,
+    certificate: "platform",
+    test_suites: ["device-tests"],
+    srcs: ["src/**/*.java"],
+
+    libs: [
+        "android.test.runner",
+        "android.test.base",
+    ],
+
+    static_libs: [
+        "androidx.test.rules",
+        "app-helpers-core",
+        "launcher-helper-lib",
+        "metrics-helper-lib",
+        "platform-test-annotations",
+        "settings-helper",
+        "sysui-helper",
+        "timeresult-helper-lib",
+        "truth-prebuilt",
+        "ub-uiautomator",
+    ],
+
+    //sdk_version: "current",
+}
diff --git a/tests/uitests/Android.mk b/tests/uitests/Android.mk
deleted file mode 100644
index fb7258c..0000000
--- a/tests/uitests/Android.mk
+++ /dev/null
@@ -1,43 +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.
-
-LOCAL_PATH := $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_PACKAGE_NAME := SettingsUITests
-LOCAL_PRIVATE_PLATFORM_APIS := true
-LOCAL_CERTIFICATE := platform
-LOCAL_COMPATIBILITY_SUITE := device-tests
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-LOCAL_MODULE_TAGS := tests
-
-LOCAL_JAVA_LIBRARIES := \
-    android.test.runner \
-    android.test.base
-
-LOCAL_STATIC_JAVA_LIBRARIES := \
-    androidx.test.rules \
-    app-helpers-core \
-    launcher-helper-lib \
-    metrics-helper-lib \
-    platform-test-annotations \
-    settings-helper \
-    sysui-helper \
-    timeresult-helper-lib \
-    truth-prebuilt \
-    ub-uiautomator \
-
-#LOCAL_SDK_VERSION := current
-
-include $(BUILD_PACKAGE)
diff --git a/tests/uitests/assets/search_results_list b/tests/uitests/assets/search_results_list
index 6f7c513..a6dafe2 100644
--- a/tests/uitests/assets/search_results_list
+++ b/tests/uitests/assets/search_results_list
@@ -1,56 +1,75 @@
+1 minute;accessibility_control_timeout_1min
+10 seconds;accessibility_control_timeout_10secs
+2 minutes;accessibility_control_timeout_2mins
+30 seconds;accessibility_control_timeout_30secs
+4G Calling;4g_calling
 AP Band;wifi_tether_network_ap_band
 About phone;my_device_info_pref_screen
+About phone;top_level_about_device
+Access Point Names;telephony_apn_key
 Accessibility;accessibility_settings_screen
 Accessibility;top_level_accessibility
+Accessibility usage;privacy_accessibility_usage
 Accounts;top_level_accounts
 Accounts;user_and_account_settings_screen
 Active Edge;gesture_assist_application
 Active Edge;gesture_assist_input_summary
 Active Edge;gesture_assist_settings_page
-Adaptive Battery;smart_battery_detail
+Adaptive Battery;smart_battery
 Adaptive Battery;smart_battery_manager
+Adaptive Notifications;notification_assistant
 Adaptive brightness;auto_brightness
 Adaptive brightness;auto_brightness_entry
-Add an account;add_account_screen
-Add rule;zen_mode_add_automatic_rule
+Adaptive notification priority;asst_capability_prioritizer
+Add more;add_more
+Add more;zen_mode_add_automatic_rule
 Add user or profile;user_add
 Add users from lock screen;security_lockscreen_add_users_when_locked
 Add users from lock screen;user_settings_add_users_when_locked
 Additional system updates;additional_system_update_settings
 Admin can delete all device data;enterprise_privacy_wipe_device
 Admin can lock the device and reset password;enterprise_privacy_lock_device
-Airplane mode;toggle_airplane
+Advanced Calling;advance_call
+Airplane mode;airplane_mode
 Alarm volume;alarm_volume
-Alarms;zen_mode_alarms
+Allow alarms;zen_mode_alarms
+Allow apps to override;zen_mode_bypassing_apps
 Allow calls;zen_mode_calls
+Allow calls;zen_mode_calls_settings
 Allow events;zen_mode_events
 Allow messages;zen_mode_messages
+Allow messages;zen_mode_messages_settings
 Allow notification dots;notification_badging
+Allow notification snoozing;show_snooze_options
 Allow reminders;zen_mode_reminders
 Allow repeat callers;zen_mode_repeat_callers
+Allow touch sounds;zen_mode_system
 Allow when screen is off;gesture_assist_wake
-Also vibrate for calls;vibrate_when_ringing
 Always on;ambient_display_always_on
+Always require confirmation;security_settings_face_require_confirmation
 Always show crash dialog;show_first_crash_dialog
 Always-on VPN turned on in your work profile;always_on_vpn_managed_profile
+Ambient EQ;display_white_balance
 Amount of time and data spent in each app;enterprise_privacy_usage_stats
 Android Beam;android_beam_settings
-Android version;my_device_firmware_version
+Android security patch level;security_key
+Android version;firmware_version
+Android version;os_firmware_version
 Animator duration scale;animator_duration_scale
+App data usage;data_usage_summary
 App data usage cycle;billing_cycle
+App exceptions;zen_mode_bypassing_apps_screen
 App info;all_app_info
-App permissions;manage_perms
-App-level permissions;app_level_permissions
-Apps;debug_applications_category
+App permission;app_level_permissions
+App sign-in & payments;security_settings_face_app
 Apps & app data;storage_settings_apps_space
 Apps & notifications;apps_and_notification_screen
 Apps & notifications;top_level_apps_and_notifs
 Apps installed;number_enterprise_installed_packages
-Assist & voice input;assist_and_voice_input
 Assist & voice input;manage_assist_screen
 Assist app;default_assist
-Audio & on-screen text;audio_and_captions_category
 Audio (music, ringtones, podcasts, etc.);storage_settings_music_space
+Audio balance;seekbar_master_balance
 Auto-rotate screen;auto_rotate
 Auto-rotate screen;toggle_lock_screen_rotation_preference
 Auto-sync personal data;auto_sync_personal_account_data
@@ -59,24 +78,19 @@
 Autofill service;default_autofill
 Autofill service;default_autofill_main
 Autofill service;default_autofill_work
-Automatic 24-hour format;auto_24hour
-Automatic date & time;auto_time
 Automatic restore;auto_restore
-Automatic rules;zen_mode_automation_settings_page
 Automatic system updates;ota_disable_automatic_update
-Automatic time zone;auto_zone
-Automatically lock;lock_after_timeout
+Automatically capture system heap dumps;automatic_system_server_heap_dumps
+Automatically select network;auto_select_key
 Automatically sync data;auto_sync_account_data
 Available;storage_settings_memory_available
-Available media devices;available_device_list
 Back up my data;backup_data
 Background check;background_check
 Background process limit;app_process_limit
-Backup;backup
-Backup;backup_settings
+Backup;Backup
 Backup;privacy_settings_screen
 Backup account;configure_account
-Backup service isn't active;backup_inactive
+Baseband version;base_band
 Battery;power_usage_summary_screen
 Battery;top_level_battery
 Battery Saver;battery_saver
@@ -84,10 +98,7 @@
 Battery optimization;high_power_apps
 Battery percentage;battery_percentage
 Battery usage;power_usage_advanced_screen
-Battery usage since full charge;app_list
-Behavior;zen_mode_settings_category_behavior
 Blink light;notification_pulse
-Bluetooth;bluetooth_settings
 Bluetooth;bluetooth_switchbar_screen
 Bluetooth AVRCP Version;bluetooth_select_avrcp_version
 Bluetooth Audio Bits Per Sample;bluetooth_select_a2dp_bits_per_sample
@@ -99,19 +110,29 @@
 Bluetooth scanning;bluetooth_always_scanning
 Bluetooth tethering;enable_bluetooth_tethering
 Brightness level;brightness
-Browser app;default_browser
-Browser app;work_default_browser
+Bubbles;notification_bubbles
+Bug report;bugreport
 Bug report shortcut;bugreport_in_power
 Build number;build_number
+Build number;os_build_number
+CA certificate;install_ca_certificate
+CDMA subscription;cdma_subscription_key
 Call volume;call_volume
-Calls;zen_mode_calls_settings
+Calls;zen_mode_behavior_calls
 Calls;zen_mode_calls_settings_page
+Calls preference;calls_preference
 Camera Laser Sensor;camera_laser_sensor_switch
+Camera access needed;adaptive_sleep_permission
 Camera permissions;enterprise_privacy_number_camera_access_packages
-Captions;captioning_preference_screen
+Caption preferences;captioning_preference_screen
+Capture system heap dump;system_server_heap_dump
+Cards & passes;gesture_global_actions_panel_summary
+Carrier settings;carrier_settings_key
+Carrier video calling;video_calling_key
 Cast;wifi_display_settings_screen
-Changes made by your organization's admin;exposure_changes_category
-Charging sounds;charging_sounds
+Cast volume;remote_volume
+Charging sounds and vibration;charging_sounds
+Choose network;choose_network_key
 Clear credentials;credentials_reset
 Color correction;daltonizer_preference
 Color correction;daltonizer_preference_screen
@@ -119,38 +140,41 @@
 Colors;color_mode
 Colors;color_mode_settings_screen
 Connect to open networks;use_open_wifi_automatically
-Connected MAC Randomization;wifi_connected_mac_randomization
 Connected devices;connected_devices_screen
 Connected devices;top_level_connected_devices
 Connection preferences;connected_devices_advanced_screen
 Connection preferences;connection_preferences
+Contact search;contacts_search
 Convert to file encryption;convert_to_file_encryption
 Cool color temperature;color_temperature
 Copyright;copyright
 Correction mode;type
-Credential storage;credentials_management
+Cross-profile calendar;cross_profile_calendar
+Cross-profile calendar;cross_profile_calendar_disabled
 Current screen saver;current_screensaver
-Currently connected;connected_device_list
 Custom;zen_custom
 Custom restrictions;zen_mode_block_settings_page
+Dark theme;dark_ui_mode
 Data Saver;data_saver_screen
-Data Saver;restrict_background
+Data Saver;restrict_background_parent_entry
 Data associated with your work account, such as email and calendar;enterprise_privacy_enterprise_data
+Data during calls;data_during_calls
 Data limit;data_limit
-Data usage;data_usage_screen
 Data warning;data_warning
 Data warning & limit;billing_cycle_settings
 Data warning & limit;billing_preference
+Date;date
+Date & time;date_time_settings
 Date & time;date_time_settings_screen
 Debug GPU overdraw;debug_hw_overdraw
 Debug non-rectangular clip operations;show_non_rect_clip
-Debugging;debug_debugging_category
+Default;accessibility_control_timeout_default
 Default USB configuration;default_usb_configuration
 Default alarm sound;alarm_ringtone
-Default apps;app_default_settings_screen
+Default apps;default_apps
 Default apps;number_enterprise_set_default_apps
+Default duration;zen_mode_duration_settings
 Default for work;autofill_work_app_defaults
-Default for work;work_app_defaults
 Default keyboard;input_method
 Default notification sound;notification_default_ringtone
 Default notification sound;notification_ringtone
@@ -159,28 +183,26 @@
 Delay before click;autoclick_delay
 Desktop backup password;local_backup_password
 Developer options;development_prefs_screen
+Device Wi-Fi MAC address;wifi_mac_address
 Device admin apps;device_admin_settings
 Device admin apps;device_administrators
 Device admin apps;manage_device_admin
 Device name;device_name
-Device security;security_category
 Device theme;theme
 Dial pad tones;dial_pad_tones
 Disable Bluetooth A2DP hardware offload;bluetooth_disable_a2dp_hw_offload
 Disable HW overlays;disable_overlays
 Disable USB audio routing;usb_audio
 Disable absolute volume;bluetooth_disable_absolute_volume
-Display;display_category
+Disabled by admin;backup_inactive
 Display;display_settings_screen
 Display;top_level_display
 Display cutout;display_cutout_emulation
-Display over other apps;system_alert_window
-Display size;accessibility_settings_screen_zoom
-Display size;display_settings_screen_zoom
+Display over other apps;system_alert_window_app_list
 Display size;screen_zoom_settings
 Do Not Disturb;zen_mode
 Do Not Disturb;zen_mode_notifications
-Do Not Disturb;zen_mode_settings
+Do Not Disturb;zen_mode_toggle
 Do Not Disturb access;zen_access
 Do Not Disturb access;zen_access_screen
 Dock speaker plays;dock_audio_media
@@ -194,42 +216,38 @@
 Double-tap to check phone;ambient_display_double_tap
 Double-tap to check phone;gesture_double_tap_screen
 Double-tap to check phone;gesture_double_tap_screen_input_summary
-Downloaded services;user_installed_services_category
-Drawing;debug_drawing_category
-Duration;zen_mode_duration_settings
 Dwell timing;autoclick_preference
 Dwell timing;autoclick_preference_screen
 Emergency alerts;app_and_notif_cell_broadcast_settings
-Emergency app;default_emergency_app
 Emergency dialing signal;emergency_tone
 Emergency information;emergency_info
 Enable Bluetooth HCI snoop log;bt_hci_snoop_log
 Enable GPU debug layers;enable_gpu_debug_layers
 Enable Wi-Fi Verbose Logging;wifi_verbose_logging
+Enable for all apps;graphics_driver_all_apps_preference
 Enable freeform windows;enable_freeform_support
 Enable view attribute inspection;debug_view_attributes
 Encrypt phone;encryption_and_credentials_encryption_status
-Encryption;encryption_and_credentials_status_category
 Encryption & credentials;encryption_and_credential
 Encryption & credentials;encryption_and_credentials_screen
 End time;night_display_end_time
 Equipment ID;fcc_equipment_id
+Erase SIM;erase_sim
 Erase all data (factory reset);factory_reset
-Exceptions;zen_mode_settings_category_exceptions
-Experimental;experimental_category
-Face authentication;face_settings
-Face authentication;security_settings_face_settings_page
+Exceptions;zen_mode_sound_vibration_settings_page
+Face unlock;face_settings
+Face unlock;face_settings_profile
+Face unlock;security_settings_face_settings_page
 Failed password attempts before deleting all device data;failed_password_wipe_current_user
 Failed password attempts before deleting work profile data;failed_password_wipe_managed_profile
-Feature flags;feature_flags_dashboard
 Feature flags;feature_flags_settings
 Files;pref_files
 Files received via Bluetooth;bt_received_files
 Flash screen;flash
+Flashlight;flashlight
 Flip camera;gesture_double_twist
 Flip camera;gesture_double_twist_input_summary
 Font size;font_size
-Font size;font_size_preference_screen
 Font size;font_size_setting_screen
 Force 4x MSAA;force_msaa
 Force RTL layout direction;force_rtl_layout_all_locales
@@ -238,51 +256,49 @@
 Force desktop mode;force_desktop_mode_on_external_displays
 Force full GNSS measurements;enable_gnss_raw_meas_full_tracking
 Free up space;storage_settings_free_space
+Graphics Driver Preferences;graphics_driver_settings
 Games;pref_games
 Gestures;gesture_settings
 Gestures;gesture_settings_screen
 Global HTTP proxy set;global_http_proxy
 Google Account;branded_account
+Google Play system update;module_version
+Google Play system update licenses;module_license
 HDCP checking;hdcp_checking
-Hardware accelerated rendering;debug_hw_drawing_category
+Hardware version;hardware_info_device_revision
 Hearing aids;hearing_aid_preference
-Hide from notification list;zen_effect_list
-Hide notification dots;zen_effect_badge
-Hide status bar icons;zen_effect_status
+Hide from pull-down shade;zen_effect_list
+Hide notification dots on app icons;zen_effect_badge
+Hide status bar icons at top of screen;zen_effect_status
 High contrast text;toggle_high_text_contrast_preference
-Home app;default_home
 Hotspot & tethering;tether_prefs_screen
 Hotspot & tethering;tether_settings
 Hotspot name;wifi_tether_network_name
 Hotspot password;wifi_tether_network_password
 IMEI;imei_info
-IP address;current_ip_address
 IP address;wifi_ip_address
-Improve your face data;security_settings_face_improve
-Input;debug_input_category
-Input assistance;input_assistance_category
+Idle lock screen;aware_presence
+Idle lock screen;aware_wake_display_page
+Increase touch sensitivity;touch_sensitivity
+Install a certificate;install_certificate
+Install a certificate;install_certificate_from_storage
 Install certificates;install_credentials
-Install from storage;credentials_install
 Install unknown apps;manage_external_sources
-Installed apps;installed_apps_web_action
 Instant Apps preferences;instant_app_web_action_pref
 Instant apps;instant_app_web_action_toggle
-Instant apps;web_action_category
 Intensity;night_display_temperature
-Interaction controls;interaction_control_category
 Internal shared storage;storage_settings_volume_private
 Internal storage;storage_settings_internal_storage
 Jump to camera;gesture_double_tap_power
 Jump to camera;gesture_double_tap_power_input_summary
-Keyboard & inputs;keyboards_category
-Keyboard assistance;keyboard_assistance_category
+Kernel version;kernel_version
 Keyboard shortcuts helper;keyboard_shortcuts_helper
 Language;tts_default_lang
 Languages;phone_language
 Languages & input;language_and_input_settings_screen
+Languages & input;language_input_settings
 Large mouse pointer;toggle_large_pointer_icon
 Last full charge;last_full_charge
-Legal information;legal_container
 Legal information;legal_screen
 License;license
 Lift to check phone;ambient_display_pick_up
@@ -290,22 +306,23 @@
 Lift to check phone;gesture_pick_up_input_summary
 Lift to wake;lift_to_wake
 List of apps on your device;enterprise_privacy_installed_packages
+Live Caption;live_caption
 Local terminal;enable_terminal
-Location;location
 Location;location_settings
+Location;top_level_location
 Location for work profile;managed_profile_location_switch
 Location permissions;enterprise_privacy_number_location_access_packages
-Location services;location_services
+Lock after screen timeout;lock_after_timeout
 Lock device when unpinning;use_screen_lock
+Lock screen;security_setting_lock_screen_notif
 Lock screen display;lockscreen_from_display_settings
 Lock screen display;security_lockscreen_settings_screen
 Lock screen message;owner_info_settings
 Logger buffer sizes;select_logd_size
 Logging level;autofill_logging_level
-MAC address;mac_address
+MMS messages;mms_message
 Magnification;magnification_preference_screen
-Magnification;magnification_preference_screen_title
-Magnify with button;screen_magnification_navbar_preference_screen
+Magnify with shortcut;screen_magnification_navbar_preference_screen
 Magnify with triple-tap;screen_magnification_gestures_preference_screen
 Make pattern visible;visiblepattern
 Make profile pattern visible;visiblepattern_profile
@@ -318,26 +335,24 @@
 Max requests per session;autofill_max_partitions
 Max visible datasets;autofill_visible_datasets
 Maximum connected Bluetooth audio devices;bluetooth_max_connected_audio_devices
-Media;media_category
-Media;zen_mode_media
 Media volume;media_volume
 Memory;memory
-Messages, events & reminders;zen_mode_msg_event_reminder_settings
-Messages, events & reminders;zen_mode_msg_event_reminder_settings_page
 Microphone permissions;enterprise_privacy_number_microphone_access_packages
-Mobile;mobile_category
-Mobile data;data_usage_enable
+Mobile data;mobile_data_enable
 Mobile data always active;mobile_data_always_on
-Mobile data usage;cellular_data_usage
-Mobile network;mobile_network_settings
+Mobile network;mobile_network_list
+Mobile network;mobile_network_list_screen
 Mobile plan;manage_mobile_plan
+Model;hardware_info_device_model
 Model & hardware;device_model
+Model & hardware;hardware_info_screen
 Modify system settings;write_settings_apps
-Monitoring;debug_monitoring_category
 Mono audio;toggle_master_mono
 Most recent bug report;bug_reports
 Most recent network traffic log;network_logs
 Most recent security log;security_logs
+Motion Sense;aware_settings
+Motion Sense;aware_toggle
 Movie & TV apps;pref_movies
 Multiple users;user_settings_screen
 Music & audio;pref_music_audio
@@ -346,39 +361,36 @@
 Network & internet;top_level_network
 Network name;show_operator_name
 Network rating provider;network_scorer_picker
-Networking;debug_networking_category
 New notifications;ambient_display_notification
-Night Light;night_display
 Night Light;night_display_activated
-Night mode;dark_ui_mode
+Night Light tints your screen amber. This makes it easier to look at your screen or read in dim light, and may help you fall asleep more easily.;night_display_footer
 No sound from notifications;zen_mute_notifications
 No visuals or sound from notifications;zen_hide_notifications
 Notification access;notification_access
 Notification access;notification_access_screen
+Notification vibration;notification_vibration_preference_screen
 Notification volume;notification_volume
 Notifications;all_notifications
-Notifications;zen_mode_block_effects_settings
-Notifications;zen_mode_restrict_settings_page
+Notifications;configure_notification_settings
+Notifications on lockscreen;lock_screen_notifications
 OEM unlocking;oem_unlock_enable
-On lock screen;lock_screen_notifications
-On lock screen;security_setting_lock_screen_notif
 Open network notification;notify_open_networks
-Opening links;domain_urls
 Opening links;manage_domain_url_screen
 Other apps;pref_other_apps
 Other files;storage_settings_misc_space
-Other sounds and vibrations;other_sounds_and_vibrations_category
-Other users;pref_secondary_users
+Override force-dark;hwui_force_dark
 Pair new device;add_bt_devices
 Payment default;nfc_payment
+Permission manager;manage_perms
+Permission manager;privacy_manage_perms
 Personal dictionary;key_user_dictionary_settings
 Personal dictionary;user_dict_list
-Phone app;default_phone_app
-Phone app;work_default_phone_app
+Personal dictionary for work;user_dictionary_settings_for_work_pref
+Personalize using app data;content_capture
+Personalize using app data;content_capture_custom_settings
 Phone number;phone_number
 Phone ringtone;ringtone
 Photos & videos;pref_photos_videos
-Physical keyboard;physical_keyboard_pref
 Physical keyboard;physical_keyboard_screen
 Picture color mode;picture_color_mode
 Picture-in-picture;picture_in_picture
@@ -387,84 +399,91 @@
 Pitch;tts_default_pitch
 Pixel Imprint;fingerprint_settings
 Pixel Imprint;fingerprint_settings_profile
+Pixel uses Motion Sense to detect nearby movement. It does not use your camera, mic, or location.;wake_screen_gesture_footer
+Play media sounds;zen_mode_media
 Play media to;media_output
 Pointer location;pointer_location
 Pointer speed;pointer_speed
 Power button ends call;toggle_power_button_ends_call_preference
 Power button instantly locks;power_button_instantly_locks
 Power on sounds;boot_sounds
+Preferences;skip_gesture_footer
 Preferred engine;tts_engine_picker_screen
-Preferred engine;tts_engine_preference
+Preferred network type;enabled_networks_key
+Preferred network type;preferred_network_mode_key
 Premium SMS access;premium_sms
 Premium SMS access;premium_sms_screen
-Press Power & Volume Up together;gesture_prevent_ringing
 Prevent ringing;gesture_prevent_ringing_screen
 Prevent ringing;gesture_prevent_ringing_summary
-Previously connected devices;previously_connected_devices
 Previously connected devices;saved_device_list
-Print jobs;print_jobs_category
-Print services;print_services_category
-Printing;connected_device_printing
 Printing;print_settings_screen
-Privacy;security_settings_misc_category
+Privacy;privacy_dashboard_page
+Privacy;top_level_privacy
 Private DNS;private_dns_settings
 Profile HWUI rendering;track_frame_time
-Proxy;proxy_settings
 Quick settings developer tiles;development_tile_settings
-Quick settings developer tiles;quick_settings_tiles
-Reach to check phone;gesture_reach
-Recent location requests;recent_location_requests
+Reach to check phone;ambient_display_wake_screen
+Reach to check phone;gesture_wake_screen
 Recent location requests;recent_location_requests_see_all
-Recently opened apps;recent_apps_category
-Recently sent;recent_notifications_category
+Recently opened apps;recent_open_apps
 Redirect vibration;vibrate_input_devices
 Regulatory labels;regulatory_info
 Remove animations;toggle_disable_animations
+Require eyes to be open;security_settings_face_require_attention
 Reset ShortcutManager rate-limiting;reset_shortcut_manager_throttling
 Reset Wi-Fi, mobile & Bluetooth;network_reset_pref
 Reset app preferences;reset_app_prefs
 Reset options;reset_dashboard
 Reset options;reset_dashboard_fragment_screen
 Reset to default values;autofill_reset_developer_options
+Restrict notifications;zen_mode_block_effects_settings
+Restrict notifications;zen_mode_restrict_settings_page
 Restricted apps;restricted_app
 Revoke USB debugging authorizations;clear_adb_keys
-Ring & notification vibration;notification_vibration_preference_screen
-Ring volume;ring_volume
+Ring & notification volume;ring_volume
+Ring vibration;ring_vibration_preference_screen
+Roaming;button_roaming_key
 Running services;running_apps
 SIM card lock;sim_lock_settings
 SIM status;sim_status
-SMS app;default_sms_app
+SMS preference;sms_preference
+SMS, MMS, and messaging apps;zen_mode_behavior_messages
+SMS, MMS, and messaging apps;zen_mode_messages_settings_page
 Safety & regulatory manual;safety_info
-Scanning;location_scanning
-Scanning;scanning_screen
 Schedule;night_display_auto_mode
-Schedule;zen_mode_settings_category_schedule
-Screen lock;security_settings_password_sub_screen
+Schedules;zen_mode_automation_settings
+Schedules;zen_mode_automation_settings_page
+Screen attention;adaptive_sleep
+Screen attention;adaptive_sleep_entry
 Screen lock;unlock_set_or_change
 Screen locking sounds;screen_locking_sounds
 Screen pinning;screen_pinning_settings
 Screen pinning;screen_pinning_settings_screen
-Screen readers;screen_reader_category
 Screen saver;dream_overview_screen
-Screen saver;screensaver
+Screen timeout;screen_timeout
 Screen usage since full charge;screen_usage
+Secure NFC;nfc_secure_settings
+Security;security_dashboard_page
+Security;top_level_security
 Security;wifi_tether_security
-Security & location;security_dashboard_page
-Security & location;top_level_security
-Security status;security_status
-See all;recent_location_requests_see_all_button
+See all;previously_connected_devices_see_all
+See all exceptions;zen_sound_vibration_settings
+See more;special_access_more
 Select debug app;debug_app
 Select mock location app;mock_location_app
-Select time zone;timezone
 Send feedback about this device;device_feedback
+Sensitive notifications;lock_screen_redact
+Sensitive work profile notifications;lock_screen_work_redact
+Serial number;hardware_info_device_serial
+Set a schedule;battery_saver_schedule
 Set data limit;set_data_limit
 Set data warning;set_data_warning
-Set date;date
-Set time;time
-Settings;top_level_settings
+Set up data service;cdma_lte_data_service_key
+Settings version;carrier_settings_version_key
 Shortcut to prevent ringing;gesture_prevent_ringing_sound
 Show Bluetooth devices without names;bluetooth_show_devices_without_names
 Show background ANRs;show_all_anrs
+Show cards & passes;gesture_global_actions_panel_switch
 Show hardware layers updates;show_hw_layers_updates
 Show layout bounds;debug_layout
 Show lockdown option;security_setting_lockdown_enabled
@@ -474,19 +493,21 @@
 Show taps;show_touches
 Show view updates;show_hw_screen_updates
 Show virtual keyboard;show_virtual_keyboard_switch
+Silence interruptions;gesture_silence
+Silence interruptions;silence_gesture
 Simulate color space;simulate_color_space
 Simulate secondary displays;overlay_display_devices
-Sleep;screen_timeout
+Skip lock screen;security_lockscreen_bypass
+Skip songs;gesture_skip
 Smallest width;density
 Smart Storage;toggle_asm
 Sound;sound_settings
 Sound;top_level_sound
-Sound & vibration;zen_mode_sound_vibration_settings_page
-Sound & vibration;zen_sound_vibration_settings
 Special app access;special_access
 Special app access;special_app_access_screen
 Speech rate;tts_default_rate
 Spell checker;spellcheckers_settings
+Spell checker for work;spellcheckers_settings_for_work_pref
 Squeeze for silence;gesture_assist_silence
 Squeeze for your Assistant;gesture_assist
 Squeeze sensitivity;gesture_assist_sensitivity
@@ -501,38 +522,46 @@
 Storage type;credential_storage_type
 Store logger data persistently on device;select_logpersist
 Strict mode enabled;strict_mode
+Styles & wallpapers;wallpaper_type
+Suggested actions and replies;asst_capabilities_actions_replies
+Swipe direction;gesture_skip_direction
 Swipe fingerprint;gesture_swipe_down_fingerprint_screen
 Swipe fingerprint for notifications;gesture_swipe_down_fingerprint
 Swipe fingerprint for notifications;gesture_swipe_down_fingerprint_input_summary
 Swipe fingerprint for notifications;gesture_swipe_down_fingerprint_notifications
-Swipe up on Home button;gesture_swipe_up
-Swipe up on Home button;gesture_swipe_up_input_summary
 Switch to mobile data automatically;wifi_cellular_data_fallback
 System;pref_system
 System;system_dashboard_screen
 System;top_level_system
 System UI demo mode;demo_mode
 System WebView License;webview_license
+System navigation;gesture_system_navigation_input_summary
+System navigation;gesture_system_navigation_input_summary_accessibility
+System navigation;gesture_system_navigation_screen
+System select;cdma_system_select_key
 System updates;system_update_settings
-Take bug report;bugreport
 Take call on;take_call_on_output
 Tap & pay;default_payment_app
 Tap & pay;nfc_payment_settings_screen
+Tap to check phone;ambient_display_tap
+Tap to check phone;gesture_tap
+Tap to check phone;gesture_tap_screen_input_summary
+Tap to take action;gesture_tap
 Tap to wake;tap_to_wake
 Terms and conditions;terms
 Tethering hardware acceleration;tethering_hardware_offload
 Text-to-speech output;tts_settings_preference
 Text-to-speech output;tts_settings_screen
-Text-to-speech output;tts_settings_summary
-This device's data is being backed up;backups_enabled
+Time;time
+Time to take action;accessibility_control_timeout_preference
+Time to take action (Accessibility timeout);accessibility_control_timeout_preference_fragment
+Time zone;timezone
 Tips & support;support_dashboard_activity
 Tips & support;top_level_support
-To extend your battery life, Battery Saver turns off some device features and restricts apps.;battery_saver_footer_preference
 Total space;storage_settings_memory_size
 Touch & hold delay;select_long_press_timeout_preference
+Touch feedback;touch_vibration_preference_screen
 Touch sounds;touch_sounds
-Touch sounds;zen_mode_system
-Touch vibration;touch_vibration_preference_screen
 Touch vibration;vibrate_on_touch
 Transition animation scale;transition_animation_scale
 Trust agents;manage_trust_agents
@@ -541,83 +570,80 @@
 Trusted credentials in your personal profile;ca_certs_current_user
 Trusted credentials in your work profile;ca_certs_managed_profile
 Turn off hotspot automatically;wifi_tether_auto_turn_off
-Turn on;battery_saver_seek_bar
+Turn off when fully charged;battery_saver_sticky
+Turn on Bluetooth to connect to other devices.;discoverable_footer
 Turn on Wi-Fi automatically;enable_wifi_wakeup
-Turn on automatically;auto_battery_saver
-Turn on automatically;zen_mode_automation_settings
-Types of information your organization can see;exposure_category
 USB Preferences;usb_details_fragment
-USB controlled by;usb_details_data_role
 USB debugging;enable_adb
 USB tethering;usb_tether_settings
-Unlock your device;security_settings_face_unlock
+Unlocking your phone;security_settings_face_keyguard
 Unrestricted data;data_saver
 Unrestricted data;unrestricted_access
 Unrestricted data;unrestricted_data_screen
 Up time;up_time
 Usage access;special_app_usage_access
 Use 24-hour format;24 hour
-Use Adaptive Battery;smart_battery
 Use Battery Manager;auto_restriction
-Use Bluetooth when driving;bluetooth_on_while_driving
-Use USB for;usb_details_functions
 Use default;nfc_foreground
+Use locale default;auto_24hour
+Use network-provided time;auto_time
+Use network-provided time zone;auto_zone
 Use one lock;unification
 Use personal profile sounds;work_use_personal_sounds
 Use screenshot;screenshot
 Use text from screen;context
-Use your face to;security_settings_face_unlock_category
 User credentials;user_credentials
-Users & profiles;user_list
 VPN;vpn_settings
+VPN & app user certificate;install_user_certificate
 VR helper services;enabled_vr_listeners
 VR helper services;vr_listener_settings
 Verify apps over USB;verify_apps_over_usb
-Vibration;accessibility_settings_vibration_screen
-Vibration;vibration_preference_screen
+Verify bytecode of debuggable apps;art_verifier_for_debuggable
+Vibrate for calls;vibrate_when_ringing
+Vibration & haptic strength;accessibility_settings_vibration_screen
+Vibration & haptic strength;vibration_preference_screen
 Virtual keyboard;virtual_keyboard_category
 Virtual keyboard;virtual_keyboard_pref
+Virtual keyboard for work;virtual_keyboards_for_work_pref
+VoLTE;enhanced_4g_lte
 Voice input;voice_input_settings
 Volume key shortcut;accessibility_shortcut_preference
 Wait for debugger;wait_for_debugger
 Wallpaper;wallpaper
 Wallpapers;wallpaper_attributions
-Wallpapers;wallpaper_type_settings
 WebView implementation;select_webview_provider
-What to show;lockscreen_what_to_show
-When Do Not Disturb is turned on;restrict_category
-When Do Not Disturb is turned on;zen_mode_settings_category_calls
-When Do Not Disturb is turned on;zen_mode_settings_category_msg_event_reminder
-When Do Not Disturb is turned on;zen_mode_settings_category_sound_vibration
+When there are multiple graphics drivers, you can pick to use the updated graphics driver for Apps installed on the device.;graphics_driver_footer
 When device is in VR;vr_display_pref
-When the screen is off;zen_mode_block_screen_off
-When the screen is on;zen_mode_block_screen_on
-When to show;ambient_display_category_when_to_show
 When to start;when_to_start
-When work profile is locked;lock_screen_notifications_profile
-When work profile is locked;security_setting_lock_screen_notif_work
 Wi-Fi;main_toggle_wifi
 Wi-Fi;toggle_wifi
-Wi-Fi;wifi_category
 Wi-Fi Direct;wifi_direct
-Wi-Fi MAC address;wifi_mac_address
+Wi-Fi MAC address;saved_accesspoints_wifi_mac_address
+Wi-Fi and Bluetooth scanning;location_scanning
+Wi-Fi and Bluetooth scanning;scanning_screen
+Wi-Fi calling;wifi_calling
+Wi-Fi certificate;install_wifi_certificate
 Wi-Fi control;change_wifi_state
-Wi-Fi data usage;wifi_data_usage
 Wi-Fi hotspot;wifi_tether
-Wi-Fi hotspot;wifi_tether_settings_screen
 Wi-Fi preferences;wifi_configure_settings_screen
+Wi-Fi scan throttling;wifi_scan_throttling
 Wi-Fi scanning;wifi_always_scanning
 Window animation scale;window_animation_scale
 Wireless display certification;wifi_display_certification
-Work notifications;lock_screen_notifications_profile_header
-Work notifications;security_setting_lock_screen_notif_work_header
 Work phone ringtone;work_ringtone
+Work profile;work_mode
 Work profile lock;unlock_set_or_change_profile
-Work profile security;security_category_profile
+Work profile settings;managed_profile_settings_screen
 Work profile sounds;sound_work_settings_section
-Your access to this device;device_access_category
+Your work policy info;work_policy_info
+ ;accessibility_control_timeout_video
+ ;adaptive_sleep_video
  ;auto_awesome_battery
  ;auto_brightness_video
+ ;aware_settings_video
  ;battery_header
  ;battery_tip
- ;feature_flag_category
+ ;bt_nearby_slice
+ ;notification_model_illustration
+ ;security_settings_face_video
+ ;use_sim_switch
diff --git a/tests/uitests/src/com/android/settings/ui/search/SettingsSearchResultRegressionTest.java b/tests/uitests/src/com/android/settings/ui/search/SettingsSearchResultRegressionTest.java
index 298428c..fd7fe34 100644
--- a/tests/uitests/src/com/android/settings/ui/search/SettingsSearchResultRegressionTest.java
+++ b/tests/uitests/src/com/android/settings/ui/search/SettingsSearchResultRegressionTest.java
@@ -74,9 +74,7 @@
     private static final String ERROR_RERUN_TEST =
             "Please re-run the test \"generate_search_result_list\" by removing the '@Ignore' "
                     + "annotation above 'generate_search_result_list' test, and run: \n"
-                    + "$ runtest --path "
-                    + "packages/apps/Settings/tests/uitests/src/com/android/settings/search"
-                    + "/SettingsSearchResultRegressionTest.java \n"
+                    + "$ atest SettingsSearchResultRegressionTest.java \n"
                     + "and copy the output into "
                     + "'packages/apps/Settings/tests/uitests/assets/search_result_list'\n";
 
diff --git a/tests/unit/Android.bp b/tests/unit/Android.bp
new file mode 100644
index 0000000..43bf02c
--- /dev/null
+++ b/tests/unit/Android.bp
@@ -0,0 +1,32 @@
+android_test {
+    name: "SettingsUnitTests",
+
+    certificate: "platform",
+
+    libs: [
+        "android.test.runner",
+        "telephony-common",
+        "ims-common",
+        "android.test.base",
+        "android.test.mock",
+    ],
+
+    static_libs: [
+        "androidx.test.rules",
+        "androidx.test.espresso.core",
+        "androidx.test.espresso.contrib-nodeps",
+        "androidx.test.espresso.intents-nodeps",
+        "mockito-target-minus-junit4",
+        "platform-test-annotations",
+        "truth-prebuilt",
+        "ub-uiautomator",
+    ],
+
+    // Include all test java files.
+    srcs: ["src/**/*.java"],
+
+    platform_apis: true,
+    test_suites: ["device-tests"],
+
+    instrumentation_for: "Settings",
+}
diff --git a/tests/unit/Android.mk b/tests/unit/Android.mk
deleted file mode 100644
index 35d2205..0000000
--- a/tests/unit/Android.mk
+++ /dev/null
@@ -1,35 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-# We only want this apk build for tests.
-LOCAL_MODULE_TAGS := tests
-LOCAL_CERTIFICATE := platform
-
-LOCAL_JAVA_LIBRARIES := \
-    android.test.runner \
-    telephony-common \
-    ims-common \
-    android.test.base \
-    android.test.mock \
-
-
-LOCAL_STATIC_JAVA_LIBRARIES := \
-    androidx.test.rules \
-    androidx.test.espresso.core \
-    androidx.test.espresso.contrib-nodeps \
-    androidx.test.espresso.intents-nodeps \
-    mockito-target-minus-junit4 \
-    platform-test-annotations \
-    truth-prebuilt \
-    ub-uiautomator
-
-# Include all test java files.
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-
-LOCAL_PACKAGE_NAME := SettingsUnitTests
-LOCAL_PRIVATE_PLATFORM_APIS := true
-LOCAL_COMPATIBILITY_SUITE := device-tests
-
-LOCAL_INSTRUMENTATION_FOR := Settings
-
-include $(BUILD_PACKAGE)
diff --git a/tests/unit/src/com/android/settings/RegulatoryInfoDisplayActivityTest.java b/tests/unit/src/com/android/settings/RegulatoryInfoDisplayActivityTest.java
deleted file mode 100644
index 1701ddf..0000000
--- a/tests/unit/src/com/android/settings/RegulatoryInfoDisplayActivityTest.java
+++ /dev/null
@@ -1,73 +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;
-
-import static junit.framework.Assert.fail;
-
-import android.app.Instrumentation;
-import android.app.UiAutomation;
-import android.content.Context;
-import android.content.Intent;
-import android.content.pm.ResolveInfo;
-
-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;
-
-@RunWith(AndroidJUnit4.class)
-@SmallTest
-public class RegulatoryInfoDisplayActivityTest {
-    private static final String TAG = "RegulatoryInfoTest";
-
-    private Instrumentation mInstrumentation;
-    private Intent mRegulatoryInfoIntent;
-    private UiAutomation mUiAutomation;
-
-    @Before
-    public void setUp() {
-        mInstrumentation = InstrumentationRegistry.getInstrumentation();
-        mUiAutomation = InstrumentationRegistry.getInstrumentation().getUiAutomation();
-        mRegulatoryInfoIntent = new Intent("android.settings.SHOW_REGULATORY_INFO")
-                .addCategory(Intent.CATEGORY_DEFAULT)
-                .setPackage(mInstrumentation.getTargetContext().getPackageName());
-    }
-
-    @Test
-    public void resolveRegulatoryInfoIntent_intentShouldMatchConfig() {
-        // Load intent from PackageManager and load config from Settings app
-        final Context context = mInstrumentation.getTargetContext();
-
-        final boolean hasRegulatoryInfo = context.getResources()
-                .getBoolean(R.bool.config_show_regulatory_info);
-        final ResolveInfo resolveInfo = mInstrumentation.getTargetContext().getPackageManager()
-                .resolveActivity(mRegulatoryInfoIntent, 0 /* flags */);
-
-        // Check config and intent both enable or both disabled.
-        if (hasRegulatoryInfo && resolveInfo == null) {
-            fail("Config enables regulatory info but there is no handling intent");
-            return;
-        }
-        if (!hasRegulatoryInfo && resolveInfo != null) {
-            fail("Config disables regulatory info but there is at least one handling intent");
-            return;
-        }
-    }
-}
diff --git a/tests/unit/src/com/android/settings/accessibility/AccessibilityShortcutPreferenceFragmentTest.java b/tests/unit/src/com/android/settings/accessibility/AccessibilityShortcutPreferenceFragmentTest.java
deleted file mode 100644
index 0c27379..0000000
--- a/tests/unit/src/com/android/settings/accessibility/AccessibilityShortcutPreferenceFragmentTest.java
+++ /dev/null
@@ -1,124 +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.accessibility;
-
-import static androidx.test.espresso.Espresso.onView;
-import static androidx.test.espresso.assertion.ViewAssertions.matches;
-import static androidx.test.espresso.matcher.ViewMatchers.hasDescendant;
-import static androidx.test.espresso.matcher.ViewMatchers.isChecked;
-import static androidx.test.espresso.matcher.ViewMatchers.isNotChecked;
-import static androidx.test.espresso.matcher.ViewMatchers.withParent;
-import static androidx.test.espresso.matcher.ViewMatchers.withText;
-
-import static org.hamcrest.CoreMatchers.instanceOf;
-import static org.hamcrest.CoreMatchers.not;
-import static org.hamcrest.Matchers.allOf;
-
-import android.app.Instrumentation;
-import android.os.Bundle;
-
-import android.provider.Settings;
-import android.widget.CompoundButton;
-
-import androidx.test.InstrumentationRegistry;
-import androidx.test.rule.ActivityTestRule;
-import androidx.test.runner.AndroidJUnit4;
-
-import com.android.settings.R;
-import com.android.settings.Settings.AccessibilitySettingsActivity;
-import com.android.settings.core.InstrumentedPreferenceFragment;
-import com.android.settings.core.SubSettingLauncher;
-
-import org.hamcrest.Matcher;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-@RunWith(AndroidJUnit4.class)
-public class AccessibilityShortcutPreferenceFragmentTest {
-    @Rule
-    public final ActivityTestRule<AccessibilitySettingsActivity> mActivityRule =
-            new ActivityTestRule<>(AccessibilitySettingsActivity.class, true);
-
-    private final Instrumentation mInstrumentation = InstrumentationRegistry.getInstrumentation();
-    private AccessibilityShortcutPreferenceFragment mAccessibilityShortcutPreferenceFragment;
-    private AccessibilitySettingsActivity mActivity;
-
-    @Before
-    public void setUp() {
-        mActivity = mActivityRule.getActivity();
-    }
-
-    @Test
-    public void lockScreenPreference_setOnBeforeDialogShown_isOn() {
-        setDialogShown(false);
-        setOnLockscreen(true);
-        startFragment();
-        assertLockscreenSwitchIsCheckedIs(true);
-    }
-
-    @Test
-    public void lockScreenPreference_defaultAfterDialogShown_isOn() {
-        setDialogShown(true);
-        setOnLockscreen(null);
-        startFragment();
-        assertLockscreenSwitchIsCheckedIs(true);
-    }
-
-    private void startFragment() {
-        mInstrumentation.runOnMainSync(() -> {
-            new SubSettingLauncher(mActivity)
-                    .setDestination(AccessibilityShortcutPreferenceFragment.class.getName())
-                    .setArguments(new Bundle())
-                    .setSourceMetricsCategory(
-                            InstrumentedPreferenceFragment.METRICS_CATEGORY_UNKNOWN)
-                    .launch();
-        });
-    }
-
-    private void setDialogShown(boolean shown) {
-        Settings.Secure.putInt(mActivity.getContentResolver(),
-                Settings.Secure.ACCESSIBILITY_SHORTCUT_DIALOG_SHOWN, shown ? 1 : 0);
-    }
-
-    private void setOnLockscreen(Boolean onLockscreen) {
-        if (onLockscreen == null) {
-            Settings.Secure.putString(mActivity.getContentResolver(),
-                    Settings.Secure.ACCESSIBILITY_SHORTCUT_ON_LOCK_SCREEN, null);
-        } else {
-            Settings.Secure.putInt(mActivity.getContentResolver(),
-                    Settings.Secure.ACCESSIBILITY_SHORTCUT_ON_LOCK_SCREEN, onLockscreen ? 1 : 0);
-        }
-    }
-
-    private void assertLockscreenSwitchIsCheckedIs(boolean isChecked) {
-        // Identify the switch by looking for a grandparent that has a descendent with the
-        // switch label. To disambiguate, make sure that grandparent doesn't also have a descendant
-        // with the title of the main switch
-        final String lockScreenSwitchTitle =
-                mActivity.getString(R.string.accessibility_shortcut_service_on_lock_screen_title);
-        final String mainSwitchTitle =
-                mActivity.getString(R.string.accessibility_service_master_switch_title);
-        Matcher isCheckedMatcher = (isChecked) ? isChecked() : isNotChecked();
-        Matcher hasLockScreenTitleDescendant = hasDescendant(withText(lockScreenSwitchTitle));
-        Matcher noMainSwitchTitleDescendant = not(hasDescendant(withText(mainSwitchTitle)));
-        onView(allOf(withParent(withParent(allOf(
-                hasLockScreenTitleDescendant, noMainSwitchTitleDescendant))),
-                instanceOf(CompoundButton.class))).check(matches(isCheckedMatcher));
-    }
-}
diff --git a/tests/unit/src/com/android/settings/core/LifecycleEventHandlingTest.java b/tests/unit/src/com/android/settings/core/LifecycleEventHandlingTest.java
index 57d5662..2592689 100644
--- a/tests/unit/src/com/android/settings/core/LifecycleEventHandlingTest.java
+++ b/tests/unit/src/com/android/settings/core/LifecycleEventHandlingTest.java
@@ -36,6 +36,7 @@
 import com.android.settingslib.core.instrumentation.Instrumentable;
 
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
@@ -60,6 +61,7 @@
 
     @Test
     @Presubmit
+    @Ignore("b/133334887")
     public void launchDashboard_shouldSeeFooter() {
         new SubSettingLauncher(mContext)
                 .setDestination(FeatureFlagsDashboard.class.getName())
diff --git a/tests/unit/src/com/android/settings/core/PreferenceControllerContractTest.java b/tests/unit/src/com/android/settings/core/PreferenceControllerContractTest.java
index ad6be04..2d083f0 100644
--- a/tests/unit/src/com/android/settings/core/PreferenceControllerContractTest.java
+++ b/tests/unit/src/com/android/settings/core/PreferenceControllerContractTest.java
@@ -28,9 +28,9 @@
 import androidx.test.runner.AndroidJUnit4;
 
 import com.android.settings.overlay.FeatureFactory;
-import com.android.settings.search.DatabaseIndexingUtils;
-import com.android.settings.search.Indexable;
+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;
@@ -60,10 +60,10 @@
         final SearchIndexableResources resources =
                 FeatureFactory.getFactory(mContext).getSearchFeatureProvider()
                         .getSearchIndexableResources();
-        for (Class<?> clazz : resources.getProviderValues()) {
+        for (SearchIndexableData bundle : resources.getProviderValues()) {
 
-            final Indexable.SearchIndexProvider provider =
-                    DatabaseIndexingUtils.getSearchIndexProvider(clazz);
+            final BaseSearchIndexProvider provider =
+                    (BaseSearchIndexProvider) bundle.getSearchIndexProvider();
             if (provider == null) {
                 continue;
             }
diff --git a/tests/unit/src/com/android/settings/core/UniquePreferenceTest.java b/tests/unit/src/com/android/settings/core/UniquePreferenceTest.java
index 0998494..9ed1c91 100644
--- a/tests/unit/src/com/android/settings/core/UniquePreferenceTest.java
+++ b/tests/unit/src/com/android/settings/core/UniquePreferenceTest.java
@@ -32,9 +32,9 @@
 
 import com.android.settings.core.PreferenceXmlParserUtils.MetadataFlag;
 import com.android.settings.overlay.FeatureFactory;
-import com.android.settings.search.DatabaseIndexingUtils;
-import com.android.settings.search.Indexable;
-import com.android.settings.search.SearchIndexableRaw;
+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;
@@ -120,8 +120,8 @@
         final SearchIndexableResources resources =
                 FeatureFactory.getFactory(mContext).getSearchFeatureProvider()
                         .getSearchIndexableResources();
-        for (Class<?> clazz : resources.getProviderValues()) {
-            verifyPreferenceKeys(uniqueKeys, duplicatedKeys, nullKeyClasses, clazz);
+        for (SearchIndexableData SearchIndexableData : resources.getProviderValues()) {
+            verifyPreferenceKeys(uniqueKeys, duplicatedKeys, nullKeyClasses, SearchIndexableData);
         }
 
         if (!nullKeyClasses.isEmpty()) {
@@ -145,14 +145,12 @@
     }
 
     private void verifyPreferenceKeys(Set<String> uniqueKeys, Set<String> duplicatedKeys,
-            Set<String> nullKeyClasses, Class<?> clazz)
+            Set<String> nullKeyClasses, SearchIndexableData searchIndexableData)
             throws IOException, XmlPullParserException, Resources.NotFoundException {
-        if (clazz == null) {
-            return;
-        }
-        final String className = clazz.getName();
+
+        final String className = searchIndexableData.getTargetClass().getName();
         final Indexable.SearchIndexProvider provider =
-                DatabaseIndexingUtils.getSearchIndexProvider(clazz);
+                searchIndexableData.getSearchIndexProvider();
         final List<SearchIndexableRaw> rawsToIndex = provider.getRawDataToIndex(mContext, true);
         final List<SearchIndexableResource> resourcesToIndex =
                 provider.getXmlResourcesToIndex(mContext, true);
diff --git a/tests/unit/src/com/android/settings/core/UserRestrictionTest.java b/tests/unit/src/com/android/settings/core/UserRestrictionTest.java
index 20f8765..e8e4927 100644
--- a/tests/unit/src/com/android/settings/core/UserRestrictionTest.java
+++ b/tests/unit/src/com/android/settings/core/UserRestrictionTest.java
@@ -33,8 +33,8 @@
 import androidx.test.runner.AndroidJUnit4;
 
 import com.android.settings.overlay.FeatureFactory;
-import com.android.settings.search.DatabaseIndexingUtils;
-import com.android.settings.search.Indexable;
+import com.android.settingslib.search.Indexable;
+import com.android.settingslib.search.SearchIndexableData;
 import com.android.settingslib.search.SearchIndexableResources;
 
 import com.google.android.collect.Sets;
@@ -84,22 +84,21 @@
         final SearchIndexableResources resources =
                 FeatureFactory.getFactory(mContext).getSearchFeatureProvider()
                         .getSearchIndexableResources();
-        for (Class<?> clazz : resources.getProviderValues()) {
-            verifyUserRestriction(clazz);
+        for (SearchIndexableData bundle : resources.getProviderValues()) {
+            verifyUserRestriction(bundle);
         }
     }
 
-    private void verifyUserRestriction(Class<?> clazz)
+    private void verifyUserRestriction(SearchIndexableData searchIndexableData)
             throws IOException, XmlPullParserException, Resources.NotFoundException {
-        if (clazz == null) {
-            return;
-        }
-        final String className = clazz.getName();
+
         final Indexable.SearchIndexProvider provider =
-                DatabaseIndexingUtils.getSearchIndexProvider(clazz);
+                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;
diff --git a/tests/unit/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java b/tests/unit/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java
deleted file mode 100644
index 2c80a82..0000000
--- a/tests/unit/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java
+++ /dev/null
@@ -1,57 +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.fuelgauge;
-
-import static androidx.test.espresso.Espresso.onView;
-import static androidx.test.espresso.action.ViewActions.click;
-import static androidx.test.espresso.matcher.ViewMatchers.withText;
-
-import android.app.Instrumentation;
-import android.content.Intent;
-
-import androidx.test.InstrumentationRegistry;
-import androidx.test.filters.SmallTest;
-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)
-@SmallTest
-public class PowerUsageSummaryTest {
-    private static final String BATTERY_INTENT = "android.intent.action.POWER_USAGE_SUMMARY";
-
-    @Before
-    public void SetUp() {
-        Instrumentation instrumentation = InstrumentationRegistry.getInstrumentation();
-        instrumentation.startActivitySync(new Intent(BATTERY_INTENT));
-    }
-
-    @Test
-    public void testClickLastFullCharge_shouldNotCrash() {
-        onView(withText(R.string.battery_last_full_charge)).perform(click());
-    }
-
-    @Test
-    public void testClickScreenUsage_shouldNotCrash() {
-        onView(withText(R.string.device_screen_usage)).perform(click());
-    }
-
-}
diff --git a/tests/unit/src/com/android/settings/fuelgauge/batterytip/RestrictAppTest.java b/tests/unit/src/com/android/settings/fuelgauge/batterytip/RestrictAppTest.java
index d9874f4..355a7e4 100644
--- a/tests/unit/src/com/android/settings/fuelgauge/batterytip/RestrictAppTest.java
+++ b/tests/unit/src/com/android/settings/fuelgauge/batterytip/RestrictAppTest.java
@@ -27,6 +27,7 @@
 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;
@@ -42,6 +43,7 @@
 @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";
@@ -50,10 +52,16 @@
 
     private BatteryDatabaseManager mBatteryDatabaseManager;
     private PackageManager mPackageManager;
+    private UiDevice mUiDevice;
 
     @Before
-    public void setUp() {
+    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() +
@@ -68,7 +76,7 @@
                 AnomalyDatabaseHelper.State.NEW, System.currentTimeMillis());
 
         Instrumentation instrumentation = InstrumentationRegistry.getInstrumentation();
-        instrumentation.startActivitySync(new Intent(BATTERY_INTENT));
+        instrumentation.startActivitySync(createBatteryIntent());
         onView(withText("Restrict 1 app")).check(matches(isDisplayed()));
     }
 
@@ -83,26 +91,11 @@
                 AnomalyDatabaseHelper.State.NEW, System.currentTimeMillis());
 
         Instrumentation instrumentation = InstrumentationRegistry.getInstrumentation();
-        instrumentation.startActivitySync(new Intent(BATTERY_INTENT));
+        instrumentation.startActivitySync(createBatteryIntent());
         onView(withText("Restrict 2 apps")).check(matches(isDisplayed()));
     }
 
     @Test
-    public void batterySettings_hasAutoHandledAnomalies_showAutoHandled() throws
-            PackageManager.NameNotFoundException {
-        mBatteryDatabaseManager.insertAnomaly(mPackageManager.getPackageUid(PACKAGE_SETTINGS, 0),
-                PACKAGE_SETTINGS, 1,
-                AnomalyDatabaseHelper.State.AUTO_HANDLED, System.currentTimeMillis());
-        mBatteryDatabaseManager.insertAnomaly(mPackageManager.getPackageUid(PACKAGE_SYSTEM_UI, 0),
-                PACKAGE_SYSTEM_UI, 1,
-                AnomalyDatabaseHelper.State.AUTO_HANDLED, System.currentTimeMillis());
-
-        Instrumentation instrumentation = InstrumentationRegistry.getInstrumentation();
-        instrumentation.startActivitySync(new Intent(BATTERY_INTENT));
-        onView(withText("2 apps recently restricted")).check(matches(isDisplayed()));
-    }
-
-    @Test
     public void insertDuplicateAnomalies_onlyInsertOnce() throws
             PackageManager.NameNotFoundException {
         final int uid = mPackageManager.getPackageUid(PACKAGE_SETTINGS, 0);
@@ -123,4 +116,11 @@
                 .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/password/ChooseLockGenericTest.java b/tests/unit/src/com/android/settings/password/ChooseLockGenericTest.java
index 582afd2..4b539cc 100644
--- a/tests/unit/src/com/android/settings/password/ChooseLockGenericTest.java
+++ b/tests/unit/src/com/android/settings/password/ChooseLockGenericTest.java
@@ -43,6 +43,7 @@
 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;
@@ -150,7 +151,7 @@
                 .putExtra(LockPatternUtils.PASSWORD_TYPE_KEY,
                         DevicePolicyManager.PASSWORD_QUALITY_NUMERIC)
                 .putExtra(ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD,
-                        "12345")
+                        LockscreenCredential.createPin("12345"))
                 .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
         getInstrumentation().getContext().startActivity(newPasswordIntent);
         mDevice.waitForIdle();
diff --git a/tests/unit/src/com/android/settings/slices/SliceDataContractTest.java b/tests/unit/src/com/android/settings/slices/SliceDataContractTest.java
index a914c1c9..61629e9 100644
--- a/tests/unit/src/com/android/settings/slices/SliceDataContractTest.java
+++ b/tests/unit/src/com/android/settings/slices/SliceDataContractTest.java
@@ -31,8 +31,8 @@
 
 import com.android.settings.core.PreferenceXmlParserUtils;
 import com.android.settings.overlay.FeatureFactory;
-import com.android.settings.search.DatabaseIndexingUtils;
-import com.android.settings.search.Indexable;
+import com.android.settingslib.search.Indexable;
+import com.android.settingslib.search.SearchIndexableData;
 import com.android.settingslib.search.SearchIndexableResources;
 
 import org.junit.Before;
@@ -67,8 +67,8 @@
                 FeatureFactory.getFactory(mContext).getSearchFeatureProvider()
                         .getSearchIndexableResources();
 
-        for (Class<?> clazz : resources.getProviderValues()) {
-            verifyPreferenceTitle(nullTitleFragments, clazz);
+        for (SearchIndexableData SearchIndexableData : resources.getProviderValues()) {
+            verifyPreferenceTitle(nullTitleFragments, SearchIndexableData);
         }
 
         if (!nullTitleFragments.isEmpty()) {
@@ -82,14 +82,13 @@
         }
     }
 
-    private void verifyPreferenceTitle(Set<String> nullTitleFragments, Class<?> clazz)
+    private void verifyPreferenceTitle(Set<String> nullTitleFragments,
+            SearchIndexableData searchIndexableData)
             throws IOException, XmlPullParserException {
-        if (clazz == null) {
-            return;
-        }
-        final String className = clazz.getName();
+
+        final String className = searchIndexableData.getTargetClass().getName();
         final Indexable.SearchIndexProvider provider =
-                DatabaseIndexingUtils.getSearchIndexProvider(clazz);
+                searchIndexableData.getSearchIndexProvider();
 
         final List<SearchIndexableResource> resourcesToIndex =
                 provider.getXmlResourcesToIndex(mContext, true);
diff --git a/tests/unit/src/com/android/settings/wifi/WifiCallingSettingUiTest.java b/tests/unit/src/com/android/settings/wifi/WifiCallingSettingUiTest.java
index 3198914..e913e2c 100644
--- a/tests/unit/src/com/android/settings/wifi/WifiCallingSettingUiTest.java
+++ b/tests/unit/src/com/android/settings/wifi/WifiCallingSettingUiTest.java
@@ -28,8 +28,8 @@
 import static org.hamcrest.CoreMatchers.anything;
 import static org.junit.Assert.assertEquals;
 import static org.junit.matchers.JUnitMatchers.containsString;
-import static org.mockito.ArgumentMatchers.anyBoolean;
 import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.ArgumentMatchers.nullable;
 import static org.mockito.Mockito.doReturn;
 
 import android.app.Activity;
@@ -38,13 +38,13 @@
 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.ImsConfig;
 import com.android.ims.ImsManager;
 import com.android.internal.telephony.SubscriptionController;
 import com.android.settings.testutils.MockedServiceManager;
@@ -87,6 +87,10 @@
     ImsManager mImsManager0;
     @Mock
     ImsManager mImsManager1;
+    @Mock
+    ImsMmTelManager mImsMmTelManager0;
+    @Mock
+    ImsMmTelManager mImsMmTelManager1;
 
     @Before
     public void setUp() throws Exception {
@@ -106,7 +110,8 @@
                 .when(mSubscriptionController).queryLocalInterface(anyString());
         mImsManagerInstances.put(0, mImsManager0);
         mImsManagerInstances.put(1, mImsManager1);
-        doReturn(mSils).when(mSubscriptionController).getActiveSubscriptionInfoList(anyString());
+        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();
@@ -134,10 +139,10 @@
     public void testSingleSimUi() throws InterruptedException {
         configureSingleSim();
         doReturn(true).when(mImsManager0).isWfcEnabledByUser();
-        doReturn(ImsConfig.WfcModeFeatureValueConstants.WIFI_PREFERRED)
-                .when(mImsManager0).getWfcMode();
-        doReturn(ImsConfig.WfcModeFeatureValueConstants.WIFI_PREFERRED)
-                .when(mImsManager0).getWfcMode(anyBoolean());
+        doReturn(ImsMmTelManager.WIFI_MODE_WIFI_PREFERRED)
+                .when(mImsMmTelManager0).getVoWiFiModeSetting();
+        doReturn(ImsMmTelManager.WIFI_MODE_WIFI_PREFERRED)
+                .when(mImsMmTelManager0).getVoWiFiRoamingModeSetting();
 
         mInstrumentation.startActivitySync(createActivityIntent());
 
@@ -179,10 +184,10 @@
         doReturn(false).when(mImsManager1).isWfcEnabledByPlatform();
         doReturn(false).when(mImsManager1).isNonTtyOrTtyOnVolteEnabled();
         doReturn(false).when(mImsManager0).isWfcEnabledByUser();
-        doReturn(ImsConfig.WfcModeFeatureValueConstants.WIFI_PREFERRED)
-                .when(mImsManager0).getWfcMode();
-        doReturn(ImsConfig.WfcModeFeatureValueConstants.WIFI_PREFERRED)
-                .when(mImsManager0).getWfcMode(anyBoolean());
+        doReturn(ImsMmTelManager.WIFI_MODE_WIFI_PREFERRED)
+                .when(mImsMmTelManager0).getVoWiFiModeSetting();
+        doReturn(ImsMmTelManager.WIFI_MODE_WIFI_PREFERRED)
+                .when(mImsMmTelManager0).getVoWiFiRoamingModeSetting();
 
         Activity activity = mInstrumentation.startActivitySync(createActivityIntent());
 
@@ -198,10 +203,10 @@
     public void testWfcDisabled() throws InterruptedException {
         configureSingleSim();
         doReturn(false).when(mImsManager0).isWfcEnabledByUser();
-        doReturn(ImsConfig.WfcModeFeatureValueConstants.WIFI_PREFERRED)
-                .when(mImsManager0).getWfcMode();
-        doReturn(ImsConfig.WfcModeFeatureValueConstants.WIFI_PREFERRED)
-                .when(mImsManager0).getWfcMode(anyBoolean());
+        doReturn(ImsMmTelManager.WIFI_MODE_WIFI_PREFERRED)
+                .when(mImsMmTelManager0).getVoWiFiModeSetting();
+        doReturn(ImsMmTelManager.WIFI_MODE_WIFI_PREFERRED)
+                .when(mImsMmTelManager0).getVoWiFiRoamingModeSetting();
 
         Activity activity = mInstrumentation.startActivitySync(createActivityIntent());
 
@@ -218,10 +223,10 @@
         configureDualSim();
         doReturn(true).when(mImsManager0).isWfcEnabledByUser();
         doReturn(false).when(mImsManager1).isWfcEnabledByUser();
-        doReturn(ImsConfig.WfcModeFeatureValueConstants.CELLULAR_PREFERRED)
-                .when(mImsManager0).getWfcMode();
-        doReturn(ImsConfig.WfcModeFeatureValueConstants.CELLULAR_PREFERRED)
-                .when(mImsManager0).getWfcMode(anyBoolean());
+        doReturn(ImsMmTelManager.WIFI_MODE_CELLULAR_PREFERRED)
+                .when(mImsMmTelManager0).getVoWiFiModeSetting();
+        doReturn(ImsMmTelManager.WIFI_MODE_CELLULAR_PREFERRED)
+                .when(mImsMmTelManager0).getVoWiFiRoamingModeSetting();
 
         mInstrumentation.startActivitySync(createActivityIntent());
 
@@ -256,6 +261,7 @@
                 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;
     }
 
diff --git a/tests/unit/src/com/android/settings/wifi/WifiSettingsUiTest.java b/tests/unit/src/com/android/settings/wifi/WifiSettingsUiTest.java
index d068ce0..bc8a52a 100644
--- a/tests/unit/src/com/android/settings/wifi/WifiSettingsUiTest.java
+++ b/tests/unit/src/com/android/settings/wifi/WifiSettingsUiTest.java
@@ -15,7 +15,6 @@
  */
 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;
@@ -28,9 +27,7 @@
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.hamcrest.Matchers.allOf;
-import static org.hamcrest.Matchers.not;
 import static org.hamcrest.Matchers.startsWith;
-import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
@@ -39,9 +36,9 @@
 import android.net.ConnectivityManager;
 import android.net.NetworkInfo;
 import android.net.wifi.WifiConfiguration;
+import android.net.wifi.WifiConfiguration.NetworkSelectionStatus;
 import android.net.wifi.WifiInfo;
 import android.net.wifi.WifiManager;
-import android.net.wifi.WifiSsid;
 import android.provider.Settings;
 
 import androidx.fragment.app.Fragment;
@@ -60,13 +57,13 @@
 import com.google.common.collect.Lists;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 
+import java.nio.charset.StandardCharsets;
 import java.util.List;
 
 @RunWith(AndroidJUnit4.class)
@@ -129,11 +126,12 @@
         config.SSID = TEST_SSID;
         config.BSSID = TEST_BSSID;
         config.networkId = TEST_NETWORK_ID;
-        WifiInfo wifiInfo = new WifiInfo();
-        wifiInfo.setSSID(WifiSsid.createFromAsciiEncoded(TEST_UNQUOTED_SSID));
-        wifiInfo.setBSSID(TEST_BSSID);
-        wifiInfo.setRssi(TEST_RSSI);
-        wifiInfo.setNetworkId(TEST_NETWORK_ID);
+        WifiInfo wifiInfo = new WifiInfo.Builder()
+                .setSsid(TEST_UNQUOTED_SSID.getBytes(StandardCharsets.UTF_8))
+                .setBssid(TEST_BSSID)
+                .setRssi(TEST_RSSI)
+                .setNetworkId(TEST_NETWORK_ID)
+                .build();
         NetworkInfo networkInfo = new NetworkInfo(ConnectivityManager.TYPE_WIFI, 0, null, null);
         networkInfo.setDetailedState(NetworkInfo.DetailedState.CONNECTED, null, null);
         AccessPoint accessPoint = new AccessPoint(mContext, config);
@@ -294,19 +292,20 @@
         config.networkId = TEST_NETWORK_ID;
         config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);
 
-        WifiConfiguration.NetworkSelectionStatus selectionStatus =
-                new WifiConfiguration.NetworkSelectionStatus();
-        selectionStatus.setNetworkSelectionDisableReason(
-                WifiConfiguration.NetworkSelectionStatus.DISABLED_BY_WRONG_PASSWORD);
-        selectionStatus.setNetworkSelectionStatus(
-                WifiConfiguration.NetworkSelectionStatus.NETWORK_SELECTION_TEMPORARY_DISABLED);
+        NetworkSelectionStatus selectionStatus = new NetworkSelectionStatus.Builder()
+                .setNetworkSelectionDisableReason(
+                        NetworkSelectionStatus.DISABLED_BY_WRONG_PASSWORD)
+                .setNetworkSelectionStatus(
+                        NetworkSelectionStatus.NETWORK_SELECTION_TEMPORARY_DISABLED)
+                .build();
         config.setNetworkSelectionStatus(selectionStatus);
 
-        WifiInfo wifiInfo = new WifiInfo();
-        wifiInfo.setSSID(WifiSsid.createFromAsciiEncoded(TEST_UNQUOTED_SSID));
-        wifiInfo.setBSSID(TEST_BSSID);
-        wifiInfo.setRssi(TEST_RSSI);
-        wifiInfo.setNetworkId(TEST_NETWORK_ID);
+        WifiInfo wifiInfo = new WifiInfo.Builder()
+                .setSsid(TEST_UNQUOTED_SSID.getBytes(StandardCharsets.UTF_8))
+                .setBssid(TEST_BSSID)
+                .setRssi(TEST_RSSI)
+                .setNetworkId(TEST_NETWORK_ID)
+                .build();
         AccessPoint accessPoint = new AccessPoint(mContext, config);
         accessPoint.update(config, wifiInfo, null);
 
@@ -315,12 +314,12 @@
         assertThat(accessPoint.getBssid()).isEqualTo(TEST_BSSID);
         assertThat(accessPoint.isActive()).isFalse();
         assertThat(accessPoint.getConfig()).isNotNull();
-        WifiConfiguration.NetworkSelectionStatus networkStatus =
-                accessPoint.getConfig().getNetworkSelectionStatus();
+        NetworkSelectionStatus networkStatus = accessPoint.getConfig().getNetworkSelectionStatus();
         assertThat(networkStatus).isNotNull();
-        assertThat(networkStatus.isNetworkEnabled()).isFalse();
+        assertThat(networkStatus.getNetworkSelectionStatus())
+                .isEqualTo(NetworkSelectionStatus.NETWORK_SELECTION_TEMPORARY_DISABLED);
         assertThat(networkStatus.getNetworkSelectionDisableReason()).isEqualTo(
-                WifiConfiguration.NetworkSelectionStatus.DISABLED_BY_WRONG_PASSWORD);
+                NetworkSelectionStatus.DISABLED_BY_WRONG_PASSWORD);
 
         when(mWifiTracker.getAccessPoints()).thenReturn(Lists.newArrayList(accessPoint));
         launchActivity(WifiSettings.EXTRA_START_CONNECT_SSID, accessPoint.getSsidStr());
diff --git a/tests/unit/src/com/android/settings/wifi/dpp/WifiDppConfiguratorActivityTest.java b/tests/unit/src/com/android/settings/wifi/dpp/WifiDppConfiguratorActivityTest.java
index de78828..7c87e7d 100644
--- a/tests/unit/src/com/android/settings/wifi/dpp/WifiDppConfiguratorActivityTest.java
+++ b/tests/unit/src/com/android/settings/wifi/dpp/WifiDppConfiguratorActivityTest.java
@@ -26,10 +26,13 @@
 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;
@@ -60,8 +63,13 @@
         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(mActivityRule.getActivity().isFinishing()).isEqualTo(false);
+        assertThat(fragment.getView() instanceof GlifLayout).isTrue();
+        assertThat(mActivityRule.getActivity().isFinishing()).isFalse();
     }
 
     @Test
@@ -73,8 +81,13 @@
         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(mActivityRule.getActivity().isFinishing()).isEqualTo(false);
+        assertThat(fragment.getView() instanceof GlifLayout).isTrue();
+        assertThat(mActivityRule.getActivity().isFinishing()).isFalse();
     }
 
     @Test
@@ -84,22 +97,14 @@
 
         mActivityRule.launchActivity(intent);
 
-        assertThat(mActivityRule.getActivity().isFinishing()).isEqualTo(false);
+        assertThat(mActivityRule.getActivity().isFinishing()).isFalse();
     }
 
     @Test
     public void testActivity_shouldImplementsWifiNetworkConfigRetriever() {
         WifiDppConfiguratorActivity activity = mActivityRule.getActivity();
 
-        assertThat(activity instanceof WifiNetworkConfig.Retriever).isEqualTo(true);
-    }
-
-    @Test
-    public void testActivity_shouldImplementsQrCodeGeneratorFragmentCallback() {
-        WifiDppConfiguratorActivity activity = mActivityRule.getActivity();
-
-        assertThat(activity instanceof WifiDppQrCodeGeneratorFragment
-                .OnQrCodeGeneratorFragmentAddButtonClickedListener).isEqualTo(true);
+        assertThat(activity instanceof WifiNetworkConfig.Retriever).isTrue();
     }
 
     @Test
@@ -107,7 +112,7 @@
         WifiDppConfiguratorActivity activity = mActivityRule.getActivity();
 
         assertThat(activity instanceof WifiDppQrCodeScannerFragment
-                .OnScanWifiDppSuccessListener).isEqualTo(true);
+                .OnScanWifiDppSuccessListener).isTrue();
     }
 
     @Test
@@ -115,7 +120,7 @@
         WifiDppConfiguratorActivity activity = mActivityRule.getActivity();
 
         assertThat(activity instanceof WifiDppAddDeviceFragment
-                .OnClickChooseDifferentNetworkListener).isEqualTo(true);
+                .OnClickChooseDifferentNetworkListener).isTrue();
     }
 
     @Test
@@ -175,40 +180,4 @@
         assertThat(restoredWifiNetworkConfig.getNetworkId()).isEqualTo(0);
         assertThat(restoredWifiNetworkConfig.isHotspot()).isTrue();
     }
-
-    @Test
-    public void launchScanner_onNavigateUp_shouldFinish() {
-        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 Instrumentation instrumentation = InstrumentationRegistry.getInstrumentation();
-
-        mActivityRule.launchActivity(intent);
-
-        instrumentation.runOnMainSync(() -> {
-            mActivityRule.getActivity().onNavigateUp();
-
-            assertThat(mActivityRule.getActivity().isFinishing()).isEqualTo(true);
-        });
-    }
-
-    @Test
-    public void launchGenerator_onNavigateUp_shouldFinish() {
-        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");
-        final Instrumentation instrumentation = InstrumentationRegistry.getInstrumentation();
-
-        mActivityRule.launchActivity(intent);
-
-        instrumentation.runOnMainSync(() -> {
-            mActivityRule.getActivity().onNavigateUp();
-
-            assertThat(mActivityRule.getActivity().isFinishing()).isEqualTo(true);
-        });
-    }
-
 }
diff --git a/tests/unit/src/com/android/settings/wifi/dpp/WifiNetworkListFragmentTest.java b/tests/unit/src/com/android/settings/wifi/dpp/WifiNetworkListFragmentTest.java
index 832f153..fec0c6f 100644
--- a/tests/unit/src/com/android/settings/wifi/dpp/WifiNetworkListFragmentTest.java
+++ b/tests/unit/src/com/android/settings/wifi/dpp/WifiNetworkListFragmentTest.java
@@ -23,9 +23,7 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
-import static org.mockito.Mockito.any;
 import static org.mockito.Mockito.when;
-import static org.mockito.Mockito.verify;
 
 import android.content.Context;
 import android.content.Intent;
@@ -35,7 +33,6 @@
 import android.net.wifi.WifiConfiguration;
 import android.net.wifi.WifiInfo;
 import android.net.wifi.WifiManager;
-import android.net.wifi.WifiSsid;
 import android.provider.Settings;
 
 import androidx.fragment.app.Fragment;
@@ -45,19 +42,18 @@
 
 import com.android.settingslib.wifi.AccessPoint;
 import com.android.settingslib.wifi.WifiTracker;
-import com.android.settingslib.wifi.WifiTracker.WifiListener;
 import com.android.settingslib.wifi.WifiTrackerFactory;
 
 import com.google.common.collect.Lists;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 
+import java.nio.charset.StandardCharsets;
 import java.util.List;
 
 @RunWith(AndroidJUnit4.class)
@@ -107,8 +103,6 @@
         intent.setData(Uri.parse(uriString));
         mActivityRule.launchActivity(intent);
 
-        verify(mWifiTracker).getManager();
-
         List<Fragment> fragments =
                 mActivityRule.getActivity().getSupportFragmentManager().getFragments();
         assertThat(fragments.size()).isEqualTo(1);
@@ -138,11 +132,12 @@
         config.BSSID = TEST_BSSID;
         config.networkId = TEST_NETWORK_ID;
         config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);
-        final WifiInfo wifiInfo = new WifiInfo();
-        wifiInfo.setSSID(WifiSsid.createFromAsciiEncoded(TEST_UNQUOTED_SSID));
-        wifiInfo.setBSSID(TEST_BSSID);
-        wifiInfo.setRssi(TEST_RSSI);
-        wifiInfo.setNetworkId(TEST_NETWORK_ID);
+        final WifiInfo wifiInfo = new WifiInfo.Builder()
+                .setSsid(TEST_UNQUOTED_SSID.getBytes(StandardCharsets.UTF_8))
+                .setBssid(TEST_BSSID)
+                .setRssi(TEST_RSSI)
+                .setNetworkId(TEST_NETWORK_ID)
+                .build();
         final NetworkInfo networkInfo = new NetworkInfo(ConnectivityManager.TYPE_WIFI, 0, null, null);
         networkInfo.setDetailedState(NetworkInfo.DetailedState.CONNECTED, null, null);
         final AccessPoint accessPoint = new AccessPoint(mContext, config);
diff --git a/tests/unit/src/com/android/settings/wifi/tether/TetherServiceTest.java b/tests/unit/src/com/android/settings/wifi/tether/TetherServiceTest.java
index 24d1bcc..6891441 100644
--- a/tests/unit/src/com/android/settings/wifi/tether/TetherServiceTest.java
+++ b/tests/unit/src/com/android/settings/wifi/tether/TetherServiceTest.java
@@ -431,7 +431,7 @@
             responseIntent.addFlags(Intent.FLAG_RECEIVER_INCLUDE_BACKGROUND);
             responseIntent.putExtra(TetherService.EXTRA_RESULT, response);
             context.sendBroadcast(
-                    responseIntent, android.Manifest.permission.CONNECTIVITY_INTERNAL);
+                    responseIntent, android.Manifest.permission.TETHER_PRIVILEGED);
         }
     }
 
